Files
bobbie-pkm/.obsidian/plugins/tasknotes/main.js
T

945 lines
4.1 MiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin
*/
var BLe=Object.create;var Qh=Object.defineProperty;var DZ=Object.getOwnPropertyDescriptor;var qLe=Object.getOwnPropertyNames;var HLe=Object.getPrototypeOf,ULe=Object.prototype.hasOwnProperty;var CZ=r=>{throw TypeError(r)};var VLe=(r,e,t)=>e in r?Qh(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var v=(r,e)=>()=>(r&&(e=r(r=0)),e);var x=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),et=(r,e)=>{for(var t in e)Qh(r,t,{get:e[t],enumerable:!0})},PZ=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of qLe(e))!ULe.call(r,i)&&i!==t&&Qh(r,i,{get:()=>e[i],enumerable:!(n=DZ(e,i))||n.enumerable});return r};var Ke=(r,e,t)=>(t=r!=null?BLe(HLe(r)):{},PZ(e||!r||!r.__esModule?Qh(t,"default",{value:r,enumerable:!0}):t,r)),eD=r=>PZ(Qh({},"__esModule",{value:!0}),r),Ze=(r,e,t,n)=>{for(var i=n>1?void 0:n?DZ(e,t):e,s=r.length-1,a;s>=0;s--)(a=r[s])&&(i=(n?a(e,t,i):a(i))||i);return n&&i&&Qh(e,t,i),i};var M=(r,e,t)=>VLe(r,typeof e!="symbol"?e+"":e,t),_Z=(r,e,t)=>e.has(r)||CZ("Cannot "+t);var La=(r,e,t)=>(_Z(r,e,"read from private field"),t?t.call(r):e.get(r)),gm=(r,e,t)=>e.has(r)?CZ("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t),Bc=(r,e,t,n)=>(_Z(r,e,"write to private field"),n?n.call(r,t):e.set(r,t),t);var WLe,Nwt,tD,MZ,BO,qO,YLe,AZ,Rwt,GLe,KLe,Owt,HO,Jh=v(()=>{WLe=Math.pow(10,8)*24*60*60*1e3,Nwt=-WLe,tD=6048e5,MZ=864e5,BO=6e4,qO=36e5,YLe=3600,AZ=YLe*24,Rwt=AZ*7,GLe=AZ*365.2425,KLe=GLe/12,Owt=KLe*3,HO=Symbol.for("constructDateFrom")});function bn(r,e){return typeof r=="function"?r(e):r&&typeof r=="object"&&HO in r?r[HO](e):r instanceof Date?new r.constructor(e):new Date(e)}var Ro=v(()=>{Jh()});function it(r,e){return bn(e||r,r)}var ln=v(()=>{Ro()});function ym(r,e,t){let n=it(r,t==null?void 0:t.in);return isNaN(e)?bn((t==null?void 0:t.in)||r,NaN):(e&&n.setDate(n.getDate()+e),n)}var rD=v(()=>{Ro();ln()});function nD(r,e,t){let n=it(r,t==null?void 0:t.in);if(isNaN(e))return bn((t==null?void 0:t.in)||r,NaN);if(!e)return n;let i=n.getDate(),s=bn((t==null?void 0:t.in)||r,n.getTime());s.setMonth(n.getMonth()+e+1,0);let a=s.getDate();return i>=a?s:(n.setFullYear(s.getFullYear(),s.getMonth(),i),n)}var UO=v(()=>{Ro();ln()});var IZ=v(()=>{});var NZ=v(()=>{});var RZ=v(()=>{});var OZ=v(()=>{});var LZ=v(()=>{});var FZ=v(()=>{});var $Z=v(()=>{});function wl(){return ZLe}var ZLe,Xh=v(()=>{ZLe={}});function Xi(r,e){var o,l,c,d,u,p,m,f;let t=wl(),n=(f=(m=(d=(c=e==null?void 0:e.weekStartsOn)!=null?c:(l=(o=e==null?void 0:e.locale)==null?void 0:o.options)==null?void 0:l.weekStartsOn)!=null?d:t.weekStartsOn)!=null?m:(p=(u=t.locale)==null?void 0:u.options)==null?void 0:p.weekStartsOn)!=null?f:0,i=it(r,e==null?void 0:e.in),s=i.getDay(),a=(s<n?7:0)+s-n;return i.setDate(i.getDate()-a),i.setHours(0,0,0,0),i}var eg=v(()=>{Xh();ln()});function vm(r,e){return Xi(r,{...e,weekStartsOn:1})}var qb=v(()=>{eg()});function iD(r,e){let t=it(r,e==null?void 0:e.in),n=t.getFullYear(),i=bn(t,0);i.setFullYear(n+1,0,4),i.setHours(0,0,0,0);let s=vm(i),a=bn(t,0);a.setFullYear(n,0,4),a.setHours(0,0,0,0);let o=vm(a);return t.getTime()>=s.getTime()?n+1:t.getTime()>=o.getTime()?n:n-1}var sD=v(()=>{Ro();qb();ln()});function VO(r){let e=it(r),t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),+r-+t}var jZ=v(()=>{ln()});function aD(r,...e){let t=bn.bind(null,r||e.find(n=>typeof n=="object"));return e.map(t)}var WO=v(()=>{Ro()});function Oo(r,e){let t=it(r,e==null?void 0:e.in);return t.setHours(0,0,0,0),t}var oD=v(()=>{ln()});function zZ(r,e,t){let[n,i]=aD(t==null?void 0:t.in,r,e),s=Oo(n),a=Oo(i),o=+s-VO(s),l=+a-VO(a);return Math.round((o-l)/MZ)}var YO=v(()=>{jZ();WO();Jh();oD()});function BZ(r,e){let t=iD(r,e),n=bn((e==null?void 0:e.in)||r,0);return n.setFullYear(t,0,4),n.setHours(0,0,0,0),vm(n)}var GO=v(()=>{Ro();sD();qb()});var qZ=v(()=>{});var HZ=v(()=>{});var UZ=v(()=>{});var VZ=v(()=>{});var WZ=v(()=>{});function YZ(r,e,t){return ym(r,e*7,t)}var GZ=v(()=>{rD()});function KZ(r,e,t){return nD(r,e*12,t)}var ZZ=v(()=>{UO()});var QZ=v(()=>{});var JZ=v(()=>{});var XZ=v(()=>{});var eQ=v(()=>{});var tQ=v(()=>{});var rQ=v(()=>{});var nQ=v(()=>{});var iQ=v(()=>{});var sQ=v(()=>{});var aQ=v(()=>{});function KO(r,e,t){let[n,i]=aD(t==null?void 0:t.in,r,e);return+Oo(n)==+Oo(i)}var oQ=v(()=>{WO();oD()});function lQ(r){return r instanceof Date||typeof r=="object"&&Object.prototype.toString.call(r)==="[object Date]"}var ZO=v(()=>{});function Kn(r){return!(!lQ(r)&&typeof r!="number"||isNaN(+it(r)))}var QO=v(()=>{ZO();ln()});var cQ=v(()=>{});var dQ=v(()=>{});var uQ=v(()=>{});var pQ=v(()=>{});var mQ=v(()=>{});var fQ=v(()=>{});var hQ=v(()=>{});var gQ=v(()=>{});var yQ=v(()=>{});var vQ=v(()=>{});var bQ=v(()=>{});var TQ=v(()=>{});var kQ=v(()=>{});var wQ=v(()=>{});function Hb(r,e){let t=it(r,e==null?void 0:e.in);return t.setHours(23,59,59,999),t}var SQ=v(()=>{ln()});function lD(r,e){let t=it(r,e==null?void 0:e.in),n=t.getMonth();return t.setFullYear(t.getFullYear(),n+1,0),t.setHours(23,59,59,999),t}var xQ=v(()=>{ln()});var EQ=v(()=>{});var DQ=v(()=>{});var CQ=v(()=>{});var PQ=v(()=>{});var _Q=v(()=>{});var MQ=v(()=>{});var AQ=v(()=>{});var IQ=v(()=>{});var NQ=v(()=>{});var RQ=v(()=>{});var OQ=v(()=>{});var LQ=v(()=>{});var FQ=v(()=>{});var $Q=v(()=>{});function cD(r,e){let t=it(r,e==null?void 0:e.in);return t.setDate(1),t.setHours(0,0,0,0),t}var jQ=v(()=>{ln()});var zQ=v(()=>{});function BQ(r,e){let t=it(r,e==null?void 0:e.in),n=t.getFullYear();return t.setFullYear(n+1,0,0),t.setHours(23,59,59,999),t}var qQ=v(()=>{ln()});function dD(r,e){let t=it(r,e==null?void 0:e.in);return t.setFullYear(t.getFullYear(),0,1),t.setHours(0,0,0,0),t}var JO=v(()=>{ln()});var HQ=v(()=>{});var UQ=v(()=>{});var VQ=v(()=>{});var WQ=v(()=>{});function tg(r,e){var o,l,c,d,u,p,m,f;let t=wl(),n=(f=(m=(d=(c=e==null?void 0:e.weekStartsOn)!=null?c:(l=(o=e==null?void 0:e.locale)==null?void 0:o.options)==null?void 0:l.weekStartsOn)!=null?d:t.weekStartsOn)!=null?m:(p=(u=t.locale)==null?void 0:u.options)==null?void 0:p.weekStartsOn)!=null?f:0,i=it(r,e==null?void 0:e.in),s=i.getDay(),a=(s<n?-7:0)+6-(s-n);return i.setDate(i.getDate()+a),i.setHours(23,59,59,999),i}var YQ=v(()=>{Xh();ln()});var GQ=v(()=>{});var KQ=v(()=>{});var ZQ=v(()=>{});var QQ=v(()=>{});var JQ=v(()=>{});var XQ=v(()=>{});var eJ=v(()=>{});var tJ=v(()=>{});var QLe,rJ,nJ=v(()=>{QLe={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},rJ=(r,e,t)=>{let n,i=QLe[r];return typeof i=="string"?n=i:e===1?n=i.one:n=i.other.replace("{{count}}",e.toString()),t!=null&&t.addSuffix?t.comparison&&t.comparison>0?"in "+n:n+" ago":n}});function uD(r){return(e={})=>{let t=e.width?String(e.width):r.defaultWidth;return r.formats[t]||r.formats[r.defaultWidth]}}var iJ=v(()=>{});var JLe,XLe,e1e,sJ,aJ=v(()=>{iJ();JLe={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},XLe={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},e1e={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},sJ={date:uD({formats:JLe,defaultWidth:"full"}),time:uD({formats:XLe,defaultWidth:"full"}),dateTime:uD({formats:e1e,defaultWidth:"full"})}});var t1e,oJ,lJ=v(()=>{t1e={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},oJ=(r,e,t,n)=>t1e[r]});function rg(r){return(e,t)=>{let n=t!=null&&t.context?String(t.context):"standalone",i;if(n==="formatting"&&r.formattingValues){let a=r.defaultFormattingWidth||r.defaultWidth,o=t!=null&&t.width?String(t.width):a;i=r.formattingValues[o]||r.formattingValues[a]}else{let a=r.defaultWidth,o=t!=null&&t.width?String(t.width):r.defaultWidth;i=r.values[o]||r.values[a]}let s=r.argumentCallback?r.argumentCallback(e):e;return i[s]}}var cJ=v(()=>{});var r1e,n1e,i1e,s1e,a1e,o1e,l1e,dJ,uJ=v(()=>{cJ();r1e={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},n1e={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},i1e={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},s1e={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},a1e={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},o1e={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},l1e=(r,e)=>{let t=Number(r),n=t%100;if(n>20||n<10)switch(n%10){case 1:return t+"st";case 2:return t+"nd";case 3:return t+"rd"}return t+"th"},dJ={ordinalNumber:l1e,era:rg({values:r1e,defaultWidth:"wide"}),quarter:rg({values:n1e,defaultWidth:"wide",argumentCallback:r=>r-1}),month:rg({values:i1e,defaultWidth:"wide"}),day:rg({values:s1e,defaultWidth:"wide"}),dayPeriod:rg({values:a1e,defaultWidth:"wide",formattingValues:o1e,defaultFormattingWidth:"wide"})}});function ng(r){return(e,t={})=>{let n=t.width,i=n&&r.matchPatterns[n]||r.matchPatterns[r.defaultMatchWidth],s=e.match(i);if(!s)return null;let a=s[0],o=n&&r.parsePatterns[n]||r.parsePatterns[r.defaultParseWidth],l=Array.isArray(o)?d1e(o,u=>u.test(a)):c1e(o,u=>u.test(a)),c;c=r.valueCallback?r.valueCallback(l):l,c=t.valueCallback?t.valueCallback(c):c;let d=e.slice(a.length);return{value:c,rest:d}}}function c1e(r,e){for(let t in r)if(Object.prototype.hasOwnProperty.call(r,t)&&e(r[t]))return t}function d1e(r,e){for(let t=0;t<r.length;t++)if(e(r[t]))return t}var pJ=v(()=>{});function mJ(r){return(e,t={})=>{let n=e.match(r.matchPattern);if(!n)return null;let i=n[0],s=e.match(r.parsePattern);if(!s)return null;let a=r.valueCallback?r.valueCallback(s[0]):s[0];a=t.valueCallback?t.valueCallback(a):a;let o=e.slice(i.length);return{value:a,rest:o}}}var fJ=v(()=>{});var u1e,p1e,m1e,f1e,h1e,g1e,y1e,v1e,b1e,T1e,k1e,w1e,hJ,gJ=v(()=>{pJ();fJ();u1e=/^(\d+)(th|st|nd|rd)?/i,p1e=/\d+/i,m1e={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},f1e={any:[/^b/i,/^(a|c)/i]},h1e={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},g1e={any:[/1/i,/2/i,/3/i,/4/i]},y1e={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},v1e={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},b1e={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},T1e={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},k1e={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},w1e={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},hJ={ordinalNumber:mJ({matchPattern:u1e,parsePattern:p1e,valueCallback:r=>parseInt(r,10)}),era:ng({matchPatterns:m1e,defaultMatchWidth:"wide",parsePatterns:f1e,defaultParseWidth:"any"}),quarter:ng({matchPatterns:h1e,defaultMatchWidth:"wide",parsePatterns:g1e,defaultParseWidth:"any",valueCallback:r=>r+1}),month:ng({matchPatterns:y1e,defaultMatchWidth:"wide",parsePatterns:v1e,defaultParseWidth:"any"}),day:ng({matchPatterns:b1e,defaultMatchWidth:"wide",parsePatterns:T1e,defaultParseWidth:"any"}),dayPeriod:ng({matchPatterns:k1e,defaultMatchWidth:"any",parsePatterns:w1e,defaultParseWidth:"any"})}});var XO,yJ=v(()=>{nJ();aJ();lJ();uJ();gJ();XO={code:"en-US",formatDistance:rJ,formatLong:sJ,formatRelative:oJ,localize:dJ,match:hJ,options:{weekStartsOn:0,firstWeekContainsDate:1}}});var vJ=v(()=>{yJ()});function bJ(r,e){let t=it(r,e==null?void 0:e.in);return zZ(t,dD(t))+1}var eL=v(()=>{YO();JO();ln()});function TJ(r,e){let t=it(r,e==null?void 0:e.in),n=+vm(t)-+BZ(t);return Math.round(n/tD)+1}var tL=v(()=>{Jh();qb();GO();ln()});function pD(r,e){var d,u,p,m,f,h,g,y;let t=it(r,e==null?void 0:e.in),n=t.getFullYear(),i=wl(),s=(y=(g=(m=(p=e==null?void 0:e.firstWeekContainsDate)!=null?p:(u=(d=e==null?void 0:e.locale)==null?void 0:d.options)==null?void 0:u.firstWeekContainsDate)!=null?m:i.firstWeekContainsDate)!=null?g:(h=(f=i.locale)==null?void 0:f.options)==null?void 0:h.firstWeekContainsDate)!=null?y:1,a=bn((e==null?void 0:e.in)||r,0);a.setFullYear(n+1,0,s),a.setHours(0,0,0,0);let o=Xi(a,e),l=bn((e==null?void 0:e.in)||r,0);l.setFullYear(n,0,s),l.setHours(0,0,0,0);let c=Xi(l,e);return+t>=+o?n+1:+t>=+c?n:n-1}var mD=v(()=>{Xh();Ro();eg();ln()});function kJ(r,e){var o,l,c,d,u,p,m,f;let t=wl(),n=(f=(m=(d=(c=e==null?void 0:e.firstWeekContainsDate)!=null?c:(l=(o=e==null?void 0:e.locale)==null?void 0:o.options)==null?void 0:l.firstWeekContainsDate)!=null?d:t.firstWeekContainsDate)!=null?m:(p=(u=t.locale)==null?void 0:u.options)==null?void 0:p.firstWeekContainsDate)!=null?f:1,i=pD(r,e),s=bn((e==null?void 0:e.in)||r,0);return s.setFullYear(i,0,n),s.setHours(0,0,0,0),Xi(s,e)}var rL=v(()=>{Xh();Ro();mD();eg()});function wJ(r,e){let t=it(r,e==null?void 0:e.in),n=+Xi(t,e)-+kJ(t,e);return Math.round(n/tD)+1}var nL=v(()=>{Jh();eg();rL();ln()});function lr(r,e){let t=r<0?"-":"",n=Math.abs(r).toString().padStart(e,"0");return t+n}var iL=v(()=>{});var qc,SJ=v(()=>{iL();qc={y(r,e){let t=r.getFullYear(),n=t>0?t:1-t;return lr(e==="yy"?n%100:n,e.length)},M(r,e){let t=r.getMonth();return e==="M"?String(t+1):lr(t+1,2)},d(r,e){return lr(r.getDate(),e.length)},a(r,e){let t=r.getHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return t.toUpperCase();case"aaa":return t;case"aaaaa":return t[0];case"aaaa":default:return t==="am"?"a.m.":"p.m."}},h(r,e){return lr(r.getHours()%12||12,e.length)},H(r,e){return lr(r.getHours(),e.length)},m(r,e){return lr(r.getMinutes(),e.length)},s(r,e){return lr(r.getSeconds(),e.length)},S(r,e){let t=e.length,n=r.getMilliseconds(),i=Math.trunc(n*Math.pow(10,t-3));return lr(i,e.length)}}});function xJ(r,e=""){let t=r>0?"-":"+",n=Math.abs(r),i=Math.trunc(n/60),s=n%60;return s===0?t+String(i):t+String(i)+e+lr(s,2)}function EJ(r,e){return r%60===0?(r>0?"-":"+")+lr(Math.abs(r)/60,2):bm(r,e)}function bm(r,e=""){let t=r>0?"-":"+",n=Math.abs(r),i=lr(Math.trunc(n/60),2),s=lr(n%60,2);return t+i+e+s}var ig,sL,DJ=v(()=>{eL();tL();sD();nL();mD();iL();SJ();ig={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},sL={G:function(r,e,t){let n=r.getFullYear()>0?1:0;switch(e){case"G":case"GG":case"GGG":return t.era(n,{width:"abbreviated"});case"GGGGG":return t.era(n,{width:"narrow"});case"GGGG":default:return t.era(n,{width:"wide"})}},y:function(r,e,t){if(e==="yo"){let n=r.getFullYear(),i=n>0?n:1-n;return t.ordinalNumber(i,{unit:"year"})}return qc.y(r,e)},Y:function(r,e,t,n){let i=pD(r,n),s=i>0?i:1-i;if(e==="YY"){let a=s%100;return lr(a,2)}return e==="Yo"?t.ordinalNumber(s,{unit:"year"}):lr(s,e.length)},R:function(r,e){let t=iD(r);return lr(t,e.length)},u:function(r,e){let t=r.getFullYear();return lr(t,e.length)},Q:function(r,e,t){let n=Math.ceil((r.getMonth()+1)/3);switch(e){case"Q":return String(n);case"QQ":return lr(n,2);case"Qo":return t.ordinalNumber(n,{unit:"quarter"});case"QQQ":return t.quarter(n,{width:"abbreviated",context:"formatting"});case"QQQQQ":return t.quarter(n,{width:"narrow",context:"formatting"});case"QQQQ":default:return t.quarter(n,{width:"wide",context:"formatting"})}},q:function(r,e,t){let n=Math.ceil((r.getMonth()+1)/3);switch(e){case"q":return String(n);case"qq":return lr(n,2);case"qo":return t.ordinalNumber(n,{unit:"quarter"});case"qqq":return t.quarter(n,{width:"abbreviated",context:"standalone"});case"qqqqq":return t.quarter(n,{width:"narrow",context:"standalone"});case"qqqq":default:return t.quarter(n,{width:"wide",context:"standalone"})}},M:function(r,e,t){let n=r.getMonth();switch(e){case"M":case"MM":return qc.M(r,e);case"Mo":return t.ordinalNumber(n+1,{unit:"month"});case"MMM":return t.month(n,{width:"abbreviated",context:"formatting"});case"MMMMM":return t.month(n,{width:"narrow",context:"formatting"});case"MMMM":default:return t.month(n,{width:"wide",context:"formatting"})}},L:function(r,e,t){let n=r.getMonth();switch(e){case"L":return String(n+1);case"LL":return lr(n+1,2);case"Lo":return t.ordinalNumber(n+1,{unit:"month"});case"LLL":return t.month(n,{width:"abbreviated",context:"standalone"});case"LLLLL":return t.month(n,{width:"narrow",context:"standalone"});case"LLLL":default:return t.month(n,{width:"wide",context:"standalone"})}},w:function(r,e,t,n){let i=wJ(r,n);return e==="wo"?t.ordinalNumber(i,{unit:"week"}):lr(i,e.length)},I:function(r,e,t){let n=TJ(r);return e==="Io"?t.ordinalNumber(n,{unit:"week"}):lr(n,e.length)},d:function(r,e,t){return e==="do"?t.ordinalNumber(r.getDate(),{unit:"date"}):qc.d(r,e)},D:function(r,e,t){let n=bJ(r);return e==="Do"?t.ordinalNumber(n,{unit:"dayOfYear"}):lr(n,e.length)},E:function(r,e,t){let n=r.getDay();switch(e){case"E":case"EE":case"EEE":return t.day(n,{width:"abbreviated",context:"formatting"});case"EEEEE":return t.day(n,{width:"narrow",context:"formatting"});case"EEEEEE":return t.day(n,{width:"short",context:"formatting"});case"EEEE":default:return t.day(n,{width:"wide",context:"formatting"})}},e:function(r,e,t,n){let i=r.getDay(),s=(i-n.weekStartsOn+8)%7||7;switch(e){case"e":return String(s);case"ee":return lr(s,2);case"eo":return t.ordinalNumber(s,{unit:"day"});case"eee":return t.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return t.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return t.day(i,{width:"short",context:"formatting"});case"eeee":default:return t.day(i,{width:"wide",context:"formatting"})}},c:function(r,e,t,n){let i=r.getDay(),s=(i-n.weekStartsOn+8)%7||7;switch(e){case"c":return String(s);case"cc":return lr(s,e.length);case"co":return t.ordinalNumber(s,{unit:"day"});case"ccc":return t.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return t.day(i,{width:"narrow",context:"standalone"});case"cccccc":return t.day(i,{width:"short",context:"standalone"});case"cccc":default:return t.day(i,{width:"wide",context:"standalone"})}},i:function(r,e,t){let n=r.getDay(),i=n===0?7:n;switch(e){case"i":return String(i);case"ii":return lr(i,e.length);case"io":return t.ordinalNumber(i,{unit:"day"});case"iii":return t.day(n,{width:"abbreviated",context:"formatting"});case"iiiii":return t.day(n,{width:"narrow",context:"formatting"});case"iiiiii":return t.day(n,{width:"short",context:"formatting"});case"iiii":default:return t.day(n,{width:"wide",context:"formatting"})}},a:function(r,e,t){let i=r.getHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return t.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"aaa":return t.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return t.dayPeriod(i,{width:"narrow",context:"formatting"});case"aaaa":default:return t.dayPeriod(i,{width:"wide",context:"formatting"})}},b:function(r,e,t){let n=r.getHours(),i;switch(n===12?i=ig.noon:n===0?i=ig.midnight:i=n/12>=1?"pm":"am",e){case"b":case"bb":return t.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"bbb":return t.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return t.dayPeriod(i,{width:"narrow",context:"formatting"});case"bbbb":default:return t.dayPeriod(i,{width:"wide",context:"formatting"})}},B:function(r,e,t){let n=r.getHours(),i;switch(n>=17?i=ig.evening:n>=12?i=ig.afternoon:n>=4?i=ig.morning:i=ig.night,e){case"B":case"BB":case"BBB":return t.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"BBBBB":return t.dayPeriod(i,{width:"narrow",context:"formatting"});case"BBBB":default:return t.dayPeriod(i,{width:"wide",context:"formatting"})}},h:function(r,e,t){if(e==="ho"){let n=r.getHours()%12;return n===0&&(n=12),t.ordinalNumber(n,{unit:"hour"})}return qc.h(r,e)},H:function(r,e,t){return e==="Ho"?t.ordinalNumber(r.getHours(),{unit:"hour"}):qc.H(r,e)},K:function(r,e,t){let n=r.getHours()%12;return e==="Ko"?t.ordinalNumber(n,{unit:"hour"}):lr(n,e.length)},k:function(r,e,t){let n=r.getHours();return n===0&&(n=24),e==="ko"?t.ordinalNumber(n,{unit:"hour"}):lr(n,e.length)},m:function(r,e,t){return e==="mo"?t.ordinalNumber(r.getMinutes(),{unit:"minute"}):qc.m(r,e)},s:function(r,e,t){return e==="so"?t.ordinalNumber(r.getSeconds(),{unit:"second"}):qc.s(r,e)},S:function(r,e){return qc.S(r,e)},X:function(r,e,t){let n=r.getTimezoneOffset();if(n===0)return"Z";switch(e){case"X":return EJ(n);case"XXXX":case"XX":return bm(n);case"XXXXX":case"XXX":default:return bm(n,":")}},x:function(r,e,t){let n=r.getTimezoneOffset();switch(e){case"x":return EJ(n);case"xxxx":case"xx":return bm(n);case"xxxxx":case"xxx":default:return bm(n,":")}},O:function(r,e,t){let n=r.getTimezoneOffset();switch(e){case"O":case"OO":case"OOO":return"GMT"+xJ(n,":");case"OOOO":default:return"GMT"+bm(n,":")}},z:function(r,e,t){let n=r.getTimezoneOffset();switch(e){case"z":case"zz":case"zzz":return"GMT"+xJ(n,":");case"zzzz":default:return"GMT"+bm(n,":")}},t:function(r,e,t){let n=Math.trunc(+r/1e3);return lr(n,e.length)},T:function(r,e,t){return lr(+r,e.length)}}});var CJ,PJ,S1e,_J,MJ=v(()=>{CJ=(r,e)=>{switch(r){case"P":return e.date({width:"short"});case"PP":return e.date({width:"medium"});case"PPP":return e.date({width:"long"});case"PPPP":default:return e.date({width:"full"})}},PJ=(r,e)=>{switch(r){case"p":return e.time({width:"short"});case"pp":return e.time({width:"medium"});case"ppp":return e.time({width:"long"});case"pppp":default:return e.time({width:"full"})}},S1e=(r,e)=>{let t=r.match(/(P+)(p+)?/)||[],n=t[1],i=t[2];if(!i)return CJ(r,e);let s;switch(n){case"P":s=e.dateTime({width:"short"});break;case"PP":s=e.dateTime({width:"medium"});break;case"PPP":s=e.dateTime({width:"long"});break;case"PPPP":default:s=e.dateTime({width:"full"});break}return s.replace("{{date}}",CJ(n,e)).replace("{{time}}",PJ(i,e))},_J={p:PJ,P:S1e}});function AJ(r){return x1e.test(r)}function IJ(r){return E1e.test(r)}function NJ(r,e,t){let n=C1e(r,e,t);if(console.warn(n),D1e.includes(r))throw new RangeError(n)}function C1e(r,e,t){let n=r[0]==="Y"?"years":"days of the month";return`Use \`${r.toLowerCase()}\` instead of \`${r}\` (in \`${e}\`) for formatting ${n} to the input \`${t}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}var x1e,E1e,D1e,RJ=v(()=>{x1e=/^D+$/,E1e=/^Y+$/,D1e=["D","DD","YY","YYYY"]});function P(r,e,t){var d,u,p,m,f,h,g,y,k,T,w,S,E,C,D,A,N,V;let n=wl(),i=(u=(d=t==null?void 0:t.locale)!=null?d:n.locale)!=null?u:XO,s=(T=(k=(h=(f=t==null?void 0:t.firstWeekContainsDate)!=null?f:(m=(p=t==null?void 0:t.locale)==null?void 0:p.options)==null?void 0:m.firstWeekContainsDate)!=null?h:n.firstWeekContainsDate)!=null?k:(y=(g=n.locale)==null?void 0:g.options)==null?void 0:y.firstWeekContainsDate)!=null?T:1,a=(V=(N=(C=(E=t==null?void 0:t.weekStartsOn)!=null?E:(S=(w=t==null?void 0:t.locale)==null?void 0:w.options)==null?void 0:S.weekStartsOn)!=null?C:n.weekStartsOn)!=null?N:(A=(D=n.locale)==null?void 0:D.options)==null?void 0:A.weekStartsOn)!=null?V:0,o=it(r,t==null?void 0:t.in);if(!Kn(o))throw new RangeError("Invalid time value");let l=e.match(_1e).map(R=>{let I=R[0];if(I==="p"||I==="P"){let O=_J[I];return O(R,i.formatLong)}return R}).join("").match(P1e).map(R=>{if(R==="''")return{isToken:!1,value:"'"};let I=R[0];if(I==="'")return{isToken:!1,value:N1e(R)};if(sL[I])return{isToken:!0,value:R};if(I.match(I1e))throw new RangeError("Format string contains an unescaped latin alphabet character `"+I+"`");return{isToken:!1,value:R}});i.localize.preprocessor&&(l=i.localize.preprocessor(o,l));let c={firstWeekContainsDate:s,weekStartsOn:a,locale:i};return l.map(R=>{if(!R.isToken)return R.value;let I=R.value;(!(t!=null&&t.useAdditionalWeekYearTokens)&&IJ(I)||!(t!=null&&t.useAdditionalDayOfYearTokens)&&AJ(I))&&NJ(I,e,String(r));let O=sL[I[0]];return O(o,I,i.localize,c)}).join("")}function N1e(r){let e=r.match(M1e);return e?e[1].replace(A1e,"'"):r}var P1e,_1e,M1e,A1e,I1e,OJ=v(()=>{vJ();Xh();DJ();MJ();RJ();QO();ln();P1e=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,_1e=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,M1e=/^'([^]*?)'?$/,A1e=/''/g,I1e=/[a-zA-Z]/});var LJ=v(()=>{});var FJ=v(()=>{});var $J=v(()=>{});var jJ=v(()=>{});var zJ=v(()=>{});var BJ=v(()=>{});var qJ=v(()=>{});var HJ=v(()=>{});var UJ=v(()=>{});var VJ=v(()=>{});var WJ=v(()=>{});var YJ=v(()=>{});var GJ=v(()=>{});var KJ=v(()=>{});var ZJ=v(()=>{});var QJ=v(()=>{});var JJ=v(()=>{});var XJ=v(()=>{});var eX=v(()=>{});var tX=v(()=>{});var rX=v(()=>{});var nX=v(()=>{});var iX=v(()=>{});var sX=v(()=>{});var aX=v(()=>{});var oX=v(()=>{});var lX=v(()=>{});var cX=v(()=>{});var dX=v(()=>{});var uX=v(()=>{});var pX=v(()=>{});var mX=v(()=>{});var fX=v(()=>{});var hX=v(()=>{});var gX=v(()=>{});var yX=v(()=>{});var vX=v(()=>{});var bX=v(()=>{});var TX=v(()=>{});var kX=v(()=>{});var wX=v(()=>{});function aL(r,e){return+it(r)<+it(e)}var SX=v(()=>{ln()});var xX=v(()=>{});var EX=v(()=>{});var DX=v(()=>{});var CX=v(()=>{});var PX=v(()=>{});var _X=v(()=>{});var MX=v(()=>{});var AX=v(()=>{});var IX=v(()=>{});var NX=v(()=>{});var RX=v(()=>{});var OX=v(()=>{});var LX=v(()=>{});var FX=v(()=>{});var $X=v(()=>{});var jX=v(()=>{});var zX=v(()=>{});var BX=v(()=>{});var qX=v(()=>{});var HX=v(()=>{});var UX=v(()=>{});var VX=v(()=>{});var WX=v(()=>{});var YX=v(()=>{});var GX=v(()=>{});var KX=v(()=>{});var ZX=v(()=>{});var QX=v(()=>{});var JX=v(()=>{});var XX=v(()=>{});var eee=v(()=>{});var tee=v(()=>{});var ree=v(()=>{});var nee=v(()=>{});var iee=v(()=>{});var see=v(()=>{});var aee=v(()=>{});var oee=v(()=>{});var lee=v(()=>{});var cee=v(()=>{});function sg(r,e,t){return ym(r,-e,t)}var dee=v(()=>{rD()});var uee=v(()=>{});var pee=v(()=>{});var mee=v(()=>{});var fee=v(()=>{});var hee=v(()=>{});var gee=v(()=>{});var yee=v(()=>{});var vee=v(()=>{});var bee=v(()=>{});var Tee=v(()=>{});var kee=v(()=>{});var wee=v(()=>{});var See=v(()=>{});var xee=v(()=>{});var Eee=v(()=>{});var Dee=v(()=>{});var Cee=v(()=>{});var Pee=v(()=>{});var _ee=v(()=>{});var Mee=v(()=>{});var Aee=v(()=>{});var Iee=v(()=>{});var Nee=v(()=>{});var Ree=v(()=>{});var Oee=v(()=>{});function ia(r,e){var c;let t=()=>bn(e==null?void 0:e.in,NaN),n=(c=e==null?void 0:e.additionalDigits)!=null?c:2,i=F1e(r),s;if(i.date){let d=$1e(i.date,n);s=j1e(d.restDateString,d.year)}if(!s||isNaN(+s))return t();let a=+s,o=0,l;if(i.time&&(o=z1e(i.time),isNaN(o)))return t();if(i.timezone){if(l=B1e(i.timezone),isNaN(l))return t()}else{let d=new Date(a+o),u=it(0,e==null?void 0:e.in);return u.setFullYear(d.getUTCFullYear(),d.getUTCMonth(),d.getUTCDate()),u.setHours(d.getUTCHours(),d.getUTCMinutes(),d.getUTCSeconds(),d.getUTCMilliseconds()),u}return it(a+o+l,e==null?void 0:e.in)}function F1e(r){let e={},t=r.split(fD.dateTimeDelimiter),n;if(t.length>2)return e;if(/:/.test(t[0])?n=t[0]:(e.date=t[0],n=t[1],fD.timeZoneDelimiter.test(e.date)&&(e.date=r.split(fD.timeZoneDelimiter)[0],n=r.substr(e.date.length,r.length))),n){let i=fD.timezone.exec(n);i?(e.time=n.replace(i[1],""),e.timezone=i[1]):e.time=n}return e}function $1e(r,e){let t=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+e)+"})|(\\d{2}|[+-]\\d{"+(2+e)+"})$)"),n=r.match(t);if(!n)return{year:NaN,restDateString:""};let i=n[1]?parseInt(n[1]):null,s=n[2]?parseInt(n[2]):null;return{year:s===null?i:s*100,restDateString:r.slice((n[1]||n[2]).length)}}function j1e(r,e){if(e===null)return new Date(NaN);let t=r.match(R1e);if(!t)return new Date(NaN);let n=!!t[4],i=Ub(t[1]),s=Ub(t[2])-1,a=Ub(t[3]),o=Ub(t[4]),l=Ub(t[5])-1;if(n)return W1e(e,o,l)?q1e(e,o,l):new Date(NaN);{let c=new Date(0);return!U1e(e,s,a)||!V1e(e,i)?new Date(NaN):(c.setUTCFullYear(e,s,Math.max(i,a)),c)}}function Ub(r){return r?parseInt(r):1}function z1e(r){let e=r.match(O1e);if(!e)return NaN;let t=oL(e[1]),n=oL(e[2]),i=oL(e[3]);return Y1e(t,n,i)?t*qO+n*BO+i*1e3:NaN}function oL(r){return r&&parseFloat(r.replace(",","."))||0}function B1e(r){if(r==="Z")return 0;let e=r.match(L1e);if(!e)return 0;let t=e[1]==="+"?-1:1,n=parseInt(e[2]),i=e[3]&&parseInt(e[3])||0;return G1e(n,i)?t*(n*qO+i*BO):NaN}function q1e(r,e,t){let n=new Date(0);n.setUTCFullYear(r,0,4);let i=n.getUTCDay()||7,s=(e-1)*7+t+1-i;return n.setUTCDate(n.getUTCDate()+s),n}function Lee(r){return r%400===0||r%4===0&&r%100!==0}function U1e(r,e,t){return e>=0&&e<=11&&t>=1&&t<=(H1e[e]||(Lee(r)?29:28))}function V1e(r,e){return e>=1&&e<=(Lee(r)?366:365)}function W1e(r,e,t){return e>=1&&e<=53&&t>=0&&t<=6}function Y1e(r,e,t){return r===24?e===0&&t===0:t>=0&&t<60&&e>=0&&e<60&&r>=0&&r<25}function G1e(r,e){return e>=0&&e<=59}var fD,R1e,O1e,L1e,H1e,Fee=v(()=>{Jh();Ro();ln();fD={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},R1e=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,O1e=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,L1e=/^([+-])(\d{2})(?::?(\d{2}))?$/;H1e=[31,null,31,30,31,30,31,31,30,31,30,31]});var $ee=v(()=>{});var jee=v(()=>{});var zee=v(()=>{});var Bee=v(()=>{});var qee=v(()=>{});var Hee=v(()=>{});var Uee=v(()=>{});var Vee=v(()=>{});var Wee=v(()=>{});var Yee=v(()=>{});var Gee=v(()=>{});var Kee=v(()=>{});var Zee=v(()=>{});var Qee=v(()=>{});var Jee=v(()=>{});var Xee=v(()=>{});var ete=v(()=>{});var tte=v(()=>{});var rte=v(()=>{});var nte=v(()=>{});var ite=v(()=>{});var ste=v(()=>{});var ate=v(()=>{});var ote=v(()=>{});var lte=v(()=>{});var cte=v(()=>{});var dte=v(()=>{});var ute=v(()=>{});var pte=v(()=>{});var mte=v(()=>{});var fte=v(()=>{});var hte=v(()=>{});var gte=v(()=>{});var yte=v(()=>{});var vte=v(()=>{});var bte=v(()=>{});var Tte=v(()=>{});var kte=v(()=>{});var wte=v(()=>{});var Ste=v(()=>{});var xte=v(()=>{});var Ete=v(()=>{});var Dte=v(()=>{});var Cte=v(()=>{});var Pte=v(()=>{});var _te=v(()=>{});var Tn=v(()=>{IZ();LZ();rD();$Z();HZ();FZ();UZ();UO();VZ();WZ();GZ();ZZ();QZ();eQ();tQ();rQ();nQ();iQ();Ro();sQ();aQ();cQ();YO();dQ();uQ();pQ();fQ();hQ();gQ();yQ();vQ();TQ();kQ();wQ();DQ();CQ();PQ();_Q();MQ();AQ();IQ();NQ();RQ();LQ();FQ();$Q();zQ();HQ();UQ();SQ();VQ();WQ();GQ();KQ();ZQ();xQ();QQ();JQ();XQ();eJ();YQ();qQ();tJ();OJ();LJ();FJ();$J();jJ();zJ();BJ();qJ();HJ();UJ();VJ();WJ();YJ();GJ();KJ();eL();ZJ();JJ();XJ();eX();tX();rX();tL();sD();nX();iX();sX();aX();oX();mQ();lX();cX();dX();nL();uX();mD();mX();fX();hX();gX();yX();vX();bX();TX();kX();wX();SX();ZO();xX();EX();DX();CX();PX();EQ();QJ();OX();LX();FX();oQ();jX();BX();qX();UX();VX();WX();GX();zX();KX();NZ();RZ();ZX();QX();JX();XX();eee();tee();ree();nee();iee();see();aee();oee();QO();lee();OZ();cee();uee();pee();fee();hee();pX();gee();mee();yee();vee();JZ();bee();Tee();kee();wee();XZ();See();xee();Eee();Dee();Cee();Pee();_ee();Mee();Aee();Iee();Nee();Ree();Oee();RX();Fee();$ee();jee();zee();Bee();qee();Hee();Uee();Vee();Wee();Yee();Gee();Kee();Zee();Qee();Jee();Xee();tte();rte();IX();nte();ite();ste();NX();AX();qZ();ate();ote();ete();lte();cte();MX();dte();ute();oD();pte();$X();qb();GO();HX();jQ();OQ();YX();mte();fte();eg();rL();JO();hte();yte();vte();dee();bte();bQ();Tte();kte();gte();wte();Ste();xte();Ete();ln();_X();Dte();Cte();Pte();_te()});var Hc=x(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});var Xr=require("obsidian"),lL="YYYY-MM-DD",cL="gggg-[W]ww",Mte="YYYY-MM",Ate="YYYY-[Q]Q",Ite="YYYY";function Vb(r){var t,n;let e=window.app.plugins.getPlugin("periodic-notes");return e&&((n=(t=e.settings)==null?void 0:t[r])==null?void 0:n.enabled)}function Wb(){var r,e,t,n;try{let{internalPlugins:i,plugins:s}=window.app;if(Vb("daily")){let{format:c,folder:d,template:u}=((e=(r=s.getPlugin("periodic-notes"))==null?void 0:r.settings)==null?void 0:e.daily)||{};return{format:c||lL,folder:(d==null?void 0:d.trim())||"",template:(u==null?void 0:u.trim())||""}}let{folder:a,format:o,template:l}=((n=(t=i.getPluginById("daily-notes"))==null?void 0:t.instance)==null?void 0:n.options)||{};return{format:o||lL,folder:(a==null?void 0:a.trim())||"",template:(l==null?void 0:l.trim())||""}}catch(i){console.info("No custom daily note settings found!",i)}}function Yb(){var r,e,t,n,i,s,a;try{let o=window.app.plugins,l=(r=o.getPlugin("calendar"))==null?void 0:r.options,c=(t=(e=o.getPlugin("periodic-notes"))==null?void 0:e.settings)==null?void 0:t.weekly;if(Vb("weekly"))return{format:c.format||cL,folder:((n=c.folder)==null?void 0:n.trim())||"",template:((i=c.template)==null?void 0:i.trim())||""};let d=l||{};return{format:d.weeklyNoteFormat||cL,folder:((s=d.weeklyNoteFolder)==null?void 0:s.trim())||"",template:((a=d.weeklyNoteTemplate)==null?void 0:a.trim())||""}}catch(o){console.info("No custom weekly note settings found!",o)}}function Gb(){var e,t,n,i;let r=window.app.plugins;try{let s=Vb("monthly")&&((t=(e=r.getPlugin("periodic-notes"))==null?void 0:e.settings)==null?void 0:t.monthly)||{};return{format:s.format||Mte,folder:((n=s.folder)==null?void 0:n.trim())||"",template:((i=s.template)==null?void 0:i.trim())||""}}catch(s){console.info("No custom monthly note settings found!",s)}}function Kb(){var e,t,n,i;let r=window.app.plugins;try{let s=Vb("quarterly")&&((t=(e=r.getPlugin("periodic-notes"))==null?void 0:e.settings)==null?void 0:t.quarterly)||{};return{format:s.format||Ate,folder:((n=s.folder)==null?void 0:n.trim())||"",template:((i=s.template)==null?void 0:i.trim())||""}}catch(s){console.info("No custom quarterly note settings found!",s)}}function Zb(){var e,t,n,i;let r=window.app.plugins;try{let s=Vb("yearly")&&((t=(e=r.getPlugin("periodic-notes"))==null?void 0:e.settings)==null?void 0:t.yearly)||{};return{format:s.format||Ite,folder:((n=s.folder)==null?void 0:n.trim())||"",template:((i=s.template)==null?void 0:i.trim())||""}}catch(s){console.info("No custom yearly note settings found!",s)}}function Nte(...r){let e=[];for(let n=0,i=r.length;n<i;n++)e=e.concat(r[n].split("/"));let t=[];for(let n=0,i=e.length;n<i;n++){let s=e[n];!s||s==="."||t.push(s)}return e[0]===""&&t.unshift(""),t.join("/")}function K1e(r){let e=r.substring(r.lastIndexOf("/")+1);return e.lastIndexOf(".")!=-1&&(e=e.substring(0,e.lastIndexOf("."))),e}async function Z1e(r){let e=r.replace(/\\/g,"/").split("/");if(e.pop(),e.length){let t=Nte(...e);window.app.vault.getAbstractFileByPath(t)||await window.app.vault.createFolder(t)}}async function Qb(r,e){e.endsWith(".md")||(e+=".md");let t=Xr.normalizePath(Nte(r,e));return await Z1e(t),t}async function ag(r){let{metadataCache:e,vault:t}=window.app,n=Xr.normalizePath(r);if(n==="/")return Promise.resolve(["",null]);try{let i=e.getFirstLinkpathDest(n,""),s=await t.cachedRead(i),a=window.app.foldManager.load(i);return[s,a]}catch(i){return console.error(`Failed to read the daily note template '${n}'`,i),new Xr.Notice("Failed to read the daily note template"),["",null]}}function Lo(r,e="day"){let t=r.clone().startOf(e).format();return`${e}-${t}`}function Rte(r){return r.replace(/\[[^\]]*\]/g,"")}function Q1e(r,e){if(e==="week"){let t=Rte(r);return/w{1,2}/i.test(t)&&(/M{1,4}/.test(t)||/D{1,4}/.test(t))}return!1}function og(r,e){return Ote(r.basename,e)}function J1e(r,e){return Ote(K1e(r),e)}function Ote(r,e){let n={day:Wb,week:Yb,month:Gb,quarter:Kb,year:Zb}[e]().format.split("/").pop(),i=window.moment(r,n,!0);if(!i.isValid())return null;if(Q1e(n,e)&&e==="week"){let s=Rte(n);if(/w{1,2}/i.test(s))return window.moment(r,n.replace(/M{1,4}/g,"").replace(/D{1,4}/g,""),!1)}return i}var dL=class extends Error{};async function Lte(r){let e=window.app,{vault:t}=e,n=window.moment,{template:i,format:s,folder:a}=Wb(),[o,l]=await ag(i),c=r.format(s),d=await Qb(a,c);try{let u=await t.create(d,o.replace(/{{\s*date\s*}}/gi,c).replace(/{{\s*time\s*}}/gi,n().format("HH:mm")).replace(/{{\s*title\s*}}/gi,c).replace(/{{\s*(date|time)\s*(([+-]\d+)([yqmwdhs]))?\s*(:.+?)?}}/gi,(p,m,f,h,g,y)=>{let k=n(),T=r.clone().set({hour:k.get("hour"),minute:k.get("minute"),second:k.get("second")});return f&&T.add(parseInt(h,10),g),y?T.format(y.substring(1).trim()):T.format(s)}).replace(/{{\s*yesterday\s*}}/gi,r.clone().subtract(1,"day").format(s)).replace(/{{\s*tomorrow\s*}}/gi,r.clone().add(1,"d").format(s)));return e.foldManager.save(u,l),u}catch(u){console.error(`Failed to create file: '${d}'`,u),new Xr.Notice("Unable to create new file.")}}function X1e(r,e){var t;return(t=e[Lo(r,"day")])!=null?t:null}function eFe(){let{vault:r}=window.app,{folder:e}=Wb(),t=r.getAbstractFileByPath(Xr.normalizePath(e));if(!t)throw new dL("Failed to find daily notes folder");let n={};return Xr.Vault.recurseChildren(t,i=>{if(i instanceof Xr.TFile){let s=og(i,"day");if(s){let a=Lo(s,"day");n[a]=i}}}),n}var uL=class extends Error{};function tFe(){let{moment:r}=window,e=r.localeData()._week.dow,t=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"];for(;e;)t.push(t.shift()),e--;return t}function rFe(r){return tFe().indexOf(r.toLowerCase())}async function Fte(r){let{vault:e}=window.app,{template:t,format:n,folder:i}=Yb(),[s,a]=await ag(t),o=r.format(n),l=await Qb(i,o);try{let c=await e.create(l,s.replace(/{{\s*(date|time)\s*(([+-]\d+)([yqmwdhs]))?\s*(:.+?)?}}/gi,(d,u,p,m,f,h)=>{let g=window.moment(),y=r.clone().set({hour:g.get("hour"),minute:g.get("minute"),second:g.get("second")});return p&&y.add(parseInt(m,10),f),h?y.format(h.substring(1).trim()):y.format(n)}).replace(/{{\s*title\s*}}/gi,o).replace(/{{\s*time\s*}}/gi,window.moment().format("HH:mm")).replace(/{{\s*(sunday|monday|tuesday|wednesday|thursday|friday|saturday)\s*:(.*?)}}/gi,(d,u,p)=>{let m=rFe(u);return r.weekday(m).format(p.trim())}));return window.app.foldManager.save(c,a),c}catch(c){console.error(`Failed to create file: '${l}'`,c),new Xr.Notice("Unable to create new file.")}}function nFe(r,e){var t;return(t=e[Lo(r,"week")])!=null?t:null}function iFe(){let r={};if(!jte())return r;let{vault:e}=window.app,{folder:t}=Yb(),n=e.getAbstractFileByPath(Xr.normalizePath(t));if(!n)throw new uL("Failed to find weekly notes folder");return Xr.Vault.recurseChildren(n,i=>{if(i instanceof Xr.TFile){let s=og(i,"week");if(s){let a=Lo(s,"week");r[a]=i}}}),r}var pL=class extends Error{};async function $te(r){let{vault:e}=window.app,{template:t,format:n,folder:i}=Gb(),[s,a]=await ag(t),o=r.format(n),l=await Qb(i,o);try{let c=await e.create(l,s.replace(/{{\s*(date|time)\s*(([+-]\d+)([yqmwdhs]))?\s*(:.+?)?}}/gi,(d,u,p,m,f,h)=>{let g=window.moment(),y=r.clone().set({hour:g.get("hour"),minute:g.get("minute"),second:g.get("second")});return p&&y.add(parseInt(m,10),f),h?y.format(h.substring(1).trim()):y.format(n)}).replace(/{{\s*date\s*}}/gi,o).replace(/{{\s*time\s*}}/gi,window.moment().format("HH:mm")).replace(/{{\s*title\s*}}/gi,o));return window.app.foldManager.save(c,a),c}catch(c){console.error(`Failed to create file: '${l}'`,c),new Xr.Notice("Unable to create new file.")}}function sFe(r,e){var t;return(t=e[Lo(r,"month")])!=null?t:null}function aFe(){let r={};if(!zte())return r;let{vault:e}=window.app,{folder:t}=Gb(),n=e.getAbstractFileByPath(Xr.normalizePath(t));if(!n)throw new pL("Failed to find monthly notes folder");return Xr.Vault.recurseChildren(n,i=>{if(i instanceof Xr.TFile){let s=og(i,"month");if(s){let a=Lo(s,"month");r[a]=i}}}),r}var mL=class extends Error{};async function oFe(r){let{vault:e}=window.app,{template:t,format:n,folder:i}=Kb(),[s,a]=await ag(t),o=r.format(n),l=await Qb(i,o);try{let c=await e.create(l,s.replace(/{{\s*(date|time)\s*(([+-]\d+)([yqmwdhs]))?\s*(:.+?)?}}/gi,(d,u,p,m,f,h)=>{let g=window.moment(),y=r.clone().set({hour:g.get("hour"),minute:g.get("minute"),second:g.get("second")});return p&&y.add(parseInt(m,10),f),h?y.format(h.substring(1).trim()):y.format(n)}).replace(/{{\s*date\s*}}/gi,o).replace(/{{\s*time\s*}}/gi,window.moment().format("HH:mm")).replace(/{{\s*title\s*}}/gi,o));return window.app.foldManager.save(c,a),c}catch(c){console.error(`Failed to create file: '${l}'`,c),new Xr.Notice("Unable to create new file.")}}function lFe(r,e){var t;return(t=e[Lo(r,"quarter")])!=null?t:null}function cFe(){let r={};if(!Bte())return r;let{vault:e}=window.app,{folder:t}=Kb(),n=e.getAbstractFileByPath(Xr.normalizePath(t));if(!n)throw new mL("Failed to find quarterly notes folder");return Xr.Vault.recurseChildren(n,i=>{if(i instanceof Xr.TFile){let s=og(i,"quarter");if(s){let a=Lo(s,"quarter");r[a]=i}}}),r}var fL=class extends Error{};async function dFe(r){let{vault:e}=window.app,{template:t,format:n,folder:i}=Zb(),[s,a]=await ag(t),o=r.format(n),l=await Qb(i,o);try{let c=await e.create(l,s.replace(/{{\s*(date|time)\s*(([+-]\d+)([yqmwdhs]))?\s*(:.+?)?}}/gi,(d,u,p,m,f,h)=>{let g=window.moment(),y=r.clone().set({hour:g.get("hour"),minute:g.get("minute"),second:g.get("second")});return p&&y.add(parseInt(m,10),f),h?y.format(h.substring(1).trim()):y.format(n)}).replace(/{{\s*date\s*}}/gi,o).replace(/{{\s*time\s*}}/gi,window.moment().format("HH:mm")).replace(/{{\s*title\s*}}/gi,o));return window.app.foldManager.save(c,a),c}catch(c){console.error(`Failed to create file: '${l}'`,c),new Xr.Notice("Unable to create new file.")}}function uFe(r,e){var t;return(t=e[Lo(r,"year")])!=null?t:null}function pFe(){let r={};if(!qte())return r;let{vault:e}=window.app,{folder:t}=Zb(),n=e.getAbstractFileByPath(Xr.normalizePath(t));if(!n)throw new fL("Failed to find yearly notes folder");return Xr.Vault.recurseChildren(n,i=>{if(i instanceof Xr.TFile){let s=og(i,"year");if(s){let a=Lo(s,"year");r[a]=i}}}),r}function mFe(){var n,i;let{app:r}=window,e=r.internalPlugins.plugins["daily-notes"];if(e&&e.enabled)return!0;let t=r.plugins.getPlugin("periodic-notes");return t&&((i=(n=t.settings)==null?void 0:n.daily)==null?void 0:i.enabled)}function jte(){var t,n;let{app:r}=window;if(r.plugins.getPlugin("calendar"))return!0;let e=r.plugins.getPlugin("periodic-notes");return e&&((n=(t=e.settings)==null?void 0:t.weekly)==null?void 0:n.enabled)}function zte(){var t,n;let{app:r}=window,e=r.plugins.getPlugin("periodic-notes");return e&&((n=(t=e.settings)==null?void 0:t.monthly)==null?void 0:n.enabled)}function Bte(){var t,n;let{app:r}=window,e=r.plugins.getPlugin("periodic-notes");return e&&((n=(t=e.settings)==null?void 0:t.quarterly)==null?void 0:n.enabled)}function qte(){var t,n;let{app:r}=window,e=r.plugins.getPlugin("periodic-notes");return e&&((n=(t=e.settings)==null?void 0:t.yearly)==null?void 0:n.enabled)}function fFe(r){let e={day:Wb,week:Yb,month:Gb,quarter:Kb,year:Zb}[r];return e()}function hFe(r,e){return{day:Lte,month:$te,week:Fte}[r](e)}bt.DEFAULT_DAILY_NOTE_FORMAT=lL;bt.DEFAULT_MONTHLY_NOTE_FORMAT=Mte;bt.DEFAULT_QUARTERLY_NOTE_FORMAT=Ate;bt.DEFAULT_WEEKLY_NOTE_FORMAT=cL;bt.DEFAULT_YEARLY_NOTE_FORMAT=Ite;bt.appHasDailyNotesPluginLoaded=mFe;bt.appHasMonthlyNotesPluginLoaded=zte;bt.appHasQuarterlyNotesPluginLoaded=Bte;bt.appHasWeeklyNotesPluginLoaded=jte;bt.appHasYearlyNotesPluginLoaded=qte;bt.createDailyNote=Lte;bt.createMonthlyNote=$te;bt.createPeriodicNote=hFe;bt.createQuarterlyNote=oFe;bt.createWeeklyNote=Fte;bt.createYearlyNote=dFe;bt.getAllDailyNotes=eFe;bt.getAllMonthlyNotes=aFe;bt.getAllQuarterlyNotes=cFe;bt.getAllWeeklyNotes=iFe;bt.getAllYearlyNotes=pFe;bt.getDailyNote=X1e;bt.getDailyNoteSettings=Wb;bt.getDateFromFile=og;bt.getDateFromPath=J1e;bt.getDateUID=Lo;bt.getMonthlyNote=sFe;bt.getMonthlyNoteSettings=Gb;bt.getPeriodicNoteSettings=fFe;bt.getQuarterlyNote=lFe;bt.getQuarterlyNoteSettings=Kb;bt.getTemplateInfo=ag;bt.getWeeklyNote=nFe;bt.getWeeklyNoteSettings=Yb;bt.getYearlyNote=uFe;bt.getYearlyNoteSettings=Zb});var Jb,hL,gFe,yFe,vFe,bFe,TFe,kFe,wFe,gL,Zn,lg=v(()=>{Jb=["status","priority","due","scheduled","projects","contexts"],hL={title:"title",status:"status",priority:"priority",due:"due",scheduled:"scheduled",contexts:"contexts",projects:"projects",timeEstimate:"timeEstimate",completedDate:"completedDate",dateCreated:"dateCreated",dateModified:"dateModified",recurrence:"recurrence",recurrenceAnchor:"recurrence_anchor",archiveTag:"archived",timeEntries:"timeEntries",completeInstances:"complete_instances",skippedInstances:"skipped_instances",blockedBy:"blockedBy",pomodoros:"pomodoros",icsEventId:"icsEventId",icsEventTag:"ics_event",googleCalendarEventId:"googleCalendarEventId",reminders:"reminders",sortOrder:"tasknotes_manual_order"},gFe=[{id:"none",value:"none",label:"None",color:"#cccccc",isCompleted:!1,order:0,autoArchive:!1,autoArchiveDelay:5},{id:"open",value:"open",label:"Open",color:"#808080",isCompleted:!1,order:1,autoArchive:!1,autoArchiveDelay:5},{id:"in-progress",value:"in-progress",label:"In progress",color:"#0066cc",isCompleted:!1,order:2,autoArchive:!1,autoArchiveDelay:5},{id:"done",value:"done",label:"Done",color:"#00aa00",isCompleted:!0,order:3,autoArchive:!1,autoArchiveDelay:5}],yFe=[{id:"none",value:"none",label:"None",color:"#cccccc",weight:0},{id:"low",value:"low",label:"Low",color:"#00aa00",weight:1},{id:"normal",value:"normal",label:"Normal",color:"#ffaa00",weight:2},{id:"high",value:"high",label:"High",color:"#ff0000",weight:3}],vFe={defaultContexts:"",defaultTags:"",defaultProjects:"",useParentNoteAsProject:!1,defaultTimeEstimate:0,defaultRecurrence:"none",defaultDueDate:"none",defaultScheduledDate:"today",bodyTemplate:"",useBodyTemplate:!1,defaultReminders:[]},bFe={defaultView:"dayGridMonth",customDayCount:3,slotDuration:"00:30:00",slotMinTime:"00:00:00",slotMaxTime:"24:00:00",scrollTime:"08:00:00",firstDay:1,timeFormat:"24",showWeekends:!0,locale:"",defaultShowScheduled:!0,defaultShowDue:!0,defaultShowDueWhenScheduled:!0,defaultShowScheduledToDueSpan:!1,defaultShowTimeEntries:!1,defaultShowRecurring:!0,defaultShowICSEvents:!0,enableTimeblocking:!1,defaultShowTimeblocks:!0,defaultTimeblockColor:"#6366f1",timeblockAttachmentSearchOrder:"name-asc",nowIndicator:!0,selectMirror:!0,weekNumbers:!1,showTodayHighlight:!0,eventMinHeight:15,slotEventOverlap:!0,eventMaxStack:null,dayMaxEvents:!0,dayMaxEventRows:!1},TFe={defaultNoteTemplate:"",defaultNoteFolder:"",icsNoteFilenameFormat:"title",customICSNoteFilenameTemplate:"{title}",enableAutoExport:!1,autoExportPath:"tasknotes-calendar.ics",autoExportInterval:60,useDurationForExport:!1,useICSEndAsDue:!1},kFe={enabled:!1,targetCalendarId:"",syncOnTaskCreate:!0,syncOnTaskUpdate:!0,syncOnTaskComplete:!0,syncOnTaskDelete:!0,eventTitleTemplate:"{{title}}",includeDescription:!0,eventColorId:null,syncTrigger:"scheduled",createAsAllDay:!0,defaultEventDuration:60,includeObsidianLink:!0,defaultReminderMinutes:null},wFe={enableFuzzy:!1,rows:["{title|n(Title)}","{aliases|n(Aliases)}","{file.path|n(Path)}"],showAdvanced:!1,requiredTags:[],includeFolders:[],propertyKey:"",propertyValue:""},gL={triggers:[{propertyId:"tags",trigger:"#",enabled:!0},{propertyId:"contexts",trigger:"@",enabled:!0},{propertyId:"projects",trigger:"+",enabled:!0},{propertyId:"status",trigger:"*",enabled:!0},{propertyId:"priority",trigger:"!",enabled:!1}]},Zn={tasksFolder:"TaskNotes/Tasks",moveArchivedTasks:!1,archiveFolder:"TaskNotes/Archive",taskTag:"task",taskIdentificationMethod:"tag",hideIdentifyingTagsInCards:!1,taskPropertyName:"",taskPropertyValue:"",excludedFolders:"",defaultTaskPriority:"normal",defaultTaskStatus:"open",taskOrgFiltersCollapsed:!1,taskFilenameFormat:"zettel",storeTitleInFilename:!0,customFilenameTemplate:"{title}",taskCreationDefaults:vFe,calendarViewSettings:bFe,pomodoroWorkDuration:25,pomodoroShortBreakDuration:5,pomodoroLongBreakDuration:15,pomodoroLongBreakInterval:4,pomodoroAutoStartBreaks:!0,pomodoroAutoStartWork:!1,pomodoroNotifications:!0,pomodoroSoundEnabled:!0,pomodoroSoundVolume:50,pomodoroStorageLocation:"plugin",pomodoroMobileSidebar:"tab",enableTaskLinkOverlay:!0,disableOverlayOnAlias:!1,enableInstantTaskConvert:!0,useDefaultsOnInstantConvert:!0,taskModalTabMovesFocus:!0,enableNaturalLanguageInput:!0,nlpDefaultToScheduled:!0,nlpLanguage:"en",uiLanguage:"system",statusSuggestionTrigger:"*",nlpTriggers:gL,singleClickAction:"edit",doubleClickAction:"openNote",projectAutosuggest:wFe,inlineTaskConvertFolder:"{{currentNotePath}}",disableNoteIndexing:!1,suggestionDebounceMs:0,fieldMapping:hL,customStatuses:gFe,customPriorities:yFe,recurrenceMigrated:!1,lastSeenVersion:void 0,showReleaseNotesOnUpdate:!0,showTrackedTasksInStatusBar:!1,autoStopTimeTrackingOnComplete:!0,autoStopTimeTrackingNotification:!1,showRelationships:!0,relationshipsPosition:"bottom",showTaskCardInNote:!0,showExpandableSubtasks:!0,subtaskChevronPosition:"right",viewsButtonAlignment:"right",hideCompletedFromOverdue:!0,icsIntegration:TFe,savedViews:[],enableNotifications:!0,notificationType:"system",enableAPI:!1,apiPort:8080,apiAuthToken:"",enableMCP:!1,webhooks:[],userFields:[],modalFieldsConfig:void 0,enableModalSplitLayout:!0,defaultVisibleProperties:["status","priority","due","scheduled","projects","contexts","tags","blocked","blocking"],inlineVisibleProperties:["status","priority","due","scheduled","recurrence"],enableBases:!0,enableMdbaseSpec:!1,autoCreateDefaultBasesFiles:!0,commandFileMapping:{"open-calendar-view":"TaskNotes/Views/mini-calendar-default.base","open-kanban-view":"TaskNotes/Views/kanban-default.base","open-tasks-view":"TaskNotes/Views/tasks-default.base","open-advanced-calendar-view":"TaskNotes/Views/calendar-default.base","open-agenda-view":"TaskNotes/Views/agenda-default.base",relationships:"TaskNotes/Views/relationships.base"},maintainDueDateOffsetInRecurring:!1,resetCheckboxesOnRecurrence:!1,useFrontmatterMarkdownLinks:!1,googleOAuthClientId:"",googleOAuthClientSecret:"",microsoftOAuthClientId:"",microsoftOAuthClientSecret:"",enableGoogleCalendar:!1,enableMicrosoftCalendar:!1,enabledGoogleCalendars:[],googleCalendarSyncTokens:{},enabledMicrosoftCalendars:[],microsoftCalendarSyncTokens:{},googleCalendarExport:kFe,enableDebugLogging:!1}});var Gte={};et(Gte,{DEFAULT_CORE_FIELDS:()=>Ute,DEFAULT_FIELD_GROUPS:()=>Hte,createDefaultFieldConfig:()=>Vte,getFieldsByGroup:()=>SFe,getFieldsForModal:()=>Wte,initializeFieldConfig:()=>Uc,migrateUserFieldsToFieldConfig:()=>Yte});function Vte(){return{version:1,fields:[...Ute],groups:[...Hte]}}function Wte(r,e){return r.fields.filter(t=>t.enabled).filter(t=>e?t.visibleInCreation:t.visibleInEdit).sort((t,n)=>{var o,l;let i=r.groups.find(c=>c.id===t.group),s=r.groups.find(c=>c.id===n.group),a=((o=i==null?void 0:i.order)!=null?o:0)-((l=s==null?void 0:s.order)!=null?l:0);return a!==0?a:t.order-n.order})}function SFe(r,e){let t=Wte(r,e),n=new Map;for(let i of t){let s=n.get(i.group)||[];s.push(i),n.set(i.group,s)}return n}function Yte(r){return!r||r.length===0?[]:r.map((e,t)=>({id:e.id||`user-${t}`,fieldType:"user",group:"custom",displayName:e.displayName||`Field ${t+1}`,visibleInCreation:!0,visibleInEdit:!0,order:t,enabled:!0}))}function Uc(r,e){if(r)return r;let t=Vte();if(e&&e.length>0){let n=Yte(e);t.fields.push(...n)}return t}var Hte,Ute,Xb=v(()=>{Hte=[{id:"basic",displayName:"Basic Information",order:0,collapsible:!1,defaultCollapsed:!1},{id:"metadata",displayName:"Metadata",order:1,collapsible:!0,defaultCollapsed:!1},{id:"organization",displayName:"Organization",order:2,collapsible:!0,defaultCollapsed:!1},{id:"dependencies",displayName:"Dependencies",order:3,collapsible:!0,defaultCollapsed:!1},{id:"custom",displayName:"Custom Fields",order:4,collapsible:!0,defaultCollapsed:!1}],Ute=[{id:"title",fieldType:"core",group:"basic",displayName:"Title",visibleInCreation:!0,visibleInEdit:!0,order:0,enabled:!0,required:!0},{id:"details",fieldType:"core",group:"basic",displayName:"Details",visibleInCreation:!0,visibleInEdit:!0,order:1,enabled:!0},{id:"contexts",fieldType:"core",group:"metadata",displayName:"Contexts",visibleInCreation:!0,visibleInEdit:!0,order:0,enabled:!0},{id:"tags",fieldType:"core",group:"metadata",displayName:"Tags",visibleInCreation:!0,visibleInEdit:!0,order:1,enabled:!0},{id:"time-estimate",fieldType:"core",group:"metadata",displayName:"Time Estimate",visibleInCreation:!0,visibleInEdit:!0,order:2,enabled:!0},{id:"projects",fieldType:"organization",group:"organization",displayName:"Projects",visibleInCreation:!0,visibleInEdit:!0,order:0,enabled:!0},{id:"subtasks",fieldType:"organization",group:"organization",displayName:"Subtasks",visibleInCreation:!0,visibleInEdit:!0,order:1,enabled:!0},{id:"blocked-by",fieldType:"dependency",group:"dependencies",displayName:"Blocked By",visibleInCreation:!0,visibleInEdit:!0,order:0,enabled:!0},{id:"blocking",fieldType:"dependency",group:"dependencies",displayName:"Blocking",visibleInCreation:!0,visibleInEdit:!0,order:1,enabled:!0}]});var Zte,Qte,Vc,cg,dg,Fa,Vt,ug,hD,gD,yD,Fo,Tm,On=v(()=>{Zte="tasknotes-mini-calendar-view",Qte="tasknotes-agenda-view",Vc="tasknotes-pomodoro-view",cg="tasknotes-pomodoro-stats-view",dg="tasknotes-stats-view",Fa="data-changed",Vt="task-updated",ug="task-deleted",hD="pomodoro-start",gD="pomodoro-complete",yD="pomodoro-interrupt",Fo="pomodoro-tick",Tm="date-changed"});function Jte(r,e,t){if(!(e!=null&&e.fields))return!0;let n=e.fields.find(s=>s.id===r);if(!n)return!0;let i=t?n.visibleInCreation:n.visibleInEdit;return!!n.enabled&&!!i}function Xte(r,e){let{getFieldsByGroup:t}=(Xb(),eD(Gte)),n=t(r,e);return[...r.groups||[]].sort((s,a)=>s.order-a.order).map(s=>({id:s.id,fields:n.get(s.id)||[]})).filter(s=>s.fields.length>0)}var ere=v(()=>{});function tre(r,e){let t=Object.keys(e).map(n=>AFe(r,n,e[n]));return t.length===1?t[0]:function(){t.forEach(n=>n())}}function AFe(r,e,t){let n=r[e],i=r.hasOwnProperty(e),s=i?n:function(){return Object.getPrototypeOf(r)[e].apply(this,arguments)},a=t(s);return n&&Object.setPrototypeOf(a,n),Object.setPrototypeOf(o,a),r[e]=o,l;function o(...c){return a===s&&r[e]===o&&l(),a.apply(this,c)}function l(){r[e]===o&&(i?r[e]=s:delete r[e]),a!==s&&(a=s,Object.setPrototypeOf(o,n||Function))}}var rre=v(()=>{});var vL={};et(vL,{EmbeddableMarkdownEditor:()=>yL});function IFe(r){let e=r.workspace.getActiveFile();if(!(e instanceof vD.TFile))throw new Error("Cannot resolve markdown editor prototype without an active markdown file.");let t=r.embedRegistry.embedByExtension.md({app:r,containerEl:activeDocument.createElement("div")},e,"");t.editable=!0,t.showEditor();let n=t.editMode;if(!n)throw t.unload(),new Error("Markdown editor edit mode was not initialized");let i=Object.getPrototypeOf(Object.getPrototypeOf(n));return t.unload(),i.constructor}function NFe(){return typeof app=="undefined"?class{constructor(e,t,n){this.containerEl=activeDocument.createElement("div");this.editor={cm:new Sl.EditorView};this.editorEl=activeDocument.createElement("div");this.owner={editMode:null,editor:null};this._loaded=!1;this.app=e,this.containerEl=t}set(e){}onUpdate(e,t){}buildLocalExtensions(){return[]}destroy(){}unload(){}}:IFe(app)}var vD,bD,Sl,nre,yL,bL=v(()=>{vD=require("obsidian"),bD=require("@codemirror/state"),Sl=require("@codemirror/view");rre();nre={cursorLocation:void 0,value:"",cls:"",placeholder:"",onEnter:()=>!1,onEscape:()=>{},onTab:()=>!1,onSubmit:()=>{},onBlur:()=>{},onPaste:()=>{},onChange:()=>{},extensions:[],enterVimInsertMode:!1},yL=class extends NFe(){constructor(t,n,i={}){super(t,n,{app:t,onMarkdownScroll:()=>{},getMode:()=>"source"});this.hasEnteredVimInsertMode=!1;this.options={...nre,...i},this.initial_value=this.options.value,this.scope=new vD.Scope(this.app.scope),this.scope.register(["Mod"],"Enter",(s,a)=>!0),this.owner.editMode=this,this.owner.editor=this.editor,this.set(i.value||""),this.uninstaller=tre(this.app.workspace,{setActiveLeaf:s=>function(...a){var o;(o=this.activeCM)!=null&&o.hasFocus||s.call(this,...a)}}),this.options.onBlur!==nre.onBlur&&this.editor.cm.contentDOM.addEventListener("blur",()=>{this.app.keymap.popScope(this.scope),this._loaded&&this.options.onBlur(this)}),this.editor.cm.contentDOM.addEventListener("focusin",()=>{this.app.keymap.pushScope(this.scope),this.app.workspace.activeEditor=this.owner,this.options.enterVimInsertMode&&!this.hasEnteredVimInsertMode&&(this.hasEnteredVimInsertMode=!0,this.enterVimInsertMode())}),i.cls&&this.editorEl.classList.add(i.cls),this.editorEl.classList.remove("markdown-source-view","mod-cm6"),i.cursorLocation&&this.editor.cm.dispatch({selection:bD.EditorSelection.range(i.cursorLocation.anchor,i.cursorLocation.head)})}get value(){return this.editor.cm.state.doc.toString()}setValue(t){this.set(t)}enterVimInsertMode(){window.setTimeout(()=>{var t,n;try{if(!this.app.vault.getConfig("vimMode"))return;let s=(t=window.CodeMirrorAdapter)==null?void 0:t.Vim;if(!s)return;let a=(n=this.editor.cm.cm)!=null?n:this.activeCM;if(!a)return;s.handleKey(a,"i","api")}catch(i){}},50)}onUpdate(t,n){super.onUpdate(t,n),n&&this.options.onChange(this.value,t)}buildLocalExtensions(){let t=super.buildLocalExtensions();return t.push(Sl.EditorView.theme({".cm-lineNumbers":{display:"none !important"},".cm-gutters":{display:"none !important"}})),t.push((0,Sl.tooltips)({parent:activeDocument.body})),this.options.placeholder&&t.push((0,Sl.placeholder)(this.options.placeholder)),t.push(Sl.EditorView.domEventHandlers({paste:n=>{this.options.onPaste(n,this)}})),t.push(bD.Prec.highest(Sl.keymap.of([{key:"Enter",run:n=>this.options.onEnter(this,!1,!1),shift:n=>this.options.onEnter(this,!1,!0)},{key:"Mod-Enter",run:n=>(this.options.onSubmit(this),!0)},{key:"Escape",run:n=>(this.options.onEscape(this),!0)},{key:"Tab",run:n=>this.options.onTab(this,!1)},{key:"Shift-Tab",run:n=>this.options.onTab(this,!0)}]))),this.options.extensions&&this.options.extensions.length>0&&t.push(...this.options.extensions),t}destroy(){this._loaded&&this.unload(),this.app.keymap.popScope(this.scope),this.app.workspace.activeEditor=null,this.uninstaller&&(this.uninstaller(),this.uninstaller=void 0),this.containerEl.empty(),super.destroy()}onunload(){this.destroy()}}});function RFe(){return(bL(),eD(vL)).EmbeddableMarkdownEditor}function TD(r,e,t){try{let n=RFe();return new n(r,e,{...t,onTab:(i,s)=>t.onTab(s)})}catch(n){console.error("Failed to create markdown editor:",n);let i=e.createEl("textarea",{cls:t.cls+"-fallback",placeholder:t.placeholder});return i.value=t.value,i.addEventListener("input",s=>{t.onChange(s.target.value)}),i.addEventListener("keydown",s=>{s.key==="Enter"&&(s.ctrlKey||s.metaKey)?(s.preventDefault(),t.onSubmit()):s.key==="Escape"?(s.preventDefault(),t.onEscape()):s.key==="Tab"&&t.onTab(s.shiftKey)&&s.preventDefault()}),null}}var TL=v(()=>{});var ire,Qn,Wc=v(()=>{ire=require("obsidian"),Qn=class extends ire.Menu{show(e){var t;if(e.instanceOf(MouseEvent))this.showAtMouseEvent(e);else if(e.instanceOf(KeyboardEvent)){let n=e.currentTarget;if(!n||!((t=n.instanceOf)!=null&&t.call(n,HTMLElement)))return;this.showAtPosition({x:n.getBoundingClientRect().left,y:n.getBoundingClientRect().bottom+4})}}}});var sre={};et(sre,{DateTimePickerModal:()=>tT});var pg,tT,kL=v(()=>{pg=require("obsidian"),tT=class extends pg.Modal{constructor(e,t){super(e),this.options=t}onOpen(){let{contentEl:e}=this;e.empty(),e.addClass("date-time-picker-modal"),this.options.title&&e.createEl("h3",{text:this.options.title}),new pg.Setting(e).setName("Date").addText(n=>{this.dateInput=n.inputEl,this.dateInput.type="date",this.options.currentDate&&(this.dateInput.value=this.options.currentDate)}),new pg.Setting(e).setName("Time (optional)").addText(n=>{this.timeInput=n.inputEl,this.timeInput.type="time",this.options.currentTime&&(this.timeInput.value=this.options.currentTime)}),new pg.Setting(e).addButton(n=>n.setButtonText("Cancel").onClick(()=>{this.close()})).addButton(n=>n.setButtonText("Select").setCta().onClick(()=>{let i=this.dateInput.value||null,s=this.timeInput.value||null;this.options.onSelect(i,s),this.close()})),window.setTimeout(()=>{this.dateInput.focus()},100);let t=n=>{if(n.key==="Enter"){n.preventDefault();let i=this.dateInput.value||null,s=this.timeInput.value||null;this.options.onSelect(i,s),this.close()}};this.dateInput.addEventListener("keydown",t),this.timeInput.addEventListener("keydown",t)}onClose(){let{contentEl:e}=this;e.empty()}}});var ML={};et(ML,{NATURAL_LANGUAGE_DATE_PATTERNS:()=>rT,addDaysToDateString:()=>km,addDaysToDateTime:()=>hg,addMonthsToDateString:()=>$Fe,addWeeksToDateString:()=>SL,addYearsToDateString:()=>jFe,combineDateAndTime:()=>ts,convertUTCToLocalCalendarDate:()=>hu,createSafeDate:()=>FFe,createSafeUTCDate:()=>xL,createTimeFormatHelper:()=>WFe,createUTCDateForRRule:()=>ja,createUTCDateFromLocalCalendarDate:()=>en,formatDateAsUTCString:()=>CL,formatDateForDisplay:()=>Gc,formatDateForStorage:()=>ue,formatDateStringTime:()=>lre,formatDateTime:()=>ore,formatDateTimeForDisplay:()=>xs,formatTime:()=>fg,formatTimestampForDisplay:()=>kD,generateUTCCalendarDates:()=>PL,getCurrentDateString:()=>mg,getCurrentDateTimeString:()=>GFe,getCurrentTimestamp:()=>Ve,getDatePart:()=>tt,getEndOfMonthString:()=>HFe,getEndOfWeekString:()=>BFe,getEndOfYearString:()=>VFe,getNaturalLanguageDateSuggestions:()=>QFe,getStartOfMonthString:()=>qFe,getStartOfWeekString:()=>zFe,getStartOfYearString:()=>UFe,getTimePart:()=>$a,getTodayLocal:()=>kr,getTodayString:()=>cn,getUTCEndOfMonth:()=>DD,getUTCEndOfWeek:()=>_L,getUTCStartOfMonth:()=>ED,getUTCStartOfWeek:()=>xD,hasTimeComponent:()=>$r,isBeforeDateSafe:()=>Yc,isBeforeDateTimeAware:()=>Kc,isNaturalLanguageDate:()=>CD,isOverdueTimeAware:()=>rs,isPastDate:()=>EL,isSameDateSafe:()=>Ln,isToday:()=>iT,isTodayTimeAware:()=>wD,isTodayUTC:()=>DL,isValidDateInput:()=>ZFe,normalizeCalendarBoundariesToUTC:()=>KFe,normalizeDateString:()=>LFe,parseDate:()=>OFe,parseDateAsLocal:()=>wm,parseDateToLocal:()=>Mr,parseDateToUTC:()=>st,parseTimestamp:()=>are,resolveNaturalLanguageDate:()=>Sm,startOfDayForDateString:()=>nT,validateCompleteInstances:()=>SD,validateDateInput:()=>wL,validateDateTimeInput:()=>YFe});function oi(r){if(!r){let t=new Error("Date string cannot be empty");throw console.error("Date parsing error:",{dateString:r,error:t.message}),t}let e=r.trim();try{let t=e.match(/^(\d{4}-\d{2}-\d{2})\s+(Mon|Tue|Wed|Thu|Fri|Sat|Sun|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)$/i);if(t){let n=t[1];return oi(n)}if(e.startsWith("T")&&/^T\d{2}:\d{2}(:\d{2})?/.test(e)){let n=new Error(`Invalid date format - time without date: ${r}`);throw console.warn("Date parsing error - incomplete time format:",{original:r,trimmed:e,error:n.message}),n}if(/^\d{4}-W\d{2}$/.test(e)){let[n,i]=e.split("-W"),s=parseInt(n,10),a=parseInt(i,10);if(isNaN(s)||isNaN(a)){let u=new Error(`Invalid numeric values in ISO week format: ${r}`);throw console.warn("Date parsing error - invalid ISO week numbers:",{original:r,year:n,week:i,yearNum:s,weekNum:a}),u}if(a<1||a>53){let u=new Error(`Invalid week number in ISO week format: ${r} (week must be 1-53)`);throw console.warn("Date parsing error - week number out of range:",{original:r,weekNum:a,error:u.message}),u}let o=new Date(s,0,4),l=o.getDay(),c=new Date(o);c.setDate(o.getDate()-(l===0?6:l-1));let d=new Date(c);if(d.setDate(c.getDate()+(a-1)*7),!Kn(d)){let u=new Error(`Failed to calculate date from ISO week format: ${r}`);throw console.error("Date parsing error - ISO week calculation failed:",{original:r,yearNum:s,weekNum:a,jan4:o.toISOString(),targetWeekMonday:d.toString()}),u}return d}if(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}(:\d{2})?/.test(e)){let n=e.replace(" ","T"),i=ia(n);if(!Kn(i)){let s=new Error(`Invalid space-separated datetime: ${r}`);throw console.warn("Date parsing error - space-separated datetime invalid:",{original:r,converted:n,error:s.message}),s}return i}if(e.includes("T")||e.includes("Z")||e.match(/[+-]\d{2}:\d{2}$/)){let n=ia(e);if(!Kn(n)){let i=new Error(`Invalid timezone-aware date: ${r}`);throw console.warn("Date parsing error - timezone-aware format invalid:",{original:r,trimmed:e,error:i.message}),i}return n}else{let n=e.match(/^(\d{4})-(\d{2})-(\d{2})$/);if(!n){let l=new Error(`Invalid date-only string: ${r} (expected format: yyyy-MM-dd)`);throw console.warn("Date parsing error - date-only format invalid:",{original:r,trimmed:e,expectedFormat:"yyyy-MM-dd",error:l.message}),l}let[,i,s,a]=n,o=new Date(parseInt(i,10),parseInt(s,10)-1,parseInt(a,10));if(!Kn(o)||o.getFullYear()!==parseInt(i,10)||o.getMonth()!==parseInt(s,10)-1||o.getDate()!==parseInt(a,10)){let l=new Error(`Invalid date values: ${r}`);throw console.warn("Date parsing error - invalid date values:",{original:r,year:i,month:s,day:a,error:l.message}),l}return o}}catch(t){if(t instanceof Error&&t.message.includes("Invalid date"))throw t;let n=new Error(`Unexpected error parsing date "${r}": ${t instanceof Error?t.message:String(t)}`);throw console.error("Unexpected date parsing error:",{original:r,trimmed:e,error:t instanceof Error?t.message:String(t),stack:t instanceof Error?t.stack:void 0}),n}}function st(r){if(!r){let t=new Error("Date string cannot be empty");throw console.error("Date parsing error:",{dateString:r,error:t.message}),t}let e=r.trim();try{let t=e.match(/^(\d{4}-\d{2}-\d{2})\s+(Mon|Tue|Wed|Thu|Fri|Sat|Sun|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)$/i);if(t){let i=t[1];return st(i)}let n=e.match(/^(\d{4})-(\d{2})-(\d{2})$/);if(n){let[,i,s,a]=n,o=parseInt(i,10),l=parseInt(s,10),c=parseInt(a,10);if(l<1||l>12)throw new Error(`Invalid month in date: ${r}`);if(c<1||c>31)throw new Error(`Invalid day in date: ${r}`);let d=new Date(Date.UTC(o,l-1,c));if(d.getUTCFullYear()!==o||d.getUTCMonth()!==l-1||d.getUTCDate()!==c)throw new Error(`Invalid date values: ${r}`);return d}return oi(e)}catch(t){let n=new Error(`Failed to parse date to UTC: ${e}`);throw console.error("Date parsing error:",{dateString:r,trimmed:e,error:t instanceof Error?t.message:String(t),stack:t instanceof Error?t.stack:void 0}),n}}function Mr(r){return oi(r)}function OFe(r){return oi(r)}function Ln(r,e){try{let t=tt(r),n=tt(e),i=st(t),s=st(n);return i.getTime()===s.getTime()}catch(t){return console.error("Error comparing dates:",{date1:r,date2:e,error:t}),!1}}function Yc(r,e){try{let t=tt(r),n=tt(e),i=st(t),s=st(n);return i.getTime()<s.getTime()}catch(t){return console.error("Error comparing dates for before:",{date1:r,date2:e,error:t}),!1}}function cn(){return P(new Date,"yyyy-MM-dd")}function kr(){let r=new Date;return new Date(r.getFullYear(),r.getMonth(),r.getDate())}function wm(r){if(!r)throw new Error("Date string cannot be empty");let t=r.trim().match(/^(\d{4})-(\d{2})-(\d{2})$/);if(t){let[,n,i,s]=t,a=new Date(parseInt(n,10),parseInt(i,10)-1,parseInt(s,10));if(!Kn(a)||a.getFullYear()!==parseInt(n,10)||a.getMonth()!==parseInt(i,10)-1||a.getDate()!==parseInt(s,10))throw new Error(`Invalid date values: ${r}`);return a}return oi(r)}function LFe(r){if(!r)return r;try{if(r.includes("T")||r.includes("Z")||r.match(/[+-]\d{2}:\d{2}$/)){let t=r.split("T")[0];if(/^\d{4}-\d{2}-\d{2}$/.test(t))return t}let e=st(r);return Kn(e)?ue(e):r}catch(e){return console.error("Error normalizing date string:",{dateString:r,error:e}),r}}function FFe(r,e,t){return new Date(r,e,t)}function xL(r,e,t){return new Date(Date.UTC(r,e,t))}function hu(r){let e=r.getUTCFullYear(),t=r.getUTCMonth(),n=r.getUTCDate();return new Date(e,t,n)}function wL(r){if(!r||r.trim()==="")return!0;try{return oi(r),!0}catch(e){return!1}}function km(r,e){try{let t=oi(r),n=ym(t,e);return P(n,"yyyy-MM-dd")}catch(t){throw console.error("Error adding days to date string:",{dateString:r,days:e,error:t}),t}}function SL(r,e){try{let t=oi(r),n=YZ(t,e);return P(n,"yyyy-MM-dd")}catch(t){throw console.error("Error adding weeks to date string:",{dateString:r,weeks:e,error:t}),t}}function $Fe(r,e){try{let t=oi(r),n=nD(t,e);return P(n,"yyyy-MM-dd")}catch(t){throw console.error("Error adding months to date string:",{dateString:r,months:e,error:t}),t}}function jFe(r,e){try{let t=oi(r),n=KZ(t,e);return P(n,"yyyy-MM-dd")}catch(t){throw console.error("Error adding years to date string:",{dateString:r,years:e,error:t}),t}}function zFe(r=1){try{let e=Xi(new Date,{weekStartsOn:r});return P(e,"yyyy-MM-dd")}catch(e){throw console.error("Error getting start of week:",{error:e}),e}}function BFe(r=1){try{let e=tg(new Date,{weekStartsOn:r});return P(e,"yyyy-MM-dd")}catch(e){throw console.error("Error getting end of week:",{error:e}),e}}function qFe(){try{let r=cD(new Date);return P(r,"yyyy-MM-dd")}catch(r){throw console.error("Error getting start of month:",{error:r}),r}}function HFe(){try{let r=lD(new Date);return P(r,"yyyy-MM-dd")}catch(r){throw console.error("Error getting end of month:",{error:r}),r}}function UFe(){try{let r=dD(new Date);return P(r,"yyyy-MM-dd")}catch(r){throw console.error("Error getting start of year:",{error:r}),r}}function VFe(){try{let r=BQ(new Date);return P(r,"yyyy-MM-dd")}catch(r){throw console.error("Error getting end of year:",{error:r}),r}}function nT(r){try{return st(r)}catch(e){throw console.error("Error getting start of day for date string:",{dateString:r,error:e}),e}}function iT(r){if(!r)return!1;try{let e=wm(r),t=kr();return KO(e,t)}catch(e){return console.error("Error checking if date is today:",{dateString:r,error:e}),!1}}function EL(r){return Yc(r,cn())}function Gc(r,e="MMM d, yyyy"){try{let t=oi(r);return P(t,e)}catch(t){return console.error("Error formatting date for display:",{dateString:r,error:t}),r}}function Ve(){let r=new Date,e=-r.getTimezoneOffset(),t=e>=0?"+":"-",n=m=>String(Math.abs(m)).padStart(2,"0"),i=n(Math.floor(Math.abs(e)/60)),s=n(Math.abs(e)%60),a=r.getFullYear(),o=n(r.getMonth()+1),l=n(r.getDate()),c=n(r.getHours()),d=n(r.getMinutes()),u=n(r.getSeconds()),p=String(r.getMilliseconds()).padStart(3,"0");return`${a}-${o}-${l}T${c}:${d}:${u}.${p}${t}${i}:${s}`}function mg(){let r=new Date,e=r.getFullYear(),t=String(r.getMonth()+1).padStart(2,"0"),n=String(r.getDate()).padStart(2,"0");return`${e}-${t}-${n}`}function are(r){try{if(!r)throw new Error("Timestamp string cannot be empty");let e=ia(r);if(!Kn(e))throw new Error(`Invalid timestamp: ${r}`);return e}catch(e){throw console.error("Error parsing timestamp:",{timestampString:r,error:e}),e}}function kD(r,e,t="24"){if(!r)return r;try{let n=are(r);return Kn(n)?P(n,e||(t==="12"?"MMM d, yyyy h:mm a":"MMM d, yyyy HH:mm")):r}catch(n){return console.error("Error formatting timestamp for display:",{timestampString:r,error:n}),r}}function $r(r){return r?/T\d{2}:\d{2}/.test(r):!1}function tt(r){if(!r)return"";try{if(/^\d{4}-\d{2}-\d{2}$/.test(r))return r;let e=r.indexOf("T");if(e>-1)return r.substring(0,e);let t=st(r);return ue(t)}catch(e){return console.error("Error extracting date part:",{dateString:r,error:e}),r}}function $a(r){if(!r||!$r(r))return null;try{let e=oi(r);return P(e,"HH:mm")}catch(e){return console.error("Error extracting time part:",{dateString:r,error:e}),null}}function fg(r,e="24"){return Kn(r)?P(r,e==="12"?"h:mm a":"HH:mm"):(console.warn("Invalid date provided to formatTime:",r),"")}function ore(r,e="24"){return Kn(r)?P(r,e==="12"?"MMM d, yyyy h:mm a":"MMM d, yyyy HH:mm"):(console.warn("Invalid date provided to formatDateTime:",r),"")}function lre(r,e="24"){if(!r||!$r(r))return r;try{let t=Mr(r);return fg(t,e)}catch(t){return console.error("Error formatting date string time:",{dateString:r,error:t}),r}}function WFe(r){return{formatDateTimeForDisplay:(e,t={})=>xs(e,{...t,userTimeFormat:r}),formatTime:e=>fg(e,r),formatDateTime:e=>ore(e,r),formatDateStringTime:e=>lre(e,r)}}function ts(r,e){if(!r)return"";if(!e)return r;try{let t=r.match(/^(\d{4}-\d{2}-\d{2})$/);if(t)return/^\d{2}:\d{2}$/.test(e)?`${t[1]}T${e}`:(console.warn("Invalid time format, expected HH:mm:",e),r);let n=tt(r);return!n||!/^\d{4}-\d{2}-\d{2}$/.test(n)?(console.warn("Invalid date part from dateString:",{dateString:r,datePart:n}),r):/^\d{2}:\d{2}$/.test(e)?`${n}T${e}`:(console.warn("Invalid time format, expected HH:mm:",e),r)}catch(t){return console.error("Error combining date and time:",{dateString:r,timeString:e,error:t}),r}}function xs(r,e={}){if(!r)return"";let{dateFormat:t="MMM d, yyyy",timeFormat:n,showTime:i=!0,userTimeFormat:s="24"}=e,a=n||(s==="12"?"h:mm a":"HH:mm");try{let o=oi(r);return $r(r)&&i?!t||t.trim()===""?P(o,a):P(o,`${t} ${a}`):!t||t.trim()===""?"":P(o,t)}catch(o){return console.error("Error formatting datetime for display:",{dateString:r,error:o}),r}}function Kc(r,e){try{let t=st(r),n=st(e),i=t,s=n;if($r(r)){let a=$a(r);if(a){let[o,l]=a.split(":").map(Number);i=new Date(t),i.setUTCHours(o,l,0,0)}}if($r(e)){let a=$a(e);if(a){let[o,l]=a.split(":").map(Number);s=new Date(n),s.setUTCHours(o,l,0,0)}}return $r(r)&&!$r(e)?(s=new Date(n),s.setUTCHours(23,59,59,999)):!$r(r)&&$r(e)&&(i=new Date(t),i.setUTCHours(23,59,59,999)),i.getTime()<s.getTime()}catch(t){return console.error("Error comparing dates time-aware:",{date1:r,date2:e,error:t}),!1}}function rs(r,e,t){if(!r||t&&e)return!1;try{let n=new Date,i=st(r);if($r(r))return aL(i,n);{let s=st(cn());return aL(i,s)}}catch(n){return console.error("Error checking overdue status:",{dateString:r,error:n}),!1}}function wD(r){if(!r)return!1;try{let e=$r(r)?oi(r):wm(r);return KO(e,new Date)}catch(e){return console.error("Error checking if today:",{dateString:r,error:e}),!1}}function YFe(r,e){if(!r||r.trim()==="")return!0;try{if(!wL(r))return!1;if(e&&e.trim()!==""){if(!/^\d{2}:\d{2}$/.test(e))return!1;let t=ts(r,e);return wL(t)}return!0}catch(t){return!1}}function SD(r){return Array.isArray(r)?r.filter(e=>{if(typeof e!="string"||!e.trim())return!1;let t=e.trim();if(t.startsWith("T")&&/^T\d{2}:\d{2}(:\d{2})?/.test(t)||!/^\d{4}-\d{2}-\d{2}$/.test(t))return!1;try{return oi(t),!0}catch(n){return console.warn("Invalid complete_instances entry (date parsing failed):",e,n),!1}}).map(e=>e.trim()):[]}function GFe(){return P(new Date,"yyyy-MM-dd'T'HH:mm")}function hg(r,e){try{let t=oi(r),n=ym(t,e);return $r(r)?P(n,"yyyy-MM-dd'T'HH:mm"):P(n,"yyyy-MM-dd")}catch(t){throw console.error("Error adding days to datetime:",{dateString:r,days:e,error:t}),t}}function ja(r){try{let e=r.match(/^(\d{4})-(\d{2})-(\d{2})/);if(!e)throw new Error(`Invalid date format for RRULE: ${r}`);let[,t,n,i]=e,s=parseInt(t,10),a=parseInt(n,10),o=parseInt(i,10);if(a<1||a>12)throw new Error(`Invalid month in date: ${r}`);if(o<1||o>31)throw new Error(`Invalid day in date: ${r}`);let l=new Date(Date.UTC(s,a-1,o));if(l.getUTCFullYear()!==s||l.getUTCMonth()!==a-1||l.getUTCDate()!==o)throw new Error(`Invalid date values: ${r}`);return l}catch(e){throw console.error("Error creating UTC date for RRULE:",{dateString:r,error:e}),e}}function en(r){let e=r.getFullYear(),t=r.getMonth(),n=r.getDate();return new Date(Date.UTC(e,t,n,0,0,0,0))}function DL(r){try{let e=kr(),t=en(e);return r.getUTCFullYear()===t.getUTCFullYear()&&r.getUTCMonth()===t.getUTCMonth()&&r.getUTCDate()===t.getUTCDate()}catch(e){return console.error("Error in isTodayUTC:",e),!1}}function KFe(r,e){try{let t=P(r,"yyyy-MM-dd"),n=P(e,"yyyy-MM-dd"),i=ja(t),s=ja(n);return{utcStart:i,utcEnd:s}}catch(t){throw console.error("Error normalizing calendar boundaries to UTC:",{startDate:r,endDate:e,error:t}),t}}function CL(r){try{let e=r.getUTCFullYear(),t=String(r.getUTCMonth()+1).padStart(2,"0"),n=String(r.getUTCDate()).padStart(2,"0");return`${e}-${t}-${n}`}catch(e){return console.error("Error formatting date as UTC string:",{date:r,error:e}),r.toISOString().split("T")[0]}}function ue(r){try{if(!r||!(r instanceof Date)||isNaN(r.getTime()))return console.warn("formatDateForStorage received invalid date:",r),"";let e=r.getUTCFullYear(),t=String(r.getUTCMonth()+1).padStart(2,"0"),n=String(r.getUTCDate()).padStart(2,"0");return`${e}-${t}-${n}`}catch(e){return console.error("Error formatting date for storage:",{date:r,error:e}),""}}function PL(r,e){let t=[],n=ue(r),i=ue(e),s=ja(n),a=ja(i);for(;s<=a;)t.push(new Date(s)),s.setUTCDate(s.getUTCDate()+1);return t}function xD(r,e=1){let t=ja(ue(r)),i=(t.getUTCDay()-e+7)%7,s=new Date(t);return s.setUTCDate(s.getUTCDate()-i),s}function _L(r,e=1){let t=xD(r,e),n=new Date(t);return n.setUTCDate(n.getUTCDate()+6),n}function ED(r){let e=ja(ue(r));return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),1))}function DD(r){let e=ja(ue(r));return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth()+1,0))}function CD(r){if(!r||typeof r!="string")return!1;let e=r.toLowerCase().trim().replace(/\s+/g," ");return e in rT?!0:[/^in\s+(\d+)\s+(days?)$/,/^(\d+)\s+(days?)\s+ago$/,/^in\s+(\d+)\s+(weeks?)$/,/^(\d+)\s+(weeks?)\s+ago$/].some(n=>n.test(e))}function ZFe(r){if(typeof r!="string")return!1;let e=r.trim();if(e===""||CD(e))return!0;try{let t=oi(e);return Kn(t)}catch(t){return!1}}function Sm(r){if(!r||typeof r!="string")return r;let e=r.toLowerCase().trim().replace(/\s+/g," ");if(e in rT)try{return rT[e]()}catch(t){return console.error("Error resolving natural language date:",{value:r,error:t}),r}try{let t=e.match(/^in\s+(\d+)\s+(days?)$/);if(t){let n=parseInt(t[1],10);return km(cn(),n)}if(t=e.match(/^(\d+)\s+(days?)\s+ago$/),t){let n=parseInt(t[1],10);return km(cn(),-n)}if(t=e.match(/^in\s+(\d+)\s+(weeks?)$/),t){let n=parseInt(t[1],10);return SL(cn(),n)}if(t=e.match(/^(\d+)\s+(weeks?)\s+ago$/),t){let n=parseInt(t[1],10);return SL(cn(),-n)}}catch(t){console.error("Error parsing relative natural language date:",{value:r,error:t})}return r}function QFe(){let r=Object.keys(rT),e=["in 3 days","2 days ago","in 1 week","2 weeks ago"];return[...r,...e].sort()}var rT,Qe=v(()=>{Tn();rT={today:()=>cn(),tomorrow:()=>km(cn(),1),yesterday:()=>km(cn(),-1),"next week":()=>km(cn(),7),"last week":()=>km(cn(),-7)}});var dre={};et(dre,{DateContextMenu:()=>Es});function JFe(){return(0,cre.moment)()}function XFe(r){return r.setSubmenu()}var cre,Es,xm=v(()=>{cre=require("obsidian");Wc();kL();Qe();Es=class{constructor(e){this.menu=new Qn,this.options=e,this.buildMenu()}t(e,t,n){var i;return((i=this.options.plugin)==null?void 0:i.i18n.translate(e,n))||t||e}buildMenu(){this.options.title&&(this.menu.addItem(s=>{s.setTitle(this.options.title||""),s.setIcon("calendar"),s.setDisabled(!0)}),this.menu.addSeparator());let e=this.getDateOptions(),t=e.filter(s=>s.category==="increment");t.length>0&&(t.forEach(s=>{this.menu.addItem(a=>{s.icon&&a.setIcon(s.icon),a.setTitle(s.label),a.onClick(async()=>{this.options.onSelect(s.value,null)})})}),this.menu.addSeparator()),e.filter(s=>s.category==="basic").forEach(s=>{this.menu.addItem(a=>{s.icon&&a.setIcon(s.icon);let l=s.value&&s.value===this.options.currentValue?this.t("contextMenus.date.selected","\u2713 {label}",{label:s.label}):s.label;a.setTitle(l),a.onClick(async()=>{this.options.onSelect(s.value,null)})})});let i=e.filter(s=>s.category==="weekday");i.length>0&&(this.menu.addSeparator(),this.menu.addItem(s=>{s.setTitle(this.t("contextMenus.date.weekdaysLabel","Weekdays")),s.setIcon("calendar");let a=XFe(s);i.forEach(o=>{a.addItem(l=>{let d=o.value&&o.value===this.options.currentValue?this.t("contextMenus.date.selected","\u2713 {label}",{label:o.label}):o.label;l.setTitle(d),l.setIcon("calendar"),l.onClick(async()=>{this.options.onSelect(o.value,null)})})})})),this.menu.addSeparator(),this.menu.addItem(s=>{s.setTitle(this.t("contextMenus.date.pickDateTime","Pick date & time\u2026")),s.setIcon("calendar"),s.onClick(async()=>{this.showDateTimePicker()})}),this.options.currentValue&&this.menu.addItem(s=>{s.setTitle(this.t("contextMenus.date.clearDate","Clear date")),s.setIcon("x"),s.onClick(async()=>{this.options.onSelect(null,null)})})}getDateOptions(){let e=JFe(),t=[];this.options.currentValue&&(t.push({label:this.t("contextMenus.date.increment.plusOneDay","+1 day"),value:hg(this.options.currentValue,1),icon:"plus",category:"increment"}),t.push({label:this.t("contextMenus.date.increment.minusOneDay","-1 day"),value:hg(this.options.currentValue,-1),icon:"minus",category:"increment"}),t.push({label:this.t("contextMenus.date.increment.plusOneWeek","+1 week"),value:hg(this.options.currentValue,7),icon:"plus-circle",category:"increment"}),t.push({label:this.t("contextMenus.date.increment.minusOneWeek","-1 week"),value:hg(this.options.currentValue,-7),icon:"minus-circle",category:"increment"})),t.push({label:this.t("contextMenus.date.basic.today","Today"),value:e.format("YYYY-MM-DD"),icon:"calendar-check",isToday:!0,category:"basic"}),t.push({label:this.t("contextMenus.date.basic.tomorrow","Tomorrow"),value:e.clone().add(1,"day").format("YYYY-MM-DD"),icon:"calendar-plus",category:"basic"}),["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"].forEach((o,l)=>{let c=e.clone().day(l);c.isSameOrBefore(e,"day")&&(c=c.add(1,"week"));let d=this.t(`common.weekdays.${o.toLowerCase()}`,o);t.push({label:d,value:c.format("YYYY-MM-DD"),icon:"calendar",category:"weekday"})});let i=e.clone().day(6);(i.isBefore(e)||i.isSame(e,"day"))&&i.add(1,"week"),t.push({label:this.t("contextMenus.date.basic.thisWeekend","This weekend"),value:i.format("YYYY-MM-DD"),icon:"calendar-days",category:"basic"});let s=e.clone().day(1).add(1,"week");t.push({label:this.t("contextMenus.date.basic.nextWeek","Next week"),value:s.format("YYYY-MM-DD"),icon:"calendar-plus",category:"basic"});let a=e.clone().add(1,"month").startOf("month");return t.push({label:this.t("contextMenus.date.basic.nextMonth","Next month"),value:a.format("YYYY-MM-DD"),icon:"calendar-range",category:"basic"}),t}show(e){this.menu.show(e)}showAtElement(e){this.menu.showAtPosition({x:e.getBoundingClientRect().left,y:e.getBoundingClientRect().bottom+4})}showDateTimePicker(){var n;let e=this.options.app||((n=this.options.plugin)==null?void 0:n.app);if(!e){console.error("DateContextMenu: No app instance available for modal");return}new tT(e,{currentDate:this.options.currentValue||null,currentTime:this.options.currentTime||null,title:this.t("contextMenus.date.modal.title","Set date & time"),onSelect:(i,s)=>{this.options.onSelect(i,s)}}).open()}}});var ure={};et(ure,{PriorityContextMenu:()=>$o});var $o,sT=v(()=>{Wc();$o=class{constructor(e){this.targetDoc=activeDocument;this.menu=new Qn,this.options=e,this.buildMenu()}buildMenu(){let e=this.options.plugin.settings.customPriorities;this.sortedPriorities=[...e].sort((t,n)=>n.weight-t.weight),this.sortedPriorities.forEach(t=>{this.menu.addItem(n=>{let i=t.label;n.setIcon("star"),t.value===this.options.currentValue&&(i=`\u2713 ${t.label}`),n.setTitle(i),n.onClick(async()=>{this.options.onSelect(t.value)})})})}show(e){var t,n;(n=(t=e.target)==null?void 0:t.instanceOf)!=null&&n.call(t,HTMLElement)&&(this.targetDoc=e.target.ownerDocument),this.menu.show(e),window.setTimeout(()=>{this.applyColorStyling()},10)}showAtElement(e){this.targetDoc=e.ownerDocument,this.menu.showAtPosition({x:e.getBoundingClientRect().left,y:e.getBoundingClientRect().bottom+4}),window.setTimeout(()=>{this.applyColorStyling()},10)}applyColorStyling(){let e=this.targetDoc.querySelector(".menu");if(!e)return;let t=e.querySelectorAll(".menu-item");this.sortedPriorities.forEach((n,i)=>{let s=t[i];if(s&&n.color){let a=s.querySelector(".menu-item-icon");a&&(a.style.color=n.color)}})}}});var PD,pre=v(()=>{Wc();PD=class{constructor(e){this.targetDoc=activeDocument;this.menu=new Qn,this.options=e,this.buildMenu()}buildMenu(){this.getStatusOptions().forEach((t,n)=>{this.menu.addItem(i=>{let s=t.label;i.setIcon(t.icon||"circle"),t.value===this.options.currentValue&&(s=`\u2713 ${t.label}`),i.setTitle(s),i.onClick(async()=>{this.options.onSelect(t.value)})})})}getStatusOptions(){let e=this.options.plugin.settings.customStatuses,t=[];return e&&e.length>0&&[...e].sort((i,s)=>i.order-s.order).forEach(i=>{t.push({label:i.label,value:i.value,color:i.color,icon:i.icon})}),t}capitalizeFirst(e){return e.charAt(0).toUpperCase()+e.slice(1)}show(e){var t,n;(n=(t=e.target)==null?void 0:t.instanceOf)!=null&&n.call(t,HTMLElement)&&(this.targetDoc=e.target.ownerDocument),this.menu.show(e),window.setTimeout(()=>{this.applyColorStyling()},10)}showAtElement(e){this.targetDoc=e.ownerDocument,this.menu.showAtPosition({x:e.getBoundingClientRect().left,y:e.getBoundingClientRect().bottom+4}),window.setTimeout(()=>{this.applyColorStyling()},10)}applyColorStyling(){let e=this.getStatusOptions(),t=this.targetDoc.querySelector(".menu");if(!t)return;let n=t.querySelectorAll(".menu-item");e.forEach((i,s)=>{let a=n[s];if(a&&i.color){let o=a.querySelector(".menu-item-icon");o&&(o.style.color=i.color)}})}}});var mre={};et(mre,{RecurrenceContextMenu:()=>jo});var za,jo,AL,gg=v(()=>{za=require("obsidian");Wc();jo=class{constructor(e){this.menu=new Qn,this.options=e,this.translate=e.plugin.i18n.translate.bind(e.plugin.i18n),this.buildMenu()}buildMenu(){this.getRecurrenceOptions().forEach(t=>{if(t.label.startsWith("\u2500")){this.menu.addSeparator();return}this.menu.addItem(n=>{let i=t.label;t.icon&&n.setIcon(t.icon),t.value===this.options.currentValue&&(i=`\u2713 ${t.label}`),n.setTitle(i),n.onClick(async()=>{let s=t.anchor||"scheduled";this.options.onSelect(t.value,s)})})}),this.menu.addSeparator(),this.menu.addItem(t=>{t.setTitle(this.translate("components.recurrenceContextMenu.customRecurrence")),t.setIcon("settings"),t.onClick(async()=>{this.showCustomRecurrenceModal()})}),this.options.currentValue&&this.menu.addItem(t=>{t.setTitle(this.translate("components.recurrenceContextMenu.clearRecurrence")),t.setIcon("x"),t.onClick(async()=>{this.options.onSelect(null)})})}getRecurrenceOptions(){let e=[],t=new Date,n=["SU","MO","TU","WE","TH","FR","SA"],i=["January","February","March","April","May","June","July","August","September","October","November","December"],s=n[t.getDay()],a=t.getDate(),o=t.getMonth()+1,l=i[t.getMonth()],c=t.toLocaleDateString("en-US",{weekday:"long"}),d=this.formatDateForDTSTART(t);if(this.options.currentValue){let u=this.options.currentValue.match(/DTSTART:(\d{8}(?:T\d{6}Z?)?)/);if(u&&u[1].includes("T")){let p=u[1].split("T")[1];d=`${d}T${p}`}}else if(this.options.scheduledDate&&this.options.scheduledDate.includes("T")){let u=this.options.scheduledDate.match(/T(\d{2}):(\d{2})/);if(u){let p=u[1],m=u[2];d=`${d}T${p}${m}00Z`}}return e.push({label:this.translate("components.recurrenceContextMenu.daily"),value:`DTSTART:${d};FREQ=DAILY;INTERVAL=1`,icon:"calendar-days"}),e.push({label:this.translate("components.recurrenceContextMenu.weeklyOn",{day:c}),value:`DTSTART:${d};FREQ=WEEKLY;INTERVAL=1;BYDAY=${s}`,icon:"calendar"}),e.push({label:this.translate("components.recurrenceContextMenu.everyTwoWeeksOn",{day:c}),value:`DTSTART:${d};FREQ=WEEKLY;INTERVAL=2;BYDAY=${s}`,icon:"calendar"}),e.push({label:this.translate("components.recurrenceContextMenu.monthlyOnThe",{ordinal:this.getOrdinal(a)}),value:`DTSTART:${d};FREQ=MONTHLY;INTERVAL=1;BYMONTHDAY=${a}`,icon:"calendar-range"}),e.push({label:this.translate("components.recurrenceContextMenu.everyThreeMonthsOnThe",{ordinal:this.getOrdinal(a)}),value:`DTSTART:${d};FREQ=MONTHLY;INTERVAL=3;BYMONTHDAY=${a}`,icon:"calendar-range"}),e.push({label:this.translate("components.recurrenceContextMenu.yearlyOn",{month:l,ordinal:this.getOrdinal(a)}),value:`DTSTART:${d};FREQ=YEARLY;INTERVAL=1;BYMONTH=${o};BYMONTHDAY=${a}`,icon:"calendar-clock"}),e.push({label:this.translate("components.recurrenceContextMenu.weekdaysOnly"),value:`DTSTART:${d};FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR`,icon:"briefcase"}),e.push({label:"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",value:"",icon:void 0}),e.push({label:this.translate("components.recurrenceContextMenu.dailyAfterCompletion"),value:`DTSTART:${d};FREQ=DAILY;INTERVAL=1`,icon:"calendar-days",anchor:"completion"}),e.push({label:this.translate("components.recurrenceContextMenu.every3DaysAfterCompletion"),value:`DTSTART:${d};FREQ=DAILY;INTERVAL=3`,icon:"calendar-days",anchor:"completion"}),e.push({label:this.translate("components.recurrenceContextMenu.weeklyAfterCompletion"),value:`DTSTART:${d};FREQ=WEEKLY;INTERVAL=1`,icon:"calendar",anchor:"completion"}),e.push({label:this.translate("components.recurrenceContextMenu.monthlyAfterCompletion"),value:`DTSTART:${d};FREQ=MONTHLY;INTERVAL=1`,icon:"calendar-range",anchor:"completion"}),e}formatDateForDTSTART(e){let t=e.getFullYear(),n=String(e.getMonth()+1).padStart(2,"0"),i=String(e.getDate()).padStart(2,"0");return`${t}${n}${i}`}getOrdinal(e){let t=["th","st","nd","rd"],n=e%100;return e+(t[(n-20)%10]||t[n]||t[0])}showCustomRecurrenceModal(){new AL(this.options.app,this.options.currentValue||"",this.options.currentAnchor||"scheduled",this.options.scheduledDate,(e,t)=>{e&&this.options.onSelect(e,t)}).open()}show(e){this.menu.show(e)}},AL=class extends za.Modal{constructor(t,n,i,s,a){super(t);this.frequency="DAILY";this.interval=1;this.byDay=[];this.byMonthDay=[];this.byMonth=[];this.until="";this.endType="never";this.dtstart="";this.dtstartTime="";this.recurrenceAnchor="scheduled";this.currentValue=n,this.recurrenceAnchor=i,this.scheduledDate=s,this.onSubmit=a,this.parseCurrentValue()}parseCurrentValue(){if(!this.currentValue){if(this.dtstart=this.formatTodayForInput(),this.scheduledDate&&this.scheduledDate.includes("T")){let n=this.scheduledDate.match(/T(\d{2}):(\d{2})/);n&&(this.dtstartTime=`${n[1]}:${n[2]}`)}return}let t=this.currentValue.split(";");for(let n of t){let i=n.includes(":")&&n.startsWith("DTSTART")?":":"=",[s,a]=n.split(i);switch(s){case"DTSTART":if(a.length>=8){if(this.dtstart=`${a.slice(0,4)}-${a.slice(4,6)}-${a.slice(6,8)}`,a.length>8&&a.includes("T")){let o=a.slice(9);o.length>=4&&(this.dtstartTime=`${o.slice(0,2)}:${o.slice(2,4)}`)}}else{let o=new Date(a);isNaN(o.getTime())?this.dtstart=this.formatTodayForInput():this.dtstart=a}break;case"FREQ":this.frequency=a;break;case"INTERVAL":this.interval=parseInt(a)||1;break;case"BYDAY":{let o=a.split(","),l=[];for(let c of o){let d=c.match(/^(-?\d+)([A-Z]{2})$/);d?(this.bySetPos=parseInt(d[1]),l.push(d[2])):l.push(c)}this.byDay=l;break}case"BYMONTHDAY":this.byMonthDay=a.split(",").map(o=>parseInt(o));break;case"BYMONTH":this.byMonth=a.split(",").map(o=>parseInt(o));break;case"BYSETPOS":this.bySetPos=parseInt(a);break;case"COUNT":this.count=parseInt(a),this.endType="count";break;case"UNTIL":a.length===8?this.until=`${a.slice(0,4)}-${a.slice(4,6)}-${a.slice(6,8)}`:this.until=a,this.endType="until";break}}}formatTodayForInput(){let t=new Date,n=t.getFullYear(),i=String(t.getMonth()+1).padStart(2,"0"),s=String(t.getDate()).padStart(2,"0");return`${n}-${i}-${s}`}onOpen(){let{contentEl:t}=this;t.empty(),t.createEl("h2",{text:"Custom recurrence"}),new za.Setting(t).setName("Start date").setDesc("The date when the recurrence pattern begins").addText(Z=>{Z.inputEl.type="date",Z.setValue(this.dtstart).onChange(X=>{this.dtstart=X})}),new za.Setting(t).setName("Start time").setDesc("The time when recurring instances should appear (optional)").addText(Z=>{Z.inputEl.type="time",Z.setValue(this.dtstartTime).onChange(X=>{this.dtstartTime=X})}),new za.Setting(t).setName("Recur from").setDesc("When should the next occurrence be calculated from?").addDropdown(Z=>{Z.addOption("scheduled","Scheduled date (fixed schedule)").addOption("completion","Completion date (flexible schedule)").setValue(this.recurrenceAnchor).onChange(X=>{this.recurrenceAnchor=X})}),new za.Setting(t).setName("Frequency").addDropdown(Z=>{Z.addOption("DAILY","Daily").addOption("WEEKLY","Weekly").addOption("MONTHLY","Monthly").addOption("YEARLY","Yearly").setValue(this.frequency).onChange(X=>{this.frequency=X,this.updateFrequencySpecificVisibility()})}),new za.Setting(t).setName("Interval").setDesc("Every X days/weeks/months/years").addText(Z=>{Z.setValue(this.interval.toString()).onChange(X=>{this.interval=parseInt(X)||1})});let n=new za.Setting(t).setName("Days of week").setDesc("Select specific days (for weekly recurrence)"),i=n.controlEl.createDiv("days-container");[{key:"MO",label:"Mon"},{key:"TU",label:"Tue"},{key:"WE",label:"Wed"},{key:"TH",label:"Thu"},{key:"FR",label:"Fri"},{key:"SA",label:"Sat"},{key:"SU",label:"Sun"}].forEach(Z=>{let X=i.createEl("label",{cls:"day-checkbox"});X.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),X.classList.add("tn-static-display-inline-block-60e32dcb"),X.classList.remove("tn-static-margin-right-4px-c6b76b85"),X.classList.add("tn-static-margin-right-8px-539fa9a0");let Me=X.createEl("input",{type:"checkbox"});Me.checked=this.byDay.includes(Z.key),Me.addEventListener("change",()=>{Me.checked?this.byDay.includes(Z.key)||this.byDay.push(Z.key):this.byDay=this.byDay.filter(me=>me!==Z.key)}),X.createSpan({text:` ${Z.label}`})});let a=new za.Setting(t).setName("Monthly recurrence").setDesc("Choose how to repeat monthly"),o=a.controlEl.createDiv("monthly-options"),l=o.createEl("label",{cls:"radio-option"});l.classList.remove("tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),l.classList.add("tn-static-display-block-2a1b75c9"),l.classList.remove("tn-static-font-size-12px-65574819","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-margin-bottom-0-75rem-c05a3c6e","tn-static-margin-bottom-20px-49f14f8f"),l.classList.add("tn-static-margin-bottom-8px-fdf33f23");let c=l.createEl("input",{type:"radio",value:"bydate"});c.name="monthly-type",c.checked=this.byMonthDay.length>0||this.byDay.length===0&&this.bySetPos===void 0,l.createSpan({text:" On day "});let d=l.createEl("select");d.classList.add("tn-static-margin-left-4px-46cec891"),d.classList.remove("tn-static-margin-right-8px-539fa9a0"),d.classList.add("tn-static-margin-right-4px-c6b76b85");for(let Z=1;Z<=31;Z++){let X=d.createEl("option",{value:Z.toString(),text:Z.toString()});(this.byMonthDay.length>0&&this.byMonthDay[0]===Z||this.byMonthDay.length===0&&Z===new Date().getDate())&&(X.selected=!0)}l.createSpan({text:" of each month"});let u=o.createEl("label",{cls:"radio-option"});u.classList.remove("tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),u.classList.add("tn-static-display-block-2a1b75c9"),u.classList.remove("tn-static-font-size-12px-65574819","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-margin-bottom-0-75rem-c05a3c6e","tn-static-margin-bottom-20px-49f14f8f"),u.classList.add("tn-static-margin-bottom-8px-fdf33f23");let p=u.createEl("input",{type:"radio",value:"byday"});p.name="monthly-type",p.checked=this.byDay.length>0&&this.bySetPos!==void 0,u.createSpan({text:" On the "});let m=u.createEl("select");m.classList.add("tn-static-margin-left-4px-46cec891"),m.classList.remove("tn-static-margin-right-8px-539fa9a0"),m.classList.add("tn-static-margin-right-4px-c6b76b85");let f=[{value:"1",text:"first"},{value:"2",text:"second"},{value:"3",text:"third"},{value:"4",text:"fourth"},{value:"-1",text:"last"}];f.forEach(Z=>{let X=m.createEl("option",{value:Z.value,text:Z.text});(this.bySetPos===parseInt(Z.value)||!this.bySetPos&&Z.value==="1")&&(X.selected=!0)});let h=u.createEl("select");h.classList.add("tn-static-margin-left-4px-46cec891"),h.classList.remove("tn-static-margin-right-8px-539fa9a0"),h.classList.add("tn-static-margin-right-4px-c6b76b85");let g=[{value:"MO",text:"Monday"},{value:"TU",text:"Tuesday"},{value:"WE",text:"Wednesday"},{value:"TH",text:"Thursday"},{value:"FR",text:"Friday"},{value:"SA",text:"Saturday"},{value:"SU",text:"Sunday"}],k=["SU","MO","TU","WE","TH","FR","SA"][new Date().getDay()];g.forEach(Z=>{let X=h.createEl("option",{value:Z.value,text:Z.text});(this.byDay.length>0&&this.byDay[0]===Z.value||this.byDay.length===0&&Z.value===k)&&(X.selected=!0)}),u.createSpan({text:" of each month"});let T=new za.Setting(t).setName("Yearly recurrence").setDesc("Choose how to repeat yearly"),w=T.controlEl.createDiv("yearly-options"),S=w.createEl("label",{cls:"radio-option"});S.classList.remove("tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),S.classList.add("tn-static-display-block-2a1b75c9"),S.classList.remove("tn-static-font-size-12px-65574819","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-margin-bottom-0-75rem-c05a3c6e","tn-static-margin-bottom-20px-49f14f8f"),S.classList.add("tn-static-margin-bottom-8px-fdf33f23");let E=S.createEl("input",{type:"radio",value:"bydate"});E.name="yearly-type",E.checked=this.byMonthDay.length>0||this.byDay.length===0&&this.bySetPos===void 0,S.createSpan({text:" On "});let C=S.createEl("select");C.classList.add("tn-static-margin-left-4px-46cec891"),C.classList.remove("tn-static-margin-right-8px-539fa9a0"),C.classList.add("tn-static-margin-right-4px-c6b76b85");let D=["January","February","March","April","May","June","July","August","September","October","November","December"];D.forEach((Z,X)=>{let Me=C.createEl("option",{value:(X+1).toString(),text:Z});(this.byMonth.length>0&&this.byMonth[0]===X+1||this.byMonth.length===0&&X+1===new Date().getMonth()+1)&&(Me.selected=!0)});let A=S.createEl("select");A.classList.add("tn-static-margin-left-4px-46cec891"),A.classList.remove("tn-static-margin-right-8px-539fa9a0"),A.classList.add("tn-static-margin-right-4px-c6b76b85");for(let Z=1;Z<=31;Z++){let X=A.createEl("option",{value:Z.toString(),text:Z.toString()});(this.byMonthDay.length>0&&this.byMonthDay[0]===Z||this.byMonthDay.length===0&&Z===new Date().getDate())&&(X.selected=!0)}S.createSpan({text:" each year"});let N=w.createEl("label",{cls:"radio-option"});N.classList.remove("tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),N.classList.add("tn-static-display-block-2a1b75c9"),N.classList.remove("tn-static-font-size-12px-65574819","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-margin-bottom-0-75rem-c05a3c6e","tn-static-margin-bottom-20px-49f14f8f"),N.classList.add("tn-static-margin-bottom-8px-fdf33f23");let V=N.createEl("input",{type:"radio",value:"byday"});V.name="yearly-type",V.checked=this.byDay.length>0&&this.bySetPos!==void 0,N.createSpan({text:" On the "});let R=N.createEl("select");R.classList.add("tn-static-margin-left-4px-46cec891"),R.classList.remove("tn-static-margin-right-8px-539fa9a0"),R.classList.add("tn-static-margin-right-4px-c6b76b85"),f.forEach(Z=>{let X=R.createEl("option",{value:Z.value,text:Z.text});(this.bySetPos===parseInt(Z.value)||!this.bySetPos&&Z.value==="1")&&(X.selected=!0)});let I=N.createEl("select");I.classList.add("tn-static-margin-left-4px-46cec891"),I.classList.remove("tn-static-margin-right-8px-539fa9a0"),I.classList.add("tn-static-margin-right-4px-c6b76b85"),g.forEach(Z=>{let X=I.createEl("option",{value:Z.value,text:Z.text});(this.byDay.length>0&&this.byDay[0]===Z.value||this.byDay.length===0&&Z.value===k)&&(X.selected=!0)});let O=N.createEl("select");O.classList.add("tn-static-margin-left-4px-46cec891"),O.classList.remove("tn-static-margin-right-8px-539fa9a0"),O.classList.add("tn-static-margin-right-4px-c6b76b85"),D.forEach((Z,X)=>{let Me=O.createEl("option",{value:(X+1).toString(),text:Z});(this.byMonth.length>0&&this.byMonth[0]===X+1||this.byMonth.length===0&&X+1===new Date().getMonth()+1)&&(Me.selected=!0)}),N.createSpan({text:" each year"}),new za.Setting(t).setName("End condition").setDesc("Choose when the recurrence should end");let z=t.createDiv("end-condition-container"),B=z.createEl("label",{cls:"radio-option"});B.classList.remove("tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),B.classList.add("tn-static-display-block-2a1b75c9"),B.classList.remove("tn-static-font-size-12px-65574819","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-margin-bottom-0-75rem-c05a3c6e","tn-static-margin-bottom-20px-49f14f8f"),B.classList.add("tn-static-margin-bottom-8px-fdf33f23");let W=B.createEl("input",{type:"radio",value:"never"});W.name="end-type",W.checked=this.endType==="never",B.createSpan({text:" Never ends"});let Y=z.createEl("label",{cls:"radio-option"});Y.classList.remove("tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),Y.classList.add("tn-static-display-block-2a1b75c9"),Y.classList.remove("tn-static-font-size-12px-65574819","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-margin-bottom-0-75rem-c05a3c6e","tn-static-margin-bottom-20px-49f14f8f"),Y.classList.add("tn-static-margin-bottom-8px-fdf33f23");let ee=Y.createEl("input",{type:"radio",value:"count"});ee.name="end-type",ee.checked=this.endType==="count",Y.createSpan({text:" End after "});let ae=Y.createEl("input",{type:"number",placeholder:"10"});ae.classList.remove("tn-static-width-100-0466783d","tn-static-width-12px-fbf353fb","tn-static-width-16px-7375d50b","tn-static-width-1px-aa77e27e","tn-static-width-200px-2acaf3b5","tn-static-width-80px-8573bae3"),ae.classList.add("tn-static-width-60px-bd09c419"),ae.classList.add("tn-static-margin-left-4px-46cec891"),ae.classList.remove("tn-static-margin-right-8px-539fa9a0"),ae.classList.add("tn-static-margin-right-4px-c6b76b85"),ae.value=this.count?this.count.toString():"",Y.createSpan({text:" occurrences"});let ce=z.createEl("label",{cls:"radio-option"});ce.classList.remove("tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),ce.classList.add("tn-static-display-block-2a1b75c9"),ce.classList.remove("tn-static-font-size-12px-65574819","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-margin-bottom-0-75rem-c05a3c6e","tn-static-margin-bottom-20px-49f14f8f"),ce.classList.add("tn-static-margin-bottom-8px-fdf33f23");let J=ce.createEl("input",{type:"radio",value:"until"});J.name="end-type",J.checked=this.endType==="until",ce.createSpan({text:" End on "});let de=ce.createEl("input",{type:"date"});de.classList.add("tn-static-margin-left-4px-46cec891"),de.value=this.until?this.until.replace(/(\d{4})(\d{2})(\d{2})/,"$1-$2-$3"):"",W.addEventListener("change",()=>{W.checked&&(this.endType="never")}),ee.addEventListener("change",()=>{ee.checked&&(this.endType="count")}),J.addEventListener("change",()=>{J.checked&&(this.endType="until")}),ae.addEventListener("input",()=>{this.count=parseInt(ae.value)||void 0,ae.value&&(ee.checked=!0,this.endType="count")}),de.addEventListener("input",()=>{this.until=de.value?de.value.replace(/-/g,""):"",de.value&&(J.checked=!0,this.endType="until")}),this.updateFrequencySpecificVisibility=()=>{n.settingEl.style.display=this.frequency==="WEEKLY"?"flex":"none",a.settingEl.style.display=this.frequency==="MONTHLY"?"flex":"none",T.settingEl.style.display=this.frequency==="YEARLY"?"flex":"none"},this.updateFrequencySpecificVisibility();let vt=t.createDiv("button-container");vt.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),vt.classList.add("tn-static-display-flex-75816cae"),vt.classList.remove("tn-static-justify-content-center-03c4bb6f","tn-static-justify-content-space-between-a562f4fd"),vt.classList.add("tn-static-justify-content-flex-end-455f8cca"),vt.classList.remove("tn-static-display-flex-8bb39979","tn-static-gap-0-5rem-ce2fca4d","tn-static-gap-10px-f3d7ce77","tn-static-gap-12px-ed7b3d87","tn-static-gap-6px-f0abc1db"),vt.classList.add("tn-static-gap-8px-33fcd4c3"),vt.classList.remove("tn-static-font-size-12px-b0cc7e05","tn-static-margin-top-0-5rem-3dc98b5e","tn-static-margin-top-0-d462248a","tn-static-margin-top-12px-91e0f558","tn-static-margin-top-1rem-2239d6d5","tn-static-margin-top-20px-a26bda7d","tn-static-margin-top-30px-2fbbbcd4","tn-static-margin-top-4px-96ad6099","tn-static-margin-top-8px-8a77e5a3","tn-static-margin-top-8px-f4f01e68"),vt.classList.add("tn-static-margin-top-16px-1b0f4999"),vt.createEl("button",{text:"Cancel"}).addEventListener("click",()=>{this.close()}),vt.createEl("button",{text:"Save",cls:"mod-cta"}).addEventListener("click",()=>{let Z=c.checked?"bydate":"byday",X=E.checked?"bydate":"byday";this.frequency==="MONTHLY"?Z==="bydate"?(this.byMonthDay=[parseInt(d.value)],this.byDay=[],this.bySetPos=void 0):(this.byMonthDay=[],this.byDay=[h.value],this.bySetPos=parseInt(m.value)):this.frequency==="YEARLY"&&(X==="bydate"?(this.byMonth=[parseInt(C.value)],this.byMonthDay=[parseInt(A.value)],this.byDay=[],this.bySetPos=void 0):(this.byMonth=[parseInt(O.value)],this.byMonthDay=[],this.byDay=[I.value],this.bySetPos=parseInt(R.value)));let Me=this.buildRRule(Z,X);this.onSubmit(Me,this.recurrenceAnchor),this.close()})}updateFrequencySpecificVisibility(){}buildRRule(t,n){let i=[];if(this.dtstart){let s=this.dtstart.replace(/-/g,"");if(this.dtstartTime){let a=this.dtstartTime.replace(":","")+"00";s=`${s}T${a}`}i.push(`DTSTART:${s}`)}switch(i.push(`FREQ=${this.frequency}`),this.interval>1&&i.push(`INTERVAL=${this.interval}`),this.frequency){case"WEEKLY":this.byDay.length>0&&i.push(`BYDAY=${this.byDay.join(",")}`);break;case"MONTHLY":if(t==="bydate"){let s=this.byMonthDay.length>0?this.byMonthDay[0]:new Date().getDate();i.push(`BYMONTHDAY=${s}`)}else if(t==="byday"&&this.byDay.length>0){let s=this.bySetPos||1;i.push(`BYDAY=${s}${this.byDay[0]}`)}break;case"YEARLY":if(n==="bydate"){let s=this.byMonth.length>0?this.byMonth[0]:new Date().getMonth()+1,a=this.byMonthDay.length>0?this.byMonthDay[0]:new Date().getDate();i.push(`BYMONTH=${s}`),i.push(`BYMONTHDAY=${a}`)}else if(n==="byday"){let s=this.byMonth.length>0?this.byMonth[0]:new Date().getMonth()+1;if(i.push(`BYMONTH=${s}`),this.byDay.length>0){let a=this.bySetPos||1;i.push(`BYDAY=${a}${this.byDay[0]}`)}}break}switch(this.endType){case"count":this.count&&this.count>0&&i.push(`COUNT=${this.count}`);break;case"until":if(this.until){let s=this.until.replace(/-/g,"");i.push(`UNTIL=${s}`)}break}return i.join(";")}onClose(){let{contentEl:t}=this;t.empty()}}});var fre={};et(fre,{ReminderModal:()=>zo});var Wr,zo,yg=v(()=>{Wr=require("obsidian");Qe();zo=class extends Wr.Modal{constructor(t,n,i,s){super(t);this.selectedType="relative";this.relativeAnchor="due";this.relativeOffset=15;this.relativeUnit="minutes";this.relativeDirection="before";this.absoluteDate="";this.absoluteTime="";this.description="";this.plugin=n,this.task=i,this.reminders=i.reminders?[...i.reminders]:[],this.originalReminders=i.reminders?[...i.reminders]:[],this.onSave=s}onOpen(){let{contentEl:t}=this;t.empty(),t.addClass("tasknotes-plugin"),t.addClass("tasknotes-reminder-modal"),t.createDiv({cls:"reminder-modal__loading"}).createEl("div",{text:"Loading reminders..."}),this.initializeWithFreshData().catch(i=>{console.error("Failed to initialize reminder modal:",i),t.empty(),t.addClass("tasknotes-plugin"),t.addClass("tasknotes-reminder-modal"),t.createDiv({cls:"reminder-modal__error",text:"Failed to load task data. Please try again."})})}async initializeWithFreshData(){let{contentEl:t}=this;if(this.task.path&&this.task.path.trim()!==""){let a=await this.plugin.cacheManager.getTaskInfo(this.task.path);a?(this.task=a,this.reminders=a.reminders?[...a.reminders]:[],this.originalReminders=a.reminders?[...a.reminders]:[]):(this.reminders=this.task.reminders?[...this.task.reminders]:[],this.originalReminders=this.task.reminders?[...this.task.reminders]:[])}else this.reminders=this.task.reminders?[...this.task.reminders]:[],this.originalReminders=this.task.reminders?[...this.task.reminders]:[];t.empty(),t.addClass("tasknotes-plugin"),t.addClass("tasknotes-reminder-modal");let n=t.createDiv({cls:"reminder-modal__header"});n.createEl("h2",{text:"Task reminders"}),n.createDiv({cls:"reminder-modal__task-title",text:this.task.title});let i=this.getTaskContextInfo();if(i){let a=n.createDiv({cls:"reminder-modal__task-dates"});a.textContent=i}let s=t.createDiv({cls:"reminder-modal__content"});this.renderExistingReminders(s),this.renderAddReminderForm(s),this.renderActionButtons(t),this.setupKeyboardHandlers(),this.updateSaveButtonState()}renderActionButtons(t){let n=t.createDiv({cls:"reminder-modal__actions"});this.saveBtn=n.createEl("button",{text:"Save changes",cls:"mod-cta reminder-modal__save-btn"}),this.saveBtn.disabled=!0,this.saveBtn.onclick=async()=>{await this.save()};let i=n.createEl("button",{text:"Cancel",cls:"reminder-modal__cancel-btn"});i.onclick=()=>{this.cancel()}}getTaskContextInfo(){let t=[];return this.task.due&&t.push(`Due: ${Gc(this.task.due)}`),this.task.scheduled&&t.push(`Scheduled: ${Gc(this.task.scheduled)}`),t.length>0?t.join(" \u2022 "):null}setupKeyboardHandlers(){let t=n=>{n.key==="Enter"&&(n.ctrlKey||n.metaKey)&&!this.saveBtn.disabled?(n.preventDefault(),this.save()):n.key==="Escape"&&(n.preventDefault(),this.cancel())};this.contentEl.addEventListener("keydown",t),this.onClose=()=>{this.contentEl.removeEventListener("keydown",t);let{contentEl:n}=this;n.empty()}}updateSaveButtonState(){if(!this.saveBtn)return;let t=this.remindersHaveChanged();this.saveBtn.disabled=!t,this.saveBtn.textContent=t?"Save Changes":"No Changes"}renderExistingReminders(t){let n=t.createDiv({cls:"reminder-modal__section"}),i=n.createDiv({cls:"reminder-modal__section-header"});if(i.createEl("h3",{text:"Current reminders"}),this.reminders.length>0&&i.createSpan({cls:"reminder-modal__reminder-count",text:`(${this.reminders.length})`}),this.reminders.length===0){let a=n.createDiv({cls:"reminder-modal__empty-state"});(0,Wr.setIcon)(a.createDiv({cls:"reminder-modal__empty-icon"}),"bell-off"),a.createEl("div",{cls:"reminder-modal__empty-text",text:"No reminders set"});return}let s=n.createDiv({cls:"reminder-modal__reminder-list"});this.reminders.forEach((a,o)=>{let l=s.createDiv({cls:"reminder-modal__reminder-card"}),c=l.createDiv({cls:"reminder-modal__reminder-icon"}),d=a.type==="absolute"?"calendar-clock":"timer";(0,Wr.setIcon)(c,d);let u=l.createDiv({cls:"reminder-modal__reminder-content"}),p=u.createDiv({cls:"reminder-modal__reminder-primary"});if(p.textContent=this.formatReminderDisplayText(a),a.description){let h=u.createDiv({cls:"reminder-modal__reminder-description"});h.textContent=`"${a.description}"`}let f=l.createDiv({cls:"reminder-modal__reminder-actions"}).createEl("button",{cls:"reminder-modal__action-btn reminder-modal__remove-btn"});(0,Wr.setIcon)(f,"trash-2"),(0,Wr.setTooltip)(f,"Delete this reminder"),f.onclick=async h=>{h.stopPropagation(),await this.removeReminder(o)}})}formatReminderDisplayText(t){if(t.type==="absolute"){if(t.absoluteTime)try{let n=new Date(t.absoluteTime);return`${n.toLocaleDateString()} at ${n.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}`}catch(n){return`At ${t.absoluteTime}`}return"Absolute reminder"}else{let n=t.relatedTo==="due"?"due date":"scheduled date";return`${this.formatOffset(t.offset||"")} ${n}`}}renderQuickActions(t){if(!(this.task.due||this.task.scheduled))return;let s=t.createDiv({cls:"reminder-modal__quick-actions"}).createDiv({cls:"reminder-modal__quick-buttons"});[{label:"5m",fullLabel:"5 minutes before",offset:"-PT5M",icon:"clock"},{label:"15m",fullLabel:"15 minutes before",offset:"-PT15M",icon:"clock"},{label:"1h",fullLabel:"1 hour before",offset:"-PT1H",icon:"clock"},{label:"1d",fullLabel:"1 day before",offset:"-P1D",icon:"calendar"}].forEach(({label:o,fullLabel:l,offset:c,icon:d})=>{let u=this.task.due?"due":"scheduled",p=s.createEl("button",{cls:"reminder-modal__quick-btn"}),m=p.createSpan({cls:"reminder-modal__quick-btn-icon"});(0,Wr.setIcon)(m,d),p.createSpan({cls:"reminder-modal__quick-btn-label",text:o}),(0,Wr.setTooltip)(p,`Add reminder ${l} ${u} date`),p.onclick=async()=>{await this.addQuickReminder(u,c,l)}})}async addQuickReminder(t,n,i){let s={id:`rem_${Date.now()}`,type:"relative",relatedTo:t,offset:n,description:i};await this.addReminder(s),new Wr.Notice(`Added reminder: ${i}`)}renderAddReminderForm(t){let n=t.createDiv({cls:"reminder-modal__section"});n.createDiv({cls:"reminder-modal__section-header"}).createEl("h3",{text:"Add new reminder"}),this.renderQuickActions(n);let s=n.createDiv({cls:"reminder-modal__form"}),a=s.createDiv({cls:"reminder-modal__type-selector"}),o=a.createEl("button",{cls:"reminder-modal__type-tab reminder-modal__type-tab--active",text:"Relative",attr:{"data-type":"relative"}}),l=a.createEl("button",{cls:"reminder-modal__type-tab",text:"Absolute",attr:{"data-type":"absolute"}});o.classList.toggle("reminder-modal__type-tab--active",this.selectedType==="relative"),l.classList.toggle("reminder-modal__type-tab--active",this.selectedType==="absolute");let c=f=>{this.selectedType=f,o.classList.toggle("reminder-modal__type-tab--active",f==="relative"),l.classList.toggle("reminder-modal__type-tab--active",f==="absolute"),this.updateFormVisibility(s,this.selectedType)};o.onclick=()=>c("relative"),l.onclick=()=>c("absolute");let d=s.createDiv({cls:"relative-fields"});new Wr.Setting(d).setName("Time").addText(f=>{f.setPlaceholder("15").setValue(String(this.relativeOffset)).onChange(h=>{this.relativeOffset=parseInt(h)||0})}).addDropdown(f=>{f.addOption("minutes","Minutes").addOption("hours","Hours").addOption("days","Days").setValue(this.relativeUnit).onChange(h=>{this.relativeUnit=h})}),new Wr.Setting(d).setName("Direction").addDropdown(f=>{f.addOption("before","Before").addOption("after","After").setValue(this.relativeDirection).onChange(h=>{this.relativeDirection=h})}),new Wr.Setting(d).setName("Relative to").addDropdown(f=>{let h={};this.task.due&&(h.due=`Due date (${Gc(this.task.due)})`),this.task.scheduled&&(h.scheduled=`Scheduled date (${Gc(this.task.scheduled)})`),Object.keys(h).length===0?(h.none="No dates available",f.setDisabled(!0)):(Object.entries(h).forEach(([g,y])=>{f.addOption(g,y)}),f.setValue(this.relativeAnchor)),f.onChange(g=>{this.relativeAnchor=g})});let u=s.createDiv({cls:"absolute-fields"});new Wr.Setting(u).setName("Date").addText(f=>{f.setPlaceholder("Yyyy-mm-dd").setValue(this.absoluteDate).onChange(h=>{this.absoluteDate=h}),f.inputEl.type="date"}),new Wr.Setting(u).setName("Time").addText(f=>{f.setPlaceholder("Hh:mm").setValue(this.absoluteTime).onChange(h=>{this.absoluteTime=h}),f.inputEl.type="time"}),new Wr.Setting(s).setName("Description (optional)").addText(f=>{f.setPlaceholder("Custom reminder message").setValue(this.description).onChange(h=>{this.description=h})});let p=s.createEl("button",{cls:"reminder-add-btn"}),m=p.createSpan({cls:"reminder-add-btn-icon"});(0,Wr.setIcon)(m,"plus"),p.createSpan({cls:"reminder-add-btn-text",text:"Add Reminder"}),p.onclick=async()=>{p.disabled=!0,p.classList.add("reminder-add-btn--loading");try{let f=this.createReminder(this.selectedType,this.relativeAnchor,this.relativeOffset,this.relativeUnit,this.relativeDirection,this.absoluteDate,this.absoluteTime,this.description);f&&(await this.addReminder(f),this.selectedType==="relative"?(this.relativeOffset=15,this.relativeUnit="minutes",this.description=""):(this.absoluteDate="",this.absoluteTime="",this.description=""),this.resetFormInputs(s))}catch(f){console.error("Error adding reminder:",f),new Wr.Notice("Failed to add reminder. Please check your inputs.")}finally{p.disabled=!1,p.classList.remove("reminder-add-btn--loading")}},this.updateFormVisibility(s,this.selectedType)}updateFormVisibility(t,n){let i=t.querySelector(".relative-fields"),s=t.querySelector(".absolute-fields");n==="relative"?(i.classList.remove("tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),i.classList.add("tn-static-display-block-2a1b75c9"),s.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-min-height-800px-997b4c8c"),s.classList.add("tn-static-display-none-6b99de8b")):(i.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-min-height-800px-997b4c8c"),i.classList.add("tn-static-display-none-6b99de8b"),s.classList.remove("tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),s.classList.add("tn-static-display-block-2a1b75c9"))}createReminder(t,n,i,s,a,o,l,c){let d=`rem_${Date.now()}`;if(t==="relative"){if(!(n==="due"?this.task.due:this.task.scheduled))return new Wr.Notice(`Cannot create reminder: Task has no ${n} date`),null;let p="PT";return s==="days"?p=`P${i}D`:s==="hours"?p=`PT${i}H`:p=`PT${i}M`,a==="before"&&(p="-"+p),{id:d,type:"relative",relatedTo:n,offset:p,description:c||void 0}}else{if(!o||!l)return new Wr.Notice("Please specify both date and time for absolute reminder"),null;let u=`${o}T${l}:00`;return{id:d,type:"absolute",absoluteTime:u,description:c||void 0}}}formatReminderTiming(t){if(t.type==="absolute")return"Absolute reminder";{let n=t.relatedTo==="due"?"due date":"scheduled date";return`${this.formatOffset(t.offset||"")} ${n}`}}formatReminderDetails(t){if(t.type==="absolute")return`At ${Gc(t.absoluteTime||"")}`;{let n=t.relatedTo==="due"?this.task.due:this.task.scheduled;return n?`When ${t.relatedTo} date is ${Gc(n)}`:`Relative to ${t.relatedTo} date (not set)`}}formatReminderDescription(t){if(t.description)return t.description;if(t.type==="absolute")return`At ${Gc(t.absoluteTime||"")}`;{let n=t.relatedTo==="due"?"due date":"scheduled date";return`${this.formatOffset(t.offset||"")} ${n}`}}formatOffset(t){let n=t.startsWith("-"),s=(n?t.substring(1):t).match(/P(?:(\d+)D)?(?:T(?:(\d+)H)?(?:(\d+)M)?)?/);if(!s)return t;let[,a,o,l]=s,c=[];if(a&&c.push(`${a} day${a!=="1"?"s":""}`),o&&c.push(`${o} hour${o!=="1"?"s":""}`),l&&c.push(`${l} minute${l!=="1"?"s":""}`),c.length===0)return"At time of";let d=c.join(" ");return n?`${d} before`:`${d} after`}async addReminder(t){this.reminders.push(t),this.refreshRemindersListOnly(),this.task.path&&this.plugin.emitter.trigger("reminder-preview-changed",{taskPath:this.task.path,currentReminders:[...this.reminders],action:"added",reminder:t})}async removeReminder(t){let n=this.reminders[t];this.reminders.splice(t,1),this.refreshRemindersListOnly(),this.task.path&&n&&this.plugin.emitter.trigger("reminder-preview-changed",{taskPath:this.task.path,currentReminders:[...this.reminders],action:"removed",reminder:n})}async refresh(){await this.initializeWithFreshData()}refreshRemindersListOnly(){let t=this.contentEl.querySelector(".reminder-modal__content");if(t){let n=t.querySelector(".reminder-modal__section");n&&n.remove();let i=activeDocument.createElement("div");this.renderExistingReminders(i);let s=i.firstChild;s&&t.insertBefore(s,t.firstChild)}this.updateSaveButtonState()}resetFormInputs(t){let n=t.querySelector('input[placeholder="15"]');n&&(n.value=String(this.relativeOffset));let i=t.querySelector('input[placeholder="Custom reminder message"]');i&&(i.value=this.description);let s=t.querySelector('input[type="date"]');s&&(s.value=this.absoluteDate);let a=t.querySelector('input[type="time"]');a&&(a.value=this.absoluteTime);let o=t.querySelector('.setting-item:has(input[placeholder="15"]) select');o&&(o.value=this.relativeUnit);let l=t.querySelector(".setting-item:nth-child(2) select");l&&(l.value=this.relativeDirection);let c=t.querySelector(".setting-item:nth-child(3) select");c&&(c.value=this.relativeAnchor)}async save(){var t;this.saveBtn.disabled=!0,this.saveBtn.textContent="Saving...";try{this.task.path&&this.task.path.trim()!==""&&((t=this.plugin.notificationService)==null||t.clearProcessedRemindersForTask(this.task.path));let n=this.remindersHaveChanged();this.onSave(this.reminders),n&&this.task.path&&this.plugin.emitter.trigger("reminder-changed",{taskPath:this.task.path,oldReminders:this.originalReminders,newReminders:[...this.reminders]}),this.close()}catch(n){console.error("Failed to save reminders:",n),new Wr.Notice("Failed to save reminders. Please try again."),this.saveBtn.disabled=!1,this.saveBtn.textContent="Save changes"}}cancel(){this.remindersHaveChanged()&&this.task.path&&this.plugin.emitter.trigger("reminder-preview-changed",{taskPath:this.task.path,currentReminders:[...this.originalReminders],action:"cancelled"}),this.close()}remindersHaveChanged(){return this.reminders.length!==this.originalReminders.length?!0:!this.reminders.every((t,n)=>{let i=this.originalReminders[n];return i?t.id===i.id&&t.type===i.type&&t.relatedTo===i.relatedTo&&t.offset===i.offset&&t.absoluteTime===i.absoluteTime&&t.description===i.description:!1})}onClose(){let{contentEl:t}=this;t.empty()}}});var vg,IL=v(()=>{yg();Wc();vg=class{constructor(e,t,n,i){this.plugin=e,this.task=t,this.triggerElement=n,this.onUpdate=i}show(e){let t=new Qn;this.addQuickRemindersSection(t,"due",this.plugin.i18n.translate("components.reminderContextMenu.remindBeforeDue")),this.addQuickRemindersSection(t,"scheduled",this.plugin.i18n.translate("components.reminderContextMenu.remindBeforeScheduled")),t.addSeparator(),t.addItem(n=>{n.setTitle(this.plugin.i18n.translate("components.reminderContextMenu.manageAllReminders")).setIcon("settings").onClick(()=>{this.openReminderModal()})}),this.task.reminders&&this.task.reminders.length>0&&t.addItem(n=>{n.setTitle(this.plugin.i18n.translate("components.reminderContextMenu.clearAllReminders")).setIcon("trash").onClick(async()=>{await this.clearAllReminders()})}),t.show(e)}addQuickRemindersSection(e,t,n){if(!(t==="due"?this.task.due:this.task.scheduled)){e.addItem(s=>{s.setTitle(n).setIcon("bell").setDisabled(!0)});return}e.addItem(s=>{s.setTitle(n),s.setIcon("bell"),this.addQuickReminderSubmenu(s.setSubmenu(),t)})}addQuickReminderSubmenu(e,t){[{label:this.plugin.i18n.translate("components.reminderContextMenu.quickReminders.atTime"),offset:"PT0M"},{label:this.plugin.i18n.translate("components.reminderContextMenu.quickReminders.fiveMinutesBefore"),offset:"-PT5M"},{label:this.plugin.i18n.translate("components.reminderContextMenu.quickReminders.fifteenMinutesBefore"),offset:"-PT15M"},{label:this.plugin.i18n.translate("components.reminderContextMenu.quickReminders.oneHourBefore"),offset:"-PT1H"},{label:this.plugin.i18n.translate("components.reminderContextMenu.quickReminders.oneDayBefore"),offset:"-P1D"}].forEach(i=>{e.addItem(s=>{s.setTitle(i.label).onClick(async()=>{await this.addQuickReminder(t,i.offset,i.label)})})})}async addQuickReminder(e,t,n){let i={id:`rem_${Date.now()}`,type:"relative",relatedTo:e,offset:t,description:n},s=[...this.task.reminders||[],i];await this.saveReminders(s)}async clearAllReminders(){await this.saveReminders([])}async saveReminders(e){let t;if(this.task.path&&this.task.path.trim()!==""){let n=await this.plugin.cacheManager.getTaskInfo(this.task.path);n?(t={...n,reminders:e},await this.plugin.taskService.updateProperty(t,"reminders",e)):t={...this.task,reminders:e}}else t={...this.task,reminders:e};this.onUpdate(t)}openReminderModal(){new zo(this.plugin.app,this.plugin,this.task,t=>{this.saveReminders(t)}).open()}}});function ie(r){var t;if(r==null)return"";if(typeof r=="string")return r;if(typeof r=="number"||typeof r=="bigint")return r.toString();if(typeof r=="boolean")return r?"true":"false";if(typeof r=="symbol")return(t=r.description)!=null?t:"";if(r instanceof Date)return r.toISOString();if(Array.isArray(r))return r.map(n=>ie(n)).filter(n=>n.length>0).join(", ");let e=r.toString;if(typeof e=="function"){let n=e.call(r);if(typeof n=="string"&&n!=="[object Object]")return n}try{let n=JSON.stringify(r);return typeof n=="string"?n:""}catch(n){return""}}function _D(r){return Array.isArray(r)?r.map(e=>ie(e)):[ie(r)]}var jr=v(()=>{});function sa(r){if(r==null)return[];let e=[],t="",n=0,i=null;for(let a=0;a<r.length;a++){let o=r[a],l=r[a+1];if(!i&&o==="["&&l==="["){n++,t+="[[",a++;continue}if(!i&&o==="]"&&l==="]"&&n>0){n--,t+="]]",a++;continue}if(!n&&(o==='"'||o==="'")){i===null?i=o:i===o&&(i=null),t+=o;continue}if(o===","&&n===0&&i===null){let c=t.trim();c&&e.push(c),t="";continue}t+=o}let s=t.trim();return s&&e.push(s),e}var gu=v(()=>{});function dn(r){if(!r)return r;let e=r.trim();if(e.startsWith("<")&&e.endsWith(">")){let n=e.slice(1,-1).trim(),i=/\.md$/i.test(n);try{n=decodeURIComponent(n)}catch(a){console.debug("Failed to decode URI component:",n,a)}let s=(0,aT.parseLinktext)(n);return i?n:s.path||n}if(e.startsWith("[[")&&e.endsWith("]]")){let n=e.slice(2,-2).trim(),i=n.indexOf("|"),s=i!==-1?n.substring(0,i):n;return(0,aT.parseLinktext)(s).path}let t=e.match(/^\[([^\]]*)\]\(([^)]+)\)$/);if(t){let n=t[2].trim();n.startsWith("<")&&n.endsWith(">")&&(n=n.slice(1,-1).trim());let i=/\.md$/i.test(n);try{n=decodeURIComponent(n)}catch(a){console.debug("Failed to decode URI component:",n,a)}let s=(0,aT.parseLinktext)(n);return i?n:s.path}return e}function bg(r,e){if(!r)return"";let t=r.trim(),n=t.match(/^\[([^\]]+)\]\(([^)]+)\)$/);if(n){let i=n[1].trim(),s=n[2].trim();if(i)return i;let a=dn(s),o=e==null?void 0:e.metadataCache.getFirstLinkpathDest(a,"");if(o)return o.basename;let l=a.replace(/\.md$/i,""),c=l.split("/");return c[c.length-1]||l}if(t.startsWith("[[")&&t.endsWith("]]")){let i=t.slice(2,-2).trim(),s=i.indexOf("|");if(s!==-1){let u=i.slice(s+1).trim();if(u)return u}let o=(0,aT.parseLinktext)(i.split("|")[0]||i).path||dn(t),l=e==null?void 0:e.metadataCache.getFirstLinkpathDest(o,"");if(l)return l.basename;let c=o.replace(/\.md$/i,""),d=c.split("/");return d[d.length-1]||c}return t}function xl(r,e,t,n,i,s){if(s)return r.fileManager.generateMarkdownLink(e,t,n||"",i||"");let o=`[[${r.metadataCache.fileToLinktext(e,t,!0)}`;return n&&(o+=n),i&&(o+=`|${i}`),o+="]]",o}function NL(r,e,t,n,i){return xl(r,e,t,"",n,i)}var aT,Bo=v(()=>{aT=require("obsidian")});function t$e(r){return e$e.includes(r)}function RL(r){return typeof r=="string"?r:r.uid}function El(r){if(typeof r=="string"){let e=r.trim();return e?{uid:dn(e),reltype:Ds}:null}if(typeof r=="object"&&r!==null){let e=r,t=typeof e.uid=="string"?e.uid.trim():"";if(!t)return null;let n=dn(t),i=typeof e.reltype=="string"?e.reltype.trim().toUpperCase():"",s=t$e(i)?i:Ds,a=typeof e.gap=="string"&&e.gap.trim().length>0?e.gap.trim():void 0;return a?{uid:n,reltype:s,gap:a}:{uid:n,reltype:s}}return null}function yu(r){if(r==null)return;let e=Array.isArray(r)?r:[r],t=[];for(let n of e){let i=El(n);i&&t.push(i)}return t.length>0?t:void 0}function hre(r){return r.map(e=>{let n={uid:e.uid.startsWith("[[")?e.uid:`[[${e.uid}]]`,reltype:e.reltype};return e.gap&&e.gap.trim().length>0&&(n.gap=e.gap),n})}function Em(r,e,t){let n=RL(t);if(!n)return null;let i=dn(n);if(!i)return null;let s=new Set;s.add(i),i.endsWith(".md")&&s.add(i.replace(/\.md$/i,""));let a=(0,Tg.parseLinktext)(i);a.path&&a.path!==i&&s.add(a.path);for(let o of s){let l=r.metadataCache.getFirstLinkpathDest(o,e);if(l instanceof Tg.TFile)return{path:l.path,file:l};let c=r.vault.getAbstractFileByPath(o);if(c instanceof Tg.TFile)return{path:c.path,file:c}}return null}function Ba(r,e,t,n){let i=r.vault.getAbstractFileByPath(t);return i instanceof Tg.TFile?xl(r,i,e,"","",n):`[[${(t.split("/").pop()||t).replace(/\.md$/i,"")}]]`}var Tg,Ds,e$e,Zc=v(()=>{Tg=require("obsidian");gu();Bo();Ds="FINISHTOSTART",e$e=["FINISHTOSTART","FINISHTOFINISH","STARTTOSTART","STARTTOFINISH"]});function gre(r,e){return r[e]}function r$e(r){if(typeof r=="string")return r;if(Array.isArray(r))return r.map(e=>String(e)).join(", ");if(r!=null){if(typeof r=="object")return"";if(typeof r=="number"||typeof r=="boolean")return String(r)}}function vu(r){if(r!=null){if(typeof r=="string")return r;if(typeof r=="number"||typeof r=="boolean")return String(r)}}function OL(r){return Array.isArray(r)?r.map(String):[String(r)]}function n$e(r){if(typeof r=="number")return r;if(typeof r=="string"&&r.trim()!==""){let e=Number(r);return Number.isNaN(e)?void 0:e}}function i$e(r){return Array.isArray(r)?r:[]}function s$e(r){if(Array.isArray(r)){let e=r.filter(t=>t!=null);return e.length>0?e:void 0}return r!=null?[r]:void 0}function yre(r,e,t,n,i=[]){var a;if(!e)return{};let s={path:t};if(e[r.title]!==void 0){let o=r$e(e[r.title]);o!==void 0&&(s.title=o)}else if(n){let o=(a=t.split("/").pop())==null?void 0:a.replace(".md","");o&&(s.title=o)}if(e[r.status]!==void 0){let o=e[r.status];s.status=typeof o=="boolean"?o?"true":"false":String(o)}if(e[r.priority]!==void 0&&(s.priority=vu(e[r.priority])),e[r.due]!==void 0&&(s.due=vu(e[r.due])),e[r.scheduled]!==void 0&&(s.scheduled=vu(e[r.scheduled])),e[r.contexts]!==void 0&&(s.contexts=OL(e[r.contexts])),e[r.projects]!==void 0&&(s.projects=OL(e[r.projects])),e[r.timeEstimate]!==void 0&&(s.timeEstimate=n$e(e[r.timeEstimate])),e[r.completedDate]!==void 0&&(s.completedDate=vu(e[r.completedDate])),e[r.recurrence]!==void 0&&(s.recurrence=vu(e[r.recurrence])),e[r.recurrenceAnchor]!==void 0){let o=e[r.recurrenceAnchor];o==="scheduled"||o==="completion"?s.recurrence_anchor=o:(console.warn(`Invalid recurrence_anchor value: ${ie(o)}, defaulting to 'scheduled'`),s.recurrence_anchor="scheduled")}if(e[r.dateCreated]!==void 0&&(s.dateCreated=vu(e[r.dateCreated])),e[r.dateModified]!==void 0&&(s.dateModified=vu(e[r.dateModified])),e[r.timeEntries]!==void 0&&(s.timeEntries=i$e(e[r.timeEntries])),e[r.completeInstances]!==void 0){let o=e[r.completeInstances];s.complete_instances=SD(Array.isArray(o)?o:[o])}if(e[r.skippedInstances]!==void 0){let o=e[r.skippedInstances];s.skipped_instances=SD(Array.isArray(o)?o:[o])}if(r.blockedBy&&e[r.blockedBy]!==void 0){let o=yu(e[r.blockedBy]);o&&(s.blockedBy=o)}if(e[r.icsEventId]!==void 0&&(s.icsEventId=OL(e[r.icsEventId])),e[r.googleCalendarEventId]!==void 0&&(s.googleCalendarEventId=vu(e[r.googleCalendarEventId])),e[r.reminders]!==void 0&&(s.reminders=s$e(e[r.reminders])),e[r.sortOrder]!==void 0){let o=e[r.sortOrder];s.sortOrder=typeof o=="string"?o:String(o)}if(e.tags&&Array.isArray(e.tags)&&(s.tags=e.tags.map(String),s.archived=e.tags.includes(r.archiveTag)),i.length>0){let o=s;for(let l of i)e[l.key]!==void 0&&(o[l.key]=e[l.key])}return s}function vre(r,e,t,n,i=[]){let s={};if(e.title!==void 0&&(s[r.title]=e.title),e.status!==void 0){let o=e.status.toLowerCase(),l=o==="true"||o==="false"?o==="true":e.status;s[r.status]=l}if(e.priority!==void 0&&(s[r.priority]=e.priority),e.due!==void 0&&(s[r.due]=e.due),e.scheduled!==void 0&&(s[r.scheduled]=e.scheduled),e.contexts!==void 0&&(!Array.isArray(e.contexts)||e.contexts.length>0)&&(s[r.contexts]=e.contexts),e.projects!==void 0&&(!Array.isArray(e.projects)||e.projects.length>0)&&(s[r.projects]=e.projects),e.timeEstimate!==void 0&&(s[r.timeEstimate]=e.timeEstimate),e.completedDate!==void 0&&(s[r.completedDate]=e.completedDate),e.recurrence!==void 0&&(s[r.recurrence]=e.recurrence),e.recurrence_anchor!==void 0&&(s[r.recurrenceAnchor]=e.recurrence_anchor),e.dateCreated!==void 0&&(s[r.dateCreated]=e.dateCreated),e.dateModified!==void 0&&(s[r.dateModified]=e.dateModified),e.sortOrder!==void 0&&(s[r.sortOrder]=e.sortOrder),e.timeEntries!==void 0&&(s[r.timeEntries]=e.timeEntries),e.complete_instances!==void 0&&(s[r.completeInstances]=e.complete_instances),e.skipped_instances!==void 0&&e.skipped_instances.length>0&&(s[r.skippedInstances]=e.skipped_instances),e.blockedBy!==void 0)if(Array.isArray(e.blockedBy)){let o=e.blockedBy.map(l=>El(l)).filter(l=>!!l);o.length>0&&(s[r.blockedBy]=hre(o))}else s[r.blockedBy]=e.blockedBy;e.icsEventId!==void 0&&e.icsEventId.length>0&&(s[r.icsEventId]=e.icsEventId),e.reminders!==void 0&&e.reminders.length>0&&(s[r.reminders]=e.reminders);let a=e.tags?[...e.tags]:[];if(t&&!a.includes(t)&&a.push(t),e.archived===!0&&!a.includes(r.archiveTag)?a.push(r.archiveTag):e.archived===!1&&(a=a.filter(o=>o!==r.archiveTag)),a.length>0&&(s.tags=a),i.length>0){let o=e;for(let l of i)Object.prototype.hasOwnProperty.call(o,l.key)&&o[l.key]!==void 0&&(s[l.key]=o[l.key])}return s}function LL(r,e){for(let[t,n]of Object.entries(r))if(n===e)return t;return null}function bre(r,e){return LL(r,e)!==null}function Tre(r,e,t){return r[t]===e}function kre(r,e){return e.map(t=>r[t])}function wre(r){let e=[],t=Object.keys(r);for(let s of t)(!r[s]||r[s].trim()==="")&&e.push(`Field "${s}" cannot be empty`);let n=Object.values(r),i=new Set(n);return n.length!==i.size&&e.push("Field mappings must have unique property names"),{valid:e.length===0,errors:e}}var Sre=v(()=>{Zc();Qe();jr()});var kg,FL=v(()=>{Sre();kg=class{constructor(e,t=[]){this.mapping=e;this.userFields=t}updateUserFields(e){this.userFields=e}getUserFields(){return[...this.userFields]}toUserField(e){return gre(this.mapping,e)}mapFromFrontmatter(e,t,n){let i=e!==null&&typeof e=="object"&&!Array.isArray(e)?e:void 0;return yre(this.mapping,i,t,n,this.userFields)}mapToFrontmatter(e,t,n){return vre(this.mapping,e,t,n,this.userFields)}updateMapping(e){this.mapping=e}getMapping(){return{...this.mapping}}lookupMappingKey(e){return LL(this.mapping,e)}isRecognizedProperty(e){return bre(this.mapping,e)}isPropertyForField(e,t){return Tre(this.mapping,e,t)}toUserFields(e){return kre(this.mapping,e)}fromUserField(e){return this.lookupMappingKey(e)}static validateMapping(e){return wre(e)}}});var oT,Dn,Dm=v(()=>{oT=["MO","TU","WE","TH","FR","SA","SU"],Dn=(function(){function r(e,t){if(t===0)throw new Error("Can't create weekday with n == 0");this.weekday=e,this.n=t}return r.fromStr=function(e){return new r(oT.indexOf(e))},r.prototype.nth=function(e){return this.n===e?this:new r(this.weekday,e)},r.prototype.equals=function(e){return this.weekday===e.weekday&&this.n===e.n},r.prototype.toString=function(){var e=oT[this.weekday];return this.n&&(e=(this.n>0?"+":"")+String(this.n)+e),e},r.prototype.getJsWeekday=function(){return this.weekday===6?0:this.weekday+1},r})()});function Cm(r,e,t){t===void 0&&(t=" ");var n=String(r);return e=e>>0,n.length>e?String(n):(e=e-n.length,e>t.length&&(t+=It(t,e/t.length)),t.slice(0,e)+String(n))}var Ar,aa,$L,li,qa,It,xre,Ere,Ci,MD,oa,kn,Ft,ns=v(()=>{Dm();Ar=function(r){return r!=null},aa=function(r){return typeof r=="number"},$L=function(r){return typeof r=="string"&&oT.includes(r)},li=Array.isArray,qa=function(r,e){e===void 0&&(e=r),arguments.length===1&&(e=r,r=0);for(var t=[],n=r;n<e;n++)t.push(n);return t},It=function(r,e){var t=0,n=[];if(li(r))for(;t<e;t++)n[t]=[].concat(r);else for(;t<e;t++)n[t]=r;return n},xre=function(r){return li(r)?r:[r]};Ere=function(r,e,t){var n=r.split(e);return t?n.slice(0,t).concat([n.slice(t).join(e)]):n},Ci=function(r,e){var t=r%e;return t*e<0?t+e:t},MD=function(r,e){return{div:Math.floor(r/e),mod:Ci(r,e)}},oa=function(r){return!Ar(r)||r.length===0},kn=function(r){return!oa(r)},Ft=function(r,e){return kn(r)&&r.indexOf(e)!==-1}});var Dl,a$e,Cre,AD,Pre,o$e,wg,jL,Pm,l$e,lT,ID,c$e,Qc,zL,ND,RD,BL,Jc,Sg,cT,Dre,_re,Pi=v(()=>{ns();Dl=function(r,e,t,n,i,s){return n===void 0&&(n=0),i===void 0&&(i=0),s===void 0&&(s=0),new Date(Date.UTC(r,e-1,t,n,i,s))},a$e=[31,28,31,30,31,30,31,31,30,31,30,31],Cre=1e3*60*60*24,AD=9999,Pre=Dl(1970,1,1),o$e=[6,0,1,2,3,4,5],wg=function(r){return r%4===0&&r%100!==0||r%400===0},jL=function(r){return r instanceof Date},Pm=function(r){return jL(r)&&!isNaN(r.getTime())},l$e=function(r,e){var t=r.getTime(),n=e.getTime(),i=t-n;return Math.round(i/Cre)},lT=function(r){return l$e(r,Pre)},ID=function(r){return new Date(Pre.getTime()+r*Cre)},c$e=function(r){var e=r.getUTCMonth();return e===1&&wg(r.getUTCFullYear())?29:a$e[e]},Qc=function(r){return o$e[r.getUTCDay()]},zL=function(r,e){var t=Dl(r,e+1,1);return[Qc(t),c$e(t)]},ND=function(r,e){return e=e||r,new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()))},RD=function(r){var e=new Date(r.getTime());return e},BL=function(r){for(var e=[],t=0;t<r.length;t++)e.push(RD(r[t]));return e},Jc=function(r){r.sort(function(e,t){return e.getTime()-t.getTime()})},Sg=function(r,e){e===void 0&&(e=!0);var t=new Date(r);return[Cm(t.getUTCFullYear().toString(),4,"0"),Cm(t.getUTCMonth()+1,2,"0"),Cm(t.getUTCDate(),2,"0"),"T",Cm(t.getUTCHours(),2,"0"),Cm(t.getUTCMinutes(),2,"0"),Cm(t.getUTCSeconds(),2,"0"),e?"Z":""].join("")},cT=function(r){var e=/^(\d{4})(\d{2})(\d{2})(T(\d{2})(\d{2})(\d{2})Z?)?$/,t=e.exec(r);if(!t)throw new Error("Invalid UNTIL value: ".concat(r));return new Date(Date.UTC(parseInt(t[1],10),parseInt(t[2],10)-1,parseInt(t[3],10),parseInt(t[5],10)||0,parseInt(t[6],10)||0,parseInt(t[7],10)||0))},Dre=function(r,e){var t=r.toLocaleString("sv-SE",{timeZone:e});return t.replace(" ","T")+"Z"},_re=function(r,e){var t=Intl.DateTimeFormat().resolvedOptions().timeZone,n=new Date(Dre(r,t)),i=new Date(Dre(r,e!=null?e:"UTC")),s=i.getTime()-n.getTime();return new Date(r.getTime()-s)}});var d$e,Xc,OD=v(()=>{d$e=(function(){function r(e,t){this.minDate=null,this.maxDate=null,this._result=[],this.total=0,this.method=e,this.args=t,e==="between"?(this.maxDate=t.inc?t.before:new Date(t.before.getTime()-1),this.minDate=t.inc?t.after:new Date(t.after.getTime()+1)):e==="before"?this.maxDate=t.inc?t.dt:new Date(t.dt.getTime()-1):e==="after"&&(this.minDate=t.inc?t.dt:new Date(t.dt.getTime()+1))}return r.prototype.accept=function(e){++this.total;var t=this.minDate&&e<this.minDate,n=this.maxDate&&e>this.maxDate;if(this.method==="between"){if(t)return!0;if(n)return!1}else if(this.method==="before"){if(n)return!1}else if(this.method==="after")return t?!0:(this.add(e),!1);return this.add(e)},r.prototype.add=function(e){return this._result.push(e),!0},r.prototype.getValue=function(){var e=this._result;switch(this.method){case"all":case"between":return e;case"before":case"after":default:return e.length?e[e.length-1]:null}},r.prototype.clone=function(){return new r(this.method,this.args)},r})(),Xc=d$e});function xg(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");qL(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}function le(r,e,t){if(t||arguments.length===2)for(var n=0,i=e.length,s;n<i;n++)(s||!(n in e))&&(s||(s=Array.prototype.slice.call(e,0,n)),s[n]=e[n]);return r.concat(s||Array.prototype.slice.call(e))}var qL,ci,ed=v(()=>{qL=function(r,e){return qL=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])},qL(r,e)};ci=function(){return ci=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++){t=arguments[n];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s])}return e},ci.apply(this,arguments)}});var u$e,HL,Mre=v(()=>{ed();OD();u$e=(function(r){xg(e,r);function e(t,n,i){var s=r.call(this,t,n)||this;return s.iterator=i,s}return e.prototype.add=function(t){return this.iterator(t,this._result.length)?(this._result.push(t),!0):!1},e})(Xc),HL=u$e});var p$e,_m,LD=v(()=>{p$e={dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],tokens:{SKIP:/^[ \r\n\t]+|^\.$/,number:/^[1-9][0-9]*/,numberAsText:/^(one|two|three)/i,every:/^every/i,"day(s)":/^days?/i,"weekday(s)":/^weekdays?/i,"week(s)":/^weeks?/i,"hour(s)":/^hours?/i,"minute(s)":/^minutes?/i,"month(s)":/^months?/i,"year(s)":/^years?/i,on:/^(on|in)/i,at:/^(at)/i,the:/^the/i,first:/^first/i,second:/^second/i,third:/^third/i,nth:/^([1-9][0-9]*)(\.|th|nd|rd|st)/i,last:/^last/i,for:/^for/i,"time(s)":/^times?/i,until:/^(un)?til/i,monday:/^mo(n(day)?)?/i,tuesday:/^tu(e(s(day)?)?)?/i,wednesday:/^we(d(n(esday)?)?)?/i,thursday:/^th(u(r(sday)?)?)?/i,friday:/^fr(i(day)?)?/i,saturday:/^sa(t(urday)?)?/i,sunday:/^su(n(day)?)?/i,january:/^jan(uary)?/i,february:/^feb(ruary)?/i,march:/^mar(ch)?/i,april:/^apr(il)?/i,may:/^may/i,june:/^june?/i,july:/^july?/i,august:/^aug(ust)?/i,september:/^sep(t(ember)?)?/i,october:/^oct(ober)?/i,november:/^nov(ember)?/i,december:/^dec(ember)?/i,comma:/^(,\s*|(and|or)\s*)+/i}},_m=p$e});var Are,m$e,f$e,h$e,Cl,Ire=v(()=>{LD();Ha();ns();Are=function(r,e){return r.indexOf(e)!==-1},m$e=function(r){return r.toString()},f$e=function(r,e,t){return"".concat(e," ").concat(t,", ").concat(r)},h$e=(function(){function r(e,t,n,i){if(t===void 0&&(t=m$e),n===void 0&&(n=_m),i===void 0&&(i=f$e),this.text=[],this.language=n||_m,this.gettext=t,this.dateFormatter=i,this.rrule=e,this.options=e.options,this.origOptions=e.origOptions,this.origOptions.bymonthday){var s=[].concat(this.options.bymonthday),a=[].concat(this.options.bynmonthday);s.sort(function(d,u){return d-u}),a.sort(function(d,u){return u-d}),this.bymonthday=s.concat(a),this.bymonthday.length||(this.bymonthday=null)}if(Ar(this.origOptions.byweekday)){var o=li(this.origOptions.byweekday)?this.origOptions.byweekday:[this.origOptions.byweekday],l=String(o);this.byweekday={allWeeks:o.filter(function(d){return!d.n}),someWeeks:o.filter(function(d){return!!d.n}),isWeekdays:l.indexOf("MO")!==-1&&l.indexOf("TU")!==-1&&l.indexOf("WE")!==-1&&l.indexOf("TH")!==-1&&l.indexOf("FR")!==-1&&l.indexOf("SA")===-1&&l.indexOf("SU")===-1,isEveryDay:l.indexOf("MO")!==-1&&l.indexOf("TU")!==-1&&l.indexOf("WE")!==-1&&l.indexOf("TH")!==-1&&l.indexOf("FR")!==-1&&l.indexOf("SA")!==-1&&l.indexOf("SU")!==-1};var c=function(d,u){return d.weekday-u.weekday};this.byweekday.allWeeks.sort(c),this.byweekday.someWeeks.sort(c),this.byweekday.allWeeks.length||(this.byweekday.allWeeks=null),this.byweekday.someWeeks.length||(this.byweekday.someWeeks=null)}else this.byweekday=null}return r.isFullyConvertible=function(e){var t=!0;if(!(e.options.freq in r.IMPLEMENTED)||e.origOptions.until&&e.origOptions.count)return!1;for(var n in e.origOptions){if(Are(["dtstart","tzid","wkst","freq"],n))return!0;if(!Are(r.IMPLEMENTED[e.options.freq],n))return!1}return t},r.prototype.isFullyConvertible=function(){return r.isFullyConvertible(this.rrule)},r.prototype.toString=function(){var e=this.gettext;if(!(this.options.freq in r.IMPLEMENTED))return e("RRule error: Unable to fully convert this rrule to text");if(this.text=[e("every")],this[Ee.FREQUENCIES[this.options.freq]](),this.options.until){this.add(e("until"));var t=this.options.until;this.add(this.dateFormatter(t.getUTCFullYear(),this.language.monthNames[t.getUTCMonth()],t.getUTCDate()))}else this.options.count&&this.add(e("for")).add(this.options.count.toString()).add(this.plural(this.options.count)?e("times"):e("time"));return this.isFullyConvertible()||this.add(e("(~ approximate)")),this.text.join("")},r.prototype.HOURLY=function(){var e=this.gettext;this.options.interval!==1&&this.add(this.options.interval.toString()),this.add(this.plural(this.options.interval)?e("hours"):e("hour"))},r.prototype.MINUTELY=function(){var e=this.gettext;this.options.interval!==1&&this.add(this.options.interval.toString()),this.add(this.plural(this.options.interval)?e("minutes"):e("minute"))},r.prototype.DAILY=function(){var e=this.gettext;this.options.interval!==1&&this.add(this.options.interval.toString()),this.byweekday&&this.byweekday.isWeekdays?this.add(this.plural(this.options.interval)?e("weekdays"):e("weekday")):this.add(this.plural(this.options.interval)?e("days"):e("day")),this.origOptions.bymonth&&(this.add(e("in")),this._bymonth()),this.bymonthday?this._bymonthday():this.byweekday?this._byweekday():this.origOptions.byhour&&this._byhour()},r.prototype.WEEKLY=function(){var e=this.gettext;this.options.interval!==1&&this.add(this.options.interval.toString()).add(this.plural(this.options.interval)?e("weeks"):e("week")),this.byweekday&&this.byweekday.isWeekdays?this.options.interval===1?this.add(this.plural(this.options.interval)?e("weekdays"):e("weekday")):this.add(e("on")).add(e("weekdays")):this.byweekday&&this.byweekday.isEveryDay?this.add(this.plural(this.options.interval)?e("days"):e("day")):(this.options.interval===1&&this.add(e("week")),this.origOptions.bymonth&&(this.add(e("in")),this._bymonth()),this.bymonthday?this._bymonthday():this.byweekday&&this._byweekday(),this.origOptions.byhour&&this._byhour())},r.prototype.MONTHLY=function(){var e=this.gettext;this.origOptions.bymonth?(this.options.interval!==1&&(this.add(this.options.interval.toString()).add(e("months")),this.plural(this.options.interval)&&this.add(e("in"))),this._bymonth()):(this.options.interval!==1&&this.add(this.options.interval.toString()),this.add(this.plural(this.options.interval)?e("months"):e("month"))),this.bymonthday?this._bymonthday():this.byweekday&&this.byweekday.isWeekdays?this.add(e("on")).add(e("weekdays")):this.byweekday&&this._byweekday()},r.prototype.YEARLY=function(){var e=this.gettext;this.origOptions.bymonth?(this.options.interval!==1&&(this.add(this.options.interval.toString()),this.add(e("years"))),this._bymonth()):(this.options.interval!==1&&this.add(this.options.interval.toString()),this.add(this.plural(this.options.interval)?e("years"):e("year"))),this.bymonthday?this._bymonthday():this.byweekday&&this._byweekday(),this.options.byyearday&&this.add(e("on the")).add(this.list(this.options.byyearday,this.nth,e("and"))).add(e("day")),this.options.byweekno&&this.add(e("in")).add(this.plural(this.options.byweekno.length)?e("weeks"):e("week")).add(this.list(this.options.byweekno,void 0,e("and")))},r.prototype._bymonthday=function(){var e=this.gettext;this.byweekday&&this.byweekday.allWeeks?this.add(e("on")).add(this.list(this.byweekday.allWeeks,this.weekdaytext,e("or"))).add(e("the")).add(this.list(this.bymonthday,this.nth,e("or"))):this.add(e("on the")).add(this.list(this.bymonthday,this.nth,e("and")))},r.prototype._byweekday=function(){var e=this.gettext;this.byweekday.allWeeks&&!this.byweekday.isWeekdays&&this.add(e("on")).add(this.list(this.byweekday.allWeeks,this.weekdaytext)),this.byweekday.someWeeks&&(this.byweekday.allWeeks&&this.add(e("and")),this.add(e("on the")).add(this.list(this.byweekday.someWeeks,this.weekdaytext,e("and"))))},r.prototype._byhour=function(){var e=this.gettext;this.add(e("at")).add(this.list(this.origOptions.byhour,void 0,e("and")))},r.prototype._bymonth=function(){this.add(this.list(this.options.bymonth,this.monthtext,this.gettext("and")))},r.prototype.nth=function(e){e=parseInt(e.toString(),10);var t,n=this.gettext;if(e===-1)return n("last");var i=Math.abs(e);switch(i){case 1:case 21:case 31:t=i+n("st");break;case 2:case 22:t=i+n("nd");break;case 3:case 23:t=i+n("rd");break;default:t=i+n("th")}return e<0?t+" "+n("last"):t},r.prototype.monthtext=function(e){return this.language.monthNames[e-1]},r.prototype.weekdaytext=function(e){var t=aa(e)?(e+1)%7:e.getJsWeekday();return(e.n?this.nth(e.n)+" ":"")+this.language.dayNames[t]},r.prototype.plural=function(e){return e%100!==1},r.prototype.add=function(e){return this.text.push(" "),this.text.push(e),this},r.prototype.list=function(e,t,n,i){var s=this;i===void 0&&(i=","),li(e)||(e=[e]);var a=function(l,c,d){for(var u="",p=0;p<l.length;p++)p!==0&&(p===l.length-1?u+=" "+d+" ":u+=c+" "),u+=l[p];return u};t=t||function(l){return l.toString()};var o=function(l){return t&&t.call(s,l)};return n?a(e.map(o),i,n):e.map(o).join(i+" ")},r})(),Cl=h$e});function dT(r,e){e===void 0&&(e=_m);var t={},n=new g$e(e.tokens);if(!n.start(r))return null;return i(),t;function i(){n.expect("every");var p=n.acceptNumber();if(p&&(t.interval=parseInt(p[0],10)),n.isDone())throw new Error("Unexpected end");switch(n.symbol){case"day(s)":t.freq=Ee.DAILY,n.nextSymbol()&&(a(),u());break;case"weekday(s)":t.freq=Ee.WEEKLY,t.byweekday=[Ee.MO,Ee.TU,Ee.WE,Ee.TH,Ee.FR],n.nextSymbol(),a(),u();break;case"week(s)":t.freq=Ee.WEEKLY,n.nextSymbol()&&(s(),a(),u());break;case"hour(s)":t.freq=Ee.HOURLY,n.nextSymbol()&&(s(),u());break;case"minute(s)":t.freq=Ee.MINUTELY,n.nextSymbol()&&(s(),u());break;case"month(s)":t.freq=Ee.MONTHLY,n.nextSymbol()&&(s(),u());break;case"year(s)":t.freq=Ee.YEARLY,n.nextSymbol()&&(s(),u());break;case"monday":case"tuesday":case"wednesday":case"thursday":case"friday":case"saturday":case"sunday":t.freq=Ee.WEEKLY;var m=n.symbol.substr(0,2).toUpperCase();if(t.byweekday=[Ee[m]],!n.nextSymbol())return;for(;n.accept("comma");){if(n.isDone())throw new Error("Unexpected end");var f=l();if(!f)throw new Error("Unexpected symbol "+n.symbol+", expected weekday");t.byweekday.push(Ee[f]),n.nextSymbol()}a(),d(),u();break;case"january":case"february":case"march":case"april":case"may":case"june":case"july":case"august":case"september":case"october":case"november":case"december":if(t.freq=Ee.YEARLY,t.bymonth=[o()],!n.nextSymbol())return;for(;n.accept("comma");){if(n.isDone())throw new Error("Unexpected end");var h=o();if(!h)throw new Error("Unexpected symbol "+n.symbol+", expected month");t.bymonth.push(h),n.nextSymbol()}s(),u();break;default:throw new Error("Unknown symbol")}}function s(){var p=n.accept("on"),m=n.accept("the");if(p||m)do{var f=c(),h=l(),g=o();if(f)h?(n.nextSymbol(),t.byweekday||(t.byweekday=[]),t.byweekday.push(Ee[h].nth(f))):(t.bymonthday||(t.bymonthday=[]),t.bymonthday.push(f),n.accept("day(s)"));else if(h)n.nextSymbol(),t.byweekday||(t.byweekday=[]),t.byweekday.push(Ee[h]);else if(n.symbol==="weekday(s)")n.nextSymbol(),t.byweekday||(t.byweekday=[Ee.MO,Ee.TU,Ee.WE,Ee.TH,Ee.FR]);else if(n.symbol==="week(s)"){n.nextSymbol();var y=n.acceptNumber();if(!y)throw new Error("Unexpected symbol "+n.symbol+", expected week number");for(t.byweekno=[parseInt(y[0],10)];n.accept("comma");){if(y=n.acceptNumber(),!y)throw new Error("Unexpected symbol "+n.symbol+"; expected monthday");t.byweekno.push(parseInt(y[0],10))}}else if(g)n.nextSymbol(),t.bymonth||(t.bymonth=[]),t.bymonth.push(g);else return}while(n.accept("comma")||n.accept("the")||n.accept("on"))}function a(){var p=n.accept("at");if(p)do{var m=n.acceptNumber();if(!m)throw new Error("Unexpected symbol "+n.symbol+", expected hour");for(t.byhour=[parseInt(m[0],10)];n.accept("comma");){if(m=n.acceptNumber(),!m)throw new Error("Unexpected symbol "+n.symbol+"; expected hour");t.byhour.push(parseInt(m[0],10))}}while(n.accept("comma")||n.accept("at"))}function o(){switch(n.symbol){case"january":return 1;case"february":return 2;case"march":return 3;case"april":return 4;case"may":return 5;case"june":return 6;case"july":return 7;case"august":return 8;case"september":return 9;case"october":return 10;case"november":return 11;case"december":return 12;default:return!1}}function l(){switch(n.symbol){case"monday":case"tuesday":case"wednesday":case"thursday":case"friday":case"saturday":case"sunday":return n.symbol.substr(0,2).toUpperCase();default:return!1}}function c(){switch(n.symbol){case"last":return n.nextSymbol(),-1;case"first":return n.nextSymbol(),1;case"second":return n.nextSymbol(),n.accept("last")?-2:2;case"third":return n.nextSymbol(),n.accept("last")?-3:3;case"nth":var p=parseInt(n.value[1],10);if(p<-366||p>366)throw new Error("Nth out of range: "+p);return n.nextSymbol(),n.accept("last")?-p:p;default:return!1}}function d(){n.accept("on"),n.accept("the");var p=c();if(p)for(t.bymonthday=[p],n.nextSymbol();n.accept("comma");){if(p=c(),!p)throw new Error("Unexpected symbol "+n.symbol+"; expected monthday");t.bymonthday.push(p),n.nextSymbol()}}function u(){if(n.symbol==="until"){var p=Date.parse(n.text);if(!p)throw new Error("Cannot parse until date:"+n.text);t.until=new Date(p)}else n.accept("for")&&(t.count=parseInt(n.value[0],10),n.expect("number"))}}var g$e,Nre=v(()=>{LD();Ha();g$e=(function(){function r(e){this.done=!0,this.rules=e}return r.prototype.start=function(e){return this.text=e,this.done=!1,this.nextSymbol()},r.prototype.isDone=function(){return this.done&&this.symbol===null},r.prototype.nextSymbol=function(){var e,t;this.symbol=null,this.value=null;do{if(this.done)return!1;var n=void 0;e=null;for(var i in this.rules){n=this.rules[i];var s=n.exec(this.text);s&&(e===null||s[0].length>e[0].length)&&(e=s,t=i)}if(e!=null&&(this.text=this.text.substr(e[0].length),this.text===""&&(this.done=!0)),e==null){this.done=!0,this.symbol=null,this.value=null;return}}while(t==="SKIP");return this.symbol=t,this.value=e,!0},r.prototype.accept=function(e){if(this.symbol===e){if(this.value){var t=this.value;return this.nextSymbol(),t}return this.nextSymbol(),!0}return!1},r.prototype.acceptNumber=function(){return this.accept("number")},r.prototype.expect=function(e){if(this.accept(e))return!0;throw new Error("expected "+e+" but found "+this.symbol)},r})()});function uT(r){return r<Tt.HOURLY}var Tt,td=v(()=>{(function(r){r[r.YEARLY=0]="YEARLY",r[r.MONTHLY=1]="MONTHLY",r[r.WEEKLY=2]="WEEKLY",r[r.DAILY=3]="DAILY",r[r.HOURLY=4]="HOURLY",r[r.MINUTELY=5]="MINUTELY",r[r.SECONDLY=6]="SECONDLY"})(Tt||(Tt={}))});var Rre,Eg,Ore,Lre,Fre=v(()=>{Ire();Nre();Ha();td();LD();Rre=function(r,e){return e===void 0&&(e=_m),new Ee(dT(r,e)||void 0)},Eg=["count","until","interval","byweekday","bymonthday","bymonth"];Cl.IMPLEMENTED=[];Cl.IMPLEMENTED[Tt.HOURLY]=Eg;Cl.IMPLEMENTED[Tt.MINUTELY]=Eg;Cl.IMPLEMENTED[Tt.DAILY]=["byhour"].concat(Eg);Cl.IMPLEMENTED[Tt.WEEKLY]=Eg;Cl.IMPLEMENTED[Tt.MONTHLY]=Eg;Cl.IMPLEMENTED[Tt.YEARLY]=["byweekno","byyearday"].concat(Eg);Ore=function(r,e,t,n){return new Cl(r,e,t,n).toString()},Lre=Cl.isFullyConvertible});var Dg,$re,FD=v(()=>{ed();td();ns();Pi();Dg=(function(){function r(e,t,n,i){this.hour=e,this.minute=t,this.second=n,this.millisecond=i||0}return r.prototype.getHours=function(){return this.hour},r.prototype.getMinutes=function(){return this.minute},r.prototype.getSeconds=function(){return this.second},r.prototype.getMilliseconds=function(){return this.millisecond},r.prototype.getTime=function(){return(this.hour*60*60+this.minute*60+this.second)*1e3+this.millisecond},r})(),$re=(function(r){xg(e,r);function e(t,n,i,s,a,o,l){var c=r.call(this,s,a,o,l)||this;return c.year=t,c.month=n,c.day=i,c}return e.fromDate=function(t){return new this(t.getUTCFullYear(),t.getUTCMonth()+1,t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds(),t.valueOf()%1e3)},e.prototype.getWeekday=function(){return Qc(new Date(this.getTime()))},e.prototype.getTime=function(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond)).getTime()},e.prototype.getDay=function(){return this.day},e.prototype.getMonth=function(){return this.month},e.prototype.getYear=function(){return this.year},e.prototype.addYears=function(t){this.year+=t},e.prototype.addMonths=function(t){if(this.month+=t,this.month>12){var n=Math.floor(this.month/12),i=Ci(this.month,12);this.month=i,this.year+=n,this.month===0&&(this.month=12,--this.year)}},e.prototype.addWeekly=function(t,n){n>this.getWeekday()?this.day+=-(this.getWeekday()+1+(6-n))+t*7:this.day+=-(this.getWeekday()-n)+t*7,this.fixDay()},e.prototype.addDaily=function(t){this.day+=t,this.fixDay()},e.prototype.addHours=function(t,n,i){for(n&&(this.hour+=Math.floor((23-this.hour)/t)*t);;){this.hour+=t;var s=MD(this.hour,24),a=s.div,o=s.mod;if(a&&(this.hour=o,this.addDaily(a)),oa(i)||Ft(i,this.hour))break}},e.prototype.addMinutes=function(t,n,i,s){for(n&&(this.minute+=Math.floor((1439-(this.hour*60+this.minute))/t)*t);;){this.minute+=t;var a=MD(this.minute,60),o=a.div,l=a.mod;if(o&&(this.minute=l,this.addHours(o,!1,i)),(oa(i)||Ft(i,this.hour))&&(oa(s)||Ft(s,this.minute)))break}},e.prototype.addSeconds=function(t,n,i,s,a){for(n&&(this.second+=Math.floor((86399-(this.hour*3600+this.minute*60+this.second))/t)*t);;){this.second+=t;var o=MD(this.second,60),l=o.div,c=o.mod;if(l&&(this.second=c,this.addMinutes(l,!1,i,s)),(oa(i)||Ft(i,this.hour))&&(oa(s)||Ft(s,this.minute))&&(oa(a)||Ft(a,this.second)))break}},e.prototype.fixDay=function(){if(!(this.day<=28)){var t=zL(this.year,this.month-1)[1];if(!(this.day<=t))for(;this.day>t;){if(this.day-=t,++this.month,this.month===13&&(this.month=1,++this.year,this.year>AD))return;t=zL(this.year,this.month-1)[1]}}},e.prototype.add=function(t,n){var i=t.freq,s=t.interval,a=t.wkst,o=t.byhour,l=t.byminute,c=t.bysecond;switch(i){case Tt.YEARLY:return this.addYears(s);case Tt.MONTHLY:return this.addMonths(s);case Tt.WEEKLY:return this.addWeekly(s,a);case Tt.DAILY:return this.addDaily(s);case Tt.HOURLY:return this.addHours(s,n,o);case Tt.MINUTELY:return this.addMinutes(s,n,o,l);case Tt.SECONDLY:return this.addSeconds(s,n,o,l,c)}},e})(Dg)});function UL(r){for(var e=[],t=Object.keys(r),n=0,i=t;n<i.length;n++){var s=i[n];Ft(Bre,s)||e.push(s),jL(r[s])&&!Pm(r[s])&&e.push(s)}if(e.length)throw new Error("Invalid options: "+e.join(", "));return ci({},r)}function jre(r){var e=ci(ci({},pT),UL(r));if(Ar(e.byeaster)&&(e.freq=Ee.YEARLY),!(Ar(e.freq)&&Ee.FREQUENCIES[e.freq]))throw new Error("Invalid frequency: ".concat(e.freq," ").concat(r.freq));if(e.dtstart||(e.dtstart=new Date(new Date().setMilliseconds(0))),Ar(e.wkst)?aa(e.wkst)||(e.wkst=e.wkst.weekday):e.wkst=Ee.MO.weekday,Ar(e.bysetpos)){aa(e.bysetpos)&&(e.bysetpos=[e.bysetpos]);for(var t=0;t<e.bysetpos.length;t++){var n=e.bysetpos[t];if(n===0||!(n>=-366&&n<=366))throw new Error("bysetpos must be between 1 and 366, or between -366 and -1")}}if(!(e.byweekno||kn(e.byweekno)||kn(e.byyearday)||e.bymonthday||kn(e.bymonthday)||Ar(e.byweekday)||Ar(e.byeaster)))switch(e.freq){case Ee.YEARLY:e.bymonth||(e.bymonth=e.dtstart.getUTCMonth()+1),e.bymonthday=e.dtstart.getUTCDate();break;case Ee.MONTHLY:e.bymonthday=e.dtstart.getUTCDate();break;case Ee.WEEKLY:e.byweekday=[Qc(e.dtstart)];break}if(Ar(e.bymonth)&&!li(e.bymonth)&&(e.bymonth=[e.bymonth]),Ar(e.byyearday)&&!li(e.byyearday)&&aa(e.byyearday)&&(e.byyearday=[e.byyearday]),!Ar(e.bymonthday))e.bymonthday=[],e.bynmonthday=[];else if(li(e.bymonthday)){for(var i=[],s=[],t=0;t<e.bymonthday.length;t++){var n=e.bymonthday[t];n>0?i.push(n):n<0&&s.push(n)}e.bymonthday=i,e.bynmonthday=s}else e.bymonthday<0?(e.bynmonthday=[e.bymonthday],e.bymonthday=[]):(e.bynmonthday=[],e.bymonthday=[e.bymonthday]);if(Ar(e.byweekno)&&!li(e.byweekno)&&(e.byweekno=[e.byweekno]),!Ar(e.byweekday))e.bynweekday=null;else if(aa(e.byweekday))e.byweekday=[e.byweekday],e.bynweekday=null;else if($L(e.byweekday))e.byweekday=[Dn.fromStr(e.byweekday).weekday],e.bynweekday=null;else if(e.byweekday instanceof Dn)!e.byweekday.n||e.freq>Ee.MONTHLY?(e.byweekday=[e.byweekday.weekday],e.bynweekday=null):(e.bynweekday=[[e.byweekday.weekday,e.byweekday.n]],e.byweekday=null);else{for(var a=[],o=[],t=0;t<e.byweekday.length;t++){var l=e.byweekday[t];if(aa(l)){a.push(l);continue}else if($L(l)){a.push(Dn.fromStr(l).weekday);continue}!l.n||e.freq>Ee.MONTHLY?a.push(l.weekday):o.push([l.weekday,l.n])}e.byweekday=kn(a)?a:null,e.bynweekday=kn(o)?o:null}return Ar(e.byhour)?aa(e.byhour)&&(e.byhour=[e.byhour]):e.byhour=e.freq<Ee.HOURLY?[e.dtstart.getUTCHours()]:null,Ar(e.byminute)?aa(e.byminute)&&(e.byminute=[e.byminute]):e.byminute=e.freq<Ee.MINUTELY?[e.dtstart.getUTCMinutes()]:null,Ar(e.bysecond)?aa(e.bysecond)&&(e.bysecond=[e.bysecond]):e.bysecond=e.freq<Ee.SECONDLY?[e.dtstart.getUTCSeconds()]:null,{parsedOptions:e}}function zre(r){var e=r.dtstart.getTime()%1e3;if(!uT(r.freq))return[];var t=[];return r.byhour.forEach(function(n){r.byminute.forEach(function(i){r.bysecond.forEach(function(s){t.push(new Dg(n,i,s,e))})})}),t}var VL=v(()=>{ed();td();ns();Ha();Pi();Dm();FD()});function fT(r){var e=r.split(`
`).map(y$e).filter(function(t){return t!==null});return ci(ci({},e[0]),e[1])}function mT(r){var e={},t=/DTSTART(?:;TZID=([^:=]+?))?(?::|=)([^;\s]+)/i.exec(r);if(!t)return e;var n=t[1],i=t[2];return n&&(e.tzid=n),e.dtstart=cT(i),e}function y$e(r){if(r=r.replace(/^\s+|\s+$/,""),!r.length)return null;var e=/^([A-Z]+?)[:;]/.exec(r.toUpperCase());if(!e)return qre(r);var t=e[1];switch(t.toUpperCase()){case"RRULE":case"EXRULE":return qre(r);case"DTSTART":return mT(r);default:throw new Error("Unsupported RFC prop ".concat(t," in ").concat(r))}}function qre(r){var e=r.replace(/^RRULE:/i,""),t=mT(e),n=r.replace(/^(?:RRULE|EXRULE):/i,"").split(";");return n.forEach(function(i){var s=i.split("="),a=s[0],o=s[1];switch(a.toUpperCase()){case"FREQ":t.freq=Tt[o.toUpperCase()];break;case"WKST":t.wkst=Ua[o.toUpperCase()];break;case"COUNT":case"INTERVAL":case"BYSETPOS":case"BYMONTH":case"BYMONTHDAY":case"BYYEARDAY":case"BYWEEKNO":case"BYHOUR":case"BYMINUTE":case"BYSECOND":var l=v$e(o),c=a.toLowerCase();t[c]=l;break;case"BYWEEKDAY":case"BYDAY":t.byweekday=b$e(o);break;case"DTSTART":case"TZID":var d=mT(r);t.tzid=d.tzid,t.dtstart=d.dtstart;break;case"UNTIL":t.until=cT(o);break;case"BYEASTER":t.byeaster=Number(o);break;default:throw new Error("Unknown RRULE property '"+a+"'")}}),t}function v$e(r){if(r.indexOf(",")!==-1){var e=r.split(",");return e.map(Hre)}return Hre(r)}function Hre(r){return/^[+-]?\d+$/.test(r)?Number(r):r}function b$e(r){var e=r.split(",");return e.map(function(t){if(t.length===2)return Ua[t];var n=t.match(/^([+-]?\d{1,2})([A-Z]{2})$/);if(!n||n.length<3)throw new SyntaxError("Invalid weekday string: ".concat(t));var i=Number(n[1]),s=n[2],a=Ua[s].weekday;return new Dn(a,i)})}var WL=v(()=>{ed();td();Dm();Pi();Ha()});var Mm,$D=v(()=>{Pi();Mm=(function(){function r(e,t){if(isNaN(e.getTime()))throw new RangeError("Invalid date passed to DateWithZone");this.date=e,this.tzid=t}return Object.defineProperty(r.prototype,"isUTC",{get:function(){return!this.tzid||this.tzid.toUpperCase()==="UTC"},enumerable:!1,configurable:!0}),r.prototype.toString=function(){var e=Sg(this.date.getTime(),this.isUTC);return this.isUTC?":".concat(e):";TZID=".concat(this.tzid,":").concat(e)},r.prototype.getTime=function(){return this.date.getTime()},r.prototype.rezonedDate=function(){return this.isUTC?this.date:_re(this.date,this.tzid)},r})()});function hT(r){for(var e=[],t="",n=Object.keys(r),i=Object.keys(pT),s=0;s<n.length;s++)if(n[s]!=="tzid"&&Ft(i,n[s])){var a=n[s].toUpperCase(),o=r[n[s]],l="";if(!(!Ar(o)||li(o)&&!o.length)){switch(a){case"FREQ":l=Ee.FREQUENCIES[r.freq];break;case"WKST":aa(o)?l=new Dn(o).toString():l=o.toString();break;case"BYWEEKDAY":a="BYDAY",l=xre(o).map(function(m){return m instanceof Dn?m:li(m)?new Dn(m[0],m[1]):new Dn(m)}).toString();break;case"DTSTART":t=T$e(o,r.tzid);break;case"UNTIL":l=Sg(o,!r.tzid);break;default:if(li(o)){for(var c=[],d=0;d<o.length;d++)c[d]=String(o[d]);l=c.toString()}else l=String(o)}l&&e.push([a,l])}}var u=e.map(function(m){var f=m[0],h=m[1];return"".concat(f,"=").concat(h.toString())}).join(";"),p="";return u!==""&&(p="RRULE:".concat(u)),[t,p].filter(function(m){return!!m}).join(`
`)}function T$e(r,e){return r?"DTSTART"+new Mm(new Date(r),e).toString():""}var YL=v(()=>{Ha();ns();Dm();Pi();$D()});function k$e(r,e){return Array.isArray(r)?!Array.isArray(e)||r.length!==e.length?!1:r.every(function(t,n){return t.getTime()===e[n].getTime()}):r instanceof Date?e instanceof Date&&r.getTime()===e.getTime():r===e}var Ure,Vre=v(()=>{OD();Pi();ns();Ure=(function(){function r(){this.all=!1,this.before=[],this.after=[],this.between=[]}return r.prototype._cacheAdd=function(e,t,n){t&&(t=t instanceof Date?RD(t):BL(t)),e==="all"?this.all=t:(n._value=t,this[e].push(n))},r.prototype._cacheGet=function(e,t){var n=!1,i=t?Object.keys(t):[],s=function(d){for(var u=0;u<i.length;u++){var p=i[u];if(!k$e(t[p],d[p]))return!0}return!1},a=this[e];if(e==="all")n=this.all;else if(li(a))for(var o=0;o<a.length;o++){var l=a[o];if(!(i.length&&s(l))){n=l._value;break}}if(!n&&this.all){for(var c=new Xc(e,t),o=0;o<this.all.length&&c.accept(this.all[o]);o++);n=c.getValue(),this._cacheAdd(e,n,t)}return li(n)?BL(n):n instanceof Date?RD(n):n},r})()});var Wre,Yre,w$e,S$e,bu,_i,Gre,Kre,x$e,E$e,Tu,Mi,Zre,Qre,Jre,Xre,GL,ene=v(()=>{ed();ns();Wre=le(le(le(le(le(le(le(le(le(le(le(le(le([],It(1,31),!0),It(2,28),!0),It(3,31),!0),It(4,30),!0),It(5,31),!0),It(6,30),!0),It(7,31),!0),It(8,31),!0),It(9,30),!0),It(10,31),!0),It(11,30),!0),It(12,31),!0),It(1,7),!0),Yre=le(le(le(le(le(le(le(le(le(le(le(le(le([],It(1,31),!0),It(2,29),!0),It(3,31),!0),It(4,30),!0),It(5,31),!0),It(6,30),!0),It(7,31),!0),It(8,31),!0),It(9,30),!0),It(10,31),!0),It(11,30),!0),It(12,31),!0),It(1,7),!0),w$e=qa(1,29),S$e=qa(1,30),bu=qa(1,31),_i=qa(1,32),Gre=le(le(le(le(le(le(le(le(le(le(le(le(le([],_i,!0),S$e,!0),_i,!0),bu,!0),_i,!0),bu,!0),_i,!0),_i,!0),bu,!0),_i,!0),bu,!0),_i,!0),_i.slice(0,7),!0),Kre=le(le(le(le(le(le(le(le(le(le(le(le(le([],_i,!0),w$e,!0),_i,!0),bu,!0),_i,!0),bu,!0),_i,!0),_i,!0),bu,!0),_i,!0),bu,!0),_i,!0),_i.slice(0,7),!0),x$e=qa(-28,0),E$e=qa(-29,0),Tu=qa(-30,0),Mi=qa(-31,0),Zre=le(le(le(le(le(le(le(le(le(le(le(le(le([],Mi,!0),E$e,!0),Mi,!0),Tu,!0),Mi,!0),Tu,!0),Mi,!0),Mi,!0),Tu,!0),Mi,!0),Tu,!0),Mi,!0),Mi.slice(0,7),!0),Qre=le(le(le(le(le(le(le(le(le(le(le(le(le([],Mi,!0),x$e,!0),Mi,!0),Tu,!0),Mi,!0),Tu,!0),Mi,!0),Mi,!0),Tu,!0),Mi,!0),Tu,!0),Mi,!0),Mi.slice(0,7),!0),Jre=[0,31,60,91,121,152,182,213,244,274,305,335,366],Xre=[0,31,59,90,120,151,181,212,243,273,304,334,365],GL=(function(){for(var r=[],e=0;e<55;e++)r=r.concat(qa(7));return r})()});function tne(r,e){var t=Dl(r,1,1),n=wg(r)?366:365,i=wg(r+1)?366:365,s=lT(t),a=Qc(t),o=ci(ci({yearlen:n,nextyearlen:i,yearordinal:s,yearweekday:a},D$e(r)),{wnomask:null});if(oa(e.byweekno))return o;o.wnomask=It(0,n+7);var l,c,d=l=Ci(7-a+e.wkst,7);d>=4?(d=0,c=o.yearlen+Ci(a-e.wkst,7)):c=n-d;for(var u=Math.floor(c/7),p=Ci(c,7),m=Math.floor(u+p/4),f=0;f<e.byweekno.length;f++){var h=e.byweekno[f];if(h<0&&(h+=m+1),h>0&&h<=m){var g=void 0;h>1?(g=d+(h-1)*7,d!==l&&(g-=7-l)):g=d;for(var y=0;y<7&&(o.wnomask[g]=1,g++,o.wdaymask[g]!==e.wkst);y++);}}if(Ft(e.byweekno,1)){var g=d+m*7;if(d!==l&&(g-=7-l),g<n)for(var f=0;f<7&&(o.wnomask[g]=1,g+=1,o.wdaymask[g]!==e.wkst);f++);}if(d){var k=void 0;if(Ft(e.byweekno,-1))k=-1;else{var T=Qc(Dl(r-1,1,1)),w=Ci(7-T.valueOf()+e.wkst,7),S=wg(r-1)?366:365,E=void 0;w>=4?(w=0,E=S+Ci(T-e.wkst,7)):E=n-d,k=Math.floor(52+Ci(E,7)/4)}if(Ft(e.byweekno,k))for(var g=0;g<d;g++)o.wnomask[g]=1}return o}function D$e(r){var e=wg(r)?366:365,t=Dl(r,1,1),n=Qc(t);return e===365?{mmask:Wre,mdaymask:Kre,nmdaymask:Qre,wdaymask:GL.slice(n),mrange:Xre}:{mmask:Yre,mdaymask:Gre,nmdaymask:Zre,wdaymask:GL.slice(n),mrange:Jre}}var rne=v(()=>{ed();Pi();ns();ene()});function nne(r,e,t,n,i,s){var a={lastyear:r,lastmonth:e,nwdaymask:[]},o=[];if(s.freq===Ee.YEARLY)if(oa(s.bymonth))o=[[0,t]];else for(var l=0;l<s.bymonth.length;l++)e=s.bymonth[l],o.push(n.slice(e-1,e+1));else s.freq===Ee.MONTHLY&&(o=[n.slice(e-1,e+1)]);if(oa(o))return a;a.nwdaymask=It(0,t);for(var l=0;l<o.length;l++)for(var c=o[l],d=c[0],u=c[1]-1,p=0;p<s.bynweekday.length;p++){var m=void 0,f=s.bynweekday[p],h=f[0],g=f[1];g<0?(m=u+(g+1)*7,m-=Ci(i[m]-h,7)):(m=d+(g-1)*7,m+=Ci(7-i[m]+h,7)),d<=m&&m<=u&&(a.nwdaymask[m]=1)}return a}var ine=v(()=>{Ha();ns()});function sne(r,e){e===void 0&&(e=0);var t=r%19,n=Math.floor(r/100),i=r%100,s=Math.floor(n/4),a=n%4,o=Math.floor((n+8)/25),l=Math.floor((n-o+1)/3),c=Math.floor(19*t+n-s-l+15)%30,d=Math.floor(i/4),u=i%4,p=Math.floor(32+2*a+2*d-c-u)%7,m=Math.floor((t+11*c+22*p)/451),f=Math.floor((c+p-7*m+114)/31),h=(c+p-7*m+114)%31+1,g=Date.UTC(r,f-1,h+e),y=Date.UTC(r,0,1);return[Math.ceil((g-y)/(1e3*60*60*24))]}var ane=v(()=>{});var C$e,one,lne=v(()=>{ns();td();rne();ine();ane();FD();Pi();C$e=(function(){function r(e){this.options=e}return r.prototype.rebuild=function(e,t){var n=this.options;if(e!==this.lastyear&&(this.yearinfo=tne(e,n)),kn(n.bynweekday)&&(t!==this.lastmonth||e!==this.lastyear)){var i=this.yearinfo,s=i.yearlen,a=i.mrange,o=i.wdaymask;this.monthinfo=nne(e,t,s,a,o,n)}Ar(n.byeaster)&&(this.eastermask=sne(e,n.byeaster))},Object.defineProperty(r.prototype,"lastyear",{get:function(){return this.monthinfo?this.monthinfo.lastyear:null},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"lastmonth",{get:function(){return this.monthinfo?this.monthinfo.lastmonth:null},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"yearlen",{get:function(){return this.yearinfo.yearlen},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"yearordinal",{get:function(){return this.yearinfo.yearordinal},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"mrange",{get:function(){return this.yearinfo.mrange},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"wdaymask",{get:function(){return this.yearinfo.wdaymask},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"mmask",{get:function(){return this.yearinfo.mmask},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"wnomask",{get:function(){return this.yearinfo.wnomask},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"nwdaymask",{get:function(){return this.monthinfo?this.monthinfo.nwdaymask:[]},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"nextyearlen",{get:function(){return this.yearinfo.nextyearlen},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"mdaymask",{get:function(){return this.yearinfo.mdaymask},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"nmdaymask",{get:function(){return this.yearinfo.nmdaymask},enumerable:!1,configurable:!0}),r.prototype.ydayset=function(){return[qa(this.yearlen),0,this.yearlen]},r.prototype.mdayset=function(e,t){for(var n=this.mrange[t-1],i=this.mrange[t],s=It(null,this.yearlen),a=n;a<i;a++)s[a]=a;return[s,n,i]},r.prototype.wdayset=function(e,t,n){for(var i=It(null,this.yearlen+7),s=lT(Dl(e,t,n))-this.yearordinal,a=s,o=0;o<7&&(i[s]=s,++s,this.wdaymask[s]!==this.options.wkst);o++);return[i,a,s]},r.prototype.ddayset=function(e,t,n){var i=It(null,this.yearlen),s=lT(Dl(e,t,n))-this.yearordinal;return i[s]=s,[i,s,s+1]},r.prototype.htimeset=function(e,t,n,i){var s=this,a=[];return this.options.byminute.forEach(function(o){a=a.concat(s.mtimeset(e,o,n,i))}),Jc(a),a},r.prototype.mtimeset=function(e,t,n,i){var s=this.options.bysecond.map(function(a){return new Dg(e,t,a,i)});return Jc(s),s},r.prototype.stimeset=function(e,t,n,i){return[new Dg(e,t,n,i)]},r.prototype.getdayset=function(e){switch(e){case Tt.YEARLY:return this.ydayset.bind(this);case Tt.MONTHLY:return this.mdayset.bind(this);case Tt.WEEKLY:return this.wdayset.bind(this);case Tt.DAILY:return this.ddayset.bind(this);default:return this.ddayset.bind(this)}},r.prototype.gettimeset=function(e){switch(e){case Tt.HOURLY:return this.htimeset.bind(this);case Tt.MINUTELY:return this.mtimeset.bind(this);case Tt.SECONDLY:return this.stimeset.bind(this)}},r})(),one=C$e});function cne(r,e,t,n,i,s){for(var a=[],o=0;o<r.length;o++){var l=void 0,c=void 0,d=r[o];d<0?(l=Math.floor(d/e.length),c=Ci(d,e.length)):(l=Math.floor((d-1)/e.length),c=Ci(d-1,e.length));for(var u=[],p=t;p<n;p++){var m=s[p];Ar(m)&&u.push(m)}var f=void 0;l<0?f=u.slice(l)[0]:f=u[l];var h=e[c],g=ID(i.yearordinal+f),y=ND(g,h);Ft(a,y)||a.push(y)}return Jc(a),a}var dne=v(()=>{Pi();ns()});function jD(r,e){var t=e.dtstart,n=e.freq,i=e.interval,s=e.until,a=e.bysetpos,o=e.count;if(o===0||i===0)return rd(r);var l=$re.fromDate(t),c=new one(e);c.rebuild(l.year,l.month);for(var d=M$e(c,l,e);;){var u=c.getdayset(n)(l.year,l.month,l.day),p=u[0],m=u[1],f=u[2],h=_$e(p,m,f,c,e);if(kn(a))for(var g=cne(a,d,m,f,c,p),y=0;y<g.length;y++){var k=g[y];if(s&&k>s)return rd(r);if(k>=t){var T=une(k,e);if(!r.accept(T)||o&&(--o,!o))return rd(r)}}else for(var y=m;y<f;y++){var w=p[y];if(Ar(w))for(var S=ID(c.yearordinal+w),E=0;E<d.length;E++){var C=d[E],k=ND(S,C);if(s&&k>s)return rd(r);if(k>=t){var T=une(k,e);if(!r.accept(T)||o&&(--o,!o))return rd(r)}}}if(e.interval===0||(l.add(e,h),l.year>AD))return rd(r);uT(n)||(d=c.gettimeset(n)(l.hour,l.minute,l.second,0)),c.rebuild(l.year,l.month)}}function P$e(r,e,t){var n=t.bymonth,i=t.byweekno,s=t.byweekday,a=t.byeaster,o=t.bymonthday,l=t.bynmonthday,c=t.byyearday;return kn(n)&&!Ft(n,r.mmask[e])||kn(i)&&!r.wnomask[e]||kn(s)&&!Ft(s,r.wdaymask[e])||kn(r.nwdaymask)&&!r.nwdaymask[e]||a!==null&&!Ft(r.eastermask,e)||(kn(o)||kn(l))&&!Ft(o,r.mdaymask[e])&&!Ft(l,r.nmdaymask[e])||kn(c)&&(e<r.yearlen&&!Ft(c,e+1)&&!Ft(c,-r.yearlen+e)||e>=r.yearlen&&!Ft(c,e+1-r.yearlen)&&!Ft(c,-r.nextyearlen+e-r.yearlen))}function une(r,e){return new Mm(r,e.tzid).rezonedDate()}function rd(r){return r.getValue()}function _$e(r,e,t,n,i){for(var s=!1,a=e;a<t;a++){var o=r[a];s=P$e(n,o,i),s&&(r[o]=null)}return s}function M$e(r,e,t){var n=t.freq,i=t.byhour,s=t.byminute,a=t.bysecond;return uT(n)?zre(t):n>=Ee.HOURLY&&kn(i)&&!Ft(i,e.hour)||n>=Ee.MINUTELY&&kn(s)&&!Ft(s,e.minute)||n>=Ee.SECONDLY&&kn(a)&&!Ft(a,e.second)?[]:r.gettimeset(n)(e.hour,e.minute,e.second,e.millisecond)}var KL=v(()=>{td();Pi();lne();Ha();VL();ns();$D();dne();FD()});var Ua,pT,Bre,Ee,Ha=v(()=>{Pi();OD();Mre();Fre();td();VL();WL();YL();Vre();Dm();KL();Ua={MO:new Dn(0),TU:new Dn(1),WE:new Dn(2),TH:new Dn(3),FR:new Dn(4),SA:new Dn(5),SU:new Dn(6)},pT={freq:Tt.YEARLY,dtstart:null,interval:1,wkst:Ua.MO,count:null,until:null,tzid:null,bysetpos:null,bymonth:null,bymonthday:null,bynmonthday:null,byyearday:null,byweekno:null,byweekday:null,bynweekday:null,byhour:null,byminute:null,bysecond:null,byeaster:null},Bre=Object.keys(pT),Ee=(function(){function r(e,t){e===void 0&&(e={}),t===void 0&&(t=!1),this._cache=t?null:new Ure,this.origOptions=UL(e);var n=jre(e).parsedOptions;this.options=n}return r.parseText=function(e,t){return dT(e,t)},r.fromText=function(e,t){return Rre(e,t)},r.fromString=function(e){return new r(r.parseString(e)||void 0)},r.prototype._iter=function(e){return jD(e,this.options)},r.prototype._cacheGet=function(e,t){return this._cache?this._cache._cacheGet(e,t):!1},r.prototype._cacheAdd=function(e,t,n){if(this._cache)return this._cache._cacheAdd(e,t,n)},r.prototype.all=function(e){if(e)return this._iter(new HL("all",{},e));var t=this._cacheGet("all");return t===!1&&(t=this._iter(new Xc("all",{})),this._cacheAdd("all",t)),t},r.prototype.between=function(e,t,n,i){if(n===void 0&&(n=!1),!Pm(e)||!Pm(t))throw new Error("Invalid date passed in to RRule.between");var s={before:t,after:e,inc:n};if(i)return this._iter(new HL("between",s,i));var a=this._cacheGet("between",s);return a===!1&&(a=this._iter(new Xc("between",s)),this._cacheAdd("between",a,s)),a},r.prototype.before=function(e,t){if(t===void 0&&(t=!1),!Pm(e))throw new Error("Invalid date passed in to RRule.before");var n={dt:e,inc:t},i=this._cacheGet("before",n);return i===!1&&(i=this._iter(new Xc("before",n)),this._cacheAdd("before",i,n)),i},r.prototype.after=function(e,t){if(t===void 0&&(t=!1),!Pm(e))throw new Error("Invalid date passed in to RRule.after");var n={dt:e,inc:t},i=this._cacheGet("after",n);return i===!1&&(i=this._iter(new Xc("after",n)),this._cacheAdd("after",i,n)),i},r.prototype.count=function(){return this.all().length},r.prototype.toString=function(){return hT(this.origOptions)},r.prototype.toText=function(e,t,n){return Ore(this,e,t,n)},r.prototype.isFullyConvertibleToText=function(){return Lre(this)},r.prototype.clone=function(){return new r(this.origOptions)},r.FREQUENCIES=["YEARLY","MONTHLY","WEEKLY","DAILY","HOURLY","MINUTELY","SECONDLY"],r.YEARLY=Tt.YEARLY,r.MONTHLY=Tt.MONTHLY,r.WEEKLY=Tt.WEEKLY,r.DAILY=Tt.DAILY,r.HOURLY=Tt.HOURLY,r.MINUTELY=Tt.MINUTELY,r.SECONDLY=Tt.SECONDLY,r.MO=Ua.MO,r.TU=Ua.TU,r.WE=Ua.WE,r.TH=Ua.TH,r.FR=Ua.FR,r.SA=Ua.SA,r.SU=Ua.SU,r.parseString=fT,r.optionsToString=hT,r})()});function pne(r,e,t,n,i,s){var a={},o=r.accept;function l(p,m){t.forEach(function(f){f.between(p,m,!0).forEach(function(h){a[Number(h)]=!0})})}i.forEach(function(p){var m=new Mm(p,s).rezonedDate();a[Number(m)]=!0}),r.accept=function(p){var m=Number(p);return isNaN(m)?o.call(this,p):!a[m]&&(l(new Date(m-1),new Date(m+1)),!a[m])?(a[m]=!0,o.call(this,p)):!0},r.method==="between"&&(l(r.args.after,r.args.before),r.accept=function(p){var m=Number(p);return a[m]?!0:(a[m]=!0,o.call(this,p))});for(var c=0;c<n.length;c++){var d=new Mm(n[c],s).rezonedDate();if(!r.accept(new Date(d.getTime())))break}e.forEach(function(p){jD(r,p.options)});var u=r._result;switch(Jc(u),r.method){case"all":case"between":return u;case"before":return u.length&&u[u.length-1]||null;case"after":default:return u.length&&u[0]||null}}var mne=v(()=>{$D();KL();Pi()});function A$e(r,e){var t=[],n=[],i=[],s=[],a=mT(r),o=a.dtstart,l=a.tzid,c=L$e(r,e.unfold);return c.forEach(function(d){var u;if(d){var p=O$e(d),m=p.name,f=p.parms,h=p.value;switch(m.toUpperCase()){case"RRULE":if(f.length)throw new Error("unsupported RRULE parm: ".concat(f.join(",")));t.push(fT(d));break;case"RDATE":var g=(u=/RDATE(?:;TZID=([^:=]+))?/i.exec(d))!==null&&u!==void 0?u:[],y=g[1];y&&!l&&(l=y),n=n.concat(hne(h,f));break;case"EXRULE":if(f.length)throw new Error("unsupported EXRULE parm: ".concat(f.join(",")));i.push(fT(h));break;case"EXDATE":s=s.concat(hne(h,f));break;case"DTSTART":break;default:throw new Error("unsupported property: "+m)}}}),{dtstart:o,tzid:l,rrulevals:t,rdatevals:n,exrulevals:i,exdatevals:s}}function I$e(r,e){var t=A$e(r,e),n=t.rrulevals,i=t.rdatevals,s=t.exrulevals,a=t.exdatevals,o=t.dtstart,l=t.tzid,c=e.cache===!1;if(e.compatible&&(e.forceset=!0,e.unfold=!0),e.forceset||n.length>1||i.length||s.length||a.length){var d=new JL(c);return d.dtstart(o),d.tzid(l||void 0),n.forEach(function(p){d.rrule(new Ee(ZL(p,o,l),c))}),i.forEach(function(p){d.rdate(p)}),s.forEach(function(p){d.exrule(new Ee(ZL(p,o,l),c))}),a.forEach(function(p){d.exdate(p)}),e.compatible&&e.dtstart&&d.rdate(o),d}var u=n[0]||{};return new Ee(ZL(u,u.dtstart||e.dtstart||o,u.tzid||e.tzid||l),c)}function zD(r,e){return e===void 0&&(e={}),I$e(r,N$e(e))}function ZL(r,e,t){return ci(ci({},r),{dtstart:e,tzid:t})}function N$e(r){var e=[],t=Object.keys(r),n=Object.keys(fne);if(t.forEach(function(i){Ft(n,i)||e.push(i)}),e.length)throw new Error("Invalid options: "+e.join(", "));return ci(ci({},fne),r)}function R$e(r){if(r.indexOf(":")===-1)return{name:"RRULE",value:r};var e=Ere(r,":",1),t=e[0],n=e[1];return{name:t,value:n}}function O$e(r){var e=R$e(r),t=e.name,n=e.value,i=t.split(";");if(!i)throw new Error("empty property name");return{name:i[0].toUpperCase(),parms:i.slice(1),value:n}}function L$e(r,e){if(e===void 0&&(e=!1),r=r&&r.trim(),!r)throw new Error("Invalid empty string");if(!e)return r.split(/\s/);for(var t=r.split(`
`),n=0;n<t.length;){var i=t[n]=t[n].replace(/\s+$/g,"");i?n>0&&i[0]===" "?(t[n-1]+=i.slice(1),t.splice(n,1)):n+=1:t.splice(n,1)}return t}function F$e(r){r.forEach(function(e){if(!/(VALUE=DATE(-TIME)?)|(TZID=)/.test(e))throw new Error("unsupported RDATE/EXDATE parm: "+e)})}function hne(r,e){return F$e(e),r.split(",").map(function(t){return cT(t)})}var fne,QL=v(()=>{ed();Ha();XL();Pi();ns();WL();fne={dtstart:null,cache:!1,unfold:!1,forceset:!1,compatible:!1,tzid:null}});function gne(r){var e=this;return function(t){if(t!==void 0&&(e["_".concat(r)]=t),e["_".concat(r)]!==void 0)return e["_".concat(r)];for(var n=0;n<e._rrule.length;n++){var i=e._rrule[n].origOptions[r];if(i)return i}}}function yne(r,e){if(!(r instanceof Ee))throw new TypeError(String(r)+" is not RRule instance");Ft(e.map(String),String(r))||e.push(r)}function vne(r,e){if(!(r instanceof Date))throw new TypeError(String(r)+" is not Date instance");Ft(e.map(Number),Number(r))||(e.push(r),Jc(e))}function bne(r,e,t){var n=!t||t.toUpperCase()==="UTC",i=n?"".concat(r,":"):"".concat(r,";TZID=").concat(t,":"),s=e.map(function(a){return Sg(a.valueOf(),n)}).join(",");return"".concat(i).concat(s)}var JL,XL=v(()=>{ed();Ha();Pi();ns();mne();QL();YL();JL=(function(r){xg(e,r);function e(t){t===void 0&&(t=!1);var n=r.call(this,{},t)||this;return n.dtstart=gne.apply(n,["dtstart"]),n.tzid=gne.apply(n,["tzid"]),n._rrule=[],n._rdate=[],n._exrule=[],n._exdate=[],n}return e.prototype._iter=function(t){return pne(t,this._rrule,this._exrule,this._rdate,this._exdate,this.tzid())},e.prototype.rrule=function(t){yne(t,this._rrule)},e.prototype.exrule=function(t){yne(t,this._exrule)},e.prototype.rdate=function(t){vne(t,this._rdate)},e.prototype.exdate=function(t){vne(t,this._exdate)},e.prototype.rrules=function(){return this._rrule.map(function(t){return zD(t.toString())})},e.prototype.exrules=function(){return this._exrule.map(function(t){return zD(t.toString())})},e.prototype.rdates=function(){return this._rdate.map(function(t){return new Date(t.getTime())})},e.prototype.exdates=function(){return this._exdate.map(function(t){return new Date(t.getTime())})},e.prototype.valueOf=function(){var t=[];return!this._rrule.length&&this._dtstart&&(t=t.concat(hT({dtstart:this._dtstart}))),this._rrule.forEach(function(n){t=t.concat(n.toString().split(`
`))}),this._exrule.forEach(function(n){t=t.concat(n.toString().split(`
`).map(function(i){return i.replace(/^RRULE:/,"EXRULE:")}).filter(function(i){return!/^DTSTART/.test(i)}))}),this._rdate.length&&t.push(bne("RDATE",this._rdate,this.tzid())),this._exdate.length&&t.push(bne("EXDATE",this._exdate,this.tzid())),t},e.prototype.toString=function(){return this.valueOf().join(`
`)},e.prototype.clone=function(){var t=new e(!!this._cache);return this._rrule.forEach(function(n){return t.rrule(n.clone())}),this._exrule.forEach(function(n){return t.exrule(n.clone())}),this._rdate.forEach(function(n){return t.rdate(new Date(n.getTime()))}),this._exdate.forEach(function(n){return t.exdate(new Date(n.getTime()))}),t},e})(Ee)});var t1=v(()=>{Ha();XL();QL();td();Dm();Pi()});function n1(r){let e=r.match(/DTSTART:(\d{8}(?:T\d{6}Z?)?)/);if(!e)return null;let t=e[1];if(t.length===8){let c=parseInt(t.slice(0,4)),d=parseInt(t.slice(4,6))-1,u=parseInt(t.slice(6,8));return new Date(Date.UTC(c,d,u,0,0,0,0))}let n=parseInt(t.slice(0,4)),i=parseInt(t.slice(4,6))-1,s=parseInt(t.slice(6,8)),a=parseInt(t.slice(9,11))||0,o=parseInt(t.slice(11,13))||0,l=parseInt(t.slice(13,15))||0;return new Date(Date.UTC(n,i,s,a,o,l,0))}function $$e(r){if(!r.recurrence)return null;let e=n1(r.recurrence);return e||(r.scheduled?ja(r.scheduled):r.dateCreated?ja(r.dateCreated):null)}function Tne(r){if(!r.recurrence||typeof r.recurrence!="string")return null;let e=$$e(r);if(!e)return null;let t=r.recurrence.replace(/DTSTART:[^;]+;?/,""),n=r1.parseString(t);return n.dtstart=e,new r1(n)}function j$e(r){let e=r.match(/INTERVAL=(\d+)/);return e?parseInt(e[1],10):1}function kne(r){let e=j$e(r);return r.includes("FREQ=DAILY")?Math.max(30,e*2):r.includes("FREQ=WEEKLY")?Math.max(90,e*7*2):r.includes("FREQ=MONTHLY")?Math.max(400,e*31*2):r.includes("FREQ=YEARLY")?Math.max(800,e*366*2):365}function wne(r){if($r(r)){let s=Mr(r),a=s.getFullYear(),o=String(s.getMonth()+1).padStart(2,"0"),l=String(s.getDate()).padStart(2,"0"),c=String(s.getHours()).padStart(2,"0"),d=String(s.getMinutes()).padStart(2,"0"),u=String(s.getSeconds()).padStart(2,"0");return`${a}${o}${l}T${c}${d}${u}Z`}let e=st(r),t=e.getUTCFullYear(),n=String(e.getUTCMonth()+1).padStart(2,"0"),i=String(e.getUTCDate()).padStart(2,"0");return`${t}${n}${i}`}function i1(r,e){if(!r.recurrence)return!0;if(typeof r.recurrence=="string")try{let t=Tne(r);if(!t)return!1;let n=ja(CL(e));return t.between(n,new Date(n.getTime()+1440*60*1e3-1),!0).length>0}catch(t){return console.error("Error evaluating rrule:",t,{task:r.title,recurrence:r.recurrence}),!0}return!0}function Sne(r,e,t){if(!r.recurrence)return r.status||"open";let n=ue(e);return(Array.isArray(r.complete_instances)?r.complete_instances:[]).includes(n)?t||"done":r.status||"open"}function BD(r,e,t){if(!r.recurrence)return[];if(typeof r.recurrence=="string")try{let s=Tne(r);if(!s)return[];let a=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),0,0,0,0)),o=new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),23,59,59,999));return s.between(a,o,!0)}catch(s){console.error("Error generating recurring instances:",s,{task:r.title,recurrence:r.recurrence})}let n=[],i=new Date(e);for(;i<=t;)i1(r,i)&&n.push(new Date(i)),i.setUTCDate(i.getUTCDate()+1);return n}function z$e(r){if(!r.recurrence)return null;try{let e=st(cn()),t=kne(r.recurrence),n=e,i=n1(r.recurrence);i&&i<e&&(n=i);let s=new Date(e.getTime()+t*24*60*60*1e3),a=BD(r,n,s),o=new Set([...r.complete_instances||[],...r.skipped_instances||[]]);for(let l of a){let c=ue(l);if(!o.has(c)&&l>=e)return l}return null}catch(e){return console.error("Error calculating next scheduled-based occurrence:",e,{task:r.title}),null}}function B$e(r){if(!r.recurrence||typeof r.recurrence!="string")return null;try{let e=st(cn()),t=kne(r.recurrence),n=n1(r.recurrence),i=n||e,s=new Date(i.getTime()+t*24*60*60*1e3),a=BD(r,i,s),o=new Set(r.skipped_instances||[]),l=n?n.getTime():0;for(let c of a){let d=ue(c);if(c.getTime()>l&&c>=e&&!o.has(d))return c}return null}catch(e){return console.error("Error calculating completion-based recurrence:",e,{task:r.title}),null}}function xne(r){return r.recurrence?(r.recurrence_anchor||"scheduled")==="completion"?B$e(r):z$e(r):null}function Am(r,e=!0){let t=xne(r),n=null,i=null,s=null;if(t){if(e)try{let a=r.scheduled?st(r.scheduled):null,o=r.due?st(r.due):null;if(a&&o){let l=o.getTime()-a.getTime();s=new Date(t.getTime()+l)}}catch(a){console.error("Error calculating next due date with offset:",a)}if(r.scheduled&&r.scheduled.includes("T")){let a=r.scheduled.split("T")[1];n=`${ue(t)}T${a}`}else n=ue(t);if(s&&r.due&&r.due.includes("T")){let a=r.due.split("T")[1];i=`${ue(s)}T${a}`}else s&&(i=ue(s))}return{scheduled:n,due:i}}function Ene(r){if(!r)return"";try{if(r.includes("FREQ=")){let e=r.replace(/DTSTART:[^;]+;?/,"");return r1.fromString(e).toText()}return"rrule"}catch(e){return console.error("Error converting recurrence to display text:",e,{recurrence:r}),"rrule"}}function nd(r){if(!r.recurrence||typeof r.recurrence!="string")return null;if(r.recurrence.includes("DTSTART:"))return r.recurrence;let e=r.scheduled||r.dateCreated;if(!e)return null;try{return`DTSTART:${wne(e)};${r.recurrence}`}catch(t){return console.error("Error parsing date for DTSTART:",t,{sourceDateString:e}),null}}function qD(r,e){if(!r||typeof r!="string")return null;try{let t=wne(e);return r.includes("DTSTART:")?r.replace(/DTSTART:[^;]+;?/,`DTSTART:${t};`):`DTSTART:${t};${r}`}catch(t){return console.error("Error updating DTSTART in recurrence rule:",t,{dateStr:e}),null}}function Dne(r,e,t){if(!r.recurrence||typeof r.recurrence!="string")return null;if(r.recurrence.includes("DTSTART:"))return r.recurrence;let n=r.scheduled||r.dateCreated;if(!n)return null;try{let i;if(t){let s=st(n),a=s.getUTCFullYear(),o=String(s.getUTCMonth()+1).padStart(2,"0"),l=String(s.getUTCDate()).padStart(2,"0");i=`${a}${o}${l}`}else{let s=st(n),a=s.getUTCFullYear(),o=String(s.getUTCMonth()+1).padStart(2,"0"),l=String(s.getUTCDate()).padStart(2,"0"),c=String(e.getHours()).padStart(2,"0"),d=String(e.getMinutes()).padStart(2,"0");i=`${a}${o}${l}T${c}${d}00Z`}return`DTSTART:${i};${r.recurrence}`}catch(i){return console.error("Error parsing date for DTSTART with dragged time:",i,{sourceDateString:n,draggedStart:e,allDay:t}),null}}var r1,gT=v(()=>{t1();Qe();r1=Ee});function Cne(r){return window.moment(r)}function HD(r){if(!r.startsWith("---"))return{};let e=r.indexOf("---",3);if(e===-1)return{};let t=r.substring(3,e);try{return(0,Im.parseYaml)(t)||{}}catch(n){return console.error("Error parsing frontmatter:",n),{}}}async function Nm(r,e){try{let n=(0,Im.normalizePath)(e).split("/").filter(s=>s.length>0),i="";for(let s of n)if(i=i?`${i}/${s}`:s,!await r.adapter.exists(i))try{await r.createFolder(i)}catch(a){if(!await r.adapter.exists(i))throw new Error(`Failed to create folder "${i}"`)}}catch(t){let n=t instanceof Error?t.message:String(t),i=t instanceof Error?t.stack:void 0;console.error("Error creating folder structure:",{error:n,stack:i,folderPath:e,normalizedPath:(0,Im.normalizePath)(e)});let s=new Error(`Failed to create folder "${e}": ${n}`);throw i&&(s.stack=i),s}}function q$e(r,e){try{let t=new Date(r),n=new Date(e);if(isNaN(t.getTime())||isNaN(n.getTime()))return console.error("Invalid timestamps for duration calculation:",{startTime:r,endTime:e}),0;if(n<=t)return console.error("End time is not after start time:",{startTime:r,endTime:e}),0;let i=n.getTime()-t.getTime(),s=Math.round(i/(1e3*60));return Math.max(0,s)}catch(t){return console.error("Error calculating duration:",t,{startTime:r,endTime:e}),0}}function is(r){return!r||!Array.isArray(r)?0:r.reduce((e,t)=>{if(!t.startTime||!t.endTime)return e;let n=q$e(t.startTime,t.endTime);return e+n},0)}function UD(r){return!r||!Array.isArray(r)?null:r.find(e=>e.startTime&&!e.endTime)||null}function VD(r){if(!r||r===0||isNaN(r))return"0m";let e=Math.floor(r/60),t=r%60;return e===0?`${t}m`:t===0?`${e}h`:`${e}h ${t}m`}function qo(r){if(r==="none")return"";let e=new Date,t;switch(r){case"today":t=e;break;case"tomorrow":t=new Date(e),t.setDate(e.getDate()+1);break;case"next-week":t=new Date(e),t.setDate(e.getDate()+7);break;default:return""}return P(t,"yyyy-MM-dd")}function s1(r,e){return r.getUTCFullYear()===e.getUTCFullYear()&&r.getUTCMonth()===e.getUTCMonth()&&r.getUTCDate()===e.getUTCDate()}function Pne(r,e,t,n,i,s,a){var d;let o=r.metadataCache.getFileCache(n),l=o==null?void 0:o.frontmatter;if(l)if(i){let u=i.mapFromFrontmatter(l,t,s);return{title:u.title||"Untitled task",status:u.status||a||"open",priority:u.priority||"normal",due:u.due,scheduled:u.scheduled,path:t,archived:u.archived||!1,tags:u.tags||[],contexts:u.contexts||[],projects:u.projects||[],recurrence:u.recurrence,complete_instances:u.complete_instances,completedDate:u.completedDate,timeEstimate:u.timeEstimate,timeEntries:u.timeEntries,dateCreated:u.dateCreated,dateModified:u.dateModified,reminders:u.reminders}}else{let p=new kg(hL).mapFromFrontmatter(l,t,s);return{title:p.title||"Untitled task",status:p.status||a||"open",priority:p.priority||"normal",due:p.due,scheduled:p.scheduled,path:t,archived:p.archived||!1,tags:p.tags||[],contexts:p.contexts||[],projects:p.projects||[],recurrence:p.recurrence,complete_instances:p.complete_instances,completedDate:p.completedDate,timeEstimate:p.timeEstimate,timeEntries:p.timeEntries,dateCreated:p.dateCreated,dateModified:p.dateModified,reminders:p.reminders}}return{title:((d=t.split("/").pop())==null?void 0:d.replace(".md",""))||"Untitled",status:a||"open",priority:"normal",path:t,archived:!1,reminders:[]}}function Cg(r){if(r.startsWith("---")){let e=r.match(/^---\s*\r?\n([\s\S]*?)\r?\n---\s*\r?\n?([\s\S]*)$/);if(e)return{frontmatter:e[1],body:e[2]||""}}return{frontmatter:null,body:r}}function _ne(r){let e=/^(\s*)([-*+]|\d+\.)(\s+\[)[xX](\].*)/gm,t=!1;return{content:r.replace(e,(i,s,a,o,l)=>(t=!0,`${s}${a}${o} ${l}`)),changed:t}}function WD(r,e){return i1(r,e)}function Pg(r,e,t){return Sne(r,e,t)}function YD(r,e,t){return BD(r,e,t)}function Mne(r,e=!0){return Am(r,e)}function Ane(r){return Ene(r)}function H$e(r){if(!r||typeof r!="object")return!1;let e=r;if(!e.id||typeof e.id!="string"||!e.title||typeof e.title!="string"||!e.startTime||typeof e.startTime!="string"||!e.endTime||typeof e.endTime!="string")return!1;let t=/^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$/;if(!t.test(e.startTime)||!t.test(e.endTime))return!1;let[n,i]=e.startTime.split(":").map(Number),[s,a]=e.endTime.split(":").map(Number),o=n*60+i;if(s*60+a<=o||e.attachments&&!Array.isArray(e.attachments))return!1;if(e.attachments){for(let c of e.attachments)if(typeof c!="string"||!c.trim())return!1}return!(e.color&&typeof e.color!="string"||e.description&&typeof e.description!="string")}function U$e(r,e){try{let t=HD(r);if(!t||!t.timeblocks||!Array.isArray(t.timeblocks))return[];let n=[];for(let i of t.timeblocks)H$e(i)?n.push(i):console.warn(`Invalid timeblock in ${e}:`,i);return n}catch(t){return console.error(`Error extracting timeblocks from ${e}:`,t),[]}}function Ine(){return`tb-${Date.now()}-${Math.random().toString(36).substring(2,11)}`}async function a1(r,e,t,n,i,s){let{getDailyNote:a,getAllDailyNotes:o,appHasDailyNotesPluginLoaded:l}=await Promise.resolve().then(()=>Ke(Hc()));if(!l())throw new Error("Daily Notes plugin is not enabled");let c=o(),d=Cne(t),u=a(d,c);if(!u)throw new Error(`Daily note for ${t} not found`);let p=await r.vault.read(u),m=U$e(p,u.path),f=m.findIndex(y=>y.id===e);if(f===-1)throw new Error(`Timeblock ${e} not found`);let h=m[f];if(t===n){await V$e(r,u,e,i,s);return}await W$e(r,u,e);let g={...h,startTime:i,endTime:s};await Y$e(r,n,g)}async function V$e(r,e,t,n,i){let s=await r.vault.read(e),a=HD(s)||{};if(!a.timeblocks||!Array.isArray(a.timeblocks))throw new Error("No timeblocks found in frontmatter");let o=a.timeblocks.findIndex(l=>l.id===t);if(o===-1)throw new Error(`Timeblock ${t} not found`);a.timeblocks[o].startTime=n,a.timeblocks[o].endTime=i,await o1(r,e,a,s)}async function W$e(r,e,t){let n=await r.vault.read(e),i=HD(n)||{};!i.timeblocks||!Array.isArray(i.timeblocks)||(i.timeblocks=i.timeblocks.filter(s=>s.id!==t),await o1(r,e,i,n))}async function Y$e(r,e,t){let{createDailyNote:n,getDailyNote:i,getAllDailyNotes:s}=await Promise.resolve().then(()=>Ke(Hc())),a=Cne(e),o=s(),l=i(a,o);if(!l){try{l=await n(a)}catch(u){let p=u instanceof Error?u.message:String(u);throw new Error(`Failed to create daily note: ${p}. Please check your Daily Notes plugin configuration and ensure the daily notes folder exists.`)}if(!l)throw new Error("Failed to create daily note. Please check your Daily Notes plugin configuration and ensure the daily notes folder exists.")}let c=await r.vault.read(l),d=HD(c)||{};d.timeblocks||(d.timeblocks=[]),d.timeblocks.push(t),await o1(r,l,d,c)}async function o1(r,e,t,n){let i=n;if(n.startsWith("---")){let o=n.indexOf("---",3);o!==-1&&(i=n.substring(o+3))}let a=`---
${(0,Im.stringifyYaml)(t)}---${i}`;await r.vault.modify(e,a)}function ku(r){return!r||!Array.isArray(r)?[]:r.filter(e=>{if(typeof e!="string")return!1;let t=e.trim();return!(t.length===0||t==='""'||t==="''")})}function Nne(r,e){return qD(r,e)}function Rne(r,e,t){return Dne(r,e,t)}function Ai(r){return!r||typeof r!="string"?"":r.split(",").map(e=>{let t=e.trim();return t.startsWith("#")?t.slice(1):t}).filter(e=>e.length>0).join(", ")}function l1(r){return!r||typeof r!="string"?"":r.replace(/[^a-zA-Z0-9-]/g,"-").toLowerCase()}var Im,Cr=v(()=>{Im=require("obsidian");Tn();FL();lg();gT();Qe()});var wu,GD=v(()=>{jr();wu=class{constructor(e){this.deps=e}buildMetadataRows(e,t,n){var a;let i=[],s=Math.min(e.length,3);for(let o=0;o<s;o++){let l=e[o];if(l)try{let c=n(l),d=[];for(let u of c){if(u.property.startsWith("literal:")){let m=u.property.slice(8);m&&d.push(m);continue}let p=this.resolve(u.property,t);p&&(u.showName?d.push(`${(a=u.displayName)!=null?a:u.property}: ${p}`):d.push(p))}d.length>0&&i.push(d.join(" "))}catch(c){}}return i}stringifyFmValue(e){if(e==null)return"";if(Array.isArray(e))return e.map(i=>this.stringifyFmValue(i)).filter(Boolean).join(", ");let t=typeof e;if(t==="string"){let i=e.trim(),s=i.match(/^\[\[([^\]]+)\]\]$/);if(s){let l=s[1].split("|");if(l.length>1&&l[1].trim())return l[1].trim();let c=l[0].split("#")[0].trim();return(c.split("/").pop()||c).replace(/\.md$/i,"")}let a=i.match(/^\[([^\]]+)\]\(([^)]+)\)$/);return a?a[1].trim():i}if(t==="number"||t==="boolean")return ie(e);if(t==="object"){let n=e;if(typeof n.path=="string"){let i=n.path;return(i.split("/").pop()||i).replace(/\.md$/i,"")}return""}return""}resolve(e,t){if(!e)return"";if(e.startsWith("file."))switch(e){case"file.basename":return t.basename||"";case"file.name":return t.name||"";case"file.path":return t.path||"";case"file.parent":return t.parent||"";default:return""}if(e==="title")return t.title||"";if(e==="aliases"){let s=t.aliases||[];return s.length?s.join(", "):""}let n=e;e.startsWith("frontmatter:")&&(n=e.slice(12));let i=this.deps.getFrontmatter(t)||{};return this.stringifyFmValue(i[n])}}});function G$e(r){let e=[],t="",n=0;for(;n<r.length;){let i=r[n];if(i==="\\"&&n+1<r.length){t+=r[n+1],n+=2;continue}if(i==="|"){e.push(t.trim()),t="",n++;continue}t+=i,n++}return e.push(t.trim()),e.filter(i=>i.length>0)}function K$e(r){return r.replace(/\\\|/g,"|").replace(/\\\)/g,")")}function Pl(r){let e=[];if(!r)return e;let t=/\{([^}]*)\}/g,n,i=0;for(;(n=t.exec(r))!==null;){let a=r.slice(i,n.index);a.length>0&&e.push({property:`literal:${a}`,showName:!1}),i=t.lastIndex;let o=n[1].trim();if(!o)continue;let l=G$e(o);if(l.length===0)continue;let c=l[0];if(!c)throw new Error("Missing property name in token");let d={property:c,showName:!1};for(let u=1;u<l.length;u++){let p=l[u];p==="n"?d.showName=!0:p.startsWith("n(")&&p.endsWith(")")?(d.showName=!0,d.displayName=K$e(p.slice(2,-1))):p==="s"&&(d.searchable=!0)}e.push(d)}let s=r.slice(i);return s.length>0&&e.push({property:`literal:${s}`,showName:!1}),e}var yT=v(()=>{});function One(r){return r!=null?r.trim():""}function Z$e(r){return r?r.trim():""}function KD(r){let e=Z$e(r==null?void 0:r.propertyKey),t=One(r==null?void 0:r.propertyValue);return{key:e,value:t,enabled:e.length>0}}function ZD(r,e){if(!e.enabled)return!0;if(!r||typeof r!="object"||!(e.key in r))return!1;let t=r[e.key],n=One(e.value);if(n.length===0)return t!=null;let i=n.toLowerCase(),s=a=>{if(a==null)return!1;if(Array.isArray(a))return a.some(o=>s(o));if(typeof a=="string")return a.trim().toLowerCase()===i;if(typeof a=="number"||typeof a=="boolean")return String(a).toLowerCase()===i;if(typeof a=="object")try{return JSON.stringify(a).toLowerCase()===i}catch(o){return!1}return ie(a).toLowerCase()===i};return s(t)}var c1=v(()=>{jr()});var di,id,Rm,vr,Om=v(()=>{Qe();di=class extends Error{constructor(t,n,i){super(t);this.field=n;this.nodeId=i;this.name="FilterValidationError"}},id=class extends Error{constructor(t,n){super(t);this.nodeId=n;this.name="FilterEvaluationError"}},Rm=class Rm{static generateId(){return`filter_${Date.now()}_${++this.idCounter}`}static deepCloneFilterQuery(e){return JSON.parse(JSON.stringify(e))}static validateFilterNode(e,t=!0){if(!e||typeof e!="object")throw new di("Filter node must be an object");if(!("id"in e)||!e.id||typeof e.id!="string")throw new di("Filter node must have a valid string ID",void 0,"id"in e?String(e.id):"unknown");if(e.type==="condition")this.validateCondition(e,t);else if(e.type==="group")this.validateGroup(e,t);else{let n=e;throw new di(`Unknown filter node type: ${String(n.type)}`,void 0,typeof n.id=="string"?n.id:void 0)}}static validateCondition(e,t=!0){if(typeof e.property!="string")throw new di("Condition must have a valid property","property",e.id);if(t&&e.property==="")throw new di("Property must be selected","property",e.id);if(e.property==="")return;if(!e.operator||typeof e.operator!="string")throw new di("Condition must have a valid operator","operator",e.id);if(!this.getValidOperatorsForProperty(e.property).includes(e.operator))throw new di(`Operator '${e.operator}' is not valid for property '${e.property}'`,"operator",e.id);if(t&&this.operatorRequiresValue(e.operator)&&(e.value===null||e.value===void 0||e.value===""))throw new di(`Operator '${e.operator}' requires a value`,"value",e.id)}static validateGroup(e,t=!0){if(!e.conjunction||!["and","or"].includes(e.conjunction))throw new di("Group must have a valid conjunction (and/or)","conjunction",e.id);if(!Array.isArray(e.children))throw new di("Group must have a children array","children",e.id);e.children.forEach((n,i)=>{try{this.validateFilterNode(n,t)}catch(s){throw s instanceof di?new di(`Child ${i}: ${s.message}`,s.field,e.id):s}})}static getValidOperatorsForProperty(e){return typeof e=="string"&&e.startsWith("user:")?["is","is-not","contains","does-not-contain","is-before","is-after","is-on-or-before","is-on-or-after","is-empty","is-not-empty","is-checked","is-not-checked","is-greater-than","is-less-than","is-greater-than-or-equal","is-less-than-or-equal"]:{"":[],title:["is","is-not","contains","does-not-contain","is-empty","is-not-empty"],path:["contains","does-not-contain","is-empty","is-not-empty"],status:["is","is-not","is-empty","is-not-empty"],priority:["is","is-not","is-empty","is-not-empty"],tags:["contains","does-not-contain","is-empty","is-not-empty"],contexts:["contains","does-not-contain","is-empty","is-not-empty"],projects:["contains","does-not-contain","is-empty","is-not-empty"],blockedBy:["contains","does-not-contain","is-empty","is-not-empty"],blocking:["contains","does-not-contain","is-empty","is-not-empty"],due:["is","is-not","is-before","is-after","is-on-or-before","is-on-or-after","is-empty","is-not-empty"],scheduled:["is","is-not","is-before","is-after","is-on-or-before","is-on-or-after","is-empty","is-not-empty"],completedDate:["is","is-not","is-before","is-after","is-on-or-before","is-on-or-after","is-empty","is-not-empty"],dateCreated:["is","is-not","is-before","is-after","is-on-or-before","is-on-or-after","is-empty","is-not-empty"],dateModified:["is","is-not","is-before","is-after","is-on-or-before","is-on-or-after","is-empty","is-not-empty"],archived:["is-checked","is-not-checked"],"dependencies.isBlocked":["is-checked","is-not-checked"],"dependencies.isBlocking":["is-checked","is-not-checked"],timeEstimate:["is","is-not","is-greater-than","is-less-than","is-greater-than-or-equal","is-less-than-or-equal"],recurrence:["is-empty","is-not-empty"],"status.isCompleted":["is-checked","is-not-checked"]}[e]||[]}static isFilterNodeComplete(e){try{return this.validateFilterNode(e,!0),!0}catch(t){return!1}}static operatorRequiresValue(e){return!["is-empty","is-not-empty","is-checked","is-not-checked"].includes(e)}static getTaskPropertyValue(e,t){var n;switch(t){case"title":return e.title;case"path":return e.path;case"status":return e.status;case"priority":return e.priority;case"tags":return e.tags||[];case"contexts":return e.contexts||[];case"projects":return e.projects||[];case"blockedBy":return((n=e.blockedBy)==null?void 0:n.map(i=>i.uid))||[];case"blocking":return e.blocking||[];case"due":return e.due;case"scheduled":return e.scheduled;case"completedDate":return e.completedDate;case"dateCreated":return e.dateCreated;case"dateModified":return e.dateModified;case"archived":return e.archived;case"timeEstimate":return e.timeEstimate;case"recurrence":return e.recurrence;case"status.isCompleted":return;case"dependencies.isBlocked":return e.isBlocked===!0;case"dependencies.isBlocking":return e.isBlocking===!0;default:throw new id(`Unknown property: ${t}`)}}static applyOperator(e,t,n,i,s){try{switch(t){case"is":return this.isEqual(e,n,s);case"is-not":return!this.isEqual(e,n,s);case"contains":return this.contains(e,n,s);case"does-not-contain":return!this.contains(e,n,s);case"is-before":return this.isBefore(e,n);case"is-after":return this.isAfter(e,n);case"is-on-or-before":return this.isOnOrBefore(e,n);case"is-on-or-after":return this.isOnOrAfter(e,n);case"is-empty":return this.isEmpty(e);case"is-not-empty":return!this.isEmpty(e);case"is-checked":return e===!0;case"is-not-checked":return e!==!0;case"is-greater-than":return this.isGreaterThan(e,n);case"is-less-than":return this.isLessThan(e,n);case"is-greater-than-or-equal":return this.isGreaterThanOrEqual(e,n);case"is-less-than-or-equal":return this.isLessThanOrEqual(e,n);default:throw new id("Unknown operator",i)}}catch(a){throw a instanceof id?a:new id(`Error applying operator '${t}': ${a.message}`,i)}}static isEqual(e,t,n){return n&&this.isDateProperty(n)&&typeof e=="string"&&typeof t=="string"&&(e||CD(t))?this.isEqualDate(e,t):Array.isArray(e)?Array.isArray(t)?e.some(i=>t.includes(i)):e.includes(t):Array.isArray(t)?t.includes(e):e===t}static matchesHierarchicalTag(e,t){if(!e||!t)return!1;let n=e.toLowerCase(),i=t.toLowerCase();return!!(n===i||n.startsWith(i+"/")||n.includes(i))}static matchesHierarchicalTagExact(e,t){if(!e||!t)return!1;let n=e.toLowerCase(),i=t.toLowerCase();return!!(n===i||n.startsWith(i+"/"))}static matchesTagConditions(e,t){if(!Array.isArray(e)||!Array.isArray(t))return!1;if(t.length===0)return!0;let n=[],i=[];for(let s of t)if(typeof s=="string"&&s.startsWith("-")){let a=s.slice(1);a&&i.push(a)}else typeof s=="string"&&n.push(s);for(let s of i)if(e.some(o=>this.matchesHierarchicalTag(o,s)))return!1;return n.length>0?n.some(s=>e.some(a=>this.matchesHierarchicalTag(a,s))):!0}static contains(e,t,n){if(Array.isArray(e))if(Array.isArray(t))if(n==="tags"){let i=e.filter(a=>typeof a=="string"),s=t.filter(a=>typeof a=="string");return Rm.matchesTagConditions(i,s)}else return t.some(i=>e.some(s=>typeof s=="string"&&typeof i=="string"&&s.toLowerCase().includes(i.toLowerCase())));else{let i=typeof t=="string"?t:String(t!=null?t:"");if(n==="tags"){let s=e.filter(a=>typeof a=="string");return Rm.matchesTagConditions(s,[i])}else{let s=i.toLowerCase();return e.some(a=>typeof a=="string"&&a.toLowerCase().includes(s))}}else if(typeof e=="string")if(Array.isArray(t))if(n==="tags"){let i=t.filter(s=>typeof s=="string");return Rm.matchesTagConditions([e],i)}else return t.some(i=>typeof i=="string"&&e.toLowerCase().includes(i.toLowerCase()));else return n==="tags"&&typeof t=="string"?Rm.matchesTagConditions([e],[t]):typeof t=="string"&&e.toLowerCase().includes(t.toLowerCase());return!1}static isBefore(e,t){if(!e||!t)return!1;try{let n=Sm(t);return Kc(e,n)}catch(n){return!1}}static isAfter(e,t){if(!e||!t)return!1;try{let n=Sm(t);return Kc(n,e)}catch(n){return!1}}static isOnOrBefore(e,t){if(!e||!t)return!1;try{let n=Sm(t);return Kc(e,n)||Ln(tt(e),tt(n))}catch(n){return!1}}static isOnOrAfter(e,t){if(!e||!t)return!1;try{let n=Sm(t);return Kc(n,e)||Ln(tt(e),tt(n))}catch(n){return!1}}static isDateProperty(e){return["due","scheduled","completedDate","dateCreated","dateModified"].includes(e)}static isEqualDate(e,t){try{let n=Sm(t);return Ln(tt(e),tt(n))}catch(n){return!1}}static isEmpty(e){return e==null?!0:typeof e=="string"?e.trim()==="":Array.isArray(e)?e.length===0?!0:e.every(t=>{if(typeof t!="string")return!1;let n=t.trim();return n.length===0||n==='""'||n==="''"}):!1}static isGreaterThan(e,t){let n=typeof e=="number"?e:parseFloat(e),i=typeof t=="number"?t:parseFloat(t);return isNaN(n)||isNaN(i)?!1:n>i}static isLessThan(e,t){let n=typeof e=="number"?e:parseFloat(e),i=typeof t=="number"?t:parseFloat(t);return isNaN(n)||isNaN(i)?!1:n<i}static isGreaterThanOrEqual(e,t){let n=typeof e=="number"?e:parseFloat(e),i=typeof t=="number"?t:parseFloat(t);return isNaN(n)||isNaN(i)?!1:n>=i}static isLessThanOrEqual(e,t){let n=typeof e=="number"?e:parseFloat(e),i=typeof t=="number"?t:parseFloat(t);return isNaN(n)||isNaN(i)?!1:n<=i}};Rm.idCounter=0;vr=Rm});var _l,Su,QD=v(()=>{_l=require("obsidian");GD();yT();c1();Om();Su=class extends _l.FuzzySuggestModal{constructor(e,t,n){super(e),this.plugin=t,this.onChoose=n,this.setPlaceholder("Type to search for project notes..."),this.setInstructions([{command:"\u2191\u2193",purpose:"to navigate"},{command:"\u21B5",purpose:"to select"},{command:"esc",purpose:"to cancel"}])}getItems(){var s,a,o,l,c,d,u;let e=this.app.vault.getAllLoadedFiles().filter(p=>p instanceof _l.TFile&&p.extension==="md"&&!p.path.includes(".trash")),t=(o=(a=(s=this.plugin.settings)==null?void 0:s.projectAutosuggest)==null?void 0:a.requiredTags)!=null?o:[],n=(d=(c=(l=this.plugin.settings)==null?void 0:l.projectAutosuggest)==null?void 0:c.includeFolders)!=null?d:[],i=KD((u=this.plugin.settings)==null?void 0:u.projectAutosuggest);return t.length===0&&n.length===0&&!i.enabled?e:e.filter(p=>{var f,h;if(!(p instanceof _l.TFile))return!1;let m=this.app.metadataCache.getFileCache(p);if(t.length>0){let g=((f=m==null?void 0:m.tags)==null?void 0:f.map(T=>T.tag.replace("#","")))||[],y=((h=m==null?void 0:m.frontmatter)==null?void 0:h.tags)||[],k=[...g,...Array.isArray(y)?y:[y].filter(Boolean)];if(!vr.matchesTagConditions(k,t))return!1}if(n.length>0&&!n.some(y=>p.path.startsWith(y)||p.path.startsWith(y+"/")))return!1;if(i.enabled){let g=m==null?void 0:m.frontmatter;if(!ZD(g,i))return!1}return!0})}getItemText(e){var a,o,l,c;if(!(e instanceof _l.TFile))return e.name;let t=`${e.name} ${e.path}`,n=(l=(o=(a=this.plugin.settings)==null?void 0:a.projectAutosuggest)==null?void 0:o.rows)!=null?l:[],i=new Set;for(let d of n)try{let u=Pl(d);for(let p of u)p.searchable&&!p.property.startsWith("literal:")&&i.add(p.property)}catch(u){}let s=this.app.metadataCache.getFileCache(e);if(s!=null&&s.frontmatter){let d=this.plugin.fieldMapper.mapFromFrontmatter(s.frontmatter,e.path,this.plugin.settings.storeTitleInFilename),u=typeof d.title=="string"?d.title:"";u&&(t+=` ${u}`);let p=(0,_l.parseFrontMatterAliases)(s.frontmatter)||[];Array.isArray(p)&&p.length>0&&(t+=` ${p.join(" ")}`);for(let m of i){let f="";switch(m){case"file.path":f=e.path;break;case"file.parent":f=((c=e.parent)==null?void 0:c.name)||"";break;case"file.basename":f=e.basename;break;case"title":case"aliases":break;default:{let h=s.frontmatter[m];h!=null&&(f=Array.isArray(h)?h.join(" "):String(h));break}}f&&(t+=` ${f}`)}}return t}renderSuggestion(e,t){var a,o,l,c;let n=e.item;if(t.empty(),!(n instanceof _l.TFile)){t.textContent=n.name;return}let i=t.createDiv({cls:"project-suggestion"}),s=((l=(o=(a=this.plugin.settings)==null?void 0:a.projectAutosuggest)==null?void 0:o.rows)!=null?l:[]).slice(0,3);if(s.length===0){i.createSpan({cls:"project-name",text:n.basename});return}try{let d=this.app.metadataCache.getFileCache(n),u=(d==null?void 0:d.frontmatter)||{},p=this.plugin.fieldMapper.mapFromFrontmatter(u,n.path,this.plugin.settings.storeTitleInFilename),m=typeof p.title=="string"?p.title:"",f=(0,_l.parseFrontMatterAliases)(u)||[],h=Array.isArray(f)?f.filter(T=>typeof T=="string"):[],g={basename:n.basename,name:n.name,path:n.path,parent:((c=n.parent)==null?void 0:c.path)||"",title:m,aliases:h,frontmatter:u},y=new wu({getFrontmatter:()=>u});i.createDiv({cls:"project-name",text:n.basename});let k=y.buildMetadataRows(s,g,Pl);for(let T of k){let w=i.createDiv({cls:"project-meta"});w.textContent=T}}catch(d){console.error("Error rendering project suggestion:",d),i.createSpan({cls:"project-name",text:n.basename})}}onChooseItem(e,t){this.onChoose(e)}}});function Ml(r,e,t,n,i={}){var p;let{cssClass:s="internal-link",hoverSource:a="tasknotes-property-link",showErrorNotices:o=!1,onPrimaryNavigate:l}=i,c=(p=n.sourcePath)!=null?p:"",d=dn(e),u=r.createEl("a",{cls:s,text:t,attr:{"data-href":d,role:"link",tabindex:"0"}});u.addEventListener("click",m=>{m.preventDefault(),m.stopPropagation(),(async()=>{try{if(m.ctrlKey||m.metaKey){n.workspace.openLinkText(d,c,!0);return}if(l&&await l(d,m)!==!1)return;let f=n.metadataCache.getFirstLinkpathDest(d,c)||n.metadataCache.getFirstLinkpathDest(d,"");f instanceof xu.TFile?await n.workspace.getLeaf(!1).openFile(f):o&&new xu.Notice(`Note "${t}" not found`)}catch(f){console.error("[TaskNotes] Error opening internal link:",{filePath:e,error:f}),o&&new xu.Notice(`Failed to open note "${t}"`)}})()}),u.addEventListener("auxclick",m=>{m.button===1&&(m.preventDefault(),m.stopPropagation(),(async()=>{try{(n.metadataCache.getFirstLinkpathDest(d,c)||n.metadataCache.getFirstLinkpathDest(d,""))instanceof xu.TFile&&n.workspace.openLinkText(d,c,!0)}catch(f){console.error("[TaskNotes] Error opening internal link:",{filePath:e,error:f})}})())}),u.addEventListener("keydown",m=>{(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),u.click())}),u.addEventListener("mouseover",m=>{let f=n.metadataCache.getFirstLinkpathDest(d,c)||n.metadataCache.getFirstLinkpathDest(d,"");if(f instanceof xu.TFile){let h={event:m,source:a,hoverParent:r,targetEl:u,linktext:d,sourcePath:c||f.path};n.workspace.trigger("hover-link",h)}})}function JD(r,e,t,n){let i=0,s;for(;(s=Q$e.exec(e))!==null;){let[o,l,c,d]=s,u=s.index;if(u>i&&r.appendChild(activeDocument.createTextNode(e.slice(i,u))),l){let p=l,m=p,f=p;if(p.includes("|")){let[h,g]=p.split("|");m=h,f=g}Ml(r,m,f,t)}else if(c&&d){let p=String(d).trim(),m=String(c).trim();/^[a-z]+:\/\//i.test(p)?r.createEl("a",{text:m,attr:{href:p,target:"_blank",rel:"noopener"}}).classList.add("external-link"):Ml(r,p,m,t)}i=u+o.length}let a=e.slice(i);if(a&&(n!=null&&n.onTagClick)){let o=/(^|\s)(#[\p{L}\p{N}\p{M}_/-]+)/gu,l=0,c;for(;(c=o.exec(a))!==null;){let[,d,u]=c,p=c.index;p>l&&r.appendChild(activeDocument.createTextNode(a.slice(l,p))),d&&r.appendChild(activeDocument.createTextNode(d));let m=r.createEl("a",{cls:"tag",text:u,attr:{href:u,role:"button",tabindex:"0","data-tn-click-exclude":"true"}});m.addEventListener("click",f=>{f.preventDefault(),f.stopPropagation(),n.onTagClick(u,f)}),m.addEventListener("keydown",f=>{(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),f.stopPropagation(),n.onTagClick(u,f))}),l=p+d.length+u.length}l<a.length&&r.appendChild(activeDocument.createTextNode(a.slice(l)))}else a&&r.appendChild(activeDocument.createTextNode(a))}function J$e(r){return!r||typeof r!="string"||!r.startsWith("[[")||!r.endsWith("]]")||r.startsWith("\\[[")||r.endsWith("\\]]")?!1:r.slice(2,-2).trim().length>0}function X$e(r){return!r||typeof r!="string"?!1:/^\[([^\]]*)\]\(([^)]+)\)$/.test(r)}function eje(r){let e=r.match(/^\[([^\]]*)\]\(([^)]+)\)$/);if(!e)return null;let t=e[1].trim(),n=e[2].trim(),i=dn(n);return{displayText:t,filePath:i}}function Lne(r,e,t){var u,p;let n=(u=t.sourcePath)!=null?u:"",i=dn(r),s=t.metadataCache.getFirstLinkpathDest(i,n)||t.metadataCache.getFirstLinkpathDest(i,"");if(!(s instanceof xu.TFile))return e;let a=t.metadataCache.getCache(s.path),o=(p=a==null?void 0:a.frontmatter)==null?void 0:p.title;if(typeof o!="string"||o.trim().length===0)return e;let l=(e==null?void 0:e.trim())||"",c=s.name,d=s.basename;return l===""||l===c||l===d||l===s.path||l===i?o:e}function XD(r,e,t,n={}){r.innerHTML="",e.flat(2).filter(s=>s!=null&&typeof s=="string").forEach((s,a)=>{if(a>0&&r.appendChild(activeDocument.createTextNode(", ")),r.appendChild(activeDocument.createTextNode("+")),J$e(s)){let o=s.slice(2,-2),l=o,c=o;if(o.includes("|")){let u=o.split("|");l=u[0].trim(),c=u[1].trim()}let d=Lne(l,c,t);Ml(r,l,d,t,{cssClass:"task-card__project-link internal-link",hoverSource:"tasknotes-project-link",showErrorNotices:!0,onPrimaryNavigate:n.onPrimaryNavigate})}else if(X$e(s)){let o=eje(s);if(o){let l=Lne(o.filePath,o.displayText,t);Ml(r,o.filePath,l,t,{cssClass:"task-card__project-link internal-link",hoverSource:"tasknotes-project-link",showErrorNotices:!0,onPrimaryNavigate:n.onPrimaryNavigate})}else r.appendChild(activeDocument.createTextNode(s))}else r.appendChild(activeDocument.createTextNode(s))})}var xu,Q$e,vT=v(()=>{xu=require("obsidian");Bo();Q$e=/\[\[([^[\]]+)\]\]|\[([^\]]+)\]\(([^)]+)\)|<(https?:\/\/[^\s>]+)>|\[([^\]]+)\]\s*\[([^\]]*)\]/g});var Fne=v(()=>{});var $ne,d1=v(()=>{$ne={triggers:[{propertyId:"tags",trigger:"#",enabled:!0},{propertyId:"contexts",trigger:"@",enabled:!0},{propertyId:"projects",trigger:"+",enabled:!0},{propertyId:"status",trigger:"*",enabled:!0},{propertyId:"priority",trigger:"!",enabled:!1}]}});var jne,zne=v(()=>{jne={code:"en",name:"English",chronoLocale:"en",dateTriggers:{due:["due","deadline","must be done by","by"],scheduled:["scheduled for","start on","begin on","work on","on","scheduled","start"]},recurrence:{frequencies:{daily:["daily","every day"],weekly:["weekly","every week"],monthly:["monthly","every month"],yearly:["yearly","annually","every year"]},every:["every"],other:["other"],weekdays:{monday:["monday"],tuesday:["tuesday"],wednesday:["wednesday"],thursday:["thursday"],friday:["friday"],saturday:["saturday"],sunday:["sunday"]},pluralWeekdays:{monday:["mondays"],tuesday:["tuesdays"],wednesday:["wednesdays"],thursday:["thursdays"],friday:["fridays"],saturday:["saturdays"],sunday:["sundays"]},ordinals:{first:["first"],second:["second"],third:["third"],fourth:["fourth"],last:["last"]},periods:{day:["day","days"],week:["week","weeks"],month:["month","months"],year:["year","years"]}},timeEstimate:{hours:["h","hr","hrs","hour","hours"],minutes:["m","min","mins","minute","minutes"]},fallbackStatus:{open:["todo","to do","open"],inProgress:["in progress","in-progress","doing"],done:["done","completed","finished"],cancelled:["cancelled","canceled"],waiting:["waiting","blocked","on hold"]},fallbackPriority:{urgent:["urgent","critical","highest"],high:["high","important"],normal:["medium","normal"],low:["low","minor"]}}});var Bne,qne=v(()=>{Bne={code:"es",name:"Espa\xF1ol",chronoLocale:"es",dateTriggers:{due:["vence","fecha l\xEDmite","debe terminarse","para el","antes del"],scheduled:["programado para","programado el","comenzar el","empezar el","trabajar en","el"]},recurrence:{frequencies:{daily:["diario","diaria","diariamente","cada d\xEDa","todos los d\xEDas","a diario"],weekly:["semanal","semanalmente","cada semana","todas las semanas","por semana"],monthly:["mensual","mensualmente","cada mes","todos los meses","por mes"],yearly:["anual","anualmente","cada a\xF1o","todos los a\xF1os","por a\xF1o"]},every:["cada","todos los","todas las"],other:["otro","otra"],weekdays:{monday:["lunes"],tuesday:["martes"],wednesday:["mi\xE9rcoles"],thursday:["jueves"],friday:["viernes"],saturday:["s\xE1bado"],sunday:["domingo"]},pluralWeekdays:{monday:["lunes"],tuesday:["martes"],wednesday:["mi\xE9rcoles"],thursday:["jueves"],friday:["viernes"],saturday:["s\xE1bados"],sunday:["domingos"]},ordinals:{first:["primer","primera","primero"],second:["segundo","segunda"],third:["tercer","tercera","tercero"],fourth:["cuarto","cuarta"],last:["\xFAltimo","\xFAltima"]},periods:{day:["d\xEDa","d\xEDas"],week:["semana","semanas"],month:["mes","meses"],year:["a\xF1o","a\xF1os"]}},timeEstimate:{hours:["h","hr","hrs","hora","horas"],minutes:["m","min","mins","minuto","minutos"]},fallbackStatus:{open:["pendiente","por hacer","abierto","todo"],inProgress:["en progreso","en curso","haciendo","trabajando"],done:["hecho","terminado","completado","finalizado"],cancelled:["cancelado","anulado"],waiting:["esperando","bloqueado","en espera"]},fallbackPriority:{urgent:["urgente","cr\xEDtico","cr\xEDtica","m\xE1ximo","m\xE1xima","prioritario","prioritaria"],high:["alto","alta","importante","elevado","elevada"],normal:["medio","media","normal","regular","est\xE1ndar"],low:["bajo","baja","menor","m\xEDnimo","m\xEDnima"]}}});var Hne,Une=v(()=>{Hne={code:"fr",name:"Fran\xE7ais",chronoLocale:"fr",dateTriggers:{due:["\xE9ch\xE9ance","date limite","doit \xEAtre termin\xE9","pour le","avant le"],scheduled:["programm\xE9 pour","programm\xE9 le","commencer le","d\xE9buter le","travailler sur","le"]},recurrence:{frequencies:{daily:["quotidien","quotidienne","quotidiennement","chaque jour","tous les jours","journalier","journali\xE8re"],weekly:["hebdomadaire","chaque semaine","toutes les semaines","par semaine"],monthly:["mensuel","mensuelle","mensuellement","chaque mois","tous les mois","par mois"],yearly:["annuel","annuelle","annuellement","chaque ann\xE9e","tous les ans","par an","par ann\xE9e"]},every:["chaque","tous les","toutes les"],other:["autre"],weekdays:{monday:["lundi"],tuesday:["mardi"],wednesday:["mercredi"],thursday:["jeudi"],friday:["vendredi"],saturday:["samedi"],sunday:["dimanche"]},pluralWeekdays:{monday:["lundis"],tuesday:["mardis"],wednesday:["mercredis"],thursday:["jeudis"],friday:["vendredis"],saturday:["samedis"],sunday:["dimanches"]},ordinals:{first:["premier","premi\xE8re"],second:["deuxi\xE8me","second","seconde"],third:["troisi\xE8me"],fourth:["quatri\xE8me"],last:["dernier","derni\xE8re"]},periods:{day:["jour","jours"],week:["semaine","semaines"],month:["mois"],year:["an","ans","ann\xE9e","ann\xE9es"]}},timeEstimate:{hours:["h","hr","hrs","heure","heures"],minutes:["m","min","mins","minute","minutes"]},fallbackStatus:{open:["\xE0 faire","ouvert","en attente","todo"],inProgress:["en cours","en progression","en train de faire"],done:["termin\xE9","fini","accompli","fait"],cancelled:["annul\xE9","abandonn\xE9"],waiting:["en attente","bloqu\xE9","suspendu"]},fallbackPriority:{urgent:["urgent","urgente","critique","maximum","prioritaire"],high:["\xE9lev\xE9","\xE9lev\xE9e","haut","haute","important","importante","sup\xE9rieur","sup\xE9rieure"],normal:["moyen","moyenne","normal","normale","standard","r\xE9gulier","r\xE9guli\xE8re"],low:["faible","bas","basse","mineur","mineure","minimum"]}}});var Vne,Wne=v(()=>{Vne={code:"de",name:"Deutsch",chronoLocale:"de",dateTriggers:{due:["f\xE4llig","termin","abgabe","deadline","bis zum","bis"],scheduled:["geplant f\xFCr","geplant am","beginnen am","anfangen am","arbeiten an","am","geplant","starten"]},recurrence:{frequencies:{daily:["t\xE4glich","jeden Tag","alle Tage","tagaus tagein"],weekly:["w\xF6chentlich","jede Woche","alle Wochen"],monthly:["monatlich","jeden Monat","alle Monate"],yearly:["j\xE4hrlich","jedes Jahr","alle Jahre"]},every:["jede","jeden","jedes","alle"],other:["andere","anderen","anderes"],weekdays:{monday:["montag"],tuesday:["dienstag"],wednesday:["mittwoch"],thursday:["donnerstag"],friday:["freitag"],saturday:["samstag"],sunday:["sonntag"]},pluralWeekdays:{monday:["montags"],tuesday:["dienstags"],wednesday:["mittwochs"],thursday:["donnerstags"],friday:["freitags"],saturday:["samstags"],sunday:["sonntags"]},ordinals:{first:["erste","ersten","erster"],second:["zweite","zweiten","zweiter"],third:["dritte","dritten","dritter"],fourth:["vierte","vierten","vierter"],last:["letzte","letzten","letzter"]},periods:{day:["tag","tage"],week:["woche","wochen"],month:["monat","monate"],year:["jahr","jahre"]}},timeEstimate:{hours:["h","std","stunde","stunden"],minutes:["m","min","minute","minuten"]},fallbackStatus:{open:["offen","zu erledigen","ausstehend","todo"],inProgress:["in bearbeitung","wird bearbeitet","l\xE4uft","in arbeit"],done:["erledigt","fertig","abgeschlossen","gemacht"],cancelled:["abgebrochen","storniert","abgesagt"],waiting:["wartend","warten","blockiert","pausiert"]},fallbackPriority:{urgent:["dringend","eilig","kritisch","sofort","h\xF6chste"],high:["hoch","hohe","wichtig","priorit\xE4r"],normal:["normal","mittel","mittlere","standard"],low:["niedrig","niedrige","gering","geringe"]}}});var Yne,Gne=v(()=>{Yne={code:"ru",name:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",chronoLocale:"ru",dateTriggers:{due:["\u0441\u0440\u043E\u043A","\u0434\u0435\u0434\u043B\u0430\u0439\u043D","\u0434\u043E","\u043A","\u0441\u0434\u0430\u0442\u044C \u0434\u043E"],scheduled:["\u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043E \u043D\u0430","\u043D\u0430\u0447\u0430\u0442\u044C","\u0440\u0430\u0431\u043E\u0442\u0430\u0442\u044C \u043D\u0430\u0434","\u043D\u0430"]},recurrence:{frequencies:{daily:["\u0435\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u043E","\u043A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C","\u0435\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u044B\u0439","\u043A\u0430\u0436\u0434\u043E\u0434\u043D\u0435\u0432\u043D\u044B\u0439"],weekly:["\u0435\u0436\u0435\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u043E","\u043A\u0430\u0436\u0434\u0443\u044E \u043D\u0435\u0434\u0435\u043B\u044E","\u0435\u0436\u0435\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u044B\u0439"],monthly:["\u0435\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u043E","\u043A\u0430\u0436\u0434\u044B\u0439 \u043C\u0435\u0441\u044F\u0446","\u0435\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u044B\u0439"],yearly:["\u0435\u0436\u0435\u0433\u043E\u0434\u043D\u043E","\u043A\u0430\u0436\u0434\u044B\u0439 \u0433\u043E\u0434","\u0435\u0436\u0435\u0433\u043E\u0434\u043D\u044B\u0439"]},every:["\u043A\u0430\u0436\u0434\u044B\u0439","\u043A\u0430\u0436\u0434\u0443\u044E","\u043A\u0430\u0436\u0434\u043E\u0435","\u0432\u0441\u0435"],other:["\u0434\u0440\u0443\u0433\u043E\u0439","\u0434\u0440\u0443\u0433\u0443\u044E","\u0434\u0440\u0443\u0433\u043E\u0435"],weekdays:{monday:["\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A"],tuesday:["\u0432\u0442\u043E\u0440\u043D\u0438\u043A"],wednesday:["\u0441\u0440\u0435\u0434\u0430"],thursday:["\u0447\u0435\u0442\u0432\u0435\u0440\u0433"],friday:["\u043F\u044F\u0442\u043D\u0438\u0446\u0430"],saturday:["\u0441\u0443\u0431\u0431\u043E\u0442\u0430"],sunday:["\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435"]},pluralWeekdays:{monday:["\u043F\u043E \u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A\u0430\u043C"],tuesday:["\u043F\u043E \u0432\u0442\u043E\u0440\u043D\u0438\u043A\u0430\u043C"],wednesday:["\u043F\u043E \u0441\u0440\u0435\u0434\u0430\u043C"],thursday:["\u043F\u043E \u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0430\u043C"],friday:["\u043F\u043E \u043F\u044F\u0442\u043D\u0438\u0446\u0430\u043C"],saturday:["\u043F\u043E \u0441\u0443\u0431\u0431\u043E\u0442\u0430\u043C"],sunday:["\u043F\u043E \u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u044F\u043C"]},ordinals:{first:["\u043F\u0435\u0440\u0432\u044B\u0439","\u043F\u0435\u0440\u0432\u0430\u044F","\u043F\u0435\u0440\u0432\u043E\u0435"],second:["\u0432\u0442\u043E\u0440\u043E\u0439","\u0432\u0442\u043E\u0440\u0430\u044F","\u0432\u0442\u043E\u0440\u043E\u0435"],third:["\u0442\u0440\u0435\u0442\u0438\u0439","\u0442\u0440\u0435\u0442\u044C\u044F","\u0442\u0440\u0435\u0442\u044C\u0435"],fourth:["\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u044B\u0439","\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0430\u044F","\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u043E\u0435"],last:["\u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439","\u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044F\u044F","\u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0435"]},periods:{day:["\u0434\u0435\u043D\u044C","\u0434\u043D\u0438"],week:["\u043D\u0435\u0434\u0435\u043B\u044F","\u043D\u0435\u0434\u0435\u043B\u0438"],month:["\u043C\u0435\u0441\u044F\u0446","\u043C\u0435\u0441\u044F\u0446\u044B"],year:["\u0433\u043E\u0434","\u0433\u043E\u0434\u044B"]}},timeEstimate:{hours:["\u0447","\u0447\u0430\u0441","\u0447\u0430\u0441\u0430","\u0447\u0430\u0441\u043E\u0432"],minutes:["\u043C","\u043C\u0438\u043D","\u043C\u0438\u043D\u0443\u0442\u0430","\u043C\u0438\u043D\u0443\u0442\u044B","\u043C\u0438\u043D\u0443\u0442"]},fallbackStatus:{open:["\u043E\u0442\u043A\u0440\u044B\u0442\u043E","\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044E","\u043D\u043E\u0432\u043E\u0435","todo"],inProgress:["\u0432 \u0440\u0430\u0431\u043E\u0442\u0435","\u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u0442\u0441\u044F","\u0432 \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0435"],done:["\u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u043E","\u0433\u043E\u0442\u043E\u0432\u043E","\u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E","\u0441\u0434\u0435\u043B\u0430\u043D\u043E"],cancelled:["\u043E\u0442\u043C\u0435\u043D\u0435\u043D\u043E","\u043E\u0442\u043C\u0435\u043D\u0451\u043D","\u043E\u0442\u043C\u0435\u043D\u0435\u043D\u0430"],waiting:["\u043E\u0436\u0438\u0434\u0430\u043D\u0438\u0435","\u0437\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u043E","\u043D\u0430 \u043F\u0430\u0443\u0437\u0435"]},fallbackPriority:{urgent:["\u0441\u0440\u043E\u0447\u043D\u043E","\u043A\u0440\u0438\u0442\u0438\u0447\u043D\u043E","\u044D\u043A\u0441\u0442\u0440\u0435\u043D\u043D\u043E","\u043D\u0435\u043C\u0435\u0434\u043B\u0435\u043D\u043D\u043E"],high:["\u0432\u044B\u0441\u043E\u043A\u0438\u0439","\u0432\u044B\u0441\u043E\u043A\u0430\u044F","\u0432\u0430\u0436\u043D\u043E","\u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442\u043D\u043E"],normal:["\u043D\u043E\u0440\u043C\u0430\u043B\u044C\u043D\u044B\u0439","\u043D\u043E\u0440\u043C\u0430\u043B\u044C\u043D\u0430\u044F","\u0441\u0440\u0435\u0434\u043D\u0438\u0439","\u0441\u0440\u0435\u0434\u043D\u044F\u044F"],low:["\u043D\u0438\u0437\u043A\u0438\u0439","\u043D\u0438\u0437\u043A\u0430\u044F","\u043D\u0435\u0432\u0430\u0436\u043D\u043E","\u043C\u043E\u0436\u043D\u043E \u043F\u043E\u0437\u0436\u0435"]}}});var Kne,Zne=v(()=>{Kne={code:"zh",name:"\u4E2D\u6587",chronoLocale:"zh",dateTriggers:{due:["\u622A\u6B62","\u5230\u671F","\u671F\u9650","\u5728","\u4E4B\u524D"],scheduled:["\u5B89\u6392\u5728","\u8BA1\u5212\u5728","\u5F00\u59CB\u5728","\u5728"]},recurrence:{frequencies:{daily:["\u6BCF\u5929","\u6BCF\u65E5","\u5929\u5929","\u65E5\u5E38"],weekly:["\u6BCF\u5468","\u6BCF\u661F\u671F","\u5468\u5468"],monthly:["\u6BCF\u6708","\u6BCF\u4E2A\u6708","\u6708\u6708"],yearly:["\u6BCF\u5E74","\u5E74\u5E74","\u6BCF\u4E00\u5E74"]},every:["\u6BCF","\u6BCF\u4E2A","\u6BCF\u4E00\u4E2A"],other:["\u5176\u4ED6","\u53E6\u4E00\u4E2A"],weekdays:{monday:["\u5468\u4E00","\u661F\u671F\u4E00","\u793C\u62DC\u4E00"],tuesday:["\u5468\u4E8C","\u661F\u671F\u4E8C","\u793C\u62DC\u4E8C"],wednesday:["\u5468\u4E09","\u661F\u671F\u4E09","\u793C\u62DC\u4E09"],thursday:["\u5468\u56DB","\u661F\u671F\u56DB","\u793C\u62DC\u56DB"],friday:["\u5468\u4E94","\u661F\u671F\u4E94","\u793C\u62DC\u4E94"],saturday:["\u5468\u516D","\u661F\u671F\u516D","\u793C\u62DC\u516D"],sunday:["\u5468\u65E5","\u661F\u671F\u65E5","\u793C\u62DC\u65E5"]},pluralWeekdays:{monday:["\u5468\u4E00","\u661F\u671F\u4E00","\u793C\u62DC\u4E00"],tuesday:["\u5468\u4E8C","\u661F\u671F\u4E8C","\u793C\u62DC\u4E8C"],wednesday:["\u5468\u4E09","\u661F\u671F\u4E09","\u793C\u62DC\u4E09"],thursday:["\u5468\u56DB","\u661F\u671F\u56DB","\u793C\u62DC\u56DB"],friday:["\u5468\u4E94","\u661F\u671F\u4E94","\u793C\u62DC\u4E94"],saturday:["\u5468\u516D","\u661F\u671F\u516D","\u793C\u62DC\u516D"],sunday:["\u5468\u65E5","\u661F\u671F\u65E5","\u793C\u62DC\u65E5"]},ordinals:{first:["\u7B2C\u4E00\u4E2A","\u7B2C\u4E00","\u9996\u4E2A"],second:["\u7B2C\u4E8C\u4E2A","\u7B2C\u4E8C"],third:["\u7B2C\u4E09\u4E2A","\u7B2C\u4E09"],fourth:["\u7B2C\u56DB\u4E2A","\u7B2C\u56DB"],last:["\u6700\u540E\u4E00\u4E2A","\u6700\u540E","\u672B\u5C3E"]},periods:{day:["\u5929","\u65E5"],week:["\u5468","\u661F\u671F"],month:["\u6708","\u4E2A\u6708"],year:["\u5E74"]}},timeEstimate:{hours:["\u5C0F\u65F6","\u65F6","\u4E2A\u5C0F\u65F6"],minutes:["\u5206\u949F","\u5206","\u4E2A\u5206\u949F"]},fallbackStatus:{open:["\u5F85\u529E","\u672A\u5B8C\u6210","\u5F00\u653E","\u65B0\u5EFA"],inProgress:["\u8FDB\u884C\u4E2D","\u6B63\u5728\u5904\u7406","\u5904\u7406\u4E2D","\u5DE5\u4F5C\u4E2D"],done:["\u5B8C\u6210","\u5DF2\u5B8C\u6210","\u7ED3\u675F","\u641E\u5B9A"],cancelled:["\u53D6\u6D88","\u5DF2\u53D6\u6D88","\u5E9F\u5F03"],waiting:["\u7B49\u5F85","\u6682\u505C","\u963B\u585E","\u5F85\u5B9A"]},fallbackPriority:{urgent:["\u7D27\u6025","\u6025\u8FEB","\u7ACB\u5373","\u9A6C\u4E0A"],high:["\u9AD8","\u91CD\u8981","\u9AD8\u4F18\u5148\u7EA7"],normal:["\u6B63\u5E38","\u666E\u901A","\u4E2D\u7B49","\u6807\u51C6"],low:["\u4F4E","\u4E0D\u91CD\u8981","\u4F4E\u4F18\u5148\u7EA7","\u6B21\u8981"]}}});var Qne,Jne=v(()=>{Qne={code:"ja",name:"\u65E5\u672C\u8A9E",chronoLocale:"ja",dateTriggers:{due:["\u671F\u9650","\u7DE0\u5207","\u3006\u5207","\u307E\u3067","\u307E\u3067\u306B","\u306B"],scheduled:["\u4E88\u5B9A","\u8A08\u753B","\u958B\u59CB","\u304B\u3089","\u306B\u958B\u59CB","\u3092\u958B\u59CB"]},recurrence:{frequencies:{daily:["\u6BCE\u65E5","\u65E5\u3005","\u6BCE\u65E5\u6BCE\u65E5","\u9023\u65E5"],weekly:["\u6BCE\u9031","\u9031\u6BCE","\u9031\u4E00","\u6BCE\u9031\u6BCE\u9031"],monthly:["\u6BCE\u6708","\u6708\u6BCE","\u6708\u4E00","\u6BCE\u6708\u6BCE\u6708"],yearly:["\u6BCE\u5E74","\u5E74\u6BCE","\u5E74\u4E00","\u6BCE\u5E74\u6BCE\u5E74","\u5E74\u6B21"]},every:["\u6BCE","\u5404","\u5168\u3066"],other:["\u4ED6\u306E","\u5225\u306E","\u7570\u306A\u308B"],weekdays:{monday:["\u6708\u66DC\u65E5","\u6708\u66DC","\u6708","\u3052\u3064\u3088\u3046\u3073"],tuesday:["\u706B\u66DC\u65E5","\u706B\u66DC","\u706B","\u304B\u3088\u3046\u3073"],wednesday:["\u6C34\u66DC\u65E5","\u6C34\u66DC","\u6C34","\u3059\u3044\u3088\u3046\u3073"],thursday:["\u6728\u66DC\u65E5","\u6728\u66DC","\u6728","\u3082\u304F\u3088\u3046\u3073"],friday:["\u91D1\u66DC\u65E5","\u91D1\u66DC","\u91D1","\u304D\u3093\u3088\u3046\u3073"],saturday:["\u571F\u66DC\u65E5","\u571F\u66DC","\u571F","\u3069\u3088\u3046\u3073"],sunday:["\u65E5\u66DC\u65E5","\u65E5\u66DC","\u65E5","\u306B\u3061\u3088\u3046\u3073"]},pluralWeekdays:{monday:["\u6708\u66DC\u65E5","\u6708\u66DC","\u6708","\u3052\u3064\u3088\u3046\u3073"],tuesday:["\u706B\u66DC\u65E5","\u706B\u66DC","\u706B","\u304B\u3088\u3046\u3073"],wednesday:["\u6C34\u66DC\u65E5","\u6C34\u66DC","\u6C34","\u3059\u3044\u3088\u3046\u3073"],thursday:["\u6728\u66DC\u65E5","\u6728\u66DC","\u6728","\u3082\u304F\u3088\u3046\u3073"],friday:["\u91D1\u66DC\u65E5","\u91D1\u66DC","\u91D1","\u304D\u3093\u3088\u3046\u3073"],saturday:["\u571F\u66DC\u65E5","\u571F\u66DC","\u571F","\u3069\u3088\u3046\u3073"],sunday:["\u65E5\u66DC\u65E5","\u65E5\u66DC","\u65E5","\u306B\u3061\u3088\u3046\u3073"]},ordinals:{first:["\u6700\u521D\u306E","\u7B2C\u4E00\u306E","\u4E00\u756A\u76EE\u306E","\u521D\u56DE"],second:["\u4E8C\u756A\u76EE\u306E","\u7B2C\u4E8C\u306E","\u6B21\u306E"],third:["\u4E09\u756A\u76EE\u306E","\u7B2C\u4E09\u306E"],fourth:["\u56DB\u756A\u76EE\u306E","\u7B2C\u56DB\u306E"],last:["\u6700\u5F8C\u306E","\u6700\u7D42\u306E","\u7D42\u308F\u308A\u306E"]},periods:{day:["\u65E5","\u65E5\u9593"],week:["\u9031","\u9031\u9593"],month:["\u6708","\u6708\u9593","\u30F6\u6708"],year:["\u5E74","\u5E74\u9593"]}},timeEstimate:{hours:["\u6642\u9593","\u6642","\u3058\u304B\u3093"],minutes:["\u5206","\u5206\u9593","\u3075\u3093","\u3077\u3093"]},fallbackStatus:{open:["\u672A\u7740\u624B","\u65B0\u898F","\u30AA\u30FC\u30D7\u30F3","\u958B\u59CB\u524D","\u5F85\u6A5F"],inProgress:["\u9032\u884C\u4E2D","\u4F5C\u696D\u4E2D","\u5B9F\u884C\u4E2D","\u51E6\u7406\u4E2D","\u9032\u884C"],done:["\u5B8C\u4E86","\u7D42\u4E86","\u6E08\u307F","\u7D42\u308F\u308A","\u9054\u6210"],cancelled:["\u30AD\u30E3\u30F3\u30BB\u30EB","\u4E2D\u6B62","\u53D6\u6D88","\u5EC3\u6B62","\u505C\u6B62"],waiting:["\u5F85\u6A5F","\u4FDD\u7559","\u30D6\u30ED\u30C3\u30AF","\u4E00\u6642\u505C\u6B62","\u5F85\u3061"]},fallbackPriority:{urgent:["\u7DCA\u6025","\u81F3\u6025","\u6025\u52D9","\u6700\u512A\u5148","\u3059\u3050\u306B"],high:["\u9AD8","\u91CD\u8981","\u9AD8\u512A\u5148\u5EA6","\u91CD\u70B9"],normal:["\u666E\u901A","\u901A\u5E38","\u6A19\u6E96","\u4E00\u822C","\u30CE\u30FC\u30DE\u30EB"],low:["\u4F4E","\u8EFD\u5FAE","\u5F8C\u56DE\u3057","\u4F4E\u512A\u5148\u5EA6","\u4F59\u88D5"]}}});var Xne,eie=v(()=>{Xne={code:"it",name:"Italiano",chronoLocale:"it",dateTriggers:{due:["scadenza","entro","entro il","deve essere fatto entro","per il","termine"],scheduled:["programmato per","programmato il","iniziare il","lavorare su","il","per"]},recurrence:{frequencies:{daily:["giornaliero","giornaliera","quotidiano","quotidiana","ogni giorno","tutti i giorni","giornalmente"],weekly:["settimanale","ogni settimana","tutte le settimane","settimanalmente","alla settimana"],monthly:["mensile","ogni mese","tutti i mesi","mensilmente","al mese"],yearly:["annuale","ogni anno","tutti gli anni","annualmente","all'anno"]},every:["ogni","tutti i","tutte le"],other:["altro","altra","altri","altre"],weekdays:{monday:["luned\xEC"],tuesday:["marted\xEC"],wednesday:["mercoled\xEC"],thursday:["gioved\xEC"],friday:["venerd\xEC"],saturday:["sabato"],sunday:["domenica"]},pluralWeekdays:{monday:["luned\xEC"],tuesday:["marted\xEC"],wednesday:["mercoled\xEC"],thursday:["gioved\xEC"],friday:["venerd\xEC"],saturday:["sabati"],sunday:["domeniche"]},ordinals:{first:["primo","prima"],second:["secondo","seconda"],third:["terzo","terza"],fourth:["quarto","quarta"],last:["ultimo","ultima"]},periods:{day:["giorno","giorni"],week:["settimana","settimane"],month:["mese","mesi"],year:["anno","anni"]}},timeEstimate:{hours:["h","hr","ore","ora","o"],minutes:["m","min","minuto","minuti"]},fallbackStatus:{open:["da fare","aperto","pendente","todo","in sospeso"],inProgress:["in corso","in progresso","facendo","lavorando"],done:["fatto","completato","finito","terminato","chiuso"],cancelled:["cancellato","annullato","rimosso"],waiting:["in attesa","aspettando","bloccato","fermo"]},fallbackPriority:{urgent:["urgente","critico","critica","massimo","massima","prioritario","prioritaria"],high:["alto","alta","importante","elevato","elevata"],normal:["medio","media","normale","regolare","standard"],low:["basso","bassa","minore","minimo","minima"]}}});var tie,rie=v(()=>{tie={code:"nl",name:"Nederlands",chronoLocale:"nl",dateTriggers:{due:["vervalt op","deadline","moet klaar zijn op","tegen","uiterlijk","voor"],scheduled:["gepland voor","gepland op","beginnen op","werken aan","op","voor"]},recurrence:{frequencies:{daily:["dagelijks","elke dag","alle dagen","per dag"],weekly:["wekelijks","elke week","alle weken","per week"],monthly:["maandelijks","elke maand","alle maanden","per maand"],yearly:["jaarlijks","elk jaar","alle jaren","per jaar"]},every:["elke","alle","iedere"],other:["andere","ander"],weekdays:{monday:["maandag"],tuesday:["dinsdag"],wednesday:["woensdag"],thursday:["donderdag"],friday:["vrijdag"],saturday:["zaterdag"],sunday:["zondag"]},pluralWeekdays:{monday:["maandagen"],tuesday:["dinsdagen"],wednesday:["woensdagen"],thursday:["donderdagen"],friday:["vrijdagen"],saturday:["zaterdagen"],sunday:["zondagen"]},ordinals:{first:["eerste"],second:["tweede"],third:["derde"],fourth:["vierde"],last:["laatste"]},periods:{day:["dag","dagen"],week:["week","weken"],month:["maand","maanden"],year:["jaar","jaren"]}},timeEstimate:{hours:["u","uur","uren","h"],minutes:["m","min","minuut","minuten"]},fallbackStatus:{open:["te doen","open","nog te doen","todo","openstaand"],inProgress:["bezig","in behandeling","aan het werk","lopend","in uitvoering"],done:["klaar","voltooid","gedaan","afgerond","gesloten"],cancelled:["geannuleerd","afgezegd","ingetrokken"],waiting:["wachtend","in de wacht","geblokkeerd","uitgesteld"]},fallbackPriority:{urgent:["urgent","kritiek","hoogste","spoed","direct"],high:["hoog","hoge","belangrijk","belangrijke"],normal:["normaal","normale","gemiddeld","standaard"],low:["laag","lage","klein","kleine","onbelangrijk"]}}});var nie,iie=v(()=>{nie={code:"pt",name:"Portugu\xEAs",chronoLocale:"pt",dateTriggers:{due:["vencimento","prazo","deve estar pronto at\xE9","at\xE9","para","limite"],scheduled:["programado para","agendado para","come\xE7ar em","trabalhar em","em","no"]},recurrence:{frequencies:{daily:["di\xE1rio","di\xE1ria","diariamente","todos os dias","cada dia","por dia"],weekly:["semanal","semanalmente","toda semana","todas as semanas","por semana"],monthly:["mensal","mensalmente","todo m\xEAs","todos os meses","por m\xEAs"],yearly:["anual","anualmente","todo ano","todos os anos","por ano"]},every:["todo","toda","todos","todas","cada"],other:["outro","outra","outros","outras"],weekdays:{monday:["segunda","segunda-feira"],tuesday:["ter\xE7a","ter\xE7a-feira"],wednesday:["quarta","quarta-feira"],thursday:["quinta","quinta-feira"],friday:["sexta","sexta-feira"],saturday:["s\xE1bado"],sunday:["domingo"]},pluralWeekdays:{monday:["segundas","segundas-feiras"],tuesday:["ter\xE7as","ter\xE7as-feiras"],wednesday:["quartas","quartas-feiras"],thursday:["quintas","quintas-feiras"],friday:["sextas","sextas-feiras"],saturday:["s\xE1bados"],sunday:["domingos"]},ordinals:{first:["primeiro","primeira"],second:["segundo","segunda"],third:["terceiro","terceira"],fourth:["quarto","quarta"],last:["\xFAltimo","\xFAltima"]},periods:{day:["dia","dias"],week:["semana","semanas"],month:["m\xEAs","meses"],year:["ano","anos"]}},timeEstimate:{hours:["h","hr","hora","horas"],minutes:["m","min","minuto","minutos"]},fallbackStatus:{open:["a fazer","pendente","aberto","todo","por fazer"],inProgress:["em andamento","em progresso","fazendo","trabalhando","executando"],done:["feito","conclu\xEDdo","terminado","finalizado","completo"],cancelled:["cancelado","anulado","suspenso"],waiting:["aguardando","esperando","bloqueado","em espera"]},fallbackPriority:{urgent:["urgente","cr\xEDtico","cr\xEDtica","m\xE1ximo","m\xE1xima","priorit\xE1rio","priorit\xE1ria"],high:["alto","alta","importante","elevado","elevada"],normal:["m\xE9dio","m\xE9dia","normal","regular","padr\xE3o"],low:["baixo","baixa","menor","m\xEDnimo","m\xEDnima"]}}});var sie,aie=v(()=>{sie={code:"sv",name:"Svenska",chronoLocale:"sv",dateTriggers:{due:["f\xF6rfaller","deadline","m\xE5ste vara klar","senast","till","innan"],scheduled:["schemalagd","planerad f\xF6r","b\xF6rja","arbeta med","den","p\xE5"]},recurrence:{frequencies:{daily:["dagligen","varje dag","alla dagar","per dag"],weekly:["veckovis","varje vecka","alla veckor","per vecka"],monthly:["m\xE5nadsvis","varje m\xE5nad","alla m\xE5nader","per m\xE5nad"],yearly:["\xE5rligen","varje \xE5r","alla \xE5r","per \xE5r"]},every:["varje","alla","var"],other:["annan","annat","andra"],weekdays:{monday:["m\xE5ndag"],tuesday:["tisdag"],wednesday:["onsdag"],thursday:["torsdag"],friday:["fredag"],saturday:["l\xF6rdag"],sunday:["s\xF6ndag"]},pluralWeekdays:{monday:["m\xE5ndagar"],tuesday:["tisdagar"],wednesday:["onsdagar"],thursday:["torsdagar"],friday:["fredagar"],saturday:["l\xF6rdagar"],sunday:["s\xF6ndagar"]},ordinals:{first:["f\xF6rsta"],second:["andra"],third:["tredje"],fourth:["fj\xE4rde"],last:["sista"]},periods:{day:["dag","dagar"],week:["vecka","veckor"],month:["m\xE5nad","m\xE5nader"],year:["\xE5r"]}},timeEstimate:{hours:["t","tim","timme","timmar","h"],minutes:["m","min","minut","minuter"]},fallbackStatus:{open:["att g\xF6ra","\xF6ppen","kvar","todo","v\xE4ntande"],inProgress:["p\xE5g\xE5ende","arbetar","g\xF6r","i process","under arbete"],done:["klar","f\xE4rdig","slutf\xF6rd","avslutad","gjord"],cancelled:["avbruten","inst\xE4lld","avbokad"],waiting:["v\xE4ntar","blockerad","pausad","vilande"]},fallbackPriority:{urgent:["br\xE5dskande","kritisk","h\xF6gsta","akut","omedelbar"],high:["h\xF6g","viktig","f\xF6rh\xF6jd","prioriterad"],normal:["normal","medel","standard","vanlig"],low:["l\xE5g","mindre","minimal","obetydlig"]}}});var oie,lie=v(()=>{oie={code:"uk",name:"\u0423\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430",chronoLocale:"uk",dateTriggers:{due:["\u0442\u0435\u0440\u043C\u0456\u043D","\u0434\u0435\u0434\u043B\u0430\u0439\u043D","\u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0433\u043E\u0442\u043E\u0432\u043E \u0434\u043E","\u0434\u043E","\u043D\u0435 \u043F\u0456\u0437\u043D\u0456\u0448\u0435","\u043A\u0440\u0430\u0439\u043D\u0456\u0439 \u0442\u0435\u0440\u043C\u0456\u043D"],scheduled:["\u0437\u0430\u043F\u043B\u0430\u043D\u043E\u0432\u0430\u043D\u043E \u043D\u0430","\u0437\u0430\u043F\u043B\u0430\u043D\u043E\u0432\u0430\u043D\u0438\u0439","\u043F\u043E\u0447\u0430\u0442\u0438","\u043F\u0440\u0430\u0446\u044E\u0432\u0430\u0442\u0438 \u043D\u0430\u0434","\u043D\u0430","\u0432"]},recurrence:{frequencies:{daily:["\u0449\u043E\u0434\u043D\u044F","\u0449\u043E\u0434\u0435\u043D\u043D\u043E","\u043A\u043E\u0436\u0435\u043D \u0434\u0435\u043D\u044C","\u0432\u0441\u0456 \u0434\u043D\u0456","\u043D\u0430 \u0434\u0435\u043D\u044C"],weekly:["\u0449\u043E\u0442\u0438\u0436\u043D\u044F","\u0449\u043E\u0442\u0438\u0436\u043D\u0435\u0432\u043E","\u043A\u043E\u0436\u0435\u043D \u0442\u0438\u0436\u0434\u0435\u043D\u044C","\u0432\u0441\u0456 \u0442\u0438\u0436\u043D\u0456","\u043D\u0430 \u0442\u0438\u0436\u0434\u0435\u043D\u044C"],monthly:["\u0449\u043E\u043C\u0456\u0441\u044F\u0446\u044F","\u0449\u043E\u043C\u0456\u0441\u044F\u0447\u043D\u043E","\u043A\u043E\u0436\u0435\u043D \u043C\u0456\u0441\u044F\u0446\u044C","\u0432\u0441\u0456 \u043C\u0456\u0441\u044F\u0446\u0456","\u043D\u0430 \u043C\u0456\u0441\u044F\u0446\u044C"],yearly:["\u0449\u043E\u0440\u043E\u043A\u0443","\u0449\u043E\u0440\u0456\u0447\u043D\u043E","\u043A\u043E\u0436\u0435\u043D \u0440\u0456\u043A","\u0432\u0441\u0456 \u0440\u043E\u043A\u0438","\u043D\u0430 \u0440\u0456\u043A"]},every:["\u043A\u043E\u0436\u0435\u043D","\u043A\u043E\u0436\u043D\u0430","\u043A\u043E\u0436\u043D\u0435","\u0432\u0441\u0456"],other:["\u0456\u043D\u0448\u0438\u0439","\u0456\u043D\u0448\u0430","\u0456\u043D\u0448\u0435","\u0456\u043D\u0448\u0456"],weekdays:{monday:["\u043F\u043E\u043D\u0435\u0434\u0456\u043B\u043E\u043A"],tuesday:["\u0432\u0456\u0432\u0442\u043E\u0440\u043E\u043A"],wednesday:["\u0441\u0435\u0440\u0435\u0434\u0430"],thursday:["\u0447\u0435\u0442\u0432\u0435\u0440"],friday:["\u043F'\u044F\u0442\u043D\u0438\u0446\u044F"],saturday:["\u0441\u0443\u0431\u043E\u0442\u0430"],sunday:["\u043D\u0435\u0434\u0456\u043B\u044F"]},pluralWeekdays:{monday:["\u043F\u043E\u043D\u0435\u0434\u0456\u043B\u043A\u0438"],tuesday:["\u0432\u0456\u0432\u0442\u043E\u0440\u043A\u0438"],wednesday:["\u0441\u0435\u0440\u0435\u0434\u0438"],thursday:["\u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0438"],friday:["\u043F'\u044F\u0442\u043D\u0438\u0446\u0456"],saturday:["\u0441\u0443\u0431\u043E\u0442\u0438"],sunday:["\u043D\u0435\u0434\u0456\u043B\u0456"]},ordinals:{first:["\u043F\u0435\u0440\u0448\u0438\u0439","\u043F\u0435\u0440\u0448\u0430","\u043F\u0435\u0440\u0448\u0435"],second:["\u0434\u0440\u0443\u0433\u0438\u0439","\u0434\u0440\u0443\u0433\u0430","\u0434\u0440\u0443\u0433\u0435"],third:["\u0442\u0440\u0435\u0442\u0456\u0439","\u0442\u0440\u0435\u0442\u044F","\u0442\u0440\u0435\u0442\u0454"],fourth:["\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0438\u0439","\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0430","\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0435"],last:["\u043E\u0441\u0442\u0430\u043D\u043D\u0456\u0439","\u043E\u0441\u0442\u0430\u043D\u043D\u044F","\u043E\u0441\u0442\u0430\u043D\u043D\u0454"]},periods:{day:["\u0434\u0435\u043D\u044C","\u0434\u043D\u0456","\u0434\u043D\u0456\u0432"],week:["\u0442\u0438\u0436\u0434\u0435\u043D\u044C","\u0442\u0438\u0436\u043D\u0456","\u0442\u0438\u0436\u043D\u0456\u0432"],month:["\u043C\u0456\u0441\u044F\u0446\u044C","\u043C\u0456\u0441\u044F\u0446\u0456","\u043C\u0456\u0441\u044F\u0446\u0456\u0432"],year:["\u0440\u0456\u043A","\u0440\u043E\u043A\u0438","\u0440\u043E\u043A\u0456\u0432"]}},timeEstimate:{hours:["\u0433","\u0433\u043E\u0434","\u0433\u043E\u0434\u0438\u043D\u0430","\u0433\u043E\u0434\u0438\u043D\u0438","\u0433\u043E\u0434\u0438\u043D"],minutes:["\u0445\u0432","\u043C\u0456\u043D","\u0445\u0432\u0438\u043B\u0438\u043D\u0430","\u0445\u0432\u0438\u043B\u0438\u043D\u0438","\u0445\u0432\u0438\u043B\u0438\u043D"]},fallbackStatus:{open:["\u0437\u0440\u043E\u0431\u0438\u0442\u0438","\u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438\u0439","\u043E\u0447\u0456\u043A\u0443\u0454","todo","\u0432 \u043E\u0447\u0456\u043A\u0443\u0432\u0430\u043D\u043D\u0456"],inProgress:["\u0432 \u0440\u043E\u0431\u043E\u0442\u0456","\u0432\u0438\u043A\u043E\u043D\u0443\u0454\u0442\u044C\u0441\u044F","\u0440\u043E\u0431\u043B\u044E","\u043F\u0440\u0430\u0446\u044E\u044E","\u0432 \u043F\u0440\u043E\u0446\u0435\u0441\u0456"],done:["\u0433\u043E\u0442\u043E\u0432\u043E","\u0432\u0438\u043A\u043E\u043D\u0430\u043D\u043E","\u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E","\u0437\u0430\u043A\u0456\u043D\u0447\u0435\u043D\u043E","\u0437\u0440\u043E\u0431\u043B\u0435\u043D\u043E"],cancelled:["\u0441\u043A\u0430\u0441\u043E\u0432\u0430\u043D\u043E","\u0432\u0456\u0434\u043C\u0456\u043D\u0435\u043D\u043E","\u043F\u0440\u0438\u043F\u0438\u043D\u0435\u043D\u043E"],waiting:["\u0447\u0435\u043A\u0430\u044E","\u043E\u0447\u0456\u043A\u0443\u044E","\u0437\u0430\u0431\u043B\u043E\u043A\u043E\u0432\u0430\u043D\u043E","\u043F\u0440\u0438\u0437\u0443\u043F\u0438\u043D\u0435\u043D\u043E"]},fallbackPriority:{urgent:["\u0442\u0435\u0440\u043C\u0456\u043D\u043E\u0432\u043E","\u043A\u0440\u0438\u0442\u0438\u0447\u043D\u043E","\u043D\u0430\u0439\u0432\u0438\u0449\u0438\u0439","\u043D\u0435\u0432\u0456\u0434\u043A\u043B\u0430\u0434\u043D\u043E","\u043F\u0440\u0456\u043E\u0440\u0438\u0442\u0435\u0442\u043D\u043E"],high:["\u0432\u0438\u0441\u043E\u043A\u0438\u0439","\u0432\u0438\u0441\u043E\u043A\u0430","\u0432\u0430\u0436\u043B\u0438\u0432\u043E","\u043F\u0456\u0434\u0432\u0438\u0449\u0435\u043D\u0438\u0439"],normal:["\u0441\u0435\u0440\u0435\u0434\u043D\u0456\u0439","\u0441\u0435\u0440\u0435\u0434\u043D\u044F","\u043D\u043E\u0440\u043C\u0430\u043B\u044C\u043D\u043E","\u0437\u0432\u0438\u0447\u0430\u0439\u043D\u043E","\u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u043E"],low:["\u043D\u0438\u0437\u044C\u043A\u0438\u0439","\u043D\u0438\u0437\u044C\u043A\u0430","\u043C\u0435\u043D\u0448\u0438\u0439","\u043C\u0456\u043D\u0456\u043C\u0430\u043B\u044C\u043D\u0438\u0439","\u043D\u0435\u0437\u043D\u0430\u0447\u043D\u0438\u0439"]}}});var cie=v(()=>{});function uie(r){return die[r]||die.en}var die,u1=v(()=>{zne();qne();Une();Wne();Gne();Zne();Jne();eie();rie();iie();aie();lie();cie();die={en:jne,es:Bne,fr:Hne,de:Vne,ru:Yne,zh:Kne,ja:Qne,it:Xne,nl:tie,pt:nie,sv:sie,uk:oie}});var eC,p1=v(()=>{eC=class{constructor(e,t=[]){this.config=e,this.userFields=t,this.triggerMap=new Map,this.propertyMap=new Map,this.buildMaps()}buildMaps(){this.triggerMap.clear(),this.propertyMap.clear();for(let e of this.config.triggers)e.enabled&&(this.triggerMap.set(e.trigger,e),this.propertyMap.set(e.propertyId,e))}getTriggerForProperty(e){return this.propertyMap.get(e)}getPropertyForTrigger(e){var t;return(t=this.triggerMap.get(e))==null?void 0:t.propertyId}getAllEnabledTriggers(){return this.config.triggers.filter(e=>e.enabled)}getTriggersOrderedByLength(){return this.getAllEnabledTriggers().sort((e,t)=>t.trigger.length-e.trigger.length)}usesNativeTagSuggester(){let e=this.getTriggerForProperty("tags");return(e==null?void 0:e.trigger)==="#"&&(e==null?void 0:e.enabled)}getTagTrigger(){let e=this.getTriggerForProperty("tags");return e!=null&&e.enabled?e.trigger:void 0}getContextTrigger(){let e=this.getTriggerForProperty("contexts");return e!=null&&e.enabled?e.trigger:void 0}getProjectTrigger(){let e=this.getTriggerForProperty("projects");return e!=null&&e.enabled?e.trigger:void 0}getStatusTrigger(){let e=this.getTriggerForProperty("status");return e!=null&&e.enabled?e.trigger:void 0}getPriorityTrigger(){let e=this.getTriggerForProperty("priority");return e!=null&&e.enabled?e.trigger:void 0}getUserField(e){return this.userFields.find(t=>t.id===e)}isUserField(e){return this.userFields.some(t=>t.id===e)}getSuggesterType(e){if(e==="tags")return this.usesNativeTagSuggester()?"native-tag":"list";if(e==="contexts")return"list";if(e==="projects")return"file";if(e==="status")return"status";if(e==="priority")return"priority";let t=this.getUserField(e);if(t)switch(t.type){case"text":return t.autosuggestFilter?"file":"list";case"list":return"list";case"boolean":return"boolean";default:return"none"}return"none"}updateConfig(e){this.config=e,this.buildMaps()}updateUserFields(e){this.userFields=e}}});var pie=x((m1,f1)=>{(function(r,e){typeof m1=="object"&&typeof f1!="undefined"?f1.exports=e():typeof define=="function"&&define.amd?define(e):(r=typeof globalThis!="undefined"?globalThis:r||self).dayjs_plugin_quarterOfYear=e()})(m1,(function(){"use strict";var r="month",e="quarter";return function(t,n){var i=n.prototype;i.quarter=function(o){return this.$utils().u(o)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(o-1))};var s=i.add;i.add=function(o,l){return o=Number(o),this.$utils().p(l)===e?this.add(3*o,r):s.bind(this)(o,l)};var a=i.startOf;i.startOf=function(o,l){var c=this.$utils(),d=!!c.u(l)||l;if(c.p(o)===e){var u=this.quarter()-1;return d?this.month(3*u).startOf(r).startOf("day"):this.month(3*u+2).endOf(r).endOf("day")}return a.bind(this)(o,l)}}}))});var Wt=x((h1,g1)=>{(function(r,e){typeof h1=="object"&&typeof g1!="undefined"?g1.exports=e():typeof define=="function"&&define.amd?define(e):(r=typeof globalThis!="undefined"?globalThis:r||self).dayjs=e()})(h1,(function(){"use strict";var r=1e3,e=6e4,t=36e5,n="millisecond",i="second",s="minute",a="hour",o="day",l="week",c="month",d="quarter",u="year",p="date",m="Invalid Date",f=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,h=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(R){var I=["th","st","nd","rd"],O=R%100;return"["+R+(I[(O-20)%10]||I[O]||I[0])+"]"}},y=function(R,I,O){var z=String(R);return!z||z.length>=I?R:""+Array(I+1-z.length).join(O)+R},k={s:y,z:function(R){var I=-R.utcOffset(),O=Math.abs(I),z=Math.floor(O/60),B=O%60;return(I<=0?"+":"-")+y(z,2,"0")+":"+y(B,2,"0")},m:function R(I,O){if(I.date()<O.date())return-R(O,I);var z=12*(O.year()-I.year())+(O.month()-I.month()),B=I.clone().add(z,c),W=O-B<0,Y=I.clone().add(z+(W?-1:1),c);return+(-(z+(O-B)/(W?B-Y:Y-B))||0)},a:function(R){return R<0?Math.ceil(R)||0:Math.floor(R)},p:function(R){return{M:c,y:u,w:l,d:o,D:p,h:a,m:s,s:i,ms:n,Q:d}[R]||String(R||"").toLowerCase().replace(/s$/,"")},u:function(R){return R===void 0}},T="en",w={};w[T]=g;var S="$isDayjsObject",E=function(R){return R instanceof N||!(!R||!R[S])},C=function R(I,O,z){var B;if(!I)return T;if(typeof I=="string"){var W=I.toLowerCase();w[W]&&(B=W),O&&(w[W]=O,B=W);var Y=I.split("-");if(!B&&Y.length>1)return R(Y[0])}else{var ee=I.name;w[ee]=I,B=ee}return!z&&B&&(T=B),B||!z&&T},D=function(R,I){if(E(R))return R.clone();var O=typeof I=="object"?I:{};return O.date=R,O.args=arguments,new N(O)},A=k;A.l=C,A.i=E,A.w=function(R,I){return D(R,{locale:I.$L,utc:I.$u,x:I.$x,$offset:I.$offset})};var N=(function(){function R(O){this.$L=C(O.locale,null,!0),this.parse(O),this.$x=this.$x||O.x||{},this[S]=!0}var I=R.prototype;return I.parse=function(O){this.$d=(function(z){var B=z.date,W=z.utc;if(B===null)return new Date(NaN);if(A.u(B))return new Date;if(B instanceof Date)return new Date(B);if(typeof B=="string"&&!/Z$/i.test(B)){var Y=B.match(f);if(Y){var ee=Y[2]-1||0,ae=(Y[7]||"0").substring(0,3);return W?new Date(Date.UTC(Y[1],ee,Y[3]||1,Y[4]||0,Y[5]||0,Y[6]||0,ae)):new Date(Y[1],ee,Y[3]||1,Y[4]||0,Y[5]||0,Y[6]||0,ae)}}return new Date(B)})(O),this.init()},I.init=function(){var O=this.$d;this.$y=O.getFullYear(),this.$M=O.getMonth(),this.$D=O.getDate(),this.$W=O.getDay(),this.$H=O.getHours(),this.$m=O.getMinutes(),this.$s=O.getSeconds(),this.$ms=O.getMilliseconds()},I.$utils=function(){return A},I.isValid=function(){return this.$d.toString()!==m},I.isSame=function(O,z){var B=D(O);return this.startOf(z)<=B&&B<=this.endOf(z)},I.isAfter=function(O,z){return D(O)<this.startOf(z)},I.isBefore=function(O,z){return this.endOf(z)<D(O)},I.$g=function(O,z,B){return A.u(O)?this[z]:this.set(B,O)},I.unix=function(){return Math.floor(this.valueOf()/1e3)},I.valueOf=function(){return this.$d.getTime()},I.startOf=function(O,z){var B=this,W=!!A.u(z)||z,Y=A.p(O),ee=function(Z,X){var Me=A.w(B.$u?Date.UTC(B.$y,X,Z):new Date(B.$y,X,Z),B);return W?Me:Me.endOf(o)},ae=function(Z,X){return A.w(B.toDate()[Z].apply(B.toDate("s"),(W?[0,0,0,0]:[23,59,59,999]).slice(X)),B)},ce=this.$W,J=this.$M,de=this.$D,vt="set"+(this.$u?"UTC":"");switch(Y){case u:return W?ee(1,0):ee(31,11);case c:return W?ee(1,J):ee(0,J+1);case l:var ct=this.$locale().weekStart||0,Ae=(ce<ct?ce+7:ce)-ct;return ee(W?de-Ae:de+(6-Ae),J);case o:case p:return ae(vt+"Hours",0);case a:return ae(vt+"Minutes",1);case s:return ae(vt+"Seconds",2);case i:return ae(vt+"Milliseconds",3);default:return this.clone()}},I.endOf=function(O){return this.startOf(O,!1)},I.$set=function(O,z){var B,W=A.p(O),Y="set"+(this.$u?"UTC":""),ee=(B={},B[o]=Y+"Date",B[p]=Y+"Date",B[c]=Y+"Month",B[u]=Y+"FullYear",B[a]=Y+"Hours",B[s]=Y+"Minutes",B[i]=Y+"Seconds",B[n]=Y+"Milliseconds",B)[W],ae=W===o?this.$D+(z-this.$W):z;if(W===c||W===u){var ce=this.clone().set(p,1);ce.$d[ee](ae),ce.init(),this.$d=ce.set(p,Math.min(this.$D,ce.daysInMonth())).$d}else ee&&this.$d[ee](ae);return this.init(),this},I.set=function(O,z){return this.clone().$set(O,z)},I.get=function(O){return this[A.p(O)]()},I.add=function(O,z){var B,W=this;O=Number(O);var Y=A.p(z),ee=function(J){var de=D(W);return A.w(de.date(de.date()+Math.round(J*O)),W)};if(Y===c)return this.set(c,this.$M+O);if(Y===u)return this.set(u,this.$y+O);if(Y===o)return ee(1);if(Y===l)return ee(7);var ae=(B={},B[s]=e,B[a]=t,B[i]=r,B)[Y]||1,ce=this.$d.getTime()+O*ae;return A.w(ce,this)},I.subtract=function(O,z){return this.add(-1*O,z)},I.format=function(O){var z=this,B=this.$locale();if(!this.isValid())return B.invalidDate||m;var W=O||"YYYY-MM-DDTHH:mm:ssZ",Y=A.z(this),ee=this.$H,ae=this.$m,ce=this.$M,J=B.weekdays,de=B.months,vt=B.meridiem,ct=function(X,Me,me,gr){return X&&(X[Me]||X(z,W))||me[Me].slice(0,gr)},Ae=function(X){return A.s(ee%12||12,X,"0")},Z=vt||function(X,Me,me){var gr=X<12?"AM":"PM";return me?gr.toLowerCase():gr};return W.replace(h,(function(X,Me){return Me||(function(me){switch(me){case"YY":return String(z.$y).slice(-2);case"YYYY":return A.s(z.$y,4,"0");case"M":return ce+1;case"MM":return A.s(ce+1,2,"0");case"MMM":return ct(B.monthsShort,ce,de,3);case"MMMM":return ct(de,ce);case"D":return z.$D;case"DD":return A.s(z.$D,2,"0");case"d":return String(z.$W);case"dd":return ct(B.weekdaysMin,z.$W,J,2);case"ddd":return ct(B.weekdaysShort,z.$W,J,3);case"dddd":return J[z.$W];case"H":return String(ee);case"HH":return A.s(ee,2,"0");case"h":return Ae(1);case"hh":return Ae(2);case"a":return Z(ee,ae,!0);case"A":return Z(ee,ae,!1);case"m":return String(ae);case"mm":return A.s(ae,2,"0");case"s":return String(z.$s);case"ss":return A.s(z.$s,2,"0");case"SSS":return A.s(z.$ms,3,"0");case"Z":return Y}return null})(X)||Y.replace(":","")}))},I.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},I.diff=function(O,z,B){var W,Y=this,ee=A.p(z),ae=D(O),ce=(ae.utcOffset()-this.utcOffset())*e,J=this-ae,de=function(){return A.m(Y,ae)};switch(ee){case u:W=de()/12;break;case c:W=de();break;case d:W=de()/3;break;case l:W=(J-ce)/6048e5;break;case o:W=(J-ce)/864e5;break;case a:W=J/t;break;case s:W=J/e;break;case i:W=J/r;break;default:W=J}return B?W:A.a(W)},I.daysInMonth=function(){return this.endOf(c).$D},I.$locale=function(){return w[this.$L]},I.locale=function(O,z){if(!O)return this.$L;var B=this.clone(),W=C(O,z,!0);return W&&(B.$L=W),B},I.clone=function(){return A.w(this.$d,this)},I.toDate=function(){return new Date(this.valueOf())},I.toJSON=function(){return this.isValid()?this.toISOString():null},I.toISOString=function(){return this.$d.toISOString()},I.toString=function(){return this.$d.toUTCString()},R})(),V=N.prototype;return D.prototype=V,[["$ms",n],["$s",i],["$m",s],["$H",a],["$W",o],["$M",c],["$y",u],["$D",p]].forEach((function(R){V[R[1]]=function(I){return this.$g(I,R[0],R[1])}})),D.extend=function(R,I){return R.$i||(R(I,N,D),R.$i=!0),D},D.locale=C,D.isDayjs=E,D.unix=function(R){return D(1e3*R)},D.en=w[T],D.Ls=w,D.p={},D}))});var $,ze,la,Nt=v(()=>{(function(r){r[r.AM=0]="AM",r[r.PM=1]="PM"})($||($={}));(function(r){r[r.SUNDAY=0]="SUNDAY",r[r.MONDAY=1]="MONDAY",r[r.TUESDAY=2]="TUESDAY",r[r.WEDNESDAY=3]="WEDNESDAY",r[r.THURSDAY=4]="THURSDAY",r[r.FRIDAY=5]="FRIDAY",r[r.SATURDAY=6]="SATURDAY"})(ze||(ze={}));(function(r){r[r.JANUARY=1]="JANUARY",r[r.FEBRUARY=2]="FEBRUARY",r[r.MARCH=3]="MARCH",r[r.APRIL=4]="APRIL",r[r.MAY=5]="MAY",r[r.JUNE=6]="JUNE",r[r.JULY=7]="JULY",r[r.AUGUST=8]="AUGUST",r[r.SEPTEMBER=9]="SEPTEMBER",r[r.OCTOBER=10]="OCTOBER",r[r.NOVEMBER=11]="NOVEMBER",r[r.DECEMBER=12]="DECEMBER"})(la||(la={}))});function mie(r,e){r.assign("day",e.getDate()),r.assign("month",e.getMonth()+1),r.assign("year",e.getFullYear())}function fie(r,e){r.assign("hour",e.getHours()),r.assign("minute",e.getMinutes()),r.assign("second",e.getSeconds()),r.assign("millisecond",e.getMilliseconds()),r.assign("meridiem",e.getHours()<12?$.AM:$.PM)}function tC(r,e){r.imply("day",e.getDate()),r.imply("month",e.getMonth()+1),r.imply("year",e.getFullYear())}function hie(r,e){r.imply("hour",e.getHours()),r.imply("minute",e.getMinutes()),r.imply("second",e.getSeconds()),r.imply("millisecond",e.getMilliseconds()),r.imply("meridiem",e.getHours()<12?$.AM:$.PM)}var y1=v(()=>{Nt()});function Eu(r,e,t,n,i=0){let s=0,a=0;for(;a<n;)s++,new Date(r,e-1,s).getDay()===t&&a++;return new Date(r,e-1,s,i)}function gie(r,e,t,n=0){let i=t===0?7:t,s=new Date(r,e-1+1,1,12),a=s.getDay()===0?7:s.getDay(),o;return a===i?o=7:a<i?o=7+a-i:o=a-i,s.setDate(s.getDate()-o),new Date(r,e-1,s.getDate(),n)}function rC(r,e,t={}){var i;if(r==null)return null;if(typeof r=="number")return r;let n=(i=t[r])!=null?i:rje[r];return n==null?null:typeof n=="number"?n:e==null?null:(0,v1.default)(e).isAfter(n.dstStart(e.getFullYear()))&&!(0,v1.default)(e).isAfter(n.dstEnd(e.getFullYear()))?n.timezoneOffsetDuringDst:n.timezoneOffsetNonDst}var v1,rje,b1=v(()=>{v1=Ke(Wt(),1);Nt();rje={ACDT:630,ACST:570,ADT:-180,AEDT:660,AEST:600,AFT:270,AKDT:-480,AKST:-540,ALMT:360,AMST:-180,AMT:-240,ANAST:720,ANAT:720,AQTT:300,ART:-180,AST:-240,AWDT:540,AWST:480,AZOST:0,AZOT:-60,AZST:300,AZT:240,BNT:480,BOT:-240,BRST:-120,BRT:-180,BST:60,BTT:360,CAST:480,CAT:120,CCT:390,CDT:-300,CEST:120,CET:{timezoneOffsetDuringDst:120,timezoneOffsetNonDst:60,dstStart:r=>gie(r,la.MARCH,ze.SUNDAY,2),dstEnd:r=>gie(r,la.OCTOBER,ze.SUNDAY,3)},CHADT:825,CHAST:765,CKT:-600,CLST:-180,CLT:-240,COT:-300,CST:-360,CT:{timezoneOffsetDuringDst:-300,timezoneOffsetNonDst:-360,dstStart:r=>Eu(r,la.MARCH,ze.SUNDAY,2,2),dstEnd:r=>Eu(r,la.NOVEMBER,ze.SUNDAY,1,2)},CVT:-60,CXT:420,ChST:600,DAVT:420,EASST:-300,EAST:-360,EAT:180,ECT:-300,EDT:-240,EEST:180,EET:120,EGST:0,EGT:-60,EST:-300,ET:{timezoneOffsetDuringDst:-240,timezoneOffsetNonDst:-300,dstStart:r=>Eu(r,la.MARCH,ze.SUNDAY,2,2),dstEnd:r=>Eu(r,la.NOVEMBER,ze.SUNDAY,1,2)},FJST:780,FJT:720,FKST:-180,FKT:-240,FNT:-120,GALT:-360,GAMT:-540,GET:240,GFT:-180,GILT:720,GMT:0,GST:240,GYT:-240,HAA:-180,HAC:-300,HADT:-540,HAE:-240,HAP:-420,HAR:-360,HAST:-600,HAT:-90,HAY:-480,HKT:480,HLV:-210,HNA:-240,HNC:-360,HNE:-300,HNP:-480,HNR:-420,HNT:-150,HNY:-540,HOVT:420,ICT:420,IDT:180,IOT:360,IRDT:270,IRKST:540,IRKT:540,IRST:210,IST:330,JST:540,KGT:360,KRAST:480,KRAT:480,KST:540,KUYT:240,LHDT:660,LHST:630,LINT:840,MAGST:720,MAGT:720,MART:-510,MAWT:300,MDT:-360,MESZ:120,MEZ:60,MHT:720,MMT:390,MSD:240,MSK:180,MST:-420,MT:{timezoneOffsetDuringDst:-360,timezoneOffsetNonDst:-420,dstStart:r=>Eu(r,la.MARCH,ze.SUNDAY,2,2),dstEnd:r=>Eu(r,la.NOVEMBER,ze.SUNDAY,1,2)},MUT:240,MVT:300,MYT:480,NCT:660,NDT:-90,NFT:690,NOVST:420,NOVT:360,NPT:345,NST:-150,NUT:-660,NZDT:780,NZST:720,OMSST:420,OMST:420,PDT:-420,PET:-300,PETST:720,PETT:720,PGT:600,PHOT:780,PHT:480,PKT:300,PMDT:-120,PMST:-180,PONT:660,PST:-480,PT:{timezoneOffsetDuringDst:-420,timezoneOffsetNonDst:-480,dstStart:r=>Eu(r,la.MARCH,ze.SUNDAY,2,2),dstEnd:r=>Eu(r,la.NOVEMBER,ze.SUNDAY,1,2)},PWT:540,PYST:-180,PYT:-240,RET:240,SAMT:240,SAST:120,SBT:660,SCT:240,SGT:480,SRT:-180,SST:-660,TAHT:-600,TFT:300,TJT:300,TKT:780,TLT:540,TMT:300,TVT:720,ULAT:480,UTC:0,UYST:-120,UYT:-180,UZT:300,VET:-210,VLAST:660,VLAT:660,VUT:660,WAST:120,WAT:60,WEST:60,WESZ:60,WET:0,WEZ:0,WFT:720,WGST:-120,WGT:-180,WIB:420,WIT:540,WITA:480,WST:780,WT:0,YAKST:600,YAKT:600,YAPT:600,YEKST:360,YEKT:360}});function yie(r,e){var n,i,s,a,o,l,c;let t=new Date(r);if(e.y&&(e.year=e.y,delete e.y),e.mo&&(e.month=e.mo,delete e.mo),e.M&&(e.month=e.M,delete e.M),e.w&&(e.week=e.w,delete e.w),e.d&&(e.day=e.d,delete e.d),e.h&&(e.hour=e.h,delete e.h),e.m&&(e.minute=e.m,delete e.m),e.s&&(e.second=e.s,delete e.s),e.ms&&(e.millisecond=e.ms,delete e.ms),"year"in e){let d=Math.floor(e.year);t.setFullYear(t.getFullYear()+d);let u=e.year-d;u>0&&(e.month=(n=e==null?void 0:e.month)!=null?n:0,e.month+=u*12)}if("quarter"in e){let d=Math.floor(e.quarter);t.setMonth(t.getMonth()+d*3)}if("month"in e){let d=Math.floor(e.month);t.setMonth(t.getMonth()+d);let u=e.month-d;u>0&&(e.week=(i=e==null?void 0:e.week)!=null?i:0,e.week+=u*4)}if("week"in e){let d=Math.floor(e.week);t.setDate(t.getDate()+d*7);let u=e.week-d;u>0&&(e.day=(s=e==null?void 0:e.day)!=null?s:0,e.day+=Math.round(u*7))}if("day"in e){let d=Math.floor(e.day);t.setDate(t.getDate()+d);let u=e.day-d;u>0&&(e.hour=(a=e==null?void 0:e.hour)!=null?a:0,e.hour+=Math.round(u*24))}if("hour"in e){let d=Math.floor(e.hour);t.setHours(t.getHours()+d);let u=e.hour-d;u>0&&(e.minute=(o=e==null?void 0:e.minute)!=null?o:0,e.minute+=Math.round(u*60))}if("minute"in e){let d=Math.floor(e.minute);t.setMinutes(t.getMinutes()+d);let u=e.minute-d;u>0&&(e.second=(l=e==null?void 0:e.second)!=null?l:0,e.second+=Math.round(u*60))}if("second"in e){let d=Math.floor(e.second);t.setSeconds(t.getSeconds()+d);let u=e.second-d;u>0&&(e.millisecond=(c=e==null?void 0:e.millisecond)!=null?c:0,e.millisecond+=Math.round(u*1e3))}if("millisecond"in e){let d=Math.floor(e.millisecond);t.setMilliseconds(t.getMilliseconds()+d)}return t}function _g(r){let e={};for(let t in r)e[t]=-r[t];return e}var bT=v(()=>{});var vie,T1,Yt,Q,$t,rt=v(()=>{vie=Ke(pie(),1),T1=Ke(Wt(),1);y1();b1();bT();T1.default.extend(vie.default);Yt=class r{constructor(e,t){M(this,"instant");M(this,"timezoneOffset");this.instant=e!=null?e:new Date,this.timezoneOffset=t!=null?t:null}static fromDate(e){return new r(e)}static fromInput(e,t){var s;if(e instanceof Date)return r.fromDate(e);let n=(s=e==null?void 0:e.instant)!=null?s:new Date,i=rC(e==null?void 0:e.timezone,n,t);return new r(n,i)}getDateWithAdjustedTimezone(){let e=new Date(this.instant);return this.timezoneOffset!==null&&e.setMinutes(e.getMinutes()-this.getSystemTimezoneAdjustmentMinute(this.instant)),e}getSystemTimezoneAdjustmentMinute(e,t){var s;(!e||e.getTime()<0)&&(e=new Date);let n=-e.getTimezoneOffset(),i=(s=t!=null?t:this.timezoneOffset)!=null?s:n;return n-i}getTimezoneOffset(){var e;return(e=this.timezoneOffset)!=null?e:-this.instant.getTimezoneOffset()}},Q=class r{constructor(e,t){M(this,"knownValues");M(this,"impliedValues");M(this,"reference");M(this,"_tags",new Set);if(this.reference=e,this.knownValues={},this.impliedValues={},t)for(let i in t)this.knownValues[i]=t[i];let n=e.getDateWithAdjustedTimezone();this.imply("day",n.getDate()),this.imply("month",n.getMonth()+1),this.imply("year",n.getFullYear()),this.imply("hour",12),this.imply("minute",0),this.imply("second",0),this.imply("millisecond",0)}get(e){return e in this.knownValues?this.knownValues[e]:e in this.impliedValues?this.impliedValues[e]:null}isCertain(e){return e in this.knownValues}getCertainComponents(){return Object.keys(this.knownValues)}imply(e,t){return e in this.knownValues?this:(this.impliedValues[e]=t,this)}assign(e,t){return this.knownValues[e]=t,delete this.impliedValues[e],this}delete(e){delete this.knownValues[e],delete this.impliedValues[e]}clone(){let e=new r(this.reference);e.knownValues={},e.impliedValues={};for(let t in this.knownValues)e.knownValues[t]=this.knownValues[t];for(let t in this.impliedValues)e.impliedValues[t]=this.impliedValues[t];return e}isOnlyDate(){return!this.isCertain("hour")&&!this.isCertain("minute")&&!this.isCertain("second")}isOnlyTime(){return!this.isCertain("weekday")&&!this.isCertain("day")&&!this.isCertain("month")&&!this.isCertain("year")}isOnlyWeekdayComponent(){return this.isCertain("weekday")&&!this.isCertain("day")&&!this.isCertain("month")}isDateWithUnknownYear(){return this.isCertain("month")&&!this.isCertain("year")}isValidDate(){let e=this.dateWithoutTimezoneAdjustment();return!(e.getFullYear()!==this.get("year")||e.getMonth()!==this.get("month")-1||e.getDate()!==this.get("day")||this.get("hour")!=null&&e.getHours()!=this.get("hour")||this.get("minute")!=null&&e.getMinutes()!=this.get("minute"))}toString(){return`[ParsingComponents {
tags: ${JSON.stringify(Array.from(this._tags).sort())},
knownValues: ${JSON.stringify(this.knownValues)},
impliedValues: ${JSON.stringify(this.impliedValues)}},
reference: ${JSON.stringify(this.reference)}]`}dayjs(){return(0,T1.default)(this.dateWithoutTimezoneAdjustment())}date(){let e=this.dateWithoutTimezoneAdjustment(),t=this.reference.getSystemTimezoneAdjustmentMinute(e,this.get("timezoneOffset"));return new Date(e.getTime()+t*6e4)}addTag(e){return this._tags.add(e),this}addTags(e){for(let t of e)this._tags.add(t);return this}tags(){return new Set(this._tags)}dateWithoutTimezoneAdjustment(){let e=new Date(this.get("year"),this.get("month")-1,this.get("day"),this.get("hour"),this.get("minute"),this.get("second"),this.get("millisecond"));return e.setFullYear(this.get("year")),e}static createRelativeFromReference(e,t){let n=yie(e.getDateWithAdjustedTimezone(),t),i=new r(e);return i.addTag("result/relativeDate"),t.hour||t.minute||t.second?(i.addTag("result/relativeDateAndTime"),fie(i,n),mie(i,n),i.assign("timezoneOffset",e.getTimezoneOffset())):(hie(i,n),i.imply("timezoneOffset",e.getTimezoneOffset()),t.day?(i.assign("day",n.getDate()),i.assign("month",n.getMonth()+1),i.assign("year",n.getFullYear()),i.assign("weekday",n.getDay())):t.week?(i.assign("day",n.getDate()),i.assign("month",n.getMonth()+1),i.assign("year",n.getFullYear()),i.imply("weekday",n.getDay())):(i.imply("day",n.getDate()),t.month?(i.assign("month",n.getMonth()+1),i.assign("year",n.getFullYear())):(i.imply("month",n.getMonth()+1),t.year?i.assign("year",n.getFullYear()):i.imply("year",n.getFullYear())))),i}},$t=class r{constructor(e,t,n,i,s){M(this,"refDate");M(this,"index");M(this,"text");M(this,"reference");M(this,"start");M(this,"end");this.reference=e,this.refDate=e.instant,this.index=t,this.text=n,this.start=i||new Q(e),this.end=s}clone(){let e=new r(this.reference,this.index,this.text);return e.start=this.start?this.start.clone():null,e.end=this.end?this.end.clone():null,e}date(){return this.start.date()}addTag(e){return this.start.addTag(e),this.end&&this.end.addTag(e),this}addTags(e){return this.start.addTags(e),this.end&&this.end.addTags(e),this}tags(){let e=new Set(this.start.tags());if(this.end)for(let t of this.end.tags())e.add(t);return e}toString(){let e=Array.from(this.tags()).sort();return`[ParsingResult {index: ${this.index}, text: '${this.text}', tags: ${JSON.stringify(e)} ...}]`}}});function ss(r,e,t="\\s{0,5},?\\s{0,5}"){let n=e.replace(/\((?!\?)/g,"(?:");return`${r}${n}(?:${t}${n}){0,10}`}function nje(r){let e;return r instanceof Array?e=[...r]:r instanceof Map?e=Array.from(r.keys()):e=Object.keys(r),e}function se(r){return`(?:${nje(r).sort((t,n)=>n.length-t.length).join("|").replace(/\./g,"\\.")})`}var Dt=v(()=>{});function Cs(r){return r<100&&(r>50?r=r+1900:r=r+2e3),r}function ir(r,e,t){let n=(0,bie.default)(r),i=n;i=i.month(t-1),i=i.date(e),i=i.year(n.year());let s=i.add(1,"y"),a=i.add(-1,"y");return Math.abs(s.diff(n))<Math.abs(i.diff(n))?i=s:Math.abs(a.diff(n))<Math.abs(i.diff(n))&&(i=a),i.year()}var bie,un=v(()=>{bie=Ke(Wt(),1)});function ije(r){let e=r.toLowerCase();return k1[e]!==void 0?k1[e]:e==="a"||e==="an"||e=="the"?1:e.match(/few/)?3:e.match(/half/)?.5:e.match(/couple/)?2:e.match(/several/)?7:parseFloat(e)}function Ag(r){let e=r.toLowerCase();return w1[e]!==void 0?w1[e]:(e=e.replace(/(?:st|nd|rd|th)$/i,""),parseInt(e))}function Cu(r){if(/BE/i.test(r))return r=r.replace(/BE/i,""),parseInt(r)-543;if(/BCE?/i.test(r))return r=r.replace(/BCE?/i,""),-parseInt(r);if(/(AD|CE)/i.test(r))return r=r.replace(/(AD|CE)/i,""),parseInt(r);let e=parseInt(r);return Cs(e)}function Wa(r){let e={},t=r,n=Tie.exec(t);for(;n;)aje(e,n),t=t.substring(n[0].length).trim(),n=Tie.exec(t);return Object.keys(e).length==0?null:e}function aje(r,e){if(e[0].match(/^[a-zA-Z]+$/))return;let t=ije(e[1]),n=TT[e[2].toLowerCase()];r[n]=t}var nC,S1,Va,k1,w1,kie,TT,wie,Mg,Du,Sie,Tie,sje,xie,sd,Pu,Fn=v(()=>{Dt();un();nC={sunday:0,sun:0,"sun.":0,monday:1,mon:1,"mon.":1,tuesday:2,tue:2,"tue.":2,wednesday:3,wed:3,"wed.":3,thursday:4,thurs:4,"thurs.":4,thur:4,"thur.":4,thu:4,"thu.":4,friday:5,fri:5,"fri.":5,saturday:6,sat:6,"sat.":6},S1={january:1,february:2,march:3,april:4,may:5,june:6,july:7,august:8,september:9,october:10,november:11,december:12},Va={...S1,jan:1,"jan.":1,feb:2,"feb.":2,mar:3,"mar.":3,apr:4,"apr.":4,jun:6,"jun.":6,jul:7,"jul.":7,aug:8,"aug.":8,sep:9,"sep.":9,sept:9,"sept.":9,oct:10,"oct.":10,nov:11,"nov.":11,dec:12,"dec.":12},k1={one:1,two:2,three:3,four:4,five:5,six:6,seven:7,eight:8,nine:9,ten:10,eleven:11,twelve:12},w1={first:1,second:2,third:3,fourth:4,fifth:5,sixth:6,seventh:7,eighth:8,ninth:9,tenth:10,eleventh:11,twelfth:12,thirteenth:13,fourteenth:14,fifteenth:15,sixteenth:16,seventeenth:17,eighteenth:18,nineteenth:19,twentieth:20,"twenty first":21,"twenty-first":21,"twenty second":22,"twenty-second":22,"twenty third":23,"twenty-third":23,"twenty fourth":24,"twenty-fourth":24,"twenty fifth":25,"twenty-fifth":25,"twenty sixth":26,"twenty-sixth":26,"twenty seventh":27,"twenty-seventh":27,"twenty eighth":28,"twenty-eighth":28,"twenty ninth":29,"twenty-ninth":29,thirtieth:30,"thirty first":31,"thirty-first":31},kie={second:"second",seconds:"second",minute:"minute",minutes:"minute",hour:"hour",hours:"hour",day:"d",days:"d",week:"week",weeks:"week",month:"month",months:"month",quarter:"quarter",quarters:"quarter",year:"year",years:"year"},TT={s:"second",sec:"second",second:"second",seconds:"second",m:"minute",min:"minute",mins:"minute",minute:"minute",minutes:"minute",h:"hour",hr:"hour",hrs:"hour",hour:"hour",hours:"hour",d:"d",day:"d",days:"d",w:"w",week:"week",weeks:"week",mo:"month",mon:"month",mos:"month",month:"month",months:"month",qtr:"quarter",quarter:"quarter",quarters:"quarter",y:"year",yr:"year",year:"year",years:"year",...kie},wie=`(?:${se(k1)}|[0-9]+|[0-9]+\\.[0-9]+|half(?:\\s{0,2}an?)?|an?\\b(?:\\s{0,2}few)?|few|several|the|a?\\s{0,2}couple\\s{0,2}(?:of)?)`;Mg=`(?:${se(w1)}|[0-9]{1,2}(?:st|nd|rd|th)?)`;Du="(?:[1-9][0-9]{0,3}\\s{0,2}(?:BE|AD|BC|BCE|CE)|[1-2][0-9]{3}|[5-9][0-9]|2[0-5])";Sie=`(${wie})\\s{0,3}(${se(TT)})`,Tie=new RegExp(Sie,"i"),sje=`(${wie})\\s{0,3}(${se(kie)})`,xie="\\s{0,5},?(?:\\s*and)?\\s{0,5}",sd=ss("(?:(?:about|around)\\s{0,3})?",Sie,xie),Pu=ss("(?:(?:about|around)\\s{0,3})?",sje,xie)});var q,ve=v(()=>{q=class{constructor(){M(this,"cachedInnerPattern",null);M(this,"cachedPattern",null)}innerPatternHasChange(e,t){return this.innerPattern(e)!==t}patternLeftBoundary(){return"(\\W|^)"}pattern(e){return this.cachedInnerPattern&&!this.innerPatternHasChange(e,this.cachedInnerPattern)?this.cachedPattern:(this.cachedInnerPattern=this.innerPattern(e),this.cachedPattern=new RegExp(`${this.patternLeftBoundary()}${this.cachedInnerPattern.source}`,this.cachedInnerPattern.flags),this.cachedPattern)}extract(e,t){var i;let n=(i=t[1])!=null?i:"";t.index=t.index+n.length,t[0]=t[0].substring(n.length);for(let s=2;s<t.length;s++)t[s-1]=t[s];return this.innerExtract(e,t)}}});var oje,lje,cje,kT,Eie=v(()=>{Fn();rt();ve();oje=new RegExp(`(?:(?:within|in|for)\\s*)?(?:(?:about|around|roughly|approximately|just)\\s*(?:~\\s*)?)?(${sd})(?=\\W|$)`,"i"),lje=new RegExp(`(?:within|in|for)\\s*(?:(?:about|around|roughly|approximately|just)\\s*(?:~\\s*)?)?(${sd})(?=\\W|$)`,"i"),cje=new RegExp(`(?:within|in|for)\\s*(?:(?:about|around|roughly|approximately|just)\\s*(?:~\\s*)?)?(${Pu})(?=\\W|$)`,"i"),kT=class extends q{constructor(t){super();M(this,"strictMode");this.strictMode=t}innerPattern(t){return this.strictMode?cje:t.option.forwardDate?oje:lje}innerExtract(t,n){if(n[0].match(/^for\s*the\s*\w+/))return null;let i=Wa(n[1]);return i?(t.debug(()=>{console.log(i),console.log(Q.createRelativeFromReference(t.reference,i))}),Q.createRelativeFromReference(t.reference,i)):null}}});var dje,Die,Cie,uje,Pie,wT,_ie=v(()=>{un();Fn();Fn();Fn();Dt();ve();dje=new RegExp(`(?:on\\s{0,3})?(${Mg})(?:\\s{0,3}(?:to|\\-|\\\u2013|until|through|till)?\\s{0,3}(${Mg}))?(?:-|/|\\s{0,3}(?:of)?\\s{0,3})(${se(Va)})(?:(?:-|/|,?\\s{0,3})(${Du}(?!\\w)))?(?=\\W|$)`,"i"),Die=1,Cie=2,uje=3,Pie=4,wT=class extends q{innerPattern(){return dje}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=Va[t[uje].toLowerCase()],s=Ag(t[Die]);if(s>31)return t.index=t.index+t[Die].length,null;if(n.start.assign("month",i),n.start.assign("day",s),t[Pie]){let a=Cu(t[Pie]);n.start.assign("year",a)}else{let a=ir(e.refDate,s,i);n.start.imply("year",a)}if(t[Cie]){let a=Ag(t[Cie]);n.end=n.start.clone(),n.end.assign("day",a)}return n}}});var pje,mje,Mie,x1,E1,ST,Aie=v(()=>{un();Fn();Fn();Fn();Dt();ve();pje=new RegExp(`(${se(Va)})(?:-|/|\\s*,?\\s*)(${Mg})(?!\\s*(?:am|pm))\\s*(?:(?:to|\\-)\\s*(${Mg})\\s*)?(?:(?:-|/|\\s*,\\s*|\\s+)(${Du}))?(?=\\W|$)(?!\\:\\d)`,"i"),mje=1,Mie=2,x1=3,E1=4,ST=class extends q{constructor(t){super();M(this,"shouldSkipYearLikeDate");this.shouldSkipYearLikeDate=t}innerPattern(){return pje}innerExtract(t,n){let i=Va[n[mje].toLowerCase()],s=Ag(n[Mie]);if(s>31||this.shouldSkipYearLikeDate&&!n[x1]&&!n[E1]&&n[Mie].match(/^2[0-5]$/))return null;let a=t.createParsingComponents({day:s,month:i}).addTag("parser/ENMonthNameMiddleEndianParser");if(n[E1]){let c=Cu(n[E1]);a.assign("year",c)}else{let c=ir(t.refDate,s,i);a.imply("year",c)}if(!n[x1])return a;let o=Ag(n[x1]),l=t.createParsingResult(n.index,n[0]);return l.start=a,l.end=a.clone(),l.end.assign("day",o),l}}});var fje,hje,gje,Iie,xT,Nie=v(()=>{Fn();un();Dt();Fn();ve();fje=new RegExp(`((?:in)\\s*)?(${se(Va)})\\s*(?:(?:,|-|of)?\\s*(${Du})?)?(?=[^\\s\\w]|\\s+[^0-9]|\\s+$|$)`,"i"),hje=1,gje=2,Iie=3,xT=class extends q{innerPattern(){return fje}innerExtract(e,t){let n=t[gje].toLowerCase();if(t[0].length<=3&&!S1[n])return null;let i=e.createParsingResult(t.index+(t[hje]||"").length,t.index+t[0].length);i.start.imply("day",1),i.start.addTag("parser/ENMonthNameParser");let s=Va[n];if(i.start.assign("month",s),t[Iie]){let a=Cu(t[Iie]);i.start.assign("year",a)}else{let a=ir(e.refDate,1,s);i.start.imply("year",a)}return i}}});var yje,vje,bje,Rie,Tje,ET,Oie=v(()=>{Fn();Dt();ve();yje=new RegExp(`([0-9]{4})[-\\.\\/\\s](?:(${se(Va)})|([0-9]{1,2}))[-\\.\\/\\s]([0-9]{1,2})(?=\\W|$)`,"i"),vje=1,bje=2,Rie=3,Tje=4,ET=class extends q{constructor(t){super();M(this,"strictMonthDateOrder");this.strictMonthDateOrder=t}innerPattern(){return yje}innerExtract(t,n){let i=parseInt(n[vje]),s=parseInt(n[Tje]),a=n[Rie]?parseInt(n[Rie]):Va[n[bje].toLowerCase()];if(a<1||a>12){if(this.strictMonthDateOrder)return null;s>=1&&s<=12&&([a,s]=[s,a])}return s<1||s>31?null:{day:s,month:a,year:i}}}});var kje,wje,Sje,DT,Lie=v(()=>{ve();kje=new RegExp("([0-9]|0[1-9]|1[012])/([0-9]{4})","i"),wje=1,Sje=2,DT=class extends q{innerPattern(){return kje}innerExtract(e,t){let n=parseInt(t[Sje]),i=parseInt(t[wje]);return e.createParsingComponents().imply("day",1).assign("month",i).assign("year",n)}}});function xje(r,e,t,n){return new RegExp(`${r}${e}(\\d{1,4})(?:(?:\\.|:|\uFF1A)(\\d{1,2})(?:(?::|\uFF1A)(\\d{2})(?:\\.(\\d{1,6}))?)?)?(?:\\s*(a\\.m\\.|p\\.m\\.|am?|pm?))?${t}`,n)}function Eje(r,e){return new RegExp(`^(${r})(\\d{1,4})(?:(?:\\.|\\:|\\\uFF1A)(\\d{1,2})(?:(?:\\.|\\:|\\\uFF1A)(\\d{1,2})(?:\\.(\\d{1,6}))?)?)?(?:\\s*(a\\.m\\.|p\\.m\\.|am?|pm?))?${e}`,"i")}var Fie,Ig,iC,sC,CT,Jn,ad=v(()=>{Nt();Fie=2,Ig=3,iC=4,sC=5,CT=6,Jn=class{constructor(e=!1){M(this,"strictMode");M(this,"cachedPrimaryPrefix",null);M(this,"cachedPrimarySuffix",null);M(this,"cachedPrimaryTimePattern",null);M(this,"cachedFollowingPhase",null);M(this,"cachedFollowingSuffix",null);M(this,"cachedFollowingTimePatten",null);this.strictMode=e}patternFlags(){return"i"}primaryPatternLeftBoundary(){return"(^|\\s|T|\\b)"}primarySuffix(){return"(?!/)(?=\\W|$)"}followingSuffix(){return"(?!/)(?=\\W|$)"}pattern(e){return this.getPrimaryTimePatternThroughCache()}extract(e,t){let n=this.extractPrimaryTimeComponents(e,t);if(!n)return t[0].match(/^\d{4}/)?(t.index+=4,null):(t.index+=t[0].length,null);let i=t.index+t[1].length,s=t[0].substring(t[1].length),a=e.createParsingResult(i,s,n);t.index+=t[0].length;let o=e.text.substring(t.index),c=this.getFollowingTimePatternThroughCache().exec(o);return s.match(/^\d{3,4}/)&&c&&(c[0].match(/^\s*([+-])\s*\d{2,4}$/)||c[0].match(/^\s*([+-])\s*\d{2}\W\d{2}/))?null:!c||c[0].match(/^\s*([+-])\s*\d{3,4}$/)?this.checkAndReturnWithoutFollowingPattern(a):(a.end=this.extractFollowingTimeComponents(e,c,a),a.end&&(a.text+=c[0]),this.checkAndReturnWithFollowingPattern(a))}extractPrimaryTimeComponents(e,t,n=!1){let i=e.createParsingComponents(),s=0,a=null,o=parseInt(t[Fie]);if(o>100){if(this.strictMode||t[Ig]!=null)return null;s=o%100,o=Math.floor(o/100)}if(o>24)return null;if(t[Ig]!=null){if(t[Ig].length==1&&!t[CT])return null;s=parseInt(t[Ig])}if(s>=60)return null;if(o>12&&(a=$.PM),t[CT]!=null){if(o>12)return null;let l=t[CT][0].toLowerCase();l=="a"&&(a=$.AM,o==12&&(o=0)),l=="p"&&(a=$.PM,o!=12&&(o+=12))}if(i.assign("hour",o),i.assign("minute",s),a!==null?i.assign("meridiem",a):o<12?i.imply("meridiem",$.AM):i.imply("meridiem",$.PM),t[sC]!=null){let l=parseInt(t[sC].substring(0,3));if(l>=1e3)return null;i.assign("millisecond",l)}if(t[iC]!=null){let l=parseInt(t[iC]);if(l>=60)return null;i.assign("second",l)}return i}extractFollowingTimeComponents(e,t,n){let i=e.createParsingComponents();if(t[sC]!=null){let l=parseInt(t[sC].substring(0,3));if(l>=1e3)return null;i.assign("millisecond",l)}if(t[iC]!=null){let l=parseInt(t[iC]);if(l>=60)return null;i.assign("second",l)}let s=parseInt(t[Fie]),a=0,o=-1;if(t[Ig]!=null?a=parseInt(t[Ig]):s>100&&(a=s%100,s=Math.floor(s/100)),a>=60||s>24)return null;if(s>=12&&(o=$.PM),t[CT]!=null){if(s>12)return null;let l=t[CT][0].toLowerCase();l=="a"&&(o=$.AM,s==12&&(s=0,i.isCertain("day")||i.imply("day",i.get("day")+1))),l=="p"&&(o=$.PM,s!=12&&(s+=12)),n.start.isCertain("meridiem")||(o==$.AM?(n.start.imply("meridiem",$.AM),n.start.get("hour")==12&&n.start.assign("hour",0)):(n.start.imply("meridiem",$.PM),n.start.get("hour")!=12&&n.start.assign("hour",n.start.get("hour")+12)))}return i.assign("hour",s),i.assign("minute",a),o>=0?i.assign("meridiem",o):n.start.isCertain("meridiem")&&n.start.get("hour")>12?n.start.get("hour")-12>s?i.imply("meridiem",$.AM):s<=12&&(i.assign("hour",s+12),i.assign("meridiem",$.PM)):s>12?i.imply("meridiem",$.PM):s<=12&&i.imply("meridiem",$.AM),i.date().getTime()<n.start.date().getTime()&&i.imply("day",i.get("day")+1),i}checkAndReturnWithoutFollowingPattern(e){if(e.text.match(/^\d$/)||e.text.match(/^\d\d\d+$/)||e.text.match(/\d[apAP]$/))return null;let t=e.text.match(/[^\d:.](\d[\d.]+)$/);if(t){let n=t[1];if(this.strictMode||n.includes(".")&&!n.match(/\d(\.\d{2})+$/)||parseInt(n)>24)return null}return e}checkAndReturnWithFollowingPattern(e){if(e.text.match(/^\d+-\d+$/))return null;let t=e.text.match(/[^\d:.](\d[\d.]+)\s*-\s*(\d[\d.]+)$/);if(t){if(this.strictMode)return null;let n=t[1],i=t[2];if(i.includes(".")&&!i.match(/\d(\.\d{2})+$/))return null;let s=parseInt(i),a=parseInt(n);if(s>24||a>24)return null}return e}getPrimaryTimePatternThroughCache(){let e=this.primaryPrefix(),t=this.primarySuffix();return this.cachedPrimaryPrefix===e&&this.cachedPrimarySuffix===t?this.cachedPrimaryTimePattern:(this.cachedPrimaryTimePattern=xje(this.primaryPatternLeftBoundary(),e,t,this.patternFlags()),this.cachedPrimaryPrefix=e,this.cachedPrimarySuffix=t,this.cachedPrimaryTimePattern)}getFollowingTimePatternThroughCache(){let e=this.followingPhase(),t=this.followingSuffix();return this.cachedFollowingPhase===e&&this.cachedFollowingSuffix===t?this.cachedFollowingTimePatten:(this.cachedFollowingTimePatten=Eje(e,t),this.cachedFollowingPhase=e,this.cachedFollowingSuffix=t,this.cachedFollowingTimePatten)}}});var PT,$ie=v(()=>{Nt();ad();PT=class extends Jn{constructor(e){super(e)}followingPhase(){return"\\s*(?:\\-|\\\u2013|\\~|\\\u301C|to|until|through|till|\\?)\\s*"}primaryPrefix(){return"(?:(?:at|from)\\s*)??"}primarySuffix(){return"(?:\\s*(?:o\\W*clock|at\\s*night|in\\s*the\\s*(?:morning|afternoon)))?(?!/)(?=\\W|$)"}extractPrimaryTimeComponents(e,t){let n=super.extractPrimaryTimeComponents(e,t);if(!n)return n;if(t[0].endsWith("night")){let i=n.get("hour");i>=6&&i<12?(n.assign("hour",n.get("hour")+12),n.assign("meridiem",$.PM)):i<6&&n.assign("meridiem",$.AM)}if(t[0].endsWith("afternoon")){n.assign("meridiem",$.PM);let i=n.get("hour");i>=0&&i<=6&&n.assign("hour",n.get("hour")+12)}return t[0].endsWith("morning")&&(n.assign("meridiem",$.AM),n.get("hour")<12&&n.assign("hour",n.get("hour"))),n.addTag("parser/ENTimeExpressionParser")}extractFollowingTimeComponents(e,t,n){let i=super.extractFollowingTimeComponents(e,t,n);return i&&i.addTag("parser/ENTimeExpressionParser"),i}}});var Dje,Cje,_T,jie=v(()=>{Fn();rt();ve();bT();Dje=new RegExp(`(${sd})\\s{0,5}(?:ago|before|earlier)(?=\\W|$)`,"i"),Cje=new RegExp(`(${Pu})\\s{0,5}(?:ago|before|earlier)(?=\\W|$)`,"i"),_T=class extends q{constructor(t){super();M(this,"strictMode");this.strictMode=t}innerPattern(){return this.strictMode?Cje:Dje}innerExtract(t,n){let i=Wa(n[1]);return i?Q.createRelativeFromReference(t.reference,_g(i)):null}}});var Pje,_je,Mje,MT,zie=v(()=>{Fn();rt();ve();Pje=new RegExp(`(${sd})\\s{0,5}(?:later|after|from now|henceforth|forward|out)(?=(?:\\W|$))`,"i"),_je=new RegExp(`(${Pu})\\s{0,5}(later|after|from now)(?=\\W|$)`,"i"),Mje=1,MT=class extends q{constructor(t){super();M(this,"strictMode");this.strictMode=t}innerPattern(){return this.strictMode?_je:Pje}innerExtract(t,n){let i=Wa(n[Mje]);return i?Q.createRelativeFromReference(t.reference,i):null}}});var Ng,Ps,od=v(()=>{Ng=class{refine(e,t){return t.filter(n=>this.isValid(e,n))}},Ps=class{refine(e,t){if(t.length<2)return t;let n=[],i=t[0],s=null;for(let a=1;a<t.length;a++){s=t[a];let o=e.text.substring(i.index+i.text.length,s.index);if(!this.shouldMergeResults(o,i,s,e))n.push(i),i=s;else{let l=i,c=s,d=this.mergeResults(o,l,c,e);e.debug(()=>{console.log(`${this.constructor.name} merged ${l} and ${c} into ${d}`)}),i=d}}return i!=null&&n.push(i),n}}});var zr,Ya=v(()=>{od();zr=class extends Ps{shouldMergeResults(e,t,n){return!t.end&&!n.end&&e.match(this.patternBetween())!=null}mergeResults(e,t,n){if(!t.start.isOnlyWeekdayComponent()&&!n.start.isOnlyWeekdayComponent()&&(n.start.getCertainComponents().forEach(s=>{t.start.isCertain(s)||t.start.imply(s,n.start.get(s))}),t.start.getCertainComponents().forEach(s=>{n.start.isCertain(s)||n.start.imply(s,t.start.get(s))})),t.start.date().getTime()>n.start.date().getTime()){let s=t.start.dayjs(),a=n.start.dayjs();n.start.isOnlyWeekdayComponent()&&a.add(7,"days").isAfter(s)?(a=a.add(7,"days"),n.start.imply("day",a.date()),n.start.imply("month",a.month()+1),n.start.imply("year",a.year())):t.start.isOnlyWeekdayComponent()&&s.add(-7,"days").isBefore(a)?(s=s.add(-7,"days"),t.start.imply("day",s.date()),t.start.imply("month",s.month()+1),t.start.imply("year",s.year())):n.start.isDateWithUnknownYear()&&a.add(1,"years").isAfter(s)?(a=a.add(1,"years"),n.start.imply("year",a.year())):t.start.isDateWithUnknownYear()&&s.add(-1,"years").isBefore(a)?(s=s.add(-1,"years"),t.start.imply("year",s.year())):[n,t]=[t,n]}let i=t.clone();return i.start=t.start,i.end=n.start,i.index=Math.min(t.index,n.index),t.index<n.index?i.text=t.text+e+n.text:i.text=n.text+e+t.text,i}}});var AT,Bie=v(()=>{Ya();AT=class extends zr{patternBetween(){return/^\s*(to|-||until|through|till)\s*$/i}}});function Ho(r,e){e=e.add(1,"day"),Ir(r,e),Al(r,e)}function qie(r,e){e=e.add(1,"day"),D1(r,e),Al(r,e)}function Ir(r,e){r.assign("day",e.date()),r.assign("month",e.month()+1),r.assign("year",e.year())}function Hie(r,e){r.assign("hour",e.hour()),r.assign("minute",e.minute()),r.assign("second",e.second()),r.assign("millisecond",e.millisecond()),r.get("hour")<12?r.assign("meridiem",$.AM):r.assign("meridiem",$.PM)}function D1(r,e){r.imply("day",e.date()),r.imply("month",e.month()+1),r.imply("year",e.year())}function Al(r,e){r.imply("hour",e.hour()),r.imply("minute",e.minute()),r.imply("second",e.second()),r.imply("millisecond",e.millisecond())}var ca=v(()=>{Nt()});function C1(r,e){let t=r.clone(),n=r.start,i=e.start;if(t.start=Uie(n,i),r.end!=null||e.end!=null){let s=r.end==null?r.start:r.end,a=e.end==null?e.start:e.end,o=Uie(s,a);if(r.end==null&&o.date().getTime()<t.start.date().getTime()){let l=o.dayjs().add(1,"day");o.isCertain("day")?Ir(o,l):D1(o,l)}t.end=o}return t}function Uie(r,e){let t=r.clone();return e.isCertain("hour")?(t.assign("hour",e.get("hour")),t.assign("minute",e.get("minute")),e.isCertain("second")?(t.assign("second",e.get("second")),e.isCertain("millisecond")?t.assign("millisecond",e.get("millisecond")):t.imply("millisecond",e.get("millisecond"))):(t.imply("second",e.get("second")),t.imply("millisecond",e.get("millisecond")))):(t.imply("hour",e.get("hour")),t.imply("minute",e.get("minute")),t.imply("second",e.get("second")),t.imply("millisecond",e.get("millisecond"))),e.isCertain("timezoneOffset")&&t.assign("timezoneOffset",e.get("timezoneOffset")),e.isCertain("meridiem")?t.assign("meridiem",e.get("meridiem")):e.get("meridiem")!=null&&t.get("meridiem")==null&&t.imply("meridiem",e.get("meridiem")),t.get("meridiem")==$.PM&&t.get("hour")<12&&(e.isCertain("hour")?t.assign("hour",t.get("hour")+12):t.imply("hour",t.get("hour")+12)),t.addTags(r.tags()),t.addTags(e.tags()),t}var Vie=v(()=>{Nt();ca()});var Br,Ga=v(()=>{od();Vie();Br=class extends Ps{shouldMergeResults(e,t,n){return(t.start.isOnlyDate()&&n.start.isOnlyTime()||n.start.isOnlyDate()&&t.start.isOnlyTime())&&e.match(this.patternBetween())!=null}mergeResults(e,t,n){let i=t.start.isOnlyDate()?C1(t,n):C1(n,t);return i.index=t.index,i.text=t.text+e+n.text,i}}});var Rg,Wie=v(()=>{Ga();Rg=class extends Br{patternBetween(){return new RegExp("^\\s*(T|at|after|before|on|of|,|-|\\.|\u2219|:)?\\s*$")}}});var Aje,IT,Yie=v(()=>{b1();Aje=new RegExp("^\\s*,?\\s*\\(?([A-Z]{2,4})\\)?(?=\\W|$)","i"),IT=class{constructor(e){M(this,"timezoneOverrides");this.timezoneOverrides=e}refine(e,t){var i;let n=(i=e.option.timezones)!=null?i:{};return t.forEach(s=>{var m,f;let a=e.text.substring(s.index+s.text.length),o=Aje.exec(a);if(!o)return;let l=o[1].toUpperCase(),c=(f=(m=s.start.date())!=null?m:s.refDate)!=null?f:new Date,d={...this.timezoneOverrides,...n},u=rC(l,c,d);if(u==null)return;e.debug(()=>{console.log(`Extracting timezone: '${l}' into: ${u} for: ${s.start}`)});let p=s.start.get("timezoneOffset");p!==null&&u!=p&&(s.start.isCertain("timezoneOffset")||l!=o[1])||s.start.isOnlyDate()&&l!=o[1]||(s.text+=o[0],s.start.isCertain("timezoneOffset")||s.start.assign("timezoneOffset",u),s.end!=null&&!s.end.isCertain("timezoneOffset")&&s.end.assign("timezoneOffset",u))}),t}}});var Ije,Nje,Rje,Oje,Uo,NT=v(()=>{Ije=new RegExp("^\\s*(?:\\(?(?:GMT|UTC)\\s?)?([+-])(\\d{1,2})(?::?(\\d{2}))?\\)?","i"),Nje=1,Rje=2,Oje=3,Uo=class{refine(e,t){return t.forEach(function(n){if(n.start.isCertain("timezoneOffset"))return;let i=e.text.substring(n.index+n.text.length),s=Ije.exec(i);if(!s)return;e.debug(()=>{console.log(`Extracting timezone: '${s[0]}' into : ${n}`)});let a=parseInt(s[Rje]),o=parseInt(s[Oje]||"0"),l=a*60+o;l>840||(s[Nje]==="-"&&(l=-l),n.end!=null&&n.end.assign("timezoneOffset",l),n.start.assign("timezoneOffset",l),n.text+=s[0])}),t}}});var _u,P1=v(()=>{_u=class{refine(e,t){if(t.length<2)return t;let n=[],i=t[0];for(let s=1;s<t.length;s++){let a=t[s];if(a.index>=i.index+i.text.length){n.push(i),i=a;continue}let o=null,l=null;a.text.length>i.text.length?(o=a,l=i):(o=i,l=a),e.debug(()=>{console.log(`${this.constructor.name} remove ${l} by ${o}`)}),i=o}return i!=null&&n.push(i),n}}});var Gie,RT,Kie=v(()=>{Gie=Ke(Wt(),1);y1();RT=class{refine(e,t){return e.option.forwardDate&&t.forEach(n=>{let i=(0,Gie.default)(e.reference.getDateWithAdjustedTimezone());if(n.start.isOnlyTime()&&e.reference.instant>n.start.date()){let s=e.reference.getDateWithAdjustedTimezone(),a=new Date(s);a.setDate(a.getDate()+1),tC(n.start,a),e.debug(()=>{console.log(`${this.constructor.name} adjusted ${n} time from the ref date (${s}) to the following day (${a})`)}),n.end&&n.end.isOnlyTime()&&(tC(n.end,a),n.start.date()>n.end.date()&&(a.setDate(a.getDate()+1),tC(n.end,a)))}if(n.start.isOnlyWeekdayComponent()&&i.isAfter(n.start.dayjs())&&(i.day()>=n.start.get("weekday")?i=i.day(n.start.get("weekday")+7):i=i.day(n.start.get("weekday")),n.start.imply("day",i.date()),n.start.imply("month",i.month()+1),n.start.imply("year",i.year()),e.debug(()=>{console.log(`${this.constructor.name} adjusted ${n} weekday (${n.start})`)}),n.end&&n.end.isOnlyWeekdayComponent()&&(i.day()>n.end.get("weekday")?i=i.day(n.end.get("weekday")+7):i=i.day(n.end.get("weekday")),n.end.imply("day",i.date()),n.end.imply("month",i.month()+1),n.end.imply("year",i.year()),e.debug(()=>{console.log(`${this.constructor.name} adjusted ${n} weekday (${n.end})`)}))),n.start.isDateWithUnknownYear()&&i.isAfter(n.start.dayjs()))for(let s=0;s<3&&i.isAfter(n.start.dayjs());s++)n.start.imply("year",n.start.get("year")+1),e.debug(()=>{console.log(`${this.constructor.name} adjusted ${n} year (${n.start})`)}),n.end&&!n.end.isCertain("year")&&(n.end.imply("year",n.end.get("year")+1),e.debug(()=>{console.log(`${this.constructor.name} adjusted ${n} month (${n.start})`)}))}),t}}});var OT,Zie=v(()=>{od();OT=class extends Ng{constructor(t){super();M(this,"strictMode");this.strictMode=t}isValid(t,n){return n.text.replace(" ","").match(/^\d*(\.\d*)?$/)?(t.debug(()=>{console.log(`Removing unlikely result '${n.text}'`)}),!1):n.start.isValidDate()?n.end&&!n.end.isValidDate()?(t.debug(()=>{console.log(`Removing invalid result: ${n} (${n.end})`)}),!1):this.strictMode?this.isStrictModeValid(t,n):!0:(t.debug(()=>{console.log(`Removing invalid result: ${n} (${n.start})`)}),!1)}isStrictModeValid(t,n){return n.start.isOnlyWeekdayComponent()?(t.debug(()=>{console.log(`(Strict) Removing weekday only component: ${n} (${n.end})`)}),!1):!0}}});var Lje,Fje,$je,jje,Qie,zje,Jie,Xie,Bje,ese,tse,ld,aC=v(()=>{ve();Lje=new RegExp("([0-9]{4})\\-([0-9]{1,2})\\-([0-9]{1,2})(?:T([0-9]{1,2}):([0-9]{1,2})(?::([0-9]{1,2})(?:\\.(\\d{1,4}))?)?(Z|([+-]\\d{2}):?(\\d{2})?)?)?(?=\\W|$)","i"),Fje=1,$je=2,jje=3,Qie=4,zje=5,Jie=6,Xie=7,Bje=8,ese=9,tse=10,ld=class extends q{innerPattern(){return Lje}innerExtract(e,t){let n=e.createParsingComponents({year:parseInt(t[Fje]),month:parseInt(t[$je]),day:parseInt(t[jje])});if(t[Qie]!=null&&(n.assign("hour",parseInt(t[Qie])),n.assign("minute",parseInt(t[zje])),t[Jie]!=null&&n.assign("second",parseInt(t[Jie])),t[Xie]!=null&&n.assign("millisecond",parseInt(t[Xie])),t[Bje]!=null)){let i=0;if(t[ese]){let s=parseInt(t[ese]),a=0;t[tse]!=null&&(a=parseInt(t[tse])),i=s*60,i<0?i-=a:i+=a}n.assign("timezoneOffset",i)}return n.addTag("parser/ISOFormatParser")}}});var Lm,_1=v(()=>{od();Lm=class extends Ps{mergeResults(e,t,n){let i=n.clone();return i.index=t.index,i.text=t.text+e+i.text,i.start.assign("weekday",t.start.get("weekday")),i.end&&i.end.assign("weekday",t.start.get("weekday")),i}shouldMergeResults(e,t,n){return t.start.isOnlyWeekdayComponent()&&!t.start.isCertain("hour")&&n.start.isCertain("day")&&e.match(/^,?\s*$/)!=null}}});function Yr(r,e=!1){return r.parsers.unshift(new ld),r.refiners.unshift(new Lm),r.refiners.unshift(new Uo),r.refiners.unshift(new _u),r.refiners.push(new IT),r.refiners.push(new _u),r.refiners.push(new RT),r.refiners.push(new OT(e)),r}var da=v(()=>{Yie();NT();P1();Kie();Zie();aC();_1()});function Ii(r){let e=(0,Mu.default)(r.getDateWithAdjustedTimezone()),t=new Q(r,{});return Ir(t,e),Hie(t,e),t.assign("timezoneOffset",r.getTimezoneOffset()),t.addTag("casualReference/now"),t}function Xn(r){let e=(0,Mu.default)(r.getDateWithAdjustedTimezone()),t=new Q(r,{});return Ir(t,e),Al(t,e),t.addTag("casualReference/today"),t}function Ni(r){return Fm(r,1).addTag("casualReference/yesterday")}function Fm(r,e){return Il(r,-e)}function Ri(r){return Il(r,1).addTag("casualReference/tomorrow")}function Il(r,e){let t=(0,Mu.default)(r.getDateWithAdjustedTimezone()),n=new Q(r,{});return t=t.add(e,"day"),Ir(n,t),Al(n,t),n}function rse(r,e=22){let t=(0,Mu.default)(r.getDateWithAdjustedTimezone()),n=new Q(r,{});return Ir(n,t),n.imply("hour",e),n.imply("meridiem",$.PM),n.addTag("casualReference/tonight"),n}function oC(r,e=0){let t=(0,Mu.default)(r.getDateWithAdjustedTimezone()),n=new Q(r,{});return t.hour()<6&&(t=t.add(-1,"day")),Ir(n,t),n.imply("hour",e),n}function Og(r,e=20){let t=new Q(r,{});return t.imply("meridiem",$.PM),t.imply("hour",e),t.addTag("casualReference/evening"),t}function lC(r,e=20){let t=(0,Mu.default)(r.getDateWithAdjustedTimezone()),n=new Q(r,{});return t=t.add(-1,"day"),Ir(n,t),n.imply("hour",e),n.imply("meridiem",$.PM),n.addTag("casualReference/yesterday"),n.addTag("casualReference/evening"),n}function $m(r){let e=new Q(r,{}),t=(0,Mu.default)(r.getDateWithAdjustedTimezone());return t.hour()>2&&qie(e,t),e.assign("hour",0),e.imply("minute",0),e.imply("second",0),e.imply("millisecond",0),e.addTag("casualReference/midnight"),e}function Lg(r,e=6){let t=new Q(r,{});return t.imply("meridiem",$.AM),t.imply("hour",e),t.imply("minute",0),t.imply("second",0),t.imply("millisecond",0),t.addTag("casualReference/morning"),t}function nse(r,e=15){let t=new Q(r,{});return t.imply("meridiem",$.PM),t.imply("hour",e),t.imply("minute",0),t.imply("second",0),t.imply("millisecond",0),t.addTag("casualReference/afternoon"),t}function Fg(r){let e=new Q(r,{});return e.imply("meridiem",$.AM),e.assign("hour",12),e.imply("minute",0),e.imply("second",0),e.imply("millisecond",0),e.addTag("casualReference/noon"),e}var Mu,ua=v(()=>{rt();Mu=Ke(Wt(),1);ca();Nt()});var ise,qje,LT,sse=v(()=>{ise=Ke(Wt(),1);ve();ca();ua();qje=/(now|today|tonight|tomorrow|overmorrow|tmr|tmrw|yesterday|last\s*night)(?=\W|$)/i,LT=class extends q{innerPattern(e){return qje}innerExtract(e,t){let n=(0,ise.default)(e.refDate),i=t[0].toLowerCase(),s=e.createParsingComponents();switch(i){case"now":s=Ii(e.reference);break;case"today":s=Xn(e.reference);break;case"yesterday":s=Ni(e.reference);break;case"tomorrow":case"tmr":case"tmrw":s=Ri(e.reference);break;case"tonight":s=rse(e.reference);break;case"overmorrow":s=Il(e.reference,2);break;default:i.match(/last\s*night/)&&(n.hour()>6&&(n=n.add(-1,"day")),Ir(s,n),s.imply("hour",0));break}return s.addTag("parser/ENCasualDateParser"),s}}});var Hje,FT,ase=v(()=>{ve();ua();Hje=/(?:this)?\s{0,3}(morning|afternoon|evening|night|midnight|midday|noon)(?=\W|$)/i,FT=class extends q{innerPattern(){return Hje}innerExtract(e,t){let n=null;switch(t[1].toLowerCase()){case"afternoon":n=nse(e.reference);break;case"evening":case"night":n=Og(e.reference);break;case"midnight":n=$m(e.reference);break;case"morning":n=Lg(e.reference);break;case"noon":case"midday":n=Fg(e.reference);break}return n&&n.addTag("parser/ENCasualTimeParser"),n}}});function Cn(r){let e={};for(let t in r)e[t]=-r[t];return e}function cC(r,e){let t=r.clone(),n=r.dayjs();for(let i in e)n=n.add(e[i],i);return("day"in e||"d"in e||"week"in e||"month"in e||"year"in e)&&(t.imply("day",n.date()),t.imply("month",n.month()+1),t.imply("year",n.year())),("second"in e||"minute"in e||"hour"in e)&&(t.imply("second",n.second()),t.imply("minute",n.minute()),t.imply("hour",n.hour())),t}var pa=v(()=>{});function Pn(r,e,t){let n=r.getDateWithAdjustedTimezone(),i=Uje(n,e,t),s=new Q(r);return s=cC(s,{day:i}),s.assign("weekday",e),s}function Uje(r,e,t){let n=r.getDay();switch(t){case"this":return dC(r,e);case"last":return ose(r,e);case"next":return n==ze.SUNDAY?e==ze.SUNDAY?7:e:n==ze.SATURDAY?e==ze.SATURDAY?7:e==ze.SUNDAY?8:1+e:e<n&&e!=ze.SUNDAY?dC(r,e):dC(r,e)+7}return Vje(r,e)}function Vje(r,e){let t=ose(r,e),n=dC(r,e);return n<-t?n:t}function dC(r,e){let t=r.getDay(),n=e-t;return n<0&&(n+=7),n}function ose(r,e){let t=r.getDay(),n=e-t;return n>=0&&(n-=7),n}var Vo=v(()=>{Nt();rt();pa()});var Wje,Yje,Gje,Kje,$T,lse=v(()=>{Fn();Dt();ve();Vo();Nt();Wje=new RegExp(`(?:(?:\\,|\\(|\\\uFF08)\\s*)?(?:on\\s*?)?(?:(this|last|past|next)\\s*)?(${se(nC)}|weekend|weekday)(?:\\s*(?:\\,|\\)|\\\uFF09))?(?:\\s*(this|last|past|next)\\s*week)?(?=\\W|$)`,"i"),Yje=1,Gje=2,Kje=3,$T=class extends q{innerPattern(){return Wje}innerExtract(e,t){let n=t[Yje],i=t[Kje],s=n||i;s=s||"",s=s.toLowerCase();let a=null;s=="last"||s=="past"?a="last":s=="next"?a="next":s=="this"&&(a="this");let o=t[Gje].toLowerCase(),l;if(nC[o]!==void 0)l=nC[o];else if(o=="weekend")l=a=="last"?ze.SUNDAY:ze.SATURDAY;else if(o=="weekday"){let c=e.reference.getDateWithAdjustedTimezone().getDay();c==ze.SUNDAY||c==ze.SATURDAY?l=a=="last"?ze.FRIDAY:ze.MONDAY:(l=c-1,l=a=="last"?l-1:l+1,l=l%5+1)}else return null;return Pn(e.reference,l,a)}}});var cse,Zje,Qje,Jje,jT,dse=v(()=>{Fn();rt();cse=Ke(Wt(),1);ve();Dt();Zje=new RegExp(`(this|last|past|next|after\\s*this)\\s*(${se(TT)})(?=\\s*)(?=\\W|$)`,"i"),Qje=1,Jje=2,jT=class extends q{innerPattern(){return Zje}innerExtract(e,t){let n=t[Qje].toLowerCase(),i=t[Jje].toLowerCase(),s=TT[i];if(n=="next"||n.startsWith("after")){let l={};return l[s]=1,Q.createRelativeFromReference(e.reference,l)}if(n=="last"||n=="past"){let l={};return l[s]=-1,Q.createRelativeFromReference(e.reference,l)}let a=e.createParsingComponents(),o=(0,cse.default)(e.reference.instant);return i.match(/week/i)?(o=o.add(-o.get("d"),"d"),a.imply("day",o.date()),a.imply("month",o.month()+1),a.imply("year",o.year())):i.match(/month/i)?(o=o.add(-o.date()+1,"d"),a.imply("day",o.date()),a.assign("year",o.year()),a.assign("month",o.month()+1)):i.match(/year/i)&&(o=o.add(-o.date()+1,"d"),o=o.add(-o.month(),"month"),a.imply("day",o.date()),a.imply("month",o.month()+1),a.assign("year",o.year())),a}}});var Xje,eze,tze,use,pse,M1,$n,cd=v(()=>{un();Xje=new RegExp("([^\\d]|^)([0-3]{0,1}[0-9]{1})[\\/\\.\\-]([0-3]{0,1}[0-9]{1})(?:[\\/\\.\\-]([0-9]{4}|[0-9]{2}))?(\\W|$)","i"),eze=1,tze=5,use=2,pse=3,M1=4,$n=class{constructor(e){M(this,"groupNumberMonth");M(this,"groupNumberDay");this.groupNumberMonth=e?pse:use,this.groupNumberDay=e?use:pse}pattern(){return Xje}extract(e,t){let n=t.index+t[eze].length,i=t.index+t[0].length-t[tze].length;if(n>0&&e.text.substring(0,n).match("\\d/?$")||i<e.text.length&&e.text.substring(i).match("^/?\\d"))return;let s=e.text.substring(n,i);if(s.match(/^\d\.\d$/)||s.match(/^\d\.\d{1,2}\.\d{1,2}\s*$/)||!t[M1]&&s.indexOf("/")<0)return;let a=e.createParsingResult(n,s),o=parseInt(t[this.groupNumberMonth]),l=parseInt(t[this.groupNumberDay]);if((o<1||o>12)&&o>12)if(l>=1&&l<=12&&o<=31)[l,o]=[o,l];else return null;if(l<1||l>31)return null;if(a.start.assign("day",l),a.start.assign("month",o),t[M1]){let c=parseInt(t[M1]),d=Cs(c);a.start.assign("year",d)}else{let c=ir(e.refDate,l,o);a.start.imply("year",c)}return a.addTag("parser/SlashDateFormatParser")}}});var rze,nze,zT,mse=v(()=>{Fn();rt();ve();bT();rze=new RegExp(`(this|last|past|next|after|\\+|-)\\s*(${sd})(?=\\W|$)`,"i"),nze=new RegExp(`(this|last|past|next|after|\\+|-)\\s*(${Pu})(?=\\W|$)`,"i"),zT=class extends q{constructor(t=!0){super();M(this,"allowAbbreviations");this.allowAbbreviations=t}innerPattern(){return this.allowAbbreviations?rze:nze}innerExtract(t,n){let i=n[1].toLowerCase(),s=Wa(n[2]);if(!s)return null;switch(i){case"last":case"past":case"-":s=_g(s);break}return Q.createRelativeFromReference(t.reference,s)}}});function ize(r){return r.text.match(/^[+-]/i)!=null}function fse(r){return r.text.match(/^-/i)!=null}var BT,hse=v(()=>{od();rt();Fn();pa();BT=class extends Ps{shouldMergeResults(e,t,n){return e.match(/^\s*$/i)?ize(n)||fse(n):!1}mergeResults(e,t,n,i){let s=Wa(n.text);fse(n)&&(s=Cn(s));let a=Q.createRelativeFromReference(Yt.fromDate(t.start.date()),s);return new $t(t.reference,t.index,`${t.text}${e}${n.text}`,a)}}});function gse(r){return r.text.match(/\s+(before|from)$/i)!=null}function sze(r){return r.text.match(/\s+(after|since)$/i)!=null}var qT,yse=v(()=>{od();rt();Fn();bT();qT=class extends Ps{patternBetween(){return/^\s*$/i}shouldMergeResults(e,t,n){return!e.match(this.patternBetween())||!gse(t)&&!sze(t)?!1:!!n.start.get("day")&&!!n.start.get("month")&&!!n.start.get("year")}mergeResults(e,t,n){let i=Wa(t.text);gse(t)&&(i=_g(i));let s=Q.createRelativeFromReference(Yt.fromDate(n.start.date()),i);return new $t(n.reference,t.index,`${t.text}${e}${n.text}`,s)}}});var aze,oze,HT,vse=v(()=>{Fn();aze=new RegExp(`^\\s*(${Du})`,"i"),oze=1,HT=class{refine(e,t){return t.forEach(function(n){if(!n.start.isDateWithUnknownYear())return;let i=e.text.substring(n.index+n.text.length),s=aze.exec(i);if(!s||s[0].trim().length<=3)return;e.debug(()=>{console.log(`Extracting year: '${s[0]}' into : ${n}`)});let a=Cu(s[oze]);n.end!=null&&n.end.assign("year",a),n.start.assign("year",a),n.text+=s[0]}),t}}});var UT,bse=v(()=>{od();UT=class extends Ng{constructor(){super()}isValid(e,t){let n=t.text.trim();return n===e.text.trim()?!0:n.toLowerCase()==="may"&&!e.text.substring(0,t.index).trim().match(/\b(in)$/i)?(e.debug(()=>{console.log(`Removing unlikely result: ${t}`)}),!1):n.toLowerCase().endsWith("the second")?(e.text.substring(t.index+t.text.length).trim().length>0&&e.debug(()=>{console.log(`Removing unlikely result: ${t}`)}),!1):!0}}});var jm,A1=v(()=>{Eie();_ie();Aie();Nie();Oie();Lie();$ie();jie();zie();Bie();Wie();da();sse();ase();lse();dse();cd();mse();hse();yse();P1();vse();bse();jm=class{createCasualConfiguration(e=!1){let t=this.createConfiguration(!1,e);return t.parsers.push(new LT),t.parsers.push(new FT),t.parsers.push(new xT),t.parsers.push(new jT),t.parsers.push(new zT),t.refiners.push(new UT),t}createConfiguration(e=!0,t=!1){let n=Yr({parsers:[new $n(t),new kT(e),new wT,new ST(t),new $T,new DT,new PT(e),new _T(e),new MT(e)],refiners:[new Rg]},e);return n.parsers.unshift(new ET(e)),n.refiners.unshift(new qT),n.refiners.unshift(new BT),n.refiners.unshift(new _u),n.refiners.push(new Rg),n.refiners.push(new HT),n.refiners.push(new AT),n}}});var Oe,VT,_s=v(()=>{rt();A1();Oe=class r{constructor(e){M(this,"parsers");M(this,"refiners");M(this,"defaultConfig",new jm);e=e||this.defaultConfig.createCasualConfiguration(),this.parsers=[...e.parsers],this.refiners=[...e.refiners]}clone(){return new r({parsers:[...this.parsers],refiners:[...this.refiners]})}parseDate(e,t,n){let i=this.parse(e,t,n);return i.length>0?i[0].start.date():null}parse(e,t,n){let i=new VT(e,t,n),s=[];return this.parsers.forEach(a=>{let o=r.executeParser(i,a);s=s.concat(o)}),s.sort((a,o)=>a.index-o.index),this.refiners.forEach(function(a){s=a.refine(i,s)}),s}static executeParser(e,t){let n=[],i=t.pattern(e),s=e.text,a=e.text,o=i.exec(a);for(;o;){let l=o.index+s.length-a.length;o.index=l;let c=t.extract(e,o);if(!c){a=s.substring(o.index+1),o=i.exec(a);continue}let d=null;c instanceof $t?d=c:c instanceof Q?(d=e.createParsingResult(o.index,o[0]),d.start=c):d=e.createParsingResult(o.index,o[0],c);let u=d.index,p=d.text;e.debug(()=>console.log(`${t.constructor.name} extracted (at index=${u}) '${p}'`)),n.push(d),a=s.substring(u+p.length),o=i.exec(a)}return n}},VT=class{constructor(e,t,n){M(this,"text");M(this,"option");M(this,"reference");M(this,"refDate");this.text=e,this.option=n!=null?n:{},this.reference=Yt.fromInput(t,this.option.timezones),this.refDate=this.reference.instant}createParsingComponents(e){return e instanceof Q?e:new Q(this.reference,e)}createParsingResult(e,t,n,i){let s=typeof t=="string"?t:this.text.substring(e,t),a=n?this.createParsingComponents(n):null,o=i?this.createParsingComponents(i):null;return new $t(this.reference,e,s,a,o)}debug(e){this.option.debug&&(this.option.debug instanceof Function?this.option.debug(e):this.option.debug.debug(e))}}});var N1={};et(N1,{Chrono:()=>Oe,GB:()=>lze,Meridiem:()=>$,ParsingComponents:()=>Q,ParsingResult:()=>$t,ReferenceWithTimezone:()=>Yt,Weekday:()=>ze,casual:()=>WT,configuration:()=>uC,parse:()=>cze,parseDate:()=>dze,strict:()=>I1});function cze(r,e,t){return WT.parse(r,e,t)}function dze(r,e,t){return WT.parseDate(r,e,t)}var uC,WT,I1,lze,Tse=v(()=>{_s();rt();Nt();A1();uC=new jm,WT=new Oe(uC.createCasualConfiguration(!1)),I1=new Oe(uC.createConfiguration(!0,!1)),lze=new Oe(uC.createCasualConfiguration(!0))});var YT,kse=v(()=>{ad();YT=class extends Jn{primaryPrefix(){return"(?:(?:um|von)\\s*)?"}followingPhase(){return"\\s*(?:\\-|\\\u2013|\\~|\\\u301C|bis)\\s*"}extractPrimaryTimeComponents(e,t){return t[0].match(/^\s*\d{4}\s*$/)?null:super.extractPrimaryTimeComponents(e,t)}}});function $1(r){let e=r.toLowerCase();return R1[e]!==void 0?R1[e]:e==="ein"||e==="einer"||e==="einem"||e==="einen"||e==="eine"?1:e.match(/wenigen/)?2:e.match(/halb/)||e.match(/halben/)?.5:e.match(/einigen/)?3:e.match(/mehreren/)?7:parseFloat(e)}function xse(r){if(/v/i.test(r))return-parseInt(r.replace(/[^0-9]+/gi,""));if(/n/i.test(r))return parseInt(r.replace(/[^0-9]+/gi,""));if(/z/i.test(r))return parseInt(r.replace(/[^0-9]+/gi,""));let e=parseInt(r);return Cs(e)}function Cse(r){let e={},t=r,n=wse.exec(t);for(;n;)uze(e,n),t=t.substring(n[0].length),n=wse.exec(t);return e}function uze(r,e){let t=$1(e[1]),n=GT[e[2].toLowerCase()];r[n]=t}var O1,L1,R1,GT,F1,Sse,Ese,wse,Dse,$g=v(()=>{Dt();un();O1={sonntag:0,so:0,montag:1,mo:1,dienstag:2,di:2,mittwoch:3,mi:3,donnerstag:4,do:4,freitag:5,fr:5,samstag:6,sa:6},L1={januar:1,j\u00E4nner:1,janner:1,jan:1,"jan.":1,februar:2,feber:2,feb:2,"feb.":2,m\u00E4rz:3,maerz:3,m\u00E4r:3,"m\xE4r.":3,mrz:3,"mrz.":3,april:4,apr:4,"apr.":4,mai:5,juni:6,jun:6,"jun.":6,juli:7,jul:7,"jul.":7,august:8,aug:8,"aug.":8,september:9,sep:9,"sep.":9,sept:9,"sept.":9,oktober:10,okt:10,"okt.":10,november:11,nov:11,"nov.":11,dezember:12,dez:12,"dez.":12},R1={eins:1,eine:1,einem:1,einen:1,einer:1,zwei:2,drei:3,vier:4,f\u00FCnf:5,fuenf:5,sechs:6,sieben:7,acht:8,neun:9,zehn:10,elf:11,zw\u00F6lf:12,zwoelf:12},GT={sek:"second",sekunde:"second",sekunden:"second",min:"minute",minute:"minute",minuten:"minute",h:"hour",std:"hour",stunde:"hour",stunden:"hour",tag:"d",tage:"d",tagen:"d",woche:"week",wochen:"week",monat:"month",monate:"month",monaten:"month",monats:"month",quartal:"quarter",quartals:"quarter",quartale:"quarter",quartalen:"quarter",a:"year",j:"year",jr:"year",jahr:"year",jahre:"year",jahren:"year",jahres:"year"},F1=`(?:${se(R1)}|[0-9]+|[0-9]+\\.[0-9]+|halb?|halbe?|einigen?|wenigen?|mehreren?)`;Sse="(?:[0-9]{1,4}(?:\\s*[vn]\\.?\\s*(?:C(?:hr)?|(?:u\\.?|d\\.?(?:\\s*g\\.?)?)?\\s*Z)\\.?|\\s*(?:u\\.?|d\\.?(?:\\s*g\\.)?)\\s*Z\\.?)?)";Ese=`(${F1})\\s{0,5}(${se(GT)})\\s{0,5}`,wse=new RegExp(Ese,"i"),Dse=ss("",Ese)});var pze,mze,fze,hze,KT,Pse=v(()=>{$g();Dt();ve();Vo();pze=new RegExp(`(?:(?:\\,|\\(|\\\uFF08)\\s*)?(?:a[mn]\\s*?)?(?:(diese[mn]|letzte[mn]|n(?:\xE4|ae)chste[mn])\\s*)?(${se(O1)})(?:\\s*(?:\\,|\\)|\\\uFF09))?(?:\\s*(diese|letzte|n(?:\xE4|ae)chste)\\s*woche)?(?=\\W|$)`,"i"),mze=1,fze=3,hze=2,KT=class extends q{innerPattern(){return pze}innerExtract(e,t){let n=t[hze].toLowerCase(),i=O1[n],s=t[mze],a=t[fze],o=s||a;o=o||"",o=o.toLowerCase();let l=null;return o.match(/letzte/)?l="last":o.match(/chste/)?l="next":o.match(/diese/)&&(l="this"),Pn(e.reference,i,l)}}});var gze,yze,vze,_se,Mse,Ase,ZT,Ise=v(()=>{Nt();gze=new RegExp("(^|\\s|T)(?:(?:um|von)\\s*)?(\\d{1,2})(?:h|:)?(?:(\\d{1,2})(?:m|:)?)?(?:(\\d{1,2})(?:s)?)?(?:\\s*Uhr)?(?:\\s*(morgens|vormittags|nachmittags|abends|nachts|am\\s+(?:Morgen|Vormittag|Nachmittag|Abend)|in\\s+der\\s+Nacht))?(?=\\W|$)","i"),yze=new RegExp("^\\s*(\\-|\\\u2013|\\~|\\\u301C|bis(?:\\s+um)?|\\?)\\s*(\\d{1,2})(?:h|:)?(?:(\\d{1,2})(?:m|:)?)?(?:(\\d{1,2})(?:s)?)?(?:\\s*Uhr)?(?:\\s*(morgens|vormittags|nachmittags|abends|nachts|am\\s+(?:Morgen|Vormittag|Nachmittag|Abend)|in\\s+der\\s+Nacht))?(?=\\W|$)","i"),vze=2,_se=3,Mse=4,Ase=5,ZT=class r{pattern(e){return gze}extract(e,t){let n=e.createParsingResult(t.index+t[1].length,t[0].substring(t[1].length));if(n.text.match(/^\d{4}$/)||(n.start=r.extractTimeComponent(n.start.clone(),t),!n.start))return t.index+=t[0].length,null;let i=e.text.substring(t.index+t[0].length),s=yze.exec(i);return s&&(n.end=r.extractTimeComponent(n.start.clone(),s),n.end&&(n.text+=s[0])),n}static extractTimeComponent(e,t){let n=0,i=0,s=null;if(n=parseInt(t[vze]),t[_se]!=null&&(i=parseInt(t[_se])),i>=60||n>24)return null;if(n>=12&&(s=$.PM),t[Ase]!=null){if(n>12)return null;let a=t[Ase].toLowerCase();a.match(/morgen|vormittag/)&&(s=$.AM,n==12&&(n=0)),a.match(/nachmittag|abend/)&&(s=$.PM,n!=12&&(n+=12)),a.match(/nacht/)&&(n==12?(s=$.AM,n=0):n<6?s=$.AM:(s=$.PM,n+=12))}if(e.assign("hour",n),e.assign("minute",i),s!==null?e.assign("meridiem",s):n<12?e.imply("meridiem",$.AM):e.imply("meridiem",$.PM),t[Mse]!=null){let a=parseInt(t[Mse]);if(a>=60)return null;e.assign("second",a)}return e}}});var QT,Nse=v(()=>{Ya();QT=class extends zr{patternBetween(){return/^\s*(bis(?:\s*(?:am|zum))?|-)\s*$/i}}});var JT,Rse=v(()=>{Ga();JT=class extends Br{patternBetween(){return new RegExp("^\\s*(T|um|am|,|-)?\\s*$")}}});var Ose,zm,j1=v(()=>{Ose=Ke(Wt(),1);Nt();ve();ca();pa();zm=class r extends q{innerPattern(e){return/(diesen)?\s*(morgen|vormittag|mittags?|nachmittag|abend|nacht|mitternacht)(?=\W|$)/i}innerExtract(e,t){let n=(0,Ose.default)(e.refDate),i=t[2].toLowerCase(),s=e.createParsingComponents();return Al(s,n),r.extractTimeComponents(s,i)}static extractTimeComponents(e,t){switch(t){case"morgen":e.imply("hour",6),e.imply("minute",0),e.imply("second",0),e.imply("meridiem",$.AM);break;case"vormittag":e.imply("hour",9),e.imply("minute",0),e.imply("second",0),e.imply("meridiem",$.AM);break;case"mittag":case"mittags":e.imply("hour",12),e.imply("minute",0),e.imply("second",0),e.imply("meridiem",$.AM);break;case"nachmittag":e.imply("hour",15),e.imply("minute",0),e.imply("second",0),e.imply("meridiem",$.PM);break;case"abend":e.imply("hour",18),e.imply("minute",0),e.imply("second",0),e.imply("meridiem",$.PM);break;case"nacht":e.imply("hour",22),e.imply("minute",0),e.imply("second",0),e.imply("meridiem",$.PM);break;case"mitternacht":e.get("hour")>1&&(e=cC(e,{day:1})),e.imply("hour",0),e.imply("minute",0),e.imply("second",0),e.imply("meridiem",$.AM);break}return e}}});var Lse,bze,Tze,kze,XT,Fse=v(()=>{Lse=Ke(Wt(),1);ve();ca();j1();ua();bze=new RegExp("(jetzt|heute|morgen|\xFCbermorgen|uebermorgen|gestern|vorgestern|letzte\\s*nacht)(?:\\s*(morgen|vormittag|mittags?|nachmittag|abend|nacht|mitternacht))?(?=\\W|$)","i"),Tze=1,kze=2,XT=class extends q{innerPattern(e){return bze}innerExtract(e,t){let n=(0,Lse.default)(e.refDate),i=(t[Tze]||"").toLowerCase(),s=(t[kze]||"").toLowerCase(),a=e.createParsingComponents();switch(i){case"jetzt":a=Ii(e.reference);break;case"heute":a=Xn(e.reference);break;case"morgen":Ho(a,n);break;case"\xFCbermorgen":case"uebermorgen":n=n.add(1,"day"),Ho(a,n);break;case"gestern":n=n.add(-1,"day"),Ir(a,n),Al(a,n);break;case"vorgestern":n=n.add(-2,"day"),Ir(a,n),Al(a,n);break;default:i.match(/letzte\s*nacht/)&&(n.hour()>6&&(n=n.add(-1,"day")),Ir(a,n),a.imply("hour",0));break}return s&&(a=zm.extractTimeComponents(a,s)),a}}});var wze,$se,jse,Sze,zse,ek,Bse=v(()=>{un();$g();$g();Dt();ve();wze=new RegExp(`(?:am\\s*?)?(?:den\\s*?)?([0-9]{1,2})\\.(?:\\s*(?:bis(?:\\s*(?:am|zum))?|\\-|\\\u2013|\\s)\\s*([0-9]{1,2})\\.?)?\\s*(${se(L1)})(?:(?:-|/|,?\\s*)(${Sse}(?![^\\s]\\d)))?(?=\\W|$)`,"i"),$se=1,jse=2,Sze=3,zse=4,ek=class extends q{innerPattern(){return wze}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=L1[t[Sze].toLowerCase()],s=parseInt(t[$se]);if(s>31)return t.index=t.index+t[$se].length,null;if(n.start.assign("month",i),n.start.assign("day",s),t[zse]){let a=xse(t[zse]);n.start.assign("year",a)}else{let a=ir(e.refDate,s,i);n.start.imply("year",a)}if(t[jse]){let a=parseInt(t[jse]);n.end=n.start.clone(),n.end.assign("day",a)}return n}}});var tk,qse=v(()=>{$g();rt();ve();pa();Dt();tk=class extends q{constructor(){super()}innerPattern(){return new RegExp(`(?:\\s*((?:n\xE4chste|kommende|folgende|letzte|vergangene|vorige|vor(?:her|an)gegangene)(?:s|n|m|r)?|vor|in)\\s*)?(${F1})?(?:\\s*(n\xE4chste|kommende|folgende|letzte|vergangene|vorige|vor(?:her|an)gegangene)(?:s|n|m|r)?)?\\s*(${se(GT)})`,"i")}innerExtract(e,t){let n=t[2]?$1(t[2]):1,i=GT[t[4].toLowerCase()],s={};s[i]=n;let a=t[1]||t[3]||"";if(a=a.toLowerCase(),!!a)return(/vor/.test(a)||/letzte/.test(a)||/vergangen/.test(a))&&(s=Cn(s)),Q.createRelativeFromReference(e.reference,s)}}});var rk,Hse=v(()=>{$g();rt();ve();rk=class extends q{innerPattern(){return new RegExp(`(?:in|f\xFCr|w\xE4hrend)\\s*(${Dse})(?=\\W|$)`,"i")}innerExtract(e,t){let n=Cse(t[1]);return Q.createRelativeFromReference(e.reference,n)}}});var q1={};et(q1,{Chrono:()=>Oe,Meridiem:()=>$,ParsingComponents:()=>Q,ParsingResult:()=>$t,ReferenceWithTimezone:()=>Yt,Weekday:()=>ze,casual:()=>z1,createCasualConfiguration:()=>Use,createConfiguration:()=>B1,parse:()=>Eze,parseDate:()=>Dze,strict:()=>xze});function Eze(r,e,t){return z1.parse(r,e,t)}function Dze(r,e,t){return z1.parseDate(r,e,t)}function Use(r=!0){let e=B1(!1,r);return e.parsers.unshift(new zm),e.parsers.unshift(new XT),e.parsers.unshift(new tk),e}function B1(r=!0,e=!0){return Yr({parsers:[new ld,new $n(e),new YT,new ZT,new ek,new KT,new rk],refiners:[new QT,new JT]},r)}var z1,xze,Vse=v(()=>{da();_s();rt();Nt();cd();aC();kse();Pse();Ise();Nse();Rse();Fse();j1();Bse();qse();Hse();z1=new Oe(Use()),xze=new Oe(B1(!0))});var Wse,nk,Yse=v(()=>{Wse=Ke(Wt(),1);Nt();ve();ca();ua();nk=class extends q{innerPattern(e){return/(maintenant|aujourd'hui|demain|hier|cette\s*nuit|la\s*veille)(?=\W|$)/i}innerExtract(e,t){let n=(0,Wse.default)(e.refDate),i=t[0].toLowerCase(),s=e.createParsingComponents();switch(i){case"maintenant":return Ii(e.reference);case"aujourd'hui":return Xn(e.reference);case"hier":return Ni(e.reference);case"demain":return Ri(e.reference);default:i.match(/cette\s*nuit/)?(Ir(s,n),s.imply("hour",22),s.imply("meridiem",$.PM)):i.match(/la\s*veille/)&&(n=n.add(-1,"day"),Ir(s,n),s.imply("hour",0))}return s}}});var ik,Gse=v(()=>{Nt();ve();ik=class extends q{innerPattern(e){return/(cet?)?\s*(matin|soir|après-midi|aprem|a midi|à minuit)(?=\W|$)/i}innerExtract(e,t){let n=t[2].toLowerCase(),i=e.createParsingComponents();switch(n){case"apr\xE8s-midi":case"aprem":i.imply("hour",14),i.imply("minute",0),i.imply("meridiem",$.PM);break;case"soir":i.imply("hour",18),i.imply("minute",0),i.imply("meridiem",$.PM);break;case"matin":i.imply("hour",8),i.imply("minute",0),i.imply("meridiem",$.AM);break;case"a midi":i.imply("hour",12),i.imply("minute",0),i.imply("meridiem",$.AM);break;case"\xE0 minuit":i.imply("hour",0),i.imply("meridiem",$.AM);break}return i}}});var sk,Kse=v(()=>{ad();sk=class extends Jn{primaryPrefix(){return"(?:(?:[\xE0a])\\s*)?"}followingPhase(){return"\\s*(?:\\-|\\\u2013|\\~|\\\u301C|[\xE0a]|\\?)\\s*"}extractPrimaryTimeComponents(e,t){return t[0].match(/^\s*\d{4}\s*$/)?null:super.extractPrimaryTimeComponents(e,t)}}});var ak,Zse=v(()=>{Ga();ak=class extends Br{patternBetween(){return new RegExp("^\\s*(T|\xE0|a|au|vers|de|,|-)?\\s*$")}}});var ok,Qse=v(()=>{Ya();ok=class extends zr{patternBetween(){return/^\s*(à|a|au|-)\s*$/i}}});function Y1(r){let e=r.toLowerCase();return H1[e]!==void 0?H1[e]:e==="une"||e==="un"?1:e.match(/quelques?/)?3:e.match(/demi-?/)?.5:parseFloat(e)}function K1(r){let e=r.toLowerCase();return e=e.replace(/(?:er)$/i,""),parseInt(e)}function eae(r){if(/AC/i.test(r))return r=r.replace(/BC/i,""),-parseInt(r);if(/AD/i.test(r)||/C/i.test(r))return r=r.replace(/[^\d]+/i,""),parseInt(r);let e=parseInt(r);return e<100&&(e>50?e=e+1900:e=e+2e3),e}function mC(r){let e={},t=r,n=Jse.exec(t);for(;n;)Cze(e,n),t=t.substring(n[0].length),n=Jse.exec(t);return e}function Cze(r,e){let t=Y1(e[1]),n=lk[e[2].toLowerCase()];r[n]=t}var U1,V1,H1,lk,W1,G1,Xse,tae,Jse,pC,Au=v(()=>{Dt();U1={dimanche:0,dim:0,lundi:1,lun:1,mardi:2,mar:2,mercredi:3,mer:3,jeudi:4,jeu:4,vendredi:5,ven:5,samedi:6,sam:6},V1={janvier:1,jan:1,"jan.":1,f\u00E9vrier:2,f\u00E9v:2,"f\xE9v.":2,fevrier:2,fev:2,"fev.":2,mars:3,mar:3,"mar.":3,avril:4,avr:4,"avr.":4,mai:5,juin:6,jun:6,juillet:7,juil:7,jul:7,"jul.":7,ao\u00FBt:8,aout:8,septembre:9,sep:9,"sep.":9,sept:9,"sept.":9,octobre:10,oct:10,"oct.":10,novembre:11,nov:11,"nov.":11,d\u00E9cembre:12,decembre:12,dec:12,"dec.":12},H1={un:1,deux:2,trois:3,quatre:4,cinq:5,six:6,sept:7,huit:8,neuf:9,dix:10,onze:11,douze:12,treize:13},lk={sec:"second",seconde:"second",secondes:"second",min:"minute",mins:"minute",minute:"minute",minutes:"minute",h:"hour",hr:"hour",hrs:"hour",heure:"hour",heures:"hour",jour:"d",jours:"d",semaine:"week",semaines:"week",mois:"month",trimestre:"quarter",trimestres:"quarter",ans:"year",ann\u00E9e:"year",ann\u00E9es:"year"},W1=`(?:${se(H1)}|[0-9]+|[0-9]+\\.[0-9]+|une?\\b|quelques?|demi-?)`;G1="(?:[0-9]{1,2}(?:er)?)";Xse="(?:[1-9][0-9]{0,3}\\s*(?:AC|AD|p\\.\\s*C(?:hr?)?\\.\\s*n\\.)|[1-2][0-9]{3}|[5-9][0-9])";tae=`(${W1})\\s{0,5}(${se(lk)})\\s{0,5}`,Jse=new RegExp(tae,"i"),pC=ss("",tae)});var Pze,_ze,Mze,ck,rae=v(()=>{Au();Dt();ve();Vo();Pze=new RegExp(`(?:(?:\\,|\\(|\\\uFF08)\\s*)?(?:(?:ce)\\s*)?(${se(U1)})(?:\\s*(?:\\,|\\)|\\\uFF09))?(?:\\s*(dernier|prochain)\\s*)?(?=\\W|\\d|$)`,"i"),_ze=1,Mze=2,ck=class extends q{innerPattern(){return Pze}innerExtract(e,t){let n=t[_ze].toLowerCase(),i=U1[n];if(i===void 0)return null;let s=t[Mze];s=s||"",s=s.toLowerCase();let a=null;return s=="dernier"?a="last":s=="prochain"&&(a="next"),Pn(e.reference,i,a)}}});var Aze,Ize,Nze,nae,iae,sae,dk,aae=v(()=>{Nt();Aze=new RegExp("(^|\\s|T)(?:(?:[\xE0a])\\s*)?(\\d{1,2})(?:h|:)?(?:(\\d{1,2})(?:m|:)?)?(?:(\\d{1,2})(?:s|:)?)?(?:\\s*(A\\.M\\.|P\\.M\\.|AM?|PM?))?(?=\\W|$)","i"),Ize=new RegExp("^\\s*(\\-|\\\u2013|\\~|\\\u301C|[\xE0a]|\\?)\\s*(\\d{1,2})(?:h|:)?(?:(\\d{1,2})(?:m|:)?)?(?:(\\d{1,2})(?:s|:)?)?(?:\\s*(A\\.M\\.|P\\.M\\.|AM?|PM?))?(?=\\W|$)","i"),Nze=2,nae=3,iae=4,sae=5,dk=class r{pattern(e){return Aze}extract(e,t){let n=e.createParsingResult(t.index+t[1].length,t[0].substring(t[1].length));if(n.text.match(/^\d{4}$/)||(n.start=r.extractTimeComponent(n.start.clone(),t),!n.start))return t.index+=t[0].length,null;let i=e.text.substring(t.index+t[0].length),s=Ize.exec(i);return s&&(n.end=r.extractTimeComponent(n.start.clone(),s),n.end&&(n.text+=s[0])),n}static extractTimeComponent(e,t){let n=0,i=0,s=null;if(n=parseInt(t[Nze]),t[nae]!=null&&(i=parseInt(t[nae])),i>=60||n>24)return null;if(n>=12&&(s=$.PM),t[sae]!=null){if(n>12)return null;let a=t[sae][0].toLowerCase();a=="a"&&(s=$.AM,n==12&&(n=0)),a=="p"&&(s=$.PM,n!=12&&(n+=12))}if(e.assign("hour",n),e.assign("minute",i),s!==null?e.assign("meridiem",s):n<12?e.imply("meridiem",$.AM):e.imply("meridiem",$.PM),t[iae]!=null){let a=parseInt(t[iae]);if(a>=60)return null;e.assign("second",a)}return e}}});var Rze,oae,lae,Oze,cae,uk,dae=v(()=>{un();Au();Au();Au();Dt();ve();Rze=new RegExp(`(?:on\\s*?)?(${G1})(?:\\s*(?:au|\\-|\\\u2013|jusqu'au?|\\s)\\s*(${G1}))?(?:-|/|\\s*(?:de)?\\s*)(${se(V1)})(?:(?:-|/|,?\\s*)(${Xse}(?![^\\s]\\d)))?(?=\\W|$)`,"i"),oae=1,lae=2,Oze=3,cae=4,uk=class extends q{innerPattern(){return Rze}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=V1[t[Oze].toLowerCase()],s=K1(t[oae]);if(s>31)return t.index=t.index+t[oae].length,null;if(n.start.assign("month",i),n.start.assign("day",s),t[cae]){let a=eae(t[cae]);n.start.assign("year",a)}else{let a=ir(e.refDate,s,i);n.start.imply("year",a)}if(t[lae]){let a=K1(t[lae]);n.end=n.start.clone(),n.end.assign("day",a)}return n}}});var pk,uae=v(()=>{Au();rt();ve();pa();pk=class extends q{constructor(){super()}innerPattern(){return new RegExp(`il y a\\s*(${pC})(?=(?:\\W|$))`,"i")}innerExtract(e,t){let n=mC(t[1]),i=Cn(n);return Q.createRelativeFromReference(e.reference,i)}}});var mk,pae=v(()=>{Au();rt();ve();mk=class extends q{innerPattern(){return new RegExp(`(?:dans|en|pour|pendant|de)\\s*(${pC})(?=\\W|$)`,"i")}innerExtract(e,t){let n=mC(t[1]);return Q.createRelativeFromReference(e.reference,n)}}});var fk,mae=v(()=>{Au();rt();ve();pa();Dt();fk=class extends q{constructor(){super()}innerPattern(){return new RegExp(`(?:les?|la|l'|du|des?)\\s*(${W1})?(?:\\s*(prochaine?s?|derni[e\xE8]re?s?|pass[\xE9e]e?s?|pr[\xE9e]c[\xE9e]dents?|suivante?s?))?\\s*(${se(lk)})(?:\\s*(prochaine?s?|derni[e\xE8]re?s?|pass[\xE9e]e?s?|pr[\xE9e]c[\xE9e]dents?|suivante?s?))?`,"i")}innerExtract(e,t){let n=t[1]?Y1(t[1]):1,i=lk[t[3].toLowerCase()],s={};s[i]=n;let a=t[2]||t[4]||"";if(a=a.toLowerCase(),!!a)return(/derni[eè]re?s?/.test(a)||/pass[ée]e?s?/.test(a)||/pr[ée]c[ée]dents?/.test(a))&&(s=Cn(s)),Q.createRelativeFromReference(e.reference,s)}}});var J1={};et(J1,{Chrono:()=>Oe,Meridiem:()=>$,ParsingComponents:()=>Q,ParsingResult:()=>$t,ReferenceWithTimezone:()=>Yt,Weekday:()=>ze,casual:()=>Z1,createCasualConfiguration:()=>fae,createConfiguration:()=>Q1,parse:()=>Fze,parseDate:()=>$ze,strict:()=>Lze});function Fze(r,e,t){return Z1.parse(r,e,t)}function $ze(r,e,t){return Z1.parseDate(r,e,t)}function fae(r=!0){let e=Q1(!1,r);return e.parsers.unshift(new nk),e.parsers.unshift(new ik),e.parsers.unshift(new fk),e}function Q1(r=!0,e=!0){return Yr({parsers:[new $n(e),new uk,new sk,new dk,new pk,new mk,new ck],refiners:[new ak,new ok]},r)}var Z1,Lze,hae=v(()=>{da();_s();rt();Nt();Yse();Gse();cd();Kse();Zse();Qse();rae();aae();dae();uae();pae();mae();Z1=new Oe(fae()),Lze=new Oe(Q1(!0))});function as(r){return String(r).replace(/\u2019/g,"'").replace(/\u201D/g,'"').replace(/\u3000/g," ").replace(/\uFFE5/g,"\xA5").replace(/[\uFF01\uFF03-\uFF06\uFF08\uFF09\uFF0C-\uFF19\uFF1C-\uFF1F\uFF21-\uFF3B\uFF3D\uFF3F\uFF41-\uFF5B\uFF5D\uFF5E]/g,jze)}function jze(r){return String.fromCharCode(r.charCodeAt(0)-65248)}function Bm(r){let e=0;for(let t=0;t<r.length;t++){let n=r[t];n==="\u5341"?e=e===0?Nl[n]:e*Nl[n]:e+=Nl[n]}return e}var Nl,jg,zg=v(()=>{Nl={\u96F6:0,"\u3007":0,\u4E00:1,\u4E8C:2,\u4E09:3,\u56DB:4,\u4E94:5,\u516D:6,\u4E03:7,\u516B:8,\u4E5D:9,\u5341:10},jg={\u65E5:0,\u6708:1,\u706B:2,\u6C34:3,\u6728:4,\u91D1:5,\u571F:6}});var yae,zze,gae,Bze,X1,qze,Hze,Uze,hk,vae=v(()=>{zg();un();yae=Ke(Wt(),1),zze=/(?:(?:([同今本])|((昭和|平成|令和)?([0-9-]{1,4}|元)))年\s*)?([0-9-]{1,2})月\s*([0-9-]{1,2})日/i,gae=1,Bze=2,X1=3,qze=4,Hze=5,Uze=6,hk=class{pattern(){return zze}extract(e,t){let n=parseInt(as(t[Hze])),i=parseInt(as(t[Uze])),s=e.createParsingComponents({day:i,month:n});if(t[gae]&&t[gae].match("\u540C|\u4ECA|\u672C")){let a=(0,yae.default)(e.refDate);s.assign("year",a.year())}if(t[Bze]){let a=t[qze],o=a=="\u5143"?1:parseInt(as(a));t[X1]=="\u4EE4\u548C"?o+=2018:t[X1]=="\u5E73\u6210"?o+=1988:t[X1]=="\u662D\u548C"&&(o+=1925),s.assign("year",o)}else{let a=ir(e.refDate,i,n);s.imply("year",a)}return s}}});var gk,bae=v(()=>{Ya();gk=class extends zr{patternBetween(){return/^\s*(から||ー|-||~)\s*$/i}}});function Wze(r){switch(r){case"\u304D\u3087\u3046":return"\u4ECA\u65E5";case"\u307B\u3093\u3058\u3064":return"\u672C\u65E5";case"\u304D\u306E\u3046":return"\u6628\u65E5";case"\u3042\u3057\u305F":return"\u660E\u65E5";case"\u3053\u3093\u3084":return"\u4ECA\u591C";case"\u3053\u3093\u3086\u3046":return"\u4ECA\u5915";case"\u3053\u3093\u3070\u3093":return"\u4ECA\u6669";case"\u3051\u3055":return"\u4ECA\u671D";default:return r}}var Tae,Vze,yk,kae=v(()=>{Tae=Ke(Wt(),1);Nt();ua();Vze=/今日|きょう|本日|ほんじつ|昨日|きのう|明日|あした|今夜|こんや|今夕|こんゆう|今晩|こんばん|今朝|けさ/i;yk=class{pattern(){return Vze}extract(e,t){let n=Wze(t[0]),i=(0,Tae.default)(e.refDate),s=e.createParsingComponents();switch(n){case"\u6628\u65E5":return Ni(e.reference);case"\u660E\u65E5":return Ri(e.reference);case"\u672C\u65E5":case"\u4ECA\u65E5":return Xn(e.reference)}return n=="\u4ECA\u591C"||n=="\u4ECA\u5915"||n=="\u4ECA\u6669"?(s.imply("hour",22),s.assign("meridiem",$.PM)):n.match("\u4ECA\u671D")&&(s.imply("hour",6),s.assign("meridiem",$.AM)),s.assign("day",i.date()),s.assign("month",i.month()+1),s.assign("year",i.year()),s}}});var Yze,vk,wae=v(()=>{zg();Vo();Yze=new RegExp("((?<prefix>\u524D\u306E|\u6B21\u306E|\u4ECA\u9031))?(?<weekday>"+Object.keys(jg).join("|")+")(?:\u66DC\u65E5|\u66DC)","i"),vk=class{pattern(){return Yze}extract(e,t){let n=t.groups.weekday,i=jg[n];if(i===void 0)return null;let s=t.groups.prefix||"",a=null;return s.match(/前の/)?a="last":s.match(/次の/)?a="next":s.match(/今週/)&&(a="this"),Pn(e.reference,i,a)}}});var Gze,Sae,Kze,Zze,bk,xae=v(()=>{un();zg();Gze=new RegExp("([0-9\uFF10-\uFF19]{4}[\\/|\\\uFF0F])?([0-1\uFF10-\uFF11]{0,1}[0-9\uFF10-\uFF19]{1})(?:[\\/|\\\uFF0F]([0-3\uFF10-\uFF13]{0,1}[0-9\uFF10-\uFF19]{1}))","i"),Sae=1,Kze=2,Zze=3,bk=class{pattern(){return Gze}extract(e,t){let n=e.createParsingComponents(),i=parseInt(as(t[Kze])),s=parseInt(as(t[Zze]));if(i<1||i>12||s<1||s>31)return null;if(n.assign("day",s),n.assign("month",i),t[Sae]){let a=parseInt(as(t[Sae])),o=Cs(a);n.assign("year",o)}else{let a=ir(e.reference.instant,s,i);n.imply("year",a)}return n}}});var Qze,Jze,fC,hC,Iu,Bg,gC,Tk,Eae=v(()=>{ve();Nt();zg();Qze=new RegExp("(?:(\u5348\u524D|\u5348\u5F8C|A.M.|P.M.|AM|PM))?(?:[\\s,\uFF0C\u3001]*)(?:([0-9\uFF10-\uFF19]+|["+Object.keys(Nl).join("")+"]+)(?:\\s*)(?:\u6642|:|\uFF1A)(?:\\s*)([0-9\uFF10-\uFF19]+|\u534A|["+Object.keys(Nl).join("")+"]+)?(?:\\s*)(?:\u5206|:|\uFF1A)?(?:\\s*)([0-9\uFF10-\uFF19]+|["+Object.keys(Nl).join("")+"]+)?(?:\\s*)(?:\u79D2)?)(?:\\s*(A.M.|P.M.|AM?|PM?))?","i"),Jze=new RegExp("(?:^\\s*(?:\u304B\u3089|\\-|\\\u2013|\\\uFF0D|\\~|\\\u301C)\\s*)(?:(\u5348\u524D|\u5348\u5F8C|A.M.|P.M.|AM|PM))?(?:[\\s,\uFF0C\u3001]*)(?:([0-9\uFF10-\uFF19]+|["+Object.keys(Nl).join("")+"]+)(?:\\s*)(?:\u6642|:|\uFF1A)(?:\\s*)([0-9\uFF10-\uFF19]+|\u534A|["+Object.keys(Nl).join("")+"]+)?(?:\\s*)(?:\u5206|:|\uFF1A)?(?:\\s*)([0-9\uFF10-\uFF19]+|["+Object.keys(Nl).join("")+"]+)?(?:\\s*)(?:\u79D2)?)(?:\\s*(A.M.|P.M.|AM?|PM?))?","i"),fC=1,hC=2,Iu=3,Bg=4,gC=5,Tk=class extends q{innerPattern(){return Qze}innerExtract(e,t){if(t.index>0&&e.text[t.index-1].match(/\w/))return null;let n=e.createParsingResult(t.index,t[0]),i=0,s=0,a=-1;if(t[Bg]){let o=parseInt(as(t[Bg]));if(isNaN(o)&&(o=Bm(t[Bg])),o>=60)return null;n.start.assign("second",o)}if(i=parseInt(as(t[hC])),isNaN(i)&&(i=Bm(t[hC])),t[Iu]?t[Iu]==="\u534A"?s=30:(s=parseInt(as(t[Iu])),isNaN(s)&&(s=Bm(t[Iu]))):i>100&&(s=i%100,i=Math.floor(i/100)),s>=60||i>24)return null;if(i>=12&&(a=$.PM),t[fC]){if(i>12)return null;let o=t[fC],l=o[0].toLowerCase();o==="\u5348\u524D"||l==="a"?(a=$.AM,i===12&&(i=0)):(o==="\u5348\u5F8C"||l==="p")&&(a=$.PM,i!=12&&(i+=12))}else if(t[gC]){if(i>12)return null;let o=t[gC][0].toLowerCase();o==="a"&&(a=$.AM,i===12&&(i=0)),o==="p"&&(a=$.PM,i!=12&&(i+=12))}if(n.start.assign("hour",i),n.start.assign("minute",s),a>=0?n.start.assign("meridiem",a):i<12?n.start.imply("meridiem",0):n.start.imply("meridiem",1),t=Jze.exec(e.text.substring(n.index+n.text.length)),!t)return n.text.match(/^\d+$/)?null:n;if(n.end=e.createParsingComponents(),i=0,s=0,a=-1,t[Bg]){let o=parseInt(as(t[Bg]));if(isNaN(o)&&(o=Bm(t[Bg])),o>=60)return null;n.end.assign("second",o)}if(i=parseInt(as(t[hC])),isNaN(i)&&(i=Bm(t[hC])),t[Iu]?t[Iu]==="\u534A"?s=30:(s=parseInt(as(t[Iu])),isNaN(s)&&(s=Bm(t[Iu]))):i>100&&(s=i%100,i=Math.floor(i/100)),s>=60||i>24)return null;if(i>=12&&(a=$.PM),t[fC]){if(i>12)return null;let o=t[fC],l=o[0].toLowerCase();o==="\u5348\u524D"||l==="a"?(a=$.AM,i===12&&(i=0)):(o==="\u5348\u5F8C"||l==="p")&&(a=$.PM,i!=12&&(i+=12)),n.start.isCertain("meridiem")||(a===$.AM?(n.start.imply("meridiem",$.AM),n.start.get("hour")===12&&n.start.assign("hour",0)):(n.start.imply("meridiem",1),n.start.get("hour")!=12&&n.start.assign("hour",n.start.get("hour")+12)))}else if(t[gC]){if(i>12)return null;let o=t[gC][0].toLowerCase();o==="a"&&(a=$.AM,i===12&&(i=0)),o==="p"&&(a=$.PM,i!=12&&(i+=12))}return n.text=n.text+t[0],n.end.assign("hour",i),n.end.assign("minute",s),a>=0?n.end.assign("meridiem",a):n.start.isCertain("meridiem")&&n.start.get("hour")>12?n.start.get("hour")-12>i?n.end.imply("meridiem",$.AM):i<=12&&(n.end.assign("hour",i+12),n.end.assign("meridiem",$.PM)):i>12?n.end.imply("meridiem",$.PM):i<=12&&n.end.imply("meridiem",$.AM),n.end.date().getTime()<n.start.date().getTime()&&n.end.imply("day",n.end.get("day")+1),n}}});var kk,Dae=v(()=>{Ga();kk=class extends Br{patternBetween(){return/^\s*(の)?\s*$/i}}});var wk,Cae=v(()=>{od();wk=class extends Ps{mergeResults(e,t,n){let i=t.clone();return i.text=t.text+e+n.text,i.start.assign("weekday",n.start.get("weekday")),i.end&&i.end.assign("weekday",n.start.get("weekday")),i}shouldMergeResults(e,t,n){return t.start.isCertain("day")&&n.start.isOnlyWeekdayComponent()&&!n.start.isCertain("hour")&&e.match(/^[,、の]?\s*$/)!==null}}});var Xze,Sk,Pae=v(()=>{zg();Vo();Xze=new RegExp("(?:\\(|\\\uFF08)(?<weekday>"+Object.keys(jg).join("|")+")(?:\\)|\\\uFF09)","i"),Sk=class{pattern(){return Xze}extract(e,t){let n=t.groups.weekday,i=jg[n];return i===void 0?null:Pn(e.reference,i)}}});var rF={};et(rF,{Chrono:()=>Oe,Meridiem:()=>$,ParsingComponents:()=>Q,ParsingResult:()=>$t,ReferenceWithTimezone:()=>Yt,Weekday:()=>ze,casual:()=>eF,createCasualConfiguration:()=>_ae,createConfiguration:()=>tF,parse:()=>t2e,parseDate:()=>r2e,strict:()=>e2e});function t2e(r,e,t){return eF.parse(r,e,t)}function r2e(r,e,t){return eF.parseDate(r,e,t)}function _ae(){let r=tF(!1);return r.parsers.unshift(new yk),r}function tF(r=!0){let e=Yr({parsers:[new hk,new vk,new Sk,new bk,new Tk],refiners:[new wk,new kk,new gk]},r);return e.refiners=e.refiners.filter(t=>!(t instanceof Lm)),e}var eF,e2e,Mae=v(()=>{vae();bae();kae();wae();xae();Eae();Dae();_s();rt();Nt();Cae();Pae();da();_1();eF=new Oe(_ae()),e2e=new Oe(tF(!0))});function Iae(r){if(r.match(/^[0-9]{1,4}$/)){let e=parseInt(r);return e<100&&(e>50?e=e+1900:e=e+2e3),e}return r.match(/a\.?\s*c\.?/i)?(r=r.replace(/a\.?\s*c\.?/i,""),-parseInt(r)):parseInt(r)}var nF,iF,Aae,yC=v(()=>{nF={domingo:0,dom:0,segunda:1,"segunda-feira":1,seg:1,ter\u00E7a:2,"ter\xE7a-feira":2,ter:2,quarta:3,"quarta-feira":3,qua:3,quinta:4,"quinta-feira":4,qui:4,sexta:5,"sexta-feira":5,sex:5,s\u00E1bado:6,sabado:6,sab:6},iF={janeiro:1,jan:1,"jan.":1,fevereiro:2,fev:2,"fev.":2,mar\u00E7o:3,mar:3,"mar.":3,abril:4,abr:4,"abr.":4,maio:5,mai:5,"mai.":5,junho:6,jun:6,"jun.":6,julho:7,jul:7,"jul.":7,agosto:8,ago:8,"ago.":8,setembro:9,set:9,"set.":9,outubro:10,out:10,"out.":10,novembro:11,nov:11,"nov.":11,dezembro:12,dez:12,"dez.":12},Aae="[0-9]{1,4}(?![^\\s]\\d)(?:\\s*[a|d]\\.?\\s*c\\.?|\\s*a\\.?\\s*d\\.?)?"});var n2e,i2e,s2e,a2e,xk,Nae=v(()=>{yC();Dt();ve();Vo();n2e=new RegExp(`(?:(?:\\,|\\(|\\\uFF08)\\s*)?(?:(este|esta|passado|pr[o\xF3]ximo)\\s*)?(${se(nF)})(?:\\s*(?:\\,|\\)|\\\uFF09))?(?:\\s*(este|esta|passado|pr[\xF3o]ximo)\\s*semana)?(?=\\W|\\d|$)`,"i"),i2e=1,s2e=2,a2e=3,xk=class extends q{innerPattern(){return n2e}innerExtract(e,t){let n=t[s2e].toLowerCase(),i=nF[n];if(i===void 0)return null;let s=t[i2e],a=t[a2e],o=s||a||"";o=o.toLowerCase();let l=null;return o=="passado"?l="this":o=="pr\xF3ximo"||o=="proximo"?l="next":o=="este"&&(l="this"),Pn(e.reference,i,l)}}});var Ek,Rae=v(()=>{ad();Ek=class extends Jn{primaryPrefix(){return"(?:(?:ao?|\xE0s?|das|da|de|do)\\s*)?"}followingPhase(){return"\\s*(?:\\-|\\\u2013|\\~|\\\u301C|a(?:o)?|\\?)\\s*"}}});var Dk,Oae=v(()=>{Ga();Dk=class extends Br{patternBetween(){return new RegExp("^\\s*(?:,|\xE0)?\\s*$")}}});var Ck,Lae=v(()=>{Ya();Ck=class extends zr{patternBetween(){return/^\s*(?:-)\s*$/i}}});var o2e,Fae,$ae,l2e,jae,Pk,zae=v(()=>{un();yC();yC();Dt();ve();o2e=new RegExp(`([0-9]{1,2})(?:\xBA|\xAA|\xB0)?(?:\\s*(?:desde|de|\\-|\\\u2013|ao?|\\s)\\s*([0-9]{1,2})(?:\xBA|\xAA|\xB0)?)?\\s*(?:de)?\\s*(?:-|/|\\s*(?:de|,)?\\s*)(${se(iF)})(?:\\s*(?:de|,)?\\s*(${Aae}))?(?=\\W|$)`,"i"),Fae=1,$ae=2,l2e=3,jae=4,Pk=class extends q{innerPattern(){return o2e}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=iF[t[l2e].toLowerCase()],s=parseInt(t[Fae]);if(s>31)return t.index=t.index+t[Fae].length,null;if(n.start.assign("month",i),n.start.assign("day",s),t[jae]){let a=Iae(t[jae]);n.start.assign("year",a)}else{let a=ir(e.refDate,s,i);n.start.imply("year",a)}if(t[$ae]){let a=parseInt(t[$ae]);n.end=n.start.clone(),n.end.assign("day",a)}return n}}});var _k,Bae=v(()=>{ve();ua();_k=class extends q{innerPattern(e){return/(agora|hoje|amanha|amanhã|ontem)(?=\W|$)/i}innerExtract(e,t){let n=t[0].toLowerCase(),i=e.createParsingComponents();switch(n){case"agora":return Ii(e.reference);case"hoje":return Xn(e.reference);case"amanha":case"amanh\xE3":return Ri(e.reference);case"ontem":return Ni(e.reference)}return i}}});var qae,Mk,Hae=v(()=>{Nt();ve();ca();qae=Ke(Wt(),1),Mk=class extends q{innerPattern(){return/(?:esta\s*)?(manha|manhã|tarde|meia-noite|meio-dia|noite)(?=\W|$)/i}innerExtract(e,t){let n=(0,qae.default)(e.refDate),i=e.createParsingComponents();switch(t[1].toLowerCase()){case"tarde":i.imply("meridiem",$.PM),i.imply("hour",15);break;case"noite":i.imply("meridiem",$.PM),i.imply("hour",22);break;case"manha":case"manh\xE3":i.imply("meridiem",$.AM),i.imply("hour",6);break;case"meia-noite":Ho(i,n),i.imply("hour",0),i.imply("minute",0),i.imply("second",0);break;case"meio-dia":i.imply("meridiem",$.AM),i.imply("hour",12);break}return i}}});var oF={};et(oF,{Chrono:()=>Oe,Meridiem:()=>$,ParsingComponents:()=>Q,ParsingResult:()=>$t,ReferenceWithTimezone:()=>Yt,Weekday:()=>ze,casual:()=>sF,createCasualConfiguration:()=>Uae,createConfiguration:()=>aF,parse:()=>d2e,parseDate:()=>u2e,strict:()=>c2e});function d2e(r,e,t){return sF.parse(r,e,t)}function u2e(r,e,t){return sF.parseDate(r,e,t)}function Uae(r=!0){let e=aF(!1,r);return e.parsers.push(new _k),e.parsers.push(new Mk),e}function aF(r=!0,e=!0){return Yr({parsers:[new $n(e),new xk,new Ek,new Pk],refiners:[new Dk,new Ck]},r)}var sF,c2e,Vae=v(()=>{da();_s();rt();Nt();cd();Nae();Rae();Oae();Lae();zae();Bae();Hae();sF=new Oe(Uae()),c2e=new Oe(aF(!0))});var Ak,Wae=v(()=>{Ya();Ak=class extends zr{patternBetween(){return/^\s*(tot|-)\s*$/i}}});var Ik,Yae=v(()=>{Ga();Ik=class extends Br{patternBetween(){return new RegExp("^\\s*(om|na|voor|in de|,|-)?\\s*$")}}});var Nk,Gae=v(()=>{ve();ua();Nk=class extends q{innerPattern(e){return/(nu|vandaag|morgen|morgend|gisteren)(?=\W|$)/i}innerExtract(e,t){let n=t[0].toLowerCase(),i=e.createParsingComponents();switch(n){case"nu":return Ii(e.reference);case"vandaag":return Xn(e.reference);case"morgen":case"morgend":return Ri(e.reference);case"gisteren":return Ni(e.reference)}return i}}});var Kae,p2e,m2e,Rk,Zae=v(()=>{Nt();ve();Kae=Ke(Wt(),1);ca();p2e=1,m2e=2,Rk=class extends q{innerPattern(){return/(deze)?\s*(namiddag|avond|middernacht|ochtend|middag|'s middags|'s avonds|'s ochtends)(?=\W|$)/i}innerExtract(e,t){let n=(0,Kae.default)(e.refDate),i=e.createParsingComponents();switch(t[p2e]==="deze"&&(i.assign("day",e.refDate.getDate()),i.assign("month",e.refDate.getMonth()+1),i.assign("year",e.refDate.getFullYear())),t[m2e].toLowerCase()){case"namiddag":case"'s namiddags":i.imply("meridiem",$.PM),i.imply("hour",15);break;case"avond":case"'s avonds'":i.imply("meridiem",$.PM),i.imply("hour",20);break;case"middernacht":Ho(i,n),i.imply("hour",0),i.imply("minute",0),i.imply("second",0);break;case"ochtend":case"'s ochtends":i.imply("meridiem",$.AM),i.imply("hour",6);break;case"middag":case"'s middags":i.imply("meridiem",$.AM),i.imply("hour",12);break}return i}}});function h2e(r){let e=r.toLowerCase();return lF[e]!==void 0?lF[e]:e==="paar"?2:e==="half"||e.match(/halve?/)?.5:parseFloat(e.replace(",","."))}function pF(r){let e=r.toLowerCase();return cF[e]!==void 0?cF[e]:(e=e.replace(/(?:ste|de)$/i,""),parseInt(e))}function bC(r){if(/voor Christus/i.test(r))return r=r.replace(/voor Christus/i,""),-parseInt(r);if(/na Christus/i.test(r))return r=r.replace(/na Christus/i,""),parseInt(r);let e=parseInt(r);return Cs(e)}function Nu(r){let e={},t=r,n=Qae.exec(t);for(;n;)g2e(e,n),t=t.substring(n[0].length),n=Qae.exec(t);return e}function g2e(r,e){let t=h2e(e[1]),n=Ok[e[2].toLowerCase()];r[n]=t}var dF,dd,lF,cF,Ok,f2e,uF,vC,Jae,Qae,Rl,ma=v(()=>{Dt();un();dF={zondag:0,zon:0,"zon.":0,zo:0,"zo.":0,maandag:1,ma:1,"ma.":1,dinsdag:2,din:2,"din.":2,di:2,"di.":2,woensdag:3,woe:3,"woe.":3,wo:3,"wo.":3,donderdag:4,dond:4,"dond.":4,do:4,"do.":4,vrijdag:5,vrij:5,"vrij.":5,vr:5,"vr.":5,zaterdag:6,zat:6,"zat.":6,za:6,"za.":6},dd={januari:1,jan:1,"jan.":1,februari:2,feb:2,"feb.":2,maart:3,mar:3,"mar.":3,mrt:3,"mrt.":3,april:4,apr:4,"apr.":4,mei:5,juni:6,jun:6,"jun.":6,juli:7,jul:7,"jul.":7,augustus:8,aug:8,"aug.":8,september:9,sep:9,"sep.":9,sept:9,"sept.":9,oktober:10,okt:10,"okt.":10,november:11,nov:11,"nov.":11,december:12,dec:12,"dec.":12},lF={een:1,twee:2,drie:3,vier:4,vijf:5,zes:6,zeven:7,acht:8,negen:9,tien:10,elf:11,twaalf:12},cF={eerste:1,tweede:2,derde:3,vierde:4,vijfde:5,zesde:6,zevende:7,achtste:8,negende:9,tiende:10,elfde:11,twaalfde:12,dertiende:13,veertiende:14,vijftiende:15,zestiende:16,zeventiende:17,achttiende:18,negentiende:19,twintigste:20,eenentwintigste:21,twee\u00EBntwintigste:22,drieentwintigste:23,vierentwintigste:24,vijfentwintigste:25,zesentwintigste:26,zevenentwintigste:27,achtentwintig:28,negenentwintig:29,dertigste:30,eenendertigste:31},Ok={sec:"second",second:"second",seconden:"second",min:"minute",mins:"minute",minute:"minute",minuut:"minute",minuten:"minute",minuutje:"minute",h:"hour",hr:"hour",hrs:"hour",uur:"hour",u:"hour",uren:"hour",dag:"d",dagen:"d",week:"week",weken:"week",maand:"month",maanden:"month",jaar:"year",jr:"year",jaren:"year"},f2e=`(?:${se(lF)}|[0-9]+|[0-9]+[\\.,][0-9]+|halve?|half|paar)`;uF=`(?:${se(cF)}|[0-9]{1,2}(?:ste|de)?)`;vC="(?:[1-9][0-9]{0,3}\\s*(?:voor Christus|na Christus)|[1-2][0-9]{3}|[5-9][0-9])";Jae=`(${f2e})\\s{0,5}(${se(Ok)})\\s{0,5}`,Qae=new RegExp(Jae,"i"),Rl=ss("(?:(?:binnen|in)\\s*)?",Jae)});var Lk,Xae=v(()=>{ma();rt();ve();Lk=class extends q{innerPattern(){return new RegExp("(?:binnen|in|binnen de|voor)\\s*("+Rl+")(?=\\W|$)","i")}innerExtract(e,t){let n=Nu(t[1]);return Q.createRelativeFromReference(e.reference,n)}}});var y2e,v2e,b2e,T2e,Fk,eoe=v(()=>{ma();Dt();ve();Vo();y2e=new RegExp(`(?:(?:\\,|\\(|\\\uFF08)\\s*)?(?:op\\s*?)?(?:(deze|vorige|volgende)\\s*(?:week\\s*)?)?(${se(dF)})(?=\\W|$)`,"i"),v2e=1,b2e=2,T2e=3,Fk=class extends q{innerPattern(){return y2e}innerExtract(e,t){let n=t[b2e].toLowerCase(),i=dF[n],s=t[v2e],a=t[T2e],o=s||a;o=o||"",o=o.toLowerCase();let l=null;return o=="vorige"?l="last":o=="volgende"?l="next":o=="deze"&&(l="this"),Pn(e.reference,i,l)}}});var k2e,w2e,toe,roe,noe,$k,ioe=v(()=>{un();ma();ma();ma();Dt();ve();k2e=new RegExp(`(?:on\\s*?)?(${uF})(?:\\s*(?:tot|\\-|\\\u2013|until|through|till|\\s)\\s*(${uF}))?(?:-|/|\\s*(?:of)?\\s*)(`+se(dd)+`)(?:(?:-|/|,?\\s*)(${vC}(?![^\\s]\\d)))?(?=\\W|$)`,"i"),w2e=3,toe=1,roe=2,noe=4,$k=class extends q{innerPattern(){return k2e}innerExtract(e,t){let n=dd[t[w2e].toLowerCase()],i=pF(t[toe]);if(i>31)return t.index=t.index+t[toe].length,null;let s=e.createParsingComponents({day:i,month:n});if(t[noe]){let l=bC(t[noe]);s.assign("year",l)}else{let l=ir(e.refDate,i,n);s.imply("year",l)}if(!t[roe])return s;let a=pF(t[roe]),o=e.createParsingResult(t.index,t[0]);return o.start=s,o.end=s.clone(),o.end.assign("day",a),o}}});var S2e,x2e,soe,qg,aoe=v(()=>{ma();un();Dt();ma();ve();S2e=new RegExp(`(${se(dd)})\\s*(?:[,-]?\\s*(${vC})?)?(?=[^\\s\\w]|\\s+[^0-9]|\\s+$|$)`,"i"),x2e=1,soe=2,qg=class extends q{innerPattern(){return S2e}innerExtract(e,t){let n=e.createParsingComponents();n.imply("day",1);let i=t[x2e],s=dd[i.toLowerCase()];if(n.assign("month",s),t[soe]){let a=bC(t[soe]);n.assign("year",a)}else{let a=ir(e.refDate,1,s);n.imply("year",a)}return n}}});var E2e,D2e,C2e,jk,ooe=v(()=>{ve();E2e=new RegExp("([0-9]|0[1-9]|1[012])/([0-9]{4})","i"),D2e=1,C2e=2,jk=class extends q{innerPattern(){return E2e}innerExtract(e,t){let n=parseInt(t[C2e]),i=parseInt(t[D2e]);return e.createParsingComponents().imply("day",1).assign("month",i).assign("year",n)}}});var zk,loe=v(()=>{ad();zk=class extends Jn{primaryPrefix(){return"(?:(?:om)\\s*)?"}followingPhase(){return"\\s*(?:\\-|\\\u2013|\\~|\\\u301C|om|\\?)\\s*"}primarySuffix(){return"(?:\\s*(?:uur))?(?!/)(?=\\W|$)"}extractPrimaryTimeComponents(e,t){return t[0].match(/^\s*\d{4}\s*$/)?null:super.extractPrimaryTimeComponents(e,t)}}});var P2e,_2e,M2e,coe,A2e,Bk,doe=v(()=>{ma();Dt();ve();P2e=new RegExp(`([0-9]{4})[\\.\\/\\s](?:(${se(dd)})|([0-9]{1,2}))[\\.\\/\\s]([0-9]{1,2})(?=\\W|$)`,"i"),_2e=1,M2e=2,coe=3,A2e=4,Bk=class extends q{innerPattern(){return P2e}innerExtract(e,t){let n=t[coe]?parseInt(t[coe]):dd[t[M2e].toLowerCase()];if(n<1||n>12)return null;let i=parseInt(t[_2e]);return{day:parseInt(t[A2e]),month:n,year:i}}}});var uoe,I2e,N2e,qk,poe=v(()=>{ve();Nt();ca();uoe=Ke(Wt(),1),I2e=1,N2e=2,qk=class extends q{innerPattern(e){return/(gisteren|morgen|van)(ochtend|middag|namiddag|avond|nacht)(?=\W|$)/i}innerExtract(e,t){let n=t[I2e].toLowerCase(),i=t[N2e].toLowerCase(),s=e.createParsingComponents(),a=(0,uoe.default)(e.refDate);switch(n){case"gisteren":Ir(s,a.add(-1,"day"));break;case"van":Ir(s,a);break;case"morgen":Ho(s,a);break}switch(i){case"ochtend":s.imply("meridiem",$.AM),s.imply("hour",6);break;case"middag":s.imply("meridiem",$.AM),s.imply("hour",12);break;case"namiddag":s.imply("meridiem",$.PM),s.imply("hour",15);break;case"avond":s.imply("meridiem",$.PM),s.imply("hour",20);break}return s}}});var R2e,O2e,L2e,Hk,moe=v(()=>{ma();rt();ve();pa();R2e=new RegExp(`(dit|deze|vorig|afgelopen|(?:aan)?komend|over|\\+|-)e?\\s*(${Rl})(?=\\W|$)`,"i"),O2e=1,L2e=2,Hk=class extends q{innerPattern(){return R2e}innerExtract(e,t){let n=t[O2e].toLowerCase(),i=Nu(t[L2e]);switch(n){case"vorig":case"afgelopen":case"-":i=Cn(i);break}return Q.createRelativeFromReference(e.reference,i)}}});var foe,F2e,$2e,j2e,Uk,hoe=v(()=>{ma();rt();foe=Ke(Wt(),1);ve();Dt();F2e=new RegExp(`(dit|deze|(?:aan)?komend|volgend|afgelopen|vorig)e?\\s*(${se(Ok)})(?=\\s*)(?=\\W|$)`,"i"),$2e=1,j2e=2,Uk=class extends q{innerPattern(){return F2e}innerExtract(e,t){let n=t[$2e].toLowerCase(),i=t[j2e].toLowerCase(),s=Ok[i];if(n=="volgend"||n=="komend"||n=="aankomend"){let l={};return l[s]=1,Q.createRelativeFromReference(e.reference,l)}if(n=="afgelopen"||n=="vorig"){let l={};return l[s]=-1,Q.createRelativeFromReference(e.reference,l)}let a=e.createParsingComponents(),o=(0,foe.default)(e.reference.instant);return i.match(/week/i)?(o=o.add(-o.get("d"),"d"),a.imply("day",o.date()),a.imply("month",o.month()+1),a.imply("year",o.year())):i.match(/maand/i)?(o=o.add(-o.date()+1,"d"),a.imply("day",o.date()),a.assign("year",o.year()),a.assign("month",o.month()+1)):i.match(/jaar/i)&&(o=o.add(-o.date()+1,"d"),o=o.add(-o.month(),"month"),a.imply("day",o.date()),a.imply("month",o.month()+1),a.assign("year",o.year())),a}}});var z2e,B2e,Vk,goe=v(()=>{ma();rt();ve();pa();z2e=new RegExp("("+Rl+")(?:geleden|voor|eerder)(?=(?:\\W|$))","i"),B2e=new RegExp("("+Rl+")geleden(?=(?:\\W|$))","i"),Vk=class extends q{constructor(t){super();M(this,"strictMode");this.strictMode=t}innerPattern(){return this.strictMode?B2e:z2e}innerExtract(t,n){let i=Nu(n[1]),s=Cn(i);return Q.createRelativeFromReference(t.reference,s)}}});var q2e,H2e,U2e,Wk,yoe=v(()=>{ma();rt();ve();q2e=new RegExp("("+Rl+")(later|na|vanaf nu|voortaan|vooruit|uit)(?=(?:\\W|$))","i"),H2e=new RegExp("("+Rl+")(later|vanaf nu)(?=(?:\\W|$))","i"),U2e=1,Wk=class extends q{constructor(t){super();M(this,"strictMode");this.strictMode=t}innerPattern(){return this.strictMode?H2e:q2e}innerExtract(t,n){let i=Nu(n[U2e]);return Q.createRelativeFromReference(t.reference,i)}}});var hF={};et(hF,{Chrono:()=>Oe,Meridiem:()=>$,ParsingComponents:()=>Q,ParsingResult:()=>$t,ReferenceWithTimezone:()=>Yt,Weekday:()=>ze,casual:()=>mF,createCasualConfiguration:()=>voe,createConfiguration:()=>fF,parse:()=>W2e,parseDate:()=>Y2e,strict:()=>V2e});function W2e(r,e,t){return mF.parse(r,e,t)}function Y2e(r,e,t){return mF.parseDate(r,e,t)}function voe(r=!0){let e=fF(!1,r);return e.parsers.unshift(new Nk),e.parsers.unshift(new Rk),e.parsers.unshift(new qk),e.parsers.unshift(new qg),e.parsers.unshift(new Uk),e.parsers.unshift(new Hk),e}function fF(r=!0,e=!0){return Yr({parsers:[new $n(e),new Lk,new $k,new qg,new Fk,new Bk,new jk,new zk(r),new Vk(r),new Wk(r)],refiners:[new Ik,new Ak]},r)}var mF,V2e,boe=v(()=>{da();_s();rt();Nt();Wae();Yae();Gae();Zae();cd();Xae();eoe();ioe();aoe();ooe();loe();doe();poe();moe();hoe();goe();yoe();mF=new Oe(voe()),V2e=new Oe(fF(!0))});function Za(r){let e=0;for(let t=0;t<r.length;t++){let n=r[t];n==="\u5341"?e=e===0?ei[n]:e*ei[n]:e+=ei[n]}return e}function Toe(r){let e="";for(let t=0;t<r.length;t++){let n=r[t];e=e+ei[n]}return parseInt(e)}var ei,Hg,Ug=v(()=>{ei={\u96F6:0,"\u3007":0,\u4E00:1,\u4E8C:2,\u4E24:2,\u4E09:3,\u56DB:4,\u4E94:5,\u516D:6,\u4E03:7,\u516B:8,\u4E5D:9,\u5341:10},Hg={\u5929:0,\u65E5:0,\u4E00:1,\u4E8C:2,\u4E09:3,\u56DB:4,\u4E94:5,\u516D:6}});var woe,gF,koe,yF,qm,vF=v(()=>{woe=Ke(Wt(),1);ve();Ug();gF=1,koe=2,yF=3,qm=class extends q{innerPattern(){return new RegExp("(\\d{2,4}|["+Object.keys(ei).join("")+"]{4}|["+Object.keys(ei).join("")+"]{2})?(?:\\s*)(?:\u5E74)?(?:[\\s|,|\uFF0C]*)(\\d{1,2}|["+Object.keys(ei).join("")+"]{1,3})(?:\\s*)(?:\u6708)(?:\\s*)(\\d{1,2}|["+Object.keys(ei).join("")+"]{1,3})?(?:\\s*)(?:\u65E5|\u53F7)?")}innerExtract(e,t){let n=(0,woe.default)(e.refDate),i=e.createParsingResult(t.index,t[0]),s=parseInt(t[koe]);if(isNaN(s)&&(s=Za(t[koe])),i.start.assign("month",s),t[yF]){let a=parseInt(t[yF]);isNaN(a)&&(a=Za(t[yF])),i.start.assign("day",a)}else i.start.imply("day",n.date());if(t[gF]){let a=parseInt(t[gF]);isNaN(a)&&(a=Toe(t[gF])),i.start.assign("year",a)}else i.start.imply("year",n.year());return i}}});var Soe,G2e,bF,K2e,Hm,TF=v(()=>{Soe=Ke(Wt(),1);ve();Ug();G2e=new RegExp("(\\d+|["+Object.keys(ei).join("")+"]+|\u534A|\u51E0)(?:\\s*)(?:\u4E2A)?(\u79D2(?:\u949F)?|\u5206\u949F|\u5C0F\u65F6|\u949F|\u65E5|\u5929|\u661F\u671F|\u793C\u62DC|\u6708|\u5E74)(?:(?:\u4E4B|\u8FC7)?\u540E|(?:\u4E4B)?\u5185)","i"),bF=1,K2e=2,Hm=class extends q{innerPattern(){return G2e}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=parseInt(t[bF]);if(isNaN(i)&&(i=Za(t[bF])),isNaN(i)){let l=t[bF];if(l==="\u51E0")i=3;else if(l==="\u534A")i=.5;else return null}let s=(0,Soe.default)(e.refDate),o=t[K2e][0];return o.match(/[日天星礼月年]/)?(o=="\u65E5"||o=="\u5929"?s=s.add(i,"d"):o=="\u661F"||o=="\u793C"?s=s.add(i*7,"d"):o=="\u6708"?s=s.add(i,"month"):o=="\u5E74"&&(s=s.add(i,"year")),n.start.assign("year",s.year()),n.start.assign("month",s.month()+1),n.start.assign("day",s.date()),n):(o=="\u79D2"?s=s.add(i,"second"):o=="\u5206"?s=s.add(i,"minute"):(o=="\u5C0F"||o=="\u949F")&&(s=s.add(i,"hour")),n.start.imply("year",s.year()),n.start.imply("month",s.month()+1),n.start.imply("day",s.date()),n.start.assign("hour",s.hour()),n.start.assign("minute",s.minute()),n.start.assign("second",s.second()),n)}}});var xoe,Z2e,Um,kF=v(()=>{xoe=Ke(Wt(),1);ve();Ug();Z2e=new RegExp("(?<prefix>\u4E0A|\u4E0B|\u8FD9)(?:\u4E2A)?(?:\u661F\u671F|\u793C\u62DC|\u5468)(?<weekday>"+Object.keys(Hg).join("|")+")"),Um=class extends q{innerPattern(){return Z2e}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=t.groups.weekday,s=Hg[i];if(s===void 0)return null;let a=null,o=t.groups.prefix;o=="\u4E0A"?a="last":o=="\u4E0B"?a="next":o=="\u8FD9"&&(a="this");let l=(0,xoe.default)(e.refDate),c=!1,d=l.day();return a=="last"||a=="past"?(l=l.day(s-7),c=!0):a=="next"?(l=l.day(s+7),c=!0):a=="this"?l=l.day(s):Math.abs(s-7-d)<Math.abs(s-d)?l=l.day(s-7):Math.abs(s+7-d)<Math.abs(s-d)?l=l.day(s+7):l=l.day(s),n.start.assign("weekday",s),c?(n.start.assign("day",l.date()),n.start.assign("month",l.month()+1),n.start.assign("year",l.year())):(n.start.imply("day",l.date()),n.start.imply("month",l.month()+1),n.start.imply("year",l.year())),n}}});var Eoe,Q2e,J2e,TC,kC,wC,SC,xC,EC,Qa,Vg,DC,Vm,wF=v(()=>{Eoe=Ke(Wt(),1);ve();Ug();Q2e=new RegExp("(?:\u4ECE|\u81EA)?(?:(\u4ECA|\u660E|\u524D|\u5927\u524D|\u540E|\u5927\u540E|\u6628)(\u65E9|\u671D|\u665A)|(\u4E0A(?:\u5348)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668))|(\u4ECA|\u660E|\u524D|\u5927\u524D|\u540E|\u5927\u540E|\u6628)(?:\u65E5|\u5929)(?:[\\s,\uFF0C]*)(?:(\u4E0A(?:\u5348)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668)))?)?(?:[\\s,\uFF0C]*)(?:(\\d+|["+Object.keys(ei).join("")+"]+)(?:\\s*)(?:\u70B9|\u65F6|:|\uFF1A)(?:\\s*)(\\d+|\u534A|\u6B63|\u6574|["+Object.keys(ei).join("")+"]+)?(?:\\s*)(?:\u5206|:|\uFF1A)?(?:\\s*)(\\d+|["+Object.keys(ei).join("")+"]+)?(?:\\s*)(?:\u79D2)?)(?:\\s*(A.M.|P.M.|AM?|PM?))?","i"),J2e=new RegExp("(?:^\\s*(?:\u5230|\u81F3|\\-|\\\u2013|\\~|\\\u301C)\\s*)(?:(\u4ECA|\u660E|\u524D|\u5927\u524D|\u540E|\u5927\u540E|\u6628)(\u65E9|\u671D|\u665A)|(\u4E0A(?:\u5348)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668))|(\u4ECA|\u660E|\u524D|\u5927\u524D|\u540E|\u5927\u540E|\u6628)(?:\u65E5|\u5929)(?:[\\s,\uFF0C]*)(?:(\u4E0A(?:\u5348)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668)))?)?(?:[\\s,\uFF0C]*)(?:(\\d+|["+Object.keys(ei).join("")+"]+)(?:\\s*)(?:\u70B9|\u65F6|:|\uFF1A)(?:\\s*)(\\d+|\u534A|\u6B63|\u6574|["+Object.keys(ei).join("")+"]+)?(?:\\s*)(?:\u5206|:|\uFF1A)?(?:\\s*)(\\d+|["+Object.keys(ei).join("")+"]+)?(?:\\s*)(?:\u79D2)?)(?:\\s*(A.M.|P.M.|AM?|PM?))?","i"),TC=1,kC=2,wC=3,SC=4,xC=5,EC=6,Qa=7,Vg=8,DC=9,Vm=class extends q{innerPattern(){return Q2e}innerExtract(e,t){if(t.index>0&&e.text[t.index-1].match(/\w/))return null;let n=(0,Eoe.default)(e.refDate),i=e.createParsingResult(t.index,t[0]),s=n.clone();if(t[TC]){let d=t[TC];d=="\u660E"?n.hour()>1&&(s=s.add(1,"day")):d=="\u6628"?s=s.add(-1,"day"):d=="\u524D"?s=s.add(-2,"day"):d=="\u5927\u524D"?s=s.add(-3,"day"):d=="\u540E"?s=s.add(2,"day"):d=="\u5927\u540E"&&(s=s.add(3,"day")),i.start.assign("day",s.date()),i.start.assign("month",s.month()+1),i.start.assign("year",s.year())}else if(t[SC]){let d=t[SC];d=="\u660E"?s=s.add(1,"day"):d=="\u6628"?s=s.add(-1,"day"):d=="\u524D"?s=s.add(-2,"day"):d=="\u5927\u524D"?s=s.add(-3,"day"):d=="\u540E"?s=s.add(2,"day"):d=="\u5927\u540E"&&(s=s.add(3,"day")),i.start.assign("day",s.date()),i.start.assign("month",s.month()+1),i.start.assign("year",s.year())}else i.start.imply("day",s.date()),i.start.imply("month",s.month()+1),i.start.imply("year",s.year());let a=0,o=0,l=-1;if(t[Vg]){let d=parseInt(t[Vg]);if(isNaN(d)&&(d=Za(t[Vg])),d>=60)return null;i.start.assign("second",d)}if(a=parseInt(t[EC]),isNaN(a)&&(a=Za(t[EC])),t[Qa]?t[Qa]=="\u534A"?o=30:t[Qa]=="\u6B63"||t[Qa]=="\u6574"?o=0:(o=parseInt(t[Qa]),isNaN(o)&&(o=Za(t[Qa]))):a>100&&(o=a%100,a=Math.floor(a/100)),o>=60||a>24)return null;if(a>=12&&(l=1),t[DC]){if(a>12)return null;let d=t[DC][0].toLowerCase();d=="a"&&(l=0,a==12&&(a=0)),d=="p"&&(l=1,a!=12&&(a+=12))}else if(t[kC]){let u=t[kC][0];u=="\u65E9"?(l=0,a==12&&(a=0)):u=="\u665A"&&(l=1,a!=12&&(a+=12))}else if(t[wC]){let u=t[wC][0];u=="\u4E0A"||u=="\u65E9"||u=="\u51CC"?(l=0,a==12&&(a=0)):(u=="\u4E0B"||u=="\u665A")&&(l=1,a!=12&&(a+=12))}else if(t[xC]){let u=t[xC][0];u=="\u4E0A"||u=="\u65E9"||u=="\u51CC"?(l=0,a==12&&(a=0)):(u=="\u4E0B"||u=="\u665A")&&(l=1,a!=12&&(a+=12))}if(i.start.assign("hour",a),i.start.assign("minute",o),l>=0?i.start.assign("meridiem",l):a<12?i.start.imply("meridiem",0):i.start.imply("meridiem",1),t=J2e.exec(e.text.substring(i.index+i.text.length)),!t)return i.text.match(/^\d+$/)?null:i;let c=s.clone();if(i.end=e.createParsingComponents(),t[TC]){let d=t[TC];d=="\u660E"?n.hour()>1&&(c=c.add(1,"day")):d=="\u6628"?c=c.add(-1,"day"):d=="\u524D"?c=c.add(-2,"day"):d=="\u5927\u524D"?c=c.add(-3,"day"):d=="\u540E"?c=c.add(2,"day"):d=="\u5927\u540E"&&(c=c.add(3,"day")),i.end.assign("day",c.date()),i.end.assign("month",c.month()+1),i.end.assign("year",c.year())}else if(t[SC]){let d=t[SC];d=="\u660E"?c=c.add(1,"day"):d=="\u6628"?c=c.add(-1,"day"):d=="\u524D"?c=c.add(-2,"day"):d=="\u5927\u524D"?c=c.add(-3,"day"):d=="\u540E"?c=c.add(2,"day"):d=="\u5927\u540E"&&(c=c.add(3,"day")),i.end.assign("day",c.date()),i.end.assign("month",c.month()+1),i.end.assign("year",c.year())}else i.end.imply("day",c.date()),i.end.imply("month",c.month()+1),i.end.imply("year",c.year());if(a=0,o=0,l=-1,t[Vg]){let d=parseInt(t[Vg]);if(isNaN(d)&&(d=Za(t[Vg])),d>=60)return null;i.end.assign("second",d)}if(a=parseInt(t[EC]),isNaN(a)&&(a=Za(t[EC])),t[Qa]?t[Qa]=="\u534A"?o=30:t[Qa]=="\u6B63"||t[Qa]=="\u6574"?o=0:(o=parseInt(t[Qa]),isNaN(o)&&(o=Za(t[Qa]))):a>100&&(o=a%100,a=Math.floor(a/100)),o>=60||a>24)return null;if(a>=12&&(l=1),t[DC]){if(a>12)return null;let d=t[DC][0].toLowerCase();d=="a"&&(l=0,a==12&&(a=0)),d=="p"&&(l=1,a!=12&&(a+=12)),i.start.isCertain("meridiem")||(l==0?(i.start.imply("meridiem",0),i.start.get("hour")==12&&i.start.assign("hour",0)):(i.start.imply("meridiem",1),i.start.get("hour")!=12&&i.start.assign("hour",i.start.get("hour")+12)))}else if(t[kC]){let u=t[kC][0];u=="\u65E9"?(l=0,a==12&&(a=0)):u=="\u665A"&&(l=1,a!=12&&(a+=12))}else if(t[wC]){let u=t[wC][0];u=="\u4E0A"||u=="\u65E9"||u=="\u51CC"?(l=0,a==12&&(a=0)):(u=="\u4E0B"||u=="\u665A")&&(l=1,a!=12&&(a+=12))}else if(t[xC]){let u=t[xC][0];u=="\u4E0A"||u=="\u65E9"||u=="\u51CC"?(l=0,a==12&&(a=0)):(u=="\u4E0B"||u=="\u665A")&&(l=1,a!=12&&(a+=12))}return i.text=i.text+t[0],i.end.assign("hour",a),i.end.assign("minute",o),l>=0?i.end.assign("meridiem",l):i.start.isCertain("meridiem")&&i.start.get("meridiem")==1&&i.start.get("hour")>a?i.end.imply("meridiem",0):a>12&&i.end.imply("meridiem",1),i.end.date().getTime()<i.start.date().getTime()&&i.end.imply("day",i.end.get("day")+1),i}}});var Doe,X2e,Wm,SF=v(()=>{Doe=Ke(Wt(),1);ve();Ug();X2e=new RegExp("(?:\u661F\u671F|\u793C\u62DC|\u5468)(?<weekday>"+Object.keys(Hg).join("|")+")"),Wm=class extends q{innerPattern(){return X2e}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=t.groups.weekday,s=Hg[i];if(s===void 0)return null;let a=(0,Doe.default)(e.refDate),o=!1,l=a.day();return Math.abs(s-7-l)<Math.abs(s-l)?a=a.day(s-7):Math.abs(s+7-l)<Math.abs(s-l)?a=a.day(s+7):a=a.day(s),n.start.assign("weekday",s),o?(n.start.assign("day",a.date()),n.start.assign("month",a.month()+1),n.start.assign("year",a.year())):(n.start.imply("day",a.date()),n.start.imply("month",a.month()+1),n.start.imply("year",a.year())),n}}});var Moe,eBe,Coe,tBe,Poe,_oe,rBe,Ym,xF=v(()=>{Moe=Ke(Wt(),1);ve();eBe=1,Coe=2,tBe=3,Poe=4,_oe=5,rBe=6,Ym=class extends q{innerPattern(e){return new RegExp("(\u800C\u5BB6|\u7ACB(?:\u523B|\u5373)|\u5373\u523B)|(\u4ECA|\u660E|\u524D|\u5927\u524D|\u5F8C|\u5927\u5F8C|\u807D|\u6628|\u5C0B|\u7434)(\u65E9|\u671D|\u665A)|(\u4E0A(?:\u5348|\u665D)|\u671D(?:\u65E9)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348|\u665D)|\u664F(?:\u665D)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668))|(\u4ECA|\u660E|\u524D|\u5927\u524D|\u5F8C|\u5927\u5F8C|\u807D|\u6628|\u5C0B|\u7434)(?:\u65E5|\u5929)(?:[\\s|,|\uFF0C]*)(?:(\u4E0A(?:\u5348|\u665D)|\u671D(?:\u65E9)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348|\u665D)|\u664F(?:\u665D)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668)))?","i")}innerExtract(e,t){let n=t.index,i=e.createParsingResult(n,t[0]),s=(0,Moe.default)(e.refDate),a=s;if(t[eBe])i.start.imply("hour",s.hour()),i.start.imply("minute",s.minute()),i.start.imply("second",s.second()),i.start.imply("millisecond",s.millisecond());else if(t[Coe]){let o=t[Coe],l=t[tBe];o=="\u660E"||o=="\u807D"?s.hour()>1&&(a=a.add(1,"day")):o=="\u6628"||o=="\u5C0B"||o=="\u7434"?a=a.add(-1,"day"):o=="\u524D"?a=a.add(-2,"day"):o=="\u5927\u524D"?a=a.add(-3,"day"):o=="\u5F8C"?a=a.add(2,"day"):o=="\u5927\u5F8C"&&(a=a.add(3,"day")),l=="\u65E9"||l=="\u671D"?i.start.imply("hour",6):l=="\u665A"&&(i.start.imply("hour",22),i.start.imply("meridiem",1))}else if(t[Poe]){let l=t[Poe][0];l=="\u65E9"||l=="\u671D"||l=="\u4E0A"?i.start.imply("hour",6):l=="\u4E0B"||l=="\u664F"?(i.start.imply("hour",15),i.start.imply("meridiem",1)):l=="\u4E2D"?(i.start.imply("hour",12),i.start.imply("meridiem",1)):l=="\u591C"||l=="\u665A"?(i.start.imply("hour",22),i.start.imply("meridiem",1)):l=="\u51CC"&&i.start.imply("hour",0)}else if(t[_oe]){let o=t[_oe];o=="\u660E"||o=="\u807D"?s.hour()>1&&(a=a.add(1,"day")):o=="\u6628"||o=="\u5C0B"||o=="\u7434"?a=a.add(-1,"day"):o=="\u524D"?a=a.add(-2,"day"):o=="\u5927\u524D"?a=a.add(-3,"day"):o=="\u5F8C"?a=a.add(2,"day"):o=="\u5927\u5F8C"&&(a=a.add(3,"day"));let l=t[rBe];if(l){let c=l[0];c=="\u65E9"||c=="\u671D"||c=="\u4E0A"?i.start.imply("hour",6):c=="\u4E0B"||c=="\u664F"?(i.start.imply("hour",15),i.start.imply("meridiem",1)):c=="\u4E2D"?(i.start.imply("hour",12),i.start.imply("meridiem",1)):c=="\u591C"||c=="\u665A"?(i.start.imply("hour",22),i.start.imply("meridiem",1)):c=="\u51CC"&&i.start.imply("hour",0)}}return i.start.assign("day",a.date()),i.start.assign("month",a.month()+1),i.start.assign("year",a.year()),i}}});function Ja(r){let e=0;for(let t=0;t<r.length;t++){let n=r[t];n==="\u5341"?e=e===0?ti[n]:e*ti[n]:e+=ti[n]}return e}function Aoe(r){let e="";for(let t=0;t<r.length;t++){let n=r[t];e=e+ti[n]}return parseInt(e)}var ti,Wg,Yg=v(()=>{ti={\u96F6:0,\u4E00:1,\u4E8C:2,\u5169:2,\u4E09:3,\u56DB:4,\u4E94:5,\u516D:6,\u4E03:7,\u516B:8,\u4E5D:9,\u5341:10,\u5EFF:20,\u5345:30},Wg={\u5929:0,\u65E5:0,\u4E00:1,\u4E8C:2,\u4E09:3,\u56DB:4,\u4E94:5,\u516D:6}});var Noe,EF,Ioe,DF,Gm,CF=v(()=>{Noe=Ke(Wt(),1);ve();Yg();EF=1,Ioe=2,DF=3,Gm=class extends q{innerPattern(){return new RegExp("(\\d{2,4}|["+Object.keys(ti).join("")+"]{4}|["+Object.keys(ti).join("")+"]{2})?(?:\\s*)(?:\u5E74)?(?:[\\s|,|\uFF0C]*)(\\d{1,2}|["+Object.keys(ti).join("")+"]{1,2})(?:\\s*)(?:\u6708)(?:\\s*)(\\d{1,2}|["+Object.keys(ti).join("")+"]{1,2})?(?:\\s*)(?:\u65E5|\u865F)?")}innerExtract(e,t){let n=(0,Noe.default)(e.refDate),i=e.createParsingResult(t.index,t[0]),s=parseInt(t[Ioe]);if(isNaN(s)&&(s=Ja(t[Ioe])),i.start.assign("month",s),t[DF]){let a=parseInt(t[DF]);isNaN(a)&&(a=Ja(t[DF])),i.start.assign("day",a)}else i.start.imply("day",n.date());if(t[EF]){let a=parseInt(t[EF]);isNaN(a)&&(a=Aoe(t[EF])),i.start.assign("year",a)}else i.start.imply("year",n.year());return i}}});var Roe,nBe,PF,iBe,Km,_F=v(()=>{Roe=Ke(Wt(),1);ve();Yg();nBe=new RegExp("(\\d+|["+Object.keys(ti).join("")+"]+|\u534A|\u5E7E)(?:\\s*)(?:\u500B)?(\u79D2(?:\u9418)?|\u5206\u9418|\u5C0F\u6642|\u9418|\u65E5|\u5929|\u661F\u671F|\u79AE\u62DC|\u6708|\u5E74)(?:(?:\u4E4B|\u904E)?\u5F8C|(?:\u4E4B)?\u5167)","i"),PF=1,iBe=2,Km=class extends q{innerPattern(){return nBe}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=parseInt(t[PF]);if(isNaN(i)&&(i=Ja(t[PF])),isNaN(i)){let l=t[PF];if(l==="\u5E7E")i=3;else if(l==="\u534A")i=.5;else return null}let s=(0,Roe.default)(e.refDate),o=t[iBe][0];return o.match(/[日天星禮月年]/)?(o=="\u65E5"||o=="\u5929"?s=s.add(i,"d"):o=="\u661F"||o=="\u79AE"?s=s.add(i*7,"d"):o=="\u6708"?s=s.add(i,"month"):o=="\u5E74"&&(s=s.add(i,"year")),n.start.assign("year",s.year()),n.start.assign("month",s.month()+1),n.start.assign("day",s.date()),n):(o=="\u79D2"?s=s.add(i,"second"):o=="\u5206"?s=s.add(i,"minute"):(o=="\u5C0F"||o=="\u9418")&&(s=s.add(i,"hour")),n.start.imply("year",s.year()),n.start.imply("month",s.month()+1),n.start.imply("day",s.date()),n.start.assign("hour",s.hour()),n.start.assign("minute",s.minute()),n.start.assign("second",s.second()),n)}}});var Ooe,sBe,Zm,MF=v(()=>{Ooe=Ke(Wt(),1);ve();Yg();sBe=new RegExp("(?<prefix>\u4E0A|\u4ECA|\u4E0B|\u9019|\u5462)(?:\u500B)?(?:\u661F\u671F|\u79AE\u62DC|\u9031)(?<weekday>"+Object.keys(Wg).join("|")+")"),Zm=class extends q{innerPattern(){return sBe}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=t.groups.weekday,s=Wg[i];if(s===void 0)return null;let a=null,o=t.groups.prefix;o=="\u4E0A"?a="last":o=="\u4E0B"?a="next":(o=="\u4ECA"||o=="\u9019"||o=="\u5462")&&(a="this");let l=(0,Ooe.default)(e.refDate),c=!1,d=l.day();return a=="last"||a=="past"?(l=l.day(s-7),c=!0):a=="next"?(l=l.day(s+7),c=!0):a=="this"?l=l.day(s):Math.abs(s-7-d)<Math.abs(s-d)?l=l.day(s-7):Math.abs(s+7-d)<Math.abs(s-d)?l=l.day(s+7):l=l.day(s),n.start.assign("weekday",s),c?(n.start.assign("day",l.date()),n.start.assign("month",l.month()+1),n.start.assign("year",l.year())):(n.start.imply("day",l.date()),n.start.imply("month",l.month()+1),n.start.imply("year",l.year())),n}}});var Loe,aBe,oBe,CC,PC,_C,MC,AC,IC,Xa,Gg,NC,Qm,AF=v(()=>{Loe=Ke(Wt(),1);ve();Yg();aBe=new RegExp("(?:\u7531|\u5F9E|\u81EA)?(?:(\u4ECA|\u660E|\u524D|\u5927\u524D|\u5F8C|\u5927\u5F8C|\u807D|\u6628|\u5C0B|\u7434)(\u65E9|\u671D|\u665A)|(\u4E0A(?:\u5348|\u665D)|\u671D(?:\u65E9)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348|\u665D)|\u664F(?:\u665D)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668))|(\u4ECA|\u660E|\u524D|\u5927\u524D|\u5F8C|\u5927\u5F8C|\u807D|\u6628|\u5C0B|\u7434)(?:\u65E5|\u5929)(?:[\\s,\uFF0C]*)(?:(\u4E0A(?:\u5348|\u665D)|\u671D(?:\u65E9)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348|\u665D)|\u664F(?:\u665D)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668)))?)?(?:[\\s,\uFF0C]*)(?:(\\d+|["+Object.keys(ti).join("")+"]+)(?:\\s*)(?:\u9EDE|\u6642|:|\uFF1A)(?:\\s*)(\\d+|\u534A|\u6B63|\u6574|["+Object.keys(ti).join("")+"]+)?(?:\\s*)(?:\u5206|:|\uFF1A)?(?:\\s*)(\\d+|["+Object.keys(ti).join("")+"]+)?(?:\\s*)(?:\u79D2)?)(?:\\s*(A.M.|P.M.|AM?|PM?))?","i"),oBe=new RegExp("(?:^\\s*(?:\u5230|\u81F3|\\-|\\\u2013|\\~|\\\u301C)\\s*)(?:(\u4ECA|\u660E|\u524D|\u5927\u524D|\u5F8C|\u5927\u5F8C|\u807D|\u6628|\u5C0B|\u7434)(\u65E9|\u671D|\u665A)|(\u4E0A(?:\u5348|\u665D)|\u671D(?:\u65E9)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348|\u665D)|\u664F(?:\u665D)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668))|(\u4ECA|\u660E|\u524D|\u5927\u524D|\u5F8C|\u5927\u5F8C|\u807D|\u6628|\u5C0B|\u7434)(?:\u65E5|\u5929)(?:[\\s,\uFF0C]*)(?:(\u4E0A(?:\u5348|\u665D)|\u671D(?:\u65E9)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348|\u665D)|\u664F(?:\u665D)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668)))?)?(?:[\\s,\uFF0C]*)(?:(\\d+|["+Object.keys(ti).join("")+"]+)(?:\\s*)(?:\u9EDE|\u6642|:|\uFF1A)(?:\\s*)(\\d+|\u534A|\u6B63|\u6574|["+Object.keys(ti).join("")+"]+)?(?:\\s*)(?:\u5206|:|\uFF1A)?(?:\\s*)(\\d+|["+Object.keys(ti).join("")+"]+)?(?:\\s*)(?:\u79D2)?)(?:\\s*(A.M.|P.M.|AM?|PM?))?","i"),CC=1,PC=2,_C=3,MC=4,AC=5,IC=6,Xa=7,Gg=8,NC=9,Qm=class extends q{innerPattern(){return aBe}innerExtract(e,t){if(t.index>0&&e.text[t.index-1].match(/\w/))return null;let n=(0,Loe.default)(e.refDate),i=e.createParsingResult(t.index,t[0]),s=n.clone();if(t[CC]){var a=t[CC];a=="\u660E"||a=="\u807D"?n.hour()>1&&(s=s.add(1,"day")):a=="\u6628"||a=="\u5C0B"||a=="\u7434"?s=s.add(-1,"day"):a=="\u524D"?s=s.add(-2,"day"):a=="\u5927\u524D"?s=s.add(-3,"day"):a=="\u5F8C"?s=s.add(2,"day"):a=="\u5927\u5F8C"&&(s=s.add(3,"day")),i.start.assign("day",s.date()),i.start.assign("month",s.month()+1),i.start.assign("year",s.year())}else if(t[MC]){var o=t[MC];o=="\u660E"||o=="\u807D"?s=s.add(1,"day"):o=="\u6628"||o=="\u5C0B"||o=="\u7434"?s=s.add(-1,"day"):o=="\u524D"?s=s.add(-2,"day"):o=="\u5927\u524D"?s=s.add(-3,"day"):o=="\u5F8C"?s=s.add(2,"day"):o=="\u5927\u5F8C"&&(s=s.add(3,"day")),i.start.assign("day",s.date()),i.start.assign("month",s.month()+1),i.start.assign("year",s.year())}else i.start.imply("day",s.date()),i.start.imply("month",s.month()+1),i.start.imply("year",s.year());let l=0,c=0,d=-1;if(t[Gg]){var u=parseInt(t[Gg]);if(isNaN(u)&&(u=Ja(t[Gg])),u>=60)return null;i.start.assign("second",u)}if(l=parseInt(t[IC]),isNaN(l)&&(l=Ja(t[IC])),t[Xa]?t[Xa]=="\u534A"?c=30:t[Xa]=="\u6B63"||t[Xa]=="\u6574"?c=0:(c=parseInt(t[Xa]),isNaN(c)&&(c=Ja(t[Xa]))):l>100&&(c=l%100,l=Math.floor(l/100)),c>=60||l>24)return null;if(l>=12&&(d=1),t[NC]){if(l>12)return null;var p=t[NC][0].toLowerCase();p=="a"&&(d=0,l==12&&(l=0)),p=="p"&&(d=1,l!=12&&(l+=12))}else if(t[PC]){var m=t[PC],f=m[0];f=="\u671D"||f=="\u65E9"?(d=0,l==12&&(l=0)):f=="\u665A"&&(d=1,l!=12&&(l+=12))}else if(t[_C]){var h=t[_C],g=h[0];g=="\u4E0A"||g=="\u671D"||g=="\u65E9"||g=="\u51CC"?(d=0,l==12&&(l=0)):(g=="\u4E0B"||g=="\u664F"||g=="\u665A")&&(d=1,l!=12&&(l+=12))}else if(t[AC]){var y=t[AC],k=y[0];k=="\u4E0A"||k=="\u671D"||k=="\u65E9"||k=="\u51CC"?(d=0,l==12&&(l=0)):(k=="\u4E0B"||k=="\u664F"||k=="\u665A")&&(d=1,l!=12&&(l+=12))}if(i.start.assign("hour",l),i.start.assign("minute",c),d>=0?i.start.assign("meridiem",d):l<12?i.start.imply("meridiem",0):i.start.imply("meridiem",1),t=oBe.exec(e.text.substring(i.index+i.text.length)),!t)return i.text.match(/^\d+$/)?null:i;let T=s.clone();if(i.end=e.createParsingComponents(),t[CC]){var a=t[CC];a=="\u660E"||a=="\u807D"?n.hour()>1&&(T=T.add(1,"day")):a=="\u6628"||a=="\u5C0B"||a=="\u7434"?T=T.add(-1,"day"):a=="\u524D"?T=T.add(-2,"day"):a=="\u5927\u524D"?T=T.add(-3,"day"):a=="\u5F8C"?T=T.add(2,"day"):a=="\u5927\u5F8C"&&(T=T.add(3,"day")),i.end.assign("day",T.date()),i.end.assign("month",T.month()+1),i.end.assign("year",T.year())}else if(t[MC]){var o=t[MC];o=="\u660E"||o=="\u807D"?T=T.add(1,"day"):o=="\u6628"||o=="\u5C0B"||o=="\u7434"?T=T.add(-1,"day"):o=="\u524D"?T=T.add(-2,"day"):o=="\u5927\u524D"?T=T.add(-3,"day"):o=="\u5F8C"?T=T.add(2,"day"):o=="\u5927\u5F8C"&&(T=T.add(3,"day")),i.end.assign("day",T.date()),i.end.assign("month",T.month()+1),i.end.assign("year",T.year())}else i.end.imply("day",T.date()),i.end.imply("month",T.month()+1),i.end.imply("year",T.year());if(l=0,c=0,d=-1,t[Gg]){var u=parseInt(t[Gg]);if(isNaN(u)&&(u=Ja(t[Gg])),u>=60)return null;i.end.assign("second",u)}if(l=parseInt(t[IC]),isNaN(l)&&(l=Ja(t[IC])),t[Xa]?t[Xa]=="\u534A"?c=30:t[Xa]=="\u6B63"||t[Xa]=="\u6574"?c=0:(c=parseInt(t[Xa]),isNaN(c)&&(c=Ja(t[Xa]))):l>100&&(c=l%100,l=Math.floor(l/100)),c>=60||l>24)return null;if(l>=12&&(d=1),t[NC]){if(l>12)return null;var p=t[NC][0].toLowerCase();p=="a"&&(d=0,l==12&&(l=0)),p=="p"&&(d=1,l!=12&&(l+=12)),i.start.isCertain("meridiem")||(d==0?(i.start.imply("meridiem",0),i.start.get("hour")==12&&i.start.assign("hour",0)):(i.start.imply("meridiem",1),i.start.get("hour")!=12&&i.start.assign("hour",i.start.get("hour")+12)))}else if(t[PC]){var m=t[PC],f=m[0];f=="\u671D"||f=="\u65E9"?(d=0,l==12&&(l=0)):f=="\u665A"&&(d=1,l!=12&&(l+=12))}else if(t[_C]){var h=t[_C],g=h[0];g=="\u4E0A"||g=="\u671D"||g=="\u65E9"||g=="\u51CC"?(d=0,l==12&&(l=0)):(g=="\u4E0B"||g=="\u664F"||g=="\u665A")&&(d=1,l!=12&&(l+=12))}else if(t[AC]){var y=t[AC],k=y[0];k=="\u4E0A"||k=="\u671D"||k=="\u65E9"||k=="\u51CC"?(d=0,l==12&&(l=0)):(k=="\u4E0B"||k=="\u664F"||k=="\u665A")&&(d=1,l!=12&&(l+=12))}return i.text=i.text+t[0],i.end.assign("hour",l),i.end.assign("minute",c),d>=0?i.end.assign("meridiem",d):i.start.isCertain("meridiem")&&i.start.get("meridiem")==1&&i.start.get("hour")>l?i.end.imply("meridiem",0):l>12&&i.end.imply("meridiem",1),i.end.date().getTime()<i.start.date().getTime()&&i.end.imply("day",i.end.get("day")+1),i}}});var Foe,lBe,Jm,IF=v(()=>{Foe=Ke(Wt(),1);ve();Yg();lBe=new RegExp("(?:\u661F\u671F|\u79AE\u62DC|\u9031)(?<weekday>"+Object.keys(Wg).join("|")+")"),Jm=class extends q{innerPattern(){return lBe}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=t.groups.weekday,s=Wg[i];if(s===void 0)return null;let a=(0,Foe.default)(e.refDate),o=!1,l=a.day();return Math.abs(s-7-l)<Math.abs(s-l)?a=a.day(s-7):Math.abs(s+7-l)<Math.abs(s-l)?a=a.day(s+7):a=a.day(s),n.start.assign("weekday",s),o?(n.start.assign("day",a.date()),n.start.assign("month",a.month()+1),n.start.assign("year",a.year())):(n.start.imply("day",a.date()),n.start.imply("month",a.month()+1),n.start.imply("year",a.year())),n}}});var Xm,NF=v(()=>{Ya();Xm=class extends zr{patternBetween(){return/^\s*(至|到|\-|\~|||ー)\s*$/i}}});var ef,RF=v(()=>{Ga();ef=class extends Br{patternBetween(){return/^\s*$/i}}});var RC={};et(RC,{Chrono:()=>Oe,Meridiem:()=>$,ParsingComponents:()=>Q,ParsingResult:()=>$t,ReferenceWithTimezone:()=>Yt,Weekday:()=>ze,casual:()=>OF,createCasualConfiguration:()=>LF,createConfiguration:()=>FF,hant:()=>cBe,parse:()=>uBe,parseDate:()=>pBe,strict:()=>dBe});function uBe(r,e,t){return OF.parse(r,e,t)}function pBe(r,e,t){return OF.parseDate(r,e,t)}function LF(){let r=FF();return r.parsers.unshift(new Ym),r}function FF(){let r=Yr({parsers:[new Gm,new Zm,new Jm,new Qm,new Km],refiners:[new Xm,new ef]});return r.refiners=r.refiners.filter(e=>!(e instanceof Uo)),r}var cBe,OF,dBe,$oe=v(()=>{NT();da();_s();rt();Nt();xF();CF();_F();MF();AF();IF();NF();RF();cBe=new Oe(LF()),OF=new Oe(LF()),dBe=new Oe(FF())});var qoe,mBe,joe,fBe,zoe,Boe,hBe,Yk,Hoe=v(()=>{qoe=Ke(Wt(),1);ve();mBe=1,joe=2,fBe=3,zoe=4,Boe=5,hBe=6,Yk=class extends q{innerPattern(e){return new RegExp("(\u73B0\u5728|\u7ACB(?:\u523B|\u5373)|\u5373\u523B)|(\u4ECA|\u660E|\u524D|\u5927\u524D|\u540E|\u5927\u540E|\u6628)(\u65E9|\u665A)|(\u4E0A(?:\u5348)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668))|(\u4ECA|\u660E|\u524D|\u5927\u524D|\u540E|\u5927\u540E|\u6628)(?:\u65E5|\u5929)(?:[\\s|,|\uFF0C]*)(?:(\u4E0A(?:\u5348)|\u65E9(?:\u4E0A)|\u4E0B(?:\u5348)|\u665A(?:\u4E0A)|\u591C(?:\u665A)?|\u4E2D(?:\u5348)|\u51CC(?:\u6668)))?","i")}innerExtract(e,t){let n=t.index,i=e.createParsingResult(n,t[0]),s=(0,qoe.default)(e.refDate),a=s;if(t[mBe])i.start.imply("hour",s.hour()),i.start.imply("minute",s.minute()),i.start.imply("second",s.second()),i.start.imply("millisecond",s.millisecond());else if(t[joe]){let o=t[joe],l=t[fBe];o=="\u660E"?s.hour()>1&&(a=a.add(1,"day")):o=="\u6628"?a=a.add(-1,"day"):o=="\u524D"?a=a.add(-2,"day"):o=="\u5927\u524D"?a=a.add(-3,"day"):o=="\u540E"?a=a.add(2,"day"):o=="\u5927\u540E"&&(a=a.add(3,"day")),l=="\u65E9"?i.start.imply("hour",6):l=="\u665A"&&(i.start.imply("hour",22),i.start.imply("meridiem",1))}else if(t[zoe]){let l=t[zoe][0];l=="\u65E9"||l=="\u4E0A"?i.start.imply("hour",6):l=="\u4E0B"?(i.start.imply("hour",15),i.start.imply("meridiem",1)):l=="\u4E2D"?(i.start.imply("hour",12),i.start.imply("meridiem",1)):l=="\u591C"||l=="\u665A"?(i.start.imply("hour",22),i.start.imply("meridiem",1)):l=="\u51CC"&&i.start.imply("hour",0)}else if(t[Boe]){let o=t[Boe];o=="\u660E"?s.hour()>1&&(a=a.add(1,"day")):o=="\u6628"?a=a.add(-1,"day"):o=="\u524D"?a=a.add(-2,"day"):o=="\u5927\u524D"?a=a.add(-3,"day"):o=="\u540E"?a=a.add(2,"day"):o=="\u5927\u540E"&&(a=a.add(3,"day"));let l=t[hBe];if(l){let c=l[0];c=="\u65E9"||c=="\u4E0A"?i.start.imply("hour",6):c=="\u4E0B"?(i.start.imply("hour",15),i.start.imply("meridiem",1)):c=="\u4E2D"?(i.start.imply("hour",12),i.start.imply("meridiem",1)):c=="\u591C"||c=="\u665A"?(i.start.imply("hour",22),i.start.imply("meridiem",1)):c=="\u51CC"&&i.start.imply("hour",0)}}return i.start.assign("day",a.date()),i.start.assign("month",a.month()+1),i.start.assign("year",a.year()),i}}});var Gk,Uoe=v(()=>{Ya();Gk=class extends zr{patternBetween(){return/^\s*(至|到|-|~|||ー)\s*$/i}}});var Kk,Voe=v(()=>{Ga();Kk=class extends Br{patternBetween(){return/^\s*$/i}}});var OC={};et(OC,{Chrono:()=>Oe,Meridiem:()=>$,ParsingComponents:()=>Q,ParsingResult:()=>$t,ReferenceWithTimezone:()=>Yt,Weekday:()=>ze,casual:()=>$F,createCasualConfiguration:()=>jF,createConfiguration:()=>zF,hans:()=>gBe,parse:()=>vBe,parseDate:()=>bBe,strict:()=>yBe});function vBe(r,e,t){return $F.parse(r,e,t)}function bBe(r,e,t){return $F.parseDate(r,e,t)}function jF(){let r=zF();return r.parsers.unshift(new Yk),r}function zF(){let r=Yr({parsers:[new qm,new Um,new Wm,new Vm,new Hm],refiners:[new Gk,new Kk]});return r.refiners=r.refiners.filter(e=>!(e instanceof Uo)),r}var gBe,$F,yBe,Woe=v(()=>{NT();da();_s();rt();Nt();Hoe();vF();TF();kF();wF();SF();Uoe();Voe();gBe=new Oe(jF()),$F=new Oe(jF()),yBe=new Oe(zF())});var HF={};et(HF,{Chrono:()=>Oe,Meridiem:()=>$,ParsingComponents:()=>Q,ParsingResult:()=>$t,ReferenceWithTimezone:()=>Yt,Weekday:()=>ze,casual:()=>BF,createCasualConfiguration:()=>Yoe,createConfiguration:()=>qF,hans:()=>OC,hant:()=>RC,parse:()=>kBe,parseDate:()=>wBe,strict:()=>TBe});function kBe(r,e,t){return BF.parse(r,e,t)}function wBe(r,e,t){return BF.parseDate(r,e,t)}function Yoe(){let r=qF();return r.parsers.unshift(new Ym),r}function qF(){let r=Yr({parsers:[new Gm,new qm,new Zm,new Um,new Jm,new Wm,new Qm,new Vm,new Km,new Hm],refiners:[new Xm,new ef]});return r.refiners=r.refiners.filter(e=>!(e instanceof Uo)),r}var BF,TBe,Goe=v(()=>{da();_s();rt();Nt();NT();vF();TF();kF();wF();SF();xF();CF();_F();MF();AF();IF();NF();RF();$oe();Woe();BF=new Oe(Yoe()),TBe=new Oe(qF())});function xBe(r){let e=r.toLowerCase();return VF[e]!==void 0?VF[e]:e.match(/несколько/)?3:e.match(/пол/)?.5:e.match(/пар/)?2:e===""?1:parseFloat(e)}function ZF(r){let e=r.toLowerCase();return WF[e]!==void 0?WF[e]:parseInt(e)}function FC(r){if(/(год|года|г|г.)/i.test(r)&&(r=r.replace(/(год|года|г|г.)/i,"")),/(до н.э.|до н. э.)/i.test(r))return r=r.replace(/(до н.э.|до н. э.)/i,""),-parseInt(r);if(/(н. э.|н.э.)/i.test(r))return r=r.replace(/(н. э.|н.э.)/i,""),parseInt(r);let e=parseInt(r);return Cs(e)}function Qg(r){let e={},t=r,n=Koe.exec(t);for(;n;)EBe(e,n),t=t.substring(n[0].length).trim(),n=Koe.exec(t);return e}function EBe(r,e){let t=xBe(e[1]),n=Zk[e[2].toLowerCase()];r[n]=t}var fa,YF,GF,Kg,VF,WF,Zk,SBe,KF,UF,LC,Zoe,Koe,Zg,ha=v(()=>{Dt();un();fa={leftBoundary:"([^\\p{L}\\p{N}_]|^)",rightBoundary:"(?=[^\\p{L}\\p{N}_]|$)",flags:"iu"},YF={\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435:0,\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u044F:0,\u0432\u0441\u043A:0,"\u0432\u0441\u043A.":0,\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A:1,\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A\u0430:1,\u043F\u043D:1,"\u043F\u043D.":1,\u0432\u0442\u043E\u0440\u043D\u0438\u043A:2,\u0432\u0442\u043E\u0440\u043D\u0438\u043A\u0430:2,\u0432\u0442:2,"\u0432\u0442.":2,\u0441\u0440\u0435\u0434\u0430:3,\u0441\u0440\u0435\u0434\u044B:3,\u0441\u0440\u0435\u0434\u0443:3,\u0441\u0440:3,"\u0441\u0440.":3,\u0447\u0435\u0442\u0432\u0435\u0440\u0433:4,\u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0430:4,\u0447\u0442:4,"\u0447\u0442.":4,\u043F\u044F\u0442\u043D\u0438\u0446\u0430:5,\u043F\u044F\u0442\u043D\u0438\u0446\u0443:5,\u043F\u044F\u0442\u043D\u0438\u0446\u044B:5,\u043F\u0442:5,"\u043F\u0442.":5,\u0441\u0443\u0431\u0431\u043E\u0442\u0430:6,\u0441\u0443\u0431\u0431\u043E\u0442\u0443:6,\u0441\u0443\u0431\u0431\u043E\u0442\u044B:6,\u0441\u0431:6,"\u0441\u0431.":6},GF={\u044F\u043D\u0432\u0430\u0440\u044C:1,\u044F\u043D\u0432\u0430\u0440\u044F:1,\u044F\u043D\u0432\u0430\u0440\u0435:1,\u0444\u0435\u0432\u0440\u0430\u043B\u044C:2,\u0444\u0435\u0432\u0440\u0430\u043B\u044F:2,\u0444\u0435\u0432\u0440\u0430\u043B\u0435:2,\u043C\u0430\u0440\u0442:3,\u043C\u0430\u0440\u0442\u0430:3,\u043C\u0430\u0440\u0442\u0435:3,\u0430\u043F\u0440\u0435\u043B\u044C:4,\u0430\u043F\u0440\u0435\u043B\u044F:4,\u0430\u043F\u0440\u0435\u043B\u0435:4,\u043C\u0430\u0439:5,\u043C\u0430\u044F:5,\u043C\u0430\u0435:5,\u0438\u044E\u043D\u044C:6,\u0438\u044E\u043D\u044F:6,\u0438\u044E\u043D\u0435:6,\u0438\u044E\u043B\u044C:7,\u0438\u044E\u043B\u044F:7,\u0438\u044E\u043B\u0435:7,\u0430\u0432\u0433\u0443\u0441\u0442:8,\u0430\u0432\u0433\u0443\u0441\u0442\u0430:8,\u0430\u0432\u0433\u0443\u0441\u0442\u0435:8,\u0441\u0435\u043D\u0442\u044F\u0431\u0440\u044C:9,\u0441\u0435\u043D\u0442\u044F\u0431\u0440\u044F:9,\u0441\u0435\u043D\u0442\u044F\u0431\u0440\u0435:9,\u043E\u043A\u0442\u044F\u0431\u0440\u044C:10,\u043E\u043A\u0442\u044F\u0431\u0440\u044F:10,\u043E\u043A\u0442\u044F\u0431\u0440\u0435:10,\u043D\u043E\u044F\u0431\u0440\u044C:11,\u043D\u043E\u044F\u0431\u0440\u044F:11,\u043D\u043E\u044F\u0431\u0440\u0435:11,\u0434\u0435\u043A\u0430\u0431\u0440\u044C:12,\u0434\u0435\u043A\u0430\u0431\u0440\u044F:12,\u0434\u0435\u043A\u0430\u0431\u0440\u0435:12},Kg={...GF,\u044F\u043D\u0432:1,"\u044F\u043D\u0432.":1,\u0444\u0435\u0432:2,"\u0444\u0435\u0432.":2,\u043C\u0430\u0440:3,"\u043C\u0430\u0440.":3,\u0430\u043F\u0440:4,"\u0430\u043F\u0440.":4,\u0430\u0432\u0433:8,"\u0430\u0432\u0433.":8,\u0441\u0435\u043D:9,"\u0441\u0435\u043D.":9,\u043E\u043A\u0442:10,"\u043E\u043A\u0442.":10,\u043D\u043E\u044F:11,"\u043D\u043E\u044F.":11,\u0434\u0435\u043A:12,"\u0434\u0435\u043A.":12},VF={\u043E\u0434\u0438\u043D:1,\u043E\u0434\u043D\u0430:1,\u043E\u0434\u043D\u043E\u0439:1,\u043E\u0434\u043D\u0443:1,\u0434\u0432\u0435:2,\u0434\u0432\u0430:2,\u0434\u0432\u0443\u0445:2,\u0442\u0440\u0438:3,\u0442\u0440\u0435\u0445:3,\u0442\u0440\u0451\u0445:3,\u0447\u0435\u0442\u044B\u0440\u0435:4,\u0447\u0435\u0442\u044B\u0440\u0435\u0445:4,\u0447\u0435\u0442\u044B\u0440\u0451\u0445:4,\u043F\u044F\u0442\u044C:5,\u043F\u044F\u0442\u0438:5,\u0448\u0435\u0441\u0442\u044C:6,\u0448\u0435\u0441\u0442\u0438:6,\u0441\u0435\u043C\u044C:7,\u0441\u0435\u043C\u0438:7,\u0432\u043E\u0441\u0435\u043C\u044C:8,\u0432\u043E\u0441\u044C\u043C\u0438:8,\u0434\u0435\u0432\u044F\u0442\u044C:9,\u0434\u0435\u0432\u044F\u0442\u0438:9,\u0434\u0435\u0441\u044F\u0442\u044C:10,\u0434\u0435\u0441\u044F\u0442\u0438:10,\u043E\u0434\u0438\u043D\u043D\u0430\u0434\u0446\u0430\u0442\u044C:11,\u043E\u0434\u0438\u043D\u043D\u0430\u0434\u0446\u0430\u0442\u0438:11,\u0434\u0432\u0435\u043D\u0430\u0434\u0446\u0430\u0442\u044C:12,\u0434\u0432\u0435\u043D\u0430\u0434\u0446\u0430\u0442\u0438:12},WF={\u043F\u0435\u0440\u0432\u043E\u0435:1,\u043F\u0435\u0440\u0432\u043E\u0433\u043E:1,\u0432\u0442\u043E\u0440\u043E\u0435:2,\u0432\u0442\u043E\u0440\u043E\u0433\u043E:2,\u0442\u0440\u0435\u0442\u044C\u0435:3,\u0442\u0440\u0435\u0442\u044C\u0435\u0433\u043E:3,\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u043E\u0435:4,\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u043E\u0433\u043E:4,\u043F\u044F\u0442\u043E\u0435:5,\u043F\u044F\u0442\u043E\u0433\u043E:5,\u0448\u0435\u0441\u0442\u043E\u0435:6,\u0448\u0435\u0441\u0442\u043E\u0433\u043E:6,\u0441\u0435\u0434\u044C\u043C\u043E\u0435:7,\u0441\u0435\u0434\u044C\u043C\u043E\u0433\u043E:7,\u0432\u043E\u0441\u044C\u043C\u043E\u0435:8,\u0432\u043E\u0441\u044C\u043C\u043E\u0433\u043E:8,\u0434\u0435\u0432\u044F\u0442\u043E\u0435:9,\u0434\u0435\u0432\u044F\u0442\u043E\u0433\u043E:9,\u0434\u0435\u0441\u044F\u0442\u043E\u0435:10,\u0434\u0435\u0441\u044F\u0442\u043E\u0433\u043E:10,\u043E\u0434\u0438\u043D\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0435:11,\u043E\u0434\u0438\u043D\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0433\u043E:11,\u0434\u0432\u0435\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0435:12,\u0434\u0432\u0435\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0433\u043E:12,\u0442\u0440\u0438\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0435:13,\u0442\u0440\u0438\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0433\u043E:13,\u0447\u0435\u0442\u044B\u0440\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0435:14,\u0447\u0435\u0442\u044B\u0440\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0433\u043E:14,\u043F\u044F\u0442\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0435:15,\u043F\u044F\u0442\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0433\u043E:15,\u0448\u0435\u0441\u0442\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0435:16,\u0448\u0435\u0441\u0442\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0433\u043E:16,\u0441\u0435\u043C\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0435:17,\u0441\u0435\u043C\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0433\u043E:17,\u0432\u043E\u0441\u0435\u043C\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0435:18,\u0432\u043E\u0441\u0435\u043C\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0433\u043E:18,\u0434\u0435\u0432\u044F\u0442\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0435:19,\u0434\u0435\u0432\u044F\u0442\u043D\u0430\u0434\u0446\u0430\u0442\u043E\u0433\u043E:19,\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u043E\u0435:20,\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u043E\u0433\u043E:20,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u043F\u0435\u0440\u0432\u043E\u0435":21,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u043F\u0435\u0440\u0432\u043E\u0433\u043E":21,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0432\u0442\u043E\u0440\u043E\u0435":22,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0432\u0442\u043E\u0440\u043E\u0433\u043E":22,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0442\u0440\u0435\u0442\u044C\u0435":23,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0442\u0440\u0435\u0442\u044C\u0435\u0433\u043E":23,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u043E\u0435":24,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u043E\u0433\u043E":24,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u043F\u044F\u0442\u043E\u0435":25,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u043F\u044F\u0442\u043E\u0433\u043E":25,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0448\u0435\u0441\u0442\u043E\u0435":26,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0448\u0435\u0441\u0442\u043E\u0433\u043E":26,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0441\u0435\u0434\u044C\u043C\u043E\u0435":27,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0441\u0435\u0434\u044C\u043C\u043E\u0433\u043E":27,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0432\u043E\u0441\u044C\u043C\u043E\u0435":28,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0432\u043E\u0441\u044C\u043C\u043E\u0433\u043E":28,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0434\u0435\u0432\u044F\u0442\u043E\u0435":29,"\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C \u0434\u0435\u0432\u044F\u0442\u043E\u0433\u043E":29,\u0442\u0440\u0438\u0434\u0446\u0430\u0442\u043E\u0435:30,\u0442\u0440\u0438\u0434\u0446\u0430\u0442\u043E\u0433\u043E:30,"\u0442\u0440\u0438\u0434\u0446\u0430\u0442\u044C \u043F\u0435\u0440\u0432\u043E\u0435":31,"\u0442\u0440\u0438\u0434\u0446\u0430\u0442\u044C \u043F\u0435\u0440\u0432\u043E\u0433\u043E":31},Zk={\u0441\u0435\u043A:"second",\u0441\u0435\u043A\u0443\u043D\u0434\u0430:"second",\u0441\u0435\u043A\u0443\u043D\u0434:"second",\u0441\u0435\u043A\u0443\u043D\u0434\u044B:"second",\u0441\u0435\u043A\u0443\u043D\u0434\u0443:"second",\u0441\u0435\u043A\u0443\u043D\u0434\u043E\u0447\u043A\u0430:"second",\u0441\u0435\u043A\u0443\u043D\u0434\u043E\u0447\u043A\u0438:"second",\u0441\u0435\u043A\u0443\u043D\u0434\u043E\u0447\u0435\u043A:"second",\u0441\u0435\u043A\u0443\u043D\u0434\u043E\u0447\u043A\u0443:"second",\u043C\u0438\u043D:"minute",\u043C\u0438\u043D\u0443\u0442\u0430:"minute",\u043C\u0438\u043D\u0443\u0442:"minute",\u043C\u0438\u043D\u0443\u0442\u044B:"minute",\u043C\u0438\u043D\u0443\u0442\u0443:"minute",\u043C\u0438\u043D\u0443\u0442\u043E\u043A:"minute",\u043C\u0438\u043D\u0443\u0442\u043A\u0438:"minute",\u043C\u0438\u043D\u0443\u0442\u043A\u0443:"minute",\u043C\u0438\u043D\u0443\u0442\u043E\u0447\u0435\u043A:"minute",\u043C\u0438\u043D\u0443\u0442\u043E\u0447\u043A\u0438:"minute",\u043C\u0438\u043D\u0443\u0442\u043E\u0447\u043A\u0443:"minute",\u0447\u0430\u0441:"hour",\u0447\u0430\u0441\u043E\u0432:"hour",\u0447\u0430\u0441\u0430:"hour",\u0447\u0430\u0441\u0443:"hour",\u0447\u0430\u0441\u0438\u043A\u043E\u0432:"hour",\u0447\u0430\u0441\u0438\u043A\u0430:"hour",\u0447\u0430\u0441\u0438\u043A\u0435:"hour",\u0447\u0430\u0441\u0438\u043A:"hour",\u0434\u0435\u043D\u044C:"d",\u0434\u043D\u044F:"d",\u0434\u043D\u0435\u0439:"d",\u0441\u0443\u0442\u043E\u043A:"d",\u0441\u0443\u0442\u043A\u0438:"d",\u043D\u0435\u0434\u0435\u043B\u044F:"week",\u043D\u0435\u0434\u0435\u043B\u0435:"week",\u043D\u0435\u0434\u0435\u043B\u0438:"week",\u043D\u0435\u0434\u0435\u043B\u044E:"week",\u043D\u0435\u0434\u0435\u043B\u044C:"week",\u043D\u0435\u0434\u0435\u043B\u044C\u043A\u0435:"week",\u043D\u0435\u0434\u0435\u043B\u044C\u043A\u0438:"week",\u043D\u0435\u0434\u0435\u043B\u0435\u043A:"week",\u043C\u0435\u0441\u044F\u0446:"month",\u043C\u0435\u0441\u044F\u0446\u0435:"month",\u043C\u0435\u0441\u044F\u0446\u0435\u0432:"month",\u043C\u0435\u0441\u044F\u0446\u0430:"month",\u043A\u0432\u0430\u0440\u0442\u0430\u043B:"quarter",\u043A\u0432\u0430\u0440\u0442\u0430\u043B\u0435:"quarter",\u043A\u0432\u0430\u0440\u0442\u0430\u043B\u043E\u0432:"quarter",\u0433\u043E\u0434:"year",\u0433\u043E\u0434\u0430:"year",\u0433\u043E\u0434\u0443:"year",\u0433\u043E\u0434\u043E\u0432:"year",\u043B\u0435\u0442:"year",\u0433\u043E\u0434\u0438\u043A:"year",\u0433\u043E\u0434\u0438\u043A\u0430:"year",\u0433\u043E\u0434\u0438\u043A\u043E\u0432:"year"},SBe=`(?:${se(VF)}|[0-9]+|[0-9]+\\.[0-9]+|\u043F\u043E\u043B|\u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E|\u043F\u0430\u0440(?:\u044B|\u0443)|\\s{0,3})`;KF=`(?:${se(WF)}|[0-9]{1,2}(?:\u0433\u043E|\u043E\u0433\u043E|\u0435|\u043E\u0435)?)`;UF="(?:\\s+(?:\u0433\u043E\u0434\u0443|\u0433\u043E\u0434\u0430|\u0433\u043E\u0434|\u0433|\u0433.))?",LC=`(?:[1-9][0-9]{0,3}${UF}\\s*(?:\u043D.\u044D.|\u0434\u043E \u043D.\u044D.|\u043D. \u044D.|\u0434\u043E \u043D. \u044D.)|[1-2][0-9]{3}${UF}|[5-9][0-9]${UF})`;Zoe=`(${SBe})\\s{0,3}(${se(Zk)})`,Koe=new RegExp(Zoe,"i"),Zg=ss("(?:(?:\u043E\u043A\u043E\u043B\u043E|\u043F\u0440\u0438\u043C\u0435\u0440\u043D\u043E)\\s{0,3})?",Zoe)});var Qoe,Qk,Joe=v(()=>{ha();rt();ve();Qoe=`(?:(?:\u043E\u043A\u043E\u043B\u043E|\u043F\u0440\u0438\u043C\u0435\u0440\u043D\u043E)\\s*(?:~\\s*)?)?(${Zg})${fa.rightBoundary}`,Qk=class extends q{patternLeftBoundary(){return fa.leftBoundary}innerPattern(e){return e.option.forwardDate?new RegExp(Qoe,fa.flags):new RegExp(`(?:\u0432 \u0442\u0435\u0447\u0435\u043D\u0438\u0435|\u0432 \u0442\u0435\u0447\u0435\u043D\u0438\u0438)\\s*${Qoe}`,fa.flags)}innerExtract(e,t){let n=Qg(t[1]);return Q.createRelativeFromReference(e.reference,n)}}});var tf,Ms,ud=v(()=>{ve();ha();tf=class extends q{patternLeftBoundary(){return fa.leftBoundary}innerPattern(e){return new RegExp(this.innerPatternString(e),fa.flags)}innerPatternHasChange(e,t){return!1}},Ms=class extends tf{innerPattern(e){return new RegExp(`${this.innerPatternString(e)}${fa.rightBoundary}`,fa.flags)}}});var Xoe,ele,DBe,tle,Jk,rle=v(()=>{un();ha();ha();ha();Dt();ud();Xoe=1,ele=2,DBe=3,tle=4,Jk=class extends Ms{innerPatternString(e){return`(?:\u0441)?\\s*(${KF})(?:\\s{0,3}(?:\u043F\u043E|-|\u2013|\u0434\u043E)?\\s{0,3}(${KF}))?(?:-|\\/|\\s{0,3}(?:of)?\\s{0,3})(${se(Kg)})(?:(?:-|\\/|,?\\s{0,3})(${LC}(?![^\\s]\\d)))?`}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=Kg[t[DBe].toLowerCase()],s=ZF(t[Xoe]);if(s>31)return t.index=t.index+t[Xoe].length,null;if(n.start.assign("month",i),n.start.assign("day",s),t[tle]){let a=FC(t[tle]);n.start.assign("year",a)}else{let a=ir(e.refDate,s,i);n.start.imply("year",a)}if(t[ele]){let a=ZF(t[ele]);n.end=n.start.clone(),n.end.assign("day",a)}return n}}});var CBe,nle,Xk,ile=v(()=>{ha();un();Dt();ha();ud();CBe=2,nle=3,Xk=class extends tf{innerPatternString(e){return`((?:\u0432)\\s*)?(${se(Kg)})\\s*(?:[,-]?\\s*(${LC})?)?(?=[^\\s\\w]|\\s+[^0-9]|\\s+$|$)`}innerExtract(e,t){let n=t[CBe].toLowerCase();if(t[0].length<=3&&!GF[n])return null;let i=e.createParsingResult(t.index,t.index+t[0].length);i.start.imply("day",1);let s=Kg[n];if(i.start.assign("month",s),t[nle]){let a=FC(t[nle]);i.start.assign("year",a)}else{let a=ir(e.refDate,1,s);i.start.imply("year",a)}return i}}});var ew,sle=v(()=>{Nt();ad();ha();ew=class extends Jn{constructor(e){super(e)}patternFlags(){return fa.flags}primaryPatternLeftBoundary(){return"(^|\\s|T|(?:[^\\p{L}\\p{N}_]))"}followingPhase(){return"\\s*(?:\\-|\\\u2013|\\~|\\\u301C|\u0434\u043E|\u0438|\u043F\u043E|\\?)\\s*"}primaryPrefix(){return"(?:(?:\u0432|\u0441)\\s*)??"}primarySuffix(){return`(?:\\s*(?:\u0443\u0442\u0440\u0430|\u0432\u0435\u0447\u0435\u0440\u0430|\u043F\u043E\u0441\u043B\u0435 \u043F\u043E\u043B\u0443\u0434\u043D\u044F))?(?!\\/)${fa.rightBoundary}`}extractPrimaryTimeComponents(e,t){let n=super.extractPrimaryTimeComponents(e,t);if(n){if(t[0].endsWith("\u0432\u0435\u0447\u0435\u0440\u0430")){let i=n.get("hour");i>=6&&i<12?(n.assign("hour",n.get("hour")+12),n.assign("meridiem",$.PM)):i<6&&n.assign("meridiem",$.AM)}if(t[0].endsWith("\u043F\u043E\u0441\u043B\u0435 \u043F\u043E\u043B\u0443\u0434\u043D\u044F")){n.assign("meridiem",$.PM);let i=n.get("hour");i>=0&&i<=6&&n.assign("hour",n.get("hour")+12)}t[0].endsWith("\u0443\u0442\u0440\u0430")&&(n.assign("meridiem",$.AM),n.get("hour")<12&&n.assign("hour",n.get("hour")))}return n}}});var tw,ale=v(()=>{ha();rt();pa();ud();tw=class extends tf{innerPatternString(e){return`(${Zg})\\s{0,5}\u043D\u0430\u0437\u0430\u0434(?=(?:\\W|$))`}innerExtract(e,t){let n=Qg(t[1]),i=Cn(n);return Q.createRelativeFromReference(e.reference,i)}}});var rw,ole=v(()=>{Ya();rw=class extends zr{patternBetween(){return/^\s*(и до|и по|до|по|-)\s*$/i}}});var nw,lle=v(()=>{Ga();nw=class extends Br{patternBetween(){return new RegExp("^\\s*(T|\u0432|,|-)?\\s*$")}}});var iw,cle=v(()=>{ua();ud();iw=class extends Ms{innerPatternString(e){return"(?:\u0441|\u0441\u043E)?\\s*(\u0441\u0435\u0433\u043E\u0434\u043D\u044F|\u0432\u0447\u0435\u0440\u0430|\u0437\u0430\u0432\u0442\u0440\u0430|\u043F\u043E\u0441\u043B\u0435\u0437\u0430\u0432\u0442\u0440\u0430|\u043F\u043E\u0441\u043B\u0435\u043F\u043E\u0441\u043B\u0435\u0437\u0430\u0432\u0442\u0440\u0430|\u043F\u043E\u0437\u0430\u043F\u043E\u0437\u0430\u0432\u0447\u0435\u0440\u0430|\u043F\u043E\u0437\u0430\u0432\u0447\u0435\u0440\u0430)"}innerExtract(e,t){let n=t[1].toLowerCase(),i=e.createParsingComponents();switch(n){case"\u0441\u0435\u0433\u043E\u0434\u043D\u044F":return Xn(e.reference);case"\u0432\u0447\u0435\u0440\u0430":return Ni(e.reference);case"\u0437\u0430\u0432\u0442\u0440\u0430":return Ri(e.reference);case"\u043F\u043E\u0441\u043B\u0435\u0437\u0430\u0432\u0442\u0440\u0430":return Il(e.reference,2);case"\u043F\u043E\u0441\u043B\u0435\u043F\u043E\u0441\u043B\u0435\u0437\u0430\u0432\u0442\u0440\u0430":return Il(e.reference,3);case"\u043F\u043E\u0437\u0430\u0432\u0447\u0435\u0440\u0430":return Fm(e.reference,2);case"\u043F\u043E\u0437\u0430\u043F\u043E\u0437\u0430\u0432\u0447\u0435\u0440\u0430":return Fm(e.reference,3)}return i}}});var dle,sw,ule=v(()=>{ua();ca();dle=Ke(Wt(),1);ud();sw=class extends Ms{innerPatternString(e){return"(\u0441\u0435\u0439\u0447\u0430\u0441|\u043F\u0440\u043E\u0448\u043B\u044B\u043C\\s*\u0432\u0435\u0447\u0435\u0440\u043E\u043C|\u043F\u0440\u043E\u0448\u043B\u043E\u0439\\s*\u043D\u043E\u0447\u044C\u044E|\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0439\\s*\u043D\u043E\u0447\u044C\u044E|\u0441\u0435\u0433\u043E\u0434\u043D\u044F\\s*\u043D\u043E\u0447\u044C\u044E|\u044D\u0442\u043E\u0439\\s*\u043D\u043E\u0447\u044C\u044E|\u043D\u043E\u0447\u044C\u044E|\u044D\u0442\u0438\u043C \u0443\u0442\u0440\u043E\u043C|\u0443\u0442\u0440\u043E\u043C|\u0443\u0442\u0440\u0430|\u0432\\s*\u043F\u043E\u043B\u0434\u0435\u043D\u044C|\u0432\u0435\u0447\u0435\u0440\u043E\u043C|\u0432\u0435\u0447\u0435\u0440\u0430|\u0432\\s*\u043F\u043E\u043B\u043D\u043E\u0447\u044C)"}innerExtract(e,t){let n=(0,dle.default)(e.refDate),i=t[0].toLowerCase(),s=e.createParsingComponents();if(i==="\u0441\u0435\u0439\u0447\u0430\u0441")return Ii(e.reference);if(i==="\u0432\u0435\u0447\u0435\u0440\u043E\u043C"||i==="\u0432\u0435\u0447\u0435\u0440\u0430")return Og(e.reference);if(i.endsWith("\u0443\u0442\u0440\u043E\u043C")||i.endsWith("\u0443\u0442\u0440\u0430"))return Lg(e.reference);if(i.match(/в\s*полдень/))return Fg(e.reference);if(i.match(/прошлой\s*ночью/))return oC(e.reference);if(i.match(/прошлым\s*вечером/))return lC(e.reference);if(i.match(/следующей\s*ночью/)){let a=n.hour()<22?1:2;n=n.add(a,"day"),Ir(s,n),s.imply("hour",0)}return i.match(/в\s*полночь/)||i.endsWith("\u043D\u043E\u0447\u044C\u044E")?$m(e.reference):s}}});var PBe,_Be,MBe,aw,ple=v(()=>{ha();Dt();Vo();ud();PBe=1,_Be=2,MBe=3,aw=class extends Ms{innerPatternString(e){return`(?:(?:,|\\(|\uFF08)\\s*)?(?:\u0432\\s*?)?(?:(\u044D\u0442\u0443|\u044D\u0442\u043E\u0442|\u043F\u0440\u043E\u0448\u043B\u044B\u0439|\u043F\u0440\u043E\u0448\u043B\u0443\u044E|\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439|\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0443\u044E|\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0433\u043E)\\s*)?(${se(YF)})(?:\\s*(?:,|\\)|\uFF09))?(?:\\s*\u043D\u0430\\s*(\u044D\u0442\u043E\u0439|\u043F\u0440\u043E\u0448\u043B\u043E\u0439|\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0439)\\s*\u043D\u0435\u0434\u0435\u043B\u0435)?`}innerExtract(e,t){let n=t[_Be].toLowerCase(),i=YF[n],s=t[PBe],a=t[MBe],o=s||a;o=o||"",o=o.toLowerCase();let l=null;return o=="\u043F\u0440\u043E\u0448\u043B\u044B\u0439"||o=="\u043F\u0440\u043E\u0448\u043B\u0443\u044E"||o=="\u043F\u0440\u043E\u0448\u043B\u043E\u0439"?l="last":o=="\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439"||o=="\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0443\u044E"||o=="\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0439"||o=="\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0433\u043E"?l="next":(o=="\u044D\u0442\u043E\u0442"||o=="\u044D\u0442\u0443"||o=="\u044D\u0442\u043E\u0439")&&(l="this"),Pn(e.reference,i,l)}}});var mle,ABe,IBe,ow,fle=v(()=>{ha();rt();mle=Ke(Wt(),1);Dt();ud();ABe=1,IBe=2,ow=class extends Ms{innerPatternString(e){return`(\u0432 \u043F\u0440\u043E\u0448\u043B\u043E\u043C|\u043D\u0430 \u043F\u0440\u043E\u0448\u043B\u043E\u0439|\u043D\u0430 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0439|\u0432 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u043C|\u043D\u0430 \u044D\u0442\u043E\u0439|\u0432 \u044D\u0442\u043E\u043C)\\s*(${se(Zk)})`}innerExtract(e,t){let n=t[ABe].toLowerCase(),i=t[IBe].toLowerCase(),s=Zk[i];if(n=="\u043D\u0430 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0439"||n=="\u0432 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u043C"){let l={};return l[s]=1,Q.createRelativeFromReference(e.reference,l)}if(n=="\u0432 \u043F\u0440\u043E\u0448\u043B\u043E\u043C"||n=="\u043D\u0430 \u043F\u0440\u043E\u0448\u043B\u043E\u0439"){let l={};return l[s]=-1,Q.createRelativeFromReference(e.reference,l)}let a=e.createParsingComponents(),o=(0,mle.default)(e.reference.instant);return s.match(/week/i)?(o=o.add(-o.get("d"),"d"),a.imply("day",o.date()),a.imply("month",o.month()+1),a.imply("year",o.year())):s.match(/month/i)?(o=o.add(-o.date()+1,"d"),a.imply("day",o.date()),a.assign("year",o.year()),a.assign("month",o.month()+1)):s.match(/year/i)&&(o=o.add(-o.date()+1,"d"),o=o.add(-o.month(),"month"),a.imply("day",o.date()),a.imply("month",o.month()+1),a.assign("year",o.year())),a}}});var lw,hle=v(()=>{ha();rt();pa();ud();lw=class extends Ms{innerPatternString(e){return`(\u044D\u0442\u0438|\u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435|\u043F\u0440\u043E\u0448\u043B\u044B\u0435|\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435|\u043F\u043E\u0441\u043B\u0435|\u0441\u043F\u0443\u0441\u0442\u044F|\u0447\u0435\u0440\u0435\u0437|\\+|-)\\s*(${Zg})`}innerExtract(e,t){let n=t[1].toLowerCase(),i=Qg(t[2]);switch(n){case"\u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435":case"\u043F\u0440\u043E\u0448\u043B\u044B\u0435":case"-":i=Cn(i);break}return Q.createRelativeFromReference(e.reference,i)}}});var XF={};et(XF,{Chrono:()=>Oe,Meridiem:()=>$,ParsingComponents:()=>Q,ParsingResult:()=>$t,ReferenceWithTimezone:()=>Yt,Weekday:()=>ze,casual:()=>QF,createCasualConfiguration:()=>gle,createConfiguration:()=>JF,parse:()=>RBe,parseDate:()=>OBe,strict:()=>NBe});function RBe(r,e,t){return QF.parse(r,e,t)}function OBe(r,e,t){return QF.parseDate(r,e,t)}function gle(){let r=JF(!1);return r.parsers.unshift(new iw),r.parsers.unshift(new sw),r.parsers.unshift(new Xk),r.parsers.unshift(new ow),r.parsers.unshift(new lw),r}function JF(r=!0){return Yr({parsers:[new $n(!0),new Qk,new Jk,new aw,new ew(r),new tw],refiners:[new nw,new rw]},r)}var QF,NBe,yle=v(()=>{Joe();rle();ile();sle();ale();ole();lle();da();cle();ule();ple();fle();_s();rt();Nt();cd();hle();QF=new Oe(gle()),NBe=new Oe(JF(!0))});function FBe(r){let e=r.toLowerCase();return e$[e]!==void 0?e$[e]:e==="un"||e==="una"||e==="uno"?1:e.match(/algunos?/)||e.match(/unos?/)?3:e.match(/media?/)?.5:parseFloat(e)}function kle(r){if(r.match(/^[0-9]{1,4}$/)){let e=parseInt(r);return e<100&&(e>50?e=e+1900:e=e+2e3),e}return r.match(/a\.?\s*c\.?/i)?(r=r.replace(/a\.?\s*c\.?/i,""),-parseInt(r)):parseInt(r)}function xle(r){let e={},t=r,n=vle.exec(t);for(;n;)$Be(e,n),t=t.substring(n[0].length),n=vle.exec(t);return e}function $Be(r,e){let t=FBe(e[1]),n=ble[e[2].toLowerCase()];r[n]=t}var t$,r$,e$,ble,LBe,Tle,wle,vle,Sle,cw=v(()=>{Dt();t$={domingo:0,dom:0,lunes:1,lun:1,martes:2,mar:2,mi\u00E9rcoles:3,miercoles:3,mi\u00E9:3,mie:3,jueves:4,jue:4,viernes:5,vie:5,s\u00E1bado:6,sabado:6,s\u00E1b:6,sab:6},r$={enero:1,ene:1,"ene.":1,febrero:2,feb:2,"feb.":2,marzo:3,mar:3,"mar.":3,abril:4,abr:4,"abr.":4,mayo:5,may:5,"may.":5,junio:6,jun:6,"jun.":6,julio:7,jul:7,"jul.":7,agosto:8,ago:8,"ago.":8,septiembre:9,setiembre:9,sep:9,"sep.":9,octubre:10,oct:10,"oct.":10,noviembre:11,nov:11,"nov.":11,diciembre:12,dic:12,"dic.":12},e$={uno:1,dos:2,tres:3,cuatro:4,cinco:5,seis:6,siete:7,ocho:8,nueve:9,diez:10,once:11,doce:12,trece:13},ble={sec:"second",segundo:"second",segundos:"second",min:"minute",mins:"minute",minuto:"minute",minutos:"minute",h:"hour",hr:"hour",hrs:"hour",hora:"hour",horas:"hour",d\u00EDa:"d",d\u00EDas:"d",semana:"week",semanas:"week",mes:"month",meses:"month",cuarto:"quarter",cuartos:"quarter",a\u00F1o:"year",a\u00F1os:"year"},LBe=`(?:${se(e$)}|[0-9]+|[0-9]+\\.[0-9]+|un?|uno?|una?|algunos?|unos?|demi-?)`;Tle="[0-9]{1,4}(?![^\\s]\\d)(?:\\s*[a|d]\\.?\\s*c\\.?|\\s*a\\.?\\s*d\\.?)?";wle=`(${LBe})\\s{0,5}(${se(ble)})\\s{0,5}`,vle=new RegExp(wle,"i"),Sle=ss("",wle)});var jBe,zBe,BBe,qBe,dw,Ele=v(()=>{cw();Dt();ve();Vo();jBe=new RegExp(`(?:(?:\\,|\\(|\\\uFF08)\\s*)?(?:(este|esta|pasado|pr[o\xF3]ximo)\\s*)?(${se(t$)})(?:\\s*(?:\\,|\\)|\\\uFF09))?(?:\\s*(este|esta|pasado|pr[\xF3o]ximo)\\s*semana)?(?=\\W|\\d|$)`,"i"),zBe=1,BBe=2,qBe=3,dw=class extends q{innerPattern(){return jBe}innerExtract(e,t){let n=t[BBe].toLowerCase(),i=t$[n];if(i===void 0)return null;let s=t[zBe],a=t[qBe],o=s||a||"";o=o.toLowerCase();let l=null;return o=="pasado"?l="this":o=="pr\xF3ximo"||o=="proximo"?l="next":o=="este"&&(l="this"),Pn(e.reference,i,l)}}});var uw,Dle=v(()=>{ad();uw=class extends Jn{primaryPrefix(){return"(?:(?:aslas|deslas|las?|al?|de|del)\\s*)?"}followingPhase(){return"\\s*(?:\\-|\\\u2013|\\~|\\\u301C|a(?:l)?|\\?)\\s*"}}});var pw,Cle=v(()=>{Ga();pw=class extends Br{patternBetween(){return new RegExp("^\\s*(?:,|de|aslas|a)?\\s*$")}}});var mw,Ple=v(()=>{Ya();mw=class extends zr{patternBetween(){return/^\s*(?:-)\s*$/i}}});var HBe,_le,Mle,UBe,Ale,fw,Ile=v(()=>{un();cw();cw();Dt();ve();HBe=new RegExp(`([0-9]{1,2})(?:\xBA|\xAA|\xB0)?(?:\\s*(?:desde|de|\\-|\\\u2013|ao?|\\s)\\s*([0-9]{1,2})(?:\xBA|\xAA|\xB0)?)?\\s*(?:de)?\\s*(?:-|/|\\s*(?:de|,)?\\s*)(${se(r$)})(?:\\s*(?:de|,)?\\s*(${Tle}))?(?=\\W|$)`,"i"),_le=1,Mle=2,UBe=3,Ale=4,fw=class extends q{innerPattern(){return HBe}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=r$[t[UBe].toLowerCase()],s=parseInt(t[_le]);if(s>31)return t.index=t.index+t[_le].length,null;if(n.start.assign("month",i),n.start.assign("day",s),t[Ale]){let a=kle(t[Ale]);n.start.assign("year",a)}else{let a=ir(e.refDate,s,i);n.start.imply("year",a)}if(t[Mle]){let a=parseInt(t[Mle]);n.end=n.start.clone(),n.end.assign("day",a)}return n}}});var hw,Nle=v(()=>{ve();ua();hw=class extends q{innerPattern(e){return/(ahora|hoy|mañana|ayer)(?=\W|$)/i}innerExtract(e,t){let n=t[0].toLowerCase(),i=e.createParsingComponents();switch(n){case"ahora":return Ii(e.reference);case"hoy":return Xn(e.reference);case"ma\xF1ana":return Ri(e.reference);case"ayer":return Ni(e.reference)}return i}}});var Rle,gw,Ole=v(()=>{Nt();ve();ca();Rle=Ke(Wt(),1),gw=class extends q{innerPattern(){return/(?:esta\s*)?(mañana|tarde|medianoche|mediodia|mediodía|noche)(?=\W|$)/i}innerExtract(e,t){let n=(0,Rle.default)(e.refDate),i=e.createParsingComponents();switch(t[1].toLowerCase()){case"tarde":i.imply("meridiem",$.PM),i.imply("hour",15);break;case"noche":i.imply("meridiem",$.PM),i.imply("hour",22);break;case"ma\xF1ana":i.imply("meridiem",$.AM),i.imply("hour",6);break;case"medianoche":Ho(i,n),i.imply("hour",0),i.imply("minute",0),i.imply("second",0);break;case"mediodia":case"mediod\xEDa":i.imply("meridiem",$.AM),i.imply("hour",12);break}return i}}});var yw,Lle=v(()=>{cw();rt();ve();yw=class extends q{innerPattern(){return new RegExp(`(?:en|por|durante|de|dentro de)\\s*(${Sle})(?=\\W|$)`,"i")}innerExtract(e,t){let n=xle(t[1]);return Q.createRelativeFromReference(e.reference,n)}}});var s$={};et(s$,{Chrono:()=>Oe,Meridiem:()=>$,ParsingComponents:()=>Q,ParsingResult:()=>$t,ReferenceWithTimezone:()=>Yt,Weekday:()=>ze,casual:()=>n$,createCasualConfiguration:()=>Fle,createConfiguration:()=>i$,parse:()=>WBe,parseDate:()=>YBe,strict:()=>VBe});function WBe(r,e,t){return n$.parse(r,e,t)}function YBe(r,e,t){return n$.parseDate(r,e,t)}function Fle(r=!0){let e=i$(!1,r);return e.parsers.push(new hw),e.parsers.push(new gw),e}function i$(r=!0,e=!0){return Yr({parsers:[new $n(e),new dw,new uw,new fw,new yw],refiners:[new pw,new mw]},r)}var n$,VBe,$le=v(()=>{da();_s();rt();Nt();cd();Ele();Dle();Cle();Ple();Ile();Nle();Ole();Lle();n$=new Oe(Fle()),VBe=new Oe(i$(!0))});function KBe(r){let e=r.toLowerCase();return o$[e]!==void 0?o$[e]:e.match(/декілька/)?2:e.match(/пів/)?.5:e.match(/пар/)?2:e===""?1:parseFloat(e)}function p$(r){let e=r.toLowerCase();return l$[e]!==void 0?l$[e]:parseInt(e)}function jC(r){if(/(рік|року|р|р.)/i.test(r)&&(r=r.replace(/(рік|року|р|р.)/i,"")),/(до н.е.|до н. е.)/i.test(r))return r=r.replace(/(до н.е.|до н. е.)/i,""),-parseInt(r);if(/(н. е.|н.е.)/i.test(r))return r=r.replace(/(н. е.|н.е.)/i,""),parseInt(r);let e=parseInt(r);return Cs(e)}function ey(r){let e={},t=r,n=jle.exec(t);for(;n;)ZBe(e,n),t=t.substring(n[0].length).trim(),n=jle.exec(t);return e}function ZBe(r,e){let t=KBe(e[1]),n=vw[e[2].toLowerCase()];r[n]=t}var eo,c$,d$,Jg,o$,l$,vw,GBe,u$,a$,$C,zle,jle,Xg,ga=v(()=>{Dt();un();eo={leftBoundary:"([^\\p{L}\\p{N}_]|^)",rightBoundary:"(?=[^\\p{L}\\p{N}_]|$)",flags:"iu"},c$={\u043D\u0435\u0434\u0456\u043B\u044F:0,\u043D\u0435\u0434\u0456\u043B\u0456:0,\u043D\u0435\u0434\u0456\u043B\u044E:0,\u043D\u0434:0,"\u043D\u0434.":0,\u043F\u043E\u043D\u0435\u0434\u0456\u043B\u043E\u043A:1,\u043F\u043E\u043D\u0435\u0434\u0456\u043B\u043A\u0430:1,\u043F\u043D:1,"\u043F\u043D.":1,\u0432\u0456\u0432\u0442\u043E\u0440\u043E\u043A:2,\u0432\u0456\u0432\u0442\u043E\u0440\u043A\u0430:2,\u0432\u0442:2,"\u0432\u0442.":2,\u0441\u0435\u0440\u0435\u0434\u0430:3,\u0441\u0435\u0440\u0435\u0434\u0438:3,\u0441\u0435\u0440\u0435\u0434\u0443:3,\u0441\u0440:3,"\u0441\u0440.":3,\u0447\u0435\u0442\u0432\u0435\u0440:4,\u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0430:4,\u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0443:4,\u0447\u0442:4,"\u0447\u0442.":4,"\u043F'\u044F\u0442\u043D\u0438\u0446\u044F":5,"\u043F'\u044F\u0442\u043D\u0438\u0446\u0456":5,"\u043F'\u044F\u0442\u043D\u0438\u0446\u044E":5,\u043F\u0442:5,"\u043F\u0442.":5,\u0441\u0443\u0431\u043E\u0442\u0430:6,\u0441\u0443\u0431\u043E\u0442\u0438:6,\u0441\u0443\u0431\u043E\u0442\u0443:6,\u0441\u0431:6,"\u0441\u0431.":6},d$={\u0441\u0456\u0447\u0435\u043D\u044C:1,\u0441\u0456\u0447\u043D\u044F:1,\u0441\u0456\u0447\u043D\u0456:1,\u043B\u044E\u0442\u0438\u0439:2,\u043B\u044E\u0442\u043E\u0433\u043E:2,\u043B\u044E\u0442\u043E\u043C\u0443:2,\u0431\u0435\u0440\u0435\u0437\u0435\u043D\u044C:3,\u0431\u0435\u0440\u0435\u0437\u043D\u044F:3,\u0431\u0435\u0440\u0435\u0437\u043D\u0456:3,\u043A\u0432\u0456\u0442\u0435\u043D\u044C:4,\u043A\u0432\u0456\u0442\u043D\u044F:4,\u043A\u0432\u0456\u0442\u043D\u0456:4,\u0442\u0440\u0430\u0432\u0435\u043D\u044C:5,\u0442\u0440\u0430\u0432\u043D\u044F:5,\u0442\u0440\u0430\u0432\u043D\u0456:5,\u0447\u0435\u0440\u0432\u0435\u043D\u044C:6,\u0447\u0435\u0440\u0432\u043D\u044F:6,\u0447\u0435\u0440\u0432\u043D\u0456:6,\u043B\u0438\u043F\u0435\u043D\u044C:7,\u043B\u0438\u043F\u043D\u044F:7,\u043B\u0438\u043F\u043D\u0456:7,\u0441\u0435\u0440\u043F\u0435\u043D\u044C:8,\u0441\u0435\u0440\u043F\u043D\u044F:8,\u0441\u0435\u0440\u043F\u043D\u0456:8,\u0432\u0435\u0440\u0435\u0441\u0435\u043D\u044C:9,\u0432\u0435\u0440\u0435\u0441\u043D\u044F:9,\u0432\u0435\u0440\u0435\u0441\u043D\u0456:9,\u0436\u043E\u0432\u0442\u0435\u043D\u044C:10,\u0436\u043E\u0432\u0442\u043D\u044F:10,\u0436\u043E\u0432\u0442\u043D\u0456:10,\u043B\u0438\u0441\u0442\u043E\u043F\u0430\u0434:11,\u043B\u0438\u0441\u0442\u043E\u043F\u0430\u0434\u0430:11,\u043B\u0438\u0441\u0442\u043E\u043F\u0430\u0434\u0443:11,\u0433\u0440\u0443\u0434\u0435\u043D\u044C:12,\u0433\u0440\u0443\u0434\u043D\u044F:12,\u0433\u0440\u0443\u0434\u043D\u0456:12},Jg={...d$,\u0441\u0456\u0447:1,"\u0441\u0456\u0447.":1,\u043B\u044E\u0442:2,"\u043B\u044E\u0442.":2,\u0431\u0435\u0440:3,"\u0431\u0435\u0440.":3,\u043A\u0432\u0456\u0442:4,"\u043A\u0432\u0456\u0442.":4,\u0442\u0440\u0430\u0432:5,"\u0442\u0440\u0430\u0432.":5,\u0447\u0435\u0440\u0432:6,"\u0447\u0435\u0440\u0432.":6,\u043B\u0438\u043F:7,"\u043B\u0438\u043F.":7,\u0441\u0435\u0440\u043F:8,"\u0441\u0435\u0440\u043F.":8,\u0441\u0435\u0440:8,"c\u0435\u0440.":8,\u0432\u0435\u0440:9,"\u0432\u0435\u0440.":9,\u0432\u0435\u0440\u0435\u0441:9,"\u0432\u0435\u0440\u0435\u0441.":9,\u0436\u043E\u0432\u0442:10,"\u0436\u043E\u0432\u0442.":10,\u043B\u0438\u0441\u0442\u043E\u043F:11,"\u043B\u0438\u0441\u0442\u043E\u043F.":11,\u0433\u0440\u0443\u0434:12,"\u0433\u0440\u0443\u0434.":12},o$={\u043E\u0434\u0438\u043D:1,\u043E\u0434\u043D\u0430:1,\u043E\u0434\u043D\u043E\u0457:1,\u043E\u0434\u043D\u0443:1,\u0434\u0432\u0456:2,\u0434\u0432\u0430:2,\u0434\u0432\u043E\u0445:2,\u0442\u0440\u0438:3,\u0442\u0440\u044C\u043E\u0445:3,\u0447\u043E\u0442\u0438\u0440\u0438:4,\u0447\u043E\u0442\u0438\u0440\u044C\u043E\u0445:4,"\u043F'\u044F\u0442\u044C":5,"\u043F'\u044F\u0442\u0438":5,\u0448\u0456\u0441\u0442\u044C:6,\u0448\u0435\u0441\u0442\u0438:6,\u0441\u0456\u043C:7,\u0441\u0435\u043C\u0438:7,\u0432\u0456\u0441\u0456\u043C:8,\u0432\u043E\u0441\u044C\u043C\u0438:8,"\u0434\u0435\u0432'\u044F\u0442\u044C":9,"\u0434\u0435\u0432'\u044F\u0442\u0438":9,\u0434\u0435\u0441\u044F\u0442\u044C:10,\u0434\u0435\u0441\u044F\u0442\u0438:10,\u043E\u0434\u0438\u043D\u0430\u0434\u0446\u044F\u0442\u044C:11,\u043E\u0434\u0438\u043D\u0430\u0434\u0446\u044F\u0442\u0438:11,\u0434\u0432\u0430\u043D\u0430\u0434\u0446\u044F\u0442\u044C:12,\u0434\u0432\u0430\u043D\u0430\u0434\u0446\u044F\u0442\u0438:12},l$={\u043F\u0435\u0440\u0448\u0435:1,\u043F\u0435\u0440\u0448\u043E\u0433\u043E:1,\u0434\u0440\u0443\u0433\u0435:2,\u0434\u0440\u0443\u0433\u043E\u0433\u043E:2,\u0442\u0440\u0435\u0442\u0454:3,\u0442\u0440\u0435\u0442\u044C\u043E\u0433\u043E:3,\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0435:4,\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u043E\u0433\u043E:4,"\u043F'\u044F\u0442\u0435":5,"\u043F'\u044F\u0442\u043E\u0433\u043E":5,\u0448\u043E\u0441\u0442\u0435:6,\u0448\u043E\u0441\u0442\u043E\u0433\u043E:6,\u0441\u044C\u043E\u043C\u0435:7,\u0441\u044C\u043E\u043C\u043E\u0433\u043E:7,\u0432\u043E\u0441\u044C\u043C\u0435:8,\u0432\u043E\u0441\u044C\u043C\u043E\u0433\u043E:8,"\u0434\u0435\u0432'\u044F\u0442\u0435":9,"\u0434\u0435\u0432'\u044F\u0442\u043E\u0433\u043E":9,\u0434\u0435\u0441\u044F\u0442\u0435:10,\u0434\u0435\u0441\u044F\u0442\u043E\u0433\u043E:10,\u043E\u0434\u0438\u043D\u0430\u0434\u0446\u044F\u0442\u0435:11,\u043E\u0434\u0438\u043D\u0430\u0434\u0446\u044F\u0442\u043E\u0433\u043E:11,\u0434\u0432\u0430\u043D\u0430\u0434\u0446\u044F\u0442\u0435:12,\u0434\u0432\u0430\u043D\u0430\u0434\u0446\u044F\u0442\u043E\u0433\u043E:12,\u0442\u0440\u0438\u043D\u0430\u0434\u0446\u044F\u0442\u0435:13,\u0442\u0440\u0438\u043D\u0430\u0434\u0446\u044F\u0442\u043E\u0433\u043E:13,\u0447\u043E\u0442\u0438\u0440\u043D\u0430\u0434\u0446\u044F\u0442\u0435:14,\u0447\u043E\u0442\u0438\u043D\u0440\u043D\u0430\u0434\u0446\u044F\u0442\u043E\u0433\u043E:14,"\u043F'\u044F\u0442\u043D\u0430\u0434\u0446\u044F\u0442\u0435":15,"\u043F'\u044F\u0442\u043D\u0430\u0434\u0446\u044F\u0442\u043E\u0433\u043E":15,\u0448\u0456\u0441\u0442\u043D\u0430\u0434\u0446\u044F\u0442\u0435:16,\u0448\u0456\u0441\u0442\u043D\u0430\u0434\u0446\u044F\u0442\u043E\u0433\u043E:16,\u0441\u0456\u043C\u043D\u0430\u0434\u0446\u044F\u0442\u0435:17,\u0441\u0456\u043C\u043D\u0430\u0434\u0446\u044F\u0442\u043E\u0433\u043E:17,\u0432\u0456\u0441\u0456\u043C\u043D\u0430\u0434\u0446\u044F\u0442\u0435:18,\u0432\u0456\u0441\u0456\u043C\u043D\u0430\u0434\u0446\u044F\u0442\u043E\u0433\u043E:18,"\u0434\u0435\u0432'\u044F\u0442\u043D\u0430\u0434\u0446\u044F\u0442\u0435":19,"\u0434\u0435\u0432'\u044F\u0442\u043D\u0430\u0434\u0446\u044F\u0442\u043E\u0433\u043E":19,\u0434\u0432\u0430\u0434\u0446\u044F\u0442\u0435:20,\u0434\u0432\u0430\u0434\u0446\u044F\u0442\u043E\u0433\u043E:20,"\u0434\u0432\u0430\u0434\u0446\u044F\u0442\u044C \u043F\u0435\u0440\u0448\u0435":21,"\u0434\u0432\u0430\u0434\u0446\u044F\u0442\u044C \u043F\u0435\u0440\u0448\u043E\u0433\u043E":21,"\u0434\u0432\u0430\u0434\u0446\u044F\u0442\u044C \u0434\u0440\u0443\u0433\u0435":22,"\u0434\u0432\u0430\u0434\u0446\u044F\u0442\u044C \u0434\u0440\u0443\u0433\u043E\u0433\u043E":22,"\u0434\u0432\u0430\u0434\u0446\u044F\u0442\u044C \u0442\u0440\u0435\u0442\u0454":23,"\u0434\u0432\u0430\u0434\u0446\u044F\u0442\u044C \u0442\u0440\u0435\u0442\u044C\u043E\u0433\u043E":23,"\u0434\u0432\u0430\u0434\u0446\u044F\u0442\u044C \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0435":24,"\u0434\u0432\u0430\u0434\u0446\u044F\u0442\u044C \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u043E\u0433\u043E":24,"\u0434\u0432\u0430\u0434\u0446\u044F\u0442\u044C \u043F'\u044F\u0442\u0435":25,"\u0434\u0432\u0430\u0434\u0446\u044F\u0442\u044C \u043F'\u044F\u0442\u043E\u0433\u043E":25,"\u0434\u0432\u0430\u0434\u0446\u044F\u0442\u044C \u0448\u043E\u0441\u0442\u0435":26,"\u0434\u0432\u0430\u0434\u0446\u044F\u0442\u044C \u0448\u043E\u0441\u0442\u043E\u0433\u043E":26,"\u0434\u0432\u0430\u0434\u0446\u044F\u0442\u044C \u0441\u044C\u043E\u043C\u0435":27,"\u0434\u0432\u0430\u0434\u0446\u044F\u0442\u044C \u0441\u044C\u043E\u043C\u043E\u0433\u043E":27,"\u0434\u0432\u0430\u0434\u0446\u044F\u0442\u044C \u0432\u043E\u0441\u044C\u043C\u0435":28,"\u0434\u0432\u0430\u0434\u0446\u044F\u0442\u044C \u0432\u043E\u0441\u044C\u043C\u043E\u0433\u043E":28,"\u0434\u0432\u0430\u0434\u0446\u044F\u0442\u044C \u0434\u0435\u0432'\u044F\u0442\u0435":29,"\u0434\u0432\u0430\u0434\u0446\u044F\u0442\u044C \u0434\u0435\u0432'\u044F\u0442\u043E\u0433\u043E":29,\u0442\u0440\u0438\u0434\u0446\u044F\u0442\u0435:30,\u0442\u0440\u0438\u0434\u0446\u044F\u0442\u043E\u0433\u043E:30,"\u0442\u0440\u0438\u0434\u0446\u044F\u0442\u044C \u043F\u0435\u0440\u0448\u0435":31,"\u0442\u0440\u0438\u0434\u0446\u044F\u0442\u044C \u043F\u0435\u0440\u0448\u043E\u0433\u043E":31},vw={\u0441\u0435\u043A:"second",\u0441\u0435\u043A\u0443\u043D\u0434\u0430:"second",\u0441\u0435\u043A\u0443\u043D\u0434:"second",\u0441\u0435\u043A\u0443\u043D\u0434\u0438:"second",\u0441\u0435\u043A\u0443\u043D\u0434\u0443:"second",\u0441\u0435\u043A\u0443\u043D\u0434\u043E\u0447\u043E\u043A:"second",\u0441\u0435\u043A\u0443\u043D\u0434\u043E\u0447\u043A\u0438:"second",\u0441\u0435\u043A\u0443\u043D\u0434\u043E\u0447\u043A\u0443:"second",\u0445\u0432:"minute",\u0445\u0432\u0438\u043B\u0438\u043D\u0430:"minute",\u0445\u0432\u0438\u043B\u0438\u043D:"minute",\u0445\u0432\u0438\u043B\u0438\u043D\u0438:"minute",\u0445\u0432\u0438\u043B\u0438\u043D\u0443:"minute",\u0445\u0432\u0438\u043B\u0438\u043D\u043E\u043A:"minute",\u0445\u0432\u0438\u043B\u0438\u043D\u043A\u0438:"minute",\u0445\u0432\u0438\u043B\u0438\u043D\u043A\u0443:"minute",\u0445\u0432\u0438\u043B\u0438\u043D\u043E\u0447\u043E\u043A:"minute",\u0445\u0432\u0438\u043B\u0438\u043D\u043E\u0447\u043A\u0438:"minute",\u0445\u0432\u0438\u043B\u0438\u043D\u043E\u0447\u043A\u0443:"minute",\u0433\u043E\u0434:"hour",\u0433\u043E\u0434\u0438\u043D\u0430:"hour",\u0433\u043E\u0434\u0438\u043D:"hour",\u0433\u043E\u0434\u0438\u043D\u0438:"hour",\u0433\u043E\u0434\u0438\u043D\u0443:"hour",\u0433\u043E\u0434\u0438\u043D\u043A\u0430:"hour",\u0433\u043E\u0434\u0438\u043D\u043E\u043A:"hour",\u0433\u043E\u0434\u0438\u043D\u043A\u0438:"hour",\u0433\u043E\u0434\u0438\u043D\u043A\u0443:"hour",\u0434\u0435\u043D\u044C:"d",\u0434\u043D\u044F:"d",\u0434\u043D\u0456\u0432:"d",\u0434\u043D\u0456:"d",\u0434\u043E\u0431\u0430:"d",\u0434\u043E\u0431\u0443:"d",\u0442\u0438\u0436\u0434\u0435\u043D\u044C:"week",\u0442\u0438\u0436\u043D\u044E:"week",\u0442\u0438\u0436\u043D\u044F:"week",\u0442\u0438\u0436\u043D\u0456:"week",\u0442\u0438\u0436\u043D\u0456\u0432:"week",\u043C\u0456\u0441\u044F\u0446\u044C:"month",\u043C\u0456\u0441\u044F\u0446\u0456\u0432:"month",\u043C\u0456\u0441\u044F\u0446\u0456:"month",\u043C\u0456\u0441\u044F\u0446\u044F:"month",\u043A\u0432\u0430\u0440\u0442\u0430\u043B:"quarter",\u043A\u0432\u0430\u0440\u0442\u0430\u043B\u0443:"quarter",\u043A\u0432\u0430\u0440\u0442\u0430\u043B\u0430:"quarter",\u043A\u0432\u0430\u0440\u0442\u0430\u043B\u0456\u0432:"quarter",\u043A\u0432\u0430\u0440\u0442\u0430\u043B\u0456:"quarter",\u0440\u0456\u043A:"year",\u0440\u043E\u043A\u0443:"year",\u0440\u043E\u0446\u0456:"year",\u0440\u043E\u043A\u0456\u0432:"year",\u0440\u043E\u043A\u0438:"year"},GBe=`(?:${se(o$)}|[0-9]+|[0-9]+\\.[0-9]+|\u043F\u0456\u0432|\u0434\u0435\u043A\u0456\u043B\u044C\u043A\u0430|\u043F\u0430\u0440(?:\u0443)|\\s{0,3})`;u$=`(?:${se(l$)}|[0-9]{1,2}(?:\u0433\u043E|\u043E\u0433\u043E|\u0435)?)`;a$="(?:\\s+(?:\u0440\u043E\u043A\u0443|\u0440\u0456\u043A|\u0440|\u0440.))?",$C=`(?:[1-9][0-9]{0,3}${a$}\\s*(?:\u043D.\u0435.|\u0434\u043E \u043D.\u0435.|\u043D. \u0435.|\u0434\u043E \u043D. \u0435.)|[1-2][0-9]{3}${a$}|[5-9][0-9]${a$})`;zle=`(${GBe})\\s{0,3}(${se(vw)})`,jle=new RegExp(zle,"i"),Xg=ss("(?:(?:\u0431\u043B\u0438\u0437\u044C\u043A\u043E|\u043F\u0440\u0438\u0431\u043B\u0438\u0437\u043D\u043E)\\s{0,3})?",zle)});var Ble,bw,qle=v(()=>{ga();rt();ve();Ble=`(?:(?:\u043F\u0440\u0438\u0431\u043B\u0438\u0437\u043D\u043E|\u043E\u0440\u0456\u0454\u043D\u0442\u043E\u0432\u043D\u043E)\\s*(?:~\\s*)?)?(${Xg})${eo.rightBoundary}`,bw=class extends q{patternLeftBoundary(){return eo.leftBoundary}innerPattern(e){return e.option.forwardDate?new RegExp(Ble,"i"):new RegExp(`(?:\u043F\u0440\u043E\u0442\u044F\u0433\u043E\u043C|\u043D\u0430 \u043F\u0440\u043E\u0442\u044F\u0437\u0456|\u043F\u0440\u043E\u0442\u044F\u0433\u043E\u043C|\u0443\u043F\u0440\u043E\u0434\u043E\u0432\u0436|\u0432\u043F\u0440\u043E\u0434\u043E\u0432\u0436)\\s*${Ble}`,eo.flags)}innerExtract(e,t){let n=ey(t[1]);return Q.createRelativeFromReference(e.reference,n)}}});var rf,As,pd=v(()=>{ve();ga();rf=class extends q{patternLeftBoundary(){return eo.leftBoundary}innerPattern(e){return new RegExp(this.innerPatternString(e),eo.flags)}innerPatternHasChange(e,t){return!1}},As=class extends rf{innerPattern(e){return new RegExp(`${this.innerPatternString(e)}${eo.rightBoundary}`,eo.flags)}}});var Hle,Ule,QBe,Vle,Tw,Wle=v(()=>{un();ga();ga();ga();Dt();pd();Hle=1,Ule=2,QBe=3,Vle=4,Tw=class extends As{innerPatternString(e){return`(?:\u0437|\u0456\u0437)?\\s*(${u$})(?:\\s{0,3}(?:\u043F\u043E|-|\u2013|\u0434\u043E)?\\s{0,3}(${u$}))?(?:-|\\/|\\s{0,3}(?:of)?\\s{0,3})(${se(Jg)})(?:(?:-|\\/|,?\\s{0,3})(${$C}(?![^\\s]\\d)))?`}innerExtract(e,t){let n=e.createParsingResult(t.index,t[0]),i=Jg[t[QBe].toLowerCase()],s=p$(t[Hle]);if(s>31)return t.index=t.index+t[Hle].length,null;if(n.start.assign("month",i),n.start.assign("day",s),t[Vle]){let a=jC(t[Vle]);n.start.assign("year",a)}else{let a=ir(e.reference.instant,s,i);n.start.imply("year",a)}if(t[Ule]){let a=p$(t[Ule]);n.end=n.start.clone(),n.end.assign("day",a)}return n}}});var JBe,Yle,kw,Gle=v(()=>{ga();un();Dt();ga();pd();JBe=2,Yle=3,kw=class extends rf{innerPatternString(e){return`((?:\u0432|\u0443)\\s*)?(${se(Jg)})\\s*(?:[,-]?\\s*(${$C})?)?(?=[^\\s\\w]|\\s+[^0-9]|\\s+$|$)`}innerExtract(e,t){let n=t[JBe].toLowerCase();if(t[0].length<=3&&!d$[n])return null;let i=e.createParsingResult(t.index,t.index+t[0].length);i.start.imply("day",1);let s=Jg[n];if(i.start.assign("month",s),t[Yle]){let a=jC(t[Yle]);i.start.assign("year",a)}else{let a=ir(e.reference.instant,1,s);i.start.imply("year",a)}return i}}});var ww,Kle=v(()=>{Nt();ad();ga();ww=class extends Jn{constructor(e){super(e)}patternFlags(){return eo.flags}primaryPatternLeftBoundary(){return"(^|\\s|T|(?:[^\\p{L}\\p{N}_]))"}followingPhase(){return"\\s*(?:\\-|\\\u2013|\\~|\\\u301C|\u0434\u043E|\u0456|\u043F\u043E|\\?)\\s*"}primaryPrefix(){return"(?:(?:\u0432|\u0443|\u043E|\u043E\u0431|\u0437|\u0456\u0437|\u0432\u0456\u0434)\\s*)??"}primarySuffix(){return`(?:\\s*(?:\u0440\u0430\u043D\u043A\u0443|\u0432\u0435\u0447\u043E\u0440\u0430|\u043F\u043E \u043E\u0431\u0456\u0434\u0456|\u043F\u0456\u0441\u043B\u044F \u043E\u0431\u0456\u0434\u0443))?(?!\\/)${eo.rightBoundary}`}extractPrimaryTimeComponents(e,t){let n=super.extractPrimaryTimeComponents(e,t);if(n){if(t[0].endsWith("\u0432\u0435\u0447\u043E\u0440\u0430")){let i=n.get("hour");i>=6&&i<12?(n.assign("hour",n.get("hour")+12),n.assign("meridiem",$.PM)):i<6&&n.assign("meridiem",$.AM)}if(t[0].endsWith("\u043F\u043E \u043E\u0431\u0456\u0434\u0456")||t[0].endsWith("\u043F\u0456\u0441\u043B\u044F \u043E\u0431\u0456\u0434\u0443")){n.assign("meridiem",$.PM);let i=n.get("hour");i>=0&&i<=6&&n.assign("hour",n.get("hour")+12)}t[0].endsWith("\u0440\u0430\u043D\u043A\u0443")&&(n.assign("meridiem",$.AM),n.get("hour")<12&&n.assign("hour",n.get("hour")))}return n}}});var Sw,Zle=v(()=>{ga();rt();pa();pd();Sw=class extends rf{innerPatternString(e){return`(${Xg})\\s{0,5}\u0442\u043E\u043C\u0443(?=(?:\\W|$))`}innerExtract(e,t){let n=ey(t[1]),i=Cn(n);return Q.createRelativeFromReference(e.reference,i)}}});var xw,Qle=v(()=>{Ya();xw=class extends zr{patternBetween(){return/^\s*(і до|і по|до|по|-)\s*$/i}}});var Ew,Jle=v(()=>{Ga();Ew=class extends Br{patternBetween(){return new RegExp("^\\s*(T|\u0432|\u0443|\u043E|,|-)?\\s*$")}}});var Dw,Xle=v(()=>{ua();pd();Dw=class extends As{innerPatternString(e){return"(?:\u0437|\u0456\u0437|\u0432\u0456\u0434)?\\s*(\u0441\u044C\u043E\u0433\u043E\u0434\u043D\u0456|\u0432\u0447\u043E\u0440\u0430|\u0437\u0430\u0432\u0442\u0440\u0430|\u043F\u0456\u0441\u043B\u044F\u0437\u0430\u0432\u0442\u0440\u0430|\u043F\u0456\u0441\u043B\u044F\u043F\u0456\u0441\u043B\u044F\u0437\u0430\u0432\u0442\u0440\u0430|\u043F\u043E\u0437\u0430\u043F\u043E\u0437\u0430\u0432\u0447\u043E\u0440\u0430|\u043F\u043E\u0437\u0430\u0432\u0447\u043E\u0440\u0430)"}innerExtract(e,t){let n=t[1].toLowerCase(),i=e.createParsingComponents();switch(n){case"\u0441\u044C\u043E\u0433\u043E\u0434\u043D\u0456":return Xn(e.reference);case"\u0432\u0447\u043E\u0440\u0430":return Ni(e.reference);case"\u0437\u0430\u0432\u0442\u0440\u0430":return Ri(e.reference);case"\u043F\u0456\u0441\u043B\u044F\u0437\u0430\u0432\u0442\u0440\u0430":return Il(e.reference,2);case"\u043F\u0456\u0441\u043B\u044F\u043F\u0456\u0441\u043B\u044F\u0437\u0430\u0432\u0442\u0440\u0430":return Il(e.reference,3);case"\u043F\u043E\u0437\u0430\u0432\u0447\u043E\u0440\u0430":return Fm(e.reference,2);case"\u043F\u043E\u0437\u0430\u043F\u043E\u0437\u0430\u0432\u0447\u043E\u0440\u0430":return Fm(e.reference,3)}return i}}});var ece,Cw,tce=v(()=>{ua();ca();ece=Ke(Wt(),1);pd();Cw=class extends As{innerPatternString(e){return"(\u0437\u0430\u0440\u0430\u0437|\u043C\u0438\u043D\u0443\u043B\u043E\u0433\u043E\\s*\u0432\u0435\u0447\u043E\u0440\u0430|\u043C\u0438\u043D\u0443\u043B\u043E\u0457\\s*\u043D\u043E\u0447\u0456|\u043D\u0430\u0441\u0442\u0443\u043F\u043D\u043E\u0457\\s*\u043D\u043E\u0447\u0456|\u0441\u044C\u043E\u0433\u043E\u0434\u043D\u0456\\s*\u0432\u043D\u043E\u0447\u0456|\u0446\u0456\u0454\u0457\\s*\u043D\u043E\u0447\u0456|\u0446\u044C\u043E\u0433\u043E \u0440\u0430\u043D\u043A\u0443|\u0432\u0440\u0430\u043D\u0446\u0456|\u0440\u0430\u043D\u043A\u0443|\u0437\u0440\u0430\u043D\u043A\u0443|\u043E\u043F\u0456\u0432\u0434\u043D\u0456|\u0432\u0432\u0435\u0447\u0435\u0440\u0456|\u0432\u0435\u0447\u043E\u0440\u0430|\u043E\u043F\u0456\u0432\u043D\u043E\u0447\u0456|\u0432\u043D\u043E\u0447\u0456)"}innerExtract(e,t){let n=(0,ece.default)(e.reference.instant),i=t[0].toLowerCase(),s=e.createParsingComponents();if(i==="\u0437\u0430\u0440\u0430\u0437")return Ii(e.reference);if(i==="\u0432\u0432\u0435\u0447\u0435\u0440\u0456"||i==="\u0432\u0435\u0447\u043E\u0440\u0430")return Og(e.reference);if(i.endsWith("\u0432\u0440\u0430\u043D\u0446\u0456")||i.endsWith("\u0440\u0430\u043D\u043A\u0443")||i.endsWith("\u0437\u0440\u0430\u043D\u043A\u0443"))return Lg(e.reference);if(i.endsWith("\u043E\u043F\u0456\u0432\u0434\u043D\u0456"))return Fg(e.reference);if(i.match(/минулої\s*ночі/))return oC(e.reference);if(i.match(/минулого\s*вечора/))return lC(e.reference);if(i.match(/наступної\s*ночі/)){let a=n.hour()<22?1:2;n=n.add(a,"day"),Ir(s,n),s.imply("hour",1)}return i.match(/цієї\s*ночі/)?$m(e.reference):i.endsWith("\u043E\u043F\u0456\u0432\u043D\u043E\u0447\u0456")||i.endsWith("\u0432\u043D\u043E\u0447\u0456")?$m(e.reference):s}}});var XBe,eqe,tqe,Pw,rce=v(()=>{ga();Dt();Vo();pd();XBe=1,eqe=2,tqe=3,Pw=class extends As{innerPatternString(e){return`(?:(?:,|\\(|\uFF08)\\s*)?(?:\u0432\\s*?)?(?:\u0443\\s*?)?(?:(\u0446\u0435\u0439|\u043C\u0438\u043D\u0443\u043B\u043E\u0433\u043E|\u043C\u0438\u043D\u0443\u043B\u0438\u0439|\u043F\u043E\u043F\u0435\u0440\u0435\u0434\u043D\u0456\u0439|\u043F\u043E\u043F\u0435\u0440\u0435\u0434\u043D\u044C\u043E\u0433\u043E|\u043D\u0430\u0441\u0442\u0443\u043F\u043D\u043E\u0433\u043E|\u043D\u0430\u0441\u0442\u0443\u043F\u043D\u0438\u0439|\u043D\u0430\u0441\u0442\u0443\u043F\u043D\u043E\u043C\u0443)\\s*)?(${se(c$)})(?:\\s*(?:,|\\)|\uFF09))?(?:\\s*(\u043D\u0430|\u0443|\u0432)\\s*(\u0446\u044C\u043E\u043C\u0443|\u043C\u0438\u043D\u0443\u043B\u043E\u043C\u0443|\u043D\u0430\u0441\u0442\u0443\u043F\u043D\u043E\u043C\u0443)\\s*\u0442\u0438\u0436\u043D\u0456)?`}innerExtract(e,t){let n=t[eqe].toLocaleLowerCase(),i=c$[n],s=t[XBe],a=t[tqe],o=s||a;o=o||"",o=o.toLocaleLowerCase();let l=null;return o=="\u043C\u0438\u043D\u0443\u043B\u043E\u0433\u043E"||o=="\u043C\u0438\u043D\u0443\u043B\u0438\u0439"||o=="\u043F\u043E\u043F\u0435\u0440\u0435\u0434\u043D\u0456\u0439"||o=="\u043F\u043E\u043F\u0435\u0440\u0435\u0434\u043D\u044C\u043E\u0433\u043E"?l="last":o=="\u043D\u0430\u0441\u0442\u0443\u043F\u043D\u043E\u0433\u043E"||o=="\u043D\u0430\u0441\u0442\u0443\u043F\u043D\u0438\u0439"?l="next":(o=="\u0446\u0435\u0439"||o=="\u0446\u044C\u043E\u0433\u043E"||o=="\u0446\u044C\u043E\u043C\u0443")&&(l="this"),Pn(e.reference,i,l)}}});var nce,rqe,nqe,_w,ice=v(()=>{ga();rt();nce=Ke(Wt(),1);Dt();pd();rqe=1,nqe=2,_w=class extends As{innerPatternString(e){return`(\u0432 \u043C\u0438\u043D\u0443\u043B\u043E\u043C\u0443|\u0443 \u043C\u0438\u043D\u0443\u043B\u043E\u043C\u0443|\u043D\u0430 \u043C\u0438\u043D\u0443\u043B\u043E\u043C\u0443|\u043C\u0438\u043D\u0443\u043B\u043E\u0433\u043E|\u043D\u0430 \u043D\u0430\u0441\u0442\u0443\u043F\u043D\u043E\u043C\u0443|\u0432 \u043D\u0430\u0441\u0442\u0443\u043F\u043D\u043E\u043C\u0443|\u0443 \u043D\u0430\u0441\u0442\u0443\u043F\u043D\u043E\u043C\u0443|\u043D\u0430\u0441\u0442\u0443\u043F\u043D\u043E\u0433\u043E|\u043D\u0430 \u0446\u044C\u043E\u043C\u0443|\u0432 \u0446\u044C\u043E\u043C\u0443|\u0443 \u0446\u044C\u043E\u043C\u0443|\u0446\u044C\u043E\u0433\u043E)\\s*(${se(vw)})(?=\\s*)`}innerExtract(e,t){let n=t[rqe].toLowerCase(),i=t[nqe].toLowerCase(),s=vw[i];if(n=="\u043D\u0430 \u043D\u0430\u0441\u0442\u0443\u043F\u043D\u043E\u043C\u0443"||n=="\u0432 \u043D\u0430\u0441\u0442\u0443\u043F\u043D\u043E\u043C\u0443"||n=="\u0443 \u043D\u0430\u0441\u0442\u0443\u043F\u043D\u043E\u043C\u0443"||n=="\u043D\u0430\u0441\u0442\u0443\u043F\u043D\u043E\u0433\u043E"){let l={};return l[s]=1,Q.createRelativeFromReference(e.reference,l)}if(n=="\u043D\u0430 \u043C\u0438\u043D\u0443\u043B\u043E\u043C\u0443"||n=="\u0432 \u043C\u0438\u043D\u0443\u043B\u043E\u043C\u0443"||n=="\u0443 \u043C\u0438\u043D\u0443\u043B\u043E\u043C\u0443"||n=="\u043C\u0438\u043D\u0443\u043B\u043E\u0433\u043E"){let l={};return l[s]=-1,Q.createRelativeFromReference(e.reference,l)}let a=e.createParsingComponents(),o=(0,nce.default)(e.reference.instant);return s.match(/week/i)?(o=o.add(-o.get("d"),"d"),a.imply("day",o.date()),a.imply("month",o.month()+1),a.imply("year",o.year())):s.match(/month/i)?(o=o.add(-o.date()+1,"d"),a.imply("day",o.date()),a.assign("year",o.year()),a.assign("month",o.month()+1)):s.match(/year/i)&&(o=o.add(-o.date()+1,"d"),o=o.add(-o.month(),"month"),a.imply("day",o.date()),a.imply("month",o.month()+1),a.assign("year",o.year())),a}}});var Mw,sce=v(()=>{ga();rt();pa();pd();Mw=class extends As{innerPatternString(e){return`(\u0446\u0456|\u043E\u0441\u0442\u0430\u043D\u043D\u0456|\u043C\u0438\u043D\u0443\u043B\u0456|\u043C\u0430\u0439\u0431\u0443\u0442\u043D\u0456|\u043D\u0430\u0441\u0442\u0443\u043F\u043D\u0456|\u043F\u0456\u0441\u043B\u044F|\u0447\u0435\u0440\u0435\u0437|\\+|-)\\s*(${Xg})`}innerExtract(e,t){let n=t[1].toLowerCase(),i=ey(t[3]);switch(n){case"\u043E\u0441\u0442\u0430\u043D\u043D\u0456":case"\u043C\u0438\u043D\u0443\u043B\u0456":case"-":i=Cn(i);break}return Q.createRelativeFromReference(e.reference,i)}}});var h$={};et(h$,{Chrono:()=>Oe,Meridiem:()=>$,ParsingComponents:()=>Q,ParsingResult:()=>$t,ReferenceWithTimezone:()=>Yt,Weekday:()=>ze,casual:()=>m$,createCasualConfiguration:()=>ace,createConfiguration:()=>f$,parse:()=>sqe,parseDate:()=>aqe,strict:()=>iqe});function ace(){let r=f$(!1);return r.parsers.unshift(new Dw),r.parsers.unshift(new Cw),r.parsers.unshift(new kw),r.parsers.unshift(new _w),r.parsers.unshift(new Mw),r}function f$(r){return Yr({parsers:[new ld,new $n(!0),new bw,new Tw,new Pw,new ww(r),new Sw],refiners:[new Ew,new xw]},r)}function sqe(r,e,t){return m$.parse(r,e,t)}function aqe(r,e,t){return m$.parseDate(r,e,t)}var m$,iqe,oce=v(()=>{qle();Wle();Gle();Kle();Zle();Qle();Jle();da();Xle();tce();rce();ice();_s();rt();Nt();cd();sce();aC();m$=new Oe(ace()),iqe=new Oe(f$(!0))});var zC={};et(zC,{Chrono:()=>Oe,Meridiem:()=>$,ParsingComponents:()=>Q,ParsingContext:()=>VT,ParsingResult:()=>$t,ReferenceWithTimezone:()=>Yt,Weekday:()=>ze,casual:()=>g$,de:()=>q1,en:()=>N1,es:()=>s$,fr:()=>J1,ja:()=>rF,nl:()=>hF,parse:()=>lqe,parseDate:()=>cqe,pt:()=>oF,ru:()=>XF,strict:()=>oqe,uk:()=>h$,zh:()=>HF});function lqe(r,e,t){return g$.parse(r,e,t)}function cqe(r,e,t){return g$.parseDate(r,e,t)}var oqe,g$,lce=v(()=>{Tse();_s();rt();Nt();Vse();hae();Mae();Vae();boe();Goe();yle();$le();oce();oqe=I1,g$=WT});var cce,dce,dqe,BC,uce=v(()=>{Tn();lce();t1();u1();p1();d1();dqe=(dce=Ee)!=null?dce:(cce=void 0)==null?void 0:cce.RRule,BC=class{constructor(e=[],t=[],n=!0,i="en",s,a){this.isValidDateString=l=>/^\d{4}-\d{2}-\d{2}$/.test(l),this.isValidTimeString=l=>/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/.test(l),this.escapeRegex=l=>l.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),this.cleanupWhitespace=l=>l.replace(/\s+/g," ").replace(/^\s+|\s+$/g,"").trim(),this.defaultToScheduled=n,this.languageConfig=uie(i),this.statusConfigs=e,this.priorityConfigs=t;let o=s||$ne;this.triggerConfig=new eC(o,a||[]),this.boundaries=this.createBoundaryConfig(),this.recurrencePatterns=this.buildRecurrencePatterns(),this.processingPipeline=this.buildProcessingPipeline()}createBoundaryConfig(){let e=["ru","zh","ja","uk","fr"].includes(this.languageConfig.code);return{boundary:e?"(?:^|\\s)":"\\b",endBoundary:e?"(?=\\s|$)":"\\b",isNonAscii:e}}getChronoParser(){let e=this.languageConfig.chronoLocale;return zC[e]||zC}buildProcessingPipeline(){return[{name:"extractTags",process:(e,t)=>this.extractTags(e,t)},{name:"extractContexts",process:(e,t)=>this.extractContexts(e,t)},{name:"extractProjects",process:(e,t)=>this.extractProjects(e,t)},{name:"extractPriority",process:(e,t)=>this.extractPriority(e,t)},{name:"extractStatus",process:(e,t)=>this.extractStatus(e,t)},{name:"extractRecurrence",process:(e,t)=>this.extractRecurrence(e,t)},{name:"extractTimeEstimate",process:(e,t)=>this.extractTimeEstimate(e,t)},{name:"extractUserFields",process:(e,t)=>this.extractUserFields(e,t)},{name:"parseUnifiedDatesAndTimes",process:(e,t)=>this.parseUnifiedDatesAndTimes(e,t)}]}parseInput(e){let t={title:"",tags:[],contexts:[],projects:[]},[n,i]=this.extractTitleAndDetails(e);i&&(t.details=i);let s=n;for(let a of this.processingPipeline)try{s=a.process(s,t)}catch(o){console.debug(`Error in processor ${a.name}:`,o)}return t.title=s.trim(),this.validateAndCleanupResult(t)}extractTitleAndDetails(e){let t=e.trim(),n=t.indexOf(`
`);if(n!==-1){let i=t.substring(0,n).trim(),s=t.substring(n+1).trim();return[i,s]}return[t,void 0]}extractTags(e,t){let n=this.triggerConfig.getTagTrigger();if(!n)return e;let i=this.escapeRegex(n),s=new RegExp(`${i}[\\p{L}\\p{N}\\p{M}_/-]+`,"gu"),a=e.match(s);return a?(t.tags.push(...a.map(o=>o.substring(n.length))),this.cleanupWhitespace(e.replace(s,""))):e}extractContexts(e,t){let n=this.triggerConfig.getContextTrigger();if(!n)return e;let i=this.escapeRegex(n),s=new RegExp(`${i}[\\p{L}\\p{N}\\p{M}_/-]+`,"gu"),a=e.match(s);return a?(t.contexts.push(...a.map(o=>o.substring(n.length))),this.cleanupWhitespace(e.replace(s,""))):e}extractProjects(e,t){let n=this.triggerConfig.getProjectTrigger();if(!n)return e;let i=e,s=this.escapeRegex(n),a=new RegExp(`${s}\\[\\[.*?\\]\\]`,"g"),o=i.match(a);o&&(t.projects.push(...o.map(d=>d.slice(n.length))),i=this.cleanupWhitespace(i.replace(a,"")));let l=new RegExp(`${s}[\\p{L}\\p{N}\\p{M}_/-]+`,"gu"),c=i.match(l);return c&&(t.projects.push(...c.map(d=>d.substring(n.length))),i=this.cleanupWhitespace(i.replace(l,""))),i}extractUserFields(e,t){let n=e,i=this.triggerConfig.getAllEnabledTriggers().filter(s=>this.triggerConfig.isUserField(s.propertyId));for(let s of i){let a=this.triggerConfig.getUserField(s.propertyId);if(!a)continue;let o=this.escapeRegex(s.trigger);if(a.type==="list"){let l=new RegExp(`${o}(?:"([^"]+)"|([\\p{L}\\p{N}\\p{M}_/-]+))`,"gu"),c=[],d;for(;(d=l.exec(n))!==null;){let u=d[1]||d[2];c.push(u)}c.length>0&&(t.userFields||(t.userFields={}),t.userFields[a.id]=c,n=this.cleanupWhitespace(n.replace(l,"")))}else if(a.type==="text"||a.type==="boolean"||a.type==="number"){let l=new RegExp(`${o}(?:"([^"]+)"|([\\p{L}\\p{N}\\p{M}_/-]+))`,"u"),c=n.match(l);if(c){let d=c[1]||c[2];t.userFields||(t.userFields={}),a.type==="boolean"?t.userFields[a.id]=d.toLowerCase()==="true"?"true":"false":t.userFields[a.id]=d,n=this.cleanupWhitespace(n.replace(l,""))}}else if(a.type==="date"){let l=new RegExp(`${o}(?:"([^"]+)"|([\\p{L}\\p{N}\\p{M}_/-]+))`,"u"),c=n.match(l);if(c){let d=c[1]||c[2];t.userFields||(t.userFields={}),t.userFields[a.id]=d,n=this.cleanupWhitespace(n.replace(l,""))}}}return n}extractPriority(e,t){if(this.priorityConfigs.length>0){let s=[...this.priorityConfigs].sort((l,c)=>c.label.length-l.label.length),a=this.triggerConfig.getTriggerForProperty("priority"),o=a!=null&&a.enabled?a.trigger:"";for(let l of s){let c=[l.label,l.value];for(let d of c){if(!d||d.trim()==="")continue;if(o){let p=o+d,m=this.findTextMatch(e,p);if(m)return t.priority=l.value,this.cleanupWhitespace(e.replace(m.fullMatch,""))}let u=this.findTextMatch(e,d);if(u)return t.priority=l.value,this.cleanupWhitespace(e.replace(u.fullMatch,""))}}return e}let n=this.languageConfig.fallbackPriority,i=this.findPhraseValueMatch(e,[{value:"urgent",phrases:n.urgent},{value:"high",phrases:n.high},{value:"normal",phrases:n.normal},{value:"low",phrases:n.low}]);return i?(t.priority=i.value,this.removePhraseMatch(e,i.match)):e}extractStatus(e,t){if(this.statusConfigs.length>0){let s=[...this.statusConfigs].sort((l,c)=>c.label.length-l.label.length),a=this.triggerConfig.getTriggerForProperty("status"),o=a!=null&&a.enabled?a.trigger:"";for(let l of s){let c=[l.label,l.value];for(let d of c){if(!d||d.trim()==="")continue;if(o){let p=o+d,m=this.findTextMatch(e,p);if(m)return t.status=l.value,this.cleanupWhitespace(e.replace(m.fullMatch,""))}let u=this.findTextMatch(e,d);if(u)return t.status=l.value,this.cleanupWhitespace(e.replace(u.fullMatch,""))}}return e}let n=this.languageConfig.fallbackStatus,i=this.findPhraseValueMatch(e,[{value:"open",phrases:n.open},{value:"in-progress",phrases:n.inProgress},{value:"done",phrases:n.done},{value:"cancelled",phrases:n.cancelled},{value:"waiting",phrases:n.waiting}]);return i?(t.status=i.value,this.removePhraseMatch(e,i.match)):e}findTextMatch(e,t){let n=this.findPhraseMatch(e,[t]);if(!n)return null;let i=this.includeTrailingPhraseSeparator(e,n.endIndex);return{fullMatch:e.substring(n.startIndex,i),startIndex:n.startIndex}}findPhraseMatch(e,t){let n=t.filter(a=>a&&a.trim()!=="").sort((a,o)=>o.length-a.length);if(n.length===0)return null;let i=e.toLowerCase(),s=null;for(let a of n){let o=a.toLowerCase(),l=0;for(;l<=i.length;){let c=i.indexOf(o,l);if(c===-1)break;let d=c+a.length;if(this.hasPhraseBoundaries(e,c,d)){let u={fullMatch:e.substring(c,d),phrase:a,startIndex:c,endIndex:d};(!s||u.startIndex<s.startIndex||u.startIndex===s.startIndex&&u.phrase.length>s.phrase.length)&&(s=u)}l=c+1}}return s}findPhraseValueMatch(e,t){let n=null;for(let i of t){let s=this.findPhraseMatch(e,i.phrases);s&&(!n||s.startIndex<n.match.startIndex||s.startIndex===n.match.startIndex&&s.phrase.length>n.match.phrase.length)&&(n={value:i.value,match:s})}return n}removePhraseMatch(e,t){let n=this.includeTrailingPhraseSeparator(e,t.endIndex);return this.cleanupWhitespace(e.substring(0,t.startIndex)+e.substring(n))}hasPhraseBoundaries(e,t,n){if(["zh","ja"].includes(this.languageConfig.code))return!0;let i=this.getCodePointBefore(e,t),s=this.getCodePointAt(e,n);return!this.isWordCharacter(i)&&!this.isWordCharacter(s)}getCodePointBefore(e,t){return t<=0?"":Array.from(e.slice(0,t)).pop()||""}getCodePointAt(e,t){return t>=e.length?"":Array.from(e.slice(t))[0]||""}isWordCharacter(e){return e!==""&&/[\p{L}\p{N}\p{M}_]/u.test(e)}includeTrailingPhraseSeparator(e,t){return/[:,;]/.test(e[t]||"")?t+1:t}parseUnifiedDatesAndTimes(e,t){var i,s;let n=e;try{let a=this.getChronoParser(),o=this.languageConfig.dateTriggers,l=[{type:"due",phrases:o.due},{type:"scheduled",phrases:o.scheduled}],c=!1;for(let y of l){let k=this.findPhraseMatch(n,y.phrases);if(k){let T=n.substring(k.endIndex),w=this.parseChronoFromPosition(T);if(w.success){c=!0,y.type==="due"?(t.dueDate=w.date,w.time&&(t.dueTime=w.time)):(t.scheduledDate=w.date,w.time&&(t.scheduledTime=w.time));let S=this.getChronoMatchOffset(T,w),E=w.matchedText?k.endIndex+S+w.matchedText.length:k.endIndex;n=n.substring(0,k.startIndex)+n.substring(E),n=this.cleanupWhitespace(n)}}}if(c)return n;let d=a.parse(e,new Date,{forwardDate:!0});if(d.length===0)return e;let u=d[0],p=u.text,m=u.start.date(),f=(i=u.end)==null?void 0:i.date(),h=this.findPhraseMatch(u.text,o.due)!==null,g=this.findPhraseMatch(u.text,o.scheduled)!==null;if(f&&Kn(f)&&f.getTime()!==m.getTime())t.scheduledDate=P(m,"yyyy-MM-dd"),u.start.isCertain("hour")&&(t.scheduledTime=P(m,"HH:mm")),t.dueDate=P(f,"yyyy-MM-dd"),(s=u.end)!=null&&s.isCertain("hour")&&(t.dueTime=P(f,"HH:mm"));else if(Kn(m)){let y=P(m,"yyyy-MM-dd"),k=u.start.isCertain("hour")?P(m,"HH:mm"):void 0;h&&!g?(t.dueDate=y,t.dueTime=k):g&&!h||this.defaultToScheduled?(t.scheduledDate=y,t.scheduledTime=k):(t.dueDate=y,t.dueTime=k)}n=n.replace(p,"").trim(),n=this.cleanupWhitespace(n)}catch(a){console.debug("Error in unified date parsing:",a)}return n}parseChronoFromPosition(e){try{let n=this.getChronoParser().parse(e,new Date,{forwardDate:!0});if(n.length>0){let i=n[0];if(i.index<=3){let s=i.start.date();if(Kn(s)){let a={success:!0,date:P(s,"yyyy-MM-dd"),matchedText:i.text,startIndex:i.index};return i.start.isCertain("hour")&&(a.time=P(s,"HH:mm")),a}}}}catch(t){console.debug("Error parsing date with chrono:",t)}return{success:!1}}getChronoMatchOffset(e,t){var s;let n=(s=t.startIndex)!=null?s:0;if(!t.matchedText)return n;let i=e.indexOf(t.matchedText);return i!==-1?i:n}buildRecurrencePatterns(){let e=this.languageConfig.recurrence,t=[],{boundary:n,endBoundary:i}=this.boundaries,s=a=>a.map(o=>this.escapeRegex(o)).join("|");return t.push(...this.buildOrdinalWeekdayPatterns(e,n,i,s)),t.push(...this.buildIntervalPatterns(e,n,i,s)),t.push(...this.buildEveryOtherPatterns(e,n,i,s)),t.push(...this.buildWeekdayPatterns(e,n,i,s)),t.push(...this.buildFrequencyPatterns(e,n,i,s)),t}buildOrdinalWeekdayPatterns(e,t,n,i){let s=i(e.every),a=i([...e.ordinals.first,...e.ordinals.second,...e.ordinals.third,...e.ordinals.fourth,...e.ordinals.last]),o=i([...e.weekdays.monday,...e.weekdays.tuesday,...e.weekdays.wednesday,...e.weekdays.thursday,...e.weekdays.friday,...e.weekdays.saturday,...e.weekdays.sunday]);return[{regex:new RegExp(`${t}(${s})\\s+(${a})\\s+(${o})${n}`,"i"),handler:l=>{let c=l[2].toLowerCase(),d=l[3].toLowerCase(),u=1;return e.ordinals.second.some(m=>m.toLowerCase()===c)?u=2:e.ordinals.third.some(m=>m.toLowerCase()===c)?u=3:e.ordinals.fourth.some(m=>m.toLowerCase()===c)?u=4:e.ordinals.last.some(m=>m.toLowerCase()===c)&&(u=-1),`FREQ=MONTHLY;BYDAY=${this.getWeekdayRRuleCode(d,e)};BYSETPOS=${u}`}}]}buildIntervalPatterns(e,t,n,i){let s=i(e.every),a=i([...e.periods.day,...e.periods.week,...e.periods.month,...e.periods.year]);return[{regex:new RegExp(`${t}(${s})\\s+(\\d+)\\s+(${a})${n}`,"i"),handler:o=>{let l=parseInt(o[2]),c=o[3].toLowerCase();return`FREQ=${this.getPeriodFrequency(c,e)};INTERVAL=${l}`}}]}buildEveryOtherPatterns(e,t,n,i){let s=i(e.every),a=i(e.other),o=i([...e.periods.day,...e.periods.week,...e.periods.month,...e.periods.year]);return[{regex:new RegExp(`${t}(${s})\\s+(${a})\\s+(${o})${n}`,"i"),handler:l=>{let c=l[3].toLowerCase();return`FREQ=${this.getPeriodFrequency(c,e)};INTERVAL=2`}}]}buildWeekdayPatterns(e,t,n,i){let s=i(e.every),a=i([...e.weekdays.monday,...e.weekdays.tuesday,...e.weekdays.wednesday,...e.weekdays.thursday,...e.weekdays.friday,...e.weekdays.saturday,...e.weekdays.sunday]),o=i([...e.pluralWeekdays.monday,...e.pluralWeekdays.tuesday,...e.pluralWeekdays.wednesday,...e.pluralWeekdays.thursday,...e.pluralWeekdays.friday,...e.pluralWeekdays.saturday,...e.pluralWeekdays.sunday]);return[{regex:new RegExp(`${t}(${s})\\s+(${a})${n}`,"i"),handler:l=>{let c=l[2].toLowerCase();return`FREQ=WEEKLY;BYDAY=${this.getWeekdayRRuleCode(c,e)}`}},{regex:new RegExp(`${t}(${o})${n}`,"i"),handler:l=>{let c=l[1].toLowerCase();return`FREQ=WEEKLY;BYDAY=${this.getPluralWeekdayRRuleCode(c,e)}`}}]}buildFrequencyPatterns(e,t,n,i){return[{regex:new RegExp(`${t}(${i(e.frequencies.daily)})${n}`,"i"),handler:()=>"FREQ=DAILY"},{regex:new RegExp(`${t}(${i(e.frequencies.weekly)})${n}`,"i"),handler:()=>"FREQ=WEEKLY"},{regex:new RegExp(`${t}(${i(e.frequencies.monthly)})${n}`,"i"),handler:()=>"FREQ=MONTHLY"},{regex:new RegExp(`${t}(${i(e.frequencies.yearly)})${n}`,"i"),handler:()=>"FREQ=YEARLY"}]}getPeriodFrequency(e,t){return t.periods.week.some(n=>n.toLowerCase()===e)?"WEEKLY":t.periods.month.some(n=>n.toLowerCase()===e)?"MONTHLY":t.periods.year.some(n=>n.toLowerCase()===e)?"YEARLY":"DAILY"}getWeekdayRRuleCode(e,t){return t.weekdays.tuesday.some(n=>n.toLowerCase()===e)?"TU":t.weekdays.wednesday.some(n=>n.toLowerCase()===e)?"WE":t.weekdays.thursday.some(n=>n.toLowerCase()===e)?"TH":t.weekdays.friday.some(n=>n.toLowerCase()===e)?"FR":t.weekdays.saturday.some(n=>n.toLowerCase()===e)?"SA":t.weekdays.sunday.some(n=>n.toLowerCase()===e)?"SU":"MO"}getPluralWeekdayRRuleCode(e,t){return t.pluralWeekdays.tuesday.some(n=>n.toLowerCase()===e)?"TU":t.pluralWeekdays.wednesday.some(n=>n.toLowerCase()===e)?"WE":t.pluralWeekdays.thursday.some(n=>n.toLowerCase()===e)?"TH":t.pluralWeekdays.friday.some(n=>n.toLowerCase()===e)?"FR":t.pluralWeekdays.saturday.some(n=>n.toLowerCase()===e)?"SA":t.pluralWeekdays.sunday.some(n=>n.toLowerCase()===e)?"SU":"MO"}extractRecurrence(e,t){for(let n of this.recurrencePatterns){let i=e.match(n.regex);if(i){let s=n.handler(i);if(this.isValidRRuleString(s))return t.recurrence=s,this.cleanupWhitespace(e.replace(n.regex,""))}}return e}isValidRRuleString(e){if(e.includes("BYDAY=undefined")||e.includes("BYDAY=;")||e.includes("BYDAY=")){let t=e.match(/BYDAY=([^;]*)/);if(t&&(!t[1]||t[1]==="undefined"||t[1].trim()===""))return!1}return!!e.includes("FREQ=")}extractTimeEstimate(e,t){let n=this.languageConfig.timeEstimate,{boundary:i,endBoundary:s}=this.boundaries,a=[{regex:new RegExp(`${i}(\\d+)(${n.hours.map(c=>this.escapeRegex(c)).join("|")})\\s*(\\d+)(${n.minutes.map(c=>this.escapeRegex(c)).join("|")})${s}`,"i"),handler:c=>parseInt(c[1])*60+parseInt(c[3])},{regex:new RegExp(`${i}(\\d+)\\s*(${n.hours.map(c=>this.escapeRegex(c)).join("|")})${s}`,"i"),handler:c=>parseInt(c[1])*60},{regex:new RegExp(`${i}(\\d+)\\s*(${n.minutes.map(c=>this.escapeRegex(c)).join("|")})${s}`,"i"),handler:c=>parseInt(c[1])}],o=e,l=0;for(let c of a){let d=o.match(c.regex);d&&(l+=c.handler(d),o=this.cleanupWhitespace(o.replace(c.regex,"")))}return l>0&&(t.estimate=l),o}validateAndCleanupResult(e){return e.title.trim()||(e.title="Untitled Task"),e.tags=[...new Set(e.tags.filter(Boolean))],e.contexts=[...new Set(e.contexts.filter(Boolean))],e.projects=[...new Set(e.projects.filter(Boolean))],e.dueDate&&!this.isValidDateString(e.dueDate)&&delete e.dueDate,e.scheduledDate&&!this.isValidDateString(e.scheduledDate)&&delete e.scheduledDate,e.dueTime&&!this.isValidTimeString(e.dueTime)&&delete e.dueTime,e.scheduledTime&&!this.isValidTimeString(e.scheduledTime)&&delete e.scheduledTime,e}getPreviewData(e){let t=[];if(e.title&&t.push({icon:"edit-3",text:`"${e.title}"`}),e.details&&t.push({icon:"file-text",text:`Details: "${e.details.substring(0,50)}${e.details.length>50?"...":""}"`}),e.dueDate){let n=e.dueTime?`${e.dueDate} at ${e.dueTime}`:e.dueDate;t.push({icon:"calendar",text:`Due: ${n}`})}if(e.scheduledDate){let n=e.scheduledTime?`${e.scheduledDate} at ${e.scheduledTime}`:e.scheduledDate;t.push({icon:"calendar-clock",text:`Scheduled: ${n}`})}if(e.priority&&t.push({icon:"alert-triangle",text:`Priority: ${e.priority}`}),e.status&&t.push({icon:"activity",text:`Status: ${e.status}`}),e.contexts&&e.contexts.length>0&&t.push({icon:"map-pin",text:`Contexts: ${e.contexts.map(n=>"@"+n).join(", ")}`}),e.projects&&e.projects.length>0){let n=e.projects.map(i=>`+${i}`).join(", ");t.push({icon:"folder",text:`Projects: ${n}`})}if(e.tags&&e.tags.length>0&&t.push({icon:"tag",text:`Tags: ${e.tags.map(n=>"#"+n).join(", ")}`}),e.recurrence){let n="Invalid recurrence";try{e.recurrence.includes("FREQ=")&&this.isValidRRuleString(e.recurrence)&&(n=dqe.fromString(e.recurrence).toText())}catch(i){console.debug("Error parsing rrule for preview:",i)}t.push({icon:"repeat",text:`Recurrence: ${n}`})}if(e.estimate&&t.push({icon:"clock",text:`Estimate: ${e.estimate} min`}),e.userFields&&Object.keys(e.userFields).length>0)for(let[n,i]of Object.entries(e.userFields)){let s=this.triggerConfig.getUserField(n),a=(s==null?void 0:s.displayName)||n,o;Array.isArray(i)?o=i.join(", "):o=i,t.push({icon:"box",text:`${a}: ${o}`})}return t}getPreviewText(e){return this.getPreviewData(e).map(t=>t.text).join(" \u2022 ")}getStatusSuggestions(e,t=10){let n=e.toLowerCase();return this.statusConfigs.filter(i=>i&&typeof i.value=="string"&&typeof i.label=="string").filter(i=>i.value.trim()!==""&&i.label.trim()!=="").filter(i=>i.value.toLowerCase().includes(n)||i.label.toLowerCase().includes(n)).slice(0,t).map(i=>({value:i.value,label:i.label,display:i.label}))}}});var pce=v(()=>{Fne();d1();u1();p1();uce()});var Oi,Ru=v(()=>{pce();Oi=class r extends BC{static fromPlugin(e){let t=e.settings;return new r(t.customStatuses,t.customPriorities,t.nlpDefaultToScheduled,t.nlpLanguage,t.nlpTriggers,t.userFields)}constructor(e=[],t=[],n=!0,i="en",s,a){super(e,t,n,i,s,a),this.taskNotesNlpTriggers=s,this.taskNotesUserFields=a||[]}parseInput(e){let t=super.parseInput(e);return this.extractLinkedUserFields(e,t)}extractLinkedUserFields(e,t){var s;let n=((s=this.taskNotesNlpTriggers)==null?void 0:s.triggers)||[];if(n.length===0||this.taskNotesUserFields.length===0)return t;let i=t.title;for(let a of n){if(!a.enabled)continue;let o=this.taskNotesUserFields.find(p=>p.id===a.propertyId);if(!o)continue;let l=this.escapeRegexLiteral(a.trigger),c=new RegExp(`${l}(\\[\\[[^\\]]+\\]\\]|\\[[^\\]]+\\]\\([^\\)]+\\))`,"gu"),d=Array.from(e.matchAll(c));if(d.length===0)continue;let u=d.map(p=>p[1]).filter(p=>typeof p=="string"&&p.length>0);if(u.length!==0){if(t.userFields||(t.userFields={}),o.type==="list"){let p=t.userFields[o.id],m=Array.isArray(p)?p:typeof p=="string"?[p]:[];t.userFields[o.id]=[...m,...u]}else t.userFields[o.id]=u[u.length-1];i=i.replace(c,"").replace(/\s+/g," ").trim()}}return t.title=i,t}escapeRegexLiteral(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}}});var mce={};et(mce,{CalendarExportService:()=>Ol});var nf,Ol,qC=v(()=>{Tn();nf=require("obsidian"),Ol=class{static generateCalendarURL(e){let{type:t,task:n,useScheduledAsDue:i=!0}=e;switch(t){case"google":return this.generateGoogleCalendarURL(n,i);case"outlook":return this.generateOutlookCalendarURL(n,i);case"yahoo":return this.generateYahooCalendarURL(n,i);case"ics":return this.generateICSDownloadURL(n);default:throw new Error("Unsupported calendar type")}}static openCalendarURL(e,t){try{let n=this.generateCalendarURL(e);window.open(n,"_blank")}catch(n){console.error("Failed to generate calendar URL:",n),new nf.Notice(t?t("services.calendarExport.notices.generateLinkFailed"):"Failed to generate calendar link")}}static generateGoogleCalendarURL(e,t){let n="https://calendar.google.com/calendar/render",i=new URLSearchParams;i.append("action","TEMPLATE"),i.append("text",e.title);let s=this.formatGoogleDates(e,t);s&&i.append("dates",s);let a=this.buildDescription(e);return a&&i.append("details",a),e.contexts&&e.contexts.length>0&&i.append("location",e.contexts.join(", ")),`${n}?${i.toString()}`}static generateOutlookCalendarURL(e,t){let n="https://outlook.live.com/calendar/0/deeplink/compose",i=new URLSearchParams;i.append("subject",e.title);let{startISO:s,endISO:a}=this.getTaskDateRange(e,t);s&&i.append("startdt",s),a&&i.append("enddt",a);let o=this.buildDescription(e);return o&&i.append("body",o),e.contexts&&e.contexts.length>0&&i.append("location",e.contexts.join(", ")),i.append("path","/calendar/action/compose"),i.append("rru","addevent"),`${n}?${i.toString()}`}static generateYahooCalendarURL(e,t){let n="https://calendar.yahoo.com/",i=new URLSearchParams;i.append("v","60"),i.append("title",e.title);let{startYahoo:s,endYahoo:a}=this.getYahooDateFormat(e,t);s&&i.append("st",s),a&&i.append("et",a);let o=this.buildDescription(e);return o&&i.append("desc",o),e.contexts&&e.contexts.length>0&&i.append("in_loc",e.contexts.join(", ")),`${n}?${i.toString()}`}static generateICSDownloadURL(e){let t=this.generateICSContent(e);return`data:text/calendar;charset=utf8,${encodeURIComponent(t)}`}static generateICSContent(e,t){let n=`${e.path.replace(/[^a-zA-Z0-9]/g,"-")}-${Date.now()}@tasknotes`,i=new Date().toISOString().replace(/[-:]/g,"").replace(/\.\d{3}/,""),s=["BEGIN:VCALENDAR","VERSION:2.0","PRODID:-//TaskNotes//Task Export//EN","CALSCALE:GREGORIAN","METHOD:PUBLISH","BEGIN:VEVENT",`UID:${n}`,`DTSTAMP:${i}`];s.push(`SUMMARY:${this.escapeICSText(e.title)}`);let{startLine:a,endLine:o}=this.getICSDateProperties(e,!0,t);a&&s.push(a),o&&s.push(o);let l=this.buildDescription(e);if(l&&s.push(`DESCRIPTION:${this.escapeICSText(l)}`),e.contexts&&e.contexts.length>0&&s.push(`LOCATION:${this.escapeICSText(e.contexts.join(", "))}`),e.tags&&e.tags.length>0&&s.push(`CATEGORIES:${e.tags.map(c=>this.escapeICSText(c)).join(",")}`),e.priority){let d={highest:"1",high:"3",medium:"5",low:"7",lowest:"9"}[e.priority]||"5";s.push(`PRIORITY:${d}`)}if(e.status){let d={done:"COMPLETED","in-progress":"IN-PROCESS",todo:"NEEDS-ACTION",cancelled:"CANCELLED"}[e.status]||"NEEDS-ACTION";s.push(`STATUS:${d}`)}return s.push("END:VEVENT"),s.push("END:VCALENDAR"),s.join(`\r
`)}static buildDescription(e){let t=[],n=[];return e.priority&&n.push(`Priority: ${e.priority}`),e.status&&n.push(`Status: ${e.status}`),e.projects&&e.projects.length>0&&n.push(`Projects: ${e.projects.join(", ")}`),e.tags&&e.tags.length>0&&n.push(`Tags: ${e.tags.join(", ")}`),e.contexts&&e.contexts.length>0&&n.push(`Contexts: ${e.contexts.join(", ")}`),e.timeEstimate&&n.push(`Estimated time: ${e.timeEstimate} minutes`),n.length>0&&t.push(...n),t.length>0&&t.push(""),t.push(`Exported from TaskNotes: ${e.path}`),t.join(`
`)}static formatGoogleDates(e,t){let{startICS:n,endICS:i}=this.getICSDateFormat(e,t);if(!n)return null;if(i)return`${n}/${i}`;let s=this.parseICSDate(n),a=new Date(s.getTime()+3600*1e3),o=this.formatDateToICS(a);return`${n}/${o}`}static getTaskDateRange(e,t,n){let i=null,s=null;if(e.scheduled)try{i=this.parseTaskDate(e.scheduled).toISOString()}catch(a){console.warn("Invalid scheduled date:",e.scheduled)}if(n!=null&&n.useDurationForExport&&i&&e.timeEstimate&&e.timeEstimate>0){let a=new Date(i);s=new Date(a.getTime()+e.timeEstimate*60*1e3).toISOString()}else if(e.due)try{s=this.parseTaskDate(e.due).toISOString()}catch(a){console.warn("Invalid due date:",e.due)}else if(t&&i){let a=new Date(i);s=new Date(a.getTime()+3600*1e3).toISOString()}return{startISO:i,endISO:s}}static getYahooDateFormat(e,t){let{startISO:n,endISO:i}=this.getTaskDateRange(e,t),s=a=>{let o=new Date(a);return P(o,"yyyyMMdd'T'HHmmss")};return{startYahoo:n?s(n):null,endYahoo:i?s(i):null}}static getICSDateFormat(e,t=!0,n){let{startISO:i,endISO:s}=this.getTaskDateRange(e,t,n),a=o=>{let l=new Date(o);return this.formatDateToICS(l)};return{startICS:i?a(i):null,endICS:s?a(s):null}}static getICSDateProperties(e,t=!0,n){if(e.scheduled&&!this.hasTimeComponent(e.scheduled)){let a=e.scheduled,o=this.getAllDayEndDate(e,t,n)||a;return{startLine:`DTSTART;VALUE=DATE:${this.formatDateOnlyToICS(a)}`,endLine:`DTEND;VALUE=DATE:${this.formatDateOnlyToICS(o)}`}}let{startICS:i,endICS:s}=this.getICSDateFormat(e,t,n);return{startLine:i?`DTSTART:${i}`:null,endLine:s?`DTEND:${s}`:null}}static formatDateToICS(e){return e.toISOString().replace(/[-:]/g,"").replace(/\.\d{3}/,"")}static parseICSDate(e){let t=e.slice(0,4),n=e.slice(4,6),i=e.slice(6,8),s=e.slice(9,11),a=e.slice(11,13),o=e.slice(13,15);return new Date(`${t}-${n}-${i}T${s}:${a}:${o}Z`)}static parseTaskDate(e){let t=e.trim().replace(" ","T");return this.hasTimeComponent(t)?ia(t):ia(`${t}T00:00:00`)}static hasTimeComponent(e){return/\d{4}-\d{2}-\d{2}[T\s]\d{2}:\d{2}/.test(e)}static formatDateOnlyToICS(e){return e.split(/[T\s]/)[0].replace(/-/g,"")}static getAllDayEndDate(e,t,n){if(!e.scheduled)return null;let i=e.scheduled;if(n!=null&&n.useDurationForExport&&e.timeEstimate&&e.timeEstimate>0){let s=Math.max(1,Math.ceil(e.timeEstimate/1440));return this.addDaysToDateString(e.scheduled,s)}if(e.due)i=e.due;else if(!t)return null;return this.addDaysToDateString(i,1)}static addDaysToDateString(e,t){let n=ia(`${e.split(/[T\s]/)[0]}T00:00:00`);return n.setDate(n.getDate()+t),P(n,"yyyy-MM-dd")}static escapeICSText(e){return e.replace(/\\/g,"\\\\").replace(/;/g,"\\;").replace(/,/g,"\\,").replace(/\n/g,"\\n").replace(/\r/g,"")}static foldICSLines(e){let t=e.split(`\r
`),n=[];return t.forEach(i=>{if(i.length<=75)n.push(i);else{let s=i;for(;s.length>75;)n.push(s.substring(0,75)),s=" "+s.substring(75);s.length>0&&n.push(s)}}),n.join(`\r
`)}static generateMultipleTasksICSContent(e,t){let n=new Date().toISOString().replace(/[-:]/g,"").replace(/\.\d{3}/,""),i=["BEGIN:VCALENDAR","VERSION:2.0","PRODID:-//TaskNotes//EN","CALSCALE:GREGORIAN"];return e.forEach((s,a)=>{let o=`${s.path.replace(/[^a-zA-Z0-9]/g,"-")}-${a}-${Date.now()}@tasknotes`;i.push("BEGIN:VEVENT"),i.push(`UID:${o}`),i.push(`DTSTAMP:${n}`),i.push(`SUMMARY:${this.escapeICSText(s.title)}`);let{startLine:l,endLine:c}=this.getICSDateProperties(s,!0,t);if(l){if(!c){let u=l.split(":",2)[1];if(l.includes("VALUE=DATE")){let p=ia(`${u.slice(0,4)}-${u.slice(4,6)}-${u.slice(6,8)}T00:00:00`);p.setDate(p.getDate()+1),c=`DTEND;VALUE=DATE:${P(p,"yyyyMMdd")}`}else{let p=this.parseICSDate(u),m=new Date(p.getTime()+3600*1e3);c=`DTEND:${this.formatDateToICS(m)}`}}}else{let u;if(s.dateCreated?u=new Date(s.dateCreated):u=new Date,l=`DTSTART:${this.formatDateToICS(u)}`,!c){let m=new Date(u.getTime()+36e5);c=`DTEND:${this.formatDateToICS(m)}`}}i.push(l),i.push(c);let d=this.buildDescription(s);if(d&&i.push(`DESCRIPTION:${this.escapeICSText(d)}`),s.contexts&&s.contexts.length>0&&i.push(`LOCATION:${this.escapeICSText(s.contexts.join(", "))}`),s.tags&&s.tags.length>0&&i.push(`CATEGORIES:${s.tags.map(u=>this.escapeICSText(u)).join(",")}`),s.priority){let p={highest:"1",high:"3",medium:"5",low:"7",lowest:"9"}[s.priority]||"5";i.push(`PRIORITY:${p}`)}if(s.status){let p={done:"COMPLETED","in-progress":"IN-PROCESS",todo:"NEEDS-ACTION",cancelled:"CANCELLED"}[s.status]||"NEEDS-ACTION";i.push(`STATUS:${p}`)}i.push("END:VEVENT")}),i.push("END:VCALENDAR"),this.foldICSLines(i.join(`\r
`))}static downloadAllTasksICSFile(e,t,n){try{if(!e||e.length===0){new nf.Notice(t?t("services.calendarExport.notices.noTasksToExport"):"No tasks found to export");return}let i=this.generateMultipleTasksICSContent(e,n),s=new Blob([i],{type:"text/calendar"}),a=URL.createObjectURL(s),l=`tasknotes-all-tasks-${new Date().toISOString().split("T")[0]}.ics`,c=activeDocument.createElement("a");c.href=a,c.download=l,c.click(),URL.revokeObjectURL(a);let d=e.length===1?"":"s";new nf.Notice(t?t("services.calendarExport.notices.downloadSuccess",{filename:l,count:e.length,plural:d}):`Downloaded ${l} with ${e.length} task${d}`)}catch(i){console.error("Failed to download all tasks ICS file:",i),new nf.Notice(t?t("services.calendarExport.notices.downloadFailed"):"Failed to download calendar file")}}static downloadICSFile(e,t,n){try{let i=this.generateICSContent(e,n),s=new Blob([i],{type:"text/calendar"}),a=URL.createObjectURL(s),o=`${e.title.replace(/[^a-zA-Z0-9]/g,"-")}.ics`,l=activeDocument.createElement("a");l.href=a,l.download=o,l.click(),URL.revokeObjectURL(a),new nf.Notice(t?t("services.calendarExport.notices.singleDownloadSuccess",{filename:o}):`Downloaded ${o}`)}catch(i){console.error("Failed to download ICS file:",i),new nf.Notice(t?t("services.calendarExport.notices.downloadFailed"):"Failed to download calendar file")}}}});async function Li(r,e){return new Aw(r,e).show()}var HC,Aw,md=v(()=>{HC=require("obsidian"),Aw=class extends HC.Modal{constructor(e,t){super(e),this.options={confirmText:"Confirm",cancelText:"Cancel",isDestructive:!1,...t}}show(){return new Promise(e=>{this.resolve=e,this.open()})}onOpen(){let{contentEl:e}=this;e.empty(),new HC.Setting(e).setName(this.options.title).setHeading(),e.createEl("p",{text:this.options.message});let t=e.createEl("div",{cls:"modal-button-container"});t.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),t.classList.add("tn-static-display-flex-75816cae"),t.classList.remove("tn-static-display-flex-8bb39979","tn-static-gap-0-5rem-ce2fca4d","tn-static-gap-12px-ed7b3d87","tn-static-gap-6px-f0abc1db","tn-static-gap-8px-33fcd4c3"),t.classList.add("tn-static-gap-10px-f3d7ce77"),t.classList.remove("tn-static-justify-content-center-03c4bb6f","tn-static-justify-content-space-between-a562f4fd"),t.classList.add("tn-static-justify-content-flex-end-455f8cca"),t.classList.remove("tn-static-font-size-12px-b0cc7e05","tn-static-margin-top-0-5rem-3dc98b5e","tn-static-margin-top-0-d462248a","tn-static-margin-top-12px-91e0f558","tn-static-margin-top-16px-1b0f4999","tn-static-margin-top-1rem-2239d6d5","tn-static-margin-top-30px-2fbbbcd4","tn-static-margin-top-4px-96ad6099","tn-static-margin-top-8px-8a77e5a3","tn-static-margin-top-8px-f4f01e68"),t.classList.add("tn-static-margin-top-20px-a26bda7d");let n=null;this.options.thirdButtonText&&(n=t.createEl("button",{text:this.options.thirdButtonText}),n.addEventListener("click",()=>{this.options.onThirdButton&&this.options.onThirdButton(),this.close()}));let i=t.createEl("button",{text:this.options.cancelText});i.addEventListener("click",()=>{this.resolve(!1),this.close()});let s=t.createEl("button",{text:this.options.confirmText,cls:this.options.isDestructive?"mod-warning":"mod-cta"});this.options.isDestructive&&(s.classList.remove("tn-static-background-color-var-background-mo-94b219f0","tn-static-background-color-var-background-se-9087a23e","tn-static-background-color-var-color-base-40-ef5f175e","tn-static-background-color-var-text-accent-a954c70f"),s.classList.add("tn-static-background-color-var-color-red-134bc721"),s.classList.remove("tn-static-color-var-color-accent-d2cad743","tn-static-color-var-text-accent-65b47ee3","tn-static-color-var-text-muted-5872de20","tn-static-color-var-text-on-accent-f3e1679d","tn-static-color-var-text-warning-783d5f03","tn-static-color-var-tn-text-muted-a90fb6f3","tn-static-cursor-pointer-2723efcc","tn-static-font-size-12px-65574819","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-margin-2px-0-edce9b14","tn-static-padding-20px-7a035d95","tn-static-padding-20px-ebe8e48c"),s.classList.add("tn-static-color-white-0a43e56a")),s.addEventListener("click",()=>{this.resolve(!0),this.close()}),window.setTimeout(()=>{this.options.defaultToConfirm?s.focus():i.focus()},0)}onClose(){let{contentEl:e}=this;e.empty(),this.resolve&&this.resolve(!1)}}});async function fce(r,e){return new y$(r,e).show()}var Iw,y$,hce=v(()=>{Iw=require("obsidian"),y$=class extends Iw.Modal{constructor(e,t){super(e),this.options={confirmText:"Confirm",cancelText:"Cancel",...t}}show(){return new Promise(e=>{this.resolve=e,this.open()})}onOpen(){let{contentEl:e}=this;e.empty(),new Iw.Setting(e).setName(this.options.title).setHeading(),new Iw.Setting(e).addText(s=>{this.inputEl=s.inputEl,s.setPlaceholder(this.options.placeholder||"").setValue(this.options.initialValue||"").onChange(()=>{}),window.setTimeout(()=>{this.inputEl.focus(),this.inputEl.select()},100)});let t=e.createEl("div",{cls:"modal-button-container"});t.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),t.classList.add("tn-static-display-flex-75816cae"),t.classList.remove("tn-static-display-flex-8bb39979","tn-static-gap-0-5rem-ce2fca4d","tn-static-gap-12px-ed7b3d87","tn-static-gap-6px-f0abc1db","tn-static-gap-8px-33fcd4c3"),t.classList.add("tn-static-gap-10px-f3d7ce77"),t.classList.remove("tn-static-justify-content-center-03c4bb6f","tn-static-justify-content-space-between-a562f4fd"),t.classList.add("tn-static-justify-content-flex-end-455f8cca"),t.classList.remove("tn-static-font-size-12px-b0cc7e05","tn-static-margin-top-0-5rem-3dc98b5e","tn-static-margin-top-0-d462248a","tn-static-margin-top-12px-91e0f558","tn-static-margin-top-16px-1b0f4999","tn-static-margin-top-1rem-2239d6d5","tn-static-margin-top-30px-2fbbbcd4","tn-static-margin-top-4px-96ad6099","tn-static-margin-top-8px-8a77e5a3","tn-static-margin-top-8px-f4f01e68"),t.classList.add("tn-static-margin-top-20px-a26bda7d");let n=t.createEl("button",{text:this.options.cancelText});n.addEventListener("click",()=>{this.resolve(null),this.close()});let i=t.createEl("button",{text:this.options.confirmText,cls:"mod-cta"});i.addEventListener("click",()=>{let s=this.inputEl.value.trim();this.resolve(s||null),this.close()}),this.inputEl.addEventListener("keydown",s=>{s.key==="Enter"?(s.preventDefault(),i.click()):s.key==="Escape"&&(s.preventDefault(),n.click())})}onClose(){let{contentEl:e}=this;e.empty(),this.resolve&&this.resolve(null)}}});function gce(r){let e=String(r.getHours()).padStart(2,"0"),t=String(r.getMinutes()).padStart(2,"0");return`${e}:${t}`}function yce(r,e){let t=null;if(r.scheduled)try{t=Mr(r.scheduled)}catch(s){t=null}(!t||isNaN(t.getTime()))&&(t=new Date(e)),isNaN(t.getTime())&&(t=new Date),(!r.scheduled||!$r(r.scheduled))&&t.setHours(9,0,0,0);let n=r.timeEstimate&&r.timeEstimate>0?r.timeEstimate:60,i=new Date(t.getTime()+n*60*1e3);return{date:ue(t),startTime:gce(t),endTime:gce(i)}}var vce=v(()=>{Qe()});function Ou(r,e,t){new v$(r.app,r,{placeholder:t==null?void 0:t.placeholder,title:t==null?void 0:t.title,filter:t==null?void 0:t.filter,newFileFolder:t==null?void 0:t.newFileFolder,sortOrder:t==null?void 0:t.sortOrder,onResult:i=>{i.type==="selected"||i.type==="created"?e(i.file):e(null)}}).open()}var ri,v$,Nw=v(()=>{ri=require("obsidian"),v$=class extends ri.SuggestModal{constructor(t,n,i){super(t);this.currentQuery="";this.resultHandled=!1;this.createFooterEl=null;this.handleInputChange=()=>{this.currentQuery=this.inputEl.value.trim(),this.updateCreateFooter()};this.plugin=n,this.options=i,this.setPlaceholder(i.placeholder||"Search files or type to create new..."),this.setInstructions([{command:"\u2191\u2193",purpose:"to navigate"},{command:"\u21B5",purpose:"to select"},{command:"\u21E7\u21B5",purpose:"to create new"},{command:"esc",purpose:"to cancel"}]),i.title&&this.titleEl.setText(i.title),this.containerEl.addClass("file-selector-modal"),this.containerEl.addClass("tasknotes-plugin")}onOpen(){super.onOpen(),this.scope.register(["Shift"],"Enter",t=>(t.preventDefault(),t.stopPropagation(),this.createNewFile(),!1)),this.inputEl.addEventListener("input",this.handleInputChange),window.setTimeout(()=>this.createFooter(),0)}createFooter(){var n;let t=this.modalEl.querySelector(".prompt");t&&(this.createFooterEl=((n=t.parentElement)==null?void 0:n.createDiv({cls:"file-selector-create-footer"}))||null,this.createFooterEl&&(this.createFooterEl.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-min-height-800px-997b4c8c"),this.createFooterEl.classList.add("tn-static-display-none-6b99de8b")))}updateCreateFooter(){if(!this.createFooterEl)return;if(!this.currentQuery){this.createFooterEl.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-min-height-800px-997b4c8c"),this.createFooterEl.classList.add("tn-static-display-none-6b99de8b");return}this.createFooterEl.empty(),this.createFooterEl.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),this.createFooterEl.classList.add("tn-static-display-flex-75816cae");let n=this.createFooterEl.createDiv({cls:"file-selector-create-footer__content"}).createDiv({cls:"file-selector-create-footer__title-line"});n.createSpan({cls:"file-selector-create-footer__shortcut",text:"\u21E7\u21B5"}),n.createSpan({cls:"file-selector-create-footer__hint-text",text:" to create: "}),n.createSpan({cls:"file-selector-create-footer__filename",text:this.getNewFileName()})}getNewFileName(){let t=this.currentQuery;return t.toLowerCase().endsWith(".md")&&(t=t.slice(0,-3)),t+".md"}async createNewFile(){if(!this.currentQuery){new ri.Notice("Please enter a file name");return}try{let t=this.currentQuery;t.toLowerCase().endsWith(".md")&&(t=t.slice(0,-3));let n=this.options.newFileFolder||"",i=n?`${n}/${t}.md`:`${t}.md`;if(this.app.vault.getAbstractFileByPath(i)){new ri.Notice(`File "${i}" already exists`);return}n&&!await this.app.vault.adapter.exists(n)&&await this.app.vault.createFolder(n);let a=await this.app.vault.create(i,"");this.resultHandled=!0,this.close(),this.options.onResult({type:"created",file:a})}catch(t){console.error("Error creating file:",t),new ri.Notice("Failed to create file")}}getSuggestions(t){this.currentQuery=t.trim(),this.updateCreateFooter();let n=this.app.vault.getAllLoadedFiles(),i=t.toLowerCase(),s,a=this.options.filter||"markdown";typeof a=="function"?s=n.filter(a):a==="markdown"?s=n.filter(c=>c instanceof ri.TFile&&c.extension==="md"&&!c.path.includes(".trash")):s=n.filter(c=>c instanceof ri.TFile&&!c.path.includes(".trash"));let o=this.options.sortOrder||"name-asc",l=[...s].sort((c,d)=>{let u=c instanceof ri.TFile?c.stat.ctime:0,p=d instanceof ri.TFile?d.stat.ctime:0,m=c instanceof ri.TFile?c.stat.mtime:0,f=d instanceof ri.TFile?d.stat.mtime:0;switch(o){case"name-desc":return d.name.localeCompare(c.name);case"path-asc":return c.path.localeCompare(d.path);case"path-desc":return d.path.localeCompare(c.path);case"created-recent":return p-u;case"created-oldest":return u-p;case"modified-recent":return f-m;case"modified-oldest":return m-f;case"name-asc":default:return c.name.localeCompare(d.name)}});return t?l.filter(c=>this.getSearchText(c).toLowerCase().includes(i)).slice(0,50):l.slice(0,50)}getSearchText(t){let n=`${t.name} ${t.path}`;if(t instanceof ri.TFile){let i=this.app.metadataCache.getFileCache(t);if(i!=null&&i.frontmatter){let s=this.plugin.fieldMapper.toUserField("title"),a=i.frontmatter[s];a&&(n+=` ${a}`);let o=(0,ri.parseFrontMatterAliases)(i.frontmatter);o&&o.length>0&&(n+=` ${o.join(" ")}`)}}return n}renderSuggestion(t,n){let i=n.createDiv({cls:"file-selector-suggestion"});if(i.createDiv({cls:"file-selector-suggestion__name",text:t.name}),t instanceof ri.TFile){let s=this.app.metadataCache.getFileCache(t);if(s!=null&&s.frontmatter){let a=this.plugin.fieldMapper.toUserField("title"),o=s.frontmatter[a];if(o)i.createDiv({cls:"file-selector-suggestion__title",text:o});else{let l=(0,ri.parseFrontMatterAliases)(s.frontmatter);l&&l.length>0&&i.createDiv({cls:"file-selector-suggestion__aliases",text:l.join(", ")})}}}t.parent&&t.parent.path!=="/"&&i.createDiv({cls:"file-selector-suggestion__path",text:t.parent.path})}onChooseSuggestion(t,n){this.resultHandled=!0,this.options.onResult({type:"selected",file:t})}onClose(){this.inputEl.removeEventListener("input",this.handleInputChange),this.createFooterEl&&(this.createFooterEl.remove(),this.createFooterEl=null),window.setTimeout(()=>{this.resultHandled||this.options.onResult({type:"cancelled"})},0),super.onClose()}}});function uqe(r){return(0,cr.moment)(r)}var cr,Lu,ty,b$=v(()=>{cr=require("obsidian");Cr();Nw();Wo();Qe();Lu=Ke(Hc());ty=class extends cr.Modal{constructor(t,n,i){super(t);this.selectedAttachments=[];this.keyboardHandler=null;this.plugin=n,this.options=i,this.translate=n.i18n.translate.bind(n.i18n)}onOpen(){let{contentEl:t}=this;t.empty(),t.addClass("timeblock-creation-modal"),this.keyboardHandler=c=>{c.key==="Enter"&&(c.ctrlKey||c.metaKey)&&(c.preventDefault(),this.handleSubmit())},this.containerEl.addEventListener("keydown",this.keyboardHandler),new cr.Setting(t).setName(this.translate("modals.timeblockCreation.heading")).setHeading();let n=t.createDiv({cls:"timeblock-date-display"});n.createEl("strong",{text:this.translate("modals.timeblockCreation.dateLabel")});let i=wm(this.options.date);n.createSpan({text:i.toLocaleDateString()}),new cr.Setting(t).setName(this.translate("modals.timeblockCreation.titleLabel")).setDesc(this.translate("modals.timeblockCreation.titleDesc")).addText(c=>{this.titleInput=c.inputEl,c.setPlaceholder(this.translate("modals.timeblockCreation.titlePlaceholder")).setValue(this.options.prefilledTitle||"").onChange(()=>this.validateForm()),window.setTimeout(()=>this.titleInput.focus(),100)});let s=t.createDiv({cls:"timeblock-time-container"});new cr.Setting(s).setName(this.translate("modals.timeblockCreation.startTimeLabel")).setDesc(this.translate("modals.timeblockCreation.startTimeDesc")).addText(c=>{this.startTimeInput=c.inputEl,c.setPlaceholder(this.translate("modals.timeblockCreation.startTimePlaceholder")).setValue(this.options.startTime||"").onChange(()=>this.validateForm()),this.startTimeInput.type="time"}),new cr.Setting(s).setName(this.translate("modals.timeblockCreation.endTimeLabel")).setDesc(this.translate("modals.timeblockCreation.endTimeDesc")).addText(c=>{this.endTimeInput=c.inputEl,c.setPlaceholder(this.translate("modals.timeblockCreation.endTimePlaceholder")).setValue(this.options.endTime||"").onChange(()=>{this.endTimeInput.value==="00:00"&&(this.endTimeInput.value="23:59"),this.validateForm()}),this.endTimeInput.type="time"}),new cr.Setting(t).setName(this.translate("modals.timeblockCreation.descriptionLabel")).setDesc(this.translate("modals.timeblockCreation.descriptionDesc")).addTextArea(c=>{this.descriptionInput=c.inputEl,c.setPlaceholder(this.translate("modals.timeblockCreation.descriptionPlaceholder")).setValue(""),this.descriptionInput.rows=3}),new cr.Setting(t).setName(this.translate("modals.timeblockCreation.colorLabel")).setDesc(this.translate("modals.timeblockCreation.colorDesc")).addText(c=>{this.colorInput=c.inputEl,c.setPlaceholder(this.translate("modals.timeblockCreation.colorPlaceholder")).setValue(this.plugin.settings.calendarViewSettings.defaultTimeblockColor),this.colorInput.type="color"}),new cr.Setting(t).setName(this.translate("modals.timeblockCreation.attachmentsLabel")).setDesc(this.translate("modals.timeblockCreation.attachmentsDesc")).addButton(c=>{c.setButtonText(this.translate("modals.timeblockCreation.addAttachmentButton")).setTooltip(this.translate("modals.timeblockCreation.addAttachmentTooltip")).onClick(()=>{Ou(this.plugin,d=>{d instanceof cr.TAbstractFile&&this.addAttachment(d)},{placeholder:"Search files or type to create new...",filter:"all",sortOrder:this.plugin.settings.calendarViewSettings.timeblockAttachmentSearchOrder})})}).addButton(c=>{c.setButtonText("Add task").setTooltip("Select task").onClick(()=>{this.openTaskSelectorForTitle()})}),this.attachmentsList=t.createDiv({cls:"timeblock-attachments-list"}),this.initializePrefilledAttachments(),this.renderAttachmentsList();let a=t.createDiv({cls:"timeblock-modal-buttons"});a.createEl("button",{text:this.translate("common.cancel")}).addEventListener("click",()=>this.close()),a.createEl("button",{text:this.translate("modals.timeblockCreation.createButton"),cls:"mod-cta timeblock-create-button"}).addEventListener("click",()=>{this.handleSubmit()}),this.validateForm()}validateForm(){var o,l,c;let t=this.contentEl.querySelector(".timeblock-create-button");if(!t)return;let n=(o=this.titleInput)==null?void 0:o.value.trim(),i=(l=this.startTimeInput)==null?void 0:l.value,s=(c=this.endTimeInput)==null?void 0:c.value,a=!!(n&&i&&s);if(a&&i&&s){let[d,u]=i.split(":").map(Number),[p,m]=s.split(":").map(Number),f=d*60+u,h=p*60+m;h===0&&(h=1439),h<=f&&(a=!1)}t.disabled=!a,t.style.opacity=a?"1":"0.5"}initializePrefilledAttachments(){let t=this.options.prefilledAttachmentPaths||[];if(t.length===0)return;let n=new Set(t.filter(i=>typeof i=="string"&&i.trim().length>0));for(let i of n){let s=this.app.vault.getAbstractFileByPath(i);s&&this.selectedAttachments.push(s)}}async handleSubmit(){try{let t=this.titleInput.value.trim(),n=this.startTimeInput.value,i=this.endTimeInput.value,s=this.descriptionInput.value.trim(),a=this.colorInput.value;if(!t||!n||!i){new cr.Notice(this.translate("notices.timeblockRequiredFieldsMissing"));return}i==="00:00"&&(i="23:59");let o=this.selectedAttachments.map(c=>`[[${c.path}]]`),l={id:Ine(),title:t,startTime:n,endTime:i};s&&(l.description=s),a&&(l.color=a),o.length>0&&(l.attachments=o),await this.saveTimeblockToDailyNote(l),this.plugin.emitter.trigger("data-changed"),new cr.Notice(`Timeblock "${t}" created successfully`),this.close()}catch(t){console.error("Error creating timeblock:",t),new cr.Notice("Failed to create timeblock. Check console for details.")}}async saveTimeblockToDailyNote(t){if(!(0,Lu.appHasDailyNotesPluginLoaded)())throw new Error("Daily Notes plugin is not enabled");let n=uqe(this.options.date),i=(0,Lu.getAllDailyNotes)(),s=(0,Lu.getDailyNote)(n,i);if(!s){try{s=await(0,Lu.createDailyNote)(n)}catch(u){let p=u instanceof Error?u.message:String(u);throw new Error(`Failed to create daily note: ${p}. Please check your Daily Notes plugin configuration and ensure the daily notes folder exists.`)}if(!s)throw new Error("Failed to create daily note. Please check your Daily Notes plugin configuration and ensure the daily notes folder exists.")}let a=await this.app.vault.read(s),o={},l=a;if(a.startsWith("---")){let u=a.indexOf("---",3);if(u!==-1){let p=a.substring(3,u);l=a.substring(u+3);try{o=(0,cr.parseYaml)(p)||{}}catch(m){console.error("Error parsing existing frontmatter:",m),o={}}}}o.timeblocks||(o.timeblocks=[]),o.timeblocks.push(t);let d=`---
${(0,cr.stringifyYaml)(o)}---${l}`;await this.app.vault.modify(s,d)}addAttachment(t){if(this.selectedAttachments.some(n=>n.path===t.path)){new cr.Notice(this.translate("notices.timeblockAttachmentExists",{fileName:t.name}));return}if(this.titleInput&&!this.titleInput.value.trim()){let n=t instanceof cr.TFile?t.basename:t.name;this.titleInput.value=n,this.validateForm()}this.selectedAttachments.push(t),this.renderAttachmentsList(),new cr.Notice(this.translate("notices.timeblockAttachmentAdded",{fileName:t.name}))}async openTaskSelectorForTitle(){var t,n,i;try{let a=((i=await((n=(t=this.plugin.cacheManager).getAllTasks)==null?void 0:n.call(t)))!=null?i:[]).filter(o=>!o.archived);if(a.length===0){new cr.Notice("No tasks available to select");return}pn(this.plugin,a,o=>{if(!o)return;this.titleInput.value=o.title||"",this.validateForm();let l=this.app.vault.getAbstractFileByPath(o.path);l&&this.addAttachment(l)},{title:"Select task"})}catch(s){console.error("Failed to open task selector for timeblock creation:",s),new cr.Notice("Failed to open task selector")}}removeAttachment(t){this.selectedAttachments=this.selectedAttachments.filter(n=>n.path!==t.path),this.renderAttachmentsList(),new cr.Notice(this.translate("notices.timeblockAttachmentRemoved",{fileName:t.name}))}renderAttachmentsList(){if(this.attachmentsList.empty(),this.selectedAttachments.length===0){let t=this.attachmentsList.createDiv({cls:"timeblock-attachments-empty"});t.textContent="No attachments added yet";return}this.selectedAttachments.forEach(t=>{let n=this.attachmentsList.createDiv({cls:"timeblock-attachment-item"}),i=n.createDiv({cls:"timeblock-attachment-info"}),s=i.createSpan({cls:"timeblock-attachment-name"});if(s.textContent=t.name,t.path!==t.name){let o=i.createDiv({cls:"timeblock-attachment-path"});o.textContent=t.path}let a=n.createEl("button",{cls:"timeblock-attachment-remove",text:"\xD7"});(0,cr.setTooltip)(a,"Remove attachment",{placement:"top"}),a.addEventListener("click",()=>{this.removeAttachment(t)})})}onClose(){this.keyboardHandler&&(this.containerEl.removeEventListener("keydown",this.keyboardHandler),this.keyboardHandler=null);let{contentEl:t}=this;t.empty()}}});function Is(r){return r.setSubmenu()}function bce(r){var t,n;let e=r;return(n=(t=e.dom)!=null?t:e.domEl)!=null?n:null}var Be,ry,T$=v(()=>{Be=require("obsidian");Qe();yg();qC();md();xm();gg();hce();Wo();QD();Zc();Bo();Wc();vce();b$();ry=class{constructor(e){this.targetDoc=activeDocument;this.menu=new Qn,this.options=e,this.buildMenu()}t(e,t){return this.options.plugin.i18n.translate(e,t)}buildMenu(){var n,i;let{task:e,plugin:t}=this.options;if(this.menu.addItem(s=>{s.setTitle(this.t("contextMenus.task.status")),s.setIcon("circle");let a=Is(s);this.addStatusOptions(a,e,t)}),e.recurrence){this.menu.addSeparator();let s=ue(this.options.targetDate),a=((n=e.complete_instances)==null?void 0:n.includes(s))||!1;this.menu.addItem(l=>{l.setTitle(a?this.t("contextMenus.task.markIncomplete"):this.t("contextMenus.task.markComplete")),l.setIcon(a?"x":"check"),l.onClick(async()=>{var c,d;try{await t.toggleRecurringTaskComplete(e,this.options.targetDate),(d=(c=this.options).onUpdate)==null||d.call(c)}catch(u){let p=u instanceof Error?u.message:String(u);console.error("Error toggling recurring task completion:",{error:p,taskPath:e.path}),new Be.Notice(this.t("contextMenus.task.notices.toggleCompletionFailure",{message:p}))}})});let o=((i=e.skipped_instances)==null?void 0:i.includes(s))||!1;this.menu.addItem(l=>{l.setTitle(o?this.t("contextMenus.task.unskipInstance"):this.t("contextMenus.task.skipInstance")),l.setIcon(o?"undo":"x-circle"),l.onClick(async()=>{var c,d;try{await t.taskService.toggleRecurringTaskSkipped(e,this.options.targetDate),(d=(c=this.options).onUpdate)==null||d.call(c)}catch(u){let p=u instanceof Error?u.message:String(u);console.error("Error toggling recurring task skip:",{error:p,taskPath:e.path}),new Be.Notice(this.t("contextMenus.task.notices.toggleSkipFailure",{message:p}))}})})}this.menu.addSeparator(),this.menu.addItem(s=>{s.setTitle(this.t("contextMenus.task.priority")),s.setIcon("star");let a=Is(s);this.addPriorityOptions(a,e,t)}),this.menu.addSeparator(),this.menu.addItem(s=>{s.setTitle(this.t("contextMenus.task.dueDate")),s.setIcon("calendar");let a=Is(s);this.addDateOptions(a,e.due,async o=>{var l,c;try{await t.updateTaskProperty(e,"due",o||void 0),(c=(l=this.options).onUpdate)==null||c.call(l)}catch(d){let u=d instanceof Error?d.message:String(d);console.error("Error updating task due date:",{error:u,taskPath:e.path}),new Be.Notice(this.t("contextMenus.task.notices.updateDueDateFailure",{message:u}))}},()=>{t.openDueDateModal(e)})}),this.menu.addItem(s=>{s.setTitle(this.t("contextMenus.task.scheduledDate")),s.setIcon("calendar-clock");let a=Is(s);this.addDateOptions(a,e.scheduled,async o=>{var l,c;try{await t.updateTaskProperty(e,"scheduled",o||void 0),(c=(l=this.options).onUpdate)==null||c.call(l)}catch(d){let u=d instanceof Error?d.message:String(d);console.error("Error updating task scheduled date:",{error:u,taskPath:e.path}),new Be.Notice(this.t("contextMenus.task.notices.updateScheduledFailure",{message:u}))}},()=>{t.openScheduledDateModal(e)})}),this.menu.addItem(s=>{s.setTitle(this.t("contextMenus.task.reminders")),s.setIcon("bell");let a=Is(s);this.addQuickRemindersSection(a,e,t,"due",this.t("contextMenus.task.remindBeforeDue")),this.addQuickRemindersSection(a,e,t,"scheduled",this.t("contextMenus.task.remindBeforeScheduled")),a.addSeparator(),a.addItem(o=>{o.setTitle(this.t("contextMenus.task.manageReminders")),o.setIcon("settings"),o.onClick(()=>{new zo(t.app,t,e,c=>{(async()=>{var d,u;try{await t.updateTaskProperty(e,"reminders",c.length>0?c:void 0),(u=(d=this.options).onUpdate)==null||u.call(d)}catch(p){console.error("Error updating reminders:",p),new Be.Notice(this.t("contextMenus.task.notices.updateRemindersFailure"))}})()}).open()})}),e.reminders&&e.reminders.length>0&&a.addItem(o=>{o.setTitle(this.t("contextMenus.task.clearReminders")),o.setIcon("trash"),o.onClick(async()=>{var l,c;try{await t.updateTaskProperty(e,"reminders",void 0),(c=(l=this.options).onUpdate)==null||c.call(l)}catch(d){console.error("Error clearing reminders:",d),new Be.Notice(this.t("contextMenus.task.notices.clearRemindersFailure"))}})})}),this.menu.addSeparator(),this.menu.addItem(s=>{s.setTitle(this.t("contextMenus.task.dependencies.title")),s.setIcon("git-branch");let a=Is(s);this.addDependencyMenuItems(a,e,t)}),this.menu.addItem(s=>{s.setTitle(this.t("contextMenus.task.organization.title")),s.setIcon("folder-tree");let a=Is(s);this.addOrganizationMenuItems(a,e,t)}),this.menu.addSeparator(),this.menu.addItem(s=>{let a=t.getActiveTimeSession(e);s.setTitle(a?this.t("contextMenus.task.stopTimeTracking"):this.t("contextMenus.task.startTimeTracking")),s.setIcon(a?"pause":"play"),s.onClick(async()=>{var l,c;t.getActiveTimeSession(e)?await t.stopTimeTracking(e):await t.startTimeTracking(e),(c=(l=this.options).onUpdate)==null||c.call(l)})}),this.menu.addItem(s=>{s.setTitle(this.t("contextMenus.task.editTimeEntries")),s.setIcon("clock"),s.onClick(()=>{t.openTimeEntryEditor(e)})}),t.settings.calendarViewSettings.enableTimeblocking&&this.menu.addItem(s=>{s.setTitle("Create timeblock"),s.setIcon("calendar-plus"),s.onClick(()=>{let a=yce(e,this.options.targetDate);new ty(t.app,t,{date:a.date,startTime:a.startTime,endTime:a.endTime,prefilledTitle:e.title,prefilledAttachmentPaths:[e.path]}).open()})}),this.menu.addItem(s=>{s.setTitle(e.archived?this.t("contextMenus.task.unarchive"):this.t("contextMenus.task.archive")),s.setIcon(e.archived?"archive-restore":"archive"),s.onClick(async()=>{var a,o;try{await t.toggleTaskArchive(e),(o=(a=this.options).onUpdate)==null||o.call(a)}catch(l){let c=l instanceof Error?l.message:String(l);console.error("Error toggling task archive:",{error:c,taskPath:e.path}),new Be.Notice(this.t("contextMenus.task.notices.archiveFailure",{message:c}))}})}),this.menu.addSeparator(),this.menu.addItem(s=>{s.setTitle(this.t("contextMenus.task.openNote")),s.setIcon("file-text"),s.onClick(()=>{let a=t.app.vault.getAbstractFileByPath(e.path);a instanceof Be.TFile&&t.app.workspace.getLeaf(!1).openFile(a)})}),this.menu.addItem(s=>{s.setTitle(this.t("contextMenus.task.copyTitle")),s.setIcon("copy"),s.onClick(async()=>{try{await navigator.clipboard.writeText(e.title),new Be.Notice(this.t("contextMenus.task.notices.copyTitleSuccess"))}catch(a){new Be.Notice(this.t("contextMenus.task.notices.copyFailure"))}})}),this.menu.addItem(s=>{s.setTitle(this.t("contextMenus.task.noteActions")),s.setIcon("file-text");let a=Is(s),o=t.app.vault.getAbstractFileByPath(e.path);if(o instanceof Be.TFile){try{t.app.workspace.trigger("file-menu",a,o,"file-explorer")}catch(l){console.debug("Native file menu not available, using fallback")}a.addItem(l=>{l.setTitle(this.t("contextMenus.task.rename")),l.setIcon("pencil"),l.onClick(async()=>{try{let c=o.basename,d=await fce(t.app,{title:this.t("contextMenus.task.renameTitle"),placeholder:this.t("contextMenus.task.renamePlaceholder"),initialValue:c});if(d&&d.trim()!==""&&d!==c){let u=o.extension,p=d.endsWith(`.${u}`)?d:`${d}.${u}`,m=o.parent?`${o.parent.path}/${p}`:p;await t.app.vault.rename(o,m),new Be.Notice(this.t("contextMenus.task.notices.renameSuccess",{name:p})),this.options.onUpdate&&this.options.onUpdate()}}catch(c){console.error("Error renaming file:",c),new Be.Notice(this.t("contextMenus.task.notices.renameFailure"))}})}),a.addItem(l=>{l.setTitle(this.t("contextMenus.task.delete")),l.setIcon("trash"),l.onClick(async()=>{var d;await Li(t.app,{title:this.t("contextMenus.task.deleteTitle"),message:this.t("contextMenus.task.deleteMessage",{name:o.name}),confirmText:this.t("contextMenus.task.deleteConfirm"),cancelText:this.t("common.cancel"),isDestructive:!0})&&((d=t.taskCalendarSyncService)!=null&&d.isEnabled()&&e.googleCalendarEventId&&t.taskCalendarSyncService.deleteTaskFromCalendarByPath(e.path,e.googleCalendarEventId).catch(u=>{console.warn("Failed to delete task from Google Calendar:",u)}),t.app.fileManager.trashFile(o))})}),a.addSeparator(),a.addItem(l=>{l.setTitle(this.t("contextMenus.task.copyPath")),l.setIcon("copy"),l.onClick(()=>{navigator.clipboard.writeText(o.path).then(()=>{new Be.Notice(this.t("contextMenus.task.notices.copyPathSuccess"))}).catch(()=>{new Be.Notice(this.t("contextMenus.task.notices.copyFailure"))})})}),a.addItem(l=>{l.setTitle(this.t("contextMenus.task.copyUrl")),l.setIcon("link"),l.onClick(()=>{let c=`obsidian://open?vault=${encodeURIComponent(t.app.vault.getName())}&file=${encodeURIComponent(o.path)}`;navigator.clipboard.writeText(c).then(()=>{new Be.Notice(this.t("contextMenus.task.notices.copyUrlSuccess"))}).catch(()=>{new Be.Notice(this.t("contextMenus.task.notices.copyFailure"))})})}),a.addSeparator(),a.addItem(l=>{l.setTitle(this.t("contextMenus.task.showInExplorer")),l.setIcon("folder-open"),l.onClick(()=>{t.app.workspace.getLeaf().setViewState({type:"file-explorer",state:{}}).then(()=>{let c=t.app.workspace.getLeavesOfType("file-explorer")[0];c!=null&&c.view&&"revealInFolder"in c.view&&c.view.revealInFolder(o)}).catch(c=>{console.warn("Failed to reveal task in file explorer:",c)})})})}}),this.menu.addSeparator(),this.menu.addItem(s=>{s.setTitle(this.t("contextMenus.task.addToCalendar")),s.setIcon("calendar-plus");let a=Is(s);a.addItem(o=>{o.setTitle(this.t("contextMenus.task.calendar.google")),o.setIcon("external-link"),o.onClick(()=>{Ol.openCalendarURL({type:"google",task:e,useScheduledAsDue:!0},this.t.bind(this))})}),a.addItem(o=>{o.setTitle(this.t("contextMenus.task.calendar.outlook")),o.setIcon("external-link"),o.onClick(()=>{Ol.openCalendarURL({type:"outlook",task:e,useScheduledAsDue:!0},this.t.bind(this))})}),a.addItem(o=>{o.setTitle(this.t("contextMenus.task.calendar.yahoo")),o.setIcon("external-link"),o.onClick(()=>{Ol.openCalendarURL({type:"yahoo",task:e,useScheduledAsDue:!0},this.t.bind(this))})}),a.addSeparator(),a.addItem(o=>{o.setTitle(this.t("contextMenus.task.calendar.downloadIcs")),o.setIcon("download"),o.onClick(()=>{Ol.downloadICSFile(e,this.t.bind(this))})}),a.addSeparator(),a.addItem(o=>{o.setTitle(this.t("contextMenus.task.calendar.syncToGoogle")),o.setIcon("refresh-cw"),o.onClick(async()=>{var l,c,d;if(!((l=t.taskCalendarSyncService)!=null&&l.isEnabled())){new Be.Notice(this.t("contextMenus.task.calendar.syncToGoogleNotConfigured"));return}try{await t.taskCalendarSyncService.syncTaskToCalendar(e),new Be.Notice(this.t("contextMenus.task.calendar.syncToGoogleSuccess")),(d=(c=this.options).onUpdate)==null||d.call(c)}catch(u){console.error("Failed to sync task to Google Calendar:",u),new Be.Notice(this.t("contextMenus.task.calendar.syncToGoogleFailed"))}})})}),this.menu.addSeparator(),this.menu.addItem(s=>{s.setTitle(this.t("contextMenus.task.recurrence")),s.setIcon("refresh-ccw");let a=Is(s),o=typeof e.recurrence=="string"?e.recurrence:void 0;this.addRecurrenceOptions(a,o,async l=>{var c,d;try{await t.updateTaskProperty(e,"recurrence",l||void 0),(d=(c=this.options).onUpdate)==null||d.call(c)}catch(u){let p=u instanceof Error?u.message:String(u);console.error("Error updating task recurrence:",{error:p,taskPath:e.path}),new Be.Notice(this.t("contextMenus.task.notices.updateRecurrenceFailure",{message:p}))}},t)}),this.menu.addSeparator(),this.menu.addItem(s=>{s.setTitle(this.t("contextMenus.task.createSubtask")),s.setIcon("plus"),s.onClick(()=>{let a=t.app.vault.getAbstractFileByPath(e.path);if(a instanceof Be.TFile){let o=xl(t.app,a,e.path,"","",t.settings.useFrontmatterMarkdownLinks);t.openTaskCreationModal({projects:[o]})}})}),window.setTimeout(()=>{this.updateMainMenuIconColors(e,t)},10)}addDependencyMenuItems(e,t,n){var a,o;e.addItem(l=>{l.setTitle(this.t("contextMenus.task.dependencies.addBlockedBy")),l.setIcon("link-2"),l.onClick(()=>{this.menu.hide(),this.openBlockedBySelector(t,n)})});let i=(a=t.blockedBy)!=null?a:[];i.length>0&&e.addItem(l=>{l.setTitle(this.t("contextMenus.task.dependencies.removeBlockedBy")),l.setIcon("unlink");let c=Is(l);i.forEach((d,u)=>{c.addItem(p=>{let m=RL(d)||this.t("contextMenus.task.dependencies.unknownDependency");p.setTitle(m),p.onClick(async()=>{var f,h;try{let g=i.filter((k,T)=>T!==u),y=await n.updateTaskProperty(t,"blockedBy",g.length>0?g:void 0);Object.assign(t,y),new Be.Notice(this.t("contextMenus.task.dependencies.notices.blockedByRemoved")),(h=(f=this.options).onUpdate)==null||h.call(f)}catch(g){console.error("Failed to remove blocked-by dependency:",g),new Be.Notice(this.t("contextMenus.task.dependencies.notices.updateFailed"))}})})})}),e.addSeparator(),e.addItem(l=>{l.setTitle(this.t("contextMenus.task.dependencies.addBlocking")),l.setIcon("git-branch-plus"),l.onClick(()=>{this.menu.hide(),this.openBlockingSelector(t,n)})});let s=(o=t.blocking)!=null?o:[];s.length>0&&e.addItem(l=>{l.setTitle(this.t("contextMenus.task.dependencies.removeBlocking")),l.setIcon("git-branch-minus");let c=Is(l);s.forEach(d=>{let u=n.app.vault.getAbstractFileByPath(d),p=u instanceof Be.TFile?n.app.metadataCache.fileToLinktext(u,t.path,!1):d.split("/").pop()||d;c.addItem(m=>{m.setTitle(p),m.onClick(async()=>{var f,h;try{await n.taskService.updateBlockingRelationships(t,[],[d],{});let g=await n.cacheManager.getTaskInfo(t.path);g&&Object.assign(t,g),new Be.Notice(this.t("contextMenus.task.dependencies.notices.blockingRemoved")),(h=(f=this.options).onUpdate)==null||h.call(f)}catch(g){console.error("Failed to remove blocking dependency:",g),new Be.Notice(this.t("contextMenus.task.dependencies.notices.updateFailed"))}})})})})}dedupeDependencyEntries(e){let t=new Map;for(let n of e){let i=El(n);if(!i)continue;let s=this.getDependencyKey(i);t.has(s)||t.set(s,i)}return Array.from(t.values())}async openBlockedBySelector(e,t){let n=new Set((Array.isArray(e.blockedBy)?e.blockedBy:[]).map(i=>i.uid));await this.openTaskDependencySelector(t,i=>{if(i.path===e.path)return!1;let s=Ba(t.app,e.path,i.path,t.settings.useFrontmatterMarkdownLinks);return!n.has(s)},async i=>{await this.handleBlockedBySelection(e,t,i)})}async openBlockingSelector(e,t){var i;let n=new Set((i=e.blocking)!=null?i:[]);await this.openTaskDependencySelector(t,s=>s.path===e.path?!1:!n.has(s.path),async s=>{await this.handleBlockingSelection(e,t,s)})}async openTaskDependencySelector(e,t,n){try{let s=(await e.cacheManager.getAllTasks()).filter(t);if(s.length===0){new Be.Notice(this.t("contextMenus.task.dependencies.notices.noEligibleTasks"));return}pn(e,s,a=>{a&&n(a)})}catch(i){console.error("Failed to open task selector for dependencies:",i),new Be.Notice(this.t("contextMenus.task.dependencies.notices.updateFailed"))}}async handleBlockedBySelection(e,t,n){var i,s;if(n.path!==e.path)try{let a={uid:Ba(t.app,e.path,n.path,t.settings.useFrontmatterMarkdownLinks),reltype:Ds},o=Array.isArray(e.blockedBy)?e.blockedBy:[],l=this.dedupeDependencyEntries([...o,a]);if(l.length===o.length)return;let c=await t.updateTaskProperty(e,"blockedBy",l);Object.assign(e,c),new Be.Notice(this.t("contextMenus.task.dependencies.notices.blockedByAdded",{count:1})),(s=(i=this.options).onUpdate)==null||s.call(i)}catch(a){console.error("Failed to add blocked-by dependency via selector:",a),new Be.Notice(this.t("contextMenus.task.dependencies.notices.updateFailed"))}}async handleBlockingSelection(e,t,n){var s,a,o;let i=n.path;if(i!==e.path&&!((s=e.blocking)!=null&&s.includes(i)))try{let l={uid:Ba(t.app,i,e.path,t.settings.useFrontmatterMarkdownLinks),reltype:Ds};await t.taskService.updateBlockingRelationships(e,[i],[],{[i]:l});let c=await t.cacheManager.getTaskInfo(e.path);c?Object.assign(e,c):Array.isArray(e.blocking)?e.blocking=Array.from(new Set([...e.blocking,i])):e.blocking=[i],new Be.Notice(this.t("contextMenus.task.dependencies.notices.blockingAdded",{count:1})),(o=(a=this.options).onUpdate)==null||o.call(a)}catch(l){console.error("Failed to add blocking dependency via selector:",l),new Be.Notice(this.t("contextMenus.task.dependencies.notices.updateFailed"))}}getDependencyKey(e){var t;return`${e.uid}::${e.reltype}::${(t=e.gap)!=null?t:""}`}addOrganizationMenuItems(e,t,n){e.addItem(i=>{i.setTitle(this.t("contextMenus.task.organization.addToProject")),i.setIcon("folder-plus"),i.onClick(()=>{this.menu.hide(),this.openProjectSelector(t,n)})}),e.addItem(i=>{i.setTitle(this.t("contextMenus.task.organization.addSubtasks")),i.setIcon("indent"),i.onClick(()=>{this.menu.hide(),this.openSubtaskAssignmentSelector(t,n)})})}async openProjectSelector(e,t){try{new Su(t.app,t,i=>{i&&this.addTaskToProject(e,t,i)}).open()}catch(n){console.error("Failed to open project selector:",n),new Be.Notice(this.t("contextMenus.task.organization.notices.projectSelectFailed"))}}async openSubtaskAssignmentSelector(e,t){try{let i=(await t.cacheManager.getAllTasks()).filter(s=>s.path!==e.path);if(i.length===0){new Be.Notice(this.t("contextMenus.task.organization.notices.noEligibleSubtasks"));return}pn(t,i,s=>{s&&this.assignTaskAsSubtask(e,t,s)})}catch(n){console.error("Failed to open subtask assignment selector:",n),new Be.Notice(this.t("contextMenus.task.organization.notices.subtaskSelectFailed"))}}async addTaskToProject(e,t,n){var i,s;try{if(!(n instanceof Be.TFile)){new Be.Notice(this.t("contextMenus.task.organization.notices.projectSelectFailed"));return}let a=xl(t.app,n,e.path,"","",t.settings.useFrontmatterMarkdownLinks),o=`[[${n.basename}]]`,l=Array.isArray(e.projects)?e.projects:[];if(l.includes(a)||l.includes(o)){new Be.Notice(this.t("contextMenus.task.organization.notices.alreadyInProject"));return}let d=[...l.filter(p=>p!==o),a],u=await t.updateTaskProperty(e,"projects",d);Object.assign(e,u),new Be.Notice(this.t("contextMenus.task.organization.notices.addedToProject",{project:n.basename})),(s=(i=this.options).onUpdate)==null||s.call(i)}catch(a){console.error("Failed to add task to project:",a),new Be.Notice(this.t("contextMenus.task.organization.notices.addToProjectFailed"))}}async assignTaskAsSubtask(e,t,n){var i,s;try{let a=t.app.vault.getAbstractFileByPath(e.path);if(!(a instanceof Be.TFile)){new Be.Notice(this.t("contextMenus.task.organization.notices.currentTaskNotFound"));return}let o=xl(t.app,a,n.path,"","",t.settings.useFrontmatterMarkdownLinks),l=`[[${a.basename}]]`,c=Array.isArray(n.projects)?n.projects:[];if(c.includes(o)||c.includes(l)){new Be.Notice(this.t("contextMenus.task.organization.notices.alreadySubtask"));return}let u=[...c.filter(m=>m!==l),o],p=await t.updateTaskProperty(n,"projects",u);Object.assign(n,p),new Be.Notice(this.t("contextMenus.task.organization.notices.addedAsSubtask",{subtask:n.title,parent:a.basename})),(s=(i=this.options).onUpdate)==null||s.call(i)}catch(a){console.error("Failed to assign task as subtask:",a),new Be.Notice(this.t("contextMenus.task.organization.notices.addAsSubtaskFailed"))}}buildProjectReference(e,t,n){return xl(n.app,e,t,"","",n.settings.useFrontmatterMarkdownLinks)}updateMainMenuIconColors(e,t){let n=this.targetDoc.querySelector(".menu");if(!n)return;let i=n.querySelectorAll(".menu-item"),s=this.t("contextMenus.task.status"),a=this.t("contextMenus.task.priority");i.forEach(o=>{let l=o.querySelector(".menu-item-title"),c=o.querySelector(".menu-item-icon");if(l&&c){let d=l.textContent;if(d===s){let u=t.settings.customStatuses.find(p=>p.value===e.status);u&&u.color&&(c.style.color=u.color)}else if(d===a){let u=t.settings.customPriorities.find(p=>p.value===e.priority);u&&u.color&&(c.style.color=u.color)}}})}addStatusOptions(e,t,n){this.getStatusOptions(t,n).forEach((s,a)=>{e.addItem(o=>{let l=s.label;o.setIcon(s.icon||"circle"),s.value===t.status&&(l=this.t("contextMenus.task.statusSelected",{label:s.label})),o.setTitle(l),o.onClick(async()=>{var d,u;try{await n.updateTaskProperty(t,"status",s.value),(u=(d=this.options).onUpdate)==null||u.call(d)}catch(p){let m=p instanceof Error?p.message:String(p);console.error("Error updating task status:",{error:m,taskPath:t.path}),new Be.Notice(`Failed to update task status: ${m}`)}});let c=s.color;c&&window.setTimeout(()=>{let d=bce(o);if(d){let u=d.querySelector(".menu-item-icon");u&&(u.style.color=c)}},10)})})}addPriorityOptions(e,t,n){n.priorityManager.getPrioritiesByWeight().forEach(s=>{e.addItem(a=>{let o=s.label;a.setIcon("star"),s.value===t.priority&&(o=this.t("contextMenus.task.prioritySelected",{label:s.label})),a.setTitle(o),a.onClick(async()=>{var l,c;try{await n.updateTaskProperty(t,"priority",s.value),(c=(l=this.options).onUpdate)==null||c.call(l)}catch(d){let u=d instanceof Error?d.message:String(d);console.error("Error updating task priority:",{error:u,taskPath:t.path}),new Be.Notice(`Failed to update task priority: ${u}`)}}),s.color&&window.setTimeout(()=>{let l=bce(a);if(l){let c=l.querySelector(".menu-item-icon");c&&(c.style.color=s.color)}},10)})})}addDateOptions(e,t,n,i){let a=new Es({currentValue:t,onSelect:d=>{n(d)},onCustomDate:i,plugin:this.options.plugin,app:this.options.plugin.app}).getDateOptions(),o=a.filter(d=>d.category==="increment");o.length>0&&(o.forEach(d=>{e.addItem(u=>{d.icon&&u.setIcon(d.icon),u.setTitle(d.label),u.onClick(()=>{n(d.value)})})}),e.addSeparator()),a.filter(d=>d.category==="basic").forEach(d=>{e.addItem(u=>{d.icon&&u.setIcon(d.icon);let m=d.value===t?this.t("contextMenus.date.selected",{label:d.label}):d.label;u.setTitle(m),u.onClick(()=>{n(d.value)})})});let c=a.filter(d=>d.category==="weekday");c.length>0&&(e.addSeparator(),e.addItem(d=>{d.setTitle(this.t("contextMenus.date.weekdaysLabel")),d.setIcon("calendar");let u=Is(d);c.forEach(p=>{u.addItem(m=>{let h=p.value===t?this.t("contextMenus.date.selected",{label:p.label}):p.label;m.setTitle(h),m.setIcon("calendar"),m.onClick(()=>{n(p.value)})})})})),e.addSeparator(),e.addItem(d=>{d.setTitle(this.t("contextMenus.date.pickDateTime")),d.setIcon("calendar"),d.onClick(i)}),t&&e.addItem(d=>{d.setTitle(this.t("contextMenus.date.clearDate")),d.setIcon("x"),d.onClick(()=>{n(null)})})}addRecurrenceOptions(e,t,n,i){let s=new Date,a=["SU","MO","TU","WE","TH","FR","SA"],o=[i.i18n.translate("common.months.january"),i.i18n.translate("common.months.february"),i.i18n.translate("common.months.march"),i.i18n.translate("common.months.april"),i.i18n.translate("common.months.may"),i.i18n.translate("common.months.june"),i.i18n.translate("common.months.july"),i.i18n.translate("common.months.august"),i.i18n.translate("common.months.september"),i.i18n.translate("common.months.october"),i.i18n.translate("common.months.november"),i.i18n.translate("common.months.december")],l=a[s.getDay()],c=s.getDate(),d=s.getMonth()+1,u=o[s.getMonth()],p=s.toLocaleDateString("en-US",{weekday:"long"}),m=y=>{let k=y.getFullYear(),T=String(y.getMonth()+1).padStart(2,"0"),w=String(y.getDate()).padStart(2,"0");return`${k}${T}${w}`},f=y=>{let k=["th","st","nd","rd"],T=y%100;return y+(k[(T-20)%10]||k[T]||k[0])},h=m(s);[{label:this.t("modals.task.recurrence.daily"),value:`DTSTART:${h};FREQ=DAILY;INTERVAL=1`,icon:"calendar-days"},{label:this.t("modals.task.recurrence.weeklyOn",{days:p}),value:`DTSTART:${h};FREQ=WEEKLY;INTERVAL=1;BYDAY=${l}`,icon:"calendar"},{label:this.t("modals.task.recurrence.everyTwoWeeks"),value:`DTSTART:${h};FREQ=WEEKLY;INTERVAL=2;BYDAY=${l}`,icon:"calendar"},{label:this.t("modals.task.recurrence.monthlyOnOrdinal",{ordinal:f(c)}),value:`DTSTART:${h};FREQ=MONTHLY;INTERVAL=1;BYMONTHDAY=${c}`,icon:"calendar-range"},{label:this.t("modals.task.recurrence.everyThreeMonths"),value:`DTSTART:${h};FREQ=MONTHLY;INTERVAL=3;BYMONTHDAY=${c}`,icon:"calendar-range"},{label:this.t("modals.task.recurrence.yearlyOn",{month:u,day:f(c)}),value:`DTSTART:${h};FREQ=YEARLY;INTERVAL=1;BYMONTH=${d};BYMONTHDAY=${c}`,icon:"calendar-clock"},{label:this.t("modals.task.recurrence.weekdays"),value:`DTSTART:${h};FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR`,icon:"briefcase"}].forEach(y=>{e.addItem(k=>{let T=y.value===t;k.setTitle(T?`\u2713 ${y.label}`:y.label),k.setIcon(y.icon),k.onClick(()=>{n(y.value)})})}),e.addSeparator(),e.addItem(y=>{y.setTitle(this.t("contextMenus.task.customRecurrence")),y.setIcon("settings"),y.onClick(()=>{new jo({currentValue:typeof t=="string"?t:void 0,currentAnchor:this.options.task.recurrence_anchor||"scheduled",scheduledDate:this.options.task.scheduled,onSelect:T=>{n(T)},app:i.app,plugin:i}).showCustomRecurrenceModal()})}),t&&e.addItem(y=>{y.setTitle(this.t("contextMenus.task.clearRecurrence")),y.setIcon("x"),y.onClick(()=>{n(null)})})}getStatusOptions(e,t){let n=t.settings.customStatuses,i=[];return n&&n.length>0&&[...n].sort((a,o)=>a.order-o.order).forEach(a=>{i.push({label:a.label,value:a.value,color:a.color,icon:a.icon})}),i}addQuickRemindersSection(e,t,n,i,s){if(!(i==="due"?t.due:t.scheduled)){e.addItem(o=>{o.setTitle(s),o.setIcon("bell"),o.setDisabled(!0)});return}e.addItem(o=>{o.setTitle(s),o.setIcon("bell");let l=Is(o);[{labelKey:"contextMenus.task.quickReminders.atTime",offset:"PT0M"},{labelKey:"contextMenus.task.quickReminders.fiveMinutes",offset:"-PT5M"},{labelKey:"contextMenus.task.quickReminders.fifteenMinutes",offset:"-PT15M"},{labelKey:"contextMenus.task.quickReminders.oneHour",offset:"-PT1H"},{labelKey:"contextMenus.task.quickReminders.oneDay",offset:"-P1D"}].forEach(d=>{l.addItem(u=>{let p=this.t(d.labelKey);u.setTitle(p),u.onClick(()=>{this.addQuickReminder(t,n,i,d.offset,p)})})})})}async addQuickReminder(e,t,n,i,s){var l,c;let a={id:`rem_${Date.now()}`,type:"relative",relatedTo:n,offset:i,description:s},o=[...e.reminders||[],a];try{await t.updateTaskProperty(e,"reminders",o),(c=(l=this.options).onUpdate)==null||c.call(l)}catch(d){console.error("Error adding reminder:",d),new Be.Notice("Failed to add reminder")}}show(e){var t,n;(n=(t=e.target)==null?void 0:t.instanceOf)!=null&&n.call(t,HTMLElement)&&(this.targetDoc=e.target.ownerDocument),this.menu.showAtMouseEvent(e)}showAtElement(e){this.targetDoc=e.ownerDocument,this.menu.showAtPosition({x:e.getBoundingClientRect().left,y:e.getBoundingClientRect().bottom+4})}}});function UC(r){return r.setSubmenu()}function Tce(r){var t,n;let e=r;return(n=(t=e.dom)!=null?t:e.domEl)!=null?n:null}var ya,sf,k$=v(()=>{ya=require("obsidian");xm();Wc();md();sf=class{constructor(e){this.menu=new Qn,this.options=e,this.buildMenu()}t(e,t){return this.options.plugin.i18n.translate(e,t)}buildMenu(){let{selectedPaths:e}=this.options,t=e.length;this.menu.addItem(n=>{n.setTitle(`${t} tasks selected`),n.setIcon("check-square"),n.setDisabled(!0)}),this.menu.addSeparator(),this.menu.addItem(n=>{n.setTitle(this.t("contextMenus.task.status")),n.setIcon("circle");let i=UC(n);this.addStatusOptions(i)}),this.menu.addItem(n=>{n.setTitle(this.t("contextMenus.task.priority")),n.setIcon("star");let i=UC(n);this.addPriorityOptions(i)}),this.menu.addSeparator(),this.menu.addItem(n=>{n.setTitle(this.t("contextMenus.task.dueDate")),n.setIcon("calendar");let i=UC(n);this.addDateOptions(i,"due")}),this.menu.addItem(n=>{n.setTitle(this.t("contextMenus.task.scheduledDate")),n.setIcon("calendar-clock");let i=UC(n);this.addDateOptions(i,"scheduled")}),this.menu.addSeparator(),this.menu.addItem(n=>{n.setTitle(this.t("contextMenus.task.archive")),n.setIcon("archive"),n.onClick(async()=>{await this.batchArchive(!0)})}),this.menu.addItem(n=>{n.setTitle(this.t("contextMenus.task.unarchive")),n.setIcon("archive-restore"),n.onClick(async()=>{await this.batchArchive(!1)})}),this.menu.addSeparator(),this.menu.addItem(n=>{n.setTitle("Clear selection"),n.setIcon("x"),n.onClick(()=>{var i,s;(i=this.options.plugin.taskSelectionService)==null||i.clearSelection(),(s=this.options.plugin.taskSelectionService)==null||s.exitSelectionMode()})}),this.menu.addSeparator(),this.menu.addItem(n=>{n.setTitle(`Delete ${t} tasks`),n.setIcon("trash"),n.onClick(async()=>{await this.batchDelete()})})}addStatusOptions(e){let n=[...this.options.plugin.settings.customStatuses].sort((i,s)=>i.order-s.order);for(let i of n)e.addItem(s=>{s.setTitle(i.label),s.setIcon(i.icon||"circle"),s.onClick(async()=>{await this.batchUpdateProperty("status",i.value)}),i.color&&window.setTimeout(()=>{let a=Tce(s);if(a){let o=a.querySelector(".menu-item-icon");o&&(o.style.color=i.color)}},10)})}addPriorityOptions(e){let t=this.options.plugin.priorityManager.getPrioritiesByWeight();for(let n of t)e.addItem(i=>{i.setTitle(n.label),i.setIcon("star"),i.onClick(async()=>{await this.batchUpdateProperty("priority",n.value)}),n.color&&window.setTimeout(()=>{let s=Tce(i);if(s){let a=s.querySelector(".menu-item-icon");a&&(a.style.color=n.color)}},10)});e.addSeparator(),e.addItem(n=>{n.setTitle(this.t("contextMenus.priority.clearPriority")),n.setIcon("x"),n.onClick(async()=>{await this.batchUpdateProperty("priority",void 0)})})}addDateOptions(e,t){let s=new Es({currentValue:void 0,onSelect:()=>{},plugin:this.options.plugin,app:this.options.plugin.app}).getDateOptions().filter(a=>a.category==="basic");for(let a of s)e.addItem(o=>{a.icon&&o.setIcon(a.icon),o.setTitle(a.label),o.onClick(async()=>{await this.batchUpdateProperty(t,a.value)})});e.addSeparator(),e.addItem(a=>{a.setTitle(this.t("contextMenus.date.clearDate")),a.setIcon("x"),a.onClick(async()=>{await this.batchUpdateProperty(t,void 0)})})}async batchUpdateProperty(e,t){var o,l;let{plugin:n,selectedPaths:i,onUpdate:s}=this.options,a=i.length;try{new ya.Notice(`Updating ${a} tasks...`);let c=0,d=0;for(let u of i)try{let p=await n.cacheManager.getTaskInfo(u);p?(await n.taskService.updateProperty(p,e,t),c++):d++}catch(p){console.error(`[BatchContextMenu] Failed to update task ${u}:`,p),d++}d===0?new ya.Notice(`Updated ${c} tasks`):new ya.Notice(`Updated ${c} tasks, ${d} failed`),(o=n.taskSelectionService)==null||o.clearSelection(),(l=n.taskSelectionService)==null||l.exitSelectionMode(),s==null||s()}catch(c){console.error("[BatchContextMenu] Batch update failed:",c),new ya.Notice("Failed to update tasks")}}async batchArchive(e){var a,o;let{plugin:t,selectedPaths:n,onUpdate:i}=this.options,s=n.length;try{new ya.Notice(`${e?"Archiving":"Unarchiving"} ${s} tasks...`);let l=0,c=0;for(let d of n)try{let u=await t.cacheManager.getTaskInfo(d);u&&u.archived!==e?(await t.toggleTaskArchive(u),l++):u?l++:c++}catch(u){console.error(`[BatchContextMenu] Failed to archive task ${d}:`,u),c++}c===0?new ya.Notice(`${e?"Archived":"Unarchived"} ${l} tasks`):new ya.Notice(`${e?"Archived":"Unarchived"} ${l} tasks, ${c} failed`),(a=t.taskSelectionService)==null||a.clearSelection(),(o=t.taskSelectionService)==null||o.exitSelectionMode(),i==null||i()}catch(l){console.error("[BatchContextMenu] Batch archive failed:",l),new ya.Notice("Failed to archive tasks")}}async batchDelete(){var a,o,l;let{plugin:e,selectedPaths:t,onUpdate:n}=this.options,i=t.length;if(await Li(e.app,{title:"Delete tasks",message:`Are you sure you want to delete ${i} tasks? This action cannot be undone.`,confirmText:"Delete",cancelText:this.t("common.cancel"),isDestructive:!0}))try{new ya.Notice(`Deleting ${i} tasks...`);let c=0,d=0;for(let u of t)try{let p=e.app.vault.getAbstractFileByPath(u);if(p){if((a=e.taskCalendarSyncService)!=null&&a.isEnabled()){let m=await e.cacheManager.getTaskInfo(u);if(m!=null&&m.googleCalendarEventId)try{await e.taskCalendarSyncService.deleteTaskFromCalendarByPath(u,m.googleCalendarEventId)}catch(f){console.warn("Failed to delete task from Google Calendar:",f)}}await e.app.fileManager.trashFile(p),c++}else d++}catch(p){console.error(`[BatchContextMenu] Failed to delete task ${u}:`,p),d++}d===0?new ya.Notice(`Deleted ${c} tasks`):new ya.Notice(`Deleted ${c} tasks, ${d} failed`),(o=e.taskSelectionService)==null||o.clearSelection(),(l=e.taskSelectionService)==null||l.exitSelectionMode(),n==null||n()}catch(c){console.error("[BatchContextMenu] Batch delete failed:",c),new ya.Notice("Failed to delete tasks")}}show(e){this.menu.showAtMouseEvent(e)}showAtPosition(e,t){this.menu.showAtPosition({x:e,y:t})}}});function wce(r){let{task:e,plugin:t,excludeSelector:n,onSingleClick:i,onDoubleClick:s,contextMenuHandler:a}=r,o=n?`${kce}, ${n}`:kce,l=null,c=(k=!1)=>{let T=t.app.vault.getAbstractFileByPath(e.path);T instanceof w$.TFile&&(k?t.app.workspace.openLinkText(e.path,"",!0):t.app.workspace.getLeaf(!1).openFile(T))},d=async()=>{await t.openTaskEditModal(e)},u=async k=>{if(i){await i(k);return}if(k.ctrlKey||k.metaKey){c(!0);return}let T=t.settings.singleClickAction;T==="edit"?await d():T==="openNote"&&c(!1)},p=async k=>{if(s){await s(k);return}let T=t.settings.doubleClickAction;T==="edit"?await d():T==="openNote"&&c()},m=async k=>{if(k.target.closest(o))return;let w=t.taskSelectionService;if(w){if(k.shiftKey){k.stopPropagation(),w.isSelectionModeActive()||w.enterSelectionMode(),w.toggleSelection(e.path);return}w.isSelectionModeActive()&&(w.clearSelection(),w.exitSelectionMode())}if(k.stopPropagation(),t.settings.doubleClickAction==="none"){await u(k);return}l?(window.clearTimeout(l),l=null,await p(k)):l=window.setTimeout(()=>{l=null,u(k)},250)},f=k=>{m(k)},h=k=>{},g=async k=>{k.preventDefault(),k.stopPropagation();let T=t.taskSelectionService;if(k.shiftKey&&T){T.isSelectionModeActive()||T.enterSelectionMode(),T.isSelected(e.path)||T.addToSelection(e.path),T.getSelectionCount()>0&&new sf({plugin:t,selectedPaths:T.getSelectedPaths(),onUpdate:()=>{}}).show(k);return}if(T&&T.getSelectionCount()>1){T.isSelected(e.path)||T.addToSelection(e.path),new sf({plugin:t,selectedPaths:T.getSelectedPaths(),onUpdate:()=>{}}).show(k);return}T!=null&&T.isSelectionModeActive()&&(T.clearSelection(),T.exitSelectionMode()),a&&await a(k)};return{clickHandler:f,dblclickHandler:h,contextmenuHandler:k=>{g(k)},cleanup:()=>{l&&(window.clearTimeout(l),l=null)}}}function Sce(r,e){return t=>{e.app.vault.getAbstractFileByPath(r.path)&&e.app.workspace.trigger("hover-link",{event:t,source:"tasknotes-task-card",hoverParent:t.currentTarget,targetEl:t.currentTarget,linktext:r.path,sourcePath:r.path})}}async function xce(r,e,t,n,i){let s=(d=!1)=>{let u=e.app.vault.getAbstractFileByPath(r.path);u instanceof w$.TFile&&(d?e.app.workspace.openLinkText(r.path,"",!0):e.app.workspace.getLeaf(!1).openFile(u))},a=async()=>{await e.openTaskEditModal(r,i?()=>i():void 0)},o=async d=>{if(d.ctrlKey||d.metaKey){s(!0);return}let u=e.settings.singleClickAction;u==="edit"?await a():u==="openNote"&&s(!1)},l=async d=>{let u=e.settings.doubleClickAction;u==="edit"?await a():u==="openNote"&&s()};if(e.settings.doubleClickAction==="none"){await o(t);return}let c=VC.get(n);if(c)window.clearTimeout(c),VC.delete(n),await l(t);else{let d=window.setTimeout(()=>{VC.delete(n),o(t)},250);VC.set(n,d)}}var w$,kce,VC,S$=v(()=>{w$=require("obsidian");k$();kce=["a","button","input","textarea","select",'[role="button"]','[data-tn-no-drag="true"]','[data-tn-click-exclude="true"]',".tag"].join(", ");VC=new Map});function mqe(r){return pqe.includes(r)}function Fi(r,e){return r.map(t=>mqe(t)?t:t in e.fieldMapper.getMapping()?e.fieldMapper.toUserField(t):t)}function fd(r,e,t){return t.fieldMapper.isPropertyForField(r,e)}var pqe,hd=v(()=>{pqe=["tags","blocked","blocking"]});function Ece(r){return fqe.has(r.trim().toLowerCase())}function WC(r){return typeof r=="object"&&r!==null&&typeof r.renderTo=="function"&&typeof r.toString=="function"}function x$(r){var t;return r==null||((t=r.constructor)==null?void 0:t.name)==="NullValue"?!0:WC(r)&&Ece(ie(r))}function Rw(r){return x$(r)?!0:Array.isArray(r)?r.every(Rw):typeof r=="string"?r.trim()===""||Ece(r):WC(r)?ie(r).trim()==="":!1}function YC(r,e,t){if(!WC(e)||x$(e))return!1;try{e.renderTo(r,t),!r.hasChildNodes()&&!r.textContent&&(r.textContent=ie(e))}catch(n){console.debug("[TaskNotes] Error rendering Bases value:",n),r.textContent=ie(e)}return!0}function gd(r){if(x$(r))return"";if(WC(r))return r;if(r&&typeof r=="object"&&"icon"in r){let e=r;if(e.icon==="lucide-link"&&"data"in e&&e.data!==null&&e.data!==void 0){let t=ie(e.data);if(!t.match(/^[a-z]+:\/\//i)){let i="display"in e&&e.display?ie(e.display):null;return i&&i!==t?`[[${t}|${i}]]`:`[[${t}]]`}let n="display"in e&&e.display?ie(e.display):null;return n?`[${n}](${t})`:t}return"display"in e&&e.display!==null&&e.display!==void 0?e.display:"date"in e&&e.date!==null&&e.date!==void 0?e.date:"data"in e&&e.data!==null&&e.data!==void 0?e.data:e.icon==="lucide-file-question"||e.icon==="lucide-help-circle"?"":e.icon?ie(e.icon).replace("lucide-",""):""}return r}function GC(r,e={},t){var i;let n=(i=e.propertyLabels)==null?void 0:i[r];return n&&n.trim()!==""?n:t&&t.trim()!==""?t:r.startsWith("formula.")?r.substring(8):r.charAt(0).toUpperCase()+r.slice(1)}var fqe,KC=v(()=>{jr();fqe=new Set(["null","undefined"])});function ZC(r){return r!==null&&typeof r=="object"&&typeof r.getValue=="function"?r:null}function va(r,e,t){return r.i18n.translate(`ui.taskCard.${e}`,t)}function Ll(r,e,t){let n=t==null?void 0:t[r];if(n&&n.trim()!=="")return n;let i=hqe(r,e,t),s={due:va(e,"labels.due"),scheduled:va(e,"labels.scheduled"),recurrence:va(e,"labels.recurrence"),completedDate:va(e,"labels.completed"),dateCreated:va(e,"labels.created"),dateModified:va(e,"labels.modified"),blocked:va(e,"labels.blocked"),blocking:va(e,"labels.blocking")};return GC(r,{propertyLabels:i?{[r]:i}:t},s[r])}function hqe(r,e,t){var n,i;if(t){for(let[s,a]of Object.entries(t))if(!(s===r||a.trim()==="")&&((i=(n=e.fieldMapper)==null?void 0:n.lookupMappingKey)==null?void 0:i.call(n,s))===r)return a}}function Ow(r,e,t){return va(r,"recurrenceTooltip",{label:Ll("recurrence",r,t),value:Ane(e)})}function E$(r,e){return e===1?va(r,"reminderTooltipOne"):va(r,"reminderTooltipMany",{count:e})}function JC(r,e){return e?va(r,"collapseSubtasks"):va(r,"expandSubtasks")}function Dce(r,e,t){var n;try{let i=t.fieldMapper.lookupMappingKey(e);if(i&&i in QC)return QC[i](r);if(e in QC)return QC[e](r);if(e.startsWith("user:"))return gqe(r,e,t);if(r.customProperties&&e in r.customProperties)return gd(r.customProperties[e]);if(r.customProperties){let a=`file.${e}`;if(a in r.customProperties)return gd(r.customProperties[a])}if(e.startsWith("file.")&&ZC(r.basesData))try{let a=(n=ZC(r.basesData))==null?void 0:n.getValue(e);if(a!=null)return gd(a)}catch(a){}if(e.startsWith("formula."))try{let a=ZC(r.basesData);if(!a)return"";let o=a.getValue(e);if(o==null)return"";let l=gd(o);return l!==""?l:""}catch(a){return console.debug(`[TaskNotes] Error computing formula ${e}:`,a),"[Formula Error]"}let s=ZC(r.basesData);if(s)try{let a=`note.${e}`,o=s.getValue(a);if(o!=null)return gd(o)}catch(a){}if(r.path){let a=Cce(r.path,e,t);if(a!==void 0)return a}return null}catch(i){return console.warn(`TaskCard: Error getting property ${e}:`,i),null}}function gqe(r,e,t){var a;let n=e.slice(5),i=(a=t.settings.userFields)==null?void 0:a.find(o=>o.id===n);if(!(i!=null&&i.key))return null;let s=r[i.key];return s===void 0&&(s=Cce(r.path,i.key,t)),s}function Cce(r,e,t){try{let n=t.app.metadataCache.getCache(r);return n!=null&&n.frontmatter?n.frontmatter[e]:void 0}catch(n){console.warn(`TaskCard: Error accessing frontmatter for ${r}:`,n);return}}var QC,D$=v(()=>{Cr();KC();QC={due:r=>r.due,scheduled:r=>r.scheduled,projects:r=>r.projects,contexts:r=>r.contexts,tags:r=>r.tags,blocked:r=>r.isBlocked,blocking:r=>r.isBlocking,blockedBy:r=>r.blockedBy,blockingTasks:r=>r.blocking,timeEstimate:r=>r.timeEstimate,timeEntries:r=>r.timeEntries,totalTrackedTime:r=>r.totalTrackedTime,recurrence:r=>r.recurrence,completedDate:r=>r.completedDate,reminders:r=>r.reminders,icsEventId:r=>r.icsEventId,completeInstances:r=>r.complete_instances,skippedInstances:r=>r.skipped_instances,dateCreated:r=>r.dateCreated,dateModified:r=>r.dateModified,googleCalendarSync:r=>r.path,checklistProgress:r=>r.path}});function Pce(r,e,t){if(!e||typeof e!="string")return;let n=yqe(e);if(!n)return;let i=r.createEl("a",{cls:"tag",text:n,attr:{href:n,role:"button",tabindex:"0","data-tn-click-exclude":"true"}});t!=null&&t.onTagClick&&(i.addEventListener("click",s=>{s.preventDefault(),s.stopPropagation(),t.onTagClick(n,s)}),i.addEventListener("keydown",s=>{(s.key==="Enter"||s.key===" ")&&(s.preventDefault(),s.stopPropagation(),t.onTagClick(n,s))}))}function Ace(r,e,t){if(typeof e=="string"){Pce(r,e,t);return}if(Array.isArray(e)){e.flat(2).filter(i=>i!=null&&typeof i=="string").forEach((i,s)=>{s>0&&r.appendChild(activeDocument.createTextNode(" ")),Pce(r,String(i),t)});return}e!=null&&r.appendChild(activeDocument.createTextNode(ie(e)))}function Ice(r,e,t){if(typeof e=="string"){let n=Mce(e);if(n){let i=_ce(n),s=r.createEl("span",{cls:`context-tag ${i}`,text:n,attr:{role:"button",tabindex:"0","data-tn-click-exclude":"true"}});t!=null&&t.onTagClick&&(s.addEventListener("click",a=>{a.preventDefault(),a.stopPropagation(),t.onTagClick(n,a)}),s.addEventListener("keydown",a=>{(a.key==="Enter"||a.key===" ")&&(a.preventDefault(),a.stopPropagation(),t.onTagClick(n,a))}))}return}if(Array.isArray(e)){e.flat(2).filter(i=>i!=null&&typeof i=="string").forEach((i,s)=>{s>0&&r.appendChild(activeDocument.createTextNode(", "));let a=Mce(i);if(a){let o=_ce(a),l=r.createEl("span",{cls:`context-tag ${o}`,text:a,attr:{role:"button",tabindex:"0","data-tn-click-exclude":"true"}});t!=null&&t.onTagClick&&(l.addEventListener("click",c=>{c.preventDefault(),c.stopPropagation(),t.onTagClick(a,c)}),l.addEventListener("keydown",c=>{(c.key==="Enter"||c.key===" ")&&(c.preventDefault(),c.stopPropagation(),t.onTagClick(a,c))}))}else r.appendChild(activeDocument.createTextNode(String(i)))});return}e!=null&&r.appendChild(activeDocument.createTextNode(ie(e)))}function yqe(r){if(!r||typeof r!="string")return null;let e=r.trim();if(!e)return null;let t=e.startsWith("#"),n=e.replace(/[^\p{L}\p{N}_#/-]/gu,"");return t?n.length>1?n:null:n?`#${n}`:null}function vqe(r){let e=5381;for(let t=0;t<r.length;t++)e=e*33^r.charCodeAt(t);return e>>>0}function _ce(r){if(!r||typeof r!="string")return"context-tag--color-0";let e=r.replace(/^@/,"").toLowerCase();return e?`context-tag--color-${vqe(e)%20}`:"context-tag--color-0"}function Mce(r){if(!r||typeof r!="string")return null;let e=r.trim();if(!e)return null;let t=e.startsWith("@"),n=e.replace(/[^\p{L}\p{N}_@/-]/gu,"");return t?n.length>1?n:null:n?`@${n}`:null}var Nce=v(()=>{jr()});function Fu(r,e,t){return r.i18n.translate(`ui.taskCard.${e}`,t)}function bqe(r){if(r.dataset.tnNoDrag==="true"){r.setAttribute("draggable","false");return}r.dataset.tnNoDrag="true",r.setAttribute("draggable","false"),r.addEventListener("mousedown",e=>{e.preventDefault(),e.stopPropagation()})}function Fce(r,e,t,n){bqe(r),r.addEventListener("click",i=>{i.stopPropagation();let s=n==="due"?e.due:e.scheduled;new Es({currentValue:tt(s||""),currentTime:$a(s||""),onSelect:(o,l)=>{(async()=>{try{let c;o?l?c=`${o}T${l}`:c=o:c=void 0,await t.updateTaskProperty(e,n,c)}catch(c){let d=c instanceof Error?c.message:String(c);console.error(`Error updating ${n} date:`,d);let u=n==="due"?"contextMenus.task.notices.updateDueDateFailure":"contextMenus.task.notices.updateScheduledFailure";new ny.Notice(t.i18n.translate(u,{message:d}))}})()},plugin:t,app:t.app}).show(i)})}function P$(r){let e=[...Jb,"tags","blocked","blocking","googleCalendarSync"];return Fi(e,r)}function Tqe(r,e){let t=e.app.vault.getAbstractFileByPath(r);if(!(t instanceof ny.TFile))return null;let n=e.app.metadataCache.getFileCache(t);return kqe(n)}function kqe(r){if(r==null)return null;let e=r.listItems;if(!Array.isArray(e)||e.length===0)return null;let t=0,n=0;for(let i of e)!i||typeof i.task!="string"||typeof i.parent=="number"&&i.parent>=0||(t+=1,i.task.toLowerCase()==="x"&&(n+=1));return t===0?null:{completed:n,total:t,percent:Math.round(n/t*100)}}function _$(r,e,t,n,i={}){let s=Dce(t,e,n);if(!XC(s))return null;let a=r.createEl("span",{cls:`task-card__metadata-property task-card__metadata-property--${e.replace(":","-")}`});try{let l=n.fieldMapper.lookupMappingKey(e)||e;return l in Rce?Rce[l](a,s,t,n,i):e.startsWith("user:")?wqe(a,e,s,n):Sqe(a,e,s,n,Ll(e,n,i.propertyLabels)),!a.textContent&&!a.hasChildNodes()?(a.remove(),null):a}catch(o){return console.warn(`TaskCard: Error rendering property ${e}:`,o),a.textContent=`${e}: (error)`,a}}function XC(r){return!Rw(r)}function wqe(r,e,t,n){var c;let i=e.slice(5),s=(c=n.settings.userFields)==null?void 0:c.find(d=>d.id===i);if(!s){r.textContent=`${i}: (not found)`;return}let a=s.displayName||i;r.createEl("span",{text:`${a}: `});let o=r.createEl("span",{cls:"task-card__metadata-value"}),l={metadataCache:n.app.metadataCache,workspace:n.app.workspace};if(typeof t=="string"&&t.trim()!==""){let d=t.trim();C$(d)?JD(o,d,l):o.textContent=Lce(t,s)}else if(s.type==="list"&&Array.isArray(t))t.map(u=>gd(u)).filter(XC).forEach((u,p)=>{if(p>0&&o.appendChild(activeDocument.createTextNode(", ")),typeof u=="string"&&u.trim()!==""){let m=u.trim();if(C$(m)){let f=o.createEl("span");JD(f,m,l)}else o.appendChild(activeDocument.createTextNode(String(u)))}else o.appendChild(activeDocument.createTextNode(String(u)))});else{let d=Lce(t,s);o.textContent=d.trim()!==""?d:"(empty)"}}function Sqe(r,e,t,n,i){let s=GC(e,{},i);r.createEl("span",{text:`${s}: `});let a=r.createEl("span",{cls:"task-card__metadata-value"});Array.isArray(t)?t.map(l=>gd(l)).filter(XC).forEach((l,c)=>{c>0&&a.appendChild(activeDocument.createTextNode(", ")),Oce(a,l,n)}):Oce(a,t,n)}function Oce(r,e,t){if(!XC(e)||t&&YC(r,e,t.app.renderContext))return;if(typeof e=="string"&&t){let i={metadataCache:t.app.metadataCache,workspace:t.app.workspace};if(C$(e)){JD(r,e,i,{onTagClick:async s=>{let a=s.startsWith("#")?s.slice(1):s;await t.openTagsPane(`#${a}`)}});return}r.appendChild(activeDocument.createTextNode(e));return}let n;if(typeof e=="object"&&e!==null)if(e instanceof Date)n=xs(e.toISOString(),{dateFormat:"MMM d, yyyy",timeFormat:"",showTime:!1});else{let i=Object.entries(e);n=i.length<=3?i.map(([s,a])=>`${s}: ${ie(a)}`).join(", "):ie(e)}else typeof e=="boolean"?n=e?"\u2713":"\u2717":typeof e=="number"?n=Number.isInteger(e)?String(e):e.toFixed(2):n=ie(e);n.length>100&&(n=n.substring(0,97)+"..."),r.appendChild(activeDocument.createTextNode(n))}function C$(r){return r.includes("[[")||r.includes("](")||r.includes("[")&&r.includes("](")||r.includes("#")&&/\s#\w+|#\w+/.test(r)}function Lce(r,e){if(r==null)return"";try{switch(e.type){case"text":case"number":return ie(r);case"date":return xs(ie(r),{dateFormat:"MMM d, yyyy",timeFormat:"",showTime:!1});case"boolean":return r?"\u2713":"\u2717";case"list":return Array.isArray(r)?r.flat(2).map(ie).join(", "):ie(r);default:return ie(r)}}catch(t){return console.warn("TaskCard: Error formatting user property value:",t),ie(r)}}function xqe(r,e,t,n,i){var p,m;let s=wD(e),a=n.statusManager.isCompletedStatus(t.status),o=(m=(p=n.settings)==null?void 0:p.hideCompletedFromOverdue)!=null?m:!0,l=rs(e,a,o),c=n.settings.calendarViewSettings.timeFormat,d=Ll("due",n,i),u="";if(s){let f=xs(e,{dateFormat:"",showTime:!0,userTimeFormat:c});u=f.trim()===""?Fu(n,"dueToday",{label:d}):Fu(n,"dueTodayAt",{label:d,time:f})}else if(l){let f=xs(e,{dateFormat:"MMM d",showTime:!0,userTimeFormat:c});u=Fu(n,"dueOverdue",{label:d,display:f})}else{let f=xs(e,{dateFormat:"MMM d",showTime:!0,userTimeFormat:c});u=Fu(n,"dueLabel",{label:d,display:f})}r.textContent=u,r.classList.add("task-card__metadata-date","task-card__metadata-date--due"),l&&r.classList.add("task-card__metadata-date--overdue"),r.dataset.tnAction="edit-date",r.dataset.tnDateType="due",Fce(r,t,n,"due")}function Eqe(r,e,t,n,i){var p,m;let s=wD(e),a=n.statusManager.isCompletedStatus(t.status),o=(m=(p=n.settings)==null?void 0:p.hideCompletedFromOverdue)!=null?m:!0,l=rs(e,a,o),c=n.settings.calendarViewSettings.timeFormat,d=Ll("scheduled",n,i),u="";if(s){let f=xs(e,{dateFormat:"",showTime:!0,userTimeFormat:c});u=f.trim()===""?Fu(n,"scheduledToday",{label:d}):Fu(n,"scheduledTodayAt",{label:d,time:f})}else if(l){let f=xs(e,{dateFormat:"MMM d",showTime:!0,userTimeFormat:c});u=Fu(n,"scheduledPast",{label:d,display:f})}else{let f=xs(e,{dateFormat:"MMM d",showTime:!0,userTimeFormat:c});u=Fu(n,"scheduledLabel",{label:d,display:f})}r.textContent=u,r.classList.add("task-card__metadata-date","task-card__metadata-date--scheduled"),l&&r.classList.add("task-card__metadata-date--past"),r.dataset.tnAction="edit-date",r.dataset.tnDateType="scheduled",Fce(r,t,n,"scheduled")}function M$(r,e){r.style.display=e.length>0?"":"none"}var ny,Rce,$ce=v(()=>{ny=require("obsidian");xm();lg();Om();Cr();Qe();jr();hd();KC();D$();vT();Nce();Rce={due:(r,e,t,n,i)=>{typeof e=="string"&&xqe(r,e,t,n,i==null?void 0:i.propertyLabels)},scheduled:(r,e,t,n,i)=>{typeof e=="string"&&Eqe(r,e,t,n,i==null?void 0:i.propertyLabels)},projects:(r,e,t,n)=>{if(Array.isArray(e)){let i={metadataCache:n.app.metadataCache,workspace:n.app.workspace,sourcePath:t.path};XD(r,e,i)}},contexts:(r,e,t,n)=>{Array.isArray(e)&&Ice(r,e,{onTagClick:async s=>{let a=s.startsWith("@")?s.slice(1):s;await n.openTagsPane(`#${a}`)}})},tags:(r,e,t,n)=>{if(Array.isArray(e)){let i=e;n.settings.taskIdentificationMethod==="tag"&&n.settings.hideIdentifyingTagsInCards&&(i=e.filter(s=>!vr.matchesHierarchicalTagExact(s,n.settings.taskTag))),i.length>0&&Ace(r,i,{onTagClick:async a=>{let o=a.startsWith("#")?a.slice(1):a;await n.openTagsPane(`#${o}`)}})}},timeEstimate:(r,e,t,n)=>{typeof e=="number"&&(r.textContent=`${n.formatTime(e)} estimated`)},totalTrackedTime:(r,e,t,n)=>{typeof e=="number"&&e>0&&(r.textContent=`${n.formatTime(e)} tracked`)},recurrence:(r,e,t,n,i)=>{typeof e=="string"&&(r.textContent=Ow(n,e,i==null?void 0:i.propertyLabels))},completeInstances:(r,e,t)=>{var n;if(Array.isArray(e)&&e.length>0){let i=e.length,s=((n=t.skipped_instances)==null?void 0:n.length)||0,a=i+s;if(a>0){let o=Math.round(i/a*100);r.textContent=`\u2713 ${i} completed (${o}%)`}else r.textContent=`\u2713 ${i} completed`;r.classList.add("task-card__metadata-pill--completed-instances")}},skippedInstances:(r,e)=>{Array.isArray(e)&&e.length>0&&(r.textContent=`\u2298 ${e.length} skipped`,r.classList.add("task-card__metadata-pill--skipped-instances"))},completedDate:(r,e,t,n,i)=>{if(typeof e=="string"){let s=Ll("completedDate",n,i==null?void 0:i.propertyLabels);r.textContent=`${s}: ${xs(e,{dateFormat:"MMM d",showTime:!1,userTimeFormat:n.settings.calendarViewSettings.timeFormat})}`}},dateCreated:(r,e,t,n,i)=>{if(typeof e=="string"){let s=Ll("dateCreated",n,i==null?void 0:i.propertyLabels);r.textContent=`${s}: ${xs(e,{dateFormat:"MMM d",showTime:!1,userTimeFormat:n.settings.calendarViewSettings.timeFormat})}`}},dateModified:(r,e,t,n,i)=>{if(typeof e=="string"){let s=Ll("dateModified",n,i==null?void 0:i.propertyLabels);r.textContent=`${s}: ${xs(e,{dateFormat:"MMM d",showTime:!1,userTimeFormat:n.settings.calendarViewSettings.timeFormat})}`}},blocked:(r,e,t,n,i)=>{var s,a;if(e===!0){let o=(a=(s=t.blockedBy)==null?void 0:s.length)!=null?a:0,l=Ll("blocked",n,i==null?void 0:i.propertyLabels);r.textContent=o>0?`${l} (${o})`:l,r.classList.add("task-card__metadata-pill--blocked")}},blocking:(r,e,t,n,i)=>{var s,a;if(e===!0){let o=(a=(s=t.blocking)==null?void 0:s.length)!=null?a:0,l=Ll("blocking",n,i==null?void 0:i.propertyLabels);r.textContent=o>0?`${l} (${o})`:l,r.classList.add("task-card__metadata-pill--blocking")}},blockedBy:(r,e,t,n)=>{if(Array.isArray(e)&&e.length>0){r.createEl("span",{text:"Blocked by: "});let i=r.createEl("span");e.forEach((s,a)=>{var l;a>0&&i.appendChild(activeDocument.createTextNode(", "));let o=typeof s=="string"?s:s.path;if(o){let c=i.createEl("a",{cls:"internal-link",attr:{href:o}});c.textContent=((l=o.split("/").pop())==null?void 0:l.replace(".md",""))||o,c.addEventListener("click",d=>{d.preventDefault(),d.stopPropagation(),n.app.workspace.openLinkText(o,"",!1)})}})}},blockingTasks:(r,e,t,n)=>{if(Array.isArray(e)&&e.length>0){r.createEl("span",{text:"Blocking: "});let i=r.createEl("span");e.forEach((s,a)=>{var l;a>0&&i.appendChild(activeDocument.createTextNode(", "));let o=i.createEl("a",{cls:"internal-link",attr:{href:s}});o.textContent=((l=s.split("/").pop())==null?void 0:l.replace(".md",""))||s,o.addEventListener("click",c=>{c.preventDefault(),c.stopPropagation(),n.app.workspace.openLinkText(s,"",!1)})})}},timeEntries:(r,e,t,n)=>{if(Array.isArray(e)&&e.length>0){let i=is(e);i>0&&(r.textContent=`${n.formatTime(i)} tracked (${e.length} ${e.length===1?"entry":"entries"})`)}},reminders:(r,e)=>{Array.isArray(e)&&e.length>0&&(r.textContent=`${e.length} ${e.length===1?"reminder":"reminders"}`)},icsEventId:(r,e)=>{Array.isArray(e)&&e.length>0&&(r.textContent=`Linked to ${e.length} calendar ${e.length===1?"event":"events"}`)},checklistProgress:(r,e,t,n)=>{let i=Tqe(t.path,n);if(!i)return;let s=r.createEl("span",{cls:"task-card__progress"}),o=s.createEl("span",{cls:"task-card__progress-bar"}).createEl("span",{cls:"task-card__progress-fill"});o.style.width=`${i.percent}%`,i.percent>0&&i.percent<5&&(o.classList.remove("tn-static-min-width-0-3922d326"),o.classList.add("tn-static-min-width-2px-709d7da0")),s.createEl("span",{cls:"task-card__progress-label",text:`${i.completed}/${i.total}`}),(0,ny.setTooltip)(s,`${i.percent}% complete (${i.completed}/${i.total})`,{placement:"top"})}}});async function jce(r,e){return new Promise((t,n)=>{new A$(e.app,r,async()=>{try{await e.taskService.deleteTask(r),t()}catch(s){n(s instanceof Error?s:new Error(String(s)))}}).open()})}var Lw,A$,zce=v(()=>{Lw=require("obsidian"),A$=class extends Lw.Modal{constructor(e,t,n){super(e),this.task=t,this.onConfirm=n}onOpen(){let{contentEl:e}=this;e.empty(),e.createEl("h2",{text:"Delete task"});let t=e.createEl("p");t.appendText('Are you sure you want to delete the task "'),t.createEl("strong",{text:this.task.title}),t.appendText('"?'),e.createEl("p",{cls:"mod-warning",text:"This action cannot be undone. The task file will be permanently deleted."});let n=e.createEl("div",{cls:"modal-button-container"});n.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),n.classList.add("tn-static-display-flex-75816cae"),n.classList.remove("tn-static-display-flex-8bb39979","tn-static-gap-0-5rem-ce2fca4d","tn-static-gap-12px-ed7b3d87","tn-static-gap-6px-f0abc1db","tn-static-gap-8px-33fcd4c3"),n.classList.add("tn-static-gap-10px-f3d7ce77"),n.classList.remove("tn-static-justify-content-center-03c4bb6f","tn-static-justify-content-space-between-a562f4fd"),n.classList.add("tn-static-justify-content-flex-end-455f8cca"),n.classList.remove("tn-static-font-size-12px-b0cc7e05","tn-static-margin-top-0-5rem-3dc98b5e","tn-static-margin-top-0-d462248a","tn-static-margin-top-12px-91e0f558","tn-static-margin-top-16px-1b0f4999","tn-static-margin-top-1rem-2239d6d5","tn-static-margin-top-30px-2fbbbcd4","tn-static-margin-top-4px-96ad6099","tn-static-margin-top-8px-8a77e5a3","tn-static-margin-top-8px-f4f01e68"),n.classList.add("tn-static-margin-top-20px-a26bda7d");let i=n.createEl("button",{text:"Cancel"});i.addEventListener("click",()=>{this.close()});let s=n.createEl("button",{text:"Delete",cls:"mod-warning"});s.classList.remove("tn-static-background-color-var-background-mo-94b219f0","tn-static-background-color-var-background-se-9087a23e","tn-static-background-color-var-color-base-40-ef5f175e","tn-static-background-color-var-text-accent-a954c70f"),s.classList.add("tn-static-background-color-var-color-red-134bc721"),s.classList.remove("tn-static-color-var-color-accent-d2cad743","tn-static-color-var-text-accent-65b47ee3","tn-static-color-var-text-muted-5872de20","tn-static-color-var-text-on-accent-f3e1679d","tn-static-color-var-text-warning-783d5f03","tn-static-color-var-tn-text-muted-a90fb6f3","tn-static-cursor-pointer-2723efcc","tn-static-font-size-12px-65574819","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-margin-2px-0-edce9b14","tn-static-padding-20px-7a035d95","tn-static-padding-20px-ebe8e48c"),s.classList.add("tn-static-color-white-0a43e56a"),s.addEventListener("click",()=>{(async()=>{try{await this.onConfirm(),this.close(),new Lw.Notice("Task deleted successfully")}catch(a){let o=a instanceof Error?a.message:String(a);new Lw.Notice(`Failed to delete task: ${o}`),console.error("Error in delete confirmation:",a)}})()}),i.focus()}onClose(){let{contentEl:e}=this;e.empty()}}});var iy={};et(iy,{DEFAULT_TASK_CARD_OPTIONS:()=>N$,cleanupTaskCard:()=>Iqe,createTaskCard:()=>pr,refreshParentTaskSubtasks:()=>Nqe,showDeleteConfirmationModal:()=>jce,showTaskContextMenu:()=>ju,toggleBlockingTasks:()=>O$,toggleSubtasks:()=>$w,updateTaskCard:()=>Aqe});function Bce(r,e){let t=()=>e.classList.add("task-card--nested-interactive-hover"),n=()=>e.classList.remove("task-card--nested-interactive-hover");r.addEventListener("mouseenter",t),r.addEventListener("mouseleave",n)}function R$(r){var e;return(e=r._taskCardOptions)!=null?e:{}}function Dqe(r){if(typeof r=="number")return r===1?"show-all":"inherit";let e=ie(r).trim().toLowerCase().replace(/^['"]|['"]$/g,"").replace(/[_\s]+/g,"-");return e==="show-all"||e==="1"?"show-all":"inherit"}function qce(r,e){var s,a;let t=R$(r);if(Dqe((a=(s=t.resolveExpandedRelationshipFilterMode)==null?void 0:s.call(t))!=null?a:t.expandedRelationshipFilterMode)!=="inherit")return e;let i=t.expandedRelationshipTaskPaths;return i?e.filter(o=>i.has(o.path)):e}function Fw(r,e,t){return r.i18n.translate(`ui.taskCard.${e}`,t)}function af(r){let{container:e,className:t,icon:n,tooltip:i,ariaLabel:s,onClick:a,visible:o=!0}=r;if(!o)return null;let l=e.createEl("div",{cls:t,attr:{"aria-label":s||i}});return(0,Ct.setIcon)(l,n),(0,Ct.setTooltip)(l,i,{placement:"top"}),a&&($u(l),l.addEventListener("click",c=>{c.stopPropagation(),a(c)})),l}function I$(r,e,t){let n=r.querySelector(e);if(!t.shouldExist)return n==null||n.remove(),null;if(n)return n.setAttribute("aria-label",t.ariaLabel||t.tooltip),(0,Ct.setTooltip)(n,t.tooltip,{placement:"top"}),t.onClick&&$u(n),n;let s=r.querySelector(".task-card__badges")||r.querySelector(".task-card__main-row");return s?af({container:s,...t}):null}function $u(r){if(r.dataset.tnNoDrag==="true"){r.setAttribute("draggable","false");return}r.dataset.tnNoDrag="true",r.setAttribute("draggable","false"),r.addEventListener("mousedown",e=>{e.preventDefault(),e.stopPropagation()})}function Hce(r,e,t,n,i){return s=>{s.stopPropagation(),(async()=>{try{let a=(o,l,c)=>{let d=e.statusManager.getStatusConfig(l);d!=null&&d.color?n.style.borderColor=d.color:n.style.removeProperty("border-color"),d!=null&&d.icon?(n.addClass("task-card__status-dot--icon"),n.empty(),(0,Ct.setIcon)(n,d.icon)):(n.removeClass("task-card__status-dot--icon"),n.empty()),d!=null&&d.color?t.style.setProperty("--current-status-color",d.color):t.style.removeProperty("--current-status-color");let u=e.statusManager.getNextStatus(l),p=e.statusManager.getStatusConfig(u);p!=null&&p.color?t.style.setProperty("--next-status-color",p.color):t.style.removeProperty("--next-status-color");let m=t.querySelector(".task-card__checkbox");m&&(m.checked=c),Cqe(t,o,e,c,l)};if(r.recurrence){let o=await e.toggleRecurringTaskComplete(r,i),l=Pg(o,i,e.statusManager.getCompletedStatuses()[0]),c=e.statusManager.isCompletedStatus(l);a(o,l,c)}else{let o=await e.cacheManager.getTaskInfo(r.path);if(!o){new Ct.Notice("Task not found");return}let l=o.status||e.settings.defaultTaskStatus,c=s.shiftKey?e.statusManager.getPreviousStatus(l):e.statusManager.getNextStatus(l),d=await e.updateTaskProperty(o,"status",c),u=e.statusManager.isCompletedStatus(c);a(d,c,u)}}catch(a){let o=a instanceof Error?a.message:String(a);console.error("Error cycling task status:",{error:o,taskPath:r.path}),new Ct.Notice(`Failed to update task status: ${o}`)}})()}}function Cqe(r,e,t,n,i){var o;r.classList.toggle("task-card--completed",n),r.classList.toggle("task-card--archived",!!e.archived),r.classList.toggle("task-card--actively-tracked",t.getActiveTimeSession(e)!==null),r.classList.toggle("task-card--recurring",!!e.recurrence),r.classList.toggle("task-card--chevron-left",((o=t.settings)==null?void 0:o.subtaskChevronPosition)==="left");for(let l of Array.from(r.classList))l.startsWith("task-card--priority-")&&r.classList.remove(l);e.priority&&r.classList.add(`task-card--priority-${l1(e.priority)}`);for(let l of Array.from(r.classList))l.startsWith("task-card--status-")&&r.classList.remove(l);i&&r.classList.add(`task-card--status-${l1(i)}`),r.dataset.status=i;let s=r.querySelector(".task-card__title"),a=r.querySelector(".task-card__title-text");s&&s.classList.toggle("completed",n),a&&a.classList.toggle("completed",n)}function Pqe(r,e){return t=>{t.stopPropagation(),new $o({currentValue:r.priority,onSelect:i=>{(async()=>{try{await e.updateTaskProperty(r,"priority",i)}catch(s){console.error("Error updating priority:",s),new Ct.Notice("Failed to update priority")}})()},plugin:e}).show(t)}}function Uce(r,e){return t=>{t.stopPropagation(),new jo({currentValue:typeof r.recurrence=="string"?r.recurrence:void 0,currentAnchor:r.recurrence_anchor||"scheduled",scheduledDate:r.scheduled,onSelect:(i,s)=>{(async()=>{try{await e.updateTaskProperty(r,"recurrence",i||void 0),s!==void 0&&await e.updateTaskProperty(r,"recurrence_anchor",s)}catch(a){console.error("Error updating recurrence:",a),new Ct.Notice("Failed to update recurrence")}})()},app:e.app,plugin:e}).show(t)}}function Vce(r,e){return()=>{new zo(e.app,e,r,n=>{(async()=>{try{await e.updateTaskProperty(r,"reminders",n.length>0?n:void 0)}catch(i){console.error("Error updating reminders:",i),new Ct.Notice("Failed to update reminders")}})()}).open()}}function Wce(r,e){return()=>{(async()=>{try{await e.applyProjectSubtaskFilter(r)}catch(t){console.error("Error filtering project subtasks:",t),new Ct.Notice("Failed to filter project subtasks")}})()}}function Yce(r,e,t,n){return()=>{(async()=>{try{if(!e.expandedProjectsService){new Ct.Notice("Service not available. Please try reloading the plugin.");return}let i=e.expandedProjectsService.toggle(r.path);n.classList.toggle("task-card__chevron--expanded",i);let s=JC(e,i);n.setAttribute("aria-label",s),(0,Ct.setTooltip)(n,s,{placement:"top"}),await $w(t,r,e,i)}catch(i){console.error("Error toggling subtasks:",i),new Ct.Notice("Failed to toggle subtasks")}})()}}function _qe(r,e,t,n){return()=>{(async()=>{let i=n.classList.toggle("task-card__blocking-toggle--expanded");await O$(t,r,e,i)})()}}function pr(r,e,t,n={}){var ee,ae,ce,J,de,vt,ct,Ae,Z,X,Me;let i={...N$,...n},s=i.targetDate||(()=>{let me=new Date;return new Date(Date.UTC(me.getFullYear(),me.getMonth(),me.getDate()))})(),a=r.recurrence?Pg(r,s,e.statusManager.getCompletedStatuses()[0]):r.status,o=i.layout||"default",l=activeDocument.createElement(o==="inline"?"span":"div"),c=l;c._taskPath=r.path,c._taskCardOptions=i;let d=e.getActiveTimeSession(r)!==null,u=r.recurrence?((ee=r.complete_instances)==null?void 0:ee.includes(ue(s)))||!1:e.statusManager.isCompletedStatus(a),p=r.recurrence&&((ae=r.skipped_instances)==null?void 0:ae.includes(ue(s)))||!1,m=!!r.recurrence,f=["task-card"];o!=="default"&&f.push(`task-card--layout-${o}`),u&&f.push("task-card--completed"),p&&f.push("task-card--skipped"),r.archived&&f.push("task-card--archived"),d&&f.push("task-card--actively-tracked"),m&&f.push("task-card--recurring"),r.priority&&f.push(`task-card--priority-${r.priority}`),a&&f.push(`task-card--status-${a}`),((ce=e.settings)==null?void 0:ce.subtaskChevronPosition)==="left"&&f.push("task-card--chevron-left"),ku(r.projects||[]).length>0&&f.push("task-card--has-projects"),l.className=f.join(" "),l.dataset.taskPath=r.path,l.dataset.key=r.path,l.dataset.status=a;let g=l.createEl(o==="inline"?"span":"div",{cls:"task-card__main-row"}),y=e.priorityManager.getPriorityConfig(r.priority);y&&l.style.setProperty("--priority-color",y.color);let k=e.statusManager.getStatusConfig(a);k&&l.style.setProperty("--current-status-color",k.color);let T=e.statusManager.getNextStatus(a),w=e.statusManager.getStatusConfig(T);w&&l.style.setProperty("--next-status-color",w.color);let S=null;!i.hideStatusIndicator&&(!t||t.some(me=>fd(me,"status",e)))&&(S=g.createEl("span",{cls:"task-card__status-dot"}),k&&(S.style.borderColor=k.color,k.icon&&(S.addClass("task-card__status-dot--icon"),(0,Ct.setIcon)(S,k.icon)))),S&&($u(S),S.addEventListener("click",Hce(r,e,l,S,s)));let C=!t||t.some(me=>fd(me,"priority",e));if(r.priority&&y&&C){let me=g.createEl("span",{cls:"task-card__priority-dot",attr:{"aria-label":Fw(e,"priorityAriaLabel",{label:y.label})}});me.style.borderColor=y.color,$u(me),me.addEventListener("click",Pqe(r,e))}let D=g.createEl(o==="inline"?"span":"div",{cls:"task-card__content"}),A=o!=="inline"?g.createEl("div",{cls:"task-card__badges"}):null;if(A&&i.showSecondaryBadges){if(r.recurrence){let Lt=Ow(e,r.recurrence,i.propertyLabels);af({container:A,className:"task-card__recurring-indicator",icon:"rotate-ccw",tooltip:Lt,onClick:Uce(r,e)})}if(r.reminders&&r.reminders.length>0){let Lt=r.reminders.length,nr=E$(e,Lt);af({container:A,className:"task-card__reminder-indicator",icon:"bell",tooltip:nr,onClick:Vce(r,e)})}if(e.projectSubtasksService.isTaskUsedAsProjectSync(r.path)&&(af({container:A,className:"task-card__project-indicator",icon:"folder",tooltip:Fw(e,"projectTooltip"),onClick:Wce(r,e)}),(J=e.settings)!=null&&J.showExpandableSubtasks)){let Lt=((de=e.expandedProjectsService)==null?void 0:de.isExpanded(r.path))||!1;af({container:A,className:`task-card__chevron${Lt?" task-card__chevron--expanded":""}`,icon:"chevron-right",tooltip:JC(e,Lt),onClick:()=>{let nr=l.querySelector(".task-card__chevron");nr&&Yce(r,e,l,nr)()}}),Lt&&$w(l,r,e,!0).catch(nr=>{console.error("Error showing initial subtasks:",nr)})}if(r.blocking&&r.blocking.length>0){let Lt=(ct=(vt=r.blocking)==null?void 0:vt.length)!=null?ct:0,nr=e.i18n.translate("ui.taskCard.blockingToggle",{count:Lt});af({container:A,className:"task-card__blocking-toggle is-visible",icon:"git-branch",tooltip:nr,onClick:()=>{let Di=l.querySelector(".task-card__blocking-toggle");Di&&_qe(r,e,l,Di)()}})}}let N=g.createEl("div",{cls:"task-card__context-menu",attr:{"aria-label":Fw(e,"taskOptions")}});(0,Ct.setIcon)(N,"ellipsis-vertical"),(0,Ct.setTooltip)(N,Fw(e,"taskOptions"),{placement:"top"}),$u(N),N.addEventListener("click",me=>{me.stopPropagation(),me.preventDefault(),ju(me,r.path,e,s)});let V=D.createEl(o==="inline"?"span":"div",{cls:"task-card__title"}),R=V.createSpan({cls:"task-card__title-text",text:r.title});u&&(V.classList.add("completed"),R.classList.add("completed"));let I=D.createEl(o==="inline"?"span":"div",{cls:"task-card__metadata"}),O=[],z=t||(e.settings.defaultVisibleProperties?Fi(e.settings.defaultVisibleProperties,e):P$(e));for(let me of z){if(fd(me,"status",e)||fd(me,"priority",e))continue;if(me==="blocked"){if(r.isBlocked){let Lt=e.i18n.translate("ui.taskCard.blockedBadge"),nr=(Z=(Ae=r.blockedBy)==null?void 0:Ae.length)!=null?Z:0,Di=nr>0?`${Lt} (${nr})`:Lt,Oa=I.createSpan({cls:"task-card__metadata-pill task-card__metadata-pill--blocked",text:Di});(0,Ct.setTooltip)(Oa,e.i18n.translate("ui.taskCard.blockedBadgeTooltip"),{placement:"top"}),O.push(Oa)}continue}if(me==="blocking"){if(r.isBlocking){let Lt=e.i18n.translate("ui.taskCard.blockingBadge"),nr=(Me=(X=r.blocking)==null?void 0:X.length)!=null?Me:0,Di=nr>0?`${Lt} (${nr})`:Lt,Oa=I.createSpan({cls:"task-card__metadata-pill task-card__metadata-pill--blocking",text:Di});(0,Ct.setTooltip)(Oa,e.i18n.translate("ui.taskCard.blockingBadgeTooltip"),{placement:"top"}),O.push(Oa)}continue}if(me==="googleCalendarSync"){if(r.googleCalendarEventId){let Lt=I.createSpan({cls:"task-card__metadata-pill task-card__metadata-pill--google-calendar"});(0,Ct.setIcon)(Lt,"calendar"),(0,Ct.setTooltip)(Lt,e.i18n.translate("ui.taskCard.googleCalendarSyncTooltip"),{placement:"top"}),O.push(Lt)}continue}let gr=_$(I,me,r,e,i);gr&&O.push(gr)}M$(I,O);let{clickHandler:B,dblclickHandler:W,contextmenuHandler:Y}=wce({task:r,plugin:e,contextMenuHandler:me=>{let gr=l.dataset.taskPath;gr&&ju(me,gr,e,s)}});return l.addEventListener("click",B),l.addEventListener("dblclick",W),l.addEventListener("contextmenu",Y),i.enableHoverPreview&&l.addEventListener("mouseover",Sce(r,e)),l}async function ju(r,e,t,n){let i=t.app.vault.getAbstractFileByPath(e),s=()=>{i instanceof Ct.TFile&&Mqe(r,i,t)};try{let a=await t.cacheManager.getTaskInfo(e);if(!a){s();return}new ry({task:a,plugin:t,targetDate:n,onUpdate:()=>{t.app.workspace.trigger("tasknotes:refresh-views")}}).show(r)}catch(a){let o=a instanceof Error?a.message:String(a);console.error("Error creating context menu:",{error:o,taskPath:e}),new Ct.Notice(`Failed to create context menu: ${o}`),s()}}function Mqe(r,e,t){var s,a;let n=new Ct.Menu,i=!1;try{t.app.workspace.trigger("file-menu",n,e,"tasknotes-bases-view"),i=((a=(s=n.items)==null?void 0:s.length)!=null?a:0)>0}catch(o){i=!1}i||(n.addItem(o=>{o.setTitle("Open"),o.setIcon("file-text"),o.onClick(()=>{t.app.workspace.getLeaf(!1).openFile(e)})}),n.addItem(o=>{o.setTitle("Open in new tab"),o.setIcon("external-link"),o.onClick(()=>{t.app.workspace.openLinkText(e.path,"",!0)})})),n.showAtMouseEvent(r)}function Aqe(r,e,t,n,i={}){var Y,ee,ae,ce,J,de,vt,ct;let s={...N$,...i},a=s.targetDate||(()=>{let Ae=new Date;return new Date(Date.UTC(Ae.getFullYear(),Ae.getMonth(),Ae.getDate()))})(),o=e.recurrence?Pg(e,a,t.statusManager.getCompletedStatuses()[0]):e.status,l=t.getActiveTimeSession(e)!==null,c=e.recurrence?((Y=e.complete_instances)==null?void 0:Y.includes(ue(a)))||!1:t.statusManager.isCompletedStatus(o),d=e.recurrence&&((ee=e.skipped_instances)==null?void 0:ee.includes(ue(a)))||!1,u=!!e.recurrence,p=["task-card"];c&&p.push("task-card--completed"),d&&p.push("task-card--skipped"),e.archived&&p.push("task-card--archived"),l&&p.push("task-card--actively-tracked"),u&&p.push("task-card--recurring"),e.priority&&p.push(`task-card--priority-${e.priority}`),o&&p.push(`task-card--status-${o}`),((ae=t.settings)==null?void 0:ae.subtaskChevronPosition)==="left"&&p.push("task-card--chevron-left"),r.className=p.join(" "),r.dataset.status=o;let m=r.querySelector(".task-card__main-row"),f=t.priorityManager.getPriorityConfig(e.priority);f&&r.style.setProperty("--priority-color",f.color);let h=t.statusManager.getStatusConfig(o);h&&r.style.setProperty("--current-status-color",h.color);let g=t.statusManager.getNextStatus(o),y=t.statusManager.getStatusConfig(g);y&&r.style.setProperty("--next-status-color",y.color);let k=r.querySelector(".task-card__checkbox");k&&(k.checked=t.statusManager.isCompletedStatus(o));let T=!n||n.some(Ae=>fd(Ae,"status",t)),w=r.querySelector(".task-card__status-dot");if(T){if(w)h&&(w.style.borderColor=h.color);else if(m){let Ae=m.createEl("span",{cls:"task-card__status-dot"});h&&(Ae.style.borderColor=h.color),$u(Ae),Ae.addEventListener("click",Hce(e,t,r,Ae,a));let Z=r.querySelector(".task-card__checkbox");Z?Z.insertAdjacentElement("afterend",Ae):m.insertBefore(Ae,m.firstChild)}}else w&&w.remove();let S=!n||n.some(Ae=>fd(Ae,"priority",t)),E=r.querySelector(".task-card__priority-dot");if(S&&e.priority&&f){if(!E&&m){let Ae=m.createEl("span",{cls:"task-card__priority-dot",attr:{"aria-label":`Priority: ${f.label}`}});Ae.style.borderColor=f.color,$u(Ae),Ae.addEventListener("click",Me=>{Me.stopPropagation(),new $o({currentValue:e.priority,onSelect:gr=>{(async()=>{try{await t.updateTaskProperty(e,"priority",gr)}catch(Lt){console.error("Error updating priority:",Lt),new Ct.Notice("Failed to update priority")}})()},plugin:t}).show(Me)});let Z=r.querySelector(".task-card__status-dot"),X=r.querySelector(".task-card__checkbox");Z?Z.insertAdjacentElement("afterend",Ae):X?X.insertAdjacentElement("afterend",Ae):m.insertBefore(Ae,m.firstChild)}else if(E){E.style.borderColor=f.color,E.setAttribute("aria-label",`Priority: ${f.label}`);let Ae=E.cloneNode(!0);$u(Ae),Ae.addEventListener("click",Z=>{Z.stopPropagation(),new $o({currentValue:e.priority,onSelect:Me=>{(async()=>{try{await t.updateTaskProperty(e,"priority",Me)}catch(me){console.error("Error updating priority:",me),new Ct.Notice("Failed to update priority")}})()},plugin:t}).show(Z)}),E.replaceWith(Ae)}}else E&&E.remove();let C=r.querySelector(".task-card__badges"),D=e.recurrence?Ow(t,e.recurrence,s.propertyLabels):"";I$(r,".task-card__recurring-indicator",{shouldExist:!!e.recurrence,className:"task-card__recurring-indicator",icon:"rotate-ccw",tooltip:D,onClick:Uce(e,t)});let A=!!(e.reminders&&e.reminders.length>0),N=((ce=e.reminders)==null?void 0:ce.length)||0,V=E$(t,N);I$(r,".task-card__reminder-indicator",{shouldExist:A,className:"task-card__reminder-indicator",icon:"bell",tooltip:V,onClick:Vce(e,t)}),t.projectSubtasksService.isTaskUsedAsProject(e.path).then(Ae=>{var Me,me,gr,Lt;(Me=r.querySelector(".task-card__project-indicator-placeholder"))==null||Me.remove(),(me=r.querySelector(".task-card__chevron-placeholder"))==null||me.remove(),I$(r,".task-card__project-indicator",{shouldExist:Ae,className:"task-card__project-indicator",icon:"folder",tooltip:Fw(t,"projectTooltip"),onClick:Wce(e,t)});let Z=Ae&&((gr=t.settings)==null?void 0:gr.showExpandableSubtasks),X=r.querySelector(".task-card__chevron");if(Z&&!X){let nr=((Lt=t.expandedProjectsService)==null?void 0:Lt.isExpanded(e.path))||!1;af({container:C||m,className:`task-card__chevron${nr?" task-card__chevron--expanded":""}`,icon:"chevron-right",tooltip:JC(t,nr),onClick:()=>{let Di=r.querySelector(".task-card__chevron");Di&&Yce(e,t,r,Di)()}}),nr&&$w(r,e,t,!0).catch(Di=>{console.error("Error showing initial subtasks in update:",Di)})}else if(!Z&&X){X.remove();let nr=r.querySelector(".task-card__subtasks");if(nr){let Di=nr,Oa=Di._clickHandler;Oa&&(nr.removeEventListener("click",Oa),delete Di._clickHandler),nr.remove()}}}).catch(Ae=>{console.error("Error checking if task is used as project in update:",Ae)});let R=r.querySelector(".task-card__blocking-toggle");if(R)if(e.blocking&&e.blocking.length>0){R.classList.add("is-visible"),R.classList.remove("is-hidden");let Ae=t.i18n.translate("ui.taskCard.blockingToggle",{count:e.blocking.length});R.setAttribute("aria-label",Ae),(0,Ct.setTooltip)(R,Ae,{placement:"top"}),R.dataset.count=String(e.blocking.length),R.classList.contains("task-card__blocking-toggle--expanded")&&O$(r,e,t,!0).catch(Z=>{console.error("Error refreshing blocking tasks:",Z)})}else{R.classList.remove("is-visible","task-card__blocking-toggle--expanded"),R.classList.add("is-hidden");let Ae=r.querySelector(".task-card__blocking");Ae&&Ae.remove()}let I=r.querySelector(".task-card__title-text"),O=r.querySelector(".task-card__title"),z=c;I&&(I.textContent=e.title,I.classList.toggle("completed",z)),O&&O.classList.toggle("completed",z);let B=r.querySelector(".task-card__badge--blocked");B&&B.remove();let W=r.querySelector(".task-card__metadata");if(W){W.innerHTML="";let Ae=[],Z=n||(t.settings.defaultVisibleProperties?Fi(t.settings.defaultVisibleProperties,t):P$(t));for(let X of Z){if(fd(X,"status",t)||fd(X,"priority",t))continue;if(X==="blocked"){if(e.isBlocked){let me=t.i18n.translate("ui.taskCard.blockedBadge"),gr=(de=(J=e.blockedBy)==null?void 0:J.length)!=null?de:0,Lt=gr>0?`${me} (${gr})`:me,nr=W.createSpan({cls:"task-card__metadata-pill task-card__metadata-pill--blocked",text:Lt});(0,Ct.setTooltip)(nr,t.i18n.translate("ui.taskCard.blockedBadgeTooltip"),{placement:"top"}),Ae.push(nr)}continue}if(X==="blocking"){if(e.isBlocking){let me=t.i18n.translate("ui.taskCard.blockingBadge"),gr=(ct=(vt=e.blocking)==null?void 0:vt.length)!=null?ct:0,Lt=gr>0?`${me} (${gr})`:me,nr=W.createSpan({cls:"task-card__metadata-pill task-card__metadata-pill--blocking",text:Lt});(0,Ct.setTooltip)(nr,t.i18n.translate("ui.taskCard.blockingBadgeTooltip"),{placement:"top"}),Ae.push(nr)}continue}let Me=_$(W,X,e,t,s);Me&&Ae.push(Me)}M$(W,Ae)}}function Iqe(r){let e=r.querySelector(".task-card__subtasks");if(e){let t=e,n=t._clickHandler;n&&(e.removeEventListener("click",n),delete t._clickHandler)}}async function $w(r,e,t,n){try{let i=r.querySelector(".task-card__subtasks");if(n){if(!i){i=r.ownerDocument.createElement("div"),i.className="task-card__subtasks";let a=o=>{o.stopPropagation()};i.addEventListener("click",a),i._clickHandler=a,Bce(i,r),r.appendChild(i)}for(;i.firstChild;)i.removeChild(i.firstChild);let s=i.createEl("div",{cls:"task-card__subtasks-loading",text:t.i18n.translate("contextMenus.task.subtasks.loading")});try{let a=t.app.vault.getAbstractFileByPath(e.path);if(!(a instanceof Ct.TFile))throw new Error("Task file not found");if(!t.projectSubtasksService)throw new Error("projectSubtasksService not initialized");let o=qce(r,await t.projectSubtasksService.getTasksLinkedToProject(a));if(s.remove(),o.length===0){i.createEl("div",{cls:"task-card__subtasks-loading",text:t.i18n.translate("contextMenus.task.subtasks.noSubtasks")});return}let l=t.projectSubtasksService.sortTasks(o),d=(u=>{var f;let p=[],m=u.closest(".task-card");for(;m;){let h=m._taskPath;typeof h=="string"&&p.unshift(h),m=(f=m.parentElement)==null?void 0:f.closest(".task-card")}return p})(r);for(let u of l){if(d.includes(u.path)){console.warn("Circular reference detected in task chain:",{subtask:u.path,parentChain:d,cycle:[...d,u.path]});continue}let p=pr(u,t,void 0,R$(r));p.classList.add("task-card--subtask"),i.appendChild(p)}}catch(a){console.error("Error loading subtasks:",a),s.textContent=t.i18n.translate("contextMenus.task.subtasks.loadFailed")}}else if(i){let s=i,a=s._clickHandler;a&&(i.removeEventListener("click",a),delete s._clickHandler),i.remove()}}catch(i){throw console.error("Error in toggleSubtasks:",i),i}}async function O$(r,e,t,n){let i=r.querySelector(".task-card__blocking");if(!n){i&&(r.classList.remove("task-card--nested-interactive-hover"),i.remove());return}i||(i=r.createDiv({cls:"task-card__blocking"}),Bce(i,r),i.addEventListener("click",a=>a.stopPropagation()),i.addEventListener("dblclick",a=>a.stopPropagation()),i.addEventListener("contextmenu",a=>a.stopPropagation())),i.empty();let s=i.createDiv({cls:"task-card__blocking-loading",text:t.i18n.translate("ui.taskCard.loadingDependencies")});try{let a=e.blocking?await Promise.all(e.blocking.map(l=>t.cacheManager.getTaskInfo(l))):[],o=qce(r,a.filter(l=>!!l));if(s.remove(),o.length===0){i.createDiv({cls:"task-card__blocking-empty",text:t.i18n.translate("ui.taskCard.blockingEmpty")});return}o.forEach(l=>{let c=pr(l,t,void 0,R$(r));c.classList.add("task-card--dependency"),i&&i.appendChild(c)})}catch(a){console.error("Error loading blocking tasks:",a),s.textContent=t.i18n.translate("ui.taskCard.blockingLoadError")}}async function Nqe(r,e,t){if(!r||!r.projects||r.projects.length===0)return;let n=0,i=10;for(;n<i;){try{let a=await e.cacheManager.getTaskInfo(r.path);if(a&&a.dateModified===r.dateModified)break}catch(a){}await new Promise(a=>window.setTimeout(a,10)),n++}let s=t.querySelectorAll(".task-card__chevron--expanded");for(let a of s){let o=a.closest(".task-card");if(!o)continue;let l=o.dataset.taskPath;if(!l)continue;let c=e.app.vault.getAbstractFileByPath(l);if(!(c instanceof Ct.TFile))continue;let d=c.basename;if(r.projects.flat(2).some(p=>{if(p&&typeof p=="string"&&p.startsWith("[[")&&p.endsWith("]]")){let m=p.slice(2,-2).trim(),f=(0,Ct.parseLinktext)(m).path,h=e.app.metadataCache.getFirstLinkpathDest(f,"");return f===d||h&&h.path===l}return p===d||p===l})&&o.querySelector(".task-card__subtasks"))try{let m=await e.cacheManager.getTaskInfo(l);m&&await $w(o,m,e,!0)}catch(m){console.error("Error refreshing parent task subtasks:",m)}}}var Ct,N$,$i=v(()=>{Ct=require("obsidian");T$();Cr();Qe();jr();sT();gg();S$();yg();hd();D$();$ce();zce();N$={layout:"default",showSecondaryBadges:!0,enableHoverPreview:!0}});function sy(r,e,t={}){let n=Ve(),i={title:e.title.trim(),status:e.status||r.settings.defaultTaskStatus,priority:e.priority||r.settings.defaultTaskPriority,dateCreated:n,dateModified:n};if(t.creationContext&&(i.creationContext=t.creationContext),e.dueDate&&(i.due=e.dueTime?ts(e.dueDate,e.dueTime):e.dueDate),e.scheduledDate&&(i.scheduled=e.scheduledTime?ts(e.scheduledDate,e.scheduledTime):e.scheduledDate),e.contexts&&e.contexts.length>0&&(i.contexts=e.contexts),e.projects&&e.projects.length>0&&(i.projects=e.projects),e.tags&&e.tags.length>0&&(i.tags=e.tags.map(s=>Ai(s))),e.details&&(i.details=e.details),e.recurrence&&(i.recurrence=e.recurrence),e.estimate&&e.estimate>0&&(i.timeEstimate=e.estimate),e.userFields){let s=r.settings.userFields||[],a={};for(let[o,l]of Object.entries(e.userFields)){let c=s.find(d=>d.id===o);c&&(a[c.key]=Array.isArray(l)?l.join(", "):l)}Object.keys(a).length>0&&(i.customFrontmatter=a)}return i}var eP=v(()=>{Qe();Cr()});var Gce={};et(Gce,{TaskSelectorWithCreateModal:()=>jw,openTaskSelector:()=>pn,openTaskSelectorWithCreate:()=>Rqe});async function Rqe(r,e){let t=await r.cacheManager.getAllTasks();return new Promise(n=>{new jw(r.app,r,t,{onResult:n,...e}).open()})}function pn(r,e,t,n){new jw(r.app,r,e,{placeholder:n==null?void 0:n.placeholder,title:n==null?void 0:n.title,onResult:s=>{s.type==="selected"||s.type==="created"?t(s.task):t(null)}}).open()}var Fl,jw,Wo=v(()=>{Fl=require("obsidian");Cr();Ru();$i();eP();jw=class extends Fl.SuggestModal{constructor(t,n,i,s){super(t);this.createFooterEl=null;this.currentQuery="";this.resultHandled=!1;this.handleInputChange=()=>{let t=this.inputEl.value.trim();this.currentQuery=t,this.updateCreateFooter(t)};this.plugin=n,this.tasks=i,this.options=s,this.translate=n.i18n.translate.bind(n.i18n),this.nlParser=Oi.fromPlugin(n),this.setPlaceholder(s.placeholder||this.translate("modals.taskSelectorWithCreate.placeholder")),this.setInstructions([{command:"\u2191\u2193",purpose:this.translate("modals.taskSelector.instructions.navigate")},{command:"\u21B5",purpose:this.translate("modals.taskSelector.instructions.select")},{command:"\u21E7\u21B5",purpose:this.translate("modals.taskSelectorWithCreate.instructions.create")},{command:"esc",purpose:this.translate("modals.taskSelector.instructions.dismiss")}]),this.titleEl.setText(s.title||this.translate("modals.taskSelectorWithCreate.title")),this.titleEl.setAttribute("id","task-selector-with-create-title"),this.containerEl.setAttribute("aria-labelledby","task-selector-with-create-title"),this.containerEl.setAttribute("role","dialog"),this.containerEl.setAttribute("aria-modal","true"),this.containerEl.addClass("task-selector-with-create-modal"),this.containerEl.addClass("tasknotes-plugin")}onOpen(){super.onOpen(),this.scope.register(["Shift"],"Enter",t=>(t.preventDefault(),t.stopPropagation(),this.createNewTask(),!1)),this.inputEl.addEventListener("input",this.handleInputChange),window.setTimeout(()=>this.createFooter(),0)}createFooter(){var n;let t=((n=this.modalEl.querySelector(".prompt"))==null?void 0:n.parentElement)||this.modalEl;this.createFooterEl=createDiv({cls:"task-selector-create-footer"}),this.createFooterEl.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-min-height-800px-997b4c8c"),this.createFooterEl.classList.add("tn-static-display-none-6b99de8b"),t.appendChild(this.createFooterEl)}updateCreateFooter(t){if(!this.createFooterEl)return;if(!t){this.createFooterEl.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-min-height-800px-997b4c8c"),this.createFooterEl.classList.add("tn-static-display-none-6b99de8b"),this.createFooterEl.empty();return}let n=this.nlParser.parseInput(t);if(n.title&&n.title!=="Untitled Task"){this.createFooterEl.empty(),this.createFooterEl.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),this.createFooterEl.classList.add("tn-static-display-flex-75816cae");let i=this.createFooterEl.createDiv({cls:"task-selector-create-footer__icon"});(0,Fl.setIcon)(i,"plus-circle");let s=this.createFooterEl.createDiv({cls:"task-selector-create-footer__content"});s.createDiv({cls:"task-selector-create-footer__title-line"}).createSpan({cls:"task-selector-create-footer__title",text:n.title});let o=this.buildMetadataParts(n);if(o.length>0){let c=s.createDiv({cls:"task-selector-create-footer__meta"});o.forEach(d=>{let u=c.createSpan({cls:`task-selector-create-footer__chip task-selector-create-footer__chip--${d.type}`}),p=u.createSpan({cls:"task-selector-create-footer__chip-icon"});(0,Fl.setIcon)(p,d.icon),u.createSpan({cls:"task-selector-create-footer__chip-text",text:d.text})})}let l=s.createDiv({cls:"task-selector-create-footer__hint"});l.createSpan({cls:"task-selector-create-footer__shortcut",text:"\u21E7\u21B5"}),l.createSpan({cls:"task-selector-create-footer__hint-text",text:this.translate("modals.taskSelectorWithCreate.footer.createLabel")})}else this.createFooterEl.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-min-height-800px-997b4c8c"),this.createFooterEl.classList.add("tn-static-display-none-6b99de8b"),this.createFooterEl.empty()}buildMetadataParts(t){let n=[];if(t.dueDate){let i=t.dueTime?`${t.dueDate} ${t.dueTime}`:t.dueDate;n.push({icon:"calendar",text:i,type:"due"})}if(t.scheduledDate){let i=t.scheduledTime?`${t.scheduledDate} ${t.scheduledTime}`:t.scheduledDate;n.push({icon:"calendar-clock",text:i,type:"scheduled"})}if(t.priority&&t.priority!=="normal"&&n.push({icon:"flag",text:t.priority,type:"priority"}),t.status){let i=this.plugin.statusManager.getStatusConfig(t.status);n.push({icon:"circle-dot",text:(i==null?void 0:i.label)||t.status,type:"status"})}if(t.contexts&&t.contexts.length>0&&t.contexts.forEach(i=>{n.push({icon:"at-sign",text:i,type:"context"})}),t.projects&&t.projects.length>0&&t.projects.forEach(i=>{n.push({icon:"folder",text:i.replace(/^\[\[|\]\]$/g,""),type:"project"})}),t.tags&&t.tags.length>0&&t.tags.forEach(i=>{n.push({icon:"hash",text:i,type:"tag"})}),t.recurrence&&n.push({icon:"repeat",text:t.recurrence,type:"recurrence"}),t.estimate&&t.estimate>0){let i=Math.floor(t.estimate/60),s=t.estimate%60,a=i>0?`${i}h ${s}m`:`${s}m`;n.push({icon:"timer",text:a,type:"estimate"})}if(t.details){let i=t.details.length>30?t.details.substring(0,30)+"...":t.details;n.push({icon:"file-text",text:i,type:"details"})}if(t.userFields){let i=this.plugin.settings.userFields||[];for(let[s,a]of Object.entries(t.userFields)){let o=i.find(d=>d.id===s),l=(o==null?void 0:o.displayName)||s,c=Array.isArray(a)?a.join(", "):a;n.push({icon:"sliders-horizontal",text:`${l}: ${c}`,type:"userfield"})}}return n}async createNewTask(){let t=this.inputEl.value.trim();if(!t){new Fl.Notice(this.translate("modals.taskSelectorWithCreate.notices.emptyQuery"));return}try{let n=this.nlParser.parseInput(t);if(!n.title||n.title==="Untitled Task"){new Fl.Notice(this.translate("modals.taskSelectorWithCreate.notices.invalidTitle"));return}let i=this.buildTaskDataFromParsed(n),s=await this.plugin.taskService.createTask(i);new Fl.Notice(this.translate("modals.taskCreation.notices.success",{title:s.taskInfo.title})),this.resultHandled=!0,this.close(),this.options.onResult({type:"created",task:s.taskInfo})}catch(n){console.error("Failed to create task:",n);let i=n instanceof Error?n.message:String(n);new Fl.Notice(this.translate("modals.taskCreation.notices.failure",{message:i}))}}buildTaskDataFromParsed(t){return sy(this.plugin,t)}getSuggestions(t){return this.currentQuery=t,this.getFilteredTasks(t)}getFilteredTasks(t){let n=t.toLowerCase();return this.tasks.filter(i=>!i.archived).filter(i=>{var a;return!!(!t||i.title&&i.title.toLowerCase().includes(n)||i.due&&i.due.toLowerCase().includes(n)||i.priority&&i.priority!=="normal"&&i.priority.toLowerCase().includes(n)||(a=i.contexts)!=null&&a.some(o=>o&&o.toLowerCase().includes(n))||ku(i.projects||[]).some(o=>o&&o.toLowerCase().includes(n)))}).sort((i,s)=>{var u,p;let a=this.plugin.statusManager.isCompletedStatus(i.status),o=this.plugin.statusManager.isCompletedStatus(s.status);if(a!==o)return a?1:-1;if(i.due&&!s.due)return-1;if(!i.due&&s.due)return 1;if(i.due&&s.due){let m=i.due.localeCompare(s.due);if(m!==0)return m}let l={high:0,normal:1,low:2},c=(u=l[i.priority])!=null?u:1,d=(p=l[s.priority])!=null?p:1;return c!==d?c-d:i.title.localeCompare(s.title)})}renderSuggestion(t,n){let i=pr(t,this.plugin,void 0,{layout:"default"});i.classList.add("task-selector-modal__suggestion");let s=i.cloneNode(!0);n.appendChild(s)}onChooseSuggestion(t,n){this.resultHandled=!0,this.options.onResult({type:"selected",task:t})}onClose(){this.inputEl.removeEventListener("input",this.handleInputChange),this.createFooterEl&&(this.createFooterEl.remove(),this.createFooterEl=null),window.setTimeout(()=>{this.resultHandled||this.options.onResult({type:"cancelled"})},0),super.onClose()}}});function zw(r,e){var t;return new Kce.Setting(r).setName(e.label).addButton(n=>{n.setButtonText(e.buttonText).setTooltip(e.buttonTooltip).onClick(e.onButtonClick),n.buttonEl.addClasses(["tn-btn","tn-btn--ghost"])}),(t=e.listElement)!=null?t:r.createDiv({cls:"task-projects-list"})}var Kce,Zce=v(()=>{Kce=require("obsidian")});function L$({plugin:r,sourcePath:e},t){return{dependency:{uid:Ba(r.app,e,t.path,r.settings.useFrontmatterMarkdownLinks),reltype:Ds},path:t.path,name:t.basename}}function Qce({plugin:r,sourcePath:e},t){var a;let n=El(t);if(!n){let o=typeof t=="object"&&t&&"uid"in t&&typeof t.uid=="string"?t.uid:ie(t);return{dependency:{uid:o,reltype:Ds},name:o,unresolved:!0}}let i=Em(r.app,e,n);if(i){let o=((a=i.file)==null?void 0:a.basename)||i.path.split("/").pop()||n.uid;return{dependency:n,path:i.path,name:o}}let s=n.uid.replace(/^\[\[/,"").replace(/\]\]$/,"");return{dependency:n,name:s||t.uid,unresolved:!0}}function Jce({plugin:r,sourcePath:e},t){let n=r.app.vault.getAbstractFileByPath(t);if(n instanceof Bw.TFile)return L$({plugin:r,sourcePath:e},n);let s=(t.split("/").pop()||t).replace(/\.md$/i,"");return{dependency:{uid:`[[${s}]]`,reltype:Ds},path:t,name:s,unresolved:!0}}function F$(r,e){return r.some(t=>t.dependency.uid===e.dependency.uid||!!e.path&&t.path===e.path)}async function Xce({plugin:r,listEl:e,items:t,linkServices:n,translate:i,onRemove:s}){if(e&&(e.empty(),t.length!==0))for(let[a,o]of t.entries()){let l=!!(o.path&&!o.unresolved),c=e.createDiv({cls:l?"task-project-item task-project-item--task-card":"task-project-item"});o.unresolved&&(c.addClass("task-project-item--unresolved"),(0,Bw.setTooltip)(c,i("contextMenus.task.dependencies.notices.unresolved",{entries:o.dependency.uid}),{placement:"top"}));let d=c.createDiv({cls:l?"task-project-card-host":"task-project-info"});o.path&&!o.unresolved?await Oqe(r,d,o,n):Lqe(d,o);let u=c.createEl("button",{cls:"task-project-remove",text:"\xD7"});(0,Bw.setTooltip)(u,i("modals.task.dependencies.removeTaskTooltip"),{placement:"top"}),u.addEventListener("click",p=>{p.preventDefault(),p.stopPropagation(),s(a)})}}async function Oqe(r,e,t,n){if(!t.path)return;let i=await r.cacheManager.getCachedTaskInfo(t.path);if(i){let a=pr(i,r,void 0,{layout:"default",showSecondaryBadges:!1,enableHoverPreview:!1});e.appendChild(a);return}let s=e.createSpan({cls:"task-project-name clickable-dependency"});Ml(s,t.path,t.name,n,{cssClass:"task-dependency-link internal-link",hoverSource:"tasknotes-dependency-link",showErrorNotices:!0}),t.path!==t.name&&e.createDiv({cls:"task-project-path",text:t.path})}function Lqe(r,e){var i;let t=r.createSpan({cls:"task-project-name"});t.textContent=e.name;let n=(i=e.path)!=null?i:e.dependency.uid;r.createDiv({cls:"task-project-path",text:n})}function $$(r,e,t){return Ba(r.app,e,t.path,r.settings.useFrontmatterMarkdownLinks)}var Bw,ede=v(()=>{Bw=require("obsidian");Zc();vT();$i();jr()});function qw(r,e){if(!r||!e)return 0;let t=r.toLowerCase().split(" ").filter(Boolean),n=e.toLowerCase(),i=0,s=0;for(let a=0;a<t.length;a++){let o=t[a],l=n.indexOf(o,i);if(l===-1)return 0;s+=Math.max(0,100-l),n.startsWith(o,l)&&(s+=10),a>0&&l===i&&(s+=5),i=l+o.length}return s}var tde=v(()=>{});var z$={};et(z$,{FileSuggestHelper:()=>j$});var rde,j$,tP=v(()=>{rde=require("obsidian");tde();yT();c1();Om();j$={async suggest(r,e,t=20,n){var a,o;let i=async()=>{var k,T,w,S,E,C,D,A,N,V;let l=(T=(k=r==null?void 0:r.app)==null?void 0:k.vault)!=null&&T.getMarkdownFiles?r.app.vault.getMarkdownFiles():[],c=[],d=((E=(S=(w=r.settings)==null?void 0:w.projectAutosuggest)==null?void 0:S.rows)!=null?E:[]).slice(0,3),u=new Set;for(let R of d)try{let I=Pl(R);for(let O of I)O.searchable&&!O.property.startsWith("literal:")&&u.add(O.property)}catch(I){}let p=(e||"").toLowerCase(),m=(C=n==null?void 0:n.requiredTags)!=null?C:[],f=(D=n==null?void 0:n.includeFolders)!=null?D:[],h=KD(n);for(let R of l){let I=r.app.metadataCache.getFileCache(R);if(m.length>0){let ae=((A=I==null?void 0:I.tags)==null?void 0:A.map(vt=>vt.tag.replace("#","")))||[],ce=((N=I==null?void 0:I.frontmatter)==null?void 0:N.tags)||[],J=[...ae,...Array.isArray(ce)?ce:[ce].filter(Boolean)];if(!vr.matchesTagConditions(J,m))continue}if(f.length>0&&!f.some(ce=>R.path.startsWith(ce)||R.path.startsWith(ce+"/")))continue;if(h.enabled){let ae=I==null?void 0:I.frontmatter;if(!ZD(ae,h))continue}let O=R.basename,z="";if(I!=null&&I.frontmatter){let ae=r.fieldMapper.mapFromFrontmatter(I.frontmatter,R.path,r.settings.storeTitleInFilename);z=typeof ae.title=="string"?ae.title:""}let B=I!=null&&I.frontmatter?(0,rde.parseFrontMatterAliases)(I.frontmatter)||[]:[],W=0,ee=p.length>0?qw(e,O):1;if(ee>0&&(W=Math.max(W,ee+15)),z){let ae=qw(e,z);ae>0&&(W=Math.max(W,ae+5))}if(Array.isArray(B)){for(let ae of B)if(typeof ae=="string"){let ce=qw(e,ae);ce>0&&(W=Math.max(W,ce))}}if(u.size>0){let ae=(I==null?void 0:I.frontmatter)||{};for(let ce of u){let J="";if(ce==="file.path")J=R.path;else if(ce==="file.parent")J=((V=R.parent)==null?void 0:V.path)||"";else if(ce==="file.basename")J=O;else if(ce==="title")J=z;else if(ce==="aliases")J=(Array.isArray(B)?B.filter(vt=>typeof vt=="string"):[]).join(" ");else{let de=ae[ce];de!=null&&(Array.isArray(de)?J=de.filter(vt=>typeof vt=="string").join(" "):typeof de=="object"?J=JSON.stringify(de):(typeof de=="string"||typeof de=="number"||typeof de=="boolean")&&(J=String(de)))}if(J){let de=qw(e,J),vt=de>0?de:J.toLowerCase().includes(p)?30:0;vt>0&&(W=Math.max(W,vt))}}}if(W>0){let ae=[];z&&z!==O&&ae.push(`title: ${z}`);let ce=Array.isArray(B)?B.filter(de=>typeof de=="string"):[];ce.length&&ae.push(`aliases: ${ce.join(", ")}`);let J=ae.length?`${O} [${ae.join(" | ")}]`:O;c.push({insertText:O,displayText:J,score:W})}}c.sort((R,I)=>I.score-R.score);let g=[],y=new Set;for(let R of c)if(!y.has(R.insertText)&&(g.push(R),y.add(R.insertText),g.length>=t))break;return g},s=(o=(a=r.settings)==null?void 0:a.suggestionDebounceMs)!=null?o:0;return s?new Promise(l=>{let c=r;c.__fileSuggestTimer&&window.clearTimeout(c.__fileSuggestTimer),c.__fileSuggestTimer=window.setTimeout(()=>{(async()=>{let d=await i();l(d)})()},s)}):i()}}});var iP,rP,nP,ay,nde=v(()=>{iP=require("obsidian"),rP=class extends iP.AbstractInputSuggest{constructor(e,t,n){super(e,t),this.plugin=n,this.input=t}async getSuggestions(e){let t=this.input.value.split(",").map(a=>a.trim()),n=t[t.length-1],i=this.plugin.cacheManager.getAllContexts(),s=t.slice(0,-1);return i.filter(a=>a&&typeof a=="string").filter(a=>!s.includes(a)&&(!n||a.toLowerCase().includes(n.toLowerCase()))).slice(0,10).map(a=>({value:a,display:a,type:"context",toString(){return this.value}}))}renderSuggestion(e,t){t.textContent=e.display}selectSuggestion(e){let t=this.input.value.split(",").map(n=>n.trim());t[t.length-1]=e.value,this.input.value=t.join(", ")+", ",this.input.dispatchEvent(new Event("input",{bubbles:!0})),this.input.focus()}},nP=class extends iP.AbstractInputSuggest{constructor(e,t,n){super(e,t),this.plugin=n,this.input=t}async getSuggestions(e){let t=this.input.value.split(",").map(a=>a.trim()),n=t[t.length-1],i=this.plugin.cacheManager.getAllTags(),s=t.slice(0,-1);return i.filter(a=>a&&typeof a=="string").filter(a=>!s.includes(a)&&(!n||a.toLowerCase().includes(n.toLowerCase()))).slice(0,10).map(a=>({value:a,display:a,type:"tag",toString(){return this.value}}))}renderSuggestion(e,t){t.textContent=e.display}selectSuggestion(e){let t=this.input.value.split(",").map(n=>n.trim());t[t.length-1]=e.value,this.input.value=t.join(", ")+", ",this.input.dispatchEvent(new Event("input",{bubbles:!0})),this.input.focus()}},ay=class extends iP.AbstractInputSuggest{constructor(e,t,n,i){super(e,t),this.plugin=n,this.input=t,this.fieldConfig=i}async getSuggestions(e){let t=this.fieldConfig.type==="list",n="",i=[];if(t?(i=this.input.value.split(",").map(o=>o.trim()),n=i[i.length-1]||""):n=this.input.value.trim(),!n)return[];let s=n.match(/\[\[([^\]]*)$/);if(s){let o=s[1]||"",{FileSuggestHelper:l}=await Promise.resolve().then(()=>(tP(),z$));return(await l.suggest(this.plugin,o,20,this.fieldConfig.autosuggestFilter)).map(d=>({value:d.insertText,display:d.displayText,type:"user-field",fieldKey:this.fieldConfig.key,toString(){return this.value}}))}return(await this.getExistingUserFieldValues(this.fieldConfig.key)).filter(o=>o&&typeof o=="string").filter(o=>o.toLowerCase().includes(n.toLowerCase())&&(!t||!i.slice(0,-1).includes(o))).slice(0,10).map(o=>({value:o,display:o,type:"user-field",fieldKey:this.fieldConfig.key,toString(){return this.value}}))}async getExistingUserFieldValues(e){var i,s;let t=async()=>{try{let a=this.plugin.app.vault.getMarkdownFiles(),o=new Set;for(let l of a)try{let c=this.plugin.app.metadataCache.getFileCache(l),d=c==null?void 0:c.frontmatter;if(d&&d[e]!==void 0){let u=d[e];Array.isArray(u)?u.forEach(p=>{typeof p=="string"&&p.trim()&&o.add(p.trim())}):typeof u=="string"&&u.trim()?o.add(u.trim()):(typeof u=="number"||typeof u=="boolean")&&o.add(u.toString())}if(o.size>=200)break}catch(c){continue}return Array.from(o).sort()}catch(a){return console.error("Error getting user field values:",a),[]}},n=(s=(i=this.plugin.settings)==null?void 0:i.suggestionDebounceMs)!=null?s:0;return n?new Promise(a=>{let o=this.plugin;o.__userFieldSuggestTimer&&window.clearTimeout(o.__userFieldSuggestTimer),o.__userFieldSuggestTimer=window.setTimeout(()=>{(async()=>a(await t()))()},n)}):t()}renderSuggestion(e,t){t.textContent=e.display}selectSuggestion(e){var n;if(this.fieldConfig.type==="list"){let i=this.input.value.split(","),s=(n=i.pop())!=null?n:"",a=i.join(","),o=s.trim(),l=/\[\[/.test(o)?o.replace(/\[\[[^\]]*$/,`[[${e.value}]]`):e.value,c=(a?a+", ":"")+l;this.input.value=c.endsWith(",")?c+" ":c+", "}else{let i=this.input.value,s=i.replace(/\[\[[^\]]*$/,`[[${e.value}]]`);this.input.value=s===i?e.value:s}this.input.dispatchEvent(new Event("input",{bubbles:!0})),this.input.focus()}}});function Hw(r){return r==null?"":typeof r=="string"?r:typeof r=="number"||typeof r=="boolean"?String(r):Array.isArray(r)?r.map(Hw).join(", "):""}var at,oy,B$=v(()=>{at=require("obsidian");ere();TL();xm();sT();pre();gg();IL();Qe();jr();Cr();QD();Zc();vT();Wo();Bo();Zce();$i();ede();nde();oy=class extends at.Modal{constructor(t,n){super(t);this.keyboardHandler=null;this.guardedTitleInputs=new WeakSet;this.pendingTitleFocusScrollPositions=null;this.title="";this.details="";this.originalDetails="";this.dueDate="";this.scheduledDate="";this.priority="normal";this.status="open";this.contexts="";this.projects="";this.tags="";this.timeEstimate=0;this.recurrenceRule="";this.recurrenceAnchor="scheduled";this.reminders=[];this.userFields={};this.blockedByItems=[];this.blockingItems=[];this.selectedProjectItems=[];this.selectedSubtaskFiles=[];this.initialSubtaskFiles=[];this.detailsMarkdownEditor=null;this.isExpanded=!1;this.plugin=n}createDependencyItemFromFile(t,n={}){var i;return L$({plugin:this.plugin,sourcePath:(i=n.sourcePath)!=null?i:this.getDependencySourcePath()},t)}createDependencyItemFromDependency(t,n){return Qce({plugin:this.plugin,sourcePath:n!=null?n:this.getDependencySourcePath()},t)}createDependencyItemFromPath(t){return Jce({plugin:this.plugin,sourcePath:this.getDependencySourcePath()},t)}getDependencySourcePath(){var t;return this.getCurrentTaskPath()||((t=this.plugin.app.workspace.getActiveFile())==null?void 0:t.path)||""}getCurrentTaskPath(){}async openTaskNote(){}renderDependencyLists(){this.renderBlockedByList(),this.renderBlockingList()}getLinkServices(){var t;return{metadataCache:this.plugin.app.metadataCache,workspace:this.plugin.app.workspace,sourcePath:this.getCurrentTaskPath()||((t=this.plugin.app.workspace.getActiveFile())==null?void 0:t.path)||""}}renderBlockedByList(){this.renderDependencyList(this.blockedByList,this.blockedByItems,t=>{this.blockedByItems.splice(t,1),this.renderBlockedByList()})}renderBlockingList(){this.renderDependencyList(this.blockingList,this.blockingItems,t=>{this.blockingItems.splice(t,1),this.renderBlockingList()})}async renderDependencyList(t,n,i){t&&await Xce({plugin:this.plugin,listEl:t,items:n,linkServices:this.getLinkServices(),translate:(s,a)=>this.t(s,a),onRemove:i})}extractDetailsFromContent(t){let{body:n}=Cg(t);return n.replace(/\r\n/g,`
`).trimEnd()}normalizeDetails(t){return t.replace(/\r\n/g,`
`).trimEnd()}addBlockedByTask(t){let n={uid:Ba(this.plugin.app,this.getDependencySourcePath(),t.path,this.plugin.settings.useFrontmatterMarkdownLinks),reltype:Ds};this.addBlockedByDependency(n)}addBlockingTask(t){this.addBlockingTaskFromPath(t.path)}addBlockedByDependency(t){let n=this.getDependencySourcePath(),i=this.createDependencyItemFromDependency(t,n);F$(this.blockedByItems,i)||(this.blockedByItems.push(i),this.renderBlockedByList())}addBlockingTaskFromPath(t){let n=this.getCurrentTaskPath();if(n&&t===n)return;let i=this.createDependencyItemFromPath(t);F$(this.blockingItems,i)||(this.blockingItems.push(i),this.renderBlockingList())}async openBlockedBySelector(){let t=this.getDependencySourcePath(),n=this.getCurrentTaskPath(),i=new Set(this.blockedByItems.map(s=>s.dependency.uid));await this.openTaskDependencySelector(s=>{if(n&&s.path===n)return!1;let a=$$(this.plugin,t,s);return!i.has(a)},s=>{let a={uid:Ba(this.plugin.app,t,s.path),reltype:Ds};this.addBlockedByDependency(a)})}async openBlockingSelector(){let t=this.getDependencySourcePath(),n=this.getCurrentTaskPath(),i=new Set(this.blockingItems.map(a=>a.path).filter(a=>typeof a=="string")),s=new Set(this.blockingItems.map(a=>a.dependency.uid));await this.openTaskDependencySelector(a=>{if(n&&a.path===n||i.has(a.path))return!1;let o=$$(this.plugin,t,a);return!s.has(o)},a=>{this.addBlockingTaskFromPath(a.path)})}async openTaskDependencySelector(t,n){var i,s,a;try{let l=((a=await((s=(i=this.plugin.cacheManager).getAllTasks)==null?void 0:s.call(i)))!=null?a:[]).filter(t);if(l.length===0){new at.Notice(this.t("contextMenus.task.dependencies.notices.noEligibleTasks"));return}pn(this.plugin,l,c=>{c&&n(c)})}catch(o){console.error("Failed to open task selector for dependencies:",o),new at.Notice(this.t("contextMenus.task.dependencies.notices.updateFailed"))}}getApp(){return this.app}getPlugin(){return this.plugin}t(t,n){return this.plugin.i18n.translate(t,n)}getFileByPath(t){return this.app.vault.getAbstractFileByPath(t)}getMarkdownFiles(){return this.app.vault.getMarkdownFiles()}getFileCache(t){return this.app.metadataCache.getFileCache(t)}resolveLink(t,n){return this.app.metadataCache.getFirstLinkpathDest(t,n)}isEditMode(){return!1}isCreationMode(){return!1}onOpen(){this.containerEl.addClass("tasknotes-plugin","minimalist-task-modal"),this.plugin.settings.enableModalSplitLayout&&this.containerEl.addClass("split-layout-enabled"),this.modalEl.addClass("mod-tasknotes"),this.titleEl.setText(this.getModalTitle()),this.keyboardHandler=t=>{if(t.key==="Enter"&&(t.ctrlKey||t.metaKey)){if(t.target.closest(".cm-editor"))return;t.preventDefault(),this.handleSave()}},this.containerEl.addEventListener("keydown",this.keyboardHandler),this.initializeFormData().then(()=>{this.createModalContent(),this.focusTitleInput()})}createModalContent(){let{contentEl:t}=this;t.empty();let n=t.createDiv("minimalist-modal-container");this.splitContentWrapper=n.createDiv("modal-split-content"),this.splitLeftColumn=this.splitContentWrapper.createDiv("modal-split-left"),this.createPrimaryInput(this.splitLeftColumn),this.createActionBar(this.splitLeftColumn),this.splitRightColumn=this.splitLeftColumn.createDiv("modal-split-right"),this.createDetailsSection(n),this.createAdditionalSections(this.splitLeftColumn),this.createActionButtons(n)}createPrimaryInput(t){this.createTitleInput(t)}createAdditionalSections(t){}createTitleInput(t){let n=t.createDiv("title-input-container");this.titleInput=n.createEl("input",{type:"text",cls:"title-input",placeholder:this.t("modals.task.titlePlaceholder")}),this.titleInput.value=this.title,this.titleInput.addEventListener("input",i=>{this.title=i.target.value}),this.attachTitleFocusScrollGuard(this.titleInput)}createActionBar(t){this.actionBar=t.createDiv("action-bar"),this.createActionIcon(this.actionBar,"calendar",this.t("modals.task.actions.due"),(n,i)=>{this.showDateContextMenu(i,"due")},"due-date"),this.createActionIcon(this.actionBar,"calendar-clock",this.t("modals.task.actions.scheduled"),(n,i)=>{this.showDateContextMenu(i,"scheduled")},"scheduled-date"),this.createActionIcon(this.actionBar,"dot-square",this.t("modals.task.actions.status"),(n,i)=>{this.showStatusContextMenu(i)},"status"),this.createActionIcon(this.actionBar,"star",this.t("modals.task.actions.priority"),(n,i)=>{this.showPriorityContextMenu(i)},"priority"),this.createActionIcon(this.actionBar,"refresh-ccw",this.t("modals.task.actions.recurrence"),(n,i)=>{this.showRecurrenceContextMenu(i)},"recurrence"),this.createActionIcon(this.actionBar,"bell",this.t("modals.task.actions.reminders"),(n,i)=>{this.showReminderContextMenu(i)},"reminders"),this.updateIconStates()}createActionIcon(t,n,i,s,a){let o=t.createDiv("action-icon");o.setAttribute("aria-label",i),o.setAttribute("data-initial-tooltip",i),o.setAttribute("tabindex","0"),o.setAttribute("role","button"),a&&o.setAttribute("data-type",a),(0,at.setTooltip)(o,i,{placement:"top"});let l=o.createSpan("icon");return(0,at.setIcon)(l,n),o.addEventListener("click",c=>{c.preventDefault(),c.stopPropagation(),s(o,c)}),o.addEventListener("keydown",c=>{(c.key==="Enter"||c.key===" ")&&(c.preventDefault(),c.stopPropagation(),s(o,c))}),o}createDetailsSection(t){this.detailsContainer=this.splitLeftColumn?this.splitLeftColumn.createDiv("details-container"):t.createDiv("details-container"),this.isExpanded||(this.detailsContainer.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-min-height-800px-997b4c8c"),this.detailsContainer.classList.add("tn-static-display-none-6b99de8b"),this.splitRightColumn&&(this.splitRightColumn.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-min-height-800px-997b4c8c"),this.splitRightColumn.classList.add("tn-static-display-none-6b99de8b")));let n=this.plugin.settings.modalFieldsConfig,i=this.shouldShowField("title",n),s=this.shouldShowField("details",n);this.splitContentWrapper.classList.toggle("modal-split-content--right-empty",!s);let a=this.isEditMode(),o=this.isCreationMode()&&this.plugin.settings.enableNaturalLanguageInput;if(i&&(a||o)){let l=this.detailsContainer.createDiv("detail-label");l.textContent=this.t("modals.task.titleLabel");let c=this.detailsContainer.createEl("input",{type:"text",cls:"title-input-detailed",placeholder:this.t("modals.task.titleDetailedPlaceholder")});c.value=this.title,c.addEventListener("input",d=>{this.title=d.target.value}),this.attachTitleFocusScrollGuard(c),(a||o)&&!this.titleInput&&(this.titleInput=c)}if(s){let l=this.splitRightColumn||this.detailsContainer,c=l.createDiv("detail-label");c.textContent=this.t("modals.task.detailsLabel");let d=l.createDiv("details-markdown-editor");this.detailsMarkdownEditor=TD(this.app,d,{value:this.details,placeholder:this.t("modals.task.detailsPlaceholder"),cls:"details-editor",onChange:u=>{this.details=u},onSubmit:()=>{this.handleSave()},onEscape:()=>{this.close()},onTab:u=>this.plugin.settings.taskModalTabMovesFocus?u?this.focusPreviousField():this.focusNextField():!1})}this.createAdditionalFields(this.detailsContainer)}shouldShowField(t,n){return Jte(t,n,this.isCreationMode())}createAdditionalFields(t){let n=this.plugin.settings.modalFieldsConfig;if(!n){console.error("TaskModal: modalFieldsConfig is not initialized. This should never happen.");return}this.createFieldsFromConfig(t,n)}createFieldsFromConfig(t,n){let i=Xte(n,this.isCreationMode());for(let s of i){if(s.id==="basic")continue;let a=t.createDiv({cls:"task-modal__field-group"});for(let o of s.fields)this.createField(a,o)}}createField(t,n){switch(n.id){case"contexts":this.createContextsField(t);break;case"tags":this.createTagsField(t);break;case"time-estimate":this.createTimeEstimateField(t);break;case"projects":this.createProjectsField(t);break;case"subtasks":this.createSubtasksField(t);break;case"blocked-by":this.createBlockedByField(t);break;case"blocking":this.createBlockingField(t);break;default:n.fieldType==="user"&&this.createUserFieldByConfig(t,n);break}}createContextsField(t){new at.Setting(t).setName(this.t("modals.task.contextsLabel")).addText(n=>{n.setPlaceholder(this.t("modals.task.contextsPlaceholder")).setValue(this.contexts).onChange(i=>{this.contexts=i}),this.contextsInput=n.inputEl,new rP(this.app,n.inputEl,this.plugin)})}createTagsField(t){new at.Setting(t).setName(this.t("modals.task.tagsLabel")).addText(n=>{n.setPlaceholder(this.t("modals.task.tagsPlaceholder")).setValue(this.tags).onChange(i=>{this.tags=Ai(i)}),this.tagsInput=n.inputEl,new nP(this.app,n.inputEl,this.plugin)})}createTimeEstimateField(t){new at.Setting(t).setName(this.t("modals.task.timeEstimateLabel")).addText(n=>{n.setPlaceholder(this.t("modals.task.timeEstimatePlaceholder")).setValue(this.timeEstimate.toString()).onChange(i=>{this.timeEstimate=parseInt(i)||0}),this.timeEstimateInput=n.inputEl})}createProjectsField(t){this.projectsList=zw(t,{label:this.t("modals.task.organization.projects"),buttonText:this.t("modals.task.organization.addToProjectButton"),buttonTooltip:this.t("modals.task.projectsTooltip"),onButtonClick:()=>{new Su(this.app,this.plugin,i=>{this.addProject(i)}).open()},listElement:this.projectsList}),this.renderOrganizationLists()}createSubtasksField(t){this.subtasksList=zw(t,{label:this.t("modals.task.organization.subtasks"),buttonText:this.t("modals.task.organization.addSubtasksButton"),buttonTooltip:this.t("modals.task.organization.addSubtasksTooltip"),onButtonClick:()=>{this.openSubtaskSelector()},listElement:this.subtasksList}),this.renderOrganizationLists()}createBlockedByField(t){this.blockedByList=zw(t,{label:this.t("modals.task.dependencies.blockedBy"),buttonText:this.t("modals.task.dependencies.addTaskButton"),buttonTooltip:this.t("modals.task.dependencies.selectTaskTooltip"),onButtonClick:()=>{this.openBlockedBySelector()},listElement:this.blockedByList}),this.renderDependencyLists()}createBlockingField(t){this.blockingList=zw(t,{label:this.t("modals.task.dependencies.blocking"),buttonText:this.t("modals.task.dependencies.addTaskButton"),buttonTooltip:this.t("modals.task.dependencies.selectTaskTooltip"),onButtonClick:()=>{this.openBlockingSelector()},listElement:this.blockingList}),this.renderDependencyLists()}createUserFieldByConfig(t,n){var a;let i=(a=this.plugin.settings.userFields)==null?void 0:a.find(o=>o.id===n.id);if(!i)return;let s=new at.Setting(t).setName(i.displayName);switch(i.type){case"text":case"list":{s.addText(o=>{let l=this.userFields[i.key],c=Array.isArray(l)?l.map(Hw).join(", "):Hw(l);o.setValue(c).onChange(d=>{i.type==="list"?this.userFields[i.key]=d.split(",").map(u=>u.trim()).filter(u=>u.length>0):this.userFields[i.key]=d}),new ay(this.app,o.inputEl,this.plugin,i)});break}case"number":{s.addText(o=>{let l=this.userFields[i.key];o.setValue(Hw(l)).onChange(c=>{let d=parseFloat(c);this.userFields[i.key]=isNaN(d)?null:d}),o.inputEl.type="number"});break}case"date":{s.addText(o=>{let l=this.userFields[i.key];o.setValue(Hw(l)).onChange(c=>{this.userFields[i.key]=c}),o.inputEl.type="date"});break}case"boolean":{s.addToggle(o=>{let l=this.userFields[i.key];o.setValue(l===!0).onChange(c=>{this.userFields[i.key]=c})});break}}}createUserFields(t){var i;let n=((i=this.plugin.settings)==null?void 0:i.userFields)||[];n.length>0&&t.createDiv({cls:"user-fields-separator"}).createDiv({text:this.t("modals.task.customFieldsLabel"),cls:"detail-label-section"});for(let s of n){if(!s||!s.key||!s.displayName)continue;let a=this.userFields[s.key]||"";switch(s.type){case"boolean":new at.Setting(t).setName(s.displayName).addToggle(o=>{o.setValue(a===!0||a==="true").onChange(l=>{this.userFields[s.key]=l})});break;case"number":new at.Setting(t).setName(s.displayName).addText(o=>{o.setPlaceholder(this.t("modals.task.userFields.numberPlaceholder")).setValue(a?ie(a):"").onChange(l=>{let c=parseFloat(l);this.userFields[s.key]=isNaN(c)?null:c})});break;case"date":new at.Setting(t).setName(s.displayName).addText(o=>{o.setPlaceholder(this.t("modals.task.userFields.datePlaceholder")).setValue(a?ie(a):"").onChange(d=>{this.userFields[s.key]=d||null});let l=o.inputEl.parentElement;l&&l.addClass("tn-date-control");let c=l==null?void 0:l.createEl("button",{cls:"user-field-date-picker-btn"});c&&(c.setAttribute("aria-label",this.t("modals.task.userFields.pickDate",{field:s.displayName})),(0,at.setIcon)(c,"calendar"),c.addEventListener("click",d=>{d.preventDefault(),new Es({currentValue:o.getValue()||void 0,onSelect:p=>{o.setValue(p||""),this.userFields[s.key]=p||null},plugin:this.plugin,app:this.app}).showAtElement(c)}))});break;case"list":new at.Setting(t).setName(s.displayName).addText(o=>{var d;let l=Array.isArray(a)?a.join(", "):a?ie(a):"";o.setPlaceholder(this.t("modals.task.userFields.listPlaceholder")).setValue(l).onChange(u=>{u.trim()?this.userFields[s.key]=u.split(",").map(p=>p.trim()).filter(p=>p):this.userFields[s.key]=null}),new ay(this.app,o.inputEl,this.plugin,s);let c=t.querySelector(".user-field-link-preview");c&&((d=c.detach)==null||d.call(c))});break;case"text":default:new at.Setting(t).setName(s.displayName).addText(o=>{o.setPlaceholder(this.t("modals.task.userFields.textPlaceholder",{field:s.displayName})).setValue(a?ie(a):"").onChange(l=>{this.userFields[s.key]=l||null}),new ay(this.app,o.inputEl,this.plugin,s)});break}}}createActionButtons(t){let n=t.createDiv("modal-button-container");this.isEditMode()&&n.createEl("button",{cls:"open-note-button",text:this.t("modals.task.buttons.openNote")}).addEventListener("click",()=>{this.openTaskNote()});let i=n.createEl("button",{cls:"mod-cta",text:this.t("modals.task.buttons.save")});i.addEventListener("click",()=>{(async()=>{i.disabled=!0;try{await this.handleSave(),this.close()}finally{i.disabled=!1}})()}),n.createEl("button",{text:this.t("common.cancel")}).addEventListener("click",()=>{this.close()})}expandModal(){this.isExpanded||(this.isExpanded=!0,this.detailsContainer.classList.remove("tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),this.detailsContainer.classList.add("tn-static-display-block-2a1b75c9"),this.containerEl.addClass("expanded"),this.splitRightColumn&&(this.splitRightColumn.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),this.splitRightColumn.style.removeProperty("display")),this.detailsContainer.classList.remove("tn-static-opacity-0-6-d95b59ac","tn-static-opacity-1-c6e7979d"),this.detailsContainer.classList.add("tn-static-opacity-0-8d919cb5"),this.detailsContainer.classList.remove("tn-static-transform-translatey-0-1b976432"),this.detailsContainer.classList.add("tn-static-transform-translatey-10px-5b91bf02"),window.setTimeout(()=>{this.detailsContainer.classList.remove("tn-static-opacity-0-6-d95b59ac","tn-static-opacity-0-8d919cb5"),this.detailsContainer.classList.add("tn-static-opacity-1-c6e7979d"),this.detailsContainer.classList.remove("tn-static-transform-translatey-10px-5b91bf02"),this.detailsContainer.classList.add("tn-static-transform-translatey-0-1b976432")},50))}showDateContextMenu(t,n){let i=n==="due"?this.dueDate:this.scheduledDate,s=n==="due"?this.t("modals.task.dateMenu.dueTitle"):this.t("modals.task.dateMenu.scheduledTitle");new Es({currentValue:i?tt(i):void 0,currentTime:i?$a(i):void 0,title:s,plugin:this.plugin,app:this.app,onSelect:(o,l)=>{if(o){let c=l?ts(o,l):o;n==="due"?this.dueDate=c:this.scheduledDate=c}else n==="due"?this.dueDate="":this.scheduledDate="";this.updateDateIconState()}}).show(t)}showStatusContextMenu(t){new PD({currentValue:this.status,onSelect:i=>{this.status=i,this.updateStatusIconState()},plugin:this.plugin}).show(t)}showPriorityContextMenu(t){new $o({currentValue:this.priority,onSelect:i=>{this.priority=i,this.updatePriorityIconState()},plugin:this.plugin}).show(t)}showRecurrenceContextMenu(t){new jo({currentValue:this.recurrenceRule,currentAnchor:this.recurrenceAnchor,scheduledDate:this.scheduledDate,onSelect:(i,s)=>{this.recurrenceRule=i||"",s!==void 0&&(this.recurrenceAnchor=s),this.updateRecurrenceIconState()},app:this.app,plugin:this.plugin}).show(t)}showReminderContextMenu(t){let n={title:this.title,status:this.status,priority:this.priority,due:this.dueDate,scheduled:this.scheduledDate,path:"",archived:!1,reminders:this.reminders};new vg(this.plugin,n,t.target,s=>{this.reminders=s.reminders||[],this.updateReminderIconState()}).show(t)}updateDateIconState(){this.updateIconStates()}updateStatusIconState(){this.updateIconStates()}updatePriorityIconState(){this.updateIconStates()}updateRecurrenceIconState(){this.updateIconStates()}updateReminderIconState(){this.updateIconStates()}getDefaultStatus(){let t=this.plugin.settings.customStatuses;return t&&t.length>0?[...t].sort((i,s)=>i.order-s.order)[0].value:"open"}getDefaultPriority(){let t=this.plugin.settings.customPriorities;return t&&t.length>0?[...t].sort((i,s)=>i.weight-s.weight)[0].value:"normal"}getRecurrenceDisplayText(){if(!this.recurrenceRule)return"";let t=this.recurrenceRule;if(t.includes("FREQ=DAILY"))return"Daily";if(t.includes("FREQ=WEEKLY")){if(t.includes("INTERVAL=2"))return"Every 2 weeks";if(t.includes("BYDAY=MO,TU,WE,TH,FR"))return"Weekdays";if(t.includes("BYDAY=")){let i=t.match(/BYDAY=([A-Z]{2})/);return i?`Weekly on ${{SU:"Sunday",MO:"Monday",TU:"Tuesday",WE:"Wednesday",TH:"Thursday",FR:"Friday",SA:"Saturday"}[i[1]]||i[1]}`:"Weekly"}else return"Weekly"}else if(t.includes("FREQ=MONTHLY")){if(t.includes("INTERVAL=3"))return"Every 3 months";if(t.includes("BYMONTHDAY=")){let i=t.match(/BYMONTHDAY=(\d+)/);return i?`Monthly on the ${this.getOrdinal(parseInt(i[1]))}`:"Monthly"}else return t.includes("BYDAY=")?"Monthly (by weekday)":"Monthly"}else if(t.includes("FREQ=YEARLY")){if(t.includes("BYMONTH=")&&t.includes("BYMONTHDAY=")){let i=t.match(/BYMONTH=(\d+)/),s=t.match(/BYMONTHDAY=(\d+)/);if(i&&s){let o=["","January","February","March","April","May","June","July","August","September","October","November","December"][parseInt(i[1])],l=this.getOrdinal(parseInt(s[1]));return`Yearly on ${o} ${l}`}}return"Yearly"}let n="";if(t.includes("COUNT=")){let i=t.match(/COUNT=(\d+)/);i&&(n=` (${i[1]} times)`)}else if(t.includes("UNTIL=")){let i=t.match(/UNTIL=(\d{8})/);if(i){let s=i[1];n=` (until ${`${s.slice(0,4)}-${s.slice(4,6)}-${s.slice(6,8)}`})`}}return"Custom"+n}getOrdinal(t){let n=["th","st","nd","rd"],i=t%100;return t+(n[(i-20)%10]||n[i]||n[0])}updateIconStates(){if(!this.actionBar)return;let t=this.actionBar.querySelector('[data-type="due-date"]');t&&(this.dueDate?(t.classList.add("has-value"),(0,at.setTooltip)(t,this.t("modals.task.tooltips.dueValue",{value:this.dueDate}),{placement:"top"})):(t.classList.remove("has-value"),(0,at.setTooltip)(t,this.t("modals.task.actions.due"),{placement:"top"})));let n=this.actionBar.querySelector('[data-type="scheduled-date"]');n&&(this.scheduledDate?(n.classList.add("has-value"),(0,at.setTooltip)(n,this.t("modals.task.tooltips.scheduledValue",{value:this.scheduledDate}),{placement:"top"})):(n.classList.remove("has-value"),(0,at.setTooltip)(n,this.t("modals.task.actions.scheduled"),{placement:"top"})));let i=this.actionBar.querySelector('[data-type="status"]');if(i){let l=this.plugin.settings.customStatuses.find(u=>u.value===this.status),c=l?l.label:this.status;this.status&&l&&l.value!==this.getDefaultStatus()?(i.classList.add("has-value"),(0,at.setTooltip)(i,this.t("modals.task.tooltips.statusValue",{value:c}),{placement:"top"})):(i.classList.remove("has-value"),(0,at.setTooltip)(i,this.t("modals.task.actions.status"),{placement:"top"}));let d=i.querySelector(".icon");d&&l&&l.color?d.style.color=l.color:d&&(d.classList.remove("tn-static-color-var-color-accent-d2cad743","tn-static-color-var-text-accent-65b47ee3","tn-static-color-var-text-muted-5872de20","tn-static-color-var-text-on-accent-f3e1679d","tn-static-color-var-text-warning-783d5f03","tn-static-color-var-tn-text-muted-a90fb6f3","tn-static-color-white-0a43e56a","tn-static-cursor-pointer-2723efcc","tn-static-font-size-12px-65574819","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-margin-2px-0-edce9b14","tn-static-padding-20px-7a035d95","tn-static-padding-20px-ebe8e48c"),d.style.removeProperty("color"))}let s=this.actionBar.querySelector('[data-type="priority"]');if(s){let l=this.plugin.settings.customPriorities.find(u=>u.value===this.priority),c=l?l.label:this.priority;this.priority&&l&&l.value!==this.getDefaultPriority()?(s.classList.add("has-value"),(0,at.setTooltip)(s,this.t("modals.task.tooltips.priorityValue",{value:c}),{placement:"top"})):(s.classList.remove("has-value"),(0,at.setTooltip)(s,this.t("modals.task.actions.priority"),{placement:"top"}));let d=s.querySelector(".icon");d&&l&&l.color?d.style.color=l.color:d&&(d.classList.remove("tn-static-color-var-color-accent-d2cad743","tn-static-color-var-text-accent-65b47ee3","tn-static-color-var-text-muted-5872de20","tn-static-color-var-text-on-accent-f3e1679d","tn-static-color-var-text-warning-783d5f03","tn-static-color-var-tn-text-muted-a90fb6f3","tn-static-color-white-0a43e56a","tn-static-cursor-pointer-2723efcc","tn-static-font-size-12px-65574819","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-margin-2px-0-edce9b14","tn-static-padding-20px-7a035d95","tn-static-padding-20px-ebe8e48c"),d.style.removeProperty("color"))}let a=this.actionBar.querySelector('[data-type="recurrence"]');a&&(this.recurrenceRule&&this.recurrenceRule.trim()?(a.classList.add("has-value"),(0,at.setTooltip)(a,this.t("modals.task.tooltips.recurrenceValue",{value:this.getRecurrenceDisplayText()}),{placement:"top"})):(a.classList.remove("has-value"),(0,at.setTooltip)(a,this.t("modals.task.actions.recurrence"),{placement:"top"})));let o=this.actionBar.querySelector('[data-type="reminders"]');if(o)if(this.reminders&&this.reminders.length>0){o.classList.add("has-value");let l=this.reminders.length,c=l===1?this.t("modals.task.tooltips.remindersSingle"):this.t("modals.task.tooltips.remindersPlural",{count:l});(0,at.setTooltip)(o,c,{placement:"top"})}else o.classList.remove("has-value"),(0,at.setTooltip)(o,this.t("modals.task.actions.reminders"),{placement:"top"})}focusTitleInput(){window.setTimeout(()=>{this.pendingTitleFocusScrollPositions=this.captureTitleFocusScrollPositions(this.titleInput),this.titleInput.focus({preventScroll:!0}),this.titleInput.select(),this.restoreTitleFocusScrollPositions(this.pendingTitleFocusScrollPositions)},100)}shouldPreserveTitleFocusScroll(){var i,s;let t=this.containerEl.ownerDocument,n=t.defaultView||window;return t.body.classList.contains("is-mobile")||((s=(i=n.matchMedia)==null?void 0:i.call(n,"(pointer: coarse)"))==null?void 0:s.matches)===!0}attachTitleFocusScrollGuard(t){if(this.guardedTitleInputs.has(t))return;this.guardedTitleInputs.add(t);let n=()=>{this.pendingTitleFocusScrollPositions=this.captureTitleFocusScrollPositions(t)};t.addEventListener("pointerdown",n,{capture:!0}),t.addEventListener("touchstart",n,{capture:!0}),t.addEventListener("focus",()=>{this.pendingTitleFocusScrollPositions&&this.scheduleTitleFocusScrollRestore(this.pendingTitleFocusScrollPositions)})}captureTitleFocusScrollPositions(t){if(!this.shouldPreserveTitleFocusScroll())return null;let n=new Set,i=a=>{var c;let o=a==null?void 0:a.ownerDocument.defaultView,l=(c=o==null?void 0:o.HTMLElement)!=null?c:HTMLElement;a instanceof l&&n.add(a)};i(this.containerEl),i(this.modalEl),i(this.contentEl),this.modalEl.querySelectorAll(".modal-content, .minimalist-modal-container, .modal-split-content, .modal-split-left, .modal-split-right, .details-container").forEach(i);let s=t.parentElement;for(;s&&s!==this.containerEl.parentElement;)i(s),s=s.parentElement;return Array.from(n).map(a=>({element:a,scrollTop:a.scrollTop,scrollLeft:a.scrollLeft}))}restoreTitleFocusScrollPositions(t){if(t)for(let{element:n,scrollTop:i,scrollLeft:s}of t)n.scrollTop=i,n.scrollLeft=s}scheduleTitleFocusScrollRestore(t){var s;this.restoreTitleFocusScrollPositions(t);let n=this.containerEl.ownerDocument.defaultView||window;((s=n.requestAnimationFrame)!=null?s:(a=>n.setTimeout(a,16)))(()=>this.restoreTitleFocusScrollPositions(t)),n.setTimeout(()=>this.restoreTitleFocusScrollPositions(t),50),n.setTimeout(()=>{this.restoreTitleFocusScrollPositions(t),this.pendingTitleFocusScrollPositions===t&&(this.pendingTitleFocusScrollPositions=null)},250)}addProject(t){if(t instanceof at.TFile){let n={file:t,name:t.basename,link:this.buildProjectReference(t,this.getCurrentTaskPath()||"")};if(this.hasProjectItem(n))return;this.selectedProjectItems.push(n)}this.updateProjectsFromFiles(),this.renderProjectsList()}removeProject(t){this.selectedProjectItems=this.selectedProjectItems.filter(n=>n!==t),this.updateProjectsFromFiles(),this.renderProjectsList()}updateProjectsFromFiles(){this.projects=this.selectedProjectItems.map(t=>t.link).join(", ")}buildProjectReference(t,n){return xl(this.app,t,n,"","",this.plugin.settings.useFrontmatterMarkdownLinks)}initializeProjectsFromStrings(t){this.selectedProjectItems=[],this.addProjectsFromStrings(t)}addProjectsFromStrings(t){let n=this.getCurrentTaskPath()||"";for(let i of t){let s=this.createProjectItemFromString(i,n);!s||this.hasProjectItem(s)||this.selectedProjectItems.push(s)}this.updateProjectsFromFiles()}createProjectItemFromString(t,n){if(!t||typeof t!="string"||t.trim()==="")return null;let i=t.match(/^\[\[([^\]]+)\]\]$/);if(i){let s=i[1],a=this.resolveLink(s,n);return a instanceof at.TFile?{file:a,name:a.basename,link:t}:{name:s.split("|")[0],link:t,unresolved:!0}}else{let s=t.match(/^\[([^\]]*)\]\(([^)]+)\)$/);if(s){let a=dn(t),o=this.resolveLink(a,n);return o instanceof at.TFile?{file:o,name:o.basename,link:t}:{name:s[1]||a,link:t,unresolved:!0}}else{let o=this.getMarkdownFiles().find(l=>l.basename===t||l.name===t+".md");return o?{file:o,name:o.basename,link:`[[${o.basename}]]`}:{name:t,link:t,unresolved:!0}}}}hasProjectItem(t){let n=this.getProjectDedupKeys(t);return this.selectedProjectItems.some(i=>{let s=this.getProjectDedupKeys(i);return n.some(a=>s.includes(a))})}getProjectDedupKeys(t){var s;let n=new Set;(s=t.file)!=null&&s.path&&n.add(`path:${this.normalizeProjectPath(t.file.path)}`);let i=dn(t.link);return i&&n.add(`path:${this.normalizeProjectPath(i)}`),t.link&&n.add(`link:${t.link.trim().toLowerCase()}`),Array.from(n)}normalizeProjectPath(t){return t.trim().replace(/\.md$/i,"").toLowerCase()}renderProjectsList(){this.projectsList&&(this.projectsList.empty(),this.selectedProjectItems.length!==0&&this.selectedProjectItems.forEach(t=>{let n=this.projectsList.createDiv({cls:"task-project-item"});t.unresolved&&n.addClass("task-project-item--unresolved");let i=n.createDiv({cls:"task-project-info"}),s=i.createDiv({cls:"task-project-name clickable-project"});if(t.file){let o=NL(this.app,t.file,this.getCurrentTaskPath()||"",t.file.name);if(this.renderProjectLinksWithoutPrefix(s,[o]),t.file.path!==t.file.name){let l=i.createDiv({cls:"task-project-path"});l.textContent=t.file.path}}else s.textContent=t.name,(0,at.setTooltip)(s,this.t("contextMenus.task.dependencies.notices.unresolved",{name:t.name}),{placement:"top"});let a=n.createEl("button",{cls:"task-project-remove",text:"\xD7"});(0,at.setTooltip)(a,this.t("modals.task.projectsRemoveTooltip"),{placement:"top"}),a.addEventListener("click",()=>{this.removeProject(t)})}))}async openSubtaskSelector(){try{let t=await this.plugin.cacheManager.getAllTasks(),n=this.getCurrentTaskPath(),i=t.filter(s=>n&&s.path===n?!1:!this.selectedSubtaskFiles.some(a=>a.path===s.path));if(i.length===0){new at.Notice(this.t("modals.task.organization.notices.noEligibleSubtasks"));return}pn(this.plugin,i,s=>{if(!s)return;let a=this.app.vault.getAbstractFileByPath(s.path);a&&this.addSubtask(a)})}catch(t){console.error("Failed to open subtask selector:",t),new at.Notice(this.t("modals.task.organization.notices.subtaskSelectFailed"))}}addSubtask(t){this.selectedSubtaskFiles.some(n=>n.path===t.path)||(this.selectedSubtaskFiles.push(t),this.renderSubtasksList())}removeSubtask(t){this.selectedSubtaskFiles=this.selectedSubtaskFiles.filter(n=>n.path!==t.path),this.renderSubtasksList()}async renderSubtasksList(){if(this.subtasksList&&(this.subtasksList.empty(),this.selectedSubtaskFiles.length!==0))for(let t of this.selectedSubtaskFiles){if(!(t instanceof at.TFile))return;let n=this.subtasksList.createDiv({cls:"task-project-item task-project-item--task-card"}),i=n.createDiv({cls:"task-project-card-host"}),s=await this.plugin.cacheManager.getCachedTaskInfo(t.path);if(s){let o=pr(s,this.plugin,void 0,{layout:"default",showSecondaryBadges:!1,enableHoverPreview:!1});i.appendChild(o)}else{let o=i.createDiv({cls:"task-project-info"}),l=o.createDiv({cls:"task-project-name clickable-project"}),c=NL(this.app,t,this.getCurrentTaskPath()||"",t.name);if(this.renderProjectLinksWithoutPrefix(l,[c]),t.path!==t.name){let d=o.createDiv({cls:"task-project-path"});d.textContent=t.path}}let a=n.createEl("button",{cls:"task-project-remove",text:"\xD7"});(0,at.setTooltip)(a,this.t("modals.task.organization.removeSubtaskTooltip"),{placement:"top"}),a.addEventListener("click",()=>{this.removeSubtask(t)})}}renderOrganizationLists(){this.renderProjectsList(),this.renderSubtasksList()}renderProjectLinksWithoutPrefix(t,n){let i={metadataCache:this.app.metadataCache,workspace:this.app.workspace};XD(t,n,i),Array.from(t.childNodes).forEach(s=>{var a;s.nodeType===Node.TEXT_NODE&&((a=s.textContent)==null?void 0:a.trim())==="+"&&s.remove()})}toggleProjectsList(){this.projectsList&&this.projectsList.toggleClass("collapsed",!this.projectsList.hasClass("collapsed"))}toggleSubtasksList(){this.subtasksList&&this.subtasksList.toggleClass("collapsed",!this.subtasksList.hasClass("collapsed"))}validateForm(){return this.title.trim().length>0}focusNextField(){let t=this.contextsInput||this.tagsInput||this.timeEstimateInput;return t?(window.setTimeout(()=>{t.focus()},50),!0):!1}focusPreviousField(){return this.titleInput?(window.setTimeout(()=>{var t;(t=this.titleInput)==null||t.focus()},50),!0):!1}onClose(){this.keyboardHandler&&(this.containerEl.removeEventListener("keydown",this.keyboardHandler),this.keyboardHandler=null),this.detailsMarkdownEditor&&(this.detailsMarkdownEditor.destroy(),this.detailsMarkdownEditor=null),super.onClose()}}});var sP,ide=v(()=>{sP=class{constructor(e,t=[]){this.config=e,this.userFields=t,this.triggerMap=new Map,this.propertyMap=new Map,this.buildMaps()}buildMaps(){this.triggerMap.clear(),this.propertyMap.clear();for(let e of this.config.triggers)e.enabled&&(this.triggerMap.set(e.trigger,e),this.propertyMap.set(e.propertyId,e))}getTriggerForProperty(e){return this.propertyMap.get(e)}getPropertyForTrigger(e){var t;return(t=this.triggerMap.get(e))==null?void 0:t.propertyId}getAllEnabledTriggers(){return this.config.triggers.filter(e=>e.enabled)}getTriggersOrderedByLength(){return this.getAllEnabledTriggers().sort((e,t)=>t.trigger.length-e.trigger.length)}usesNativeTagSuggester(){let e=this.getTriggerForProperty("tags");return(e==null?void 0:e.trigger)==="#"&&(e==null?void 0:e.enabled)}getTagTrigger(){let e=this.getTriggerForProperty("tags");return e!=null&&e.enabled?e.trigger:void 0}getContextTrigger(){let e=this.getTriggerForProperty("contexts");return e!=null&&e.enabled?e.trigger:void 0}getProjectTrigger(){let e=this.getTriggerForProperty("projects");return e!=null&&e.enabled?e.trigger:void 0}getStatusTrigger(){let e=this.getTriggerForProperty("status");return e!=null&&e.enabled?e.trigger:void 0}getPriorityTrigger(){let e=this.getTriggerForProperty("priority");return e!=null&&e.enabled?e.trigger:void 0}getUserField(e){return this.userFields.find(t=>t.id===e)}isUserField(e){return this.userFields.some(t=>t.id===e)}getSuggesterType(e){if(e==="tags")return this.usesNativeTagSuggester()?"native-tag":"list";if(e==="contexts")return"list";if(e==="projects")return"file";if(e==="status")return"status";if(e==="priority")return"priority";let t=this.getUserField(e);if(t)switch(t.type){case"text":return t.autosuggestFilter?"file":"list";case"list":return"list";case"boolean":return"boolean";default:return"none"}return"none"}updateConfig(e){this.config=e,this.buildMaps()}updateUserFields(e){this.userFields=e}}});function ade(r){let e=(0,$l.autocompletion)({override:[$qe(r)],activateOnTyping:!0,closeOnBlur:!0,maxRenderedOptions:10,addToOptions:[{render:(n,i,s)=>jqe(n),position:100}]}),t=q$.Prec.high(sde.keymap.of([{key:"ArrowDown",run:(0,$l.moveCompletionSelection)(!0)},{key:"ArrowUp",run:(0,$l.moveCompletionSelection)(!1)},{key:"Enter",run:$l.acceptCompletion},{key:"Tab",run:$l.acceptCompletion},{key:"Escape",run:$l.closeCompletion}]));return[q$.Prec.high(e),t]}function $qe(r){return async e=>{let t=new sP(r.settings.nlpTriggers,r.settings.userFields||[]),n=e.state.doc.lineAt(e.pos),i=n.text.slice(0,e.pos-n.from),s=(p,m)=>{if(p===-1)return!1;if(p===0)return!0;let f=m[p-1];return!/\w/.test(f)},a=t.getTriggersOrderedByLength(),o=[];for(let p of a){if(p.propertyId==="tags"&&p.trigger==="#")continue;let m=i.lastIndexOf(p.trigger);s(m,i)&&o.push({propertyId:p.propertyId,trigger:p.trigger,index:m,triggerLength:p.trigger.length})}if(o.length===0)return null;o.sort((p,m)=>m.index-p.index);let l=o[0],c=l.index+l.triggerLength,d=i.slice(c);if(l.propertyId==="projects"&&/^\[\[[^\]]*\]\]/.test(d)||l.propertyId!=="projects"&&(d.includes(" ")||d.includes(`
`)))return null;let u=await zqe(l.propertyId,d,r,t);return!u||u.length===0?null:{from:n.from+l.index+l.triggerLength,to:e.pos,options:u,validFor:/^[\w\s-]*$/}}}function jqe(r){let e=r;if(!e.projectMetadata)return null;let t=activeDocument.createElement("div");t.className="cm-project-suggestion__metadata";for(let n of e.projectMetadata){let i=activeDocument.createElement("div");i.className="cm-project-suggestion__meta",n.forEach((s,a)=>{a>0&&i.appendChild(activeDocument.createTextNode(" "));let o=activeDocument.createElement("span");o.className=s.kind==="value"?"cm-project-suggestion__meta-value":s.kind==="label"?"cm-project-suggestion__meta-label":"cm-project-suggestion__meta-literal",s.searchable&&o.classList.add("cm-project-suggestion__meta-searchable"),s.searchable&&e.projectQuery?Uqe(o,s.text,e.projectQuery):o.textContent=s.text,i.appendChild(o)}),t.appendChild(i)}return t}async function zqe(r,e,t,n){switch(n.getSuggesterType(r)){case"list":return Bqe(r,e,t);case"file":return qqe(r,e,t,n);case"status":return Vqe(e,t);case"priority":return Wqe(e,t);case"boolean":return Yqe(e);case"native-tag":return null;default:return null}}function Bqe(r,e,t){let n=[],i=r;switch(r){case"tags":n=t.cacheManager.getAllTags(),i="Tag";break;case"contexts":n=t.cacheManager.getAllContexts(),i="Context";break;default:n=[],i=r;break}return n.filter(s=>s&&typeof s=="string").filter(s=>s.toLowerCase().includes(e.toLowerCase())).slice(0,10).map(s=>({label:s,apply:s+" ",type:"text",info:i}))}async function qqe(r,e,t,n){var i,s,a;try{let o;if(r==="projects")o=t.settings.projectAutosuggest;else{let u=n.getUserField(r);o=u==null?void 0:u.autosuggestFilter}let l=(t.settings.excludedFolders||"").split(",").map(u=>u.trim()).filter(Boolean),d=(await j$.suggest(t,e,20,o)).filter(u=>{let p=t.app.vault.getMarkdownFiles().find(m=>m.basename===u.insertText);return p?!l.some(m=>p.path.startsWith(m)):!0});if(r==="projects"){let u=new wu({getFrontmatter:m=>m.frontmatter}),p=((a=(s=(i=t.settings)==null?void 0:i.projectAutosuggest)==null?void 0:s.rows)!=null?a:[]).slice(0,3);return d.map(m=>{var k;let f=m.displayText||m.insertText,h=m.insertText,g=t.app.vault.getMarkdownFiles().find(T=>T.basename===m.insertText),y=[];if(g&&p.length>0){let T=t.app.metadataCache.getFileCache(g),w=(T==null?void 0:T.frontmatter)||{},S=t.fieldMapper.mapFromFrontmatter(w,g.path,t.settings.storeTitleInFilename),E=typeof S.title=="string"?S.title:"",C=Array.isArray(w.aliases)?w.aliases.filter(A=>typeof A=="string"):[],D={basename:g.basename,name:g.name,path:g.path,parent:((k=g.parent)==null?void 0:k.path)||"",title:E,aliases:C,frontmatter:w};y=Hqe(p,D,u)}return{label:f,apply:`[[${h}]] `,type:"text",info:"Project",projectMetadata:y.length>0?y:void 0,projectQuery:e}})}return d.map(u=>{let p=u.displayText||u.insertText,m=u.insertText;return{label:p,apply:`[[${m}]] `,type:"text",info:r==="projects"?"Project":r}})}catch(o){return console.error(`Error getting file suggestions for ${r}:`,o),[]}}function Hqe(r,e,t){var s;let n=[],i=Math.min(r.length,3);for(let a=0;a<i;a++){let o=r[a];if(o)try{let l=Pl(o),c=[];for(let d of l){if(d.property.startsWith("literal:")){let p=d.property.slice(8);p&&c.push({text:p,searchable:!1,kind:"literal"});continue}let u=t.resolve(d.property,e);u&&(d.showName&&c.push({text:`${(s=d.displayName)!=null?s:d.property}:`,searchable:!1,kind:"label"}),c.push({text:u,searchable:d.searchable===!0||Fqe.has(d.property),kind:"value"}))}c.some(d=>d.text.trim().length>0)&&n.push(c)}catch(l){}}return n}function Uqe(r,e,t){let n=t.toLowerCase().split(/\s+/).filter(Boolean);if(n.length===0){r.textContent=e;return}let i=e.toLowerCase(),s=[];for(let l of n){let c=i.indexOf(l);for(;c!==-1;)s.push({start:c,end:c+l.length}),c=i.indexOf(l,c+1)}s.sort((l,c)=>l.start-c.start);let a=[];for(let l of s){let c=a[a.length-1];(!c||l.start>=c.end)&&a.push(l)}if(a.length===0){r.textContent=e;return}let o=0;for(let l of a){l.start>o&&r.appendChild(activeDocument.createTextNode(e.slice(o,l.start)));let c=activeDocument.createElement("mark");c.textContent=e.slice(l.start,l.end),r.appendChild(c),o=l.end}o<e.length&&r.appendChild(activeDocument.createTextNode(e.slice(o)))}function Vqe(r,e){return Oi.fromPlugin(e).getStatusSuggestions(r,10).map(i=>({label:i.display,apply:i.value+" ",type:"text",info:"Status"}))}function Wqe(r,e){return(e.settings.customPriorities||[]).filter(n=>n.label.toLowerCase().includes(r.toLowerCase())).slice(0,10).map(n=>({label:n.label,apply:n.value+" ",type:"text",info:"Priority"}))}function Yqe(r){return["true","false"].filter(t=>t.toLowerCase().includes(r.toLowerCase())).map(t=>({label:t,apply:t+" ",type:"text",info:"Boolean"}))}var $l,q$,sde,Fqe,ode=v(()=>{$l=require("@codemirror/autocomplete"),q$=require("@codemirror/state"),sde=require("@codemirror/view");Ru();ide();tP();GD();yT();Fqe=new Set(["title","aliases","file.basename"])});function lde(r){let e=Ve(),t=r.contexts.split(",").map(l=>l.trim()).filter(l=>l.length>0),n=sa(r.projects),i=Ai(r.tags).split(",").map(l=>l.trim()).filter(l=>l.length>0);r.taskIdentificationMethod==="tag"&&r.taskTag&&!i.includes(r.taskTag)&&i.push(r.taskTag);let s={title:r.title.trim(),due:r.dueDate||void 0,scheduled:r.scheduledDate||void 0,priority:r.priority,status:r.status,contexts:t.length>0?t:void 0,projects:n.length>0?n:void 0,tags:i.length>0?i:void 0,timeEstimate:r.timeEstimate>0?r.timeEstimate:void 0,recurrence:r.recurrenceRule||void 0,recurrence_anchor:r.recurrenceRule?r.recurrenceAnchor:void 0,reminders:r.reminders.length>0?r.reminders:void 0,creationContext:r.creationContext||"manual-creation",dateCreated:e,dateModified:e,customFrontmatter:Gqe(r.userFields)},a=r.blockedByItems.map(l=>({...l.dependency}));a.length>0&&(s.blockedBy=a);let o=r.normalizeDetails(r.details).trimEnd();return o.length>0&&(s.details=o),s}function cde(r){let e=[],t={},n=[];return r.forEach(i=>{i.path?e.includes(i.path)||(e.push(i.path),t[i.path]={...i.dependency}):n.push(i.dependency.uid)}),{added:e,raw:t,unresolved:n}}function Gqe(r){let e={};for(let[t,n]of Object.entries(r))n!=null&&n!==""&&(e[t]=n);return e}var dde=v(()=>{Qe();Cr();gu()});var ly,aP,ude=v(()=>{ly=require("obsidian");Ru();GD();yT();aP=class extends ly.AbstractInputSuggest{constructor(t,n,i){super(t,n);this.currentTrigger=null;this.projectMetadataResolver=null;this.plugin=i,this.textarea=n,this.obsidianApp=t}isBoundary(t,n){if(n===-1)return!1;if(n===0)return!0;let i=t[n-1];return!/\w/.test(i)}findActiveTrigger(t){let n=t.lastIndexOf("@"),i=t.lastIndexOf("#"),s=t.lastIndexOf("+"),a=(this.plugin.settings.statusSuggestionTrigger||"").trim(),o=a?t.lastIndexOf(a):-1,l=[{type:"@",index:n},{type:"#",index:i},{type:"+",index:s},{type:"status",index:o}].filter(m=>this.isBoundary(t,m.index));if(l.length===0)return{trigger:null,triggerIndex:-1,queryAfterTrigger:""};l.sort((m,f)=>f.index-m.index);let c=l[0].index,d=l[0].type,u=d==="status"?(a==null?void 0:a.length)||0:1,p=t.slice(c+u);return{trigger:d,triggerIndex:c,queryAfterTrigger:p}}shouldEndSuggestionContext(t,n){return!!(t==="+"&&/^\[\[[^\]]*\]\]/.test(n)||(t==="@"||t==="#"||t==="status")&&(n.includes(" ")||n.includes(`
`)))}getContextSuggestions(t){return this.plugin.cacheManager.getAllContexts().filter(i=>i&&typeof i=="string").filter(i=>i.toLowerCase().includes(t.toLowerCase())).slice(0,10).map(i=>({value:i,display:i,type:"context",toString(){return this.value}}))}getStatusSuggestions(t){return Oi.fromPlugin(this.plugin).getStatusSuggestions(t,10).map(i=>({...i,type:"status",toString(){return this.value}}))}getTagSuggestions(t){return this.plugin.cacheManager.getAllTags().filter(i=>i&&typeof i=="string").filter(i=>i.toLowerCase().includes(t.toLowerCase())).slice(0,10).map(i=>({value:i,display:i,type:"tag",toString(){return this.value}}))}getProjectMetadataResolver(){var t;if(!this.projectMetadataResolver){let n=(t=this.obsidianApp)!=null?t:this.plugin.app;this.projectMetadataResolver=new wu({getFrontmatter:i=>{let s=n==null?void 0:n.vault.getAbstractFileByPath(i.path),a=s instanceof ly.TFile?n==null?void 0:n.metadataCache.getFileCache(s):void 0;return(a==null?void 0:a.frontmatter)||{}}})}return this.projectMetadataResolver}async getProjectSuggestions(t){var l,c,d,u;let{FileSuggestHelper:n}=await Promise.resolve().then(()=>(tP(),z$)),i=(this.plugin.settings.excludedFolders||"").split(",").map(p=>p.trim()).filter(Boolean),s=await n.suggest(this.plugin,t,20,this.plugin.settings.projectAutosuggest),a=(l=this.obsidianApp)!=null?l:this.plugin.app,o=s.filter(p=>{let m=a==null?void 0:a.vault.getMarkdownFiles().find(f=>f.basename===p.insertText);return m?!i.some(f=>m.path.startsWith(f)):!0});try{let p=this.getProjectMetadataResolver(),m=((u=(d=(c=this.plugin.settings)==null?void 0:c.projectAutosuggest)==null?void 0:d.rows)!=null?u:[]).slice(0,3);return o.map(f=>{var D;let h=a==null?void 0:a.vault.getMarkdownFiles().find(A=>A.basename===f.insertText);if(!h)return{basename:f.insertText,displayName:f.displayText,type:"project",toString(){return this.basename}};let g=a==null?void 0:a.metadataCache.getFileCache(h),y=(g==null?void 0:g.frontmatter)||{},k=this.plugin.fieldMapper.mapFromFrontmatter(y,h.path,this.plugin.settings.storeTitleInFilename),T=typeof k.title=="string"?k.title:"",w=(0,ly.parseFrontMatterAliases)(y)||[],S=Array.isArray(w)?w.filter(A=>typeof A=="string"):[],E={basename:h.basename,name:h.name,path:h.path,parent:((D=h.parent)==null?void 0:D.path)||"",title:T,aliases:S,frontmatter:y},C=this.generateProjectDisplayName(m,E,p,h.basename);return{basename:f.insertText,displayName:C,type:"project",entry:{basename:E.basename,name:E.name,path:E.path,parent:E.parent,title:E.title,aliases:E.aliases,frontmatter:E.frontmatter},toString(){return this.basename}}})}catch(p){return console.error("Enhanced project autosuggest failed, falling back to basic suggestions",p),o.map(m=>({basename:m.insertText,displayName:m.displayText,type:"project",toString(){return this.basename}}))}}generateProjectDisplayName(t,n,i,s){var o;let a=[];for(let l of t)try{let c=Pl(l),d=[];for(let p of c){if(p.property.startsWith("literal:")){d.push(p.property.slice(8));continue}let m=i.resolve(p.property,n)||"";if(m)if(p.showName){let f=(o=p.displayName)!=null?o:p.property;d.push(`${f}: ${m}`)}else d.push(m)}let u=d.join(" ");u.trim()&&a.push(u)}catch(c){}return a.join(" | ")||s}async getSuggestions(t){let n=this.textarea.selectionStart,i=this.textarea.value.slice(0,n),{trigger:s,triggerIndex:a,queryAfterTrigger:o}=this.findActiveTrigger(i);if(!s||a===-1)return this.currentTrigger=null,[];if(this.shouldEndSuggestionContext(s,o))return this.currentTrigger=null,[];switch(this.currentTrigger=s,s){case"@":return this.getContextSuggestions(o);case"status":return this.getStatusSuggestions(o);case"#":return this.getTagSuggestions(o);case"+":return await this.getProjectSuggestions(o);default:return[]}}renderSuggestion(t,n){var c,d,u,p,m;n.setAttribute("role","option");let i=t.type==="project"?t.displayName:t.display;n.setAttribute("aria-label",`${t.type}: ${i}`);let s=n.createSpan("nlp-suggest-icon");s.textContent=this.currentTrigger==="status"?this.plugin.settings.statusSuggestionTrigger||"":this.currentTrigger||"",s.setAttribute("aria-hidden","true");let a=n.createSpan("nlp-suggest-text"),o=(f,h)=>{if(!h)return;let g=h.toLowerCase().split(/\s+/).filter(Boolean);if(!g.length)return;let y=k=>{var T;if(k.nodeType===Node.TEXT_NODE){let w=k.nodeValue||"",S=w.toLowerCase(),E=[];for(let N of g){let V=S.indexOf(N);for(;V!==-1;)E.push({start:V,end:V+N.length}),V=S.indexOf(N,V+1)}E.sort((N,V)=>N.start-V.start);let C=[];for(let N of E)(!C.length||N.start>=C[C.length-1].end)&&C.push(N);if(!C.length)return;let D=activeDocument.createDocumentFragment(),A=0;for(let N of C){N.start>A&&D.appendChild(activeDocument.createTextNode(w.slice(A,N.start)));let V=activeDocument.createElement("mark");V.textContent=w.slice(N.start,N.end),D.appendChild(V),A=N.end}A<w.length&&D.appendChild(activeDocument.createTextNode(w.slice(A))),(T=k.parentNode)==null||T.replaceChild(D,k)}else if(k.nodeType===Node.ELEMENT_NODE&&k.tagName!=="MARK"){let w=Array.from(k.childNodes);for(let S of w)y(S)}};y(f)},l="";if(this.currentTrigger==="+"){let f=this.textarea.selectionStart,h=this.textarea.value.slice(0,f),g=h.lastIndexOf("+");if(g!==-1){let y=h.slice(g+1);y&&!y.includes(`
`)&&(l=y.trim())}}if(t.type==="project"){let f=a.createDiv({cls:"nlp-suggest-project__filename",text:t.basename});l&&o(f,l);let h=((u=(d=(c=this.plugin.settings)==null?void 0:c.projectAutosuggest)==null?void 0:d.rows)!=null?u:[]).slice(0,3);if(Array.isArray(h)&&h.length>0&&t.entry){let g=this.getProjectMetadataResolver();for(let y=0;y<Math.min(h.length,3);y++){let k=h[y];if(k)try{let T=Pl(k),w=a.createDiv({cls:"nlp-suggest-project__meta"}),S=new Set(["title","aliases","file.basename"]),E=!1;for(let C of T){if(C.property.startsWith("literal:")){let V=C.property.slice(8);V&&(w.childNodes.length&&w.appendChild(activeDocument.createTextNode(" ")),w.appendChild(activeDocument.createTextNode(V)),E=!0);continue}let D=g.resolve(C.property,t.entry);if(!D)continue;if(w.childNodes.length&&w.appendChild(activeDocument.createTextNode(" ")),C.showName){let V=activeDocument.createElement("span");V.className="nlp-suggest-project__meta-label",V.textContent=`${(p=C.displayName)!=null?p:C.property}:`,w.appendChild(V),w.appendChild(activeDocument.createTextNode(" "))}let A=activeDocument.createElement("span");A.className="nlp-suggest-project__meta-value",A.textContent=D,w.appendChild(A),E=!0;let N=C.searchable===!0||S.has(C.property);l&&N&&o(A,l)}(!E||((m=w.textContent)==null?void 0:m.trim().length)===0)&&w.remove()}catch(T){}}}}else t.type,a.textContent=t.display}selectSuggestion(t){if(!this.currentTrigger)return;let n=this.textarea.selectionStart,i=this.textarea.value.slice(0,n),s=this.textarea.value.slice(n),a=-1,o=(this.plugin.settings.statusSuggestionTrigger||"").trim();if(this.currentTrigger==="@"?a=i.lastIndexOf("@"):this.currentTrigger==="#"?a=i.lastIndexOf("#"):this.currentTrigger==="+"?a=i.lastIndexOf("+"):this.currentTrigger==="status"&&o&&(a=i.lastIndexOf(o)),a===-1)return;let l=t.type==="project"?t.basename:t.value,c=i.slice(0,a),d="";this.currentTrigger==="+"?d="+[["+l+"]]":this.currentTrigger==="status"?d=t.type==="status"?t.label:l:d=this.currentTrigger+l;let u=c+d+(d?" ":"")+s;this.textarea.value=u;let p=c.length+d.length+(d?1:0);this.textarea.setSelectionRange(p,p),this.textarea.dispatchEvent(new Event("input",{bubbles:!0})),this.textarea.focus()}}});var oP={};et(oP,{convertDefaultRemindersToReminders:()=>Kqe,hasAnyUserFieldsEnabled:()=>pde,isUserFieldConfigComplete:()=>mde,isUserFieldEnabled:()=>Zqe});function Kqe(r,e){return r.map(t=>{let n={id:`rem_${Date.now()}_${Math.random().toString(36).slice(2,11)}`,type:t.type,description:t.description};if(t.type==="relative"){if(t.relatedTo&&t.offset!==void 0&&t.unit&&t.direction){let i="PT";t.unit==="days"?i=`P${t.offset}D`:t.unit==="hours"?i=`PT${t.offset}H`:i=`PT${t.offset}M`,t.direction==="before"&&(i="-"+i),n.relatedTo=t.relatedTo,n.offset=i}}else t.type==="absolute"&&t.absoluteDate&&t.absoluteTime&&(n.absoluteTime=`${t.absoluteDate}T${t.absoluteTime}:00`);return n}).filter(t=>t.type==="relative"?t.relatedTo&&t.offset:!!t.absoluteTime)}function pde(r){let e=r.userFields;return!e||e.length===0?!1:e.some(t=>!!(t&&t.displayName&&t.key&&t.type))}function mde(r){return!r||!r.enabled?!1:!!(r.displayName&&r.key&&r.type)}function Zqe(r){return r.userFields&&r.userFields.length>0?pde(r):mde(r.userField)}var lP=v(()=>{});var fde={};et(fde,{TaskCreationModal:()=>zu});function Qqe(r,e,t){let n=(bL(),eD(vL));return new n.EmbeddableMarkdownEditor(r,e,t)}var to,zu,cP=v(()=>{to=require("obsidian");B$();Cr();Ru();Qe();gu();jr();ode();dde();ude();zu=class extends oy{constructor(t,n,i={}){super(t,n);this.nlMarkdownEditor=null;this.nlpSuggest=null;this.eventListeners=[];this.options=i,this.nlParser=Oi.fromPlugin(n)}getModalTitle(){return this.t("modals.taskCreation.title")}isCreationMode(){return!0}addTrackedEventListener(t,n,i){t.addEventListener(n,i),this.eventListeners.push({element:t,event:n,handler:i})}removeAllEventListeners(){for(let{element:t,event:n,handler:i}of this.eventListeners)t.removeEventListener(n,i);this.eventListeners=[]}createPrimaryInput(t){this.plugin.settings.enableNaturalLanguageInput?this.createNaturalLanguageInput(t):(this.createTitleInput(t),this.isExpanded=!0,this.containerEl.addClass("expanded"))}createAdditionalSections(t){(this.options.prePopulatedValues&&this.options.prePopulatedValues.projects||this.selectedProjectItems.length>0)&&this.renderProjectsList()}createNaturalLanguageInput(t){let n=t.createDiv("nl-input-container"),i=n.createDiv("nl-markdown-editor");i.setAttribute("role","textbox"),i.setAttribute("aria-label",this.t("modals.taskCreation.nlPlaceholder")),i.setAttribute("aria-multiline","true"),this.nlPreviewContainer=n.createDiv("nl-preview-container"),this.nlPreviewContainer.setAttribute("role","status"),this.nlPreviewContainer.setAttribute("aria-live","polite"),this.nlPreviewContainer.setAttribute("aria-label","Task preview");try{let s=ade(this.plugin);this.nlMarkdownEditor=Qqe(this.app,i,{value:"",placeholder:this.t("modals.taskCreation.nlPlaceholder"),cls:"nlp-editor",extensions:s,enterVimInsertMode:!0,onChange:a=>{a.trim()?this.updateNaturalLanguagePreview(a.trim()):this.clearNaturalLanguagePreview()},onSubmit:()=>{this.handleSave()},onEscape:()=>{this.close()},onTab:a=>a?!1:(this.isExpanded||this.expandModal(),window.setTimeout(()=>{let o=this.modalEl.querySelector(".title-input-detailed");o&&o.focus()},50),!0),onEnter:(a,o,l)=>l?!1:!!o}),window.setTimeout(()=>{var a;if(this.nlMarkdownEditor){let o=(a=this.nlMarkdownEditor.editor)==null?void 0:a.cm;o&&(o.focus(),o.scrollDOM.scrollTop=0)}},100)}catch(s){console.error("Failed to create NLP markdown editor:",s),this.nlInput=i.createEl("textarea",{cls:"nl-input",attr:{placeholder:this.t("modals.taskCreation.nlPlaceholder"),rows:"3"}});let a=()=>{let l=this.nlInput.value.trim();l?this.updateNaturalLanguagePreview(l):this.clearNaturalLanguagePreview()};this.addTrackedEventListener(this.nlInput,"input",a);let o=l=>{let c=this.nlInput.value.trim();if(!c)return;let d=l;d.key==="Enter"&&(d.ctrlKey||d.metaKey)?(d.preventDefault(),this.handleSave()):d.key==="Tab"&&d.shiftKey&&(d.preventDefault(),this.parseAndFillForm(c))};this.addTrackedEventListener(this.nlInput,"keydown",o),this.nlpSuggest=new aP(this.app,this.nlInput,this.plugin),window.setTimeout(()=>{this.nlInput.focus()},100)}}updateNaturalLanguagePreview(t){if(!this.nlPreviewContainer)return;let n=this.nlParser.parseInput(t),i=this.nlParser.getPreviewData(n);i.length>0&&n.title?(this.nlPreviewContainer.empty(),this.nlPreviewContainer.classList.remove("tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),this.nlPreviewContainer.classList.add("tn-static-display-block-2a1b75c9"),i.forEach(s=>{let a=this.nlPreviewContainer.createDiv("nl-preview-item");a.textContent=s.text})):this.clearNaturalLanguagePreview()}clearNaturalLanguagePreview(){this.nlPreviewContainer&&(this.nlPreviewContainer.empty(),this.nlPreviewContainer.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-min-height-800px-997b4c8c"),this.nlPreviewContainer.classList.add("tn-static-display-none-6b99de8b"))}getNLPInputValue(){return this.nlMarkdownEditor?this.nlMarkdownEditor.value:this.nlInput?this.nlInput.value:""}createActionBar(t){if(this.actionBar=t.createDiv("action-bar"),this.plugin.settings.enableNaturalLanguageInput){this.createActionIcon(this.actionBar,"wand",this.t("modals.taskCreation.actions.fillFromNaturalLanguage"),(i,s)=>{let a=this.getNLPInputValue().trim();a&&this.parseAndFillForm(a)}),this.createActionIcon(this.actionBar,this.isExpanded?"chevron-up":"chevron-down",this.isExpanded?this.t("modals.taskCreation.actions.hideDetailedOptions"):this.t("modals.taskCreation.actions.showDetailedOptions"),(i,s)=>{this.toggleDetailedForm();let a=i.querySelector(".icon");a&&(0,to.setIcon)(a,this.isExpanded?"chevron-up":"chevron-down"),(0,to.setTooltip)(i,this.isExpanded?this.t("modals.taskCreation.actions.hideDetailedOptions"):this.t("modals.taskCreation.actions.showDetailedOptions"),{placement:"top"})});let n=this.actionBar.createDiv("action-separator");n.classList.remove("tn-static-width-100-0466783d","tn-static-width-12px-fbf353fb","tn-static-width-16px-7375d50b","tn-static-width-200px-2acaf3b5","tn-static-width-60px-bd09c419","tn-static-width-80px-8573bae3"),n.classList.add("tn-static-width-1px-aa77e27e"),n.classList.remove("tn-static-display-flex-4d51fc62","tn-static-height-0-7a31cef0","tn-static-height-100-62264068","tn-static-height-12px-06c0747e","tn-static-height-16px-30de4aee","tn-static-min-height-800px-997b4c8c"),n.classList.add("tn-static-height-24px-29a11d37"),n.classList.remove("tn-static-background-color-var-background-se-9087a23e","tn-static-background-color-var-color-base-40-ef5f175e","tn-static-background-color-var-color-red-134bc721","tn-static-background-color-var-text-accent-a954c70f"),n.classList.add("tn-static-background-color-var-background-mo-94b219f0"),n.classList.remove("tn-static-margin-0-11696618","tn-static-margin-0-auto-266e9b04","tn-static-margin-0-db0d5f36","tn-static-margin-2px-0-edce9b14","tn-static-margin-8px-0-0-0-a2eb8382","tn-static-padding-12px-43bef435","tn-static-padding-20px-ebe8e48c"),n.classList.add("tn-static-margin-0-var-size-4-2-77f7dc08")}this.createActionIcon(this.actionBar,"calendar",this.t("modals.task.actions.due"),(n,i)=>{this.showDateContextMenu(i,"due")},"due-date"),this.createActionIcon(this.actionBar,"calendar-clock",this.t("modals.task.actions.scheduled"),(n,i)=>{this.showDateContextMenu(i,"scheduled")},"scheduled-date"),this.createActionIcon(this.actionBar,"dot-square",this.t("modals.task.actions.status"),(n,i)=>{this.showStatusContextMenu(i)},"status"),this.createActionIcon(this.actionBar,"star",this.t("modals.task.actions.priority"),(n,i)=>{this.showPriorityContextMenu(i)},"priority"),this.createActionIcon(this.actionBar,"refresh-ccw",this.t("modals.task.actions.recurrence"),(n,i)=>{this.showRecurrenceContextMenu(i)},"recurrence"),this.createActionIcon(this.actionBar,"bell",this.t("modals.task.actions.reminders"),(n,i)=>{this.showReminderContextMenu(i)},"reminders"),this.updateIconStates()}parseAndFillForm(t){let n=this.nlParser.parseInput(t);this.applyParsedData(n),this.isExpanded||this.expandModal()}applyParsedData(t){var n;if(t.title&&(this.title=t.title),t.status&&(this.status=t.status),t.priority&&(this.priority=t.priority),t.dueDate&&(this.dueDate=t.dueTime?ts(t.dueDate,t.dueTime):t.dueDate),t.scheduledDate&&(this.scheduledDate=t.scheduledTime?ts(t.scheduledDate,t.scheduledTime):t.scheduledDate),t.contexts&&t.contexts.length>0&&(this.contexts=t.contexts.join(", ")),t.tags&&t.tags.length>0&&(this.tags=Ai(t.tags.join(", "))),t.details&&(this.details=t.details),t.recurrence&&(this.recurrenceRule=t.recurrence),t.estimate!==void 0&&(this.timeEstimate=t.estimate>0?t.estimate:0,this.timeEstimateInput&&(this.timeEstimateInput.value=this.timeEstimate>0?this.timeEstimate.toString():"")),this.titleInput&&(this.titleInput.value=this.title),this.detailsInput&&(this.detailsInput.value=this.details),this.detailsMarkdownEditor&&this.detailsMarkdownEditor.setValue(this.details),this.contextsInput&&(this.contextsInput.value=this.contexts),this.tagsInput&&(this.tagsInput.value=this.tags),t.projects&&t.projects.length>0&&(this.addProjectsFromStrings(t.projects),this.renderProjectsList()),t.userFields){console.debug("[TaskCreationModal] applyParsedData - parsed.userFields:",t.userFields),console.debug("[TaskCreationModal] applyParsedData - available user field definitions:",this.plugin.settings.userFields);for(let[i,s]of Object.entries(t.userFields)){let a=(n=this.plugin.settings.userFields)==null?void 0:n.find(o=>o.id===i);console.debug(`[TaskCreationModal] Looking for field ${i}, found:`,a),a?(Array.isArray(s)?this.userFields[a.key]=s.join(", "):this.userFields[a.key]=s,console.debug(`[TaskCreationModal] Applied user field ${a.displayName} (key: ${a.key}): ${ie(s)}`),console.debug("[TaskCreationModal] Current this.userFields:",this.userFields)):console.warn(`[TaskCreationModal] No user field definition found for field ID: ${i}`)}}else console.debug("[TaskCreationModal] applyParsedData - NO parsed.userFields");this.updateIconStates()}toggleDetailedForm(){this.isExpanded?(this.isExpanded=!1,this.detailsContainer.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-min-height-800px-997b4c8c"),this.detailsContainer.classList.add("tn-static-display-none-6b99de8b"),this.containerEl.removeClass("expanded")):this.expandModal()}async initializeFormData(){this.priority=this.plugin.settings.defaultTaskPriority,this.status=this.plugin.settings.defaultTaskStatus;let t=this.plugin.settings.taskCreationDefaults;if(this.dueDate=qo(t.defaultDueDate),this.scheduledDate=qo(t.defaultScheduledDate),this.contexts=t.defaultContexts||"",this.tags=t.defaultTags||"",t.defaultProjects){let n=sa(t.defaultProjects);n.length>0&&this.initializeProjectsFromStrings(n)}if(t.defaultTimeEstimate&&t.defaultTimeEstimate>0&&(this.timeEstimate=t.defaultTimeEstimate),t.defaultReminders&&t.defaultReminders.length>0){let{convertDefaultRemindersToReminders:n}=await Promise.resolve().then(()=>(lP(),oP));this.reminders=n(t.defaultReminders)}if(this.plugin.settings.userFields){for(let n of this.plugin.settings.userFields)if(n.defaultValue!==void 0)if(n.type==="date"&&typeof n.defaultValue=="string"){let i=n.defaultValue,s=qo(i);s&&(this.userFields[n.key]=s)}else this.userFields[n.key]=n.defaultValue}this.options.prePopulatedValues&&this.applyPrePopulatedValues(this.options.prePopulatedValues),this.details=this.normalizeDetails(this.details),this.originalDetails=this.details}applyPrePopulatedValues(t){t.title!==void 0&&(this.title=t.title),t.due!==void 0&&(this.dueDate=t.due),t.scheduled!==void 0&&(this.scheduledDate=t.scheduled),t.priority!==void 0&&(this.priority=t.priority),t.status!==void 0&&(this.status=t.status),t.contexts!==void 0&&(this.contexts=t.contexts.join(", ")),t.projects!==void 0&&(t.projects.filter(i=>i&&typeof i=="string"&&i.trim()!=="").length>0&&this.initializeProjectsFromStrings(t.projects),this.renderProjectsList()),t.tags!==void 0&&(this.tags=Ai(t.tags.filter(n=>n!==this.plugin.settings.taskTag).join(", "))),t.timeEstimate!==void 0&&(this.timeEstimate=t.timeEstimate),t.recurrence!==void 0&&typeof t.recurrence=="string"&&(this.recurrenceRule=t.recurrence),t.recurrence_anchor!==void 0&&(this.recurrenceAnchor=t.recurrence_anchor)}async handleSave(){if(this.plugin.settings.enableNaturalLanguageInput){let t=this.getNLPInputValue().trim();if(t&&!this.title.trim()){let n=this.nlParser.parseInput(t);this.applyParsedData(n)}}if(!this.validateForm()){new to.Notice(this.t("modals.taskCreation.notices.titleRequired"));return}try{let t=this.buildTaskData(),n=await this.plugin.taskService.createTask(t,{applyDefaults:!1}),i=n.taskInfo,s=n.taskInfo.title.replace(/[<>:"/\\|?*]/g,"").trim(),a=n.file.basename;if(a.startsWith("task-")&&a!==s?new to.Notice(this.t("modals.taskCreation.notices.successShortened",{title:i.title})):new to.Notice(this.t("modals.taskCreation.notices.success",{title:i.title})),this.blockingItems.length>0){let o=cde(this.blockingItems);if(o.added.length>0){await this.plugin.taskService.updateBlockingRelationships(i,o.added,[],o.raw);let l=await this.plugin.cacheManager.getTaskInfo(i.path);l&&(i=l)}o.unresolved.length>0&&new to.Notice(this.t("modals.taskCreation.notices.blockingUnresolved",{entries:o.unresolved.join(", ")})),this.blockingItems=[]}this.selectedSubtaskFiles.length>0&&await this.applySubtaskAssignments(i),this.options.onTaskCreated&&this.options.onTaskCreated(i),this.close()}catch(t){console.error("Failed to create task:",t);let n=t instanceof Error&&t.message?t.message:String(t);new to.Notice(this.t("modals.taskCreation.notices.failure",{message:n}))}}buildTaskData(){return lde({title:this.title,dueDate:this.dueDate,scheduledDate:this.scheduledDate,priority:this.priority,status:this.status,contexts:this.contexts,projects:this.projects,tags:this.tags,timeEstimate:this.timeEstimate,recurrenceRule:this.recurrenceRule,recurrenceAnchor:this.recurrenceAnchor,reminders:this.reminders,blockedByItems:this.blockedByItems,details:this.details,userFields:this.userFields,creationContext:this.options.creationContext,taskIdentificationMethod:this.plugin.settings.taskIdentificationMethod,taskTag:this.plugin.settings.taskTag,normalizeDetails:t=>this.normalizeDetails(t)})}createTitleInput(t){this.plugin.settings.enableNaturalLanguageInput||super.createTitleInput(t)}async applySubtaskAssignments(t){let n=this.app.vault.getAbstractFileByPath(t.path);if(n instanceof to.TFile)for(let i of this.selectedSubtaskFiles)try{let s=await this.plugin.cacheManager.getTaskInfo(i.path);if(!s)continue;let a=this.buildProjectReference(n,i.path),o=`[[${n.basename}]]`,l=Array.isArray(s.projects)?s.projects:[];if(l.includes(a)||l.includes(o))continue;let d=[...l.filter(u=>u!==o),a];await this.plugin.updateTaskProperty(s,"projects",d)}catch(s){console.error("Failed to assign subtask:",s)}}onClose(){this.nlMarkdownEditor&&(this.nlMarkdownEditor.destroy(),this.nlMarkdownEditor=null),this.nlpSuggest&&(this.nlpSuggest.close(),this.nlpSuggest=null),this.removeAllEventListeners(),super.onClose()}}});var cy,mP,H$=v(()=>{cy=class{constructor(){this.inFlightRequests=new Map;this.prefetchQueue=new Set;this.prefetchPromises=new Map;this.activeTimeouts=new Set}async execute(e,t,n=5e3){if(this.inFlightRequests.has(e))return this.inFlightRequests.get(e);let i=this.createRequest(e,t,n);return this.inFlightRequests.set(e,i),i}async createRequest(e,t,n){try{let i=await t(),s=window.setTimeout(()=>{this.inFlightRequests.delete(e),this.activeTimeouts.delete(s)},n);return this.activeTimeouts.add(s),i}catch(i){throw this.inFlightRequests.delete(e),i}}prefetch(e,t,n="low"){if(!(this.inFlightRequests.has(e)||this.prefetchPromises.has(e)))if(n==="high")this.executePrefetch(e,t);else if(this.prefetchQueue.add(e),"requestIdleCallback"in window)requestIdleCallback(()=>{this.processPrefetchQueue(e,t)});else{let s=window.setTimeout(()=>{this.processPrefetchQueue(e,t),this.activeTimeouts.delete(s)},50);this.activeTimeouts.add(s)}}async executePrefetch(e,t){try{let n=t();this.prefetchPromises.set(e,n),await n;let i=window.setTimeout(()=>{this.prefetchPromises.delete(e),this.activeTimeouts.delete(i)},3e4);this.activeTimeouts.add(i)}catch(n){this.prefetchPromises.delete(e)}}processPrefetchQueue(e,t){this.prefetchQueue.has(e)&&(this.prefetchQueue.delete(e),this.executePrefetch(e,t))}getPrefetchedData(e){return this.prefetchPromises.get(e)||null}cancel(e){this.inFlightRequests.delete(e),this.prefetchPromises.delete(e),this.prefetchQueue.delete(e)}cancelAll(){this.inFlightRequests.clear(),this.prefetchPromises.clear(),this.prefetchQueue.clear();for(let e of this.activeTimeouts)window.clearTimeout(e);this.activeTimeouts.clear()}getStats(){return{inFlightCount:this.inFlightRequests.size,prefetchCount:this.prefetchPromises.size,queuedCount:this.prefetchQueue.size}}},mP=class{constructor(e){this.lastAccessTime=new Map;this.deduplicator=e}recordAccess(e,t,n){let i=this.getDateKey(e);this.lastAccessTime.set(i,Date.now()),this.prefetchAdjacentDates(e,t,n)}prefetchAdjacentDates(e,t,n){this.getAdjacentDates(e).forEach(({date:s,priority:a})=>{let o=`${t}-${this.getDateKey(s)}`;this.deduplicator.prefetch(o,()=>n(s),a)})}getAdjacentDates(e){let t=[],n=new Date(e);n.setDate(e.getDate()-1),t.push({date:n,priority:"high"});let i=new Date(e);i.setDate(e.getDate()+1),t.push({date:i,priority:"high"});for(let s=2;s<=7;s++){let a=new Date(e);a.setDate(e.getDate()-s),t.push({date:a,priority:"low"});let o=new Date(e);o.setDate(e.getDate()+s),t.push({date:o,priority:"low"})}return t}getDateKey(e){return e.toISOString().split("T")[0]}cleanup(){let e=Date.now(),t=1440*60*1e3;for(let[n,i]of this.lastAccessTime)e-i>t&&this.lastAccessTime.delete(n)}}});var dy,fP,Mde=v(()=>{dy=class{constructor(){this.updateQueue=[];this.isProcessing=!1;this.activeTimeouts=new Set}scheduleUpdate(e){this.updateQueue.push(e),this.isProcessing||(this.isProcessing=!0,window.requestAnimationFrame(()=>{this.processUpdates()}))}processUpdates(){let e=[...this.updateQueue];this.updateQueue=[];try{e.forEach(t=>{try{t()}catch(n){console.error("Error processing DOM update:",n)}})}finally{this.isProcessing=!1,this.updateQueue.length>0&&window.requestAnimationFrame(()=>{this.processUpdates()})}}updateAttributes(e,t){for(let[n,i]of Object.entries(t))i===null?e.removeAttribute(n):e.getAttribute(n)!==i&&e.setAttribute(n,i)}updateClasses(e,t){for(let[n,i]of Object.entries(t))i?e.classList.add(n):e.classList.remove(n)}updateTextContent(e,t){e.textContent!==t&&(e.textContent=t)}updateStyles(e,t){for(let[n,i]of Object.entries(t))i===null?e.style.removeProperty(n):e.style.setProperty(n,i)}preserveState(e){let t={scrollTop:e.scrollTop,scrollLeft:e.scrollLeft,focused:activeDocument.activeElement===e,selection:null};return(e.instanceOf(HTMLInputElement)||e.instanceOf(HTMLTextAreaElement))&&(t.selection={start:e.selectionStart||0,end:e.selectionEnd||0}),t}restoreState(e,t){e.scrollTop=t.scrollTop,e.scrollLeft=t.scrollLeft,t.focused&&e.focus(),t.selection&&(e.instanceOf(HTMLInputElement)||e.instanceOf(HTMLTextAreaElement))&&e.setSelectionRange(t.selection.start,t.selection.end)}animateUpdate(e,t,n=1500){e.classList.add(`task-${t}`);let i=window.setTimeout(()=>{e.classList.remove(`task-${t}`),this.activeTimeouts.delete(i)},n);this.activeTimeouts.add(i)}updateList(e,t,n,i,s){let a=new Map,o=new Set;Array.from(e.children).forEach(d=>{let u=d.dataset.key;u&&(a.set(u,d),o.add(u))});let l=new Set(t.map(n)),c=activeDocument.createDocumentFragment();t.forEach(d=>{let u=n(d),p=a.get(u);if(p)s&&s(p,d),c.appendChild(p);else{let m=i(d);m.dataset.key=u,c.appendChild(m)}}),o.forEach(d=>{if(!l.has(d)){let u=a.get(d);u&&u.parentNode&&u.remove()}}),e.replaceChildren(c)}createOptimisticUpdate(e,t,n){return t(e),{commit:()=>{},revert:()=>{n(e)}}}destroy(){this.updateQueue=[],this.isProcessing=!1;for(let e of this.activeTimeouts)window.clearTimeout(e);this.activeTimeouts.clear()}},fP=class{constructor(){this.stateMap=new Map}saveState(e,t){let n=new dy;this.stateMap.set(e,n.preserveState(t))}restoreState(e,t){let n=this.stateMap.get(e);n&&new dy().restoreState(t,n)}clearState(e){e?this.stateMap.delete(e):this.stateMap.clear()}destroy(){this.stateMap.clear()}}});var uy,U$=v(()=>{uy=class r{constructor(e,t="open"){this.statuses=e;this.defaultStatus=t}normalizeStatusValue(e){return typeof e=="boolean"?e?"true":"false":String(e)}getNextStatus(e){var s;let t=this.getStatusesByOrder(),n=t.findIndex(a=>a.value===e);if(n===-1)return((s=t[0])==null?void 0:s.value)||this.defaultStatus;let i=(n+1)%t.length;return t[i].value}getPreviousStatus(e){var s;let t=this.getStatusesByOrder(),n=t.findIndex(a=>a.value===e);if(n===-1)return((s=t[t.length-1])==null?void 0:s.value)||this.defaultStatus;let i=(n-1+t.length)%t.length;return t[i].value}getStatusConfig(e){let t=this.normalizeStatusValue(e);return this.statuses.find(n=>this.normalizeStatusValue(n.value)===t)}getCompletedStatuses(){return this.statuses.filter(e=>e.isCompleted).map(e=>e.value)}getOpenStatuses(){return this.statuses.filter(e=>!e.isCompleted).map(e=>e.value)}getStatusesByOrder(){return[...this.statuses].sort((e,t)=>e.order-t.order)}isCompletedStatus(e){let t=this.getStatusConfig(e);return(t==null?void 0:t.isCompleted)||!1}getStatusOrder(e){let t=this.getStatusConfig(e);return(t==null?void 0:t.order)||0}getStatusStyles(){let e=[];for(let t of this.statuses){let n=`--status-${t.value.replace(/[^a-zA-Z0-9-]/g,"-")}-color`;e.push(`${n}: ${t.color};`)}return`:root { ${e.join(" ")} }`}getAllStatuses(){return[...this.statuses]}getNonCompletionStatuses(){return this.statuses.filter(e=>!e.isCompleted)}updateStatuses(e){this.statuses=e}static validateStatuses(e){let t=[];e.length<2&&t.push("At least 2 statuses are required"),e.some(l=>l.isCompleted)||t.push("At least one status must be marked as completed");let i=e.map(l=>l.value),s=new Set(i);i.length!==s.size&&t.push("Status values must be unique");let a=e.map(l=>l.id),o=new Set(a);a.length!==o.size&&t.push("Status IDs must be unique");for(let l of e){if(!l.value||l.value.trim()===""){t.push("Status values cannot be empty");break}if(!l.label||l.label.trim()===""){t.push("Status labels cannot be empty");break}if(!l.color||!l.color.match(/^#[0-9a-fA-F]{6}$/)){t.push("Status colors must be valid hex colors (#rrggbb)");break}}return{valid:t.length===0,errors:t}}static generateStatusId(e){let t=new Set(e.map(s=>s.id)),n=1,i=`status-${n}`;for(;t.has(i);)n++,i=`status-${n}`;return i}static createDefaultStatus(e){let t=r.generateStatusId(e),n=Math.max(...e.map(i=>i.order),0)+1;return{id:t,value:"new-status",label:"New status",color:"#808080",isCompleted:!1,order:n,autoArchive:!1,autoArchiveDelay:5}}}});var hP,Ade=v(()=>{hP=class r{constructor(e){this.priorities=e}getPriorityConfig(e){return this.priorities.find(t=>t.value===e)}getPrioritiesByWeight(){return[...this.priorities].sort((e,t)=>t.weight-e.weight)}getPrioritiesByWeightAsc(){return[...this.priorities].sort((e,t)=>e.weight-t.weight)}getNextPriority(e){var s;let t=this.getPrioritiesByWeightAsc(),n=t.findIndex(a=>a.value===e);if(n===-1)return((s=t[0])==null?void 0:s.value)||"normal";let i=(n+1)%t.length;return t[i].value}comparePriorities(e,t){let n=this.getPriorityConfig(e),i=this.getPriorityConfig(t),s=(n==null?void 0:n.weight)||0;return((i==null?void 0:i.weight)||0)-s}getPriorityStyles(){let e=[];for(let t of this.priorities){let n=`--priority-${t.value.replace(/[^a-zA-Z0-9-]/g,"-")}-color`;e.push(`${n}: ${t.color};`)}return`:root { ${e.join(" ")} }`}getAllPriorities(){return[...this.priorities]}updatePriorities(e){this.priorities=e}getHighestPriority(){var t;return(t=this.getPrioritiesByWeight()[0])==null?void 0:t.value}getLowestPriority(){var t;return(t=this.getPrioritiesByWeightAsc()[0])==null?void 0:t.value}getPriorityWeight(e){let t=this.getPriorityConfig(e);return(t==null?void 0:t.weight)||0}isHigherPriority(e,t){return this.comparePriorities(e,t)>0}static validatePriorities(e){let t=[];e.length<1&&t.push("At least 1 priority is required");let n=e.map(c=>c.value),i=new Set(n);n.length!==i.size&&t.push("Priority values must be unique");let s=e.map(c=>c.id),a=new Set(s);s.length!==a.size&&t.push("Priority IDs must be unique");let o=e.map(c=>c.weight),l=new Set(o);o.length!==l.size&&t.push("Priority weights must be unique");for(let c of e){if(!c.value||c.value.trim()===""){t.push("Priority values cannot be empty");break}if(!c.label||c.label.trim()===""){t.push("Priority labels cannot be empty");break}if(!c.color||!c.color.match(/^#[0-9a-fA-F]{6}$/)){t.push("Priority colors must be valid hex colors (#rrggbb)");break}if(typeof c.weight!="number"||c.weight<0){t.push("Priority weights must be non-negative numbers");break}}return{valid:t.length===0,errors:t}}static generatePriorityId(e){let t=new Set(e.map(s=>s.id)),n=1,i=`priority-${n}`;for(;t.has(i);)n++,i=`priority-${n}`;return i}static generatePriorityWeight(e){let t=e.map(n=>n.weight);return t.length===0?1:Math.max(...t)+1}static createDefaultPriority(e){let t=r.generatePriorityId(e),n=r.generatePriorityWeight(e);return{id:t,value:"new-priority",label:"New priority",color:"#808080",weight:n}}}});var Yo,gP,Ide=v(()=>{Yo=require("obsidian");Om();Qe();Cr();gP=class extends Yo.Events{constructor(t,n,i){super();this.initialized=!1;this.eventListeners=[];this.debouncedHandlers=new Map;this.DEBOUNCE_DELAY=300;this.app=t,this.settings=n,this.taskTag=n.taskTag,this.excludedFolders=n.excludedFolders?n.excludedFolders.split(",").map(s=>s.trim()).filter(s=>s.length>0):[],this.fieldMapper=i,this.disableNoteIndexing=n.disableNoteIndexing,this.storeTitleInFilename=n.storeTitleInFilename}initialize(){this.initialized||(this.setupNativeEventListeners(),this.initialized=!0,this.trigger("cache-initialized",{message:"Task manager ready"}))}getApp(){return this.app}isTaskFile(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let n=t;if(this.settings.taskIdentificationMethod==="property"){let i=this.settings.taskPropertyName,s=this.settings.taskPropertyValue;if(!i||!s)return!1;let a=n[i];return a===void 0?!1:Array.isArray(a)?a.some(o=>this.comparePropertyValues(o,s)):this.comparePropertyValues(a,s)}else return Array.isArray(n.tags)?n.tags.some(i=>{if(typeof i!="string")return!1;let s=i.startsWith("#")?i.slice(1):i;return vr.matchesHierarchicalTagExact(s,this.taskTag)}):!1}comparePropertyValues(t,n){if(typeof t=="boolean"&&typeof n=="string"){let i=n.toLowerCase();if(i==="true"||i==="false")return t===(i==="true")}return t===n}setupNativeEventListeners(){let t=this.app.metadataCache.on("changed",(s,a,o)=>{s instanceof Yo.TFile&&s.extension==="md"&&this.isValidFile(s.path)&&this.handleFileChangedDebounced(s,o)});this.eventListeners.push(t);let n=this.app.metadataCache.on("deleted",(s,a)=>{s instanceof Yo.TFile&&s.extension==="md"&&this.handleFileDeleted(s.path,a)});this.eventListeners.push(n);let i=this.app.vault.on("rename",(s,a)=>{s instanceof Yo.TFile&&s.extension==="md"&&this.handleFileRenamed(s,a)});this.eventListeners.push(i)}handleFileChangedDebounced(t,n){let i=t.path,s=this.debouncedHandlers.get(i);s&&window.clearTimeout(s);let a=window.setTimeout(()=>{this.debouncedHandlers.delete(i),this.handleFileChanged(t,n)},this.DEBOUNCE_DELAY);this.debouncedHandlers.set(i,a)}async handleFileChanged(t,n){this.trigger("file-updated",{path:t.path,file:t}),this.trigger("data-changed")}handleFileDeleted(t,n){let i=this.debouncedHandlers.get(t);i&&(window.clearTimeout(i),this.debouncedHandlers.delete(t)),this.trigger("file-deleted",{path:t,prevCache:n}),this.trigger("data-changed")}handleFileRenamed(t,n){let i=this.debouncedHandlers.get(n);i&&(window.clearTimeout(i),this.debouncedHandlers.delete(n)),this.trigger("file-renamed",{oldPath:n,newPath:t.path,file:t}),this.trigger("data-changed")}isValidFile(t){return!this.excludedFolders.some(n=>t.startsWith(n))}async getTaskInfo(t){let n=this.app.vault.getAbstractFileByPath(t);if(!(n instanceof Yo.TFile))return null;let i=this.app.metadataCache.getFileCache(n);return!(i!=null&&i.frontmatter)||!this.isTaskFile(i.frontmatter)?null:this.extractTaskInfoFromNative(t,i.frontmatter)}extractTaskInfoFromNative(t,n){if(!n||!this.fieldMapper||!this.isTaskFile(n))return null;try{let i=this.fieldMapper.mapFromFrontmatter(n,t,this.storeTitleInFilename),s=i.timeEntries?is(i.timeEntries):0,a=!1,o=[];this._dependencyCache?(a=this._dependencyCache.isTaskBlocked(t),o=this._dependencyCache.getBlockedTaskPaths(t)):a=Array.isArray(i.blockedBy)&&i.blockedBy.length>0;let l=o.length>0;return{...i,id:t,path:t,title:i.title||"Untitled task",status:i.status||this.settings.defaultTaskStatus,priority:i.priority||"normal",archived:i.archived||!1,tags:Array.isArray(i.tags)?i.tags:[],contexts:Array.isArray(i.contexts)?i.contexts:[],projects:Array.isArray(i.projects)?i.projects:[],totalTrackedTime:s,isBlocked:a,isBlocking:l,blocking:o.length>0?o:void 0}}catch(i){return console.error(`Error extracting task info from native metadata for ${t}:`,i),null}}async getAllTasks(){let t=[],n=this.app.vault.getMarkdownFiles();for(let i of n){if(!this.isValidFile(i.path))continue;let s=await this.getTaskInfo(i.path);s&&t.push(s)}return t}getAllTaskPaths(){let t=new Set,n=this.app.vault.getMarkdownFiles();for(let i of n){if(!this.isValidFile(i.path))continue;let s=this.app.metadataCache.getFileCache(i);s!=null&&s.frontmatter&&this.isTaskFile(s.frontmatter)&&t.add(i.path)}return t}getTasksForDate(t){var l,c;let n=[],i=this.app.vault.getMarkdownFiles(),s=tt(t),a=((l=this.fieldMapper)==null?void 0:l.toUserField("scheduled"))||"scheduled",o=((c=this.fieldMapper)==null?void 0:c.toUserField("due"))||"due";for(let d of i){if(!this.isValidFile(d.path))continue;let u=this.app.metadataCache.getFileCache(d);if(!(u!=null&&u.frontmatter)||!this.isTaskFile(u.frontmatter))continue;let p=u.frontmatter[a],m=u.frontmatter[o],f=typeof p=="string"&&p.length>0?tt(p):void 0,h=typeof m=="string"&&m.length>0?tt(m):void 0;(f===s||h===s)&&n.push(d.path)}return n}getTaskPathsByStatus(t){var a;let n=[],i=this.app.vault.getMarkdownFiles(),s=((a=this.fieldMapper)==null?void 0:a.toUserField("status"))||"status";for(let o of i){if(!this.isValidFile(o.path))continue;let l=this.app.metadataCache.getFileCache(o);!(l!=null&&l.frontmatter)||!this.isTaskFile(l.frontmatter)||l.frontmatter[s]===t&&n.push(o.path)}return n}getTaskPathsByPriority(t){var a;let n=[],i=this.app.vault.getMarkdownFiles(),s=((a=this.fieldMapper)==null?void 0:a.toUserField("priority"))||"priority";for(let o of i){if(!this.isValidFile(o.path))continue;let l=this.app.metadataCache.getFileCache(o);!(l!=null&&l.frontmatter)||!this.isTaskFile(l.frontmatter)||l.frontmatter[s]===t&&n.push(o.path)}return n}getOverdueTaskPaths(){var o,l,c;let t=new Set,n=this.app.vault.getMarkdownFiles(),i=cn(),s=((o=this.fieldMapper)==null?void 0:o.toUserField("due"))||"due",a=((l=this.fieldMapper)==null?void 0:l.toUserField("status"))||"status";for(let d of n){if(!this.isValidFile(d.path))continue;let u=this.app.metadataCache.getFileCache(d);if(!(u!=null&&u.frontmatter)||!this.isTaskFile(u.frontmatter))continue;let p=u.frontmatter[s],m=u.frontmatter[a],f=((c=this.settings.customStatuses)==null?void 0:c.some(h=>h.value===m&&h.isCompleted))||!1;p&&!f&&Yc(p,i)&&t.add(d.path)}return t}getAllStatuses(){var s;let t=new Set,n=this.app.vault.getMarkdownFiles(),i=((s=this.fieldMapper)==null?void 0:s.toUserField("status"))||"status";for(let a of n){if(!this.isValidFile(a.path))continue;let o=this.app.metadataCache.getFileCache(a);if(!(o!=null&&o.frontmatter)||!this.isTaskFile(o.frontmatter))continue;let l=o.frontmatter[i];l&&t.add(l)}return Array.from(t).sort()}getAllPriorities(){var s;let t=new Set,n=this.app.vault.getMarkdownFiles(),i=((s=this.fieldMapper)==null?void 0:s.toUserField("priority"))||"priority";for(let a of n){if(!this.isValidFile(a.path))continue;let o=this.app.metadataCache.getFileCache(a);if(!(o!=null&&o.frontmatter)||!this.isTaskFile(o.frontmatter))continue;let l=o.frontmatter[i];l&&t.add(l)}return Array.from(t).sort()}getAllTags(){let t=new Set,n=this.app.vault.getMarkdownFiles();for(let i of n){if(!this.isValidFile(i.path))continue;let s=this.app.metadataCache.getFileCache(i);if(!(s!=null&&s.frontmatter)||!this.isTaskFile(s.frontmatter))continue;let a=s.frontmatter.tags;Array.isArray(a)&&a.forEach(o=>{typeof o=="string"&&t.add(o)})}return Array.from(t).sort()}getAllContexts(){var s;let t=new Set,n=this.app.vault.getMarkdownFiles(),i=((s=this.fieldMapper)==null?void 0:s.toUserField("contexts"))||"context";for(let a of n){if(!this.isValidFile(a.path))continue;let o=this.app.metadataCache.getFileCache(a);if(!(o!=null&&o.frontmatter)||!this.isTaskFile(o.frontmatter))continue;let l=o.frontmatter[i];Array.isArray(l)?l.forEach(c=>{typeof c=="string"&&t.add(c)}):l&&t.add(l)}return Array.from(t).sort()}getAllProjects(){var s;let t=new Set,n=this.app.vault.getMarkdownFiles(),i=((s=this.fieldMapper)==null?void 0:s.toUserField("projects"))||"project";for(let a of n){if(!this.isValidFile(a.path))continue;let o=this.app.metadataCache.getFileCache(a);if(!(o!=null&&o.frontmatter)||!this.isTaskFile(o.frontmatter))continue;let l=o.frontmatter[i];Array.isArray(l)?l.forEach(c=>{typeof c=="string"&&t.add(c)}):l&&t.add(l)}return Array.from(t).sort()}getAllTimeEstimates(){var s;let t=new Map,n=this.app.vault.getMarkdownFiles(),i=((s=this.fieldMapper)==null?void 0:s.toUserField("timeEstimate"))||"timeEstimate";for(let a of n){if(!this.isValidFile(a.path))continue;let o=this.app.metadataCache.getFileCache(a);if(!(o!=null&&o.frontmatter)||!this.isTaskFile(o.frontmatter))continue;let l=o.frontmatter[i];typeof l=="number"&&l>0&&t.set(a.path,l)}return t}async getNotesForDate(t){if(this.disableNoteIndexing)return[];let n=[],i=ue(t),s=this.app.vault.getMarkdownFiles();for(let a of s){if(!this.isValidFile(a.path))continue;let o=this.app.metadataCache.getFileCache(a);if(!(o!=null&&o.frontmatter)||this.isTaskFile(o.frontmatter))continue;(o.frontmatter.date||o.frontmatter.scheduled)===i&&n.push({path:a.path,title:this.storeTitleInFilename?a.basename:o.frontmatter.title||a.basename,tags:o.frontmatter.tags||[]})}return n}async getTaskByPath(t){return this.getTaskInfo(t)}async getCachedTaskInfo(t){return this.getTaskInfo(t)}getCachedTaskInfoSync(t){let n=this.app.vault.getAbstractFileByPath(t);if(!(n instanceof Yo.TFile))return null;let i=this.app.metadataCache.getFileCache(n);return!(i!=null&&i.frontmatter)||!this.isTaskFile(i.frontmatter)?null:this.extractTaskInfoFromNative(t,i.frontmatter)}isInitialized(){return this.initialized}destroy(){this.debouncedHandlers.forEach(t=>{window.clearTimeout(t)}),this.debouncedHandlers.clear(),this.eventListeners.forEach(t=>{this.app.metadataCache.offref(t)}),this.eventListeners=[],this.initialized=!1}setDependencyCache(t){this._dependencyCache=t}getBlockingTaskPaths(t){return this._dependencyCache?this._dependencyCache.getBlockingTaskPaths(t):(console.warn("DependencyCache not set in TaskManager"),[])}getBlockedTaskPaths(t){return this._dependencyCache?this._dependencyCache.getBlockedTaskPaths(t):(console.warn("DependencyCache not set in TaskManager"),[])}isTaskBlocked(t){return this._dependencyCache?this._dependencyCache.isTaskBlocked(t):!1}getTasksReferencingProject(t){return this._dependencyCache?this._dependencyCache.getTasksReferencingProject(t):(console.warn("DependencyCache not set in TaskManager"),[])}isFileUsedAsProject(t){return this._dependencyCache?this._dependencyCache.isFileUsedAsProject(t):!1}async waitForFreshTaskData(t,n=10){let i=t instanceof Yo.TFile?t.path:t,s=t instanceof Yo.TFile?t:this.app.vault.getAbstractFileByPath(i);if(!(s instanceof Yo.TFile)){await new Promise(a=>window.setTimeout(a,100));return}for(let a=0;a<n;a++){let o=this.app.metadataCache.getFileCache(s);if(o!=null&&o.frontmatter)return;await new Promise(l=>window.setTimeout(l,50*(a+1)))}console.warn(`TaskManager: Metadata cache not ready for ${i} after ${n} retries`)}updateConfig(t){this.settings=t,this.taskTag=t.taskTag,this.excludedFolders=t.excludedFolders?t.excludedFolders.split(",").map(n=>n.trim()).filter(n=>n.length>0):[],this.disableNoteIndexing=t.disableNoteIndexing,this.storeTitleInFilename=t.storeTitleInFilename,this.trigger("data-changed")}subscribe(t,n){return this.on(t,n),()=>{this.off(t,n)}}async getCalendarData(t,n){let i=await this.getAllTasks(),s={};for(let a of i)a.scheduled&&(s[a.scheduled]||(s[a.scheduled]=[]),s[a.scheduled].push(a)),a.due&&(s[a.due]||(s[a.due]=[]),s[a.due].includes(a)||s[a.due].push(a));return s}async getTaskInfoForDate(t){let n=ue(t),i=this.getTasksForDate(n),s=[];for(let a of i){let o=await this.getTaskInfo(a);o&&s.push(o)}return s}getTaskPathsByDate(t){return new Set(this.getTasksForDate(t))}getAllProjectsWithDetails(){return[]}getAllProjectFiles(){return[]}async rebuildDailyNotesCache(t,n){}async clearAllCaches(){this.trigger("data-changed")}clearCacheEntry(t){}updateTaskInfoInCache(t,n){this.trigger("file-updated",{path:t})}}});var Bu,yP,Nde=v(()=>{Bu=require("obsidian");Zc();yP=class extends Bu.Events{constructor(t,n,i,s,a){super();this.dependencySources=new Map;this.dependencyTargets=new Map;this.projectReferences=new Map;this.initialized=!1;this.indexesBuilt=!1;this.eventListeners=[];this.app=t,this.settings=n,this.fieldMapper=i,this.statusManager=s,this.isTaskFileCallback=a}initialize(){this.initialized||(this.setupEventListeners(),this.initialized=!0)}async buildIndexes(){if(this.indexesBuilt)return;let t=this.app.vault.getMarkdownFiles();for(let n of t){let i=this.app.metadataCache.getFileCache(n);!(i!=null&&i.frontmatter)||!this.isTaskFileCallback(i.frontmatter)||this.indexTaskFile(n.path,i.frontmatter)}this.indexesBuilt=!0}setupEventListeners(){let t=this.app.metadataCache.on("changed",(s,a,o)=>{s instanceof Bu.TFile&&s.extension==="md"&&this.handleFileChanged(s,o)});this.eventListeners.push(t);let n=this.app.metadataCache.on("deleted",(s,a)=>{s instanceof Bu.TFile&&s.extension==="md"&&this.handleFileDeleted(s.path)});this.eventListeners.push(n);let i=this.app.vault.on("rename",(s,a)=>{s instanceof Bu.TFile&&s.extension==="md"&&this.handleFileRenamed(s,a)});this.eventListeners.push(i)}handleFileChanged(t,n){let i=this.app.metadataCache.getFileCache(t);if(!(i!=null&&i.frontmatter)){this.clearFileFromIndexes(t.path);return}if(!this.isTaskFileCallback(i.frontmatter)){this.clearFileFromIndexes(t.path);return}this.clearForwardDependencies(t.path),this.indexTaskFile(t.path,i.frontmatter)}handleFileDeleted(t){this.clearFileFromIndexes(t)}handleFileRenamed(t,n){let i=this.app.metadataCache.getFileCache(t);this.clearFileFromIndexes(n),i!=null&&i.frontmatter&&this.isTaskFileCallback(i.frontmatter)&&this.indexTaskFile(t.path,i.frontmatter)}resolveProjectReference(t,n){if(!n||typeof n!="string")return null;let i=n.trim();if(!i)return null;let s=Em(this.app,t,i);return(s==null?void 0:s.path)||null}indexTaskFile(t,n){var l,c;let i=((l=this.fieldMapper)==null?void 0:l.toUserField("blockedBy"))||"blockedBy",s=((c=this.fieldMapper)==null?void 0:c.toUserField("projects"))||"project",a=n[i];if(a){let d=yu(a);if(d){let u=new Set;for(let p of d){let m=Em(this.app,t,p);m!=null&&m.path&&(u.add(m.path),this.dependencyTargets.has(m.path)||this.dependencyTargets.set(m.path,new Set),this.dependencyTargets.get(m.path).add(t))}u.size>0&&this.dependencySources.set(t,u)}}let o=n[s];if(o){let d=Array.isArray(o)?o:[o];for(let u of d)if(typeof u=="string"){let p=this.resolveProjectReference(t,u);p&&(this.projectReferences.has(p)||this.projectReferences.set(p,new Set),this.projectReferences.get(p).add(t))}}}clearForwardDependencies(t){let n=this.dependencySources.get(t);if(n){for(let i of n){let s=this.dependencyTargets.get(i);s&&(s.delete(t),s.size===0&&this.dependencyTargets.delete(i))}this.dependencySources.delete(t)}for(let[i,s]of this.projectReferences.entries())s.delete(t),s.size===0&&this.projectReferences.delete(i)}clearFileFromIndexes(t){let n=this.dependencySources.get(t);if(n){for(let s of n){let a=this.dependencyTargets.get(s);a&&(a.delete(t),a.size===0&&this.dependencyTargets.delete(s))}this.dependencySources.delete(t)}let i=this.dependencyTargets.get(t);if(i){for(let s of i){let a=this.dependencySources.get(s);a&&(a.delete(t),a.size===0&&this.dependencySources.delete(s))}this.dependencyTargets.delete(t)}for(let[s,a]of this.projectReferences.entries())a.delete(t),a.size===0&&this.projectReferences.delete(s)}getBlockingTaskPaths(t){this.indexesBuilt||(console.warn("DependencyCache: getBlockingTaskPaths called before indexes built, building now..."),this.buildIndexesSync());let n=this.dependencySources.get(t);return n?Array.from(n):[]}getBlockedTaskPaths(t){if(this.indexesBuilt||(console.warn("DependencyCache: getBlockedTaskPaths called before indexes built, building now..."),this.buildIndexesSync()),this.isCompletedTask(t))return[];let n=this.dependencyTargets.get(t);return n?Array.from(n):[]}isTaskBlocked(t){var s;let n=this.getBlockingTaskPaths(t);if(n.length===0)return!1;let i=((s=this.fieldMapper)==null?void 0:s.toUserField("status"))||"status";for(let a of n){let o=this.app.vault.getAbstractFileByPath(a);if(!(o instanceof Bu.TFile))continue;let l=this.app.metadataCache.getFileCache(o);if(!(l!=null&&l.frontmatter))continue;let c=l.frontmatter[i];if(!c||!this.statusManager.isCompletedStatus(c))return!0}return!1}isCompletedTask(t){var o;let n=this.app.vault.getAbstractFileByPath(t);if(!(n instanceof Bu.TFile))return!1;let i=this.app.metadataCache.getFileCache(n);if(!(i!=null&&i.frontmatter))return!1;let s=((o=this.fieldMapper)==null?void 0:o.toUserField("status"))||"status",a=i.frontmatter[s];return!!(a&&this.statusManager.isCompletedStatus(a))}getTasksReferencingProject(t){this.indexesBuilt||(console.warn("DependencyCache: getTasksReferencingProject called before indexes built, building now..."),this.buildIndexesSync());let n=this.projectReferences.get(t);return n?Array.from(n):[]}isFileUsedAsProject(t){return this.indexesBuilt||(console.warn("DependencyCache: isFileUsedAsProject called before indexes built, building now..."),this.buildIndexesSync()),this.projectReferences.has(t)}buildIndexesSync(){if(this.indexesBuilt)return;let t=this.app.vault.getMarkdownFiles();for(let n of t){let i=this.app.metadataCache.getFileCache(n);!(i!=null&&i.frontmatter)||!this.isTaskFileCallback(i.frontmatter)||this.indexTaskFile(n.path,i.frontmatter)}this.indexesBuilt=!0}destroy(){this.eventListeners.forEach(t=>{this.app.metadataCache.offref(t)}),this.eventListeners=[],this.dependencySources.clear(),this.dependencyTargets.clear(),this.projectReferences.clear(),this.initialized=!1,this.indexesBuilt=!1}}});function sr(r){if(r&&typeof r=="object")switch(r[os]){case Go:case yd:return!0}return!1}function Rt(r){if(r&&typeof r=="object")switch(r[os]){case vP:case Go:case ba:case yd:return!0}return!1}var vP,bP,Go,V$,ba,yd,os,Ta,ro,no,Pt,ot,io,TP,Gt=v(()=>{vP=Symbol.for("yaml.alias"),bP=Symbol.for("yaml.document"),Go=Symbol.for("yaml.map"),V$=Symbol.for("yaml.pair"),ba=Symbol.for("yaml.scalar"),yd=Symbol.for("yaml.seq"),os=Symbol.for("yaml.node.type"),Ta=r=>!!r&&typeof r=="object"&&r[os]===vP,ro=r=>!!r&&typeof r=="object"&&r[os]===bP,no=r=>!!r&&typeof r=="object"&&r[os]===Go,Pt=r=>!!r&&typeof r=="object"&&r[os]===V$,ot=r=>!!r&&typeof r=="object"&&r[os]===ba,io=r=>!!r&&typeof r=="object"&&r[os]===yd;TP=r=>(ot(r)||sr(r))&&!!r.anchor});function Ko(r,e){let t=Ode(e);ro(r)?py(null,r.contents,t,Object.freeze([r]))===jl&&(r.contents=null):py(null,r,t,Object.freeze([]))}function py(r,e,t,n){let i=Lde(r,e,t,n);if(Rt(i)||Pt(i))return Fde(r,n,i),py(r,i,t,n);if(typeof i!="symbol"){if(sr(e)){n=Object.freeze(n.concat(e));for(let s=0;s<e.items.length;++s){let a=py(s,e.items[s],t,n);if(typeof a=="number")s=a-1;else{if(a===Ns)return Ns;a===jl&&(e.items.splice(s,1),s-=1)}}}else if(Pt(e)){n=Object.freeze(n.concat(e));let s=py("key",e.key,t,n);if(s===Ns)return Ns;s===jl&&(e.key=null);let a=py("value",e.value,t,n);if(a===Ns)return Ns;a===jl&&(e.value=null)}}return i}async function Vw(r,e){let t=Ode(e);ro(r)?await my(null,r.contents,t,Object.freeze([r]))===jl&&(r.contents=null):await my(null,r,t,Object.freeze([]))}async function my(r,e,t,n){let i=await Lde(r,e,t,n);if(Rt(i)||Pt(i))return Fde(r,n,i),my(r,i,t,n);if(typeof i!="symbol"){if(sr(e)){n=Object.freeze(n.concat(e));for(let s=0;s<e.items.length;++s){let a=await my(s,e.items[s],t,n);if(typeof a=="number")s=a-1;else{if(a===Ns)return Ns;a===jl&&(e.items.splice(s,1),s-=1)}}}else if(Pt(e)){n=Object.freeze(n.concat(e));let s=await my("key",e.key,t,n);if(s===Ns)return Ns;s===jl&&(e.key=null);let a=await my("value",e.value,t,n);if(a===Ns)return Ns;a===jl&&(e.value=null)}}return i}function Ode(r){return typeof r=="object"&&(r.Collection||r.Node||r.Value)?Object.assign({Alias:r.Node,Map:r.Node,Scalar:r.Node,Seq:r.Node},r.Value&&{Map:r.Value,Scalar:r.Value,Seq:r.Value},r.Collection&&{Map:r.Collection,Seq:r.Collection},r):r}function Lde(r,e,t,n){var i,s,a,o,l;if(typeof t=="function")return t(r,e,n);if(no(e))return(i=t.Map)==null?void 0:i.call(t,r,e,n);if(io(e))return(s=t.Seq)==null?void 0:s.call(t,r,e,n);if(Pt(e))return(a=t.Pair)==null?void 0:a.call(t,r,e,n);if(ot(e))return(o=t.Scalar)==null?void 0:o.call(t,r,e,n);if(Ta(e))return(l=t.Alias)==null?void 0:l.call(t,r,e,n)}function Fde(r,e,t){let n=e[e.length-1];if(sr(n))n.items[r]=t;else if(Pt(n))r==="key"?n.key=t:n.value=t;else if(ro(n))n.contents=t;else{let i=Ta(n)?"alias":"scalar";throw new Error(`Cannot replace node with ${i} parent`)}}var Ns,Rde,jl,Ww=v(()=>{Gt();Ns=Symbol("break visit"),Rde=Symbol("skip children"),jl=Symbol("remove node");Ko.BREAK=Ns;Ko.SKIP=Rde;Ko.REMOVE=jl;Vw.BREAK=Ns;Vw.SKIP=Rde;Vw.REMOVE=jl});var cHe,dHe,zl,W$=v(()=>{Gt();Ww();cHe={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},dHe=r=>r.replace(/[!,[\]{}]/g,e=>cHe[e]),zl=class r{constructor(e,t){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},r.defaultYaml,e),this.tags=Object.assign({},r.defaultTags,t)}clone(){let e=new r(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){let e=new r(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:r.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},r.defaultTags);break}return e}add(e,t){this.atNextDocument&&(this.yaml={explicit:r.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},r.defaultTags),this.atNextDocument=!1);let n=e.trim().split(/[ \t]+/),i=n.shift();switch(i){case"%TAG":{if(n.length!==2&&(t(0,"%TAG directive should contain exactly two parts"),n.length<2))return!1;let[s,a]=n;return this.tags[s]=a,!0}case"%YAML":{if(this.yaml.explicit=!0,n.length!==1)return t(0,"%YAML directive should contain exactly one part"),!1;let[s]=n;if(s==="1.1"||s==="1.2")return this.yaml.version=s,!0;{let a=/^\d+\.\d+$/.test(s);return t(6,`Unsupported YAML version ${s}`,a),!1}}default:return t(0,`Unknown directive ${i}`,!0),!1}}tagName(e,t){if(e==="!")return"!";if(e[0]!=="!")return t(`Not a valid tag: ${e}`),null;if(e[1]==="<"){let a=e.slice(2,-1);return a==="!"||a==="!!"?(t(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(e[e.length-1]!==">"&&t("Verbatim tags must end with a >"),a)}let[,n,i]=e.match(/^(.*!)([^!]*)$/s);i||t(`The ${e} tag has no suffix`);let s=this.tags[n];if(s)try{return s+decodeURIComponent(i)}catch(a){return t(String(a)),null}return n==="!"?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,n]of Object.entries(this.tags))if(e.startsWith(n))return t+dHe(e.substring(n.length));return e[0]==="!"?e:`!<${e}>`}toString(e){let t=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],n=Object.entries(this.tags),i;if(e&&n.length>0&&Rt(e.contents)){let s={};Ko(e.contents,(a,o)=>{Rt(o)&&o.tag&&(s[o.tag]=!0)}),i=Object.keys(s)}else i=[];for(let[s,a]of n)s==="!!"&&a==="tag:yaml.org,2002:"||(!e||i.some(o=>o.startsWith(a)))&&t.push(`%TAG ${s} ${a}`);return t.join(`
`)}};zl.defaultYaml={explicit:!1,version:"1.2"};zl.defaultTags={"!!":"tag:yaml.org,2002:"}});function kP(r){if(/[\x00-\x19\s,[\]{}]/.test(r)){let t=`Anchor must not contain whitespace or control characters: ${JSON.stringify(r)}`;throw new Error(t)}return!0}function Y$(r){let e=new Set;return Ko(r,{Value(t,n){n.anchor&&e.add(n.anchor)}}),e}function G$(r,e){for(let t=1;;++t){let n=`${r}${t}`;if(!e.has(n))return n}}function $de(r,e){let t=[],n=new Map,i=null;return{onAnchor:s=>{t.push(s),i!=null||(i=Y$(r));let a=G$(e,i);return i.add(a),a},setAnchors:()=>{for(let s of t){let a=n.get(s);if(typeof a=="object"&&a.anchor&&(ot(a.node)||sr(a.node)))a.node.anchor=a.anchor;else{let o=new Error("Failed to resolve repeated object (this should not happen)");throw o.source=s,o}}},sourceObjects:n}}var wP=v(()=>{Gt();Ww()});function qu(r,e,t,n){if(n&&typeof n=="object")if(Array.isArray(n))for(let i=0,s=n.length;i<s;++i){let a=n[i],o=qu(r,n,String(i),a);o===void 0?delete n[i]:o!==a&&(n[i]=o)}else if(n instanceof Map)for(let i of Array.from(n.keys())){let s=n.get(i),a=qu(r,n,i,s);a===void 0?n.delete(i):a!==s&&n.set(i,a)}else if(n instanceof Set)for(let i of Array.from(n)){let s=qu(r,n,i,i);s===void 0?n.delete(i):s!==i&&(n.delete(i),n.add(s))}else for(let[i,s]of Object.entries(n)){let a=qu(r,n,i,s);a===void 0?delete n[i]:a!==s&&(n[i]=a)}return r.call(e,t,n)}var K$=v(()=>{});function zn(r,e,t){if(Array.isArray(r))return r.map((n,i)=>zn(n,String(i),t));if(r&&typeof r.toJSON=="function"){if(!t||!TP(r))return r.toJSON(e,t);let n={aliasCount:0,count:1,res:void 0};t.anchors.set(r,n),t.onCreate=s=>{n.res=s,delete t.onCreate};let i=r.toJSON(e,t);return t.onCreate&&t.onCreate(i),i}return typeof r=="bigint"&&!(t!=null&&t.keep)?Number(r):r}var Hu=v(()=>{Gt()});var Uu,SP=v(()=>{K$();Gt();Hu();Uu=class{constructor(e){Object.defineProperty(this,os,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:t,maxAliasCount:n,onAnchor:i,reviver:s}={}){if(!ro(e))throw new TypeError("A document argument is required");let a={anchors:new Map,doc:e,keep:!0,mapAsMap:t===!0,mapKeyWarned:!1,maxAliasCount:typeof n=="number"?n:100},o=zn(this,"",a);if(typeof i=="function")for(let{count:l,res:c}of a.anchors.values())i(c,l);return typeof s=="function"?qu(s,{"":o},"",o):o}}});function xP(r,e,t){if(Ta(e)){let n=e.resolve(r),i=t&&n&&t.get(n);return i?i.count*i.aliasCount:0}else if(sr(e)){let n=0;for(let i of e.items){let s=xP(r,i,t);s>n&&(n=s)}return n}else if(Pt(e)){let n=xP(r,e.key,t),i=xP(r,e.value,t);return Math.max(n,i)}return 1}var Bl,Yw=v(()=>{wP();Ww();Gt();SP();Hu();Bl=class extends Uu{constructor(e){super(vP),this.source=e,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(e,t){let n;t!=null&&t.aliasResolveCache?n=t.aliasResolveCache:(n=[],Ko(e,{Node:(s,a)=>{(Ta(a)||TP(a))&&n.push(a)}}),t&&(t.aliasResolveCache=n));let i;for(let s of n){if(s===this)break;s.anchor===this.source&&(i=s)}return i}toJSON(e,t){if(!t)return{source:this.source};let{anchors:n,doc:i,maxAliasCount:s}=t,a=this.resolve(i,t);if(!a){let l=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(l)}let o=n.get(a);if(o||(zn(a,null,t),o=n.get(a)),!o||o.res===void 0){let l="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(l)}if(s>=0&&(o.count+=1,o.aliasCount===0&&(o.aliasCount=xP(i,a,n)),o.count*o.aliasCount>s)){let l="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(l)}return o.res}toString(e,t,n){let i=`*${this.source}`;if(e){if(kP(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source)){let s=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(s)}if(e.implicitKey)return`${i} `}return i}}});var EP,we,_n=v(()=>{Gt();SP();Hu();EP=r=>!r||typeof r!="function"&&typeof r!="object",we=class extends Uu{constructor(e){super(ba),this.value=e}toJSON(e,t){return t!=null&&t.keep?this.value:zn(this.value,e,t)}toString(){return String(this.value)}};we.BLOCK_FOLDED="BLOCK_FOLDED";we.BLOCK_LITERAL="BLOCK_LITERAL";we.PLAIN="PLAIN";we.QUOTE_DOUBLE="QUOTE_DOUBLE";we.QUOTE_SINGLE="QUOTE_SINGLE"});function pHe(r,e,t){var n;if(e){let i=t.filter(a=>a.tag===e),s=(n=i.find(a=>!a.format))!=null?n:i[0];if(!s)throw new Error(`Tag ${e} not found`);return s}return t.find(i=>{var s;return((s=i.identify)==null?void 0:s.call(i,r))&&!i.format})}function vd(r,e,t){var u,p,m,f;if(ro(r)&&(r=r.contents),Rt(r))return r;if(Pt(r)){let h=(p=(u=t.schema[Go]).createNode)==null?void 0:p.call(u,t.schema,null,t);return h.items.push(r),h}(r instanceof String||r instanceof Number||r instanceof Boolean||typeof BigInt!="undefined"&&r instanceof BigInt)&&(r=r.valueOf());let{aliasDuplicateObjects:n,onAnchor:i,onTagObj:s,schema:a,sourceObjects:o}=t,l;if(n&&r&&typeof r=="object"){if(l=o.get(r),l)return(m=l.anchor)!=null||(l.anchor=i(r)),new Bl(l.anchor);l={anchor:null,node:null},o.set(r,l)}e!=null&&e.startsWith("!!")&&(e=uHe+e.slice(2));let c=pHe(r,e,a.tags);if(!c){if(r&&typeof r.toJSON=="function"&&(r=r.toJSON()),!r||typeof r!="object"){let h=new we(r);return l&&(l.node=h),h}c=r instanceof Map?a[Go]:Symbol.iterator in Object(r)?a[yd]:a[Go]}s&&(s(c),delete t.onTagObj);let d=c!=null&&c.createNode?c.createNode(t.schema,r,t):typeof((f=c==null?void 0:c.nodeClass)==null?void 0:f.from)=="function"?c.nodeClass.from(t.schema,r,t):new we(r);return e?d.tag=e:c.default||(d.tag=c.tag),l&&(l.node=d),d}var uHe,Gw=v(()=>{Yw();Gt();_n();uHe="tag:yaml.org,2002:"});function Kw(r,e,t){let n=t;for(let i=e.length-1;i>=0;--i){let s=e[i];if(typeof s=="number"&&Number.isInteger(s)&&s>=0){let a=[];a[s]=n,n=a}else n=new Map([[s,n]])}return vd(n,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:r,sourceObjects:new Map})}var hy,fy,DP=v(()=>{Gw();Gt();SP();hy=r=>r==null||typeof r=="object"&&!!r[Symbol.iterator]().next().done,fy=class extends Uu{constructor(e,t){super(e),Object.defineProperty(this,"schema",{value:t,configurable:!0,enumerable:!1,writable:!0})}clone(e){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(t.schema=e),t.items=t.items.map(n=>Rt(n)||Pt(n)?n.clone(e):n),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(hy(e))this.add(t);else{let[n,...i]=e,s=this.get(n,!0);if(sr(s))s.addIn(i,t);else if(s===void 0&&this.schema)this.set(n,Kw(this.schema,i,t));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${i}`)}}deleteIn(e){let[t,...n]=e;if(n.length===0)return this.delete(t);let i=this.get(t,!0);if(sr(i))return i.deleteIn(n);throw new Error(`Expected YAML collection at ${t}. Remaining path: ${n}`)}getIn(e,t){let[n,...i]=e,s=this.get(n,!0);return i.length===0?!t&&ot(s)?s.value:s:sr(s)?s.getIn(i,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!Pt(t))return!1;let n=t.value;return n==null||e&&ot(n)&&n.value==null&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn(e){let[t,...n]=e;if(n.length===0)return this.has(t);let i=this.get(t,!0);return sr(i)?i.hasIn(n):!1}setIn(e,t){let[n,...i]=e;if(i.length===0)this.set(n,t);else{let s=this.get(n,!0);if(sr(s))s.setIn(i,t);else if(s===void 0&&this.schema)this.set(n,Kw(this.schema,i,t));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${i}`)}}}});function so(r,e){return/^\n+$/.test(r)?r.substring(1):e?r.replace(/^(?! *$)/gm,e):r}var jde,ql,Zw=v(()=>{jde=r=>r.replace(/^(?!$)(?: $)?/gm,"#");ql=(r,e,t)=>r.endsWith(`
`)?so(t,e):t.includes(`
`)?`
`+so(t,e):(r.endsWith(" ")?"":" ")+t});function Jw(r,e,t="flow",{indentAtStart:n,lineWidth:i=80,minContentWidth:s=20,onFold:a,onOverflow:o}={}){if(!i||i<0)return r;i<s&&(s=0);let l=Math.max(1+s,1+i-e.length);if(r.length<=l)return r;let c=[],d={},u=i-e.length;typeof n=="number"&&(n>i-Math.max(2,s)?c.push(0):u=i-n);let p,m,f=!1,h=-1,g=-1,y=-1;t===CP&&(h=zde(r,h,e.length),h!==-1&&(u=h+l));for(let T;T=r[h+=1];){if(t===Qw&&T==="\\"){switch(g=h,r[h+1]){case"x":h+=3;break;case"u":h+=5;break;case"U":h+=9;break;default:h+=1}y=h}if(T===`
`)t===CP&&(h=zde(r,h,e.length)),u=h+e.length+l,p=void 0;else{if(T===" "&&m&&m!==" "&&m!==`
`&&m!==" "){let w=r[h+1];w&&w!==" "&&w!==`
`&&w!==" "&&(p=h)}if(h>=u)if(p)c.push(p),u=p+l,p=void 0;else if(t===Qw){for(;m===" "||m===" ";)m=T,T=r[h+=1],f=!0;let w=h>y+1?h-2:g-1;if(d[w])return r;c.push(w),d[w]=!0,u=w+l,p=void 0}else f=!0}m=T}if(f&&o&&o(),c.length===0)return r;a&&a();let k=r.slice(0,c[0]);for(let T=0;T<c.length;++T){let w=c[T],S=c[T+1]||r.length;w===0?k=`
${e}${r.slice(0,S)}`:(t===Qw&&d[w]&&(k+=`${r[w]}\\`),k+=`
${e}${r.slice(w+1,S)}`)}return k}function zde(r,e,t){let n=e,i=e+1,s=r[i];for(;s===" "||s===" ";)if(e<i+t)s=r[++e];else{do s=r[++e];while(s&&s!==`
`);n=e,i=e+1,s=r[i]}return n}var Z$,CP,Qw,Bde=v(()=>{Z$="flow",CP="block",Qw="quoted"});function mHe(r,e,t){if(!e||e<0)return!1;let n=e-t,i=r.length;if(i<=n)return!1;for(let s=0,a=0;s<i;++s)if(r[s]===`
`){if(s-a>n)return!0;if(a=s+1,i-a<=n)return!1}return!0}function Xw(r,e){let t=JSON.stringify(r);if(e.options.doubleQuotedAsJSON)return t;let{implicitKey:n}=e,i=e.options.doubleQuotedMinMultiLineLength,s=e.indent||(MP(r)?" ":""),a="",o=0;for(let l=0,c=t[l];c;c=t[++l])if(c===" "&&t[l+1]==="\\"&&t[l+2]==="n"&&(a+=t.slice(o,l)+"\\ ",l+=1,o=l,c="\\"),c==="\\")switch(t[l+1]){case"u":{a+=t.slice(o,l);let d=t.substr(l+2,4);switch(d){case"0000":a+="\\0";break;case"0007":a+="\\a";break;case"000b":a+="\\v";break;case"001b":a+="\\e";break;case"0085":a+="\\N";break;case"00a0":a+="\\_";break;case"2028":a+="\\L";break;case"2029":a+="\\P";break;default:d.substr(0,2)==="00"?a+="\\x"+d.substr(2):a+=t.substr(l,6)}l+=5,o=l+1}break;case"n":if(n||t[l+2]==='"'||t.length<i)l+=1;else{for(a+=t.slice(o,l)+`
`;t[l+2]==="\\"&&t[l+3]==="n"&&t[l+4]!=='"';)a+=`
`,l+=2;a+=s,t[l+2]===" "&&(a+="\\"),l+=1,o=l+1}break;default:l+=1}return a=o?a+t.slice(o):t,n?a:Jw(a,s,Qw,_P(e,!1))}function Q$(r,e){if(e.options.singleQuote===!1||e.implicitKey&&r.includes(`
`)||/[ \t]\n|\n[ \t]/.test(r))return Xw(r,e);let t=e.indent||(MP(r)?" ":""),n="'"+r.replace(/'/g,"''").replace(/\n+/g,`$&
${t}`)+"'";return e.implicitKey?n:Jw(n,t,Z$,_P(e,!1))}function gy(r,e){let{singleQuote:t}=e.options,n;if(t===!1)n=Xw;else{let i=r.includes('"'),s=r.includes("'");i&&!s?n=Q$:s&&!i?n=Xw:n=t?Q$:Xw}return n(r,e)}function PP({comment:r,type:e,value:t},n,i,s){let{blockQuote:a,commentString:o,lineWidth:l}=n.options;if(!a||/\n[\t ]+$/.test(t))return gy(t,n);let c=n.indent||(n.forceBlockIndent||MP(t)?" ":""),d=a==="literal"?!0:a==="folded"||e===we.BLOCK_FOLDED?!1:e===we.BLOCK_LITERAL?!0:!mHe(t,l,c.length);if(!t)return d?`|
`:`>
`;let u,p;for(p=t.length;p>0;--p){let S=t[p-1];if(S!==`
`&&S!==" "&&S!==" ")break}let m=t.substring(p),f=m.indexOf(`
`);f===-1?u="-":t===m||f!==m.length-1?(u="+",s&&s()):u="",m&&(t=t.slice(0,-m.length),m[m.length-1]===`
`&&(m=m.slice(0,-1)),m=m.replace(J$,`$&${c}`));let h=!1,g,y=-1;for(g=0;g<t.length;++g){let S=t[g];if(S===" ")h=!0;else if(S===`
`)y=g;else break}let k=t.substring(0,y<g?y+1:g);k&&(t=t.substring(k.length),k=k.replace(/\n+/g,`$&${c}`));let w=(h?c?"2":"1":"")+u;if(r&&(w+=" "+o(r.replace(/ ?[\r\n]+/g," ")),i&&i()),!d){let S=t.replace(/\n+/g,`
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${c}`),E=!1,C=_P(n,!0);a!=="folded"&&e!==we.BLOCK_FOLDED&&(C.onOverflow=()=>{E=!0});let D=Jw(`${k}${S}${m}`,c,CP,C);if(!E)return`>${w}
${c}${D}`}return t=t.replace(/\n+/g,`$&${c}`),`|${w}
${c}${k}${t}${m}`}function fHe(r,e,t,n){let{type:i,value:s}=r,{actualString:a,implicitKey:o,indent:l,indentStep:c,inFlow:d}=e;if(o&&s.includes(`
`)||d&&/[[\]{},]/.test(s))return gy(s,e);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(s))return o||d||!s.includes(`
`)?gy(s,e):PP(r,e,t,n);if(!o&&!d&&i!==we.PLAIN&&s.includes(`
`))return PP(r,e,t,n);if(MP(s)){if(l==="")return e.forceBlockIndent=!0,PP(r,e,t,n);if(o&&l===c)return gy(s,e)}let u=s.replace(/\n+/g,`$&
${l}`);if(a){let p=h=>{var g;return h.default&&h.tag!=="tag:yaml.org,2002:str"&&((g=h.test)==null?void 0:g.test(u))},{compat:m,tags:f}=e.doc.schema;if(f.some(p)||m!=null&&m.some(p))return gy(s,e)}return o?u:Jw(u,l,Z$,_P(e,!1))}function bd(r,e,t,n){let{implicitKey:i,inFlow:s}=e,a=typeof r.value=="string"?r:Object.assign({},r,{value:String(r.value)}),{type:o}=r;o!==we.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(a.value)&&(o=we.QUOTE_DOUBLE);let l=d=>{switch(d){case we.BLOCK_FOLDED:case we.BLOCK_LITERAL:return i||s?gy(a.value,e):PP(a,e,t,n);case we.QUOTE_DOUBLE:return Xw(a.value,e);case we.QUOTE_SINGLE:return Q$(a.value,e);case we.PLAIN:return fHe(a,e,t,n);default:return null}},c=l(o);if(c===null){let{defaultKeyType:d,defaultStringType:u}=e.options,p=i&&d||u;if(c=l(p),c===null)throw new Error(`Unsupported default string type ${p}`)}return c}var _P,MP,J$,eS=v(()=>{_n();Bde();_P=(r,e)=>({indentAtStart:e?r.indent.length:r.indentAtStart,lineWidth:r.options.lineWidth,minContentWidth:r.options.minContentWidth}),MP=r=>/^(%|---|\.\.\.)/m.test(r);try{J$=new RegExp(`(^|(?<!
))
+(?!
|$)`,"g")}catch(r){J$=/\n+(?!\n|$)/g}});function AP(r,e){let t=Object.assign({blockQuote:!0,commentString:jde,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trueStr:"true",verifyAliasOrder:!0},r.schema.toStringOptions,e),n;switch(t.collectionStyle){case"block":n=!1;break;case"flow":n=!0;break;default:n=null}return{anchors:new Set,doc:r,flowCollectionPadding:t.flowCollectionPadding?" ":"",indent:"",indentStep:typeof t.indent=="number"?" ".repeat(t.indent):" ",inFlow:n,options:t}}function hHe(r,e){var i,s,a,o;if(e.tag){let l=r.filter(c=>c.tag===e.tag);if(l.length>0)return(i=l.find(c=>c.format===e.format))!=null?i:l[0]}let t,n;if(ot(e)){n=e.value;let l=r.filter(c=>{var d;return(d=c.identify)==null?void 0:d.call(c,n)});if(l.length>1){let c=l.filter(d=>d.test);c.length>0&&(l=c)}t=(s=l.find(c=>c.format===e.format))!=null?s:l.find(c=>!c.format)}else n=e,t=r.find(l=>l.nodeClass&&n instanceof l.nodeClass);if(!t){let l=(o=(a=n==null?void 0:n.constructor)==null?void 0:a.name)!=null?o:n===null?"null":typeof n;throw new Error(`Tag not resolved for ${l} value`)}return t}function gHe(r,e,{anchors:t,doc:n}){var o;if(!n.directives)return"";let i=[],s=(ot(r)||sr(r))&&r.anchor;s&&kP(s)&&(t.add(s),i.push(`&${s}`));let a=(o=r.tag)!=null?o:e.default?null:e.tag;return a&&i.push(n.directives.tagString(a)),i.join(" ")}function Td(r,e,t,n){var l,c;if(Pt(r))return r.toString(e,t,n);if(Ta(r)){if(e.doc.directives)return r.toString(e);if((l=e.resolvedAliases)!=null&&l.has(r))throw new TypeError("Cannot stringify circular structure without alias nodes");e.resolvedAliases?e.resolvedAliases.add(r):e.resolvedAliases=new Set([r]),r=r.resolve(e.doc)}let i,s=Rt(r)?r:e.doc.createNode(r,{onTagObj:d=>i=d});i!=null||(i=hHe(e.doc.schema.tags,s));let a=gHe(s,i,e);a.length>0&&(e.indentAtStart=((c=e.indentAtStart)!=null?c:0)+a.length+1);let o=typeof i.stringify=="function"?i.stringify(s,e,t,n):ot(s)?bd(s,e,t,n):s.toString(e,t,n);return a?ot(s)||o[0]==="{"||o[0]==="["?`${a} ${o}`:`${a}
${e.indent}${o}`:o}var tS=v(()=>{wP();Gt();Zw();eS()});function qde({key:r,value:e},t,n,i){var C,D;let{allNullValues:s,doc:a,indent:o,indentStep:l,options:{commentString:c,indentSeq:d,simpleKeys:u}}=t,p=Rt(r)&&r.comment||null;if(u){if(p)throw new Error("With simple keys, key nodes cannot have comments");if(sr(r)||!Rt(r)&&typeof r=="object"){let A="With simple keys, collection cannot be used as a key value";throw new Error(A)}}let m=!u&&(!r||p&&e==null&&!t.inFlow||sr(r)||(ot(r)?r.type===we.BLOCK_FOLDED||r.type===we.BLOCK_LITERAL:typeof r=="object"));t=Object.assign({},t,{allNullValues:!1,implicitKey:!m&&(u||!s),indent:o+l});let f=!1,h=!1,g=Td(r,t,()=>f=!0,()=>h=!0);if(!m&&!t.inFlow&&g.length>1024){if(u)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");m=!0}if(t.inFlow){if(s||e==null)return f&&n&&n(),g===""?"?":m?`? ${g}`:g}else if(s&&!u||e==null&&m)return g=`? ${g}`,p&&!f?g+=ql(g,t.indent,c(p)):h&&i&&i(),g;f&&(p=null),m?(p&&(g+=ql(g,t.indent,c(p))),g=`? ${g}
${o}:`):(g=`${g}:`,p&&(g+=ql(g,t.indent,c(p))));let y,k,T;Rt(e)?(y=!!e.spaceBefore,k=e.commentBefore,T=e.comment):(y=!1,k=null,T=null,e&&typeof e=="object"&&(e=a.createNode(e))),t.implicitKey=!1,!m&&!p&&ot(e)&&(t.indentAtStart=g.length+1),h=!1,!d&&l.length>=2&&!t.inFlow&&!m&&io(e)&&!e.flow&&!e.tag&&!e.anchor&&(t.indent=t.indent.substring(2));let w=!1,S=Td(e,t,()=>w=!0,()=>h=!0),E=" ";if(p||y||k){if(E=y?`
`:"",k){let A=c(k);E+=`
${so(A,t.indent)}`}S===""&&!t.inFlow?E===`
`&&(E=`
`):E+=`
${t.indent}`}else if(!m&&sr(e)){let A=S[0],N=S.indexOf(`
`),V=N!==-1,R=(D=(C=t.inFlow)!=null?C:e.flow)!=null?D:e.items.length===0;if(V||!R){let I=!1;if(V&&(A==="&"||A==="!")){let O=S.indexOf(" ");A==="&"&&O!==-1&&O<N&&S[O+1]==="!"&&(O=S.indexOf(" ",O+1)),(O===-1||N<O)&&(I=!0)}I||(E=`
${t.indent}`)}}else(S===""||S[0]===`
`)&&(E="");return g+=E+S,t.inFlow?w&&n&&n():T&&!w?g+=ql(g,t.indent,c(T)):h&&i&&i(),g}var Hde=v(()=>{Gt();_n();tS();Zw()});function IP(r,e){(r==="debug"||r==="warn")&&console.warn(e)}var X$=v(()=>{});function tj(r,e,t){if(t=r&&Ta(t)?t.resolve(r.doc):t,io(t))for(let n of t.items)ej(r,e,n);else if(Array.isArray(t))for(let n of t)ej(r,e,n);else ej(r,e,t)}function ej(r,e,t){let n=r&&Ta(t)?t.resolve(r.doc):t;if(!no(n))throw new Error("Merge sources must be maps or map aliases");let i=n.toJSON(null,r,Map);for(let[s,a]of i)e instanceof Map?e.has(s)||e.set(s,a):e instanceof Set?e.add(s):Object.prototype.hasOwnProperty.call(e,s)||Object.defineProperty(e,s,{value:a,writable:!0,enumerable:!0,configurable:!0});return e}var NP,Zo,Ude,RP=v(()=>{Gt();_n();NP="<<",Zo={identify:r=>r===NP||typeof r=="symbol"&&r.description===NP,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new we(Symbol(NP)),{addToJSMap:tj}),stringify:()=>NP},Ude=(r,e)=>(Zo.identify(e)||ot(e)&&(!e.type||e.type===we.PLAIN)&&Zo.identify(e.value))&&(r==null?void 0:r.doc.schema.tags.some(t=>t.tag===Zo.tag&&t.default))});function OP(r,e,{key:t,value:n}){if(Rt(t)&&t.addToJSMap)t.addToJSMap(r,e,n);else if(Ude(r,t))tj(r,e,n);else{let i=zn(t,"",r);if(e instanceof Map)e.set(i,zn(n,i,r));else if(e instanceof Set)e.add(i);else{let s=yHe(t,i,r),a=zn(n,s,r);s in e?Object.defineProperty(e,s,{value:a,writable:!0,enumerable:!0,configurable:!0}):e[s]=a}}return e}function yHe(r,e,t){if(e===null)return"";if(typeof e!="object")return String(e);if(Rt(r)&&(t!=null&&t.doc)){let n=AP(t.doc,{});n.anchors=new Set;for(let s of t.anchors.keys())n.anchors.add(s.anchor);n.inFlow=!0,n.inStringifyKey=!0;let i=r.toString(n);if(!t.mapKeyWarned){let s=JSON.stringify(i);s.length>40&&(s=s.substring(0,36)+'..."'),IP(t.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${s}. Set mapAsMap: true to use object keys.`),t.mapKeyWarned=!0}return i}return JSON.stringify(e)}var rj=v(()=>{X$();RP();tS();Gt();Hu()});function yy(r,e,t){let n=vd(r,void 0,t),i=vd(e,void 0,t);return new tn(n,i)}var tn,Vu=v(()=>{Gw();Hde();rj();Gt();tn=class r{constructor(e,t=null){Object.defineProperty(this,os,{value:V$}),this.key=e,this.value=t}clone(e){let{key:t,value:n}=this;return Rt(t)&&(t=t.clone(e)),Rt(n)&&(n=n.clone(e)),new r(t,n)}toJSON(e,t){let n=t!=null&&t.mapAsMap?new Map:{};return OP(t,n,this)}toString(e,t,n){return e!=null&&e.doc?qde(this,e,t,n):JSON.stringify(this)}}});function FP(r,e,t){var s;return(((s=e.inFlow)!=null?s:r.flow)?bHe:vHe)(r,e,t)}function vHe({comment:r,items:e},t,{blockItemPrefix:n,flowChars:i,itemIndent:s,onChompKeep:a,onComment:o}){let{indent:l,options:{commentString:c}}=t,d=Object.assign({},t,{indent:s,type:null}),u=!1,p=[];for(let f=0;f<e.length;++f){let h=e[f],g=null;if(Rt(h))!u&&h.spaceBefore&&p.push(""),LP(t,p,h.commentBefore,u),h.comment&&(g=h.comment);else if(Pt(h)){let k=Rt(h.key)?h.key:null;k&&(!u&&k.spaceBefore&&p.push(""),LP(t,p,k.commentBefore,u))}u=!1;let y=Td(h,d,()=>g=null,()=>u=!0);g&&(y+=ql(y,s,c(g))),u&&g&&(u=!1),p.push(n+y)}let m;if(p.length===0)m=i.start+i.end;else{m=p[0];for(let f=1;f<p.length;++f){let h=p[f];m+=h?`
${l}${h}`:`
`}}return r?(m+=`
`+so(c(r),l),o&&o()):u&&a&&a(),m}function bHe({items:r},e,{flowChars:t,itemIndent:n}){let{indent:i,indentStep:s,flowCollectionPadding:a,options:{commentString:o}}=e;n+=s;let l=Object.assign({},e,{indent:n,inFlow:!0,type:null}),c=!1,d=0,u=[];for(let f=0;f<r.length;++f){let h=r[f],g=null;if(Rt(h))h.spaceBefore&&u.push(""),LP(e,u,h.commentBefore,!1),h.comment&&(g=h.comment);else if(Pt(h)){let k=Rt(h.key)?h.key:null;k&&(k.spaceBefore&&u.push(""),LP(e,u,k.commentBefore,!1),k.comment&&(c=!0));let T=Rt(h.value)?h.value:null;T?(T.comment&&(g=T.comment),T.commentBefore&&(c=!0)):h.value==null&&(k!=null&&k.comment)&&(g=k.comment)}g&&(c=!0);let y=Td(h,l,()=>g=null);f<r.length-1&&(y+=","),g&&(y+=ql(y,n,o(g))),!c&&(u.length>d||y.includes(`
`))&&(c=!0),u.push(y),d=u.length}let{start:p,end:m}=t;if(u.length===0)return p+m;if(!c){let f=u.reduce((h,g)=>h+g.length+2,2);c=e.options.lineWidth>0&&f>e.options.lineWidth}if(c){let f=p;for(let h of u)f+=h?`
${s}${i}${h}`:`
`;return`${f}
${i}${m}`}else return`${p}${a}${u.join(" ")}${a}${m}`}function LP({indent:r,options:{commentString:e}},t,n,i){if(n&&i&&(n=n.replace(/^\n+/,"")),n){let s=so(e(n),r);t.push(s.trimStart())}}var nj=v(()=>{Gt();tS();Zw()});function Wu(r,e){let t=ot(e)?e.value:e;for(let n of r)if(Pt(n)&&(n.key===e||n.key===t||ot(n.key)&&n.key.value===t))return n}var mn,Yu=v(()=>{nj();rj();DP();Gt();Vu();_n();mn=class extends fy{static get tagName(){return"tag:yaml.org,2002:map"}constructor(e){super(Go,e),this.items=[]}static from(e,t,n){let{keepUndefined:i,replacer:s}=n,a=new this(e),o=(l,c)=>{if(typeof s=="function")c=s.call(t,l,c);else if(Array.isArray(s)&&!s.includes(l))return;(c!==void 0||i)&&a.items.push(yy(l,c,n))};if(t instanceof Map)for(let[l,c]of t)o(l,c);else if(t&&typeof t=="object")for(let l of Object.keys(t))o(l,t[l]);return typeof e.sortMapEntries=="function"&&a.items.sort(e.sortMapEntries),a}add(e,t){var a;let n;Pt(e)?n=e:!e||typeof e!="object"||!("key"in e)?n=new tn(e,e==null?void 0:e.value):n=new tn(e.key,e.value);let i=Wu(this.items,n.key),s=(a=this.schema)==null?void 0:a.sortMapEntries;if(i){if(!t)throw new Error(`Key ${n.key} already set`);ot(i.value)&&EP(n.value)?i.value.value=n.value:i.value=n.value}else if(s){let o=this.items.findIndex(l=>s(n,l)<0);o===-1?this.items.push(n):this.items.splice(o,0,n)}else this.items.push(n)}delete(e){let t=Wu(this.items,e);return t?this.items.splice(this.items.indexOf(t),1).length>0:!1}get(e,t){var s;let n=Wu(this.items,e),i=n==null?void 0:n.value;return(s=!t&&ot(i)?i.value:i)!=null?s:void 0}has(e){return!!Wu(this.items,e)}set(e,t){this.add(new tn(e,t),!0)}toJSON(e,t,n){let i=n?new n:t!=null&&t.mapAsMap?new Map:{};t!=null&&t.onCreate&&t.onCreate(i);for(let s of this.items)OP(t,i,s);return i}toString(e,t,n){if(!e)return JSON.stringify(this);for(let i of this.items)if(!Pt(i))throw new Error(`Map items must all be pairs; found ${JSON.stringify(i)} instead`);return!e.allNullValues&&this.hasAllNullValues(!1)&&(e=Object.assign({},e,{allNullValues:!0})),FP(this,e,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:e.indent||"",onChompKeep:n,onComment:t})}}});var Qo,vy=v(()=>{Gt();Yu();Qo={collection:"map",default:!0,nodeClass:mn,tag:"tag:yaml.org,2002:map",resolve(r,e){return no(r)||e("Expected a mapping for this tag"),r},createNode:(r,e,t)=>mn.from(r,e,t)}});function $P(r){let e=ot(r)?r.value:r;return e&&typeof e=="string"&&(e=Number(e)),typeof e=="number"&&Number.isInteger(e)&&e>=0?e:null}var ui,Gu=v(()=>{Gw();nj();DP();Gt();_n();Hu();ui=class extends fy{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(e){super(yd,e),this.items=[]}add(e){this.items.push(e)}delete(e){let t=$P(e);return typeof t!="number"?!1:this.items.splice(t,1).length>0}get(e,t){let n=$P(e);if(typeof n!="number")return;let i=this.items[n];return!t&&ot(i)?i.value:i}has(e){let t=$P(e);return typeof t=="number"&&t<this.items.length}set(e,t){let n=$P(e);if(typeof n!="number")throw new Error(`Expected a valid index, not ${e}.`);let i=this.items[n];ot(i)&&EP(t)?i.value=t:this.items[n]=t}toJSON(e,t){let n=[];t!=null&&t.onCreate&&t.onCreate(n);let i=0;for(let s of this.items)n.push(zn(s,String(i++),t));return n}toString(e,t,n){return e?FP(this,e,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(e.indent||"")+" ",onChompKeep:n,onComment:t}):JSON.stringify(this)}static from(e,t,n){let{replacer:i}=n,s=new this(e);if(t&&Symbol.iterator in Object(t)){let a=0;for(let o of t){if(typeof i=="function"){let l=t instanceof Set?o:String(a++);o=i.call(t,l,o)}s.items.push(vd(o,void 0,n))}}return s}}});var Jo,by=v(()=>{Gt();Gu();Jo={collection:"seq",default:!0,nodeClass:ui,tag:"tag:yaml.org,2002:seq",resolve(r,e){return io(r)||e("Expected a sequence for this tag"),r},createNode:(r,e,t)=>ui.from(r,e,t)}});var Ku,rS=v(()=>{eS();Ku={identify:r=>typeof r=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:r=>r,stringify(r,e,t,n){return e=Object.assign({actualString:!0},e),bd(r,e,t,n)}}});var of,jP=v(()=>{_n();of={identify:r=>r==null,createNode:()=>new we(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new we(null),stringify:({source:r},e)=>typeof r=="string"&&of.test.test(r)?r:e.options.nullStr}});var nS,ij=v(()=>{_n();nS={identify:r=>typeof r=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:r=>new we(r[0]==="t"||r[0]==="T"),stringify({source:r,value:e},t){if(r&&nS.test.test(r)){let n=r[0]==="t"||r[0]==="T";if(e===n)return r}return e?t.options.trueStr:t.options.falseStr}}});function ji({format:r,minFractionDigits:e,tag:t,value:n}){if(typeof n=="bigint")return String(n);let i=typeof n=="number"?n:Number(n);if(!isFinite(i))return isNaN(i)?".nan":i<0?"-.inf":".inf";let s=JSON.stringify(n);if(!r&&e&&(!t||t==="tag:yaml.org,2002:float")&&/^\d/.test(s)){let a=s.indexOf(".");a<0&&(a=s.length,s+=".");let o=e-(s.length-a-1);for(;o-- >0;)s+="0"}return s}var Ty=v(()=>{});var zP,BP,qP,sj=v(()=>{_n();Ty();zP={identify:r=>typeof r=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:r=>r.slice(-3).toLowerCase()==="nan"?NaN:r[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:ji},BP={identify:r=>typeof r=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:r=>parseFloat(r),stringify(r){let e=Number(r.value);return isFinite(e)?e.toExponential():ji(r)}},qP={identify:r=>typeof r=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(r){let e=new we(parseFloat(r)),t=r.indexOf(".");return t!==-1&&r[r.length-1]==="0"&&(e.minFractionDigits=r.length-t-1),e},stringify:ji}});function Vde(r,e,t){let{value:n}=r;return HP(n)&&n>=0?t+n.toString(e):ji(r)}var HP,aj,UP,VP,WP,oj=v(()=>{Ty();HP=r=>typeof r=="bigint"||Number.isInteger(r),aj=(r,e,t,{intAsBigInt:n})=>n?BigInt(r):parseInt(r.substring(e),t);UP={identify:r=>HP(r)&&r>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(r,e,t)=>aj(r,2,8,t),stringify:r=>Vde(r,8,"0o")},VP={identify:HP,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(r,e,t)=>aj(r,0,10,t),stringify:ji},WP={identify:r=>HP(r)&&r>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(r,e,t)=>aj(r,2,16,t),stringify:r=>Vde(r,16,"0x")}});var Wde,Yde=v(()=>{vy();jP();by();rS();ij();sj();oj();Wde=[Qo,Jo,Ku,of,nS,UP,VP,WP,zP,BP,qP]});function Gde(r){return typeof r=="bigint"||Number.isInteger(r)}var YP,THe,kHe,Kde,Zde=v(()=>{_n();vy();by();YP=({value:r})=>JSON.stringify(r),THe=[{identify:r=>typeof r=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:r=>r,stringify:YP},{identify:r=>r==null,createNode:()=>new we(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:YP},{identify:r=>typeof r=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:r=>r==="true",stringify:YP},{identify:Gde,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(r,e,{intAsBigInt:t})=>t?BigInt(r):parseInt(r,10),stringify:({value:r})=>Gde(r)?r.toString():JSON.stringify(r)},{identify:r=>typeof r=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:r=>parseFloat(r),stringify:YP}],kHe={default:!0,tag:"",test:/^/,resolve(r,e){return e(`Unresolved plain scalar ${JSON.stringify(r)}`),r}},Kde=[Qo,Jo].concat(THe,kHe)});var iS,lj=v(()=>{_n();eS();iS={identify:r=>r instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(r,e){if(typeof atob=="function"){let t=atob(r.replace(/[\n\r]/g,"")),n=new Uint8Array(t.length);for(let i=0;i<t.length;++i)n[i]=t.charCodeAt(i);return n}else return e("This environment does not support reading binary tags; either Buffer or atob is required"),r},stringify({comment:r,type:e,value:t},n,i,s){if(!t)return"";let a=t,o;if(typeof btoa=="function"){let l="";for(let c=0;c<a.length;++c)l+=String.fromCharCode(a[c]);o=btoa(l)}else throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(e!=null||(e=we.BLOCK_LITERAL),e!==we.QUOTE_DOUBLE){let l=Math.max(n.options.lineWidth-n.indent.length,n.options.minContentWidth),c=Math.ceil(o.length/l),d=new Array(c);for(let u=0,p=0;u<c;++u,p+=l)d[u]=o.substr(p,l);o=d.join(e===we.BLOCK_LITERAL?`
`:" ")}return bd({comment:r,type:e,value:o},n,i,s)}}});function cj(r,e){var t;if(io(r))for(let n=0;n<r.items.length;++n){let i=r.items[n];if(!Pt(i)){if(no(i)){i.items.length>1&&e("Each pair must have its own sequence indicator");let s=i.items[0]||new tn(new we(null));if(i.commentBefore&&(s.key.commentBefore=s.key.commentBefore?`${i.commentBefore}
${s.key.commentBefore}`:i.commentBefore),i.comment){let a=(t=s.value)!=null?t:s.key;a.comment=a.comment?`${i.comment}
${a.comment}`:i.comment}i=s}r.items[n]=Pt(i)?i:new tn(i)}}else e("Expected a sequence for this tag");return r}function dj(r,e,t){let{replacer:n}=t,i=new ui(r);i.tag="tag:yaml.org,2002:pairs";let s=0;if(e&&Symbol.iterator in Object(e))for(let a of e){typeof n=="function"&&(a=n.call(e,String(s++),a));let o,l;if(Array.isArray(a))if(a.length===2)o=a[0],l=a[1];else throw new TypeError(`Expected [key, value] tuple: ${a}`);else if(a&&a instanceof Object){let c=Object.keys(a);if(c.length===1)o=c[0],l=a[o];else throw new TypeError(`Expected tuple with one key, not ${c.length} keys`)}else o=a;i.items.push(yy(o,l,t))}return i}var sS,GP=v(()=>{Gt();Vu();_n();Gu();sS={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:cj,createNode:dj}});var ky,aS,uj=v(()=>{Gt();Hu();Yu();Gu();GP();ky=class r extends ui{constructor(){super(),this.add=mn.prototype.add.bind(this),this.delete=mn.prototype.delete.bind(this),this.get=mn.prototype.get.bind(this),this.has=mn.prototype.has.bind(this),this.set=mn.prototype.set.bind(this),this.tag=r.tag}toJSON(e,t){if(!t)return super.toJSON(e);let n=new Map;t!=null&&t.onCreate&&t.onCreate(n);for(let i of this.items){let s,a;if(Pt(i)?(s=zn(i.key,"",t),a=zn(i.value,s,t)):s=zn(i,"",t),n.has(s))throw new Error("Ordered maps must not include duplicate keys");n.set(s,a)}return n}static from(e,t,n){let i=dj(e,t,n),s=new this;return s.items=i.items,s}};ky.tag="tag:yaml.org,2002:omap";aS={collection:"seq",identify:r=>r instanceof Map,nodeClass:ky,default:!1,tag:"tag:yaml.org,2002:omap",resolve(r,e){let t=cj(r,e),n=[];for(let{key:i}of t.items)ot(i)&&(n.includes(i.value)?e(`Ordered maps must not include duplicate keys: ${i.value}`):n.push(i.value));return Object.assign(new ky,t)},createNode:(r,e,t)=>ky.from(r,e,t)}});function Qde({value:r,source:e},t){return e&&(r?pj:mj).test.test(e)?e:r?t.options.trueStr:t.options.falseStr}var pj,mj,Jde=v(()=>{_n();pj={identify:r=>r===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new we(!0),stringify:Qde},mj={identify:r=>r===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new we(!1),stringify:Qde}});var Xde,eue,tue,rue=v(()=>{_n();Ty();Xde={identify:r=>typeof r=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:r=>r.slice(-3).toLowerCase()==="nan"?NaN:r[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:ji},eue={identify:r=>typeof r=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:r=>parseFloat(r.replace(/_/g,"")),stringify(r){let e=Number(r.value);return isFinite(e)?e.toExponential():ji(r)}},tue={identify:r=>typeof r=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(r){let e=new we(parseFloat(r.replace(/_/g,""))),t=r.indexOf(".");if(t!==-1){let n=r.substring(t+1).replace(/_/g,"");n[n.length-1]==="0"&&(e.minFractionDigits=n.length)}return e},stringify:ji}});function KP(r,e,t,{intAsBigInt:n}){let i=r[0];if((i==="-"||i==="+")&&(e+=1),r=r.substring(e).replace(/_/g,""),n){switch(t){case 2:r=`0b${r}`;break;case 8:r=`0o${r}`;break;case 16:r=`0x${r}`;break}let a=BigInt(r);return i==="-"?BigInt(-1)*a:a}let s=parseInt(r,t);return i==="-"?-1*s:s}function fj(r,e,t){let{value:n}=r;if(oS(n)){let i=n.toString(e);return n<0?"-"+t+i.substr(1):t+i}return ji(r)}var oS,nue,iue,sue,aue,oue=v(()=>{Ty();oS=r=>typeof r=="bigint"||Number.isInteger(r);nue={identify:oS,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(r,e,t)=>KP(r,2,2,t),stringify:r=>fj(r,2,"0b")},iue={identify:oS,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(r,e,t)=>KP(r,1,8,t),stringify:r=>fj(r,8,"0")},sue={identify:oS,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(r,e,t)=>KP(r,0,10,t),stringify:ji},aue={identify:oS,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(r,e,t)=>KP(r,2,16,t),stringify:r=>fj(r,16,"0x")}});var wy,lS,hj=v(()=>{Gt();Vu();Yu();wy=class r extends mn{constructor(e){super(e),this.tag=r.tag}add(e){let t;Pt(e)?t=e:e&&typeof e=="object"&&"key"in e&&"value"in e&&e.value===null?t=new tn(e.key,null):t=new tn(e,null),Wu(this.items,t.key)||this.items.push(t)}get(e,t){let n=Wu(this.items,e);return!t&&Pt(n)?ot(n.key)?n.key.value:n.key:n}set(e,t){if(typeof t!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof t}`);let n=Wu(this.items,e);n&&!t?this.items.splice(this.items.indexOf(n),1):!n&&t&&this.items.push(new tn(e))}toJSON(e,t){return super.toJSON(e,t,Set)}toString(e,t,n){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),t,n);throw new Error("Set items must all have null values")}static from(e,t,n){let{replacer:i}=n,s=new this(e);if(t&&Symbol.iterator in Object(t))for(let a of t)typeof i=="function"&&(a=i.call(t,a,a)),s.items.push(yy(a,null,n));return s}};wy.tag="tag:yaml.org,2002:set";lS={collection:"map",identify:r=>r instanceof Set,nodeClass:wy,default:!1,tag:"tag:yaml.org,2002:set",createNode:(r,e,t)=>wy.from(r,e,t),resolve(r,e){if(no(r)){if(r.hasAllNullValues(!0))return Object.assign(new wy,r);e("Set items must all have null values")}else e("Expected a mapping for this tag");return r}}});function gj(r,e){let t=r[0],n=t==="-"||t==="+"?r.substring(1):r,i=a=>e?BigInt(a):Number(a),s=n.replace(/_/g,"").split(":").reduce((a,o)=>a*i(60)+i(o),i(0));return t==="-"?i(-1)*s:s}function lue(r){let{value:e}=r,t=a=>a;if(typeof e=="bigint")t=a=>BigInt(a);else if(isNaN(e)||!isFinite(e))return ji(r);let n="";e<0&&(n="-",e*=t(-1));let i=t(60),s=[e%i];return e<60?s.unshift(0):(e=(e-s[0])/i,s.unshift(e%i),e>=60&&(e=(e-s[0])/i,s.unshift(e))),n+s.map(a=>String(a).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var ZP,QP,Sy,yj=v(()=>{Ty();ZP={identify:r=>typeof r=="bigint"||Number.isInteger(r),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(r,e,{intAsBigInt:t})=>gj(r,t),stringify:lue},QP={identify:r=>typeof r=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:r=>gj(r,!1),stringify:lue},Sy={identify:r=>r instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(r){let e=r.match(Sy.test);if(!e)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,t,n,i,s,a,o]=e.map(Number),l=e[7]?Number((e[7]+"00").substr(1,3)):0,c=Date.UTC(t,n-1,i,s||0,a||0,o||0,l),d=e[8];if(d&&d!=="Z"){let u=gj(d,!1);Math.abs(u)<30&&(u*=60),c-=6e4*u}return new Date(c)},stringify:({value:r})=>{var e;return(e=r==null?void 0:r.toISOString().replace(/(T00:00:00)?\.000Z$/,""))!=null?e:""}}});var vj,cue=v(()=>{vy();jP();by();rS();lj();Jde();rue();oue();RP();uj();GP();hj();yj();vj=[Qo,Jo,Ku,of,pj,mj,nue,iue,sue,aue,Xde,eue,tue,iS,Zo,aS,sS,lS,ZP,QP,Sy]});function JP(r,e,t){let n=due.get(e);if(n&&!r)return t&&!n.includes(Zo)?n.concat(Zo):n.slice();let i=n;if(!i)if(Array.isArray(r))i=[];else{let s=Array.from(due.keys()).filter(a=>a!=="yaml11").map(a=>JSON.stringify(a)).join(", ");throw new Error(`Unknown schema "${e}"; use one of ${s} or define customTags array`)}if(Array.isArray(r))for(let s of r)i=i.concat(s);else typeof r=="function"&&(i=r(i.slice()));return t&&(i=i.concat(Zo)),i.reduce((s,a)=>{let o=typeof a=="string"?uue[a]:a;if(!o){let l=JSON.stringify(a),c=Object.keys(uue).map(d=>JSON.stringify(d)).join(", ");throw new Error(`Unknown custom tag ${l}; use one of ${c}`)}return s.includes(o)||s.push(o),s},[])}var due,uue,pue,mue=v(()=>{vy();jP();by();rS();ij();sj();oj();Yde();Zde();lj();RP();uj();GP();cue();hj();yj();due=new Map([["core",Wde],["failsafe",[Qo,Jo,Ku]],["json",Kde],["yaml11",vj],["yaml-1.1",vj]]),uue={binary:iS,bool:nS,float:qP,floatExp:BP,floatNaN:zP,floatTime:QP,int:VP,intHex:WP,intOct:UP,intTime:ZP,map:Qo,merge:Zo,null:of,omap:aS,pairs:sS,seq:Jo,set:lS,timestamp:Sy},pue={"tag:yaml.org,2002:binary":iS,"tag:yaml.org,2002:merge":Zo,"tag:yaml.org,2002:omap":aS,"tag:yaml.org,2002:pairs":sS,"tag:yaml.org,2002:set":lS,"tag:yaml.org,2002:timestamp":Sy}});var wHe,xy,bj=v(()=>{Gt();vy();by();rS();mue();wHe=(r,e)=>r.key<e.key?-1:r.key>e.key?1:0,xy=class r{constructor({compat:e,customTags:t,merge:n,resolveKnownTags:i,schema:s,sortMapEntries:a,toStringDefaults:o}){this.compat=Array.isArray(e)?JP(e,"compat"):e?JP(null,e):null,this.name=typeof s=="string"&&s||"core",this.knownTags=i?pue:{},this.tags=JP(t,this.name,n),this.toStringOptions=o!=null?o:null,Object.defineProperty(this,Go,{value:Qo}),Object.defineProperty(this,ba,{value:Ku}),Object.defineProperty(this,yd,{value:Jo}),this.sortMapEntries=typeof a=="function"?a:a===!0?wHe:null}clone(){let e=Object.create(r.prototype,Object.getOwnPropertyDescriptors(this));return e.tags=this.tags.slice(),e}}});function fue(r,e){var l;let t=[],n=e.directives===!0;if(e.directives!==!1&&r.directives){let c=r.directives.toString(r);c?(t.push(c),n=!0):r.directives.docStart&&(n=!0)}n&&t.push("---");let i=AP(r,e),{commentString:s}=i.options;if(r.commentBefore){t.length!==1&&t.unshift("");let c=s(r.commentBefore);t.unshift(so(c,""))}let a=!1,o=null;if(r.contents){if(Rt(r.contents)){if(r.contents.spaceBefore&&n&&t.push(""),r.contents.commentBefore){let u=s(r.contents.commentBefore);t.push(so(u,""))}i.forceBlockIndent=!!r.comment,o=r.contents.comment}let c=o?void 0:()=>a=!0,d=Td(r.contents,i,()=>o=null,c);o&&(d+=ql(d,"",s(o))),(d[0]==="|"||d[0]===">")&&t[t.length-1]==="---"?t[t.length-1]=`--- ${d}`:t.push(d)}else t.push(Td(r.contents,i));if((l=r.directives)!=null&&l.docEnd)if(r.comment){let c=s(r.comment);c.includes(`
`)?(t.push("..."),t.push(so(c,""))):t.push(`... ${c}`)}else t.push("...");else{let c=r.comment;c&&a&&(c=c.replace(/^\n+/,"")),c&&((!a||o)&&t[t.length-1]!==""&&t.push(""),t.push(so(s(c),"")))}return t.join(`
`)+`
`}var hue=v(()=>{Gt();tS();Zw()});function Ey(r){if(sr(r))return!0;throw new Error("Expected a YAML collection as document contents")}var Hl,cS=v(()=>{Yw();DP();Gt();Vu();Hu();bj();hue();wP();K$();Gw();W$();Hl=class r{constructor(e,t,n){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,os,{value:bP});let i=null;typeof t=="function"||Array.isArray(t)?i=t:n===void 0&&t&&(n=t,t=void 0);let s=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},n);this.options=s;let{version:a}=s;n!=null&&n._directives?(this.directives=n._directives.atDocument(),this.directives.yaml.explicit&&(a=this.directives.yaml.version)):this.directives=new zl({version:a}),this.setSchema(a,n),this.contents=e===void 0?null:this.createNode(e,i,n)}clone(){let e=Object.create(r.prototype,{[os]:{value:bP}});return e.commentBefore=this.commentBefore,e.comment=this.comment,e.errors=this.errors.slice(),e.warnings=this.warnings.slice(),e.options=Object.assign({},this.options),this.directives&&(e.directives=this.directives.clone()),e.schema=this.schema.clone(),e.contents=Rt(this.contents)?this.contents.clone(e.schema):this.contents,this.range&&(e.range=this.range.slice()),e}add(e){Ey(this.contents)&&this.contents.add(e)}addIn(e,t){Ey(this.contents)&&this.contents.addIn(e,t)}createAlias(e,t){if(!e.anchor){let n=Y$(this);e.anchor=!t||n.has(t)?G$(t||"a",n):t}return new Bl(e.anchor)}createNode(e,t,n){let i;if(typeof t=="function")e=t.call({"":e},"",e),i=t;else if(Array.isArray(t)){let g=k=>typeof k=="number"||k instanceof String||k instanceof Number,y=t.filter(g).map(String);y.length>0&&(t=t.concat(y)),i=t}else n===void 0&&t&&(n=t,t=void 0);let{aliasDuplicateObjects:s,anchorPrefix:a,flow:o,keepUndefined:l,onTagObj:c,tag:d}=n!=null?n:{},{onAnchor:u,setAnchors:p,sourceObjects:m}=$de(this,a||"a"),f={aliasDuplicateObjects:s!=null?s:!0,keepUndefined:l!=null?l:!1,onAnchor:u,onTagObj:c,replacer:i,schema:this.schema,sourceObjects:m},h=vd(e,d,f);return o&&sr(h)&&(h.flow=!0),p(),h}createPair(e,t,n={}){let i=this.createNode(e,null,n),s=this.createNode(t,null,n);return new tn(i,s)}delete(e){return Ey(this.contents)?this.contents.delete(e):!1}deleteIn(e){return hy(e)?this.contents==null?!1:(this.contents=null,!0):Ey(this.contents)?this.contents.deleteIn(e):!1}get(e,t){return sr(this.contents)?this.contents.get(e,t):void 0}getIn(e,t){return hy(e)?!t&&ot(this.contents)?this.contents.value:this.contents:sr(this.contents)?this.contents.getIn(e,t):void 0}has(e){return sr(this.contents)?this.contents.has(e):!1}hasIn(e){return hy(e)?this.contents!==void 0:sr(this.contents)?this.contents.hasIn(e):!1}set(e,t){this.contents==null?this.contents=Kw(this.schema,[e],t):Ey(this.contents)&&this.contents.set(e,t)}setIn(e,t){hy(e)?this.contents=t:this.contents==null?this.contents=Kw(this.schema,Array.from(e),t):Ey(this.contents)&&this.contents.setIn(e,t)}setSchema(e,t={}){typeof e=="number"&&(e=String(e));let n;switch(e){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new zl({version:"1.1"}),n={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=e:this.directives=new zl({version:e}),n={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,n=null;break;default:{let i=JSON.stringify(e);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${i}`)}}if(t.schema instanceof Object)this.schema=t.schema;else if(n)this.schema=new xy(Object.assign(n,t));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:e,jsonArg:t,mapAsMap:n,maxAliasCount:i,onAnchor:s,reviver:a}={}){let o={anchors:new Map,doc:this,keep:!e,mapAsMap:n===!0,mapKeyWarned:!1,maxAliasCount:typeof i=="number"?i:100},l=zn(this.contents,t!=null?t:"",o);if(typeof s=="function")for(let{count:c,res:d}of o.anchors.values())s(d,c);return typeof a=="function"?qu(a,{"":l},"",l):l}toJSON(e,t){return this.toJS({json:!0,jsonArg:e,mapAsMap:!1,onAnchor:t})}toString(e={}){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");if("indent"in e&&(!Number.isInteger(e.indent)||Number(e.indent)<=0)){let t=JSON.stringify(e.indent);throw new Error(`"indent" option must be a positive integer, not ${t}`)}return fue(this,e)}}});var Dy,ka,Cy,dS,uS=v(()=>{Dy=class extends Error{constructor(e,t,n,i){super(),this.name=e,this.code=n,this.message=i,this.pos=t}},ka=class extends Dy{constructor(e,t,n){super("YAMLParseError",e,t,n)}},Cy=class extends Dy{constructor(e,t,n){super("YAMLWarning",e,t,n)}},dS=(r,e)=>t=>{if(t.pos[0]===-1)return;t.linePos=t.pos.map(o=>e.linePos(o));let{line:n,col:i}=t.linePos[0];t.message+=` at line ${n}, column ${i}`;let s=i-1,a=r.substring(e.lineStarts[n-1],e.lineStarts[n]).replace(/[\n\r]+$/,"");if(s>=60&&a.length>80){let o=Math.min(s-39,a.length-79);a="\u2026"+a.substring(o),s-=o-1}if(a.length>80&&(a=a.substring(0,79)+"\u2026"),n>1&&/^ *$/.test(a.substring(0,s))){let o=r.substring(e.lineStarts[n-2],e.lineStarts[n-1]);o.length>80&&(o=o.substring(0,79)+`\u2026
`),a=o+a}if(/[^ ]/.test(a)){let o=1,l=t.linePos[1];l&&l.line===n&&l.col>i&&(o=Math.max(1,Math.min(l.col-i,80-s)));let c=" ".repeat(s)+"^".repeat(o);t.message+=`:
${a}
${c}
`}}});function Ul(r,{flow:e,indicator:t,next:n,offset:i,onError:s,parentIndent:a,startOnNewline:o}){let l=!1,c=o,d=o,u="",p="",m=!1,f=!1,h=null,g=null,y=null,k=null,T=null,w=null,S=null;for(let D of r)switch(f&&(D.type!=="space"&&D.type!=="newline"&&D.type!=="comma"&&s(D.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),f=!1),h&&(c&&D.type!=="comment"&&D.type!=="newline"&&s(h,"TAB_AS_INDENT","Tabs are not allowed as indentation"),h=null),D.type){case"space":!e&&(t!=="doc-start"||(n==null?void 0:n.type)!=="flow-collection")&&D.source.includes(" ")&&(h=D),d=!0;break;case"comment":{d||s(D,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let A=D.source.substring(1)||" ";u?u+=p+A:u=A,p="",c=!1;break}case"newline":c?u?u+=D.source:(!w||t!=="seq-item-ind")&&(l=!0):p+=D.source,c=!0,m=!0,(g||y)&&(k=D),d=!0;break;case"anchor":g&&s(D,"MULTIPLE_ANCHORS","A node can have at most one anchor"),D.source.endsWith(":")&&s(D.offset+D.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),g=D,S!=null||(S=D.offset),c=!1,d=!1,f=!0;break;case"tag":{y&&s(D,"MULTIPLE_TAGS","A node can have at most one tag"),y=D,S!=null||(S=D.offset),c=!1,d=!1,f=!0;break}case t:(g||y)&&s(D,"BAD_PROP_ORDER",`Anchors and tags must be after the ${D.source} indicator`),w&&s(D,"UNEXPECTED_TOKEN",`Unexpected ${D.source} in ${e!=null?e:"collection"}`),w=D,c=t==="seq-item-ind"||t==="explicit-key-ind",d=!1;break;case"comma":if(e){T&&s(D,"UNEXPECTED_TOKEN",`Unexpected , in ${e}`),T=D,c=!1,d=!1;break}default:s(D,"UNEXPECTED_TOKEN",`Unexpected ${D.type} token`),c=!1,d=!1}let E=r[r.length-1],C=E?E.offset+E.source.length:i;return f&&n&&n.type!=="space"&&n.type!=="newline"&&n.type!=="comma"&&(n.type!=="scalar"||n.source!=="")&&s(n.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),h&&(c&&h.indent<=a||(n==null?void 0:n.type)==="block-map"||(n==null?void 0:n.type)==="block-seq")&&s(h,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:T,found:w,spaceBefore:l,comment:u,hasNewline:m,anchor:g,tag:y,newlineAfterProp:k,end:C,start:S!=null?S:C}}var pS=v(()=>{});function Zu(r){if(!r)return null;switch(r.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(r.source.includes(`
`))return!0;if(r.end){for(let e of r.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of r.items){for(let t of e.start)if(t.type==="newline")return!0;if(e.sep){for(let t of e.sep)if(t.type==="newline")return!0}if(Zu(e.key)||Zu(e.value))return!0}return!1;default:return!0}}var XP=v(()=>{});function mS(r,e,t){if((e==null?void 0:e.type)==="flow-collection"){let n=e.end[0];n.indent===r&&(n.source==="]"||n.source==="}")&&Zu(e)&&t(n,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}var Tj=v(()=>{XP()});function e_(r,e,t){let{uniqueKeys:n}=r.options;if(n===!1)return!1;let i=typeof n=="function"?n:(s,a)=>s===a||ot(s)&&ot(a)&&s.value===a.value;return e.some(s=>i(s.key,t))}var kj=v(()=>{Gt()});function yue({composeNode:r,composeEmptyNode:e},t,n,i,s){var d,u;let a=(d=s==null?void 0:s.nodeClass)!=null?d:mn,o=new a(t.schema);t.atRoot&&(t.atRoot=!1);let l=n.offset,c=null;for(let p of n.items){let{start:m,key:f,sep:h,value:g}=p,y=Ul(m,{indicator:"explicit-key-ind",next:f!=null?f:h==null?void 0:h[0],offset:l,onError:i,parentIndent:n.indent,startOnNewline:!0}),k=!y.found;if(k){if(f&&(f.type==="block-seq"?i(l,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in f&&f.indent!==n.indent&&i(l,"BAD_INDENT",gue)),!y.anchor&&!y.tag&&!h){c=y.end,y.comment&&(o.comment?o.comment+=`
`+y.comment:o.comment=y.comment);continue}(y.newlineAfterProp||Zu(f))&&i(f!=null?f:m[m.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else((u=y.found)==null?void 0:u.indent)!==n.indent&&i(l,"BAD_INDENT",gue);t.atKey=!0;let T=y.end,w=f?r(t,f,y,i):e(t,T,m,null,y,i);t.schema.compat&&mS(n.indent,f,i),t.atKey=!1,e_(t,o.items,w)&&i(T,"DUPLICATE_KEY","Map keys must be unique");let S=Ul(h!=null?h:[],{indicator:"map-value-ind",next:g,offset:w.range[2],onError:i,parentIndent:n.indent,startOnNewline:!f||f.type==="block-scalar"});if(l=S.end,S.found){k&&((g==null?void 0:g.type)==="block-map"&&!S.hasNewline&&i(l,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),t.options.strict&&y.start<S.found.offset-1024&&i(w.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));let E=g?r(t,g,S,i):e(t,l,h,null,S,i);t.schema.compat&&mS(n.indent,g,i),l=E.range[2];let C=new tn(w,E);t.options.keepSourceTokens&&(C.srcToken=p),o.items.push(C)}else{k&&i(w.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),S.comment&&(w.comment?w.comment+=`
`+S.comment:w.comment=S.comment);let E=new tn(w);t.options.keepSourceTokens&&(E.srcToken=p),o.items.push(E)}}return c&&c<l&&i(c,"IMPOSSIBLE","Map comment with trailing content"),o.range=[n.offset,l,c!=null?c:l],o}var gue,vue=v(()=>{Vu();Yu();pS();XP();Tj();kj();gue="All mapping items must start at the same column"});function bue({composeNode:r,composeEmptyNode:e},t,n,i,s){var d;let a=(d=s==null?void 0:s.nodeClass)!=null?d:ui,o=new a(t.schema);t.atRoot&&(t.atRoot=!1),t.atKey&&(t.atKey=!1);let l=n.offset,c=null;for(let{start:u,value:p}of n.items){let m=Ul(u,{indicator:"seq-item-ind",next:p,offset:l,onError:i,parentIndent:n.indent,startOnNewline:!0});if(!m.found)if(m.anchor||m.tag||p)p&&p.type==="block-seq"?i(m.end,"BAD_INDENT","All sequence items must start at the same column"):i(l,"MISSING_CHAR","Sequence item without - indicator");else{c=m.end,m.comment&&(o.comment=m.comment);continue}let f=p?r(t,p,m,i):e(t,m.end,u,null,m,i);t.schema.compat&&mS(n.indent,p,i),l=f.range[2],o.items.push(f)}return o.range=[n.offset,l,c!=null?c:l],o}var Tue=v(()=>{Gu();pS();Tj()});function Vl(r,e,t,n){let i="";if(r){let s=!1,a="";for(let o of r){let{source:l,type:c}=o;switch(c){case"space":s=!0;break;case"comment":{t&&!s&&n(o,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let d=l.substring(1)||" ";i?i+=a+d:i=d,a="";break}case"newline":i&&(a+=l),s=!0;break;default:n(o,"UNEXPECTED_TOKEN",`Unexpected ${c} at node end`)}e+=l.length}}return{comment:i,offset:e}}var Py=v(()=>{});function kue({composeNode:r,composeEmptyNode:e},t,n,i,s){var g,y;let a=n.start.source==="{",o=a?"flow map":"flow sequence",l=(g=s==null?void 0:s.nodeClass)!=null?g:a?mn:ui,c=new l(t.schema);c.flow=!0;let d=t.atRoot;d&&(t.atRoot=!1),t.atKey&&(t.atKey=!1);let u=n.offset+n.start.source.length;for(let k=0;k<n.items.length;++k){let T=n.items[k],{start:w,key:S,sep:E,value:C}=T,D=Ul(w,{flow:o,indicator:"explicit-key-ind",next:S!=null?S:E==null?void 0:E[0],offset:u,onError:i,parentIndent:n.indent,startOnNewline:!1});if(!D.found){if(!D.anchor&&!D.tag&&!E&&!C){k===0&&D.comma?i(D.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${o}`):k<n.items.length-1&&i(D.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${o}`),D.comment&&(c.comment?c.comment+=`
`+D.comment:c.comment=D.comment),u=D.end;continue}!a&&t.options.strict&&Zu(S)&&i(S,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(k===0)D.comma&&i(D.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${o}`);else if(D.comma||i(D.start,"MISSING_CHAR",`Missing , between ${o} items`),D.comment){let A="";e:for(let N of w)switch(N.type){case"comma":case"space":break;case"comment":A=N.source.substring(1);break e;default:break e}if(A){let N=c.items[c.items.length-1];Pt(N)&&(N=(y=N.value)!=null?y:N.key),N.comment?N.comment+=`
`+A:N.comment=A,D.comment=D.comment.substring(A.length+1)}}if(!a&&!E&&!D.found){let A=C?r(t,C,D,i):e(t,D.end,E,null,D,i);c.items.push(A),u=A.range[2],Sj(C)&&i(A.range,"BLOCK_IN_FLOW",wj)}else{t.atKey=!0;let A=D.end,N=S?r(t,S,D,i):e(t,A,w,null,D,i);Sj(S)&&i(N.range,"BLOCK_IN_FLOW",wj),t.atKey=!1;let V=Ul(E!=null?E:[],{flow:o,indicator:"map-value-ind",next:C,offset:N.range[2],onError:i,parentIndent:n.indent,startOnNewline:!1});if(V.found){if(!a&&!D.found&&t.options.strict){if(E)for(let O of E){if(O===V.found)break;if(O.type==="newline"){i(O,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}D.start<V.found.offset-1024&&i(V.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else C&&("source"in C&&C.source&&C.source[0]===":"?i(C,"MISSING_CHAR",`Missing space after : in ${o}`):i(V.start,"MISSING_CHAR",`Missing , or : between ${o} items`));let R=C?r(t,C,V,i):V.found?e(t,V.end,E,null,V,i):null;R?Sj(C)&&i(R.range,"BLOCK_IN_FLOW",wj):V.comment&&(N.comment?N.comment+=`
`+V.comment:N.comment=V.comment);let I=new tn(N,R);if(t.options.keepSourceTokens&&(I.srcToken=T),a){let O=c;e_(t,O.items,N)&&i(A,"DUPLICATE_KEY","Map keys must be unique"),O.items.push(I)}else{let O=new mn(t.schema);O.flow=!0,O.items.push(I);let z=(R!=null?R:N).range;O.range=[N.range[0],z[1],z[2]],c.items.push(O)}u=R?R.range[2]:V.end}}let p=a?"}":"]",[m,...f]=n.end,h=u;if(m&&m.source===p)h=m.offset+m.source.length;else{let k=o[0].toUpperCase()+o.substring(1),T=d?`${k} must end with a ${p}`:`${k} in block collection must be sufficiently indented and end with a ${p}`;i(u,d?"MISSING_CHAR":"BAD_INDENT",T),m&&m.source.length!==1&&f.unshift(m)}if(f.length>0){let k=Vl(f,h,t.options.strict,i);k.comment&&(c.comment?c.comment+=`
`+k.comment:c.comment=k.comment),c.range=[n.offset,h,k.offset]}else c.range=[n.offset,h,h];return c}var wj,Sj,wue=v(()=>{Gt();Vu();Yu();Gu();Py();pS();XP();kj();wj="Block collections are not allowed within flow collections",Sj=r=>r&&(r.type==="block-map"||r.type==="block-seq")});function xj(r,e,t,n,i,s){let a=t.type==="block-map"?yue(r,e,t,n,s):t.type==="block-seq"?bue(r,e,t,n,s):kue(r,e,t,n,s),o=a.constructor;return i==="!"||i===o.tagName?(a.tag=o.tagName,a):(i&&(a.tag=i),a)}function Sue(r,e,t,n,i){var p,m,f;let s=n.tag,a=s?e.directives.tagName(s.source,h=>i(s,"TAG_RESOLVE_FAILED",h)):null;if(t.type==="block-seq"){let{anchor:h,newlineAfterProp:g}=n,y=h&&s?h.offset>s.offset?h:s:h!=null?h:s;y&&(!g||g.offset<y.offset)&&i(y,"MISSING_CHAR","Missing newline after block sequence props")}let o=t.type==="block-map"?"map":t.type==="block-seq"?"seq":t.start.source==="{"?"map":"seq";if(!s||!a||a==="!"||a===mn.tagName&&o==="map"||a===ui.tagName&&o==="seq")return xj(r,e,t,i,a);let l=e.schema.tags.find(h=>h.tag===a&&h.collection===o);if(!l){let h=e.schema.knownTags[a];if(h&&h.collection===o)e.schema.tags.push(Object.assign({},h,{default:!1})),l=h;else return h?i(s,"BAD_COLLECTION_TYPE",`${h.tag} used for ${o} collection, but expects ${(p=h.collection)!=null?p:"scalar"}`,!0):i(s,"TAG_RESOLVE_FAILED",`Unresolved tag: ${a}`,!0),xj(r,e,t,i,a)}let c=xj(r,e,t,i,a,l),d=(f=(m=l.resolve)==null?void 0:m.call(l,c,h=>i(s,"TAG_RESOLVE_FAILED",h),e.options))!=null?f:c,u=Rt(d)?d:new we(d);return u.range=c.range,u.tag=a,l!=null&&l.format&&(u.format=l.format),u}var xue=v(()=>{Gt();_n();Yu();Gu();vue();Tue();wue()});function t_(r,e,t){let n=e.offset,i=SHe(e,r.options.strict,t);if(!i)return{value:"",type:null,comment:"",range:[n,n,n]};let s=i.mode===">"?we.BLOCK_FOLDED:we.BLOCK_LITERAL,a=e.source?xHe(e.source):[],o=a.length;for(let h=a.length-1;h>=0;--h){let g=a[h][1];if(g===""||g==="\r")o=h;else break}if(o===0){let h=i.chomp==="+"&&a.length>0?`
`.repeat(Math.max(1,a.length-1)):"",g=n+i.length;return e.source&&(g+=e.source.length),{value:h,type:s,comment:i.comment,range:[n,g,g]}}let l=e.indent+i.indent,c=e.offset+i.length,d=0;for(let h=0;h<o;++h){let[g,y]=a[h];if(y===""||y==="\r")i.indent===0&&g.length>l&&(l=g.length);else{g.length<l&&t(c+g.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator"),i.indent===0&&(l=g.length),d=h,l===0&&!r.atRoot&&t(c,"BAD_INDENT","Block scalar values in collections must be indented");break}c+=g.length+y.length+1}for(let h=a.length-1;h>=o;--h)a[h][0].length>l&&(o=h+1);let u="",p="",m=!1;for(let h=0;h<d;++h)u+=a[h][0].slice(l)+`
`;for(let h=d;h<o;++h){let[g,y]=a[h];c+=g.length+y.length+1;let k=y[y.length-1]==="\r";if(k&&(y=y.slice(0,-1)),y&&g.length<l){let w=`Block scalar lines must not be less indented than their ${i.indent?"explicit indentation indicator":"first line"}`;t(c-y.length-(k?2:1),"BAD_INDENT",w),g=""}s===we.BLOCK_LITERAL?(u+=p+g.slice(l)+y,p=`
`):g.length>l||y[0]===" "?(p===" "?p=`
`:!m&&p===`
`&&(p=`
`),u+=p+g.slice(l)+y,p=`
`,m=!0):y===""?p===`
`?u+=`
`:p=`
`:(u+=p+y,p=" ",m=!1)}switch(i.chomp){case"-":break;case"+":for(let h=o;h<a.length;++h)u+=`
`+a[h][0].slice(l);u[u.length-1]!==`
`&&(u+=`
`);break;default:u+=`
`}let f=n+i.length+e.source.length;return{value:u,type:s,comment:i.comment,range:[n,f,f]}}function SHe({offset:r,props:e},t,n){if(e[0].type!=="block-scalar-header")return n(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:i}=e[0],s=i[0],a=0,o="",l=-1;for(let p=1;p<i.length;++p){let m=i[p];if(!o&&(m==="-"||m==="+"))o=m;else{let f=Number(m);!a&&f?a=f:l===-1&&(l=r+p)}}l!==-1&&n(l,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${i}`);let c=!1,d="",u=i.length;for(let p=1;p<e.length;++p){let m=e[p];switch(m.type){case"space":c=!0;case"newline":u+=m.source.length;break;case"comment":t&&!c&&n(m,"MISSING_CHAR","Comments must be separated from other tokens by white space characters"),u+=m.source.length,d=m.source.substring(1);break;case"error":n(m,"UNEXPECTED_TOKEN",m.message),u+=m.source.length;break;default:{let f=`Unexpected token in block scalar header: ${m.type}`;n(m,"UNEXPECTED_TOKEN",f);let h=m.source;h&&typeof h=="string"&&(u+=h.length)}}}return{mode:s,indent:a,chomp:o,comment:d,length:u}}function xHe(r){let e=r.split(/\n( *)/),t=e[0],n=t.match(/^( *)/),s=[n!=null&&n[1]?[n[1],t.slice(n[1].length)]:["",t]];for(let a=1;a<e.length;a+=2)s.push([e[a],e[a+1]]);return s}var Ej=v(()=>{_n()});function r_(r,e,t){let{offset:n,type:i,source:s,end:a}=r,o,l,c=(p,m,f)=>t(n+p,m,f);switch(i){case"scalar":o=we.PLAIN,l=EHe(s,c);break;case"single-quoted-scalar":o=we.QUOTE_SINGLE,l=DHe(s,c);break;case"double-quoted-scalar":o=we.QUOTE_DOUBLE,l=CHe(s,c);break;default:return t(r,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${i}`),{value:"",type:null,comment:"",range:[n,n+s.length,n+s.length]}}let d=n+s.length,u=Vl(a,d,e,t);return{value:l,type:o,comment:u.comment,range:[n,d,u.offset]}}function EHe(r,e){let t="";switch(r[0]){case" ":t="a tab character";break;case",":t="flow indicator character ,";break;case"%":t="directive indicator character %";break;case"|":case">":{t=`block scalar indicator ${r[0]}`;break}case"@":case"`":{t=`reserved character ${r[0]}`;break}}return t&&e(0,"BAD_SCALAR_START",`Plain value cannot start with ${t}`),Eue(r)}function DHe(r,e){return(r[r.length-1]!=="'"||r.length===1)&&e(r.length,"MISSING_CHAR","Missing closing 'quote"),Eue(r.slice(1,-1)).replace(/''/g,"'")}function Eue(r){var l;let e,t;try{e=new RegExp(`(.*?)(?<![ ])[ ]*\r?
`,"sy"),t=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
`,"sy")}catch(c){e=/(.*?)[ \t]*\r?\n/sy,t=/[ \t]*(.*?)[ \t]*\r?\n/sy}let n=e.exec(r);if(!n)return r;let i=n[1],s=" ",a=e.lastIndex;for(t.lastIndex=a;n=t.exec(r);)n[1]===""?s===`
`?i+=s:s=`
`:(i+=s+n[1],s=" "),a=t.lastIndex;let o=/[ \t]*(.*)/sy;return o.lastIndex=a,n=o.exec(r),i+s+((l=n==null?void 0:n[1])!=null?l:"")}function CHe(r,e){let t="";for(let n=1;n<r.length-1;++n){let i=r[n];if(!(i==="\r"&&r[n+1]===`
`))if(i===`
`){let{fold:s,offset:a}=PHe(r,n);t+=s,n=a}else if(i==="\\"){let s=r[++n],a=_He[s];if(a)t+=a;else if(s===`
`)for(s=r[n+1];s===" "||s===" ";)s=r[++n+1];else if(s==="\r"&&r[n+1]===`
`)for(s=r[++n+1];s===" "||s===" ";)s=r[++n+1];else if(s==="x"||s==="u"||s==="U"){let o={x:2,u:4,U:8}[s];t+=MHe(r,n+1,o,e),n+=o}else{let o=r.substr(n-1,2);e(n-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${o}`),t+=o}}else if(i===" "||i===" "){let s=n,a=r[n+1];for(;a===" "||a===" ";)a=r[++n+1];a!==`
`&&!(a==="\r"&&r[n+2]===`
`)&&(t+=n>s?r.slice(s,n+1):i)}else t+=i}return(r[r.length-1]!=='"'||r.length===1)&&e(r.length,"MISSING_CHAR",'Missing closing "quote'),t}function PHe(r,e){let t="",n=r[e+1];for(;(n===" "||n===" "||n===`
`||n==="\r")&&!(n==="\r"&&r[e+2]!==`
`);)n===`
`&&(t+=`
`),e+=1,n=r[e+1];return t||(t=" "),{fold:t,offset:e}}function MHe(r,e,t,n){let i=r.substr(e,t),a=i.length===t&&/^[0-9a-fA-F]+$/.test(i)?parseInt(i,16):NaN;if(isNaN(a)){let o=r.substr(e-2,t+2);return n(e-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${o}`),o}return String.fromCodePoint(a)}var _He,Dj=v(()=>{_n();Py();_He={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
`,r:"\r",t:" ",v:"\v",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "}});function Cj(r,e,t,n){let{value:i,type:s,comment:a,range:o}=e.type==="block-scalar"?t_(r,e,n):r_(e,r.options.strict,n),l=t?r.directives.tagName(t.source,u=>n(t,"TAG_RESOLVE_FAILED",u)):null,c;r.options.stringKeys&&r.atKey?c=r.schema[ba]:l?c=AHe(r.schema,i,l,t,n):e.type==="scalar"?c=IHe(r,i,e,n):c=r.schema[ba];let d;try{let u=c.resolve(i,p=>n(t!=null?t:e,"TAG_RESOLVE_FAILED",p),r.options);d=ot(u)?u:new we(u)}catch(u){let p=u instanceof Error?u.message:String(u);n(t!=null?t:e,"TAG_RESOLVE_FAILED",p),d=new we(i)}return d.range=o,d.source=i,s&&(d.type=s),l&&(d.tag=l),c.format&&(d.format=c.format),a&&(d.comment=a),d}function AHe(r,e,t,n,i){var o;if(t==="!")return r[ba];let s=[];for(let l of r.tags)if(!l.collection&&l.tag===t)if(l.default&&l.test)s.push(l);else return l;for(let l of s)if((o=l.test)!=null&&o.test(e))return l;let a=r.knownTags[t];return a&&!a.collection?(r.tags.push(Object.assign({},a,{default:!1,test:void 0})),a):(i(n,"TAG_RESOLVE_FAILED",`Unresolved tag: ${t}`,t!=="tag:yaml.org,2002:str"),r[ba])}function IHe({atKey:r,directives:e,schema:t},n,i,s){var o;let a=t.tags.find(l=>{var c;return(l.default===!0||r&&l.default==="key")&&((c=l.test)==null?void 0:c.test(n))})||t[ba];if(t.compat){let l=(o=t.compat.find(c=>{var d;return c.default&&((d=c.test)==null?void 0:d.test(n))}))!=null?o:t[ba];if(a.tag!==l.tag){let c=e.tagString(a.tag),d=e.tagString(l.tag),u=`Value may be parsed as either ${c} or ${d}`;s(i,"TAG_RESOLVE_FAILED",u,!0)}}return a}var Due=v(()=>{Gt();_n();Ej();Dj()});function Cue(r,e,t){if(e){t!=null||(t=e.length);for(let n=t-1;n>=0;--n){let i=e[n];switch(i.type){case"space":case"comment":case"newline":r-=i.source.length;continue}for(i=e[++n];(i==null?void 0:i.type)==="space";)r+=i.source.length,i=e[++n];break}}return r}var Pue=v(()=>{});function Pj(r,e,t,n){let i=r.atKey,{spaceBefore:s,comment:a,anchor:o,tag:l}=t,c,d=!0;switch(e.type){case"alias":c=RHe(r,e,n),(o||l)&&n(e,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":c=Cj(r,e,l,n),o&&(c.anchor=o.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":c=Sue(NHe,r,e,t,n),o&&(c.anchor=o.source.substring(1));break;default:{let u=e.type==="error"?e.message:`Unsupported token (type: ${e.type})`;n(e,"UNEXPECTED_TOKEN",u),c=n_(r,e.offset,void 0,null,t,n),d=!1}}return o&&c.anchor===""&&n(o,"BAD_ALIAS","Anchor cannot be an empty string"),i&&r.options.stringKeys&&(!ot(c)||typeof c.value!="string"||c.tag&&c.tag!=="tag:yaml.org,2002:str")&&n(l!=null?l:e,"NON_STRING_KEY","With stringKeys, all keys must be strings"),s&&(c.spaceBefore=!0),a&&(e.type==="scalar"&&e.source===""?c.comment=a:c.commentBefore=a),r.options.keepSourceTokens&&d&&(c.srcToken=e),c}function n_(r,e,t,n,{spaceBefore:i,comment:s,anchor:a,tag:o,end:l},c){let d={type:"scalar",offset:Cue(e,t,n),indent:-1,source:""},u=Cj(r,d,o,c);return a&&(u.anchor=a.source.substring(1),u.anchor===""&&c(a,"BAD_ALIAS","Anchor cannot be an empty string")),i&&(u.spaceBefore=!0),s&&(u.comment=s,u.range[2]=l),u}function RHe({options:r},{offset:e,source:t,end:n},i){let s=new Bl(t.substring(1));s.source===""&&i(e,"BAD_ALIAS","Alias cannot be an empty string"),s.source.endsWith(":")&&i(e+t.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let a=e+t.length,o=Vl(n,a,r.strict,i);return s.range=[e,a,o.offset],o.comment&&(s.comment=o.comment),s}var NHe,_ue=v(()=>{Yw();Gt();xue();Due();Py();Pue();NHe={composeNode:Pj,composeEmptyNode:n_}});function Mue(r,e,{offset:t,start:n,value:i,end:s},a){let o=Object.assign({_directives:e},r),l=new Hl(void 0,o),c={atKey:!1,atRoot:!0,directives:l.directives,options:l.options,schema:l.schema},d=Ul(n,{indicator:"doc-start",next:i!=null?i:s==null?void 0:s[0],offset:t,onError:a,parentIndent:0,startOnNewline:!0});d.found&&(l.directives.docStart=!0,i&&(i.type==="block-map"||i.type==="block-seq")&&!d.hasNewline&&a(d.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),l.contents=i?Pj(c,i,d,a):n_(c,d.end,n,null,d,a);let u=l.contents.range[2],p=Vl(s,u,!1,a);return p.comment&&(l.comment=p.comment),l.range=[t,u,p.offset],l}var Aue=v(()=>{cS();_ue();Py();pS()});function fS(r){if(typeof r=="number")return[r,r+1];if(Array.isArray(r))return r.length===2?r:[r[0],r[1]];let{offset:e,source:t}=r;return[e,e+(typeof t=="string"?t.length:1)]}function Iue(r){var i;let e="",t=!1,n=!1;for(let s=0;s<r.length;++s){let a=r[s];switch(a[0]){case"#":e+=(e===""?"":n?`
`:`
`)+(a.substring(1)||" "),t=!0,n=!1;break;case"%":((i=r[s+1])==null?void 0:i[0])!=="#"&&(s+=1),t=!1;break;default:t||(n=!0),t=!1}}return{comment:e,afterEmptyLine:n}}var lf,_j=v(()=>{W$();cS();uS();Gt();Aue();Py();lf=class{constructor(e={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(t,n,i,s)=>{let a=fS(t);s?this.warnings.push(new Cy(a,n,i)):this.errors.push(new ka(a,n,i))},this.directives=new zl({version:e.version||"1.2"}),this.options=e}decorate(e,t){let{comment:n,afterEmptyLine:i}=Iue(this.prelude);if(n){let s=e.contents;if(t)e.comment=e.comment?`${e.comment}
${n}`:n;else if(i||e.directives.docStart||!s)e.commentBefore=n;else if(sr(s)&&!s.flow&&s.items.length>0){let a=s.items[0];Pt(a)&&(a=a.key);let o=a.commentBefore;a.commentBefore=o?`${n}
${o}`:n}else{let a=s.commentBefore;s.commentBefore=a?`${n}
${a}`:n}}t?(Array.prototype.push.apply(e.errors,this.errors),Array.prototype.push.apply(e.warnings,this.warnings)):(e.errors=this.errors,e.warnings=this.warnings),this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:Iue(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(e,t=!1,n=-1){for(let i of e)yield*this.next(i);yield*this.end(t,n)}*next(e){switch(e.type){case"directive":this.directives.add(e.source,(t,n,i)=>{let s=fS(e);s[0]+=t,this.onError(s,"BAD_DIRECTIVE",n,i)}),this.prelude.push(e.source),this.atDirectives=!0;break;case"document":{let t=Mue(this.options,this.directives,e,this.onError);this.atDirectives&&!t.directives.docStart&&this.onError(e,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(t,!1),this.doc&&(yield this.doc),this.doc=t,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(e.source);break;case"error":{let t=e.source?`${e.message}: ${JSON.stringify(e.source)}`:e.message,n=new ka(fS(e),"UNEXPECTED_TOKEN",t);this.atDirectives||!this.doc?this.errors.push(n):this.doc.errors.push(n);break}case"doc-end":{if(!this.doc){let n="Unexpected doc-end without preceding document";this.errors.push(new ka(fS(e),"UNEXPECTED_TOKEN",n));break}this.doc.directives.docEnd=!0;let t=Vl(e.end,e.offset+e.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),t.comment){let n=this.doc.comment;this.doc.comment=n?`${n}
${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new ka(fS(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,t=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(e){let n=Object.assign({_directives:this.directives},this.options),i=new Hl(void 0,n);this.atDirectives&&this.onError(t,"MISSING_CHAR","Missing directives-end indicator line"),i.range=[0,t,t],this.decorate(i,!1),yield i}}}});function Nue(r,e=!0,t){if(r){let n=(i,s,a)=>{let o=typeof i=="number"?i:Array.isArray(i)?i[0]:i.offset;if(t)t(o,s,a);else throw new ka([o,o+1],s,a)};switch(r.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return r_(r,e,n);case"block-scalar":return t_({options:{strict:e}},r,n)}}return null}function Rue(r,e){var c;let{implicitKey:t=!1,indent:n,inFlow:i=!1,offset:s=-1,type:a="PLAIN"}=e,o=bd({type:a,value:r},{implicitKey:t,indent:n>0?" ".repeat(n):"",inFlow:i,options:{blockQuote:!0,lineWidth:-1}}),l=(c=e.end)!=null?c:[{type:"newline",offset:-1,indent:n,source:`
`}];switch(o[0]){case"|":case">":{let d=o.indexOf(`
`),u=o.substring(0,d),p=o.substring(d+1)+`
`,m=[{type:"block-scalar-header",offset:s,indent:n,source:u}];return Lue(m,l)||m.push({type:"newline",offset:-1,indent:n,source:`
`}),{type:"block-scalar",offset:s,indent:n,props:m,source:p}}case'"':return{type:"double-quoted-scalar",offset:s,indent:n,source:o,end:l};case"'":return{type:"single-quoted-scalar",offset:s,indent:n,source:o,end:l};default:return{type:"scalar",offset:s,indent:n,source:o,end:l}}}function Oue(r,e,t={}){let{afterKey:n=!1,implicitKey:i=!1,inFlow:s=!1,type:a}=t,o="indent"in r?r.indent:null;if(n&&typeof o=="number"&&(o+=2),!a)switch(r.type){case"single-quoted-scalar":a="QUOTE_SINGLE";break;case"double-quoted-scalar":a="QUOTE_DOUBLE";break;case"block-scalar":{let c=r.props[0];if(c.type!=="block-scalar-header")throw new Error("Invalid block scalar header");a=c.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:a="PLAIN"}let l=bd({type:a,value:e},{implicitKey:i||o===null,indent:o!==null&&o>0?" ".repeat(o):"",inFlow:s,options:{blockQuote:!0,lineWidth:-1}});switch(l[0]){case"|":case">":OHe(r,l);break;case'"':Mj(r,l,"double-quoted-scalar");break;case"'":Mj(r,l,"single-quoted-scalar");break;default:Mj(r,l,"scalar")}}function OHe(r,e){let t=e.indexOf(`
`),n=e.substring(0,t),i=e.substring(t+1)+`
`;if(r.type==="block-scalar"){let s=r.props[0];if(s.type!=="block-scalar-header")throw new Error("Invalid block scalar header");s.source=n,r.source=i}else{let{offset:s}=r,a="indent"in r?r.indent:-1,o=[{type:"block-scalar-header",offset:s,indent:a,source:n}];Lue(o,"end"in r?r.end:void 0)||o.push({type:"newline",offset:-1,indent:a,source:`
`});for(let l of Object.keys(r))l!=="type"&&l!=="offset"&&delete r[l];Object.assign(r,{type:"block-scalar",indent:a,props:o,source:i})}}function Lue(r,e){if(e)for(let t of e)switch(t.type){case"space":case"comment":r.push(t);break;case"newline":return r.push(t),!0}return!1}function Mj(r,e,t){switch(r.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":r.type=t,r.source=e;break;case"block-scalar":{let n=r.props.slice(1),i=e.length;r.props[0].type==="block-scalar-header"&&(i-=r.props[0].source.length);for(let s of n)s.offset+=i;delete r.props,Object.assign(r,{type:t,source:e,end:n});break}case"block-map":case"block-seq":{let i={type:"newline",offset:r.offset+e.length,indent:r.indent,source:`
`};delete r.items,Object.assign(r,{type:t,source:e,end:[i]});break}default:{let n="indent"in r?r.indent:-1,i="end"in r&&Array.isArray(r.end)?r.end.filter(s=>s.type==="space"||s.type==="comment"||s.type==="newline"):[];for(let s of Object.keys(r))s!=="type"&&s!=="offset"&&delete r[s];Object.assign(r,{type:t,indent:n,source:e,end:i})}}}var Fue=v(()=>{Ej();Dj();uS();eS()});function s_(r){switch(r.type){case"block-scalar":{let e="";for(let t of r.props)e+=s_(t);return e+r.source}case"block-map":case"block-seq":{let e="";for(let t of r.items)e+=i_(t);return e}case"flow-collection":{let e=r.start.source;for(let t of r.items)e+=i_(t);for(let t of r.end)e+=t.source;return e}case"document":{let e=i_(r);if(r.end)for(let t of r.end)e+=t.source;return e}default:{let e=r.source;if("end"in r&&r.end)for(let t of r.end)e+=t.source;return e}}}function i_({start:r,key:e,sep:t,value:n}){let i="";for(let s of r)i+=s.source;if(e&&(i+=s_(e)),t)for(let s of t)i+=s.source;return n&&(i+=s_(n)),i}var $ue,jue=v(()=>{$ue=r=>"type"in r?s_(r):i_(r)});function Qu(r,e){"type"in r&&r.type==="document"&&(r={start:r.start,value:r.value}),Bue(Object.freeze([]),r,e)}function Bue(r,e,t){let n=t(e,r);if(typeof n=="symbol")return n;for(let i of["key","value"]){let s=e[i];if(s&&"items"in s){for(let a=0;a<s.items.length;++a){let o=Bue(Object.freeze(r.concat([[i,a]])),s.items[a],t);if(typeof o=="number")a=o-1;else{if(o===Aj)return Aj;o===zue&&(s.items.splice(a,1),a-=1)}}typeof n=="function"&&i==="key"&&(n=n(e,r))}}return typeof n=="function"?n(e,r):n}var Aj,LHe,zue,que=v(()=>{Aj=Symbol("break visit"),LHe=Symbol("skip children"),zue=Symbol("remove item");Qu.BREAK=Aj;Qu.SKIP=LHe;Qu.REMOVE=zue;Qu.itemAtPath=(r,e)=>{let t=r;for(let[n,i]of e){let s=t==null?void 0:t[n];if(s&&"items"in s)t=s.items[i];else return}return t};Qu.parentCollection=(r,e)=>{let t=Qu.itemAtPath(r,e.slice(0,-1)),n=e[e.length-1][0],i=t==null?void 0:t[n];if(i&&"items"in i)return i;throw new Error("Parent collection not found")}});var Nj={};et(Nj,{BOM:()=>hS,DOCUMENT:()=>gS,FLOW_END:()=>yS,SCALAR:()=>_y,createScalarToken:()=>Rue,isCollection:()=>FHe,isScalar:()=>$He,prettyToken:()=>jHe,resolveAsScalar:()=>Nue,setScalarValue:()=>Oue,stringify:()=>$ue,tokenType:()=>Ij,visit:()=>Qu});function jHe(r){switch(r){case hS:return"<BOM>";case gS:return"<DOC>";case yS:return"<FLOW_END>";case _y:return"<SCALAR>";default:return JSON.stringify(r)}}function Ij(r){switch(r){case hS:return"byte-order-mark";case gS:return"doc-mode";case yS:return"flow-error-end";case _y:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
`:case`\r
`:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(r[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}var hS,gS,yS,_y,FHe,$He,a_=v(()=>{Fue();jue();que();hS="\uFEFF",gS="",yS="",_y="",FHe=r=>!!r&&"items"in r,$He=r=>!!r&&(r.type==="scalar"||r.type==="single-quoted-scalar"||r.type==="double-quoted-scalar"||r.type==="block-scalar")});function Xo(r){switch(r){case void 0:case" ":case`
`:case"\r":case" ":return!0;default:return!1}}var Hue,zHe,o_,BHe,Rj,My,Oj=v(()=>{a_();Hue=new Set("0123456789ABCDEFabcdef"),zHe=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),o_=new Set(",[]{}"),BHe=new Set(` ,[]{}
\r `),Rj=r=>!r||BHe.has(r),My=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(e,t=!1){var i;if(e){if(typeof e!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+e:e,this.lineEndPos=null}this.atEnd=!t;let n=(i=this.next)!=null?i:"stream";for(;n&&(t||this.hasChars(1));)n=yield*this.parseNext(n)}atLineEnd(){let e=this.pos,t=this.buffer[e];for(;t===" "||t===" ";)t=this.buffer[++e];return!t||t==="#"||t===`
`?!0:t==="\r"?this.buffer[e+1]===`
`:!1}charAt(e){return this.buffer[this.pos+e]}continueScalar(e){let t=this.buffer[e];if(this.indentNext>0){let n=0;for(;t===" ";)t=this.buffer[++n+e];if(t==="\r"){let i=this.buffer[n+e+1];if(i===`
`||!i&&!this.atEnd)return e+n+1}return t===`
`||n>=this.indentNext||!t&&!this.atEnd?e+n:-1}if(t==="-"||t==="."){let n=this.buffer.substr(e,3);if((n==="---"||n==="...")&&Xo(this.buffer[e+3]))return-1}return e}getLine(){let e=this.lineEndPos;return(typeof e!="number"||e!==-1&&e<this.pos)&&(e=this.buffer.indexOf(`
`,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=e,null}peek(e){return this.buffer.substr(this.pos,e)}*parseNext(e){switch(e){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let e=this.getLine();if(e===null)return this.setNext("stream");if(e[0]===hS&&(yield*this.pushCount(1),e=e.substring(1)),e[0]==="%"){let t=e.length,n=e.indexOf("#");for(;n!==-1;){let s=e[n-1];if(s===" "||s===" "){t=n-1;break}else n=e.indexOf("#",n+1)}for(;;){let s=e[t-1];if(s===" "||s===" ")t-=1;else break}let i=(yield*this.pushCount(t))+(yield*this.pushSpaces(!0));return yield*this.pushCount(e.length-i),this.pushNewline(),"stream"}if(this.atLineEnd()){let t=yield*this.pushSpaces(!0);return yield*this.pushCount(e.length-t),yield*this.pushNewline(),"stream"}return yield gS,yield*this.parseLineStart()}*parseLineStart(){let e=this.charAt(0);if(!e&&!this.atEnd)return this.setNext("line-start");if(e==="-"||e==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let t=this.peek(3);if((t==="---"||t==="...")&&Xo(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,t==="---"?"doc":"stream"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!Xo(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[e,t]=this.peek(2);if(!t&&!this.atEnd)return this.setNext("block-start");if((e==="-"||e==="?"||e===":")&&Xo(t)){let n=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=n,yield*this.parseBlockStart()}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let e=this.getLine();if(e===null)return this.setNext("doc");let t=yield*this.pushIndicators();switch(e[t]){case"#":yield*this.pushCount(e.length-t);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(Rj),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return t+=yield*this.parseBlockScalarHeader(),t+=yield*this.pushSpaces(!0),yield*this.pushCount(e.length-t),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let e,t,n=-1;do e=yield*this.pushNewline(),e>0?(t=yield*this.pushSpaces(!1),this.indentValue=n=t):t=0,t+=yield*this.pushSpaces(!0);while(e+t>0);let i=this.getLine();if(i===null)return this.setNext("flow");if((n!==-1&&n<this.indentNext&&i[0]!=="#"||n===0&&(i.startsWith("---")||i.startsWith("..."))&&Xo(i[3]))&&!(n===this.indentNext-1&&this.flowLevel===1&&(i[0]==="]"||i[0]==="}")))return this.flowLevel=0,yield yS,yield*this.parseLineStart();let s=0;for(;i[s]===",";)s+=yield*this.pushCount(1),s+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(s+=yield*this.pushIndicators(),i[s]){case void 0:return"flow";case"#":return yield*this.pushCount(i.length-s),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(Rj),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let a=this.charAt(1);if(this.flowKey||Xo(a)||a===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let e=this.charAt(0),t=this.buffer.indexOf(e,this.pos+1);if(e==="'")for(;t!==-1&&this.buffer[t+1]==="'";)t=this.buffer.indexOf("'",t+2);else for(;t!==-1;){let s=0;for(;this.buffer[t-1-s]==="\\";)s+=1;if(s%2===0)break;t=this.buffer.indexOf('"',t+1)}let n=this.buffer.substring(0,t),i=n.indexOf(`
`,this.pos);if(i!==-1){for(;i!==-1;){let s=this.continueScalar(i+1);if(s===-1)break;i=n.indexOf(`
`,s)}i!==-1&&(t=i-(n[i-1]==="\r"?2:1))}if(t===-1){if(!this.atEnd)return this.setNext("quoted-scalar");t=this.buffer.length}return yield*this.pushToIndex(t+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let e=this.pos;for(;;){let t=this.buffer[++e];if(t==="+")this.blockScalarKeep=!0;else if(t>"0"&&t<="9")this.blockScalarIndent=Number(t)-1;else if(t!=="-")break}return yield*this.pushUntil(t=>Xo(t)||t==="#")}*parseBlockScalar(){let e=this.pos-1,t=0,n;e:for(let s=this.pos;n=this.buffer[s];++s)switch(n){case" ":t+=1;break;case`
`:e=s,t=0;break;case"\r":{let a=this.buffer[s+1];if(!a&&!this.atEnd)return this.setNext("block-scalar");if(a===`
`)break}default:break e}if(!n&&!this.atEnd)return this.setNext("block-scalar");if(t>=this.indentNext){this.blockScalarIndent===-1?this.indentNext=t:this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let s=this.continueScalar(e+1);if(s===-1)break;e=this.buffer.indexOf(`
`,s)}while(e!==-1);if(e===-1){if(!this.atEnd)return this.setNext("block-scalar");e=this.buffer.length}}let i=e+1;for(n=this.buffer[i];n===" ";)n=this.buffer[++i];if(n===" "){for(;n===" "||n===" "||n==="\r"||n===`
`;)n=this.buffer[++i];e=i-1}else if(!this.blockScalarKeep)do{let s=e-1,a=this.buffer[s];a==="\r"&&(a=this.buffer[--s]);let o=s;for(;a===" ";)a=this.buffer[--s];if(a===`
`&&s>=this.pos&&s+1+t>o)e=s;else break}while(!0);return yield _y,yield*this.pushToIndex(e+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let e=this.flowLevel>0,t=this.pos-1,n=this.pos-1,i;for(;i=this.buffer[++n];)if(i===":"){let s=this.buffer[n+1];if(Xo(s)||e&&o_.has(s))break;t=n}else if(Xo(i)){let s=this.buffer[n+1];if(i==="\r"&&(s===`
`?(n+=1,i=`
`,s=this.buffer[n+1]):t=n),s==="#"||e&&o_.has(s))break;if(i===`
`){let a=this.continueScalar(n+1);if(a===-1)break;n=Math.max(n,a-2)}}else{if(e&&o_.has(i))break;t=n}return!i&&!this.atEnd?this.setNext("plain-scalar"):(yield _y,yield*this.pushToIndex(t+1,!0),e?"flow":"doc")}*pushCount(e){return e>0?(yield this.buffer.substr(this.pos,e),this.pos+=e,e):0}*pushToIndex(e,t){let n=this.buffer.slice(this.pos,e);return n?(yield n,this.pos+=n.length,n.length):(t&&(yield""),0)}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*this.pushTag())+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"&":return(yield*this.pushUntil(Rj))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{let e=this.flowLevel>0,t=this.charAt(1);if(Xo(t)||e&&o_.has(t))return e?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,(yield*this.pushCount(1))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators())}}return 0}*pushTag(){if(this.charAt(1)==="<"){let e=this.pos+2,t=this.buffer[e];for(;!Xo(t)&&t!==">";)t=this.buffer[++e];return yield*this.pushToIndex(t===">"?e+1:e,!1)}else{let e=this.pos+1,t=this.buffer[e];for(;t;)if(zHe.has(t))t=this.buffer[++e];else if(t==="%"&&Hue.has(this.buffer[e+1])&&Hue.has(this.buffer[e+2]))t=this.buffer[e+=3];else break;return yield*this.pushToIndex(e,!1)}}*pushNewline(){let e=this.buffer[this.pos];return e===`
`?yield*this.pushCount(1):e==="\r"&&this.charAt(1)===`
`?yield*this.pushCount(2):0}*pushSpaces(e){let t=this.pos-1,n;do n=this.buffer[++t];while(n===" "||e&&n===" ");let i=t-this.pos;return i>0&&(yield this.buffer.substr(this.pos,i),this.pos=t),i}*pushUntil(e){let t=this.pos,n=this.buffer[t];for(;!e(n);)n=this.buffer[++t];return yield*this.pushToIndex(t,!1)}}});var Ay,Lj=v(()=>{Ay=class{constructor(){this.lineStarts=[],this.addNewLine=e=>this.lineStarts.push(e),this.linePos=e=>{let t=0,n=this.lineStarts.length;for(;t<n;){let s=t+n>>1;this.lineStarts[s]<e?t=s+1:n=s}if(this.lineStarts[t]===e)return{line:t+1,col:1};if(t===0)return{line:0,col:e};let i=this.lineStarts[t-1];return{line:t,col:e-i+1}}}}});function Ju(r,e){for(let t=0;t<r.length;++t)if(r[t].type===e)return!0;return!1}function Uue(r){for(let e=0;e<r.length;++e)switch(r[e].type){case"space":case"comment":case"newline":break;default:return e}return-1}function Wue(r){switch(r==null?void 0:r.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function l_(r){var e;switch(r.type){case"document":return r.start;case"block-map":{let t=r.items[r.items.length-1];return(e=t.sep)!=null?e:t.start}case"block-seq":return r.items[r.items.length-1].start;default:return[]}}function Iy(r){var t;if(r.length===0)return[];let e=r.length;e:for(;--e>=0;)switch(r[e].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;((t=r[++e])==null?void 0:t.type)==="space";);return r.splice(e,r.length)}function Vue(r){if(r.start.type==="flow-seq-start")for(let e of r.items)e.sep&&!e.value&&!Ju(e.start,"explicit-key-ind")&&!Ju(e.sep,"map-value-ind")&&(e.key&&(e.value=e.key),delete e.key,Wue(e.value)?e.value.end?Array.prototype.push.apply(e.value.end,e.sep):e.value.end=e.sep:Array.prototype.push.apply(e.start,e.sep),delete e.sep)}var cf,Fj=v(()=>{a_();Oj();cf=class{constructor(e){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new My,this.onNewLine=e}*parse(e,t=!1){this.onNewLine&&this.offset===0&&this.onNewLine(0);for(let n of this.lexer.lex(e,t))yield*this.next(n);t||(yield*this.end())}*next(e){if(this.source=e,this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=e.length;return}let t=Ij(e);if(t)if(t==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=t,yield*this.step(),t){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+e.length);break;case"space":this.atNewLine&&e[0]===" "&&(this.indent+=e.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=e.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=e.length}else{let n=`Not a YAML token: ${e}`;yield*this.pop({type:"error",offset:this.offset,message:n,source:e}),this.offset+=e.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let e=this.peek(1);if(this.type==="doc-end"&&(!e||e.type!=="doc-end")){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!e)return yield*this.stream();switch(e.type){case"document":return yield*this.document(e);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(e);case"block-scalar":return yield*this.blockScalar(e);case"block-map":return yield*this.blockMap(e);case"block-seq":return yield*this.blockSequence(e);case"flow-collection":return yield*this.flowCollection(e);case"doc-end":return yield*this.documentEnd(e)}yield*this.pop()}peek(e){return this.stack[this.stack.length-e]}*pop(e){let t=e!=null?e:this.stack.pop();if(!t)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield t;else{let n=this.peek(1);switch(t.type==="block-scalar"?t.indent="indent"in n?n.indent:0:t.type==="flow-collection"&&n.type==="document"&&(t.indent=0),t.type==="flow-collection"&&Vue(t),n.type){case"document":n.value=t;break;case"block-scalar":n.props.push(t);break;case"block-map":{let i=n.items[n.items.length-1];if(i.value){n.items.push({start:[],key:t,sep:[]}),this.onKeyLine=!0;return}else if(i.sep)i.value=t;else{Object.assign(i,{key:t,sep:[]}),this.onKeyLine=!i.explicitKey;return}break}case"block-seq":{let i=n.items[n.items.length-1];i.value?n.items.push({start:[],value:t}):i.value=t;break}case"flow-collection":{let i=n.items[n.items.length-1];!i||i.value?n.items.push({start:[],key:t,sep:[]}):i.sep?i.value=t:Object.assign(i,{key:t,sep:[]});return}default:yield*this.pop(),yield*this.pop(t)}if((n.type==="document"||n.type==="block-map"||n.type==="block-seq")&&(t.type==="block-map"||t.type==="block-seq")){let i=t.items[t.items.length-1];i&&!i.sep&&!i.value&&i.start.length>0&&Uue(i.start)===-1&&(t.indent===0||i.start.every(s=>s.type!=="comment"||s.indent<t.indent))&&(n.type==="document"?n.end=i.start:n.items.push({start:i.start}),t.items.splice(-1,1))}}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{let e={type:"document",offset:this.offset,start:[]};this.type==="doc-start"&&e.start.push(this.sourceToken),this.stack.push(e);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(e){if(e.value)return yield*this.lineEnd(e);switch(this.type){case"doc-start":{Uue(e.start)!==-1?(yield*this.pop(),yield*this.step()):e.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":e.start.push(this.sourceToken);return}let t=this.startBlockValue(e);t?this.stack.push(t):yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(e){if(this.type==="map-value-ind"){let t=l_(this.peek(2)),n=Iy(t),i;e.end?(i=e.end,i.push(this.sourceToken),delete e.end):i=[this.sourceToken];let s={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:n,key:e,sep:i}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=s}else yield*this.lineEnd(e)}*blockScalar(e){switch(this.type){case"space":case"comment":case"newline":e.props.push(this.sourceToken);return;case"scalar":if(e.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let t=this.source.indexOf(`
`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf(`
`,t)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){var n;let t=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,t.value){let i="end"in t.value?t.value.end:void 0,s=Array.isArray(i)?i[i.length-1]:void 0;(s==null?void 0:s.type)==="comment"?i==null||i.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case"space":case"comment":if(t.value)e.items.push({start:[this.sourceToken]});else if(t.sep)t.sep.push(this.sourceToken);else{if(this.atIndentedComment(t.start,e.indent)){let i=e.items[e.items.length-2],s=(n=i==null?void 0:i.value)==null?void 0:n.end;if(Array.isArray(s)){Array.prototype.push.apply(s,t.start),s.push(this.sourceToken),e.items.pop();return}}t.start.push(this.sourceToken)}return}if(this.indent>=e.indent){let i=!this.onKeyLine&&this.indent===e.indent,s=i&&(t.sep||t.explicitKey)&&this.type!=="seq-item-ind",a=[];if(s&&t.sep&&!t.value){let o=[];for(let l=0;l<t.sep.length;++l){let c=t.sep[l];switch(c.type){case"newline":o.push(l);break;case"space":break;case"comment":c.indent>e.indent&&(o.length=0);break;default:o.length=0}}o.length>=2&&(a=t.sep.splice(o[1]))}switch(this.type){case"anchor":case"tag":s||t.value?(a.push(this.sourceToken),e.items.push({start:a}),this.onKeyLine=!0):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case"explicit-key-ind":!t.sep&&!t.explicitKey?(t.start.push(this.sourceToken),t.explicitKey=!0):s||t.value?(a.push(this.sourceToken),e.items.push({start:a,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case"map-value-ind":if(t.explicitKey)if(t.sep)if(t.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(Ju(t.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:a,key:null,sep:[this.sourceToken]}]});else if(Wue(t.key)&&!Ju(t.sep,"newline")){let o=Iy(t.start),l=t.key,c=t.sep;c.push(this.sourceToken),delete t.key,delete t.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:l,sep:c}]})}else a.length>0?t.sep=t.sep.concat(a,this.sourceToken):t.sep.push(this.sourceToken);else if(Ju(t.start,"newline"))Object.assign(t,{key:null,sep:[this.sourceToken]});else{let o=Iy(t.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:null,sep:[this.sourceToken]}]})}else t.sep?t.value||s?e.items.push({start:a,key:null,sep:[this.sourceToken]}):Ju(t.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):t.sep.push(this.sourceToken):Object.assign(t,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let o=this.flowScalar(this.type);s||t.value?(e.items.push({start:a,key:o,sep:[]}),this.onKeyLine=!0):t.sep?this.stack.push(o):(Object.assign(t,{key:o,sep:[]}),this.onKeyLine=!0);return}default:{let o=this.startBlockValue(e);if(o){if(o.type==="block-seq"){if(!t.explicitKey&&t.sep&&!Ju(t.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else i&&e.items.push({start:a});this.stack.push(o);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(e){var n;let t=e.items[e.items.length-1];switch(this.type){case"newline":if(t.value){let i="end"in t.value?t.value.end:void 0,s=Array.isArray(i)?i[i.length-1]:void 0;(s==null?void 0:s.type)==="comment"?i==null||i.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else t.start.push(this.sourceToken);return;case"space":case"comment":if(t.value)e.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(t.start,e.indent)){let i=e.items[e.items.length-2],s=(n=i==null?void 0:i.value)==null?void 0:n.end;if(Array.isArray(s)){Array.prototype.push.apply(s,t.start),s.push(this.sourceToken),e.items.pop();return}}t.start.push(this.sourceToken)}return;case"anchor":case"tag":if(t.value||this.indent<=e.indent)break;t.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==e.indent)break;t.value||Ju(t.start,"seq-item-ind")?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken);return}if(this.indent>e.indent){let i=this.startBlockValue(e);if(i){this.stack.push(i);return}}yield*this.pop(),yield*this.step()}*flowCollection(e){let t=e.items[e.items.length-1];if(this.type==="flow-error-end"){let n;do yield*this.pop(),n=this.peek(1);while(n&&n.type==="flow-collection")}else if(e.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!t||t.sep?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken);return;case"map-value-ind":!t||t.value?e.items.push({start:[],key:null,sep:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):Object.assign(t,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!t||t.value?e.items.push({start:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let i=this.flowScalar(this.type);!t||t.value?e.items.push({start:[],key:i,sep:[]}):t.sep?this.stack.push(i):Object.assign(t,{key:i,sep:[]});return}case"flow-map-end":case"flow-seq-end":e.end.push(this.sourceToken);return}let n=this.startBlockValue(e);n?this.stack.push(n):(yield*this.pop(),yield*this.step())}else{let n=this.peek(2);if(n.type==="block-map"&&(this.type==="map-value-ind"&&n.indent===e.indent||this.type==="newline"&&!n.items[n.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&n.type!=="flow-collection"){let i=l_(n),s=Iy(i);Vue(e);let a=e.end.splice(1,e.end.length);a.push(this.sourceToken);let o={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:s,key:e,sep:a}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=o}else yield*this.lineEnd(e)}}flowScalar(e){if(this.onNewLine){let t=this.source.indexOf(`
`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf(`
`,t)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let t=l_(e),n=Iy(t);return n.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:n,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let t=l_(e),n=Iy(t);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:n,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,t){return this.type!=="comment"||this.indent<=t?!1:e.every(n=>n.type==="newline"||n.type==="space")}*documentEnd(e){this.type!=="doc-mode"&&(e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop()))}*lineEnd(e){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop())}}}});function Yue(r){let e=r.prettyErrors!==!1;return{lineCounter:r.lineCounter||e&&new Ay||null,prettyErrors:e}}function Gue(r,e={}){let{lineCounter:t,prettyErrors:n}=Yue(e),i=new cf(t==null?void 0:t.addNewLine),s=new lf(e),a=Array.from(s.compose(i.parse(r)));if(n&&t)for(let o of a)o.errors.forEach(dS(r,t)),o.warnings.forEach(dS(r,t));return a.length>0?a:Object.assign([],{empty:!0},s.streamInfo())}function $j(r,e={}){let{lineCounter:t,prettyErrors:n}=Yue(e),i=new cf(t==null?void 0:t.addNewLine),s=new lf(e),a=null;for(let o of s.compose(i.parse(r),!0,r.length))if(!a)a=o;else if(a.options.logLevel!=="silent"){a.errors.push(new ka(o.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return n&&t&&(a.errors.forEach(dS(r,t)),a.warnings.forEach(dS(r,t))),a}function Kue(r,e,t){let n;typeof e=="function"?n=e:t===void 0&&e&&typeof e=="object"&&(t=e);let i=$j(r,t);if(!i)return null;if(i.warnings.forEach(s=>IP(i.options.logLevel,s)),i.errors.length>0){if(i.options.logLevel!=="silent")throw i.errors[0];i.errors=[]}return i.toJS(Object.assign({reviver:n},t))}function Zue(r,e,t){var i;let n=null;if(typeof e=="function"||Array.isArray(e)?n=e:t===void 0&&e&&(t=e),typeof t=="string"&&(t=t.length),typeof t=="number"){let s=Math.round(t);t=s<1?void 0:s>8?{indent:8}:{indent:s}}if(r===void 0){let{keepUndefined:s}=(i=t!=null?t:e)!=null?i:{};if(!s)return}return ro(r)&&!n?r.toString(t):new Hl(r,n,t).toString(t)}var Que=v(()=>{_j();cS();uS();X$();Gt();Lj();Fj()});var jj={};et(jj,{Alias:()=>Bl,CST:()=>Nj,Composer:()=>lf,Document:()=>Hl,Lexer:()=>My,LineCounter:()=>Ay,Pair:()=>tn,Parser:()=>cf,Scalar:()=>we,Schema:()=>xy,YAMLError:()=>Dy,YAMLMap:()=>mn,YAMLParseError:()=>ka,YAMLSeq:()=>ui,YAMLWarning:()=>Cy,isAlias:()=>Ta,isCollection:()=>sr,isDocument:()=>ro,isMap:()=>no,isNode:()=>Rt,isPair:()=>Pt,isScalar:()=>ot,isSeq:()=>io,parse:()=>Kue,parseAllDocuments:()=>Gue,parseDocument:()=>$j,stringify:()=>Zue,visit:()=>Ko,visitAsync:()=>Vw});var zj=v(()=>{_j();cS();bj();uS();Yw();Gt();Vu();_n();Yu();Gu();a_();Oj();Lj();Fj();Que();Ww()});var Jue,Xue=v(()=>{zj();zj();Jue=jj});function c_(r,e){let t=qHe(r),n=t.frontmatter?HHe(t.frontmatter,e):{},i=UHe(t.body,e);return{frontmatter:n,body:i}}function qHe(r){var t,n;let e=r.split(`
`);if(((t=e[0])==null?void 0:t.trim())==="---"){let i=-1;for(let s=1;s<e.length;s++)if(((n=e[s])==null?void 0:n.trim())==="---"){i=s;break}if(i>0){let a=e.slice(1,i).join(`
`),l=e.slice(i+1).join(`
`);return{frontmatter:a.trim()||null,body:l}}}return{frontmatter:null,body:r}}function HHe(r,e){try{let t=VHe(r,e),n=Jue.parse(t);return typeof n!="object"||n===null?(console.warn("Template frontmatter did not parse to a valid object"),{}):n}catch(t){return console.error("Error processing template frontmatter:",t),{}}}function UHe(r,e){return WHe(r,e)}function VHe(r,e){var k;let t=r,n=new Date,i=e.title||"",s=vS(i)?`"${df(i)}"`:i;t=t.replace(/\{\{title\}\}/g,s),t=t.replace(/\{\{priority\}\}/g,e.priority||""),t=t.replace(/\{\{status\}\}/g,e.status||"");let a=Array.isArray(e.contexts)?e.contexts.join(", "):"";t=t.replace(/\{\{contexts\}\}/g,a);let o=Array.isArray(e.tags)?e.tags.join(", "):"";t=t.replace(/\{\{tags\}\}/g,o);let l=Array.isArray(e.tags)?e.tags.map(T=>`#${T}`).join(" "):"";t=t.replace(/\{\{hashtags\}\}/g,l),t=t.replace(/\{\{timeEstimate\}\}/g,((k=e.timeEstimate)==null?void 0:k.toString())||""),t=t.replace(/\{\{dueDate\}\}/g,e.dueDate||""),t=t.replace(/\{\{scheduledDate\}\}/g,e.scheduledDate||""),t=t.replace(/\{\{details\}\}/g,e.details||"");let c=e.parentNote||"",d=c?`"${df(c)}"`:"";t=t.replace(/\{\{parentNote\}\}/g,d),t=t.replace(/\{\{date\}\}/g,P(n,"yyyy-MM-dd")),t=t.replace(/\{\{time\}\}/g,P(n,"HH:mm")),t=t.replace(/\{\{year\}\}/g,P(n,"yyyy")),t=t.replace(/\{\{month\}\}/g,P(n,"MM")),t=t.replace(/\{\{day\}\}/g,P(n,"dd")),t=t.replace(/\{\{hour\}\}/g,P(n,"HH")),t=t.replace(/\{\{minute\}\}/g,P(n,"mm")),t=t.replace(/\{\{second\}\}/g,P(n,"ss")),t=t.replace(/\{\{timestamp\}\}/g,P(n,"yyyy-MM-dd-HHmmss")),t=t.replace(/\{\{dateTime\}\}/g,P(n,"yyyy-MM-dd-HHmm")),t=t.replace(/\{\{shortDate\}\}/g,P(n,"yyMMdd")),t=t.replace(/\{\{shortYear\}\}/g,P(n,"yy")),t=t.replace(/\{\{monthName\}\}/g,P(n,"MMMM")),t=t.replace(/\{\{monthNameShort\}\}/g,P(n,"MMM")),t=t.replace(/\{\{dayName\}\}/g,P(n,"EEEE")),t=t.replace(/\{\{dayNameShort\}\}/g,P(n,"EEE")),t=t.replace(/\{\{week\}\}/g,P(n,"ww")),t=t.replace(/\{\{quarter\}\}/g,P(n,"q")),t=t.replace(/\{\{time12\}\}/g,P(n,"hh:mm a")),t=t.replace(/\{\{time24\}\}/g,P(n,"HH:mm")),t=t.replace(/\{\{hourPadded\}\}/g,P(n,"HH")),t=t.replace(/\{\{hour12\}\}/g,P(n,"hh")),t=t.replace(/\{\{ampm\}\}/g,P(n,"a")),t=t.replace(/\{\{unix\}\}/g,Math.floor(n.getTime()/1e3).toString()),t=t.replace(/\{\{unixMs\}\}/g,n.getTime().toString()),t=t.replace(/\{\{milliseconds\}\}/g,P(n,"SSS")),t=t.replace(/\{\{ms\}\}/g,P(n,"SSS")),t=t.replace(/\{\{timezone\}\}/g,P(n,"xxx")),t=t.replace(/\{\{timezoneShort\}\}/g,P(n,"xx")),t=t.replace(/\{\{utcOffset\}\}/g,P(n,"xxx")),t=t.replace(/\{\{utcOffsetShort\}\}/g,P(n,"xx")),t=t.replace(/\{\{utcZ\}\}/g,"Z");let u=P(n,"yyMMdd"),p=new Date(n);p.setHours(0,0,0,0);let m=Math.floor((n.getTime()-p.getTime())/1e3),f=`${u}${m.toString(36)}`;t=t.replace(/\{\{zettel\}\}/g,f),t=t.replace(/\{\{nano\}\}/g,Date.now().toString()+Math.random().toString(36).substring(2,7));let h=e.priority||"",g=e.status||"";t=t.replace(/\{\{priorityShort\}\}/g,h.substring(0,1).toUpperCase()),t=t.replace(/\{\{statusShort\}\}/g,g.substring(0,1).toUpperCase());let y=e.title||"";if(t=t.replace(/\{\{titleLower\}\}/g,y.toLowerCase()),t=t.replace(/\{\{titleUpper\}\}/g,y.toUpperCase()),t=t.replace(/\{\{titleSnake\}\}/g,y.toLowerCase().replace(/\s+/g,"_")),t=t.replace(/\{\{titleKebab\}\}/g,y.toLowerCase().replace(/\s+/g,"-")),t=t.replace(/\{\{titleCamel\}\}/g,y.replace(/(?:^\w|[A-Z]|\b\w)/g,(T,w)=>w===0?T.toLowerCase():T.toUpperCase()).replace(/\s+/g,"")),t=t.replace(/\{\{titlePascal\}\}/g,y.replace(/(?:^\w|[A-Z]|\b\w)/g,T=>T.toUpperCase()).replace(/\s+/g,"")),"icsEventTitle"in e){let T=e,w=T.icsEventTitle||"",S=vS(w)?`"${df(w)}"`:w;t=t.replace(/\{\{icsEventTitle\}\}/g,S),t=t.replace(/\{\{icsEventStart\}\}/g,T.icsEventStart||""),t=t.replace(/\{\{icsEventEnd\}\}/g,T.icsEventEnd||"");let E=T.icsEventLocation||"",C=E&&vS(E)?`"${df(E)}"`:E;t=t.replace(/\{\{icsEventLocation\}\}/g,C);let D=T.icsEventDescription||"",A=D&&vS(D)?`"${df(D)}"`:D;t=t.replace(/\{\{icsEventDescription\}\}/g,A),t=t.replace(/\{\{icsEventUrl\}\}/g,T.icsEventUrl||"");let N=T.icsEventSubscription||"",V=N&&vS(N)?`"${df(N)}"`:N;t=t.replace(/\{\{icsEventSubscription\}\}/g,V);let R=T.icsEventId||"",I=R?`"${df(R)}"`:"";t=t.replace(/\{\{icsEventId\}\}/g,I)}return t}function vS(r){if(!r)return!1;let e=/[[\]{}:>|*&!%#`@,]/,t=/^[-?]/,n=/^\d+\.?\d*$/,i=/^(true|false|yes|no|on|off)$/i;return e.test(r)||t.test(r)||n.test(r)||i.test(r)}function df(r){return r?r.replace(/\\/g,"\\\\").replace(/"/g,'\\"'):""}function WHe(r,e){var f;let t=r,n=new Date;t=t.replace(/\{\{title\}\}/g,e.title||""),t=t.replace(/\{\{priority\}\}/g,e.priority||""),t=t.replace(/\{\{status\}\}/g,e.status||"");let i=Array.isArray(e.contexts)?e.contexts.join(", "):"";t=t.replace(/\{\{contexts\}\}/g,i);let s=Array.isArray(e.tags)?e.tags.join(", "):"";t=t.replace(/\{\{tags\}\}/g,s);let a=Array.isArray(e.tags)?e.tags.map(h=>`#${h}`).join(" "):"";t=t.replace(/\{\{hashtags\}\}/g,a),t=t.replace(/\{\{timeEstimate\}\}/g,((f=e.timeEstimate)==null?void 0:f.toString())||""),t=t.replace(/\{\{dueDate\}\}/g,e.dueDate||""),t=t.replace(/\{\{scheduledDate\}\}/g,e.scheduledDate||""),t=t.replace(/\{\{details\}\}/g,e.details||""),t=t.replace(/\{\{parentNote\}\}/g,e.parentNote||""),t=t.replace(/\{\{date\}\}/g,P(n,"yyyy-MM-dd")),t=t.replace(/\{\{time\}\}/g,P(n,"HH:mm")),t=t.replace(/\{\{year\}\}/g,P(n,"yyyy")),t=t.replace(/\{\{month\}\}/g,P(n,"MM")),t=t.replace(/\{\{day\}\}/g,P(n,"dd")),t=t.replace(/\{\{hour\}\}/g,P(n,"HH")),t=t.replace(/\{\{minute\}\}/g,P(n,"mm")),t=t.replace(/\{\{second\}\}/g,P(n,"ss")),t=t.replace(/\{\{timestamp\}\}/g,P(n,"yyyy-MM-dd-HHmmss")),t=t.replace(/\{\{dateTime\}\}/g,P(n,"yyyy-MM-dd-HHmm")),t=t.replace(/\{\{shortDate\}\}/g,P(n,"yyMMdd")),t=t.replace(/\{\{shortYear\}\}/g,P(n,"yy")),t=t.replace(/\{\{monthName\}\}/g,P(n,"MMMM")),t=t.replace(/\{\{monthNameShort\}\}/g,P(n,"MMM")),t=t.replace(/\{\{dayName\}\}/g,P(n,"EEEE")),t=t.replace(/\{\{dayNameShort\}\}/g,P(n,"EEE")),t=t.replace(/\{\{week\}\}/g,P(n,"ww")),t=t.replace(/\{\{quarter\}\}/g,P(n,"q")),t=t.replace(/\{\{time12\}\}/g,P(n,"hh:mm a")),t=t.replace(/\{\{time24\}\}/g,P(n,"HH:mm")),t=t.replace(/\{\{hourPadded\}\}/g,P(n,"HH")),t=t.replace(/\{\{hour12\}\}/g,P(n,"hh")),t=t.replace(/\{\{ampm\}\}/g,P(n,"a")),t=t.replace(/\{\{unix\}\}/g,Math.floor(n.getTime()/1e3).toString()),t=t.replace(/\{\{unixMs\}\}/g,n.getTime().toString()),t=t.replace(/\{\{milliseconds\}\}/g,P(n,"SSS")),t=t.replace(/\{\{ms\}\}/g,P(n,"SSS")),t=t.replace(/\{\{timezone\}\}/g,P(n,"xxx")),t=t.replace(/\{\{timezoneShort\}\}/g,P(n,"xx")),t=t.replace(/\{\{utcOffset\}\}/g,P(n,"xxx")),t=t.replace(/\{\{utcOffsetShort\}\}/g,P(n,"xx")),t=t.replace(/\{\{utcZ\}\}/g,"Z");let o=P(n,"yyMMdd"),l=new Date(n);l.setHours(0,0,0,0);let c=Math.floor((n.getTime()-l.getTime())/1e3),d=`${o}${c.toString(36)}`;t=t.replace(/\{\{zettel\}\}/g,d),t=t.replace(/\{\{nano\}\}/g,Date.now().toString()+Math.random().toString(36).substring(2,7));let u=e.priority||"",p=e.status||"";t=t.replace(/\{\{priorityShort\}\}/g,u.substring(0,1).toUpperCase()),t=t.replace(/\{\{statusShort\}\}/g,p.substring(0,1).toUpperCase());let m=e.title||"";if(t=t.replace(/\{\{titleLower\}\}/g,m.toLowerCase()),t=t.replace(/\{\{titleUpper\}\}/g,m.toUpperCase()),t=t.replace(/\{\{titleSnake\}\}/g,m.toLowerCase().replace(/\s+/g,"_")),t=t.replace(/\{\{titleKebab\}\}/g,m.toLowerCase().replace(/\s+/g,"-")),t=t.replace(/\{\{titleCamel\}\}/g,m.replace(/(?:^\w|[A-Z]|\b\w)/g,(h,g)=>g===0?h.toLowerCase():h.toUpperCase()).replace(/\s+/g,"")),t=t.replace(/\{\{titlePascal\}\}/g,m.replace(/(?:^\w|[A-Z]|\b\w)/g,h=>h.toUpperCase()).replace(/\s+/g,"")),"icsEventTitle"in e){let h=e;t=t.replace(/\{\{icsEventTitle\}\}/g,h.icsEventTitle||""),t=t.replace(/\{\{icsEventStart\}\}/g,h.icsEventStart||""),t=t.replace(/\{\{icsEventEnd\}\}/g,h.icsEventEnd||""),t=t.replace(/\{\{icsEventLocation\}\}/g,h.icsEventLocation||""),t=t.replace(/\{\{icsEventDescription\}\}/g,h.icsEventDescription||""),t=t.replace(/\{\{icsEventUrl\}\}/g,h.icsEventUrl||""),t=t.replace(/\{\{icsEventSubscription\}\}/g,h.icsEventSubscription||""),t=t.replace(/\{\{icsEventId\}\}/g,h.icsEventId||"")}return t}function epe(r,e){return{...e,...r}}var d_=v(()=>{Tn();Xue()});function u_(r,e={}){if(!r)return r;let{date:t=new Date,taskData:n,icsData:i,extractProjectBasename:s}=e,a=r;if(n){let c=Array.isArray(n.contexts)&&n.contexts.length>0?n.contexts[0]:"";a=a.replace(/\{\{context\}\}/g,c);let d=Array.isArray(n.projects)&&n.projects.length>0?s?s(n.projects[0]):n.projects[0]:"";a=a.replace(/\{\{project\}\}/g,d);let u=Array.isArray(n.projects)&&n.projects.length>0?n.projects.map(N=>s?s(N):N).join("/"):"";a=a.replace(/\{\{projects\}\}/g,u);let p=Array.isArray(n.contexts)&&n.contexts.length>0?n.contexts.join("/"):"";a=a.replace(/\{\{contexts\}\}/g,p);let m=n.priority||"";a=a.replace(/\{\{priority\}\}/g,m);let f=n.status||"";a=a.replace(/\{\{status\}\}/g,f);let h=n.title?n.title.replace(/[<>:"/\\|?*]/g,"_"):"";a=a.replace(/\{\{title\}\}/g,h);let g=n.due||"";a=a.replace(/\{\{dueDate\}\}/g,g);let y=n.scheduled||"";a=a.replace(/\{\{scheduledDate\}\}/g,y);let k=m?m.substring(0,1).toUpperCase():"";a=a.replace(/\{\{priorityShort\}\}/g,k);let T=f?f.substring(0,1).toUpperCase():"";a=a.replace(/\{\{statusShort\}\}/g,T);let w=h?h.toLowerCase():"";a=a.replace(/\{\{titleLower\}\}/g,w);let S=h?h.toUpperCase():"";a=a.replace(/\{\{titleUpper\}\}/g,S);let E=h?h.toLowerCase().replace(/\s+/g,"_"):"";a=a.replace(/\{\{titleSnake\}\}/g,E);let C=h?h.toLowerCase().replace(/\s+/g,"-"):"";a=a.replace(/\{\{titleKebab\}\}/g,C);let D=h?h.replace(/(?:^\w|[A-Z]|\b\w)/g,(N,V)=>V===0?N.toLowerCase():N.toUpperCase()).replace(/\s+/g,""):"";a=a.replace(/\{\{titleCamel\}\}/g,D);let A=h?h.replace(/(?:^\w|[A-Z]|\b\w)/g,N=>N.toUpperCase()).replace(/\s+/g,""):"";a=a.replace(/\{\{titlePascal\}\}/g,A)}if(i){let c=i.title?i.title.replace(/[<>:"/\\|?*]/g,"_"):"";a=a.replace(/\{\{icsEventTitle\}\}/g,c);let d=c?c.toLowerCase():"";a=a.replace(/\{\{icsEventTitleLower\}\}/g,d);let u=c?c.toUpperCase():"";a=a.replace(/\{\{icsEventTitleUpper\}\}/g,u);let p=c?c.toLowerCase().replace(/\s+/g,"_"):"";a=a.replace(/\{\{icsEventTitleSnake\}\}/g,p);let m=c?c.toLowerCase().replace(/\s+/g,"-"):"";a=a.replace(/\{\{icsEventTitleKebab\}\}/g,m);let f=c?c.replace(/(?:^\w|[A-Z]|\b\w)/g,(k,T)=>T===0?k.toLowerCase():k.toUpperCase()).replace(/\s+/g,""):"";a=a.replace(/\{\{icsEventTitleCamel\}\}/g,f);let h=c?c.replace(/(?:^\w|[A-Z]|\b\w)/g,k=>k.toUpperCase()).replace(/\s+/g,""):"";a=a.replace(/\{\{icsEventTitlePascal\}\}/g,h);let g=i.location?i.location.replace(/[<>:"/\\|?*]/g,"_"):"";a=a.replace(/\{\{icsEventLocation\}\}/g,g);let y=i.description?i.description.replace(/[<>:"/\\|?*]/g,"_"):"";a=a.replace(/\{\{icsEventDescription\}\}/g,y)}a=a.replace(/\{\{year\}\}/g,P(t,"yyyy")),a=a.replace(/\{\{month\}\}/g,P(t,"MM")),a=a.replace(/\{\{day\}\}/g,P(t,"dd")),a=a.replace(/\{\{date\}\}/g,P(t,"yyyy-MM-dd")),a=a.replace(/\{\{time\}\}/g,P(t,"HHmmss")),a=a.replace(/\{\{timestamp\}\}/g,P(t,"yyyy-MM-dd-HHmmss")),a=a.replace(/\{\{dateTime\}\}/g,P(t,"yyyy-MM-dd-HHmm")),a=a.replace(/\{\{hour\}\}/g,P(t,"HH")),a=a.replace(/\{\{minute\}\}/g,P(t,"mm")),a=a.replace(/\{\{second\}\}/g,P(t,"ss")),a=a.replace(/\{\{shortDate\}\}/g,P(t,"yyMMdd")),a=a.replace(/\{\{shortYear\}\}/g,P(t,"yy")),a=a.replace(/\{\{monthName\}\}/g,P(t,"MMMM")),a=a.replace(/\{\{monthNameShort\}\}/g,P(t,"MMM")),a=a.replace(/\{\{dayName\}\}/g,P(t,"EEEE")),a=a.replace(/\{\{dayNameShort\}\}/g,P(t,"EEE")),a=a.replace(/\{\{week\}\}/g,P(t,"ww")),a=a.replace(/\{\{quarter\}\}/g,P(t,"q")),a=a.replace(/\{\{time12\}\}/g,P(t,"hh:mm a")),a=a.replace(/\{\{time24\}\}/g,P(t,"HH:mm")),a=a.replace(/\{\{hourPadded\}\}/g,P(t,"HH")),a=a.replace(/\{\{hour12\}\}/g,P(t,"hh")),a=a.replace(/\{\{ampm\}\}/g,P(t,"a")),a=a.replace(/\{\{unix\}\}/g,Math.floor(t.getTime()/1e3).toString()),a=a.replace(/\{\{unixMs\}\}/g,t.getTime().toString()),a=a.replace(/\{\{milliseconds\}\}/g,P(t,"SSS")),a=a.replace(/\{\{ms\}\}/g,P(t,"SSS")),a=a.replace(/\{\{timezone\}\}/g,P(t,"xxx")),a=a.replace(/\{\{timezoneShort\}\}/g,P(t,"xx")),a=a.replace(/\{\{utcOffset\}\}/g,P(t,"xxx")),a=a.replace(/\{\{utcOffsetShort\}\}/g,P(t,"xx")),a=a.replace(/\{\{utcZ\}\}/g,"Z");let o=(()=>{let c=P(t,"yyMMdd"),d=new Date(t);d.setHours(0,0,0,0);let p=Math.floor((t.getTime()-d.getTime())/1e3).toString(36);return`${c}${p}`})();a=a.replace(/\{\{zettel\}\}/g,o);let l=Date.now().toString()+Math.random().toString(36).substring(2,7);return a=a.replace(/\{\{nano\}\}/g,l),a}var Bj=v(()=>{Tn()});function tpe(r,e){if(!r||!e)throw new Error("Invalid context or settings provided");if(!r.title||typeof r.title!="string")throw new Error("Context must have a valid title");if(r.title.trim().length===0)throw new Error("Title cannot be empty");let t=r.date||new Date;if(!(t instanceof Date)||isNaN(t.getTime()))throw new Error("Invalid date provided in context");try{let n=e.icsIntegration;if(n)switch(n.icsNoteFilenameFormat){case"title":return rn(r.title);case"zettel":return uf(t);case"timestamp":return npe(t);case"custom":{let i={icsEventTitle:r.icsEventTitle?rn(r.icsEventTitle):rn(r.title),icsEventLocation:r.icsEventLocation?rn(r.icsEventLocation):"",icsEventDescription:r.icsEventDescription?rn(r.icsEventDescription.substring(0,50)):"",icsEventTitleWithDate:rn(`${r.icsEventTitle||r.title} - ${P(t,"PPP")}`)};return ipe(r,n.customICSNoteFilenameTemplate,t,i)}default:return rn(r.title)}return rn(r.title)}catch(n){return console.error("Error generating ICS note filename:",n),rn(r.title)}}function rpe(r,e){if(!r||!e)throw new Error("Invalid context or settings provided");if(!r.title||typeof r.title!="string")throw new Error("Context must have a valid title");if(r.title.trim().length===0)throw new Error("Title cannot be empty");let t=r.date||new Date;if(!(t instanceof Date)||isNaN(t.getTime()))throw new Error("Invalid date provided in context");if(e.storeTitleInFilename)return rn(r.title);try{switch(e.taskFilenameFormat){case"title":return rn(r.title);case"zettel":return uf(t);case"timestamp":return npe(t);case"custom":return ipe(r,e.customFilenameTemplate,t);default:return uf(t)}}catch(n){return console.error("Error generating filename:",n),uf(t)}}function uf(r){let e=P(r,"yyMMdd"),t=new Date(r);t.setHours(0,0,0,0);let i=Math.floor((r.getTime()-t.getTime())/1e3).toString(36);return`${e}${i}`}function npe(r){return P(r,"yyyy-MM-dd-HHmmss")}function ipe(r,e,t,n){var i;if(!r||!e||!t)throw new Error("Invalid inputs for custom filename generation");if(typeof e!="string"||e.trim().length===0)throw new Error("Template must be a non-empty string");if(!(t instanceof Date)||isNaN(t.getTime()))throw new Error("Invalid date for filename generation");try{let s=rn(r.title),a=r.priority&&["low","normal","medium","high"].includes(r.priority)?r.priority:"normal",o=r.status?rn(r.status):"open",l=Array.isArray(r.contexts)?r.contexts:[],c=Array.isArray(r.tags)?r.tags:[],d={title:s,date:P(t,"yyyy-MM-dd"),time:P(t,"HHmmss"),priority:a,status:o,timestamp:P(t,"yyyy-MM-dd-HHmmss"),dateTime:P(t,"yyyy-MM-dd-HHmm"),year:P(t,"yyyy"),month:P(t,"MM"),day:P(t,"dd"),hour:P(t,"HH"),minute:P(t,"mm"),second:P(t,"ss"),dueDate:r.dueDate||"",scheduledDate:r.scheduledDate||"",context:l[0]?rn(l[0]):"",contexts:l.map(p=>rn(p)).join("/"),tags:c.map(p=>rn(p)).join(", "),hashtags:c.map(p=>`#${rn(p)}`).join(" "),timeEstimate:((i=r.timeEstimate)==null?void 0:i.toString())||"",details:r.details?rn(r.details.substring(0,50)):"",parentNote:r.parentNote?rn(r.parentNote):"",shortDate:P(t,"yyMMdd"),shortYear:P(t,"yy"),monthName:P(t,"MMMM"),monthNameShort:P(t,"MMM"),dayName:P(t,"EEEE"),dayNameShort:P(t,"EEE"),week:P(t,"ww"),quarter:P(t,"q"),time12:P(t,"hh:mm a"),time24:P(t,"HH:mm"),hourPadded:P(t,"HH"),hour12:P(t,"hh"),ampm:P(t,"a"),unix:Math.floor(t.getTime()/1e3).toString(),unixMs:t.getTime().toString(),milliseconds:P(t,"SSS"),ms:P(t,"SSS"),timezone:P(t,"xxx"),timezoneShort:P(t,"xx"),utcOffset:P(t,"xxx"),utcOffsetShort:P(t,"xx"),utcZ:"Z",priorityShort:a.substring(0,1).toUpperCase(),statusShort:o.substring(0,1).toUpperCase(),titleLower:s.toLowerCase(),titleUpper:s.toUpperCase(),titleSnake:s.toLowerCase().replace(/\s+/g,"_"),titleKebab:s.toLowerCase().replace(/\s+/g,"-"),titleCamel:s.replace(/(?:^\w|[A-Z]|\b\w)/g,(p,m)=>m===0?p.toLowerCase():p.toUpperCase()).replace(/\s+/g,""),titlePascal:s.replace(/(?:^\w|[A-Z]|\b\w)/g,p=>p.toUpperCase()).replace(/\s+/g,""),zettel:uf(t),nano:Date.now().toString()+Math.random().toString(36).substring(2,7),...n||{}},u=e;if(e.length>500)throw new Error("Template too long");return Object.entries(d).forEach(([p,m])=>{try{let f=new RegExp(`\\{\\{${p}\\}\\}`,"g");u=u.replace(f,m);let h=new RegExp(`\\{${p}\\}`,"g");u=u.replace(h,m)}catch(f){console.warn(`Error replacing template variable ${p}:`,f)}}),u=u.replace(/\{\{[^}]+\}\}/g,""),u=u.replace(/\{[^}]+\}/g,""),u.trim()||(u=s||uf(t)),rn(u)}catch(s){return console.error("Error generating custom filename:",s),rn(r.title)||uf(t)}}function rn(r){if(!r||typeof r!="string")return"untitled";try{let e=r.trim().replace(/\s+/g," ").replace(/[<>:"/\\|?*#[\]]/g,"").replace(/./g,n=>{let i=n.charCodeAt(0);return i<=31||i>=127&&i<=159?"":n}).replace(/^\.+|\.+$/g,"").trim();return(!e||e.length===0)&&(e="untitled"),["CON","PRN","AUX","NUL","COM1","COM2","COM3","COM4","COM5","COM6","COM7","COM8","COM9","LPT1","LPT2","LPT3","LPT4","LPT5","LPT6","LPT7","LPT8","LPT9"].includes(e.toUpperCase())&&(e=`task-${e}`),e}catch(e){return console.error("Error sanitizing filename:",e),"untitled"}}async function Ny(r,e,t){if(!r||typeof r!="string")throw new Error("Base filename must be a non-empty string");if(typeof e!="string")throw new Error("Folder path must be a string");if(!t)throw new Error("Vault must be provided");let n=rn(r);if(!n)throw new Error("Base filename cannot be sanitized to a valid name");let i=e.replace(/\.\./g,"").trim();try{let s=(0,qj.normalizePath)(`${i}/${n}.md`);if(s.length>260)throw new Error("Generated path too long");if(!t.getAbstractFileByPath(s))return n;for(let l=2;l<=999;l++){let c=`${n}-${l}`,d=(0,qj.normalizePath)(`${i}/${c}.md`);if(d.length>260)break;if(!t.getAbstractFileByPath(d))return c}let a=Date.now().toString(36),o=`${n.substring(0,50)}-${a}`;return rn(o)}catch(s){return console.error("Error generating unique filename:",s),`task-${Date.now().toString(36)}`}}var qj,p_=v(()=>{Tn();qj=require("obsidian")});var spe,m_,ape=v(()=>{spe=require("obsidian");On();gT();p_();Cr();Qe();jr();d_();m_=class{constructor(e){this.deps=e}setWebhookNotifier(e){this.deps.webhookNotifier=e}async createTask(e,t={}){var s;let{applyDefaults:n=!0}=t,{plugin:i}=this.deps;try{if(n&&(e=await this.deps.applyTaskCreationDefaults(e)),!e.title||!e.title.trim())throw new Error("Title is required");let a=i.settings.storeTitleInFilename?this.deps.sanitizeTitleForFilename(e.title.trim()):this.deps.sanitizeTitleForStorage(e.title.trim()),o=e.priority||i.settings.defaultTaskPriority,l=e.status||i.settings.defaultTaskStatus,c=e.dateCreated||Ve(),d=e.dateModified||Ve(),u=e.contexts||[],p=e.projects||[],m=e.tags||[];i.settings.taskIdentificationMethod==="tag"&&(m.includes(i.settings.taskTag)||(m=[i.settings.taskTag,...m]));let f={title:a,priority:o,status:l,date:new Date,dueDate:e.due,scheduledDate:e.scheduled},h=rpe(f,i.settings),g=await this.resolveTargetFolder(e);g&&await Nm(i.app.vault,g);let y=await Ny(h,g,i.app.vault),k=g?`${g}/${y}.md`:`${y}.md`,T={title:a,status:l,priority:o,due:e.due||void 0,scheduled:e.scheduled||void 0,contexts:u.length>0?u:void 0,projects:p.length>0?p:void 0,timeEstimate:e.timeEstimate&&e.timeEstimate>0?e.timeEstimate:void 0,dateCreated:c,dateModified:d,recurrence:e.recurrence||void 0,recurrence_anchor:e.recurrence_anchor||void 0,reminders:e.reminders&&e.reminders.length>0?e.reminders:void 0,icsEventId:e.icsEventId||void 0},w=i.fieldMapper.getUserFields();if(w.length>0){let z=e,B=T;for(let W of w)Object.prototype.hasOwnProperty.call(z,W.key)&&z[W.key]!==void 0&&(B[W.key]=z[W.key])}if(T.recurrence&&typeof T.recurrence=="string"&&!T.recurrence.includes("DTSTART:")){let z={...T,title:a,status:l,priority:o,path:"",archived:!1},B=nd(z);B&&(T.recurrence=B)}let E=i.settings.taskIdentificationMethod==="tag"?i.settings.taskTag:void 0,C=i.fieldMapper.mapToFrontmatter(T,E,i.settings.storeTitleInFilename);if(i.settings.taskIdentificationMethod==="property"){let z=i.settings.taskPropertyName,B=i.settings.taskPropertyValue;if(z&&B){let W=B.toLowerCase(),Y=W==="true"||W==="false"?W==="true":B;C[z]=Y}m.length>0&&(C.tags=m)}else C.tags=m;let D=await this.deps.applyTemplate(e),A=D.body?D.body.replace(/\r\n/g,`
`).trimEnd():e.details?e.details.replace(/\r\n/g,`
`).trimEnd():"",N=epe(C,D.frontmatter);e.customFrontmatter&&(N={...N,...e.customFrontmatter});let R=`---
${(0,spe.stringifyYaml)(N)}---
`;A.length>0&&(R+=`${A}
`);let I=await i.app.vault.create(k,R),O={...T,...N,title:ie(N.title||T.title||a),status:ie(N.status||T.status||l),priority:ie(N.priority||T.priority||o),path:I.path,tags:m,archived:!1,details:A};try{i.cacheManager.waitForFreshTaskData&&await i.cacheManager.waitForFreshTaskData(I),i.cacheManager.updateTaskInfoInCache(I.path,O)}catch(z){console.error("Error updating cache for new task:",z)}if(i.emitter.trigger(Vt,{path:I.path,updatedTask:O}),this.deps.webhookNotifier)try{await this.deps.webhookNotifier.triggerWebhook("task.created",{task:O})}catch(z){console.warn("Failed to trigger webhook for task creation:",z)}return(s=i.taskCalendarSyncService)!=null&&s.isEnabled()&&i.settings.googleCalendarExport.syncOnTaskCreate&&i.taskCalendarSyncService.syncTaskToCalendar(O).catch(z=>{console.warn("Failed to sync task to Google Calendar:",z)}),{file:I,taskInfo:O}}catch(a){let o=a instanceof Error?a.message:String(a);throw console.error("Error creating task:",{error:o,stack:a instanceof Error?a.stack:void 0,taskData:e}),new Error(`Failed to create task: ${o}`)}}async resolveTargetFolder(e){var s;let{plugin:t}=this.deps,n="";if(e.creationContext==="inline-conversion"||e.creationContext==="modal-inline-creation"){let a=t.settings.inlineTaskConvertFolder||"";if(a.trim()){if(n=a,a.includes("{{currentNotePath}}")||a.includes("{{currentNoteTitle}}")){let l=t.app.workspace.getActiveFile();if(a.includes("{{currentNotePath}}")){let c=((s=l==null?void 0:l.parent)==null?void 0:s.path)||"";n=n.replace(/\{\{currentNotePath\}\}/g,c)}if(a.includes("{{currentNoteTitle}}")){let c=(l==null?void 0:l.basename)||"";n=n.replace(/\{\{currentNoteTitle\}\}/g,c)}}return this.deps.processFolderTemplate(n,e)}let o=t.settings.tasksFolder||"";return this.deps.processFolderTemplate(o,e)}let i=t.settings.tasksFolder||"";return this.deps.processFolderTemplate(i,e)}}});var f_,h_,ope=v(()=>{f_=require("obsidian");On();gT();Cr();p_();Qe();h_=class{constructor(e){this.deps=e}setWebhookNotifier(e){this.deps.webhookNotifier=e}setAutoArchiveService(e){this.deps.autoArchiveService=e}async updateTask(e,t){var i;let{plugin:n}=this.deps;try{let s=n.app.vault.getAbstractFileByPath(e.path);if(!(s instanceof f_.TFile))throw new Error(`Cannot find task file: ${e.path}`);Array.isArray(t.timeEntries)&&(t.timeEntries=t.timeEntries.map(u=>{let p={...u};return delete p.duration,p}));let a=n.settings.storeTitleInFilename&&t.title&&t.title!==e.title,o=e.path;if(a&&t.title){let u=s.parent?s.parent.path:"",p=await Ny(t.title,u,n.app.vault);o=u?`${u}/${p}.md`:`${p}.md`}let l=this.getRecurrenceUpdates(e,t),c=null;if(Object.prototype.hasOwnProperty.call(t,"details")&&(c=typeof t.details=="string"?t.details.replace(/\r\n/g,`
`):""),await n.app.fileManager.processFrontMatter(s,u=>{let p={...e,...t,...l,dateModified:Ve()},m=n.fieldMapper.mapToFrontmatter(p,n.settings.taskIdentificationMethod==="tag"?n.settings.taskTag:void 0,n.settings.storeTitleInFilename);if(Object.entries(m).forEach(([h,g])=>{g!==void 0&&(u[h]=g)}),t.status!==void 0&&this.deps.updateCompletedDateInFrontmatter(u,t.status,!!e.recurrence),n.settings.taskIdentificationMethod==="property"){let h=n.settings.taskPropertyName,g=n.settings.taskPropertyValue;if(h&&g){let y=g.toLowerCase(),k=y==="true"||y==="false"?y==="true":g;u[h]=k}}let f=t.customFrontmatter;if(f&&Object.entries(f).forEach(([h,g])=>{g===null?delete u[h]:u[h]=g}),this.removeUnsetMappedFields(u,t),a&&delete u[n.fieldMapper.toUserField("title")],Object.prototype.hasOwnProperty.call(t,"tags")){let h=Array.isArray(t.tags)?[...t.tags]:[];h.length>0?u.tags=h:delete u.tags}}),a&&await n.app.fileManager.renameFile(s,o),c!==null){let u=n.app.vault.getAbstractFileByPath(o);if(u instanceof f_.TFile){let p=await n.app.vault.read(u),{frontmatter:m}=Cg(p),f=m!==null?`---
${m}
---
`:"",h=c.trimEnd(),g=h.length>0?`${h}
`:"";await n.app.vault.modify(u,`${f}${g}`)}}let d={...e,...t,...l,path:o,dateModified:Ve()};c!==null&&(d.details=c),t.status!==void 0&&!e.recurrence&&(n.statusManager.isCompletedStatus(t.status)?e.completedDate||(d.completedDate=mg()):d.completedDate=void 0),a&&n.cacheManager.clearCacheEntry(e.path);try{let u=n.app.vault.getAbstractFileByPath(o);if(u instanceof f_.TFile&&n.cacheManager.waitForFreshTaskData){let p={};t.title!==void 0&&(p.title=t.title),t.status!==void 0&&(p.status=t.status),t.priority!==void 0&&(p.priority=t.priority),Object.keys(p).length>0&&await n.cacheManager.waitForFreshTaskData(u)}n.cacheManager.updateTaskInfoInCache(o,d)}catch(u){console.error("Error updating task cache:",{error:u instanceof Error?u.message:String(u),taskPath:o})}try{n.emitter.trigger(Vt,{path:o,originalTask:e,updatedTask:d})}catch(u){console.error("Error emitting task update event:",{error:u instanceof Error?u.message:String(u),taskPath:o})}if(this.deps.webhookNotifier)try{let u=n.statusManager.isCompletedStatus(e.status),p=n.statusManager.isCompletedStatus(d.status);!u&&p?await this.deps.webhookNotifier.triggerWebhook("task.completed",{task:d}):await this.deps.webhookNotifier.triggerWebhook("task.updated",{task:d,previous:e})}catch(u){console.warn("Failed to trigger webhook for task update:",u)}if((i=n.taskCalendarSyncService)!=null&&i.isEnabled()){let u=n.statusManager.isCompletedStatus(e.status),p=n.statusManager.isCompletedStatus(d.status);(!u&&p?n.taskCalendarSyncService.completeTaskInCalendar(d):n.taskCalendarSyncService.updateTaskInCalendar(d,e)).catch(f=>{console.warn("Failed to sync task update to Google Calendar:",f)})}return await this.handleAutoArchive(e,d,t.status),d}catch(s){let a=s instanceof Error?s.message:String(s);throw console.error("Error updating task:",{error:a,stack:s instanceof Error?s.stack:void 0,taskPath:e.path,updates:t}),new Error(`Failed to update task: ${a}`)}}getRecurrenceUpdates(e,t){let{plugin:n}=this.deps,i={};if(t.recurrence!==void 0&&t.recurrence!==e.recurrence){let s={...e,...t},a=Am(s,n.settings.maintainDueDateOffsetInRecurring);if(a.scheduled&&(i.scheduled=a.scheduled),a.due&&(i.due=a.due),typeof t.recurrence=="string"&&t.recurrence&&!t.recurrence.includes("DTSTART:")){let o={...e,...t,...i},l=nd(o);l&&(i.recurrence=l)}}else if(t.recurrence!==void 0&&!e.recurrence&&t.recurrence&&typeof t.recurrence=="string"&&!t.recurrence.includes("DTSTART:")){let s={...e,...t},a=nd(s);a&&(i.recurrence=a)}if(t.scheduled!==void 0&&t.scheduled!==e.scheduled&&e.recurrence&&typeof e.recurrence=="string"&&!e.recurrence.includes("DTSTART:")){let s={...e,...t},a=nd(s);a&&(i.recurrence=a)}return i}removeUnsetMappedFields(e,t){let{plugin:n}=this.deps;if(Object.prototype.hasOwnProperty.call(t,"due")&&t.due===void 0&&delete e[n.fieldMapper.toUserField("due")],Object.prototype.hasOwnProperty.call(t,"scheduled")&&t.scheduled===void 0&&delete e[n.fieldMapper.toUserField("scheduled")],Object.prototype.hasOwnProperty.call(t,"contexts")&&t.contexts===void 0&&delete e[n.fieldMapper.toUserField("contexts")],Object.prototype.hasOwnProperty.call(t,"projects")){let i=n.fieldMapper.toUserField("projects"),s=Array.isArray(t.projects)?t.projects:[];s.length>0?e[i]=s:delete e[i]}Object.prototype.hasOwnProperty.call(t,"timeEstimate")&&t.timeEstimate===void 0&&delete e[n.fieldMapper.toUserField("timeEstimate")],Object.prototype.hasOwnProperty.call(t,"completedDate")&&t.completedDate===void 0&&delete e[n.fieldMapper.toUserField("completedDate")],Object.prototype.hasOwnProperty.call(t,"recurrence")&&t.recurrence===void 0&&delete e[n.fieldMapper.toUserField("recurrence")],Object.prototype.hasOwnProperty.call(t,"blockedBy")&&t.blockedBy===void 0&&delete e[n.fieldMapper.toUserField("blockedBy")]}async handleAutoArchive(e,t,n){if(!(!this.deps.autoArchiveService||n===void 0||n===e.status))try{let i=this.deps.plugin.statusManager.getStatusConfig(t.status);if(!i)return;i.autoArchive?await this.deps.autoArchiveService.scheduleAutoArchive(t,i):await this.deps.autoArchiveService.cancelAutoArchive(t.path)}catch(i){console.warn("Failed to handle auto-archive for status change:",i)}}}});var Bn,g_,lpe=v(()=>{On();Bn=require("obsidian");d_();gT();Cr();Zc();Bo();Qe();Bj();ape();ope();g_=class{constructor(e){this.plugin=e;this.taskCreationService=new m_({plugin:this.plugin,webhookNotifier:this.webhookNotifier,applyTaskCreationDefaults:t=>this.applyTaskCreationDefaults(t),applyTemplate:t=>this.applyTemplate(t),processFolderTemplate:(t,n,i)=>this.processFolderTemplate(t,n,i),sanitizeTitleForFilename:t=>this.sanitizeTitleForFilename(t),sanitizeTitleForStorage:t=>this.sanitizeTitleForStorage(t)}),this.taskUpdateService=new h_({plugin:this.plugin,webhookNotifier:this.webhookNotifier,autoArchiveService:this.autoArchiveService,updateCompletedDateInFrontmatter:(t,n,i)=>this.updateCompletedDateInFrontmatter(t,n,i)})}hasGoogleCalendarLink(e){return!!e.googleCalendarEventId}createArchiveCalendarDeletionTask(e,t){return{...t,googleCalendarEventId:e.googleCalendarEventId}}clearGoogleCalendarMetadata(e){e.googleCalendarEventId=void 0}async deleteArchivedTaskFromCalendar(e){return!this.plugin.taskCalendarSyncService||await this.plugin.taskCalendarSyncService.deleteTaskFromCalendar(e)?!0:(console.warn("Failed to delete archived task from Google Calendar during archive:",{taskPath:e.path,eventId:e.googleCalendarEventId}),!1)}translate(e,t){return this.plugin.i18n.translate(e,t)}sanitizeTitleForFilename(e){if(!e||typeof e!="string")return"untitled";try{let t=e.trim().replace(/\s+/g," ").replace(/[<>:"/\\|?*#[\]]/g,"").replace(/./g,n=>{let i=n.charCodeAt(0);return i<=31||i>=127&&i<=159?"":n}).replace(/^\.+|\.+$/g,"").trim();return(!t||t.length===0)&&(t="untitled"),t}catch(t){return console.error("Error sanitizing title:",t),"untitled"}}sanitizeTitleForStorage(e){if(!e||typeof e!="string")return"untitled";try{let t=e.trim().replace(/\s+/g," ").replace(/./g,n=>{let i=n.charCodeAt(0);return i<=31||i>=127&&i<=159?"":n}).trim();return(!t||t.length===0)&&(t="untitled"),t}catch(t){return console.error("Error sanitizing title:",t),"untitled"}}setWebhookNotifier(e){this.webhookNotifier=e,this.taskCreationService.setWebhookNotifier(e),this.taskUpdateService.setWebhookNotifier(e)}setAutoArchiveService(e){this.autoArchiveService=e,this.taskUpdateService.setAutoArchiveService(e)}normalizeStatusValue(e){return typeof e=="boolean"?e?"true":"false":typeof e=="string"?e:typeof e=="number"?String(e):""}processFolderTemplate(e,t,n=new Date){let i=t?{title:t.title,priority:t.priority,status:t.status,contexts:t.contexts,projects:t.projects,due:t.due,scheduled:t.scheduled}:void 0;return u_(e,{date:n,taskData:i,extractProjectBasename:s=>this.extractProjectBasename(s)})}async createTask(e,t={}){return this.taskCreationService.createTask(e,t)}async applyTemplate(e){var n,i,s,a;let t=this.plugin.settings.taskCreationDefaults;if(!t.useBodyTemplate||!((n=t.bodyTemplate)!=null&&n.trim()))return{frontmatter:{},body:((i=e.details)==null?void 0:i.trim())||""};try{let o=(0,Bn.normalizePath)(t.bodyTemplate.trim());o.endsWith(".md")||(o+=".md");let l=this.plugin.app.vault.getAbstractFileByPath(o);if(l instanceof Bn.TFile){let c=await this.plugin.app.vault.read(l),d={title:e.title||"",priority:e.priority||"",status:e.status||"",contexts:Array.isArray(e.contexts)?e.contexts:[],tags:Array.isArray(e.tags)?e.tags:[],timeEstimate:e.timeEstimate||0,dueDate:e.due||"",scheduledDate:e.scheduled||"",details:e.details||"",parentNote:e.parentNote||""};return c_(c,d)}else return console.warn(`Task body template not found: ${o}`),new Bn.Notice(this.translate("services.task.notices.templateNotFound",{path:o})),{frontmatter:{},body:((s=e.details)==null?void 0:s.trim())||""}}catch(o){return console.error("Error reading task body template:",o),new Bn.Notice(this.translate("services.task.notices.templateReadError",{template:t.bodyTemplate})),{frontmatter:{},body:((a=e.details)==null?void 0:a.trim())||""}}}async applyTaskCreationDefaults(e){let t=this.plugin.settings.taskCreationDefaults,n={...e};if(n.due===void 0&&t.defaultDueDate!=="none"&&(n.due=qo(t.defaultDueDate)),n.scheduled===void 0&&t.defaultScheduledDate!=="none"&&(n.scheduled=qo(t.defaultScheduledDate)),!n.contexts&&t.defaultContexts&&(n.contexts=t.defaultContexts.split(",").map(s=>s.trim()).filter(s=>s)),!n.projects&&t.defaultProjects&&(n.projects=t.defaultProjects.split(",").map(s=>s.trim()).filter(s=>s)),!n.tags&&t.defaultTags&&(n.tags=t.defaultTags.split(",").map(s=>s.trim()).filter(s=>s)),!n.timeEstimate&&t.defaultTimeEstimate>0&&(n.timeEstimate=t.defaultTimeEstimate),!n.recurrence&&t.defaultRecurrence&&t.defaultRecurrence!=="none"){let s={daily:"FREQ=DAILY",weekly:"FREQ=WEEKLY",monthly:"FREQ=MONTHLY",yearly:"FREQ=YEARLY"};n.recurrence=s[t.defaultRecurrence]||void 0}if(!n.reminders&&t.defaultReminders&&t.defaultReminders.length>0){let{convertDefaultRemindersToReminders:s}=await Promise.resolve().then(()=>(lP(),oP));n.reminders=s(t.defaultReminders)}let i=this.plugin.settings.userFields;if(i&&i.length>0){n.customFrontmatter||(n.customFrontmatter={});for(let s of i)if(s.defaultValue!==void 0&&n.customFrontmatter[s.key]===void 0)if(s.type==="date"&&typeof s.defaultValue=="string"){let a=qo(s.defaultValue);a&&(n.customFrontmatter[s.key]=a)}else n.customFrontmatter[s.key]=s.defaultValue}return n}async toggleStatus(e){try{let n=this.plugin.statusManager.isCompletedStatus(e.status)?this.plugin.settings.defaultTaskStatus:this.plugin.statusManager.getCompletedStatuses()[0]||"done";return await this.updateProperty(e,"status",n)}catch(t){let n=t instanceof Error?t.message:String(t);throw console.error("Error toggling task status:",{error:n,stack:t instanceof Error?t.stack:void 0,taskPath:e.path,currentStatus:e.status}),new Error(`Failed to toggle task status: ${n}`)}}async updateProperty(e,t,n,i={}){try{let s=this.plugin.app.vault.getAbstractFileByPath(e.path);if(!(s instanceof Bn.TFile))throw new Error(`Cannot find task file: ${e.path}`);let a=await this.plugin.cacheManager.getTaskInfo(e.path)||e,o={...a},l=t==="status"?this.normalizeStatusValue(n):n;if(o[t]=l,o.dateModified=Ve(),t==="status"&&!a.recurrence){let c=this.normalizeStatusValue(l);this.plugin.statusManager.isCompletedStatus(c)?o.completedDate=mg():o.completedDate=void 0}return await this.plugin.app.fileManager.processFrontMatter(s,c=>{let d=this.plugin.fieldMapper.toUserField(t);if(t==="status"){let p=this.normalizeStatusValue(l),m=p.toLowerCase(),f=m==="true"||m==="false"?m==="true":p;c[d]=f,this.updateCompletedDateInFrontmatter(c,p,!!a.recurrence)}else(t==="due"||t==="scheduled")&&!n?delete c[d]:c[d]=l;let u=this.plugin.fieldMapper.toUserField("dateModified");c[u]=o.dateModified}),await this.applyPropertyChangeSideEffects(s,e,o,t,e[t],l),o}catch(s){let a=s instanceof Error?s.message:String(s);throw console.error("Error updating task property:",{error:a,stack:s instanceof Error?s.stack:void 0,taskPath:e.path,property:t,value:n}),new Error(`Failed to update task property: ${a}`)}}async applyPropertyChangeSideEffects(e,t,n,i,s,a){var o;try{this.plugin.cacheManager.waitForFreshTaskData&&await this.plugin.cacheManager.waitForFreshTaskData(e),this.plugin.cacheManager.updateTaskInfoInCache(t.path,n)}catch(l){console.error("Error updating task cache:",{error:l instanceof Error?l.message:String(l),taskPath:t.path})}try{if(this.plugin.emitter.trigger(Vt,{path:t.path,originalTask:t,updatedTask:n}),i==="status"){let l=this.plugin.statusManager.isCompletedStatus(this.normalizeStatusValue(s)),c=this.plugin.statusManager.isCompletedStatus(this.normalizeStatusValue(a));if(l!==c){let d=this.plugin.cacheManager.getBlockedTaskPaths(t.path);for(let u of d)try{let p=await this.plugin.cacheManager.getTaskInfo(u);p&&this.plugin.emitter.trigger(Vt,{path:u,originalTask:p,updatedTask:p})}catch(p){console.error(`Error triggering update for dependent task ${u}:`,p)}}}}catch(l){console.error("Error emitting task update event:",{error:l instanceof Error?l.message:String(l),taskPath:t.path})}if(this.webhookNotifier)try{let l=i==="status"&&this.plugin.statusManager.isCompletedStatus(this.normalizeStatusValue(s)),c=i==="status"&&this.plugin.statusManager.isCompletedStatus(this.normalizeStatusValue(a));i==="status"&&!l&&c?await this.webhookNotifier.triggerWebhook("task.completed",{task:n}):await this.webhookNotifier.triggerWebhook("task.updated",{task:n,previous:t})}catch(l){console.warn("Failed to trigger webhook for property update:",l)}if((o=this.plugin.taskCalendarSyncService)!=null&&o.isEnabled()){let l=i==="status"&&this.plugin.statusManager.isCompletedStatus(this.normalizeStatusValue(s)),c=i==="status"&&this.plugin.statusManager.isCompletedStatus(this.normalizeStatusValue(a));(i==="status"&&!l&&c?this.plugin.taskCalendarSyncService.completeTaskInCalendar(n):this.plugin.taskCalendarSyncService.updateTaskInCalendar(n,t)).catch(u=>{console.warn("Failed to sync task update to Google Calendar:",u)})}if(this.autoArchiveService&&i==="status"&&a!==s)try{let l=this.plugin.statusManager.getStatusConfig(a);l&&(l.autoArchive?await this.autoArchiveService.scheduleAutoArchive(n,l):await this.autoArchiveService.cancelAutoArchive(n.path))}catch(l){console.warn("Failed to handle auto-archive for status property change:",l)}}async toggleArchive(e){var l,c,d,u;let t=this.plugin.app.vault.getAbstractFileByPath(e.path);if(!(t instanceof Bn.TFile))throw new Error(`Cannot find task file: ${e.path}`);let n=this.plugin.fieldMapper.getMapping().archiveTag,i=e.archived,s={...e};s.archived=!i,s.dateModified=Ve(),s.tags||(s.tags=[]),i?s.tags=s.tags.filter(p=>p!==n):s.tags.includes(n)||(s.tags=[...s.tags,n]),await this.plugin.app.fileManager.processFrontMatter(t,p=>{let m=this.plugin.fieldMapper.toUserField("dateModified");i?p.tags&&Array.isArray(p.tags)&&(p.tags=p.tags.filter(f=>f!==n),p.tags.length===0&&delete p.tags):(p.tags?Array.isArray(p.tags)||(p.tags=[p.tags]):p.tags=[],p.tags.includes(n)||p.tags.push(n)),p[m]=s.dateModified});let a=t;if(this.plugin.settings.moveArchivedTasks)try{if(!i&&((l=this.plugin.settings.archiveFolder)!=null&&l.trim())){let p=this.plugin.settings.archiveFolder.trim(),m=this.processFolderTemplate(p,{title:s.title||"",priority:s.priority,status:s.status,contexts:s.contexts,projects:s.projects});await Nm(this.plugin.app.vault,m);let f=`${m}/${t.name}`;if(this.plugin.app.vault.getAbstractFileByPath(f))throw new Error(`A file named "${t.name}" already exists in the archive folder "${m}". Cannot move task to avoid overwriting existing file.`);await this.plugin.app.fileManager.renameFile(t,f);let g=this.plugin.app.vault.getAbstractFileByPath(f);if(!(g instanceof Bn.TFile))throw new Error(`Failed to resolve moved task file: ${f}`);a=g,s.path=f,this.plugin.cacheManager.clearCacheEntry(e.path)}else if(i&&((c=this.plugin.settings.tasksFolder)!=null&&c.trim())){let p=this.plugin.settings.tasksFolder.trim(),m=this.processFolderTemplate(p,{title:s.title||"",priority:s.priority,status:s.status,contexts:s.contexts,projects:s.projects});await Nm(this.plugin.app.vault,m);let f=`${m}/${t.name}`;if(this.plugin.app.vault.getAbstractFileByPath(f))throw new Error(`A file named "${t.name}" already exists in the tasks folder "${m}". Cannot move task to avoid overwriting existing file.`);await this.plugin.app.fileManager.renameFile(t,f);let g=this.plugin.app.vault.getAbstractFileByPath(f);if(!(g instanceof Bn.TFile))throw new Error(`Failed to resolve moved task file: ${f}`);a=g,s.path=f,this.plugin.cacheManager.clearCacheEntry(e.path)}}catch(p){let m=p instanceof Error?p.message:String(p),f=i?"unarchiving":"archiving";console.error(`Error moving ${f} task:`,m),new Bn.Notice(this.translate("services.task.notices.moveTaskFailed",{operation:f,error:m}))}let o=!0;if((d=this.plugin.taskCalendarSyncService)!=null&&d.isEnabled()&&s.archived&&this.hasGoogleCalendarLink(e)){let p=this.createArchiveCalendarDeletionTask(e,s);o=await this.deleteArchivedTaskFromCalendar(p),o&&this.clearGoogleCalendarMetadata(s)}try{a instanceof Bn.TFile&&this.plugin.cacheManager.waitForFreshTaskData&&await this.plugin.cacheManager.waitForFreshTaskData(a),this.plugin.cacheManager.updateTaskInfoInCache(s.path,s)}catch(p){console.error("Error updating cache for archived task:",p)}if(this.plugin.emitter.trigger(Vt,{path:s.path,originalTask:e,updatedTask:s}),this.webhookNotifier)try{s.archived?await this.webhookNotifier.triggerWebhook("task.archived",{task:s}):await this.webhookNotifier.triggerWebhook("task.unarchived",{task:s})}catch(p){console.warn("Failed to trigger webhook for task archive/unarchive:",p)}return(u=this.plugin.taskCalendarSyncService)!=null&&u.isEnabled()&&(s.archived?!o&&this.hasGoogleCalendarLink(s)&&console.warn("Archived task still has Google Calendar links and will need retry cleanup:",s.path):this.plugin.taskCalendarSyncService.updateTaskInCalendar(s,e).catch(p=>{console.warn("Failed to sync unarchived task to Google Calendar:",p)})),s}async startTimeTracking(e){var a;let t=this.plugin.app.vault.getAbstractFileByPath(e.path);if(!(t instanceof Bn.TFile))throw new Error(`Cannot find task file: ${e.path}`);if(this.plugin.getActiveTimeSession(e))throw new Error("Time tracking is already active for this task");let i={...e};i.dateModified=Ve(),i.timeEntries||(i.timeEntries=[]),i.timeEntries=i.timeEntries.map(o=>{let l={...o};return delete l.duration,l});let s={startTime:new Date().toISOString(),description:"Work session"};i.timeEntries=[...i.timeEntries,s],await this.plugin.app.fileManager.processFrontMatter(t,o=>{let l=this.plugin.fieldMapper.toUserField("timeEntries"),c=this.plugin.fieldMapper.toUserField("dateModified");o[l]||(o[l]=[]),Array.isArray(o[l])&&(o[l]=o[l].map(d=>{let u={...d};return delete u.duration,u})),o[l].push(s),o[c]=i.dateModified});try{this.plugin.cacheManager.waitForFreshTaskData&&await this.plugin.cacheManager.waitForFreshTaskData(t),this.plugin.cacheManager.updateTaskInfoInCache(e.path,i)}catch(o){console.error("Error updating cache for time tracking start:",o)}if(this.plugin.emitter.trigger(Vt,{path:e.path,originalTask:e,updatedTask:i}),this.webhookNotifier)try{await this.webhookNotifier.triggerWebhook("time.started",{task:i,session:(a=i.timeEntries)==null?void 0:a[i.timeEntries.length-1]})}catch(o){console.warn("Failed to trigger webhook for time tracking start:",o)}return i}async stopTimeTracking(e){var a;let t=this.plugin.app.vault.getAbstractFileByPath(e.path);if(!(t instanceof Bn.TFile))throw new Error(`Cannot find task file: ${e.path}`);let n=this.plugin.getActiveTimeSession(e);if(!n)throw new Error("No active time tracking session for this task");let i=new Date().toISOString(),s={...e};if(s.dateModified=Ve(),s.timeEntries&&Array.isArray(s.timeEntries)){s.timeEntries=s.timeEntries.map(l=>{let c={...l};return delete c.duration,c});let o=s.timeEntries.findIndex(l=>l.startTime===n.startTime&&!l.endTime);o!==-1&&(s.timeEntries=[...s.timeEntries],s.timeEntries[o]={...s.timeEntries[o],endTime:i})}await this.plugin.app.fileManager.processFrontMatter(t,o=>{let l=this.plugin.fieldMapper.toUserField("timeEntries"),c=this.plugin.fieldMapper.toUserField("dateModified");if(o[l]&&Array.isArray(o[l])){o[l]=o[l].map(u=>{let p={...u};return delete p.duration,p});let d=o[l].findIndex(u=>u.startTime===n.startTime&&!u.endTime);d!==-1&&(o[l][d].endTime=i)}o[c]=s.dateModified});try{this.plugin.cacheManager.waitForFreshTaskData&&await this.plugin.cacheManager.waitForFreshTaskData(t),this.plugin.cacheManager.updateTaskInfoInCache(e.path,s)}catch(o){console.error("Error updating cache for time tracking stop:",o)}if(this.plugin.emitter.trigger(Vt,{path:e.path,originalTask:e,updatedTask:s}),this.webhookNotifier)try{await this.webhookNotifier.triggerWebhook("time.stopped",{task:s,session:(a=s.timeEntries)==null?void 0:a[s.timeEntries.length-1]})}catch(o){console.warn("Failed to trigger webhook for time tracking stop:",o)}return s}async updateTask(e,t){return this.taskUpdateService.updateTask(e,t)}async updateBlockingRelationships(e,t,n,i={}){let s=Array.from(new Set(n)),a=Array.from(new Set(t));for(let o of s){let l=await this.plugin.cacheManager.getTaskInfo(o);if(!l)continue;let c=this.computeBlockedByUpdate(l,e.path,"remove");if(c===null)continue;let d={blockedBy:c.length>0?c:void 0};await this.updateTask(l,d)}for(let o of a){let l=await this.plugin.cacheManager.getTaskInfo(o);if(!l)continue;let c=this.computeBlockedByUpdate(l,e.path,"add",i[o]);c!==null&&await this.updateTask(l,{blockedBy:c})}}computeBlockedByUpdate(e,t,n,i){var c;let s=Array.isArray(e.blockedBy)?e.blockedBy.map(d=>El(d)).filter(d=>!!d):[];if(s.length===0&&n==="remove")return null;let a=!1,o=!1,l=[];for(let d of s){let u=Em(this.plugin.app,e.path,d);if(u&&u.path===t&&(o=!0,n==="remove")){a=!0;continue}l.push(d)}if(n==="add"&&!o){let d=i?El(i):null,p={uid:Ba(this.plugin.app,e.path,t,this.plugin.settings.useFrontmatterMarkdownLinks),reltype:(c=d==null?void 0:d.reltype)!=null?c:Ds};d!=null&&d.gap&&(p.gap=d.gap),l.push(p),a=!0}return a?l:null}async deleteTask(e){var t;try{let n=this.plugin.app.vault.getAbstractFileByPath(e.path);if(!(n instanceof Bn.TFile))throw new Error(`Cannot find task file: ${e.path}`);if((t=this.plugin.taskCalendarSyncService)!=null&&t.isEnabled()&&e.googleCalendarEventId)try{await this.plugin.taskCalendarSyncService.deleteTaskFromCalendarByPath(e.path,e.googleCalendarEventId)}catch(i){console.warn("Failed to delete task from Google Calendar:",i)}if(await this.plugin.app.fileManager.trashFile(n),this.plugin.cacheManager.clearCacheEntry(e.path),this.plugin.emitter.trigger(ug,{path:e.path,deletedTask:e}),this.webhookNotifier)try{await this.webhookNotifier.triggerWebhook("task.deleted",{task:e})}catch(i){console.warn("Failed to trigger webhook for task deletion:",i)}}catch(n){let i=n instanceof Error?n.message:String(n);throw console.error("Error deleting task:",{error:i,stack:n instanceof Error?n.stack:void 0,taskPath:e.path}),new Error(`Failed to delete task: ${i}`)}}async resolveRecurringTaskActionDate(e,t){if(t)return t;let n=await this.plugin.cacheManager.getTaskInfo(e.path)||e;return this.getRecurringTaskActionDate(n)}getRecurringTaskActionDate(e,t){if(t)return t;if(e.recurrence_anchor!=="completion"&&e.scheduled)return st(tt(e.scheduled));let n=kr();return en(n)}async toggleRecurringTaskComplete(e,t){var p;let n=this.plugin.app.vault.getAbstractFileByPath(e.path);if(!(n instanceof Bn.TFile))throw new Error(`Cannot find task file: ${e.path}`);let i=await this.plugin.cacheManager.getTaskInfo(e.path)||e;if(!i.recurrence)throw new Error("Task is not recurring");let s=this.getRecurringTaskActionDate(i,t),a=ue(s),o=Array.isArray(i.complete_instances)?i.complete_instances:[],c=!o.includes(a),d={...i};if(d.dateModified=Ve(),c){o.includes(a)||(d.complete_instances=[...o,a]);let m=Array.isArray(i.skipped_instances)?i.skipped_instances:[];d.skipped_instances=m.filter(f=>f!==a)}else{d.complete_instances=o.filter(f=>f!==a);let m=Array.isArray(i.skipped_instances)?i.skipped_instances:[];d.skipped_instances=m.filter(f=>f!==a)}if(c&&typeof d.recurrence=="string"){if((d.recurrence_anchor||"scheduled")==="completion"){let f=qD(d.recurrence,a);f&&(d.recurrence=f)}else if(!d.recurrence.includes("DTSTART:")){let f=nd(d);f&&(d.recurrence=f)}}let u=Am(d,this.plugin.settings.maintainDueDateOffsetInRecurring);if(u.scheduled&&(d.scheduled=u.scheduled),u.due&&(d.due=u.due),await this.plugin.app.fileManager.processFrontMatter(n,m=>{let f=this.plugin.fieldMapper.toUserField("completeInstances"),h=this.plugin.fieldMapper.toUserField("skippedInstances"),g=this.plugin.fieldMapper.toUserField("dateModified"),y=this.plugin.fieldMapper.toUserField("scheduled"),k=this.plugin.fieldMapper.toUserField("due"),T=this.plugin.fieldMapper.toUserField("recurrence");m[f]||(m[f]=[]),m[h]||(m[h]=[]);let w=m[f];c?w.includes(a)||(m[f]=[...w,a]):m[f]=w.filter(S=>S!==a),m[h]=d.skipped_instances||[],d.recurrence!==i.recurrence&&(m[T]=d.recurrence),d.scheduled&&(m[y]=d.scheduled),d.due&&(m[k]=d.due),m[g]=d.dateModified}),c&&this.plugin.settings.resetCheckboxesOnRecurrence){let m=await this.plugin.app.vault.read(n),{frontmatter:f,body:h}=Cg(m),{content:g,changed:y}=_ne(h);if(y){let k=f!==null?`---
${f}
---
`:"",T=g.trimEnd(),w=T.length>0?`${k}${T}
`:k;await this.plugin.app.vault.modify(n,w),d.details=g.replace(/\r\n/g,`
`).trimEnd()}}try{if(this.plugin.cacheManager.waitForFreshTaskData){let m={complete_instances:d.complete_instances};d.scheduled!==i.scheduled&&(m.scheduled=d.scheduled),d.due!==i.due&&(m.due=d.due),await this.plugin.cacheManager.waitForFreshTaskData(n)}this.plugin.cacheManager.updateTaskInfoInCache(i.path,d)}catch(m){console.error("Error updating cache for recurring task:",m)}if(this.plugin.emitter.trigger(Vt,{path:i.path,originalTask:i,updatedTask:d}),c&&this.webhookNotifier)try{await this.webhookNotifier.triggerWebhook("recurring.instance.completed",{task:d,date:a,targetDate:s})}catch(m){console.error("Error triggering recurring task completion webhook:",m)}return(p=this.plugin.taskCalendarSyncService)!=null&&p.isEnabled()&&this.plugin.taskCalendarSyncService.updateTaskInCalendar(d,i).catch(m=>{console.warn("Failed to sync recurring task update to Google Calendar:",m)}),d}async toggleRecurringTaskSkipped(e,t){var p;let n=this.plugin.app.vault.getAbstractFileByPath(e.path);if(!(n instanceof Bn.TFile))throw new Error(`Cannot find task file: ${e.path}`);let i=await this.plugin.cacheManager.getTaskInfo(e.path)||e;if(!i.recurrence)throw new Error("Task is not recurring");let s=this.getRecurringTaskActionDate(i,t),a=ue(s),o=Array.isArray(i.skipped_instances)?i.skipped_instances:[],c=!o.includes(a),d={...i};if(d.dateModified=Ve(),c){o.includes(a)||(d.skipped_instances=[...o,a]);let m=Array.isArray(i.complete_instances)?i.complete_instances:[];d.complete_instances=m.filter(f=>f!==a)}else d.skipped_instances=o.filter(m=>m!==a);let u=Am(d,this.plugin.settings.maintainDueDateOffsetInRecurring);u.scheduled&&(d.scheduled=u.scheduled),u.due&&(d.due=u.due),await this.plugin.app.fileManager.processFrontMatter(n,m=>{let f=this.plugin.fieldMapper.toUserField("skippedInstances"),h=this.plugin.fieldMapper.toUserField("completeInstances"),g=this.plugin.fieldMapper.toUserField("dateModified"),y=this.plugin.fieldMapper.toUserField("scheduled"),k=this.plugin.fieldMapper.toUserField("due");m[f]||(m[f]=[]),m[f]=d.skipped_instances||[],m[h]||(m[h]=[]),m[h]=d.complete_instances||[],d.scheduled&&(m[y]=d.scheduled),d.due&&(m[k]=d.due),m[g]=d.dateModified});try{this.plugin.cacheManager.waitForFreshTaskData&&await this.plugin.cacheManager.waitForFreshTaskData(n),this.plugin.cacheManager.updateTaskInfoInCache(i.path,d)}catch(m){console.error("Error updating cache for skipped recurring task:",m)}if(this.plugin.emitter.trigger(Vt,{path:i.path,originalTask:i,updatedTask:d}),c&&this.webhookNotifier)try{await this.webhookNotifier.triggerWebhook("recurring.instance.skipped",{task:d,date:a,targetDate:s})}catch(m){console.error("Error triggering recurring task skip webhook:",m)}return(p=this.plugin.taskCalendarSyncService)!=null&&p.isEnabled()&&this.plugin.taskCalendarSyncService.updateTaskInCalendar(d,i).catch(m=>{console.warn("Failed to sync recurring task skip to Google Calendar:",m)}),d}async deleteTimeEntry(e,t){let n=this.plugin.app.vault.getAbstractFileByPath(e.path);if(!(n instanceof Bn.TFile))throw new Error(`Cannot find task file: ${e.path}`);if(!e.timeEntries||!Array.isArray(e.timeEntries))throw new Error("Task has no time entries");if(t<0||t>=e.timeEntries.length)throw new Error("Invalid time entry index");let i={...e};i.dateModified=Ve(),i.timeEntries=e.timeEntries.filter((s,a)=>a!==t),await this.plugin.app.fileManager.processFrontMatter(n,s=>{let a=this.plugin.fieldMapper.toUserField("timeEntries"),o=this.plugin.fieldMapper.toUserField("dateModified");s[a]&&Array.isArray(s[a])&&(s[a]=s[a].filter((l,c)=>c!==t)),s[o]=i.dateModified});try{this.plugin.cacheManager.waitForFreshTaskData&&await this.plugin.cacheManager.waitForFreshTaskData(n),this.plugin.cacheManager.updateTaskInfoInCache(e.path,i)}catch(s){console.error("Error updating cache for time entry deletion:",s)}return this.plugin.emitter.trigger(Vt,{path:e.path,originalTask:e,updatedTask:i}),i}updateCompletedDateInFrontmatter(e,t,n){if(n)return;let i=this.plugin.fieldMapper.toUserField("completedDate");this.plugin.statusManager.isCompletedStatus(t)?e[i]=mg():e[i]&&delete e[i]}extractProjectBasename(e){return bg(e,this.plugin.app)}}});var Wl,bS=v(()=>{Wl=class{constructor(){this.events={}}on(e,t){return this.events[e]||(this.events[e]=[]),this.events[e].push(t),()=>{let n=this.events[e];if(!n)return;let i=n.filter(s=>s!==t);i.length>0?this.events[e]=i:delete this.events[e]}}emit(e,...t){this.events[e]&&this.events[e].forEach(n=>{n(...t)})}removeAllListeners(e){e?delete this.events[e]:this.events={}}}});var y_,cpe=v(()=>{jr();y_=class{constructor(e){this.deps=e;this.indexQueryCache=new Map;this.cacheTimers=new Map;this.cacheTimeout=3e4}getIndexOptimizedTaskPaths(e){let t=this.analyzeQueryOptimizationSafety(e);if(!t.canOptimize)return this.deps.cacheManager.getAllTaskPaths();if(t.strategy==="intersect"){let n=this.getPathsForIndexableCondition(t.conditions[0]);for(let i=1;i<t.conditions.length;i++){let s=this.getPathsForIndexableCondition(t.conditions[i]);n=this.intersectPathSets(n,s)}return n}return t.strategy==="single"?this.getPathsForIndexableCondition(t.conditions[0]):this.deps.cacheManager.getAllTaskPaths()}clearIndexQueryCache(){for(let e of this.cacheTimers.values())window.clearTimeout(e);this.indexQueryCache.clear(),this.cacheTimers.clear()}getCacheStats(){return{entryCount:this.indexQueryCache.size,cacheKeys:Array.from(this.indexQueryCache.keys()),timeoutMs:this.cacheTimeout}}analyzeQueryOptimizationSafety(e){let t=this.findIndexableConditions(e);return t.length===0?{canOptimize:!1,conditions:[],reason:"No indexable conditions found"}:this.isSimpleQuery(e,t)?{canOptimize:!0,strategy:t.length===1?"single":"intersect",conditions:t}:{canOptimize:!1,conditions:t,reason:"Complex query structure with OR conditions - optimization not safe"}}isSimpleQuery(e,t){return t.length===0||this.hasIndexableConditionInOrGroup(e,t)?!1:t.length===1||e.type==="group"&&e.conjunction==="and"&&e.children.filter(i=>i.type==="condition"&&this.isIndexableCondition(i)).length===t.length}hasIndexableConditionInOrGroup(e,t){return this.checkNodeForOrWithIndexable(e,t)}checkNodeForOrWithIndexable(e,t){if(e.type==="condition")return!1;if(e.type==="group"){if(e.conjunction==="or"&&e.children.some(i=>i.type==="condition"&&t.includes(i)))return!0;for(let n of e.children)if(this.checkNodeForOrWithIndexable(n,t))return!0}return!1}findIndexableConditions(e){let t=[];if(e.type==="condition")this.isIndexableCondition(e)&&t.push(e);else if(e.type==="group")for(let n of e.children)t.push(...this.findIndexableConditions(n));return t}isIndexableCondition(e){let{property:t,operator:n,value:i}=e;return!!(t==="status"&&n==="is"&&i||t==="due"&&(n==="is"||n==="is-before"||n==="is-after")&&i||t==="scheduled"&&(n==="is"||n==="is-before"||n==="is-after")&&i)}getCachedIndexResult(e,t){let n=this.indexQueryCache.get(e);if(n)return new Set(n);let i=t();this.indexQueryCache.set(e,new Set(i));let s=this.cacheTimers.get(e);s&&window.clearTimeout(s);let a=window.setTimeout(()=>{this.indexQueryCache.delete(e),this.cacheTimers.delete(e)},this.cacheTimeout);return this.cacheTimers.set(e,a),i}getPathsForIndexableCondition(e){let{property:t,operator:n,value:i}=e,s=`${t}:${n}:${ie(i)}`;return this.getCachedIndexResult(s,()=>t==="status"&&n==="is"&&i&&typeof i=="string"?new Set(this.deps.cacheManager.getTaskPathsByStatus(i)):(t==="due"||t==="scheduled")&&n==="is"&&i&&typeof i=="string"?new Set(this.deps.cacheManager.getTasksForDate(i)):(t==="due"||t==="scheduled")&&(n==="is-before"||n==="is-after")&&i&&typeof i=="string"?this.getTaskPathsForDateRange(t,n,i):this.deps.cacheManager.getAllTaskPaths())}getTaskPathsForDateRange(e,t,n){return this.deps.cacheManager.getAllTaskPaths()}intersectPathSets(e,t){let n=new Set;for(let i of e)t.has(i)&&n.add(i);return n}}});var dpe={};et(dpe,{HierarchicalGroupingService:()=>Uj});function Hj(r){return r==null?"":typeof r=="string"?r.trim():typeof r=="number"||typeof r=="boolean"?String(r):""}var Uj,upe=v(()=>{Uj=class{constructor(e){this.resolveUserFieldValues=e}group(e,t,n,i="asc",s=[]){let a=new Map,o=(c,d)=>{var p,m,f,h,g,y,k,T;if(!d||d==="none")return["all"];let u=w=>{let S=w.map(Hj).filter(E=>E!=="");return S.length?S:[]};if(d.startsWith("user:")){let w=d.slice(5);if(this.resolveUserFieldValues){let C=this.resolveUserFieldValues(c,w)||[],D=u(C);return D.length?D:[`No ${w}`]}let S=(p=c.customProperties)==null?void 0:p[w];if(Array.isArray(S)){let C=u(S);return C.length?C:[`No ${w}`]}let E=Hj(S);return E!==""?[E]:[`No ${w}`]}switch(d){case"status":return[((m=c.status)!=null?m:"").trim()||"No Status"];case"priority":return[((f=c.priority)!=null?f:"").trim()||"No Priority"];case"context":{let w=u((h=c.contexts)!=null?h:[]);return w.length?w:["No Context"]}case"project":{let w=u((g=c.projects)!=null?g:[]).map(C=>{let D=C.match(/^\[\[([^|\]]+)(?:\|([^\]]+))?\]\]$/);if(D){let A=D[1]||"";return D[2]||A.split("#")[0].split("/").pop()||A||C}return C}),S=[],E=new Set;for(let C of w)E.has(C)||(E.add(C),S.push(C));return S.length?S:["No Project"]}case"tags":{let w=u((y=c.tags)!=null?y:[]);return w.length?w:["No Tag"]}case"due":{let w=((k=c.due)!=null?k:"").trim();return w?[w.split("T")[0]]:["No Due Date"]}case"scheduled":{let w=((T=c.scheduled)!=null?T:"").trim();return w?[w.split("T")[0]]:["No Scheduled Date"]}default:{let S=c[d];if(Array.isArray(S)){let C=u(S);return C.length?C:[`No ${d}`]}let E=Hj(S);return E!==""?[E]:[`No ${d}`]}}};for(let c of e){let d=o(c,t),u=o(c,n);for(let p of d){a.has(p)||a.set(p,new Map);let m=a.get(p);for(let f of u)m.has(f)||m.set(f,[]),m.get(f).push(c)}}let l=new Map;for(let[c,d]of a){let u=this.sortSubgroups(d,n,i,s);l.set(c,u)}return l}sortSubgroups(e,t,n,i){let s=Array.from(e.keys()),a=this.sortSubgroupKeys(s,t,n,i),o=new Map;for(let l of a)o.set(l,e.get(l));return o}sortSubgroupKeys(e,t,n,i){let s=o=>/^No\s/i.test(o);if(typeof t=="string"&&t.startsWith("user:")){let o=t.slice(5),l=i.find(u=>(u.id||u.key)===o),c=(u,p)=>{if(s(u)&&!s(p))return-1;if(!s(u)&&s(p))return 1;if((l==null?void 0:l.type)==="number"){let m=parseFloat(u),f=parseFloat(p),h=isNaN(m)?Number.POSITIVE_INFINITY:m,g=isNaN(f)?Number.POSITIVE_INFINITY:f;if(h!==g)return h-g}else if((l==null?void 0:l.type)==="boolean"){let m=u==="true"?0:u==="false"?1:2,f=p==="true"?0:p==="false"?1:2;if(m!==f)return m-f}else if((l==null?void 0:l.type)==="date"){let m=Date.parse(u),f=Date.parse(p),h=isNaN(m)?Number.POSITIVE_INFINITY:m,g=isNaN(f)?Number.POSITIVE_INFINITY:f;if(h!==g)return h-g}return u.localeCompare(p)},d=e.slice().sort(c);return n==="desc"?d.reverse():d}let a=e.slice().sort((o,l)=>s(o)&&!s(l)?-1:!s(o)&&s(l)?1:o.localeCompare(l));return n==="desc"?a.reverse():a}}});var pf,Ry,v_,ppe=v(()=>{pf=require("obsidian");Bo();bS();Om();Cr();Tn();gu();Qe();cpe();jr();Ry=class Ry extends Wl{constructor(t,n,i,s){super();this.plugin=s;this.filterOptionsCache=null;this.filterOptionsCacheTimestamp=0;this.filterOptionsCacheTTL=3e5;this.filterOptionsComputeCount=0;this.filterOptionsCacheHits=0;this.cacheManager=t,this.statusManager=n,this.priorityManager=i,this.queryPlanner=new y_({cacheManager:t}),Ry.lastInstance=this}translate(t,n,i){var s;try{if((s=this.plugin)!=null&&s.i18n)return this.plugin.i18n.translate(t,i)}catch(a){console.error("FilterService translation error:",a)}return n}static translateStatic(t,n){let i=Ry.lastInstance;return i?i.translate(t,n):n}getLocale(){var t,n,i;try{let s=(i=(n=(t=this.plugin)==null?void 0:t.i18n)==null?void 0:n.getCurrentLocale)==null?void 0:i.call(n);if(s)return s}catch(s){console.error("FilterService locale error:",s)}return"en"}getDueGroupLabel(t){switch(t){case"overdue":return this.translate("services.filter.groupLabels.due.overdue","Overdue");case"today":return this.translate("services.filter.groupLabels.due.today","Today");case"tomorrow":return this.translate("services.filter.groupLabels.due.tomorrow","Tomorrow");case"nextSevenDays":return this.translate("services.filter.groupLabels.due.nextSevenDays","Next seven days");case"later":return this.translate("services.filter.groupLabels.due.later","Later");case"none":return this.translate("services.filter.groupLabels.due.none","No due date");case"invalid":default:return this.translate("services.filter.groupLabels.invalidDate","Invalid date")}}getScheduledGroupLabel(t){switch(t){case"past":return this.translate("services.filter.groupLabels.scheduled.past","Past scheduled");case"today":return this.translate("services.filter.groupLabels.scheduled.today","Today");case"tomorrow":return this.translate("services.filter.groupLabels.scheduled.tomorrow","Tomorrow");case"nextSevenDays":return this.translate("services.filter.groupLabels.scheduled.nextSevenDays","Next seven days");case"later":return this.translate("services.filter.groupLabels.scheduled.later","Later");case"none":return this.translate("services.filter.groupLabels.scheduled.none","No scheduled date");case"invalid":default:return this.translate("services.filter.groupLabels.invalidDate","Invalid date")}}getNoProjectLabel(){return this.translate("services.filter.groupLabels.noProject","No project")}getNoTagsLabel(){return this.translate("services.filter.groupLabels.noTags","No tags")}getInvalidDateLabel(){return this.translate("services.filter.groupLabels.invalidDate","Invalid date")}async getGroupedTasks(t,n){try{vr.validateFilterNode(t,!1);let i=this.queryPlanner.getIndexOptimizedTaskPaths(t),a=(await this.pathsToTaskInfos(Array.from(i))).filter(l=>this.evaluateFilterNode(t,l,n)),o=this.sortTasks(a,t.sortKey||"due",t.sortDirection||"asc");return this.currentSortKey=t.sortKey||"due",this.currentSortDirection=t.sortDirection||"asc",this.groupTasks(o,t.groupKey||"none",n)}catch(i){if(i instanceof di||i instanceof id)return console.error("Filter error:",i.message,{nodeId:i.nodeId,field:i.field}),new Map;throw i}}async getHierarchicalGroupedTasks(t,n){var i,s;try{vr.validateFilterNode(t,!1);let a=this.queryPlanner.getIndexOptimizedTaskPaths(t),l=(await this.pathsToTaskInfos(Array.from(a))).filter(p=>this.evaluateFilterNode(t,p,n)),c=this.sortTasks(l,t.sortKey||"due",t.sortDirection||"asc");this.currentSortKey=t.sortKey||"due",this.currentSortDirection=t.sortDirection||"asc";let d=this.groupTasks(c,t.groupKey||"none",n),u=t.subgroupKey;if(u&&u!=="none"&&t.groupKey&&t.groupKey!=="none"){let{HierarchicalGroupingService:p}=await Promise.resolve().then(()=>(upe(),dpe)),m=(k,T)=>{var C,D,A;let S=(((D=(C=this.plugin)==null?void 0:C.settings)==null?void 0:D.userFields)||[]).find(N=>(N.id||N.key)===T||N.key===T),E=`No ${(S==null?void 0:S.displayName)||(S==null?void 0:S.key)||T}`;if(!S)return[E];try{let N=this.cacheManager.getApp(),V=N.vault.getAbstractFileByPath(k.path);if(!(V instanceof pf.TFile))return[E];let R=(A=N.metadataCache.getFileCache(V))==null?void 0:A.frontmatter,I=R?R[S.key]:void 0;switch(S.type){case"boolean":{if(typeof I=="boolean")return[I?"true":"false"];if(I==null)return[E];let O=String(I).trim().toLowerCase();return O==="true"||O==="false"?[O]:[E]}case"number":{if(typeof I=="number")return[String(I)];if(typeof I=="string"){let O=I.match(/^(\d+(?:\.\d+)?)/);return O?[O[1]]:[E]}return[E]}case"date":return I?[String(I)]:[E];case"list":{let O=this.normalizeUserListValue(I).filter(z=>!/^\[\[/.test(z));return O.length>0?O:[E]}case"text":default:{let O=String(I!=null?I:"").trim();return O?[O]:[E]}}}catch(N){return[E]}},h=new p(m).group(c,t.groupKey,u,this.currentSortDirection,((s=(i=this.plugin)==null?void 0:i.settings)==null?void 0:s.userFields)||[]),g=Array.from(d.keys()),y=new Map;for(let k of g){let T=h.get(k);T&&y.set(k,T)}for(let[k,T]of h)y.has(k)||y.set(k,T);return{groups:d,hierarchicalGroups:y}}return{groups:d}}catch(a){if(a instanceof di||a instanceof id)return console.error("Filter error (hierarchical):",a.message,{nodeId:a.nodeId}),{groups:new Map};throw a}}getCacheStats(){return this.queryPlanner.getCacheStats()}async pathsToTaskInfos(t){let n=[];for(let s=0;s<t.length;s+=50){let a=t.slice(s,s+50),o=await Promise.all(a.map(l=>this.cacheManager.getCachedTaskInfo(l)));for(let l of o)l&&n.push(l)}return n}evaluateFilterNode(t,n,i){return t.type==="condition"?this.evaluateCondition(t,n,i):t.type==="group"?this.evaluateGroup(t,n,i):!0}evaluateGroup(t,n,i){if(t.children.length===0)return!0;let s=t.children.filter(a=>a.type==="condition"?vr.isFilterNodeComplete(a):!0);return s.length===0?!0:t.conjunction==="and"?s.every(a=>this.evaluateFilterNode(a,n,i)):t.conjunction==="or"?s.some(a=>this.evaluateFilterNode(a,n,i)):!0}normalizeUserListValue(t){let n=[],i=o=>{if(!o)return;let l=String(o).trim();if(!l)return;let c=l.match(/^\[\[([^|\]]+)(?:\|([^\]]+))?\]\]$/);if(c){let d=c[1]||"",p=c[2]||d.split("#")[0].split("/").pop()||d;p&&n.push(p),n.push(l);return}n.push(l)};if(Array.isArray(t))for(let o of t)i(ie(o));else if(typeof t=="string"){let o=sa(t);for(let l of o)i(l)}else t!=null&&i(ie(t));let s=new Set,a=[];for(let o of n)s.has(o)||(s.add(o),a.push(o));return a}evaluateCondition(t,n,i){var c,d,u;let{property:s,operator:a,value:o}=t;if(typeof s=="string"&&s.startsWith("user:")){let p=s.slice(5),f=(((d=(c=this.plugin)==null?void 0:c.settings)==null?void 0:d.userFields)||[]).find(y=>(y.id||y.key)===p),h;if(f)try{let y=this.cacheManager.getApp(),k=y.vault.getAbstractFileByPath(n.path);if(k instanceof pf.TFile){let T=(u=y.metadataCache.getFileCache(k))==null?void 0:u.frontmatter,w=T?T[f.key]:void 0;switch(f.type){case"boolean":h=typeof w=="boolean"?w:String(w).toLowerCase()==="true";break;case"number":h=typeof w=="number"?w:w!=null?parseFloat(String(w)):void 0;break;case"list":h=this.normalizeUserListValue(w);break;default:h=w!=null?String(w):void 0}}}catch(y){}if((f==null?void 0:f.type)==="list"&&(a==="contains"||a==="does-not-contain")){let y=Array.isArray(h)?h:h!=null?[String(h)]:[],T=(Array.isArray(o)?o:[String(o!=null?o:"")]).some(w=>typeof w=="string"&&y.some(S=>typeof S=="string"&&S.toLowerCase().includes(w.toLowerCase())));return a==="contains"?T:!T}let g=(f==null?void 0:f.type)==="date"?"due":s;return vr.applyOperator(h,a,o,t.id,g)}let l=vr.getTaskPropertyValue(n,s);if(s==="status.isCompleted"){let p=Pg(n,i||new Date,this.statusManager.getCompletedStatuses()[0]);l=this.statusManager.isCompletedStatus(p)}return s==="projects"&&(a==="contains"||a==="does-not-contain")?this.evaluateProjectsCondition(l,a,o):vr.applyOperator(l,a,o,t.id,s)}evaluateProjectsCondition(t,n,i){if(!Array.isArray(t)||typeof i!="string")return!1;let s=this.extractProjectName(i);if(!s)return!1;let a=t.some(o=>{if(!o||typeof o!="string")return!1;let l=this.extractProjectName(o);return l?l===s?!0:this.compareProjectWikilinks(o,i):!1});return n==="contains"?a:!a}extractProjectName(t){var i;if(!t||typeof t!="string")return null;let n=bg(t,(i=this.plugin)==null?void 0:i.app);return n||null}compareProjectWikilinks(t,n){var l;if(!((l=this.plugin)!=null&&l.app))return!1;let i=this.extractWikilinkPath(t),s=this.extractWikilinkPath(n);if(!i||!s)return!1;let a=this.plugin.app.metadataCache.getFirstLinkpathDest(i,""),o=this.plugin.app.metadataCache.getFirstLinkpathDest(s,"");return a&&o?a.path===o.path:!1}extractWikilinkPath(t){return!t||typeof t!="string"?null:t.startsWith("[[")&&t.endsWith("]]")?t.slice(2,-2):t}resolveProjectToAbsolutePath(t){var s;if(!t||typeof t!="string")return t||"";if(!((s=this.plugin)!=null&&s.app))return t;let n=this.parseLinkToPath(t),i=this.plugin.app.metadataCache.getFirstLinkpathDest(n,"");return i?i.path.replace(/\.md$/,""):n.replace(/\.md$/,"")}parseLinkToPath(t){return dn(t)}getPreferredProjectFormat(t){let n=this.getNoProjectLabel();return!t||t===n?t:t.includes("/")||t.endsWith(".md")?`[[${t}]]`:`[[${t}]]`}async getTaskPathsInDateRange(t,n){let i=new Set,s=st(t),a=st(n);for(let d=new Date(s);d<=a;d.setDate(d.getDate()+1)){let u=P(d,"yyyy-MM-dd");this.cacheManager.getTaskPathsByDate(u).forEach(m=>i.add(m))}let o=this.cacheManager.getAllTaskPaths(),l=50,c=Array.from(o);for(let d=0;d<c.length;d+=l){let u=c.slice(d,d+l),p=await Promise.all(u.map(m=>this.cacheManager.getCachedTaskInfo(m)));for(let m of p)if(m&&m.recurrence&&!m.due){for(let f=new Date(s);f<=a;f.setDate(f.getDate()+1))if(WD(m,f)){i.add(m.path);break}}}return i}getOverdueTaskPaths(){return this.cacheManager.getOverdueTaskPaths()}combineTaskPathSets(t){let n=new Set;return t.forEach(i=>{i.forEach(s=>n.add(s))}),n}isDateInRange(t,n,i){try{let s=tt(t),a=tt(n),o=tt(i),l=nT(s),c=nT(a),d=nT(o);return l>=c&&l<=d}catch(s){return console.error("Error checking date range:",{dateString:t,startDateString:n,endDateString:i,error:s}),!1}}isSameDayAs(t,n){try{let i=P(t,"yyyy-MM-dd");return Ln(i,n)}catch(i){return console.error("Error comparing date object with date string:",{dateObj:t,dateString:n,error:i}),!1}}sortTasks(t,n,i){return t.sort((s,a)=>{let o=0;if(typeof n=="string"&&n.startsWith("user:"))o=this.compareByUserField(s,a,n);else switch(n){case"due":o=this.compareDates(s.due,a.due);break;case"scheduled":o=this.compareDates(s.scheduled,a.scheduled);break;case"priority":o=this.comparePriorities(s.priority,a.priority);break;case"status":o=this.compareStatuses(s.status,a.status);break;case"title":o=s.title.localeCompare(a.title);break;case"dateCreated":o=this.compareDates(s.dateCreated,a.dateCreated);break;case"completedDate":o=this.compareDates(s.completedDate,a.completedDate);break;case"tags":o=this.compareTags(s.tags,a.tags);break}return o===0&&(o=this.applyFallbackSorting(s,a,n)),i==="desc"?-o:o})}compareDates(t,n){if(!t&&!n)return 0;if(!t)return 1;if(!n)return-1;try{return Kc(t,n)?-1:Kc(n,t)?1:0}catch(i){return console.error("Error comparing dates time-aware:",{dateA:t,dateB:n,error:i}),t.localeCompare(n)}}comparePriorities(t,n){let i=this.priorityManager.getPriorityWeight(t);return this.priorityManager.getPriorityWeight(n)-i}compareStatuses(t,n){let i=this.statusManager.getStatusOrder(t),s=this.statusManager.getStatusOrder(n);return i-s}compareTags(t,n){let i=t&&t.length>0?t:[],s=n&&n.length>0?n:[];if(i.length===0&&s.length===0)return 0;if(i.length===0)return 1;if(s.length===0)return-1;let a=i[0].toLowerCase(),o=s[0].toLowerCase();return a.localeCompare(o)}applyFallbackSorting(t,n,i){let a=["scheduled","due","priority","title"].filter(o=>o!==i);for(let o of a){let l=0;switch(o){case"scheduled":l=this.compareDates(t.scheduled,n.scheduled);break;case"due":l=this.compareDates(t.due,n.due);break;case"priority":l=this.comparePriorities(t.priority,n.priority);break;case"title":l=t.title.localeCompare(n.title);break}if(l!==0)return l}return 0}compareByUserField(t,n,i){var u,p;let s=i.slice(5),o=(((p=(u=this.plugin)==null?void 0:u.settings)==null?void 0:p.userFields)||[]).find(m=>(m.id||m.key)===s);if(!o)return 0;let l=m=>{var f;try{let h=this.cacheManager.getApp(),g=h.vault.getAbstractFileByPath(m.path),y=g instanceof pf.TFile?(f=h.metadataCache.getFileCache(g))==null?void 0:f.frontmatter:void 0;return y?y[o.key]:void 0}catch(h){return}},c=l(t),d=l(n);switch(o.type){case"number":{let m=typeof c=="number"?c:c!=null?parseFloat(String(c)):NaN,f=typeof d=="number"?d:d!=null?parseFloat(String(d)):NaN,h=!isNaN(m),g=!isNaN(f);return h&&g?m-f:h&&!g?-1:!h&&g?1:0}case"boolean":{let m=g=>{if(typeof g=="boolean")return g;if(g==null)return;let y=ie(g).trim().toLowerCase();if(y==="true")return!0;if(y==="false")return!1},f=m(c),h=m(d);return f===h?0:f===!0?-1:h===!0?1:f===!1?-1:h===!1?1:0}case"date":{let m=c?Date.parse(String(c)):NaN,f=d?Date.parse(String(d)):NaN,h=!isNaN(m),g=!isNaN(f);return h&&g?m-f:h&&!g?-1:!h&&g?1:0}case"list":{let m=g=>{if(Array.isArray(g))return this.normalizeUserListValue(g)[0];if(typeof g=="string")return g.trim().length===0?"":this.normalizeUserListValue(g)[0]},f=m(c),h=m(d);return(f==null||f==="")&&(h==null||h==="")?0:f==null||f===""?1:h==null||h===""?-1:f.localeCompare(h)}case"text":default:{let m=c!=null?String(c):"",f=d!=null?String(d):"";return m.localeCompare(f)}}}groupTasks(t,n,i){var a,o,l,c,d;if(n==="none")return new Map([["all",t]]);let s=new Map;for(let u of t)if(n==="project"){let p=ku(u.projects||[]);if(p.length>0)for(let m of p){let f=this.resolveProjectToAbsolutePath(m);s.has(f)||s.set(f,[]),(a=s.get(f))==null||a.push(u)}else{let m=this.getNoProjectLabel();s.has(m)||s.set(m,[]),(o=s.get(m))==null||o.push(u)}}else if(n==="tags"){let p=u.tags||[];if(p.length>0)for(let m of p)s.has(m)||s.set(m,[]),(l=s.get(m))==null||l.push(u);else{let m=this.getNoTagsLabel();s.has(m)||s.set(m,[]),(c=s.get(m))==null||c.push(u)}}else{let p;if(typeof n=="string"&&n.startsWith("user:"))p=this.getUserFieldGroupValue(u,n);else switch(n){case"status":p=u.status||"no-status";break;case"priority":p=u.priority||"unknown";break;case"context":p=u.contexts&&u.contexts.length>0?u.contexts[0]:"none";break;case"due":p=this.getDueDateGroup(u,i);break;case"scheduled":p=this.getScheduledDateGroup(u,i);break;case"completedDate":p=this.getCompletedDateGroup(u);break;default:p="unknown"}s.has(p)||s.set(p,[]),(d=s.get(p))==null||d.push(u)}return this.sortGroups(s,n)}getUserFieldGroupValue(t,n){var o,l,c;let i=n.slice(5),a=(((l=(o=this.plugin)==null?void 0:o.settings)==null?void 0:l.userFields)||[]).find(d=>(d.id||d.key)===i);if(!a)return"unknown-field";try{let d=this.cacheManager.getApp(),u=d.vault.getAbstractFileByPath(t.path);if(!(u instanceof pf.TFile))return"no-value";let p=(c=d.metadataCache.getFileCache(u))==null?void 0:c.frontmatter,m=p?p[a.key]:void 0;switch(a.type){case"boolean":{if(typeof m=="boolean")return m?"true":"false";if(m==null)return"no-value";let f=String(m).trim().toLowerCase();return f==="true"?"true":f==="false"?"false":"no-value"}case"number":{if(typeof m=="number")return String(m);if(typeof m=="string"){let f=m.match(/^(\d+(?:\.\d+)?)/);return f?f[1]:"non-numeric"}return"no-value"}case"date":return m?String(m):"no-date";case"list":{if(Array.isArray(m)){let f=this.normalizeUserListValue(m);return f.length>0?f[0]:"empty"}if(typeof m=="string"){if(m.trim().length===0)return"empty";let f=this.normalizeUserListValue(m);return f.length>0?f[0]:"empty"}return"no-value"}case"text":default:return m?String(m).trim()||"empty":"no-value"}}catch(d){return console.error("Error extracting user field value for grouping",d),"error"}}getDueDateGroup(t,n){var o,l,c;let i=n||new Date;i.setHours(0,0,0,0);let s=this.statusManager.isCompletedStatus(t.status),a=(c=(l=(o=this.plugin)==null?void 0:o.settings)==null?void 0:l.hideCompletedFromOverdue)!=null?c:!0;if(t.recurrence)if(WD(t,i)){let d=P(i,"yyyy-MM-dd");return this.getDateGroupFromDateStringWithTask(d,s,a)}else return t.due?this.getDateGroupFromDateStringWithTask(t.due,s,a):this.getDueGroupLabel("none");return t.due?this.getDateGroupFromDateStringWithTask(t.due,s,a):this.getDueGroupLabel("none")}getDateGroupFromDateString(t){let n=cn();if(rs(t))return this.getDueGroupLabel("overdue");let i=tt(t);if(Ln(i,n))return this.getDueGroupLabel("today");try{let s=new Date;s.setDate(s.getDate()+1);let a=P(s,"yyyy-MM-dd");if(Ln(i,a))return this.getDueGroupLabel("tomorrow");let o=new Date;o.setDate(o.getDate()+7);let l=P(o,"yyyy-MM-dd");return Yc(i,l)||Ln(i,l)?this.getDueGroupLabel("nextSevenDays"):this.getDueGroupLabel("later")}catch(s){return console.error(`Error categorizing date ${t}:`,s),this.getInvalidDateLabel()}}getDueDateGroupFromDate(t){return this.getDateGroupFromDateString(t)}getDueDateGroupForTask(t){var s,a,o;if(!t.due)return"No due date";let n=this.statusManager.isCompletedStatus(t.status),i=(o=(a=(s=this.plugin)==null?void 0:s.settings)==null?void 0:a.hideCompletedFromOverdue)!=null?o:!0;return this.getDateGroupFromDateStringWithTask(t.due,n,i)}getDateGroupFromDateStringWithTask(t,n,i){let s=cn();if(rs(t,n,i))return this.getDueGroupLabel("overdue");let a=tt(t);if(Ln(a,s))return this.getDueGroupLabel("today");try{let o=new Date;o.setDate(o.getDate()+1);let l=P(o,"yyyy-MM-dd");if(Ln(a,l))return this.getDueGroupLabel("tomorrow");let c=new Date;c.setDate(c.getDate()+7);let d=P(c,"yyyy-MM-dd");return Yc(a,d)||Ln(a,d)?this.getDueGroupLabel("nextSevenDays"):this.getDueGroupLabel("later")}catch(o){return console.error(`Error categorizing date ${t}:`,o),this.getInvalidDateLabel()}}getScheduledDateGroup(t,n){var a,o,l;if(!t.scheduled)return this.getScheduledGroupLabel("none");let i=this.statusManager.isCompletedStatus(t.status),s=(l=(o=(a=this.plugin)==null?void 0:a.settings)==null?void 0:o.hideCompletedFromOverdue)!=null?l:!0;return this.getScheduledDateGroupForTask(t.scheduled,i,s)}getScheduledDateGroupForTask(t,n,i){let s=cn();if(rs(t,n,i))return this.getScheduledGroupLabel("past");let a=tt(t);if(Ln(a,s))return this.getScheduledGroupLabel("today");try{let o=new Date;o.setDate(o.getDate()+1);let l=P(o,"yyyy-MM-dd");if(Ln(a,l))return this.getScheduledGroupLabel("tomorrow");let c=new Date;c.setDate(c.getDate()+7);let d=P(c,"yyyy-MM-dd");return Yc(a,d)||Ln(a,d)?this.getScheduledGroupLabel("nextSevenDays"):this.getScheduledGroupLabel("later")}catch(o){return console.error(`Error categorizing scheduled date ${t}:`,o),this.getInvalidDateLabel()}}getScheduledDateGroupFromDate(t){let n=cn();if(rs(t))return this.getScheduledGroupLabel("past");let i=tt(t);if(Ln(i,n))return this.getScheduledGroupLabel("today");try{let s=new Date;s.setDate(s.getDate()+1);let a=P(s,"yyyy-MM-dd");if(Ln(i,a))return this.getScheduledGroupLabel("tomorrow");let o=new Date;o.setDate(o.getDate()+7);let l=P(o,"yyyy-MM-dd");return Yc(i,l)||Ln(i,l)?this.getScheduledGroupLabel("nextSevenDays"):this.getScheduledGroupLabel("later")}catch(s){return console.error(`Error categorizing scheduled date ${t}:`,s),this.getInvalidDateLabel()}}getCompletedDateGroup(t){if(!t.completedDate)return"Not completed";try{let n=ia(t.completedDate);return P(n,"yyyy-MM-dd")}catch(n){return console.error(`Error formatting completed date ${t.completedDate}:`,n),"Invalid date"}}sortGroups(t,n){let i=new Map,s;if(typeof n=="string"&&n.startsWith("user:"))s=this.sortUserFieldGroups(Array.from(t.keys()),n),this.currentSortKey===n&&this.currentSortDirection==="desc"&&s.reverse();else switch(n){case"priority":s=Array.from(t.keys()).sort((a,o)=>{let l=this.priorityManager.getPriorityWeight(a);return this.priorityManager.getPriorityWeight(o)-l});break;case"status":s=Array.from(t.keys()).sort((a,o)=>{let l=this.statusManager.getStatusOrder(a),c=this.statusManager.getStatusOrder(o);return l-c});break;case"due":{let a=["overdue","today","tomorrow","nextSevenDays","later","none"],o=new Map(a.map((l,c)=>[this.getDueGroupLabel(l),c]));s=Array.from(t.keys()).sort((l,c)=>{var p,m;let d=(p=o.get(l))!=null?p:a.length,u=(m=o.get(c))!=null?m:a.length;return d-u});break}case"scheduled":{let a=["past","today","tomorrow","nextSevenDays","later","none"],o=new Map(a.map((l,c)=>[this.getScheduledGroupLabel(l),c]));s=Array.from(t.keys()).sort((l,c)=>{var p,m;let d=(p=o.get(l))!=null?p:a.length,u=(m=o.get(c))!=null?m:a.length;return d-u});break}case"project":s=Array.from(t.keys()).sort((a,o)=>{let l=this.getNoProjectLabel();return a===l?1:o===l?-1:a==null?1:o==null?-1:a.localeCompare(o,this.getLocale())});break;case"tags":s=Array.from(t.keys()).sort((a,o)=>{let l=this.getNoTagsLabel();return a===l?1:o===l?-1:a==null?1:o==null?-1:a.localeCompare(o,this.getLocale())});break;case"completedDate":s=Array.from(t.keys()).sort((a,o)=>{let l="Not completed";if(a===l)return 1;if(o===l)return-1;if(a==="Invalid date")return 1;if(o==="Invalid date")return-1;if(a==null||o==null){if(a==null)return 1;if(o==null)return-1}return o.localeCompare(a)});break;default:s=Array.from(t.keys()).sort((a,o)=>a==null?1:o==null?-1:a.localeCompare(o,this.getLocale()))}for(let a of s){let o=t.get(a);o&&i.set(a,o)}return i}sortUserFieldGroups(t,n){var o,l;let i=n.slice(5),a=(((l=(o=this.plugin)==null?void 0:o.settings)==null?void 0:l.userFields)||[]).find(c=>(c.id||c.key)===i);if(!a)return t.sort();switch(a.type){case"number":return t.sort((c,d)=>{let u=parseFloat(c),p=parseFloat(d),m=!isNaN(u),f=!isNaN(p);return m&&f?p-u:m&&!f?-1:!m&&f||c==null?1:d==null?-1:c.localeCompare(d)});case"boolean":return t.sort((c,d)=>c==="true"&&d==="false"?-1:c==="false"&&d==="true"||c==null?1:d==null?-1:c.localeCompare(d));case"date":return t.sort((c,d)=>{let u=Date.parse(c),p=Date.parse(d),m=!isNaN(u),f=!isNaN(p);return m&&f?u-p:m&&!f?-1:!m&&f||c==null?1:d==null?-1:c.localeCompare(d)});case"text":case"list":default:return t.sort((c,d)=>c==null?1:d==null?-1:c.localeCompare(d))}}async getFilterOptions(){let t=Date.now();if(this.filterOptionsCache&&t-this.filterOptionsCacheTimestamp<this.filterOptionsCacheTTL)return this.filterOptionsCacheHits++,this.filterOptionsCache;let n={statuses:this.statusManager.getAllStatuses(),priorities:this.priorityManager.getAllPriorities(),contexts:this.cacheManager.getAllContexts(),projects:this.cacheManager.getAllProjects(),tags:this.cacheManager.getAllTags(),folders:this.extractUniqueFolders(),userProperties:this.buildUserPropertyDefinitions()};return this.filterOptionsComputeCount++,this.filterOptionsCache=n,this.filterOptionsCacheTimestamp=t,n}buildUserPropertyDefinitions(){var i,s;let t=((s=(i=this.plugin)==null?void 0:i.settings)==null?void 0:s.userFields)||[],n=[];for(let a of t){if(!a||!a.key||!a.displayName)continue;let o=`user:${a.id||a.key}`,l,c;switch(a.type){case"number":l=["is","is-not","is-greater-than","is-less-than","is-greater-than-or-equal","is-less-than-or-equal","is-empty","is-not-empty"],c="number";break;case"date":l=["is","is-not","is-before","is-after","is-on-or-before","is-on-or-after","is-empty","is-not-empty"],c="date";break;case"boolean":l=["is-checked","is-not-checked"],c="none";break;case"list":l=["contains","does-not-contain","is-empty","is-not-empty"],c="text";break;case"text":default:l=["is","is-not","contains","does-not-contain","is-empty","is-not-empty"],c="text";break}n.push({id:o,label:a.displayName,category:a.type==="boolean"?"boolean":a.type==="number"?"numeric":a.type==="date"?"date":"text",supportedOperators:l,valueInputType:c})}return n}checkAndInvalidateFilterOptionsCache(){if(!this.filterOptionsCache)return;Date.now()-this.filterOptionsCacheTimestamp>3e4&&this.invalidateFilterOptionsCache()}invalidateFilterOptionsCache(){this.filterOptionsCache&&(this.filterOptionsCache=null)}refreshFilterOptions(){this.invalidateFilterOptionsCache()}getFilterOptionsCacheStats(){let t=Date.now(),n=this.filterOptionsCache?t-this.filterOptionsCacheTimestamp:0,i=this.filterOptionsCache?Math.max(0,this.filterOptionsCacheTTL-n):0,s=this.filterOptionsCacheHits+this.filterOptionsComputeCount,a=s>0?(this.filterOptionsCacheHits/s*100).toFixed(1)+"%":"0%";return{cacheHits:this.filterOptionsCacheHits,computeCount:this.filterOptionsComputeCount,hitRate:a,isCurrentlyCached:!!this.filterOptionsCache,cacheAge:n,ttlRemaining:i}}createDefaultQuery(){return{type:"group",id:vr.generateId(),conjunction:"and",children:[],sortKey:"due",sortDirection:"asc",groupKey:"none"}}addQuickToggleCondition(t,n,i){let s=JSON.parse(JSON.stringify(t));if(this.removeQuickToggleCondition(s,n),!i){let a;switch(n){case"showCompleted":a={type:"condition",id:vr.generateId(),property:"status.isCompleted",operator:"is-not-checked",value:null};break;case"showArchived":a={type:"condition",id:vr.generateId(),property:"archived",operator:"is-not-checked",value:null};break;case"showRecurrent":a={type:"condition",id:vr.generateId(),property:"recurrence",operator:"is-empty",value:null};break}s.children.push(a)}return s}removeQuickToggleCondition(t,n){let i;switch(n){case"showCompleted":i="status.isCompleted";break;case"showArchived":i="archived";break;case"showRecurrent":i="recurrence";break}t.children=t.children.filter(s=>s.type==="condition"?s.property!==i:!0)}normalizeQuery(t){let n=this.createDefaultQuery();return{...n,...t,type:"group",id:t.id||n.id,conjunction:t.conjunction||n.conjunction,children:t.children||n.children,sortKey:t.sortKey||n.sortKey,sortDirection:t.sortDirection||n.sortDirection,groupKey:t.groupKey||n.groupKey}}initialize(){this.cacheManager.on("file-updated",()=>{this.queryPlanner.clearIndexQueryCache(),this.checkAndInvalidateFilterOptionsCache(),this.emit("data-changed")}),this.cacheManager.on("file-added",()=>{this.queryPlanner.clearIndexQueryCache(),this.checkAndInvalidateFilterOptionsCache(),this.emit("data-changed")}),this.cacheManager.on("file-deleted",()=>{this.queryPlanner.clearIndexQueryCache(),this.checkAndInvalidateFilterOptionsCache(),this.emit("data-changed")}),this.cacheManager.on("file-renamed",()=>{this.queryPlanner.clearIndexQueryCache(),this.checkAndInvalidateFilterOptionsCache(),this.emit("data-changed")}),this.cacheManager.on("indexes-built",()=>{this.queryPlanner.clearIndexQueryCache(),this.checkAndInvalidateFilterOptionsCache(),this.emit("data-changed")})}cleanup(){this.queryPlanner.clearIndexQueryCache(),this.invalidateFilterOptionsCache(),this.removeAllListeners()}static createDateRangeFromDates(t){if(t.length===0)throw new Error(Ry.translateStatic("services.filter.errors.noDatesProvided","No dates provided"));let n=t[0],i=t[t.length-1];return{start:P(n,"yyyy-MM-dd"),end:P(i,"yyyy-MM-dd")}}static shouldIncludeOverdueForRange(t,n){if(!n)return!1;let s=P(new Date,"yyyy-MM-dd");return t.some(a=>P(a,"yyyy-MM-dd")===s)}async getTasksForDate(t,n,i=!1){let s=ue(t),a=iT(s),o=this.cacheManager.getAllTaskPaths(),d=(await this.pathsToTaskInfos(Array.from(o))).filter(u=>this.evaluateFilterNode(n,u)).filter(u=>{var p,m,f;if(u.recurrence){let h=st(s);return WD(u,h)}if(u.due&&tt(u.due)===s||u.scheduled&&tt(u.scheduled)===s)return!0;if(i&&a){let h=this.statusManager.isCompletedStatus(u.status),g=(f=(m=(p=this.plugin)==null?void 0:p.settings)==null?void 0:m.hideCompletedFromOverdue)!=null?f:!0;if(u.due&&tt(u.due)!==s&&rs(u.due,h,g)||u.scheduled&&tt(u.scheduled)!==s&&rs(u.scheduled,h,g))return!0}return!1});return this.sortTasks(d,n.sortKey||"due",n.sortDirection||"asc")}async getOverdueTasks(t){let n=this.cacheManager.getAllTaskPaths(),a=(await this.pathsToTaskInfos(Array.from(n))).filter(o=>this.evaluateFilterNode(t,o)).filter(o=>{var d,u,p;let l=this.statusManager.isCompletedStatus(o.status),c=(p=(u=(d=this.plugin)==null?void 0:d.settings)==null?void 0:u.hideCompletedFromOverdue)!=null?p:!0;return o.recurrence?!!(o.due&&rs(o.due,l,c)||o.scheduled&&rs(o.scheduled,l,c)):!!(o.due&&rs(o.due,l,c)||o.scheduled&&rs(o.scheduled,l,c))});return this.sortTasks(a,t.sortKey||"due",t.sortDirection||"asc")}async getAgendaDataWithOverdue(t,n,i=!1){let s=[];for(let o of t){let l=await this.getTasksForDate(o,n,!1);s.push({date:new Date(o),tasks:l})}let a=i?await this.getOverdueTasks(n):[];return{dailyData:s,overdueTasks:a}}async getAgendaData(t,n,i=!1){let s=[];for(let a of t){let o=await this.getTasksForDate(a,n,i&&DL(a));s.push({date:new Date(a),tasks:o})}return s}async getFlatAgendaData(t,n,i=!1){let s=await this.getAgendaData(t,n,i),a=[];for(let o of s)for(let l of o.tasks)a.push({...l,agendaDate:o.date});return a}extractUniqueFolders(){let t=this.cacheManager.getAllTaskPaths(),n=new Set;for(let a of t){let o=a.lastIndexOf("/");if(o>0){let l=a.substring(0,o);n.add(l)}else o===-1&&n.add("")}let i=Array.from(n).sort(),s=this.translate("services.filter.folders.root","(Root)");return i.map(a=>a===""?s:a)}extractProjectNamesFromTaskValue(t,n){if(!t||t.trim()===""||t==='""')return[];let i=t.replace(/^"(.*)"$/,"$1");if(i.startsWith("[[")&&i.endsWith("]]")){let s=i.slice(2,-2),a=(0,pf.parseLinktext)(s),o=this.cacheManager.getApp().metadataCache.getFirstLinkpathDest(a.path,n);if(o)return[o.basename];{let l=a.subpath||(a.path.includes("/")?a.path.split("/").pop():a.path);return l?[l]:[]}}else return[i]}};Ry.lastInstance=null;v_=Ry});var Oy,Vj=v(()=>{Oy=class{constructor(e,t){this.cache=e;this.statusManager=t}getStats(e){let t={},n={},i=0,s=0,a=0,o=0,l=0,c=0,d=new Date().toISOString().split("T")[0];for(let u of e){t[u.status]=(t[u.status]||0)+1,n[u.priority]=(n[u.priority]||0)+1;let p=this.statusManager.isCompletedStatus(u.status);u.archived&&o++,p&&i++,!p&&!u.archived&&s++,u.due&&u.due<d&&!p&&!u.archived&&a++,u.timeEntries&&u.timeEntries.length>0&&(l++,c+=u.totalTrackedTime||0)}return{total:e.length,statusCounts:t,priorityCounts:n,completed:i,active:s,overdue:a,archived:o,withTimeEntries:l,totalTrackedMinutes:c,totalTrackedHours:Math.round(c/60*100)/100}}async getAggregatedTimeEstimate(e){let t=this.cache.getAllTimeEstimates();if(t.size===0)return 0;let{start:n,end:i}=this.getDateRange(e),s=0;for(let[a,o]of t.entries()){let l=await this.cache.getTaskInfo(a);l&&this.isTaskInRange(l,n,i)&&(s+=o)}return s}isTaskInRange(e,t,n){let i=e.due||e.scheduled;if(!i)return!1;let s=new Date(i);return s>=t&&s<=n}getDateRange(e){if(typeof e!="string")return e;let t=new Date,n=new Date(t),i=new Date(t);switch(e){case"daily":n.setHours(0,0,0,0),i.setHours(23,59,59,999);break;case"weekly":{let s=t.getDay(),a=t.getDate()-s+(s===0?-6:1);n.setDate(a),n.setHours(0,0,0,0),i.setDate(n.getDate()+6),i.setHours(23,59,59,999);break}case"monthly":n.setDate(1),n.setHours(0,0,0,0),i.setMonth(n.getMonth()+1),i.setDate(0),i.setHours(23,59,59,999);break;case"yearly":n.setMonth(0,1),n.setHours(0,0,0,0),i.setFullYear(n.getFullYear()+1),i.setDate(0),i.setHours(23,59,59,999);break}return{start:n,end:i}}}});var b_,mpe=v(()=>{bS();Om();b_=class extends Wl{constructor(t,n){super();this.filterState={};this.viewPreferences={};this.savedViews=[];this.storageKey="tasknotes-view-filter-state";this.preferencesStorageKey="tasknotes-view-preferences";this.savedViewsStorageKey="tasknotes-saved-views";this.app=t,this.plugin=n,this.loadFromStorage(),this.loadPreferencesFromStorage(),this.savedViews=[...this.plugin.settings.savedViews]}async initializeSavedViews(){await this.migrateAndLoadSavedViews()}getFilterState(t){let n=this.filterState[t];if(n){if(typeof n!="object"||n.type!=="group"||!Array.isArray(n.children)||typeof n.conjunction!="string"){console.warn(`ViewStateManager: Ignoring old format filter state for ${t}, will use default`),delete this.filterState[t],this.saveToStorage();return}return vr.deepCloneFilterQuery(n)}}setFilterState(t,n){this.filterState[t]=vr.deepCloneFilterQuery(n),this.saveToStorage(),this.emit("filter-state-changed",{viewType:t,query:vr.deepCloneFilterQuery(n)})}clearFilterState(t){delete this.filterState[t],this.saveToStorage(),this.emit("filter-state-cleared",{viewType:t})}clearAllFilterStates(){this.filterState={},this.saveToStorage(),this.emit("all-filter-states-cleared")}getViewPreferences(t){return this.viewPreferences[t]}setViewPreferences(t,n){this.viewPreferences[t]={...n},this.savePreferencesToStorage(),this.emit("view-preferences-changed",{viewType:t,preferences:n})}clearViewPreferences(t){delete this.viewPreferences[t],this.savePreferencesToStorage(),this.emit("view-preferences-cleared",{viewType:t})}clearAllViewPreferences(){this.viewPreferences={},this.savePreferencesToStorage(),this.emit("all-view-preferences-cleared")}loadFromStorage(){try{let t=this.app.loadLocalStorage(this.storageKey);t&&typeof t=="string"&&(this.filterState=JSON.parse(t))}catch(t){console.warn("Failed to load view filter state from storage:",t),this.filterState={}}}saveToStorage(){try{this.app.saveLocalStorage(this.storageKey,JSON.stringify(this.filterState))}catch(t){console.warn("Failed to save view filter state to storage:",t)}}loadPreferencesFromStorage(){try{let t=this.app.loadLocalStorage(this.preferencesStorageKey);t&&typeof t=="string"&&(this.viewPreferences=JSON.parse(t))}catch(t){console.warn("Failed to load view preferences from storage:",t),this.viewPreferences={}}}savePreferencesToStorage(){try{this.app.saveLocalStorage(this.preferencesStorageKey,JSON.stringify(this.viewPreferences))}catch(t){console.warn("Failed to save view preferences to storage:",t)}}getAllFilterStates(){return{...this.filterState}}getSavedViews(){return this.savedViews.map(t=>({...t,query:vr.deepCloneFilterQuery(t.query),viewOptions:t.viewOptions?{...t.viewOptions}:void 0}))}saveView(t,n,i,s){let a={id:this.generateId(),name:t,query:vr.deepCloneFilterQuery(n),viewOptions:i?{...i}:void 0,visibleProperties:s?[...s]:void 0};return this.savedViews.push(a),this.saveSavedViewsToPluginData(),this.emit("saved-views-changed",this.getSavedViews()),a}updateView(t,n){let i=this.savedViews.findIndex(a=>a.id===t);if(i===-1)throw new Error(`Saved view with ID ${t} not found`);let s={...n};s.query&&(s.query=vr.deepCloneFilterQuery(s.query)),s.viewOptions&&(s.viewOptions={...s.viewOptions}),this.savedViews[i]={...this.savedViews[i],...s},this.saveSavedViewsToPluginData(),this.emit("saved-views-changed",this.getSavedViews())}deleteView(t){let n=this.savedViews.findIndex(i=>i.id===t);if(n===-1)throw new Error(`Saved view with ID ${t} not found`);this.savedViews.splice(n,1),this.saveSavedViewsToPluginData(),this.emit("saved-views-changed",this.getSavedViews())}getSavedView(t){let n=this.savedViews.find(i=>i.id===t);if(n)return{...n,query:vr.deepCloneFilterQuery(n.query),viewOptions:n.viewOptions?{...n.viewOptions}:void 0,visibleProperties:n.visibleProperties?[...n.visibleProperties]:void 0}}clearAllSavedViews(){this.savedViews=[],this.saveSavedViewsToPluginData(),this.emit("saved-views-changed",this.getSavedViews())}updateSavedViewProperties(t,n){let i=this.savedViews.find(s=>s.id===t);i&&(i.visibleProperties=n,this.saveSavedViewsToPluginData(),this.emit("saved-views-changed",this.getSavedViews()))}getSavedViewProperties(t){let n=this.savedViews.find(i=>i.id===t);return n==null?void 0:n.visibleProperties}reorderSavedViews(t,n){if(t<0||t>=this.savedViews.length||n<0||n>this.savedViews.length||t===n)return;n=Math.min(n,this.savedViews.length-1);let[i]=this.savedViews.splice(t,1);this.savedViews.splice(n,0,i),this.saveSavedViewsToPluginData(),this.emit("saved-views-changed",this.getSavedViews())}generateId(){return Date.now().toString(36)+Math.random().toString(36).slice(2,11)}async migrateAndLoadSavedViews(){try{this.savedViews=[...this.plugin.settings.savedViews];let t=this.app.loadLocalStorage(this.savedViewsStorageKey);if(t&&typeof t=="string"&&this.savedViews.length===0){let n=JSON.parse(t);this.savedViews=[...n],await this.saveSavedViewsToPluginData(),this.app.saveLocalStorage(this.savedViewsStorageKey,null)}}catch(t){console.warn("Failed to load/migrate saved views:",t),this.savedViews=[]}}async saveSavedViewsToPluginData(){try{this.plugin.settings.savedViews=[...this.savedViews],await this.plugin.saveSettings()}catch(t){console.warn("Failed to save saved views to plugin data:",t)}}needsMigration(){let n=!!this.app.loadLocalStorage(this.savedViewsStorageKey),i=this.plugin.settings.savedViews&&this.plugin.settings.savedViews.length>0;return n&&!i}async performMigration(){try{this.clearAllFilterStates(),await this.migrateAndLoadSavedViews(),this.emit("migration-complete")}catch(t){console.error("Error during ViewStateManager migration:",t),this.savedViews=[],await this.saveSavedViewsToPluginData()}}cleanup(){this.removeAllListeners()}}});var fpe,T_,hpe=v(()=>{fpe=require("obsidian");Bo();T_=class{constructor(e){this.projectIndex=new Map;this.indexLastBuilt=0;this.INDEX_TTL=3e4;this.stats={indexBuilds:0,indexHits:0,indexMisses:0};this.plugin=e}getFilesLinkingToProject(e){let t=this.plugin.app.metadataCache.resolvedLinks,n=[];for(let[i,s]of Object.entries(t))s&&s[e]>0&&n.push(i);return n}getUnresolvedProjectReferences(e){let n=this.plugin.app.metadataCache.unresolvedLinks[e];return n?Object.keys(n).filter(i=>!i.includes("#")&&!i.includes("|")):[]}async getTasksLinkedToProject(e){try{let t=this.getFilesLinkingToProject(e.path),n=[];for(let i of t){let s=await this.plugin.cacheManager.getTaskInfo(i);s&&await this.isLinkFromProjectsField(i,e.path)&&n.push(s)}return n}catch(t){return console.error("Error getting tasks linked to project:",t),[]}}async isTaskUsedAsProject(e){return this.isTaskUsedAsProjectSync(e)}async isLinkFromProjectsField(e,t){var n;try{let i=this.plugin.app.vault.getAbstractFileByPath(e);if(!(i instanceof fpe.TFile))return!1;let s=this.plugin.app.metadataCache.getFileCache(i),a=this.plugin.fieldMapper.toUserField("projects");if(!((n=s==null?void 0:s.frontmatter)!=null&&n[a]))return!1;let o=s.frontmatter[a];if(!Array.isArray(o))return!1;for(let l of o){if(!l||typeof l!="string")continue;let c=dn(l);if(c===l&&!l.startsWith("[["))continue;let d=this.plugin.app.metadataCache.getFirstLinkpathDest(c,e);if(d&&d.path===t)return!0}return!1}catch(i){return console.error("Error checking if link is from projects field:",i),!1}}isTaskUsedAsProjectSync(e){return this.ensureIndexBuilt(),this.projectIndex.has(e)?(this.stats.indexHits++,this.projectIndex.get(e)):(this.stats.indexMisses++,!1)}buildProjectIndex(){this.projectIndex.clear(),this.stats.indexBuilds++;try{let e=this.plugin.app.metadataCache.resolvedLinks,t=new Set;for(let[n,i]of Object.entries(e)){if(!i)continue;let s=this.plugin.app.metadataCache.getCache(n);if(!(s!=null&&s.frontmatter)||!this.plugin.cacheManager.isTaskFile(s.frontmatter))continue;let a=this.plugin.fieldMapper.toUserField("projects"),o=s.frontmatter[a];if(Array.isArray(o))for(let l of o){if(!l||typeof l!="string")continue;let c=dn(l);if(c===l&&!l.startsWith("[["))continue;let d=this.plugin.app.metadataCache.getFirstLinkpathDest(c,n);d&&t.add(d.path)}}for(let n of t)this.projectIndex.set(n,!0);this.indexLastBuilt=Date.now()}catch(e){console.error("Error building project index:",e)}}ensureIndexBuilt(){Date.now()-this.indexLastBuilt>this.INDEX_TTL&&this.buildProjectIndex()}destroy(){this.projectIndex.clear(),this.stats={indexBuilds:0,indexHits:0,indexMisses:0}}sortTasks(e){return e.sort((t,n)=>{let i=this.plugin.statusManager.isCompletedStatus(t.status),s=this.plugin.statusManager.isCompletedStatus(n.status);if(i!==s)return i?1:-1;let a=this.plugin.priorityManager.getPriorityWeight(t.priority),o=this.plugin.priorityManager.getPriorityWeight(n.priority);return a!==o?o-a:t.due&&n.due?new Date(t.due).getTime()-new Date(n.due).getTime():t.due?-1:n.due?1:t.title.localeCompare(n.title)})}}});var k_,gpe=v(()=>{k_=class{constructor(e){this.expandedProjects=new Set;this.plugin=e}isExpanded(e){return this.expandedProjects.has(e)}toggle(e){return this.expandedProjects.has(e)?(this.expandedProjects.delete(e),!1):(this.expandedProjects.add(e),!0)}setExpanded(e,t){t?this.expandedProjects.add(e):this.expandedProjects.delete(e)}getExpandedProjects(){return Array.from(this.expandedProjects)}clearAll(){this.expandedProjects.clear()}collapseAll(){this.clearAll()}}});var w_,ype=v(()=>{w_=class{constructor(e){this.processorInterval=null;this.PROCESSOR_INTERVAL_MS=6e4;this.plugin=e}hasGoogleCalendarLink(e){return!!e.googleCalendarEventId}normalizeStatusValue(e){return typeof e=="boolean"?e?"true":"false":String(e)}getCalendarCleanupState(){let e=this.plugin.settings.googleCalendarExport;return!(e!=null&&e.enabled)||!(e!=null&&e.syncOnTaskDelete)?"skip":this.plugin.taskCalendarSyncService&&this.plugin.taskCalendarSyncService.isEnabled()?"ready":"retry"}async start(){await this.processQueue(),this.processorInterval=window.setInterval(()=>{this.processQueue().catch(e=>{console.error("Error processing auto-archive queue:",e)})},this.PROCESSOR_INTERVAL_MS)}stop(){this.processorInterval&&(window.clearInterval(this.processorInterval),this.processorInterval=null)}async scheduleAutoArchive(e,t){if(!t.autoArchive)return;let n=Date.now(),i=n+t.autoArchiveDelay*60*1e3,s={taskPath:e.path,statusChangeTimestamp:n,archiveAfterTimestamp:i,statusValue:t.value};await this.cancelAutoArchive(e.path);let a=await this.getQueue();a.push(s),await this.saveQueue(a)}async cancelAutoArchive(e){let t=await this.getQueue(),n=t.filter(i=>i.taskPath!==e);n.length!==t.length&&await this.saveQueue(n)}async processQueue(){let e=await this.getQueue();if(e.length===0)return;let t=Date.now(),n=[],i=[];for(let o of e)t>=o.archiveAfterTimestamp?n.push(o):i.push(o);if(n.length===0)return;let s=[];for(let o of n)try{await this.processItem(o)||s.push(o)}catch(l){console.error(`Error processing auto-archive for ${o.taskPath}:`,l),s.push(o)}let a=[...s,...i];await this.saveQueue(a)}async processItem(e){let t=await this.plugin.cacheManager.getTaskByPath(e.taskPath);if(!t||this.normalizeStatusValue(t.status)!==this.normalizeStatusValue(e.statusValue))return!0;if(t.archived){if(this.hasGoogleCalendarLink(t)){let n=this.getCalendarCleanupState();if(n==="skip")return!0;if(n==="retry")return console.warn(`Auto-archive Google cleanup deferred until calendar sync is ready for ${e.taskPath}`),!1;let i=await this.plugin.taskCalendarSyncService.deleteTaskFromCalendar(t);return i||console.warn(`Auto-archive Google cleanup still pending for ${e.taskPath}`),i}return!0}try{let n=await this.plugin.taskService.toggleArchive(t);if(n.archived&&this.hasGoogleCalendarLink(n)){e.taskPath=n.path;let i=this.getCalendarCleanupState();return i==="skip"?!0:(i==="retry"&&console.warn(`Auto-archive Google cleanup deferred until calendar sync is ready for ${e.taskPath}`),!1)}return!0}catch(n){return console.error(`Failed to archive task ${e.taskPath}:`,n),!1}}async getQueue(){let e=await this.plugin.loadData();return(e==null?void 0:e.autoArchiveQueue)||[]}async saveQueue(e){let t=await this.plugin.loadData()||{};t.autoArchiveQueue=e,await this.plugin.saveData(t)}async clearQueue(){await this.saveQueue([])}async getQueueStatus(){let e=await this.getQueue();return{count:e.length,items:e}}}});function Xu(r,e){for(var t in e)r[t]=e[t];return r}function Dpe(r){var e=r.parentNode;e&&e.removeChild(r)}function _(r,e,t){var n,i,s,a={};for(s in e)s=="key"?n=e[s]:s=="ref"?i=e[s]:a[s]=e[s];if(arguments.length>2&&(a.children=arguments.length>3?C_.call(arguments,2):t),typeof r=="function"&&r.defaultProps!=null)for(s in r.defaultProps)a[s]===void 0&&(a[s]=r.defaultProps[s]);return S_(r,a,n,i,null)}function S_(r,e,t,n,i){var s={type:r,props:e,key:t,ref:n,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:i==null?++wpe:i};return i==null&&Le.vnode!=null&&Le.vnode(s),s}function nn(){return{current:null}}function jt(r){return r.children}function GHe(r,e,t,n,i){var s;for(s in t)s==="children"||s==="key"||s in e||E_(r,s,null,t[s],n);for(s in e)i&&typeof e[s]!="function"||s==="children"||s==="key"||s==="value"||s==="checked"||t[s]===e[s]||E_(r,s,e[s],t[s],n)}function bpe(r,e,t){e[0]==="-"?r.setProperty(e,t==null?"":t):r[e]=t==null?"":typeof t!="number"||YHe.test(e)?t:t+"px"}function E_(r,e,t,n,i){var s;e:if(e==="style")if(typeof t=="string")r.style.cssText=t;else{if(typeof n=="string"&&(r.style.cssText=n=""),n)for(e in n)t&&e in t||bpe(r.style,e,"");if(t)for(e in t)n&&t[e]===n[e]||bpe(r.style,e,t[e])}else if(e[0]==="o"&&e[1]==="n")s=e!==(e=e.replace(/Capture$/,"")),e=e.toLowerCase()in r?e.toLowerCase().slice(2):e.slice(2),r.l||(r.l={}),r.l[e+s]=t,t?n||r.addEventListener(e,s?kpe:Tpe,s):r.removeEventListener(e,s?kpe:Tpe,s);else if(e!=="dangerouslySetInnerHTML"){if(i)e=e.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(e!=="width"&&e!=="height"&&e!=="href"&&e!=="list"&&e!=="form"&&e!=="tabIndex"&&e!=="download"&&e in r)try{r[e]=t==null?"":t;break e}catch(a){}typeof t=="function"||(t==null||t===!1&&e.indexOf("-")==-1?r.removeAttribute(e):r.setAttribute(e,t))}}function Tpe(r){Ly=!0;try{return this.l[r.type+!1](Le.event?Le.event(r):r)}finally{Ly=!1}}function kpe(r){Ly=!0;try{return this.l[r.type+!0](Le.event?Le.event(r):r)}finally{Ly=!1}}function pi(r,e){this.props=r,this.context=e}function TS(r,e){if(e==null)return r.__?TS(r.__,r.__.__k.indexOf(r)+1):null;for(var t;e<r.__k.length;e++)if((t=r.__k[e])!=null&&t.__e!=null)return t.__e;return typeof r.type=="function"?TS(r):null}function Cpe(r){var e,t;if((r=r.__)!=null&&r.__c!=null){for(r.__e=r.__c.base=null,e=0;e<r.__k.length;e++)if((t=r.__k[e])!=null&&t.__e!=null){r.__e=r.__c.base=t.__e;break}return Cpe(r)}}function KHe(r){Ly?setTimeout(r):Spe(r)}function Wj(r){(!r.__d&&(r.__d=!0)&&mf.push(r)&&!D_.__r++||vpe!==Le.debounceRendering)&&((vpe=Le.debounceRendering)||KHe)(D_)}function D_(){var r,e,t,n,i,s,a,o;for(mf.sort(function(l,c){return l.__v.__b-c.__v.__b});r=mf.shift();)r.__d&&(e=mf.length,n=void 0,i=void 0,a=(s=(t=r).__v).__e,(o=t.__P)&&(n=[],(i=Xu({},s)).__v=s.__v+1,Gj(o,s,i,t.__n,o.ownerSVGElement!==void 0,s.__h!=null?[a]:null,n,a==null?TS(s):a,s.__h),Ipe(n,s),s.__e!=a&&Cpe(s)),mf.length>e&&mf.sort(function(l,c){return l.__v.__b-c.__v.__b}));D_.__r=0}function Ppe(r,e,t,n,i,s,a,o,l,c){var d,u,p,m,f,h,g,y=n&&n.__k||Epe,k=y.length;for(t.__k=[],d=0;d<e.length;d++)if((m=t.__k[d]=(m=e[d])==null||typeof m=="boolean"?null:typeof m=="string"||typeof m=="number"||typeof m=="bigint"?S_(null,m,null,null,m):Array.isArray(m)?S_(jt,{children:m},null,null,null):m.__b>0?S_(m.type,m.props,m.key,m.ref?m.ref:null,m.__v):m)!=null){if(m.__=t,m.__b=t.__b+1,(p=y[d])===null||p&&m.key==p.key&&m.type===p.type)y[d]=void 0;else for(u=0;u<k;u++){if((p=y[u])&&m.key==p.key&&m.type===p.type){y[u]=void 0;break}p=null}Gj(r,m,p=p||x_,i,s,a,o,l,c),f=m.__e,(u=m.ref)&&p.ref!=u&&(g||(g=[]),p.ref&&g.push(p.ref,null,m),g.push(u,m.__c||f,m)),f!=null?(h==null&&(h=f),typeof m.type=="function"&&m.__k===p.__k?m.__d=l=_pe(m,l,r):l=Mpe(r,m,p,y,f,l),typeof t.type=="function"&&(t.__d=l)):l&&p.__e==l&&l.parentNode!=r&&(l=TS(p))}for(t.__e=h,d=k;d--;)y[d]!=null&&(typeof t.type=="function"&&y[d].__e!=null&&y[d].__e==t.__d&&(t.__d=Ape(n).nextSibling),Rpe(y[d],y[d]));if(g)for(d=0;d<g.length;d++)Npe(g[d],g[++d],g[++d])}function _pe(r,e,t){for(var n,i=r.__k,s=0;i&&s<i.length;s++)(n=i[s])&&(n.__=r,e=typeof n.type=="function"?_pe(n,e,t):Mpe(t,n,n,i,n.__e,e));return e}function kS(r,e){return e=e||[],r==null||typeof r=="boolean"||(Array.isArray(r)?r.some(function(t){kS(t,e)}):e.push(r)),e}function Mpe(r,e,t,n,i,s){var a,o,l;if(e.__d!==void 0)a=e.__d,e.__d=void 0;else if(t==null||i!=s||i.parentNode==null)e:if(s==null||s.parentNode!==r)r.appendChild(i),a=null;else{for(o=s,l=0;(o=o.nextSibling)&&l<n.length;l+=1)if(o==i)break e;r.insertBefore(i,s),a=s}return a!==void 0?a:i.nextSibling}function Ape(r){var e,t,n;if(r.type==null||typeof r.type=="string")return r.__e;if(r.__k){for(e=r.__k.length-1;e>=0;e--)if((t=r.__k[e])&&(n=Ape(t)))return n}return null}function Gj(r,e,t,n,i,s,a,o,l){var c,d,u,p,m,f,h,g,y,k,T,w,S,E,C,D=e.type;if(e.constructor!==void 0)return null;t.__h!=null&&(l=t.__h,o=e.__e=t.__e,e.__h=null,s=[o]),(c=Le.__b)&&c(e);try{e:if(typeof D=="function"){if(g=e.props,y=(c=D.contextType)&&n[c.__c],k=c?y?y.props.value:c.__:n,t.__c?h=(d=e.__c=t.__c).__=d.__E:("prototype"in D&&D.prototype.render?e.__c=d=new D(g,k):(e.__c=d=new pi(g,k),d.constructor=D,d.render=QHe),y&&y.sub(d),d.props=g,d.state||(d.state={}),d.context=k,d.__n=n,u=d.__d=!0,d.__h=[],d._sb=[]),d.__s==null&&(d.__s=d.state),D.getDerivedStateFromProps!=null&&(d.__s==d.state&&(d.__s=Xu({},d.__s)),Xu(d.__s,D.getDerivedStateFromProps(g,d.__s))),p=d.props,m=d.state,d.__v=e,u)D.getDerivedStateFromProps==null&&d.componentWillMount!=null&&d.componentWillMount(),d.componentDidMount!=null&&d.__h.push(d.componentDidMount);else{if(D.getDerivedStateFromProps==null&&g!==p&&d.componentWillReceiveProps!=null&&d.componentWillReceiveProps(g,k),!d.__e&&d.shouldComponentUpdate!=null&&d.shouldComponentUpdate(g,d.__s,k)===!1||e.__v===t.__v){for(e.__v!==t.__v&&(d.props=g,d.state=d.__s,d.__d=!1),e.__e=t.__e,e.__k=t.__k,e.__k.forEach(function(A){A&&(A.__=e)}),T=0;T<d._sb.length;T++)d.__h.push(d._sb[T]);d._sb=[],d.__h.length&&a.push(d);break e}d.componentWillUpdate!=null&&d.componentWillUpdate(g,d.__s,k),d.componentDidUpdate!=null&&d.__h.push(function(){d.componentDidUpdate(p,m,f)})}if(d.context=k,d.props=g,d.__P=r,w=Le.__r,S=0,"prototype"in D&&D.prototype.render){for(d.state=d.__s,d.__d=!1,w&&w(e),c=d.render(d.props,d.state,d.context),E=0;E<d._sb.length;E++)d.__h.push(d._sb[E]);d._sb=[]}else do d.__d=!1,w&&w(e),c=d.render(d.props,d.state,d.context),d.state=d.__s;while(d.__d&&++S<25);d.state=d.__s,d.getChildContext!=null&&(n=Xu(Xu({},n),d.getChildContext())),u||d.getSnapshotBeforeUpdate==null||(f=d.getSnapshotBeforeUpdate(p,m)),C=c!=null&&c.type===jt&&c.key==null?c.props.children:c,Ppe(r,Array.isArray(C)?C:[C],e,t,n,i,s,a,o,l),d.base=e.__e,e.__h=null,d.__h.length&&a.push(d),h&&(d.__E=d.__=null),d.__e=!1}else s==null&&e.__v===t.__v?(e.__k=t.__k,e.__e=t.__e):e.__e=ZHe(t.__e,e,t,n,i,s,a,l);(c=Le.diffed)&&c(e)}catch(A){e.__v=null,(l||s!=null)&&(e.__e=o,e.__h=!!l,s[s.indexOf(o)]=null),Le.__e(A,e,t)}}function Ipe(r,e){Le.__c&&Le.__c(e,r),r.some(function(t){try{r=t.__h,t.__h=[],r.some(function(n){n.call(t)})}catch(n){Le.__e(n,t.__v)}})}function ZHe(r,e,t,n,i,s,a,o){var l,c,d,u=t.props,p=e.props,m=e.type,f=0;if(m==="svg"&&(i=!0),s!=null){for(;f<s.length;f++)if((l=s[f])&&"setAttribute"in l==!!m&&(m?l.localName===m:l.nodeType===3)){r=l,s[f]=null;break}}if(r==null){if(m===null)return document.createTextNode(p);r=i?document.createElementNS("http://www.w3.org/2000/svg",m):document.createElement(m,p.is&&p),s=null,o=!1}if(m===null)u===p||o&&r.data===p||(r.data=p);else{if(s=s&&C_.call(r.childNodes),c=(u=t.props||x_).dangerouslySetInnerHTML,d=p.dangerouslySetInnerHTML,!o){if(s!=null)for(u={},f=0;f<r.attributes.length;f++)u[r.attributes[f].name]=r.attributes[f].value;(d||c)&&(d&&(c&&d.__html==c.__html||d.__html===r.innerHTML)||(r.innerHTML=d&&d.__html||""))}if(GHe(r,p,u,i,o),d)e.__k=[];else if(f=e.props.children,Ppe(r,Array.isArray(f)?f:[f],e,t,n,i&&m!=="foreignObject",s,a,s?s[0]:t.__k&&TS(t,0),o),s!=null)for(f=s.length;f--;)s[f]!=null&&Dpe(s[f]);o||("value"in p&&(f=p.value)!==void 0&&(f!==r.value||m==="progress"&&!f||m==="option"&&f!==u.value)&&E_(r,"value",f,u.value,!1),"checked"in p&&(f=p.checked)!==void 0&&f!==r.checked&&E_(r,"checked",f,u.checked,!1))}return r}function Npe(r,e,t){try{typeof r=="function"?r(e):r.current=e}catch(n){Le.__e(n,t)}}function Rpe(r,e,t){var n,i;if(Le.unmount&&Le.unmount(r),(n=r.ref)&&(n.current&&n.current!==r.__e||Npe(n,null,e)),(n=r.__c)!=null){if(n.componentWillUnmount)try{n.componentWillUnmount()}catch(s){Le.__e(s,e)}n.base=n.__P=null,r.__c=void 0}if(n=r.__k)for(i=0;i<n.length;i++)n[i]&&Rpe(n[i],e,t||typeof r.type!="function");t||r.__e==null||Dpe(r.__e),r.__=r.__e=r.__d=void 0}function QHe(r,e,t){return this.constructor(r,t)}function ep(r,e,t){var n,i,s;Le.__&&Le.__(r,e),i=(n=typeof t=="function")?null:t&&t.__k||e.__k,s=[],Gj(e,r=(!n&&t||e).__k=_(jt,null,[r]),i||x_,x_,e.ownerSVGElement!==void 0,!n&&t?[t]:i?null:e.firstChild?C_.call(e.childNodes):null,s,!n&&t?t:i?i.__e:e.firstChild,n),Ipe(s,r)}function P_(r,e){var t={__c:e="__cC"+xpe++,__:r,Consumer:function(n,i){return n.children(i)},Provider:function(n){var i,s;return this.getChildContext||(i=[],(s={})[e]=this,this.getChildContext=function(){return s},this.shouldComponentUpdate=function(a){this.props.value!==a.value&&i.some(function(o){o.__e=!0,Wj(o)})},this.sub=function(a){i.push(a);var o=a.componentWillUnmount;a.componentWillUnmount=function(){i.splice(i.indexOf(a),1),o&&o.call(a)}}),n.children}};return t.Provider.__=t.Consumer.contextType=t}var C_,Le,wpe,Yj,Ly,mf,vpe,Spe,xpe,x_,Epe,YHe,kd=v(()=>{x_={},Epe=[],YHe=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;C_=Epe.slice,Le={__e:function(r,e,t,n){for(var i,s,a;e=e.__;)if((i=e.__c)&&!i.__)try{if((s=i.constructor)&&s.getDerivedStateFromError!=null&&(i.setState(s.getDerivedStateFromError(r)),a=i.__d),i.componentDidCatch!=null&&(i.componentDidCatch(r,n||{}),a=i.__d),a)return i.__E=i}catch(o){r=o}throw r}},wpe=0,Yj=function(r){return r!=null&&r.constructor===void 0},Ly=!1,pi.prototype.setState=function(r,e){var t;t=this.__s!=null&&this.__s!==this.state?this.__s:this.__s=Xu({},this.state),typeof r=="function"&&(r=r(Xu({},t),this.props)),r&&Xu(t,r),r!=null&&this.__v&&(e&&this._sb.push(e),Wj(this))},pi.prototype.forceUpdate=function(r){this.__v&&(this.__e=!0,r&&this.__h.push(r),Wj(this))},pi.prototype.render=jt,mf=[],Spe=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,D_.__r=0,xpe=0});function eUe(){for(var r;r=qpe.shift();)if(r.__P&&r.__H)try{r.__H.__h.forEach(__),r.__H.__h.forEach(Qj),r.__H.__h=[]}catch(e){r.__H.__h=[],Le.__e(e,r.__v)}}function tUe(r){var e,t=function(){clearTimeout(n),Bpe&&cancelAnimationFrame(e),setTimeout(r)},n=setTimeout(t,100);Bpe&&(e=requestAnimationFrame(t))}function __(r){var e=Yl,t=r.__c;typeof t=="function"&&(r.__c=void 0,t()),Yl=e}function Qj(r){var e=Yl;r.__c=r.__(),Yl=e}var XHe,Yl,Kj,Ope,qpe,Zj,Lpe,Fpe,$pe,jpe,zpe,Bpe,Jj=v(()=>{kd();qpe=[],Zj=[],Lpe=Le.__b,Fpe=Le.__r,$pe=Le.diffed,jpe=Le.__c,zpe=Le.unmount;Le.__b=function(r){Yl=null,Lpe&&Lpe(r)},Le.__r=function(r){Fpe&&Fpe(r),XHe=0;var e=(Yl=r.__c).__H;e&&(Kj===Yl?(e.__h=[],Yl.__h=[],e.__.forEach(function(t){t.__N&&(t.__=t.__N),t.__V=Zj,t.__N=t.i=void 0})):(e.__h.forEach(__),e.__h.forEach(Qj),e.__h=[])),Kj=Yl},Le.diffed=function(r){$pe&&$pe(r);var e=r.__c;e&&e.__H&&(e.__H.__h.length&&(qpe.push(e)!==1&&Ope===Le.requestAnimationFrame||((Ope=Le.requestAnimationFrame)||tUe)(eUe)),e.__H.__.forEach(function(t){t.i&&(t.__H=t.i),t.__V!==Zj&&(t.__=t.__V),t.i=void 0,t.__V=Zj})),Kj=Yl=null},Le.__c=function(r,e){e.some(function(t){try{t.__h.forEach(__),t.__h=t.__h.filter(function(n){return!n.__||Qj(n)})}catch(n){e.some(function(i){i.__h&&(i.__h=[])}),e=[],Le.__e(n,t.__v)}}),jpe&&jpe(r,e)},Le.unmount=function(r){zpe&&zpe(r);var e,t=r.__c;t&&t.__H&&(t.__H.__.forEach(function(n){try{__(n)}catch(i){e=i}}),t.__H=void 0,e&&Le.__e(e,t.__v))};Bpe=typeof requestAnimationFrame=="function"});function rUe(r,e){for(var t in e)r[t]=e[t];return r}function Hpe(r,e){for(var t in r)if(t!=="__source"&&!(t in e))return!0;for(var n in e)if(n!=="__source"&&r[n]!==e[n])return!0;return!1}function Upe(r){this.props=r}function Jpe(r,e,t){return r&&(r.__c&&r.__c.__H&&(r.__c.__H.__.forEach(function(n){typeof n.__c=="function"&&n.__c()}),r.__c.__H=null),(r=rUe({},r)).__c!=null&&(r.__c.__P===t&&(r.__c.__P=e),r.__c=null),r.__k=r.__k&&r.__k.map(function(n){return Jpe(n,e,t)})),r}function Xpe(r,e,t){return r&&(r.__v=null,r.__k=r.__k&&r.__k.map(function(n){return Xpe(n,e,t)}),r.__c&&r.__c.__P===e&&(r.__e&&t.insertBefore(r.__e,r.__d),r.__c.__e=!0,r.__c.__P=t)),r}function Xj(){this.__u=0,this.t=null,this.__b=null}function eme(r){var e=r.__.__c;return e&&e.__a&&e.__a(r)}function M_(){this.u=null,this.o=null}function iUe(r){return this.getChildContext=function(){return r.context},r.children}function sUe(r){var e=this,t=r.i;e.componentWillUnmount=function(){ep(null,e.l),e.l=null,e.i=null},e.i&&e.i!==t&&e.componentWillUnmount(),r.__v?(e.l||(e.i=t,e.l={nodeType:1,parentNode:t,childNodes:[],appendChild:function(n){this.childNodes.push(n),e.i.appendChild(n)},insertBefore:function(n,i){this.childNodes.push(n),e.i.appendChild(n)},removeChild:function(n){this.childNodes.splice(this.childNodes.indexOf(n)>>>1,1),e.i.removeChild(n)}}),ep(_(iUe,{context:e.context},r.__v),e.l)):e.l&&e.componentWillUnmount()}function ez(r,e){var t=_(sUe,{__v:r,i:e});return t.containerInfo=e,t}function dUe(){}function uUe(){return this.cancelBubble}function pUe(){return this.defaultPrevented}var Vpe,QJt,nUe,Wpe,Ype,aUe,oUe,lUe,cUe,Gpe,mUe,Kpe,Zpe,Qpe,wS=v(()=>{kd();kd();Jj();Jj();(Upe.prototype=new pi).isPureReactComponent=!0,Upe.prototype.shouldComponentUpdate=function(r,e){return Hpe(this.props,r)||Hpe(this.state,e)};Vpe=Le.__b;Le.__b=function(r){r.type&&r.type.__f&&r.ref&&(r.props.ref=r.ref,r.ref=null),Vpe&&Vpe(r)};QJt=typeof Symbol!="undefined"&&Symbol.for&&Symbol.for("react.forward_ref")||3911,nUe=Le.__e;Le.__e=function(r,e,t,n){if(r.then){for(var i,s=e;s=s.__;)if((i=s.__c)&&i.__c)return e.__e==null&&(e.__e=t.__e,e.__k=t.__k),i.__c(r,e)}nUe(r,e,t,n)};Wpe=Le.unmount;Le.unmount=function(r){var e=r.__c;e&&e.__R&&e.__R(),e&&r.__h===!0&&(r.type=null),Wpe&&Wpe(r)},(Xj.prototype=new pi).__c=function(r,e){var t=e.__c,n=this;n.t==null&&(n.t=[]),n.t.push(t);var i=eme(n.__v),s=!1,a=function(){s||(s=!0,t.__R=null,i?i(o):o())};t.__R=a;var o=function(){if(!--n.__u){if(n.state.__a){var c=n.state.__a;n.__v.__k[0]=Xpe(c,c.__c.__P,c.__c.__O)}var d;for(n.setState({__a:n.__b=null});d=n.t.pop();)d.forceUpdate()}},l=e.__h===!0;n.__u++||l||n.setState({__a:n.__b=n.__v.__k[0]}),r.then(a,a)},Xj.prototype.componentWillUnmount=function(){this.t=[]},Xj.prototype.render=function(r,e){if(this.__b){if(this.__v.__k){var t=document.createElement("div"),n=this.__v.__k[0].__c;this.__v.__k[0]=Jpe(this.__b,t,n.__O=n.__P)}this.__b=null}var i=e.__a&&_(jt,null,r.fallback);return i&&(i.__h=null),[_(jt,null,e.__a?null:r.children),i]};Ype=function(r,e,t){if(++t[1]===t[0]&&r.o.delete(e),r.props.revealOrder&&(r.props.revealOrder[0]!=="t"||!r.o.size))for(t=r.u;t;){for(;t.length>3;)t.pop()();if(t[1]<t[0])break;r.u=t=t[2]}};(M_.prototype=new pi).__a=function(r){var e=this,t=eme(e.__v),n=e.o.get(r);return n[0]++,function(i){var s=function(){e.props.revealOrder?(n.push(i),Ype(e,r,n)):i()};t?t(s):s()}},M_.prototype.render=function(r){this.u=null,this.o=new Map;var e=kS(r.children);r.revealOrder&&r.revealOrder[0]==="b"&&e.reverse();for(var t=e.length;t--;)this.o.set(e[t],this.u=[1,0,this.u]);return r.children},M_.prototype.componentDidUpdate=M_.prototype.componentDidMount=function(){var r=this;this.o.forEach(function(e,t){Ype(r,t,e)})};aUe=typeof Symbol!="undefined"&&Symbol.for&&Symbol.for("react.element")||60103,oUe=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,lUe=typeof document!="undefined",cUe=function(r){return(typeof Symbol!="undefined"&&typeof Symbol()=="symbol"?/fil|che|rad/i:/fil|che|ra/i).test(r)};pi.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(r){Object.defineProperty(pi.prototype,r,{configurable:!0,get:function(){return this["UNSAFE_"+r]},set:function(e){Object.defineProperty(this,r,{configurable:!0,writable:!0,value:e})}})});Gpe=Le.event;Le.event=function(r){return Gpe&&(r=Gpe(r)),r.persist=dUe,r.isPropagationStopped=uUe,r.isDefaultPrevented=pUe,r.nativeEvent=r};Kpe={configurable:!0,get:function(){return this.class}},Zpe=Le.vnode;Le.vnode=function(r){var e=r.type,t=r.props,n=t;if(typeof e=="string"){var i=e.indexOf("-")===-1;for(var s in n={},t){var a=t[s];lUe&&s==="children"&&e==="noscript"||s==="value"&&"defaultValue"in t&&a==null||(s==="defaultValue"&&"value"in t&&t.value==null?s="value":s==="download"&&a===!0?a="":/ondoubleclick/i.test(s)?s="ondblclick":/^onchange(textarea|input)/i.test(s+e)&&!cUe(t.type)?s="oninput":/^onfocus$/i.test(s)?s="onfocusin":/^onblur$/i.test(s)?s="onfocusout":/^on(Ani|Tra|Tou|BeforeInp|Compo)/.test(s)?s=s.toLowerCase():i&&oUe.test(s)?s=s.replace(/[A-Z0-9]/g,"-$&").toLowerCase():a===null&&(a=void 0),/^oninput$/i.test(s)&&(s=s.toLowerCase(),n[s]&&(s="oninputCapture")),n[s]=a)}e=="select"&&n.multiple&&Array.isArray(n.value)&&(n.value=kS(t.children).forEach(function(o){o.props.selected=n.value.indexOf(o.props.value)!=-1})),e=="select"&&n.defaultValue!=null&&(n.value=kS(t.children).forEach(function(o){o.props.selected=n.multiple?n.defaultValue.indexOf(o.props.value)!=-1:n.defaultValue==o.props.value})),r.props=n,t.class!=t.className&&(Kpe.enumerable="className"in t,t.className!=null&&(n.class=t.className),Object.defineProperty(n,"className",Kpe))}r.$$typeof=aUe,Zpe&&Zpe(r)};Qpe=Le.__r;Le.__r=function(r){Qpe&&Qpe(r),mUe=r.__c}});function Ql(r){fme.push(r),uz.forEach(e=>{yme(e,r)})}function hme(r){r.isConnected&&r.getRootNode&&gme(r.getRootNode())}function gme(r){let e=uz.get(r);if(!e||!e.isConnected){if(e=r.querySelector("style[data-fullcalendar]"),!e){e=document.createElement("style"),e.setAttribute("data-fullcalendar","");let t=hUe();t&&(e.nonce=t);let n=r===document?document.head:r,i=r===document?n.querySelector("script,link[rel=stylesheet],link[as=style],style"):n.firstChild;n.insertBefore(e,i)}uz.set(r,e),fUe(e)}}function fUe(r){for(let e of fme)yme(r,e)}function yme(r,e){let{sheet:t}=r,n=t.cssRules.length;e.split("}").forEach((i,s)=>{i=i.trim(),i&&t.insertRule(i+"}",n+s)})}function hUe(){return tz===void 0&&(tz=gUe()),tz}function gUe(){let r=document.querySelector('meta[name="csp-nonce"]');if(r&&r.hasAttribute("content"))return r.getAttribute("content");let e=document.querySelector("script[nonce]");return e&&e.nonce||""}function $S(r){r.parentNode&&r.parentNode.removeChild(r)}function qn(r,e){if(r.closest)return r.closest(e);if(!document.documentElement.contains(r))return null;do{if(Y_(r,e))return r;r=r.parentElement||r.parentNode}while(r!==null&&r.nodeType===1);return null}function Y_(r,e){return(r.matches||r.matchesSelector||r.msMatchesSelector).call(r,e)}function vme(r,e){let t=r instanceof HTMLElement?[r]:r,n=[];for(let i=0;i<t.length;i+=1){let s=t[i].querySelectorAll(e);for(let a=0;a<s.length;a+=1)n.push(s[a])}return n}function Cf(r,e){for(let t in e)kz(r,t,e[t])}function kz(r,e,t){t==null?r.style[e]="":typeof t=="number"&&vUe.test(e)?r.style[e]=`${t}px`:r.style[e]=t}function G_(r){var e,t;return(t=(e=r.composedPath)===null||e===void 0?void 0:e.call(r)[0])!==null&&t!==void 0?t:r.target}function Fs(){return tme+=1,"fc-dom-"+tme}function jS(r){r.preventDefault()}function bUe(r,e){return t=>{let n=qn(t.target,r);n&&e.call(n,t,n)}}function wz(r,e,t,n){let i=bUe(t,n);return r.addEventListener(e,i),()=>{r.removeEventListener(e,i)}}function bme(r,e,t,n){let i;return wz(r,"mouseover",e,(s,a)=>{if(a!==i){i=a,t(s,a);let o=l=>{i=null,n(l,a),a.removeEventListener("mouseleave",o)};a.addEventListener("mouseleave",o)}})}function Sz(r,e){let t=n=>{e(n),rme.forEach(i=>{r.removeEventListener(i,t)})};rme.forEach(n=>{r.addEventListener(n,t)})}function Tme(r){return Object.assign({onClick:r},kme(r))}function kme(r){return{tabIndex:0,onKeyDown(e){(e.key==="Enter"||e.key===" ")&&(r(e),e.preventDefault())}}}function Cd(){return nme+=1,String(nme)}function qy(){document.body.classList.add("fc-not-allowed")}function Hy(){document.body.classList.remove("fc-not-allowed")}function xz(r){r.style.userSelect="none",r.style.webkitUserSelect="none",r.addEventListener("selectstart",jS)}function Ez(r){r.style.userSelect="",r.style.webkitUserSelect="",r.removeEventListener("selectstart",jS)}function Dz(r){r.addEventListener("contextmenu",jS)}function Cz(r){r.removeEventListener("contextmenu",jS)}function wme(r){let e=[],t=[],n,i;for(typeof r=="string"?t=r.split(/\s*,\s*/):typeof r=="function"?t=[r]:Array.isArray(r)&&(t=r),n=0;n<t.length;n+=1)i=t[n],typeof i=="string"?e.push(i.charAt(0)==="-"?{field:i.substring(1),order:-1}:{field:i,order:1}):typeof i=="function"&&e.push({func:i});return e}function Sme(r,e,t){let n,i;for(n=0;n<t.length;n+=1)if(i=TUe(r,e,t[n]),i)return i;return 0}function TUe(r,e,t){return t.func?t.func(r,e):xme(r[t.field],e[t.field])*(t.order||1)}function xme(r,e){return!r&&!e?0:e==null?-1:r==null?1:typeof r=="string"||typeof e=="string"?String(r).localeCompare(String(e)):r-e}function hf(r,e){let t=String(r);return"000".substr(0,e-t.length)+t}function Uy(r,e,t){return typeof r=="function"?r(...e):typeof r=="string"?e.reduce((n,i,s)=>n.replace("$"+s,i||""),r):t}function Pz(r,e){return r-e}function SS(r){return r%1===0}function kUe(r){let e=r.querySelector(".fc-scrollgrid-shrink-frame"),t=r.querySelector(".fc-scrollgrid-shrink-cushion");if(!e)throw new Error("needs fc-scrollgrid-shrink-frame className");if(!t)throw new Error("needs fc-scrollgrid-shrink-cushion className");return r.getBoundingClientRect().width-e.getBoundingClientRect().width+t.getBoundingClientRect().width}function nt(r,e){return typeof r=="string"?SUe(r):typeof r=="object"&&r?sme(r):typeof r=="number"?sme({[e||"milliseconds"]:r}):null}function SUe(r){let e=wUe.exec(r);if(e){let t=e[1]?-1:1;return{years:0,months:0,days:t*(e[2]?parseInt(e[2],10):0),milliseconds:t*((e[3]?parseInt(e[3],10):0)*60*60*1e3+(e[4]?parseInt(e[4],10):0)*60*1e3+(e[5]?parseInt(e[5],10):0)*1e3+(e[6]?parseInt(e[6],10):0))}}return null}function sme(r){let e={years:r.years||r.year||0,months:r.months||r.month||0,days:r.days||r.day||0,milliseconds:(r.hours||r.hour||0)*60*60*1e3+(r.minutes||r.minute||0)*60*1e3+(r.seconds||r.second||0)*1e3+(r.milliseconds||r.millisecond||r.ms||0)},t=r.weeks||r.week;return t&&(e.days+=t*7,e.specifiedWeeks=!0),e}function xUe(r,e){return r.years===e.years&&r.months===e.months&&r.days===e.days&&r.milliseconds===e.milliseconds}function zS(r,e){return{years:r.years+e.years,months:r.months+e.months,days:r.days+e.days,milliseconds:r.milliseconds+e.milliseconds}}function Eme(r,e){return{years:r.years-e.years,months:r.months-e.months,days:r.days-e.days,milliseconds:r.milliseconds-e.milliseconds}}function _z(r,e){return{years:r.years*e,months:r.months*e,days:r.days*e,milliseconds:r.milliseconds*e}}function EUe(r){return Fy(r)/365}function DUe(r){return Fy(r)/30}function Fy(r){return wa(r)/864e5}function wa(r){return r.years*(365*864e5)+r.months*(30*864e5)+r.days*864e5+r.milliseconds}function BS(r,e){let t=null;for(let n=0;n<ime.length;n+=1){let i=ime[n];if(e[i]){let s=r[i]/e[i];if(!SS(s)||t!==null&&t!==s)return null;t=s}else if(r[i])return null}return t}function xS(r){let e=r.milliseconds;if(e){if(e%1e3!==0)return{unit:"millisecond",value:e};if(e%(1e3*60)!==0)return{unit:"second",value:e/1e3};if(e%(1e3*60*60)!==0)return{unit:"minute",value:e/(1e3*60)};if(e)return{unit:"hour",value:e/(1e3*60*60)}}return r.days?r.specifiedWeeks&&r.days%7===0?{unit:"week",value:r.days/7}:{unit:"day",value:r.days}:r.months?{unit:"month",value:r.months}:r.years?{unit:"year",value:r.years}:{unit:"millisecond",value:0}}function Jl(r,e,t){if(r===e)return!0;let n=r.length,i;if(n!==e.length)return!1;for(i=0;i<n;i+=1)if(!(t?t(r[i],e[i]):r[i]===e[i]))return!1;return!0}function K_(r,e){let t=rp(r);return t[2]+=e*7,Rs(t)}function Gr(r,e){let t=rp(r);return t[2]+=e,Rs(t)}function Gl(r,e){let t=rp(r);return t[6]+=e,Rs(t)}function Mz(r,e){return Xl(r,e)/7}function Xl(r,e){return(e.valueOf()-r.valueOf())/(1e3*60*60*24)}function PUe(r,e){return(e.valueOf()-r.valueOf())/(1e3*60*60)}function _Ue(r,e){return(e.valueOf()-r.valueOf())/(1e3*60)}function MUe(r,e){return(e.valueOf()-r.valueOf())/1e3}function Dme(r,e){let t=ar(r),n=ar(e);return{years:0,months:0,days:Math.round(Xl(t,n)),milliseconds:e.valueOf()-n.valueOf()-(r.valueOf()-t.valueOf())}}function Cme(r,e){let t=$y(r,e);return t!==null&&t%7===0?t/7:null}function $y(r,e){return np(r)===np(e)?Math.round(Xl(r,e)):null}function ar(r){return Rs([r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate()])}function AUe(r){return Rs([r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate(),r.getUTCHours()])}function IUe(r){return Rs([r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate(),r.getUTCHours(),r.getUTCMinutes()])}function NUe(r){return Rs([r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate(),r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds()])}function RUe(r,e,t){let n=r.getUTCFullYear(),i=rz(r,n,e,t);if(i<1)return rz(r,n-1,e,t);let s=rz(r,n+1,e,t);return s>=1?Math.min(i,s):i}function rz(r,e,t,n){let i=Rs([e,0,1+OUe(e,t,n)]),s=ar(r),a=Math.round(Xl(i,s));return Math.floor(a/7)+1}function OUe(r,e,t){let n=7+e-t;return-((7+Rs([r,0,n]).getUTCDay()-e)%7)+n-1}function ame(r){return[r.getFullYear(),r.getMonth(),r.getDate(),r.getHours(),r.getMinutes(),r.getSeconds(),r.getMilliseconds()]}function ome(r){return new Date(r[0],r[1]||0,r[2]==null?1:r[2],r[3]||0,r[4]||0,r[5]||0)}function rp(r){return[r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate(),r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()]}function Rs(r){return r.length===1&&(r=r.concat([0])),new Date(Date.UTC(...r))}function Az(r){return!isNaN(r.valueOf())}function np(r){return r.getUTCHours()*1e3*60*60+r.getUTCMinutes()*1e3*60+r.getUTCSeconds()*1e3+r.getUTCMilliseconds()}function Z_(r,e,t=!1){let n=r.toISOString();return n=n.replace(".000",""),t&&(n=n.replace("T00:00:00Z","")),n.length>10&&(e==null?n=n.replace("Z",""):e!==0&&(n=n.replace("Z",Nz(e,!0)))),n}function lp(r){return r.toISOString().replace(/T.*$/,"")}function Vy(r){return r.toISOString().match(/^\d{4}-\d{2}/)[0]}function Iz(r){return hf(r.getUTCHours(),2)+":"+hf(r.getUTCMinutes(),2)+":"+hf(r.getUTCSeconds(),2)}function Nz(r,e=!1){let t=r<0?"-":"+",n=Math.abs(r),i=Math.floor(n/60),s=Math.round(n%60);return e?`${t+hf(i,2)}:${hf(s,2)}`:`GMT${t}${i}${s?`:${hf(s,2)}`:""}`}function Se(r,e,t){let n,i;return function(...s){if(!n)i=r.apply(this,s);else if(!Jl(n,s)){t&&t(i);let a=r.apply(this,s);(!e||!e(a,i))&&(i=a)}return n=s,i}}function Wy(r,e,t){let n,i;return s=>{if(!n)i=r.call(this,s);else if(!zi(n,s)){t&&t(i);let a=r.call(this,s);(!e||!e(a,i))&&(i=a)}return n=s,i}}function lme(r,e,t){let n=Object.keys(r).length;return n===1&&r.timeZoneName==="short"?i=>Nz(i.timeZoneOffset):n===0&&e.week?i=>UUe(t.computeWeekNumber(i.marker),t.weekText,t.weekTextLong,t.locale,e.week):zUe(r,e,t)}function zUe(r,e,t){r=Object.assign({},r),e=Object.assign({},e),BUe(r,e),r.timeZone="UTC";let n=new Intl.DateTimeFormat(t.locale.codes,r),i;if(e.omitZeroMinute){let s=Object.assign({},r);delete s.minute,i=new Intl.DateTimeFormat(t.locale.codes,s)}return s=>{let{marker:a}=s,o;i&&!a.getUTCMinutes()?o=i:o=n;let l=o.format(a);return qUe(l,s,r,e,t)}}function BUe(r,e){r.timeZoneName&&(r.hour||(r.hour="2-digit"),r.minute||(r.minute="2-digit")),r.timeZoneName==="long"&&(r.timeZoneName="short"),e.omitZeroMinute&&(r.second||r.millisecond)&&delete e.omitZeroMinute}function qUe(r,e,t,n,i){return r=r.replace($Ue,""),t.timeZoneName==="short"&&(r=HUe(r,i.timeZone==="UTC"||e.timeZoneOffset==null?"UTC":Nz(e.timeZoneOffset))),n.omitCommas&&(r=r.replace(LUe,"").trim()),n.omitZeroMinute&&(r=r.replace(":00","")),n.meridiem===!1?r=r.replace(A_,"").trim():n.meridiem==="narrow"?r=r.replace(A_,(s,a)=>a.toLocaleLowerCase()):n.meridiem==="short"?r=r.replace(A_,(s,a)=>`${a.toLocaleLowerCase()}m`):n.meridiem==="lowercase"&&(r=r.replace(A_,s=>s.toLocaleLowerCase())),r=r.replace(FUe," "),r=r.trim(),r}function HUe(r,e){let t=!1;return r=r.replace(jUe,()=>(t=!0,e)),t||(r+=` ${e}`),r}function UUe(r,e,t,n,i){let s=[];return i==="long"?s.push(t):(i==="short"||i==="narrow")&&s.push(e),(i==="long"||i==="short")&&s.push(" "),s.push(n.simpleNumberFormat.format(r)),n.options.direction==="rtl"&&s.reverse(),s.join("")}function VUe(r,e,t){return t.getMarkerYear(r)!==t.getMarkerYear(e)?5:t.getMarkerMonth(r)!==t.getMarkerMonth(e)?4:t.getMarkerDay(r)!==t.getMarkerDay(e)?2:np(r)!==np(e)?1:0}function WUe(r,e){let t={};for(let n in r)(!(n in $_)||$_[n]<=e)&&(t[n]=r[n]);return t}function YUe(r,e,t,n){let i=0;for(;i<r.length;){let s=r.indexOf(e,i);if(s===-1)break;let a=r.substr(0,s);i=s+e.length;let o=r.substr(i),l=0;for(;l<t.length;){let c=t.indexOf(n,l);if(c===-1)break;let d=t.substr(0,c);l=c+n.length;let u=t.substr(l);if(a===d&&o===u)return{before:a,after:o}}}return null}function cme(r,e){let t=e.markerToArray(r.marker);return{marker:r.marker,timeZoneOffset:r.timeZoneOffset,array:t,year:t[0],month:t[1],day:t[2],hour:t[3],minute:t[4],second:t[5],millisecond:t[6]}}function j_(r,e,t,n){let i=cme(r,t.calendarSystem),s=e?cme(e,t.calendarSystem):null;return{date:i,start:i,end:s,timeZone:t.timeZone,localeCodes:t.locale.codes,defaultSeparator:n||t.defaultSeparator}}function zt(r){return typeof r=="object"&&r?new pz(r):typeof r=="string"?new mz(r):typeof r=="function"?new fz(r):null}function ff(r,e){return typeof r=="object"&&typeof e=="object"&&r&&e?zi(r,e):r===e}function I_(r,e){return Array.isArray(r)&&Array.isArray(e)?Jl(r,e):r===e}function Q_(r){return J_(r,cp)}function qS(r,e){let t={},n={};for(let i in e)i in r&&(t[i]=e[i](r[i]));for(let i in r)i in e||(n[i]=r[i]);return{refined:t,extra:n}}function F(r){return r}function J_(r,e){let t={};if(e){for(let n in e)if(e[n]===ff){let i=[];for(let s=r.length-1;s>=0;s-=1){let a=r[s][n];if(typeof a=="object"&&a)i.unshift(a);else if(a!==void 0){t[n]=a;break}}i.length&&(t[n]=J_(i))}}for(let n=r.length-1;n>=0;n-=1){let i=r[n];for(let s in i)s in t||(t[s]=i[s])}return t}function wd(r,e){let t={};for(let n in r)e(r[n],n)&&(t[n]=r[n]);return t}function oo(r,e){let t={};for(let n in r)t[n]=e(r[n],n);return t}function Fz(r){let e={};for(let t of r)e[t]=!0;return e}function X_(r){let e=[];for(let t in r)e.push(r[t]);return e}function zi(r,e){if(r===e)return!0;for(let t in r)if(z_.call(r,t)&&!(t in e))return!1;for(let t in e)if(z_.call(e,t)&&r[t]!==e[t])return!1;return!0}function KUe(r,e){let t=ZUe(r,e);for(let n of t)if(!GUe.test(n))return!1;return!0}function ZUe(r,e){let t=[];for(let n in r)z_.call(r,n)&&(n in e||t.push(n));for(let n in e)z_.call(e,n)&&r[n]!==e[n]&&t.push(n);return t}function L_(r,e,t={}){if(r===e)return!0;for(let n in e)if(!(n in r&&QUe(r[n],e[n],t[n])))return!1;for(let n in r)if(!(n in e))return!1;return!0}function QUe(r,e,t){return r===e||t===!0?!0:t?t(r,e):!1}function _me(r,e=0,t,n=1){let i=[];t==null&&(t=Object.keys(r).length);for(let s=e;s<t;s+=n){let a=r[s];a!==void 0&&i.push(a)}return i}function JUe(r,e){Mme[r]=e}function XUe(r){return new Mme[r]}function Ame(r){let e=eVe.exec(r);if(e){let t=new Date(Date.UTC(Number(e[1]),e[3]?Number(e[3])-1:0,Number(e[5]||1),Number(e[7]||0),Number(e[8]||0),Number(e[10]||0),e[12]?+`0.${e[12]}`*1e3:0));if(Az(t)){let n=null;return e[13]&&(n=(e[15]==="-"?-1:1)*(Number(e[16]||0)*60+Number(e[18]||0))),{marker:t,isTimeUnspecified:!e[6],timeZoneOffset:n}}}return null}function DS(r){r();let e=Le.debounceRendering,t=[];function n(i){t.push(i)}for(Le.debounceRendering=n,ep(_(gz,{}),document.createElement("div"));t.length;)t.shift()();Le.debounceRendering=e}function Ime(r){let e=P_(r),t=e.Provider;return e.Provider=function(){let n=!this.getChildContext,i=t.apply(this,arguments);if(n){let s=[];this.shouldComponentUpdate=a=>{this.props.value!==a.value&&s.forEach(o=>{o.context=a.value,o.forceUpdate()})},this.sub=a=>{s.push(a);let o=a.componentWillUnmount;a.componentWillUnmount=()=>{s.splice(s.indexOf(a),1),o&&o.call(a)}}}return i},e}function Nme(r,e,t,n,i,s,a,o,l,c,d,u,p,m){return{dateEnv:i,nowManager:s,options:t,pluginHooks:o,emitter:d,dispatch:l,getCurrentData:c,calendarApi:u,viewSpec:r,viewApi:e,dateProfileGenerator:n,theme:a,isRtl:t.direction==="rtl",addResizeHandler(f){d.on("_resize",f)},removeResizeHandler(f){d.off("_resize",f)},createScrollResponder(f){return new B_(f,d,nt(t.scrollTime),t.scrollTimeReset)},registerInteractiveComponent:p,unregisterInteractiveComponent:m}}function tVe(r){let e=Object.create(this.prototype.propEquality);Object.assign(e,r),this.prototype.propEquality=e}function rVe(r){let e=Object.create(this.prototype.stateEquality);Object.assign(e,r),this.prototype.stateEquality=e}function xa(r,e){typeof r=="function"?r(e):r&&(r.current=e)}function yz(r,e){var t;return!!(e.handleCustomRendering&&r&&(!((t=e.customRenderingMetaMap)===null||t===void 0)&&t[r]))}function $z(r,e,t){let n=Object.assign(Object.assign({},r.elAttrs),{ref:t});return(r.elClasses||e)&&(n.className=(r.elClasses||[]).concat(e||[]).concat(n.className||[]).filter(Boolean).join(" ")),r.elStyle&&(n.style=r.elStyle),n}function nVe(r){return!!r}function iVe(r,e){let t=r.props;return _(CS,Object.assign({renderProps:t.renderProps,generatorName:t.generatorName,customGenerator:t.customGenerator,defaultGenerator:t.defaultGenerator,renderId:r.context},e))}function sVe(r,e){let t=typeof r=="function"?r(e):r||[];return typeof t=="string"?[t]:t}function zz(r){return[`fc-${r.type}-view`,"fc-view"]}function aVe(r,e){let t=null,n=null;return r.start&&(t=e.createMarker(r.start)),r.end&&(n=e.createMarker(r.end)),!t&&!n||t&&n&&n<t?null:{start:t,end:n}}function dme(r,e){let t=[],{start:n}=e,i,s;for(r.sort(oVe),i=0;i<r.length;i+=1)s=r[i],s.start>n&&t.push({start:n,end:s.start}),s.end>n&&(n=s.end);return n<e.end&&t.push({start:n,end:e.end}),t}function oVe(r,e){return r.start.valueOf()-e.start.valueOf()}function ls(r,e){let{start:t,end:n}=r,i=null;return e.start!==null&&(t===null?t=e.start:t=new Date(Math.max(t.valueOf(),e.start.valueOf()))),e.end!=null&&(n===null?n=e.end:n=new Date(Math.min(n.valueOf(),e.end.valueOf()))),(t===null||n===null||t<n)&&(i={start:t,end:n}),i}function Rme(r,e){return(r.start===null?null:r.start.valueOf())===(e.start===null?null:e.start.valueOf())&&(r.end===null?null:r.end.valueOf())===(e.end===null?null:e.end.valueOf())}function eM(r,e){return(r.end===null||e.start===null||r.end>e.start)&&(r.start===null||e.end===null||r.start<e.end)}function Yy(r,e){return(r.start===null||e.start!==null&&e.start>=r.start)&&(r.end===null||e.end!==null&&e.end<=r.end)}function ao(r,e){return(r.start===null||e>=r.start)&&(r.end===null||e<r.end)}function lVe(r,e){return e.start!=null&&r<e.start?e.start:e.end!=null&&r>=e.end?new Date(e.end.valueOf()-1):r}function Ome(r){let e=Math.floor(Xl(r.start,r.end))||1,t=ar(r.start),n=Gr(t,e);return{start:t,end:n}}function tM(r,e=nt(0)){let t=null,n=null;if(r.end){n=ar(r.end);let i=r.end.valueOf()-n.valueOf();i&&i>=wa(e)&&(n=Gr(n,1))}return r.start&&(t=ar(r.start),n&&n<=t&&(n=Gr(t,1))),{start:t,end:n}}function Bz(r){let e=tM(r);return Xl(e.start,e.end)>1}function ip(r,e,t,n){return n==="year"?nt(t.diffWholeYears(r,e),"year"):n==="month"?nt(t.diffWholeMonths(r,e),"month"):Dme(r,e)}function Gy(r,e,t,n){return{instanceId:Cd(),defId:r,range:e,forcedStartTzo:t==null?null:t,forcedEndTzo:n==null?null:n}}function cVe(r,e,t,n){for(let i=0;i<n.length;i+=1){let s=n[i].parse(r,t);if(s){let{allDay:a}=r;return a==null&&(a=e,a==null&&(a=s.allDayGuess,a==null&&(a=!1))),{allDay:a,duration:s.duration,typeData:s.typeData,typeId:i}}}return null}function vf(r,e,t){let{dateEnv:n,pluginHooks:i,options:s}=t,{defs:a,instances:o}=r;o=wd(o,l=>!a[l.defId].recurringDef);for(let l in a){let c=a[l];if(c.recurringDef){let{duration:d}=c.recurringDef;d||(d=c.allDay?s.defaultAllDayEventDuration:s.defaultTimedEventDuration);let u=dVe(c,d,e,n,i.recurringTypes);for(let p of u){let m=Gy(l,{start:p,end:n.add(p,d)});o[m.instanceId]=m}}}return{defs:a,instances:o}}function dVe(r,e,t,n,i){let a=i[r.recurringDef.typeId].expand(r.recurringDef.typeData,{start:n.subtract(t.start,e),end:t.end},n);return r.allDay&&(a=a.map(ar)),a}function Fme(r,e,t,n,i=qz(t),s,a){let{refined:o,extra:l}=HS(r,t,i),c=mVe(e,t),d=cVe(o,c,t.dateEnv,t.pluginHooks.recurringTypes);if(d){let p=jy(o,l,e?e.sourceId:"",d.allDay,!!d.duration,t,s);return p.recurringDef={typeId:d.typeId,typeData:d.typeData,duration:d.duration},{def:p,instance:null}}let u=pVe(o,c,t,n);if(u){let p=jy(o,l,e?e.sourceId:"",u.allDay,u.hasEnd,t,s),m=Gy(p.defId,u.range,u.forcedStartTzo,u.forcedEndTzo);return a&&p.publicId&&a[p.publicId]&&(m.instanceId=a[p.publicId]),{def:p,instance:m}}return null}function HS(r,e,t=qz(e)){return qS(r,t)}function qz(r){return Object.assign(Object.assign(Object.assign({},q_),uVe),r.pluginHooks.eventRefiners)}function jy(r,e,t,n,i,s,a){let o={title:r.title||"",groupId:r.groupId||"",publicId:r.id||"",url:r.url||"",recurringDef:null,defId:(a&&r.id?a[r.id]:"")||Cd(),sourceId:t,allDay:n,hasEnd:i,interactive:r.interactive,ui:Ky(r,s),extendedProps:Object.assign(Object.assign({},r.extendedProps||{}),e)};for(let l of s.pluginHooks.eventDefMemberAdders)Object.assign(o,l(r));return Object.freeze(o.ui.classNames),Object.freeze(o.extendedProps),o}function pVe(r,e,t,n){let{allDay:i}=r,s,a=null,o=!1,l,c=null,d=r.start!=null?r.start:r.date;if(s=t.dateEnv.createMarkerMeta(d),s)a=s.marker;else if(!n)return null;return r.end!=null&&(l=t.dateEnv.createMarkerMeta(r.end)),i==null&&(e!=null?i=e:i=(!s||s.isTimeUnspecified)&&(!l||l.isTimeUnspecified)),i&&a&&(a=ar(a)),l&&(c=l.marker,i&&(c=ar(c)),a&&c<=a&&(c=null)),c?o=!0:n||(o=t.options.forceEventDuration||!1,c=t.dateEnv.add(a,i?t.options.defaultAllDayEventDuration:t.options.defaultTimedEventDuration)),{allDay:i,hasEnd:o,range:{start:a,end:c},forcedStartTzo:s?s.forcedTzo:null,forcedEndTzo:l?l.forcedTzo:null}}function mVe(r,e){let t=null;return r&&(t=r.defaultAllDay),t==null&&(t=e.options.defaultAllDay),t}function PS(r,e,t,n,i,s){let a=Hn(),o=qz(t);for(let l of r){let c=Fme(l,e,t,n,o,i,s);c&&bf(c,a)}return a}function bf(r,e=Hn()){return e.defs[r.def.defId]=r.def,r.instance&&(e.instances[r.instance.instanceId]=r.instance),e}function US(r,e){let t=r.instances[e];if(t){let n=r.defs[t.defId],i=nM(r,s=>fVe(n,s));return i.defs[n.defId]=n,i.instances[t.instanceId]=t,i}return Hn()}function fVe(r,e){return!!(r.groupId&&r.groupId===e.groupId)}function Hn(){return{defs:{},instances:{}}}function rM(r,e){return{defs:Object.assign(Object.assign({},r.defs),e.defs),instances:Object.assign(Object.assign({},r.instances),e.instances)}}function nM(r,e){let t=wd(r.defs,e),n=wd(r.instances,i=>t[i.defId]);return{defs:t,instances:n}}function hVe(r,e){let{defs:t,instances:n}=r,i={},s={};for(let a in t)e.defs[a]||(i[a]=t[a]);for(let a in n)!e.instances[a]&&i[n[a].defId]&&(s[a]=n[a]);return{defs:i,instances:s}}function gVe(r,e){return Array.isArray(r)?PS(r,null,e,!0):typeof r=="object"&&r?PS([r],null,e,!0):r!=null?String(r):null}function vz(r){return Array.isArray(r)?r:typeof r=="string"?r.split(/\s+/):[]}function Ky(r,e){let t=gVe(r.constraint,e);return{display:r.display||null,startEditable:r.startEditable!=null?r.startEditable:r.editable,durationEditable:r.durationEditable!=null?r.durationEditable:r.editable,constraints:t!=null?[t]:[],overlap:r.overlap!=null?r.overlap:null,allows:r.allow!=null?[r.allow]:[],backgroundColor:r.backgroundColor||r.color||"",borderColor:r.borderColor||r.color||"",textColor:r.textColor||"",classNames:(r.className||[]).concat(r.classNames||[])}}function Hz(r){return r.reduce(vVe,yVe)}function vVe(r,e){return{display:e.display!=null?e.display:r.display,startEditable:e.startEditable!=null?e.startEditable:r.startEditable,durationEditable:e.durationEditable!=null?e.durationEditable:r.durationEditable,constraints:r.constraints.concat(e.constraints),overlap:typeof e.overlap=="boolean"?e.overlap:r.overlap,allows:r.allows.concat(e.allows),backgroundColor:e.backgroundColor||r.backgroundColor,borderColor:e.borderColor||r.borderColor,textColor:e.textColor||r.textColor,classNames:r.classNames.concat(e.classNames)}}function Uz(r,e,t=Vz(e)){let n;if(typeof r=="string"?n={url:r}:typeof r=="function"||Array.isArray(r)?n={events:r}:typeof r=="object"&&r&&(n=r),n){let{refined:i,extra:s}=qS(n,t),a=TVe(i,e);if(a)return{_raw:r,isFetching:!1,latestFetchId:"",fetchRange:null,defaultAllDay:i.defaultAllDay,eventDataTransform:i.eventDataTransform,success:i.success,failure:i.failure,publicId:i.id||"",sourceId:Cd(),sourceDefId:a.sourceDefId,meta:a.meta,ui:Ky(i,e),extendedProps:s}}return null}function Vz(r){return Object.assign(Object.assign(Object.assign({},q_),bVe),r.pluginHooks.eventSourceRefiners)}function TVe(r,e){let t=e.pluginHooks.eventSourceDefs;for(let n=t.length-1;n>=0;n-=1){let s=t[n].parseMeta(r);if(s)return{sourceDefId:n,meta:s}}return null}function $me(r,e,t,n,i){switch(e.type){case"RECEIVE_EVENTS":return kVe(r,t[e.sourceId],e.fetchId,e.fetchRange,e.rawEvents,i);case"RESET_RAW_EVENTS":return wVe(r,t[e.sourceId],e.rawEvents,n.activeRange,i);case"ADD_EVENTS":return SVe(r,e.eventStore,n?n.activeRange:null,i);case"RESET_EVENTS":return e.eventStore;case"MERGE_EVENTS":return rM(r,e.eventStore);case"PREV":case"NEXT":case"CHANGE_DATE":case"CHANGE_VIEW_TYPE":return n?vf(r,n.activeRange,i):r;case"REMOVE_EVENTS":return hVe(r,e.eventStore);case"REMOVE_EVENT_SOURCE":return zme(r,e.sourceId);case"REMOVE_ALL_EVENT_SOURCES":return nM(r,s=>!s.sourceId);case"REMOVE_ALL_EVENTS":return Hn();default:return r}}function kVe(r,e,t,n,i,s){if(e&&t===e.latestFetchId){let a=PS(jme(i,e,s),e,s);return n&&(a=vf(a,n,s)),rM(zme(r,e.sourceId),a)}return r}function wVe(r,e,t,n,i){let{defIdMap:s,instanceIdMap:a}=EVe(r),o=PS(jme(t,e,i),e,i,!1,s,a);return vf(o,n,i)}function jme(r,e,t){let n=t.options.eventDataTransform,i=e?e.eventDataTransform:null;return i&&(r=ume(r,i)),n&&(r=ume(r,n)),r}function ume(r,e){let t;if(!e)t=r;else{t=[];for(let n of r){let i=e(n);i?t.push(i):i==null&&t.push(n)}}return t}function SVe(r,e,t,n){return t&&(e=vf(e,t,n)),rM(r,e)}function Wz(r,e,t){let{defs:n}=r,i=oo(r.instances,s=>n[s.defId].allDay?s:Object.assign(Object.assign({},s),{range:{start:t.createMarker(e.toDate(s.range.start,s.forcedStartTzo)),end:t.createMarker(e.toDate(s.range.end,s.forcedEndTzo))},forcedStartTzo:t.canComputeOffset?null:s.forcedStartTzo,forcedEndTzo:t.canComputeOffset?null:s.forcedEndTzo}));return{defs:n,instances:i}}function zme(r,e){return nM(r,t=>t.sourceId!==e)}function xVe(r,e){return{defs:r.defs,instances:wd(r.instances,t=>!e[t.instanceId])}}function EVe(r){let{defs:e,instances:t}=r,n={},i={};for(let s in e){let a=e[s],{publicId:o}=a;o&&(n[o]=s)}for(let s in t){let a=t[s],o=e[a.defId],{publicId:l}=o;l&&(i[l]=s)}return{defIdMap:n,instanceIdMap:i}}function DVe(r,e,t){(r[e]||(r[e]=[])).push(t)}function CVe(r,e,t){t?r[e]&&(r[e]=r[e].filter(n=>n!==t)):delete r[e]}function Yz(r,e){return PS(_Ve(r),null,e)}function _Ve(r){let e;return r===!0?e=[{}]:Array.isArray(r)?e=r.filter(t=>t.daysOfWeek):typeof r=="object"&&r?e=[r]:e=[],e=e.map(t=>Object.assign(Object.assign({},PVe),t)),e}function iM(r,e,t){t.emitter.trigger("select",Object.assign(Object.assign({},Gz(r,t)),{jsEvent:e?e.origEvent:null,view:t.viewApi||t.calendarApi.view}))}function MVe(r,e){e.emitter.trigger("unselect",{jsEvent:r?r.origEvent:null,view:e.viewApi||e.calendarApi.view})}function Gz(r,e){let t={};for(let n of e.pluginHooks.dateSpanTransforms)Object.assign(t,n(r,e));return Object.assign(t,qVe(r,e.dateEnv)),t}function _S(r,e,t){let{dateEnv:n,options:i}=t,s=e;return r?(s=ar(s),s=n.add(s,i.defaultAllDayEventDuration)):s=n.add(s,i.defaultTimedEventDuration),s}function VS(r,e,t,n){let i=H_(r.defs,e),s=Hn();for(let a in r.defs){let o=r.defs[a];s.defs[a]=AVe(o,i[a],t,n)}for(let a in r.instances){let o=r.instances[a],l=s.defs[o.defId];s.instances[a]=IVe(o,l,i[o.defId],t,n)}return s}function AVe(r,e,t,n){let i=t.standardProps||{};i.hasEnd==null&&e.durationEditable&&(t.startDelta||t.endDelta)&&(i.hasEnd=!0);let s=Object.assign(Object.assign(Object.assign({},r),i),{ui:Object.assign(Object.assign({},r.ui),i.ui)});t.extendedProps&&(s.extendedProps=Object.assign(Object.assign({},s.extendedProps),t.extendedProps));for(let a of n.pluginHooks.eventDefMutationAppliers)a(s,t,n);return!s.hasEnd&&n.options.forceEventDuration&&(s.hasEnd=!0),s}function IVe(r,e,t,n,i){let{dateEnv:s}=i,a=n.standardProps&&n.standardProps.allDay===!0,o=n.standardProps&&n.standardProps.hasEnd===!1,l=Object.assign({},r);return a&&(l.range=Ome(l.range)),n.datesDelta&&t.startEditable&&(l.range={start:s.add(l.range.start,n.datesDelta),end:s.add(l.range.end,n.datesDelta)}),n.startDelta&&t.durationEditable&&(l.range={start:s.add(l.range.start,n.startDelta),end:l.range.end}),n.endDelta&&t.durationEditable&&(l.range={start:l.range.start,end:s.add(l.range.end,n.endDelta)}),o&&(l.range={start:l.range.start,end:_S(e.allDay,l.range.start,i)}),e.allDay&&(l.range={start:ar(l.range.start),end:ar(l.range.end)}),l.range.end<l.range.start&&(l.range.end=_S(e.allDay,l.range.start,i)),l}function Bme(r){let e=r._def,t=r._instance;return{defs:{[e.defId]:e},instances:t?{[t.instanceId]:t}:{}}}function tc(r,e,t){let{defs:n,instances:i}=r,s=[],a=t?t.instanceId:"";for(let o in i){let l=i[o],c=n[l.defId];l.instanceId!==a&&s.push(new wr(e,c,l))}return s}function zy(r,e,t,n){let i={},s={},a={},o=[],l=[],c=H_(r.defs,e);for(let d in r.defs){let u=r.defs[d];c[u.defId].display==="inverse-background"&&(u.groupId?(i[u.groupId]=[],a[u.groupId]||(a[u.groupId]=u)):s[d]=[])}for(let d in r.instances){let u=r.instances[d],p=r.defs[u.defId],m=c[p.defId],f=u.range,h=!p.allDay&&n?tM(f,n):f,g=ls(h,t);g&&(m.display==="inverse-background"?p.groupId?i[p.groupId].push(g):s[u.defId].push(g):m.display!=="none"&&(m.display==="background"?o:l).push({def:p,ui:m,instance:u,range:g,isStart:h.start&&h.start.valueOf()===g.start.valueOf(),isEnd:h.end&&h.end.valueOf()===g.end.valueOf()}))}for(let d in i){let u=i[d],p=dme(u,t);for(let m of p){let f=a[d],h=c[f.defId];o.push({def:f,ui:h,instance:null,range:m,isStart:!1,isEnd:!1})}}for(let d in s){let u=s[d],p=dme(u,t);for(let m of p)o.push({def:r.defs[d],ui:c[d],instance:null,range:m,isStart:!1,isEnd:!1})}return{bg:o,fg:l}}function Kz(r){return r.ui.display==="background"||r.ui.display==="inverse-background"}function pme(r,e){r.fcSeg=e}function Pd(r){return r.fcSeg||r.parentNode.fcSeg||null}function H_(r,e){return oo(r,t=>qme(t,e))}function qme(r,e){let t=[];return e[""]&&t.push(e[""]),e[r.defId]&&t.push(e[r.defId]),t.push(r.ui),Hz(t)}function Pf(r,e){let t=r.map(NVe);return t.sort((n,i)=>Sme(n,i,e)),t.map(n=>n._seg)}function NVe(r){let{eventRange:e}=r,t=e.def,n=e.instance?e.instance.range:e.range,i=n.start?n.start.valueOf():0,s=n.end?n.end.valueOf():0;return Object.assign(Object.assign(Object.assign({},t.extendedProps),t),{id:t.publicId,start:i,end:s,duration:s-i,allDay:Number(t.allDay),_seg:r})}function RVe(r,e){let{pluginHooks:t}=e,n=t.isDraggableTransformers,{def:i,ui:s}=r.eventRange,a=s.startEditable;for(let o of n)a=o(a,i,s,e);return a}function OVe(r,e){return r.isStart&&r.eventRange.ui.durationEditable&&e.options.eventResizableFromStart}function LVe(r,e){return r.isEnd&&r.eventRange.ui.durationEditable}function dp(r,e,t,n,i,s,a){let{dateEnv:o,options:l}=t,{displayEventTime:c,displayEventEnd:d}=l,u=r.eventRange.def,p=r.eventRange.instance;c==null&&(c=n!==!1),d==null&&(d=i!==!1);let m=p.range.start,f=p.range.end,h=s||r.start||r.eventRange.range.start,g=a||r.end||r.eventRange.range.end,y=ar(m).valueOf()===ar(h).valueOf(),k=ar(Gl(f,-1)).valueOf()===ar(Gl(g,-1)).valueOf();return c&&!u.allDay&&(y||k)?(h=y?m:h,g=k?f:g,d&&u.hasEnd?o.formatRange(h,g,e,{forcedStartTzo:s?null:p.forcedStartTzo,forcedEndTzo:a?null:p.forcedEndTzo}):o.format(h,e,{forcedTzo:s?null:p.forcedStartTzo})):""}function Ea(r,e,t){let n=r.eventRange.range;return{isPast:n.end<=(t||e.start),isFuture:n.start>=(t||e.end),isToday:e&&ao(e,n.start)}}function FVe(r){let e=["fc-event"];return r.isMirror&&e.push("fc-event-mirror"),r.isDraggable&&e.push("fc-event-draggable"),(r.isStartResizable||r.isEndResizable)&&e.push("fc-event-resizable"),r.isDragging&&e.push("fc-event-dragging"),r.isResizing&&e.push("fc-event-resizing"),r.isSelected&&e.push("fc-event-selected"),r.isStart&&e.push("fc-event-start"),r.isEnd&&e.push("fc-event-end"),r.isPast&&e.push("fc-event-past"),r.isToday&&e.push("fc-event-today"),r.isFuture&&e.push("fc-event-future"),e}function WS(r){return r.instance?r.instance.instanceId:`${r.def.defId}:${r.range.start.toISOString()}`}function Zy(r,e){let{def:t,instance:n}=r.eventRange,{url:i}=t;if(i)return{href:i};let{emitter:s,options:a}=e,{eventInteractive:o}=a;return o==null&&(o=t.interactive,o==null&&(o=!!s.hasHandlers("eventClick"))),o?kme(l=>{s.trigger("eventClick",{el:l.target,event:new wr(e,t,n),jsEvent:l,view:e.viewApi})}):{}}function jVe(r,e,t){let n=zVe(r,e),{range:i}=n;if(!i.start)return null;if(!i.end){if(t==null)return null;i.end=e.add(i.start,t)}return n}function zVe(r,e){let{refined:t,extra:n}=qS(r,$Ve),i=t.start?e.createMarkerMeta(t.start):null,s=t.end?e.createMarkerMeta(t.end):null,{allDay:a}=t;return a==null&&(a=i&&i.isTimeUnspecified&&(!s||s.isTimeUnspecified)),Object.assign({range:{start:i?i.marker:null,end:s?s.marker:null},allDay:a},n)}function Zz(r,e){return Rme(r.range,e.range)&&r.allDay===e.allDay&&BVe(r,e)}function BVe(r,e){for(let t in e)if(t!=="range"&&t!=="allDay"&&r[t]!==e[t])return!1;for(let t in r)if(!(t in e))return!1;return!0}function qVe(r,e){return Object.assign(Object.assign({},Hme(r.range,e,r.allDay)),{allDay:r.allDay})}function Qz(r,e,t){return Object.assign(Object.assign({},Hme(r,e,t)),{timeZone:e.timeZone})}function Hme(r,e,t){return{start:e.toDate(r.start),end:e.toDate(r.end),startStr:e.formatIso(r.start,{omitTime:t}),endStr:e.formatIso(r.end,{omitTime:t})}}function HVe(r,e,t){let n=HS({editable:!1},t),i=jy(n.refined,n.extra,"",r.allDay,!0,t);return{def:i,ui:qme(i,e),instance:Gy(i.defId,r.range),range:r.range,isStart:!0,isEnd:!0}}function Jz(r,e,t){let n=!1,i=function(o){n||(n=!0,e(o))},s=function(o){n||(n=!0,t(o))},a=r(i,s);a&&typeof a.then=="function"&&a.then(i,s)}function Xz(r,e,t){r=r.toUpperCase();let n={method:r};return r==="GET"?e+=(e.indexOf("?")===-1?"?":"&")+new URLSearchParams(t):(n.body=new URLSearchParams(t),n.headers={"Content-Type":"application/x-www-form-urlencoded"}),fetch(e,n).then(i=>{if(i.ok)return i.json().then(s=>[s,i],()=>{throw new U_("Failure parsing JSON",i)});throw new U_("Request failed",i)})}function e2(){return iz==null&&(iz=UVe()),iz}function UVe(){if(typeof document=="undefined")return!0;let r=document.createElement("div");r.style.position="absolute",r.style.top="0px",r.style.left="0px",r.innerHTML="<table><tr><td><div></div></td></tr></table>",r.querySelector("table").style.height="100px",r.querySelector("div").style.height="100%",document.body.appendChild(r);let t=r.querySelector("div").offsetHeight>0;return document.body.removeChild(r),t}function Ume(r,e){return{component:r,el:e.el,useEventCenter:e.useEventCenter!=null?e.useEventCenter:!0,isHitComboAllowed:e.isHitComboAllowed||null}}function YS(r){return{[r.component.uid]:r}}function VVe(r){let e=ar(r),t=Gr(e,1);return{start:e,end:t}}function t2(r,e){return r.left>=e.left&&r.left<e.right&&r.top>=e.top&&r.top<e.bottom}function sM(r,e){let t={left:Math.max(r.left,e.left),right:Math.min(r.right,e.right),top:Math.max(r.top,e.top),bottom:Math.min(r.bottom,e.bottom)};return t.left<t.right&&t.top<t.bottom?t:!1}function r2(r,e){return{left:Math.min(Math.max(r.left,e.left),e.right),top:Math.min(Math.max(r.top,e.top),e.bottom)}}function n2(r){return{left:(r.left+r.right)/2,top:(r.top+r.bottom)/2}}function i2(r,e){return{left:r.left-e.left,top:r.top-e.top}}function WVe(r,e,t){let n=[];r&&n.push(r),e&&n.push(e);let i={"":Hz(n)};return t&&Object.assign(i,t),i}function GS(r,e,t,n){return{dow:r.getUTCDay(),isDisabled:!!(n&&(!n.activeRange||!ao(n.activeRange,r))),isOther:!!(n&&!ao(n.currentRange,r)),isToday:!!(e&&ao(e,r)),isPast:!!(t?r<t:e&&r<e.start),isFuture:!!(t?r>t:e&&r>=e.end)}}function Qy(r,e){let t=["fc-day",`fc-day-${CUe[r.dow]}`];return r.isDisabled?t.push("fc-day-disabled"):(r.isToday&&(t.push("fc-day-today"),t.push(e.getClass("today"))),r.isPast&&t.push("fc-day-past"),r.isFuture&&t.push("fc-day-future"),r.isOther&&t.push("fc-day-other")),t}function rc(r,e,t="day",n=!0){let{dateEnv:i,options:s,calendarApi:a}=r,o=i.format(e,t==="week"?GVe:YVe);if(s.navLinks){let l=i.toDate(e),c=d=>{let u=t==="day"?s.navLinkDayClick:t==="week"?s.navLinkWeekClick:null;typeof u=="function"?u.call(a,i.toDate(e),d):(typeof u=="string"&&(t=u),a.zoomTo(e,t))};return Object.assign({title:Uy(s.navLinkHint,[o,l],o),"data-navlink":""},n?Tme(c):{onClick:c})}return{"aria-label":o}}function Vme(){return az===null&&(az=KVe()),az}function KVe(){let r=document.createElement("div");Cf(r,{position:"absolute",top:-1e3,left:0,border:0,padding:0,overflow:"scroll",direction:"rtl"}),r.innerHTML="<div></div>",document.body.appendChild(r);let t=r.firstChild.getBoundingClientRect().left>r.getBoundingClientRect().left;return $S(r),t}function Wme(){return oz||(oz=ZVe()),oz}function ZVe(){let r=document.createElement("div");r.style.overflow="scroll",r.style.position="absolute",r.style.top="-9999px",r.style.left="-9999px",document.body.appendChild(r);let e=Yme(r);return document.body.removeChild(r),e}function Yme(r){return{x:r.offsetHeight-r.clientHeight,y:r.offsetWidth-r.clientWidth}}function Gme(r,e=!1){let t=window.getComputedStyle(r),n=parseInt(t.borderLeftWidth,10)||0,i=parseInt(t.borderRightWidth,10)||0,s=parseInt(t.borderTopWidth,10)||0,a=parseInt(t.borderBottomWidth,10)||0,o=Yme(r),l=o.y-n-i,c=o.x-s-a,d={borderLeft:n,borderRight:i,borderTop:s,borderBottom:a,scrollbarBottom:c,scrollbarLeft:0,scrollbarRight:0};return Vme()&&t.direction==="rtl"?d.scrollbarLeft=l:d.scrollbarRight=l,e&&(d.paddingLeft=parseInt(t.paddingLeft,10)||0,d.paddingRight=parseInt(t.paddingRight,10)||0,d.paddingTop=parseInt(t.paddingTop,10)||0,d.paddingBottom=parseInt(t.paddingBottom,10)||0),d}function s2(r,e=!1,t){let n=t?r.getBoundingClientRect():KS(r),i=Gme(r,e),s={left:n.left+i.borderLeft+i.scrollbarLeft,right:n.right-i.borderRight-i.scrollbarRight,top:n.top+i.borderTop,bottom:n.bottom-i.borderBottom-i.scrollbarBottom};return e&&(s.left+=i.paddingLeft,s.right-=i.paddingRight,s.top+=i.paddingTop,s.bottom-=i.paddingBottom),s}function KS(r){let e=r.getBoundingClientRect();return{left:e.left+window.scrollX,top:e.top+window.scrollY,right:e.right+window.scrollX,bottom:e.bottom+window.scrollY}}function QVe(r){let e=aM(r),t=r.getBoundingClientRect();for(let n of e){let i=sM(t,n.getBoundingClientRect());if(i)t=i;else return null}return t}function aM(r){let e=[];for(;r instanceof HTMLElement;){let t=window.getComputedStyle(r);if(t.position==="fixed")break;/(auto|scroll)/.test(t.overflow+t.overflowY+t.overflowX)&&e.push(r),r=r.parentNode}return e}function N_(r,e){let t=r.length;if(t!==e.length)return!1;for(let n=0;n<t;n++)if(Math.round(r[n])!==Math.round(e[n]))return!1;return!0}function OS(r){return r.span.end}function Zl(r){return r.index+":"+r.span.start}function a2(r){let e=[];for(let t of r){let n=[],i={span:t.span,entries:[t]};for(let s of e)ZS(s.span,i.span)?i={entries:s.entries.concat(i.entries),span:JVe(s.span,i.span)}:n.push(s);n.push(i),e=n}return e}function JVe(r,e){return{start:Math.min(r.start,e.start),end:Math.max(r.end,e.end)}}function ZS(r,e){let t=Math.max(r.start,e.start),n=Math.min(r.end,e.end);return t<n?{start:t,end:n}:null}function lz(r,e,t){r.splice(e,0,t)}function LS(r,e,t){let n=0,i=r.length;if(!i||e<t(r[n]))return[0,0];if(e>t(r[i-1]))return[i,0];for(;n<i;){let s=Math.floor(n+(i-n)/2),a=t(r[s]);if(e<a)i=s;else if(e>a)n=s+1;else return[s,1]}return[n,0]}function QS(r){let{refined:e,extra:t}=qS(r,XVe);return{startTime:e.startTime||null,duration:e.duration||null,create:e.create!=null?e.create:!0,sourceId:e.sourceId,leftoverProps:t}}function Kme(r,e){return!r||e>10?zt({weekday:"short"}):e>1?zt({weekday:"short",month:"numeric",day:"numeric",omitCommas:!0}):zt({weekday:"long"})}function Qme(r){return r.text}function tWe(r,e,t){return r||Kme(e,t)}function R_(r,e){let t=r.activeRange;return e?t:{start:Gl(t.start,r.slotMinTime.milliseconds),end:Gl(t.end,r.slotMaxTime.milliseconds-864e5)}}function JS(r,e,t){let{instances:n}=r.mutatedEvents;for(let i in n)if(!Yy(e.validRange,n[i].range))return!1;return Jme({eventDrag:r},t)}function o2(r,e,t){return Yy(e.validRange,r.range)?Jme({dateSelection:r},t):!1}function Jme(r,e){let t=e.getCurrentData(),n=Object.assign({businessHours:t.businessHours,dateSelection:"",eventStore:t.eventStore,eventUiBases:t.eventUiBases,eventSelection:"",eventDrag:null,eventResize:null},r);return(e.pluginHooks.isPropsValid||Xme)(n,e)}function Xme(r,e,t={},n){return!(r.eventDrag&&!rWe(r,e,t,n)||r.dateSelection&&!nWe(r,e,t,n))}function rWe(r,e,t,n){let i=e.getCurrentData(),s=r.eventDrag,a=s.mutatedEvents,o=a.defs,l=a.instances,c=H_(o,s.isEvent?r.eventUiBases:{"":i.selectionConfig});n&&(c=oo(c,n));let d=xVe(r.eventStore,s.affectedEvents.instances),u=d.defs,p=d.instances,m=H_(u,r.eventUiBases);for(let f in l){let h=l[f],g=h.range,y=c[h.defId],k=o[h.defId];if(!efe(y.constraints,g,d,r.businessHours,e))return!1;let{eventOverlap:T}=e.options,w=typeof T=="function"?T:null;for(let E in p){let C=p[E];if(eM(g,C.range)&&(m[C.defId].overlap===!1&&s.isEvent||y.overlap===!1||w&&!w(new wr(e,u[C.defId],C),new wr(e,k,h))))return!1}let S=i.eventStore;for(let E of y.allows){let C=Object.assign(Object.assign({},t),{range:h.range,allDay:k.allDay}),D=S.defs[k.defId],A=S.instances[f],N;if(D?N=new wr(e,D,A):N=new wr(e,k),!E(Gz(C,e),N))return!1}}return!0}function nWe(r,e,t,n){let i=r.eventStore,s=i.defs,a=i.instances,o=r.dateSelection,l=o.range,{selectionConfig:c}=e.getCurrentData();if(n&&(c=n(c)),!efe(c.constraints,l,i,r.businessHours,e))return!1;let{selectOverlap:d}=e.options,u=typeof d=="function"?d:null;for(let p in a){let m=a[p];if(eM(l,m.range)&&(c.overlap===!1||u&&!u(new wr(e,s[m.defId],m),null)))return!1}for(let p of c.allows){let m=Object.assign(Object.assign({},t),o);if(!p(Gz(m,e),null))return!1}return!0}function efe(r,e,t,n,i){for(let s of r)if(!sWe(iWe(s,e,t,n,i),e))return!1;return!0}function iWe(r,e,t,n,i){return r==="businessHours"?cz(vf(n,e,i)):typeof r=="string"?cz(nM(t,s=>s.groupId===r)):typeof r=="object"&&r?cz(vf(r,e,i)):[]}function cz(r){let{instances:e}=r,t=[];for(let n in e)t.push(e[n].range);return t}function sWe(r,e){for(let t of r)if(Yy(t,e))return!0;return!1}function tfe(r){let e=vme(r,".fc-scrollgrid-shrink"),t=0;for(let n of e)t=Math.max(t,kUe(n));return Math.ceil(t)}function l2(r,e){return r.liquid&&e.liquid}function rfe(r,e){return e.maxHeight!=null||l2(r,e)}function nfe(r,e,t,n){let{expandRows:i}=t;return typeof e.content=="function"?e.content(t):_("table",{role:"presentation",className:[e.tableClassName,r.syncRowHeights?"fc-scrollgrid-sync-table":""].join(" "),style:{minWidth:t.tableMinWidth,width:t.clientWidth,height:i?t.clientHeight:""}},t.tableColGroupNode,_(n?"thead":"tbody",{role:"presentation"},typeof e.rowContent=="function"?e.rowContent(t):e.rowContent))}function ife(r,e){return Jl(r,e,zi)}function sfe(r,e){let t=[];for(let n of r){let i=n.span||1;for(let s=0;s<i;s+=1)t.push(_("col",{style:{width:n.width==="shrink"?afe(e):n.width||"",minWidth:n.minWidth||""}}))}return _("colgroup",{},...t)}function afe(r){return r==null?4:r}function ofe(r){for(let e of r)if(e.width==="shrink")return!0;return!1}function lfe(r,e){let t=["fc-scrollgrid",e.theme.getClass("table")];return r&&t.push("fc-scrollgrid-liquid"),t}function cfe(r,e){let t=["fc-scrollgrid-section",`fc-scrollgrid-section-${r.type}`,r.className];return e&&r.liquid&&r.maxHeight==null&&t.push("fc-scrollgrid-section-liquid"),r.isSticky&&t.push("fc-scrollgrid-section-sticky"),t}function Xy(r){return _("div",{className:"fc-scrollgrid-sticky-shim",style:{width:r.clientWidth,minWidth:r.tableMinWidth}})}function Mf(r){let{stickyHeaderDates:e}=r;return(e==null||e==="auto")&&(e=r.height==="auto"||r.viewHeight==="auto"),e}function XS(r){let{stickyFooterScrollbar:e}=r;return(e==null||e==="auto")&&(e=r.height==="auto"||r.viewHeight==="auto"),e}function aWe(r,e){for(let t of r)if(t.key===e)return t;return null}function oWe(r){return _("div",{className:"fc-event-main-frame"},r.timeText&&_("div",{className:"fc-event-time"},r.timeText),_("div",{className:"fc-event-title-container"},_("div",{className:"fc-event-title fc-sticky"},r.event.title||_(jt,null,"\xA0"))))}function ev(r){return!!(r.dayCellContent||yz("dayCellContent",r))}function cWe(r){let{date:e,dateEnv:t,dateProfile:n,isMonthStart:i}=r,s=GS(e,r.todayRange,null,n),a=r.showDayNumber?t.format(e,i?r.monthStartFormat:lWe):"";return Object.assign(Object.assign(Object.assign({date:t.toDate(e),view:r.viewApi},s),{isMonthStart:i,dayNumberText:a}),r.extraRenderProps)}function dWe(r){let{title:e}=r.event;return e&&_("div",{className:"fc-event-title"},r.event.title)}function tx(r){return _("div",{className:`fc-${r}`})}function uWe(r){return r.text}function pWe(r){return r.text}function mme(r){if(r.allDayDate)return{start:r.allDayDate,end:Gr(r.allDayDate,1)};let{hiddenSegs:e}=r;return{start:oM(e),end:fWe(e)}}function oM(r){return r.reduce(mWe).eventRange.range.start}function mWe(r,e){return r.eventRange.range.start<e.eventRange.range.start?r:e}function fWe(r){return r.reduce(hWe).eventRange.range.end}function hWe(r,e){return r.eventRange.range.end>e.eventRange.range.end?r:e}var fme,uz,tz,yUe,gf,vUe,tme,rme,nme,ime,wUe,CUe,nz,$_,A_,LUe,FUe,$Ue,jUe,pz,mz,fz,Rz,ec,Oz,Lz,cp,Pme,z_,GUe,Mme,hz,eVe,ES,Sd,gz,B_,lo,Kl,ht,CS,jz,fn,Sa,yf,F_,Lme,uVe,q_,yVe,bVe,xd,PVe,tp,wr,$Ve,U_,iz,MS,el,_f,Os,AS,sz,IS,YVe,GVe,az,oz,tl,Tf,NS,RS,Mn,kf,FS,Jy,XVe,Zme,V_,eWe,W_,Ed,wf,Sf,xf,O_,By,Ls,sp,Dd,ap,ex,lWe,op,Ef,rx,dz,bz,Tz,Df,c2=v(()=>{kd();kd();wS();fme=[],uz=new Map;typeof document!="undefined"&&gme(document);yUe=':root{--fc-small-font-size:.85em;--fc-page-bg-color:#fff;--fc-neutral-bg-color:hsla(0,0%,82%,.3);--fc-neutral-text-color:grey;--fc-border-color:#ddd;--fc-button-text-color:#fff;--fc-button-bg-color:#2c3e50;--fc-button-border-color:#2c3e50;--fc-button-hover-bg-color:#1e2b37;--fc-button-hover-border-color:#1a252f;--fc-button-active-bg-color:#1a252f;--fc-button-active-border-color:#151e27;--fc-event-bg-color:#3788d8;--fc-event-border-color:#3788d8;--fc-event-text-color:#fff;--fc-event-selected-overlay-color:rgba(0,0,0,.25);--fc-more-link-bg-color:#d0d0d0;--fc-more-link-text-color:inherit;--fc-event-resizer-thickness:8px;--fc-event-resizer-dot-total-width:8px;--fc-event-resizer-dot-border-width:1px;--fc-non-business-color:hsla(0,0%,84%,.3);--fc-bg-event-color:#8fdf82;--fc-bg-event-opacity:0.3;--fc-highlight-color:rgba(188,232,241,.3);--fc-today-bg-color:rgba(255,220,40,.15);--fc-now-indicator-color:red}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc{display:flex;flex-direction:column;font-size:1em}.fc,.fc *,.fc :after,.fc :before{box-sizing:border-box}.fc table{border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{padding:0;vertical-align:top}.fc a[data-navlink]{cursor:pointer}.fc a[data-navlink]:hover{text-decoration:underline}.fc-direction-ltr{direction:ltr;text-align:left}.fc-direction-rtl{direction:rtl;text-align:right}.fc-theme-standard td,.fc-theme-standard th{border:1px solid var(--fc-border-color)}.fc-liquid-hack td,.fc-liquid-hack th{position:relative}@font-face{font-family:fcicons;font-style:normal;font-weight:400;src:url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBfAAAAC8AAAAYGNtYXAXVtKNAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5ZgYydxIAAAF4AAAFNGhlYWQUJ7cIAAAGrAAAADZoaGVhB20DzAAABuQAAAAkaG10eCIABhQAAAcIAAAALGxvY2ED4AU6AAAHNAAAABhtYXhwAA8AjAAAB0wAAAAgbmFtZXsr690AAAdsAAABhnBvc3QAAwAAAAAI9AAAACAAAwPAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpBgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6Qb//f//AAAAAAAg6QD//f//AAH/4xcEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAWIAjQKeAskAEwAAJSc3NjQnJiIHAQYUFwEWMjc2NCcCnuLiDQ0MJAz/AA0NAQAMJAwNDcni4gwjDQwM/wANIwz/AA0NDCMNAAAAAQFiAI0CngLJABMAACUBNjQnASYiBwYUHwEHBhQXFjI3AZ4BAA0N/wAMJAwNDeLiDQ0MJAyNAQAMIw0BAAwMDSMM4uINIwwNDQAAAAIA4gC3Ax4CngATACcAACUnNzY0JyYiDwEGFB8BFjI3NjQnISc3NjQnJiIPAQYUHwEWMjc2NCcB87e3DQ0MIw3VDQ3VDSMMDQ0BK7e3DQ0MJAzVDQ3VDCQMDQ3zuLcMJAwNDdUNIwzWDAwNIwy4twwkDA0N1Q0jDNYMDA0jDAAAAgDiALcDHgKeABMAJwAAJTc2NC8BJiIHBhQfAQcGFBcWMjchNzY0LwEmIgcGFB8BBwYUFxYyNwJJ1Q0N1Q0jDA0Nt7cNDQwjDf7V1Q0N1QwkDA0Nt7cNDQwkDLfWDCMN1Q0NDCQMt7gMIw0MDNYMIw3VDQ0MJAy3uAwjDQwMAAADAFUAAAOrA1UAMwBoAHcAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMhMjY1NCYjISIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAAVYRGRkR/qoRGRkRA1UFBAUOCQkVDAsZDf2rDRkLDBUJCA4FBQUFBQUOCQgVDAsZDQJVDRkLDBUJCQ4FBAVVAgECBQMCBwQECAX9qwQJAwQHAwMFAQICAgIBBQMDBwQDCQQCVQUIBAQHAgMFAgEC/oAZEhEZGRESGQAAAAADAFUAAAOrA1UAMwBoAIkAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMzFRQWMzI2PQEzMjY1NCYrATU0JiMiBh0BIyIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAgBkSEhmAERkZEYAZEhIZgBEZGREDVQUEBQ4JCRUMCxkN/asNGQsMFQkIDgUFBQUFBQ4JCBUMCxkNAlUNGQsMFQkJDgUEBVUCAQIFAwIHBAQIBf2rBAkDBAcDAwUBAgICAgEFAwMHBAMJBAJVBQgEBAcCAwUCAQL+gIASGRkSgBkSERmAEhkZEoAZERIZAAABAOIAjQMeAskAIAAAExcHBhQXFjI/ARcWMjc2NC8BNzY0JyYiDwEnJiIHBhQX4uLiDQ0MJAzi4gwkDA0N4uINDQwkDOLiDCQMDQ0CjeLiDSMMDQ3h4Q0NDCMN4uIMIw0MDOLiDAwNIwwAAAABAAAAAQAAa5n0y18PPPUACwQAAAAAANivOVsAAAAA2K85WwAAAAADqwNVAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAOrAAEAAAAAAAAAAAAAAAAAAAALBAAAAAAAAAAAAAAAAgAAAAQAAWIEAAFiBAAA4gQAAOIEAABVBAAAVQQAAOIAAAAAAAoAFAAeAEQAagCqAOoBngJkApoAAQAAAAsAigADAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAcAAAABAAAAAAACAAcAYAABAAAAAAADAAcANgABAAAAAAAEAAcAdQABAAAAAAAFAAsAFQABAAAAAAAGAAcASwABAAAAAAAKABoAigADAAEECQABAA4ABwADAAEECQACAA4AZwADAAEECQADAA4APQADAAEECQAEAA4AfAADAAEECQAFABYAIAADAAEECQAGAA4AUgADAAEECQAKADQApGZjaWNvbnMAZgBjAGkAYwBvAG4Ac1ZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGZjaWNvbnMAZgBjAGkAYwBvAG4Ac2ZjaWNvbnMAZgBjAGkAYwBvAG4Ac1JlZ3VsYXIAUgBlAGcAdQBsAGEAcmZjaWNvbnMAZgBjAGkAYwBvAG4Ac0ZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=") format("truetype")}.fc-icon{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:fcicons!important;font-style:normal;font-variant:normal;font-weight:400;height:1em;line-height:1;text-align:center;text-transform:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:1em}.fc-icon-chevron-left:before{content:"\\e900"}.fc-icon-chevron-right:before{content:"\\e901"}.fc-icon-chevrons-left:before{content:"\\e902"}.fc-icon-chevrons-right:before{content:"\\e903"}.fc-icon-minus-square:before{content:"\\e904"}.fc-icon-plus-square:before{content:"\\e905"}.fc-icon-x:before{content:"\\e906"}.fc .fc-button{border-radius:0;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}.fc .fc-button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.fc .fc-button{-webkit-appearance:button}.fc .fc-button:not(:disabled){cursor:pointer}.fc .fc-button{background-color:transparent;border:1px solid transparent;border-radius:.25em;display:inline-block;font-size:1em;font-weight:400;line-height:1.5;padding:.4em .65em;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}.fc .fc-button:hover{text-decoration:none}.fc .fc-button:focus{box-shadow:0 0 0 .2rem rgba(44,62,80,.25);outline:0}.fc .fc-button:disabled{opacity:.65}.fc .fc-button-primary{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:hover{background-color:var(--fc-button-hover-bg-color);border-color:var(--fc-button-hover-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:disabled{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{background-color:var(--fc-button-active-bg-color);border-color:var(--fc-button-active-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:not(:disabled).fc-button-active:focus,.fc .fc-button-primary:not(:disabled):active:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button .fc-icon{font-size:1.5em;vertical-align:middle}.fc .fc-button-group{display:inline-flex;position:relative;vertical-align:middle}.fc .fc-button-group>.fc-button{flex:1 1 auto;position:relative}.fc .fc-button-group>.fc-button.fc-button-active,.fc .fc-button-group>.fc-button:active,.fc .fc-button-group>.fc-button:focus,.fc .fc-button-group>.fc-button:hover{z-index:1}.fc-direction-ltr .fc-button-group>.fc-button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}.fc-direction-ltr .fc-button-group>.fc-button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:first-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.fc-direction-rtl .fc-button-group>.fc-button:not(:last-child){border-bottom-left-radius:0;border-top-left-radius:0}.fc .fc-toolbar{align-items:center;display:flex;justify-content:space-between}.fc .fc-toolbar.fc-header-toolbar{margin-bottom:1.5em}.fc .fc-toolbar.fc-footer-toolbar{margin-top:1.5em}.fc .fc-toolbar-title{font-size:1.75em;margin:0}.fc-direction-ltr .fc-toolbar>*>:not(:first-child){margin-left:.75em}.fc-direction-rtl .fc-toolbar>*>:not(:first-child){margin-right:.75em}.fc-direction-rtl .fc-toolbar-ltr{flex-direction:row-reverse}.fc .fc-scroller{-webkit-overflow-scrolling:touch;position:relative}.fc .fc-scroller-liquid{height:100%}.fc .fc-scroller-liquid-absolute{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-scroller-harness{direction:ltr;overflow:hidden;position:relative}.fc .fc-scroller-harness-liquid{height:100%}.fc-direction-rtl .fc-scroller-harness>.fc-scroller{direction:rtl}.fc-theme-standard .fc-scrollgrid{border:1px solid var(--fc-border-color)}.fc .fc-scrollgrid,.fc .fc-scrollgrid table{table-layout:fixed;width:100%}.fc .fc-scrollgrid table{border-left-style:hidden;border-right-style:hidden;border-top-style:hidden}.fc .fc-scrollgrid{border-bottom-width:0;border-collapse:separate;border-right-width:0}.fc .fc-scrollgrid-liquid{height:100%}.fc .fc-scrollgrid-section,.fc .fc-scrollgrid-section table,.fc .fc-scrollgrid-section>td{height:1px}.fc .fc-scrollgrid-section-liquid>td{height:100%}.fc .fc-scrollgrid-section>*{border-left-width:0;border-top-width:0}.fc .fc-scrollgrid-section-footer>*,.fc .fc-scrollgrid-section-header>*{border-bottom-width:0}.fc .fc-scrollgrid-section-body table,.fc .fc-scrollgrid-section-footer table{border-bottom-style:hidden}.fc .fc-scrollgrid-section-sticky>*{background:var(--fc-page-bg-color);position:sticky;z-index:3}.fc .fc-scrollgrid-section-header.fc-scrollgrid-section-sticky>*{top:0}.fc .fc-scrollgrid-section-footer.fc-scrollgrid-section-sticky>*{bottom:0}.fc .fc-scrollgrid-sticky-shim{height:1px;margin-bottom:-1px}.fc-sticky{position:sticky}.fc .fc-view-harness{flex-grow:1;position:relative}.fc .fc-view-harness-active>.fc-view{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-col-header-cell-cushion{display:inline-block;padding:2px 4px}.fc .fc-bg-event,.fc .fc-highlight,.fc .fc-non-business{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-non-business{background:var(--fc-non-business-color)}.fc .fc-bg-event{background:var(--fc-bg-event-color);opacity:var(--fc-bg-event-opacity)}.fc .fc-bg-event .fc-event-title{font-size:var(--fc-small-font-size);font-style:italic;margin:.5em}.fc .fc-highlight{background:var(--fc-highlight-color)}.fc .fc-cell-shaded,.fc .fc-day-disabled{background:var(--fc-neutral-bg-color)}a.fc-event,a.fc-event:hover{text-decoration:none}.fc-event.fc-event-draggable,.fc-event[href]{cursor:pointer}.fc-event .fc-event-main{position:relative;z-index:2}.fc-event-dragging:not(.fc-event-selected){opacity:.75}.fc-event-dragging.fc-event-selected{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-event .fc-event-resizer{display:none;position:absolute;z-index:4}.fc-event-selected .fc-event-resizer,.fc-event:hover .fc-event-resizer{display:block}.fc-event-selected .fc-event-resizer{background:var(--fc-page-bg-color);border-color:inherit;border-radius:calc(var(--fc-event-resizer-dot-total-width)/2);border-style:solid;border-width:var(--fc-event-resizer-dot-border-width);height:var(--fc-event-resizer-dot-total-width);width:var(--fc-event-resizer-dot-total-width)}.fc-event-selected .fc-event-resizer:before{bottom:-20px;content:"";left:-20px;position:absolute;right:-20px;top:-20px}.fc-event-selected,.fc-event:focus{box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event-selected:before,.fc-event:focus:before{bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:3}.fc-event-selected:after,.fc-event:focus:after{background:var(--fc-event-selected-overlay-color);bottom:-1px;content:"";left:-1px;position:absolute;right:-1px;top:-1px;z-index:1}.fc-h-event{background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);display:block}.fc-h-event .fc-event-main{color:var(--fc-event-text-color)}.fc-h-event .fc-event-main-frame{display:flex}.fc-h-event .fc-event-time{max-width:100%;overflow:hidden}.fc-h-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-width:0}.fc-h-event .fc-event-title{display:inline-block;left:0;max-width:100%;overflow:hidden;right:0;vertical-align:top}.fc-h-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-start),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-end){border-bottom-left-radius:0;border-left-width:0;border-top-left-radius:0}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-end),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-start){border-bottom-right-radius:0;border-right-width:0;border-top-right-radius:0}.fc-h-event:not(.fc-event-selected) .fc-event-resizer{bottom:0;top:0;width:var(--fc-event-resizer-thickness)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end{cursor:w-resize;left:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start{cursor:e-resize;right:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-h-event.fc-event-selected .fc-event-resizer{margin-top:calc(var(--fc-event-resizer-dot-total-width)*-.5);top:50%}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-start,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-end{left:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-end,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-start{right:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc .fc-popover{box-shadow:0 2px 6px rgba(0,0,0,.15);position:absolute;z-index:9999}.fc .fc-popover-header{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:3px 4px}.fc .fc-popover-title{margin:0 2px}.fc .fc-popover-close{cursor:pointer;font-size:1.1em;opacity:.65}.fc-theme-standard .fc-popover{background:var(--fc-page-bg-color);border:1px solid var(--fc-border-color)}.fc-theme-standard .fc-popover-header{background:var(--fc-neutral-bg-color)}';Ql(yUe);gf=class{constructor(e){this.drainedOption=e,this.isRunning=!1,this.isDirty=!1,this.pauseDepths={},this.timeoutId=0}request(e){this.isDirty=!0,this.isPaused()||(this.clearTimeout(),e==null?this.tryDrain():this.timeoutId=setTimeout(this.tryDrain.bind(this),e))}pause(e=""){let{pauseDepths:t}=this;t[e]=(t[e]||0)+1,this.clearTimeout()}resume(e="",t){let{pauseDepths:n}=this;e in n&&(t?delete n[e]:(n[e]-=1,n[e]<=0&&delete n[e]),this.tryDrain())}isPaused(){return Object.keys(this.pauseDepths).length}tryDrain(){if(!this.isRunning&&!this.isPaused()){for(this.isRunning=!0;this.isDirty;)this.isDirty=!1,this.drained();this.isRunning=!1}}clear(){this.clearTimeout(),this.isDirty=!1,this.pauseDepths={}}clearTimeout(){this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=0)}drained(){this.drainedOption&&this.drainedOption()}};vUe=/(top|left|right|bottom|width|height)$/i;tme=0;rme=["webkitTransitionEnd","otransitionend","oTransitionEnd","msTransitionEnd","transitionend"];nme=0;ime=["years","months","days","milliseconds"],wUe=/^(-?)(?:(\d+)\.)?(\d+):(\d\d)(?::(\d\d)(?:\.(\d\d\d))?)?/;CUe=["sun","mon","tue","wed","thu","fri","sat"];nz={week:3,separator:9,omitZeroMinute:9,meridiem:9,omitCommas:9},$_={timeZoneName:7,era:6,year:5,month:4,day:2,weekday:2,hour:1,minute:1,second:1},A_=/\s*([ap])\.?m\.?/i,LUe=/,/g,FUe=/\s+/g,$Ue=/\u200e/g,jUe=/UTC|GMT/,pz=class{constructor(e){let t={},n={},i=9;for(let s in e)s in nz?(n[s]=e[s],nz[s]<9&&(i=Math.min(nz[s],i))):(t[s]=e[s],s in $_&&(i=Math.min($_[s],i)));this.standardDateProps=t,this.extendedSettings=n,this.smallestUnitNum=i,this.buildFormattingFunc=Se(lme)}format(e,t){return this.buildFormattingFunc(this.standardDateProps,this.extendedSettings,t)(e)}formatRange(e,t,n,i){let{standardDateProps:s,extendedSettings:a}=this,o=VUe(e.marker,t.marker,n.calendarSystem);if(!o)return this.format(e,n);let l=o;l>1&&(s.year==="numeric"||s.year==="2-digit")&&(s.month==="numeric"||s.month==="2-digit")&&(s.day==="numeric"||s.day==="2-digit")&&(l=1);let c=this.format(e,n),d=this.format(t,n);if(c===d)return c;let u=WUe(s,l),p=lme(u,a,n),m=p(e),f=p(t),h=YUe(c,m,d,f),g=a.separator||i||n.defaultSeparator||"";return h?h.before+m+g+f+h.after:c+g+d}getSmallestUnit(){switch(this.smallestUnitNum){case 7:case 6:case 5:return"year";case 4:return"month";case 3:return"week";case 2:return"day";default:return"time"}}};mz=class{constructor(e){this.cmdStr=e}format(e,t,n){return t.cmdFormatter(this.cmdStr,j_(e,null,t,n))}formatRange(e,t,n,i){return n.cmdFormatter(this.cmdStr,j_(e,t,n,i))}},fz=class{constructor(e){this.func=e}format(e,t,n){return this.func(j_(e,null,t,n))}formatRange(e,t,n,i){return this.func(j_(e,t,n,i))}};Rz={navLinkDayClick:F,navLinkWeekClick:F,duration:nt,bootstrapFontAwesome:F,buttonIcons:F,customButtons:F,defaultAllDayEventDuration:nt,defaultTimedEventDuration:nt,nextDayThreshold:nt,scrollTime:nt,scrollTimeReset:Boolean,slotMinTime:nt,slotMaxTime:nt,dayPopoverFormat:zt,slotDuration:nt,snapDuration:nt,headerToolbar:F,footerToolbar:F,defaultRangeSeparator:String,titleRangeSeparator:String,forceEventDuration:Boolean,dayHeaders:Boolean,dayHeaderFormat:zt,dayHeaderClassNames:F,dayHeaderContent:F,dayHeaderDidMount:F,dayHeaderWillUnmount:F,dayCellClassNames:F,dayCellContent:F,dayCellDidMount:F,dayCellWillUnmount:F,initialView:String,aspectRatio:Number,weekends:Boolean,weekNumberCalculation:F,weekNumbers:Boolean,weekNumberClassNames:F,weekNumberContent:F,weekNumberDidMount:F,weekNumberWillUnmount:F,editable:Boolean,viewClassNames:F,viewDidMount:F,viewWillUnmount:F,nowIndicator:Boolean,nowIndicatorSnap:F,nowIndicatorClassNames:F,nowIndicatorContent:F,nowIndicatorDidMount:F,nowIndicatorWillUnmount:F,showNonCurrentDates:Boolean,lazyFetching:Boolean,startParam:String,endParam:String,timeZoneParam:String,timeZone:String,locales:F,locale:F,themeSystem:String,dragRevertDuration:Number,dragScroll:Boolean,allDayMaintainDuration:Boolean,unselectAuto:Boolean,dropAccept:F,eventOrder:wme,eventOrderStrict:Boolean,handleWindowResize:Boolean,windowResizeDelay:Number,longPressDelay:Number,eventDragMinDistance:Number,expandRows:Boolean,height:F,contentHeight:F,direction:String,weekNumberFormat:zt,eventResizableFromStart:Boolean,displayEventTime:Boolean,displayEventEnd:Boolean,weekText:String,weekTextLong:String,progressiveEventRendering:Boolean,businessHours:F,initialDate:F,now:F,eventDataTransform:F,stickyHeaderDates:F,stickyFooterScrollbar:F,viewHeight:F,defaultAllDay:Boolean,eventSourceFailure:F,eventSourceSuccess:F,eventDisplay:String,eventStartEditable:Boolean,eventDurationEditable:Boolean,eventOverlap:F,eventConstraint:F,eventAllow:F,eventBackgroundColor:String,eventBorderColor:String,eventTextColor:String,eventColor:String,eventClassNames:F,eventContent:F,eventDidMount:F,eventWillUnmount:F,selectConstraint:F,selectOverlap:F,selectAllow:F,droppable:Boolean,unselectCancel:String,slotLabelFormat:F,slotLaneClassNames:F,slotLaneContent:F,slotLaneDidMount:F,slotLaneWillUnmount:F,slotLabelClassNames:F,slotLabelContent:F,slotLabelDidMount:F,slotLabelWillUnmount:F,dayMaxEvents:F,dayMaxEventRows:F,dayMinWidth:Number,slotLabelInterval:nt,allDayText:String,allDayClassNames:F,allDayContent:F,allDayDidMount:F,allDayWillUnmount:F,slotMinWidth:Number,navLinks:Boolean,eventTimeFormat:zt,rerenderDelay:Number,moreLinkText:F,moreLinkHint:F,selectMinDistance:Number,selectable:Boolean,selectLongPressDelay:Number,eventLongPressDelay:Number,selectMirror:Boolean,eventMaxStack:Number,eventMinHeight:Number,eventMinWidth:Number,eventShortHeight:Number,slotEventOverlap:Boolean,plugins:F,firstDay:Number,dayCount:Number,dateAlignment:String,dateIncrement:nt,hiddenDays:F,fixedWeekCount:Boolean,validRange:F,visibleRange:F,titleFormat:F,eventInteractive:Boolean,noEventsText:String,viewHint:F,navLinkHint:F,closeHint:String,timeHint:String,eventHint:String,moreLinkClick:F,moreLinkClassNames:F,moreLinkContent:F,moreLinkDidMount:F,moreLinkWillUnmount:F,monthStartFormat:zt,handleCustomRendering:F,customRenderingMetaMap:F,customRenderingReplaces:Boolean},ec={eventDisplay:"auto",defaultRangeSeparator:" - ",titleRangeSeparator:" \u2013 ",defaultTimedEventDuration:"01:00:00",defaultAllDayEventDuration:{day:1},forceEventDuration:!1,nextDayThreshold:"00:00:00",dayHeaders:!0,initialView:"",aspectRatio:1.35,headerToolbar:{start:"title",center:"",end:"today prev,next"},weekends:!0,weekNumbers:!1,weekNumberCalculation:"local",editable:!1,nowIndicator:!1,scrollTime:"06:00:00",scrollTimeReset:!0,slotMinTime:"00:00:00",slotMaxTime:"24:00:00",showNonCurrentDates:!0,lazyFetching:!0,startParam:"start",endParam:"end",timeZoneParam:"timeZone",timeZone:"local",locales:[],locale:"",themeSystem:"standard",dragRevertDuration:500,dragScroll:!0,allDayMaintainDuration:!1,unselectAuto:!0,dropAccept:"*",eventOrder:"start,-duration,allDay,title",dayPopoverFormat:{month:"long",day:"numeric",year:"numeric"},handleWindowResize:!0,windowResizeDelay:100,longPressDelay:1e3,eventDragMinDistance:5,expandRows:!1,navLinks:!1,selectable:!1,eventMinHeight:15,eventMinWidth:30,eventShortHeight:30,monthStartFormat:{month:"long",day:"numeric"},nowIndicatorSnap:"auto"},Oz={datesSet:F,eventsSet:F,eventAdd:F,eventChange:F,eventRemove:F,windowResize:F,eventClick:F,eventMouseEnter:F,eventMouseLeave:F,select:F,unselect:F,loading:F,_unmount:F,_beforeprint:F,_afterprint:F,_noEventDrop:F,_noEventResize:F,_resize:F,_scrollRequest:F},Lz={buttonText:F,buttonHints:F,views:F,plugins:F,initialEvents:F,events:F,eventSources:F},cp={headerToolbar:ff,footerToolbar:ff,buttonText:ff,buttonHints:ff,buttonIcons:ff,dateIncrement:ff,plugins:I_,events:I_,eventSources:I_,resources:I_};Pme={type:String,component:F,buttonText:String,buttonTextKey:String,dateProfileGeneratorClass:F,usesMinMaxTime:Boolean,classNames:F,content:F,didMount:F,willUnmount:F};({hasOwnProperty:z_}=Object.prototype);GUe=/^on[A-Z]/;Mme={};hz=class{getMarkerYear(e){return e.getUTCFullYear()}getMarkerMonth(e){return e.getUTCMonth()}getMarkerDay(e){return e.getUTCDate()}arrayToMarker(e){return Rs(e)}markerToArray(e){return rp(e)}};JUe("gregory",hz);eVe=/^\s*(\d{4})(-?(\d{2})(-?(\d{2})([T ](\d{2}):?(\d{2})(:?(\d{2})(\.(\d+))?)?(Z|(([-+])(\d{2})(:?(\d{2}))?))?)?)?)?$/;ES=class{constructor(e){let t=this.timeZone=e.timeZone,n=t!=="local"&&t!=="UTC";e.namedTimeZoneImpl&&n&&(this.namedTimeZoneImpl=new e.namedTimeZoneImpl(t)),this.canComputeOffset=!!(!n||this.namedTimeZoneImpl),this.calendarSystem=XUe(e.calendarSystem),this.locale=e.locale,this.weekDow=e.locale.week.dow,this.weekDoy=e.locale.week.doy,e.weekNumberCalculation==="ISO"&&(this.weekDow=1,this.weekDoy=4),typeof e.firstDay=="number"&&(this.weekDow=e.firstDay),typeof e.weekNumberCalculation=="function"&&(this.weekNumberFunc=e.weekNumberCalculation),this.weekText=e.weekText!=null?e.weekText:e.locale.options.weekText,this.weekTextLong=(e.weekTextLong!=null?e.weekTextLong:e.locale.options.weekTextLong)||this.weekText,this.cmdFormatter=e.cmdFormatter,this.defaultSeparator=e.defaultSeparator}createMarker(e){let t=this.createMarkerMeta(e);return t===null?null:t.marker}createNowMarker(){return this.canComputeOffset?this.timestampToMarker(new Date().valueOf()):Rs(ame(new Date))}createMarkerMeta(e){if(typeof e=="string")return this.parse(e);let t=null;return typeof e=="number"?t=this.timestampToMarker(e):e instanceof Date?(e=e.valueOf(),isNaN(e)||(t=this.timestampToMarker(e))):Array.isArray(e)&&(t=Rs(e)),t===null||!Az(t)?null:{marker:t,isTimeUnspecified:!1,forcedTzo:null}}parse(e){let t=Ame(e);if(t===null)return null;let{marker:n}=t,i=null;return t.timeZoneOffset!==null&&(this.canComputeOffset?n=this.timestampToMarker(n.valueOf()-t.timeZoneOffset*60*1e3):i=t.timeZoneOffset),{marker:n,isTimeUnspecified:t.isTimeUnspecified,forcedTzo:i}}getYear(e){return this.calendarSystem.getMarkerYear(e)}getMonth(e){return this.calendarSystem.getMarkerMonth(e)}getDay(e){return this.calendarSystem.getMarkerDay(e)}add(e,t){let n=this.calendarSystem.markerToArray(e);return n[0]+=t.years,n[1]+=t.months,n[2]+=t.days,n[6]+=t.milliseconds,this.calendarSystem.arrayToMarker(n)}subtract(e,t){let n=this.calendarSystem.markerToArray(e);return n[0]-=t.years,n[1]-=t.months,n[2]-=t.days,n[6]-=t.milliseconds,this.calendarSystem.arrayToMarker(n)}addYears(e,t){let n=this.calendarSystem.markerToArray(e);return n[0]+=t,this.calendarSystem.arrayToMarker(n)}addMonths(e,t){let n=this.calendarSystem.markerToArray(e);return n[1]+=t,this.calendarSystem.arrayToMarker(n)}diffWholeYears(e,t){let{calendarSystem:n}=this;return np(e)===np(t)&&n.getMarkerDay(e)===n.getMarkerDay(t)&&n.getMarkerMonth(e)===n.getMarkerMonth(t)?n.getMarkerYear(t)-n.getMarkerYear(e):null}diffWholeMonths(e,t){let{calendarSystem:n}=this;return np(e)===np(t)&&n.getMarkerDay(e)===n.getMarkerDay(t)?n.getMarkerMonth(t)-n.getMarkerMonth(e)+(n.getMarkerYear(t)-n.getMarkerYear(e))*12:null}greatestWholeUnit(e,t){let n=this.diffWholeYears(e,t);return n!==null?{unit:"year",value:n}:(n=this.diffWholeMonths(e,t),n!==null?{unit:"month",value:n}:(n=Cme(e,t),n!==null?{unit:"week",value:n}:(n=$y(e,t),n!==null?{unit:"day",value:n}:(n=PUe(e,t),SS(n)?{unit:"hour",value:n}:(n=_Ue(e,t),SS(n)?{unit:"minute",value:n}:(n=MUe(e,t),SS(n)?{unit:"second",value:n}:{unit:"millisecond",value:t.valueOf()-e.valueOf()}))))))}countDurationsBetween(e,t,n){let i;return n.years&&(i=this.diffWholeYears(e,t),i!==null)?i/EUe(n):n.months&&(i=this.diffWholeMonths(e,t),i!==null)?i/DUe(n):n.days&&(i=$y(e,t),i!==null)?i/Fy(n):(t.valueOf()-e.valueOf())/wa(n)}startOf(e,t){return t==="year"?this.startOfYear(e):t==="month"?this.startOfMonth(e):t==="week"?this.startOfWeek(e):t==="day"?ar(e):t==="hour"?AUe(e):t==="minute"?IUe(e):t==="second"?NUe(e):null}startOfYear(e){return this.calendarSystem.arrayToMarker([this.calendarSystem.getMarkerYear(e)])}startOfMonth(e){return this.calendarSystem.arrayToMarker([this.calendarSystem.getMarkerYear(e),this.calendarSystem.getMarkerMonth(e)])}startOfWeek(e){return this.calendarSystem.arrayToMarker([this.calendarSystem.getMarkerYear(e),this.calendarSystem.getMarkerMonth(e),e.getUTCDate()-(e.getUTCDay()-this.weekDow+7)%7])}computeWeekNumber(e){return this.weekNumberFunc?this.weekNumberFunc(this.toDate(e)):RUe(e,this.weekDow,this.weekDoy)}format(e,t,n={}){return t.format({marker:e,timeZoneOffset:n.forcedTzo!=null?n.forcedTzo:this.offsetForMarker(e)},this)}formatRange(e,t,n,i={}){return i.isEndExclusive&&(t=Gl(t,-1)),n.formatRange({marker:e,timeZoneOffset:i.forcedStartTzo!=null?i.forcedStartTzo:this.offsetForMarker(e)},{marker:t,timeZoneOffset:i.forcedEndTzo!=null?i.forcedEndTzo:this.offsetForMarker(t)},this,i.defaultSeparator)}formatIso(e,t={}){let n=null;return t.omitTimeZoneOffset||(t.forcedTzo!=null?n=t.forcedTzo:n=this.offsetForMarker(e)),Z_(e,n,t.omitTime)}timestampToMarker(e){return this.timeZone==="local"?Rs(ame(new Date(e))):this.timeZone==="UTC"||!this.namedTimeZoneImpl?new Date(e):Rs(this.namedTimeZoneImpl.timestampToArray(e))}offsetForMarker(e){return this.timeZone==="local"?-ome(rp(e)).getTimezoneOffset():this.timeZone==="UTC"?0:this.namedTimeZoneImpl?this.namedTimeZoneImpl.offsetForArray(rp(e)):null}toDate(e,t){return this.timeZone==="local"?ome(rp(e)):this.timeZone==="UTC"?new Date(e.valueOf()):this.namedTimeZoneImpl?new Date(e.valueOf()-this.namedTimeZoneImpl.offsetForArray(rp(e))*1e3*60):new Date(e.valueOf()-(t||0))}},Sd=class{constructor(e){this.iconOverrideOption&&this.setIconOverride(e[this.iconOverrideOption])}setIconOverride(e){let t,n;if(typeof e=="object"&&e){t=Object.assign({},this.iconClasses);for(n in e)t[n]=this.applyIconOverridePrefix(e[n]);this.iconClasses=t}else e===!1&&(this.iconClasses={})}applyIconOverridePrefix(e){let t=this.iconOverridePrefix;return t&&e.indexOf(t)!==0&&(e=t+e),e}getClass(e){return this.classes[e]||""}getIconClass(e,t){let n;return t&&this.rtlIconClasses?n=this.rtlIconClasses[e]||this.iconClasses[e]:n=this.iconClasses[e],n?`${this.baseIconClass} ${n}`:""}getCustomButtonIconClass(e){let t;return this.iconOverrideCustomButtonOption&&(t=e[this.iconOverrideCustomButtonOption],t)?`${this.baseIconClass} ${this.applyIconOverridePrefix(t)}`:""}};Sd.prototype.classes={};Sd.prototype.iconClasses={};Sd.prototype.baseIconClass="";Sd.prototype.iconOverridePrefix="";gz=class extends pi{render(){return _("div",{})}componentDidMount(){this.setState({})}};B_=class{constructor(e,t,n,i){this.execFunc=e,this.emitter=t,this.scrollTime=n,this.scrollTimeReset=i,this.handleScrollRequest=s=>{this.queuedRequest=Object.assign({},this.queuedRequest||{},s),this.drain()},t.on("_scrollRequest",this.handleScrollRequest),this.fireInitialScroll()}detach(){this.emitter.off("_scrollRequest",this.handleScrollRequest)}update(e){e&&this.scrollTimeReset?this.fireInitialScroll():this.drain()}fireInitialScroll(){this.handleScrollRequest({time:this.scrollTime})}drain(){this.queuedRequest&&this.execFunc(this.queuedRequest)&&(this.queuedRequest=null)}},lo=Ime({});Kl=class extends pi{shouldComponentUpdate(e,t){return!L_(this.props,e,this.propEquality)||!L_(this.state,t,this.stateEquality)}safeSetState(e){L_(this.state,Object.assign(Object.assign({},this.state),e),this.stateEquality)||this.setState(e)}};Kl.addPropsEquality=tVe;Kl.addStateEquality=rVe;Kl.contextType=lo;Kl.prototype.propEquality={};Kl.prototype.stateEquality={};ht=class extends Kl{};ht.contextType=lo;CS=class extends ht{constructor(){super(...arguments),this.id=Cd(),this.queuedDomNodes=[],this.currentDomNodes=[],this.handleEl=e=>{let{options:t}=this.context,{generatorName:n}=this.props;(!t.customRenderingReplaces||!yz(n,t))&&this.updateElRef(e)},this.updateElRef=e=>{this.props.elRef&&xa(this.props.elRef,e)}}render(){let{props:e,context:t}=this,{options:n}=t,{customGenerator:i,defaultGenerator:s,renderProps:a}=e,o=$z(e,[],this.handleEl),l=!1,c,d=[],u;if(i!=null){let p=typeof i=="function"?i(a,_):i;if(p===!0)l=!0;else{let m=p&&typeof p=="object";m&&"html"in p?o.dangerouslySetInnerHTML={__html:p.html}:m&&"domNodes"in p?d=Array.prototype.slice.call(p.domNodes):(m?Yj(p):typeof p!="function")?c=p:u=p}}else l=!yz(e.generatorName,n);return l&&s&&(c=s(a)),this.queuedDomNodes=d,this.currentGeneratorMeta=u,_(e.elTag,o,c)}componentDidMount(){this.applyQueueudDomNodes(),this.triggerCustomRendering(!0)}componentDidUpdate(){this.applyQueueudDomNodes(),this.triggerCustomRendering(!0)}componentWillUnmount(){this.triggerCustomRendering(!1)}triggerCustomRendering(e){var t;let{props:n,context:i}=this,{handleCustomRendering:s,customRenderingMetaMap:a}=i.options;if(s){let o=(t=this.currentGeneratorMeta)!==null&&t!==void 0?t:a==null?void 0:a[n.generatorName];o&&s(Object.assign(Object.assign({id:this.id,isActive:e,containerEl:this.base,reportNewContainerEl:this.updateElRef,generatorMeta:o},n),{elClasses:(n.elClasses||[]).filter(nVe)}))}}applyQueueudDomNodes(){let{queuedDomNodes:e,currentDomNodes:t}=this,n=this.base;if(!Jl(e,t)){t.forEach($S);for(let i of e)n.appendChild(i);this.currentDomNodes=e}}};CS.addPropsEquality({elClasses:Jl,elStyle:zi,elAttrs:KUe,renderProps:zi});jz=Ime(0),fn=class extends pi{constructor(){super(...arguments),this.InnerContent=iVe.bind(void 0,this),this.handleEl=e=>{this.el=e,this.props.elRef&&(xa(this.props.elRef,e),e&&this.didMountMisfire&&this.componentDidMount())}}render(){let{props:e}=this,t=sVe(e.classNameGenerator,e.renderProps);if(e.children){let n=$z(e,t,this.handleEl),i=e.children(this.InnerContent,e.renderProps,n);return e.elTag?_(e.elTag,n,i):i}else return _(CS,Object.assign(Object.assign({},e),{elRef:this.handleEl,elTag:e.elTag||"div",elClasses:(e.elClasses||[]).concat(t),renderId:this.context}))}componentDidMount(){var e,t;this.el?(t=(e=this.props).didMount)===null||t===void 0||t.call(e,Object.assign(Object.assign({},this.props.renderProps),{el:this.el})):this.didMountMisfire=!0}componentWillUnmount(){var e,t;(t=(e=this.props).willUnmount)===null||t===void 0||t.call(e,Object.assign(Object.assign({},this.props.renderProps),{el:this.el}))}};fn.contextType=jz;Sa=class extends ht{render(){let{props:e,context:t}=this,{options:n}=t,i={view:t.viewApi};return _(fn,{elRef:e.elRef,elTag:e.elTag||"div",elAttrs:e.elAttrs,elClasses:[...zz(e.viewSpec),...e.elClasses||[]],elStyle:e.elStyle,renderProps:i,classNameGenerator:n.viewClassNames,generatorName:void 0,didMount:n.viewDidMount,willUnmount:n.viewWillUnmount},()=>e.children)}};yf=class{constructor(e){this.props=e,this.initHiddenDays()}buildPrev(e,t,n){let{dateEnv:i}=this.props,s=i.subtract(i.startOf(t,e.currentRangeUnit),e.dateIncrement);return this.build(s,-1,n)}buildNext(e,t,n){let{dateEnv:i}=this.props,s=i.add(i.startOf(t,e.currentRangeUnit),e.dateIncrement);return this.build(s,1,n)}build(e,t,n=!0){let{props:i}=this,s,a,o,l,c,d;return s=this.buildValidRange(),s=this.trimHiddenDays(s),n&&(e=lVe(e,s)),a=this.buildCurrentRangeInfo(e,t),o=/^(year|month|week|day)$/.test(a.unit),l=this.buildRenderRange(this.trimHiddenDays(a.range),a.unit,o),l=this.trimHiddenDays(l),c=l,i.showNonCurrentDates||(c=ls(c,a.range)),c=this.adjustActiveRange(c),c=ls(c,s),d=eM(a.range,s),ao(l,e)||(e=l.start),{currentDate:e,validRange:s,currentRange:a.range,currentRangeUnit:a.unit,isRangeAllDay:o,activeRange:c,renderRange:l,slotMinTime:i.slotMinTime,slotMaxTime:i.slotMaxTime,isValid:d,dateIncrement:this.buildDateIncrement(a.duration)}}buildValidRange(){let e=this.props.validRangeInput,t=typeof e=="function"?e.call(this.props.calendarApi,this.props.dateEnv.toDate(this.props.nowManager.getDateMarker())):e;return this.refineRange(t)||{start:null,end:null}}buildCurrentRangeInfo(e,t){let{props:n}=this,i=null,s=null,a=null,o;return n.duration?(i=n.duration,s=n.durationUnit,a=this.buildRangeFromDuration(e,t,i,s)):(o=this.props.dayCount)?(s="day",a=this.buildRangeFromDayCount(e,t,o)):(a=this.buildCustomVisibleRange(e))?s=n.dateEnv.greatestWholeUnit(a.start,a.end).unit:(i=this.getFallbackDuration(),s=xS(i).unit,a=this.buildRangeFromDuration(e,t,i,s)),{duration:i,unit:s,range:a}}getFallbackDuration(){return nt({day:1})}adjustActiveRange(e){let{dateEnv:t,usesMinMaxTime:n,slotMinTime:i,slotMaxTime:s}=this.props,{start:a,end:o}=e;return n&&(Fy(i)<0&&(a=ar(a),a=t.add(a,i)),Fy(s)>1&&(o=ar(o),o=Gr(o,-1),o=t.add(o,s))),{start:a,end:o}}buildRangeFromDuration(e,t,n,i){let{dateEnv:s,dateAlignment:a}=this.props,o,l,c;if(!a){let{dateIncrement:u}=this.props;u&&wa(u)<wa(n)?a=xS(u).unit:a=i}Fy(n)<=1&&this.isHiddenDay(o)&&(o=this.skipHiddenDays(o,t),o=ar(o));function d(){o=s.startOf(e,a),l=s.add(o,n),c={start:o,end:l}}return d(),this.trimHiddenDays(c)||(e=this.skipHiddenDays(e,t),d()),c}buildRangeFromDayCount(e,t,n){let{dateEnv:i,dateAlignment:s}=this.props,a=0,o=e,l;s&&(o=i.startOf(o,s)),o=ar(o),o=this.skipHiddenDays(o,t),l=o;do l=Gr(l,1),this.isHiddenDay(l)||(a+=1);while(a<n);return{start:o,end:l}}buildCustomVisibleRange(e){let{props:t}=this,n=t.visibleRangeInput,i=typeof n=="function"?n.call(t.calendarApi,t.dateEnv.toDate(e)):n,s=this.refineRange(i);return s&&(s.start==null||s.end==null)?null:s}buildRenderRange(e,t,n){return e}buildDateIncrement(e){let{dateIncrement:t}=this.props,n;return t||((n=this.props.dateAlignment)?nt(1,n):e||nt({days:1}))}refineRange(e){if(e){let t=aVe(e,this.props.dateEnv);return t&&(t=tM(t)),t}return null}initHiddenDays(){let e=this.props.hiddenDays||[],t=[],n=0,i;for(this.props.weekends===!1&&e.push(0,6),i=0;i<7;i+=1)(t[i]=e.indexOf(i)!==-1)||(n+=1);if(!n)throw new Error("invalid hiddenDays");this.isHiddenDayHash=t}trimHiddenDays(e){let{start:t,end:n}=e;return t&&(t=this.skipHiddenDays(t)),n&&(n=this.skipHiddenDays(n,-1,!0)),t==null||n==null||t<n?{start:t,end:n}:null}isHiddenDay(e){return e instanceof Date&&(e=e.getUTCDay()),this.isHiddenDayHash[e]}skipHiddenDays(e,t=1,n=!1){for(;this.isHiddenDayHash[(e.getUTCDay()+(n?t:0)+7)%7];)e=Gr(e,t);return e}};F_={id:String,groupId:String,title:String,url:String,interactive:Boolean},Lme={start:F,end:F,date:F,allDay:Boolean},uVe=Object.assign(Object.assign(Object.assign({},F_),Lme),{extendedProps:F});q_={display:String,editable:Boolean,startEditable:Boolean,durationEditable:Boolean,constraint:F,overlap:F,allow:F,className:vz,classNames:vz,color:String,backgroundColor:String,borderColor:String,textColor:String},yVe={display:null,startEditable:null,durationEditable:null,constraints:[],overlap:null,allows:[],backgroundColor:"",borderColor:"",textColor:"",classNames:[]};bVe={id:String,defaultAllDay:Boolean,url:String,format:String,events:F,eventDataTransform:F,success:F,failure:F};xd=class{constructor(){this.handlers={},this.thisContext=null}setThisContext(e){this.thisContext=e}setOptions(e){this.options=e}on(e,t){DVe(this.handlers,e,t)}off(e,t){CVe(this.handlers,e,t)}trigger(e,...t){let n=this.handlers[e]||[],i=this.options&&this.options[e],s=[].concat(i||[],n);for(let a of s)a.apply(this.thisContext,t)}hasHandlers(e){return!!(this.handlers[e]&&this.handlers[e].length||this.options&&this.options[e])}};PVe={startTime:"09:00",endTime:"17:00",daysOfWeek:[1,2,3,4,5],display:"inverse-background",classNames:"fc-non-business",groupId:"_businessHours"};tp=class{constructor(e,t){this.context=e,this.internalEventSource=t}remove(){this.context.dispatch({type:"REMOVE_EVENT_SOURCE",sourceId:this.internalEventSource.sourceId})}refetch(){this.context.dispatch({type:"FETCH_EVENT_SOURCES",sourceIds:[this.internalEventSource.sourceId],isRefetch:!0})}get id(){return this.internalEventSource.publicId}get url(){return this.internalEventSource.meta.url}get format(){return this.internalEventSource.meta.format}},wr=class r{constructor(e,t,n){this._context=e,this._def=t,this._instance=n||null}setProp(e,t){if(e in Lme)console.warn("Could not set date-related prop 'name'. Use one of the date-related methods instead.");else if(e==="id")t=F_[e](t),this.mutate({standardProps:{publicId:t}});else if(e in F_)t=F_[e](t),this.mutate({standardProps:{[e]:t}});else if(e in q_){let n=q_[e](t);e==="color"?n={backgroundColor:t,borderColor:t}:e==="editable"?n={startEditable:t,durationEditable:t}:n={[e]:t},this.mutate({standardProps:{ui:n}})}else console.warn(`Could not set prop '${e}'. Use setExtendedProp instead.`)}setExtendedProp(e,t){this.mutate({extendedProps:{[e]:t}})}setStart(e,t={}){let{dateEnv:n}=this._context,i=n.createMarker(e);if(i&&this._instance){let s=this._instance.range,a=ip(s.start,i,n,t.granularity);t.maintainDuration?this.mutate({datesDelta:a}):this.mutate({startDelta:a})}}setEnd(e,t={}){let{dateEnv:n}=this._context,i;if(!(e!=null&&(i=n.createMarker(e),!i))&&this._instance)if(i){let s=ip(this._instance.range.end,i,n,t.granularity);this.mutate({endDelta:s})}else this.mutate({standardProps:{hasEnd:!1}})}setDates(e,t,n={}){let{dateEnv:i}=this._context,s={allDay:n.allDay},a=i.createMarker(e),o;if(a&&!(t!=null&&(o=i.createMarker(t),!o))&&this._instance){let l=this._instance.range;n.allDay===!0&&(l=Ome(l));let c=ip(l.start,a,i,n.granularity);if(o){let d=ip(l.end,o,i,n.granularity);xUe(c,d)?this.mutate({datesDelta:c,standardProps:s}):this.mutate({startDelta:c,endDelta:d,standardProps:s})}else s.hasEnd=!1,this.mutate({datesDelta:c,standardProps:s})}}moveStart(e){let t=nt(e);t&&this.mutate({startDelta:t})}moveEnd(e){let t=nt(e);t&&this.mutate({endDelta:t})}moveDates(e){let t=nt(e);t&&this.mutate({datesDelta:t})}setAllDay(e,t={}){let n={allDay:e},{maintainDuration:i}=t;i==null&&(i=this._context.options.allDayMaintainDuration),this._def.allDay!==e&&(n.hasEnd=i),this.mutate({standardProps:n})}formatRange(e){let{dateEnv:t}=this._context,n=this._instance,i=zt(e);return this._def.hasEnd?t.formatRange(n.range.start,n.range.end,i,{forcedStartTzo:n.forcedStartTzo,forcedEndTzo:n.forcedEndTzo}):t.format(n.range.start,i,{forcedTzo:n.forcedStartTzo})}mutate(e){let t=this._instance;if(t){let n=this._def,i=this._context,{eventStore:s}=i.getCurrentData(),a=US(s,t.instanceId);a=VS(a,{"":{display:"",startEditable:!0,durationEditable:!0,constraints:[],overlap:null,allows:[],backgroundColor:"",borderColor:"",textColor:"",classNames:[]}},e,i);let l=new r(i,n,t);this._def=a.defs[n.defId],this._instance=a.instances[t.instanceId],i.dispatch({type:"MERGE_EVENTS",eventStore:a}),i.emitter.trigger("eventChange",{oldEvent:l,event:this,relatedEvents:tc(a,i,t),revert(){i.dispatch({type:"RESET_EVENTS",eventStore:s})}})}}remove(){let e=this._context,t=Bme(this);e.dispatch({type:"REMOVE_EVENTS",eventStore:t}),e.emitter.trigger("eventRemove",{event:this,relatedEvents:[],revert(){e.dispatch({type:"MERGE_EVENTS",eventStore:t})}})}get source(){let{sourceId:e}=this._def;return e?new tp(this._context,this._context.getCurrentData().eventSources[e]):null}get start(){return this._instance?this._context.dateEnv.toDate(this._instance.range.start):null}get end(){return this._instance&&this._def.hasEnd?this._context.dateEnv.toDate(this._instance.range.end):null}get startStr(){let e=this._instance;return e?this._context.dateEnv.formatIso(e.range.start,{omitTime:this._def.allDay,forcedTzo:e.forcedStartTzo}):""}get endStr(){let e=this._instance;return e&&this._def.hasEnd?this._context.dateEnv.formatIso(e.range.end,{omitTime:this._def.allDay,forcedTzo:e.forcedEndTzo}):""}get id(){return this._def.publicId}get groupId(){return this._def.groupId}get allDay(){return this._def.allDay}get title(){return this._def.title}get url(){return this._def.url}get display(){return this._def.ui.display||"auto"}get startEditable(){return this._def.ui.startEditable}get durationEditable(){return this._def.ui.durationEditable}get constraint(){return this._def.ui.constraints[0]||null}get overlap(){return this._def.ui.overlap}get allow(){return this._def.ui.allows[0]||null}get backgroundColor(){return this._def.ui.backgroundColor}get borderColor(){return this._def.ui.borderColor}get textColor(){return this._def.ui.textColor}get classNames(){return this._def.ui.classNames}get extendedProps(){return this._def.extendedProps}toPlainObject(e={}){let t=this._def,{ui:n}=t,{startStr:i,endStr:s}=this,a={allDay:t.allDay};return t.title&&(a.title=t.title),i&&(a.start=i),s&&(a.end=s),t.publicId&&(a.id=t.publicId),t.groupId&&(a.groupId=t.groupId),t.url&&(a.url=t.url),n.display&&n.display!=="auto"&&(a.display=n.display),e.collapseColor&&n.backgroundColor&&n.backgroundColor===n.borderColor?a.color=n.backgroundColor:(n.backgroundColor&&(a.backgroundColor=n.backgroundColor),n.borderColor&&(a.borderColor=n.borderColor)),n.textColor&&(a.textColor=n.textColor),n.classNames.length&&(a.classNames=n.classNames),Object.keys(t.extendedProps).length&&(e.collapseExtendedProps?Object.assign(a,t.extendedProps):a.extendedProps=t.extendedProps),a}toJSON(){return this.toPlainObject()}};$Ve={start:F,end:F,allDay:Boolean};U_=class extends Error{constructor(e,t){super(e),this.response=t}};MS=class extends ht{constructor(){super(...arguments),this.state={forPrint:!1},this.handleBeforePrint=()=>{DS(()=>{this.setState({forPrint:!0})})},this.handleAfterPrint=()=>{DS(()=>{this.setState({forPrint:!1})})}}render(){let{props:e}=this,{options:t}=e,{forPrint:n}=this.state,i=n||t.height==="auto"||t.contentHeight==="auto",s=!i&&t.height!=null?t.height:"",a=["fc",n?"fc-media-print":"fc-media-screen",`fc-direction-${t.direction}`,e.theme.getClass("root")];return e2()||a.push("fc-liquid-hack"),e.children(a,s,i,n)}componentDidMount(){let{emitter:e}=this.props;e.on("_beforeprint",this.handleBeforePrint),e.on("_afterprint",this.handleAfterPrint)}componentWillUnmount(){let{emitter:e}=this.props;e.off("_beforeprint",this.handleBeforePrint),e.off("_afterprint",this.handleAfterPrint)}},el=class{constructor(e){this.component=e.component,this.isHitComboAllowed=e.isHitComboAllowed||null}destroy(){}};_f={},Os=class extends pi{constructor(e,t){super(e,t),this.handleRefresh=()=>{let n=this.computeTiming();n.state.nowDate.valueOf()!==this.state.nowDate.valueOf()&&this.setState(n.state),this.clearTimeout(),this.setTimeout(n.waitMs)},this.handleVisibilityChange=()=>{document.hidden||this.handleRefresh()},this.state=this.computeTiming().state}render(){let{props:e,state:t}=this;return e.children(t.nowDate,t.todayRange)}componentDidMount(){this.setTimeout(),this.context.nowManager.addResetListener(this.handleRefresh),document.addEventListener("visibilitychange",this.handleVisibilityChange)}componentDidUpdate(e){e.unit!==this.props.unit&&(this.clearTimeout(),this.setTimeout())}componentWillUnmount(){this.clearTimeout(),this.context.nowManager.removeResetListener(this.handleRefresh),document.removeEventListener("visibilitychange",this.handleVisibilityChange)}computeTiming(){let{props:e,context:t}=this,n=t.nowManager.getDateMarker(),{nowIndicatorSnap:i}=t.options;i==="auto"&&(i=/year|month|week|day/.test(e.unit)||(e.unitValue||1)===1);let s,a;return i?(s=t.dateEnv.startOf(n,e.unit),a=t.dateEnv.add(s,nt(1,e.unit)).valueOf()-n.valueOf()):(s=n,a=1e3*60),a=Math.min(1e3*60*60*24,a),{state:{nowDate:s,todayRange:VVe(s)},waitMs:a}}setTimeout(e=this.computeTiming().waitMs){this.timeoutId=setTimeout(()=>{let t=this.computeTiming();this.setState(t.state,()=>{this.setTimeout(t.waitMs)})},e)}clearTimeout(){this.timeoutId&&clearTimeout(this.timeoutId)}};Os.contextType=lo;AS=class{getCurrentData(){return this.currentDataManager.getCurrentData()}dispatch(e){this.currentDataManager.dispatch(e)}get view(){return this.getCurrentData().viewApi}batchRendering(e){e()}updateSize(){this.trigger("_resize",!0)}setOption(e,t){this.dispatch({type:"SET_OPTION",optionName:e,rawOptionValue:t})}getOption(e){return this.currentDataManager.currentCalendarOptionsInput[e]}getAvailableLocaleCodes(){return Object.keys(this.getCurrentData().availableRawLocales)}on(e,t){let{currentDataManager:n}=this;n.currentCalendarOptionsRefiners[e]?n.emitter.on(e,t):console.warn(`Unknown listener name '${e}'`)}off(e,t){this.currentDataManager.emitter.off(e,t)}trigger(e,...t){this.currentDataManager.emitter.trigger(e,...t)}changeView(e,t){this.batchRendering(()=>{if(this.unselect(),t)if(t.start&&t.end)this.dispatch({type:"CHANGE_VIEW_TYPE",viewType:e}),this.dispatch({type:"SET_OPTION",optionName:"visibleRange",rawOptionValue:t});else{let{dateEnv:n}=this.getCurrentData();this.dispatch({type:"CHANGE_VIEW_TYPE",viewType:e,dateMarker:n.createMarker(t)})}else this.dispatch({type:"CHANGE_VIEW_TYPE",viewType:e})})}zoomTo(e,t){let n=this.getCurrentData(),i;t=t||"day",i=n.viewSpecs[t]||this.getUnitViewSpec(t),this.unselect(),i?this.dispatch({type:"CHANGE_VIEW_TYPE",viewType:i.type,dateMarker:e}):this.dispatch({type:"CHANGE_DATE",dateMarker:e})}getUnitViewSpec(e){let{viewSpecs:t,toolbarConfig:n}=this.getCurrentData(),i=[].concat(n.header?n.header.viewsWithButtons:[],n.footer?n.footer.viewsWithButtons:[]),s,a;for(let o in t)i.push(o);for(s=0;s<i.length;s+=1)if(a=t[i[s]],a&&a.singleUnit===e)return a;return null}prev(){this.unselect(),this.dispatch({type:"PREV"})}next(){this.unselect(),this.dispatch({type:"NEXT"})}prevYear(){let e=this.getCurrentData();this.unselect(),this.dispatch({type:"CHANGE_DATE",dateMarker:e.dateEnv.addYears(e.currentDate,-1)})}nextYear(){let e=this.getCurrentData();this.unselect(),this.dispatch({type:"CHANGE_DATE",dateMarker:e.dateEnv.addYears(e.currentDate,1)})}today(){let e=this.getCurrentData();this.unselect(),this.dispatch({type:"CHANGE_DATE",dateMarker:e.nowManager.getDateMarker()})}gotoDate(e){let t=this.getCurrentData();this.unselect(),this.dispatch({type:"CHANGE_DATE",dateMarker:t.dateEnv.createMarker(e)})}incrementDate(e){let t=this.getCurrentData(),n=nt(e);n&&(this.unselect(),this.dispatch({type:"CHANGE_DATE",dateMarker:t.dateEnv.add(t.currentDate,n)}))}getDate(){let e=this.getCurrentData();return e.dateEnv.toDate(e.currentDate)}formatDate(e,t){let{dateEnv:n}=this.getCurrentData();return n.format(n.createMarker(e),zt(t))}formatRange(e,t,n){let{dateEnv:i}=this.getCurrentData();return i.formatRange(i.createMarker(e),i.createMarker(t),zt(n),n)}formatIso(e,t){let{dateEnv:n}=this.getCurrentData();return n.formatIso(n.createMarker(e),{omitTime:t})}select(e,t){let n;t==null?e.start!=null?n=e:n={start:e,end:null}:n={start:e,end:t};let i=this.getCurrentData(),s=jVe(n,i.dateEnv,nt({days:1}));s&&(this.dispatch({type:"SELECT_DATES",selection:s}),iM(s,null,i))}unselect(e){let t=this.getCurrentData();t.dateSelection&&(this.dispatch({type:"UNSELECT_DATES"}),MVe(e,t))}addEvent(e,t){if(e instanceof wr){let a=e._def,o=e._instance;return this.getCurrentData().eventStore.defs[a.defId]||(this.dispatch({type:"ADD_EVENTS",eventStore:bf({def:a,instance:o})}),this.triggerEventAdd(e)),e}let n=this.getCurrentData(),i;if(t instanceof tp)i=t.internalEventSource;else if(typeof t=="boolean")t&&([i]=X_(n.eventSources));else if(t!=null){let a=this.getEventSourceById(t);if(!a)return console.warn(`Could not find an event source with ID "${t}"`),null;i=a.internalEventSource}let s=Fme(e,i,n,!1);if(s){let a=new wr(n,s.def,s.def.recurringDef?null:s.instance);return this.dispatch({type:"ADD_EVENTS",eventStore:bf(s)}),this.triggerEventAdd(a),a}return null}triggerEventAdd(e){let{emitter:t}=this.getCurrentData();t.trigger("eventAdd",{event:e,relatedEvents:[],revert:()=>{this.dispatch({type:"REMOVE_EVENTS",eventStore:Bme(e)})}})}getEventById(e){let t=this.getCurrentData(),{defs:n,instances:i}=t.eventStore;e=String(e);for(let s in n){let a=n[s];if(a.publicId===e){if(a.recurringDef)return new wr(t,a,null);for(let o in i){let l=i[o];if(l.defId===a.defId)return new wr(t,a,l)}}}return null}getEvents(){let e=this.getCurrentData();return tc(e.eventStore,e)}removeAllEvents(){this.dispatch({type:"REMOVE_ALL_EVENTS"})}getEventSources(){let e=this.getCurrentData(),t=e.eventSources,n=[];for(let i in t)n.push(new tp(e,t[i]));return n}getEventSourceById(e){let t=this.getCurrentData(),n=t.eventSources;e=String(e);for(let i in n)if(n[i].publicId===e)return new tp(t,n[i]);return null}addEventSource(e){let t=this.getCurrentData();if(e instanceof tp)return t.eventSources[e.internalEventSource.sourceId]||this.dispatch({type:"ADD_EVENT_SOURCES",sources:[e.internalEventSource]}),e;let n=Uz(e,t);return n?(this.dispatch({type:"ADD_EVENT_SOURCES",sources:[n]}),new tp(t,n)):null}removeAllEventSources(){this.dispatch({type:"REMOVE_ALL_EVENT_SOURCES"})}refetchEvents(){this.dispatch({type:"FETCH_EVENT_SOURCES",isRefetch:!0})}scrollToTime(e){let t=nt(e);t&&this.trigger("_scrollRequest",{time:t})}};sz=Hn(),IS=class{constructor(){this.getKeysForEventDefs=Se(this._getKeysForEventDefs),this.splitDateSelection=Se(this._splitDateSpan),this.splitEventStore=Se(this._splitEventStore),this.splitIndividualUi=Se(this._splitIndividualUi),this.splitEventDrag=Se(this._splitInteraction),this.splitEventResize=Se(this._splitInteraction),this.eventUiBuilders={}}splitProps(e){let t=this.getKeyInfo(e),n=this.getKeysForEventDefs(e.eventStore),i=this.splitDateSelection(e.dateSelection),s=this.splitIndividualUi(e.eventUiBases,n),a=this.splitEventStore(e.eventStore,n),o=this.splitEventDrag(e.eventDrag),l=this.splitEventResize(e.eventResize),c={};this.eventUiBuilders=oo(t,(d,u)=>this.eventUiBuilders[u]||Se(WVe));for(let d in t){let u=t[d],p=a[d]||sz,m=this.eventUiBuilders[d];c[d]={businessHours:u.businessHours||e.businessHours,dateSelection:i[d]||null,eventStore:p,eventUiBases:m(e.eventUiBases[""],u.ui,s[d]),eventSelection:p.instances[e.eventSelection]?e.eventSelection:"",eventDrag:o[d]||null,eventResize:l[d]||null}}return c}_splitDateSpan(e){let t={};if(e){let n=this.getKeysForDateSpan(e);for(let i of n)t[i]=e}return t}_getKeysForEventDefs(e){return oo(e.defs,t=>this.getKeysForEventDef(t))}_splitEventStore(e,t){let{defs:n,instances:i}=e,s={};for(let a in n)for(let o of t[a])s[o]||(s[o]=Hn()),s[o].defs[a]=n[a];for(let a in i){let o=i[a];for(let l of t[o.defId])s[l]&&(s[l].instances[a]=o)}return s}_splitIndividualUi(e,t){let n={};for(let i in e)if(i)for(let s of t[i])n[s]||(n[s]={}),n[s][i]=e[i];return n}_splitInteraction(e){let t={};if(e){let n=this._splitEventStore(e.affectedEvents,this._getKeysForEventDefs(e.affectedEvents)),i=this._getKeysForEventDefs(e.mutatedEvents),s=this._splitEventStore(e.mutatedEvents,i),a=o=>{t[o]||(t[o]={affectedEvents:n[o]||sz,mutatedEvents:s[o]||sz,isEvent:e.isEvent})};for(let o in n)a(o);for(let o in s)a(o)}return t}};YVe=zt({year:"numeric",month:"long",day:"numeric"}),GVe=zt({week:"long"});az=null;tl=class{constructor(e,t,n,i){this.els=t;let s=this.originClientRect=e.getBoundingClientRect();n&&this.buildElHorizontals(s.left),i&&this.buildElVerticals(s.top)}buildElHorizontals(e){let t=[],n=[];for(let i of this.els){let s=i.getBoundingClientRect();t.push(s.left-e),n.push(s.right-e)}this.lefts=t,this.rights=n}buildElVerticals(e){let t=[],n=[];for(let i of this.els){let s=i.getBoundingClientRect();t.push(s.top-e),n.push(s.bottom-e)}this.tops=t,this.bottoms=n}leftToIndex(e){let{lefts:t,rights:n}=this,i=t.length,s;for(s=0;s<i;s+=1)if(e>=t[s]&&e<n[s])return s}topToIndex(e){let{tops:t,bottoms:n}=this,i=t.length,s;for(s=0;s<i;s+=1)if(e>=t[s]&&e<n[s])return s}getWidth(e){return this.rights[e]-this.lefts[e]}getHeight(e){return this.bottoms[e]-this.tops[e]}similarTo(e){return N_(this.tops||[],e.tops||[])&&N_(this.bottoms||[],e.bottoms||[])&&N_(this.lefts||[],e.lefts||[])&&N_(this.rights||[],e.rights||[])}};Tf=class{getMaxScrollTop(){return this.getScrollHeight()-this.getClientHeight()}getMaxScrollLeft(){return this.getScrollWidth()-this.getClientWidth()}canScrollVertically(){return this.getMaxScrollTop()>0}canScrollHorizontally(){return this.getMaxScrollLeft()>0}canScrollUp(){return this.getScrollTop()>0}canScrollDown(){return this.getScrollTop()<this.getMaxScrollTop()}canScrollLeft(){return this.getScrollLeft()>0}canScrollRight(){return this.getScrollLeft()<this.getMaxScrollLeft()}},NS=class extends Tf{constructor(e){super(),this.el=e}getScrollTop(){return this.el.scrollTop}getScrollLeft(){return this.el.scrollLeft}setScrollTop(e){this.el.scrollTop=e}setScrollLeft(e){this.el.scrollLeft=e}getScrollWidth(){return this.el.scrollWidth}getScrollHeight(){return this.el.scrollHeight}getClientHeight(){return this.el.clientHeight}getClientWidth(){return this.el.clientWidth}},RS=class extends Tf{getScrollTop(){return window.scrollY}getScrollLeft(){return window.scrollX}setScrollTop(e){window.scroll(window.scrollX,e)}setScrollLeft(e){window.scroll(e,window.scrollY)}getScrollWidth(){return document.documentElement.scrollWidth}getScrollHeight(){return document.documentElement.scrollHeight}getClientHeight(){return document.documentElement.clientHeight}getClientWidth(){return document.documentElement.clientWidth}},Mn=class extends ht{constructor(){super(...arguments),this.uid=Cd()}prepareHits(){}queryHit(e,t,n,i){return null}isValidSegDownEl(e){return!this.props.eventDrag&&!this.props.eventResize&&!qn(e,".fc-event-mirror")}isValidDateDownEl(e){return!qn(e,".fc-event:not(.fc-bg-event)")&&!qn(e,".fc-more-link")&&!qn(e,"a[data-navlink]")&&!qn(e,".fc-popover")}},kf=class{constructor(e=t=>t.thickness||1){this.getEntryThickness=e,this.strictOrder=!1,this.allowReslicing=!1,this.maxCoord=-1,this.maxStackCnt=-1,this.levelCoords=[],this.entriesByLevel=[],this.stackCnts={}}addSegs(e){let t=[];for(let n of e)this.insertEntry(n,t);return t}insertEntry(e,t){let n=this.findInsertion(e);this.isInsertionValid(n,e)?this.insertEntryAt(e,n):this.handleInvalidInsertion(n,e,t)}isInsertionValid(e,t){return(this.maxCoord===-1||e.levelCoord+this.getEntryThickness(t)<=this.maxCoord)&&(this.maxStackCnt===-1||e.stackCnt<this.maxStackCnt)}handleInvalidInsertion(e,t,n){if(this.allowReslicing&&e.touchingEntry){let i=Object.assign(Object.assign({},t),{span:ZS(t.span,e.touchingEntry.span)});n.push(i),this.splitEntry(t,e.touchingEntry,n)}else n.push(t)}splitEntry(e,t,n){let i=e.span,s=t.span;i.start<s.start&&this.insertEntry({index:e.index,thickness:e.thickness,span:{start:i.start,end:s.start}},n),i.end>s.end&&this.insertEntry({index:e.index,thickness:e.thickness,span:{start:s.end,end:i.end}},n)}insertEntryAt(e,t){let{entriesByLevel:n,levelCoords:i}=this;t.lateral===-1?(lz(i,t.level,t.levelCoord),lz(n,t.level,[e])):lz(n[t.level],t.lateral,e),this.stackCnts[Zl(e)]=t.stackCnt}findInsertion(e){let{levelCoords:t,entriesByLevel:n,strictOrder:i,stackCnts:s}=this,a=t.length,o=0,l=-1,c=-1,d=null,u=0;for(let f=0;f<a;f+=1){let h=t[f];if(!i&&h>=o+this.getEntryThickness(e))break;let g=n[f],y,k=LS(g,e.span.start,OS),T=k[0]+k[1];for(;(y=g[T])&&y.span.start<e.span.end;){let w=h+this.getEntryThickness(y);w>o&&(o=w,d=y,l=f,c=T),w===o&&(u=Math.max(u,s[Zl(y)]+1)),T+=1}}let p=0;if(d)for(p=l+1;p<a&&t[p]<o;)p+=1;let m=-1;return p<a&&t[p]===o&&(m=LS(n[p],e.span.end,OS)[0]),{touchingLevel:l,touchingLateral:c,touchingEntry:d,stackCnt:u,levelCoord:o,level:p,lateral:m}}toRects(){let{entriesByLevel:e,levelCoords:t}=this,n=e.length,i=[];for(let s=0;s<n;s+=1){let a=e[s],o=t[s];for(let l of a)i.push(Object.assign(Object.assign({},l),{thickness:this.getEntryThickness(l),levelCoord:o}))}return i}};FS=class{constructor(e,t){this.emitter=new xd}destroy(){}setMirrorIsVisible(e){}setMirrorNeedsRevert(e){}setAutoScrollEnabled(e){}},Jy={},XVe={startTime:nt,duration:nt,create:Boolean,sourceId:String};Zme="fc-col-header-cell";V_=class extends ht{render(){let{dateEnv:e,options:t,theme:n,viewApi:i}=this.context,{props:s}=this,{date:a,dateProfile:o}=s,l=GS(a,s.todayRange,null,o),c=[Zme].concat(Qy(l,n)),d=e.format(a,s.dayHeaderFormat),u=!l.isDisabled&&s.colCnt>1?rc(this.context,a):{},p=e.toDate(a);e.namedTimeZoneImpl&&(p=Gl(p,36e5));let m=Object.assign(Object.assign(Object.assign({date:p,view:i},s.extraRenderProps),{text:d}),l);return _(fn,{elTag:"th",elClasses:c,elAttrs:Object.assign({role:"columnheader",colSpan:s.colSpan,"data-date":l.isDisabled?void 0:lp(a)},s.extraDataAttrs),renderProps:m,generatorName:"dayHeaderContent",customGenerator:t.dayHeaderContent,defaultGenerator:Qme,classNameGenerator:t.dayHeaderClassNames,didMount:t.dayHeaderDidMount,willUnmount:t.dayHeaderWillUnmount},f=>_("div",{className:"fc-scrollgrid-sync-inner"},!l.isDisabled&&_(f,{elTag:"a",elAttrs:u,elClasses:["fc-col-header-cell-cushion",s.isSticky&&"fc-sticky"]})))}},eWe=zt({weekday:"long"}),W_=class extends ht{render(){let{props:e}=this,{dateEnv:t,theme:n,viewApi:i,options:s}=this.context,a=Gr(new Date(2592e5),e.dow),o={dow:e.dow,isDisabled:!1,isFuture:!1,isPast:!1,isToday:!1,isOther:!1},l=t.format(a,e.dayHeaderFormat),c=Object.assign(Object.assign(Object.assign(Object.assign({date:a},o),{view:i}),e.extraRenderProps),{text:l});return _(fn,{elTag:"th",elClasses:[Zme,...Qy(o,n),...e.extraClassNames||[]],elAttrs:Object.assign({role:"columnheader",colSpan:e.colSpan},e.extraDataAttrs),renderProps:c,generatorName:"dayHeaderContent",customGenerator:s.dayHeaderContent,defaultGenerator:Qme,classNameGenerator:s.dayHeaderClassNames,didMount:s.dayHeaderDidMount,willUnmount:s.dayHeaderWillUnmount},d=>_("div",{className:"fc-scrollgrid-sync-inner"},_(d,{elTag:"a",elClasses:["fc-col-header-cell-cushion",e.isSticky&&"fc-sticky"],elAttrs:{"aria-label":t.format(a,eWe)}})))}},Ed=class extends ht{constructor(){super(...arguments),this.createDayHeaderFormatter=Se(tWe)}render(){let{context:e}=this,{dates:t,dateProfile:n,datesRepDistinctDays:i,renderIntro:s}=this.props,a=this.createDayHeaderFormatter(e.options.dayHeaderFormat,i,t.length);return _(Os,{unit:"day"},(o,l)=>_("tr",{role:"row"},s&&s("day"),t.map(c=>i?_(V_,{key:c.toISOString(),date:c,dateProfile:n,todayRange:l,colCnt:t.length,dayHeaderFormat:a}):_(W_,{key:c.getUTCDay(),dow:c.getUTCDay(),dayHeaderFormat:a}))))}};wf=class{constructor(e,t){let n=e.start,{end:i}=e,s=[],a=[],o=-1;for(;n<i;)t.isHiddenDay(n)?s.push(o+.5):(o+=1,s.push(o),a.push(n)),n=Gr(n,1);this.dates=a,this.indices=s,this.cnt=a.length}sliceRange(e){let t=this.getDateDayIndex(e.start),n=this.getDateDayIndex(Gr(e.end,-1)),i=Math.max(0,t),s=Math.min(this.cnt-1,n);return i=Math.ceil(i),s=Math.floor(s),i<=s?{firstIndex:i,lastIndex:s,isStart:t===i,isEnd:n===s}:null}getDateDayIndex(e){let{indices:t}=this,n=Math.floor(Xl(this.dates[0],e));return n<0?t[0]-1:n>=t.length?t[t.length-1]+1:t[n]}},Sf=class{constructor(e,t){let{dates:n}=e,i,s,a;if(t){for(s=n[0].getUTCDay(),i=1;i<n.length&&n[i].getUTCDay()!==s;i+=1);a=Math.ceil(n.length/i)}else a=1,i=n.length;this.rowCnt=a,this.colCnt=i,this.daySeries=e,this.cells=this.buildCells(),this.headerDates=this.buildHeaderDates()}buildCells(){let e=[];for(let t=0;t<this.rowCnt;t+=1){let n=[];for(let i=0;i<this.colCnt;i+=1)n.push(this.buildCell(t,i));e.push(n)}return e}buildCell(e,t){let n=this.daySeries.dates[e*this.colCnt+t];return{key:n.toISOString(),date:n}}buildHeaderDates(){let e=[];for(let t=0;t<this.colCnt;t+=1)e.push(this.cells[0][t].date);return e}sliceRange(e){let{colCnt:t}=this,n=this.daySeries.sliceRange(e),i=[];if(n){let{firstIndex:s,lastIndex:a}=n,o=s;for(;o<=a;){let l=Math.floor(o/t),c=Math.min((l+1)*t,a+1);i.push({row:l,firstCol:o%t,lastCol:(c-1)%t,isStart:n.isStart&&o===s,isEnd:n.isEnd&&c-1===a}),o=c}}return i}},xf=class{constructor(){this.sliceBusinessHours=Se(this._sliceBusinessHours),this.sliceDateSelection=Se(this._sliceDateSpan),this.sliceEventStore=Se(this._sliceEventStore),this.sliceEventDrag=Se(this._sliceInteraction),this.sliceEventResize=Se(this._sliceInteraction),this.forceDayIfListItem=!1}sliceProps(e,t,n,i,...s){let{eventUiBases:a}=e,o=this.sliceEventStore(e.eventStore,a,t,n,...s);return{dateSelectionSegs:this.sliceDateSelection(e.dateSelection,t,n,a,i,...s),businessHourSegs:this.sliceBusinessHours(e.businessHours,t,n,i,...s),fgEventSegs:o.fg,bgEventSegs:o.bg,eventDrag:this.sliceEventDrag(e.eventDrag,a,t,n,...s),eventResize:this.sliceEventResize(e.eventResize,a,t,n,...s),eventSelection:e.eventSelection}}sliceNowDate(e,t,n,i,...s){return this._sliceDateSpan({range:{start:e,end:Gl(e,1)},allDay:!1},t,n,{},i,...s)}_sliceBusinessHours(e,t,n,i,...s){return e?this._sliceEventStore(vf(e,R_(t,!!n),i),{},t,n,...s).bg:[]}_sliceEventStore(e,t,n,i,...s){if(e){let a=zy(e,t,R_(n,!!i),i);return{bg:this.sliceEventRanges(a.bg,s),fg:this.sliceEventRanges(a.fg,s)}}return{bg:[],fg:[]}}_sliceInteraction(e,t,n,i,...s){if(!e)return null;let a=zy(e.mutatedEvents,t,R_(n,!!i),i);return{segs:this.sliceEventRanges(a.fg,s),affectedInstances:e.affectedEvents.instances,isEvent:e.isEvent}}_sliceDateSpan(e,t,n,i,s,...a){if(!e)return[];let o=R_(t,!!n),l=ls(e.range,o);if(l){e=Object.assign(Object.assign({},e),{range:l});let c=HVe(e,i,s),d=this.sliceRange(e.range,...a);for(let u of d)u.eventRange=c;return d}return[]}sliceEventRanges(e,t){let n=[];for(let i of e)n.push(...this.sliceEventRange(i,t));return n}sliceEventRange(e,t){let n=e.range;this.forceDayIfListItem&&e.ui.display==="list-item"&&(n={start:n.start,end:Gr(n.start,1)});let i=this.sliceRange(n,...t);for(let s of i)s.eventRange=e,s.isStart=e.isStart&&s.isStart,s.isEnd=e.isEnd&&s.isEnd;return i}};O_=/^(visible|hidden)$/,By=class extends ht{constructor(){super(...arguments),this.handleEl=e=>{this.el=e,xa(this.props.elRef,e)}}render(){let{props:e}=this,{liquid:t,liquidIsAbsolute:n}=e,i=t&&n,s=["fc-scroller"];return t&&(n?s.push("fc-scroller-liquid-absolute"):s.push("fc-scroller-liquid")),_("div",{ref:this.handleEl,className:s.join(" "),style:{overflowX:e.overflowX,overflowY:e.overflowY,left:i&&-(e.overcomeLeft||0)||"",right:i&&-(e.overcomeRight||0)||"",bottom:i&&-(e.overcomeBottom||0)||"",marginLeft:!i&&-(e.overcomeLeft||0)||"",marginRight:!i&&-(e.overcomeRight||0)||"",marginBottom:!i&&-(e.overcomeBottom||0)||"",maxHeight:e.maxHeight||""}},e.children)}needsXScrolling(){if(O_.test(this.props.overflowX))return!1;let{el:e}=this,t=this.el.getBoundingClientRect().width-this.getYScrollbarWidth(),{children:n}=e;for(let i=0;i<n.length;i+=1)if(n[i].getBoundingClientRect().width>t)return!0;return!1}needsYScrolling(){if(O_.test(this.props.overflowY))return!1;let{el:e}=this,t=this.el.getBoundingClientRect().height-this.getXScrollbarWidth(),{children:n}=e;for(let i=0;i<n.length;i+=1)if(n[i].getBoundingClientRect().height>t)return!0;return!1}getXScrollbarWidth(){return O_.test(this.props.overflowX)?0:this.el.offsetHeight-this.el.clientHeight}getYScrollbarWidth(){return O_.test(this.props.overflowY)?0:this.el.offsetWidth-this.el.clientWidth}},Ls=class{constructor(e){this.masterCallback=e,this.currentMap={},this.depths={},this.callbackMap={},this.handleValue=(t,n)=>{let{depths:i,currentMap:s}=this,a=!1,o=!1;t!==null?(a=n in s,s[n]=t,i[n]=(i[n]||0)+1,o=!0):(i[n]-=1,i[n]||(delete s[n],delete this.callbackMap[n],a=!0)),this.masterCallback&&(a&&this.masterCallback(null,String(n)),o&&this.masterCallback(t,String(n)))}}createRef(e){let t=this.callbackMap[e];return t||(t=this.callbackMap[e]=n=>{this.handleValue(n,String(e))}),t}collect(e,t,n){return _me(this.currentMap,e,t,n)}getAll(){return X_(this.currentMap)}};sp=class extends ht{constructor(){super(...arguments),this.processCols=Se(e=>e,ife),this.renderMicroColGroup=Se(sfe),this.scrollerRefs=new Ls,this.scrollerElRefs=new Ls(this._handleScrollerEl.bind(this)),this.state={shrinkWidth:null,forceYScrollbars:!1,scrollerClientWidths:{},scrollerClientHeights:{}},this.handleSizing=()=>{this.safeSetState(Object.assign({shrinkWidth:this.computeShrinkWidth()},this.computeScrollerDims()))}}render(){let{props:e,state:t,context:n}=this,i=e.sections||[],s=this.processCols(e.cols),a=this.renderMicroColGroup(s,t.shrinkWidth),o=lfe(e.liquid,n);e.collapsibleWidth&&o.push("fc-scrollgrid-collapsible");let l=i.length,c=0,d,u=[],p=[],m=[];for(;c<l&&(d=i[c]).type==="header";)u.push(this.renderSection(d,a,!0)),c+=1;for(;c<l&&(d=i[c]).type==="body";)p.push(this.renderSection(d,a,!1)),c+=1;for(;c<l&&(d=i[c]).type==="footer";)m.push(this.renderSection(d,a,!0)),c+=1;let f=!e2(),h={role:"rowgroup"};return _("table",{role:"grid",className:o.join(" "),style:{height:e.height}},!!(!f&&u.length)&&_("thead",h,...u),!!(!f&&p.length)&&_("tbody",h,...p),!!(!f&&m.length)&&_("tfoot",h,...m),f&&_("tbody",h,...u,...p,...m))}renderSection(e,t,n){return"outerContent"in e?_(jt,{key:e.key},e.outerContent):_("tr",{key:e.key,role:"presentation",className:cfe(e,this.props.liquid).join(" ")},this.renderChunkTd(e,t,e.chunk,n))}renderChunkTd(e,t,n,i){if("outerContent"in n)return n.outerContent;let{props:s}=this,{forceYScrollbars:a,scrollerClientWidths:o,scrollerClientHeights:l}=this.state,c=rfe(s,e),d=l2(s,e),u=s.liquid?a?"scroll":c?"auto":"hidden":"visible",p=e.key,m=nfe(e,n,{tableColGroupNode:t,tableMinWidth:"",clientWidth:!s.collapsibleWidth&&o[p]!==void 0?o[p]:null,clientHeight:l[p]!==void 0?l[p]:null,expandRows:e.expandRows,syncRowHeights:!1,rowSyncHeights:[],reportRowHeightChange:()=>{}},i);return _(i?"th":"td",{ref:n.elRef,role:"presentation"},_("div",{className:`fc-scroller-harness${d?" fc-scroller-harness-liquid":""}`},_(By,{ref:this.scrollerRefs.createRef(p),elRef:this.scrollerElRefs.createRef(p),overflowY:u,overflowX:s.liquid?"hidden":"visible",maxHeight:e.maxHeight,liquid:d,liquidIsAbsolute:!0},m)))}_handleScrollerEl(e,t){let n=aWe(this.props.sections,t);n&&xa(n.chunk.scrollerElRef,e)}componentDidMount(){this.handleSizing(),this.context.addResizeHandler(this.handleSizing)}componentDidUpdate(){this.handleSizing()}componentWillUnmount(){this.context.removeResizeHandler(this.handleSizing)}computeShrinkWidth(){return ofe(this.props.cols)?tfe(this.scrollerElRefs.getAll()):0}computeScrollerDims(){let e=Wme(),{scrollerRefs:t,scrollerElRefs:n}=this,i=!1,s={},a={};for(let o in t.currentMap){let l=t.currentMap[o];if(l&&l.needsYScrolling()){i=!0;break}}for(let o of this.props.sections){let l=o.key,c=n.currentMap[l];if(c){let d=c.parentNode;s[l]=Math.floor(d.getBoundingClientRect().width-(i?e.y:0)),a[l]=Math.floor(d.getBoundingClientRect().height)}}return{forceYScrollbars:i,scrollerClientWidths:s,scrollerClientHeights:a}}};sp.addStateEquality({scrollerClientWidths:zi,scrollerClientHeights:zi});Dd=class extends ht{constructor(){super(...arguments),this.buildPublicEvent=Se((e,t,n)=>new wr(e,t,n)),this.handleEl=e=>{this.el=e,xa(this.props.elRef,e),e&&pme(e,this.props.seg)}}render(){let{props:e,context:t}=this,{options:n}=t,{seg:i}=e,{eventRange:s}=i,{ui:a}=s,o={event:this.buildPublicEvent(t,s.def,s.instance),view:t.viewApi,timeText:e.timeText,textColor:a.textColor,backgroundColor:a.backgroundColor,borderColor:a.borderColor,isDraggable:!e.disableDragging&&RVe(i,t),isStartResizable:!e.disableResizing&&OVe(i,t),isEndResizable:!e.disableResizing&&LVe(i),isMirror:!!(e.isDragging||e.isResizing||e.isDateSelecting),isStart:!!i.isStart,isEnd:!!i.isEnd,isPast:!!e.isPast,isFuture:!!e.isFuture,isToday:!!e.isToday,isSelected:!!e.isSelected,isDragging:!!e.isDragging,isResizing:!!e.isResizing};return _(fn,{elRef:this.handleEl,elTag:e.elTag,elAttrs:e.elAttrs,elClasses:[...FVe(o),...i.eventRange.ui.classNames,...e.elClasses||[]],elStyle:e.elStyle,renderProps:o,generatorName:"eventContent",customGenerator:n.eventContent,defaultGenerator:e.defaultGenerator,classNameGenerator:n.eventClassNames,didMount:n.eventDidMount,willUnmount:n.eventWillUnmount},e.children)}componentDidUpdate(e){this.el&&this.props.seg!==e.seg&&pme(this.el,this.props.seg)}},ap=class extends ht{render(){let{props:e,context:t}=this,{options:n}=t,{seg:i}=e,{ui:s}=i.eventRange,a=n.eventTimeFormat||e.defaultTimeFormat,o=dp(i,a,t,e.defaultDisplayEventTime,e.defaultDisplayEventEnd);return _(Dd,Object.assign({},e,{elTag:"a",elStyle:{borderColor:s.borderColor,backgroundColor:s.backgroundColor},elAttrs:Zy(i,t),defaultGenerator:oWe,timeText:o}),(l,c)=>_(jt,null,_(l,{elTag:"div",elClasses:["fc-event-main"],elStyle:{color:c.textColor}}),!!c.isStartResizable&&_("div",{className:"fc-event-resizer fc-event-resizer-start"}),!!c.isEndResizable&&_("div",{className:"fc-event-resizer fc-event-resizer-end"})))}};ap.addPropsEquality({seg:zi});ex=r=>_(lo.Consumer,null,e=>{let{options:t}=e,n={isAxis:r.isAxis,date:e.dateEnv.toDate(r.date),view:e.viewApi};return _(fn,{elRef:r.elRef,elTag:r.elTag||"div",elAttrs:r.elAttrs,elClasses:r.elClasses,elStyle:r.elStyle,renderProps:n,generatorName:"nowIndicatorContent",customGenerator:t.nowIndicatorContent,classNameGenerator:t.nowIndicatorClassNames,didMount:t.nowIndicatorDidMount,willUnmount:t.nowIndicatorWillUnmount},r.children)}),lWe=zt({day:"numeric"}),op=class extends ht{constructor(){super(...arguments),this.refineRenderProps=Wy(cWe)}render(){let{props:e,context:t}=this,{options:n}=t,i=this.refineRenderProps({date:e.date,dateProfile:e.dateProfile,todayRange:e.todayRange,isMonthStart:e.isMonthStart||!1,showDayNumber:e.showDayNumber,extraRenderProps:e.extraRenderProps,viewApi:t.viewApi,dateEnv:t.dateEnv,monthStartFormat:n.monthStartFormat});return _(fn,{elRef:e.elRef,elTag:e.elTag,elAttrs:Object.assign(Object.assign({},e.elAttrs),i.isDisabled?{}:{"data-date":lp(e.date)}),elClasses:[...Qy(i,t.theme),...e.elClasses||[]],elStyle:e.elStyle,renderProps:i,generatorName:"dayCellContent",customGenerator:n.dayCellContent,defaultGenerator:e.defaultGenerator,classNameGenerator:i.isDisabled?void 0:n.dayCellClassNames,didMount:n.dayCellDidMount,willUnmount:n.dayCellWillUnmount},e.children)}};Ef=class extends ht{render(){let{props:e}=this,{seg:t}=e;return _(Dd,{elTag:"div",elClasses:["fc-bg-event"],elStyle:{backgroundColor:t.eventRange.ui.backgroundColor},defaultGenerator:dWe,seg:t,timeText:"",isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:!1,isPast:e.isPast,isFuture:e.isFuture,isToday:e.isToday,disableDragging:!0,disableResizing:!0})}};rx=r=>_(lo.Consumer,null,e=>{let{dateEnv:t,options:n}=e,{date:i}=r,s=n.weekNumberFormat||r.defaultFormat,a=t.computeWeekNumber(i),o=t.format(i,s),l={num:a,text:o,date:i};return _(fn,{elRef:r.elRef,elTag:r.elTag,elAttrs:r.elAttrs,elClasses:r.elClasses,elStyle:r.elStyle,renderProps:l,generatorName:"weekNumberContent",customGenerator:n.weekNumberContent,defaultGenerator:uWe,classNameGenerator:n.weekNumberClassNames,didMount:n.weekNumberDidMount,willUnmount:n.weekNumberWillUnmount},r.children)});dz=10,bz=class extends ht{constructor(){super(...arguments),this.state={titleId:Fs()},this.handleRootEl=e=>{this.rootEl=e,this.props.elRef&&xa(this.props.elRef,e)},this.handleDocumentMouseDown=e=>{let t=G_(e);this.rootEl.contains(t)||this.handleCloseClick()},this.handleDocumentKeyDown=e=>{e.key==="Escape"&&this.handleCloseClick()},this.handleCloseClick=()=>{let{onClose:e}=this.props;e&&e()}}render(){let{theme:e,options:t}=this.context,{props:n,state:i}=this,s=["fc-popover",e.getClass("popover")].concat(n.extraClassNames||[]);return ez(_("div",Object.assign({},n.extraAttrs,{id:n.id,className:s.join(" "),"aria-labelledby":i.titleId,ref:this.handleRootEl}),_("div",{className:"fc-popover-header "+e.getClass("popoverHeader")},_("span",{className:"fc-popover-title",id:i.titleId},n.title),_("span",{className:"fc-popover-close "+e.getIconClass("close"),title:t.closeHint,onClick:this.handleCloseClick})),_("div",{className:"fc-popover-body "+e.getClass("popoverContent")},n.children)),n.parentEl)}componentDidMount(){document.addEventListener("mousedown",this.handleDocumentMouseDown),document.addEventListener("keydown",this.handleDocumentKeyDown),this.updateSize()}componentWillUnmount(){document.removeEventListener("mousedown",this.handleDocumentMouseDown),document.removeEventListener("keydown",this.handleDocumentKeyDown)}updateSize(){let{isRtl:e}=this.context,{alignmentEl:t,alignGridTop:n}=this.props,{rootEl:i}=this,s=QVe(t);if(s){let a=i.getBoundingClientRect(),o=n?qn(t,".fc-scrollgrid").getBoundingClientRect().top:s.top,l=e?s.right-a.width:s.left;o=Math.max(o,dz),l=Math.min(l,document.documentElement.clientWidth-dz-a.width),l=Math.max(l,dz);let c=i.offsetParent.getBoundingClientRect();Cf(i,{top:o-c.top,left:l-c.left})}}},Tz=class extends Mn{constructor(){super(...arguments),this.handleRootEl=e=>{this.rootEl=e,e?this.context.registerInteractiveComponent(this,{el:e,useEventCenter:!1}):this.context.unregisterInteractiveComponent(this)}}render(){let{options:e,dateEnv:t}=this.context,{props:n}=this,{startDate:i,todayRange:s,dateProfile:a}=n,o=t.format(i,e.dayPopoverFormat);return _(op,{elRef:this.handleRootEl,date:i,dateProfile:a,todayRange:s},(l,c,d)=>_(bz,{elRef:d.ref,id:n.id,title:o,extraClassNames:["fc-more-popover"].concat(d.className||[]),extraAttrs:d,parentEl:n.parentEl,alignmentEl:n.alignmentEl,alignGridTop:n.alignGridTop,onClose:n.onClose},ev(e)&&_(l,{elTag:"div",elClasses:["fc-more-popover-misc"]}),n.children))}queryHit(e,t,n,i){let{rootEl:s,props:a}=this;return e>=0&&e<n&&t>=0&&t<i?{dateProfile:a.dateProfile,dateSpan:Object.assign({allDay:!a.forceTimed,range:{start:a.startDate,end:a.endDate}},a.extraDateSpan),dayEl:s,rect:{left:0,top:0,right:n,bottom:i},layer:1}:null}},Df=class extends ht{constructor(){super(...arguments),this.state={isPopoverOpen:!1,popoverId:Fs()},this.handleLinkEl=e=>{this.linkEl=e,this.props.elRef&&xa(this.props.elRef,e)},this.handleClick=e=>{let{props:t,context:n}=this,{moreLinkClick:i}=n.options,s=mme(t).start;function a(o){let{def:l,instance:c,range:d}=o.eventRange;return{event:new wr(n,l,c),start:n.dateEnv.toDate(d.start),end:n.dateEnv.toDate(d.end),isStart:o.isStart,isEnd:o.isEnd}}typeof i=="function"&&(i=i({date:s,allDay:!!t.allDayDate,allSegs:t.allSegs.map(a),hiddenSegs:t.hiddenSegs.map(a),jsEvent:e,view:n.viewApi})),!i||i==="popover"?this.setState({isPopoverOpen:!0}):typeof i=="string"&&n.calendarApi.zoomTo(s,i)},this.handlePopoverClose=()=>{this.setState({isPopoverOpen:!1})}}render(){let{props:e,state:t}=this;return _(lo.Consumer,null,n=>{let{viewApi:i,options:s,calendarApi:a}=n,{moreLinkText:o}=s,{moreCnt:l}=e,c=mme(e),d=typeof o=="function"?o.call(a,l):`+${l} ${o}`,u=Uy(s.moreLinkHint,[l],d),p={num:l,shortText:`+${l}`,text:d,view:i};return _(jt,null,!!e.moreCnt&&_(fn,{elTag:e.elTag||"a",elRef:this.handleLinkEl,elClasses:[...e.elClasses||[],"fc-more-link"],elStyle:e.elStyle,elAttrs:Object.assign(Object.assign(Object.assign({},e.elAttrs),Tme(this.handleClick)),{title:u,"aria-expanded":t.isPopoverOpen,"aria-controls":t.isPopoverOpen?t.popoverId:""}),renderProps:p,generatorName:"moreLinkContent",customGenerator:s.moreLinkContent,defaultGenerator:e.defaultGenerator||pWe,classNameGenerator:s.moreLinkClassNames,didMount:s.moreLinkDidMount,willUnmount:s.moreLinkWillUnmount},e.children),t.isPopoverOpen&&_(Tz,{id:t.popoverId,startDate:c.start,endDate:c.end,dateProfile:e.dateProfile,todayRange:e.todayRange,extraDateSpan:e.extraDateSpan,parentEl:this.parentEl,alignmentEl:e.alignmentElRef?e.alignmentElRef.current:this.linkEl,alignGridTop:e.alignGridTop,forceTimed:e.forceTimed,onClose:this.handlePopoverClose},e.popoverContent()))})}componentDidMount(){this.updateParentEl()}componentDidUpdate(){this.updateParentEl()}updateParentEl(){this.linkEl&&(this.parentEl=qn(this.linkEl,".fc-view-harness"))}}});function yWe(r){let e=r.length>0?r[0].code:"en",t=gWe.concat(r),n={en:yfe};for(let i of t)n[i.code]=i;return{map:n,defaultCode:e}}function vfe(r,e){return typeof r=="object"&&!Array.isArray(r)?bfe(r.code,[r.code],r):vWe(r,e)}function vWe(r,e){let t=[].concat(r||[]),n=bWe(t,e)||yfe;return bfe(r,t,n)}function bWe(r,e){for(let t=0;t<r.length;t+=1){let n=r[t].toLocaleLowerCase().split("-");for(let i=n.length;i>0;i-=1){let s=n.slice(0,i).join("-");if(e[s])return e[s]}}return null}function bfe(r,e,t){let n=J_([gfe,t],["buttonText"]);delete n.code;let{week:i}=n;return delete n.week,{codeArg:r,codes:e,week:i,simpleNumberFormat:new Intl.NumberFormat(r),options:n}}function Bi(r){return{id:Cd(),name:r.name,premiumReleaseDate:r.premiumReleaseDate?new Date(r.premiumReleaseDate):void 0,deps:r.deps||[],reducers:r.reducers||[],isLoadingFuncs:r.isLoadingFuncs||[],contextInit:[].concat(r.contextInit||[]),eventRefiners:r.eventRefiners||{},eventDefMemberAdders:r.eventDefMemberAdders||[],eventSourceRefiners:r.eventSourceRefiners||{},isDraggableTransformers:r.isDraggableTransformers||[],eventDragMutationMassagers:r.eventDragMutationMassagers||[],eventDefMutationAppliers:r.eventDefMutationAppliers||[],dateSelectionTransformers:r.dateSelectionTransformers||[],datePointTransforms:r.datePointTransforms||[],dateSpanTransforms:r.dateSpanTransforms||[],views:r.views||{},viewPropsTransformers:r.viewPropsTransformers||[],isPropsValid:r.isPropsValid||null,externalDefTransforms:r.externalDefTransforms||[],viewContainerAppends:r.viewContainerAppends||[],eventDropTransformers:r.eventDropTransformers||[],componentInteractions:r.componentInteractions||[],calendarInteractions:r.calendarInteractions||[],themeClasses:r.themeClasses||{},eventSourceDefs:r.eventSourceDefs||[],cmdFormatter:r.cmdFormatter,recurringTypes:r.recurringTypes||[],namedTimeZonedImpl:r.namedTimeZonedImpl,initialView:r.initialView||"",elementDraggingImpl:r.elementDraggingImpl,optionChangeHandlers:r.optionChangeHandlers||{},scrollGridImpl:r.scrollGridImpl||null,listenerRefiners:r.listenerRefiners||{},optionRefiners:r.optionRefiners||{},propSetHandlers:r.propSetHandlers||{}}}function TWe(r,e){let t={},n={premiumReleaseDate:void 0,reducers:[],isLoadingFuncs:[],contextInit:[],eventRefiners:{},eventDefMemberAdders:[],eventSourceRefiners:{},isDraggableTransformers:[],eventDragMutationMassagers:[],eventDefMutationAppliers:[],dateSelectionTransformers:[],datePointTransforms:[],dateSpanTransforms:[],views:{},viewPropsTransformers:[],isPropsValid:null,externalDefTransforms:[],viewContainerAppends:[],eventDropTransformers:[],componentInteractions:[],calendarInteractions:[],themeClasses:{},eventSourceDefs:[],cmdFormatter:null,recurringTypes:[],namedTimeZonedImpl:null,initialView:"",elementDraggingImpl:null,optionChangeHandlers:{},scrollGridImpl:null,listenerRefiners:{},optionRefiners:{},propSetHandlers:{}};function i(s){for(let a of s){let o=a.name,l=t[o];l===void 0?(t[o]=a.id,i(a.deps),n=wWe(n,a)):l!==a.id&&console.warn(`Duplicate plugin '${o}'`)}}return r&&i(r),i(e),n}function kWe(){let r=[],e=[],t;return(n,i)=>((!t||!Jl(n,r)||!Jl(i,e))&&(t=TWe(n,i)),r=n,e=i,t)}function wWe(r,e){return{premiumReleaseDate:SWe(r.premiumReleaseDate,e.premiumReleaseDate),reducers:r.reducers.concat(e.reducers),isLoadingFuncs:r.isLoadingFuncs.concat(e.isLoadingFuncs),contextInit:r.contextInit.concat(e.contextInit),eventRefiners:Object.assign(Object.assign({},r.eventRefiners),e.eventRefiners),eventDefMemberAdders:r.eventDefMemberAdders.concat(e.eventDefMemberAdders),eventSourceRefiners:Object.assign(Object.assign({},r.eventSourceRefiners),e.eventSourceRefiners),isDraggableTransformers:r.isDraggableTransformers.concat(e.isDraggableTransformers),eventDragMutationMassagers:r.eventDragMutationMassagers.concat(e.eventDragMutationMassagers),eventDefMutationAppliers:r.eventDefMutationAppliers.concat(e.eventDefMutationAppliers),dateSelectionTransformers:r.dateSelectionTransformers.concat(e.dateSelectionTransformers),datePointTransforms:r.datePointTransforms.concat(e.datePointTransforms),dateSpanTransforms:r.dateSpanTransforms.concat(e.dateSpanTransforms),views:Object.assign(Object.assign({},r.views),e.views),viewPropsTransformers:r.viewPropsTransformers.concat(e.viewPropsTransformers),isPropsValid:e.isPropsValid||r.isPropsValid,externalDefTransforms:r.externalDefTransforms.concat(e.externalDefTransforms),viewContainerAppends:r.viewContainerAppends.concat(e.viewContainerAppends),eventDropTransformers:r.eventDropTransformers.concat(e.eventDropTransformers),calendarInteractions:r.calendarInteractions.concat(e.calendarInteractions),componentInteractions:r.componentInteractions.concat(e.componentInteractions),themeClasses:Object.assign(Object.assign({},r.themeClasses),e.themeClasses),eventSourceDefs:r.eventSourceDefs.concat(e.eventSourceDefs),cmdFormatter:e.cmdFormatter||r.cmdFormatter,recurringTypes:r.recurringTypes.concat(e.recurringTypes),namedTimeZonedImpl:e.namedTimeZonedImpl||r.namedTimeZonedImpl,initialView:r.initialView||e.initialView,elementDraggingImpl:r.elementDraggingImpl||e.elementDraggingImpl,optionChangeHandlers:Object.assign(Object.assign({},r.optionChangeHandlers),e.optionChangeHandlers),scrollGridImpl:e.scrollGridImpl||r.scrollGridImpl,listenerRefiners:Object.assign(Object.assign({},r.listenerRefiners),e.listenerRefiners),optionRefiners:Object.assign(Object.assign({},r.optionRefiners),e.optionRefiners),propSetHandlers:Object.assign(Object.assign({},r.propSetHandlers),e.propSetHandlers)}}function SWe(r,e){return r===void 0?e:e===void 0?r:new Date(Math.max(r.valueOf(),e.valueOf()))}function xWe(r,e){let t={},n;for(n in r)u2(n,t,r,e);for(n in e)u2(n,t,r,e);return t}function u2(r,e,t,n){if(e[r])return e[r];let i=EWe(r,e,t,n);return i&&(e[r]=i),i}function EWe(r,e,t,n){let i=t[r],s=n[r],a=d=>i&&i[d]!==null?i[d]:s&&s[d]!==null?s[d]:null,o=a("component"),l=a("superType"),c=null;if(l){if(l===r)throw new Error("Can't have a custom view type that references itself");c=u2(l,e,t,n)}return!o&&c&&(o=c.component),o?{type:r,component:o,defaults:Object.assign(Object.assign({},c?c.defaults:{}),i?i.rawOptions:{}),overrides:Object.assign(Object.assign({},c?c.overrides:{}),s?s.rawOptions:{})}:null}function dfe(r){return oo(r,DWe)}function DWe(r){let e=typeof r=="function"?{component:r}:r,{component:t}=e;return e.content?t=ufe(e):t&&!(t.prototype instanceof ht)&&(t=ufe(Object.assign(Object.assign({},e),{content:t}))),{superType:e.type,component:t,rawOptions:e}}function ufe(r){return e=>_(lo.Consumer,null,t=>_(fn,{elTag:"div",elClasses:zz(t.viewSpec),renderProps:Object.assign(Object.assign({},e),{nextDayThreshold:t.options.nextDayThreshold}),generatorName:void 0,customGenerator:r.content,classNameGenerator:r.classNames,didMount:r.didMount,willUnmount:r.willUnmount}))}function CWe(r,e,t,n){let i=dfe(r),s=dfe(e.views),a=xWe(i,s);return oo(a,o=>PWe(o,s,e,t,n))}function PWe(r,e,t,n,i){let s=r.overrides.duration||r.defaults.duration||n.duration||t.duration,a=null,o="",l="",c={};if(s&&(a=_We(s),a)){let p=xS(a);o=p.unit,p.value===1&&(l=o,c=e[o]?e[o].rawOptions:{})}let d=p=>{let m=p.buttonText||{},f=r.defaults.buttonTextKey;return f!=null&&m[f]!=null?m[f]:m[r.type]!=null?m[r.type]:m[l]!=null?m[l]:null},u=p=>{let m=p.buttonHints||{},f=r.defaults.buttonTextKey;return f!=null&&m[f]!=null?m[f]:m[r.type]!=null?m[r.type]:m[l]!=null?m[l]:null};return{type:r.type,component:r.component,duration:a,durationUnit:o,singleUnit:l,optionDefaults:r.defaults,optionOverrides:Object.assign(Object.assign({},c),r.overrides),buttonTextOverride:d(n)||d(t)||r.overrides.buttonText,buttonTextDefault:d(i)||r.defaults.buttonText||d(ec)||r.type,buttonTitleOverride:u(n)||u(t)||r.overrides.buttonHint,buttonTitleDefault:u(i)||r.defaults.buttonHint||u(ec)}}function _We(r){let e=JSON.stringify(r),t=pfe[e];return t===void 0&&(t=nt(r),pfe[e]=t),t}function MWe(r,e){switch(e.type){case"CHANGE_VIEW_TYPE":r=e.viewType}return r}function AWe(r,e){switch(e.type){case"CHANGE_DATE":return e.dateMarker;default:return r}}function IWe(r,e,t){let n=r.initialDate;return n!=null?e.createMarker(n):t.getDateMarker()}function NWe(r,e){switch(e.type){case"SET_OPTION":return Object.assign(Object.assign({},r),{[e.optionName]:e.rawOptionValue});default:return r}}function RWe(r,e,t,n){let i;switch(e.type){case"CHANGE_VIEW_TYPE":return n.build(e.dateMarker||t);case"CHANGE_DATE":return n.build(e.dateMarker);case"PREV":if(i=n.buildPrev(r,t),i.isValid)return i;break;case"NEXT":if(i=n.buildNext(r,t),i.isValid)return i;break}return r}function OWe(r,e,t){let n=e?e.activeRange:null;return kfe({},qWe(r,t),n,t)}function LWe(r,e,t,n){let i=t?t.activeRange:null;switch(e.type){case"ADD_EVENT_SOURCES":return kfe(r,e.sources,i,n);case"REMOVE_EVENT_SOURCE":return $We(r,e.sourceId);case"PREV":case"NEXT":case"CHANGE_DATE":case"CHANGE_VIEW_TYPE":return t?wfe(r,i,n):r;case"FETCH_EVENT_SOURCES":return T2(r,e.sourceIds?Fz(e.sourceIds):Sfe(r,n),i,e.isRefetch||!1,n);case"RECEIVE_EVENTS":case"RECEIVE_EVENT_ERROR":return BWe(r,e.sourceId,e.fetchId,e.fetchRange);case"REMOVE_ALL_EVENT_SOURCES":return{};default:return r}}function FWe(r,e,t){let n=e?e.activeRange:null;return T2(r,Sfe(r,t),n,!0,t)}function Tfe(r){for(let e in r)if(r[e].isFetching)return!0;return!1}function kfe(r,e,t,n){let i={};for(let s of e)i[s.sourceId]=s;return t&&(i=wfe(i,t,n)),Object.assign(Object.assign({},r),i)}function $We(r,e){return wd(r,t=>t.sourceId!==e)}function wfe(r,e,t){return T2(r,wd(r,n=>jWe(n,e,t)),e,!1,t)}function jWe(r,e,t){return xfe(r,t)?!t.options.lazyFetching||!r.fetchRange||r.isFetching||e.start<r.fetchRange.start||e.end>r.fetchRange.end:!r.latestFetchId}function T2(r,e,t,n,i){let s={};for(let a in r){let o=r[a];e[a]?s[a]=zWe(o,t,n,i):s[a]=o}return s}function zWe(r,e,t,n){let{options:i,calendarApi:s}=n,a=n.pluginHooks.eventSourceDefs[r.sourceDefId],o=Cd();return a.fetch({eventSource:r,range:e,isRefetch:t,context:n},l=>{let{rawEvents:c}=l;i.eventSourceSuccess&&(c=i.eventSourceSuccess.call(s,c,l.response)||c),r.success&&(c=r.success.call(s,c,l.response)||c),n.dispatch({type:"RECEIVE_EVENTS",sourceId:r.sourceId,fetchId:o,fetchRange:e,rawEvents:c})},l=>{let c=!1;i.eventSourceFailure&&(i.eventSourceFailure.call(s,l),c=!0),r.failure&&(r.failure(l),c=!0),c||console.warn(l.message,l),n.dispatch({type:"RECEIVE_EVENT_ERROR",sourceId:r.sourceId,fetchId:o,fetchRange:e,error:l})}),Object.assign(Object.assign({},r),{isFetching:!0,latestFetchId:o})}function BWe(r,e,t,n){let i=r[e];return i&&t===i.latestFetchId?Object.assign(Object.assign({},r),{[e]:Object.assign(Object.assign({},i),{isFetching:!1,fetchRange:n})}):r}function Sfe(r,e){return wd(r,t=>xfe(t,e))}function qWe(r,e){let t=Vz(e),n=[].concat(r.eventSources||[]),i=[];r.initialEvents&&n.unshift(r.initialEvents),r.events&&n.unshift(r.events);for(let s of n){let a=Uz(s,e,t);a&&i.push(a)}return i}function xfe(r,e){return!e.pluginHooks.eventSourceDefs[r.sourceDefId].ignoreRange}function HWe(r,e){switch(e.type){case"UNSELECT_DATES":return null;case"SELECT_DATES":return e.selection;default:return r}}function UWe(r,e){switch(e.type){case"UNSELECT_EVENT":return"";case"SELECT_EVENT":return e.eventInstanceId;default:return r}}function VWe(r,e){let t;switch(e.type){case"UNSET_EVENT_DRAG":return null;case"SET_EVENT_DRAG":return t=e.state,{affectedEvents:t.affectedEvents,mutatedEvents:t.mutatedEvents,isEvent:t.isEvent};default:return r}}function WWe(r,e){let t;switch(e.type){case"UNSET_EVENT_RESIZE":return null;case"SET_EVENT_RESIZE":return t=e.state,{affectedEvents:t.affectedEvents,mutatedEvents:t.mutatedEvents,isEvent:t.isEvent};default:return r}}function YWe(r,e,t,n,i){let s=r.headerToolbar?mfe(r.headerToolbar,r,e,t,n,i):null,a=r.footerToolbar?mfe(r.footerToolbar,r,e,t,n,i):null;return{header:s,footer:a}}function mfe(r,e,t,n,i,s){let a={},o=[],l=!1;for(let c in r){let d=r[c],u=GWe(d,e,t,n,i,s);a[c]=u.widgets,o.push(...u.viewsWithButtons),l=l||u.hasTitle}return{sectionWidgets:a,viewsWithButtons:o,hasTitle:l}}function GWe(r,e,t,n,i,s){let a=e.direction==="rtl",o=e.customButtons||{},l=t.buttonText||{},c=e.buttonText||{},d=t.buttonHints||{},u=e.buttonHints||{},p=r?r.split(" "):[],m=[],f=!1;return{widgets:p.map(g=>g.split(",").map(y=>{if(y==="title")return f=!0,{buttonName:y};let k,T,w,S,E,C;if(k=o[y])w=D=>{k.click&&k.click.call(D.target,D,D.target)},(S=n.getCustomButtonIconClass(k))||(S=n.getIconClass(y,a))||(E=k.text),C=k.hint||k.text;else if(T=i[y]){m.push(y),w=()=>{s.changeView(y)},(E=T.buttonTextOverride)||(S=n.getIconClass(y,a))||(E=T.buttonTextDefault);let D=T.buttonTextOverride||T.buttonTextDefault;C=Uy(T.buttonTitleOverride||T.buttonTitleDefault||e.viewHint,[D,y],D)}else if(s[y])if(w=()=>{s[y]()},(E=l[y])||(S=n.getIconClass(y,a))||(E=c[y]),y==="prevYear"||y==="nextYear"){let D=y==="prevYear"?"prev":"next";C=Uy(d[D]||u[D],[c.year||"year","year"],c[y])}else C=D=>Uy(d[y]||u[y],[c[D]||D,D],c[y]);return{buttonName:y,buttonClick:w,buttonIcon:S,buttonText:E,buttonHint:C}})),viewsWithButtons:m,hasTitle:f}}function r4e(r,e,t){let{dateEnv:n,options:i}=t,s,a,o,l,c={};return s=r.startParam,s==null&&(s=i.startParam),a=r.endParam,a==null&&(a=i.endParam),o=r.timeZoneParam,o==null&&(o=i.timeZoneParam),typeof r.extraParams=="function"?l=r.extraParams():l=r.extraParams||{},Object.assign(c,l),c[s]=n.formatIso(e.start),c[a]=n.formatIso(e.end),n.timeZone!=="local"&&(c[o]=n.timeZone),c}function a4e(r,e,t,n,i){let s=r?Fz(r):null,a=ar(i.start),o=i.end,l=[];for(e&&(e.milliseconds<0?o=Gr(o,1):e.milliseconds>=1e3*60*60*24&&(a=Gr(a,-1)));a<o;){let c;(!s||s[a.getUTCDay()])&&(e?c=n.add(a,e):c=a,l.push(n.createMarker(t.toDate(c)))),a=Gr(a,1)}return l}function ffe(r,e){let t=X_(e.getCurrentData().eventSources);if(t.length===1&&r.length===1&&Array.isArray(t[0]._raw)&&Array.isArray(r[0])){e.dispatch({type:"RESET_RAW_EVENTS",sourceId:t[0].sourceId,rawEvents:r[0]});return}let n=[];for(let i of r){let s=!1;for(let a=0;a<t.length;a+=1)if(t[a]._raw===i){t.splice(a,1),s=!0;break}s||n.push(i)}for(let i of t)e.dispatch({type:"REMOVE_EVENT_SOURCE",sourceId:i.sourceId});for(let i of n)e.calendarApi.addEventSource(i)}function l4e(r,e){e.emitter.trigger("datesSet",Object.assign(Object.assign({},Qz(r.activeRange,e.dateEnv)),{view:e.viewApi}))}function c4e(r,e){let{emitter:t}=e;t.hasHandlers("eventsSet")&&t.trigger("eventsSet",tc(r,e))}function u4e(r,e,t){let n;return/^(year|month)$/.test(r.currentRangeUnit)?n=r.currentRange:n=r.activeRange,t.formatRange(n.start,n.end,zt(e.titleFormat||p4e(r)),{isEndExclusive:r.isRangeAllDay,defaultSeparator:e.titleRangeSeparator})}function p4e(r){let{currentRangeUnit:e}=r;if(e==="year")return{year:"numeric"};if(e==="month")return{year:"numeric",month:"long"};let t=$y(r.currentRange.start,r.currentRange.end);return t!==null&&t>1?{year:"numeric",month:"short",day:"numeric"}:{year:"numeric",month:"long",day:"numeric"}}function m4e(r,e,t,n,i,s,a,o){let l=vfe(e||a.defaultCode,a.map);return new ES({calendarSystem:"gregory",timeZone:r,namedTimeZoneImpl:s.namedTimeZonedImpl,locale:l,weekNumberCalculation:t,firstDay:n,weekText:i,cmdFormatter:s.cmdFormatter,defaultSeparator:o})}function f4e(r,e){let t=e.themeClasses[r.themeSystem]||nc;return new t(r)}function h4e(r){let e=r.dateProfileGeneratorClass||yf;return new e(r)}function g4e(r,e,t){return new p2(r,e,t)}function y4e(r){return oo(r,e=>e.ui)}function v4e(r,e,t){let n={"":e};for(let i in r){let s=r[i];s.sourceId&&t[s.sourceId]&&(n[i]=t[s.sourceId])}return n}function b4e(r){let{options:e}=r;return{eventUiSingleBase:Ky({display:e.eventDisplay,editable:e.editable,startEditable:e.eventStartEditable,durationEditable:e.eventDurationEditable,constraint:e.eventConstraint,overlap:typeof e.eventOverlap=="boolean"?e.eventOverlap:void 0,allow:e.eventAllow,backgroundColor:e.eventBackgroundColor,borderColor:e.eventBorderColor,textColor:e.eventTextColor,color:e.eventColor},r),selectionConfig:Ky({constraint:e.selectConstraint,overlap:typeof e.selectOverlap=="boolean"?e.selectOverlap:void 0,allow:e.selectAllow},r)}}function d2(r,e){for(let t of e.pluginHooks.isLoadingFuncs)if(t(r))return!0;return!1}function T4e(r){return Yz(r.options.businessHours,r)}function hfe(r,e){for(let t in r)console.warn(`Unknown option '${t}'`+(e?` for view '${e}'`:""))}function k4e(r,e,t,n,i,s){let a=t.build(i,void 0,!1),o=t.buildPrev(e,n,!1),l=t.buildNext(e,n,!1);return{title:s,activeButton:r.type,navUnit:r.singleUnit,isTodayEnabled:a.isValid&&!ao(e.currentRange,i),isPrevEnabled:o.isValid,isNextEnabled:l.isValid}}function w4e(r){return r.map(e=>new e)}var gWe,gfe,yfe,nc,pfe,p2,KWe,ZWe,QWe,JWe,XWe,e4e,t4e,n4e,i4e,s4e,o4e,d4e,m2,lM,f2,h2,cM,g2,y2,v2,b2,dM,Af=v(()=>{c2();kd();wS();gWe=[],gfe={code:"en",week:{dow:0,doy:4},direction:"ltr",buttonText:{prev:"prev",next:"next",prevYear:"prev year",nextYear:"next year",year:"year",today:"today",month:"month",week:"week",day:"day",list:"list"},weekText:"W",weekTextLong:"Week",closeHint:"Close",timeHint:"Time",eventHint:"Event",allDayText:"all-day",moreLinkText:"more",noEventsText:"No events to display"},yfe=Object.assign(Object.assign({},gfe),{buttonHints:{prev:"Previous $0",next:"Next $0",today(r,e){return e==="day"?"Today":`This ${r}`}},viewHint:"$0 view",navLinkHint:"Go to $0",moreLinkHint(r){return`Show ${r} more event${r===1?"":"s"}`}});nc=class extends Sd{};nc.prototype.classes={root:"fc-theme-standard",tableCellShaded:"fc-cell-shaded",buttonGroup:"fc-button-group",button:"fc-button fc-button-primary",buttonActive:"fc-button-active"};nc.prototype.baseIconClass="fc-icon";nc.prototype.iconClasses={close:"fc-icon-x",prev:"fc-icon-chevron-left",next:"fc-icon-chevron-right",prevYear:"fc-icon-chevrons-left",nextYear:"fc-icon-chevrons-right"};nc.prototype.rtlIconClasses={prev:"fc-icon-chevron-right",next:"fc-icon-chevron-left",prevYear:"fc-icon-chevrons-right",nextYear:"fc-icon-chevrons-left"};nc.prototype.iconOverrideOption="buttonIcons";nc.prototype.iconOverrideCustomButtonOption="icon";nc.prototype.iconOverridePrefix="fc-icon-";pfe={};p2=class{constructor(e,t,n){this.type=e,this.getCurrentData=t,this.dateEnv=n}get calendar(){return this.getCurrentData().calendarApi}get title(){return this.getCurrentData().viewTitle}get activeStart(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.activeRange.start)}get activeEnd(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.activeRange.end)}get currentStart(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.currentRange.start)}get currentEnd(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.currentRange.end)}getOption(e){return this.getCurrentData().options[e]}},KWe={ignoreRange:!0,parseMeta(r){return Array.isArray(r.events)?r.events:null},fetch(r,e){e({rawEvents:r.eventSource.meta})}},ZWe=Bi({name:"array-event-source",eventSourceDefs:[KWe]}),QWe={parseMeta(r){return typeof r.events=="function"?r.events:null},fetch(r,e,t){let{dateEnv:n}=r.context,i=r.eventSource.meta;Jz(i.bind(null,Qz(r.range,n)),s=>e({rawEvents:s}),t)}},JWe=Bi({name:"func-event-source",eventSourceDefs:[QWe]}),XWe={method:String,extraParams:F,startParam:String,endParam:String,timeZoneParam:String},e4e={parseMeta(r){return r.url&&(r.format==="json"||!r.format)?{url:r.url,format:"json",method:(r.method||"GET").toUpperCase(),extraParams:r.extraParams,startParam:r.startParam,endParam:r.endParam,timeZoneParam:r.timeZoneParam}:null},fetch(r,e,t){let{meta:n}=r.eventSource,i=r4e(n,r.range,r.context);Xz(n.method,n.url,i).then(([s,a])=>{e({rawEvents:s,response:a})},t)}},t4e=Bi({name:"json-event-source",eventSourceRefiners:XWe,eventSourceDefs:[e4e]});n4e={daysOfWeek:F,startTime:nt,endTime:nt,duration:nt,startRecur:F,endRecur:F},i4e={parse(r,e){if(r.daysOfWeek||r.startTime||r.endTime||r.startRecur||r.endRecur){let t={daysOfWeek:r.daysOfWeek||null,startTime:r.startTime||null,endTime:r.endTime||null,startRecur:r.startRecur?e.createMarker(r.startRecur):null,endRecur:r.endRecur?e.createMarker(r.endRecur):null,dateEnv:e},n;return r.duration&&(n=r.duration),!n&&r.startTime&&r.endTime&&(n=Eme(r.endTime,r.startTime)),{allDayGuess:!r.startTime&&!r.endTime,duration:n,typeData:t}}return null},expand(r,e,t){let n=ls(e,{start:r.startRecur,end:r.endRecur});return n?a4e(r.daysOfWeek,r.startTime,r.dateEnv,t,n):[]}},s4e=Bi({name:"simple-recurring-event",recurringTypes:[i4e],eventRefiners:n4e});o4e=Bi({name:"change-handler",optionChangeHandlers:{events(r,e){ffe([r],e)},eventSources:ffe}});d4e=[ZWe,JWe,t4e,s4e,o4e,Bi({name:"misc",isLoadingFuncs:[r=>Tfe(r.eventSources)],propSetHandlers:{dateProfile:l4e,eventStore:c4e}})],m2=class{constructor(e,t){this.runTaskOption=e,this.drainedOption=t,this.queue=[],this.delayedRunner=new gf(this.drain.bind(this))}request(e,t){this.queue.push(e),this.delayedRunner.request(t)}pause(e){this.delayedRunner.pause(e)}resume(e,t){this.delayedRunner.resume(e,t)}drain(){let{queue:e}=this;for(;e.length;){let t=[],n;for(;n=e.shift();)this.runTask(n),t.push(n);this.drained(t)}}runTask(e){this.runTaskOption&&this.runTaskOption(e)}drained(e){this.drainedOption&&this.drainedOption(e)}};lM=class{constructor(){this.resetListeners=new Set}handleInput(e,t){let n=this.dateEnv;if(e!==n&&(typeof t=="function"?this.nowFn=t:n||(this.nowAnchorDate=e.toDate(t?e.createMarker(t):e.createNowMarker()),this.nowAnchorQueried=Date.now()),this.dateEnv=e,n))for(let i of this.resetListeners.values())i()}getDateMarker(){return this.nowAnchorDate?this.dateEnv.timestampToMarker(this.nowAnchorDate.valueOf()+(Date.now()-this.nowAnchorQueried)):this.dateEnv.createMarker(this.nowFn())}addResetListener(e){this.resetListeners.add(e)}removeResetListener(e){this.resetListeners.delete(e)}},f2=class{constructor(e){this.computeCurrentViewData=Se(this._computeCurrentViewData),this.organizeRawLocales=Se(yWe),this.buildLocale=Se(vfe),this.buildPluginHooks=kWe(),this.buildDateEnv=Se(m4e),this.buildTheme=Se(f4e),this.parseToolbars=Se(YWe),this.buildViewSpecs=Se(CWe),this.buildDateProfileGenerator=Wy(h4e),this.buildViewApi=Se(g4e),this.buildViewUiProps=Wy(b4e),this.buildEventUiBySource=Se(y4e,zi),this.buildEventUiBases=Se(v4e),this.parseContextBusinessHours=Wy(T4e),this.buildTitle=Se(u4e),this.nowManager=new lM,this.emitter=new xd,this.actionRunner=new m2(this._handleAction.bind(this),this.updateData.bind(this)),this.currentCalendarOptionsInput={},this.currentCalendarOptionsRefined={},this.currentViewOptionsInput={},this.currentViewOptionsRefined={},this.currentCalendarOptionsRefiners={},this.optionsForRefining=[],this.optionsForHandling=[],this.getCurrentData=()=>this.data,this.dispatch=p=>{this.actionRunner.request(p)},this.props=e,this.actionRunner.pause(),this.nowManager=new lM;let t={},n=this.computeOptionsData(e.optionOverrides,t,e.calendarApi),i=n.calendarOptions.initialView||n.pluginHooks.initialView,s=this.computeCurrentViewData(i,n,e.optionOverrides,t);e.calendarApi.currentDataManager=this,this.emitter.setThisContext(e.calendarApi),this.emitter.setOptions(s.options);let a={nowManager:this.nowManager,dateEnv:n.dateEnv,options:n.calendarOptions,pluginHooks:n.pluginHooks,calendarApi:e.calendarApi,dispatch:this.dispatch,emitter:this.emitter,getCurrentData:this.getCurrentData},o=IWe(n.calendarOptions,n.dateEnv,this.nowManager),l=s.dateProfileGenerator.build(o);ao(l.activeRange,o)||(o=l.currentRange.start);for(let p of n.pluginHooks.contextInit)p(a);let c=OWe(n.calendarOptions,l,a),d={dynamicOptionOverrides:t,currentViewType:i,currentDate:o,dateProfile:l,businessHours:this.parseContextBusinessHours(a),eventSources:c,eventUiBases:{},eventStore:Hn(),renderableEventStore:Hn(),dateSelection:null,eventSelection:"",eventDrag:null,eventResize:null,selectionConfig:this.buildViewUiProps(a).selectionConfig},u=Object.assign(Object.assign({},a),d);for(let p of n.pluginHooks.reducers)Object.assign(d,p(null,null,u));d2(d,a)&&this.emitter.trigger("loading",!0),this.state=d,this.updateData(),this.actionRunner.resume()}resetOptions(e,t){let{props:n}=this;t===void 0?n.optionOverrides=e:(n.optionOverrides=Object.assign(Object.assign({},n.optionOverrides||{}),e),this.optionsForRefining.push(...t)),(t===void 0||t.length)&&this.actionRunner.request({type:"NOTHING"})}_handleAction(e){let{props:t,state:n,emitter:i}=this,s=NWe(n.dynamicOptionOverrides,e),a=this.computeOptionsData(t.optionOverrides,s,t.calendarApi),o=MWe(n.currentViewType,e),l=this.computeCurrentViewData(o,a,t.optionOverrides,s);t.calendarApi.currentDataManager=this,i.setThisContext(t.calendarApi),i.setOptions(l.options);let c={nowManager:this.nowManager,dateEnv:a.dateEnv,options:a.calendarOptions,pluginHooks:a.pluginHooks,calendarApi:t.calendarApi,dispatch:this.dispatch,emitter:i,getCurrentData:this.getCurrentData},{currentDate:d,dateProfile:u}=n;this.data&&this.data.dateProfileGenerator!==l.dateProfileGenerator&&(u=l.dateProfileGenerator.build(d)),d=AWe(d,e),u=RWe(u,e,d,l.dateProfileGenerator),(e.type==="PREV"||e.type==="NEXT"||!ao(u.currentRange,d))&&(d=u.currentRange.start);let p=LWe(n.eventSources,e,u,c),m=$me(n.eventStore,e,p,u,c),h=Tfe(p)&&!l.options.progressiveEventRendering&&n.renderableEventStore||m,{eventUiSingleBase:g,selectionConfig:y}=this.buildViewUiProps(c),k=this.buildEventUiBySource(p),T=this.buildEventUiBases(h.defs,g,k),w={dynamicOptionOverrides:s,currentViewType:o,currentDate:d,dateProfile:u,eventSources:p,eventStore:m,renderableEventStore:h,selectionConfig:y,eventUiBases:T,businessHours:this.parseContextBusinessHours(c),dateSelection:HWe(n.dateSelection,e),eventSelection:UWe(n.eventSelection,e),eventDrag:VWe(n.eventDrag,e),eventResize:WWe(n.eventResize,e)},S=Object.assign(Object.assign({},c),w);for(let D of a.pluginHooks.reducers)Object.assign(w,D(n,e,S));let E=d2(n,c),C=d2(w,c);!E&&C?i.trigger("loading",!0):E&&!C&&i.trigger("loading",!1),this.state=w,t.onAction&&t.onAction(e)}updateData(){let{props:e,state:t}=this,n=this.data,i=this.computeOptionsData(e.optionOverrides,t.dynamicOptionOverrides,e.calendarApi),s=this.computeCurrentViewData(t.currentViewType,i,e.optionOverrides,t.dynamicOptionOverrides),a=this.data=Object.assign(Object.assign(Object.assign({nowManager:this.nowManager,viewTitle:this.buildTitle(t.dateProfile,s.options,i.dateEnv),calendarApi:e.calendarApi,dispatch:this.dispatch,emitter:this.emitter,getCurrentData:this.getCurrentData},i),s),t),o=i.pluginHooks.optionChangeHandlers,l=n&&n.calendarOptions,c=i.calendarOptions;if(l&&l!==c){l.timeZone!==c.timeZone&&(t.eventSources=a.eventSources=FWe(a.eventSources,t.dateProfile,a),t.eventStore=a.eventStore=Wz(a.eventStore,n.dateEnv,a.dateEnv),t.renderableEventStore=a.renderableEventStore=Wz(a.renderableEventStore,n.dateEnv,a.dateEnv));for(let d in o)(this.optionsForHandling.indexOf(d)!==-1||l[d]!==c[d])&&o[d](c[d],a)}this.optionsForHandling=[],e.onData&&e.onData(a)}computeOptionsData(e,t,n){if(!this.optionsForRefining.length&&e===this.stableOptionOverrides&&t===this.stableDynamicOptionOverrides)return this.stableCalendarOptionsData;let{refinedOptions:i,pluginHooks:s,localeDefaults:a,availableLocaleData:o,extra:l}=this.processRawCalendarOptions(e,t);hfe(l);let c=this.buildDateEnv(i.timeZone,i.locale,i.weekNumberCalculation,i.firstDay,i.weekText,s,o,i.defaultRangeSeparator),d=this.buildViewSpecs(s.views,this.stableOptionOverrides,this.stableDynamicOptionOverrides,a),u=this.buildTheme(i,s),p=this.parseToolbars(i,this.stableOptionOverrides,u,d,n);return this.stableCalendarOptionsData={calendarOptions:i,pluginHooks:s,dateEnv:c,viewSpecs:d,theme:u,toolbarConfig:p,localeDefaults:a,availableRawLocales:o.map}}processRawCalendarOptions(e,t){let{locales:n,locale:i}=Q_([ec,e,t]),s=this.organizeRawLocales(n),a=s.map,o=this.buildLocale(i||s.defaultCode,a).options,l=this.buildPluginHooks(e.plugins||[],d4e),c=this.currentCalendarOptionsRefiners=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Rz),Oz),Lz),l.listenerRefiners),l.optionRefiners),d={},u=Q_([ec,o,e,t]),p={},m=this.currentCalendarOptionsInput,f=this.currentCalendarOptionsRefined,h=!1;for(let g in u)this.optionsForRefining.indexOf(g)===-1&&(u[g]===m[g]||cp[g]&&g in m&&cp[g](m[g],u[g]))?p[g]=f[g]:c[g]?(p[g]=c[g](u[g]),h=!0):d[g]=m[g];return h&&(this.currentCalendarOptionsInput=u,this.currentCalendarOptionsRefined=p,this.stableOptionOverrides=e,this.stableDynamicOptionOverrides=t),this.optionsForHandling.push(...this.optionsForRefining),this.optionsForRefining=[],{rawOptions:this.currentCalendarOptionsInput,refinedOptions:this.currentCalendarOptionsRefined,pluginHooks:l,availableLocaleData:s,localeDefaults:o,extra:d}}_computeCurrentViewData(e,t,n,i){let s=t.viewSpecs[e];if(!s)throw new Error(`viewType "${e}" is not available. Please make sure you've loaded all neccessary plugins`);let{refinedOptions:a,extra:o}=this.processRawViewOptions(s,t.pluginHooks,t.localeDefaults,n,i);hfe(o),this.nowManager.handleInput(t.dateEnv,a.now);let l=this.buildDateProfileGenerator({dateProfileGeneratorClass:s.optionDefaults.dateProfileGeneratorClass,nowManager:this.nowManager,duration:s.duration,durationUnit:s.durationUnit,usesMinMaxTime:s.optionDefaults.usesMinMaxTime,dateEnv:t.dateEnv,calendarApi:this.props.calendarApi,slotMinTime:a.slotMinTime,slotMaxTime:a.slotMaxTime,showNonCurrentDates:a.showNonCurrentDates,dayCount:a.dayCount,dateAlignment:a.dateAlignment,dateIncrement:a.dateIncrement,hiddenDays:a.hiddenDays,weekends:a.weekends,validRangeInput:a.validRange,visibleRangeInput:a.visibleRange,fixedWeekCount:a.fixedWeekCount}),c=this.buildViewApi(e,this.getCurrentData,t.dateEnv);return{viewSpec:s,options:a,dateProfileGenerator:l,viewApi:c}}processRawViewOptions(e,t,n,i,s){let a=Q_([ec,e.optionDefaults,n,i,e.optionOverrides,s]),o=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Rz),Oz),Lz),Pme),t.listenerRefiners),t.optionRefiners),l={},c=this.currentViewOptionsInput,d=this.currentViewOptionsRefined,u=!1,p={};for(let m in a)a[m]===c[m]||cp[m]&&cp[m](a[m],c[m])?l[m]=d[m]:(a[m]===this.currentCalendarOptionsInput[m]||cp[m]&&cp[m](a[m],this.currentCalendarOptionsInput[m])?m in this.currentCalendarOptionsRefined&&(l[m]=this.currentCalendarOptionsRefined[m]):o[m]?l[m]=o[m](a[m]):p[m]=a[m],u=!0);return u&&(this.currentViewOptionsInput=a,this.currentViewOptionsRefined=l),{rawOptions:this.currentViewOptionsInput,refinedOptions:this.currentViewOptionsRefined,extra:p}}};h2=class extends ht{render(){let e=this.props.widgetGroups.map(t=>this.renderWidgetGroup(t));return _("div",{className:"fc-toolbar-chunk"},...e)}renderWidgetGroup(e){let{props:t}=this,{theme:n}=this.context,i=[],s=!0;for(let a of e){let{buttonName:o,buttonClick:l,buttonText:c,buttonIcon:d,buttonHint:u}=a;if(o==="title")s=!1,i.push(_("h2",{className:"fc-toolbar-title",id:t.titleId},t.title));else{let p=o===t.activeButton,m=!t.isTodayEnabled&&o==="today"||!t.isPrevEnabled&&o==="prev"||!t.isNextEnabled&&o==="next",f=[`fc-${o}-button`,n.getClass("button")];p&&f.push(n.getClass("buttonActive")),i.push(_("button",{type:"button",title:typeof u=="function"?u(t.navUnit):u,disabled:m,"aria-pressed":p,className:f.join(" "),onClick:l},c||(d?_("span",{className:d,role:"img"}):"")))}}if(i.length>1){let a=s&&n.getClass("buttonGroup")||"";return _("div",{className:a},...i)}return i[0]}},cM=class extends ht{render(){let{model:e,extraClassName:t}=this.props,n=!1,i,s,a=e.sectionWidgets,o=a.center;return a.left?(n=!0,i=a.left):i=a.start,a.right?(n=!0,s=a.right):s=a.end,_("div",{className:[t||"","fc-toolbar",n?"fc-toolbar-ltr":""].join(" ")},this.renderSection("start",i||[]),this.renderSection("center",o||[]),this.renderSection("end",s||[]))}renderSection(e,t){let{props:n}=this;return _(h2,{key:e,widgetGroups:t,title:n.title,navUnit:n.navUnit,activeButton:n.activeButton,isTodayEnabled:n.isTodayEnabled,isPrevEnabled:n.isPrevEnabled,isNextEnabled:n.isNextEnabled,titleId:n.titleId})}},g2=class extends ht{constructor(){super(...arguments),this.state={availableWidth:null},this.handleEl=e=>{this.el=e,xa(this.props.elRef,e),this.updateAvailableWidth()},this.handleResize=()=>{this.updateAvailableWidth()}}render(){let{props:e,state:t}=this,{aspectRatio:n}=e,i=["fc-view-harness",n||e.liquid||e.height?"fc-view-harness-active":"fc-view-harness-passive"],s="",a="";return n?t.availableWidth!==null?s=t.availableWidth/n:a=`${1/n*100}%`:s=e.height||"",_("div",{"aria-labelledby":e.labeledById,ref:this.handleEl,className:i.join(" "),style:{height:s,paddingBottom:a}},e.children)}componentDidMount(){this.context.addResizeHandler(this.handleResize)}componentWillUnmount(){this.context.removeResizeHandler(this.handleResize)}updateAvailableWidth(){this.el&&this.props.aspectRatio&&this.setState({availableWidth:this.el.offsetWidth})}},y2=class extends el{constructor(e){super(e),this.handleSegClick=(t,n)=>{let{component:i}=this,{context:s}=i,a=Pd(n);if(a&&i.isValidSegDownEl(t.target)){let o=qn(t.target,".fc-event-forced-url"),l=o?o.querySelector("a[href]").href:"";s.emitter.trigger("eventClick",{el:n,event:new wr(i.context,a.eventRange.def,a.eventRange.instance),jsEvent:t,view:s.viewApi}),l&&!t.defaultPrevented&&(window.location.href=l)}},this.destroy=wz(e.el,"click",".fc-event",this.handleSegClick)}},v2=class extends el{constructor(e){super(e),this.handleEventElRemove=t=>{t===this.currentSegEl&&this.handleSegLeave(null,this.currentSegEl)},this.handleSegEnter=(t,n)=>{Pd(n)&&(this.currentSegEl=n,this.triggerEvent("eventMouseEnter",t,n))},this.handleSegLeave=(t,n)=>{this.currentSegEl&&(this.currentSegEl=null,this.triggerEvent("eventMouseLeave",t,n))},this.removeHoverListeners=bme(e.el,".fc-event",this.handleSegEnter,this.handleSegLeave)}destroy(){this.removeHoverListeners()}triggerEvent(e,t,n){let{component:i}=this,{context:s}=i,a=Pd(n);(!t||i.isValidSegDownEl(t.target))&&s.emitter.trigger(e,{el:n,event:new wr(s,a.eventRange.def,a.eventRange.instance),jsEvent:t,view:s.viewApi})}},b2=class extends Kl{constructor(){super(...arguments),this.buildViewContext=Se(Nme),this.buildViewPropTransformers=Se(w4e),this.buildToolbarProps=Se(k4e),this.headerRef=nn(),this.footerRef=nn(),this.interactionsStore={},this.state={viewLabelId:Fs()},this.registerInteractiveComponent=(e,t)=>{let n=Ume(e,t),a=[y2,v2].concat(this.props.pluginHooks.componentInteractions).map(o=>new o(n));this.interactionsStore[e.uid]=a,_f[e.uid]=n},this.unregisterInteractiveComponent=e=>{let t=this.interactionsStore[e.uid];if(t){for(let n of t)n.destroy();delete this.interactionsStore[e.uid]}delete _f[e.uid]},this.resizeRunner=new gf(()=>{this.props.emitter.trigger("_resize",!0),this.props.emitter.trigger("windowResize",{view:this.props.viewApi})}),this.handleWindowResize=e=>{let{options:t}=this.props;t.handleWindowResize&&e.target===window&&this.resizeRunner.request(t.windowResizeDelay)}}render(){let{props:e}=this,{toolbarConfig:t,options:n}=e,i=!1,s="",a;e.isHeightAuto||e.forPrint?s="":n.height!=null?i=!0:n.contentHeight!=null?s=n.contentHeight:a=Math.max(n.aspectRatio,.5);let o=this.buildViewContext(e.viewSpec,e.viewApi,e.options,e.dateProfileGenerator,e.dateEnv,e.nowManager,e.theme,e.pluginHooks,e.dispatch,e.getCurrentData,e.emitter,e.calendarApi,this.registerInteractiveComponent,this.unregisterInteractiveComponent),l=t.header&&t.header.hasTitle?this.state.viewLabelId:void 0;return _(lo.Provider,{value:o},_(Os,{unit:"day"},c=>{let d=this.buildToolbarProps(e.viewSpec,e.dateProfile,e.dateProfileGenerator,e.currentDate,c,e.viewTitle);return _(jt,null,t.header&&_(cM,Object.assign({ref:this.headerRef,extraClassName:"fc-header-toolbar",model:t.header,titleId:l},d)),_(g2,{liquid:i,height:s,aspectRatio:a,labeledById:l},this.renderView(e),this.buildAppendContent()),t.footer&&_(cM,Object.assign({ref:this.footerRef,extraClassName:"fc-footer-toolbar",model:t.footer,titleId:""},d)))}))}componentDidMount(){let{props:e}=this;this.calendarInteractions=e.pluginHooks.calendarInteractions.map(n=>new n(e)),window.addEventListener("resize",this.handleWindowResize);let{propSetHandlers:t}=e.pluginHooks;for(let n in t)t[n](e[n],e)}componentDidUpdate(e){let{props:t}=this,{propSetHandlers:n}=t.pluginHooks;for(let i in n)t[i]!==e[i]&&n[i](t[i],t)}componentWillUnmount(){window.removeEventListener("resize",this.handleWindowResize),this.resizeRunner.clear();for(let e of this.calendarInteractions)e.destroy();this.props.emitter.trigger("_unmount")}buildAppendContent(){let{props:e}=this,t=e.pluginHooks.viewContainerAppends.map(n=>n(e));return _(jt,{},...t)}renderView(e){let{pluginHooks:t}=e,{viewSpec:n}=e,i={dateProfile:e.dateProfile,businessHours:e.businessHours,eventStore:e.renderableEventStore,eventUiBases:e.eventUiBases,dateSelection:e.dateSelection,eventSelection:e.eventSelection,eventDrag:e.eventDrag,eventResize:e.eventResize,isHeightAuto:e.isHeightAuto,forPrint:e.forPrint},s=this.buildViewPropTransformers(t.viewPropsTransformers);for(let o of s)Object.assign(i,o.transform(i,e));let a=n.component;return _(a,Object.assign({},i))}};dM=class extends AS{constructor(e,t={}){super(),this.isRendering=!1,this.isRendered=!1,this.currentClassNames=[],this.customContentRenderId=0,this.handleAction=n=>{switch(n.type){case"SET_EVENT_DRAG":case"SET_EVENT_RESIZE":this.renderRunner.tryDrain()}},this.handleData=n=>{this.currentData=n,this.renderRunner.request(n.calendarOptions.rerenderDelay)},this.handleRenderRequest=()=>{if(this.isRendering){this.isRendered=!0;let{currentData:n}=this;DS(()=>{ep(_(MS,{options:n.calendarOptions,theme:n.theme,emitter:n.emitter},(i,s,a,o)=>(this.setClassNames(i),this.setHeight(s),_(jz.Provider,{value:this.customContentRenderId},_(b2,Object.assign({isHeightAuto:a,forPrint:o},n))))),this.el)})}else this.isRendered&&(this.isRendered=!1,ep(null,this.el),this.setClassNames([]),this.setHeight(""))},hme(e),this.el=e,this.renderRunner=new gf(this.handleRenderRequest),new f2({optionOverrides:t,calendarApi:this,onAction:this.handleAction,onData:this.handleData})}render(){let e=this.isRendering;e?this.customContentRenderId+=1:this.isRendering=!0,this.renderRunner.request(),e&&this.updateSize()}destroy(){this.isRendering&&(this.isRendering=!1,this.renderRunner.request())}updateSize(){DS(()=>{super.updateSize()})}batchRendering(e){this.renderRunner.pause("batchRendering"),e(),this.renderRunner.resume("batchRendering")}pauseRendering(){this.renderRunner.pause("pauseRendering")}resumeRendering(){this.renderRunner.resume("pauseRendering",!0)}resetOptions(e,t){this.currentDataManager.resetOptions(e,t)}setClassNames(e){if(!Jl(e,this.currentClassNames)){let{classList:t}=this.el;for(let n of this.currentClassNames)t.remove(n);for(let n of e)t.add(n);this.currentClassNames=e}}setHeight(e){kz(this.el,"height",e)}}});var If=v(()=>{c2();kd();wS()});function S4e(r){return r.button===0&&!r.ctrlKey}function x4e(){k2+=1,setTimeout(()=>{k2-=1},Jy.touchMouseIgnoreWait)}function E4e(){uM+=1,uM===1&&window.addEventListener("touchmove",Dfe,{passive:!1})}function D4e(){uM-=1,uM||window.removeEventListener("touchmove",Dfe,{passive:!1})}function Dfe(r){w2&&r.preventDefault()}function C4e(r){let e=r.tagName;return e==="HTML"||e==="BODY"}function gM(r,e){return!r&&!e?!0:!!r!=!!e?!1:Zz(r.dateSpan,e.dateSpan)}function I2(r,e){let t={};for(let n of e.pluginHooks.datePointTransforms)Object.assign(t,n(r,e));return Object.assign(t,P4e(r,e.dateEnv)),t}function P4e(r,e){return{date:e.toDate(r.range.start),dateStr:e.formatIso(r.range.start,{omitTime:r.allDay}),allDay:r.allDay}}function _4e(r){let{options:e}=r.context,t=e.selectLongPressDelay;return t==null&&(t=e.longPressDelay),t}function M4e(r,e,t){let n=r.dateSpan,i=e.dateSpan,s=[n.range.start,n.range.end,i.range.start,i.range.end];s.sort(Pz);let a={};for(let o of t){let l=o(r,e);if(l===!1)return null;l&&Object.assign(a,l)}return a.range={start:s[0],end:s[3]},a.allDay=n.allDay,a}function A4e(r,e,t,n){let i=r.dateSpan,s=e.dateSpan,a=i.range.start,o=s.range.start,l={};i.allDay!==s.allDay&&(l.allDay=s.allDay,l.hasEnd=e.context.options.allDayMaintainDuration,s.allDay?a=ar(t):a=t);let c=ip(a,o,r.context.dateEnv,r.componentId===e.componentId?r.largeUnit:null);c.milliseconds&&(l.allDay=!1);let d={datesDelta:c,standardProps:l};for(let u of n)u(d,r,e);return d}function I4e(r){let{options:e}=r.context,t=e.eventLongPressDelay;return t==null&&(t=e.longPressDelay),t}function N4e(r,e,t,n){let i=r.context.dateEnv,s=r.dateSpan.range.start,a=e.dateSpan.range.start,o=ip(s,a,i,r.largeUnit);if(t){if(i.add(n.start,o)<n.end)return{startDelta:o}}else if(i.add(n.end,o)>n.start)return{endDelta:o};return null}function L4e(r,e,t){let n=Object.assign({},e.leftoverProps);for(let d of t.pluginHooks.externalDefTransforms)Object.assign(n,d(r,e));let{refined:i,extra:s}=HS(n,t),a=jy(i,s,e.sourceId,r.allDay,t.options.forceEventDuration||!!e.duration,t),o=r.range.start;r.allDay&&e.startTime&&(o=t.dateEnv.add(o,e.startTime));let l=e.duration?t.dateEnv.add(o,e.duration):_S(r.allDay,o,t),c=Gy(a.defId,{start:o,end:l});return{def:a,instance:c}}function F4e(r){let e=$4e(r,"event"),t=e?JSON.parse(e):{create:!1};return QS(t)}function $4e(r,e){let t=Jy.dataAttrPrefix,n=(t?t+"-":"")+e;return r.getAttribute("data-"+n)||""}var k2,uM,w2,pM,S2,mM,fM,x2,Efe,E2,up,D2,Nf,C2,P2,nx,_2,M2,R4e,O4e,A2,hM,Cfe,N2=v(()=>{Af();If();Jy.touchMouseIgnoreWait=500;k2=0,uM=0,w2=!1,pM=class{constructor(e){this.subjectEl=null,this.selector="",this.handleSelector="",this.shouldIgnoreMove=!1,this.shouldWatchScroll=!0,this.isDragging=!1,this.isTouchDragging=!1,this.wasTouchScroll=!1,this.handleMouseDown=t=>{if(!this.shouldIgnoreMouse()&&S4e(t)&&this.tryStart(t)){let n=this.createEventFromMouse(t,!0);this.emitter.trigger("pointerdown",n),this.initScrollWatch(n),this.shouldIgnoreMove||document.addEventListener("mousemove",this.handleMouseMove),document.addEventListener("mouseup",this.handleMouseUp)}},this.handleMouseMove=t=>{let n=this.createEventFromMouse(t);this.recordCoords(n),this.emitter.trigger("pointermove",n)},this.handleMouseUp=t=>{document.removeEventListener("mousemove",this.handleMouseMove),document.removeEventListener("mouseup",this.handleMouseUp),this.emitter.trigger("pointerup",this.createEventFromMouse(t)),this.cleanup()},this.handleTouchStart=t=>{if(this.tryStart(t)){this.isTouchDragging=!0;let n=this.createEventFromTouch(t,!0);this.emitter.trigger("pointerdown",n),this.initScrollWatch(n);let i=t.target;this.shouldIgnoreMove||i.addEventListener("touchmove",this.handleTouchMove),i.addEventListener("touchend",this.handleTouchEnd),i.addEventListener("touchcancel",this.handleTouchEnd),window.addEventListener("scroll",this.handleTouchScroll,!0)}},this.handleTouchMove=t=>{let n=this.createEventFromTouch(t);this.recordCoords(n),this.emitter.trigger("pointermove",n)},this.handleTouchEnd=t=>{if(this.isDragging){let n=t.target;n.removeEventListener("touchmove",this.handleTouchMove),n.removeEventListener("touchend",this.handleTouchEnd),n.removeEventListener("touchcancel",this.handleTouchEnd),window.removeEventListener("scroll",this.handleTouchScroll,!0),this.emitter.trigger("pointerup",this.createEventFromTouch(t)),this.cleanup(),this.isTouchDragging=!1,x4e()}},this.handleTouchScroll=()=>{this.wasTouchScroll=!0},this.handleScroll=t=>{if(!this.shouldIgnoreMove){let n=window.scrollX-this.prevScrollX+this.prevPageX,i=window.scrollY-this.prevScrollY+this.prevPageY;this.emitter.trigger("pointermove",{origEvent:t,isTouch:this.isTouchDragging,subjectEl:this.subjectEl,pageX:n,pageY:i,deltaX:n-this.origPageX,deltaY:i-this.origPageY})}},this.containerEl=e,this.emitter=new xd,e.addEventListener("mousedown",this.handleMouseDown),e.addEventListener("touchstart",this.handleTouchStart,{passive:!0}),E4e()}destroy(){this.containerEl.removeEventListener("mousedown",this.handleMouseDown),this.containerEl.removeEventListener("touchstart",this.handleTouchStart,{passive:!0}),D4e()}tryStart(e){let t=this.querySubjectEl(e),n=e.target;return t&&(!this.handleSelector||qn(n,this.handleSelector))?(this.subjectEl=t,this.isDragging=!0,this.wasTouchScroll=!1,!0):!1}cleanup(){w2=!1,this.isDragging=!1,this.subjectEl=null,this.destroyScrollWatch()}querySubjectEl(e){return this.selector?qn(e.target,this.selector):this.containerEl}shouldIgnoreMouse(){return k2||this.isTouchDragging}cancelTouchScroll(){this.isDragging&&(w2=!0)}initScrollWatch(e){this.shouldWatchScroll&&(this.recordCoords(e),window.addEventListener("scroll",this.handleScroll,!0))}recordCoords(e){this.shouldWatchScroll&&(this.prevPageX=e.pageX,this.prevPageY=e.pageY,this.prevScrollX=window.scrollX,this.prevScrollY=window.scrollY)}destroyScrollWatch(){this.shouldWatchScroll&&window.removeEventListener("scroll",this.handleScroll,!0)}createEventFromMouse(e,t){let n=0,i=0;return t?(this.origPageX=e.pageX,this.origPageY=e.pageY):(n=e.pageX-this.origPageX,i=e.pageY-this.origPageY),{origEvent:e,isTouch:!1,subjectEl:this.subjectEl,pageX:e.pageX,pageY:e.pageY,deltaX:n,deltaY:i}}createEventFromTouch(e,t){let n=e.touches,i,s,a=0,o=0;return n&&n.length?(i=n[0].pageX,s=n[0].pageY):(i=e.pageX,s=e.pageY),t?(this.origPageX=i,this.origPageY=s):(a=i-this.origPageX,o=s-this.origPageY),{origEvent:e,isTouch:!0,subjectEl:this.subjectEl,pageX:i,pageY:s,deltaX:a,deltaY:o}}};S2=class{constructor(){this.isVisible=!1,this.sourceEl=null,this.mirrorEl=null,this.sourceElRect=null,this.parentNode=document.body,this.zIndex=9999,this.revertDuration=0}start(e,t,n){this.sourceEl=e,this.sourceElRect=this.sourceEl.getBoundingClientRect(),this.origScreenX=t-window.scrollX,this.origScreenY=n-window.scrollY,this.deltaX=0,this.deltaY=0,this.updateElPosition()}handleMove(e,t){this.deltaX=e-window.scrollX-this.origScreenX,this.deltaY=t-window.scrollY-this.origScreenY,this.updateElPosition()}setIsVisible(e){e?this.isVisible||(this.mirrorEl&&(this.mirrorEl.style.display=""),this.isVisible=e,this.updateElPosition()):this.isVisible&&(this.mirrorEl&&(this.mirrorEl.style.display="none"),this.isVisible=e)}stop(e,t){let n=()=>{this.cleanup(),t()};e&&this.mirrorEl&&this.isVisible&&this.revertDuration&&(this.deltaX||this.deltaY)?this.doRevertAnimation(n,this.revertDuration):setTimeout(n,0)}doRevertAnimation(e,t){let n=this.mirrorEl,i=this.sourceEl.getBoundingClientRect();n.style.transition="top "+t+"ms,left "+t+"ms",Cf(n,{left:i.left,top:i.top}),Sz(n,()=>{n.style.transition="",e()})}cleanup(){this.mirrorEl&&($S(this.mirrorEl),this.mirrorEl=null),this.sourceEl=null}updateElPosition(){this.sourceEl&&this.isVisible&&Cf(this.getMirrorEl(),{left:this.sourceElRect.left+this.deltaX,top:this.sourceElRect.top+this.deltaY})}getMirrorEl(){let e=this.sourceElRect,t=this.mirrorEl;return t||(t=this.mirrorEl=this.sourceEl.cloneNode(!0),t.style.userSelect="none",t.style.webkitUserSelect="none",t.style.pointerEvents="none",t.classList.add("fc-event-dragging"),Cf(t,{position:"fixed",zIndex:this.zIndex,visibility:"",boxSizing:"border-box",width:e.right-e.left,height:e.bottom-e.top,right:"auto",bottom:"auto",margin:0}),this.parentNode.appendChild(t)),t}},mM=class extends Tf{constructor(e,t){super(),this.handleScroll=()=>{this.scrollTop=this.scrollController.getScrollTop(),this.scrollLeft=this.scrollController.getScrollLeft(),this.handleScrollChange()},this.scrollController=e,this.doesListening=t,this.scrollTop=this.origScrollTop=e.getScrollTop(),this.scrollLeft=this.origScrollLeft=e.getScrollLeft(),this.scrollWidth=e.getScrollWidth(),this.scrollHeight=e.getScrollHeight(),this.clientWidth=e.getClientWidth(),this.clientHeight=e.getClientHeight(),this.clientRect=this.computeClientRect(),this.doesListening&&this.getEventTarget().addEventListener("scroll",this.handleScroll)}destroy(){this.doesListening&&this.getEventTarget().removeEventListener("scroll",this.handleScroll)}getScrollTop(){return this.scrollTop}getScrollLeft(){return this.scrollLeft}setScrollTop(e){this.scrollController.setScrollTop(e),this.doesListening||(this.scrollTop=Math.max(Math.min(e,this.getMaxScrollTop()),0),this.handleScrollChange())}setScrollLeft(e){this.scrollController.setScrollLeft(e),this.doesListening||(this.scrollLeft=Math.max(Math.min(e,this.getMaxScrollLeft()),0),this.handleScrollChange())}getClientWidth(){return this.clientWidth}getClientHeight(){return this.clientHeight}getScrollWidth(){return this.scrollWidth}getScrollHeight(){return this.scrollHeight}handleScrollChange(){}},fM=class extends mM{constructor(e,t){super(new NS(e),t)}getEventTarget(){return this.scrollController.el}computeClientRect(){return s2(this.scrollController.el)}},x2=class extends mM{constructor(e){super(new RS,e)}getEventTarget(){return window}computeClientRect(){return{left:this.scrollLeft,right:this.scrollLeft+this.clientWidth,top:this.scrollTop,bottom:this.scrollTop+this.clientHeight}}handleScrollChange(){this.clientRect=this.computeClientRect()}},Efe=typeof performance=="function"?performance.now:Date.now,E2=class{constructor(){this.isEnabled=!0,this.scrollQuery=[window,".fc-scroller"],this.edgeThreshold=50,this.maxVelocity=300,this.pointerScreenX=null,this.pointerScreenY=null,this.isAnimating=!1,this.scrollCaches=null,this.everMovedUp=!1,this.everMovedDown=!1,this.everMovedLeft=!1,this.everMovedRight=!1,this.animate=()=>{if(this.isAnimating){let e=this.computeBestEdge(this.pointerScreenX+window.scrollX,this.pointerScreenY+window.scrollY);if(e){let t=Efe();this.handleSide(e,(t-this.msSinceRequest)/1e3),this.requestAnimation(t)}else this.isAnimating=!1}}}start(e,t,n){this.isEnabled&&(this.scrollCaches=this.buildCaches(n),this.pointerScreenX=null,this.pointerScreenY=null,this.everMovedUp=!1,this.everMovedDown=!1,this.everMovedLeft=!1,this.everMovedRight=!1,this.handleMove(e,t))}handleMove(e,t){if(this.isEnabled){let n=e-window.scrollX,i=t-window.scrollY,s=this.pointerScreenY===null?0:i-this.pointerScreenY,a=this.pointerScreenX===null?0:n-this.pointerScreenX;s<0?this.everMovedUp=!0:s>0&&(this.everMovedDown=!0),a<0?this.everMovedLeft=!0:a>0&&(this.everMovedRight=!0),this.pointerScreenX=n,this.pointerScreenY=i,this.isAnimating||(this.isAnimating=!0,this.requestAnimation(Efe()))}}stop(){if(this.isEnabled){this.isAnimating=!1;for(let e of this.scrollCaches)e.destroy();this.scrollCaches=null}}requestAnimation(e){this.msSinceRequest=e,requestAnimationFrame(this.animate)}handleSide(e,t){let{scrollCache:n}=e,{edgeThreshold:i}=this,s=i-e.distance,a=s*s/(i*i)*this.maxVelocity*t,o=1;switch(e.name){case"left":o=-1;case"right":n.setScrollLeft(n.getScrollLeft()+a*o);break;case"top":o=-1;case"bottom":n.setScrollTop(n.getScrollTop()+a*o);break}}computeBestEdge(e,t){let{edgeThreshold:n}=this,i=null,s=this.scrollCaches||[];for(let a of s){let o=a.clientRect,l=e-o.left,c=o.right-e,d=t-o.top,u=o.bottom-t;l>=0&&c>=0&&d>=0&&u>=0&&(d<=n&&this.everMovedUp&&a.canScrollUp()&&(!i||i.distance>d)&&(i={scrollCache:a,name:"top",distance:d}),u<=n&&this.everMovedDown&&a.canScrollDown()&&(!i||i.distance>u)&&(i={scrollCache:a,name:"bottom",distance:u}),l<=n&&this.everMovedLeft&&a.canScrollLeft()&&(!i||i.distance>l)&&(i={scrollCache:a,name:"left",distance:l}),c<=n&&this.everMovedRight&&a.canScrollRight()&&(!i||i.distance>c)&&(i={scrollCache:a,name:"right",distance:c}))}return i}buildCaches(e){return this.queryScrollEls(e).map(t=>t===window?new x2(!1):new fM(t,!1))}queryScrollEls(e){let t=[];for(let n of this.scrollQuery)typeof n=="object"?t.push(n):t.push(...Array.prototype.slice.call(e.getRootNode().querySelectorAll(n)));return t}},up=class extends FS{constructor(e,t){super(e),this.containerEl=e,this.delay=null,this.minDistance=0,this.touchScrollAllowed=!0,this.mirrorNeedsRevert=!1,this.isInteracting=!1,this.isDragging=!1,this.isDelayEnded=!1,this.isDistanceSurpassed=!1,this.delayTimeoutId=null,this.onPointerDown=i=>{this.isDragging||(this.isInteracting=!0,this.isDelayEnded=!1,this.isDistanceSurpassed=!1,xz(document.body),Dz(document.body),i.isTouch||i.origEvent.preventDefault(),this.emitter.trigger("pointerdown",i),this.isInteracting&&!this.pointer.shouldIgnoreMove&&(this.mirror.setIsVisible(!1),this.mirror.start(i.subjectEl,i.pageX,i.pageY),this.startDelay(i),this.minDistance||this.handleDistanceSurpassed(i)))},this.onPointerMove=i=>{if(this.isInteracting){if(this.emitter.trigger("pointermove",i),!this.isDistanceSurpassed){let s=this.minDistance,a,{deltaX:o,deltaY:l}=i;a=o*o+l*l,a>=s*s&&this.handleDistanceSurpassed(i)}this.isDragging&&(i.origEvent.type!=="scroll"&&(this.mirror.handleMove(i.pageX,i.pageY),this.autoScroller.handleMove(i.pageX,i.pageY)),this.emitter.trigger("dragmove",i))}},this.onPointerUp=i=>{this.isInteracting&&(this.isInteracting=!1,Ez(document.body),Cz(document.body),this.emitter.trigger("pointerup",i),this.isDragging&&(this.autoScroller.stop(),this.tryStopDrag(i)),this.delayTimeoutId&&(clearTimeout(this.delayTimeoutId),this.delayTimeoutId=null))};let n=this.pointer=new pM(e);n.emitter.on("pointerdown",this.onPointerDown),n.emitter.on("pointermove",this.onPointerMove),n.emitter.on("pointerup",this.onPointerUp),t&&(n.selector=t),this.mirror=new S2,this.autoScroller=new E2}destroy(){this.pointer.destroy(),this.onPointerUp({})}startDelay(e){typeof this.delay=="number"?this.delayTimeoutId=setTimeout(()=>{this.delayTimeoutId=null,this.handleDelayEnd(e)},this.delay):this.handleDelayEnd(e)}handleDelayEnd(e){this.isDelayEnded=!0,this.tryStartDrag(e)}handleDistanceSurpassed(e){this.isDistanceSurpassed=!0,this.tryStartDrag(e)}tryStartDrag(e){this.isDelayEnded&&this.isDistanceSurpassed&&(!this.pointer.wasTouchScroll||this.touchScrollAllowed)&&(this.isDragging=!0,this.mirrorNeedsRevert=!1,this.autoScroller.start(e.pageX,e.pageY,this.containerEl),this.emitter.trigger("dragstart",e),this.touchScrollAllowed===!1&&this.pointer.cancelTouchScroll())}tryStopDrag(e){this.mirror.stop(this.mirrorNeedsRevert,this.stopDrag.bind(this,e))}stopDrag(e){this.isDragging=!1,this.emitter.trigger("dragend",e)}setIgnoreMove(e){this.pointer.shouldIgnoreMove=e}setMirrorIsVisible(e){this.mirror.setIsVisible(e)}setMirrorNeedsRevert(e){this.mirrorNeedsRevert=e}setAutoScrollEnabled(e){this.autoScroller.isEnabled=e}},D2=class{constructor(e){this.el=e,this.origRect=KS(e),this.scrollCaches=aM(e).map(t=>new fM(t,!0))}destroy(){for(let e of this.scrollCaches)e.destroy()}computeLeft(){let e=this.origRect.left;for(let t of this.scrollCaches)e+=t.origScrollLeft-t.getScrollLeft();return e}computeTop(){let e=this.origRect.top;for(let t of this.scrollCaches)e+=t.origScrollTop-t.getScrollTop();return e}isWithinClipping(e,t){let n={left:e,top:t};for(let i of this.scrollCaches)if(!C4e(i.getEventTarget())&&!t2(n,i.clientRect))return!1;return!0}};Nf=class{constructor(e,t){this.useSubjectCenter=!1,this.requireInitial=!0,this.disablePointCheck=!1,this.initialHit=null,this.movingHit=null,this.finalHit=null,this.handlePointerDown=n=>{let{dragging:i}=this;this.initialHit=null,this.movingHit=null,this.finalHit=null,this.prepareHits(),this.processFirstCoord(n),this.initialHit||!this.requireInitial?(i.setIgnoreMove(!1),this.emitter.trigger("pointerdown",n)):i.setIgnoreMove(!0)},this.handleDragStart=n=>{this.emitter.trigger("dragstart",n),this.handleMove(n,!0)},this.handleDragMove=n=>{this.emitter.trigger("dragmove",n),this.handleMove(n)},this.handlePointerUp=n=>{this.releaseHits(),this.emitter.trigger("pointerup",n)},this.handleDragEnd=n=>{this.movingHit&&this.emitter.trigger("hitupdate",null,!0,n),this.finalHit=this.movingHit,this.movingHit=null,this.emitter.trigger("dragend",n)},this.droppableStore=t,e.emitter.on("pointerdown",this.handlePointerDown),e.emitter.on("dragstart",this.handleDragStart),e.emitter.on("dragmove",this.handleDragMove),e.emitter.on("pointerup",this.handlePointerUp),e.emitter.on("dragend",this.handleDragEnd),this.dragging=e,this.emitter=new xd}processFirstCoord(e){let t={left:e.pageX,top:e.pageY},n=t,i=e.subjectEl,s;i instanceof HTMLElement&&(s=KS(i),n=r2(n,s));let a=this.initialHit=this.queryHitForOffset(n.left,n.top);if(a){if(this.useSubjectCenter&&s){let o=sM(s,a.rect);o&&(n=n2(o))}this.coordAdjust=i2(n,t)}else this.coordAdjust={left:0,top:0}}handleMove(e,t){let n=this.queryHitForOffset(e.pageX+this.coordAdjust.left,e.pageY+this.coordAdjust.top);(t||!gM(this.movingHit,n))&&(this.movingHit=n,this.emitter.trigger("hitupdate",n,!1,e))}prepareHits(){this.offsetTrackers=oo(this.droppableStore,e=>(e.component.prepareHits(),new D2(e.el)))}releaseHits(){let{offsetTrackers:e}=this;for(let t in e)e[t].destroy();this.offsetTrackers={}}queryHitForOffset(e,t){let{droppableStore:n,offsetTrackers:i}=this,s=null;for(let a in n){let o=n[a].component,l=i[a];if(l&&l.isWithinClipping(e,t)){let c=l.computeLeft(),d=l.computeTop(),u=e-c,p=t-d,{origRect:m}=l,f=m.right-m.left,h=m.bottom-m.top;if(u>=0&&u<f&&p>=0&&p<h){let g=o.queryHit(u,p,f,h);g&&Yy(g.dateProfile.activeRange,g.dateSpan.range)&&(this.disablePointCheck||l.el.contains(l.el.getRootNode().elementFromPoint(u+c-window.scrollX,p+d-window.scrollY)))&&(!s||g.layer>s.layer)&&(g.componentId=a,g.context=o.context,g.rect.left+=c,g.rect.right+=c,g.rect.top+=d,g.rect.bottom+=d,s=g)}}}return s}};C2=class extends el{constructor(e){super(e),this.handlePointerDown=n=>{let{dragging:i}=this,s=n.origEvent.target;i.setIgnoreMove(!this.component.isValidDateDownEl(s))},this.handleDragEnd=n=>{let{component:i}=this,{pointer:s}=this.dragging;if(!s.wasTouchScroll){let{initialHit:a,finalHit:o}=this.hitDragging;if(a&&o&&gM(a,o)){let{context:l}=i,c=Object.assign(Object.assign({},I2(a.dateSpan,l)),{dayEl:a.dayEl,jsEvent:n.origEvent,view:l.viewApi||l.calendarApi.view});l.emitter.trigger("dateClick",c)}}},this.dragging=new up(e.el),this.dragging.autoScroller.isEnabled=!1;let t=this.hitDragging=new Nf(this.dragging,YS(e));t.emitter.on("pointerdown",this.handlePointerDown),t.emitter.on("dragend",this.handleDragEnd)}destroy(){this.dragging.destroy()}},P2=class extends el{constructor(e){super(e),this.dragSelection=null,this.handlePointerDown=a=>{let{component:o,dragging:l}=this,{options:c}=o.context,d=c.selectable&&o.isValidDateDownEl(a.origEvent.target);l.setIgnoreMove(!d),l.delay=a.isTouch?_4e(o):null},this.handleDragStart=a=>{this.component.context.calendarApi.unselect(a)},this.handleHitUpdate=(a,o)=>{let{context:l}=this.component,c=null,d=!1;if(a){let u=this.hitDragging.initialHit;a.componentId===u.componentId&&this.isHitComboAllowed&&!this.isHitComboAllowed(u,a)||(c=M4e(u,a,l.pluginHooks.dateSelectionTransformers)),(!c||!o2(c,a.dateProfile,l))&&(d=!0,c=null)}c?l.dispatch({type:"SELECT_DATES",selection:c}):o||l.dispatch({type:"UNSELECT_DATES"}),d?qy():Hy(),o||(this.dragSelection=c)},this.handlePointerUp=a=>{this.dragSelection&&(iM(this.dragSelection,a,this.component.context),this.dragSelection=null)};let{component:t}=e,{options:n}=t.context,i=this.dragging=new up(e.el);i.touchScrollAllowed=!1,i.minDistance=n.selectMinDistance||0,i.autoScroller.isEnabled=n.dragScroll;let s=this.hitDragging=new Nf(this.dragging,YS(e));s.emitter.on("pointerdown",this.handlePointerDown),s.emitter.on("dragstart",this.handleDragStart),s.emitter.on("hitupdate",this.handleHitUpdate),s.emitter.on("pointerup",this.handlePointerUp)}destroy(){this.dragging.destroy()}};nx=class r extends el{constructor(e){super(e),this.subjectEl=null,this.subjectSeg=null,this.isDragging=!1,this.eventRange=null,this.relevantEvents=null,this.receivingContext=null,this.validMutation=null,this.mutatedRelevantEvents=null,this.handlePointerDown=a=>{let o=a.origEvent.target,{component:l,dragging:c}=this,{mirror:d}=c,{options:u}=l.context,p=l.context;this.subjectEl=a.subjectEl;let m=this.subjectSeg=Pd(a.subjectEl),h=(this.eventRange=m.eventRange).instance.instanceId;this.relevantEvents=US(p.getCurrentData().eventStore,h),c.minDistance=a.isTouch?0:u.eventDragMinDistance,c.delay=a.isTouch&&h!==l.props.eventSelection?I4e(l):null,u.fixedMirrorParent?d.parentNode=u.fixedMirrorParent:d.parentNode=qn(o,".fc"),d.revertDuration=u.dragRevertDuration;let g=l.isValidSegDownEl(o)&&!qn(o,".fc-event-resizer");c.setIgnoreMove(!g),this.isDragging=g&&a.subjectEl.classList.contains("fc-event-draggable")},this.handleDragStart=a=>{let o=this.component.context,l=this.eventRange,c=l.instance.instanceId;a.isTouch?c!==this.component.props.eventSelection&&o.dispatch({type:"SELECT_EVENT",eventInstanceId:c}):o.dispatch({type:"UNSELECT_EVENT"}),this.isDragging&&(o.calendarApi.unselect(a),o.emitter.trigger("eventDragStart",{el:this.subjectEl,event:new wr(o,l.def,l.instance),jsEvent:a.origEvent,view:o.viewApi}))},this.handleHitUpdate=(a,o)=>{if(!this.isDragging)return;let l=this.relevantEvents,c=this.hitDragging.initialHit,d=this.component.context,u=null,p=null,m=null,f=!1,h={affectedEvents:l,mutatedEvents:Hn(),isEvent:!0};if(a){u=a.context;let g=u.options;d===u||g.editable&&g.droppable?(p=A4e(c,a,this.eventRange.instance.range.start,u.getCurrentData().pluginHooks.eventDragMutationMassagers),p&&(m=VS(l,u.getCurrentData().eventUiBases,p,u),h.mutatedEvents=m,JS(h,a.dateProfile,u)||(f=!0,p=null,m=null,h.mutatedEvents=Hn()))):u=null}this.displayDrag(u,h),f?qy():Hy(),o||(d===u&&gM(c,a)&&(p=null),this.dragging.setMirrorNeedsRevert(!p),this.dragging.setMirrorIsVisible(!a||!this.subjectEl.getRootNode().querySelector(".fc-event-mirror")),this.receivingContext=u,this.validMutation=p,this.mutatedRelevantEvents=m)},this.handlePointerUp=()=>{this.isDragging||this.cleanup()},this.handleDragEnd=a=>{if(this.isDragging){let o=this.component.context,l=o.viewApi,{receivingContext:c,validMutation:d}=this,u=this.eventRange.def,p=this.eventRange.instance,m=new wr(o,u,p),f=this.relevantEvents,h=this.mutatedRelevantEvents,{finalHit:g}=this.hitDragging;if(this.clearDrag(),o.emitter.trigger("eventDragStop",{el:this.subjectEl,event:m,jsEvent:a.origEvent,view:l}),d){if(c===o){let y=new wr(o,h.defs[u.defId],p?h.instances[p.instanceId]:null);o.dispatch({type:"MERGE_EVENTS",eventStore:h});let k={oldEvent:m,event:y,relatedEvents:tc(h,o,p),revert(){o.dispatch({type:"MERGE_EVENTS",eventStore:f})}},T={};for(let w of o.getCurrentData().pluginHooks.eventDropTransformers)Object.assign(T,w(d,o));o.emitter.trigger("eventDrop",Object.assign(Object.assign(Object.assign({},k),T),{el:a.subjectEl,delta:d.datesDelta,jsEvent:a.origEvent,view:l})),o.emitter.trigger("eventChange",k)}else if(c){let y={event:m,relatedEvents:tc(f,o,p),revert(){o.dispatch({type:"MERGE_EVENTS",eventStore:f})}};o.emitter.trigger("eventLeave",Object.assign(Object.assign({},y),{draggedEl:a.subjectEl,view:l})),o.dispatch({type:"REMOVE_EVENTS",eventStore:f}),o.emitter.trigger("eventRemove",y);let k=h.defs[u.defId],T=h.instances[p.instanceId],w=new wr(c,k,T);c.dispatch({type:"MERGE_EVENTS",eventStore:h});let S={event:w,relatedEvents:tc(h,c,T),revert(){c.dispatch({type:"REMOVE_EVENTS",eventStore:h})}};c.emitter.trigger("eventAdd",S),a.isTouch&&c.dispatch({type:"SELECT_EVENT",eventInstanceId:p.instanceId}),c.emitter.trigger("drop",Object.assign(Object.assign({},I2(g.dateSpan,c)),{draggedEl:a.subjectEl,jsEvent:a.origEvent,view:g.context.viewApi})),c.emitter.trigger("eventReceive",Object.assign(Object.assign({},S),{draggedEl:a.subjectEl,view:g.context.viewApi}))}}else o.emitter.trigger("_noEventDrop")}this.cleanup()};let{component:t}=this,{options:n}=t.context,i=this.dragging=new up(e.el);i.pointer.selector=r.SELECTOR,i.touchScrollAllowed=!1,i.autoScroller.isEnabled=n.dragScroll;let s=this.hitDragging=new Nf(this.dragging,_f);s.useSubjectCenter=e.useEventCenter,s.emitter.on("pointerdown",this.handlePointerDown),s.emitter.on("dragstart",this.handleDragStart),s.emitter.on("hitupdate",this.handleHitUpdate),s.emitter.on("pointerup",this.handlePointerUp),s.emitter.on("dragend",this.handleDragEnd)}destroy(){this.dragging.destroy()}displayDrag(e,t){let n=this.component.context,i=this.receivingContext;i&&i!==e&&(i===n?i.dispatch({type:"SET_EVENT_DRAG",state:{affectedEvents:t.affectedEvents,mutatedEvents:Hn(),isEvent:!0}}):i.dispatch({type:"UNSET_EVENT_DRAG"})),e&&e.dispatch({type:"SET_EVENT_DRAG",state:t})}clearDrag(){let e=this.component.context,{receivingContext:t}=this;t&&t.dispatch({type:"UNSET_EVENT_DRAG"}),e!==t&&e.dispatch({type:"UNSET_EVENT_DRAG"})}cleanup(){this.subjectSeg=null,this.isDragging=!1,this.eventRange=null,this.relevantEvents=null,this.receivingContext=null,this.validMutation=null,this.mutatedRelevantEvents=null}};nx.SELECTOR=".fc-event-draggable, .fc-event-resizable";_2=class extends el{constructor(e){super(e),this.draggingSegEl=null,this.draggingSeg=null,this.eventRange=null,this.relevantEvents=null,this.validMutation=null,this.mutatedRelevantEvents=null,this.handlePointerDown=s=>{let{component:a}=this,o=this.querySegEl(s),l=Pd(o),c=this.eventRange=l.eventRange;this.dragging.minDistance=a.context.options.eventDragMinDistance,this.dragging.setIgnoreMove(!this.component.isValidSegDownEl(s.origEvent.target)||s.isTouch&&this.component.props.eventSelection!==c.instance.instanceId)},this.handleDragStart=s=>{let{context:a}=this.component,o=this.eventRange;this.relevantEvents=US(a.getCurrentData().eventStore,this.eventRange.instance.instanceId);let l=this.querySegEl(s);this.draggingSegEl=l,this.draggingSeg=Pd(l),a.calendarApi.unselect(),a.emitter.trigger("eventResizeStart",{el:l,event:new wr(a,o.def,o.instance),jsEvent:s.origEvent,view:a.viewApi})},this.handleHitUpdate=(s,a,o)=>{let{context:l}=this.component,c=this.relevantEvents,d=this.hitDragging.initialHit,u=this.eventRange.instance,p=null,m=null,f=!1,h={affectedEvents:c,mutatedEvents:Hn(),isEvent:!0};s&&(s.componentId===d.componentId&&this.isHitComboAllowed&&!this.isHitComboAllowed(d,s)||(p=N4e(d,s,o.subjectEl.classList.contains("fc-event-resizer-start"),u.range))),p&&(m=VS(c,l.getCurrentData().eventUiBases,p,l),h.mutatedEvents=m,JS(h,s.dateProfile,l)||(f=!0,p=null,m=null,h.mutatedEvents=null)),m?l.dispatch({type:"SET_EVENT_RESIZE",state:h}):l.dispatch({type:"UNSET_EVENT_RESIZE"}),f?qy():Hy(),a||(p&&gM(d,s)&&(p=null),this.validMutation=p,this.mutatedRelevantEvents=m)},this.handleDragEnd=s=>{let{context:a}=this.component,o=this.eventRange.def,l=this.eventRange.instance,c=new wr(a,o,l),d=this.relevantEvents,u=this.mutatedRelevantEvents;if(a.emitter.trigger("eventResizeStop",{el:this.draggingSegEl,event:c,jsEvent:s.origEvent,view:a.viewApi}),this.validMutation){let p=new wr(a,u.defs[o.defId],l?u.instances[l.instanceId]:null);a.dispatch({type:"MERGE_EVENTS",eventStore:u});let m={oldEvent:c,event:p,relatedEvents:tc(u,a,l),revert(){a.dispatch({type:"MERGE_EVENTS",eventStore:d})}};a.emitter.trigger("eventResize",Object.assign(Object.assign({},m),{el:this.draggingSegEl,startDelta:this.validMutation.startDelta||nt(0),endDelta:this.validMutation.endDelta||nt(0),jsEvent:s.origEvent,view:a.viewApi})),a.emitter.trigger("eventChange",m)}else a.emitter.trigger("_noEventResize");this.draggingSeg=null,this.relevantEvents=null,this.validMutation=null};let{component:t}=e,n=this.dragging=new up(e.el);n.pointer.selector=".fc-event-resizer",n.touchScrollAllowed=!1,n.autoScroller.isEnabled=t.context.options.dragScroll;let i=this.hitDragging=new Nf(this.dragging,YS(e));i.emitter.on("pointerdown",this.handlePointerDown),i.emitter.on("dragstart",this.handleDragStart),i.emitter.on("hitupdate",this.handleHitUpdate),i.emitter.on("dragend",this.handleDragEnd)}destroy(){this.dragging.destroy()}querySegEl(e){return qn(e.subjectEl,".fc-event")}};M2=class{constructor(e){this.context=e,this.isRecentPointerDateSelect=!1,this.matchesCancel=!1,this.matchesEvent=!1,this.onSelect=n=>{n.jsEvent&&(this.isRecentPointerDateSelect=!0)},this.onDocumentPointerDown=n=>{let i=this.context.options.unselectCancel,s=G_(n.origEvent);this.matchesCancel=!!qn(s,i),this.matchesEvent=!!qn(s,nx.SELECTOR)},this.onDocumentPointerUp=n=>{let{context:i}=this,{documentPointer:s}=this,a=i.getCurrentData();if(!s.wasTouchScroll){if(a.dateSelection&&!this.isRecentPointerDateSelect){let o=i.options.unselectAuto;o&&(!o||!this.matchesCancel)&&i.calendarApi.unselect(n)}a.eventSelection&&!this.matchesEvent&&i.dispatch({type:"UNSELECT_EVENT"})}this.isRecentPointerDateSelect=!1};let t=this.documentPointer=new pM(document);t.shouldIgnoreMove=!0,t.shouldWatchScroll=!1,t.emitter.on("pointerdown",this.onDocumentPointerDown),t.emitter.on("pointerup",this.onDocumentPointerUp),e.emitter.on("select",this.onSelect)}destroy(){this.context.emitter.off("select",this.onSelect),this.documentPointer.destroy()}},R4e={fixedMirrorParent:F},O4e={dateClick:F,eventDragStart:F,eventDragStop:F,eventDrop:F,eventResizeStart:F,eventResizeStop:F,eventResize:F,drop:F,eventReceive:F,eventLeave:F},A2=class{constructor(e,t){this.receivingContext=null,this.droppableEvent=null,this.suppliedDragMeta=null,this.dragMeta=null,this.handleDragStart=i=>{this.dragMeta=this.buildDragMeta(i.subjectEl)},this.handleHitUpdate=(i,s,a)=>{let{dragging:o}=this.hitDragging,l=null,c=null,d=!1,u={affectedEvents:Hn(),mutatedEvents:Hn(),isEvent:this.dragMeta.create};i&&(l=i.context,this.canDropElOnCalendar(a.subjectEl,l)&&(c=L4e(i.dateSpan,this.dragMeta,l),u.mutatedEvents=bf(c),d=!JS(u,i.dateProfile,l),d&&(u.mutatedEvents=Hn(),c=null))),this.displayDrag(l,u),o.setMirrorIsVisible(s||!c||!document.querySelector(".fc-event-mirror")),d?qy():Hy(),s||(o.setMirrorNeedsRevert(!c),this.receivingContext=l,this.droppableEvent=c)},this.handleDragEnd=i=>{let{receivingContext:s,droppableEvent:a}=this;if(this.clearDrag(),s&&a){let o=this.hitDragging.finalHit,l=o.context.viewApi,c=this.dragMeta;if(s.emitter.trigger("drop",Object.assign(Object.assign({},I2(o.dateSpan,s)),{draggedEl:i.subjectEl,jsEvent:i.origEvent,view:l})),c.create){let d=bf(a);s.dispatch({type:"MERGE_EVENTS",eventStore:d}),i.isTouch&&s.dispatch({type:"SELECT_EVENT",eventInstanceId:a.instance.instanceId}),s.emitter.trigger("eventReceive",{event:new wr(s,a.def,a.instance),relatedEvents:[],revert(){s.dispatch({type:"REMOVE_EVENTS",eventStore:d})},draggedEl:i.subjectEl,view:l})}}this.receivingContext=null,this.droppableEvent=null};let n=this.hitDragging=new Nf(e,_f);n.requireInitial=!1,n.emitter.on("dragstart",this.handleDragStart),n.emitter.on("hitupdate",this.handleHitUpdate),n.emitter.on("dragend",this.handleDragEnd),this.suppliedDragMeta=t}buildDragMeta(e){return typeof this.suppliedDragMeta=="object"?QS(this.suppliedDragMeta):typeof this.suppliedDragMeta=="function"?QS(this.suppliedDragMeta(e)):F4e(e)}displayDrag(e,t){let n=this.receivingContext;n&&n!==e&&n.dispatch({type:"UNSET_EVENT_DRAG"}),e&&e.dispatch({type:"SET_EVENT_DRAG",state:t})}clearDrag(){this.receivingContext&&this.receivingContext.dispatch({type:"UNSET_EVENT_DRAG"})}canDropElOnCalendar(e,t){let n=t.options.dropAccept;return typeof n=="function"?n.call(t.calendarApi,e):typeof n=="string"&&n?!!Y_(e,n):!0}};Jy.dataAttrPrefix="";hM=class{constructor(e,t={}){this.handlePointerDown=i=>{let{dragging:s}=this,{minDistance:a,longPressDelay:o}=this.settings;s.minDistance=a!=null?a:i.isTouch?0:ec.eventDragMinDistance,s.delay=i.isTouch?o!=null?o:ec.longPressDelay:0},this.handleDragStart=i=>{i.isTouch&&this.dragging.delay&&i.subjectEl.classList.contains("fc-event")&&this.dragging.mirror.getMirrorEl().classList.add("fc-event-selected")},this.settings=t;let n=this.dragging=new up(e);n.touchScrollAllowed=!1,t.itemSelector!=null&&(n.pointer.selector=t.itemSelector),t.appendTo!=null&&(n.mirror.parentNode=t.appendTo),n.emitter.on("pointerdown",this.handlePointerDown),n.emitter.on("dragstart",this.handleDragStart),new A2(n,t.eventData)}destroy(){this.dragging.destroy()}},Cfe=Bi({name:"@fullcalendar/interaction",componentInteractions:[C2,P2,nx,_2],calendarInteractions:[M2],elementDraggingImpl:up,optionRefiners:R4e,listenerRefiners:O4e})});var yM,Pfe=v(()=>{N2();yM=class{constructor(e){this.draggableInstances=new Map;this.plugin=e}makeTaskCardDraggable(e,t){if(this.draggableInstances.has(e))return;e.dataset.taskPath=t;let n=new hM(e);this.draggableInstances.set(e,n),e.classList.remove("tn-static-cursor-pointer-2723efcc","tn-static-cursor-pointer-3b6a3a65"),e.classList.add("tn-static-cursor-grab-dad79857"),e.addEventListener("dragstart",i=>{e.classList.add("task-card--dragging"),i.dataTransfer&&(i.dataTransfer.setData("text/plain",t),i.dataTransfer.setData("application/x-task-path",t),i.dataTransfer.effectAllowed="copy")}),e.addEventListener("dragend",()=>{e.classList.remove("task-card--dragging")})}removeDraggable(e){let t=this.draggableInstances.get(e);t&&(t.destroy(),this.draggableInstances.delete(e))}destroy(){this.draggableInstances.forEach(e=>{e.destroy()}),this.draggableInstances.clear()}}});var tv,vM,_fe=v(()=>{H$();tv=require("obsidian");Wo();vM=class{constructor(e){this.statusBarElement=null;this.updateTimeout=null;this.plugin=e,this.requestDeduplicator=new cy}initialize(){this.plugin.settings.showTrackedTasksInStatusBar&&(this.statusBarElement=this.plugin.addStatusBarItem(),this.statusBarElement.addClass("tasknotes-status-bar"),this.statusBarElement.classList.remove("tn-static-cursor-grab-dad79857","tn-static-cursor-pointer-2723efcc"),this.statusBarElement.classList.add("tn-static-cursor-pointer-3b6a3a65"),this.statusBarElement.addEventListener("click",()=>{this.handleStatusBarClick()}),this.updateStatusBar())}async updateStatusBar(){if(!(!this.statusBarElement||!this.plugin.settings.showTrackedTasksInStatusBar))try{let e=await this.requestDeduplicator.execute("update-status-bar",()=>this.getTrackedTasks());this.renderStatusBar(e)}catch(e){console.error("Error updating status bar:",e)}}async getTrackedTasks(){return(await this.plugin.cacheManager.getAllTasks()).filter(t=>t.archived?!1:this.plugin.getActiveTimeSession(t)!==null)}renderStatusBar(e){if(!this.statusBarElement)return;let t=e.length;if(t===0){this.statusBarElement.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-min-height-800px-997b4c8c"),this.statusBarElement.classList.add("tn-static-display-none-6b99de8b");return}this.statusBarElement.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),this.statusBarElement.style.removeProperty("display"),this.statusBarElement.empty(),this.statusBarElement.createEl("span",{cls:"tasknotes-status-icon",text:"\u23F1\uFE0F"});let n=this.statusBarElement.createEl("span",{cls:"tasknotes-status-text"});if(t===1){let i=e[0],s=i.title.length>30?i.title.substring(0,30)+"...":i.title;n.setText(`Tracking: ${s}`),(0,tv.setTooltip)(this.statusBarElement,`Currently tracking: ${i.title}`,{placement:"top"})}else{n.setText(`Tracking ${t} tasks`);let i=e.slice(0,5).map(a=>a.title).join(`
`),s=t>5?`${i}
... and ${t-5} more`:i;(0,tv.setTooltip)(this.statusBarElement,`Currently tracking:
${s}`,{placement:"top"})}}async handleStatusBarClick(){try{let e=await this.getTrackedTasks();if(e.length===0)return;if(e.length===1){let t=e[0],n=this.plugin.app.vault.getAbstractFileByPath(t.path);n instanceof tv.TFile&&await this.plugin.app.workspace.getLeaf(!1).openFile(n)}else pn(this.plugin,e,t=>{(async()=>{if(t){let n=this.plugin.app.vault.getAbstractFileByPath(t.path);n instanceof tv.TFile&&await this.plugin.app.workspace.getLeaf(!1).openFile(n)}})()})}catch(e){console.error("Error handling status bar click:",e)}}requestUpdate(){this.updateTimeout&&window.clearTimeout(this.updateTimeout),this.updateTimeout=window.setTimeout(()=>{this.updateStatusBar()},100)}updateVisibility(){this.plugin.settings.showTrackedTasksInStatusBar?this.statusBarElement?this.updateStatusBar():this.initialize():this.hide()}hide(){this.statusBarElement&&(this.statusBarElement.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-min-height-800px-997b4c8c"),this.statusBarElement.classList.add("tn-static-display-none-6b99de8b"))}destroy(){this.updateTimeout&&(window.clearTimeout(this.updateTimeout),this.updateTimeout=null),this.requestDeduplicator&&this.requestDeduplicator.cancelAll(),this.statusBarElement=null}}});var TM,bM,Mfe=v(()=>{TM=require("obsidian");On();Qe();bM=class{constructor(e){this.notificationQueue=[];this.processedReminders=new Set;this.lastBroadScanTime=Date.now();this.lastQuickCheckTime=Date.now();this.BROAD_SCAN_INTERVAL=300*1e3;this.QUICK_CHECK_INTERVAL=30*1e3;this.QUEUE_WINDOW=300*1e3;this.plugin=e}async initialize(){this.plugin.settings.enableNotifications&&(this.plugin.settings.notificationType==="system"&&"Notification"in window&&Notification.permission==="default"&&await Notification.requestPermission(),this.setupTaskUpdateListener(),this.startBroadScan(),this.startQuickCheck(),await this.scanTasksAndBuildQueue())}destroy(){this.broadScanInterval&&window.clearInterval(this.broadScanInterval),this.quickCheckInterval&&window.clearInterval(this.quickCheckInterval),this.taskUpdateListener&&this.plugin.emitter.offref(this.taskUpdateListener),this.notificationQueue=[],this.processedReminders.clear()}startBroadScan(){this.broadScanInterval=window.setInterval(()=>{(async()=>{let e=Date.now();e-this.lastBroadScanTime>this.BROAD_SCAN_INTERVAL+6e4&&await this.handleSystemWakeUp(),await this.scanTasksAndBuildQueue(),this.lastBroadScanTime=e})()},this.BROAD_SCAN_INTERVAL)}startQuickCheck(){this.quickCheckInterval=window.setInterval(()=>{let e=Date.now();e-this.lastQuickCheckTime>this.QUICK_CHECK_INTERVAL+6e4,this.checkNotificationQueue(),this.lastQuickCheckTime=e},this.QUICK_CHECK_INTERVAL)}async scanTasksAndBuildQueue(){this.notificationQueue=[];let e=await this.plugin.cacheManager.getAllTasks(),t=Date.now(),n=t+this.QUEUE_WINDOW;for(let i of e)if(!(!i.reminders||i.reminders.length===0))for(let s of i.reminders){let a=`${i.path}-${s.id}`;if(this.processedReminders.has(a))continue;let o=this.calculateNotificationTime(i,s);o!==null&&o>t&&o<=n&&this.notificationQueue.push({taskPath:i.path,reminder:s,notifyAt:o})}this.notificationQueue.sort((i,s)=>i.notifyAt-s.notifyAt)}calculateNotificationTime(e,t){try{if(t.type==="absolute")return t.absoluteTime?Mr(t.absoluteTime).getTime():null;if(t.type==="relative"){if(!t.relatedTo||!t.offset)return null;let n=t.relatedTo==="due"?e.due:e.scheduled;if(!n)return null;let i=Mr(n),s=this.parseISO8601Duration(t.offset);return s===null?null:i.getTime()+s}}catch(n){return console.error("Error calculating notification time:",n),null}return null}parseISO8601Duration(e){let t=e.match(/^(-?)P(?:(\d+)Y)?(?:(\d+)M)?(?:(\d+)W)?(?:(\d+)D)?(?:T(?:(\d+)H)?(?:(\d+)M)?(?:(\d+)S)?)?$/);if(!t)return null;let[,n,i,s,a,o,l,c,d]=t,u=0;return i&&(u+=parseInt(i)*365*24*60*60*1e3),s&&(u+=parseInt(s)*30*24*60*60*1e3),a&&(u+=parseInt(a)*7*24*60*60*1e3),o&&(u+=parseInt(o)*24*60*60*1e3),l&&(u+=parseInt(l)*60*60*1e3),c&&(u+=parseInt(c)*60*1e3),d&&(u+=parseInt(d)*1e3),n==="-"?-u:u}checkNotificationQueue(){let e=Date.now(),t=[];for(let n=0;n<this.notificationQueue.length;n++){let i=this.notificationQueue[n];if(i.notifyAt<=e){this.triggerNotification(i),t.push(n);let s=`${i.taskPath}-${i.reminder.id}`;this.processedReminders.add(s)}else break}for(let n=t.length-1;n>=0;n--)this.notificationQueue.splice(t[n],1)}async triggerNotification(e){let t=this.plugin.app.vault.getAbstractFileByPath(e.taskPath);if(!(t instanceof TM.TFile))return;let n=this.plugin.app.metadataCache.getFileCache(t);if(!n||!n.frontmatter)return;let i=this.plugin.fieldMapper.mapFromFrontmatter(n.frontmatter,e.taskPath,this.plugin.settings.storeTitleInFilename),s=e.reminder.description||this.generateDefaultMessage(i,e.reminder);if(this.plugin.settings.notificationType==="system")if("Notification"in window&&Notification.permission==="granted"){let a=new Notification("TaskNotes Reminder",{body:s,tag:`tasknotes-${e.taskPath}-${e.reminder.id}`});a.onclick=()=>{this.plugin.app.workspace.openLinkText(e.taskPath,"",!1),a.close()}}else this.showInAppNotice(s,e.taskPath);else this.showInAppNotice(s,e.taskPath);this.plugin.apiService&&await this.plugin.apiService.triggerWebhook("reminder.triggered",{task:i,reminder:e.reminder,notificationTime:new Date(e.notifyAt).toISOString(),message:s,notificationType:this.plugin.settings.notificationType})}showInAppNotice(e,t){let n=new TM.Notice(e,0),i=n.noticeEl;i.addEventListener("click",()=>{this.plugin.app.workspace.openLinkText(t,"",!1),n.hide()}),i.classList.remove("tn-static-cursor-grab-dad79857","tn-static-cursor-pointer-2723efcc"),i.classList.add("tn-static-cursor-pointer-3b6a3a65")}generateDefaultMessage(e,t){if(t.type==="absolute")return`Reminder: ${e.title}`;{let n=t.relatedTo==="due"?"due":"scheduled",i=this.formatDurationForDisplay(t.offset||"");return i.startsWith("-")?`${e.title} is ${n} in ${i.substring(1)}`:i==="PT0S"||i==="PT0M"?`${e.title} is ${n} now`:`${e.title} was ${n} ${i} ago`}}formatDurationForDisplay(e){let t=this.parseISO8601Duration(e);if(t===null)return e;let n=Math.abs(t),i=Math.floor(n/(60*1e3)),s=Math.floor(n/(3600*1e3)),a=Math.floor(n/(1440*60*1e3)),o="";return a>0?o=`${a} day${a>1?"s":""}`:s>0?o=`${s} hour${s>1?"s":""}`:i>0?o=`${i} minute${i>1?"s":""}`:o="now",t<0?`-${o}`:o}async refreshReminders(){await this.scanTasksAndBuildQueue()}clearProcessedRemindersForTask(e){let t=[];for(let n of this.processedReminders)n.startsWith(`${e}-`)&&t.push(n);t.forEach(n=>this.processedReminders.delete(n))}setupTaskUpdateListener(){this.taskUpdateListener=this.plugin.emitter.on(Vt,async({path:e,originalTask:t,updatedTask:n})=>{if(!e||!n)return;this.removeNotificationsForTask(e),this.clearProcessedRemindersForTask(e);let i=Date.now(),s=i+this.QUEUE_WINDOW;if(n.reminders&&n.reminders.length>0){for(let a of n.reminders){let o=`${e}-${a.id}`;if(this.processedReminders.has(o))continue;let l=this.calculateNotificationTime(n,a);l!==null&&l>i&&l<=s&&this.notificationQueue.push({taskPath:e,reminder:a,notifyAt:l})}this.notificationQueue.sort((a,o)=>a.notifyAt-o.notifyAt)}})}removeNotificationsForTask(e){this.notificationQueue=this.notificationQueue.filter(t=>t.taskPath!==e)}async handleSystemWakeUp(){let e=Date.now(),t=[];for(let n of this.processedReminders){let[i,s]=n.split("-",2);if(!(!i||!s))try{let a=await this.plugin.cacheManager.getTaskInfo(i);if(a&&a.reminders){let o=a.reminders.find(l=>l.id===s);if(o){let l=this.calculateNotificationTime(a,o);l&&l<=e&&t.push(n)}}}catch(a){t.push(n)}}t.forEach(n=>this.processedReminders.delete(n)),await this.scanTasksAndBuildQueue()}}});var kM,Afe=v(()=>{On();kM=class{constructor(e){this.globalTaskVersionCache=new Map;this.lastGlobalRefreshTime=0;this.globalTaskCount=0;this.viewHandlers=new Map;this.viewDebounceTimers=new Map;this.viewPendingUpdates=new Map;this.viewConfigs=new Map;this.updateInProgress=new Set;this.eventListener=null;this.plugin=e,this.setupGlobalEventListener()}registerView(e,t){this.viewConfigs.set(e.viewId,{debounceDelay:100,maxBatchSize:5,changeDetectionEnabled:!0,...e}),this.viewHandlers.set(e.viewId,t),this.viewPendingUpdates.set(e.viewId,new Set)}unregisterView(e){let t=this.viewDebounceTimers.get(e);t&&(window.clearTimeout(t),this.viewDebounceTimers.delete(e)),this.viewConfigs.delete(e),this.viewHandlers.delete(e),this.viewPendingUpdates.delete(e),this.updateInProgress.delete(e)}setupGlobalEventListener(){this.eventListener=this.plugin.emitter.on(Vt,async({path:e,originalTask:t,updatedTask:n})=>{if(!e||!n){await this.triggerFullRefreshForAllViews();return}n.path||(n.path=e),this.hasTaskChanged(n)&&await this.handleTaskUpdateForAllViews(n,t)})}async handleTaskUpdateForAllViews(e,t){let n=[];for(let[i,s]of this.viewHandlers)s.shouldRefreshForTask&&!s.shouldRefreshForTask(t,e)||n.push(this.scheduleViewUpdate(i,e.path));await Promise.all(n),Math.random()<.1&&await this.cleanupTaskVersionCache()}async scheduleViewUpdate(e,t){let n=this.viewConfigs.get(e);if(!n)return;let i=this.viewPendingUpdates.get(e);i&&i.add(t);let s=this.viewDebounceTimers.get(e);s&&window.clearTimeout(s);let a=window.setTimeout(()=>{this.processPendingUpdatesForView(e)},n.debounceDelay);this.viewDebounceTimers.set(e,a)}async processPendingUpdatesForView(e){if(this.updateInProgress.has(e))return;let t=this.viewConfigs.get(e),n=this.viewHandlers.get(e),i=this.viewPendingUpdates.get(e);if(!(!t||!n||!i||i.size===0)){this.updateInProgress.add(e);try{let s=Array.from(i);if(i.clear(),s.length>t.maxBatchSize)await n.refresh();else{let a=s.map(o=>n.updateForTask(o,"update").catch(l=>{console.error(`[ViewPerformanceService] Error updating task ${o} in ${e}:`,l)}));await Promise.all(a)}}catch(s){console.error(`[ViewPerformanceService] Error processing updates for ${e}:`,s),await n.refresh()}finally{this.updateInProgress.delete(e),this.viewDebounceTimers.delete(e)}}}async triggerFullRefreshForAllViews(){let e=[];for(let[t,n]of this.viewHandlers)this.updateInProgress.has(t)||e.push(n.refresh(!0));await Promise.all(e),this.lastGlobalRefreshTime=Date.now()}hasTaskChanged(e){let t=this.globalTaskVersionCache.get(e.path),n=e.dateModified||Date.now().toString();return t!==n?(this.globalTaskVersionCache.set(e.path,n),!0):!1}shouldDoFullRefresh(){let e=Date.now()-this.lastGlobalRefreshTime,t=this.globalTaskVersionCache.size;return e>600*1e3||Math.abs(t-this.globalTaskCount)>20||t===0}async cleanupTaskVersionCache(){try{let e=this.plugin.cacheManager.getAllTaskPaths(),t=new Set(e);for(let n of this.globalTaskVersionCache.keys())t.has(n)||this.globalTaskVersionCache.delete(n);this.globalTaskCount=t.size,this.globalTaskVersionCache.size>2e3&&(this.globalTaskVersionCache.clear(),this.lastGlobalRefreshTime=0)}catch(e){console.error("[ViewPerformanceService] Error during cache cleanup:",e)}}async forceRefreshAll(){this.globalTaskVersionCache.clear(),await this.triggerFullRefreshForAllViews()}getStats(){return{registeredViews:Array.from(this.viewConfigs.keys()),cacheSize:this.globalTaskVersionCache.size,activeUpdates:Array.from(this.updateInProgress),totalPendingUpdates:Array.from(this.viewPendingUpdates.values()).reduce((e,t)=>e+t.size,0),lastGlobalRefresh:new Date(this.lastGlobalRefreshTime).toISOString()}}destroy(){this.eventListener&&(this.plugin.emitter.offref(this.eventListener),this.eventListener=null);for(let e of this.viewDebounceTimers.values())window.clearTimeout(e);this.viewHandlers.clear(),this.viewDebounceTimers.clear(),this.viewPendingUpdates.clear(),this.viewConfigs.clear(),this.updateInProgress.clear(),this.globalTaskVersionCache.clear()}}});var pp,wM,Ife=v(()=>{pp=require("obsidian");On();Wo();$i();hd();wM=class extends pp.ItemView{constructor(t,n){super(t);this.timerDisplay=null;this.statusDisplay=null;this.progressCircle=null;this.progressContainer=null;this.startButton=null;this.pauseButton=null;this.stopButton=null;this.taskDisplay=null;this.statsDisplay=null;this.taskSelectButton=null;this.taskClearButton=null;this.currentSelectedTask=null;this.taskCardContainer=null;this.addTimeButton=null;this.subtractTimeButton=null;this.skipBreakButton=null;this.statElements={pomodoros:null};this.resizeObserver=null;this.resizeTimeout=null;this.functionListeners=[];this.currentCircleSize=300;this.currentCircumference=0;this.listeners=[];this.plugin=n,this.registerEvents()}refreshStats(){this.updateStats().catch(t=>{console.error("Failed to update stats:",t)})}getViewType(){return Vc}getDisplayText(){return this.plugin.i18n.translate("views.pomodoro.title")}getIcon(){return"clock"}t(t,n){return this.plugin.i18n.translate(t,n)}registerEvents(){this.listeners.forEach(o=>this.plugin.emitter.offref(o)),this.listeners=[];let t=this.plugin.emitter.on(hD,({session:o,task:l})=>{this.updateDisplay(o,l)});this.listeners.push(t);let n=this.plugin.emitter.on(gD,({session:o,nextType:l})=>{this.onPomodoroComplete(o,l)});this.listeners.push(n);let i=this.plugin.emitter.on(yD,()=>{this.updateDisplay(void 0,void 0,{refreshStats:!0})});this.listeners.push(i);let s=this.plugin.emitter.on(Fo,({timeRemaining:o,session:l})=>{this.updateTimer(o),this.updateDisplay(l)});this.listeners.push(s);let a=this.plugin.emitter.on(Vt,async({path:o,originalTask:l,updatedTask:c})=>{if(!o||!c)return;if(this.currentSelectedTask&&(this.currentSelectedTask.path===o||l&&this.currentSelectedTask.path===l.path)){this.currentSelectedTask=c,this.updateTaskCardDisplay(c);let u=this.plugin.pomodoroService.getState();u.currentSession&&l&&l.path!==c.path&&u.currentSession.taskPath===l.path&&await this.plugin.pomodoroService.assignTaskToCurrentSession(c)}});this.listeners.push(a)}async onOpen(){await this.plugin.onReady(),await this.render(),this.ensureResizeHandlingSetup(),this.plugin.app.workspace.layoutReady?window.setTimeout(()=>this.ensureResizeHandlingSetup(),50):this.plugin.app.workspace.onLayoutReady(()=>{this.ensureResizeHandlingSetup()})}async onClose(){this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),this.resizeTimeout&&(window.clearTimeout(this.resizeTimeout),this.resizeTimeout=null),this.listeners.forEach(t=>this.plugin.emitter.offref(t)),this.functionListeners.forEach(t=>t()),this.timerDisplay=null,this.statusDisplay=null,this.progressCircle=null,this.progressContainer=null,this.startButton=null,this.pauseButton=null,this.stopButton=null,this.taskDisplay=null,this.statsDisplay=null,this.taskSelectButton=null,this.taskClearButton=null,this.currentSelectedTask=null,this.taskCardContainer=null,this.statElements={pomodoros:null},this.contentEl.empty()}async render(){let t=this.contentEl.createDiv({cls:"tasknotes-plugin pomodoro-view"});this.statusDisplay=t.createDiv({cls:"pomodoro-view__status",text:this.t("views.pomodoro.status.ready")});let n=t.createDiv({cls:"pomodoro-view__timer-section"});this.progressContainer=n.createDiv({cls:"pomodoro-view__progress-container"});let i=activeDocument.createElementNS("http://www.w3.org/2000/svg","svg");i.setAttribute("class","pomodoro-view__progress-svg"),i.setAttribute("width","300"),i.setAttribute("height","300"),i.setAttribute("viewBox","0 0 300 300"),this.progressContainer.appendChild(i);let s=activeDocument.createElementNS("http://www.w3.org/2000/svg","circle");s.setAttributeNS(null,"cx","150"),s.setAttributeNS(null,"cy","150"),s.setAttributeNS(null,"r","140"),s.setAttributeNS(null,"fill","none"),s.setAttributeNS(null,"stroke","var(--tn-border-color)"),s.setAttributeNS(null,"stroke-width","2"),i.appendChild(s),this.progressCircle=activeDocument.createElementNS("http://www.w3.org/2000/svg","circle"),this.progressCircle.setAttributeNS(null,"cx","150"),this.progressCircle.setAttributeNS(null,"cy","150"),this.progressCircle.setAttributeNS(null,"r","140"),this.progressCircle.setAttributeNS(null,"fill","none"),this.progressCircle.setAttributeNS(null,"stroke","var(--tn-interactive-accent)"),this.progressCircle.setAttributeNS(null,"stroke-width","4"),this.progressCircle.setAttributeNS(null,"stroke-linecap","round");let o=2*Math.PI*140;this.progressCircle.setAttributeNS(null,"stroke-dasharray",o.toString()),this.progressCircle.setAttributeNS(null,"stroke-dashoffset",o.toString()),this.progressCircle.addClass("pomodoro-view__progress-circle"),i.appendChild(this.progressCircle);let l=this.progressContainer.createDiv({cls:"pomodoro-view__timer-overlay"}),d=`${this.plugin.settings.pomodoroWorkDuration.toString().padStart(2,"0")}:00`;this.timerDisplay=l.createDiv({cls:"pomodoro-view__timer-display",text:d});let u=l.createDiv({cls:"pomodoro-view__time-controls"});this.subtractTimeButton=u.createEl("button",{cls:"pomodoro-view__time-adjust-button pomodoro-view__subtract-time",text:"-"}),this.addTimeButton=u.createEl("button",{cls:"pomodoro-view__time-adjust-button pomodoro-view__add-time",text:"+"}),this.taskDisplay=t.createDiv({cls:"pomodoro-view__task-display"});let p=t.createDiv({cls:"pomodoro-view__task-selector"}),m=p.createDiv({cls:"pomodoro-view__task-buttons"});this.taskSelectButton=m.createEl("button",{cls:"pomodoro-view__task-select-button",text:this.t("views.pomodoro.buttons.chooseTask")}),this.taskClearButton=m.createEl("button",{cls:"pomodoro-view__task-clear-button pomodoro-view__task-clear-button--hidden",text:this.t("views.pomodoro.buttons.clearTask")}),this.taskCardContainer=p.createDiv({cls:"pomodoro-view__task-card-container"});let f=t.createDiv({cls:"pomodoro-view__control-section"}),h=f.createDiv({cls:"pomodoro-view__primary-controls"});this.startButton=h.createEl("button",{text:this.t("views.pomodoro.buttons.start"),cls:"pomodoro-view__start-button"}),this.pauseButton=h.createEl("button",{text:this.t("views.pomodoro.buttons.pause"),cls:"pomodoro-view__pause-button"}),this.pauseButton.addClass("pomodoro-view__pause-button--hidden"),this.stopButton=h.createEl("button",{text:this.t("views.pomodoro.buttons.stop"),cls:"pomodoro-view__stop-button"}),this.stopButton.addClass("pomodoro-view__stop-button--hidden"),this.skipBreakButton=f.createEl("button",{cls:"pomodoro-view__skip-break-button",text:this.t("views.pomodoro.buttons.skipBreak")}),this.skipBreakButton.addClass("pomodoro-view__skip-break-button--hidden");let g=t.createDiv({cls:"pomodoro-view__stats-section"});this.statsDisplay=g.createDiv({cls:"pomodoro-view__stats"});let y=this.statsDisplay.createDiv({cls:"pomodoro-view__stat pomodoro-view__stat--clickable"});if(this.statElements.pomodoros=y.createSpan({cls:"pomodoro-view__stat-value",text:"0"}),y.createSpan({cls:"pomodoro-view__stat-label",text:this.t("views.pomodoro.statsLabel")}),this.registerDomEvent(y,"click",()=>{this.plugin.activatePomodoroStatsView()}),this.registerDomEvent(this.startButton,"click",async()=>{var k,T,w;if(!((k=this.startButton)!=null&&k.hasClass("is-loading"))){(T=this.startButton)==null||T.addClass("pomodoro-view__start-button--loading");try{let S=this.plugin.pomodoroService.getState();S.currentSession&&!S.isRunning?await this.plugin.pomodoroService.resumePomodoro():S.nextSessionType==="short-break"?await this.plugin.pomodoroService.startBreak(!1):S.nextSessionType==="long-break"?await this.plugin.pomodoroService.startBreak(!0):await this.plugin.pomodoroService.startPomodoro(this.currentSelectedTask||void 0)}finally{(w=this.startButton)==null||w.removeClass("pomodoro-view__start-button--loading")}}}),this.registerDomEvent(this.pauseButton,"click",()=>{this.plugin.pomodoroService.pausePomodoro()}),this.registerDomEvent(this.stopButton,"click",()=>{this.plugin.pomodoroService.stopPomodoro()}),this.registerDomEvent(this.skipBreakButton,"click",()=>{let k=this.plugin.pomodoroService.getState();k.currentSession?this.plugin.pomodoroService.stopPomodoro():(k.nextSessionType==="short-break"||k.nextSessionType==="long-break")&&this.plugin.pomodoroService.startPomodoro(this.currentSelectedTask||void 0)}),this.registerDomEvent(this.addTimeButton,"click",()=>{this.adjustSessionTime(60)}),this.registerDomEvent(this.subtractTimeButton,"click",()=>{this.adjustSessionTime(-60)}),this.registerDomEvent(this.taskSelectButton,"click",async()=>{await this.openTaskSelector()}),this.registerDomEvent(this.taskClearButton,"click",async()=>{await this.selectTask(null)}),this.restoreLastSelectedTask(),this.updateDisplay(),this.refreshStats(),this.plugin.pomodoroService){let k=this.plugin.pomodoroService.getState();this.updateTimer(k.timeRemaining)}}setupResizeHandling(){this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),this.resizeTimeout&&(window.clearTimeout(this.resizeTimeout),this.resizeTimeout=null),this.functionListeners.forEach(a=>a()),this.functionListeners=[];let t=this.contentEl.ownerDocument.defaultView||window,n=()=>{this.resizeTimeout&&t.clearTimeout(this.resizeTimeout),this.resizeTimeout=t.setTimeout(()=>{this.updateResponsiveLayout()},150)};if(t.ResizeObserver){this.resizeObserver=new t.ResizeObserver(n);let a=this.contentEl.querySelector(".pomodoro-view");a&&this.resizeObserver.observe(a)}let i=this.plugin.app.workspace.on("layout-change",n);this.listeners.push(i),t.addEventListener("resize",n),this.functionListeners.push(()=>t.removeEventListener("resize",n));let s=this.plugin.app.workspace.on("active-leaf-change",a=>{a===this.leaf&&t.setTimeout(()=>{this.updateResponsiveLayout()},100)});this.listeners.push(s),this.updateResponsiveLayout()}ensureResizeHandlingSetup(t=0){let i=Math.min(100*Math.pow(1.5,t),1e3);window.setTimeout(()=>{if(!this.resizeObserver){let s=this.contentEl.querySelector(".pomodoro-view");s?s.getBoundingClientRect().width>0?this.setupResizeHandling():t<10&&this.ensureResizeHandlingSetup(t+1):t<10&&this.ensureResizeHandlingSetup(t+1)}},i)}updateResponsiveLayout(){let t=this.contentEl.querySelector(".pomodoro-view");if(!t)return;let n=t.getBoundingClientRect(),i=n.width,s=n.height,a=Math.min(i/600,1),o=Math.min(s/800,1),l=Math.min(a*.7+o*.3,1);t.classList.remove("pomodoro-view--tiny","pomodoro-view--extra-narrow","pomodoro-view--very-narrow","pomodoro-view--narrow","pomodoro-view--small","pomodoro-view--medium-small","pomodoro-view--medium","pomodoro-view--wide"),i<=200?t.classList.add("pomodoro-view--tiny"):i<=250?t.classList.add("pomodoro-view--extra-narrow"):i<=300?t.classList.add("pomodoro-view--very-narrow"):i<=350?t.classList.add("pomodoro-view--narrow"):i<=400?t.classList.add("pomodoro-view--small"):i<=500?t.classList.add("pomodoro-view--medium-small"):i<=600?t.classList.add("pomodoro-view--medium"):t.classList.add("pomodoro-view--wide");let c=t.querySelector(".pomodoro-view__timer-display");if(c){let d,u;i<=200?(d=2,u="700"):i<=250?(d=2.2,u="650"):i<=300?(d=2.5,u="600"):i<=350?(d=3,u="600"):i<=400?(d=3.2,u="550"):i<=500?(d=3.6,u="500"):i<=600?(d=4,u="500"):(d=4.5,u="400");let m=`${Math.max(d*l,1.5).toFixed(1)}rem`;c.style.fontSize=m,c.style.fontWeight=u}this.updateProgressCircleSize(i,s)}updateProgressCircleSize(t,n){if(!this.progressContainer)return;let i=this.progressContainer.querySelector(".pomodoro-view__progress-svg");if(!i)return;let s=Math.min(t*.8,n*.4),a;if(t<=200?a=Math.max(120,Math.min(s,t-40)):t<=250?a=Math.max(150,Math.min(s,t-50)):t<=300?a=Math.max(180,Math.min(s,t-60)):t<=350?a=Math.max(200,Math.min(s,t-70)):t<=400?a=Math.max(230,Math.min(s,t-80)):t<=500?a=Math.max(250,Math.min(s,t-100)):t<=600?a=Math.max(280,Math.min(s,300)):a=Math.max(300,Math.min(s,t*.5,400)),a===this.currentCircleSize)return;this.currentCircleSize=a,i.setAttribute("width",a.toString()),i.setAttribute("height",a.toString()),i.setAttribute("viewBox",`0 0 ${a} ${a}`),this.progressContainer.style.width=`${a}px`,this.progressContainer.style.height=`${a}px`;let o=a/2,l=o-20;if(i.querySelectorAll("circle").forEach(d=>{d.setAttribute("cx",o.toString()),d.setAttribute("cy",o.toString()),d.setAttribute("r",l.toString())}),this.progressCircle){let d=2*Math.PI*l;if(this.currentCircumference=d,this.progressCircle.setAttribute("stroke-dasharray",d.toString()),this.progressCircle.setAttribute("stroke-dashoffset",d.toString()),this.plugin.pomodoroService){let u=this.plugin.pomodoroService.getState();this.updateProgress(u)}}}async openTaskSelector(){try{let n=(await this.plugin.cacheManager.getAllTasks()).filter(i=>!i.archived);if(n.length===0){new pp.Notice(this.t("views.pomodoro.notices.noTasks"));return}pn(this.plugin,n,i=>{this.selectTask(i)})}catch(t){console.error("Error opening task selector:",t),new pp.Notice(this.t("views.pomodoro.notices.loadFailed"))}}async selectTask(t){this.currentSelectedTask=t,this.taskSelectButton&&(t?(this.taskSelectButton.textContent=this.t("views.pomodoro.buttons.changeTask"),(0,pp.setTooltip)(this.taskSelectButton,this.t("views.pomodoro.buttons.selectDifferentTask"),{placement:"top"}),this.taskSelectButton.removeClass("pomodoro-view__task-select-button--no-task")):(this.taskSelectButton.textContent=this.t("views.pomodoro.buttons.chooseTask"),this.taskSelectButton.removeAttribute("title"),this.taskSelectButton.addClass("pomodoro-view__task-select-button--no-task"))),this.taskClearButton&&(t?this.taskClearButton.removeClass("pomodoro-view__task-clear-button--hidden"):this.taskClearButton.addClass("pomodoro-view__task-clear-button--hidden")),this.updateTaskCardDisplay(t),await this.plugin.pomodoroService.saveLastSelectedTask(t==null?void 0:t.path);let n=this.plugin.pomodoroService.getState();n.currentSession&&n.currentSession.type==="work"&&await this.plugin.pomodoroService.assignTaskToCurrentSession(t||void 0)}updateTaskCardDisplay(t){if(this.taskCardContainer)if(this.taskCardContainer.empty(),t){let n=this.plugin.settings.defaultVisibleProperties?Fi(this.plugin.settings.defaultVisibleProperties,this.plugin):void 0,i=pr(t,this.plugin,n);this.taskCardContainer.appendChild(i),this.taskCardContainer.removeClass("pomodoro-view__task-card-container--empty")}else this.taskCardContainer.addClass("pomodoro-view__task-card-container--empty")}async restoreLastSelectedTask(){try{if(!this.plugin.pomodoroService)return;let t=await this.plugin.pomodoroService.getLastSelectedTaskPath();if(t){let n=await this.plugin.cacheManager.getTaskByPath(t);n&&!this.plugin.statusManager.isCompletedStatus(n.status)&&!n.archived&&await this.selectTask(n)}}catch(t){console.error("Error restoring last selected task:",t)}}async updateTaskButtonFromPath(t){try{let n=await this.plugin.cacheManager.getTaskInfo(t);if(n){this.currentSelectedTask=n,this.taskSelectButton&&(this.taskSelectButton.textContent=this.t("views.pomodoro.buttons.changeTask"),(0,pp.setTooltip)(this.taskSelectButton,this.t("views.pomodoro.buttons.selectDifferentTask"),{placement:"top"}),this.taskSelectButton.removeClass("pomodoro-no-task"),this.taskSelectButton.removeClass("pomodoro-view__task-select-button--no-task")),this.taskClearButton&&this.taskClearButton.removeClass("pomodoro-view__task-clear-button--hidden"),this.updateTaskCardDisplay(n);return}this.currentSelectedTask=null,this.taskSelectButton&&(this.taskSelectButton.textContent=this.t("views.pomodoro.buttons.chooseTask"),this.taskSelectButton.removeAttribute("title"),this.taskSelectButton.addClass("pomodoro-view__task-select-button--no-task")),this.taskClearButton&&this.taskClearButton.addClass("pomodoro-view__task-clear-button--hidden"),this.updateTaskCardDisplay(null)}catch(n){console.error("Error updating task button from path:",n)}}updateDisplay(t,n,i={}){var a,o;if(!this.plugin.pomodoroService){this.statusDisplay&&(this.statusDisplay.textContent=this.t("views.pomodoro.status.ready"),this.statusDisplay.className="pomodoro-status pomodoro-view__status");return}let s=this.plugin.pomodoroService.getState();if(this.updateTimer(s.timeRemaining),this.updateProgress(s),this.statusDisplay)if(s.isRunning&&s.currentSession){let l=s.currentSession.type==="work"?this.t("views.pomodoro.status.working"):s.currentSession.type==="short-break"?this.t("views.pomodoro.status.shortBreak"):this.t("views.pomodoro.status.longBreak");this.statusDisplay.textContent=l,this.statusDisplay.className=`pomodoro-status pomodoro-view__status pomodoro-status-${s.currentSession.type} pomodoro-view__status--${s.currentSession.type}`}else s.currentSession&&!s.isRunning?(this.statusDisplay.textContent=this.t("views.pomodoro.status.paused"),this.statusDisplay.className="pomodoro-status pomodoro-view__status pomodoro-status-paused pomodoro-view__status--paused"):(this.statusDisplay.textContent=this.t("views.pomodoro.status.ready"),this.statusDisplay.className="pomodoro-status pomodoro-view__status");if(this.taskDisplay){let l=(a=s.currentSession)==null?void 0:a.taskPath,c=this.taskDisplay.dataset.currentTaskPath;l!==c&&(this.taskDisplay.empty(),this.taskDisplay.dataset.currentTaskPath=l||"")}if(this.taskSelectButton&&(o=s.currentSession)!=null&&o.taskPath&&!this.currentSelectedTask&&this.updateTaskButtonFromPath(s.currentSession.taskPath),this.startButton&&this.pauseButton&&this.stopButton&&(s.isRunning?(this.startButton.addClass("pomodoro-view__start-button--hidden"),this.pauseButton.removeClass("pomodoro-view__pause-button--hidden"),this.stopButton.removeClass("pomodoro-view__stop-button--hidden")):s.currentSession?(this.startButton.removeClass("pomodoro-view__start-button--hidden"),this.startButton.textContent=this.t("views.pomodoro.buttons.resume"),this.pauseButton.addClass("pomodoro-view__pause-button--hidden"),this.stopButton.removeClass("pomodoro-view__stop-button--hidden")):(this.startButton.removeClass("pomodoro-view__start-button--hidden"),s.nextSessionType==="short-break"?this.startButton.textContent=this.t("views.pomodoro.buttons.startShortBreak"):s.nextSessionType==="long-break"?this.startButton.textContent=this.t("views.pomodoro.buttons.startLongBreak"):this.startButton.textContent=this.t("views.pomodoro.buttons.start"),this.pauseButton.addClass("pomodoro-view__pause-button--hidden"),this.stopButton.addClass("pomodoro-view__stop-button--hidden"))),this.skipBreakButton){let l=s.currentSession&&(s.currentSession.type==="short-break"||s.currentSession.type==="long-break"),c=!s.currentSession&&(s.nextSessionType==="short-break"||s.nextSessionType==="long-break");l||c?(this.skipBreakButton.removeClass("pomodoro-view__skip-break-button--hidden"),this.skipBreakButton.textContent=this.t("views.pomodoro.buttons.skipBreak")):this.skipBreakButton.addClass("pomodoro-view__skip-break-button--hidden")}this.addTimeButton&&this.subtractTimeButton&&(this.addTimeButton.removeClass("pomodoro-view__time-adjust-button--hidden"),this.subtractTimeButton.removeClass("pomodoro-view__time-adjust-button--hidden")),i.refreshStats&&this.refreshStats()}updateTimer(t){if(this.timerDisplay){let n=Math.max(0,Math.floor(t)),i=Math.floor(n/60),s=n%60;this.timerDisplay.textContent=`${i.toString().padStart(2,"0")}:${s.toString().padStart(2,"0")}`,n<=60&&n>0?this.timerDisplay.addClass("pomodoro-view__timer-display--warning"):this.timerDisplay.removeClass("pomodoro-view__timer-display--warning")}}updateProgress(t){if(!this.progressCircle)return;let n=this.currentCircumference;if(n===0){let c=this.progressCircle.getAttribute("r"),d=c?parseInt(c):140;n=2*Math.PI*d,this.currentCircumference=n}if(!t.currentSession){this.progressCircle.setAttributeNS(null,"stroke-dashoffset",n.toString()),this.progressCircle.removeClass("pomodoro-view__progress-circle--work"),this.progressCircle.removeClass("pomodoro-view__progress-circle--short-break"),this.progressCircle.removeClass("pomodoro-view__progress-circle--long-break"),this.progressCircle.removeClass("pomodoro-view__progress-circle--warning");return}let i=t.currentSession.activePeriods||[],s=0;for(let c of i)if(c.endTime){let d=new Date(c.startTime).getTime(),u=new Date(c.endTime).getTime();s+=Math.floor((u-d)/1e3)}else if(t.isRunning){let d=new Date(c.startTime).getTime(),u=Date.now();s+=Math.floor((u-d)/1e3)}let a=t.currentSession.plannedDuration*60,o=a>0?Math.max(0,Math.min(1,s/a)):0,l=n-o*n;this.progressCircle.setAttributeNS(null,"stroke-dashoffset",l.toString()),this.progressCircle.removeClass("pomodoro-view__progress-circle--work"),this.progressCircle.removeClass("pomodoro-view__progress-circle--short-break"),this.progressCircle.removeClass("pomodoro-view__progress-circle--long-break"),this.progressCircle.addClass(`pomodoro-view__progress-circle--${t.currentSession.type}`),t.timeRemaining<=60&&t.timeRemaining>0?this.progressCircle.addClass("pomodoro-view__progress-circle--warning"):this.progressCircle.removeClass("pomodoro-view__progress-circle--warning")}async updateStats(){try{if(!this.plugin.pomodoroService){this.statElements.pomodoros&&(this.statElements.pomodoros.textContent="0");return}let t=await this.plugin.pomodoroService.getTodayStats();this.statElements.pomodoros&&this.statElements.pomodoros.textContent!==t.pomodorosCompleted.toString()&&(this.statElements.pomodoros.textContent=t.pomodorosCompleted.toString())}catch(t){console.error("Failed to update stats:",t),this.statElements.pomodoros&&(this.statElements.pomodoros.textContent="0")}}adjustSessionTime(t){if(!this.plugin.pomodoroService)return;let n=this.plugin.pomodoroService.getState();if(n.currentSession)this.plugin.pomodoroService.adjustSessionTime(t);else{let i=Math.max(60,n.timeRemaining+t);this.plugin.pomodoroService.adjustPreparedTimer(i)}if(this.plugin.pomodoroService){let i=this.plugin.pomodoroService.getState();this.updateTimer(i.timeRemaining),this.updateProgress(i)}}onPomodoroComplete(t,n){if(this.updateDisplay(void 0,void 0,{refreshStats:!0}),this.statusDisplay)if(t.type==="work"){let i=n==="long-break",s=this.t(i?"views.pomodoro.status.breakLength.long":"views.pomodoro.status.breakLength.short");this.statusDisplay.textContent=this.t("views.pomodoro.status.breakPrompt",{length:s})}else this.statusDisplay.textContent=this.t("views.pomodoro.status.breakComplete")}}});function SM(r){if(r.activePeriods&&Array.isArray(r.activePeriods))return r.activePeriods.filter(e=>e.endTime).reduce((e,t)=>{let n=new Date(t.startTime),s=new Date(t.endTime).getTime()-n.getTime();return e+Math.round(s/(1e3*60))},0);if(r.duration!==void 0)return r.duration;if(r.startTime&&r.endTime){let e=new Date(r.startTime),n=new Date(r.endTime).getTime()-e.getTime();return Math.round(n/(1e3*60))}return 0}var Nfe,xM=v(()=>{Nfe=`
let timerInterval;
self.onmessage = function(e) {
const { command, duration } = e.data;
if (command === 'start') {
if (timerInterval) {
clearInterval(timerInterval);
}
let timeRemaining = duration;
timerInterval = setInterval(() => {
timeRemaining--;
// Notificar al hilo principal cada segundo para actualizar la UI
self.postMessage({ type: 'tick', timeRemaining: timeRemaining });
if (timeRemaining <= 0) {
self.postMessage({ type: 'done' });
clearInterval(timerInterval);
timerInterval = null;
}
}, 1000);
} else if (command === 'stop') {
if (timerInterval) {
clearInterval(timerInterval);
timerInterval = null;
}
}
};
`});function ix(r){return[...r].sort((e,t)=>new Date(e.startTime).getTime()-new Date(t.startTime).getTime())}function j4e(r){var n;let e=(n=r.match(/^(\d{4}-\d{2}-\d{2})(?:[T\s]|$)/))==null?void 0:n[1];if(e)return e;let t=new Date(r);return isNaN(t.getTime())?"":ue(t)}function sx(r){return j4e(r.startTime)}function Rfe(r,e){return e?r.filter(t=>sx(t)===e):[]}function Ofe(r,e,t){let n=ue(e),i=ue(t);if(!n||!i)return[];let[s,a]=n<=i?[n,i]:[i,n];return r.filter(o=>{let l=sx(o);return l>=s&&l<=a})}function Lfe(r,e){let t=ue(r),n=ue(e);if(!t||!n)return[];let[i,s]=t<=n?[t,n]:[n,t],[a,o,l]=i.split("-").map(Number),[c,d,u]=s.split("-").map(Number),p=new Date(Date.UTC(a,o-1,l)),m=new Date(Date.UTC(c,d-1,u)),f=[];for(;p<=m;)f.push(ue(p)),p.setUTCDate(p.getUTCDate()+1);return f}function rv(r){let e=ix(r).filter(o=>o.type==="work"),t=e.filter(o=>o.completed),n=0;for(let o=e.length-1;o>=0&&e[o].completed;o--)n++;let i=t.reduce((o,l)=>o+SM(l),0),s=t.length>0?i/t.length:0,a=e.length>0?t.length/e.length*100:0;return{pomodorosCompleted:t.length,currentStreak:n,totalMinutes:i,averageSessionLength:Math.round(s),completionRate:Math.round(a)}}var R2=v(()=>{Qe();xM()});function z4e(r){return Number.isInteger(r)&&r>=0&&r<=6}var _d,EM,Ffe=v(()=>{_d=require("obsidian");Tn();On();Qe();xM();R2();EM=class extends _d.ItemView{constructor(t,n){super(t);this.overviewStatsEl=null;this.todayStatsEl=null;this.weekStatsEl=null;this.recentSessionsEl=null;this.overallStatsEl=null;this.plugin=n}getViewType(){return cg}getDisplayText(){return this.plugin.i18n.translate("views.pomodoroStats.title")}getIcon(){return"bar-chart"}t(t,n){return this.plugin.i18n.translate(t,n)}async onOpen(){await this.plugin.onReady(),await this.waitForPomodoroService(),await this.render()}async onClose(){this.contentEl.empty()}async render(){this.contentEl.empty();let t=this.contentEl.createDiv({cls:"tasknotes-plugin tasknotes-container pomodoro-stats-container pomodoro-stats-view"}),n=t.createDiv({cls:"pomodoro-stats-header pomodoro-stats-view__header"});new _d.Setting(n).setName(this.t("views.pomodoroStats.heading")).setHeading();let i=n.createEl("button",{cls:"pomodoro-stats-refresh-button pomodoro-stats-view__refresh-button",text:this.t("views.pomodoroStats.refresh")});this.registerDomEvent(i,"click",()=>{this.refreshStats()});let s=t.createDiv({cls:"pomodoro-stats-section pomodoro-stats-view__section"});new _d.Setting(s).setName(this.t("views.pomodoroStats.sections.overview")).setHeading(),this.overviewStatsEl=s.createDiv({cls:"pomodoro-overview-grid pomodoro-stats-view__overview-grid"});let a=t.createDiv({cls:"pomodoro-stats-section pomodoro-stats-view__section"});new _d.Setting(a).setName(this.t("views.pomodoroStats.sections.today")).setHeading(),this.todayStatsEl=a.createDiv({cls:"pomodoro-stats-grid pomodoro-stats-view__stats-grid"});let o=t.createDiv({cls:"pomodoro-stats-section pomodoro-stats-view__section"});new _d.Setting(o).setName(this.t("views.pomodoroStats.sections.week")).setHeading(),this.weekStatsEl=o.createDiv({cls:"pomodoro-stats-grid pomodoro-stats-view__stats-grid"});let l=t.createDiv({cls:"pomodoro-stats-section pomodoro-stats-view__section"});new _d.Setting(l).setName(this.t("views.pomodoroStats.sections.allTime")).setHeading(),this.overallStatsEl=l.createDiv({cls:"pomodoro-stats-grid pomodoro-stats-view__stats-grid"});let c=t.createDiv({cls:"pomodoro-stats-section pomodoro-stats-view__section"});new _d.Setting(c).setName(this.t("views.pomodoroStats.sections.recent")).setHeading(),this.recentSessionsEl=c.createDiv({cls:"pomodoro-recent-sessions pomodoro-stats-view__recent-sessions"}),await this.refreshStats()}async waitForPomodoroService(){let t=Date.now();for(;!this.plugin.pomodoroService&&Date.now()-t<5e3;)await new Promise(n=>window.setTimeout(n,50))}async refreshStats(){try{if(!this.plugin.pomodoroService)return;let t=kr(),n=en(t),i=new Date(t);i.setDate(i.getDate()-1);let s=en(i),a=this.plugin.settings.calendarViewSettings.firstDay||0,l={weekStartsOn:z4e(a)?a:0},c=Xi(n,l),d=tg(n,l),[u,p,m,f]=await Promise.all([this.plugin.pomodoroService.getTodayStats(),this.plugin.pomodoroService.getStatsForDate(s),this.plugin.pomodoroService.getStatsForDateRange(c,d),this.plugin.pomodoroService.getSessionHistory()]),h=rv(f);this.overviewStatsEl&&this.renderOverviewStats(this.overviewStatsEl,u,h,p),this.todayStatsEl&&this.renderStatsGrid(this.todayStatsEl,u),this.weekStatsEl&&this.renderStatsGrid(this.weekStatsEl,m),this.overallStatsEl&&this.renderStatsGrid(this.overallStatsEl,h),this.recentSessionsEl&&this.renderRecentSessions(this.recentSessionsEl,f)}catch(t){console.error("Failed to refresh stats:",t)}}renderRecentSessions(t,n){var s;let i=n.filter(a=>a.type==="work").slice(-10).reverse();if(t.empty(),i.length===0){t.createDiv({cls:"pomodoro-no-sessions pomodoro-stats-view__no-sessions",text:this.t("views.pomodoroStats.recents.empty")});return}for(let a of i){let o=t.createDiv({cls:"pomodoro-session-item pomodoro-stats-view__session-item"}),l=o.createSpan({cls:"session-date pomodoro-stats-view__session-date"}),c=this.plugin.settings.calendarViewSettings.timeFormat;l.textContent=P(new Date(a.startTime),c==="12"?"MMM d, h:mm a":"MMM d, HH:mm");let d=o.createSpan({cls:"session-duration pomodoro-stats-view__session-duration"}),u=SM(a);d.textContent=this.t("views.pomodoroStats.recents.duration",{minutes:u});let p=o.createSpan({cls:"session-status pomodoro-stats-view__session-status"});if(p.textContent=this.t(a.completed?"views.pomodoroStats.recents.status.completed":"views.pomodoroStats.recents.status.interrupted"),p.addClass(a.completed?"status-completed":"status-interrupted"),p.addClass(a.completed?"pomodoro-stats-view__session-status--completed":"pomodoro-stats-view__session-status--interrupted"),a.taskPath){let m=o.createSpan({cls:"session-task pomodoro-stats-view__session-task"}),f=((s=a.taskPath.split("/").pop())==null?void 0:s.replace(".md",""))||"";m.textContent=f}}}renderOverviewStats(t,n,i,s){t.empty();let a=y=>{if(y<60)return`${y}m`;let k=Math.floor(y/60),T=y%60;return T>0?`${k}h${T}m`:`${k}h`},o=n.pomodorosCompleted-s.pomodorosCompleted,l=n.totalMinutes-s.totalMinutes,c=t.createDiv({cls:"pomodoro-overview-card pomodoro-stats-view__overview-card"}),d=c.createDiv({cls:"overview-value pomodoro-stats-view__overview-value"});if(d.textContent=n.pomodorosCompleted.toString(),c.createDiv({cls:"overview-label pomodoro-stats-view__overview-label",text:this.t("views.pomodoroStats.overviewCards.todayPomos.label")}),o!==0){let y=c.createDiv({cls:"overview-change pomodoro-stats-view__overview-change"});y.textContent=o>0?this.t("views.pomodoroStats.overviewCards.todayPomos.change.more",{count:o}):this.t("views.pomodoroStats.overviewCards.todayPomos.change.less",{count:Math.abs(o)}),y.addClass(o>0?"positive":"negative")}let u=t.createDiv({cls:"pomodoro-overview-card pomodoro-stats-view__overview-card"}),p=u.createDiv({cls:"overview-value pomodoro-stats-view__overview-value"});p.textContent=i.pomodorosCompleted.toString(),u.createDiv({cls:"overview-label pomodoro-stats-view__overview-label",text:this.t("views.pomodoroStats.overviewCards.totalPomos.label")});let m=t.createDiv({cls:"pomodoro-overview-card pomodoro-stats-view__overview-card"}),f=m.createDiv({cls:"overview-value pomodoro-stats-view__overview-value"});if(f.textContent=a(n.totalMinutes),m.createDiv({cls:"overview-label pomodoro-stats-view__overview-label",text:this.t("views.pomodoroStats.overviewCards.todayFocus.label")}),l!==0){let y=m.createDiv({cls:"overview-change pomodoro-stats-view__overview-change"});y.textContent=l>0?this.t("views.pomodoroStats.overviewCards.todayFocus.change.more",{duration:a(Math.abs(l))}):this.t("views.pomodoroStats.overviewCards.todayFocus.change.less",{duration:a(Math.abs(l))}),y.addClass(l>0?"positive":"negative")}let h=t.createDiv({cls:"pomodoro-overview-card pomodoro-stats-view__overview-card"}),g=h.createDiv({cls:"overview-value pomodoro-stats-view__overview-value"});g.textContent=a(i.totalMinutes),h.createDiv({cls:"overview-label pomodoro-stats-view__overview-label",text:this.t("views.pomodoroStats.overviewCards.totalFocus.label")})}renderStatsGrid(t,n){t.empty();let i=t.createDiv({cls:"pomodoro-stat-card pomodoro-stats-view__stat-card"});i.createDiv({cls:"stat-value pomodoro-stats-view__stat-value",text:n.pomodorosCompleted.toString()}),i.createDiv({cls:"stat-label pomodoro-stats-view__stat-label",text:this.t("views.pomodoroStats.stats.pomodoros")});let s=t.createDiv({cls:"pomodoro-stat-card pomodoro-stats-view__stat-card"});s.createDiv({cls:"stat-value pomodoro-stats-view__stat-value",text:n.currentStreak.toString()}),s.createDiv({cls:"stat-label pomodoro-stats-view__stat-label",text:this.t("views.pomodoroStats.stats.streak")});let a=t.createDiv({cls:"pomodoro-stat-card pomodoro-stats-view__stat-card"});a.createDiv({cls:"stat-value pomodoro-stats-view__stat-value",text:n.totalMinutes.toString()}),a.createDiv({cls:"stat-label pomodoro-stats-view__stat-label",text:this.t("views.pomodoroStats.stats.minutes")});let o=t.createDiv({cls:"pomodoro-stat-card pomodoro-stats-view__stat-card"});o.createDiv({cls:"stat-value pomodoro-stats-view__stat-value",text:n.averageSessionLength.toString()}),o.createDiv({cls:"stat-label pomodoro-stats-view__stat-label",text:this.t("views.pomodoroStats.stats.average")});let l=t.createDiv({cls:"pomodoro-stat-card pomodoro-stats-view__stat-card"});l.createDiv({cls:"stat-value pomodoro-stats-view__stat-value",text:`${n.completionRate}%`}),l.createDiv({cls:"stat-label pomodoro-stats-view__stat-label",text:this.t("views.pomodoroStats.stats.completion")})}}});function B4e(r){return Number.isInteger(r)&&r>=0&&r<=6}var co,DM,$fe=v(()=>{co=require("obsidian");Tn();On();Cr();Qe();$i();hd();Bo();DM=class extends co.ItemView{constructor(t,n){super(t);this.overviewStatsEl=null;this.todayStatsEl=null;this.weekStatsEl=null;this.monthStatsEl=null;this.projectsStatsEl=null;this.filtersEl=null;this.currentFilters={dateRange:"all",selectedProjects:[],minTimeSpent:0};this.drilldownModal=null;this.currentDrilldownData=null;this.listeners=[];this.statsCache=new Map;this.lastCacheTime=0;this.CACHE_DURATION=6e4;this.debounceTimeout=null;this.plugin=n}getViewType(){return dg}getDisplayText(){return this.plugin.i18n.translate("views.stats.title")}getIcon(){return"bar-chart-4"}async onOpen(){await this.plugin.onReady();let t=this.plugin.emitter.on(Vt,async({path:n,originalTask:i,updatedTask:s})=>{if(!n||!s||!this.drilldownModal||!this.currentDrilldownData)return;this.currentDrilldownData.tasks.some(o=>o.path===n||i&&o.path===i.path)&&await this.refreshDrilldownModal()});this.listeners.push(t),await this.render()}async onClose(){this.contentEl.empty(),this.listeners.forEach(t=>this.plugin.emitter.offref(t)),this.listeners=[]}async render(){let t=this.contentEl.createDiv({cls:"tasknotes-plugin tasknotes-container stats-container stats-view"}),n=t.createDiv({cls:"stats-header stats-view__header"});new co.Setting(n).setName(this.plugin.i18n.translate("views.stats.taskProjectStats")).setHeading();let i=n.createEl("button",{cls:"stats-refresh-button stats-view__refresh-button",text:this.plugin.i18n.translate("views.stats.refreshButton")});this.registerDomEvent(i,"click",()=>{this.refreshStats()});let s=t.createDiv({cls:"stats-section stats-view__section"});new co.Setting(s).setName(this.plugin.i18n.translate("views.stats.sections.filters")).setHeading(),this.filtersEl=s.createDiv({cls:"stats-filters stats-view__filters"}),this.renderFilters();let a=t.createDiv({cls:"stats-section stats-view__section"});new co.Setting(a).setName(this.plugin.i18n.translate("views.stats.sections.overview")).setHeading(),this.overviewStatsEl=a.createDiv({cls:"stats-overview-grid stats-view__overview-grid"});let o=t.createDiv({cls:"stats-section stats-view__section"});new co.Setting(o).setName(this.plugin.i18n.translate("views.stats.sections.today")).setHeading(),this.todayStatsEl=o.createDiv({cls:"stats-grid stats-view__stats-grid"});let l=t.createDiv({cls:"stats-section stats-view__section"});new co.Setting(l).setName(this.plugin.i18n.translate("views.stats.sections.thisWeek")).setHeading(),this.weekStatsEl=l.createDiv({cls:"stats-grid stats-view__stats-grid"});let c=t.createDiv({cls:"stats-section stats-view__section"});new co.Setting(c).setName(this.plugin.i18n.translate("views.stats.sections.thisMonth")).setHeading(),this.monthStatsEl=c.createDiv({cls:"stats-grid stats-view__stats-grid"});let d=t.createDiv({cls:"stats-section stats-view__section"});new co.Setting(d).setName(this.plugin.i18n.translate("views.stats.sections.projectBreakdown")).setHeading(),this.projectsStatsEl=d.createDiv({cls:"stats-projects stats-view__projects"}),await this.refreshStats()}async refreshStats(){try{this.clearCache();let t=await Promise.allSettled([this.updateOverviewStats(),this.updateTodayStats(),this.updateWeekStats(),this.updateMonthStats(),this.updateProjectStats()])}catch(t){}}async getAllTasks(){let t=`all-tasks-${JSON.stringify(this.currentFilters)}`;if(this.isCacheValid()&&this.statsCache.has(t)){let s=this.statsCache.get(t);if(s)return s}let n=this.plugin.cacheManager.getAllTaskPaths(),i=[];for(let s of n)try{let a=await this.plugin.cacheManager.getTaskInfo(s);a&&i.push(a)}catch(a){}return i=this.applyTaskFilters(i),this.statsCache.set(t,i),this.lastCacheTime=Date.now(),i}applyTaskFilters(t){let n=t,i=this.getFilterDateRange();return(i.start||i.end)&&(n=n.filter(s=>{if(s.timeEntries&&s.timeEntries.length>0)return s.timeEntries.some(a=>{if(!a.startTime)return!1;let o=new Date(a.startTime);return!(i.start&&o<i.start||i.end&&o>i.end)});if(s.completedDate){let a=new Date(s.completedDate);return!(i.start&&a<i.start||i.end&&a>i.end)}if(s.dateCreated){let a=new Date(s.dateCreated);return!(i.start&&a<i.start||i.end&&a>i.end)}return!(i.start||i.end)})),this.currentFilters.minTimeSpent>0&&(n=n.filter(s=>is(s.timeEntries||[])>=this.currentFilters.minTimeSpent)),n}async updateOverviewStats(){if(!this.overviewStatsEl)return;let t=await this.getAllTasks(),n=this.calculateOverallStats(t);this.renderOverviewStats(this.overviewStatsEl,n)}async updateTodayStats(){if(!this.todayStatsEl)return;let t=kr(),n=await this.calculateStatsForRange(Oo(t),Hb(t));this.renderTimeRangeStats(this.todayStatsEl,n)}async updateWeekStats(){if(!this.weekStatsEl)return;let t=kr(),n=this.plugin.settings.calendarViewSettings.firstDay||0,s={weekStartsOn:B4e(n)?n:0},a=Xi(t,s),o=tg(t,s),l=await this.calculateStatsForRange(a,o);this.renderTimeRangeStats(this.weekStatsEl,l)}async updateMonthStats(){if(!this.monthStatsEl)return;let t=kr(),n=cD(t),i=lD(t),s=await this.calculateStatsForRange(n,i);this.renderTimeRangeStats(this.monthStatsEl,s)}async updateProjectStats(){if(!this.projectsStatsEl)return;let t=await this.getAllTasks(),n=this.calculateProjectStats(t);await this.renderProjectStats(this.projectsStatsEl,n)}consolidateProjectName(t){var n;if(!t||typeof t!="string")return t;if(t.startsWith("[[")&&t.endsWith("]]")){let i=this.extractWikilinkPath(t);if(i&&((n=this.plugin)!=null&&n.app)){let s=this.plugin.app.metadataCache.getFirstLinkpathDest(i,"");if(s)return s.basename;let a=this.extractProjectName(t);if(a)return a}}if(t.includes("|")){let i=t.split("|");return i[i.length-1]||t}if(t.includes("/")){let i=t.split("/");return i[i.length-1]||t}return t}extractWikilinkPath(t){if(!t||typeof t!="string"||!t.startsWith("[[")||!t.endsWith("]]"))return null;let n=t.slice(2,-2);return(0,co.parseLinktext)(n).path}extractProjectName(t){var i;return t&&bg(t,(i=this.plugin)==null?void 0:i.app)||null}calculateOverallStats(t){let n=0,i=0,s=0,a=new Set;for(let o of t){n+=is(o.timeEntries||[]),i+=o.timeEstimate||0,this.plugin.statusManager.isCompletedStatus(o.status)&&s++;let l=this.getTaskProjects(o);for(let c of l)a.add(c)}return{totalTimeSpent:n,totalTimeEstimate:i,totalTasks:t.length,completedTasks:s,activeProjects:a.size,completionRate:t.length>0?s/t.length*100:0,avgTimePerTask:t.length>0?n/t.length:0}}async calculateStatsForRange(t,n){let s=(await this.getAllTasks()).filter(l=>{if(l.timeEntries&&l.timeEntries.length>0)return l.timeEntries.some(c=>{if(!c.startTime)return!1;let d=new Date(c.startTime);return d>=t&&d<=n});if(l.completedDate){let c=new Date(l.completedDate);return c>=t&&c<=n}if(l.dateCreated){let c=new Date(l.dateCreated);return c>=t&&c<=n}return!1}),a=this.calculateOverallStats(s),o=this.calculateProjectStats(s);return{overall:a,projects:o}}calculateProjectStats(t){let n=new Map;for(let a of t){let o=is(a.timeEntries||[]),l=a.timeEstimate||0,c=this.plugin.statusManager.isCompletedStatus(a.status),d;a.timeEntries&&a.timeEntries.length>0?d=[...a.timeEntries].sort((m,f)=>new Date(f.startTime).getTime()-new Date(m.startTime).getTime())[0].startTime:a.completedDate?d=a.completedDate:a.dateModified&&(d=a.dateModified);let u=this.getTaskProjects(a);for(let p of u){n.has(p)||n.set(p,{tasks:[],totalTime:0,totalTimeEstimate:0,completedCount:0,lastActivity:void 0});let m=n.get(p);m&&(m.tasks.push(a),m.totalTime+=o,m.totalTimeEstimate+=l,c&&m.completedCount++,d&&(!m.lastActivity||new Date(d)>new Date(m.lastActivity))&&(m.lastActivity=d))}}let i=[];for(let[a,o]of n.entries())i.push({projectName:a,totalTimeSpent:o.totalTime,totalTimeEstimate:o.totalTimeEstimate,taskCount:o.tasks.length,completedTaskCount:o.completedCount,avgTimePerTask:o.tasks.length>0?o.totalTime/o.tasks.length:0,lastActivity:o.lastActivity});let s=this.plugin.i18n.translate("views.stats.noProject");return i.sort((a,o)=>a.projectName===s?1:o.projectName===s?-1:o.totalTimeSpent-a.totalTimeSpent),i}renderFilters(){if(!this.filtersEl)return;this.filtersEl.empty();let t=this.filtersEl.createDiv({cls:"stats-view__filter-grid"}),n=t.createDiv({cls:"stats-view__filter-item"}),i=n.createDiv({cls:"stats-view__filter-label"});i.textContent=this.plugin.i18n.translate("views.stats.sections.dateRange");let s=n.createEl("select",{cls:"stats-view__filter-select"}),a=[{value:"all",text:this.plugin.i18n.translate("views.stats.timeRanges.allTime")},{value:"7days",text:this.plugin.i18n.translate("views.stats.timeRanges.last7Days")},{value:"30days",text:this.plugin.i18n.translate("views.stats.timeRanges.last30Days")},{value:"90days",text:this.plugin.i18n.translate("views.stats.timeRanges.last90Days")},{value:"custom",text:this.plugin.i18n.translate("views.stats.timeRanges.customRange")}];for(let m of a){let f=s.createEl("option",{value:m.value,text:m.text});m.value===this.currentFilters.dateRange&&(f.selected=!0)}this.registerDomEvent(s,"change",()=>{this.currentFilters.dateRange=s.value,this.renderCustomDateInputs(),this.applyFilters()});let o=t.createDiv({cls:"stats-view__custom-dates"});this.currentFilters.dateRange==="custom"&&this.renderCustomDateInputs(o);let l=t.createDiv({cls:"stats-view__filter-item"}),c=l.createDiv({cls:"stats-view__filter-label"});c.textContent=this.plugin.i18n.translate("views.stats.filters.minTime");let d=l.createEl("input",{cls:"stats-view__filter-input",type:"number",value:this.currentFilters.minTimeSpent.toString(),placeholder:"0"});this.registerDomEvent(d,"input",()=>{this.currentFilters.minTimeSpent=parseInt(d.value)||0,this.applyFilters()});let p=t.createDiv({cls:"stats-view__filter-buttons"}).createEl("button",{cls:"stats-view__filter-button stats-view__filter-button--reset",text:this.plugin.i18n.translate("views.stats.resetFiltersButton")});this.registerDomEvent(p,"click",()=>{this.currentFilters={dateRange:"all",selectedProjects:[],minTimeSpent:0},this.renderFilters(),this.applyFilters()})}renderCustomDateInputs(t){var i;let n=t||((i=this.filtersEl)==null?void 0:i.querySelector(".stats-view__custom-dates"));if(n&&(n.empty(),this.currentFilters.dateRange==="custom")){let s=n.createDiv({cls:"stats-view__date-input-container"});s.createDiv({cls:"stats-view__date-label",text:this.plugin.i18n.translate("views.stats.dateRangeFrom")});let a=s.createEl("input",{cls:"stats-view__date-input",type:"date",value:this.currentFilters.customStartDate||""}),o=n.createDiv({cls:"stats-view__date-input-container"});o.createDiv({cls:"stats-view__date-label",text:this.plugin.i18n.translate("views.stats.dateRangeTo")});let l=o.createEl("input",{cls:"stats-view__date-input",type:"date",value:this.currentFilters.customEndDate||""});this.registerDomEvent(a,"change",()=>{this.currentFilters.customStartDate=a.value,this.applyFilters()}),this.registerDomEvent(l,"change",()=>{this.currentFilters.customEndDate=l.value,this.applyFilters()})}}async applyFilters(){this.debounceTimeout&&window.clearTimeout(this.debounceTimeout),this.debounceTimeout=window.setTimeout(()=>{(async()=>(await this.refreshStats(),this.debounceTimeout=null))()},300)}isCacheValid(){return Date.now()-this.lastCacheTime<this.CACHE_DURATION}clearCache(){this.statsCache.clear(),this.lastCacheTime=0}getTaskProjects(t){try{if(!t||!Array.isArray(t.projects))return[this.plugin.i18n.translate("views.stats.noProject")];let n=ku(t.projects);return n.length>0?n.map(i=>this.consolidateProjectName(i)).filter(i=>typeof i=="string"&&i.length>0):[this.plugin.i18n.translate("views.stats.noProject")]}catch(n){return[this.plugin.i18n.translate("views.stats.noProject")]}}getFilterDateRange(){let t=kr();switch(this.currentFilters.dateRange){case"7days":return{start:Oo(sg(t,7)),end:Hb(t)};case"30days":return{start:Oo(sg(t,30)),end:Hb(t)};case"90days":return{start:Oo(sg(t,90)),end:Hb(t)};case"custom":return{start:this.currentFilters.customStartDate?new Date(`${this.currentFilters.customStartDate}T00:00:00`):void 0,end:this.currentFilters.customEndDate?new Date(`${this.currentFilters.customEndDate}T23:59:59.999`):void 0};case"all":default:return{}}}renderOverviewStats(t,n){t.empty();let i=h=>{if(h<60)return`${Math.round(h)}m`;let g=Math.floor(h/60),y=Math.round(h%60);return y>0?`${g}h ${y}m`:`${g}h`},s=t.createDiv({cls:"stats-overview-card stats-view__overview-card"}),a=s.createDiv({cls:"overview-value stats-view__overview-value"});a.textContent=`${i(n.totalTimeSpent)} / ${i(n.totalTimeEstimate)}`,s.createDiv({cls:"overview-label stats-view__overview-label",text:this.plugin.i18n.translate("views.stats.cards.timeTrackedEstimated")});let o=t.createDiv({cls:"stats-overview-card stats-view__overview-card"}),l=o.createDiv({cls:"overview-value stats-view__overview-value"});l.textContent=n.totalTasks.toString(),o.createDiv({cls:"overview-label stats-view__overview-label",text:this.plugin.i18n.translate("views.stats.cards.totalTasks")});let c=t.createDiv({cls:"stats-overview-card stats-view__overview-card"}),d=c.createDiv({cls:"overview-value stats-view__overview-value"});d.textContent=`${Math.round(n.completionRate)}%`,c.createDiv({cls:"overview-label stats-view__overview-label",text:this.plugin.i18n.translate("views.stats.cards.completionRate")});let u=t.createDiv({cls:"stats-overview-card stats-view__overview-card"}),p=u.createDiv({cls:"overview-value stats-view__overview-value"});p.textContent=n.activeProjects.toString(),u.createDiv({cls:"overview-label stats-view__overview-label",text:this.plugin.i18n.translate("views.stats.cards.activeProjects")});let m=t.createDiv({cls:"stats-overview-card stats-view__overview-card"}),f=m.createDiv({cls:"overview-value stats-view__overview-value"});f.textContent=i(n.avgTimePerTask),m.createDiv({cls:"overview-label stats-view__overview-label",text:this.plugin.i18n.translate("views.stats.cards.avgTimePerTask")})}renderTimeRangeStats(t,n){t.empty();let i=c=>{if(c<60)return`${Math.round(c)}m`;let d=Math.floor(c/60),u=Math.round(c%60);return u>0?`${d}h ${u}m`:`${d}h`},s=t.createDiv({cls:"stats-stat-card stats-view__stat-card"});s.createDiv({cls:"stat-value stats-view__stat-value",text:`${i(n.overall.totalTimeSpent)} / ${i(n.overall.totalTimeEstimate)}`}),s.createDiv({cls:"stat-label stats-view__stat-label",text:this.plugin.i18n.translate("views.stats.cards.timeTrackedEstimated")});let a=t.createDiv({cls:"stats-stat-card stats-view__stat-card"});a.createDiv({cls:"stat-value stats-view__stat-value",text:n.overall.totalTasks.toString()}),a.createDiv({cls:"stat-label stats-view__stat-label",text:this.plugin.i18n.translate("views.stats.labels.tasks")});let o=t.createDiv({cls:"stats-stat-card stats-view__stat-card"});o.createDiv({cls:"stat-value stats-view__stat-value",text:n.overall.completedTasks.toString()}),o.createDiv({cls:"stat-label stats-view__stat-label",text:this.plugin.i18n.translate("views.stats.labels.completed")});let l=t.createDiv({cls:"stats-stat-card stats-view__stat-card"});l.createDiv({cls:"stat-value stats-view__stat-value",text:n.overall.activeProjects.toString()}),l.createDiv({cls:"stat-label stats-view__stat-label",text:this.plugin.i18n.translate("views.stats.labels.projects")})}async renderProjectStats(t,n){if(t.empty(),n.length===0){t.createDiv({cls:"stats-no-data stats-view__no-data",text:this.plugin.i18n.translate("views.stats.noProjectData")});return}let i=a=>{if(a<60)return`${Math.round(a)}m`;let o=Math.floor(a/60),l=Math.round(a%60);return l>0?`${o}h ${l}m`:`${o}h`},s=a=>{if(!a)return this.plugin.i18n.translate("views.stats.notAvailable");try{let o=new Date(a);return P(o,"MMM d, yyyy")}catch(o){return this.plugin.i18n.translate("views.stats.notAvailable")}};for(let a of n){let o=["stats-project-item","stats-view__project-item","stats-view__project-item--clickable"];a.projectName===this.plugin.i18n.translate("views.stats.noProject")&&o.push("stats-view__project-item--no-project");let l=t.createDiv({cls:o.join(" ")});this.registerDomEvent(l,"click",()=>{this.openProjectDrilldown(a.projectName)});let c=l.createDiv({cls:"stats-view__project-header"}),d=c.createDiv({cls:"project-name stats-view__project-name"});d.textContent=a.projectName,c.createDiv({cls:"stats-view__click-indicator",text:"\u2192"});let u=a.taskCount>0?a.completedTaskCount/a.taskCount*100:0,p=l.createDiv({cls:"stats-view__project-content-grid"}),m=p.createDiv({cls:"stats-view__progress-container"});this.renderProgressCircle(m,u,a.completedTaskCount,a.taskCount);let f=p.createDiv({cls:"stats-view__stats-container"});if(a.totalTimeSpent>0||a.totalTimeEstimate>0){let k=f.createDiv({cls:"stats-view__time-bar"}),w=k.createDiv({cls:"stats-view__time-bar-visual"}).createDiv({cls:"stats-view__time-bar-fill"}),S=0;a.totalTimeEstimate>0?S=a.totalTimeSpent/a.totalTimeEstimate*100:a.totalTimeSpent>0&&(S=100,w.classList.remove("tn-static-background-color-var-background-mo-94b219f0","tn-static-background-color-var-background-se-9087a23e","tn-static-background-color-var-color-red-134bc721","tn-static-background-color-var-text-accent-a954c70f"),w.classList.add("tn-static-background-color-var-color-base-40-ef5f175e")),w.style.width=`${Math.min(S,100)}%`,S>100&&(w.classList.remove("tn-static-background-color-var-background-mo-94b219f0","tn-static-background-color-var-background-se-9087a23e","tn-static-background-color-var-color-base-40-ef5f175e","tn-static-background-color-var-text-accent-a954c70f"),w.classList.add("tn-static-background-color-var-color-red-134bc721"));let E=k.createDiv({cls:"stats-view__time-bar-label"});E.textContent=`${i(a.totalTimeSpent)} / ${i(a.totalTimeEstimate)}`}let h=f.createDiv({cls:"project-stats stats-view__project-stats"});if(a.lastActivity){let k=h.createDiv({cls:"project-stat stats-view__project-stat"});k.textContent=`Last activity: ${s(a.lastActivity)}`}if(a.avgTimePerTask>0){let k=h.createDiv({cls:"project-stat stats-view__project-stat"});k.textContent=`Avg: ${i(a.avgTimePerTask)}/task`}let g=f.createDiv({cls:"stats-view__trend-container"}),y=g.createDiv({cls:"stats-view__sparkline"});try{let k=await this.calculateProjectTrend(a.projectName);k.length>0&&k.some(T=>T.value>0)?this.renderSparkline(y,k):g.remove()}catch(k){g.remove()}}}renderProgressCircle(t,n,i,s){let c=2*Math.PI*27.5,d=c-n/100*c,u=activeDocument.createElementNS("http://www.w3.org/2000/svg","svg");u.setAttribute("width","60"),u.setAttribute("height","60"),u.setAttribute("viewBox","0 0 60 60"),u.classList.add("stats-view__progress-circle-svg");let p=activeDocument.createElementNS("http://www.w3.org/2000/svg","circle");p.setAttribute("cx",(60/2).toString()),p.setAttribute("cy",(60/2).toString()),p.setAttribute("r",27.5.toString()),p.classList.add("stats-view__progress-circle-bg");let m=activeDocument.createElementNS("http://www.w3.org/2000/svg","circle");m.setAttribute("cx",(60/2).toString()),m.setAttribute("cy",(60/2).toString()),m.setAttribute("r",27.5.toString()),m.setAttribute("stroke-dasharray",`${c} ${c}`),m.setAttribute("stroke-dashoffset",d.toString()),m.classList.add("stats-view__progress-circle-fg");let f=activeDocument.createElementNS("http://www.w3.org/2000/svg","text");f.setAttribute("x","50%"),f.setAttribute("y","50%"),f.setAttribute("dy","0.3em"),f.setAttribute("text-anchor","middle"),f.classList.add("stats-view__progress-circle-text"),f.textContent=`${Math.round(n)}%`,u.appendChild(p),u.appendChild(m),u.appendChild(f),t.appendChild(u);let h=t.createDiv({cls:"stats-view__progress-label"});h.textContent=`${i}/${s} tasks`}async calculateProjectTrend(t){try{let n=this.plugin.cacheManager.getAllTaskPaths(),i=[];for(let o of n)try{let l=await this.plugin.cacheManager.getTaskInfo(o);l&&this.getTaskProjects(l).includes(t)&&i.push(l)}catch(l){}let s=[],a=kr();for(let o=29;o>=0;o--){let l=sg(a,o),c=P(l,"yyyy-MM-dd"),d=0;for(let u of i)if(u.timeEntries)for(let p of u.timeEntries)p.startTime&&P(new Date(p.startTime),"yyyy-MM-dd")===c&&(d+=is([p]));s.push({date:c,value:d})}return s}catch(n){return[]}}renderSparkline(t,n){if(t.empty(),n.length===0)return;let i=100,s=20,a=Math.max(...n.map(d=>d.value));if(a===0)return;let o=activeDocument.createElementNS("http://www.w3.org/2000/svg","svg");o.setAttribute("width",i.toString()),o.setAttribute("height",s.toString()),o.setAttribute("viewBox",`0 0 ${i} ${s}`),o.classList.add("stats-view__sparkline-svg");let l=activeDocument.createElementNS("http://www.w3.org/2000/svg","path"),c="";n.forEach((d,u)=>{let p=u/(n.length-1)*i,m=s-d.value/a*s;u===0?c+=`M ${p} ${m}`:c+=` L ${p} ${m}`}),l.setAttribute("d",c),l.setAttribute("fill","none"),l.setAttribute("stroke","currentColor"),l.setAttribute("stroke-width","1.5"),l.setAttribute("opacity","0.7"),o.appendChild(l),t.appendChild(o)}async openProjectDrilldown(t){this.closeDrilldownModal();let n=this.contentEl.ownerDocument,i=n.body.createDiv({cls:"stats-view__modal-backdrop"});this.drilldownModal=i;let s=i.createDiv({cls:"stats-view__modal tasknotes-plugin"}),a=s.createDiv({cls:"stats-view__modal-header"}),o=a.createDiv({cls:"stats-view__modal-title"});o.textContent=`${t} - Detailed View`;let l=a.createEl("button",{cls:"stats-view__modal-close",text:"\xD7"}),c=s.createDiv({cls:"stats-view__modal-content"});c.textContent=this.plugin.i18n.translate("views.stats.loading"),this.registerDomEvent(l,"click",()=>this.closeDrilldownModal()),this.registerDomEvent(i,"click",u=>{u.target===i&&this.closeDrilldownModal()});let d=u=>{u.key==="Escape"&&(this.closeDrilldownModal(),n.removeEventListener("keydown",d))};n.addEventListener("keydown",d);try{let u=await this.getProjectDrilldownData(t);this.currentDrilldownData=u,this.renderDrilldownContent(c,u)}catch(u){console.error("Error loading drill-down data:",u),c.textContent=this.plugin.i18n.translate("notices.statsLoadingFailed")}}closeDrilldownModal(){this.drilldownModal&&(this.drilldownModal.remove(),this.drilldownModal=null,this.currentDrilldownData=null)}async refreshDrilldownModal(){if(!this.drilldownModal||!this.currentDrilldownData)return;let t=this.drilldownModal.querySelector(".stats-view__modal-content");if(t)try{let n=await this.getProjectDrilldownData(this.currentDrilldownData.projectName);this.currentDrilldownData=n,this.renderDrilldownContent(t,n)}catch(n){console.error("Error refreshing drill-down modal:",n)}}async getProjectDrilldownData(t){var p;let n=this.plugin.cacheManager.getAllTaskPaths(),i=[];for(let m of n)try{let f=await this.plugin.cacheManager.getTaskInfo(m);f&&this.getTaskProjects(f).includes(t)&&i.push(f)}catch(f){console.error(`Failed to get task for drill-down: ${m}`,f)}let s=i.reduce((m,f)=>m+is(f.timeEntries||[]),0),a=i.reduce((m,f)=>m+(f.timeEstimate||0),0),o=i.filter(m=>this.plugin.statusManager.isCompletedStatus(m.status)).length,l=i.length>0?o/i.length*100:0,c=i.filter(m=>{var f;return((f=m.timeEntries)==null?void 0:f.length)||m.completedDate}).sort((m,f)=>{var y,k;let h=(y=m.timeEntries)!=null&&y.length?Math.max(...m.timeEntries.map(T=>new Date(T.startTime).getTime())):m.completedDate?new Date(m.completedDate).getTime():0;return((k=f.timeEntries)!=null&&k.length?Math.max(...f.timeEntries.map(T=>new Date(T.startTime).getTime())):f.completedDate?new Date(f.completedDate).getTime():0)-h}).slice(0,10),d=[],u=kr();for(let m=29;m>=0;m--){let f=sg(u,m),h=P(f,"yyyy-MM-dd"),g=0,y=0,k=0;for(let T of i){if(T.timeEntries){let w=T.timeEntries.filter(S=>P(new Date(S.startTime),"yyyy-MM-dd")===h);w.length>0&&(g+=is(w),y++)}T.completedDate&&P(new Date(T.completedDate),"yyyy-MM-dd")===h&&(k++,(p=T.timeEntries)!=null&&p.some(w=>P(new Date(w.startTime),"yyyy-MM-dd")===h)||y++)}d.push({date:h,timeSpent:g,taskCount:y,completedTasks:k})}return{projectName:t,tasks:i,totalTimeSpent:s,totalTimeEstimate:a,completionRate:l,timeByDay:d,recentActivity:c}}renderDrilldownContent(t,n){t.empty();let i=S=>{if(S<60)return`${Math.round(S)}m`;let E=Math.floor(S/60),C=Math.round(S%60);return C>0?`${E}h ${C}m`:`${E}h`},a=t.createDiv({cls:"stats-view__drilldown-overview"}).createDiv({cls:"stats-view__drilldown-stats"}),o=a.createDiv({cls:"stats-view__drilldown-card"});o.createDiv({cls:"stats-view__drilldown-value",text:`${i(n.totalTimeSpent)} / ${i(n.totalTimeEstimate)}`}),o.createDiv({cls:"stats-view__drilldown-label",text:"Total Time"});let l=a.createDiv({cls:"stats-view__drilldown-card"});l.createDiv({cls:"stats-view__drilldown-value",text:n.tasks.length.toString()}),l.createDiv({cls:"stats-view__drilldown-label",text:"Total Tasks"});let c=a.createDiv({cls:"stats-view__drilldown-card"});c.createDiv({cls:"stats-view__drilldown-value",text:`${Math.round(n.completionRate)}%`}),c.createDiv({cls:"stats-view__drilldown-label",text:"Completed"});let d=a.createDiv({cls:"stats-view__drilldown-card"}),u=n.tasks.length>0?n.totalTimeSpent/n.tasks.length:0,p=n.tasks.length>0?n.totalTimeEstimate/n.tasks.length:0;d.createDiv({cls:"stats-view__drilldown-value",text:`${i(u)} / ${i(p)}`}),d.createDiv({cls:"stats-view__drilldown-label",text:"Avg per Task"});let m=t.createDiv({cls:"stats-view__drilldown-section"});m.createDiv({cls:"stats-view__drilldown-heading",text:"Activity Over Time (Last 30 Days)"});let f=m.createDiv({cls:"stats-view__activity-chart"});this.renderActivityChart(f,n.timeByDay);let h=t.createDiv({cls:"stats-view__drilldown-section"}),g=h.createDiv({cls:"stats-view__section-header"});g.createDiv({cls:"stats-view__drilldown-heading",text:"All Project Tasks"});let k=g.createDiv({cls:"stats-view__task-filters"}).createEl("select",{cls:"stats-view__filter-select"});k.createEl("option",{value:"all",text:this.plugin.i18n.translate("views.stats.filters.allTasks")}),k.createEl("option",{value:"active",text:this.plugin.i18n.translate("views.stats.filters.activeOnly")}),k.createEl("option",{value:"completed",text:this.plugin.i18n.translate("views.stats.filters.completedOnly")});let T=h.createDiv({cls:"stats-view__task-list"}),w=(S="all")=>{T.empty();let E=n.tasks;if(S==="active"?E=n.tasks.filter(D=>!this.plugin.statusManager.isCompletedStatus(D.status)):S==="completed"&&(E=n.tasks.filter(D=>this.plugin.statusManager.isCompletedStatus(D.status))),E.sort((D,A)=>{let N=this.plugin.statusManager.isCompletedStatus(D.status),V=this.plugin.statusManager.isCompletedStatus(A.status);if(N!==V)return N?1:-1;let R=I=>{var O;return(O=I.timeEntries)!=null&&O.length?Math.max(...I.timeEntries.map(z=>new Date(z.startTime).getTime())):I.dateModified?new Date(I.dateModified).getTime():0};return R(A)-R(D)}),E.length===0){T.createDiv({cls:"stats-view__no-data",text:this.plugin.i18n.translate("views.stats.noTasks")});return}let C=T.createDiv({cls:"stats-view__task-count"});C.textContent=`Showing ${E.length} task${E.length!==1?"s":""}`;for(let D of E){let A=this.plugin.settings.defaultVisibleProperties?Fi(this.plugin.settings.defaultVisibleProperties,this.plugin):void 0,N=pr(D,this.plugin,A);T.appendChild(N)}};w("all"),this.registerDomEvent(k,"change",()=>{w(k.value)})}renderActivityChart(t,n){if(t.empty(),n.length===0)return;let i=Math.max(...n.map(a=>a.timeSpent));if(i===0){t.createDiv({cls:"stats-view__no-data",text:"No time tracking data"});return}let s=t.createDiv({cls:"stats-view__bar-chart"});for(let a of n){let l=s.createDiv({cls:"stats-view__bar-container"}).createDiv({cls:"stats-view__bar"}),c=a.timeSpent/i*40;l.style.height=`${c}px`;let d=`${P(new Date(a.date),"MMM d")}: ${Math.round(a.timeSpent)}m`;l.setAttribute("title",d)}}}});function q4e(r,e=O2){return r.replace(/\(((?:#\d+\s*)(?:,\s*#\d+\s*)*)\)/g,(t,n)=>`(${n.split(",").map(s=>s.trim()).filter(Boolean).map(s=>{let a=s.slice(1);return`[#${a}](${e}/issues/${a})`}).join(", ")})`)}var PM,ax,jfe,O2,CM,L2=v(()=>{PM=require("obsidian");Tn();ax="tasknotes-release-notes",jfe="https://github.com/callumalpass/tasknotes/releases",O2="https://github.com/callumalpass/tasknotes";CM=class extends PM.ItemView{constructor(e,t,n,i){super(e),this.plugin=t,this.releaseNotesBundle=n,this.version=i}getViewType(){return ax}getDisplayText(){return this.plugin.i18n.translate("views.releaseNotes.title",{version:this.version})}getIcon(){return"book-open"}transformIssueLinks(e){return q4e(e)}formatDate(e){if(!e)return"";try{let t=ia(e);return P(t,"MMMM d, yyyy")}catch(t){return""}}async createVersionSection(e,t,n){let i=e.createDiv({cls:"release-notes-version-section"});i.classList.remove("tn-static-font-size-12px-65574819","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-margin-bottom-0-75rem-c05a3c6e","tn-static-margin-bottom-8px-fdf33f23"),i.classList.add("tn-static-margin-bottom-20px-49f14f8f"),i.classList.remove("tn-static-border-none-2eda1daa","tn-static-padding-12px-43bef435"),i.classList.add("tn-static-border-1px-solid-var-background-mo-b65b5121"),i.classList.remove("tn-static-border-radius-4px-c290c56e","tn-static-margin-8px-0-0-0-a2eb8382","tn-static-padding-12px-43bef435","tn-static-padding-20px-ebe8e48c"),i.classList.add("tn-static-border-radius-6px-0dc8408c"),i.classList.remove("tn-static-flex-1-14e3b769"),i.classList.add("tn-static-overflow-hidden-69824400");let s=i.createDiv({cls:"release-notes-version-header"});s.classList.remove("tn-static-margin-8px-0-0-0-a2eb8382","tn-static-padding-0-16px-16px-16px-f1aa998c","tn-static-padding-0-41d7d7e2","tn-static-padding-12px-43bef435","tn-static-padding-20px-769fed37","tn-static-padding-20px-7a035d95","tn-static-padding-20px-ebe8e48c","tn-static-padding-2px-8px-c8eea84a","tn-static-padding-2rem-42aa6d9c"),s.classList.add("tn-static-padding-16px-287f770e"),s.classList.remove("tn-static-cursor-grab-dad79857","tn-static-cursor-pointer-2723efcc"),s.classList.add("tn-static-cursor-pointer-3b6a3a65"),s.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),s.classList.add("tn-static-display-flex-75816cae"),s.classList.remove("tn-static-justify-content-center-03c4bb6f","tn-static-justify-content-flex-end-455f8cca"),s.classList.add("tn-static-justify-content-space-between-a562f4fd"),s.classList.remove("tn-static-align-items-baseline-4b95b5c7","tn-static-align-items-flex-start-0486f781"),s.classList.add("tn-static-align-items-center-7c619740"),s.style.backgroundColor=t.isCurrent?"var(--background-secondary)":"var(--background-primary)",s.classList.add("tn-static-transition-background-color-0-2s-8142f01e"),s.addEventListener("mouseenter",()=>{s.classList.remove("tn-static-background-color-var-background-mo-94b219f0","tn-static-background-color-var-color-base-40-ef5f175e","tn-static-background-color-var-color-red-134bc721","tn-static-background-color-var-text-accent-a954c70f"),s.classList.add("tn-static-background-color-var-background-se-9087a23e")}),s.addEventListener("mouseleave",()=>{s.style.backgroundColor=t.isCurrent?"var(--background-secondary)":"var(--background-primary)"});let a=s.createDiv({cls:"release-notes-version-info"});a.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),a.classList.add("tn-static-display-flex-75816cae"),a.classList.remove("tn-static-align-items-center-7c619740","tn-static-align-items-flex-start-0486f781"),a.classList.add("tn-static-align-items-baseline-4b95b5c7"),a.classList.remove("tn-static-display-flex-8bb39979","tn-static-gap-0-5rem-ce2fca4d","tn-static-gap-10px-f3d7ce77","tn-static-gap-6px-f0abc1db","tn-static-gap-8px-33fcd4c3"),a.classList.add("tn-static-gap-12px-ed7b3d87");let o=a.createEl("h2",{text:t.version});if(o.classList.remove("tn-static-margin-0-auto-266e9b04","tn-static-margin-0-db0d5f36","tn-static-margin-0-var-size-4-2-77f7dc08","tn-static-margin-2px-0-edce9b14","tn-static-margin-8px-0-0-0-a2eb8382","tn-static-padding-12px-43bef435","tn-static-padding-20px-ebe8e48c"),o.classList.add("tn-static-margin-0-11696618"),o.classList.remove("tn-static-font-size-0-75em-948e16e5","tn-static-font-size-0-8em-19dc7c13","tn-static-font-size-0-9em-65025e95","tn-static-font-size-12px-65574819","tn-static-font-size-12px-b0cc7e05","tn-static-font-size-var-tn-font-size-sm-0274a31d","tn-static-margin-8px-0-0-0-a2eb8382","tn-static-margin-top-8px-f4f01e68"),o.classList.add("tn-static-font-size-1-2em-3a352995"),o.classList.remove("tn-static-cursor-pointer-2723efcc","tn-static-font-weight-500-02a2d333","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd"),o.classList.add("tn-static-font-weight-600-eed0f8fb"),t.isCurrent){let m=a.createEl("span",{text:"Current"});m.classList.remove("tn-static-font-size-0-8em-19dc7c13","tn-static-font-size-0-9em-65025e95","tn-static-font-size-1-2em-3a352995","tn-static-font-size-12px-65574819","tn-static-font-size-12px-b0cc7e05","tn-static-font-size-var-tn-font-size-sm-0274a31d","tn-static-margin-8px-0-0-0-a2eb8382","tn-static-margin-top-8px-f4f01e68"),m.classList.add("tn-static-font-size-0-75em-948e16e5"),m.classList.remove("tn-static-margin-8px-0-0-0-a2eb8382","tn-static-padding-0-16px-16px-16px-f1aa998c","tn-static-padding-0-41d7d7e2","tn-static-padding-12px-43bef435","tn-static-padding-16px-287f770e","tn-static-padding-20px-769fed37","tn-static-padding-20px-7a035d95","tn-static-padding-20px-ebe8e48c","tn-static-padding-2rem-42aa6d9c"),m.classList.add("tn-static-padding-2px-8px-c8eea84a"),m.classList.remove("tn-static-border-radius-6px-0dc8408c","tn-static-margin-8px-0-0-0-a2eb8382","tn-static-padding-12px-43bef435","tn-static-padding-20px-ebe8e48c"),m.classList.add("tn-static-border-radius-4px-c290c56e"),m.classList.remove("tn-static-background-color-var-background-mo-94b219f0","tn-static-background-color-var-background-se-9087a23e","tn-static-background-color-var-color-base-40-ef5f175e","tn-static-background-color-var-color-red-134bc721"),m.classList.add("tn-static-background-color-var-text-accent-a954c70f"),m.classList.remove("tn-static-color-var-color-accent-d2cad743","tn-static-color-var-text-accent-65b47ee3","tn-static-color-var-text-muted-5872de20","tn-static-color-var-text-warning-783d5f03","tn-static-color-var-tn-text-muted-a90fb6f3","tn-static-color-white-0a43e56a","tn-static-cursor-pointer-2723efcc","tn-static-font-size-12px-65574819","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-margin-2px-0-edce9b14","tn-static-padding-20px-7a035d95","tn-static-padding-20px-ebe8e48c"),m.classList.add("tn-static-color-var-text-on-accent-f3e1679d"),m.classList.remove("tn-static-cursor-pointer-2723efcc","tn-static-font-weight-600-eed0f8fb","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd"),m.classList.add("tn-static-font-weight-500-02a2d333")}if(t.date){let m=a.createEl("span",{text:this.formatDate(t.date)});m.classList.remove("tn-static-color-var-color-accent-d2cad743","tn-static-color-var-text-accent-65b47ee3","tn-static-color-var-text-on-accent-f3e1679d","tn-static-color-var-text-warning-783d5f03","tn-static-color-var-tn-text-muted-a90fb6f3","tn-static-color-white-0a43e56a","tn-static-cursor-pointer-2723efcc","tn-static-font-size-12px-65574819","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-margin-2px-0-edce9b14","tn-static-padding-20px-7a035d95","tn-static-padding-20px-ebe8e48c"),m.classList.add("tn-static-color-var-text-muted-5872de20"),m.classList.remove("tn-static-font-size-0-75em-948e16e5","tn-static-font-size-0-8em-19dc7c13","tn-static-font-size-1-2em-3a352995","tn-static-font-size-12px-65574819","tn-static-font-size-12px-b0cc7e05","tn-static-font-size-var-tn-font-size-sm-0274a31d","tn-static-margin-8px-0-0-0-a2eb8382","tn-static-margin-top-8px-f4f01e68"),m.classList.add("tn-static-font-size-0-9em-65025e95")}let l=s.createEl("span",{text:n?"\u25BC":"\u25B6"});l.classList.remove("tn-static-font-size-0-75em-948e16e5","tn-static-font-size-0-9em-65025e95","tn-static-font-size-1-2em-3a352995","tn-static-font-size-12px-65574819","tn-static-font-size-12px-b0cc7e05","tn-static-font-size-var-tn-font-size-sm-0274a31d","tn-static-margin-8px-0-0-0-a2eb8382","tn-static-margin-top-8px-f4f01e68"),l.classList.add("tn-static-font-size-0-8em-19dc7c13"),l.classList.remove("tn-static-color-var-color-accent-d2cad743","tn-static-color-var-text-accent-65b47ee3","tn-static-color-var-text-on-accent-f3e1679d","tn-static-color-var-text-warning-783d5f03","tn-static-color-var-tn-text-muted-a90fb6f3","tn-static-color-white-0a43e56a","tn-static-cursor-pointer-2723efcc","tn-static-font-size-12px-65574819","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-margin-2px-0-edce9b14","tn-static-padding-20px-7a035d95","tn-static-padding-20px-ebe8e48c"),l.classList.add("tn-static-color-var-text-muted-5872de20");let c=i.createDiv({cls:"release-notes-version-content"});c.classList.remove("tn-static-margin-8px-0-0-0-a2eb8382","tn-static-padding-0-41d7d7e2","tn-static-padding-12px-43bef435","tn-static-padding-16px-287f770e","tn-static-padding-20px-769fed37","tn-static-padding-20px-7a035d95","tn-static-padding-20px-ebe8e48c","tn-static-padding-2px-8px-c8eea84a","tn-static-padding-2rem-42aa6d9c"),c.classList.add("tn-static-padding-0-16px-16px-16px-f1aa998c"),c.style.display=n?"block":"none";let d=this.transformIssueLinks(t.content),p=`${this.plugin.i18n.translate("views.releaseNotes.baseFilesNotice")}
${d}`;await PM.MarkdownRenderer.render(this.plugin.app,p,c,"",this),s.addEventListener("click",()=>{let m=c.style.display!=="none";c.style.display=m?"none":"block",l.textContent=m?"\u25B6":"\u25BC"})}async onOpen(){let{contentEl:e}=this;e.empty(),e.addClass("tasknotes-release-notes-view");let t=e.createDiv({cls:"tasknotes-release-notes-container"});t.classList.remove("tn-static-margin-8px-0-0-0-a2eb8382","tn-static-padding-0-16px-16px-16px-f1aa998c","tn-static-padding-0-41d7d7e2","tn-static-padding-12px-43bef435","tn-static-padding-16px-287f770e","tn-static-padding-20px-7a035d95","tn-static-padding-20px-ebe8e48c","tn-static-padding-2px-8px-c8eea84a","tn-static-padding-2rem-42aa6d9c"),t.classList.add("tn-static-padding-20px-769fed37"),t.classList.add("tn-static-max-width-900px-1d34c094"),t.classList.remove("tn-static-margin-0-11696618","tn-static-margin-0-db0d5f36","tn-static-margin-0-var-size-4-2-77f7dc08","tn-static-margin-2px-0-edce9b14","tn-static-margin-8px-0-0-0-a2eb8382","tn-static-padding-12px-43bef435","tn-static-padding-20px-ebe8e48c"),t.classList.add("tn-static-margin-0-auto-266e9b04");let n=t.createEl("div",{cls:"release-notes-header"});n.classList.remove("tn-static-font-size-12px-65574819","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-margin-bottom-0-75rem-c05a3c6e","tn-static-margin-bottom-8px-fdf33f23"),n.classList.add("tn-static-margin-bottom-20px-49f14f8f"),n.createEl("h1",{text:this.plugin.i18n.translate("views.releaseNotes.header",{version:this.version})});let i=t.createEl("p");i.classList.remove("tn-static-font-size-12px-65574819","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-margin-bottom-0-75rem-c05a3c6e","tn-static-margin-bottom-8px-fdf33f23"),i.classList.add("tn-static-margin-bottom-20px-49f14f8f"),i.classList.remove("tn-static-font-size-0-75em-948e16e5","tn-static-font-size-0-8em-19dc7c13","tn-static-font-size-1-2em-3a352995","tn-static-font-size-12px-65574819","tn-static-font-size-12px-b0cc7e05","tn-static-font-size-var-tn-font-size-sm-0274a31d","tn-static-margin-8px-0-0-0-a2eb8382","tn-static-margin-top-8px-f4f01e68"),i.classList.add("tn-static-font-size-0-9em-65025e95"),i.classList.remove("tn-static-color-var-color-accent-d2cad743","tn-static-color-var-text-accent-65b47ee3","tn-static-color-var-text-on-accent-f3e1679d","tn-static-color-var-text-warning-783d5f03","tn-static-color-var-tn-text-muted-a90fb6f3","tn-static-color-white-0a43e56a","tn-static-cursor-pointer-2723efcc","tn-static-font-size-12px-65574819","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-margin-2px-0-edce9b14","tn-static-padding-20px-7a035d95","tn-static-padding-20px-ebe8e48c"),i.classList.add("tn-static-color-var-text-muted-5872de20");let s=this.plugin.i18n.translate("views.releaseNotes.starMessage"),a=s.toLowerCase().lastIndexOf("github");if(a!==-1){i.appendText(s.substring(0,a));let d=i.createEl("a",{text:s.substring(a,a+6),href:O2});d.classList.remove("tn-static-color-var-color-accent-d2cad743","tn-static-color-var-text-muted-5872de20","tn-static-color-var-text-on-accent-f3e1679d","tn-static-color-var-text-warning-783d5f03","tn-static-color-var-tn-text-muted-a90fb6f3","tn-static-color-white-0a43e56a","tn-static-cursor-pointer-2723efcc","tn-static-font-size-12px-65574819","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-margin-2px-0-edce9b14","tn-static-padding-20px-7a035d95","tn-static-padding-20px-ebe8e48c"),d.classList.add("tn-static-color-var-text-accent-65b47ee3"),d.addEventListener("click",u=>{u.preventDefault(),window.open(O2,"_blank")}),i.appendText(s.substring(a+6))}else i.appendText(s);let o=t.createEl("div",{cls:"release-notes-versions"});for(let d=0;d<this.releaseNotesBundle.length;d++){let u=this.releaseNotesBundle[d],p=u.isCurrent||d===0;await this.createVersionSection(o,u,p)}let l=t.createEl("div",{cls:"release-notes-footer"});l.classList.add("tn-static-border-top-1px-solid-var-backgroun-aab7c2ca"),l.classList.add("tn-static-padding-top-20px-49826953"),l.classList.remove("tn-static-font-size-12px-b0cc7e05","tn-static-margin-top-0-5rem-3dc98b5e","tn-static-margin-top-0-d462248a","tn-static-margin-top-12px-91e0f558","tn-static-margin-top-16px-1b0f4999","tn-static-margin-top-1rem-2239d6d5","tn-static-margin-top-20px-a26bda7d","tn-static-margin-top-4px-96ad6099","tn-static-margin-top-8px-8a77e5a3","tn-static-margin-top-8px-f4f01e68"),l.classList.add("tn-static-margin-top-30px-2fbbbcd4"),l.classList.remove("tn-static-padding-20px-7a035d95"),l.classList.add("tn-static-text-align-center-91a87015");let c=l.createEl("a",{text:this.plugin.i18n.translate("views.releaseNotes.viewAllLink"),href:jfe});c.classList.remove("tn-static-color-var-color-accent-d2cad743","tn-static-color-var-text-muted-5872de20","tn-static-color-var-text-on-accent-f3e1679d","tn-static-color-var-text-warning-783d5f03","tn-static-color-var-tn-text-muted-a90fb6f3","tn-static-color-white-0a43e56a","tn-static-cursor-pointer-2723efcc","tn-static-font-size-12px-65574819","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-margin-2px-0-edce9b14","tn-static-padding-20px-7a035d95","tn-static-padding-20px-ebe8e48c"),c.classList.add("tn-static-color-var-text-accent-65b47ee3"),c.classList.remove("tn-static-text-decoration-line-through-7059a4e5"),c.classList.add("tn-static-text-decoration-none-80d654f9"),c.addEventListener("click",d=>{d.preventDefault(),window.open(jfe,"_blank")})}async onClose(){let{contentEl:e}=this;e.empty()}}});var zfe,Bfe=v(()=>{zfe=`# TaskNotes 4.7.2
## Changed
- Improved local lint checks so package and CSS issues reported by Obsidian's online review can be caught before submission.
- Cleaned up stylesheet compatibility issues reported by Obsidian's online review without changing the intended TaskNotes appearance.
- Improved spacing and alignment in task, timeblock, and webhook modals after the stylesheet cleanup.
- Reworked optional calendar and ICS subscription refresh scheduling to avoid interval-based network polling while preserving the same refresh intervals.
- Cleaned up additional source patterns reported by Obsidian's online review, including unsafe default object stringification and redundant external type unions.
- Prevented a console error when plugin listeners are cleaned up after reloads.
- Added a local lint check to prevent interval-based polling in files that also perform network requests.
`});var qfe,Hfe=v(()=>{qfe="# TaskNotes 4.7.1\n\n## Changed\n\n- Release assets are now built with GitHub artifact attestations so users and reviewers can verify the provenance of `main.js`, `manifest.json`, and `styles.css`.\n"});var Ufe,Vfe=v(()=>{Ufe=`# TaskNotes 4.7.0
## Changed
- Enabled lint checks that mirror Obsidian community plugin review findings, including dynamic code execution, Promise handling, deprecated APIs, unsafe stringification, directive comments, Node built-in imports, and explicit \`any\` usage.
- Clarified privacy documentation for optional integrations that make periodic background network refreshes.
- Cleaned up internal Obsidian and Bases compatibility adapters used by search and grouped views.
- (#1839, #1881) Updated default Base urgency scoring so timed tasks earlier in the day sort above later tasks with the same priority and date
- Thanks to @loukandr for the contribution
## Fixed
- Fixed project autocomplete searches so non-empty \`+\` queries only return files matching the query in the basename, title, aliases, or explicitly searchable metadata rows.
- (#1713) Fixed all-tasks ICS export when a task uses a space-separated scheduled datetime such as \`2025-08-12 18:00\`
- Thanks to @bepolymathe for requesting this and @m4to-3pe for following up
- Fixed Pomodoro stats reopening immediately after a plugin reload before the Pomodoro service has finished initializing.
- (#1872) Fixed unarchiving moved tasks so the destination task folder processes template variables such as \`{{project}}\` before moving the file
- Thanks to @OXI-717 for reporting
- (#1870) Fixed custom user field NLP triggers with file autosuggest so selecting a wikilink suggestion stores the link in the user field instead of leaving it in the task title
- Thanks to @Sineapple for reporting
- (#1878) Fixed completed tasks still appearing as active blockers for dependent tasks
- Thanks to @macbikegeek for reporting
- (#1880) Fixed the status bar time-tracking label for task titles that contain a dash
- Thanks to @ubidev for reporting
- (#1854) Fixed modal task completion so completed tasks receive a completed date consistently
- Thanks to @misolex for reporting
- (#1124, #1838, #1881) Fixed default Base views and formulas excluding tasks scheduled or due today at a non-midnight time from day-level comparisons
- Thanks to @kmaustral for reporting and @loukandr for the fix
## Removed
- Removed JavaScript webhook transform support and examples. JSON webhook transform templates remain supported.
`});var Wfe,Yfe=v(()=>{Wfe=`# TaskNotes 4.6.0
## Changed
- TaskNotes now requires Obsidian 1.12.2 or later, matching the Obsidian APIs used by the plugin.
- Improved internal code quality by resolving lint warnings, moving static inline styles into CSS utilities, and extending sentence-case lint coverage to English localization strings, with no intended behavior changes.
## Fixed
- Fixed TaskNotes failing to load when Obsidian opened without an active Markdown file.
`});var Gfe,Kfe,Zfe=v(()=>{Bfe();Hfe();Vfe();Yfe();Gfe="4.7.2",Kfe=[{version:"4.7.2",content:zfe,date:"2026-05-14T22:13:36+10:00",isCurrent:!0},{version:"4.7.1",content:qfe,date:"2026-05-14T08:02:31+10:00",isCurrent:!1},{version:"4.7.0",content:Ufe,date:"2026-05-14T06:40:12+10:00",isCurrent:!1},{version:"4.6.0",content:Wfe,date:"2026-05-13T08:24:23+10:00",isCurrent:!1}]});var Qfe={};et(Qfe,{TaskLinkDetectionService:()=>ox});var Rf,ox,F2=v(()=>{Rf=require("obsidian"),ox=class{constructor(e){this.linkCache=new Map;this.plugin=e}async detectTaskLink(e,t,n="wikilink"){let i=n==="wikilink"?this.parseWikilink(e):this.parseMarkdownLink(e);if(!i)return{isValidTaskLink:!1};let{linkPath:s,displayText:a}=i,o=`${t}:${s}`,l=this.linkCache.get(o);if(l){let p=this.plugin.app.vault.getAbstractFileByPath(s);if(p instanceof Rf.TFile&&p.stat.mtime===l.lastModified)return l.result}let c=this.resolveLinkPath(s,t);if(!c){let p={isValidTaskLink:!1};return this.cacheResult(o,p,0),p}let d=this.plugin.app.vault.getAbstractFileByPath(c);if(!(d instanceof Rf.TFile)){let p={isValidTaskLink:!1};return this.cacheResult(o,p,0),p}try{let p=await this.plugin.cacheManager.getTaskInfo(c);if(p){let m={isValidTaskLink:!0,taskPath:c,taskInfo:p,displayText:a};return this.cacheResult(o,m,d.stat.mtime),m}}catch(p){console.debug("TaskLinkDetectionService: Error checking task info for link:",c,p)}let u={isValidTaskLink:!1};return this.cacheResult(o,u,d.stat.mtime),u}parseWikilink(e){let t=e.slice(2,-2).trim();if(!t)return null;let n=t.indexOf("|");if(n!==-1){let s=t.slice(0,n).trim(),a=t.slice(n+1).trim();return!s||!a?null:{linkPath:(0,Rf.parseLinktext)(s).path,displayText:a}}let i=(0,Rf.parseLinktext)(t);return{linkPath:i.path,displayText:i.subpath||void 0}}parseMarkdownLink(e){let t=e.match(/^\[([^\]]*)\]\(([^)]+)\)$/);if(!t)return null;let n=t[1].trim(),i=t[2].trim();if(i.startsWith("<")&&i.endsWith(">")&&(i=i.slice(1,-1).trim()),!i)return null;try{i=decodeURIComponent(i)}catch(a){console.debug("TaskLinkDetectionService: Failed to decode URI component:",i,a)}let s=(0,Rf.parseLinktext)(i);return{linkPath:s.path,displayText:n||s.subpath||void 0}}resolveLinkPath(e,t){try{let n=this.plugin.app.metadataCache.getFirstLinkpathDest(e,t);return(n==null?void 0:n.path)||null}catch(n){return console.debug("Error resolving link path:",e,n),null}}cacheResult(e,t,n){if(this.linkCache.set(e,{result:t,lastModified:n}),this.linkCache.size>1e3){let i=this.linkCache.keys().next().value;this.linkCache.delete(i)}}clearCacheForFile(e){for(let[t]of this.linkCache)t.includes(e)&&this.linkCache.delete(t)}clearCache(){this.linkCache.clear()}findWikilinks(e){let t=[],n=/\[\[([^\]]+)\]\]/g,i;for(;(i=n.exec(e))!==null;)t.push({match:i[0],start:i.index,end:i.index+i[0].length,type:"wikilink"});let s=/\[([^\]]*)\]\(([^)]+)\)/g;for(n.lastIndex=0;(i=s.exec(e))!==null;)t.push({match:i[0],start:i.index,end:i.index+i[0].length,type:"markdown"});return t.sort((a,o)=>a.start-o.start)}cleanup(){this.linkCache.clear()}}});var Jfe,nv,$2=v(()=>{Jfe=require("@codemirror/view");_M();$i();hd();Qe();nv=class r extends Jfe.WidgetType{constructor(e,t,n,i,s=en(new Date)){super(),this.taskInfo=e,this.plugin=t,this.originalText=n,this.displayText=i,this.targetDate=s,this.targetDateKey=ue(s)}toDOM(e){let t=this.plugin.settings.inlineVisibleProperties||["status","priority","due","scheduled","recurrence"],n=Fi(t,this.plugin),i=activeDocument.createElement("span");i.className="tasknotes-plugin tasknotes-inline-widget",i.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),i.classList.add("tn-static-display-inline-cccfa456"),i.classList.add("tn-static-vertical-align-baseline-657d9c46");let s=pr(this.taskInfo,this.plugin,n,{layout:"inline",targetDate:this.targetDate});return i.appendChild(s),s.dataset.originalText=this.originalText,s.addEventListener("tasknotes:task-updated",()=>{window.setTimeout(()=>{e&&typeof e.dispatch=="function"&&mp(e,this.taskInfo.path)},50)}),i}eq(e){return e instanceof r?this.taskInfo.path===e.taskInfo.path&&this.taskInfo.status===e.taskInfo.status&&this.taskInfo.title===e.taskInfo.title&&this.taskInfo.priority===e.taskInfo.priority&&this.taskInfo.archived===e.taskInfo.archived&&this.taskInfo.due===e.taskInfo.due&&this.taskInfo.scheduled===e.taskInfo.scheduled&&this.taskInfo.recurrence===e.taskInfo.recurrence&&this.targetDateKey===e.targetDateKey&&JSON.stringify(this.taskInfo.complete_instances)===JSON.stringify(e.taskInfo.complete_instances)&&JSON.stringify(this.taskInfo.skipped_instances)===JSON.stringify(e.taskInfo.skipped_instances)&&this.taskInfo.dateModified===e.taskInfo.dateModified:!1}ignoreEvent(e){return e.type==="mousedown"||e.type==="click"}get estimatedHeight(){return-1}get block(){return!1}}});function H4e(r){let e=new Map,t=new Map;return rl.ViewPlugin.fromClass(class{constructor(n){this.eventListeners=[];this.view=n,this.decorations=this.buildDecorations(n),this.setupEventListeners()}destroy(){this.eventListeners.forEach(n=>{r.emitter.offref(n)}),this.eventListeners=[]}setupEventListeners(){let n=r.emitter.on(Fa,()=>{this.refreshDecorations()}),i=r.emitter.on(Vt,()=>{this.refreshDecorations()}),s=r.emitter.on(ug,l=>{l!=null&&l.path&&t.delete(l.path),this.refreshDecorations()}),a=r.emitter.on(Tm,()=>{t.clear(),this.refreshDecorations()}),o=r.emitter.on("settings-changed",()=>{this.refreshDecorations()});this.eventListeners.push(n,i,s,a,o)}refreshDecorations(){this.view&&typeof this.view.dispatch=="function"&&queueMicrotask(()=>{try{e.clear(),this.view.dispatch({effects:[MM.of({})]})}catch(n){console.error("Error dispatching task link update:",n)}})}update(n){var s,a;if(this.view=n.view,!((s=r==null?void 0:r.settings)!=null&&s.enableTaskLinkOverlay)){this.decorations=rl.Decoration.none;return}try{if(!n.state.field(nl.editorLivePreviewField)){this.decorations=rl.Decoration.none;return}}catch(o){this.decorations=rl.Decoration.none;return}let i=n.transactions.some(o=>o.effects.some(l=>l.is(MM)));if(n.docChanged||n.selectionSet||i){if(i){let o=(a=n.transactions.flatMap(l=>l.effects).find(l=>l.is(MM)))==null?void 0:a.value;if(o!=null&&o.taskPath)for(let[l]of e.entries())l.includes(o.taskPath)&&e.delete(l);else e.clear()}this.decorations=this.buildDecorations(n.view)}}buildDecorations(n){var i,s;try{if(!((i=r==null?void 0:r.settings)!=null&&i.enableTaskLinkOverlay))return rl.Decoration.none;if(!n.state.field(nl.editorLivePreviewField))return rl.Decoration.none;let o=n.state.field(nl.editorInfoField,!1),l=(s=o==null?void 0:o.file)==null?void 0:s.path;return U4e(n.state,r,e,l,t)}catch(a){return console.error("Error building task link decorations:",a),rl.Decoration.none}}},{decorations:n=>n.decorations})}function U4e(r,e,t,n,i){var l,c;let s=new AM.RangeSetBuilder;if(!r||!e||!t)return s.finish();let a=r.doc;if(!a||!e.app||!e.app.workspace)return s.finish();let o=e.taskLinkDetectionService||new ox(e);if(!n){let d=e.app.workspace.getActiveViewOfType(nl.MarkdownView);if(!d)return s.finish();n=(l=d.file)==null?void 0:l.path}if(!n||typeof n!="string"||n.length===0)return s.finish();try{let d=a.toString();if(typeof d!="string"||d.length>1e5)return s.finish();let u=(c=r.selection)==null?void 0:c.main.head,p=o.findWikilinks(d);if(!Array.isArray(p))return s.finish();for(let m of p)try{if(!m||typeof m.match!="string"||typeof m.start!="number"||typeof m.end!="number"||m.start<0||m.end<=m.start||m.start>=d.length||m.end>d.length||e.settings.disableOverlayOnAlias&&m.type==="wikilink"&&m.match.includes("|"))continue;let f=m.type==="wikilink"?V4e(m.match):W4e(m.match);if(!f)continue;let{linkPath:h}=f;if(!h||typeof h!="string"||h.trim().length===0)continue;let g=Y4e(h,n,e);if(!g)continue;let y=G4e(g,e);if(y){if(!y.title||typeof y.title!="string"||u!==void 0&&u>=m.start&&u<m.end)continue;let k=`${g}-${m.start}-${m.end}`,T=new nv(y,e,m.match,f.displayText),w=t.get(k);(!w||!w.eq(T))&&t.set(k,T),i==null||i.set(g,T);let S=rl.Decoration.replace({widget:t.get(k),inclusive:!0});s.add(m.start,m.end,S)}else if(i!=null&&i.has(g)){if(u!==void 0&&u>=m.start&&u<m.end)continue;let k=i.get(g);if(!k)continue;let T=`${g}-${m.start}-${m.end}`;t.set(T,k);let w=rl.Decoration.replace({widget:k,inclusive:!0});s.add(m.start,m.end,w)}}catch(f){continue}}catch(d){console.error("Error in buildTaskLinkDecorations:",d)}return s.finish()}function V4e(r){if(!r||typeof r!="string"||r.length<4||!r.startsWith("[[")||!r.endsWith("]]"))return null;let e=r.slice(2,-2).trim();if(!e||e.length===0||e.length>500)return null;let t=e.indexOf("|");if(t!==-1){let i=e.slice(0,t).trim(),s=e.slice(t+1).trim();if(!i||!s)return null;let a=(0,nl.parseLinktext)(i);return a.path?{linkPath:a.path,displayText:s}:null}let n=(0,nl.parseLinktext)(e);return n.path?{linkPath:n.path,displayText:n.subpath||void 0}:null}function W4e(r){if(!r||typeof r!="string")return null;let e=r.match(/^\[([^\]]*)\]\(([^)]+)\)$/);if(!e)return null;let t=e[1].trim(),n=e[2].trim();if(n.startsWith("<")&&n.endsWith(">")&&(n=n.slice(1,-1).trim()),!n||n.length===0||n.length>500)return null;try{n=decodeURIComponent(n)}catch(s){}let i=(0,nl.parseLinktext)(n);return i.path?{linkPath:i.path,displayText:t||i.subpath||void 0}:null}function Y4e(r,e,t){if(!r||typeof r!="string"||r.trim().length===0||!e||typeof e!="string"||!t||!t.app||!t.app.metadataCache)return null;try{let n=t.app.metadataCache.getFirstLinkpathDest(r,e);return!n||!n.path||typeof n.path!="string"?null:n.path}catch(n){return null}}function G4e(r,e){if(!r||typeof r!="string"||r.trim().length===0||!e)return null;try{let t=/[<>:"|?*]/,n=r.split("").some(a=>{let o=a.charCodeAt(0);return o<=31||o===127});if(t.test(r)||n)return null;let i=e.cacheManager;if(!i||!i.getCachedTaskInfoSync)return null;let s=i.getCachedTaskInfoSync(r);return s&&typeof s=="object"&&s.title?s:null}catch(t){return null}}function Xfe(r){return H4e(r)}function mp(r,e){if(!r||typeof r.dispatch!="function"){console.warn("Invalid EditorView passed to dispatchTaskUpdate:",r);return}try{r.dispatch({effects:[MM.of({taskPath:e})]})}catch(t){console.error("Error dispatching task update:",t)}}var AM,rl,nl,MM,_M=v(()=>{AM=require("@codemirror/state"),rl=require("@codemirror/view"),nl=require("obsidian");On();F2();$2();MM=AM.StateEffect.define()});var iv,j2=v(()=>{iv=class{constructor(){this.states=new WeakMap}schedule(e,t){let n=this.getState(e);if(n.version+=1,n.running){n.rerun=!0;return}n.running=!0,this.runLoop(e,t)}getState(e){let t=this.states.get(e);return t||(t={running:!1,rerun:!1,version:0},this.states.set(e,t)),t}async runLoop(e,t){let n=this.getState(e);try{do{n.rerun=!1;let i=n.version;await t({isCurrent:()=>{var s;return((s=this.states.get(e))==null?void 0:s.version)===i}})}while(n.rerun)}finally{n.running=!1,n.rerun&&(n.running=!0,this.runLoop(e,t))}}}});function the(r){if(!r||typeof r!="object")return!1;let e=r;return"parent"in e&&e.parent==null}function z2(r){return!!(r!=null&&r.closest(K4e))}function IM(r){if(z2(r.dom))return!0;try{let e=r.state.field(ehe.editorInfoField,!1);return the(e==null?void 0:e.leaf)?!0:z2(e==null?void 0:e.containerEl)}catch(e){return console.debug("[TaskNotes] Error checking markdown widget editor context:",e),!1}}function NM(r){var t;if(the(r))return!0;let e=(t=r.view)==null?void 0:t.containerEl;return z2(e)}var ehe,K4e,B2=v(()=>{ehe=require("obsidian"),K4e=[".blp-inline-edit-root",".internal-embed.markdown-embed",".markdown-embed",".popover.hover-popover"].join(", ")});async function nhe(r,e){let t=activeDocument.createElement("div");t.className=`tasknotes-plugin ${RM}`,t.setAttribute("contenteditable","false"),t.setAttribute("spellcheck","false"),t.setAttribute("data-widget-type","relationships");let n=activeDocument.createElement("div");n.className="relationships__bases-container",t.appendChild(n);let i=new uo.Component;i.load(),t.component=i;try{let s=r.settings.commandFileMapping.relationships;if(!s){let o=activeDocument.createElement("div");return o.className="relationships__error",o.textContent="Relationships view not configured",n.appendChild(o),t}let a=`![[${s}]]`;await uo.MarkdownRenderer.render(r.app,a,n,e,i)}catch(s){console.error("[TaskNotes] Error rendering Bases view in relationships widget:",s);let a=activeDocument.createElement("div");a.className="relationships__error",a.textContent="Failed to load relationships view",n.appendChild(a)}return t}function ihe(r){return rhe.ViewPlugin.fromClass(class extends q2{constructor(e){super(e,r)}destroy(){super.destroy()}})}async function Q4e(r,e,t){var l,c,d;let n=r.view;if(!(n instanceof uo.MarkdownView)||n.getMode()!=="preview"||NM(r))return;let i=n.file;if(!i||!e.settings.showRelationships)return;let s=!1,a=!1,o=e.app.metadataCache.getFileCache(i);if(o!=null&&o.frontmatter?(s=e.cacheManager.isTaskFile(o.frontmatter),a=((c=e.dependencyCache)==null?void 0:c.isFileUsedAsProject(i.path))||!1):a=((l=e.dependencyCache)==null?void 0:l.isFileUsedAsProject(i.path))||!1,!s&&!a){try{n.previewMode.containerEl.querySelectorAll(`.${RM}`).forEach(m=>{var h;(h=m.component)==null||h.unload(),m.remove()})}catch(u){console.debug("[TaskNotes] Error cleaning up relationships widget in reading mode:",u)}return}try{let p=n.previewMode.containerEl;p.querySelectorAll(`.${RM}`).forEach(y=>{var T;(T=y.component)==null||T.unload(),y.remove()});let m=e.settings.relationshipsPosition||"bottom",f=i.path,h=await nhe(e,f);if(t&&!t.isCurrent()){(d=h.component)==null||d.unload(),h.remove();return}let g=p.querySelector(".markdown-preview-sizer");if(!g){console.warn("[TaskNotes] Could not find .markdown-preview-sizer for relationships in reading mode");return}if(m==="top"){let y=g.querySelector(".tasknotes-task-card-note-widget");if(y!=null&&y.nextSibling)g.insertBefore(h,y.nextSibling);else{let k=g.querySelector(".metadata-container");k!=null&&k.nextSibling?g.insertBefore(h,k.nextSibling):g.insertBefore(h,g.firstChild)}}else{let y=p.querySelector(".embedded-backlinks");y!=null&&y.parentElement?y.parentElement.insertBefore(h,y):g.appendChild(h)}}catch(u){console.error("[TaskNotes] Error injecting relationships widget in reading mode:",u)}}function she(r){let e=[],t=[],n=new iv,i=p=>{n.schedule(p,m=>Q4e(p,r,m))},s=null,a=()=>{s&&window.clearTimeout(s),s=window.setTimeout(()=>{r.app.workspace.getLeavesOfType("markdown").forEach(m=>{i(m)})},100)},o=r.app.workspace.on("layout-change",a);e.push(o);let l=r.app.workspace.on("active-leaf-change",p=>{p&&i(p)});e.push(l);let c=new Map,d=r.app.metadataCache.on("changed",p=>{let m=c.get(p.path);m&&window.clearTimeout(m);let f=window.setTimeout(()=>{c.delete(p.path),r.app.workspace.getLeavesOfType("markdown").forEach(g=>{let y=g.view;y instanceof uo.MarkdownView&&y.file===p&&i(g)})},500);c.set(p.path,f)});return t.push(d),r.app.workspace.getLeavesOfType("markdown").forEach(p=>{i(p)}),()=>{s&&window.clearTimeout(s),e.forEach(p=>r.app.workspace.offref(p)),t.forEach(p=>r.app.metadataCache.offref(p))}}var rhe,uo,RM,Z4e,q2,ahe=v(()=>{rhe=require("@codemirror/view"),uo=require("obsidian");j2();B2();RM="tasknotes-relationships-widget",Z4e="task-card-injected";q2=class{constructor(e,t){this.plugin=t;this.currentFile=null;this.currentWidget=null;this.widgetContainer=null;this.debounceTimer=null;this.eventListeners=[];this.view=e,this.currentFile=this.getFileFromView(e),this.setupEventListeners(),this.injectWidget(e)}update(e){this.view=e.view;let t=this.getFileFromView(e.view);t!==this.currentFile&&(this.currentFile=t,this.debouncedInjectWidget(e.view))}destroy(){this.debounceTimer&&(window.clearTimeout(this.debounceTimer),this.debounceTimer=null),this.removeWidget(),this.eventListeners.forEach(e=>{this.plugin.emitter.offref(e)}),this.eventListeners=[]}setupEventListeners(){let e=this.plugin.emitter.on(Z4e,()=>{this.debouncedInjectWidget(this.view)});this.eventListeners.push(e);let t=this.plugin.emitter.on("settings-changed",()=>{this.debouncedInjectWidget(this.view)});this.eventListeners.push(t)}debouncedInjectWidget(e){this.debounceTimer&&window.clearTimeout(this.debounceTimer),this.debounceTimer=window.setTimeout(()=>{this.injectWidget(e)},100)}getFileFromView(e){try{let t=e.state.field(uo.editorInfoField,!1);return(t==null?void 0:t.file)||null}catch(t){return console.debug("[TaskNotes] Error getting file from editor view:",t),null}}isTableCellEditor(e){try{let t=e.dom;if(!t)return!1;if(IM(e)||t.closest("td, th")||t.closest(".cm-table-widget")||t.closest(".popover.hover-popover")||t.closest(".markdown-embed[data-type='footnote']"))return!0;let o=e.state.field(uo.editorInfoField,!1);if(!(o!=null&&o.file)){let l=t.parentElement,c=0,d=20;for(;l&&l!==activeDocument.body&&c<d;){if(l.tagName==="TABLE"||l.tagName==="TD"||l.tagName==="TH"||l.classList.contains("markdown-rendered")||l.classList.contains("popover")||l.classList.contains("hover-popover")||l.classList.contains("markdown-embed")&&l.getAttribute("data-type")==="footnote")return!0;l=l.parentElement,c++}}return!1}catch(t){return console.debug("[TaskNotes] Error detecting table cell editor:",t),!1}}removeWidget(){var e;this.currentWidget&&((e=this.currentWidget.component)==null||e.unload(),this.currentWidget.remove(),this.currentWidget=null),this.widgetContainer=null}cleanupOrphanedWidgets(e){try{let t=e.dom.closest(".workspace-leaf-content");if(!t){console.debug("[TaskNotes] Could not find workspace-leaf-content for orphan cleanup");return}t.querySelectorAll(`.${RM}`).forEach(n=>{var i;n!==this.currentWidget&&((i=n.component)==null||i.unload(),n.remove())})}catch(t){console.error("[TaskNotes] Error cleaning up orphaned relationships widgets:",t)}}async injectWidget(e){var t,n,i,s,a,o,l;if(this.removeWidget(),!this.isTableCellEditor(e)){this.cleanupOrphanedWidgets(e);try{if(!this.plugin.settings.showRelationships)return;let c=this.currentFile||this.getFileFromView(e);if(!(c instanceof uo.TFile))return;let d=!1,u=!1,p=this.plugin.app.metadataCache.getFileCache(c);if(p!=null&&p.frontmatter?(d=this.plugin.cacheManager.isTaskFile(p.frontmatter),u=((n=this.plugin.dependencyCache)==null?void 0:n.isFileUsedAsProject(c.path))||!1):u=((t=this.plugin.dependencyCache)==null?void 0:t.isFileUsedAsProject(c.path))||!1,!d&&!u)return;let m=c.path,f=this.plugin.settings.relationshipsPosition||"bottom",h=(i=e.dom.closest(".markdown-source-view"))==null?void 0:i.querySelector(".cm-sizer");if(!h){console.warn("[TaskNotes] Could not find .cm-sizer container for relationships widget");return}let g=await nhe(this.plugin,m);if(this.currentWidget=g,this.widgetContainer=h,f==="top"){let y=h.querySelector(".tasknotes-task-card-note-widget");if(y&&y.nextSibling)(s=y.parentElement)==null||s.insertBefore(g,y.nextSibling);else{let k=h.querySelector(".metadata-container");k&&k.nextSibling?(a=k.parentElement)==null||a.insertBefore(g,k.nextSibling):h.insertBefore(g,h.firstChild)}}else{let y=(o=h.parentElement)==null?void 0:o.querySelector(".embedded-backlinks");y?(l=y.parentElement)==null||l.insertBefore(g,y):h.appendChild(g)}}catch(c){console.error("[TaskNotes] Error injecting relationships widget:",c),this.removeWidget()}}}}});function lhe(r,e){let t=activeDocument.createElement("div");t.className=`tasknotes-plugin task-card-note-widget ${OM}`,t.setAttribute("contenteditable","false"),t.setAttribute("spellcheck","false"),t.setAttribute("data-widget-type","task-card");let n=new ic.Component;n.load(),t.component=n;let i=r.settings.defaultVisibleProperties?Fi(r.settings.defaultVisibleProperties,r):void 0,s=pr(e,r,i);return s.classList.add("task-card-note-widget__card"),t.appendChild(s),t}function che(r){return ohe.ViewPlugin.fromClass(class extends H2{constructor(e){super(e,r)}destroy(){super.destroy()}})}async function X4e(r,e,t){var a;let n=r.view;if(!(n instanceof ic.MarkdownView)||n.getMode()!=="preview"||NM(r))return;let i=n.file;if(!i||!e.settings.showTaskCardInNote)return;let s=e.cacheManager.getCachedTaskInfoSync(i.path);if(!s){try{n.previewMode.containerEl.querySelectorAll(`.${OM}`).forEach(c=>{var u;(u=c.component)==null||u.unload(),c.remove()})}catch(o){console.debug("[TaskNotes] Error cleaning up task card in reading mode:",o)}return}try{let l=n.previewMode.containerEl;l.querySelectorAll(`.${OM}`).forEach(p=>{var f;(f=p.component)==null||f.unload(),p.remove()});let c=lhe(e,s);if(t&&!t.isCurrent()){(a=c.component)==null||a.unload(),c.remove();return}let d=l.querySelector(".markdown-preview-sizer");if(!d){console.warn("[TaskNotes] Could not find .markdown-preview-sizer for task card in reading mode");return}let u=d.querySelector(".metadata-container");u!=null&&u.nextSibling?d.insertBefore(c,u.nextSibling):d.insertBefore(c,d.firstChild)}catch(o){console.error("[TaskNotes] Error injecting task card widget in reading mode:",o)}}function dhe(r){let e=[],t=[],n=[],i=new iv,s=h=>{i.schedule(h,g=>X4e(h,r,g))},a=null,o=()=>{a&&window.clearTimeout(a),a=window.setTimeout(()=>{r.app.workspace.getLeavesOfType("markdown").forEach(g=>{s(g)})},100)},l=r.app.workspace.on("layout-change",o);e.push(l);let c=r.app.workspace.on("active-leaf-change",h=>{h&&s(h)});e.push(c);let d=new Map,u=r.app.metadataCache.on("changed",h=>{let g=d.get(h.path);g&&window.clearTimeout(g);let y=window.setTimeout(()=>{d.delete(h.path),r.app.workspace.getLeavesOfType("markdown").forEach(T=>{let w=T.view;w instanceof ic.MarkdownView&&w.file===h&&s(T)})},500);d.set(h.path,y)});t.push(u);let p=r.emitter.on(Vt,o);n.push(p);let m=r.emitter.on(Fa,o);return n.push(m),r.app.workspace.getLeavesOfType("markdown").forEach(h=>{s(h)}),()=>{a&&window.clearTimeout(a),e.forEach(h=>r.app.workspace.offref(h)),t.forEach(h=>r.app.metadataCache.offref(h)),n.forEach(h=>r.emitter.offref(h))}}var ohe,ic,OM,J4e,H2,uhe=v(()=>{ohe=require("@codemirror/view");On();ic=require("obsidian");$i();hd();j2();B2();OM="tasknotes-task-card-note-widget",J4e="task-card-injected";H2=class{constructor(e,t){this.plugin=t;this.cachedTask=null;this.currentFile=null;this.eventListeners=[];this.currentWidget=null;this.widgetContainer=null;this.debounceTimer=null;this.view=e,this.currentFile=this.getFileFromView(e),this.setupEventListeners(),this.loadTaskForCurrentFile(e)}update(e){this.view=e.view;let t=this.getFileFromView(e.view);t!==this.currentFile&&(this.currentFile=t,this.loadTaskForCurrentFile(e.view))}destroy(){this.debounceTimer&&(window.clearTimeout(this.debounceTimer),this.debounceTimer=null),this.removeWidget(),this.eventListeners.forEach(e=>{this.plugin.emitter.offref(e)}),this.eventListeners=[]}setupEventListeners(){let e=()=>{this.debounceTimer&&window.clearTimeout(this.debounceTimer),this.debounceTimer=window.setTimeout(()=>{this.loadTaskForCurrentFile(this.view)},100)},t=this.plugin.emitter.on(Fa,e),n=this.plugin.emitter.on(Vt,e),i=this.plugin.emitter.on(ug,e),s=this.plugin.emitter.on(Tm,e),a=this.plugin.emitter.on("settings-changed",e);this.eventListeners.push(t,n,i,s,a)}removeWidget(){var e;this.currentWidget&&((e=this.currentWidget.component)==null||e.unload(),this.currentWidget.remove(),this.currentWidget=null),this.widgetContainer=null}cleanupOrphanedWidgets(e){try{let t=e.dom.closest(".workspace-leaf-content");if(!t){console.debug("[TaskNotes] Could not find workspace-leaf-content for orphan cleanup");return}t.querySelectorAll(`.${OM}`).forEach(n=>{var i;n!==this.currentWidget&&((i=n.component)==null||i.unload(),n.remove())})}catch(t){console.error("[TaskNotes] Error cleaning up orphaned task card widgets:",t)}}loadTaskForCurrentFile(e){var n,i,s,a,o,l,c,d,u,p,m,f,h;let t=this.getFileFromView(e);if(t instanceof ic.TFile)try{let g=this.plugin.cacheManager.getCachedTaskInfoSync(t.path),y=T=>!(T!=null&&T.timeEntries)||T.timeEntries.length===0?!1:!T.timeEntries[T.timeEntries.length-1].endTime;(((n=this.cachedTask)==null?void 0:n.title)!==(g==null?void 0:g.title)||((i=this.cachedTask)==null?void 0:i.status)!==(g==null?void 0:g.status)||((s=this.cachedTask)==null?void 0:s.priority)!==(g==null?void 0:g.priority)||((a=this.cachedTask)==null?void 0:a.due)!==(g==null?void 0:g.due)||((o=this.cachedTask)==null?void 0:o.scheduled)!==(g==null?void 0:g.scheduled)||((l=this.cachedTask)==null?void 0:l.path)!==(g==null?void 0:g.path)||((c=this.cachedTask)==null?void 0:c.archived)!==(g==null?void 0:g.archived)||((d=this.cachedTask)==null?void 0:d.timeEstimate)!==(g==null?void 0:g.timeEstimate)||((u=this.cachedTask)==null?void 0:u.recurrence)!==(g==null?void 0:g.recurrence)||y(this.cachedTask)!==y(g)||JSON.stringify(((p=this.cachedTask)==null?void 0:p.tags)||[])!==JSON.stringify((g==null?void 0:g.tags)||[])||JSON.stringify(((m=this.cachedTask)==null?void 0:m.contexts)||[])!==JSON.stringify((g==null?void 0:g.contexts)||[])||JSON.stringify(((f=this.cachedTask)==null?void 0:f.projects)||[])!==JSON.stringify((g==null?void 0:g.projects)||[])||JSON.stringify(((h=this.cachedTask)==null?void 0:h.complete_instances)||[])!==JSON.stringify((g==null?void 0:g.complete_instances)||[]))&&(this.cachedTask=g,this.injectWidget(e))}catch(g){console.error("[TaskNotes] Error loading task for task note:",g)}else this.cachedTask!==null&&(this.cachedTask=null,this.injectWidget(e))}getFileFromView(e){try{let t=e.state.field(ic.editorInfoField,!1);return(t==null?void 0:t.file)||null}catch(t){return console.debug("[TaskNotes] Error getting file from editor view:",t),null}}isTableCellEditor(e){try{let t=e.dom;if(!t)return!1;if(IM(e)||t.closest("td, th")||t.closest(".cm-table-widget")||t.closest(".popover.hover-popover")||t.closest(".markdown-embed[data-type='footnote']"))return!0;let o=e.state.field(ic.editorInfoField,!1);if(!(o!=null&&o.file)){let l=t.parentElement,c=0,d=20;for(;l&&l!==activeDocument.body&&c<d;){if(l.tagName==="TABLE"||l.tagName==="TD"||l.tagName==="TH"||l.classList.contains("markdown-rendered")||l.classList.contains("popover")||l.classList.contains("hover-popover")||l.classList.contains("markdown-embed")&&l.getAttribute("data-type")==="footnote")return!0;l=l.parentElement,c++}}return!1}catch(t){return console.debug("[TaskNotes] Error detecting table cell editor:",t),!1}}injectWidget(e){var t,n;if(this.removeWidget(),!this.isTableCellEditor(e)){this.cleanupOrphanedWidgets(e);try{if(!this.plugin.settings.showTaskCardInNote||!this.cachedTask)return;let i=(t=e.dom.closest(".markdown-source-view"))==null?void 0:t.querySelector(".cm-sizer");if(!i){console.warn("[TaskNotes] Could not find .cm-sizer container for task card widget");return}let s=lhe(this.plugin,this.cachedTask);this.currentWidget=s,this.widgetContainer=i;let a=i.querySelector(".metadata-container");a!=null&&a.nextSibling?(n=a.parentElement)==null||n.insertBefore(s,a.nextSibling):i.insertBefore(s,i.firstChild),this.plugin.emitter.trigger(J4e,{container:i})}catch(i){console.error("[TaskNotes] Error injecting task card widget:",i),this.removeWidget()}}}}});function phe(r){return new U2(r).createPostProcessor()}var U2,mhe=v(()=>{$2();U2=class{constructor(e){this.plugin=e}createPostProcessor(){return(e,t)=>{if(!this.plugin.settings.enableTaskLinkOverlay)return;let n=e.querySelectorAll("a");for(let i of Array.from(n)){let s=i,a=s.getAttribute("href");s.classList.contains("internal-link")?this.processLink(s,t.sourcePath,"internal"):a&&!a.startsWith("http://")&&!a.startsWith("https://")&&!a.includes("://")&&this.processLink(s,t.sourcePath,"external")}}}async processLink(e,t,n){try{let i=e.getAttribute("href");if(!i)return;let s=i;if(n==="internal"){if(i.startsWith("app://")){let l=new URL(i);s=decodeURIComponent(l.pathname),s.startsWith("/")&&(s=s.substring(1))}}else{if(i.startsWith("http://")||i.startsWith("https://")||i.includes("://"))return;s=i}let a=this.resolveLinkPath(s,t);if(!a)return;let o=this.getTaskInfo(a);if(!o)return;await this.replaceWithTaskWidget(e,o,s)}catch(i){console.debug("Error processing link in reading mode:",i)}}resolveLinkPath(e,t){try{let n=this.plugin.app.metadataCache.getFirstLinkpathDest(e,t);return(n==null?void 0:n.path)||null}catch(n){return console.debug("Error resolving link path:",e,n),null}}getTaskInfo(e){try{if(!e||typeof e!="string"||e.trim().length===0)return null;let t=this.plugin.cacheManager;if(!t||!t.getCachedTaskInfoSync)return null;let n=t.getCachedTaskInfoSync(e);return n&&typeof n=="object"&&n.title?n:null}catch(t){return console.debug("Error getting task info for:",e,t),null}}async replaceWithTaskWidget(e,t,n){var i;try{let s=e.textContent||`[[${n}]]`;if(this.plugin.settings.disableOverlayOnAlias){let d=e.textContent||"";if(d!==n&&d!==t.title)return}let a,o=e.textContent||"";o!==n&&o!==t.title&&(a=o);let l=new nv(t,this.plugin,s,a),c=this.createReadingModeWidget(l,t,s,a);(i=e.parentNode)==null||i.replaceChild(c,e)}catch(s){console.error("Error replacing wikilink with task widget:",s)}}createReadingModeWidget(e,t,n,i){let s={},a=e.toDOM(s);return a.classList.add("task-inline-preview--reading-mode"),a}}});function r3e(r,e,t){let n;switch(r){case"P":e&&e==="-"?t.isNegative=!0:t.isNegative=!1;break;case"D":n="days";break;case"W":n="weeks";break;case"H":n="hours";break;case"M":n="minutes";break;case"S":n="seconds";break;default:return 0}if(n){if(!e&&e!==0)throw new Error('invalid duration value: Missing number before "'+r+'"');let i=parseInt(e,10);if(dx(i))throw new Error('invalid duration value: Invalid number "'+e+'" before "'+r+'"');t[n]=i}return 1}function dr(r){let e={},t=e.component=[];if(e.stack=[t],dr._eachLine(r,function(n,i){dr._handleContentLine(i,e)}),e.stack.length>1)throw new Nd("invalid ical body. component began but did not end");return e=null,t.length==1?t[0]:t}function c3e(r){let e,t,n,i,s;if(!r||r.name!=="vcalendar")return r;for(e=r.getAllSubcomponents(),t=[],n={},s=0;s<e.length;s++)if(e[s].name==="vtimezone"){let a=e[s].getFirstProperty("tzid").getFirstValue();n[a]=e[s]}else t=t.concat(e[s].getAllProperties());for(i={},s=0;s<t.length;s++){let a=t[s].getParameter("tzid");a&&(i[a]=!0)}for(let[a,o]of Object.entries(n))i[a]||r.removeSubcomponent(o);for(let a of Object.keys(i))!n[a]&&UM.has(a)&&r.addSubcomponent(UM.get(a).component);return r}function dx(r){return typeof r=="number"&&isNaN(r)}function qi(r){let e=parseInt(r,10);if(dx(e))throw new Error('Could not extract integer from "'+r+'"');return e}function Ad(r,e){if(typeof r!="undefined")return r instanceof e?r:new e(r)}function Ehe(r,e,t){for(;(t=r.indexOf(e,t))!==-1;)if(t>0&&r[t-1]==="\\")t+=1;else return t;return-1}function Lf(r,e,t){if(!r.length)return 0;let n=0,i=r.length-1,s,a;for(;n<=i;)if(s=n+Math.floor((i-n)/2),a=t(e,r[s]),a<0)i=s-1;else if(a>0)n=s+1;else break;return a<0?s:a>0?s+1:s}function $f(r,e){if(!r||typeof r!="object")return r;if(r instanceof Date)return new Date(r.getTime());if("clone"in r)return r.clone();if(Array.isArray(r)){let t=[];for(let n=0;n<r.length;n++)t.push(e?$f(r[n],!0):r[n]);return t}else{let t={};for(let[n,i]of Object.entries(r))e?t[n]=$f(i,!0):t[n]=i;return t}}function Dhe(r){let e="",t=r||"",n=0,i=0;for(;t.length;){let s=t.codePointAt(n);s<128?++i:s<2048?i+=2:s<65536?i+=3:i+=4,i<ac.foldLength+1?n+=s>65535?2:1:(e+=ac.newLineChar+" "+t.slice(0,Math.max(0,n)),t=t.slice(Math.max(0,n)),n=i=0)}return e.slice(ac.newLineChar.length+1)}function zs(r){switch(typeof r!="string"&&(typeof r=="number"&&(r=parseInt(r)),r=String(r)),r.length){case 0:return"00";case 1:return"0"+r;default:return r}}function ni(r){return r<0?Math.ceil(r):Math.floor(r)}function jf(r,e){for(let t in r){let n=Object.getOwnPropertyDescriptor(r,t);n&&!Object.getOwnPropertyDescriptor(e,t)&&Object.defineProperty(e,t,n)}return e}function fp(r,e,t,n){let i=n;if(n[0]==="+"&&(i=n.slice(1)),i=qi(i),e!==void 0&&n<e)throw new Error(r+': invalid value "'+n+'" must be > '+e);if(t!==void 0&&n>t)throw new Error(r+': invalid value "'+n+'" must be < '+e);return i}function G2(r,e){return{matches:/.*/,fromICAL:function(n,i){return y3e(n,r,i)},toICAL:function(n,i){let s=e;return i&&(s=new RegExp(s.source+"|"+i,s.flags)),n.replace(s,function(a){switch(a){case"\\":return"\\\\";case";":return"\\;";case",":return"\\,";case`
`:return"\\n";default:return a}})}}}function g3e(r){switch(r){case"\\\\":return"\\";case"\\;":return";";case"\\,":return",";case"\\n":case"\\N":return`
`;default:return r}}function y3e(r,e,t){return r.indexOf("\\")===-1?r:(t&&(e=new RegExp(e.source+"|\\\\"+t,e.flags)),r.replace(e,g3e))}function sn(r){typeof r[0]=="string"&&(r=[r]);let e=0,t=r.length,n="";for(;e<t;e++)n+=sn.component(r[e])+BM;return n}function xhe(r,e){return r[0]>e[0]?1:e[0]>r[0]?-1:0}var qM,e3e,t3e,Ca,cx,av,ye,xe,n3e,HM,Y2,i3e,s3e,a3e,o3e,Nd,l3e,ov,lv,Qt,mr,cs,UM,d3e,Id,Of,js,ux,sv,u3e,p3e,Che,m3e,fhe,il,V2,W2,f3e,h3e,hhe,ghe,Jt,px,VM,LM,FM,$M,$s,yhe,vhe,bhe,Z2,Q2,v3e,An,b3e,Da,T3e,k3e,w3e,S3e,x3e,Md,The,khe,fr,BM,whe,E3e,She,jM,zM,hp,Ff,gp,sc,yp,D3e,C3e,po,WM,lx,YM,K2,ac,Phe=v(()=>{qM=class r{constructor(e){M(this,"icaltype","binary");this.value=e}static fromString(e){return new r(e)}decodeValue(){return this._b64_decode(this.value)}setEncodedValue(e){this.value=this._b64_encode(e)}_b64_encode(e){let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",n,i,s,a,o,l,c,d,u=0,p=0,m="",f=[];if(!e)return e;do n=e.charCodeAt(u++),i=e.charCodeAt(u++),s=e.charCodeAt(u++),d=n<<16|i<<8|s,a=d>>18&63,o=d>>12&63,l=d>>6&63,c=d&63,f[p++]=t.charAt(a)+t.charAt(o)+t.charAt(l)+t.charAt(c);while(u<e.length);m=f.join("");let h=e.length%3;return(h?m.slice(0,h-3):m)+"===".slice(h||3)}_b64_decode(e){let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",n,i,s,a,o,l,c,d,u=0,p=0,m="",f=[];if(!e)return e;e+="";do a=t.indexOf(e.charAt(u++)),o=t.indexOf(e.charAt(u++)),l=t.indexOf(e.charAt(u++)),c=t.indexOf(e.charAt(u++)),d=a<<18|o<<12|l<<6|c,n=d>>16&255,i=d>>8&255,s=d&255,l==64?f[p++]=String.fromCharCode(n):c==64?f[p++]=String.fromCharCode(n,i):f[p++]=String.fromCharCode(n,i,s);while(u<e.length);return m=f.join(""),m}toString(){return this.value}},e3e=/([PDWHMTS]{1,1})/,t3e=["weeks","days","hours","minutes","seconds","isNegative"],Ca=class r{constructor(e){M(this,"weeks",0);M(this,"days",0);M(this,"hours",0);M(this,"minutes",0);M(this,"seconds",0);M(this,"isNegative",!1);M(this,"icalclass","icalduration");M(this,"icaltype","duration");this.wrappedJSObject=this,this.fromData(e)}static fromSeconds(e){return new r().fromSeconds(e)}static isValueString(e){return e[0]==="P"||e[1]==="P"}static fromString(e){let t=0,n=Object.create(null),i=0;for(;(t=e.search(e3e))!==-1;){let s=e[t],a=e.slice(0,Math.max(0,t));e=e.slice(t+1),i+=r3e(s,a,n)}if(i<2)throw new Error('invalid duration value: Not enough duration components in "'+e+'"');return new r(n)}static fromData(e){return new r(e)}clone(){return r.fromData(this)}toSeconds(){let e=this.seconds+60*this.minutes+3600*this.hours+86400*this.days+604800*this.weeks;return this.isNegative?-e:e}fromSeconds(e){let t=Math.abs(e);return this.isNegative=e<0,this.days=ni(t/86400),this.days%7==0?(this.weeks=this.days/7,this.days=0):this.weeks=0,t-=(this.days+7*this.weeks)*86400,this.hours=ni(t/3600),t-=this.hours*3600,this.minutes=ni(t/60),t-=this.minutes*60,this.seconds=t,this}fromData(e){for(let t of t3e)e&&t in e?this[t]=e[t]:this[t]=0}reset(){this.isNegative=!1,this.weeks=0,this.days=0,this.hours=0,this.minutes=0,this.seconds=0}compare(e){let t=this.toSeconds(),n=e.toSeconds();return(t>n)-(t<n)}normalize(){this.fromSeconds(this.toSeconds())}toString(){if(this.toSeconds()==0)return"PT0S";{let e="";this.isNegative&&(e+="-"),e+="P";let t=!1;return this.weeks?this.days||this.hours||this.minutes||this.seconds?e+=this.weeks*7+this.days+"D":(e+=this.weeks+"W",t=!0):this.days&&(e+=this.days+"D"),t||(this.hours||this.minutes||this.seconds)&&(e+="T",this.hours&&(e+=this.hours+"H"),this.minutes&&(e+=this.minutes+"M"),this.seconds&&(e+=this.seconds+"S")),e}}toICALString(){return this.toString()}};cx=class r{constructor(e){M(this,"start",null);M(this,"end",null);M(this,"duration",null);M(this,"icalclass","icalperiod");M(this,"icaltype","period");if(this.wrappedJSObject=this,e&&"start"in e){if(e.start&&!(e.start instanceof xe))throw new TypeError(".start must be an instance of ICAL.Time");this.start=e.start}if(e&&e.end&&e.duration)throw new Error("cannot accept both end and duration");if(e&&"end"in e){if(e.end&&!(e.end instanceof xe))throw new TypeError(".end must be an instance of ICAL.Time");this.end=e.end}if(e&&"duration"in e){if(e.duration&&!(e.duration instanceof Ca))throw new TypeError(".duration must be an instance of ICAL.Duration");this.duration=e.duration}}static fromString(e,t){let n=e.split("/");if(n.length!==2)throw new Error('Invalid string value: "'+e+'" must contain a "/" char.');let i={start:xe.fromDateTimeString(n[0],t)},s=n[1];return Ca.isValueString(s)?i.duration=Ca.fromString(s):i.end=xe.fromDateTimeString(s,t),new r(i)}static fromData(e){return new r(e)}static fromJSON(e,t,n){function i(s,a){return n?xe.fromString(s,a):xe.fromDateTimeString(s,a)}return Ca.isValueString(e[1])?r.fromData({start:i(e[0],t),duration:Ca.fromString(e[1])}):r.fromData({start:i(e[0],t),end:i(e[1],t)})}clone(){return r.fromData({start:this.start?this.start.clone():null,end:this.end?this.end.clone():null,duration:this.duration?this.duration.clone():null})}getDuration(){return this.duration?this.duration:this.end.subtractDate(this.start)}getEnd(){if(this.end)return this.end;{let e=this.start.clone();return e.addDuration(this.duration),e}}compare(e){return e.compare(this.start)<0?1:e.compare(this.getEnd())>0?-1:0}toString(){return this.start+"/"+(this.end||this.duration)}toJSON(){return[this.start.toString(),(this.end||this.duration).toString()]}toICALString(){return this.start.toICALString()+"/"+(this.end||this.duration).toICALString()}},ye=class ye{constructor(e,t){M(this,"icalclass","icaltime");M(this,"_cachedUnixTime",null);M(this,"zone",null);M(this,"_pendingNormalization",!1);this.wrappedJSObject=this,this._time=Object.create(null),this._time.year=0,this._time.month=1,this._time.day=1,this._time.hour=0,this._time.minute=0,this._time.second=0,this._time.isDate=!1,this.fromData(e,t)}static daysInMonth(e,t){let n=[0,31,28,31,30,31,30,31,31,30,31,30,31],i=30;return e<1||e>12||(i=n[e],e==2&&(i+=ye.isLeapYear(t))),i}static isLeapYear(e){return e<=1752?e%4==0:e%4==0&&e%100!=0||e%400==0}static fromDayOfYear(e,t){let n=t,i=e,s=new ye;s.auto_normalize=!1;let a=ye.isLeapYear(n)?1:0;if(i<1)return n--,a=ye.isLeapYear(n)?1:0,i+=ye.daysInYearPassedMonth[a][12],ye.fromDayOfYear(i,n);if(i>ye.daysInYearPassedMonth[a][12])return a=ye.isLeapYear(n)?1:0,i-=ye.daysInYearPassedMonth[a][12],n++,ye.fromDayOfYear(i,n);s.year=n,s.isDate=!0;for(let o=11;o>=0;o--)if(i>ye.daysInYearPassedMonth[a][o]){s.month=o+1,s.day=i-ye.daysInYearPassedMonth[a][o];break}return s.auto_normalize=!0,s}static fromStringv2(e){return new ye({year:parseInt(e.slice(0,4),10),month:parseInt(e.slice(5,7),10),day:parseInt(e.slice(8,10),10),isDate:!0})}static fromDateString(e){return new ye({year:qi(e.slice(0,4)),month:qi(e.slice(5,7)),day:qi(e.slice(8,10)),isDate:!0})}static fromDateTimeString(e,t){if(e.length<19)throw new Error('invalid date-time value: "'+e+'"');let n,i;e.slice(-1)==="Z"?n=mr.utcTimezone:t&&(i=t.getParameter("tzid"),t.parent&&(t.parent.name==="standard"||t.parent.name==="daylight"?n=mr.localTimezone:i&&(n=t.parent.getTimeZoneByID(i))));let s={year:qi(e.slice(0,4)),month:qi(e.slice(5,7)),day:qi(e.slice(8,10)),hour:qi(e.slice(11,13)),minute:qi(e.slice(14,16)),second:qi(e.slice(17,19))};return i&&!n&&(s.timezone=i),new ye(s,n)}static fromString(e,t){return e.length>10?ye.fromDateTimeString(e,t):ye.fromDateString(e)}static fromJSDate(e,t){return new ye().fromJSDate(e,t)}static now(){return ye.fromJSDate(new Date,!1)}static weekOneStarts(e,t){let n=ye.fromData({year:e,month:1,day:1,isDate:!0}),i=n.dayOfWeek(),s=t||ye.DEFAULT_WEEK_START;return i>ye.THURSDAY&&(n.day+=7),s>ye.THURSDAY&&(n.day-=7),n.day-=i-s,n}static getDominicalLetter(e){let t="GFEDCBA",n=(e+(e/4|0)+(e/400|0)-(e/100|0)-1)%7;return ye.isLeapYear(e)?t[(n+6)%7]+t[n]:t[n]}static get epochTime(){return La(this,av)||Bc(this,av,ye.fromData({year:1970,month:1,day:1,hour:0,minute:0,second:0,isDate:!1,timezone:"Z"})),La(this,av)}static _cmp_attr(e,t,n){return e[n]>t[n]?1:e[n]<t[n]?-1:0}get icaltype(){return this.isDate?"date":"date-time"}get year(){return this._getTimeAttr("year")}set year(e){this._setTimeAttr("year",e)}get month(){return this._getTimeAttr("month")}set month(e){this._setTimeAttr("month",e)}get day(){return this._getTimeAttr("day")}set day(e){this._setTimeAttr("day",e)}get hour(){return this._getTimeAttr("hour")}set hour(e){this._setTimeAttr("hour",e)}get minute(){return this._getTimeAttr("minute")}set minute(e){this._setTimeAttr("minute",e)}get second(){return this._getTimeAttr("second")}set second(e){this._setTimeAttr("second",e)}get isDate(){return this._getTimeAttr("isDate")}set isDate(e){this._setTimeAttr("isDate",e)}_getTimeAttr(e){return this._pendingNormalization&&(this._normalize(),this._pendingNormalization=!1),this._time[e]}_setTimeAttr(e,t){e==="isDate"&&t&&!this._time.isDate&&this.adjust(0,0,0,0),this._cachedUnixTime=null,this._pendingNormalization=!0,this._time[e]=t}clone(){return new ye(this._time,this.zone)}reset(){this.fromData(ye.epochTime),this.zone=mr.utcTimezone}resetTo(e,t,n,i,s,a,o){this.fromData({year:e,month:t,day:n,hour:i,minute:s,second:a,zone:o})}fromJSDate(e,t){return e?t?(this.zone=mr.utcTimezone,this.year=e.getUTCFullYear(),this.month=e.getUTCMonth()+1,this.day=e.getUTCDate(),this.hour=e.getUTCHours(),this.minute=e.getUTCMinutes(),this.second=e.getUTCSeconds()):(this.zone=mr.localTimezone,this.year=e.getFullYear(),this.month=e.getMonth()+1,this.day=e.getDate(),this.hour=e.getHours(),this.minute=e.getMinutes(),this.second=e.getSeconds()):this.reset(),this._cachedUnixTime=null,this}fromData(e,t){if(e)for(let[n,i]of Object.entries(e))n!=="icaltype"&&(this[n]=i);if(t&&(this.zone=t),e&&!("isDate"in e)?this.isDate=!("hour"in e):e&&"isDate"in e&&(this.isDate=e.isDate),e&&"timezone"in e){let n=UM.get(e.timezone);this.zone=n||mr.localTimezone}return e&&"zone"in e&&(this.zone=e.zone),this.zone||(this.zone=mr.localTimezone),this._cachedUnixTime=null,this}dayOfWeek(e){let t=e||ye.SUNDAY,n=(this.year<<12)+(this.month<<8)+(this.day<<3)+t;if(n in ye._dowCache)return ye._dowCache[n];let i=this.day,s=this.month+(this.month<3?12:0),a=this.year-(this.month<3?1:0),o=i+a+ni((s+1)*26/10)+ni(a/4);return o+=ni(a/100)*6+ni(a/400),o=(o+7-t)%7+1,ye._dowCache[n]=o,o}dayOfYear(){let e=ye.isLeapYear(this.year)?1:0;return ye.daysInYearPassedMonth[e][this.month-1]+this.day}startOfWeek(e){let t=e||ye.SUNDAY,n=this.clone();return n.day-=(this.dayOfWeek()+7-t)%7,n.isDate=!0,n.hour=0,n.minute=0,n.second=0,n}endOfWeek(e){let t=e||ye.SUNDAY,n=this.clone();return n.day+=(7-this.dayOfWeek()+t-ye.SUNDAY)%7,n.isDate=!0,n.hour=0,n.minute=0,n.second=0,n}startOfMonth(){let e=this.clone();return e.day=1,e.isDate=!0,e.hour=0,e.minute=0,e.second=0,e}endOfMonth(){let e=this.clone();return e.day=ye.daysInMonth(e.month,e.year),e.isDate=!0,e.hour=0,e.minute=0,e.second=0,e}startOfYear(){let e=this.clone();return e.day=1,e.month=1,e.isDate=!0,e.hour=0,e.minute=0,e.second=0,e}endOfYear(){let e=this.clone();return e.day=31,e.month=12,e.isDate=!0,e.hour=0,e.minute=0,e.second=0,e}startDoyWeek(e){let t=e||ye.SUNDAY,n=this.dayOfWeek()-t;return n<0&&(n+=7),this.dayOfYear()-n}getDominicalLetter(){return ye.getDominicalLetter(this.year)}nthWeekDay(e,t){let n=ye.daysInMonth(this.month,this.year),i,s=t,a=0,o=this.clone();if(s>=0){o.day=1,s!=0&&s--,a=o.day;let l=o.dayOfWeek(),c=e-l;c<0&&(c+=7),a+=c,a-=e,i=e}else{o.day=n;let l=o.dayOfWeek();s++,i=l-e,i<0&&(i+=7),i=n-i}return i+=s*7,a+i}isNthWeekDay(e,t){let n=this.dayOfWeek();return t===0&&n===e||this.nthWeekDay(e,t)===this.day}weekNumber(e){let t=(this.year<<12)+(this.month<<8)+(this.day<<3)+e;if(t in ye._wnCache)return ye._wnCache[t];let n,i=this.clone();i.isDate=!0;let s=this.year;i.month==12&&i.day>25?(n=ye.weekOneStarts(s+1,e),i.compare(n)<0?n=ye.weekOneStarts(s,e):s++):(n=ye.weekOneStarts(s,e),i.compare(n)<0&&(n=ye.weekOneStarts(--s,e)));let a=i.subtractDate(n).toSeconds()/86400,o=ni(a/7)+1;return ye._wnCache[t]=o,o}addDuration(e){let t=e.isNegative?-1:1,n=this.second,i=this.minute,s=this.hour,a=this.day;n+=t*e.seconds,i+=t*e.minutes,s+=t*e.hours,a+=t*e.days,a+=t*7*e.weeks,this.second=n,this.minute=i,this.hour=s,this.day=a,this._cachedUnixTime=null}subtractDate(e){let t=this.toUnixTime()+this.utcOffset(),n=e.toUnixTime()+e.utcOffset();return Ca.fromSeconds(t-n)}subtractDateTz(e){let t=this.toUnixTime(),n=e.toUnixTime();return Ca.fromSeconds(t-n)}compare(e){if(e instanceof cx)return-1*e.compare(this);{let t=this.toUnixTime(),n=e.toUnixTime();return t>n?1:n>t?-1:0}}compareDateOnlyTz(e,t){let n=this.convertToZone(t),i=e.convertToZone(t),s=0;return(s=ye._cmp_attr(n,i,"year"))!=0||(s=ye._cmp_attr(n,i,"month"))!=0||(s=ye._cmp_attr(n,i,"day"))!=0,s}convertToZone(e){let t=this.clone(),n=this.zone.tzid==e.tzid;return!this.isDate&&!n&&mr.convert_time(t,this.zone,e),t.zone=e,t}utcOffset(){return this.zone==mr.localTimezone||this.zone==mr.utcTimezone?0:this.zone.utcOffset(this)}toICALString(){let e=this.toString();return e.length>10?fr.icalendar.value["date-time"].toICAL(e):fr.icalendar.value.date.toICAL(e)}toString(){let e=this.year+"-"+zs(this.month)+"-"+zs(this.day);return this.isDate||(e+="T"+zs(this.hour)+":"+zs(this.minute)+":"+zs(this.second),this.zone===mr.utcTimezone&&(e+="Z")),e}toJSDate(){return this.zone==mr.localTimezone?this.isDate?new Date(this.year,this.month-1,this.day):new Date(this.year,this.month-1,this.day,this.hour,this.minute,this.second,0):new Date(this.toUnixTime()*1e3)}_normalize(){return this._time.isDate&&(this._time.hour=0,this._time.minute=0,this._time.second=0),this.adjust(0,0,0,0),this}adjust(e,t,n,i,s){let a,o,l=0,c=0,d,u,p,m,f,h=s||this._time;if(h.isDate||(d=h.second+i,h.second=d%60,a=ni(d/60),h.second<0&&(h.second+=60,a--),u=h.minute+n+a,h.minute=u%60,o=ni(u/60),h.minute<0&&(h.minute+=60,o--),p=h.hour+t+o,h.hour=p%24,l=ni(p/24),h.hour<0&&(h.hour+=24,l--)),h.month>12?c=ni((h.month-1)/12):h.month<1&&(c=ni(h.month/12)-1),h.year+=c,h.month-=12*c,m=h.day+e+l,m>0)for(;f=ye.daysInMonth(h.month,h.year),!(m<=f);)h.month++,h.month>12&&(h.year++,h.month=1),m-=f;else for(;m<=0;)h.month==1?(h.year--,h.month=12):h.month--,m+=ye.daysInMonth(h.month,h.year);return h.day=m,this._cachedUnixTime=null,this}fromUnixTime(e){this.zone=mr.utcTimezone;let t=new Date(e*1e3);this.year=t.getUTCFullYear(),this.month=t.getUTCMonth()+1,this.day=t.getUTCDate(),this._time.isDate?(this.hour=0,this.minute=0,this.second=0):(this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds()),this._cachedUnixTime=null}toUnixTime(){if(this._cachedUnixTime!==null)return this._cachedUnixTime;let e=this.utcOffset(),t=Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second-e);return this._cachedUnixTime=t/1e3,this._cachedUnixTime}toJSON(){let e=["year","month","day","hour","minute","second","isDate"],t=Object.create(null),n=0,i=e.length,s;for(;n<i;n++)s=e[n],t[s]=this[s];return this.zone&&(t.timezone=this.zone.tzid),t}};av=new WeakMap,M(ye,"_dowCache",{}),M(ye,"_wnCache",{}),M(ye,"fromData",function(t,n){return new ye().fromData(t,n)}),gm(ye,av,null),M(ye,"daysInYearPassedMonth",[[0,31,59,90,120,151,181,212,243,273,304,334,365],[0,31,60,91,121,152,182,213,244,274,305,335,366]]),M(ye,"SUNDAY",1),M(ye,"MONDAY",2),M(ye,"TUESDAY",3),M(ye,"WEDNESDAY",4),M(ye,"THURSDAY",5),M(ye,"FRIDAY",6),M(ye,"SATURDAY",7),M(ye,"DEFAULT_WEEK_START",2);xe=ye,n3e=/[^ \t]/,HM=":",Y2=";",i3e="=",s3e="unknown",a3e="text",o3e={"^'":'"',"^n":`
`,"^^":"^"};dr.property=function(r,e){let t={component:[[],[]],designSet:e||fr.defaultSet};return dr._handleContentLine(r,t),t.component[1][0]};dr.component=function(r){return dr(r)};Nd=class extends Error{constructor(){super(...arguments);M(this,"name",this.constructor.name)}};dr.ParserError=Nd;dr._handleContentLine=function(r,e){let t=r.indexOf(HM),n=r.indexOf(Y2),i,s,a,o,l={};n!==-1&&t!==-1&&n>t&&(n=-1);let c;if(n!==-1){if(a=r.slice(0,Math.max(0,n)).toLowerCase(),c=dr._parseParameters(r.slice(Math.max(0,n)),0,e.designSet),c[2]==-1)throw new Nd("Invalid parameters in '"+r+"'");l=c[0];let y;if(typeof c[1]=="string"?y=c[1].length:y=c[1].reduce((k,T)=>k+T.length,0),i=y+c[2]+n,(s=r.slice(Math.max(0,i)).indexOf(HM))!==-1)o=r.slice(Math.max(0,i+s+1));else throw new Nd("Missing parameter value in '"+r+"'")}else if(t!==-1){if(a=r.slice(0,Math.max(0,t)).toLowerCase(),o=r.slice(Math.max(0,t+1)),a==="begin"){let y=[o.toLowerCase(),[],[]];e.stack.length===1?e.component.push(y):e.component[2].push(y),e.stack.push(e.component),e.component=y,e.designSet||(e.designSet=fr.getDesignSet(e.component[0]));return}else if(a==="end"){e.component=e.stack.pop();return}}else throw new Nd('invalid line (no token ";" or ":") "'+r+'"');let d,u=!1,p=!1,m,f,h;e.designSet.propertyGroups&&a.indexOf(".")!==-1?(f=a.split("."),l.group=f[0],h=f[1]):h=a,h in e.designSet.property&&(m=e.designSet.property[h],"multiValue"in m&&(u=m.multiValue),"structuredValue"in m&&(p=m.structuredValue),o&&"detectType"in m&&(d=m.detectType(o))),d||("value"in l?d=l.value.toLowerCase():m?d=m.defaultType:d=s3e),delete l.value;let g;u&&p?(o=dr._parseMultiValue(o,p,d,[],u,e.designSet,p),g=[h,l,d,o]):u?(g=[h,l,d],dr._parseMultiValue(o,u,d,g,null,e.designSet,!1)):p?(o=dr._parseMultiValue(o,p,d,[],null,e.designSet,p),g=[h,l,d,o]):(o=dr._parseValue(o,d,e.designSet,!1),g=[h,l,d,o]),e.component[0]==="vcard"&&e.component[1].length===0&&!(a==="version"&&o==="4.0")&&(e.designSet=fr.getDesignSet("vcard3")),e.component[1].push(g)};dr._parseValue=function(r,e,t,n){return e in t.value&&"fromICAL"in t.value[e]?t.value[e].fromICAL(r,n):r};dr._parseParameters=function(r,e,t){let n=e,i=0,s=i3e,a={},o,l,c,d=-1,u,p,m;for(;i!==!1&&(i=r.indexOf(s,i+1))!==-1;){if(o=r.slice(n+1,i),o.length==0)throw new Nd("Empty parameter name in '"+r+"'");if(l=o.toLowerCase(),m=!1,p=!1,l in t.param&&t.param[l].valueType?u=t.param[l].valueType:u=a3e,l in t.param&&(p=t.param[l].multiValue,t.param[l].multiValueSeparateDQuote&&(m=dr._rfc6868Escape('"'+p+'"'))),r[i+1]==='"'){if(d=i+2,i=r.indexOf('"',d),p&&i!=-1){let y=!0;for(;y;)r[i+1]==p&&r[i+2]=='"'?i=r.indexOf('"',i+3):y=!1}if(i===-1)throw new Nd('invalid line (no matching double quote) "'+r+'"');c=r.slice(d,i),n=r.indexOf(Y2,i);let g=r.indexOf(HM,i);(n===-1||g!==-1&&n>g)&&(i=!1)}else{d=i+1;let g=r.indexOf(Y2,d),y=r.indexOf(HM,d);y!==-1&&g>y?(g=y,i=!1):g===-1?(y===-1?g=r.length:g=y,i=!1):(n=g,i=g),c=r.slice(d,g)}let h=c.length;if(c=dr._rfc6868Escape(c),d+=h-c.length,p){let g=m||p;c=dr._parseMultiValue(c,g,u,[],null,t)}else c=dr._parseValue(c,u,t);p&&l in a?Array.isArray(a[l])?a[l].push(c):a[l]=[a[l],c]:a[l]=c}return[a,c,d]};dr._rfc6868Escape=function(r){return r.replace(/\^['n^]/g,function(e){return o3e[e]})};dr._parseMultiValue=function(r,e,t,n,i,s,a){let o=0,l=0,c;if(e.length===0)return r;for(;(o=Ehe(r,e,l))!==-1;)c=r.slice(l,o),i?c=dr._parseMultiValue(c,i,t,[],null,s,a):c=dr._parseValue(c,t,s,a),n.push(c),l=o+e.length;return c=r.slice(l),i?c=dr._parseMultiValue(c,i,t,[],null,s,a):c=dr._parseValue(c,t,s,a),n.push(c),n.length==1?n[0]:n};dr._eachLine=function(r,e){let t=r.length,n=r.search(n3e),i=n,s,a,o;do i=r.indexOf(`
`,n)+1,i>1&&r[i-2]==="\r"?o=2:o=1,i===0&&(i=t,o=0),a=r[n],a===" "||a===" "?s+=r.slice(n+1,i-o):(s&&e(null,s),s=r.slice(n,i-o)),n=i;while(i!==t);s=s.trim(),s.length&&e(null,s)};l3e=["tzid","location","tznames","latitude","longitude"],Qt=class Qt{constructor(e){M(this,"tzid","");M(this,"location","");M(this,"tznames","");M(this,"latitude",0);M(this,"longitude",0);M(this,"component",null);M(this,"expandedUntilYear",0);M(this,"icalclass","icaltimezone");this.wrappedJSObject=this,this.fromData(e)}static _compare_change_fn(e,t){return e.year<t.year?-1:e.year>t.year?1:e.month<t.month?-1:e.month>t.month?1:e.day<t.day?-1:e.day>t.day?1:e.hour<t.hour?-1:e.hour>t.hour?1:e.minute<t.minute?-1:e.minute>t.minute?1:e.second<t.second?-1:e.second>t.second?1:0}static convert_time(e,t,n){if(e.isDate||t.tzid==n.tzid||t==Qt.localTimezone||n==Qt.localTimezone)return e.zone=n,e;let i=t.utcOffset(e);return e.adjust(0,0,0,-i),i=n.utcOffset(e),e.adjust(0,0,0,i),null}static fromData(e){return new Qt().fromData(e)}static get utcTimezone(){return La(this,ov)||Bc(this,ov,Qt.fromData({tzid:"UTC"})),La(this,ov)}static get localTimezone(){return La(this,lv)||Bc(this,lv,Qt.fromData({tzid:"floating"})),La(this,lv)}static adjust_change(e,t,n,i,s){return xe.prototype.adjust.call(e,t,n,i,s,e)}fromData(e){if(this.expandedUntilYear=0,this.changes=[],e instanceof po)this.component=e;else{if(e&&"component"in e)if(typeof e.component=="string"){let t=dr(e.component);this.component=new po(t)}else e.component instanceof po?this.component=e.component:this.component=null;for(let t of l3e)e&&t in e&&(this[t]=e[t])}return this.component instanceof po&&!this.tzid&&(this.tzid=this.component.getFirstPropertyValue("tzid")),this}utcOffset(e){if(this==Qt.utcTimezone||this==Qt.localTimezone||(this._ensureCoverage(e.year),!this.changes.length))return 0;let t={year:e.year,month:e.month,day:e.day,hour:e.hour,minute:e.minute,second:e.second},n=this._findNearbyChange(t),i=-1,s=1;for(;;){let l=$f(this.changes[n],!0);if(l.utcOffset<l.prevUtcOffset?Qt.adjust_change(l,0,0,0,l.utcOffset):Qt.adjust_change(l,0,0,0,l.prevUtcOffset),Qt._compare_change_fn(t,l)>=0?i=n:s=-1,s==-1&&i!=-1)break;if(n+=s,n<0)return 0;if(n>=this.changes.length)break}let a=this.changes[i];if(a.utcOffset-a.prevUtcOffset<0&&i>0){let l=$f(a,!0);if(Qt.adjust_change(l,0,0,0,l.prevUtcOffset),Qt._compare_change_fn(t,l)<0){let c=this.changes[i-1],d=!1;a.is_daylight!=d&&c.is_daylight==d&&(a=c)}}return a.utcOffset}_findNearbyChange(e){let t=Lf(this.changes,e,Qt._compare_change_fn);return t>=this.changes.length?this.changes.length-1:t}_ensureCoverage(e){if(Qt._minimumExpansionYear==-1){let n=xe.now();Qt._minimumExpansionYear=n.year}let t=e;if(t<Qt._minimumExpansionYear&&(t=Qt._minimumExpansionYear),t+=Qt.EXTRA_COVERAGE,!this.changes.length||this.expandedUntilYear<e){let n=this.component.getAllSubcomponents(),i=n.length,s=0;for(;s<i;s++)this._expandComponent(n[s],t,this.changes);this.changes.sort(Qt._compare_change_fn),this.expandedUntilYear=t}}_expandComponent(e,t,n){if(!e.hasProperty("dtstart")||!e.hasProperty("tzoffsetto")||!e.hasProperty("tzoffsetfrom"))return null;let i=e.getFirstProperty("dtstart").getFirstValue(),s;function a(l){return l.factor*(l.hours*3600+l.minutes*60)}function o(){let l={};return l.is_daylight=e.name=="daylight",l.utcOffset=a(e.getFirstProperty("tzoffsetto").getFirstValue()),l.prevUtcOffset=a(e.getFirstProperty("tzoffsetfrom").getFirstValue()),l}if(!e.hasProperty("rrule")&&!e.hasProperty("rdate"))s=o(),s.year=i.year,s.month=i.month,s.day=i.day,s.hour=i.hour,s.minute=i.minute,s.second=i.second,Qt.adjust_change(s,0,0,0,-s.prevUtcOffset),n.push(s);else{let l=e.getAllProperties("rdate");for(let d of l){let u=d.getFirstValue();s=o(),s.year=u.year,s.month=u.month,s.day=u.day,u.isDate?(s.hour=i.hour,s.minute=i.minute,s.second=i.second,i.zone!=Qt.utcTimezone&&Qt.adjust_change(s,0,0,0,-s.prevUtcOffset)):(s.hour=u.hour,s.minute=u.minute,s.second=u.second,u.zone!=Qt.utcTimezone&&Qt.adjust_change(s,0,0,0,-s.prevUtcOffset)),n.push(s)}let c=e.getFirstProperty("rrule");if(c){c=c.getFirstValue(),s=o(),c.until&&c.until.zone==Qt.utcTimezone&&(c.until.adjust(0,0,0,s.prevUtcOffset),c.until.zone=Qt.localTimezone);let d=c.iterator(i),u;for(;(u=d.next())&&(s=o(),!(u.year>t||!u));)s.year=u.year,s.month=u.month,s.day=u.day,s.hour=u.hour,s.minute=u.minute,s.second=u.second,s.isDate=u.isDate,Qt.adjust_change(s,0,0,0,-s.prevUtcOffset),n.push(s)}}return n}toString(){return this.tznames?this.tznames:this.tzid}};ov=new WeakMap,lv=new WeakMap,gm(Qt,ov,null),gm(Qt,lv,null),M(Qt,"_minimumExpansionYear",-1),M(Qt,"EXTRA_COVERAGE",5);mr=Qt,cs=null,UM={get count(){return cs===null?0:Object.keys(cs).length},reset:function(){cs=Object.create(null);let r=mr.utcTimezone;cs.Z=r,cs.UTC=r,cs.GMT=r},_hard_reset:function(){cs=null},has:function(r){return cs===null?!1:!!cs[r]},get:function(r){return cs===null&&this.reset(),cs[r]},register:function(r,e){if(cs===null&&this.reset(),typeof r=="string"&&e instanceof mr&&([r,e]=[e,r]),e||(r instanceof mr?e=r.tzid:r.name==="vtimezone"&&(r=new mr(r),e=r.tzid)),!e)throw new TypeError("Neither a timezone nor a name was passed");if(r instanceof mr)cs[e]=r;else throw new TypeError("timezone must be ICAL.Timezone or ICAL.Component")},remove:function(r){return cs===null?null:delete cs[r]}};d3e=Object.freeze({__proto__:null,binsearchInsert:Lf,clone:$f,extend:jf,foldline:Dhe,formatClassType:Ad,isStrictlyNaN:dx,pad2:zs,strictParseInt:qi,trunc:ni,unescapedIndexOf:Ehe,updateTimezones:c3e}),Id=class r{constructor(e){M(this,"hours",0);M(this,"minutes",0);M(this,"factor",1);M(this,"icaltype","utc-offset");this.fromData(e)}static fromString(e){let t={};return t.factor=e[0]==="+"?1:-1,t.hours=qi(e.slice(1,3)),t.minutes=qi(e.slice(4,6)),new r(t)}static fromSeconds(e){let t=new r;return t.fromSeconds(e),t}clone(){return r.fromSeconds(this.toSeconds())}fromData(e){if(e)for(let[t,n]of Object.entries(e))this[t]=n;this._normalize()}fromSeconds(e){let t=Math.abs(e);return this.factor=e<0?-1:1,this.hours=ni(t/3600),t-=this.hours*3600,this.minutes=ni(t/60),this}toSeconds(){return this.factor*(60*this.minutes+3600*this.hours)}compare(e){let t=this.toSeconds(),n=e.toSeconds();return(t>n)-(n>t)}_normalize(){let e=this.toSeconds(),t=this.factor;for(;e<-43200;)e+=97200;for(;e>50400;)e-=97200;this.fromSeconds(e),e==0&&(this.factor=t)}toICALString(){return fr.icalendar.value["utc-offset"].toICAL(this.toString())}toString(){return(this.factor==1?"+":"-")+zs(this.hours)+":"+zs(this.minutes)}},Of=class r extends xe{constructor(t,n,i){super(t,n);M(this,"icalclass","vcardtime");M(this,"icaltype","date-and-or-time");this.icaltype=i||"date-and-or-time"}static fromDateAndOrTimeString(t,n){function i(g,y,k){return g?qi(g.slice(y,y+k)):null}let s=t.split("T"),a=s[0],o=s[1],l=o?fr.vcard.value.time._splitZone(o):[],c=l[0],d=l[1],u=a?a.length:0,p=d?d.length:0,m=a&&a[0]=="-"&&a[1]=="-",f=d&&d[0]=="-",h={year:m?null:i(a,0,4),month:m&&(u==4||u==7)?i(a,2,2):u==7||u==10?i(a,5,2):null,day:u==5?i(a,3,2):u==7&&m?i(a,5,2):u==10?i(a,8,2):null,hour:f?null:i(d,0,2),minute:f&&p==3?i(d,1,2):p>4?f?i(d,1,2):i(d,3,2):null,second:p==4?i(d,2,2):p==6?i(d,4,2):p==8?i(d,6,2):null};return c=="Z"?c=mr.utcTimezone:c&&c[3]==":"?c=Id.fromString(c):c=null,new r(h,c,n)}clone(){return new r(this._time,this.zone,this.icaltype)}_normalize(){return this}utcOffset(){return this.zone instanceof Id?this.zone.toSeconds():xe.prototype.utcOffset.apply(this,arguments)}toICALString(){return fr.vcard.value[this.icaltype].toICAL(this.toString())}toString(){let t=this.year,n=this.month,i=this.day,s=this.hour,a=this.minute,o=this.second,l=t!==null,c=n!==null,d=i!==null,u=s!==null,p=a!==null,m=o!==null,f=(l?zs(t)+(c||d?"-":""):c||d?"--":"")+(c?zs(n):"")+(d?"-"+zs(i):""),h=(u?zs(s):"-")+(u&&p?":":"")+(p?zs(a):"")+(!u&&!p?"-":"")+(p&&m?":":"")+(m?zs(o):""),g;switch(this.zone===mr.utcTimezone?g="Z":this.zone instanceof Id?g=this.zone.toString():this.zone===mr.localTimezone?g="":this.zone instanceof mr?g=Id.fromSeconds(this.zone.utcOffset(this)).toString():g="",this.icaltype){case"time":return h+g;case"date-and-or-time":case"date-time":return f+(h=="--"?"":"T"+h+g);case"date":return f}return null}},js=class js{constructor(e){M(this,"completed",!1);M(this,"rule",null);M(this,"dtstart",null);M(this,"last",null);M(this,"occurrence_number",0);M(this,"by_indices",null);M(this,"initialized",!1);M(this,"by_data",null);M(this,"days",null);M(this,"days_index",0);this.fromData(e)}fromData(e){if(this.rule=Ad(e.rule,il),!this.rule)throw new Error("iterator requires a (ICAL.Recur) rule");if(this.dtstart=Ad(e.dtstart,xe),!this.dtstart)throw new Error("iterator requires a (ICAL.Time) dtstart");if(e.by_data?this.by_data=e.by_data:this.by_data=$f(this.rule.parts,!0),e.occurrence_number&&(this.occurrence_number=e.occurrence_number),this.days=e.days||[],e.last&&(this.last=Ad(e.last,xe)),this.by_indices=e.by_indices,this.by_indices||(this.by_indices={BYSECOND:0,BYMINUTE:0,BYHOUR:0,BYDAY:0,BYMONTH:0,BYWEEKNO:0,BYMONTHDAY:0}),this.initialized=e.initialized||!1,!this.initialized)try{this.init()}catch(t){if(t instanceof sv)this.completed=!0;else throw t}}init(){this.initialized=!0,this.last=this.dtstart.clone();let e=this.by_data;if("BYDAY"in e&&this.sort_byday_rules(e.BYDAY),"BYYEARDAY"in e&&("BYMONTH"in e||"BYWEEKNO"in e||"BYMONTHDAY"in e))throw new Error("Invalid BYYEARDAY rule");if("BYWEEKNO"in e&&"BYMONTHDAY"in e)throw new Error("BYWEEKNO does not fit to BYMONTHDAY");if(this.rule.freq=="MONTHLY"&&("BYYEARDAY"in e||"BYWEEKNO"in e))throw new Error("For MONTHLY recurrences neither BYYEARDAY nor BYWEEKNO may appear");if(this.rule.freq=="WEEKLY"&&("BYYEARDAY"in e||"BYMONTHDAY"in e))throw new Error("For WEEKLY recurrences neither BYMONTHDAY nor BYYEARDAY may appear");if(this.rule.freq!="YEARLY"&&"BYYEARDAY"in e)throw new Error("BYYEARDAY may only appear in YEARLY rules");if(this.last.second=this.setup_defaults("BYSECOND","SECONDLY",this.dtstart.second),this.last.minute=this.setup_defaults("BYMINUTE","MINUTELY",this.dtstart.minute),this.last.hour=this.setup_defaults("BYHOUR","HOURLY",this.dtstart.hour),this.last.day=this.setup_defaults("BYMONTHDAY","DAILY",this.dtstart.day),this.last.month=this.setup_defaults("BYMONTH","MONTHLY",this.dtstart.month),this.rule.freq=="WEEKLY")if("BYDAY"in e){let[,t]=this.ruleDayOfWeek(e.BYDAY[0],this.rule.wkst),n=t-this.last.dayOfWeek(this.rule.wkst);(this.last.dayOfWeek(this.rule.wkst)<t&&n>=0||n<0)&&(this.last.day+=n)}else{let t=il.numericDayToIcalDay(this.dtstart.dayOfWeek());e.BYDAY=[t]}if(this.rule.freq=="YEARLY"){let t=this.rule.until?this.rule.until.year:2e4;for(;this.last.year<=t&&(this.expand_year_days(this.last.year),!(this.days.length>0));)this.increment_year(this.rule.interval);if(this.days.length==0)throw new sv;if(!this._nextByYearDay()&&!this.next_year()&&!this.next_year()&&!this.next_year())throw new sv}if(this.rule.freq=="MONTHLY"){if(this.has_by_data("BYDAY")){let t=null,n=this.last.clone(),i=xe.daysInMonth(this.last.month,this.last.year);for(let s of this.by_data.BYDAY){this.last=n.clone();let[a,o]=this.ruleDayOfWeek(s),l=this.last.nthWeekDay(o,a);if(a>=6||a<=-6)throw new Error("Malformed values in BYDAY part");if(l>i||l<=0){if(t&&t.month==n.month)continue;for(;l>i||l<=0;)this.increment_month(),i=xe.daysInMonth(this.last.month,this.last.year),l=this.last.nthWeekDay(o,a)}this.last.day=l,(!t||this.last.compare(t)<0)&&(t=this.last.clone())}if(this.last=t.clone(),this.has_by_data("BYMONTHDAY")&&this._byDayAndMonthDay(!0),this.last.day>i||this.last.day==0)throw new Error("Malformed values in BYDAY part")}else if(this.has_by_data("BYMONTHDAY")){this.last.day=1;let t=this.normalizeByMonthDayRules(this.last.year,this.last.month,this.rule.parts.BYMONTHDAY).filter(n=>n>=this.last.day);if(t.length)this.last.day=t[0],this.by_data.BYMONTHDAY=t;else if(!this.next_month()&&!this.next_month()&&!this.next_month())throw new sv}}}next(e=!1){let t=this.last?this.last.clone():null;if((this.rule.count&&this.occurrence_number>=this.rule.count||this.rule.until&&this.last.compare(this.rule.until)>0)&&(this.completed=!0),this.completed)return null;if(this.occurrence_number==0&&this.last.compare(this.dtstart)>=0)return this.occurrence_number++,this.last;let n,i=0;do switch(n=1,this.rule.freq){case"SECONDLY":this.next_second();break;case"MINUTELY":this.next_minute();break;case"HOURLY":this.next_hour();break;case"DAILY":this.next_day();break;case"WEEKLY":this.next_week();break;case"MONTHLY":if(n=this.next_month(),n)i=0;else if(++i==336)return this.completed=!0,null;break;case"YEARLY":if(n=this.next_year(),n)i=0;else if(++i==28)return this.completed=!0,null;break;default:return null}while(!this.check_contracting_rules()||this.last.compare(this.dtstart)<0||!n);if(this.last.compare(t)==0){if(e)throw new Error("Same occurrence found twice, protecting you from death by recursion");this.next(!0)}return this.rule.until&&this.last.compare(this.rule.until)>0?(this.completed=!0,null):(this.occurrence_number++,this.last)}next_second(){return this.next_generic("BYSECOND","SECONDLY","second","minute")}increment_second(e){return this.increment_generic(e,"second",60,"minute")}next_minute(){return this.next_generic("BYMINUTE","MINUTELY","minute","hour","next_second")}increment_minute(e){return this.increment_generic(e,"minute",60,"hour")}next_hour(){return this.next_generic("BYHOUR","HOURLY","hour","monthday","next_minute")}increment_hour(e){this.increment_generic(e,"hour",24,"monthday")}next_day(){let e=this.rule.freq=="DAILY";return this.next_hour()==0||(e?this.increment_monthday(this.rule.interval):this.increment_monthday(1)),0}next_week(){let e=0;if(this.next_weekday_by_week()==0)return e;if(this.has_by_data("BYWEEKNO")){this.by_indices.BYWEEKNO++,this.by_indices.BYWEEKNO==this.by_data.BYWEEKNO.length&&(this.by_indices.BYWEEKNO=0,e=1),this.last.month=1,this.last.day=1;let t=this.by_data.BYWEEKNO[this.by_indices.BYWEEKNO];this.last.day+=7*t,e&&this.increment_year(1)}else this.increment_monthday(7*this.rule.interval);return e}normalizeByMonthDayRules(e,t,n){let i=xe.daysInMonth(t,e),s=[],a=0,o=n.length,l;for(;a<o;a++){if(l=parseInt(n[a],10),isNaN(l))throw new Error("Invalid BYMONTHDAY value");if(!(Math.abs(l)>i)){if(l<0)l=i+(l+1);else if(l===0)continue;s.indexOf(l)===-1&&s.push(l)}}return s.sort(function(c,d){return c-d})}_byDayAndMonthDay(e){let t,n=this.by_data.BYDAY,i,s=0,a,o=n.length,l=0,c,d=this,u=this.last.day;function p(){for(c=xe.daysInMonth(d.last.month,d.last.year),t=d.normalizeByMonthDayRules(d.last.year,d.last.month,d.by_data.BYMONTHDAY),a=t.length;t[s]<=u&&!(e&&t[s]==u)&&s<a-1;)s++}function m(){u=0,d.increment_month(),s=0,p()}p(),e&&(u-=1);let f=48;for(;!l&&f;){if(f--,i=u+1,i>c){m();continue}let h=t[s++];if(h>=i)u=h;else{m();continue}for(let g=0;g<o;g++){let y=this.ruleDayOfWeek(n[g]),k=y[0],T=y[1];if(this.last.day=u,this.last.isNthWeekDay(T,k)){l=1;break}}if(!l&&s===a){m();continue}}if(f<=0)throw new Error("Malformed values in BYDAY combined with BYMONTHDAY parts");return l}next_month(){let e=1;if(this.next_hour()==0)return e;if(this.has_by_data("BYDAY")&&this.has_by_data("BYMONTHDAY"))e=this._byDayAndMonthDay();else if(this.has_by_data("BYDAY")){let t=xe.daysInMonth(this.last.month,this.last.year),n=0,i=0;if(this.has_by_data("BYSETPOS")){let a=this.last.day;for(let o=1;o<=t;o++)this.last.day=o,this.is_day_in_byday(this.last)&&(i++,o<=a&&n++);this.last.day=a}e=0;let s;for(s=this.last.day+1;s<=t;s++)if(this.last.day=s,this.is_day_in_byday(this.last)&&(!this.has_by_data("BYSETPOS")||this.check_set_position(++n)||this.check_set_position(n-i-1))){e=1;break}s>t&&(this.last.day=1,this.increment_month(),this.is_day_in_byday(this.last)?(!this.has_by_data("BYSETPOS")||this.check_set_position(1))&&(e=1):e=0)}else if(this.has_by_data("BYMONTHDAY")){if(this.by_indices.BYMONTHDAY++,this.by_indices.BYMONTHDAY>=this.by_data.BYMONTHDAY.length&&(this.by_indices.BYMONTHDAY=0,this.increment_month(),this.by_indices.BYMONTHDAY>=this.by_data.BYMONTHDAY.length))return 0;let t=xe.daysInMonth(this.last.month,this.last.year),n=this.by_data.BYMONTHDAY[this.by_indices.BYMONTHDAY];n<0&&(n=t+n+1),n>t?(this.last.day=1,e=this.is_day_in_byday(this.last)):this.last.day=n}else{this.increment_month();let t=xe.daysInMonth(this.last.month,this.last.year);this.by_data.BYMONTHDAY[0]>t?e=0:this.last.day=this.by_data.BYMONTHDAY[0]}return e}next_weekday_by_week(){let e=0;if(this.next_hour()==0)return e;if(!this.has_by_data("BYDAY"))return 1;for(;;){let t=new xe;this.by_indices.BYDAY++,this.by_indices.BYDAY==Object.keys(this.by_data.BYDAY).length&&(this.by_indices.BYDAY=0,e=1);let n=this.by_data.BYDAY[this.by_indices.BYDAY],s=this.ruleDayOfWeek(n)[1];s-=this.rule.wkst,s<0&&(s+=7),t.year=this.last.year,t.month=this.last.month,t.day=this.last.day;let a=t.startDoyWeek(this.rule.wkst);if(s+a<1&&!e)continue;let o=xe.fromDayOfYear(a+s,this.last.year);return this.last.year=o.year,this.last.month=o.month,this.last.day=o.day,e}}next_year(){return this.next_hour()==0||(this.days.length==0||++this.days_index==this.days.length)&&(this.days_index=0,this.increment_year(this.rule.interval),this.has_by_data("BYMONTHDAY")&&(this.by_data.BYMONTHDAY=this.normalizeByMonthDayRules(this.last.year,this.last.month,this.rule.parts.BYMONTHDAY)),this.expand_year_days(this.last.year),this.days.length==0)?0:this._nextByYearDay()}_nextByYearDay(){let e=this.days[this.days_index],t=this.last.year;if(Math.abs(e)==366&&!xe.isLeapYear(this.last.year))return 0;e<1&&(e+=1,t+=1);let n=xe.fromDayOfYear(e,t);return this.last.day=n.day,this.last.month=n.month,1}ruleDayOfWeek(e,t){let n=e.match(/([+-]?[0-9])?(MO|TU|WE|TH|FR|SA|SU)/);if(n){let i=parseInt(n[1]||0,10);return e=il.icalDayToNumericDay(n[2],t),[i,e]}else return[0,0]}next_generic(e,t,n,i,s){let a=e in this.by_data,o=this.rule.freq==t,l=0;if(s&&this[s]()==0)return l;if(a){this.by_indices[e]++;let c=this.by_data[e];this.by_indices[e]==c.length&&(this.by_indices[e]=0,l=1),this.last[n]=c[this.by_indices[e]]}else o&&this["increment_"+n](this.rule.interval);return a&&l&&o&&this["increment_"+i](1),l}increment_monthday(e){for(let t=0;t<e;t++){let n=xe.daysInMonth(this.last.month,this.last.year);this.last.day++,this.last.day>n&&(this.last.day-=n,this.increment_month())}}increment_month(){if(this.last.day=1,this.has_by_data("BYMONTH"))this.by_indices.BYMONTH++,this.by_indices.BYMONTH==this.by_data.BYMONTH.length&&(this.by_indices.BYMONTH=0,this.increment_year(1)),this.last.month=this.by_data.BYMONTH[this.by_indices.BYMONTH];else{this.rule.freq=="MONTHLY"?this.last.month+=this.rule.interval:this.last.month++,this.last.month--;let e=ni(this.last.month/12);this.last.month%=12,this.last.month++,e!=0&&this.increment_year(e)}this.has_by_data("BYMONTHDAY")&&(this.by_data.BYMONTHDAY=this.normalizeByMonthDayRules(this.last.year,this.last.month,this.rule.parts.BYMONTHDAY))}increment_year(e){this.last.day=1,this.last.year+=e}increment_generic(e,t,n,i){this.last[t]+=e;let s=ni(this.last[t]/n);this.last[t]%=n,s!=0&&this["increment_"+i](s)}has_by_data(e){return e in this.rule.parts}expand_year_days(e){let t=new xe;this.days=[];let n={},i=["BYDAY","BYWEEKNO","BYMONTHDAY","BYMONTH","BYYEARDAY"];for(let o of i)o in this.rule.parts&&(n[o]=this.rule.parts[o]);if("BYMONTH"in n&&"BYWEEKNO"in n){let o=1,l={};t.year=e,t.isDate=!0;for(let c=0;c<this.by_data.BYMONTH.length;c++){let d=this.by_data.BYMONTH[c];t.month=d,t.day=1;let u=t.weekNumber(this.rule.wkst);t.day=xe.daysInMonth(d,e);let p=t.weekNumber(this.rule.wkst);for(c=u;c<p;c++)l[c]=1}for(let c=0;c<this.by_data.BYWEEKNO.length&&o;c++)this.by_data.BYWEEKNO[c]<52?o&=l[c]:o=0;o?delete n.BYMONTH:delete n.BYWEEKNO}let s=Object.keys(n).length;if(s==0){let o=this.dtstart.clone();o.year=this.last.year,this.days.push(o.dayOfYear())}else if(s==1&&"BYMONTH"in n)for(let o of this.by_data.BYMONTH){let l=this.dtstart.clone();l.year=e,l.month=o,l.isDate=!0,this.days.push(l.dayOfYear())}else if(s==1&&"BYMONTHDAY"in n)for(let o of this.by_data.BYMONTHDAY){let l=this.dtstart.clone();if(o<0){let c=xe.daysInMonth(l.month,e);o=o+c+1}l.day=o,l.year=e,l.isDate=!0,this.days.push(l.dayOfYear())}else if(s==2&&"BYMONTHDAY"in n&&"BYMONTH"in n)for(let o of this.by_data.BYMONTH){let l=xe.daysInMonth(o,e);for(let c of this.by_data.BYMONTHDAY)c<0&&(c=c+l+1),t.day=c,t.month=o,t.year=e,t.isDate=!0,this.days.push(t.dayOfYear())}else if(!(s==1&&"BYWEEKNO"in n)){if(!(s==2&&"BYWEEKNO"in n&&"BYMONTHDAY"in n)){if(s==1&&"BYDAY"in n)this.days=this.days.concat(this.expand_by_day(e));else if(s==2&&"BYDAY"in n&&"BYMONTH"in n){for(let o of this.by_data.BYMONTH){let l=xe.daysInMonth(o,e);t.year=e,t.month=o,t.day=1,t.isDate=!0;let c=t.dayOfWeek(),d=t.dayOfYear()-1;t.day=l;let u=t.dayOfWeek();if(this.has_by_data("BYSETPOS")){let p=[];for(let m=1;m<=l;m++)t.day=m,this.is_day_in_byday(t)&&p.push(m);for(let m=0;m<p.length;m++)(this.check_set_position(m+1)||this.check_set_position(m-p.length))&&this.days.push(d+p[m])}else for(let p of this.by_data.BYDAY){let m=this.ruleDayOfWeek(p),f=m[0],h=m[1],g,y=(h+7-c)%7+1,k=l-(u+7-h)%7;if(f==0)for(let T=y;T<=l;T+=7)this.days.push(d+T);else f>0?(g=y+(f-1)*7,g<=l&&this.days.push(d+g)):(g=k+(f+1)*7,g>0&&this.days.push(d+g))}}this.days.sort(function(o,l){return o-l})}else if(s==2&&"BYDAY"in n&&"BYMONTHDAY"in n){let o=this.expand_by_day(e);for(let l of o){let c=xe.fromDayOfYear(l,e);this.by_data.BYMONTHDAY.indexOf(c.day)>=0&&this.days.push(l)}}else if(s==3&&"BYDAY"in n&&"BYMONTHDAY"in n&&"BYMONTH"in n){let o=this.expand_by_day(e);for(let l of o){let c=xe.fromDayOfYear(l,e);this.by_data.BYMONTH.indexOf(c.month)>=0&&this.by_data.BYMONTHDAY.indexOf(c.day)>=0&&this.days.push(l)}}else if(s==2&&"BYDAY"in n&&"BYWEEKNO"in n){let o=this.expand_by_day(e);for(let l of o){let d=xe.fromDayOfYear(l,e).weekNumber(this.rule.wkst);this.by_data.BYWEEKNO.indexOf(d)&&this.days.push(l)}}else if(!(s==3&&"BYDAY"in n&&"BYWEEKNO"in n&&"BYMONTHDAY"in n))if(s==1&&"BYYEARDAY"in n)this.days=this.days.concat(this.by_data.BYYEARDAY);else if(s==2&&"BYYEARDAY"in n&&"BYDAY"in n){let o=xe.isLeapYear(e)?366:365,l=new Set(this.expand_by_day(e));for(let c of this.by_data.BYYEARDAY)c<0&&(c+=o+1),l.has(c)&&this.days.push(c)}else this.days=[]}}let a=xe.isLeapYear(e)?366:365;return this.days.sort((o,l)=>(o<0&&(o+=a+1),l<0&&(l+=a+1),o-l)),0}expand_by_day(e){let t=[],n=this.last.clone();n.year=e,n.month=1,n.day=1,n.isDate=!0;let i=n.dayOfWeek();n.month=12,n.day=31,n.isDate=!0;let s=n.dayOfWeek(),a=n.dayOfYear();for(let o of this.by_data.BYDAY){let l=this.ruleDayOfWeek(o),c=l[0],d=l[1];if(c==0){let u=(d+7-i)%7+1;for(let p=u;p<=a;p+=7)t.push(p)}else if(c>0){let u;d>=i?u=d-i+1:u=d-i+8,t.push(u+(c-1)*7)}else{let u;c=-c,d<=s?u=a-s+d:u=a-s+d-7,t.push(u-(c-1)*7)}}return t}is_day_in_byday(e){if(this.by_data.BYDAY)for(let t of this.by_data.BYDAY){let n=this.ruleDayOfWeek(t),i=n[0],s=n[1],a=e.dayOfWeek();if(i==0&&s==a||e.nthWeekDay(s,i)==e.day)return 1}return 0}check_set_position(e){return this.has_by_data("BYSETPOS")?this.by_data.BYSETPOS.indexOf(e)!==-1:!1}sort_byday_rules(e){for(let t=0;t<e.length;t++)for(let n=0;n<t;n++){let i=this.ruleDayOfWeek(e[n],this.rule.wkst)[1],s=this.ruleDayOfWeek(e[t],this.rule.wkst)[1];if(i>s){let a=e[t];e[t]=e[n],e[n]=a}}}check_contract_restriction(e,t){let n=js._indexMap[e],i=js._expandMap[this.rule.freq][n],s=!1;if(e in this.by_data&&i==js.CONTRACT){let a=this.by_data[e];for(let o of a)if(o==t){s=!0;break}}else s=!0;return s}check_contracting_rules(){let e=this.last.dayOfWeek(),t=this.last.weekNumber(this.rule.wkst),n=this.last.dayOfYear();return this.check_contract_restriction("BYSECOND",this.last.second)&&this.check_contract_restriction("BYMINUTE",this.last.minute)&&this.check_contract_restriction("BYHOUR",this.last.hour)&&this.check_contract_restriction("BYDAY",il.numericDayToIcalDay(e))&&this.check_contract_restriction("BYWEEKNO",t)&&this.check_contract_restriction("BYMONTHDAY",this.last.day)&&this.check_contract_restriction("BYMONTH",this.last.month)&&this.check_contract_restriction("BYYEARDAY",n)}setup_defaults(e,t,n){let i=js._indexMap[e];return js._expandMap[this.rule.freq][i]!=js.CONTRACT&&(e in this.by_data||(this.by_data[e]=[n]),this.rule.freq!=t)?this.by_data[e][0]:n}toJSON(){let e=Object.create(null);return e.initialized=this.initialized,e.rule=this.rule.toJSON(),e.dtstart=this.dtstart.toJSON(),e.by_data=this.by_data,e.days=this.days,e.last=this.last.toJSON(),e.by_indices=this.by_indices,e.occurrence_number=this.occurrence_number,e}};M(js,"_indexMap",{BYSECOND:0,BYMINUTE:1,BYHOUR:2,BYDAY:3,BYMONTHDAY:4,BYYEARDAY:5,BYWEEKNO:6,BYMONTH:7,BYSETPOS:8}),M(js,"_expandMap",{SECONDLY:[1,1,1,1,1,1,1,1],MINUTELY:[2,1,1,1,1,1,1,1],HOURLY:[2,2,1,1,1,1,1,1],DAILY:[2,2,2,1,1,1,1,1],WEEKLY:[2,2,2,2,3,3,1,1],MONTHLY:[2,2,2,2,2,3,3,1],YEARLY:[2,2,2,2,2,2,2,2]}),M(js,"UNKNOWN",0),M(js,"CONTRACT",1),M(js,"EXPAND",2),M(js,"ILLEGAL",3);ux=js,sv=class extends Error{constructor(){super("Recurrence rule has no valid occurrences")}},u3e=/^(SU|MO|TU|WE|TH|FR|SA)$/,p3e=/^([+-])?(5[0-3]|[1-4][0-9]|[1-9])?(SU|MO|TU|WE|TH|FR|SA)$/,Che={SU:xe.SUNDAY,MO:xe.MONDAY,TU:xe.TUESDAY,WE:xe.WEDNESDAY,TH:xe.THURSDAY,FR:xe.FRIDAY,SA:xe.SATURDAY},m3e=Object.fromEntries(Object.entries(Che).map(r=>r.reverse())),fhe=["SECONDLY","MINUTELY","HOURLY","DAILY","WEEKLY","MONTHLY","YEARLY"],il=class r{constructor(e){M(this,"parts",null);M(this,"interval",1);M(this,"wkst",xe.MONDAY);M(this,"until",null);M(this,"count",null);M(this,"freq",null);M(this,"icalclass","icalrecur");M(this,"icaltype","recur");this.wrappedJSObject=this,this.parts={},e&&typeof e=="object"&&this.fromData(e)}static fromString(e){let t=this._stringToData(e,!1);return new r(t)}static fromData(e){return new r(e)}static _stringToData(e,t){let n=Object.create(null),i=e.split(";"),s=i.length;for(let a=0;a<s;a++){let o=i[a].split("="),l=o[0].toUpperCase(),c=o[0].toLowerCase(),d=t?c:l,u=o[1];if(l in W2){let p=u.split(","),m=new Set;for(let f of p)m.add(W2[l](f));p=[...m],n[d]=p.length==1?p[0]:p}else l in V2?V2[l](u,n,t):n[c]=u}return n}static icalDayToNumericDay(e,t){let n=t||xe.SUNDAY;return(Che[e]-n+7)%7+1}static numericDayToIcalDay(e,t){let n=t||xe.SUNDAY,i=e+n-xe.SUNDAY;return i>7&&(i-=7),m3e[i]}iterator(e){return new ux({rule:this,dtstart:e})}clone(){return new r(this.toJSON())}isFinite(){return!!(this.count||this.until)}isByCount(){return!!(this.count&&!this.until)}addComponent(e,t){let n=e.toUpperCase();n in this.parts?this.parts[n].push(t):this.parts[n]=[t]}setComponent(e,t){this.parts[e.toUpperCase()]=t.slice()}getComponent(e){let t=e.toUpperCase();return t in this.parts?this.parts[t].slice():[]}getNextOccurrence(e,t){let n=this.iterator(e),i;do i=n.next();while(i&&i.compare(t)<=0);return i&&t.zone&&(i.zone=t.zone),i}fromData(e){for(let t in e){let n=t.toUpperCase();n in W2?Array.isArray(e[t])?this.parts[n]=e[t]:this.parts[n]=[e[t]]:this[t]=e[t]}this.interval&&typeof this.interval!="number"&&V2.INTERVAL(this.interval,this),this.wkst&&typeof this.wkst!="number"&&(this.wkst=r.icalDayToNumericDay(this.wkst)),this.until&&!(this.until instanceof xe)&&(this.until=xe.fromString(this.until))}toJSON(){let e=Object.create(null);e.freq=this.freq,this.count&&(e.count=this.count),this.interval>1&&(e.interval=this.interval);for(let[t,n]of Object.entries(this.parts))Array.isArray(n)&&n.length==1?e[t.toLowerCase()]=n[0]:e[t.toLowerCase()]=$f(n);return this.until&&(e.until=this.until.toString()),"wkst"in this&&this.wkst!==xe.DEFAULT_WEEK_START&&(e.wkst=r.numericDayToIcalDay(this.wkst)),e}toString(){let e="FREQ="+this.freq;this.count&&(e+=";COUNT="+this.count),this.interval>1&&(e+=";INTERVAL="+this.interval);for(let[t,n]of Object.entries(this.parts))e+=";"+t+"="+n;return this.until&&(e+=";UNTIL="+this.until.toICALString()),"wkst"in this&&this.wkst!==xe.DEFAULT_WEEK_START&&(e+=";WKST="+r.numericDayToIcalDay(this.wkst)),e}};V2={FREQ:function(r,e,t){if(fhe.indexOf(r)!==-1)e.freq=r;else throw new Error('invalid frequency "'+r+'" expected: "'+fhe.join(", ")+'"')},COUNT:function(r,e,t){e.count=qi(r)},INTERVAL:function(r,e,t){e.interval=qi(r),e.interval<1&&(e.interval=1)},UNTIL:function(r,e,t){r.length>10?e.until=fr.icalendar.value["date-time"].fromICAL(r):e.until=fr.icalendar.value.date.fromICAL(r),t||(e.until=xe.fromString(e.until))},WKST:function(r,e,t){if(u3e.test(r))e.wkst=il.icalDayToNumericDay(r);else throw new Error('invalid WKST value "'+r+'"')}},W2={BYSECOND:fp.bind(void 0,"BYSECOND",0,60),BYMINUTE:fp.bind(void 0,"BYMINUTE",0,59),BYHOUR:fp.bind(void 0,"BYHOUR",0,23),BYDAY:function(r){if(p3e.test(r))return r;throw new Error('invalid BYDAY value "'+r+'"')},BYMONTHDAY:fp.bind(void 0,"BYMONTHDAY",-31,31),BYYEARDAY:fp.bind(void 0,"BYYEARDAY",-366,366),BYWEEKNO:fp.bind(void 0,"BYWEEKNO",-53,53),BYMONTH:fp.bind(void 0,"BYMONTH",1,12),BYSETPOS:fp.bind(void 0,"BYSETPOS",-366,366)},f3e=/\\\\|\\;|\\,|\\[Nn]/g,h3e=/\\|;|,|\n/g,hhe=/\\\\|\\,|\\[Nn]/g,ghe=/\\|,|\n/g;Jt={defaultType:"text"},px={defaultType:"text",multiValue:","},VM={defaultType:"text",structuredValue:";"},LM={defaultType:"integer"},FM={defaultType:"date-time",allowedTypes:["date-time","date"]},$M={defaultType:"date-time"},$s={defaultType:"uri"},yhe={defaultType:"utc-offset"},vhe={defaultType:"recur"},bhe={defaultType:"date-and-or-time",allowedTypes:["date-time","date","text"]};Z2={categories:px,url:$s,version:Jt,uid:Jt},Q2={boolean:{values:["TRUE","FALSE"],fromICAL:function(r){switch(r){case"TRUE":return!0;case"FALSE":return!1;default:return!1}},toICAL:function(r){return r?"TRUE":"FALSE"}},float:{matches:/^[+-]?\d+\.\d+$/,fromICAL:function(r){let e=parseFloat(r);return dx(e)?0:e},toICAL:function(r){return String(r)}},integer:{fromICAL:function(r){let e=parseInt(r);return dx(e)?0:e},toICAL:function(r){return String(r)}},"utc-offset":{toICAL:function(r){return r.length<7?r.slice(0,3)+r.slice(4,6):r.slice(0,3)+r.slice(4,6)+r.slice(7,9)},fromICAL:function(r){return r.length<6?r.slice(0,3)+":"+r.slice(3,5):r.slice(0,3)+":"+r.slice(3,5)+":"+r.slice(5,7)},decorate:function(r){return Id.fromString(r)},undecorate:function(r){return r.toString()}}},v3e={cutype:{values:["INDIVIDUAL","GROUP","RESOURCE","ROOM","UNKNOWN"],allowXName:!0,allowIanaToken:!0},"delegated-from":{valueType:"cal-address",multiValue:",",multiValueSeparateDQuote:!0},"delegated-to":{valueType:"cal-address",multiValue:",",multiValueSeparateDQuote:!0},encoding:{values:["8BIT","BASE64"]},fbtype:{values:["FREE","BUSY","BUSY-UNAVAILABLE","BUSY-TENTATIVE"],allowXName:!0,allowIanaToken:!0},member:{valueType:"cal-address",multiValue:",",multiValueSeparateDQuote:!0},partstat:{values:["NEEDS-ACTION","ACCEPTED","DECLINED","TENTATIVE","DELEGATED","COMPLETED","IN-PROCESS"],allowXName:!0,allowIanaToken:!0},range:{values:["THISANDFUTURE"]},related:{values:["START","END"]},reltype:{values:["PARENT","CHILD","SIBLING"],allowXName:!0,allowIanaToken:!0},role:{values:["REQ-PARTICIPANT","CHAIR","OPT-PARTICIPANT","NON-PARTICIPANT"],allowXName:!0,allowIanaToken:!0},rsvp:{values:["TRUE","FALSE"]},"sent-by":{valueType:"cal-address"},tzid:{matches:/^\//},value:{values:["binary","boolean","cal-address","date","date-time","duration","float","integer","period","recur","text","time","uri","utc-offset"],allowXName:!0,allowIanaToken:!0}},An=jf(Q2,{text:G2(f3e,h3e),uri:{},binary:{decorate:function(r){return qM.fromString(r)},undecorate:function(r){return r.toString()}},"cal-address":{},date:{decorate:function(r,e){return fr.strict?xe.fromDateString(r,e):xe.fromString(r,e)},undecorate:function(r){return r.toString()},fromICAL:function(r){return!fr.strict&&r.length>=15?An["date-time"].fromICAL(r):r.slice(0,4)+"-"+r.slice(4,6)+"-"+r.slice(6,8)},toICAL:function(r){let e=r.length;return e==10?r.slice(0,4)+r.slice(5,7)+r.slice(8,10):e>=19?An["date-time"].toICAL(r):r}},"date-time":{fromICAL:function(r){if(!fr.strict&&r.length==8)return An.date.fromICAL(r);{let e=r.slice(0,4)+"-"+r.slice(4,6)+"-"+r.slice(6,8)+"T"+r.slice(9,11)+":"+r.slice(11,13)+":"+r.slice(13,15);return r[15]&&r[15]==="Z"&&(e+="Z"),e}},toICAL:function(r){let e=r.length;if(e==10&&!fr.strict)return An.date.toICAL(r);if(e>=19){let t=r.slice(0,4)+r.slice(5,7)+r.slice(8,13)+r.slice(14,16)+r.slice(17,19);return r[19]&&r[19]==="Z"&&(t+="Z"),t}else return r},decorate:function(r,e){return fr.strict?xe.fromDateTimeString(r,e):xe.fromString(r,e)},undecorate:function(r){return r.toString()}},duration:{decorate:function(r){return Ca.fromString(r)},undecorate:function(r){return r.toString()}},period:{fromICAL:function(r){let e=r.split("/");return e[0]=An["date-time"].fromICAL(e[0]),Ca.isValueString(e[1])||(e[1]=An["date-time"].fromICAL(e[1])),e},toICAL:function(r){return r=r.slice(),!fr.strict&&r[0].length==10?r[0]=An.date.toICAL(r[0]):r[0]=An["date-time"].toICAL(r[0]),Ca.isValueString(r[1])||(!fr.strict&&r[1].length==10?r[1]=An.date.toICAL(r[1]):r[1]=An["date-time"].toICAL(r[1])),r.join("/")},decorate:function(r,e){return cx.fromJSON(r,e,!fr.strict)},undecorate:function(r){return r.toJSON()}},recur:{fromICAL:function(r){return il._stringToData(r,!0)},toICAL:function(r){let e="";for(let[t,n]of Object.entries(r))t=="until"?n.length>10?n=An["date-time"].toICAL(n):n=An.date.toICAL(n):t=="wkst"?typeof n=="number"&&(n=il.numericDayToIcalDay(n)):Array.isArray(n)&&(n=n.join(",")),e+=t.toUpperCase()+"="+n+";";return e.slice(0,Math.max(0,e.length-1))},decorate:function(e){return il.fromData(e)},undecorate:function(r){return r.toJSON()}},time:{fromICAL:function(r){if(r.length<6)return r;let e=r.slice(0,2)+":"+r.slice(2,4)+":"+r.slice(4,6);return r[6]==="Z"&&(e+="Z"),e},toICAL:function(r){if(r.length<8)return r;let e=r.slice(0,2)+r.slice(3,5)+r.slice(6,8);return r[8]==="Z"&&(e+="Z"),e}}}),b3e=jf(Z2,{action:Jt,attach:{defaultType:"uri"},attendee:{defaultType:"cal-address"},calscale:Jt,class:Jt,comment:Jt,completed:$M,contact:Jt,created:$M,description:Jt,dtend:FM,dtstamp:$M,dtstart:FM,due:FM,duration:{defaultType:"duration"},exdate:{defaultType:"date-time",allowedTypes:["date-time","date"],multiValue:","},exrule:vhe,freebusy:{defaultType:"period",multiValue:","},geo:{defaultType:"float",structuredValue:";"},"last-modified":$M,location:Jt,method:Jt,organizer:{defaultType:"cal-address"},"percent-complete":LM,priority:LM,prodid:Jt,"related-to":Jt,repeat:LM,rdate:{defaultType:"date-time",allowedTypes:["date-time","date","period"],multiValue:",",detectType:function(r){return r.indexOf("/")!==-1?"period":r.indexOf("T")===-1?"date":"date-time"}},"recurrence-id":FM,resources:px,"request-status":VM,rrule:vhe,sequence:LM,status:Jt,summary:Jt,transp:Jt,trigger:{defaultType:"duration",allowedTypes:["duration","date-time"]},tzoffsetfrom:yhe,tzoffsetto:yhe,tzurl:$s,tzid:Jt,tzname:Jt}),Da=jf(Q2,{text:G2(hhe,ghe),uri:G2(hhe,ghe),date:{decorate:function(r){return Of.fromDateAndOrTimeString(r,"date")},undecorate:function(r){return r.toString()},fromICAL:function(r){return r.length==8?An.date.fromICAL(r):r[0]=="-"&&r.length==6?r.slice(0,4)+"-"+r.slice(4):r},toICAL:function(r){return r.length==10?An.date.toICAL(r):r[0]=="-"&&r.length==7?r.slice(0,4)+r.slice(5):r}},time:{decorate:function(r){return Of.fromDateAndOrTimeString("T"+r,"time")},undecorate:function(r){return r.toString()},fromICAL:function(r){let e=Da.time._splitZone(r,!0),t=e[0],n=e[1];return n.length==6?n=n.slice(0,2)+":"+n.slice(2,4)+":"+n.slice(4,6):n.length==4&&n[0]!="-"?n=n.slice(0,2)+":"+n.slice(2,4):n.length==5&&(n=n.slice(0,3)+":"+n.slice(3,5)),t.length==5&&(t[0]=="-"||t[0]=="+")&&(t=t.slice(0,3)+":"+t.slice(3)),n+t},toICAL:function(r){let e=Da.time._splitZone(r),t=e[0],n=e[1];return n.length==8?n=n.slice(0,2)+n.slice(3,5)+n.slice(6,8):n.length==5&&n[0]!="-"?n=n.slice(0,2)+n.slice(3,5):n.length==6&&(n=n.slice(0,3)+n.slice(4,6)),t.length==6&&(t[0]=="-"||t[0]=="+")&&(t=t.slice(0,3)+t.slice(4)),n+t},_splitZone:function(r,e){let t=r.length-1,n=r.length-(e?5:6),i=r[n],s,a;return r[t]=="Z"?(s=r[t],a=r.slice(0,Math.max(0,t))):r.length>6&&(i=="-"||i=="+")?(s=r.slice(n),a=r.slice(0,Math.max(0,n))):(s="",a=r),[s,a]}},"date-time":{decorate:function(r){return Of.fromDateAndOrTimeString(r,"date-time")},undecorate:function(r){return r.toString()},fromICAL:function(r){return Da["date-and-or-time"].fromICAL(r)},toICAL:function(r){return Da["date-and-or-time"].toICAL(r)}},"date-and-or-time":{decorate:function(r){return Of.fromDateAndOrTimeString(r,"date-and-or-time")},undecorate:function(r){return r.toString()},fromICAL:function(r){let e=r.split("T");return(e[0]?Da.date.fromICAL(e[0]):"")+(e[1]?"T"+Da.time.fromICAL(e[1]):"")},toICAL:function(r){let e=r.split("T");return Da.date.toICAL(e[0])+(e[1]?"T"+Da.time.toICAL(e[1]):"")}},timestamp:An["date-time"],"language-tag":{matches:/^[a-zA-Z0-9-]+$/},"phone-number":{fromICAL:function(r){return Array.from(r).filter(function(e){return e==="\\"?void 0:e}).join("")},toICAL:function(r){return Array.from(r).map(function(e){return e===","||e===";"?"\\"+e:e}).join("")}}}),T3e={type:{valueType:"text",multiValue:","},value:{values:["text","uri","date","time","date-time","date-and-or-time","timestamp","boolean","integer","float","utc-offset","language-tag"],allowXName:!0,allowIanaToken:!0}},k3e=jf(Z2,{adr:{defaultType:"text",structuredValue:";",multiValue:","},anniversary:bhe,bday:bhe,caladruri:$s,caluri:$s,clientpidmap:VM,email:Jt,fburl:$s,fn:Jt,gender:VM,geo:$s,impp:$s,key:$s,kind:Jt,lang:{defaultType:"language-tag"},logo:$s,member:$s,n:{defaultType:"text",structuredValue:";",multiValue:","},nickname:px,note:Jt,org:{defaultType:"text",structuredValue:";"},photo:$s,related:$s,rev:{defaultType:"timestamp"},role:Jt,sound:$s,source:$s,tel:{defaultType:"uri",allowedTypes:["uri","text"]},title:Jt,tz:{defaultType:"text",allowedTypes:["text","utc-offset","uri"]},xml:Jt}),w3e=jf(Q2,{binary:An.binary,date:Da.date,"date-time":Da["date-time"],"phone-number":Da["phone-number"],uri:An.uri,text:Da.text,time:An.time,vcard:An.text,"utc-offset":{toICAL:function(r){return r.slice(0,7)},fromICAL:function(r){return r.slice(0,7)},decorate:function(r){return Id.fromString(r)},undecorate:function(r){return r.toString()}}}),S3e={type:{valueType:"text",multiValue:","},value:{values:["text","uri","date","date-time","phone-number","time","boolean","integer","float","utc-offset","vcard","binary"],allowXName:!0,allowIanaToken:!0}},x3e=jf(Z2,{fn:Jt,n:{defaultType:"text",structuredValue:";",multiValue:","},nickname:px,photo:{defaultType:"binary",allowedTypes:["binary","uri"]},bday:{defaultType:"date-time",allowedTypes:["date-time","date"],detectType:function(r){return r.indexOf("T")===-1?"date":"date-time"}},adr:{defaultType:"text",structuredValue:";",multiValue:","},label:Jt,tel:{defaultType:"phone-number"},email:Jt,mailer:Jt,tz:{defaultType:"utc-offset",allowedTypes:["utc-offset","text"]},geo:{defaultType:"float",structuredValue:";"},title:Jt,role:Jt,logo:{defaultType:"binary",allowedTypes:["binary","uri"]},agent:{defaultType:"vcard",allowedTypes:["vcard","text","uri"]},org:VM,note:px,prodid:Jt,rev:{defaultType:"date-time",allowedTypes:["date-time","date"],detectType:function(r){return r.indexOf("T")===-1?"date":"date-time"}},"sort-string":Jt,sound:{defaultType:"binary",allowedTypes:["binary","uri"]},class:Jt,key:{defaultType:"binary",allowedTypes:["binary","text"]}}),Md={name:"ical",value:An,param:v3e,property:b3e,propertyGroups:!1},The={name:"vcard4",value:Da,param:T3e,property:k3e,propertyGroups:!0},khe={name:"vcard3",value:w3e,param:S3e,property:x3e,propertyGroups:!0},fr={strict:!0,defaultSet:Md,defaultType:"unknown",components:{vcard:The,vcard3:khe,vevent:Md,vtodo:Md,vjournal:Md,valarm:Md,vtimezone:Md,daylight:Md,standard:Md},icalendar:Md,vcard:The,vcard3:khe,getDesignSet:function(r){return r&&r in fr.components?fr.components[r]:fr.defaultSet}},BM=`\r
`,whe="unknown",E3e={'"':"^'","\n":"^n","^":"^^"};sn.component=function(r,e){let t=r[0].toUpperCase(),n="BEGIN:"+t+BM,i=r[1],s=0,a=i.length,o=r[0];for(o==="vcard"&&r[1].length>0&&!(r[1][0][0]==="version"&&r[1][0][3]==="4.0")&&(o="vcard3"),e=e||fr.getDesignSet(o);s<a;s++)n+=sn.property(i[s],e)+BM;let l=r[2]||[],c=0,d=l.length;for(;c<d;c++)n+=sn.component(l[c],e)+BM;return n+="END:"+t,n};sn.property=function(r,e,t){let n=r[0].toUpperCase(),i=r[0],s=r[1];e||(e=fr.defaultSet);let a=s.group,o;e.propertyGroups&&a?o=a.toUpperCase()+"."+n:o=n;for(let[m,f]of Object.entries(s)){if(e.propertyGroups&&m=="group")continue;let h=e.param[m],g=h&&h.multiValue;g&&Array.isArray(f)?(f=f.map(function(y){return y=sn._rfc6868Unescape(y),y=sn.paramPropertyValue(y,h.multiValueSeparateDQuote),y}),f=sn.multiValue(f,g,"unknown",null,e)):(f=sn._rfc6868Unescape(f),f=sn.paramPropertyValue(f)),o+=";"+m.toUpperCase()+"="+f}if(r.length===3)return o+":";let l=r[2],c,d=!1,u=!1,p=!1;return i in e.property?(c=e.property[i],"multiValue"in c&&(d=c.multiValue),"structuredValue"in c&&Array.isArray(r[3])&&(u=c.structuredValue),"defaultType"in c?l===c.defaultType&&(p=!0):l===whe&&(p=!0)):l===whe&&(p=!0),p||(o+=";VALUE="+l.toUpperCase()),o+=":",d&&u?o+=sn.multiValue(r[3],u,l,d,e,u):d?o+=sn.multiValue(r.slice(3),d,l,null,e,!1):u?o+=sn.multiValue(r[3],u,l,null,e,u):o+=sn.value(r[3],l,e,!1),t?o:Dhe(o)};sn.paramPropertyValue=function(r,e){return!e&&r.indexOf(",")===-1&&r.indexOf(":")===-1&&r.indexOf(";")===-1?r:'"'+r+'"'};sn.multiValue=function(r,e,t,n,i,s){let a="",o=r.length,l=0;for(;l<o;l++)n&&Array.isArray(r[l])?a+=sn.multiValue(r[l],n,t,null,i,s):a+=sn.value(r[l],t,i,s),l!==o-1&&(a+=e);return a};sn.value=function(r,e,t,n){return e in t.value&&"toICAL"in t.value[e]?t.value[e].toICAL(r,n):r};sn._rfc6868Unescape=function(r){return r.replace(/[\n^"]/g,function(e){return E3e[e]})};She=0,jM=1,zM=2,hp=3,Ff=class r{static fromString(e,t){return new r(dr.property(e,t))}constructor(e,t){this._parent=t||null,typeof e=="string"?(this.jCal=[e,{},fr.defaultType],this.jCal[zM]=this.getDefaultType()):this.jCal=e,this._updateType()}get type(){return this.jCal[zM]}get name(){return this.jCal[She]}get parent(){return this._parent}set parent(e){let t=!this._parent||e&&e._designSet!=this._parent._designSet;this._parent=e,this.type==fr.defaultType&&t&&(this.jCal[zM]=this.getDefaultType(),this._updateType())}get _designSet(){return this.parent?this.parent._designSet:fr.defaultSet}_updateType(){let e=this._designSet;this.type in e.value&&("decorate"in e.value[this.type]?this.isDecorated=!0:this.isDecorated=!1,this.name in e.property&&(this.isMultiValue="multiValue"in e.property[this.name],this.isStructuredValue="structuredValue"in e.property[this.name]))}_hydrateValue(e){return this._values&&this._values[e]?this._values[e]:this.jCal.length<=hp+e?null:this.isDecorated?(this._values||(this._values=[]),this._values[e]=this._decorate(this.jCal[hp+e])):this.jCal[hp+e]}_decorate(e){return this._designSet.value[this.type].decorate(e,this)}_undecorate(e){return this._designSet.value[this.type].undecorate(e,this)}_setDecoratedValue(e,t){this._values||(this._values=[]),typeof e=="object"&&"icaltype"in e?(this.jCal[hp+t]=this._undecorate(e),this._values[t]=e):(this.jCal[hp+t]=e,this._values[t]=this._decorate(e))}getParameter(e){if(e in this.jCal[jM])return this.jCal[jM][e]}getFirstParameter(e){let t=this.getParameter(e);return Array.isArray(t)?t[0]:t}setParameter(e,t){let n=e.toLowerCase();typeof t=="string"&&n in this._designSet.param&&"multiValue"in this._designSet.param[n]&&(t=[t]),this.jCal[jM][e]=t}removeParameter(e){delete this.jCal[jM][e]}getDefaultType(){let e=this.jCal[She],t=this._designSet;if(e in t.property){let n=t.property[e];if("defaultType"in n)return n.defaultType}return fr.defaultType}resetType(e){this.removeAllValues(),this.jCal[zM]=e,this._updateType()}getFirstValue(){return this._hydrateValue(0)}getValues(){let e=this.jCal.length-hp;if(e<1)return[];let t=0,n=[];for(;t<e;t++)n[t]=this._hydrateValue(t);return n}removeAllValues(){this._values&&(this._values.length=0),this.jCal.length=3}setValues(e){if(!this.isMultiValue)throw new Error(this.name+`: does not not support mulitValue.
override isMultiValue`);let t=e.length,n=0;if(this.removeAllValues(),t>0&&typeof e[0]=="object"&&"icaltype"in e[0]&&this.resetType(e[0].icaltype),this.isDecorated)for(;n<t;n++)this._setDecoratedValue(e[n],n);else for(;n<t;n++)this.jCal[hp+n]=e[n]}setValue(e){this.removeAllValues(),typeof e=="object"&&"icaltype"in e&&this.resetType(e.icaltype),this.isDecorated?this._setDecoratedValue(e,0):this.jCal[hp]=e}toJSON(){return this.jCal}toICALString(){return sn.property(this.jCal,this._designSet,!0)}},gp=0,sc=1,yp=2,D3e=0,C3e=3,po=class r{constructor(e,t){M(this,"_hydratedPropertyCount",0);M(this,"_hydratedComponentCount",0);M(this,"_timezoneCache",null);M(this,"_components",null);M(this,"_properties",null);typeof e=="string"&&(e=[e,[],[]]),this.jCal=e,this.parent=t||null,!this.parent&&this.name==="vcalendar"&&(this._timezoneCache=new Map)}static fromString(e){return new r(dr.component(e))}get name(){return this.jCal[gp]}get _designSet(){var t;let e=this.parent&&this.parent._designSet;if(!e&&this.name=="vcard"){let n=(t=this.jCal[sc])==null?void 0:t[0];if(n&&n[D3e]=="version"&&n[C3e]=="3.0")return fr.getDesignSet("vcard3")}return e||fr.getDesignSet(this.name)}_hydrateComponent(e){if(this._components||(this._components=[],this._hydratedComponentCount=0),this._components[e])return this._components[e];let t=new r(this.jCal[yp][e],this);return this._hydratedComponentCount++,this._components[e]=t}_hydrateProperty(e){if(this._properties||(this._properties=[],this._hydratedPropertyCount=0),this._properties[e])return this._properties[e];let t=new Ff(this.jCal[sc][e],this);return this._hydratedPropertyCount++,this._properties[e]=t}getFirstSubcomponent(e){if(e){let t=0,n=this.jCal[yp],i=n.length;for(;t<i;t++)if(n[t][gp]===e)return this._hydrateComponent(t)}else if(this.jCal[yp].length)return this._hydrateComponent(0);return null}getAllSubcomponents(e){let t=this.jCal[yp].length,n=0;if(e){let i=this.jCal[yp],s=[];for(;n<t;n++)e===i[n][gp]&&s.push(this._hydrateComponent(n));return s}else{if(!this._components||this._hydratedComponentCount!==t)for(;n<t;n++)this._hydrateComponent(n);return this._components||[]}}hasProperty(e){let t=this.jCal[sc],n=t.length,i=0;for(;i<n;i++)if(t[i][gp]===e)return!0;return!1}getFirstProperty(e){if(e){let t=0,n=this.jCal[sc],i=n.length;for(;t<i;t++)if(n[t][gp]===e)return this._hydrateProperty(t)}else if(this.jCal[sc].length)return this._hydrateProperty(0);return null}getFirstPropertyValue(e){let t=this.getFirstProperty(e);return t?t.getFirstValue():null}getAllProperties(e){let t=this.jCal[sc].length,n=0;if(e){let i=this.jCal[sc],s=[];for(;n<t;n++)e===i[n][gp]&&s.push(this._hydrateProperty(n));return s}else{if(!this._properties||this._hydratedPropertyCount!==t)for(;n<t;n++)this._hydrateProperty(n);return this._properties||[]}}_removeObjectByIndex(e,t,n){if(t=t||[],t[n]){let i=t[n];"parent"in i&&(i.parent=null)}t.splice(n,1),this.jCal[e].splice(n,1)}_removeObject(e,t,n){let i=0,s=this.jCal[e],a=s.length,o=this[t];if(typeof n=="string"){for(;i<a;i++)if(s[i][gp]===n)return this._removeObjectByIndex(e,o,i),!0}else if(o){for(;i<a;i++)if(o[i]&&o[i]===n)return this._removeObjectByIndex(e,o,i),!0}return!1}_removeAllObjects(e,t,n){let i=this[t],s=this.jCal[e],a=s.length-1;for(;a>=0;a--)(!n||s[a][gp]===n)&&this._removeObjectByIndex(e,i,a)}addSubcomponent(e){this._components||(this._components=[],this._hydratedComponentCount=0),e.parent&&e.parent.removeSubcomponent(e);let t=this.jCal[yp].push(e.jCal);return this._components[t-1]=e,this._hydratedComponentCount++,e.parent=this,e}removeSubcomponent(e){let t=this._removeObject(yp,"_components",e);return t&&this._hydratedComponentCount--,t}removeAllSubcomponents(e){let t=this._removeAllObjects(yp,"_components",e);return this._hydratedComponentCount=0,t}addProperty(e){if(!(e instanceof Ff))throw new TypeError("must be instance of ICAL.Property");this._properties||(this._properties=[],this._hydratedPropertyCount=0),e.parent&&e.parent.removeProperty(e);let t=this.jCal[sc].push(e.jCal);return this._properties[t-1]=e,this._hydratedPropertyCount++,e.parent=this,e}addPropertyWithValue(e,t){let n=new Ff(e);return n.setValue(t),this.addProperty(n),n}updatePropertyWithValue(e,t){let n=this.getFirstProperty(e);return n?n.setValue(t):n=this.addPropertyWithValue(e,t),n}removeProperty(e){let t=this._removeObject(sc,"_properties",e);return t&&this._hydratedPropertyCount--,t}removeAllProperties(e){let t=this._removeAllObjects(sc,"_properties",e);return this._hydratedPropertyCount=0,t}toJSON(){return this.jCal}toString(){return sn.component(this.jCal,this._designSet)}getTimeZoneByID(e){if(this.parent)return this.parent.getTimeZoneByID(e);if(!this._timezoneCache)return null;if(this._timezoneCache.has(e))return this._timezoneCache.get(e);let t=this.getAllSubcomponents("vtimezone");for(let n of t)if(n.getFirstProperty("tzid").getFirstValue()===e){let i=new mr({component:n,tzid:e});return this._timezoneCache.set(e,i),i}return null}},WM=class{constructor(e){M(this,"complete",!1);M(this,"ruleIterators",null);M(this,"ruleDates",null);M(this,"exDates",null);M(this,"ruleDateInc",0);M(this,"exDateInc",0);M(this,"exDate",null);M(this,"ruleDate",null);M(this,"dtstart",null);M(this,"last",null);this.ruleDates=[],this.exDates=[],this.fromData(e)}fromData(e){let t=Ad(e.dtstart,xe);if(t)this.dtstart=t;else throw new Error(".dtstart (ICAL.Time) must be given");if(e.component)this._init(e.component);else{if(this.last=Ad(e.last,xe)||t.clone(),!e.ruleIterators)throw new Error(".ruleIterators or .component must be given");this.ruleIterators=e.ruleIterators.map(function(n){return Ad(n,ux)}),this.ruleDateInc=e.ruleDateInc,this.exDateInc=e.exDateInc,e.ruleDates&&(this.ruleDates=e.ruleDates.map(n=>Ad(n,xe)),this.ruleDate=this.ruleDates[this.ruleDateInc]),e.exDates&&(this.exDates=e.exDates.map(n=>Ad(n,xe)),this.exDate=this.exDates[this.exDateInc]),typeof e.complete!="undefined"&&(this.complete=e.complete)}}_compare_special(e,t){return!e.isDate&&t.isDate?new xe({year:e.year,month:e.month,day:e.day}).compare(t):e.compare(t)}next(){let e,t,n,i=500,s=0;for(;;){if(s++>i)throw new Error("max tries have occurred, rule may be impossible to fulfill.");if(t=this.ruleDate,e=this._nextRecurrenceIter(this.last),!t&&!e){this.complete=!0;break}if((!t||e&&t.compare(e.last)>0)&&(t=e.last.clone(),e.next()),this.ruleDate===t&&this._nextRuleDay(),this.last=t,this.exDate&&(n=this._compare_special(this.last,this.exDate),n>0&&this._nextExDay(),n===0)){this._nextExDay();continue}return this.last}}toJSON(){function e(n){return n.toJSON()}let t=Object.create(null);return t.ruleIterators=this.ruleIterators.map(e),this.ruleDates&&(t.ruleDates=this.ruleDates.map(e)),this.exDates&&(t.exDates=this.exDates.map(e)),t.ruleDateInc=this.ruleDateInc,t.exDateInc=this.exDateInc,t.last=this.last.toJSON(),t.dtstart=this.dtstart.toJSON(),t.complete=this.complete,t}_extractDates(e,t){let n=[],i=e.getAllProperties(t);for(let s=0,a=i.length;s<a;s++)for(let o of i[s].getValues()){let l=Lf(n,o,(c,d)=>c.compare(d));n.splice(l,0,o)}return n}_init(e){if(this.ruleIterators=[],this.last=this.dtstart.clone(),!e.hasProperty("rdate")&&!e.hasProperty("rrule")&&!e.hasProperty("recurrence-id")){this.ruleDate=this.last.clone(),this.complete=!0;return}if(e.hasProperty("rdate")&&(this.ruleDates=this._extractDates(e,"rdate"),this.ruleDates[0]&&this.ruleDates[0].compare(this.dtstart)<0?(this.ruleDateInc=0,this.last=this.ruleDates[0].clone()):this.ruleDateInc=Lf(this.ruleDates,this.last,(t,n)=>t.compare(n)),this.ruleDate=this.ruleDates[this.ruleDateInc]),e.hasProperty("rrule")){let t=e.getAllProperties("rrule"),n=0,i=t.length,s,a;for(;n<i;n++)s=t[n].getFirstValue(),a=s.iterator(this.dtstart),this.ruleIterators.push(a),a.next()}e.hasProperty("exdate")&&(this.exDates=this._extractDates(e,"exdate"),this.exDateInc=Lf(this.exDates,this.last,this._compare_special),this.exDate=this.exDates[this.exDateInc])}_nextExDay(){this.exDate=this.exDates[++this.exDateInc]}_nextRuleDay(){this.ruleDate=this.ruleDates[++this.ruleDateInc]}_nextRecurrenceIter(){let e=this.ruleIterators;if(e.length===0)return null;let t=e.length,n,i,s=0,a;for(;s<t;s++){if(n=e[s],i=n.last,n.completed){t--,s!==0&&s--,e.splice(s,1);continue}(!a||a.last.compare(i)>0)&&(a=n)}return a}},lx=class lx{constructor(e,t){M(this,"exceptions",null);M(this,"strictExceptions",!1);e instanceof po||(t=e,e=null),e?this.component=e:this.component=new po("vevent"),this._rangeExceptionCache=Object.create(null),this.exceptions=Object.create(null),this.rangeExceptions=[],t&&t.strictExceptions&&(this.strictExceptions=t.strictExceptions),t&&t.exceptions?t.exceptions.forEach(this.relateException,this):this.component.parent&&!this.isRecurrenceException()&&this.component.parent.getAllSubcomponents("vevent").forEach(function(n){n.hasProperty("recurrence-id")&&this.relateException(n)},this)}relateException(e){if(this.isRecurrenceException())throw new Error("cannot relate exception to exceptions");if(e instanceof po&&(e=new lx(e)),this.strictExceptions&&e.uid!==this.uid)throw new Error("attempted to relate unrelated exception");let t=e.recurrenceId.toString();if(this.exceptions[t]=e,e.modifiesFuture()){let n=[e.recurrenceId.toUnixTime(),t],i=Lf(this.rangeExceptions,n,xhe);this.rangeExceptions.splice(i,0,n)}}modifiesFuture(){return this.component.hasProperty("recurrence-id")?this.component.getFirstProperty("recurrence-id").getParameter("range")===lx.THISANDFUTURE:!1}findRangeException(e){if(!this.rangeExceptions.length)return null;let t=e.toUnixTime(),n=Lf(this.rangeExceptions,[t],xhe);if(n-=1,n<0)return null;let i=this.rangeExceptions[n];return t<i[0]?null:i[1]}getOccurrenceDetails(e){let t=e.toString(),n=e.convertToZone(mr.utcTimezone).toString(),i,s={recurrenceId:e};if(t in this.exceptions)i=s.item=this.exceptions[t],s.startDate=i.startDate,s.endDate=i.endDate,s.item=i;else if(n in this.exceptions)i=this.exceptions[n],s.startDate=i.startDate,s.endDate=i.endDate,s.item=i;else{let a=this.findRangeException(e),o;if(a){let l=this.exceptions[a];s.item=l;let c=this._rangeExceptionCache[a];if(!c){let u=l.recurrenceId.clone(),p=l.startDate.clone();u.zone=p.zone,c=p.subtractDate(u),this._rangeExceptionCache[a]=c}let d=e.clone();d.zone=l.startDate.zone,d.addDuration(c),o=d.clone(),o.addDuration(l.duration),s.startDate=d,s.endDate=o}else o=e.clone(),o.addDuration(this.duration),s.endDate=o,s.startDate=e,s.item=this}return s}iterator(e){return new WM({component:this.component,dtstart:e||this.startDate})}isRecurring(){let e=this.component;return e.hasProperty("rrule")||e.hasProperty("rdate")}isRecurrenceException(){return this.component.hasProperty("recurrence-id")}getRecurrenceTypes(){let e=this.component.getAllProperties("rrule"),t=0,n=e.length,i=Object.create(null);for(;t<n;t++){let s=e[t].getFirstValue();i[s.freq]=!0}return i}get uid(){return this._firstProp("uid")}set uid(e){this._setProp("uid",e)}get startDate(){return this._firstProp("dtstart")}set startDate(e){this._setTime("dtstart",e)}get endDate(){let e=this._firstProp("dtend");if(!e){let t=this._firstProp("duration");e=this.startDate.clone(),t?e.addDuration(t):e.isDate&&(e.day+=1)}return e}set endDate(e){this.component.hasProperty("duration")&&this.component.removeProperty("duration"),this._setTime("dtend",e)}get duration(){let e=this._firstProp("duration");return e||this.endDate.subtractDateTz(this.startDate)}set duration(e){this.component.hasProperty("dtend")&&this.component.removeProperty("dtend"),this._setProp("duration",e)}get location(){return this._firstProp("location")}set location(e){this._setProp("location",e)}get attendees(){return this.component.getAllProperties("attendee")}get summary(){return this._firstProp("summary")}set summary(e){this._setProp("summary",e)}get description(){return this._firstProp("description")}set description(e){this._setProp("description",e)}get color(){return this._firstProp("color")}set color(e){this._setProp("color",e)}get organizer(){return this._firstProp("organizer")}set organizer(e){this._setProp("organizer",e)}get sequence(){return this._firstProp("sequence")}set sequence(e){this._setProp("sequence",e)}get recurrenceId(){return this._firstProp("recurrence-id")}set recurrenceId(e){this._setTime("recurrence-id",e)}_setTime(e,t){let n=this.component.getFirstProperty(e);n||(n=new Ff(e),this.component.addProperty(n)),t.zone===mr.localTimezone||t.zone===mr.utcTimezone?n.removeParameter("tzid"):n.setParameter("tzid",t.zone.tzid),n.setValue(t)}_setProp(e,t){this.component.updatePropertyWithValue(e,t)}_firstProp(e){return this.component.getFirstPropertyValue(e)}toString(){return this.component.toString()}};M(lx,"THISANDFUTURE","THISANDFUTURE");YM=lx;K2=class{constructor(e){M(this,"parseEvent",!0);M(this,"parseTimezone",!0);M(this,"oncomplete",function(){});M(this,"onerror",function(e){});M(this,"ontimezone",function(e){});M(this,"onevent",function(e){});typeof e=="undefined"&&(e={});for(let[t,n]of Object.entries(e))this[t]=n}process(e){typeof e=="string"&&(e=dr(e)),e instanceof po||(e=new po(e));let t=e.getAllSubcomponents(),n=0,i=t.length,s;for(;n<i;n++)switch(s=t[n],s.name){case"vtimezone":if(this.parseTimezone){let a=s.getFirstPropertyValue("tzid");a&&this.ontimezone(new mr({tzid:a,component:s}))}break;case"vevent":this.parseEvent&&this.onevent(new YM(s));break;default:continue}this.oncomplete()}},ac={foldLength:75,debug:!1,newLineChar:`\r
`,Binary:qM,Component:po,ComponentParser:K2,Duration:Ca,Event:YM,Period:cx,Property:Ff,Recur:il,RecurExpansion:WM,RecurIterator:ux,Time:xe,Timezone:mr,TimezoneService:UM,UtcOffset:Id,VCardTime:Of,parse:dr,stringify:sn,design:fr,helpers:d3e}});var Rd,GM,_he=v(()=>{Rd=require("obsidian");Phe();bS();jr();GM=class extends Wl{constructor(t){super();this.subscriptions=[];this.cache=new Map;this.refreshTimers=new Map;this.fileWatchers=new Map;this.pendingRefreshes=new Set;this.lastFetched=new Map;this.lastError=new Map;this.destroyed=!1;this.CACHE_GRACE_PERIOD=300*1e3;this.plugin=t}translate(t,n){return this.plugin.i18n.translate(t,n)}icalTimeToISOString(t){if(t.isDate){let i=t.year.toString().padStart(4,"0"),s=t.month.toString().padStart(2,"0"),a=t.day.toString().padStart(2,"0");return`${i}-${s}-${a}`}let n=t.toUnixTime();return new Date(n*1e3).toISOString()}async initialize(){this.destroyed=!1,await this.loadSubscriptions();let t=[];this.subscriptions.forEach(n=>{if(n.enabled){n.type==="remote"?this.startRefreshTimer(n):n.type==="local"&&this.startFileWatcher(n);let i=this.cache.get(n.id);(!i||new Date(i.expires)<=new Date)&&t.push(this.fetchSubscription(n.id))}}),await Promise.allSettled(t),this.emit("data-changed")}async loadSubscriptions(){try{let t=await this.plugin.loadData();this.subscriptions=(t==null?void 0:t.icsSubscriptions)||[]}catch(t){console.error("Failed to load ICS subscriptions:",t),this.subscriptions=[]}}async saveSubscriptions(){try{let t=await this.plugin.loadData()||{};t.icsSubscriptions=this.subscriptions,await this.plugin.saveData(t)}catch(t){throw console.error("Failed to save ICS subscriptions:",t),t}}getSubscriptions(){return[...this.subscriptions]}getLastFetched(t){return this.lastFetched.get(t)}getLastError(t){return this.lastError.get(t)}async addSubscription(t){let n={...t,id:this.generateId()};return this.subscriptions.push(n),await this.saveSubscriptions(),n.enabled&&(n.type==="remote"?(this.startRefreshTimer(n),await this.fetchSubscription(n.id)):n.type==="local"&&(this.startFileWatcher(n),await this.fetchSubscription(n.id))),this.emit("data-changed"),n}async updateSubscription(t,n){let i=this.subscriptions.findIndex(o=>o.id===t);if(i===-1)throw new Error("Subscription not found");let s=this.subscriptions[i],a={...s,...n};this.subscriptions[i]=a,await this.saveSubscriptions(),this.stopRefreshTimer(t),this.stopFileWatcher(t),a.enabled&&(a.type==="remote"?this.startRefreshTimer(a):a.type==="local"&&this.startFileWatcher(a)),(n.url&&n.url!==s.url||n.filePath&&n.filePath!==s.filePath)&&this.cache.delete(t),this.emit("data-changed")}async removeSubscription(t){let n=this.subscriptions.findIndex(i=>i.id===t);if(n===-1)throw new Error("Subscription not found");this.subscriptions.splice(n,1),await this.saveSubscriptions(),this.stopRefreshTimer(t),this.stopFileWatcher(t),this.cache.delete(t),this.lastFetched.delete(t),this.lastError.delete(t),this.emit("data-changed")}async fetchSubscription(t){let n=this.subscriptions.find(i=>i.id===t);if(!(!n||!n.enabled))try{let i;if(n.type==="remote"){if(!n.url)throw new Error("Remote subscription missing URL");i=(await(0,Rd.requestUrl)({url:n.url,method:"GET",headers:{Accept:"text/calendar,*/*;q=0.1","Accept-Language":"en-US,en;q=0.9","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})).text}else if(n.type==="local"){if(!n.filePath)throw new Error("Local subscription missing file path");i=await this.readLocalICSFile(n.filePath)}else throw new Error("Unknown subscription type");let s=this.parseICS(i,n.id),a={subscriptionId:t,events:s,lastUpdated:new Date().toISOString(),expires:new Date(Date.now()+n.refreshInterval*60*1e3).toISOString()};this.cache.set(t,a),this.lastFetched.set(t,new Date().toISOString()),this.lastError.delete(t),this.emit("data-changed")}catch(i){let s=i instanceof Error?i.message:String(i);this.lastError.set(t,s),n.type==="remote"?s.includes("404")?new Rd.Notice(this.translate("services.icsSubscription.notices.calendarNotFound",{name:n.name})):s.includes("500")||s.includes("OwaBasicUnsupportedException")?new Rd.Notice(this.translate("services.icsSubscription.notices.calendarAccessDenied",{name:n.name})):new Rd.Notice(this.translate("services.icsSubscription.notices.fetchRemoteFailed",{name:n.name,error:s})):new Rd.Notice(this.translate("services.icsSubscription.notices.readLocalFailed",{name:n.name,error:s}))}}parseICS(t,n){try{let i=ac.parse(t),s=new ac.Component(i);s.getAllSubcomponents("vtimezone").forEach(d=>{ac.TimezoneService.register(d)});let o=s.getAllSubcomponents("vevent"),l=[],c=new Map;return o.forEach(d=>{let u=new ac.Event(d),p=u.uid;if(!p)return;let m=d.getFirstPropertyValue("recurrence-id");if(m){c.has(p)||c.set(p,new Map);let f=ie(m);c.get(p).set(f,u)}}),o.forEach(d=>{try{let u=new ac.Event(d);if(d.getFirstPropertyValue("recurrence-id"))return;let m=d.getFirstPropertyValue("status");if(typeof m=="string"&&m.toUpperCase()==="CANCELLED")return;let f=d.getAllProperties("attendee");if(f&&f.length>0&&f.some(V=>{let R=V.getParameter("partstat");return typeof R=="string"&&R.toUpperCase()==="DECLINED"}))return;let h=u.summary||"Untitled Event",g=u.description||void 0,y=u.location||void 0,k=u.startDate,T=u.endDate;if(!k)return;let w=k.isDate,S=this.icalTimeToISOString(k),E=T?this.icalTimeToISOString(T):void 0,C=u.uid||`${n}-${l.length}`,D=`${n}-${C}`,A={id:D,subscriptionId:n,title:h,description:g,start:S,end:E,allDay:w,location:y,url:u.url||void 0};if(u.isRecurring()){let N=new Set;d.getAllProperties("exdate").forEach(Y=>{let ee=Y.getFirstValue();ee&&(Array.isArray(ee)?ee:[ee]).forEach(ce=>{ce&&typeof ce.toString=="function"&&N.add(ce.toString())})});let R=c.get(C)||new Map,I=u.iterator(k),O=new ac.Time;O.fromJSDate(new Date(Date.now()+365*24*60*60*1e3));let z,B=0,W=100;for(;(z=I.next())&&B<W&&!(z.compare(O)>0);){let Y=z.toString();if(N.has(Y)){B++;continue}let ee=R.get(Y);if(ee){let ae=ee.startDate,ce=ee.endDate;ae&&l.push({id:`${D}-${B}`,subscriptionId:n,title:ee.summary||h,description:ee.description||g,start:this.icalTimeToISOString(ae),end:ce?this.icalTimeToISOString(ce):void 0,allDay:ae.isDate,location:ee.location||y,url:ee.url||A.url})}else{let ae=this.icalTimeToISOString(z),ce=E;if(T&&k){let J=T.toUnixTime()-k.toUnixTime(),de=z.toUnixTime()+J;ce=new Date(de*1e3).toISOString()}l.push({...A,id:`${D}-${B}`,start:ae,end:ce})}B++}}else l.push(A)}catch(u){console.warn("Failed to parse individual event:",u)}}),l}catch(i){throw console.error("Failed to parse ICS data:",i),new Error("Invalid ICS format")}}getAllEvents(){let t=[],n=new Date;return this.subscriptions.forEach(i=>{if(!i.enabled)return;let s=this.cache.get(i.id);if(!s){this.pendingRefreshes.has(i.id)||(this.pendingRefreshes.add(i.id),this.fetchSubscription(i.id).finally(()=>this.pendingRefreshes.delete(i.id)));return}let a=new Date(s.expires),o=new Date(a.getTime()+this.CACHE_GRACE_PERIOD);n<o?(t.push(...s.events),n>a&&!this.pendingRefreshes.has(i.id)&&(this.pendingRefreshes.add(i.id),this.fetchSubscription(i.id).finally(()=>this.pendingRefreshes.delete(i.id)))):this.pendingRefreshes.has(i.id)||(this.pendingRefreshes.add(i.id),this.fetchSubscription(i.id).finally(()=>this.pendingRefreshes.delete(i.id)))}),t}getEventsForSubscription(t){let n=this.cache.get(t);if(!n){let l=this.subscriptions.find(c=>c.id===t);return l&&l.enabled&&!this.pendingRefreshes.has(t)&&(this.pendingRefreshes.add(t),this.fetchSubscription(t).finally(()=>this.pendingRefreshes.delete(t))),[]}let i=new Date,s=new Date(n.expires),a=new Date(s.getTime()+this.CACHE_GRACE_PERIOD);return i>=a?(this.pendingRefreshes.has(t)||(this.pendingRefreshes.add(t),this.fetchSubscription(t).finally(()=>this.pendingRefreshes.delete(t))),[]):(i>s&&!this.pendingRefreshes.has(t)&&(this.pendingRefreshes.add(t),this.fetchSubscription(t).finally(()=>this.pendingRefreshes.delete(t))),[...n.events])}async refreshAllSubscriptions(){let t=this.subscriptions.filter(n=>n.enabled);for(let n of t)await this.fetchSubscription(n.id)}async readLocalICSFile(t){try{let n=this.plugin.app.vault.getAbstractFileByPath(t);if(!n||!(n instanceof Rd.TFile))throw new Error(`File not found: ${t}`);if(n.extension!=="ics")throw new Error(`File is not an ICS file: ${t}`);return await this.plugin.app.vault.cachedRead(n)}catch(n){throw new Error(`Failed to read local ICS file "${t}": ${n instanceof Error?n.message:String(n)}`)}}startFileWatcher(t){if(!t.filePath)return;this.stopFileWatcher(t.id);let n=(o,l)=>{(o.path===t.filePath||l===t.filePath)&&window.setTimeout(()=>{this.fetchSubscription(t.id)},1e3)},i=this.plugin.app.vault.on("modify",n),s=this.plugin.app.vault.on("rename",n),a=this.plugin.app.vault.on("delete",o=>{o.path===t.filePath&&this.lastError.set(t.id,"Local ICS file was deleted")});this.fileWatchers.set(t.id,()=>{this.plugin.app.vault.offref(i),this.plugin.app.vault.offref(s),this.plugin.app.vault.offref(a)}),this.startFileRefreshTimer(t)}stopFileWatcher(t){let n=this.fileWatchers.get(t);n&&(n(),this.fileWatchers.delete(t))}async refreshSubscription(t){await this.fetchSubscription(t)}startRefreshTimer(t){this.stopRefreshTimer(t.id),this.startRemoteRefreshTimer(t)}startFileRefreshTimer(t){let n=t.refreshInterval*60*1e3,i=window.setTimeout(()=>{this.refreshTimers.delete(t.id),this.fetchSubscription(t.id).finally(()=>{this.shouldContinueRefresh(t.id)&&this.startFileRefreshTimer(t)})},n);this.refreshTimers.set(t.id,i)}startRemoteRefreshTimer(t){let n=t.refreshInterval*60*1e3,i=window.setTimeout(()=>{this.refreshTimers.delete(t.id),this.fetchSubscription(t.id).finally(()=>{this.shouldContinueRefresh(t.id)&&this.startRemoteRefreshTimer(t)})},n);this.refreshTimers.set(t.id,i)}shouldContinueRefresh(t){return!this.destroyed&&this.subscriptions.some(n=>n.id===t&&n.enabled)}stopRefreshTimer(t){let n=this.refreshTimers.get(t);n&&(window.clearTimeout(n),this.refreshTimers.delete(t))}generateId(){return"ics_"+Math.random().toString(36).substring(2,11)+Date.now().toString(36)}destroy(){this.destroyed=!0,this.refreshTimers.forEach(t=>window.clearTimeout(t)),this.refreshTimers.clear(),this.fileWatchers.forEach(t=>t()),this.fileWatchers.clear(),this.cache.clear(),this.pendingRefreshes.clear(),this.removeAllListeners()}getLocalICSFiles(){return this.plugin.app.vault.getFiles().filter(t=>t.extension==="ics").sort((t,n)=>t.path.localeCompare(n.path))}}});var Od,KM,Mhe=v(()=>{Od=require("obsidian");Tn();Bj();Qe();p_();Cr();d_();KM=class{constructor(e){this.plugin=e}translate(e,t){return this.plugin.i18n.translate(e,t)}async createTaskFromICS(e,t){var n;try{let i=this.plugin.icsSubscriptionService.getSubscriptions().find(l=>l.id===e.subscriptionId),s=(i==null?void 0:i.name)||"Unknown Calendar",a=(t==null?void 0:t.scheduled)!==void 0?t.scheduled:this.computeScheduledFromICSEvent(e),o={title:(t==null?void 0:t.title)||e.title,status:(t==null?void 0:t.status)||this.plugin.settings.defaultTaskStatus,priority:(t==null?void 0:t.priority)||this.plugin.settings.defaultTaskPriority,due:(t==null?void 0:t.due)!==void 0?t.due:(n=this.plugin.settings.icsIntegration)!=null&&n.useICSEndAsDue?this.computeDueFromICSEnd(e):void 0,scheduled:a,contexts:(t==null?void 0:t.contexts)||(e.location?[e.location]:void 0),projects:t==null?void 0:t.projects,tags:(t==null?void 0:t.tags)||[this.plugin.fieldMapper.toUserField("icsEventTag")],timeEstimate:(t==null?void 0:t.timeEstimate)||this.calculateEventDuration(e),details:(t==null?void 0:t.details)||this.buildICSEventDetails(e,s),icsEventId:[e.id],creationContext:"ics-event",dateCreated:Ve(),dateModified:Ve(),...Object.fromEntries(Object.entries(t||{}).filter(([l])=>l!=="due"))};return await this.plugin.taskService.createTask(o,{applyDefaults:!1})}catch(i){let s=i instanceof Error?i.message:String(i);throw console.error("Error creating task from ICS event:",{error:s,icsEventId:e.id,icsEventTitle:e.title}),new Error(`Failed to create task from ICS event: ${s}`)}}computeScheduledFromICSEvent(e){try{if(!e.start)return;let t=e.allDay&&/^\d{4}-\d{2}-\d{2}$/.test(e.start)?e.start+"T00:00:00":e.start,n=new Date(t);return e.allDay?ue(n):P(n,"yyyy-MM-dd'T'HH:mm")}catch(t){return console.warn("Failed to compute scheduled from ICS event start:",{start:e.start,error:t}),e.start}}computeDueFromICSEnd(e){try{if(!e.end)return;if(e.allDay){if(!e.start)return;let i=/^\d{4}-\d{2}-\d{2}$/.test(e.start)?e.start+"T00:00:00":e.start,s=new Date(i);return ue(s)}let t=/^\d{4}-\d{2}-\d{2}$/.test(e.end)?e.end+"T00:00:00":e.end,n=new Date(t);return P(n,"yyyy-MM-dd'T'HH:mm")}catch(t){console.warn("Failed to compute due from ICS event end:",{end:e.end,error:t});return}}async createNoteFromICS(e,t){var n;try{let i=this.plugin.icsSubscriptionService.getSubscriptions().find(N=>N.id===e.subscriptionId),s=(i==null?void 0:i.name)||"Unknown Calendar",a=e.allDay&&/^\d{4}-\d{2}-\d{2}$/.test(e.start)?e.start+"T00:00:00":e.start,o=new Date(a),l=(t==null?void 0:t.title)||`${e.title} - ${P(o,"PPP")}`,c=(t==null?void 0:t.folder)||((n=this.plugin.settings.icsIntegration)==null?void 0:n.defaultNoteFolder)||"",d=u_(c,{date:o,icsData:{title:e.title,location:e.location,description:e.description}}),u={title:e.title,priority:"",status:"",date:o,dueDate:e.end,scheduledDate:e.start,icsEventTitle:e.title,icsEventLocation:e.location,icsEventDescription:e.description},p=tpe(u,this.plugin.settings),m=await Ny(p,d,this.plugin.app.vault),f=d?`${d}/${m}.md`:`${m}.md`;d&&await Nm(this.plugin.app.vault,d);let h={title:l,priority:"",status:"",contexts:e.location?[e.location]:[],tags:[this.plugin.fieldMapper.toUserField("icsEventTag")],timeEstimate:0,dueDate:e.end||"",scheduledDate:e.start||"",details:e.description||"",parentNote:"",icsEventTitle:e.title,icsEventStart:e.start,icsEventEnd:e.end||"",icsEventLocation:e.location||"",icsEventDescription:e.description||"",icsEventUrl:e.url||"",icsEventSubscription:s,icsEventId:e.id},g=this.plugin.fieldMapper.toUserField("dateCreated"),y=this.plugin.fieldMapper.toUserField("dateModified"),k={title:l,[g]:Ve(),[y]:Ve(),tags:[this.plugin.fieldMapper.toUserField("icsEventTag")],[this.plugin.fieldMapper.toUserField("icsEventId")]:[e.id]},T=this.buildICSEventDetails(e,s);if(t!=null&&t.template)try{let N=(0,Od.normalizePath)(t.template.trim()),V=this.plugin.app.vault.getAbstractFileByPath(N.endsWith(".md")?N:`${N}.md`);if(V instanceof Od.TFile){let R=await this.plugin.app.vault.read(V),I=c_(R,h);k={...k,...I.frontmatter},T=I.body||T}else console.warn(`ICS note template not found: ${N}`),new Od.Notice(this.translate("services.icsNote.notices.templateNotFound",{path:N}))}catch(N){console.error("Error processing ICS note template:",N),new Od.Notice(this.translate("services.icsNote.notices.templateProcessError",{template:t.template}))}let S=`${Object.keys(k).length>0?`---
${Object.entries(k).map(([N,V])=>`${N}: ${this.formatYamlValue(V)}`).join(`
`)}
---
`:""}${T}`,E=await this.plugin.app.vault.create(f,S),C=Array.isArray(k.tags)?k.tags.filter(N=>typeof N=="string"):[],D=typeof k[g]=="string"?k[g]:void 0,A={title:l,path:E.path,tags:C,createdDate:D,lastModified:Date.now()};return{file:E,noteInfo:A}}catch(i){let s=i instanceof Error?i.message:String(i);throw console.error("Error creating note from ICS event:",{error:s,icsEventId:e.id,icsEventTitle:e.title}),new Error(`Failed to create note from ICS event: ${s}`)}}async findRelatedNotes(e){try{let t=[],n=this.plugin.fieldMapper.toUserField("icsEventId"),i=await this.plugin.cacheManager.getAllTasks();for(let a of i)a.icsEventId&&a.icsEventId.includes(e.id)&&t.push(a);let s=this.plugin.app.vault.getMarkdownFiles();for(let a of s)try{let o=this.plugin.app.metadataCache.getFileCache(a),l=o==null?void 0:o.frontmatter,c=l==null?void 0:l[n],d=Array.isArray(c)?c.includes(e.id):c===e.id;if(l&&d){let u={title:l.title||a.basename,path:a.path,tags:l.tags||[],createdDate:l.dateCreated,lastModified:a.stat.mtime};t.push(u)}}catch(o){continue}return t}catch(t){return console.error("Error finding related notes for ICS event:",t),[]}}async linkNoteToICS(e,t){try{let n=this.plugin.app.vault.getAbstractFileByPath(e);if(!(n instanceof Od.TFile))throw new Error(`Cannot find note file: ${e}`);await this.plugin.app.fileManager.processFrontMatter(n,i=>{let s=this.plugin.fieldMapper.toUserField("icsEventId"),a=i[s];a?Array.isArray(a)||(a=[a]):a=[],a.includes(t.id)||a.push(t.id),i[s]=a;let o=this.plugin.fieldMapper.toUserField("dateModified");i[o]=Ve()}),new Od.Notice(this.translate("services.icsNote.notices.linkedToEvent",{title:t.title}))}catch(n){let i=n instanceof Error?n.message:String(n);throw console.error("Error linking note to ICS event:",{error:i,notePath:e,icsEventId:t.id}),new Error(`Failed to link note to ICS event: ${i}`)}}buildICSEventDetails(e,t){let n=[];if(n.push(`# ${e.title}`),n.push(""),e.start){let i=e.allDay&&/^\d{4}-\d{2}-\d{2}$/.test(e.start)?e.start+"T00:00:00":e.start,s=new Date(i);n.push(`**Start:** ${P(s,"PPPp")}`)}if(e.end&&!e.allDay){let i=/^\d{4}-\d{2}-\d{2}$/.test(e.end)?e.end+"T00:00:00":e.end,s=new Date(i);n.push(`**End:** ${P(s,"PPPp")}`)}return e.location&&n.push(`**Location:** ${e.location}`),n.push(`**Calendar:** ${t}`),e.description&&(n.push(""),n.push("## Description"),n.push(e.description)),e.url&&(n.push(""),n.push(`**Event URL:** ${e.url}`)),n.join(`
`)}formatYamlValue(e){return typeof e=="string"?e.includes(":")||e.includes("#")||e.includes("[")||e.includes("{")?`"${e.replace(/"/g,'\\"')}"`:e:Array.isArray(e)?`[${e.map(t=>typeof t=="string"?`"${t}"`:t).join(", ")}]`:String(e)}calculateEventDuration(e){if(!(!e.start||!e.end))try{let t=e.allDay&&/^\d{4}-\d{2}-\d{2}$/.test(e.start)?e.start+"T00:00:00":e.start,n=e.allDay&&/^\d{4}-\d{2}-\d{2}$/.test(e.end)?e.end+"T00:00:00":e.end,i=new Date(t).getTime(),s=new Date(n).getTime();if(isNaN(i)||isNaN(s))return;let a=s-i,o=Math.round(a/(1e3*60));return o>0&&o<1440?o:void 0}catch(t){console.warn("Error calculating event duration:",t);return}}}});var ZM,mx,cv,jtr,QM=v(()=>{ZM={TOKEN_REFRESH_BUFFER_MS:3e5,CALLBACK_PORT_START:8080,CALLBACK_PORT_END:8090},mx={REFRESH_INTERVAL_MS:900*1e3,MIN_MANUAL_REFRESH_INTERVAL_MS:30*1e3,MAX_RESULTS_PER_REQUEST:2500,VIEW_RANGE:{DAYS_BEFORE:30,DAYS_AFTER:90},DEFAULT_EVENT_DURATION_MS:3600*1e3,RATE_LIMIT:{MAX_RETRIES:3,INITIAL_BACKOFF_MS:1e3,MAX_BACKOFF_MS:16e3,BACKOFF_MULTIPLIER:2}},cv={REFRESH_INTERVAL_MS:900*1e3,MIN_MANUAL_REFRESH_INTERVAL_MS:30*1e3,MAX_RESULTS_PER_REQUEST:50,VIEW_RANGE:{DAYS_BEFORE:30,DAYS_AFTER:90},DEFAULT_EVENT_DURATION_MS:3600*1e3,RATE_LIMIT:{MAX_RETRIES:3,INITIAL_BACKOFF_MS:1e3,MAX_BACKOFF_MS:16e3,BACKOFF_MULTIPLIER:2}},jtr={SECOND_MS:1e3,MINUTE_MS:60*1e3,HOUR_MS:3600*1e3,DAY_MS:1440*60*1e3}});var fx,hx,Bs,zf,gx,mi,vp,dv,mo,Bf,uv=v(()=>{fx=class extends Error{constructor(t,n){super(t);this.code=n;this.name="TaskNotesServiceError",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},hx=class extends fx{constructor(t,n,i){super(t,i);this.provider=n;this.name="OAuthError"}},Bs=class extends hx{constructor(e){super(`${e} authentication expired. Please reconnect.`,e,"TOKEN_EXPIRED"),this.name="TokenExpiredError"}},zf=class extends hx{constructor(t,n,i){let s=`${t} connection expired. Please reconnect in Settings > Integrations.`;super(s,t,"TOKEN_REFRESH_FAILED");this.oauthErrorCode=n;this.oauthErrorDescription=i;this.name="TokenRefreshError"}},gx=class extends hx{constructor(e){super(`${e} OAuth is not configured. Please provide OAuth credentials in settings.`,e,"NOT_CONFIGURED"),this.name="OAuthNotConfiguredError"}},mi=class extends fx{constructor(t,n,i){super(t,i);this.statusCode=n;this.name="GoogleCalendarError"}},vp=class extends mi{constructor(e){super(`Calendar event not found: ${e}`,404,"EVENT_NOT_FOUND"),this.name="EventNotFoundError"}},dv=class extends mi{constructor(e){super(`Calendar not found: ${e}`,404,"CALENDAR_NOT_FOUND"),this.name="CalendarNotFoundError"}},mo=class extends mi{constructor(e){let t=e?`Rate limit exceeded. Retry after ${e} seconds.`:"Rate limit exceeded. Please try again later.";super(t,429,"RATE_LIMIT"),this.name="RateLimitError"}},Bf=class extends fx{constructor(t,n){super(t,"VALIDATION_ERROR");this.field=n;this.name="ValidationError"}}});function Ahe(){if(!qs.Platform.isDesktopApp)throw new Error("OAuth redirect handling is only available on desktop.");return J2||(J2=require("http")),J2}var qs,J2,JM,Ihe=v(()=>{qs=require("obsidian");QM();uv();J2=null;JM=class{constructor(e){this.callbackServer=null;this.pendingOAuthState=new Map;this.tokenRefreshPromises=new Map;this.configs={google:{provider:"google",clientId:"",redirectUri:"http://127.0.0.1:8080",scope:["https://www.googleapis.com/auth/calendar.readonly","https://www.googleapis.com/auth/calendar.events"],authorizationEndpoint:"https://accounts.google.com/o/oauth2/v2/auth",tokenEndpoint:"https://oauth2.googleapis.com/token",deviceCodeEndpoint:"https://oauth2.googleapis.com/device/code",revocationEndpoint:"https://oauth2.googleapis.com/revoke"},microsoft:{provider:"microsoft",clientId:"",redirectUri:"http://localhost:8080",scope:["Calendars.Read","Calendars.ReadWrite","offline_access"],authorizationEndpoint:"https://login.microsoftonline.com/common/oauth2/v2.0/authorize",tokenEndpoint:"https://login.microsoftonline.com/common/oauth2/v2.0/token",deviceCodeEndpoint:"https://login.microsoftonline.com/common/oauth2/v2.0/devicecode",revocationEndpoint:"https://login.microsoftonline.com/common/oauth2/v2.0/logout"}};this.plugin=e,this.loadClientIds()}async loadClientIds(){this.configs.google.clientId=this.plugin.settings.googleOAuthClientId||"",this.configs.google.clientSecret=this.plugin.settings.googleOAuthClientSecret||"",this.configs.microsoft.clientId=this.plugin.settings.microsoftOAuthClientId||"",this.configs.microsoft.clientSecret=this.plugin.settings.microsoftOAuthClientSecret||""}async authenticate(e){if(!this.configs[e].clientId)throw new gx(e);if(!(e==="google"&&this.plugin.settings.googleOAuthClientId||e==="microsoft"&&this.plugin.settings.microsoftOAuthClientId))throw new gx(e);return await this.authenticateStandard(e)}async authenticateStandard(e){try{let t=this.configs[e];if(!qs.Platform.isDesktopApp)throw new qs.Notice("OAUTH authentication requires the desktop app."),new Error("OAuth authentication requires the desktop app.");let n=this.generateCodeVerifier(),i=await this.generateCodeChallenge(n),s=this.generateState(),a=await this.findAvailablePort(ZM.CALLBACK_PORT_START,ZM.CALLBACK_PORT_END);await this.startCallbackServer(a);let o=t.redirectUri;t.redirectUri=`http://127.0.0.1:${a}`;try{let l=this.buildAuthorizationUrl(t,i,s);this.pendingOAuthState.set(s,{provider:e,codeVerifier:n,resolve:()=>{},reject:()=>{}}),new qs.Notice(`Opening browser for ${e} authorization...`),window.open(l,"_blank");let c=await this.waitForCallback(s,3e5),d=await this.exchangeCodeForTokens(t,c,n);await this.storeConnection(e,d),new qs.Notice(`Successfully connected to ${e} Calendar!`)}finally{t.redirectUri=o}}catch(t){throw console.error(`OAuth authentication failed for ${e}:`,t),new qs.Notice(`Failed to connect to ${e}: ${t.message}`),t}finally{await this.stopCallbackServer()}}async findAvailablePort(e,t){let n=Ahe();for(let i=e;i<=t;i++)try{return await new Promise((s,a)=>{let o=n.createServer();o.once("error",a),o.once("listening",()=>{o.close(),s()}),o.listen(i,"127.0.0.1")}),i}catch(s){continue}throw new Error(`No available ports found between ${e} and ${t}`)}generateCodeVerifier(){return this.base64UrlEncode(crypto.getRandomValues(new Uint8Array(32)))}async generateCodeChallenge(e){let t=new TextEncoder().encode(e),n=await crypto.subtle.digest("SHA-256",t);return this.base64UrlEncode(new Uint8Array(n))}generateState(){return Array.from(crypto.getRandomValues(new Uint8Array(16))).map(e=>e.toString(16).padStart(2,"0")).join("")}base64UrlEncode(e){let t="";return e.forEach(n=>{t+=String.fromCharCode(n)}),btoa(t).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}buildAuthorizationUrl(e,t,n){let i=new URLSearchParams({client_id:e.clientId,redirect_uri:e.redirectUri,response_type:"code",scope:e.scope.join(" "),state:n,code_challenge:t,code_challenge_method:"S256",access_type:"offline",prompt:"consent"});return`${e.authorizationEndpoint}?${i.toString()}`}async startCallbackServer(e){return new Promise((t,n)=>{if(this.callbackServer){t();return}let i;try{i=Ahe()}catch(s){n(s instanceof Error?s:new Error(String(s)));return}this.callbackServer=i.createServer((s,a)=>{this.handleCallback(s,a)}),this.callbackServer.once("error",s=>{console.error("OAuth callback server error:",s),n(s)}),this.callbackServer.listen(e,"127.0.0.1",()=>{t()})})}async stopCallbackServer(){return new Promise(e=>{if(!this.callbackServer){e();return}this.callbackServer.close(()=>{this.callbackServer=null,e()})})}handleCallback(e,t){let n=e.headers.host,i=Array.isArray(n)?n[0]:n!=null?n:"localhost",s=new URL(e.url||"",`http://${i}`),a=s.searchParams.get("code"),o=s.searchParams.get("state"),l=s.searchParams.get("error");if(t.writeHead(200,{"Content-Type":"text/html"}),l){t.end(`
<!DOCTYPE html>
<html>
<head><title>OAuth Error</title></head>
<body>
<h1>Authorization Failed</h1>
<p>Error: ${l}</p>
<p>You can close this window.</p>
</body>
</html>
`);let d=o?this.pendingOAuthState.get(o):null;d&&o&&(d.reject(new Error(`OAuth error: ${l}`)),this.pendingOAuthState.delete(o));return}if(!a||!o){t.end(`
<!DOCTYPE html>
<html>
<head><title>OAuth Error</title></head>
<body>
<h1>Invalid Callback</h1>
<p>Missing required parameters.</p>
<p>You can close this window.</p>
</body>
</html>
`);return}t.end(`
<!DOCTYPE html>
<html>
<head><title>OAuth Success</title></head>
<body>
<h1>Authorization Successful!</h1>
<p>You can close this window and return to Obsidian.</p>
<script>window.close();<\/script>
</body>
</html>
`);let c=this.pendingOAuthState.get(o);c&&(c.resolve(a),this.pendingOAuthState.delete(o))}waitForCallback(e,t){return new Promise((n,i)=>{let s=this.pendingOAuthState.get(e);if(!s){i(new Error("Invalid OAuth state"));return}s.resolve=n,s.reject=i,window.setTimeout(()=>{this.pendingOAuthState.has(e)&&(this.pendingOAuthState.delete(e),i(new Error("OAuth timeout - authorization took too long")))},t)})}async exchangeCodeForTokens(e,t,n){let i={client_id:e.clientId,code:t,code_verifier:n,redirect_uri:e.redirectUri,grant_type:"authorization_code"};e.clientSecret&&(i.client_secret=e.clientSecret);let s=new URLSearchParams(i);try{let a=await(0,qs.requestUrl)({url:e.tokenEndpoint,method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:s.toString(),throw:!1});if(a.status!==200)throw console.error("Token exchange failed with status:",a.status),console.error("Response headers:",a.headers),console.error("Response body:",a.text),console.error("Response JSON:",a.json),new Error(`Token exchange failed with status ${a.status}: ${a.text||JSON.stringify(a.json)}`);let o=a.json;if(!o.access_token)throw new Error("No access token in response");let l=o.expires_in||3600,c=Date.now()+l*1e3;return{accessToken:o.access_token,refreshToken:o.refresh_token,expiresAt:c,scope:o.scope||e.scope.join(" "),tokenType:o.token_type||"Bearer"}}catch(a){throw console.error("Token exchange error:",a),new Error(`Failed to exchange code for tokens: ${a.message}`)}}async refreshToken(e){let t=await this.getConnection(e);if(!t)throw new Error(`No ${e} connection found`);if(!t.tokens.refreshToken)throw new Error(`No refresh token available for ${e}`);let n=this.configs[e],i={client_id:n.clientId,refresh_token:t.tokens.refreshToken,grant_type:"refresh_token"};n.clientSecret&&(i.client_secret=n.clientSecret);let s=new URLSearchParams(i);try{let a=await(0,qs.requestUrl)({url:n.tokenEndpoint,method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:s.toString(),throw:!1});if(a.status!==200){let u,p;try{let f=a.json;u=f==null?void 0:f.error,p=f==null?void 0:f.error_description}catch(f){}throw console.error("[OAuth] Token refresh failed:",{status:a.status,error:u,description:p}),a.status===401||a.status===400&&(u==="invalid_grant"||u==="invalid_client")?(await this.clearConnection(e),new qs.Notice(`${e} connection expired. Please reconnect in Settings > Integrations.`),new zf(e,u,p)):new Error(`Token refresh failed with status ${a.status}: ${u||a.text||"Unknown error"}`)}let o=a.json;if(!o.access_token)throw new Error("No access token in refresh response");let l=o.expires_in||3600,c=Date.now()+l*1e3,d={accessToken:o.access_token,refreshToken:o.refresh_token||t.tokens.refreshToken,expiresAt:c,scope:o.scope||t.tokens.scope,tokenType:o.token_type||"Bearer"};return await this.storeConnection(e,d,t.userEmail),d}catch(a){throw a instanceof zf?a:(console.error("Token refresh failed:",a),new Error(`Failed to refresh ${e} token: ${a.message}`))}}async clearConnection(e){let t=await this.plugin.loadData()||{};t.oauthConnections&&(delete t.oauthConnections[e],await this.plugin.saveData(t))}async getValidToken(e){let t=await this.getConnection(e);if(!t)throw new Bs(e);let n=Date.now(),i=ZM.TOKEN_REFRESH_BUFFER_MS;if(t.tokens.expiresAt-i<n){let s=this.tokenRefreshPromises.get(e);if(s)return(await s).accessToken;let a=this.refreshToken(e).finally(()=>{this.tokenRefreshPromises.delete(e)});return this.tokenRefreshPromises.set(e,a),(await a).accessToken}return t.tokens.accessToken}async storeConnection(e,t,n){let i={provider:e,tokens:t,userEmail:n,connectedAt:new Date().toISOString(),lastRefreshed:new Date().toISOString()},s=await this.plugin.loadData()||{};s.oauthConnections||(s.oauthConnections={}),s.oauthConnections[e]=i,await this.plugin.saveData(s)}async getConnection(e){var n;let t=await this.plugin.loadData();return((n=t==null?void 0:t.oauthConnections)==null?void 0:n[e])||null}async isConnected(e){return await this.getConnection(e)!==null}async disconnect(e){let t=await this.getConnection(e);if(!t)return;await this.revokeToken(e,t.tokens.accessToken),t.tokens.refreshToken&&await this.revokeToken(e,t.tokens.refreshToken);let n=await this.plugin.loadData()||{};n.oauthConnections&&(delete n.oauthConnections[e],await this.plugin.saveData(n)),new qs.Notice(`Disconnected from ${e} Calendar`)}async revokeToken(e,t){let n=this.configs[e];if(!n.revocationEndpoint){console.warn(`No revocation endpoint configured for ${e}`);return}try{await(0,qs.requestUrl)({url:n.revocationEndpoint,method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({token:t,...n.clientId&&{client_id:n.clientId}}).toString(),throw:!1})}catch(i){console.error(`[OAuth] Failed to revoke token for ${e}:`,i)}}async destroy(){await this.stopCallbackServer(),this.pendingOAuthState.clear(),this.tokenRefreshPromises.clear()}}});function Nhe(r,e){if(!r||r.trim()==="")throw new Bf(`${e} cannot be empty`,e)}function fo(r,e){if(r==null)throw new Bf(`${e} is required`,e)}function bp(r){if(Nhe(r,"Calendar ID"),!/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$|^[a-zA-Z0-9_-]+$|^[a-zA-Z0-9+/]+=*$/.test(r))throw new Bf("Invalid calendar ID format. Expected email-like, alphanumeric, or Base64 format.","calendarId")}function pv(r){if(Nhe(r,"Event ID"),!/^[a-zA-Z0-9_+/=-]+$/.test(r))throw new Bf("Invalid event ID format. Expected alphanumeric or Base64 format.","eventId")}var X2=v(()=>{uv()});var mv,XM,eA=v(()=>{bS();mv=class extends Wl{ownsEvent(e){var t,n;return(n=(t=e.subscriptionId)==null?void 0:t.startsWith(`${this.providerId}-`))!=null?n:!1}extractEventIds(e){let t=e.subscriptionId.replace(`${this.providerId}-`,""),n=e.id.replace(`${this.providerId}-${t}-`,"");return{calendarId:t,eventId:n}}},XM=class{constructor(){this.providers=new Map}register(e){this.providers.set(e.providerId,e)}unregister(e){this.providers.delete(e)}getProvider(e){return this.providers.get(e)}getAllProviders(){return Array.from(this.providers.values())}findProviderForEvent(e){for(let t of this.providers.values())if(t.ownsEvent(e))return t}getAllEvents(){let e=[];for(let t of this.providers.values())e.push(...t.getAllEvents());return e}async refreshAll(){let e=Array.from(this.providers.values()).map(t=>t.refresh().catch(n=>{console.error(`Failed to refresh ${t.providerName}:`,n)}));await Promise.all(e)}destroyAll(){for(let e of this.providers.values())e.destroy();this.providers.clear()}}});var oc,P3e,tA,Rhe=v(()=>{oc=require("obsidian");Tn();QM();uv();X2();eA();P3e={1:"#a4bdfc",2:"#7ae7bf",3:"#dbadff",4:"#ff887c",5:"#fbd75b",6:"#ffb878",7:"#46d6db",8:"#e1e1e1",9:"#5484ed",10:"#51b749",11:"#dc2127"},tA=class extends mv{constructor(t,n){super();this.providerId="google";this.providerName="Google Calendar";this.baseUrl="https://www.googleapis.com/calendar/v3";this.cache=new Map;this.refreshTimer=null;this.availableCalendars=[];this.calendarColors=new Map;this.lastManualRefresh=0;this.plugin=t,this.oauthService=n}sleep(t){return new Promise(n=>window.setTimeout(n,t))}async withRetry(t,n){let{MAX_RETRIES:i,INITIAL_BACKOFF_MS:s,MAX_BACKOFF_MS:a,BACKOFF_MULTIPLIER:o}=mx.RATE_LIMIT,l=null,c=s;for(let d=0;d<=i;d++)try{return await t()}catch(u){l=u;let p=u.status===429,m=u.status>=500&&u.status<600,f=d===i;if(!p&&!m)throw u;if(f)throw console.error(`[GoogleCalendar] ${n} failed after ${i} retries`),u;let h=Math.random()*.3*c,g=Math.min(c+h,a);console.warn(`[GoogleCalendar] ${n} failed (${u.status}), retrying in ${Math.round(g)}ms (attempt ${d+1}/${i})`),await this.sleep(g),c=Math.min(c*o,a)}throw l instanceof Error?l:new Error(String(l))}getAvailableCalendars(){return this.availableCalendars}getEnabledCalendarIds(){return this.plugin.settings.enabledGoogleCalendars.length===0?this.availableCalendars.map(t=>t.id):this.plugin.settings.enabledGoogleCalendars}getSyncToken(t){return this.plugin.settings.googleCalendarSyncTokens[t]}async saveSyncToken(t,n){this.plugin.settings.googleCalendarSyncTokens[t]!==n&&(this.plugin.settings.googleCalendarSyncTokens[t]=n,await this.persistSettingsDataOnly())}async clearSyncToken(t){t in this.plugin.settings.googleCalendarSyncTokens&&(delete this.plugin.settings.googleCalendarSyncTokens[t],await this.persistSettingsDataOnly())}async persistSettingsDataOnly(){let t=this.plugin.saveSettingsDataOnly;typeof t=="function"&&await t.call(this.plugin)}async initialize(){await this.oauthService.isConnected("google")&&(await this.refreshAllCalendars(),this.startRefreshTimer())}startRefreshTimer(){this.refreshTimer&&window.clearTimeout(this.refreshTimer),this.refreshTimer=window.setTimeout(()=>{this.refreshTimer=null,this.refreshAllCalendars().catch(t=>{console.error("Google Calendar refresh failed:",t)}).finally(()=>{this.oauthService.isConnected("google").then(t=>{t&&this.startRefreshTimer()})})},mx.REFRESH_INTERVAL_MS)}stopRefreshTimer(){this.refreshTimer&&(window.clearTimeout(this.refreshTimer),this.refreshTimer=null)}async listCalendars(){try{return await this.withRetry(async()=>{let t=await this.oauthService.getValidToken("google"),s=(await(0,oc.requestUrl)({url:`${this.baseUrl}/users/me/calendarList`,method:"GET",headers:{Authorization:`Bearer ${t}`,Accept:"application/json"}})).json.items||[],a=[];for(let o of s)o.backgroundColor&&this.calendarColors.set(o.id,o.backgroundColor),a.push({id:o.id,summary:o.summary,description:o.description,backgroundColor:o.backgroundColor,primary:o.primary||!1});return a},"List calendars")}catch(t){throw console.error("Failed to list calendars:",t),new mi(`Failed to fetch calendar list: ${t.message}`,t.status)}}async fetchCalendarEvents(t,n,i){try{let s=await this.oauthService.getValidToken("google"),a=this.getSyncToken(t),o=[],l,c,d=!a,u=!1;do try{let p=new URLSearchParams({singleEvents:"true",maxResults:mx.MAX_RESULTS_PER_REQUEST.toString()});if(a&&!l)p.set("syncToken",a);else if(l)p.set("pageToken",l);else{let g=new Date,y=n||new Date(g.getTime()-720*60*60*1e3),k=i||new Date(g.getTime()+2160*60*60*1e3);p.set("timeMin",y.toISOString()),p.set("timeMax",k.toISOString()),p.set("orderBy","startTime")}let f=(await this.withRetry(async()=>await(0,oc.requestUrl)({url:`${this.baseUrl}/calendars/${encodeURIComponent(t)}/events?${p.toString()}`,method:"GET",headers:{Authorization:`Bearer ${s}`,Accept:"application/json"}}),`Fetch events for ${t}`)).json,h=f.items||[];!d&&h.some(g=>g.status==="cancelled")&&(u=!0),o.push(...h),l=f.nextPageToken,f.nextSyncToken&&(c=f.nextSyncToken)}catch(p){if(p.status===410)return await this.clearSyncToken(t),await this.fetchCalendarEvents(t,n,i);throw p}while(l);return c&&await this.saveSyncToken(t,c),{events:o,isFullSync:d,hasDeletes:u}}catch(s){throw console.error(`Failed to fetch events from calendar ${t}:`,s),new Error(`Failed to fetch calendar events: ${s.message}`)}}convertToICSEvent(t,n){var l,c;let i,s,a;if(t.start.date)i=t.start.date,s=(l=t.end)==null?void 0:l.date,a=!0;else{let d=new Date(t.start.dateTime),u=(c=t.end)!=null&&c.dateTime?new Date(t.end.dateTime):void 0;i=P(d,"yyyy-MM-dd'T'HH:mm:ss"),s=u?P(u,"yyyy-MM-dd'T'HH:mm:ss"):void 0,a=!1}let o;return t.colorId&&(o=P3e[t.colorId]),o||(o=this.calendarColors.get(n)),o||(o="#4285F4"),{id:`google-${n}-${t.id}`,subscriptionId:`google-${n}`,title:t.summary||"Untitled Event",description:t.description,start:i,end:s,allDay:a,location:t.location,url:t.htmlLink,color:o}}async refreshAllCalendars(){try{if(!await this.oauthService.isConnected("google"))return;this.availableCalendars=await this.listCalendars();let n=this.getEnabledCalendarIds(),i=this.cache.get("all")||[];for(let s of n)try{let{events:a,isFullSync:o}=await this.fetchCalendarEvents(s);if(o){i=i.filter(c=>c.subscriptionId!==`google-${s}`);let l=a.filter(c=>c.status!=="cancelled").map(c=>this.convertToICSEvent(c,s));i.push(...l)}else for(let l of a){let c=`google-${s}-${l.id}`,d=i.findIndex(u=>u.id===c);if(l.status==="cancelled")d!==-1&&i.splice(d,1);else{let u=this.convertToICSEvent(l,s);d!==-1?i[d]=u:i.push(u)}}}catch(a){console.error(`Failed to fetch events from calendar ${s}:`,a)}this.cache.set("all",i),this.emit("data-changed")}catch(t){console.error("Failed to refresh Google calendars:",t),t.message&&t.message.includes("401")&&console.warn("[GoogleCalendar] Authentication expired - caller should handle re-authentication")}}getAllEvents(){return this.cache.get("all")||[]}getCachedEvents(){return this.getAllEvents()}async getEvents(t,n,i){let{events:s}=await this.fetchCalendarEvents(t,n,i);return s.filter(a=>a.status!=="cancelled").map(a=>this.convertToICSEvent(a,t))}async manualRefresh(){return this.refresh()}async refresh(){let t=Date.now(),n=t-this.lastManualRefresh,i=mx.MIN_MANUAL_REFRESH_INTERVAL_MS;if(n<i){let s=i-n;new oc.Notice(`Please wait ${Math.ceil(s/1e3)}s before refreshing again`);return}this.lastManualRefresh=t,await this.refreshAllCalendars()}clearCache(){this.cache.clear()}async updateEvent(t,n,i){bp(t),pv(n),fo(i,"updates");try{let s=await this.oauthService.getValidToken("google"),l={...(await this.withRetry(async()=>await(0,oc.requestUrl)({url:`${this.baseUrl}/calendars/${encodeURIComponent(t)}/events/${encodeURIComponent(n)}`,method:"GET",headers:{Authorization:`Bearer ${s}`,Accept:"application/json"}}),`Get event ${n}`)).json};(i.title!==void 0||i.summary!==void 0)&&(l.summary=i.summary||i.title),i.description!==void 0&&(l.description=i.description),i.location!==void 0&&(l.location=i.location),i.reminders!==void 0&&(l.reminders=i.reminders),i.colorId!==void 0&&(l.colorId=i.colorId),i.recurrence!==void 0&&(l.recurrence=i.recurrence),i.start!==void 0&&(typeof i.start=="string"?i.isAllDay||!/T/.test(i.start)?l.start={date:i.start}:l.start={dateTime:i.start,timeZone:"UTC"}:l.start=i.start),i.end!==void 0&&(typeof i.end=="string"?i.isAllDay||!/T/.test(i.end)?l.end={date:i.end}:l.end={dateTime:i.end,timeZone:"UTC"}:l.end=i.end),l.start&&(l.start.date?(delete l.start.dateTime,delete l.start.timeZone):l.start.dateTime&&delete l.start.date),l.end&&(l.end.date?(delete l.end.dateTime,delete l.end.timeZone):l.end.dateTime&&delete l.end.date);let d=(await this.withRetry(async()=>await(0,oc.requestUrl)({url:`${this.baseUrl}/calendars/${encodeURIComponent(t)}/events/${encodeURIComponent(n)}`,method:"PUT",headers:{Authorization:`Bearer ${s}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(l)}),`Update event ${n}`)).json,u=this.convertToICSEvent(d,t);return await this.refreshAllCalendars(),u}catch(s){throw console.error("Failed to update Google Calendar event:",s),s.status===404?new vp(n):s.status===401||s.status===403?new Bs("google"):s.status===429?new mo:new mi(`Failed to update event: ${s.message}`,s.status)}}async createEvent(t,n){bp(t),fo(n,"event");let i=n.summary||n.title;fo(i,"event.summary"),fo(n.start,"event.start"),fo(n.end,"event.end");try{let s=await this.oauthService.getValidToken("google"),a={summary:i,description:n.description,location:n.location};n.reminders&&(a.reminders=n.reminders),n.colorId&&(a.colorId=n.colorId),n.recurrence&&n.recurrence.length>0&&(a.recurrence=n.recurrence),typeof n.start=="string"?n.isAllDay||!/T/.test(n.start)?(a.start={date:n.start},a.end={date:n.end}):(a.start={dateTime:n.start,timeZone:"UTC"},a.end={dateTime:n.end,timeZone:"UTC"}):(a.start=n.start,a.end=typeof n.end=="string"?{dateTime:n.end,timeZone:"UTC"}:n.end);let l=(await this.withRetry(async()=>await(0,oc.requestUrl)({url:`${this.baseUrl}/calendars/${encodeURIComponent(t)}/events`,method:"POST",headers:{Authorization:`Bearer ${s}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(a)}),`Create event in ${t}`)).json,c=this.convertToICSEvent(l,t);return await this.refreshAllCalendars(),c}catch(s){throw console.error("Failed to create Google Calendar event:",s),s.status===404?new dv(t):s.status===401||s.status===403?new Bs("google"):s.status===429?new mo:new mi(`Failed to create event: ${s.message}`,s.status)}}async deleteEvent(t,n){bp(t),pv(n);try{let i=await this.oauthService.getValidToken("google");await this.withRetry(async()=>await(0,oc.requestUrl)({url:`${this.baseUrl}/calendars/${encodeURIComponent(t)}/events/${encodeURIComponent(n)}`,method:"DELETE",headers:{Authorization:`Bearer ${i}`}}),`Delete event ${n}`),await this.refreshAllCalendars()}catch(i){if(i.status===410)return;throw console.error("Failed to delete Google Calendar event:",i),i.status===404?new vp(n):i.status===401||i.status===403?new Bs("google"):i.status===429?new mo:new mi(`Failed to delete event: ${i.message}`,i.status)}}async createCalendar(t,n){try{let i=await this.oauthService.getValidToken("google"),a=(await this.withRetry(async()=>await(0,oc.requestUrl)({url:`${this.baseUrl}/calendars`,method:"POST",headers:{Authorization:`Bearer ${i}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({summary:t,description:n,timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone})}),"Create calendar")).json;return this.availableCalendars=await this.listCalendars(),a.id}catch(i){throw console.error("Failed to create calendar:",i),i.status===401||i.status===403?new Bs("google"):i.status===429?new mo:new mi(`Failed to create calendar: ${i.message}`,i.status)}}destroy(){this.stopRefreshTimer(),this.cache.clear(),this.removeAllListeners()}}});var pt=x(Ye=>{"use strict";Ye.secondsInYear=Ye.secondsInWeek=Ye.secondsInQuarter=Ye.secondsInMonth=Ye.secondsInMinute=Ye.secondsInHour=Ye.secondsInDay=Ye.quartersInYear=Ye.monthsInYear=Ye.monthsInQuarter=Ye.minutesInYear=Ye.minutesInMonth=Ye.minutesInHour=Ye.minutesInDay=Ye.minTime=Ye.millisecondsInWeek=Ye.millisecondsInSecond=Ye.millisecondsInMinute=Ye.millisecondsInHour=Ye.millisecondsInDay=Ye.maxTime=Ye.daysInYear=Ye.daysInWeek=Ye.constructFromSymbol=void 0;var rrr=Ye.daysInWeek=7,_3e=Ye.daysInYear=365.2425,M3e=Ye.maxTime=Math.pow(10,8)*24*60*60*1e3,nrr=Ye.minTime=-M3e,irr=Ye.millisecondsInWeek=6048e5,srr=Ye.millisecondsInDay=864e5,arr=Ye.millisecondsInMinute=6e4,orr=Ye.millisecondsInHour=36e5,lrr=Ye.millisecondsInSecond=1e3,crr=Ye.minutesInYear=525600,drr=Ye.minutesInMonth=43200,urr=Ye.minutesInDay=1440,prr=Ye.minutesInHour=60,mrr=Ye.monthsInQuarter=3,frr=Ye.monthsInYear=12,hrr=Ye.quartersInYear=4,A3e=Ye.secondsInHour=3600,grr=Ye.secondsInMinute=60,Ohe=Ye.secondsInDay=A3e*24,yrr=Ye.secondsInWeek=Ohe*7,I3e=Ye.secondsInYear=Ohe*_3e,N3e=Ye.secondsInMonth=I3e/12,vrr=Ye.secondsInQuarter=N3e*3,brr=Ye.constructFromSymbol=Symbol.for("constructDateFrom")});var je=x(Fhe=>{"use strict";Fhe.constructFrom=R3e;var Lhe=pt();function R3e(r,e){return typeof r=="function"?r(e):r&&typeof r=="object"&&Lhe.constructFromSymbol in r?r[Lhe.constructFromSymbol](e):r instanceof Date?new r.constructor(e):new Date(e)}});var K=x($he=>{"use strict";$he.toDate=L3e;var O3e=je();function L3e(r,e){return(0,O3e.constructFrom)(e||r,r)}});var lc=x(jhe=>{"use strict";jhe.addDays=j3e;var F3e=je(),$3e=K();function j3e(r,e,t){let n=(0,$3e.toDate)(r,t==null?void 0:t.in);return isNaN(e)?(0,F3e.constructFrom)((t==null?void 0:t.in)||r,NaN):(e&&n.setDate(n.getDate()+e),n)}});var fv=x(Bhe=>{"use strict";Bhe.addMonths=B3e;var zhe=je(),z3e=K();function B3e(r,e,t){let n=(0,z3e.toDate)(r,t==null?void 0:t.in);if(isNaN(e))return(0,zhe.constructFrom)((t==null?void 0:t.in)||r,NaN);if(!e)return n;let i=n.getDate(),s=(0,zhe.constructFrom)((t==null?void 0:t.in)||r,n.getTime());s.setMonth(n.getMonth()+e+1,0);let a=s.getDate();return i>=a?s:(n.setFullYear(s.getFullYear(),s.getMonth(),i),n)}});var eB=x(qhe=>{"use strict";qhe.add=W3e;var q3e=lc(),H3e=fv(),U3e=je(),V3e=K();function W3e(r,e,t){let{years:n=0,months:i=0,weeks:s=0,days:a=0,hours:o=0,minutes:l=0,seconds:c=0}=e,d=(0,V3e.toDate)(r,t==null?void 0:t.in),u=i||n?(0,H3e.addMonths)(d,i+n*12):d,p=a||s?(0,q3e.addDays)(u,a+s*7):u,m=l+o*60,h=(c+m*60)*1e3;return(0,U3e.constructFrom)((t==null?void 0:t.in)||r,+p+h)}});var tB=x(Hhe=>{"use strict";Hhe.isSaturday=G3e;var Y3e=K();function G3e(r,e){return(0,Y3e.toDate)(r,e==null?void 0:e.in).getDay()===6}});var rB=x(Uhe=>{"use strict";Uhe.isSunday=Z3e;var K3e=K();function Z3e(r,e){return(0,K3e.toDate)(r,e==null?void 0:e.in).getDay()===0}});var yx=x(Vhe=>{"use strict";Vhe.isWeekend=J3e;var Q3e=K();function J3e(r,e){let t=(0,Q3e.toDate)(r,e==null?void 0:e.in).getDay();return t===0||t===6}});var iB=x(Whe=>{"use strict";Whe.addBusinessDays=n9e;var X3e=je(),e9e=tB(),t9e=rB(),nB=yx(),r9e=K();function n9e(r,e,t){let n=(0,r9e.toDate)(r,t==null?void 0:t.in),i=(0,nB.isWeekend)(n,t);if(isNaN(e))return(0,X3e.constructFrom)(t==null?void 0:t.in,NaN);let s=n.getHours(),a=e<0?-1:1,o=Math.trunc(e/5);n.setDate(n.getDate()+o*7);let l=Math.abs(e%5);for(;l>0;)n.setDate(n.getDate()+a),(0,nB.isWeekend)(n,t)||(l-=1);return i&&(0,nB.isWeekend)(n,t)&&e!==0&&((0,e9e.isSaturday)(n,t)&&n.setDate(n.getDate()+(a<0?2:-1)),(0,t9e.isSunday)(n,t)&&n.setDate(n.getDate()+(a<0?1:-2))),n.setHours(s),n}});var vx=x(Yhe=>{"use strict";Yhe.addMilliseconds=a9e;var i9e=je(),s9e=K();function a9e(r,e,t){return(0,i9e.constructFrom)((t==null?void 0:t.in)||r,+(0,s9e.toDate)(r)+e)}});var sB=x(Ghe=>{"use strict";Ghe.addHours=c9e;var o9e=vx(),l9e=pt();function c9e(r,e,t){return(0,o9e.addMilliseconds)(r,e*l9e.millisecondsInHour,t)}});var Hi=x(aB=>{"use strict";aB.getDefaultOptions=d9e;aB.setDefaultOptions=u9e;var Khe={};function d9e(){return Khe}function u9e(r){Khe=r}});var sl=x(Zhe=>{"use strict";Zhe.startOfWeek=f9e;var p9e=Hi(),m9e=K();function f9e(r,e){var o,l,c,d,u,p,m,f;let t=(0,p9e.getDefaultOptions)(),n=(f=(m=(d=(c=e==null?void 0:e.weekStartsOn)!=null?c:(l=(o=e==null?void 0:e.locale)==null?void 0:o.options)==null?void 0:l.weekStartsOn)!=null?d:t.weekStartsOn)!=null?m:(p=(u=t.locale)==null?void 0:u.options)==null?void 0:p.weekStartsOn)!=null?f:0,i=(0,m9e.toDate)(r,e==null?void 0:e.in),s=i.getDay(),a=(s<n?7:0)+s-n;return i.setDate(i.getDate()-a),i.setHours(0,0,0,0),i}});var cc=x(Qhe=>{"use strict";Qhe.startOfISOWeek=g9e;var h9e=sl();function g9e(r,e){return(0,h9e.startOfWeek)(r,{...e,weekStartsOn:1})}});var Tp=x(ege=>{"use strict";ege.getISOWeekYear=v9e;var Jhe=je(),Xhe=cc(),y9e=K();function v9e(r,e){let t=(0,y9e.toDate)(r,e==null?void 0:e.in),n=t.getFullYear(),i=(0,Jhe.constructFrom)(t,0);i.setFullYear(n+1,0,4),i.setHours(0,0,0,0);let s=(0,Xhe.startOfISOWeek)(i),a=(0,Jhe.constructFrom)(t,0);a.setFullYear(n,0,4),a.setHours(0,0,0,0);let o=(0,Xhe.startOfISOWeek)(a);return t.getTime()>=s.getTime()?n+1:t.getTime()>=o.getTime()?n:n-1}});var Ld=x(tge=>{"use strict";tge.getTimezoneOffsetInMilliseconds=T9e;var b9e=K();function T9e(r){let e=(0,b9e.toDate)(r),t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),+r-+t}});var br=x(rge=>{"use strict";rge.normalizeDates=w9e;var k9e=je();function w9e(r,...e){let t=k9e.constructFrom.bind(null,r||e.find(n=>typeof n=="object"));return e.map(t)}});var bx=x(nge=>{"use strict";nge.startOfDay=x9e;var S9e=K();function x9e(r,e){let t=(0,S9e.toDate)(r,e==null?void 0:e.in);return t.setHours(0,0,0,0),t}});var Fd=x(age=>{"use strict";age.differenceInCalendarDays=C9e;var ige=Ld(),E9e=br(),D9e=pt(),sge=bx();function C9e(r,e,t){let[n,i]=(0,E9e.normalizeDates)(t==null?void 0:t.in,r,e),s=(0,sge.startOfDay)(n),a=(0,sge.startOfDay)(i),o=+s-(0,ige.getTimezoneOffsetInMilliseconds)(s),l=+a-(0,ige.getTimezoneOffsetInMilliseconds)(a);return Math.round((o-l)/D9e.millisecondsInDay)}});var hv=x(oge=>{"use strict";oge.startOfISOWeekYear=A9e;var P9e=je(),_9e=Tp(),M9e=cc();function A9e(r,e){let t=(0,_9e.getISOWeekYear)(r,e),n=(0,P9e.constructFrom)((e==null?void 0:e.in)||r,0);return n.setFullYear(t,0,4),n.setHours(0,0,0,0),(0,M9e.startOfISOWeek)(n)}});var oB=x(cge=>{"use strict";cge.setISOWeekYear=O9e;var I9e=je(),N9e=Fd(),lge=hv(),R9e=K();function O9e(r,e,t){let n=(0,R9e.toDate)(r,t==null?void 0:t.in),i=(0,N9e.differenceInCalendarDays)(n,(0,lge.startOfISOWeekYear)(n,t)),s=(0,I9e.constructFrom)((t==null?void 0:t.in)||r,0);return s.setFullYear(e,0,4),s.setHours(0,0,0,0),n=(0,lge.startOfISOWeekYear)(s),n.setDate(n.getDate()+i),n}});var lB=x(dge=>{"use strict";dge.addISOWeekYears=$9e;var L9e=Tp(),F9e=oB();function $9e(r,e,t){return(0,F9e.setISOWeekYear)(r,(0,L9e.getISOWeekYear)(r,t)+e,t)}});var rA=x(uge=>{"use strict";uge.addMinutes=B9e;var j9e=pt(),z9e=K();function B9e(r,e,t){let n=(0,z9e.toDate)(r,t==null?void 0:t.in);return n.setTime(n.getTime()+e*j9e.millisecondsInMinute),n}});var nA=x(pge=>{"use strict";pge.addQuarters=H9e;var q9e=fv();function H9e(r,e,t){return(0,q9e.addMonths)(r,e*3,t)}});var cB=x(mge=>{"use strict";mge.addSeconds=V9e;var U9e=vx();function V9e(r,e,t){return(0,U9e.addMilliseconds)(r,e*1e3,t)}});var Tx=x(fge=>{"use strict";fge.addWeeks=Y9e;var W9e=lc();function Y9e(r,e,t){return(0,W9e.addDays)(r,e*7,t)}});var dB=x(hge=>{"use strict";hge.addYears=K9e;var G9e=fv();function K9e(r,e,t){return(0,G9e.addMonths)(r,e*12,t)}});var yge=x(gge=>{"use strict";gge.areIntervalsOverlapping=Z9e;var iA=K();function Z9e(r,e,t){let[n,i]=[+(0,iA.toDate)(r.start,t==null?void 0:t.in),+(0,iA.toDate)(r.end,t==null?void 0:t.in)].sort((o,l)=>o-l),[s,a]=[+(0,iA.toDate)(e.start,t==null?void 0:t.in),+(0,iA.toDate)(e.end,t==null?void 0:t.in)].sort((o,l)=>o-l);return t!=null&&t.inclusive?n<=a&&s<=i:n<a&&s<i}});var uB=x(bge=>{"use strict";bge.max=J9e;var vge=je(),Q9e=K();function J9e(r,e){let t,n=e==null?void 0:e.in;return r.forEach(i=>{!n&&typeof i=="object"&&(n=vge.constructFrom.bind(null,i));let s=(0,Q9e.toDate)(i,n);(!t||t<s||isNaN(+s))&&(t=s)}),(0,vge.constructFrom)(n,t||NaN)}});var pB=x(kge=>{"use strict";kge.min=e6e;var Tge=je(),X9e=K();function e6e(r,e){let t,n=e==null?void 0:e.in;return r.forEach(i=>{!n&&typeof i=="object"&&(n=Tge.constructFrom.bind(null,i));let s=(0,X9e.toDate)(i,n);(!t||t>s||isNaN(+s))&&(t=s)}),(0,Tge.constructFrom)(n,t||NaN)}});var Sge=x(wge=>{"use strict";wge.clamp=i6e;var t6e=br(),r6e=uB(),n6e=pB();function i6e(r,e,t){let[n,i,s]=(0,t6e.normalizeDates)(t==null?void 0:t.in,r,e.start,e.end);return(0,n6e.min)([(0,r6e.max)([n,i],t),s],t)}});var mB=x(Ege=>{"use strict";Ege.closestIndexTo=s6e;var xge=K();function s6e(r,e){let t=+(0,xge.toDate)(r);if(isNaN(t))return NaN;let n,i;return e.forEach((s,a)=>{let o=(0,xge.toDate)(s);if(isNaN(+o)){n=NaN,i=NaN;return}let l=Math.abs(t-+o);(n==null||l<i)&&(n=a,i=l)}),n}});var Cge=x(Dge=>{"use strict";Dge.closestTo=c6e;var a6e=br(),o6e=mB(),l6e=je();function c6e(r,e,t){let[n,...i]=(0,a6e.normalizeDates)(t==null?void 0:t.in,r,...e),s=(0,o6e.closestIndexTo)(n,i);if(typeof s=="number"&&isNaN(s))return(0,l6e.constructFrom)(n,NaN);if(s!==void 0)return i[s]}});var qf=x(_ge=>{"use strict";_ge.compareAsc=d6e;var Pge=K();function d6e(r,e){let t=+(0,Pge.toDate)(r)-+(0,Pge.toDate)(e);return t<0?-1:t>0?1:t}});var Ige=x(Age=>{"use strict";Age.compareDesc=u6e;var Mge=K();function u6e(r,e){let t=+(0,Mge.toDate)(r)-+(0,Mge.toDate)(e);return t>0?-1:t<0?1:t}});var Un=x(Nge=>{"use strict";Nge.constructNow=m6e;var p6e=je();function m6e(r){return(0,p6e.constructFrom)(r,Date.now())}});var Oge=x(Rge=>{"use strict";Rge.daysToWeeks=h6e;var f6e=pt();function h6e(r){let e=Math.trunc(r/f6e.daysInWeek);return e===0?0:e}});var gv=x(Fge=>{"use strict";Fge.isSameDay=y6e;var g6e=br(),Lge=bx();function y6e(r,e,t){let[n,i]=(0,g6e.normalizeDates)(t==null?void 0:t.in,r,e);return+(0,Lge.startOfDay)(n)==+(0,Lge.startOfDay)(i)}});var fB=x($ge=>{"use strict";$ge.isDate=v6e;function v6e(r){return r instanceof Date||typeof r=="object"&&Object.prototype.toString.call(r)==="[object Date]"}});var $d=x(jge=>{"use strict";jge.isValid=k6e;var b6e=fB(),T6e=K();function k6e(r){return!(!(0,b6e.isDate)(r)&&typeof r!="number"||isNaN(+(0,T6e.toDate)(r)))}});var Hge=x(qge=>{"use strict";qge.differenceInBusinessDays=D6e;var w6e=br(),zge=lc(),S6e=Fd(),x6e=gv(),Bge=$d(),E6e=yx();function D6e(r,e,t){let[n,i]=(0,w6e.normalizeDates)(t==null?void 0:t.in,r,e);if(!(0,Bge.isValid)(n)||!(0,Bge.isValid)(i))return NaN;let s=(0,S6e.differenceInCalendarDays)(n,i),a=s<0?-1:1,o=Math.trunc(s/7),l=o*5,c=(0,zge.addDays)(i,o*7);for(;!(0,x6e.isSameDay)(n,c);)l+=(0,E6e.isWeekend)(c,t)?0:a,c=(0,zge.addDays)(c,a);return l===0?0:l}});var hB=x(Vge=>{"use strict";Vge.differenceInCalendarISOWeekYears=P6e;var C6e=br(),Uge=Tp();function P6e(r,e,t){let[n,i]=(0,C6e.normalizeDates)(t==null?void 0:t.in,r,e);return(0,Uge.getISOWeekYear)(n,t)-(0,Uge.getISOWeekYear)(i,t)}});var Kge=x(Gge=>{"use strict";Gge.differenceInCalendarISOWeeks=A6e;var Wge=Ld(),_6e=br(),M6e=pt(),Yge=cc();function A6e(r,e,t){let[n,i]=(0,_6e.normalizeDates)(t==null?void 0:t.in,r,e),s=(0,Yge.startOfISOWeek)(n),a=(0,Yge.startOfISOWeek)(i),o=+s-(0,Wge.getTimezoneOffsetInMilliseconds)(s),l=+a-(0,Wge.getTimezoneOffsetInMilliseconds)(a);return Math.round((o-l)/M6e.millisecondsInWeek)}});var sA=x(Zge=>{"use strict";Zge.differenceInCalendarMonths=N6e;var I6e=br();function N6e(r,e,t){let[n,i]=(0,I6e.normalizeDates)(t==null?void 0:t.in,r,e),s=n.getFullYear()-i.getFullYear(),a=n.getMonth()-i.getMonth();return s*12+a}});var gB=x(Qge=>{"use strict";Qge.getQuarter=O6e;var R6e=K();function O6e(r,e){let t=(0,R6e.toDate)(r,e==null?void 0:e.in);return Math.trunc(t.getMonth()/3)+1}});var yB=x(Xge=>{"use strict";Xge.differenceInCalendarQuarters=F6e;var L6e=br(),Jge=gB();function F6e(r,e,t){let[n,i]=(0,L6e.normalizeDates)(t==null?void 0:t.in,r,e),s=n.getFullYear()-i.getFullYear(),a=(0,Jge.getQuarter)(n)-(0,Jge.getQuarter)(i);return s*4+a}});var aA=x(rye=>{"use strict";rye.differenceInCalendarWeeks=z6e;var eye=Ld(),$6e=br(),j6e=pt(),tye=sl();function z6e(r,e,t){let[n,i]=(0,$6e.normalizeDates)(t==null?void 0:t.in,r,e),s=(0,tye.startOfWeek)(n,t),a=(0,tye.startOfWeek)(i,t),o=+s-(0,eye.getTimezoneOffsetInMilliseconds)(s),l=+a-(0,eye.getTimezoneOffsetInMilliseconds)(a);return Math.round((o-l)/j6e.millisecondsInWeek)}});var oA=x(nye=>{"use strict";nye.differenceInCalendarYears=q6e;var B6e=br();function q6e(r,e,t){let[n,i]=(0,B6e.normalizeDates)(t==null?void 0:t.in,r,e);return n.getFullYear()-i.getFullYear()}});var lA=x(sye=>{"use strict";sye.differenceInDays=V6e;var H6e=br(),U6e=Fd();function V6e(r,e,t){let[n,i]=(0,H6e.normalizeDates)(t==null?void 0:t.in,r,e),s=iye(n,i),a=Math.abs((0,U6e.differenceInCalendarDays)(n,i));n.setDate(n.getDate()-s*a);let o=+(iye(n,i)===-s),l=s*(a-o);return l===0?0:l}function iye(r,e){let t=r.getFullYear()-e.getFullYear()||r.getMonth()-e.getMonth()||r.getDate()-e.getDate()||r.getHours()-e.getHours()||r.getMinutes()-e.getMinutes()||r.getSeconds()-e.getSeconds()||r.getMilliseconds()-e.getMilliseconds();return t<0?-1:t>0?1:t}});var jd=x(aye=>{"use strict";aye.getRoundingMethod=W6e;function W6e(r){return e=>{let n=(r?Math[r]:Math.trunc)(e);return n===0?0:n}}});var cA=x(oye=>{"use strict";oye.differenceInHours=Z6e;var Y6e=jd(),G6e=br(),K6e=pt();function Z6e(r,e,t){let[n,i]=(0,G6e.normalizeDates)(t==null?void 0:t.in,r,e),s=(+n-+i)/K6e.millisecondsInHour;return(0,Y6e.getRoundingMethod)(t==null?void 0:t.roundingMethod)(s)}});var vB=x(lye=>{"use strict";lye.subISOWeekYears=J6e;var Q6e=lB();function J6e(r,e,t){return(0,Q6e.addISOWeekYears)(r,-e,t)}});var uye=x(dye=>{"use strict";dye.differenceInISOWeekYears=rYe;var X6e=br(),cye=qf(),eYe=hB(),tYe=vB();function rYe(r,e,t){let[n,i]=(0,X6e.normalizeDates)(t==null?void 0:t.in,r,e),s=(0,cye.compareAsc)(n,i),a=Math.abs((0,eYe.differenceInCalendarISOWeekYears)(n,i,t)),o=(0,tYe.subISOWeekYears)(n,s*a,t),l=+((0,cye.compareAsc)(o,i)===-s),c=s*(a-l);return c===0?0:c}});var dA=x(mye=>{"use strict";mye.differenceInMilliseconds=nYe;var pye=K();function nYe(r,e){return+(0,pye.toDate)(r)-+(0,pye.toDate)(e)}});var uA=x(fye=>{"use strict";fye.differenceInMinutes=oYe;var iYe=jd(),sYe=pt(),aYe=dA();function oYe(r,e,t){let n=(0,aYe.differenceInMilliseconds)(r,e)/sYe.millisecondsInMinute;return(0,iYe.getRoundingMethod)(t==null?void 0:t.roundingMethod)(n)}});var pA=x(hye=>{"use strict";hye.endOfDay=cYe;var lYe=K();function cYe(r,e){let t=(0,lYe.toDate)(r,e==null?void 0:e.in);return t.setHours(23,59,59,999),t}});var mA=x(gye=>{"use strict";gye.endOfMonth=uYe;var dYe=K();function uYe(r,e){let t=(0,dYe.toDate)(r,e==null?void 0:e.in),n=t.getMonth();return t.setFullYear(t.getFullYear(),n+1,0),t.setHours(23,59,59,999),t}});var bB=x(yye=>{"use strict";yye.isLastDayOfMonth=hYe;var pYe=pA(),mYe=mA(),fYe=K();function hYe(r,e){let t=(0,fYe.toDate)(r,e==null?void 0:e.in);return+(0,pYe.endOfDay)(t,e)==+(0,mYe.endOfMonth)(t,e)}});var kx=x(vye=>{"use strict";vye.differenceInMonths=bYe;var gYe=br(),TB=qf(),yYe=sA(),vYe=bB();function bYe(r,e,t){let[n,i,s]=(0,gYe.normalizeDates)(t==null?void 0:t.in,r,r,e),a=(0,TB.compareAsc)(i,s),o=Math.abs((0,yYe.differenceInCalendarMonths)(i,s));if(o<1)return 0;i.getMonth()===1&&i.getDate()>27&&i.setDate(30),i.setMonth(i.getMonth()-a*o);let l=(0,TB.compareAsc)(i,s)===-a;(0,vYe.isLastDayOfMonth)(n)&&o===1&&(0,TB.compareAsc)(n,s)===1&&(l=!1);let c=a*(o-+l);return c===0?0:c}});var Tye=x(bye=>{"use strict";bye.differenceInQuarters=wYe;var TYe=jd(),kYe=kx();function wYe(r,e,t){let n=(0,kYe.differenceInMonths)(r,e,t)/3;return(0,TYe.getRoundingMethod)(t==null?void 0:t.roundingMethod)(n)}});var wx=x(kye=>{"use strict";kye.differenceInSeconds=EYe;var SYe=jd(),xYe=dA();function EYe(r,e,t){let n=(0,xYe.differenceInMilliseconds)(r,e)/1e3;return(0,SYe.getRoundingMethod)(t==null?void 0:t.roundingMethod)(n)}});var Sye=x(wye=>{"use strict";wye.differenceInWeeks=PYe;var DYe=jd(),CYe=lA();function PYe(r,e,t){let n=(0,CYe.differenceInDays)(r,e,t)/7;return(0,DYe.getRoundingMethod)(t==null?void 0:t.roundingMethod)(n)}});var kB=x(Eye=>{"use strict";Eye.differenceInYears=AYe;var _Ye=br(),xye=qf(),MYe=oA();function AYe(r,e,t){let[n,i]=(0,_Ye.normalizeDates)(t==null?void 0:t.in,r,e),s=(0,xye.compareAsc)(n,i),a=Math.abs((0,MYe.differenceInCalendarYears)(n,i));n.setFullYear(1584),i.setFullYear(1584);let o=(0,xye.compareAsc)(n,i)===-s,l=s*(a-+o);return l===0?0:l}});var dc=x(Dye=>{"use strict";Dye.normalizeInterval=NYe;var IYe=br();function NYe(r,e){let[t,n]=(0,IYe.normalizeDates)(r,e.start,e.end);return{start:t,end:n}}});var wB=x(Cye=>{"use strict";Cye.eachDayOfInterval=LYe;var RYe=dc(),OYe=je();function LYe(r,e){var c;let{start:t,end:n}=(0,RYe.normalizeInterval)(e==null?void 0:e.in,r),i=+t>+n,s=i?+t:+n,a=i?n:t;a.setHours(0,0,0,0);let o=(c=e==null?void 0:e.step)!=null?c:1;if(!o)return[];o<0&&(o=-o,i=!i);let l=[];for(;+a<=s;)l.push((0,OYe.constructFrom)(t,a)),a.setDate(a.getDate()+o),a.setHours(0,0,0,0);return i?l.reverse():l}});var _ye=x(Pye=>{"use strict";Pye.eachHourOfInterval=jYe;var FYe=dc(),$Ye=je();function jYe(r,e){var c;let{start:t,end:n}=(0,FYe.normalizeInterval)(e==null?void 0:e.in,r),i=+t>+n,s=i?+t:+n,a=i?n:t;a.setMinutes(0,0,0);let o=(c=e==null?void 0:e.step)!=null?c:1;if(!o)return[];o<0&&(o=-o,i=!i);let l=[];for(;+a<=s;)l.push((0,$Ye.constructFrom)(t,a)),a.setHours(a.getHours()+o);return i?l.reverse():l}});var Aye=x(Mye=>{"use strict";Mye.eachMinuteOfInterval=HYe;var zYe=dc(),BYe=rA(),qYe=je();function HYe(r,e){var c;let{start:t,end:n}=(0,zYe.normalizeInterval)(e==null?void 0:e.in,r);t.setSeconds(0,0);let i=+t>+n,s=i?+t:+n,a=i?n:t,o=(c=e==null?void 0:e.step)!=null?c:1;if(!o)return[];o<0&&(o=-o,i=!i);let l=[];for(;+a<=s;)l.push((0,qYe.constructFrom)(t,a)),a=(0,BYe.addMinutes)(a,o);return i?l.reverse():l}});var Nye=x(Iye=>{"use strict";Iye.eachMonthOfInterval=WYe;var UYe=dc(),VYe=je();function WYe(r,e){var c;let{start:t,end:n}=(0,UYe.normalizeInterval)(e==null?void 0:e.in,r),i=+t>+n,s=i?+t:+n,a=i?n:t;a.setHours(0,0,0,0),a.setDate(1);let o=(c=e==null?void 0:e.step)!=null?c:1;if(!o)return[];o<0&&(o=-o,i=!i);let l=[];for(;+a<=s;)l.push((0,VYe.constructFrom)(t,a)),a.setMonth(a.getMonth()+o);return i?l.reverse():l}});var fA=x(Rye=>{"use strict";Rye.startOfQuarter=GYe;var YYe=K();function GYe(r,e){let t=(0,YYe.toDate)(r,e==null?void 0:e.in),n=t.getMonth(),i=n-n%3;return t.setMonth(i,1),t.setHours(0,0,0,0),t}});var Lye=x(Oye=>{"use strict";Oye.eachQuarterOfInterval=JYe;var KYe=dc(),ZYe=nA(),QYe=je(),hA=fA();function JYe(r,e){var c;let{start:t,end:n}=(0,KYe.normalizeInterval)(e==null?void 0:e.in,r),i=+t>+n,s=i?+(0,hA.startOfQuarter)(t):+(0,hA.startOfQuarter)(n),a=i?(0,hA.startOfQuarter)(n):(0,hA.startOfQuarter)(t),o=(c=e==null?void 0:e.step)!=null?c:1;if(!o)return[];o<0&&(o=-o,i=!i);let l=[];for(;+a<=s;)l.push((0,QYe.constructFrom)(t,a)),a=(0,ZYe.addQuarters)(a,o);return i?l.reverse():l}});var $ye=x(Fye=>{"use strict";Fye.eachWeekOfInterval=r5e;var XYe=dc(),e5e=Tx(),t5e=je(),gA=sl();function r5e(r,e){var u;let{start:t,end:n}=(0,XYe.normalizeInterval)(e==null?void 0:e.in,r),i=+t>+n,s=i?(0,gA.startOfWeek)(n,e):(0,gA.startOfWeek)(t,e),a=i?(0,gA.startOfWeek)(t,e):(0,gA.startOfWeek)(n,e);s.setHours(15),a.setHours(15);let o=+a.getTime(),l=s,c=(u=e==null?void 0:e.step)!=null?u:1;if(!c)return[];c<0&&(c=-c,i=!i);let d=[];for(;+l<=o;)l.setHours(0),d.push((0,t5e.constructFrom)(t,l)),l=(0,e5e.addWeeks)(l,c),l.setHours(15);return i?d.reverse():d}});var yA=x(jye=>{"use strict";jye.eachWeekendOfInterval=o5e;var n5e=dc(),i5e=je(),s5e=wB(),a5e=yx();function o5e(r,e){let{start:t,end:n}=(0,n5e.normalizeInterval)(e==null?void 0:e.in,r),i=(0,s5e.eachDayOfInterval)({start:t,end:n},e),s=[],a=0;for(;a<i.length;){let o=i[a++];(0,a5e.isWeekend)(o)&&s.push((0,i5e.constructFrom)(t,o))}return s}});var Sx=x(zye=>{"use strict";zye.startOfMonth=c5e;var l5e=K();function c5e(r,e){let t=(0,l5e.toDate)(r,e==null?void 0:e.in);return t.setDate(1),t.setHours(0,0,0,0),t}});var qye=x(Bye=>{"use strict";Bye.eachWeekendOfMonth=m5e;var d5e=yA(),u5e=mA(),p5e=Sx();function m5e(r,e){let t=(0,p5e.startOfMonth)(r,e),n=(0,u5e.endOfMonth)(r,e);return(0,d5e.eachWeekendOfInterval)({start:t,end:n},e)}});var SB=x(Hye=>{"use strict";Hye.endOfYear=h5e;var f5e=K();function h5e(r,e){let t=(0,f5e.toDate)(r,e==null?void 0:e.in),n=t.getFullYear();return t.setFullYear(n+1,0,0),t.setHours(23,59,59,999),t}});var vA=x(Uye=>{"use strict";Uye.startOfYear=y5e;var g5e=K();function y5e(r,e){let t=(0,g5e.toDate)(r,e==null?void 0:e.in);return t.setFullYear(t.getFullYear(),0,1),t.setHours(0,0,0,0),t}});var Wye=x(Vye=>{"use strict";Vye.eachWeekendOfYear=k5e;var v5e=yA(),b5e=SB(),T5e=vA();function k5e(r,e){let t=(0,T5e.startOfYear)(r,e),n=(0,b5e.endOfYear)(r,e);return(0,v5e.eachWeekendOfInterval)({start:t,end:n},e)}});var Gye=x(Yye=>{"use strict";Yye.eachYearOfInterval=x5e;var w5e=dc(),S5e=je();function x5e(r,e){var c;let{start:t,end:n}=(0,w5e.normalizeInterval)(e==null?void 0:e.in,r),i=+t>+n,s=i?+t:+n,a=i?n:t;a.setHours(0,0,0,0),a.setMonth(0,1);let o=(c=e==null?void 0:e.step)!=null?c:1;if(!o)return[];o<0&&(o=-o,i=!i);let l=[];for(;+a<=s;)l.push((0,S5e.constructFrom)(t,a)),a.setFullYear(a.getFullYear()+o);return i?l.reverse():l}});var Zye=x(Kye=>{"use strict";Kye.endOfDecade=D5e;var E5e=K();function D5e(r,e){let t=(0,E5e.toDate)(r,e==null?void 0:e.in),n=t.getFullYear(),i=9+Math.floor(n/10)*10;return t.setFullYear(i,11,31),t.setHours(23,59,59,999),t}});var Jye=x(Qye=>{"use strict";Qye.endOfHour=P5e;var C5e=K();function P5e(r,e){let t=(0,C5e.toDate)(r,e==null?void 0:e.in);return t.setMinutes(59,59,999),t}});var xB=x(Xye=>{"use strict";Xye.endOfWeek=A5e;var _5e=Hi(),M5e=K();function A5e(r,e){var o,l,c,d,u,p,m,f;let t=(0,_5e.getDefaultOptions)(),n=(f=(m=(d=(c=e==null?void 0:e.weekStartsOn)!=null?c:(l=(o=e==null?void 0:e.locale)==null?void 0:o.options)==null?void 0:l.weekStartsOn)!=null?d:t.weekStartsOn)!=null?m:(p=(u=t.locale)==null?void 0:u.options)==null?void 0:p.weekStartsOn)!=null?f:0,i=(0,M5e.toDate)(r,e==null?void 0:e.in),s=i.getDay(),a=(s<n?-7:0)+6-(s-n);return i.setDate(i.getDate()+a),i.setHours(23,59,59,999),i}});var tve=x(eve=>{"use strict";eve.endOfISOWeek=N5e;var I5e=xB();function N5e(r,e){return(0,I5e.endOfWeek)(r,{...e,weekStartsOn:1})}});var nve=x(rve=>{"use strict";rve.endOfISOWeekYear=F5e;var R5e=je(),O5e=Tp(),L5e=cc();function F5e(r,e){let t=(0,O5e.getISOWeekYear)(r,e),n=(0,R5e.constructFrom)((e==null?void 0:e.in)||r,0);n.setFullYear(t+1,0,4),n.setHours(0,0,0,0);let i=(0,L5e.startOfISOWeek)(n,e);return i.setMilliseconds(i.getMilliseconds()-1),i}});var sve=x(ive=>{"use strict";ive.endOfMinute=j5e;var $5e=K();function j5e(r,e){let t=(0,$5e.toDate)(r,e==null?void 0:e.in);return t.setSeconds(59,999),t}});var ove=x(ave=>{"use strict";ave.endOfQuarter=B5e;var z5e=K();function B5e(r,e){let t=(0,z5e.toDate)(r,e==null?void 0:e.in),n=t.getMonth(),i=n-n%3+3;return t.setMonth(i,0),t.setHours(23,59,59,999),t}});var cve=x(lve=>{"use strict";lve.endOfSecond=H5e;var q5e=K();function H5e(r,e){let t=(0,q5e.toDate)(r,e==null?void 0:e.in);return t.setMilliseconds(999),t}});var uve=x(dve=>{"use strict";dve.endOfToday=V5e;var U5e=pA();function V5e(r){return(0,U5e.endOfDay)(Date.now(),r)}});var fve=x(mve=>{"use strict";mve.endOfTomorrow=W5e;var pve=Un();function W5e(r){let e=(0,pve.constructNow)(r==null?void 0:r.in),t=e.getFullYear(),n=e.getMonth(),i=e.getDate(),s=(0,pve.constructNow)(r==null?void 0:r.in);return s.setFullYear(t,n,i+1),s.setHours(23,59,59,999),r!=null&&r.in?r.in(s):s}});var gve=x(hve=>{"use strict";hve.endOfYesterday=K5e;var Y5e=je(),G5e=Un();function K5e(r){let e=(0,G5e.constructNow)(r==null?void 0:r.in),t=(0,Y5e.constructFrom)(r==null?void 0:r.in,0);return t.setFullYear(e.getFullYear(),e.getMonth(),e.getDate()-1),t.setHours(23,59,59,999),t}});var yve=x(EB=>{"use strict";EB.formatDistance=void 0;var Z5e={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},Q5e=(r,e,t)=>{let n,i=Z5e[r];return typeof i=="string"?n=i:e===1?n=i.one:n=i.other.replace("{{count}}",e.toString()),t!=null&&t.addSuffix?t.comparison&&t.comparison>0?"in "+n:n+" ago":n};EB.formatDistance=Q5e});var bve=x(vve=>{"use strict";vve.buildFormatLongFn=J5e;function J5e(r){return(e={})=>{let t=e.width?String(e.width):r.defaultWidth;return r.formats[t]||r.formats[r.defaultWidth]}}});var Tve=x(CB=>{"use strict";CB.formatLong=void 0;var DB=bve(),X5e={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},e8e={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},t8e={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},iir=CB.formatLong={date:(0,DB.buildFormatLongFn)({formats:X5e,defaultWidth:"full"}),time:(0,DB.buildFormatLongFn)({formats:e8e,defaultWidth:"full"}),dateTime:(0,DB.buildFormatLongFn)({formats:t8e,defaultWidth:"full"})}});var kve=x(PB=>{"use strict";PB.formatRelative=void 0;var r8e={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},n8e=(r,e,t,n)=>r8e[r];PB.formatRelative=n8e});var Sve=x(wve=>{"use strict";wve.buildLocalizeFn=i8e;function i8e(r){return(e,t)=>{let n=t!=null&&t.context?String(t.context):"standalone",i;if(n==="formatting"&&r.formattingValues){let a=r.defaultFormattingWidth||r.defaultWidth,o=t!=null&&t.width?String(t.width):a;i=r.formattingValues[o]||r.formattingValues[a]}else{let a=r.defaultWidth,o=t!=null&&t.width?String(t.width):r.defaultWidth;i=r.values[o]||r.values[a]}let s=r.argumentCallback?r.argumentCallback(e):e;return i[s]}}});var xve=x(_B=>{"use strict";_B.localize=void 0;var xx=Sve(),s8e={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},a8e={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},o8e={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},l8e={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},c8e={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},d8e={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},u8e=(r,e)=>{let t=Number(r),n=t%100;if(n>20||n<10)switch(n%10){case 1:return t+"st";case 2:return t+"nd";case 3:return t+"rd"}return t+"th"},lir=_B.localize={ordinalNumber:u8e,era:(0,xx.buildLocalizeFn)({values:s8e,defaultWidth:"wide"}),quarter:(0,xx.buildLocalizeFn)({values:a8e,defaultWidth:"wide",argumentCallback:r=>r-1}),month:(0,xx.buildLocalizeFn)({values:o8e,defaultWidth:"wide"}),day:(0,xx.buildLocalizeFn)({values:l8e,defaultWidth:"wide"}),dayPeriod:(0,xx.buildLocalizeFn)({values:c8e,defaultWidth:"wide",formattingValues:d8e,defaultFormattingWidth:"wide"})}});var Dve=x(Eve=>{"use strict";Eve.buildMatchFn=p8e;function p8e(r){return(e,t={})=>{let n=t.width,i=n&&r.matchPatterns[n]||r.matchPatterns[r.defaultMatchWidth],s=e.match(i);if(!s)return null;let a=s[0],o=n&&r.parsePatterns[n]||r.parsePatterns[r.defaultParseWidth],l=Array.isArray(o)?f8e(o,u=>u.test(a)):m8e(o,u=>u.test(a)),c;c=r.valueCallback?r.valueCallback(l):l,c=t.valueCallback?t.valueCallback(c):c;let d=e.slice(a.length);return{value:c,rest:d}}}function m8e(r,e){for(let t in r)if(Object.prototype.hasOwnProperty.call(r,t)&&e(r[t]))return t}function f8e(r,e){for(let t=0;t<r.length;t++)if(e(r[t]))return t}});var Pve=x(Cve=>{"use strict";Cve.buildMatchPatternFn=h8e;function h8e(r){return(e,t={})=>{let n=e.match(r.matchPattern);if(!n)return null;let i=n[0],s=e.match(r.parsePattern);if(!s)return null;let a=r.valueCallback?r.valueCallback(s[0]):s[0];a=t.valueCallback?t.valueCallback(a):a;let o=e.slice(i.length);return{value:a,rest:o}}}});var _ve=x(MB=>{"use strict";MB.match=void 0;var Ex=Dve(),g8e=Pve(),y8e=/^(\d+)(th|st|nd|rd)?/i,v8e=/\d+/i,b8e={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},T8e={any:[/^b/i,/^(a|c)/i]},k8e={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},w8e={any:[/1/i,/2/i,/3/i,/4/i]},S8e={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},x8e={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},E8e={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},D8e={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},C8e={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},P8e={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},pir=MB.match={ordinalNumber:(0,g8e.buildMatchPatternFn)({matchPattern:y8e,parsePattern:v8e,valueCallback:r=>parseInt(r,10)}),era:(0,Ex.buildMatchFn)({matchPatterns:b8e,defaultMatchWidth:"wide",parsePatterns:T8e,defaultParseWidth:"any"}),quarter:(0,Ex.buildMatchFn)({matchPatterns:k8e,defaultMatchWidth:"wide",parsePatterns:w8e,defaultParseWidth:"any",valueCallback:r=>r+1}),month:(0,Ex.buildMatchFn)({matchPatterns:S8e,defaultMatchWidth:"wide",parsePatterns:x8e,defaultParseWidth:"any"}),day:(0,Ex.buildMatchFn)({matchPatterns:E8e,defaultMatchWidth:"wide",parsePatterns:D8e,defaultParseWidth:"any"}),dayPeriod:(0,Ex.buildMatchFn)({matchPatterns:C8e,defaultMatchWidth:"any",parsePatterns:P8e,defaultParseWidth:"any"})}});var Mve=x(AB=>{"use strict";AB.enUS=void 0;var _8e=yve(),M8e=Tve(),A8e=kve(),I8e=xve(),N8e=_ve(),fir=AB.enUS={code:"en-US",formatDistance:_8e.formatDistance,formatLong:M8e.formatLong,formatRelative:A8e.formatRelative,localize:I8e.localize,match:N8e.match,options:{weekStartsOn:0,firstWeekContainsDate:1}}});var Hf=x(Ave=>{"use strict";Object.defineProperty(Ave,"defaultLocale",{enumerable:!0,get:function(){return R8e.enUS}});var R8e=Mve()});var IB=x(Ive=>{"use strict";Ive.getDayOfYear=$8e;var O8e=Fd(),L8e=vA(),F8e=K();function $8e(r,e){let t=(0,F8e.toDate)(r,e==null?void 0:e.in);return(0,O8e.differenceInCalendarDays)(t,(0,L8e.startOfYear)(t))+1}});var bA=x(Nve=>{"use strict";Nve.getISOWeek=H8e;var j8e=pt(),z8e=cc(),B8e=hv(),q8e=K();function H8e(r,e){let t=(0,q8e.toDate)(r,e==null?void 0:e.in),n=+(0,z8e.startOfISOWeek)(t)-+(0,B8e.startOfISOWeekYear)(t);return Math.round(n/j8e.millisecondsInWeek)+1}});var Dx=x(Lve=>{"use strict";Lve.getWeekYear=W8e;var U8e=Hi(),Rve=je(),Ove=sl(),V8e=K();function W8e(r,e){var d,u,p,m,f,h,g,y;let t=(0,V8e.toDate)(r,e==null?void 0:e.in),n=t.getFullYear(),i=(0,U8e.getDefaultOptions)(),s=(y=(g=(m=(p=e==null?void 0:e.firstWeekContainsDate)!=null?p:(u=(d=e==null?void 0:e.locale)==null?void 0:d.options)==null?void 0:u.firstWeekContainsDate)!=null?m:i.firstWeekContainsDate)!=null?g:(h=(f=i.locale)==null?void 0:f.options)==null?void 0:h.firstWeekContainsDate)!=null?y:1,a=(0,Rve.constructFrom)((e==null?void 0:e.in)||r,0);a.setFullYear(n+1,0,s),a.setHours(0,0,0,0);let o=(0,Ove.startOfWeek)(a,e),l=(0,Rve.constructFrom)((e==null?void 0:e.in)||r,0);l.setFullYear(n,0,s),l.setHours(0,0,0,0);let c=(0,Ove.startOfWeek)(l,e);return+t>=+o?n+1:+t>=+c?n:n-1}});var TA=x(Fve=>{"use strict";Fve.startOfWeekYear=Q8e;var Y8e=Hi(),G8e=je(),K8e=Dx(),Z8e=sl();function Q8e(r,e){var o,l,c,d,u,p,m,f;let t=(0,Y8e.getDefaultOptions)(),n=(f=(m=(d=(c=e==null?void 0:e.firstWeekContainsDate)!=null?c:(l=(o=e==null?void 0:e.locale)==null?void 0:o.options)==null?void 0:l.firstWeekContainsDate)!=null?d:t.firstWeekContainsDate)!=null?m:(p=(u=t.locale)==null?void 0:u.options)==null?void 0:p.firstWeekContainsDate)!=null?f:1,i=(0,K8e.getWeekYear)(r,e),s=(0,G8e.constructFrom)((e==null?void 0:e.in)||r,0);return s.setFullYear(i,0,n),s.setHours(0,0,0,0),(0,Z8e.startOfWeek)(s,e)}});var kA=x($ve=>{"use strict";$ve.getWeek=rGe;var J8e=pt(),X8e=sl(),eGe=TA(),tGe=K();function rGe(r,e){let t=(0,tGe.toDate)(r,e==null?void 0:e.in),n=+(0,X8e.startOfWeek)(t,e)-+(0,eGe.startOfWeekYear)(t,e);return Math.round(n/J8e.millisecondsInWeek)+1}});var Uf=x(jve=>{"use strict";jve.addLeadingZeros=nGe;function nGe(r,e){let t=r<0?"-":"",n=Math.abs(r).toString().padStart(e,"0");return t+n}});var RB=x(NB=>{"use strict";NB.lightFormatters=void 0;var kp=Uf(),Sir=NB.lightFormatters={y(r,e){let t=r.getFullYear(),n=t>0?t:1-t;return(0,kp.addLeadingZeros)(e==="yy"?n%100:n,e.length)},M(r,e){let t=r.getMonth();return e==="M"?String(t+1):(0,kp.addLeadingZeros)(t+1,2)},d(r,e){return(0,kp.addLeadingZeros)(r.getDate(),e.length)},a(r,e){let t=r.getHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return t.toUpperCase();case"aaa":return t;case"aaaaa":return t[0];case"aaaa":default:return t==="am"?"a.m.":"p.m."}},h(r,e){return(0,kp.addLeadingZeros)(r.getHours()%12||12,e.length)},H(r,e){return(0,kp.addLeadingZeros)(r.getHours(),e.length)},m(r,e){return(0,kp.addLeadingZeros)(r.getMinutes(),e.length)},s(r,e){return(0,kp.addLeadingZeros)(r.getSeconds(),e.length)},S(r,e){let t=e.length,n=r.getMilliseconds(),i=Math.trunc(n*Math.pow(10,t-3));return(0,kp.addLeadingZeros)(i,e.length)}}});var qve=x(OB=>{"use strict";OB.formatters=void 0;var iGe=IB(),sGe=bA(),aGe=Tp(),oGe=kA(),lGe=Dx(),wn=Uf(),wp=RB(),yv={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},Eir=OB.formatters={G:function(r,e,t){let n=r.getFullYear()>0?1:0;switch(e){case"G":case"GG":case"GGG":return t.era(n,{width:"abbreviated"});case"GGGGG":return t.era(n,{width:"narrow"});case"GGGG":default:return t.era(n,{width:"wide"})}},y:function(r,e,t){if(e==="yo"){let n=r.getFullYear(),i=n>0?n:1-n;return t.ordinalNumber(i,{unit:"year"})}return wp.lightFormatters.y(r,e)},Y:function(r,e,t,n){let i=(0,lGe.getWeekYear)(r,n),s=i>0?i:1-i;if(e==="YY"){let a=s%100;return(0,wn.addLeadingZeros)(a,2)}return e==="Yo"?t.ordinalNumber(s,{unit:"year"}):(0,wn.addLeadingZeros)(s,e.length)},R:function(r,e){let t=(0,aGe.getISOWeekYear)(r);return(0,wn.addLeadingZeros)(t,e.length)},u:function(r,e){let t=r.getFullYear();return(0,wn.addLeadingZeros)(t,e.length)},Q:function(r,e,t){let n=Math.ceil((r.getMonth()+1)/3);switch(e){case"Q":return String(n);case"QQ":return(0,wn.addLeadingZeros)(n,2);case"Qo":return t.ordinalNumber(n,{unit:"quarter"});case"QQQ":return t.quarter(n,{width:"abbreviated",context:"formatting"});case"QQQQQ":return t.quarter(n,{width:"narrow",context:"formatting"});case"QQQQ":default:return t.quarter(n,{width:"wide",context:"formatting"})}},q:function(r,e,t){let n=Math.ceil((r.getMonth()+1)/3);switch(e){case"q":return String(n);case"qq":return(0,wn.addLeadingZeros)(n,2);case"qo":return t.ordinalNumber(n,{unit:"quarter"});case"qqq":return t.quarter(n,{width:"abbreviated",context:"standalone"});case"qqqqq":return t.quarter(n,{width:"narrow",context:"standalone"});case"qqqq":default:return t.quarter(n,{width:"wide",context:"standalone"})}},M:function(r,e,t){let n=r.getMonth();switch(e){case"M":case"MM":return wp.lightFormatters.M(r,e);case"Mo":return t.ordinalNumber(n+1,{unit:"month"});case"MMM":return t.month(n,{width:"abbreviated",context:"formatting"});case"MMMMM":return t.month(n,{width:"narrow",context:"formatting"});case"MMMM":default:return t.month(n,{width:"wide",context:"formatting"})}},L:function(r,e,t){let n=r.getMonth();switch(e){case"L":return String(n+1);case"LL":return(0,wn.addLeadingZeros)(n+1,2);case"Lo":return t.ordinalNumber(n+1,{unit:"month"});case"LLL":return t.month(n,{width:"abbreviated",context:"standalone"});case"LLLLL":return t.month(n,{width:"narrow",context:"standalone"});case"LLLL":default:return t.month(n,{width:"wide",context:"standalone"})}},w:function(r,e,t,n){let i=(0,oGe.getWeek)(r,n);return e==="wo"?t.ordinalNumber(i,{unit:"week"}):(0,wn.addLeadingZeros)(i,e.length)},I:function(r,e,t){let n=(0,sGe.getISOWeek)(r);return e==="Io"?t.ordinalNumber(n,{unit:"week"}):(0,wn.addLeadingZeros)(n,e.length)},d:function(r,e,t){return e==="do"?t.ordinalNumber(r.getDate(),{unit:"date"}):wp.lightFormatters.d(r,e)},D:function(r,e,t){let n=(0,iGe.getDayOfYear)(r);return e==="Do"?t.ordinalNumber(n,{unit:"dayOfYear"}):(0,wn.addLeadingZeros)(n,e.length)},E:function(r,e,t){let n=r.getDay();switch(e){case"E":case"EE":case"EEE":return t.day(n,{width:"abbreviated",context:"formatting"});case"EEEEE":return t.day(n,{width:"narrow",context:"formatting"});case"EEEEEE":return t.day(n,{width:"short",context:"formatting"});case"EEEE":default:return t.day(n,{width:"wide",context:"formatting"})}},e:function(r,e,t,n){let i=r.getDay(),s=(i-n.weekStartsOn+8)%7||7;switch(e){case"e":return String(s);case"ee":return(0,wn.addLeadingZeros)(s,2);case"eo":return t.ordinalNumber(s,{unit:"day"});case"eee":return t.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return t.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return t.day(i,{width:"short",context:"formatting"});case"eeee":default:return t.day(i,{width:"wide",context:"formatting"})}},c:function(r,e,t,n){let i=r.getDay(),s=(i-n.weekStartsOn+8)%7||7;switch(e){case"c":return String(s);case"cc":return(0,wn.addLeadingZeros)(s,e.length);case"co":return t.ordinalNumber(s,{unit:"day"});case"ccc":return t.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return t.day(i,{width:"narrow",context:"standalone"});case"cccccc":return t.day(i,{width:"short",context:"standalone"});case"cccc":default:return t.day(i,{width:"wide",context:"standalone"})}},i:function(r,e,t){let n=r.getDay(),i=n===0?7:n;switch(e){case"i":return String(i);case"ii":return(0,wn.addLeadingZeros)(i,e.length);case"io":return t.ordinalNumber(i,{unit:"day"});case"iii":return t.day(n,{width:"abbreviated",context:"formatting"});case"iiiii":return t.day(n,{width:"narrow",context:"formatting"});case"iiiiii":return t.day(n,{width:"short",context:"formatting"});case"iiii":default:return t.day(n,{width:"wide",context:"formatting"})}},a:function(r,e,t){let i=r.getHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return t.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"aaa":return t.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return t.dayPeriod(i,{width:"narrow",context:"formatting"});case"aaaa":default:return t.dayPeriod(i,{width:"wide",context:"formatting"})}},b:function(r,e,t){let n=r.getHours(),i;switch(n===12?i=yv.noon:n===0?i=yv.midnight:i=n/12>=1?"pm":"am",e){case"b":case"bb":return t.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"bbb":return t.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return t.dayPeriod(i,{width:"narrow",context:"formatting"});case"bbbb":default:return t.dayPeriod(i,{width:"wide",context:"formatting"})}},B:function(r,e,t){let n=r.getHours(),i;switch(n>=17?i=yv.evening:n>=12?i=yv.afternoon:n>=4?i=yv.morning:i=yv.night,e){case"B":case"BB":case"BBB":return t.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"BBBBB":return t.dayPeriod(i,{width:"narrow",context:"formatting"});case"BBBB":default:return t.dayPeriod(i,{width:"wide",context:"formatting"})}},h:function(r,e,t){if(e==="ho"){let n=r.getHours()%12;return n===0&&(n=12),t.ordinalNumber(n,{unit:"hour"})}return wp.lightFormatters.h(r,e)},H:function(r,e,t){return e==="Ho"?t.ordinalNumber(r.getHours(),{unit:"hour"}):wp.lightFormatters.H(r,e)},K:function(r,e,t){let n=r.getHours()%12;return e==="Ko"?t.ordinalNumber(n,{unit:"hour"}):(0,wn.addLeadingZeros)(n,e.length)},k:function(r,e,t){let n=r.getHours();return n===0&&(n=24),e==="ko"?t.ordinalNumber(n,{unit:"hour"}):(0,wn.addLeadingZeros)(n,e.length)},m:function(r,e,t){return e==="mo"?t.ordinalNumber(r.getMinutes(),{unit:"minute"}):wp.lightFormatters.m(r,e)},s:function(r,e,t){return e==="so"?t.ordinalNumber(r.getSeconds(),{unit:"second"}):wp.lightFormatters.s(r,e)},S:function(r,e){return wp.lightFormatters.S(r,e)},X:function(r,e,t){let n=r.getTimezoneOffset();if(n===0)return"Z";switch(e){case"X":return Bve(n);case"XXXX":case"XX":return Vf(n);case"XXXXX":case"XXX":default:return Vf(n,":")}},x:function(r,e,t){let n=r.getTimezoneOffset();switch(e){case"x":return Bve(n);case"xxxx":case"xx":return Vf(n);case"xxxxx":case"xxx":default:return Vf(n,":")}},O:function(r,e,t){let n=r.getTimezoneOffset();switch(e){case"O":case"OO":case"OOO":return"GMT"+zve(n,":");case"OOOO":default:return"GMT"+Vf(n,":")}},z:function(r,e,t){let n=r.getTimezoneOffset();switch(e){case"z":case"zz":case"zzz":return"GMT"+zve(n,":");case"zzzz":default:return"GMT"+Vf(n,":")}},t:function(r,e,t){let n=Math.trunc(+r/1e3);return(0,wn.addLeadingZeros)(n,e.length)},T:function(r,e,t){return(0,wn.addLeadingZeros)(+r,e.length)}};function zve(r,e=""){let t=r>0?"-":"+",n=Math.abs(r),i=Math.trunc(n/60),s=n%60;return s===0?t+String(i):t+String(i)+e+(0,wn.addLeadingZeros)(s,2)}function Bve(r,e){return r%60===0?(r>0?"-":"+")+(0,wn.addLeadingZeros)(Math.abs(r)/60,2):Vf(r,e)}function Vf(r,e=""){let t=r>0?"-":"+",n=Math.abs(r),i=(0,wn.addLeadingZeros)(Math.trunc(n/60),2),s=(0,wn.addLeadingZeros)(n%60,2);return t+i+e+s}});var FB=x(LB=>{"use strict";LB.longFormatters=void 0;var Hve=(r,e)=>{switch(r){case"P":return e.date({width:"short"});case"PP":return e.date({width:"medium"});case"PPP":return e.date({width:"long"});case"PPPP":default:return e.date({width:"full"})}},Uve=(r,e)=>{switch(r){case"p":return e.time({width:"short"});case"pp":return e.time({width:"medium"});case"ppp":return e.time({width:"long"});case"pppp":default:return e.time({width:"full"})}},cGe=(r,e)=>{let t=r.match(/(P+)(p+)?/)||[],n=t[1],i=t[2];if(!i)return Hve(r,e);let s;switch(n){case"P":s=e.dateTime({width:"short"});break;case"PP":s=e.dateTime({width:"medium"});break;case"PPP":s=e.dateTime({width:"long"});break;case"PPPP":default:s=e.dateTime({width:"full"});break}return s.replace("{{date}}",Hve(n,e)).replace("{{time}}",Uve(i,e))},Cir=LB.longFormatters={p:Uve,P:cGe}});var $B=x(wA=>{"use strict";wA.isProtectedDayOfYearToken=mGe;wA.isProtectedWeekYearToken=fGe;wA.warnOrThrowProtectedError=hGe;var dGe=/^D+$/,uGe=/^Y+$/,pGe=["D","DD","YY","YYYY"];function mGe(r){return dGe.test(r)}function fGe(r){return uGe.test(r)}function hGe(r,e,t){let n=gGe(r,e,t);if(console.warn(n),pGe.includes(r))throw new RangeError(n)}function gGe(r,e,t){let n=r[0]==="Y"?"years":"days of the month";return`Use \`${r.toLowerCase()}\` instead of \`${r}\` (in \`${e}\`) for formatting ${n} to the input \`${t}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}});var BB=x(Cx=>{"use strict";Cx.format=Cx.formatDate=DGe;Object.defineProperty(Cx,"formatters",{enumerable:!0,get:function(){return zB.formatters}});Object.defineProperty(Cx,"longFormatters",{enumerable:!0,get:function(){return Vve.longFormatters}});var yGe=Hf(),vGe=Hi(),zB=qve(),Vve=FB(),jB=$B(),bGe=$d(),TGe=K(),kGe=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,wGe=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,SGe=/^'([^]*?)'?$/,xGe=/''/g,EGe=/[a-zA-Z]/;function DGe(r,e,t){var d,u,p,m,f,h,g,y,k,T,w,S,E,C,D,A,N,V;let n=(0,vGe.getDefaultOptions)(),i=(u=(d=t==null?void 0:t.locale)!=null?d:n.locale)!=null?u:yGe.defaultLocale,s=(T=(k=(h=(f=t==null?void 0:t.firstWeekContainsDate)!=null?f:(m=(p=t==null?void 0:t.locale)==null?void 0:p.options)==null?void 0:m.firstWeekContainsDate)!=null?h:n.firstWeekContainsDate)!=null?k:(y=(g=n.locale)==null?void 0:g.options)==null?void 0:y.firstWeekContainsDate)!=null?T:1,a=(V=(N=(C=(E=t==null?void 0:t.weekStartsOn)!=null?E:(S=(w=t==null?void 0:t.locale)==null?void 0:w.options)==null?void 0:S.weekStartsOn)!=null?C:n.weekStartsOn)!=null?N:(A=(D=n.locale)==null?void 0:D.options)==null?void 0:A.weekStartsOn)!=null?V:0,o=(0,TGe.toDate)(r,t==null?void 0:t.in);if(!(0,bGe.isValid)(o))throw new RangeError("Invalid time value");let l=e.match(wGe).map(R=>{let I=R[0];if(I==="p"||I==="P"){let O=Vve.longFormatters[I];return O(R,i.formatLong)}return R}).join("").match(kGe).map(R=>{if(R==="''")return{isToken:!1,value:"'"};let I=R[0];if(I==="'")return{isToken:!1,value:CGe(R)};if(zB.formatters[I])return{isToken:!0,value:R};if(I.match(EGe))throw new RangeError("Format string contains an unescaped latin alphabet character `"+I+"`");return{isToken:!1,value:R}});i.localize.preprocessor&&(l=i.localize.preprocessor(o,l));let c={firstWeekContainsDate:s,weekStartsOn:a,locale:i};return l.map(R=>{if(!R.isToken)return R.value;let I=R.value;(!(t!=null&&t.useAdditionalWeekYearTokens)&&(0,jB.isProtectedWeekYearToken)(I)||!(t!=null&&t.useAdditionalDayOfYearTokens)&&(0,jB.isProtectedDayOfYearToken)(I))&&(0,jB.warnOrThrowProtectedError)(I,e,String(r));let O=zB.formatters[I[0]];return O(o,I,i.localize,c)}).join("")}function CGe(r){let e=r.match(SGe);return e?e[1].replace(xGe,"'"):r}});var qB=x(Yve=>{"use strict";Yve.formatDistance=RGe;var PGe=Hf(),_Ge=Hi(),Wve=Ld(),MGe=br(),AGe=qf(),vv=pt(),IGe=kx(),NGe=wx();function RGe(r,e,t){var f,h;let n=(0,_Ge.getDefaultOptions)(),i=(h=(f=t==null?void 0:t.locale)!=null?f:n.locale)!=null?h:PGe.defaultLocale,s=2520,a=(0,AGe.compareAsc)(r,e);if(isNaN(a))throw new RangeError("Invalid time value");let o=Object.assign({},t,{addSuffix:t==null?void 0:t.addSuffix,comparison:a}),[l,c]=(0,MGe.normalizeDates)(t==null?void 0:t.in,...a>0?[e,r]:[r,e]),d=(0,NGe.differenceInSeconds)(c,l),u=((0,Wve.getTimezoneOffsetInMilliseconds)(c)-(0,Wve.getTimezoneOffsetInMilliseconds)(l))/1e3,p=Math.round((d-u)/60),m;if(p<2)return t!=null&&t.includeSeconds?d<5?i.formatDistance("lessThanXSeconds",5,o):d<10?i.formatDistance("lessThanXSeconds",10,o):d<20?i.formatDistance("lessThanXSeconds",20,o):d<40?i.formatDistance("halfAMinute",0,o):d<60?i.formatDistance("lessThanXMinutes",1,o):i.formatDistance("xMinutes",1,o):p===0?i.formatDistance("lessThanXMinutes",1,o):i.formatDistance("xMinutes",p,o);if(p<45)return i.formatDistance("xMinutes",p,o);if(p<90)return i.formatDistance("aboutXHours",1,o);if(p<vv.minutesInDay){let g=Math.round(p/60);return i.formatDistance("aboutXHours",g,o)}else{if(p<s)return i.formatDistance("xDays",1,o);if(p<vv.minutesInMonth){let g=Math.round(p/vv.minutesInDay);return i.formatDistance("xDays",g,o)}else if(p<vv.minutesInMonth*2)return m=Math.round(p/vv.minutesInMonth),i.formatDistance("aboutXMonths",m,o)}if(m=(0,IGe.differenceInMonths)(c,l),m<12){let g=Math.round(p/vv.minutesInMonth);return i.formatDistance("xMonths",g,o)}else{let g=m%12,y=Math.trunc(m/12);return g<3?i.formatDistance("aboutXYears",y,o):g<9?i.formatDistance("overXYears",y,o):i.formatDistance("almostXYears",y+1,o)}}});var HB=x(Kve=>{"use strict";Kve.formatDistanceStrict=zGe;var OGe=Hf(),LGe=Hi(),FGe=jd(),Gve=Ld(),$Ge=br(),jGe=qf(),Sp=pt();function zGe(r,e,t){var g,y,k;let n=(0,LGe.getDefaultOptions)(),i=(y=(g=t==null?void 0:t.locale)!=null?g:n.locale)!=null?y:OGe.defaultLocale,s=(0,jGe.compareAsc)(r,e);if(isNaN(s))throw new RangeError("Invalid time value");let a=Object.assign({},t,{addSuffix:t==null?void 0:t.addSuffix,comparison:s}),[o,l]=(0,$Ge.normalizeDates)(t==null?void 0:t.in,...s>0?[e,r]:[r,e]),c=(0,FGe.getRoundingMethod)((k=t==null?void 0:t.roundingMethod)!=null?k:"round"),d=l.getTime()-o.getTime(),u=d/Sp.millisecondsInMinute,p=(0,Gve.getTimezoneOffsetInMilliseconds)(l)-(0,Gve.getTimezoneOffsetInMilliseconds)(o),m=(d-p)/Sp.millisecondsInMinute,f=t==null?void 0:t.unit,h;if(f?h=f:u<1?h="second":u<60?h="minute":u<Sp.minutesInDay?h="hour":m<Sp.minutesInMonth?h="day":m<Sp.minutesInYear?h="month":h="year",h==="second"){let T=c(d/1e3);return i.formatDistance("xSeconds",T,a)}else if(h==="minute"){let T=c(u);return i.formatDistance("xMinutes",T,a)}else if(h==="hour"){let T=c(u/60);return i.formatDistance("xHours",T,a)}else if(h==="day"){let T=c(m/Sp.minutesInDay);return i.formatDistance("xDays",T,a)}else if(h==="month"){let T=c(m/Sp.minutesInMonth);return T===12&&f!=="month"?i.formatDistance("xYears",1,a):i.formatDistance("xMonths",T,a)}else{let T=c(m/Sp.minutesInYear);return i.formatDistance("xYears",T,a)}}});var Qve=x(Zve=>{"use strict";Zve.formatDistanceToNow=HGe;var BGe=Un(),qGe=qB();function HGe(r,e){return(0,qGe.formatDistance)(r,(0,BGe.constructNow)(r),e)}});var Xve=x(Jve=>{"use strict";Jve.formatDistanceToNowStrict=WGe;var UGe=Un(),VGe=HB();function WGe(r,e){return(0,VGe.formatDistanceStrict)(r,(0,UGe.constructNow)(r),e)}});var tbe=x(ebe=>{"use strict";ebe.formatDuration=ZGe;var YGe=Hf(),GGe=Hi(),KGe=["years","months","weeks","days","hours","minutes","seconds"];function ZGe(r,e){var l,c,d,u,p;let t=(0,GGe.getDefaultOptions)(),n=(c=(l=e==null?void 0:e.locale)!=null?l:t.locale)!=null?c:YGe.defaultLocale,i=(d=e==null?void 0:e.format)!=null?d:KGe,s=(u=e==null?void 0:e.zero)!=null?u:!1,a=(p=e==null?void 0:e.delimiter)!=null?p:" ";return n.formatDistance?i.reduce((m,f)=>{let h=`x${f.replace(/(^.)/,y=>y.toUpperCase())}`,g=r[f];return g!==void 0&&(s||r[f])?m.concat(n.formatDistance(h,g)):m},[]).join(a):""}});var nbe=x(rbe=>{"use strict";rbe.formatISO=JGe;var xp=Uf(),QGe=K();function JGe(r,e){var c,d;let t=(0,QGe.toDate)(r,e==null?void 0:e.in);if(isNaN(+t))throw new RangeError("Invalid time value");let n=(c=e==null?void 0:e.format)!=null?c:"extended",i=(d=e==null?void 0:e.representation)!=null?d:"complete",s="",a="",o=n==="extended"?"-":"",l=n==="extended"?":":"";if(i!=="time"){let u=(0,xp.addLeadingZeros)(t.getDate(),2),p=(0,xp.addLeadingZeros)(t.getMonth()+1,2);s=`${(0,xp.addLeadingZeros)(t.getFullYear(),4)}${o}${p}${o}${u}`}if(i!=="date"){let u=t.getTimezoneOffset();if(u!==0){let y=Math.abs(u),k=(0,xp.addLeadingZeros)(Math.trunc(y/60),2),T=(0,xp.addLeadingZeros)(y%60,2);a=`${u<0?"+":"-"}${k}:${T}`}else a="Z";let p=(0,xp.addLeadingZeros)(t.getHours(),2),m=(0,xp.addLeadingZeros)(t.getMinutes(),2),f=(0,xp.addLeadingZeros)(t.getSeconds(),2),h=s===""?"":"T",g=[p,m,f].join(l);s=`${s}${h}${g}${a}`}return s}});var sbe=x(ibe=>{"use strict";ibe.formatISO9075=t7e;var bv=Uf(),XGe=$d(),e7e=K();function t7e(r,e){var l,c;let t=(0,e7e.toDate)(r,e==null?void 0:e.in);if(!(0,XGe.isValid)(t))throw new RangeError("Invalid time value");let n=(l=e==null?void 0:e.format)!=null?l:"extended",i=(c=e==null?void 0:e.representation)!=null?c:"complete",s="",a=n==="extended"?"-":"",o=n==="extended"?":":"";if(i!=="time"){let d=(0,bv.addLeadingZeros)(t.getDate(),2),u=(0,bv.addLeadingZeros)(t.getMonth()+1,2);s=`${(0,bv.addLeadingZeros)(t.getFullYear(),4)}${a}${u}${a}${d}`}if(i!=="date"){let d=(0,bv.addLeadingZeros)(t.getHours(),2),u=(0,bv.addLeadingZeros)(t.getMinutes(),2),p=(0,bv.addLeadingZeros)(t.getSeconds(),2);s=`${s}${s===""?"":" "}${d}${o}${u}${o}${p}`}return s}});var obe=x(abe=>{"use strict";abe.formatISODuration=r7e;function r7e(r){let{years:e=0,months:t=0,days:n=0,hours:i=0,minutes:s=0,seconds:a=0}=r;return`P${e}Y${t}M${n}DT${i}H${s}M${a}S`}});var cbe=x(lbe=>{"use strict";lbe.formatRFC3339=s7e;var Ep=Uf(),n7e=$d(),i7e=K();function s7e(r,e){var m;let t=(0,i7e.toDate)(r,e==null?void 0:e.in);if(!(0,n7e.isValid)(t))throw new RangeError("Invalid time value");let n=(m=e==null?void 0:e.fractionDigits)!=null?m:0,i=(0,Ep.addLeadingZeros)(t.getDate(),2),s=(0,Ep.addLeadingZeros)(t.getMonth()+1,2),a=t.getFullYear(),o=(0,Ep.addLeadingZeros)(t.getHours(),2),l=(0,Ep.addLeadingZeros)(t.getMinutes(),2),c=(0,Ep.addLeadingZeros)(t.getSeconds(),2),d="";if(n>0){let f=t.getMilliseconds(),h=Math.trunc(f*Math.pow(10,n-3));d="."+(0,Ep.addLeadingZeros)(h,n)}let u="",p=t.getTimezoneOffset();if(p!==0){let f=Math.abs(p),h=(0,Ep.addLeadingZeros)(Math.trunc(f/60),2),g=(0,Ep.addLeadingZeros)(f%60,2);u=`${p<0?"+":"-"}${h}:${g}`}else u="Z";return`${a}-${s}-${i}T${o}:${l}:${c}${d}${u}`}});var ube=x(dbe=>{"use strict";dbe.formatRFC7231=d7e;var SA=Uf(),a7e=$d(),o7e=K(),l7e=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],c7e=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function d7e(r){let e=(0,o7e.toDate)(r);if(!(0,a7e.isValid)(e))throw new RangeError("Invalid time value");let t=l7e[e.getUTCDay()],n=(0,SA.addLeadingZeros)(e.getUTCDate(),2),i=c7e[e.getUTCMonth()],s=e.getUTCFullYear(),a=(0,SA.addLeadingZeros)(e.getUTCHours(),2),o=(0,SA.addLeadingZeros)(e.getUTCMinutes(),2),l=(0,SA.addLeadingZeros)(e.getUTCSeconds(),2);return`${t}, ${n} ${i} ${s} ${a}:${o}:${l} GMT`}});var mbe=x(pbe=>{"use strict";pbe.formatRelative=g7e;var u7e=Hf(),p7e=Hi(),m7e=br(),f7e=Fd(),h7e=BB();function g7e(r,e,t){var u,p,m,f,h,g,y,k,T,w;let[n,i]=(0,m7e.normalizeDates)(t==null?void 0:t.in,r,e),s=(0,p7e.getDefaultOptions)(),a=(p=(u=t==null?void 0:t.locale)!=null?u:s.locale)!=null?p:u7e.defaultLocale,o=(w=(T=(g=(h=t==null?void 0:t.weekStartsOn)!=null?h:(f=(m=t==null?void 0:t.locale)==null?void 0:m.options)==null?void 0:f.weekStartsOn)!=null?g:s.weekStartsOn)!=null?T:(k=(y=s.locale)==null?void 0:y.options)==null?void 0:k.weekStartsOn)!=null?w:0,l=(0,f7e.differenceInCalendarDays)(n,i);if(isNaN(l))throw new RangeError("Invalid time value");let c;l<-6?c="other":l<-1?c="lastWeek":l<0?c="yesterday":l<1?c="today":l<2?c="tomorrow":l<7?c="nextWeek":c="other";let d=a.formatRelative(c,n,i,{locale:a,weekStartsOn:o});return(0,h7e.format)(n,d,{locale:a,weekStartsOn:o})}});var hbe=x(fbe=>{"use strict";fbe.fromUnixTime=v7e;var y7e=K();function v7e(r,e){return(0,y7e.toDate)(r*1e3,e==null?void 0:e.in)}});var UB=x(gbe=>{"use strict";gbe.getDate=T7e;var b7e=K();function T7e(r,e){return(0,b7e.toDate)(r,e==null?void 0:e.in).getDate()}});var Px=x(ybe=>{"use strict";ybe.getDay=w7e;var k7e=K();function w7e(r,e){return(0,k7e.toDate)(r,e==null?void 0:e.in).getDay()}});var VB=x(vbe=>{"use strict";vbe.getDaysInMonth=E7e;var S7e=je(),x7e=K();function E7e(r,e){let t=(0,x7e.toDate)(r,e==null?void 0:e.in),n=t.getFullYear(),i=t.getMonth(),s=(0,S7e.constructFrom)(t,0);return s.setFullYear(n,i+1,0),s.setHours(0,0,0,0),s.getDate()}});var WB=x(bbe=>{"use strict";bbe.isLeapYear=C7e;var D7e=K();function C7e(r,e){let n=(0,D7e.toDate)(r,e==null?void 0:e.in).getFullYear();return n%400===0||n%4===0&&n%100!==0}});var kbe=x(Tbe=>{"use strict";Tbe.getDaysInYear=M7e;var P7e=WB(),_7e=K();function M7e(r,e){let t=(0,_7e.toDate)(r,e==null?void 0:e.in);return Number.isNaN(+t)?NaN:(0,P7e.isLeapYear)(t)?366:365}});var Sbe=x(wbe=>{"use strict";wbe.getDecade=I7e;var A7e=K();function I7e(r,e){let n=(0,A7e.toDate)(r,e==null?void 0:e.in).getFullYear();return Math.floor(n/10)*10}});var YB=x(xbe=>{"use strict";xbe.getDefaultOptions=R7e;var N7e=Hi();function R7e(){return Object.assign({},(0,N7e.getDefaultOptions)())}});var Dbe=x(Ebe=>{"use strict";Ebe.getHours=L7e;var O7e=K();function L7e(r,e){return(0,O7e.toDate)(r,e==null?void 0:e.in).getHours()}});var GB=x(Cbe=>{"use strict";Cbe.getISODay=$7e;var F7e=K();function $7e(r,e){let t=(0,F7e.toDate)(r,e==null?void 0:e.in).getDay();return t===0?7:t}});var Mbe=x(_be=>{"use strict";_be.getISOWeeksInYear=B7e;var j7e=Tx(),z7e=pt(),Pbe=hv();function B7e(r,e){let t=(0,Pbe.startOfISOWeekYear)(r,e),i=+(0,Pbe.startOfISOWeekYear)((0,j7e.addWeeks)(t,60))-+t;return Math.round(i/z7e.millisecondsInWeek)}});var Ibe=x(Abe=>{"use strict";Abe.getMilliseconds=H7e;var q7e=K();function H7e(r){return(0,q7e.toDate)(r).getMilliseconds()}});var Rbe=x(Nbe=>{"use strict";Nbe.getMinutes=V7e;var U7e=K();function V7e(r,e){return(0,U7e.toDate)(r,e==null?void 0:e.in).getMinutes()}});var Lbe=x(Obe=>{"use strict";Obe.getMonth=Y7e;var W7e=K();function Y7e(r,e){return(0,W7e.toDate)(r,e==null?void 0:e.in).getMonth()}});var jbe=x($be=>{"use strict";$be.getOverlappingDaysInIntervals=K7e;var Fbe=Ld(),G7e=pt(),xA=K();function K7e(r,e){let[t,n]=[+(0,xA.toDate)(r.start),+(0,xA.toDate)(r.end)].sort((u,p)=>u-p),[i,s]=[+(0,xA.toDate)(e.start),+(0,xA.toDate)(e.end)].sort((u,p)=>u-p);if(!(t<s&&i<n))return 0;let o=i<t?t:i,l=o-(0,Fbe.getTimezoneOffsetInMilliseconds)(o),c=s>n?n:s,d=c-(0,Fbe.getTimezoneOffsetInMilliseconds)(c);return Math.ceil((d-l)/G7e.millisecondsInDay)}});var Bbe=x(zbe=>{"use strict";zbe.getSeconds=Q7e;var Z7e=K();function Q7e(r){return(0,Z7e.toDate)(r).getSeconds()}});var Hbe=x(qbe=>{"use strict";qbe.getTime=X7e;var J7e=K();function X7e(r){return+(0,J7e.toDate)(r)}});var Vbe=x(Ube=>{"use strict";Ube.getUnixTime=tKe;var eKe=K();function tKe(r){return Math.trunc(+(0,eKe.toDate)(r)/1e3)}});var Ybe=x(Wbe=>{"use strict";Wbe.getWeekOfMonth=oKe;var rKe=Hi(),nKe=UB(),iKe=Px(),sKe=Sx(),aKe=K();function oKe(r,e){var l,c,d,u,p,m,f,h;let t=(0,rKe.getDefaultOptions)(),n=(h=(f=(u=(d=e==null?void 0:e.weekStartsOn)!=null?d:(c=(l=e==null?void 0:e.locale)==null?void 0:l.options)==null?void 0:c.weekStartsOn)!=null?u:t.weekStartsOn)!=null?f:(m=(p=t.locale)==null?void 0:p.options)==null?void 0:m.weekStartsOn)!=null?h:0,i=(0,nKe.getDate)((0,aKe.toDate)(r,e==null?void 0:e.in));if(isNaN(i))return NaN;let s=(0,iKe.getDay)((0,sKe.startOfMonth)(r,e)),a=n-s;a<=0&&(a+=7);let o=i-a;return Math.ceil(o/7)+1}});var KB=x(Kbe=>{"use strict";Kbe.lastDayOfMonth=lKe;var Gbe=K();function lKe(r,e){let t=(0,Gbe.toDate)(r,e==null?void 0:e.in),n=t.getMonth();return t.setFullYear(t.getFullYear(),n+1,0),t.setHours(0,0,0,0),(0,Gbe.toDate)(t,e==null?void 0:e.in)}});var Qbe=x(Zbe=>{"use strict";Zbe.getWeeksInMonth=mKe;var cKe=aA(),dKe=KB(),uKe=Sx(),pKe=K();function mKe(r,e){let t=(0,pKe.toDate)(r,e==null?void 0:e.in);return(0,cKe.differenceInCalendarWeeks)((0,dKe.lastDayOfMonth)(t,e),(0,uKe.startOfMonth)(t,e),e)+1}});var Xbe=x(Jbe=>{"use strict";Jbe.getYear=hKe;var fKe=K();function hKe(r,e){return(0,fKe.toDate)(r,e==null?void 0:e.in).getFullYear()}});var tTe=x(eTe=>{"use strict";eTe.hoursToMilliseconds=yKe;var gKe=pt();function yKe(r){return Math.trunc(r*gKe.millisecondsInHour)}});var nTe=x(rTe=>{"use strict";rTe.hoursToMinutes=bKe;var vKe=pt();function bKe(r){return Math.trunc(r*vKe.minutesInHour)}});var sTe=x(iTe=>{"use strict";iTe.hoursToSeconds=kKe;var TKe=pt();function kKe(r){return Math.trunc(r*TKe.secondsInHour)}});var oTe=x(aTe=>{"use strict";aTe.interval=SKe;var wKe=br();function SKe(r,e,t){let[n,i]=(0,wKe.normalizeDates)(t==null?void 0:t.in,r,e);if(isNaN(+n))throw new TypeError("Start date is invalid");if(isNaN(+i))throw new TypeError("End date is invalid");if(t!=null&&t.assertPositive&&+n>+i)throw new TypeError("End date must be after start date");return{start:n,end:i}}});var cTe=x(lTe=>{"use strict";lTe.intervalToDuration=AKe;var xKe=dc(),_x=eB(),EKe=lA(),DKe=cA(),CKe=uA(),PKe=kx(),_Ke=wx(),MKe=kB();function AKe(r,e){let{start:t,end:n}=(0,xKe.normalizeInterval)(e==null?void 0:e.in,r),i={},s=(0,MKe.differenceInYears)(n,t);s&&(i.years=s);let a=(0,_x.add)(t,{years:i.years}),o=(0,PKe.differenceInMonths)(n,a);o&&(i.months=o);let l=(0,_x.add)(a,{months:i.months}),c=(0,EKe.differenceInDays)(n,l);c&&(i.days=c);let d=(0,_x.add)(l,{days:i.days}),u=(0,DKe.differenceInHours)(n,d);u&&(i.hours=u);let p=(0,_x.add)(d,{hours:i.hours}),m=(0,CKe.differenceInMinutes)(n,p);m&&(i.minutes=m);let f=(0,_x.add)(p,{minutes:i.minutes}),h=(0,_Ke.differenceInSeconds)(n,f);return h&&(i.seconds=h),i}});var uTe=x(dTe=>{"use strict";dTe.intlFormat=NKe;var IKe=K();function NKe(r,e,t){let n;return RKe(e)?n=e:t=e,new Intl.DateTimeFormat(t==null?void 0:t.locale,n).format((0,IKe.toDate)(r))}function RKe(r){return r!==void 0&&!("locale"in r)}});var yTe=x(gTe=>{"use strict";gTe.intlFormatDistance=LKe;var OKe=br(),Wf=pt(),ZB=Fd(),pTe=sA(),QB=yB(),mTe=aA(),JB=oA(),fTe=cA(),hTe=uA(),XB=wx();function LKe(r,e,t){let n=0,i,[s,a]=(0,OKe.normalizeDates)(t==null?void 0:t.in,r,e);if(t!=null&&t.unit)i=t==null?void 0:t.unit,i==="second"?n=(0,XB.differenceInSeconds)(s,a):i==="minute"?n=(0,hTe.differenceInMinutes)(s,a):i==="hour"?n=(0,fTe.differenceInHours)(s,a):i==="day"?n=(0,ZB.differenceInCalendarDays)(s,a):i==="week"?n=(0,mTe.differenceInCalendarWeeks)(s,a):i==="month"?n=(0,pTe.differenceInCalendarMonths)(s,a):i==="quarter"?n=(0,QB.differenceInCalendarQuarters)(s,a):i==="year"&&(n=(0,JB.differenceInCalendarYears)(s,a));else{let l=(0,XB.differenceInSeconds)(s,a);Math.abs(l)<Wf.secondsInMinute?(n=(0,XB.differenceInSeconds)(s,a),i="second"):Math.abs(l)<Wf.secondsInHour?(n=(0,hTe.differenceInMinutes)(s,a),i="minute"):Math.abs(l)<Wf.secondsInDay&&Math.abs((0,ZB.differenceInCalendarDays)(s,a))<1?(n=(0,fTe.differenceInHours)(s,a),i="hour"):Math.abs(l)<Wf.secondsInWeek&&(n=(0,ZB.differenceInCalendarDays)(s,a))&&Math.abs(n)<7?i="day":Math.abs(l)<Wf.secondsInMonth?(n=(0,mTe.differenceInCalendarWeeks)(s,a),i="week"):Math.abs(l)<Wf.secondsInQuarter?(n=(0,pTe.differenceInCalendarMonths)(s,a),i="month"):Math.abs(l)<Wf.secondsInYear&&(0,QB.differenceInCalendarQuarters)(s,a)<4?(n=(0,QB.differenceInCalendarQuarters)(s,a),i="quarter"):(n=(0,JB.differenceInCalendarYears)(s,a),i="year")}return new Intl.RelativeTimeFormat(t==null?void 0:t.locale,{numeric:"auto",...t}).format(n,i)}});var TTe=x(bTe=>{"use strict";bTe.isAfter=FKe;var vTe=K();function FKe(r,e){return+(0,vTe.toDate)(r)>+(0,vTe.toDate)(e)}});var STe=x(wTe=>{"use strict";wTe.isBefore=$Ke;var kTe=K();function $Ke(r,e){return+(0,kTe.toDate)(r)<+(0,kTe.toDate)(e)}});var DTe=x(ETe=>{"use strict";ETe.isEqual=jKe;var xTe=K();function jKe(r,e){return+(0,xTe.toDate)(r)==+(0,xTe.toDate)(e)}});var PTe=x(CTe=>{"use strict";CTe.isExists=zKe;function zKe(r,e,t){let n=new Date(r,e,t);return n.getFullYear()===r&&n.getMonth()===e&&n.getDate()===t}});var MTe=x(_Te=>{"use strict";_Te.isFirstDayOfMonth=qKe;var BKe=K();function qKe(r,e){return(0,BKe.toDate)(r,e==null?void 0:e.in).getDate()===1}});var ITe=x(ATe=>{"use strict";ATe.isFriday=UKe;var HKe=K();function UKe(r,e){return(0,HKe.toDate)(r,e==null?void 0:e.in).getDay()===5}});var RTe=x(NTe=>{"use strict";NTe.isFuture=WKe;var VKe=K();function WKe(r){return+(0,VKe.toDate)(r)>Date.now()}});var eq=x(OTe=>{"use strict";OTe.transpose=GKe;var YKe=je();function GKe(r,e){let t=KKe(e)?new e(0):(0,YKe.constructFrom)(e,0);return t.setFullYear(r.getFullYear(),r.getMonth(),r.getDate()),t.setHours(r.getHours(),r.getMinutes(),r.getSeconds(),r.getMilliseconds()),t}function KKe(r){var e;return typeof r=="function"&&((e=r.prototype)==null?void 0:e.constructor)===r}});var nq=x(Yf=>{"use strict";Yf.ValueSetter=Yf.Setter=Yf.DateTimezoneSetter=void 0;var LTe=je(),ZKe=eq(),QKe=10,Mx=class{constructor(){M(this,"subPriority",0)}validate(e,t){return!0}};Yf.Setter=Mx;var tq=class extends Mx{constructor(e,t,n,i,s){super(),this.value=e,this.validateValue=t,this.setValue=n,this.priority=i,s&&(this.subPriority=s)}validate(e,t){return this.validateValue(e,this.value,t)}set(e,t,n){return this.setValue(e,t,this.value,n)}};Yf.ValueSetter=tq;var rq=class extends Mx{constructor(t,n){super();M(this,"priority",QKe);M(this,"subPriority",-1);this.context=t||(i=>(0,LTe.constructFrom)(n,i))}set(t,n){return n.timestampIsSet?t:(0,LTe.constructFrom)(t,(0,ZKe.transpose)(t,this.context))}};Yf.DateTimezoneSetter=rq});var or=x(sq=>{"use strict";sq.Parser=void 0;var JKe=nq(),iq=class{run(e,t,n,i){let s=this.parse(e,t,n,i);return s?{setter:new JKe.ValueSetter(s.value,this.validate,this.set,this.priority,this.subPriority),rest:s.rest}:null}validate(e,t,n){return!0}};sq.Parser=iq});var FTe=x(oq=>{"use strict";oq.EraParser=void 0;var XKe=or(),aq=class extends XKe.Parser{constructor(){super(...arguments);M(this,"priority",140);M(this,"incompatibleTokens",["R","u","t","T"])}parse(t,n,i){switch(n){case"G":case"GG":case"GGG":return i.era(t,{width:"abbreviated"})||i.era(t,{width:"narrow"});case"GGGGG":return i.era(t,{width:"narrow"});case"GGGG":default:return i.era(t,{width:"wide"})||i.era(t,{width:"abbreviated"})||i.era(t,{width:"narrow"})}}set(t,n,i){return n.era=i,t.setFullYear(i,0,1),t.setHours(0,0,0,0),t}};oq.EraParser=aq});var Ui=x(Ax=>{"use strict";Ax.timezonePatterns=Ax.numericPatterns=void 0;var Msr=Ax.numericPatterns={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},Asr=Ax.timezonePatterns={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/}});var hr=x(uc=>{"use strict";uc.dayPeriodEnumToHours=sZe;uc.isLeapYearIndex=oZe;uc.mapValue=eZe;uc.normalizeTwoDigitYear=aZe;uc.parseAnyDigitsSigned=rZe;uc.parseNDigits=nZe;uc.parseNDigitsSigned=iZe;uc.parseNumericPattern=ho;uc.parseTimezonePattern=tZe;var lq=pt(),zd=Ui();function eZe(r,e){return r&&{value:e(r.value),rest:r.rest}}function ho(r,e){let t=e.match(r);return t?{value:parseInt(t[0],10),rest:e.slice(t[0].length)}:null}function tZe(r,e){let t=e.match(r);if(!t)return null;if(t[0]==="Z")return{value:0,rest:e.slice(1)};let n=t[1]==="+"?1:-1,i=t[2]?parseInt(t[2],10):0,s=t[3]?parseInt(t[3],10):0,a=t[5]?parseInt(t[5],10):0;return{value:n*(i*lq.millisecondsInHour+s*lq.millisecondsInMinute+a*lq.millisecondsInSecond),rest:e.slice(t[0].length)}}function rZe(r){return ho(zd.numericPatterns.anyDigitsSigned,r)}function nZe(r,e){switch(r){case 1:return ho(zd.numericPatterns.singleDigit,e);case 2:return ho(zd.numericPatterns.twoDigits,e);case 3:return ho(zd.numericPatterns.threeDigits,e);case 4:return ho(zd.numericPatterns.fourDigits,e);default:return ho(new RegExp("^\\d{1,"+r+"}"),e)}}function iZe(r,e){switch(r){case 1:return ho(zd.numericPatterns.singleDigitSigned,e);case 2:return ho(zd.numericPatterns.twoDigitsSigned,e);case 3:return ho(zd.numericPatterns.threeDigitsSigned,e);case 4:return ho(zd.numericPatterns.fourDigitsSigned,e);default:return ho(new RegExp("^-?\\d{1,"+r+"}"),e)}}function sZe(r){switch(r){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;case"am":case"midnight":case"night":default:return 0}}function aZe(r,e){let t=e>0,n=t?e:1-e,i;if(n<=50)i=r||100;else{let s=n+50,a=Math.trunc(s/100)*100,o=r>=s%100;i=r+a-(o?100:0)}return t?i:1-i}function oZe(r){return r%400===0||r%4===0&&r%100!==0}});var $Te=x(dq=>{"use strict";dq.YearParser=void 0;var lZe=or(),Tv=hr(),cq=class extends lZe.Parser{constructor(){super(...arguments);M(this,"priority",130);M(this,"incompatibleTokens",["Y","R","u","w","I","i","e","c","t","T"])}parse(t,n,i){let s=a=>({year:a,isTwoDigitYear:n==="yy"});switch(n){case"y":return(0,Tv.mapValue)((0,Tv.parseNDigits)(4,t),s);case"yo":return(0,Tv.mapValue)(i.ordinalNumber(t,{unit:"year"}),s);default:return(0,Tv.mapValue)((0,Tv.parseNDigits)(n.length,t),s)}}validate(t,n){return n.isTwoDigitYear||n.year>0}set(t,n,i){let s=t.getFullYear();if(i.isTwoDigitYear){let o=(0,Tv.normalizeTwoDigitYear)(i.year,s);return t.setFullYear(o,0,1),t.setHours(0,0,0,0),t}let a=!("era"in n)||n.era===1?i.year:1-i.year;return t.setFullYear(a,0,1),t.setHours(0,0,0,0),t}};dq.YearParser=cq});var zTe=x(pq=>{"use strict";pq.LocalWeekYearParser=void 0;var cZe=Dx(),jTe=sl(),dZe=or(),kv=hr(),uq=class extends dZe.Parser{constructor(){super(...arguments);M(this,"priority",130);M(this,"incompatibleTokens",["y","R","u","Q","q","M","L","I","d","D","i","t","T"])}parse(t,n,i){let s=a=>({year:a,isTwoDigitYear:n==="YY"});switch(n){case"Y":return(0,kv.mapValue)((0,kv.parseNDigits)(4,t),s);case"Yo":return(0,kv.mapValue)(i.ordinalNumber(t,{unit:"year"}),s);default:return(0,kv.mapValue)((0,kv.parseNDigits)(n.length,t),s)}}validate(t,n){return n.isTwoDigitYear||n.year>0}set(t,n,i,s){let a=(0,cZe.getWeekYear)(t,s);if(i.isTwoDigitYear){let l=(0,kv.normalizeTwoDigitYear)(i.year,a);return t.setFullYear(l,0,s.firstWeekContainsDate),t.setHours(0,0,0,0),(0,jTe.startOfWeek)(t,s)}let o=!("era"in n)||n.era===1?i.year:1-i.year;return t.setFullYear(o,0,s.firstWeekContainsDate),t.setHours(0,0,0,0),(0,jTe.startOfWeek)(t,s)}};pq.LocalWeekYearParser=uq});var qTe=x(fq=>{"use strict";fq.ISOWeekYearParser=void 0;var uZe=cc(),pZe=je(),mZe=or(),BTe=hr(),mq=class extends mZe.Parser{constructor(){super(...arguments);M(this,"priority",130);M(this,"incompatibleTokens",["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"])}parse(t,n){return n==="R"?(0,BTe.parseNDigitsSigned)(4,t):(0,BTe.parseNDigitsSigned)(n.length,t)}set(t,n,i){let s=(0,pZe.constructFrom)(t,0);return s.setFullYear(i,0,4),s.setHours(0,0,0,0),(0,uZe.startOfISOWeek)(s)}};fq.ISOWeekYearParser=mq});var UTe=x(gq=>{"use strict";gq.ExtendedYearParser=void 0;var fZe=or(),HTe=hr(),hq=class extends fZe.Parser{constructor(){super(...arguments);M(this,"priority",130);M(this,"incompatibleTokens",["G","y","Y","R","w","I","i","e","c","t","T"])}parse(t,n){return n==="u"?(0,HTe.parseNDigitsSigned)(4,t):(0,HTe.parseNDigitsSigned)(n.length,t)}set(t,n,i){return t.setFullYear(i,0,1),t.setHours(0,0,0,0),t}};gq.ExtendedYearParser=hq});var VTe=x(vq=>{"use strict";vq.QuarterParser=void 0;var hZe=or(),gZe=hr(),yq=class extends hZe.Parser{constructor(){super(...arguments);M(this,"priority",120);M(this,"incompatibleTokens",["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"])}parse(t,n,i){switch(n){case"Q":case"QQ":return(0,gZe.parseNDigits)(n.length,t);case"Qo":return i.ordinalNumber(t,{unit:"quarter"});case"QQQ":return i.quarter(t,{width:"abbreviated",context:"formatting"})||i.quarter(t,{width:"narrow",context:"formatting"});case"QQQQQ":return i.quarter(t,{width:"narrow",context:"formatting"});case"QQQQ":default:return i.quarter(t,{width:"wide",context:"formatting"})||i.quarter(t,{width:"abbreviated",context:"formatting"})||i.quarter(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=1&&n<=4}set(t,n,i){return t.setMonth((i-1)*3,1),t.setHours(0,0,0,0),t}};vq.QuarterParser=yq});var WTe=x(Tq=>{"use strict";Tq.StandAloneQuarterParser=void 0;var yZe=or(),vZe=hr(),bq=class extends yZe.Parser{constructor(){super(...arguments);M(this,"priority",120);M(this,"incompatibleTokens",["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"])}parse(t,n,i){switch(n){case"q":case"qq":return(0,vZe.parseNDigits)(n.length,t);case"qo":return i.ordinalNumber(t,{unit:"quarter"});case"qqq":return i.quarter(t,{width:"abbreviated",context:"standalone"})||i.quarter(t,{width:"narrow",context:"standalone"});case"qqqqq":return i.quarter(t,{width:"narrow",context:"standalone"});case"qqqq":default:return i.quarter(t,{width:"wide",context:"standalone"})||i.quarter(t,{width:"abbreviated",context:"standalone"})||i.quarter(t,{width:"narrow",context:"standalone"})}}validate(t,n){return n>=1&&n<=4}set(t,n,i){return t.setMonth((i-1)*3,1),t.setHours(0,0,0,0),t}};Tq.StandAloneQuarterParser=bq});var YTe=x(wq=>{"use strict";wq.MonthParser=void 0;var bZe=Ui(),TZe=or(),Ix=hr(),kq=class extends TZe.Parser{constructor(){super(...arguments);M(this,"incompatibleTokens",["Y","R","q","Q","L","w","I","D","i","e","c","t","T"]);M(this,"priority",110)}parse(t,n,i){let s=a=>a-1;switch(n){case"M":return(0,Ix.mapValue)((0,Ix.parseNumericPattern)(bZe.numericPatterns.month,t),s);case"MM":return(0,Ix.mapValue)((0,Ix.parseNDigits)(2,t),s);case"Mo":return(0,Ix.mapValue)(i.ordinalNumber(t,{unit:"month"}),s);case"MMM":return i.month(t,{width:"abbreviated",context:"formatting"})||i.month(t,{width:"narrow",context:"formatting"});case"MMMMM":return i.month(t,{width:"narrow",context:"formatting"});case"MMMM":default:return i.month(t,{width:"wide",context:"formatting"})||i.month(t,{width:"abbreviated",context:"formatting"})||i.month(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=0&&n<=11}set(t,n,i){return t.setMonth(i,1),t.setHours(0,0,0,0),t}};wq.MonthParser=kq});var GTe=x(xq=>{"use strict";xq.StandAloneMonthParser=void 0;var kZe=Ui(),wZe=or(),Nx=hr(),Sq=class extends wZe.Parser{constructor(){super(...arguments);M(this,"priority",110);M(this,"incompatibleTokens",["Y","R","q","Q","M","w","I","D","i","e","c","t","T"])}parse(t,n,i){let s=a=>a-1;switch(n){case"L":return(0,Nx.mapValue)((0,Nx.parseNumericPattern)(kZe.numericPatterns.month,t),s);case"LL":return(0,Nx.mapValue)((0,Nx.parseNDigits)(2,t),s);case"Lo":return(0,Nx.mapValue)(i.ordinalNumber(t,{unit:"month"}),s);case"LLL":return i.month(t,{width:"abbreviated",context:"standalone"})||i.month(t,{width:"narrow",context:"standalone"});case"LLLLL":return i.month(t,{width:"narrow",context:"standalone"});case"LLLL":default:return i.month(t,{width:"wide",context:"standalone"})||i.month(t,{width:"abbreviated",context:"standalone"})||i.month(t,{width:"narrow",context:"standalone"})}}validate(t,n){return n>=0&&n<=11}set(t,n,i){return t.setMonth(i,1),t.setHours(0,0,0,0),t}};xq.StandAloneMonthParser=Sq});var Eq=x(ZTe=>{"use strict";ZTe.setWeek=xZe;var SZe=kA(),KTe=K();function xZe(r,e,t){let n=(0,KTe.toDate)(r,t==null?void 0:t.in),i=(0,SZe.getWeek)(n,t)-e;return n.setDate(n.getDate()-i*7),(0,KTe.toDate)(n,t==null?void 0:t.in)}});var JTe=x(Cq=>{"use strict";Cq.LocalWeekParser=void 0;var EZe=Eq(),DZe=sl(),CZe=Ui(),PZe=or(),QTe=hr(),Dq=class extends PZe.Parser{constructor(){super(...arguments);M(this,"priority",100);M(this,"incompatibleTokens",["y","R","u","q","Q","M","L","I","d","D","i","t","T"])}parse(t,n,i){switch(n){case"w":return(0,QTe.parseNumericPattern)(CZe.numericPatterns.week,t);case"wo":return i.ordinalNumber(t,{unit:"week"});default:return(0,QTe.parseNDigits)(n.length,t)}}validate(t,n){return n>=1&&n<=53}set(t,n,i,s){return(0,DZe.startOfWeek)((0,EZe.setWeek)(t,i,s),s)}};Cq.LocalWeekParser=Dq});var Pq=x(XTe=>{"use strict";XTe.setISOWeek=AZe;var _Ze=bA(),MZe=K();function AZe(r,e,t){let n=(0,MZe.toDate)(r,t==null?void 0:t.in),i=(0,_Ze.getISOWeek)(n,t)-e;return n.setDate(n.getDate()-i*7),n}});var tke=x(Mq=>{"use strict";Mq.ISOWeekParser=void 0;var IZe=Pq(),NZe=cc(),RZe=Ui(),OZe=or(),eke=hr(),_q=class extends OZe.Parser{constructor(){super(...arguments);M(this,"priority",100);M(this,"incompatibleTokens",["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"])}parse(t,n,i){switch(n){case"I":return(0,eke.parseNumericPattern)(RZe.numericPatterns.week,t);case"Io":return i.ordinalNumber(t,{unit:"week"});default:return(0,eke.parseNDigits)(n.length,t)}}validate(t,n){return n>=1&&n<=53}set(t,n,i){return(0,NZe.startOfISOWeek)((0,IZe.setISOWeek)(t,i))}};Mq.ISOWeekParser=_q});var rke=x(Nq=>{"use strict";Nq.DateParser=void 0;var LZe=Ui(),FZe=or(),Aq=hr(),$Ze=[31,28,31,30,31,30,31,31,30,31,30,31],jZe=[31,29,31,30,31,30,31,31,30,31,30,31],Iq=class extends FZe.Parser{constructor(){super(...arguments);M(this,"priority",90);M(this,"subPriority",1);M(this,"incompatibleTokens",["Y","R","q","Q","w","I","D","i","e","c","t","T"])}parse(t,n,i){switch(n){case"d":return(0,Aq.parseNumericPattern)(LZe.numericPatterns.date,t);case"do":return i.ordinalNumber(t,{unit:"date"});default:return(0,Aq.parseNDigits)(n.length,t)}}validate(t,n){let i=t.getFullYear(),s=(0,Aq.isLeapYearIndex)(i),a=t.getMonth();return s?n>=1&&n<=jZe[a]:n>=1&&n<=$Ze[a]}set(t,n,i){return t.setDate(i),t.setHours(0,0,0,0),t}};Nq.DateParser=Iq});var nke=x(Lq=>{"use strict";Lq.DayOfYearParser=void 0;var zZe=Ui(),BZe=or(),Rq=hr(),Oq=class extends BZe.Parser{constructor(){super(...arguments);M(this,"priority",90);M(this,"subpriority",1);M(this,"incompatibleTokens",["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"])}parse(t,n,i){switch(n){case"D":case"DD":return(0,Rq.parseNumericPattern)(zZe.numericPatterns.dayOfYear,t);case"Do":return i.ordinalNumber(t,{unit:"date"});default:return(0,Rq.parseNDigits)(n.length,t)}}validate(t,n){let i=t.getFullYear();return(0,Rq.isLeapYearIndex)(i)?n>=1&&n<=366:n>=1&&n<=365}set(t,n,i){return t.setMonth(0,i),t.setHours(0,0,0,0),t}};Lq.DayOfYearParser=Oq});var Rx=x(ike=>{"use strict";ike.setDay=VZe;var qZe=Hi(),HZe=lc(),UZe=K();function VZe(r,e,t){var u,p,m,f,h,g,y,k;let n=(0,qZe.getDefaultOptions)(),i=(k=(y=(f=(m=t==null?void 0:t.weekStartsOn)!=null?m:(p=(u=t==null?void 0:t.locale)==null?void 0:u.options)==null?void 0:p.weekStartsOn)!=null?f:n.weekStartsOn)!=null?y:(g=(h=n.locale)==null?void 0:h.options)==null?void 0:g.weekStartsOn)!=null?k:0,s=(0,UZe.toDate)(r,t==null?void 0:t.in),a=s.getDay(),l=(e%7+7)%7,c=7-i,d=e<0||e>6?e-(a+c)%7:(l+c)%7-(a+c)%7;return(0,HZe.addDays)(s,d,t)}});var ske=x($q=>{"use strict";$q.DayParser=void 0;var WZe=Rx(),YZe=or(),Fq=class extends YZe.Parser{constructor(){super(...arguments);M(this,"priority",90);M(this,"incompatibleTokens",["D","i","e","c","t","T"])}parse(t,n,i){switch(n){case"E":case"EE":case"EEE":return i.day(t,{width:"abbreviated",context:"formatting"})||i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"});case"EEEEE":return i.day(t,{width:"narrow",context:"formatting"});case"EEEEEE":return i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"});case"EEEE":default:return i.day(t,{width:"wide",context:"formatting"})||i.day(t,{width:"abbreviated",context:"formatting"})||i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=0&&n<=6}set(t,n,i,s){return t=(0,WZe.setDay)(t,i,s),t.setHours(0,0,0,0),t}};$q.DayParser=Fq});var ake=x(Bq=>{"use strict";Bq.LocalDayParser=void 0;var GZe=Rx(),KZe=or(),jq=hr(),zq=class extends KZe.Parser{constructor(){super(...arguments);M(this,"priority",90);M(this,"incompatibleTokens",["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"])}parse(t,n,i,s){let a=o=>{let l=Math.floor((o-1)/7)*7;return(o+s.weekStartsOn+6)%7+l};switch(n){case"e":case"ee":return(0,jq.mapValue)((0,jq.parseNDigits)(n.length,t),a);case"eo":return(0,jq.mapValue)(i.ordinalNumber(t,{unit:"day"}),a);case"eee":return i.day(t,{width:"abbreviated",context:"formatting"})||i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"});case"eeeee":return i.day(t,{width:"narrow",context:"formatting"});case"eeeeee":return i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"});case"eeee":default:return i.day(t,{width:"wide",context:"formatting"})||i.day(t,{width:"abbreviated",context:"formatting"})||i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=0&&n<=6}set(t,n,i,s){return t=(0,GZe.setDay)(t,i,s),t.setHours(0,0,0,0),t}};Bq.LocalDayParser=zq});var oke=x(Uq=>{"use strict";Uq.StandAloneLocalDayParser=void 0;var ZZe=Rx(),QZe=or(),qq=hr(),Hq=class extends QZe.Parser{constructor(){super(...arguments);M(this,"priority",90);M(this,"incompatibleTokens",["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"])}parse(t,n,i,s){let a=o=>{let l=Math.floor((o-1)/7)*7;return(o+s.weekStartsOn+6)%7+l};switch(n){case"c":case"cc":return(0,qq.mapValue)((0,qq.parseNDigits)(n.length,t),a);case"co":return(0,qq.mapValue)(i.ordinalNumber(t,{unit:"day"}),a);case"ccc":return i.day(t,{width:"abbreviated",context:"standalone"})||i.day(t,{width:"short",context:"standalone"})||i.day(t,{width:"narrow",context:"standalone"});case"ccccc":return i.day(t,{width:"narrow",context:"standalone"});case"cccccc":return i.day(t,{width:"short",context:"standalone"})||i.day(t,{width:"narrow",context:"standalone"});case"cccc":default:return i.day(t,{width:"wide",context:"standalone"})||i.day(t,{width:"abbreviated",context:"standalone"})||i.day(t,{width:"short",context:"standalone"})||i.day(t,{width:"narrow",context:"standalone"})}}validate(t,n){return n>=0&&n<=6}set(t,n,i,s){return t=(0,ZZe.setDay)(t,i,s),t.setHours(0,0,0,0),t}};Uq.StandAloneLocalDayParser=Hq});var Vq=x(lke=>{"use strict";lke.setISODay=tQe;var JZe=lc(),XZe=GB(),eQe=K();function tQe(r,e,t){let n=(0,eQe.toDate)(r,t==null?void 0:t.in),i=(0,XZe.getISODay)(n,t),s=e-i;return(0,JZe.addDays)(n,s,t)}});var cke=x(Yq=>{"use strict";Yq.ISODayParser=void 0;var rQe=Vq(),nQe=or(),Ox=hr(),Wq=class extends nQe.Parser{constructor(){super(...arguments);M(this,"priority",90);M(this,"incompatibleTokens",["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"])}parse(t,n,i){let s=a=>a===0?7:a;switch(n){case"i":case"ii":return(0,Ox.parseNDigits)(n.length,t);case"io":return i.ordinalNumber(t,{unit:"day"});case"iii":return(0,Ox.mapValue)(i.day(t,{width:"abbreviated",context:"formatting"})||i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"}),s);case"iiiii":return(0,Ox.mapValue)(i.day(t,{width:"narrow",context:"formatting"}),s);case"iiiiii":return(0,Ox.mapValue)(i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"}),s);case"iiii":default:return(0,Ox.mapValue)(i.day(t,{width:"wide",context:"formatting"})||i.day(t,{width:"abbreviated",context:"formatting"})||i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"}),s)}}validate(t,n){return n>=1&&n<=7}set(t,n,i){return t=(0,rQe.setISODay)(t,i),t.setHours(0,0,0,0),t}};Yq.ISODayParser=Wq});var dke=x(Kq=>{"use strict";Kq.AMPMParser=void 0;var iQe=or(),sQe=hr(),Gq=class extends iQe.Parser{constructor(){super(...arguments);M(this,"priority",80);M(this,"incompatibleTokens",["b","B","H","k","t","T"])}parse(t,n,i){switch(n){case"a":case"aa":case"aaa":return i.dayPeriod(t,{width:"abbreviated",context:"formatting"})||i.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaaa":return i.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaa":default:return i.dayPeriod(t,{width:"wide",context:"formatting"})||i.dayPeriod(t,{width:"abbreviated",context:"formatting"})||i.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,n,i){return t.setHours((0,sQe.dayPeriodEnumToHours)(i),0,0,0),t}};Kq.AMPMParser=Gq});var uke=x(Qq=>{"use strict";Qq.AMPMMidnightParser=void 0;var aQe=or(),oQe=hr(),Zq=class extends aQe.Parser{constructor(){super(...arguments);M(this,"priority",80);M(this,"incompatibleTokens",["a","B","H","k","t","T"])}parse(t,n,i){switch(n){case"b":case"bb":case"bbb":return i.dayPeriod(t,{width:"abbreviated",context:"formatting"})||i.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbbb":return i.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbb":default:return i.dayPeriod(t,{width:"wide",context:"formatting"})||i.dayPeriod(t,{width:"abbreviated",context:"formatting"})||i.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,n,i){return t.setHours((0,oQe.dayPeriodEnumToHours)(i),0,0,0),t}};Qq.AMPMMidnightParser=Zq});var pke=x(Xq=>{"use strict";Xq.DayPeriodParser=void 0;var lQe=or(),cQe=hr(),Jq=class extends lQe.Parser{constructor(){super(...arguments);M(this,"priority",80);M(this,"incompatibleTokens",["a","b","t","T"])}parse(t,n,i){switch(n){case"B":case"BB":case"BBB":return i.dayPeriod(t,{width:"abbreviated",context:"formatting"})||i.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBBB":return i.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBB":default:return i.dayPeriod(t,{width:"wide",context:"formatting"})||i.dayPeriod(t,{width:"abbreviated",context:"formatting"})||i.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,n,i){return t.setHours((0,cQe.dayPeriodEnumToHours)(i),0,0,0),t}};Xq.DayPeriodParser=Jq});var fke=x(tH=>{"use strict";tH.Hour1to12Parser=void 0;var dQe=Ui(),uQe=or(),mke=hr(),eH=class extends uQe.Parser{constructor(){super(...arguments);M(this,"priority",70);M(this,"incompatibleTokens",["H","K","k","t","T"])}parse(t,n,i){switch(n){case"h":return(0,mke.parseNumericPattern)(dQe.numericPatterns.hour12h,t);case"ho":return i.ordinalNumber(t,{unit:"hour"});default:return(0,mke.parseNDigits)(n.length,t)}}validate(t,n){return n>=1&&n<=12}set(t,n,i){let s=t.getHours()>=12;return s&&i<12?t.setHours(i+12,0,0,0):!s&&i===12?t.setHours(0,0,0,0):t.setHours(i,0,0,0),t}};tH.Hour1to12Parser=eH});var gke=x(nH=>{"use strict";nH.Hour0to23Parser=void 0;var pQe=Ui(),mQe=or(),hke=hr(),rH=class extends mQe.Parser{constructor(){super(...arguments);M(this,"priority",70);M(this,"incompatibleTokens",["a","b","h","K","k","t","T"])}parse(t,n,i){switch(n){case"H":return(0,hke.parseNumericPattern)(pQe.numericPatterns.hour23h,t);case"Ho":return i.ordinalNumber(t,{unit:"hour"});default:return(0,hke.parseNDigits)(n.length,t)}}validate(t,n){return n>=0&&n<=23}set(t,n,i){return t.setHours(i,0,0,0),t}};nH.Hour0to23Parser=rH});var vke=x(sH=>{"use strict";sH.Hour0To11Parser=void 0;var fQe=Ui(),hQe=or(),yke=hr(),iH=class extends hQe.Parser{constructor(){super(...arguments);M(this,"priority",70);M(this,"incompatibleTokens",["h","H","k","t","T"])}parse(t,n,i){switch(n){case"K":return(0,yke.parseNumericPattern)(fQe.numericPatterns.hour11h,t);case"Ko":return i.ordinalNumber(t,{unit:"hour"});default:return(0,yke.parseNDigits)(n.length,t)}}validate(t,n){return n>=0&&n<=11}set(t,n,i){return t.getHours()>=12&&i<12?t.setHours(i+12,0,0,0):t.setHours(i,0,0,0),t}};sH.Hour0To11Parser=iH});var Tke=x(oH=>{"use strict";oH.Hour1To24Parser=void 0;var gQe=Ui(),yQe=or(),bke=hr(),aH=class extends yQe.Parser{constructor(){super(...arguments);M(this,"priority",70);M(this,"incompatibleTokens",["a","b","h","H","K","t","T"])}parse(t,n,i){switch(n){case"k":return(0,bke.parseNumericPattern)(gQe.numericPatterns.hour24h,t);case"ko":return i.ordinalNumber(t,{unit:"hour"});default:return(0,bke.parseNDigits)(n.length,t)}}validate(t,n){return n>=1&&n<=24}set(t,n,i){let s=i<=24?i%24:i;return t.setHours(s,0,0,0),t}};oH.Hour1To24Parser=aH});var wke=x(cH=>{"use strict";cH.MinuteParser=void 0;var vQe=Ui(),bQe=or(),kke=hr(),lH=class extends bQe.Parser{constructor(){super(...arguments);M(this,"priority",60);M(this,"incompatibleTokens",["t","T"])}parse(t,n,i){switch(n){case"m":return(0,kke.parseNumericPattern)(vQe.numericPatterns.minute,t);case"mo":return i.ordinalNumber(t,{unit:"minute"});default:return(0,kke.parseNDigits)(n.length,t)}}validate(t,n){return n>=0&&n<=59}set(t,n,i){return t.setMinutes(i,0,0),t}};cH.MinuteParser=lH});var xke=x(uH=>{"use strict";uH.SecondParser=void 0;var TQe=Ui(),kQe=or(),Ske=hr(),dH=class extends kQe.Parser{constructor(){super(...arguments);M(this,"priority",50);M(this,"incompatibleTokens",["t","T"])}parse(t,n,i){switch(n){case"s":return(0,Ske.parseNumericPattern)(TQe.numericPatterns.second,t);case"so":return i.ordinalNumber(t,{unit:"second"});default:return(0,Ske.parseNDigits)(n.length,t)}}validate(t,n){return n>=0&&n<=59}set(t,n,i){return t.setSeconds(i,0),t}};uH.SecondParser=dH});var Dke=x(mH=>{"use strict";mH.FractionOfSecondParser=void 0;var wQe=or(),Eke=hr(),pH=class extends wQe.Parser{constructor(){super(...arguments);M(this,"priority",30);M(this,"incompatibleTokens",["t","T"])}parse(t,n){let i=s=>Math.trunc(s*Math.pow(10,-n.length+3));return(0,Eke.mapValue)((0,Eke.parseNDigits)(n.length,t),i)}set(t,n,i){return t.setMilliseconds(i),t}};mH.FractionOfSecondParser=pH});var Cke=x(hH=>{"use strict";hH.ISOTimezoneWithZParser=void 0;var SQe=je(),xQe=Ld(),Lx=Ui(),EQe=or(),Fx=hr(),fH=class extends EQe.Parser{constructor(){super(...arguments);M(this,"priority",10);M(this,"incompatibleTokens",["t","T","x"])}parse(t,n){switch(n){case"X":return(0,Fx.parseTimezonePattern)(Lx.timezonePatterns.basicOptionalMinutes,t);case"XX":return(0,Fx.parseTimezonePattern)(Lx.timezonePatterns.basic,t);case"XXXX":return(0,Fx.parseTimezonePattern)(Lx.timezonePatterns.basicOptionalSeconds,t);case"XXXXX":return(0,Fx.parseTimezonePattern)(Lx.timezonePatterns.extendedOptionalSeconds,t);case"XXX":default:return(0,Fx.parseTimezonePattern)(Lx.timezonePatterns.extended,t)}}set(t,n,i){return n.timestampIsSet?t:(0,SQe.constructFrom)(t,t.getTime()-(0,xQe.getTimezoneOffsetInMilliseconds)(t)-i)}};hH.ISOTimezoneWithZParser=fH});var Pke=x(yH=>{"use strict";yH.ISOTimezoneParser=void 0;var DQe=je(),CQe=Ld(),$x=Ui(),PQe=or(),jx=hr(),gH=class extends PQe.Parser{constructor(){super(...arguments);M(this,"priority",10);M(this,"incompatibleTokens",["t","T","X"])}parse(t,n){switch(n){case"x":return(0,jx.parseTimezonePattern)($x.timezonePatterns.basicOptionalMinutes,t);case"xx":return(0,jx.parseTimezonePattern)($x.timezonePatterns.basic,t);case"xxxx":return(0,jx.parseTimezonePattern)($x.timezonePatterns.basicOptionalSeconds,t);case"xxxxx":return(0,jx.parseTimezonePattern)($x.timezonePatterns.extendedOptionalSeconds,t);case"xxx":default:return(0,jx.parseTimezonePattern)($x.timezonePatterns.extended,t)}}set(t,n,i){return n.timestampIsSet?t:(0,DQe.constructFrom)(t,t.getTime()-(0,CQe.getTimezoneOffsetInMilliseconds)(t)-i)}};yH.ISOTimezoneParser=gH});var _ke=x(bH=>{"use strict";bH.TimestampSecondsParser=void 0;var _Qe=je(),MQe=or(),AQe=hr(),vH=class extends MQe.Parser{constructor(){super(...arguments);M(this,"priority",40);M(this,"incompatibleTokens","*")}parse(t){return(0,AQe.parseAnyDigitsSigned)(t)}set(t,n,i){return[(0,_Qe.constructFrom)(t,i*1e3),{timestampIsSet:!0}]}};bH.TimestampSecondsParser=vH});var Mke=x(kH=>{"use strict";kH.TimestampMillisecondsParser=void 0;var IQe=je(),NQe=or(),RQe=hr(),TH=class extends NQe.Parser{constructor(){super(...arguments);M(this,"priority",20);M(this,"incompatibleTokens","*")}parse(t){return(0,RQe.parseAnyDigitsSigned)(t)}set(t,n,i){return[(0,IQe.constructFrom)(t,i),{timestampIsSet:!0}]}};kH.TimestampMillisecondsParser=TH});var Ake=x(wH=>{"use strict";wH.parsers=void 0;var OQe=FTe(),LQe=$Te(),FQe=zTe(),$Qe=qTe(),jQe=UTe(),zQe=VTe(),BQe=WTe(),qQe=YTe(),HQe=GTe(),UQe=JTe(),VQe=tke(),WQe=rke(),YQe=nke(),GQe=ske(),KQe=ake(),ZQe=oke(),QQe=cke(),JQe=dke(),XQe=uke(),eJe=pke(),tJe=fke(),rJe=gke(),nJe=vke(),iJe=Tke(),sJe=wke(),aJe=xke(),oJe=Dke(),lJe=Cke(),cJe=Pke(),dJe=_ke(),uJe=Mke(),Var=wH.parsers={G:new OQe.EraParser,y:new LQe.YearParser,Y:new FQe.LocalWeekYearParser,R:new $Qe.ISOWeekYearParser,u:new jQe.ExtendedYearParser,Q:new zQe.QuarterParser,q:new BQe.StandAloneQuarterParser,M:new qQe.MonthParser,L:new HQe.StandAloneMonthParser,w:new UQe.LocalWeekParser,I:new VQe.ISOWeekParser,d:new WQe.DateParser,D:new YQe.DayOfYearParser,E:new GQe.DayParser,e:new KQe.LocalDayParser,c:new ZQe.StandAloneLocalDayParser,i:new QQe.ISODayParser,a:new JQe.AMPMParser,b:new XQe.AMPMMidnightParser,B:new eJe.DayPeriodParser,h:new tJe.Hour1to12Parser,H:new rJe.Hour0to23Parser,K:new nJe.Hour0To11Parser,k:new iJe.Hour1To24Parser,m:new sJe.MinuteParser,s:new aJe.SecondParser,S:new oJe.FractionOfSecondParser,X:new lJe.ISOTimezoneWithZParser,x:new cJe.ISOTimezoneParser,t:new dJe.TimestampSecondsParser,T:new uJe.TimestampMillisecondsParser}});var xH=x(DA=>{"use strict";Object.defineProperty(DA,"longFormatters",{enumerable:!0,get:function(){return SH.longFormatters}});DA.parse=wJe;Object.defineProperty(DA,"parsers",{enumerable:!0,get:function(){return Nke.parsers}});var pJe=Hf(),SH=FB(),EA=$B(),mJe=je(),fJe=YB(),Ike=K(),hJe=nq(),Nke=Ake(),gJe=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,yJe=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,vJe=/^'([^]*?)'?$/,bJe=/''/g,TJe=/\S/,kJe=/[a-zA-Z]/;function wJe(r,e,t,n){var g,y,k,T,w,S,E,C,D,A,N,V,R,I,O,z,B,W;let i=()=>(0,mJe.constructFrom)((n==null?void 0:n.in)||t,NaN),s=(0,fJe.getDefaultOptions)(),a=(y=(g=n==null?void 0:n.locale)!=null?g:s.locale)!=null?y:pJe.defaultLocale,o=(A=(D=(S=(w=n==null?void 0:n.firstWeekContainsDate)!=null?w:(T=(k=n==null?void 0:n.locale)==null?void 0:k.options)==null?void 0:T.firstWeekContainsDate)!=null?S:s.firstWeekContainsDate)!=null?D:(C=(E=s.locale)==null?void 0:E.options)==null?void 0:C.firstWeekContainsDate)!=null?A:1,l=(W=(B=(I=(R=n==null?void 0:n.weekStartsOn)!=null?R:(V=(N=n==null?void 0:n.locale)==null?void 0:N.options)==null?void 0:V.weekStartsOn)!=null?I:s.weekStartsOn)!=null?B:(z=(O=s.locale)==null?void 0:O.options)==null?void 0:z.weekStartsOn)!=null?W:0;if(!e)return r?i():(0,Ike.toDate)(t,n==null?void 0:n.in);let c={firstWeekContainsDate:o,weekStartsOn:l,locale:a},d=[new hJe.DateTimezoneSetter(n==null?void 0:n.in,t)],u=e.match(yJe).map(Y=>{let ee=Y[0];if(ee in SH.longFormatters){let ae=SH.longFormatters[ee];return ae(Y,a.formatLong)}return Y}).join("").match(gJe),p=[];for(let Y of u){!(n!=null&&n.useAdditionalWeekYearTokens)&&(0,EA.isProtectedWeekYearToken)(Y)&&(0,EA.warnOrThrowProtectedError)(Y,e,r),!(n!=null&&n.useAdditionalDayOfYearTokens)&&(0,EA.isProtectedDayOfYearToken)(Y)&&(0,EA.warnOrThrowProtectedError)(Y,e,r);let ee=Y[0],ae=Nke.parsers[ee];if(ae){let{incompatibleTokens:ce}=ae;if(Array.isArray(ce)){let de=p.find(vt=>ce.includes(vt.token)||vt.token===ee);if(de)throw new RangeError(`The format string mustn't contain \`${de.fullToken}\` and \`${Y}\` at the same time`)}else if(ae.incompatibleTokens==="*"&&p.length>0)throw new RangeError(`The format string mustn't contain \`${Y}\` and any other token at the same time`);p.push({token:ee,fullToken:Y});let J=ae.run(r,Y,a.match,c);if(!J)return i();d.push(J.setter),r=J.rest}else{if(ee.match(kJe))throw new RangeError("Format string contains an unescaped latin alphabet character `"+ee+"`");if(Y==="''"?Y="'":ee==="'"&&(Y=SJe(Y)),r.indexOf(Y)===0)r=r.slice(Y.length);else return i()}}if(r.length>0&&TJe.test(r))return i();let m=d.map(Y=>Y.priority).sort((Y,ee)=>ee-Y).filter((Y,ee,ae)=>ae.indexOf(Y)===ee).map(Y=>d.filter(ee=>ee.priority===Y).sort((ee,ae)=>ae.subPriority-ee.subPriority)).map(Y=>Y[0]),f=(0,Ike.toDate)(t,n==null?void 0:n.in);if(isNaN(+f))return i();let h={};for(let Y of m){if(!Y.validate(f,c))return i();let ee=Y.set(f,h,c);Array.isArray(ee)?(f=ee[0],Object.assign(h,ee[1])):f=ee}return f}function SJe(r){return r.match(vJe)[1].replace(bJe,"'")}});var Oke=x(Rke=>{"use strict";Rke.isMatch=DJe;var xJe=$d(),EJe=xH();function DJe(r,e,t){return(0,xJe.isValid)((0,EJe.parse)(r,e,new Date,t))}});var Fke=x(Lke=>{"use strict";Lke.isMonday=PJe;var CJe=K();function PJe(r,e){return(0,CJe.toDate)(r,e==null?void 0:e.in).getDay()===1}});var jke=x($ke=>{"use strict";$ke.isPast=MJe;var _Je=K();function MJe(r){return+(0,_Je.toDate)(r)<Date.now()}});var EH=x(zke=>{"use strict";zke.startOfHour=IJe;var AJe=K();function IJe(r,e){let t=(0,AJe.toDate)(r,e==null?void 0:e.in);return t.setMinutes(0,0,0),t}});var DH=x(qke=>{"use strict";qke.isSameHour=RJe;var NJe=br(),Bke=EH();function RJe(r,e,t){let[n,i]=(0,NJe.normalizeDates)(t==null?void 0:t.in,r,e);return+(0,Bke.startOfHour)(n)==+(0,Bke.startOfHour)(i)}});var CA=x(Uke=>{"use strict";Uke.isSameWeek=LJe;var OJe=br(),Hke=sl();function LJe(r,e,t){let[n,i]=(0,OJe.normalizeDates)(t==null?void 0:t.in,r,e);return+(0,Hke.startOfWeek)(n,t)==+(0,Hke.startOfWeek)(i,t)}});var CH=x(Vke=>{"use strict";Vke.isSameISOWeek=$Je;var FJe=CA();function $Je(r,e,t){return(0,FJe.isSameWeek)(r,e,{...t,weekStartsOn:1})}});var Gke=x(Yke=>{"use strict";Yke.isSameISOWeekYear=zJe;var Wke=hv(),jJe=br();function zJe(r,e,t){let[n,i]=(0,jJe.normalizeDates)(t==null?void 0:t.in,r,e);return+(0,Wke.startOfISOWeekYear)(n)==+(0,Wke.startOfISOWeekYear)(i)}});var PH=x(Kke=>{"use strict";Kke.startOfMinute=qJe;var BJe=K();function qJe(r,e){let t=(0,BJe.toDate)(r,e==null?void 0:e.in);return t.setSeconds(0,0),t}});var _H=x(Qke=>{"use strict";Qke.isSameMinute=HJe;var Zke=PH();function HJe(r,e){return+(0,Zke.startOfMinute)(r)==+(0,Zke.startOfMinute)(e)}});var MH=x(Jke=>{"use strict";Jke.isSameMonth=VJe;var UJe=br();function VJe(r,e,t){let[n,i]=(0,UJe.normalizeDates)(t==null?void 0:t.in,r,e);return n.getFullYear()===i.getFullYear()&&n.getMonth()===i.getMonth()}});var AH=x(ewe=>{"use strict";ewe.isSameQuarter=YJe;var WJe=br(),Xke=fA();function YJe(r,e,t){let[n,i]=(0,WJe.normalizeDates)(t==null?void 0:t.in,r,e);return+(0,Xke.startOfQuarter)(n)==+(0,Xke.startOfQuarter)(i)}});var IH=x(twe=>{"use strict";twe.startOfSecond=KJe;var GJe=K();function KJe(r,e){let t=(0,GJe.toDate)(r,e==null?void 0:e.in);return t.setMilliseconds(0),t}});var NH=x(nwe=>{"use strict";nwe.isSameSecond=ZJe;var rwe=IH();function ZJe(r,e){return+(0,rwe.startOfSecond)(r)==+(0,rwe.startOfSecond)(e)}});var RH=x(iwe=>{"use strict";iwe.isSameYear=JJe;var QJe=br();function JJe(r,e,t){let[n,i]=(0,QJe.normalizeDates)(t==null?void 0:t.in,r,e);return n.getFullYear()===i.getFullYear()}});var awe=x(swe=>{"use strict";swe.isThisHour=rXe;var XJe=Un(),eXe=DH(),tXe=K();function rXe(r,e){return(0,eXe.isSameHour)((0,tXe.toDate)(r,e==null?void 0:e.in),(0,XJe.constructNow)((e==null?void 0:e.in)||r))}});var lwe=x(owe=>{"use strict";owe.isThisISOWeek=aXe;var nXe=je(),iXe=Un(),sXe=CH();function aXe(r,e){return(0,sXe.isSameISOWeek)((0,nXe.constructFrom)((e==null?void 0:e.in)||r,r),(0,iXe.constructNow)((e==null?void 0:e.in)||r))}});var dwe=x(cwe=>{"use strict";cwe.isThisMinute=cXe;var oXe=Un(),lXe=_H();function cXe(r){return(0,lXe.isSameMinute)(r,(0,oXe.constructNow)(r))}});var pwe=x(uwe=>{"use strict";uwe.isThisMonth=mXe;var dXe=je(),uXe=Un(),pXe=MH();function mXe(r,e){return(0,pXe.isSameMonth)((0,dXe.constructFrom)((e==null?void 0:e.in)||r,r),(0,uXe.constructNow)((e==null?void 0:e.in)||r))}});var fwe=x(mwe=>{"use strict";mwe.isThisQuarter=yXe;var fXe=je(),hXe=Un(),gXe=AH();function yXe(r,e){return(0,gXe.isSameQuarter)((0,fXe.constructFrom)((e==null?void 0:e.in)||r,r),(0,hXe.constructNow)((e==null?void 0:e.in)||r))}});var gwe=x(hwe=>{"use strict";hwe.isThisSecond=TXe;var vXe=Un(),bXe=NH();function TXe(r){return(0,bXe.isSameSecond)(r,(0,vXe.constructNow)(r))}});var vwe=x(ywe=>{"use strict";ywe.isThisWeek=xXe;var kXe=je(),wXe=Un(),SXe=CA();function xXe(r,e){return(0,SXe.isSameWeek)((0,kXe.constructFrom)((e==null?void 0:e.in)||r,r),(0,wXe.constructNow)((e==null?void 0:e.in)||r),e)}});var Twe=x(bwe=>{"use strict";bwe.isThisYear=PXe;var EXe=je(),DXe=Un(),CXe=RH();function PXe(r,e){return(0,CXe.isSameYear)((0,EXe.constructFrom)((e==null?void 0:e.in)||r,r),(0,DXe.constructNow)((e==null?void 0:e.in)||r))}});var wwe=x(kwe=>{"use strict";kwe.isThursday=MXe;var _Xe=K();function MXe(r,e){return(0,_Xe.toDate)(r,e==null?void 0:e.in).getDay()===4}});var xwe=x(Swe=>{"use strict";Swe.isToday=RXe;var AXe=je(),IXe=Un(),NXe=gv();function RXe(r,e){return(0,NXe.isSameDay)((0,AXe.constructFrom)((e==null?void 0:e.in)||r,r),(0,IXe.constructNow)((e==null?void 0:e.in)||r))}});var Dwe=x(Ewe=>{"use strict";Ewe.isTomorrow=$Xe;var OXe=lc(),LXe=Un(),FXe=gv();function $Xe(r,e){return(0,FXe.isSameDay)(r,(0,OXe.addDays)((0,LXe.constructNow)((e==null?void 0:e.in)||r),1),e)}});var Pwe=x(Cwe=>{"use strict";Cwe.isTuesday=zXe;var jXe=K();function zXe(r,e){return(0,jXe.toDate)(r,e==null?void 0:e.in).getDay()===2}});var Mwe=x(_we=>{"use strict";_we.isWednesday=qXe;var BXe=K();function qXe(r,e){return(0,BXe.toDate)(r,e==null?void 0:e.in).getDay()===3}});var Iwe=x(Awe=>{"use strict";Awe.isWithinInterval=HXe;var OH=K();function HXe(r,e,t){let n=+(0,OH.toDate)(r,t==null?void 0:t.in),[i,s]=[+(0,OH.toDate)(e.start,t==null?void 0:t.in),+(0,OH.toDate)(e.end,t==null?void 0:t.in)].sort((a,o)=>a-o);return n>=i&&n<=s}});var zx=x(Nwe=>{"use strict";Nwe.subDays=VXe;var UXe=lc();function VXe(r,e,t){return(0,UXe.addDays)(r,-e,t)}});var Owe=x(Rwe=>{"use strict";Rwe.isYesterday=ZXe;var WXe=je(),YXe=Un(),GXe=gv(),KXe=zx();function ZXe(r,e){return(0,GXe.isSameDay)((0,WXe.constructFrom)((e==null?void 0:e.in)||r,r),(0,KXe.subDays)((0,YXe.constructNow)((e==null?void 0:e.in)||r),1))}});var $we=x(Fwe=>{"use strict";Fwe.lastDayOfDecade=QXe;var Lwe=K();function QXe(r,e){let t=(0,Lwe.toDate)(r,e==null?void 0:e.in),n=t.getFullYear(),i=9+Math.floor(n/10)*10;return t.setFullYear(i+1,0,0),t.setHours(0,0,0,0),(0,Lwe.toDate)(t,e==null?void 0:e.in)}});var LH=x(jwe=>{"use strict";jwe.lastDayOfWeek=eet;var JXe=Hi(),XXe=K();function eet(r,e){var o,l,c,d,u,p,m,f;let t=(0,JXe.getDefaultOptions)(),n=(f=(m=(d=(c=e==null?void 0:e.weekStartsOn)!=null?c:(l=(o=e==null?void 0:e.locale)==null?void 0:o.options)==null?void 0:l.weekStartsOn)!=null?d:t.weekStartsOn)!=null?m:(p=(u=t.locale)==null?void 0:u.options)==null?void 0:p.weekStartsOn)!=null?f:0,i=(0,XXe.toDate)(r,e==null?void 0:e.in),s=i.getDay(),a=(s<n?-7:0)+6-(s-n);return i.setHours(0,0,0,0),i.setDate(i.getDate()+a),i}});var Bwe=x(zwe=>{"use strict";zwe.lastDayOfISOWeek=ret;var tet=LH();function ret(r,e){return(0,tet.lastDayOfWeek)(r,{...e,weekStartsOn:1})}});var Hwe=x(qwe=>{"use strict";qwe.lastDayOfISOWeekYear=aet;var net=je(),iet=Tp(),set=cc();function aet(r,e){let t=(0,iet.getISOWeekYear)(r,e),n=(0,net.constructFrom)((e==null?void 0:e.in)||r,0);n.setFullYear(t+1,0,4),n.setHours(0,0,0,0);let i=(0,set.startOfISOWeek)(n,e);return i.setDate(i.getDate()-1),i}});var Vwe=x(Uwe=>{"use strict";Uwe.lastDayOfQuarter=cet;var oet=K();function cet(r,e){let t=(0,oet.toDate)(r,e==null?void 0:e.in),n=t.getMonth(),i=n-n%3+3;return t.setMonth(i,0),t.setHours(0,0,0,0),t}});var Ywe=x(Wwe=>{"use strict";Wwe.lastDayOfYear=uet;var det=K();function uet(r,e){let t=(0,det.toDate)(r,e==null?void 0:e.in),n=t.getFullYear();return t.setFullYear(n+1,0,0),t.setHours(0,0,0,0),t}});var Kwe=x(FH=>{"use strict";FH.lightFormat=vet;Object.defineProperty(FH,"lightFormatters",{enumerable:!0,get:function(){return Gwe.lightFormatters}});var Gwe=RB(),pet=$d(),met=K(),fet=/(\w)\1*|''|'(''|[^'])+('|$)|./g,het=/^'([^]*?)'?$/,get=/''/g,yet=/[a-zA-Z]/;function vet(r,e){let t=(0,met.toDate)(r);if(!(0,pet.isValid)(t))throw new RangeError("Invalid time value");let n=e.match(fet);return n?n.map(s=>{if(s==="''")return"'";let a=s[0];if(a==="'")return bet(s);let o=Gwe.lightFormatters[a];if(o)return o(t,s);if(a.match(yet))throw new RangeError("Format string contains an unescaped latin alphabet character `"+a+"`");return s}).join(""):""}function bet(r){let e=r.match(het);return e?e[1].replace(get,"'"):r}});var Jwe=x(Qwe=>{"use strict";Qwe.milliseconds=Tet;var Zwe=pt();function Tet({years:r,months:e,weeks:t,days:n,hours:i,minutes:s,seconds:a}){let o=0;r&&(o+=r*Zwe.daysInYear),e&&(o+=e*(Zwe.daysInYear/12)),t&&(o+=t*7),n&&(o+=n);let l=o*24*60*60;return i&&(l+=i*60*60),s&&(l+=s*60),a&&(l+=a),Math.trunc(l*1e3)}});var eSe=x(Xwe=>{"use strict";Xwe.millisecondsToHours=wet;var ket=pt();function wet(r){let e=r/ket.millisecondsInHour;return Math.trunc(e)}});var rSe=x(tSe=>{"use strict";tSe.millisecondsToMinutes=Eet;var xet=pt();function Eet(r){let e=r/xet.millisecondsInMinute;return Math.trunc(e)}});var iSe=x(nSe=>{"use strict";nSe.millisecondsToSeconds=Cet;var Det=pt();function Cet(r){let e=r/Det.millisecondsInSecond;return Math.trunc(e)}});var aSe=x(sSe=>{"use strict";sSe.minutesToHours=_et;var Pet=pt();function _et(r){let e=r/Pet.minutesInHour;return Math.trunc(e)}});var lSe=x(oSe=>{"use strict";oSe.minutesToMilliseconds=Aet;var Met=pt();function Aet(r){return Math.trunc(r*Met.millisecondsInMinute)}});var dSe=x(cSe=>{"use strict";cSe.minutesToSeconds=Net;var Iet=pt();function Net(r){return Math.trunc(r*Iet.secondsInMinute)}});var pSe=x(uSe=>{"use strict";uSe.monthsToQuarters=Oet;var Ret=pt();function Oet(r){let e=r/Ret.monthsInQuarter;return Math.trunc(e)}});var fSe=x(mSe=>{"use strict";mSe.monthsToYears=Fet;var Let=pt();function Fet(r){let e=r/Let.monthsInYear;return Math.trunc(e)}});var Bd=x(hSe=>{"use strict";hSe.nextDay=zet;var $et=lc(),jet=Px();function zet(r,e,t){let n=e-(0,jet.getDay)(r,t);return n<=0&&(n+=7),(0,$et.addDays)(r,n,t)}});var ySe=x(gSe=>{"use strict";gSe.nextFriday=qet;var Bet=Bd();function qet(r,e){return(0,Bet.nextDay)(r,5,e)}});var bSe=x(vSe=>{"use strict";vSe.nextMonday=Uet;var Het=Bd();function Uet(r,e){return(0,Het.nextDay)(r,1,e)}});var kSe=x(TSe=>{"use strict";TSe.nextSaturday=Wet;var Vet=Bd();function Wet(r,e){return(0,Vet.nextDay)(r,6,e)}});var SSe=x(wSe=>{"use strict";wSe.nextSunday=Get;var Yet=Bd();function Get(r,e){return(0,Yet.nextDay)(r,0,e)}});var ESe=x(xSe=>{"use strict";xSe.nextThursday=Zet;var Ket=Bd();function Zet(r,e){return(0,Ket.nextDay)(r,4,e)}});var CSe=x(DSe=>{"use strict";DSe.nextTuesday=Jet;var Qet=Bd();function Jet(r,e){return(0,Qet.nextDay)(r,2,e)}});var _Se=x(PSe=>{"use strict";PSe.nextWednesday=ett;var Xet=Bd();function ett(r,e){return(0,Xet.nextDay)(r,3,e)}});var NSe=x(ISe=>{"use strict";ISe.parseISO=rtt;var _A=pt(),ttt=je(),MSe=K();function rtt(r,e){var c;let t=()=>(0,ttt.constructFrom)(e==null?void 0:e.in,NaN),n=(c=e==null?void 0:e.additionalDigits)!=null?c:2,i=att(r),s;if(i.date){let d=ott(i.date,n);s=ltt(d.restDateString,d.year)}if(!s||isNaN(+s))return t();let a=+s,o=0,l;if(i.time&&(o=ctt(i.time),isNaN(o)))return t();if(i.timezone){if(l=dtt(i.timezone),isNaN(l))return t()}else{let d=new Date(a+o),u=(0,MSe.toDate)(0,e==null?void 0:e.in);return u.setFullYear(d.getUTCFullYear(),d.getUTCMonth(),d.getUTCDate()),u.setHours(d.getUTCHours(),d.getUTCMinutes(),d.getUTCSeconds(),d.getUTCMilliseconds()),u}return(0,MSe.toDate)(a+o+l,e==null?void 0:e.in)}var PA={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},ntt=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,itt=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,stt=/^([+-])(\d{2})(?::?(\d{2}))?$/;function att(r){let e={},t=r.split(PA.dateTimeDelimiter),n;if(t.length>2)return e;if(/:/.test(t[0])?n=t[0]:(e.date=t[0],n=t[1],PA.timeZoneDelimiter.test(e.date)&&(e.date=r.split(PA.timeZoneDelimiter)[0],n=r.substr(e.date.length,r.length))),n){let i=PA.timezone.exec(n);i?(e.time=n.replace(i[1],""),e.timezone=i[1]):e.time=n}return e}function ott(r,e){let t=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+e)+"})|(\\d{2}|[+-]\\d{"+(2+e)+"})$)"),n=r.match(t);if(!n)return{year:NaN,restDateString:""};let i=n[1]?parseInt(n[1]):null,s=n[2]?parseInt(n[2]):null;return{year:s===null?i:s*100,restDateString:r.slice((n[1]||n[2]).length)}}function ltt(r,e){if(e===null)return new Date(NaN);let t=r.match(ntt);if(!t)return new Date(NaN);let n=!!t[4],i=Bx(t[1]),s=Bx(t[2])-1,a=Bx(t[3]),o=Bx(t[4]),l=Bx(t[5])-1;if(n)return htt(e,o,l)?utt(e,o,l):new Date(NaN);{let c=new Date(0);return!mtt(e,s,a)||!ftt(e,i)?new Date(NaN):(c.setUTCFullYear(e,s,Math.max(i,a)),c)}}function Bx(r){return r?parseInt(r):1}function ctt(r){let e=r.match(itt);if(!e)return NaN;let t=$H(e[1]),n=$H(e[2]),i=$H(e[3]);return gtt(t,n,i)?t*_A.millisecondsInHour+n*_A.millisecondsInMinute+i*1e3:NaN}function $H(r){return r&&parseFloat(r.replace(",","."))||0}function dtt(r){if(r==="Z")return 0;let e=r.match(stt);if(!e)return 0;let t=e[1]==="+"?-1:1,n=parseInt(e[2]),i=e[3]&&parseInt(e[3])||0;return ytt(n,i)?t*(n*_A.millisecondsInHour+i*_A.millisecondsInMinute):NaN}function utt(r,e,t){let n=new Date(0);n.setUTCFullYear(r,0,4);let i=n.getUTCDay()||7,s=(e-1)*7+t+1-i;return n.setUTCDate(n.getUTCDate()+s),n}var ptt=[31,null,31,30,31,30,31,31,30,31,30,31];function ASe(r){return r%400===0||r%4===0&&r%100!==0}function mtt(r,e,t){return e>=0&&e<=11&&t>=1&&t<=(ptt[e]||(ASe(r)?29:28))}function ftt(r,e){return e>=1&&e<=(ASe(r)?366:365)}function htt(r,e,t){return e>=1&&e<=53&&t>=0&&t<=6}function gtt(r,e,t){return r===24?e===0&&t===0:t>=0&&t<60&&e>=0&&e<60&&r>=0&&r<25}function ytt(r,e){return e>=0&&e<=59}});var LSe=x(OSe=>{"use strict";OSe.parseJSON=vtt;var RSe=K();function vtt(r,e){let t=r.match(/(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2}):(\d{2})(?:\.(\d{0,7}))?(?:Z|(.)(\d{2}):?(\d{2})?)?/);return t?(0,RSe.toDate)(Date.UTC(+t[1],+t[2]-1,+t[3],+t[4]-(+t[9]||0)*(t[8]=="-"?-1:1),+t[5]-(+t[10]||0)*(t[8]=="-"?-1:1),+t[6],+((t[7]||"0")+"00").substring(0,3)),e==null?void 0:e.in):(0,RSe.toDate)(NaN,e==null?void 0:e.in)}});var qd=x(FSe=>{"use strict";FSe.previousDay=ktt;var btt=Px(),Ttt=zx();function ktt(r,e,t){let n=(0,btt.getDay)(r,t)-e;return n<=0&&(n+=7),(0,Ttt.subDays)(r,n,t)}});var jSe=x($Se=>{"use strict";$Se.previousFriday=Stt;var wtt=qd();function Stt(r,e){return(0,wtt.previousDay)(r,5,e)}});var BSe=x(zSe=>{"use strict";zSe.previousMonday=Ett;var xtt=qd();function Ett(r,e){return(0,xtt.previousDay)(r,1,e)}});var HSe=x(qSe=>{"use strict";qSe.previousSaturday=Ctt;var Dtt=qd();function Ctt(r,e){return(0,Dtt.previousDay)(r,6,e)}});var VSe=x(USe=>{"use strict";USe.previousSunday=_tt;var Ptt=qd();function _tt(r,e){return(0,Ptt.previousDay)(r,0,e)}});var YSe=x(WSe=>{"use strict";WSe.previousThursday=Att;var Mtt=qd();function Att(r,e){return(0,Mtt.previousDay)(r,4,e)}});var KSe=x(GSe=>{"use strict";GSe.previousTuesday=Ntt;var Itt=qd();function Ntt(r,e){return(0,Itt.previousDay)(r,2,e)}});var QSe=x(ZSe=>{"use strict";ZSe.previousWednesday=Ott;var Rtt=qd();function Ott(r,e){return(0,Rtt.previousDay)(r,3,e)}});var XSe=x(JSe=>{"use strict";JSe.quartersToMonths=Ftt;var Ltt=pt();function Ftt(r){return Math.trunc(r*Ltt.monthsInQuarter)}});var txe=x(exe=>{"use strict";exe.quartersToYears=jtt;var $tt=pt();function jtt(r){let e=r/$tt.quartersInYear;return Math.trunc(e)}});var nxe=x(rxe=>{"use strict";rxe.roundToNearestHours=Htt;var ztt=jd(),Btt=je(),qtt=K();function Htt(r,e){var u,p;let t=(u=e==null?void 0:e.nearestTo)!=null?u:1;if(t<1||t>12)return(0,Btt.constructFrom)((e==null?void 0:e.in)||r,NaN);let n=(0,qtt.toDate)(r,e==null?void 0:e.in),i=n.getMinutes()/60,s=n.getSeconds()/60/60,a=n.getMilliseconds()/1e3/60/60,o=n.getHours()+i+s+a,l=(p=e==null?void 0:e.roundingMethod)!=null?p:"round",d=(0,ztt.getRoundingMethod)(l)(o/t)*t;return n.setHours(d,0,0,0),n}});var sxe=x(ixe=>{"use strict";ixe.roundToNearestMinutes=Ytt;var Utt=jd(),Vtt=je(),Wtt=K();function Ytt(r,e){var d,u;let t=(d=e==null?void 0:e.nearestTo)!=null?d:1;if(t<1||t>30)return(0,Vtt.constructFrom)(r,NaN);let n=(0,Wtt.toDate)(r,e==null?void 0:e.in),i=n.getSeconds()/60,s=n.getMilliseconds()/1e3/60,a=n.getMinutes()+i+s,o=(u=e==null?void 0:e.roundingMethod)!=null?u:"round",c=(0,Utt.getRoundingMethod)(o)(a/t)*t;return n.setMinutes(c,0,0),n}});var oxe=x(axe=>{"use strict";axe.secondsToHours=Ktt;var Gtt=pt();function Ktt(r){let e=r/Gtt.secondsInHour;return Math.trunc(e)}});var cxe=x(lxe=>{"use strict";lxe.secondsToMilliseconds=Qtt;var Ztt=pt();function Qtt(r){return r*Ztt.millisecondsInSecond}});var uxe=x(dxe=>{"use strict";dxe.secondsToMinutes=Xtt;var Jtt=pt();function Xtt(r){let e=r/Jtt.secondsInMinute;return Math.trunc(e)}});var MA=x(pxe=>{"use strict";pxe.setMonth=nrt;var ert=je(),trt=VB(),rrt=K();function nrt(r,e,t){let n=(0,rrt.toDate)(r,t==null?void 0:t.in),i=n.getFullYear(),s=n.getDate(),a=(0,ert.constructFrom)((t==null?void 0:t.in)||r,0);a.setFullYear(i,e,15),a.setHours(0,0,0,0);let o=(0,trt.getDaysInMonth)(a);return n.setMonth(e,Math.min(s,o)),n}});var fxe=x(mxe=>{"use strict";mxe.set=ort;var irt=je(),srt=MA(),art=K();function ort(r,e,t){let n=(0,art.toDate)(r,t==null?void 0:t.in);return isNaN(+n)?(0,irt.constructFrom)((t==null?void 0:t.in)||r,NaN):(e.year!=null&&n.setFullYear(e.year),e.month!=null&&(n=(0,srt.setMonth)(n,e.month)),e.date!=null&&n.setDate(e.date),e.hours!=null&&n.setHours(e.hours),e.minutes!=null&&n.setMinutes(e.minutes),e.seconds!=null&&n.setSeconds(e.seconds),e.milliseconds!=null&&n.setMilliseconds(e.milliseconds),n)}});var gxe=x(hxe=>{"use strict";hxe.setDate=crt;var lrt=K();function crt(r,e,t){let n=(0,lrt.toDate)(r,t==null?void 0:t.in);return n.setDate(e),n}});var vxe=x(yxe=>{"use strict";yxe.setDayOfYear=urt;var drt=K();function urt(r,e,t){let n=(0,drt.toDate)(r,t==null?void 0:t.in);return n.setMonth(0),n.setDate(e),n}});var kxe=x(Txe=>{"use strict";Txe.setDefaultOptions=prt;var bxe=Hi();function prt(r){let e={},t=(0,bxe.getDefaultOptions)();for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);for(let n in r)Object.prototype.hasOwnProperty.call(r,n)&&(r[n]===void 0?delete e[n]:e[n]=r[n]);(0,bxe.setDefaultOptions)(e)}});var Sxe=x(wxe=>{"use strict";wxe.setHours=frt;var mrt=K();function frt(r,e,t){let n=(0,mrt.toDate)(r,t==null?void 0:t.in);return n.setHours(e),n}});var Exe=x(xxe=>{"use strict";xxe.setMilliseconds=grt;var hrt=K();function grt(r,e,t){let n=(0,hrt.toDate)(r,t==null?void 0:t.in);return n.setMilliseconds(e),n}});var Cxe=x(Dxe=>{"use strict";Dxe.setMinutes=vrt;var yrt=K();function vrt(r,e,t){let n=(0,yrt.toDate)(r,t==null?void 0:t.in);return n.setMinutes(e),n}});var _xe=x(Pxe=>{"use strict";Pxe.setQuarter=krt;var brt=MA(),Trt=K();function krt(r,e,t){let n=(0,Trt.toDate)(r,t==null?void 0:t.in),i=Math.trunc(n.getMonth()/3)+1,s=e-i;return(0,brt.setMonth)(n,n.getMonth()+s*3)}});var Axe=x(Mxe=>{"use strict";Mxe.setSeconds=Srt;var wrt=K();function Srt(r,e,t){let n=(0,wrt.toDate)(r,t==null?void 0:t.in);return n.setSeconds(e),n}});var Rxe=x(Nxe=>{"use strict";Nxe.setWeekYear=Prt;var xrt=Hi(),Ert=je(),Drt=Fd(),Ixe=TA(),Crt=K();function Prt(r,e,t){var l,c,d,u,p,m,f,h;let n=(0,xrt.getDefaultOptions)(),i=(h=(f=(u=(d=t==null?void 0:t.firstWeekContainsDate)!=null?d:(c=(l=t==null?void 0:t.locale)==null?void 0:l.options)==null?void 0:c.firstWeekContainsDate)!=null?u:n.firstWeekContainsDate)!=null?f:(m=(p=n.locale)==null?void 0:p.options)==null?void 0:m.firstWeekContainsDate)!=null?h:1,s=(0,Drt.differenceInCalendarDays)((0,Crt.toDate)(r,t==null?void 0:t.in),(0,Ixe.startOfWeekYear)(r,t),t),a=(0,Ert.constructFrom)((t==null?void 0:t.in)||r,0);a.setFullYear(e,0,i),a.setHours(0,0,0,0);let o=(0,Ixe.startOfWeekYear)(a,t);return o.setDate(o.getDate()+s),o}});var Lxe=x(Oxe=>{"use strict";Oxe.setYear=Art;var _rt=je(),Mrt=K();function Art(r,e,t){let n=(0,Mrt.toDate)(r,t==null?void 0:t.in);return isNaN(+n)?(0,_rt.constructFrom)((t==null?void 0:t.in)||r,NaN):(n.setFullYear(e),n)}});var $xe=x(Fxe=>{"use strict";Fxe.startOfDecade=Nrt;var Irt=K();function Nrt(r,e){let t=(0,Irt.toDate)(r,e==null?void 0:e.in),n=t.getFullYear(),i=Math.floor(n/10)*10;return t.setFullYear(i,0,1),t.setHours(0,0,0,0),t}});var zxe=x(jxe=>{"use strict";jxe.startOfToday=Ort;var Rrt=bx();function Ort(r){return(0,Rrt.startOfDay)(Date.now(),r)}});var qxe=x(Bxe=>{"use strict";Bxe.startOfTomorrow=$rt;var Lrt=je(),Frt=Un();function $rt(r){let e=(0,Frt.constructNow)(r==null?void 0:r.in),t=e.getFullYear(),n=e.getMonth(),i=e.getDate(),s=(0,Lrt.constructFrom)(r==null?void 0:r.in,0);return s.setFullYear(t,n,i+1),s.setHours(0,0,0,0),s}});var Vxe=x(Uxe=>{"use strict";Uxe.startOfYesterday=jrt;var Hxe=Un();function jrt(r){let e=(0,Hxe.constructNow)(r==null?void 0:r.in),t=e.getFullYear(),n=e.getMonth(),i=e.getDate(),s=(0,Hxe.constructNow)(r==null?void 0:r.in);return s.setFullYear(t,n,i-1),s.setHours(0,0,0,0),s}});var jH=x(Wxe=>{"use strict";Wxe.subMonths=Brt;var zrt=fv();function Brt(r,e,t){return(0,zrt.addMonths)(r,-e,t)}});var Gxe=x(Yxe=>{"use strict";Yxe.sub=Vrt;var qrt=je(),Hrt=zx(),Urt=jH();function Vrt(r,e,t){let{years:n=0,months:i=0,weeks:s=0,days:a=0,hours:o=0,minutes:l=0,seconds:c=0}=e,d=(0,Urt.subMonths)(r,i+n*12,t),u=(0,Hrt.subDays)(d,a+s*7,t),p=l+o*60,f=(c+p*60)*1e3;return(0,qrt.constructFrom)((t==null?void 0:t.in)||r,+u-f)}});var Zxe=x(Kxe=>{"use strict";Kxe.subBusinessDays=Yrt;var Wrt=iB();function Yrt(r,e,t){return(0,Wrt.addBusinessDays)(r,-e,t)}});var Jxe=x(Qxe=>{"use strict";Qxe.subHours=Krt;var Grt=sB();function Krt(r,e,t){return(0,Grt.addHours)(r,-e,t)}});var eEe=x(Xxe=>{"use strict";Xxe.subMilliseconds=Qrt;var Zrt=vx();function Qrt(r,e,t){return(0,Zrt.addMilliseconds)(r,-e,t)}});var rEe=x(tEe=>{"use strict";tEe.subMinutes=Xrt;var Jrt=rA();function Xrt(r,e,t){return(0,Jrt.addMinutes)(r,-e,t)}});var iEe=x(nEe=>{"use strict";nEe.subQuarters=tnt;var ent=nA();function tnt(r,e,t){return(0,ent.addQuarters)(r,-e,t)}});var aEe=x(sEe=>{"use strict";sEe.subSeconds=nnt;var rnt=cB();function nnt(r,e,t){return(0,rnt.addSeconds)(r,-e,t)}});var lEe=x(oEe=>{"use strict";oEe.subWeeks=snt;var int=Tx();function snt(r,e,t){return(0,int.addWeeks)(r,-e,t)}});var dEe=x(cEe=>{"use strict";cEe.subYears=ont;var ant=dB();function ont(r,e,t){return(0,ant.addYears)(r,-e,t)}});var pEe=x(uEe=>{"use strict";uEe.weeksToDays=cnt;var lnt=pt();function cnt(r){return Math.trunc(r*lnt.daysInWeek)}});var fEe=x(mEe=>{"use strict";mEe.yearsToDays=unt;var dnt=pt();function unt(r){return Math.trunc(r*dnt.daysInYear)}});var gEe=x(hEe=>{"use strict";hEe.yearsToMonths=mnt;var pnt=pt();function mnt(r){return Math.trunc(r*pnt.monthsInYear)}});var vEe=x(yEe=>{"use strict";yEe.yearsToQuarters=hnt;var fnt=pt();function hnt(r){return Math.trunc(r*fnt.quartersInYear)}});var bEe=x(b=>{"use strict";var zH=eB();Object.keys(zH).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===zH[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return zH[r]}})});var BH=iB();Object.keys(BH).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===BH[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return BH[r]}})});var qH=lc();Object.keys(qH).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===qH[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return qH[r]}})});var HH=sB();Object.keys(HH).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===HH[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return HH[r]}})});var UH=lB();Object.keys(UH).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===UH[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return UH[r]}})});var VH=vx();Object.keys(VH).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===VH[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return VH[r]}})});var WH=rA();Object.keys(WH).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===WH[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return WH[r]}})});var YH=fv();Object.keys(YH).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===YH[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return YH[r]}})});var GH=nA();Object.keys(GH).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===GH[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return GH[r]}})});var KH=cB();Object.keys(KH).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===KH[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return KH[r]}})});var ZH=Tx();Object.keys(ZH).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===ZH[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return ZH[r]}})});var QH=dB();Object.keys(QH).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===QH[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return QH[r]}})});var JH=yge();Object.keys(JH).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===JH[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return JH[r]}})});var XH=Sge();Object.keys(XH).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===XH[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return XH[r]}})});var eU=mB();Object.keys(eU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===eU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return eU[r]}})});var tU=Cge();Object.keys(tU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===tU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return tU[r]}})});var rU=qf();Object.keys(rU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===rU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return rU[r]}})});var nU=Ige();Object.keys(nU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===nU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return nU[r]}})});var iU=je();Object.keys(iU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===iU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return iU[r]}})});var sU=Un();Object.keys(sU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===sU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return sU[r]}})});var aU=Oge();Object.keys(aU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===aU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return aU[r]}})});var oU=Hge();Object.keys(oU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===oU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return oU[r]}})});var lU=Fd();Object.keys(lU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===lU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return lU[r]}})});var cU=hB();Object.keys(cU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===cU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return cU[r]}})});var dU=Kge();Object.keys(dU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===dU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return dU[r]}})});var uU=sA();Object.keys(uU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===uU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return uU[r]}})});var pU=yB();Object.keys(pU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===pU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return pU[r]}})});var mU=aA();Object.keys(mU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===mU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return mU[r]}})});var fU=oA();Object.keys(fU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===fU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return fU[r]}})});var hU=lA();Object.keys(hU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===hU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return hU[r]}})});var gU=cA();Object.keys(gU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===gU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return gU[r]}})});var yU=uye();Object.keys(yU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===yU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return yU[r]}})});var vU=dA();Object.keys(vU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===vU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return vU[r]}})});var bU=uA();Object.keys(bU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===bU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return bU[r]}})});var TU=kx();Object.keys(TU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===TU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return TU[r]}})});var kU=Tye();Object.keys(kU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===kU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return kU[r]}})});var wU=wx();Object.keys(wU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===wU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return wU[r]}})});var SU=Sye();Object.keys(SU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===SU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return SU[r]}})});var xU=kB();Object.keys(xU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===xU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return xU[r]}})});var EU=wB();Object.keys(EU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===EU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return EU[r]}})});var DU=_ye();Object.keys(DU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===DU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return DU[r]}})});var CU=Aye();Object.keys(CU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===CU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return CU[r]}})});var PU=Nye();Object.keys(PU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===PU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return PU[r]}})});var _U=Lye();Object.keys(_U).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===_U[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return _U[r]}})});var MU=$ye();Object.keys(MU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===MU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return MU[r]}})});var AU=yA();Object.keys(AU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===AU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return AU[r]}})});var IU=qye();Object.keys(IU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===IU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return IU[r]}})});var NU=Wye();Object.keys(NU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===NU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return NU[r]}})});var RU=Gye();Object.keys(RU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===RU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return RU[r]}})});var OU=pA();Object.keys(OU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===OU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return OU[r]}})});var LU=Zye();Object.keys(LU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===LU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return LU[r]}})});var FU=Jye();Object.keys(FU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===FU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return FU[r]}})});var $U=tve();Object.keys($U).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===$U[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return $U[r]}})});var jU=nve();Object.keys(jU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===jU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return jU[r]}})});var zU=sve();Object.keys(zU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===zU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return zU[r]}})});var BU=mA();Object.keys(BU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===BU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return BU[r]}})});var qU=ove();Object.keys(qU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===qU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return qU[r]}})});var HU=cve();Object.keys(HU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===HU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return HU[r]}})});var UU=uve();Object.keys(UU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===UU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return UU[r]}})});var VU=fve();Object.keys(VU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===VU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return VU[r]}})});var WU=xB();Object.keys(WU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===WU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return WU[r]}})});var YU=SB();Object.keys(YU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===YU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return YU[r]}})});var GU=gve();Object.keys(GU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===GU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return GU[r]}})});var KU=BB();Object.keys(KU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===KU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return KU[r]}})});var ZU=qB();Object.keys(ZU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===ZU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return ZU[r]}})});var QU=HB();Object.keys(QU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===QU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return QU[r]}})});var JU=Qve();Object.keys(JU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===JU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return JU[r]}})});var XU=Xve();Object.keys(XU).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===XU[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return XU[r]}})});var eV=tbe();Object.keys(eV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===eV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return eV[r]}})});var tV=nbe();Object.keys(tV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===tV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return tV[r]}})});var rV=sbe();Object.keys(rV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===rV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return rV[r]}})});var nV=obe();Object.keys(nV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===nV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return nV[r]}})});var iV=cbe();Object.keys(iV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===iV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return iV[r]}})});var sV=ube();Object.keys(sV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===sV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return sV[r]}})});var aV=mbe();Object.keys(aV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===aV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return aV[r]}})});var oV=hbe();Object.keys(oV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===oV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return oV[r]}})});var lV=UB();Object.keys(lV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===lV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return lV[r]}})});var cV=Px();Object.keys(cV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===cV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return cV[r]}})});var dV=IB();Object.keys(dV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===dV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return dV[r]}})});var uV=VB();Object.keys(uV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===uV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return uV[r]}})});var pV=kbe();Object.keys(pV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===pV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return pV[r]}})});var mV=Sbe();Object.keys(mV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===mV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return mV[r]}})});var fV=YB();Object.keys(fV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===fV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return fV[r]}})});var hV=Dbe();Object.keys(hV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===hV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return hV[r]}})});var gV=GB();Object.keys(gV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===gV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return gV[r]}})});var yV=bA();Object.keys(yV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===yV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return yV[r]}})});var vV=Tp();Object.keys(vV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===vV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return vV[r]}})});var bV=Mbe();Object.keys(bV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===bV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return bV[r]}})});var TV=Ibe();Object.keys(TV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===TV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return TV[r]}})});var kV=Rbe();Object.keys(kV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===kV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return kV[r]}})});var wV=Lbe();Object.keys(wV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===wV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return wV[r]}})});var SV=jbe();Object.keys(SV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===SV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return SV[r]}})});var xV=gB();Object.keys(xV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===xV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return xV[r]}})});var EV=Bbe();Object.keys(EV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===EV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return EV[r]}})});var DV=Hbe();Object.keys(DV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===DV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return DV[r]}})});var CV=Vbe();Object.keys(CV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===CV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return CV[r]}})});var PV=kA();Object.keys(PV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===PV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return PV[r]}})});var _V=Ybe();Object.keys(_V).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===_V[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return _V[r]}})});var MV=Dx();Object.keys(MV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===MV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return MV[r]}})});var AV=Qbe();Object.keys(AV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===AV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return AV[r]}})});var IV=Xbe();Object.keys(IV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===IV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return IV[r]}})});var NV=tTe();Object.keys(NV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===NV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return NV[r]}})});var RV=nTe();Object.keys(RV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===RV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return RV[r]}})});var OV=sTe();Object.keys(OV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===OV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return OV[r]}})});var LV=oTe();Object.keys(LV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===LV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return LV[r]}})});var FV=cTe();Object.keys(FV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===FV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return FV[r]}})});var $V=uTe();Object.keys($V).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===$V[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return $V[r]}})});var jV=yTe();Object.keys(jV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===jV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return jV[r]}})});var zV=TTe();Object.keys(zV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===zV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return zV[r]}})});var BV=STe();Object.keys(BV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===BV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return BV[r]}})});var qV=fB();Object.keys(qV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===qV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return qV[r]}})});var HV=DTe();Object.keys(HV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===HV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return HV[r]}})});var UV=PTe();Object.keys(UV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===UV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return UV[r]}})});var VV=MTe();Object.keys(VV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===VV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return VV[r]}})});var WV=ITe();Object.keys(WV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===WV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return WV[r]}})});var YV=RTe();Object.keys(YV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===YV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return YV[r]}})});var GV=bB();Object.keys(GV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===GV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return GV[r]}})});var KV=WB();Object.keys(KV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===KV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return KV[r]}})});var ZV=Oke();Object.keys(ZV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===ZV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return ZV[r]}})});var QV=Fke();Object.keys(QV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===QV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return QV[r]}})});var JV=jke();Object.keys(JV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===JV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return JV[r]}})});var XV=gv();Object.keys(XV).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===XV[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return XV[r]}})});var eW=DH();Object.keys(eW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===eW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return eW[r]}})});var tW=CH();Object.keys(tW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===tW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return tW[r]}})});var rW=Gke();Object.keys(rW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===rW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return rW[r]}})});var nW=_H();Object.keys(nW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===nW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return nW[r]}})});var iW=MH();Object.keys(iW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===iW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return iW[r]}})});var sW=AH();Object.keys(sW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===sW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return sW[r]}})});var aW=NH();Object.keys(aW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===aW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return aW[r]}})});var oW=CA();Object.keys(oW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===oW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return oW[r]}})});var lW=RH();Object.keys(lW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===lW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return lW[r]}})});var cW=tB();Object.keys(cW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===cW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return cW[r]}})});var dW=rB();Object.keys(dW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===dW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return dW[r]}})});var uW=awe();Object.keys(uW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===uW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return uW[r]}})});var pW=lwe();Object.keys(pW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===pW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return pW[r]}})});var mW=dwe();Object.keys(mW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===mW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return mW[r]}})});var fW=pwe();Object.keys(fW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===fW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return fW[r]}})});var hW=fwe();Object.keys(hW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===hW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return hW[r]}})});var gW=gwe();Object.keys(gW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===gW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return gW[r]}})});var yW=vwe();Object.keys(yW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===yW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return yW[r]}})});var vW=Twe();Object.keys(vW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===vW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return vW[r]}})});var bW=wwe();Object.keys(bW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===bW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return bW[r]}})});var TW=xwe();Object.keys(TW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===TW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return TW[r]}})});var kW=Dwe();Object.keys(kW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===kW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return kW[r]}})});var wW=Pwe();Object.keys(wW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===wW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return wW[r]}})});var SW=$d();Object.keys(SW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===SW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return SW[r]}})});var xW=Mwe();Object.keys(xW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===xW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return xW[r]}})});var EW=yx();Object.keys(EW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===EW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return EW[r]}})});var DW=Iwe();Object.keys(DW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===DW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return DW[r]}})});var CW=Owe();Object.keys(CW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===CW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return CW[r]}})});var PW=$we();Object.keys(PW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===PW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return PW[r]}})});var _W=Bwe();Object.keys(_W).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===_W[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return _W[r]}})});var MW=Hwe();Object.keys(MW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===MW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return MW[r]}})});var AW=KB();Object.keys(AW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===AW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return AW[r]}})});var IW=Vwe();Object.keys(IW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===IW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return IW[r]}})});var NW=LH();Object.keys(NW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===NW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return NW[r]}})});var RW=Ywe();Object.keys(RW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===RW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return RW[r]}})});var OW=Kwe();Object.keys(OW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===OW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return OW[r]}})});var LW=uB();Object.keys(LW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===LW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return LW[r]}})});var FW=Jwe();Object.keys(FW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===FW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return FW[r]}})});var $W=eSe();Object.keys($W).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===$W[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return $W[r]}})});var jW=rSe();Object.keys(jW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===jW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return jW[r]}})});var zW=iSe();Object.keys(zW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===zW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return zW[r]}})});var BW=pB();Object.keys(BW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===BW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return BW[r]}})});var qW=aSe();Object.keys(qW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===qW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return qW[r]}})});var HW=lSe();Object.keys(HW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===HW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return HW[r]}})});var UW=dSe();Object.keys(UW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===UW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return UW[r]}})});var VW=pSe();Object.keys(VW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===VW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return VW[r]}})});var WW=fSe();Object.keys(WW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===WW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return WW[r]}})});var YW=Bd();Object.keys(YW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===YW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return YW[r]}})});var GW=ySe();Object.keys(GW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===GW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return GW[r]}})});var KW=bSe();Object.keys(KW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===KW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return KW[r]}})});var ZW=kSe();Object.keys(ZW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===ZW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return ZW[r]}})});var QW=SSe();Object.keys(QW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===QW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return QW[r]}})});var JW=ESe();Object.keys(JW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===JW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return JW[r]}})});var XW=CSe();Object.keys(XW).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===XW[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return XW[r]}})});var e4=_Se();Object.keys(e4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===e4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return e4[r]}})});var t4=xH();Object.keys(t4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===t4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return t4[r]}})});var r4=NSe();Object.keys(r4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===r4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return r4[r]}})});var n4=LSe();Object.keys(n4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===n4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return n4[r]}})});var i4=qd();Object.keys(i4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===i4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return i4[r]}})});var s4=jSe();Object.keys(s4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===s4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return s4[r]}})});var a4=BSe();Object.keys(a4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===a4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return a4[r]}})});var o4=HSe();Object.keys(o4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===o4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return o4[r]}})});var l4=VSe();Object.keys(l4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===l4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return l4[r]}})});var c4=YSe();Object.keys(c4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===c4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return c4[r]}})});var d4=KSe();Object.keys(d4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===d4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return d4[r]}})});var u4=QSe();Object.keys(u4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===u4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return u4[r]}})});var p4=XSe();Object.keys(p4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===p4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return p4[r]}})});var m4=txe();Object.keys(m4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===m4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return m4[r]}})});var f4=nxe();Object.keys(f4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===f4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return f4[r]}})});var h4=sxe();Object.keys(h4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===h4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return h4[r]}})});var g4=oxe();Object.keys(g4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===g4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return g4[r]}})});var y4=cxe();Object.keys(y4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===y4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return y4[r]}})});var v4=uxe();Object.keys(v4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===v4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return v4[r]}})});var b4=fxe();Object.keys(b4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===b4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return b4[r]}})});var T4=gxe();Object.keys(T4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===T4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return T4[r]}})});var k4=Rx();Object.keys(k4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===k4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return k4[r]}})});var w4=vxe();Object.keys(w4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===w4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return w4[r]}})});var S4=kxe();Object.keys(S4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===S4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return S4[r]}})});var x4=Sxe();Object.keys(x4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===x4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return x4[r]}})});var E4=Vq();Object.keys(E4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===E4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return E4[r]}})});var D4=Pq();Object.keys(D4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===D4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return D4[r]}})});var C4=oB();Object.keys(C4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===C4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return C4[r]}})});var P4=Exe();Object.keys(P4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===P4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return P4[r]}})});var _4=Cxe();Object.keys(_4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===_4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return _4[r]}})});var M4=MA();Object.keys(M4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===M4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return M4[r]}})});var A4=_xe();Object.keys(A4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===A4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return A4[r]}})});var I4=Axe();Object.keys(I4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===I4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return I4[r]}})});var N4=Eq();Object.keys(N4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===N4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return N4[r]}})});var R4=Rxe();Object.keys(R4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===R4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return R4[r]}})});var O4=Lxe();Object.keys(O4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===O4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return O4[r]}})});var L4=bx();Object.keys(L4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===L4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return L4[r]}})});var F4=$xe();Object.keys(F4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===F4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return F4[r]}})});var $4=EH();Object.keys($4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===$4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return $4[r]}})});var j4=cc();Object.keys(j4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===j4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return j4[r]}})});var z4=hv();Object.keys(z4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===z4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return z4[r]}})});var B4=PH();Object.keys(B4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===B4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return B4[r]}})});var q4=Sx();Object.keys(q4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===q4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return q4[r]}})});var H4=fA();Object.keys(H4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===H4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return H4[r]}})});var U4=IH();Object.keys(U4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===U4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return U4[r]}})});var V4=zxe();Object.keys(V4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===V4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return V4[r]}})});var W4=qxe();Object.keys(W4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===W4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return W4[r]}})});var Y4=sl();Object.keys(Y4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===Y4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return Y4[r]}})});var G4=TA();Object.keys(G4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===G4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return G4[r]}})});var K4=vA();Object.keys(K4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===K4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return K4[r]}})});var Z4=Vxe();Object.keys(Z4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===Z4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return Z4[r]}})});var Q4=Gxe();Object.keys(Q4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===Q4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return Q4[r]}})});var J4=Zxe();Object.keys(J4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===J4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return J4[r]}})});var X4=zx();Object.keys(X4).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===X4[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return X4[r]}})});var e3=Jxe();Object.keys(e3).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===e3[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return e3[r]}})});var t3=vB();Object.keys(t3).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===t3[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return t3[r]}})});var r3=eEe();Object.keys(r3).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===r3[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return r3[r]}})});var n3=rEe();Object.keys(n3).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===n3[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return n3[r]}})});var i3=jH();Object.keys(i3).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===i3[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return i3[r]}})});var s3=iEe();Object.keys(s3).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===s3[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return s3[r]}})});var a3=aEe();Object.keys(a3).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===a3[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return a3[r]}})});var o3=lEe();Object.keys(o3).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===o3[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return o3[r]}})});var l3=dEe();Object.keys(l3).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===l3[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return l3[r]}})});var c3=K();Object.keys(c3).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===c3[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return c3[r]}})});var d3=eq();Object.keys(d3).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===d3[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return d3[r]}})});var u3=pEe();Object.keys(u3).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===u3[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return u3[r]}})});var p3=fEe();Object.keys(p3).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===p3[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return p3[r]}})});var m3=gEe();Object.keys(m3).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===m3[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return m3[r]}})});var f3=vEe();Object.keys(f3).forEach(function(r){r==="default"||r==="__esModule"||r in b&&b[r]===f3[r]||Object.defineProperty(b,r,{enumerable:!0,get:function(){return f3[r]}})})});var Hd,AA,TEe=v(()=>{Hd=require("obsidian");QM();uv();X2();eA();AA=class extends mv{constructor(t,n){super();this.providerId="microsoft";this.providerName="Microsoft Calendar";this.baseUrl="https://graph.microsoft.com/v1.0";this.cache=new Map;this.refreshTimer=null;this.availableCalendars=[];this.lastManualRefresh=0;this.plugin=t,this.oauthService=n}sleep(t){return new Promise(n=>window.setTimeout(n,t))}async withRetry(t,n){let{MAX_RETRIES:i,INITIAL_BACKOFF_MS:s,MAX_BACKOFF_MS:a,BACKOFF_MULTIPLIER:o}=cv.RATE_LIMIT,l=null,c=s;for(let d=0;d<=i;d++)try{return await t()}catch(u){l=u;let p=u.status===429,m=u.status>=500&&u.status<600,f=d===i;if(!p&&!m)throw u;if(f)throw console.error(`[MicrosoftCalendar] ${n} failed after ${i} retries`),u;let h=Math.random()*.3*c,g=Math.min(c+h,a);console.warn(`[MicrosoftCalendar] ${n} failed (${u.status}), retrying in ${Math.round(g)}ms (attempt ${d+1}/${i})`),await this.sleep(g),c=Math.min(c*o,a)}throw l instanceof Error?l:new Error(String(l))}getAvailableCalendars(){return this.availableCalendars}getEnabledCalendarIds(){return this.plugin.settings.enabledMicrosoftCalendars.length===0?this.availableCalendars.map(t=>t.id):this.plugin.settings.enabledMicrosoftCalendars}getSyncToken(t){var n;return(n=this.plugin.settings.microsoftCalendarSyncTokens)==null?void 0:n[t]}async saveSyncToken(t,n){this.plugin.settings.microsoftCalendarSyncTokens||(this.plugin.settings.microsoftCalendarSyncTokens={}),this.plugin.settings.microsoftCalendarSyncTokens[t]!==n&&(this.plugin.settings.microsoftCalendarSyncTokens[t]=n,await this.persistSettingsDataOnly())}async clearSyncToken(t){this.plugin.settings.microsoftCalendarSyncTokens&&t in this.plugin.settings.microsoftCalendarSyncTokens&&(delete this.plugin.settings.microsoftCalendarSyncTokens[t],await this.persistSettingsDataOnly())}async persistSettingsDataOnly(){let t=this.plugin.saveSettingsDataOnly;typeof t=="function"&&await t.call(this.plugin)}async initialize(){await this.oauthService.isConnected("microsoft")&&(await this.refreshAllCalendars(),this.startRefreshTimer())}startRefreshTimer(){this.refreshTimer&&window.clearTimeout(this.refreshTimer),this.refreshTimer=window.setTimeout(()=>{this.refreshTimer=null,this.refreshAllCalendars().catch(t=>{console.error("Microsoft Calendar refresh failed:",t)}).finally(()=>{this.oauthService.isConnected("microsoft").then(t=>{t&&this.startRefreshTimer()})})},cv.REFRESH_INTERVAL_MS)}stopRefreshTimer(){this.refreshTimer&&(window.clearTimeout(this.refreshTimer),this.refreshTimer=null)}async listCalendars(){try{return await this.withRetry(async()=>{let t=await this.oauthService.getValidToken("microsoft"),n=[],i=`${this.baseUrl}/me/calendars`;for(;i;){let a=(await(0,Hd.requestUrl)({url:i,method:"GET",headers:{Authorization:`Bearer ${t}`,Accept:"application/json"}})).json,o=a.value||[];n.push(...o),i=a["@odata.nextLink"]}return n.map(s=>({id:s.id,summary:s.name,name:s.name,color:s.hexColor||void 0,backgroundColor:s.hexColor||void 0,primary:s.isDefaultCalendar||!1,isDefault:s.isDefaultCalendar||!1}))},"List calendars")}catch(t){throw console.error("Failed to list calendars:",t),new mi(`Failed to fetch calendar list: ${t.message}`,t.status)}}async fetchCalendarEvents(t,n,i){try{let s=await this.oauthService.getValidToken("microsoft"),a=this.getSyncToken(t),o=[],l,c,d=!a,u=!1,p;if(a)p=a;else{let m=new Date,f=n||new Date(m.getTime()-720*60*60*1e3),h=i||new Date(m.getTime()+2160*60*60*1e3),g=new URLSearchParams({startDateTime:f.toISOString(),endDateTime:h.toISOString(),$top:cv.MAX_RESULTS_PER_REQUEST.toString()});p=`${this.baseUrl}/me/calendars/${encodeURIComponent(t)}/calendarView?${g.toString()}`}do try{let f=(await this.withRetry(async()=>{let g=[`odata.maxpagesize=${cv.MAX_RESULTS_PER_REQUEST}`,'outlook.timezone="UTC"'];return await(0,Hd.requestUrl)({url:l||p,method:"GET",headers:{Authorization:`Bearer ${s}`,Accept:"application/json",Prefer:g.join(", ")}})},`Fetch events for ${t}`)).json,h=f.value||[];!d&&h.some(g=>g.isCancelled||g["@removed"])&&(u=!0),o.push(...h),l=f["@odata.nextLink"],f["@odata.deltaLink"]&&(c=f["@odata.deltaLink"])}catch(m){if(m.status===410)return await this.clearSyncToken(t),await this.fetchCalendarEvents(t,n,i);throw m}while(l);return c&&await this.saveSyncToken(t,c),{events:o,isFullSync:d,hasDeletes:u}}catch(s){throw console.error(`Failed to fetch events from calendar ${t}:`,s),new Error(`Failed to fetch calendar events: ${s.message}`)}}convertToICSEvent(t,n){var l,c;if(!t.start||!t.end)throw new Error("Event missing start/end");let i,s,a=t.isAllDay||!1;if(a)i=t.start.dateTime.split("T")[0],s=t.end.dateTime.split("T")[0];else{let{format:d,parseISO:u}=bEe(),p=this.ensureUtcDateTime(t.start.dateTime,t.start.timeZone),m=this.ensureUtcDateTime(t.end.dateTime,t.end.timeZone),f=u(p),h=u(m);i=d(f,"yyyy-MM-dd'T'HH:mm:ss"),s=d(h,"yyyy-MM-dd'T'HH:mm:ss")}return{id:`microsoft-${n}-${t.id}`,subscriptionId:`microsoft-${n}`,title:t.subject||"Untitled Event",description:t.bodyPreview||((l=t.body)==null?void 0:l.content),start:i,end:s,allDay:a,location:(c=t.location)==null?void 0:c.displayName,url:t.webLink,color:"#0078D4"}}async refreshAllCalendars(){try{if(!await this.oauthService.isConnected("microsoft"))return;this.availableCalendars=await this.listCalendars();let n=this.getEnabledCalendarIds(),i=this.cache.get("all")||[];for(let s of n)try{let{events:a,isFullSync:o}=await this.fetchCalendarEvents(s);if(o){i=i.filter(c=>c.subscriptionId!==`microsoft-${s}`);let l=a.filter(c=>!c.isCancelled&&!c["@removed"]).map(c=>this.convertToICSEvent(c,s));i.push(...l)}else for(let l of a){let c=l["@removed"],d=`microsoft-${s}-${l.id}`,u=i.findIndex(p=>p.id===d);if(c){u!==-1&&i.splice(u,1);continue}if(l.isCancelled)u!==-1&&i.splice(u,1);else try{let p=this.convertToICSEvent(l,s);u!==-1?i[u]=p:i.push(p)}catch(p){console.warn("[MicrosoftCalendar] Failed to convert event during refresh",l.id,p)}}}catch(a){console.error(`Failed to fetch events from calendar ${s}:`,a)}this.cache.set("all",i),this.emit("data-changed")}catch(t){console.error("Failed to refresh Microsoft calendars:",t),t.message&&t.message.includes("401")&&console.warn("[MicrosoftCalendar] Authentication expired - caller should handle re-authentication")}}getAllEvents(){return this.cache.get("all")||[]}getCachedEvents(){return this.getAllEvents()}async getEvents(t,n,i){let{events:s}=await this.fetchCalendarEvents(t,n,i),a=[];for(let o of s)if(!(o["@removed"]||o.isCancelled))try{a.push(this.convertToICSEvent(o,t))}catch(l){console.warn("[MicrosoftCalendar] Skipping event due to conversion failure",o.id,l)}return a}async manualRefresh(){return this.refresh()}async disconnect(){this.clearCache(),this.stopRefreshTimer()}async refresh(){let t=Date.now(),n=t-this.lastManualRefresh,i=cv.MIN_MANUAL_REFRESH_INTERVAL_MS;if(n<i){let s=i-n;new Hd.Notice(`Please wait ${Math.ceil(s/1e3)}s before refreshing again`);return}this.lastManualRefresh=t,await this.refreshAllCalendars()}clearCache(){this.cache.clear()}async updateEvent(t,n,i){bp(t),pv(n),fo(i,"updates");try{let s=await this.oauthService.getValidToken("microsoft"),a={};(i.title!==void 0||i.summary!==void 0)&&(a.subject=i.summary||i.title),i.description!==void 0&&(a.body={contentType:"text",content:i.description});let o=!1,l=!1;i.start!==void 0&&(o=!0,typeof i.start=="string"?(l=i.isAllDay!==void 0?i.isAllDay:!/T/.test(i.start),a.start={dateTime:i.start,timeZone:"UTC"}):(a.start={dateTime:i.start.dateTime||i.start.date,timeZone:i.start.timeZone||"UTC"},i.start.date&&!i.start.dateTime&&(l=!0))),i.end!==void 0&&(o=!0,typeof i.end=="string"?a.end={dateTime:i.end,timeZone:"UTC"}:a.end={dateTime:i.end.dateTime||i.end.date,timeZone:i.end.timeZone||"UTC"}),i.isAllDay!==void 0?a.isAllDay=i.isAllDay:o&&(a.isAllDay=l),i.location!==void 0&&(a.location={displayName:i.location});let d=(await this.withRetry(async()=>await(0,Hd.requestUrl)({url:`${this.baseUrl}/me/calendars/${encodeURIComponent(t)}/events/${encodeURIComponent(n)}`,method:"PATCH",headers:{Authorization:`Bearer ${s}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(a)}),`Update event ${n}`)).json,u=this.convertToICSEvent(d,t);return await this.refreshAllCalendars(),u}catch(s){throw console.error("Failed to update Microsoft Calendar event:",s),s.status===404?new vp(n):s.status===401||s.status===403?new Bs("microsoft"):s.status===429?new mo:new mi(`Failed to update event: ${s.message}`,s.status)}}async createEvent(t,n){bp(t),fo(n,"event");let i=n.summary||n.title;fo(i,"event.summary"),fo(n.start,"event.start"),fo(n.end,"event.end");try{let s=await this.oauthService.getValidToken("microsoft"),a={subject:i};if(n.description&&(a.body={contentType:"text",content:n.description}),n.location&&(a.location={displayName:n.location}),typeof n.start=="string"){let d=n.isAllDay||!/T/.test(n.start);a.start={dateTime:n.start,timeZone:"UTC"},a.end={dateTime:typeof n.end=="string"?n.end:n.end.dateTime||n.end.date,timeZone:"UTC"},a.isAllDay=d}else{let d=n.end;a.start={dateTime:n.start.dateTime||n.start.date,timeZone:n.start.timeZone||"UTC"},a.end={dateTime:typeof d=="string"?d:d.dateTime||d.date,timeZone:typeof d=="string"?"UTC":d.timeZone||"UTC"},n.start.date&&!n.start.dateTime&&(a.isAllDay=!0)}let l=(await this.withRetry(async()=>await(0,Hd.requestUrl)({url:`${this.baseUrl}/me/calendars/${encodeURIComponent(t)}/events`,method:"POST",headers:{Authorization:`Bearer ${s}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(a)}),`Create event in ${t}`)).json,c=this.convertToICSEvent(l,t);return await this.refreshAllCalendars(),c}catch(s){throw console.error("Failed to create Microsoft Calendar event:",s),s.status===404?new dv(t):s.status===401||s.status===403?new Bs("microsoft"):s.status===429?new mo:new mi(`Failed to create event: ${s.message}`,s.status)}}async deleteEvent(t,n){bp(t),pv(n);try{let i=await this.oauthService.getValidToken("microsoft");await this.withRetry(async()=>await(0,Hd.requestUrl)({url:`${this.baseUrl}/me/calendars/${encodeURIComponent(t)}/events/${encodeURIComponent(n)}`,method:"DELETE",headers:{Authorization:`Bearer ${i}`}}),`Delete event ${n}`),await this.refreshAllCalendars()}catch(i){throw i.status===404?new vp(n):(console.error("Failed to delete Microsoft Calendar event:",i),i.status===401||i.status===403?new Bs("microsoft"):i.status===429?new mo:new mi(`Failed to delete event: ${i.message}`,i.status))}}async createCalendar(t,n){try{let i=await this.oauthService.getValidToken("microsoft"),a=(await this.withRetry(async()=>await(0,Hd.requestUrl)({url:`${this.baseUrl}/me/calendars`,method:"POST",headers:{Authorization:`Bearer ${i}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({name:t})}),"Create calendar")).json;return this.availableCalendars=await this.listCalendars(),a.id}catch(i){throw console.error("Failed to create calendar:",i),i.status===401||i.status===403?new Bs("microsoft"):i.status===429?new mo:new mi(`Failed to create calendar: ${i.message}`,i.status)}}ensureUtcDateTime(t,n){if(!t)throw new Error("Missing dateTime value");return/[+-]\d{2}:\d{2}$/.test(t)||t.endsWith("Z")?t:(n&&n.toUpperCase()!=="UTC"&&console.warn(`[MicrosoftCalendar] Falling back to UTC conversion for timezone "${n}"`),`${t.replace(/\.\d+$/,"")}Z`)}destroy(){this.stopRefreshTimer(),this.cache.clear(),this.removeAllListeners()}}});function h3(r){return(0,Pa.moment)(r)}function g3(r){return r!==null&&typeof r=="object"&&typeof r.id=="string"}var Pa,Vn,IA,kEe=v(()=>{Pa=require("obsidian"),Vn=Ke(Hc());On();Qe();xM();R2();IA=class{constructor(e){this.timerWorker=null;this.activeAudioContexts=new Set;this.cleanupTimeouts=new Set;this.lastSelectedTaskPathLoaded=!1;this.plugin=e,this.state={isRunning:!1,timeRemaining:e.settings.pomodoroWorkDuration*60}}translate(e,t){return this.plugin.i18n.translate(e,t)}async initialize(){await this.loadState(),this.setupWorker(),this.state.isRunning&&this.state.currentSession&&this.resumeTimer()}setWebhookNotifier(e){this.webhookNotifier=e}setupWorker(){let e=new Blob([Nfe],{type:"application/javascript"}),t=URL.createObjectURL(e);this.timerWorker=new Worker(t),this.timerWorker.onmessage=n=>{n.data.type==="done"&&this.completePomodoro(),n.data.type==="tick"&&(this.state.timeRemaining=n.data.timeRemaining,this.plugin.emitter.trigger(Fo,{timeRemaining:this.state.timeRemaining,session:this.state.currentSession}))}}async loadState(){try{let e=await this.plugin.loadData();if(e!=null&&e.pomodoroState){this.state=e.pomodoroState,this.state.timeRemaining=Math.max(0,this.state.timeRemaining||0);let t=ue(kr());if(e.lastPomodoroDate!==t&&this.state.currentSession&&(this.state.currentSession=void 0,this.state.isRunning=!1,this.state.nextSessionType=void 0),this.state.currentSession){let i=new Date(this.state.currentSession.startTime).getTime();(Date.now()-i)/(1e3*60*60)>24&&(this.state.currentSession=void 0,this.state.isRunning=!1,this.state.timeRemaining=this.plugin.settings.pomodoroWorkDuration*60,this.state.nextSessionType=void 0)}this.state.currentSession||(this.state.timeRemaining=this.plugin.settings.pomodoroWorkDuration*60,this.state.nextSessionType=void 0)}}catch(e){console.error("Failed to load pomodoro state:",e),this.state={isRunning:!1,timeRemaining:this.plugin.settings.pomodoroWorkDuration*60}}}async saveState(){try{let e=await this.plugin.loadData()||{};e.pomodoroState=this.state,e.lastPomodoroDate=ue(kr()),await this.plugin.saveData(e)}catch(e){console.error("Failed to save pomodoro state:",e)}}async saveLastSelectedTask(e){this.lastSelectedTaskPath=e,this.lastSelectedTaskPathLoaded=!0;try{let t=await this.plugin.loadData()||{};t.lastSelectedTaskPath=e,await this.plugin.saveData(t)}catch(t){console.error("Failed to save last selected task:",t)}}async getLastSelectedTaskPath(){if(this.lastSelectedTaskPathLoaded)return this.lastSelectedTaskPath;try{let e=await this.plugin.loadData(),t=e==null?void 0:e.lastSelectedTaskPath;return typeof t=="string"&&t.trim().length>0?this.lastSelectedTaskPath=t:this.lastSelectedTaskPath=void 0,this.lastSelectedTaskPathLoaded=!0,this.lastSelectedTaskPath}catch(e){console.error("Failed to load last selected task:",e);return}}async startPomodoro(e,t){var l;if(this.state.isRunning){new Pa.Notice(this.translate("services.pomodoro.notices.alreadyRunning"));return}if(this.state.currentSession&&!this.state.isRunning){new Pa.Notice(this.translate("services.pomodoro.notices.resumeCurrentSession"));return}let i=(t?Math.max(1,Math.min(120,t))*60:null)||Math.max(1,Math.min(7200,this.state.timeRemaining)),s=i/60,a=Ve(),o={id:Date.now().toString(),taskPath:e==null?void 0:e.path,startTime:a,plannedDuration:s,type:"work",completed:!1,activePeriods:[{startTime:a}]};if(e!=null&&e.path&&(this.lastWorkSessionTaskPath=e.path,this.lastSelectedTaskPath=e.path,this.lastSelectedTaskPathLoaded=!0),this.state.currentSession=o,this.state.isRunning=!0,this.state.timeRemaining=i,this.state.nextSessionType=void 0,await this.saveState(),this.startTimer(),e)try{await this.plugin.taskService.startTimeTracking(e)}catch(c){(l=c.message)!=null&&l.includes("Time tracking is already active")||console.error("Failed to start time tracking for Pomodoro:",c)}if(this.plugin.emitter.trigger(hD,{session:o,task:e}),this.webhookNotifier)try{await this.webhookNotifier.triggerWebhook("pomodoro.started",{session:o,task:e})}catch(c){console.warn("Failed to trigger webhook for pomodoro start:",c)}this.showPomodoroNotification(`Pomodoro started${e?` for: ${e.title}`:""}`)}async startBreak(e=!1){if(this.state.isRunning){new Pa.Notice(this.translate("services.pomodoro.notices.timerAlreadyRunning"));return}if(this.state.currentSession&&!this.state.isRunning){new Pa.Notice(this.translate("services.pomodoro.notices.resumeSessionInstead"));return}let t=e?Math.max(1,Math.min(60,this.plugin.settings.pomodoroLongBreakDuration)):Math.max(1,Math.min(30,this.plugin.settings.pomodoroShortBreakDuration)),n=Ve(),i={id:Date.now().toString(),startTime:n,plannedDuration:t,type:e?"long-break":"short-break",completed:!1,activePeriods:[{startTime:n}]};this.state.currentSession=i,this.state.isRunning=!0,this.state.timeRemaining=i.plannedDuration*60,this.state.nextSessionType=void 0,await this.saveState(),this.startTimer(),new Pa.Notice(this.translate(e?"services.pomodoro.notices.longBreakStarted":"services.pomodoro.notices.shortBreakStarted"))}async pausePomodoro(){if(this.state.isRunning){if(this.stopTimer(),this.state.isRunning=!1,this.state.currentSession&&this.state.currentSession.activePeriods.length>0){let e=this.state.currentSession.activePeriods[this.state.currentSession.activePeriods.length-1];e.endTime||(e.endTime=Ve())}if(this.state.currentSession&&this.state.currentSession.taskPath)try{let e=await this.plugin.cacheManager.getTaskInfo(this.state.currentSession.taskPath);e&&await this.plugin.taskService.stopTimeTracking(e)}catch(e){console.error("Failed to stop time tracking for Pomodoro pause:",e)}await this.saveState(),this.plugin.emitter.trigger(Fo,{timeRemaining:this.state.timeRemaining,session:this.state.currentSession}),new Pa.Notice(this.translate("services.pomodoro.notices.paused"))}}async resumePomodoro(){var e;if(!(this.state.isRunning||!this.state.currentSession)){if(this.state.isRunning=!0,this.state.currentSession&&this.state.currentSession.activePeriods.push({startTime:Ve()}),await this.saveState(),this.startTimer(),this.state.currentSession&&this.state.currentSession.taskPath)try{let t=await this.plugin.cacheManager.getTaskInfo(this.state.currentSession.taskPath);t&&await this.plugin.taskService.startTimeTracking(t)}catch(t){(e=t.message)!=null&&e.includes("Time tracking is already active")||console.error("Failed to start time tracking for Pomodoro resume:",t)}this.plugin.emitter.trigger(Fo,{timeRemaining:this.state.timeRemaining,session:this.state.currentSession}),new Pa.Notice(this.translate("services.pomodoro.notices.resumed"))}}async stopPomodoro(){if(!this.state.currentSession)return;let e=this.state.isRunning;if(this.stopTimer(),this.state.currentSession){if(this.state.currentSession.interrupted=!0,this.state.currentSession.endTime=Ve(),this.state.currentSession.activePeriods.length>0){let t=this.state.currentSession.activePeriods[this.state.currentSession.activePeriods.length-1];t.endTime||(t.endTime=Ve())}await this.addSessionToHistory(this.state.currentSession)}if(this.plugin.emitter.trigger(yD,{session:this.state.currentSession}),this.webhookNotifier&&this.state.currentSession)try{let t=this.state.currentSession.taskPath?await this.plugin.cacheManager.getTaskInfo(this.state.currentSession.taskPath):void 0;await this.webhookNotifier.triggerWebhook("pomodoro.interrupted",{session:this.state.currentSession,task:t})}catch(t){console.warn("Failed to trigger webhook for pomodoro interruption:",t)}if(this.state.currentSession&&this.state.currentSession.taskPath&&e)try{let t=await this.plugin.cacheManager.getTaskInfo(this.state.currentSession.taskPath);t&&await this.plugin.taskService.stopTimeTracking(t)}catch(t){console.error("Failed to stop time tracking for Pomodoro interrupt:",t)}this.state.currentSession=void 0,this.state.isRunning=!1,this.state.timeRemaining=this.plugin.settings.pomodoroWorkDuration*60,this.state.nextSessionType=void 0,await this.saveState(),this.plugin.emitter.trigger(Fo,{timeRemaining:this.state.timeRemaining,session:this.state.currentSession}),e&&new Pa.Notice(this.translate("services.pomodoro.notices.stoppedAndReset"))}startTimer(){this.timerWorker&&this.timerWorker.postMessage({command:"start",duration:this.state.timeRemaining})}stopTimer(){this.timerWorker&&this.timerWorker.postMessage({command:"stop"})}resumeTimer(){if(this.state.currentSession&&this.state.currentSession.startTime){let e=new Date(this.state.currentSession.startTime).getTime(),t=Date.now();if(e>t){this.stopPomodoro();return}let n=this.state.currentSession.plannedDuration*60;if(!this.state.isRunning&&this.state.timeRemaining>0)this.state.timeRemaining=Math.min(this.state.timeRemaining,n);else if(this.state.isRunning){let i=this.state.currentSession.activePeriods||[],s=0;for(let a of i){let o=new Date(a.startTime).getTime(),l=a.endTime?new Date(a.endTime).getTime():t;s+=Math.floor((l-o)/1e3)}this.state.timeRemaining=Math.max(0,n-s)}this.state.timeRemaining>0&&this.state.isRunning?this.startTimer():this.state.timeRemaining<=0&&this.completePomodoro()}}async autoStartWorkSession(){if(!this.state.isRunning)try{let e=await this.getAutoStartTask();e?await this.startPomodoro(e):await this.startPomodoro()}catch(e){console.error("Failed to auto-start work session:",e)}}async getAutoStartTask(){var i;let e=[];this.lastWorkSessionTaskPath&&e.push(this.lastWorkSessionTaskPath),(i=this.state.currentSession)!=null&&i.taskPath&&e.push(this.state.currentSession.taskPath);let t=await this.getLastSelectedTaskPath();t&&e.push(t);let n=Array.from(new Set(e.filter(s=>typeof s=="string"&&s.length>0)));for(let s of n)try{let a=await this.plugin.cacheManager.getTaskInfo(s);if(!a){this.clearCachedTaskPath(s);continue}if(a.archived||this.plugin.statusManager.isCompletedStatus(a.status)){this.clearCachedTaskPath(s);continue}return a}catch(a){console.warn(`Failed to load task for auto-start (${s}):`,a)}}clearCachedTaskPath(e){this.lastWorkSessionTaskPath===e&&(this.lastWorkSessionTaskPath=void 0),this.lastSelectedTaskPath===e&&(this.lastSelectedTaskPath=void 0,this.lastSelectedTaskPathLoaded=!0)}async completePomodoro(){if(this.stopTimer(),!this.state.currentSession)return;let e=this.state.currentSession;if(e.completed=!0,e.endTime=Ve(),e.type==="work"&&e.taskPath&&(this.lastWorkSessionTaskPath=e.taskPath),e.activePeriods.length>0){let s=e.activePeriods[e.activePeriods.length-1];s.endTime||(s.endTime=Ve())}if(e.type==="work"&&this.state.isRunning&&e.taskPath)try{let s=await this.plugin.cacheManager.getTaskInfo(e.taskPath);s&&await this.plugin.taskService.stopTimeTracking(s)}catch(s){console.error("Failed to stop time tracking for Pomodoro completion:",s)}let t=!1;if(e.type==="work")try{t=((await this.getTodayStats()).pomodorosCompleted+1)%this.plugin.settings.pomodoroLongBreakInterval===0}catch(s){console.error("Failed to calculate break type:",s),t=!1}if(await this.addSessionToHistory(e),this.plugin.emitter.trigger(gD,{session:e,nextType:e.type==="work"?t?"long-break":"short-break":"work"}),this.webhookNotifier)try{let s=e.taskPath?await this.plugin.cacheManager.getTaskInfo(e.taskPath):void 0;await this.webhookNotifier.triggerWebhook("pomodoro.completed",{session:e,task:s})}catch(s){console.warn("Failed to trigger webhook for pomodoro completion:",s)}let n=e.type==="work"?"\u{1F345} Pomodoro completed!":"\u2615 Break completed!",i=e.type==="work"?`Time for a ${t?"long break \u{1F4A4}":"short break \u2615"}`:"Ready for the next pomodoro?";if(this.showPomodoroNotification(n,{body:i}),this.plugin.settings.pomodoroSoundEnabled&&this.playCompletionSound(),this.state.currentSession=void 0,this.state.isRunning=!1,e.type==="work"){let s=t?this.plugin.settings.pomodoroLongBreakDuration:this.plugin.settings.pomodoroShortBreakDuration;if(this.state.timeRemaining=s*60,this.state.nextSessionType=t?"long-break":"short-break",this.plugin.settings.pomodoroAutoStartBreaks){let a=window.setTimeout(()=>{this.startBreak(t)},1e3);this.cleanupTimeouts.add(a)}}else if(this.state.timeRemaining=this.plugin.settings.pomodoroWorkDuration*60,this.state.nextSessionType="work",this.plugin.settings.pomodoroAutoStartWork){let s=window.setTimeout(()=>{this.autoStartWorkSession()},1e3);this.cleanupTimeouts.add(s)}await this.saveState(),this.plugin.emitter.trigger(Fo,{timeRemaining:this.state.timeRemaining,session:this.state.currentSession})}playCompletionSound(){try{let e=new(window.AudioContext||window.webkitAudioContext),t=e.createOscillator(),n=e.createGain();t.connect(n),n.connect(e.destination);let i=Math.max(0,Math.min(1,this.plugin.settings.pomodoroSoundVolume/100));n.gain.value=i*.3,t.frequency.value=800,t.type="sine",t.start(),t.stop(e.currentTime+.1),this.activeAudioContexts.add(e);let s=window.setTimeout(()=>{try{let o=e.createOscillator();o.connect(n),o.frequency.value=1e3,o.type="sine",o.start(),o.stop(e.currentTime+.1)}catch(o){console.error("Failed to play second beep:",o)}},150);this.cleanupTimeouts.add(s);let a=window.setTimeout(()=>{this.activeAudioContexts.delete(e),e.close().catch(()=>{})},300);this.cleanupTimeouts.add(a)}catch(e){console.error("Failed to play completion sound:",e)}}showPomodoroNotification(e,t){if(this.plugin.settings.pomodoroNotifications&&!(typeof Notification=="undefined"||Notification.permission!=="granted"))try{new Notification(e,t)}catch(n){console.warn("Failed to show Pomodoro notification:",n)}}getState(){return{...this.state}}adjustSessionTime(e){if(this.state.currentSession){this.stopTimer(),this.state.timeRemaining=Math.max(1,this.state.timeRemaining+e);let t=this.state.currentSession.activePeriods||[],n=0;for(let s of t)if(s.endTime){let a=new Date(s.startTime).getTime(),o=new Date(s.endTime).getTime();n+=Math.floor((o-a)/1e3)}else if(this.state.isRunning){let a=new Date(s.startTime).getTime(),o=Date.now();n+=Math.floor((o-a)/1e3)}let i=n+this.state.timeRemaining;this.state.currentSession.plannedDuration=Math.ceil(i/60),this.saveState(),this.startTimer(),this.plugin.emitter.trigger(Fo,{timeRemaining:this.state.timeRemaining,session:this.state.currentSession})}}adjustPreparedTimer(e){this.state.currentSession||(this.stopTimer(),this.state.timeRemaining=Math.max(1,e),this.saveState(),this.plugin.emitter.trigger(Fo,{timeRemaining:this.state.timeRemaining,session:this.state.currentSession}))}isRunning(){return this.state.isRunning}getCurrentSession(){return this.state.currentSession}getTimeRemaining(){return this.state.timeRemaining}async getPomodorosCompleted(){return(await this.getTodayStats()).pomodorosCompleted}async getCurrentStreak(){return(await this.getTodayStats()).currentStreak}async getTotalMinutesToday(){return(await this.getTodayStats()).totalMinutes}async assignTaskToCurrentSession(e){this.state.currentSession&&(this.state.currentSession.taskPath=e==null?void 0:e.path,e!=null&&e.path?(this.lastWorkSessionTaskPath=e.path,this.lastSelectedTaskPath=e.path,this.lastSelectedTaskPathLoaded=!0):(this.lastWorkSessionTaskPath=void 0,this.lastSelectedTaskPath=void 0,this.lastSelectedTaskPathLoaded=!0),await this.saveState(),this.plugin.emitter.trigger(Fo,{timeRemaining:this.state.timeRemaining,session:this.state.currentSession}))}async getSessionHistory(){try{let e=await this.loadPluginHistory(),t;if(this.plugin.settings.pomodoroStorageLocation==="daily-notes"){let n=await this.loadHistoryFromDailyNotes();t=n,e.length>0&&(t=this.mergeHistories(e,n))}else t=e;return ix(t)}catch(e){return console.error("Failed to load session history:",e),[]}}async getSessionsForDate(e){try{let t=ue(e);if(!t)return[];let n=await this.loadPluginHistoryForDateKey(t),i;if(this.plugin.settings.pomodoroStorageLocation==="daily-notes"){let s=await this.loadHistoryFromDailyNoteForDateKey(t);i=n.length>0?this.mergeHistories(n,s):s}else i=n;return ix(i)}catch(t){return console.error("Failed to load session history for date:",t),[]}}async getSessionsForDateRange(e,t){try{let n=await this.loadPluginHistoryForDateRange(e,t),i;if(this.plugin.settings.pomodoroStorageLocation==="daily-notes"){let s=await this.loadHistoryFromDailyNotesForDateRange(e,t);i=n.length>0?this.mergeHistories(n,s):s}else i=n;return ix(i)}catch(n){return console.error("Failed to load session history for date range:",n),[]}}async saveSessionHistory(e){try{if(this.plugin.settings.pomodoroStorageLocation==="daily-notes")await this.saveHistoryToDailyNotes(e);else{let t=await this.plugin.loadData()||{};t.pomodoroHistory=e,await this.plugin.saveData(t)}}catch(t){console.error("Failed to save session history:",t)}}async addSessionToHistory(e){if(!e.endTime){console.warn("Cannot add session to history without end time");return}let t={id:e.id,startTime:e.startTime,endTime:e.endTime,plannedDuration:e.plannedDuration,type:e.type,taskPath:e.taskPath,completed:e.completed&&!e.interrupted,activePeriods:e.activePeriods.slice()};try{if(this.plugin.settings.pomodoroStorageLocation==="daily-notes")await this.addSingleSessionToDailyNote(t);else{let n=await this.getSessionHistory();n.push(t),await this.saveSessionHistory(n)}}catch(n){console.error("Failed to add session to history:",n)}}async getStatsForDate(e){let t=await this.getSessionsForDate(e);return rv(t)}async getStatsForDateRange(e,t){let n=await this.getSessionsForDateRange(e,t);return rv(n)}async getOverallStats(){let e=await this.getSessionHistory();return rv(e)}async getTodayStats(){let e=kr(),t=en(e);return this.getStatsForDate(t)}cleanup(){this.stopTimer(),this.timerWorker&&(this.timerWorker.terminate(),this.timerWorker=null);for(let e of this.cleanupTimeouts)window.clearTimeout(e);this.cleanupTimeouts.clear();for(let e of this.activeAudioContexts)e.state!=="closed"&&e.close().catch(()=>{});this.activeAudioContexts.clear(),this.saveState()}async loadPluginHistory(){let e=await this.plugin.loadData(),t=e==null?void 0:e.pomodoroHistory;return Array.isArray(t)?t:[]}async loadPluginHistoryForDateKey(e){return Rfe(await this.loadPluginHistory(),e)}async loadPluginHistoryForDateRange(e,t){return Ofe(await this.loadPluginHistory(),e,t)}async saveHistoryToDailyNotes(e){try{if(!(0,Vn.appHasDailyNotesPluginLoaded)())throw new Error("Daily Notes core plugin is not enabled");let t=this.groupSessionsByDate(e);for(let[n,i]of t)await this.updateDailyNotePomodoros(n,i)}catch(t){throw console.error("Failed to save history to daily notes:",t),t}}async loadHistoryFromDailyNotesForDateRange(e,t){try{if(!(0,Vn.appHasDailyNotesPluginLoaded)())return[];let n=(0,Vn.getAllDailyNotes)(),i=[];for(let s of Lfe(e,t)){let a=await this.loadHistoryFromDailyNoteForDateKey(s,n);i.push(...a)}return i}catch(n){return console.error("Failed to load history from daily notes for date range:",n),[]}}async loadHistoryFromDailyNoteForDateKey(e,t){try{if(!e||!(0,Vn.appHasDailyNotesPluginLoaded)())return[];let n=t!=null?t:(0,Vn.getAllDailyNotes)(),i=Mr(e),s=h3(i),a=(0,Vn.getDailyNote)(s,n);return a?this.readPomodoroSessionsFromDailyNote(a):[]}catch(n){return console.warn(`Failed to load pomodoro history for daily note ${e}:`,n),[]}}async loadHistoryFromDailyNotes(){try{if(!(0,Vn.appHasDailyNotesPluginLoaded)())return[];let e=[],t=(0,Vn.getAllDailyNotes)();for(let[,n]of Object.entries(t))try{e.push(...this.readPomodoroSessionsFromDailyNote(n))}catch(i){console.warn(`Failed to read pomodoro data from daily note ${n.path}:`,i)}return e}catch(e){return console.error("Failed to load history from daily notes:",e),[]}}readPomodoroSessionsFromDailyNote(e){let t=this.plugin.app.metadataCache.getFileCache(e),n=t==null?void 0:t.frontmatter,i=this.plugin.fieldMapper.toUserField("pomodoros"),s=n==null?void 0:n[i];return Array.isArray(s)?s.filter(g3):[]}groupSessionsByDate(e){let t=new Map;for(let n of e){let i=sx(n);i&&(t.has(i)||t.set(i,[]),t.get(i).push(n))}return t}async addSingleSessionToDailyNote(e){try{let t=sx(e);if(!t)throw new Error(`Invalid Pomodoro session start time: ${e.startTime}`);let n=Mr(t),i=h3(n),s=(0,Vn.getAllDailyNotes)(),a=(0,Vn.getDailyNote)(i,s);if(!a&&(a=await(0,Vn.createDailyNote)(i),!a))throw new Error("Failed to create daily note. Please check your Daily Notes plugin configuration and ensure the daily notes folder exists.");let o=this.plugin.fieldMapper.toUserField("pomodoros");await this.plugin.app.fileManager.processFrontMatter(a,l=>{let c=Array.isArray(l[o])?l[o].filter(g3):[];new Set(c.map(u=>u.id)).has(e.id)||(l[o]=[...c,e])})}catch(t){console.error("Failed to add session to daily note:",t)}}async updateDailyNotePomodoros(e,t){try{let n=Mr(e),i=h3(n),s=(0,Vn.getAllDailyNotes)(),a=(0,Vn.getDailyNote)(i,s);if(!a&&(a=await(0,Vn.createDailyNote)(i),!a))throw new Error("Failed to create daily note. Please check your Daily Notes plugin configuration and ensure the daily notes folder exists.");let o=this.plugin.fieldMapper.toUserField("pomodoros");await this.plugin.app.fileManager.processFrontMatter(a,l=>{let c=Array.isArray(l[o])?l[o].filter(g3):[],d=new Set(c.map(p=>p.id)),u=t.filter(p=>!d.has(p.id));u.length>0&&(l[o]=[...c,...u])})}catch(n){console.error(`Failed to update daily note for ${e}:`,n)}}mergeHistories(e,t){let n=[...t],i=new Set(t.map(s=>s.id));for(let s of e)i.has(s.id)||n.push(s);return n}async migrateTodailyNotes(){try{if(!(0,Vn.appHasDailyNotesPluginLoaded)())throw new Error("Daily Notes core plugin must be enabled for migration");let e=await this.plugin.loadData(),t=(e==null?void 0:e.pomodoroHistory)||[];if(t.length===0)return;await this.saveHistoryToDailyNotes(t),e.pomodoroHistory=[],await this.plugin.saveData(e),new Pa.Notice(this.translate("services.pomodoro.notices.migrationSuccess",{count:t.length}))}catch(e){throw console.error("Failed to migrate pomodoro data to daily notes:",e),new Pa.Notice(this.translate("services.pomodoro.notices.migrationFailure")),e}}}});var wEe,NA,SEe=v(()=>{wEe=require("obsidian");qC();NA=class{constructor(e){this.intervalId=null;this.lastExportTime=null;this.nextExportTime=null;this.plugin=e}translate(e,t){return this.plugin.i18n.translate(e,t)}start(){if(!this.plugin.settings.icsIntegration.enableAutoExport)return;this.stop();let t=this.plugin.settings.icsIntegration.autoExportInterval*60*1e3;this.nextExportTime=new Date(Date.now()+t),this.intervalId=window.setInterval(()=>{(async()=>(await this.performExport(),this.nextExportTime=new Date(Date.now()+t)))()},t)}stop(){this.intervalId&&(window.clearInterval(this.intervalId),this.intervalId=null,this.nextExportTime=null)}updateInterval(e){this.plugin.settings.icsIntegration.enableAutoExport&&this.start()}async exportNow(){await this.performExport()}getLastExportTime(){return this.lastExportTime}getNextExportTime(){return this.nextExportTime}async performExport(){try{let e=this.plugin.settings.icsIntegration.autoExportPath||"tasknotes-calendar.ics",t=await this.plugin.cacheManager.getAllTasks();if(t.length===0)return;let n={useDurationForExport:this.plugin.settings.icsIntegration.useDurationForExport},i=Ol.generateMultipleTasksICSContent(t,n),s=e;await this.plugin.app.vault.adapter.exists(s)?await this.plugin.app.vault.adapter.write(s,i):await this.plugin.app.vault.create(s,i),this.lastExportTime=new Date}catch(e){console.error("TaskNotes: Auto export failed:",e),(!this.lastExportTime||Date.now()-this.lastExportTime.getTime()>360*60*1e3)&&new wEe.Notice(this.translate("services.autoExport.notices.exportFailed",{error:e instanceof Error?e.message:String(e)}))}}destroy(){this.stop()}}});var xEe={};et(xEe,{TaskSelectionService:()=>y3});var y3,EEe=v(()=>{y3=class{constructor(e){this.selectedTaskPaths=new Set;this.lastSelectedPath=null;this.primarySelectedPath=null;this.selectionModeActive=!1;this.selectionModeListeners=[];this.selectionChangeListeners=[];this.plugin=e}isSelectionModeActive(){return this.selectionModeActive}enterSelectionMode(){this.selectionModeActive||(this.selectionModeActive=!0,this.notifySelectionModeChange(!0))}exitSelectionMode(e=!1){this.selectionModeActive&&(this.selectionModeActive=!1,e&&this.clearSelection(),this.notifySelectionModeChange(!1))}toggleSelectionMode(){this.selectionModeActive?this.exitSelectionMode():this.enterSelectionMode()}isSelected(e){return this.selectedTaskPaths.has(e)}toggleSelection(e){this.selectedTaskPaths.has(e)?(this.selectedTaskPaths.delete(e),this.primarySelectedPath===e&&(this.primarySelectedPath=this.selectedTaskPaths.size>0?Array.from(this.selectedTaskPaths)[0]:null)):(this.selectedTaskPaths.size===0&&(this.primarySelectedPath=e),this.selectedTaskPaths.add(e)),this.lastSelectedPath=e,this.selectedTaskPaths.size>0&&!this.selectionModeActive&&this.enterSelectionMode(),this.selectedTaskPaths.size===0&&this.selectionModeActive&&this.exitSelectionMode(),this.notifySelectionChange()}selectTask(e){this.selectedTaskPaths.clear(),this.selectedTaskPaths.add(e),this.lastSelectedPath=e,this.primarySelectedPath=e,this.notifySelectionChange()}addToSelection(e){this.selectedTaskPaths.size===0&&(this.primarySelectedPath=e),this.selectedTaskPaths.add(e),this.lastSelectedPath=e,this.notifySelectionChange()}removeFromSelection(e){this.selectedTaskPaths.delete(e),this.notifySelectionChange()}selectRange(e,t){if(!this.lastSelectedPath){this.selectTask(e);return}let n=t.indexOf(this.lastSelectedPath),i=t.indexOf(e);if(n===-1||i===-1){this.toggleSelection(e);return}let s=Math.min(n,i),a=Math.max(n,i);for(let o=s;o<=a;o++)this.selectedTaskPaths.add(t[o]);this.lastSelectedPath=e,this.notifySelectionChange()}selectAll(e){this.selectedTaskPaths.size===0&&e.length>0&&(this.primarySelectedPath=e[0]);for(let t of e)this.selectedTaskPaths.add(t);e.length>0&&(this.lastSelectedPath=e[e.length-1]),this.notifySelectionChange()}clearSelection(){this.selectedTaskPaths.clear(),this.lastSelectedPath=null,this.primarySelectedPath=null,this.notifySelectionChange()}getSelectedPaths(){return Array.from(this.selectedTaskPaths)}getPrimarySelectedPath(){return this.primarySelectedPath}getSelectionCount(){return this.selectedTaskPaths.size}async getSelectedTasks(){let e=[];for(let t of this.selectedTaskPaths){let n=await this.plugin.cacheManager.getTaskInfo(t);n&&e.push(n)}return e}onSelectionModeChange(e){return this.selectionModeListeners.push(e),()=>{let t=this.selectionModeListeners.indexOf(e);t!==-1&&this.selectionModeListeners.splice(t,1)}}onSelectionChange(e){return this.selectionChangeListeners.push(e),()=>{let t=this.selectionChangeListeners.indexOf(e);t!==-1&&this.selectionChangeListeners.splice(t,1)}}notifySelectionModeChange(e){for(let t of this.selectionModeListeners)try{t(e)}catch(n){console.error("[TaskSelectionService] Error in selection mode listener:",n)}}notifySelectionChange(){let e=this.getSelectedPaths();for(let t of this.selectionChangeListeners)try{t(e)}catch(n){console.error("[TaskSelectionService] Error in selection change listener:",n)}}destroy(){this.selectedTaskPaths.clear(),this.selectionModeListeners=[],this.selectionChangeListeners=[]}}});var DEe={};et(DEe,{BasesFilterConverter:()=>v3});function gnt(r){return r instanceof Error?r.message:String(r)}function ynt(r){return r!==null&&typeof r=="object"&&!Array.isArray(r)}var v3,CEe=v(()=>{jr();v3=class{constructor(e){this.plugin=e,this.statusManager=e.statusManager,this.priorityManager=e.priorityManager}convertToBasesFilter(e){try{let t=this.convertNodeToObject(e);return t||null}catch(t){throw console.error("Error converting TaskNotes filter to Bases:",t),new Error(`Failed to convert filter: ${gnt(t)}`)}}convertNodeToObject(e){return e.type=="group"?this.convertGroupToObject(e):e.type=="condition"?this.convertConditionToString(e):null}convertGroupToObject(e){let t=e.children.filter(s=>s.type=="condition"?this.isConditionComplete(s):!0);if(t.length==0)return null;let n=t.map(s=>this.convertNodeToObject(s)).filter(s=>s!==null);return n.length==0?null:n.length===1?n[0]:{[e.conjunction=="and"?"and":"or"]:n}}convertConditionToString(e){let{property:t,operator:n,value:i}=e;if(t=="status.isCompleted")return this.convertCompletedStatusCondition(n,i);if(t=="archived")return this.convertArchivedCondition(n);if(t=="dependencies.isBlocked")return this.convertIsBlockedCondition(n);if(t.startsWith("user:"))return this.convertUserFieldCondition(t,n,i);let s=this.getBasesPropertyPath(t);return this.convertOperator(s,n,i,t)}isConditionComplete(e){let{property:t,operator:n,value:i}=e;return!t||!n?!1:["is-empty","is-not-empty","is-checked","is-not-checked"].includes(n)?!0:i!=null&&i!==""}convertCompletedStatusCondition(e,t){let n=this.statusManager.getCompletedStatuses(),i=this.plugin.fieldMapper,s=i.toUserField("status"),a=n.map(u=>`note.${s} == "${this.escapeString(u)}"`).join(" || "),o=n.length>1?`(${a})`:a,l=i.toUserField("completeInstances"),c=`note.${l} && note.${l}.map(date(value).format("YYYY-MM-DD")).contains(today().format("YYYY-MM-DD"))`,d=`(${o}) || (${c})`;return e=="is-not-checked"||e=="is-not"?`!(${d})`:d}convertArchivedCondition(e){let n=this.plugin.fieldMapper.toUserField("archiveTag"),i=`file.tags.contains("${this.escapeString(n)}")`;return e=="is-not-checked"||e=="is-not"?`!${i}`:i}convertIsBlockedCondition(e){let n=this.plugin.fieldMapper.toUserField("blockedBy"),i=`(note.${n} && list(note.${n}).length > 0)`;return e=="is-not-checked"||e=="is-not"?`!(${i})`:i}convertUserFieldCondition(e,t,n){let i=e.slice(5),a=(this.plugin.settings.userFields||[]).find(l=>(l.id||l.key)===i||l.key===i);if(!a)return console.warn(`User field not found: ${i}`),"true";let o=`note.${a.key}`;return this.convertOperator(o,t,n,e,a.type)}getBasesPropertyPath(e){let t=this.plugin.fieldMapper,n;switch(e){case"title":return"file.name";case"status":n=t.toUserField("status");break;case"priority":n=t.toUserField("priority");break;case"due":n=t.toUserField("due");break;case"scheduled":n=t.toUserField("scheduled");break;case"contexts":n=t.toUserField("contexts");break;case"projects":n=t.toUserField("projects");break;case"tags":return"file.tags";case"path":return"file.path";case"dateCreated":return"file.ctime";case"dateModified":return"file.mtime";case"timeEstimate":n=t.toUserField("timeEstimate");break;case"completedDate":n=t.toUserField("completedDate");break;case"recurrence":n=t.toUserField("recurrence");break;case"blockedBy":n=t.toUserField("blockedBy");break;case"blocking":n="blocking";break;default:n=e}return`note.${n}`}convertOperator(e,t,n,i,s){switch(t){case"is":return this.convertIsOperator(e,n,s);case"is-not":return`!(${this.convertIsOperator(e,n,s)})`;case"contains":return this.convertContainsOperator(e,n,i);case"does-not-contain":return`!(${this.convertContainsOperator(e,n,i)})`;case"is-before":return`${e} < "${this.escapeString(String(n))}"`;case"is-after":return`${e} > "${this.escapeString(String(n))}"`;case"is-on-or-before":return`${e} <= "${this.escapeString(String(n))}"`;case"is-on-or-after":return`${e} >= "${this.escapeString(String(n))}"`;case"is-empty":return`${e}.isEmpty()`;case"is-not-empty":return`!${e}.isEmpty()`;case"is-checked":return`${e} == true`;case"is-not-checked":return`${e} != true`;case"is-greater-than":return`${e} > ${this.formatNumericValue(n)}`;case"is-less-than":return`${e} < ${this.formatNumericValue(n)}`;case"is-greater-than-or-equal":return`${e} >= ${this.formatNumericValue(n)}`;case"is-less-than-or-equal":return`${e} <= ${this.formatNumericValue(n)}`;default:return console.warn("Unknown operator:",t),"true"}}convertIsOperator(e,t,n){if(Array.isArray(t)){if(t.length==0)return`(!${e} || ${e}.length == 0)`;let i=t.map(s=>`${e}.contains("${this.escapeString(ie(s))}")`);return i.length>1?`(${i.join(" || ")})`:i[0]}if(n=="list")return`${e}.contains("${this.escapeString(ie(t))}")`;if(typeof t=="boolean"||n=="boolean"){let i=typeof t=="boolean"?t?"true":"false":ie(t);return`${e} == ${i}`}return typeof t=="number"||n=="number"?`${e} == ${this.formatNumericValue(t)}`:t==null||t==""?`(!${e} || ${e} == "" || ${e} == null)`:`${e} == "${this.escapeString(ie(t))}"`}convertContainsOperator(e,t,n){if(["tags","contexts","projects"].includes(n)){if(Array.isArray(t)){let s=t.map(a=>`${e}.contains("${this.escapeString(String(a))}")`);return s.length>1?`(${s.join(" || ")})`:s[0]}if(n=="projects"){let s=String(t);return s.startsWith("[[")&&s.endsWith("]]")?`${e}.contains("${this.escapeString(s)}")`:`(${e}.contains("[[${this.escapeString(s)}]]") || ${e}.contains("${this.escapeString(s)}"))`}return`${e}.contains("${this.escapeString(ie(t))}")`}return`${e}.lower().contains("${this.escapeString(ie(t).toLowerCase())}")`}formatNumericValue(e){if(typeof e=="number")return String(e);let t=parseFloat(ie(e));return isNaN(t)?"0":String(t)}escapeString(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t")}filterObjectToYAML(e,t=0){let n=" ".repeat(t);if(typeof e=="string")return`'${e.replace(/'/g,"\\'")}'`;if(Array.isArray(e))return e.map(i=>`
${n}- ${this.filterObjectToYAML(i,t+1)}`).join("");if(ynt(e)){let i=Object.keys(e)[0],s=e[i];return Array.isArray(s)?`
${n}${i}:${s.map(a=>`
${n} - ${this.filterObjectToYAML(a,t+2)}`).join("")}`:`
${n}${i}: ${this.filterObjectToYAML(s,t+1)}`}return String(e)}convertSavedViewToBasesFile(e,t="tasknotesTaskList"){let n=this.convertToBasesFilter(e.query),i=`# ${e.name}
`;if(n&&(i+=`filters:${this.filterObjectToYAML(n,1)}
`),i+=`views:
`,i+=` - type: ${t}
`,i+=` name: "${e.name}"
`,e.query.sortKey){let s=this.mapSortKeyToBasesColumn(e.query.sortKey),a=(e.query.sortDirection||"asc").toUpperCase();i+=` sort:
`,i+=` - column: ${s}
`,i+=` direction: ${a}
`}if(e.query.groupKey&&e.query.groupKey!=="none"){let s=this.mapGroupKeyToBasesColumn(e.query.groupKey),a=(e.query.sortDirection||"asc").toUpperCase();i+=` groupBy:
`,i+=` property: ${s}
`,i+=` direction: ${a}
`}return e.viewOptions&&Object.keys(e.viewOptions).length>0&&(i+=` options:
`,Object.entries(e.viewOptions).forEach(([s,a])=>{let o;typeof a=="boolean"||typeof a=="number"?o=String(a):typeof a=="string"?o=`"${this.escapeString(a)}"`:o=JSON.stringify(a),i+=` ${s}: ${o}
`})),i}mapSortKeyToBasesColumn(e){let t=this.plugin.fieldMapper;switch(e){case"due":return t.toUserField("due");case"scheduled":return t.toUserField("scheduled");case"priority":return t.toUserField("priority");case"status":return t.toUserField("status");case"title":return t.toUserField("title");case"dateCreated":return"file.ctime";case"dateModified":return"file.mtime";case"completedDate":return t.toUserField("completedDate");case"tags":return"file.tags";case"path":return"file.path";case"timeEstimate":return t.toUserField("timeEstimate");case"recurrence":return t.toUserField("recurrence");default:if(e.startsWith("user:")){let n=e.slice(5),s=(this.plugin.settings.userFields||[]).find(a=>(a.id||a.key)===n||a.key===n);return(s==null?void 0:s.key)||e}return e}}mapGroupKeyToBasesColumn(e){return this.mapSortKeyToBasesColumn(e)}convertAllSavedViewsToBasesFile(e){if(!e||e.length==0)return"";let t=`# All Saved Views
`;t+=`# Converted from TaskNotes saved views
`;let n=[];for(let i of e){let s=this.detectViewType(i),a=this.convertToBasesFilter(i.query),o=` - type: ${s}
`;if(o+=` name: "${i.name}"
`,a&&(o+=` filters:${this.filterObjectToYAML(a,3)}
`),i.query.sortKey){let l=this.mapSortKeyToBasesColumn(i.query.sortKey),c=(i.query.sortDirection||"asc").toUpperCase();o+=` sort:
`,o+=` - column: ${l}
`,o+=` direction: ${c}
`}if(i.query.groupKey&&i.query.groupKey!=="none"){let l=this.mapGroupKeyToBasesColumn(i.query.groupKey),c=(i.query.sortDirection||"asc").toUpperCase();o+=` groupBy:
`,o+=` property: ${l}
`,o+=` direction: ${c}
`}i.viewOptions&&Object.keys(i.viewOptions).length>0&&(o+=` options:
`,Object.entries(i.viewOptions).forEach(([l,c])=>{let d;typeof c=="boolean"||typeof c=="number"?d=String(c):typeof c=="string"?d=`"${this.escapeString(c)}"`:d=JSON.stringify(c),o+=` ${l}: ${d}
`})),n.push(o)}return t+=`views:
`,t+=n.join(`
`),t}detectViewType(e){let t=e.viewOptions||{};return["showScheduled","showDue","showRecurring","showTimeEntries","showTimeblocks","showPropertyBasedEvents","calendarView","customDayCount","firstDay","slotMinTime","slotMaxTime","slotDuration"].some(o=>o in t)?"tasknotesCalendar":["columnWidth","hideEmptyColumns"].some(o=>o in t)?"tasknotesKanban":"tasknotesTaskList"}}});var PEe={};et(PEe,{MdbaseSpecService:()=>b3});function qx(r){return`"${r.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`}function vnt(r){return qx(r)}function bnt(r){let e=r.toLowerCase();return e==="true"||e==="false"?e:qx(r)}var b3,_Ee=v(()=>{b3=class{constructor(e){this.plugin=e}async onSettingsChanged(){this.plugin.settings.enableMdbaseSpec&&await this.generate()}async generate(){try{let e=this.plugin.app.vault;await e.adapter.exists("_types")||await e.createFolder("_types");let n=this.buildTaskTypeDef();if(await this.writeFile("_types/task.md",n),!await e.adapter.exists("mdbase.yaml")){let s=this.buildMdbaseYaml();await this.writeFile("mdbase.yaml",s)}console.debug("[TaskNotes][mdbase-spec] Generated mdbase.yaml and _types/task.md")}catch(e){console.error("[TaskNotes][mdbase-spec] Failed to generate files:",e)}}async writeFile(e,t){let n=this.plugin.app.vault;await n.adapter.exists(e)?await n.adapter.write(e,t):await n.create(e,t)}buildMdbaseYaml(){return['spec_version: "0.2.0"','name: "TaskNotes"','description: "Task collection managed by TaskNotes for Obsidian"',"settings:",' types_folder: "_types"'," default_strict: false"," exclude:",' - "_types"',""].join(`
`)}buildTaskTypeDef(){let e=this.plugin.settings,t=this.plugin.fieldMapper,n=[];if(n.push("---"),n.push("name: task"),n.push("description: A task managed by the TaskNotes plugin for Obsidian."),n.push(`display_name_key: ${t.toUserField("title")}`),n.push("strict: false"),n.push(`path_pattern: ${qx(this.buildPathPattern())}`),n.push(""),n.push("match:"),this.addMatchRules(n),n.push(""),n.push("fields:"),this.addRoleField(n,"title",{type:"string",required:!0,description:"Short summary of the task."}),this.addRoleField(n,"status",{type:"enum",required:!0,values:e.customStatuses.map(i=>i.value),default:e.defaultTaskStatus,tn_completed_values:e.customStatuses.filter(i=>i.isCompleted).map(i=>i.value)}),this.addRoleField(n,"priority",{type:"enum",values:e.customPriorities.map(i=>i.value),default:e.defaultTaskPriority}),this.addRoleField(n,"due",{type:"date"}),this.addRoleField(n,"scheduled",{type:"date"}),this.addRoleField(n,"contexts",{type:"list",items:{type:"string"}}),this.addRoleField(n,"projects",{type:"list",items:{type:"link"},description:"Wikilinks to related project notes."}),this.addRoleField(n,"timeEstimate",{type:"integer",min:0,description:"Estimated time in minutes."}),this.addRoleField(n,"completedDate",{type:"date"}),this.addRoleField(n,"dateCreated",{type:"datetime",required:!0,generated:"now"}),this.addRoleField(n,"dateModified",{type:"datetime",generated:"now_on_write"}),this.addRoleField(n,"recurrence",{type:"string"}),this.addRoleField(n,"recurrenceAnchor",{type:"enum",values:["scheduled","completion"],default:"scheduled"}),this.addField(n,"tags",{type:"list",items:{type:"string"},tn_role:"tags"}),this.addRoleField(n,"timeEntries",{type:"list",items:{type:"object",fields:{startTime:{type:"datetime"},endTime:{type:"datetime"},description:{type:"string"},duration:{type:"integer"}}}}),this.addRoleField(n,"reminders",{type:"list",items:{type:"object",fields:{id:{type:"string",required:!0},type:{type:"enum",values:["absolute","relative"]},description:{type:"string"},relatedTo:{type:"enum",values:["due","scheduled"],description:"Field the reminder is relative to (e.g. 'due')."},offset:{type:"string",description:"ISO 8601 duration offset (e.g. '-PT1H')."},absoluteTime:{type:"datetime"}}},description:"Reminder objects with id, type, offset, etc."}),this.addRoleField(n,"blockedBy",{type:"list",items:{type:"object",fields:{uid:{type:"link",required:!0},reltype:{type:"string"},gap:{type:"string"}}}}),this.addRoleField(n,"completeInstances",{type:"list",items:{type:"date"}}),this.addRoleField(n,"skippedInstances",{type:"list",items:{type:"date"}}),this.addRoleField(n,"icsEventId",{type:"list",items:{type:"string"}}),this.addRoleField(n,"googleCalendarEventId",{type:"string"}),e.userFields&&e.userFields.length>0)for(let i of e.userFields)this.addField(n,i.key,this.mapUserFieldType(i));return n.push("---"),n.push(""),n.push("# Task"),n.push(""),n.push("This type definition describes the data schema for tasks managed by"),n.push("[TaskNotes](https://github.com/callumalpass/tasknotes), an Obsidian plugin"),n.push("for note-based task management."),n.push(""),n.push("It conforms to [mdbase-spec](https://github.com/callumalpass/mdbase-spec) v0.2.0,"),n.push("a specification for typed markdown collections."),n.push(""),n.push("TaskNotes also adds a non-standard `tn_role` field annotation on schema"),n.push("fields. This maps each field to its TaskNotes semantic role so custom"),n.push("frontmatter field names can still be interpreted consistently."),n.push("The status field also includes `tn_completed_values`, listing"),n.push("which status values count as completed."),n.push(""),n.push("This file is automatically generated from TaskNotes settings and should not be"),n.push("edited manually. Changes to TaskNotes settings (statuses, priorities, field"),n.push("mappings, user fields) will cause this file to be regenerated."),n.push(""),n.join(`
`)}addField(e,t,n,i=2){let s=" ".repeat(i);e.push(`${s}${t}:`),this.writeFieldProps(e,n,i+2)}addRoleField(e,t,n,i=2){let s=this.plugin.fieldMapper.toUserField(t);this.addField(e,s,{...n,tn_role:t},i)}writeFieldProps(e,t,n){let i=" ".repeat(n);if(e.push(`${i}type: ${t.type}`),t.required&&e.push(`${i}required: true`),t.generated&&e.push(`${i}generated: ${t.generated}`),t.values&&e.push(`${i}values: [${t.values.join(", ")}]`),t.tn_completed_values&&t.tn_completed_values.length>0&&e.push(`${i}tn_completed_values: [${t.tn_completed_values.join(", ")}]`),t.default!==void 0&&e.push(`${i}default: ${t.default}`),t.min!==void 0&&e.push(`${i}min: ${t.min}`),t.description&&e.push(`${i}description: ${qx(t.description)}`),t.tn_role&&e.push(`${i}tn_role: ${t.tn_role}`),t.items)if(t.items.type==="object"&&t.items.fields){e.push(`${i}items:`),e.push(`${i} type: object`),e.push(`${i} fields:`);for(let[s,a]of Object.entries(t.items.fields))this.addField(e,s,a,n+4)}else e.push(`${i}items:`),e.push(`${i} type: ${t.items.type}`)}mapUserFieldType(e){switch(e.type){case"text":return{type:"string"};case"number":return{type:"number"};case"date":return{type:"date"};case"boolean":return{type:"boolean"};case"list":return{type:"list",items:{type:"string"}};default:return{type:"string"}}}addMatchRules(e){var n,i;let t=this.plugin.settings;if(t.taskIdentificationMethod==="property"){let s=(n=t.taskPropertyName)==null?void 0:n.trim(),a=(i=t.taskPropertyValue)==null?void 0:i.trim();if(!s){this.addTagMatchRule(e);return}e.push(" where:"),e.push(` ${vnt(s)}:`),a?e.push(` eq: ${bnt(a)}`):e.push(" exists: true");return}this.addTagMatchRule(e)}addTagMatchRule(e){var n;let t=((n=this.plugin.settings.taskTag)==null?void 0:n.trim())||"task";e.push(" where:"),e.push(" tags:"),e.push(` contains: ${qx(t)}`)}buildPathPattern(){let e=this.toMdbaseTemplate(this.plugin.settings.tasksFolder||""),t=this.getFilenameTemplate(),n=this.toMdbaseTemplate(t)||`{${this.plugin.fieldMapper.toUserField("title")}}`,i=n.endsWith(".md")?n:`${n}.md`;return e?`${e}/${i}`:i}getFilenameTemplate(){var t;let e=this.plugin.settings;if(e.storeTitleInFilename||e.taskFilenameFormat==="title")return"{{title}}";switch(e.taskFilenameFormat){case"timestamp":return"{{timestamp}}";case"custom":return((t=e.customFilenameTemplate)==null?void 0:t.trim())||"{{title}}";case"zettel":default:return"{{zettel}}"}}toMdbaseTemplate(e){let t=(e||"").trim();if(!t)return"";let n=this.getPathVariableMap();return t.replace(/\{\{(\w+)\}\}|\{(\w+)\}/g,(s,a,o)=>{let l=String(a!=null?a:o);return`{${n[l]||l}}`}).replace(/\\/g,"/").replace(/\/+/g,"/").replace(/^\/+|\/+$/g,"")}getPathVariableMap(){let e=this.plugin.fieldMapper;return{title:e.toUserField("title"),priority:e.toUserField("priority"),status:e.toUserField("status"),dueDate:e.toUserField("due"),scheduledDate:e.toUserField("scheduled"),due:e.toUserField("due"),scheduled:e.toUserField("scheduled")}}}});var RA,MEe=v(()=>{jr();RA=class{constructor(e){this.basesView=e}extractDataItems(){return this.basesView.data.data.map(t=>({key:t.file.path,data:t,file:t.file,path:t.file.path,properties:this.extractEntryProperties(t),basesData:t}))}getGroupedData(){return this.basesView.data.groupedData}isGrouped(){let e=this.basesView.data.groupedData;return e.length!==1?!0:e[0].hasKey()}getSortConfig(){return this.basesView.config.getSort()}getVisiblePropertyIds(){return this.basesView.config.getOrder()}getPropertyDisplayName(e){return this.basesView.config.getDisplayName(e)}getPropertyValue(e,t){try{let n=e.getValue(t);return this.convertValueToNative(n)}catch(n){return console.warn(`[BasesDataAdapter] Failed to get property ${t}:`,n),null}}convertValueToNative(e){var s,a;if(e==null)return null;let t=e;if(((s=t.constructor)==null?void 0:s.name)==="NullValue")return null;if(typeof t.data!="undefined")return t.data;let n=typeof t.get=="function"?t.get.bind(t):typeof t.at=="function"?t.at.bind(t):null;if(typeof t.length=="function"&&n){let o=t.length(),l=[];for(let c=0;c<o;c++){let d=n(c);l.push(this.convertValueToNative(d))}return l}if(t.date instanceof Date)return t.date.toISOString();if(((a=t.constructor)==null?void 0:a.name)==="DateValue"&&t.toISOString)return t.toISOString();if(t.file)return t.file.path;let i=Reflect.get(t,"toString");if(typeof i=="function"&&i!==Object.prototype.toString){let o=Reflect.apply(i,t,[]);if(o!=="[object Object]")return o}return e}convertGroupKeyToString(e){var i;if(e==null)return"Unknown";let t=e;if(((i=t.constructor)==null?void 0:i.name)==="NullValue")return"Unknown";let n;if(t.file&&typeof t.file=="object"?n=t.file.path:t.date instanceof Date?n=t.date:typeof t.data!="undefined"?n=t.data:n=t,n==null)return"None";if(n instanceof Date){let s=n.getFullYear(),a=String(n.getMonth()+1).padStart(2,"0"),o=String(n.getDate()).padStart(2,"0");return`${s}-${a}-${o}`}return typeof n=="string"?n||"None":typeof n=="number"?String(n):typeof n=="boolean"?n?"True":"False":Array.isArray(n)?n.length>0?n.map(ie).join(", "):"None":ie(n)||"None"}extractEntryProperties(e){let t=e,i={...t.frontmatter||t.properties||{}},s=e.file;return s&&(s.name!==void 0&&(i["file.name"]=s.name),s.basename!==void 0&&(i["file.basename"]=s.basename),s.extension!==void 0&&(i["file.extension"]=s.extension),s.path!==void 0&&(i["file.path"]=s.path),s.stat&&(s.stat.size!==void 0&&(i["file.size"]=s.stat.size),s.stat.ctime!==void 0&&(i["file.ctime"]=s.stat.ctime),s.stat.mtime!==void 0&&(i["file.mtime"]=s.stat.mtime))),i}getComputedProperty(e,t){if(!e||typeof e!="object")return null;try{let n=e.getValue;if(typeof n!="function")return null;let i=n.call(e,t);return this.convertValueToNative(i)}catch(n){return null}}stripPropertyPrefix(e){let t=e.split(".");return t.length>1&&["note","file","formula"].includes(t[0])?t.slice(1).join("."):e}}});var Hx,T3=v(()=>{Hx=class{constructor(e,t){this.plugin=e;this.fieldMapper=t}basesToTaskCardProperty(e){if(this.fieldMapper&&this.fieldMapper.isRecognizedProperty(e))return this.applySpecialTransformations(e);if(e.startsWith("note.")){let t=e.substring(5);return this.fieldMapper&&this.fieldMapper.isRecognizedProperty(t)?this.applySpecialTransformations(t):t==="dateCreated"?"dateCreated":t==="dateModified"?"dateModified":t==="completedDate"?"completedDate":this.applySpecialTransformations(t)}if(e.startsWith("task.")){let t=e.substring(5);return this.fieldMapper&&this.fieldMapper.isRecognizedProperty(t)?this.applySpecialTransformations(t):this.applySpecialTransformations(t)}return e.startsWith("file.")?e==="file.ctime"?"dateCreated":e==="file.mtime"?"dateModified":e==="file.tasks"?"checklistProgress":e:e.startsWith("formula.")?e==="formula.checklistProgress"?"checklistProgress":e:this.applySpecialTransformations(e)}internalToUserProperty(e){let t=this.fieldMapper.getMapping();return e in t?this.fieldMapper.toUserField(e):e}userPropertyToInternal(e){return this.fieldMapper.lookupMappingKey(e)||e}basesToUserProperty(e){let t=this.basesToTaskCardProperty(e);return this.internalToUserProperty(t)}applySpecialTransformations(e){return e==="timeEntries"?"totalTrackedTime":e==="blockedBy"?"blocked":e==="file.tasks"||e==="formula.checklistProgress"?"checklistProgress":e}basesToInternal(e){return this.basesToTaskCardProperty(e)}basesToTaskInfoProperty(e){var i;let t=e.replace(/^(note\.|file\.|task\.)/,""),n=(i=this.fieldMapper)==null?void 0:i.lookupMappingKey(t);return n||(t==="ctime"||e==="file.ctime"?"dateCreated":t==="mtime"||e==="file.mtime"?"dateModified":t==="name"||t==="basename"?"title":t)}mapVisibleProperties(e){let t=new Set,n=[];for(let i of e){let s=this.basesToTaskCardProperty(i);t.has(s)||(t.add(s),n.push(s))}return n}}});function Tnt(){return(0,Dp.requireApiVersion)("1.11.0")}function ii(r){Promise.resolve().then(r).catch(e=>{console.error("TaskNotes settings callback failed:",e)})}function kt(r,e,t){if(Tnt()){let n=new Dp.SettingGroup(r).setHeading(e.heading);if(e.className&&n.addClass(e.className),e.description){let i=e.description;n.addSetting(s=>{s.setDesc(i),s.settingEl.addClass("settings-view__group-description")})}return t(n),n}else{let n=new k3(r).setHeading(e.heading);if(e.className&&n.addClass(e.className),e.description){let i=e.description;n.addSetting(s=>{s.setDesc(i),s.settingEl.addClass("settings-view__group-description")})}return t(n),n}}function De(r,e){return r.setName(e.name).setDesc(e.desc).addToggle(t=>{t.setValue(e.getValue()).onChange(n=>{ii(()=>e.setValue(n))})})}function Sn(r,e){return r.setName(e.name).setDesc(e.desc).addText(t=>{t.setValue(e.getValue());let n=i=>{ii(()=>e.setValue(i))};if(e.debounceMs&&e.debounceMs>0){let i=wv(n,e.debounceMs);t.onChange(i)}else t.onChange(n);return e.placeholder&&t.setPlaceholder(e.placeholder),e.ariaLabel&&t.inputEl.setAttribute("aria-label",e.ariaLabel),t.inputEl.addClass("settings-view__input"),t})}function hn(r,e){return r.setName(e.name).setDesc(e.desc).addDropdown(t=>(e.options.forEach(n=>{t.addOption(n.value,n.label)}),t.setValue(e.getValue()).onChange(n=>{ii(()=>e.setValue(n))}),e.ariaLabel&&t.selectEl.setAttribute("aria-label",e.ariaLabel),t))}function ds(r,e){let t=e.debounceMs?wv(n=>{ii(()=>e.setValue(n))},e.debounceMs):n=>{ii(()=>e.setValue(n))};return r.setName(e.name).setDesc(e.desc).addText(n=>(n.setValue(e.getValue().toString()).onChange(i=>{let s=parseInt(i);if(!isNaN(s)){if(e.min!==void 0&&s<e.min||e.max!==void 0&&s>e.max)return;t(s)}}),n.inputEl.type="number",e.placeholder&&n.setPlaceholder(e.placeholder),e.min!==void 0&&n.inputEl.setAttribute("min",e.min.toString()),e.max!==void 0&&n.inputEl.setAttribute("max",e.max.toString()),e.ariaLabel&&n.inputEl.setAttribute("aria-label",e.ariaLabel),n.inputEl.addClass("settings-view__input"),n))}function Gf(r,e){return r.setName(e.name).setDesc(e.desc).addButton(t=>(t.setButtonText(e.buttonText).onClick(()=>{ii(e.onClick)}),e.buttonClass?t.buttonEl.addClass(e.buttonClass):t.buttonEl.addClasses(["tn-btn","tn-btn--ghost"]),t))}function Cp(r,e){return new Dp.Setting(r).setName(e).setHeading()}function pc(r,e){return r.createEl("p",{text:e,cls:"settings-view__help-note"})}function wv(r,e,t=!1){let n,i,s,a=function(...o){i=o,s=this;let l=()=>{n=void 0,i=void 0,t||r.apply(s,o)},c=t&&!n;window.clearTimeout(n),n=window.setTimeout(l,e),c&&r.apply(this,o)};return a.flush=()=>{n&&i&&(window.clearTimeout(n),n=void 0,r.apply(s,i),i=void 0)},a}var Dp,k3,mc=v(()=>{Dp=require("obsidian");k3=class{constructor(e){this.containerEl=e}setHeading(e){return new Dp.Setting(this.containerEl).setName(e).setHeading(),this}addClass(e){return this}addSetting(e){let t=new Dp.Setting(this.containerEl);return e(t),this}}});var AEe,OA,IEe=v(()=>{AEe=require("obsidian");mc();OA=class{constructor(e,t,n=300){this.searchBoxEl=null;this.inputEl=null;this.clearBtnEl=null;this.debouncedSearch=null;this.destroyed=!1;this.handleInput=()=>{if(!this.inputEl)return;let e=this.inputEl.value;this.updateClearButtonVisibility(),this.debouncedSearch&&this.debouncedSearch(e)};this.handleKeydown=e=>{e.key==="Escape"&&(this.clear(),this.debouncedSearch&&this.debouncedSearch(""))};this.handleClear=()=>{var e;this.clear(),this.debouncedSearch&&this.debouncedSearch(""),(e=this.inputEl)==null||e.focus()};this.container=e,this.onSearch=t,this.debounceMs=n,this.debouncedSearch=wv(i=>{this.destroyed||this.onSearch(i)},this.debounceMs,!1)}render(){let e=this.container.ownerDocument;this.searchBoxEl=e.createElement("div"),this.searchBoxEl.className="tn-search-box";let t=e.createElement("div");t.className="tn-search-box__input-wrapper";let n=e.createElement("div");n.className="tn-search-box__icon",(0,AEe.setIcon)(n,"search"),this.inputEl=e.createElement("input"),this.inputEl.type="text",this.inputEl.className="tn-search-box__input",this.inputEl.placeholder="Search tasks...",this.inputEl.setAttribute("aria-label","Search tasks");let i=e.createElement("button");return i.type="button",i.className="tn-search-box__clear",i.textContent="\xD7",i.setAttribute("aria-label","Clear search"),this.clearBtnEl=i,t.appendChild(n),t.appendChild(this.inputEl),t.appendChild(this.clearBtnEl),this.searchBoxEl.appendChild(t),this.container.appendChild(this.searchBoxEl),this.attachEventListeners(),this.searchBoxEl}attachEventListeners(){!this.inputEl||!this.clearBtnEl||(this.inputEl.addEventListener("input",this.handleInput),this.inputEl.addEventListener("keydown",this.handleKeydown),this.clearBtnEl.addEventListener("click",this.handleClear))}updateClearButtonVisibility(){if(!this.inputEl||!this.clearBtnEl)return;this.inputEl.value.length>0?this.clearBtnEl.classList.add("is-visible"):this.clearBtnEl.classList.remove("is-visible")}getValue(){var e;return((e=this.inputEl)==null?void 0:e.value)||""}setValue(e){this.inputEl&&(this.inputEl.value=e,this.updateClearButtonVisibility())}clear(){this.inputEl&&(this.inputEl.value="",this.updateClearButtonVisibility())}destroy(){this.destroyed=!0,this.inputEl&&(this.inputEl.removeEventListener("input",this.handleInput),this.inputEl.removeEventListener("keydown",this.handleKeydown)),this.clearBtnEl&&this.clearBtnEl.removeEventListener("click",this.handleClear),this.inputEl=null,this.clearBtnEl=null,this.searchBoxEl=null,this.debouncedSearch=null}}});var LA,NEe=v(()=>{jr();LA=class{constructor(e){this.visibleProperties=e||[]}filterTasks(e,t){let n=this.normalizeSearchTerm(t);return n?e.filter(i=>this.extractSearchableText(i).includes(n)):e}extractSearchableText(e){let t=[];if(t.push(e.title||""),t.push(e.status||""),t.push(e.priority||""),e.tags&&Array.isArray(e.tags)&&t.push(e.tags.join(" ")),e.contexts&&Array.isArray(e.contexts)&&t.push(e.contexts.join(" ")),e.projects&&Array.isArray(e.projects)&&t.push(e.projects.join(" ")),e.customProperties&&this.visibleProperties.length>0)for(let n of this.visibleProperties){let i=e.customProperties[n];i!=null&&(Array.isArray(i)?t.push(i.join(" ")):t.push(ie(i)))}return t.join(" ").toLowerCase()}normalizeSearchTerm(e){return e.trim().toLowerCase()}}});function REe(r){return r!==null&&typeof r=="object"&&!Array.isArray(r)}function w3(r){return Array.isArray(r)?r.map(String):[String(r)]}var FA,fc,Ux=v(()=>{FA=require("obsidian");MEe();T3();On();hd();lg();IEe();NEe();k$();Zc();fc=class extends FA.Component{constructor(t,n,i){super();this.rootElement=null;this.taskUpdateListener=null;this.updateDebounceTimer=null;this.dataUpdateDebounceTimer=null;this.relevantPathsCache=new Set;this.enableSearch=!1;this.searchBox=null;this.searchFilter=null;this.currentSearchTerm="";this.selectionModeCleanup=null;this.selectionIndicatorEl=null;this.plugin=i,this.containerEl=n,this.dataAdapter=new RA(this),this.propertyMapper=new Hx(i,i.fieldMapper),this.createFileForView=this.createFileForView.bind(this)}onload(){this.setupContainer(),this.setupTaskUpdateListener(),this.setupSelectionHandling(),this.updateRelevantPathsCache(),this.render()}onDataUpdated(){var n;if(!((n=this.rootElement)!=null&&n.isConnected))return;this.dataUpdateDebounceTimer&&window.clearTimeout(this.dataUpdateDebounceTimer);let t=this.containerEl.ownerDocument.defaultView||window;this.dataUpdateDebounceTimer=t.setTimeout(()=>{this.dataUpdateDebounceTimer=null;try{this.render()}catch(i){console.error(`[TaskNotes][${this.type}] Render error:`,i),this.renderError(i)}},500)}updateRelevantPathsCache(){this.relevantPathsCache.clear();try{let t=this.dataAdapter.extractDataItems();for(let n of t)n.path&&this.relevantPathsCache.add(n.path)}catch(t){}}getEphemeralState(){var t;return{scrollTop:((t=this.rootElement)==null?void 0:t.scrollTop)||0}}setEphemeralState(t){if(!(!REe(t)||!this.rootElement||!this.rootElement.isConnected))try{let n=t;typeof n.scrollTop=="number"&&(this.rootElement.scrollTop=n.scrollTop)}catch(n){console.debug("[TaskNotes][Bases] Failed to restore ephemeral state:",n)}}focus(){var t;try{(t=this.rootElement)!=null&&t.isConnected&&typeof this.rootElement.focus=="function"&&this.rootElement.focus()}catch(n){console.debug("[TaskNotes][Bases] Failed to focus view:",n)}}refresh(){this.render()}onResize(){}setupContainer(){this.containerEl.empty();let n=this.containerEl.ownerDocument.createElement("div");n.className=`tn-bases-integration tasknotes-plugin tasknotes-container tn-${this.type}`,n.tabIndex=-1,this.containerEl.appendChild(n),this.rootElement=n,this.setupNewTaskButton()}setupNewTaskButton(){window.setTimeout(()=>this.injectNewTaskButton(),100),this.register(()=>this.cleanupNewTaskButton())}cleanupNewTaskButton(){let t=this.containerEl.closest(".bases-view"),n=t==null?void 0:t.parentElement;n==null||n.classList.remove("tasknotes-view-active")}injectNewTaskButton(){let t=this.containerEl.closest(".bases-view");if(!t){console.debug("[TaskNotes][Bases] No .bases-view found");return}let n=t.parentElement;if(!n){console.debug("[TaskNotes][Bases] No parent element found");return}n.classList.add("tasknotes-view-active");let i=n.querySelector(".bases-toolbar");if(!i){console.debug("[TaskNotes][Bases] No .bases-toolbar found in parent");return}if(i.querySelector(".tn-bases-new-task-btn"))return;let s=this.containerEl.ownerDocument,a=s.createElement("div");a.className="bases-toolbar-item tn-bases-new-task-btn";let o=s.createElement("div");o.className="text-icon-button",o.tabIndex=0;let l=s.createElement("span");l.className="text-button-icon",(0,FA.setIcon)(l,"plus"),o.appendChild(l);let c=s.createElement("span");c.className="text-button-label",c.textContent=this.plugin.i18n.translate("common.new"),o.appendChild(c),a.appendChild(o),a.addEventListener("click",()=>{this.createFileForView("New Task")});let d=i.querySelector(".bases-toolbar-new-item-menu");d?d.before(a):i.appendChild(a),console.debug("[TaskNotes][Bases] Injected New Task button into toolbar")}setupTaskUpdateListener(){this.taskUpdateListener||(this.taskUpdateListener=this.plugin.emitter.on(Vt,async t=>{var n,i,s;try{let a=REe(t)?t:{},o=(i=(n=a.updatedTask)!=null?n:a.task)!=null?i:a.taskInfo;if(!(o!=null&&o.path)||!((s=this.rootElement)!=null&&s.isConnected))return;this.relevantPathsCache.has(o.path)&&await this.handleTaskUpdate(o)}catch(a){console.error("[TaskNotes][Bases] Error in task update handler:",a),this.debouncedRefresh()}}),this.register(()=>{this.taskUpdateListener&&(this.plugin.emitter.offref(this.taskUpdateListener),this.taskUpdateListener=null)}))}debouncedRefresh(){this.updateDebounceTimer&&window.clearTimeout(this.updateDebounceTimer);let t=this.containerEl.ownerDocument.defaultView||window;this.updateDebounceTimer=t.setTimeout(()=>{this.render(),this.updateDebounceTimer=null},300)}async createFileForView(t,n){let{TaskCreationModal:i}=await Promise.resolve().then(()=>(cP(),fde)),s={},a={};if(n){let d={};n(d);let u=this.plugin.fieldMapper;if(d[u.toUserField("title")]&&(s.title=String(d[u.toUserField("title")])),d[u.toUserField("status")]&&(s.status=String(d[u.toUserField("status")])),d[u.toUserField("priority")]&&(s.priority=String(d[u.toUserField("priority")])),d[u.toUserField("due")]&&(s.due=String(d[u.toUserField("due")])),d[u.toUserField("scheduled")]&&(s.scheduled=String(d[u.toUserField("scheduled")])),d[u.toUserField("contexts")]){let f=d[u.toUserField("contexts")];s.contexts=w3(f)}if(d[u.toUserField("projects")]){let f=d[u.toUserField("projects")];s.projects=w3(f)}if(d.tags){let f=d.tags;s.tags=w3(f)}if(d.tags&&Array.isArray(d.tags)){let f=u.toUserField("archiveTag");s.archived=d.tags.includes(f)}if(d[u.toUserField("timeEstimate")]&&(s.timeEstimate=Number(d[u.toUserField("timeEstimate")])),d[u.toUserField("recurrence")]&&(s.recurrence=String(d[u.toUserField("recurrence")])),d[u.toUserField("completedDate")]&&(s.completedDate=String(d[u.toUserField("completedDate")])),d[u.toUserField("dateCreated")]&&(s.dateCreated=String(d[u.toUserField("dateCreated")])),d[u.toUserField("blockedBy")]){let f=d[u.toUserField("blockedBy")];s.blockedBy=yu(f)}let p=this.plugin.settings.userFields||[];for(let f of p)d[f.key]!==void 0&&(a[f.key]=d[f.key]);let m=new Set([u.toUserField("title"),u.toUserField("status"),u.toUserField("priority"),u.toUserField("due"),u.toUserField("scheduled"),u.toUserField("contexts"),u.toUserField("projects"),"tags",u.toUserField("archiveTag"),u.toUserField("timeEstimate"),u.toUserField("recurrence"),u.toUserField("completedDate"),u.toUserField("dateCreated"),u.toUserField("blockedBy"),...p.map(f=>f.key)]);for(let[f,h]of Object.entries(d))m.has(f)||(a[f]=h)}let o={...s};Object.keys(a).length>0&&(o.customFrontmatter=a);let l=this.app||this.plugin.app;new i(l,this.plugin,{prePopulatedValues:o,onTaskCreated:d=>{this.refresh()}}).open()}getVisibleProperties(){let t=this.config.getOrder(),n=this.propertyMapper.mapVisibleProperties(t);if(!n||n.length===0){let i=this.plugin.settings.defaultVisibleProperties||[...Jb,"tags"];n=Fi(i,this.plugin)}return n}getVisiblePropertyLabels(){var i,s;let t={},n=this.config.getOrder();for(let a of n){let o=this.propertyMapper.basesToTaskCardProperty(a),l=(s=(i=this.config).getDisplayName)==null?void 0:s.call(i,a);o&&typeof l=="string"&&l.trim()!==""&&(t[o]=l)}return t}buildTaskCardOptions(t={}){return{propertyLabels:this.getVisiblePropertyLabels(),...t}}setupSearch(t){if(this.searchBox){this.currentSearchTerm&&this.searchBox.getValue()!==this.currentSearchTerm&&this.searchBox.setValue(this.currentSearchTerm);return}if(!this.enableSearch)return;let i=this.containerEl.ownerDocument.createElement("div");i.className="tn-search-container",t.firstChild?t.insertBefore(i,t.firstChild):t.appendChild(i);let s=[];try{this.config&&(s=this.getVisibleProperties())}catch(a){console.debug(`[${this.type}] Could not get visible properties during search setup:`,a)}this.searchFilter=new LA(s),this.searchBox=new OA(i,a=>this.handleSearch(a),300),this.searchBox.render(),this.currentSearchTerm&&this.searchBox.setValue(this.currentSearchTerm),this.register(()=>{this.searchBox&&(this.searchBox.destroy(),this.searchBox=null),this.searchFilter=null,this.currentSearchTerm=""})}handleSearch(t){let n=performance.now();this.currentSearchTerm=t,this.render();let i=performance.now()-n;i>200&&console.warn(`[${this.type}] Slow search: ${i.toFixed(2)}ms for search term "${t}"`)}applySearchFilter(t){if(!this.searchFilter||!this.currentSearchTerm)return t;let n=performance.now(),i=this.searchFilter.filterTasks(t,this.currentSearchTerm),s=performance.now()-n;return s>100&&console.warn(`[${this.type}] Filter operation took ${s.toFixed(2)}ms for ${t.length} tasks`),i}isSearchWithNoResults(t,n){return this.currentSearchTerm.length>0&&t.length===0&&n>0}renderSearchNoResults(t){let n=t.ownerDocument,i=n.createElement("div");i.className="tn-search-no-results";let s=n.createElement("div");s.className="tn-search-no-results__text",s.textContent=`No tasks match "${this.currentSearchTerm}"`;let a=n.createElement("div");a.className="tn-search-no-results__hint",a.textContent="Try a different search term or clear the search",i.appendChild(s),i.appendChild(a),t.appendChild(i)}setupSelectionHandling(){if(!this.rootElement)return;let t=this.plugin.taskSelectionService;if(!t)return;let n=a=>{if(a.key==="Escape"&&t.isSelectionModeActive()&&(t.exitSelectionMode(!0),this.updateSelectionModeUI(!1)),(a.ctrlKey||a.metaKey)&&a.key==="a"&&t.isSelectionModeActive()){a.preventDefault();let o=this.getVisibleTaskPaths();t.selectAll(o),this.updateSelectionVisuals()}};this.rootElement.addEventListener("keydown",n);let i=t.onSelectionChange(a=>{this.updateSelectionVisuals(),this.updateSelectionIndicator(a.length)}),s=t.onSelectionModeChange(a=>{this.updateSelectionModeUI(a)});this.register(()=>{var a;(a=this.rootElement)==null||a.removeEventListener("keydown",n),i(),s()})}updateSelectionModeUI(t){this.rootElement&&(t?(this.rootElement.classList.add("tn-selection-mode"),this.rootElement.setAttribute("data-selection-mode","true")):(this.rootElement.classList.remove("tn-selection-mode"),this.rootElement.removeAttribute("data-selection-mode"),this.clearSelectionVisuals()))}updateSelectionVisuals(){if(!this.rootElement)return;let t=this.plugin.taskSelectionService;if(!t)return;let n=t.getPrimarySelectedPath(),i=this.rootElement.querySelectorAll(".task-card");for(let a of i){let o=a.dataset.taskPath;o&&(t.isSelected(o)?(a.classList.add("task-card--selected"),o===n?a.classList.add("task-card--selected-primary"):a.classList.remove("task-card--selected-primary")):(a.classList.remove("task-card--selected"),a.classList.remove("task-card--selected-primary")))}let s=this.rootElement.querySelectorAll(".kanban-view__card-wrapper");for(let a of s){let o=a.dataset.taskPath;o&&(t.isSelected(o)?(a.classList.add("kanban-view__card-wrapper--selected"),o===n?a.classList.add("kanban-view__card-wrapper--selected-primary"):a.classList.remove("kanban-view__card-wrapper--selected-primary")):(a.classList.remove("kanban-view__card-wrapper--selected"),a.classList.remove("kanban-view__card-wrapper--selected-primary")))}}clearSelectionVisuals(){if(!this.rootElement)return;let t=this.rootElement.querySelectorAll(".task-card--selected");for(let i of t)i.classList.remove("task-card--selected"),i.classList.remove("task-card--selected-primary");let n=this.rootElement.querySelectorAll(".kanban-view__card-wrapper--selected");for(let i of n)i.classList.remove("kanban-view__card-wrapper--selected"),i.classList.remove("kanban-view__card-wrapper--selected-primary")}updateSelectionIndicator(t){if(this.rootElement)if(t>0){if(!this.selectionIndicatorEl){let n=this.rootElement.ownerDocument;this.selectionIndicatorEl=n.createElement("div"),this.selectionIndicatorEl.className="tn-selection-indicator",this.selectionIndicatorEl.addEventListener("click",()=>{var i,s;(i=this.plugin.taskSelectionService)==null||i.clearSelection(),(s=this.plugin.taskSelectionService)==null||s.exitSelectionMode()}),this.rootElement.appendChild(this.selectionIndicatorEl)}this.selectionIndicatorEl.textContent=`${t} selected`,this.selectionIndicatorEl.classList.remove("tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),this.selectionIndicatorEl.classList.add("tn-static-display-block-2a1b75c9")}else this.selectionIndicatorEl&&(this.selectionIndicatorEl.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-min-height-800px-997b4c8c"),this.selectionIndicatorEl.classList.add("tn-static-display-none-6b99de8b"))}handleSelectionClick(t,n){let i=this.plugin.taskSelectionService;if(!i||!i.isSelectionModeActive()&&!t.shiftKey&&!t.ctrlKey&&!t.metaKey)return!1;if(t.shiftKey&&!i.isSelectionModeActive()&&i.enterSelectionMode(),t.shiftKey){let s=this.getVisibleTaskPaths();i.selectRange(n,s)}else(t.ctrlKey||t.metaKey||i.isSelectionModeActive())&&i.toggleSelection(n);return this.updateSelectionVisuals(),!0}showBatchContextMenu(t){let n=this.plugin.taskSelectionService;if(!n)return;let i=n.getSelectedPaths();if(i.length===0)return;new sf({plugin:this.plugin,selectedPaths:i,onUpdate:()=>{this.render()}}).show(t)}getVisibleTaskPaths(){if(!this.rootElement)return[];let t=this.rootElement.querySelectorAll(".task-card[data-task-path]"),n=[];for(let i of t){let s=i.dataset.taskPath;s&&n.push(s)}return n}}});function Sv(r){if(r!=null)return _D(r)}function Ud(r){if(r!=null)return ie(r)}function wnt(r){if(typeof r=="number")return r;if(typeof r=="string"&&r.trim()!==""){let e=Number(r);return Number.isNaN(e)?void 0:e}}function Snt(r){return Array.isArray(r)?r:void 0}function xnt(r){return Array.isArray(r)?r:void 0}function Ent(r){return r===void 0?void 0:yu(r)}function OEe(r,e,t){var d,u,p;let n=new Set(["title","status","priority","archived","due","scheduled","contexts","projects","tags","timeEstimate","completedDate","recurrence","dateCreated","dateModified","timeEntries","reminders","icsEventId","complete_instances","skipped_instances","blockedBy","blocking","customProperties"]),i={};Object.keys(r).forEach(m=>{n.has(m)||(i[m]=r[m])});let s=Snt(r.timeEntries),a=s?is(s):0,o=!1,l=[],c=!1;return t!=null&&t.dependencyCache&&e.path?(o=t.dependencyCache.isTaskBlocked(e.path),l=t.dependencyCache.getBlockedTaskPaths(e.path),c=l.length>0):o=Array.isArray(r.blockedBy)&&r.blockedBy.length>0,{title:Ud(r.title)||e.name||((u=(d=e.path)==null?void 0:d.split("/").pop())==null?void 0:u.replace(".md",""))||"Untitled",status:Ud(r.status)||((p=t==null?void 0:t.settings)==null?void 0:p.defaultTaskStatus)||"open",priority:Ud(r.priority)||"normal",path:e.path||"",archived:r.archived===!0,due:Ud(r.due),scheduled:Ud(r.scheduled),contexts:Sv(r.contexts),projects:Sv(r.projects),tags:Sv(r.tags),timeEstimate:wnt(r.timeEstimate),completedDate:Ud(r.completedDate),recurrence:Ud(r.recurrence),dateCreated:Ud(r.dateCreated),dateModified:Ud(r.dateModified),timeEntries:s,totalTrackedTime:a,reminders:xnt(r.reminders),icsEventId:Sv(r.icsEventId),complete_instances:Sv(r.complete_instances),skipped_instances:Sv(r.skipped_instances),blockedBy:Ent(r.blockedBy),blocking:l.length>0?l:void 0,isBlocked:o,isBlocking:c,customProperties:Object.keys(i).length>0?i:void 0,basesData:e.basesData}}function Dnt(r,e){if(!(r!=null&&r.path))return null;let t=r.properties||r.frontmatter||{};if(e!=null&&e.fieldMapper){let n=e.fieldMapper.mapFromFrontmatter(t,r.path,e.settings.storeTitleInFilename),i=OEe(n,r,e),s={};return Object.keys(t).forEach(a=>{a.startsWith("file.")&&(s[a]=t[a])}),{...i,customProperties:{...n.customProperties,...i.customProperties,...s}}}else return OEe(t,r,e)}async function Kf(r,e,t){let n=t||Dnt,i=[];for(let s of r)if(s!=null&&s.path)try{let a=n(s,e);a&&i.push(a)}catch(a){console.warn("[TaskNotes][BasesPOC] Error converting Bases item to TaskInfo:",a)}return i}var knt,$A=v(()=>{knt=require("obsidian");Cr();hd();lg();T3();Zc();jr()});function S3(r,e,t){var c,d;let n=(c=t.sourcePath)!=null?c:"",i=dn(r),s=t.metadataCache.getFirstLinkpathDest(i,n)||t.metadataCache.getFirstLinkpathDest(i,"");if(!(s instanceof Vx.TFile))return e;let a=t.metadataCache.getCache(s.path),o=(d=a==null?void 0:a.frontmatter)==null?void 0:d.title;if(typeof o!="string"||o.trim().length===0)return e;let l=(e==null?void 0:e.trim())||"";return l===""||l===s.name||l===s.basename||l===s.path||l===i?o:e}function jA(r,e,t){let n=e.match(/^\[\[([^\]]+)\]\]$/),i=e.match(/^\[([^\]]*)\]\(([^)]+)\)$/);if(n){let o=n[1],l=o,c=o;if(o.includes("|")){let u=o.split("|");l=u[0].trim(),c=u[1].trim()}else{let u=(0,Vx.parseLinktext)(o);l=u.path,c=u.path}let d=S3(l,c,t);Ml(r,l,d,t,{cssClass:"internal-link task-group-link",hoverSource:"tasknotes-bases-group",showErrorNotices:!1});return}if(i){let o=i[1].trim(),l=i[2].trim(),c=S3(l,o,t);Ml(r,l,c,t,{cssClass:"internal-link task-group-link",hoverSource:"tasknotes-bases-group",showErrorNotices:!1});return}let s=e.endsWith(".md")?e.replace(/\.md$/,""):e,a=t.metadataCache.getFirstLinkpathDest(s,"");if(a instanceof Vx.TFile){let o=S3(s,a.basename,t);Ml(r,s,o,t,{cssClass:"internal-link task-group-link",hoverSource:"tasknotes-bases-group",showErrorNotices:!1});return}r.textContent=e}var Vx,x3=v(()=>{Vx=require("obsidian");vT();Bo()});var Pp,E3=v(()=>{Pp=class{constructor(e){this.items=[];this.state={startIndex:0,endIndex:0,totalItems:0,offsetY:0};this.renderedElements=new Map;this.scrollRAF=null;this.itemHeights=new Map;this.positionCache=[];this.totalHeight=0;this.resizeObserver=null;this.measurementRAF=null;this.pendingMeasurements=new Set;this.handleScroll=()=>{this.scrollRAF===null&&(this.scrollRAF=window.requestAnimationFrame(()=>{this.updateVisibleRange(),this.scrollRAF=null}))};var t,n,i;this.container=e.container,this.items=e.items,this.estimatedHeight=(t=e.itemHeight)!=null?t:0,this.overscan=(n=e.overscan)!=null?n:5,this.renderItem=e.renderItem,this.getItemKey=(i=e.getItemKey)!=null?i:((s,a)=>String(a)),this.setupDOM(),this.attachScrollListener(),this.setupResizeObserver(),!e.itemHeight&&this.items.length>0&&this.calculateEstimatedHeight(),this.rebuildPositionCache(),this.updateVisibleRange()}setupDOM(){this.container.empty(),this.container.classList.remove("tn-static-margin-top-12px-91e0f558"),this.container.classList.add("tn-static-position-relative-d461c96d"),this.spacer=this.container.createDiv({cls:"virtual-scroller__spacer"}),this.spacer.style.cssText=`
position: absolute;
top: 0;
left: 0;
right: 0;
pointer-events: none;
`,this.updateSpacerHeight(),this.contentContainer=this.container.createDiv({cls:"virtual-scroller__content"}),this.contentContainer.style.cssText=`
position: relative;
`,this.scrollContainer=this.findScrollContainer(this.container)}calculateEstimatedHeight(){let e=Math.min(5,this.items.length),t=[],n=this.contentContainer.createDiv({cls:"virtual-scroller__sample"});n.style.cssText=`
position: absolute;
visibility: hidden;
pointer-events: none;
`;for(let i=0;i<e;i++){let s=this.renderItem(this.items[i],i);n.appendChild(s);let a=s.getBoundingClientRect().height;a>0&&t.push(a)}if(n.remove(),t.length>0){let i=t.reduce((s,a)=>s+a,0);this.estimatedHeight=Math.ceil(i/t.length)}else this.estimatedHeight=60}findScrollContainer(e){let t=e;for(;t;){let i=window.getComputedStyle(t).overflowY;if(i==="scroll"||i==="auto")return t;t=t.parentElement}return e}updateSpacerHeight(){this.spacer.style.height=`${this.totalHeight}px`}binarySearchPosition(e){if(this.positionCache.length===0)return 0;let t=0,n=this.positionCache.length-1;for(;t<n;){let i=Math.floor((t+n)/2);this.positionCache[i]<e?t=i+1:n=i}return Math.max(0,t-1)}getItemHeight(e){var t;return(t=this.itemHeights.get(e))!=null?t:this.estimatedHeight}getItemPosition(e){return e<0||e>=this.positionCache.length?0:this.positionCache[e]}rebuildPositionCache(){this.positionCache=[];let e=0;for(let t=0;t<this.items.length;t++)this.positionCache[t]=e,e+=this.getItemHeight(t);this.totalHeight=e,this.updateSpacerHeight()}setupResizeObserver(){this.resizeObserver=new ResizeObserver(e=>{for(let t of e){let n=t.target,i=parseInt(n.dataset.virtualIndex||"-1",10);i>=0&&i<this.items.length&&this.pendingMeasurements.add(i)}this.measurementRAF===null&&(this.measurementRAF=window.requestAnimationFrame(()=>{this.processPendingMeasurements(),this.measurementRAF=null}))})}processPendingMeasurements(){if(this.pendingMeasurements.size===0)return;let e=!1;for(let t of this.pendingMeasurements){let n=this.contentContainer.querySelector(`[data-virtual-index="${t}"]`);if(n){let i=n.getBoundingClientRect().height;this.itemHeights.get(t)!==i&&i>0&&(this.itemHeights.set(t,i),e=!0)}}this.pendingMeasurements.clear(),e&&this.rebuildPositionCache()}measureRenderedItems(){let e=this.contentContainer.querySelectorAll("[data-virtual-index]"),t=!1;for(let n of e){let i=parseInt(n.dataset.virtualIndex||"-1",10);if(i>=0&&i<this.items.length){let s=n.getBoundingClientRect().height;this.itemHeights.get(i)!==s&&s>0&&(this.itemHeights.set(i,s),t=!0)}}t&&this.rebuildPositionCache()}attachScrollListener(){this.scrollContainer.addEventListener("scroll",this.handleScroll)}updateVisibleRange(){var o;let e=this.scrollContainer.scrollTop,t=this.scrollContainer.clientHeight;t===0&&(t=((o=this.scrollContainer.parentElement)==null?void 0:o.clientHeight)||0),t===0&&(t=window.innerHeight,console.warn("[VirtualScroller] Using window height as fallback:",t));let n=Math.max(0,this.binarySearchPosition(e)-this.overscan),i=n,s=e+t;for(;i<this.items.length-1&&!(this.getItemPosition(i)+this.getItemHeight(i)>s);)i++;i=Math.min(this.items.length-1,i+this.overscan);let a=this.getItemPosition(n);(n!==this.state.startIndex||i!==this.state.endIndex||this.items.length!==this.state.totalItems)&&(this.state={startIndex:n,endIndex:i,totalItems:this.items.length,offsetY:a},this.renderVisibleItems())}renderVisibleItems(){let{startIndex:e,endIndex:t,offsetY:n}=this.state,i=new Set;this.contentContainer.style.transform=`translateY(${n}px)`;let s=new Map;for(let[o,l]of this.renderedElements)l.parentElement===this.contentContainer&&s.set(o,l);let a=null;for(let o=e;o<=t;o++){let l=this.items[o],c=this.getItemKey(l,o);i.add(c);let d=this.renderedElements.get(c);d?d.dataset.virtualIndex=String(o):(d=this.renderItem(l,o),d.dataset.virtualIndex=String(o),this.renderedElements.set(c,d),this.resizeObserver&&this.resizeObserver.observe(d)),a?d.previousElementSibling!==a&&a.after(d):this.contentContainer.firstChild!==d&&this.contentContainer.prepend(d),a=d}for(let[o,l]of this.renderedElements)i.has(o)||(this.resizeObserver&&this.resizeObserver.unobserve(l),l.remove(),this.renderedElements.delete(o));window.requestAnimationFrame(()=>{this.measureRenderedItems()})}updateItems(e){let t=this.scrollContainer.scrollTop;this.items=e,this.state.totalItems=e.length;let n=this.itemHeights.size;for(let i=e.length;i<n;i++)this.itemHeights.delete(i);this.rebuildPositionCache();for(let i of this.renderedElements.values())this.resizeObserver&&this.resizeObserver.unobserve(i);this.renderedElements.clear(),this.contentContainer.empty(),this.state.startIndex=-1,this.state.endIndex=-1,this.scrollContainer.scrollTop=t,this.updateVisibleRange()}scrollToIndex(e,t="smooth"){let n=this.getItemPosition(e);this.scrollContainer.scrollTo({top:n,behavior:t})}recalculate(){this.state.startIndex=-1,this.state.endIndex=-1,this.updateVisibleRange()}invalidateItem(e){let t=this.renderedElements.get(e);if(t){let n=parseInt(t.dataset.virtualIndex||"-1",10);n>=0&&this.itemHeights.delete(n),this.renderedElements.delete(e),t.remove()}this.rebuildPositionCache(),this.updateVisibleRange()}invalidateHeights(e){for(let t of e)this.itemHeights.delete(t);this.rebuildPositionCache()}getState(){return{...this.state}}destroy(){this.scrollRAF!==null&&cancelAnimationFrame(this.scrollRAF),this.measurementRAF!==null&&cancelAnimationFrame(this.measurementRAF),this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),this.scrollContainer.removeEventListener("scroll",this.handleScroll),this.renderedElements.clear(),this.contentContainer.empty(),this.itemHeights.clear(),this.positionCache=[],this.pendingMeasurements.clear()}}});var LEe=x(zA=>{"use strict";Object.defineProperty(zA,"__esModule",{value:!0});zA.lexoHelper=void 0;zA.lexoHelper={arrayCopy:Cnt};function Cnt(r,e,t,n,i){let s=n,a=e+i;for(let o=e;o<a;o++)t[s]=r[o],++s}});var BA=x(C3=>{"use strict";Object.defineProperty(C3,"__esModule",{value:!0});var D3=class{constructor(e=""){this.str=e}get length(){return this.str.length}set length(e){this.str=this.str.substring(0,e)}append(e){return this.str=this.str+e,this}remove(e,t){return this.str=this.str.substr(0,e)+this.str.substr(e+t),this}insert(e,t){return this.str=this.str.substr(0,e)+t+this.str.substr(e),this}toString(){return this.str}};C3.default=D3});var UA=x(HA=>{"use strict";Object.defineProperty(HA,"__esModule",{value:!0});HA.LexoInteger=void 0;var qA=LEe(),Pnt=BA(),_p=class r{constructor(e,t,n){this.sys=e,this.sign=t,this.mag=n}static parse(e,t){let n=e,i=1;e.indexOf(t.getPositiveChar())===0?n=e.substring(1):e.indexOf(t.getNegativeChar())===0&&(n=e.substring(1),i=-1);let s=new Array(n.length),a=s.length-1;for(let o=0;a>=0;++o)s[o]=t.toDigit(n.charAt(a)),--a;return r.make(t,i,s)}static zero(e){return new r(e,0,r.ZERO_MAG)}static one(e){return r.make(e,1,r.ONE_MAG)}static make(e,t,n){let i;for(i=n.length;i>0&&n[i-1]===0;--i);if(i===0)return r.zero(e);if(i===n.length)return new r(e,t,n);let s=new Array(i).fill(0);return qA.lexoHelper.arrayCopy(n,0,s,0,i),new r(e,t,s)}static add(e,t,n){let i=Math.max(t.length,n.length),s=new Array(i).fill(0),a=0;for(let o=0;o<i;++o){let l=o<t.length?t[o]:0,c=o<n.length?n[o]:0,d=l+c+a;for(a=0;d>=e.getBase();d-=e.getBase())++a;s[o]=d}return r.extendWithCarry(s,a)}static extendWithCarry(e,t){if(t>0){let n=new Array(e.length+1).fill(0);return qA.lexoHelper.arrayCopy(e,0,n,0,e.length),n[n.length-1]=t,n}return e}static subtract(e,t,n){let i=r.complement(e,n,t.length),s=r.add(e,t,i);return s[s.length-1]=0,r.add(e,s,r.ONE_MAG)}static multiply(e,t,n){let i=new Array(t.length+n.length).fill(0);for(let s=0;s<t.length;++s)for(let a=0;a<n.length;++a){let o=s+a;for(i[o]+=t[s]*n[a];i[o]>=e.getBase();i[o]-=e.getBase())++i[o+1]}return i}static complement(e,t,n){if(n<=0)throw new Error("Expected at least 1 digit");let i=new Array(n).fill(e.getBase()-1);for(let s=0;s<t.length;++s)i[s]=e.getBase()-1-t[s];return i}static compare(e,t){if(e.length<t.length)return-1;if(e.length>t.length)return 1;for(let n=e.length-1;n>=0;--n){if(e[n]<t[n])return-1;if(e[n]>t[n])return 1}return 0}add(e){if(this.checkSystem(e),this.isZero())return e;if(e.isZero())return this;if(this.sign!==e.sign){let n;return this.sign===-1?(n=this.negate(),n.subtract(e).negate()):(n=e.negate(),this.subtract(n))}let t=r.add(this.sys,this.mag,e.mag);return r.make(this.sys,this.sign,t)}subtract(e){if(this.checkSystem(e),this.isZero())return e.negate();if(e.isZero())return this;if(this.sign!==e.sign){let n;return this.sign===-1?(n=this.negate(),n.add(e).negate()):(n=e.negate(),this.add(n))}let t=r.compare(this.mag,e.mag);return t===0?r.zero(this.sys):t<0?r.make(this.sys,this.sign===-1?1:-1,r.subtract(this.sys,e.mag,this.mag)):r.make(this.sys,this.sign===-1?-1:1,r.subtract(this.sys,this.mag,e.mag))}multiply(e){if(this.checkSystem(e),this.isZero())return this;if(e.isZero())return e;if(this.isOneish())return this.sign===e.sign?r.make(this.sys,1,e.mag):r.make(this.sys,-1,e.mag);if(e.isOneish())return this.sign===e.sign?r.make(this.sys,1,this.mag):r.make(this.sys,-1,this.mag);let t=r.multiply(this.sys,this.mag,e.mag);return this.sign===e.sign?r.make(this.sys,1,t):r.make(this.sys,-1,t)}negate(){return this.isZero()?this:r.make(this.sys,this.sign===1?-1:1,this.mag)}shiftLeft(e=1){if(e===0)return this;if(e<0)return this.shiftRight(Math.abs(e));let t=new Array(this.mag.length+e).fill(0);return qA.lexoHelper.arrayCopy(this.mag,0,t,e,this.mag.length),r.make(this.sys,this.sign,t)}shiftRight(e=1){if(this.mag.length-e<=0)return r.zero(this.sys);let t=new Array(this.mag.length-e).fill(0);return qA.lexoHelper.arrayCopy(this.mag,e,t,0,t.length),r.make(this.sys,this.sign,t)}complement(){return this.complementDigits(this.mag.length)}complementDigits(e){return r.make(this.sys,this.sign,r.complement(this.sys,this.mag,e))}isZero(){return this.sign===0&&this.mag.length===1&&this.mag[0]===0}isOne(){return this.sign===1&&this.mag.length===1&&this.mag[0]===1}getMag(e){return this.mag[e]}compareTo(e){if(this===e)return 0;if(!e)return 1;if(this.sign===-1){if(e.sign===-1){let t=r.compare(this.mag,e.mag);return t===-1?1:t===1?-1:0}return-1}return this.sign===1?e.sign===1?r.compare(this.mag,e.mag):1:e.sign===-1?1:e.sign===1?-1:0}getSystem(){return this.sys}format(){if(this.isZero())return""+this.sys.toChar(0);let e=new Pnt.default,t=this.mag,n=t.length;for(let i=0;i<n;++i){let s=t[i];e.insert(0,this.sys.toChar(s))}return this.sign===-1&&e.insert(0,this.sys.getNegativeChar()),e.toString()}equals(e){return this===e?!0:e?this.sys.getBase()===e.sys.getBase()&&this.compareTo(e)===0:!1}toString(){return this.format()}isOneish(){return this.mag.length===1&&this.mag[0]===1}checkSystem(e){if(this.sys.getBase()!==e.sys.getBase())throw new Error("Expected numbers of same numeral sys")}};HA.LexoInteger=_p;_p.ZERO_MAG=[0];_p.ONE_MAG=[1];_p.NEGATIVE_SIGN=-1;_p.ZERO_SIGN=0;_p.POSITIVE_SIGN=1});var _3=x(VA=>{"use strict";Object.defineProperty(VA,"__esModule",{value:!0});VA.LexoDecimal=void 0;var Wx=UA(),_nt=BA(),P3=class r{constructor(e,t){this.mag=e,this.sig=t}static half(e){let t=e.getBase()/2|0;return r.make(Wx.LexoInteger.make(e,1,[t]),1)}static parse(e,t){let n=e.indexOf(t.getRadixPointChar());if(e.lastIndexOf(t.getRadixPointChar())!==n)throw new Error("More than one "+t.getRadixPointChar());if(n<0)return r.make(Wx.LexoInteger.parse(e,t),0);let i=e.substring(0,n)+e.substring(n+1);return r.make(Wx.LexoInteger.parse(i,t),e.length-1-n)}static from(e){return r.make(e,0)}static make(e,t){if(e.isZero())return new r(e,0);let n=0;for(let a=0;a<t&&e.getMag(a)===0;++a)++n;let i=e.shiftRight(n),s=t-n;return new r(i,s)}getSystem(){return this.mag.getSystem()}add(e){let t=this.mag,n=this.sig,i=e.mag,s;for(s=e.sig;n<s;++n)t=t.shiftLeft();for(;n>s;)i=i.shiftLeft(),++s;return r.make(t.add(i),n)}subtract(e){let t=this.mag,n=this.sig,i=e.mag,s;for(s=e.sig;n<s;++n)t=t.shiftLeft();for(;n>s;)i=i.shiftLeft(),++s;return r.make(t.subtract(i),n)}multiply(e){return r.make(this.mag.multiply(e.mag),this.sig+e.sig)}floor(){return this.mag.shiftRight(this.sig)}ceil(){if(this.isExact())return this.mag;let e=this.floor();return e.add(Wx.LexoInteger.one(e.getSystem()))}isExact(){if(this.sig===0)return!0;for(let e=0;e<this.sig;++e)if(this.mag.getMag(e)!==0)return!1;return!0}getScale(){return this.sig}setScale(e,t=!1){if(e>=this.sig)return this;e<0&&(e=0);let n=this.sig-e,i=this.mag.shiftRight(n);return t&&(i=i.add(Wx.LexoInteger.one(i.getSystem()))),r.make(i,e)}compareTo(e){if(this===e)return 0;if(!e)return 1;let t=this.mag,n=e.mag;return this.sig>e.sig?n=n.shiftLeft(this.sig-e.sig):this.sig<e.sig&&(t=t.shiftLeft(e.sig-this.sig)),t.compareTo(n)}format(){let e=this.mag.format();if(this.sig===0)return e;let t=new _nt.default(e),n=t[0],i=n===this.mag.getSystem().getPositiveChar()||n===this.mag.getSystem().getNegativeChar();for(i&&t.remove(0,1);t.length<this.sig+1;)t.insert(0,this.mag.getSystem().toChar(0));return t.insert(t.length-this.sig,this.mag.getSystem().getRadixPointChar()),t.length-this.sig===0&&t.insert(0,this.mag.getSystem().toChar(0)),i&&t.insert(0,n),t.toString()}equals(e){return this===e?!0:e?this.mag.equals(e.mag)&&this.sig===e.sig:!1}toString(){return this.format()}};VA.LexoDecimal=P3});var I3=x(A3=>{"use strict";Object.defineProperty(A3,"__esModule",{value:!0});var FEe=UA(),$Ee=N3(),M3=class r{constructor(e){this.value=FEe.LexoInteger.parse(e,$Ee.LexoRank.NUMERAL_SYSTEM)}static get BUCKET_0(){return this._BUCKET_0||(this._BUCKET_0=new r("0")),this._BUCKET_0}static get BUCKET_1(){return this._BUCKET_1||(this._BUCKET_1=new r("1")),this._BUCKET_1}static get BUCKET_2(){return this._BUCKET_2||(this._BUCKET_2=new r("2")),this._BUCKET_2}static get VALUES(){return this._VALUES||(this._VALUES=[r.BUCKET_0,r.BUCKET_1,r.BUCKET_2]),this._VALUES}static max(){return r.VALUES[r.VALUES.length-1]}static from(e){let t=FEe.LexoInteger.parse(e,$Ee.LexoRank.NUMERAL_SYSTEM),n=r.VALUES,i=n.length;for(let s=0;s<i;++s){let a=n[s];if(a.value.equals(t))return a}throw new Error("Unknown bucket: "+e)}static resolve(e){let t=r.VALUES,n=t.length;for(let i=0;i<n;++i){let s=t[i];if(s.equals(r.from(e.toString())))return s}throw new Error("No bucket found with id "+e)}format(){return this.value.format()}next(){return this.equals(r.BUCKET_0)?r.BUCKET_1:this.equals(r.BUCKET_1)?r.BUCKET_2:this.equals(r.BUCKET_2)?r.BUCKET_0:r.BUCKET_2}prev(){return this.equals(r.BUCKET_0)?r.BUCKET_2:this.equals(r.BUCKET_1)?r.BUCKET_0:this.equals(r.BUCKET_2)?r.BUCKET_1:r.BUCKET_0}equals(e){return this===e?!0:e?this.value.equals(e.value):!1}};A3.default=M3});var zEe=x(jEe=>{"use strict";Object.defineProperty(jEe,"__esModule",{value:!0})});var BEe=x(WA=>{"use strict";Object.defineProperty(WA,"__esModule",{value:!0});WA.LexoNumeralSystem10=void 0;var R3=class{getBase(){return 10}getPositiveChar(){return"+"}getNegativeChar(){return"-"}getRadixPointChar(){return"."}toDigit(e){if(e>="0"&&e<="9")return e.charCodeAt(0)-48;throw new Error("Not valid digit: "+e)}toChar(e){return String.fromCharCode(e+48)}};WA.LexoNumeralSystem10=R3});var qEe=x(YA=>{"use strict";Object.defineProperty(YA,"__esModule",{value:!0});YA.LexoNumeralSystem36=void 0;var O3=class{constructor(){this.DIGITS="0123456789abcdefghijklmnopqrstuvwxyz".split("")}getBase(){return 36}getPositiveChar(){return"+"}getNegativeChar(){return"-"}getRadixPointChar(){return":"}toDigit(e){if(e>="0"&&e<="9")return e.charCodeAt(0)-48;if(e>="a"&&e<="z")return e.charCodeAt(0)-97+10;throw new Error("Not valid digit: "+e)}toChar(e){return this.DIGITS[e]}};YA.LexoNumeralSystem36=O3});var HEe=x(GA=>{"use strict";Object.defineProperty(GA,"__esModule",{value:!0});GA.LexoNumeralSystem64=void 0;var L3=class{constructor(){this.DIGITS="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ^_abcdefghijklmnopqrstuvwxyz".split("")}getBase(){return 64}getPositiveChar(){return"+"}getNegativeChar(){return"-"}getRadixPointChar(){return":"}toDigit(e){if(e>="0"&&e<="9")return e.charCodeAt(0)-48;if(e>="A"&&e<="Z")return e.charCodeAt(0)-65+10;if(e==="^")return 36;if(e==="_")return 37;if(e>="a"&&e<="z")return e.charCodeAt(0)-97+38;throw new Error("Not valid digit: "+e)}toChar(e){return this.DIGITS[e]}};GA.LexoNumeralSystem64=L3});var F3=x(hc=>{"use strict";var Mnt=hc&&hc.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,i)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),KA=hc&&hc.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&Mnt(e,r,t)};Object.defineProperty(hc,"__esModule",{value:!0});KA(zEe(),hc);KA(BEe(),hc);KA(qEe(),hc);KA(HEe(),hc)});var N3=x(QA=>{"use strict";Object.defineProperty(QA,"__esModule",{value:!0});QA.LexoRank=void 0;var gc=_3(),ZA=I3(),Ant=BA(),Int=F3(),$3=class r{constructor(e,t){this.value=e.format()+"|"+r.formatDecimal(t),this.bucket=e,this.decimal=t}static get NUMERAL_SYSTEM(){return this._NUMERAL_SYSTEM||(this._NUMERAL_SYSTEM=new Int.LexoNumeralSystem36),this._NUMERAL_SYSTEM}static get ZERO_DECIMAL(){return this._ZERO_DECIMAL||(this._ZERO_DECIMAL=gc.LexoDecimal.parse("0",r.NUMERAL_SYSTEM)),this._ZERO_DECIMAL}static get ONE_DECIMAL(){return this._ONE_DECIMAL||(this._ONE_DECIMAL=gc.LexoDecimal.parse("1",r.NUMERAL_SYSTEM)),this._ONE_DECIMAL}static get EIGHT_DECIMAL(){return this._EIGHT_DECIMAL||(this._EIGHT_DECIMAL=gc.LexoDecimal.parse("8",r.NUMERAL_SYSTEM)),this._EIGHT_DECIMAL}static get MIN_DECIMAL(){return this._MIN_DECIMAL||(this._MIN_DECIMAL=r.ZERO_DECIMAL),this._MIN_DECIMAL}static get MAX_DECIMAL(){return this._MAX_DECIMAL||(this._MAX_DECIMAL=gc.LexoDecimal.parse("1000000",r.NUMERAL_SYSTEM).subtract(r.ONE_DECIMAL)),this._MAX_DECIMAL}static get MID_DECIMAL(){return this._MID_DECIMAL||(this._MID_DECIMAL=r.between(r.MIN_DECIMAL,r.MAX_DECIMAL)),this._MID_DECIMAL}static get INITIAL_MIN_DECIMAL(){return this._INITIAL_MIN_DECIMAL||(this._INITIAL_MIN_DECIMAL=gc.LexoDecimal.parse("100000",r.NUMERAL_SYSTEM)),this._INITIAL_MIN_DECIMAL}static get INITIAL_MAX_DECIMAL(){return this._INITIAL_MAX_DECIMAL||(this._INITIAL_MAX_DECIMAL=gc.LexoDecimal.parse(r.NUMERAL_SYSTEM.toChar(r.NUMERAL_SYSTEM.getBase()-2)+"00000",r.NUMERAL_SYSTEM)),this._INITIAL_MAX_DECIMAL}static min(){return r.from(ZA.default.BUCKET_0,r.MIN_DECIMAL)}static middle(){let e=r.min();return e.between(r.max(e.bucket))}static max(e=ZA.default.BUCKET_0){return r.from(e,r.MAX_DECIMAL)}static initial(e){return e===ZA.default.BUCKET_0?r.from(e,r.INITIAL_MIN_DECIMAL):r.from(e,r.INITIAL_MAX_DECIMAL)}static between(e,t){if(e.getSystem().getBase()!==t.getSystem().getBase())throw new Error("Expected same system");let n=e,i=t,s;if(e.getScale()<t.getScale()){if(s=t.setScale(e.getScale(),!1),e.compareTo(s)>=0)return r.mid(e,t);i=s}if(e.getScale()>i.getScale()){if(s=e.setScale(i.getScale(),!0),s.compareTo(i)>=0)return r.mid(e,t);n=s}let a;for(let c=n.getScale();c>0;i=a){let d=c-1,u=n.setScale(d,!0);if(a=i.setScale(d,!1),u.compareTo(a)===0)return r.checkMid(e,t,u);if(u.compareTo(a)>0)break;c=d,n=u}let o=r.middleInternal(e,t,n,i),l;for(let c=o.getScale();c>0;c=l){l=c-1;let d=o.setScale(l);if(e.compareTo(d)>=0||d.compareTo(t)>=0)break;o=d}return o}static parse(e){let t=e.split("|"),n=ZA.default.from(t[0]),i=gc.LexoDecimal.parse(t[1],r.NUMERAL_SYSTEM);return new r(n,i)}static from(e,t){if(t.getSystem().getBase()!==r.NUMERAL_SYSTEM.getBase())throw new Error("Expected different system");return new r(e,t)}static middleInternal(e,t,n,i){let s=r.mid(n,i);return r.checkMid(e,t,s)}static checkMid(e,t,n){return e.compareTo(n)>=0||n.compareTo(t)>=0?r.mid(e,t):n}static mid(e,t){let i=e.add(t).multiply(gc.LexoDecimal.half(e.getSystem())),s=e.getScale()>t.getScale()?e.getScale():t.getScale();if(i.getScale()>s){let a=i.setScale(s,!1);if(a.compareTo(e)>0)return a;let o=i.setScale(s,!0);if(o.compareTo(t)<0)return o}return i}static formatDecimal(e){let t=e.format(),n=new Ant.default(t),i=t.indexOf(r.NUMERAL_SYSTEM.getRadixPointChar()),s=r.NUMERAL_SYSTEM.toChar(0);for(i<0&&(i=t.length,n.append(r.NUMERAL_SYSTEM.getRadixPointChar()));i<6;)n.insert(0,s),++i;for(;n[n.length-1]===s;)n.length=n.length-1;return n.toString()}genPrev(){if(this.isMax())return new r(this.bucket,r.INITIAL_MAX_DECIMAL);let e=this.decimal.floor(),n=gc.LexoDecimal.from(e).subtract(r.EIGHT_DECIMAL);return n.compareTo(r.MIN_DECIMAL)<=0&&(n=r.between(r.MIN_DECIMAL,this.decimal)),new r(this.bucket,n)}genNext(){if(this.isMin())return new r(this.bucket,r.INITIAL_MIN_DECIMAL);let e=this.decimal.ceil(),n=gc.LexoDecimal.from(e).add(r.EIGHT_DECIMAL);return n.compareTo(r.MAX_DECIMAL)>=0&&(n=r.between(this.decimal,r.MAX_DECIMAL)),new r(this.bucket,n)}between(e){if(!this.bucket.equals(e.bucket))throw new Error("Between works only within the same bucket");let t=this.decimal.compareTo(e.decimal);if(t>0)return new r(this.bucket,r.between(e.decimal,this.decimal));if(t===0)throw new Error("Try to rank between issues with same rank this="+this+" other="+e+" this.decimal="+this.decimal+" other.decimal="+e.decimal);return new r(this.bucket,r.between(this.decimal,e.decimal))}getBucket(){return this.bucket}getDecimal(){return this.decimal}inNextBucket(){return r.from(this.bucket.next(),this.decimal)}inPrevBucket(){return r.from(this.bucket.prev(),this.decimal)}isMin(){return this.decimal.equals(r.MIN_DECIMAL)}isMax(){return this.decimal.equals(r.MAX_DECIMAL)}format(){return this.value}equals(e){return this===e?!0:e?this.value===e.value:!1}toString(){return this.value}compareTo(e){return this===e?0:e?this.value.localeCompare(e.value):1}};QA.LexoRank=$3});var UEe=x(yc=>{"use strict";var Nnt=yc&&yc.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,i)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),JA=yc&&yc.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&Nnt(e,r,t)};Object.defineProperty(yc,"__esModule",{value:!0});JA(N3(),yc);JA(I3(),yc);JA(_3(),yc);JA(UA(),yc)});var WEe=x(Mp=>{"use strict";var Rnt=Mp&&Mp.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,i)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),VEe=Mp&&Mp.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&Rnt(e,r,t)};Object.defineProperty(Mp,"__esModule",{value:!0});VEe(UEe(),Mp);VEe(F3(),Mp)});function Tc(r){let e=r.split(".");return e.length>1&&["note","file","formula","task"].includes(e[0])?e.slice(1).join("."):r}function Ap(r,e){try{let t=r.getSortConfig();return t?(Array.isArray(t)?t:[t]).some(i=>{if(!i||typeof i!="object")return!1;let s=i.property||i.column||i.field||i.id||i.name||"";return ie(s).replace(/^(note\.|file\.|task\.)/,"")===e}):!1}catch(t){return!1}}function vc(r){if(typeof r!="string"||r.length===0)return null;try{return bc.LexoRank.parse(r)}catch(e){return null}}function Zf(r){return vc(r.sortOrder)!==null}function XA(r){return r?r.isMax()||r.toString().length>Ont:!1}function YEe(r){return r==null||r===""?"None":typeof r=="string"?r:typeof r=="boolean"?r?"True":"False":typeof r=="number"?String(r):ie(r)||"None"}function Lnt(r){return r==null||r===""?["None"]:Array.isArray(r)?r.length>0?r.map(e=>YEe(e)):["None"]:[YEe(r)]}function GEe(r,e){return e===null?!0:Lnt(r).includes(e)}function Fnt(r){let e=new Map;return r&&r.forEach((t,n)=>{e.set(t,n)}),e}function $nt(r,e,t){if(!e||e.length===0)return r.filter(s=>s.path!==t);let n=new Map(r.map(s=>[s.path,s])),i=e.filter(s=>s!==t).map(s=>n.get(s)).filter(s=>!!s);return i.length>0?i:r.filter(s=>s.path!==t)}function jnt(r){for(let e=1;e<r.length;e++){let t=vc(r[e-1].sortOrder),n=vc(r[e].sortOrder);if(!t||!n)continue;let i=t.toString().localeCompare(n.toString());if(i<0)return"asc";if(i>0)return"desc"}return"asc"}function KEe(r,e,t){return t==="asc"?r.toString().localeCompare(e.toString()):e.toString().localeCompare(r.toString())}function ZEe(r,e){return e==="asc"?eI(r):Yx(r)}function znt(r,e){return e==="asc"?Yx(r):eI(r)}function j3(r,e){return e==="asc"?Yx(r):eI(r)}function QEe(r,e,t){return t==="asc"?JEe(r,e):JEe(e,r)}function Yx(r){let e=r.toString();try{let l=r.genNext();if(l.toString()>e)return l}catch(l){}let t=e.indexOf("|"),n=e.indexOf(":"),i=e.substring(0,t),s=e.substring(t+1,n),a=e.substring(n+1),o=s.charAt(0);if(o!=="z"){let l=o>="0"&&o<="8"?String.fromCharCode(o.charCodeAt(0)+1):o==="9"?"a":o>="a"&&o<="y"?String.fromCharCode(o.charCodeAt(0)+1):"z",c=`${i}|${l}${s.slice(1)}:`,d=r.between(bc.LexoRank.parse(c));if(d.toString()>e)return d}return bc.LexoRank.parse(`${i}|${s}:${a}i`)}function eI(r){let e=r.toString();try{let l=r.genPrev();if(l.toString()<e)return l}catch(l){}let t=e.indexOf("|"),n=e.indexOf(":"),i=e.substring(0,t),s=e.substring(t+1,n),a=s.charAt(0),o;if(a==="0")o=`${i}|0:`;else{let l=a>="1"&&a<="9"?String.fromCharCode(a.charCodeAt(0)-1):a==="a"?"9":a>="b"&&a<="z"?String.fromCharCode(a.charCodeAt(0)-1):"0";o=`${i}|${l}${s.slice(1)}:`}return bc.LexoRank.parse(o).between(r)}function JEe(r,e){let t=r.toString(),n=e.toString();try{let a=r.between(e).toString();if(a>t&&a<n)return a}catch(a){}let i=Yx(r).toString();if(i>t&&i<n)return i;let s=eI(e).toString();return s>t&&s<n?s:i}function Bnt(r,e){for(let t=e-1;t>=0;t--){let n=vc(r[t].sortOrder);if(n)return n}return null}function qnt(r,e,t,n){if(!t||t.length===0)return null;let i=new Map(r.map(d=>[d.path,d])),s=t.indexOf(e);if(s===-1)return null;let a=i.get(e);if(!a||Zf(a))return null;let o=s;for(;o>0;){let d=i.get(t[o-1]);if(!d||Zf(d)||d.path===n)break;o--}let l=s;for(;l<t.length-1;){let d=i.get(t[l+1]);if(!d||Zf(d)||d.path===n)break;l++}let c=t.slice(o,l+1).filter(d=>d!==n).filter(d=>{let u=i.get(d);return!!u&&!Zf(u)});return c.length>0?c:null}function z3(r,e,t,n){let i=t?e:e+1,s=r.map(c=>c.path);s.splice(i,0,null);let a=[],o=null,l=null;for(let c=0;c<s.length;c++){l=l?j3(l,n):bc.LexoRank.middle();let d=l.toString(),u=s[c];u===null?o=d:a.push({path:u,sortOrder:d})}return{sortOrder:o,additionalWrites:a,reason:"rebalance"}}function Hnt(r,e,t,n,i,s="asc"){let a=r[e],l=qnt(r,a.path,i,n);if(!l){let y=e;for(;y>0&&!Zf(r[y-1]);)y--;let k=e;for(;k<r.length-1&&!Zf(r[k+1]);)k++;l=r.slice(y,k+1).map(T=>T.path).filter(T=>T!==n)}let c=l.length>0?r.findIndex(y=>y.path===l[0]):e,d=Bnt(r,c>=0?c:e);if(XA(d))return z3(r,e,t,s);let u=l.indexOf(a.path);if(t&&u===0)return{sortOrder:d?j3(d,s).toString():bc.LexoRank.middle().toString(),additionalWrites:[],reason:"boundary"};let p=u===-1?t?0:l.length:t?u:u+1,m=[...l];m.splice(p,0,null);let f=[],h=null,g=d;for(let y of m){let k=g?j3(g,s):bc.LexoRank.middle(),T=k.toString();y===null?h=T:f.push({path:y,sortOrder:T}),g=k}return{sortOrder:h,additionalWrites:f,reason:"sparse-init"}}function Unt(r,e,t,n={}){var c,d,u;let i=t.settings.fieldMapping.sortOrder,s=Fnt(n.visibleTaskPaths),a=n.candidateTaskPaths?new Set(n.candidateTaskPaths):null,o=t.app.vault.getMarkdownFiles(),l=[];for(let p of o){if(a&&!a.has(p.path))continue;let m=(c=t.app.metadataCache.getFileCache(p))==null?void 0:c.frontmatter;if(!m||r!==null&&e&&!GEe(m[e],r)||(d=n.scopeFilters)!=null&&d.some(y=>!GEe(m[y.property],y.value)))continue;let f=m[i],h=f!==void 0?String(f):void 0,g=(u=n.taskInfoCache)==null?void 0:u.get(p.path);if(g){g.sortOrder=h,l.push(g);continue}l.push({path:p.path,title:p.basename,status:m.status||"open",priority:m.priority||"",archived:m.archived||!1,sortOrder:h})}return l.sort((p,m)=>{let f=vc(p.sortOrder),h=vc(m.sortOrder);if(f&&h){let k=f.toString().localeCompare(h.toString());if(k!==0)return k}if(f&&!h)return-1;if(!f&&h)return 1;let g=s.get(p.path),y=s.get(m.path);return g!==void 0&&y!==void 0?g-y:g!==void 0?-1:y!==void 0?1:p.path.localeCompare(m.path)}),l}async function XEe(r,e,t){let n=t.app.vault.getAbstractFileByPath(r);if(!(n instanceof e0e.TFile))return;let i=t.settings.fieldMapping.sortOrder;await t.app.fileManager.processFrontMatter(n,s=>{s[i]=e})}async function tI(r,e,t,n,i,s,a={}){let o=Unt(t,n,s,a).filter(T=>T.path!==i),l=$nt(o,a.visibleTaskPaths,i),c=jnt(l);if(o.length===0)return{sortOrder:bc.LexoRank.middle().toString(),additionalWrites:[],reason:"boundary"};let d=l.findIndex(T=>T.path===r);if(d===-1){let T=[...l].reverse().find(S=>Zf(S)),w=T?vc(T.sortOrder):null;return{sortOrder:w?Yx(w).toString():bc.LexoRank.middle().toString(),additionalWrites:[],reason:"boundary"}}let u=l[d],p=d>0?l[d-1]:null,m=d<l.length-1?l[d+1]:null,f=vc(u.sortOrder),h=p?vc(p.sortOrder):null,g=m?vc(m.sortOrder):null;if(!f)return Hnt(l,d,e,i,a.visibleTaskPaths,c);let y=h?KEe(h,f,c)>=0:!1,k=g?KEe(f,g,c)>=0:!1;return e&&y||!e&&k||XA(h)||XA(f)||XA(g)?z3(l,d,e,c):e?{sortOrder:d===0?ZEe(f,c).toString():h?QEe(h,f,c):ZEe(f,c).toString(),additionalWrites:[],reason:d===0?"boundary":"midpoint"}:!m||!g?{sortOrder:znt(f,c).toString(),additionalWrites:[],reason:"boundary"}:{sortOrder:QEe(f,g,c),additionalWrites:[],reason:"midpoint"}}async function rI(r,e,t,n={}){if(e.sortOrder){for(let i of e.additionalWrites)await XEe(i.path,i.sortOrder,t);n.includeDragged!==!1&&await XEe(r,e.sortOrder,t)}}var bc,e0e,Ont,xv,B3=v(()=>{bc=Ke(WEe()),e0e=require("obsidian");jr();Ont=32;xv=class{constructor(){this.queues=new Map}async enqueue(e,t){var s;let i=((s=this.queues.get(e))!=null?s:Promise.resolve()).then(t,t);this.queues.set(e,i);try{await i}finally{this.queues.get(e)===i&&this.queues.delete(e)}}}});function Qf(r){r.classList.remove(...Vnt),r.removeAttribute("style")}var Vnt,q3=v(()=>{Vnt=["tn-static-align-items-baseline-4b95b5c7","tn-static-align-items-center-7c619740","tn-static-align-items-flex-start-0486f781","tn-static-background-color-var-background-mo-94b219f0","tn-static-background-color-var-background-se-9087a23e","tn-static-background-color-var-color-base-40-ef5f175e","tn-static-background-color-var-color-red-134bc721","tn-static-background-color-var-text-accent-a954c70f","tn-static-border-1px-solid-var-background-mo-b65b5121","tn-static-border-none-2eda1daa","tn-static-border-radius-4px-c290c56e","tn-static-border-radius-6px-0dc8408c","tn-static-border-style-dashed-12296c91","tn-static-border-style-solid-11080b69","tn-static-border-top-1px-solid-var-backgroun-aab7c2ca","tn-static-border-width-2px-a1222254","tn-static-color-var-color-accent-d2cad743","tn-static-color-var-text-accent-65b47ee3","tn-static-color-var-text-muted-5872de20","tn-static-color-var-text-on-accent-f3e1679d","tn-static-color-var-text-warning-783d5f03","tn-static-color-var-tn-text-muted-a90fb6f3","tn-static-color-white-0a43e56a","tn-static-cursor-grab-dad79857","tn-static-cursor-pointer-2723efcc","tn-static-cursor-pointer-3b6a3a65","tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-flex-1-14e3b769","tn-static-flex-1-97445a8d","tn-static-flex-direction-column-06c8b5ed","tn-static-flex-shrink-0-6ee0661e","tn-static-font-size-0-75em-948e16e5","tn-static-font-size-0-8em-19dc7c13","tn-static-font-size-0-9em-65025e95","tn-static-font-size-1-2em-3a352995","tn-static-font-size-12px-65574819","tn-static-font-size-12px-b0cc7e05","tn-static-font-size-var-tn-font-size-sm-0274a31d","tn-static-font-weight-500-02a2d333","tn-static-font-weight-600-eed0f8fb","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-gap-0-5rem-ce2fca4d","tn-static-gap-10px-f3d7ce77","tn-static-gap-12px-ed7b3d87","tn-static-gap-6px-f0abc1db","tn-static-gap-8px-33fcd4c3","tn-static-height-0-7a31cef0","tn-static-height-100-62264068","tn-static-height-12px-06c0747e","tn-static-height-16px-30de4aee","tn-static-height-24px-29a11d37","tn-static-justify-content-center-03c4bb6f","tn-static-justify-content-flex-end-455f8cca","tn-static-justify-content-space-between-a562f4fd","tn-static-margin-0-11696618","tn-static-margin-0-auto-266e9b04","tn-static-margin-0-db0d5f36","tn-static-margin-0-var-size-4-2-77f7dc08","tn-static-margin-2px-0-edce9b14","tn-static-margin-8px-0-0-0-a2eb8382","tn-static-margin-bottom-0-75rem-c05a3c6e","tn-static-margin-bottom-20px-49f14f8f","tn-static-margin-bottom-8px-fdf33f23","tn-static-margin-left-4px-46cec891","tn-static-margin-right-4px-c6b76b85","tn-static-margin-right-8px-539fa9a0","tn-static-margin-top-0-5rem-3dc98b5e","tn-static-margin-top-0-d462248a","tn-static-margin-top-12px-91e0f558","tn-static-margin-top-16px-1b0f4999","tn-static-margin-top-1rem-2239d6d5","tn-static-margin-top-20px-a26bda7d","tn-static-margin-top-30px-2fbbbcd4","tn-static-margin-top-4px-96ad6099","tn-static-margin-top-8px-8a77e5a3","tn-static-margin-top-8px-f4f01e68","tn-static-max-height-400px-f0787633","tn-static-max-width-900px-1d34c094","tn-static-min-height-800px-997b4c8c","tn-static-min-width-0-3922d326","tn-static-min-width-2px-709d7da0","tn-static-opacity-0-6-d95b59ac","tn-static-opacity-0-8d919cb5","tn-static-opacity-1-c6e7979d","tn-static-overflow-hidden-69824400","tn-static-overflow-y-auto-03df744e","tn-static-overflow-y-clip-c5043043","tn-static-padding-0-16px-16px-16px-f1aa998c","tn-static-padding-0-41d7d7e2","tn-static-padding-12px-43bef435","tn-static-padding-16px-287f770e","tn-static-padding-20px-769fed37","tn-static-padding-20px-7a035d95","tn-static-padding-20px-ebe8e48c","tn-static-padding-2px-8px-c8eea84a","tn-static-padding-2rem-42aa6d9c","tn-static-padding-top-20px-49826953","tn-static-position-relative-d461c96d","tn-static-text-align-center-91a87015","tn-static-text-decoration-line-through-7059a4e5","tn-static-text-decoration-none-80d654f9","tn-static-transform-translatey-0-1b976432","tn-static-transform-translatey-10px-5b91bf02","tn-static-transition-background-color-0-2s-8142f01e","tn-static-vertical-align-baseline-657d9c46","tn-static-width-100-0466783d","tn-static-width-12px-fbf353fb","tn-static-width-16px-7375d50b","tn-static-width-1px-aa77e27e","tn-static-width-200px-2acaf3b5","tn-static-width-60px-bd09c419","tn-static-width-80px-8573bae3"]});function nI(r){return typeof r=="object"&&r!==null}function iI(r,e){var i,s;let t=r.metadataTypeManager,n=(s=(i=t==null?void 0:t.properties)==null?void 0:i[e.toLowerCase()])==null?void 0:s.type;return n!==void 0&&Wnt.has(n)}function sI(r){if(!(!nI(r)||!nI(r.ctx)||!nI(r.ctx.formulas)))return r.ctx.formulas}function Gx(r){return nI(r.basesData)?r.basesData:void 0}function aI(r){return typeof(r==null?void 0:r.getValue)=="function"}function oI(r,e,t){let n=e.frontmatter;if(n&&Object.keys(t).length>0){e.frontmatter={...n,...t};try{return r.getValue(e)}finally{e.frontmatter=n}}return r.getValue(e)}function lI(r,e){var n,i;let t=(i=(n=Gx(e))==null?void 0:n.formulaResults)==null?void 0:i.cachedFormulaOutputs;if(!(!t||typeof t!="object"))for(let[s,a]of Object.entries(t))r[`formula.${s}`]=a}var Wnt,H3=v(()=>{Wnt=new Set(["multitext","tags","aliases"])});function Ynt(r){return typeof r=="object"&&r!==null}function Gnt(r){return Ynt(r)}function t0e(r){if(typeof r=="number")return r===1?"show-all":"inherit";let e=ie(r).trim().toLowerCase().replace(/^['"]|['"]$/g,"").replace(/[_\s]+/g,"-");return e==="show-all"||e==="1"?"show-all":"inherit"}function r0e(r){return function(e,t){if(!t)throw console.error("[TaskNotes][TaskListView] No containerEl provided"),new Error("TaskListView requires a containerEl");return new U3(e,t,r)}}var Vi,U3,n0e=v(()=>{Vi=require("obsidian");Ux();$A();$i();x3();xm();sT();gg();md();yg();Qe();jr();E3();B3();q3();H3();U3=class extends fc{constructor(t,n,i){super(t,n,i);this.type="tasknotesTaskList";this.itemsContainer=null;this.currentTaskElements=new Map;this.lastRenderWasGrouped=!1;this.lastFlatPaths=[];this.lastTaskSignatures=new Map;this.taskInfoCache=new Map;this.clickTimeouts=new Map;this.currentTargetDate=en(new Date);this.containerListenersRegistered=!1;this.virtualScroller=null;this.useVirtualScrolling=!1;this.collapsedGroups=new Set;this.collapsedSubGroups=new Set;this.subGroupPropertyId=null;this.expandedRelationshipFilterMode="inherit";this.currentVisibleTaskPaths=new Set;this.configLoaded=!1;this.draggedTaskPath=null;this.dragGroupKey=null;this.currentInsertionGroupKey=null;this.currentInsertionSegmentIndex=-1;this.currentInsertionIndex=-1;this.pendingDragClientY=null;this.pendingRender=!1;this.taskGroupKeys=new Map;this.sortScopeTaskPaths=new Map;this.sortScopeCandidateTaskPaths=new Map;this.dragOverRafId=0;this.dragContainer=null;this.currentDropSlotElement=null;this.currentDropSlotPosition=null;this.dragBaselineCards=[];this.dropQueue=new xv;this.VIRTUAL_SCROLL_THRESHOLD=100;this.LARGE_REORDER_WARNING_THRESHOLD=10;this.UNGROUPED_SORT_SCOPE_KEY="__ungrouped__";this.CARD_NO_DRAG_SELECTOR='[data-tn-no-drag="true"], a, button, input, select, textarea, [contenteditable="true"]';this.handleItemClick=async t=>{let n=t.target,i=n.closest(".task-group-header");if(i){let s=i.closest(".task-group"),a=s==null?void 0:s.dataset.groupKey;if(a){if(n.closest("a"))return;t.preventDefault(),t.stopPropagation(),await this.handleGroupToggle(a);return}}};this.handleItemContextMenu=async t=>{let n=this.getTaskContextFromEvent(t);if(!n)return;t.preventDefault(),t.stopPropagation();let i=this.plugin.taskSelectionService;if(i&&i.getSelectionCount()>1){i.isSelected(n.task.path)||i.addToSelection(n.task.path),this.showBatchContextMenu(t);return}await ju(t,n.task.path,this.plugin,this.currentTargetDate)};this.handleItemPointerOver=t=>{if("pointerType"in t&&t.pointerType!=="mouse")return;let n=this.getTaskContextFromEvent(t);if(!n)return;let i=t.relatedTarget;if(i&&n.card.contains(i))return;let s=this.app||this.plugin.app;s.vault.getAbstractFileByPath(n.task.path)&&s.workspace.trigger("hover-link",{event:t,source:"tasknotes-task-card",hoverParent:n.card,targetEl:n.card,linktext:n.task.path,sourcePath:n.task.path})};this.basesController=t,this.dataAdapter.basesView=this}onload(){this.readViewOptions(),super.onload()}readViewOptions(){if(!this.config||typeof this.config.get!="function"){console.debug("[TaskListView] Config not available yet in readViewOptions");return}try{this.subGroupPropertyId=this.config.getAsPropertyId("subGroup");let t=this.config.get("enableSearch");this.enableSearch=t!=null?t:!1;let n=this.config.get("expandedRelationshipFilterMode");this.expandedRelationshipFilterMode=t0e(n),this.configLoaded=!0}catch(t){console.warn("[TaskListView] Failed to parse config:",t)}}setupContainer(){var i;super.setupContainer(),this.rootElement&&(this.rootElement.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-flex-direction-column-06c8b5ed","tn-static-height-0-7a31cef0","tn-static-height-100-62264068","tn-static-height-12px-06c0747e","tn-static-height-16px-30de4aee","tn-static-height-24px-29a11d37","tn-static-min-height-800px-997b4c8c"),this.rootElement.classList.add("tn-static-display-flex-4d51fc62"));let n=this.containerEl.ownerDocument.createElement("div");n.className="tn-bases-items-container",n.classList.remove("tn-static-flex-1-14e3b769","tn-static-flex-1-97445a8d","tn-static-font-size-12px-b0cc7e05","tn-static-margin-top-0-5rem-3dc98b5e","tn-static-margin-top-0-d462248a","tn-static-margin-top-16px-1b0f4999","tn-static-margin-top-1rem-2239d6d5","tn-static-margin-top-20px-a26bda7d","tn-static-margin-top-30px-2fbbbcd4","tn-static-margin-top-4px-96ad6099","tn-static-margin-top-8px-8a77e5a3","tn-static-margin-top-8px-f4f01e68","tn-static-max-height-400px-f0787633","tn-static-overflow-y-auto-03df744e","tn-static-overflow-y-clip-c5043043","tn-static-position-relative-d461c96d"),n.classList.add("tn-static-margin-top-12px-91e0f558"),(i=this.rootElement)==null||i.appendChild(n),this.itemsContainer=n,this.registerContainerListeners(),this.setupContainerDragHandlers()}async render(){var t;if(!(!this.itemsContainer||!this.rootElement)){if(this.draggedTaskPath){this.pendingRender=!0;return}this.config&&this.readViewOptions(),this.rootElement&&this.setupSearch(this.rootElement);try{if(!((t=this.data)!=null&&t.data))return;let n=this.dataAdapter.extractDataItems();await this.computeFormulas(n);let i=await Kf(n,this.plugin);if(i.length===0){this.clearAllTaskElements(),this.sortScopeTaskPaths.clear(),this.sortScopeCandidateTaskPaths.clear(),this.renderEmptyState(),this.lastRenderWasGrouped=!1;return}let s=this.dataAdapter.isGrouped();!s&&this.subGroupPropertyId?(this.lastRenderWasGrouped||this.clearAllTaskElements(),await this.renderGroupedBySubProperty(i),this.lastRenderWasGrouped=!0):s?(this.lastRenderWasGrouped||this.clearAllTaskElements(),await this.renderGrouped(i),this.lastRenderWasGrouped=!0):(this.lastRenderWasGrouped&&this.clearAllTaskElements(),await this.renderFlat(i),this.lastRenderWasGrouped=!1)}catch(n){console.error("[TaskNotes][TaskListView] Error rendering:",n),this.clearAllTaskElements(),this.sortScopeTaskPaths.clear(),this.sortScopeCandidateTaskPaths.clear(),this.renderError(n instanceof Error?n:new Error(String(n)))}}}getGroupByPropertyId(){var n;let t=this.basesController;if((n=t==null?void 0:t.query)!=null&&n.views&&(t!=null&&t.viewName)){for(let i of t.query.views)if((i==null?void 0:i.name)===t.viewName){if(i.groupBy){if(typeof i.groupBy=="object"&&i.groupBy.property)return i.groupBy.property;if(typeof i.groupBy=="string")return i.groupBy}return null}}return null}getSortScopeKey(t){return t!=null?t:this.UNGROUPED_SORT_SCOPE_KEY}getVisibleSortScopePaths(t){return this.sortScopeTaskPaths.get(this.getSortScopeKey(t))}getCandidateSortScopePaths(t){return this.sortScopeCandidateTaskPaths.get(this.getSortScopeKey(t))}setSortScopePaths(t){this.sortScopeTaskPaths.clear();for(let[n,i]of t)this.sortScopeTaskPaths.set(this.getSortScopeKey(n),[...i])}setSortScopeCandidatePaths(t){this.sortScopeCandidateTaskPaths.clear();for(let[n,i]of t)this.sortScopeCandidateTaskPaths.set(this.getSortScopeKey(n),[...i])}isListTypeProperty(t){if(iI(this.plugin.app,t))return!0;let n=this.plugin.fieldMapper.toUserField("contexts"),i=this.plugin.fieldMapper.toUserField("projects");return new Set(["contexts",n,"projects",i,"tags","aliases"]).has(t)}async confirmLargeReorder(t,n){let i=this.plugin.settings.fieldMapping.sortOrder,s=n===null?this.plugin.i18n.translate("views.taskList.reorder.scope.ungrouped"):this.plugin.i18n.translate("views.taskList.reorder.scope.group",{group:n});return Li(this.plugin.app,{title:this.plugin.i18n.translate("common.reorder.confirmLargeTitle"),message:this.plugin.i18n.translate("common.reorder.confirmLargeMessage",{field:i,count:t,scope:s}),confirmText:this.plugin.i18n.translate("common.reorder.confirmButton"),cancelText:this.plugin.i18n.translate("common.cancel")})}getEventTargetElement(t){let n=t;return!n||typeof n.nodeType!="number"?null:n.nodeType===Node.ELEMENT_NODE?n:n.parentElement}shouldSuppressCardDrag(t,n){let i=this.getEventTargetElement(t);return!i||!n.contains(i)?!1:!!i.closest(this.CARD_NO_DRAG_SELECTOR)}setupCardDragHandlers(t,n,i){let s=null,a=()=>{t.setAttribute("draggable","true"),s=null};t.addEventListener("mousedown",o=>{s=o.target,t.setAttribute("draggable",this.shouldSuppressCardDrag(o.target,t)?"false":"true")},{capture:!0}),t.addEventListener("mouseup",a),t.addEventListener("click",a,{capture:!0}),t.addEventListener("dragstart",o=>{if(this.shouldSuppressCardDrag(s!=null?s:o.target,t)){o.preventDefault(),o.stopPropagation(),a();return}this.draggedTaskPath=n.path,this.dragGroupKey=i,t.classList.add("task-card--dragging"),o.dataTransfer&&(o.dataTransfer.effectAllowed="move",o.dataTransfer.setData("text/plain",n.path)),this.containerEl.ownerDocument.body.classList.add("tn-drag-active");let l=t.getBoundingClientRect().height,c=this.itemsContainer;window.requestAnimationFrame(()=>{if(t.classList.remove("tn-static-display-flex-4d51fc62","tn-static-height-100-62264068","tn-static-height-12px-06c0747e","tn-static-height-16px-30de4aee","tn-static-height-24px-29a11d37","tn-static-min-height-800px-997b4c8c"),t.classList.add("tn-static-height-0-7a31cef0"),t.classList.remove("tn-static-flex-1-14e3b769"),t.classList.add("tn-static-overflow-hidden-69824400"),t.classList.remove("tn-static-margin-8px-0-0-0-a2eb8382","tn-static-padding-0-16px-16px-16px-f1aa998c","tn-static-padding-12px-43bef435","tn-static-padding-16px-287f770e","tn-static-padding-20px-769fed37","tn-static-padding-20px-7a035d95","tn-static-padding-20px-ebe8e48c","tn-static-padding-2px-8px-c8eea84a","tn-static-padding-2rem-42aa6d9c"),t.classList.add("tn-static-padding-0-41d7d7e2"),t.classList.remove("tn-static-margin-0-auto-266e9b04","tn-static-margin-0-db0d5f36","tn-static-margin-0-var-size-4-2-77f7dc08","tn-static-margin-2px-0-edce9b14","tn-static-margin-8px-0-0-0-a2eb8382","tn-static-padding-12px-43bef435","tn-static-padding-20px-ebe8e48c"),t.classList.add("tn-static-margin-0-11696618"),t.classList.remove("tn-static-border-1px-solid-var-background-mo-b65b5121","tn-static-padding-12px-43bef435"),t.classList.add("tn-static-border-none-2eda1daa"),t.classList.remove("tn-static-opacity-0-6-d95b59ac","tn-static-opacity-1-c6e7979d"),t.classList.add("tn-static-opacity-0-8d919cb5"),c){let d=getComputedStyle(c).gap,u=parseFloat(d)||4;c.style.setProperty("--tn-drag-gap",`${l+u}px`),this.dragContainer=c,this.currentInsertionGroupKey=i,this.currentInsertionSegmentIndex=-1,this.currentInsertionIndex=-1,this.currentDropSlotElement=null,this.currentDropSlotPosition=null,this.captureDropBaseline()}})}),t.addEventListener("dragend",()=>{a(),Qf(t),t.classList.remove("task-card--dragging"),this.cleanupDragShift(),this.containerEl.ownerDocument.body.classList.remove("tn-drag-active"),this.draggedTaskPath=null,this.dragGroupKey=null,this.currentInsertionGroupKey=null,this.currentInsertionSegmentIndex=-1,this.currentInsertionIndex=-1,this.dragOverRafId&&(cancelAnimationFrame(this.dragOverRafId),this.dragOverRafId=0),this.pendingDragClientY=null,this.pendingRender&&(this.containerEl.ownerDocument.defaultView||window).setTimeout(()=>{this.pendingRender&&(this.pendingRender=!1,this.debouncedRefresh())},200)})}clearDropIndicators(){var t;(t=this.itemsContainer)==null||t.querySelectorAll(".task-card--drop-above, .task-card--drop-below, .task-list-view__drop-slot-before, .task-list-view__drop-slot-after").forEach(n=>{n.classList.remove("task-card--drop-above","task-card--drop-below","task-list-view__drop-slot-before","task-list-view__drop-slot-after")}),this.currentDropSlotElement=null,this.currentDropSlotPosition=null}cleanupDragShift(){var t;this.dragContainer&&this.dragContainer.style.removeProperty("--tn-drag-gap"),(t=this.itemsContainer)==null||t.querySelectorAll(".task-card--drag-shift, .task-card--shift-down, .task-list-view__drop-slot-before, .task-list-view__drop-slot-after").forEach(n=>{n.classList.remove("task-card--drag-shift","task-card--shift-down","task-list-view__drop-slot-before","task-list-view__drop-slot-after")}),this.dragContainer=null,this.currentDropSlotElement=null,this.currentDropSlotPosition=null,this.currentInsertionGroupKey=null,this.currentInsertionSegmentIndex=-1,this.currentInsertionIndex=-1,this.dragBaselineCards=[]}getDropSegments(){let t=this.getDropBaselineCards();if(t.length===0)return[];let n=[];for(let i of t){let s=n[n.length-1];if(!s||s.groupKey!==i.groupKey){n.push({groupKey:i.groupKey,cards:[i]});continue}s.cards.push(i)}return n}reconstructDropTargetFromInsertionSlot(t,n){let i=this.getDropSegments()[t];if(!i||i.cards.length===0)return null;let s=Math.max(0,Math.min(n,i.cards.length));return s===0?{taskPath:i.cards[0].path,above:!0}:{taskPath:i.cards[s-1].path,above:!1}}getCurrentInsertionTarget(){return this.currentInsertionSegmentIndex<0||this.currentInsertionIndex<0?null:this.reconstructDropTargetFromInsertionSlot(this.currentInsertionSegmentIndex,this.currentInsertionIndex)}getVisibleSortScopePathsForDrag(t){return this.getVisibleSortScopePaths(t)}getReorderScopeQueueKey(t,n){return n?`manual-sort:${n}:${this.getSortScopeKey(t)}`:"manual-sort:list"}syncGroupedDragMetadata(t){this.taskGroupKeys.clear();let n=new Map;for(let i of t){if(i.type!=="task")continue;this.taskGroupKeys.set(i.task.path,i.groupKey);let s=n.get(i.groupKey)||[];s.push(i.task.path),n.set(i.groupKey,s)}this.setSortScopePaths(n)}buildGroupedScopePaths(t,n){let i=new Set(n.map(a=>a.path)),s=new Map;for(let a of t){let o=this.dataAdapter.convertGroupKeyToString(a.key),l=a.entries.map(c=>{var d;return(d=c.file)==null?void 0:d.path}).filter(c=>!!c&&i.has(c));s.set(o,l)}return s}buildSubPropertyScopePaths(t){let n=new Map;for(let[i,s]of t)n.set(i,s.map(a=>a.path));return n}updateDropSlotPreview(t){let{element:n,position:i}=t;n===this.currentDropSlotElement&&i===this.currentDropSlotPosition||(this.clearDropIndicators(),n.classList.add(i==="before"?"task-list-view__drop-slot-before":"task-list-view__drop-slot-after"),this.currentDropSlotElement=n,this.currentDropSlotPosition=i)}updateResolvedInsertionSlot(t){let n=this.resolveClosestInsertionSlot(t);return n?(this.currentInsertionGroupKey=n.groupKey,this.currentInsertionSegmentIndex=n.segmentIndex,this.currentInsertionIndex=n.insertionIndex,this.updateDropSlotPreview(n),!0):!1}flushPendingInsertionSlot(t){var i;this.dragOverRafId&&(cancelAnimationFrame(this.dragOverRafId),this.dragOverRafId=0);let n=(i=this.pendingDragClientY)!=null?i:t;return n===null?this.currentInsertionSegmentIndex>=0&&this.currentInsertionIndex>=0:this.updateResolvedInsertionSlot(n)}getVisibleDropCards(){return this.itemsContainer?Array.from(this.itemsContainer.querySelectorAll(".task-card[data-task-path]")).filter(t=>{var i;return t.dataset.taskPath===this.draggedTaskPath?!1:!((i=t.parentElement)==null?void 0:i.closest(".task-card[data-task-path]"))}):[]}captureDropBaseline(t=this.getVisibleDropCards()){if(!this.itemsContainer){this.dragBaselineCards=[];return}let n=this.itemsContainer.getBoundingClientRect(),i=this.itemsContainer.scrollTop;this.dragBaselineCards=t.map(s=>{var c;let a=s.dataset.taskPath;if(!a)return null;let o=s.getBoundingClientRect(),l=o.top-n.top+i;return{path:a,groupKey:(c=this.taskGroupKeys.get(a))!=null?c:null,card:s,top:l,bottom:l+o.height,midpoint:l+o.height/2}}).filter(s=>!!s)}getDropBaselineCards(){let t=this.getVisibleDropCards(),n=t.map(a=>{var o;return(o=a.dataset.taskPath)!=null?o:""}),i=this.dragBaselineCards.map(a=>a.path);return n.length===i.length&&n.every((a,o)=>a===i[o])||this.captureDropBaseline(t),this.dragBaselineCards}getContainerLocalY(t){if(!this.itemsContainer)return t;let n=this.itemsContainer.getBoundingClientRect();return t-n.top+this.itemsContainer.scrollTop}resolveClosestInsertionSlot(t){let n=this.getDropSegments();if(n.length===0)return null;let i=this.getContainerLocalY(t),s=n.length-1;for(let c=0;c<n.length;c++){let d=n[c],u=c>0?n[c-1]:null,p=c<n.length-1?n[c+1]:null,m=d.cards[0],f=d.cards[d.cards.length-1],h=u?(u.cards[u.cards.length-1].bottom+m.top)/2:Number.NEGATIVE_INFINITY,g=p?(f.bottom+p.cards[0].top)/2:Number.POSITIVE_INFINITY;if((i<g||c===n.length-1)&&(i>=h||c===0)){s=c;break}}let a=n[s],o=a.cards,l=o.findIndex(c=>i<c.midpoint);if(l===-1){let c=o[o.length-1];return{groupKey:a.groupKey,segmentIndex:s,insertionIndex:o.length,element:c.card,position:"after"}}return{groupKey:a.groupKey,segmentIndex:s,insertionIndex:l,element:o[l].card,position:"before"}}setupContainerDragHandlers(){this.itemsContainer&&(this.itemsContainer.addEventListener("dragenter",t=>{this.draggedTaskPath&&(t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect="move"))}),this.itemsContainer.addEventListener("dragover",t=>{this.draggedTaskPath&&(t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect="move"),this.pendingDragClientY=t.clientY,this.dragOverRafId||(this.dragOverRafId=window.requestAnimationFrame(()=>{this.dragOverRafId=0;let n=this.pendingDragClientY;n!==null&&this.updateResolvedInsertionSlot(n)})))}),this.itemsContainer.addEventListener("dragleave",t=>{var i;let n=t.relatedTarget;(!n||!((i=this.itemsContainer)!=null&&i.contains(n)))&&this.clearDropIndicators()}),this.itemsContainer.addEventListener("drop",t=>{(async()=>{if(t.preventDefault(),!this.draggedTaskPath||!this.flushPendingInsertionSlot(t.clientY)&&this.currentInsertionIndex<0)return;let n=this.draggedTaskPath,i=this.dragGroupKey,s=this.currentInsertionGroupKey,a=this.getVisibleSortScopePathsForDrag(s),o=this.currentInsertionSegmentIndex,l=this.currentInsertionIndex,c=o>=0&&l>=0?this.reconstructDropTargetFromInsertionSlot(o,l):null;!n||!c||(this.clearDropIndicators(),this.cleanupDragShift(),this.draggedTaskPath=null,this.dragGroupKey=null,this.currentInsertionGroupKey=null,this.currentInsertionSegmentIndex=-1,this.currentInsertionIndex=-1,this.pendingDragClientY=null,await this.handleSortOrderDrop(n,c.taskPath,c.above,s,i,a))})()}))}async handleSortOrderDrop(t,n,i,s,a,o){let l=this.getGroupByPropertyId(),c=this.getReorderScopeQueueKey(s,l);await this.dropQueue.enqueue(c,async()=>{var S;let d=l?Tc(l):null,u=!!(l!=null&&l.startsWith("formula.")),p=!!d&&this.isListTypeProperty(d);if(u){new Vi.Notice(this.plugin.i18n.translate("views.taskList.errors.formulaGroupingReadOnly"));return}let m=s==="None"?null:s,f=!!l&&m!==a,h=d?this.plugin.fieldMapper.lookupMappingKey(d):null,g=await tI(n,i,s,d,t,this.plugin,{taskInfoCache:this.taskInfoCache,visibleTaskPaths:o!=null?o:this.getVisibleSortScopePaths(s),candidateTaskPaths:this.getCandidateSortScopePaths(s)});if(g.sortOrder===null)return;let y=g.additionalWrites.length+1;if(y>this.LARGE_REORDER_WARNING_THRESHOLD&&!await this.confirmLargeReorder(y,s))return;if(!(f||g!==null)){this.debouncedRefresh();return}let T=this.plugin.app.vault.getAbstractFileByPath(t);if(!T||!(T instanceof Vi.TFile)){this.debouncedRefresh();return}let w=this.plugin.settings.fieldMapping.sortOrder;if(await rI(t,g,this.plugin,{includeDragged:!1}),await this.plugin.app.fileManager.processFrontMatter(T,E=>{if(f){let C=l.replace(/^(note\.|file\.|task\.)/,"");if(p){let D=E[C];Array.isArray(D)||(D=D?[D]:[]);let A=D.filter(N=>N!==a);m!==null&&!A.includes(m)&&A.push(m),A.length>0?E[C]=A:delete E[C]}else m===null?delete E[C]:E[C]=m;if(h==="status"&&m!==null){let D=this.taskInfoCache.get(t),A=!!(D!=null&&D.recurrence);this.plugin.taskService.updateCompletedDateInFrontmatter(E,m,A);let N=this.plugin.fieldMapper.toUserField("dateModified");E[N]=Ve()}}g.sortOrder!==null&&(E[w]=g.sortOrder)}),f&&h)try{let E=(S=this.taskInfoCache.get(t))!=null?S:await this.plugin.cacheManager.getTaskInfo(t);if(E){let C={...E},D=E,A=C;if(p){let N=D[h],R=(Array.isArray(N)?[...N]:N?[ie(N)]:[]).filter(I=>I!==a);m!==null&&!R.includes(m)&&R.push(m),A[h]=R}else A[h]=m;C.dateModified=Ve(),h==="status"&&!E.recurrence&&(m!==null&&this.plugin.statusManager.isCompletedStatus(m)?C.completedDate=new Date().toISOString().split("T")[0]:C.completedDate=void 0),await this.plugin.taskService.applyPropertyChangeSideEffects(T,E,C,h,a,m)}}catch(E){console.warn("[TaskNotes][TaskListView] Side-effect error after drop:",E)}this.debouncedRefresh()})}async computeFormulas(t){let n=sI(this.data);if(!(!n||t.length===0))for(let i=0;i<t.length;i++){let s=t[i],a=Gx(s),o=a==null?void 0:a.formulaResults;if(!(!a||!(o!=null&&o.cachedFormulaOutputs)))for(let l of Object.keys(n)){let c=n[l];if(aI(c))try{let d=s.properties||{},u=oI(c,a,d);u!==void 0&&(o.cachedFormulaOutputs[l]=u)}catch(d){}}}}async renderFlat(t){let n=this.getVisibleProperties();this.setSortScopeCandidatePaths([[null,t.map(l=>l.path)]]);let i=this.applySearchFilter(t);if(this.setCurrentVisibleTaskPaths(i),this.isSearchWithNoResults(i,t.length)){this.clearAllTaskElements(),this.sortScopeTaskPaths.clear(),this.sortScopeCandidateTaskPaths.clear(),this.itemsContainer&&this.renderSearchNoResults(this.itemsContainer);return}let s=en(new Date);this.currentTargetDate=s;let a=this.getCardOptions(s),o=i.length>=this.VIRTUAL_SCROLL_THRESHOLD;o&&!this.useVirtualScrolling?(this.cleanupNonVirtualRendering(),this.useVirtualScrolling=!0):!o&&this.useVirtualScrolling&&(this.destroyVirtualScroller(),this.useVirtualScrolling=!1),this.useVirtualScrolling?await this.renderFlatVirtual(i,n,a):await this.renderFlatNormal(i,n,a)}async renderFlatVirtual(t,n,i){this.itemsContainer&&(this.taskGroupKeys.clear(),this.setSortScopePaths([[null,t.map(s=>s.path)]]),this.virtualScroller?this.virtualScroller.updateItems(t):(this.virtualScroller=new Pp({container:this.itemsContainer,items:t,overscan:5,renderItem:s=>{if("type"in s)throw new Error("Unexpected grouped item in flat renderer");let a=s,o=pr(s,this.plugin,n,i);return Ap(this.dataAdapter,this.plugin.settings.fieldMapping.sortOrder)&&(o.setAttribute("draggable","true"),this.setupCardDragHandlers(o,a,null)),this.taskInfoCache.set(a.path,a),this.lastTaskSignatures.set(a.path,this.buildTaskSignature(a)),o},getItemKey:s=>"type"in s?`grouped-${s.groupKey}`:s.path}),window.setTimeout(()=>{var s;(s=this.virtualScroller)==null||s.recalculate()},0)),this.lastFlatPaths=t.map(s=>s.path))}async renderFlatNormal(t,n,i){if(!this.itemsContainer)return;this.taskGroupKeys.clear(),this.setSortScopePaths([[null,t.map(o=>o.path)]]);let s=new Set,a=!this.arePathArraysEqual(t,this.lastFlatPaths);a&&(this.itemsContainer.empty(),this.currentTaskElements.clear());for(let o of t){let l=a?null:this.currentTaskElements.get(o.path)||null,c=this.buildTaskSignature(o),d=this.lastTaskSignatures.get(o.path),u=c!==d||!l;if(!l||u){let p=pr(o,this.plugin,n,i);l&&l.isConnected&&l.replaceWith(p),l=p}l.isConnected||this.itemsContainer.appendChild(l),u&&Ap(this.dataAdapter,this.plugin.settings.fieldMapping.sortOrder)&&(l.setAttribute("draggable","true"),this.setupCardDragHandlers(l,o,null)),this.currentTaskElements.set(o.path,l),this.taskInfoCache.set(o.path,o),this.lastTaskSignatures.set(o.path,c),s.add(o.path)}if(!a&&s.size!==this.currentTaskElements.size){for(let[o,l]of this.currentTaskElements)if(!s.has(o)){l.remove(),this.currentTaskElements.delete(o);let c=this.clickTimeouts.get(o);c&&(window.clearTimeout(c),this.clickTimeouts.delete(o)),this.taskInfoCache.delete(o),this.lastTaskSignatures.delete(o)}}this.lastFlatPaths=t.map(o=>o.path)}buildGroupedRenderItems(t,n){let i=[],s=this.subGroupPropertyId?this.buildPathToPropsMap():new Map;for(let a of t){let o=this.dataAdapter.convertGroupKeyToString(a.key),l=new Set(a.entries.map(u=>{var p;return(p=u.file)==null?void 0:p.path})),c=n.filter(u=>l.has(u.path));if(c.length===0)continue;let d=this.collapsedGroups.has(o);if(i.push({type:"primary-header",groupKey:o,groupTitle:o,taskCount:c.length,groupEntries:a.entries,isCollapsed:d}),!d)if(this.subGroupPropertyId){let u=this.groupTasksBySubProperty(c,this.subGroupPropertyId,s);for(let[p,m]of u){if(m.length===0)continue;let f=`${o}:${p}`,h=this.collapsedSubGroups.has(f);if(i.push({type:"sub-header",groupKey:o,subGroupKey:p,subGroupTitle:p,taskCount:m.length,isCollapsed:h,parentKey:o}),!h)for(let g of m)i.push({type:"task",task:g,groupKey:o,subGroupKey:p})}}else for(let u of c)i.push({type:"task",task:u,groupKey:o})}return i}async renderGroupedBySubProperty(t){let n=this.getVisibleProperties(),i=this.applySearchFilter(t);if(this.setCurrentVisibleTaskPaths(i),this.isSearchWithNoResults(i,t.length)){this.clearAllTaskElements(),this.sortScopeTaskPaths.clear(),this.sortScopeCandidateTaskPaths.clear(),this.itemsContainer&&this.renderSearchNoResults(this.itemsContainer);return}let s=en(new Date);this.currentTargetDate=s;let a=this.getCardOptions(s),o=this.buildPathToPropsMap(),l=this.groupTasksBySubProperty(i,this.subGroupPropertyId,o),c=this.groupTasksBySubProperty(t,this.subGroupPropertyId,o);this.setSortScopeCandidatePaths(this.buildSubPropertyScopePaths(c));let d=[];for(let[p,m]of l){if(m.length===0)continue;let f=this.collapsedGroups.has(p);if(d.push({type:"primary-header",groupKey:p,groupTitle:p,taskCount:m.length,groupEntries:[],isCollapsed:f}),!f)for(let h of m)d.push({type:"task",task:h,groupKey:p})}let u=d.length>=this.VIRTUAL_SCROLL_THRESHOLD;if(this.useVirtualScrolling&&u&&this.virtualScroller){this.syncGroupedDragMetadata(d),this.virtualScroller.updateItems(d),this.lastFlatPaths=t.map(p=>p.path);return}this.itemsContainer.empty(),this.currentTaskElements.clear(),this.clearClickTimeouts(),this.taskInfoCache.clear(),this.lastTaskSignatures.clear(),u&&!this.useVirtualScrolling?(this.cleanupNonVirtualRendering(),this.useVirtualScrolling=!0):!u&&this.useVirtualScrolling&&(this.destroyVirtualScroller(),this.useVirtualScrolling=!1),this.useVirtualScrolling?await this.renderGroupedVirtual(d,n,a):await this.renderGroupedNormal(d,n,a),this.lastFlatPaths=t.map(p=>p.path)}async renderGrouped(t){let n=this.getVisibleProperties(),i=this.dataAdapter.getGroupedData(),s=this.applySearchFilter(t);if(this.setCurrentVisibleTaskPaths(s),this.isSearchWithNoResults(s,t.length)){this.clearAllTaskElements(),this.sortScopeTaskPaths.clear(),this.sortScopeCandidateTaskPaths.clear(),this.itemsContainer&&this.renderSearchNoResults(this.itemsContainer);return}let a=en(new Date);this.currentTargetDate=a;let o=this.getCardOptions(a),l=this.buildGroupedRenderItems(i,s);this.setSortScopeCandidatePaths(this.buildGroupedScopePaths(i,t));let c=l.length>=this.VIRTUAL_SCROLL_THRESHOLD;if(this.useVirtualScrolling&&c&&this.virtualScroller){this.syncGroupedDragMetadata(l),this.virtualScroller.updateItems(l),this.lastFlatPaths=t.map(d=>d.path);return}this.itemsContainer.empty(),this.currentTaskElements.clear(),this.clearClickTimeouts(),this.taskInfoCache.clear(),this.lastTaskSignatures.clear(),c&&!this.useVirtualScrolling?(this.cleanupNonVirtualRendering(),this.useVirtualScrolling=!0):!c&&this.useVirtualScrolling&&(this.destroyVirtualScroller(),this.useVirtualScrolling=!1),this.useVirtualScrolling?await this.renderGroupedVirtual(l,n,o):await this.renderGroupedNormal(l,n,o),this.lastFlatPaths=t.map(d=>d.path)}async renderGroupedVirtual(t,n,i){this.syncGroupedDragMetadata(t),this.virtualScroller?this.virtualScroller.updateItems(t):(this.virtualScroller=new Pp({container:this.itemsContainer,items:t,overscan:5,renderItem:s=>{if(!("type"in s))throw new Error("Unexpected flat task item in grouped renderer");if(s.type==="primary-header"||s.type==="sub-header")return this.createGroupHeader(s);{let a=pr(s.task,this.plugin,n,i);return Ap(this.dataAdapter,this.plugin.settings.fieldMapping.sortOrder)&&(a.setAttribute("draggable","true"),this.setupCardDragHandlers(a,s.task,s.groupKey)),this.taskInfoCache.set(s.task.path,s.task),this.lastTaskSignatures.set(s.task.path,this.buildTaskSignature(s.task)),a}},getItemKey:s=>"type"in s?s.type==="primary-header"?`primary-${s.groupKey}`:s.type==="sub-header"?`sub-${s.groupKey}:${s.subGroupKey}`:s.task.path:s.path}),window.setTimeout(()=>{var s;(s=this.virtualScroller)==null||s.recalculate()},0))}async renderGroupedNormal(t,n,i){this.syncGroupedDragMetadata(t);for(let s of t)if(s.type==="primary-header"||s.type==="sub-header"){let a=this.createGroupHeader(s);this.itemsContainer.appendChild(a)}else{let a=pr(s.task,this.plugin,n,i);Ap(this.dataAdapter,this.plugin.settings.fieldMapping.sortOrder)&&(a.setAttribute("draggable","true"),this.setupCardDragHandlers(a,s.task,s.groupKey)),this.itemsContainer.appendChild(a),this.currentTaskElements.set(s.task.path,a),this.taskInfoCache.set(s.task.path,s.task),this.lastTaskSignatures.set(s.task.path,this.buildTaskSignature(s.task))}}createGroupHeader(t){let n=this.containerEl.ownerDocument,i=n.createElement("div");i.className="task-section task-group";let s=t.type==="sub-header",a=s?"sub":"primary";i.dataset.level=a,s?(i.dataset.groupKey=`${t.groupKey}:${t.subGroupKey}`,i.dataset.parentKey=t.parentKey):i.dataset.groupKey=t.groupKey,t.isCollapsed&&i.classList.add("is-collapsed");let o=n.createElement("h3");o.className="task-group-header task-list-view__group-header",i.appendChild(o);let l=n.createElement("button");l.className="task-group-toggle",l.setAttribute("aria-label","Toggle group"),l.setAttribute("aria-expanded",String(!t.isCollapsed)),l.dataset.groupKey=i.dataset.groupKey,o.appendChild(l),(0,Vi.setIcon)(l,"chevron-right");let c=l.querySelector("svg");c&&(c.classList.add("chevron"),c.setAttribute("width","16"),c.setAttribute("height","16"));let d=o.createSpan({cls:"task-group-title"}),u=s?t.subGroupTitle:t.groupTitle;return this.renderGroupTitle(d,u),o.createSpan({text:` (${t.taskCount})`,cls:"agenda-view__item-count"}),i}async handleTaskUpdate(t){if(this.taskInfoCache.set(t.path,t),this.lastTaskSignatures.set(t.path,this.buildTaskSignature(t)),this.useVirtualScrolling)this.debouncedRefresh();else{let n=this.currentTaskElements.get(t.path);if(n&&n.isConnected){let i=this.getVisibleProperties(),s=pr(t,this.plugin,i,this.getCardOptions(this.currentTargetDate));n.replaceWith(s),s.classList.add("task-card--updated"),(this.containerEl.ownerDocument.defaultView||window).setTimeout(()=>{s.classList.remove("task-card--updated")},1e3),this.currentTaskElements.set(t.path,s)}else this.debouncedRefresh()}}renderEmptyState(){let n=this.containerEl.ownerDocument.createElement("div");n.className="tn-bases-empty",n.classList.remove("tn-static-color-var-color-accent-d2cad743","tn-static-color-var-text-accent-65b47ee3","tn-static-color-var-text-muted-5872de20","tn-static-color-var-text-on-accent-f3e1679d","tn-static-color-var-text-warning-783d5f03","tn-static-color-var-tn-text-muted-a90fb6f3","tn-static-color-white-0a43e56a","tn-static-cursor-pointer-2723efcc","tn-static-font-size-12px-65574819","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-margin-2px-0-edce9b14","tn-static-margin-8px-0-0-0-a2eb8382","tn-static-padding-0-16px-16px-16px-f1aa998c","tn-static-padding-0-41d7d7e2","tn-static-padding-12px-43bef435","tn-static-padding-16px-287f770e","tn-static-padding-20px-769fed37","tn-static-padding-20px-ebe8e48c","tn-static-padding-2px-8px-c8eea84a","tn-static-padding-2rem-42aa6d9c","tn-static-text-align-center-91a87015"),n.classList.add("tn-static-padding-20px-7a035d95"),n.textContent="No tasknotes tasks found for this base.",this.itemsContainer.appendChild(n)}renderError(t){let i=this.containerEl.ownerDocument.createElement("div");i.className="tn-bases-error",i.classList.remove("tn-static-border-radius-4px-c290c56e","tn-static-border-radius-6px-0dc8408c","tn-static-color-var-color-accent-d2cad743","tn-static-color-var-text-accent-65b47ee3","tn-static-color-var-text-muted-5872de20","tn-static-color-var-text-on-accent-f3e1679d","tn-static-color-var-text-warning-783d5f03","tn-static-color-var-tn-text-muted-a90fb6f3","tn-static-color-white-0a43e56a","tn-static-cursor-pointer-2723efcc","tn-static-font-size-12px-65574819","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-margin-0-11696618","tn-static-margin-0-auto-266e9b04","tn-static-margin-0-db0d5f36","tn-static-margin-0-var-size-4-2-77f7dc08","tn-static-margin-2px-0-edce9b14","tn-static-margin-8px-0-0-0-a2eb8382","tn-static-padding-0-16px-16px-16px-f1aa998c","tn-static-padding-0-41d7d7e2","tn-static-padding-12px-43bef435","tn-static-padding-16px-287f770e","tn-static-padding-20px-769fed37","tn-static-padding-20px-7a035d95","tn-static-padding-2px-8px-c8eea84a","tn-static-padding-2rem-42aa6d9c"),i.classList.add("tn-static-padding-20px-ebe8e48c"),i.textContent=`Error loading tasks: ${t.message||"Unknown error"}`,this.itemsContainer.appendChild(i)}renderGroupTitle(t,n){let i=this.app||this.plugin.app,s={metadataCache:i.metadataCache,workspace:i.workspace};jA(t,n,s)}onunload(){this.unregisterContainerListeners(),this.destroyVirtualScroller(),this.currentTaskElements.clear(),this.itemsContainer=null,this.lastRenderWasGrouped=!1,this.clearClickTimeouts(),this.taskInfoCache.clear(),this.lastTaskSignatures.clear(),this.lastFlatPaths=[],this.useVirtualScrolling=!1,this.collapsedGroups.clear(),this.collapsedSubGroups.clear(),this.taskGroupKeys.clear(),this.sortScopeTaskPaths.clear()}getEphemeralState(){var t;return{scrollTop:((t=this.rootElement)==null?void 0:t.scrollTop)||0,collapsedGroups:Array.from(this.collapsedGroups),collapsedSubGroups:Array.from(this.collapsedSubGroups)}}setEphemeralState(t){if(Gnt(t)&&(t.collapsedGroups&&Array.isArray(t.collapsedGroups)&&(this.collapsedGroups=new Set(t.collapsedGroups.filter(n=>typeof n=="string"))),t.collapsedSubGroups&&Array.isArray(t.collapsedSubGroups)&&(this.collapsedSubGroups=new Set(t.collapsedSubGroups.filter(n=>typeof n=="string"))),typeof t.scrollTop=="number"&&this.rootElement)){let n=t.scrollTop;window.requestAnimationFrame(()=>{this.rootElement&&this.rootElement.isConnected&&(this.rootElement.scrollTop=n)})}}clearAllTaskElements(){var t;this.useVirtualScrolling&&(this.destroyVirtualScroller(),this.useVirtualScrolling=!1),(t=this.itemsContainer)==null||t.empty(),this.currentTaskElements.forEach(n=>n.remove()),this.currentTaskElements.clear(),this.lastFlatPaths=[],this.lastTaskSignatures.clear(),this.taskInfoCache.clear(),this.clearClickTimeouts(),this.taskGroupKeys.clear(),this.sortScopeTaskPaths.clear()}getCardOptions(t){return this.buildTaskCardOptions({targetDate:t,expandedRelationshipFilterMode:this.expandedRelationshipFilterMode,resolveExpandedRelationshipFilterMode:()=>{var n;return t0e((n=this.config)==null?void 0:n.get("expandedRelationshipFilterMode"))},expandedRelationshipTaskPaths:this.currentVisibleTaskPaths})}setCurrentVisibleTaskPaths(t){this.currentVisibleTaskPaths.clear();for(let n of t)this.currentVisibleTaskPaths.add(n.path)}clearClickTimeouts(){for(let t of this.clickTimeouts.values())t&&window.clearTimeout(t);this.clickTimeouts.clear()}registerContainerListeners(){!this.itemsContainer||this.containerListenersRegistered||(this.registerDomEvent(this.itemsContainer,"click",this.handleItemClick),this.containerListenersRegistered=!0)}unregisterContainerListeners(){this.containerListenersRegistered=!1}getTaskContextFromEvent(t){let n=t.target;if(!n)return null;let i=n.closest(".task-card");if(!i)return null;let s=i.dataset.taskPath;if(!s)return null;let a=this.taskInfoCache.get(s);return a?{task:a,card:i}:null}async handleGroupToggle(t){t.includes(":")?this.collapsedSubGroups.has(t)?this.collapsedSubGroups.delete(t):this.collapsedSubGroups.add(t):this.collapsedGroups.has(t)?this.collapsedGroups.delete(t):this.collapsedGroups.add(t),this.lastRenderWasGrouped&&await this.refreshGroupedView()}async refreshGroupedView(){var a;if(!((a=this.data)!=null&&a.data))return;let t=this.dataAdapter.extractDataItems();await this.computeFormulas(t);let n=await Kf(t,this.plugin),i=this.dataAdapter.getGroupedData(),s=this.buildGroupedRenderItems(i,n);this.useVirtualScrolling&&this.virtualScroller?this.virtualScroller.updateItems(s):await this.render()}async handleActionClick(t,n,i,s){switch(t){case"toggle-status":await this.handleToggleStatus(n,s);return;case"priority-menu":this.showPriorityMenu(n,s);return;case"recurrence-menu":this.showRecurrenceMenu(n,s);return;case"reminder-menu":this.showReminderModal(n);return;case"task-context-menu":await ju(s,n.path,this.plugin,this.getTaskActionDate(n));return;case"edit-date":await this.openDateContextMenu(n,i.dataset.tnDateType,s);return;case"filter-project-subtasks":await this.filterProjectSubtasks(n);return;case"toggle-subtasks":await this.toggleSubtasks(n,i);return;case"toggle-blocking-tasks":await this.toggleBlockingTasks(n,i);return;default:await this.handleCardClick(n,s)}}async handleToggleStatus(t,n){try{if(t.recurrence){let i=this.getTaskActionDate(t);await this.plugin.toggleRecurringTaskComplete(t,i)}else await this.plugin.toggleTaskStatus(t)}catch(i){let s=i instanceof Error?i.message:String(i);console.error("[TaskNotes][TaskListView] Failed to toggle status",{error:s,taskPath:t.path}),new Vi.Notice(`Failed to toggle task status: ${s}`)}}getTaskActionDate(t){let n=tt(t.scheduled||t.due||"");return n?st(n):this.currentTargetDate}showPriorityMenu(t,n){new $o({currentValue:t.priority,onSelect:s=>{(async()=>{try{await this.plugin.updateTaskProperty(t,"priority",s)}catch(a){console.error("[TaskNotes][TaskListView] Failed to update priority",a),new Vi.Notice("Failed to update priority")}})()},plugin:this.plugin}).show(n)}showRecurrenceMenu(t,n){new jo({currentValue:typeof t.recurrence=="string"?t.recurrence:void 0,currentAnchor:t.recurrence_anchor||"scheduled",scheduledDate:t.scheduled,onSelect:(s,a)=>{(async()=>{try{await this.plugin.updateTaskProperty(t,"recurrence",s||void 0),a!==void 0&&await this.plugin.updateTaskProperty(t,"recurrence_anchor",a)}catch(o){console.error("[TaskNotes][TaskListView] Failed to update recurrence",o),new Vi.Notice("Failed to update recurrence")}})()},app:this.plugin.app,plugin:this.plugin}).show(n)}showReminderModal(t){new zo(this.plugin.app,this.plugin,t,i=>{(async()=>{try{await this.plugin.updateTaskProperty(t,"reminders",i.length>0?i:void 0)}catch(s){console.error("[TaskNotes][TaskListView] Failed to update reminders",s),new Vi.Notice("Failed to update reminders")}})()}).open()}async openDateContextMenu(t,n,i){if(!n)return;let s=n==="due"?t.due:t.scheduled;new Es({currentValue:tt(s||""),currentTime:$a(s||""),onSelect:(o,l)=>{(async()=>{try{let c;o?l?c=`${o}T${l}`:c=o:c=void 0,await this.plugin.updateTaskProperty(t,n,c)}catch(c){let d=c instanceof Error?c.message:String(c);console.error("[TaskNotes][TaskListView] Failed to update date",{error:d,taskPath:t.path,dateType:n}),new Vi.Notice(`Failed to update ${n} date: ${d}`)}})()},plugin:this.plugin,app:this.app||this.plugin.app}).show(i)}async handleCardClick(t,n){if(this.handleSelectionClick(n,t.path))return;if(this.plugin.settings.doubleClickAction==="none"){await this.executeSingleClickAction(t,n);return}let i=this.clickTimeouts.get(t.path);if(i)window.clearTimeout(i),this.clickTimeouts.delete(t.path),await this.executeDoubleClickAction(t,n);else{let a=(this.containerEl.ownerDocument.defaultView||window).setTimeout(()=>{(async()=>(this.clickTimeouts.delete(t.path),await this.executeSingleClickAction(t,n)))()},250);this.clickTimeouts.set(t.path,a)}}async executeSingleClickAction(t,n){if(n.ctrlKey||n.metaKey){this.openTaskNote(t,!0);return}switch(this.plugin.settings.singleClickAction){case"edit":await this.editTask(t);break;case"openNote":this.openTaskNote(t,!1);break;default:break}}async executeDoubleClickAction(t,n){switch(this.plugin.settings.doubleClickAction){case"edit":await this.editTask(t);break;case"openNote":this.openTaskNote(t,!1);break;default:break}}async editTask(t){await this.plugin.openTaskEditModal(t)}openTaskNote(t,n){let i=this.app||this.plugin.app,s=i.vault.getAbstractFileByPath(t.path);s instanceof Vi.TFile&&(n?i.workspace.openLinkText(t.path,"",!0):i.workspace.getLeaf(!1).openFile(s))}async filterProjectSubtasks(t){try{await this.plugin.applyProjectSubtaskFilter(t)}catch(n){console.error("[TaskNotes][TaskListView] Failed to filter project subtasks",n),new Vi.Notice("Failed to filter project subtasks")}}async toggleSubtasks(t,n){try{if(!this.plugin.expandedProjectsService){console.error("[TaskNotes][TaskListView] ExpandedProjectsService not initialized"),new Vi.Notice("Service not available. Please try reloading the plugin.");return}let i=this.plugin.expandedProjectsService.toggle(t.path);n.classList.toggle("task-card__chevron--expanded",i),n.setAttribute("aria-label",i?"Collapse subtasks":"Expand subtasks");let s=n.closest(".task-card");if(s){let{toggleSubtasks:a}=await Promise.resolve().then(()=>($i(),iy));await a(s,t,this.plugin,i)}}catch(i){console.error("[TaskNotes][TaskListView] Failed to toggle subtasks",i),new Vi.Notice("Failed to toggle subtasks")}}async toggleBlockingTasks(t,n){try{let i=n.classList.toggle("task-card__blocking-toggle--expanded"),s=n.closest(".task-card");if(s){let{toggleBlockingTasks:a}=await Promise.resolve().then(()=>($i(),iy));await a(s,t,this.plugin,i)}}catch(i){console.error("[TaskNotes][TaskListView] Failed to toggle blocking tasks",i),new Vi.Notice("Failed to toggle blocking tasks")}}arePathArraysEqual(t,n){if(t.length!==n.length)return!1;for(let i=0;i<t.length;i++)if(t[i].path!==n[i])return!1;return!0}cleanupNonVirtualRendering(){var t;(t=this.itemsContainer)==null||t.empty(),this.currentTaskElements.clear(),this.clearClickTimeouts()}destroyVirtualScroller(){this.virtualScroller&&(this.virtualScroller.destroy(),this.virtualScroller=null)}buildPathToPropsMap(){var i;let t=new Map;if(!((i=this.data)!=null&&i.data))return t;let n=this.dataAdapter.extractDataItems();for(let s of n)if(s.path){let a={...s.properties||{}};lI(a,s),t.set(s.path,a)}return t}getPropertyValue(t,n){var s,a;if(!n)return null;if(n.startsWith("formula."))return(s=t[n])!=null?s:null;let i=n.replace(/^(note\.|task\.|file\.)/,"");return(a=t[i])!=null?a:null}valueToString(t){var n,i;if(t==null)return"None";if(typeof t=="object"&&t!==null&&typeof t.toString=="function"){let s=t;if(((n=s.constructor)==null?void 0:n.name)==="NullValue"||s.isTruthy&&!s.isTruthy())return"None";if(((i=s.constructor)==null?void 0:i.name)==="ListValue"||Array.isArray(s.value)){let o=s.value||[];return o.length===0?"None":o.map(l=>this.valueToString(l)).join(", ")}return s.toString()||"None"}return typeof t=="string"?t||"None":typeof t=="number"?String(t):typeof t=="boolean"?t?"True":"False":Array.isArray(t)?t.length>0?t.map(s=>this.valueToString(s)).join(", "):"None":ie(t)||"None"}groupTasksBySubProperty(t,n,i){let s=new Map;for(let a of t){let o=i.get(a.path)||{},l=this.getPropertyValue(o,n),c=this.valueToString(l);s.has(c)||s.set(c,[]),s.get(c).push(a)}return s}buildTaskSignature(t){var n,i,s,a;return`${t.path}|${t.title}|${t.status}|${t.priority}|${t.due}|${t.scheduled}|${t.recurrence}|${t.archived}|${(n=t.complete_instances)==null?void 0:n.join(",")}|${(i=t.reminders)==null?void 0:i.length}|${(s=t.blocking)==null?void 0:s.length}|${(a=t.blockedBy)==null?void 0:a.length}`}}});async function V3({action:r,task:e,target:t,event:n,plugin:i,app:s}){let[{DateContextMenu:a},{PriorityContextMenu:o},{RecurrenceContextMenu:l},{ReminderModal:c},{showTaskContextMenu:d,toggleBlockingTasks:u,toggleSubtasks:p}]=await Promise.all([Promise.resolve().then(()=>(xm(),dre)),Promise.resolve().then(()=>(sT(),ure)),Promise.resolve().then(()=>(gg(),mre)),Promise.resolve().then(()=>(yg(),fre)),Promise.resolve().then(()=>($i(),iy))]);switch(r){case"toggle-status":await Knt(e,n,i);return;case"priority-menu":Znt(e,n,i,o);return;case"recurrence-menu":Qnt(e,n,i,l);return;case"reminder-menu":Jnt(e,i,c);return;case"task-context-menu":await d(n,e.path,i,Kx(e));return;case"edit-date":await Xnt(e,t.dataset.tnDateType,n,i,s,a);return;case"toggle-subtasks":await eit(e,t,i,p);return;case"toggle-blocking-tasks":await tit(e,t,i,u);return}}async function Knt(r,e,t){try{r.recurrence?await t.toggleRecurringTaskComplete(r,Kx(r)):await t.toggleTaskStatus(r)}catch(n){console.error("[TaskNotes][KanbanView] Failed to toggle status",n)}}function Kx(r){let e=tt(r.scheduled||r.due||"");return e?st(e):en(new Date)}function Znt(r,e,t,n){new n({currentValue:r.priority,onSelect:s=>{(async()=>{try{await t.updateTaskProperty(r,"priority",s)}catch(a){console.error("[TaskNotes][KanbanView] Failed to update priority",a)}})()},plugin:t}).show(e)}function Qnt(r,e,t,n){new n({currentValue:typeof r.recurrence=="string"?r.recurrence:void 0,currentAnchor:r.recurrence_anchor||"scheduled",scheduledDate:r.scheduled,onSelect:(s,a)=>{(async()=>{try{await t.updateTaskProperty(r,"recurrence",s||void 0),a!==void 0&&await t.updateTaskProperty(r,"recurrence_anchor",a)}catch(o){console.error("[TaskNotes][KanbanView] Failed to update recurrence",o)}})()},app:t.app,plugin:t}).show(e)}function Jnt(r,e,t){new t(e.app,e,r,i=>{(async()=>{try{await e.updateTaskProperty(r,"reminders",i.length>0?i:void 0)}catch(s){console.error("[TaskNotes][KanbanView] Failed to update reminders",s)}})()}).open()}async function Xnt(r,e,t,n,i,s){if(!e)return;let{getDatePart:a,getTimePart:o}=await Promise.resolve().then(()=>(Qe(),ML)),l=e==="due"?r.due:r.scheduled;new s({currentValue:a(l||""),currentTime:o(l||""),onSelect:(d,u)=>{(async()=>{try{let p;d?u?p=`${d}T${u}`:p=d:p=void 0,await n.updateTaskProperty(r,e,p)}catch(p){console.error("[TaskNotes][KanbanView] Failed to update date",p)}})()},plugin:n,app:i}).show(t)}async function eit(r,e,t,n){var o,l;let i=e.closest(".task-card");if(!i)return;let a=!(((o=t.expandedProjectsService)==null?void 0:o.isExpanded(r.path))||!1);(l=t.expandedProjectsService)==null||l.setExpanded(r.path,a),e.classList.toggle("is-rotated",a),await n(i,r,t,a)}async function tit(r,e,t,n){let i=e.closest(".task-card");if(!i)return;let s=e.classList.toggle("task-card__blocking-toggle--expanded");await n(i,r,t,s)}var i0e=v(()=>{Qe()});function a0e(r){return typeof r=="object"&&r!==null}function rit(r){return a0e(r)}function nit(r){if(!a0e(r.columnScroll))return null;let e={};for(let[t,n]of Object.entries(r.columnScroll))typeof n=="number"&&(e[t]=n);return e}function s0e(r){if(typeof r=="number")return r===1?"show-all":"inherit";let e=ie(r).trim().toLowerCase().replace(/^['"]|['"]$/g,"").replace(/[_\s]+/g,"-");return e==="show-all"||e==="1"?"show-all":"inherit"}function o0e(r){return function(e,t){if(!t)throw console.error("[TaskNotes][KanbanView] No containerEl provided"),new Error("KanbanView requires a containerEl");return new W3(e,t,r)}}var Hs,Ev,W3,l0e=v(()=>{Hs=require("obsidian");Ux();$A();$i();x3();md();E3();Qe();jr();B3();i0e();q3();H3();Ev=class Ev extends fc{constructor(t,n,i){super(t,n,i);this.type="tasknotesKanban";this.boardEl=null;this.currentTaskElements=new Map;this.draggedTaskPath=null;this.draggedTaskPaths=[];this.draggedFromColumn=null;this.draggedFromSwimlane=null;this.dropTargetPath=null;this.pendingRender=!1;this.dropAbove=!0;this.dragOverRafId=0;this.dragContainer=null;this.currentInsertionIndex=-1;this.dragSourceColumnEl=null;this.dragTargetColumnEl=null;this.draggedSourceColumns=new Map;this.draggedSourceSwimlanes=new Map;this.taskInfoCache=new Map;this.sortScopeTaskPaths=new Map;this.sortScopeCandidateTaskPaths=new Map;this.containerListenersRegistered=!1;this.columnScrollers=new Map;this.expandedRelationshipFilterMode="inherit";this.currentVisibleTaskPaths=new Set;this.suppressRenderUntil=0;this.postDropTimer=null;this.dropQueue=new xv;this.activeDropCount=0;this.touchDragActive=!1;this.touchDragGhost=null;this.touchStartX=0;this.touchStartY=0;this.longPressTimer=null;this.autoScrollTimer=null;this.autoScrollDirection=0;this.LONG_PRESS_DELAY=350;this.TOUCH_MOVE_THRESHOLD=10;this.AUTO_SCROLL_EDGE=60;this.AUTO_SCROLL_SPEED=8;this.touchDragType=null;this.draggedColumnKey=null;this.boundContextMenuBlocker=t=>{t.preventDefault(),t.stopPropagation()};this.LARGE_REORDER_WARNING_THRESHOLD=10;this.swimLanePropertyId=null;this.columnWidth=280;this.maxSwimlaneHeight=600;this.hideEmptyColumns=!1;this.explodeListColumns=!0;this.consolidateStatusIcon=!1;this.columnOrders={};this.configLoaded=!1;this.VIRTUAL_SCROLL_THRESHOLD=15;this.handleBoardClick=async t=>{let n=this.getTaskContextFromEvent(t);if(!n)return;let{task:i,card:s}=n,o=t.target.closest("[data-tn-action]");if(o&&o!==s){let l=o.dataset.tnAction;if(l){t.preventDefault(),t.stopPropagation(),await this.handleCardAction(l,i,o,t);return}}};this.handleBoardContextMenu=async t=>{let n=this.getTaskContextFromEvent(t);if(!n)return;t.preventDefault(),t.stopPropagation();let{showTaskContextMenu:i}=await Promise.resolve().then(()=>($i(),iy));await i(t,n.task.path,this.plugin,Kx(n.task))};this.basesController=t,this.dataAdapter.basesView=this}onload(){this.readViewOptions(),super.onload()}onDataUpdated(){if(this.draggedTaskPath){this.debugLog("ON-DATA-UPDATED: deferred (drag active)",{draggedTask:this.draggedTaskPath.split("/").pop()}),this.pendingRender=!0;return}if(this.activeDropCount>0||Date.now()<this.suppressRenderUntil){this.debugLog("ON-DATA-UPDATED: suppressed",{activeDropCount:this.activeDropCount,msRemaining:this.suppressRenderUntil-Date.now()});return}this.postDropTimer?(this.debugLog("ON-DATA-UPDATED: cancelling postDropTimer, rendering with fresh Bases data"),window.clearTimeout(this.postDropTimer),this.postDropTimer=null):this.debugLog("ON-DATA-UPDATED: normal render (no suppression active)");let t=this.getEphemeralState();try{this.render()}catch(n){console.error(`[TaskNotes][${this.type}] Render error:`,n),this.renderError(n)}this.setEphemeralState(t)}readViewOptions(){if(!(!this.config||typeof this.config.get!="function"))try{this.swimLanePropertyId=this.config.getAsPropertyId("swimLane"),this.columnWidth=this.config.get("columnWidth")||280,this.maxSwimlaneHeight=this.config.get("maxSwimlaneHeight")||600,this.hideEmptyColumns=this.config.get("hideEmptyColumns")||!1;let t=this.config.get("explodeListColumns");this.explodeListColumns=t!==!1;let n=this.config.get("consolidateStatusIcon");this.consolidateStatusIcon=n===!0;let i=this.config.get("columnOrder")||"{}";this.columnOrders=JSON.parse(i);let s=this.config.get("enableSearch");this.enableSearch=s!=null?s:!1;let a=this.config.get("expandedRelationshipFilterMode");this.expandedRelationshipFilterMode=s0e(a),this.configLoaded=!0}catch(t){console.warn("[KanbanView] Failed to parse config:",t)}}getEphemeralState(){var n;let t={};for(let[i,s]of this.columnScrollers){let a=s.scrollContainer;a&&(t[i]=a.scrollTop)}return this.boardEl&&(this.boardEl.querySelectorAll(".kanban-view__column").forEach(a=>{let o=a.getAttribute("data-group"),l=a.querySelector(".kanban-view__cards");o&&l&&!(o in t)&&(t[o]=l.scrollTop)}),this.boardEl.querySelectorAll(".kanban-view__swimlane-column").forEach(a=>{let o=a.getAttribute("data-column"),l=a.getAttribute("data-swimlane");if(o&&l){let c=`${l}:${o}`,d=a.querySelector(".kanban-view__tasks-container");d&&!(c in t)&&(t[c]=d.scrollTop)}})),{scrollTop:((n=this.rootElement)==null?void 0:n.scrollTop)||0,columnScroll:t}}setEphemeralState(t){if(!rit(t))return;let n=nit(t);if(typeof t.scrollTop=="number"&&this.rootElement){let i=t.scrollTop;window.requestAnimationFrame(()=>{this.rootElement&&this.rootElement.isConnected&&(this.rootElement.scrollTop=i)})}n&&window.requestAnimationFrame(()=>{for(let[i,s]of this.columnScrollers){let a=n[i];if(a!==void 0){let o=s.scrollContainer;o&&(o.scrollTop=a)}}this.boardEl&&(this.boardEl.querySelectorAll(".kanban-view__column").forEach(a=>{let o=a.getAttribute("data-group");if(o&&n[o]!==void 0){let l=a.querySelector(".kanban-view__cards");l&&!this.columnScrollers.has(o)&&(l.scrollTop=n[o])}}),this.boardEl.querySelectorAll(".kanban-view__swimlane-column").forEach(a=>{let o=a.getAttribute("data-column"),l=a.getAttribute("data-swimlane");if(o&&l){let c=`${l}:${o}`;if(n[c]!==void 0){let d=a.querySelector(".kanban-view__tasks-container");d&&!this.columnScrollers.has(c)&&(d.scrollTop=n[c])}}}))})}async render(){var t,n;if(!(!this.boardEl||!this.rootElement)&&(t=this.data)!=null&&t.data){this.debugLog("RENDER-START",{activeDropCount:this.activeDropCount,suppressRenderRemaining:Math.max(0,this.suppressRenderUntil-Date.now()),draggedTaskPath:((n=this.draggedTaskPath)==null?void 0:n.split("/").pop())||null,currentTaskElementsCount:this.currentTaskElements.size}),this.config&&this.readViewOptions(),this.rootElement&&this.setupSearch(this.rootElement);try{let i=this.dataAdapter.extractDataItems();await this.computeFormulas(i);let s=await Kf(i,this.plugin),a=this.applySearchFilter(s);if(this.setCurrentVisibleTaskPaths(a),this.destroyColumnScrollers(),this.boardEl.empty(),this.sortScopeTaskPaths.clear(),this.sortScopeCandidateTaskPaths.clear(),a.length===0){this.isSearchWithNoResults(a,s.length)?this.renderSearchNoResults(this.boardEl):this.renderEmptyState();return}let o=this.buildPathToPropsMap(),l=this.getGroupByPropertyId();if(!l){this.renderNoGroupByError();return}let c=this.groupTasks(a,l,o),d=this.groupTasks(s,l,o);this.swimLanePropertyId?await this.renderWithSwimLanes(c,a,d,s,o,l):await this.renderFlat(c,d)}catch(i){console.error("[TaskNotes][KanbanView] Error rendering:",i),this.renderError(i instanceof Error?i:new Error(String(i)))}}}getGroupByPropertyId(){var n;let t=this.basesController;if((n=t==null?void 0:t.query)!=null&&n.views&&(t!=null&&t.viewName)){let i=t.query.views,s=t.viewName;for(let a=0;a<i.length;a++){let o=i[a];if(o&&o.name===s){if(o.groupBy){if(typeof o.groupBy=="object"&&o.groupBy.property)return o.groupBy.property;if(typeof o.groupBy=="string")return o.groupBy}return null}}}return null}getSortScopeKey(t,n=null){return n===null?t:`${n}::${t}`}getVisibleSortScopePaths(t,n=null){return this.sortScopeTaskPaths.get(this.getSortScopeKey(t,n))}getCandidateSortScopePaths(t,n=null){return this.sortScopeCandidateTaskPaths.get(this.getSortScopeKey(t,n))}setSortScopeCandidatePaths(t){this.sortScopeCandidateTaskPaths.clear();for(let[n,i]of t)this.sortScopeCandidateTaskPaths.set(n,[...i])}async confirmLargeReorder(t,n,i){let s=this.plugin.settings.fieldMapping.sortOrder,a=i===null?this.plugin.i18n.translate("views.kanban.reorder.scope.column",{group:n}):this.plugin.i18n.translate("views.kanban.reorder.scope.columnInSwimlane",{group:n,swimlane:i});return Li(this.plugin.app,{title:this.plugin.i18n.translate("common.reorder.confirmLargeTitle"),message:this.plugin.i18n.translate("common.reorder.confirmLargeMessage",{field:s,count:t,scope:a}),confirmText:this.plugin.i18n.translate("common.reorder.confirmButton"),cancelText:this.plugin.i18n.translate("common.cancel")})}groupTasks(t,n,i){let s=new Map,a=Tc(n);if(this.explodeListColumns&&this.isListTypeProperty(a))for(let c of t){let d=this.getListPropertyValue(c,a,i);if(Array.isArray(d)&&d.length>0)for(let u of d){let p=String(u)||"None";s.has(p)||s.set(p,[]),s.get(p).push(c)}else{let u="None";s.has(u)||s.set(u,[]),s.get(u).push(c)}}else{let c=this.dataAdapter.getGroupedData(),d=new Map(t.map(u=>[u.path,u]));for(let u of c){let p=this.dataAdapter.convertGroupKeyToString(u.key),m=[];for(let f of u.entries){let h=d.get(f.file.path);h&&m.push(h)}s.set(p,m)}}let l=this.plugin.settings.fieldMapping.sortOrder;if(Ap(this.dataAdapter,l))for(let[,c]of s)c.sort((d,u)=>{var k,T;let p=this.plugin.app.vault.getAbstractFileByPath(d.path),m=this.plugin.app.vault.getAbstractFileByPath(u.path),f=p instanceof Hs.TFile?(k=this.plugin.app.metadataCache.getFileCache(p))==null?void 0:k.frontmatter:void 0,h=m instanceof Hs.TFile?(T=this.plugin.app.metadataCache.getFileCache(m))==null?void 0:T.frontmatter:void 0,g=f==null?void 0:f[l],y=h==null?void 0:h[l];return g!=null&&y!=null?String(g).localeCompare(String(y)):g!=null?-1:y!=null?1:0});return this.augmentWithEmptyStatusColumns(s,n),this.augmentWithEmptyPriorityColumns(s,n),s}isListTypeProperty(t){if(iI(this.plugin.app,t))return!0;let n=this.plugin.fieldMapper.toUserField("contexts"),i=this.plugin.fieldMapper.toUserField("projects");return new Set(["contexts",n,"projects",i,"tags","aliases"]).has(t)}getListPropertyValue(t,n,i){let s=this.plugin.fieldMapper.toUserField("contexts"),a=this.plugin.fieldMapper.toUserField("projects");return n==="contexts"||n===s?t.contexts:n==="projects"||n===a?t.projects:n==="tags"?t.tags:(i.get(t.path)||{})[n]}augmentWithEmptyStatusColumns(t,n){let i=this.plugin.fieldMapper.toUserField("status");if(n.replace(/^(note\.|file\.|task\.)/,"")!==i)return;let a=this.plugin.settings.customStatuses;if(!(!a||a.length===0))for(let o of a){let l=o.value;t.has(l)||t.set(l,[])}}augmentWithEmptyPriorityColumns(t,n){let i=this.plugin.fieldMapper.toUserField("priority");if(n.replace(/^(note\.|file\.|task\.)/,"")!==i)return;let a=this.plugin.priorityManager.getAllPriorities();if(!(!a||a.length===0))for(let o of a){let l=o.value;t.has(l)||t.set(l,[])}}async renderFlat(t,n){if(!this.boardEl)return;this.sortScopeTaskPaths.clear(),this.setSortScopeCandidatePaths(Array.from(n.entries()).map(([l,c])=>[this.getSortScopeKey(l),c.map(d=>d.path)])),this.boardEl.style.setProperty("--kanban-column-width",`${this.columnWidth}px`);let i=this.getVisibleProperties(),s=this.getGroupByPropertyId(),a=Array.from(t.keys()),o=s?this.applyColumnOrder(s,a):a;for(let l of o){let c=t.get(l)||[];if(this.hideEmptyColumns&&c.length===0)continue;this.sortScopeTaskPaths.set(this.getSortScopeKey(l),c.map(u=>u.path));let d=await this.createColumn(l,c,i);this.boardEl&&this.boardEl.appendChild(d)}}async renderWithSwimLanes(t,n,i,s,a,o){if(!this.swimLanePropertyId)return;this.sortScopeTaskPaths.clear();let l=new Map,c=new Set;for(let f of n){let h=a.get(f.path)||{},g=this.getPropertyValue(h,this.swimLanePropertyId),y=this.valueToString(g);c.add(y)}for(let f of c){let h=new Map;l.set(f,h);for(let[g]of t)h.set(g,[])}for(let[f,h]of t)for(let g of h){let y=a.get(g.path)||{},k=this.getPropertyValue(y,this.swimLanePropertyId),T=this.valueToString(k),w=l.get(T);w&&w.has(f)&&w.get(f).push(g)}let d=new Map,u=new Set;for(let f of s){let h=a.get(f.path)||{},g=this.getPropertyValue(h,this.swimLanePropertyId),y=this.valueToString(g);u.add(y)}for(let f of u){let h=new Map;d.set(f,h);for(let[g]of i)h.set(g,[])}for(let[f,h]of i)for(let g of h){let y=a.get(g.path)||{},k=this.getPropertyValue(y,this.swimLanePropertyId),T=this.valueToString(k),w=d.get(T);w&&w.has(f)&&w.get(f).push(g)}this.setSortScopeCandidatePaths(Array.from(d.entries()).flatMap(([f,h])=>Array.from(h.entries()).map(([g,y])=>[this.getSortScopeKey(g,f),y.map(k=>k.path)])));let p=Array.from(t.keys()),m=this.applyColumnOrder(o,p);await this.renderSwimLaneTable(l,m,a)}async renderSwimLaneTable(t,n,i){if(!this.boardEl)return;this.boardEl.style.setProperty("--kanban-column-width",`${this.columnWidth}px`),this.boardEl.style.setProperty("--kanban-swimlane-max-height",`${this.maxSwimlaneHeight}px`),this.boardEl.addClass("kanban-view__board--swimlanes");let s=this.boardEl.createEl("div",{cls:"kanban-view__swimlane-row kanban-view__swimlane-row--header"});s.createEl("div",{cls:"kanban-view__swimlane-label"});for(let o of n){let l=s.createEl("div",{cls:"kanban-view__column-header-cell"});l.setAttribute("draggable","true"),l.setAttribute("data-column-key",o);let c=l.createSpan({cls:"kanban-view__drag-handle"});if(c.textContent="\u22EE\u22EE",this.consolidateStatusIcon&&this.isGroupedByStatus()){let u=this.plugin.statusManager.getStatusConfig(o);if(u!=null&&u.icon){let p=l.createSpan({cls:"kanban-view__column-icon"});p.style.color=u.color,(0,Hs.setIcon)(p,u.icon)}}let d=l.createSpan({cls:"kanban-view__column-title"});this.renderGroupTitleWrapper(d,o,!1,!0),this.setupColumnHeaderDragHandlers(l)}let a=this.getVisibleProperties();for(let[o,l]of t){let c=this.boardEl.createEl("div",{cls:"kanban-view__swimlane-row"}),d=c.createEl("div",{cls:"kanban-view__swimlane-label"}),u=d.createEl("div",{cls:"kanban-view__swimlane-title"});this.renderGroupTitleWrapper(u,o,!0);let p=Array.from(l.values()).reduce((m,f)=>m+f.length,0);d.createEl("div",{cls:"kanban-view__swimlane-count",text:`${p}`});for(let m of n){let f=l.get(m)||[];this.sortScopeTaskPaths.set(this.getSortScopeKey(m,o),f.map(y=>y.path));let h=c.createEl("div",{cls:"kanban-view__swimlane-column",attr:{"data-column":m,"data-swimlane":o}});this.setupSwimLaneCellDragDrop(h,m,o);let g=h.createDiv({cls:"kanban-view__tasks-container"});if(f.length>=this.VIRTUAL_SCROLL_THRESHOLD)await this.createVirtualSwimLaneCell(g,`${o}:${m}`,f,a);else{let y=this.getCardOptions();for(let k of f){let T=g.createDiv({cls:"kanban-view__card-wrapper"});T.setAttribute("draggable","true"),T.setAttribute("data-task-path",k.path);let w=pr(k,this.plugin,a,y);T.appendChild(w),this.currentTaskElements.set(k.path,T),this.taskInfoCache.set(k.path,k),this.setupCardDragHandlers(T,k)}}}}}async createColumn(t,n,i){let a=this.containerEl.ownerDocument.createElement("div");a.className="kanban-view__column",a.style.width=`${this.columnWidth}px`,a.setAttribute("data-group",t);let o=a.createDiv({cls:"kanban-view__column-header"});o.setAttribute("draggable","true"),o.setAttribute("data-column-key",t);let l=o.createSpan({cls:"kanban-view__drag-handle"});if(l.textContent="\u22EE\u22EE",this.consolidateStatusIcon&&this.isGroupedByStatus()){let p=this.plugin.statusManager.getStatusConfig(t);if(p!=null&&p.icon){let m=o.createSpan({cls:"kanban-view__column-icon"});m.style.color=p.color,(0,Hs.setIcon)(m,p.icon)}}let c=o.createSpan({cls:"kanban-view__column-title"});this.renderGroupTitleWrapper(c,t,!1,!0),o.createSpan({cls:"kanban-view__column-count",text:` (${n.length})`}),this.setupColumnHeaderDragHandlers(o);let d=a.createDiv({cls:"kanban-view__cards"});this.setupColumnDragDrop(a,d,t);let u=this.getCardOptions();return n.length>=this.VIRTUAL_SCROLL_THRESHOLD?this.createVirtualColumn(d,t,n,i,u):this.createNormalColumn(d,n,i,u),a}createVirtualColumn(t,n,i,s,a){t.addClass("kanban-view__cards--virtual");let o=this.containerEl.ownerDocument,l=new Pp({container:t,items:i,overscan:3,renderItem:c=>{let d=o.createElement("div");d.className="kanban-view__card-wrapper",d.setAttribute("draggable","true"),d.setAttribute("data-task-path",c.path);let u=pr(c,this.plugin,s,a);return d.appendChild(u),this.taskInfoCache.set(c.path,c),this.setupCardDragHandlers(d,c),d},getItemKey:c=>c.path});this.columnScrollers.set(n,l)}async createVirtualSwimLaneCell(t,n,i,s){t.addClass("kanban-view__tasks-container--virtual");let a=this.getCardOptions(),o=this.containerEl.ownerDocument,l=new Pp({container:t,items:i,overscan:3,renderItem:c=>{let d=o.createElement("div");d.className="kanban-view__card-wrapper",d.setAttribute("draggable","true"),d.setAttribute("data-task-path",c.path);let u=pr(c,this.plugin,s,a);return d.appendChild(u),this.taskInfoCache.set(c.path,c),this.setupCardDragHandlers(d,c),d},getItemKey:c=>c.path});this.columnScrollers.set(n,l)}createNormalColumn(t,n,i,s){for(let a of n){let o=t.createDiv({cls:"kanban-view__card-wrapper"});o.setAttribute("draggable","true"),o.setAttribute("data-task-path",a.path);let l=pr(a,this.plugin,i,s);o.appendChild(l),this.currentTaskElements.set(a.path,o),this.taskInfoCache.set(a.path,a),this.setupCardDragHandlers(o,a)}}setupColumnHeaderDragHandlers(t){let n=t.dataset.columnKey;if(!n)return;let i=t.classList.contains("kanban-view__column-header-cell"),s=i?"kanban-view__column-header-cell--dragging":"kanban-view__column-header--dragging",a=i?"kanban-view__column-header-cell--dragover":"kanban-view__column-header--dragover";t.addEventListener("dragstart",o=>{o.dataTransfer&&(o.dataTransfer.effectAllowed="move",o.dataTransfer.setData("text/x-kanban-column",n),t.classList.add(s))}),t.addEventListener("dragover",o=>{var l;(l=o.dataTransfer)!=null&&l.types.includes("text/x-kanban-column")&&(o.preventDefault(),o.stopPropagation(),o.dataTransfer.dropEffect="move",t.classList.add(a))}),t.addEventListener("dragleave",o=>{var l;(l=o.dataTransfer)!=null&&l.types.includes("text/x-kanban-column")&&o.target===t&&t.classList.remove(a)}),t.addEventListener("drop",o=>{(async()=>{var g;if(!((g=o.dataTransfer)!=null&&g.types.includes("text/x-kanban-column")))return;o.preventDefault(),o.stopPropagation(),t.classList.remove(a);let l=o.dataTransfer.getData("text/x-kanban-column"),c=t.dataset.columnKey;if(!c||!l||l===c)return;let d=this.getGroupByPropertyId();if(!d)return;let u=i?".kanban-view__column-header-cell":".kanban-view__column-header",p=Array.from(this.boardEl.querySelectorAll(u)).map(y=>y.dataset.columnKey).filter(Boolean),m=p.indexOf(l),f=p.indexOf(c),h=[...p];h.splice(m,1),h.splice(f,0,l),await this.saveColumnOrder(d,h),await this.render()})()}),t.addEventListener("dragend",()=>{t.classList.remove(s)}),this.setupColumnHeaderTouchHandlers(t,n,i,s)}setupColumnHeaderTouchHandlers(t,n,i,s){Hs.Platform.isMobile&&(t.addEventListener("contextmenu",a=>{(this.longPressTimer||this.touchDragActive)&&(a.preventDefault(),a.stopPropagation())}),t.addEventListener("touchstart",a=>{if(a.touches.length!==1)return;let o=a.touches[0];this.touchStartX=o.clientX,this.touchStartY=o.clientY,this.longPressTimer=window.setTimeout(()=>{var l;this.touchDragActive=!0,this.touchDragType="column",this.draggedColumnKey=n,this.containerEl.ownerDocument.addEventListener("contextmenu",this.boundContextMenuBlocker,!0),t.classList.add(s),this.touchDragGhost=this.createTouchDragGhost(t,o.clientX,o.clientY),(l=navigator.vibrate)==null||l.call(navigator,50)},this.LONG_PRESS_DELAY)},{passive:!0}),t.addEventListener("touchmove",a=>{if(a.touches.length!==1)return;let o=a.touches[0];if(!this.touchDragActive&&this.longPressTimer){let l=Math.abs(o.clientX-this.touchStartX),c=Math.abs(o.clientY-this.touchStartY);(l>this.TOUCH_MOVE_THRESHOLD||c>this.TOUCH_MOVE_THRESHOLD)&&(window.clearTimeout(this.longPressTimer),this.longPressTimer=null);return}this.touchDragActive&&this.touchDragType==="column"&&(a.preventDefault(),this.updateTouchDragGhost(o.clientX,o.clientY),this.updateDropTargetFeedback(o.clientX,o.clientY),this.handleAutoScroll(o.clientX))},{passive:!1}),t.addEventListener("touchend",a=>{(async()=>{if(this.longPressTimer&&(window.clearTimeout(this.longPressTimer),this.longPressTimer=null),t.classList.remove(s),!this.touchDragActive||this.touchDragType!=="column")return;let o=a.changedTouches[0];if(!o){this.clearTouchDragState();return}let l=this.findDropTargetAt(o.clientX,o.clientY);if(l.type&&l.groupKey&&this.draggedColumnKey&&l.groupKey!==this.draggedColumnKey){let c=this.getGroupByPropertyId();if(c){let d=i?".kanban-view__column-header-cell":".kanban-view__column-header",u=Array.from(this.boardEl.querySelectorAll(d)).map(f=>f.dataset.columnKey).filter(Boolean),p=u.indexOf(this.draggedColumnKey),m=u.indexOf(l.groupKey);if(p!==-1&&m!==-1){let f=[...u];f.splice(p,1),f.splice(m,0,this.draggedColumnKey),await this.saveColumnOrder(c,f),await this.render()}}}this.clearTouchDragState()})()}),t.addEventListener("touchcancel",()=>{t.classList.remove(s),this.clearTouchDragState()}))}setupColumnDragDrop(t,n,i){t.addEventListener("dragover",s=>{var a;(a=s.dataTransfer)!=null&&a.types.includes("text/x-kanban-column")||(s.preventDefault(),s.stopPropagation(),s.dataTransfer&&(s.dataTransfer.dropEffect="move"),t.classList.add("kanban-view__column--dragover"))}),t.addEventListener("dragleave",s=>{let a=t.getBoundingClientRect(),o=s.clientX,l=s.clientY;(o<a.left||o>=a.right||l<a.top||l>=a.bottom)&&t.classList.remove("kanban-view__column--dragover")}),t.addEventListener("drop",s=>{(async()=>{var u,p,m,f,h,g;if((u=s.dataTransfer)!=null&&u.types.includes("text/x-kanban-column"))return;if(s.preventDefault(),s.stopPropagation(),this.debugLog("COLUMN-DROP-EVENT-RECEIVED",{targetColumn:i,draggedTaskPath:((p=this.draggedTaskPath)==null?void 0:p.split("/").pop())||"(null)",dropTargetPath:((m=this.dropTargetPath)==null?void 0:m.split("/").pop())||"(null)",eventTarget:(h=(f=s.target)==null?void 0:f.className)==null?void 0:h.slice(0,60)}),!this.draggedTaskPath){this.debugLog("COLUMN-DROP: bail \u2014 draggedTaskPath is null (dragend already fired?)"),t.classList.remove("kanban-view__column--dragover"),this.cleanupDragShift();return}let a=this.dropTargetPath?{taskPath:this.dropTargetPath,above:this.dropAbove}:void 0,o=t.querySelector(".kanban-view__cards"),l=this.draggedFromColumn!==i;l&&a&&((o==null?void 0:o.querySelector(`[data-task-path="${CSS.escape(a.taskPath)}"]`))!=null||(a=void 0)),!a&&!l&&o&&(a=this.reconstructDropTarget(o)),this.debugLog("COLUMN-DROP",{draggedTask:(g=this.draggedTaskPath)==null?void 0:g.split("/").pop(),sourceColumn:this.draggedFromColumn,targetColumn:i,isCrossColumn:l,dropTarget:a?{file:a.taskPath.split("/").pop(),above:a.above}:null,cardsContainerFound:!!o,cardsContainerChildCount:o==null?void 0:o.childElementCount,draggedTaskPaths:this.draggedTaskPaths.map(y=>y.split("/").pop())});let c=this.draggedTaskPaths.length>0?this.draggedTaskPaths:[this.draggedTaskPath],d=this.performOptimisticReorder(c,a,o);this.debugLog("COLUMN-DROP-OPTIMISTIC-RESULT",{success:d}),t.classList.remove("kanban-view__column--dragover"),this.cleanupDragShift(),await this.handleTaskDrop(this.draggedTaskPath,i,null,a),this.draggedTaskPath=null,this.draggedFromColumn=null})()}),t.addEventListener("dragend",()=>{t.classList.remove("kanban-view__column--dragover")})}setupSwimLaneCellDragDrop(t,n,i){t.addEventListener("dragover",s=>{s.preventDefault(),s.stopPropagation(),s.dataTransfer&&(s.dataTransfer.dropEffect="move"),t.classList.add("kanban-view__swimlane-column--dragover")}),t.addEventListener("dragleave",s=>{let a=t.getBoundingClientRect(),o=s.clientX,l=s.clientY;(o<a.left||o>=a.right||l<a.top||l>=a.bottom)&&t.classList.remove("kanban-view__swimlane-column--dragover")}),t.addEventListener("drop",s=>{(async()=>{var p,m,f,h,g;if(s.preventDefault(),s.stopPropagation(),this.debugLog("SWIMLANE-CELL-DROP-EVENT-RECEIVED",{targetColumn:n,targetSwimlane:i,draggedTaskPath:((p=this.draggedTaskPath)==null?void 0:p.split("/").pop())||"(null)",dropTargetPath:((m=this.dropTargetPath)==null?void 0:m.split("/").pop())||"(null)",eventTarget:(h=(f=s.target)==null?void 0:f.className)==null?void 0:h.slice(0,60)}),!this.draggedTaskPath){this.debugLog("SWIMLANE-CELL-DROP: bail \u2014 draggedTaskPath is null (dragend already fired?)"),t.classList.remove("kanban-view__swimlane-column--dragover"),this.cleanupDragShift();return}let a=this.dropTargetPath?{taskPath:this.dropTargetPath,above:this.dropAbove}:void 0,o=t.querySelector(".kanban-view__tasks-container"),l=this.draggedFromColumn!==n,c=this.draggedFromSwimlane!==i;(l||c)&&a&&((o==null?void 0:o.querySelector(`[data-task-path="${CSS.escape(a.taskPath)}"]`))!=null||(a=void 0)),!a&&!l&&!c&&o&&(a=this.reconstructDropTarget(o));let d=this.draggedTaskPaths.length>0?this.draggedTaskPaths:[this.draggedTaskPath];this.debugLog("SWIMLANE-CELL-DROP",{draggedTask:(g=this.draggedTaskPath)==null?void 0:g.split("/").pop(),isCrossColumn:l,isCrossSwimlane:c,dropTarget:a?{file:a.taskPath.split("/").pop(),above:a.above}:null,cardsContainerFound:!!o,cardsContainerChildCount:o==null?void 0:o.childElementCount});let u=this.performOptimisticReorder(d,a,o);this.debugLog("SWIMLANE-CELL-DROP-OPTIMISTIC-RESULT",{success:u}),t.classList.remove("kanban-view__swimlane-column--dragover"),this.cleanupDragShift(),await this.handleTaskDrop(this.draggedTaskPath,n,i,a),this.draggedTaskPath=null,this.draggedFromColumn=null})()}),t.addEventListener("dragend",()=>{t.classList.remove("kanban-view__swimlane-column--dragover")})}createTouchDragGhost(t,n,i){let s=t.cloneNode(!0);return s.classList.add("kanban-view__touch-ghost"),s.style.cssText=`
position: fixed;
left: ${n}px;
top: ${i}px;
width: ${t.offsetWidth}px;
pointer-events: none;
z-index: 10000;
opacity: 0.8;
transform: translate(-50%, -50%) rotate(3deg);
box-shadow: 0 8px 24px rgba(0,0,0,0.3);
`,this.containerEl.ownerDocument.body.appendChild(s),s}updateTouchDragGhost(t,n){this.touchDragGhost&&(this.touchDragGhost.style.left=`${t}px`,this.touchDragGhost.style.top=`${n}px`)}removeTouchDragGhost(){this.touchDragGhost&&(this.touchDragGhost.remove(),this.touchDragGhost=null)}findDropTargetAt(t,n){this.touchDragGhost&&(this.touchDragGhost.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-min-height-800px-997b4c8c"),this.touchDragGhost.classList.add("tn-static-display-none-6b99de8b"));let s=this.containerEl.ownerDocument.elementFromPoint(t,n);if(this.touchDragGhost&&(this.touchDragGhost.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),this.touchDragGhost.style.removeProperty("display")),!s)return{type:null,groupKey:null,swimLaneKey:null,element:null};let a=s.closest("[data-column][data-swimlane]");if(a)return{type:"swimlane",groupKey:a.dataset.column||null,swimLaneKey:a.dataset.swimlane||null,element:a};let o=s.closest("[data-group]");if(o)return{type:"column",groupKey:o.dataset.group||null,swimLaneKey:null,element:o};let l=s.closest("[data-column-key]");return l?{type:"columnHeader",groupKey:l.dataset.columnKey||null,swimLaneKey:null,element:l}:{type:null,groupKey:null,swimLaneKey:null,element:null}}clearDragoverFeedback(){var t,n,i,s;(t=this.boardEl)==null||t.querySelectorAll(".kanban-view__column--dragover").forEach(a=>{a.classList.remove("kanban-view__column--dragover")}),(n=this.boardEl)==null||n.querySelectorAll(".kanban-view__swimlane-column--dragover").forEach(a=>{a.classList.remove("kanban-view__swimlane-column--dragover")}),(i=this.boardEl)==null||i.querySelectorAll(".kanban-view__column-header--dragover").forEach(a=>{a.classList.remove("kanban-view__column-header--dragover")}),(s=this.boardEl)==null||s.querySelectorAll(".kanban-view__column-header-cell--dragover").forEach(a=>{a.classList.remove("kanban-view__column-header-cell--dragover")})}updateDropTargetFeedback(t,n){this.clearDragoverFeedback();let i=this.findDropTargetAt(t,n);i.element&&(i.type==="column"?i.element.classList.add("kanban-view__column--dragover"):i.type==="swimlane"?i.element.classList.add("kanban-view__swimlane-column--dragover"):i.type==="columnHeader"&&this.touchDragType==="column"&&(i.element.classList.contains("kanban-view__column-header-cell")?i.element.classList.add("kanban-view__column-header-cell--dragover"):i.element.classList.add("kanban-view__column-header--dragover")))}clearTouchDragState(){var t;this.touchDragActive=!1,this.containerEl.ownerDocument.removeEventListener("contextmenu",this.boundContextMenuBlocker,!0),this.removeTouchDragGhost(),this.stopAutoScroll(),this.longPressTimer&&(window.clearTimeout(this.longPressTimer),this.longPressTimer=null),this.clearDragoverFeedback();for(let n of this.draggedTaskPaths)(t=this.currentTaskElements.get(n))==null||t.classList.remove("kanban-view__card--dragging");this.draggedTaskPath=null,this.draggedTaskPaths=[],this.draggedFromColumn=null,this.draggedFromSwimlane=null,this.draggedSourceColumns.clear(),this.draggedSourceSwimlanes.clear(),this.touchDragType=null,this.draggedColumnKey=null}handleAutoScroll(t){if(!this.boardEl)return;let n=this.boardEl.getBoundingClientRect(),i=n.left+this.AUTO_SCROLL_EDGE,s=n.right-this.AUTO_SCROLL_EDGE,a=0;t<i?a=-1:t>s&&(a=1),a!==this.autoScrollDirection&&(this.stopAutoScroll(),this.autoScrollDirection=a,a!==0&&(this.autoScrollTimer=window.setInterval(()=>{this.boardEl&&(this.boardEl.scrollLeft+=this.autoScrollDirection*this.AUTO_SCROLL_SPEED)},16)))}stopAutoScroll(){this.autoScrollTimer&&(window.clearInterval(this.autoScrollTimer),this.autoScrollTimer=null),this.autoScrollDirection=0}setupCardDragHandlers(t,n){t.addEventListener("click",i=>{if(this.handleSelectionClick(i,n.path)){i.stopPropagation();return}}),t.addEventListener("contextmenu",i=>{if(i.preventDefault(),i.stopPropagation(),this.longPressTimer||this.touchDragActive)return;let s=this.plugin.taskSelectionService;if(s&&s.getSelectionCount()>1){s.isSelected(n.path)||s.addToSelection(n.path),this.showBatchContextMenu(i);return}ju(i,n.path,this.plugin,new Date)}),t.addEventListener("dragover",i=>{if(this.draggedTaskPath===n.path)return;i.preventDefault(),i.stopPropagation(),i.dataTransfer&&(i.dataTransfer.dropEffect="move");let s=i.clientY;this.dragOverRafId||(this.dragOverRafId=window.requestAnimationFrame(()=>{this.dragOverRafId=0;let a=t.getBoundingClientRect(),o=s<a.top+a.height/2;this.dropTargetPath=n.path,this.dropAbove=o;let l=t.parentElement;if(!l)return;if(l!==this.dragContainer){this.cleanupDragShift();let u=this.currentTaskElements.get(this.draggedTaskPath||""),p=u&&u.getBoundingClientRect().height||60,m=getComputedStyle(l).gap,f=parseFloat(m)||4,h=p+f;l.style.setProperty("--tn-drag-gap",`${h}px`),l.classList.remove("tn-static-margin-top-12px-91e0f558","tn-static-overflow-y-auto-03df744e"),l.classList.add("tn-static-overflow-y-clip-c5043043"),l.style.paddingBottom=`${h}px`;let g=l.closest(".kanban-view__column, .kanban-view__swimlane-column");if(g){let k=g.getBoundingClientRect().height;g.style.maxHeight=`${k+h}px`,this.dragTargetColumnEl=g}let y=l.querySelectorAll(".kanban-view__card-wrapper");for(let k of y)this.draggedTaskPaths.includes(k.dataset.taskPath||"")||k.classList.add("kanban-view__card-wrapper--drag-shift");this.dragContainer=l}let c=Array.from(l.querySelectorAll(".kanban-view__card-wrapper")).filter(u=>!this.draggedTaskPaths.includes(u.dataset.taskPath||"")),d=c.length;for(let u=0;u<c.length;u++)if(c[u].dataset.taskPath===n.path){d=o?u:u+1;break}if(d!==this.currentInsertionIndex){this.currentInsertionIndex=d;for(let u=0;u<c.length;u++)c[u].classList.toggle("kanban-view__card-wrapper--shift-down",u>=d)}}))}),t.addEventListener("dragleave",()=>{}),t.addEventListener("drop",i=>{(async()=>{var p,m;if((p=i.dataTransfer)!=null&&p.types.includes("text/x-kanban-column")||(i.preventDefault(),i.stopPropagation(),!this.draggedTaskPath))return;let s=t.closest("[data-group]"),a=t.closest("[data-column]"),o=t.closest("[data-swimlane]"),l=(s==null?void 0:s.dataset.group)||(a==null?void 0:a.dataset.column),c=(o==null?void 0:o.dataset.swimlane)||null;if(!l)return;let d={taskPath:n.path,above:this.dropAbove};this.debugLog("CARD-DROP (drop-on-card handler)",{draggedTask:(m=this.draggedTaskPath)==null?void 0:m.split("/").pop(),targetCard:n.path.split("/").pop(),sourceColumn:this.draggedFromColumn,targetColumn:l,isCrossColumn:this.draggedFromColumn!==l,above:this.dropAbove,swimLaneKey:c});let u=this.draggedTaskPaths.length>0?this.draggedTaskPaths:[this.draggedTaskPath];this.performOptimisticReorder(u,d),this.cleanupDragShift(),s==null||s.classList.remove("kanban-view__column--dragover"),await this.handleTaskDrop(this.draggedTaskPath,l,c,d),this.draggedTaskPath=null,this.draggedFromColumn=null})()}),t.addEventListener("dragstart",i=>{this.debugLog("DRAGSTART",{task:n.path.split("/").pop(),inCurrentTaskElements:this.currentTaskElements.has(n.path)});let s=this.plugin.taskSelectionService;if(s&&s.isSelected(n.path)&&s.getSelectionCount()>1){this.draggedTaskPaths=s.getSelectedPaths(),this.draggedTaskPath=n.path,this.draggedSourceColumns.clear(),this.draggedSourceSwimlanes.clear();for(let p of this.draggedTaskPaths){let m=this.currentTaskElements.get(p);if(m){m.classList.add("kanban-view__card--dragging");let f=m.closest("[data-group]"),h=m.closest("[data-column]"),g=m.closest("[data-swimlane]"),y=(f==null?void 0:f.dataset.group)||(h==null?void 0:h.dataset.column),k=g==null?void 0:g.dataset.swimlane;y&&this.draggedSourceColumns.set(p,y),k&&this.draggedSourceSwimlanes.set(p,k)}}i.dataTransfer&&(i.dataTransfer.effectAllowed="move",i.dataTransfer.setData("text/plain",this.draggedTaskPaths.join(",")),i.dataTransfer.setData("text/x-batch-drag","true"))}else this.draggedTaskPath=n.path,this.draggedTaskPaths=[n.path],t.classList.add("kanban-view__card--dragging"),i.dataTransfer&&(i.dataTransfer.effectAllowed="move",i.dataTransfer.setData("text/plain",n.path));let a=t.closest("[data-group]"),o=t.closest("[data-column]"),l=t.closest("[data-swimlane]");this.draggedFromColumn=(a==null?void 0:a.dataset.group)||(o==null?void 0:o.dataset.column)||null,this.draggedFromSwimlane=(l==null?void 0:l.dataset.swimlane)||null,this.containerEl.ownerDocument.body.classList.add("tn-drag-active");let c=t.getBoundingClientRect().height,d=t.parentElement,u=t.closest(".kanban-view__column, .kanban-view__swimlane-column");u&&(u.style.minHeight=`${u.offsetHeight}px`,this.dragSourceColumnEl=u),window.requestAnimationFrame(()=>{for(let p of this.draggedTaskPaths){let m=this.currentTaskElements.get(p);m&&(m.classList.remove("tn-static-display-flex-4d51fc62","tn-static-height-100-62264068","tn-static-height-12px-06c0747e","tn-static-height-16px-30de4aee","tn-static-height-24px-29a11d37","tn-static-min-height-800px-997b4c8c"),m.classList.add("tn-static-height-0-7a31cef0"),m.classList.remove("tn-static-flex-1-14e3b769"),m.classList.add("tn-static-overflow-hidden-69824400"),m.classList.remove("tn-static-margin-8px-0-0-0-a2eb8382","tn-static-padding-0-16px-16px-16px-f1aa998c","tn-static-padding-12px-43bef435","tn-static-padding-16px-287f770e","tn-static-padding-20px-769fed37","tn-static-padding-20px-7a035d95","tn-static-padding-20px-ebe8e48c","tn-static-padding-2px-8px-c8eea84a","tn-static-padding-2rem-42aa6d9c"),m.classList.add("tn-static-padding-0-41d7d7e2"),m.classList.remove("tn-static-margin-0-auto-266e9b04","tn-static-margin-0-db0d5f36","tn-static-margin-0-var-size-4-2-77f7dc08","tn-static-margin-2px-0-edce9b14","tn-static-margin-8px-0-0-0-a2eb8382","tn-static-padding-12px-43bef435","tn-static-padding-20px-ebe8e48c"),m.classList.add("tn-static-margin-0-11696618"),m.classList.remove("tn-static-border-1px-solid-var-background-mo-b65b5121","tn-static-padding-12px-43bef435"),m.classList.add("tn-static-border-none-2eda1daa"),m.classList.remove("tn-static-opacity-0-6-d95b59ac","tn-static-opacity-1-c6e7979d"),m.classList.add("tn-static-opacity-0-8d919cb5"))}if(d){let p=getComputedStyle(d).gap,m=parseFloat(p)||4;d.style.setProperty("--tn-drag-gap",`${c+m}px`),d.classList.remove("tn-static-margin-top-12px-91e0f558","tn-static-overflow-y-auto-03df744e"),d.classList.add("tn-static-overflow-y-clip-c5043043");let f=d.querySelectorAll(".kanban-view__card-wrapper");for(let h of f)this.draggedTaskPaths.includes(h.dataset.taskPath||"")||h.classList.add("kanban-view__card-wrapper--drag-shift");this.dragContainer=d,this.currentInsertionIndex=-1}})}),t.addEventListener("dragend",()=>{var i,s,a,o;this.debugLog("DRAGEND-FIRED",{draggedTask:n.path.split("/").pop(),draggedTaskPath:((i=this.draggedTaskPath)==null?void 0:i.split("/").pop())||"(already null)",draggedTaskPathsCount:this.draggedTaskPaths.length,pendingRender:this.pendingRender,activeDropCount:this.activeDropCount,suppressRenderRemaining:Math.max(0,this.suppressRenderUntil-Date.now())});for(let l of this.draggedTaskPaths){let c=this.currentTaskElements.get(l);if(c){let d=((s=c.parentElement)==null?void 0:s.className)||"(detached)";this.debugLog("DRAGEND-RESTORE-CARD",{path:l.split("/").pop(),parentClass:d,currentStyles:c.style.cssText.slice(0,80)}),Qf(c),c.classList.remove("kanban-view__card--dragging")}}Qf(t),t.classList.remove("kanban-view__card--dragging"),this.cleanupDragShift(),this.dragSourceColumnEl&&(this.dragSourceColumnEl.classList.remove("tn-static-flex-1-14e3b769","tn-static-min-height-800px-997b4c8c"),this.dragSourceColumnEl.style.removeProperty("min-height"),this.dragSourceColumnEl=null),this.containerEl.ownerDocument.body.classList.remove("tn-drag-active"),this.draggedTaskPath=null,this.draggedFromColumn=null,this.draggedFromSwimlane=null,this.draggedTaskPaths=[],this.draggedSourceColumns.clear(),this.draggedSourceSwimlanes.clear(),(a=this.boardEl)==null||a.querySelectorAll(".kanban-view__column--dragover").forEach(l=>{l.classList.remove("kanban-view__column--dragover")}),(o=this.boardEl)==null||o.querySelectorAll(".kanban-view__swimlane-column--dragover").forEach(l=>{l.classList.remove("kanban-view__swimlane-column--dragover")}),this.dropTargetPath=null,this.dragOverRafId&&(cancelAnimationFrame(this.dragOverRafId),this.dragOverRafId=0),this.pendingRender?(this.debugLog("DRAGEND-PENDING-RENDER: flushing deferred render via debouncedRefresh"),this.pendingRender=!1,this.debouncedRefresh()):this.debugLog("DRAGEND: no pending render to flush")}),this.setupCardTouchHandlers(t,n)}reconstructDropTarget(t){let n=Array.from(t.querySelectorAll(".kanban-view__card-wrapper")).filter(s=>!this.draggedTaskPaths.includes(s.dataset.taskPath||""));if(n.length===0)return;let i=this.currentInsertionIndex>=0?Math.min(this.currentInsertionIndex,n.length):n.length;return i===0?{taskPath:n[0].dataset.taskPath,above:!0}:{taskPath:n[i-1].dataset.taskPath,above:!1}}performOptimisticReorder(t,n,i){var o;if(t.length===0)return this.debugLog("OPTIMISTIC-REORDER: bail \u2014 no dragged paths"),!1;if(!n){if(!i)return this.debugLog("OPTIMISTIC-REORDER: bail \u2014 no dropTarget AND no targetContainer"),!1;this.debugLog("OPTIMISTIC-REORDER: cross-column append path",{paths:t.map(l=>l.split("/").pop()),containerChildCount:i.childElementCount,containerClass:i.className});for(let l of t){let c=this.currentTaskElements.get(l);if(!c)return this.debugLog("OPTIMISTIC-REORDER: bail \u2014 element not in currentTaskElements",{path:l.split("/").pop()}),!1;let d=c.parentElement;this.debugLog("OPTIMISTIC-REORDER: moving element",{path:l.split("/").pop(),oldParentClass:d==null?void 0:d.className,oldParentChildCount:d==null?void 0:d.childElementCount,sameContainer:d===i,elCurrentStyles:c.style.cssText.slice(0,120)}),Qf(c),c.classList.remove("kanban-view__card--dragging"),i.appendChild(c)}return this.debugLog("OPTIMISTIC-REORDER: cross-column append SUCCESS",{containerChildCount:i.childElementCount}),!0}this.debugLog("OPTIMISTIC-REORDER: drop-on-card path",{paths:t.map(l=>l.split("/").pop()),targetCard:n.taskPath.split("/").pop(),above:n.above,hasContainer:!!i});let s=this.currentTaskElements.get(n.taskPath);if(!s)return this.debugLog("OPTIMISTIC-REORDER: bail \u2014 target element not in currentTaskElements",{target:n.taskPath.split("/").pop()}),!1;let a=i||s.parentElement;if(!a)return this.debugLog("OPTIMISTIC-REORDER: bail \u2014 no container resolved"),!1;if(!a.contains(s))return this.debugLog("OPTIMISTIC-REORDER: bail \u2014 targetEl not in container",{containerClass:a.className,targetElParentClass:(o=s.parentElement)==null?void 0:o.className}),!1;for(let l of t){let c=this.currentTaskElements.get(l);if(!c)return this.debugLog("OPTIMISTIC-REORDER: bail \u2014 dragged element not in map (virtual scroll?)",{path:l.split("/").pop()}),!1;Qf(c),c.classList.remove("kanban-view__card--dragging"),n.above?a.insertBefore(c,s):a.insertBefore(c,s.nextSibling)}return this.debugLog("OPTIMISTIC-REORDER: drop-on-card SUCCESS"),!0}cleanupDragShift(){var t;if(this.dragContainer){this.dragContainer.style.removeProperty("--tn-drag-gap"),this.dragContainer.classList.remove("tn-static-margin-top-12px-91e0f558","tn-static-overflow-y-auto-03df744e","tn-static-overflow-y-clip-c5043043"),this.dragContainer.style.removeProperty("overflow-y"),this.dragContainer.style.removeProperty("padding-bottom");let n=this.dragContainer.querySelectorAll(".kanban-view__card-wrapper--drag-shift, .kanban-view__card-wrapper--shift-down");for(let i of n)i.classList.remove("kanban-view__card-wrapper--drag-shift","kanban-view__card-wrapper--shift-down");this.dragContainer=null}this.dragTargetColumnEl&&(this.dragTargetColumnEl.classList.remove("tn-static-margin-top-12px-91e0f558","tn-static-max-height-400px-f0787633"),this.dragTargetColumnEl.style.removeProperty("max-height"),this.dragTargetColumnEl=null),(t=this.boardEl)==null||t.querySelectorAll(".kanban-view__card-wrapper--drag-shift, .kanban-view__card-wrapper--shift-down").forEach(n=>{n.classList.remove("kanban-view__card-wrapper--drag-shift","kanban-view__card-wrapper--shift-down")}),this.currentInsertionIndex=-1}setupCardTouchHandlers(t,n){Hs.Platform.isMobile&&(t.addEventListener("touchstart",i=>{if(i.touches.length!==1)return;let s=i.touches[0];this.touchStartX=s.clientX,this.touchStartY=s.clientY,this.longPressTimer=window.setTimeout(()=>{this.initiateTouchDrag(t,n,s.clientX,s.clientY)},this.LONG_PRESS_DELAY)},{passive:!0}),t.addEventListener("touchmove",i=>{if(i.touches.length!==1)return;let s=i.touches[0];if(!this.touchDragActive&&this.longPressTimer){let a=Math.abs(s.clientX-this.touchStartX),o=Math.abs(s.clientY-this.touchStartY);(a>this.TOUCH_MOVE_THRESHOLD||o>this.TOUCH_MOVE_THRESHOLD)&&(window.clearTimeout(this.longPressTimer),this.longPressTimer=null);return}this.touchDragActive&&this.touchDragType==="task"&&(i.preventDefault(),this.updateTouchDragGhost(s.clientX,s.clientY),this.updateDropTargetFeedback(s.clientX,s.clientY),this.handleAutoScroll(s.clientX))},{passive:!1}),t.addEventListener("touchend",i=>{(async()=>{if(this.longPressTimer&&(window.clearTimeout(this.longPressTimer),this.longPressTimer=null),!this.touchDragActive||this.touchDragType!=="task")return;let s=i.changedTouches[0];if(!s){this.clearTouchDragState();return}let a=this.findDropTargetAt(s.clientX,s.clientY);if(a.groupKey&&this.draggedTaskPath)for(let o of this.draggedTaskPaths)await this.handleTaskDrop(o,a.groupKey,a.swimLaneKey);this.clearTouchDragState()})()}),t.addEventListener("touchcancel",()=>{this.clearTouchDragState()}))}initiateTouchDrag(t,n,i,s){var d;this.touchDragActive=!0,this.touchDragType="task",this.containerEl.ownerDocument.addEventListener("contextmenu",this.boundContextMenuBlocker,!0);let a=this.plugin.taskSelectionService;if(a!=null&&a.isSelected(n.path)&&a.getSelectionCount()>1){this.draggedTaskPaths=a.getSelectedPaths(),this.draggedTaskPath=n.path,this.draggedSourceColumns.clear(),this.draggedSourceSwimlanes.clear();for(let u of this.draggedTaskPaths){let p=this.currentTaskElements.get(u);if(p){p.classList.add("kanban-view__card--dragging");let m=p.closest("[data-group]"),f=p.closest("[data-column]"),h=p.closest("[data-swimlane]"),g=(m==null?void 0:m.dataset.group)||(f==null?void 0:f.dataset.column),y=h==null?void 0:h.dataset.swimlane;g&&this.draggedSourceColumns.set(u,g),y&&this.draggedSourceSwimlanes.set(u,y)}}}else this.draggedTaskPath=n.path,this.draggedTaskPaths=[n.path],t.classList.add("kanban-view__card--dragging");let o=t.closest("[data-group]"),l=t.closest("[data-column]"),c=t.closest("[data-swimlane]");this.draggedFromColumn=(o==null?void 0:o.dataset.group)||(l==null?void 0:l.dataset.column)||null,this.draggedFromSwimlane=(c==null?void 0:c.dataset.swimlane)||null,this.touchDragGhost=this.createTouchDragGhost(t,i,s),(d=navigator.vibrate)==null||d.call(navigator,50)}async handleTaskDrop(t,n,i,s){this.activeDropCount++;try{await this.dropQueue.enqueue(t,async()=>{var N,V,R,I,O,z;this.suppressRenderUntil=Date.now()+1e4;let a=this.getGroupByPropertyId();if(!a)return;if(a.startsWith("formula.")){new Hs.Notice(this.plugin.i18n.translate("views.kanban.errors.formulaGroupingReadOnly"));return}if(i!==null&&((N=this.swimLanePropertyId)!=null&&N.startsWith("formula."))){new Hs.Notice(this.plugin.i18n.translate("views.kanban.errors.formulaSwimlaneReadOnly"));return}let o=Tc(a),l=this.explodeListColumns&&this.isListTypeProperty(o),c=this.swimLanePropertyId?Tc(this.swimLanePropertyId):null,d=c&&this.isListTypeProperty(c),u=this.draggedFromColumn,p=this.draggedFromSwimlane,m=new Map(this.draggedSourceColumns),f=new Map(this.draggedSourceSwimlanes),h=this.draggedTaskPaths.length>1?[...this.draggedTaskPaths]:[t],g=h.length>1,y=Ap(this.dataAdapter,this.plugin.settings.fieldMapping.sortOrder),k=this.plugin.settings.fieldMapping.sortOrder,T=Tc(a),w=this.swimLanePropertyId?Tc(this.swimLanePropertyId):null,S=i!==null&&w?[{property:w,value:i}]:void 0,E=this.getVisibleSortScopePaths(n,i),C=this.getCandidateSortScopePaths(n,i);this.debugLog("SORT-ORDER-CHECK",{hasDropTarget:!!s,hasSortOrder:y,dropTarget:s?{file:s.taskPath.split("/").pop(),above:s.above}:null});let D=this.plugin.fieldMapper.lookupMappingKey(o),A=c?this.plugin.fieldMapper.lookupMappingKey(c):null;for(let B of h){let W=g?m.get(B):u,Y=g?f.get(B):p,ee=W===n,ae=Y===i;this.debugLog("HANDLE-DROP-TASK",{taskFile:B.split("/").pop(),sourceColumn:W,newGroupValue:n,isSameColumn:ee,isGroupByListProperty:l,sourceSwimlane:Y,newSwimLaneValue:i});let ce=!ee,J=i!==null&&!!this.swimLanePropertyId&&!ae,de=null;if(y){if(s){if(this.debugLog("COMPUTE-SORT-ORDER-CALL",{taskFile:B.split("/").pop(),targetFile:s.taskPath.split("/").pop(),above:s.above,groupKey:n,cleanGroupBy:T,cleanSwimLane:w}),de=await tI(s.taskPath,s.above,n,T,B,this.plugin,{scopeFilters:S,taskInfoCache:this.taskInfoCache,visibleTaskPaths:E,candidateTaskPaths:C}),de.sortOrder===null)continue;let Z=de.additionalWrites.length+1;if(Z>this.LARGE_REORDER_WARNING_THRESHOLD&&!await this.confirmLargeReorder(Z,n,i))return}else this.debugLog("SORT-ORDER-CROSS-COLUMN-PRESERVE",{taskFile:B.split("/").pop(),groupKey:n});this.debugLog("SORT-ORDER-RESULT",{taskFile:B.split("/").pop(),newSortOrder:(V=de==null?void 0:de.sortOrder)!=null?V:null,isNull:(de==null?void 0:de.sortOrder)===null,additionalWrites:(R=de==null?void 0:de.additionalWrites.length)!=null?R:0})}if(!(ce||J||de!==null))continue;let ct=this.plugin.app.vault.getAbstractFileByPath(B);if(!ct||!(ct instanceof Hs.TFile))continue;de&&await rI(B,de,this.plugin,{includeDragged:!1}),await this.plugin.app.fileManager.processFrontMatter(ct,Z=>{if(ce){let X=a.replace(/^(note\.|file\.|task\.)/,"");if(l&&W){let Me=Z[X];Array.isArray(Me)||(Me=Me?[Me]:[]);let me=Me.filter(gr=>gr!==W);!me.includes(n)&&n!=="None"&&me.push(n),Z[X]=me.length>0?me:[]}else Z[X]=n}if(J){let X=this.swimLanePropertyId.replace(/^(note\.|file\.|task\.)/,"");if(d&&Y){let Me=Z[X];Array.isArray(Me)||(Me=Me?[Me]:[]);let me=Me.filter(gr=>gr!==Y);!me.includes(i)&&i!=="None"&&me.push(i),Z[X]=me.length>0?me:[]}else Z[X]=i}if((de==null?void 0:de.sortOrder)!==null&&de&&(Z[k]=de.sortOrder),ce&&D==="status"){let X=this.taskInfoCache.get(B),Me=!!(X!=null&&X.recurrence);this.plugin.taskService.updateCompletedDateInFrontmatter(Z,n,Me);let me=this.plugin.fieldMapper.toUserField("dateModified");Z[me]=Ve()}else if(J&&A==="status"){let X=this.taskInfoCache.get(B),Me=!!(X!=null&&X.recurrence);this.plugin.taskService.updateCompletedDateInFrontmatter(Z,i,Me);let me=this.plugin.fieldMapper.toUserField("dateModified");Z[me]=Ve()}}),this.debugLog("ATOMIC-WRITE-DONE",{taskFile:B.split("/").pop(),needsGroupUpdate:ce,needsSwimlaneUpdate:J,hasSortOrder:de!==null});let Ae=ce?D:J?A:null;if(Ae){let Z=ce?W:Y,X=ce?n:i;try{let Me=(I=this.taskInfoCache.get(B))!=null?I:await this.plugin.cacheManager.getTaskInfo(B);if(Me){let me={...Me,[Ae]:X};me.dateModified=Ve(),Ae==="status"&&!Me.recurrence&&(this.plugin.statusManager.isCompletedStatus(X)?me.completedDate=new Date().toISOString().split("T")[0]:me.completedDate=void 0),await this.plugin.taskService.applyPropertyChangeSideEffects(ct,Me,me,Ae,Z,X)}}catch(Me){console.warn("[TaskNotes][KanbanView] Side-effect error after drop:",Me)}}}g&&((O=this.plugin.taskSelectionService)==null||O.clearSelection(),(z=this.plugin.taskSelectionService)==null||z.exitSelectionMode()),this.debugLog("HANDLE-DROP-COMPLETE",{pathsUpdated:h.map(B=>B.split("/").pop())})})}catch(a){console.error("[TaskNotes][KanbanView] Error updating task:",a)}finally{this.activeDropCount--,this.activeDropCount===0&&this.schedulePostDropRender()}}setupContainer(){var i;super.setupContainer();let n=this.containerEl.ownerDocument.createElement("div");n.className="kanban-view__board",(i=this.rootElement)==null||i.appendChild(n),this.boardEl=n,this.registerBoardListeners()}async handleTaskUpdate(t){this.debouncedRefresh()}debouncedRefresh(){this.updateDebounceTimer&&(this.debugLog("DEBOUNCED-REFRESH: cancelling previous pending timer"),window.clearTimeout(this.updateDebounceTimer)),this.debugLog("DEBOUNCED-REFRESH: scheduling render in 150ms",{activeDropCount:this.activeDropCount,suppressRenderRemaining:Math.max(0,this.suppressRenderUntil-Date.now())});let t=this.getEphemeralState(),n=this.containerEl.ownerDocument.defaultView||window;this.updateDebounceTimer=n.setTimeout(()=>{(async()=>{if(this.activeDropCount>0||Date.now()<this.suppressRenderUntil){this.debugLog("DEBOUNCED-REFRESH-TIMER-FIRED: SKIPPED (drop still in-flight)",{activeDropCount:this.activeDropCount,suppressRenderRemaining:Math.max(0,this.suppressRenderUntil-Date.now())}),this.updateDebounceTimer=null;return}this.debugLog("DEBOUNCED-REFRESH-TIMER-FIRED: executing render now",{activeDropCount:this.activeDropCount,suppressRenderRemaining:Math.max(0,this.suppressRenderUntil-Date.now())}),await this.render(),this.updateDebounceTimer=null,this.setEphemeralState(t)})()},150)}debugLog(t,n){if(!this.plugin.settings.enableDebugLogging)return;let i=new Date().toISOString().slice(11,23);n?console.debug(`[TN-DBG ${i}] ${t}`,JSON.stringify(n)):console.debug(`[TN-DBG ${i}] ${t}`)}schedulePostDropRender(){this.debugLog("SCHEDULE-POST-DROP-RENDER",{delay:Ev.POST_DROP_RENDER_DELAY}),this.suppressRenderUntil=Date.now()+Ev.POST_DROP_RENDER_DELAY,this.pendingRender=!1,this.postDropTimer&&window.clearTimeout(this.postDropTimer);let t=this.containerEl.ownerDocument.defaultView||window;this.postDropTimer=t.setTimeout(()=>{this.debugLog("POST-DROP-TIMER-FIRED: rendering now"),this.postDropTimer=null,this.suppressRenderUntil=0,this.debouncedRefresh()},Ev.POST_DROP_RENDER_DELAY)}renderEmptyState(){if(!this.boardEl)return;let n=this.containerEl.ownerDocument.createElement("div");n.className="tn-bases-empty",n.textContent="No tasknotes tasks found for this base.",this.boardEl.appendChild(n)}renderNoGroupByError(){if(!this.boardEl)return;let n=this.containerEl.ownerDocument.createElement("div");n.className="tn-bases-error",n.textContent=this.plugin.i18n.translate("views.kanban.errors.noGroupBy"),this.boardEl.appendChild(n)}renderError(t){if(!this.boardEl)return;let i=this.containerEl.ownerDocument.createElement("div");i.className="tn-bases-error",i.textContent=`Error loading kanban: ${t.message||"Unknown error"}`,this.boardEl.appendChild(i)}async computeFormulas(t){let n=sI(this.data);if(!(!n||t.length===0))for(let i=0;i<t.length;i++){let s=t[i],a=Gx(s),o=a==null?void 0:a.formulaResults;if(!(!a||!(o!=null&&o.cachedFormulaOutputs)))for(let l of Object.keys(n)){let c=n[l];if(aI(c))try{let d=s.properties||{},u=oI(c,a,d);u!==void 0&&(o.cachedFormulaOutputs[l]=u)}catch(d){}}}}buildPathToPropsMap(){let t=this.dataAdapter.extractDataItems(),n=new Map;for(let i of t){if(!i.path)continue;let s={...i.properties||{}};lI(s,i),n.set(i.path,s)}return n}getPropertyValue(t,n){var s;if(n.startsWith("formula."))return(s=t[n])!=null?s:null;let i=Tc(n);return t[n]!==void 0?t[n]:t[i]!==void 0?t[i]:null}valueToString(t){var n,i;if(t==null)return"None";if(typeof t=="object"&&t!==null&&typeof t.toString=="function"){let s=t;if(((n=s.constructor)==null?void 0:n.name)==="NullValue"||s.isTruthy&&!s.isTruthy())return"None";if(((i=s.constructor)==null?void 0:i.name)==="ListValue"||Array.isArray(s.value)){let o=s.value||[];return o.length===0?"None":o.map(l=>this.valueToString(l)).join(", ")}return s.toString()||"None"}return typeof t=="string"?t||"None":typeof t=="number"?String(t):typeof t=="boolean"?t?"True":"False":Array.isArray(t)?t.length>0?t.map(s=>this.valueToString(s)).join(", "):"None":ie(t)||"None"}getGroupDisplayTitle(t,n){if(!n)return t;let i=Tc(n),s=this.plugin.fieldMapper.toUserField("status");if(i===s){let o=this.plugin.statusManager.getStatusConfig(t);if(o!=null&&o.label)return o.label}let a=this.plugin.fieldMapper.toUserField("priority");if(i===a){let o=this.plugin.priorityManager.getPriorityConfig(t);if(o!=null&&o.label)return o.label}return t}renderGroupTitleWrapper(t,n,i=!1,s=!1){if(i?this.isSwimLaneByStatus():this.isGroupedByStatus()){let u=this.plugin.statusManager.getStatusConfig(n);if(u){if(this.consolidateStatusIcon&&!s&&u.icon){let p=t.createSpan({cls:"kanban-view__column-icon"});p.style.color=u.color,(0,Hs.setIcon)(p,u.icon)}t.createSpan({text:u.label});return}}let o=i?this.swimLanePropertyId:this.getGroupByPropertyId(),l=this.getGroupDisplayTitle(n,o),c=this.app||this.plugin.app,d={metadataCache:c.metadataCache,workspace:c.workspace};jA(t,l,d)}applyColumnOrder(t,n){let i=this.columnOrders[t];if(!i||i.length===0)return n.sort();let s=[],a=[];for(let o of i)n.includes(o)&&s.push(o);for(let o of n)i.includes(o)||a.push(o);return[...s,...a.sort()]}async saveColumnOrder(t,n){this.columnOrders[t]=n;try{let i=JSON.stringify(this.columnOrders);this.config.set("columnOrder",i)}catch(i){console.error("[KanbanView] Failed to save column order:",i)}}getCardOptions(){let t=new Date,n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate())),i=this.consolidateStatusIcon&&this.isGroupedByStatus();return this.buildTaskCardOptions({targetDate:n,hideStatusIndicator:i,expandedRelationshipFilterMode:this.expandedRelationshipFilterMode,resolveExpandedRelationshipFilterMode:()=>{var s;return s0e((s=this.config)==null?void 0:s.get("expandedRelationshipFilterMode"))},expandedRelationshipTaskPaths:this.currentVisibleTaskPaths})}setCurrentVisibleTaskPaths(t){this.currentVisibleTaskPaths.clear();for(let n of t)this.currentVisibleTaskPaths.add(n.path)}isGroupedByStatus(){let t=this.getGroupByPropertyId();if(!t)return!1;let n=this.plugin.fieldMapper.toUserField("status");return t.replace(/^(note\.|file\.|task\.)/,"")===n}isSwimLaneByStatus(){if(!this.swimLanePropertyId)return!1;let t=this.plugin.fieldMapper.toUserField("status");return this.swimLanePropertyId.replace(/^(note\.|file\.|task\.)/,"")===t}registerBoardListeners(){}unregisterBoardListeners(){}getTaskContextFromEvent(t){let n=t.target;if(!n)return null;let i=n.closest(".task-card");if(!i)return null;let s=i.closest(".kanban-view__card-wrapper");if(!s)return null;let a=s.dataset.taskPath;if(!a)return null;let o=this.taskInfoCache.get(a);return o?{task:o,card:i}:null}async handleCardAction(t,n,i,s){await V3({action:t,task:n,target:i,event:s,plugin:this.plugin,app:this.app||this.plugin.app})}async handleToggleStatus(t,n){await V3({action:"toggle-status",task:t,target:this.containerEl,event:n,plugin:this.plugin,app:this.app||this.plugin.app})}getTaskActionDate(t){return Kx(t)}destroyColumnScrollers(){for(let t of this.columnScrollers.values())t.destroy();this.columnScrollers.clear()}onunload(){this.postDropTimer&&(window.clearTimeout(this.postDropTimer),this.postDropTimer=null),this.suppressRenderUntil=0,this.unregisterBoardListeners(),this.destroyColumnScrollers(),this.currentTaskElements.clear(),this.taskInfoCache.clear(),this.sortScopeTaskPaths.clear(),this.boardEl=null}};Ev.POST_DROP_RENDER_DELAY=500;W3=Ev});var Zx=v(()=>{kd();wS()});function dI(r,e){let t=[];for(let n=0;n<e;n+=1)t[n]=[];for(let n of r)t[n.row].push(n);return t}function cI(r,e){let t=[];for(let n=0;n<e;n+=1)t[n]=[];for(let n of r)t[n.firstCol].push(n);return t}function c0e(r,e){let t=[];if(r){for(let n=0;n<e;n+=1)t[n]={affectedInstances:r.affectedInstances,isEvent:r.isEvent,segs:[]};for(let n of r.segs)t[n.row].segs.push(n)}else for(let n=0;n<e;n+=1)t[n]=null;return t}function u0e(r){let{display:e}=r.eventRange.ui;return e==="list-item"||e==="auto"&&!r.eventRange.def.allDay&&r.firstCol===r.lastCol&&r.isStart&&r.isEnd}function iit(r){return _(jt,null,_("div",{className:"fc-daygrid-event-dot",style:{borderColor:r.borderColor||r.backgroundColor}}),r.timeText&&_("div",{className:"fc-event-time"},r.timeText),_("div",{className:"fc-event-title"},r.event.title||_(jt,null,"\xA0")))}function sit(r){let e=[],t=[];for(let n of r)e.push(n.seg),n.isVisible||t.push(n.seg);return{allSegs:e,invisibleSegs:t}}function oit(r){return r.dayNumberText||_(jt,null,"\xA0")}function lit(r,e,t){let{start:n,end:i}=e,s=Gl(i,-1),a=t.getYear(n),o=t.getMonth(n),l=t.getYear(s),c=t.getMonth(s);return!(a===l&&o===c)&&(r.valueOf()===n.valueOf()||t.getDay(r)===1&&r.valueOf()<i.valueOf())}function p0e(r){return r.eventRange.instance.instanceId+":"+r.firstCol}function m0e(r){return p0e(r)+":"+r.lastCol}function cit(r,e,t,n,i,s,a){let o=new Z3(y=>{let k=r[y.index].eventRange.instance.instanceId+":"+y.span.start+":"+(y.span.end-1);return i[k]||1});o.allowReslicing=!0,o.strictOrder=n,e===!0||t===!0?(o.maxCoord=s,o.hiddenConsumes=!0):typeof e=="number"?o.maxStackCnt=e:typeof t=="number"&&(o.maxStackCnt=t,o.hiddenConsumes=!0);let l=[],c=[];for(let y=0;y<r.length;y+=1){let k=r[y],T=m0e(k);i[T]!=null?l.push({index:y,span:{start:k.firstCol,end:k.lastCol+1}}):c.push(k)}let d=o.addSegs(l),u=o.toRects(),{singleColPlacements:p,multiColPlacements:m,leftoverMargins:f}=dit(u,r,a),h=[],g=[];for(let y of c){m[y.firstCol].push({seg:y,isVisible:!1,isAbsolute:!0,absoluteTop:0,marginTop:0});for(let k=y.firstCol;k<=y.lastCol;k+=1)p[k].push({seg:Dv(y,k,k+1,a),isVisible:!1,isAbsolute:!1,absoluteTop:0,marginTop:0})}for(let y=0;y<a.length;y+=1)h.push(0);for(let y of d){let k=r[y.index],T=y.span;m[T.start].push({seg:Dv(k,T.start,T.end,a),isVisible:!1,isAbsolute:!0,absoluteTop:0,marginTop:0});for(let w=T.start;w<T.end;w+=1)h[w]+=1,p[w].push({seg:Dv(k,w,w+1,a),isVisible:!1,isAbsolute:!1,absoluteTop:0,marginTop:0})}for(let y=0;y<a.length;y+=1)g.push(f[y]);return{singleColPlacements:p,multiColPlacements:m,moreCnts:h,moreMarginTops:g}}function dit(r,e,t){let n=uit(r,t.length),i=[],s=[],a=[];for(let o=0;o<t.length;o+=1){let l=n[o],c=[],d=0,u=0;for(let m of l){let f=e[m.index];c.push({seg:Dv(f,o,o+1,t),isVisible:!0,isAbsolute:!1,absoluteTop:m.levelCoord,marginTop:m.levelCoord-d}),d=m.levelCoord+m.thickness}let p=[];d=0,u=0;for(let m of l){let f=e[m.index],h=m.span.end-m.span.start>1,g=m.span.start===o;u+=m.levelCoord-d,d=m.levelCoord+m.thickness,h?(u+=m.thickness,g&&p.push({seg:Dv(f,m.span.start,m.span.end,t),isVisible:!0,isAbsolute:!0,absoluteTop:m.levelCoord,marginTop:0})):g&&(p.push({seg:Dv(f,m.span.start,m.span.end,t),isVisible:!0,isAbsolute:!1,absoluteTop:m.levelCoord,marginTop:u}),u=0)}i.push(c),s.push(p),a.push(u)}return{singleColPlacements:i,multiColPlacements:s,leftoverMargins:a}}function uit(r,e){let t=[];for(let n=0;n<e;n+=1)t.push([]);for(let n of r)for(let i=n.span.start;i<n.span.end;i+=1)t[i].push(n);return t}function Dv(r,e,t,n){if(r.firstCol===e&&r.lastCol===t-1)return r;let i=r.eventRange,s=i.range,a=ls(s,{start:n[e].date,end:Gr(n[t-1].date,1)});return Object.assign(Object.assign({},r),{firstCol:e,lastCol:t-1,eventRange:{def:i.def,ui:Object.assign(Object.assign({},i.ui),{durationEditable:!1}),instance:i.instance,range:a},isStart:r.isStart&&a.start.valueOf()===s.start.valueOf(),isEnd:r.isEnd&&a.end.valueOf()===s.end.valueOf()})}function pit(r,e){if(!r.length)return[];let t=mit(e);return r.map(n=>({seg:n,isVisible:!0,isAbsolute:!0,absoluteTop:t[n.eventRange.instance.instanceId],marginTop:0}))}function mit(r){let e={};for(let t of r)for(let n of t)e[n.seg.eventRange.instance.instanceId]=n.absoluteTop;return e}function fit(r,e){return dI(r.filter(hit),e)}function hit(r){return r.eventRange.def.allDay}function git(r,e){let t;return e.currentRangeUnit.match(/year|month/)&&(t=r.querySelector(`[data-date="${Vy(e.currentDate)}-01"]`)),t||(t=r.querySelector(`[data-date="${lp(e.currentDate)}"]`)),t}function J3(r,e){let t=new wf(r.renderRange,e);return new Sf(t,/year|month|week/.test(r.currentRangeUnit))}function X3(r){let{dateEnv:e,currentRange:t}=r,{start:n,end:i}=t,s;if(r.snapToWeek&&(n=e.startOfWeek(n),s=e.startOfWeek(i),s.valueOf()!==i.valueOf()&&(i=K_(s,1))),r.fixedWeekCount){let a=e.startOfWeek(e.startOfMonth(Gr(t.end,-1))),o=Math.ceil(Mz(a,i));i=K_(i,6-o)}return{start:n,end:i}}var Y3,d0e,uI,pI,G3,ait,K3,Z3,mI,Qx,Q3,Jx,Xx,fI,Cv,yit,hI=v(()=>{If();Zx();Y3=class extends Mn{constructor(){super(...arguments),this.headerElRef=nn()}renderSimpleLayout(e,t){let{props:n,context:i}=this,s=[],a=Mf(i.options);return e&&s.push({type:"header",key:"header",isSticky:a,chunk:{elRef:this.headerElRef,tableClassName:"fc-col-header",rowContent:e}}),s.push({type:"body",key:"body",liquid:!0,chunk:{content:t}}),_(Sa,{elClasses:["fc-daygrid"],viewSpec:i.viewSpec},_(sp,{liquid:!n.isHeightAuto&&!n.forPrint,collapsibleWidth:n.forPrint,cols:[],sections:s}))}renderHScrollLayout(e,t,n,i){let s=this.context.pluginHooks.scrollGridImpl;if(!s)throw new Error("No ScrollGrid implementation");let{props:a,context:o}=this,l=!a.forPrint&&Mf(o.options),c=!a.forPrint&&XS(o.options),d=[];return e&&d.push({type:"header",key:"header",isSticky:l,chunks:[{key:"main",elRef:this.headerElRef,tableClassName:"fc-col-header",rowContent:e}]}),d.push({type:"body",key:"body",liquid:!0,chunks:[{key:"main",content:t}]}),c&&d.push({type:"footer",key:"footer",isSticky:!0,chunks:[{key:"main",content:Xy}]}),_(Sa,{elClasses:["fc-daygrid"],viewSpec:o.viewSpec},_(s,{liquid:!a.isHeightAuto&&!a.forPrint,forPrint:a.forPrint,collapsibleWidth:a.forPrint,colGroups:[{cols:[{span:n,minWidth:i}]}],sections:d}))}};d0e=zt({hour:"numeric",minute:"2-digit",omitZeroMinute:!0,meridiem:"narrow"});uI=class extends ht{render(){let{props:e}=this;return _(ap,Object.assign({},e,{elClasses:["fc-daygrid-event","fc-daygrid-block-event","fc-h-event"],defaultTimeFormat:d0e,defaultDisplayEventEnd:e.defaultDisplayEventEnd,disableResizing:!e.seg.eventRange.def.allDay}))}},pI=class extends ht{render(){let{props:e,context:t}=this,{options:n}=t,{seg:i}=e,s=n.eventTimeFormat||d0e,a=dp(i,s,t,!0,e.defaultDisplayEventEnd);return _(Dd,Object.assign({},e,{elTag:"a",elClasses:["fc-daygrid-event","fc-daygrid-dot-event"],elAttrs:Zy(e.seg,t),defaultGenerator:iit,timeText:a,isResizing:!1,isDateSelecting:!1}))}};G3=class extends ht{constructor(){super(...arguments),this.compileSegs=Se(sit)}render(){let{props:e}=this,{allSegs:t,invisibleSegs:n}=this.compileSegs(e.singlePlacements);return _(Df,{elClasses:["fc-daygrid-more-link"],dateProfile:e.dateProfile,todayRange:e.todayRange,allDayDate:e.allDayDate,moreCnt:e.moreCnt,allSegs:t,hiddenSegs:n,alignmentElRef:e.alignmentElRef,alignGridTop:e.alignGridTop,extraDateSpan:e.extraDateSpan,popoverContent:()=>{let i=(e.eventDrag?e.eventDrag.affectedInstances:null)||(e.eventResize?e.eventResize.affectedInstances:null)||{};return _(jt,null,t.map(s=>{let a=s.eventRange.instance.instanceId;return _("div",{className:"fc-daygrid-event-harness",key:a,style:{visibility:i[a]?"hidden":""}},u0e(s)?_(pI,Object.assign({seg:s,isDragging:!1,isSelected:a===e.eventSelection,defaultDisplayEventEnd:!1},Ea(s,e.todayRange))):_(uI,Object.assign({seg:s,isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:a===e.eventSelection,defaultDisplayEventEnd:!1},Ea(s,e.todayRange))))}))}})}};ait=zt({week:"narrow"}),K3=class extends Mn{constructor(){super(...arguments),this.rootElRef=nn(),this.state={dayNumberId:Fs()},this.handleRootEl=e=>{xa(this.rootElRef,e),xa(this.props.elRef,e)}}render(){let{context:e,props:t,state:n,rootElRef:i}=this,{options:s,dateEnv:a}=e,{date:o,dateProfile:l}=t,c=t.showDayNumber&&lit(o,l.currentRange,a);return _(op,{elTag:"td",elRef:this.handleRootEl,elClasses:["fc-daygrid-day",...t.extraClassNames||[]],elAttrs:Object.assign(Object.assign(Object.assign({},t.extraDataAttrs),t.showDayNumber?{"aria-labelledby":n.dayNumberId}:{}),{role:"gridcell"}),defaultGenerator:oit,date:o,dateProfile:l,todayRange:t.todayRange,showDayNumber:t.showDayNumber,isMonthStart:c,extraRenderProps:t.extraRenderProps},(d,u)=>_("div",{ref:t.innerElRef,className:"fc-daygrid-day-frame fc-scrollgrid-sync-inner",style:{minHeight:t.minHeight}},t.showWeekNumber&&_(rx,{elTag:"a",elClasses:["fc-daygrid-week-number"],elAttrs:rc(e,o,"week"),date:o,defaultFormat:ait}),!u.isDisabled&&(t.showDayNumber||ev(s)||t.forceDayTop)?_("div",{className:"fc-daygrid-day-top"},_(d,{elTag:"a",elClasses:["fc-daygrid-day-number",c&&"fc-daygrid-month-start"],elAttrs:Object.assign(Object.assign({},rc(e,o)),{id:n.dayNumberId})})):t.showDayNumber?_("div",{className:"fc-daygrid-day-top",style:{visibility:"hidden"}},_("a",{className:"fc-daygrid-day-number"},"\xA0")):void 0,_("div",{className:"fc-daygrid-day-events",ref:t.fgContentElRef},t.fgContent,_("div",{className:"fc-daygrid-day-bottom",style:{marginTop:t.moreMarginTop}},_(G3,{allDayDate:o,singlePlacements:t.singlePlacements,moreCnt:t.moreCnt,alignmentElRef:i,alignGridTop:!t.showDayNumber,extraDateSpan:t.extraDateSpan,dateProfile:t.dateProfile,eventSelection:t.eventSelection,eventDrag:t.eventDrag,eventResize:t.eventResize,todayRange:t.todayRange}))),_("div",{className:"fc-daygrid-day-bg"},t.bgContent)))}};Z3=class extends kf{constructor(){super(...arguments),this.hiddenConsumes=!1,this.forceHidden={}}addSegs(e){let t=super.addSegs(e),{entriesByLevel:n}=this,i=s=>!this.forceHidden[Zl(s)];for(let s=0;s<n.length;s+=1)n[s]=n[s].filter(i);return t}handleInvalidInsertion(e,t,n){let{entriesByLevel:i,forceHidden:s}=this,{touchingEntry:a,touchingLevel:o,touchingLateral:l}=e;if(this.hiddenConsumes&&a){let c=Zl(a);if(!s[c])if(this.allowReslicing){let d=Object.assign(Object.assign({},a),{span:ZS(a.span,t.span)}),u=Zl(d);s[u]=!0,i[o][l]=d,n.push(d),this.splitEntry(a,t,n)}else s[c]=!0,n.push(a)}super.handleInvalidInsertion(e,t,n)}},mI=class extends Mn{constructor(){super(...arguments),this.cellElRefs=new Ls,this.frameElRefs=new Ls,this.fgElRefs=new Ls,this.segHarnessRefs=new Ls,this.rootElRef=nn(),this.state={framePositions:null,maxContentHeight:null,segHeights:{}},this.handleResize=e=>{e&&this.updateSizing(!0)}}render(){let{props:e,state:t,context:n}=this,{options:i}=n,s=e.cells.length,a=cI(e.businessHourSegs,s),o=cI(e.bgEventSegs,s),l=cI(this.getHighlightSegs(),s),c=cI(this.getMirrorSegs(),s),{singleColPlacements:d,multiColPlacements:u,moreCnts:p,moreMarginTops:m}=cit(Pf(e.fgEventSegs,i.eventOrder),e.dayMaxEvents,e.dayMaxEventRows,i.eventOrderStrict,t.segHeights,t.maxContentHeight,e.cells),f=e.eventDrag&&e.eventDrag.affectedInstances||e.eventResize&&e.eventResize.affectedInstances||{};return _("tr",{ref:this.rootElRef,role:"row"},e.renderIntro&&e.renderIntro(),e.cells.map((h,g)=>{let y=this.renderFgSegs(g,e.forPrint?d[g]:u[g],e.todayRange,f),k=this.renderFgSegs(g,pit(c[g],u),e.todayRange,{},!!e.eventDrag,!!e.eventResize,!1);return _(K3,{key:h.key,elRef:this.cellElRefs.createRef(h.key),innerElRef:this.frameElRefs.createRef(h.key),dateProfile:e.dateProfile,date:h.date,showDayNumber:e.showDayNumbers,showWeekNumber:e.showWeekNumbers&&g===0,forceDayTop:e.showWeekNumbers,todayRange:e.todayRange,eventSelection:e.eventSelection,eventDrag:e.eventDrag,eventResize:e.eventResize,extraRenderProps:h.extraRenderProps,extraDataAttrs:h.extraDataAttrs,extraClassNames:h.extraClassNames,extraDateSpan:h.extraDateSpan,moreCnt:p[g],moreMarginTop:m[g],singlePlacements:d[g],fgContentElRef:this.fgElRefs.createRef(h.key),fgContent:_(jt,null,_(jt,null,y),_(jt,null,k)),bgContent:_(jt,null,this.renderFillSegs(l[g],"highlight"),this.renderFillSegs(a[g],"non-business"),this.renderFillSegs(o[g],"bg-event")),minHeight:e.cellMinHeight})}))}componentDidMount(){this.updateSizing(!0),this.context.addResizeHandler(this.handleResize)}componentDidUpdate(e,t){let n=this.props;this.updateSizing(!zi(e,n))}componentWillUnmount(){this.context.removeResizeHandler(this.handleResize)}getHighlightSegs(){let{props:e}=this;return e.eventDrag&&e.eventDrag.segs.length?e.eventDrag.segs:e.eventResize&&e.eventResize.segs.length?e.eventResize.segs:e.dateSelectionSegs}getMirrorSegs(){let{props:e}=this;return e.eventResize&&e.eventResize.segs.length?e.eventResize.segs:[]}renderFgSegs(e,t,n,i,s,a,o){let{context:l}=this,{eventSelection:c}=this.props,{framePositions:d}=this.state,u=this.props.cells.length===1,p=s||a||o,m=[];if(d)for(let f of t){let{seg:h}=f,{instanceId:g}=h.eventRange.instance,y=f.isVisible&&!i[g],k=f.isAbsolute,T="",w="";k&&(l.isRtl?(w=0,T=d.lefts[h.lastCol]-d.lefts[h.firstCol]):(T=0,w=d.rights[h.firstCol]-d.rights[h.lastCol])),m.push(_("div",{className:"fc-daygrid-event-harness"+(k?" fc-daygrid-event-harness-abs":""),key:p0e(h),ref:p?null:this.segHarnessRefs.createRef(m0e(h)),style:{visibility:y?"":"hidden",marginTop:k?"":f.marginTop,top:k?f.absoluteTop:"",left:T,right:w}},u0e(h)?_(pI,Object.assign({seg:h,isDragging:s,isSelected:g===c,defaultDisplayEventEnd:u},Ea(h,n))):_(uI,Object.assign({seg:h,isDragging:s,isResizing:a,isDateSelecting:o,isSelected:g===c,defaultDisplayEventEnd:u},Ea(h,n)))))}return m}renderFillSegs(e,t){let{isRtl:n}=this.context,{todayRange:i}=this.props,{framePositions:s}=this.state,a=[];if(s)for(let o of e){let l=n?{right:0,left:s.lefts[o.lastCol]-s.lefts[o.firstCol]}:{left:0,right:s.rights[o.firstCol]-s.rights[o.lastCol]};a.push(_("div",{key:WS(o.eventRange),className:"fc-daygrid-bg-harness",style:l},t==="bg-event"?_(Ef,Object.assign({seg:o},Ea(o,i))):tx(t)))}return _(jt,{},...a)}updateSizing(e){let{props:t,state:n,frameElRefs:i}=this;if(!t.forPrint&&t.clientWidth!==null){if(e){let l=t.cells.map(c=>i.currentMap[c.key]);if(l.length){let c=this.rootElRef.current,d=new tl(c,l,!0,!1);(!n.framePositions||!n.framePositions.similarTo(d))&&this.setState({framePositions:new tl(c,l,!0,!1)})}}let s=this.state.segHeights,a=this.querySegHeights(),o=t.dayMaxEvents===!0||t.dayMaxEventRows===!0;this.safeSetState({segHeights:Object.assign(Object.assign({},s),a),maxContentHeight:o?this.computeMaxContentHeight():null})}}querySegHeights(){let e=this.segHarnessRefs.currentMap,t={};for(let n in e){let i=Math.round(e[n].getBoundingClientRect().height);t[n]=Math.max(t[n]||0,i)}return t}computeMaxContentHeight(){let e=this.props.cells[0].key,t=this.cellElRefs.currentMap[e],n=this.fgElRefs.currentMap[e];return t.getBoundingClientRect().bottom-n.getBoundingClientRect().top}getCellEls(){let e=this.cellElRefs.currentMap;return this.props.cells.map(t=>e[t.key])}};mI.addStateEquality({segHeights:zi});Qx=class extends Mn{constructor(){super(...arguments),this.splitBusinessHourSegs=Se(dI),this.splitBgEventSegs=Se(fit),this.splitFgEventSegs=Se(dI),this.splitDateSelectionSegs=Se(dI),this.splitEventDrag=Se(c0e),this.splitEventResize=Se(c0e),this.rowRefs=new Ls}render(){let{props:e,context:t}=this,n=e.cells.length,i=this.splitBusinessHourSegs(e.businessHourSegs,n),s=this.splitBgEventSegs(e.bgEventSegs,n),a=this.splitFgEventSegs(e.fgEventSegs,n),o=this.splitDateSelectionSegs(e.dateSelectionSegs,n),l=this.splitEventDrag(e.eventDrag,n),c=this.splitEventResize(e.eventResize,n),d=n>=7&&e.clientWidth?e.clientWidth/t.options.aspectRatio/6:null;return _(Os,{unit:"day"},(u,p)=>_(jt,null,e.cells.map((m,f)=>_(mI,{ref:this.rowRefs.createRef(f),key:m.length?m[0].date.toISOString():f,showDayNumbers:n>1,showWeekNumbers:e.showWeekNumbers,todayRange:p,dateProfile:e.dateProfile,cells:m,renderIntro:e.renderRowIntro,businessHourSegs:i[f],eventSelection:e.eventSelection,bgEventSegs:s[f],fgEventSegs:a[f],dateSelectionSegs:o[f],eventDrag:l[f],eventResize:c[f],dayMaxEvents:e.dayMaxEvents,dayMaxEventRows:e.dayMaxEventRows,clientWidth:e.clientWidth,clientHeight:e.clientHeight,cellMinHeight:d,forPrint:e.forPrint}))))}componentDidMount(){this.registerInteractiveComponent()}componentDidUpdate(){this.registerInteractiveComponent()}registerInteractiveComponent(){if(!this.rootEl){let e=this.rowRefs.currentMap[0].getCellEls()[0],t=e?e.closest(".fc-daygrid-body"):null;t&&(this.rootEl=t,this.context.registerInteractiveComponent(this,{el:t,isHitComboAllowed:this.props.isHitComboAllowed}))}}componentWillUnmount(){this.rootEl&&(this.context.unregisterInteractiveComponent(this),this.rootEl=null)}prepareHits(){this.rowPositions=new tl(this.rootEl,this.rowRefs.collect().map(e=>e.getCellEls()[0]),!1,!0),this.colPositions=new tl(this.rootEl,this.rowRefs.currentMap[0].getCellEls(),!0,!1)}queryHit(e,t){let{colPositions:n,rowPositions:i}=this,s=n.leftToIndex(e),a=i.topToIndex(t);if(a!=null&&s!=null){let o=this.props.cells[a][s];return{dateProfile:this.props.dateProfile,dateSpan:Object.assign({range:this.getCellRange(a,s),allDay:!0},o.extraDateSpan),dayEl:this.getCellEl(a,s),rect:{left:n.lefts[s],right:n.rights[s],top:i.tops[a],bottom:i.bottoms[a]},layer:0}}return null}getCellEl(e,t){return this.rowRefs.currentMap[e].getCellEls()[t]}getCellRange(e,t){let n=this.props.cells[e][t].date,i=Gr(n,1);return{start:n,end:i}}};Q3=class extends Mn{constructor(){super(...arguments),this.elRef=nn(),this.needsScrollReset=!1}render(){let{props:e}=this,{dayMaxEventRows:t,dayMaxEvents:n,expandRows:i}=e,s=n===!0||t===!0;s&&!i&&(s=!1,t=null,n=null);let a=["fc-daygrid-body",s?"fc-daygrid-body-balanced":"fc-daygrid-body-unbalanced",i?"":"fc-daygrid-body-natural"];return _("div",{ref:this.elRef,className:a.join(" "),style:{width:e.clientWidth,minWidth:e.tableMinWidth}},_("table",{role:"presentation",className:"fc-scrollgrid-sync-table",style:{width:e.clientWidth,minWidth:e.tableMinWidth,height:i?e.clientHeight:""}},e.colGroupNode,_("tbody",{role:"presentation"},_(Qx,{dateProfile:e.dateProfile,cells:e.cells,renderRowIntro:e.renderRowIntro,showWeekNumbers:e.showWeekNumbers,clientWidth:e.clientWidth,clientHeight:e.clientHeight,businessHourSegs:e.businessHourSegs,bgEventSegs:e.bgEventSegs,fgEventSegs:e.fgEventSegs,dateSelectionSegs:e.dateSelectionSegs,eventSelection:e.eventSelection,eventDrag:e.eventDrag,eventResize:e.eventResize,dayMaxEvents:n,dayMaxEventRows:t,forPrint:e.forPrint,isHitComboAllowed:e.isHitComboAllowed}))))}componentDidMount(){this.requestScrollReset()}componentDidUpdate(e){e.dateProfile!==this.props.dateProfile?this.requestScrollReset():this.flushScrollReset()}requestScrollReset(){this.needsScrollReset=!0,this.flushScrollReset()}flushScrollReset(){if(this.needsScrollReset&&this.props.clientWidth){let e=git(this.elRef.current,this.props.dateProfile);if(e){let t=e.closest(".fc-daygrid-body"),n=t.closest(".fc-scroller"),i=e.getBoundingClientRect().top-t.getBoundingClientRect().top;n.scrollTop=i?i+1:0}this.needsScrollReset=!1}}};Jx=class extends xf{constructor(){super(...arguments),this.forceDayIfListItem=!0}sliceRange(e,t){return t.sliceRange(e)}},Xx=class extends Mn{constructor(){super(...arguments),this.slicer=new Jx,this.tableRef=nn()}render(){let{props:e,context:t}=this;return _(Q3,Object.assign({ref:this.tableRef},this.slicer.sliceProps(e,e.dateProfile,e.nextDayThreshold,t,e.dayTableModel),{dateProfile:e.dateProfile,cells:e.dayTableModel.cells,colGroupNode:e.colGroupNode,tableMinWidth:e.tableMinWidth,renderRowIntro:e.renderRowIntro,dayMaxEvents:e.dayMaxEvents,dayMaxEventRows:e.dayMaxEventRows,showWeekNumbers:e.showWeekNumbers,expandRows:e.expandRows,headerAlignElRef:e.headerAlignElRef,clientWidth:e.clientWidth,clientHeight:e.clientHeight,forPrint:e.forPrint}))}},fI=class extends Y3{constructor(){super(...arguments),this.buildDayTableModel=Se(J3),this.headerRef=nn(),this.tableRef=nn()}render(){let{options:e,dateProfileGenerator:t}=this.context,{props:n}=this,i=this.buildDayTableModel(n.dateProfile,t),s=e.dayHeaders&&_(Ed,{ref:this.headerRef,dateProfile:n.dateProfile,dates:i.headerDates,datesRepDistinctDays:i.rowCnt===1}),a=o=>_(Xx,{ref:this.tableRef,dateProfile:n.dateProfile,dayTableModel:i,businessHours:n.businessHours,dateSelection:n.dateSelection,eventStore:n.eventStore,eventUiBases:n.eventUiBases,eventSelection:n.eventSelection,eventDrag:n.eventDrag,eventResize:n.eventResize,nextDayThreshold:e.nextDayThreshold,colGroupNode:o.tableColGroupNode,tableMinWidth:o.tableMinWidth,dayMaxEvents:e.dayMaxEvents,dayMaxEventRows:e.dayMaxEventRows,showWeekNumbers:e.weekNumbers,expandRows:!n.isHeightAuto,headerAlignElRef:this.headerElRef,clientWidth:o.clientWidth,clientHeight:o.clientHeight,forPrint:n.forPrint});return e.dayMinWidth?this.renderHScrollLayout(s,a,i.colCnt,e.dayMinWidth):this.renderSimpleLayout(s,a)}};Cv=class extends yf{buildRenderRange(e,t,n){let i=super.buildRenderRange(e,t,n),{props:s}=this;return X3({currentRange:i,snapToWeek:/^(year|month)$/.test(t),fixedWeekCount:s.fixedWeekCount,dateEnv:s.dateEnv})}};yit=':root{--fc-daygrid-event-dot-width:8px}.fc-daygrid-day-events:after,.fc-daygrid-day-events:before,.fc-daygrid-day-frame:after,.fc-daygrid-day-frame:before,.fc-daygrid-event-harness:after,.fc-daygrid-event-harness:before{clear:both;content:"";display:table}.fc .fc-daygrid-body{position:relative;z-index:1}.fc .fc-daygrid-day.fc-day-today{background-color:var(--fc-today-bg-color)}.fc .fc-daygrid-day-frame{min-height:100%;position:relative}.fc .fc-daygrid-day-top{display:flex;flex-direction:row-reverse}.fc .fc-day-other .fc-daygrid-day-top{opacity:.3}.fc .fc-daygrid-day-number{padding:4px;position:relative;z-index:4}.fc .fc-daygrid-month-start{font-size:1.1em;font-weight:700}.fc .fc-daygrid-day-events{margin-top:1px}.fc .fc-daygrid-body-balanced .fc-daygrid-day-events{left:0;position:absolute;right:0}.fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events{min-height:2em;position:relative}.fc .fc-daygrid-body-natural .fc-daygrid-day-events{margin-bottom:1em}.fc .fc-daygrid-event-harness{position:relative}.fc .fc-daygrid-event-harness-abs{left:0;position:absolute;right:0;top:0}.fc .fc-daygrid-bg-harness{bottom:0;position:absolute;top:0}.fc .fc-daygrid-day-bg .fc-non-business{z-index:1}.fc .fc-daygrid-day-bg .fc-bg-event{z-index:2}.fc .fc-daygrid-day-bg .fc-highlight{z-index:3}.fc .fc-daygrid-event{margin-top:1px;z-index:6}.fc .fc-daygrid-event.fc-event-mirror{z-index:7}.fc .fc-daygrid-day-bottom{font-size:.85em;margin:0 2px}.fc .fc-daygrid-day-bottom:after,.fc .fc-daygrid-day-bottom:before{clear:both;content:"";display:table}.fc .fc-daygrid-more-link{border-radius:3px;cursor:pointer;line-height:1;margin-top:1px;max-width:100%;overflow:hidden;padding:2px;position:relative;white-space:nowrap;z-index:4}.fc .fc-daygrid-more-link:hover{background-color:rgba(0,0,0,.1)}.fc .fc-daygrid-week-number{background-color:var(--fc-neutral-bg-color);color:var(--fc-neutral-text-color);min-width:1.5em;padding:2px;position:absolute;text-align:center;top:0;z-index:5}.fc .fc-more-popover .fc-popover-body{min-width:220px;padding:10px}.fc-direction-ltr .fc-daygrid-event.fc-event-start,.fc-direction-rtl .fc-daygrid-event.fc-event-end{margin-left:2px}.fc-direction-ltr .fc-daygrid-event.fc-event-end,.fc-direction-rtl .fc-daygrid-event.fc-event-start{margin-right:2px}.fc-direction-ltr .fc-daygrid-more-link{float:left}.fc-direction-ltr .fc-daygrid-week-number{border-radius:0 0 3px 0;left:0}.fc-direction-rtl .fc-daygrid-more-link{float:right}.fc-direction-rtl .fc-daygrid-week-number{border-radius:0 0 0 3px;right:0}.fc-liquid-hack .fc-daygrid-day-frame{position:static}.fc-daygrid-event{border-radius:3px;font-size:var(--fc-small-font-size);position:relative;white-space:nowrap}.fc-daygrid-block-event .fc-event-time{font-weight:700}.fc-daygrid-block-event .fc-event-time,.fc-daygrid-block-event .fc-event-title{padding:1px}.fc-daygrid-dot-event{align-items:center;display:flex;padding:2px 0}.fc-daygrid-dot-event .fc-event-title{flex-grow:1;flex-shrink:1;font-weight:700;min-width:0;overflow:hidden}.fc-daygrid-dot-event.fc-event-mirror,.fc-daygrid-dot-event:hover{background:rgba(0,0,0,.1)}.fc-daygrid-dot-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-daygrid-event-dot{border:calc(var(--fc-daygrid-event-dot-width)/2) solid var(--fc-event-border-color);border-radius:calc(var(--fc-daygrid-event-dot-width)/2);box-sizing:content-box;height:0;margin:0 4px;width:0}.fc-direction-ltr .fc-daygrid-event .fc-event-time{margin-right:3px}.fc-direction-rtl .fc-daygrid-event .fc-event-time{margin-left:3px}';Ql(yit)});var f0e,h0e=v(()=>{Af();hI();f0e=Bi({name:"@fullcalendar/daygrid",initialView:"dayGridMonth",views:{dayGrid:{component:fI,dateProfileGeneratorClass:Cv},dayGridDay:{type:"dayGrid",duration:{days:1}},dayGridWeek:{type:"dayGrid",duration:{weeks:1}},dayGridMonth:{type:"dayGrid",duration:{months:1},fixedWeekCount:!0},dayGridYear:{type:"dayGrid",duration:{years:1}}}})});function T0e(r){let e=["fc-timegrid-slot","fc-timegrid-slot-label",r.isLabeled?"fc-scrollgrid-shrink":"fc-timegrid-slot-minor"];return _(lo.Consumer,null,t=>{if(!r.isLabeled)return _("td",{className:e.join(" "),"data-time":r.isoTimeStr});let{dateEnv:n,options:i,viewApi:s}=t,a=i.slotLabelFormat==null?vit:Array.isArray(i.slotLabelFormat)?zt(i.slotLabelFormat[0]):zt(i.slotLabelFormat),o={level:0,time:r.time,date:n.toDate(r.date),view:s,text:n.format(r.date,a)};return _(fn,{elTag:"td",elClasses:e,elAttrs:{"data-time":r.isoTimeStr},renderProps:o,generatorName:"slotLabelContent",customGenerator:i.slotLabelContent,defaultGenerator:bit,classNameGenerator:i.slotLabelClassNames,didMount:i.slotLabelDidMount,willUnmount:i.slotLabelWillUnmount},l=>_("div",{className:"fc-timegrid-slot-label-frame fc-scrollgrid-shrink-frame"},_(l,{elTag:"div",elClasses:["fc-timegrid-slot-label-cushion","fc-scrollgrid-shrink-cushion"]})))})}function bit(r){return r.text}function wit(r){return r.text}function Sit(r,e){return e.map(t=>r[t.key])}function eE(r,e){let t=[],n;for(n=0;n<e;n+=1)t.push([]);if(r)for(n=0;n<r.length;n+=1)t[r[n].col].push(r[n]);return t}function g0e(r,e){let t=[];if(r){for(let n=0;n<e;n+=1)t[n]={affectedInstances:r.affectedInstances,isEvent:r.isEvent,segs:[]};for(let n of r.segs)t[n.col].segs.push(n)}else for(let n=0;n<e;n+=1)t[n]=null;return t}function xit(r){return r.shortText}function Eit(r,e,t){let n=new kf;e!=null&&(n.strictOrder=e),t!=null&&(n.maxStackCnt=t);let i=n.addSegs(r),s=a2(i),a=Dit(n);return a=Mit(a,1),{segRects:Ait(a),hiddenGroups:s}}function Dit(r){let{entriesByLevel:e}=r,t=m9((n,i)=>n+":"+i,(n,i)=>{let s=_it(r,n,i),a=y0e(s,t),o=e[n][i];return[Object.assign(Object.assign({},o),{nextLevelNodes:a[0]}),o.thickness+a[1]]});return y0e(e.length?{level:0,lateralStart:0,lateralEnd:e[0].length}:null,t)[0]}function y0e(r,e){if(!r)return[[],0];let{level:t,lateralStart:n,lateralEnd:i}=r,s=n,a=[];for(;s<i;)a.push(e(t,s)),s+=1;return a.sort(Cit),[a.map(Pit),a[0][1]]}function Cit(r,e){return e[1]-r[1]}function Pit(r){return r[0]}function _it(r,e,t){let{levelCoords:n,entriesByLevel:i}=r,s=i[e][t],a=n[e]+s.thickness,o=n.length,l=e;for(;l<o&&n[l]<a;l+=1);for(;l<o;l+=1){let c=i[l],d,u=LS(c,s.span.start,OS),p=u[0]+u[1],m=p;for(;(d=c[m])&&d.span.start<s.span.end;)m+=1;if(p<m)return{level:l,lateralStart:p,lateralEnd:m}}return null}function Mit(r,e){let t=m9((n,i,s)=>Zl(n),(n,i,s)=>{let{nextLevelNodes:a,thickness:o}=n,l=o+s,c=o/l,d,u=[];if(!a.length)d=e;else for(let m of a)if(d===void 0){let f=t(m,i,l);d=f[0],u.push(f[1])}else{let f=t(m,d,0);u.push(f[1])}let p=(d-i)*c;return[d-p,Object.assign(Object.assign({},n),{thickness:p,nextLevelNodes:u})]});return r.map(n=>t(n,0,0)[1])}function Ait(r){let e=[],t=m9((i,s,a)=>Zl(i),(i,s,a)=>{let o=Object.assign(Object.assign({},i),{levelCoord:s,stackDepth:a,stackForward:0});return e.push(o),o.stackForward=n(i.nextLevelNodes,s+i.thickness,a+1)+1});function n(i,s,a){let o=0;for(let l of i)o=Math.max(t(l,s,a),o);return o}return n(r,0,0),e}function m9(r,e){let t={};return(...n)=>{let i=r(...n);return i in t?t[i]:t[i]=e(...n)}}function v0e(r,e,t=null,n=0){let i=[];if(t)for(let s=0;s<r.length;s+=1){let a=r[s],o=t.computeDateTop(a.start,e),l=Math.max(o+(n||0),t.computeDateTop(a.end,e));i.push({start:Math.round(o),end:Math.round(l)})}return i}function Iit(r,e,t,n){let i=[],s=[];for(let c=0;c<r.length;c+=1){let d=e[c];d?i.push({index:c,thickness:1,span:d}):s.push(r[c])}let{segRects:a,hiddenGroups:o}=Eit(i,t,n),l=[];for(let c of a)l.push({seg:r[c.index],rect:c});for(let c of s)l.push({seg:c,rect:null});return{segPlacements:l,hiddenGroups:o}}function k0e(r,{todayRange:e,nowDate:t,eventSelection:n,eventDrag:i,eventResize:s}){let a=(i?i.affectedInstances:null)||(s?s.affectedInstances:null)||{};return _(jt,null,r.map(o=>{let l=o.eventRange.instance.instanceId;return _("div",{key:l,style:{visibility:a[l]?"hidden":""}},_(gI,Object.assign({seg:o,isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:l===n,isShort:!1},Ea(o,e,t))))}))}function e9(r){return r?{top:r.start,bottom:-r.end}:{top:"",bottom:""}}function Rit(r,e){return r.map(t=>e[t.index])}function Oit(r,e){return e.map(t=>r[t.key])}function Lit(r,e){let t=e||r,n=BS(r,t);return n===null&&(t=r,n=1),{snapDuration:t,snapsPerSlot:n}}function Fit(r,e,t){let n=[];for(let i of r.headerDates)n.push({start:t.add(i,e.slotMinTime),end:t.add(i,e.slotMaxTime)});return n}function $it(r,e,t,n,i){let s=new Date(0),a=r,o=nt(0),l=t||jit(n),c=[];for(;wa(a)<wa(e);){let d=i.add(s,a),u=BS(o,l)!==null;c.push({date:d,time:a,key:d.toISOString(),isoTimeStr:Iz(d),isLabeled:u}),a=zS(a,n),o=zS(o,n)}return c}function jit(r){let e,t,n;for(e=b0e.length-1;e>=0;e-=1)if(t=nt(b0e[e]),n=BS(t,r),n!==null&&n>1)return t;return r}function zit(r,e){let t=new wf(r.renderRange,e);return new Sf(t,!1)}var t9,vit,r9,Tit,kit,n9,i9,s9,a9,o9,Nit,gI,l9,c9,d9,u9,p9,b0e,yI,Bit,w0e=v(()=>{If();Zx();hI();t9=class extends IS{getKeyInfo(){return{allDay:{},timed:{}}}getKeysForDateSpan(e){return e.allDay?["allDay"]:["timed"]}getKeysForEventDef(e){return e.allDay?Kz(e)?["timed","allDay"]:["allDay"]:["timed"]}},vit=zt({hour:"numeric",minute:"2-digit",omitZeroMinute:!0,meridiem:"short"});r9=class extends ht{render(){return this.props.slatMetas.map(e=>_("tr",{key:e.key},_(T0e,Object.assign({},e))))}},Tit=zt({week:"short"}),kit=5,n9=class extends Mn{constructor(){super(...arguments),this.allDaySplitter=new t9,this.headerElRef=nn(),this.rootElRef=nn(),this.scrollerElRef=nn(),this.state={slatCoords:null},this.handleScrollTopRequest=e=>{let t=this.scrollerElRef.current;t&&(t.scrollTop=e)},this.renderHeadAxis=(e,t="")=>{let{options:n}=this.context,{dateProfile:i}=this.props,s=i.renderRange,o=Xl(s.start,s.end)===1?rc(this.context,s.start,"week"):{};return n.weekNumbers&&e==="day"?_(rx,{elTag:"th",elClasses:["fc-timegrid-axis","fc-scrollgrid-shrink"],elAttrs:{"aria-hidden":!0},date:s.start,defaultFormat:Tit},l=>_("div",{className:["fc-timegrid-axis-frame","fc-scrollgrid-shrink-frame","fc-timegrid-axis-frame-liquid"].join(" "),style:{height:t}},_(l,{elTag:"a",elClasses:["fc-timegrid-axis-cushion","fc-scrollgrid-shrink-cushion","fc-scrollgrid-sync-inner"],elAttrs:o}))):_("th",{"aria-hidden":!0,className:"fc-timegrid-axis"},_("div",{className:"fc-timegrid-axis-frame",style:{height:t}}))},this.renderTableRowAxis=e=>{let{options:t,viewApi:n}=this.context,i={text:t.allDayText,view:n};return _(fn,{elTag:"td",elClasses:["fc-timegrid-axis","fc-scrollgrid-shrink"],elAttrs:{"aria-hidden":!0},renderProps:i,generatorName:"allDayContent",customGenerator:t.allDayContent,defaultGenerator:wit,classNameGenerator:t.allDayClassNames,didMount:t.allDayDidMount,willUnmount:t.allDayWillUnmount},s=>_("div",{className:["fc-timegrid-axis-frame","fc-scrollgrid-shrink-frame",e==null?" fc-timegrid-axis-frame-liquid":""].join(" "),style:{height:e}},_(s,{elTag:"span",elClasses:["fc-timegrid-axis-cushion","fc-scrollgrid-shrink-cushion","fc-scrollgrid-sync-inner"]})))},this.handleSlatCoords=e=>{this.setState({slatCoords:e})}}renderSimpleLayout(e,t,n){let{context:i,props:s}=this,a=[],o=Mf(i.options);return e&&a.push({type:"header",key:"header",isSticky:o,chunk:{elRef:this.headerElRef,tableClassName:"fc-col-header",rowContent:e}}),t&&(a.push({type:"body",key:"all-day",chunk:{content:t}}),a.push({type:"body",key:"all-day-divider",outerContent:_("tr",{role:"presentation",className:"fc-scrollgrid-section"},_("td",{className:"fc-timegrid-divider "+i.theme.getClass("tableCellShaded")}))})),a.push({type:"body",key:"body",liquid:!0,expandRows:!!i.options.expandRows,chunk:{scrollerElRef:this.scrollerElRef,content:n}}),_(Sa,{elRef:this.rootElRef,elClasses:["fc-timegrid"],viewSpec:i.viewSpec},_(sp,{liquid:!s.isHeightAuto&&!s.forPrint,collapsibleWidth:s.forPrint,cols:[{width:"shrink"}],sections:a}))}renderHScrollLayout(e,t,n,i,s,a,o){let l=this.context.pluginHooks.scrollGridImpl;if(!l)throw new Error("No ScrollGrid implementation");let{context:c,props:d}=this,u=!d.forPrint&&Mf(c.options),p=!d.forPrint&&XS(c.options),m=[];e&&m.push({type:"header",key:"header",isSticky:u,syncRowHeights:!0,chunks:[{key:"axis",rowContent:h=>_("tr",{role:"presentation"},this.renderHeadAxis("day",h.rowSyncHeights[0]))},{key:"cols",elRef:this.headerElRef,tableClassName:"fc-col-header",rowContent:e}]}),t&&(m.push({type:"body",key:"all-day",syncRowHeights:!0,chunks:[{key:"axis",rowContent:h=>_("tr",{role:"presentation"},this.renderTableRowAxis(h.rowSyncHeights[0]))},{key:"cols",content:t}]}),m.push({key:"all-day-divider",type:"body",outerContent:_("tr",{role:"presentation",className:"fc-scrollgrid-section"},_("td",{colSpan:2,className:"fc-timegrid-divider "+c.theme.getClass("tableCellShaded")}))}));let f=c.options.nowIndicator;return m.push({type:"body",key:"body",liquid:!0,expandRows:!!c.options.expandRows,chunks:[{key:"axis",content:h=>_("div",{className:"fc-timegrid-axis-chunk"},_("table",{"aria-hidden":!0,style:{height:h.expandRows?h.clientHeight:""}},h.tableColGroupNode,_("tbody",null,_(r9,{slatMetas:a}))),_("div",{className:"fc-timegrid-now-indicator-container"},_(Os,{unit:f?"minute":"day"},g=>{let y=f&&o&&o.safeComputeTop(g);return typeof y=="number"?_(ex,{elClasses:["fc-timegrid-now-indicator-arrow"],elStyle:{top:y},isAxis:!0,date:g}):null})))},{key:"cols",scrollerElRef:this.scrollerElRef,content:n}]}),p&&m.push({key:"footer",type:"footer",isSticky:!0,chunks:[{key:"axis",content:Xy},{key:"cols",content:Xy}]}),_(Sa,{elRef:this.rootElRef,elClasses:["fc-timegrid"],viewSpec:c.viewSpec},_(l,{liquid:!d.isHeightAuto&&!d.forPrint,forPrint:d.forPrint,collapsibleWidth:!1,colGroups:[{width:"shrink",cols:[{width:"shrink"}]},{cols:[{span:i,minWidth:s}]}],sections:m}))}getAllDayMaxEventProps(){let{dayMaxEvents:e,dayMaxEventRows:t}=this.context.options;return(e===!0||t===!0)&&(e=void 0,t=kit),{dayMaxEvents:e,dayMaxEventRows:t}}};i9=class{constructor(e,t,n){this.positions=e,this.dateProfile=t,this.slotDuration=n}safeComputeTop(e){let{dateProfile:t}=this;if(ao(t.currentRange,e)){let n=ar(e),i=e.valueOf()-n.valueOf();if(i>=wa(t.slotMinTime)&&i<wa(t.slotMaxTime))return this.computeTimeTop(nt(i))}return null}computeDateTop(e,t){return t||(t=ar(e)),this.computeTimeTop(nt(e.valueOf()-t.valueOf()))}computeTimeTop(e){let{positions:t,dateProfile:n}=this,i=t.els.length,s=(e.milliseconds-wa(n.slotMinTime))/wa(this.slotDuration),a,o;return s=Math.max(0,s),s=Math.min(i,s),a=Math.floor(s),a=Math.min(a,i-1),o=s-a,t.tops[a]+t.getHeight(a)*o}},s9=class extends ht{render(){let{props:e,context:t}=this,{options:n}=t,{slatElRefs:i}=e;return _("tbody",null,e.slatMetas.map((s,a)=>{let o={time:s.time,date:t.dateEnv.toDate(s.date),view:t.viewApi};return _("tr",{key:s.key,ref:i.createRef(s.key)},e.axis&&_(T0e,Object.assign({},s)),_(fn,{elTag:"td",elClasses:["fc-timegrid-slot","fc-timegrid-slot-lane",!s.isLabeled&&"fc-timegrid-slot-minor"],elAttrs:{"data-time":s.isoTimeStr},renderProps:o,generatorName:"slotLaneContent",customGenerator:n.slotLaneContent,classNameGenerator:n.slotLaneClassNames,didMount:n.slotLaneDidMount,willUnmount:n.slotLaneWillUnmount}))}))}},a9=class extends ht{constructor(){super(...arguments),this.rootElRef=nn(),this.slatElRefs=new Ls}render(){let{props:e,context:t}=this;return _("div",{ref:this.rootElRef,className:"fc-timegrid-slots"},_("table",{"aria-hidden":!0,className:t.theme.getClass("table"),style:{minWidth:e.tableMinWidth,width:e.clientWidth,height:e.minHeight}},e.tableColGroupNode,_(s9,{slatElRefs:this.slatElRefs,axis:e.axis,slatMetas:e.slatMetas})))}componentDidMount(){this.updateSizing()}componentDidUpdate(){this.updateSizing()}componentWillUnmount(){this.props.onCoords&&this.props.onCoords(null)}updateSizing(){let{context:e,props:t}=this;t.onCoords&&t.clientWidth!==null&&this.rootElRef.current.offsetHeight&&t.onCoords(new i9(new tl(this.rootElRef.current,Sit(this.slatElRefs.currentMap,t.slatMetas),!1,!0),this.props.dateProfile,e.options.slotDuration))}};o9=class extends ht{render(){let{props:e}=this;return _(Df,{elClasses:["fc-timegrid-more-link"],elStyle:{top:e.top,bottom:e.bottom},allDayDate:null,moreCnt:e.hiddenSegs.length,allSegs:e.hiddenSegs,hiddenSegs:e.hiddenSegs,extraDateSpan:e.extraDateSpan,dateProfile:e.dateProfile,todayRange:e.todayRange,popoverContent:()=>k0e(e.hiddenSegs,e),defaultGenerator:xit,forceTimed:!0},t=>_(t,{elTag:"div",elClasses:["fc-timegrid-more-link-inner","fc-sticky"]}))}};Nit=zt({hour:"numeric",minute:"2-digit",meridiem:!1}),gI=class extends ht{render(){return _(ap,Object.assign({},this.props,{elClasses:["fc-timegrid-event","fc-v-event",this.props.isShort&&"fc-timegrid-event-short"],defaultTimeFormat:Nit}))}},l9=class extends ht{constructor(){super(...arguments),this.sortEventSegs=Se(Pf)}render(){let{props:e,context:t}=this,{options:n}=t,i=n.selectMirror,s=e.eventDrag&&e.eventDrag.segs||e.eventResize&&e.eventResize.segs||i&&e.dateSelectionSegs||[],a=e.eventDrag&&e.eventDrag.affectedInstances||e.eventResize&&e.eventResize.affectedInstances||{},o=this.sortEventSegs(e.fgEventSegs,n.eventOrder);return _(op,{elTag:"td",elRef:e.elRef,elClasses:["fc-timegrid-col",...e.extraClassNames||[]],elAttrs:Object.assign({role:"gridcell"},e.extraDataAttrs),date:e.date,dateProfile:e.dateProfile,todayRange:e.todayRange,extraRenderProps:e.extraRenderProps},l=>_("div",{className:"fc-timegrid-col-frame"},_("div",{className:"fc-timegrid-col-bg"},this.renderFillSegs(e.businessHourSegs,"non-business"),this.renderFillSegs(e.bgEventSegs,"bg-event"),this.renderFillSegs(e.dateSelectionSegs,"highlight")),_("div",{className:"fc-timegrid-col-events"},this.renderFgSegs(o,a,!1,!1,!1)),_("div",{className:"fc-timegrid-col-events"},this.renderFgSegs(s,{},!!e.eventDrag,!!e.eventResize,!!i,"mirror")),_("div",{className:"fc-timegrid-now-indicator-container"},this.renderNowIndicator(e.nowIndicatorSegs)),ev(n)&&_(l,{elTag:"div",elClasses:["fc-timegrid-col-misc"]})))}renderFgSegs(e,t,n,i,s,a){let{props:o}=this;return o.forPrint?k0e(e,o):this.renderPositionedFgSegs(e,t,n,i,s,a)}renderPositionedFgSegs(e,t,n,i,s,a){let{eventMaxStack:o,eventShortHeight:l,eventOrderStrict:c,eventMinHeight:d}=this.context.options,{date:u,slatCoords:p,eventSelection:m,todayRange:f,nowDate:h}=this.props,g=n||i||s,y=v0e(e,u,p,d),{segPlacements:k,hiddenGroups:T}=Iit(e,y,c,o);return _(jt,null,this.renderHiddenGroups(T,e),k.map(w=>{let{seg:S,rect:E}=w,C=S.eventRange.instance.instanceId,D=g||!!(!t[C]&&E),A=e9(E&&E.span),N=!g&&E?this.computeSegHStyle(E):{left:0,right:0},V=!!E&&E.stackForward>0,R=!!E&&E.span.end-E.span.start<l;return _("div",{className:"fc-timegrid-event-harness"+(V?" fc-timegrid-event-harness-inset":""),key:a||C,style:Object.assign(Object.assign({visibility:D?"":"hidden"},A),N)},_(gI,Object.assign({seg:S,isDragging:n,isResizing:i,isDateSelecting:s,isSelected:C===m,isShort:R},Ea(S,f,h))))}))}renderHiddenGroups(e,t){let{extraDateSpan:n,dateProfile:i,todayRange:s,nowDate:a,eventSelection:o,eventDrag:l,eventResize:c}=this.props;return _(jt,null,e.map(d=>{let u=e9(d.span),p=Rit(d.entries,t);return _(o9,{key:Z_(oM(p)),hiddenSegs:p,top:u.top,bottom:u.bottom,extraDateSpan:n,dateProfile:i,todayRange:s,nowDate:a,eventSelection:o,eventDrag:l,eventResize:c})}))}renderFillSegs(e,t){let{props:n,context:i}=this,a=v0e(e,n.date,n.slatCoords,i.options.eventMinHeight).map((o,l)=>{let c=e[l];return _("div",{key:WS(c.eventRange),className:"fc-timegrid-bg-harness",style:e9(o)},t==="bg-event"?_(Ef,Object.assign({seg:c},Ea(c,n.todayRange,n.nowDate))):tx(t))});return _(jt,null,a)}renderNowIndicator(e){let{slatCoords:t,date:n}=this.props;return t?e.map((i,s)=>_(ex,{key:s,elClasses:["fc-timegrid-now-indicator-line"],elStyle:{top:t.computeDateTop(i.start,n)},isAxis:!1,date:n})):null}computeSegHStyle(e){let{isRtl:t,options:n}=this.context,i=n.slotEventOverlap,s=e.levelCoord,a=e.levelCoord+e.thickness,o,l;i&&(a=Math.min(1,s+(a-s)*2)),t?(o=1-a,l=s):(o=s,l=1-a);let c={zIndex:e.stackDepth+1,left:o*100+"%",right:l*100+"%"};return i&&!e.stackForward&&(c[t?"marginLeft":"marginRight"]=20),c}};c9=class extends ht{constructor(){super(...arguments),this.splitFgEventSegs=Se(eE),this.splitBgEventSegs=Se(eE),this.splitBusinessHourSegs=Se(eE),this.splitNowIndicatorSegs=Se(eE),this.splitDateSelectionSegs=Se(eE),this.splitEventDrag=Se(g0e),this.splitEventResize=Se(g0e),this.rootElRef=nn(),this.cellElRefs=new Ls}render(){let{props:e,context:t}=this,n=t.options.nowIndicator&&e.slatCoords&&e.slatCoords.safeComputeTop(e.nowDate),i=e.cells.length,s=this.splitFgEventSegs(e.fgEventSegs,i),a=this.splitBgEventSegs(e.bgEventSegs,i),o=this.splitBusinessHourSegs(e.businessHourSegs,i),l=this.splitNowIndicatorSegs(e.nowIndicatorSegs,i),c=this.splitDateSelectionSegs(e.dateSelectionSegs,i),d=this.splitEventDrag(e.eventDrag,i),u=this.splitEventResize(e.eventResize,i);return _("div",{className:"fc-timegrid-cols",ref:this.rootElRef},_("table",{role:"presentation",style:{minWidth:e.tableMinWidth,width:e.clientWidth}},e.tableColGroupNode,_("tbody",{role:"presentation"},_("tr",{role:"row"},e.axis&&_("td",{"aria-hidden":!0,className:"fc-timegrid-col fc-timegrid-axis"},_("div",{className:"fc-timegrid-col-frame"},_("div",{className:"fc-timegrid-now-indicator-container"},typeof n=="number"&&_(ex,{elClasses:["fc-timegrid-now-indicator-arrow"],elStyle:{top:n},isAxis:!0,date:e.nowDate})))),e.cells.map((p,m)=>_(l9,{key:p.key,elRef:this.cellElRefs.createRef(p.key),dateProfile:e.dateProfile,date:p.date,nowDate:e.nowDate,todayRange:e.todayRange,extraRenderProps:p.extraRenderProps,extraDataAttrs:p.extraDataAttrs,extraClassNames:p.extraClassNames,extraDateSpan:p.extraDateSpan,fgEventSegs:s[m],bgEventSegs:a[m],businessHourSegs:o[m],nowIndicatorSegs:l[m],dateSelectionSegs:c[m],eventDrag:d[m],eventResize:u[m],slatCoords:e.slatCoords,eventSelection:e.eventSelection,forPrint:e.forPrint}))))))}componentDidMount(){this.updateCoords()}componentDidUpdate(){this.updateCoords()}updateCoords(){let{props:e}=this;e.onColCoords&&e.clientWidth!==null&&e.onColCoords(new tl(this.rootElRef.current,Oit(this.cellElRefs.currentMap,e.cells),!0,!1))}};d9=class extends Mn{constructor(){super(...arguments),this.processSlotOptions=Se(Lit),this.state={slatCoords:null},this.handleRootEl=e=>{e?this.context.registerInteractiveComponent(this,{el:e,isHitComboAllowed:this.props.isHitComboAllowed}):this.context.unregisterInteractiveComponent(this)},this.handleScrollRequest=e=>{let{onScrollTopRequest:t}=this.props,{slatCoords:n}=this.state;if(t&&n){if(e.time){let i=n.computeTimeTop(e.time);i=Math.ceil(i),i&&(i+=1),t(i)}return!0}return!1},this.handleColCoords=e=>{this.colCoords=e},this.handleSlatCoords=e=>{this.setState({slatCoords:e}),this.props.onSlatCoords&&this.props.onSlatCoords(e)}}render(){let{props:e,state:t}=this;return _("div",{className:"fc-timegrid-body",ref:this.handleRootEl,style:{width:e.clientWidth,minWidth:e.tableMinWidth}},_(a9,{axis:e.axis,dateProfile:e.dateProfile,slatMetas:e.slatMetas,clientWidth:e.clientWidth,minHeight:e.expandRows?e.clientHeight:"",tableMinWidth:e.tableMinWidth,tableColGroupNode:e.axis?e.tableColGroupNode:null,onCoords:this.handleSlatCoords}),_(c9,{cells:e.cells,axis:e.axis,dateProfile:e.dateProfile,businessHourSegs:e.businessHourSegs,bgEventSegs:e.bgEventSegs,fgEventSegs:e.fgEventSegs,dateSelectionSegs:e.dateSelectionSegs,eventSelection:e.eventSelection,eventDrag:e.eventDrag,eventResize:e.eventResize,todayRange:e.todayRange,nowDate:e.nowDate,nowIndicatorSegs:e.nowIndicatorSegs,clientWidth:e.clientWidth,tableMinWidth:e.tableMinWidth,tableColGroupNode:e.tableColGroupNode,slatCoords:t.slatCoords,onColCoords:this.handleColCoords,forPrint:e.forPrint}))}componentDidMount(){this.scrollResponder=this.context.createScrollResponder(this.handleScrollRequest)}componentDidUpdate(e){this.scrollResponder.update(e.dateProfile!==this.props.dateProfile)}componentWillUnmount(){this.scrollResponder.detach()}queryHit(e,t){let{dateEnv:n,options:i}=this.context,{colCoords:s}=this,{dateProfile:a}=this.props,{slatCoords:o}=this.state,{snapDuration:l,snapsPerSlot:c}=this.processSlotOptions(this.props.slotDuration,i.snapDuration),d=s.leftToIndex(e),u=o.positions.topToIndex(t);if(d!=null&&u!=null){let p=this.props.cells[d],m=o.positions.tops[u],f=o.positions.getHeight(u),h=(t-m)/f,g=Math.floor(h*c),y=u*c+g,k=this.props.cells[d].date,T=zS(a.slotMinTime,_z(l,y)),w=n.add(k,T),S=n.add(w,l);return{dateProfile:a,dateSpan:Object.assign({range:{start:w,end:S},allDay:!1},p.extraDateSpan),dayEl:s.els[d],rect:{left:s.lefts[d],right:s.rights[d],top:m,bottom:m+f},layer:0}}return null}};u9=class extends xf{sliceRange(e,t){let n=[];for(let i=0;i<t.length;i+=1){let s=ls(e,t[i]);s&&n.push({start:s.start,end:s.end,isStart:s.start.valueOf()===e.start.valueOf(),isEnd:s.end.valueOf()===e.end.valueOf(),col:i})}return n}},p9=class extends Mn{constructor(){super(...arguments),this.buildDayRanges=Se(Fit),this.slicer=new u9,this.timeColsRef=nn()}render(){let{props:e,context:t}=this,{dateProfile:n,dayTableModel:i}=e,{nowIndicator:s,nextDayThreshold:a}=t.options,o=this.buildDayRanges(i,n,t.dateEnv);return _(Os,{unit:s?"minute":"day"},(l,c)=>_(d9,Object.assign({ref:this.timeColsRef},this.slicer.sliceProps(e,n,null,t,o),{forPrint:e.forPrint,axis:e.axis,dateProfile:n,slatMetas:e.slatMetas,slotDuration:e.slotDuration,cells:i.cells[0],tableColGroupNode:e.tableColGroupNode,tableMinWidth:e.tableMinWidth,clientWidth:e.clientWidth,clientHeight:e.clientHeight,expandRows:e.expandRows,nowDate:l,nowIndicatorSegs:s&&this.slicer.sliceNowDate(l,n,a,t,o),todayRange:c,onScrollTopRequest:e.onScrollTopRequest,onSlatCoords:e.onSlatCoords})))}};b0e=[{hours:1},{minutes:30},{minutes:15},{seconds:30},{seconds:15}];yI=class extends n9{constructor(){super(...arguments),this.buildTimeColsModel=Se(zit),this.buildSlatMetas=Se($it)}render(){let{options:e,dateEnv:t,dateProfileGenerator:n}=this.context,{props:i}=this,{dateProfile:s}=i,a=this.buildTimeColsModel(s,n),o=this.allDaySplitter.splitProps(i),l=this.buildSlatMetas(s.slotMinTime,s.slotMaxTime,e.slotLabelInterval,e.slotDuration,t),{dayMinWidth:c}=e,d=!c,u=c,p=e.dayHeaders&&_(Ed,{dates:a.headerDates,dateProfile:s,datesRepDistinctDays:!0,renderIntro:d?this.renderHeadAxis:null}),m=e.allDaySlot!==!1&&(h=>_(Xx,Object.assign({},o.allDay,{dateProfile:s,dayTableModel:a,nextDayThreshold:e.nextDayThreshold,tableMinWidth:h.tableMinWidth,colGroupNode:h.tableColGroupNode,renderRowIntro:d?this.renderTableRowAxis:null,showWeekNumbers:!1,expandRows:!1,headerAlignElRef:this.headerElRef,clientWidth:h.clientWidth,clientHeight:h.clientHeight,forPrint:i.forPrint},this.getAllDayMaxEventProps()))),f=h=>_(p9,Object.assign({},o.timed,{dayTableModel:a,dateProfile:s,axis:d,slotDuration:e.slotDuration,slatMetas:l,forPrint:i.forPrint,tableColGroupNode:h.tableColGroupNode,tableMinWidth:h.tableMinWidth,clientWidth:h.clientWidth,clientHeight:h.clientHeight,onSlatCoords:this.handleSlatCoords,expandRows:h.expandRows,onScrollTopRequest:this.handleScrollTopRequest}));return u?this.renderHScrollLayout(p,m,f,a.colCnt,c,l,this.state.slatCoords):this.renderSimpleLayout(p,m,f)}};Bit='.fc-v-event{background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);display:block}.fc-v-event .fc-event-main{color:var(--fc-event-text-color);height:100%}.fc-v-event .fc-event-main-frame{display:flex;flex-direction:column;height:100%}.fc-v-event .fc-event-time{flex-grow:0;flex-shrink:0;max-height:100%;overflow:hidden}.fc-v-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-height:0}.fc-v-event .fc-event-title{bottom:0;max-height:100%;overflow:hidden;top:0}.fc-v-event:not(.fc-event-start){border-top-left-radius:0;border-top-right-radius:0;border-top-width:0}.fc-v-event:not(.fc-event-end){border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-width:0}.fc-v-event.fc-event-selected:before{left:-10px;right:-10px}.fc-v-event .fc-event-resizer-start{cursor:n-resize}.fc-v-event .fc-event-resizer-end{cursor:s-resize}.fc-v-event:not(.fc-event-selected) .fc-event-resizer{height:var(--fc-event-resizer-thickness);left:0;right:0}.fc-v-event:not(.fc-event-selected) .fc-event-resizer-start{top:calc(var(--fc-event-resizer-thickness)/-2)}.fc-v-event:not(.fc-event-selected) .fc-event-resizer-end{bottom:calc(var(--fc-event-resizer-thickness)/-2)}.fc-v-event.fc-event-selected .fc-event-resizer{left:50%;margin-left:calc(var(--fc-event-resizer-dot-total-width)/-2)}.fc-v-event.fc-event-selected .fc-event-resizer-start{top:calc(var(--fc-event-resizer-dot-total-width)/-2)}.fc-v-event.fc-event-selected .fc-event-resizer-end{bottom:calc(var(--fc-event-resizer-dot-total-width)/-2)}.fc .fc-timegrid .fc-daygrid-body{z-index:2}.fc .fc-timegrid-divider{padding:0 0 2px}.fc .fc-timegrid-body{min-height:100%;position:relative;z-index:1}.fc .fc-timegrid-axis-chunk{position:relative}.fc .fc-timegrid-axis-chunk>table,.fc .fc-timegrid-slots{position:relative;z-index:1}.fc .fc-timegrid-slot{border-bottom:0;height:1.5em}.fc .fc-timegrid-slot:empty:before{content:"\\00a0"}.fc .fc-timegrid-slot-minor{border-top-style:dotted}.fc .fc-timegrid-slot-label-cushion{display:inline-block;white-space:nowrap}.fc .fc-timegrid-slot-label{vertical-align:middle}.fc .fc-timegrid-axis-cushion,.fc .fc-timegrid-slot-label-cushion{padding:0 4px}.fc .fc-timegrid-axis-frame-liquid{height:100%}.fc .fc-timegrid-axis-frame{align-items:center;display:flex;justify-content:flex-end;overflow:hidden}.fc .fc-timegrid-axis-cushion{flex-shrink:0;max-width:60px}.fc-direction-ltr .fc-timegrid-slot-label-frame{text-align:right}.fc-direction-rtl .fc-timegrid-slot-label-frame{text-align:left}.fc-liquid-hack .fc-timegrid-axis-frame-liquid{bottom:0;height:auto;left:0;position:absolute;right:0;top:0}.fc .fc-timegrid-col.fc-day-today{background-color:var(--fc-today-bg-color)}.fc .fc-timegrid-col-frame{min-height:100%;position:relative}.fc-media-screen.fc-liquid-hack .fc-timegrid-col-frame{bottom:0;height:auto;left:0;position:absolute;right:0;top:0}.fc-media-screen .fc-timegrid-cols{bottom:0;left:0;position:absolute;right:0;top:0}.fc-media-screen .fc-timegrid-cols>table{height:100%}.fc-media-screen .fc-timegrid-col-bg,.fc-media-screen .fc-timegrid-col-events,.fc-media-screen .fc-timegrid-now-indicator-container{left:0;position:absolute;right:0;top:0}.fc .fc-timegrid-col-bg{z-index:2}.fc .fc-timegrid-col-bg .fc-non-business{z-index:1}.fc .fc-timegrid-col-bg .fc-bg-event{z-index:2}.fc .fc-timegrid-col-bg .fc-highlight{z-index:3}.fc .fc-timegrid-bg-harness{left:0;position:absolute;right:0}.fc .fc-timegrid-col-events{z-index:3}.fc .fc-timegrid-now-indicator-container{bottom:0;overflow:hidden}.fc-direction-ltr .fc-timegrid-col-events{margin:0 2.5% 0 2px}.fc-direction-rtl .fc-timegrid-col-events{margin:0 2px 0 2.5%}.fc-timegrid-event-harness{position:absolute}.fc-timegrid-event-harness>.fc-timegrid-event{bottom:0;left:0;position:absolute;right:0;top:0}.fc-timegrid-event-harness-inset .fc-timegrid-event,.fc-timegrid-event.fc-event-mirror,.fc-timegrid-more-link{box-shadow:0 0 0 1px var(--fc-page-bg-color)}.fc-timegrid-event,.fc-timegrid-more-link{border-radius:3px;font-size:var(--fc-small-font-size)}.fc-timegrid-event{margin-bottom:1px}.fc-timegrid-event .fc-event-main{padding:1px 1px 0}.fc-timegrid-event .fc-event-time{font-size:var(--fc-small-font-size);margin-bottom:1px;white-space:nowrap}.fc-timegrid-event-short .fc-event-main-frame{flex-direction:row;overflow:hidden}.fc-timegrid-event-short .fc-event-time:after{content:"\\00a0-\\00a0"}.fc-timegrid-event-short .fc-event-title{font-size:var(--fc-small-font-size)}.fc-timegrid-more-link{background:var(--fc-more-link-bg-color);color:var(--fc-more-link-text-color);cursor:pointer;margin-bottom:1px;position:absolute;z-index:9999}.fc-timegrid-more-link-inner{padding:3px 2px;top:0}.fc-direction-ltr .fc-timegrid-more-link{right:0}.fc-direction-rtl .fc-timegrid-more-link{left:0}.fc .fc-timegrid-now-indicator-arrow,.fc .fc-timegrid-now-indicator-line{pointer-events:none}.fc .fc-timegrid-now-indicator-line{border-color:var(--fc-now-indicator-color);border-style:solid;border-width:1px 0 0;left:0;position:absolute;right:0;z-index:4}.fc .fc-timegrid-now-indicator-arrow{border-color:var(--fc-now-indicator-color);border-style:solid;margin-top:-5px;position:absolute;z-index:4}.fc-direction-ltr .fc-timegrid-now-indicator-arrow{border-bottom-color:transparent;border-top-color:transparent;border-width:5px 0 5px 6px;left:0}.fc-direction-rtl .fc-timegrid-now-indicator-arrow{border-bottom-color:transparent;border-top-color:transparent;border-width:5px 6px 5px 0;right:0}';Ql(Bit)});var qit,S0e,x0e=v(()=>{Af();w0e();qit={allDaySlot:Boolean},S0e=Bi({name:"@fullcalendar/timegrid",initialView:"timeGridWeek",optionRefiners:qit,views:{timeGrid:{component:yI,usesMinMaxTime:!0,allDaySlot:!0,slotDuration:"00:30:00",slotEventOverlap:!0},timeGridDay:{type:"timeGrid",duration:{days:1}},timeGridWeek:{type:"timeGrid",duration:{weeks:1}}}})});function Hit(r){return _(jt,null,r.text&&_("a",Object.assign({id:r.textId,className:"fc-list-day-text"},r.navLinkAttrs),r.text),r.sideText&&_("a",Object.assign({"aria-hidden":!0,className:"fc-list-day-side-text"},r.sideNavLinkAttrs),r.sideText))}function Vit(r,e){let t=Zy(r,e);return _("a",Object.assign({},t),r.eventRange.def.title)}function Wit(r,e,t,n,i){let{options:s}=t;if(s.displayEventTime!==!1){let a=r.eventRange.def,o=r.eventRange.instance,l=!1,c;if(a.allDay?l=!0:Bz(r.eventRange.range)?r.isStart?c=dp(r,e,t,null,null,o.range.start,r.end):r.isEnd?c=dp(r,e,t,null,null,r.start,o.range.end):l=!0:c=dp(r,e,t),l){let d={text:t.options.allDayText,view:t.viewApi};return _(fn,{elTag:"td",elClasses:["fc-list-event-time"],elAttrs:{headers:`${n} ${i}`},renderProps:d,generatorName:"allDayContent",customGenerator:s.allDayContent,defaultGenerator:Yit,classNameGenerator:s.allDayClassNames,didMount:s.allDayDidMount,willUnmount:s.allDayWillUnmount})}return _("td",{className:"fc-list-event-time"},c)}return null}function Yit(r){return r.text}function Git(r){return r.text}function Kit(r){let e=ar(r.renderRange.start),t=r.renderRange.end,n=[],i=[];for(;e<t;)n.push(e),i.push({start:e,end:Gr(e,1)}),e=Gr(e,1);return{dayDates:n,dayRanges:i}}function Zit(r){let e=[],t,n;for(t=0;t<r.length;t+=1)n=r[t],(e[n.dayIndex]||(e[n.dayIndex]=[])).push(n);return e}var f9,Uit,h9,vI,Qit,E0e=v(()=>{If();Zx();f9=class extends ht{constructor(){super(...arguments),this.state={textId:Fs()}}render(){let{theme:e,dateEnv:t,options:n,viewApi:i}=this.context,{cellId:s,dayDate:a,todayRange:o}=this.props,{textId:l}=this.state,c=GS(a,o),d=n.listDayFormat?t.format(a,n.listDayFormat):"",u=n.listDaySideFormat?t.format(a,n.listDaySideFormat):"",p=Object.assign({date:t.toDate(a),view:i,textId:l,text:d,sideText:u,navLinkAttrs:rc(this.context,a),sideNavLinkAttrs:rc(this.context,a,"day",!1)},c);return _(fn,{elTag:"tr",elClasses:["fc-list-day",...Qy(c,e)],elAttrs:{"data-date":lp(a)},renderProps:p,generatorName:"dayHeaderContent",customGenerator:n.dayHeaderContent,defaultGenerator:Hit,classNameGenerator:n.dayHeaderClassNames,didMount:n.dayHeaderDidMount,willUnmount:n.dayHeaderWillUnmount},m=>_("th",{scope:"colgroup",colSpan:3,id:s,"aria-labelledby":l},_(m,{elTag:"div",elClasses:["fc-list-day-cushion",e.getClass("tableCellShaded")]})))}};Uit=zt({hour:"numeric",minute:"2-digit",meridiem:"short"}),h9=class extends ht{render(){let{props:e,context:t}=this,{options:n}=t,{seg:i,timeHeaderId:s,eventHeaderId:a,dateHeaderId:o}=e,l=n.eventTimeFormat||Uit;return _(Dd,Object.assign({},e,{elTag:"tr",elClasses:["fc-list-event",i.eventRange.def.url&&"fc-event-forced-url"],defaultGenerator:()=>Vit(i,t),seg:i,timeText:"",disableDragging:!0,disableResizing:!0}),(c,d)=>_(jt,null,Wit(i,l,t,s,o),_("td",{"aria-hidden":!0,className:"fc-list-event-graphic"},_("span",{className:"fc-list-event-dot",style:{borderColor:d.borderColor||d.backgroundColor}})),_(c,{elTag:"td",elClasses:["fc-list-event-title"],elAttrs:{headers:`${a} ${o}`}})))}};vI=class extends Mn{constructor(){super(...arguments),this.computeDateVars=Se(Kit),this.eventStoreToSegs=Se(this._eventStoreToSegs),this.state={timeHeaderId:Fs(),eventHeaderId:Fs(),dateHeaderIdRoot:Fs()},this.setRootEl=e=>{e?this.context.registerInteractiveComponent(this,{el:e}):this.context.unregisterInteractiveComponent(this)}}render(){let{props:e,context:t}=this,{dayDates:n,dayRanges:i}=this.computeDateVars(e.dateProfile),s=this.eventStoreToSegs(e.eventStore,e.eventUiBases,i);return _(Sa,{elRef:this.setRootEl,elClasses:["fc-list",t.theme.getClass("table"),t.options.stickyHeaderDates!==!1?"fc-list-sticky":""],viewSpec:t.viewSpec},_(By,{liquid:!e.isHeightAuto,overflowX:e.isHeightAuto?"visible":"hidden",overflowY:e.isHeightAuto?"visible":"auto"},s.length>0?this.renderSegList(s,n):this.renderEmptyMessage()))}renderEmptyMessage(){let{options:e,viewApi:t}=this.context,n={text:e.noEventsText,view:t};return _(fn,{elTag:"div",elClasses:["fc-list-empty"],renderProps:n,generatorName:"noEventsContent",customGenerator:e.noEventsContent,defaultGenerator:Git,classNameGenerator:e.noEventsClassNames,didMount:e.noEventsDidMount,willUnmount:e.noEventsWillUnmount},i=>_(i,{elTag:"div",elClasses:["fc-list-empty-cushion"]}))}renderSegList(e,t){let{theme:n,options:i}=this.context,{timeHeaderId:s,eventHeaderId:a,dateHeaderIdRoot:o}=this.state,l=Zit(e);return _(Os,{unit:"day"},(c,d)=>{let u=[];for(let p=0;p<l.length;p+=1){let m=l[p];if(m){let f=lp(t[p]),h=o+"-"+f;u.push(_(f9,{key:f,cellId:h,dayDate:t[p],todayRange:d})),m=Pf(m,i.eventOrder);for(let g of m)u.push(_(h9,Object.assign({key:f+":"+g.eventRange.instance.instanceId,seg:g,isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:!1,timeHeaderId:s,eventHeaderId:a,dateHeaderId:h},Ea(g,d,c))))}}return _("table",{className:"fc-list-table "+n.getClass("table")},_("thead",null,_("tr",null,_("th",{scope:"col",id:s},i.timeHint),_("th",{scope:"col","aria-hidden":!0}),_("th",{scope:"col",id:a},i.eventHint))),_("tbody",null,u))})}_eventStoreToSegs(e,t,n){return this.eventRangesToSegs(zy(e,t,this.props.dateProfile.activeRange,this.context.options.nextDayThreshold).fg,n)}eventRangesToSegs(e,t){let n=[];for(let i of e)n.push(...this.eventRangeToSegs(i,t));return n}eventRangeToSegs(e,t){let{dateEnv:n}=this.context,{nextDayThreshold:i}=this.context.options,s=e.range,a=e.def.allDay,o,l,c,d=[];for(o=0;o<t.length;o+=1)if(l=ls(s,t[o]),l&&(c={component:this,eventRange:e,start:l.start,end:l.end,isStart:e.isStart&&l.start.valueOf()===s.start.valueOf(),isEnd:e.isEnd&&l.end.valueOf()===s.end.valueOf(),dayIndex:o},d.push(c),!c.isEnd&&!a&&o+1<t.length&&s.end<n.add(t[o+1].start,i))){c.end=s.end,c.isEnd=!0;break}return d}};Qit=':root{--fc-list-event-dot-width:10px;--fc-list-event-hover-bg-color:#f5f5f5}.fc-theme-standard .fc-list{border:1px solid var(--fc-border-color)}.fc .fc-list-empty{align-items:center;background-color:var(--fc-neutral-bg-color);display:flex;height:100%;justify-content:center}.fc .fc-list-empty-cushion{margin:5em 0}.fc .fc-list-table{border-style:hidden;width:100%}.fc .fc-list-table tr>*{border-left:0;border-right:0}.fc .fc-list-sticky .fc-list-day>*{background:var(--fc-page-bg-color);position:sticky;top:0}.fc .fc-list-table thead{left:-10000px;position:absolute}.fc .fc-list-table tbody>tr:first-child th{border-top:0}.fc .fc-list-table th{padding:0}.fc .fc-list-day-cushion,.fc .fc-list-table td{padding:8px 14px}.fc .fc-list-day-cushion:after{clear:both;content:"";display:table}.fc-theme-standard .fc-list-day-cushion{background-color:var(--fc-neutral-bg-color)}.fc-direction-ltr .fc-list-day-text,.fc-direction-rtl .fc-list-day-side-text{float:left}.fc-direction-ltr .fc-list-day-side-text,.fc-direction-rtl .fc-list-day-text{float:right}.fc-direction-ltr .fc-list-table .fc-list-event-graphic{padding-right:0}.fc-direction-rtl .fc-list-table .fc-list-event-graphic{padding-left:0}.fc .fc-list-event.fc-event-forced-url{cursor:pointer}.fc .fc-list-event:hover td{background-color:var(--fc-list-event-hover-bg-color)}.fc .fc-list-event-graphic,.fc .fc-list-event-time{white-space:nowrap;width:1px}.fc .fc-list-event-dot{border:calc(var(--fc-list-event-dot-width)/2) solid var(--fc-event-border-color);border-radius:calc(var(--fc-list-event-dot-width)/2);box-sizing:content-box;display:inline-block;height:0;width:0}.fc .fc-list-event-title a{color:inherit;text-decoration:none}.fc .fc-list-event.fc-event-forced-url:hover a{text-decoration:underline}';Ql(Qit)});function D0e(r){return r===!1?null:zt(r)}var Jit,C0e,P0e=v(()=>{Af();E0e();If();Jit={listDayFormat:D0e,listDaySideFormat:D0e,noEventsClassNames:F,noEventsContent:F,noEventsDidMount:F,noEventsWillUnmount:F};C0e=Bi({name:"@fullcalendar/list",optionRefiners:Jit,views:{list:{component:vI,buttonTextKey:"list",listDayFormat:{month:"long",day:"numeric",year:"numeric"}},listDay:{type:"list",duration:{days:1},listDayFormat:{weekday:"long"}},listWeek:{type:"list",duration:{weeks:1},listDayFormat:{weekday:"long"},listDaySideFormat:{month:"long",day:"numeric",year:"numeric"}},listMonth:{type:"list",duration:{month:1},listDaySideFormat:{weekday:"long"}},listYear:{type:"list",duration:{year:1},listDaySideFormat:{weekday:"long"}}}})});function est(r,e,t,n,i){let{start:s,end:a}=e.currentRange,o=s,l=[];for(;o.valueOf()<a.valueOf();){let c=t.add(o,Xit),d={start:r.skipHiddenDays(o),end:r.skipHiddenDays(c,-1,!0)},u=X3({currentRange:d,snapToWeek:!0,fixedWeekCount:n,dateEnv:t});u={start:r.skipHiddenDays(u.start),end:r.skipHiddenDays(u.end,-1,!0)};let p=e.activeRange?ls(e.activeRange,i?u:d):null;l.push({currentDate:e.currentDate,isValid:e.isValid,validRange:e.validRange,renderRange:u,activeRange:p,currentRange:d,currentRangeUnit:"month",isRangeAllDay:!0,dateIncrement:e.dateIncrement,slotMinTime:e.slotMaxTime,slotMaxTime:e.slotMinTime}),o=c}return l}function nst(r,e){return r||(e[0].currentRange.start.getUTCFullYear()!==e[e.length-1].currentRange.start.getUTCFullYear()?tst:rst)}var g9,y9,Xit,tst,rst,ist,sst,_0e,M0e=v(()=>{Af();hI();If();Zx();g9=class extends Mn{constructor(){super(...arguments),this.buildDayTableModel=Se(J3),this.slicer=new Jx,this.state={labelId:Fs()}}render(){let{props:e,state:t,context:n}=this,{dateProfile:i,forPrint:s}=e,{options:a}=n,o=this.buildDayTableModel(i,n.dateProfileGenerator),l=this.slicer.sliceProps(e,i,a.nextDayThreshold,n,o),c=e.tableWidth!=null?e.tableWidth/a.aspectRatio:null,d=o.cells.length,u=c!=null?c/d:null;return _("div",{ref:e.elRef,"data-date":e.isoDateStr,className:"fc-multimonth-month",style:{width:e.width},role:"grid","aria-labelledby":t.labelId},_("div",{className:"fc-multimonth-header",style:{marginBottom:u},role:"presentation"},_("div",{className:"fc-multimonth-title",id:t.labelId},n.dateEnv.format(e.dateProfile.currentRange.start,e.titleFormat)),_("table",{className:["fc-multimonth-header-table",n.theme.getClass("table")].join(" "),role:"presentation"},_("thead",{role:"rowgroup"},_(Ed,{dateProfile:e.dateProfile,dates:o.headerDates,datesRepDistinctDays:!1})))),_("div",{className:["fc-multimonth-daygrid","fc-daygrid","fc-daygrid-body",!s&&"fc-daygrid-body-balanced",s&&"fc-daygrid-body-unbalanced",s&&"fc-daygrid-body-natural"].join(" "),style:{marginTop:-u}},_("table",{className:["fc-multimonth-daygrid-table",n.theme.getClass("table")].join(" "),style:{height:s?"":c},role:"presentation"},_("tbody",{role:"rowgroup"},_(Qx,Object.assign({},l,{dateProfile:i,cells:o.cells,eventSelection:e.eventSelection,dayMaxEvents:!s,dayMaxEventRows:!s,showWeekNumbers:a.weekNumbers,clientWidth:e.clientWidth,clientHeight:e.clientHeight,forPrint:s}))))))}},y9=class extends Mn{constructor(){super(...arguments),this.splitDateProfileByMonth=Se(est),this.buildMonthFormat=Se(nst),this.scrollElRef=nn(),this.firstMonthElRef=nn(),this.needsScrollReset=!1,this.handleSizing=e=>{e&&this.updateSize()}}render(){let{context:e,props:t,state:n}=this,{options:i}=e,{clientWidth:s,clientHeight:a}=n,o=n.monthHPadding||0,l=Math.min(s!=null?Math.floor(s/(i.multiMonthMinWidth+o)):1,i.multiMonthMaxColumns)||1,c=100/l+"%",d=s==null?null:s/l-o,u=s!=null&&l===1,p=this.splitDateProfileByMonth(e.dateProfileGenerator,t.dateProfile,e.dateEnv,u?!1:i.fixedWeekCount,i.showNonCurrentDates),m=this.buildMonthFormat(i.multiMonthTitleFormat,p),f=["fc-multimonth",u?"fc-multimonth-singlecol":"fc-multimonth-multicol",d!=null&&d<400?"fc-multimonth-compact":"",t.isHeightAuto?"":"fc-scroller"];return _(Sa,{elRef:this.scrollElRef,elClasses:f,viewSpec:e.viewSpec},p.map((h,g)=>{let y=Vy(h.currentRange.start);return _(g9,Object.assign({},t,{key:y,isoDateStr:y,elRef:g===0?this.firstMonthElRef:void 0,titleFormat:m,dateProfile:h,width:c,tableWidth:d,clientWidth:s,clientHeight:a}))}))}componentDidMount(){this.updateSize(),this.context.addResizeHandler(this.handleSizing),this.requestScrollReset()}componentDidUpdate(e){zi(e,this.props)||this.handleSizing(!1),e.dateProfile!==this.props.dateProfile?this.requestScrollReset():this.flushScrollReset()}componentWillUnmount(){this.context.removeResizeHandler(this.handleSizing)}updateSize(){let e=this.scrollElRef.current,t=this.firstMonthElRef.current;e&&this.setState({clientWidth:e.clientWidth,clientHeight:e.clientHeight}),t&&e&&this.state.monthHPadding==null&&this.setState({monthHPadding:e.clientWidth-t.firstChild.offsetWidth})}requestScrollReset(){this.needsScrollReset=!0,this.flushScrollReset()}flushScrollReset(){if(this.needsScrollReset&&this.state.monthHPadding!=null){let{currentDate:e}=this.props.dateProfile,t=this.scrollElRef.current,n=t.querySelector(`[data-date="${Vy(e)}"]`);t.scrollTop=n.getBoundingClientRect().top-this.firstMonthElRef.current.getBoundingClientRect().top,this.needsScrollReset=!1}}shouldComponentUpdate(){return!0}},Xit=nt(1,"month");tst=zt({year:"numeric",month:"long"}),rst=zt({month:"long"});ist={multiMonthTitleFormat:zt,multiMonthMaxColumns:Number,multiMonthMinWidth:Number},sst=".fc .fc-multimonth{border:1px solid var(--fc-border-color);display:flex;flex-wrap:wrap;overflow-x:hidden;overflow-y:auto}.fc .fc-multimonth-title{font-size:1.2em;font-weight:700;padding:1em 0;text-align:center}.fc .fc-multimonth-daygrid{background:var(--fc-page-bg-color)}.fc .fc-multimonth-daygrid-table,.fc .fc-multimonth-header-table{table-layout:fixed;width:100%}.fc .fc-multimonth-daygrid-table{border-top-style:hidden!important}.fc .fc-multimonth-singlecol .fc-multimonth{position:relative}.fc .fc-multimonth-singlecol .fc-multimonth-header{background:var(--fc-page-bg-color);position:relative;top:0;z-index:2}.fc .fc-multimonth-singlecol .fc-multimonth-daygrid{position:relative;z-index:1}.fc .fc-multimonth-singlecol .fc-multimonth-daygrid-table,.fc .fc-multimonth-singlecol .fc-multimonth-header-table{border-left-style:hidden;border-right-style:hidden}.fc .fc-multimonth-singlecol .fc-multimonth-month:last-child .fc-multimonth-daygrid-table{border-bottom-style:hidden}.fc .fc-multimonth-multicol{line-height:1}.fc .fc-multimonth-multicol .fc-multimonth-month{padding:0 1.2em 1.2em}.fc .fc-multimonth-multicol .fc-daygrid-more-link{border:1px solid var(--fc-event-border-color);display:block;float:none;padding:1px}.fc .fc-multimonth-compact{line-height:1}.fc .fc-multimonth-compact .fc-multimonth-daygrid-table,.fc .fc-multimonth-compact .fc-multimonth-header-table{font-size:.9em}.fc-media-screen .fc-multimonth-singlecol .fc-multimonth-header{position:sticky}.fc-media-print .fc-multimonth{overflow:visible}";Ql(sst);_0e=Bi({name:"@fullcalendar/multimonth",initialView:"multiMonthYear",optionRefiners:ist,views:{multiMonth:{component:y9,dateProfileGeneratorClass:Cv,multiMonthMinWidth:350,multiMonthMaxColumns:3},multiMonthYear:{type:"multiMonth",duration:{years:1},fixedWeekCount:!0,showNonCurrentDates:!1}}})});function A0e(r,e){return(0,Ot.moment)(r,e)}function I0e(r){let e=(0,Ot.parseYaml)(r);return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:{}}var Ot,Vd,bI,N0e=v(()=>{Ot=require("obsidian");Nw();Wo();Vd=Ke(Hc());Qe();bI=class extends Ot.Modal{constructor(t,n,i,s,a,o){super(t);this.selectedAttachments=[];this.keyboardHandler=null;this.plugin=n,this.timeblock={...i},this.originalTimeblock=i,this.eventDate=s,this.timeblockDate=a||ue(s),this.translate=n.i18n.translate.bind(n.i18n),this.onChange=o}async onOpen(){let{contentEl:t}=this;t.empty(),t.addClass("timeblock-info-modal"),this.keyboardHandler=d=>{d.key==="Enter"&&(d.ctrlKey||d.metaKey)&&(d.preventDefault(),this.handleSave())},this.containerEl.addEventListener("keydown",this.keyboardHandler),new Ot.Setting(t).setName(this.translate("modals.timeblockInfo.editHeading")).setHeading();let n=t.createDiv({cls:"timeblock-date-display"});n.createEl("strong",{text:this.translate("modals.timeblockInfo.dateTimeLabel")});let i=`${this.eventDate.toLocaleDateString()} from ${this.timeblock.startTime} to ${this.timeblock.endTime}`;n.createSpan({text:i}),new Ot.Setting(t).setName(this.translate("modals.timeblockInfo.titleLabel")).setDesc(this.translate("modals.timeblockInfo.titleDesc")).addText(d=>{this.titleInput=d.inputEl,d.setPlaceholder(this.translate("modals.timeblockInfo.titlePlaceholder")).setValue(this.timeblock.title||"").onChange(()=>this.validateForm())}),new Ot.Setting(t).setName(this.translate("modals.timeblockInfo.descriptionLabel")).setDesc(this.translate("modals.timeblockInfo.descriptionDesc")).addTextArea(d=>{this.descriptionInput=d.inputEl,d.setPlaceholder(this.translate("modals.timeblockInfo.descriptionPlaceholder")).setValue(this.timeblock.description||""),this.descriptionInput.rows=3}),new Ot.Setting(t).setName(this.translate("modals.timeblockInfo.colorLabel")).setDesc(this.translate("modals.timeblockInfo.colorDesc")).addText(d=>{this.colorInput=d.inputEl,d.setPlaceholder(this.translate("modals.timeblockInfo.colorPlaceholder")).setValue(this.timeblock.color||this.plugin.settings.calendarViewSettings.defaultTimeblockColor),this.colorInput.type="color"}),new Ot.Setting(t).setName(this.translate("modals.timeblockInfo.attachmentsLabel")).setDesc(this.translate("modals.timeblockInfo.attachmentsDesc")).addButton(d=>{d.setButtonText(this.translate("modals.timeblockInfo.addAttachmentButton")).setTooltip(this.translate("modals.timeblockInfo.addAttachmentTooltip")).onClick(()=>{Ou(this.plugin,u=>{u instanceof Ot.TAbstractFile&&this.addAttachment(u)},{placeholder:"Search files or type to create new...",filter:"all",sortOrder:this.plugin.settings.calendarViewSettings.timeblockAttachmentSearchOrder})})}).addButton(d=>{d.setButtonText("Add task").setTooltip("Select task").onClick(()=>{this.openTaskSelectorForTitle()})}),this.attachmentsList=t.createDiv({cls:"timeblock-attachments-list"}),await this.initializeAttachments(),this.renderAttachmentsList();let s=t.createDiv({cls:"timeblock-modal-buttons"});s.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),s.classList.add("tn-static-display-flex-75816cae"),s.classList.remove("tn-static-justify-content-center-03c4bb6f","tn-static-justify-content-flex-end-455f8cca"),s.classList.add("tn-static-justify-content-space-between-a562f4fd"),s.classList.remove("tn-static-align-items-baseline-4b95b5c7","tn-static-align-items-flex-start-0486f781"),s.classList.add("tn-static-align-items-center-7c619740"),s.classList.remove("tn-static-font-size-12px-b0cc7e05","tn-static-margin-top-0-5rem-3dc98b5e","tn-static-margin-top-0-d462248a","tn-static-margin-top-12px-91e0f558","tn-static-margin-top-16px-1b0f4999","tn-static-margin-top-1rem-2239d6d5","tn-static-margin-top-30px-2fbbbcd4","tn-static-margin-top-4px-96ad6099","tn-static-margin-top-8px-8a77e5a3","tn-static-margin-top-8px-f4f01e68"),s.classList.add("tn-static-margin-top-20px-a26bda7d"),s.createEl("button",{text:this.translate("modals.timeblockInfo.deleteButton"),cls:"mod-warning timeblock-delete-button"}).addEventListener("click",()=>{this.handleDelete()});let o=s.createDiv({cls:"timeblock-modal-buttons-right"});o.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),o.classList.add("tn-static-display-flex-75816cae"),o.classList.remove("tn-static-display-flex-8bb39979","tn-static-gap-0-5rem-ce2fca4d","tn-static-gap-10px-f3d7ce77","tn-static-gap-12px-ed7b3d87","tn-static-gap-6px-f0abc1db"),o.classList.add("tn-static-gap-8px-33fcd4c3"),o.createEl("button",{text:this.translate("common.cancel")}).addEventListener("click",()=>this.close()),o.createEl("button",{text:this.translate("modals.timeblockInfo.saveButton"),cls:"mod-cta timeblock-save-button"}).addEventListener("click",()=>{this.handleSave()}),this.validateForm(),window.setTimeout(()=>this.titleInput.focus(),50)}validateForm(){var s;let t=this.contentEl.querySelector(".timeblock-save-button");if(!t)return;let i=!!((s=this.titleInput)==null?void 0:s.value.trim());t.disabled=!i,t.style.opacity=i?"1":"0.5"}async initializeAttachments(){if(this.timeblock.attachments)for(let t of this.timeblock.attachments){let n=t.replace(/^\[\[|\]\]$/g,""),i=this.app.vault.getAbstractFileByPath(n);i&&this.selectedAttachments.push(i)}}addAttachment(t){if(this.selectedAttachments.some(n=>n.path===t.path)){new Ot.Notice(this.translate("notices.timeblockAttachmentExists",{fileName:t.name}));return}if(this.titleInput&&!this.titleInput.value.trim()){let n=t instanceof Ot.TFile?t.basename:t.name;this.titleInput.value=n,this.timeblock.title=n,this.validateForm()}this.selectedAttachments.push(t),this.renderAttachmentsList(),new Ot.Notice(this.translate("notices.timeblockAttachmentAdded",{fileName:t.name}))}async openTaskSelectorForTitle(){var t,n,i;try{let a=((i=await((n=(t=this.plugin.cacheManager).getAllTasks)==null?void 0:n.call(t)))!=null?i:[]).filter(o=>!o.archived);if(a.length===0){new Ot.Notice("No tasks available to select");return}pn(this.plugin,a,o=>{if(!o)return;this.titleInput.value=o.title||"",this.timeblock.title=o.title||"",this.validateForm();let l=this.app.vault.getAbstractFileByPath(o.path);l&&this.addAttachment(l)},{title:"Select task"})}catch(s){console.error("Failed to open task selector for timeblock edit:",s),new Ot.Notice("Failed to open task selector")}}removeAttachment(t){this.selectedAttachments=this.selectedAttachments.filter(n=>n.path!==t.path),this.renderAttachmentsList(),new Ot.Notice(this.translate("notices.timeblockAttachmentRemoved",{fileName:t.name}))}openAttachment(t){t instanceof Ot.TFile?this.app.workspace.getLeaf(!1).openFile(t):new Ot.Notice(this.translate("notices.timeblockFileTypeNotSupported",{fileName:t.name}))}renderAttachmentsList(){if(this.attachmentsList.empty(),this.selectedAttachments.length===0){let t=this.attachmentsList.createDiv({cls:"timeblock-attachments-empty"});t.textContent="No attachments";return}this.selectedAttachments.forEach(t=>{let n=this.attachmentsList.createDiv({cls:"timeblock-attachment-item"}),i=n.createDiv({cls:"timeblock-attachment-info"});i.classList.remove("tn-static-cursor-grab-dad79857","tn-static-cursor-pointer-2723efcc"),i.classList.add("tn-static-cursor-pointer-3b6a3a65"),(0,Ot.setTooltip)(i,"Click to open",{placement:"top"}),i.addEventListener("click",()=>this.openAttachment(t));let s=i.createSpan({cls:"timeblock-attachment-name"});if(s.textContent=t.name,t.path!==t.name){let o=i.createDiv({cls:"timeblock-attachment-path"});o.textContent=t.path}let a=n.createEl("button",{cls:"timeblock-attachment-remove",text:"\xD7"});(0,Ot.setTooltip)(a,"Remove attachment",{placement:"top"}),a.addEventListener("click",o=>{o.stopPropagation(),this.removeAttachment(t)})})}async handleSave(){var t;try{let n=this.titleInput.value.trim();if(!n){new Ot.Notice(this.translate("notices.timeblockTitleRequired"));return}this.timeblock.title=n,this.timeblock.description=this.descriptionInput.value.trim()||void 0,this.timeblock.color=this.colorInput.value||void 0;let i=this.selectedAttachments.map(s=>`[[${s.path}]]`);this.timeblock.attachments=i.length>0?i:void 0,await this.updateTimeblockInDailyNote(),(t=this.onChange)==null||t.call(this),this.plugin.emitter.trigger("data-changed"),new Ot.Notice(this.translate("notices.timeblockUpdatedSuccess",{title:n})),this.close()}catch(n){console.error("Error updating timeblock:",n),new Ot.Notice(this.translate("notices.timeblockUpdateFailed"))}}async updateTimeblockInDailyNote(){if(!(0,Vd.appHasDailyNotesPluginLoaded)())throw new Error("Daily Notes plugin is not enabled");let t=this.timeblockDate,n=A0e(t,"YYYY-MM-DD"),i=(0,Vd.getAllDailyNotes)(),s=(0,Vd.getDailyNote)(n,i);if(!s)throw new Error("Daily note not found");let a=await this.app.vault.read(s),o={},l=a;if(a.startsWith("---")){let u=a.indexOf("---",3);if(u!==-1){let p=a.substring(3,u);l=a.substring(u+3);try{o=I0e(p)}catch(m){console.error("Error parsing existing frontmatter:",m),o={}}}}if(o.timeblocks&&Array.isArray(o.timeblocks)){let u=o.timeblocks.findIndex(p=>p.id===this.originalTimeblock.id||p.title===this.originalTimeblock.title&&p.startTime===this.originalTimeblock.startTime&&p.endTime===this.originalTimeblock.endTime);if(u>=0)o.timeblocks[u]=this.timeblock;else throw new Error("Timeblock not found in daily note")}else throw new Error("No timeblocks found in daily note");let d=`---
${(0,Ot.stringifyYaml)(o)}---${l}`;await this.app.vault.modify(s,d)}async handleDelete(){var n;if(await this.showDeleteConfirmation())try{await this.deleteTimeblockFromDailyNote(),(n=this.onChange)==null||n.call(this),this.plugin.emitter.trigger("data-changed"),new Ot.Notice(this.translate("notices.timeblockDeletedSuccess",{title:this.timeblock.title})),this.close()}catch(i){console.error("Error deleting timeblock:",i),new Ot.Notice(this.translate("notices.timeblockDeleteFailed"))}}async showDeleteConfirmation(){return new Promise(t=>{let n=new Ot.Modal(this.app);n.titleEl.setText(this.translate("modals.timeblockInfo.deleteConfirmationTitle"));let i=n.contentEl;i.createEl("p",{text:`Are you sure you want to delete the timeblock "${this.timeblock.title}"?`}),i.createEl("p",{text:"This action cannot be undone.",cls:"mod-warning"});let s=i.createDiv({cls:"modal-button-container"});s.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),s.classList.add("tn-static-display-flex-75816cae"),s.classList.remove("tn-static-justify-content-center-03c4bb6f","tn-static-justify-content-space-between-a562f4fd"),s.classList.add("tn-static-justify-content-flex-end-455f8cca"),s.classList.remove("tn-static-display-flex-8bb39979","tn-static-gap-0-5rem-ce2fca4d","tn-static-gap-10px-f3d7ce77","tn-static-gap-12px-ed7b3d87","tn-static-gap-6px-f0abc1db"),s.classList.add("tn-static-gap-8px-33fcd4c3"),s.classList.remove("tn-static-font-size-12px-b0cc7e05","tn-static-margin-top-0-5rem-3dc98b5e","tn-static-margin-top-0-d462248a","tn-static-margin-top-12px-91e0f558","tn-static-margin-top-16px-1b0f4999","tn-static-margin-top-1rem-2239d6d5","tn-static-margin-top-30px-2fbbbcd4","tn-static-margin-top-4px-96ad6099","tn-static-margin-top-8px-8a77e5a3","tn-static-margin-top-8px-f4f01e68"),s.classList.add("tn-static-margin-top-20px-a26bda7d");let a=s.createEl("button",{text:this.translate("common.cancel")});a.addEventListener("click",()=>{n.close(),t(!1)}),s.createEl("button",{text:"Delete",cls:"mod-warning"}).addEventListener("click",()=>{n.close(),t(!0)}),n.open(),window.setTimeout(()=>a.focus(),50)})}async deleteTimeblockFromDailyNote(){if(!(0,Vd.appHasDailyNotesPluginLoaded)())throw new Error("Daily Notes plugin is not enabled");let t=this.timeblockDate,n=A0e(t,"YYYY-MM-DD"),i=(0,Vd.getAllDailyNotes)(),s=(0,Vd.getDailyNote)(n,i);if(!s)throw new Error("Daily note not found");let a=await this.app.vault.read(s),o={},l=a;if(a.startsWith("---")){let u=a.indexOf("---",3);if(u!==-1){let p=a.substring(3,u);l=a.substring(u+3);try{o=I0e(p)}catch(m){console.error("Error parsing existing frontmatter:",m),o={}}}}if(o.timeblocks&&Array.isArray(o.timeblocks)){let u=o.timeblocks.findIndex(p=>p.id===this.originalTimeblock.id||p.title===this.originalTimeblock.title&&p.startTime===this.originalTimeblock.startTime&&p.endTime===this.originalTimeblock.endTime);if(u>=0)o.timeblocks.splice(u,1),o.timeblocks.length===0&&delete o.timeblocks;else throw new Error("Timeblock not found in daily note")}else throw new Error("No timeblocks found in daily note");let c=Object.keys(o).length>0?(0,Ot.stringifyYaml)(o):"",d=c?`---
${c}---${l}`:l.trim();await this.app.vault.modify(s,d)}onClose(){this.keyboardHandler&&(this.containerEl.removeEventListener("keydown",this.keyboardHandler),this.keyboardHandler=null);let{contentEl:t}=this;t.empty()}}});function O0e(r){return r instanceof Error?r.message:String(r)}function L0e(r){return window.moment(r)}function _v(r,e){if(r.startsWith("var("))return r;if(r=r.replace("#",""),!/^[0-9A-Fa-f]{6}$/.test(r))return`rgba(128, 128, 128, ${e})`;let t=parseInt(r.substring(0,2),16),n=parseInt(r.substring(2,4),16),i=parseInt(r.substring(4,6),16);return`rgba(${t}, ${n}, ${i}, ${e})`}function ast(){return activeDocument.body.classList.contains("theme-dark")}function Jf(r=!1){return r?ast()?"#e8eaed":"#202124":""}function tE(r){return r.startsWith("var(")}function F0e(r,e){let t=r.title;if(r.projects&&r.projects.length>0&&(t+=`
Project: ${r.projects[0]}`),r.priority){let n=e.priorityManager.getPriorityConfig(r.priority);t+=`
Priority: ${(n==null?void 0:n.label)||r.priority}`}if(r.status){let n=e.statusManager.getStatusConfig(r.status);t+=`
Status: ${(n==null?void 0:n.label)||r.status}`}if(r.timeEstimate){let n=Math.floor(r.timeEstimate/60),i=r.timeEstimate%60;t+=`
Estimate: ${n>0?`${n}h `:""}${i}m`}return t}function $0e(r,e){let{isNextScheduledOccurrence:t=!1,isPatternInstance:n=!1,isRecurringInstance:i=!1,isCompleted:s=!1}=e;if(t?(r.classList.remove("tn-static-border-style-dashed-12296c91"),r.classList.add("tn-static-border-style-solid-11080b69"),r.classList.add("tn-static-border-width-2px-a1222254"),r.setAttribute("data-next-scheduled","true"),r.classList.add("fc-next-scheduled-event"),s&&(r.classList.remove("tn-static-opacity-0-8d919cb5","tn-static-opacity-1-c6e7979d"),r.classList.add("tn-static-opacity-0-6-d95b59ac"))):n?(r.classList.remove("tn-static-border-style-solid-11080b69"),r.classList.add("tn-static-border-style-dashed-12296c91"),r.classList.add("tn-static-border-width-2px-a1222254"),r.style.opacity=s?"0.4":"0.7",r.setAttribute("data-pattern-instance","true"),r.classList.add("fc-pattern-instance-event")):i&&(r.classList.remove("tn-static-border-style-solid-11080b69"),r.classList.add("tn-static-border-style-dashed-12296c91"),r.classList.add("tn-static-border-width-2px-a1222254"),r.setAttribute("data-recurring","true"),r.classList.add("fc-recurring-event"),s&&(r.classList.remove("tn-static-opacity-0-8d919cb5","tn-static-opacity-1-c6e7979d"),r.classList.add("tn-static-opacity-0-6-d95b59ac"))),s){let a=r.querySelector(".fc-event-title, .fc-event-title-container");a?(a.classList.remove("tn-static-text-decoration-none-80d654f9"),a.classList.add("tn-static-text-decoration-line-through-7059a4e5")):(r.classList.remove("tn-static-text-decoration-none-80d654f9"),r.classList.add("tn-static-text-decoration-line-through-7059a4e5")),r.classList.add("fc-completed-event")}}async function ost(r,e,t,n){try{if(!r.recurrence||typeof r.recurrence!="string")throw new Error("Task does not have a valid RRULE string");let i=r.recurrence.match(/DTSTART:(\d{8}(?:T\d{6}Z?)?)/),s;if(i){let a=i[1],o;if(t)o=a.slice(0,8);else{let l=a.slice(0,8),c=String(e.getHours()).padStart(2,"0"),d=String(e.getMinutes()).padStart(2,"0");o=`${l}T${c}${d}00Z`}s=r.recurrence.replace(/DTSTART:[^;]+/,`DTSTART:${o}`),new Wn.Notice("Updated recurring pattern time. All future instances now appear at this time.")}else{let a=Rne(r,e,t);if(!a)throw new Error("Failed to add DTSTART to recurrence rule");s=a,new Wn.Notice("Added time information to recurring pattern. All future instances now appear at this time.")}await n.taskService.updateProperty(r,"recurrence",s)}catch(i){throw console.error("Error updating pattern instance time:",i),i}}async function j0e(r,e,t){var l,c;let{isRecurringInstance:n,isNextScheduledOccurrence:i,isPatternInstance:s}=(l=r.event.extendedProps)!=null?l:{},a=r.event.start;if(!a){r.revert();return}let o=(c=r.event.allDay)!=null?c:!1;if(i){let d;o?d=P(a,"yyyy-MM-dd"):d=P(a,"yyyy-MM-dd'T'HH:mm"),await t.taskService.updateProperty(e,"scheduled",d),new Wn.Notice("Rescheduled next occurrence. This does not change the recurrence pattern.")}else if(s)await ost(e,a,o,t);else if(n){let d=tt(e.scheduled),u;if(o)u=d,new Wn.Notice("Updated recurring task to all-day. This affects all future instances.");else{let p=P(a,"HH:mm");u=`${d}T${p}`,new Wn.Notice(`Updated recurring task time to ${p}. This affects all future instances.`)}await t.taskService.updateProperty(e,"scheduled",u)}}function b9(r){let e=r,t=e.event||e,n=t.extendedProps||{},{isRecurringInstance:i,isNextScheduledOccurrence:s,isPatternInstance:a,instanceDate:o}=n;if((i||s||a)&&o)return st(o);let l=t.start;if(l){let c=P(l,"yyyy-MM-dd");return st(c)}return kr()}function T9(r,e){if(!e)return;let t=Math.ceil(e/1440),n=st(r),i=new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()+t));return ue(i)}function lst(r,e){if(!r.scheduled)return null;let t=$r(r.scheduled),n=r.scheduled,i;if(t&&r.timeEstimate){let c=Mr(n),d=new Date(c.getTime()+r.timeEstimate*60*1e3);i=P(d,"yyyy-MM-dd'T'HH:mm")}else t||(i=T9(n,r.timeEstimate));let s=e.priorityManager.getPriorityConfig(r.priority),a=(s==null?void 0:s.color)||"var(--color-accent)",o=e.statusManager.isCompletedStatus(r.status),l=tE(a)?Jf(!0):a;return{id:`scheduled-${r.path}`,title:r.title,start:n,end:i,allDay:!t,backgroundColor:"transparent",borderColor:a,textColor:l,editable:!0,extendedProps:{taskInfo:r,eventType:"scheduled",isCompleted:o}}}function cst(r,e){if(!r.due)return null;let t=$r(r.due),n=r.due,i;if(t){let d=Mr(n),u=new Date(d.getTime()+1800*1e3);i=P(u,"yyyy-MM-dd'T'HH:mm")}let s=e.priorityManager.getPriorityConfig(r.priority),a=(s==null?void 0:s.color)||"var(--color-orange)",o=_v(a,.15),l=e.statusManager.isCompletedStatus(r.status),c=tE(a)?Jf(!0):a;return{id:`due-${r.path}`,title:`DUE: ${r.title}`,start:n,end:i,allDay:!t,backgroundColor:o,borderColor:a,textColor:c,editable:!0,extendedProps:{taskInfo:r,eventType:"due",isCompleted:l}}}function dst(r,e){if(!r.scheduled||!r.due)return null;let t=Mr(r.scheduled),n=Mr(r.due);if(n<=t)return null;let i=new Date(n);i.setDate(i.getDate()+1);let s=e.priorityManager.getPriorityConfig(r.priority),a=(s==null?void 0:s.color)||"var(--color-accent)",o=_v(a,.2),l=e.statusManager.isCompletedStatus(r.status),c=tE(a)?Jf(!0):a;return{id:`span-${r.path}`,title:r.title,start:P(t,"yyyy-MM-dd"),end:P(i,"yyyy-MM-dd"),allDay:!0,backgroundColor:o,borderColor:a,textColor:c,editable:!0,extendedProps:{taskInfo:r,eventType:"scheduledToDueSpan",isCompleted:l}}}function ust(r,e){if(!r.timeEntries)return[];let t=e.statusManager.isCompletedStatus(r.status);return r.timeEntries.filter(n=>n.endTime).map((n,i)=>({id:`timeentry-${r.path}-${i}`,title:r.title,start:n.startTime,end:n.endTime,allDay:!1,editable:!0,extendedProps:{taskInfo:r,eventType:"timeEntry",isCompleted:t,timeEntryIndex:i}}))}function rE(r,e){var t;try{let n=r.subscriptionId.startsWith("google-"),i=r.subscriptionId.startsWith("microsoft-"),s,a,o,l;if(n)a=r.color||"#4285F4",s=_v(a,.2),o=Jf(!0),l="Google Calendar";else if(i)a=r.color||"#0078D4",s=_v(a,.2),o=Jf(!0),l="Microsoft Calendar";else{let c=(t=e.icsSubscriptionService)==null?void 0:t.getSubscriptions().find(d=>d.id===r.subscriptionId);if(!c||!c.enabled)return null;s=_v(c.color,.2),a=c.color,o=a,l=c.name}return{id:r.id,title:r.title,start:r.start,end:r.end,allDay:r.allDay,backgroundColor:s,borderColor:a,textColor:o,editable:n||i,extendedProps:{icsEvent:r,eventType:"ics",subscriptionName:l,isGoogleCalendar:n,isMicrosoftCalendar:i}}}catch(n){return console.error("Error creating ICS event:",n),null}}function pst(r){if(r.recurrence&&typeof r.recurrence=="string"){let e=r.recurrence.match(/DTSTART:(\d{8}(?:T\d{6}Z?)?)/);if(e&&e[1].includes("T")){let t=e[1].split("T")[1];if(t.length>=4){let n=t.slice(0,2),i=t.slice(2,4);return`${n}:${i}`}}}if(r.scheduled){let e=$a(r.scheduled);if(e)return e}return"09:00"}function mst(r,e,t,n,i){var m,f;let s=$r(e),a;if(s&&r.timeEstimate){let h=Mr(e),g=new Date(h.getTime()+r.timeEstimate*60*1e3);a=P(g,"yyyy-MM-dd'T'HH:mm")}else s||(a=T9(e,r.timeEstimate));let o=i.priorityManager.getPriorityConfig(r.priority),l=(o==null?void 0:o.color)||"var(--color-accent)",c=((m=r.complete_instances)==null?void 0:m.includes(t))||!1,d=((f=r.skipped_instances)==null?void 0:f.includes(t))||!1,u=tE(l)?Jf(!0):l,p="transparent";return c?p="rgba(0,0,0,0.3)":d&&(p="rgba(128,128,128,0.2)"),{id:`next-scheduled-${r.path}-${t}`,title:r.title,start:e,end:a,allDay:!s,backgroundColor:p,borderColor:l,textColor:u,editable:!0,extendedProps:{taskInfo:r,eventType:"scheduled",isCompleted:c,isSkipped:d,isNextScheduledOccurrence:!0,instanceDate:t,recurringTemplateTime:n}}}function fst(r,e,t,n,i){var f,h;let s=$r(e),a;if(s&&r.timeEstimate){let g=Mr(e),y=new Date(g.getTime()+r.timeEstimate*60*1e3);a=P(y,"yyyy-MM-dd'T'HH:mm")}else s||(a=T9(e,r.timeEstimate));let o=i.priorityManager.getPriorityConfig(r.priority),l=(o==null?void 0:o.color)||"var(--color-accent)",c=((f=r.complete_instances)==null?void 0:f.includes(t))||!1,d=((h=r.skipped_instances)==null?void 0:h.includes(t))||!1,u=_v(l,.5),p=tE(l)?Jf(!0):u,m="transparent";return c?m="rgba(0,0,0,0.2)":d&&(m="rgba(128,128,128,0.15)"),{id:`recurring-${r.path}-${t}`,title:r.title,start:e,end:a,allDay:!s,backgroundColor:m,borderColor:u,textColor:p,editable:!0,extendedProps:{taskInfo:r,eventType:"recurring",isCompleted:c,isSkipped:d,isPatternInstance:!0,instanceDate:t,recurringTemplateTime:n}}}function hst(r,e,t,n){if(!r.recurrence||!r.scheduled)return[];let i=[],s=$r(r.scheduled),a=pst(r),o=tt(r.scheduled),l=s?$a(r.scheduled):null,c=l?`${o}T${l}`:o,d=mst(r,c,o,l||"09:00",n);d&&i.push(d);let u=t;typeof r.recurrence=="string"&&r.recurrence.includes("FREQ=YEARLY")&&(u=new Date(e.getTime()+800*24*60*60*1e3));let p=YD(r,e,u),m=ue(t);for(let f of p){let h=ue(f);if(h>m||h===o)continue;let g=s?`${h}T${a}`:h,y=fst(r,g,h,a,n);y&&i.push(y)}return i}function gst(r,e,t="#6366f1"){let n=`${e}T${r.startTime}:00`,i=`${e}T${r.endTime}:00`,s=r.color||t,a=r.color||t;return{id:`timeblock-${r.id}`,title:r.title,start:n,end:i,allDay:!1,backgroundColor:s,borderColor:a,textColor:"var(--text-on-accent)",editable:!0,extendedProps:{eventType:"timeblock",timeblock:r,originalDate:e}}}function yst(r,e){let t=r;if(!(t!=null&&t.timeblocks)||!Array.isArray(t.timeblocks))return[];let n=[];for(let i of t.timeblocks){let s=i;s&&typeof s.id=="string"&&typeof s.startTime=="string"&&typeof s.endTime=="string"&&n.push(s)}return n}async function bst(r,e,t){try{let n=Date.now();(!v9||n-R0e>vst)&&(v9=(0,kc.getAllDailyNotes)(),R0e=n);let i=v9,s=[];for(let a=new Date(e);a<=t;a.setUTCDate(a.getUTCDate()+1)){let o=ue(a),l=new Date(`${o}T12:00:00`),c=(0,kc.getDailyNote)(L0e(l),i);if(c){let d=r.app.metadataCache.getFileCache(c);if(d!=null&&d.frontmatter){let u=yst(d.frontmatter,c.path);for(let p of u)s.push(gst(p,o,r.settings.calendarViewSettings.defaultTimeblockColor))}}}return s}catch(n){return console.error("Error getting timeblock events:",n),[]}}function Pv(r,e,t,n){if(!e||!t)return!0;try{let s=Mr(r).getTime();if(isNaN(s))return!0;let a=s;return n&&(a=s+n*60*1e3),s<t.getTime()&&a>=e.getTime()}catch(i){return!0}}async function z0e(r,e,t={}){let{showScheduled:n=!0,showDue:i=!0,showScheduledToDueSpan:s=!1,showTimeEntries:a=!0,showRecurring:o=!0,showICSEvents:l=!0,showTimeblocks:c=!1,visibleStart:d,visibleEnd:u}=t,p=[];for(let m of r)try{if(m.recurrence){if(!m.scheduled)continue;if(o&&d&&u){let f=hst(m,d,u,e);p.push(...f)}}else{let f=!1;if(s&&m.scheduled&&m.due){let h=dst(m,e);h&&(Pv(m.scheduled,d,u)||Pv(m.due,d,u))&&(p.push(h),f=!0)}if(!f){if(n&&m.scheduled&&Pv(m.scheduled,d,u,m.timeEstimate)){let h=lst(m,e);h&&p.push(h)}if(i&&m.due&&Pv(m.due,d,u)){let h=cst(m,e);h&&p.push(h)}}}if(a&&m.timeEntries){let f=ust(m,e);for(let h of f)Pv(h.start,d,u)&&p.push(h)}}catch(f){console.warn(`[TaskNotes][Calendar] Error processing task "${m.title}" (${m.path}):`,f)}if(l&&e.icsSubscriptionService){let m=e.icsSubscriptionService.getAllEvents();for(let f of m)if(Pv(f.start,d,u)){let h=rE(f,e);h&&p.push(h)}}if(c&&d&&u){let m=await bst(e,d,u);p.push(...m)}return p}async function B0e(r,e,t,n){if(t){new Wn.Notice("Timeblocks must have specific times. Please select a time range in week or day view.");return}let i=P(r,"yyyy-MM-dd"),s=P(r,"HH:mm"),a=P(e,"HH:mm");new ty(n.app,n,{date:i,startTime:s,endTime:a}).open()}async function q0e(r,e,t,n){if(t){new Wn.Notice(n.i18n.translate("modals.timeEntry.mustHaveSpecificTime"));return}try{let s=(await n.cacheManager.getAllTasks()).filter(a=>!a.archived);if(s.length===0){new Wn.Notice(n.i18n.translate("modals.timeEntry.noTasksAvailable"));return}pn(n,s,a=>{(async()=>{if(a)try{let o=Math.round((e.getTime()-r.getTime())/6e4),l={startTime:r.toISOString(),endTime:e.toISOString(),description:""},c=[...a.timeEntries||[],l].map(d=>{let u={...d};return delete u.duration,u});await n.taskService.updateTask(a,{timeEntries:c}),n.emitter.trigger(Fa),new Wn.Notice(n.i18n.translate("modals.timeEntry.created",{taskTitle:a.title,duration:o.toString()}))}catch(o){console.error("Error creating time entry:",o),new Wn.Notice(n.i18n.translate("modals.timeEntry.createFailed"))}})()})}catch(i){console.error("Error opening task selector for time entry:",i),new Wn.Notice(n.i18n.translate("modals.timeEntry.createFailed"))}}async function H0e(r,e,t,n){try{let i=r.event.start,s=r.event.end;if(!i||!s){r.revert();return}let a=P(i,"yyyy-MM-dd"),o=P(i,"HH:mm"),l=P(s,"HH:mm");await a1(n.app,e.id,t,a,o,l),new Wn.Notice("Timeblock moved successfully")}catch(i){console.error("Error moving timeblock:",i),new Wn.Notice(`Failed to move timeblock: ${O0e(i)}`),r.revert()}}async function U0e(r,e,t,n){try{let i=r.event.start,s=r.event.end;if(!i||!s){r.revert();return}let a=P(i,"HH:mm"),o=P(s,"HH:mm");await a1(n.app,e.id,t,t,a,o),new Wn.Notice("Timeblock duration updated")}catch(i){console.error("Error resizing timeblock:",i),new Wn.Notice(`Failed to resize timeblock: ${O0e(i)}`),r.revert()}}async function TI(r,e,t,n,i){new bI(n.app,n,r,e,t,i).open()}function V0e(r,e){r.setAttribute("data-timeblock-id",e.id||""),r.classList.remove("tn-static-border-style-dashed-12296c91"),r.classList.add("tn-static-border-style-solid-11080b69"),r.classList.add("tn-static-border-width-2px-a1222254"),r.classList.add("fc-timeblock-event")}function W0e(r){var t;let e=((t=r.attachments)==null?void 0:t.length)||0;return`${r.title||"Timeblock"}${r.description?` - ${r.description}`:""}${e>0?` (${e} attachment${e>1?"s":""})`:""}`}function Y0e(r,e,t,n="tasknotes-calendar"){r.addEventListener("mouseover",i=>{t.app.vault.getAbstractFileByPath(e.path)&&t.app.workspace.trigger("hover-link",{event:i,source:n,hoverParent:r,targetEl:r,linktext:e.path,sourcePath:e.path})})}async function G0e(r,e){try{if(!(0,kc.appHasDailyNotesPluginLoaded)()){new Wn.Notice("Daily notes core plugin is not enabled. Please enable it in settings > core plugins.");return}let t=L0e(r),n=(0,kc.getAllDailyNotes)(),i=(0,kc.getDailyNote)(t,n);if(!i)try{i=await(0,kc.createDailyNote)(t)}catch(s){let a=s instanceof Error?s.message:String(s);console.error("Failed to create daily note:",s),new Wn.Notice(`Failed to create daily note: ${a}`);return}i&&await e.app.workspace.getLeaf(!1).openFile(i)}catch(t){let n=t instanceof Error?t.message:String(t);console.error("Failed to navigate to daily note:",t),new Wn.Notice(`Failed to navigate to daily note: ${n}`)}}function K0e(r,e,t,n){let i=t?P(r,"yyyy-MM-dd"):P(r,"yyyy-MM-dd'T'HH:mm"),s=Math.round((e.getTime()-r.getTime())/(1e3*60)),a=!t&&s>n,o={scheduled:i};if(t){let c=Math.round((e.getTime()-r.getTime())/864e5);c>1&&(o.timeEstimate=c*1440)}else a&&(o.timeEstimate=s);return o}var Wn,kc,v9,R0e,vst,k9=v(()=>{Tn();On();Qe();Cr();Wn=require("obsidian"),kc=Ke(Hc());b$();Wo();N0e();v9=null,R0e=0,vst=5e3});var _a,kI,Z0e=v(()=>{_a=require("obsidian");Tn();kI=class extends _a.Modal{constructor(t,n,i){super(t);this.writableCalendars=[];this.keyboardHandler=null;this.plugin=n,this.options=i,this.translate=n.i18n.translate.bind(n.i18n),this.writableCalendars=this.getWritableCalendars()}getWritableCalendars(){let t=[],n=this.plugin.calendarProviderRegistry;if(!n)return t;for(let i of n.getAllProviders())for(let s of i.getAvailableCalendars())t.push({provider:i,calendar:s});return t}onOpen(){let{contentEl:t}=this;t.empty(),t.addClass("calendar-event-creation-modal"),this.keyboardHandler=l=>{l.key==="Enter"&&(l.ctrlKey||l.metaKey)&&(l.preventDefault(),this.handleSubmit())},this.containerEl.addEventListener("keydown",this.keyboardHandler),new _a.Setting(t).setName(this.translate("modals.calendarEventCreation.heading")).setHeading();let n=t.createDiv({cls:"calendar-event-date-display"});n.createEl("strong",{text:this.translate("modals.calendarEventCreation.dateTimeLabel")});let i=this.options.allDay?P(this.options.start,"PPP"):`${P(this.options.start,"PPP p")} \u2013 ${P(this.options.end,"p")}`;n.createSpan({text:i}),new _a.Setting(t).setName(this.translate("modals.calendarEventCreation.titleLabel")).setDesc(this.translate("modals.calendarEventCreation.titleDesc")).addText(l=>{this.titleInput=l.inputEl,l.setPlaceholder(this.translate("modals.calendarEventCreation.titlePlaceholder")).onChange(()=>this.validateForm()),window.setTimeout(()=>this.titleInput.focus(),100)}),this.writableCalendars.length>1&&new _a.Setting(t).setName(this.translate("modals.calendarEventCreation.calendarLabel")).setDesc(this.translate("modals.calendarEventCreation.calendarDesc")).addDropdown(l=>{this.calendarDropdown=l.selectEl;for(let d=0;d<this.writableCalendars.length;d++){let u=this.writableCalendars[d],p=`${u.calendar.summary} (${u.provider.providerName})`;l.addOption(String(d),p)}let c=this.writableCalendars.findIndex(d=>d.calendar.primary);c>=0&&l.setValue(String(c))}),new _a.Setting(t).setName(this.translate("modals.calendarEventCreation.descriptionLabel")).setDesc(this.translate("modals.calendarEventCreation.descriptionDesc")).addTextArea(l=>{this.descriptionInput=l.inputEl,l.setPlaceholder(this.translate("modals.calendarEventCreation.descriptionPlaceholder")),this.descriptionInput.rows=3}),new _a.Setting(t).setName(this.translate("modals.calendarEventCreation.locationLabel")).setDesc(this.translate("modals.calendarEventCreation.locationDesc")).addText(l=>{this.locationInput=l.inputEl,l.setPlaceholder(this.translate("modals.calendarEventCreation.locationPlaceholder"))});let s=t.createDiv({cls:"calendar-event-modal-buttons"});s.createEl("button",{text:this.translate("common.cancel")}).addEventListener("click",()=>this.close()),s.createEl("button",{text:this.translate("modals.calendarEventCreation.createButton"),cls:"mod-cta calendar-event-create-button"}).addEventListener("click",()=>{this.handleSubmit()}),this.validateForm()}validateForm(){var i;let t=this.contentEl.querySelector(".calendar-event-create-button");if(!t)return;let n=!!((i=this.titleInput)!=null&&i.value.trim());t.disabled=!n,t.style.opacity=n?"1":"0.5"}async handleSubmit(){var s,a,o,l;let t=this.titleInput.value.trim();if(!t){new _a.Notice(this.translate("modals.calendarEventCreation.titleRequired"));return}let n=this.calendarDropdown?parseInt(this.calendarDropdown.value):0,i=this.writableCalendars[n];if(!i){new _a.Notice(this.translate("modals.calendarEventCreation.noCalendarSelected"));return}try{let{start:c,end:d,allDay:u}=this.options,p=Intl.DateTimeFormat().resolvedOptions().timeZone,m={summary:t,start:u?{date:P(c,"yyyy-MM-dd")}:{dateTime:P(c,"yyyy-MM-dd'T'HH:mm:ss"),timeZone:p},end:u?{date:P(d,"yyyy-MM-dd")}:{dateTime:P(d,"yyyy-MM-dd'T'HH:mm:ss"),timeZone:p}},f=(s=this.descriptionInput)==null?void 0:s.value.trim();f&&(m.description=f);let h=(a=this.locationInput)==null?void 0:a.value.trim();h&&(m.location=h),await i.provider.createEvent(i.calendar.id,m),new _a.Notice(this.translate("modals.calendarEventCreation.success",{title:t})),(l=(o=this.options).onEventCreated)==null||l.call(o),this.close()}catch(c){console.error("[TaskNotes] Error creating calendar event:",c),new _a.Notice(this.translate("modals.calendarEventCreation.error",{message:c instanceof Error?c.message:String(c)}))}}onClose(){this.keyboardHandler&&(this.containerEl.removeEventListener("keydown",this.keyboardHandler),this.keyboardHandler=null);let{contentEl:t}=this;t.empty()}}});var wI,Us,SI=v(()=>{wI=require("obsidian"),Us=class{static async execute(e,t={}){let{fallback:n,errorMessage:i="An error occurred",showNotice:s=!0,logError:a=!0}=t;try{return await e()}catch(o){if(a&&console.error(i,o),s){let l=o instanceof Error?o.message:String(o);new wI.Notice(`${i}: ${l}`)}return n}}static async executeWithRetry(e,t={}){let{maxRetries:n=3,retryDelay:i=1e3,errorMessage:s="Operation failed",showNotice:a=!0}=t,o;for(let l=0;l<=n;l++)try{return await e()}catch(c){if(o=c instanceof Error?c:new Error(String(c)),l<n){await new Promise(d=>window.setTimeout(d,i));continue}console.error(`${s} after ${n+1} attempts:`,o),a&&new wI.Notice(`${s}: ${o.message}`);return}}static async executeWithValidation(e,t,n={}){let{showNotice:i=!0}=n;for(let s of t)if(!s.condition){i&&new wI.Notice(s.message);return}return this.execute(e,n)}}});var Wd,Mv,w9=v(()=>{Wd=require("obsidian");Tn();SI();Mv=class extends Wd.Modal{constructor(t,n,i){super(t);this.title="";this.folder="";this.template="";this.useTemplate=!1;this.keyboardHandler=null;this.plugin=n,this.options=i,this.translate=n.i18n.translate.bind(n.i18n),this.title=this.generateDefaultTitle(),this.folder=this.getDefaultFolder(),this.template=this.getDefaultTemplate()}onOpen(){this.containerEl.addClass("tasknotes-plugin","ics-note-creation-modal"),this.keyboardHandler=t=>{t.key==="Enter"&&(t.ctrlKey||t.metaKey)&&(t.preventDefault(),this.handleCreate())},this.containerEl.addEventListener("keydown",this.keyboardHandler),this.createModalContent()}onClose(){this.keyboardHandler&&(this.containerEl.removeEventListener("keydown",this.keyboardHandler),this.keyboardHandler=null),this.contentEl.empty()}createModalContent(){let{contentEl:t}=this;t.empty(),t.createDiv("modal-header").createEl("h2",{text:this.translate("modals.icsNoteCreation.heading")});let i=t.createDiv("ics-event-preview");this.createEventPreview(i),new Wd.Setting(t).setName(this.translate("modals.icsNoteCreation.titleLabel")).setDesc(this.translate("modals.icsNoteCreation.titleDesc")).addText(l=>{this.titleInput=l.inputEl,l.setValue(this.title).onChange(c=>{this.title=c,this.updatePreview()})}),new Wd.Setting(t).setName(this.translate("modals.icsNoteCreation.folderLabel")).setDesc(this.translate("modals.icsNoteCreation.folderDesc")).addText(l=>{this.folderInput=l.inputEl,l.setValue(this.folder).setPlaceholder(this.translate("modals.icsNoteCreation.folderPlaceholder")).onChange(c=>{this.folder=c,this.updatePreview()})}),this.templateContainer=t.createDiv("template-settings"),this.createTemplateSettings(),this.previewContainer=t.createDiv("content-preview"),this.updatePreview();let s=t.createDiv("modal-button-container"),a=s.createEl("button",{text:this.translate("modals.icsNoteCreation.createButton"),cls:"mod-cta"});a.onclick=l=>{l.preventDefault(),l.stopPropagation(),this.handleCreate()};let o=s.createEl("button",{text:this.translate("common.cancel")});o.onclick=l=>{l.preventDefault(),l.stopPropagation(),this.close()},window.setTimeout(()=>{var l;return(l=this.titleInput)==null?void 0:l.focus()},100)}createEventPreview(t){let{icsEvent:n,subscriptionName:i}=this.options;t.createEl("h3",{text:n.title});let s=t.createDiv("event-details");if(n.start){let o=n.allDay&&/^\d{4}-\d{2}-\d{2}$/.test(n.start)?n.start+"T00:00:00":n.start,l=new Date(o),c=s.createDiv();c.createEl("strong",{text:this.translate("modals.icsNoteCreation.startLabel")}),c.appendText(P(l,"PPPp"))}if(n.end&&!n.allDay){let o=/^\d{4}-\d{2}-\d{2}$/.test(n.end)?n.end+"T00:00:00":n.end,l=new Date(o),c=s.createDiv();c.createEl("strong",{text:this.translate("modals.icsNoteCreation.endLabel")}),c.appendText(P(l,"PPPp"))}if(n.location){let o=s.createDiv();o.createEl("strong",{text:this.translate("modals.icsNoteCreation.locationLabel")}),o.appendText(n.location)}let a=s.createDiv();a.createEl("strong",{text:this.translate("modals.icsNoteCreation.calendarLabel")}),a.appendText(i)}createTemplateSettings(){this.templateContainer.empty(),new Wd.Setting(this.templateContainer).setName(this.translate("modals.icsNoteCreation.useTemplateLabel")).setDesc(this.translate("modals.icsNoteCreation.useTemplateDesc")).addToggle(t=>{t.setValue(this.useTemplate).onChange(n=>{this.useTemplate=n,this.updateTemplateInput(),this.updatePreview()})}),this.useTemplate&&new Wd.Setting(this.templateContainer).setName(this.translate("modals.icsNoteCreation.templatePathLabel")).setDesc(this.translate("modals.icsNoteCreation.templatePathDesc")).addText(t=>{this.templateInput=t.inputEl,t.setValue(this.template).setPlaceholder(this.translate("modals.icsNoteCreation.templatePathPlaceholder")).onChange(n=>{this.template=n,this.updatePreview()})})}updateDefaultsForContentType(){var t,n;this.folder=((t=this.plugin.settings.icsIntegration)==null?void 0:t.defaultNoteFolder)||"",this.template=((n=this.plugin.settings.icsIntegration)==null?void 0:n.defaultNoteTemplate)||"",this.folderInput&&(this.folderInput.value=this.folder),this.templateInput&&(this.templateInput.value=this.template)}updateTemplateInput(){this.createTemplateSettings()}updatePreview(){if(!this.previewContainer)return;this.previewContainer.empty(),this.previewContainer.createEl("h4",{text:"Summary"});let t=this.previewContainer.createDiv("preview-details"),n=t.createDiv();n.createEl("strong",{text:"Type: "}),n.appendText("Note");let i=t.createDiv();i.createEl("strong",{text:"Title: "}),i.appendText(this.title||"Untitled");let s=t.createDiv();if(s.createEl("strong",{text:"Folder: "}),s.appendText(this.folder||"Vault root"),this.useTemplate&&this.template){let c=t.createDiv();c.createEl("strong",{text:"Template: "}),c.appendText(this.template)}else{let c=t.createDiv();c.createEl("strong",{text:"Template: "}),c.appendText("Default format")}let a=this.previewContainer.createDiv("template-variables");a.createEl("h5",{text:"Available template variables"});let o=["{{title}}","{{icsEventTitle}}","{{icsEventStart}}","{{icsEventEnd}}","{{icsEventLocation}}","{{icsEventDescription}}","{{icsEventUrl}}","{{icsEventSubscription}}","{{icsEventId}}","{{date}}","{{time}}"],l=a.createDiv("variables-list");o.forEach(c=>{l.createSpan({text:c,cls:"template-variable"})})}generateDefaultTitle(){let{icsEvent:t}=this.options,n=t.allDay&&/^\d{4}-\d{2}-\d{2}$/.test(t.start)?t.start+"T00:00:00":t.start,i=new Date(n);return`${t.title} - ${P(i,"PPP")}`}getDefaultFolder(){var t;return((t=this.plugin.settings.icsIntegration)==null?void 0:t.defaultNoteFolder)||""}getDefaultTemplate(){var t;return((t=this.plugin.settings.icsIntegration)==null?void 0:t.defaultNoteTemplate)||""}async handleCreate(){await Us.executeWithValidation(async()=>{var i,s;let{icsEvent:t}=this.options,n=await this.plugin.icsNoteService.createNoteFromICS(t,{title:this.title,folder:this.folder||void 0,template:this.useTemplate&&this.template?this.template:void 0});new Wd.Notice(`Note created: ${this.title}`),(s=(i=this.options).onContentCreated)==null||s.call(i,n.file,n.noteInfo),this.close()},[{condition:!!this.title.trim(),message:"Title is required"}],{errorMessage:"Failed to create note from ICS event"})}}});var Sr,Ip,xI=v(()=>{Sr=require("obsidian");w9();Nw();SI();Ip=class extends Sr.Modal{constructor(t,n,i,s){super(t);this.relatedNotes=[];this.plugin=n,this.icsEvent=i,this.subscriptionName=s,this.translate=n.i18n.translate.bind(n.i18n)}async onOpen(){await this.renderContent()}async renderContent(){let{contentEl:t}=this;t.empty(),await this.loadRelatedNotes(),new Sr.Setting(t).setName(this.translate("modals.icsEventInfo.calendarEventHeading")).setHeading(),new Sr.Setting(t).setName(this.translate("modals.icsEventInfo.titleLabel")).setDesc(this.icsEvent.title||this.translate("ui.icsCard.untitledEvent")),this.subscriptionName&&new Sr.Setting(t).setName(this.translate("modals.icsEventInfo.calendarLabel")).setDesc(this.subscriptionName);let n=this.icsEvent.allDay&&/^\d{4}-\d{2}-\d{2}$/.test(this.icsEvent.start)?this.icsEvent.start+"T00:00:00":this.icsEvent.start,i=new Date(n),s=i.toLocaleDateString("en-US",{weekday:"long",year:"numeric",month:"long",day:"numeric"});if(!this.icsEvent.allDay&&(s+=` at ${i.toLocaleTimeString()}`,this.icsEvent.end)){let a=/^\d{4}-\d{2}-\d{2}$/.test(this.icsEvent.end)?this.icsEvent.end+"T00:00:00":this.icsEvent.end,o=new Date(a);s+=` - ${o.toLocaleTimeString()}`}new Sr.Setting(t).setName(this.translate("modals.icsEventInfo.dateTimeLabel")).setDesc(s),this.icsEvent.location&&new Sr.Setting(t).setName(this.translate("modals.icsEventInfo.locationLabel")).setDesc(this.icsEvent.location),this.icsEvent.description&&new Sr.Setting(t).setName(this.translate("modals.icsEventInfo.descriptionLabel")).setDesc(this.icsEvent.description),this.icsEvent.url&&new Sr.Setting(t).setName(this.translate("modals.icsEventInfo.urlLabel")).descEl.createEl("a",{cls:"external-link",href:this.icsEvent.url,text:this.icsEvent.url}).setAttribute("target","_blank"),new Sr.Setting(t).setName(this.translate("modals.icsEventInfo.relatedNotesHeading")).setHeading(),this.relatedNotes.length===0?new Sr.Setting(t).setDesc(this.translate("modals.icsEventInfo.noRelatedItems")):this.relatedNotes.forEach(a=>{let l=this.isTaskNote(a)?this.translate("modals.icsEventInfo.typeTask"):this.translate("modals.icsEventInfo.typeNote");new Sr.Setting(t).setName(a.title).setDesc(`Type: ${l}`).addButton(c=>{c.setButtonText("Open").onClick(async()=>{await this.safeOpenFile(a.path),this.close()})})}),new Sr.Setting(t).setName(this.translate("modals.icsEventInfo.actionsHeading")).setHeading(),new Sr.Setting(t).setName(this.translate("modals.icsEventInfo.createFromEventLabel")).setDesc(this.translate("modals.icsEventInfo.createFromEventDesc")).addButton(a=>{a.setButtonText("Create note").onClick(()=>{this.openCreationModal()})}).addButton(a=>{a.setButtonText("Create task").onClick(async()=>{await this.createTaskDirectly()})}),new Sr.Setting(t).setName(this.translate("modals.icsEventInfo.linkExistingLabel")).setDesc(this.translate("modals.icsEventInfo.linkExistingDesc")).addButton(a=>{a.setButtonText("Link note").onClick(()=>{this.linkExistingNote()})}).addButton(a=>{a.setButtonText("Refresh").onClick(()=>{this.refreshRelatedNotes()})})}async loadRelatedNotes(){let t=await Us.execute(()=>this.plugin.icsNoteService.findRelatedNotes(this.icsEvent),{fallback:[],errorMessage:"Failed to load related notes",showNotice:!1});this.relatedNotes=t||[]}openCreationModal(){try{new Mv(this.app,this.plugin,{icsEvent:this.icsEvent,subscriptionName:this.subscriptionName||"Unknown Calendar",onContentCreated:(n,i)=>{(async()=>(new Sr.Notice(this.translate("notices.icsNoteCreatedSuccess")),this.refreshRelatedNotes(),await this.safeOpenFile(n.path)))()}}).open()}catch(t){console.error("Error opening creation modal:",t),new Sr.Notice(this.translate("notices.icsCreationModalOpenFailed"))}}async linkExistingNote(){await Us.execute(async()=>{Ou(this.plugin,t=>{t instanceof Sr.TAbstractFile&&Us.execute(async()=>{await this.plugin.icsNoteService.linkNoteToICS(t.path,this.icsEvent),new Sr.Notice(this.translate("notices.icsNoteLinkSuccess",{fileName:t.name})),this.refreshRelatedNotes()},{errorMessage:"Failed to link note"})},{placeholder:"Search notes to link...",filter:"markdown"})},{errorMessage:"Failed to open note selection"})}async createTaskDirectly(){await Us.execute(async()=>{let t=await this.plugin.icsNoteService.createTaskFromICS(this.icsEvent);new Sr.Notice(this.translate("notices.icsTaskCreatedSuccess",{taskTitle:t.taskInfo.title})),await this.safeOpenFile(t.file.path),this.refreshRelatedNotes()},{errorMessage:"Failed to create task from ICS event"})}async refreshRelatedNotes(){await Us.execute(async()=>{await this.loadRelatedNotes(),await this.renderContent(),new Sr.Notice(this.translate("notices.icsRelatedItemsRefreshed"))},{errorMessage:"Failed to refresh related notes"})}isTaskNote(t){var i;let n=this.plugin.settings.taskTag;return((i=t.tags)==null?void 0:i.includes(n))||!1}async safeOpenFile(t){try{let n=this.app.vault.getAbstractFileByPath(t);n instanceof Sr.TFile?await this.app.workspace.getLeaf().openFile(n):(new Sr.Notice(this.translate("notices.icsFileNotFound")),console.error("Invalid file path or file not found:",t))}catch(n){console.error("Error opening file:",n),new Sr.Notice(this.translate("notices.icsFileOpenFailed"))}}onClose(){let{contentEl:t}=this;t.empty()}}});var fi,Av,S9=v(()=>{fi=require("obsidian");xI();w9();Nw();SI();Wc();Av=class{constructor(e){this.menu=new Qn,this.options=e,this.buildMenu()}t(e,t){return this.options.plugin.i18n.translate(e,t)}getLocale(){return this.options.plugin.i18n.getCurrentLocale()||"en"}buildMenu(){let{icsEvent:e,plugin:t,subscriptionName:n}=this.options;this.menu.addItem(i=>i.setTitle(this.t("contextMenus.ics.showDetails")).setIcon("info").onClick(()=>{new Ip(t.app,t,e,n).open()})),this.menu.addSeparator(),this.menu.addItem(i=>i.setTitle(this.t("contextMenus.ics.createTask")).setIcon("check-circle").onClick(async()=>{await this.createTaskFromEvent()})),this.menu.addItem(i=>i.setTitle(this.t("contextMenus.ics.createNote")).setIcon("file-plus").onClick(()=>{this.createNoteFromEvent()})),this.menu.addItem(i=>i.setTitle(this.t("contextMenus.ics.linkNote")).setIcon("link").onClick(()=>{this.linkExistingNote()})),this.menu.addSeparator(),this.menu.addItem(i=>i.setTitle(this.t("contextMenus.ics.copyTitle")).setIcon("copy").onClick(async()=>{try{await navigator.clipboard.writeText(e.title),new fi.Notice(this.t("contextMenus.ics.notices.copyTitleSuccess"))}catch(s){new fi.Notice(this.t("contextMenus.ics.notices.copyFailure"))}})),e.location&&this.menu.addItem(i=>i.setTitle(this.t("contextMenus.ics.copyLocation")).setIcon("map-pin").onClick(async()=>{try{await navigator.clipboard.writeText(e.location||""),new fi.Notice(this.t("contextMenus.ics.notices.copyLocationSuccess"))}catch(s){new fi.Notice(this.t("contextMenus.ics.notices.copyFailure"))}})),e.url&&this.menu.addItem(i=>i.setTitle(this.t("contextMenus.ics.copyUrl")).setIcon("external-link").onClick(async()=>{try{await navigator.clipboard.writeText(e.url||""),new fi.Notice(this.t("contextMenus.ics.notices.copyUrlSuccess"))}catch(s){new fi.Notice(this.t("contextMenus.ics.notices.copyFailure"))}})),this.menu.addItem(i=>i.setTitle(this.t("contextMenus.ics.copyMarkdown")).setIcon("file-text").onClick(async()=>{let s=this.formatEventAsMarkdown();try{await navigator.clipboard.writeText(s),new fi.Notice(this.t("contextMenus.ics.notices.copyMarkdownSuccess"))}catch(a){new fi.Notice(this.t("contextMenus.ics.notices.copyFailure"))}}))}async createTaskFromEvent(){await Us.execute(async()=>{let e=await this.options.plugin.icsNoteService.createTaskFromICS(this.options.icsEvent);new fi.Notice(this.t("contextMenus.ics.notices.taskCreated",{title:e.taskInfo.title}));let t=this.options.plugin.app.vault.getAbstractFileByPath(e.file.path);t instanceof fi.TFile&&await this.options.plugin.app.workspace.getLeaf().openFile(t),this.options.onUpdate&&this.options.onUpdate()},{errorMessage:this.t("contextMenus.ics.notices.taskCreateFailure")})}createNoteFromEvent(){try{new Mv(this.options.plugin.app,this.options.plugin,{icsEvent:this.options.icsEvent,subscriptionName:this.options.subscriptionName||this.t("contextMenus.ics.subscriptionUnknown"),onContentCreated:t=>{(async()=>(new fi.Notice(this.t("contextMenus.ics.notices.noteCreated")),await this.options.plugin.app.workspace.getLeaf().openFile(t),this.options.onUpdate&&this.options.onUpdate()))()}}).open()}catch(e){console.error("Error opening creation modal:",e),new fi.Notice(this.t("contextMenus.ics.notices.creationFailure"))}}async linkExistingNote(){await Us.execute(async()=>{Ou(this.options.plugin,e=>{e instanceof fi.TAbstractFile&&Us.execute(async()=>{await this.options.plugin.icsNoteService.linkNoteToICS(e.path,this.options.icsEvent),new fi.Notice(this.t("contextMenus.ics.notices.linkSuccess",{name:e.name})),this.options.onUpdate&&this.options.onUpdate()},{errorMessage:this.t("contextMenus.ics.notices.linkFailure")})},{placeholder:"Search notes to link...",filter:"markdown"})},{errorMessage:this.t("contextMenus.ics.notices.linkSelectionFailure")})}formatEventAsMarkdown(){let{icsEvent:e,subscriptionName:t}=this.options,n=[],i=e.title||this.t("contextMenus.ics.markdown.titleFallback");n.push(`## ${i}`),n.push(""),t&&n.push(this.t("contextMenus.ics.markdown.calendar",{value:t}));let s=this.getLocale(),a=e.allDay&&/^\d{4}-\d{2}-\d{2}$/.test(e.start)?e.start+"T00:00:00":e.start,o=new Date(a),l=new Intl.DateTimeFormat(s,{weekday:"long",year:"numeric",month:"long",day:"numeric"}),c=new Intl.DateTimeFormat(s,{hour:"numeric",minute:"2-digit"}),d=l.format(o);if(!e.allDay&&(d+=this.t("contextMenus.ics.markdown.at",{time:c.format(o)}),e.end)){let u=/^\d{4}-\d{2}-\d{2}$/.test(e.end)?e.end+"T00:00:00":e.end,p=new Date(u);d+=` - ${c.format(p)}`}return n.push(this.t("contextMenus.ics.markdown.date",{value:d})),e.location&&n.push(this.t("contextMenus.ics.markdown.location",{value:e.location})),e.description&&(n.push(""),n.push(this.t("contextMenus.ics.markdown.descriptionHeading")),n.push(e.description)),e.url&&(n.push(""),n.push(this.t("contextMenus.ics.markdown.url",{value:e.url}))),n.join(`
`)}show(e){this.menu.showAtMouseEvent(e)}showAtElement(e){this.menu.showAtPosition({x:e.getBoundingClientRect().left,y:e.getBoundingClientRect().bottom+4})}}});function Tst(r,e){try{if(!r.start)return"";let t=new Date(r.start);if(r.allDay)return e.i18n.translate("ui.icsCard.allDay");let n=e.settings.calendarViewSettings.timeFormat,i=fg(t,n);if(r.end){let s=new Date(r.end),a=fg(s,n);return`${i} \u2013 ${a}`}return i}catch(t){return""}}function J0e(r,e,t={}){var h;let n=activeDocument.createElement("div");n.className="task-card task-card--ics",n.dataset.key=r.id;let i=(h=e.icsSubscriptionService)==null?void 0:h.getSubscriptions().find(g=>g.id===r.subscriptionId),s=r.color||(i==null?void 0:i.color)||"var(--color-accent)",a=(i==null?void 0:i.name)||e.i18n.translate("ui.icsCard.calendarFallback"),o=n.createEl("div",{cls:"task-card__main-row"}),l=o.createEl("span",{cls:"ics-card__icon"}),c=l.createDiv({attr:{"aria-label":e.i18n.translate("ui.icsCard.calendarEvent")}});(0,Q0e.setIcon)(c,"calendar");let d=l;d.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),d.classList.add("tn-static-display-inline-flex-f984c520"),d.classList.remove("tn-static-width-100-0466783d","tn-static-width-12px-fbf353fb","tn-static-width-1px-aa77e27e","tn-static-width-200px-2acaf3b5","tn-static-width-60px-bd09c419","tn-static-width-80px-8573bae3"),d.classList.add("tn-static-width-16px-7375d50b"),d.classList.remove("tn-static-display-flex-4d51fc62","tn-static-height-0-7a31cef0","tn-static-height-100-62264068","tn-static-height-12px-06c0747e","tn-static-height-24px-29a11d37","tn-static-min-height-800px-997b4c8c"),d.classList.add("tn-static-height-16px-30de4aee"),d.classList.remove("tn-static-margin-right-4px-c6b76b85"),d.classList.add("tn-static-margin-right-8px-539fa9a0"),d.classList.remove("tn-static-align-items-baseline-4b95b5c7","tn-static-align-items-flex-start-0486f781"),d.classList.add("tn-static-align-items-center-7c619740"),d.classList.remove("tn-static-justify-content-flex-end-455f8cca","tn-static-justify-content-space-between-a562f4fd"),d.classList.add("tn-static-justify-content-center-03c4bb6f"),d.classList.add("tn-static-flex-shrink-0-6ee0661e"),c.classList.remove("tn-static-width-12px-fbf353fb","tn-static-width-16px-7375d50b","tn-static-width-1px-aa77e27e","tn-static-width-200px-2acaf3b5","tn-static-width-60px-bd09c419","tn-static-width-80px-8573bae3"),c.classList.add("tn-static-width-100-0466783d"),c.classList.remove("tn-static-display-flex-4d51fc62","tn-static-height-0-7a31cef0","tn-static-height-12px-06c0747e","tn-static-height-16px-30de4aee","tn-static-height-24px-29a11d37","tn-static-min-height-800px-997b4c8c"),c.classList.add("tn-static-height-100-62264068"),c.style.color=s;let u=o.createEl("div",{cls:"task-card__content"});u.createEl("div",{cls:"task-card__title",text:r.title||e.i18n.translate("ui.icsCard.untitledEvent")});let p=u.createEl("div",{cls:"task-card__metadata"}),m=[],f=Tst(r,e);return f&&m.push(f),r.location&&m.push(r.location),m.push(a),p.textContent=m.join(" \u2022 "),n.addEventListener("click",()=>{new Ip(e.app,e,r,a).open()}),n.addEventListener("contextmenu",g=>{g.preventDefault(),g.stopPropagation(),new Av({icsEvent:r,plugin:e,subscriptionName:a,onUpdate:()=>{e.app.workspace.trigger("tasknotes:refresh-views")}}).show(g)}),n.style.setProperty("--current-status-color",s),n}var Q0e,X0e=v(()=>{Q0e=require("obsidian");S9();Qe();xI()});function tDe(r,e,t,n={}){var u,p,m;let i={...kst,...n},s=activeDocument.createElement("div");s.className="task-card task-card--property-event";let a=r.file;if(!a)return s.textContent=e.i18n.translate("ui.propertyEventCard.unknownFile"),s;s.dataset.key=`property-${a.path}`,s.dataset.filePath=a.path;let o=s.createEl("div",{cls:"task-card__main-row"}),l=o.createEl("span",{cls:"property-event-card__icon"}),c=l.createDiv();(0,eDe.setIcon)(c,"file-text"),l.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),l.classList.add("tn-static-display-inline-flex-f984c520"),l.classList.remove("tn-static-width-100-0466783d","tn-static-width-12px-fbf353fb","tn-static-width-1px-aa77e27e","tn-static-width-200px-2acaf3b5","tn-static-width-60px-bd09c419","tn-static-width-80px-8573bae3"),l.classList.add("tn-static-width-16px-7375d50b"),l.classList.remove("tn-static-display-flex-4d51fc62","tn-static-height-0-7a31cef0","tn-static-height-100-62264068","tn-static-height-12px-06c0747e","tn-static-height-24px-29a11d37","tn-static-min-height-800px-997b4c8c"),l.classList.add("tn-static-height-16px-30de4aee"),l.classList.remove("tn-static-margin-right-4px-c6b76b85"),l.classList.add("tn-static-margin-right-8px-539fa9a0"),l.classList.remove("tn-static-align-items-baseline-4b95b5c7","tn-static-align-items-flex-start-0486f781"),l.classList.add("tn-static-align-items-center-7c619740"),l.classList.remove("tn-static-justify-content-flex-end-455f8cca","tn-static-justify-content-space-between-a562f4fd"),l.classList.add("tn-static-justify-content-center-03c4bb6f"),l.classList.add("tn-static-flex-shrink-0-6ee0661e"),c.classList.remove("tn-static-width-12px-fbf353fb","tn-static-width-16px-7375d50b","tn-static-width-1px-aa77e27e","tn-static-width-200px-2acaf3b5","tn-static-width-60px-bd09c419","tn-static-width-80px-8573bae3"),c.classList.add("tn-static-width-100-0466783d"),c.classList.remove("tn-static-display-flex-4d51fc62","tn-static-height-0-7a31cef0","tn-static-height-12px-06c0747e","tn-static-height-16px-30de4aee","tn-static-height-24px-29a11d37","tn-static-min-height-800px-997b4c8c"),c.classList.add("tn-static-height-100-62264068"),c.classList.remove("tn-static-color-var-text-accent-65b47ee3","tn-static-color-var-text-muted-5872de20","tn-static-color-var-text-on-accent-f3e1679d","tn-static-color-var-text-warning-783d5f03","tn-static-color-var-tn-text-muted-a90fb6f3","tn-static-color-white-0a43e56a","tn-static-cursor-pointer-2723efcc","tn-static-font-size-12px-65574819","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-margin-2px-0-edce9b14","tn-static-padding-20px-7a035d95","tn-static-padding-20px-ebe8e48c"),c.classList.add("tn-static-color-var-color-accent-d2cad743");let d=o.createEl("div",{cls:"task-card__content"});if(d.createEl("div",{cls:"task-card__title",text:a.basename||a.name}),i.showProperties&&t){let f=d.createEl("div",{cls:"task-card__metadata"}),h=0;try{let g=f.ownerDocument,y=((u=t.getOrder)==null?void 0:u.call(t))||[],k=(p=t.getAsPropertyId)==null?void 0:p.call(t,"startDateProperty"),T=(m=t.getAsPropertyId)==null?void 0:m.call(t,"endDateProperty");for(let w of y){if(w===k||w===T)continue;let S=r.getValue(w);if(!Rw(S)){h>0&&f.appendChild(g.createTextNode(" \u2022 "));let E=t.getDisplayName(w)||w,C=f.createSpan({cls:"property-event-card__metadata-property"});C.createSpan({text:`${E}: `});let D=C.createSpan({cls:"property-event-card__metadata-value"});YC(D,S,e.app.renderContext),h++}}}catch(g){console.debug("[TaskNotes][PropertyEventCard] Error reading properties:",g)}h===0&&(f.textContent=a.path)}return s.addEventListener("click",f=>{let h=f.ctrlKey||f.metaKey;e.app.workspace.openLinkText(a.path,"",h)}),s.addEventListener("mouseover",f=>{e.app.workspace.trigger("hover-link",{event:f,source:"tasknotes-property-event-card",hoverParent:s,targetEl:s,linktext:a.path,sourcePath:a.path})}),s.setCssProps({"--current-status-color":"var(--color-accent)"}),s}var eDe,kst,rDe=v(()=>{eDe=require("obsidian");KC();kst={showProperties:!0}});function iDe(r,e,t={}){let n={...wst,...t},i=activeDocument.createElement("div");i.className="task-card task-card--timeblock",i.dataset.key=`timeblock-${r.id}`;let s=i.createEl("div",{cls:"task-card__main-row"}),a=s.createEl("span",{cls:"timeblock-card__icon"}),o=a.createDiv();(0,nDe.setIcon)(o,"clock"),a.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),a.classList.add("tn-static-display-inline-flex-f984c520"),a.classList.remove("tn-static-width-100-0466783d","tn-static-width-12px-fbf353fb","tn-static-width-1px-aa77e27e","tn-static-width-200px-2acaf3b5","tn-static-width-60px-bd09c419","tn-static-width-80px-8573bae3"),a.classList.add("tn-static-width-16px-7375d50b"),a.classList.remove("tn-static-display-flex-4d51fc62","tn-static-height-0-7a31cef0","tn-static-height-100-62264068","tn-static-height-12px-06c0747e","tn-static-height-24px-29a11d37","tn-static-min-height-800px-997b4c8c"),a.classList.add("tn-static-height-16px-30de4aee"),a.classList.remove("tn-static-margin-right-4px-c6b76b85"),a.classList.add("tn-static-margin-right-8px-539fa9a0"),a.classList.remove("tn-static-align-items-baseline-4b95b5c7","tn-static-align-items-flex-start-0486f781"),a.classList.add("tn-static-align-items-center-7c619740"),a.classList.remove("tn-static-justify-content-flex-end-455f8cca","tn-static-justify-content-space-between-a562f4fd"),a.classList.add("tn-static-justify-content-center-03c4bb6f"),a.classList.add("tn-static-flex-shrink-0-6ee0661e"),o.classList.remove("tn-static-width-12px-fbf353fb","tn-static-width-16px-7375d50b","tn-static-width-1px-aa77e27e","tn-static-width-200px-2acaf3b5","tn-static-width-60px-bd09c419","tn-static-width-80px-8573bae3"),o.classList.add("tn-static-width-100-0466783d"),o.classList.remove("tn-static-display-flex-4d51fc62","tn-static-height-0-7a31cef0","tn-static-height-12px-06c0747e","tn-static-height-16px-30de4aee","tn-static-height-24px-29a11d37","tn-static-min-height-800px-997b4c8c"),o.classList.add("tn-static-height-100-62264068"),o.style.color=r.color||"var(--color-accent)";let l=s.createEl("div",{cls:"task-card__content"}),c=r.title||"Timeblock",d=`${r.startTime} - ${r.endTime}`;l.createEl("div",{cls:"task-card__title",text:c});let u=l.createEl("div",{cls:"task-card__metadata"});if(u.textContent=d,n.showDescription&&r.description){let p=l.createEl("div",{cls:"task-card__description",text:r.description});p.classList.remove("tn-static-font-size-0-75em-948e16e5","tn-static-font-size-0-8em-19dc7c13","tn-static-font-size-0-9em-65025e95","tn-static-font-size-1-2em-3a352995","tn-static-font-size-12px-65574819","tn-static-font-size-12px-b0cc7e05","tn-static-margin-8px-0-0-0-a2eb8382","tn-static-margin-top-8px-f4f01e68"),p.classList.add("tn-static-font-size-var-tn-font-size-sm-0274a31d"),p.classList.remove("tn-static-color-var-color-accent-d2cad743","tn-static-color-var-text-accent-65b47ee3","tn-static-color-var-text-muted-5872de20","tn-static-color-var-text-on-accent-f3e1679d","tn-static-color-var-text-warning-783d5f03","tn-static-color-white-0a43e56a","tn-static-cursor-pointer-2723efcc","tn-static-font-size-12px-65574819","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-margin-2px-0-edce9b14","tn-static-padding-20px-7a035d95","tn-static-padding-20px-ebe8e48c"),p.classList.add("tn-static-color-var-tn-text-muted-a90fb6f3"),p.classList.remove("tn-static-font-size-12px-b0cc7e05","tn-static-margin-top-0-5rem-3dc98b5e","tn-static-margin-top-0-d462248a","tn-static-margin-top-12px-91e0f558","tn-static-margin-top-16px-1b0f4999","tn-static-margin-top-1rem-2239d6d5","tn-static-margin-top-20px-a26bda7d","tn-static-margin-top-30px-2fbbbcd4","tn-static-margin-top-8px-8a77e5a3","tn-static-margin-top-8px-f4f01e68"),p.classList.add("tn-static-margin-top-4px-96ad6099")}if(n.showAttachments&&r.attachments&&r.attachments.length>0){let p=l.createEl("div",{cls:"timeblock-card__attachments"});p.classList.remove("tn-static-font-size-0-75em-948e16e5","tn-static-font-size-0-8em-19dc7c13","tn-static-font-size-0-9em-65025e95","tn-static-font-size-1-2em-3a352995","tn-static-font-size-12px-65574819","tn-static-font-size-12px-b0cc7e05","tn-static-margin-8px-0-0-0-a2eb8382","tn-static-margin-top-8px-f4f01e68"),p.classList.add("tn-static-font-size-var-tn-font-size-sm-0274a31d"),p.classList.remove("tn-static-color-var-color-accent-d2cad743","tn-static-color-var-text-accent-65b47ee3","tn-static-color-var-text-muted-5872de20","tn-static-color-var-text-on-accent-f3e1679d","tn-static-color-var-text-warning-783d5f03","tn-static-color-white-0a43e56a","tn-static-cursor-pointer-2723efcc","tn-static-font-size-12px-65574819","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-margin-2px-0-edce9b14","tn-static-padding-20px-7a035d95","tn-static-padding-20px-ebe8e48c"),p.classList.add("tn-static-color-var-tn-text-muted-a90fb6f3"),p.classList.remove("tn-static-font-size-12px-b0cc7e05","tn-static-margin-top-0-5rem-3dc98b5e","tn-static-margin-top-0-d462248a","tn-static-margin-top-12px-91e0f558","tn-static-margin-top-16px-1b0f4999","tn-static-margin-top-1rem-2239d6d5","tn-static-margin-top-20px-a26bda7d","tn-static-margin-top-30px-2fbbbcd4","tn-static-margin-top-8px-8a77e5a3","tn-static-margin-top-8px-f4f01e68"),p.classList.add("tn-static-margin-top-4px-96ad6099");let m=r.attachments.length===1?"1 attachment":`${r.attachments.length} attachments`;p.textContent=`\u{1F4CE} ${m}`}return i.addEventListener("click",p=>{n.eventDate&&n.originalDate&&TI(r,n.eventDate,n.originalDate,e)}),r.color?i.style.setProperty("--current-status-color",r.color):i.setCssProps({"--current-status-color":"var(--color-accent)"}),i}var nDe,wst,sDe=v(()=>{nDe=require("obsidian");k9();wst={showDescription:!0,showAttachments:!0}});function aDe(r,e){return r.initialDate===e.initialDate&&r.initialDateProperty===e.initialDateProperty&&r.initialDateStrategy===e.initialDateStrategy}var oDe=v(()=>{});function lDe(r){return typeof r=="object"&&r!==null}function xst(r){return lDe(r)}function EI(r){if(typeof r=="string"){let e=r.trim();if(!e)return null;if($r(e)){let t=Mr(e);return isNaN(t.getTime())?null:{value:P(t,"yyyy-MM-dd'T'HH:mm"),isAllDay:!1}}try{let t=st(e);return{value:ue(t),isAllDay:!0}}catch(t){return null}}if(typeof r=="number"){let e=new Date(r);return isNaN(e.getTime())?null:{value:ue(e),isAllDay:!0}}return r instanceof Date?isNaN(r.getTime())?null:r.getHours()!==0||r.getMinutes()!==0||r.getSeconds()!==0||r.getMilliseconds()!==0?{value:P(r,"yyyy-MM-dd'T'HH:mm"),isAllDay:!1}:{value:ue(r),isAllDay:!0}:null}function Est(r,e){return e<=1?!1:r==="timeGridWeek"||r==="timeGridCustom"}function Dst(r,e,t){if(t<=1||r.length<=1)return null;let n=Array.from(new Set(r));if(!n.includes(e))return null;let i=100/(n.length-1+t),s=i*t;return new Map(n.map(a=>[a,`${a===e?s:i}%`]))}function cDe(r){return function(e,t){if(!t)throw console.error("[TaskNotes][CalendarView] No containerEl provided"),new Error("CalendarView requires a containerEl");return new x9(e,t,r)}}var us,Sst,x9,dDe=v(()=>{Ux();$A();Af();h0e();x0e();P0e();N2();M0e();k9();S$();cP();Z0e();xI();us=require("obsidian");Tn();$i();X0e();rDe();sDe();T$();S9();Qe();oDe();Sst=dM;x9=class extends fc{constructor(t,n,i){super(t,n,i);this.type="tasknotesCalendar";this.calendar=null;this.calendarEl=null;this.currentTasks=[];this.basesEntryByPath=new Map;this._isRendering=!1;this._pendingRender=!1;this._expectingImmediateUpdate=!1;this._isFirstDataUpdate=!0;this._previousConfigSnapshot=null;this._saveViewTypeTimer=null;this._configChangedNeedsRecreate=!1;this._recreateTargetDate=null;this.icsCalendarToggles=new Map;this.googleCalendarToggles=new Map;this.microsoftCalendarToggles=new Map;this.configLoaded=!1;this.dataAdapter.basesView=this;let s=this.plugin.settings.calendarViewSettings;this.viewOptions={showScheduled:s.defaultShowScheduled,showDue:s.defaultShowDue,showScheduledToDueSpan:s.defaultShowScheduledToDueSpan,showRecurring:s.defaultShowRecurring,showTimeEntries:s.defaultShowTimeEntries,showTimeblocks:s.defaultShowTimeblocks,showPropertyBasedEvents:!0,initialDate:"",initialDateProperty:null,initialDateStrategy:"first",calendarView:s.defaultView,customDayCount:s.customDayCount,listDayCount:7,slotMinTime:this.validateTimeValue(s.slotMinTime,"00:00:00",!1),slotMaxTime:this.validateTimeValue(s.slotMaxTime,"24:00:00",!0),slotDuration:this.validateTimeValue(s.slotDuration,"00:30:00",!1),scrollTime:this.validateTimeValue(s.scrollTime,"08:00:00",!1),firstDay:s.firstDay,weekNumbers:s.weekNumbers,nowIndicator:s.nowIndicator,showWeekends:s.showWeekends,showAllDaySlot:!0,showTodayHighlight:s.showTodayHighlight,todayColumnWidthMultiplier:1,selectMirror:s.selectMirror,timeFormat:s.timeFormat,eventMinHeight:s.eventMinHeight,slotEventOverlap:s.slotEventOverlap,eventMaxStack:s.eventMaxStack,dayMaxEvents:s.dayMaxEvents,dayMaxEventRows:s.dayMaxEventRows,locale:s.locale,startDateProperty:null,endDateProperty:null,titleProperty:null}}onload(){this.readViewOptions(),this._previousConfigSnapshot=this.getConfigSnapshot(),super.onload()}onResize(){this.calendar&&(this.calendar.updateSize(),this.scheduleTodayColumnWidthUpdate())}onDataUpdated(){var n;if(!((n=this.rootElement)!=null&&n.isConnected))return;if(this.dataUpdateDebounceTimer&&(window.clearTimeout(this.dataUpdateDebounceTimer),this.dataUpdateDebounceTimer=null),this._isFirstDataUpdate){this._isFirstDataUpdate=!1,this.render();return}if(this._expectingImmediateUpdate){this._expectingImmediateUpdate=!1,this.render();return}if(this.hasConfigChanged()){this._configChangedNeedsRecreate=!0,this.render();return}let t=this.containerEl.ownerDocument.defaultView||window;this.dataUpdateDebounceTimer=t.setTimeout(()=>{this.dataUpdateDebounceTimer=null,this.render()},5e3)}expectImmediateUpdate(){this._expectingImmediateUpdate=!0,window.setTimeout(()=>{this._expectingImmediateUpdate=!1},2e3)}getConfigSnapshot(){if(!this.config||typeof this.config.get!="function")return"";let t=[this.config.get("showScheduled"),this.config.get("showDue"),this.config.get("showScheduledToDueSpan"),this.config.get("showRecurring"),this.config.get("showTimeEntries"),this.config.get("showTimeblocks"),this.config.get("showPropertyBasedEvents"),this.config.get("calendarView"),this.config.get("customDayCount"),this.config.get("listDayCount"),this.config.get("slotMinTime"),this.config.get("slotMaxTime"),this.config.get("slotDuration"),this.config.get("firstDay"),this.config.get("weekNumbers"),this.config.get("nowIndicator"),this.config.get("showWeekends"),this.config.get("showAllDaySlot"),this.config.get("showTodayHighlight"),this.config.get("todayColumnWidthMultiplier"),this.config.get("selectMirror"),this.config.get("timeFormat"),this.config.get("scrollTime"),this.config.get("eventMinHeight"),this.config.get("slotEventOverlap"),this.config.get("eventMaxStack"),this.config.get("dayMaxEvents"),this.config.get("dayMaxEventRows"),this.config.get("startDateProperty"),this.config.get("endDateProperty"),this.config.get("titleProperty"),this.config.get("initialDate"),this.config.get("initialDateProperty"),this.config.get("initialDateStrategy")];if(this.plugin.icsSubscriptionService)for(let n of this.plugin.icsSubscriptionService.getSubscriptions())t.push(this.config.get(`showICS_${n.id}`));if(this.plugin.googleCalendarService)for(let n of this.plugin.googleCalendarService.getAvailableCalendars())t.push(this.config.get(`showGoogleCalendar_${n.id}`));if(this.plugin.microsoftCalendarService)for(let n of this.plugin.microsoftCalendarService.getAvailableCalendars())t.push(this.config.get(`showMicrosoftCalendar_${n.id}`));return JSON.stringify(t)}hasConfigChanged(){let t=this.getConfigSnapshot();return this._previousConfigSnapshot===null?(this._previousConfigSnapshot=t,!1):t!==this._previousConfigSnapshot?(this._previousConfigSnapshot=t,!0):!1}validateTimeValue(t,n,i=!1){if(!t)return n;if(/^\d{2}:\d{2}:\d{2}$/.test(t)){let[s,a]=t.split(":").map(Number),o=i?24:23;return s<0||s>o||a<0||a>59?(console.warn(`[TaskNotes][CalendarView] Invalid time value: ${t}, using default: ${n}`),n):s===24&&a!==0?(console.warn(`[TaskNotes][CalendarView] Invalid time value: ${t}, using default: ${n}`),n):t}if(/^\d{2}:\d{2}$/.test(t)){let[s,a]=t.split(":").map(Number),o=i?24:23;return s<0||s>o||a<0||a>59?(console.warn(`[TaskNotes][CalendarView] Invalid time value: ${t}, using default: ${n}`),n):s===24&&a!==0?(console.warn(`[TaskNotes][CalendarView] Invalid time value: ${t}, using default: ${n}`),n):`${t}:00`}return console.warn(`[TaskNotes][CalendarView] Invalid time format: ${t}, using default: ${n}`),n}getConfigOption(t,n){let i=this.config.get(t);return i==null?n:i}readEventToggles(){if(!(!this.config||typeof this.config.get!="function"))try{if(this.viewOptions.showScheduled=this.getConfigOption("showScheduled",this.viewOptions.showScheduled),this.viewOptions.showDue=this.getConfigOption("showDue",this.viewOptions.showDue),this.viewOptions.showScheduledToDueSpan=this.getConfigOption("showScheduledToDueSpan",this.viewOptions.showScheduledToDueSpan),this.viewOptions.showRecurring=this.getConfigOption("showRecurring",this.viewOptions.showRecurring),this.viewOptions.showTimeEntries=this.getConfigOption("showTimeEntries",this.viewOptions.showTimeEntries),this.viewOptions.showTimeblocks=this.getConfigOption("showTimeblocks",this.viewOptions.showTimeblocks),this.viewOptions.showPropertyBasedEvents=this.getConfigOption("showPropertyBasedEvents",this.viewOptions.showPropertyBasedEvents),this.plugin.icsSubscriptionService){let t=this.plugin.icsSubscriptionService.getSubscriptions();for(let n of t){let i=`showICS_${n.id}`;this.icsCalendarToggles.set(n.id,this.getConfigOption(i,!0))}}if(this.plugin.googleCalendarService){let t=this.plugin.googleCalendarService.getAvailableCalendars();for(let n of t){let i=`showGoogleCalendar_${n.id}`;this.googleCalendarToggles.set(n.id,this.getConfigOption(i,!0))}}if(this.plugin.microsoftCalendarService){let t=this.plugin.microsoftCalendarService.getAvailableCalendars();for(let n of t){let i=`showMicrosoftCalendar_${n.id}`;this.microsoftCalendarToggles.set(n.id,this.getConfigOption(i,!0))}}}catch(t){console.error("[TaskNotes][CalendarView] Error reading event toggles:",t)}}readViewOptions(){if(!(!this.config||typeof this.config.get!="function"))try{this.readEventToggles(),this.viewOptions.initialDate=this.getConfigOption("initialDate",this.viewOptions.initialDate),this.viewOptions.initialDateProperty=this.getConfigOption("initialDateProperty",this.viewOptions.initialDateProperty),this.viewOptions.initialDateStrategy=this.getConfigOption("initialDateStrategy",this.viewOptions.initialDateStrategy),this.viewOptions.calendarView=this.getConfigOption("calendarView",this.viewOptions.calendarView),this.viewOptions.customDayCount=this.getConfigOption("customDayCount",this.viewOptions.customDayCount),this.viewOptions.listDayCount=this.getConfigOption("listDayCount",this.viewOptions.listDayCount),this.viewOptions.slotMinTime=this.validateTimeValue(this.getConfigOption("slotMinTime",void 0),this.viewOptions.slotMinTime,!1),this.viewOptions.slotMaxTime=this.validateTimeValue(this.getConfigOption("slotMaxTime",void 0),this.viewOptions.slotMaxTime,!0),this.viewOptions.slotDuration=this.validateTimeValue(this.getConfigOption("slotDuration",void 0),this.viewOptions.slotDuration,!1),this.viewOptions.scrollTime=this.validateTimeValue(this.getConfigOption("scrollTime",void 0),this.viewOptions.scrollTime,!1),this.viewOptions.firstDay=Number(this.getConfigOption("firstDay",this.viewOptions.firstDay)),this.viewOptions.weekNumbers=this.getConfigOption("weekNumbers",this.viewOptions.weekNumbers),this.viewOptions.nowIndicator=this.getConfigOption("nowIndicator",this.viewOptions.nowIndicator),this.viewOptions.showWeekends=this.getConfigOption("showWeekends",this.viewOptions.showWeekends),this.viewOptions.showAllDaySlot=this.getConfigOption("showAllDaySlot",this.viewOptions.showAllDaySlot),this.viewOptions.showTodayHighlight=this.getConfigOption("showTodayHighlight",this.viewOptions.showTodayHighlight);let t=Number(this.getConfigOption("todayColumnWidthMultiplier",1));this.viewOptions.todayColumnWidthMultiplier=t>=1&&t<=5?Math.round(t*2)/2:1,this.viewOptions.selectMirror=this.getConfigOption("selectMirror",this.viewOptions.selectMirror),this.viewOptions.timeFormat=this.getConfigOption("timeFormat",this.viewOptions.timeFormat),this.viewOptions.eventMinHeight=this.getConfigOption("eventMinHeight",this.viewOptions.eventMinHeight),this.viewOptions.slotEventOverlap=this.getConfigOption("slotEventOverlap",this.viewOptions.slotEventOverlap);let n=this.getConfigOption("eventMaxStack",void 0);n!==void 0&&(this.viewOptions.eventMaxStack=n===0?null:n);let i=this.getConfigOption("dayMaxEvents",void 0);i!==void 0&&(this.viewOptions.dayMaxEvents=i===0?!0:i);let s=this.getConfigOption("dayMaxEventRows",void 0);s!==void 0&&(this.viewOptions.dayMaxEventRows=s===0?!1:s),this.viewOptions.startDateProperty=this.getConfigOption("startDateProperty",this.viewOptions.startDateProperty),this.viewOptions.endDateProperty=this.getConfigOption("endDateProperty",this.viewOptions.endDateProperty),this.viewOptions.titleProperty=this.getConfigOption("titleProperty",this.viewOptions.titleProperty);let a=this.config.get("enableSearch");this.enableSearch=a!=null?a:!1,this.configLoaded=!0,this.calendar&&(this.applyTodayHighlightStyling(),this.scheduleTodayColumnWidthUpdate())}catch(t){console.error("[TaskNotes][CalendarView] Error reading view options:",t)}}async render(){var t,n,i;if(this._isRendering){this._pendingRender=!0;return}if(this._isRendering=!0,this._pendingRender=!1,!this.calendarEl||!this.rootElement){this._isRendering=!1;return}if(!((t=this.data)!=null&&t.data)){this._isRendering=!1;return}if(!this.configLoaded&&this.config)this.readViewOptions();else if(this.config)if(this._configChangedNeedsRecreate){this._configChangedNeedsRecreate=!1;let s=this.getNavigationConfigState();if(this.readViewOptions(),this.calendar){let a=this.getNavigationConfigState();this._recreateTargetDate=aDe(s,a)?this.calendar.getDate():null,this.calendar.destroy(),this.calendar=null}}else this.readEventToggles();this.rootElement&&this.setupSearch(this.rootElement);try{let s=this.dataAdapter.extractDataItems(),a=await Kf(s,this.plugin),o=this.applySearchFilter(a);if(this.currentTasks=o,this.basesEntryByPath.clear(),(n=this.data)!=null&&n.data)for(let l of this.data.data)(i=l.file)!=null&&i.path&&this.basesEntryByPath.set(l.file.path,l);this.calendar?await this.updateCalendarEvents(a):await this.initializeCalendar(a)}catch(s){console.error("[TaskNotes][CalendarView] Error rendering:",s),this.renderError(s instanceof Error?s:new Error(String(s)))}finally{this._isRendering=!1}this._pendingRender&&(this._pendingRender=!1,window.setTimeout(()=>void this.render(),0))}async initializeCalendar(t){var s,a;if(!this.calendarEl)return;let n=(s=this._recreateTargetDate)!=null?s:this.determineInitialDate(t),i={plugins:[f0e,S0e,C0e,Cfe,_0e],initialView:this.viewOptions.calendarView,initialDate:n,headerToolbar:{left:"prev,next today refreshCalendars",center:"title",right:"multiMonthYear,dayGridMonth,timeGridWeek,timeGridCustom,timeGridDay,listWeekButton"},buttonText:{today:this.plugin.i18n.translate("views.basesCalendar.today"),month:this.plugin.i18n.translate("views.basesCalendar.buttonText.month"),week:this.plugin.i18n.translate("views.basesCalendar.buttonText.week"),day:this.plugin.i18n.translate("views.basesCalendar.buttonText.day"),year:this.plugin.i18n.translate("views.basesCalendar.buttonText.year"),list:this.plugin.i18n.translate("views.basesCalendar.buttonText.list")},buttonHints:{today:this.plugin.i18n.translate("views.basesCalendar.hints.today")||"Go to today",prev:this.plugin.i18n.translate("views.basesCalendar.hints.prev")||"Previous",next:this.plugin.i18n.translate("views.basesCalendar.hints.next")||"Next",month:this.plugin.i18n.translate("views.basesCalendar.hints.month")||"Month view",week:this.plugin.i18n.translate("views.basesCalendar.hints.week")||"Week view",day:this.plugin.i18n.translate("views.basesCalendar.hints.day")||"Day view",year:this.plugin.i18n.translate("views.basesCalendar.hints.year")||"Year view",list:this.plugin.i18n.translate("views.basesCalendar.hints.list")||"List view"},customButtons:{listWeekButton:{text:this.plugin.i18n.translate("views.basesCalendar.buttonText.list"),hint:this.plugin.i18n.translate("views.basesCalendar.hints.list")||"List view",click:()=>{var o;this.calendar&&((o=this.calendar.view)==null?void 0:o.type)!=="listWeek"&&this.calendar.changeView("listWeek")}},refreshCalendars:{text:this.plugin.i18n.translate("views.basesCalendar.buttonText.refresh")||"Refresh",hint:this.plugin.i18n.translate("views.basesCalendar.hints.refresh")||"Refresh calendar subscriptions",click:()=>{this.refreshExternalCalendars()}}},views:{timeGridCustom:{type:"timeGrid",duration:{days:this.viewOptions.customDayCount},buttonText:this.plugin.i18n.translate("views.basesCalendar.buttonText.customDays",{count:this.viewOptions.customDayCount.toString()}),titleFormat:{year:"numeric",month:"short",day:"numeric"}},listWeek:{type:"list",duration:{days:this.viewOptions.listDayCount},buttonText:this.plugin.i18n.translate("views.basesCalendar.buttonText.listDays",{count:this.viewOptions.listDayCount.toString()})||`${this.viewOptions.listDayCount}d List`}},height:"100%",expandRows:!0,handleWindowResize:!0,stickyHeaderDates:!1,locale:this.viewOptions.locale||this.plugin.settings.uiLanguage||navigator.language||"en",slotMinTime:this.viewOptions.slotMinTime,slotMaxTime:this.viewOptions.slotMaxTime,slotDuration:this.viewOptions.slotDuration,firstDay:this.viewOptions.firstDay,weekNumbers:this.viewOptions.weekNumbers,nowIndicator:this.viewOptions.nowIndicator,weekends:this.viewOptions.showWeekends,allDaySlot:this.viewOptions.showAllDaySlot,dayMaxEvents:this.viewOptions.dayMaxEvents,dayMaxEventRows:this.viewOptions.dayMaxEventRows,eventMaxStack:(a=this.viewOptions.eventMaxStack)!=null?a:void 0,navLinks:!0,navLinkDayClick:o=>{G0e(o,this.plugin)},editable:!0,selectable:!0,selectMirror:this.viewOptions.selectMirror,eventTimeFormat:{hour:"2-digit",minute:"2-digit",hour12:this.viewOptions.timeFormat==="12"},slotLabelFormat:{hour:"2-digit",minute:"2-digit",hour12:this.viewOptions.timeFormat==="12"},scrollTime:this.viewOptions.scrollTime,eventMinHeight:this.viewOptions.eventMinHeight,slotEventOverlap:this.viewOptions.slotEventOverlap,eventAllow:()=>!0,events:(o,l,c)=>{this.fetchEvents(o,l,c)},eventDidMount:o=>this.handleEventDidMount(o),eventClick:o=>{this.handleEventClick(o)},eventDrop:o=>{this.handleEventDrop(o)},eventResize:o=>{this.handleEventResize(o)},select:o=>{this.handleDateSelect(o)},viewDidMount:o=>{let l=o.view.type;l&&l!==this.viewOptions.calendarView&&(this.viewOptions.calendarView=l,this.debouncedSaveViewType(l)),this.scheduleTodayColumnWidthUpdate()},datesSet:()=>this.scheduleTodayColumnWidthUpdate()};this.calendar=new Sst(this.calendarEl,i),this.calendar.render(),this._recreateTargetDate=null,this.applyTodayHighlightStyling(),this.scheduleTodayColumnWidthUpdate()}async refreshExternalCalendars(){var t;try{this.plugin.icsSubscriptionService&&await this.plugin.icsSubscriptionService.refreshAllSubscriptions(),this.plugin.googleCalendarService&&await this.plugin.googleCalendarService.refreshAllCalendars(),this.plugin.microsoftCalendarService&&await this.plugin.microsoftCalendarService.refreshAllCalendars(),(t=this.calendar)==null||t.refetchEvents()}catch(n){console.error("[TaskNotes][CalendarView] Error refreshing calendars:",n)}}applyTodayHighlightStyling(){this.calendarEl&&(this.viewOptions.showTodayHighlight?this.calendarEl.classList.remove("hide-today-highlight"):this.calendarEl.classList.add("hide-today-highlight"))}scheduleTodayColumnWidthUpdate(){(this.containerEl.ownerDocument.defaultView||window).setTimeout(()=>this.applyTodayColumnWidth(),0)}applyTodayColumnWidth(){var d;let t=this.calendar;if(!this.calendarEl||!t)return;let n=(d=t.view)==null?void 0:d.type;if(!n)return;let i=Array.from(this.calendarEl.querySelectorAll(".fc-col-header-cell[data-date]")),s=i.map(u=>u.dataset.date).filter(u=>!!u);if(this.resetTodayColumnWidths(s),!Est(n,this.viewOptions.todayColumnWidthMultiplier))return;let a=i.find(u=>u.classList.contains("fc-day-today")),o=a==null?void 0:a.dataset.date;if(!o)return;let l=Dst(s,o,this.viewOptions.todayColumnWidthMultiplier);if(!l)return;this.calendarEl.querySelectorAll(".fc-col-header-cell[data-date], .fc-timegrid-col[data-date], .fc-daygrid-day[data-date]").forEach(u=>{let p=u.dataset.date;if(!p)return;let m=l.get(p);m&&(u.style.width=m,u.style.minWidth=m,u.style.maxWidth=m)}),this.calendarEl.querySelectorAll("colgroup").forEach(u=>{let p=Array.from(u.querySelectorAll("col"));if(p.length<s.length)return;let m=p.length===s.length?p:p.slice(p.length-s.length);m.length===s.length&&m.forEach((f,h)=>{let g=l.get(s[h]);g&&(f.style.width=g)})})}resetTodayColumnWidths(t=[]){!this.calendarEl||(this.calendarEl.querySelectorAll(".fc-col-header-cell[data-date], .fc-timegrid-col[data-date], .fc-daygrid-day[data-date]").forEach(i=>{i.style.removeProperty("width"),i.style.removeProperty("min-width"),i.style.removeProperty("max-width")}),t.length===0)||this.calendarEl.querySelectorAll("colgroup").forEach(i=>{let s=Array.from(i.querySelectorAll("col"));if(s.length<t.length)return;let a=s.length===t.length?s:s.slice(s.length-t.length);a.length===t.length&&a.forEach(o=>{o.style.removeProperty("width")})})}debouncedSaveViewType(t){this._saveViewTypeTimer&&window.clearTimeout(this._saveViewTypeTimer),this._saveViewTypeTimer=window.setTimeout(()=>{this._saveViewTypeTimer=null;try{this.config&&typeof this.config.set=="function"&&(this.config.set("calendarView",t),console.debug("[TaskNotes][CalendarView] View type saved to config:",t))}catch(n){console.error("[TaskNotes][CalendarView] Failed to save view type:",n)}},1e3)}determineInitialDate(t){var n;if(this.viewOptions.initialDate){let i=EI(this.viewOptions.initialDate);return(n=i==null?void 0:i.value)!=null?n:this.viewOptions.initialDate}if(this.viewOptions.initialDateProperty){let i=this.viewOptions.initialDateProperty,s=this.propertyMapper.basesToTaskCardProperty(i),a=[];for(let o of t){let l=o[s],c=EI(l);if(!c)continue;let d=c.isAllDay?st(c.value):new Date(c.value);isNaN(d.getTime())||a.push({compare:d,value:c.value})}if(a.length>0)return this.viewOptions.initialDateStrategy==="earliest"?a.reduce((l,c)=>c.compare.getTime()<l.compare.getTime()?c:l).value:this.viewOptions.initialDateStrategy==="latest"?a.reduce((l,c)=>c.compare.getTime()>l.compare.getTime()?c:l).value:a[0].value}}getNavigationConfigState(){return{initialDate:this.viewOptions.initialDate,initialDateProperty:this.viewOptions.initialDateProperty,initialDateStrategy:this.viewOptions.initialDateStrategy}}async fetchEvents(t,n,i){try{let s=await this.buildAllEvents(t);n(s)}catch(s){console.error("[TaskNotes][CalendarView] Error fetching events:",s),i(s instanceof Error?s:new Error(String(s)))}}async buildAllEvents(t){let n=[],i={showScheduled:this.viewOptions.showScheduled,showDue:this.viewOptions.showDue,showScheduledToDueSpan:this.viewOptions.showScheduledToDueSpan,showRecurring:this.viewOptions.showRecurring,showTimeEntries:this.viewOptions.showTimeEntries,showTimeblocks:this.viewOptions.showTimeblocks,showICSEvents:!1,visibleStart:t.start,visibleEnd:t.end},s=await z0e(this.currentTasks,this.plugin,i);if(n.push(...s),this.viewOptions.showPropertyBasedEvents&&this.viewOptions.startDateProperty){let a=await this.buildPropertyBasedEvents();n.push(...a)}if(this.plugin.icsSubscriptionService){let a=await this.buildICSEvents();n.push(...a)}if(this.plugin.googleCalendarService){let a=await this.buildGoogleCalendarEvents();n.push(...a)}if(this.plugin.microsoftCalendarService){let a=await this.buildMicrosoftCalendarEvents();n.push(...a)}return n}async buildPropertyBasedEvents(){var n;if(!((n=this.data)!=null&&n.data))return[];if(!this.viewOptions.startDateProperty)return[];let t=[];for(let i of this.data.data)try{let s=i.file;if(!s)continue;let a=this.dataAdapter.getPropertyValue(i,this.viewOptions.startDateProperty),o=EI(a);if(!o)continue;let l=typeof o.value=="string"?o.value:P(o.value,"yyyy-MM-dd'T'HH:mm"),c,d=o.isAllDay;if(this.viewOptions.endDateProperty){let m=this.dataAdapter.getPropertyValue(i,this.viewOptions.endDateProperty),f=EI(m);f&&(c=typeof f.value=="string"?f.value:P(f.value,"yyyy-MM-dd'T'HH:mm"),d=f.isAllDay)}let u;if(this.viewOptions.titleProperty){let m=this.dataAdapter.getPropertyValue(i,this.viewOptions.titleProperty);m&&typeof m=="string"&&m.trim()&&(u=m.trim())}let p=o.isAllDay&&(c?d:!0);t.push({id:`property-${s.path}`,title:u||s.basename||s.name,start:l,end:c,allDay:p,backgroundColor:"var(--color-accent)",borderColor:"var(--color-accent)",textColor:"var(--text-on-accent)",editable:!0,extendedProps:{eventType:"property-based",filePath:s.path,file:s,basesEntry:i}})}catch(s){console.warn("[TaskNotes][CalendarView] Error processing property-based entry:",s)}return t}async buildICSEvents(){if(!this.plugin.icsSubscriptionService)return[];let t=[],n=this.plugin.icsSubscriptionService.getAllEvents();for(let i of n){if(this.icsCalendarToggles.get(i.subscriptionId)===!1)continue;let s=rE(i,this.plugin);s&&t.push(s)}return t}async buildGoogleCalendarEvents(){if(!this.plugin.googleCalendarService)return[];let t=[],n=this.plugin.googleCalendarService.getAllEvents();for(let i of n){let s=i.subscriptionId.replace("google-","");if(this.googleCalendarToggles.get(s)===!1)continue;let a=rE(i,this.plugin);a&&t.push(a)}return t}async buildMicrosoftCalendarEvents(){if(!this.plugin.microsoftCalendarService)return[];let t=[],n=this.plugin.microsoftCalendarService.getAllEvents();for(let i of n){let s=i.subscriptionId.replace("microsoft-","");if(this.microsoftCalendarToggles.get(s)===!1)continue;let a=rE(i,this.plugin);a&&t.push(a)}return t}async updateCalendarEvents(t){this.calendar&&this.calendar.refetchEvents()}async refreshCalendarWithFreshData(){if(this.calendar)try{let t=[];for(let n of this.currentTasks){let i=this.plugin.cacheManager.getCachedTaskInfoSync(n.path);i&&(i.basesData=n.basesData,t.push(i))}this.currentTasks=t,this.calendar.refetchEvents()}catch(t){console.error("[TaskNotes][CalendarView] Error refreshing calendar:",t)}}async handleEventClick(t){let{taskInfo:n,timeblock:i,eventType:s,filePath:a,icsEvent:o,subscriptionName:l}=t.event.extendedProps||{},c=t.jsEvent;if(s==="timeblock"&&i){let d=t.event.start;if(!d)return;let u=P(d,"yyyy-MM-dd");TI(i,d,u,this.plugin,()=>this.expectImmediateUpdate());return}if(s==="timeEntry"&&n&&c.button===0){this.plugin.openTimeEntryEditor(n,()=>this.expectImmediateUpdate());return}if(s==="ics"&&o){new Ip(this.plugin.app,this.plugin,o,l).open();return}if(s==="property-based"&&a){let d=this.plugin.app.vault.getAbstractFileByPath(a);if(d instanceof us.TFile){let p=c.ctrlKey||c.metaKey||c.button===1;this.plugin.app.workspace.getLeaf(p).openFile(d)}return}n!=null&&n.path&&c.button===0&&xce(n,this.plugin,c,t.event.id,()=>this.expectImmediateUpdate())}async handleEventDrop(t){var u,p;if(this.expectImmediateUpdate(),!((u=t==null?void 0:t.event)!=null&&u.extendedProps)){console.warn("[TaskNotes][CalendarView] Event dropped without extendedProps");return}let{taskInfo:n,timeblock:i,eventType:s,isRecurringInstance:a,isNextScheduledOccurrence:o,isPatternInstance:l,filePath:c,icsEvent:d}=t.event.extendedProps;if(s==="timeblock"){if(!t.oldEvent.start){t.revert();return}let m=P(t.oldEvent.start,"yyyy-MM-dd");await H0e(t,i,m,this.plugin);return}if(s==="property-based"&&c){try{let m=this.plugin.app.vault.getAbstractFileByPath(c);if(!m||!(m instanceof us.TFile)){t.revert();return}let f=this.viewOptions.startDateProperty,h=this.viewOptions.endDateProperty;if(!f){t.revert();return}let g=f.includes(".")?f.split(".").pop():f,y=h&&h.includes(".")?h.split(".").pop():h;if(!g){t.revert();return}let k=t.oldEvent.start,T=t.event.start;if(!k||!T){t.revert();return}let w=T.getTime()-k.getTime();await this.plugin.app.fileManager.processFrontMatter(m,S=>{let E=S[g];if(E){let C=new Date(E);if(isNaN(C.getTime()))return;let D=new Date(C.getTime()+w);if(isNaN(D.getTime()))return;S[g]=P(D,t.event.allDay?"yyyy-MM-dd":"yyyy-MM-dd'T'HH:mm")}if(y){let C=S[y];if(C){let D=new Date(C);if(isNaN(D.getTime()))return;let A=new Date(D.getTime()+w);if(isNaN(A.getTime()))return;S[y]=P(A,t.event.allDay?"yyyy-MM-dd":"yyyy-MM-dd'T'HH:mm")}}})}catch(m){console.error("[TaskNotes][CalendarView] Error updating property-based event:",m),t.revert()}return}if(s==="ics"&&d){let m=(p=this.plugin.calendarProviderRegistry)==null?void 0:p.findProviderForEvent(d);if(m){try{let{calendarId:f,eventId:h}=m.extractEventIds(d),g=t.event.start;if(!g){t.revert();return}let y=t.event.allDay,k=t.event.end;k||(k=new Date(g),y?k.setDate(k.getDate()+1):k.setHours(k.getHours()+1));let T={};if(y)T.start={date:P(g,"yyyy-MM-dd")},T.end={date:P(k,"yyyy-MM-dd")};else{let w=Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC";T.start={dateTime:P(g,"yyyy-MM-dd'T'HH:mm:ss"),timeZone:w},T.end={dateTime:P(k,"yyyy-MM-dd'T'HH:mm:ss"),timeZone:w}}await m.updateEvent(f,h,T)}catch(f){console.error(`[TaskNotes][CalendarView] Error updating ${m.providerName} event:`,f),t.revert()}return}else{t.revert();return}}if(s==="timeEntry"){let m=t.event.extendedProps.timeEntryIndex;if(typeof m!="number"){t.revert();return}try{let f=t.event.start,h=t.event.end;if(!f||!h){t.revert();return}let g=t.oldEvent.start;if(!g){t.revert();return}let y=f.getTime()-g.getTime(),k=[...n.timeEntries||[]],T=k[m];if(T){let w=new Date(T.startTime);if(!T.endTime){t.revert();return}let S=new Date(T.endTime);T.startTime=new Date(w.getTime()+y).toISOString(),T.endTime=new Date(S.getTime()+y).toISOString(),delete T.duration;let E=k.map(C=>{let D={...C};return delete D.duration,D});await this.plugin.taskService.updateTask(n,{timeEntries:E})}}catch(f){console.error("Error updating time entry:",f),t.revert()}return}if(n&&(a||o||l)){await j0e(t,n,this.plugin);return}if(n)try{if(s==="scheduled"||s==="due"){let m=t.event.start;if(!m){t.revert();return}let h=t.event.allDay?P(m,"yyyy-MM-dd"):P(m,"yyyy-MM-dd'T'HH:mm"),g=s==="scheduled"?"scheduled":"due";await this.plugin.taskService.updateProperty(n,g,h)}else if(s==="scheduledToDueSpan"){let m=t.oldEvent.start,f=t.event.start;if(!m||!f){t.revert();return}let h=f.getTime()-m.getTime(),g,y;if(n.scheduled){let T=new Date(n.scheduled),w=new Date(T.getTime()+h);g=P(w,"yyyy-MM-dd")}if(n.due){let T=new Date(n.due),w=new Date(T.getTime()+h);y=P(w,"yyyy-MM-dd")}let k=this.plugin.app.vault.getAbstractFileByPath(n.path);if(k instanceof us.TFile){let T=this.plugin.fieldMapper.toUserField("scheduled"),w=this.plugin.fieldMapper.toUserField("due");await this.plugin.app.fileManager.processFrontMatter(k,S=>{g&&(S[T]=g),y&&(S[w]=y)})}}}catch(m){console.error("[TaskNotes][CalendarView] Error updating task date:",m),t.revert()}}async handleEventResize(t){var c,d;if(this.expectImmediateUpdate(),!((c=t==null?void 0:t.event)!=null&&c.extendedProps)){console.warn("[TaskNotes][CalendarView] Event resized without extendedProps");return}let{taskInfo:n,timeblock:i,eventType:s,filePath:a,timeEntryIndex:o,icsEvent:l}=t.event.extendedProps;if(s==="timeEntry"){if(typeof o!="number"){t.revert();return}try{let u=t.event.start,p=t.event.end;if(!u||!p){t.revert();return}let m=[...n.timeEntries||[]],f=m[o];if(f){f.startTime=u.toISOString(),f.endTime=p.toISOString(),delete f.duration;let h=m.map(g=>{let y={...g};return delete y.duration,y});await this.plugin.taskService.updateTask(n,{timeEntries:h})}}catch(u){console.error("Error resizing time entry:",u),t.revert()}return}if(s==="timeblock"){if(!t.event.start){t.revert();return}let u=P(t.event.start,"yyyy-MM-dd");await U0e(t,i,u,this.plugin);return}if(s==="property-based"&&a){try{let u=this.plugin.app.vault.getAbstractFileByPath(a);if(!u||!(u instanceof us.TFile)){t.revert();return}let p=this.viewOptions.endDateProperty;if(!p){t.revert();return}let m=p.includes(".")?p.split(".").pop():p;if(!m){t.revert();return}let f=t.event.end;if(!f){t.revert();return}await this.plugin.app.fileManager.processFrontMatter(u,h=>{isNaN(f.getTime())||(h[m]=P(f,t.event.allDay?"yyyy-MM-dd":"yyyy-MM-dd'T'HH:mm"))})}catch(u){console.error("[TaskNotes][CalendarView] Error resizing property-based event:",u),t.revert()}return}if(s==="ics"&&l){let u=(d=this.plugin.calendarProviderRegistry)==null?void 0:d.findProviderForEvent(l);if(u){try{let{calendarId:p,eventId:m}=u.extractEventIds(l),f=t.event.start,h=t.event.end;if(!f||!h){t.revert();return}let g=t.event.allDay,y={};if(g)y.start={date:P(f,"yyyy-MM-dd")},y.end={date:P(h,"yyyy-MM-dd")};else{let k=Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC";y.start={dateTime:P(f,"yyyy-MM-dd'T'HH:mm:ss"),timeZone:k},y.end={dateTime:P(h,"yyyy-MM-dd'T'HH:mm:ss"),timeZone:k}}await u.updateEvent(p,m,y)}catch(p){console.error(`[TaskNotes][CalendarView] Error resizing ${u.providerName} event:`,p),t.revert()}return}}if(s!=="scheduled"&&s!=="recurring"){t.revert();return}try{let u=t.event.start,p=t.event.end;if(u&&p){let m;t.event.allDay?m=Math.round((p.getTime()-u.getTime())/864e5)*1440:m=Math.round((p.getTime()-u.getTime())/(1e3*60)),await this.plugin.taskService.updateProperty(n,"timeEstimate",m)}}catch(u){console.error("[TaskNotes][CalendarView] Error updating task duration:",u),t.revert()}}async handleDateSelect(t){let n=new us.Menu;n.addItem(s=>{s.setTitle("Create task").setIcon("check-square").onClick(async()=>{let a=this.viewOptions.slotDuration.split(":"),o=parseInt(a[0])*60+parseInt(a[1]||"0"),l=K0e(t.start,t.end,t.allDay,o);new zu(this.plugin.app,this.plugin,{prePopulatedValues:l,onTaskCreated:()=>this.expectImmediateUpdate()}).open()})}),this.plugin.settings.calendarViewSettings.enableTimeblocking&&n.addItem(s=>{s.setTitle("Create timeblock").setIcon("clock").onClick(async()=>{this.expectImmediateUpdate(),await B0e(t.start,t.end,t.allDay,this.plugin)})}),n.addItem(s=>{s.setTitle("Create time entry").setIcon("play").onClick(async()=>{this.expectImmediateUpdate(),await q0e(t.start,t.end,t.allDay,this.plugin)})});let i=this.plugin.calendarProviderRegistry;i&&i.getAllProviders().some(a=>a.getAvailableCalendars().length>0)&&(n.addSeparator(),n.addItem(a=>{a.setTitle("Create external calendar event").setIcon("calendar-plus").onClick(()=>{new kI(this.plugin.app,this.plugin,{start:t.start,end:t.end,allDay:t.allDay,onEventCreated:()=>{this.expectImmediateUpdate(),i.refreshAll()}}).open()})})),t.jsEvent?n.showAtMouseEvent(t.jsEvent):n.showAtPosition({x:0,y:0}),this.calendar&&this.calendar.unselect()}handleEventDidMount(t){var l,c,d,u,p,m;if(!((l=t==null?void 0:t.event)!=null&&l.extendedProps))return;let{taskInfo:n,timeblock:i,icsEvent:s,eventType:a,basesEntry:o}=t.event.extendedProps;if(s&&t.view.type!=="listWeek"&&((c=this.plugin.calendarProviderRegistry)==null?void 0:c.findProviderForEvent(s))){let h=t.el.querySelector(".fc-event-title");if(h){let g=t.el.ownerDocument,y=g.createElement("span");y.classList.remove("tn-static-margin-right-8px-539fa9a0"),y.classList.add("tn-static-margin-right-4px-c6b76b85"),y.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),y.classList.add("tn-static-display-inline-flex-f984c520"),y.classList.remove("tn-static-align-items-baseline-4b95b5c7","tn-static-align-items-flex-start-0486f781"),y.classList.add("tn-static-align-items-center-7c619740");let k=g.createElement("span");k.classList.remove("tn-static-width-100-0466783d","tn-static-width-16px-7375d50b","tn-static-width-1px-aa77e27e","tn-static-width-200px-2acaf3b5","tn-static-width-60px-bd09c419","tn-static-width-80px-8573bae3"),k.classList.add("tn-static-width-12px-fbf353fb"),k.classList.remove("tn-static-display-flex-4d51fc62","tn-static-height-0-7a31cef0","tn-static-height-100-62264068","tn-static-height-16px-30de4aee","tn-static-height-24px-29a11d37","tn-static-min-height-800px-997b4c8c"),k.classList.add("tn-static-height-12px-06c0747e"),k.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),k.classList.add("tn-static-display-inline-flex-f984c520"),k.classList.add("tn-static-flex-shrink-0-6ee0661e"),(0,us.setIcon)(k,"calendar"),y.appendChild(k),h.insertBefore(y,h.firstChild)}}if(t.view.type==="listWeek"){t.el.innerHTML="";let f=null,h=this.getVisibleProperties();if(n&&a!=="ics"&&a!=="property-based"){let g={...n},y=this.basesEntryByPath.get(n.path);if(y){if(g.basesData=y,h){for(let T of h)if(T.startsWith("formula."))try{(d=y.getValue)==null||d.call(y,T)}catch(w){console.debug("[TaskNotes][CalendarView] Error getting formula:",T,w)}}if(!g.dateCreated)try{let T=(u=y.getValue)==null?void 0:u.call(y,"file.ctime");T!=null&&T.data&&(g.dateCreated=T.data)}catch(T){console.debug("[TaskNotes][CalendarView] Error getting file.ctime:",T)}if(!g.dateModified)try{let T=(p=y.getValue)==null?void 0:p.call(y,"file.mtime");T!=null&&T.data&&(g.dateModified=T.data)}catch(T){console.debug("[TaskNotes][CalendarView] Error getting file.mtime:",T)}}let k=b9(t);f=pr(g,this.plugin,h,this.buildTaskCardOptions({targetDate:k}))}else if(s&&a==="ics")f=J0e(s,this.plugin);else if(a==="property-based"&&o)f=tDe(o,this.plugin,this.config);else if(a==="timeblock"&&i){let g=t.event.start?P(t.event.start,"yyyy-MM-dd"):void 0;f=iDe(i,this.plugin,{eventDate:(m=t.event.start)!=null?m:void 0,originalDate:g})}if(f){t.el.appendChild(f),t.el.classList.remove("fc-event","fc-event-start","fc-event-end");return}else t.el.classList.add("fc-event-default-list")}if(t.el.setAttribute("data-event-type",a||"unknown"),a==="timeblock"&&i){V0e(t.el,i),t.event.setProp&&t.event.setProp("editable",!0);let f=W0e(i);(0,us.setTooltip)(t.el,f,{placement:"top"});return}if(n&&n.path){if(t.el.setAttribute("data-task-path",n.path),t.el.classList.add("fc-task-event"),n.tags&&n.tags.length>0&&n.tags.forEach(f=>{let h=f.replace(/[^a-zA-Z0-9-_]/g,"");h&&t.el.classList.add(`fc-tag-${h}`)}),t.event.setProp)switch(a){case"scheduled":case"recurring":case"timeEntry":case"due":case"scheduledToDueSpan":t.event.setProp("editable",!0);break;default:break}$0e(t.el,t.event.extendedProps)}if(n){let f=F0e(n,this.plugin);(0,us.setTooltip)(t.el,f)}else if(s){let f=s.description?`${s.title}
${s.description}`:s.title;(0,us.setTooltip)(t.el,f)}n&&a!=="ics"&&Y0e(t.el,n,this.plugin,"tasknotes-bases-calendar"),n&&t.el.addEventListener("contextmenu",f=>{f.preventDefault(),f.stopPropagation();let h=b9(t);new ry({task:n,plugin:this.plugin,targetDate:h,onUpdate:()=>{this.refreshCalendarWithFreshData()}}).show(f)}),s&&a==="ics"&&t.el.addEventListener("contextmenu",f=>{f.preventDefault(),f.stopPropagation();let h=t.event.extendedProps.subscriptionName;new Av({icsEvent:s,plugin:this.plugin,subscriptionName:h,onUpdate:()=>{this.refreshCalendarWithFreshData()}}).show(f)}),a==="property-based"&&t.event.extendedProps.filePath&&t.el.addEventListener("mouseover",f=>{this.plugin.app.vault.getAbstractFileByPath(t.event.extendedProps.filePath)&&this.plugin.app.workspace.trigger("hover-link",{event:f,source:"tasknotes-bases-calendar",hoverParent:t.el,targetEl:t.el,linktext:t.event.extendedProps.filePath,sourcePath:t.event.extendedProps.filePath})}),a==="property-based"&&t.event.extendedProps.filePath&&t.el.addEventListener("contextmenu",f=>{f.preventDefault(),f.stopPropagation();let h=this.plugin.app.vault.getAbstractFileByPath(t.event.extendedProps.filePath);if(h instanceof us.TFile){let g=new us.Menu;this.plugin.app.workspace.trigger("file-menu",g,h,"tasknotes-bases-calendar"),g.showAtPosition({x:f.clientX,y:f.clientY})}})}setupContainer(){if(super.setupContainer(),this.rootElement){this.rootElement.className="tn-bases-integration tasknotes-plugin advanced-calendar-view",this.rootElement.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-flex-1-14e3b769","tn-static-flex-direction-column-06c8b5ed","tn-static-height-0-7a31cef0","tn-static-height-100-62264068","tn-static-height-12px-06c0747e","tn-static-height-16px-30de4aee","tn-static-height-24px-29a11d37"),this.rootElement.classList.add("tn-static-min-height-800px-997b4c8c");let n=this.containerEl.ownerDocument.createElement("div");n.id="bases-calendar",n.classList.remove("tn-static-flex-1-97445a8d","tn-static-margin-top-12px-91e0f558","tn-static-min-height-800px-997b4c8c","tn-static-overflow-hidden-69824400"),n.classList.add("tn-static-flex-1-14e3b769"),this.rootElement.appendChild(n),this.calendarEl=n}}async handleTaskUpdate(t){this.debouncedRefresh()}renderError(t){if(!this.calendarEl)return;let i=this.calendarEl.ownerDocument.createElement("div");i.className="tn-bases-error",i.classList.remove("tn-static-border-radius-4px-c290c56e","tn-static-border-radius-6px-0dc8408c","tn-static-color-var-color-accent-d2cad743","tn-static-color-var-text-accent-65b47ee3","tn-static-color-var-text-muted-5872de20","tn-static-color-var-text-on-accent-f3e1679d","tn-static-color-var-text-warning-783d5f03","tn-static-color-var-tn-text-muted-a90fb6f3","tn-static-color-white-0a43e56a","tn-static-cursor-pointer-2723efcc","tn-static-font-size-12px-65574819","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-margin-0-11696618","tn-static-margin-0-auto-266e9b04","tn-static-margin-0-db0d5f36","tn-static-margin-0-var-size-4-2-77f7dc08","tn-static-margin-2px-0-edce9b14","tn-static-margin-8px-0-0-0-a2eb8382","tn-static-padding-0-16px-16px-16px-f1aa998c","tn-static-padding-0-41d7d7e2","tn-static-padding-12px-43bef435","tn-static-padding-16px-287f770e","tn-static-padding-20px-769fed37","tn-static-padding-20px-7a035d95","tn-static-padding-2px-8px-c8eea84a","tn-static-padding-2rem-42aa6d9c"),i.classList.add("tn-static-padding-20px-ebe8e48c"),i.textContent=`Error loading calendar: ${t.message||"Unknown error"}`,this.calendarEl.appendChild(i)}onunload(){this._saveViewTypeTimer&&(window.clearTimeout(this._saveViewTypeTimer),this._saveViewTypeTimer=null),this.calendar&&(this.calendar.destroy(),this.calendar=null),this.calendarEl=null,this.currentTasks=[]}getEphemeralState(){var i;let t=super.getEphemeralState(),n=lDe(t)?t:{};if(this.calendar){let s=this.calendar.getDate(),a=(i=this.calendar.view)==null?void 0:i.type;return{...n,calendarDate:s?s.toISOString():null,calendarView:a||null}}return t}setEphemeralState(t){var n;if(super.setEphemeralState(t),!!xst(t)&&this.calendar){if(typeof t.calendarDate=="string")try{this.calendar.gotoDate(new Date(t.calendarDate))}catch(i){console.debug("[CalendarView] Failed to restore calendar date:",i)}if(typeof t.calendarView=="string"&&t.calendarView!==((n=this.calendar.view)==null?void 0:n.type))try{this.calendar.changeView(t.calendarView)}catch(i){console.debug("[CalendarView] Failed to restore calendar view:",i)}}}}});function Cst(r){return(0,wc.moment)(r)}function uDe(r){return function(e,t){if(!t)throw console.error("[TaskNotes][MiniCalendarView] No containerEl provided"),new Error("MiniCalendarView requires a containerEl");return new E9(e,t,r)}}var wc,Np,E9,DI,pDe=v(()=>{wc=require("obsidian");Ux();Tn();Qe();jr();Cr();Np=Ke(Hc());E9=class extends fc{constructor(t,n,i){super(t,n,i);this.type="tasknotesMiniCalendar";this.calendarEl=null;this.dateProperty=null;this.titleProperty=null;this.configLoaded=!1;this.isInitialRender=!0;this.shouldRestoreFocus=!1;this.multiSelectMode=!1;this.selectedDates=new Set;this.notesByDate=new Map;this.monthCalculationCache=new Map;this.keyboardHandler=null;this.dataAdapter.basesView=this;let s=kr(),a=en(s);this.selectedDate=a,this.displayedMonth=a.getUTCMonth(),this.displayedYear=a.getUTCFullYear()}onload(){this.readViewOptions(),super.onload()}readViewOptions(){if(!(!this.config||typeof this.config.get!="function"))try{this.dateProperty=this.config.get("dateProperty")||"file.ctime",this.titleProperty=this.config.get("titleProperty")||"file.name",this.configLoaded=!0}catch(t){console.error("[TaskNotes][MiniCalendarView] Error reading view options:",t)}}async render(){var t;if(!(!this.calendarEl||!this.rootElement)&&(t=this.data)!=null&&t.data){this.config&&this.readViewOptions();try{let n=this.containerEl.ownerDocument,i=this.calendarEl.querySelector(".mini-calendar-view__grid")===n.activeElement;this.calendarEl.empty();let s=this.data.data;this.indexNotesByDate(s),this.renderCalendarControls(),this.renderCalendarGrid(),(this.isInitialRender||this.shouldRestoreFocus||i)&&(this.isInitialRender&&(this.isInitialRender=!1),this.shouldRestoreFocus=!1,window.setTimeout(()=>{var l;let o=(l=this.calendarEl)==null?void 0:l.querySelector(".mini-calendar-view__grid");o&&o.focus()},10))}catch(n){console.error("[TaskNotes][MiniCalendarView] Error rendering:",n),this.renderError(n instanceof Error?n:new Error(String(n)))}}}indexNotesByDate(t){var n;if(this.notesByDate.clear(),!!this.dateProperty)for(let i of t)try{let s=i.file;if(!s)continue;let a=this.getDateValueFromProperty(i,this.dateProperty);if(!a)continue;let o=tt(a);if(!o)continue;let l=s.basename||s.name;if(this.titleProperty)try{let u=(n=i.getValue)==null?void 0:n.call(i,this.titleProperty);if(u!=null)if(typeof u=="object"&&u.toString){let p=u.toString();p&&p!=="null"&&p!==""&&(l=p)}else if(typeof u=="string")l=u;else{let p=ie(u);p&&p!=="null"&&p!==""&&(l=p)}else{let p=this.dataAdapter.getPropertyValue(i,this.titleProperty);if(p!=null)if(typeof p=="object"){let m=ie(p);m&&m!=="null"&&m!==""&&(l=m)}else if(typeof p=="string")l=p;else{let m=ie(p);m&&m!=="null"&&m!==""&&(l=m)}}}catch(u){console.warn("[TaskNotes][MiniCalendarView] Error getting title property:",u)}let c={file:s,title:l,path:s.path,dateValue:a,basesEntry:i};this.notesByDate.has(o)||this.notesByDate.set(o,[]);let d=this.notesByDate.get(o);d&&d.push(c)}catch(s){console.warn("[TaskNotes][MiniCalendarView] Error indexing note:",s)}}getDateValueFromProperty(t,n){try{let i=this.dataAdapter.getPropertyValue(t,n);if(!i)return null;if(typeof i=="string")return this.extractDateFromString(i);if(typeof i=="number")return this.toAnchoredDateString(new Date(i));if(i instanceof Date)return this.toAnchoredDateString(i);if(typeof i=="object"){let s=i.date;if(s instanceof Date)return this.toAnchoredDateString(s);let a=i.toISOString;if(typeof a=="function")return this.extractDateFromString(a.call(i))}return null}catch(i){return console.warn("[TaskNotes][MiniCalendarView] Error getting date value:",i),null}}extractDateFromString(t){let n=t==null?void 0:t.trim();if(!n)return null;if(/^\d{4}-\d{2}-\d{2}$/.test(n))return this.validateCalendarDate(n);if(n.includes("T")||/\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}/.test(n)||/[+-]\d{2}:\d{2}$/.test(n)){let a=n.includes(" ")&&!n.includes("T")?n.replace(" ","T"):n,o=new Date(a);if(!isNaN(o.getTime()))return this.toAnchoredDateString(o)}let i=n.match(/^(\d{4})[/.](\d{2})[/.](\d{2})$/);if(i){let[,a,o,l]=i;return this.validateCalendarDate(`${a}-${o}-${l}`)}let s=n.match(/(\d{4}-\d{2}-\d{2})/);return s?this.validateCalendarDate(s[1]):null}toAnchoredDateString(t){if(!(t instanceof Date)||isNaN(t.getTime()))return null;let n=en(t);return ue(n)}validateCalendarDate(t){if(!t)return null;let i=t.trim().match(/^(\d{4})-(\d{2})-(\d{2})$/);if(!i)return null;let[,s,a,o]=i,l=Number(s),c=Number(a)-1,d=Number(o);if(Number.isNaN(l)||Number.isNaN(c)||Number.isNaN(d))return null;let u=xL(l,c,d);return u.getUTCFullYear()!==l||u.getUTCMonth()!==c||u.getUTCDate()!==d?null:ue(u)}renderCalendarControls(){if(!this.calendarEl)return;let n=this.calendarEl.createDiv({cls:"mini-calendar-view__controls"}).createDiv({cls:"mini-calendar-view__header"}),i=n.createDiv({cls:"mini-calendar-view__navigation"});i.createEl("button",{text:"\u2039",cls:"mini-calendar-view__nav-button mini-calendar-view__nav-button--prev tn-btn tn-btn--icon tn-btn--ghost",attr:{"aria-label":"Previous month",title:"Previous month"}}).addEventListener("click",()=>this.navigateToPreviousMonth()),i.createDiv({cls:"mini-calendar-view__month-display",text:P(hu(this.selectedDate),"MMMM yyyy")}),i.createEl("button",{text:"\u203A",cls:"mini-calendar-view__nav-button mini-calendar-view__nav-button--next tn-btn tn-btn--icon tn-btn--ghost",attr:{"aria-label":"Next month",title:"Next month"}}).addEventListener("click",()=>this.navigateToNextMonth()),n.createEl("button",{text:"Today",cls:"mini-calendar-view__today-button tn-btn tn-btn--ghost tn-btn--sm",attr:{"aria-label":"Go to today",title:"Go to today"}}).addEventListener("click",()=>this.navigateToToday())}renderCalendarGrid(){if(!this.calendarEl)return;let t=this.calendarEl.createDiv({cls:"mini-calendar-view__grid-container"}),n=this.displayedMonth,i=this.displayedYear,s=new Date(Date.UTC(i,n,1)),a=new Date(Date.UTC(i,n+1,0)),o=this.plugin.settings.calendarViewSettings.firstDay||0,l=(s.getUTCDay()-o+7)%7,c=t.createDiv({cls:"mini-calendar-view__grid",attr:{role:"grid","aria-label":`Calendar for ${P(hu(new Date(Date.UTC(i,n,1))),"MMMM yyyy")}`,tabindex:"0"}});this.setupKeyboardNavigation(c),c.addEventListener("click",()=>{c.focus()});let d=c.createDiv({cls:"mini-calendar-view__grid-header",attr:{role:"row"}});d.createDiv({text:"",cls:"mini-calendar-view__week-header",attr:{role:"columnheader"}});let u=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];[...u.slice(o),...u.slice(0,o)].forEach(w=>{d.createDiv({text:w,cls:"mini-calendar-view__day-header",attr:{role:"columnheader","aria-label":w}})});let m=l,f=42,h=a.getUTCDate(),g=f-h-m,y=new Date(Date.UTC(i,n,0)).getUTCDate(),k=[],T=[];for(let w=0;w<m;w++){let S=y-m+w+1,E=new Date(Date.UTC(i,n-1,S));T.push(E)}for(let w=1;w<=h;w++){T.length===7&&(k.push(T),T=[]);let S=new Date(Date.UTC(i,n,w));T.push(S)}for(let w=1;w<=g;w++){T.length===7&&(k.push(T),T=[]);let S=new Date(Date.UTC(i,n+1,w));T.push(S)}T.length>0&&k.push(T),k.forEach(w=>{this.renderWeekRow(c,w)})}renderWeekRow(t,n){let i=t.createDiv({cls:"mini-calendar-view__week",attr:{role:"row"}}),s=this.getWeekNumber(n[0]);i.createDiv({cls:"mini-calendar-week-number",text:`W${s}`}).addEventListener("click",o=>{var c;o.preventDefault(),o.stopPropagation(),this.selectWeek(n);let l=(c=this.calendarEl)==null?void 0:c.querySelector(".mini-calendar-view__grid");l&&l.focus()}),n.forEach((o,l)=>{let c=this.displayedMonth,d=this.displayedYear,u=o.getUTCMonth()!==c||o.getUTCFullYear()!==d,p=o.getUTCDate();this.renderDay(i,o,p,u)})}renderDay(t,n,i,s){let a=kr(),o=en(a),l=s1(n,o),c=s1(n,this.selectedDate),d="mini-calendar-view__day";l&&(d+=" mini-calendar-view__day--today"),c&&(d+=" mini-calendar-view__day--selected"),s&&(d+=" mini-calendar-view__day--outside-month");let u=t.createDiv({cls:d,text:i.toString(),attr:{role:"gridcell","aria-label":P(hu(n),"EEEE, MMMM d, yyyy")+(l?" (Today)":""),"aria-selected":c?"true":"false","aria-current":l?"date":null}}),p=ue(n),m=this.notesByDate.get(p);if(m&&m.length>0){let f=this.getHeatMapIntensity(m.length);u.addClass(`mini-calendar-view__day--intensity-${f}`);let h=this.createNotePreviewText(m);(0,wc.setTooltip)(u,h,{placement:"top"})}u.addEventListener("click",f=>{var g;f.preventDefault(),f.stopPropagation(),this.handleDayClick(n,f);let h=(g=this.calendarEl)==null?void 0:g.querySelector(".mini-calendar-view__grid");h&&h.focus()})}async handleDayClick(t,n){if(this.selectedDate=t,n&&(n.ctrlKey||n.metaKey)){await this.openDailyNoteForDate(t);return}this.refresh();let i=ue(t),s=this.notesByDate.get(i);s&&s.length>0&&new DI(this.plugin.app,this.plugin,s,o=>{o&&this.plugin.app.workspace.getLeaf(!1).openFile(o.file)}).open()}async openDailyNoteForDate(t){if(!(0,Np.appHasDailyNotesPluginLoaded)()){new wc.Notice("Daily notes core plugin is not enabled. Please enable it in settings > core plugins.");return}let n=hu(t),i=new Date(n.getFullYear(),n.getMonth(),n.getDate(),12,0,0,0),s=Cst(i),a=(0,Np.getAllDailyNotes)(),o=(0,Np.getDailyNote)(s,a);if(!o)try{o=await(0,Np.createDailyNote)(s)}catch(l){let c=l instanceof Error?l.message:String(l);console.error("Failed to create daily note:",l),new wc.Notice(`Failed to create daily note: ${c}`);return}o&&await this.plugin.app.workspace.getLeaf(!1).openFile(o)}navigateToPreviousMonth(){let t=new Date(this.selectedDate.getTime());t.setUTCMonth(this.selectedDate.getUTCMonth()-1),this.selectedDate=t,this.displayedMonth=t.getUTCMonth(),this.displayedYear=t.getUTCFullYear(),this.monthCalculationCache.clear(),this.shouldRestoreFocus=!0,this.refresh()}navigateToNextMonth(){let t=new Date(this.selectedDate.getTime());t.setUTCMonth(this.selectedDate.getUTCMonth()+1),this.selectedDate=t,this.displayedMonth=t.getUTCMonth(),this.displayedYear=t.getUTCFullYear(),this.monthCalculationCache.clear(),this.shouldRestoreFocus=!0,this.refresh()}navigateToToday(){let t=kr(),n=en(t);this.selectedDate=n,this.displayedMonth=n.getUTCMonth(),this.displayedYear=n.getUTCFullYear(),this.monthCalculationCache.clear(),this.shouldRestoreFocus=!0,this.refresh()}setupKeyboardNavigation(t){this.keyboardHandler&&t.removeEventListener("keydown",this.keyboardHandler),this.keyboardHandler=n=>{(async()=>{if(n.key==="ArrowLeft"||n.key==="ArrowRight"||n.key==="ArrowUp"||n.key==="ArrowDown"){n.preventDefault(),this.navigateByArrowKey(n.key);return}if(n.key==="PageUp"){n.preventDefault(),n.shiftKey?this.navigateToYear(-1):this.navigateToPreviousMonth();return}if(n.key==="PageDown"){n.preventDefault(),n.shiftKey?this.navigateToYear(1):this.navigateToNextMonth();return}if(n.key==="Home"){n.preventDefault(),n.ctrlKey||n.metaKey?this.navigateToStartOfMonth():this.navigateToStartOfWeek();return}if(n.key==="End"){n.preventDefault(),n.ctrlKey||n.metaKey?this.navigateToEndOfMonth():this.navigateToEndOfWeek();return}if(n.key==="t"||n.key==="T"){n.preventDefault(),this.navigateToToday();return}if(n.key==="Escape"){this.multiSelectMode&&(n.preventDefault(),this.multiSelectMode=!1,this.selectedDates.clear(),this.refresh());return}if(n.key==="Enter"||n.key===" "){n.preventDefault(),n.ctrlKey||n.metaKey?await this.openDailyNoteForDate(this.selectedDate):await this.handleDayClick(this.selectedDate);return}})()},t.addEventListener("keydown",this.keyboardHandler)}navigateByArrowKey(t){let n=new Date(this.selectedDate.getTime());switch(t){case"ArrowLeft":n.setUTCDate(n.getUTCDate()-1);break;case"ArrowRight":n.setUTCDate(n.getUTCDate()+1);break;case"ArrowUp":n.setUTCDate(n.getUTCDate()-7);break;case"ArrowDown":n.setUTCDate(n.getUTCDate()+7);break}this.selectedDate=n,(n.getUTCMonth()!==this.displayedMonth||n.getUTCFullYear()!==this.displayedYear)&&(this.displayedMonth=n.getUTCMonth(),this.displayedYear=n.getUTCFullYear(),this.monthCalculationCache.clear()),this.shouldRestoreFocus=!0,this.refresh()}navigateToStartOfWeek(){let t=this.plugin.settings.calendarViewSettings.firstDay||0,i=(this.selectedDate.getUTCDay()-t+7)%7,s=new Date(this.selectedDate.getTime());s.setUTCDate(s.getUTCDate()-i),this.selectedDate=s,(s.getUTCMonth()!==this.displayedMonth||s.getUTCFullYear()!==this.displayedYear)&&(this.displayedMonth=s.getUTCMonth(),this.displayedYear=s.getUTCFullYear(),this.monthCalculationCache.clear()),this.shouldRestoreFocus=!0,this.refresh()}navigateToEndOfWeek(){let t=this.plugin.settings.calendarViewSettings.firstDay||0,n=this.selectedDate.getUTCDay(),s=((t+6)%7-n+7)%7,a=new Date(this.selectedDate.getTime());a.setUTCDate(a.getUTCDate()+s),this.selectedDate=a,(a.getUTCMonth()!==this.displayedMonth||a.getUTCFullYear()!==this.displayedYear)&&(this.displayedMonth=a.getUTCMonth(),this.displayedYear=a.getUTCFullYear(),this.monthCalculationCache.clear()),this.shouldRestoreFocus=!0,this.refresh()}navigateToStartOfMonth(){let t=new Date(Date.UTC(this.selectedDate.getUTCFullYear(),this.selectedDate.getUTCMonth(),1));this.selectedDate=t,this.shouldRestoreFocus=!0,this.refresh()}navigateToEndOfMonth(){let t=new Date(Date.UTC(this.selectedDate.getUTCFullYear(),this.selectedDate.getUTCMonth()+1,0));this.selectedDate=t,this.shouldRestoreFocus=!0,this.refresh()}navigateToYear(t){let n=new Date(this.selectedDate.getTime());n.setUTCFullYear(n.getUTCFullYear()+t),this.selectedDate=n,this.displayedMonth=n.getUTCMonth(),this.displayedYear=n.getUTCFullYear(),this.monthCalculationCache.clear(),this.shouldRestoreFocus=!0,this.refresh()}getWeekNumber(t){let n=new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())),i=n.getUTCDay()||7;n.setUTCDate(n.getUTCDate()+4-i);let s=new Date(Date.UTC(n.getUTCFullYear(),0,1));return Math.ceil(((n.getTime()-s.getTime())/864e5+1)/7)}selectWeek(t){this.multiSelectMode=!0,this.selectedDates.clear(),t.forEach(n=>{this.selectedDates.add(ue(n))}),this.shouldRestoreFocus=!0,this.refresh(),this.showCombinedNotes()}showCombinedNotes(){let t=[];this.selectedDates.forEach(n=>{let i=this.notesByDate.get(n);i&&t.push(...i)}),t.length>0?new DI(this.plugin.app,this.plugin,t,i=>{i&&this.plugin.app.workspace.getLeaf(!1).openFile(i.file)}).open():new wc.Notice("No notes found for selected dates")}createNotePreviewText(t){let n=[];return n.push(`${t.length} note${t.length>1?"s":""}`),n.push(""),t.slice(0,5).forEach(i=>{var o,l;let s=`\u2022 ${i.title}`,a=(l=(o=i.basesEntry)==null?void 0:o.getValue)==null?void 0:l.call(o,"note.type");if(a){let c=null;if(typeof a=="object"&&a.toString){let d=a.toString();d&&d!=="null"&&d!==""&&(c=d)}else typeof a=="string"&&(c=a);c&&(s+=` (${c})`)}n.push(s)}),t.length>5&&n.push(`+ ${t.length-5} more...`),n.join(`
`)}getHeatMapIntensity(t){return t===0?"none":t===1?"low":t<=3?"medium":t<=5?"high":"very-high"}setupContainer(){var i;super.setupContainer();let n=this.containerEl.ownerDocument.createElement("div");n.className="mini-calendar-bases-view",(i=this.rootElement)==null||i.appendChild(n),this.calendarEl=n}async handleTaskUpdate(t){this.debouncedRefresh()}renderError(t){if(!this.calendarEl)return;let i=this.calendarEl.ownerDocument.createElement("div");i.className="tn-bases-error",i.classList.remove("tn-static-border-radius-4px-c290c56e","tn-static-border-radius-6px-0dc8408c","tn-static-color-var-color-accent-d2cad743","tn-static-color-var-text-accent-65b47ee3","tn-static-color-var-text-muted-5872de20","tn-static-color-var-text-on-accent-f3e1679d","tn-static-color-var-text-warning-783d5f03","tn-static-color-var-tn-text-muted-a90fb6f3","tn-static-color-white-0a43e56a","tn-static-cursor-pointer-2723efcc","tn-static-font-size-12px-65574819","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-margin-0-11696618","tn-static-margin-0-auto-266e9b04","tn-static-margin-0-db0d5f36","tn-static-margin-0-var-size-4-2-77f7dc08","tn-static-margin-2px-0-edce9b14","tn-static-margin-8px-0-0-0-a2eb8382","tn-static-padding-0-16px-16px-16px-f1aa998c","tn-static-padding-0-41d7d7e2","tn-static-padding-12px-43bef435","tn-static-padding-16px-287f770e","tn-static-padding-20px-769fed37","tn-static-padding-20px-7a035d95","tn-static-padding-2px-8px-c8eea84a","tn-static-padding-2rem-42aa6d9c"),i.classList.add("tn-static-padding-20px-ebe8e48c"),i.textContent=`Error loading mini calendar: ${t.message||"Unknown error"}`,this.calendarEl.appendChild(i)}onunload(){this.calendarEl=null,this.notesByDate.clear(),this.monthCalculationCache.clear(),this.keyboardHandler=null}},DI=class extends wc.FuzzySuggestModal{constructor(e,t,n,i){super(e),this.plugin=t,this.notes=n,this.onChooseNote=i,this.setPlaceholder("Select a note to open"),this.setInstructions([{command:"\u2191\u2193",purpose:"Navigate"},{command:"\u21B5",purpose:"Open note"},{command:"esc",purpose:"Dismiss"}])}getItems(){return this.notes.sort((e,t)=>e.title.localeCompare(t.title))}getItemText(e){return e.title}renderSuggestion(e,t){let n=e.item,i=t.createDiv({cls:"note-selector-modal__suggestion"});i.createDiv({cls:"note-selector-modal__title",text:n.title}),n.path!==n.title&&i.createDiv({cls:"note-selector-modal__path",text:n.path})}onChooseItem(e,t){this.onChooseNote(e)}}});function Pst(r){var e,t;try{let n=r.internalPlugins;if(!n)return console.debug("[TaskNotes][Bases] Internal plugins manager not available"),null;let i=(e=n.getEnabledPluginById)==null?void 0:e.call(n,"bases");return i?!i.registrations||typeof i.registrations!="object"?(console.warn("[TaskNotes][Bases] Bases plugin found but registrations API not available"),null):{registrations:i.registrations,isEnabled:!0,version:((t=i.manifest)==null?void 0:t.version)||"unknown"}:(console.debug("[TaskNotes][Bases] Bases plugin not found or not enabled"),null)}catch(n){return console.warn("[TaskNotes][Bases] Error accessing Bases plugin API:",n),null}}function nE(r,e,t){if(typeof r.registerBasesView=="function")try{return r.registerBasesView(e,t)?(console.debug(`[TaskNotes][Bases] Successfully registered view via public API: ${e}`),!0):(console.debug("[TaskNotes][Bases] Public API returned false (Bases may be disabled)"),!1)}catch(n){return n instanceof Error&&n.message.includes("already exists")?(console.debug(`[TaskNotes][Bases] View ${e} already registered via public API`),!0):(console.warn(`[TaskNotes][Bases] Public API registration failed for ${e}:`,n),!1)}return console.warn("[TaskNotes][Bases] Cannot register view: Bases public API not available (requires Obsidian 1.10.0+)"),!1}function iE(r,e){let t=Pst(r.app);if(!t)return!0;try{return t.registrations[e]&&delete t.registrations[e],!0}catch(n){return console.error(`[TaskNotes][Bases] Error unregistering view ${e}:`,n),!1}}var mDe=v(()=>{});var D9={};et(D9,{registerBasesTaskList:()=>_st,unregisterBasesViews:()=>Mst});async function _st(r){if(!r.settings.enableBases||!(0,fDe.requireApiVersion)("1.10.1"))return;let e=async()=>{try{let t=nE(r,"tasknotesTaskList",{name:"TaskNotes Task List",icon:"tasknotes-simple",factory:r0e(r),options:()=>[{type:"property",key:"subGroup",displayName:"Sub-group by",placeholder:"Select property for sub-grouping (optional)",filter:a=>a.startsWith("note.")||a.startsWith("task.")||a.startsWith("formula.")},{type:"toggle",key:"enableSearch",displayName:"Enable search box",default:!1},{type:"dropdown",key:"expandedRelationshipFilterMode",displayName:"Expanded relationships",default:"inherit",options:{inherit:"Inherit","show-all":"Show all"}}]}),n=nE(r,"tasknotesKanban",{name:"TaskNotes Kanban",icon:"tasknotes-simple",factory:o0e(r),options:()=>[{type:"property",key:"swimLane",displayName:"Swim Lane",placeholder:"Select property for swim lanes (optional)",filter:a=>a.startsWith("note.")||a.startsWith("task.")||a.startsWith("formula.")},{type:"slider",key:"columnWidth",displayName:"Column Width",default:280,min:200,max:500,step:20},{type:"slider",key:"maxSwimlaneHeight",displayName:"Max Swimlane Height",default:600,min:300,max:1200,step:50},{type:"toggle",key:"hideEmptyColumns",displayName:"Hide Empty Columns",default:!1},{type:"toggle",key:"enableSearch",displayName:"Enable search box",default:!1},{type:"toggle",key:"explodeListColumns",displayName:"Show items in multiple columns",default:!0},{type:"toggle",key:"consolidateStatusIcon",displayName:"Show status icon in column header only",default:!1},{type:"text",key:"columnOrder",displayName:"Column Order (Advanced)",placeholder:"Auto-managed when dragging columns",default:"{}"},{type:"dropdown",key:"expandedRelationshipFilterMode",displayName:"Expanded relationships",default:"inherit",options:{inherit:"Inherit","show-all":"Show all"}}]}),i=nE(r,"tasknotesCalendar",{name:"TaskNotes Calendar",icon:"tasknotes-simple",factory:cDe(r),options:()=>{var c;let a=r.settings.calendarViewSettings,o=d=>r.i18n.translate(`views.basesCalendar.settings.${d}`),l=[{type:"group",displayName:o("groups.events"),items:[{type:"toggle",key:"showScheduled",displayName:o("events.showScheduledTasks"),default:a.defaultShowScheduled},{type:"toggle",key:"showDue",displayName:o("events.showDueTasks"),default:a.defaultShowDue},{type:"toggle",key:"showRecurring",displayName:o("events.showRecurringTasks"),default:a.defaultShowRecurring},{type:"toggle",key:"showTimeEntries",displayName:o("events.showTimeEntries"),default:a.defaultShowTimeEntries},{type:"toggle",key:"showTimeblocks",displayName:o("events.showTimeblocks"),default:a.defaultShowTimeblocks},{type:"toggle",key:"showPropertyBasedEvents",displayName:o("events.showPropertyBasedEvents"),default:!0}]},{type:"group",displayName:o("groups.dateNavigation"),items:[{type:"text",key:"initialDate",displayName:o("dateNavigation.navigateToDate"),default:"",placeholder:o("dateNavigation.navigateToDatePlaceholder")},{type:"property",key:"initialDateProperty",displayName:o("dateNavigation.navigateToDateFromProperty"),placeholder:o("dateNavigation.navigateToDateFromPropertyPlaceholder"),filter:d=>d.startsWith("note.")||d.startsWith("file.")},{type:"dropdown",key:"initialDateStrategy",displayName:o("dateNavigation.propertyNavigationStrategy"),default:"first",options:{first:o("dateNavigation.strategies.first"),earliest:o("dateNavigation.strategies.earliest"),latest:o("dateNavigation.strategies.latest")}}]},{type:"group",displayName:o("groups.layout"),items:[{type:"dropdown",key:"calendarView",displayName:o("layout.calendarView"),default:a.defaultView,options:{dayGridMonth:"Month",timeGridWeek:"Week",timeGridCustom:"Custom days",timeGridDay:"Day",listWeek:"List",multiMonthYear:"Year"}},{type:"slider",key:"customDayCount",displayName:o("layout.customDayCount"),default:a.customDayCount||3,min:1,max:14,step:1},{type:"slider",key:"listDayCount",displayName:o("layout.listDayCount"),default:7,min:1,max:30,step:1},{type:"text",key:"slotMinTime",displayName:o("layout.dayStartTime"),default:a.slotMinTime,placeholder:o("layout.dayStartTimePlaceholder")},{type:"text",key:"slotMaxTime",displayName:o("layout.dayEndTime"),default:a.slotMaxTime,placeholder:o("layout.dayEndTimePlaceholder")},{type:"text",key:"slotDuration",displayName:o("layout.timeSlotDuration"),default:a.slotDuration,placeholder:o("layout.timeSlotDurationPlaceholder")},{type:"dropdown",key:"firstDay",displayName:o("layout.weekStartsOn"),default:String(a.firstDay),options:{0:r.i18n.translate("common.weekdays.sunday"),1:r.i18n.translate("common.weekdays.monday"),2:r.i18n.translate("common.weekdays.tuesday"),3:r.i18n.translate("common.weekdays.wednesday"),4:r.i18n.translate("common.weekdays.thursday"),5:r.i18n.translate("common.weekdays.friday"),6:r.i18n.translate("common.weekdays.saturday")}},{type:"toggle",key:"weekNumbers",displayName:o("layout.showWeekNumbers"),default:a.weekNumbers},{type:"toggle",key:"nowIndicator",displayName:o("layout.showNowIndicator"),default:a.nowIndicator},{type:"toggle",key:"showWeekends",displayName:o("layout.showWeekends"),default:a.showWeekends},{type:"toggle",key:"showAllDaySlot",displayName:o("layout.showAllDaySlot"),default:!0},{type:"toggle",key:"showTodayHighlight",displayName:o("layout.showTodayHighlight"),default:a.showTodayHighlight},{type:"slider",key:"todayColumnWidthMultiplier",displayName:o("layout.todayColumnWidthMultiplier"),default:1,min:1,max:5,step:.5},{type:"toggle",key:"selectMirror",displayName:o("layout.showSelectionPreview"),default:a.selectMirror},{type:"toggle",key:"slotEventOverlap",displayName:o("layout.slotEventOverlap"),default:a.slotEventOverlap},{type:"toggle",key:"enableSearch",displayName:o("layout.enableSearch"),default:!1},{type:"dropdown",key:"timeFormat",displayName:o("layout.timeFormat"),default:a.timeFormat,options:{12:o("layout.timeFormat12"),24:o("layout.timeFormat24")}},{type:"text",key:"scrollTime",displayName:o("layout.initialScrollTime"),default:a.scrollTime,placeholder:o("layout.initialScrollTimePlaceholder")},{type:"slider",key:"eventMinHeight",displayName:o("layout.minimumEventHeight"),default:a.eventMinHeight,min:15,max:100,step:5},{type:"slider",key:"eventMaxStack",displayName:o("layout.eventMaxStack"),default:(c=a.eventMaxStack)!=null?c:0,min:0,max:10,step:1},{type:"slider",key:"dayMaxEvents",displayName:o("layout.dayMaxEvents"),default:typeof a.dayMaxEvents=="number"?a.dayMaxEvents:0,min:0,max:20,step:1},{type:"slider",key:"dayMaxEventRows",displayName:o("layout.dayMaxEventRows"),default:typeof a.dayMaxEventRows=="number"?a.dayMaxEventRows:0,min:0,max:10,step:1},{type:"toggle",key:"showScheduledToDueSpan",displayName:o("layout.spanScheduledToDue"),default:a.defaultShowScheduledToDueSpan}]},{type:"group",displayName:o("groups.propertyBasedEvents"),items:[{type:"property",key:"startDateProperty",displayName:o("propertyBasedEvents.startDateProperty"),placeholder:o("propertyBasedEvents.startDatePropertyPlaceholder"),filter:d=>d.startsWith("note.")||d.startsWith("file.")},{type:"property",key:"endDateProperty",displayName:o("propertyBasedEvents.endDateProperty"),placeholder:o("propertyBasedEvents.endDatePropertyPlaceholder"),filter:d=>d.startsWith("note.")||d.startsWith("file.")},{type:"property",key:"titleProperty",displayName:o("propertyBasedEvents.titleProperty"),placeholder:o("propertyBasedEvents.titlePropertyPlaceholder"),filter:d=>d.startsWith("note.")||d.startsWith("formula.")||d.startsWith("file.")}]}];if(r.icsSubscriptionService){let d=r.icsSubscriptionService.getSubscriptions();if(d.length>0){let u=d.map(p=>({type:"toggle",key:`showICS_${p.id}`,displayName:p.name,default:!0}));l.push({type:"group",displayName:o("groups.calendarSubscriptions"),items:u})}}if(r.googleCalendarService){let d=r.googleCalendarService.getAvailableCalendars();if(d.length>0){let u=d.map(p=>({type:"toggle",key:`showGoogleCalendar_${p.id}`,displayName:p.summary||p.id,default:!0}));l.push({type:"group",displayName:o("groups.googleCalendars")||"Google Calendars",items:u})}}if(r.microsoftCalendarService){let d=r.microsoftCalendarService.getAvailableCalendars();if(d.length>0){let u=d.map(p=>({type:"toggle",key:`showMicrosoftCalendar_${p.id}`,displayName:p.summary||p.id,default:!0}));l.push({type:"group",displayName:o("groups.microsoftCalendars")||"Microsoft Calendars",items:u})}}return l}}),s=nE(r,"tasknotesMiniCalendar",{name:"TaskNotes Mini Calendar",icon:"tasknotes-simple",factory:uDe(r),options:()=>[{type:"property",key:"dateProperty",displayName:"Date Property",placeholder:"Select property to show on calendar",default:"file.ctime",filter:a=>a.startsWith("note.")||a.startsWith("file.")||a.startsWith("task.")},{type:"property",key:"titleProperty",displayName:"Title Property",placeholder:"Select property to use as title",default:"file.name",filter:a=>a.startsWith("note.")||a.startsWith("formula.")||a.startsWith("file.")}]});return!t&&!n&&!i&&!s?(console.debug("[TaskNotes][Bases] Bases plugin not available for registration"),!1):(r.app.workspace.iterateAllLeaves(a=>{var o,l;if(((l=(o=a.view)==null?void 0:o.getViewType)==null?void 0:l.call(o))==="bases"){let c=a.view;if(typeof c.refresh=="function")try{c.refresh()}catch(d){console.debug("[TaskNotes][Bases] Error refreshing view:",d)}}}),!0)}catch(t){return console.warn("[TaskNotes][Bases] Registration attempt failed:",t),!1}};if(!await e()){for(let t=0;t<5;t++)if(await new Promise(n=>window.setTimeout(n,200)),await e())return;console.warn("[TaskNotes][Bases] Failed to register views after multiple attempts")}}function Mst(r){try{iE(r,"tasknotesTaskList"),iE(r,"tasknotesKanban"),iE(r,"tasknotesCalendar"),iE(r,"tasknotesMiniCalendar")}catch(e){console.error("[TaskNotes][Bases] Error during view unregistration:",e)}}var fDe,C9=v(()=>{fDe=require("obsidian");n0e();l0e();dDe();pDe();mDe()});var gDe=x(()=>{var hDe;(function(r){(function(e){var t=typeof globalThis=="object"?globalThis:typeof global=="object"?global:typeof self=="object"?self:typeof this=="object"?this:o(),n=i(r);typeof t.Reflect!="undefined"&&(n=i(t.Reflect,n)),e(n,t),typeof t.Reflect=="undefined"&&(t.Reflect=r);function i(l,c){return function(d,u){Object.defineProperty(l,d,{configurable:!0,writable:!0,value:u}),c&&c(d,u)}}function s(){try{return Function("return this;")()}catch(l){}}function a(){try{return(0,eval)("(function() { return this; })()")}catch(l){}}function o(){return s()||a()}})(function(e,t){var n=Object.prototype.hasOwnProperty,i=typeof Symbol=="function",s=i&&typeof Symbol.toPrimitive!="undefined"?Symbol.toPrimitive:"@@toPrimitive",a=i&&typeof Symbol.iterator!="undefined"?Symbol.iterator:"@@iterator",o=typeof Object.create=="function",l={__proto__:[]}instanceof Array,c=!o&&!l,d={create:o?function(){return zO(Object.create(null))}:l?function(){return zO({__proto__:null})}:function(){return zO({})},has:c?function(L,j){return n.call(L,j)}:function(L,j){return j in L},get:c?function(L,j){return n.call(L,j)?L[j]:void 0}:function(L,j){return L[j]}},u=Object.getPrototypeOf(Function),p=typeof Map=="function"&&typeof Map.prototype.entries=="function"?Map:LLe(),m=typeof Set=="function"&&typeof Set.prototype.entries=="function"?Set:FLe(),f=typeof WeakMap=="function"?WeakMap:$Le(),h=i?Symbol.for("@reflect-metadata:registry"):void 0,g=NLe(),y=RLe(g);function k(L,j,G,oe){if(J(G)){if(!gr(L))throw new TypeError;if(!nr(j))throw new TypeError;return R(L,j)}else{if(!gr(L))throw new TypeError;if(!ct(j))throw new TypeError;if(!ct(oe)&&!J(oe)&&!de(oe))throw new TypeError;return de(oe)&&(oe=void 0),G=me(G),I(L,j,G,oe)}}e("decorate",k);function T(L,j){function G(oe,$e){if(!ct(oe))throw new TypeError;if(!J($e)&&!Di($e))throw new TypeError;Y(L,j,oe,$e)}return G}e("metadata",T);function w(L,j,G,oe){if(!ct(G))throw new TypeError;return J(oe)||(oe=me(oe)),Y(L,j,G,oe)}e("defineMetadata",w);function S(L,j,G){if(!ct(j))throw new TypeError;return J(G)||(G=me(G)),O(L,j,G)}e("hasMetadata",S);function E(L,j,G){if(!ct(j))throw new TypeError;return J(G)||(G=me(G)),z(L,j,G)}e("hasOwnMetadata",E);function C(L,j,G){if(!ct(j))throw new TypeError;return J(G)||(G=me(G)),B(L,j,G)}e("getMetadata",C);function D(L,j,G){if(!ct(j))throw new TypeError;return J(G)||(G=me(G)),W(L,j,G)}e("getOwnMetadata",D);function A(L,j){if(!ct(L))throw new TypeError;return J(j)||(j=me(j)),ee(L,j)}e("getMetadataKeys",A);function N(L,j){if(!ct(L))throw new TypeError;return J(j)||(j=me(j)),ae(L,j)}e("getOwnMetadataKeys",N);function V(L,j,G){if(!ct(j))throw new TypeError;if(J(G)||(G=me(G)),!ct(j))throw new TypeError;J(G)||(G=me(G));var oe=Bb(j,G,!1);return J(oe)?!1:oe.OrdinaryDeleteMetadata(L,j,G)}e("deleteMetadata",V);function R(L,j){for(var G=L.length-1;G>=0;--G){var oe=L[G],$e=oe(j);if(!J($e)&&!de($e)){if(!nr($e))throw new TypeError;j=$e}}return j}function I(L,j,G,oe){for(var $e=L.length-1;$e>=0;--$e){var yn=L[$e],Rn=yn(j,G,oe);if(!J(Rn)&&!de(Rn)){if(!ct(Rn))throw new TypeError;oe=Rn}}return oe}function O(L,j,G){var oe=z(L,j,G);if(oe)return!0;var $e=jO(j);return de($e)?!1:O(L,$e,G)}function z(L,j,G){var oe=Bb(j,G,!1);return J(oe)?!1:X(oe.OrdinaryHasOwnMetadata(L,j,G))}function B(L,j,G){var oe=z(L,j,G);if(oe)return W(L,j,G);var $e=jO(j);if(!de($e))return B(L,$e,G)}function W(L,j,G){var oe=Bb(j,G,!1);if(!J(oe))return oe.OrdinaryGetOwnMetadata(L,j,G)}function Y(L,j,G,oe){var $e=Bb(G,oe,!0);$e.OrdinaryDefineOwnMetadata(L,j,G,oe)}function ee(L,j){var G=ae(L,j),oe=jO(L);if(oe===null)return G;var $e=ee(oe,j);if($e.length<=0)return G;if(G.length<=0)return $e;for(var yn=new m,Rn=[],Et=0,fe=G;Et<fe.length;Et++){var be=fe[Et],ke=yn.has(be);ke||(yn.add(be),Rn.push(be))}for(var Pe=0,At=$e;Pe<At.length;Pe++){var be=At[Pe],ke=yn.has(be);ke||(yn.add(be),Rn.push(be))}return Rn}function ae(L,j){var G=Bb(L,j,!1);return G?G.OrdinaryOwnMetadataKeys(L,j):[]}function ce(L){if(L===null)return 1;switch(typeof L){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return L===null?1:6;default:return 6}}function J(L){return L===void 0}function de(L){return L===null}function vt(L){return typeof L=="symbol"}function ct(L){return typeof L=="object"?L!==null:typeof L=="function"}function Ae(L,j){switch(ce(L)){case 0:return L;case 1:return L;case 2:return L;case 3:return L;case 4:return L;case 5:return L}var G=j===3?"string":j===5?"number":"default",oe=TZ(L,s);if(oe!==void 0){var $e=oe.call(L,G);if(ct($e))throw new TypeError;return $e}return Z(L,G==="default"?"number":G)}function Z(L,j){if(j==="string"){var G=L.toString;if(Lt(G)){var oe=G.call(L);if(!ct(oe))return oe}var $e=L.valueOf;if(Lt($e)){var oe=$e.call(L);if(!ct(oe))return oe}}else{var $e=L.valueOf;if(Lt($e)){var oe=$e.call(L);if(!ct(oe))return oe}var yn=L.toString;if(Lt(yn)){var oe=yn.call(L);if(!ct(oe))return oe}}throw new TypeError}function X(L){return!!L}function Me(L){return""+L}function me(L){var j=Ae(L,3);return vt(j)?j:Me(j)}function gr(L){return Array.isArray?Array.isArray(L):L instanceof Object?L instanceof Array:Object.prototype.toString.call(L)==="[object Array]"}function Lt(L){return typeof L=="function"}function nr(L){return typeof L=="function"}function Di(L){switch(ce(L)){case 3:return!0;case 4:return!0;default:return!1}}function Oa(L,j){return L===j||L!==L&&j!==j}function TZ(L,j){var G=L[j];if(G!=null){if(!Lt(G))throw new TypeError;return G}}function kZ(L){var j=TZ(L,a);if(!Lt(j))throw new TypeError;var G=j.call(L);if(!ct(G))throw new TypeError;return G}function wZ(L){return L.value}function SZ(L){var j=L.next();return j.done?!1:j}function xZ(L){var j=L.return;j&&j.call(L)}function jO(L){var j=Object.getPrototypeOf(L);if(typeof L!="function"||L===u||j!==u)return j;var G=L.prototype,oe=G&&Object.getPrototypeOf(G);if(oe==null||oe===Object.prototype)return j;var $e=oe.constructor;return typeof $e!="function"||$e===L?j:$e}function ILe(){var L;!J(h)&&typeof t.Reflect!="undefined"&&!(h in t.Reflect)&&typeof t.Reflect.defineMetadata=="function"&&(L=OLe(t.Reflect));var j,G,oe,$e=new f,yn={registerProvider:Rn,getProvider:fe,setProvider:ke};return yn;function Rn(Pe){if(!Object.isExtensible(yn))throw new Error("Cannot add provider to a frozen registry.");switch(!0){case L===Pe:break;case J(j):j=Pe;break;case j===Pe:break;case J(G):G=Pe;break;case G===Pe:break;default:oe===void 0&&(oe=new m),oe.add(Pe);break}}function Et(Pe,At){if(!J(j)){if(j.isProviderFor(Pe,At))return j;if(!J(G)){if(G.isProviderFor(Pe,At))return j;if(!J(oe))for(var Fr=kZ(oe);;){var vn=SZ(Fr);if(!vn)return;var No=wZ(vn);if(No.isProviderFor(Pe,At))return xZ(Fr),No}}}if(!J(L)&&L.isProviderFor(Pe,At))return L}function fe(Pe,At){var Fr=$e.get(Pe),vn;return J(Fr)||(vn=Fr.get(At)),J(vn)&&(vn=Et(Pe,At),J(vn)||(J(Fr)&&(Fr=new p,$e.set(Pe,Fr)),Fr.set(At,vn))),vn}function be(Pe){if(J(Pe))throw new TypeError;return j===Pe||G===Pe||!J(oe)&&oe.has(Pe)}function ke(Pe,At,Fr){if(!be(Fr))throw new Error("Metadata provider not registered.");var vn=fe(Pe,At);if(vn!==Fr){if(!J(vn))return!1;var No=$e.get(Pe);J(No)&&(No=new p,$e.set(Pe,No)),No.set(At,Fr)}return!0}}function NLe(){var L;return!J(h)&&ct(t.Reflect)&&Object.isExtensible(t.Reflect)&&(L=t.Reflect[h]),J(L)&&(L=ILe()),!J(h)&&ct(t.Reflect)&&Object.isExtensible(t.Reflect)&&Object.defineProperty(t.Reflect,h,{enumerable:!1,configurable:!1,writable:!1,value:L}),L}function RLe(L){var j=new f,G={isProviderFor:function(be,ke){var Pe=j.get(be);return J(Pe)?!1:Pe.has(ke)},OrdinaryDefineOwnMetadata:Rn,OrdinaryHasOwnMetadata:$e,OrdinaryGetOwnMetadata:yn,OrdinaryOwnMetadataKeys:Et,OrdinaryDeleteMetadata:fe};return g.registerProvider(G),G;function oe(be,ke,Pe){var At=j.get(be),Fr=!1;if(J(At)){if(!Pe)return;At=new p,j.set(be,At),Fr=!0}var vn=At.get(ke);if(J(vn)){if(!Pe)return;if(vn=new p,At.set(ke,vn),!L.setProvider(be,ke,G))throw At.delete(ke),Fr&&j.delete(be),new Error("Wrong provider for target.")}return vn}function $e(be,ke,Pe){var At=oe(ke,Pe,!1);return J(At)?!1:X(At.has(be))}function yn(be,ke,Pe){var At=oe(ke,Pe,!1);if(!J(At))return At.get(be)}function Rn(be,ke,Pe,At){var Fr=oe(Pe,At,!0);Fr.set(be,ke)}function Et(be,ke){var Pe=[],At=oe(be,ke,!1);if(J(At))return Pe;for(var Fr=At.keys(),vn=kZ(Fr),No=0;;){var EZ=SZ(vn);if(!EZ)return Pe.length=No,Pe;var jLe=wZ(EZ);try{Pe[No]=jLe}catch(zLe){try{xZ(vn)}finally{throw zLe}}No++}}function fe(be,ke,Pe){var At=oe(ke,Pe,!1);if(J(At)||!At.delete(be))return!1;if(At.size===0){var Fr=j.get(ke);J(Fr)||(Fr.delete(Pe),Fr.size===0&&j.delete(Fr))}return!0}}function OLe(L){var j=L.defineMetadata,G=L.hasOwnMetadata,oe=L.getOwnMetadata,$e=L.getOwnMetadataKeys,yn=L.deleteMetadata,Rn=new f,Et={isProviderFor:function(fe,be){var ke=Rn.get(fe);return!J(ke)&&ke.has(be)?!0:$e(fe,be).length?(J(ke)&&(ke=new m,Rn.set(fe,ke)),ke.add(be),!0):!1},OrdinaryDefineOwnMetadata:j,OrdinaryHasOwnMetadata:G,OrdinaryGetOwnMetadata:oe,OrdinaryOwnMetadataKeys:$e,OrdinaryDeleteMetadata:yn};return Et}function Bb(L,j,G){var oe=g.getProvider(L,j);if(!J(oe))return oe;if(G){if(g.setProvider(L,j,y))return y;throw new Error("Illegal state.")}}function LLe(){var L={},j=[],G=(function(){function Et(fe,be,ke){this._index=0,this._keys=fe,this._values=be,this._selector=ke}return Et.prototype["@@iterator"]=function(){return this},Et.prototype[a]=function(){return this},Et.prototype.next=function(){var fe=this._index;if(fe>=0&&fe<this._keys.length){var be=this._selector(this._keys[fe],this._values[fe]);return fe+1>=this._keys.length?(this._index=-1,this._keys=j,this._values=j):this._index++,{value:be,done:!1}}return{value:void 0,done:!0}},Et.prototype.throw=function(fe){throw this._index>=0&&(this._index=-1,this._keys=j,this._values=j),fe},Et.prototype.return=function(fe){return this._index>=0&&(this._index=-1,this._keys=j,this._values=j),{value:fe,done:!0}},Et})(),oe=(function(){function Et(){this._keys=[],this._values=[],this._cacheKey=L,this._cacheIndex=-2}return Object.defineProperty(Et.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),Et.prototype.has=function(fe){return this._find(fe,!1)>=0},Et.prototype.get=function(fe){var be=this._find(fe,!1);return be>=0?this._values[be]:void 0},Et.prototype.set=function(fe,be){var ke=this._find(fe,!0);return this._values[ke]=be,this},Et.prototype.delete=function(fe){var be=this._find(fe,!1);if(be>=0){for(var ke=this._keys.length,Pe=be+1;Pe<ke;Pe++)this._keys[Pe-1]=this._keys[Pe],this._values[Pe-1]=this._values[Pe];return this._keys.length--,this._values.length--,Oa(fe,this._cacheKey)&&(this._cacheKey=L,this._cacheIndex=-2),!0}return!1},Et.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=L,this._cacheIndex=-2},Et.prototype.keys=function(){return new G(this._keys,this._values,$e)},Et.prototype.values=function(){return new G(this._keys,this._values,yn)},Et.prototype.entries=function(){return new G(this._keys,this._values,Rn)},Et.prototype["@@iterator"]=function(){return this.entries()},Et.prototype[a]=function(){return this.entries()},Et.prototype._find=function(fe,be){if(!Oa(this._cacheKey,fe)){this._cacheIndex=-1;for(var ke=0;ke<this._keys.length;ke++)if(Oa(this._keys[ke],fe)){this._cacheIndex=ke;break}}return this._cacheIndex<0&&be&&(this._cacheIndex=this._keys.length,this._keys.push(fe),this._values.push(void 0)),this._cacheIndex},Et})();return oe;function $e(Et,fe){return Et}function yn(Et,fe){return fe}function Rn(Et,fe){return[Et,fe]}}function FLe(){var L=(function(){function j(){this._map=new p}return Object.defineProperty(j.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),j.prototype.has=function(G){return this._map.has(G)},j.prototype.add=function(G){return this._map.set(G,G),this},j.prototype.delete=function(G){return this._map.delete(G)},j.prototype.clear=function(){this._map.clear()},j.prototype.keys=function(){return this._map.keys()},j.prototype.values=function(){return this._map.keys()},j.prototype.entries=function(){return this._map.entries()},j.prototype["@@iterator"]=function(){return this.keys()},j.prototype[a]=function(){return this.keys()},j})();return L}function $Le(){var L=16,j=d.create(),G=oe();return(function(){function fe(){this._key=oe()}return fe.prototype.has=function(be){var ke=$e(be,!1);return ke!==void 0?d.has(ke,this._key):!1},fe.prototype.get=function(be){var ke=$e(be,!1);return ke!==void 0?d.get(ke,this._key):void 0},fe.prototype.set=function(be,ke){var Pe=$e(be,!0);return Pe[this._key]=ke,this},fe.prototype.delete=function(be){var ke=$e(be,!1);return ke!==void 0?delete ke[this._key]:!1},fe.prototype.clear=function(){this._key=oe()},fe})();function oe(){var fe;do fe="@@WeakMap@@"+Et();while(d.has(j,fe));return j[fe]=!0,fe}function $e(fe,be){if(!n.call(fe,G)){if(!be)return;Object.defineProperty(fe,G,{value:d.create()})}return fe[G]}function yn(fe,be){for(var ke=0;ke<be;++ke)fe[ke]=Math.random()*255|0;return fe}function Rn(fe){if(typeof Uint8Array=="function"){var be=new Uint8Array(fe);return typeof crypto!="undefined"?crypto.getRandomValues(be):typeof msCrypto!="undefined"?msCrypto.getRandomValues(be):yn(be,fe),be}return yn(new Array(fe),fe)}function Et(){var fe=Rn(L);fe[6]=fe[6]&79|64,fe[8]=fe[8]&191|128;for(var be="",ke=0;ke<L;++ke){var Pe=fe[ke];(ke===4||ke===6||ke===8)&&(be+="-"),Pe<16&&(be+="0"),be+=Pe.toString(16).toLowerCase()}return be}}function zO(L){return L.__=void 0,delete L.__,L}})})(hDe||(hDe={}))});function yDe(r){Reflect.hasMetadata(P9,r)||Reflect.defineMetadata(P9,[],r)}function CI(r,e){return function(t,n,i){Reflect.defineMetadata(Ast,{method:r.toLowerCase(),path:e,handler:n},t,n);let s=Reflect.getMetadata("routes",t.constructor)||[];s.push({method:r.toLowerCase(),path:e,handler:n}),Reflect.defineMetadata("routes",s,t.constructor)}}function Nr(r){return CI("GET",r)}function In(r){return CI("POST",r)}function vDe(r){return CI("PUT",r)}function PI(r){return CI("DELETE",r)}function sE(r){let e=Reflect.getMetadata(P9,r.constructor)||[],t=_9(r.constructor)||[],n={openapi:"3.0.0",info:{title:"TaskNotes API",version:"1.0.0",description:"RESTful API for managing tasks, time tracking, and automation in TaskNotes",contact:{name:"TaskNotes",url:"https://github.com/your-repo/tasknotes"}},servers:[{url:"http://localhost:8080",description:"Local development server"}],security:[{bearerAuth:[]}],paths:{},components:{securitySchemes:{bearerAuth:{type:"http",scheme:"bearer",bearerFormat:"JWT",description:"Optional bearer token for API authentication"}},schemas:Ist()}};for(let i of e)n.paths[i.path]||(n.paths[i.path]={}),n.paths[i.path][i.method.toLowerCase()]=i.operation;for(let i of t)n.paths[i.path]||(n.paths[i.path]={}),n.paths[i.path][i.method.toLowerCase()]||(n.paths[i.path][i.method.toLowerCase()]={summary:`${i.method.toUpperCase()} ${i.path}`,description:`${i.method.toUpperCase()} endpoint for ${i.path}`,responses:{200:{description:"Success",content:{"application/json":{schema:{$ref:"#/components/schemas/APIResponse"}}}},400:{description:"Bad Request",content:{"application/json":{schema:{$ref:"#/components/schemas/Error"}}}},500:{description:"Internal Server Error",content:{"application/json":{schema:{$ref:"#/components/schemas/Error"}}}}}});return n}function Ist(){return{APIResponse:{type:"object",properties:{success:{type:"boolean",description:"Whether the request was successful"},data:{description:"Response data (varies by endpoint)"},error:{type:"string",description:"Error message (present when success is false)"},message:{type:"string",description:"Optional success message"}},required:["success"]},Task:{type:"object",properties:{id:{type:"string",description:"Unique task identifier (file path)"},title:{type:"string",description:"Task title",maxLength:200},status:{type:"string",description:"Current task status",enum:["todo","open","completed","in-progress","cancelled"]},priority:{type:"string",description:"Task priority level",enum:["low","normal","medium","high","urgent"]},due:{type:"string",format:"date-time",description:"Due date and time (ISO 8601 format)",nullable:!0},scheduled:{type:"string",format:"date-time",description:"Scheduled date and time (ISO 8601 format)",nullable:!0},path:{type:"string",description:"File path of the task"},archived:{type:"boolean",description:"Whether the task is archived"},tags:{type:"array",items:{type:"string"},description:"Task tags"},contexts:{type:"array",items:{type:"string"},description:"Task contexts (GTD-style)"},projects:{type:"array",items:{type:"string"},description:"Associated projects"},timeEstimate:{type:"integer",minimum:0,description:"Estimated time in minutes",nullable:!0},details:{type:"string",description:"Additional task details/description",nullable:!0},dateCreated:{type:"string",format:"date-time",description:"Task creation timestamp"},dateModified:{type:"string",format:"date-time",description:"Last modification timestamp"}},required:["id","title","status","path"]},TaskCreationData:{type:"object",properties:{title:{type:"string",description:"Task title",maxLength:200},status:{type:"string",description:"Initial task status",enum:["todo","open","in-progress"]},priority:{type:"string",description:"Task priority level",enum:["low","normal","medium","high","urgent"]},due:{type:"string",format:"date-time",description:"Due date and time (ISO 8601 format)"},scheduled:{type:"string",format:"date-time",description:"Scheduled date and time (ISO 8601 format)"},tags:{type:"array",items:{type:"string"},description:"Task tags"},contexts:{type:"array",items:{type:"string"},description:"Task contexts"},projects:{type:"array",items:{type:"string"},description:"Associated projects"},details:{type:"string",description:"Task details/description"},timeEstimate:{type:"integer",minimum:0,description:"Estimated time in minutes"}},required:["title"]},TaskStats:{type:"object",properties:{total:{type:"integer",description:"Total number of tasks"},completed:{type:"integer",description:"Number of completed tasks"},active:{type:"integer",description:"Number of active (non-completed, non-archived) tasks"},overdue:{type:"integer",description:"Number of overdue tasks"},archived:{type:"integer",description:"Number of archived tasks"},withTimeTracking:{type:"integer",description:"Number of tasks with time tracking entries"}},required:["total","completed","active","overdue","archived","withTimeTracking"]},WebhookConfig:{type:"object",properties:{id:{type:"string",description:"Unique webhook identifier"},url:{type:"string",format:"uri",description:"Webhook endpoint URL"},events:{type:"array",items:{type:"string",enum:["task.created","task.updated","task.deleted","task.completed","task.archived","task.unarchived","time.started","time.stopped","pomodoro.started","pomodoro.completed","pomodoro.interrupted","recurring.instance.completed","reminder.triggered"]},description:"Events to subscribe to",minItems:1},active:{type:"boolean",description:"Whether the webhook is active"},transformFile:{type:"string",description:"Optional transform file path for payload customization"},corsHeaders:{type:"boolean",description:"Whether to include custom headers (disable for strict CORS services)"}},required:["url","events"]},PomodoroSession:{type:"object",properties:{id:{type:"string",description:"Unique session identifier"},type:{type:"string",enum:["work","short-break","long-break"],description:"Type of pomodoro session"},duration:{type:"integer",description:"Session duration in seconds"},startTime:{type:"string",format:"date-time",description:"Session start timestamp"},endTime:{type:"string",format:"date-time",description:"Session end timestamp",nullable:!0},task:{$ref:"#/components/schemas/Task",nullable:!0,description:"Associated task (if any)"}},required:["id","type","duration","startTime"]},PomodoroState:{type:"object",properties:{isRunning:{type:"boolean",description:"Whether a pomodoro session is currently running"},timeRemaining:{type:"integer",description:"Time remaining in current session (seconds)"},currentSession:{$ref:"#/components/schemas/PomodoroSession",nullable:!0,description:"Current active session (if any)"},nextSessionType:{type:"string",enum:["work","short-break","long-break"],nullable:!0,description:"Suggested next session type"},totalPomodoros:{type:"integer",description:"Total completed pomodoros (all time)"},currentStreak:{type:"integer",description:"Current consecutive pomodoro streak"},totalMinutesToday:{type:"integer",description:"Total focused minutes today"}},required:["isRunning","timeRemaining"]},PomodoroSessionHistory:{type:"object",properties:{id:{type:"string",description:"Session identifier"},type:{type:"string",enum:["work","short-break","long-break"]},startTime:{type:"string",format:"date-time"},endTime:{type:"string",format:"date-time"},duration:{type:"integer",description:"Actual session duration in seconds"},completed:{type:"boolean",description:"Whether the session was completed (not interrupted)"},taskPath:{type:"string",nullable:!0,description:"Associated task file path"},taskTitle:{type:"string",nullable:!0,description:"Associated task title"}},required:["id","type","startTime","endTime","duration","completed"]},PomodoroStats:{type:"object",properties:{totalSessions:{type:"integer",description:"Total number of sessions"},completedSessions:{type:"integer",description:"Number of completed sessions"},interruptedSessions:{type:"integer",description:"Number of interrupted sessions"},totalFocusTime:{type:"integer",description:"Total focused time in minutes"},workSessions:{type:"integer",description:"Number of work sessions"},breakSessions:{type:"integer",description:"Number of break sessions"},longestStreak:{type:"integer",description:"Longest consecutive completed sessions"},averageSessionLength:{type:"number",description:"Average session length in minutes"}},required:["totalSessions","completedSessions","interruptedSessions","totalFocusTime"]},TimeEntry:{type:"object",properties:{startTime:{type:"string",format:"date-time",description:"ISO timestamp when time tracking started"},endTime:{type:"string",format:"date-time",nullable:!0,description:"ISO timestamp when time tracking ended (null if still running)"},description:{type:"string",nullable:!0,description:"Optional description of work being tracked"},duration:{type:"integer",minimum:0,description:"Duration in minutes (calculated or manually set)"},isActive:{type:"boolean",description:"Whether this time entry is currently active"}},required:["startTime","duration","isActive"]},ActiveTimeSession:{type:"object",properties:{task:{type:"object",properties:{id:{type:"string",description:"Task identifier (file path)"},title:{type:"string",description:"Task title"},status:{type:"string",description:"Task status"},priority:{type:"string",description:"Task priority"},tags:{type:"array",items:{type:"string"},description:"Task tags"},projects:{type:"array",items:{type:"string"},description:"Associated projects"}},required:["id","title","status"]},session:{type:"object",properties:{startTime:{type:"string",format:"date-time",description:"When the session started"},description:{type:"string",nullable:!0,description:"Session description"},elapsedMinutes:{type:"integer",minimum:0,description:"Minutes elapsed since session started"}},required:["startTime","elapsedMinutes"]},elapsedMinutes:{type:"integer",minimum:0,description:"Total elapsed minutes for this session"}},required:["task","session","elapsedMinutes"]},TimeSummary:{type:"object",properties:{period:{type:"string",enum:["today","week","month","all","custom"],description:"Time period for the summary"},dateRange:{type:"object",properties:{from:{type:"string",format:"date-time",description:"Start date of the summary period"},to:{type:"string",format:"date-time",description:"End date of the summary period"}},required:["from","to"]},summary:{type:"object",properties:{totalMinutes:{type:"integer",minimum:0,description:"Total tracked time in minutes"},totalHours:{type:"number",minimum:0,description:"Total tracked time in hours (rounded to 2 decimals)"},tasksWithTime:{type:"integer",minimum:0,description:"Number of tasks with time tracking data"},activeTasks:{type:"integer",minimum:0,description:"Number of tasks with active time tracking"},completedTasks:{type:"integer",minimum:0,description:"Number of completed tasks with time tracking"}},required:["totalMinutes","totalHours","tasksWithTime","activeTasks","completedTasks"]},topTasks:{type:"array",items:{type:"object",properties:{task:{type:"string",description:"Task identifier"},title:{type:"string",description:"Task title"},minutes:{type:"integer",minimum:0,description:"Total minutes tracked for this task"}},required:["task","title","minutes"]},description:"Top 10 tasks by time tracked"},topProjects:{type:"array",items:{type:"object",properties:{project:{type:"string",description:"Project name"},minutes:{type:"integer",minimum:0,description:"Total minutes tracked for this project"}},required:["project","minutes"]},description:"Top 10 projects by time tracked"},topTags:{type:"array",items:{type:"object",properties:{tag:{type:"string",description:"Tag name"},minutes:{type:"integer",minimum:0,description:"Total minutes tracked for this tag"}},required:["tag","minutes"]},description:"Top 10 tags by time tracked"}},required:["period","dateRange","summary","topTasks","topProjects","topTags"]},TaskTimeData:{type:"object",properties:{task:{type:"object",properties:{id:{type:"string",description:"Task identifier (file path)"},title:{type:"string",description:"Task title"},status:{type:"string",description:"Task status"},priority:{type:"string",description:"Task priority"}},required:["id","title","status"]},summary:{type:"object",properties:{totalMinutes:{type:"integer",minimum:0,description:"Total time tracked for this task in minutes"},totalHours:{type:"number",minimum:0,description:"Total time tracked for this task in hours"},totalSessions:{type:"integer",minimum:0,description:"Total number of time tracking sessions"},completedSessions:{type:"integer",minimum:0,description:"Number of completed sessions"},activeSessions:{type:"integer",minimum:0,maximum:1,description:"Number of active sessions (0 or 1)"},averageSessionMinutes:{type:"number",minimum:0,description:"Average session length in minutes"}},required:["totalMinutes","totalHours","totalSessions","completedSessions","activeSessions","averageSessionMinutes"]},activeSession:{type:"object",nullable:!0,properties:{startTime:{type:"string",format:"date-time",description:"When the active session started"},description:{type:"string",nullable:!0,description:"Description of the active session"},elapsedMinutes:{type:"integer",minimum:0,description:"Minutes elapsed since session started"}},required:["startTime","elapsedMinutes"]},timeEntries:{type:"array",items:{$ref:"#/components/schemas/TimeEntry"},description:"All time entries for this task"}},required:["task","summary","timeEntries"]},Error:{type:"object",properties:{success:{type:"boolean",enum:[!1]},error:{type:"string",description:"Error message describing what went wrong"}},required:["success","error"]}}}function _9(r){return Reflect.getMetadata("routes",r)||[]}var Wpr,Ypr,P9,Ast,Yd=v(()=>{Wpr=Ke(gDe()),Ypr=Symbol("openapi:operation"),P9=Symbol("openapi:endpoints"),Ast=Symbol("route")});function Ma(r){var e;return new URL((e=r.url)!=null?e:"","http://localhost")}var Xf=v(()=>{});var _I,bDe=v(()=>{Xf();Yd();_I=class{constructor(){this.routes=[]}compilePattern(e){let t=[],n=e.replace(/:([a-zA-Z_][a-zA-Z0-9_]*)/g,(s,a)=>(t.push(a),"([^/]+)"));return{regex:new RegExp(`^${n}$`),paramNames:t}}register(e,t,n){let{regex:i,paramNames:s}=this.compilePattern(t);this.routes.push({method:e,pattern:t,handler:n,regex:i,paramNames:s})}get(e,t){this.register("GET",e,t)}post(e,t){this.register("POST",e,t)}put(e,t){this.register("PUT",e,t)}delete(e,t){this.register("DELETE",e,t)}options(e,t){this.register("OPTIONS",e,t)}async route(e,t){let n=Ma(e).pathname,i=e.method;for(let s of this.routes)if(s.method===i){let a=n.match(s.regex);if(a){let o={};for(let l=0;l<s.paramNames.length;l++){let c=s.paramNames[l],d=a[l+1];d&&(o[c]=decodeURIComponent(d))}return await s.handler(e,t,o),!0}}return!1}registerController(e){let t=e,n=_9(e.constructor);for(let i of n){let s=t[i.handler];typeof s=="function"&&this.register(i.method.toUpperCase(),i.path,s.bind(e))}}getRoutes(){return this.routes}}});function M9(r,e){var t,n,i;r.setHeader("Access-Control-Allow-Origin",(t=e==null?void 0:e.allowOrigin)!=null?t:"*"),r.setHeader("Access-Control-Allow-Methods",(n=e==null?void 0:e.allowMethods)!=null?n:Nst),r.setHeader("Access-Control-Allow-Headers",(i=e==null?void 0:e.allowHeaders)!=null?i:Rst)}function MI(r,e,t){r.statusCode=e,r.setHeader("Content-Type","application/json"),M9(r),r.end(JSON.stringify(t))}function AI(r){return new Promise((e,t)=>{let n="";r.on("data",i=>{n+=i.toString()}),r.on("end",()=>{try{e(n?JSON.parse(n):{})}catch(i){t(new Error("Invalid JSON"))}}),r.on("error",t)})}var Nst,Rst,A9=v(()=>{Nst="GET, POST, PUT, DELETE, OPTIONS",Rst="Content-Type, Authorization"});var Vs,eh=v(()=>{A9();Vs=class{sendResponse(e,t,n){MI(e,t,n)}successResponse(e,t){return{success:!0,data:e,message:t}}errorResponse(e){return{success:!1,error:e}}getErrorMessage(e){return e instanceof Error?e.message:String(e)}async parseRequestBody(e){return await AI(e)}}});var ps,TDe=v(()=>{Xf();eh();Yd();ps=class extends Vs{constructor(t,n,i,s,a){super();this.plugin=t;this.taskService=n;this.filterService=i;this.cacheManager=s;this.taskStatsService=a}async getTasks(t,n){try{let i=Ma(t).searchParams;if(["status","priority","project","tag","overdue","completed","archived","due_before","due_after","sort"].some(h=>i.has(h))){this.sendResponse(n,400,this.errorResponse("For filtering tasks, please use POST /api/tasks/query which supports advanced filtering capabilities. GET /api/tasks is for basic listing only. See API documentation for details."));return}let o=await this.cacheManager.getAllTasks(),l=0,c=50,d=i.get("offset");d&&(l=parseInt(d,10),(isNaN(l)||l<0)&&(l=0));let u=i.get("limit");u&&(c=parseInt(u,10),(isNaN(c)||c<1)&&(c=50),c>200&&(c=200));let p=o.slice(l,l+c),m=this.plugin.app.vault.adapter,f=null;try{"basePath"in m&&typeof m.basePath=="string"?f=m.basePath:"path"in m&&typeof m.path=="string"&&(f=m.path)}catch(h){}this.sendResponse(n,200,this.successResponse({tasks:p,pagination:{total:o.length,offset:l,limit:c,hasMore:l+c<o.length},vault:{name:this.plugin.app.vault.getName(),path:f},note:"For filtering and advanced queries, use POST /api/tasks/query"}))}catch(i){this.sendResponse(n,500,this.errorResponse(this.getErrorMessage(i)))}}async createTask(t,n){try{let i=await this.parseRequestBody(t);if(!i.title||!i.title.trim()){this.sendResponse(n,400,this.errorResponse("Title is required"));return}let s=await this.taskService.createTask(i);this.sendResponse(n,201,this.successResponse(s.taskInfo))}catch(i){this.sendResponse(n,400,this.errorResponse(this.getErrorMessage(i)))}}async getTask(t,n,i){try{let s=i==null?void 0:i.id;if(!s){this.sendResponse(n,400,this.errorResponse("Task ID is required"));return}let a=await this.cacheManager.getTaskInfo(s);if(!a){this.sendResponse(n,404,this.errorResponse("Task not found"));return}this.sendResponse(n,200,this.successResponse(a))}catch(s){this.sendResponse(n,500,this.errorResponse(this.getErrorMessage(s)))}}async updateTask(t,n,i){try{let s=i==null?void 0:i.id;if(!s){this.sendResponse(n,400,this.errorResponse("Task ID is required"));return}let a=await this.parseRequestBody(t),o=await this.cacheManager.getTaskInfo(s);if(!o){this.sendResponse(n,404,this.errorResponse("Task not found"));return}let l=await this.taskService.updateTask(o,a);this.sendResponse(n,200,this.successResponse(l))}catch(s){this.sendResponse(n,400,this.errorResponse(this.getErrorMessage(s)))}}async deleteTask(t,n,i){try{let s=i==null?void 0:i.id;if(!s){this.sendResponse(n,400,this.errorResponse("Task ID is required"));return}let a=await this.cacheManager.getTaskInfo(s);if(!a){this.sendResponse(n,404,this.errorResponse("Task not found"));return}await this.taskService.deleteTask(a),this.sendResponse(n,200,this.successResponse({message:"Task deleted successfully"}))}catch(s){this.sendResponse(n,500,this.errorResponse(this.getErrorMessage(s)))}}async toggleStatus(t,n,i){try{let s=i==null?void 0:i.id;if(!s){this.sendResponse(n,400,this.errorResponse("Task ID is required"));return}let a=await this.cacheManager.getTaskInfo(s);if(!a){this.sendResponse(n,404,this.errorResponse("Task not found"));return}let o=await this.taskService.toggleStatus(a);this.sendResponse(n,200,this.successResponse(o))}catch(s){this.sendResponse(n,400,this.errorResponse(this.getErrorMessage(s)))}}async toggleArchive(t,n,i){try{let s=i==null?void 0:i.id;if(!s){this.sendResponse(n,400,this.errorResponse("Task ID is required"));return}let a=await this.cacheManager.getTaskInfo(s);if(!a){this.sendResponse(n,404,this.errorResponse("Task not found"));return}let o=await this.taskService.toggleArchive(a);this.sendResponse(n,200,this.successResponse(o))}catch(s){this.sendResponse(n,400,this.errorResponse(this.getErrorMessage(s)))}}async completeRecurringInstance(t,n,i){try{let s=i==null?void 0:i.id;if(!s){this.sendResponse(n,400,this.errorResponse("Task ID is required"));return}let{date:a}=await this.parseRequestBody(t),o=await this.cacheManager.getTaskInfo(s);if(!o){this.sendResponse(n,404,this.errorResponse("Task not found"));return}let l=a?new Date(a):void 0,c=await this.taskService.toggleRecurringTaskComplete(o,l);this.sendResponse(n,200,this.successResponse(c))}catch(s){this.sendResponse(n,400,this.errorResponse(this.getErrorMessage(s)))}}async queryTasks(t,n){try{let i=await this.parseRequestBody(t),s=await this.filterService.getGroupedTasks(i),a=[];for(let d of s.values())a.push(...d);let o=await this.cacheManager.getAllTasks(),l=this.plugin.app.vault.adapter,c=null;try{"basePath"in l&&typeof l.basePath=="string"?c=l.basePath:"path"in l&&typeof l.path=="string"&&(c=l.path)}catch(d){}this.sendResponse(n,200,this.successResponse({tasks:a,total:o.length,filtered:a.length,vault:{name:this.plugin.app.vault.getName(),path:c}}))}catch(i){this.sendResponse(n,400,this.errorResponse(this.getErrorMessage(i)))}}async getFilterOptions(t,n){try{let i=await this.filterService.getFilterOptions();this.sendResponse(n,200,this.successResponse(i))}catch(i){this.sendResponse(n,500,this.errorResponse(this.getErrorMessage(i)))}}async getStats(t,n){try{let i=await this.cacheManager.getAllTasks(),s=this.taskStatsService.getStats(i),a={total:s.total,completed:s.completed,active:s.active,overdue:s.overdue,archived:s.archived,withTimeTracking:s.withTimeEntries};this.sendResponse(n,200,this.successResponse(a))}catch(i){this.sendResponse(n,500,this.errorResponse(this.getErrorMessage(i)))}}};Ze([Nr("/api/tasks")],ps.prototype,"getTasks",1),Ze([In("/api/tasks")],ps.prototype,"createTask",1),Ze([Nr("/api/tasks/:id")],ps.prototype,"getTask",1),Ze([vDe("/api/tasks/:id")],ps.prototype,"updateTask",1),Ze([PI("/api/tasks/:id")],ps.prototype,"deleteTask",1),Ze([In("/api/tasks/:id/toggle-status")],ps.prototype,"toggleStatus",1),Ze([In("/api/tasks/:id/archive")],ps.prototype,"toggleArchive",1),Ze([In("/api/tasks/:id/complete-instance")],ps.prototype,"completeRecurringInstance",1),Ze([In("/api/tasks/query")],ps.prototype,"queryTasks",1),Ze([Nr("/api/filter-options")],ps.prototype,"getFilterOptions",1),Ze([Nr("/api/stats")],ps.prototype,"getStats",1)});function Ost(r){return!r||r.length===0?0:r.reduce((e,t)=>{if(t.endTime){let n=new Date(t.endTime).getTime()-new Date(t.startTime).getTime();return e+Math.floor(n/(1e3*60))}else{let n=Date.now()-new Date(t.startTime).getTime();return e+Math.floor(n/(1e3*60))}},0)}function Iv(r,e){let t=[];for(let n of r){let i=e(n);if(i){let s=new Date(i.startTime),a=Math.floor((Date.now()-s.getTime())/(1e3*60));t.push({task:{id:n.path,title:n.title,status:n.status,priority:n.priority,tags:n.tags||[],projects:n.projects||[]},session:{startTime:i.startTime,description:i.description,elapsedMinutes:a},elapsedMinutes:a})}}return{activeSessions:t,totalActiveSessions:t.length,totalElapsedMinutes:t.reduce((n,i)=>n+i.elapsedMinutes,0)}}function Lst(r){let e,t=new Date;switch(r.period){case"today":e=new Date,e.setHours(0,0,0,0);break;case"week":e=new Date,e.setDate(e.getDate()-e.getDay()),e.setHours(0,0,0,0);break;case"month":e=new Date,e.setDate(1),e.setHours(0,0,0,0);break;case"all":e=new Date(0);break;default:r.fromDate?(e=r.fromDate,r.toDate&&(t=r.toDate)):(e=new Date,e.setHours(0,0,0,0))}return{startDate:e,endDate:t}}function II(r,e,t){let{startDate:n,endDate:i}=Lst(e),s=0,a=0,o=0,l=[],c=new Map,d=e.includeTags?new Map:null;for(let m of r){if(!m.timeEntries||m.timeEntries.length===0)continue;let f=0,h=!1;for(let g of m.timeEntries){let y=new Date(g.startTime);if(y>=n&&y<=i)if(!g.endTime)f+=Math.floor((Date.now()-y.getTime())/(1e3*60)),h=!0;else{let k=new Date(g.endTime);f+=Math.floor((k.getTime()-y.getTime())/(1e3*60))}}if(f>0){if(s+=f,l.push({task:m.path,title:m.title,minutes:f}),h?o++:t(m.status)&&a++,m.projects)for(let g of m.projects)c.set(g,(c.get(g)||0)+f);if(d&&m.tags)for(let g of m.tags)d.set(g,(d.get(g)||0)+f)}}l.sort((m,f)=>f.minutes-m.minutes);let u=Array.from(c.entries()).sort((m,f)=>f[1]-m[1]).slice(0,10).map(([m,f])=>({project:m,minutes:f})),p={period:e.period,dateRange:{from:n.toISOString(),to:i.toISOString()},summary:{totalMinutes:s,totalHours:Math.round(s/60*100)/100,tasksWithTime:l.length,activeTasks:o,completedTasks:a},topTasks:l.slice(0,10),topProjects:u};return d&&(p.topTags=Array.from(d.entries()).sort((m,f)=>f[1]-m[1]).slice(0,10).map(([m,f])=>({tag:m,minutes:f}))),p}function Nv(r,e){let t=r.timeEntries||[],n=e(r),i=Ost(t),s=t.filter(l=>l.endTime).length,a=t.filter(l=>l.endTime),o=a.length>0?Math.round(a.reduce((l,c)=>l+Math.floor((new Date(c.endTime).getTime()-new Date(c.startTime).getTime())/(1e3*60)),0)/a.length*100)/100:0;return{task:{id:r.path,title:r.title,status:r.status,priority:r.priority},summary:{totalMinutes:i,totalHours:Math.round(i/60*100)/100,totalSessions:t.length,completedSessions:s,activeSessions:n?1:0,averageSessionMinutes:o},activeSession:n?{startTime:n.startTime,description:n.description,elapsedMinutes:Math.floor((Date.now()-new Date(n.startTime).getTime())/(1e3*60))}:null,timeEntries:t.map(l=>({startTime:l.startTime,endTime:l.endTime||null,description:l.description||null,duration:l.endTime?Math.floor((new Date(l.endTime).getTime()-new Date(l.startTime).getTime())/(1e3*60)):Math.floor((Date.now()-new Date(l.startTime).getTime())/(1e3*60)),isActive:!l.endTime}))}}var NI=v(()=>{});var Sc,kDe=v(()=>{Xf();eh();Yd();NI();Sc=class extends Vs{constructor(t,n,i,s){super();this.plugin=t;this.taskService=n;this.cacheManager=i;this.statusManager=s}async startTimeTracking(t,n,i){try{let s=i==null?void 0:i.id;if(!s){this.sendResponse(n,400,this.errorResponse("Task ID is required"));return}let a=await this.cacheManager.getTaskInfo(s);if(!a){this.sendResponse(n,404,this.errorResponse("Task not found"));return}let o=await this.taskService.startTimeTracking(a);this.sendResponse(n,200,this.successResponse(o))}catch(s){this.sendResponse(n,400,this.errorResponse(this.getErrorMessage(s)))}}async stopTimeTracking(t,n,i){try{let s=i==null?void 0:i.id;if(!s){this.sendResponse(n,400,this.errorResponse("Task ID is required"));return}let a=await this.cacheManager.getTaskInfo(s);if(!a){this.sendResponse(n,404,this.errorResponse("Task not found"));return}let o=await this.taskService.stopTimeTracking(a);this.sendResponse(n,200,this.successResponse(o))}catch(s){this.sendResponse(n,400,this.errorResponse(this.getErrorMessage(s)))}}async startTimeTrackingWithDescription(t,n,i){var s;try{let a=i==null?void 0:i.id;if(!a){this.sendResponse(n,400,this.errorResponse("Task ID is required"));return}let o=await this.cacheManager.getTaskInfo(a);if(!o){this.sendResponse(n,404,this.errorResponse("Task not found"));return}let c=(s=(await this.parseRequestBody(t)).description)!=null?s:"",d=await this.taskService.startTimeTracking(o);if(c&&d.timeEntries&&d.timeEntries.length>0){let u=d.timeEntries[d.timeEntries.length-1];u&&!u.endTime&&(u.description=c,d=await this.taskService.updateTask(d,{timeEntries:d.timeEntries}))}this.sendResponse(n,200,this.successResponse({task:d,message:c?`Time tracking started with description: ${c}`:"Time tracking started"}))}catch(a){this.sendResponse(n,400,this.errorResponse(this.getErrorMessage(a)))}}async getActiveTimeSessions(t,n){try{let i=await this.cacheManager.getAllTasks(),s=Iv(i,a=>this.plugin.getActiveTimeSession(a));this.sendResponse(n,200,this.successResponse(s))}catch(i){this.sendResponse(n,500,this.errorResponse(this.getErrorMessage(i)))}}async getTimeSummary(t,n){try{let i=Ma(t).searchParams,s=await this.cacheManager.getAllTasks(),a=i.get("period")||"today",o=i.get("from"),l=i.get("to"),c=o?new Date(o):null,d=l?new Date(l):null,u=II(s,{period:a,fromDate:c,toDate:d,includeTags:!0},p=>this.statusManager.isCompletedStatus(p));this.sendResponse(n,200,this.successResponse(u))}catch(i){this.sendResponse(n,500,this.errorResponse(this.getErrorMessage(i)))}}async getTaskTimeData(t,n,i){try{let s=i==null?void 0:i.id;if(!s){this.sendResponse(n,400,this.errorResponse("Task ID is required"));return}let a=await this.cacheManager.getTaskInfo(s);if(!a){this.sendResponse(n,404,this.errorResponse("Task not found"));return}let o=Nv(a,l=>this.plugin.getActiveTimeSession(l));this.sendResponse(n,200,this.successResponse(o))}catch(s){this.sendResponse(n,500,this.errorResponse(this.getErrorMessage(s)))}}};Ze([In("/api/tasks/:id/time/start")],Sc.prototype,"startTimeTracking",1),Ze([In("/api/tasks/:id/time/stop")],Sc.prototype,"stopTimeTracking",1),Ze([In("/api/tasks/:id/time/start-with-description")],Sc.prototype,"startTimeTrackingWithDescription",1),Ze([Nr("/api/time/active")],Sc.prototype,"getActiveTimeSessions",1),Ze([Nr("/api/time/summary")],Sc.prototype,"getTimeSummary",1),Ze([Nr("/api/tasks/:id/time")],Sc.prototype,"getTaskTimeData",1)});var al,wDe=v(()=>{Xf();eh();Yd();al=class extends Vs{constructor(t,n){super();this.plugin=t;this.cacheManager=n}async startPomodoro(t,n){try{let i=await this.parseRequestBody(t),s;if(i.taskId){let c=await this.cacheManager.getTaskInfo(i.taskId);if(!c){this.sendResponse(n,404,this.errorResponse("Task not found"));return}s=c}if(this.plugin.pomodoroService.getState().isRunning){this.sendResponse(n,400,this.errorResponse("Pomodoro session is already running. Stop or pause the current session first."));return}let o=i.duration!==void 0?parseInt(String(i.duration),10):void 0;await this.plugin.pomodoroService.startPomodoro(s,o);let l=this.plugin.pomodoroService.getState();this.sendResponse(n,200,this.successResponse({session:l.currentSession,task:s||null,message:"Pomodoro session started"}))}catch(i){this.sendResponse(n,400,this.errorResponse(this.getErrorMessage(i)))}}async stopPomodoro(t,n){try{if(!this.plugin.pomodoroService.getState().currentSession){this.sendResponse(n,400,this.errorResponse("No active pomodoro session to stop"));return}await this.plugin.pomodoroService.stopPomodoro(),this.sendResponse(n,200,this.successResponse({message:"Pomodoro session stopped and reset"}))}catch(i){this.sendResponse(n,400,this.errorResponse(this.getErrorMessage(i)))}}async pausePomodoro(t,n){try{let i=this.plugin.pomodoroService.getState();if(!i.isRunning||!i.currentSession){this.sendResponse(n,400,this.errorResponse("No running pomodoro session to pause"));return}await this.plugin.pomodoroService.pausePomodoro();let s=this.plugin.pomodoroService.getState();this.sendResponse(n,200,this.successResponse({timeRemaining:s.timeRemaining,message:"Pomodoro session paused"}))}catch(i){this.sendResponse(n,400,this.errorResponse(this.getErrorMessage(i)))}}async resumePomodoro(t,n){try{let i=this.plugin.pomodoroService.getState();if(i.isRunning){this.sendResponse(n,400,this.errorResponse("Pomodoro session is already running"));return}if(!i.currentSession){this.sendResponse(n,400,this.errorResponse("No paused session to resume"));return}await this.plugin.pomodoroService.resumePomodoro();let s=this.plugin.pomodoroService.getState();this.sendResponse(n,200,this.successResponse({timeRemaining:s.timeRemaining,message:"Pomodoro session resumed"}))}catch(i){this.sendResponse(n,400,this.errorResponse(this.getErrorMessage(i)))}}async getPomodoroStatus(t,n){try{let s={...this.plugin.pomodoroService.getState(),totalPomodoros:await this.plugin.pomodoroService.getPomodorosCompleted(),currentStreak:await this.plugin.pomodoroService.getCurrentStreak(),totalMinutesToday:await this.plugin.pomodoroService.getTotalMinutesToday()};this.sendResponse(n,200,this.successResponse(s))}catch(i){this.sendResponse(n,500,this.errorResponse(this.getErrorMessage(i)))}}async getPomodoroSessions(t,n){try{let i=Ma(t).searchParams,s=await this.plugin.pomodoroService.getSessionHistory(),a=i.get("date");if(a){let c=a;s=s.filter(d=>new Date(d.startTime).toISOString().split("T")[0]===c)}let o=s.length,l=i.get("limit");if(l){let c=parseInt(l,10);c>0&&(s=s.slice(-c))}this.sendResponse(n,200,this.successResponse({sessions:s,total:o}))}catch(i){this.sendResponse(n,500,this.errorResponse(this.getErrorMessage(i)))}}async getPomodoroStats(t,n){try{let i=Ma(t).searchParams,s,a=i.get("date");if(a){let o=new Date(a);s=await this.plugin.pomodoroService.getStatsForDate(o)}else s=await this.plugin.pomodoroService.getTodayStats();this.sendResponse(n,200,this.successResponse(s))}catch(i){this.sendResponse(n,500,this.errorResponse(this.getErrorMessage(i)))}}};Ze([In("/api/pomodoro/start")],al.prototype,"startPomodoro",1),Ze([In("/api/pomodoro/stop")],al.prototype,"stopPomodoro",1),Ze([In("/api/pomodoro/pause")],al.prototype,"pausePomodoro",1),Ze([In("/api/pomodoro/resume")],al.prototype,"resumePomodoro",1),Ze([Nr("/api/pomodoro/status")],al.prototype,"getPomodoroStatus",1),Ze([Nr("/api/pomodoro/sessions")],al.prototype,"getPomodoroSessions",1),Ze([Nr("/api/pomodoro/stats")],al.prototype,"getPomodoroStats",1)});var Gd,SDe=v(()=>{eh();Yd();Gd=class extends Vs{constructor(t,n,i,s){super();this.plugin=t;this.taskService=n;this.nlParser=i;this.httpAPIService=s}async healthCheck(t,n){let i=this.plugin.app.vault.getName(),s=this.plugin.app.vault.adapter,a=null;try{"basePath"in s&&typeof s.basePath=="string"?a=s.basePath:"path"in s&&typeof s.path=="string"&&(a=s.path)}catch(o){}this.sendResponse(n,200,this.successResponse({status:"ok",timestamp:new Date().toISOString(),vault:{name:i,path:a}}))}async handleNLPParse(t,n){try{let i=await this.parseRequestBody(t);if(!i.text||typeof i.text!="string"){this.sendResponse(n,400,this.errorResponse("Text field is required and must be a string"));return}let s=this.nlParser.parseInput(i.text),a={title:s.title,details:s.details,priority:s.priority,status:s.status||this.getDefaultStatus(),tags:s.tags,contexts:s.contexts,projects:s.projects,recurrence:s.recurrence,timeEstimate:s.estimate};s.dueDate&&(a.due=s.dueDate,s.dueTime&&(a.due=`${s.dueDate} ${s.dueTime}`)),s.scheduledDate&&(a.scheduled=s.scheduledDate,s.scheduledTime&&(a.scheduled=`${s.scheduledDate} ${s.scheduledTime}`)),this.sendResponse(n,200,this.successResponse({parsed:s,taskData:a}))}catch(i){this.sendResponse(n,500,this.errorResponse(this.getErrorMessage(i)))}}async handleNLPCreate(t,n){try{let i=await this.parseRequestBody(t);if(!i.text||typeof i.text!="string"){this.sendResponse(n,400,this.errorResponse("Text field is required and must be a string"));return}let s=this.nlParser.parseInput(i.text),a={title:s.title,details:s.details,priority:s.priority,status:s.status||this.getDefaultStatus(),tags:s.tags,contexts:s.contexts,projects:s.projects,recurrence:s.recurrence,timeEstimate:s.estimate,creationContext:"api"};s.dueDate&&(a.due=s.dueDate,s.dueTime&&(a.due=`${s.dueDate} ${s.dueTime}`)),s.scheduledDate&&(a.scheduled=s.scheduledDate,s.scheduledTime&&(a.scheduled=`${s.scheduledDate} ${s.scheduledTime}`));let o=await this.taskService.createTask(a);this.sendResponse(n,201,this.successResponse({task:o.taskInfo,parsed:s}))}catch(i){this.sendResponse(n,400,this.errorResponse(this.getErrorMessage(i)))}}async handleOpenAPISpec(t,n){try{let i=this.httpAPIService&&this.httpAPIService.generateOpenAPISpec?this.httpAPIService.generateOpenAPISpec():sE(this);n.statusCode=200,n.setHeader("Content-Type","application/json"),n.setHeader("Access-Control-Allow-Origin","*"),n.end(JSON.stringify(i,null,2))}catch(i){console.error("OpenAPI spec generation error:",i),this.sendResponse(n,500,this.errorResponse("Failed to generate API specification"))}}async handleSwaggerUI(t,n){try{let i=this.generateSwaggerUIHTML();n.statusCode=200,n.setHeader("Content-Type","text/html"),n.setHeader("Access-Control-Allow-Origin","*"),n.end(i)}catch(i){console.error("Swagger UI generation error:",i),this.sendResponse(n,500,this.errorResponse("Failed to generate API documentation"))}}getDefaultStatus(){let t=this.plugin.settings.customStatuses;return t&&t.length>0?[...t].sort((i,s)=>i.order-s.order)[0].value:"open"}generateSwaggerUIHTML(){return`<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>TaskNotes API Documentation</title>
<link rel="stylesheet" type="text/css" href="https://unpkg.com/swagger-ui-dist@5.9.0/swagger-ui.css" />
<style>
body { margin: 0; }
.swagger-ui .topbar { display: none; }
.swagger-ui .info .title { color: #663399; }
</style>
</head>
<body>
<div id="swagger-ui"></div>
<script src="https://unpkg.com/swagger-ui-dist@5.9.0/swagger-ui-bundle.js"><\/script>
<script src="https://unpkg.com/swagger-ui-dist@5.9.0/swagger-ui-standalone-preset.js"><\/script>
<script>
SwaggerUIBundle({
url: 'http://localhost:${this.plugin.settings.apiPort}/api/docs',
dom_id: '#swagger-ui',
deepLinking: true,
presets: [
SwaggerUIBundle.presets.apis,
SwaggerUIStandalonePreset
],
plugins: [
SwaggerUIBundle.plugins.DownloadUrl
],
layout: "StandaloneLayout",
tryItOutEnabled: true,
displayRequestDuration: true,
docExpansion: 'list',
filter: true,
validatorUrl: null
});
<\/script>
</body>
</html>`}};Ze([Nr("/api/health")],Gd.prototype,"healthCheck",1),Ze([In("/api/nlp/parse")],Gd.prototype,"handleNLPParse",1),Ze([In("/api/nlp/create")],Gd.prototype,"handleNLPCreate",1),Ze([Nr("/api/docs")],Gd.prototype,"handleOpenAPISpec",1),Ze([Nr("/api/docs/ui")],Gd.prototype,"handleSwaggerUI",1)});function RI(r){return typeof r=="object"&&r!==null&&!Array.isArray(r)}function $st(r){return typeof r=="string"&&Fst.has(r)}function Rp(r){return r instanceof Error?r.message:String(r)}function I9(r){return typeof r=="string"&&r.length>0?r:void 0}var xDe,Fst,Op,EDe=v(()=>{xDe=require("obsidian");eh();Yd();Fst=new Set(["task.created","task.updated","task.deleted","task.completed","task.archived","task.unarchived","time.started","time.stopped","pomodoro.started","pomodoro.completed","pomodoro.interrupted","recurring.instance.completed","recurring.instance.skipped","reminder.triggered"]);Op=class extends Vs{constructor(t){super();this.plugin=t;this.webhooks=new Map;this.webhookDeliveryQueue=[];this.loadWebhooks()}async registerWebhook(t,n){var i,s;try{let a=await this.parseRequestBody(t),o=RI(a)?a:{};if(typeof o.url!="string"){this.sendResponse(n,400,this.errorResponse("URL is required and must be a string"));return}if(!Array.isArray(o.events)||o.events.length===0||!o.events.every($st)){this.sendResponse(n,400,this.errorResponse("Events array is required and must contain valid webhook events"));return}let l=(i=I9(o.id))!=null?i:this.generateWebhookId(),c=(s=I9(o.secret))!=null?s:this.generateWebhookSecret(),d={id:l,url:o.url,events:o.events,secret:c,active:o.active!==!1,createdAt:new Date().toISOString(),failureCount:0,successCount:0,transformFile:I9(o.transformFile),corsHeaders:o.corsHeaders!==!1};this.webhooks.set(l,d),await this.saveWebhooks(),this.sendResponse(n,201,this.successResponse({webhook:d,message:"Webhook registered successfully. Save the secret for signature validation."}))}catch(a){this.sendResponse(n,400,this.errorResponse(Rp(a)))}}async listWebhooks(t,n){try{let i=Array.from(this.webhooks.values()).map(s=>({...s,secret:void 0}));this.sendResponse(n,200,this.successResponse({webhooks:i,total:i.length}))}catch(i){this.sendResponse(n,500,this.errorResponse(Rp(i)))}}async deleteWebhook(t,n,i){try{let s=i==null?void 0:i.id;if(!s){this.sendResponse(n,400,this.errorResponse("Webhook ID is required"));return}if(!this.webhooks.has(s)){this.sendResponse(n,404,this.errorResponse("Webhook not found"));return}this.webhooks.delete(s),await this.saveWebhooks(),this.sendResponse(n,200,this.successResponse({message:"Webhook deleted successfully"}))}catch(s){this.sendResponse(n,500,this.errorResponse(Rp(s)))}}async getWebhookDeliveries(t,n){try{let i=this.webhookDeliveryQueue.slice(-100);this.sendResponse(n,200,this.successResponse({deliveries:i,total:i.length}))}catch(i){this.sendResponse(n,500,this.errorResponse(Rp(i)))}}async triggerWebhook(t,n){setImmediate(()=>{this.processWebhookTrigger(t,n).catch(i=>{console.error("Webhook processing error:",i)})})}async processWebhookTrigger(t,n){let i=Array.from(this.webhooks.values()).filter(l=>l.active&&l.events.includes(t));if(i.length===0)return;let s=this.plugin.app.vault.adapter,a;try{"basePath"in s&&typeof s.basePath=="string"?a=s.basePath:"path"in s&&typeof s.path=="string"&&(a=s.path)}catch(l){}let o={event:t,timestamp:new Date().toISOString(),vault:{name:this.plugin.app.vault.getName(),path:a},data:n};for(let l of i){let c=o;if(l.transformFile)try{c=await this.applyTransformation(l.transformFile,o)}catch(u){console.error(`Transform error for ${l.transformFile}:`,u)}let d={id:this.generateDeliveryId(),webhookId:l.id,event:t,payload:c,status:"pending",attempts:0};this.webhookDeliveryQueue.push(d),this.deliverWebhook(l,d)}this.webhookDeliveryQueue.length>100&&(this.webhookDeliveryQueue=this.webhookDeliveryQueue.slice(-100))}async deliverWebhook(t,n,i=0){try{n.attempts++,n.lastAttempt=new Date().toISOString();let a=await this.generateSignature(n.payload,t.secret),o={"Content-Type":"application/json"};t.corsHeaders!==!1&&(o["X-TaskNotes-Event"]=n.event,o["X-TaskNotes-Signature"]=a,o["X-TaskNotes-Delivery-ID"]=n.id);let l=await(0,xDe.requestUrl)({url:t.url,method:"POST",headers:o,body:JSON.stringify(n.payload),throw:!1});if(n.responseStatus=l.status,l.status>=200&&l.status<300)n.status="success",t.successCount++,t.lastTriggered=new Date().toISOString();else throw new Error(`HTTP ${l.status}: ${l.text}`)}catch(a){if(n.error=Rp(a),t.failureCount++,i<3){let o=Math.pow(2,i)*1e3;window.setTimeout(()=>{this.deliverWebhook(t,n,i+1)},o)}else n.status="failed",t.failureCount>10&&(t.active=!1,console.warn(`Webhook ${t.id} disabled after ${t.failureCount} failures`))}await this.saveWebhooks()}async generateSignature(t,n){let i=new TextEncoder,s=await crypto.subtle.importKey("raw",i.encode(n),{name:"HMAC",hash:"SHA-256"},!1,["sign"]),a=await crypto.subtle.sign("HMAC",s,i.encode(JSON.stringify(t)));return this.bytesToHex(new Uint8Array(a))}generateWebhookId(){return`wh_${Date.now()}_${Math.random().toString(36).substring(2,9)}`}generateWebhookSecret(){return this.bytesToHex(crypto.getRandomValues(new Uint8Array(32)))}generateDeliveryId(){return`del_${Date.now()}_${Math.random().toString(36).substring(2,9)}`}bytesToHex(t){return Array.from(t).map(n=>n.toString(16).padStart(2,"0")).join("")}async saveWebhooks(){let t=Array.from(this.webhooks.values());this.plugin.settings.webhooks=t,await this.plugin.saveSettings()}loadWebhooks(){if(this.plugin.settings.webhooks){this.webhooks.clear();for(let t of this.plugin.settings.webhooks)this.webhooks.set(t.id,t)}}syncFromSettings(){this.loadWebhooks()}async applyTransformation(t,n){try{if(t.endsWith(".js"))throw new Error("JavaScript webhook transforms are no longer supported. Use a JSON transform template instead.");return t.endsWith(".json")?await this.applyJSONTransformation(t,n):(console.warn(`\u26A0\uFE0F Unknown transform file type for ${t}, using original payload`),n)}catch(i){throw console.error(`\u274C Transformation failed for ${t}:`,i),i}}async applyJSONTransformation(t,n){var i;try{let s;try{s=await this.plugin.app.vault.adapter.read(t)}catch(c){throw new Error(`Failed to read template file '${t}': ${Rp(c)}. Please check the file path and ensure it exists in your vault.`)}if(!s.trim())throw new Error(`Template file '${t}' is empty. Please add JSON template content.`);let a;try{a=JSON.parse(s)}catch(c){throw new Error(`Invalid JSON in template file '${t}': ${Rp(c)}`)}if(!RI(a))throw new Error(`Invalid JSON in template file '${t}': expected an object with event templates`);let o=(i=a[n.event])!=null?i:a.default;if(!o){let c=Object.keys(a).filter(d=>d!=="default");throw new Error(`No template found for event '${n.event}' and no default template. Available templates: ${c.join(", ")}`)}return this.interpolateTemplate(o,n)}catch(s){throw console.error(`\u274C JSON transformation error for '${t}':`,Rp(s)),s}}interpolateTemplate(t,n){if(typeof t=="string")return t.replace(/\$\{([^}]+)\}/g,(i,s)=>{let a=this.getNestedValue(n,s);return a==null?i:this.formatTemplateValue(a)});if(Array.isArray(t))return t.map(i=>this.interpolateTemplate(i,n));if(RI(t)){let i={};for(let[s,a]of Object.entries(t))i[s]=this.interpolateTemplate(a,n);return i}else return t}getNestedValue(t,n){return n.split(".").reduce((i,s)=>{if(RI(i))return i[s]!==void 0?i[s]:void 0},t)}formatTemplateValue(t){if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="bigint")return t.toString();if(typeof t=="boolean")return t?"true":"false";let n=JSON.stringify(t);return n!=null?n:""}};Ze([In("/api/webhooks")],Op.prototype,"registerWebhook",1),Ze([Nr("/api/webhooks")],Op.prototype,"listWebhooks",1),Ze([PI("/api/webhooks/:id")],Op.prototype,"deleteWebhook",1),Ze([Nr("/api/webhooks/deliveries")],Op.prototype,"getWebhookDeliveries",1)});function DDe(r,e,t){if(!e&&!t)return!0;let n=new Date(r.start),i=r.end?new Date(r.end):n;return!(e&&i<e||t&&n>t)}function jst(r){return r.startsWith("google-")?"google":r.startsWith("microsoft-")?"microsoft":"unknown"}function OI(r,e,t){var l,c;let n=(l=t.start)!=null?l:null,i=(c=t.end)!=null?c:null,s=[],a={},o=r.getAllEvents();for(let d of o){let u=jst(d.subscriptionId);DDe(d,n,i)&&(s.push({...d,provider:u}),a[u]=(a[u]||0)+1)}if(e){let d=e.getAllEvents();for(let u of d)DDe(u,n,i)&&(s.push({...u,provider:"ics"}),a.ics=(a.ics||0)+1)}return s.sort((d,u)=>new Date(d.start).getTime()-new Date(u.start).getTime()),{events:s,total:s.length,sources:a}}var N9=v(()=>{});var Kd,CDe=v(()=>{Xf();eh();Yd();N9();Kd=class extends Vs{constructor(t,n,i,s){super();this.plugin=t;this.oauthService=n;this.icsSubscriptionService=i;this.calendarProviderRegistry=s}async getCalendars(t,n){try{let i=await this.getProvidersOverview(),s=this.icsSubscriptionService.getSubscriptions();this.sendResponse(n,200,this.successResponse({providers:i,subscriptions:{total:s.length,enabled:s.filter(a=>a.enabled).length}}))}catch(i){this.sendResponse(n,500,this.errorResponse(this.getErrorMessage(i)))}}async getGoogleCalendars(t,n){try{let i=await this.getProviderDetails("google");this.sendResponse(n,200,this.successResponse(i))}catch(i){this.sendResponse(n,500,this.errorResponse(this.getErrorMessage(i)))}}async getMicrosoftCalendars(t,n){try{let i=await this.getProviderDetails("microsoft");this.sendResponse(n,200,this.successResponse(i))}catch(i){this.sendResponse(n,500,this.errorResponse(this.getErrorMessage(i)))}}async getSubscriptions(t,n){try{let s=this.icsSubscriptionService.getSubscriptions().map(a=>({...a,lastFetched:this.icsSubscriptionService.getLastFetched(a.id)||null,lastError:this.icsSubscriptionService.getLastError(a.id)||null}));this.sendResponse(n,200,this.successResponse({subscriptions:s}))}catch(i){this.sendResponse(n,500,this.errorResponse(this.getErrorMessage(i)))}}async getEvents(t,n){try{let i=Ma(t).searchParams,s=i.get("start"),a=i.get("end"),o=s?new Date(s):null,l=a?new Date(a):null,c=OI(this.calendarProviderRegistry,this.icsSubscriptionService,{start:o,end:l});this.sendResponse(n,200,this.successResponse(c))}catch(i){this.sendResponse(n,500,this.errorResponse(this.getErrorMessage(i)))}}async getProvidersOverview(){var c,d;let t=[],n=await this.oauthService.isConnected("google"),i=n?await this.oauthService.getConnection("google"):null,s=((c=this.plugin.googleCalendarService)==null?void 0:c.getAvailableCalendars())||[];t.push({id:"google",name:"Google Calendar",connected:n,...n&&{email:i==null?void 0:i.userEmail,calendarCount:s.length}});let a=await this.oauthService.isConnected("microsoft"),o=a?await this.oauthService.getConnection("microsoft"):null,l=((d=this.plugin.microsoftCalendarService)==null?void 0:d.getAvailableCalendars())||[];return t.push({id:"microsoft",name:"Microsoft Calendar",connected:a,...a&&{email:o==null?void 0:o.userEmail,calendarCount:l.length}}),t}async getProviderDetails(t){let n=await this.oauthService.isConnected(t),i=n?await this.oauthService.getConnection(t):null;if(!n)return{connected:!1};let s=t==="google"?this.plugin.googleCalendarService:this.plugin.microsoftCalendarService,a=(s==null?void 0:s.getAvailableCalendars())||[];return{connected:!0,email:i==null?void 0:i.userEmail,connectedAt:i==null?void 0:i.connectedAt,calendars:a}}};Ze([Nr("/api/calendars")],Kd.prototype,"getCalendars",1),Ze([Nr("/api/calendars/google")],Kd.prototype,"getGoogleCalendars",1),Ze([Nr("/api/calendars/microsoft")],Kd.prototype,"getMicrosoftCalendars",1),Ze([Nr("/api/calendars/subscriptions")],Kd.prototype,"getSubscriptions",1),Ze([Nr("/api/calendars/events")],Kd.prototype,"getEvents",1)});var _t,R9,he,xc,aE=v(()=>{(function(r){r.assertEqual=i=>{};function e(i){}r.assertIs=e;function t(i){throw new Error}r.assertNever=t,r.arrayToEnum=i=>{let s={};for(let a of i)s[a]=a;return s},r.getValidEnumValues=i=>{let s=r.objectKeys(i).filter(o=>typeof i[i[o]]!="number"),a={};for(let o of s)a[o]=i[o];return r.objectValues(a)},r.objectValues=i=>r.objectKeys(i).map(function(s){return i[s]}),r.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{let s=[];for(let a in i)Object.prototype.hasOwnProperty.call(i,a)&&s.push(a);return s},r.find=(i,s)=>{for(let a of i)if(s(a))return a},r.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&Number.isFinite(i)&&Math.floor(i)===i;function n(i,s=" | "){return i.map(a=>typeof a=="string"?`'${a}'`:a).join(s)}r.joinValues=n,r.jsonStringifyReplacer=(i,s)=>typeof s=="bigint"?s.toString():s})(_t||(_t={}));(function(r){r.mergeShapes=(e,t)=>({...e,...t})})(R9||(R9={}));he=_t.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),xc=r=>{switch(typeof r){case"undefined":return he.undefined;case"string":return he.string;case"number":return Number.isNaN(r)?he.nan:he.number;case"boolean":return he.boolean;case"function":return he.function;case"bigint":return he.bigint;case"symbol":return he.symbol;case"object":return Array.isArray(r)?he.array:r===null?he.null:r.then&&typeof r.then=="function"&&r.catch&&typeof r.catch=="function"?he.promise:typeof Map!="undefined"&&r instanceof Map?he.map:typeof Set!="undefined"&&r instanceof Set?he.set:typeof Date!="undefined"&&r instanceof Date?he.date:he.object;default:return he.unknown}}});var te,zst,Ws,LI=v(()=>{aE();te=_t.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),zst=r=>JSON.stringify(r,null,2).replace(/"([^"]+)":/g,"$1:"),Ws=class r extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}format(e){let t=e||function(s){return s.message},n={_errors:[]},i=s=>{for(let a of s.issues)if(a.code==="invalid_union")a.unionErrors.map(i);else if(a.code==="invalid_return_type")i(a.returnTypeError);else if(a.code==="invalid_arguments")i(a.argumentsError);else if(a.path.length===0)n._errors.push(t(a));else{let o=n,l=0;for(;l<a.path.length;){let c=a.path[l];l===a.path.length-1?(o[c]=o[c]||{_errors:[]},o[c]._errors.push(t(a))):o[c]=o[c]||{_errors:[]},o=o[c],l++}}};return i(this),n}static assert(e){if(!(e instanceof r))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,_t.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=t=>t.message){let t={},n=[];for(let i of this.issues)if(i.path.length>0){let s=i.path[0];t[s]=t[s]||[],t[s].push(e(i))}else n.push(e(i));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}};Ws.create=r=>new Ws(r)});var Bst,Zd,O9=v(()=>{LI();aE();Bst=(r,e)=>{let t;switch(r.code){case te.invalid_type:r.received===he.undefined?t="Required":t=`Expected ${r.expected}, received ${r.received}`;break;case te.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(r.expected,_t.jsonStringifyReplacer)}`;break;case te.unrecognized_keys:t=`Unrecognized key(s) in object: ${_t.joinValues(r.keys,", ")}`;break;case te.invalid_union:t="Invalid input";break;case te.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${_t.joinValues(r.options)}`;break;case te.invalid_enum_value:t=`Invalid enum value. Expected ${_t.joinValues(r.options)}, received '${r.received}'`;break;case te.invalid_arguments:t="Invalid function arguments";break;case te.invalid_return_type:t="Invalid function return type";break;case te.invalid_date:t="Invalid date";break;case te.invalid_string:typeof r.validation=="object"?"includes"in r.validation?(t=`Invalid input: must include "${r.validation.includes}"`,typeof r.validation.position=="number"&&(t=`${t} at one or more positions greater than or equal to ${r.validation.position}`)):"startsWith"in r.validation?t=`Invalid input: must start with "${r.validation.startsWith}"`:"endsWith"in r.validation?t=`Invalid input: must end with "${r.validation.endsWith}"`:_t.assertNever(r.validation):r.validation!=="regex"?t=`Invalid ${r.validation}`:t="Invalid";break;case te.too_small:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at least":"more than"} ${r.minimum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at least":"over"} ${r.minimum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${r.minimum}`:r.type==="bigint"?t=`Number must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${r.minimum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(r.minimum))}`:t="Invalid input";break;case te.too_big:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at most":"less than"} ${r.maximum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at most":"under"} ${r.maximum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="bigint"?t=`BigInt must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly":r.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(r.maximum))}`:t="Invalid input";break;case te.custom:t="Invalid input";break;case te.invalid_intersection_types:t="Intersection results could not be merged";break;case te.not_multiple_of:t=`Number must be a multiple of ${r.multipleOf}`;break;case te.not_finite:t="Number must be finite";break;default:t=e.defaultError,_t.assertNever(r)}return{message:t}},Zd=Bst});function qst(r){PDe=r}function Rv(){return PDe}var PDe,FI=v(()=>{O9();PDe=Zd});function pe(r,e){let t=Rv(),n=oE({issueData:e,data:r.data,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,t,t===Zd?void 0:Zd].filter(i=>!!i)});r.common.issues.push(n)}var oE,Hst,hi,qe,th,Wi,$I,jI,Lp,Ov,L9=v(()=>{FI();O9();oE=r=>{let{data:e,path:t,errorMaps:n,issueData:i}=r,s=[...t,...i.path||[]],a={...i,path:s};if(i.message!==void 0)return{...i,path:s,message:i.message};let o="",l=n.filter(c=>!!c).slice().reverse();for(let c of l)o=c(a,{data:e,defaultError:o}).message;return{...i,path:s,message:o}},Hst=[];hi=class r{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){let n=[];for(let i of t){if(i.status==="aborted")return qe;i.status==="dirty"&&e.dirty(),n.push(i.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,t){let n=[];for(let i of t){let s=await i.key,a=await i.value;n.push({key:s,value:a})}return r.mergeObjectSync(e,n)}static mergeObjectSync(e,t){let n={};for(let i of t){let{key:s,value:a}=i;if(s.status==="aborted"||a.status==="aborted")return qe;s.status==="dirty"&&e.dirty(),a.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof a.value!="undefined"||i.alwaysSet)&&(n[s.value]=a.value)}return{status:e.value,value:n}}},qe=Object.freeze({status:"aborted"}),th=r=>({status:"dirty",value:r}),Wi=r=>({status:"valid",value:r}),$I=r=>r.status==="aborted",jI=r=>r.status==="dirty",Lp=r=>r.status==="valid",Ov=r=>typeof Promise!="undefined"&&r instanceof Promise});var _De=v(()=>{});var Ce,MDe=v(()=>{(function(r){r.errToObj=e=>typeof e=="string"?{message:e}:e||{},r.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(Ce||(Ce={}))});function lt(r){if(!r)return{};let{errorMap:e,invalid_type_error:t,required_error:n,description:i}=r;if(e&&(t||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:i}:{errorMap:(a,o)=>{var c,d;let{message:l}=r;return a.code==="invalid_enum_value"?{message:l!=null?l:o.defaultError}:typeof o.data=="undefined"?{message:(c=l!=null?l:n)!=null?c:o.defaultError}:a.code!=="invalid_type"?{message:o.defaultError}:{message:(d=l!=null?l:t)!=null?d:o.defaultError}},description:i}}function RDe(r){let e="[0-5]\\d";r.precision?e=`${e}\\.\\d{${r.precision}}`:r.precision==null&&(e=`${e}(\\.\\d+)?`);let t=r.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${t}`}function aat(r){return new RegExp(`^${RDe(r)}$`)}function ODe(r){let e=`${NDe}T${RDe(r)}`,t=[];return t.push(r.local?"Z?":"Z"),r.offset&&t.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${t.join("|")})`,new RegExp(`^${e}$`)}function oat(r,e){return!!((e==="v4"||!e)&&Xst.test(r)||(e==="v6"||!e)&&tat.test(r))}function lat(r,e){if(!Kst.test(r))return!1;try{let[t]=r.split(".");if(!t)return!1;let n=t.replace(/-/g,"+").replace(/_/g,"/").padEnd(t.length+(4-t.length%4)%4,"="),i=JSON.parse(atob(n));return!(typeof i!="object"||i===null||"typ"in i&&(i==null?void 0:i.typ)!=="JWT"||!i.alg||e&&i.alg!==e)}catch(t){return!1}}function cat(r,e){return!!((e==="v4"||!e)&&eat.test(r)||(e==="v6"||!e)&&rat.test(r))}function dat(r,e){let t=(r.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,i=t>n?t:n,s=Number.parseInt(r.toFixed(i).replace(".","")),a=Number.parseInt(e.toFixed(i).replace(".",""));return s%a/10**i}function Lv(r){if(r instanceof Gs){let e={};for(let t in r.shape){let n=r.shape[t];e[t]=Ys.create(Lv(n))}return new Gs({...r._def,shape:()=>e})}else return r instanceof Xd?new Xd({...r._def,type:Lv(r.element)}):r instanceof Ys?Ys.create(Lv(r.unwrap())):r instanceof Dc?Dc.create(Lv(r.unwrap())):r instanceof Ec?Ec.create(r.items.map(e=>Lv(e))):r}function $9(r,e){let t=xc(r),n=xc(e);if(r===e)return{valid:!0,data:r};if(t===he.object&&n===he.object){let i=_t.objectKeys(e),s=_t.objectKeys(r).filter(o=>i.indexOf(o)!==-1),a={...r,...e};for(let o of s){let l=$9(r[o],e[o]);if(!l.valid)return{valid:!1};a[o]=l.data}return{valid:!0,data:a}}else if(t===he.array&&n===he.array){if(r.length!==e.length)return{valid:!1};let i=[];for(let s=0;s<r.length;s++){let a=r[s],o=e[s],l=$9(a,o);if(!l.valid)return{valid:!1};i.push(l.data)}return{valid:!0,data:i}}else return t===he.date&&n===he.date&&+r==+e?{valid:!0,data:r}:{valid:!1}}function LDe(r,e){return new ph({values:r,typeName:re.ZodEnum,...lt(e)})}function IDe(r,e){let t=typeof r=="function"?r(e):typeof r=="string"?{message:r}:r;return typeof t=="string"?{message:t}:t}function FDe(r,e={},t){return r?$p.create().superRefine((n,i)=>{var a,o;let s=r(n);if(s instanceof Promise)return s.then(l=>{var c,d;if(!l){let u=IDe(e,n),p=(d=(c=u.fatal)!=null?c:t)!=null?d:!0;i.addIssue({code:"custom",...u,fatal:p})}});if(!s){let l=IDe(e,n),c=(o=(a=l.fatal)!=null?a:t)!=null?o:!0;i.addIssue({code:"custom",...l,fatal:c})}}):$p.create()}var go,ADe,mt,Ust,Vst,Wst,Yst,Gst,Kst,Zst,Qst,Jst,F9,Xst,eat,tat,rat,nat,iat,NDe,sat,Fp,rh,nh,ih,sh,Fv,ah,oh,$p,Jd,ol,$v,Xd,Gs,lh,Qd,zI,ch,Ec,BI,jv,zv,qI,dh,uh,ph,mh,jp,yo,Ys,Dc,fh,hh,Bv,uat,lE,cE,gh,pat,re,mat,$De,jDe,fat,hat,zDe,gat,yat,vat,bat,Tat,kat,wat,Sat,xat,j9,Eat,Dat,Cat,Pat,_at,Mat,Aat,Iat,Nat,Rat,Oat,Lat,Fat,$at,jat,zat,Bat,qat,Hat,Uat,Vat,Wat,Yat,Gat,BDe=v(()=>{LI();FI();MDe();L9();aE();go=class{constructor(e,t,n,i){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=i}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},ADe=(r,e)=>{if(Lp(e))return{success:!0,data:e.value};if(!r.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let t=new Ws(r.common.issues);return this._error=t,this._error}}};mt=class{get description(){return this._def.description}_getType(e){return xc(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:xc(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new hi,ctx:{common:e.parent.common,data:e.data,parsedType:xc(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(Ov(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){var s;let n={common:{issues:[],async:(s=t==null?void 0:t.async)!=null?s:!1,contextualErrorMap:t==null?void 0:t.errorMap},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:xc(e)},i=this._parseSync({data:e,path:n.path,parent:n});return ADe(n,i)}"~validate"(e){var n,i;let t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:xc(e)};if(!this["~standard"].async)try{let s=this._parseSync({data:e,path:[],parent:t});return Lp(s)?{value:s.value}:{issues:t.common.issues}}catch(s){(i=(n=s==null?void 0:s.message)==null?void 0:n.toLowerCase())!=null&&i.includes("encountered")&&(this["~standard"].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(s=>Lp(s)?{value:s.value}:{issues:t.common.issues})}async parseAsync(e,t){let n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){let n={common:{issues:[],contextualErrorMap:t==null?void 0:t.errorMap,async:!0},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:xc(e)},i=this._parse({data:e,path:n.path,parent:n}),s=await(Ov(i)?i:Promise.resolve(i));return ADe(n,s)}refine(e,t){let n=i=>typeof t=="string"||typeof t=="undefined"?{message:t}:typeof t=="function"?t(i):t;return this._refinement((i,s)=>{let a=e(i),o=()=>s.addIssue({code:te.custom,...n(i)});return typeof Promise!="undefined"&&a instanceof Promise?a.then(l=>l?!0:(o(),!1)):a?!0:(o(),!1)})}refinement(e,t){return this._refinement((n,i)=>e(n)?!0:(i.addIssue(typeof t=="function"?t(n,i):t),!1))}_refinement(e){return new yo({schema:this,typeName:re.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:t=>this["~validate"](t)}}optional(){return Ys.create(this,this._def)}nullable(){return Dc.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Xd.create(this)}promise(){return jp.create(this,this._def)}or(e){return lh.create([this,e],this._def)}and(e){return ch.create(this,e,this._def)}transform(e){return new yo({...lt(this._def),schema:this,typeName:re.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let t=typeof e=="function"?e:()=>e;return new fh({...lt(this._def),innerType:this,defaultValue:t,typeName:re.ZodDefault})}brand(){return new lE({typeName:re.ZodBranded,type:this,...lt(this._def)})}catch(e){let t=typeof e=="function"?e:()=>e;return new hh({...lt(this._def),innerType:this,catchValue:t,typeName:re.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return cE.create(this,e)}readonly(){return gh.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Ust=/^c[^\s-]{8,}$/i,Vst=/^[0-9a-z]+$/,Wst=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Yst=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Gst=/^[a-z0-9_-]{21}$/i,Kst=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Zst=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Qst=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Jst="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Xst=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,eat=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,tat=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,rat=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,nat=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,iat=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,NDe="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",sat=new RegExp(`^${NDe}$`);Fp=class r extends mt{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==he.string){let s=this._getOrReturnCtx(e);return pe(s,{code:te.invalid_type,expected:he.string,received:s.parsedType}),qe}let n=new hi,i;for(let s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(i=this._getOrReturnCtx(e,i),pe(i,{code:te.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="max")e.data.length>s.value&&(i=this._getOrReturnCtx(e,i),pe(i,{code:te.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){let a=e.data.length>s.value,o=e.data.length<s.value;(a||o)&&(i=this._getOrReturnCtx(e,i),a?pe(i,{code:te.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):o&&pe(i,{code:te.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")Qst.test(e.data)||(i=this._getOrReturnCtx(e,i),pe(i,{validation:"email",code:te.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")F9||(F9=new RegExp(Jst,"u")),F9.test(e.data)||(i=this._getOrReturnCtx(e,i),pe(i,{validation:"emoji",code:te.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")Yst.test(e.data)||(i=this._getOrReturnCtx(e,i),pe(i,{validation:"uuid",code:te.invalid_string,message:s.message}),n.dirty());else if(s.kind==="nanoid")Gst.test(e.data)||(i=this._getOrReturnCtx(e,i),pe(i,{validation:"nanoid",code:te.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")Ust.test(e.data)||(i=this._getOrReturnCtx(e,i),pe(i,{validation:"cuid",code:te.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")Vst.test(e.data)||(i=this._getOrReturnCtx(e,i),pe(i,{validation:"cuid2",code:te.invalid_string,message:s.message}),n.dirty());else if(s.kind==="ulid")Wst.test(e.data)||(i=this._getOrReturnCtx(e,i),pe(i,{validation:"ulid",code:te.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(e.data)}catch(a){i=this._getOrReturnCtx(e,i),pe(i,{validation:"url",code:te.invalid_string,message:s.message}),n.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(i=this._getOrReturnCtx(e,i),pe(i,{validation:"regex",code:te.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(i=this._getOrReturnCtx(e,i),pe(i,{code:te.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),n.dirty()):s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(i=this._getOrReturnCtx(e,i),pe(i,{code:te.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(i=this._getOrReturnCtx(e,i),pe(i,{code:te.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?ODe(s).test(e.data)||(i=this._getOrReturnCtx(e,i),pe(i,{code:te.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="date"?sat.test(e.data)||(i=this._getOrReturnCtx(e,i),pe(i,{code:te.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?aat(s).test(e.data)||(i=this._getOrReturnCtx(e,i),pe(i,{code:te.invalid_string,validation:"time",message:s.message}),n.dirty()):s.kind==="duration"?Zst.test(e.data)||(i=this._getOrReturnCtx(e,i),pe(i,{validation:"duration",code:te.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?oat(e.data,s.version)||(i=this._getOrReturnCtx(e,i),pe(i,{validation:"ip",code:te.invalid_string,message:s.message}),n.dirty()):s.kind==="jwt"?lat(e.data,s.alg)||(i=this._getOrReturnCtx(e,i),pe(i,{validation:"jwt",code:te.invalid_string,message:s.message}),n.dirty()):s.kind==="cidr"?cat(e.data,s.version)||(i=this._getOrReturnCtx(e,i),pe(i,{validation:"cidr",code:te.invalid_string,message:s.message}),n.dirty()):s.kind==="base64"?nat.test(e.data)||(i=this._getOrReturnCtx(e,i),pe(i,{validation:"base64",code:te.invalid_string,message:s.message}),n.dirty()):s.kind==="base64url"?iat.test(e.data)||(i=this._getOrReturnCtx(e,i),pe(i,{validation:"base64url",code:te.invalid_string,message:s.message}),n.dirty()):_t.assertNever(s);return{status:n.value,value:e.data}}_regex(e,t,n){return this.refinement(i=>e.test(i),{validation:t,code:te.invalid_string,...Ce.errToObj(n)})}_addCheck(e){return new r({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...Ce.errToObj(e)})}url(e){return this._addCheck({kind:"url",...Ce.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...Ce.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...Ce.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...Ce.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...Ce.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...Ce.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...Ce.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...Ce.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...Ce.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...Ce.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...Ce.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...Ce.errToObj(e)})}datetime(e){var t,n;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)=="undefined"?null:e==null?void 0:e.precision,offset:(t=e==null?void 0:e.offset)!=null?t:!1,local:(n=e==null?void 0:e.local)!=null?n:!1,...Ce.errToObj(e==null?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof(e==null?void 0:e.precision)=="undefined"?null:e==null?void 0:e.precision,...Ce.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...Ce.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...Ce.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t==null?void 0:t.position,...Ce.errToObj(t==null?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...Ce.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...Ce.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...Ce.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...Ce.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...Ce.errToObj(t)})}nonempty(e){return this.min(1,Ce.errToObj(e))}trim(){return new r({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new r({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new r({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}};Fp.create=r=>{var e;return new Fp({checks:[],typeName:re.ZodString,coerce:(e=r==null?void 0:r.coerce)!=null?e:!1,...lt(r)})};rh=class r extends mt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==he.number){let s=this._getOrReturnCtx(e);return pe(s,{code:te.invalid_type,expected:he.number,received:s.parsedType}),qe}let n,i=new hi;for(let s of this._def.checks)s.kind==="int"?_t.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),pe(n,{code:te.invalid_type,expected:"integer",received:"float",message:s.message}),i.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),pe(n,{code:te.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),i.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),pe(n,{code:te.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),i.dirty()):s.kind==="multipleOf"?dat(e.data,s.value)!==0&&(n=this._getOrReturnCtx(e,n),pe(n,{code:te.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),pe(n,{code:te.not_finite,message:s.message}),i.dirty()):_t.assertNever(s);return{status:i.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,Ce.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Ce.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Ce.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Ce.toString(t))}setLimit(e,t,n,i){return new r({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:Ce.toString(i)}]})}_addCheck(e){return new r({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:Ce.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:Ce.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:Ce.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:Ce.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:Ce.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Ce.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:Ce.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:Ce.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:Ce.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&_t.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(t===null||n.value>t)&&(t=n.value):n.kind==="max"&&(e===null||n.value<e)&&(e=n.value)}return Number.isFinite(t)&&Number.isFinite(e)}};rh.create=r=>new rh({checks:[],typeName:re.ZodNumber,coerce:(r==null?void 0:r.coerce)||!1,...lt(r)});nh=class r extends mt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch(s){return this._getInvalidInput(e)}if(this._getType(e)!==he.bigint)return this._getInvalidInput(e);let n,i=new hi;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),pe(n,{code:te.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),i.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),pe(n,{code:te.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),i.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),pe(n,{code:te.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):_t.assertNever(s);return{status:i.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return pe(t,{code:te.invalid_type,expected:he.bigint,received:t.parsedType}),qe}gte(e,t){return this.setLimit("min",e,!0,Ce.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Ce.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Ce.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Ce.toString(t))}setLimit(e,t,n,i){return new r({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:Ce.toString(i)}]})}_addCheck(e){return new r({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:Ce.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:Ce.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:Ce.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:Ce.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Ce.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}};nh.create=r=>{var e;return new nh({checks:[],typeName:re.ZodBigInt,coerce:(e=r==null?void 0:r.coerce)!=null?e:!1,...lt(r)})};ih=class extends mt{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==he.boolean){let n=this._getOrReturnCtx(e);return pe(n,{code:te.invalid_type,expected:he.boolean,received:n.parsedType}),qe}return Wi(e.data)}};ih.create=r=>new ih({typeName:re.ZodBoolean,coerce:(r==null?void 0:r.coerce)||!1,...lt(r)});sh=class r extends mt{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==he.date){let s=this._getOrReturnCtx(e);return pe(s,{code:te.invalid_type,expected:he.date,received:s.parsedType}),qe}if(Number.isNaN(e.data.getTime())){let s=this._getOrReturnCtx(e);return pe(s,{code:te.invalid_date}),qe}let n=new hi,i;for(let s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(i=this._getOrReturnCtx(e,i),pe(i,{code:te.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(i=this._getOrReturnCtx(e,i),pe(i,{code:te.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):_t.assertNever(s);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new r({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:Ce.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:Ce.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e!=null?new Date(e):null}};sh.create=r=>new sh({checks:[],coerce:(r==null?void 0:r.coerce)||!1,typeName:re.ZodDate,...lt(r)});Fv=class extends mt{_parse(e){if(this._getType(e)!==he.symbol){let n=this._getOrReturnCtx(e);return pe(n,{code:te.invalid_type,expected:he.symbol,received:n.parsedType}),qe}return Wi(e.data)}};Fv.create=r=>new Fv({typeName:re.ZodSymbol,...lt(r)});ah=class extends mt{_parse(e){if(this._getType(e)!==he.undefined){let n=this._getOrReturnCtx(e);return pe(n,{code:te.invalid_type,expected:he.undefined,received:n.parsedType}),qe}return Wi(e.data)}};ah.create=r=>new ah({typeName:re.ZodUndefined,...lt(r)});oh=class extends mt{_parse(e){if(this._getType(e)!==he.null){let n=this._getOrReturnCtx(e);return pe(n,{code:te.invalid_type,expected:he.null,received:n.parsedType}),qe}return Wi(e.data)}};oh.create=r=>new oh({typeName:re.ZodNull,...lt(r)});$p=class extends mt{constructor(){super(...arguments),this._any=!0}_parse(e){return Wi(e.data)}};$p.create=r=>new $p({typeName:re.ZodAny,...lt(r)});Jd=class extends mt{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Wi(e.data)}};Jd.create=r=>new Jd({typeName:re.ZodUnknown,...lt(r)});ol=class extends mt{_parse(e){let t=this._getOrReturnCtx(e);return pe(t,{code:te.invalid_type,expected:he.never,received:t.parsedType}),qe}};ol.create=r=>new ol({typeName:re.ZodNever,...lt(r)});$v=class extends mt{_parse(e){if(this._getType(e)!==he.undefined){let n=this._getOrReturnCtx(e);return pe(n,{code:te.invalid_type,expected:he.void,received:n.parsedType}),qe}return Wi(e.data)}};$v.create=r=>new $v({typeName:re.ZodVoid,...lt(r)});Xd=class r extends mt{_parse(e){let{ctx:t,status:n}=this._processInputParams(e),i=this._def;if(t.parsedType!==he.array)return pe(t,{code:te.invalid_type,expected:he.array,received:t.parsedType}),qe;if(i.exactLength!==null){let a=t.data.length>i.exactLength.value,o=t.data.length<i.exactLength.value;(a||o)&&(pe(t,{code:a?te.too_big:te.too_small,minimum:o?i.exactLength.value:void 0,maximum:a?i.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:i.exactLength.message}),n.dirty())}if(i.minLength!==null&&t.data.length<i.minLength.value&&(pe(t,{code:te.too_small,minimum:i.minLength.value,type:"array",inclusive:!0,exact:!1,message:i.minLength.message}),n.dirty()),i.maxLength!==null&&t.data.length>i.maxLength.value&&(pe(t,{code:te.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((a,o)=>i.type._parseAsync(new go(t,a,t.path,o)))).then(a=>hi.mergeArray(n,a));let s=[...t.data].map((a,o)=>i.type._parseSync(new go(t,a,t.path,o)));return hi.mergeArray(n,s)}get element(){return this._def.type}min(e,t){return new r({...this._def,minLength:{value:e,message:Ce.toString(t)}})}max(e,t){return new r({...this._def,maxLength:{value:e,message:Ce.toString(t)}})}length(e,t){return new r({...this._def,exactLength:{value:e,message:Ce.toString(t)}})}nonempty(e){return this.min(1,e)}};Xd.create=(r,e)=>new Xd({type:r,minLength:null,maxLength:null,exactLength:null,typeName:re.ZodArray,...lt(e)});Gs=class r extends mt{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),t=_t.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==he.object){let c=this._getOrReturnCtx(e);return pe(c,{code:te.invalid_type,expected:he.object,received:c.parsedType}),qe}let{status:n,ctx:i}=this._processInputParams(e),{shape:s,keys:a}=this._getCached(),o=[];if(!(this._def.catchall instanceof ol&&this._def.unknownKeys==="strip"))for(let c in i.data)a.includes(c)||o.push(c);let l=[];for(let c of a){let d=s[c],u=i.data[c];l.push({key:{status:"valid",value:c},value:d._parse(new go(i,u,i.path,c)),alwaysSet:c in i.data})}if(this._def.catchall instanceof ol){let c=this._def.unknownKeys;if(c==="passthrough")for(let d of o)l.push({key:{status:"valid",value:d},value:{status:"valid",value:i.data[d]}});else if(c==="strict")o.length>0&&(pe(i,{code:te.unrecognized_keys,keys:o}),n.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let c=this._def.catchall;for(let d of o){let u=i.data[d];l.push({key:{status:"valid",value:d},value:c._parse(new go(i,u,i.path,d)),alwaysSet:d in i.data})}}return i.common.async?Promise.resolve().then(async()=>{let c=[];for(let d of l){let u=await d.key,p=await d.value;c.push({key:u,value:p,alwaysSet:d.alwaysSet})}return c}).then(c=>hi.mergeObjectSync(n,c)):hi.mergeObjectSync(n,l)}get shape(){return this._def.shape()}strict(e){return Ce.errToObj,new r({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,n)=>{var s,a,o,l;let i=(o=(a=(s=this._def).errorMap)==null?void 0:a.call(s,t,n).message)!=null?o:n.defaultError;return t.code==="unrecognized_keys"?{message:(l=Ce.errToObj(e).message)!=null?l:i}:{message:i}}}:{}})}strip(){return new r({...this._def,unknownKeys:"strip"})}passthrough(){return new r({...this._def,unknownKeys:"passthrough"})}extend(e){return new r({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new r({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:re.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new r({...this._def,catchall:e})}pick(e){let t={};for(let n of _t.objectKeys(e))e[n]&&this.shape[n]&&(t[n]=this.shape[n]);return new r({...this._def,shape:()=>t})}omit(e){let t={};for(let n of _t.objectKeys(this.shape))e[n]||(t[n]=this.shape[n]);return new r({...this._def,shape:()=>t})}deepPartial(){return Lv(this)}partial(e){let t={};for(let n of _t.objectKeys(this.shape)){let i=this.shape[n];e&&!e[n]?t[n]=i:t[n]=i.optional()}return new r({...this._def,shape:()=>t})}required(e){let t={};for(let n of _t.objectKeys(this.shape))if(e&&!e[n])t[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof Ys;)s=s._def.innerType;t[n]=s}return new r({...this._def,shape:()=>t})}keyof(){return LDe(_t.objectKeys(this.shape))}};Gs.create=(r,e)=>new Gs({shape:()=>r,unknownKeys:"strip",catchall:ol.create(),typeName:re.ZodObject,...lt(e)});Gs.strictCreate=(r,e)=>new Gs({shape:()=>r,unknownKeys:"strict",catchall:ol.create(),typeName:re.ZodObject,...lt(e)});Gs.lazycreate=(r,e)=>new Gs({shape:r,unknownKeys:"strip",catchall:ol.create(),typeName:re.ZodObject,...lt(e)});lh=class extends mt{_parse(e){let{ctx:t}=this._processInputParams(e),n=this._def.options;function i(s){for(let o of s)if(o.result.status==="valid")return o.result;for(let o of s)if(o.result.status==="dirty")return t.common.issues.push(...o.ctx.common.issues),o.result;let a=s.map(o=>new Ws(o.ctx.common.issues));return pe(t,{code:te.invalid_union,unionErrors:a}),qe}if(t.common.async)return Promise.all(n.map(async s=>{let a={...t,common:{...t.common,issues:[]},parent:null};return{result:await s._parseAsync({data:t.data,path:t.path,parent:a}),ctx:a}})).then(i);{let s,a=[];for(let l of n){let c={...t,common:{...t.common,issues:[]},parent:null},d=l._parseSync({data:t.data,path:t.path,parent:c});if(d.status==="valid")return d;d.status==="dirty"&&!s&&(s={result:d,ctx:c}),c.common.issues.length&&a.push(c.common.issues)}if(s)return t.common.issues.push(...s.ctx.common.issues),s.result;let o=a.map(l=>new Ws(l));return pe(t,{code:te.invalid_union,unionErrors:o}),qe}}get options(){return this._def.options}};lh.create=(r,e)=>new lh({options:r,typeName:re.ZodUnion,...lt(e)});Qd=r=>r instanceof dh?Qd(r.schema):r instanceof yo?Qd(r.innerType()):r instanceof uh?[r.value]:r instanceof ph?r.options:r instanceof mh?_t.objectValues(r.enum):r instanceof fh?Qd(r._def.innerType):r instanceof ah?[void 0]:r instanceof oh?[null]:r instanceof Ys?[void 0,...Qd(r.unwrap())]:r instanceof Dc?[null,...Qd(r.unwrap())]:r instanceof lE||r instanceof gh?Qd(r.unwrap()):r instanceof hh?Qd(r._def.innerType):[],zI=class r extends mt{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==he.object)return pe(t,{code:te.invalid_type,expected:he.object,received:t.parsedType}),qe;let n=this.discriminator,i=t.data[n],s=this.optionsMap.get(i);return s?t.common.async?s._parseAsync({data:t.data,path:t.path,parent:t}):s._parseSync({data:t.data,path:t.path,parent:t}):(pe(t,{code:te.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),qe)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,n){let i=new Map;for(let s of t){let a=Qd(s.shape[e]);if(!a.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let o of a){if(i.has(o))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(o)}`);i.set(o,s)}}return new r({typeName:re.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:i,...lt(n)})}};ch=class extends mt{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),i=(s,a)=>{if($I(s)||$I(a))return qe;let o=$9(s.value,a.value);return o.valid?((jI(s)||jI(a))&&t.dirty(),{status:t.value,value:o.data}):(pe(n,{code:te.invalid_intersection_types}),qe)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([s,a])=>i(s,a)):i(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};ch.create=(r,e,t)=>new ch({left:r,right:e,typeName:re.ZodIntersection,...lt(t)});Ec=class r extends mt{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==he.array)return pe(n,{code:te.invalid_type,expected:he.array,received:n.parsedType}),qe;if(n.data.length<this._def.items.length)return pe(n,{code:te.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),qe;!this._def.rest&&n.data.length>this._def.items.length&&(pe(n,{code:te.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());let s=[...n.data].map((a,o)=>{let l=this._def.items[o]||this._def.rest;return l?l._parse(new go(n,a,n.path,o)):null}).filter(a=>!!a);return n.common.async?Promise.all(s).then(a=>hi.mergeArray(t,a)):hi.mergeArray(t,s)}get items(){return this._def.items}rest(e){return new r({...this._def,rest:e})}};Ec.create=(r,e)=>{if(!Array.isArray(r))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Ec({items:r,typeName:re.ZodTuple,rest:null,...lt(e)})};BI=class r extends mt{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==he.object)return pe(n,{code:te.invalid_type,expected:he.object,received:n.parsedType}),qe;let i=[],s=this._def.keyType,a=this._def.valueType;for(let o in n.data)i.push({key:s._parse(new go(n,o,n.path,o)),value:a._parse(new go(n,n.data[o],n.path,o)),alwaysSet:o in n.data});return n.common.async?hi.mergeObjectAsync(t,i):hi.mergeObjectSync(t,i)}get element(){return this._def.valueType}static create(e,t,n){return t instanceof mt?new r({keyType:e,valueType:t,typeName:re.ZodRecord,...lt(n)}):new r({keyType:Fp.create(),valueType:e,typeName:re.ZodRecord,...lt(t)})}},jv=class extends mt{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==he.map)return pe(n,{code:te.invalid_type,expected:he.map,received:n.parsedType}),qe;let i=this._def.keyType,s=this._def.valueType,a=[...n.data.entries()].map(([o,l],c)=>({key:i._parse(new go(n,o,n.path,[c,"key"])),value:s._parse(new go(n,l,n.path,[c,"value"]))}));if(n.common.async){let o=new Map;return Promise.resolve().then(async()=>{for(let l of a){let c=await l.key,d=await l.value;if(c.status==="aborted"||d.status==="aborted")return qe;(c.status==="dirty"||d.status==="dirty")&&t.dirty(),o.set(c.value,d.value)}return{status:t.value,value:o}})}else{let o=new Map;for(let l of a){let c=l.key,d=l.value;if(c.status==="aborted"||d.status==="aborted")return qe;(c.status==="dirty"||d.status==="dirty")&&t.dirty(),o.set(c.value,d.value)}return{status:t.value,value:o}}}};jv.create=(r,e,t)=>new jv({valueType:e,keyType:r,typeName:re.ZodMap,...lt(t)});zv=class r extends mt{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==he.set)return pe(n,{code:te.invalid_type,expected:he.set,received:n.parsedType}),qe;let i=this._def;i.minSize!==null&&n.data.size<i.minSize.value&&(pe(n,{code:te.too_small,minimum:i.minSize.value,type:"set",inclusive:!0,exact:!1,message:i.minSize.message}),t.dirty()),i.maxSize!==null&&n.data.size>i.maxSize.value&&(pe(n,{code:te.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),t.dirty());let s=this._def.valueType;function a(l){let c=new Set;for(let d of l){if(d.status==="aborted")return qe;d.status==="dirty"&&t.dirty(),c.add(d.value)}return{status:t.value,value:c}}let o=[...n.data.values()].map((l,c)=>s._parse(new go(n,l,n.path,c)));return n.common.async?Promise.all(o).then(l=>a(l)):a(o)}min(e,t){return new r({...this._def,minSize:{value:e,message:Ce.toString(t)}})}max(e,t){return new r({...this._def,maxSize:{value:e,message:Ce.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}};zv.create=(r,e)=>new zv({valueType:r,minSize:null,maxSize:null,typeName:re.ZodSet,...lt(e)});qI=class r extends mt{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==he.function)return pe(t,{code:te.invalid_type,expected:he.function,received:t.parsedType}),qe;function n(o,l){return oE({data:o,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Rv(),Zd].filter(c=>!!c),issueData:{code:te.invalid_arguments,argumentsError:l}})}function i(o,l){return oE({data:o,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Rv(),Zd].filter(c=>!!c),issueData:{code:te.invalid_return_type,returnTypeError:l}})}let s={errorMap:t.common.contextualErrorMap},a=t.data;if(this._def.returns instanceof jp){let o=this;return Wi(async function(...l){let c=new Ws([]),d=await o._def.args.parseAsync(l,s).catch(m=>{throw c.addIssue(n(l,m)),c}),u=await Reflect.apply(a,this,d);return await o._def.returns._def.type.parseAsync(u,s).catch(m=>{throw c.addIssue(i(u,m)),c})})}else{let o=this;return Wi(function(...l){let c=o._def.args.safeParse(l,s);if(!c.success)throw new Ws([n(l,c.error)]);let d=Reflect.apply(a,this,c.data),u=o._def.returns.safeParse(d,s);if(!u.success)throw new Ws([i(d,u.error)]);return u.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new r({...this._def,args:Ec.create(e).rest(Jd.create())})}returns(e){return new r({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,n){return new r({args:e||Ec.create([]).rest(Jd.create()),returns:t||Jd.create(),typeName:re.ZodFunction,...lt(n)})}},dh=class extends mt{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}};dh.create=(r,e)=>new dh({getter:r,typeName:re.ZodLazy,...lt(e)});uh=class extends mt{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return pe(t,{received:t.data,code:te.invalid_literal,expected:this._def.value}),qe}return{status:"valid",value:e.data}}get value(){return this._def.value}};uh.create=(r,e)=>new uh({value:r,typeName:re.ZodLiteral,...lt(e)});ph=class r extends mt{_parse(e){if(typeof e.data!="string"){let t=this._getOrReturnCtx(e),n=this._def.values;return pe(t,{expected:_t.joinValues(n),received:t.parsedType,code:te.invalid_type}),qe}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),n=this._def.values;return pe(t,{received:t.data,code:te.invalid_enum_value,options:n}),qe}return Wi(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return r.create(e,{...this._def,...t})}exclude(e,t=this._def){return r.create(this.options.filter(n=>!e.includes(n)),{...this._def,...t})}};ph.create=LDe;mh=class extends mt{_parse(e){let t=_t.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==he.string&&n.parsedType!==he.number){let i=_t.objectValues(t);return pe(n,{expected:_t.joinValues(i),received:n.parsedType,code:te.invalid_type}),qe}if(this._cache||(this._cache=new Set(_t.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let i=_t.objectValues(t);return pe(n,{received:n.data,code:te.invalid_enum_value,options:i}),qe}return Wi(e.data)}get enum(){return this._def.values}};mh.create=(r,e)=>new mh({values:r,typeName:re.ZodNativeEnum,...lt(e)});jp=class extends mt{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==he.promise&&t.common.async===!1)return pe(t,{code:te.invalid_type,expected:he.promise,received:t.parsedType}),qe;let n=t.parsedType===he.promise?t.data:Promise.resolve(t.data);return Wi(n.then(i=>this._def.type.parseAsync(i,{path:t.path,errorMap:t.common.contextualErrorMap})))}};jp.create=(r,e)=>new jp({type:r,typeName:re.ZodPromise,...lt(e)});yo=class extends mt{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===re.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:n}=this._processInputParams(e),i=this._def.effect||null,s={addIssue:a=>{pe(n,a),a.fatal?t.abort():t.dirty()},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),i.type==="preprocess"){let a=i.transform(n.data,s);if(n.common.async)return Promise.resolve(a).then(async o=>{if(t.value==="aborted")return qe;let l=await this._def.schema._parseAsync({data:o,path:n.path,parent:n});return l.status==="aborted"?qe:l.status==="dirty"?th(l.value):t.value==="dirty"?th(l.value):l});{if(t.value==="aborted")return qe;let o=this._def.schema._parseSync({data:a,path:n.path,parent:n});return o.status==="aborted"?qe:o.status==="dirty"?th(o.value):t.value==="dirty"?th(o.value):o}}if(i.type==="refinement"){let a=o=>{let l=i.refinement(o,s);if(n.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return o};if(n.common.async===!1){let o=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?qe:(o.status==="dirty"&&t.dirty(),a(o.value),{status:t.value,value:o.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(o=>o.status==="aborted"?qe:(o.status==="dirty"&&t.dirty(),a(o.value).then(()=>({status:t.value,value:o.value}))))}if(i.type==="transform")if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!Lp(a))return qe;let o=i.transform(a.value,s);if(o instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:o}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>Lp(a)?Promise.resolve(i.transform(a.value,s)).then(o=>({status:t.value,value:o})):qe);_t.assertNever(i)}};yo.create=(r,e,t)=>new yo({schema:r,typeName:re.ZodEffects,effect:e,...lt(t)});yo.createWithPreprocess=(r,e,t)=>new yo({schema:e,effect:{type:"preprocess",transform:r},typeName:re.ZodEffects,...lt(t)});Ys=class extends mt{_parse(e){return this._getType(e)===he.undefined?Wi(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Ys.create=(r,e)=>new Ys({innerType:r,typeName:re.ZodOptional,...lt(e)});Dc=class extends mt{_parse(e){return this._getType(e)===he.null?Wi(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Dc.create=(r,e)=>new Dc({innerType:r,typeName:re.ZodNullable,...lt(e)});fh=class extends mt{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===he.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};fh.create=(r,e)=>new fh({innerType:r,typeName:re.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...lt(e)});hh=class extends mt{_parse(e){let{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},i=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return Ov(i)?i.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Ws(n.common.issues)},input:n.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Ws(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};hh.create=(r,e)=>new hh({innerType:r,typeName:re.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...lt(e)});Bv=class extends mt{_parse(e){if(this._getType(e)!==he.nan){let n=this._getOrReturnCtx(e);return pe(n,{code:te.invalid_type,expected:he.nan,received:n.parsedType}),qe}return{status:"valid",value:e.data}}};Bv.create=r=>new Bv({typeName:re.ZodNaN,...lt(r)});uat=Symbol("zod_brand"),lE=class extends mt{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}},cE=class r extends mt{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?qe:s.status==="dirty"?(t.dirty(),th(s.value)):this._def.out._parseAsync({data:s.value,path:n.path,parent:n})})();{let i=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?qe:i.status==="dirty"?(t.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:n.path,parent:n})}}static create(e,t){return new r({in:e,out:t,typeName:re.ZodPipeline})}},gh=class extends mt{_parse(e){let t=this._def.innerType._parse(e),n=i=>(Lp(i)&&(i.value=Object.freeze(i.value)),i);return Ov(t)?t.then(i=>n(i)):n(t)}unwrap(){return this._def.innerType}};gh.create=(r,e)=>new gh({innerType:r,typeName:re.ZodReadonly,...lt(e)});pat={object:Gs.lazycreate};(function(r){r.ZodString="ZodString",r.ZodNumber="ZodNumber",r.ZodNaN="ZodNaN",r.ZodBigInt="ZodBigInt",r.ZodBoolean="ZodBoolean",r.ZodDate="ZodDate",r.ZodSymbol="ZodSymbol",r.ZodUndefined="ZodUndefined",r.ZodNull="ZodNull",r.ZodAny="ZodAny",r.ZodUnknown="ZodUnknown",r.ZodNever="ZodNever",r.ZodVoid="ZodVoid",r.ZodArray="ZodArray",r.ZodObject="ZodObject",r.ZodUnion="ZodUnion",r.ZodDiscriminatedUnion="ZodDiscriminatedUnion",r.ZodIntersection="ZodIntersection",r.ZodTuple="ZodTuple",r.ZodRecord="ZodRecord",r.ZodMap="ZodMap",r.ZodSet="ZodSet",r.ZodFunction="ZodFunction",r.ZodLazy="ZodLazy",r.ZodLiteral="ZodLiteral",r.ZodEnum="ZodEnum",r.ZodEffects="ZodEffects",r.ZodNativeEnum="ZodNativeEnum",r.ZodOptional="ZodOptional",r.ZodNullable="ZodNullable",r.ZodDefault="ZodDefault",r.ZodCatch="ZodCatch",r.ZodPromise="ZodPromise",r.ZodBranded="ZodBranded",r.ZodPipeline="ZodPipeline",r.ZodReadonly="ZodReadonly"})(re||(re={}));mat=(r,e={message:`Input not instance of ${r.name}`})=>FDe(t=>t instanceof r,e),$De=Fp.create,jDe=rh.create,fat=Bv.create,hat=nh.create,zDe=ih.create,gat=sh.create,yat=Fv.create,vat=ah.create,bat=oh.create,Tat=$p.create,kat=Jd.create,wat=ol.create,Sat=$v.create,xat=Xd.create,j9=Gs.create,Eat=Gs.strictCreate,Dat=lh.create,Cat=zI.create,Pat=ch.create,_at=Ec.create,Mat=BI.create,Aat=jv.create,Iat=zv.create,Nat=qI.create,Rat=dh.create,Oat=uh.create,Lat=ph.create,Fat=mh.create,$at=jp.create,jat=yo.create,zat=Ys.create,Bat=Dc.create,qat=yo.createWithPreprocess,Hat=cE.create,Uat=()=>$De().optional(),Vat=()=>jDe().optional(),Wat=()=>zDe().optional(),Yat={string:(r=>Fp.create({...r,coerce:!0})),number:(r=>rh.create({...r,coerce:!0})),boolean:(r=>ih.create({...r,coerce:!0})),bigint:(r=>nh.create({...r,coerce:!0})),date:(r=>sh.create({...r,coerce:!0}))},Gat=qe});var ne={};et(ne,{BRAND:()=>uat,DIRTY:()=>th,EMPTY_PATH:()=>Hst,INVALID:()=>qe,NEVER:()=>Gat,OK:()=>Wi,ParseStatus:()=>hi,Schema:()=>mt,ZodAny:()=>$p,ZodArray:()=>Xd,ZodBigInt:()=>nh,ZodBoolean:()=>ih,ZodBranded:()=>lE,ZodCatch:()=>hh,ZodDate:()=>sh,ZodDefault:()=>fh,ZodDiscriminatedUnion:()=>zI,ZodEffects:()=>yo,ZodEnum:()=>ph,ZodError:()=>Ws,ZodFirstPartyTypeKind:()=>re,ZodFunction:()=>qI,ZodIntersection:()=>ch,ZodIssueCode:()=>te,ZodLazy:()=>dh,ZodLiteral:()=>uh,ZodMap:()=>jv,ZodNaN:()=>Bv,ZodNativeEnum:()=>mh,ZodNever:()=>ol,ZodNull:()=>oh,ZodNullable:()=>Dc,ZodNumber:()=>rh,ZodObject:()=>Gs,ZodOptional:()=>Ys,ZodParsedType:()=>he,ZodPipeline:()=>cE,ZodPromise:()=>jp,ZodReadonly:()=>gh,ZodRecord:()=>BI,ZodSchema:()=>mt,ZodSet:()=>zv,ZodString:()=>Fp,ZodSymbol:()=>Fv,ZodTransformer:()=>yo,ZodTuple:()=>Ec,ZodType:()=>mt,ZodUndefined:()=>ah,ZodUnion:()=>lh,ZodUnknown:()=>Jd,ZodVoid:()=>$v,addIssueToContext:()=>pe,any:()=>Tat,array:()=>xat,bigint:()=>hat,boolean:()=>zDe,coerce:()=>Yat,custom:()=>FDe,date:()=>gat,datetimeRegex:()=>ODe,defaultErrorMap:()=>Zd,discriminatedUnion:()=>Cat,effect:()=>jat,enum:()=>Lat,function:()=>Nat,getErrorMap:()=>Rv,getParsedType:()=>xc,instanceof:()=>mat,intersection:()=>Pat,isAborted:()=>$I,isAsync:()=>Ov,isDirty:()=>jI,isValid:()=>Lp,late:()=>pat,lazy:()=>Rat,literal:()=>Oat,makeIssue:()=>oE,map:()=>Aat,nan:()=>fat,nativeEnum:()=>Fat,never:()=>wat,null:()=>bat,nullable:()=>Bat,number:()=>jDe,object:()=>j9,objectUtil:()=>R9,oboolean:()=>Wat,onumber:()=>Vat,optional:()=>zat,ostring:()=>Uat,pipeline:()=>Hat,preprocess:()=>qat,promise:()=>$at,quotelessJson:()=>zst,record:()=>Mat,set:()=>Iat,setErrorMap:()=>qst,strictObject:()=>Eat,string:()=>$De,symbol:()=>yat,transformer:()=>jat,tuple:()=>_at,undefined:()=>vat,union:()=>Dat,unknown:()=>kat,util:()=>_t,void:()=>Sat});var HI=v(()=>{FI();L9();_De();aE();BDe();LI()});var dE=v(()=>{HI()});function U(r,e,t){var o;function n(l,c){var u,p;var d;Object.defineProperty(l,"_zod",{value:(u=l._zod)!=null?u:{},enumerable:!1}),(p=(d=l._zod).traits)!=null||(d.traits=new Set),l._zod.traits.add(r),e(l,c);for(let m in a.prototype)m in l||Object.defineProperty(l,m,{value:a.prototype[m].bind(l)});l._zod.constr=a,l._zod.def=c}let i=(o=t==null?void 0:t.Parent)!=null?o:Object;class s extends i{}Object.defineProperty(s,"name",{value:r});function a(l){var u;var c;let d=t!=null&&t.Parent?new s:this;n(d,l),(u=(c=d._zod).deferred)!=null||(c.deferred=[]);for(let p of d._zod.deferred)p();return d}return Object.defineProperty(a,"init",{value:n}),Object.defineProperty(a,Symbol.hasInstance,{value:l=>{var c,d;return t!=null&&t.Parent&&l instanceof t.Parent?!0:(d=(c=l==null?void 0:l._zod)==null?void 0:c.traits)==null?void 0:d.has(r)}}),Object.defineProperty(a,"name",{value:r}),a}function Aa(r){return r&&Object.assign(UI,r),UI}var Zat,Qat,eu,UI,qv=v(()=>{Zat=Object.freeze({status:"aborted"});Qat=Symbol("zod_brand"),eu=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},UI={}});var Mt={};et(Mt,{BIGINT_FORMAT_RANGES:()=>HDe,Class:()=>B9,NUMBER_FORMAT_RANGES:()=>G9,aborted:()=>vh,allowsEval:()=>V9,assert:()=>rot,assertEqual:()=>Jat,assertIs:()=>eot,assertNever:()=>tot,assertNotEqual:()=>Xat,assignProp:()=>U9,cached:()=>mE,captureStackTrace:()=>WI,cleanEnum:()=>hot,cleanRegex:()=>hE,clone:()=>Ia,createTransparentProxy:()=>lot,defineLazy:()=>Rr,esc:()=>yh,escapeRegex:()=>zp,extend:()=>uot,finalizeIssue:()=>ll,floatSafeRemainder:()=>H9,getElementAtPath:()=>not,getEnumValues:()=>pE,getLengthableOrigin:()=>gE,getParsedType:()=>oot,getSizableOrigin:()=>UDe,isObject:()=>Hv,isPlainObject:()=>Uv,issue:()=>K9,joinValues:()=>VI,jsonStringifyReplacer:()=>q9,merge:()=>pot,normalizeParams:()=>He,nullish:()=>fE,numKeys:()=>aot,omit:()=>dot,optionalKeys:()=>Y9,partial:()=>mot,pick:()=>cot,prefixIssues:()=>Cc,primitiveTypes:()=>qDe,promiseAllObject:()=>iot,propertyKeyTypes:()=>W9,randomString:()=>sot,required:()=>fot,stringifyPrimitive:()=>YI,unwrapMessage:()=>uE});function Jat(r){return r}function Xat(r){return r}function eot(r){}function tot(r){throw new Error}function rot(r){}function pE(r){let e=Object.values(r).filter(n=>typeof n=="number");return Object.entries(r).filter(([n,i])=>e.indexOf(+n)===-1).map(([n,i])=>i)}function VI(r,e="|"){return r.map(t=>YI(t)).join(e)}function q9(r,e){return typeof e=="bigint"?e.toString():e}function mE(r){return{get value(){{let t=r();return Object.defineProperty(this,"value",{value:t}),t}throw new Error("cached value already set")}}}function fE(r){return r==null}function hE(r){let e=r.startsWith("^")?1:0,t=r.endsWith("$")?r.length-1:r.length;return r.slice(e,t)}function H9(r,e){let t=(r.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,i=t>n?t:n,s=Number.parseInt(r.toFixed(i).replace(".","")),a=Number.parseInt(e.toFixed(i).replace(".",""));return s%a/10**i}function Rr(r,e,t){Object.defineProperty(r,e,{get(){{let i=t();return r[e]=i,i}throw new Error("cached value already set")},set(i){Object.defineProperty(r,e,{value:i})},configurable:!0})}function U9(r,e,t){Object.defineProperty(r,e,{value:t,writable:!0,enumerable:!0,configurable:!0})}function not(r,e){return e?e.reduce((t,n)=>t==null?void 0:t[n],r):r}function iot(r){let e=Object.keys(r),t=e.map(n=>r[n]);return Promise.all(t).then(n=>{let i={};for(let s=0;s<e.length;s++)i[e[s]]=n[s];return i})}function sot(r=10){let e="abcdefghijklmnopqrstuvwxyz",t="";for(let n=0;n<r;n++)t+=e[Math.floor(Math.random()*e.length)];return t}function yh(r){return JSON.stringify(r)}function Hv(r){return typeof r=="object"&&r!==null&&!Array.isArray(r)}function Uv(r){if(Hv(r)===!1)return!1;let e=r.constructor;if(e===void 0)return!0;let t=e.prototype;return!(Hv(t)===!1||Object.prototype.hasOwnProperty.call(t,"isPrototypeOf")===!1)}function aot(r){let e=0;for(let t in r)Object.prototype.hasOwnProperty.call(r,t)&&e++;return e}function zp(r){return r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ia(r,e,t){let n=new r._zod.constr(e!=null?e:r._zod.def);return(!e||t!=null&&t.parent)&&(n._zod.parent=r),n}function He(r){let e=r;if(!e)return{};if(typeof e=="string")return{error:()=>e};if((e==null?void 0:e.message)!==void 0){if((e==null?void 0:e.error)!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function lot(r){let e;return new Proxy({},{get(t,n,i){return e!=null||(e=r()),Reflect.get(e,n,i)},set(t,n,i,s){return e!=null||(e=r()),Reflect.set(e,n,i,s)},has(t,n){return e!=null||(e=r()),Reflect.has(e,n)},deleteProperty(t,n){return e!=null||(e=r()),Reflect.deleteProperty(e,n)},ownKeys(t){return e!=null||(e=r()),Reflect.ownKeys(e)},getOwnPropertyDescriptor(t,n){return e!=null||(e=r()),Reflect.getOwnPropertyDescriptor(e,n)},defineProperty(t,n,i){return e!=null||(e=r()),Reflect.defineProperty(e,n,i)}})}function YI(r){return typeof r=="bigint"?r.toString()+"n":typeof r=="string"?`"${r}"`:`${r}`}function Y9(r){return Object.keys(r).filter(e=>r[e]._zod.optin==="optional"&&r[e]._zod.optout==="optional")}function cot(r,e){let t={},n=r._zod.def;for(let i in e){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);e[i]&&(t[i]=n.shape[i])}return Ia(r,{...r._zod.def,shape:t,checks:[]})}function dot(r,e){let t={...r._zod.def.shape},n=r._zod.def;for(let i in e){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);e[i]&&delete t[i]}return Ia(r,{...r._zod.def,shape:t,checks:[]})}function uot(r,e){if(!Uv(e))throw new Error("Invalid input to extend: expected a plain object");let t={...r._zod.def,get shape(){let n={...r._zod.def.shape,...e};return U9(this,"shape",n),n},checks:[]};return Ia(r,t)}function pot(r,e){return Ia(r,{...r._zod.def,get shape(){let t={...r._zod.def.shape,...e._zod.def.shape};return U9(this,"shape",t),t},catchall:e._zod.def.catchall,checks:[]})}function mot(r,e,t){let n=e._zod.def.shape,i={...n};if(t)for(let s in t){if(!(s in n))throw new Error(`Unrecognized key: "${s}"`);t[s]&&(i[s]=r?new r({type:"optional",innerType:n[s]}):n[s])}else for(let s in n)i[s]=r?new r({type:"optional",innerType:n[s]}):n[s];return Ia(e,{...e._zod.def,shape:i,checks:[]})}function fot(r,e,t){let n=e._zod.def.shape,i={...n};if(t)for(let s in t){if(!(s in i))throw new Error(`Unrecognized key: "${s}"`);t[s]&&(i[s]=new r({type:"nonoptional",innerType:n[s]}))}else for(let s in n)i[s]=new r({type:"nonoptional",innerType:n[s]});return Ia(e,{...e._zod.def,shape:i,checks:[]})}function vh(r,e=0){var t;for(let n=e;n<r.issues.length;n++)if(((t=r.issues[n])==null?void 0:t.continue)!==!0)return!0;return!1}function Cc(r,e){return e.map(t=>{var i;var n;return(i=(n=t).path)!=null||(n.path=[]),t.path.unshift(r),t})}function uE(r){return typeof r=="string"?r:r==null?void 0:r.message}function ll(r,e,t){var i,s,a,o,l,c,d,u,p,m,f;let n={...r,path:(i=r.path)!=null?i:[]};if(!r.message){let h=(f=(m=(u=(c=uE((o=(a=(s=r.inst)==null?void 0:s._zod.def)==null?void 0:a.error)==null?void 0:o.call(a,r)))!=null?c:uE((l=e==null?void 0:e.error)==null?void 0:l.call(e,r)))!=null?u:uE((d=t.customError)==null?void 0:d.call(t,r)))!=null?m:uE((p=t.localeError)==null?void 0:p.call(t,r)))!=null?f:"Invalid input";n.message=h}return delete n.inst,delete n.continue,e!=null&&e.reportInput||delete n.input,n}function UDe(r){return r instanceof Set?"set":r instanceof Map?"map":r instanceof File?"file":"unknown"}function gE(r){return Array.isArray(r)?"array":typeof r=="string"?"string":"unknown"}function K9(...r){let[e,t,n]=r;return typeof e=="string"?{message:e,code:"custom",input:t,inst:n}:{...e}}function hot(r){return Object.entries(r).filter(([e,t])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}var WI,V9,oot,W9,qDe,G9,HDe,B9,Pc=v(()=>{WI=Error.captureStackTrace?Error.captureStackTrace:(...r)=>{};V9=mE(()=>{var r;if(typeof navigator!="undefined"&&((r=navigator==null?void 0:navigator.userAgent)!=null&&r.includes("Cloudflare")))return!1;try{let e=Function;return new e(""),!0}catch(e){return!1}});oot=r=>{let e=typeof r;switch(e){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(r)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(r)?"array":r===null?"null":r.then&&typeof r.then=="function"&&r.catch&&typeof r.catch=="function"?"promise":typeof Map!="undefined"&&r instanceof Map?"map":typeof Set!="undefined"&&r instanceof Set?"set":typeof Date!="undefined"&&r instanceof Date?"date":typeof File!="undefined"&&r instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${e}`)}},W9=new Set(["string","number","symbol"]),qDe=new Set(["string","number","bigint","boolean","symbol","undefined"]);G9={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},HDe={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};B9=class{constructor(...e){}}});function Z9(r,e=t=>t.message){let t={},n=[];for(let i of r.issues)i.path.length>0?(t[i.path[0]]=t[i.path[0]]||[],t[i.path[0]].push(e(i))):n.push(e(i));return{formErrors:n,fieldErrors:t}}function Q9(r,e){let t=e||function(s){return s.message},n={_errors:[]},i=s=>{for(let a of s.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(o=>i({issues:o}));else if(a.code==="invalid_key")i({issues:a.issues});else if(a.code==="invalid_element")i({issues:a.issues});else if(a.path.length===0)n._errors.push(t(a));else{let o=n,l=0;for(;l<a.path.length;){let c=a.path[l];l===a.path.length-1?(o[c]=o[c]||{_errors:[]},o[c]._errors.push(t(a))):o[c]=o[c]||{_errors:[]},o=o[c],l++}}};return i(r),n}var VDe,GI,yE,J9=v(()=>{qv();Pc();VDe=(r,e)=>{r.name="$ZodError",Object.defineProperty(r,"_zod",{value:r._zod,enumerable:!1}),Object.defineProperty(r,"issues",{value:e,enumerable:!1}),Object.defineProperty(r,"message",{get(){return JSON.stringify(e,q9,2)},enumerable:!0}),Object.defineProperty(r,"toString",{value:()=>r.message,enumerable:!1})},GI=U("$ZodError",VDe),yE=U("$ZodError",VDe,{Parent:Error})});var X9,e6,t6,r6,n6,bh,i6,Th,s6=v(()=>{qv();J9();Pc();X9=r=>(e,t,n,i)=>{var o;let s=n?Object.assign(n,{async:!1}):{async:!1},a=e._zod.run({value:t,issues:[]},s);if(a instanceof Promise)throw new eu;if(a.issues.length){let l=new((o=i==null?void 0:i.Err)!=null?o:r)(a.issues.map(c=>ll(c,s,Aa())));throw WI(l,i==null?void 0:i.callee),l}return a.value},e6=X9(yE),t6=r=>async(e,t,n,i)=>{var o;let s=n?Object.assign(n,{async:!0}):{async:!0},a=e._zod.run({value:t,issues:[]},s);if(a instanceof Promise&&(a=await a),a.issues.length){let l=new((o=i==null?void 0:i.Err)!=null?o:r)(a.issues.map(c=>ll(c,s,Aa())));throw WI(l,i==null?void 0:i.callee),l}return a.value},r6=t6(yE),n6=r=>(e,t,n)=>{let i=n?{...n,async:!1}:{async:!1},s=e._zod.run({value:t,issues:[]},i);if(s instanceof Promise)throw new eu;return s.issues.length?{success:!1,error:new(r!=null?r:GI)(s.issues.map(a=>ll(a,i,Aa())))}:{success:!0,data:s.value}},bh=n6(yE),i6=r=>async(e,t,n)=>{let i=n?Object.assign(n,{async:!0}):{async:!0},s=e._zod.run({value:t,issues:[]},i);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new r(s.issues.map(a=>ll(a,i,Aa())))}:{success:!0,data:s.value}},Th=i6(yE)});function tCe(){return new RegExp(yot,"u")}function uCe(r){let e="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof r.precision=="number"?r.precision===-1?`${e}`:r.precision===0?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${r.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}function pCe(r){return new RegExp(`^${uCe(r)}$`)}function mCe(r){let e=uCe({precision:r.precision}),t=["Z"];r.local&&t.push(""),r.offset&&t.push("([+-]\\d{2}:\\d{2})");let n=`${e}(?:${t.join("|")})`;return new RegExp(`^${cCe}T(?:${n})$`)}var WDe,YDe,GDe,KDe,ZDe,QDe,JDe,XDe,a6,eCe,yot,rCe,nCe,iCe,sCe,aCe,o6,oCe,lCe,cCe,dCe,fCe,hCe,gCe,yCe,vCe,bCe,TCe,c6=v(()=>{WDe=/^[cC][^\s-]{8,}$/,YDe=/^[0-9a-z]+$/,GDe=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,KDe=/^[0-9a-vA-V]{20}$/,ZDe=/^[A-Za-z0-9]{27}$/,QDe=/^[a-zA-Z0-9_-]{21}$/,JDe=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,XDe=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,a6=r=>r?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${r}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/,eCe=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,yot="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";rCe=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,nCe=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,iCe=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,sCe=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,aCe=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,o6=/^[A-Za-z0-9_-]*$/,oCe=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/,lCe=/^\+(?:[0-9]){6,14}[0-9]$/,cCe="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",dCe=new RegExp(`^${cCe}$`);fCe=r=>{var t,n;let e=r?`[\\s\\S]{${(t=r==null?void 0:r.minimum)!=null?t:0},${(n=r==null?void 0:r.maximum)!=null?n:""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)},hCe=/^\d+$/,gCe=/^-?\d+(?:\.\d+)?/i,yCe=/true|false/i,vCe=/null/i,bCe=/^[^A-Z]*$/,TCe=/^[^a-z]*$/});var gi,kCe,d6,u6,wCe,SCe,xCe,ECe,DCe,vE,CCe,PCe,_Ce,MCe,ACe,ICe,NCe,KI=v(()=>{qv();c6();Pc();gi=U("$ZodCheck",(r,e)=>{var n,i;var t;(n=r._zod)!=null||(r._zod={}),r._zod.def=e,(i=(t=r._zod).onattach)!=null||(t.onattach=[])}),kCe={number:"number",bigint:"bigint",object:"date"},d6=U("$ZodCheckLessThan",(r,e)=>{gi.init(r,e);let t=kCe[typeof e.value];r._zod.onattach.push(n=>{var a;let i=n._zod.bag,s=(a=e.inclusive?i.maximum:i.exclusiveMaximum)!=null?a:Number.POSITIVE_INFINITY;e.value<s&&(e.inclusive?i.maximum=e.value:i.exclusiveMaximum=e.value)}),r._zod.check=n=>{(e.inclusive?n.value<=e.value:n.value<e.value)||n.issues.push({origin:t,code:"too_big",maximum:e.value,input:n.value,inclusive:e.inclusive,inst:r,continue:!e.abort})}}),u6=U("$ZodCheckGreaterThan",(r,e)=>{gi.init(r,e);let t=kCe[typeof e.value];r._zod.onattach.push(n=>{var a;let i=n._zod.bag,s=(a=e.inclusive?i.minimum:i.exclusiveMinimum)!=null?a:Number.NEGATIVE_INFINITY;e.value>s&&(e.inclusive?i.minimum=e.value:i.exclusiveMinimum=e.value)}),r._zod.check=n=>{(e.inclusive?n.value>=e.value:n.value>e.value)||n.issues.push({origin:t,code:"too_small",minimum:e.value,input:n.value,inclusive:e.inclusive,inst:r,continue:!e.abort})}}),wCe=U("$ZodCheckMultipleOf",(r,e)=>{gi.init(r,e),r._zod.onattach.push(t=>{var i;var n;(i=(n=t._zod.bag).multipleOf)!=null||(n.multipleOf=e.value)}),r._zod.check=t=>{if(typeof t.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof t.value=="bigint"?t.value%e.value===BigInt(0):H9(t.value,e.value)===0)||t.issues.push({origin:typeof t.value,code:"not_multiple_of",divisor:e.value,input:t.value,inst:r,continue:!e.abort})}}),SCe=U("$ZodCheckNumberFormat",(r,e)=>{var a;gi.init(r,e),e.format=e.format||"float64";let t=(a=e.format)==null?void 0:a.includes("int"),n=t?"int":"number",[i,s]=G9[e.format];r._zod.onattach.push(o=>{let l=o._zod.bag;l.format=e.format,l.minimum=i,l.maximum=s,t&&(l.pattern=hCe)}),r._zod.check=o=>{let l=o.value;if(t){if(!Number.isInteger(l)){o.issues.push({expected:n,format:e.format,code:"invalid_type",input:l,inst:r});return}if(!Number.isSafeInteger(l)){l>0?o.issues.push({input:l,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:r,origin:n,continue:!e.abort}):o.issues.push({input:l,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:r,origin:n,continue:!e.abort});return}}l<i&&o.issues.push({origin:"number",input:l,code:"too_small",minimum:i,inclusive:!0,inst:r,continue:!e.abort}),l>s&&o.issues.push({origin:"number",input:l,code:"too_big",maximum:s,inst:r})}}),xCe=U("$ZodCheckMaxLength",(r,e)=>{var n;var t;gi.init(r,e),(n=(t=r._zod.def).when)!=null||(t.when=i=>{let s=i.value;return!fE(s)&&s.length!==void 0}),r._zod.onattach.push(i=>{var a;let s=(a=i._zod.bag.maximum)!=null?a:Number.POSITIVE_INFINITY;e.maximum<s&&(i._zod.bag.maximum=e.maximum)}),r._zod.check=i=>{let s=i.value;if(s.length<=e.maximum)return;let o=gE(s);i.issues.push({origin:o,code:"too_big",maximum:e.maximum,inclusive:!0,input:s,inst:r,continue:!e.abort})}}),ECe=U("$ZodCheckMinLength",(r,e)=>{var n;var t;gi.init(r,e),(n=(t=r._zod.def).when)!=null||(t.when=i=>{let s=i.value;return!fE(s)&&s.length!==void 0}),r._zod.onattach.push(i=>{var a;let s=(a=i._zod.bag.minimum)!=null?a:Number.NEGATIVE_INFINITY;e.minimum>s&&(i._zod.bag.minimum=e.minimum)}),r._zod.check=i=>{let s=i.value;if(s.length>=e.minimum)return;let o=gE(s);i.issues.push({origin:o,code:"too_small",minimum:e.minimum,inclusive:!0,input:s,inst:r,continue:!e.abort})}}),DCe=U("$ZodCheckLengthEquals",(r,e)=>{var n;var t;gi.init(r,e),(n=(t=r._zod.def).when)!=null||(t.when=i=>{let s=i.value;return!fE(s)&&s.length!==void 0}),r._zod.onattach.push(i=>{let s=i._zod.bag;s.minimum=e.length,s.maximum=e.length,s.length=e.length}),r._zod.check=i=>{let s=i.value,a=s.length;if(a===e.length)return;let o=gE(s),l=a>e.length;i.issues.push({origin:o,...l?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:i.value,inst:r,continue:!e.abort})}}),vE=U("$ZodCheckStringFormat",(r,e)=>{var i,s;var t,n;gi.init(r,e),r._zod.onattach.push(a=>{var l;let o=a._zod.bag;o.format=e.format,e.pattern&&((l=o.patterns)!=null||(o.patterns=new Set),o.patterns.add(e.pattern))}),e.pattern?(i=(t=r._zod).check)!=null||(t.check=a=>{e.pattern.lastIndex=0,!e.pattern.test(a.value)&&a.issues.push({origin:"string",code:"invalid_format",format:e.format,input:a.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:r,continue:!e.abort})}):(s=(n=r._zod).check)!=null||(n.check=()=>{})}),CCe=U("$ZodCheckRegex",(r,e)=>{vE.init(r,e),r._zod.check=t=>{e.pattern.lastIndex=0,!e.pattern.test(t.value)&&t.issues.push({origin:"string",code:"invalid_format",format:"regex",input:t.value,pattern:e.pattern.toString(),inst:r,continue:!e.abort})}}),PCe=U("$ZodCheckLowerCase",(r,e)=>{var t;(t=e.pattern)!=null||(e.pattern=bCe),vE.init(r,e)}),_Ce=U("$ZodCheckUpperCase",(r,e)=>{var t;(t=e.pattern)!=null||(e.pattern=TCe),vE.init(r,e)}),MCe=U("$ZodCheckIncludes",(r,e)=>{gi.init(r,e);let t=zp(e.includes),n=new RegExp(typeof e.position=="number"?`^.{${e.position}}${t}`:t);e.pattern=n,r._zod.onattach.push(i=>{var a;let s=i._zod.bag;(a=s.patterns)!=null||(s.patterns=new Set),s.patterns.add(n)}),r._zod.check=i=>{i.value.includes(e.includes,e.position)||i.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:i.value,inst:r,continue:!e.abort})}}),ACe=U("$ZodCheckStartsWith",(r,e)=>{var n;gi.init(r,e);let t=new RegExp(`^${zp(e.prefix)}.*`);(n=e.pattern)!=null||(e.pattern=t),r._zod.onattach.push(i=>{var a;let s=i._zod.bag;(a=s.patterns)!=null||(s.patterns=new Set),s.patterns.add(t)}),r._zod.check=i=>{i.value.startsWith(e.prefix)||i.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:i.value,inst:r,continue:!e.abort})}}),ICe=U("$ZodCheckEndsWith",(r,e)=>{var n;gi.init(r,e);let t=new RegExp(`.*${zp(e.suffix)}$`);(n=e.pattern)!=null||(e.pattern=t),r._zod.onattach.push(i=>{var a;let s=i._zod.bag;(a=s.patterns)!=null||(s.patterns=new Set),s.patterns.add(t)}),r._zod.check=i=>{i.value.endsWith(e.suffix)||i.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:i.value,inst:r,continue:!e.abort})}}),NCe=U("$ZodCheckOverwrite",(r,e)=>{gi.init(r,e),r._zod.check=t=>{t.value=e.tx(t.value)}})});var ZI,p6=v(()=>{ZI=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(`
`).filter(a=>a),i=Math.min(...n.map(a=>a.length-a.trimStart().length)),s=n.map(a=>a.slice(i)).map(a=>" ".repeat(this.indent*2)+a);for(let a of s)this.content.push(a)}compile(){var s;let e=Function,t=this==null?void 0:this.args,i=[...((s=this==null?void 0:this.content)!=null?s:[""]).map(a=>` ${a}`)];return new e(...t,i.join(`
`))}}});var OCe,m6=v(()=>{OCe={major:4,minor:0,patch:0}});function KCe(r){if(r==="")return!0;if(r.length%4!==0)return!1;try{return atob(r),!0}catch(e){return!1}}function vot(r){if(!o6.test(r))return!1;let e=r.replace(/[-_]/g,n=>n==="-"?"+":"/"),t=e.padEnd(Math.ceil(e.length/4)*4,"=");return KCe(t)}function bot(r,e=null){try{let t=r.split(".");if(t.length!==3)return!1;let[n]=t;if(!n)return!1;let i=JSON.parse(atob(n));return!("typ"in i&&(i==null?void 0:i.typ)!=="JWT"||!i.alg||e&&(!("alg"in i)||i.alg!==e))}catch(t){return!1}}function LCe(r,e,t){r.issues.length&&e.issues.push(...Cc(t,r.issues)),e.value[t]=r.value}function QI(r,e,t){r.issues.length&&e.issues.push(...Cc(t,r.issues)),e.value[t]=r.value}function FCe(r,e,t,n){r.issues.length?n[t]===void 0?t in n?e.value[t]=void 0:e.value[t]=r.value:e.issues.push(...Cc(t,r.issues)):r.value===void 0?t in n&&(e.value[t]=void 0):e.value[t]=r.value}function $Ce(r,e,t,n){for(let i of r)if(i.issues.length===0)return e.value=i.value,e;return e.issues.push({code:"invalid_union",input:e.value,inst:t,errors:r.map(i=>i.issues.map(s=>ll(s,n,Aa())))}),e}function f6(r,e){if(r===e)return{valid:!0,data:r};if(r instanceof Date&&e instanceof Date&&+r==+e)return{valid:!0,data:r};if(Uv(r)&&Uv(e)){let t=Object.keys(e),n=Object.keys(r).filter(s=>t.indexOf(s)!==-1),i={...r,...e};for(let s of n){let a=f6(r[s],e[s]);if(!a.valid)return{valid:!1,mergeErrorPath:[s,...a.mergeErrorPath]};i[s]=a.data}return{valid:!0,data:i}}if(Array.isArray(r)&&Array.isArray(e)){if(r.length!==e.length)return{valid:!1,mergeErrorPath:[]};let t=[];for(let n=0;n<r.length;n++){let i=r[n],s=e[n],a=f6(i,s);if(!a.valid)return{valid:!1,mergeErrorPath:[n,...a.mergeErrorPath]};t.push(a.data)}return{valid:!0,data:t}}return{valid:!1,mergeErrorPath:[]}}function jCe(r,e,t){if(e.issues.length&&r.issues.push(...e.issues),t.issues.length&&r.issues.push(...t.issues),vh(r))return r;let n=f6(e.value,t.value);if(!n.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(n.mergeErrorPath)}`);return r.value=n.data,r}function zCe(r,e){return r.value===void 0&&(r.value=e.defaultValue),r}function BCe(r,e){return!r.issues.length&&r.value===void 0&&r.issues.push({code:"invalid_type",expected:"nonoptional",input:r.value,inst:e}),r}function qCe(r,e,t){return vh(r)?r:e.out._zod.run({value:r.value,issues:r.issues},t)}function HCe(r){return r.value=Object.freeze(r.value),r}function UCe(r,e,t,n){var i;if(!r){let s={code:"custom",input:t,inst:n,path:[...(i=n._zod.def.path)!=null?i:[]],continue:!n._zod.def.abort};n._zod.def.params&&(s.params=n._zod.def.params),e.issues.push(K9(s))}}var xr,bE,Or,h6,g6,y6,v6,b6,T6,k6,w6,S6,x6,E6,VCe,WCe,YCe,GCe,D6,C6,P6,_6,M6,A6,I6,N6,JI,R6,O6,L6,F6,$6,j6,XI,eN,z6,B6,q6,H6,U6,V6,W6,Y6,G6,K6,Z6,Q6,J6,X6,eY,ZCe=v(()=>{KI();qv();p6();s6();c6();Pc();m6();Pc();xr=U("$ZodType",(r,e)=>{var i,s,a;var t;r!=null||(r={}),r._zod.def=e,r._zod.bag=r._zod.bag||{},r._zod.version=OCe;let n=[...(i=r._zod.def.checks)!=null?i:[]];r._zod.traits.has("$ZodCheck")&&n.unshift(r);for(let o of n)for(let l of o._zod.onattach)l(r);if(n.length===0)(s=(t=r._zod).deferred)!=null||(t.deferred=[]),(a=r._zod.deferred)==null||a.push(()=>{r._zod.run=r._zod.parse});else{let o=(l,c,d)=>{let u=vh(l),p;for(let m of c){if(m._zod.def.when){if(!m._zod.def.when(l))continue}else if(u)continue;let f=l.issues.length,h=m._zod.check(l);if(h instanceof Promise&&(d==null?void 0:d.async)===!1)throw new eu;if(p||h instanceof Promise)p=(p!=null?p:Promise.resolve()).then(async()=>{await h,l.issues.length!==f&&(u||(u=vh(l,f)))});else{if(l.issues.length===f)continue;u||(u=vh(l,f))}}return p?p.then(()=>l):l};r._zod.run=(l,c)=>{let d=r._zod.parse(l,c);if(d instanceof Promise){if(c.async===!1)throw new eu;return d.then(u=>o(u,n,c))}return o(d,n,c)}}r["~standard"]={validate:o=>{var l;try{let c=bh(r,o);return c.success?{value:c.data}:{issues:(l=c.error)==null?void 0:l.issues}}catch(c){return Th(r,o).then(d=>{var u;return d.success?{value:d.data}:{issues:(u=d.error)==null?void 0:u.issues}})}},vendor:"zod",version:1}}),bE=U("$ZodString",(r,e)=>{var t,n,i;xr.init(r,e),r._zod.pattern=(i=[...(n=(t=r==null?void 0:r._zod.bag)==null?void 0:t.patterns)!=null?n:[]].pop())!=null?i:fCe(r._zod.bag),r._zod.parse=(s,a)=>{if(e.coerce)try{s.value=String(s.value)}catch(o){}return typeof s.value=="string"||s.issues.push({expected:"string",code:"invalid_type",input:s.value,inst:r}),s}}),Or=U("$ZodStringFormat",(r,e)=>{vE.init(r,e),bE.init(r,e)}),h6=U("$ZodGUID",(r,e)=>{var t;(t=e.pattern)!=null||(e.pattern=XDe),Or.init(r,e)}),g6=U("$ZodUUID",(r,e)=>{var t,n;if(e.version){let s={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(s===void 0)throw new Error(`Invalid UUID version: "${e.version}"`);(t=e.pattern)!=null||(e.pattern=a6(s))}else(n=e.pattern)!=null||(e.pattern=a6());Or.init(r,e)}),y6=U("$ZodEmail",(r,e)=>{var t;(t=e.pattern)!=null||(e.pattern=eCe),Or.init(r,e)}),v6=U("$ZodURL",(r,e)=>{Or.init(r,e),r._zod.check=t=>{try{let n=t.value,i=new URL(n),s=i.href;e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(i.hostname)||t.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:oCe.source,input:t.value,inst:r,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(i.protocol.endsWith(":")?i.protocol.slice(0,-1):i.protocol)||t.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:t.value,inst:r,continue:!e.abort})),!n.endsWith("/")&&s.endsWith("/")?t.value=s.slice(0,-1):t.value=s;return}catch(n){t.issues.push({code:"invalid_format",format:"url",input:t.value,inst:r,continue:!e.abort})}}}),b6=U("$ZodEmoji",(r,e)=>{var t;(t=e.pattern)!=null||(e.pattern=tCe()),Or.init(r,e)}),T6=U("$ZodNanoID",(r,e)=>{var t;(t=e.pattern)!=null||(e.pattern=QDe),Or.init(r,e)}),k6=U("$ZodCUID",(r,e)=>{var t;(t=e.pattern)!=null||(e.pattern=WDe),Or.init(r,e)}),w6=U("$ZodCUID2",(r,e)=>{var t;(t=e.pattern)!=null||(e.pattern=YDe),Or.init(r,e)}),S6=U("$ZodULID",(r,e)=>{var t;(t=e.pattern)!=null||(e.pattern=GDe),Or.init(r,e)}),x6=U("$ZodXID",(r,e)=>{var t;(t=e.pattern)!=null||(e.pattern=KDe),Or.init(r,e)}),E6=U("$ZodKSUID",(r,e)=>{var t;(t=e.pattern)!=null||(e.pattern=ZDe),Or.init(r,e)}),VCe=U("$ZodISODateTime",(r,e)=>{var t;(t=e.pattern)!=null||(e.pattern=mCe(e)),Or.init(r,e)}),WCe=U("$ZodISODate",(r,e)=>{var t;(t=e.pattern)!=null||(e.pattern=dCe),Or.init(r,e)}),YCe=U("$ZodISOTime",(r,e)=>{var t;(t=e.pattern)!=null||(e.pattern=pCe(e)),Or.init(r,e)}),GCe=U("$ZodISODuration",(r,e)=>{var t;(t=e.pattern)!=null||(e.pattern=JDe),Or.init(r,e)}),D6=U("$ZodIPv4",(r,e)=>{var t;(t=e.pattern)!=null||(e.pattern=rCe),Or.init(r,e),r._zod.onattach.push(n=>{let i=n._zod.bag;i.format="ipv4"})}),C6=U("$ZodIPv6",(r,e)=>{var t;(t=e.pattern)!=null||(e.pattern=nCe),Or.init(r,e),r._zod.onattach.push(n=>{let i=n._zod.bag;i.format="ipv6"}),r._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch(i){n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:r,continue:!e.abort})}}}),P6=U("$ZodCIDRv4",(r,e)=>{var t;(t=e.pattern)!=null||(e.pattern=iCe),Or.init(r,e)}),_6=U("$ZodCIDRv6",(r,e)=>{var t;(t=e.pattern)!=null||(e.pattern=sCe),Or.init(r,e),r._zod.check=n=>{let[i,s]=n.value.split("/");try{if(!s)throw new Error;let a=Number(s);if(`${a}`!==s)throw new Error;if(a<0||a>128)throw new Error;new URL(`http://[${i}]`)}catch(a){n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:r,continue:!e.abort})}}});M6=U("$ZodBase64",(r,e)=>{var t;(t=e.pattern)!=null||(e.pattern=aCe),Or.init(r,e),r._zod.onattach.push(n=>{n._zod.bag.contentEncoding="base64"}),r._zod.check=n=>{KCe(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:r,continue:!e.abort})}});A6=U("$ZodBase64URL",(r,e)=>{var t;(t=e.pattern)!=null||(e.pattern=o6),Or.init(r,e),r._zod.onattach.push(n=>{n._zod.bag.contentEncoding="base64url"}),r._zod.check=n=>{vot(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:r,continue:!e.abort})}}),I6=U("$ZodE164",(r,e)=>{var t;(t=e.pattern)!=null||(e.pattern=lCe),Or.init(r,e)});N6=U("$ZodJWT",(r,e)=>{Or.init(r,e),r._zod.check=t=>{bot(t.value,e.alg)||t.issues.push({code:"invalid_format",format:"jwt",input:t.value,inst:r,continue:!e.abort})}}),JI=U("$ZodNumber",(r,e)=>{var t;xr.init(r,e),r._zod.pattern=(t=r._zod.bag.pattern)!=null?t:gCe,r._zod.parse=(n,i)=>{if(e.coerce)try{n.value=Number(n.value)}catch(o){}let s=n.value;if(typeof s=="number"&&!Number.isNaN(s)&&Number.isFinite(s))return n;let a=typeof s=="number"?Number.isNaN(s)?"NaN":Number.isFinite(s)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:s,inst:r,...a?{received:a}:{}}),n}}),R6=U("$ZodNumber",(r,e)=>{SCe.init(r,e),JI.init(r,e)}),O6=U("$ZodBoolean",(r,e)=>{xr.init(r,e),r._zod.pattern=yCe,r._zod.parse=(t,n)=>{if(e.coerce)try{t.value=!!t.value}catch(s){}let i=t.value;return typeof i=="boolean"||t.issues.push({expected:"boolean",code:"invalid_type",input:i,inst:r}),t}}),L6=U("$ZodNull",(r,e)=>{xr.init(r,e),r._zod.pattern=vCe,r._zod.values=new Set([null]),r._zod.parse=(t,n)=>{let i=t.value;return i===null||t.issues.push({expected:"null",code:"invalid_type",input:i,inst:r}),t}}),F6=U("$ZodUnknown",(r,e)=>{xr.init(r,e),r._zod.parse=t=>t}),$6=U("$ZodNever",(r,e)=>{xr.init(r,e),r._zod.parse=(t,n)=>(t.issues.push({expected:"never",code:"invalid_type",input:t.value,inst:r}),t)});j6=U("$ZodArray",(r,e)=>{xr.init(r,e),r._zod.parse=(t,n)=>{let i=t.value;if(!Array.isArray(i))return t.issues.push({expected:"array",code:"invalid_type",input:i,inst:r}),t;t.value=Array(i.length);let s=[];for(let a=0;a<i.length;a++){let o=i[a],l=e.element._zod.run({value:o,issues:[]},n);l instanceof Promise?s.push(l.then(c=>LCe(c,t,a))):LCe(l,t,a)}return s.length?Promise.all(s).then(()=>t):t}});XI=U("$ZodObject",(r,e)=>{xr.init(r,e);let t=mE(()=>{let u=Object.keys(e.shape);for(let m of u)if(!(e.shape[m]instanceof xr))throw new Error(`Invalid element at key "${m}": expected a Zod schema`);let p=Y9(e.shape);return{shape:e.shape,keys:u,keySet:new Set(u),numKeys:u.length,optionalKeys:new Set(p)}});Rr(r._zod,"propValues",()=>{var m;let u=e.shape,p={};for(let f in u){let h=u[f]._zod;if(h.values){(m=p[f])!=null||(p[f]=new Set);for(let g of h.values)p[f].add(g)}}return p});let n=u=>{let p=new ZI(["shape","payload","ctx"]),m=t.value,f=k=>{let T=yh(k);return`shape[${T}]._zod.run({ value: input[${T}], issues: [] }, ctx)`};p.write("const input = payload.value;");let h=Object.create(null),g=0;for(let k of m.keys)h[k]=`key_${g++}`;p.write("const newResult = {}");for(let k of m.keys)if(m.optionalKeys.has(k)){let T=h[k];p.write(`const ${T} = ${f(k)};`);let w=yh(k);p.write(`
if (${T}.issues.length) {
if (input[${w}] === undefined) {
if (${w} in input) {
newResult[${w}] = undefined;
}
} else {
payload.issues = payload.issues.concat(
${T}.issues.map((iss) => ({
...iss,
path: iss.path ? [${w}, ...iss.path] : [${w}],
}))
);
}
} else if (${T}.value === undefined) {
if (${w} in input) newResult[${w}] = undefined;
} else {
newResult[${w}] = ${T}.value;
}
`)}else{let T=h[k];p.write(`const ${T} = ${f(k)};`),p.write(`
if (${T}.issues.length) payload.issues = payload.issues.concat(${T}.issues.map(iss => ({
...iss,
path: iss.path ? [${yh(k)}, ...iss.path] : [${yh(k)}]
})));`),p.write(`newResult[${yh(k)}] = ${T}.value`)}p.write("payload.value = newResult;"),p.write("return payload;");let y=p.compile();return(k,T)=>y(u,k,T)},i,s=Hv,a=!UI.jitless,l=a&&V9.value,c=e.catchall,d;r._zod.parse=(u,p)=>{d!=null||(d=t.value);let m=u.value;if(!s(m))return u.issues.push({expected:"object",code:"invalid_type",input:m,inst:r}),u;let f=[];if(a&&l&&(p==null?void 0:p.async)===!1&&p.jitless!==!0)i||(i=n(e.shape)),u=i(u,p);else{u.value={};let T=d.shape;for(let w of d.keys){let S=T[w],E=S._zod.run({value:m[w],issues:[]},p),C=S._zod.optin==="optional"&&S._zod.optout==="optional";E instanceof Promise?f.push(E.then(D=>C?FCe(D,u,w,m):QI(D,u,w))):C?FCe(E,u,w,m):QI(E,u,w)}}if(!c)return f.length?Promise.all(f).then(()=>u):u;let h=[],g=d.keySet,y=c._zod,k=y.def.type;for(let T of Object.keys(m)){if(g.has(T))continue;if(k==="never"){h.push(T);continue}let w=y.run({value:m[T],issues:[]},p);w instanceof Promise?f.push(w.then(S=>QI(S,u,T))):QI(w,u,T)}return h.length&&u.issues.push({code:"unrecognized_keys",keys:h,input:m,inst:r}),f.length?Promise.all(f).then(()=>u):u}});eN=U("$ZodUnion",(r,e)=>{xr.init(r,e),Rr(r._zod,"optin",()=>e.options.some(t=>t._zod.optin==="optional")?"optional":void 0),Rr(r._zod,"optout",()=>e.options.some(t=>t._zod.optout==="optional")?"optional":void 0),Rr(r._zod,"values",()=>{if(e.options.every(t=>t._zod.values))return new Set(e.options.flatMap(t=>Array.from(t._zod.values)))}),Rr(r._zod,"pattern",()=>{if(e.options.every(t=>t._zod.pattern)){let t=e.options.map(n=>n._zod.pattern);return new RegExp(`^(${t.map(n=>hE(n.source)).join("|")})$`)}}),r._zod.parse=(t,n)=>{let i=!1,s=[];for(let a of e.options){let o=a._zod.run({value:t.value,issues:[]},n);if(o instanceof Promise)s.push(o),i=!0;else{if(o.issues.length===0)return o;s.push(o)}}return i?Promise.all(s).then(a=>$Ce(a,t,r,n)):$Ce(s,t,r,n)}}),z6=U("$ZodDiscriminatedUnion",(r,e)=>{eN.init(r,e);let t=r._zod.parse;Rr(r._zod,"propValues",()=>{let i={};for(let s of e.options){let a=s._zod.propValues;if(!a||Object.keys(a).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(s)}"`);for(let[o,l]of Object.entries(a)){i[o]||(i[o]=new Set);for(let c of l)i[o].add(c)}}return i});let n=mE(()=>{let i=e.options,s=new Map;for(let a of i){let o=a._zod.propValues[e.discriminator];if(!o||o.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(a)}"`);for(let l of o){if(s.has(l))throw new Error(`Duplicate discriminator value "${String(l)}"`);s.set(l,a)}}return s});r._zod.parse=(i,s)=>{let a=i.value;if(!Hv(a))return i.issues.push({code:"invalid_type",expected:"object",input:a,inst:r}),i;let o=n.value.get(a==null?void 0:a[e.discriminator]);return o?o._zod.run(i,s):e.unionFallback?t(i,s):(i.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:a,path:[e.discriminator],inst:r}),i)}}),B6=U("$ZodIntersection",(r,e)=>{xr.init(r,e),r._zod.parse=(t,n)=>{let i=t.value,s=e.left._zod.run({value:i,issues:[]},n),a=e.right._zod.run({value:i,issues:[]},n);return s instanceof Promise||a instanceof Promise?Promise.all([s,a]).then(([l,c])=>jCe(t,l,c)):jCe(t,s,a)}});q6=U("$ZodRecord",(r,e)=>{xr.init(r,e),r._zod.parse=(t,n)=>{let i=t.value;if(!Uv(i))return t.issues.push({expected:"record",code:"invalid_type",input:i,inst:r}),t;let s=[];if(e.keyType._zod.values){let a=e.keyType._zod.values;t.value={};for(let l of a)if(typeof l=="string"||typeof l=="number"||typeof l=="symbol"){let c=e.valueType._zod.run({value:i[l],issues:[]},n);c instanceof Promise?s.push(c.then(d=>{d.issues.length&&t.issues.push(...Cc(l,d.issues)),t.value[l]=d.value})):(c.issues.length&&t.issues.push(...Cc(l,c.issues)),t.value[l]=c.value)}let o;for(let l in i)a.has(l)||(o=o!=null?o:[],o.push(l));o&&o.length>0&&t.issues.push({code:"unrecognized_keys",input:i,inst:r,keys:o})}else{t.value={};for(let a of Reflect.ownKeys(i)){if(a==="__proto__")continue;let o=e.keyType._zod.run({value:a,issues:[]},n);if(o instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(o.issues.length){t.issues.push({origin:"record",code:"invalid_key",issues:o.issues.map(c=>ll(c,n,Aa())),input:a,path:[a],inst:r}),t.value[o.value]=o.value;continue}let l=e.valueType._zod.run({value:i[a],issues:[]},n);l instanceof Promise?s.push(l.then(c=>{c.issues.length&&t.issues.push(...Cc(a,c.issues)),t.value[o.value]=c.value})):(l.issues.length&&t.issues.push(...Cc(a,l.issues)),t.value[o.value]=l.value)}}return s.length?Promise.all(s).then(()=>t):t}}),H6=U("$ZodEnum",(r,e)=>{xr.init(r,e);let t=pE(e.entries);r._zod.values=new Set(t),r._zod.pattern=new RegExp(`^(${t.filter(n=>W9.has(typeof n)).map(n=>typeof n=="string"?zp(n):n.toString()).join("|")})$`),r._zod.parse=(n,i)=>{let s=n.value;return r._zod.values.has(s)||n.issues.push({code:"invalid_value",values:t,input:s,inst:r}),n}}),U6=U("$ZodLiteral",(r,e)=>{xr.init(r,e),r._zod.values=new Set(e.values),r._zod.pattern=new RegExp(`^(${e.values.map(t=>typeof t=="string"?zp(t):t?t.toString():String(t)).join("|")})$`),r._zod.parse=(t,n)=>{let i=t.value;return r._zod.values.has(i)||t.issues.push({code:"invalid_value",values:e.values,input:i,inst:r}),t}}),V6=U("$ZodTransform",(r,e)=>{xr.init(r,e),r._zod.parse=(t,n)=>{let i=e.transform(t.value,t);if(n.async)return(i instanceof Promise?i:Promise.resolve(i)).then(a=>(t.value=a,t));if(i instanceof Promise)throw new eu;return t.value=i,t}}),W6=U("$ZodOptional",(r,e)=>{xr.init(r,e),r._zod.optin="optional",r._zod.optout="optional",Rr(r._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),Rr(r._zod,"pattern",()=>{let t=e.innerType._zod.pattern;return t?new RegExp(`^(${hE(t.source)})?$`):void 0}),r._zod.parse=(t,n)=>e.innerType._zod.optin==="optional"?e.innerType._zod.run(t,n):t.value===void 0?t:e.innerType._zod.run(t,n)}),Y6=U("$ZodNullable",(r,e)=>{xr.init(r,e),Rr(r._zod,"optin",()=>e.innerType._zod.optin),Rr(r._zod,"optout",()=>e.innerType._zod.optout),Rr(r._zod,"pattern",()=>{let t=e.innerType._zod.pattern;return t?new RegExp(`^(${hE(t.source)}|null)$`):void 0}),Rr(r._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),r._zod.parse=(t,n)=>t.value===null?t:e.innerType._zod.run(t,n)}),G6=U("$ZodDefault",(r,e)=>{xr.init(r,e),r._zod.optin="optional",Rr(r._zod,"values",()=>e.innerType._zod.values),r._zod.parse=(t,n)=>{if(t.value===void 0)return t.value=e.defaultValue,t;let i=e.innerType._zod.run(t,n);return i instanceof Promise?i.then(s=>zCe(s,e)):zCe(i,e)}});K6=U("$ZodPrefault",(r,e)=>{xr.init(r,e),r._zod.optin="optional",Rr(r._zod,"values",()=>e.innerType._zod.values),r._zod.parse=(t,n)=>(t.value===void 0&&(t.value=e.defaultValue),e.innerType._zod.run(t,n))}),Z6=U("$ZodNonOptional",(r,e)=>{xr.init(r,e),Rr(r._zod,"values",()=>{let t=e.innerType._zod.values;return t?new Set([...t].filter(n=>n!==void 0)):void 0}),r._zod.parse=(t,n)=>{let i=e.innerType._zod.run(t,n);return i instanceof Promise?i.then(s=>BCe(s,r)):BCe(i,r)}});Q6=U("$ZodCatch",(r,e)=>{xr.init(r,e),r._zod.optin="optional",Rr(r._zod,"optout",()=>e.innerType._zod.optout),Rr(r._zod,"values",()=>e.innerType._zod.values),r._zod.parse=(t,n)=>{let i=e.innerType._zod.run(t,n);return i instanceof Promise?i.then(s=>(t.value=s.value,s.issues.length&&(t.value=e.catchValue({...t,error:{issues:s.issues.map(a=>ll(a,n,Aa()))},input:t.value}),t.issues=[]),t)):(t.value=i.value,i.issues.length&&(t.value=e.catchValue({...t,error:{issues:i.issues.map(s=>ll(s,n,Aa()))},input:t.value}),t.issues=[]),t)}}),J6=U("$ZodPipe",(r,e)=>{xr.init(r,e),Rr(r._zod,"values",()=>e.in._zod.values),Rr(r._zod,"optin",()=>e.in._zod.optin),Rr(r._zod,"optout",()=>e.out._zod.optout),r._zod.parse=(t,n)=>{let i=e.in._zod.run(t,n);return i instanceof Promise?i.then(s=>qCe(s,e,n)):qCe(i,e,n)}});X6=U("$ZodReadonly",(r,e)=>{xr.init(r,e),Rr(r._zod,"propValues",()=>e.innerType._zod.propValues),Rr(r._zod,"values",()=>e.innerType._zod.values),Rr(r._zod,"optin",()=>e.innerType._zod.optin),Rr(r._zod,"optout",()=>e.innerType._zod.optout),r._zod.parse=(t,n)=>{let i=e.innerType._zod.run(t,n);return i instanceof Promise?i.then(HCe):HCe(i)}});eY=U("$ZodCustom",(r,e)=>{gi.init(r,e),xr.init(r,e),r._zod.parse=(t,n)=>t,r._zod.check=t=>{let n=t.value,i=e.fn(n);if(i instanceof Promise)return i.then(s=>UCe(s,t,n,r));UCe(i,t,n,r)}})});function QCe(){return{localeError:kot()}}var Tot,kot,JCe=v(()=>{Pc();Tot=r=>{let e=typeof r;switch(e){case"number":return Number.isNaN(r)?"NaN":"number";case"object":{if(Array.isArray(r))return"array";if(r===null)return"null";if(Object.getPrototypeOf(r)!==Object.prototype&&r.constructor)return r.constructor.name}}return e},kot=()=>{let r={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function e(n){var i;return(i=r[n])!=null?i:null}let t={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return n=>{var i,s,a,o;switch(n.code){case"invalid_type":return`Invalid input: expected ${n.expected}, received ${Tot(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${YI(n.values[0])}`:`Invalid option: expected one of ${VI(n.values,"|")}`;case"too_big":{let l=n.inclusive?"<=":"<",c=e(n.origin);return c?`Too big: expected ${(i=n.origin)!=null?i:"value"} to have ${l}${n.maximum.toString()} ${(s=c.unit)!=null?s:"elements"}`:`Too big: expected ${(a=n.origin)!=null?a:"value"} to be ${l}${n.maximum.toString()}`}case"too_small":{let l=n.inclusive?">=":">",c=e(n.origin);return c?`Too small: expected ${n.origin} to have ${l}${n.minimum.toString()} ${c.unit}`:`Too small: expected ${n.origin} to be ${l}${n.minimum.toString()}`}case"invalid_format":{let l=n;return l.format==="starts_with"?`Invalid string: must start with "${l.prefix}"`:l.format==="ends_with"?`Invalid string: must end with "${l.suffix}"`:l.format==="includes"?`Invalid string: must include "${l.includes}"`:l.format==="regex"?`Invalid string: must match pattern ${l.pattern}`:`Invalid ${(o=t[l.format])!=null?o:n.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${n.divisor}`;case"unrecognized_keys":return`Unrecognized key${n.keys.length>1?"s":""}: ${VI(n.keys,", ")}`;case"invalid_key":return`Invalid key in ${n.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${n.origin}`;default:return"Invalid input"}}}});function XCe(){return new TE}var wot,Sot,TE,Bp,tY=v(()=>{wot=Symbol("ZodOutput"),Sot=Symbol("ZodInput"),TE=class{constructor(){this._map=new Map,this._idmap=new Map}add(e,...t){let n=t[0];if(this._map.set(e,n),n&&typeof n=="object"&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,e)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t=="object"&&"id"in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){var n;let t=e._zod.parent;if(t){let i={...(n=this.get(t))!=null?n:{}};return delete i.id,{...i,...this._map.get(e)}}return this._map.get(e)}has(e){return this._map.has(e)}};Bp=XCe()});function rY(r,e){return new r({type:"string",...He(e)})}function nY(r,e){return new r({type:"string",format:"email",check:"string_format",abort:!1,...He(e)})}function tN(r,e){return new r({type:"string",format:"guid",check:"string_format",abort:!1,...He(e)})}function iY(r,e){return new r({type:"string",format:"uuid",check:"string_format",abort:!1,...He(e)})}function sY(r,e){return new r({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...He(e)})}function aY(r,e){return new r({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...He(e)})}function oY(r,e){return new r({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...He(e)})}function lY(r,e){return new r({type:"string",format:"url",check:"string_format",abort:!1,...He(e)})}function cY(r,e){return new r({type:"string",format:"emoji",check:"string_format",abort:!1,...He(e)})}function dY(r,e){return new r({type:"string",format:"nanoid",check:"string_format",abort:!1,...He(e)})}function uY(r,e){return new r({type:"string",format:"cuid",check:"string_format",abort:!1,...He(e)})}function pY(r,e){return new r({type:"string",format:"cuid2",check:"string_format",abort:!1,...He(e)})}function mY(r,e){return new r({type:"string",format:"ulid",check:"string_format",abort:!1,...He(e)})}function fY(r,e){return new r({type:"string",format:"xid",check:"string_format",abort:!1,...He(e)})}function hY(r,e){return new r({type:"string",format:"ksuid",check:"string_format",abort:!1,...He(e)})}function gY(r,e){return new r({type:"string",format:"ipv4",check:"string_format",abort:!1,...He(e)})}function yY(r,e){return new r({type:"string",format:"ipv6",check:"string_format",abort:!1,...He(e)})}function vY(r,e){return new r({type:"string",format:"cidrv4",check:"string_format",abort:!1,...He(e)})}function bY(r,e){return new r({type:"string",format:"cidrv6",check:"string_format",abort:!1,...He(e)})}function TY(r,e){return new r({type:"string",format:"base64",check:"string_format",abort:!1,...He(e)})}function kY(r,e){return new r({type:"string",format:"base64url",check:"string_format",abort:!1,...He(e)})}function wY(r,e){return new r({type:"string",format:"e164",check:"string_format",abort:!1,...He(e)})}function SY(r,e){return new r({type:"string",format:"jwt",check:"string_format",abort:!1,...He(e)})}function ePe(r,e){return new r({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...He(e)})}function tPe(r,e){return new r({type:"string",format:"date",check:"string_format",...He(e)})}function rPe(r,e){return new r({type:"string",format:"time",check:"string_format",precision:null,...He(e)})}function nPe(r,e){return new r({type:"string",format:"duration",check:"string_format",...He(e)})}function xY(r,e){return new r({type:"number",checks:[],...He(e)})}function EY(r,e){return new r({type:"number",check:"number_format",abort:!1,format:"safeint",...He(e)})}function DY(r,e){return new r({type:"boolean",...He(e)})}function CY(r,e){return new r({type:"null",...He(e)})}function PY(r){return new r({type:"unknown"})}function _Y(r,e){return new r({type:"never",...He(e)})}function rN(r,e){return new d6({check:"less_than",...He(e),value:r,inclusive:!1})}function kE(r,e){return new d6({check:"less_than",...He(e),value:r,inclusive:!0})}function nN(r,e){return new u6({check:"greater_than",...He(e),value:r,inclusive:!1})}function wE(r,e){return new u6({check:"greater_than",...He(e),value:r,inclusive:!0})}function iN(r,e){return new wCe({check:"multiple_of",...He(e),value:r})}function sN(r,e){return new xCe({check:"max_length",...He(e),maximum:r})}function Vv(r,e){return new ECe({check:"min_length",...He(e),minimum:r})}function aN(r,e){return new DCe({check:"length_equals",...He(e),length:r})}function MY(r,e){return new CCe({check:"string_format",format:"regex",...He(e),pattern:r})}function AY(r){return new PCe({check:"string_format",format:"lowercase",...He(r)})}function IY(r){return new _Ce({check:"string_format",format:"uppercase",...He(r)})}function NY(r,e){return new MCe({check:"string_format",format:"includes",...He(e),includes:r})}function RY(r,e){return new ACe({check:"string_format",format:"starts_with",...He(e),prefix:r})}function OY(r,e){return new ICe({check:"string_format",format:"ends_with",...He(e),suffix:r})}function kh(r){return new NCe({check:"overwrite",tx:r})}function LY(r){return kh(e=>e.normalize(r))}function FY(){return kh(r=>r.trim())}function $Y(){return kh(r=>r.toLowerCase())}function jY(){return kh(r=>r.toUpperCase())}function iPe(r,e,t){return new r({type:"array",element:e,...He(t)})}function zY(r,e,t){var s;let n=He(t);return(s=n.abort)!=null||(n.abort=!0),new r({type:"custom",check:"custom",fn:e,...n})}function BY(r,e,t){return new r({type:"custom",check:"custom",fn:e,...He(t)})}var sPe=v(()=>{KI();Pc()});var aPe=v(()=>{});function qY(r,e){if(r instanceof TE){let n=new oN(e),i={};for(let o of r._idmap.entries()){let[l,c]=o;n.process(c)}let s={},a={registry:r,uri:e==null?void 0:e.uri,defs:i};for(let o of r._idmap.entries()){let[l,c]=o;s[l]=n.emit(c,{...e,external:a})}if(Object.keys(i).length>0){let o=n.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[o]:i}}return{schemas:s}}let t=new oN(e);return t.process(r),t.emit(r,e)}function Yn(r,e){let t=e!=null?e:{seen:new Set};if(t.seen.has(r))return!1;t.seen.add(r);let i=r._zod.def;switch(i.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return Yn(i.element,t);case"object":{for(let s in i.shape)if(Yn(i.shape[s],t))return!0;return!1}case"union":{for(let s of i.options)if(Yn(s,t))return!0;return!1}case"intersection":return Yn(i.left,t)||Yn(i.right,t);case"tuple":{for(let s of i.items)if(Yn(s,t))return!0;return!!(i.rest&&Yn(i.rest,t))}case"record":return Yn(i.keyType,t)||Yn(i.valueType,t);case"map":return Yn(i.keyType,t)||Yn(i.valueType,t);case"set":return Yn(i.valueType,t);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return Yn(i.innerType,t);case"lazy":return Yn(i.getter(),t);case"default":return Yn(i.innerType,t);case"prefault":return Yn(i.innerType,t);case"custom":return!1;case"transform":return!0;case"pipe":return Yn(i.in,t)||Yn(i.out,t);case"success":return!1;case"catch":return!1;default:}throw new Error(`Unknown schema type: ${i.type}`)}var oN,oPe=v(()=>{tY();Pc();oN=class{constructor(e){var t,n,i,s,a;this.counter=0,this.metadataRegistry=(t=e==null?void 0:e.metadata)!=null?t:Bp,this.target=(n=e==null?void 0:e.target)!=null?n:"draft-2020-12",this.unrepresentable=(i=e==null?void 0:e.unrepresentable)!=null?i:"throw",this.override=(s=e==null?void 0:e.override)!=null?s:(()=>{}),this.io=(a=e==null?void 0:e.io)!=null?a:"output",this.seen=new Map}process(e,t={path:[],schemaPath:[]}){var u,p,m,f,h;var n;let i=e._zod.def,s={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},a=this.seen.get(e);if(a)return a.count++,t.schemaPath.includes(e)&&(a.cycle=t.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:t.path};this.seen.set(e,o);let l=(p=(u=e._zod).toJSONSchema)==null?void 0:p.call(u);if(l)o.schema=l;else{let g={...t,schemaPath:[...t.schemaPath,e],path:t.path},y=e._zod.parent;if(y)o.ref=y,this.process(y,g),this.seen.get(y).isParent=!0;else{let k=o.schema;switch(i.type){case"string":{let T=k;T.type="string";let{minimum:w,maximum:S,format:E,patterns:C,contentEncoding:D}=e._zod.bag;if(typeof w=="number"&&(T.minLength=w),typeof S=="number"&&(T.maxLength=S),E&&(T.format=(m=s[E])!=null?m:E,T.format===""&&delete T.format),D&&(T.contentEncoding=D),C&&C.size>0){let A=[...C];A.length===1?T.pattern=A[0].source:A.length>1&&(o.schema.allOf=[...A.map(N=>({...this.target==="draft-7"?{type:"string"}:{},pattern:N.source}))])}break}case"number":{let T=k,{minimum:w,maximum:S,format:E,multipleOf:C,exclusiveMaximum:D,exclusiveMinimum:A}=e._zod.bag;typeof E=="string"&&E.includes("int")?T.type="integer":T.type="number",typeof A=="number"&&(T.exclusiveMinimum=A),typeof w=="number"&&(T.minimum=w,typeof A=="number"&&(A>=w?delete T.minimum:delete T.exclusiveMinimum)),typeof D=="number"&&(T.exclusiveMaximum=D),typeof S=="number"&&(T.maximum=S,typeof D=="number"&&(D<=S?delete T.maximum:delete T.exclusiveMaximum)),typeof C=="number"&&(T.multipleOf=C);break}case"boolean":{let T=k;T.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema");break}case"null":{k.type="null";break}case"any":break;case"unknown":break;case"undefined":{if(this.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema");break}case"void":{if(this.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema");break}case"never":{k.not={};break}case"date":{if(this.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema");break}case"array":{let T=k,{minimum:w,maximum:S}=e._zod.bag;typeof w=="number"&&(T.minItems=w),typeof S=="number"&&(T.maxItems=S),T.type="array",T.items=this.process(i.element,{...g,path:[...g.path,"items"]});break}case"object":{let T=k;T.type="object",T.properties={};let w=i.shape;for(let C in w)T.properties[C]=this.process(w[C],{...g,path:[...g.path,"properties",C]});let S=new Set(Object.keys(w)),E=new Set([...S].filter(C=>{let D=i.shape[C]._zod;return this.io==="input"?D.optin===void 0:D.optout===void 0}));E.size>0&&(T.required=Array.from(E)),((f=i.catchall)==null?void 0:f._zod.def.type)==="never"?T.additionalProperties=!1:i.catchall?i.catchall&&(T.additionalProperties=this.process(i.catchall,{...g,path:[...g.path,"additionalProperties"]})):this.io==="output"&&(T.additionalProperties=!1);break}case"union":{let T=k;T.anyOf=i.options.map((w,S)=>this.process(w,{...g,path:[...g.path,"anyOf",S]}));break}case"intersection":{let T=k,w=this.process(i.left,{...g,path:[...g.path,"allOf",0]}),S=this.process(i.right,{...g,path:[...g.path,"allOf",1]}),E=D=>"allOf"in D&&Object.keys(D).length===1,C=[...E(w)?w.allOf:[w],...E(S)?S.allOf:[S]];T.allOf=C;break}case"tuple":{let T=k;T.type="array";let w=i.items.map((C,D)=>this.process(C,{...g,path:[...g.path,"prefixItems",D]}));if(this.target==="draft-2020-12"?T.prefixItems=w:T.items=w,i.rest){let C=this.process(i.rest,{...g,path:[...g.path,"items"]});this.target==="draft-2020-12"?T.items=C:T.additionalItems=C}i.rest&&(T.items=this.process(i.rest,{...g,path:[...g.path,"items"]}));let{minimum:S,maximum:E}=e._zod.bag;typeof S=="number"&&(T.minItems=S),typeof E=="number"&&(T.maxItems=E);break}case"record":{let T=k;T.type="object",T.propertyNames=this.process(i.keyType,{...g,path:[...g.path,"propertyNames"]}),T.additionalProperties=this.process(i.valueType,{...g,path:[...g.path,"additionalProperties"]});break}case"map":{if(this.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema");break}case"set":{if(this.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema");break}case"enum":{let T=k,w=pE(i.entries);w.every(S=>typeof S=="number")&&(T.type="number"),w.every(S=>typeof S=="string")&&(T.type="string"),T.enum=w;break}case"literal":{let T=k,w=[];for(let S of i.values)if(S===void 0){if(this.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof S=="bigint"){if(this.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");w.push(Number(S))}else w.push(S);if(w.length!==0)if(w.length===1){let S=w[0];T.type=S===null?"null":typeof S,T.const=S}else w.every(S=>typeof S=="number")&&(T.type="number"),w.every(S=>typeof S=="string")&&(T.type="string"),w.every(S=>typeof S=="boolean")&&(T.type="string"),w.every(S=>S===null)&&(T.type="null"),T.enum=w;break}case"file":{let T=k,w={type:"string",format:"binary",contentEncoding:"binary"},{minimum:S,maximum:E,mime:C}=e._zod.bag;S!==void 0&&(w.minLength=S),E!==void 0&&(w.maxLength=E),C?C.length===1?(w.contentMediaType=C[0],Object.assign(T,w)):T.anyOf=C.map(D=>({...w,contentMediaType:D})):Object.assign(T,w);break}case"transform":{if(this.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let T=this.process(i.innerType,g);k.anyOf=[T,{type:"null"}];break}case"nonoptional":{this.process(i.innerType,g),o.ref=i.innerType;break}case"success":{let T=k;T.type="boolean";break}case"default":{this.process(i.innerType,g),o.ref=i.innerType,k.default=JSON.parse(JSON.stringify(i.defaultValue));break}case"prefault":{this.process(i.innerType,g),o.ref=i.innerType,this.io==="input"&&(k._prefault=JSON.parse(JSON.stringify(i.defaultValue)));break}case"catch":{this.process(i.innerType,g),o.ref=i.innerType;let T;try{T=i.catchValue(void 0)}catch(w){throw new Error("Dynamic catch values are not supported in JSON Schema")}k.default=T;break}case"nan":{if(this.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let T=k,w=e._zod.pattern;if(!w)throw new Error("Pattern not found in template literal");T.type="string",T.pattern=w.source;break}case"pipe":{let T=this.io==="input"?i.in._zod.def.type==="transform"?i.out:i.in:i.out;this.process(T,g),o.ref=T;break}case"readonly":{this.process(i.innerType,g),o.ref=i.innerType,k.readOnly=!0;break}case"promise":{this.process(i.innerType,g),o.ref=i.innerType;break}case"optional":{this.process(i.innerType,g),o.ref=i.innerType;break}case"lazy":{let T=e._zod.innerType;this.process(T,g),o.ref=T;break}case"custom":{if(this.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema");break}default:}}}let c=this.metadataRegistry.get(e);return c&&Object.assign(o.schema,c),this.io==="input"&&Yn(e)&&(delete o.schema.examples,delete o.schema.default),this.io==="input"&&o.schema._prefault&&((h=(n=o.schema).default)!=null||(n.default=o.schema._prefault)),delete o.schema._prefault,this.seen.get(e).schema}emit(e,t){var d,u,p,m,f,h,g,y,k,T;let n={cycles:(d=t==null?void 0:t.cycles)!=null?d:"ref",reused:(u=t==null?void 0:t.reused)!=null?u:"inline",external:(p=t==null?void 0:t.external)!=null?p:void 0},i=this.seen.get(e);if(!i)throw new Error("Unprocessed schema. This is a bug in Zod.");let s=w=>{var A,N,V,R,I;let S=this.target==="draft-2020-12"?"$defs":"definitions";if(n.external){let O=(A=n.external.registry.get(w[0]))==null?void 0:A.id,z=(N=n.external.uri)!=null?N:(W=>W);if(O)return{ref:z(O)};let B=(R=(V=w[1].defId)!=null?V:w[1].schema.id)!=null?R:`schema${this.counter++}`;return w[1].defId=B,{defId:B,ref:`${z("__shared")}#/${S}/${B}`}}if(w[1]===i)return{ref:"#"};let C=`#/${S}/`,D=(I=w[1].schema.id)!=null?I:`__schema${this.counter++}`;return{defId:D,ref:C+D}},a=w=>{if(w[1].schema.$ref)return;let S=w[1],{ref:E,defId:C}=s(w);S.def={...S.schema},C&&(S.defId=C);let D=S.schema;for(let A in D)delete D[A];D.$ref=E};if(n.cycles==="throw")for(let w of this.seen.entries()){let S=w[1];if(S.cycle)throw new Error(`Cycle detected: #/${(m=S.cycle)==null?void 0:m.join("/")}/<root>
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let w of this.seen.entries()){let S=w[1];if(e===w[0]){a(w);continue}if(n.external){let C=(f=n.external.registry.get(w[0]))==null?void 0:f.id;if(e!==w[0]&&C){a(w);continue}}if((h=this.metadataRegistry.get(w[0]))==null?void 0:h.id){a(w);continue}if(S.cycle){a(w);continue}if(S.count>1&&n.reused==="ref"){a(w);continue}}let o=(w,S)=>{var N,V,R;let E=this.seen.get(w),C=(N=E.def)!=null?N:E.schema,D={...C};if(E.ref===null)return;let A=E.ref;if(E.ref=null,A){o(A,S);let I=this.seen.get(A).schema;I.$ref&&S.target==="draft-7"?(C.allOf=(V=C.allOf)!=null?V:[],C.allOf.push(I)):(Object.assign(C,I),Object.assign(C,D))}E.isParent||this.override({zodSchema:w,jsonSchema:C,path:(R=E.path)!=null?R:[]})};for(let w of[...this.seen.entries()].reverse())o(w[0],{target:this.target});let l={};if(this.target==="draft-2020-12"?l.$schema="https://json-schema.org/draft/2020-12/schema":this.target==="draft-7"?l.$schema="http://json-schema.org/draft-07/schema#":console.warn(`Invalid target: ${this.target}`),(g=n.external)!=null&&g.uri){let w=(y=n.external.registry.get(e))==null?void 0:y.id;if(!w)throw new Error("Schema is missing an `id` property");l.$id=n.external.uri(w)}Object.assign(l,i.def);let c=(T=(k=n.external)==null?void 0:k.defs)!=null?T:{};for(let w of this.seen.entries()){let S=w[1];S.def&&S.defId&&(c[S.defId]=S.def)}n.external||Object.keys(c).length>0&&(this.target==="draft-2020-12"?l.$defs=c:l.definitions=c);try{return JSON.parse(JSON.stringify(l))}catch(w){throw new Error("Error converting schema to JSON.")}}}});var Na=v(()=>{qv();s6();J9();ZCe();KI();m6();Pc();tY();p6();aPe();sPe();oPe()});var HY=v(()=>{Na()});function UY(r,e){let t={type:"object",get shape(){return Mt.assignProp(this,"shape",{...r}),this.shape},...Mt.normalizeParams(e)};return new slt(t)}var ilt,slt,lPe=v(()=>{Na();Na();HY();ilt=U("ZodMiniType",(r,e)=>{if(!r._zod)throw new Error("Uninitialized schema in ZodMiniType.");xr.init(r,e),r.def=e,r.parse=(t,n)=>e6(r,t,n,{callee:r.parse}),r.safeParse=(t,n)=>bh(r,t,n),r.parseAsync=async(t,n)=>r6(r,t,n,{callee:r.parseAsync}),r.safeParseAsync=async(t,n)=>Th(r,t,n),r.check=(...t)=>{var n;return r.clone({...e,checks:[...(n=e.checks)!=null?n:[],...t.map(i=>typeof i=="function"?{_zod:{check:i,def:{check:"custom"},onattach:[]}}:i)]})},r.clone=(t,n)=>Ia(r,t,n),r.brand=()=>r,r.register=((t,n)=>(t.add(r,n),r))}),slt=U("ZodMiniObject",(r,e)=>{XI.init(r,e),ilt.init(r,e),Mt.defineLazy(r,"shape",()=>e.shape)})});var cPe=v(()=>{});var dPe=v(()=>{HY();lPe();cPe();Na()});var uPe=v(()=>{dPe()});var VY=v(()=>{uPe()});function vo(r){return!!r._zod}function wh(r){let e=Object.values(r);if(e.length===0)return UY({});let t=e.every(vo),n=e.every(i=>!vo(i));if(t)return UY(r);if(n)return j9(r);throw new Error("Mixed Zod versions detected in object shape.")}function qp(r,e){return vo(r)?bh(r,e):r.safeParse(e)}async function lN(r,e){return vo(r)?await Th(r,e):await r.safeParseAsync(e)}function Hp(r){var t,n;if(!r)return;let e;if(vo(r)?e=(n=(t=r._zod)==null?void 0:t.def)==null?void 0:n.shape:e=r.shape,!!e){if(typeof e=="function")try{return e()}catch(i){return}return e}}function Wv(r){var e;if(r){if(typeof r=="object"){let t=r,n=r;if(!t._def&&!n._zod){let i=Object.values(r);if(i.length>0&&i.every(s=>typeof s=="object"&&s!==null&&(s._def!==void 0||s._zod!==void 0||typeof s.parse=="function")))return wh(r)}}if(vo(r)){let n=(e=r._zod)==null?void 0:e.def;if(n&&(n.type==="object"||n.shape!==void 0))return r}else if(r.shape!==void 0)return r}}function cN(r){if(r&&typeof r=="object"){if("message"in r&&typeof r.message=="string")return r.message;if("issues"in r&&Array.isArray(r.issues)&&r.issues.length>0){let e=r.issues[0];if(e&&typeof e=="object"&&"message"in e)return String(e.message)}try{return JSON.stringify(r)}catch(e){return String(r)}}return String(r)}function mPe(r){return r.description}function fPe(r){var t,n,i;if(vo(r))return((n=(t=r._zod)==null?void 0:t.def)==null?void 0:n.type)==="optional";let e=r;return typeof r.isOptional=="function"?r.isOptional():((i=e._def)==null?void 0:i.typeName)==="ZodOptional"}function dN(r){var i;if(vo(r)){let a=(i=r._zod)==null?void 0:i.def;if(a){if(a.value!==void 0)return a.value;if(Array.isArray(a.values)&&a.values.length>0)return a.values[0]}}let t=r._def;if(t){if(t.value!==void 0)return t.value;if(Array.isArray(t.values)&&t.values.length>0)return t.values[0]}let n=r.value;if(n!==void 0)return n}var xE=v(()=>{dE();VY()});var WY=v(()=>{Na()});var Yv={};et(Yv,{ZodISODate:()=>gPe,ZodISODateTime:()=>hPe,ZodISODuration:()=>vPe,ZodISOTime:()=>yPe,date:()=>GY,datetime:()=>YY,duration:()=>ZY,time:()=>KY});function YY(r){return ePe(hPe,r)}function GY(r){return tPe(gPe,r)}function KY(r){return rPe(yPe,r)}function ZY(r){return nPe(vPe,r)}var hPe,gPe,yPe,vPe,QY=v(()=>{Na();JY();hPe=U("ZodISODateTime",(r,e)=>{VCe.init(r,e),Kr.init(r,e)});gPe=U("ZodISODate",(r,e)=>{WCe.init(r,e),Kr.init(r,e)});yPe=U("ZodISOTime",(r,e)=>{YCe.init(r,e),Kr.init(r,e)});vPe=U("ZodISODuration",(r,e)=>{GCe.init(r,e),Kr.init(r,e)})});var bPe,uhr,EE,XY=v(()=>{Na();Na();bPe=(r,e)=>{GI.init(r,e),r.name="ZodError",Object.defineProperties(r,{format:{value:t=>Q9(r,t)},flatten:{value:t=>Z9(r,t)},addIssue:{value:t=>r.issues.push(t)},addIssues:{value:t=>r.issues.push(...t)},isEmpty:{get(){return r.issues.length===0}}})},uhr=U("ZodError",bPe),EE=U("ZodError",bPe,{Parent:Error})});var TPe,kPe,wPe,SPe,e5=v(()=>{Na();XY();TPe=X9(EE),kPe=t6(EE),wPe=n6(EE),SPe=i6(EE)});function H(r){return rY(mlt,r)}function Tr(r){return xY(PPe,r)}function EPe(r){return EY(Alt,r)}function si(r){return DY(Ilt,r)}function n5(r){return CY(Nlt,r)}function Zr(){return PY(Rlt)}function Llt(r){return _Y(Olt,r)}function Bt(r,e){return iPe(Flt,r,e)}function ge(r,e){let t={type:"object",get shape(){return Mt.assignProp(this,"shape",{...r}),this.shape},...Mt.normalizeParams(e)};return new _Pe(t)}function ms(r,e){return new _Pe({type:"object",get shape(){return Mt.assignProp(this,"shape",{...r}),this.shape},catchall:Zr(),...Mt.normalizeParams(e)})}function Lr(r,e){return new MPe({type:"union",options:r,...Mt.normalizeParams(e)})}function i5(r,e,t){return new $lt({type:"union",options:e,discriminator:r,...Mt.normalizeParams(t)})}function pN(r,e){return new jlt({type:"intersection",left:r,right:e})}function Qr(r,e,t){return new zlt({type:"record",keyType:r,valueType:e,...Mt.normalizeParams(t)})}function Ks(r,e){let t=Array.isArray(r)?Object.fromEntries(r.map(n=>[n,n])):r;return new t5({type:"enum",entries:t,...Mt.normalizeParams(e)})}function Ie(r,e){return new Blt({type:"literal",values:Array.isArray(r)?r:[r],...Mt.normalizeParams(e)})}function APe(r){return new qlt({type:"transform",transform:r})}function an(r){return new IPe({type:"optional",innerType:r})}function DPe(r){return new Hlt({type:"nullable",innerType:r})}function Vlt(r,e){return new Ult({type:"default",innerType:r,get defaultValue(){return typeof e=="function"?e():e}})}function Ylt(r,e){return new Wlt({type:"prefault",innerType:r,get defaultValue(){return typeof e=="function"?e():e}})}function Glt(r,e){return new NPe({type:"nonoptional",innerType:r,...Mt.normalizeParams(e)})}function Zlt(r,e){return new Klt({type:"catch",innerType:r,catchValue:typeof e=="function"?e:()=>e})}function r5(r,e){return new Qlt({type:"pipe",in:r,out:e})}function Xlt(r){return new Jlt({type:"readonly",innerType:r})}function ect(r){let e=new gi({check:"custom"});return e._zod.check=r,e}function OPe(r,e){return zY(RPe,r!=null?r:(()=>!0),e)}function tct(r,e={}){return BY(RPe,r,e)}function rct(r){let e=ect(t=>(t.addIssue=n=>{var i,s,a,o;if(typeof n=="string")t.issues.push(Mt.issue(n,t.value,e._zod.def));else{let l=n;l.fatal&&(l.continue=!1),(i=l.code)!=null||(l.code="custom"),(s=l.input)!=null||(l.input=t.value),(a=l.inst)!=null||(l.inst=e),(o=l.continue)!=null||(l.continue=!e._zod.def.abort),t.issues.push(Mt.issue(l))}},r(t.value,t)));return e}function s5(r,e){return r5(APe(r),e)}var on,CPe,mlt,Kr,flt,xPe,uN,hlt,glt,ylt,vlt,blt,Tlt,klt,wlt,Slt,xlt,Elt,Dlt,Clt,Plt,_lt,Mlt,PPe,Alt,Ilt,Nlt,Rlt,Olt,Flt,_Pe,MPe,$lt,jlt,zlt,t5,Blt,qlt,IPe,Hlt,Ult,Wlt,NPe,Klt,Qlt,Jlt,RPe,JY=v(()=>{Na();Na();WY();QY();e5();on=U("ZodType",(r,e)=>(xr.init(r,e),r.def=e,Object.defineProperty(r,"_def",{value:e}),r.check=(...t)=>{var n;return r.clone({...e,checks:[...(n=e.checks)!=null?n:[],...t.map(i=>typeof i=="function"?{_zod:{check:i,def:{check:"custom"},onattach:[]}}:i)]})},r.clone=(t,n)=>Ia(r,t,n),r.brand=()=>r,r.register=((t,n)=>(t.add(r,n),r)),r.parse=(t,n)=>TPe(r,t,n,{callee:r.parse}),r.safeParse=(t,n)=>wPe(r,t,n),r.parseAsync=async(t,n)=>kPe(r,t,n,{callee:r.parseAsync}),r.safeParseAsync=async(t,n)=>SPe(r,t,n),r.spa=r.safeParseAsync,r.refine=(t,n)=>r.check(tct(t,n)),r.superRefine=t=>r.check(rct(t)),r.overwrite=t=>r.check(kh(t)),r.optional=()=>an(r),r.nullable=()=>DPe(r),r.nullish=()=>an(DPe(r)),r.nonoptional=t=>Glt(r,t),r.array=()=>Bt(r),r.or=t=>Lr([r,t]),r.and=t=>pN(r,t),r.transform=t=>r5(r,APe(t)),r.default=t=>Vlt(r,t),r.prefault=t=>Ylt(r,t),r.catch=t=>Zlt(r,t),r.pipe=t=>r5(r,t),r.readonly=()=>Xlt(r),r.describe=t=>{let n=r.clone();return Bp.add(n,{description:t}),n},Object.defineProperty(r,"description",{get(){var t;return(t=Bp.get(r))==null?void 0:t.description},configurable:!0}),r.meta=(...t)=>{if(t.length===0)return Bp.get(r);let n=r.clone();return Bp.add(n,t[0]),n},r.isOptional=()=>r.safeParse(void 0).success,r.isNullable=()=>r.safeParse(null).success,r)),CPe=U("_ZodString",(r,e)=>{var n,i,s;bE.init(r,e),on.init(r,e);let t=r._zod.bag;r.format=(n=t.format)!=null?n:null,r.minLength=(i=t.minimum)!=null?i:null,r.maxLength=(s=t.maximum)!=null?s:null,r.regex=(...a)=>r.check(MY(...a)),r.includes=(...a)=>r.check(NY(...a)),r.startsWith=(...a)=>r.check(RY(...a)),r.endsWith=(...a)=>r.check(OY(...a)),r.min=(...a)=>r.check(Vv(...a)),r.max=(...a)=>r.check(sN(...a)),r.length=(...a)=>r.check(aN(...a)),r.nonempty=(...a)=>r.check(Vv(1,...a)),r.lowercase=a=>r.check(AY(a)),r.uppercase=a=>r.check(IY(a)),r.trim=()=>r.check(FY()),r.normalize=(...a)=>r.check(LY(...a)),r.toLowerCase=()=>r.check($Y()),r.toUpperCase=()=>r.check(jY())}),mlt=U("ZodString",(r,e)=>{bE.init(r,e),CPe.init(r,e),r.email=t=>r.check(nY(flt,t)),r.url=t=>r.check(lY(hlt,t)),r.jwt=t=>r.check(SY(Mlt,t)),r.emoji=t=>r.check(cY(glt,t)),r.guid=t=>r.check(tN(xPe,t)),r.uuid=t=>r.check(iY(uN,t)),r.uuidv4=t=>r.check(sY(uN,t)),r.uuidv6=t=>r.check(aY(uN,t)),r.uuidv7=t=>r.check(oY(uN,t)),r.nanoid=t=>r.check(dY(ylt,t)),r.guid=t=>r.check(tN(xPe,t)),r.cuid=t=>r.check(uY(vlt,t)),r.cuid2=t=>r.check(pY(blt,t)),r.ulid=t=>r.check(mY(Tlt,t)),r.base64=t=>r.check(TY(Clt,t)),r.base64url=t=>r.check(kY(Plt,t)),r.xid=t=>r.check(fY(klt,t)),r.ksuid=t=>r.check(hY(wlt,t)),r.ipv4=t=>r.check(gY(Slt,t)),r.ipv6=t=>r.check(yY(xlt,t)),r.cidrv4=t=>r.check(vY(Elt,t)),r.cidrv6=t=>r.check(bY(Dlt,t)),r.e164=t=>r.check(wY(_lt,t)),r.datetime=t=>r.check(YY(t)),r.date=t=>r.check(GY(t)),r.time=t=>r.check(KY(t)),r.duration=t=>r.check(ZY(t))});Kr=U("ZodStringFormat",(r,e)=>{Or.init(r,e),CPe.init(r,e)}),flt=U("ZodEmail",(r,e)=>{y6.init(r,e),Kr.init(r,e)}),xPe=U("ZodGUID",(r,e)=>{h6.init(r,e),Kr.init(r,e)}),uN=U("ZodUUID",(r,e)=>{g6.init(r,e),Kr.init(r,e)}),hlt=U("ZodURL",(r,e)=>{v6.init(r,e),Kr.init(r,e)}),glt=U("ZodEmoji",(r,e)=>{b6.init(r,e),Kr.init(r,e)}),ylt=U("ZodNanoID",(r,e)=>{T6.init(r,e),Kr.init(r,e)}),vlt=U("ZodCUID",(r,e)=>{k6.init(r,e),Kr.init(r,e)}),blt=U("ZodCUID2",(r,e)=>{w6.init(r,e),Kr.init(r,e)}),Tlt=U("ZodULID",(r,e)=>{S6.init(r,e),Kr.init(r,e)}),klt=U("ZodXID",(r,e)=>{x6.init(r,e),Kr.init(r,e)}),wlt=U("ZodKSUID",(r,e)=>{E6.init(r,e),Kr.init(r,e)}),Slt=U("ZodIPv4",(r,e)=>{D6.init(r,e),Kr.init(r,e)}),xlt=U("ZodIPv6",(r,e)=>{C6.init(r,e),Kr.init(r,e)}),Elt=U("ZodCIDRv4",(r,e)=>{P6.init(r,e),Kr.init(r,e)}),Dlt=U("ZodCIDRv6",(r,e)=>{_6.init(r,e),Kr.init(r,e)}),Clt=U("ZodBase64",(r,e)=>{M6.init(r,e),Kr.init(r,e)}),Plt=U("ZodBase64URL",(r,e)=>{A6.init(r,e),Kr.init(r,e)}),_lt=U("ZodE164",(r,e)=>{I6.init(r,e),Kr.init(r,e)}),Mlt=U("ZodJWT",(r,e)=>{N6.init(r,e),Kr.init(r,e)}),PPe=U("ZodNumber",(r,e)=>{var n,i,s,a,o,l,c,d,u;JI.init(r,e),on.init(r,e),r.gt=(p,m)=>r.check(nN(p,m)),r.gte=(p,m)=>r.check(wE(p,m)),r.min=(p,m)=>r.check(wE(p,m)),r.lt=(p,m)=>r.check(rN(p,m)),r.lte=(p,m)=>r.check(kE(p,m)),r.max=(p,m)=>r.check(kE(p,m)),r.int=p=>r.check(EPe(p)),r.safe=p=>r.check(EPe(p)),r.positive=p=>r.check(nN(0,p)),r.nonnegative=p=>r.check(wE(0,p)),r.negative=p=>r.check(rN(0,p)),r.nonpositive=p=>r.check(kE(0,p)),r.multipleOf=(p,m)=>r.check(iN(p,m)),r.step=(p,m)=>r.check(iN(p,m)),r.finite=()=>r;let t=r._zod.bag;r.minValue=(s=Math.max((n=t.minimum)!=null?n:Number.NEGATIVE_INFINITY,(i=t.exclusiveMinimum)!=null?i:Number.NEGATIVE_INFINITY))!=null?s:null,r.maxValue=(l=Math.min((a=t.maximum)!=null?a:Number.POSITIVE_INFINITY,(o=t.exclusiveMaximum)!=null?o:Number.POSITIVE_INFINITY))!=null?l:null,r.isInt=((c=t.format)!=null?c:"").includes("int")||Number.isSafeInteger((d=t.multipleOf)!=null?d:.5),r.isFinite=!0,r.format=(u=t.format)!=null?u:null});Alt=U("ZodNumberFormat",(r,e)=>{R6.init(r,e),PPe.init(r,e)});Ilt=U("ZodBoolean",(r,e)=>{O6.init(r,e),on.init(r,e)});Nlt=U("ZodNull",(r,e)=>{L6.init(r,e),on.init(r,e)});Rlt=U("ZodUnknown",(r,e)=>{F6.init(r,e),on.init(r,e)});Olt=U("ZodNever",(r,e)=>{$6.init(r,e),on.init(r,e)});Flt=U("ZodArray",(r,e)=>{j6.init(r,e),on.init(r,e),r.element=e.element,r.min=(t,n)=>r.check(Vv(t,n)),r.nonempty=t=>r.check(Vv(1,t)),r.max=(t,n)=>r.check(sN(t,n)),r.length=(t,n)=>r.check(aN(t,n)),r.unwrap=()=>r.element});_Pe=U("ZodObject",(r,e)=>{XI.init(r,e),on.init(r,e),Mt.defineLazy(r,"shape",()=>e.shape),r.keyof=()=>Ks(Object.keys(r._zod.def.shape)),r.catchall=t=>r.clone({...r._zod.def,catchall:t}),r.passthrough=()=>r.clone({...r._zod.def,catchall:Zr()}),r.loose=()=>r.clone({...r._zod.def,catchall:Zr()}),r.strict=()=>r.clone({...r._zod.def,catchall:Llt()}),r.strip=()=>r.clone({...r._zod.def,catchall:void 0}),r.extend=t=>Mt.extend(r,t),r.merge=t=>Mt.merge(r,t),r.pick=t=>Mt.pick(r,t),r.omit=t=>Mt.omit(r,t),r.partial=(...t)=>Mt.partial(IPe,r,t[0]),r.required=(...t)=>Mt.required(NPe,r,t[0])});MPe=U("ZodUnion",(r,e)=>{eN.init(r,e),on.init(r,e),r.options=e.options});$lt=U("ZodDiscriminatedUnion",(r,e)=>{MPe.init(r,e),z6.init(r,e)});jlt=U("ZodIntersection",(r,e)=>{B6.init(r,e),on.init(r,e)});zlt=U("ZodRecord",(r,e)=>{q6.init(r,e),on.init(r,e),r.keyType=e.keyType,r.valueType=e.valueType});t5=U("ZodEnum",(r,e)=>{H6.init(r,e),on.init(r,e),r.enum=e.entries,r.options=Object.values(e.entries);let t=new Set(Object.keys(e.entries));r.extract=(n,i)=>{let s={};for(let a of n)if(t.has(a))s[a]=e.entries[a];else throw new Error(`Key ${a} not found in enum`);return new t5({...e,checks:[],...Mt.normalizeParams(i),entries:s})},r.exclude=(n,i)=>{let s={...e.entries};for(let a of n)if(t.has(a))delete s[a];else throw new Error(`Key ${a} not found in enum`);return new t5({...e,checks:[],...Mt.normalizeParams(i),entries:s})}});Blt=U("ZodLiteral",(r,e)=>{U6.init(r,e),on.init(r,e),r.values=new Set(e.values),Object.defineProperty(r,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});qlt=U("ZodTransform",(r,e)=>{V6.init(r,e),on.init(r,e),r._zod.parse=(t,n)=>{t.addIssue=s=>{var a,o,l,c;if(typeof s=="string")t.issues.push(Mt.issue(s,t.value,e));else{let d=s;d.fatal&&(d.continue=!1),(a=d.code)!=null||(d.code="custom"),(o=d.input)!=null||(d.input=t.value),(l=d.inst)!=null||(d.inst=r),(c=d.continue)!=null||(d.continue=!0),t.issues.push(Mt.issue(d))}};let i=e.transform(t.value,t);return i instanceof Promise?i.then(s=>(t.value=s,t)):(t.value=i,t)}});IPe=U("ZodOptional",(r,e)=>{W6.init(r,e),on.init(r,e),r.unwrap=()=>r._zod.def.innerType});Hlt=U("ZodNullable",(r,e)=>{Y6.init(r,e),on.init(r,e),r.unwrap=()=>r._zod.def.innerType});Ult=U("ZodDefault",(r,e)=>{G6.init(r,e),on.init(r,e),r.unwrap=()=>r._zod.def.innerType,r.removeDefault=r.unwrap});Wlt=U("ZodPrefault",(r,e)=>{K6.init(r,e),on.init(r,e),r.unwrap=()=>r._zod.def.innerType});NPe=U("ZodNonOptional",(r,e)=>{Z6.init(r,e),on.init(r,e),r.unwrap=()=>r._zod.def.innerType});Klt=U("ZodCatch",(r,e)=>{Q6.init(r,e),on.init(r,e),r.unwrap=()=>r._zod.def.innerType,r.removeCatch=r.unwrap});Qlt=U("ZodPipe",(r,e)=>{J6.init(r,e),on.init(r,e),r.in=e.in,r.out=e.out});Jlt=U("ZodReadonly",(r,e)=>{X6.init(r,e),on.init(r,e)});RPe=U("ZodCustom",(r,e)=>{eY.init(r,e),on.init(r,e)})});var LPe=v(()=>{});var FPe=v(()=>{JY();WY();XY();e5();LPe();Na();JCe();QY();Aa(QCe())});var $Pe=v(()=>{FPe()});var jPe=v(()=>{$Pe()});function e_e(r){if(r.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${r.params.ref.type}`)}function t_e(r){if(r.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${r.params.ref.type}`)}var o5,zPe,DE,Up,fN,yi,BPe,qPe,Chr,ict,sct,l5,Ra,CE,HPe,vi,bo,To,bi,hN,UPe,Vp,VPe,WPe,c5,tu,Fe,d5,Kv,u5,Phr,gN,act,yN,oct,PE,Gv,YPe,lct,cct,dct,uct,pct,mct,vN,p5,fct,hct,m5,bN,gct,yct,TN,vct,_E,ME,bct,AE,Zv,Tct,IE,kN,wN,SN,_hr,xN,EN,DN,GPe,KPe,ZPe,f5,QPe,NE,Qv,JPe,kct,CN,wct,PN,Sct,h5,xct,_N,Ect,Dct,Cct,Pct,_ct,Mct,Act,Ict,Nct,Rct,MN,Oct,Lct,AN,g5,y5,v5,Fct,$ct,jct,b5,zct,Bct,qct,Hct,Uct,XPe,IN,Vct,NN,Mhr,Wct,Jv,Yct,Ahr,RE,Gct,T5,Kct,Zct,Qct,Jct,Xct,edt,tdt,mN,rdt,ndt,idt,k5,w5,sdt,adt,odt,ldt,cdt,ddt,udt,pdt,mdt,fdt,hdt,gdt,ydt,vdt,bdt,Tdt,kdt,wdt,RN,Sdt,xdt,Edt,ON,Ddt,Cdt,Pdt,S5,_dt,Ihr,Nhr,Rhr,Ohr,Lhr,Fhr,_e,a5,OE=v(()=>{jPe();o5="2025-11-25",zPe="2025-03-26",DE=[o5,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],Up="io.modelcontextprotocol/related-task",fN="2.0",yi=OPe(r=>r!==null&&(typeof r=="object"||typeof r=="function")),BPe=Lr([H(),Tr().int()]),qPe=H(),Chr=ms({ttl:Lr([Tr(),n5()]).optional(),pollInterval:Tr().optional()}),ict=ge({ttl:Tr().optional()}),sct=ge({taskId:H()}),l5=ms({progressToken:BPe.optional(),[Up]:sct.optional()}),Ra=ge({_meta:l5.optional()}),CE=Ra.extend({task:ict.optional()}),HPe=r=>CE.safeParse(r).success,vi=ge({method:H(),params:Ra.loose().optional()}),bo=ge({_meta:l5.optional()}),To=ge({method:H(),params:bo.loose().optional()}),bi=ms({_meta:l5.optional()}),hN=Lr([H(),Tr().int()]),UPe=ge({jsonrpc:Ie(fN),id:hN,...vi.shape}).strict(),Vp=r=>UPe.safeParse(r).success,VPe=ge({jsonrpc:Ie(fN),...To.shape}).strict(),WPe=r=>VPe.safeParse(r).success,c5=ge({jsonrpc:Ie(fN),id:hN,result:bi}).strict(),tu=r=>c5.safeParse(r).success;(function(r){r[r.ConnectionClosed=-32e3]="ConnectionClosed",r[r.RequestTimeout=-32001]="RequestTimeout",r[r.ParseError=-32700]="ParseError",r[r.InvalidRequest=-32600]="InvalidRequest",r[r.MethodNotFound=-32601]="MethodNotFound",r[r.InvalidParams=-32602]="InvalidParams",r[r.InternalError=-32603]="InternalError",r[r.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(Fe||(Fe={}));d5=ge({jsonrpc:Ie(fN),id:hN.optional(),error:ge({code:Tr().int(),message:H(),data:Zr().optional()})}).strict(),Kv=r=>d5.safeParse(r).success,u5=Lr([UPe,VPe,c5,d5]),Phr=Lr([c5,d5]),gN=bi.strict(),act=bo.extend({requestId:hN.optional(),reason:H().optional()}),yN=To.extend({method:Ie("notifications/cancelled"),params:act}),oct=ge({src:H(),mimeType:H().optional(),sizes:Bt(H()).optional(),theme:Ks(["light","dark"]).optional()}),PE=ge({icons:Bt(oct).optional()}),Gv=ge({name:H(),title:H().optional()}),YPe=Gv.extend({...Gv.shape,...PE.shape,version:H(),websiteUrl:H().optional(),description:H().optional()}),lct=pN(ge({applyDefaults:si().optional()}),Qr(H(),Zr())),cct=s5(r=>r&&typeof r=="object"&&!Array.isArray(r)&&Object.keys(r).length===0?{form:{}}:r,pN(ge({form:lct.optional(),url:yi.optional()}),Qr(H(),Zr()).optional())),dct=ms({list:yi.optional(),cancel:yi.optional(),requests:ms({sampling:ms({createMessage:yi.optional()}).optional(),elicitation:ms({create:yi.optional()}).optional()}).optional()}),uct=ms({list:yi.optional(),cancel:yi.optional(),requests:ms({tools:ms({call:yi.optional()}).optional()}).optional()}),pct=ge({experimental:Qr(H(),yi).optional(),sampling:ge({context:yi.optional(),tools:yi.optional()}).optional(),elicitation:cct.optional(),roots:ge({listChanged:si().optional()}).optional(),tasks:dct.optional()}),mct=Ra.extend({protocolVersion:H(),capabilities:pct,clientInfo:YPe}),vN=vi.extend({method:Ie("initialize"),params:mct}),p5=r=>vN.safeParse(r).success,fct=ge({experimental:Qr(H(),yi).optional(),logging:yi.optional(),completions:yi.optional(),prompts:ge({listChanged:si().optional()}).optional(),resources:ge({subscribe:si().optional(),listChanged:si().optional()}).optional(),tools:ge({listChanged:si().optional()}).optional(),tasks:uct.optional()}),hct=bi.extend({protocolVersion:H(),capabilities:fct,serverInfo:YPe,instructions:H().optional()}),m5=To.extend({method:Ie("notifications/initialized"),params:bo.optional()}),bN=vi.extend({method:Ie("ping"),params:Ra.optional()}),gct=ge({progress:Tr(),total:an(Tr()),message:an(H())}),yct=ge({...bo.shape,...gct.shape,progressToken:BPe}),TN=To.extend({method:Ie("notifications/progress"),params:yct}),vct=Ra.extend({cursor:qPe.optional()}),_E=vi.extend({params:vct.optional()}),ME=bi.extend({nextCursor:qPe.optional()}),bct=Ks(["working","input_required","completed","failed","cancelled"]),AE=ge({taskId:H(),status:bct,ttl:Lr([Tr(),n5()]),createdAt:H(),lastUpdatedAt:H(),pollInterval:an(Tr()),statusMessage:an(H())}),Zv=bi.extend({task:AE}),Tct=bo.merge(AE),IE=To.extend({method:Ie("notifications/tasks/status"),params:Tct}),kN=vi.extend({method:Ie("tasks/get"),params:Ra.extend({taskId:H()})}),wN=bi.merge(AE),SN=vi.extend({method:Ie("tasks/result"),params:Ra.extend({taskId:H()})}),_hr=bi.loose(),xN=_E.extend({method:Ie("tasks/list")}),EN=ME.extend({tasks:Bt(AE)}),DN=vi.extend({method:Ie("tasks/cancel"),params:Ra.extend({taskId:H()})}),GPe=bi.merge(AE),KPe=ge({uri:H(),mimeType:an(H()),_meta:Qr(H(),Zr()).optional()}),ZPe=KPe.extend({text:H()}),f5=H().refine(r=>{try{return atob(r),!0}catch(e){return!1}},{message:"Invalid Base64 string"}),QPe=KPe.extend({blob:f5}),NE=Ks(["user","assistant"]),Qv=ge({audience:Bt(NE).optional(),priority:Tr().min(0).max(1).optional(),lastModified:Yv.datetime({offset:!0}).optional()}),JPe=ge({...Gv.shape,...PE.shape,uri:H(),description:an(H()),mimeType:an(H()),annotations:Qv.optional(),_meta:an(ms({}))}),kct=ge({...Gv.shape,...PE.shape,uriTemplate:H(),description:an(H()),mimeType:an(H()),annotations:Qv.optional(),_meta:an(ms({}))}),CN=_E.extend({method:Ie("resources/list")}),wct=ME.extend({resources:Bt(JPe)}),PN=_E.extend({method:Ie("resources/templates/list")}),Sct=ME.extend({resourceTemplates:Bt(kct)}),h5=Ra.extend({uri:H()}),xct=h5,_N=vi.extend({method:Ie("resources/read"),params:xct}),Ect=bi.extend({contents:Bt(Lr([ZPe,QPe]))}),Dct=To.extend({method:Ie("notifications/resources/list_changed"),params:bo.optional()}),Cct=h5,Pct=vi.extend({method:Ie("resources/subscribe"),params:Cct}),_ct=h5,Mct=vi.extend({method:Ie("resources/unsubscribe"),params:_ct}),Act=bo.extend({uri:H()}),Ict=To.extend({method:Ie("notifications/resources/updated"),params:Act}),Nct=ge({name:H(),description:an(H()),required:an(si())}),Rct=ge({...Gv.shape,...PE.shape,description:an(H()),arguments:an(Bt(Nct)),_meta:an(ms({}))}),MN=_E.extend({method:Ie("prompts/list")}),Oct=ME.extend({prompts:Bt(Rct)}),Lct=Ra.extend({name:H(),arguments:Qr(H(),H()).optional()}),AN=vi.extend({method:Ie("prompts/get"),params:Lct}),g5=ge({type:Ie("text"),text:H(),annotations:Qv.optional(),_meta:Qr(H(),Zr()).optional()}),y5=ge({type:Ie("image"),data:f5,mimeType:H(),annotations:Qv.optional(),_meta:Qr(H(),Zr()).optional()}),v5=ge({type:Ie("audio"),data:f5,mimeType:H(),annotations:Qv.optional(),_meta:Qr(H(),Zr()).optional()}),Fct=ge({type:Ie("tool_use"),name:H(),id:H(),input:Qr(H(),Zr()),_meta:Qr(H(),Zr()).optional()}),$ct=ge({type:Ie("resource"),resource:Lr([ZPe,QPe]),annotations:Qv.optional(),_meta:Qr(H(),Zr()).optional()}),jct=JPe.extend({type:Ie("resource_link")}),b5=Lr([g5,y5,v5,jct,$ct]),zct=ge({role:NE,content:b5}),Bct=bi.extend({description:H().optional(),messages:Bt(zct)}),qct=To.extend({method:Ie("notifications/prompts/list_changed"),params:bo.optional()}),Hct=ge({title:H().optional(),readOnlyHint:si().optional(),destructiveHint:si().optional(),idempotentHint:si().optional(),openWorldHint:si().optional()}),Uct=ge({taskSupport:Ks(["required","optional","forbidden"]).optional()}),XPe=ge({...Gv.shape,...PE.shape,description:H().optional(),inputSchema:ge({type:Ie("object"),properties:Qr(H(),yi).optional(),required:Bt(H()).optional()}).catchall(Zr()),outputSchema:ge({type:Ie("object"),properties:Qr(H(),yi).optional(),required:Bt(H()).optional()}).catchall(Zr()).optional(),annotations:Hct.optional(),execution:Uct.optional(),_meta:Qr(H(),Zr()).optional()}),IN=_E.extend({method:Ie("tools/list")}),Vct=ME.extend({tools:Bt(XPe)}),NN=bi.extend({content:Bt(b5).default([]),structuredContent:Qr(H(),Zr()).optional(),isError:si().optional()}),Mhr=NN.or(bi.extend({toolResult:Zr()})),Wct=CE.extend({name:H(),arguments:Qr(H(),Zr()).optional()}),Jv=vi.extend({method:Ie("tools/call"),params:Wct}),Yct=To.extend({method:Ie("notifications/tools/list_changed"),params:bo.optional()}),Ahr=ge({autoRefresh:si().default(!0),debounceMs:Tr().int().nonnegative().default(300)}),RE=Ks(["debug","info","notice","warning","error","critical","alert","emergency"]),Gct=Ra.extend({level:RE}),T5=vi.extend({method:Ie("logging/setLevel"),params:Gct}),Kct=bo.extend({level:RE,logger:H().optional(),data:Zr()}),Zct=To.extend({method:Ie("notifications/message"),params:Kct}),Qct=ge({name:H().optional()}),Jct=ge({hints:Bt(Qct).optional(),costPriority:Tr().min(0).max(1).optional(),speedPriority:Tr().min(0).max(1).optional(),intelligencePriority:Tr().min(0).max(1).optional()}),Xct=ge({mode:Ks(["auto","required","none"]).optional()}),edt=ge({type:Ie("tool_result"),toolUseId:H().describe("The unique identifier for the corresponding tool call."),content:Bt(b5).default([]),structuredContent:ge({}).loose().optional(),isError:si().optional(),_meta:Qr(H(),Zr()).optional()}),tdt=i5("type",[g5,y5,v5]),mN=i5("type",[g5,y5,v5,Fct,edt]),rdt=ge({role:NE,content:Lr([mN,Bt(mN)]),_meta:Qr(H(),Zr()).optional()}),ndt=CE.extend({messages:Bt(rdt),modelPreferences:Jct.optional(),systemPrompt:H().optional(),includeContext:Ks(["none","thisServer","allServers"]).optional(),temperature:Tr().optional(),maxTokens:Tr().int(),stopSequences:Bt(H()).optional(),metadata:yi.optional(),tools:Bt(XPe).optional(),toolChoice:Xct.optional()}),idt=vi.extend({method:Ie("sampling/createMessage"),params:ndt}),k5=bi.extend({model:H(),stopReason:an(Ks(["endTurn","stopSequence","maxTokens"]).or(H())),role:NE,content:tdt}),w5=bi.extend({model:H(),stopReason:an(Ks(["endTurn","stopSequence","maxTokens","toolUse"]).or(H())),role:NE,content:Lr([mN,Bt(mN)])}),sdt=ge({type:Ie("boolean"),title:H().optional(),description:H().optional(),default:si().optional()}),adt=ge({type:Ie("string"),title:H().optional(),description:H().optional(),minLength:Tr().optional(),maxLength:Tr().optional(),format:Ks(["email","uri","date","date-time"]).optional(),default:H().optional()}),odt=ge({type:Ks(["number","integer"]),title:H().optional(),description:H().optional(),minimum:Tr().optional(),maximum:Tr().optional(),default:Tr().optional()}),ldt=ge({type:Ie("string"),title:H().optional(),description:H().optional(),enum:Bt(H()),default:H().optional()}),cdt=ge({type:Ie("string"),title:H().optional(),description:H().optional(),oneOf:Bt(ge({const:H(),title:H()})),default:H().optional()}),ddt=ge({type:Ie("string"),title:H().optional(),description:H().optional(),enum:Bt(H()),enumNames:Bt(H()).optional(),default:H().optional()}),udt=Lr([ldt,cdt]),pdt=ge({type:Ie("array"),title:H().optional(),description:H().optional(),minItems:Tr().optional(),maxItems:Tr().optional(),items:ge({type:Ie("string"),enum:Bt(H())}),default:Bt(H()).optional()}),mdt=ge({type:Ie("array"),title:H().optional(),description:H().optional(),minItems:Tr().optional(),maxItems:Tr().optional(),items:ge({anyOf:Bt(ge({const:H(),title:H()}))}),default:Bt(H()).optional()}),fdt=Lr([pdt,mdt]),hdt=Lr([ddt,udt,fdt]),gdt=Lr([hdt,sdt,adt,odt]),ydt=CE.extend({mode:Ie("form").optional(),message:H(),requestedSchema:ge({type:Ie("object"),properties:Qr(H(),gdt),required:Bt(H()).optional()})}),vdt=CE.extend({mode:Ie("url"),message:H(),elicitationId:H(),url:H().url()}),bdt=Lr([ydt,vdt]),Tdt=vi.extend({method:Ie("elicitation/create"),params:bdt}),kdt=bo.extend({elicitationId:H()}),wdt=To.extend({method:Ie("notifications/elicitation/complete"),params:kdt}),RN=bi.extend({action:Ks(["accept","decline","cancel"]),content:s5(r=>r===null?void 0:r,Qr(H(),Lr([H(),Tr(),si(),Bt(H())])).optional())}),Sdt=ge({type:Ie("ref/resource"),uri:H()}),xdt=ge({type:Ie("ref/prompt"),name:H()}),Edt=Ra.extend({ref:Lr([xdt,Sdt]),argument:ge({name:H(),value:H()}),context:ge({arguments:Qr(H(),H()).optional()}).optional()}),ON=vi.extend({method:Ie("completion/complete"),params:Edt});Ddt=bi.extend({completion:ms({values:Bt(H()).max(100),total:an(Tr().int()),hasMore:an(si())})}),Cdt=ge({uri:H().startsWith("file://"),name:H().optional(),_meta:Qr(H(),Zr()).optional()}),Pdt=vi.extend({method:Ie("roots/list"),params:Ra.optional()}),S5=bi.extend({roots:Bt(Cdt)}),_dt=To.extend({method:Ie("notifications/roots/list_changed"),params:bo.optional()}),Ihr=Lr([bN,vN,ON,T5,AN,MN,CN,PN,_N,Pct,Mct,Jv,IN,kN,SN,xN,DN]),Nhr=Lr([yN,TN,m5,_dt,IE]),Rhr=Lr([gN,k5,w5,RN,S5,wN,EN,Zv]),Ohr=Lr([bN,idt,Tdt,Pdt,kN,SN,xN,DN]),Lhr=Lr([yN,TN,Zct,Ict,Dct,Yct,qct,IE,wdt]),Fhr=Lr([gN,hct,Ddt,Bct,Oct,wct,Sct,Ect,NN,Vct,wN,EN,Zv]),_e=class r extends Error{constructor(e,t,n){super(`MCP error ${e}: ${t}`),this.code=e,this.data=n,this.name="McpError"}static fromError(e,t,n){if(e===Fe.UrlElicitationRequired&&n){let i=n;if(i.elicitations)return new a5(i.elicitations,t)}return new r(e,t,n)}},a5=class extends _e{constructor(e,t=`URL elicitation${e.length>1?"s":""} required`){super(Fe.UrlElicitationRequired,t,{elicitations:e})}get elicitations(){var e,t;return(t=(e=this.data)==null?void 0:e.elicitations)!=null?t:[]}}});function Wp(r){return r==="completed"||r==="failed"||r==="cancelled"}var r_e=v(()=>{});var i_e,n_e,s_e,LN=v(()=>{i_e=Symbol("Let zodToJsonSchema decide on which parser to use"),n_e={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},s_e=r=>typeof r=="string"?{...n_e,name:r}:{...n_e,...r}});var a_e,x5=v(()=>{LN();a_e=r=>{let e=s_e(r),t=e.name!==void 0?[...e.basePath,e.definitionPath,e.name]:e.basePath;return{...e,flags:{hasReferencedOpenAiAnyType:!1},currentPath:t,propertyPath:void 0,seen:new Map(Object.entries(e.definitions).map(([n,i])=>[i._def,{def:i._def,path:[...e.basePath,e.definitionPath,n],jsonSchema:void 0}]))}}});function E5(r,e,t,n){n!=null&&n.errorMessages&&t&&(r.errorMessage={...r.errorMessage,[e]:t})}function qt(r,e,t,n,i){r[e]=t,E5(r,e,n,i)}var Yp=v(()=>{});var FN,$N=v(()=>{FN=(r,e)=>{let t=0;for(;t<r.length&&t<e.length&&r[t]===e[t];t++);return[(r.length-t).toString(),...e.slice(t)].join("/")}});function Jr(r){if(r.target!=="openAi")return{};let e=[...r.basePath,r.definitionPath,r.openAiAnyTypeName];return r.flags.hasReferencedOpenAiAnyType=!0,{$ref:r.$refStrategy==="relative"?FN(e,r.currentPath):e.join("/")}}var ko=v(()=>{$N()});function o_e(r,e){var n,i,s;let t={type:"array"};return(n=r.type)!=null&&n._def&&((s=(i=r.type)==null?void 0:i._def)==null?void 0:s.typeName)!==re.ZodAny&&(t.items=Ge(r.type._def,{...e,currentPath:[...e.currentPath,"items"]})),r.minLength&&qt(t,"minItems",r.minLength.value,r.minLength.message,e),r.maxLength&&qt(t,"maxItems",r.maxLength.value,r.maxLength.message,e),r.exactLength&&(qt(t,"minItems",r.exactLength.value,r.exactLength.message,e),qt(t,"maxItems",r.exactLength.value,r.exactLength.message,e)),t}var D5=v(()=>{dE();Yp();Nn()});function l_e(r,e){let t={type:"integer",format:"int64"};if(!r.checks)return t;for(let n of r.checks)switch(n.kind){case"min":e.target==="jsonSchema7"?n.inclusive?qt(t,"minimum",n.value,n.message,e):qt(t,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(t.exclusiveMinimum=!0),qt(t,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?qt(t,"maximum",n.value,n.message,e):qt(t,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(t.exclusiveMaximum=!0),qt(t,"maximum",n.value,n.message,e));break;case"multipleOf":qt(t,"multipleOf",n.value,n.message,e);break}return t}var C5=v(()=>{Yp()});function c_e(){return{type:"boolean"}}var P5=v(()=>{});function jN(r,e){return Ge(r.type._def,e)}var zN=v(()=>{Nn()});var d_e,_5=v(()=>{Nn();d_e=(r,e)=>Ge(r.innerType._def,e)});function M5(r,e,t){let n=t!=null?t:e.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((i,s)=>M5(r,e,i))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return Mdt(r,e)}}var Mdt,A5=v(()=>{Yp();Mdt=(r,e)=>{let t={type:"integer",format:"unix-time"};if(e.target==="openApi3")return t;for(let n of r.checks)switch(n.kind){case"min":qt(t,"minimum",n.value,n.message,e);break;case"max":qt(t,"maximum",n.value,n.message,e);break}return t}});function u_e(r,e){return{...Ge(r.innerType._def,e),default:r.defaultValue()}}var I5=v(()=>{Nn()});function p_e(r,e){return e.effectStrategy==="input"?Ge(r.schema._def,e):Jr(e)}var N5=v(()=>{Nn();ko()});function m_e(r){return{type:"string",enum:Array.from(r.values)}}var R5=v(()=>{});function f_e(r,e){let t=[Ge(r.left._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),Ge(r.right._def,{...e,currentPath:[...e.currentPath,"allOf","1"]})].filter(s=>!!s),n=e.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,i=[];return t.forEach(s=>{if(Adt(s))i.push(...s.allOf),s.unevaluatedProperties===void 0&&(n=void 0);else{let a=s;if("additionalProperties"in s&&s.additionalProperties===!1){let{additionalProperties:o,...l}=s;a=l}else n=void 0;i.push(a)}}),i.length?{allOf:i,...n}:void 0}var Adt,O5=v(()=>{Nn();Adt=r=>"type"in r&&r.type==="string"?!1:"allOf"in r});function h_e(r,e){let t=typeof r.value;return t!=="bigint"&&t!=="number"&&t!=="boolean"&&t!=="string"?{type:Array.isArray(r.value)?"array":"object"}:e.target==="openApi3"?{type:t==="bigint"?"integer":t,enum:[r.value]}:{type:t==="bigint"?"integer":t,const:r.value}}var L5=v(()=>{});function BN(r,e){let t={type:"string"};if(r.checks)for(let n of r.checks)switch(n.kind){case"min":qt(t,"minLength",typeof t.minLength=="number"?Math.max(t.minLength,n.value):n.value,n.message,e);break;case"max":qt(t,"maxLength",typeof t.maxLength=="number"?Math.min(t.maxLength,n.value):n.value,n.message,e);break;case"email":switch(e.emailStrategy){case"format:email":dl(t,"email",n.message,e);break;case"format:idn-email":dl(t,"idn-email",n.message,e);break;case"pattern:zod":fs(t,cl.email,n.message,e);break}break;case"url":dl(t,"uri",n.message,e);break;case"uuid":dl(t,"uuid",n.message,e);break;case"regex":fs(t,n.regex,n.message,e);break;case"cuid":fs(t,cl.cuid,n.message,e);break;case"cuid2":fs(t,cl.cuid2,n.message,e);break;case"startsWith":fs(t,RegExp(`^${$5(n.value,e)}`),n.message,e);break;case"endsWith":fs(t,RegExp(`${$5(n.value,e)}$`),n.message,e);break;case"datetime":dl(t,"date-time",n.message,e);break;case"date":dl(t,"date",n.message,e);break;case"time":dl(t,"time",n.message,e);break;case"duration":dl(t,"duration",n.message,e);break;case"length":qt(t,"minLength",typeof t.minLength=="number"?Math.max(t.minLength,n.value):n.value,n.message,e),qt(t,"maxLength",typeof t.maxLength=="number"?Math.min(t.maxLength,n.value):n.value,n.message,e);break;case"includes":{fs(t,RegExp($5(n.value,e)),n.message,e);break}case"ip":{n.version!=="v6"&&dl(t,"ipv4",n.message,e),n.version!=="v4"&&dl(t,"ipv6",n.message,e);break}case"base64url":fs(t,cl.base64url,n.message,e);break;case"jwt":fs(t,cl.jwt,n.message,e);break;case"cidr":{n.version!=="v6"&&fs(t,cl.ipv4Cidr,n.message,e),n.version!=="v4"&&fs(t,cl.ipv6Cidr,n.message,e);break}case"emoji":fs(t,cl.emoji(),n.message,e);break;case"ulid":{fs(t,cl.ulid,n.message,e);break}case"base64":{switch(e.base64Strategy){case"format:binary":{dl(t,"binary",n.message,e);break}case"contentEncoding:base64":{qt(t,"contentEncoding","base64",n.message,e);break}case"pattern:zod":{fs(t,cl.base64,n.message,e);break}}break}case"nanoid":fs(t,cl.nanoid,n.message,e);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return t}function $5(r,e){return e.patternStrategy==="escape"?Ndt(r):r}function Ndt(r){let e="";for(let t=0;t<r.length;t++)Idt.has(r[t])||(e+="\\"),e+=r[t];return e}function dl(r,e,t,n){var i;r.format||(i=r.anyOf)!=null&&i.some(s=>s.format)?(r.anyOf||(r.anyOf=[]),r.format&&(r.anyOf.push({format:r.format,...r.errorMessage&&n.errorMessages&&{errorMessage:{format:r.errorMessage.format}}}),delete r.format,r.errorMessage&&(delete r.errorMessage.format,Object.keys(r.errorMessage).length===0&&delete r.errorMessage)),r.anyOf.push({format:e,...t&&n.errorMessages&&{errorMessage:{format:t}}})):qt(r,"format",e,t,n)}function fs(r,e,t,n){var i;r.pattern||(i=r.allOf)!=null&&i.some(s=>s.pattern)?(r.allOf||(r.allOf=[]),r.pattern&&(r.allOf.push({pattern:r.pattern,...r.errorMessage&&n.errorMessages&&{errorMessage:{pattern:r.errorMessage.pattern}}}),delete r.pattern,r.errorMessage&&(delete r.errorMessage.pattern,Object.keys(r.errorMessage).length===0&&delete r.errorMessage)),r.allOf.push({pattern:g_e(e,n),...t&&n.errorMessages&&{errorMessage:{pattern:t}}})):qt(r,"pattern",g_e(e,n),t,n)}function g_e(r,e){var l;if(!e.applyRegexFlags||!r.flags)return r.source;let t={i:r.flags.includes("i"),m:r.flags.includes("m"),s:r.flags.includes("s")},n=t.i?r.source.toLowerCase():r.source,i="",s=!1,a=!1,o=!1;for(let c=0;c<n.length;c++){if(s){i+=n[c],s=!1;continue}if(t.i){if(a){if(n[c].match(/[a-z]/)){o?(i+=n[c],i+=`${n[c-2]}-${n[c]}`.toUpperCase(),o=!1):n[c+1]==="-"&&((l=n[c+2])!=null&&l.match(/[a-z]/))?(i+=n[c],o=!0):i+=`${n[c]}${n[c].toUpperCase()}`;continue}}else if(n[c].match(/[a-z]/)){i+=`[${n[c]}${n[c].toUpperCase()}]`;continue}}if(t.m){if(n[c]==="^"){i+=`(^|(?<=[\r
]))`;continue}else if(n[c]==="$"){i+=`($|(?=[\r
]))`;continue}}if(t.s&&n[c]==="."){i+=a?`${n[c]}\r
`:`[${n[c]}\r
]`;continue}i+=n[c],n[c]==="\\"?s=!0:a&&n[c]==="]"?a=!1:!a&&n[c]==="["&&(a=!0)}try{new RegExp(i)}catch(c){return console.warn(`Could not convert regex pattern at ${e.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),r.source}return i}var F5,cl,Idt,qN=v(()=>{Yp();cl={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(F5===void 0&&(F5=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),F5),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};Idt=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789")});function HN(r,e){var n,i,s,a,o,l,c;if(e.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),e.target==="openApi3"&&((n=r.keyType)==null?void 0:n._def.typeName)===re.ZodEnum)return{type:"object",required:r.keyType._def.values,properties:r.keyType._def.values.reduce((d,u)=>{var p;return{...d,[u]:(p=Ge(r.valueType._def,{...e,currentPath:[...e.currentPath,"properties",u]}))!=null?p:Jr(e)}},{}),additionalProperties:e.rejectedAdditionalProperties};let t={type:"object",additionalProperties:(i=Ge(r.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]}))!=null?i:e.allowedAdditionalProperties};if(e.target==="openApi3")return t;if(((s=r.keyType)==null?void 0:s._def.typeName)===re.ZodString&&((a=r.keyType._def.checks)!=null&&a.length)){let{type:d,...u}=BN(r.keyType._def,e);return{...t,propertyNames:u}}else{if(((o=r.keyType)==null?void 0:o._def.typeName)===re.ZodEnum)return{...t,propertyNames:{enum:r.keyType._def.values}};if(((l=r.keyType)==null?void 0:l._def.typeName)===re.ZodBranded&&r.keyType._def.type._def.typeName===re.ZodString&&((c=r.keyType._def.type._def.checks)!=null&&c.length)){let{type:d,...u}=jN(r.keyType._def,e);return{...t,propertyNames:u}}}return t}var UN=v(()=>{dE();Nn();qN();zN();ko()});function y_e(r,e){if(e.mapStrategy==="record")return HN(r,e);let t=Ge(r.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||Jr(e),n=Ge(r.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||Jr(e);return{type:"array",maxItems:125,items:{type:"array",items:[t,n],minItems:2,maxItems:2}}}var j5=v(()=>{Nn();UN();ko()});function v_e(r){let e=r.values,n=Object.keys(r.values).filter(s=>typeof e[e[s]]!="number").map(s=>e[s]),i=Array.from(new Set(n.map(s=>typeof s)));return{type:i.length===1?i[0]==="string"?"string":"number":["string","number"],enum:n}}var z5=v(()=>{});function b_e(r){return r.target==="openAi"?void 0:{not:Jr({...r,currentPath:[...r.currentPath,"not"]})}}var B5=v(()=>{ko()});function T_e(r){return r.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var q5=v(()=>{});function w_e(r,e){if(e.target==="openApi3")return k_e(r,e);let t=r.options instanceof Map?Array.from(r.options.values()):r.options;if(t.every(n=>n._def.typeName in LE&&(!n._def.checks||!n._def.checks.length))){let n=t.reduce((i,s)=>{let a=LE[s._def.typeName];return a&&!i.includes(a)?[...i,a]:i},[]);return{type:n.length>1?n:n[0]}}else if(t.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=t.reduce((i,s)=>{let a=typeof s._def.value;switch(a){case"string":case"number":case"boolean":return[...i,a];case"bigint":return[...i,"integer"];case"object":if(s._def.value===null)return[...i,"null"];case"symbol":case"undefined":case"function":default:return i}},[]);if(n.length===t.length){let i=n.filter((s,a,o)=>o.indexOf(s)===a);return{type:i.length>1?i:i[0],enum:t.reduce((s,a)=>s.includes(a._def.value)?s:[...s,a._def.value],[])}}}else if(t.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:t.reduce((n,i)=>[...n,...i._def.values.filter(s=>!n.includes(s))],[])};return k_e(r,e)}var LE,k_e,VN=v(()=>{Nn();LE={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};k_e=(r,e)=>{let t=(r.options instanceof Map?Array.from(r.options.values()):r.options).map((n,i)=>Ge(n._def,{...e,currentPath:[...e.currentPath,"anyOf",`${i}`]})).filter(n=>!!n&&(!e.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return t.length?{anyOf:t}:void 0}});function S_e(r,e){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(r.innerType._def.typeName)&&(!r.innerType._def.checks||!r.innerType._def.checks.length))return e.target==="openApi3"?{type:LE[r.innerType._def.typeName],nullable:!0}:{type:[LE[r.innerType._def.typeName],"null"]};if(e.target==="openApi3"){let n=Ge(r.innerType._def,{...e,currentPath:[...e.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let t=Ge(r.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return t&&{anyOf:[t,{type:"null"}]}}var H5=v(()=>{Nn();VN()});function x_e(r,e){let t={type:"number"};if(!r.checks)return t;for(let n of r.checks)switch(n.kind){case"int":t.type="integer",E5(t,"type",n.message,e);break;case"min":e.target==="jsonSchema7"?n.inclusive?qt(t,"minimum",n.value,n.message,e):qt(t,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(t.exclusiveMinimum=!0),qt(t,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?qt(t,"maximum",n.value,n.message,e):qt(t,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(t.exclusiveMaximum=!0),qt(t,"maximum",n.value,n.message,e));break;case"multipleOf":qt(t,"multipleOf",n.value,n.message,e);break}return t}var U5=v(()=>{Yp()});function E_e(r,e){let t=e.target==="openAi",n={type:"object",properties:{}},i=[],s=r.shape();for(let o in s){let l=s[o];if(l===void 0||l._def===void 0)continue;let c=Odt(l);c&&t&&(l._def.typeName==="ZodOptional"&&(l=l._def.innerType),l.isNullable()||(l=l.nullable()),c=!1);let d=Ge(l._def,{...e,currentPath:[...e.currentPath,"properties",o],propertyPath:[...e.currentPath,"properties",o]});d!==void 0&&(n.properties[o]=d,c||i.push(o))}i.length&&(n.required=i);let a=Rdt(r,e);return a!==void 0&&(n.additionalProperties=a),n}function Rdt(r,e){if(r.catchall._def.typeName!=="ZodNever")return Ge(r.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]});switch(r.unknownKeys){case"passthrough":return e.allowedAdditionalProperties;case"strict":return e.rejectedAdditionalProperties;case"strip":return e.removeAdditionalStrategy==="strict"?e.allowedAdditionalProperties:e.rejectedAdditionalProperties}}function Odt(r){try{return r.isOptional()}catch(e){return!0}}var V5=v(()=>{Nn()});var D_e,W5=v(()=>{Nn();ko();D_e=(r,e)=>{var n;if(e.currentPath.toString()===((n=e.propertyPath)==null?void 0:n.toString()))return Ge(r.innerType._def,e);let t=Ge(r.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]});return t?{anyOf:[{not:Jr(e)},t]}:Jr(e)}});var C_e,Y5=v(()=>{Nn();C_e=(r,e)=>{if(e.pipeStrategy==="input")return Ge(r.in._def,e);if(e.pipeStrategy==="output")return Ge(r.out._def,e);let t=Ge(r.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),n=Ge(r.out._def,{...e,currentPath:[...e.currentPath,"allOf",t?"1":"0"]});return{allOf:[t,n].filter(i=>i!==void 0)}}});function P_e(r,e){return Ge(r.type._def,e)}var G5=v(()=>{Nn()});function __e(r,e){let n={type:"array",uniqueItems:!0,items:Ge(r.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return r.minSize&&qt(n,"minItems",r.minSize.value,r.minSize.message,e),r.maxSize&&qt(n,"maxItems",r.maxSize.value,r.maxSize.message,e),n}var K5=v(()=>{Yp();Nn()});function M_e(r,e){return r.rest?{type:"array",minItems:r.items.length,items:r.items.map((t,n)=>Ge(t._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((t,n)=>n===void 0?t:[...t,n],[]),additionalItems:Ge(r.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:r.items.length,maxItems:r.items.length,items:r.items.map((t,n)=>Ge(t._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((t,n)=>n===void 0?t:[...t,n],[])}}var Z5=v(()=>{Nn()});function A_e(r){return{not:Jr(r)}}var Q5=v(()=>{ko()});function I_e(r){return Jr(r)}var J5=v(()=>{ko()});var N_e,X5=v(()=>{Nn();N_e=(r,e)=>Ge(r.innerType._def,e)});var R_e,e8=v(()=>{dE();ko();D5();C5();P5();zN();_5();A5();I5();N5();R5();O5();L5();j5();z5();B5();q5();H5();U5();V5();W5();Y5();G5();UN();K5();qN();Z5();Q5();VN();J5();X5();R_e=(r,e,t)=>{switch(e){case re.ZodString:return BN(r,t);case re.ZodNumber:return x_e(r,t);case re.ZodObject:return E_e(r,t);case re.ZodBigInt:return l_e(r,t);case re.ZodBoolean:return c_e();case re.ZodDate:return M5(r,t);case re.ZodUndefined:return A_e(t);case re.ZodNull:return T_e(t);case re.ZodArray:return o_e(r,t);case re.ZodUnion:case re.ZodDiscriminatedUnion:return w_e(r,t);case re.ZodIntersection:return f_e(r,t);case re.ZodTuple:return M_e(r,t);case re.ZodRecord:return HN(r,t);case re.ZodLiteral:return h_e(r,t);case re.ZodEnum:return m_e(r);case re.ZodNativeEnum:return v_e(r);case re.ZodNullable:return S_e(r,t);case re.ZodOptional:return D_e(r,t);case re.ZodMap:return y_e(r,t);case re.ZodSet:return __e(r,t);case re.ZodLazy:return()=>r.getter()._def;case re.ZodPromise:return P_e(r,t);case re.ZodNaN:case re.ZodNever:return b_e(t);case re.ZodEffects:return p_e(r,t);case re.ZodAny:return Jr(t);case re.ZodUnknown:return I_e(t);case re.ZodDefault:return u_e(r,t);case re.ZodBranded:return jN(r,t);case re.ZodReadonly:return N_e(r,t);case re.ZodCatch:return d_e(r,t);case re.ZodPipeline:return C_e(r,t);case re.ZodFunction:case re.ZodVoid:case re.ZodSymbol:return;default:return(n=>{})(e)}}});function Ge(r,e,t=!1){var o;let n=e.seen.get(r);if(e.override){let l=(o=e.override)==null?void 0:o.call(e,r,e,n,t);if(l!==i_e)return l}if(n&&!t){let l=Ldt(n,e);if(l!==void 0)return l}let i={def:r,path:e.currentPath,jsonSchema:void 0};e.seen.set(r,i);let s=R_e(r,r.typeName,e),a=typeof s=="function"?Ge(s(),e):s;if(a&&Fdt(r,e,a),e.postProcess){let l=e.postProcess(a,r,e);return i.jsonSchema=a,l}return i.jsonSchema=a,a}var Ldt,Fdt,Nn=v(()=>{LN();e8();$N();ko();Ldt=(r,e)=>{switch(e.$refStrategy){case"root":return{$ref:r.path.join("/")};case"relative":return{$ref:FN(e.currentPath,r.path)};case"none":case"seen":return r.path.length<e.currentPath.length&&r.path.every((t,n)=>e.currentPath[n]===t)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),Jr(e)):e.$refStrategy==="seen"?Jr(e):void 0}},Fdt=(r,e,t)=>(r.description&&(t.description=r.description,e.markdownDescription&&(t.markdownDescription=r.description)),t)});var O_e=v(()=>{});var t8,r8=v(()=>{Nn();x5();ko();t8=(r,e)=>{var l;let t=a_e(e),n=typeof e=="object"&&e.definitions?Object.entries(e.definitions).reduce((c,[d,u])=>{var p;return{...c,[d]:(p=Ge(u._def,{...t,currentPath:[...t.basePath,t.definitionPath,d]},!0))!=null?p:Jr(t)}},{}):void 0,i=typeof e=="string"?e:(e==null?void 0:e.nameStrategy)==="title"||e==null?void 0:e.name,s=(l=Ge(r._def,i===void 0?t:{...t,currentPath:[...t.basePath,t.definitionPath,i]},!1))!=null?l:Jr(t),a=typeof e=="object"&&e.name!==void 0&&e.nameStrategy==="title"?e.name:void 0;a!==void 0&&(s.title=a),t.flags.hasReferencedOpenAiAnyType&&(n||(n={}),n[t.openAiAnyTypeName]||(n[t.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:t.$refStrategy==="relative"?"1":[...t.basePath,t.definitionPath,t.openAiAnyTypeName].join("/")}}));let o=i===void 0?n?{...s,[t.definitionPath]:n}:s:{$ref:[...t.$refStrategy==="relative"?[]:t.basePath,t.definitionPath,i].join("/"),[t.definitionPath]:{...n,[i]:s}};return t.target==="jsonSchema7"?o.$schema="http://json-schema.org/draft-07/schema#":(t.target==="jsonSchema2019-09"||t.target==="openAi")&&(o.$schema="https://json-schema.org/draft/2019-09/schema#"),t.target==="openAi"&&("anyOf"in o||"oneOf"in o||"allOf"in o||"type"in o&&Array.isArray(o.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),o}});var L_e=v(()=>{LN();x5();Yp();$N();Nn();O_e();ko();D5();C5();P5();zN();_5();A5();I5();N5();R5();O5();L5();j5();z5();B5();q5();H5();U5();V5();W5();Y5();G5();X5();UN();K5();qN();Z5();Q5();VN();J5();e8();r8();r8()});function $dt(r){return!r||r==="jsonSchema7"||r==="draft-7"?"draft-7":r==="jsonSchema2019-09"||r==="draft-2020-12"?"draft-2020-12":"draft-7"}function n8(r,e){var t,n,i;return vo(r)?qY(r,{target:$dt(e==null?void 0:e.target),io:(t=e==null?void 0:e.pipeStrategy)!=null?t:"input"}):t8(r,{strictUnions:(n=e==null?void 0:e.strictUnions)!=null?n:!0,pipeStrategy:(i=e==null?void 0:e.pipeStrategy)!=null?i:"input"})}function i8(r){let e=Hp(r),t=e==null?void 0:e.method;if(!t)throw new Error("Schema is missing a method literal");let n=dN(t);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function s8(r,e){let t=qp(r,e);if(!t.success)throw t.error;return t.data}var a8=v(()=>{VY();xE();L_e()});function F_e(r){return r!==null&&typeof r=="object"&&!Array.isArray(r)}function $_e(r,e){let t={...r};for(let n in e){let i=n,s=e[i];if(s===void 0)continue;let a=t[i];F_e(a)&&F_e(s)?t[i]={...a,...s}:t[i]=s}return t}var jdt,WN,j_e=v(()=>{xE();OE();r_e();a8();jdt=6e4,WN=class{constructor(e){this._options=e,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(yN,t=>{this._oncancel(t)}),this.setNotificationHandler(TN,t=>{this._onprogress(t)}),this.setRequestHandler(bN,t=>({})),this._taskStore=e==null?void 0:e.taskStore,this._taskMessageQueue=e==null?void 0:e.taskMessageQueue,this._taskStore&&(this.setRequestHandler(kN,async(t,n)=>{let i=await this._taskStore.getTask(t.params.taskId,n.sessionId);if(!i)throw new _e(Fe.InvalidParams,"Failed to retrieve task: Task not found");return{...i}}),this.setRequestHandler(SN,async(t,n)=>{let i=async()=>{var o;let s=t.params.taskId;if(this._taskMessageQueue){let l;for(;l=await this._taskMessageQueue.dequeue(s,n.sessionId);){if(l.type==="response"||l.type==="error"){let c=l.message,d=c.id,u=this._requestResolvers.get(d);if(u)if(this._requestResolvers.delete(d),l.type==="response")u(c);else{let p=c,m=new _e(p.error.code,p.error.message,p.error.data);u(m)}else{let p=l.type==="response"?"Response":"Error";this._onerror(new Error(`${p} handler missing for request ${d}`))}continue}await((o=this._transport)==null?void 0:o.send(l.message,{relatedRequestId:n.requestId}))}}let a=await this._taskStore.getTask(s,n.sessionId);if(!a)throw new _e(Fe.InvalidParams,`Task not found: ${s}`);if(!Wp(a.status))return await this._waitForTaskUpdate(s,n.signal),await i();if(Wp(a.status)){let l=await this._taskStore.getTaskResult(s,n.sessionId);return this._clearTaskQueue(s),{...l,_meta:{...l._meta,[Up]:{taskId:s}}}}return await i()};return await i()}),this.setRequestHandler(xN,async(t,n)=>{var i;try{let{tasks:s,nextCursor:a}=await this._taskStore.listTasks((i=t.params)==null?void 0:i.cursor,n.sessionId);return{tasks:s,nextCursor:a,_meta:{}}}catch(s){throw new _e(Fe.InvalidParams,`Failed to list tasks: ${s instanceof Error?s.message:String(s)}`)}}),this.setRequestHandler(DN,async(t,n)=>{try{let i=await this._taskStore.getTask(t.params.taskId,n.sessionId);if(!i)throw new _e(Fe.InvalidParams,`Task not found: ${t.params.taskId}`);if(Wp(i.status))throw new _e(Fe.InvalidParams,`Cannot cancel task in terminal status: ${i.status}`);await this._taskStore.updateTaskStatus(t.params.taskId,"cancelled","Client cancelled task execution.",n.sessionId),this._clearTaskQueue(t.params.taskId);let s=await this._taskStore.getTask(t.params.taskId,n.sessionId);if(!s)throw new _e(Fe.InvalidParams,`Task not found after cancellation: ${t.params.taskId}`);return{_meta:{},...s}}catch(i){throw i instanceof _e?i:new _e(Fe.InvalidRequest,`Failed to cancel task: ${i instanceof Error?i.message:String(i)}`)}}))}async _oncancel(e){if(!e.params.requestId)return;let t=this._requestHandlerAbortControllers.get(e.params.requestId);t==null||t.abort(e.params.reason)}_setupTimeout(e,t,n,i,s=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(i,t),startTime:Date.now(),timeout:t,maxTotalTimeout:n,resetTimeoutOnProgress:s,onTimeout:i})}_resetTimeout(e){let t=this._timeoutInfo.get(e);if(!t)return!1;let n=Date.now()-t.startTime;if(t.maxTotalTimeout&&n>=t.maxTotalTimeout)throw this._timeoutInfo.delete(e),_e.fromError(Fe.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:t.maxTotalTimeout,totalElapsed:n});return clearTimeout(t.timeoutId),t.timeoutId=setTimeout(t.onTimeout,t.timeout),!0}_cleanupTimeout(e){let t=this._timeoutInfo.get(e);t&&(clearTimeout(t.timeoutId),this._timeoutInfo.delete(e))}async connect(e){var s,a,o;if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=e;let t=(s=this.transport)==null?void 0:s.onclose;this._transport.onclose=()=>{t==null||t(),this._onclose()};let n=(a=this.transport)==null?void 0:a.onerror;this._transport.onerror=l=>{n==null||n(l),this._onerror(l)};let i=(o=this._transport)==null?void 0:o.onmessage;this._transport.onmessage=(l,c)=>{i==null||i(l,c),tu(l)||Kv(l)?this._onresponse(l):Vp(l)?this._onrequest(l,c):WPe(l)?this._onnotification(l):this._onerror(new Error(`Unknown message type: ${JSON.stringify(l)}`))},await this._transport.start()}_onclose(){var n;let e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let i of this._requestHandlerAbortControllers.values())i.abort();this._requestHandlerAbortControllers.clear();let t=_e.fromError(Fe.ConnectionClosed,"Connection closed");this._transport=void 0,(n=this.onclose)==null||n.call(this);for(let i of e.values())i(t)}_onerror(e){var t;(t=this.onerror)==null||t.call(this,e)}_onnotification(e){var n;let t=(n=this._notificationHandlers.get(e.method))!=null?n:this.fallbackNotificationHandler;t!==void 0&&Promise.resolve().then(()=>t(e)).catch(i=>this._onerror(new Error(`Uncaught error in notification handler: ${i}`)))}_onrequest(e,t){var d,u,p,m,f;let n=(d=this._requestHandlers.get(e.method))!=null?d:this.fallbackRequestHandler,i=this._transport,s=(m=(p=(u=e.params)==null?void 0:u._meta)==null?void 0:p[Up])==null?void 0:m.taskId;if(n===void 0){let h={jsonrpc:"2.0",id:e.id,error:{code:Fe.MethodNotFound,message:"Method not found"}};s&&this._taskMessageQueue?this._enqueueTaskMessage(s,{type:"error",message:h,timestamp:Date.now()},i==null?void 0:i.sessionId).catch(g=>this._onerror(new Error(`Failed to enqueue error response: ${g}`))):i==null||i.send(h).catch(g=>this._onerror(new Error(`Failed to send an error response: ${g}`)));return}let a=new AbortController;this._requestHandlerAbortControllers.set(e.id,a);let o=HPe(e.params)?e.params.task:void 0,l=this._taskStore?this.requestTaskStore(e,i==null?void 0:i.sessionId):void 0,c={signal:a.signal,sessionId:i==null?void 0:i.sessionId,_meta:(f=e.params)==null?void 0:f._meta,sendNotification:async h=>{if(a.signal.aborted)return;let g={relatedRequestId:e.id};s&&(g.relatedTask={taskId:s}),await this.notification(h,g)},sendRequest:async(h,g,y)=>{var w,S;if(a.signal.aborted)throw new _e(Fe.ConnectionClosed,"Request was cancelled");let k={...y,relatedRequestId:e.id};s&&!k.relatedTask&&(k.relatedTask={taskId:s});let T=(S=(w=k.relatedTask)==null?void 0:w.taskId)!=null?S:s;return T&&l&&await l.updateTaskStatus(T,"input_required"),await this.request(h,g,k)},authInfo:t==null?void 0:t.authInfo,requestId:e.id,requestInfo:t==null?void 0:t.requestInfo,taskId:s,taskStore:l,taskRequestedTtl:o==null?void 0:o.ttl,closeSSEStream:t==null?void 0:t.closeSSEStream,closeStandaloneSSEStream:t==null?void 0:t.closeStandaloneSSEStream};Promise.resolve().then(()=>{o&&this.assertTaskHandlerCapability(e.method)}).then(()=>n(e,c)).then(async h=>{if(a.signal.aborted)return;let g={result:h,jsonrpc:"2.0",id:e.id};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"response",message:g,timestamp:Date.now()},i==null?void 0:i.sessionId):await(i==null?void 0:i.send(g))},async h=>{var y;if(a.signal.aborted)return;let g={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(h.code)?h.code:Fe.InternalError,message:(y=h.message)!=null?y:"Internal error",...h.data!==void 0&&{data:h.data}}};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"error",message:g,timestamp:Date.now()},i==null?void 0:i.sessionId):await(i==null?void 0:i.send(g))}).catch(h=>this._onerror(new Error(`Failed to send response: ${h}`))).finally(()=>{this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:t,...n}=e.params,i=Number(t),s=this._progressHandlers.get(i);if(!s){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let a=this._responseHandlers.get(i),o=this._timeoutInfo.get(i);if(o&&a&&o.resetTimeoutOnProgress)try{this._resetTimeout(i)}catch(l){this._responseHandlers.delete(i),this._progressHandlers.delete(i),this._cleanupTimeout(i),a(l);return}s(n)}_onresponse(e){let t=Number(e.id),n=this._requestResolvers.get(t);if(n){if(this._requestResolvers.delete(t),tu(e))n(e);else{let a=new _e(e.error.code,e.error.message,e.error.data);n(a)}return}let i=this._responseHandlers.get(t);if(i===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(t),this._cleanupTimeout(t);let s=!1;if(tu(e)&&e.result&&typeof e.result=="object"){let a=e.result;if(a.task&&typeof a.task=="object"){let o=a.task;typeof o.taskId=="string"&&(s=!0,this._taskProgressTokens.set(o.taskId,t))}}if(s||this._progressHandlers.delete(t),tu(e))i(e);else{let a=_e.fromError(e.error.code,e.error.message,e.error.data);i(a)}}get transport(){return this._transport}async close(){var e;await((e=this._transport)==null?void 0:e.close())}async*requestStream(e,t,n){var a,o,l,c;let{task:i}=n!=null?n:{};if(!i){try{yield{type:"result",result:await this.request(e,t,n)}}catch(d){yield{type:"error",error:d instanceof _e?d:new _e(Fe.InternalError,String(d))}}return}let s;try{let d=await this.request(e,Zv,n);if(d.task)s=d.task.taskId,yield{type:"taskCreated",task:d.task};else throw new _e(Fe.InternalError,"Task creation did not return a task");for(;;){let u=await this.getTask({taskId:s},n);if(yield{type:"taskStatus",task:u},Wp(u.status)){u.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:s},t,n)}:u.status==="failed"?yield{type:"error",error:new _e(Fe.InternalError,`Task ${s} failed`)}:u.status==="cancelled"&&(yield{type:"error",error:new _e(Fe.InternalError,`Task ${s} was cancelled`)});return}if(u.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:s},t,n)};return}let p=(l=(o=u.pollInterval)!=null?o:(a=this._options)==null?void 0:a.defaultTaskPollInterval)!=null?l:1e3;await new Promise(m=>setTimeout(m,p)),(c=n==null?void 0:n.signal)==null||c.throwIfAborted()}}catch(d){yield{type:"error",error:d instanceof _e?d:new _e(Fe.InternalError,String(d))}}}request(e,t,n){let{relatedRequestId:i,resumptionToken:s,onresumptiontoken:a,task:o,relatedTask:l}=n!=null?n:{};return new Promise((c,d)=>{var k,T,w,S,E,C,D;let u=A=>{d(A)};if(!this._transport){u(new Error("Not connected"));return}if(((k=this._options)==null?void 0:k.enforceStrictCapabilities)===!0)try{this.assertCapabilityForMethod(e.method),o&&this.assertTaskCapability(e.method)}catch(A){u(A);return}(T=n==null?void 0:n.signal)==null||T.throwIfAborted();let p=this._requestMessageId++,m={...e,jsonrpc:"2.0",id:p};n!=null&&n.onprogress&&(this._progressHandlers.set(p,n.onprogress),m.params={...e.params,_meta:{...((w=e.params)==null?void 0:w._meta)||{},progressToken:p}}),o&&(m.params={...m.params,task:o}),l&&(m.params={...m.params,_meta:{...((S=m.params)==null?void 0:S._meta)||{},[Up]:l}});let f=A=>{var V;this._responseHandlers.delete(p),this._progressHandlers.delete(p),this._cleanupTimeout(p),(V=this._transport)==null||V.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:p,reason:String(A)}},{relatedRequestId:i,resumptionToken:s,onresumptiontoken:a}).catch(R=>this._onerror(new Error(`Failed to send cancellation: ${R}`)));let N=A instanceof _e?A:new _e(Fe.RequestTimeout,String(A));d(N)};this._responseHandlers.set(p,A=>{var N;if(!((N=n==null?void 0:n.signal)!=null&&N.aborted)){if(A instanceof Error)return d(A);try{let V=qp(t,A.result);V.success?c(V.data):d(V.error)}catch(V){d(V)}}}),(E=n==null?void 0:n.signal)==null||E.addEventListener("abort",()=>{var A;f((A=n==null?void 0:n.signal)==null?void 0:A.reason)});let h=(C=n==null?void 0:n.timeout)!=null?C:jdt,g=()=>f(_e.fromError(Fe.RequestTimeout,"Request timed out",{timeout:h}));this._setupTimeout(p,h,n==null?void 0:n.maxTotalTimeout,g,(D=n==null?void 0:n.resetTimeoutOnProgress)!=null?D:!1);let y=l==null?void 0:l.taskId;if(y){let A=N=>{let V=this._responseHandlers.get(p);V?V(N):this._onerror(new Error(`Response handler missing for side-channeled request ${p}`))};this._requestResolvers.set(p,A),this._enqueueTaskMessage(y,{type:"request",message:m,timestamp:Date.now()}).catch(N=>{this._cleanupTimeout(p),d(N)})}else this._transport.send(m,{relatedRequestId:i,resumptionToken:s,onresumptiontoken:a}).catch(A=>{this._cleanupTimeout(p),d(A)})})}async getTask(e,t){return this.request({method:"tasks/get",params:e},wN,t)}async getTaskResult(e,t,n){return this.request({method:"tasks/result",params:e},t,n)}async listTasks(e,t){return this.request({method:"tasks/list",params:e},EN,t)}async cancelTask(e,t){return this.request({method:"tasks/cancel",params:e},GPe,t)}async notification(e,t){var o,l,c,d,u;if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(e.method);let n=(o=t==null?void 0:t.relatedTask)==null?void 0:o.taskId;if(n){let p={...e,jsonrpc:"2.0",params:{...e.params,_meta:{...((l=e.params)==null?void 0:l._meta)||{},[Up]:t.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:p,timestamp:Date.now()});return}if(((d=(c=this._options)==null?void 0:c.debouncedNotificationMethods)!=null?d:[]).includes(e.method)&&!e.params&&!(t!=null&&t.relatedRequestId)&&!(t!=null&&t.relatedTask)){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{var m,f;if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let p={...e,jsonrpc:"2.0"};t!=null&&t.relatedTask&&(p={...p,params:{...p.params,_meta:{...((m=p.params)==null?void 0:m._meta)||{},[Up]:t.relatedTask}}}),(f=this._transport)==null||f.send(p,t).catch(h=>this._onerror(h))});return}let a={...e,jsonrpc:"2.0"};t!=null&&t.relatedTask&&(a={...a,params:{...a.params,_meta:{...((u=a.params)==null?void 0:u._meta)||{},[Up]:t.relatedTask}}}),await this._transport.send(a,t)}setRequestHandler(e,t){let n=i8(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(i,s)=>{let a=s8(e,i);return Promise.resolve(t(a,s))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,t){let n=i8(e);this._notificationHandlers.set(n,i=>{let s=s8(e,i);return Promise.resolve(t(s))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){let t=this._taskProgressTokens.get(e);t!==void 0&&(this._progressHandlers.delete(t),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,t,n){var s;if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let i=(s=this._options)==null?void 0:s.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,t,n,i)}async _clearTaskQueue(e,t){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(e,t);for(let i of n)if(i.type==="request"&&Vp(i.message)){let s=i.message.id,a=this._requestResolvers.get(s);a?(a(new _e(Fe.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(s)):this._onerror(new Error(`Resolver missing for request ${s} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,t){var i,s,a;let n=(s=(i=this._options)==null?void 0:i.defaultTaskPollInterval)!=null?s:1e3;try{let o=await((a=this._taskStore)==null?void 0:a.getTask(e));o!=null&&o.pollInterval&&(n=o.pollInterval)}catch(o){}return new Promise((o,l)=>{if(t.aborted){l(new _e(Fe.InvalidRequest,"Request cancelled"));return}let c=setTimeout(o,n);t.addEventListener("abort",()=>{clearTimeout(c),l(new _e(Fe.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(e,t){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async i=>{if(!e)throw new Error("No request provided");return await n.createTask(i,e.id,{method:e.method,params:e.params},t)},getTask:async i=>{let s=await n.getTask(i,t);if(!s)throw new _e(Fe.InvalidParams,"Failed to retrieve task: Task not found");return s},storeTaskResult:async(i,s,a)=>{await n.storeTaskResult(i,s,a,t);let o=await n.getTask(i,t);if(o){let l=IE.parse({method:"notifications/tasks/status",params:o});await this.notification(l),Wp(o.status)&&this._cleanupTaskProgressHandler(i)}},getTaskResult:i=>n.getTaskResult(i,t),updateTaskStatus:async(i,s,a)=>{let o=await n.getTask(i,t);if(!o)throw new _e(Fe.InvalidParams,`Task "${i}" not found - it may have been cleaned up`);if(Wp(o.status))throw new _e(Fe.InvalidParams,`Cannot update task "${i}" from terminal status "${o.status}" to "${s}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(i,s,a,t);let l=await n.getTask(i,t);if(l){let c=IE.parse({method:"notifications/tasks/status",params:l});await this.notification(c),Wp(l.status)&&this._cleanupTaskProgressHandler(i)}},listTasks:i=>n.listTasks(i,t)}}}});var jE=x(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});Xt.regexpCode=Xt.getEsmExportName=Xt.getProperty=Xt.safeStringify=Xt.stringify=Xt.strConcat=Xt.addCodeArg=Xt.str=Xt._=Xt.nil=Xt._Code=Xt.Name=Xt.IDENTIFIER=Xt._CodeOrName=void 0;var FE=class{};Xt._CodeOrName=FE;Xt.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Sh=class extends FE{constructor(e){if(super(),!Xt.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};Xt.Name=Sh;var wo=class extends FE{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((t,n)=>`${t}${n}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((t,n)=>(n instanceof Sh&&(t[n.str]=(t[n.str]||0)+1),t),{})}};Xt._Code=wo;Xt.nil=new wo("");function z_e(r,...e){let t=[r[0]],n=0;for(;n<e.length;)l8(t,e[n]),t.push(r[++n]);return new wo(t)}Xt._=z_e;var o8=new wo("+");function B_e(r,...e){let t=[$E(r[0])],n=0;for(;n<e.length;)t.push(o8),l8(t,e[n]),t.push(o8,$E(r[++n]));return zdt(t),new wo(t)}Xt.str=B_e;function l8(r,e){e instanceof wo?r.push(...e._items):e instanceof Sh?r.push(e):r.push(Hdt(e))}Xt.addCodeArg=l8;function zdt(r){let e=1;for(;e<r.length-1;){if(r[e]===o8){let t=Bdt(r[e-1],r[e+1]);if(t!==void 0){r.splice(e-1,3,t);continue}r[e++]="+"}e++}}function Bdt(r,e){if(e==='""')return r;if(r==='""')return e;if(typeof r=="string")return e instanceof Sh||r[r.length-1]!=='"'?void 0:typeof e!="string"?`${r.slice(0,-1)}${e}"`:e[0]==='"'?r.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(r instanceof Sh))return`"${r}${e.slice(1)}`}function qdt(r,e){return e.emptyStr()?r:r.emptyStr()?e:B_e`${r}${e}`}Xt.strConcat=qdt;function Hdt(r){return typeof r=="number"||typeof r=="boolean"||r===null?r:$E(Array.isArray(r)?r.join(","):r)}function Udt(r){return new wo($E(r))}Xt.stringify=Udt;function $E(r){return JSON.stringify(r).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}Xt.safeStringify=$E;function Vdt(r){return typeof r=="string"&&Xt.IDENTIFIER.test(r)?new wo(`.${r}`):z_e`[${r}]`}Xt.getProperty=Vdt;function Wdt(r){if(typeof r=="string"&&Xt.IDENTIFIER.test(r))return new wo(`${r}`);throw new Error(`CodeGen: invalid export name: ${r}, use explicit $id name mapping`)}Xt.getEsmExportName=Wdt;function Ydt(r){return new wo(r.toString())}Xt.regexpCode=Ydt});var u8=x(Qs=>{"use strict";Object.defineProperty(Qs,"__esModule",{value:!0});Qs.ValueScope=Qs.ValueScopeName=Qs.Scope=Qs.varKinds=Qs.UsedValueState=void 0;var Zs=jE(),c8=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},YN;(function(r){r[r.Started=0]="Started",r[r.Completed=1]="Completed"})(YN||(Qs.UsedValueState=YN={}));Qs.varKinds={const:new Zs.Name("const"),let:new Zs.Name("let"),var:new Zs.Name("var")};var GN=class{constructor({prefixes:e,parent:t}={}){this._names={},this._prefixes=e,this._parent=t}toName(e){return e instanceof Zs.Name?e:this.name(e)}name(e){return new Zs.Name(this._newName(e))}_newName(e){let t=this._names[e]||this._nameGroup(e);return`${e}${t.index++}`}_nameGroup(e){var t,n;if(!((n=(t=this._parent)===null||t===void 0?void 0:t._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};Qs.Scope=GN;var KN=class extends Zs.Name{constructor(e,t){super(t),this.prefix=e}setValue(e,{property:t,itemIndex:n}){this.value=e,this.scopePath=(0,Zs._)`.${new Zs.Name(t)}[${n}]`}};Qs.ValueScopeName=KN;var Gdt=(0,Zs._)`\n`,d8=class extends GN{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?Gdt:Zs.nil}}get(){return this._scope}name(e){return new KN(e,this._newName(e))}value(e,t){var n;if(t.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let i=this.toName(e),{prefix:s}=i,a=(n=t.key)!==null&&n!==void 0?n:t.ref,o=this._values[s];if(o){let d=o.get(a);if(d)return d}else o=this._values[s]=new Map;o.set(a,i);let l=this._scope[s]||(this._scope[s]=[]),c=l.length;return l[c]=t.ref,i.setValue(t,{property:s,itemIndex:c}),i}getValue(e,t){let n=this._values[e];if(n)return n.get(t)}scopeRefs(e,t=this._values){return this._reduceValues(t,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,Zs._)`${e}${n.scopePath}`})}scopeCode(e=this._values,t,n){return this._reduceValues(e,i=>{if(i.value===void 0)throw new Error(`CodeGen: name "${i}" has no value`);return i.value.code},t,n)}_reduceValues(e,t,n={},i){let s=Zs.nil;for(let a in e){let o=e[a];if(!o)continue;let l=n[a]=n[a]||new Map;o.forEach(c=>{if(l.has(c))return;l.set(c,YN.Started);let d=t(c);if(d){let u=this.opts.es5?Qs.varKinds.var:Qs.varKinds.const;s=(0,Zs._)`${s}${u} ${c} = ${d};${this.opts._n}`}else if(d=i==null?void 0:i(c))s=(0,Zs._)`${s}${d}${this.opts._n}`;else throw new c8(c);l.set(c,YN.Completed)})}return s}};Qs.ValueScope=d8});var wt=x(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.or=gt.and=gt.not=gt.CodeGen=gt.operators=gt.varKinds=gt.ValueScopeName=gt.ValueScope=gt.Scope=gt.Name=gt.regexpCode=gt.stringify=gt.getProperty=gt.nil=gt.strConcat=gt.str=gt._=void 0;var Ht=jE(),ul=u8(),Gp=jE();Object.defineProperty(gt,"_",{enumerable:!0,get:function(){return Gp._}});Object.defineProperty(gt,"str",{enumerable:!0,get:function(){return Gp.str}});Object.defineProperty(gt,"strConcat",{enumerable:!0,get:function(){return Gp.strConcat}});Object.defineProperty(gt,"nil",{enumerable:!0,get:function(){return Gp.nil}});Object.defineProperty(gt,"getProperty",{enumerable:!0,get:function(){return Gp.getProperty}});Object.defineProperty(gt,"stringify",{enumerable:!0,get:function(){return Gp.stringify}});Object.defineProperty(gt,"regexpCode",{enumerable:!0,get:function(){return Gp.regexpCode}});Object.defineProperty(gt,"Name",{enumerable:!0,get:function(){return Gp.Name}});var XN=u8();Object.defineProperty(gt,"Scope",{enumerable:!0,get:function(){return XN.Scope}});Object.defineProperty(gt,"ValueScope",{enumerable:!0,get:function(){return XN.ValueScope}});Object.defineProperty(gt,"ValueScopeName",{enumerable:!0,get:function(){return XN.ValueScopeName}});Object.defineProperty(gt,"varKinds",{enumerable:!0,get:function(){return XN.varKinds}});gt.operators={GT:new Ht._Code(">"),GTE:new Ht._Code(">="),LT:new Ht._Code("<"),LTE:new Ht._Code("<="),EQ:new Ht._Code("==="),NEQ:new Ht._Code("!=="),NOT:new Ht._Code("!"),OR:new Ht._Code("||"),AND:new Ht._Code("&&"),ADD:new Ht._Code("+")};var ru=class{optimizeNodes(){return this}optimizeNames(e,t){return this}},p8=class extends ru{constructor(e,t,n){super(),this.varKind=e,this.name=t,this.rhs=n}render({es5:e,_n:t}){let n=e?ul.varKinds.var:this.varKind,i=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${i};`+t}optimizeNames(e,t){if(e[this.name.str])return this.rhs&&(this.rhs=eb(this.rhs,e,t)),this}get names(){return this.rhs instanceof Ht._CodeOrName?this.rhs.names:{}}},ZN=class extends ru{constructor(e,t,n){super(),this.lhs=e,this.rhs=t,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,t){if(!(this.lhs instanceof Ht.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=eb(this.rhs,e,t),this}get names(){let e=this.lhs instanceof Ht.Name?{}:{...this.lhs.names};return JN(e,this.rhs)}},m8=class extends ZN{constructor(e,t,n,i){super(e,n,i),this.op=t}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},f8=class extends ru{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},h8=class extends ru{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},g8=class extends ru{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},y8=class extends ru{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,t){return this.code=eb(this.code,e,t),this}get names(){return this.code instanceof Ht._CodeOrName?this.code.names:{}}},zE=class extends ru{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((t,n)=>t+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,t=e.length;for(;t--;){let n=e[t].optimizeNodes();Array.isArray(n)?e.splice(t,1,...n):n?e[t]=n:e.splice(t,1)}return e.length>0?this:void 0}optimizeNames(e,t){let{nodes:n}=this,i=n.length;for(;i--;){let s=n[i];s.optimizeNames(e,t)||(Kdt(e,s.names),n.splice(i,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,t)=>Dh(e,t.names),{})}},nu=class extends zE{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},v8=class extends zE{},Xv=class extends nu{};Xv.kind="else";var xh=class r extends nu{constructor(e,t){super(t),this.condition=e}render(e){let t=`if(${this.condition})`+super.render(e);return this.else&&(t+="else "+this.else.render(e)),t}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let t=this.else;if(t){let n=t.optimizeNodes();t=this.else=Array.isArray(n)?new Xv(n):n}if(t)return e===!1?t instanceof r?t:t.nodes:this.nodes.length?this:new r(q_e(e),t instanceof r?[t]:t.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,t){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,t),!!(super.optimizeNames(e,t)||this.else))return this.condition=eb(this.condition,e,t),this}get names(){let e=super.names;return JN(e,this.condition),this.else&&Dh(e,this.else.names),e}};xh.kind="if";var Eh=class extends nu{};Eh.kind="for";var b8=class extends Eh{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iteration=eb(this.iteration,e,t),this}get names(){return Dh(super.names,this.iteration.names)}},T8=class extends Eh{constructor(e,t,n,i){super(),this.varKind=e,this.name=t,this.from=n,this.to=i}render(e){let t=e.es5?ul.varKinds.var:this.varKind,{name:n,from:i,to:s}=this;return`for(${t} ${n}=${i}; ${n}<${s}; ${n}++)`+super.render(e)}get names(){let e=JN(super.names,this.from);return JN(e,this.to)}},QN=class extends Eh{constructor(e,t,n,i){super(),this.loop=e,this.varKind=t,this.name=n,this.iterable=i}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iterable=eb(this.iterable,e,t),this}get names(){return Dh(super.names,this.iterable.names)}},BE=class extends nu{constructor(e,t,n){super(),this.name=e,this.args=t,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};BE.kind="func";var qE=class extends zE{render(e){return"return "+super.render(e)}};qE.kind="return";var k8=class extends nu{render(e){let t="try"+super.render(e);return this.catch&&(t+=this.catch.render(e)),this.finally&&(t+=this.finally.render(e)),t}optimizeNodes(){var e,t;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(t=this.finally)===null||t===void 0||t.optimizeNodes(),this}optimizeNames(e,t){var n,i;return super.optimizeNames(e,t),(n=this.catch)===null||n===void 0||n.optimizeNames(e,t),(i=this.finally)===null||i===void 0||i.optimizeNames(e,t),this}get names(){let e=super.names;return this.catch&&Dh(e,this.catch.names),this.finally&&Dh(e,this.finally.names),e}},HE=class extends nu{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};HE.kind="catch";var UE=class extends nu{render(e){return"finally"+super.render(e)}};UE.kind="finally";var w8=class{constructor(e,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...t,_n:t.lines?`
`:""},this._extScope=e,this._scope=new ul.Scope({parent:e}),this._nodes=[new v8]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){let n=this._extScope.value(e,t);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,t){return this._extScope.getValue(e,t)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,t,n,i){let s=this._scope.toName(t);return n!==void 0&&i&&(this._constants[s.str]=n),this._leafNode(new p8(e,s,n)),s}const(e,t,n){return this._def(ul.varKinds.const,e,t,n)}let(e,t,n){return this._def(ul.varKinds.let,e,t,n)}var(e,t,n){return this._def(ul.varKinds.var,e,t,n)}assign(e,t,n){return this._leafNode(new ZN(e,t,n))}add(e,t){return this._leafNode(new m8(e,gt.operators.ADD,t))}code(e){return typeof e=="function"?e():e!==Ht.nil&&this._leafNode(new y8(e)),this}object(...e){let t=["{"];for(let[n,i]of e)t.length>1&&t.push(","),t.push(n),(n!==i||this.opts.es5)&&(t.push(":"),(0,Ht.addCodeArg)(t,i));return t.push("}"),new Ht._Code(t)}if(e,t,n){if(this._blockNode(new xh(e)),t&&n)this.code(t).else().code(n).endIf();else if(t)this.code(t).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new xh(e))}else(){return this._elseNode(new Xv)}endIf(){return this._endBlockNode(xh,Xv)}_for(e,t){return this._blockNode(e),t&&this.code(t).endFor(),this}for(e,t){return this._for(new b8(e),t)}forRange(e,t,n,i,s=this.opts.es5?ul.varKinds.var:ul.varKinds.let){let a=this._scope.toName(e);return this._for(new T8(s,a,t,n),()=>i(a))}forOf(e,t,n,i=ul.varKinds.const){let s=this._scope.toName(e);if(this.opts.es5){let a=t instanceof Ht.Name?t:this.var("_arr",t);return this.forRange("_i",0,(0,Ht._)`${a}.length`,o=>{this.var(s,(0,Ht._)`${a}[${o}]`),n(s)})}return this._for(new QN("of",i,s,t),()=>n(s))}forIn(e,t,n,i=this.opts.es5?ul.varKinds.var:ul.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,Ht._)`Object.keys(${t})`,n);let s=this._scope.toName(e);return this._for(new QN("in",i,s,t),()=>n(s))}endFor(){return this._endBlockNode(Eh)}label(e){return this._leafNode(new f8(e))}break(e){return this._leafNode(new h8(e))}return(e){let t=new qE;if(this._blockNode(t),this.code(e),t.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(qE)}try(e,t,n){if(!t&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let i=new k8;if(this._blockNode(i),this.code(e),t){let s=this.name("e");this._currNode=i.catch=new HE(s),t(s)}return n&&(this._currNode=i.finally=new UE,this.code(n)),this._endBlockNode(HE,UE)}throw(e){return this._leafNode(new g8(e))}block(e,t){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(t),this}endBlock(e){let t=this._blockStarts.pop();if(t===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-t;if(n<0||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=t,this}func(e,t=Ht.nil,n,i){return this._blockNode(new BE(e,t,n)),i&&this.code(i).endFunc(),this}endFunc(){return this._endBlockNode(BE)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,t){let n=this._currNode;if(n instanceof e||t&&n instanceof t)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${t?`${e.kind}/${t.kind}`:e.kind}"`)}_elseNode(e){let t=this._currNode;if(!(t instanceof xh))throw new Error('CodeGen: "else" without "if"');return this._currNode=t.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let t=this._nodes;t[t.length-1]=e}};gt.CodeGen=w8;function Dh(r,e){for(let t in e)r[t]=(r[t]||0)+(e[t]||0);return r}function JN(r,e){return e instanceof Ht._CodeOrName?Dh(r,e.names):r}function eb(r,e,t){if(r instanceof Ht.Name)return n(r);if(!i(r))return r;return new Ht._Code(r._items.reduce((s,a)=>(a instanceof Ht.Name&&(a=n(a)),a instanceof Ht._Code?s.push(...a._items):s.push(a),s),[]));function n(s){let a=t[s.str];return a===void 0||e[s.str]!==1?s:(delete e[s.str],a)}function i(s){return s instanceof Ht._Code&&s._items.some(a=>a instanceof Ht.Name&&e[a.str]===1&&t[a.str]!==void 0)}}function Kdt(r,e){for(let t in e)r[t]=(r[t]||0)-(e[t]||0)}function q_e(r){return typeof r=="boolean"||typeof r=="number"||r===null?!r:(0,Ht._)`!${S8(r)}`}gt.not=q_e;var Zdt=H_e(gt.operators.AND);function Qdt(...r){return r.reduce(Zdt)}gt.and=Qdt;var Jdt=H_e(gt.operators.OR);function Xdt(...r){return r.reduce(Jdt)}gt.or=Xdt;function H_e(r){return(e,t)=>e===Ht.nil?t:t===Ht.nil?e:(0,Ht._)`${S8(e)} ${r} ${S8(t)}`}function S8(r){return r instanceof Ht.Name?r:(0,Ht._)`(${r})`}});var er=x(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.checkStrictMode=St.getErrorPath=St.Type=St.useFunc=St.setEvaluated=St.evaluatedPropsToName=St.mergeEvaluated=St.eachItem=St.unescapeJsonPointer=St.escapeJsonPointer=St.escapeFragment=St.unescapeFragment=St.schemaRefOrVal=St.schemaHasRulesButRef=St.schemaHasRules=St.checkUnknownRules=St.alwaysValidSchema=St.toHash=void 0;var Pr=wt(),eut=jE();function tut(r){let e={};for(let t of r)e[t]=!0;return e}St.toHash=tut;function rut(r,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(W_e(r,e),!Y_e(e,r.self.RULES.all))}St.alwaysValidSchema=rut;function W_e(r,e=r.schema){let{opts:t,self:n}=r;if(!t.strictSchema||typeof e=="boolean")return;let i=n.RULES.keywords;for(let s in e)i[s]||Z_e(r,`unknown keyword: "${s}"`)}St.checkUnknownRules=W_e;function Y_e(r,e){if(typeof r=="boolean")return!r;for(let t in r)if(e[t])return!0;return!1}St.schemaHasRules=Y_e;function nut(r,e){if(typeof r=="boolean")return!r;for(let t in r)if(t!=="$ref"&&e.all[t])return!0;return!1}St.schemaHasRulesButRef=nut;function iut({topSchemaRef:r,schemaPath:e},t,n,i){if(!i){if(typeof t=="number"||typeof t=="boolean")return t;if(typeof t=="string")return(0,Pr._)`${t}`}return(0,Pr._)`${r}${e}${(0,Pr.getProperty)(n)}`}St.schemaRefOrVal=iut;function sut(r){return G_e(decodeURIComponent(r))}St.unescapeFragment=sut;function aut(r){return encodeURIComponent(E8(r))}St.escapeFragment=aut;function E8(r){return typeof r=="number"?`${r}`:r.replace(/~/g,"~0").replace(/\//g,"~1")}St.escapeJsonPointer=E8;function G_e(r){return r.replace(/~1/g,"/").replace(/~0/g,"~")}St.unescapeJsonPointer=G_e;function out(r,e){if(Array.isArray(r))for(let t of r)e(t);else e(r)}St.eachItem=out;function U_e({mergeNames:r,mergeToName:e,mergeValues:t,resultToName:n}){return(i,s,a,o)=>{let l=a===void 0?s:a instanceof Pr.Name?(s instanceof Pr.Name?r(i,s,a):e(i,s,a),a):s instanceof Pr.Name?(e(i,a,s),s):t(s,a);return o===Pr.Name&&!(l instanceof Pr.Name)?n(i,l):l}}St.mergeEvaluated={props:U_e({mergeNames:(r,e,t)=>r.if((0,Pr._)`${t} !== true && ${e} !== undefined`,()=>{r.if((0,Pr._)`${e} === true`,()=>r.assign(t,!0),()=>r.assign(t,(0,Pr._)`${t} || {}`).code((0,Pr._)`Object.assign(${t}, ${e})`))}),mergeToName:(r,e,t)=>r.if((0,Pr._)`${t} !== true`,()=>{e===!0?r.assign(t,!0):(r.assign(t,(0,Pr._)`${t} || {}`),D8(r,t,e))}),mergeValues:(r,e)=>r===!0?!0:{...r,...e},resultToName:K_e}),items:U_e({mergeNames:(r,e,t)=>r.if((0,Pr._)`${t} !== true && ${e} !== undefined`,()=>r.assign(t,(0,Pr._)`${e} === true ? true : ${t} > ${e} ? ${t} : ${e}`)),mergeToName:(r,e,t)=>r.if((0,Pr._)`${t} !== true`,()=>r.assign(t,e===!0?!0:(0,Pr._)`${t} > ${e} ? ${t} : ${e}`)),mergeValues:(r,e)=>r===!0?!0:Math.max(r,e),resultToName:(r,e)=>r.var("items",e)})};function K_e(r,e){if(e===!0)return r.var("props",!0);let t=r.var("props",(0,Pr._)`{}`);return e!==void 0&&D8(r,t,e),t}St.evaluatedPropsToName=K_e;function D8(r,e,t){Object.keys(t).forEach(n=>r.assign((0,Pr._)`${e}${(0,Pr.getProperty)(n)}`,!0))}St.setEvaluated=D8;var V_e={};function lut(r,e){return r.scopeValue("func",{ref:e,code:V_e[e.code]||(V_e[e.code]=new eut._Code(e.code))})}St.useFunc=lut;var x8;(function(r){r[r.Num=0]="Num",r[r.Str=1]="Str"})(x8||(St.Type=x8={}));function cut(r,e,t){if(r instanceof Pr.Name){let n=e===x8.Num;return t?n?(0,Pr._)`"[" + ${r} + "]"`:(0,Pr._)`"['" + ${r} + "']"`:n?(0,Pr._)`"/" + ${r}`:(0,Pr._)`"/" + ${r}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return t?(0,Pr.getProperty)(r).toString():"/"+E8(r)}St.getErrorPath=cut;function Z_e(r,e,t=r.opts.strictSchema){if(t){if(e=`strict mode: ${e}`,t===!0)throw new Error(e);r.self.logger.warn(e)}}St.checkStrictMode=Z_e});var iu=x(C8=>{"use strict";Object.defineProperty(C8,"__esModule",{value:!0});var Yi=wt(),dut={data:new Yi.Name("data"),valCxt:new Yi.Name("valCxt"),instancePath:new Yi.Name("instancePath"),parentData:new Yi.Name("parentData"),parentDataProperty:new Yi.Name("parentDataProperty"),rootData:new Yi.Name("rootData"),dynamicAnchors:new Yi.Name("dynamicAnchors"),vErrors:new Yi.Name("vErrors"),errors:new Yi.Name("errors"),this:new Yi.Name("this"),self:new Yi.Name("self"),scope:new Yi.Name("scope"),json:new Yi.Name("json"),jsonPos:new Yi.Name("jsonPos"),jsonLen:new Yi.Name("jsonLen"),jsonPart:new Yi.Name("jsonPart")};C8.default=dut});var VE=x(Gi=>{"use strict";Object.defineProperty(Gi,"__esModule",{value:!0});Gi.extendErrors=Gi.resetErrorsCount=Gi.reportExtraError=Gi.reportError=Gi.keyword$DataError=Gi.keywordError=void 0;var Kt=wt(),eR=er(),hs=iu();Gi.keywordError={message:({keyword:r})=>(0,Kt.str)`must pass "${r}" keyword validation`};Gi.keyword$DataError={message:({keyword:r,schemaType:e})=>e?(0,Kt.str)`"${r}" keyword must be ${e} ($data)`:(0,Kt.str)`"${r}" keyword is invalid ($data)`};function uut(r,e=Gi.keywordError,t,n){let{it:i}=r,{gen:s,compositeRule:a,allErrors:o}=i,l=X_e(r,e,t);(n!=null?n:a||o)?Q_e(s,l):J_e(i,(0,Kt._)`[${l}]`)}Gi.reportError=uut;function put(r,e=Gi.keywordError,t){let{it:n}=r,{gen:i,compositeRule:s,allErrors:a}=n,o=X_e(r,e,t);Q_e(i,o),s||a||J_e(n,hs.default.vErrors)}Gi.reportExtraError=put;function mut(r,e){r.assign(hs.default.errors,e),r.if((0,Kt._)`${hs.default.vErrors} !== null`,()=>r.if(e,()=>r.assign((0,Kt._)`${hs.default.vErrors}.length`,e),()=>r.assign(hs.default.vErrors,null)))}Gi.resetErrorsCount=mut;function fut({gen:r,keyword:e,schemaValue:t,data:n,errsCount:i,it:s}){if(i===void 0)throw new Error("ajv implementation error");let a=r.name("err");r.forRange("i",i,hs.default.errors,o=>{r.const(a,(0,Kt._)`${hs.default.vErrors}[${o}]`),r.if((0,Kt._)`${a}.instancePath === undefined`,()=>r.assign((0,Kt._)`${a}.instancePath`,(0,Kt.strConcat)(hs.default.instancePath,s.errorPath))),r.assign((0,Kt._)`${a}.schemaPath`,(0,Kt.str)`${s.errSchemaPath}/${e}`),s.opts.verbose&&(r.assign((0,Kt._)`${a}.schema`,t),r.assign((0,Kt._)`${a}.data`,n))})}Gi.extendErrors=fut;function Q_e(r,e){let t=r.const("err",e);r.if((0,Kt._)`${hs.default.vErrors} === null`,()=>r.assign(hs.default.vErrors,(0,Kt._)`[${t}]`),(0,Kt._)`${hs.default.vErrors}.push(${t})`),r.code((0,Kt._)`${hs.default.errors}++`)}function J_e(r,e){let{gen:t,validateName:n,schemaEnv:i}=r;i.$async?t.throw((0,Kt._)`new ${r.ValidationError}(${e})`):(t.assign((0,Kt._)`${n}.errors`,e),t.return(!1))}var Ch={keyword:new Kt.Name("keyword"),schemaPath:new Kt.Name("schemaPath"),params:new Kt.Name("params"),propertyName:new Kt.Name("propertyName"),message:new Kt.Name("message"),schema:new Kt.Name("schema"),parentSchema:new Kt.Name("parentSchema")};function X_e(r,e,t){let{createErrors:n}=r.it;return n===!1?(0,Kt._)`{}`:hut(r,e,t)}function hut(r,e,t={}){let{gen:n,it:i}=r,s=[gut(i,t),yut(r,t)];return vut(r,e,s),n.object(...s)}function gut({errorPath:r},{instancePath:e}){let t=e?(0,Kt.str)`${r}${(0,eR.getErrorPath)(e,eR.Type.Str)}`:r;return[hs.default.instancePath,(0,Kt.strConcat)(hs.default.instancePath,t)]}function yut({keyword:r,it:{errSchemaPath:e}},{schemaPath:t,parentSchema:n}){let i=n?e:(0,Kt.str)`${e}/${r}`;return t&&(i=(0,Kt.str)`${i}${(0,eR.getErrorPath)(t,eR.Type.Str)}`),[Ch.schemaPath,i]}function vut(r,{params:e,message:t},n){let{keyword:i,data:s,schemaValue:a,it:o}=r,{opts:l,propertyName:c,topSchemaRef:d,schemaPath:u}=o;n.push([Ch.keyword,i],[Ch.params,typeof e=="function"?e(r):e||(0,Kt._)`{}`]),l.messages&&n.push([Ch.message,typeof t=="function"?t(r):t]),l.verbose&&n.push([Ch.schema,a],[Ch.parentSchema,(0,Kt._)`${d}${u}`],[hs.default.data,s]),c&&n.push([Ch.propertyName,c])}});var tMe=x(tb=>{"use strict";Object.defineProperty(tb,"__esModule",{value:!0});tb.boolOrEmptySchema=tb.topBoolOrEmptySchema=void 0;var but=VE(),Tut=wt(),kut=iu(),wut={message:"boolean schema is false"};function Sut(r){let{gen:e,schema:t,validateName:n}=r;t===!1?eMe(r,!1):typeof t=="object"&&t.$async===!0?e.return(kut.default.data):(e.assign((0,Tut._)`${n}.errors`,null),e.return(!0))}tb.topBoolOrEmptySchema=Sut;function xut(r,e){let{gen:t,schema:n}=r;n===!1?(t.var(e,!1),eMe(r)):t.var(e,!0)}tb.boolOrEmptySchema=xut;function eMe(r,e){let{gen:t,data:n}=r,i={gen:t,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:r};(0,but.reportError)(i,wut,void 0,e)}});var P8=x(rb=>{"use strict";Object.defineProperty(rb,"__esModule",{value:!0});rb.getRules=rb.isJSONType=void 0;var Eut=["string","number","integer","boolean","null","object","array"],Dut=new Set(Eut);function Cut(r){return typeof r=="string"&&Dut.has(r)}rb.isJSONType=Cut;function Put(){let r={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...r,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},r.number,r.string,r.array,r.object],post:{rules:[]},all:{},keywords:{}}}rb.getRules=Put});var _8=x(Kp=>{"use strict";Object.defineProperty(Kp,"__esModule",{value:!0});Kp.shouldUseRule=Kp.shouldUseGroup=Kp.schemaHasRulesForType=void 0;function _ut({schema:r,self:e},t){let n=e.RULES.types[t];return n&&n!==!0&&rMe(r,n)}Kp.schemaHasRulesForType=_ut;function rMe(r,e){return e.rules.some(t=>nMe(r,t))}Kp.shouldUseGroup=rMe;function nMe(r,e){var t;return r[e.keyword]!==void 0||((t=e.definition.implements)===null||t===void 0?void 0:t.some(n=>r[n]!==void 0))}Kp.shouldUseRule=nMe});var WE=x(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});Ki.reportTypeError=Ki.checkDataTypes=Ki.checkDataType=Ki.coerceAndCheckDataType=Ki.getJSONTypes=Ki.getSchemaTypes=Ki.DataType=void 0;var Mut=P8(),Aut=_8(),Iut=VE(),dt=wt(),iMe=er(),nb;(function(r){r[r.Correct=0]="Correct",r[r.Wrong=1]="Wrong"})(nb||(Ki.DataType=nb={}));function Nut(r){let e=sMe(r.type);if(e.includes("null")){if(r.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&r.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');r.nullable===!0&&e.push("null")}return e}Ki.getSchemaTypes=Nut;function sMe(r){let e=Array.isArray(r)?r:r?[r]:[];if(e.every(Mut.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Ki.getJSONTypes=sMe;function Rut(r,e){let{gen:t,data:n,opts:i}=r,s=Out(e,i.coerceTypes),a=e.length>0&&!(s.length===0&&e.length===1&&(0,Aut.schemaHasRulesForType)(r,e[0]));if(a){let o=A8(e,n,i.strictNumbers,nb.Wrong);t.if(o,()=>{s.length?Lut(r,e,s):I8(r)})}return a}Ki.coerceAndCheckDataType=Rut;var aMe=new Set(["string","number","integer","boolean","null"]);function Out(r,e){return e?r.filter(t=>aMe.has(t)||e==="array"&&t==="array"):[]}function Lut(r,e,t){let{gen:n,data:i,opts:s}=r,a=n.let("dataType",(0,dt._)`typeof ${i}`),o=n.let("coerced",(0,dt._)`undefined`);s.coerceTypes==="array"&&n.if((0,dt._)`${a} == 'object' && Array.isArray(${i}) && ${i}.length == 1`,()=>n.assign(i,(0,dt._)`${i}[0]`).assign(a,(0,dt._)`typeof ${i}`).if(A8(e,i,s.strictNumbers),()=>n.assign(o,i))),n.if((0,dt._)`${o} !== undefined`);for(let c of t)(aMe.has(c)||c==="array"&&s.coerceTypes==="array")&&l(c);n.else(),I8(r),n.endIf(),n.if((0,dt._)`${o} !== undefined`,()=>{n.assign(i,o),Fut(r,o)});function l(c){switch(c){case"string":n.elseIf((0,dt._)`${a} == "number" || ${a} == "boolean"`).assign(o,(0,dt._)`"" + ${i}`).elseIf((0,dt._)`${i} === null`).assign(o,(0,dt._)`""`);return;case"number":n.elseIf((0,dt._)`${a} == "boolean" || ${i} === null
|| (${a} == "string" && ${i} && ${i} == +${i})`).assign(o,(0,dt._)`+${i}`);return;case"integer":n.elseIf((0,dt._)`${a} === "boolean" || ${i} === null
|| (${a} === "string" && ${i} && ${i} == +${i} && !(${i} % 1))`).assign(o,(0,dt._)`+${i}`);return;case"boolean":n.elseIf((0,dt._)`${i} === "false" || ${i} === 0 || ${i} === null`).assign(o,!1).elseIf((0,dt._)`${i} === "true" || ${i} === 1`).assign(o,!0);return;case"null":n.elseIf((0,dt._)`${i} === "" || ${i} === 0 || ${i} === false`),n.assign(o,null);return;case"array":n.elseIf((0,dt._)`${a} === "string" || ${a} === "number"
|| ${a} === "boolean" || ${i} === null`).assign(o,(0,dt._)`[${i}]`)}}}function Fut({gen:r,parentData:e,parentDataProperty:t},n){r.if((0,dt._)`${e} !== undefined`,()=>r.assign((0,dt._)`${e}[${t}]`,n))}function M8(r,e,t,n=nb.Correct){let i=n===nb.Correct?dt.operators.EQ:dt.operators.NEQ,s;switch(r){case"null":return(0,dt._)`${e} ${i} null`;case"array":s=(0,dt._)`Array.isArray(${e})`;break;case"object":s=(0,dt._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":s=a((0,dt._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":s=a();break;default:return(0,dt._)`typeof ${e} ${i} ${r}`}return n===nb.Correct?s:(0,dt.not)(s);function a(o=dt.nil){return(0,dt.and)((0,dt._)`typeof ${e} == "number"`,o,t?(0,dt._)`isFinite(${e})`:dt.nil)}}Ki.checkDataType=M8;function A8(r,e,t,n){if(r.length===1)return M8(r[0],e,t,n);let i,s=(0,iMe.toHash)(r);if(s.array&&s.object){let a=(0,dt._)`typeof ${e} != "object"`;i=s.null?a:(0,dt._)`!${e} || ${a}`,delete s.null,delete s.array,delete s.object}else i=dt.nil;s.number&&delete s.integer;for(let a in s)i=(0,dt.and)(i,M8(a,e,t,n));return i}Ki.checkDataTypes=A8;var $ut={message:({schema:r})=>`must be ${r}`,params:({schema:r,schemaValue:e})=>typeof r=="string"?(0,dt._)`{type: ${r}}`:(0,dt._)`{type: ${e}}`};function I8(r){let e=jut(r);(0,Iut.reportError)(e,$ut)}Ki.reportTypeError=I8;function jut(r){let{gen:e,data:t,schema:n}=r,i=(0,iMe.schemaRefOrVal)(r,n,"type");return{gen:e,keyword:"type",data:t,schema:n.type,schemaCode:i,schemaValue:i,parentSchema:n,params:{},it:r}}});var lMe=x(tR=>{"use strict";Object.defineProperty(tR,"__esModule",{value:!0});tR.assignDefaults=void 0;var ib=wt(),zut=er();function But(r,e){let{properties:t,items:n}=r.schema;if(e==="object"&&t)for(let i in t)oMe(r,i,t[i].default);else e==="array"&&Array.isArray(n)&&n.forEach((i,s)=>oMe(r,s,i.default))}tR.assignDefaults=But;function oMe(r,e,t){let{gen:n,compositeRule:i,data:s,opts:a}=r;if(t===void 0)return;let o=(0,ib._)`${s}${(0,ib.getProperty)(e)}`;if(i){(0,zut.checkStrictMode)(r,`default is ignored for: ${o}`);return}let l=(0,ib._)`${o} === undefined`;a.useDefaults==="empty"&&(l=(0,ib._)`${l} || ${o} === null || ${o} === ""`),n.if(l,(0,ib._)`${o} = ${(0,ib.stringify)(t)}`)}});var So=x(Er=>{"use strict";Object.defineProperty(Er,"__esModule",{value:!0});Er.validateUnion=Er.validateArray=Er.usePattern=Er.callValidateCode=Er.schemaProperties=Er.allSchemaProperties=Er.noPropertyInData=Er.propertyInData=Er.isOwnProperty=Er.hasPropFunc=Er.reportMissingProp=Er.checkMissingProp=Er.checkReportMissingProp=void 0;var qr=wt(),N8=er(),Zp=iu(),qut=er();function Hut(r,e){let{gen:t,data:n,it:i}=r;t.if(O8(t,n,e,i.opts.ownProperties),()=>{r.setParams({missingProperty:(0,qr._)`${e}`},!0),r.error()})}Er.checkReportMissingProp=Hut;function Uut({gen:r,data:e,it:{opts:t}},n,i){return(0,qr.or)(...n.map(s=>(0,qr.and)(O8(r,e,s,t.ownProperties),(0,qr._)`${i} = ${s}`)))}Er.checkMissingProp=Uut;function Vut(r,e){r.setParams({missingProperty:e},!0),r.error()}Er.reportMissingProp=Vut;function cMe(r){return r.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,qr._)`Object.prototype.hasOwnProperty`})}Er.hasPropFunc=cMe;function R8(r,e,t){return(0,qr._)`${cMe(r)}.call(${e}, ${t})`}Er.isOwnProperty=R8;function Wut(r,e,t,n){let i=(0,qr._)`${e}${(0,qr.getProperty)(t)} !== undefined`;return n?(0,qr._)`${i} && ${R8(r,e,t)}`:i}Er.propertyInData=Wut;function O8(r,e,t,n){let i=(0,qr._)`${e}${(0,qr.getProperty)(t)} === undefined`;return n?(0,qr.or)(i,(0,qr.not)(R8(r,e,t))):i}Er.noPropertyInData=O8;function dMe(r){return r?Object.keys(r).filter(e=>e!=="__proto__"):[]}Er.allSchemaProperties=dMe;function Yut(r,e){return dMe(e).filter(t=>!(0,N8.alwaysValidSchema)(r,e[t]))}Er.schemaProperties=Yut;function Gut({schemaCode:r,data:e,it:{gen:t,topSchemaRef:n,schemaPath:i,errorPath:s},it:a},o,l,c){let d=c?(0,qr._)`${r}, ${e}, ${n}${i}`:e,u=[[Zp.default.instancePath,(0,qr.strConcat)(Zp.default.instancePath,s)],[Zp.default.parentData,a.parentData],[Zp.default.parentDataProperty,a.parentDataProperty],[Zp.default.rootData,Zp.default.rootData]];a.opts.dynamicRef&&u.push([Zp.default.dynamicAnchors,Zp.default.dynamicAnchors]);let p=(0,qr._)`${d}, ${t.object(...u)}`;return l!==qr.nil?(0,qr._)`${o}.call(${l}, ${p})`:(0,qr._)`${o}(${p})`}Er.callValidateCode=Gut;var Kut=(0,qr._)`new RegExp`;function Zut({gen:r,it:{opts:e}},t){let n=e.unicodeRegExp?"u":"",{regExp:i}=e.code,s=i(t,n);return r.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,qr._)`${i.code==="new RegExp"?Kut:(0,qut.useFunc)(r,i)}(${t}, ${n})`})}Er.usePattern=Zut;function Qut(r){let{gen:e,data:t,keyword:n,it:i}=r,s=e.name("valid");if(i.allErrors){let o=e.let("valid",!0);return a(()=>e.assign(o,!1)),o}return e.var(s,!0),a(()=>e.break()),s;function a(o){let l=e.const("len",(0,qr._)`${t}.length`);e.forRange("i",0,l,c=>{r.subschema({keyword:n,dataProp:c,dataPropType:N8.Type.Num},s),e.if((0,qr.not)(s),o)})}}Er.validateArray=Qut;function Jut(r){let{gen:e,schema:t,keyword:n,it:i}=r;if(!Array.isArray(t))throw new Error("ajv implementation error");if(t.some(l=>(0,N8.alwaysValidSchema)(i,l))&&!i.opts.unevaluated)return;let a=e.let("valid",!1),o=e.name("_valid");e.block(()=>t.forEach((l,c)=>{let d=r.subschema({keyword:n,schemaProp:c,compositeRule:!0},o);e.assign(a,(0,qr._)`${a} || ${o}`),r.mergeValidEvaluated(d,o)||e.if((0,qr.not)(a))})),r.result(a,()=>r.reset(),()=>r.error(!0))}Er.validateUnion=Jut});var mMe=x(_c=>{"use strict";Object.defineProperty(_c,"__esModule",{value:!0});_c.validateKeywordUsage=_c.validSchemaType=_c.funcKeywordCode=_c.macroKeywordCode=void 0;var gs=wt(),Ph=iu(),Xut=So(),ept=VE();function tpt(r,e){let{gen:t,keyword:n,schema:i,parentSchema:s,it:a}=r,o=e.macro.call(a.self,i,s,a),l=pMe(t,n,o);a.opts.validateSchema!==!1&&a.self.validateSchema(o,!0);let c=t.name("valid");r.subschema({schema:o,schemaPath:gs.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:l,compositeRule:!0},c),r.pass(c,()=>r.error(!0))}_c.macroKeywordCode=tpt;function rpt(r,e){var t;let{gen:n,keyword:i,schema:s,parentSchema:a,$data:o,it:l}=r;ipt(l,e);let c=!o&&e.compile?e.compile.call(l.self,s,a,l):e.validate,d=pMe(n,i,c),u=n.let("valid");r.block$data(u,p),r.ok((t=e.valid)!==null&&t!==void 0?t:u);function p(){if(e.errors===!1)h(),e.modifying&&uMe(r),g(()=>r.error());else{let y=e.async?m():f();e.modifying&&uMe(r),g(()=>npt(r,y))}}function m(){let y=n.let("ruleErrs",null);return n.try(()=>h((0,gs._)`await `),k=>n.assign(u,!1).if((0,gs._)`${k} instanceof ${l.ValidationError}`,()=>n.assign(y,(0,gs._)`${k}.errors`),()=>n.throw(k))),y}function f(){let y=(0,gs._)`${d}.errors`;return n.assign(y,null),h(gs.nil),y}function h(y=e.async?(0,gs._)`await `:gs.nil){let k=l.opts.passContext?Ph.default.this:Ph.default.self,T=!("compile"in e&&!o||e.schema===!1);n.assign(u,(0,gs._)`${y}${(0,Xut.callValidateCode)(r,d,k,T)}`,e.modifying)}function g(y){var k;n.if((0,gs.not)((k=e.valid)!==null&&k!==void 0?k:u),y)}}_c.funcKeywordCode=rpt;function uMe(r){let{gen:e,data:t,it:n}=r;e.if(n.parentData,()=>e.assign(t,(0,gs._)`${n.parentData}[${n.parentDataProperty}]`))}function npt(r,e){let{gen:t}=r;t.if((0,gs._)`Array.isArray(${e})`,()=>{t.assign(Ph.default.vErrors,(0,gs._)`${Ph.default.vErrors} === null ? ${e} : ${Ph.default.vErrors}.concat(${e})`).assign(Ph.default.errors,(0,gs._)`${Ph.default.vErrors}.length`),(0,ept.extendErrors)(r)},()=>r.error())}function ipt({schemaEnv:r},e){if(e.async&&!r.$async)throw new Error("async keyword in sync schema")}function pMe(r,e,t){if(t===void 0)throw new Error(`keyword "${e}" failed to compile`);return r.scopeValue("keyword",typeof t=="function"?{ref:t}:{ref:t,code:(0,gs.stringify)(t)})}function spt(r,e,t=!1){return!e.length||e.some(n=>n==="array"?Array.isArray(r):n==="object"?r&&typeof r=="object"&&!Array.isArray(r):typeof r==n||t&&typeof r=="undefined")}_c.validSchemaType=spt;function apt({schema:r,opts:e,self:t,errSchemaPath:n},i,s){if(Array.isArray(i.keyword)?!i.keyword.includes(s):i.keyword!==s)throw new Error("ajv implementation error");let a=i.dependencies;if(a!=null&&a.some(o=>!Object.prototype.hasOwnProperty.call(r,o)))throw new Error(`parent schema must have dependencies of ${s}: ${a.join(",")}`);if(i.validateSchema&&!i.validateSchema(r[s])){let l=`keyword "${s}" value is invalid at path "${n}": `+t.errorsText(i.validateSchema.errors);if(e.validateSchema==="log")t.logger.error(l);else throw new Error(l)}}_c.validateKeywordUsage=apt});var hMe=x(Qp=>{"use strict";Object.defineProperty(Qp,"__esModule",{value:!0});Qp.extendSubschemaMode=Qp.extendSubschemaData=Qp.getSubschema=void 0;var Mc=wt(),fMe=er();function opt(r,{keyword:e,schemaProp:t,schema:n,schemaPath:i,errSchemaPath:s,topSchemaRef:a}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let o=r.schema[e];return t===void 0?{schema:o,schemaPath:(0,Mc._)`${r.schemaPath}${(0,Mc.getProperty)(e)}`,errSchemaPath:`${r.errSchemaPath}/${e}`}:{schema:o[t],schemaPath:(0,Mc._)`${r.schemaPath}${(0,Mc.getProperty)(e)}${(0,Mc.getProperty)(t)}`,errSchemaPath:`${r.errSchemaPath}/${e}/${(0,fMe.escapeFragment)(t)}`}}if(n!==void 0){if(i===void 0||s===void 0||a===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:i,topSchemaRef:a,errSchemaPath:s}}throw new Error('either "keyword" or "schema" must be passed')}Qp.getSubschema=opt;function lpt(r,e,{dataProp:t,dataPropType:n,data:i,dataTypes:s,propertyName:a}){if(i!==void 0&&t!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:o}=e;if(t!==void 0){let{errorPath:c,dataPathArr:d,opts:u}=e,p=o.let("data",(0,Mc._)`${e.data}${(0,Mc.getProperty)(t)}`,!0);l(p),r.errorPath=(0,Mc.str)`${c}${(0,fMe.getErrorPath)(t,n,u.jsPropertySyntax)}`,r.parentDataProperty=(0,Mc._)`${t}`,r.dataPathArr=[...d,r.parentDataProperty]}if(i!==void 0){let c=i instanceof Mc.Name?i:o.let("data",i,!0);l(c),a!==void 0&&(r.propertyName=a)}s&&(r.dataTypes=s);function l(c){r.data=c,r.dataLevel=e.dataLevel+1,r.dataTypes=[],e.definedProperties=new Set,r.parentData=e.data,r.dataNames=[...e.dataNames,c]}}Qp.extendSubschemaData=lpt;function cpt(r,{jtdDiscriminator:e,jtdMetadata:t,compositeRule:n,createErrors:i,allErrors:s}){n!==void 0&&(r.compositeRule=n),i!==void 0&&(r.createErrors=i),s!==void 0&&(r.allErrors=s),r.jtdDiscriminator=e,r.jtdMetadata=t}Qp.extendSubschemaMode=cpt});var YE=x((Xvr,gMe)=>{"use strict";gMe.exports=function r(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var n,i,s;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(i=n;i--!==0;)if(!r(e[i],t[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if(s=Object.keys(e),n=s.length,n!==Object.keys(t).length)return!1;for(i=n;i--!==0;)if(!Object.prototype.hasOwnProperty.call(t,s[i]))return!1;for(i=n;i--!==0;){var a=s[i];if(!r(e[a],t[a]))return!1}return!0}return e!==e&&t!==t}});var vMe=x((ebr,yMe)=>{"use strict";var Jp=yMe.exports=function(r,e,t){typeof e=="function"&&(t=e,e={}),t=e.cb||t;var n=typeof t=="function"?t:t.pre||function(){},i=t.post||function(){};rR(e,n,i,r,"",r)};Jp.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Jp.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Jp.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Jp.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function rR(r,e,t,n,i,s,a,o,l,c){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,i,s,a,o,l,c);for(var d in n){var u=n[d];if(Array.isArray(u)){if(d in Jp.arrayKeywords)for(var p=0;p<u.length;p++)rR(r,e,t,u[p],i+"/"+d+"/"+p,s,i,d,n,p)}else if(d in Jp.propsKeywords){if(u&&typeof u=="object")for(var m in u)rR(r,e,t,u[m],i+"/"+d+"/"+dpt(m),s,i,d,n,m)}else(d in Jp.keywords||r.allKeys&&!(d in Jp.skipKeywords))&&rR(r,e,t,u,i+"/"+d,s,i,d,n)}t(n,i,s,a,o,l,c)}}function dpt(r){return r.replace(/~/g,"~0").replace(/\//g,"~1")}});var GE=x(Js=>{"use strict";Object.defineProperty(Js,"__esModule",{value:!0});Js.getSchemaRefs=Js.resolveUrl=Js.normalizeId=Js._getFullPath=Js.getFullPath=Js.inlineRef=void 0;var upt=er(),ppt=YE(),mpt=vMe(),fpt=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function hpt(r,e=!0){return typeof r=="boolean"?!0:e===!0?!L8(r):e?bMe(r)<=e:!1}Js.inlineRef=hpt;var gpt=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function L8(r){for(let e in r){if(gpt.has(e))return!0;let t=r[e];if(Array.isArray(t)&&t.some(L8)||typeof t=="object"&&L8(t))return!0}return!1}function bMe(r){let e=0;for(let t in r){if(t==="$ref")return 1/0;if(e++,!fpt.has(t)&&(typeof r[t]=="object"&&(0,upt.eachItem)(r[t],n=>e+=bMe(n)),e===1/0))return 1/0}return e}function TMe(r,e="",t){t!==!1&&(e=sb(e));let n=r.parse(e);return kMe(r,n)}Js.getFullPath=TMe;function kMe(r,e){return r.serialize(e).split("#")[0]+"#"}Js._getFullPath=kMe;var ypt=/#\/?$/;function sb(r){return r?r.replace(ypt,""):""}Js.normalizeId=sb;function vpt(r,e,t){return t=sb(t),r.resolve(e,t)}Js.resolveUrl=vpt;var bpt=/^[a-z_][-a-z0-9._]*$/i;function Tpt(r,e){if(typeof r=="boolean")return{};let{schemaId:t,uriResolver:n}=this.opts,i=sb(r[t]||e),s={"":i},a=TMe(n,i,!1),o={},l=new Set;return mpt(r,{allKeys:!0},(u,p,m,f)=>{if(f===void 0)return;let h=a+p,g=s[f];typeof u[t]=="string"&&(g=y.call(this,u[t])),k.call(this,u.$anchor),k.call(this,u.$dynamicAnchor),s[p]=g;function y(T){let w=this.opts.uriResolver.resolve;if(T=sb(g?w(g,T):T),l.has(T))throw d(T);l.add(T);let S=this.refs[T];return typeof S=="string"&&(S=this.refs[S]),typeof S=="object"?c(u,S.schema,T):T!==sb(h)&&(T[0]==="#"?(c(u,o[T],T),o[T]=u):this.refs[T]=h),T}function k(T){if(typeof T=="string"){if(!bpt.test(T))throw new Error(`invalid anchor "${T}"`);y.call(this,`#${T}`)}}}),o;function c(u,p,m){if(p!==void 0&&!ppt(u,p))throw d(m)}function d(u){return new Error(`reference "${u}" resolves to more than one schema`)}}Js.getSchemaRefs=Tpt});var QE=x(Xp=>{"use strict";Object.defineProperty(Xp,"__esModule",{value:!0});Xp.getData=Xp.KeywordCxt=Xp.validateFunctionCode=void 0;var DMe=tMe(),wMe=WE(),$8=_8(),nR=WE(),kpt=lMe(),ZE=mMe(),F8=hMe(),Ne=wt(),Je=iu(),wpt=GE(),su=er(),KE=VE();function Spt(r){if(_Me(r)&&(MMe(r),PMe(r))){Dpt(r);return}CMe(r,()=>(0,DMe.topBoolOrEmptySchema)(r))}Xp.validateFunctionCode=Spt;function CMe({gen:r,validateName:e,schema:t,schemaEnv:n,opts:i},s){i.code.es5?r.func(e,(0,Ne._)`${Je.default.data}, ${Je.default.valCxt}`,n.$async,()=>{r.code((0,Ne._)`"use strict"; ${SMe(t,i)}`),Ept(r,i),r.code(s)}):r.func(e,(0,Ne._)`${Je.default.data}, ${xpt(i)}`,n.$async,()=>r.code(SMe(t,i)).code(s))}function xpt(r){return(0,Ne._)`{${Je.default.instancePath}="", ${Je.default.parentData}, ${Je.default.parentDataProperty}, ${Je.default.rootData}=${Je.default.data}${r.dynamicRef?(0,Ne._)`, ${Je.default.dynamicAnchors}={}`:Ne.nil}}={}`}function Ept(r,e){r.if(Je.default.valCxt,()=>{r.var(Je.default.instancePath,(0,Ne._)`${Je.default.valCxt}.${Je.default.instancePath}`),r.var(Je.default.parentData,(0,Ne._)`${Je.default.valCxt}.${Je.default.parentData}`),r.var(Je.default.parentDataProperty,(0,Ne._)`${Je.default.valCxt}.${Je.default.parentDataProperty}`),r.var(Je.default.rootData,(0,Ne._)`${Je.default.valCxt}.${Je.default.rootData}`),e.dynamicRef&&r.var(Je.default.dynamicAnchors,(0,Ne._)`${Je.default.valCxt}.${Je.default.dynamicAnchors}`)},()=>{r.var(Je.default.instancePath,(0,Ne._)`""`),r.var(Je.default.parentData,(0,Ne._)`undefined`),r.var(Je.default.parentDataProperty,(0,Ne._)`undefined`),r.var(Je.default.rootData,Je.default.data),e.dynamicRef&&r.var(Je.default.dynamicAnchors,(0,Ne._)`{}`)})}function Dpt(r){let{schema:e,opts:t,gen:n}=r;CMe(r,()=>{t.$comment&&e.$comment&&IMe(r),Apt(r),n.let(Je.default.vErrors,null),n.let(Je.default.errors,0),t.unevaluated&&Cpt(r),AMe(r),Rpt(r)})}function Cpt(r){let{gen:e,validateName:t}=r;r.evaluated=e.const("evaluated",(0,Ne._)`${t}.evaluated`),e.if((0,Ne._)`${r.evaluated}.dynamicProps`,()=>e.assign((0,Ne._)`${r.evaluated}.props`,(0,Ne._)`undefined`)),e.if((0,Ne._)`${r.evaluated}.dynamicItems`,()=>e.assign((0,Ne._)`${r.evaluated}.items`,(0,Ne._)`undefined`))}function SMe(r,e){let t=typeof r=="object"&&r[e.schemaId];return t&&(e.code.source||e.code.process)?(0,Ne._)`/*# sourceURL=${t} */`:Ne.nil}function Ppt(r,e){if(_Me(r)&&(MMe(r),PMe(r))){_pt(r,e);return}(0,DMe.boolOrEmptySchema)(r,e)}function PMe({schema:r,self:e}){if(typeof r=="boolean")return!r;for(let t in r)if(e.RULES.all[t])return!0;return!1}function _Me(r){return typeof r.schema!="boolean"}function _pt(r,e){let{schema:t,gen:n,opts:i}=r;i.$comment&&t.$comment&&IMe(r),Ipt(r),Npt(r);let s=n.const("_errs",Je.default.errors);AMe(r,s),n.var(e,(0,Ne._)`${s} === ${Je.default.errors}`)}function MMe(r){(0,su.checkUnknownRules)(r),Mpt(r)}function AMe(r,e){if(r.opts.jtd)return xMe(r,[],!1,e);let t=(0,wMe.getSchemaTypes)(r.schema),n=(0,wMe.coerceAndCheckDataType)(r,t);xMe(r,t,!n,e)}function Mpt(r){let{schema:e,errSchemaPath:t,opts:n,self:i}=r;e.$ref&&n.ignoreKeywordsWithRef&&(0,su.schemaHasRulesButRef)(e,i.RULES)&&i.logger.warn(`$ref: keywords ignored in schema at path "${t}"`)}function Apt(r){let{schema:e,opts:t}=r;e.default!==void 0&&t.useDefaults&&t.strictSchema&&(0,su.checkStrictMode)(r,"default is ignored in the schema root")}function Ipt(r){let e=r.schema[r.opts.schemaId];e&&(r.baseId=(0,wpt.resolveUrl)(r.opts.uriResolver,r.baseId,e))}function Npt(r){if(r.schema.$async&&!r.schemaEnv.$async)throw new Error("async schema in sync schema")}function IMe({gen:r,schemaEnv:e,schema:t,errSchemaPath:n,opts:i}){let s=t.$comment;if(i.$comment===!0)r.code((0,Ne._)`${Je.default.self}.logger.log(${s})`);else if(typeof i.$comment=="function"){let a=(0,Ne.str)`${n}/$comment`,o=r.scopeValue("root",{ref:e.root});r.code((0,Ne._)`${Je.default.self}.opts.$comment(${s}, ${a}, ${o}.schema)`)}}function Rpt(r){let{gen:e,schemaEnv:t,validateName:n,ValidationError:i,opts:s}=r;t.$async?e.if((0,Ne._)`${Je.default.errors} === 0`,()=>e.return(Je.default.data),()=>e.throw((0,Ne._)`new ${i}(${Je.default.vErrors})`)):(e.assign((0,Ne._)`${n}.errors`,Je.default.vErrors),s.unevaluated&&Opt(r),e.return((0,Ne._)`${Je.default.errors} === 0`))}function Opt({gen:r,evaluated:e,props:t,items:n}){t instanceof Ne.Name&&r.assign((0,Ne._)`${e}.props`,t),n instanceof Ne.Name&&r.assign((0,Ne._)`${e}.items`,n)}function xMe(r,e,t,n){let{gen:i,schema:s,data:a,allErrors:o,opts:l,self:c}=r,{RULES:d}=c;if(s.$ref&&(l.ignoreKeywordsWithRef||!(0,su.schemaHasRulesButRef)(s,d))){i.block(()=>RMe(r,"$ref",d.all.$ref.definition));return}l.jtd||Lpt(r,e),i.block(()=>{for(let p of d.rules)u(p);u(d.post)});function u(p){(0,$8.shouldUseGroup)(s,p)&&(p.type?(i.if((0,nR.checkDataType)(p.type,a,l.strictNumbers)),EMe(r,p),e.length===1&&e[0]===p.type&&t&&(i.else(),(0,nR.reportTypeError)(r)),i.endIf()):EMe(r,p),o||i.if((0,Ne._)`${Je.default.errors} === ${n||0}`))}}function EMe(r,e){let{gen:t,schema:n,opts:{useDefaults:i}}=r;i&&(0,kpt.assignDefaults)(r,e.type),t.block(()=>{for(let s of e.rules)(0,$8.shouldUseRule)(n,s)&&RMe(r,s.keyword,s.definition,e.type)})}function Lpt(r,e){r.schemaEnv.meta||!r.opts.strictTypes||(Fpt(r,e),r.opts.allowUnionTypes||$pt(r,e),jpt(r,r.dataTypes))}function Fpt(r,e){if(e.length){if(!r.dataTypes.length){r.dataTypes=e;return}e.forEach(t=>{NMe(r.dataTypes,t)||j8(r,`type "${t}" not allowed by context "${r.dataTypes.join(",")}"`)}),Bpt(r,e)}}function $pt(r,e){e.length>1&&!(e.length===2&&e.includes("null"))&&j8(r,"use allowUnionTypes to allow union type keyword")}function jpt(r,e){let t=r.self.RULES.all;for(let n in t){let i=t[n];if(typeof i=="object"&&(0,$8.shouldUseRule)(r.schema,i)){let{type:s}=i.definition;s.length&&!s.some(a=>zpt(e,a))&&j8(r,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function zpt(r,e){return r.includes(e)||e==="number"&&r.includes("integer")}function NMe(r,e){return r.includes(e)||e==="integer"&&r.includes("number")}function Bpt(r,e){let t=[];for(let n of r.dataTypes)NMe(e,n)?t.push(n):e.includes("integer")&&n==="number"&&t.push("integer");r.dataTypes=t}function j8(r,e){let t=r.schemaEnv.baseId+r.errSchemaPath;e+=` at "${t}" (strictTypes)`,(0,su.checkStrictMode)(r,e,r.opts.strictTypes)}var iR=class{constructor(e,t,n){if((0,ZE.validateKeywordUsage)(e,t,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=t.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,su.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=t.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=t,this.$data)this.schemaCode=e.gen.const("vSchema",OMe(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,ZE.validSchemaType)(this.schema,t.schemaType,t.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(t.schemaType)}`);("code"in t?t.trackErrors:t.errors!==!1)&&(this.errsCount=e.gen.const("_errs",Je.default.errors))}result(e,t,n){this.failResult((0,Ne.not)(e),t,n)}failResult(e,t,n){this.gen.if(e),n?n():this.error(),t?(this.gen.else(),t(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,t){this.failResult((0,Ne.not)(e),void 0,t)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:t}=this;this.fail((0,Ne._)`${t} !== undefined && (${(0,Ne.or)(this.invalid$data(),e)})`)}error(e,t,n){if(t){this.setParams(t),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,t){(e?KE.reportExtraError:KE.reportError)(this,this.def.error,t)}$dataError(){(0,KE.reportError)(this,this.def.$dataError||KE.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,KE.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,t){t?Object.assign(this.params,e):this.params=e}block$data(e,t,n=Ne.nil){this.gen.block(()=>{this.check$data(e,n),t()})}check$data(e=Ne.nil,t=Ne.nil){if(!this.$data)return;let{gen:n,schemaCode:i,schemaType:s,def:a}=this;n.if((0,Ne.or)((0,Ne._)`${i} === undefined`,t)),e!==Ne.nil&&n.assign(e,!0),(s.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==Ne.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:t,schemaType:n,def:i,it:s}=this;return(0,Ne.or)(a(),o());function a(){if(n.length){if(!(t instanceof Ne.Name))throw new Error("ajv implementation error");let l=Array.isArray(n)?n:[n];return(0,Ne._)`${(0,nR.checkDataTypes)(l,t,s.opts.strictNumbers,nR.DataType.Wrong)}`}return Ne.nil}function o(){if(i.validateSchema){let l=e.scopeValue("validate$data",{ref:i.validateSchema});return(0,Ne._)`!${l}(${t})`}return Ne.nil}}subschema(e,t){let n=(0,F8.getSubschema)(this.it,e);(0,F8.extendSubschemaData)(n,this.it,e),(0,F8.extendSubschemaMode)(n,e);let i={...this.it,...n,items:void 0,props:void 0};return Ppt(i,t),i}mergeEvaluated(e,t){let{it:n,gen:i}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=su.mergeEvaluated.props(i,e.props,n.props,t)),n.items!==!0&&e.items!==void 0&&(n.items=su.mergeEvaluated.items(i,e.items,n.items,t)))}mergeValidEvaluated(e,t){let{it:n,gen:i}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return i.if(t,()=>this.mergeEvaluated(e,Ne.Name)),!0}};Xp.KeywordCxt=iR;function RMe(r,e,t,n){let i=new iR(r,t,e);"code"in t?t.code(i,n):i.$data&&t.validate?(0,ZE.funcKeywordCode)(i,t):"macro"in t?(0,ZE.macroKeywordCode)(i,t):(t.compile||t.validate)&&(0,ZE.funcKeywordCode)(i,t)}var qpt=/^\/(?:[^~]|~0|~1)*$/,Hpt=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function OMe(r,{dataLevel:e,dataNames:t,dataPathArr:n}){let i,s;if(r==="")return Je.default.rootData;if(r[0]==="/"){if(!qpt.test(r))throw new Error(`Invalid JSON-pointer: ${r}`);i=r,s=Je.default.rootData}else{let c=Hpt.exec(r);if(!c)throw new Error(`Invalid JSON-pointer: ${r}`);let d=+c[1];if(i=c[2],i==="#"){if(d>=e)throw new Error(l("property/index",d));return n[e-d]}if(d>e)throw new Error(l("data",d));if(s=t[e-d],!i)return s}let a=s,o=i.split("/");for(let c of o)c&&(s=(0,Ne._)`${s}${(0,Ne.getProperty)((0,su.unescapeJsonPointer)(c))}`,a=(0,Ne._)`${a} && ${s}`);return a;function l(c,d){return`Cannot access ${c} ${d} levels up, current level is ${e}`}}Xp.getData=OMe});var sR=x(B8=>{"use strict";Object.defineProperty(B8,"__esModule",{value:!0});var z8=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};B8.default=z8});var JE=x(U8=>{"use strict";Object.defineProperty(U8,"__esModule",{value:!0});var q8=GE(),H8=class extends Error{constructor(e,t,n,i){super(i||`can't resolve reference ${n} from id ${t}`),this.missingRef=(0,q8.resolveUrl)(e,t,n),this.missingSchema=(0,q8.normalizeId)((0,q8.getFullPath)(e,this.missingRef))}};U8.default=H8});var oR=x(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});xo.resolveSchema=xo.getCompilingSchema=xo.resolveRef=xo.compileSchema=xo.SchemaEnv=void 0;var pl=wt(),Upt=sR(),_h=iu(),ml=GE(),LMe=er(),Vpt=QE(),ab=class{constructor(e){var t;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(t=e.baseId)!==null&&t!==void 0?t:(0,ml.normalizeId)(n==null?void 0:n[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n==null?void 0:n.$async,this.refs={}}};xo.SchemaEnv=ab;function W8(r){let e=FMe.call(this,r);if(e)return e;let t=(0,ml.getFullPath)(this.opts.uriResolver,r.root.baseId),{es5:n,lines:i}=this.opts.code,{ownProperties:s}=this.opts,a=new pl.CodeGen(this.scope,{es5:n,lines:i,ownProperties:s}),o;r.$async&&(o=a.scopeValue("Error",{ref:Upt.default,code:(0,pl._)`require("ajv/dist/runtime/validation_error").default`}));let l=a.scopeName("validate");r.validateName=l;let c={gen:a,allErrors:this.opts.allErrors,data:_h.default.data,parentData:_h.default.parentData,parentDataProperty:_h.default.parentDataProperty,dataNames:[_h.default.data],dataPathArr:[pl.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===!0?{ref:r.schema,code:(0,pl.stringify)(r.schema)}:{ref:r.schema}),validateName:l,ValidationError:o,schema:r.schema,schemaEnv:r,rootId:t,baseId:r.baseId||t,schemaPath:pl.nil,errSchemaPath:r.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,pl._)`""`,opts:this.opts,self:this},d;try{this._compilations.add(r),(0,Vpt.validateFunctionCode)(c),a.optimize(this.opts.code.optimize);let u=a.toString();d=`${a.scopeRefs(_h.default.scope)}return ${u}`,this.opts.code.process&&(d=this.opts.code.process(d,r));let m=new Function(`${_h.default.self}`,`${_h.default.scope}`,d)(this,this.scope.get());if(this.scope.value(l,{ref:m}),m.errors=null,m.schema=r.schema,m.schemaEnv=r,r.$async&&(m.$async=!0),this.opts.code.source===!0&&(m.source={validateName:l,validateCode:u,scopeValues:a._values}),this.opts.unevaluated){let{props:f,items:h}=c;m.evaluated={props:f instanceof pl.Name?void 0:f,items:h instanceof pl.Name?void 0:h,dynamicProps:f instanceof pl.Name,dynamicItems:h instanceof pl.Name},m.source&&(m.source.evaluated=(0,pl.stringify)(m.evaluated))}return r.validate=m,r}catch(u){throw delete r.validate,delete r.validateName,d&&this.logger.error("Error compiling schema, function code:",d),u}finally{this._compilations.delete(r)}}xo.compileSchema=W8;function Wpt(r,e,t){var n;t=(0,ml.resolveUrl)(this.opts.uriResolver,e,t);let i=r.refs[t];if(i)return i;let s=Kpt.call(this,r,t);if(s===void 0){let a=(n=r.localRefs)===null||n===void 0?void 0:n[t],{schemaId:o}=this.opts;a&&(s=new ab({schema:a,schemaId:o,root:r,baseId:e}))}if(s!==void 0)return r.refs[t]=Ypt.call(this,s)}xo.resolveRef=Wpt;function Ypt(r){return(0,ml.inlineRef)(r.schema,this.opts.inlineRefs)?r.schema:r.validate?r:W8.call(this,r)}function FMe(r){for(let e of this._compilations)if(Gpt(e,r))return e}xo.getCompilingSchema=FMe;function Gpt(r,e){return r.schema===e.schema&&r.root===e.root&&r.baseId===e.baseId}function Kpt(r,e){let t;for(;typeof(t=this.refs[e])=="string";)e=t;return t||this.schemas[e]||aR.call(this,r,e)}function aR(r,e){let t=this.opts.uriResolver.parse(e),n=(0,ml._getFullPath)(this.opts.uriResolver,t),i=(0,ml.getFullPath)(this.opts.uriResolver,r.baseId,void 0);if(Object.keys(r.schema).length>0&&n===i)return V8.call(this,t,r);let s=(0,ml.normalizeId)(n),a=this.refs[s]||this.schemas[s];if(typeof a=="string"){let o=aR.call(this,r,a);return typeof(o==null?void 0:o.schema)!="object"?void 0:V8.call(this,t,o)}if(typeof(a==null?void 0:a.schema)=="object"){if(a.validate||W8.call(this,a),s===(0,ml.normalizeId)(e)){let{schema:o}=a,{schemaId:l}=this.opts,c=o[l];return c&&(i=(0,ml.resolveUrl)(this.opts.uriResolver,i,c)),new ab({schema:o,schemaId:l,root:r,baseId:i})}return V8.call(this,t,a)}}xo.resolveSchema=aR;var Zpt=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function V8(r,{baseId:e,schema:t,root:n}){var i;if(((i=r.fragment)===null||i===void 0?void 0:i[0])!=="/")return;for(let o of r.fragment.slice(1).split("/")){if(typeof t=="boolean")return;let l=t[(0,LMe.unescapeFragment)(o)];if(l===void 0)return;t=l;let c=typeof t=="object"&&t[this.opts.schemaId];!Zpt.has(o)&&c&&(e=(0,ml.resolveUrl)(this.opts.uriResolver,e,c))}let s;if(typeof t!="boolean"&&t.$ref&&!(0,LMe.schemaHasRulesButRef)(t,this.RULES)){let o=(0,ml.resolveUrl)(this.opts.uriResolver,e,t.$ref);s=aR.call(this,n,o)}let{schemaId:a}=this.opts;if(s=s||new ab({schema:t,schemaId:a,root:n,baseId:e}),s.schema!==s.root.schema)return s}});var $Me=x((abr,Qpt)=>{Qpt.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var zMe=x((obr,jMe)=>{"use strict";var Jpt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};jMe.exports={HEX:Jpt}});var GMe=x((lbr,YMe)=>{"use strict";var{HEX:Xpt}=zMe(),emt=/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u;function UMe(r){if(WMe(r,".")<3)return{host:r,isIPV4:!1};let e=r.match(emt)||[],[t]=e;return t?{host:rmt(t,"."),isIPV4:!0}:{host:r,isIPV4:!1}}function Y8(r,e=!1){let t="",n=!0;for(let i of r){if(Xpt[i]===void 0)return;i!=="0"&&n===!0&&(n=!1),n||(t+=i)}return e&&t.length===0&&(t="0"),t}function tmt(r){let e=0,t={error:!1,address:"",zone:""},n=[],i=[],s=!1,a=!1,o=!1;function l(){if(i.length){if(s===!1){let c=Y8(i);if(c!==void 0)n.push(c);else return t.error=!0,!1}i.length=0}return!0}for(let c=0;c<r.length;c++){let d=r[c];if(!(d==="["||d==="]"))if(d===":"){if(a===!0&&(o=!0),!l())break;if(e++,n.push(":"),e>7){t.error=!0;break}c-1>=0&&r[c-1]===":"&&(a=!0);continue}else if(d==="%"){if(!l())break;s=!0}else{i.push(d);continue}}return i.length&&(s?t.zone=i.join(""):o?n.push(i.join("")):n.push(Y8(i))),t.address=n.join(""),t}function VMe(r){if(WMe(r,":")<2)return{host:r,isIPV6:!1};let e=tmt(r);if(e.error)return{host:r,isIPV6:!1};{let t=e.address,n=e.address;return e.zone&&(t+="%"+e.zone,n+="%25"+e.zone),{host:t,escapedHost:n,isIPV6:!0}}}function rmt(r,e){let t="",n=!0,i=r.length;for(let s=0;s<i;s++){let a=r[s];a==="0"&&n?(s+1<=i&&r[s+1]===e||s+1===i)&&(t+=a,n=!1):(a===e?n=!0:n=!1,t+=a)}return t}function WMe(r,e){let t=0;for(let n=0;n<r.length;n++)r[n]===e&&t++;return t}var BMe=/^\.\.?\//u,qMe=/^\/\.(?:\/|$)/u,HMe=/^\/\.\.(?:\/|$)/u,nmt=/^\/?(?:.|\n)*?(?=\/|$)/u;function imt(r){let e=[];for(;r.length;)if(r.match(BMe))r=r.replace(BMe,"");else if(r.match(qMe))r=r.replace(qMe,"/");else if(r.match(HMe))r=r.replace(HMe,"/"),e.pop();else if(r==="."||r==="..")r="";else{let t=r.match(nmt);if(t){let n=t[0];r=r.slice(n.length),e.push(n)}else throw new Error("Unexpected dot segment condition")}return e.join("")}function smt(r,e){let t=e!==!0?escape:unescape;return r.scheme!==void 0&&(r.scheme=t(r.scheme)),r.userinfo!==void 0&&(r.userinfo=t(r.userinfo)),r.host!==void 0&&(r.host=t(r.host)),r.path!==void 0&&(r.path=t(r.path)),r.query!==void 0&&(r.query=t(r.query)),r.fragment!==void 0&&(r.fragment=t(r.fragment)),r}function amt(r){let e=[];if(r.userinfo!==void 0&&(e.push(r.userinfo),e.push("@")),r.host!==void 0){let t=unescape(r.host),n=UMe(t);if(n.isIPV4)t=n.host;else{let i=VMe(n.host);i.isIPV6===!0?t=`[${i.escapedHost}]`:t=r.host}e.push(t)}return(typeof r.port=="number"||typeof r.port=="string")&&(e.push(":"),e.push(String(r.port))),e.length?e.join(""):void 0}YMe.exports={recomposeAuthority:amt,normalizeComponentEncoding:smt,removeDotSegments:imt,normalizeIPv4:UMe,normalizeIPv6:VMe,stringArrayToHexStripped:Y8}});var eAe=x((cbr,XMe)=>{"use strict";var omt=/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu,lmt=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;function KMe(r){return typeof r.secure=="boolean"?r.secure:String(r.scheme).toLowerCase()==="wss"}function ZMe(r){return r.host||(r.error=r.error||"HTTP URIs must have a host."),r}function QMe(r){let e=String(r.scheme).toLowerCase()==="https";return(r.port===(e?443:80)||r.port==="")&&(r.port=void 0),r.path||(r.path="/"),r}function cmt(r){return r.secure=KMe(r),r.resourceName=(r.path||"/")+(r.query?"?"+r.query:""),r.path=void 0,r.query=void 0,r}function dmt(r){if((r.port===(KMe(r)?443:80)||r.port==="")&&(r.port=void 0),typeof r.secure=="boolean"&&(r.scheme=r.secure?"wss":"ws",r.secure=void 0),r.resourceName){let[e,t]=r.resourceName.split("?");r.path=e&&e!=="/"?e:void 0,r.query=t,r.resourceName=void 0}return r.fragment=void 0,r}function umt(r,e){if(!r.path)return r.error="URN can not be parsed",r;let t=r.path.match(lmt);if(t){let n=e.scheme||r.scheme||"urn";r.nid=t[1].toLowerCase(),r.nss=t[2];let i=`${n}:${e.nid||r.nid}`,s=G8[i];r.path=void 0,s&&(r=s.parse(r,e))}else r.error=r.error||"URN can not be parsed.";return r}function pmt(r,e){let t=e.scheme||r.scheme||"urn",n=r.nid.toLowerCase(),i=`${t}:${e.nid||n}`,s=G8[i];s&&(r=s.serialize(r,e));let a=r,o=r.nss;return a.path=`${n||e.nid}:${o}`,e.skipEscape=!0,a}function mmt(r,e){let t=r;return t.uuid=t.nss,t.nss=void 0,!e.tolerant&&(!t.uuid||!omt.test(t.uuid))&&(t.error=t.error||"UUID is not valid."),t}function fmt(r){let e=r;return e.nss=(r.uuid||"").toLowerCase(),e}var JMe={scheme:"http",domainHost:!0,parse:ZMe,serialize:QMe},hmt={scheme:"https",domainHost:JMe.domainHost,parse:ZMe,serialize:QMe},lR={scheme:"ws",domainHost:!0,parse:cmt,serialize:dmt},gmt={scheme:"wss",domainHost:lR.domainHost,parse:lR.parse,serialize:lR.serialize},ymt={scheme:"urn",parse:umt,serialize:pmt,skipNormalize:!0},vmt={scheme:"urn:uuid",parse:mmt,serialize:fmt,skipNormalize:!0},G8={http:JMe,https:hmt,ws:lR,wss:gmt,urn:ymt,"urn:uuid":vmt};XMe.exports=G8});var Q8=x((dbr,dR)=>{"use strict";var{normalizeIPv6:bmt,normalizeIPv4:Tmt,removeDotSegments:XE,recomposeAuthority:kmt,normalizeComponentEncoding:cR}=GMe(),K8=eAe();function wmt(r,e){return typeof r=="string"?r=Ac(au(r,e),e):typeof r=="object"&&(r=au(Ac(r,e),e)),r}function Smt(r,e,t){let n=Object.assign({scheme:"null"},t),i=tAe(au(r,n),au(e,n),n,!0);return Ac(i,{...n,skipEscape:!0})}function tAe(r,e,t,n){let i={};return n||(r=au(Ac(r,t),t),e=au(Ac(e,t),t)),t=t||{},!t.tolerant&&e.scheme?(i.scheme=e.scheme,i.userinfo=e.userinfo,i.host=e.host,i.port=e.port,i.path=XE(e.path||""),i.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(i.userinfo=e.userinfo,i.host=e.host,i.port=e.port,i.path=XE(e.path||""),i.query=e.query):(e.path?(e.path.charAt(0)==="/"?i.path=XE(e.path):((r.userinfo!==void 0||r.host!==void 0||r.port!==void 0)&&!r.path?i.path="/"+e.path:r.path?i.path=r.path.slice(0,r.path.lastIndexOf("/")+1)+e.path:i.path=e.path,i.path=XE(i.path)),i.query=e.query):(i.path=r.path,e.query!==void 0?i.query=e.query:i.query=r.query),i.userinfo=r.userinfo,i.host=r.host,i.port=r.port),i.scheme=r.scheme),i.fragment=e.fragment,i}function xmt(r,e,t){return typeof r=="string"?(r=unescape(r),r=Ac(cR(au(r,t),!0),{...t,skipEscape:!0})):typeof r=="object"&&(r=Ac(cR(r,!0),{...t,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=Ac(cR(au(e,t),!0),{...t,skipEscape:!0})):typeof e=="object"&&(e=Ac(cR(e,!0),{...t,skipEscape:!0})),r.toLowerCase()===e.toLowerCase()}function Ac(r,e){let t={host:r.host,scheme:r.scheme,userinfo:r.userinfo,port:r.port,path:r.path,query:r.query,nid:r.nid,nss:r.nss,uuid:r.uuid,fragment:r.fragment,reference:r.reference,resourceName:r.resourceName,secure:r.secure,error:""},n=Object.assign({},e),i=[],s=K8[(n.scheme||t.scheme||"").toLowerCase()];s&&s.serialize&&s.serialize(t,n),t.path!==void 0&&(n.skipEscape?t.path=unescape(t.path):(t.path=escape(t.path),t.scheme!==void 0&&(t.path=t.path.split("%3A").join(":")))),n.reference!=="suffix"&&t.scheme&&i.push(t.scheme,":");let a=kmt(t);if(a!==void 0&&(n.reference!=="suffix"&&i.push("//"),i.push(a),t.path&&t.path.charAt(0)!=="/"&&i.push("/")),t.path!==void 0){let o=t.path;!n.absolutePath&&(!s||!s.absolutePath)&&(o=XE(o)),a===void 0&&(o=o.replace(/^\/\//u,"/%2F")),i.push(o)}return t.query!==void 0&&i.push("?",t.query),t.fragment!==void 0&&i.push("#",t.fragment),i.join("")}var Emt=Array.from({length:127},(r,e)=>/[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(e)));function Dmt(r){let e=0;for(let t=0,n=r.length;t<n;++t)if(e=r.charCodeAt(t),e>126||Emt[e])return!0;return!1}var Cmt=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function au(r,e){let t=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},i=r.indexOf("%")!==-1,s=!1;t.reference==="suffix"&&(r=(t.scheme?t.scheme+":":"")+"//"+r);let a=r.match(Cmt);if(a){if(n.scheme=a[1],n.userinfo=a[3],n.host=a[4],n.port=parseInt(a[5],10),n.path=a[6]||"",n.query=a[7],n.fragment=a[8],isNaN(n.port)&&(n.port=a[5]),n.host){let l=Tmt(n.host);if(l.isIPV4===!1){let c=bmt(l.host);n.host=c.host.toLowerCase(),s=c.isIPV6}else n.host=l.host,s=!0}n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",t.reference&&t.reference!=="suffix"&&t.reference!==n.reference&&(n.error=n.error||"URI is not a "+t.reference+" reference.");let o=K8[(t.scheme||n.scheme||"").toLowerCase()];if(!t.unicodeSupport&&(!o||!o.unicodeSupport)&&n.host&&(t.domainHost||o&&o.domainHost)&&s===!1&&Dmt(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(l){n.error=n.error||"Host's domain name can not be converted to ASCII: "+l}(!o||o&&!o.skipNormalize)&&(i&&n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),i&&n.host!==void 0&&(n.host=unescape(n.host)),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),o&&o.parse&&o.parse(n,t)}else n.error=n.error||"URI can not be parsed.";return n}var Z8={SCHEMES:K8,normalize:wmt,resolve:Smt,resolveComponents:tAe,equal:xmt,serialize:Ac,parse:au};dR.exports=Z8;dR.exports.default=Z8;dR.exports.fastUri=Z8});var nAe=x(J8=>{"use strict";Object.defineProperty(J8,"__esModule",{value:!0});var rAe=Q8();rAe.code='require("ajv/dist/runtime/uri").default';J8.default=rAe});var uAe=x(Ti=>{"use strict";Object.defineProperty(Ti,"__esModule",{value:!0});Ti.CodeGen=Ti.Name=Ti.nil=Ti.stringify=Ti.str=Ti._=Ti.KeywordCxt=void 0;var Pmt=QE();Object.defineProperty(Ti,"KeywordCxt",{enumerable:!0,get:function(){return Pmt.KeywordCxt}});var ob=wt();Object.defineProperty(Ti,"_",{enumerable:!0,get:function(){return ob._}});Object.defineProperty(Ti,"str",{enumerable:!0,get:function(){return ob.str}});Object.defineProperty(Ti,"stringify",{enumerable:!0,get:function(){return ob.stringify}});Object.defineProperty(Ti,"nil",{enumerable:!0,get:function(){return ob.nil}});Object.defineProperty(Ti,"Name",{enumerable:!0,get:function(){return ob.Name}});Object.defineProperty(Ti,"CodeGen",{enumerable:!0,get:function(){return ob.CodeGen}});var _mt=sR(),lAe=JE(),Mmt=P8(),e0=oR(),Amt=wt(),t0=GE(),uR=WE(),eG=er(),iAe=$Me(),Imt=nAe(),cAe=(r,e)=>new RegExp(r,e);cAe.code="new RegExp";var Nmt=["removeAdditional","useDefaults","coerceTypes"],Rmt=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),Omt={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},Lmt={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},sAe=200;function Fmt(r){var e,t,n,i,s,a,o,l,c,d,u,p,m,f,h,g,y,k,T,w,S,E,C,D,A;let N=r.strict,V=(e=r.code)===null||e===void 0?void 0:e.optimize,R=V===!0||V===void 0?1:V||0,I=(n=(t=r.code)===null||t===void 0?void 0:t.regExp)!==null&&n!==void 0?n:cAe,O=(i=r.uriResolver)!==null&&i!==void 0?i:Imt.default;return{strictSchema:(a=(s=r.strictSchema)!==null&&s!==void 0?s:N)!==null&&a!==void 0?a:!0,strictNumbers:(l=(o=r.strictNumbers)!==null&&o!==void 0?o:N)!==null&&l!==void 0?l:!0,strictTypes:(d=(c=r.strictTypes)!==null&&c!==void 0?c:N)!==null&&d!==void 0?d:"log",strictTuples:(p=(u=r.strictTuples)!==null&&u!==void 0?u:N)!==null&&p!==void 0?p:"log",strictRequired:(f=(m=r.strictRequired)!==null&&m!==void 0?m:N)!==null&&f!==void 0?f:!1,code:r.code?{...r.code,optimize:R,regExp:I}:{optimize:R,regExp:I},loopRequired:(h=r.loopRequired)!==null&&h!==void 0?h:sAe,loopEnum:(g=r.loopEnum)!==null&&g!==void 0?g:sAe,meta:(y=r.meta)!==null&&y!==void 0?y:!0,messages:(k=r.messages)!==null&&k!==void 0?k:!0,inlineRefs:(T=r.inlineRefs)!==null&&T!==void 0?T:!0,schemaId:(w=r.schemaId)!==null&&w!==void 0?w:"$id",addUsedSchema:(S=r.addUsedSchema)!==null&&S!==void 0?S:!0,validateSchema:(E=r.validateSchema)!==null&&E!==void 0?E:!0,validateFormats:(C=r.validateFormats)!==null&&C!==void 0?C:!0,unicodeRegExp:(D=r.unicodeRegExp)!==null&&D!==void 0?D:!0,int32range:(A=r.int32range)!==null&&A!==void 0?A:!0,uriResolver:O}}var r0=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...Fmt(e)};let{es5:t,lines:n}=this.opts.code;this.scope=new Amt.ValueScope({scope:{},prefixes:Rmt,es5:t,lines:n}),this.logger=Hmt(e.logger);let i=e.validateFormats;e.validateFormats=!1,this.RULES=(0,Mmt.getRules)(),aAe.call(this,Omt,e,"NOT SUPPORTED"),aAe.call(this,Lmt,e,"DEPRECATED","warn"),this._metaOpts=Bmt.call(this),e.formats&&jmt.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&zmt.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),$mt.call(this),e.validateFormats=i}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:t,schemaId:n}=this.opts,i=iAe;n==="id"&&(i={...iAe},i.id=i.$id,delete i.$id),t&&e&&this.addMetaSchema(i,i[n],!1)}defaultMeta(){let{meta:e,schemaId:t}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[t]||e:void 0}validate(e,t){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let i=n(t);return"$async"in n||(this.errors=n.errors),i}compile(e,t){let n=this._addSchema(e,t);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,t){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return i.call(this,e,t);async function i(d,u){await s.call(this,d.$schema);let p=this._addSchema(d,u);return p.validate||a.call(this,p)}async function s(d){d&&!this.getSchema(d)&&await i.call(this,{$ref:d},!0)}async function a(d){try{return this._compileSchemaEnv(d)}catch(u){if(!(u instanceof lAe.default))throw u;return o.call(this,u),await l.call(this,u.missingSchema),a.call(this,d)}}function o({missingSchema:d,missingRef:u}){if(this.refs[d])throw new Error(`AnySchema ${d} is loaded but ${u} cannot be resolved`)}async function l(d){let u=await c.call(this,d);this.refs[d]||await s.call(this,u.$schema),this.refs[d]||this.addSchema(u,d,t)}async function c(d){let u=this._loading[d];if(u)return u;try{return await(this._loading[d]=n(d))}finally{delete this._loading[d]}}}addSchema(e,t,n,i=this.opts.validateSchema){if(Array.isArray(e)){for(let a of e)this.addSchema(a,void 0,n,i);return this}let s;if(typeof e=="object"){let{schemaId:a}=this.opts;if(s=e[a],s!==void 0&&typeof s!="string")throw new Error(`schema ${a} must be string`)}return t=(0,t0.normalizeId)(t||s),this._checkUnique(t),this.schemas[t]=this._addSchema(e,n,t,i,!0),this}addMetaSchema(e,t,n=this.opts.validateSchema){return this.addSchema(e,t,!0,n),this}validateSchema(e,t){if(typeof e=="boolean")return!0;let n;if(n=e.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let i=this.validate(n,e);if(!i&&t){let s="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(s);else throw new Error(s)}return i}getSchema(e){let t;for(;typeof(t=oAe.call(this,e))=="string";)e=t;if(t===void 0){let{schemaId:n}=this.opts,i=new e0.SchemaEnv({schema:{},schemaId:n});if(t=e0.resolveSchema.call(this,i,e),!t)return;this.refs[e]=t}return t.validate||this._compileSchemaEnv(t)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let t=oAe.call(this,e);return typeof t=="object"&&this._cache.delete(t.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let t=e;this._cache.delete(t);let n=e[this.opts.schemaId];return n&&(n=(0,t0.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let t of e)this.addKeyword(t);return this}addKeyword(e,t){let n;if(typeof e=="string")n=e,typeof t=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),t.keyword=n);else if(typeof e=="object"&&t===void 0){if(t=e,n=t.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(Vmt.call(this,n,t),!t)return(0,eG.eachItem)(n,s=>X8.call(this,s)),this;Ymt.call(this,t);let i={...t,type:(0,uR.getJSONTypes)(t.type),schemaType:(0,uR.getJSONTypes)(t.schemaType)};return(0,eG.eachItem)(n,i.type.length===0?s=>X8.call(this,s,i):s=>i.type.forEach(a=>X8.call(this,s,i,a))),this}getKeyword(e){let t=this.RULES.all[e];return typeof t=="object"?t.definition:!!t}removeKeyword(e){let{RULES:t}=this;delete t.keywords[e],delete t.all[e];for(let n of t.rules){let i=n.rules.findIndex(s=>s.keyword===e);i>=0&&n.rules.splice(i,1)}return this}addFormat(e,t){return typeof t=="string"&&(t=new RegExp(t)),this.formats[e]=t,this}errorsText(e=this.errors,{separator:t=", ",dataVar:n="data"}={}){return!e||e.length===0?"No errors":e.map(i=>`${n}${i.instancePath} ${i.message}`).reduce((i,s)=>i+t+s)}$dataMetaSchema(e,t){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let i of t){let s=i.split("/").slice(1),a=e;for(let o of s)a=a[o];for(let o in n){let l=n[o];if(typeof l!="object")continue;let{$data:c}=l.definition,d=a[o];c&&d&&(a[o]=dAe(d))}}return e}_removeAllSchemas(e,t){for(let n in e){let i=e[n];(!t||t.test(n))&&(typeof i=="string"?delete e[n]:i&&!i.meta&&(this._cache.delete(i.schema),delete e[n]))}}_addSchema(e,t,n,i=this.opts.validateSchema,s=this.opts.addUsedSchema){let a,{schemaId:o}=this.opts;if(typeof e=="object")a=e[o];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let l=this._cache.get(e);if(l!==void 0)return l;n=(0,t0.normalizeId)(a||n);let c=t0.getSchemaRefs.call(this,e,n);return l=new e0.SchemaEnv({schema:e,schemaId:o,meta:t,baseId:n,localRefs:c}),this._cache.set(l.schema,l),s&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=l),i&&this.validateSchema(e,!0),l}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):e0.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let t=this.opts;this.opts=this._metaOpts;try{e0.compileSchema.call(this,e)}finally{this.opts=t}}};r0.ValidationError=_mt.default;r0.MissingRefError=lAe.default;Ti.default=r0;function aAe(r,e,t,n="error"){for(let i in r){let s=i;s in e&&this.logger[n](`${t}: option ${i}. ${r[s]}`)}}function oAe(r){return r=(0,t0.normalizeId)(r),this.schemas[r]||this.refs[r]}function $mt(){let r=this.opts.schemas;if(r)if(Array.isArray(r))this.addSchema(r);else for(let e in r)this.addSchema(r[e],e)}function jmt(){for(let r in this.opts.formats){let e=this.opts.formats[r];e&&this.addFormat(r,e)}}function zmt(r){if(Array.isArray(r)){this.addVocabulary(r);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in r){let t=r[e];t.keyword||(t.keyword=e),this.addKeyword(t)}}function Bmt(){let r={...this.opts};for(let e of Nmt)delete r[e];return r}var qmt={log(){},warn(){},error(){}};function Hmt(r){if(r===!1)return qmt;if(r===void 0)return console;if(r.log&&r.warn&&r.error)return r;throw new Error("logger must implement log, warn and error methods")}var Umt=/^[a-z_$][a-z0-9_$:-]*$/i;function Vmt(r,e){let{RULES:t}=this;if((0,eG.eachItem)(r,n=>{if(t.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!Umt.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function X8(r,e,t){var n;let i=e==null?void 0:e.post;if(t&&i)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:s}=this,a=i?s.post:s.rules.find(({type:l})=>l===t);if(a||(a={type:t,rules:[]},s.rules.push(a)),s.keywords[r]=!0,!e)return;let o={keyword:r,definition:{...e,type:(0,uR.getJSONTypes)(e.type),schemaType:(0,uR.getJSONTypes)(e.schemaType)}};e.before?Wmt.call(this,a,o,e.before):a.rules.push(o),s.all[r]=o,(n=e.implements)===null||n===void 0||n.forEach(l=>this.addKeyword(l))}function Wmt(r,e,t){let n=r.rules.findIndex(i=>i.keyword===t);n>=0?r.rules.splice(n,0,e):(r.rules.push(e),this.logger.warn(`rule ${t} is not defined`))}function Ymt(r){let{metaSchema:e}=r;e!==void 0&&(r.$data&&this.opts.$data&&(e=dAe(e)),r.validateSchema=this.compile(e,!0))}var Gmt={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function dAe(r){return{anyOf:[r,Gmt]}}});var pAe=x(tG=>{"use strict";Object.defineProperty(tG,"__esModule",{value:!0});var Kmt={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};tG.default=Kmt});var gAe=x(Mh=>{"use strict";Object.defineProperty(Mh,"__esModule",{value:!0});Mh.callRef=Mh.getValidate=void 0;var Zmt=JE(),mAe=So(),Xs=wt(),lb=iu(),fAe=oR(),pR=er(),Qmt={keyword:"$ref",schemaType:"string",code(r){let{gen:e,schema:t,it:n}=r,{baseId:i,schemaEnv:s,validateName:a,opts:o,self:l}=n,{root:c}=s;if((t==="#"||t==="#/")&&i===c.baseId)return u();let d=fAe.resolveRef.call(l,c,i,t);if(d===void 0)throw new Zmt.default(n.opts.uriResolver,i,t);if(d instanceof fAe.SchemaEnv)return p(d);return m(d);function u(){if(s===c)return mR(r,a,s,s.$async);let f=e.scopeValue("root",{ref:c});return mR(r,(0,Xs._)`${f}.validate`,c,c.$async)}function p(f){let h=hAe(r,f);mR(r,h,f,f.$async)}function m(f){let h=e.scopeValue("schema",o.code.source===!0?{ref:f,code:(0,Xs.stringify)(f)}:{ref:f}),g=e.name("valid"),y=r.subschema({schema:f,dataTypes:[],schemaPath:Xs.nil,topSchemaRef:h,errSchemaPath:t},g);r.mergeEvaluated(y),r.ok(g)}}};function hAe(r,e){let{gen:t}=r;return e.validate?t.scopeValue("validate",{ref:e.validate}):(0,Xs._)`${t.scopeValue("wrapper",{ref:e})}.validate`}Mh.getValidate=hAe;function mR(r,e,t,n){let{gen:i,it:s}=r,{allErrors:a,schemaEnv:o,opts:l}=s,c=l.passContext?lb.default.this:Xs.nil;n?d():u();function d(){if(!o.$async)throw new Error("async schema referenced by sync schema");let f=i.let("valid");i.try(()=>{i.code((0,Xs._)`await ${(0,mAe.callValidateCode)(r,e,c)}`),m(e),a||i.assign(f,!0)},h=>{i.if((0,Xs._)`!(${h} instanceof ${s.ValidationError})`,()=>i.throw(h)),p(h),a||i.assign(f,!1)}),r.ok(f)}function u(){r.result((0,mAe.callValidateCode)(r,e,c),()=>m(e),()=>p(e))}function p(f){let h=(0,Xs._)`${f}.errors`;i.assign(lb.default.vErrors,(0,Xs._)`${lb.default.vErrors} === null ? ${h} : ${lb.default.vErrors}.concat(${h})`),i.assign(lb.default.errors,(0,Xs._)`${lb.default.vErrors}.length`)}function m(f){var h;if(!s.opts.unevaluated)return;let g=(h=t==null?void 0:t.validate)===null||h===void 0?void 0:h.evaluated;if(s.props!==!0)if(g&&!g.dynamicProps)g.props!==void 0&&(s.props=pR.mergeEvaluated.props(i,g.props,s.props));else{let y=i.var("props",(0,Xs._)`${f}.evaluated.props`);s.props=pR.mergeEvaluated.props(i,y,s.props,Xs.Name)}if(s.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(s.items=pR.mergeEvaluated.items(i,g.items,s.items));else{let y=i.var("items",(0,Xs._)`${f}.evaluated.items`);s.items=pR.mergeEvaluated.items(i,y,s.items,Xs.Name)}}}Mh.callRef=mR;Mh.default=Qmt});var yAe=x(rG=>{"use strict";Object.defineProperty(rG,"__esModule",{value:!0});var Jmt=pAe(),Xmt=gAe(),eft=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Jmt.default,Xmt.default];rG.default=eft});var vAe=x(nG=>{"use strict";Object.defineProperty(nG,"__esModule",{value:!0});var fR=wt(),em=fR.operators,hR={maximum:{okStr:"<=",ok:em.LTE,fail:em.GT},minimum:{okStr:">=",ok:em.GTE,fail:em.LT},exclusiveMaximum:{okStr:"<",ok:em.LT,fail:em.GTE},exclusiveMinimum:{okStr:">",ok:em.GT,fail:em.LTE}},tft={message:({keyword:r,schemaCode:e})=>(0,fR.str)`must be ${hR[r].okStr} ${e}`,params:({keyword:r,schemaCode:e})=>(0,fR._)`{comparison: ${hR[r].okStr}, limit: ${e}}`},rft={keyword:Object.keys(hR),type:"number",schemaType:"number",$data:!0,error:tft,code(r){let{keyword:e,data:t,schemaCode:n}=r;r.fail$data((0,fR._)`${t} ${hR[e].fail} ${n} || isNaN(${t})`)}};nG.default=rft});var bAe=x(iG=>{"use strict";Object.defineProperty(iG,"__esModule",{value:!0});var n0=wt(),nft={message:({schemaCode:r})=>(0,n0.str)`must be multiple of ${r}`,params:({schemaCode:r})=>(0,n0._)`{multipleOf: ${r}}`},ift={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:nft,code(r){let{gen:e,data:t,schemaCode:n,it:i}=r,s=i.opts.multipleOfPrecision,a=e.let("res"),o=s?(0,n0._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${s}`:(0,n0._)`${a} !== parseInt(${a})`;r.fail$data((0,n0._)`(${n} === 0 || (${a} = ${t}/${n}, ${o}))`)}};iG.default=ift});var kAe=x(sG=>{"use strict";Object.defineProperty(sG,"__esModule",{value:!0});function TAe(r){let e=r.length,t=0,n=0,i;for(;n<e;)t++,i=r.charCodeAt(n++),i>=55296&&i<=56319&&n<e&&(i=r.charCodeAt(n),(i&64512)===56320&&n++);return t}sG.default=TAe;TAe.code='require("ajv/dist/runtime/ucs2length").default'});var wAe=x(aG=>{"use strict";Object.defineProperty(aG,"__esModule",{value:!0});var Ah=wt(),sft=er(),aft=kAe(),oft={message({keyword:r,schemaCode:e}){let t=r==="maxLength"?"more":"fewer";return(0,Ah.str)`must NOT have ${t} than ${e} characters`},params:({schemaCode:r})=>(0,Ah._)`{limit: ${r}}`},lft={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:oft,code(r){let{keyword:e,data:t,schemaCode:n,it:i}=r,s=e==="maxLength"?Ah.operators.GT:Ah.operators.LT,a=i.opts.unicode===!1?(0,Ah._)`${t}.length`:(0,Ah._)`${(0,sft.useFunc)(r.gen,aft.default)}(${t})`;r.fail$data((0,Ah._)`${a} ${s} ${n}`)}};aG.default=lft});var SAe=x(oG=>{"use strict";Object.defineProperty(oG,"__esModule",{value:!0});var cft=So(),gR=wt(),dft={message:({schemaCode:r})=>(0,gR.str)`must match pattern "${r}"`,params:({schemaCode:r})=>(0,gR._)`{pattern: ${r}}`},uft={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:dft,code(r){let{data:e,$data:t,schema:n,schemaCode:i,it:s}=r,a=s.opts.unicodeRegExp?"u":"",o=t?(0,gR._)`(new RegExp(${i}, ${a}))`:(0,cft.usePattern)(r,n);r.fail$data((0,gR._)`!${o}.test(${e})`)}};oG.default=uft});var xAe=x(lG=>{"use strict";Object.defineProperty(lG,"__esModule",{value:!0});var i0=wt(),pft={message({keyword:r,schemaCode:e}){let t=r==="maxProperties"?"more":"fewer";return(0,i0.str)`must NOT have ${t} than ${e} properties`},params:({schemaCode:r})=>(0,i0._)`{limit: ${r}}`},mft={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:pft,code(r){let{keyword:e,data:t,schemaCode:n}=r,i=e==="maxProperties"?i0.operators.GT:i0.operators.LT;r.fail$data((0,i0._)`Object.keys(${t}).length ${i} ${n}`)}};lG.default=mft});var EAe=x(cG=>{"use strict";Object.defineProperty(cG,"__esModule",{value:!0});var s0=So(),a0=wt(),fft=er(),hft={message:({params:{missingProperty:r}})=>(0,a0.str)`must have required property '${r}'`,params:({params:{missingProperty:r}})=>(0,a0._)`{missingProperty: ${r}}`},gft={keyword:"required",type:"object",schemaType:"array",$data:!0,error:hft,code(r){let{gen:e,schema:t,schemaCode:n,data:i,$data:s,it:a}=r,{opts:o}=a;if(!s&&t.length===0)return;let l=t.length>=o.loopRequired;if(a.allErrors?c():d(),o.strictRequired){let m=r.parentSchema.properties,{definedProperties:f}=r.it;for(let h of t)if((m==null?void 0:m[h])===void 0&&!f.has(h)){let g=a.schemaEnv.baseId+a.errSchemaPath,y=`required property "${h}" is not defined at "${g}" (strictRequired)`;(0,fft.checkStrictMode)(a,y,a.opts.strictRequired)}}function c(){if(l||s)r.block$data(a0.nil,u);else for(let m of t)(0,s0.checkReportMissingProp)(r,m)}function d(){let m=e.let("missing");if(l||s){let f=e.let("valid",!0);r.block$data(f,()=>p(m,f)),r.ok(f)}else e.if((0,s0.checkMissingProp)(r,t,m)),(0,s0.reportMissingProp)(r,m),e.else()}function u(){e.forOf("prop",n,m=>{r.setParams({missingProperty:m}),e.if((0,s0.noPropertyInData)(e,i,m,o.ownProperties),()=>r.error())})}function p(m,f){r.setParams({missingProperty:m}),e.forOf(m,n,()=>{e.assign(f,(0,s0.propertyInData)(e,i,m,o.ownProperties)),e.if((0,a0.not)(f),()=>{r.error(),e.break()})},a0.nil)}}};cG.default=gft});var DAe=x(dG=>{"use strict";Object.defineProperty(dG,"__esModule",{value:!0});var o0=wt(),yft={message({keyword:r,schemaCode:e}){let t=r==="maxItems"?"more":"fewer";return(0,o0.str)`must NOT have ${t} than ${e} items`},params:({schemaCode:r})=>(0,o0._)`{limit: ${r}}`},vft={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:yft,code(r){let{keyword:e,data:t,schemaCode:n}=r,i=e==="maxItems"?o0.operators.GT:o0.operators.LT;r.fail$data((0,o0._)`${t}.length ${i} ${n}`)}};dG.default=vft});var yR=x(uG=>{"use strict";Object.defineProperty(uG,"__esModule",{value:!0});var CAe=YE();CAe.code='require("ajv/dist/runtime/equal").default';uG.default=CAe});var PAe=x(mG=>{"use strict";Object.defineProperty(mG,"__esModule",{value:!0});var pG=WE(),ki=wt(),bft=er(),Tft=yR(),kft={message:({params:{i:r,j:e}})=>(0,ki.str)`must NOT have duplicate items (items ## ${e} and ${r} are identical)`,params:({params:{i:r,j:e}})=>(0,ki._)`{i: ${r}, j: ${e}}`},wft={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:kft,code(r){let{gen:e,data:t,$data:n,schema:i,parentSchema:s,schemaCode:a,it:o}=r;if(!n&&!i)return;let l=e.let("valid"),c=s.items?(0,pG.getSchemaTypes)(s.items):[];r.block$data(l,d,(0,ki._)`${a} === false`),r.ok(l);function d(){let f=e.let("i",(0,ki._)`${t}.length`),h=e.let("j");r.setParams({i:f,j:h}),e.assign(l,!0),e.if((0,ki._)`${f} > 1`,()=>(u()?p:m)(f,h))}function u(){return c.length>0&&!c.some(f=>f==="object"||f==="array")}function p(f,h){let g=e.name("item"),y=(0,pG.checkDataTypes)(c,g,o.opts.strictNumbers,pG.DataType.Wrong),k=e.const("indices",(0,ki._)`{}`);e.for((0,ki._)`;${f}--;`,()=>{e.let(g,(0,ki._)`${t}[${f}]`),e.if(y,(0,ki._)`continue`),c.length>1&&e.if((0,ki._)`typeof ${g} == "string"`,(0,ki._)`${g} += "_"`),e.if((0,ki._)`typeof ${k}[${g}] == "number"`,()=>{e.assign(h,(0,ki._)`${k}[${g}]`),r.error(),e.assign(l,!1).break()}).code((0,ki._)`${k}[${g}] = ${f}`)})}function m(f,h){let g=(0,bft.useFunc)(e,Tft.default),y=e.name("outer");e.label(y).for((0,ki._)`;${f}--;`,()=>e.for((0,ki._)`${h} = ${f}; ${h}--;`,()=>e.if((0,ki._)`${g}(${t}[${f}], ${t}[${h}])`,()=>{r.error(),e.assign(l,!1).break(y)})))}}};mG.default=wft});var _Ae=x(hG=>{"use strict";Object.defineProperty(hG,"__esModule",{value:!0});var fG=wt(),Sft=er(),xft=yR(),Eft={message:"must be equal to constant",params:({schemaCode:r})=>(0,fG._)`{allowedValue: ${r}}`},Dft={keyword:"const",$data:!0,error:Eft,code(r){let{gen:e,data:t,$data:n,schemaCode:i,schema:s}=r;n||s&&typeof s=="object"?r.fail$data((0,fG._)`!${(0,Sft.useFunc)(e,xft.default)}(${t}, ${i})`):r.fail((0,fG._)`${s} !== ${t}`)}};hG.default=Dft});var MAe=x(gG=>{"use strict";Object.defineProperty(gG,"__esModule",{value:!0});var l0=wt(),Cft=er(),Pft=yR(),_ft={message:"must be equal to one of the allowed values",params:({schemaCode:r})=>(0,l0._)`{allowedValues: ${r}}`},Mft={keyword:"enum",schemaType:"array",$data:!0,error:_ft,code(r){let{gen:e,data:t,$data:n,schema:i,schemaCode:s,it:a}=r;if(!n&&i.length===0)throw new Error("enum must have non-empty array");let o=i.length>=a.opts.loopEnum,l,c=()=>l!=null?l:l=(0,Cft.useFunc)(e,Pft.default),d;if(o||n)d=e.let("valid"),r.block$data(d,u);else{if(!Array.isArray(i))throw new Error("ajv implementation error");let m=e.const("vSchema",s);d=(0,l0.or)(...i.map((f,h)=>p(m,h)))}r.pass(d);function u(){e.assign(d,!1),e.forOf("v",s,m=>e.if((0,l0._)`${c()}(${t}, ${m})`,()=>e.assign(d,!0).break()))}function p(m,f){let h=i[f];return typeof h=="object"&&h!==null?(0,l0._)`${c()}(${t}, ${m}[${f}])`:(0,l0._)`${t} === ${h}`}}};gG.default=Mft});var AAe=x(yG=>{"use strict";Object.defineProperty(yG,"__esModule",{value:!0});var Aft=vAe(),Ift=bAe(),Nft=wAe(),Rft=SAe(),Oft=xAe(),Lft=EAe(),Fft=DAe(),$ft=PAe(),jft=_Ae(),zft=MAe(),Bft=[Aft.default,Ift.default,Nft.default,Rft.default,Oft.default,Lft.default,Fft.default,$ft.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},jft.default,zft.default];yG.default=Bft});var bG=x(c0=>{"use strict";Object.defineProperty(c0,"__esModule",{value:!0});c0.validateAdditionalItems=void 0;var Ih=wt(),vG=er(),qft={message:({params:{len:r}})=>(0,Ih.str)`must NOT have more than ${r} items`,params:({params:{len:r}})=>(0,Ih._)`{limit: ${r}}`},Hft={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:qft,code(r){let{parentSchema:e,it:t}=r,{items:n}=e;if(!Array.isArray(n)){(0,vG.checkStrictMode)(t,'"additionalItems" is ignored when "items" is not an array of schemas');return}IAe(r,n)}};function IAe(r,e){let{gen:t,schema:n,data:i,keyword:s,it:a}=r;a.items=!0;let o=t.const("len",(0,Ih._)`${i}.length`);if(n===!1)r.setParams({len:e.length}),r.pass((0,Ih._)`${o} <= ${e.length}`);else if(typeof n=="object"&&!(0,vG.alwaysValidSchema)(a,n)){let c=t.var("valid",(0,Ih._)`${o} <= ${e.length}`);t.if((0,Ih.not)(c),()=>l(c)),r.ok(c)}function l(c){t.forRange("i",e.length,o,d=>{r.subschema({keyword:s,dataProp:d,dataPropType:vG.Type.Num},c),a.allErrors||t.if((0,Ih.not)(c),()=>t.break())})}}c0.validateAdditionalItems=IAe;c0.default=Hft});var TG=x(d0=>{"use strict";Object.defineProperty(d0,"__esModule",{value:!0});d0.validateTuple=void 0;var NAe=wt(),vR=er(),Uft=So(),Vft={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(r){let{schema:e,it:t}=r;if(Array.isArray(e))return RAe(r,"additionalItems",e);t.items=!0,!(0,vR.alwaysValidSchema)(t,e)&&r.ok((0,Uft.validateArray)(r))}};function RAe(r,e,t=r.schema){let{gen:n,parentSchema:i,data:s,keyword:a,it:o}=r;d(i),o.opts.unevaluated&&t.length&&o.items!==!0&&(o.items=vR.mergeEvaluated.items(n,t.length,o.items));let l=n.name("valid"),c=n.const("len",(0,NAe._)`${s}.length`);t.forEach((u,p)=>{(0,vR.alwaysValidSchema)(o,u)||(n.if((0,NAe._)`${c} > ${p}`,()=>r.subschema({keyword:a,schemaProp:p,dataProp:p},l)),r.ok(l))});function d(u){let{opts:p,errSchemaPath:m}=o,f=t.length,h=f===u.minItems&&(f===u.maxItems||u[e]===!1);if(p.strictTuples&&!h){let g=`"${a}" is ${f}-tuple, but minItems or maxItems/${e} are not specified or different at path "${m}"`;(0,vR.checkStrictMode)(o,g,p.strictTuples)}}}d0.validateTuple=RAe;d0.default=Vft});var OAe=x(kG=>{"use strict";Object.defineProperty(kG,"__esModule",{value:!0});var Wft=TG(),Yft={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:r=>(0,Wft.validateTuple)(r,"items")};kG.default=Yft});var FAe=x(wG=>{"use strict";Object.defineProperty(wG,"__esModule",{value:!0});var LAe=wt(),Gft=er(),Kft=So(),Zft=bG(),Qft={message:({params:{len:r}})=>(0,LAe.str)`must NOT have more than ${r} items`,params:({params:{len:r}})=>(0,LAe._)`{limit: ${r}}`},Jft={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Qft,code(r){let{schema:e,parentSchema:t,it:n}=r,{prefixItems:i}=t;n.items=!0,!(0,Gft.alwaysValidSchema)(n,e)&&(i?(0,Zft.validateAdditionalItems)(r,i):r.ok((0,Kft.validateArray)(r)))}};wG.default=Jft});var $Ae=x(SG=>{"use strict";Object.defineProperty(SG,"__esModule",{value:!0});var Eo=wt(),bR=er(),Xft={message:({params:{min:r,max:e}})=>e===void 0?(0,Eo.str)`must contain at least ${r} valid item(s)`:(0,Eo.str)`must contain at least ${r} and no more than ${e} valid item(s)`,params:({params:{min:r,max:e}})=>e===void 0?(0,Eo._)`{minContains: ${r}}`:(0,Eo._)`{minContains: ${r}, maxContains: ${e}}`},eht={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Xft,code(r){let{gen:e,schema:t,parentSchema:n,data:i,it:s}=r,a,o,{minContains:l,maxContains:c}=n;s.opts.next?(a=l===void 0?1:l,o=c):a=1;let d=e.const("len",(0,Eo._)`${i}.length`);if(r.setParams({min:a,max:o}),o===void 0&&a===0){(0,bR.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(o!==void 0&&a>o){(0,bR.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),r.fail();return}if((0,bR.alwaysValidSchema)(s,t)){let h=(0,Eo._)`${d} >= ${a}`;o!==void 0&&(h=(0,Eo._)`${h} && ${d} <= ${o}`),r.pass(h);return}s.items=!0;let u=e.name("valid");o===void 0&&a===1?m(u,()=>e.if(u,()=>e.break())):a===0?(e.let(u,!0),o!==void 0&&e.if((0,Eo._)`${i}.length > 0`,p)):(e.let(u,!1),p()),r.result(u,()=>r.reset());function p(){let h=e.name("_valid"),g=e.let("count",0);m(h,()=>e.if(h,()=>f(g)))}function m(h,g){e.forRange("i",0,d,y=>{r.subschema({keyword:"contains",dataProp:y,dataPropType:bR.Type.Num,compositeRule:!0},h),g()})}function f(h){e.code((0,Eo._)`${h}++`),o===void 0?e.if((0,Eo._)`${h} >= ${a}`,()=>e.assign(u,!0).break()):(e.if((0,Eo._)`${h} > ${o}`,()=>e.assign(u,!1).break()),a===1?e.assign(u,!0):e.if((0,Eo._)`${h} >= ${a}`,()=>e.assign(u,!0)))}}};SG.default=eht});var BAe=x(Ic=>{"use strict";Object.defineProperty(Ic,"__esModule",{value:!0});Ic.validateSchemaDeps=Ic.validatePropertyDeps=Ic.error=void 0;var xG=wt(),tht=er(),u0=So();Ic.error={message:({params:{property:r,depsCount:e,deps:t}})=>{let n=e===1?"property":"properties";return(0,xG.str)`must have ${n} ${t} when property ${r} is present`},params:({params:{property:r,depsCount:e,deps:t,missingProperty:n}})=>(0,xG._)`{property: ${r},
missingProperty: ${n},
depsCount: ${e},
deps: ${t}}`};var rht={keyword:"dependencies",type:"object",schemaType:"object",error:Ic.error,code(r){let[e,t]=nht(r);jAe(r,e),zAe(r,t)}};function nht({schema:r}){let e={},t={};for(let n in r){if(n==="__proto__")continue;let i=Array.isArray(r[n])?e:t;i[n]=r[n]}return[e,t]}function jAe(r,e=r.schema){let{gen:t,data:n,it:i}=r;if(Object.keys(e).length===0)return;let s=t.let("missing");for(let a in e){let o=e[a];if(o.length===0)continue;let l=(0,u0.propertyInData)(t,n,a,i.opts.ownProperties);r.setParams({property:a,depsCount:o.length,deps:o.join(", ")}),i.allErrors?t.if(l,()=>{for(let c of o)(0,u0.checkReportMissingProp)(r,c)}):(t.if((0,xG._)`${l} && (${(0,u0.checkMissingProp)(r,o,s)})`),(0,u0.reportMissingProp)(r,s),t.else())}}Ic.validatePropertyDeps=jAe;function zAe(r,e=r.schema){let{gen:t,data:n,keyword:i,it:s}=r,a=t.name("valid");for(let o in e)(0,tht.alwaysValidSchema)(s,e[o])||(t.if((0,u0.propertyInData)(t,n,o,s.opts.ownProperties),()=>{let l=r.subschema({keyword:i,schemaProp:o},a);r.mergeValidEvaluated(l,a)},()=>t.var(a,!0)),r.ok(a))}Ic.validateSchemaDeps=zAe;Ic.default=rht});var HAe=x(EG=>{"use strict";Object.defineProperty(EG,"__esModule",{value:!0});var qAe=wt(),iht=er(),sht={message:"property name must be valid",params:({params:r})=>(0,qAe._)`{propertyName: ${r.propertyName}}`},aht={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:sht,code(r){let{gen:e,schema:t,data:n,it:i}=r;if((0,iht.alwaysValidSchema)(i,t))return;let s=e.name("valid");e.forIn("key",n,a=>{r.setParams({propertyName:a}),r.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:!0},s),e.if((0,qAe.not)(s),()=>{r.error(!0),i.allErrors||e.break()})}),r.ok(s)}};EG.default=aht});var CG=x(DG=>{"use strict";Object.defineProperty(DG,"__esModule",{value:!0});var TR=So(),fl=wt(),oht=iu(),kR=er(),lht={message:"must NOT have additional properties",params:({params:r})=>(0,fl._)`{additionalProperty: ${r.additionalProperty}}`},cht={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:lht,code(r){let{gen:e,schema:t,parentSchema:n,data:i,errsCount:s,it:a}=r;if(!s)throw new Error("ajv implementation error");let{allErrors:o,opts:l}=a;if(a.props=!0,l.removeAdditional!=="all"&&(0,kR.alwaysValidSchema)(a,t))return;let c=(0,TR.allSchemaProperties)(n.properties),d=(0,TR.allSchemaProperties)(n.patternProperties);u(),r.ok((0,fl._)`${s} === ${oht.default.errors}`);function u(){e.forIn("key",i,g=>{!c.length&&!d.length?f(g):e.if(p(g),()=>f(g))})}function p(g){let y;if(c.length>8){let k=(0,kR.schemaRefOrVal)(a,n.properties,"properties");y=(0,TR.isOwnProperty)(e,k,g)}else c.length?y=(0,fl.or)(...c.map(k=>(0,fl._)`${g} === ${k}`)):y=fl.nil;return d.length&&(y=(0,fl.or)(y,...d.map(k=>(0,fl._)`${(0,TR.usePattern)(r,k)}.test(${g})`))),(0,fl.not)(y)}function m(g){e.code((0,fl._)`delete ${i}[${g}]`)}function f(g){if(l.removeAdditional==="all"||l.removeAdditional&&t===!1){m(g);return}if(t===!1){r.setParams({additionalProperty:g}),r.error(),o||e.break();return}if(typeof t=="object"&&!(0,kR.alwaysValidSchema)(a,t)){let y=e.name("valid");l.removeAdditional==="failing"?(h(g,y,!1),e.if((0,fl.not)(y),()=>{r.reset(),m(g)})):(h(g,y),o||e.if((0,fl.not)(y),()=>e.break()))}}function h(g,y,k){let T={keyword:"additionalProperties",dataProp:g,dataPropType:kR.Type.Str};k===!1&&Object.assign(T,{compositeRule:!0,createErrors:!1,allErrors:!1}),r.subschema(T,y)}}};DG.default=cht});var WAe=x(_G=>{"use strict";Object.defineProperty(_G,"__esModule",{value:!0});var dht=QE(),UAe=So(),PG=er(),VAe=CG(),uht={keyword:"properties",type:"object",schemaType:"object",code(r){let{gen:e,schema:t,parentSchema:n,data:i,it:s}=r;s.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&VAe.default.code(new dht.KeywordCxt(s,VAe.default,"additionalProperties"));let a=(0,UAe.allSchemaProperties)(t);for(let u of a)s.definedProperties.add(u);s.opts.unevaluated&&a.length&&s.props!==!0&&(s.props=PG.mergeEvaluated.props(e,(0,PG.toHash)(a),s.props));let o=a.filter(u=>!(0,PG.alwaysValidSchema)(s,t[u]));if(o.length===0)return;let l=e.name("valid");for(let u of o)c(u)?d(u):(e.if((0,UAe.propertyInData)(e,i,u,s.opts.ownProperties)),d(u),s.allErrors||e.else().var(l,!0),e.endIf()),r.it.definedProperties.add(u),r.ok(l);function c(u){return s.opts.useDefaults&&!s.compositeRule&&t[u].default!==void 0}function d(u){r.subschema({keyword:"properties",schemaProp:u,dataProp:u},l)}}};_G.default=uht});var ZAe=x(MG=>{"use strict";Object.defineProperty(MG,"__esModule",{value:!0});var YAe=So(),wR=wt(),GAe=er(),KAe=er(),pht={keyword:"patternProperties",type:"object",schemaType:"object",code(r){let{gen:e,schema:t,data:n,parentSchema:i,it:s}=r,{opts:a}=s,o=(0,YAe.allSchemaProperties)(t),l=o.filter(h=>(0,GAe.alwaysValidSchema)(s,t[h]));if(o.length===0||l.length===o.length&&(!s.opts.unevaluated||s.props===!0))return;let c=a.strictSchema&&!a.allowMatchingProperties&&i.properties,d=e.name("valid");s.props!==!0&&!(s.props instanceof wR.Name)&&(s.props=(0,KAe.evaluatedPropsToName)(e,s.props));let{props:u}=s;p();function p(){for(let h of o)c&&m(h),s.allErrors?f(h):(e.var(d,!0),f(h),e.if(d))}function m(h){for(let g in c)new RegExp(h).test(g)&&(0,GAe.checkStrictMode)(s,`property ${g} matches pattern ${h} (use allowMatchingProperties)`)}function f(h){e.forIn("key",n,g=>{e.if((0,wR._)`${(0,YAe.usePattern)(r,h)}.test(${g})`,()=>{let y=l.includes(h);y||r.subschema({keyword:"patternProperties",schemaProp:h,dataProp:g,dataPropType:KAe.Type.Str},d),s.opts.unevaluated&&u!==!0?e.assign((0,wR._)`${u}[${g}]`,!0):!y&&!s.allErrors&&e.if((0,wR.not)(d),()=>e.break())})})}}};MG.default=pht});var QAe=x(AG=>{"use strict";Object.defineProperty(AG,"__esModule",{value:!0});var mht=er(),fht={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(r){let{gen:e,schema:t,it:n}=r;if((0,mht.alwaysValidSchema)(n,t)){r.fail();return}let i=e.name("valid");r.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),r.failResult(i,()=>r.reset(),()=>r.error())},error:{message:"must NOT be valid"}};AG.default=fht});var JAe=x(IG=>{"use strict";Object.defineProperty(IG,"__esModule",{value:!0});var hht=So(),ght={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:hht.validateUnion,error:{message:"must match a schema in anyOf"}};IG.default=ght});var XAe=x(NG=>{"use strict";Object.defineProperty(NG,"__esModule",{value:!0});var SR=wt(),yht=er(),vht={message:"must match exactly one schema in oneOf",params:({params:r})=>(0,SR._)`{passingSchemas: ${r.passing}}`},bht={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:vht,code(r){let{gen:e,schema:t,parentSchema:n,it:i}=r;if(!Array.isArray(t))throw new Error("ajv implementation error");if(i.opts.discriminator&&n.discriminator)return;let s=t,a=e.let("valid",!1),o=e.let("passing",null),l=e.name("_valid");r.setParams({passing:o}),e.block(c),r.result(a,()=>r.reset(),()=>r.error(!0));function c(){s.forEach((d,u)=>{let p;(0,yht.alwaysValidSchema)(i,d)?e.var(l,!0):p=r.subschema({keyword:"oneOf",schemaProp:u,compositeRule:!0},l),u>0&&e.if((0,SR._)`${l} && ${a}`).assign(a,!1).assign(o,(0,SR._)`[${o}, ${u}]`).else(),e.if(l,()=>{e.assign(a,!0),e.assign(o,u),p&&r.mergeEvaluated(p,SR.Name)})})}}};NG.default=bht});var eIe=x(RG=>{"use strict";Object.defineProperty(RG,"__esModule",{value:!0});var Tht=er(),kht={keyword:"allOf",schemaType:"array",code(r){let{gen:e,schema:t,it:n}=r;if(!Array.isArray(t))throw new Error("ajv implementation error");let i=e.name("valid");t.forEach((s,a)=>{if((0,Tht.alwaysValidSchema)(n,s))return;let o=r.subschema({keyword:"allOf",schemaProp:a},i);r.ok(i),r.mergeEvaluated(o)})}};RG.default=kht});var nIe=x(OG=>{"use strict";Object.defineProperty(OG,"__esModule",{value:!0});var xR=wt(),rIe=er(),wht={message:({params:r})=>(0,xR.str)`must match "${r.ifClause}" schema`,params:({params:r})=>(0,xR._)`{failingKeyword: ${r.ifClause}}`},Sht={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:wht,code(r){let{gen:e,parentSchema:t,it:n}=r;t.then===void 0&&t.else===void 0&&(0,rIe.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let i=tIe(n,"then"),s=tIe(n,"else");if(!i&&!s)return;let a=e.let("valid",!0),o=e.name("_valid");if(l(),r.reset(),i&&s){let d=e.let("ifClause");r.setParams({ifClause:d}),e.if(o,c("then",d),c("else",d))}else i?e.if(o,c("then")):e.if((0,xR.not)(o),c("else"));r.pass(a,()=>r.error(!0));function l(){let d=r.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},o);r.mergeEvaluated(d)}function c(d,u){return()=>{let p=r.subschema({keyword:d},o);e.assign(a,o),r.mergeValidEvaluated(p,a),u?e.assign(u,(0,xR._)`${d}`):r.setParams({ifClause:d})}}}};function tIe(r,e){let t=r.schema[e];return t!==void 0&&!(0,rIe.alwaysValidSchema)(r,t)}OG.default=Sht});var iIe=x(LG=>{"use strict";Object.defineProperty(LG,"__esModule",{value:!0});var xht=er(),Eht={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:r,parentSchema:e,it:t}){e.if===void 0&&(0,xht.checkStrictMode)(t,`"${r}" without "if" is ignored`)}};LG.default=Eht});var sIe=x(FG=>{"use strict";Object.defineProperty(FG,"__esModule",{value:!0});var Dht=bG(),Cht=OAe(),Pht=TG(),_ht=FAe(),Mht=$Ae(),Aht=BAe(),Iht=HAe(),Nht=CG(),Rht=WAe(),Oht=ZAe(),Lht=QAe(),Fht=JAe(),$ht=XAe(),jht=eIe(),zht=nIe(),Bht=iIe();function qht(r=!1){let e=[Lht.default,Fht.default,$ht.default,jht.default,zht.default,Bht.default,Iht.default,Nht.default,Aht.default,Rht.default,Oht.default];return r?e.push(Cht.default,_ht.default):e.push(Dht.default,Pht.default),e.push(Mht.default),e}FG.default=qht});var aIe=x($G=>{"use strict";Object.defineProperty($G,"__esModule",{value:!0});var xn=wt(),Hht={message:({schemaCode:r})=>(0,xn.str)`must match format "${r}"`,params:({schemaCode:r})=>(0,xn._)`{format: ${r}}`},Uht={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:Hht,code(r,e){let{gen:t,data:n,$data:i,schema:s,schemaCode:a,it:o}=r,{opts:l,errSchemaPath:c,schemaEnv:d,self:u}=o;if(!l.validateFormats)return;i?p():m();function p(){let f=t.scopeValue("formats",{ref:u.formats,code:l.code.formats}),h=t.const("fDef",(0,xn._)`${f}[${a}]`),g=t.let("fType"),y=t.let("format");t.if((0,xn._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>t.assign(g,(0,xn._)`${h}.type || "string"`).assign(y,(0,xn._)`${h}.validate`),()=>t.assign(g,(0,xn._)`"string"`).assign(y,h)),r.fail$data((0,xn.or)(k(),T()));function k(){return l.strictSchema===!1?xn.nil:(0,xn._)`${a} && !${y}`}function T(){let w=d.$async?(0,xn._)`(${h}.async ? await ${y}(${n}) : ${y}(${n}))`:(0,xn._)`${y}(${n})`,S=(0,xn._)`(typeof ${y} == "function" ? ${w} : ${y}.test(${n}))`;return(0,xn._)`${y} && ${y} !== true && ${g} === ${e} && !${S}`}}function m(){let f=u.formats[s];if(!f){k();return}if(f===!0)return;let[h,g,y]=T(f);h===e&&r.pass(w());function k(){if(l.strictSchema===!1){u.logger.warn(S());return}throw new Error(S());function S(){return`unknown format "${s}" ignored in schema at path "${c}"`}}function T(S){let E=S instanceof RegExp?(0,xn.regexpCode)(S):l.code.formats?(0,xn._)`${l.code.formats}${(0,xn.getProperty)(s)}`:void 0,C=t.scopeValue("formats",{key:s,ref:S,code:E});return typeof S=="object"&&!(S instanceof RegExp)?[S.type||"string",S.validate,(0,xn._)`${C}.validate`]:["string",S,C]}function w(){if(typeof f=="object"&&!(f instanceof RegExp)&&f.async){if(!d.$async)throw new Error("async format in sync schema");return(0,xn._)`await ${y}(${n})`}return typeof g=="function"?(0,xn._)`${y}(${n})`:(0,xn._)`${y}.test(${n})`}}}};$G.default=Uht});var oIe=x(jG=>{"use strict";Object.defineProperty(jG,"__esModule",{value:!0});var Vht=aIe(),Wht=[Vht.default];jG.default=Wht});var lIe=x(cb=>{"use strict";Object.defineProperty(cb,"__esModule",{value:!0});cb.contentVocabulary=cb.metadataVocabulary=void 0;cb.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];cb.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var dIe=x(zG=>{"use strict";Object.defineProperty(zG,"__esModule",{value:!0});var Yht=yAe(),Ght=AAe(),Kht=sIe(),Zht=oIe(),cIe=lIe(),Qht=[Yht.default,Ght.default,(0,Kht.default)(),Zht.default,cIe.metadataVocabulary,cIe.contentVocabulary];zG.default=Qht});var pIe=x(ER=>{"use strict";Object.defineProperty(ER,"__esModule",{value:!0});ER.DiscrError=void 0;var uIe;(function(r){r.Tag="tag",r.Mapping="mapping"})(uIe||(ER.DiscrError=uIe={}))});var fIe=x(qG=>{"use strict";Object.defineProperty(qG,"__esModule",{value:!0});var db=wt(),BG=pIe(),mIe=oR(),Jht=JE(),Xht=er(),egt={message:({params:{discrError:r,tagName:e}})=>r===BG.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:r,tag:e,tagName:t}})=>(0,db._)`{error: ${r}, tag: ${t}, tagValue: ${e}}`},tgt={keyword:"discriminator",type:"object",schemaType:"object",error:egt,code(r){let{gen:e,data:t,schema:n,parentSchema:i,it:s}=r,{oneOf:a}=i;if(!s.opts.discriminator)throw new Error("discriminator: requires discriminator option");let o=n.propertyName;if(typeof o!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let l=e.let("valid",!1),c=e.const("tag",(0,db._)`${t}${(0,db.getProperty)(o)}`);e.if((0,db._)`typeof ${c} == "string"`,()=>d(),()=>r.error(!1,{discrError:BG.DiscrError.Tag,tag:c,tagName:o})),r.ok(l);function d(){let m=p();e.if(!1);for(let f in m)e.elseIf((0,db._)`${c} === ${f}`),e.assign(l,u(m[f]));e.else(),r.error(!1,{discrError:BG.DiscrError.Mapping,tag:c,tagName:o}),e.endIf()}function u(m){let f=e.name("valid"),h=r.subschema({keyword:"oneOf",schemaProp:m},f);return r.mergeEvaluated(h,db.Name),f}function p(){var m;let f={},h=y(i),g=!0;for(let w=0;w<a.length;w++){let S=a[w];if(S!=null&&S.$ref&&!(0,Xht.schemaHasRulesButRef)(S,s.self.RULES)){let C=S.$ref;if(S=mIe.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,C),S instanceof mIe.SchemaEnv&&(S=S.schema),S===void 0)throw new Jht.default(s.opts.uriResolver,s.baseId,C)}let E=(m=S==null?void 0:S.properties)===null||m===void 0?void 0:m[o];if(typeof E!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${o}"`);g=g&&(h||y(S)),k(E,w)}if(!g)throw new Error(`discriminator: "${o}" must be required`);return f;function y({required:w}){return Array.isArray(w)&&w.includes(o)}function k(w,S){if(w.const)T(w.const,S);else if(w.enum)for(let E of w.enum)T(E,S);else throw new Error(`discriminator: "properties/${o}" must have "const" or "enum"`)}function T(w,S){if(typeof w!="string"||w in f)throw new Error(`discriminator: "${o}" values must be unique strings`);f[w]=S}}}};qG.default=tgt});var hIe=x((Jbr,rgt)=>{rgt.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var yIe=x((Hr,HG)=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});Hr.MissingRefError=Hr.ValidationError=Hr.CodeGen=Hr.Name=Hr.nil=Hr.stringify=Hr.str=Hr._=Hr.KeywordCxt=Hr.Ajv=void 0;var ngt=uAe(),igt=dIe(),sgt=fIe(),gIe=hIe(),agt=["/properties"],DR="http://json-schema.org/draft-07/schema",ub=class extends ngt.default{_addVocabularies(){super._addVocabularies(),igt.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(sgt.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(gIe,agt):gIe;this.addMetaSchema(e,DR,!1),this.refs["http://json-schema.org/schema"]=DR}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(DR)?DR:void 0)}};Hr.Ajv=ub;HG.exports=Hr=ub;HG.exports.Ajv=ub;Object.defineProperty(Hr,"__esModule",{value:!0});Hr.default=ub;var ogt=QE();Object.defineProperty(Hr,"KeywordCxt",{enumerable:!0,get:function(){return ogt.KeywordCxt}});var pb=wt();Object.defineProperty(Hr,"_",{enumerable:!0,get:function(){return pb._}});Object.defineProperty(Hr,"str",{enumerable:!0,get:function(){return pb.str}});Object.defineProperty(Hr,"stringify",{enumerable:!0,get:function(){return pb.stringify}});Object.defineProperty(Hr,"nil",{enumerable:!0,get:function(){return pb.nil}});Object.defineProperty(Hr,"Name",{enumerable:!0,get:function(){return pb.Name}});Object.defineProperty(Hr,"CodeGen",{enumerable:!0,get:function(){return pb.CodeGen}});var lgt=sR();Object.defineProperty(Hr,"ValidationError",{enumerable:!0,get:function(){return lgt.default}});var cgt=JE();Object.defineProperty(Hr,"MissingRefError",{enumerable:!0,get:function(){return cgt.default}})});var EIe=x(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});Rc.formatNames=Rc.fastFormats=Rc.fullFormats=void 0;function Nc(r,e){return{validate:r,compare:e}}Rc.fullFormats={date:Nc(kIe,YG),time:Nc(VG(!0),GG),"date-time":Nc(vIe(!0),SIe),"iso-time":Nc(VG(),wIe),"iso-date-time":Nc(vIe(),xIe),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:hgt,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:wgt,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:ggt,int32:{type:"number",validate:bgt},int64:{type:"number",validate:Tgt},float:{type:"number",validate:TIe},double:{type:"number",validate:TIe},password:!0,binary:!0};Rc.fastFormats={...Rc.fullFormats,date:Nc(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,YG),time:Nc(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,GG),"date-time":Nc(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,SIe),"iso-time":Nc(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,wIe),"iso-date-time":Nc(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,xIe),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};Rc.formatNames=Object.keys(Rc.fullFormats);function dgt(r){return r%4===0&&(r%100!==0||r%400===0)}var ugt=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,pgt=[0,31,28,31,30,31,30,31,31,30,31,30,31];function kIe(r){let e=ugt.exec(r);if(!e)return!1;let t=+e[1],n=+e[2],i=+e[3];return n>=1&&n<=12&&i>=1&&i<=(n===2&&dgt(t)?29:pgt[n])}function YG(r,e){if(r&&e)return r>e?1:r<e?-1:0}var UG=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function VG(r){return function(t){let n=UG.exec(t);if(!n)return!1;let i=+n[1],s=+n[2],a=+n[3],o=n[4],l=n[5]==="-"?-1:1,c=+(n[6]||0),d=+(n[7]||0);if(c>23||d>59||r&&!o)return!1;if(i<=23&&s<=59&&a<60)return!0;let u=s-d*l,p=i-c*l-(u<0?1:0);return(p===23||p===-1)&&(u===59||u===-1)&&a<61}}function GG(r,e){if(!(r&&e))return;let t=new Date("2020-01-01T"+r).valueOf(),n=new Date("2020-01-01T"+e).valueOf();if(t&&n)return t-n}function wIe(r,e){if(!(r&&e))return;let t=UG.exec(r),n=UG.exec(e);if(t&&n)return r=t[1]+t[2]+t[3],e=n[1]+n[2]+n[3],r>e?1:r<e?-1:0}var WG=/t|\s/i;function vIe(r){let e=VG(r);return function(n){let i=n.split(WG);return i.length===2&&kIe(i[0])&&e(i[1])}}function SIe(r,e){if(!(r&&e))return;let t=new Date(r).valueOf(),n=new Date(e).valueOf();if(t&&n)return t-n}function xIe(r,e){if(!(r&&e))return;let[t,n]=r.split(WG),[i,s]=e.split(WG),a=YG(t,i);if(a!==void 0)return a||GG(n,s)}var mgt=/\/|:/,fgt=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function hgt(r){return mgt.test(r)&&fgt.test(r)}var bIe=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function ggt(r){return bIe.lastIndex=0,bIe.test(r)}var ygt=-(2**31),vgt=2**31-1;function bgt(r){return Number.isInteger(r)&&r<=vgt&&r>=ygt}function Tgt(r){return Number.isInteger(r)}function TIe(){return!0}var kgt=/[^\\]\\Z/;function wgt(r){if(kgt.test(r))return!1;try{return new RegExp(r),!0}catch(e){return!1}}});var f0=x(tr=>{"use strict";Object.defineProperty(tr,"__esModule",{value:!0});tr.regexpCode=tr.getEsmExportName=tr.getProperty=tr.safeStringify=tr.stringify=tr.strConcat=tr.addCodeArg=tr.str=tr._=tr.nil=tr._Code=tr.Name=tr.IDENTIFIER=tr._CodeOrName=void 0;var p0=class{};tr._CodeOrName=p0;tr.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Nh=class extends p0{constructor(e){if(super(),!tr.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};tr.Name=Nh;var Do=class extends p0{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((t,n)=>`${t}${n}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((t,n)=>(n instanceof Nh&&(t[n.str]=(t[n.str]||0)+1),t),{})}};tr._Code=Do;tr.nil=new Do("");function DIe(r,...e){let t=[r[0]],n=0;for(;n<e.length;)ZG(t,e[n]),t.push(r[++n]);return new Do(t)}tr._=DIe;var KG=new Do("+");function CIe(r,...e){let t=[m0(r[0])],n=0;for(;n<e.length;)t.push(KG),ZG(t,e[n]),t.push(KG,m0(r[++n]));return Sgt(t),new Do(t)}tr.str=CIe;function ZG(r,e){e instanceof Do?r.push(...e._items):e instanceof Nh?r.push(e):r.push(Dgt(e))}tr.addCodeArg=ZG;function Sgt(r){let e=1;for(;e<r.length-1;){if(r[e]===KG){let t=xgt(r[e-1],r[e+1]);if(t!==void 0){r.splice(e-1,3,t);continue}r[e++]="+"}e++}}function xgt(r,e){if(e==='""')return r;if(r==='""')return e;if(typeof r=="string")return e instanceof Nh||r[r.length-1]!=='"'?void 0:typeof e!="string"?`${r.slice(0,-1)}${e}"`:e[0]==='"'?r.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(r instanceof Nh))return`"${r}${e.slice(1)}`}function Egt(r,e){return e.emptyStr()?r:r.emptyStr()?e:CIe`${r}${e}`}tr.strConcat=Egt;function Dgt(r){return typeof r=="number"||typeof r=="boolean"||r===null?r:m0(Array.isArray(r)?r.join(","):r)}function Cgt(r){return new Do(m0(r))}tr.stringify=Cgt;function m0(r){return JSON.stringify(r).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}tr.safeStringify=m0;function Pgt(r){return typeof r=="string"&&tr.IDENTIFIER.test(r)?new Do(`.${r}`):DIe`[${r}]`}tr.getProperty=Pgt;function _gt(r){if(typeof r=="string"&&tr.IDENTIFIER.test(r))return new Do(`${r}`);throw new Error(`CodeGen: invalid export name: ${r}, use explicit $id name mapping`)}tr.getEsmExportName=_gt;function Mgt(r){return new Do(r.toString())}tr.regexpCode=Mgt});var XG=x(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.ValueScope=ta.ValueScopeName=ta.Scope=ta.varKinds=ta.UsedValueState=void 0;var ea=f0(),QG=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},CR;(function(r){r[r.Started=0]="Started",r[r.Completed=1]="Completed"})(CR||(ta.UsedValueState=CR={}));ta.varKinds={const:new ea.Name("const"),let:new ea.Name("let"),var:new ea.Name("var")};var PR=class{constructor({prefixes:e,parent:t}={}){this._names={},this._prefixes=e,this._parent=t}toName(e){return e instanceof ea.Name?e:this.name(e)}name(e){return new ea.Name(this._newName(e))}_newName(e){let t=this._names[e]||this._nameGroup(e);return`${e}${t.index++}`}_nameGroup(e){var t,n;if(!((n=(t=this._parent)===null||t===void 0?void 0:t._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};ta.Scope=PR;var _R=class extends ea.Name{constructor(e,t){super(t),this.prefix=e}setValue(e,{property:t,itemIndex:n}){this.value=e,this.scopePath=(0,ea._)`.${new ea.Name(t)}[${n}]`}};ta.ValueScopeName=_R;var Agt=(0,ea._)`\n`,JG=class extends PR{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?Agt:ea.nil}}get(){return this._scope}name(e){return new _R(e,this._newName(e))}value(e,t){var n;if(t.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let i=this.toName(e),{prefix:s}=i,a=(n=t.key)!==null&&n!==void 0?n:t.ref,o=this._values[s];if(o){let d=o.get(a);if(d)return d}else o=this._values[s]=new Map;o.set(a,i);let l=this._scope[s]||(this._scope[s]=[]),c=l.length;return l[c]=t.ref,i.setValue(t,{property:s,itemIndex:c}),i}getValue(e,t){let n=this._values[e];if(n)return n.get(t)}scopeRefs(e,t=this._values){return this._reduceValues(t,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,ea._)`${e}${n.scopePath}`})}scopeCode(e=this._values,t,n){return this._reduceValues(e,i=>{if(i.value===void 0)throw new Error(`CodeGen: name "${i}" has no value`);return i.value.code},t,n)}_reduceValues(e,t,n={},i){let s=ea.nil;for(let a in e){let o=e[a];if(!o)continue;let l=n[a]=n[a]||new Map;o.forEach(c=>{if(l.has(c))return;l.set(c,CR.Started);let d=t(c);if(d){let u=this.opts.es5?ta.varKinds.var:ta.varKinds.const;s=(0,ea._)`${s}${u} ${c} = ${d};${this.opts._n}`}else if(d=i==null?void 0:i(c))s=(0,ea._)`${s}${d}${this.opts._n}`;else throw new QG(c);l.set(c,CR.Completed)})}return s}};ta.ValueScope=JG});var ft=x(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});yt.or=yt.and=yt.not=yt.CodeGen=yt.operators=yt.varKinds=yt.ValueScopeName=yt.ValueScope=yt.Scope=yt.Name=yt.regexpCode=yt.stringify=yt.getProperty=yt.nil=yt.strConcat=yt.str=yt._=void 0;var Ut=f0(),hl=XG(),tm=f0();Object.defineProperty(yt,"_",{enumerable:!0,get:function(){return tm._}});Object.defineProperty(yt,"str",{enumerable:!0,get:function(){return tm.str}});Object.defineProperty(yt,"strConcat",{enumerable:!0,get:function(){return tm.strConcat}});Object.defineProperty(yt,"nil",{enumerable:!0,get:function(){return tm.nil}});Object.defineProperty(yt,"getProperty",{enumerable:!0,get:function(){return tm.getProperty}});Object.defineProperty(yt,"stringify",{enumerable:!0,get:function(){return tm.stringify}});Object.defineProperty(yt,"regexpCode",{enumerable:!0,get:function(){return tm.regexpCode}});Object.defineProperty(yt,"Name",{enumerable:!0,get:function(){return tm.Name}});var NR=XG();Object.defineProperty(yt,"Scope",{enumerable:!0,get:function(){return NR.Scope}});Object.defineProperty(yt,"ValueScope",{enumerable:!0,get:function(){return NR.ValueScope}});Object.defineProperty(yt,"ValueScopeName",{enumerable:!0,get:function(){return NR.ValueScopeName}});Object.defineProperty(yt,"varKinds",{enumerable:!0,get:function(){return NR.varKinds}});yt.operators={GT:new Ut._Code(">"),GTE:new Ut._Code(">="),LT:new Ut._Code("<"),LTE:new Ut._Code("<="),EQ:new Ut._Code("==="),NEQ:new Ut._Code("!=="),NOT:new Ut._Code("!"),OR:new Ut._Code("||"),AND:new Ut._Code("&&"),ADD:new Ut._Code("+")};var ou=class{optimizeNodes(){return this}optimizeNames(e,t){return this}},e7=class extends ou{constructor(e,t,n){super(),this.varKind=e,this.name=t,this.rhs=n}render({es5:e,_n:t}){let n=e?hl.varKinds.var:this.varKind,i=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${i};`+t}optimizeNames(e,t){if(e[this.name.str])return this.rhs&&(this.rhs=fb(this.rhs,e,t)),this}get names(){return this.rhs instanceof Ut._CodeOrName?this.rhs.names:{}}},MR=class extends ou{constructor(e,t,n){super(),this.lhs=e,this.rhs=t,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,t){if(!(this.lhs instanceof Ut.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=fb(this.rhs,e,t),this}get names(){let e=this.lhs instanceof Ut.Name?{}:{...this.lhs.names};return IR(e,this.rhs)}},t7=class extends MR{constructor(e,t,n,i){super(e,n,i),this.op=t}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},r7=class extends ou{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},n7=class extends ou{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},i7=class extends ou{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},s7=class extends ou{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,t){return this.code=fb(this.code,e,t),this}get names(){return this.code instanceof Ut._CodeOrName?this.code.names:{}}},h0=class extends ou{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((t,n)=>t+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,t=e.length;for(;t--;){let n=e[t].optimizeNodes();Array.isArray(n)?e.splice(t,1,...n):n?e[t]=n:e.splice(t,1)}return e.length>0?this:void 0}optimizeNames(e,t){let{nodes:n}=this,i=n.length;for(;i--;){let s=n[i];s.optimizeNames(e,t)||(Igt(e,s.names),n.splice(i,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,t)=>Lh(e,t.names),{})}},lu=class extends h0{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},a7=class extends h0{},mb=class extends lu{};mb.kind="else";var Rh=class r extends lu{constructor(e,t){super(t),this.condition=e}render(e){let t=`if(${this.condition})`+super.render(e);return this.else&&(t+="else "+this.else.render(e)),t}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let t=this.else;if(t){let n=t.optimizeNodes();t=this.else=Array.isArray(n)?new mb(n):n}if(t)return e===!1?t instanceof r?t:t.nodes:this.nodes.length?this:new r(PIe(e),t instanceof r?[t]:t.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,t){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,t),!!(super.optimizeNames(e,t)||this.else))return this.condition=fb(this.condition,e,t),this}get names(){let e=super.names;return IR(e,this.condition),this.else&&Lh(e,this.else.names),e}};Rh.kind="if";var Oh=class extends lu{};Oh.kind="for";var o7=class extends Oh{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iteration=fb(this.iteration,e,t),this}get names(){return Lh(super.names,this.iteration.names)}},l7=class extends Oh{constructor(e,t,n,i){super(),this.varKind=e,this.name=t,this.from=n,this.to=i}render(e){let t=e.es5?hl.varKinds.var:this.varKind,{name:n,from:i,to:s}=this;return`for(${t} ${n}=${i}; ${n}<${s}; ${n}++)`+super.render(e)}get names(){let e=IR(super.names,this.from);return IR(e,this.to)}},AR=class extends Oh{constructor(e,t,n,i){super(),this.loop=e,this.varKind=t,this.name=n,this.iterable=i}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iterable=fb(this.iterable,e,t),this}get names(){return Lh(super.names,this.iterable.names)}},g0=class extends lu{constructor(e,t,n){super(),this.name=e,this.args=t,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};g0.kind="func";var y0=class extends h0{render(e){return"return "+super.render(e)}};y0.kind="return";var c7=class extends lu{render(e){let t="try"+super.render(e);return this.catch&&(t+=this.catch.render(e)),this.finally&&(t+=this.finally.render(e)),t}optimizeNodes(){var e,t;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(t=this.finally)===null||t===void 0||t.optimizeNodes(),this}optimizeNames(e,t){var n,i;return super.optimizeNames(e,t),(n=this.catch)===null||n===void 0||n.optimizeNames(e,t),(i=this.finally)===null||i===void 0||i.optimizeNames(e,t),this}get names(){let e=super.names;return this.catch&&Lh(e,this.catch.names),this.finally&&Lh(e,this.finally.names),e}},v0=class extends lu{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};v0.kind="catch";var b0=class extends lu{render(e){return"finally"+super.render(e)}};b0.kind="finally";var d7=class{constructor(e,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...t,_n:t.lines?`
`:""},this._extScope=e,this._scope=new hl.Scope({parent:e}),this._nodes=[new a7]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){let n=this._extScope.value(e,t);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,t){return this._extScope.getValue(e,t)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,t,n,i){let s=this._scope.toName(t);return n!==void 0&&i&&(this._constants[s.str]=n),this._leafNode(new e7(e,s,n)),s}const(e,t,n){return this._def(hl.varKinds.const,e,t,n)}let(e,t,n){return this._def(hl.varKinds.let,e,t,n)}var(e,t,n){return this._def(hl.varKinds.var,e,t,n)}assign(e,t,n){return this._leafNode(new MR(e,t,n))}add(e,t){return this._leafNode(new t7(e,yt.operators.ADD,t))}code(e){return typeof e=="function"?e():e!==Ut.nil&&this._leafNode(new s7(e)),this}object(...e){let t=["{"];for(let[n,i]of e)t.length>1&&t.push(","),t.push(n),(n!==i||this.opts.es5)&&(t.push(":"),(0,Ut.addCodeArg)(t,i));return t.push("}"),new Ut._Code(t)}if(e,t,n){if(this._blockNode(new Rh(e)),t&&n)this.code(t).else().code(n).endIf();else if(t)this.code(t).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new Rh(e))}else(){return this._elseNode(new mb)}endIf(){return this._endBlockNode(Rh,mb)}_for(e,t){return this._blockNode(e),t&&this.code(t).endFor(),this}for(e,t){return this._for(new o7(e),t)}forRange(e,t,n,i,s=this.opts.es5?hl.varKinds.var:hl.varKinds.let){let a=this._scope.toName(e);return this._for(new l7(s,a,t,n),()=>i(a))}forOf(e,t,n,i=hl.varKinds.const){let s=this._scope.toName(e);if(this.opts.es5){let a=t instanceof Ut.Name?t:this.var("_arr",t);return this.forRange("_i",0,(0,Ut._)`${a}.length`,o=>{this.var(s,(0,Ut._)`${a}[${o}]`),n(s)})}return this._for(new AR("of",i,s,t),()=>n(s))}forIn(e,t,n,i=this.opts.es5?hl.varKinds.var:hl.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,Ut._)`Object.keys(${t})`,n);let s=this._scope.toName(e);return this._for(new AR("in",i,s,t),()=>n(s))}endFor(){return this._endBlockNode(Oh)}label(e){return this._leafNode(new r7(e))}break(e){return this._leafNode(new n7(e))}return(e){let t=new y0;if(this._blockNode(t),this.code(e),t.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(y0)}try(e,t,n){if(!t&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let i=new c7;if(this._blockNode(i),this.code(e),t){let s=this.name("e");this._currNode=i.catch=new v0(s),t(s)}return n&&(this._currNode=i.finally=new b0,this.code(n)),this._endBlockNode(v0,b0)}throw(e){return this._leafNode(new i7(e))}block(e,t){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(t),this}endBlock(e){let t=this._blockStarts.pop();if(t===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-t;if(n<0||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=t,this}func(e,t=Ut.nil,n,i){return this._blockNode(new g0(e,t,n)),i&&this.code(i).endFunc(),this}endFunc(){return this._endBlockNode(g0)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,t){let n=this._currNode;if(n instanceof e||t&&n instanceof t)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${t?`${e.kind}/${t.kind}`:e.kind}"`)}_elseNode(e){let t=this._currNode;if(!(t instanceof Rh))throw new Error('CodeGen: "else" without "if"');return this._currNode=t.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let t=this._nodes;t[t.length-1]=e}};yt.CodeGen=d7;function Lh(r,e){for(let t in e)r[t]=(r[t]||0)+(e[t]||0);return r}function IR(r,e){return e instanceof Ut._CodeOrName?Lh(r,e.names):r}function fb(r,e,t){if(r instanceof Ut.Name)return n(r);if(!i(r))return r;return new Ut._Code(r._items.reduce((s,a)=>(a instanceof Ut.Name&&(a=n(a)),a instanceof Ut._Code?s.push(...a._items):s.push(a),s),[]));function n(s){let a=t[s.str];return a===void 0||e[s.str]!==1?s:(delete e[s.str],a)}function i(s){return s instanceof Ut._Code&&s._items.some(a=>a instanceof Ut.Name&&e[a.str]===1&&t[a.str]!==void 0)}}function Igt(r,e){for(let t in e)r[t]=(r[t]||0)-(e[t]||0)}function PIe(r){return typeof r=="boolean"||typeof r=="number"||r===null?!r:(0,Ut._)`!${u7(r)}`}yt.not=PIe;var Ngt=_Ie(yt.operators.AND);function Rgt(...r){return r.reduce(Ngt)}yt.and=Rgt;var Ogt=_Ie(yt.operators.OR);function Lgt(...r){return r.reduce(Ogt)}yt.or=Lgt;function _Ie(r){return(e,t)=>e===Ut.nil?t:t===Ut.nil?e:(0,Ut._)`${u7(e)} ${r} ${u7(t)}`}function u7(r){return r instanceof Ut.Name?r:(0,Ut._)`(${r})`}});var rr=x(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.checkStrictMode=xt.getErrorPath=xt.Type=xt.useFunc=xt.setEvaluated=xt.evaluatedPropsToName=xt.mergeEvaluated=xt.eachItem=xt.unescapeJsonPointer=xt.escapeJsonPointer=xt.escapeFragment=xt.unescapeFragment=xt.schemaRefOrVal=xt.schemaHasRulesButRef=xt.schemaHasRules=xt.checkUnknownRules=xt.alwaysValidSchema=xt.toHash=void 0;var _r=ft(),Fgt=f0();function $gt(r){let e={};for(let t of r)e[t]=!0;return e}xt.toHash=$gt;function jgt(r,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(IIe(r,e),!NIe(e,r.self.RULES.all))}xt.alwaysValidSchema=jgt;function IIe(r,e=r.schema){let{opts:t,self:n}=r;if(!t.strictSchema||typeof e=="boolean")return;let i=n.RULES.keywords;for(let s in e)i[s]||LIe(r,`unknown keyword: "${s}"`)}xt.checkUnknownRules=IIe;function NIe(r,e){if(typeof r=="boolean")return!r;for(let t in r)if(e[t])return!0;return!1}xt.schemaHasRules=NIe;function zgt(r,e){if(typeof r=="boolean")return!r;for(let t in r)if(t!=="$ref"&&e.all[t])return!0;return!1}xt.schemaHasRulesButRef=zgt;function Bgt({topSchemaRef:r,schemaPath:e},t,n,i){if(!i){if(typeof t=="number"||typeof t=="boolean")return t;if(typeof t=="string")return(0,_r._)`${t}`}return(0,_r._)`${r}${e}${(0,_r.getProperty)(n)}`}xt.schemaRefOrVal=Bgt;function qgt(r){return RIe(decodeURIComponent(r))}xt.unescapeFragment=qgt;function Hgt(r){return encodeURIComponent(m7(r))}xt.escapeFragment=Hgt;function m7(r){return typeof r=="number"?`${r}`:r.replace(/~/g,"~0").replace(/\//g,"~1")}xt.escapeJsonPointer=m7;function RIe(r){return r.replace(/~1/g,"/").replace(/~0/g,"~")}xt.unescapeJsonPointer=RIe;function Ugt(r,e){if(Array.isArray(r))for(let t of r)e(t);else e(r)}xt.eachItem=Ugt;function MIe({mergeNames:r,mergeToName:e,mergeValues:t,resultToName:n}){return(i,s,a,o)=>{let l=a===void 0?s:a instanceof _r.Name?(s instanceof _r.Name?r(i,s,a):e(i,s,a),a):s instanceof _r.Name?(e(i,a,s),s):t(s,a);return o===_r.Name&&!(l instanceof _r.Name)?n(i,l):l}}xt.mergeEvaluated={props:MIe({mergeNames:(r,e,t)=>r.if((0,_r._)`${t} !== true && ${e} !== undefined`,()=>{r.if((0,_r._)`${e} === true`,()=>r.assign(t,!0),()=>r.assign(t,(0,_r._)`${t} || {}`).code((0,_r._)`Object.assign(${t}, ${e})`))}),mergeToName:(r,e,t)=>r.if((0,_r._)`${t} !== true`,()=>{e===!0?r.assign(t,!0):(r.assign(t,(0,_r._)`${t} || {}`),f7(r,t,e))}),mergeValues:(r,e)=>r===!0?!0:{...r,...e},resultToName:OIe}),items:MIe({mergeNames:(r,e,t)=>r.if((0,_r._)`${t} !== true && ${e} !== undefined`,()=>r.assign(t,(0,_r._)`${e} === true ? true : ${t} > ${e} ? ${t} : ${e}`)),mergeToName:(r,e,t)=>r.if((0,_r._)`${t} !== true`,()=>r.assign(t,e===!0?!0:(0,_r._)`${t} > ${e} ? ${t} : ${e}`)),mergeValues:(r,e)=>r===!0?!0:Math.max(r,e),resultToName:(r,e)=>r.var("items",e)})};function OIe(r,e){if(e===!0)return r.var("props",!0);let t=r.var("props",(0,_r._)`{}`);return e!==void 0&&f7(r,t,e),t}xt.evaluatedPropsToName=OIe;function f7(r,e,t){Object.keys(t).forEach(n=>r.assign((0,_r._)`${e}${(0,_r.getProperty)(n)}`,!0))}xt.setEvaluated=f7;var AIe={};function Vgt(r,e){return r.scopeValue("func",{ref:e,code:AIe[e.code]||(AIe[e.code]=new Fgt._Code(e.code))})}xt.useFunc=Vgt;var p7;(function(r){r[r.Num=0]="Num",r[r.Str=1]="Str"})(p7||(xt.Type=p7={}));function Wgt(r,e,t){if(r instanceof _r.Name){let n=e===p7.Num;return t?n?(0,_r._)`"[" + ${r} + "]"`:(0,_r._)`"['" + ${r} + "']"`:n?(0,_r._)`"/" + ${r}`:(0,_r._)`"/" + ${r}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return t?(0,_r.getProperty)(r).toString():"/"+m7(r)}xt.getErrorPath=Wgt;function LIe(r,e,t=r.opts.strictSchema){if(t){if(e=`strict mode: ${e}`,t===!0)throw new Error(e);r.self.logger.warn(e)}}xt.checkStrictMode=LIe});var cu=x(h7=>{"use strict";Object.defineProperty(h7,"__esModule",{value:!0});var Zi=ft(),Ygt={data:new Zi.Name("data"),valCxt:new Zi.Name("valCxt"),instancePath:new Zi.Name("instancePath"),parentData:new Zi.Name("parentData"),parentDataProperty:new Zi.Name("parentDataProperty"),rootData:new Zi.Name("rootData"),dynamicAnchors:new Zi.Name("dynamicAnchors"),vErrors:new Zi.Name("vErrors"),errors:new Zi.Name("errors"),this:new Zi.Name("this"),self:new Zi.Name("self"),scope:new Zi.Name("scope"),json:new Zi.Name("json"),jsonPos:new Zi.Name("jsonPos"),jsonLen:new Zi.Name("jsonLen"),jsonPart:new Zi.Name("jsonPart")};h7.default=Ygt});var T0=x(Qi=>{"use strict";Object.defineProperty(Qi,"__esModule",{value:!0});Qi.extendErrors=Qi.resetErrorsCount=Qi.reportExtraError=Qi.reportError=Qi.keyword$DataError=Qi.keywordError=void 0;var Zt=ft(),RR=rr(),ys=cu();Qi.keywordError={message:({keyword:r})=>(0,Zt.str)`must pass "${r}" keyword validation`};Qi.keyword$DataError={message:({keyword:r,schemaType:e})=>e?(0,Zt.str)`"${r}" keyword must be ${e} ($data)`:(0,Zt.str)`"${r}" keyword is invalid ($data)`};function Ggt(r,e=Qi.keywordError,t,n){let{it:i}=r,{gen:s,compositeRule:a,allErrors:o}=i,l=jIe(r,e,t);(n!=null?n:a||o)?FIe(s,l):$Ie(i,(0,Zt._)`[${l}]`)}Qi.reportError=Ggt;function Kgt(r,e=Qi.keywordError,t){let{it:n}=r,{gen:i,compositeRule:s,allErrors:a}=n,o=jIe(r,e,t);FIe(i,o),s||a||$Ie(n,ys.default.vErrors)}Qi.reportExtraError=Kgt;function Zgt(r,e){r.assign(ys.default.errors,e),r.if((0,Zt._)`${ys.default.vErrors} !== null`,()=>r.if(e,()=>r.assign((0,Zt._)`${ys.default.vErrors}.length`,e),()=>r.assign(ys.default.vErrors,null)))}Qi.resetErrorsCount=Zgt;function Qgt({gen:r,keyword:e,schemaValue:t,data:n,errsCount:i,it:s}){if(i===void 0)throw new Error("ajv implementation error");let a=r.name("err");r.forRange("i",i,ys.default.errors,o=>{r.const(a,(0,Zt._)`${ys.default.vErrors}[${o}]`),r.if((0,Zt._)`${a}.instancePath === undefined`,()=>r.assign((0,Zt._)`${a}.instancePath`,(0,Zt.strConcat)(ys.default.instancePath,s.errorPath))),r.assign((0,Zt._)`${a}.schemaPath`,(0,Zt.str)`${s.errSchemaPath}/${e}`),s.opts.verbose&&(r.assign((0,Zt._)`${a}.schema`,t),r.assign((0,Zt._)`${a}.data`,n))})}Qi.extendErrors=Qgt;function FIe(r,e){let t=r.const("err",e);r.if((0,Zt._)`${ys.default.vErrors} === null`,()=>r.assign(ys.default.vErrors,(0,Zt._)`[${t}]`),(0,Zt._)`${ys.default.vErrors}.push(${t})`),r.code((0,Zt._)`${ys.default.errors}++`)}function $Ie(r,e){let{gen:t,validateName:n,schemaEnv:i}=r;i.$async?t.throw((0,Zt._)`new ${r.ValidationError}(${e})`):(t.assign((0,Zt._)`${n}.errors`,e),t.return(!1))}var Fh={keyword:new Zt.Name("keyword"),schemaPath:new Zt.Name("schemaPath"),params:new Zt.Name("params"),propertyName:new Zt.Name("propertyName"),message:new Zt.Name("message"),schema:new Zt.Name("schema"),parentSchema:new Zt.Name("parentSchema")};function jIe(r,e,t){let{createErrors:n}=r.it;return n===!1?(0,Zt._)`{}`:Jgt(r,e,t)}function Jgt(r,e,t={}){let{gen:n,it:i}=r,s=[Xgt(i,t),eyt(r,t)];return tyt(r,e,s),n.object(...s)}function Xgt({errorPath:r},{instancePath:e}){let t=e?(0,Zt.str)`${r}${(0,RR.getErrorPath)(e,RR.Type.Str)}`:r;return[ys.default.instancePath,(0,Zt.strConcat)(ys.default.instancePath,t)]}function eyt({keyword:r,it:{errSchemaPath:e}},{schemaPath:t,parentSchema:n}){let i=n?e:(0,Zt.str)`${e}/${r}`;return t&&(i=(0,Zt.str)`${i}${(0,RR.getErrorPath)(t,RR.Type.Str)}`),[Fh.schemaPath,i]}function tyt(r,{params:e,message:t},n){let{keyword:i,data:s,schemaValue:a,it:o}=r,{opts:l,propertyName:c,topSchemaRef:d,schemaPath:u}=o;n.push([Fh.keyword,i],[Fh.params,typeof e=="function"?e(r):e||(0,Zt._)`{}`]),l.messages&&n.push([Fh.message,typeof t=="function"?t(r):t]),l.verbose&&n.push([Fh.schema,a],[Fh.parentSchema,(0,Zt._)`${d}${u}`],[ys.default.data,s]),c&&n.push([Fh.propertyName,c])}});var BIe=x(hb=>{"use strict";Object.defineProperty(hb,"__esModule",{value:!0});hb.boolOrEmptySchema=hb.topBoolOrEmptySchema=void 0;var ryt=T0(),nyt=ft(),iyt=cu(),syt={message:"boolean schema is false"};function ayt(r){let{gen:e,schema:t,validateName:n}=r;t===!1?zIe(r,!1):typeof t=="object"&&t.$async===!0?e.return(iyt.default.data):(e.assign((0,nyt._)`${n}.errors`,null),e.return(!0))}hb.topBoolOrEmptySchema=ayt;function oyt(r,e){let{gen:t,schema:n}=r;n===!1?(t.var(e,!1),zIe(r)):t.var(e,!0)}hb.boolOrEmptySchema=oyt;function zIe(r,e){let{gen:t,data:n}=r,i={gen:t,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:r};(0,ryt.reportError)(i,syt,void 0,e)}});var g7=x(gb=>{"use strict";Object.defineProperty(gb,"__esModule",{value:!0});gb.getRules=gb.isJSONType=void 0;var lyt=["string","number","integer","boolean","null","object","array"],cyt=new Set(lyt);function dyt(r){return typeof r=="string"&&cyt.has(r)}gb.isJSONType=dyt;function uyt(){let r={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...r,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},r.number,r.string,r.array,r.object],post:{rules:[]},all:{},keywords:{}}}gb.getRules=uyt});var y7=x(rm=>{"use strict";Object.defineProperty(rm,"__esModule",{value:!0});rm.shouldUseRule=rm.shouldUseGroup=rm.schemaHasRulesForType=void 0;function pyt({schema:r,self:e},t){let n=e.RULES.types[t];return n&&n!==!0&&qIe(r,n)}rm.schemaHasRulesForType=pyt;function qIe(r,e){return e.rules.some(t=>HIe(r,t))}rm.shouldUseGroup=qIe;function HIe(r,e){var t;return r[e.keyword]!==void 0||((t=e.definition.implements)===null||t===void 0?void 0:t.some(n=>r[n]!==void 0))}rm.shouldUseRule=HIe});var k0=x(Ji=>{"use strict";Object.defineProperty(Ji,"__esModule",{value:!0});Ji.reportTypeError=Ji.checkDataTypes=Ji.checkDataType=Ji.coerceAndCheckDataType=Ji.getJSONTypes=Ji.getSchemaTypes=Ji.DataType=void 0;var myt=g7(),fyt=y7(),hyt=T0(),ut=ft(),UIe=rr(),yb;(function(r){r[r.Correct=0]="Correct",r[r.Wrong=1]="Wrong"})(yb||(Ji.DataType=yb={}));function gyt(r){let e=VIe(r.type);if(e.includes("null")){if(r.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&r.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');r.nullable===!0&&e.push("null")}return e}Ji.getSchemaTypes=gyt;function VIe(r){let e=Array.isArray(r)?r:r?[r]:[];if(e.every(myt.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Ji.getJSONTypes=VIe;function yyt(r,e){let{gen:t,data:n,opts:i}=r,s=vyt(e,i.coerceTypes),a=e.length>0&&!(s.length===0&&e.length===1&&(0,fyt.schemaHasRulesForType)(r,e[0]));if(a){let o=b7(e,n,i.strictNumbers,yb.Wrong);t.if(o,()=>{s.length?byt(r,e,s):T7(r)})}return a}Ji.coerceAndCheckDataType=yyt;var WIe=new Set(["string","number","integer","boolean","null"]);function vyt(r,e){return e?r.filter(t=>WIe.has(t)||e==="array"&&t==="array"):[]}function byt(r,e,t){let{gen:n,data:i,opts:s}=r,a=n.let("dataType",(0,ut._)`typeof ${i}`),o=n.let("coerced",(0,ut._)`undefined`);s.coerceTypes==="array"&&n.if((0,ut._)`${a} == 'object' && Array.isArray(${i}) && ${i}.length == 1`,()=>n.assign(i,(0,ut._)`${i}[0]`).assign(a,(0,ut._)`typeof ${i}`).if(b7(e,i,s.strictNumbers),()=>n.assign(o,i))),n.if((0,ut._)`${o} !== undefined`);for(let c of t)(WIe.has(c)||c==="array"&&s.coerceTypes==="array")&&l(c);n.else(),T7(r),n.endIf(),n.if((0,ut._)`${o} !== undefined`,()=>{n.assign(i,o),Tyt(r,o)});function l(c){switch(c){case"string":n.elseIf((0,ut._)`${a} == "number" || ${a} == "boolean"`).assign(o,(0,ut._)`"" + ${i}`).elseIf((0,ut._)`${i} === null`).assign(o,(0,ut._)`""`);return;case"number":n.elseIf((0,ut._)`${a} == "boolean" || ${i} === null
|| (${a} == "string" && ${i} && ${i} == +${i})`).assign(o,(0,ut._)`+${i}`);return;case"integer":n.elseIf((0,ut._)`${a} === "boolean" || ${i} === null
|| (${a} === "string" && ${i} && ${i} == +${i} && !(${i} % 1))`).assign(o,(0,ut._)`+${i}`);return;case"boolean":n.elseIf((0,ut._)`${i} === "false" || ${i} === 0 || ${i} === null`).assign(o,!1).elseIf((0,ut._)`${i} === "true" || ${i} === 1`).assign(o,!0);return;case"null":n.elseIf((0,ut._)`${i} === "" || ${i} === 0 || ${i} === false`),n.assign(o,null);return;case"array":n.elseIf((0,ut._)`${a} === "string" || ${a} === "number"
|| ${a} === "boolean" || ${i} === null`).assign(o,(0,ut._)`[${i}]`)}}}function Tyt({gen:r,parentData:e,parentDataProperty:t},n){r.if((0,ut._)`${e} !== undefined`,()=>r.assign((0,ut._)`${e}[${t}]`,n))}function v7(r,e,t,n=yb.Correct){let i=n===yb.Correct?ut.operators.EQ:ut.operators.NEQ,s;switch(r){case"null":return(0,ut._)`${e} ${i} null`;case"array":s=(0,ut._)`Array.isArray(${e})`;break;case"object":s=(0,ut._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":s=a((0,ut._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":s=a();break;default:return(0,ut._)`typeof ${e} ${i} ${r}`}return n===yb.Correct?s:(0,ut.not)(s);function a(o=ut.nil){return(0,ut.and)((0,ut._)`typeof ${e} == "number"`,o,t?(0,ut._)`isFinite(${e})`:ut.nil)}}Ji.checkDataType=v7;function b7(r,e,t,n){if(r.length===1)return v7(r[0],e,t,n);let i,s=(0,UIe.toHash)(r);if(s.array&&s.object){let a=(0,ut._)`typeof ${e} != "object"`;i=s.null?a:(0,ut._)`!${e} || ${a}`,delete s.null,delete s.array,delete s.object}else i=ut.nil;s.number&&delete s.integer;for(let a in s)i=(0,ut.and)(i,v7(a,e,t,n));return i}Ji.checkDataTypes=b7;var kyt={message:({schema:r})=>`must be ${r}`,params:({schema:r,schemaValue:e})=>typeof r=="string"?(0,ut._)`{type: ${r}}`:(0,ut._)`{type: ${e}}`};function T7(r){let e=wyt(r);(0,hyt.reportError)(e,kyt)}Ji.reportTypeError=T7;function wyt(r){let{gen:e,data:t,schema:n}=r,i=(0,UIe.schemaRefOrVal)(r,n,"type");return{gen:e,keyword:"type",data:t,schema:n.type,schemaCode:i,schemaValue:i,parentSchema:n,params:{},it:r}}});var GIe=x(OR=>{"use strict";Object.defineProperty(OR,"__esModule",{value:!0});OR.assignDefaults=void 0;var vb=ft(),Syt=rr();function xyt(r,e){let{properties:t,items:n}=r.schema;if(e==="object"&&t)for(let i in t)YIe(r,i,t[i].default);else e==="array"&&Array.isArray(n)&&n.forEach((i,s)=>YIe(r,s,i.default))}OR.assignDefaults=xyt;function YIe(r,e,t){let{gen:n,compositeRule:i,data:s,opts:a}=r;if(t===void 0)return;let o=(0,vb._)`${s}${(0,vb.getProperty)(e)}`;if(i){(0,Syt.checkStrictMode)(r,`default is ignored for: ${o}`);return}let l=(0,vb._)`${o} === undefined`;a.useDefaults==="empty"&&(l=(0,vb._)`${l} || ${o} === null || ${o} === ""`),n.if(l,(0,vb._)`${o} = ${(0,vb.stringify)(t)}`)}});var Co=x(Dr=>{"use strict";Object.defineProperty(Dr,"__esModule",{value:!0});Dr.validateUnion=Dr.validateArray=Dr.usePattern=Dr.callValidateCode=Dr.schemaProperties=Dr.allSchemaProperties=Dr.noPropertyInData=Dr.propertyInData=Dr.isOwnProperty=Dr.hasPropFunc=Dr.reportMissingProp=Dr.checkMissingProp=Dr.checkReportMissingProp=void 0;var Ur=ft(),k7=rr(),nm=cu(),Eyt=rr();function Dyt(r,e){let{gen:t,data:n,it:i}=r;t.if(S7(t,n,e,i.opts.ownProperties),()=>{r.setParams({missingProperty:(0,Ur._)`${e}`},!0),r.error()})}Dr.checkReportMissingProp=Dyt;function Cyt({gen:r,data:e,it:{opts:t}},n,i){return(0,Ur.or)(...n.map(s=>(0,Ur.and)(S7(r,e,s,t.ownProperties),(0,Ur._)`${i} = ${s}`)))}Dr.checkMissingProp=Cyt;function Pyt(r,e){r.setParams({missingProperty:e},!0),r.error()}Dr.reportMissingProp=Pyt;function KIe(r){return r.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Ur._)`Object.prototype.hasOwnProperty`})}Dr.hasPropFunc=KIe;function w7(r,e,t){return(0,Ur._)`${KIe(r)}.call(${e}, ${t})`}Dr.isOwnProperty=w7;function _yt(r,e,t,n){let i=(0,Ur._)`${e}${(0,Ur.getProperty)(t)} !== undefined`;return n?(0,Ur._)`${i} && ${w7(r,e,t)}`:i}Dr.propertyInData=_yt;function S7(r,e,t,n){let i=(0,Ur._)`${e}${(0,Ur.getProperty)(t)} === undefined`;return n?(0,Ur.or)(i,(0,Ur.not)(w7(r,e,t))):i}Dr.noPropertyInData=S7;function ZIe(r){return r?Object.keys(r).filter(e=>e!=="__proto__"):[]}Dr.allSchemaProperties=ZIe;function Myt(r,e){return ZIe(e).filter(t=>!(0,k7.alwaysValidSchema)(r,e[t]))}Dr.schemaProperties=Myt;function Ayt({schemaCode:r,data:e,it:{gen:t,topSchemaRef:n,schemaPath:i,errorPath:s},it:a},o,l,c){let d=c?(0,Ur._)`${r}, ${e}, ${n}${i}`:e,u=[[nm.default.instancePath,(0,Ur.strConcat)(nm.default.instancePath,s)],[nm.default.parentData,a.parentData],[nm.default.parentDataProperty,a.parentDataProperty],[nm.default.rootData,nm.default.rootData]];a.opts.dynamicRef&&u.push([nm.default.dynamicAnchors,nm.default.dynamicAnchors]);let p=(0,Ur._)`${d}, ${t.object(...u)}`;return l!==Ur.nil?(0,Ur._)`${o}.call(${l}, ${p})`:(0,Ur._)`${o}(${p})`}Dr.callValidateCode=Ayt;var Iyt=(0,Ur._)`new RegExp`;function Nyt({gen:r,it:{opts:e}},t){let n=e.unicodeRegExp?"u":"",{regExp:i}=e.code,s=i(t,n);return r.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,Ur._)`${i.code==="new RegExp"?Iyt:(0,Eyt.useFunc)(r,i)}(${t}, ${n})`})}Dr.usePattern=Nyt;function Ryt(r){let{gen:e,data:t,keyword:n,it:i}=r,s=e.name("valid");if(i.allErrors){let o=e.let("valid",!0);return a(()=>e.assign(o,!1)),o}return e.var(s,!0),a(()=>e.break()),s;function a(o){let l=e.const("len",(0,Ur._)`${t}.length`);e.forRange("i",0,l,c=>{r.subschema({keyword:n,dataProp:c,dataPropType:k7.Type.Num},s),e.if((0,Ur.not)(s),o)})}}Dr.validateArray=Ryt;function Oyt(r){let{gen:e,schema:t,keyword:n,it:i}=r;if(!Array.isArray(t))throw new Error("ajv implementation error");if(t.some(l=>(0,k7.alwaysValidSchema)(i,l))&&!i.opts.unevaluated)return;let a=e.let("valid",!1),o=e.name("_valid");e.block(()=>t.forEach((l,c)=>{let d=r.subschema({keyword:n,schemaProp:c,compositeRule:!0},o);e.assign(a,(0,Ur._)`${a} || ${o}`),r.mergeValidEvaluated(d,o)||e.if((0,Ur.not)(a))})),r.result(a,()=>r.reset(),()=>r.error(!0))}Dr.validateUnion=Oyt});var XIe=x(Oc=>{"use strict";Object.defineProperty(Oc,"__esModule",{value:!0});Oc.validateKeywordUsage=Oc.validSchemaType=Oc.funcKeywordCode=Oc.macroKeywordCode=void 0;var vs=ft(),$h=cu(),Lyt=Co(),Fyt=T0();function $yt(r,e){let{gen:t,keyword:n,schema:i,parentSchema:s,it:a}=r,o=e.macro.call(a.self,i,s,a),l=JIe(t,n,o);a.opts.validateSchema!==!1&&a.self.validateSchema(o,!0);let c=t.name("valid");r.subschema({schema:o,schemaPath:vs.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:l,compositeRule:!0},c),r.pass(c,()=>r.error(!0))}Oc.macroKeywordCode=$yt;function jyt(r,e){var t;let{gen:n,keyword:i,schema:s,parentSchema:a,$data:o,it:l}=r;Byt(l,e);let c=!o&&e.compile?e.compile.call(l.self,s,a,l):e.validate,d=JIe(n,i,c),u=n.let("valid");r.block$data(u,p),r.ok((t=e.valid)!==null&&t!==void 0?t:u);function p(){if(e.errors===!1)h(),e.modifying&&QIe(r),g(()=>r.error());else{let y=e.async?m():f();e.modifying&&QIe(r),g(()=>zyt(r,y))}}function m(){let y=n.let("ruleErrs",null);return n.try(()=>h((0,vs._)`await `),k=>n.assign(u,!1).if((0,vs._)`${k} instanceof ${l.ValidationError}`,()=>n.assign(y,(0,vs._)`${k}.errors`),()=>n.throw(k))),y}function f(){let y=(0,vs._)`${d}.errors`;return n.assign(y,null),h(vs.nil),y}function h(y=e.async?(0,vs._)`await `:vs.nil){let k=l.opts.passContext?$h.default.this:$h.default.self,T=!("compile"in e&&!o||e.schema===!1);n.assign(u,(0,vs._)`${y}${(0,Lyt.callValidateCode)(r,d,k,T)}`,e.modifying)}function g(y){var k;n.if((0,vs.not)((k=e.valid)!==null&&k!==void 0?k:u),y)}}Oc.funcKeywordCode=jyt;function QIe(r){let{gen:e,data:t,it:n}=r;e.if(n.parentData,()=>e.assign(t,(0,vs._)`${n.parentData}[${n.parentDataProperty}]`))}function zyt(r,e){let{gen:t}=r;t.if((0,vs._)`Array.isArray(${e})`,()=>{t.assign($h.default.vErrors,(0,vs._)`${$h.default.vErrors} === null ? ${e} : ${$h.default.vErrors}.concat(${e})`).assign($h.default.errors,(0,vs._)`${$h.default.vErrors}.length`),(0,Fyt.extendErrors)(r)},()=>r.error())}function Byt({schemaEnv:r},e){if(e.async&&!r.$async)throw new Error("async keyword in sync schema")}function JIe(r,e,t){if(t===void 0)throw new Error(`keyword "${e}" failed to compile`);return r.scopeValue("keyword",typeof t=="function"?{ref:t}:{ref:t,code:(0,vs.stringify)(t)})}function qyt(r,e,t=!1){return!e.length||e.some(n=>n==="array"?Array.isArray(r):n==="object"?r&&typeof r=="object"&&!Array.isArray(r):typeof r==n||t&&typeof r=="undefined")}Oc.validSchemaType=qyt;function Hyt({schema:r,opts:e,self:t,errSchemaPath:n},i,s){if(Array.isArray(i.keyword)?!i.keyword.includes(s):i.keyword!==s)throw new Error("ajv implementation error");let a=i.dependencies;if(a!=null&&a.some(o=>!Object.prototype.hasOwnProperty.call(r,o)))throw new Error(`parent schema must have dependencies of ${s}: ${a.join(",")}`);if(i.validateSchema&&!i.validateSchema(r[s])){let l=`keyword "${s}" value is invalid at path "${n}": `+t.errorsText(i.validateSchema.errors);if(e.validateSchema==="log")t.logger.error(l);else throw new Error(l)}}Oc.validateKeywordUsage=Hyt});var tNe=x(im=>{"use strict";Object.defineProperty(im,"__esModule",{value:!0});im.extendSubschemaMode=im.extendSubschemaData=im.getSubschema=void 0;var Lc=ft(),eNe=rr();function Uyt(r,{keyword:e,schemaProp:t,schema:n,schemaPath:i,errSchemaPath:s,topSchemaRef:a}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let o=r.schema[e];return t===void 0?{schema:o,schemaPath:(0,Lc._)`${r.schemaPath}${(0,Lc.getProperty)(e)}`,errSchemaPath:`${r.errSchemaPath}/${e}`}:{schema:o[t],schemaPath:(0,Lc._)`${r.schemaPath}${(0,Lc.getProperty)(e)}${(0,Lc.getProperty)(t)}`,errSchemaPath:`${r.errSchemaPath}/${e}/${(0,eNe.escapeFragment)(t)}`}}if(n!==void 0){if(i===void 0||s===void 0||a===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:i,topSchemaRef:a,errSchemaPath:s}}throw new Error('either "keyword" or "schema" must be passed')}im.getSubschema=Uyt;function Vyt(r,e,{dataProp:t,dataPropType:n,data:i,dataTypes:s,propertyName:a}){if(i!==void 0&&t!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:o}=e;if(t!==void 0){let{errorPath:c,dataPathArr:d,opts:u}=e,p=o.let("data",(0,Lc._)`${e.data}${(0,Lc.getProperty)(t)}`,!0);l(p),r.errorPath=(0,Lc.str)`${c}${(0,eNe.getErrorPath)(t,n,u.jsPropertySyntax)}`,r.parentDataProperty=(0,Lc._)`${t}`,r.dataPathArr=[...d,r.parentDataProperty]}if(i!==void 0){let c=i instanceof Lc.Name?i:o.let("data",i,!0);l(c),a!==void 0&&(r.propertyName=a)}s&&(r.dataTypes=s);function l(c){r.data=c,r.dataLevel=e.dataLevel+1,r.dataTypes=[],e.definedProperties=new Set,r.parentData=e.data,r.dataNames=[...e.dataNames,c]}}im.extendSubschemaData=Vyt;function Wyt(r,{jtdDiscriminator:e,jtdMetadata:t,compositeRule:n,createErrors:i,allErrors:s}){n!==void 0&&(r.compositeRule=n),i!==void 0&&(r.createErrors=i),s!==void 0&&(r.allErrors=s),r.jtdDiscriminator=e,r.jtdMetadata=t}im.extendSubschemaMode=Wyt});var nNe=x((fTr,rNe)=>{"use strict";var sm=rNe.exports=function(r,e,t){typeof e=="function"&&(t=e,e={}),t=e.cb||t;var n=typeof t=="function"?t:t.pre||function(){},i=t.post||function(){};LR(e,n,i,r,"",r)};sm.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};sm.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};sm.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};sm.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function LR(r,e,t,n,i,s,a,o,l,c){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,i,s,a,o,l,c);for(var d in n){var u=n[d];if(Array.isArray(u)){if(d in sm.arrayKeywords)for(var p=0;p<u.length;p++)LR(r,e,t,u[p],i+"/"+d+"/"+p,s,i,d,n,p)}else if(d in sm.propsKeywords){if(u&&typeof u=="object")for(var m in u)LR(r,e,t,u[m],i+"/"+d+"/"+Yyt(m),s,i,d,n,m)}else(d in sm.keywords||r.allKeys&&!(d in sm.skipKeywords))&&LR(r,e,t,u,i+"/"+d,s,i,d,n)}t(n,i,s,a,o,l,c)}}function Yyt(r){return r.replace(/~/g,"~0").replace(/\//g,"~1")}});var w0=x(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.getSchemaRefs=ra.resolveUrl=ra.normalizeId=ra._getFullPath=ra.getFullPath=ra.inlineRef=void 0;var Gyt=rr(),Kyt=YE(),Zyt=nNe(),Qyt=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function Jyt(r,e=!0){return typeof r=="boolean"?!0:e===!0?!x7(r):e?iNe(r)<=e:!1}ra.inlineRef=Jyt;var Xyt=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function x7(r){for(let e in r){if(Xyt.has(e))return!0;let t=r[e];if(Array.isArray(t)&&t.some(x7)||typeof t=="object"&&x7(t))return!0}return!1}function iNe(r){let e=0;for(let t in r){if(t==="$ref")return 1/0;if(e++,!Qyt.has(t)&&(typeof r[t]=="object"&&(0,Gyt.eachItem)(r[t],n=>e+=iNe(n)),e===1/0))return 1/0}return e}function sNe(r,e="",t){t!==!1&&(e=bb(e));let n=r.parse(e);return aNe(r,n)}ra.getFullPath=sNe;function aNe(r,e){return r.serialize(e).split("#")[0]+"#"}ra._getFullPath=aNe;var evt=/#\/?$/;function bb(r){return r?r.replace(evt,""):""}ra.normalizeId=bb;function tvt(r,e,t){return t=bb(t),r.resolve(e,t)}ra.resolveUrl=tvt;var rvt=/^[a-z_][-a-z0-9._]*$/i;function nvt(r,e){if(typeof r=="boolean")return{};let{schemaId:t,uriResolver:n}=this.opts,i=bb(r[t]||e),s={"":i},a=sNe(n,i,!1),o={},l=new Set;return Zyt(r,{allKeys:!0},(u,p,m,f)=>{if(f===void 0)return;let h=a+p,g=s[f];typeof u[t]=="string"&&(g=y.call(this,u[t])),k.call(this,u.$anchor),k.call(this,u.$dynamicAnchor),s[p]=g;function y(T){let w=this.opts.uriResolver.resolve;if(T=bb(g?w(g,T):T),l.has(T))throw d(T);l.add(T);let S=this.refs[T];return typeof S=="string"&&(S=this.refs[S]),typeof S=="object"?c(u,S.schema,T):T!==bb(h)&&(T[0]==="#"?(c(u,o[T],T),o[T]=u):this.refs[T]=h),T}function k(T){if(typeof T=="string"){if(!rvt.test(T))throw new Error(`invalid anchor "${T}"`);y.call(this,`#${T}`)}}}),o;function c(u,p,m){if(p!==void 0&&!Kyt(u,p))throw d(m)}function d(u){return new Error(`reference "${u}" resolves to more than one schema`)}}ra.getSchemaRefs=nvt});var E0=x(am=>{"use strict";Object.defineProperty(am,"__esModule",{value:!0});am.getData=am.KeywordCxt=am.validateFunctionCode=void 0;var uNe=BIe(),oNe=k0(),D7=y7(),FR=k0(),ivt=GIe(),x0=XIe(),E7=tNe(),Re=ft(),Xe=cu(),svt=w0(),du=rr(),S0=T0();function avt(r){if(fNe(r)&&(hNe(r),mNe(r))){cvt(r);return}pNe(r,()=>(0,uNe.topBoolOrEmptySchema)(r))}am.validateFunctionCode=avt;function pNe({gen:r,validateName:e,schema:t,schemaEnv:n,opts:i},s){i.code.es5?r.func(e,(0,Re._)`${Xe.default.data}, ${Xe.default.valCxt}`,n.$async,()=>{r.code((0,Re._)`"use strict"; ${lNe(t,i)}`),lvt(r,i),r.code(s)}):r.func(e,(0,Re._)`${Xe.default.data}, ${ovt(i)}`,n.$async,()=>r.code(lNe(t,i)).code(s))}function ovt(r){return(0,Re._)`{${Xe.default.instancePath}="", ${Xe.default.parentData}, ${Xe.default.parentDataProperty}, ${Xe.default.rootData}=${Xe.default.data}${r.dynamicRef?(0,Re._)`, ${Xe.default.dynamicAnchors}={}`:Re.nil}}={}`}function lvt(r,e){r.if(Xe.default.valCxt,()=>{r.var(Xe.default.instancePath,(0,Re._)`${Xe.default.valCxt}.${Xe.default.instancePath}`),r.var(Xe.default.parentData,(0,Re._)`${Xe.default.valCxt}.${Xe.default.parentData}`),r.var(Xe.default.parentDataProperty,(0,Re._)`${Xe.default.valCxt}.${Xe.default.parentDataProperty}`),r.var(Xe.default.rootData,(0,Re._)`${Xe.default.valCxt}.${Xe.default.rootData}`),e.dynamicRef&&r.var(Xe.default.dynamicAnchors,(0,Re._)`${Xe.default.valCxt}.${Xe.default.dynamicAnchors}`)},()=>{r.var(Xe.default.instancePath,(0,Re._)`""`),r.var(Xe.default.parentData,(0,Re._)`undefined`),r.var(Xe.default.parentDataProperty,(0,Re._)`undefined`),r.var(Xe.default.rootData,Xe.default.data),e.dynamicRef&&r.var(Xe.default.dynamicAnchors,(0,Re._)`{}`)})}function cvt(r){let{schema:e,opts:t,gen:n}=r;pNe(r,()=>{t.$comment&&e.$comment&&yNe(r),fvt(r),n.let(Xe.default.vErrors,null),n.let(Xe.default.errors,0),t.unevaluated&&dvt(r),gNe(r),yvt(r)})}function dvt(r){let{gen:e,validateName:t}=r;r.evaluated=e.const("evaluated",(0,Re._)`${t}.evaluated`),e.if((0,Re._)`${r.evaluated}.dynamicProps`,()=>e.assign((0,Re._)`${r.evaluated}.props`,(0,Re._)`undefined`)),e.if((0,Re._)`${r.evaluated}.dynamicItems`,()=>e.assign((0,Re._)`${r.evaluated}.items`,(0,Re._)`undefined`))}function lNe(r,e){let t=typeof r=="object"&&r[e.schemaId];return t&&(e.code.source||e.code.process)?(0,Re._)`/*# sourceURL=${t} */`:Re.nil}function uvt(r,e){if(fNe(r)&&(hNe(r),mNe(r))){pvt(r,e);return}(0,uNe.boolOrEmptySchema)(r,e)}function mNe({schema:r,self:e}){if(typeof r=="boolean")return!r;for(let t in r)if(e.RULES.all[t])return!0;return!1}function fNe(r){return typeof r.schema!="boolean"}function pvt(r,e){let{schema:t,gen:n,opts:i}=r;i.$comment&&t.$comment&&yNe(r),hvt(r),gvt(r);let s=n.const("_errs",Xe.default.errors);gNe(r,s),n.var(e,(0,Re._)`${s} === ${Xe.default.errors}`)}function hNe(r){(0,du.checkUnknownRules)(r),mvt(r)}function gNe(r,e){if(r.opts.jtd)return cNe(r,[],!1,e);let t=(0,oNe.getSchemaTypes)(r.schema),n=(0,oNe.coerceAndCheckDataType)(r,t);cNe(r,t,!n,e)}function mvt(r){let{schema:e,errSchemaPath:t,opts:n,self:i}=r;e.$ref&&n.ignoreKeywordsWithRef&&(0,du.schemaHasRulesButRef)(e,i.RULES)&&i.logger.warn(`$ref: keywords ignored in schema at path "${t}"`)}function fvt(r){let{schema:e,opts:t}=r;e.default!==void 0&&t.useDefaults&&t.strictSchema&&(0,du.checkStrictMode)(r,"default is ignored in the schema root")}function hvt(r){let e=r.schema[r.opts.schemaId];e&&(r.baseId=(0,svt.resolveUrl)(r.opts.uriResolver,r.baseId,e))}function gvt(r){if(r.schema.$async&&!r.schemaEnv.$async)throw new Error("async schema in sync schema")}function yNe({gen:r,schemaEnv:e,schema:t,errSchemaPath:n,opts:i}){let s=t.$comment;if(i.$comment===!0)r.code((0,Re._)`${Xe.default.self}.logger.log(${s})`);else if(typeof i.$comment=="function"){let a=(0,Re.str)`${n}/$comment`,o=r.scopeValue("root",{ref:e.root});r.code((0,Re._)`${Xe.default.self}.opts.$comment(${s}, ${a}, ${o}.schema)`)}}function yvt(r){let{gen:e,schemaEnv:t,validateName:n,ValidationError:i,opts:s}=r;t.$async?e.if((0,Re._)`${Xe.default.errors} === 0`,()=>e.return(Xe.default.data),()=>e.throw((0,Re._)`new ${i}(${Xe.default.vErrors})`)):(e.assign((0,Re._)`${n}.errors`,Xe.default.vErrors),s.unevaluated&&vvt(r),e.return((0,Re._)`${Xe.default.errors} === 0`))}function vvt({gen:r,evaluated:e,props:t,items:n}){t instanceof Re.Name&&r.assign((0,Re._)`${e}.props`,t),n instanceof Re.Name&&r.assign((0,Re._)`${e}.items`,n)}function cNe(r,e,t,n){let{gen:i,schema:s,data:a,allErrors:o,opts:l,self:c}=r,{RULES:d}=c;if(s.$ref&&(l.ignoreKeywordsWithRef||!(0,du.schemaHasRulesButRef)(s,d))){i.block(()=>bNe(r,"$ref",d.all.$ref.definition));return}l.jtd||bvt(r,e),i.block(()=>{for(let p of d.rules)u(p);u(d.post)});function u(p){(0,D7.shouldUseGroup)(s,p)&&(p.type?(i.if((0,FR.checkDataType)(p.type,a,l.strictNumbers)),dNe(r,p),e.length===1&&e[0]===p.type&&t&&(i.else(),(0,FR.reportTypeError)(r)),i.endIf()):dNe(r,p),o||i.if((0,Re._)`${Xe.default.errors} === ${n||0}`))}}function dNe(r,e){let{gen:t,schema:n,opts:{useDefaults:i}}=r;i&&(0,ivt.assignDefaults)(r,e.type),t.block(()=>{for(let s of e.rules)(0,D7.shouldUseRule)(n,s)&&bNe(r,s.keyword,s.definition,e.type)})}function bvt(r,e){r.schemaEnv.meta||!r.opts.strictTypes||(Tvt(r,e),r.opts.allowUnionTypes||kvt(r,e),wvt(r,r.dataTypes))}function Tvt(r,e){if(e.length){if(!r.dataTypes.length){r.dataTypes=e;return}e.forEach(t=>{vNe(r.dataTypes,t)||C7(r,`type "${t}" not allowed by context "${r.dataTypes.join(",")}"`)}),xvt(r,e)}}function kvt(r,e){e.length>1&&!(e.length===2&&e.includes("null"))&&C7(r,"use allowUnionTypes to allow union type keyword")}function wvt(r,e){let t=r.self.RULES.all;for(let n in t){let i=t[n];if(typeof i=="object"&&(0,D7.shouldUseRule)(r.schema,i)){let{type:s}=i.definition;s.length&&!s.some(a=>Svt(e,a))&&C7(r,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function Svt(r,e){return r.includes(e)||e==="number"&&r.includes("integer")}function vNe(r,e){return r.includes(e)||e==="integer"&&r.includes("number")}function xvt(r,e){let t=[];for(let n of r.dataTypes)vNe(e,n)?t.push(n):e.includes("integer")&&n==="number"&&t.push("integer");r.dataTypes=t}function C7(r,e){let t=r.schemaEnv.baseId+r.errSchemaPath;e+=` at "${t}" (strictTypes)`,(0,du.checkStrictMode)(r,e,r.opts.strictTypes)}var $R=class{constructor(e,t,n){if((0,x0.validateKeywordUsage)(e,t,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=t.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,du.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=t.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=t,this.$data)this.schemaCode=e.gen.const("vSchema",TNe(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,x0.validSchemaType)(this.schema,t.schemaType,t.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(t.schemaType)}`);("code"in t?t.trackErrors:t.errors!==!1)&&(this.errsCount=e.gen.const("_errs",Xe.default.errors))}result(e,t,n){this.failResult((0,Re.not)(e),t,n)}failResult(e,t,n){this.gen.if(e),n?n():this.error(),t?(this.gen.else(),t(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,t){this.failResult((0,Re.not)(e),void 0,t)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:t}=this;this.fail((0,Re._)`${t} !== undefined && (${(0,Re.or)(this.invalid$data(),e)})`)}error(e,t,n){if(t){this.setParams(t),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,t){(e?S0.reportExtraError:S0.reportError)(this,this.def.error,t)}$dataError(){(0,S0.reportError)(this,this.def.$dataError||S0.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,S0.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,t){t?Object.assign(this.params,e):this.params=e}block$data(e,t,n=Re.nil){this.gen.block(()=>{this.check$data(e,n),t()})}check$data(e=Re.nil,t=Re.nil){if(!this.$data)return;let{gen:n,schemaCode:i,schemaType:s,def:a}=this;n.if((0,Re.or)((0,Re._)`${i} === undefined`,t)),e!==Re.nil&&n.assign(e,!0),(s.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==Re.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:t,schemaType:n,def:i,it:s}=this;return(0,Re.or)(a(),o());function a(){if(n.length){if(!(t instanceof Re.Name))throw new Error("ajv implementation error");let l=Array.isArray(n)?n:[n];return(0,Re._)`${(0,FR.checkDataTypes)(l,t,s.opts.strictNumbers,FR.DataType.Wrong)}`}return Re.nil}function o(){if(i.validateSchema){let l=e.scopeValue("validate$data",{ref:i.validateSchema});return(0,Re._)`!${l}(${t})`}return Re.nil}}subschema(e,t){let n=(0,E7.getSubschema)(this.it,e);(0,E7.extendSubschemaData)(n,this.it,e),(0,E7.extendSubschemaMode)(n,e);let i={...this.it,...n,items:void 0,props:void 0};return uvt(i,t),i}mergeEvaluated(e,t){let{it:n,gen:i}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=du.mergeEvaluated.props(i,e.props,n.props,t)),n.items!==!0&&e.items!==void 0&&(n.items=du.mergeEvaluated.items(i,e.items,n.items,t)))}mergeValidEvaluated(e,t){let{it:n,gen:i}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return i.if(t,()=>this.mergeEvaluated(e,Re.Name)),!0}};am.KeywordCxt=$R;function bNe(r,e,t,n){let i=new $R(r,t,e);"code"in t?t.code(i,n):i.$data&&t.validate?(0,x0.funcKeywordCode)(i,t):"macro"in t?(0,x0.macroKeywordCode)(i,t):(t.compile||t.validate)&&(0,x0.funcKeywordCode)(i,t)}var Evt=/^\/(?:[^~]|~0|~1)*$/,Dvt=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function TNe(r,{dataLevel:e,dataNames:t,dataPathArr:n}){let i,s;if(r==="")return Xe.default.rootData;if(r[0]==="/"){if(!Evt.test(r))throw new Error(`Invalid JSON-pointer: ${r}`);i=r,s=Xe.default.rootData}else{let c=Dvt.exec(r);if(!c)throw new Error(`Invalid JSON-pointer: ${r}`);let d=+c[1];if(i=c[2],i==="#"){if(d>=e)throw new Error(l("property/index",d));return n[e-d]}if(d>e)throw new Error(l("data",d));if(s=t[e-d],!i)return s}let a=s,o=i.split("/");for(let c of o)c&&(s=(0,Re._)`${s}${(0,Re.getProperty)((0,du.unescapeJsonPointer)(c))}`,a=(0,Re._)`${a} && ${s}`);return a;function l(c,d){return`Cannot access ${c} ${d} levels up, current level is ${e}`}}am.getData=TNe});var jR=x(_7=>{"use strict";Object.defineProperty(_7,"__esModule",{value:!0});var P7=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};_7.default=P7});var D0=x(I7=>{"use strict";Object.defineProperty(I7,"__esModule",{value:!0});var M7=w0(),A7=class extends Error{constructor(e,t,n,i){super(i||`can't resolve reference ${n} from id ${t}`),this.missingRef=(0,M7.resolveUrl)(e,t,n),this.missingSchema=(0,M7.normalizeId)((0,M7.getFullPath)(e,this.missingRef))}};I7.default=A7});var BR=x(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.resolveSchema=Po.getCompilingSchema=Po.resolveRef=Po.compileSchema=Po.SchemaEnv=void 0;var gl=ft(),Cvt=jR(),jh=cu(),yl=w0(),kNe=rr(),Pvt=E0(),Tb=class{constructor(e){var t;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(t=e.baseId)!==null&&t!==void 0?t:(0,yl.normalizeId)(n==null?void 0:n[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n==null?void 0:n.$async,this.refs={}}};Po.SchemaEnv=Tb;function R7(r){let e=wNe.call(this,r);if(e)return e;let t=(0,yl.getFullPath)(this.opts.uriResolver,r.root.baseId),{es5:n,lines:i}=this.opts.code,{ownProperties:s}=this.opts,a=new gl.CodeGen(this.scope,{es5:n,lines:i,ownProperties:s}),o;r.$async&&(o=a.scopeValue("Error",{ref:Cvt.default,code:(0,gl._)`require("ajv/dist/runtime/validation_error").default`}));let l=a.scopeName("validate");r.validateName=l;let c={gen:a,allErrors:this.opts.allErrors,data:jh.default.data,parentData:jh.default.parentData,parentDataProperty:jh.default.parentDataProperty,dataNames:[jh.default.data],dataPathArr:[gl.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===!0?{ref:r.schema,code:(0,gl.stringify)(r.schema)}:{ref:r.schema}),validateName:l,ValidationError:o,schema:r.schema,schemaEnv:r,rootId:t,baseId:r.baseId||t,schemaPath:gl.nil,errSchemaPath:r.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,gl._)`""`,opts:this.opts,self:this},d;try{this._compilations.add(r),(0,Pvt.validateFunctionCode)(c),a.optimize(this.opts.code.optimize);let u=a.toString();d=`${a.scopeRefs(jh.default.scope)}return ${u}`,this.opts.code.process&&(d=this.opts.code.process(d,r));let m=new Function(`${jh.default.self}`,`${jh.default.scope}`,d)(this,this.scope.get());if(this.scope.value(l,{ref:m}),m.errors=null,m.schema=r.schema,m.schemaEnv=r,r.$async&&(m.$async=!0),this.opts.code.source===!0&&(m.source={validateName:l,validateCode:u,scopeValues:a._values}),this.opts.unevaluated){let{props:f,items:h}=c;m.evaluated={props:f instanceof gl.Name?void 0:f,items:h instanceof gl.Name?void 0:h,dynamicProps:f instanceof gl.Name,dynamicItems:h instanceof gl.Name},m.source&&(m.source.evaluated=(0,gl.stringify)(m.evaluated))}return r.validate=m,r}catch(u){throw delete r.validate,delete r.validateName,d&&this.logger.error("Error compiling schema, function code:",d),u}finally{this._compilations.delete(r)}}Po.compileSchema=R7;function _vt(r,e,t){var n;t=(0,yl.resolveUrl)(this.opts.uriResolver,e,t);let i=r.refs[t];if(i)return i;let s=Ivt.call(this,r,t);if(s===void 0){let a=(n=r.localRefs)===null||n===void 0?void 0:n[t],{schemaId:o}=this.opts;a&&(s=new Tb({schema:a,schemaId:o,root:r,baseId:e}))}if(s!==void 0)return r.refs[t]=Mvt.call(this,s)}Po.resolveRef=_vt;function Mvt(r){return(0,yl.inlineRef)(r.schema,this.opts.inlineRefs)?r.schema:r.validate?r:R7.call(this,r)}function wNe(r){for(let e of this._compilations)if(Avt(e,r))return e}Po.getCompilingSchema=wNe;function Avt(r,e){return r.schema===e.schema&&r.root===e.root&&r.baseId===e.baseId}function Ivt(r,e){let t;for(;typeof(t=this.refs[e])=="string";)e=t;return t||this.schemas[e]||zR.call(this,r,e)}function zR(r,e){let t=this.opts.uriResolver.parse(e),n=(0,yl._getFullPath)(this.opts.uriResolver,t),i=(0,yl.getFullPath)(this.opts.uriResolver,r.baseId,void 0);if(Object.keys(r.schema).length>0&&n===i)return N7.call(this,t,r);let s=(0,yl.normalizeId)(n),a=this.refs[s]||this.schemas[s];if(typeof a=="string"){let o=zR.call(this,r,a);return typeof(o==null?void 0:o.schema)!="object"?void 0:N7.call(this,t,o)}if(typeof(a==null?void 0:a.schema)=="object"){if(a.validate||R7.call(this,a),s===(0,yl.normalizeId)(e)){let{schema:o}=a,{schemaId:l}=this.opts,c=o[l];return c&&(i=(0,yl.resolveUrl)(this.opts.uriResolver,i,c)),new Tb({schema:o,schemaId:l,root:r,baseId:i})}return N7.call(this,t,a)}}Po.resolveSchema=zR;var Nvt=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function N7(r,{baseId:e,schema:t,root:n}){var i;if(((i=r.fragment)===null||i===void 0?void 0:i[0])!=="/")return;for(let o of r.fragment.slice(1).split("/")){if(typeof t=="boolean")return;let l=t[(0,kNe.unescapeFragment)(o)];if(l===void 0)return;t=l;let c=typeof t=="object"&&t[this.opts.schemaId];!Nvt.has(o)&&c&&(e=(0,yl.resolveUrl)(this.opts.uriResolver,e,c))}let s;if(typeof t!="boolean"&&t.$ref&&!(0,kNe.schemaHasRulesButRef)(t,this.RULES)){let o=(0,yl.resolveUrl)(this.opts.uriResolver,e,t.$ref);s=zR.call(this,n,o)}let{schemaId:a}=this.opts;if(s=s||new Tb({schema:t,schemaId:a,root:n,baseId:e}),s.schema!==s.root.schema)return s}});var SNe=x((TTr,Rvt)=>{Rvt.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var ENe=x(O7=>{"use strict";Object.defineProperty(O7,"__esModule",{value:!0});var xNe=Q8();xNe.code='require("ajv/dist/runtime/uri").default';O7.default=xNe});var NNe=x(wi=>{"use strict";Object.defineProperty(wi,"__esModule",{value:!0});wi.CodeGen=wi.Name=wi.nil=wi.stringify=wi.str=wi._=wi.KeywordCxt=void 0;var Ovt=E0();Object.defineProperty(wi,"KeywordCxt",{enumerable:!0,get:function(){return Ovt.KeywordCxt}});var kb=ft();Object.defineProperty(wi,"_",{enumerable:!0,get:function(){return kb._}});Object.defineProperty(wi,"str",{enumerable:!0,get:function(){return kb.str}});Object.defineProperty(wi,"stringify",{enumerable:!0,get:function(){return kb.stringify}});Object.defineProperty(wi,"nil",{enumerable:!0,get:function(){return kb.nil}});Object.defineProperty(wi,"Name",{enumerable:!0,get:function(){return kb.Name}});Object.defineProperty(wi,"CodeGen",{enumerable:!0,get:function(){return kb.CodeGen}});var Lvt=jR(),MNe=D0(),Fvt=g7(),C0=BR(),$vt=ft(),P0=w0(),qR=k0(),F7=rr(),DNe=SNe(),jvt=ENe(),ANe=(r,e)=>new RegExp(r,e);ANe.code="new RegExp";var zvt=["removeAdditional","useDefaults","coerceTypes"],Bvt=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),qvt={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},Hvt={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},CNe=200;function Uvt(r){var e,t,n,i,s,a,o,l,c,d,u,p,m,f,h,g,y,k,T,w,S,E,C,D,A;let N=r.strict,V=(e=r.code)===null||e===void 0?void 0:e.optimize,R=V===!0||V===void 0?1:V||0,I=(n=(t=r.code)===null||t===void 0?void 0:t.regExp)!==null&&n!==void 0?n:ANe,O=(i=r.uriResolver)!==null&&i!==void 0?i:jvt.default;return{strictSchema:(a=(s=r.strictSchema)!==null&&s!==void 0?s:N)!==null&&a!==void 0?a:!0,strictNumbers:(l=(o=r.strictNumbers)!==null&&o!==void 0?o:N)!==null&&l!==void 0?l:!0,strictTypes:(d=(c=r.strictTypes)!==null&&c!==void 0?c:N)!==null&&d!==void 0?d:"log",strictTuples:(p=(u=r.strictTuples)!==null&&u!==void 0?u:N)!==null&&p!==void 0?p:"log",strictRequired:(f=(m=r.strictRequired)!==null&&m!==void 0?m:N)!==null&&f!==void 0?f:!1,code:r.code?{...r.code,optimize:R,regExp:I}:{optimize:R,regExp:I},loopRequired:(h=r.loopRequired)!==null&&h!==void 0?h:CNe,loopEnum:(g=r.loopEnum)!==null&&g!==void 0?g:CNe,meta:(y=r.meta)!==null&&y!==void 0?y:!0,messages:(k=r.messages)!==null&&k!==void 0?k:!0,inlineRefs:(T=r.inlineRefs)!==null&&T!==void 0?T:!0,schemaId:(w=r.schemaId)!==null&&w!==void 0?w:"$id",addUsedSchema:(S=r.addUsedSchema)!==null&&S!==void 0?S:!0,validateSchema:(E=r.validateSchema)!==null&&E!==void 0?E:!0,validateFormats:(C=r.validateFormats)!==null&&C!==void 0?C:!0,unicodeRegExp:(D=r.unicodeRegExp)!==null&&D!==void 0?D:!0,int32range:(A=r.int32range)!==null&&A!==void 0?A:!0,uriResolver:O}}var _0=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...Uvt(e)};let{es5:t,lines:n}=this.opts.code;this.scope=new $vt.ValueScope({scope:{},prefixes:Bvt,es5:t,lines:n}),this.logger=Zvt(e.logger);let i=e.validateFormats;e.validateFormats=!1,this.RULES=(0,Fvt.getRules)(),PNe.call(this,qvt,e,"NOT SUPPORTED"),PNe.call(this,Hvt,e,"DEPRECATED","warn"),this._metaOpts=Gvt.call(this),e.formats&&Wvt.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&Yvt.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),Vvt.call(this),e.validateFormats=i}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:t,schemaId:n}=this.opts,i=DNe;n==="id"&&(i={...DNe},i.id=i.$id,delete i.$id),t&&e&&this.addMetaSchema(i,i[n],!1)}defaultMeta(){let{meta:e,schemaId:t}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[t]||e:void 0}validate(e,t){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let i=n(t);return"$async"in n||(this.errors=n.errors),i}compile(e,t){let n=this._addSchema(e,t);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,t){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return i.call(this,e,t);async function i(d,u){await s.call(this,d.$schema);let p=this._addSchema(d,u);return p.validate||a.call(this,p)}async function s(d){d&&!this.getSchema(d)&&await i.call(this,{$ref:d},!0)}async function a(d){try{return this._compileSchemaEnv(d)}catch(u){if(!(u instanceof MNe.default))throw u;return o.call(this,u),await l.call(this,u.missingSchema),a.call(this,d)}}function o({missingSchema:d,missingRef:u}){if(this.refs[d])throw new Error(`AnySchema ${d} is loaded but ${u} cannot be resolved`)}async function l(d){let u=await c.call(this,d);this.refs[d]||await s.call(this,u.$schema),this.refs[d]||this.addSchema(u,d,t)}async function c(d){let u=this._loading[d];if(u)return u;try{return await(this._loading[d]=n(d))}finally{delete this._loading[d]}}}addSchema(e,t,n,i=this.opts.validateSchema){if(Array.isArray(e)){for(let a of e)this.addSchema(a,void 0,n,i);return this}let s;if(typeof e=="object"){let{schemaId:a}=this.opts;if(s=e[a],s!==void 0&&typeof s!="string")throw new Error(`schema ${a} must be string`)}return t=(0,P0.normalizeId)(t||s),this._checkUnique(t),this.schemas[t]=this._addSchema(e,n,t,i,!0),this}addMetaSchema(e,t,n=this.opts.validateSchema){return this.addSchema(e,t,!0,n),this}validateSchema(e,t){if(typeof e=="boolean")return!0;let n;if(n=e.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let i=this.validate(n,e);if(!i&&t){let s="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(s);else throw new Error(s)}return i}getSchema(e){let t;for(;typeof(t=_Ne.call(this,e))=="string";)e=t;if(t===void 0){let{schemaId:n}=this.opts,i=new C0.SchemaEnv({schema:{},schemaId:n});if(t=C0.resolveSchema.call(this,i,e),!t)return;this.refs[e]=t}return t.validate||this._compileSchemaEnv(t)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let t=_Ne.call(this,e);return typeof t=="object"&&this._cache.delete(t.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let t=e;this._cache.delete(t);let n=e[this.opts.schemaId];return n&&(n=(0,P0.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let t of e)this.addKeyword(t);return this}addKeyword(e,t){let n;if(typeof e=="string")n=e,typeof t=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),t.keyword=n);else if(typeof e=="object"&&t===void 0){if(t=e,n=t.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(Jvt.call(this,n,t),!t)return(0,F7.eachItem)(n,s=>L7.call(this,s)),this;ebt.call(this,t);let i={...t,type:(0,qR.getJSONTypes)(t.type),schemaType:(0,qR.getJSONTypes)(t.schemaType)};return(0,F7.eachItem)(n,i.type.length===0?s=>L7.call(this,s,i):s=>i.type.forEach(a=>L7.call(this,s,i,a))),this}getKeyword(e){let t=this.RULES.all[e];return typeof t=="object"?t.definition:!!t}removeKeyword(e){let{RULES:t}=this;delete t.keywords[e],delete t.all[e];for(let n of t.rules){let i=n.rules.findIndex(s=>s.keyword===e);i>=0&&n.rules.splice(i,1)}return this}addFormat(e,t){return typeof t=="string"&&(t=new RegExp(t)),this.formats[e]=t,this}errorsText(e=this.errors,{separator:t=", ",dataVar:n="data"}={}){return!e||e.length===0?"No errors":e.map(i=>`${n}${i.instancePath} ${i.message}`).reduce((i,s)=>i+t+s)}$dataMetaSchema(e,t){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let i of t){let s=i.split("/").slice(1),a=e;for(let o of s)a=a[o];for(let o in n){let l=n[o];if(typeof l!="object")continue;let{$data:c}=l.definition,d=a[o];c&&d&&(a[o]=INe(d))}}return e}_removeAllSchemas(e,t){for(let n in e){let i=e[n];(!t||t.test(n))&&(typeof i=="string"?delete e[n]:i&&!i.meta&&(this._cache.delete(i.schema),delete e[n]))}}_addSchema(e,t,n,i=this.opts.validateSchema,s=this.opts.addUsedSchema){let a,{schemaId:o}=this.opts;if(typeof e=="object")a=e[o];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let l=this._cache.get(e);if(l!==void 0)return l;n=(0,P0.normalizeId)(a||n);let c=P0.getSchemaRefs.call(this,e,n);return l=new C0.SchemaEnv({schema:e,schemaId:o,meta:t,baseId:n,localRefs:c}),this._cache.set(l.schema,l),s&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=l),i&&this.validateSchema(e,!0),l}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):C0.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let t=this.opts;this.opts=this._metaOpts;try{C0.compileSchema.call(this,e)}finally{this.opts=t}}};_0.ValidationError=Lvt.default;_0.MissingRefError=MNe.default;wi.default=_0;function PNe(r,e,t,n="error"){for(let i in r){let s=i;s in e&&this.logger[n](`${t}: option ${i}. ${r[s]}`)}}function _Ne(r){return r=(0,P0.normalizeId)(r),this.schemas[r]||this.refs[r]}function Vvt(){let r=this.opts.schemas;if(r)if(Array.isArray(r))this.addSchema(r);else for(let e in r)this.addSchema(r[e],e)}function Wvt(){for(let r in this.opts.formats){let e=this.opts.formats[r];e&&this.addFormat(r,e)}}function Yvt(r){if(Array.isArray(r)){this.addVocabulary(r);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in r){let t=r[e];t.keyword||(t.keyword=e),this.addKeyword(t)}}function Gvt(){let r={...this.opts};for(let e of zvt)delete r[e];return r}var Kvt={log(){},warn(){},error(){}};function Zvt(r){if(r===!1)return Kvt;if(r===void 0)return console;if(r.log&&r.warn&&r.error)return r;throw new Error("logger must implement log, warn and error methods")}var Qvt=/^[a-z_$][a-z0-9_$:-]*$/i;function Jvt(r,e){let{RULES:t}=this;if((0,F7.eachItem)(r,n=>{if(t.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!Qvt.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function L7(r,e,t){var n;let i=e==null?void 0:e.post;if(t&&i)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:s}=this,a=i?s.post:s.rules.find(({type:l})=>l===t);if(a||(a={type:t,rules:[]},s.rules.push(a)),s.keywords[r]=!0,!e)return;let o={keyword:r,definition:{...e,type:(0,qR.getJSONTypes)(e.type),schemaType:(0,qR.getJSONTypes)(e.schemaType)}};e.before?Xvt.call(this,a,o,e.before):a.rules.push(o),s.all[r]=o,(n=e.implements)===null||n===void 0||n.forEach(l=>this.addKeyword(l))}function Xvt(r,e,t){let n=r.rules.findIndex(i=>i.keyword===t);n>=0?r.rules.splice(n,0,e):(r.rules.push(e),this.logger.warn(`rule ${t} is not defined`))}function ebt(r){let{metaSchema:e}=r;e!==void 0&&(r.$data&&this.opts.$data&&(e=INe(e)),r.validateSchema=this.compile(e,!0))}var tbt={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function INe(r){return{anyOf:[r,tbt]}}});var RNe=x($7=>{"use strict";Object.defineProperty($7,"__esModule",{value:!0});var rbt={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};$7.default=rbt});var $Ne=x(zh=>{"use strict";Object.defineProperty(zh,"__esModule",{value:!0});zh.callRef=zh.getValidate=void 0;var nbt=D0(),ONe=Co(),na=ft(),wb=cu(),LNe=BR(),HR=rr(),ibt={keyword:"$ref",schemaType:"string",code(r){let{gen:e,schema:t,it:n}=r,{baseId:i,schemaEnv:s,validateName:a,opts:o,self:l}=n,{root:c}=s;if((t==="#"||t==="#/")&&i===c.baseId)return u();let d=LNe.resolveRef.call(l,c,i,t);if(d===void 0)throw new nbt.default(n.opts.uriResolver,i,t);if(d instanceof LNe.SchemaEnv)return p(d);return m(d);function u(){if(s===c)return UR(r,a,s,s.$async);let f=e.scopeValue("root",{ref:c});return UR(r,(0,na._)`${f}.validate`,c,c.$async)}function p(f){let h=FNe(r,f);UR(r,h,f,f.$async)}function m(f){let h=e.scopeValue("schema",o.code.source===!0?{ref:f,code:(0,na.stringify)(f)}:{ref:f}),g=e.name("valid"),y=r.subschema({schema:f,dataTypes:[],schemaPath:na.nil,topSchemaRef:h,errSchemaPath:t},g);r.mergeEvaluated(y),r.ok(g)}}};function FNe(r,e){let{gen:t}=r;return e.validate?t.scopeValue("validate",{ref:e.validate}):(0,na._)`${t.scopeValue("wrapper",{ref:e})}.validate`}zh.getValidate=FNe;function UR(r,e,t,n){let{gen:i,it:s}=r,{allErrors:a,schemaEnv:o,opts:l}=s,c=l.passContext?wb.default.this:na.nil;n?d():u();function d(){if(!o.$async)throw new Error("async schema referenced by sync schema");let f=i.let("valid");i.try(()=>{i.code((0,na._)`await ${(0,ONe.callValidateCode)(r,e,c)}`),m(e),a||i.assign(f,!0)},h=>{i.if((0,na._)`!(${h} instanceof ${s.ValidationError})`,()=>i.throw(h)),p(h),a||i.assign(f,!1)}),r.ok(f)}function u(){r.result((0,ONe.callValidateCode)(r,e,c),()=>m(e),()=>p(e))}function p(f){let h=(0,na._)`${f}.errors`;i.assign(wb.default.vErrors,(0,na._)`${wb.default.vErrors} === null ? ${h} : ${wb.default.vErrors}.concat(${h})`),i.assign(wb.default.errors,(0,na._)`${wb.default.vErrors}.length`)}function m(f){var h;if(!s.opts.unevaluated)return;let g=(h=t==null?void 0:t.validate)===null||h===void 0?void 0:h.evaluated;if(s.props!==!0)if(g&&!g.dynamicProps)g.props!==void 0&&(s.props=HR.mergeEvaluated.props(i,g.props,s.props));else{let y=i.var("props",(0,na._)`${f}.evaluated.props`);s.props=HR.mergeEvaluated.props(i,y,s.props,na.Name)}if(s.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(s.items=HR.mergeEvaluated.items(i,g.items,s.items));else{let y=i.var("items",(0,na._)`${f}.evaluated.items`);s.items=HR.mergeEvaluated.items(i,y,s.items,na.Name)}}}zh.callRef=UR;zh.default=ibt});var jNe=x(j7=>{"use strict";Object.defineProperty(j7,"__esModule",{value:!0});var sbt=RNe(),abt=$Ne(),obt=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",sbt.default,abt.default];j7.default=obt});var zNe=x(z7=>{"use strict";Object.defineProperty(z7,"__esModule",{value:!0});var VR=ft(),om=VR.operators,WR={maximum:{okStr:"<=",ok:om.LTE,fail:om.GT},minimum:{okStr:">=",ok:om.GTE,fail:om.LT},exclusiveMaximum:{okStr:"<",ok:om.LT,fail:om.GTE},exclusiveMinimum:{okStr:">",ok:om.GT,fail:om.LTE}},lbt={message:({keyword:r,schemaCode:e})=>(0,VR.str)`must be ${WR[r].okStr} ${e}`,params:({keyword:r,schemaCode:e})=>(0,VR._)`{comparison: ${WR[r].okStr}, limit: ${e}}`},cbt={keyword:Object.keys(WR),type:"number",schemaType:"number",$data:!0,error:lbt,code(r){let{keyword:e,data:t,schemaCode:n}=r;r.fail$data((0,VR._)`${t} ${WR[e].fail} ${n} || isNaN(${t})`)}};z7.default=cbt});var BNe=x(B7=>{"use strict";Object.defineProperty(B7,"__esModule",{value:!0});var M0=ft(),dbt={message:({schemaCode:r})=>(0,M0.str)`must be multiple of ${r}`,params:({schemaCode:r})=>(0,M0._)`{multipleOf: ${r}}`},ubt={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:dbt,code(r){let{gen:e,data:t,schemaCode:n,it:i}=r,s=i.opts.multipleOfPrecision,a=e.let("res"),o=s?(0,M0._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${s}`:(0,M0._)`${a} !== parseInt(${a})`;r.fail$data((0,M0._)`(${n} === 0 || (${a} = ${t}/${n}, ${o}))`)}};B7.default=ubt});var HNe=x(q7=>{"use strict";Object.defineProperty(q7,"__esModule",{value:!0});function qNe(r){let e=r.length,t=0,n=0,i;for(;n<e;)t++,i=r.charCodeAt(n++),i>=55296&&i<=56319&&n<e&&(i=r.charCodeAt(n),(i&64512)===56320&&n++);return t}q7.default=qNe;qNe.code='require("ajv/dist/runtime/ucs2length").default'});var UNe=x(H7=>{"use strict";Object.defineProperty(H7,"__esModule",{value:!0});var Bh=ft(),pbt=rr(),mbt=HNe(),fbt={message({keyword:r,schemaCode:e}){let t=r==="maxLength"?"more":"fewer";return(0,Bh.str)`must NOT have ${t} than ${e} characters`},params:({schemaCode:r})=>(0,Bh._)`{limit: ${r}}`},hbt={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:fbt,code(r){let{keyword:e,data:t,schemaCode:n,it:i}=r,s=e==="maxLength"?Bh.operators.GT:Bh.operators.LT,a=i.opts.unicode===!1?(0,Bh._)`${t}.length`:(0,Bh._)`${(0,pbt.useFunc)(r.gen,mbt.default)}(${t})`;r.fail$data((0,Bh._)`${a} ${s} ${n}`)}};H7.default=hbt});var VNe=x(U7=>{"use strict";Object.defineProperty(U7,"__esModule",{value:!0});var gbt=Co(),YR=ft(),ybt={message:({schemaCode:r})=>(0,YR.str)`must match pattern "${r}"`,params:({schemaCode:r})=>(0,YR._)`{pattern: ${r}}`},vbt={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:ybt,code(r){let{data:e,$data:t,schema:n,schemaCode:i,it:s}=r,a=s.opts.unicodeRegExp?"u":"",o=t?(0,YR._)`(new RegExp(${i}, ${a}))`:(0,gbt.usePattern)(r,n);r.fail$data((0,YR._)`!${o}.test(${e})`)}};U7.default=vbt});var WNe=x(V7=>{"use strict";Object.defineProperty(V7,"__esModule",{value:!0});var A0=ft(),bbt={message({keyword:r,schemaCode:e}){let t=r==="maxProperties"?"more":"fewer";return(0,A0.str)`must NOT have ${t} than ${e} properties`},params:({schemaCode:r})=>(0,A0._)`{limit: ${r}}`},Tbt={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:bbt,code(r){let{keyword:e,data:t,schemaCode:n}=r,i=e==="maxProperties"?A0.operators.GT:A0.operators.LT;r.fail$data((0,A0._)`Object.keys(${t}).length ${i} ${n}`)}};V7.default=Tbt});var YNe=x(W7=>{"use strict";Object.defineProperty(W7,"__esModule",{value:!0});var I0=Co(),N0=ft(),kbt=rr(),wbt={message:({params:{missingProperty:r}})=>(0,N0.str)`must have required property '${r}'`,params:({params:{missingProperty:r}})=>(0,N0._)`{missingProperty: ${r}}`},Sbt={keyword:"required",type:"object",schemaType:"array",$data:!0,error:wbt,code(r){let{gen:e,schema:t,schemaCode:n,data:i,$data:s,it:a}=r,{opts:o}=a;if(!s&&t.length===0)return;let l=t.length>=o.loopRequired;if(a.allErrors?c():d(),o.strictRequired){let m=r.parentSchema.properties,{definedProperties:f}=r.it;for(let h of t)if((m==null?void 0:m[h])===void 0&&!f.has(h)){let g=a.schemaEnv.baseId+a.errSchemaPath,y=`required property "${h}" is not defined at "${g}" (strictRequired)`;(0,kbt.checkStrictMode)(a,y,a.opts.strictRequired)}}function c(){if(l||s)r.block$data(N0.nil,u);else for(let m of t)(0,I0.checkReportMissingProp)(r,m)}function d(){let m=e.let("missing");if(l||s){let f=e.let("valid",!0);r.block$data(f,()=>p(m,f)),r.ok(f)}else e.if((0,I0.checkMissingProp)(r,t,m)),(0,I0.reportMissingProp)(r,m),e.else()}function u(){e.forOf("prop",n,m=>{r.setParams({missingProperty:m}),e.if((0,I0.noPropertyInData)(e,i,m,o.ownProperties),()=>r.error())})}function p(m,f){r.setParams({missingProperty:m}),e.forOf(m,n,()=>{e.assign(f,(0,I0.propertyInData)(e,i,m,o.ownProperties)),e.if((0,N0.not)(f),()=>{r.error(),e.break()})},N0.nil)}}};W7.default=Sbt});var GNe=x(Y7=>{"use strict";Object.defineProperty(Y7,"__esModule",{value:!0});var R0=ft(),xbt={message({keyword:r,schemaCode:e}){let t=r==="maxItems"?"more":"fewer";return(0,R0.str)`must NOT have ${t} than ${e} items`},params:({schemaCode:r})=>(0,R0._)`{limit: ${r}}`},Ebt={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:xbt,code(r){let{keyword:e,data:t,schemaCode:n}=r,i=e==="maxItems"?R0.operators.GT:R0.operators.LT;r.fail$data((0,R0._)`${t}.length ${i} ${n}`)}};Y7.default=Ebt});var GR=x(G7=>{"use strict";Object.defineProperty(G7,"__esModule",{value:!0});var KNe=YE();KNe.code='require("ajv/dist/runtime/equal").default';G7.default=KNe});var ZNe=x(Z7=>{"use strict";Object.defineProperty(Z7,"__esModule",{value:!0});var K7=k0(),Si=ft(),Dbt=rr(),Cbt=GR(),Pbt={message:({params:{i:r,j:e}})=>(0,Si.str)`must NOT have duplicate items (items ## ${e} and ${r} are identical)`,params:({params:{i:r,j:e}})=>(0,Si._)`{i: ${r}, j: ${e}}`},_bt={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:Pbt,code(r){let{gen:e,data:t,$data:n,schema:i,parentSchema:s,schemaCode:a,it:o}=r;if(!n&&!i)return;let l=e.let("valid"),c=s.items?(0,K7.getSchemaTypes)(s.items):[];r.block$data(l,d,(0,Si._)`${a} === false`),r.ok(l);function d(){let f=e.let("i",(0,Si._)`${t}.length`),h=e.let("j");r.setParams({i:f,j:h}),e.assign(l,!0),e.if((0,Si._)`${f} > 1`,()=>(u()?p:m)(f,h))}function u(){return c.length>0&&!c.some(f=>f==="object"||f==="array")}function p(f,h){let g=e.name("item"),y=(0,K7.checkDataTypes)(c,g,o.opts.strictNumbers,K7.DataType.Wrong),k=e.const("indices",(0,Si._)`{}`);e.for((0,Si._)`;${f}--;`,()=>{e.let(g,(0,Si._)`${t}[${f}]`),e.if(y,(0,Si._)`continue`),c.length>1&&e.if((0,Si._)`typeof ${g} == "string"`,(0,Si._)`${g} += "_"`),e.if((0,Si._)`typeof ${k}[${g}] == "number"`,()=>{e.assign(h,(0,Si._)`${k}[${g}]`),r.error(),e.assign(l,!1).break()}).code((0,Si._)`${k}[${g}] = ${f}`)})}function m(f,h){let g=(0,Dbt.useFunc)(e,Cbt.default),y=e.name("outer");e.label(y).for((0,Si._)`;${f}--;`,()=>e.for((0,Si._)`${h} = ${f}; ${h}--;`,()=>e.if((0,Si._)`${g}(${t}[${f}], ${t}[${h}])`,()=>{r.error(),e.assign(l,!1).break(y)})))}}};Z7.default=_bt});var QNe=x(J7=>{"use strict";Object.defineProperty(J7,"__esModule",{value:!0});var Q7=ft(),Mbt=rr(),Abt=GR(),Ibt={message:"must be equal to constant",params:({schemaCode:r})=>(0,Q7._)`{allowedValue: ${r}}`},Nbt={keyword:"const",$data:!0,error:Ibt,code(r){let{gen:e,data:t,$data:n,schemaCode:i,schema:s}=r;n||s&&typeof s=="object"?r.fail$data((0,Q7._)`!${(0,Mbt.useFunc)(e,Abt.default)}(${t}, ${i})`):r.fail((0,Q7._)`${s} !== ${t}`)}};J7.default=Nbt});var JNe=x(X7=>{"use strict";Object.defineProperty(X7,"__esModule",{value:!0});var O0=ft(),Rbt=rr(),Obt=GR(),Lbt={message:"must be equal to one of the allowed values",params:({schemaCode:r})=>(0,O0._)`{allowedValues: ${r}}`},Fbt={keyword:"enum",schemaType:"array",$data:!0,error:Lbt,code(r){let{gen:e,data:t,$data:n,schema:i,schemaCode:s,it:a}=r;if(!n&&i.length===0)throw new Error("enum must have non-empty array");let o=i.length>=a.opts.loopEnum,l,c=()=>l!=null?l:l=(0,Rbt.useFunc)(e,Obt.default),d;if(o||n)d=e.let("valid"),r.block$data(d,u);else{if(!Array.isArray(i))throw new Error("ajv implementation error");let m=e.const("vSchema",s);d=(0,O0.or)(...i.map((f,h)=>p(m,h)))}r.pass(d);function u(){e.assign(d,!1),e.forOf("v",s,m=>e.if((0,O0._)`${c()}(${t}, ${m})`,()=>e.assign(d,!0).break()))}function p(m,f){let h=i[f];return typeof h=="object"&&h!==null?(0,O0._)`${c()}(${t}, ${m}[${f}])`:(0,O0._)`${t} === ${h}`}}};X7.default=Fbt});var XNe=x(eK=>{"use strict";Object.defineProperty(eK,"__esModule",{value:!0});var $bt=zNe(),jbt=BNe(),zbt=UNe(),Bbt=VNe(),qbt=WNe(),Hbt=YNe(),Ubt=GNe(),Vbt=ZNe(),Wbt=QNe(),Ybt=JNe(),Gbt=[$bt.default,jbt.default,zbt.default,Bbt.default,qbt.default,Hbt.default,Ubt.default,Vbt.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Wbt.default,Ybt.default];eK.default=Gbt});var rK=x(L0=>{"use strict";Object.defineProperty(L0,"__esModule",{value:!0});L0.validateAdditionalItems=void 0;var qh=ft(),tK=rr(),Kbt={message:({params:{len:r}})=>(0,qh.str)`must NOT have more than ${r} items`,params:({params:{len:r}})=>(0,qh._)`{limit: ${r}}`},Zbt={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:Kbt,code(r){let{parentSchema:e,it:t}=r,{items:n}=e;if(!Array.isArray(n)){(0,tK.checkStrictMode)(t,'"additionalItems" is ignored when "items" is not an array of schemas');return}eRe(r,n)}};function eRe(r,e){let{gen:t,schema:n,data:i,keyword:s,it:a}=r;a.items=!0;let o=t.const("len",(0,qh._)`${i}.length`);if(n===!1)r.setParams({len:e.length}),r.pass((0,qh._)`${o} <= ${e.length}`);else if(typeof n=="object"&&!(0,tK.alwaysValidSchema)(a,n)){let c=t.var("valid",(0,qh._)`${o} <= ${e.length}`);t.if((0,qh.not)(c),()=>l(c)),r.ok(c)}function l(c){t.forRange("i",e.length,o,d=>{r.subschema({keyword:s,dataProp:d,dataPropType:tK.Type.Num},c),a.allErrors||t.if((0,qh.not)(c),()=>t.break())})}}L0.validateAdditionalItems=eRe;L0.default=Zbt});var nK=x(F0=>{"use strict";Object.defineProperty(F0,"__esModule",{value:!0});F0.validateTuple=void 0;var tRe=ft(),KR=rr(),Qbt=Co(),Jbt={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(r){let{schema:e,it:t}=r;if(Array.isArray(e))return rRe(r,"additionalItems",e);t.items=!0,!(0,KR.alwaysValidSchema)(t,e)&&r.ok((0,Qbt.validateArray)(r))}};function rRe(r,e,t=r.schema){let{gen:n,parentSchema:i,data:s,keyword:a,it:o}=r;d(i),o.opts.unevaluated&&t.length&&o.items!==!0&&(o.items=KR.mergeEvaluated.items(n,t.length,o.items));let l=n.name("valid"),c=n.const("len",(0,tRe._)`${s}.length`);t.forEach((u,p)=>{(0,KR.alwaysValidSchema)(o,u)||(n.if((0,tRe._)`${c} > ${p}`,()=>r.subschema({keyword:a,schemaProp:p,dataProp:p},l)),r.ok(l))});function d(u){let{opts:p,errSchemaPath:m}=o,f=t.length,h=f===u.minItems&&(f===u.maxItems||u[e]===!1);if(p.strictTuples&&!h){let g=`"${a}" is ${f}-tuple, but minItems or maxItems/${e} are not specified or different at path "${m}"`;(0,KR.checkStrictMode)(o,g,p.strictTuples)}}}F0.validateTuple=rRe;F0.default=Jbt});var nRe=x(iK=>{"use strict";Object.defineProperty(iK,"__esModule",{value:!0});var Xbt=nK(),eTt={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:r=>(0,Xbt.validateTuple)(r,"items")};iK.default=eTt});var sRe=x(sK=>{"use strict";Object.defineProperty(sK,"__esModule",{value:!0});var iRe=ft(),tTt=rr(),rTt=Co(),nTt=rK(),iTt={message:({params:{len:r}})=>(0,iRe.str)`must NOT have more than ${r} items`,params:({params:{len:r}})=>(0,iRe._)`{limit: ${r}}`},sTt={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:iTt,code(r){let{schema:e,parentSchema:t,it:n}=r,{prefixItems:i}=t;n.items=!0,!(0,tTt.alwaysValidSchema)(n,e)&&(i?(0,nTt.validateAdditionalItems)(r,i):r.ok((0,rTt.validateArray)(r)))}};sK.default=sTt});var aRe=x(aK=>{"use strict";Object.defineProperty(aK,"__esModule",{value:!0});var _o=ft(),ZR=rr(),aTt={message:({params:{min:r,max:e}})=>e===void 0?(0,_o.str)`must contain at least ${r} valid item(s)`:(0,_o.str)`must contain at least ${r} and no more than ${e} valid item(s)`,params:({params:{min:r,max:e}})=>e===void 0?(0,_o._)`{minContains: ${r}}`:(0,_o._)`{minContains: ${r}, maxContains: ${e}}`},oTt={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:aTt,code(r){let{gen:e,schema:t,parentSchema:n,data:i,it:s}=r,a,o,{minContains:l,maxContains:c}=n;s.opts.next?(a=l===void 0?1:l,o=c):a=1;let d=e.const("len",(0,_o._)`${i}.length`);if(r.setParams({min:a,max:o}),o===void 0&&a===0){(0,ZR.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(o!==void 0&&a>o){(0,ZR.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),r.fail();return}if((0,ZR.alwaysValidSchema)(s,t)){let h=(0,_o._)`${d} >= ${a}`;o!==void 0&&(h=(0,_o._)`${h} && ${d} <= ${o}`),r.pass(h);return}s.items=!0;let u=e.name("valid");o===void 0&&a===1?m(u,()=>e.if(u,()=>e.break())):a===0?(e.let(u,!0),o!==void 0&&e.if((0,_o._)`${i}.length > 0`,p)):(e.let(u,!1),p()),r.result(u,()=>r.reset());function p(){let h=e.name("_valid"),g=e.let("count",0);m(h,()=>e.if(h,()=>f(g)))}function m(h,g){e.forRange("i",0,d,y=>{r.subschema({keyword:"contains",dataProp:y,dataPropType:ZR.Type.Num,compositeRule:!0},h),g()})}function f(h){e.code((0,_o._)`${h}++`),o===void 0?e.if((0,_o._)`${h} >= ${a}`,()=>e.assign(u,!0).break()):(e.if((0,_o._)`${h} > ${o}`,()=>e.assign(u,!1).break()),a===1?e.assign(u,!0):e.if((0,_o._)`${h} >= ${a}`,()=>e.assign(u,!0)))}}};aK.default=oTt});var cRe=x(Fc=>{"use strict";Object.defineProperty(Fc,"__esModule",{value:!0});Fc.validateSchemaDeps=Fc.validatePropertyDeps=Fc.error=void 0;var oK=ft(),lTt=rr(),$0=Co();Fc.error={message:({params:{property:r,depsCount:e,deps:t}})=>{let n=e===1?"property":"properties";return(0,oK.str)`must have ${n} ${t} when property ${r} is present`},params:({params:{property:r,depsCount:e,deps:t,missingProperty:n}})=>(0,oK._)`{property: ${r},
missingProperty: ${n},
depsCount: ${e},
deps: ${t}}`};var cTt={keyword:"dependencies",type:"object",schemaType:"object",error:Fc.error,code(r){let[e,t]=dTt(r);oRe(r,e),lRe(r,t)}};function dTt({schema:r}){let e={},t={};for(let n in r){if(n==="__proto__")continue;let i=Array.isArray(r[n])?e:t;i[n]=r[n]}return[e,t]}function oRe(r,e=r.schema){let{gen:t,data:n,it:i}=r;if(Object.keys(e).length===0)return;let s=t.let("missing");for(let a in e){let o=e[a];if(o.length===0)continue;let l=(0,$0.propertyInData)(t,n,a,i.opts.ownProperties);r.setParams({property:a,depsCount:o.length,deps:o.join(", ")}),i.allErrors?t.if(l,()=>{for(let c of o)(0,$0.checkReportMissingProp)(r,c)}):(t.if((0,oK._)`${l} && (${(0,$0.checkMissingProp)(r,o,s)})`),(0,$0.reportMissingProp)(r,s),t.else())}}Fc.validatePropertyDeps=oRe;function lRe(r,e=r.schema){let{gen:t,data:n,keyword:i,it:s}=r,a=t.name("valid");for(let o in e)(0,lTt.alwaysValidSchema)(s,e[o])||(t.if((0,$0.propertyInData)(t,n,o,s.opts.ownProperties),()=>{let l=r.subschema({keyword:i,schemaProp:o},a);r.mergeValidEvaluated(l,a)},()=>t.var(a,!0)),r.ok(a))}Fc.validateSchemaDeps=lRe;Fc.default=cTt});var uRe=x(lK=>{"use strict";Object.defineProperty(lK,"__esModule",{value:!0});var dRe=ft(),uTt=rr(),pTt={message:"property name must be valid",params:({params:r})=>(0,dRe._)`{propertyName: ${r.propertyName}}`},mTt={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:pTt,code(r){let{gen:e,schema:t,data:n,it:i}=r;if((0,uTt.alwaysValidSchema)(i,t))return;let s=e.name("valid");e.forIn("key",n,a=>{r.setParams({propertyName:a}),r.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:!0},s),e.if((0,dRe.not)(s),()=>{r.error(!0),i.allErrors||e.break()})}),r.ok(s)}};lK.default=mTt});var dK=x(cK=>{"use strict";Object.defineProperty(cK,"__esModule",{value:!0});var QR=Co(),vl=ft(),fTt=cu(),JR=rr(),hTt={message:"must NOT have additional properties",params:({params:r})=>(0,vl._)`{additionalProperty: ${r.additionalProperty}}`},gTt={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:hTt,code(r){let{gen:e,schema:t,parentSchema:n,data:i,errsCount:s,it:a}=r;if(!s)throw new Error("ajv implementation error");let{allErrors:o,opts:l}=a;if(a.props=!0,l.removeAdditional!=="all"&&(0,JR.alwaysValidSchema)(a,t))return;let c=(0,QR.allSchemaProperties)(n.properties),d=(0,QR.allSchemaProperties)(n.patternProperties);u(),r.ok((0,vl._)`${s} === ${fTt.default.errors}`);function u(){e.forIn("key",i,g=>{!c.length&&!d.length?f(g):e.if(p(g),()=>f(g))})}function p(g){let y;if(c.length>8){let k=(0,JR.schemaRefOrVal)(a,n.properties,"properties");y=(0,QR.isOwnProperty)(e,k,g)}else c.length?y=(0,vl.or)(...c.map(k=>(0,vl._)`${g} === ${k}`)):y=vl.nil;return d.length&&(y=(0,vl.or)(y,...d.map(k=>(0,vl._)`${(0,QR.usePattern)(r,k)}.test(${g})`))),(0,vl.not)(y)}function m(g){e.code((0,vl._)`delete ${i}[${g}]`)}function f(g){if(l.removeAdditional==="all"||l.removeAdditional&&t===!1){m(g);return}if(t===!1){r.setParams({additionalProperty:g}),r.error(),o||e.break();return}if(typeof t=="object"&&!(0,JR.alwaysValidSchema)(a,t)){let y=e.name("valid");l.removeAdditional==="failing"?(h(g,y,!1),e.if((0,vl.not)(y),()=>{r.reset(),m(g)})):(h(g,y),o||e.if((0,vl.not)(y),()=>e.break()))}}function h(g,y,k){let T={keyword:"additionalProperties",dataProp:g,dataPropType:JR.Type.Str};k===!1&&Object.assign(T,{compositeRule:!0,createErrors:!1,allErrors:!1}),r.subschema(T,y)}}};cK.default=gTt});var fRe=x(pK=>{"use strict";Object.defineProperty(pK,"__esModule",{value:!0});var yTt=E0(),pRe=Co(),uK=rr(),mRe=dK(),vTt={keyword:"properties",type:"object",schemaType:"object",code(r){let{gen:e,schema:t,parentSchema:n,data:i,it:s}=r;s.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&mRe.default.code(new yTt.KeywordCxt(s,mRe.default,"additionalProperties"));let a=(0,pRe.allSchemaProperties)(t);for(let u of a)s.definedProperties.add(u);s.opts.unevaluated&&a.length&&s.props!==!0&&(s.props=uK.mergeEvaluated.props(e,(0,uK.toHash)(a),s.props));let o=a.filter(u=>!(0,uK.alwaysValidSchema)(s,t[u]));if(o.length===0)return;let l=e.name("valid");for(let u of o)c(u)?d(u):(e.if((0,pRe.propertyInData)(e,i,u,s.opts.ownProperties)),d(u),s.allErrors||e.else().var(l,!0),e.endIf()),r.it.definedProperties.add(u),r.ok(l);function c(u){return s.opts.useDefaults&&!s.compositeRule&&t[u].default!==void 0}function d(u){r.subschema({keyword:"properties",schemaProp:u,dataProp:u},l)}}};pK.default=vTt});var vRe=x(mK=>{"use strict";Object.defineProperty(mK,"__esModule",{value:!0});var hRe=Co(),XR=ft(),gRe=rr(),yRe=rr(),bTt={keyword:"patternProperties",type:"object",schemaType:"object",code(r){let{gen:e,schema:t,data:n,parentSchema:i,it:s}=r,{opts:a}=s,o=(0,hRe.allSchemaProperties)(t),l=o.filter(h=>(0,gRe.alwaysValidSchema)(s,t[h]));if(o.length===0||l.length===o.length&&(!s.opts.unevaluated||s.props===!0))return;let c=a.strictSchema&&!a.allowMatchingProperties&&i.properties,d=e.name("valid");s.props!==!0&&!(s.props instanceof XR.Name)&&(s.props=(0,yRe.evaluatedPropsToName)(e,s.props));let{props:u}=s;p();function p(){for(let h of o)c&&m(h),s.allErrors?f(h):(e.var(d,!0),f(h),e.if(d))}function m(h){for(let g in c)new RegExp(h).test(g)&&(0,gRe.checkStrictMode)(s,`property ${g} matches pattern ${h} (use allowMatchingProperties)`)}function f(h){e.forIn("key",n,g=>{e.if((0,XR._)`${(0,hRe.usePattern)(r,h)}.test(${g})`,()=>{let y=l.includes(h);y||r.subschema({keyword:"patternProperties",schemaProp:h,dataProp:g,dataPropType:yRe.Type.Str},d),s.opts.unevaluated&&u!==!0?e.assign((0,XR._)`${u}[${g}]`,!0):!y&&!s.allErrors&&e.if((0,XR.not)(d),()=>e.break())})})}}};mK.default=bTt});var bRe=x(fK=>{"use strict";Object.defineProperty(fK,"__esModule",{value:!0});var TTt=rr(),kTt={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(r){let{gen:e,schema:t,it:n}=r;if((0,TTt.alwaysValidSchema)(n,t)){r.fail();return}let i=e.name("valid");r.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),r.failResult(i,()=>r.reset(),()=>r.error())},error:{message:"must NOT be valid"}};fK.default=kTt});var TRe=x(hK=>{"use strict";Object.defineProperty(hK,"__esModule",{value:!0});var wTt=Co(),STt={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:wTt.validateUnion,error:{message:"must match a schema in anyOf"}};hK.default=STt});var kRe=x(gK=>{"use strict";Object.defineProperty(gK,"__esModule",{value:!0});var eO=ft(),xTt=rr(),ETt={message:"must match exactly one schema in oneOf",params:({params:r})=>(0,eO._)`{passingSchemas: ${r.passing}}`},DTt={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:ETt,code(r){let{gen:e,schema:t,parentSchema:n,it:i}=r;if(!Array.isArray(t))throw new Error("ajv implementation error");if(i.opts.discriminator&&n.discriminator)return;let s=t,a=e.let("valid",!1),o=e.let("passing",null),l=e.name("_valid");r.setParams({passing:o}),e.block(c),r.result(a,()=>r.reset(),()=>r.error(!0));function c(){s.forEach((d,u)=>{let p;(0,xTt.alwaysValidSchema)(i,d)?e.var(l,!0):p=r.subschema({keyword:"oneOf",schemaProp:u,compositeRule:!0},l),u>0&&e.if((0,eO._)`${l} && ${a}`).assign(a,!1).assign(o,(0,eO._)`[${o}, ${u}]`).else(),e.if(l,()=>{e.assign(a,!0),e.assign(o,u),p&&r.mergeEvaluated(p,eO.Name)})})}}};gK.default=DTt});var wRe=x(yK=>{"use strict";Object.defineProperty(yK,"__esModule",{value:!0});var CTt=rr(),PTt={keyword:"allOf",schemaType:"array",code(r){let{gen:e,schema:t,it:n}=r;if(!Array.isArray(t))throw new Error("ajv implementation error");let i=e.name("valid");t.forEach((s,a)=>{if((0,CTt.alwaysValidSchema)(n,s))return;let o=r.subschema({keyword:"allOf",schemaProp:a},i);r.ok(i),r.mergeEvaluated(o)})}};yK.default=PTt});var ERe=x(vK=>{"use strict";Object.defineProperty(vK,"__esModule",{value:!0});var tO=ft(),xRe=rr(),_Tt={message:({params:r})=>(0,tO.str)`must match "${r.ifClause}" schema`,params:({params:r})=>(0,tO._)`{failingKeyword: ${r.ifClause}}`},MTt={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:_Tt,code(r){let{gen:e,parentSchema:t,it:n}=r;t.then===void 0&&t.else===void 0&&(0,xRe.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let i=SRe(n,"then"),s=SRe(n,"else");if(!i&&!s)return;let a=e.let("valid",!0),o=e.name("_valid");if(l(),r.reset(),i&&s){let d=e.let("ifClause");r.setParams({ifClause:d}),e.if(o,c("then",d),c("else",d))}else i?e.if(o,c("then")):e.if((0,tO.not)(o),c("else"));r.pass(a,()=>r.error(!0));function l(){let d=r.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},o);r.mergeEvaluated(d)}function c(d,u){return()=>{let p=r.subschema({keyword:d},o);e.assign(a,o),r.mergeValidEvaluated(p,a),u?e.assign(u,(0,tO._)`${d}`):r.setParams({ifClause:d})}}}};function SRe(r,e){let t=r.schema[e];return t!==void 0&&!(0,xRe.alwaysValidSchema)(r,t)}vK.default=MTt});var DRe=x(bK=>{"use strict";Object.defineProperty(bK,"__esModule",{value:!0});var ATt=rr(),ITt={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:r,parentSchema:e,it:t}){e.if===void 0&&(0,ATt.checkStrictMode)(t,`"${r}" without "if" is ignored`)}};bK.default=ITt});var CRe=x(TK=>{"use strict";Object.defineProperty(TK,"__esModule",{value:!0});var NTt=rK(),RTt=nRe(),OTt=nK(),LTt=sRe(),FTt=aRe(),$Tt=cRe(),jTt=uRe(),zTt=dK(),BTt=fRe(),qTt=vRe(),HTt=bRe(),UTt=TRe(),VTt=kRe(),WTt=wRe(),YTt=ERe(),GTt=DRe();function KTt(r=!1){let e=[HTt.default,UTt.default,VTt.default,WTt.default,YTt.default,GTt.default,jTt.default,zTt.default,$Tt.default,BTt.default,qTt.default];return r?e.push(RTt.default,LTt.default):e.push(NTt.default,OTt.default),e.push(FTt.default),e}TK.default=KTt});var PRe=x(kK=>{"use strict";Object.defineProperty(kK,"__esModule",{value:!0});var En=ft(),ZTt={message:({schemaCode:r})=>(0,En.str)`must match format "${r}"`,params:({schemaCode:r})=>(0,En._)`{format: ${r}}`},QTt={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:ZTt,code(r,e){let{gen:t,data:n,$data:i,schema:s,schemaCode:a,it:o}=r,{opts:l,errSchemaPath:c,schemaEnv:d,self:u}=o;if(!l.validateFormats)return;i?p():m();function p(){let f=t.scopeValue("formats",{ref:u.formats,code:l.code.formats}),h=t.const("fDef",(0,En._)`${f}[${a}]`),g=t.let("fType"),y=t.let("format");t.if((0,En._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>t.assign(g,(0,En._)`${h}.type || "string"`).assign(y,(0,En._)`${h}.validate`),()=>t.assign(g,(0,En._)`"string"`).assign(y,h)),r.fail$data((0,En.or)(k(),T()));function k(){return l.strictSchema===!1?En.nil:(0,En._)`${a} && !${y}`}function T(){let w=d.$async?(0,En._)`(${h}.async ? await ${y}(${n}) : ${y}(${n}))`:(0,En._)`${y}(${n})`,S=(0,En._)`(typeof ${y} == "function" ? ${w} : ${y}.test(${n}))`;return(0,En._)`${y} && ${y} !== true && ${g} === ${e} && !${S}`}}function m(){let f=u.formats[s];if(!f){k();return}if(f===!0)return;let[h,g,y]=T(f);h===e&&r.pass(w());function k(){if(l.strictSchema===!1){u.logger.warn(S());return}throw new Error(S());function S(){return`unknown format "${s}" ignored in schema at path "${c}"`}}function T(S){let E=S instanceof RegExp?(0,En.regexpCode)(S):l.code.formats?(0,En._)`${l.code.formats}${(0,En.getProperty)(s)}`:void 0,C=t.scopeValue("formats",{key:s,ref:S,code:E});return typeof S=="object"&&!(S instanceof RegExp)?[S.type||"string",S.validate,(0,En._)`${C}.validate`]:["string",S,C]}function w(){if(typeof f=="object"&&!(f instanceof RegExp)&&f.async){if(!d.$async)throw new Error("async format in sync schema");return(0,En._)`await ${y}(${n})`}return typeof g=="function"?(0,En._)`${y}(${n})`:(0,En._)`${y}.test(${n})`}}}};kK.default=QTt});var _Re=x(wK=>{"use strict";Object.defineProperty(wK,"__esModule",{value:!0});var JTt=PRe(),XTt=[JTt.default];wK.default=XTt});var MRe=x(Sb=>{"use strict";Object.defineProperty(Sb,"__esModule",{value:!0});Sb.contentVocabulary=Sb.metadataVocabulary=void 0;Sb.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Sb.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var IRe=x(SK=>{"use strict";Object.defineProperty(SK,"__esModule",{value:!0});var ekt=jNe(),tkt=XNe(),rkt=CRe(),nkt=_Re(),ARe=MRe(),ikt=[ekt.default,tkt.default,(0,rkt.default)(),nkt.default,ARe.metadataVocabulary,ARe.contentVocabulary];SK.default=ikt});var RRe=x(rO=>{"use strict";Object.defineProperty(rO,"__esModule",{value:!0});rO.DiscrError=void 0;var NRe;(function(r){r.Tag="tag",r.Mapping="mapping"})(NRe||(rO.DiscrError=NRe={}))});var LRe=x(EK=>{"use strict";Object.defineProperty(EK,"__esModule",{value:!0});var xb=ft(),xK=RRe(),ORe=BR(),skt=D0(),akt=rr(),okt={message:({params:{discrError:r,tagName:e}})=>r===xK.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:r,tag:e,tagName:t}})=>(0,xb._)`{error: ${r}, tag: ${t}, tagValue: ${e}}`},lkt={keyword:"discriminator",type:"object",schemaType:"object",error:okt,code(r){let{gen:e,data:t,schema:n,parentSchema:i,it:s}=r,{oneOf:a}=i;if(!s.opts.discriminator)throw new Error("discriminator: requires discriminator option");let o=n.propertyName;if(typeof o!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let l=e.let("valid",!1),c=e.const("tag",(0,xb._)`${t}${(0,xb.getProperty)(o)}`);e.if((0,xb._)`typeof ${c} == "string"`,()=>d(),()=>r.error(!1,{discrError:xK.DiscrError.Tag,tag:c,tagName:o})),r.ok(l);function d(){let m=p();e.if(!1);for(let f in m)e.elseIf((0,xb._)`${c} === ${f}`),e.assign(l,u(m[f]));e.else(),r.error(!1,{discrError:xK.DiscrError.Mapping,tag:c,tagName:o}),e.endIf()}function u(m){let f=e.name("valid"),h=r.subschema({keyword:"oneOf",schemaProp:m},f);return r.mergeEvaluated(h,xb.Name),f}function p(){var m;let f={},h=y(i),g=!0;for(let w=0;w<a.length;w++){let S=a[w];if(S!=null&&S.$ref&&!(0,akt.schemaHasRulesButRef)(S,s.self.RULES)){let C=S.$ref;if(S=ORe.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,C),S instanceof ORe.SchemaEnv&&(S=S.schema),S===void 0)throw new skt.default(s.opts.uriResolver,s.baseId,C)}let E=(m=S==null?void 0:S.properties)===null||m===void 0?void 0:m[o];if(typeof E!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${o}"`);g=g&&(h||y(S)),k(E,w)}if(!g)throw new Error(`discriminator: "${o}" must be required`);return f;function y({required:w}){return Array.isArray(w)&&w.includes(o)}function k(w,S){if(w.const)T(w.const,S);else if(w.enum)for(let E of w.enum)T(E,S);else throw new Error(`discriminator: "properties/${o}" must have "const" or "enum"`)}function T(w,S){if(typeof w!="string"||w in f)throw new Error(`discriminator: "${o}" values must be unique strings`);f[w]=S}}}};EK.default=lkt});var FRe=x((lkr,ckt)=>{ckt.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var jRe=x((Vr,DK)=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.MissingRefError=Vr.ValidationError=Vr.CodeGen=Vr.Name=Vr.nil=Vr.stringify=Vr.str=Vr._=Vr.KeywordCxt=Vr.Ajv=void 0;var dkt=NNe(),ukt=IRe(),pkt=LRe(),$Re=FRe(),mkt=["/properties"],nO="http://json-schema.org/draft-07/schema",Eb=class extends dkt.default{_addVocabularies(){super._addVocabularies(),ukt.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(pkt.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema($Re,mkt):$Re;this.addMetaSchema(e,nO,!1),this.refs["http://json-schema.org/schema"]=nO}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(nO)?nO:void 0)}};Vr.Ajv=Eb;DK.exports=Vr=Eb;DK.exports.Ajv=Eb;Object.defineProperty(Vr,"__esModule",{value:!0});Vr.default=Eb;var fkt=E0();Object.defineProperty(Vr,"KeywordCxt",{enumerable:!0,get:function(){return fkt.KeywordCxt}});var Db=ft();Object.defineProperty(Vr,"_",{enumerable:!0,get:function(){return Db._}});Object.defineProperty(Vr,"str",{enumerable:!0,get:function(){return Db.str}});Object.defineProperty(Vr,"stringify",{enumerable:!0,get:function(){return Db.stringify}});Object.defineProperty(Vr,"nil",{enumerable:!0,get:function(){return Db.nil}});Object.defineProperty(Vr,"Name",{enumerable:!0,get:function(){return Db.Name}});Object.defineProperty(Vr,"CodeGen",{enumerable:!0,get:function(){return Db.CodeGen}});var hkt=jR();Object.defineProperty(Vr,"ValidationError",{enumerable:!0,get:function(){return hkt.default}});var gkt=D0();Object.defineProperty(Vr,"MissingRefError",{enumerable:!0,get:function(){return gkt.default}})});var zRe=x(Cb=>{"use strict";Object.defineProperty(Cb,"__esModule",{value:!0});Cb.formatLimitDefinition=void 0;var ykt=jRe(),bl=ft(),lm=bl.operators,iO={formatMaximum:{okStr:"<=",ok:lm.LTE,fail:lm.GT},formatMinimum:{okStr:">=",ok:lm.GTE,fail:lm.LT},formatExclusiveMaximum:{okStr:"<",ok:lm.LT,fail:lm.GTE},formatExclusiveMinimum:{okStr:">",ok:lm.GT,fail:lm.LTE}},vkt={message:({keyword:r,schemaCode:e})=>(0,bl.str)`should be ${iO[r].okStr} ${e}`,params:({keyword:r,schemaCode:e})=>(0,bl._)`{comparison: ${iO[r].okStr}, limit: ${e}}`};Cb.formatLimitDefinition={keyword:Object.keys(iO),type:"string",schemaType:"string",$data:!0,error:vkt,code(r){let{gen:e,data:t,schemaCode:n,keyword:i,it:s}=r,{opts:a,self:o}=s;if(!a.validateFormats)return;let l=new ykt.KeywordCxt(s,o.RULES.all.format.definition,"format");l.$data?c():d();function c(){let p=e.scopeValue("formats",{ref:o.formats,code:a.code.formats}),m=e.const("fmt",(0,bl._)`${p}[${l.schemaCode}]`);r.fail$data((0,bl.or)((0,bl._)`typeof ${m} != "object"`,(0,bl._)`${m} instanceof RegExp`,(0,bl._)`typeof ${m}.compare != "function"`,u(m)))}function d(){let p=l.schema,m=o.formats[p];if(!m||m===!0)return;if(typeof m!="object"||m instanceof RegExp||typeof m.compare!="function")throw new Error(`"${i}": format "${p}" does not define "compare" function`);let f=e.scopeValue("formats",{key:p,ref:m,code:a.code.formats?(0,bl._)`${a.code.formats}${(0,bl.getProperty)(p)}`:void 0});r.fail$data(u(f))}function u(p){return(0,bl._)`${p}.compare(${t}, ${n}) ${iO[i].fail} 0`}},dependencies:["format"]};var bkt=r=>(r.addKeyword(Cb.formatLimitDefinition),r);Cb.default=bkt});var URe=x((j0,HRe)=>{"use strict";Object.defineProperty(j0,"__esModule",{value:!0});var Pb=EIe(),Tkt=zRe(),CK=ft(),BRe=new CK.Name("fullFormats"),kkt=new CK.Name("fastFormats"),PK=(r,e={keywords:!0})=>{if(Array.isArray(e))return qRe(r,e,Pb.fullFormats,BRe),r;let[t,n]=e.mode==="fast"?[Pb.fastFormats,kkt]:[Pb.fullFormats,BRe],i=e.formats||Pb.formatNames;return qRe(r,i,t,n),e.keywords&&(0,Tkt.default)(r),r};PK.get=(r,e="full")=>{let n=(e==="fast"?Pb.fastFormats:Pb.fullFormats)[r];if(!n)throw new Error(`Unknown format "${r}"`);return n};function qRe(r,e,t,n){var i,s;(i=(s=r.opts.code).formats)!==null&&i!==void 0||(s.formats=(0,CK._)`require("ajv-formats/dist/formats").${n}`);for(let a of e)r.addFormat(a,t[a])}HRe.exports=j0=PK;Object.defineProperty(j0,"__esModule",{value:!0});j0.default=PK});function wkt(){let r=new VRe.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,WRe.default)(r),r}var VRe,WRe,sO,YRe=v(()=>{VRe=Ke(yIe(),1),WRe=Ke(URe(),1);sO=class{constructor(e){this._ajv=e!=null?e:wkt()}getValidator(e){var n;let t="$id"in e&&typeof e.$id=="string"?(n=this._ajv.getSchema(e.$id))!=null?n:this._ajv.compile(e):this._ajv.compile(e);return i=>t(i)?{valid:!0,data:i,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(t.errors)}}}});var aO,GRe=v(()=>{aO=class{constructor(e){this._server=e}requestStream(e,t,n){return this._server.requestStream(e,t,n)}async getTask(e,t){return this._server.getTask({taskId:e},t)}async getTaskResult(e,t,n){return this._server.getTaskResult({taskId:e},t,n)}async listTasks(e,t){return this._server.listTasks(e?{cursor:e}:void 0,t)}async cancelTask(e,t){return this._server.cancelTask({taskId:e},t)}}});function KRe(r,e,t){var n;if(!r)throw new Error(`${t} does not support task creation (required for ${e})`);switch(e){case"tools/call":if(!((n=r.tools)!=null&&n.call))throw new Error(`${t} does not support task creation for tools/call (required for ${e})`);break;default:break}}function ZRe(r,e,t){var n,i;if(!r)throw new Error(`${t} does not support task creation (required for ${e})`);switch(e){case"sampling/createMessage":if(!((n=r.sampling)!=null&&n.createMessage))throw new Error(`${t} does not support task creation for sampling/createMessage (required for ${e})`);break;case"elicitation/create":if(!((i=r.elicitation)!=null&&i.create))throw new Error(`${t} does not support task creation for elicitation/create (required for ${e})`);break;default:break}}var QRe=v(()=>{});var oO,JRe=v(()=>{j_e();OE();YRe();xE();GRe();QRe();oO=class extends WN{constructor(e,t){var n,i;super(t),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(RE.options.map((s,a)=>[s,a])),this.isMessageIgnored=(s,a)=>{let o=this._loggingLevels.get(a);return o?this.LOG_LEVEL_SEVERITY.get(s)<this.LOG_LEVEL_SEVERITY.get(o):!1},this._capabilities=(n=t==null?void 0:t.capabilities)!=null?n:{},this._instructions=t==null?void 0:t.instructions,this._jsonSchemaValidator=(i=t==null?void 0:t.jsonSchemaValidator)!=null?i:new sO,this.setRequestHandler(vN,s=>this._oninitialize(s)),this.setNotificationHandler(m5,()=>{var s;return(s=this.oninitialized)==null?void 0:s.call(this)}),this._capabilities.logging&&this.setRequestHandler(T5,async(s,a)=>{var d;let o=a.sessionId||((d=a.requestInfo)==null?void 0:d.headers["mcp-session-id"])||void 0,{level:l}=s.params,c=RE.safeParse(l);return c.success&&this._loggingLevels.set(o,c.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new aO(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=$_e(this._capabilities,e)}setRequestHandler(e,t){var o,l,c;let n=Hp(e),i=n==null?void 0:n.method;if(!i)throw new Error("Schema is missing a method literal");let s;if(vo(i)){let d=i,u=(o=d._zod)==null?void 0:o.def;s=(l=u==null?void 0:u.value)!=null?l:d.value}else{let d=i,u=d._def;s=(c=u==null?void 0:u.value)!=null?c:d.value}if(typeof s!="string")throw new Error("Schema method literal must be a string");if(s==="tools/call"){let d=async(u,p)=>{let m=qp(Jv,u);if(!m.success){let y=m.error instanceof Error?m.error.message:String(m.error);throw new _e(Fe.InvalidParams,`Invalid tools/call request: ${y}`)}let{params:f}=m.data,h=await Promise.resolve(t(u,p));if(f.task){let y=qp(Zv,h);if(!y.success){let k=y.error instanceof Error?y.error.message:String(y.error);throw new _e(Fe.InvalidParams,`Invalid task creation result: ${k}`)}return y.data}let g=qp(NN,h);if(!g.success){let y=g.error instanceof Error?g.error.message:String(g.error);throw new _e(Fe.InvalidParams,`Invalid tools/call result: ${y}`)}return g.data};return super.setRequestHandler(e,d)}return super.setRequestHandler(e,t)}assertCapabilityForMethod(e){var t,n,i;switch(e){case"sampling/createMessage":if(!((t=this._clientCapabilities)!=null&&t.sampling))throw new Error(`Client does not support sampling (required for ${e})`);break;case"elicitation/create":if(!((n=this._clientCapabilities)!=null&&n.elicitation))throw new Error(`Client does not support elicitation (required for ${e})`);break;case"roots/list":if(!((i=this._clientCapabilities)!=null&&i.roots))throw new Error(`Client does not support listing roots (required for ${e})`);break;case"ping":break}}assertNotificationCapability(e){var t,n;switch(e){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw new Error(`Server does not support notifying about resources (required for ${e})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${e})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${e})`);break;case"notifications/elicitation/complete":if(!((n=(t=this._clientCapabilities)==null?void 0:t.elicitation)!=null&&n.url))throw new Error(`Client does not support URL elicitation (required for ${e})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${e})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw new Error(`Server does not support resources (required for ${e})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${e})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Server does not support tasks capability (required for ${e})`);break;case"ping":case"initialize":break}}assertTaskCapability(e){var t,n;ZRe((n=(t=this._clientCapabilities)==null?void 0:t.tasks)==null?void 0:n.requests,e,"Client")}assertTaskHandlerCapability(e){var t;this._capabilities&&KRe((t=this._capabilities.tasks)==null?void 0:t.requests,e,"Server")}async _oninitialize(e){let t=e.params.protocolVersion;return this._clientCapabilities=e.params.capabilities,this._clientVersion=e.params.clientInfo,{protocolVersion:DE.includes(t)?t:o5,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},gN)}async createMessage(e,t){var n,i;if((e.tools||e.toolChoice)&&!((i=(n=this._clientCapabilities)==null?void 0:n.sampling)!=null&&i.tools))throw new Error("Client does not support sampling tools capability.");if(e.messages.length>0){let s=e.messages[e.messages.length-1],a=Array.isArray(s.content)?s.content:[s.content],o=a.some(u=>u.type==="tool_result"),l=e.messages.length>1?e.messages[e.messages.length-2]:void 0,c=l?Array.isArray(l.content)?l.content:[l.content]:[],d=c.some(u=>u.type==="tool_use");if(o){if(a.some(u=>u.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!d)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(d){let u=new Set(c.filter(m=>m.type==="tool_use").map(m=>m.id)),p=new Set(a.filter(m=>m.type==="tool_result").map(m=>m.toolUseId));if(u.size!==p.size||![...u].every(m=>p.has(m)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return e.tools?this.request({method:"sampling/createMessage",params:e},w5,t):this.request({method:"sampling/createMessage",params:e},k5,t)}async elicitInput(e,t){var i,s,a,o,l;switch((i=e.mode)!=null?i:"form"){case"url":{if(!((a=(s=this._clientCapabilities)==null?void 0:s.elicitation)!=null&&a.url))throw new Error("Client does not support url elicitation.");let c=e;return this.request({method:"elicitation/create",params:c},RN,t)}case"form":{if(!((l=(o=this._clientCapabilities)==null?void 0:o.elicitation)!=null&&l.form))throw new Error("Client does not support form elicitation.");let c=e.mode==="form"?e:{...e,mode:"form"},d=await this.request({method:"elicitation/create",params:c},RN,t);if(d.action==="accept"&&d.content&&c.requestedSchema)try{let p=this._jsonSchemaValidator.getValidator(c.requestedSchema)(d.content);if(!p.valid)throw new _e(Fe.InvalidParams,`Elicitation response content does not match requested schema: ${p.errorMessage}`)}catch(u){throw u instanceof _e?u:new _e(Fe.InternalError,`Error validating elicitation response: ${u instanceof Error?u.message:String(u)}`)}return d}}}createElicitationCompletionNotifier(e,t){var n,i;if(!((i=(n=this._clientCapabilities)==null?void 0:n.elicitation)!=null&&i.url))throw new Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:e}},t)}async listRoots(e,t){return this.request({method:"roots/list",params:e},S5,t)}async sendLoggingMessage(e,t){if(this._capabilities.logging&&!this.isMessageIgnored(e.level,t))return this.notification({method:"notifications/message",params:e})}async sendResourceUpdated(e){return this.notification({method:"notifications/resources/updated",params:e})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}}});function _K(r){return!!r&&typeof r=="object"&&eOe in r}function tOe(r){let e=r[eOe];return e==null?void 0:e.complete}var eOe,XRe,rOe=v(()=>{eOe=Symbol.for("mcp.completable");(function(r){r.Completable="McpCompletable"})(XRe||(XRe={}))});var nOe=v(()=>{});function xkt(r){let e=[];if(r.length===0)return{isValid:!1,warnings:["Tool name cannot be empty"]};if(r.length>128)return{isValid:!1,warnings:[`Tool name exceeds maximum length of 128 characters (current: ${r.length})`]};if(r.includes(" ")&&e.push("Tool name contains spaces, which may cause parsing issues"),r.includes(",")&&e.push("Tool name contains commas, which may cause parsing issues"),(r.startsWith("-")||r.endsWith("-"))&&e.push("Tool name starts or ends with a dash, which may cause parsing issues in some contexts"),(r.startsWith(".")||r.endsWith("."))&&e.push("Tool name starts or ends with a dot, which may cause parsing issues in some contexts"),!Skt.test(r)){let t=r.split("").filter(n=>!/[A-Za-z0-9._-]/.test(n)).filter((n,i,s)=>s.indexOf(n)===i);return e.push(`Tool name contains invalid characters: ${t.map(n=>`"${n}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings:e}}return{isValid:!0,warnings:e}}function Ekt(r,e){if(e.length>0){console.warn(`Tool name validation warning for "${r}":`);for(let t of e)console.warn(` - ${t}`);console.warn("Tool registration will proceed, but this may cause compatibility issues."),console.warn("Consider updating the tool name to conform to the MCP tool naming standard."),console.warn("See SEP: Specify Format for Tool Names (https://github.com/modelcontextprotocol/modelcontextprotocol/issues/986) for more details.")}}function MK(r){let e=xkt(r);return Ekt(r,e.warnings),e.isValid}var Skt,iOe=v(()=>{Skt=/^[A-Za-z0-9._-]{1,128}$/});var lO,sOe=v(()=>{lO=class{constructor(e){this._mcpServer=e}registerToolTask(e,t,n){let i={taskSupport:"required",...t.execution};if(i.taskSupport==="forbidden")throw new Error(`Cannot register task-based tool '${e}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(e,t.title,t.description,t.inputSchema,t.outputSchema,t.annotations,i,t._meta,n)}}});var AK=v(()=>{HI();HI()});function lOe(r){return r!==null&&typeof r=="object"&&"parse"in r&&typeof r.parse=="function"&&"safeParse"in r&&typeof r.safeParse=="function"}function Ckt(r){return"_def"in r||"_zod"in r||lOe(r)}function IK(r){return typeof r!="object"||r===null||Ckt(r)?!1:Object.keys(r).length===0?!0:Object.values(r).some(lOe)}function aOe(r){if(r)return IK(r)?wh(r):r}function Pkt(r){let e=Hp(r);return e?Object.entries(e).map(([t,n])=>{let i=mPe(n),s=fPe(n);return{name:t,description:i,required:!s}}):[]}function cm(r){let e=Hp(r),t=e==null?void 0:e.method;if(!t)throw new Error("Schema is missing a method literal");let n=dN(t);if(typeof n=="string")return n;throw new Error("Schema method literal must be a string")}function oOe(r){return{completion:{values:r.slice(0,100),total:r.length,hasMore:r.length>100}}}var cO,Dkt,z0,cOe=v(()=>{JRe();xE();a8();OE();rOe();nOe();iOe();sOe();AK();cO=class{constructor(e,t){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new oO(e,t)}get experimental(){return this._experimental||(this._experimental={tasks:new lO(this)}),this._experimental}async connect(e){return await this.server.connect(e)}async close(){await this.server.close()}setToolRequestHandlers(){this._toolHandlersInitialized||(this.server.assertCanSetRequestHandler(cm(IN)),this.server.assertCanSetRequestHandler(cm(Jv)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(IN,()=>({tools:Object.entries(this._registeredTools).filter(([,e])=>e.enabled).map(([e,t])=>{let n={name:e,title:t.title,description:t.description,inputSchema:(()=>{let i=Wv(t.inputSchema);return i?n8(i,{strictUnions:!0,pipeStrategy:"input"}):Dkt})(),annotations:t.annotations,execution:t.execution,_meta:t._meta};if(t.outputSchema){let i=Wv(t.outputSchema);i&&(n.outputSchema=n8(i,{strictUnions:!0,pipeStrategy:"output"}))}return n})})),this.server.setRequestHandler(Jv,async(e,t)=>{var n;try{let i=this._registeredTools[e.params.name];if(!i)throw new _e(Fe.InvalidParams,`Tool ${e.params.name} not found`);if(!i.enabled)throw new _e(Fe.InvalidParams,`Tool ${e.params.name} disabled`);let s=!!e.params.task,a=(n=i.execution)==null?void 0:n.taskSupport,o="createTask"in i.handler;if((a==="required"||a==="optional")&&!o)throw new _e(Fe.InternalError,`Tool ${e.params.name} has taskSupport '${a}' but was not registered with registerToolTask`);if(a==="required"&&!s)throw new _e(Fe.MethodNotFound,`Tool ${e.params.name} requires task augmentation (taskSupport: 'required')`);if(a==="optional"&&!s&&o)return await this.handleAutomaticTaskPolling(i,e,t);let l=await this.validateToolInput(i,e.params.arguments,e.params.name),c=await this.executeToolHandler(i,l,t);return s||await this.validateToolOutput(i,c,e.params.name),c}catch(i){if(i instanceof _e&&i.code===Fe.UrlElicitationRequired)throw i;return this.createToolError(i instanceof Error?i.message:String(i))}}),this._toolHandlersInitialized=!0)}createToolError(e){return{content:[{type:"text",text:e}],isError:!0}}async validateToolInput(e,t,n){if(!e.inputSchema)return;let i=Wv(e.inputSchema),s=i!=null?i:e.inputSchema,a=await lN(s,t);if(!a.success){let o="error"in a?a.error:"Unknown error",l=cN(o);throw new _e(Fe.InvalidParams,`Input validation error: Invalid arguments for tool ${n}: ${l}`)}return a.data}async validateToolOutput(e,t,n){if(!e.outputSchema||!("content"in t)||t.isError)return;if(!t.structuredContent)throw new _e(Fe.InvalidParams,`Output validation error: Tool ${n} has an output schema but no structured content was provided`);let i=Wv(e.outputSchema),s=await lN(i,t.structuredContent);if(!s.success){let a="error"in s?s.error:"Unknown error",o=cN(a);throw new _e(Fe.InvalidParams,`Output validation error: Invalid structured content for tool ${n}: ${o}`)}}async executeToolHandler(e,t,n){let i=e.handler;if("createTask"in i){if(!n.taskStore)throw new Error("No task store provided.");let a={...n,taskStore:n.taskStore};if(e.inputSchema){let o=i;return await Promise.resolve(o.createTask(t,a))}else{let o=i;return await Promise.resolve(o.createTask(a))}}if(e.inputSchema){let a=i;return await Promise.resolve(a(t,n))}else{let a=i;return await Promise.resolve(a(n))}}async handleAutomaticTaskPolling(e,t,n){var u;if(!n.taskStore)throw new Error("No task store provided for task-capable tool.");let i=await this.validateToolInput(e,t.params.arguments,t.params.name),s=e.handler,a={...n,taskStore:n.taskStore},o=i?await Promise.resolve(s.createTask(i,a)):await Promise.resolve(s.createTask(a)),l=o.task.taskId,c=o.task,d=(u=c.pollInterval)!=null?u:5e3;for(;c.status!=="completed"&&c.status!=="failed"&&c.status!=="cancelled";){await new Promise(m=>setTimeout(m,d));let p=await n.taskStore.getTask(l);if(!p)throw new _e(Fe.InternalError,`Task ${l} not found during polling`);c=p}return await n.taskStore.getTaskResult(l)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(cm(ON)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(ON,async e=>{switch(e.params.ref.type){case"ref/prompt":return e_e(e),this.handlePromptCompletion(e,e.params.ref);case"ref/resource":return t_e(e),this.handleResourceCompletion(e,e.params.ref);default:throw new _e(Fe.InvalidParams,`Invalid completion reference: ${e.params.ref}`)}}),this._completionHandlerInitialized=!0)}async handlePromptCompletion(e,t){let n=this._registeredPrompts[t.name];if(!n)throw new _e(Fe.InvalidParams,`Prompt ${t.name} not found`);if(!n.enabled)throw new _e(Fe.InvalidParams,`Prompt ${t.name} disabled`);if(!n.argsSchema)return z0;let i=Hp(n.argsSchema),s=i==null?void 0:i[e.params.argument.name];if(!_K(s))return z0;let a=tOe(s);if(!a)return z0;let o=await a(e.params.argument.value,e.params.context);return oOe(o)}async handleResourceCompletion(e,t){let n=Object.values(this._registeredResourceTemplates).find(a=>a.resourceTemplate.uriTemplate.toString()===t.uri);if(!n){if(this._registeredResources[t.uri])return z0;throw new _e(Fe.InvalidParams,`Resource template ${e.params.ref.uri} not found`)}let i=n.resourceTemplate.completeCallback(e.params.argument.name);if(!i)return z0;let s=await i(e.params.argument.value,e.params.context);return oOe(s)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(cm(CN)),this.server.assertCanSetRequestHandler(cm(PN)),this.server.assertCanSetRequestHandler(cm(_N)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(CN,async(e,t)=>{let n=Object.entries(this._registeredResources).filter(([s,a])=>a.enabled).map(([s,a])=>({uri:s,name:a.name,...a.metadata})),i=[];for(let s of Object.values(this._registeredResourceTemplates)){if(!s.resourceTemplate.listCallback)continue;let a=await s.resourceTemplate.listCallback(t);for(let o of a.resources)i.push({...s.metadata,...o})}return{resources:[...n,...i]}}),this.server.setRequestHandler(PN,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([t,n])=>({name:t,uriTemplate:n.resourceTemplate.uriTemplate.toString(),...n.metadata}))})),this.server.setRequestHandler(_N,async(e,t)=>{let n=new URL(e.params.uri),i=this._registeredResources[n.toString()];if(i){if(!i.enabled)throw new _e(Fe.InvalidParams,`Resource ${n} disabled`);return i.readCallback(n,t)}for(let s of Object.values(this._registeredResourceTemplates)){let a=s.resourceTemplate.uriTemplate.match(n.toString());if(a)return s.readCallback(n,a,t)}throw new _e(Fe.InvalidParams,`Resource ${n} not found`)}),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(cm(MN)),this.server.assertCanSetRequestHandler(cm(AN)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(MN,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,e])=>e.enabled).map(([e,t])=>({name:e,title:t.title,description:t.description,arguments:t.argsSchema?Pkt(t.argsSchema):void 0}))})),this.server.setRequestHandler(AN,async(e,t)=>{let n=this._registeredPrompts[e.params.name];if(!n)throw new _e(Fe.InvalidParams,`Prompt ${e.params.name} not found`);if(!n.enabled)throw new _e(Fe.InvalidParams,`Prompt ${e.params.name} disabled`);if(n.argsSchema){let i=Wv(n.argsSchema),s=await lN(i,e.params.arguments);if(!s.success){let l="error"in s?s.error:"Unknown error",c=cN(l);throw new _e(Fe.InvalidParams,`Invalid arguments for prompt ${e.params.name}: ${c}`)}let a=s.data,o=n.callback;return await Promise.resolve(o(a,t))}else{let i=n.callback;return await Promise.resolve(i(t))}}),this._promptHandlersInitialized=!0)}resource(e,t,...n){let i;typeof n[0]=="object"&&(i=n.shift());let s=n[0];if(typeof t=="string"){if(this._registeredResources[t])throw new Error(`Resource ${t} is already registered`);let a=this._createRegisteredResource(e,void 0,t,i,s);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),a}else{if(this._registeredResourceTemplates[e])throw new Error(`Resource template ${e} is already registered`);let a=this._createRegisteredResourceTemplate(e,void 0,t,i,s);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),a}}registerResource(e,t,n,i){if(typeof t=="string"){if(this._registeredResources[t])throw new Error(`Resource ${t} is already registered`);let s=this._createRegisteredResource(e,n.title,t,n,i);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}else{if(this._registeredResourceTemplates[e])throw new Error(`Resource template ${e} is already registered`);let s=this._createRegisteredResourceTemplate(e,n.title,t,n,i);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}}_createRegisteredResource(e,t,n,i,s){let a={name:e,title:t,metadata:i,readCallback:s,enabled:!0,disable:()=>a.update({enabled:!1}),enable:()=>a.update({enabled:!0}),remove:()=>a.update({uri:null}),update:o=>{typeof o.uri!="undefined"&&o.uri!==n&&(delete this._registeredResources[n],o.uri&&(this._registeredResources[o.uri]=a)),typeof o.name!="undefined"&&(a.name=o.name),typeof o.title!="undefined"&&(a.title=o.title),typeof o.metadata!="undefined"&&(a.metadata=o.metadata),typeof o.callback!="undefined"&&(a.readCallback=o.callback),typeof o.enabled!="undefined"&&(a.enabled=o.enabled),this.sendResourceListChanged()}};return this._registeredResources[n]=a,a}_createRegisteredResourceTemplate(e,t,n,i,s){let a={resourceTemplate:n,title:t,metadata:i,readCallback:s,enabled:!0,disable:()=>a.update({enabled:!1}),enable:()=>a.update({enabled:!0}),remove:()=>a.update({name:null}),update:c=>{typeof c.name!="undefined"&&c.name!==e&&(delete this._registeredResourceTemplates[e],c.name&&(this._registeredResourceTemplates[c.name]=a)),typeof c.title!="undefined"&&(a.title=c.title),typeof c.template!="undefined"&&(a.resourceTemplate=c.template),typeof c.metadata!="undefined"&&(a.metadata=c.metadata),typeof c.callback!="undefined"&&(a.readCallback=c.callback),typeof c.enabled!="undefined"&&(a.enabled=c.enabled),this.sendResourceListChanged()}};this._registeredResourceTemplates[e]=a;let o=n.uriTemplate.variableNames;return Array.isArray(o)&&o.some(c=>!!n.completeCallback(c))&&this.setCompletionRequestHandler(),a}_createRegisteredPrompt(e,t,n,i,s){let a={title:t,description:n,argsSchema:i===void 0?void 0:wh(i),callback:s,enabled:!0,disable:()=>a.update({enabled:!1}),enable:()=>a.update({enabled:!0}),remove:()=>a.update({name:null}),update:o=>{typeof o.name!="undefined"&&o.name!==e&&(delete this._registeredPrompts[e],o.name&&(this._registeredPrompts[o.name]=a)),typeof o.title!="undefined"&&(a.title=o.title),typeof o.description!="undefined"&&(a.description=o.description),typeof o.argsSchema!="undefined"&&(a.argsSchema=wh(o.argsSchema)),typeof o.callback!="undefined"&&(a.callback=o.callback),typeof o.enabled!="undefined"&&(a.enabled=o.enabled),this.sendPromptListChanged()}};return this._registeredPrompts[e]=a,i&&Object.values(i).some(l=>{var d;let c=l instanceof Ys?(d=l._def)==null?void 0:d.innerType:l;return _K(c)})&&this.setCompletionRequestHandler(),a}_createRegisteredTool(e,t,n,i,s,a,o,l,c){MK(e);let d={title:t,description:n,inputSchema:aOe(i),outputSchema:aOe(s),annotations:a,execution:o,_meta:l,handler:c,enabled:!0,disable:()=>d.update({enabled:!1}),enable:()=>d.update({enabled:!0}),remove:()=>d.update({name:null}),update:u=>{typeof u.name!="undefined"&&u.name!==e&&(typeof u.name=="string"&&MK(u.name),delete this._registeredTools[e],u.name&&(this._registeredTools[u.name]=d)),typeof u.title!="undefined"&&(d.title=u.title),typeof u.description!="undefined"&&(d.description=u.description),typeof u.paramsSchema!="undefined"&&(d.inputSchema=wh(u.paramsSchema)),typeof u.outputSchema!="undefined"&&(d.outputSchema=wh(u.outputSchema)),typeof u.callback!="undefined"&&(d.handler=u.callback),typeof u.annotations!="undefined"&&(d.annotations=u.annotations),typeof u._meta!="undefined"&&(d._meta=u._meta),typeof u.enabled!="undefined"&&(d.enabled=u.enabled),this.sendToolListChanged()}};return this._registeredTools[e]=d,this.setToolRequestHandlers(),this.sendToolListChanged(),d}tool(e,...t){if(this._registeredTools[e])throw new Error(`Tool ${e} is already registered`);let n,i,s,a;if(typeof t[0]=="string"&&(n=t.shift()),t.length>1){let l=t[0];IK(l)?(i=t.shift(),t.length>1&&typeof t[0]=="object"&&t[0]!==null&&!IK(t[0])&&(a=t.shift())):typeof l=="object"&&l!==null&&(a=t.shift())}let o=t[0];return this._createRegisteredTool(e,void 0,n,i,s,a,{taskSupport:"forbidden"},void 0,o)}registerTool(e,t,n){if(this._registeredTools[e])throw new Error(`Tool ${e} is already registered`);let{title:i,description:s,inputSchema:a,outputSchema:o,annotations:l,_meta:c}=t;return this._createRegisteredTool(e,i,s,a,o,l,{taskSupport:"forbidden"},c,n)}prompt(e,...t){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);let n;typeof t[0]=="string"&&(n=t.shift());let i;t.length>1&&(i=t.shift());let s=t[0],a=this._createRegisteredPrompt(e,void 0,n,i,s);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),a}registerPrompt(e,t,n){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);let{title:i,description:s,argsSchema:a}=t,o=this._createRegisteredPrompt(e,i,s,a,n);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),o}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(e,t){return this.server.sendLoggingMessage(e,t)}sendResourceListChanged(){this.isConnected()&&this.server.sendResourceListChanged()}sendToolListChanged(){this.isConnected()&&this.server.sendToolListChanged()}sendPromptListChanged(){this.isConnected()&&this.server.sendPromptListChanged()}},Dkt={type:"object",properties:{}};z0={completion:{values:[],hasMore:!1}}});async function Lkt(r){return Promise.race([r,Promise.resolve().then(()=>Promise.resolve(void 0))])}function pOe(r,e,t){let n=o=>{r.cancel(o).catch(()=>{})};return e.on("close",n),e.on("error",n),(t!=null?t:r.read()).then(a,i),r.closed.finally(()=>{e.off("close",n),e.off("error",n)});function i(o){o&&e.destroy(o)}function s(){r.read().then(a,i)}function a({done:o,value:l}){try{if(o)e.end();else if(!e.write(l))e.once("drain",s);else return r.read().then(a,i)}catch(c){i(c)}}}function Fkt(r,e){if(r.locked)throw new TypeError("ReadableStream is locked.");return e.destroyed?void 0:pOe(r.getReader(),e)}var _kt,dOe,uO,OK,fOe,Hh,Mkt,Akt,B0,Ikt,uOe,Nkt,Ab,NK,pO,mO,RK,dm,Rkt,fO,Okt,dO,_b,Uh,FK,q0,uu,Mb,H0,mOe,$kt,$K,jkt,hOe,LK,gOe,yOe,zkt,Bkt,jK,vOe=v(()=>{_kt=require("http"),dOe=require("http2"),uO=require("http2"),OK=require("stream"),fOe=Ke(require("crypto"),1),Hh=class extends Error{constructor(r,e){super(r,e),this.name="RequestError"}},Mkt=r=>r instanceof Hh?r:new Hh(r.message,{cause:r}),Akt=global.Request,B0=class extends Akt{constructor(r,e){var t,n;typeof r=="object"&&Ab in r&&(r=r[Ab]()),typeof((t=e==null?void 0:e.body)==null?void 0:t.getReader)!="undefined"&&((n=e.duplex)!=null||(e.duplex="half")),super(r,e)}},Ikt=r=>{let e=[],t=r.rawHeaders;for(let n=0;n<t.length;n+=2){let{[n]:i,[n+1]:s}=t;i.charCodeAt(0)!==58&&e.push([i,s])}return new Headers(e)},uOe=Symbol("wrapBodyStream"),Nkt=(r,e,t,n,i)=>{let s={method:r,headers:t,signal:i.signal};if(r==="TRACE"){s.method="GET";let a=new B0(e,s);return Object.defineProperty(a,"method",{get(){return"TRACE"}}),a}if(!(r==="GET"||r==="HEAD"))if("rawBody"in n&&n.rawBody instanceof Buffer)s.body=new ReadableStream({start(a){a.enqueue(n.rawBody),a.close()}});else if(n[uOe]){let a;s.body=new ReadableStream({async pull(o){try{a||(a=OK.Readable.toWeb(n).getReader());let{done:l,value:c}=await a.read();l?o.close():o.enqueue(c)}catch(l){o.error(l)}}})}else s.body=OK.Readable.toWeb(n);return new B0(e,s)},Ab=Symbol("getRequestCache"),NK=Symbol("requestCache"),pO=Symbol("incomingKey"),mO=Symbol("urlKey"),RK=Symbol("headersKey"),dm=Symbol("abortControllerKey"),Rkt=Symbol("getAbortController"),fO={get method(){return this[pO].method||"GET"},get url(){return this[mO]},get headers(){return this[RK]||(this[RK]=Ikt(this[pO]))},[Rkt](){return this[Ab](),this[dm]},[Ab](){return this[dm]||(this[dm]=new AbortController),this[NK]||(this[NK]=Nkt(this.method,this[mO],this.headers,this[pO],this[dm]))}};["body","bodyUsed","cache","credentials","destination","integrity","mode","redirect","referrer","referrerPolicy","signal","keepalive"].forEach(r=>{Object.defineProperty(fO,r,{get(){return this[Ab]()[r]}})});["arrayBuffer","blob","clone","formData","json","text"].forEach(r=>{Object.defineProperty(fO,r,{value:function(){return this[Ab]()[r]()}})});Object.setPrototypeOf(fO,B0.prototype);Okt=(r,e)=>{let t=Object.create(fO);t[pO]=r;let n=r.url||"";if(n[0]!=="/"&&(n.startsWith("http://")||n.startsWith("https://"))){if(r instanceof uO.Http2ServerRequest)throw new Hh("Absolute URL for :path is not allowed in HTTP/2");try{let o=new URL(n);t[mO]=o.href}catch(o){throw new Hh("Invalid absolute URL",{cause:o})}return t}let i=(r instanceof uO.Http2ServerRequest?r.authority:r.headers.host)||e;if(!i)throw new Hh("Missing host header");let s;if(r instanceof uO.Http2ServerRequest){if(s=r.scheme,!(s==="http"||s==="https"))throw new Hh("Unsupported scheme")}else s=r.socket&&r.socket.encrypted?"https":"http";let a=new URL(`${s}://${i}${n}`);if(a.hostname.length!==i.length&&a.hostname!==i.replace(/:\d+$/,""))throw new Hh("Invalid host header");return t[mO]=a.href,t},dO=Symbol("responseCache"),_b=Symbol("getResponseCache"),Uh=Symbol("cache"),FK=global.Response,H0=(Mb=class{constructor(e,t){gm(this,q0);gm(this,uu);let n;if(Bc(this,q0,e),t instanceof Mb){let i=t[dO];if(i){Bc(this,uu,i),this[_b]();return}else Bc(this,uu,La(t,uu)),n=new Headers(La(t,uu).headers)}else Bc(this,uu,t);(typeof e=="string"||typeof(e==null?void 0:e.getReader)!="undefined"||e instanceof Blob||e instanceof Uint8Array)&&(n||(n=(t==null?void 0:t.headers)||{"content-type":"text/plain; charset=UTF-8"}),this[Uh]=[(t==null?void 0:t.status)||200,e,n])}[_b](){return delete this[Uh],this[dO]||(this[dO]=new FK(La(this,q0),La(this,uu)))}get headers(){let e=this[Uh];return e?(e[2]instanceof Headers||(e[2]=new Headers(e[2])),e[2]):this[_b]().headers}get status(){var e,t;return(t=(e=this[Uh])==null?void 0:e[0])!=null?t:this[_b]().status}get ok(){let e=this.status;return e>=200&&e<300}},q0=new WeakMap,uu=new WeakMap,Mb);["body","bodyUsed","redirected","statusText","trailers","type","url"].forEach(r=>{Object.defineProperty(H0.prototype,r,{get(){return this[_b]()[r]}})});["arrayBuffer","blob","clone","formData","json","text"].forEach(r=>{Object.defineProperty(H0.prototype,r,{value:function(){return this[_b]()[r]()}})});Object.setPrototypeOf(H0,FK);Object.setPrototypeOf(H0.prototype,FK.prototype);mOe=r=>{var n;let e={};r instanceof Headers||(r=new Headers(r!=null?r:void 0));let t=[];for(let[i,s]of r)i==="set-cookie"?t.push(s):e[i]=s;return t.length>0&&(e["set-cookie"]=t),(n=e["content-type"])!=null||(e["content-type"]="text/plain; charset=UTF-8"),e},$kt="x-hono-already-sent";typeof global.crypto=="undefined"&&(global.crypto=fOe.default);$K=Symbol("outgoingEnded"),jkt=()=>new Response(null,{status:400}),hOe=r=>new Response(null,{status:r instanceof Error&&(r.name==="TimeoutError"||r.constructor.name==="TimeoutError")?504:500}),LK=(r,e)=>{let t=r instanceof Error?r:new Error("unknown error",{cause:r});t.code==="ERR_STREAM_PREMATURE_CLOSE"?console.info("The user aborted a request."):(console.error(r),e.headersSent||e.writeHead(500,{"Content-Type":"text/plain"}),e.end(`Error: ${t.message}`),e.destroy(t))},gOe=r=>{"flushHeaders"in r&&r.writable&&r.flushHeaders()},yOe=async(r,e)=>{var s,a;let[t,n,i]=r[Uh];i instanceof Headers&&(i=mOe(i)),typeof n=="string"?i["Content-Length"]=Buffer.byteLength(n):n instanceof Uint8Array?i["Content-Length"]=n.byteLength:n instanceof Blob&&(i["Content-Length"]=n.size),e.writeHead(t,i),typeof n=="string"||n instanceof Uint8Array?e.end(n):n instanceof Blob?e.end(new Uint8Array(await n.arrayBuffer())):(gOe(e),await((s=Fkt(n,e))==null?void 0:s.catch(o=>LK(o,e)))),(a=e[$K])==null||a.call(e)},zkt=r=>typeof r.then=="function",Bkt=async(r,e,t={})=>{var i;if(zkt(r))if(t.errorHandler)try{r=await r}catch(s){let a=await t.errorHandler(s);if(!a)return;r=a}else r=await r.catch(hOe);if(Uh in r)return yOe(r,e);let n=mOe(r.headers);if(r.body){let s=r.body.getReader(),a=[],o=!1,l;if(n["transfer-encoding"]!=="chunked"){let c=2;for(let d=0;d<c;d++){l||(l=s.read());let u=await Lkt(l).catch(p=>{console.error(p),o=!0});if(!u){if(d===1){await new Promise(p=>setTimeout(p)),c=3;continue}break}if(l=void 0,u.value&&a.push(u.value),u.done){o=!0;break}}o&&!("content-length"in n)&&(n["content-length"]=a.reduce((d,u)=>d+u.length,0))}e.writeHead(r.status,n),a.forEach(c=>{e.write(c)}),o?e.end():(a.length===0&&gOe(e),await pOe(s,e,l))}else n[$kt]||(e.writeHead(r.status,n),e.end());(i=e[$K])==null||i.call(e)},jK=(r,e={})=>{var n;let t=(n=e.autoCleanupIncoming)!=null?n:!0;return e.overrideGlobalObjects!==!1&&global.Request!==B0&&(Object.defineProperty(global,"Request",{value:B0}),Object.defineProperty(global,"Response",{value:H0})),async(i,s)=>{let a,o;try{o=Okt(i,e.hostname);let l=!t||i.method==="GET"||i.method==="HEAD";if(l||(i[uOe]=!0,i.on("end",()=>{l=!0}),i instanceof dOe.Http2ServerRequest&&(s[$K]=()=>{l||setTimeout(()=>{l||setTimeout(()=>{i.destroy(),s.destroy()})})})),s.on("close",()=>{o[dm]&&(i.errored?o[dm].abort(i.errored.toString()):s.writableFinished||o[dm].abort("Client connection prematurely closed.")),l||setTimeout(()=>{l||setTimeout(()=>{i.destroy()})})}),a=r(o,{incoming:i,outgoing:s}),Uh in a)return yOe(a,s)}catch(l){if(a)return LK(l,s);if(e.errorHandler){if(a=await e.errorHandler(o?l:Mkt(l)),!a)return}else o?a=hOe(l):a=jkt()}try{return await Bkt(a,s,e)}catch(l){return LK(l,s)}}}});var hO,bOe=v(()=>{OE();hO=class{constructor(e={}){var t,n;this._started=!1,this._hasHandledRequest=!1,this._streamMapping=new Map,this._requestToStreamMapping=new Map,this._requestResponseMap=new Map,this._initialized=!1,this._enableJsonResponse=!1,this._standaloneSseStreamId="_GET_stream",this.sessionIdGenerator=e.sessionIdGenerator,this._enableJsonResponse=(t=e.enableJsonResponse)!=null?t:!1,this._eventStore=e.eventStore,this._onsessioninitialized=e.onsessioninitialized,this._onsessionclosed=e.onsessionclosed,this._allowedHosts=e.allowedHosts,this._allowedOrigins=e.allowedOrigins,this._enableDnsRebindingProtection=(n=e.enableDnsRebindingProtection)!=null?n:!1,this._retryInterval=e.retryInterval}async start(){if(this._started)throw new Error("Transport already started");this._started=!0}createJsonErrorResponse(e,t,n,i){let s={code:t,message:n};return(i==null?void 0:i.data)!==void 0&&(s.data=i.data),new Response(JSON.stringify({jsonrpc:"2.0",error:s,id:null}),{status:e,headers:{"Content-Type":"application/json",...i==null?void 0:i.headers}})}validateRequestHeaders(e){var t,n;if(this._enableDnsRebindingProtection){if(this._allowedHosts&&this._allowedHosts.length>0){let i=e.headers.get("host");if(!i||!this._allowedHosts.includes(i)){let s=`Invalid Host header: ${i}`;return(t=this.onerror)==null||t.call(this,new Error(s)),this.createJsonErrorResponse(403,-32e3,s)}}if(this._allowedOrigins&&this._allowedOrigins.length>0){let i=e.headers.get("origin");if(i&&!this._allowedOrigins.includes(i)){let s=`Invalid Origin header: ${i}`;return(n=this.onerror)==null||n.call(this,new Error(s)),this.createJsonErrorResponse(403,-32e3,s)}}}}async handleRequest(e,t){if(!this.sessionIdGenerator&&this._hasHandledRequest)throw new Error("Stateless transport cannot be reused across requests. Create a new transport per request.");this._hasHandledRequest=!0;let n=this.validateRequestHeaders(e);if(n)return n;switch(e.method){case"POST":return this.handlePostRequest(e,t);case"GET":return this.handleGetRequest(e);case"DELETE":return this.handleDeleteRequest(e);default:return this.handleUnsupportedRequest()}}async writePrimingEvent(e,t,n,i){if(!this._eventStore||i<"2025-11-25")return;let s=await this._eventStore.storeEvent(n,{}),a=`id: ${s}
data:
`;this._retryInterval!==void 0&&(a=`id: ${s}
retry: ${this._retryInterval}
data:
`),e.enqueue(t.encode(a))}async handleGetRequest(e){let t=e.headers.get("accept");if(!(t!=null&&t.includes("text/event-stream")))return this.createJsonErrorResponse(406,-32e3,"Not Acceptable: Client must accept text/event-stream");let n=this.validateSession(e);if(n)return n;let i=this.validateProtocolVersion(e);if(i)return i;if(this._eventStore){let c=e.headers.get("last-event-id");if(c)return this.replayEvents(c)}if(this._streamMapping.get(this._standaloneSseStreamId)!==void 0)return this.createJsonErrorResponse(409,-32e3,"Conflict: Only one SSE stream is allowed per session");let s=new TextEncoder,a,o=new ReadableStream({start:c=>{a=c},cancel:()=>{this._streamMapping.delete(this._standaloneSseStreamId)}}),l={"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive"};return this.sessionId!==void 0&&(l["mcp-session-id"]=this.sessionId),this._streamMapping.set(this._standaloneSseStreamId,{controller:a,encoder:s,cleanup:()=>{this._streamMapping.delete(this._standaloneSseStreamId);try{a.close()}catch(c){}}}),new Response(o,{headers:l})}async replayEvents(e){var t;if(!this._eventStore)return this.createJsonErrorResponse(400,-32e3,"Event store not configured");try{let n;if(this._eventStore.getStreamIdForEventId){if(n=await this._eventStore.getStreamIdForEventId(e),!n)return this.createJsonErrorResponse(400,-32e3,"Invalid event ID format");if(this._streamMapping.get(n)!==void 0)return this.createJsonErrorResponse(409,-32e3,"Conflict: Stream already has an active connection")}let i={"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive"};this.sessionId!==void 0&&(i["mcp-session-id"]=this.sessionId);let s=new TextEncoder,a,o=new ReadableStream({start:c=>{a=c},cancel:()=>{}}),l=await this._eventStore.replayEventsAfter(e,{send:async(c,d)=>{var p;if(!this.writeSSEEvent(a,s,d,c)){(p=this.onerror)==null||p.call(this,new Error("Failed replay events"));try{a.close()}catch(m){}}}});return this._streamMapping.set(l,{controller:a,encoder:s,cleanup:()=>{this._streamMapping.delete(l);try{a.close()}catch(c){}}}),new Response(o,{headers:i})}catch(n){return(t=this.onerror)==null||t.call(this,n),this.createJsonErrorResponse(500,-32e3,"Error replaying events")}}writeSSEEvent(e,t,n,i){try{let s=`event: message
`;return i&&(s+=`id: ${i}
`),s+=`data: ${JSON.stringify(n)}
`,e.enqueue(t.encode(s)),!0}catch(s){return!1}}handleUnsupportedRequest(){return new Response(JSON.stringify({jsonrpc:"2.0",error:{code:-32e3,message:"Method not allowed."},id:null}),{status:405,headers:{Allow:"GET, POST, DELETE","Content-Type":"application/json"}})}async handlePostRequest(e,t){var n,i,s,a,o;try{let l=e.headers.get("accept");if(!(l!=null&&l.includes("application/json"))||!l.includes("text/event-stream"))return this.createJsonErrorResponse(406,-32e3,"Not Acceptable: Client must accept both application/json and text/event-stream");let c=e.headers.get("content-type");if(!c||!c.includes("application/json"))return this.createJsonErrorResponse(415,-32e3,"Unsupported Media Type: Content-Type must be application/json");let d={headers:Object.fromEntries(e.headers.entries())},u;if((t==null?void 0:t.parsedBody)!==void 0)u=t.parsedBody;else try{u=await e.json()}catch(E){return this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON")}let p;try{Array.isArray(u)?p=u.map(E=>u5.parse(E)):p=[u5.parse(u)]}catch(E){return this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON-RPC message")}let m=p.some(p5);if(m){if(this._initialized&&this.sessionId!==void 0)return this.createJsonErrorResponse(400,-32600,"Invalid Request: Server already initialized");if(p.length>1)return this.createJsonErrorResponse(400,-32600,"Invalid Request: Only one initialization request is allowed");this.sessionId=(n=this.sessionIdGenerator)==null?void 0:n.call(this),this._initialized=!0,this.sessionId&&this._onsessioninitialized&&await Promise.resolve(this._onsessioninitialized(this.sessionId))}if(!m){let E=this.validateSession(e);if(E)return E;let C=this.validateProtocolVersion(e);if(C)return C}if(!p.some(Vp)){for(let E of p)(i=this.onmessage)==null||i.call(this,E,{authInfo:t==null?void 0:t.authInfo,requestInfo:d});return new Response(null,{status:202})}let h=crypto.randomUUID(),g=p.find(E=>p5(E)),y=g?g.params.protocolVersion:(s=e.headers.get("mcp-protocol-version"))!=null?s:zPe;if(this._enableJsonResponse)return new Promise(E=>{var C;this._streamMapping.set(h,{resolveJson:E,cleanup:()=>{this._streamMapping.delete(h)}});for(let D of p)Vp(D)&&this._requestToStreamMapping.set(D.id,h);for(let D of p)(C=this.onmessage)==null||C.call(this,D,{authInfo:t==null?void 0:t.authInfo,requestInfo:d})});let k=new TextEncoder,T,w=new ReadableStream({start:E=>{T=E},cancel:()=>{this._streamMapping.delete(h)}}),S={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"};this.sessionId!==void 0&&(S["mcp-session-id"]=this.sessionId);for(let E of p)Vp(E)&&(this._streamMapping.set(h,{controller:T,encoder:k,cleanup:()=>{this._streamMapping.delete(h);try{T.close()}catch(C){}}}),this._requestToStreamMapping.set(E.id,h));await this.writePrimingEvent(T,k,h,y);for(let E of p){let C,D;Vp(E)&&this._eventStore&&y>="2025-11-25"&&(C=()=>{this.closeSSEStream(E.id)},D=()=>{this.closeStandaloneSSEStream()}),(a=this.onmessage)==null||a.call(this,E,{authInfo:t==null?void 0:t.authInfo,requestInfo:d,closeSSEStream:C,closeStandaloneSSEStream:D})}return new Response(w,{status:200,headers:S})}catch(l){return(o=this.onerror)==null||o.call(this,l),this.createJsonErrorResponse(400,-32700,"Parse error",{data:String(l)})}}async handleDeleteRequest(e){var i;let t=this.validateSession(e);if(t)return t;let n=this.validateProtocolVersion(e);return n||(await Promise.resolve((i=this._onsessionclosed)==null?void 0:i.call(this,this.sessionId)),await this.close(),new Response(null,{status:200}))}validateSession(e){if(this.sessionIdGenerator===void 0)return;if(!this._initialized)return this.createJsonErrorResponse(400,-32e3,"Bad Request: Server not initialized");let t=e.headers.get("mcp-session-id");if(!t)return this.createJsonErrorResponse(400,-32e3,"Bad Request: Mcp-Session-Id header is required");if(t!==this.sessionId)return this.createJsonErrorResponse(404,-32001,"Session not found")}validateProtocolVersion(e){let t=e.headers.get("mcp-protocol-version");if(t!==null&&!DE.includes(t))return this.createJsonErrorResponse(400,-32e3,`Bad Request: Unsupported protocol version: ${t} (supported versions: ${DE.join(", ")})`)}async close(){var e;this._streamMapping.forEach(({cleanup:t})=>{t()}),this._streamMapping.clear(),this._requestResponseMap.clear(),(e=this.onclose)==null||e.call(this)}closeSSEStream(e){let t=this._requestToStreamMapping.get(e);if(!t)return;let n=this._streamMapping.get(t);n&&n.cleanup()}closeStandaloneSSEStream(){let e=this._streamMapping.get(this._standaloneSseStreamId);e&&e.cleanup()}async send(e,t){let n=t==null?void 0:t.relatedRequestId;if((tu(e)||Kv(e))&&(n=e.id),n===void 0){if(tu(e)||Kv(e))throw new Error("Cannot send a response on a standalone SSE stream unless resuming a previous client request");let a;this._eventStore&&(a=await this._eventStore.storeEvent(this._standaloneSseStreamId,e));let o=this._streamMapping.get(this._standaloneSseStreamId);if(o===void 0)return;o.controller&&o.encoder&&this.writeSSEEvent(o.controller,o.encoder,e,a);return}let i=this._requestToStreamMapping.get(n);if(!i)throw new Error(`No connection established for request ID: ${String(n)}`);let s=this._streamMapping.get(i);if(!this._enableJsonResponse&&(s!=null&&s.controller)&&(s!=null&&s.encoder)){let a;this._eventStore&&(a=await this._eventStore.storeEvent(i,e)),this.writeSSEEvent(s.controller,s.encoder,e,a)}if(tu(e)||Kv(e)){this._requestResponseMap.set(n,e);let a=Array.from(this._requestToStreamMapping.entries()).filter(([l,c])=>c===i).map(([l])=>l);if(a.every(l=>this._requestResponseMap.has(l))){if(!s)throw new Error(`No connection established for request ID: ${String(n)}`);if(this._enableJsonResponse&&s.resolveJson){let l={"Content-Type":"application/json"};this.sessionId!==void 0&&(l["mcp-session-id"]=this.sessionId);let c=a.map(d=>this._requestResponseMap.get(d));c.length===1?s.resolveJson(new Response(JSON.stringify(c[0]),{status:200,headers:l})):s.resolveJson(new Response(JSON.stringify(c),{status:200,headers:l}))}else s.cleanup();for(let l of a)this._requestResponseMap.delete(l),this._requestToStreamMapping.delete(l)}}}}});var gO,TOe=v(()=>{vOe();bOe();gO=class{constructor(e={}){this._requestContext=new WeakMap,this._webStandardTransport=new hO(e),this._requestListener=jK(async t=>{let n=this._requestContext.get(t);return this._webStandardTransport.handleRequest(t,{authInfo:n==null?void 0:n.authInfo,parsedBody:n==null?void 0:n.parsedBody})},{overrideGlobalObjects:!1})}get sessionId(){return this._webStandardTransport.sessionId}set onclose(e){this._webStandardTransport.onclose=e}get onclose(){return this._webStandardTransport.onclose}set onerror(e){this._webStandardTransport.onerror=e}get onerror(){return this._webStandardTransport.onerror}set onmessage(e){this._webStandardTransport.onmessage=e}get onmessage(){return this._webStandardTransport.onmessage}async start(){return this._webStandardTransport.start()}async close(){return this._webStandardTransport.close()}async send(e,t){return this._webStandardTransport.send(e,t)}async handleRequest(e,t,n){let i=e.auth;await jK(async a=>this._webStandardTransport.handleRequest(a,{authInfo:i,parsedBody:n}),{overrideGlobalObjects:!1})(e,t)}closeSSEStream(e){this._webStandardTransport.closeSSEStream(e)}closeStandaloneSSEStream(){this._webStandardTransport.closeStandaloneSSEStream()}}});function wOe(r){let e=Array.isArray(r)?r:[r];for(let t of e){let n=t.params;t.method!=="initialize"||!n||typeof n.protocolVersion!="string"||qkt.has(n.protocolVersion)||(n.protocolVersion=kOe)}return r}var kOe,qkt,SOe=v(()=>{kOe="2025-06-18",qkt=new Set([kOe,"2025-03-26","2024-11-05","2024-10-07"])});var yO,xOe=v(()=>{cOe();TOe();AK();NI();N9();eP();SOe();yO=class{constructor(e,t,n,i,s,a,o){this.plugin=e;this.taskService=t;this.filterService=n;this.cacheManager=i;this.statusManager=s;this.nlParser=a;this.taskStatsService=o}async handleRequest(e,t,n){if(e.method!=="POST"){t.writeHead(405,{Allow:"POST"}),t.end(JSON.stringify({jsonrpc:"2.0",error:{code:-32e3,message:"Method not allowed"},id:null}));return}try{wOe(n);let i=new gO({sessionIdGenerator:void 0}),s=new cO({name:"tasknotes",version:this.plugin.manifest.version});this.registerTools(s),await s.connect(i),await i.handleRequest(e,t,n),await i.close(),await s.close()}catch(i){console.error("MCP request error:",i),t.headersSent||(t.writeHead(500,{"Content-Type":"application/json"}),t.end(JSON.stringify({jsonrpc:"2.0",error:{code:-32603,message:"Internal error"},id:null})))}}registerTools(e){this.registerTaskTools(e),this.registerFilterTools(e),this.registerTimeTrackingTools(e),this.registerPomodoroTools(e),this.registerCalendarTools(e),this.registerSystemTools(e)}getErrorMessage(e){return e instanceof Error?e.message:String(e)}getToolRegistrar(e){return e.registerTool.bind(e)}registerTaskTools(e){let t=this.getToolRegistrar(e);t("tasknotes_list_tasks",{description:"List all tasks with optional pagination",inputSchema:{limit:ne.number().optional().describe("Max tasks to return"),offset:ne.number().optional().describe("Number of tasks to skip")}},async({limit:n,offset:i})=>{try{let s=await this.cacheManager.getAllTasks(),a=i!=null?i:0,o=n?a+n:void 0,l=s.slice(a,o);return{content:[{type:"text",text:JSON.stringify({tasks:l,total:s.length,offset:a,returned:l.length})}]}}catch(s){return this.errorResult(this.getErrorMessage(s))}}),t("tasknotes_get_task",{description:"Get a single task by its file path ID",inputSchema:{id:ne.string().describe("Task file path (e.g. 'tasks/My Task.md')")}},async({id:n})=>{try{let i=await this.cacheManager.getTaskInfo(n);return i?this.jsonResult(i):this.errorResult("Task not found")}catch(i){return this.errorResult(this.getErrorMessage(i))}}),t("tasknotes_create_task",{description:"Create a new task",inputSchema:{title:ne.string().describe("Task title"),status:ne.string().optional().describe("Task status (e.g. 'open', 'in-progress', 'done')"),priority:ne.string().optional().describe("Task priority (e.g. 'low', 'normal', 'high', 'urgent')"),due:ne.string().optional().describe("Due date (YYYY-MM-DD)"),scheduled:ne.string().optional().describe("Scheduled date (YYYY-MM-DD)"),tags:ne.array(ne.string()).optional().describe("Tags"),contexts:ne.array(ne.string()).optional().describe("Contexts"),projects:ne.array(ne.string()).optional().describe("Projects"),recurrence:ne.string().optional().describe("RFC 5545 recurrence rule"),timeEstimate:ne.number().optional().describe("Time estimate in minutes"),details:ne.string().optional().describe("Task body/description")}},async n=>{try{let i={title:n.title,path:"",archived:!1,status:n.status||this.plugin.settings.defaultTaskStatus,priority:n.priority||this.plugin.settings.defaultTaskPriority,due:n.due,scheduled:n.scheduled,tags:n.tags,contexts:n.contexts,projects:n.projects,recurrence:n.recurrence,timeEstimate:n.timeEstimate,details:n.details,creationContext:"api"},s=await this.taskService.createTask(i);return this.jsonResult(s.taskInfo)}catch(i){return this.errorResult(this.getErrorMessage(i))}}),t("tasknotes_update_task",{description:"Update an existing task's properties",inputSchema:{id:ne.string().describe("Task file path"),title:ne.string().optional().describe("New title"),status:ne.string().optional().describe("New status"),priority:ne.string().optional().describe("New priority"),due:ne.string().nullable().optional().describe("New due date (YYYY-MM-DD) or null to clear"),scheduled:ne.string().nullable().optional().describe("New scheduled date (YYYY-MM-DD) or null to clear"),tags:ne.array(ne.string()).optional().describe("New tags"),contexts:ne.array(ne.string()).optional().describe("New contexts"),projects:ne.array(ne.string()).optional().describe("New projects"),recurrence:ne.string().nullable().optional().describe("New recurrence rule or null to clear"),timeEstimate:ne.number().nullable().optional().describe("New time estimate in minutes or null to clear"),details:ne.string().optional().describe("New body/description")}},async({id:n,...i})=>{try{let s=await this.cacheManager.getTaskInfo(n);if(!s)return this.errorResult("Task not found");let a={};for(let[l,c]of Object.entries(i))c!==void 0&&(a[l]=c);let o=await this.taskService.updateTask(s,a);return this.jsonResult(o)}catch(s){return this.errorResult(this.getErrorMessage(s))}}),t("tasknotes_delete_task",{description:"Permanently delete a task file",inputSchema:{id:ne.string().describe("Task file path")}},async({id:n})=>{try{let i=await this.cacheManager.getTaskInfo(n);return i?(await this.taskService.deleteTask(i),this.jsonResult({deleted:!0,id:n})):this.errorResult("Task not found")}catch(i){return this.errorResult(this.getErrorMessage(i))}}),t("tasknotes_toggle_status",{description:"Toggle a task's status through the status cycle",inputSchema:{id:ne.string().describe("Task file path")}},async({id:n})=>{try{let i=await this.cacheManager.getTaskInfo(n);if(!i)return this.errorResult("Task not found");let s=await this.taskService.toggleStatus(i);return this.jsonResult(s)}catch(i){return this.errorResult(this.getErrorMessage(i))}}),t("tasknotes_toggle_archive",{description:"Toggle a task's archived state",inputSchema:{id:ne.string().describe("Task file path")}},async({id:n})=>{try{let i=await this.cacheManager.getTaskInfo(n);if(!i)return this.errorResult("Task not found");let s=await this.taskService.toggleArchive(i);return this.jsonResult(s)}catch(i){return this.errorResult(this.getErrorMessage(i))}}),t("tasknotes_complete_recurring_instance",{description:"Mark a recurring task as completed for a specific date",inputSchema:{id:ne.string().describe("Task file path"),date:ne.string().optional().describe("Date to mark complete (YYYY-MM-DD), defaults to today")}},async({id:n,date:i})=>{try{let s=await this.cacheManager.getTaskInfo(n);if(!s)return this.errorResult("Task not found");let a=i?new Date(i):void 0,o=await this.taskService.toggleRecurringTaskComplete(s,a);return this.jsonResult(o)}catch(s){return this.errorResult(this.getErrorMessage(s))}}),t("tasknotes_create_task_from_text",{description:"Create a task by parsing natural language text (e.g. 'Buy groceries tomorrow #shopping @home')",inputSchema:{text:ne.string().describe("Natural language task description")}},async({text:n})=>{try{let i=this.nlParser.parseInput(n),s=sy(this.plugin,i,{creationContext:"api"}),a=await this.taskService.createTask(s);return this.jsonResult({parsed:i,task:a.taskInfo})}catch(i){return this.errorResult(this.getErrorMessage(i))}})}registerFilterTools(e){let t=this.getToolRegistrar(e),n=ne.object({type:ne.literal("condition"),id:ne.string(),property:ne.string().describe("Filter property (e.g. 'status', 'priority', 'due', 'tags', 'projects', 'contexts')"),operator:ne.string().describe("Filter operator (e.g. 'is', 'is_not', 'contains', 'before', 'after', 'is_empty')"),value:ne.union([ne.string(),ne.array(ne.string()),ne.number(),ne.boolean(),ne.null()])}),i=ne.lazy(()=>ne.object({type:ne.literal("group"),id:ne.string(),conjunction:ne.enum(["and","or"]),children:ne.array(ne.union([n,i]))}));t("tasknotes_query_tasks",{description:"Query tasks using advanced filters with AND/OR logic, sorting, and grouping",inputSchema:{conjunction:ne.enum(["and","or"]).describe("How to combine filter conditions"),children:ne.array(ne.union([ne.object({type:ne.literal("condition"),id:ne.string(),property:ne.string(),operator:ne.string(),value:ne.union([ne.string(),ne.array(ne.string()),ne.number(),ne.boolean(),ne.null()])}),i])).describe("Filter conditions or nested groups"),sortKey:ne.string().optional().describe("Sort by field (e.g. 'due', 'priority', 'title', 'status')"),sortDirection:ne.enum(["asc","desc"]).optional().describe("Sort direction"),groupKey:ne.string().optional().describe("Group by field (e.g. 'priority', 'status', 'projects')")}},async s=>{try{let a={type:"group",id:"mcp-root",conjunction:s.conjunction,children:s.children,sortKey:s.sortKey,sortDirection:s.sortDirection,groupKey:s.groupKey},o=await this.filterService.getGroupedTasks(a),l={};for(let[c,d]of o)l[c]=d;return this.jsonResult(l)}catch(a){return this.errorResult(this.getErrorMessage(a))}}),t("tasknotes_get_filter_options",{description:"Get available filter options (statuses, priorities, tags, contexts, projects)",inputSchema:{}},async()=>{try{let s=await this.filterService.getFilterOptions();return this.jsonResult(s)}catch(s){return this.errorResult(this.getErrorMessage(s))}}),t("tasknotes_get_stats",{description:"Get task statistics (counts by status, priority, overdue, etc.)",inputSchema:{}},async()=>{try{let s=await this.cacheManager.getAllTasks(),a=this.taskStatsService.getStats(s);return this.jsonResult(a)}catch(s){return this.errorResult(this.getErrorMessage(s))}})}registerTimeTrackingTools(e){let t=this.getToolRegistrar(e);t("tasknotes_start_time_tracking",{description:"Start a time tracking session on a task",inputSchema:{id:ne.string().describe("Task file path"),description:ne.string().optional().describe("Description for the time session")}},async({id:n,description:i})=>{try{let s=await this.cacheManager.getTaskInfo(n);if(!s)return this.errorResult("Task not found");let a=await this.taskService.startTimeTracking(s);if(i&&a.timeEntries&&a.timeEntries.length>0){let o=a.timeEntries[a.timeEntries.length-1];o&&!o.endTime&&(o.description=i,a=await this.taskService.updateTask(a,{timeEntries:a.timeEntries}))}return this.jsonResult(a)}catch(s){return this.errorResult(this.getErrorMessage(s))}}),t("tasknotes_stop_time_tracking",{description:"Stop the active time tracking session on a task",inputSchema:{id:ne.string().describe("Task file path")}},async({id:n})=>{try{let i=await this.cacheManager.getTaskInfo(n);if(!i)return this.errorResult("Task not found");let s=await this.taskService.stopTimeTracking(i);return this.jsonResult(s)}catch(i){return this.errorResult(this.getErrorMessage(i))}}),t("tasknotes_get_active_time_sessions",{description:"Get all tasks with currently running time tracking sessions",inputSchema:{}},async()=>{try{let n=await this.cacheManager.getAllTasks(),i=Iv(n,s=>this.plugin.getActiveTimeSession(s));return this.jsonResult(i)}catch(n){return this.errorResult(this.getErrorMessage(n))}}),t("tasknotes_get_time_summary",{description:"Get time tracking summary for a period",inputSchema:{period:ne.enum(["today","week","month","all","custom"]).optional().describe("Time period (default: today)"),from:ne.string().optional().describe("Start date (ISO string) for custom range"),to:ne.string().optional().describe("End date (ISO string) for custom range")}},async({period:n,from:i,to:s})=>{try{let a=await this.cacheManager.getAllTasks(),o=n||"today",l=i?new Date(i):null,c=s?new Date(s):null,d=II(a,{period:o,fromDate:l,toDate:c,includeTags:!1},u=>this.statusManager.isCompletedStatus(u));return this.jsonResult(d)}catch(a){return this.errorResult(this.getErrorMessage(a))}}),t("tasknotes_get_task_time_data",{description:"Get detailed time tracking data for a specific task",inputSchema:{id:ne.string().describe("Task file path")}},async({id:n})=>{try{let i=await this.cacheManager.getTaskInfo(n);if(!i)return this.errorResult("Task not found");let s=Nv(i,a=>this.plugin.getActiveTimeSession(a));return this.jsonResult(s)}catch(i){return this.errorResult(this.getErrorMessage(i))}})}registerPomodoroTools(e){let t=this.getToolRegistrar(e);t("tasknotes_start_pomodoro",{description:"Start a pomodoro timer, optionally linked to a task",inputSchema:{taskId:ne.string().optional().describe("Task file path to associate with this pomodoro"),duration:ne.number().optional().describe("Duration in minutes (default: work duration from settings)")}},async({taskId:n,duration:i})=>{try{let s;if(n&&(s=await this.cacheManager.getTaskInfo(n),!s))return this.errorResult("Task not found");if(this.plugin.pomodoroService.getState().isRunning)return this.errorResult("Pomodoro session is already running. Stop or pause the current session first.");await this.plugin.pomodoroService.startPomodoro(s,i);let o=this.plugin.pomodoroService.getState();return this.jsonResult({session:o.currentSession,task:s||null,message:"Pomodoro session started"})}catch(s){return this.errorResult(this.getErrorMessage(s))}}),t("tasknotes_stop_pomodoro",{description:"Stop and reset the current pomodoro session",inputSchema:{}},async()=>{try{return this.plugin.pomodoroService.getState().currentSession?(await this.plugin.pomodoroService.stopPomodoro(),this.jsonResult({message:"Pomodoro session stopped and reset"})):this.errorResult("No active pomodoro session to stop")}catch(n){return this.errorResult(this.getErrorMessage(n))}}),t("tasknotes_pause_pomodoro",{description:"Pause the running pomodoro timer",inputSchema:{}},async()=>{try{let n=this.plugin.pomodoroService.getState();if(!n.isRunning||!n.currentSession)return this.errorResult("No running pomodoro session to pause");await this.plugin.pomodoroService.pausePomodoro();let i=this.plugin.pomodoroService.getState();return this.jsonResult({timeRemaining:i.timeRemaining,message:"Pomodoro session paused"})}catch(n){return this.errorResult(this.getErrorMessage(n))}}),t("tasknotes_resume_pomodoro",{description:"Resume a paused pomodoro timer",inputSchema:{}},async()=>{try{let n=this.plugin.pomodoroService.getState();if(n.isRunning)return this.errorResult("Pomodoro session is already running");if(!n.currentSession)return this.errorResult("No paused session to resume");await this.plugin.pomodoroService.resumePomodoro();let i=this.plugin.pomodoroService.getState();return this.jsonResult({timeRemaining:i.timeRemaining,message:"Pomodoro session resumed"})}catch(n){return this.errorResult(this.getErrorMessage(n))}}),t("tasknotes_get_pomodoro_status",{description:"Get the current pomodoro timer status including stats",inputSchema:{}},async()=>{try{let i={...this.plugin.pomodoroService.getState(),totalPomodoros:await this.plugin.pomodoroService.getPomodorosCompleted(),currentStreak:await this.plugin.pomodoroService.getCurrentStreak(),totalMinutesToday:await this.plugin.pomodoroService.getTotalMinutesToday()};return this.jsonResult(i)}catch(n){return this.errorResult(this.getErrorMessage(n))}})}registerCalendarTools(e){this.getToolRegistrar(e)("tasknotes_get_calendar_events",{description:"Get calendar events from all connected providers (Google, Microsoft, ICS subscriptions)",inputSchema:{start:ne.string().optional().describe("Start date filter (ISO string)"),end:ne.string().optional().describe("End date filter (ISO string)")}},async({start:n,end:i})=>{var s;try{let a=n?new Date(n):null,o=i?new Date(i):null,l=OI(this.plugin.calendarProviderRegistry,(s=this.plugin.icsSubscriptionService)!=null?s:null,{start:a,end:o});return this.jsonResult({events:l.events,total:l.total})}catch(a){return this.errorResult(this.getErrorMessage(a))}})}registerSystemTools(e){this.getToolRegistrar(e)("tasknotes_health_check",{description:"Check if the TaskNotes MCP server is running and return vault info",inputSchema:{}},async()=>{try{let n=this.plugin.app.vault.getName(),i=this.plugin.app.vault.adapter.basePath||"unknown";return this.jsonResult({status:"ok",vault:n,vaultPath:i,version:this.plugin.manifest.version,timestamp:new Date().toISOString()})}catch(n){return this.errorResult(this.getErrorMessage(n))}})}jsonResult(e){return{content:[{type:"text",text:JSON.stringify(e)}]}}errorResult(e){return{content:[{type:"text",text:JSON.stringify({error:e})}],isError:!0}}}});var EOe={};et(EOe,{HTTPAPIService:()=>U0});var U0,DOe=v(()=>{Ru();U$();Vj();Yd();bDe();TDe();kDe();wDe();SDe();EDe();CDe();xOe();A9();Xf();U0=class{constructor(e,t,n,i){this.plugin=e;let s=new Oi(e.settings.customStatuses,e.settings.customPriorities,e.settings.nlpDefaultToScheduled,e.settings.nlpLanguage,e.settings.nlpTriggers,e.settings.userFields),a=new uy(e.settings.customStatuses,e.settings.defaultTaskStatus),o=new Oy(i,a);this.webhookController=new Op(e),this.tasksController=new ps(e,t,n,i,o),this.timeTrackingController=new Sc(e,t,i,a),this.pomodoroController=new al(e,i),this.systemController=new Gd(e,t,s,this),this.calendarsController=new Kd(e,e.oauthService,e.icsSubscriptionService,e.calendarProviderRegistry),e.settings.enableMCP&&(this.mcpService=new yO(e,t,n,i,a,s,o)),this.router=new _I,this.setupRoutes()}setupRoutes(){this.router.registerController(this.tasksController),this.router.registerController(this.timeTrackingController),this.router.registerController(this.pomodoroController),this.router.registerController(this.systemController),this.router.registerController(this.webhookController),this.router.registerController(this.calendarsController)}generateOpenAPISpec(){let e=sE(this.systemController),t=[this.tasksController,this.timeTrackingController,this.pomodoroController,this.systemController,this.webhookController,this.calendarsController];e.paths={};for(let n of t){let i=sE(n);i.paths&&(e.paths={...e.paths,...i.paths})}return e.servers=[{url:`http://localhost:${this.plugin.settings.apiPort}`,description:"TaskNotes API Server"}],e}async handleCORSPreflight(e,t){t.statusCode=200,M9(t),t.end()}authenticate(e){let t=this.plugin.settings.apiAuthToken;if(!t)return!0;let n=e.headers.authorization,i=Array.isArray(n)?n[0]:n;return!i||!i.startsWith("Bearer ")?!1:i.substring(7)===t}sendResponse(e,t,n){MI(e,t,n)}successResponse(e,t){return{success:!0,data:e,message:t}}errorResponse(e){return{success:!1,error:e}}async handleRequest(e,t){try{if(e.method==="OPTIONS"){await this.handleCORSPreflight(e,t);return}let n=Ma(e).pathname;if(n==="/mcp"){if(!this.mcpService){this.sendResponse(t,404,this.errorResponse("MCP server is not enabled"));return}if(!this.authenticate(e)){this.sendResponse(t,401,this.errorResponse("Authentication required"));return}let s=await this.parseBody(e);await this.mcpService.handleRequest(e,t,s);return}if(n.startsWith("/api/")&&!this.authenticate(e)){this.sendResponse(t,401,this.errorResponse("Authentication required"));return}await this.router.route(e,t)||this.sendResponse(t,404,this.errorResponse("Not found"))}catch(n){console.error("API Error:",n),this.sendResponse(t,500,this.errorResponse("Internal server error"))}}async triggerWebhook(e,t){await this.webhookController.triggerWebhook(e,t)}syncWebhookSettings(){this.webhookController.syncFromSettings()}parseBody(e){return AI(e)}async start(){return new Promise((e,t)=>{try{let n=require("http");this.server=n.createServer((i,s)=>{this.handleRequest(i,s).catch(a=>{console.error("Request handling error:",a),this.sendResponse(s,500,this.errorResponse("Internal server error"))})}),this.server.listen(this.plugin.settings.apiPort,()=>{e()}),this.server.on("error",i=>{console.error("API server error:",i),t(i)})}catch(n){t(n instanceof Error?n:new Error(String(n)))}})}async stop(){return new Promise(e=>{this.server?this.server.close(()=>{e()}):e()})}isRunning(){var e;return((e=this.server)==null?void 0:e.listening)===!0}getPort(){return this.plugin.settings.apiPort}};U0=Ze([yDe],U0)});function zK(r,e){if(!r)return null;let t=r.match(/DTSTART:(\d{8})(T(\d{6})Z?)?;?/);if(!t)return null;let n=t[1],i=t[3],s=!!i,a=`${n.slice(0,4)}-${n.slice(4,6)}-${n.slice(6,8)}`,o=i?`${i.slice(0,2)}:${i.slice(2,4)}:${i.slice(4,6)}`:void 0,l=r.replace(/DTSTART:\d{8}(T\d{6}Z?)?;?/,"").trim();if(!l||!l.includes("FREQ="))return null;let c=[`RRULE:${l}`],d=Hkt([...(e==null?void 0:e.completedInstances)||[],...(e==null?void 0:e.skippedInstances)||[]]);return c.push(...d),{recurrence:c,dtstart:a,hasTime:s,time:o}}function Hkt(r){return!r||r.length===0?[]:r.filter(e=>e&&/^\d{4}-\d{2}-\d{2}$/.test(e)).map(e=>`EXDATE;VALUE=DATE:${e.replace(/-/g,"")}`)}var COe=v(()=>{});var POe={};et(POe,{TaskCalendarSyncService:()=>BK});function V0(r){return r!==null&&typeof r=="object"&&typeof r.status=="number"?r.status:void 0}function Ykt(r){return r instanceof Error?r.message:String(r)}var $c,Ukt,Vkt,Wkt,BK,_Oe=v(()=>{$c=require("obsidian");Tn();COe();uv();Ukt=500,Vkt=5,Wkt=100;BK=class{constructor(e,t){this.rateLimitChain=Promise.resolve();this.lastApiCallAt=0;this.pendingSyncs=new Map;this.inFlightSyncs=new Map;this.previousTaskState=new Map;this.pendingTasks=new Map;this.plugin=e,this.googleCalendarService=t}destroy(){for(let e of this.pendingSyncs.values())window.clearTimeout(e);this.pendingSyncs.clear(),this.previousTaskState.clear(),this.pendingTasks.clear()}async processInParallel(e,t){let n=[];for(let i of e){let s=t(i).then(()=>{n.splice(n.indexOf(s),1)});n.push(s),n.length>=Vkt&&await Promise.race(n)}await Promise.all(n)}withGoogleRateLimit(e){return new Promise((t,n)=>{this.rateLimitChain=this.rateLimitChain.then(async()=>{let i=Date.now(),s=Math.max(0,Wkt-(i-this.lastApiCallAt));s>0&&await new Promise(a=>window.setTimeout(a,s));try{let a=await e();this.lastApiCallAt=Date.now(),t(a)}catch(a){this.lastApiCallAt=Date.now(),n(a instanceof Error?a:new Error(String(a)))}},()=>{e().then(t,n)})})}isEnabled(){let e=this.plugin.settings.googleCalendarExport,t=e.enabled,n=!!e.targetCalendarId,i=this.googleCalendarService.getAvailableCalendars().length>0;return t&&n&&i}shouldSyncTask(e){if(!this.isEnabled())return!1;let t=this.plugin.settings.googleCalendarExport;if(e.archived)return!1;switch(t.syncTrigger){case"scheduled":return!!e.scheduled;case"due":return!!e.due;case"both":return!!e.scheduled||!!e.due;default:return!1}}getTaskEventId(e){return e.googleCalendarEventId}shouldSyncAsRecurring(e){return e.recurrence?(e.recurrence_anchor||"scheduled")==="scheduled":!1}async saveTaskEventId(e,t){let n=this.plugin.app.vault.getAbstractFileByPath(e);if(!(n instanceof $c.TFile)){console.warn(`Cannot save event ID: file not found at ${e}`);return}let i=this.plugin.fieldMapper.toUserField("googleCalendarEventId");await this.plugin.app.fileManager.processFrontMatter(n,s=>{s[i]=t})}async removeTaskEventId(e){let t=this.plugin.app.vault.getAbstractFileByPath(e);if(!(t instanceof $c.TFile)){console.warn(`Cannot remove event ID: file not found at ${e}`);return}let n=this.plugin.fieldMapper.toUserField("googleCalendarEventId");await this.plugin.app.fileManager.processFrontMatter(t,i=>{delete i[n]})}applyTitleTemplate(e){let t=this.plugin.settings.googleCalendarExport.eventTitleTemplate,n=e.status?this.plugin.statusManager.getStatusConfig(e.status):null,i=e.priority?this.plugin.priorityManager.getPriorityConfig(e.priority):null,s=this.plugin.i18n.translate("settings.integrations.googleCalendarExport.eventDescription.untitledTask");return t.replace(/\{\{title\}\}/g,e.title||s).replace(/\{\{status\}\}/g,(n==null?void 0:n.label)||e.status||"").replace(/\{\{priority\}\}/g,(i==null?void 0:i.label)||e.priority||"").replace(/\{\{due\}\}/g,e.due||"").replace(/\{\{scheduled\}\}/g,e.scheduled||"").trim()}buildEventDescription(e){let t=this.plugin.settings.googleCalendarExport,n=(s,a)=>this.plugin.i18n.translate(`settings.integrations.googleCalendarExport.eventDescription.${s}`,a),i=[];if(e.priority&&e.priority!=="none"){let s=this.plugin.priorityManager.getPriorityConfig(e.priority);i.push(n("priority",{value:(s==null?void 0:s.label)||e.priority}))}if(e.status){let s=this.plugin.statusManager.getStatusConfig(e.status);i.push(n("status",{value:(s==null?void 0:s.label)||e.status}))}if(e.due&&i.push(n("due",{value:e.due})),e.scheduled&&i.push(n("scheduled",{value:e.scheduled})),e.timeEstimate){let s=Math.floor(e.timeEstimate/60),a=e.timeEstimate%60,o=s>0?`${s}h ${a}m`:`${a}m`;i.push(n("timeEstimate",{value:o}))}if(e.tags&&e.tags.length>0&&i.push(n("tags",{value:e.tags.map(s=>`#${s}`).join(", ")})),e.contexts&&e.contexts.length>0&&i.push(n("contexts",{value:e.contexts.map(s=>`@${s}`).join(", ")})),e.projects&&e.projects.length>0&&i.push(n("projects",{value:e.projects.join(", ")})),i.length>0&&t.includeObsidianLink&&(i.push(""),i.push("---")),t.includeObsidianLink){let s=this.plugin.app.vault.getName(),a=encodeURIComponent(e.path),o=`obsidian://open?vault=${encodeURIComponent(s)}&file=${a}`,l=n("openInObsidian");i.push(`<a href="${o}">${l}</a>`)}return i.join(`
`)}getEventDate(e){switch(this.plugin.settings.googleCalendarExport.syncTrigger){case"scheduled":return e.scheduled;case"due":return e.due;case"both":return e.scheduled||e.due;default:return}}parseDateForEvent(e){if(e.includes("T")){let t=new Date(e);return{dateTime:P(t,"yyyy-MM-dd'T'HH:mm:ssxxx"),timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone,isAllDay:!1}}else return{date:e,isAllDay:!0}}getEventEnd(e,t){let n=this.plugin.settings.googleCalendarExport;if(e.isAllDay||n.createAsAllDay){if(e.date){let a=new Date(e.date+"T00:00:00"),o=new Date(a);return o.setDate(o.getDate()+1),{date:P(o,"yyyy-MM-dd")}}if(!e.dateTime)return{};let i=new Date(e.dateTime),s=new Date(i);return s.setDate(s.getDate()+1),{date:P(s,"yyyy-MM-dd")}}else{let i=t.timeEstimate||n.defaultEventDuration;if(!e.dateTime)return{};let s=new Date(e.dateTime),a=new Date(s.getTime()+i*60*1e3);return{dateTime:P(a,"yyyy-MM-dd'T'HH:mm:ssxxx"),timeZone:e.timeZone}}}parseISO8601Duration(e){let t=e.match(/^(-?)P(?:(\d+)Y)?(?:(\d+)M)?(?:(\d+)W)?(?:(\d+)D)?(?:T(?:(\d+)H)?(?:(\d+)M)?(?:(\d+)S)?)?$/);if(!t)return null;let[,n,i,s,a,o,l,c,d]=t,u=0;return i&&(u+=parseInt(i)*365*24*60*60*1e3),s&&(u+=parseInt(s)*30*24*60*60*1e3),a&&(u+=parseInt(a)*7*24*60*60*1e3),o&&(u+=parseInt(o)*24*60*60*1e3),l&&(u+=parseInt(l)*60*60*1e3),c&&(u+=parseInt(c)*60*1e3),d&&(u+=parseInt(d)*1e3),n==="-"?-u:u}convertTaskRemindersToGoogleFormat(e,t,n){if(!e.reminders||!Array.isArray(e.reminders)||e.reminders.length===0)return null;let i=[],s=40320,a;try{if(t.includes("T")?a=new Date(t).getTime():a=new Date(t+"T00:00:00").getTime(),isNaN(a))return console.warn("[TaskCalendarSync] Invalid event start time:",t),null}catch(o){return console.warn("[TaskCalendarSync] Error parsing event start time:",o),null}for(let o of e.reminders)if(o.type){if(o.type==="relative"){if(o.relatedTo!==n||!o.offset)continue;let l=this.parseISO8601Duration(o.offset);if(l===null){console.warn("[TaskCalendarSync] Invalid duration format:",o.offset);continue}let c=Math.abs(Math.round(l/(60*1e3)));if(l>0){console.warn("[TaskCalendarSync] Skipping reminder after event:",o);continue}let d=Math.min(c,s);d>=0&&i.push({method:"popup",minutes:d})}else if(o.type==="absolute"){if(!o.absoluteTime)continue;try{let l=new Date(o.absoluteTime).getTime();if(isNaN(l)){console.warn("[TaskCalendarSync] Invalid absolute time:",o.absoluteTime);continue}let c=a-l,d=Math.round(c/(60*1e3));if(d<0){console.warn("[TaskCalendarSync] Skipping absolute reminder after event:",o);continue}let u=Math.min(d,s);i.push({method:"popup",minutes:u})}catch(l){console.warn("[TaskCalendarSync] Error parsing absolute reminder time:",l);continue}}}return i.length>0?i:null}taskToCalendarEvent(e,t){let n=this.getEventDate(e);if(!n)return null;let i=this.plugin.settings.googleCalendarExport,s=this.parseDateForEvent(n),a;if(i.createAsAllDay&&!s.isAllDay){let p=new Date(n);a={date:P(p,"yyyy-MM-dd")}}else s.isAllDay?a={date:s.date}:a={dateTime:s.dateTime,timeZone:s.timeZone};let o={...s,isAllDay:i.createAsAllDay||s.isAllDay,date:a.date,dateTime:a.dateTime},l=this.getEventEnd(o,e),c={summary:this.applyTitleTemplate(e),start:a,end:l};i.includeDescription&&(c.description=this.buildEventDescription(e)),i.eventColorId&&(c.colorId=i.eventColorId);let d;i.syncTrigger==="scheduled"||i.syncTrigger==="both"&&e.scheduled?d="scheduled":d="due";let u=this.convertTaskRemindersToGoogleFormat(e,n,d);if(u&&u.length>0?c.reminders={useDefault:!1,overrides:u}:i.defaultReminderMinutes!==null&&i.defaultReminderMinutes>0&&(i.createAsAllDay||s.isAllDay?c.reminders={useDefault:!0}:c.reminders={useDefault:!1,overrides:[{method:"popup",minutes:i.defaultReminderMinutes}]}),this.shouldSyncAsRecurring(e)&&e.recurrence){let p=zK(e.recurrence,{completedInstances:e.complete_instances,skippedInstances:e.skipped_instances});if(p&&(c.recurrence=p.recurrence,p.dtstart)){if(i.createAsAllDay||!p.hasTime){c.start={date:p.dtstart};let m=new Date(p.dtstart+"T00:00:00");m.setDate(m.getDate()+1),c.end={date:P(m,"yyyy-MM-dd")}}else if(p.time){let m=`${p.dtstart}T${p.time}`,f=new Date(m);c.start={dateTime:P(f,"yyyy-MM-dd'T'HH:mm:ssxxx"),timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone};let h=e.timeEstimate||i.defaultEventDuration,g=new Date(f.getTime()+h*60*1e3);c.end={dateTime:P(g,"yyyy-MM-dd'T'HH:mm:ssxxx"),timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone}}}}else t&&(c.recurrence=[]);return c}async syncTaskToCalendar(e,t){if(!this.shouldSyncTask(e))return;let n=this.plugin.settings.googleCalendarExport,i=this.getTaskEventId(e);try{let s=!!(t!=null&&t.recurrence&&!e.recurrence),a=this.taskToCalendarEvent(e,s);if(!a){console.warn("[TaskCalendarSync] Could not convert task to event:",e.path);return}if(i)await this.withGoogleRateLimit(()=>this.googleCalendarService.updateEvent(n.targetCalendarId,i,a));else{let o=await this.withGoogleRateLimit(()=>this.googleCalendarService.createEvent(n.targetCalendarId,{...a,isAllDay:!!a.start.date})),l=`google-${n.targetCalendarId}-`,c=o.id.startsWith(l)?o.id.slice(l.length):o.id;await this.saveTaskEventId(e.path,c)}}catch(s){if(V0(s)===404&&i){await this.removeTaskEventId(e.path);let a=await this.plugin.cacheManager.getTaskInfo(e.path);if(a)return this.syncTaskToCalendar(a,t)}console.error("[TaskCalendarSync] Failed to sync task:",e.path,s),s instanceof zf?new $c.Notice(this.plugin.i18n.translate("settings.integrations.googleCalendarExport.notices.connectionExpired")):new $c.Notice(this.plugin.i18n.translate("settings.integrations.googleCalendarExport.notices.syncFailed",{message:Ykt(s)}))}}async updateTaskInCalendar(e,t){if(!this.plugin.settings.googleCalendarExport.syncOnTaskUpdate)return;let n=e.path;t&&this.previousTaskState.set(n,t);let i=this.pendingSyncs.get(n);return i&&window.clearTimeout(i),this.pendingTasks.set(n,e),new Promise((s,a)=>{let o=window.setTimeout(()=>{(async()=>{this.pendingSyncs.delete(n);let l=this.inFlightSyncs.get(n);l&&await l.catch(()=>{});let c=this.pendingTasks.get(n);this.pendingTasks.delete(n);let d=c||await this.plugin.cacheManager.getTaskInfo(n);if(!d){s();return}let u=this.executeTaskUpdate(d);this.inFlightSyncs.set(n,u);try{await u,s()}catch(p){a(p instanceof Error?p:new Error(String(p)))}finally{this.inFlightSyncs.delete(n)}})()},Ukt);this.pendingSyncs.set(n,o)})}async executeTaskUpdate(e){let t=this.getTaskEventId(e);if(!this.shouldSyncTask(e)){if(t&&!await this.deleteTaskFromCalendar(e))throw new Error(`Failed to delete task from Google Calendar: ${e.path}`);this.previousTaskState.delete(e.path);return}let n=this.previousTaskState.get(e.path);await this.syncTaskToCalendar(e,n),this.previousTaskState.set(e.path,e)}async completeTaskInCalendar(e){if(!this.plugin.settings.googleCalendarExport.syncOnTaskComplete)return;let t=this.plugin.settings.googleCalendarExport,n=this.getTaskEventId(e);if(n){if(this.shouldSyncAsRecurring(e)){await this.updateRecurringEventExdates(e);return}try{let i=`\u2713 ${this.applyTitleTemplate(e)}`,s=t.includeDescription?this.buildEventDescription(e):void 0;await this.withGoogleRateLimit(()=>this.googleCalendarService.updateEvent(t.targetCalendarId,n,{summary:i,description:s}))}catch(i){if(V0(i)===404){await this.removeTaskEventId(e.path);return}console.error("[TaskCalendarSync] Failed to update completed task:",e.path,i)}}}async updateRecurringEventExdates(e){if(!this.shouldSyncAsRecurring(e)||!e.recurrence)return;let t=this.plugin.settings.googleCalendarExport,n=this.getTaskEventId(e);if(n)try{let i=zK(e.recurrence,{completedInstances:e.complete_instances,skippedInstances:e.skipped_instances});i&&await this.withGoogleRateLimit(()=>this.googleCalendarService.updateEvent(t.targetCalendarId,n,{recurrence:i.recurrence}))}catch(i){if(V0(i)===404){await this.removeTaskEventId(e.path);return}console.error("[TaskCalendarSync] Failed to update recurring event EXDATEs:",e.path,i),await this.syncTaskToCalendar(e)}}async deleteTaskFromCalendar(e){if(!this.plugin.settings.googleCalendarExport.syncOnTaskDelete)return!0;let t=this.plugin.settings.googleCalendarExport,n=this.getTaskEventId(e);if(!n)return!0;let i=!1;try{await this.withGoogleRateLimit(()=>this.googleCalendarService.deleteEvent(t.targetCalendarId,n))}catch(s){let a=V0(s);a!==404&&a!==410&&(i=!0,console.error("[TaskCalendarSync] Failed to delete event:",e.path,s))}return i?!1:(await this.removeTaskEventId(e.path),!0)}async deleteTaskFromCalendarByPath(e,t){if(!this.plugin.settings.googleCalendarExport.syncOnTaskDelete)return;let n=this.plugin.settings.googleCalendarExport;try{await this.withGoogleRateLimit(()=>this.googleCalendarService.deleteEvent(n.targetCalendarId,t))}catch(i){let s=V0(i);s!==404&&s!==410&&console.error("[TaskCalendarSync] Failed to delete event:",e,i)}}async syncAllTasks(){let e={synced:0,failed:0,skipped:0};if(!this.isEnabled())return new $c.Notice(this.plugin.i18n.translate("settings.integrations.googleCalendarExport.notices.notEnabledOrConfigured")),e;let t=await this.plugin.cacheManager.getAllTasks(),n=t.filter(s=>this.shouldSyncTask(s)?!0:(e.skipped++,!1)),i=t.length;return new $c.Notice(this.plugin.i18n.translate("settings.integrations.googleCalendarExport.notices.syncingTasks",{total:i})),await this.processInParallel(n,async s=>{try{await this.syncTaskToCalendar(s),e.synced++}catch(a){e.failed++,console.error(`[TaskCalendarSync] Failed to sync task ${s.path}:`,a)}}),new $c.Notice(this.plugin.i18n.translate("settings.integrations.googleCalendarExport.notices.syncComplete",{synced:e.synced,failed:e.failed,skipped:e.skipped})),e}async unlinkAllTasks(e=!1){let t=this.plugin.settings.googleCalendarExport,n=await this.plugin.cacheManager.getAllTasks(),i=0;for(let s of n){if(!s.googleCalendarEventId)continue;let a=s.googleCalendarEventId;if(e)try{await this.withGoogleRateLimit(()=>this.googleCalendarService.deleteEvent(t.targetCalendarId,a))}catch(o){console.warn(`[TaskCalendarSync] Failed to delete event for ${s.path}:`,o)}await this.removeTaskEventId(s.path),i++}new $c.Notice(e?this.plugin.i18n.translate("settings.integrations.googleCalendarExport.notices.eventsDeletedAndUnlinked",{count:i}):this.plugin.i18n.translate("settings.integrations.googleCalendarExport.notices.tasksUnlinked",{count:i}))}}});var bs,qK=v(()=>{Qe();bs=class{static parseTaskLine(e){if(typeof e!="string")return{isTaskLine:!1,originalText:"",error:"Invalid input: line must be a string"};if(e.length>2e3)return{isTaskLine:!1,originalText:e,error:"Line too long to process safely"};let n=e.trim().match(this.CHECKBOX_PATTERN);if(!n)return{isTaskLine:!1,originalText:e};try{let[,,i,,s]=n;if(typeof i!="string"||typeof s!="string")return{isTaskLine:!0,originalText:e,error:"Invalid checkbox format"};let a=i.toLowerCase()==="x",o=this.parseTaskContent(s,a);return!o||!o.title||o.title.trim().length===0?{isTaskLine:!0,originalText:e,error:"Task must have a title"}:{isTaskLine:!0,originalText:e,parsedData:o}}catch(i){return{isTaskLine:!0,originalText:e,error:`Failed to parse task: ${i instanceof Error?i.message:"Unknown error"}`}}}static parseTaskContent(e,t){if(typeof e!="string")throw new Error("Content must be a string");if(e.length>1e3)throw new Error("Content too long to process safely");let n=e;try{let i=this.extractDate(n,this.EMOJI_PATTERNS.DUE_DATE),s=this.extractDate(n,this.EMOJI_PATTERNS.SCHEDULED_DATE),a=this.extractDate(n,this.EMOJI_PATTERNS.START_DATE),o=this.extractDate(n,this.EMOJI_PATTERNS.CREATED_DATE),l=this.extractDate(n,this.EMOJI_PATTERNS.DONE_DATE),c=this.extractPriority(n),{recurrence:d,recurrenceData:u}=this.extractRecurrence(n),p=this.extractTags(n),m=this.extractCleanTitle(n);if(!m||m.trim().length===0)throw new Error("Title cannot be empty after parsing");let f;if(t||l)f="done";else if(a)try{!EL(a)&&!iT(a)?f="scheduled":f="open"}catch(h){}return{title:m.trim(),status:f,priority:c,dueDate:i,scheduledDate:s,startDate:a,createdDate:o,doneDate:l,recurrence:d,recurrenceData:u,tags:p.length>0?p:void 0,projects:void 0,isCompleted:t}}catch(i){throw new Error(`Failed to parse task content: ${i instanceof Error?i.message:"Unknown error"}`)}}static extractDate(e,t){if(!(typeof e!="string"||!t))try{let i=new RegExp(t.source,"g").exec(e);if(i&&i[1]){let s=i[1].trim();if(!/^\d{4}-\d{2}-\d{2}$/.test(s))return;try{let a=st(s);if(isNaN(a.getTime()))return;let o=a.getUTCFullYear();return o<1900||o>2100?void 0:ue(a)}catch(a){return}}}catch(n){console.debug("Error extracting date:",n)}}static extractPriority(e){if(new RegExp(this.EMOJI_PATTERNS.HIGH_PRIORITY.source).test(e))return"high";if(new RegExp(this.EMOJI_PATTERNS.MEDIUM_PRIORITY.source).test(e))return"medium";if(new RegExp(this.EMOJI_PATTERNS.LOW_PRIORITY.source).test(e))return"low"}static extractRecurrence(e){let n=new RegExp(this.EMOJI_PATTERNS.RECURRENCE.source,"g").exec(e);if(!n||!n[1])return{};let i=n[1].trim();if(i.includes("every day"))return{recurrence:"daily",recurrenceData:{frequency:"daily"}};if(i.includes("every week"))return{recurrence:"weekly",recurrenceData:{frequency:"weekly"}};if(i.includes("every month"))return{recurrence:"monthly",recurrenceData:{frequency:"monthly"}};if(i.includes("every year"))return{recurrence:"yearly",recurrenceData:{frequency:"yearly"}};let s=i.match(/every\s+(monday|tuesday|wednesday|thursday|friday|saturday|sunday)/i);return s?{recurrence:"weekly",recurrenceData:{frequency:"weekly",days_of_week:[s[1].toLowerCase().substring(0,3)]}}:{recurrence:"custom",recurrenceData:{frequency:"custom",raw:i}}}static extractTags(e){if(typeof e!="string")return[];try{let t=new RegExp(this.TAG_PATTERN.source,"g"),n=[],i;for(;(i=t.exec(e))!==null;)if(i[0]){let s=i[0].substring(1);s&&!n.includes(s)&&n.push(s)}return n}catch(t){return console.debug("Error extracting tags:",t),[]}}static extractCleanTitle(e){if(typeof e!="string")return"";try{let t=e;Object.values(this.EMOJI_PATTERNS).forEach(i=>{try{let s=new RegExp(i.source,"g");t=t.replace(s,"")}catch(s){console.debug("Error applying emoji pattern:",s)}});try{let i=new RegExp(this.TAG_PATTERN.source,"g");t=t.replace(i,"")}catch(i){console.debug("Error removing tags from title:",i)}let n=t.replace(/\s+/g," ").trim();return n.length===0?"Untitled Task":n}catch(t){return console.debug("Error extracting clean title:",t),"Untitled Task"}}static isTasksPluginFormat(e){if(typeof e!="string"||e.length>1e3)return!1;try{let t=e.trim();return this.CHECKBOX_PATTERN.test(t)?Object.values(this.EMOJI_PATTERNS).some(s=>{try{return new RegExp(s.source).test(t)}catch(a){return!1}}):!1}catch(t){return console.debug("Error validating Tasks plugin format:",t),!1}}static getSummary(e){let t=[];return t.push(`Title: "${e.title}"`),t.push(`Status: ${e.status}`),t.push(`Priority: ${e.priority}`),e.dueDate&&t.push(`Due: ${e.dueDate}`),e.startDate&&t.push(`Start: ${e.startDate}`),e.scheduledDate&&t.push(`Scheduled: ${e.scheduledDate}`),e.createdDate&&t.push(`Created: ${e.createdDate}`),e.doneDate&&t.push(`Done: ${e.doneDate}`),e.recurrence&&t.push(`Recurrence: ${e.recurrence}`),e.tags&&e.tags.length>0&&t.push(`Tags: ${e.tags.map(n=>"#"+n).join(", ")}`),e.projects&&e.projects.length>0&&t.push(`Projects: ${e.projects.map(n=>n.includes(" ")?`+[[${n}]]`:`+${n}`).join(", ")}`),t.join(" | ")}};bs.EMOJI_PATTERNS={DUE_DATE:/📅\s*(\d{4}-\d{2}-\d{2})/g,SCHEDULED_DATE:/⏳\s*(\d{4}-\d{2}-\d{2})/g,START_DATE:/🛫\s*(\d{4}-\d{2}-\d{2})/g,CREATED_DATE:/\s*(\d{4}-\d{2}-\d{2})/g,DONE_DATE:/✅\s*(\d{4}-\d{2}-\d{2})/g,HIGH_PRIORITY:/⏫/g,MEDIUM_PRIORITY:/🔼/g,LOW_PRIORITY:/⏬/g,RECURRENCE:/🔁\s*([^📅⏳🛫➕✅⏫🔼⏬🔁#]+?)(?=\s*[📅⏳🛫➕✅⏫🔼⏬🔁#]|$)/gu},bs.TAG_PATTERN=/#[\w/-]+/g,bs.CHECKBOX_PATTERN=/^(\s*(?:[-*+]|\d+\.)\s+\[)([ xX])(\]\s+)(.*)/});var MOe={};et(MOe,{InstantTaskConvertService:()=>HK});var Ts,HK,AOe=v(()=>{Ts=require("obsidian");qK();Ru();Qe();Cr();_M();gu();HK=class{translate(e,t){return this.plugin.i18n.translate(e,t)}constructor(e,t,n){this.plugin=e,this.statusManager=t,this.priorityManager=n,this.nlParser=new Oi(e.settings.customStatuses,e.settings.customPriorities,e.settings.nlpDefaultToScheduled,e.settings.nlpLanguage,e.settings.nlpTriggers,e.settings.userFields)}async batchConvertAllTasks(e){try{let t=this.findAllCheckboxTasks(e);if(t.length===0){new Ts.Notice(this.translate("services.instantTaskConvert.notices.noCheckboxTasks"));return}let n=t.length===1?"":"s";new Ts.Notice(this.translate("services.instantTaskConvert.notices.convertingTasks",{count:t.length,plural:n}));let i=await this.batchConvertTasksOptimized(e,t);if(i.failures.length===0){let s=i.successCount===1?"":"s";new Ts.Notice(this.translate("services.instantTaskConvert.notices.conversionSuccess",{count:i.successCount,plural:s}))}else{let s=i.successCount===1?"":"s";new Ts.Notice(this.translate("services.instantTaskConvert.notices.partialConversion",{successCount:i.successCount,successPlural:s,failureCount:i.failures.length})),console.warn("Batch conversion failures:",i.failures)}}catch(t){console.error("Error during batch task conversion:",t),new Ts.Notice(this.translate("services.instantTaskConvert.notices.batchConversionFailed"))}}async batchConvertTasksOptimized(e,t){let n=[],i=[],s=t.map(async o=>{try{let l=await this.parseTaskForBatch(o.line);if(!l)throw new Error("Failed to parse task");let c=await this.createTaskFile(l),d=this.generateLinkText(o.line,c);return{lineNumber:o.lineNumber,line:o.line,file:c,linkText:d}}catch(l){return n.push({lineNumber:o.lineNumber+1,error:l instanceof Error?l.message:String(l)}),null}}),a=await Promise.all(s);for(let o of a)o&&i.push(o);return i.length>0&&this.replaceAllTaskLines(e,i),{successCount:i.length,failures:n}}async instantConvertTask(e,t){var n,i,s,a;try{if(!this.validateInputParameters(e,t).isValid){new Ts.Notice(this.translate("services.instantTaskConvert.notices.invalidParameters"));return}let l=this.extractSelectionInfo(e,t),c=l.taskLine,d=l.details,u,p=bs.parseTaskLine(c);if(p.isTaskLine){if(p.error||!p.parsedData){new Ts.Notice(this.translate("services.instantTaskConvert.notices.parseError",{error:p.error||"No data extracted"}));return}if(this.plugin.settings.enableNaturalLanguageInput){let k=p.parsedData.title,T=d!=null&&d.trim()?`${k}
${d}`:k,w=this.nlParser.parseInput(T),S={title:((n=w.title)==null?void 0:n.trim())||k,isCompleted:w.isCompleted||!1,status:w.status,priority:w.priority,dueDate:w.dueDate,scheduledDate:w.scheduledDate,dueTime:w.dueTime,scheduledTime:w.scheduledTime,recurrence:w.recurrence,timeEstimate:w.estimate,tags:((i=w.tags)==null?void 0:i.length)>0?w.tags:void 0,projects:((s=w.projects)==null?void 0:s.length)>0?w.projects:void 0,contexts:((a=w.contexts)==null?void 0:a.length)>0?w.contexts:void 0,userFields:w.userFields};u=this.mergeParseResults(p.parsedData,S)}else u=p.parsedData}else{let k=this.extractLineContentAsTitle(c);if(!k.trim()){new Ts.Notice(this.translate("services.instantTaskConvert.notices.emptyLine"));return}if(this.plugin.settings.enableNaturalLanguageInput){let T=this.tryNLPFallback(k,d||"");T?u=T:u={title:k,isCompleted:!1}}else u={title:k,isCompleted:!1}}if(!this.validateTaskData(u).isValid){new Ts.Notice(this.translate("services.instantTaskConvert.notices.invalidTaskData"));return}let f=await this.createTaskFile(u,d);if(!(await this.replaceOriginalTaskLines(e,l,f,u.title)).success){new Ts.Notice(this.translate("services.instantTaskConvert.notices.replaceLineFailed"));try{await this.plugin.app.fileManager.trashFile(f)}catch(k){console.warn("Failed to clean up created file after replacement failure:",k)}return}let g=this.sanitizeTitle(u.title),y=f.basename;y.startsWith("task-")&&y!==g?new Ts.Notice(this.translate("services.instantTaskConvert.notices.conversionCompleteShortened",{title:u.title})):new Ts.Notice(this.translate("services.instantTaskConvert.notices.conversionComplete",{title:u.title})),await this.refreshTaskLinkOverlays(e,f)}catch(o){console.error("Error during instant task conversion:",o),o.message.includes("file already exists")?new Ts.Notice(this.translate("services.instantTaskConvert.notices.fileExists")):new Ts.Notice(this.translate("services.instantTaskConvert.notices.conversionFailed"))}}extractSelectionInfo(e,t){let n=e.getSelection();if(n&&n.trim()){let s=e.listSelections()[0],a=Math.min(s.anchor.line,s.head.line),o=Math.max(s.anchor.line,s.head.line);if(t>=a&&t<=o){let l=[];for(let p=a;p<=o;p++)l.push(e.getLine(p));let c=l[0],u=l.slice(1).join(`
`).trimEnd();return{taskLine:c,details:u,startLine:a,endLine:o,originalContent:l}}}let i=e.getLine(t);return{taskLine:i,details:"",startLine:t,endLine:t,originalContent:[i]}}validateInputParameters(e,t){if(!e)return{isValid:!1,error:"Editor is not available."};let n=e.lineCount();if(t<0||t>=n)return{isValid:!1,error:`Line number ${t} is out of bounds (0-${n-1}).`};let i=e.getLine(t);return i==null?{isValid:!1,error:`Cannot read line ${t}.`}:{isValid:!0}}validateTaskData(e){if(!e.title||e.title.trim().length===0)return{isValid:!1,error:"Task title cannot be empty."};let t=["dueDate","scheduledDate","startDate","createdDate","doneDate"];for(let n of t){let i=e[n];if(i&&!this.isValidDateFormat(i))return{isValid:!1,error:`Invalid date format in ${n}: ${i}`}}return{isValid:!0}}isValidDateFormat(e){if(!/^\d{4}-\d{2}-\d{2}$/.test(e))return!1;try{let n=st(e);return ue(n)===e}catch(n){return!1}}async createTaskFile(e,t=""){var I,O,z,B;let n=((I=e.title)==null?void 0:I.trim())||"",i=this.sanitizeTitle(n)||"Untitled Task",s=t;if(n.length>200){let W=this.extractOverflowText(n,200);W&&(s=W+(t?`
`+t:""))}let a=this.plugin.app.workspace.getActiveFile(),o=a?this.plugin.app.fileManager.generateMarkdownLink(a,a.path):"",l=this.sanitizeDate(e.dueDate),c=this.sanitizeDate(e.scheduledDate),d=((O=e.dueTime)==null?void 0:O.trim())||void 0,u=((z=e.scheduledTime)==null?void 0:z.trim())||void 0,p,m,f,h,g=[],y=this.plugin.settings.taskIdentificationMethod==="tag"?[this.plugin.settings.taskTag]:[],k,T,w=e.tags||[],S=e.contexts||[],E=e.projects||[];if(this.plugin.settings.useDefaultsOnInstantConvert){let W=this.plugin.settings.taskCreationDefaults;if(p=(e.priority?this.sanitizePriority(e.priority):"")||this.plugin.settings.defaultTaskPriority,m=(e.status?this.sanitizeStatus(e.status):"")||this.plugin.settings.defaultTaskStatus,l?f=d?ts(l,d):l:W.defaultDueDate!=="none"&&(f=qo(W.defaultDueDate)),c?h=u?ts(c,u):c:W.defaultScheduledDate!=="none"&&(h=qo(W.defaultScheduledDate)),g=[],S.length>0&&g.push(...S),W.defaultContexts){let Y=W.defaultContexts.split(",").map(ee=>ee.trim()).filter(ee=>ee);g.push(...Y)}if(g=[...new Set(g)],y=this.plugin.settings.taskIdentificationMethod==="tag"?[this.plugin.settings.taskTag]:[],w.length>0&&y.push(...w),W.defaultTags){let Y=W.defaultTags.split(",").map(ee=>ee.trim()).filter(ee=>ee);y.push(...Y)}y=[...new Set(y)],e.timeEstimate!==void 0&&e.timeEstimate>0?k=e.timeEstimate:W.defaultTimeEstimate&&W.defaultTimeEstimate>0&&(k=W.defaultTimeEstimate),e.recurrence?T=e.recurrence:W.defaultRecurrence&&W.defaultRecurrence!=="none"&&(T={daily:"FREQ=DAILY",weekly:"FREQ=WEEKLY",monthly:"FREQ=MONTHLY",yearly:"FREQ=YEARLY"}[W.defaultRecurrence]||void 0)}else p=(e.priority?this.sanitizePriority(e.priority):"")||"none",m=(e.status?this.sanitizeStatus(e.status):"")||"none",f=l?d?ts(l,d):l:void 0,h=c?u?ts(c,u):c:void 0,g=[],S.length>0&&g.push(...S),y=this.plugin.settings.taskIdentificationMethod==="tag"?[this.plugin.settings.taskTag]:[],w.length>0&&y.push(...w),y=[...new Set(y)],k=e.timeEstimate,e.recurrence&&(T=e.recurrence);let C=[];if(this.plugin.settings.useDefaultsOnInstantConvert){let W=this.plugin.settings.taskCreationDefaults;if(W.defaultProjects){let Y=sa(W.defaultProjects);C.push(...Y)}W.useParentNoteAsProject&&a&&C.push(o)}E.length>0&&C.push(...E);let D=[...new Set(C)],A;if(this.plugin.settings.useDefaultsOnInstantConvert){let W=this.plugin.settings.taskCreationDefaults;if(W.defaultReminders&&W.defaultReminders.length>0){let{convertDefaultRemindersToReminders:Y}=await Promise.resolve().then(()=>(lP(),oP));A=Y(W.defaultReminders)}}let N={};if(e.userFields)for(let[W,Y]of Object.entries(e.userFields)){let ee=(B=this.plugin.settings.userFields)==null?void 0:B.find(ae=>ae.id===W);ee?Array.isArray(Y)?N[ee.key]=Y.join(", "):N[ee.key]=Y:console.warn(`[InstantTaskConvert] No user field definition found for field ID: ${W}`)}let V={title:i,status:m,priority:p,due:f,scheduled:h,contexts:g.length>0?g:void 0,projects:D.length>0?D:void 0,tags:y,timeEstimate:k,recurrence:T,reminders:A,details:s,parentNote:o,creationContext:"inline-conversion",dateCreated:Ve(),dateModified:Ve(),customFrontmatter:Object.keys(N).length>0?N:void 0},{file:R}=await this.plugin.taskService.createTask(V);return R}sanitizeTitle(e){return e?e.trim().substring(0,200):""}extractOverflowText(e,t){if(!e||e.length<=t)return"";let n=e.lastIndexOf(" ",t);return n>0&&n>t-50?e.substring(n).trim():e.substring(t).trim()}sanitizePriority(e){return this.priorityManager.getAllPriorities().map(n=>n.value).filter(n=>n!=null).includes(e)?e:""}sanitizeStatus(e){return this.statusManager.getAllStatuses().map(n=>n.value).filter(n=>n!=null).includes(e)?e:""}sanitizeDate(e){return!e||!this.isValidDateFormat(e)?"":e}async replaceOriginalTaskLines(e,t,n,i){var s;try{if(!e||!n)return{success:!1,error:"Invalid editor or file reference."};let{startLine:a,endLine:o,originalContent:l}=t,c=e.lineCount();if(a<0||o>=c)return{success:!1,error:`Line range ${a}-${o} is no longer valid (current line count: ${c}).`};for(let w=0;w<l.length;w++)if(e.getLine(a+w)!==l[w])return{success:!1,error:"Content has changed since parsing. Please try again."};let d=bs.parseTaskLine(l[0]),u=d.isTaskLine;if(u&&!d.isTaskLine)return{success:!1,error:"First line is no longer a valid task."};if(!u&&!this.extractLineContentAsTitle(l[0]).trim())return{success:!1,error:"First line no longer contains valid content."};let p=((s=l[0].match(/^(\s*)/))==null?void 0:s[1])||"",m="";if(u){let w=l[0].match(/^\s*((?:[-*+]|\d+\.)\s+)\[/);m=(w==null?void 0:w[1])||"- "}else{let w=l[0].match(/^\s*([-*+]\s+)/),S=l[0].match(/^\s*(\d+\.\s+)/),E=l[0].match(/^\s*(>\s*)/);w?m=w[1]:S?m=S[1]:E?m=E[1]:m="- "}let f=this.plugin.app.workspace.getActiveFile(),h=(f==null?void 0:f.path)||"",g=this.plugin.app.fileManager.generateMarkdownLink(n,h),y=`${p}${m}${g}`;if(y.length>500)return{success:!1,error:"Generated link text is too long."};let k={line:a,ch:0},T={line:o,ch:e.getLine(o).length};return e.replaceRange(y,k,T),{success:!0}}catch(a){return console.error("Error replacing task lines:",a),{success:!1,error:`Failed to replace lines: ${a.message}`}}}async refreshTaskLinkOverlays(e,t){try{await this.forceMetadataCacheUpdate(t),window.setTimeout(()=>{try{let n=e.cm;if(n){let i=e.getCursor();mp(n,t.path),window.setTimeout(()=>{try{e.setCursor(i)}catch(s){console.debug("Error restoring cursor position:",s)}},10)}}catch(n){console.debug("Error dispatching task update for overlays:",n)}},100)}catch(n){console.debug("Error refreshing task link overlays:",n)}}async forceMetadataCacheUpdate(e){try{await this.plugin.app.vault.cachedRead(e),this.plugin.app.metadataCache.getFileCache(e)===null&&window.setTimeout(()=>{(async()=>{try{await this.plugin.app.vault.cachedRead(e)}catch(t){console.debug("Error in delayed cache update:",t)}})()},10)}catch(t){console.debug("Error forcing metadata cache update:",t)}}mergeParseResults(e,t){var s;if(!t)return e;let n=(a,o)=>{let l=[...a||[],...o||[]],c=[...new Set(l)];return c.length>0?c:void 0},i=(a,o)=>{if(!a&&!o)return;let l={...o||{},...a||{}};return Object.keys(l).length>0?l:void 0};return{title:((s=t.title)==null?void 0:s.trim())||e.title,dueDate:e.dueDate||t.dueDate,scheduledDate:e.scheduledDate||t.scheduledDate,dueTime:e.dueTime||t.dueTime,scheduledTime:e.scheduledTime||t.scheduledTime,startDate:e.startDate,createdDate:e.createdDate,doneDate:e.doneDate,priority:e.priority||t.priority,status:e.status||t.status,recurrence:e.recurrence||t.recurrence,recurrenceData:e.recurrenceData,timeEstimate:e.timeEstimate||t.timeEstimate,tags:n(e.tags,t.tags),contexts:n(e.contexts,t.contexts),projects:n(e.projects,t.projects?this.resolveProjectLinks(t.projects):void 0),userFields:i(e.userFields,t.userFields),isCompleted:e.isCompleted}}tryNLPFallback(e,t){var n;try{let i=this.extractTaskContent(e);if(!i.trim())return null;let s=t.trim().length>0?`${i}
${t}`:i,a=this.nlParser.parseInput(s);return(n=a.title)!=null&&n.trim()?{title:a.title.trim(),isCompleted:a.isCompleted||!1,status:a.status,priority:a.priority,dueDate:a.dueDate,scheduledDate:a.scheduledDate,dueTime:a.dueTime,scheduledTime:a.scheduledTime,recurrence:a.recurrence,timeEstimate:a.estimate,tags:a.tags&&a.tags.length>0?a.tags:void 0,projects:a.projects&&a.projects.length>0?this.resolveProjectLinks(a.projects):void 0,contexts:a.contexts&&a.contexts.length>0?a.contexts:void 0,userFields:a.userFields,startDate:void 0,createdDate:void 0,doneDate:void 0,recurrenceData:void 0}:null}catch(i){return console.debug("NLP fallback parsing failed:",i),null}}resolveProjectLinks(e){var t,n,i;try{if(!((n=(t=this.plugin.app)==null?void 0:t.workspace)!=null&&n.getActiveFile)||!((i=this.plugin.app)!=null&&i.metadataCache))return e;let s=this.plugin.app.workspace.getActiveFile(),a=(s==null?void 0:s.path)||"";return e.map(o=>{let l=o.match(/^\[\[([^\]]+)\]\]$/);if(l){let c=l[1],d=c;c.includes("|")&&(d=c.split("|")[0]);try{let u=this.plugin.app.metadataCache.getFirstLinkpathDest(d,a);if(u)return`[[${this.plugin.app.metadataCache.fileToLinktext(u,a,!0)}]]`}catch(u){console.debug("Error resolving project link:",u)}return o}return o})}catch(s){return console.debug("Error in resolveProjectLinks:",s),e}}extractTaskContent(e){return e.replace(/^\s*(?:[-*+]|\d+\.)\s*\[[ xX]\]\s*/,"").trim()}extractLineContentAsTitle(e){let t=e.trim();for(t=t.replace(/^\s*[-*+]\s+/,""),t=t.replace(/^\s*\d+\.\s+/,"");t.match(/^\s*>\s*/);)t=t.replace(/^\s*>\s*/,"");return t=t.replace(/^\s*#+\s+/,""),t.match(/^\s*(-{3,}|={3,})\s*$/)?"":t.trim()}findAllCheckboxTasks(e){let t=[],n=e.lineCount();for(let i=0;i<n;i++){let s=e.getLine(i);if(bs.parseTaskLine(s).isTaskLine){t.push({lineNumber:i,line:s});continue}if(s.trim().includes("[ ]")||s.trim().includes("[x]")||s.trim().includes("[X]")){let o=s.trim();for(;o.match(/^\s*>\s*/);)o=o.replace(/^\s*>\s*/,"");bs.parseTaskLine(o).isTaskLine&&t.push({lineNumber:i,line:s})}}return t}async parseTaskForBatch(e){var t,n,i,s;try{let a=bs.parseTaskLine(e);if(a.isTaskLine){if(a.error||!a.parsedData)return null;if(this.plugin.settings.enableNaturalLanguageInput){let o=a.parsedData.title,l=this.nlParser.parseInput(o),c={title:((t=l.title)==null?void 0:t.trim())||o,isCompleted:l.isCompleted||!1,status:l.status,priority:l.priority,dueDate:l.dueDate,scheduledDate:l.scheduledDate,dueTime:l.dueTime,scheduledTime:l.scheduledTime,recurrence:l.recurrence,timeEstimate:l.estimate,tags:((n=l.tags)==null?void 0:n.length)>0?l.tags:void 0,projects:((i=l.projects)==null?void 0:i.length)>0?l.projects:void 0,contexts:((s=l.contexts)==null?void 0:s.length)>0?l.contexts:void 0,userFields:l.userFields};return this.mergeParseResults(a.parsedData,c)}return a.parsedData}else{let o=this.extractLineContentAsTitle(e);if(!o.trim())return null;if(this.plugin.settings.enableNaturalLanguageInput){let l=this.tryNLPFallback(o,"");if(l)return l}return{title:o,isCompleted:!1}}}catch(a){return console.warn("Error parsing task for batch:",a),null}}generateLinkText(e,t){var d;let n=((d=e.match(/^(\s*)/))==null?void 0:d[1])||"",s=bs.parseTaskLine(e).isTaskLine,a="";if(s){let u=e.match(/^\s*((?:[-*+]|\d+\.)\s+)\[/);a=(u==null?void 0:u[1])||"- "}else{let u=e.match(/^\s*([-*+]\s+)/),p=e.match(/^\s*(\d+\.\s+)/),m=e.match(/^\s*(>\s*)/);u?a=u[1]:p?a=p[1]:m?a=m[1]:a="- "}let o=this.plugin.app.workspace.getActiveFile(),l=(o==null?void 0:o.path)||"",c=this.plugin.app.fileManager.generateMarkdownLink(t,l);return`${n}${a}${c}`}replaceAllTaskLines(e,t){let n=t.sort((i,s)=>s.lineNumber-i.lineNumber);for(let i of n){let s=e.getLine(i.lineNumber).length;e.replaceRange(i.linkText,{line:i.lineNumber,ch:0},{line:i.lineNumber,ch:s})}}}});var NOe={};et(NOe,{createInstantConvertButtons:()=>Kkt,createInstantConvertField:()=>IOe});function IOe(r){return vO.StateField.define({create(){return Mo.Decoration.none},update(e,t){if(!r||!t)return Mo.Decoration.none;if(!r.settings||!r.settings.enableInstantTaskConvert)return Mo.Decoration.none;if(!t.state)return console.warn("Invalid transaction state in instant convert field update"),Mo.Decoration.none;try{return!t.docChanged&&e!==Mo.Decoration.none?e.map(t.changes):Gkt(t.state,r)}catch(n){return console.error("Error updating instant convert decorations:",n),Mo.Decoration.none}},provide(e){return Mo.EditorView.decorations.from(e)}})}function Gkt(r,e){let t=new vO.RangeSetBuilder,n=r.doc;if(!n||!e)return console.warn("Invalid state or plugin for building convert button decorations"),t.finish();if(typeof n.lines!="number"||n.lines<0)return console.warn("Invalid document lines count:",n.lines),t.finish();for(let i=0;i<n.lines;i++)try{let s=n.line(i+1);if(!s||typeof s.text!="string")continue;let a=s.text;if(a.length>1e3)continue;let o=bs.parseTaskLine(a);if(o.isTaskLine&&o.parsedData){if(!o.parsedData.title||o.parsedData.title.trim().length===0||typeof s.to!="number"||s.to<0)continue;let l=new UK(e,i),c=Mo.Decoration.widget({widget:l,side:1});t.add(s.to,s.to,c)}}catch(s){console.debug("Error processing line",i,":",s);continue}return t.finish()}function Kkt(r){return IOe(r)}var vO,Mo,Ib,UK,ROe=v(()=>{vO=require("@codemirror/state"),Mo=require("@codemirror/view"),Ib=require("obsidian");qK();UK=class r extends Mo.WidgetType{constructor(e,t){super(),this.plugin=e,this.lineNumber=t}toDOM(e){let t=activeDocument.createElement("span");t.className="tasknotes-plugin";let n=t.createEl("button",{cls:"instant-convert-button",attr:{"aria-label":"Convert to tasknote"}});(0,Ib.setTooltip)(n,"Convert to TaskNote",{placement:"top"});let i=n.createEl("span",{cls:"instant-convert-button__icon"});return(0,Ib.setIcon)(i,"file-plus"),n.addEventListener("mousedown",s=>{s.preventDefault(),s.stopPropagation(),(async()=>{try{if(!this.validateButtonClick())return;let a=this.plugin.app.workspace.getActiveViewOfType(Ib.MarkdownView);if(!a){console.warn("No active markdown view available for task conversion");return}let o=a.editor;if(!this.validateEditorState(o))return;this.plugin.instantTaskConvertService&&o&&await this.plugin.instantTaskConvertService.instantConvertTask(o,this.lineNumber)}catch(a){console.error("Error in convert button click handler:",a)}})()}),t}eq(e){return e instanceof r&&e.plugin===this.plugin&&e.lineNumber===this.lineNumber}get estimatedHeight(){return-1}ignoreEvent(){return!1}validateButtonClick(){return this.plugin?this.plugin.settings.enableInstantTaskConvert?typeof this.lineNumber!="number"||this.lineNumber<0?(console.warn("Invalid line number for task conversion:",this.lineNumber),!1):!0:(console.warn("Instant task conversion is disabled"),!1):(console.warn("Plugin not available for task conversion"),!1)}validateEditorState(e){if(!e)return console.warn("Editor not available for task conversion"),!1;let t=e.lineCount();if(this.lineNumber>=t)return console.warn(`Line number ${this.lineNumber} is out of bounds (total lines: ${t})`),!1;try{let n=e.getLine(this.lineNumber);return n?bs.parseTaskLine(n).isTaskLine?!0:(console.warn(`Line ${this.lineNumber} is no longer a task`),!1):(console.warn(`Cannot read line ${this.lineNumber}`),!1)}catch(n){return console.warn("Error validating line content:",n),!1}}}});var FOe={};et(FOe,{initializeAfterLayoutReady:()=>ZK,initializeCalendarProviders:()=>KK,initializeCoreServices:()=>YK,initializeHTTPAPI:()=>OOe,initializeServicesLazily:()=>LOe,registerBasesIntegration:()=>bO,registerRibbonIcons:()=>GK,registerTaskNotesIcon:()=>WK});function VK(r){var e;if(!(!r||typeof r!="object"))return(e=r.cm)!=null?e:null}function WK(){(0,pu.addIcon)("tasknotes-simple",`<g>
<defs>
<mask id="tasknotes-mask">
<rect width="100" height="100" fill="white"/>
<path fill="black" d="m 5.9,52.4 -0.09,4.51 c 4.71,0.09 7.61,1.48 9.95,3.57 2.35,2.09 4.11,5.01 5.90,8.14 1.80,3.13 3.62,6.46 6.45,9.12 2.23,2.09 5.14,3.67 8.83,4.21 0.46,-1.51 1.05,-2.95 1.77,-4.33 -3.44,-0.21 -5.62,-1.39 -7.53,-3.17 -2.14,-2.01 -3.82,-4.92 -5.63,-8.08 -1.81,-3.16 -3.77,-6.56 -6.82,-9.27 -3.05,-2.71 -7.07,-4.59 -11.83,-4.70 z"/>
<path fill="black" d="M 73.6,18.3 69.9,20.9 c 4.06,5.75 4.40,11.33 2.77,16.78 -1.63,5.45 -5.41,10.67 -9.65,14.78 -8.49,8.20 -16.59,14.11 -21.83,21.18 -5.24,7.07 -7.22,15.59 -3.13,27.21 l 4.25,-1.50 c -3.74,-10.62 -2.11,-16.80 2.50,-23.01 4.61,-6.21 12.63,-12.19 21.34,-20.64 4.65,-4.50 8.89,-10.23 10.84,-16.72 1.95,-6.49 1.42,-13.86 -3.40,-20.68 z"/>
</mask>
</defs>
<path fill="currentColor" mask="url(#tasknotes-mask)" d="m 98.5,0.6 c -0.38,0 -0.83,0.09 -1.33,0.23 -2,0.59 -4.66,2.18 -5.78,3.22 -1.25,1.16 -4.16,4.93 -6.08,7.19 -2.67,3.12 -5.65,6.58 -9.32,11.13 2.58,5.61 2.61,11.38 1.05,16.60 -1.95,6.49 -6.19,12.22 -10.84,16.72 -8.71,8.43 -16.73,14.41 -21.34,20.64 -4.47,6.03 -6.13,12.03 -2.81,22.08 0.19,-0.23 0.37,-0.49 0.54,-0.80 10.57,-19.70 17.89,-27.30 41.9,-47.08 v 0 c 2.40,-1.97 3.71,-4.33 4.52,-7.14 0.81,-2.82 1.11,-6.10 1.52,-9.92 0.81,-7.64 2.02,-17.43 8.43,-29.95 0.37,-0.73 0.57,-1.30 0.62,-1.72 0.05,-0.43 -0.04,-0.71 -0.22,-0.90 -0.19,-0.18 -0.48,-0.27 -0.86,-0.26 z M 72.7,26.3 c -0.75,0.92 -1.51,1.84 -2.27,2.78 -9.09,11.05 -19.45,22.93 -28.54,29.97 -1.48,1.14 -2.98,1.54 -4.46,1.38 -1.49,-0.16 -2.97,-0.89 -4.43,-1.96 -2.91,-2.16 -5.74,-5.74 -8.35,-9.19 -2.62,-3.45 -5.04,-6.77 -7.12,-8.39 -1.04,-0.81 -1.99,-1.19 -2.83,-0.97 -0.84,0.22 -1.60,1.05 -2.26,2.70 -1.03,2.61 -1.60,6.22 -3.42,10.05 4.08,0.62 7.27,2.27 9.73,4.45 3.05,2.71 5.01,6.11 6.82,9.27 1.81,3.16 3.49,6.07 5.63,8.08 1.90,1.78 4.08,2.96 7.53,3.17 0.71,-1.37 1.55,-2.69 2.49,-3.95 5.24,-7.07 13.34,-12.98 21.83,-21.18 4.24,-4.11 8.02,-9.33 9.65,-14.78 1.12,-3.73 1.31,-7.53 0.01,-11.42 z M 10.3,49.1 c -0.09,0.29 -0.18,0.56 -0.28,0.85 0.10,-0.29 0.19,-0.56 0.28,-0.85 z m -4.02,7.84 c -0.01,0.01 -0.02,0.02 -0.03,0.03 0.01,-0.01 0.02,-0.02 0.03,-0.03 0,0 0,0 0,0 z m 0.12,0 c -1.08,1.40 -2.40,2.79 -4.05,4.12 -1.20,1.0 -1.85,1.86 -2.03,2.71 -0.18,0.85 0.10,1.67 0.76,2.53 1.32,1.71 4.16,3.54 7.81,5.91 7.28,4.73 17.75,11.63 25.63,24.16 0.64,1.02 1.74,2.04 2.95,2.65 -0.91,-5.36 -0.91,-8.78 -0.54,-11.88 -3.33,-0.55 -6.07,-2.12 -8.39,-4.72 -2.83,-3.17 -4.69,-6.59 -6.54,-9.85 -1.85,-3.26 -3.69,-6.37 -6.08,-8.47 -2.06,-1.81 -4.61,-3.0 -8.49,-3.17 z"/>
</g>`)}async function YK(r){var i;r.fieldMapper=new kg(r.settings.fieldMapping,(i=r.settings.userFields)!=null?i:[]),r.statusManager=new uy(r.settings.customStatuses,r.settings.defaultTaskStatus),r.priorityManager=new hP(r.settings.customPriorities),r.requestDeduplicator=new cy,r.predictivePrefetcher=new mP(r.requestDeduplicator),r.domReconciler=new dy,r.uiStateManager=new fP,r.cacheManager=new gP(r.app,r.settings,r.fieldMapper),r.emitter=r.cacheManager,r.dependencyCache=new yP(r.app,r.settings,r.fieldMapper,r.statusManager,s=>r.cacheManager.isTaskFile(s)),r.cacheManager.setDependencyCache(r.dependencyCache),r.taskService=new g_(r),r.filterService=new v_(r.cacheManager,r.statusManager,r.priorityManager,r),r.taskStatsService=new Oy(r.cacheManager,r.statusManager),r.viewStateManager=new b_(r.app,r),r.projectSubtasksService=new T_(r),r.expandedProjectsService=new k_(r),r.autoArchiveService=new w_(r);let{TaskSelectionService:e}=await Promise.resolve().then(()=>(EEe(),xEe));r.taskSelectionService=new e(r),r.dragDropManager=new yM(r),r.statusBarService=new vM(r),r.notificationService=new bM(r),r.viewPerformanceService=new kM(r);let{BasesFilterConverter:t}=await Promise.resolve().then(()=>(CEe(),DEe));r.basesFilterConverter=new t(r);let{MdbaseSpecService:n}=await Promise.resolve().then(()=>(_Ee(),PEe));r.mdbaseSpecService=new n(r),r.icsSubscriptionService=new GM(r),r.icsNoteService=new KM(r),r.taskService.setAutoArchiveService(r.autoArchiveService)}function GK(r){r.addRibbonIcon("calendar-days",r.i18n.translate("commands.openCalendarView"),async()=>{await r.activateCalendarView()}),r.addRibbonIcon("calendar",r.i18n.translate("commands.openAdvancedCalendarView"),async()=>{await r.openBasesFileForCommand("open-advanced-calendar-view")}),r.addRibbonIcon("check-square",r.i18n.translate("commands.openTasksView"),async()=>{await r.openBasesFileForCommand("open-tasks-view")}),r.addRibbonIcon("list",r.i18n.translate("commands.openAgendaView"),async()=>{await r.openBasesFileForCommand("open-agenda-view")}),r.addRibbonIcon("columns-3",r.i18n.translate("commands.openKanbanView"),async()=>{await r.openBasesFileForCommand("open-kanban-view")}),r.addRibbonIcon("timer",r.i18n.translate("commands.openPomodoroView"),async()=>{await r.activatePomodoroView()}),r.addRibbonIcon("bar-chart-3",r.i18n.translate("commands.openPomodoroStats"),async()=>{await r.activatePomodoroStatsView()}),r.addRibbonIcon("tasknotes-simple",r.i18n.translate("commands.createNewTask"),()=>{r.openTaskCreationModal()})}function KK(r){r.oauthService=new JM(r),r.googleCalendarService=new tA(r,r.oauthService),r.microsoftCalendarService=new AA(r,r.oauthService),r.calendarProviderRegistry=new XM,r.calendarProviderRegistry.register(r.googleCalendarService),r.calendarProviderRegistry.register(r.microsoftCalendarService)}async function bO(r){var e;if(!(!((e=r.settings)!=null&&e.enableBases)||r.basesRegistered))try{let{registerBasesTaskList:t}=await Promise.resolve().then(()=>(C9(),D9));await t(r),r.basesRegistered=!0}catch(t){console.debug("[TaskNotes][Bases] Registration failed:",t)}}async function OOe(r){if(!(pu.Platform.isMobile||!r.settings.enableAPI))try{let{HTTPAPIService:e}=await Promise.resolve().then(()=>(DOe(),EOe));r.apiService=new e(r,r.taskService,r.filterService,r.cacheManager),r.taskService.setWebhookNotifier(r.apiService),r.pomodoroService.setWebhookNotifier(r.apiService),await r.apiService.start(),new pu.Notice(`TaskNotes API started on port ${r.apiService.getPort()}`)}catch(e){console.error("Failed to initialize HTTP API:",e),new pu.Notice("Failed to start tasknotes API server. Check console for details.")}}async function ZK(r){if(!r.initializationComplete){r.initializationComplete=!0;try{r.settings.autoCreateDefaultBasesFiles&&await r.ensureBasesViewFiles(),r.injectCustomStyles(),Zkt(r),Qkt(r),r.cacheManager.initialize(),r.dependencyCache.initialize(),r.filterService.initialize(),r.statusBarService.initialize(),await r.notificationService.initialize(),await r.warmupProjectIndexes(),await r.autoArchiveService.start(),r.setupDateChangeDetection(),LOe(r),await bO(r)}catch(e){console.error("Error during post-layout initialization:",e)}}}function Zkt(r){r.registerView(Vc,e=>new wM(e,r)),r.registerView(cg,e=>new EM(e,r)),r.registerView(dg,e=>new DM(e,r)),r.registerView(ax,e=>new CM(e,r,Kfe,Gfe))}function Qkt(r){r.registerEditorExtension(Xfe(r)),r.registerEditorExtension(che(r)),r.taskCardReadingModeCleanup=dhe(r),r.registerEditorExtension(ihe(r)),r.relationshipsReadingModeCleanup=she(r),r.registerMarkdownPostProcessor(phe(r))}function LOe(r){window.setTimeout(()=>{(async()=>{try{r.pomodoroService=new IA(r),await r.pomodoroService.initialize(),await r.icsSubscriptionService.initialize(),r.autoExportService=new NA(r),r.autoExportService.start(),r.googleCalendarService.on("data-changed",()=>{r.notifyDataChanged(void 0,!1,!0)}),await r.googleCalendarService.initialize(),r.taskCalendarSyncService=new(await Promise.resolve().then(()=>(_Oe(),POe))).TaskCalendarSyncService(r,r.googleCalendarService),r.registerEvent(r.emitter.on("file-deleted",i=>{var l,c;if(!((l=r.taskCalendarSyncService)!=null&&l.isEnabled()))return;let s=r.fieldMapper.toUserField("googleCalendarEventId"),a=i.prevCache,o=(c=a==null?void 0:a.frontmatter)==null?void 0:c[s];typeof o=="string"&&o.length>0&&r.taskCalendarSyncService.deleteTaskFromCalendarByPath(i.path,o).catch(d=>{console.warn("Failed to delete task from Google Calendar on file deletion:",d)})})),r.microsoftCalendarService.on("data-changed",()=>{r.notifyDataChanged(void 0,!1,!0)}),await r.microsoftCalendarService.initialize(),await OOe(r);let{TaskLinkDetectionService:e}=await Promise.resolve().then(()=>(F2(),Qfe));r.taskLinkDetectionService=new e(r);let{InstantTaskConvertService:t}=await Promise.resolve().then(()=>(AOe(),MOe));r.instantTaskConvertService=new t(r,r.statusManager,r.priorityManager);let{createInstantConvertButtons:n}=await Promise.resolve().then(()=>(ROe(),NOe));r.registerEditorExtension(n(r)),r.taskUpdateListenerForEditor=r.emitter.on(Vt,i=>{r.app.workspace.iterateRootLeaves(s=>{var a;if(s.view&&s.view.getViewType()==="markdown"){let o=s.view.editor,l=VK(o);if(l){let c=(i==null?void 0:i.path)||((a=i==null?void 0:i.updatedTask)==null?void 0:a.path);mp(l,c)}}})}),r.registerEvent(r.app.workspace.on("active-leaf-change",i=>{window.setTimeout(()=>{if(i&&i.view&&i.view.getViewType()==="markdown"){let s=i.view.editor,a=VK(s);a&&mp(a)}},50)})),r.registerEvent(r.app.workspace.on("layout-change",()=>{window.setTimeout(()=>{let i=r.app.workspace.getActiveViewOfType(pu.MarkdownView);if(i){let s=i.editor,a=VK(s);a&&mp(a)}},100)})),r.setupStatusBarEventListeners(),r.setupTimeTrackingEventListeners(),await r.checkForVersionUpdate()}catch(e){console.error("Error during lazy service initialization:",e)}})()},10)}var pu,TO=v(()=>{pu=require("obsidian");On();H$();Mde();FL();U$();Ade();Ide();Nde();lpe();ppe();Vj();mpe();hpe();gpe();ype();Pfe();_fe();Mfe();Afe();Ife();Ffe();$fe();L2();Zfe();_M();ahe();uhe();mhe();_he();Mhe();Ihe();Rhe();TEe();eA();kEe();SEe()});var MLe={};et(MLe,{TaskActionPaletteModal:()=>vZ});var gn,vZ,ALe=v(()=>{gn=require("obsidian"),vZ=class extends gn.FuzzySuggestModal{constructor(e,t,n,i){super(e),this.task=t,this.plugin=n,this.targetDate=i,this.actions=this.buildActionsList(),this.setPlaceholder("Type to search for an action..."),this.setInstructions([{command:"\u2191\u2193",purpose:"to navigate"},{command:"\u21B5",purpose:"to execute"},{command:"esc",purpose:"to dismiss"}]),this.titleEl.setText(`Quick actions: ${t.title}`),this.titleEl.setAttribute("id","task-action-palette-title"),this.containerEl.setAttribute("aria-labelledby","task-action-palette-title"),this.containerEl.setAttribute("role","dialog"),this.containerEl.setAttribute("aria-modal","true"),this.containerEl.addClass("task-action-palette-modal")}buildActionsList(){let e=[];(this.task.recurrence?this.plugin.statusManager.getNonCompletionStatuses():this.plugin.statusManager.getAllStatuses()).forEach(i=>{let s=this.task.status===i.value;e.push({id:`status-${i.value}`,title:`Change status to "${i.label}"`,description:`Set task status to ${i.label}`,icon:s?"check":"circle",category:"status",keywords:["status",i.value,i.label,"change","set"],isApplicable:()=>!s,execute:async a=>{await this.plugin.updateTaskProperty(a,"status",i.value),new gn.Notice(`Status changed to ${i.label}`)}})}),this.plugin.priorityManager.getAllPriorities().forEach(i=>{let s=this.task.priority===i.value;e.push({id:`priority-${i.value}`,title:`Set priority to "${i.label}"`,description:`Change task priority to ${i.label}`,icon:s?"check":"flag",category:"priority",keywords:["priority",i.value,i.label,"change","set"],isApplicable:()=>!s,execute:async a=>{await this.plugin.updateTaskProperty(a,"priority",i.value),new gn.Notice(`Priority changed to ${i.label}`)}})}),e.push({id:"set-due-date",title:"Set due date",description:"Set or change the task due date",icon:"calendar",category:"dates",keywords:["due","date","deadline","set","change"],isApplicable:()=>!0,execute:async i=>{this.plugin.openDueDateModal(i)}},{id:"set-scheduled-date",title:"Set scheduled date",description:"Set or change when the task is scheduled",icon:"calendar-clock",category:"dates",keywords:["scheduled","date","schedule","set","change"],isApplicable:()=>!0,execute:async i=>{this.plugin.openScheduledDateModal(i)}},{id:"clear-due-date",title:"Clear due date",description:"Remove the due date from this task",icon:"calendar-x",category:"dates",keywords:["clear","remove","due","date"],isApplicable:i=>!!i.due,execute:async i=>{await this.plugin.updateTaskProperty(i,"due",void 0),new gn.Notice("Due date cleared")}},{id:"clear-scheduled-date",title:"Clear scheduled date",description:"Remove the scheduled date from this task",icon:"calendar-x",category:"dates",keywords:["clear","remove","scheduled","date"],isApplicable:i=>!!i.scheduled,execute:async i=>{await this.plugin.updateTaskProperty(i,"scheduled",void 0),new gn.Notice("Scheduled date cleared")}});let n=this.plugin.getActiveTimeSession(this.task);return e.push({id:"toggle-time-tracking",title:n?"Stop time tracking":"Start time tracking",description:n?"Stop tracking time for this task":"Start tracking time for this task",icon:n?"pause":"play",category:"tracking",keywords:["time","tracking","timer",n?"stop":"start"],isApplicable:()=>!0,execute:async i=>{this.plugin.getActiveTimeSession(i)?(await this.plugin.stopTimeTracking(i),new gn.Notice("Time tracking stopped")):(await this.plugin.startTimeTracking(i),new gn.Notice("Time tracking started"))}}),this.task.timeEntries&&this.task.timeEntries.length>0&&e.push({id:"edit-time-entries",title:"Edit time entries",description:"View, edit, or add time entries for this task",icon:"clock",category:"tracking",keywords:["time","entries","edit","tracking","history"],isApplicable:()=>!0,execute:async i=>{this.plugin.openTimeEntryEditor(i),this.close()}}),e.push({id:"toggle-archive",title:this.task.archived?"Unarchive task":"Archive task",description:this.task.archived?"Move task back to active tasks":"Archive this task",icon:this.task.archived?"archive-restore":"archive",category:"organization",keywords:["archive",this.task.archived?"unarchive":"archive","organize"],isApplicable:()=>!0,execute:async i=>{await this.plugin.toggleTaskArchive(i),new gn.Notice(i.archived?"Task unarchived":"Task archived")}}),this.task.recurrence&&e.push({id:"complete-recurring-instance",title:"Complete this occurrence",description:"Mark this specific instance of the recurring task as complete",icon:"check-circle",category:"status",keywords:["complete","done","finish","recurring","instance","occurrence"],isApplicable:(i,s,a)=>!s.statusManager.isCompletedStatus(i.status),execute:async(i,s,a)=>{await s.toggleRecurringTaskComplete(i,a),new gn.Notice("Recurring task instance completed")}}),e.push({id:"edit-task",title:"Edit task details",description:"Open the full task editor",icon:"edit",category:"other",keywords:["edit","modify","details","properties"],isApplicable:()=>!0,execute:async i=>{await this.plugin.openTaskEditModal(i)}},{id:"open-task-file",title:"Open task file",description:"Open the task file in the editor",icon:"file-text",category:"other",keywords:["open","file","editor","edit"],isApplicable:()=>!0,execute:async i=>{let s=this.plugin.app.vault.getAbstractFileByPath(i.path);s instanceof gn.TFile&&await this.plugin.app.workspace.getLeaf(!0).openFile(s)}},{id:"copy-task-title",title:"Copy task title",description:"Copy the task title to clipboard",icon:"copy",category:"other",keywords:["copy","clipboard","title"],isApplicable:()=>!0,execute:async i=>{try{await navigator.clipboard.writeText(i.title),new gn.Notice("Task title copied to clipboard")}catch(s){new gn.Notice("Failed to copy to clipboard")}}},{id:"copy-task-link",title:"Copy task link",description:"Copy a wikilink to this task",icon:"link",category:"other",keywords:["copy","link","wikilink","reference"],isApplicable:()=>!0,execute:async i=>{try{let s=this.plugin.app.vault.getAbstractFileByPath(i.path);if(s instanceof gn.TFile){let a=this.plugin.app.metadataCache.fileToLinktext(s,"");await navigator.clipboard.writeText(`[[${a}]]`),new gn.Notice("Task link copied to clipboard")}}catch(s){new gn.Notice("Failed to copy to clipboard")}}},{id:"delete-task",title:"Delete task",description:"Permanently delete this task",icon:"trash",category:"other",keywords:["delete","remove","trash"],isApplicable:()=>!0,execute:async i=>{this.close();let{showDeleteConfirmationModal:s}=await Promise.resolve().then(()=>($i(),iy));await s(i,this.plugin)}}),e}getItems(){return this.actions.filter(e=>e.isApplicable(this.task,this.plugin,this.targetDate)).sort((e,t)=>{var a,o;let n={status:0,priority:1,dates:2,tracking:3,organization:4,other:5},i=(a=n[e.category])!=null?a:999,s=(o=n[t.category])!=null?o:999;return i!==s?i-s:e.title.localeCompare(t.title)})}getItemText(e){return[e.title,e.description,e.category,...e.keywords].join(" ")}renderSuggestion(e,t){let n=e.item,i=t.createDiv({cls:"task-action-palette__suggestion"}),s=i.createDiv({cls:"task-action-palette__icon"});(0,gn.setIcon)(s,n.icon);let a=i.createDiv({cls:"task-action-palette__content"});a.createDiv({cls:"task-action-palette__title",text:n.title}),a.createDiv({cls:"task-action-palette__description",text:n.description}),i.createDiv({cls:"task-action-palette__badge"}).createSpan({cls:`task-action-palette__category task-action-palette__category--${n.category}`,text:n.category})}onChooseItem(e,t){this.executeAction(e,t)}async executeAction(e,t){try{let n=await this.plugin.cacheManager.getTaskInfo(this.task.path);if(!n){new gn.Notice("Task not found");return}await e.execute(n,this.plugin,this.targetDate)}catch(n){let i=n instanceof Error?n.message:String(n);console.error("Error executing action:",{error:i,actionId:e.id,taskPath:this.task.path}),new gn.Notice(`Failed to execute action: ${i}`)}}}});var Awt={};et(Awt,{default:()=>Mwt});module.exports=eD(Awt);var We=require("obsidian");Tn();var hm=Ke(Hc());lg();Xb();function xFe(r){if(r.taskIdentificationMethod==="tag")return`file.hasTag("${r.taskTag||"task"}")`;{let e=r.taskPropertyName,t=r.taskPropertyValue;if(!e)return`file.hasTag("${r.taskTag||"task"}")`;if(t){let n=t.toLowerCase();return n==="true"||n==="false"?`note.${e} == ${n}`:`note.${e} == "${t}"`}else return`note.${e} && note.${e} != "" && note.${e} != null`}}function eT(r){return`filters:
and:
${(Array.isArray(r)?r:[r]).map(n=>` - ${n}`).join(`
`)}`}function es(r){return r.replace(/^(note\.|file\.|task\.|formula\.)/,"")}function yr(r,e){var i;let t=e.fieldMapper;if(r.startsWith("user:")){let s=r.substring(5),a=(i=e.settings.userFields)==null?void 0:i.find(o=>o.id===s);return a?a.key:r}switch(r){case"tags":return"file.tags";case"dateCreated":return"file.ctime";case"dateModified":return"file.mtime";case"title":return"file.name";case"blocked":case"blocking":return t.toUserField("blockedBy");case"complete_instances":return t.toUserField("completeInstances");case"totalTrackedTime":return t.toUserField("timeEntries");case"checklistProgress":return"file.tasks"}let n=t.getMapping();return r in n?t.toUserField(r):r}function EFe(r){let n=(r.settings.defaultVisibleProperties||["status","priority","due","scheduled","projects","contexts","tags"]).map(o=>yr(o,r)).filter(o=>!!o),i=["file.name",yr("recurrence",r),yr("complete_instances",r),yr("checklistProgress",r)].filter(o=>!!o),s=[],a=new Set;for(let o of n)o&&!a.has(o)&&(s.push(o),a.add(o));for(let o of i)o&&!a.has(o)&&(s.push(o),a.add(o));return s}function DFe(r){return r.map(e=>` - ${e}`).join(`
`)}function CFe(r){let e=r.settings,t=es(yr("priority",r)),n=[...e.customPriorities].sort((s,a)=>s.weight-a.weight);if(n.length===0)return"999";let i="999";for(let s=n.length-1;s>=0;s--){let a=n[s];i=`if(${t}=="${a.value}",${s},${i})`}return i}function PFe(r){let e=es(yr("priority",r)),t=r.settings.customPriorities;if(t.length===0)return'"No priority"';let n='"No priority"';for(let i=t.length-1;i>=0;i--){let s=t[i];n=`if(${e}=="${s.value}","${s.label}",${n})`}return n}function _Fe(r){let e=es(yr("due",r)),t=es(yr("status",r)),n=es(yr("timeEstimate",r)),i=es(yr("timeEntries",r)),s=es(yr("projects",r)),a=es(yr("contexts",r)),l=r.settings.customStatuses.filter(u=>u.isCompleted).map(u=>u.value).map(u=>`${t} != "${u}"`).join(" && "),c=es(yr("scheduled",r)),d=es(yr("recurrence",r));return{priorityWeight:CFe(r),daysUntilDue:`if(${e}, ((number(date(${e})) - number(today())) / 86400000).floor(), null)`,daysUntilScheduled:`if(${c}, ((number(date(${c})) - number(today())) / 86400000).floor(), null)`,daysSinceCreated:"((number(now()) - number(file.ctime)) / 86400000).floor()",daysSinceModified:"((number(now()) - number(file.mtime)) / 86400000).floor()",isOverdue:`${e} && date(${e}) < today() && ${l}`,isDueToday:`${e} && date(${e}).date() == today()`,isDueThisWeek:`${e} && date(${e}).date() >= today() && date(${e}).date() <= today() + "7d"`,isScheduledToday:`${c} && date(${c}).date() == today()`,isRecurring:`${d} && !${d}.isEmpty()`,hasTimeEstimate:`${n} && ${n} > 0`,timeRemaining:`if(${n} && ${n} > 0, ${n} - if(${i}, list(${i}).filter(value.endTime).map((number(date(value.endTime)) - number(date(value.startTime))) / 60000).reduce(acc + value, 0), 0), null)`,efficiencyRatio:`if(${n} && ${n} > 0 && ${i}, (list(${i}).filter(value.endTime).map((number(date(value.endTime)) - number(date(value.startTime))) / 60000).reduce(acc + value, 0) / ${n} * 100).round(), null)`,timeTrackedThisWeek:`if(${i}, list(${i}).filter(value.endTime && date(value.startTime) >= today() - "7d").map((number(date(value.endTime)) - number(date(value.startTime))) / 60000).reduce(acc + value, 0).round(), 0)`,timeTrackedToday:`if(${i}, list(${i}).filter(value.endTime && date(value.startTime).date() == today()).map((number(date(value.endTime)) - number(date(value.startTime))) / 60000).reduce(acc + value, 0).round(), 0)`,dueMonth:`if(${e}, date(${e}).format("YYYY-MM"), "No due date")`,dueWeek:`if(${e}, date(${e}).format("YYYY-[W]WW"), "No due date")`,scheduledMonth:`if(${c}, date(${c}).format("YYYY-MM"), "Not scheduled")`,scheduledWeek:`if(${c}, date(${c}).format("YYYY-[W]WW"), "Not scheduled")`,dueDateCategory:`if(!${e}, "No due date", if(date(${e}) < today(), "Overdue", if(date(${e}).date() == today(), "Today", if(date(${e}).date() == today() + "1d", "Tomorrow", if(date(${e}).date() <= today() + "7d", "This week", "Later")))))`,timeEstimateCategory:`if(!${n} || ${n} == 0 || ${n} == null, "No estimate", if(${n} < 30, "Quick (<30m)", if(${n} <= 120, "Medium (30m-2h)", "Long (>2h)")))`,ageCategory:'if(((number(now()) - number(file.ctime)) / 86400000) < 1, "Today", if(((number(now()) - number(file.ctime)) / 86400000) < 7, "This week", if(((number(now()) - number(file.ctime)) / 86400000) < 30, "This month", "Older")))',createdMonth:'file.ctime.format("YYYY-MM")',modifiedMonth:'file.mtime.format("YYYY-MM")',priorityCategory:PFe(r),projectCount:`if(!${s} || list(${s}).length == 0, "No projects", if(list(${s}).length == 1, "Single project", "Multiple projects"))`,contextCount:`if(!${a} || list(${a}).length == 0, "No contexts", if(list(${a}).length == 1, "Single context", "Multiple contexts"))`,trackingStatus:`if(!${n} || ${n} == 0 || ${n} == null, "No estimate", if(!${i} || list(${i}).length == 0, "Not started", if(formula.efficiencyRatio < 100, "Under estimate", "Over estimate")))`,nextDate:`if(${e} && ${c}, if(date(${e}) < date(${c}), ${e}, ${c}), if(${e}, ${e}, ${c}))`,daysUntilNext:`if(${e} && ${c}, min(formula.daysUntilDue, formula.daysUntilScheduled), if(${e}, formula.daysUntilDue, formula.daysUntilScheduled))`,hasDate:`${e} || ${c}`,isToday:`(${e} && date(${e}).date() == today()) || (${c} && date(${c}).date() == today())`,isThisWeek:`(${e} && date(${e}).date() >= today() && date(${e}).date() <= today() + "7d") || (${c} && date(${c}).date() >= today() && date(${c}).date() <= today() + "7d")`,nextDateCategory:`if(!${e} && !${c}, "No date", if((${e} && date(${e}) < today()) || (${c} && date(${c}) < today()), "Overdue/Past", if((${e} && date(${e}).date() == today()) || (${c} && date(${c}).date() == today()), "Today", if((${e} && date(${e}).date() == today() + "1d") || (${c} && date(${c}).date() == today() + "1d"), "Tomorrow", if((${e} && date(${e}).date() <= today() + "7d") || (${c} && date(${c}).date() <= today() + "7d"), "This week", "Later")))))`,nextDateMonth:`if(${e} && ${c}, if(date(${e}) < date(${c}), date(${e}).format("YYYY-MM"), date(${c}).format("YYYY-MM")), if(${e}, date(${e}).format("YYYY-MM"), if(${c}, date(${c}).format("YYYY-MM"), "No date")))`,nextDateWeek:`if(${e} && ${c}, if(date(${e}) < date(${c}), date(${e}).format("YYYY-[W]WW"), date(${c}).format("YYYY-[W]WW")), if(${e}, date(${e}).format("YYYY-[W]WW"), if(${c}, date(${c}).format("YYYY-[W]WW"), "No date")))`,urgencyScore:`if(!${e} && !${c}, formula.priorityWeight, formula.priorityWeight + max(0, 10 - formula.daysUntilNext) + (1 - ((number(date(formula.nextDate)) - number(date(formula.nextDate).date())) / 86400000)))`,timeTrackedFormatted:`if(${i}, if(list(${i}).filter(value.endTime).map((number(date(value.endTime)) - number(date(value.startTime))) / 60000).reduce(acc + value, 0) >= 60, (list(${i}).filter(value.endTime).map((number(date(value.endTime)) - number(date(value.startTime))) / 60000).reduce(acc + value, 0) / 60).floor() + "h " + (list(${i}).filter(value.endTime).map((number(date(value.endTime)) - number(date(value.startTime))) / 60000).reduce(acc + value, 0) % 60).round() + "m", list(${i}).filter(value.endTime).map((number(date(value.endTime)) - number(date(value.startTime))) / 60000).reduce(acc + value, 0).round() + "m"), "0m")`,dueDateDisplay:`if(!${e}, "", if(date(${e}).date() == today(), "Today", if(date(${e}).date() == today() + "1d", "Tomorrow", if(date(${e}).date() == today() - "1d", "Yesterday", if(date(${e}) < today(), formula.daysUntilDue * -1 + "d ago", if(date(${e}).date() <= today() + "7d", date(${e}).format("ddd"), date(${e}).format("MMM D")))))))`}}function MFe(r){let e=_Fe(r);return`formulas:
${Object.entries(e).map(([n,i])=>` ${n}: '${i}'`).join(`
`)}`}function Kte(r,e){let t=e.settings,n=xFe(t),i=EFe(e),s=DFe(i),a=MFe(e);switch(r){case"open-calendar-view":{let o=yr("due",e),l=yr("scheduled",e);return`# Mini Calendar
# Generated with your TaskNotes settings
${eT([n])}
${a}
views:
- type: tasknotesMiniCalendar
name: "Due"
order:
${s}
sort:
- property: ${o}
direction: ASC
dateProperty: ${o}
- type: tasknotesMiniCalendar
name: "Scheduled"
order: []
dateProperty: ${l}
- type: tasknotesMiniCalendar
name: "Created"
dateProperty: file.ctime
- type: tasknotesMiniCalendar
name: "Modified"
dateProperty: file.mtime
`}case"open-kanban-view":{let o=es(yr("status",e)),l=yr("sortOrder",e);return`# Kanban Board
${eT([n])}
${a}
views:
- type: tasknotesKanban
name: "Kanban Board"
order:
${s}
sort:
- column: ${l}
direction: DESC
groupBy:
property: ${o}
direction: ASC
options:
columnWidth: 280
hideEmptyColumns: false
`}case"open-tasks-view":{let o=yr("status",e),l=yr("due",e),c=yr("scheduled",e),d=yr("recurrence",e),u=yr("completeInstances",e),p=yr("blockedBy",e),m=yr("sortOrder",e),f=t.customStatuses.filter(k=>k.isCompleted).map(k=>k.value),h=f.map(k=>`${o} != "${k}"`).join(`
- `),g=`or:
- ${u}.isEmpty()
- "!${u}.contains(today().format(\\"yyyy-MM-dd\\"))"`,y=f.map(k=>`file(value.uid).properties.${es(o)} != "${k}"`).join(" && ");return`# All Tasks
${eT([n])}
${a}
views:
- type: tasknotesTaskList
name: "Manual Order"
order:
${s}
sort:
- column: ${m}
direction: DESC
groupBy:
property: ${o}
direction: ASC
- type: tasknotesTaskList
name: "All Tasks"
order:
${s}
sort:
- column: due
direction: ASC
- type: tasknotesTaskList
name: "Not Blocked"
filters:
and:
# Incomplete tasks
- or:
# Non-recurring task that's not in any completed status
- and:
- ${d}.isEmpty()
- ${h}
# Recurring task where today is not in complete_instances
- and:
- ${d}
- ${g}
# Not blocked by any incomplete tasks
- or:
# No blocking dependencies at all
- ${p}.isEmpty()
# All blocking tasks are completed (filter returns only incomplete, then check if empty)
- 'list(${p}).filter(${y}).isEmpty()'
order:
${s}
sort:
- column: formula.urgencyScore
direction: DESC
- type: tasknotesTaskList
name: "Today"
filters:
and:
# Incomplete tasks (handles both recurring and non-recurring)
- or:
# Non-recurring task that's not in any completed status
- and:
- ${d}.isEmpty()
- ${h}
# Recurring task where today is not in complete_instances
- and:
- ${d}
- ${g}
# Due or scheduled today
- or:
- date(${l}).date() == today()
- date(${c}).date() == today()
order:
${s}
sort:
- column: formula.urgencyScore
direction: DESC
- type: tasknotesTaskList
name: "Overdue"
filters:
and:
# Incomplete tasks
- or:
# Non-recurring task that's not in any completed status
- and:
- ${d}.isEmpty()
- ${h}
# Recurring task where today is not in complete_instances
- and:
- ${d}
- ${g}
# Due in the past
- date(${l}) < today()
order:
${s}
sort:
- column: formula.urgencyScore
direction: DESC
- type: tasknotesTaskList
name: "This Week"
filters:
and:
# Incomplete tasks
- or:
# Non-recurring task that's not in any completed status
- and:
- ${d}.isEmpty()
- ${h}
# Recurring task where today is not in complete_instances
- and:
- ${d}
- ${g}
# Due or scheduled this week
- or:
- and:
- date(${l}).date() >= today()
- date(${l}).date() <= today() + "7 days"
- and:
- date(${c}).date() >= today()
- date(${c}).date() <= today() + "7 days"
order:
${s}
sort:
- column: formula.urgencyScore
direction: DESC
- type: tasknotesTaskList
name: "Unscheduled"
filters:
and:
# Incomplete tasks
- or:
# Non-recurring task that's not in any completed status
- and:
- ${d}.isEmpty()
- ${h}
# Recurring task where today is not in complete_instances
- and:
- ${d}
- ${g}
# No due date and no scheduled date
- date(${l}).isEmpty()
- date(${c}).isEmpty()
order:
${s}
sort:
- column: ${o}
direction: ASC
`}case"open-advanced-calendar-view":return`# Calendar
${eT([n])}
${a}
views:
- type: tasknotesCalendar
name: "Calendar"
order:
${s}
options:
showScheduled: true
showDue: true
showRecurring: true
showTimeEntries: true
showTimeblocks: true
showPropertyBasedEvents: true
calendarView: "timeGridWeek"
customDayCount: 3
firstDay: 0
slotMinTime: "06:00:00"
slotMaxTime: "22:00:00"
slotDuration: "00:30:00"
`;case"open-agenda-view":return`# Agenda
${eT([n])}
${a}
views:
- type: tasknotesCalendar
name: "Agenda"
order:
${s}
options:
showPropertyBasedEvents: false
calendarView: "listWeek"
startDateProperty: file.ctime
listDayCount: 7
titleProperty: file.basename
`;case"relationships":{let o=es(yr("projects",e)),l=es(yr("blockedBy",e)),c=es(yr("status",e)),d=yr("sortOrder",e);return`# Relationships
# This view shows all relationships for the current file
# Dynamically shows/hides tabs based on available data
${a}
views:
- type: tasknotesKanban
name: "Subtasks"
filters:
and:
- ${n}
- note.${o}.contains(this.file.asLink())
order:
${s}
sort:
- column: ${d}
direction: DESC
groupBy:
property: ${c}
direction: ASC
- type: tasknotesTaskList
name: "Projects"
filters:
and:
- list(this.${o}).contains(file.asLink())
order:
${s}
- type: tasknotesTaskList
name: "Blocked By"
filters:
and:
- ${n}
- list(this.note.${l}).map(value.uid).contains(file.asLink())
order:
${s}
sort:
- column: ${d}
direction: DESC
- type: tasknotesKanban
name: "Blocking"
filters:
and:
- ${n}
- list(note.${l}).map(value.uid).contains(this.file.asLink())
order:
${s}
sort:
- column: ${d}
direction: DESC
groupBy:
property: ${c}
direction: ASC
`}default:return""}}On();cP();var jn=require("obsidian");B$();Qe();Cr();jr();IL();md();Qe();Cr();function hde(r,e){if(!e.task.recurrence)return;let t=r.createDiv("completions-calendar-container"),n=t.createDiv("detail-label");n.textContent=e.translate("modals.taskEdit.sections.completions");let i=t.createDiv("completions-calendar-content");Jqe(i,e)}function Jqe(r,e){let t=r.createDiv("recurring-calendar"),i=kr();if(e.task.complete_instances&&e.task.complete_instances.length>0){let s=e.task.complete_instances.filter(a=>a&&typeof a=="string"&&/^\d{4}-\d{2}-\d{2}$/.test(a.trim())).map(a=>wm(a).getTime()).filter(a=>!isNaN(a));s.length>0&&(i=new Date(Math.max(...s)))}dP(t,i,e)}function dP(r,e,t){r.empty();let n=r.createDiv("recurring-calendar__header"),i=n.createEl("button",{cls:"recurring-calendar__nav",text:"<"}),s=n.createSpan("recurring-calendar__month"),a=t.plugin.i18n.getCurrentLocale()||"en",o=new Intl.DateTimeFormat(a,{month:"short",year:"numeric"});s.textContent=o.format(e);let l=n.createEl("button",{cls:"recurring-calendar__nav",text:">"}),c=r.createDiv("recurring-calendar__grid"),d=ED(e),u=DD(e),p=t.plugin.settings.calendarViewSettings.firstDay||0,m=xD(d,p),f=_L(u,p),h=PL(m,f),g=ED(e);g.setUTCMonth(g.getUTCMonth()-1);let y=DD(e);y.setUTCMonth(y.getUTCMonth()+1);let k=YD(t.task,g,y),T=new Set(k.map(E=>ue(E))),w=Xqe(t),S=new Set(t.task.skipped_instances||[]);h.forEach(E=>{let C=ue(E),D=E.getUTCMonth()===e.getUTCMonth(),A=c.createDiv("recurring-calendar__day");A.textContent=String(E.getUTCDate()),A.addClass("recurring-calendar__day--clickable"),D||A.addClass("recurring-calendar__day--faded"),T.has(C)&&A.addClass("recurring-calendar__day--recurring"),w.has(C)&&A.addClass("recurring-calendar__day--completed"),S.has(C)&&A.addClass("recurring-calendar__day--skipped"),A.addEventListener("click",()=>{eHe(C,t.completedInstancesChanges),dP(r,e,t)})}),i.addEventListener("click",()=>{let E=new Date(e);E.setUTCMonth(E.getUTCMonth()-1),dP(r,E,t)}),l.addEventListener("click",()=>{let E=new Date(e);E.setUTCMonth(E.getUTCMonth()+1),dP(r,E,t)})}function Xqe(r){let e=new Set(r.task.complete_instances||[]);for(let t of r.completedInstancesChanges)e.has(t)?e.delete(t):e.add(t);return e}function eHe(r,e){let t=e.indexOf(r);t!==-1?e.splice(t,1):e.push(r)}Qe();Cr();Bo();gu();function tHe(r,e){if(r.length!==e.length)return!1;let t=s=>[...s].sort((a,o)=>a.uid.localeCompare(o.uid)),n=t(r),i=t(e);for(let s=0;s<n.length;s++){let a=n[s],o=i[s];if(a.uid!==o.uid||a.reltype!==o.reltype||(a.gap||"")!==(o.gap||""))return!1}return!0}function yde(r){let e={};r.title.trim()!==r.task.title&&(e.title=r.title.trim()),r.dueDate!==(r.task.due||"")&&(e.due=r.dueDate||void 0),r.scheduledDate!==(r.task.scheduled||"")&&(e.scheduled=r.scheduledDate||void 0),r.priority!==r.task.priority&&(e.priority=r.priority),r.status!==r.task.status&&(e.status=r.status);let t=r.contexts.split(",").map(E=>E.trim()).filter(E=>E.length>0),n=r.task.contexts||[];JSON.stringify(t.sort())!==JSON.stringify(n.sort())&&(e.contexts=t.length>0?t:void 0);let i=sa(r.projects),s=r.task.projects||[],a=gde(i).sort(),o=gde(s).sort();JSON.stringify(a)!==JSON.stringify(o)&&(e.projects=i.length>0?i:[]);let l=Ai(r.tags)===Ai(r.initialTags),c=r.tags.split(",").map(E=>E.trim()).filter(E=>E.length>0);r.taskIdentificationMethod==="tag"&&r.taskTag&&!c.includes(r.taskTag)&&c.push(r.taskTag);let d=r.task.tags||[];!l&&JSON.stringify(c.sort())!==JSON.stringify(d.sort())&&(e.tags=c.length>0?c:void 0);let u=r.timeEstimate>0?r.timeEstimate:void 0;u!==r.task.timeEstimate&&(e.timeEstimate=u);let p=typeof r.task.recurrence=="string"?r.task.recurrence:"";r.recurrenceRule!==p&&(e.recurrence=r.recurrenceRule||void 0);let m=r.task.recurrence_anchor||"scheduled";r.recurrenceAnchor!==m&&(e.recurrence_anchor=r.recurrenceAnchor);let f=r.task.reminders||[],h=r.reminders||[];JSON.stringify(h)!==JSON.stringify(f)&&(e.reminders=h.length>0?h:void 0);let g=r.blockedByItems.map(E=>({...E.dependency}));tHe(g,r.initialBlockedBy)||(e.blockedBy=g.length>0?g:void 0);let{blockingUpdates:y,unresolvedBlockingEntries:k}=rHe(r),T=r.normalizeDetails(r.details),w=r.normalizeDetails(r.originalDetails);T!==w&&(e.details=T.trimEnd()),nHe(r,e);let S=iHe(r.userFields,r.frontmatter,r.userFieldConfigs);return Object.keys(S).length>0&&(e.customFrontmatter=S),Object.keys(e).length>0&&(e.dateModified=Ve()),{changes:e,blockingUpdates:y,unresolvedBlockingEntries:k}}function gde(r){return r.map(e=>{if(!e||typeof e!="string")return"";let t=e.trim();return t?dn(t).trim():""}).filter(e=>e.length>0)}function rHe(r){let e=new Map,t=[];r.blockingItems.forEach(c=>{c.path?e.set(c.path,{...c.dependency}):t.push(c.dependency.uid)});let n=Array.from(e.keys()),i=new Set(r.initialBlockingPaths),s=new Set(n),a=n.filter(c=>!i.has(c)),o=r.initialBlockingPaths.filter(c=>!s.has(c)),l={};for(let c of a){let d=e.get(c);d&&(l[c]={...d})}return{blockingUpdates:{added:a,removed:o,raw:l},unresolvedBlockingEntries:t}}function nHe(r,e){if(r.completedInstancesChanges.length===0)return;let t=new Set(r.task.complete_instances||[]),n=null;for(let o of r.completedInstancesChanges)t.has(o)?t.delete(o):(t.add(o),(!n||o>n)&&(n=o));if(e.complete_instances=Array.from(t),!r.task.recurrence||typeof r.task.recurrence!="string")return;if((r.task.recurrence_anchor||"scheduled")==="completion"&&n){let o=Nne(r.task.recurrence,n);o&&(e.recurrence=o)}let s={...r.task,...e,recurrence:e.recurrence||r.task.recurrence},a=Mne(s,r.maintainDueDateOffsetInRecurring);a.scheduled&&(e.scheduled=a.scheduled),a.due&&(e.due=a.due)}function iHe(r,e,t){let n={};for(let i of t){if(!i||!i.key)continue;let s=r[i.key],a=e[i.key];sHe(s,a)&&(n[i.key]=s==null||s===""?null:s)}return n}function sHe(r,e){let t=s=>s==null||s===""?null:s,n=t(r),i=t(e);return Array.isArray(n)||Array.isArray(i)?JSON.stringify(n)!==JSON.stringify(i):n!==i}var Uw=class extends oy{constructor(t,n,i){super(t,n);this.editModalKeyboardHandler=null;this.completedInstancesChanges=[];this.initialBlockedBy=[];this.initialBlockingPaths=[];this.pendingBlockingUpdates={added:[],removed:[],raw:{}};this.unresolvedBlockingEntries=[];this.initialTags="";this.isShowingConfirmation=!1;this.pendingClose=!1;this.isExpanded=!0;this.task=i.task,this.options=i}getCurrentTaskPath(){return this.task.path}getModalTitle(){return this.t("modals.taskEdit.title")}isEditMode(){return!0}async initializeFormData(){var s,a;this.title=this.task.title,this.dueDate=this.task.due||"",this.scheduledDate=this.task.scheduled||"",this.priority=this.task.priority,this.status=this.task.status,this.contexts=this.task.contexts?this.task.contexts.join(", "):"",this.task.projects&&this.task.projects.length>0?this.task.projects.filter(l=>l&&typeof l=="string"&&l.trim()!=="").length>0?this.initializeProjectsFromStrings(this.task.projects):(this.projects="",this.selectedProjectItems=[]):(this.projects="",this.selectedProjectItems=[]);let t=this.plugin.settings.taskIdentificationMethod==="tag",n=this.task.tags||[],i=t?n.filter(o=>o!==this.plugin.settings.taskTag):n;this.tags=n.length>0?Ai(i.join(", ")):"",this.initialTags=this.tags,this.timeEstimate=this.task.timeEstimate||0,this.recurrenceRule=this.task.recurrence||"",this.recurrenceAnchor=this.task.recurrence_anchor||"scheduled",this.reminders=this.task.reminders?[...this.task.reminders]:[],this.details=this.normalizeDetails(this.details),this.originalDetails=this.details,await this.initializeSubtasks(),this.blockedByItems=((s=this.task.blockedBy)!=null?s:[]).map(o=>this.createDependencyItemFromDependency(o,this.task.path)),this.initialBlockedBy=this.blockedByItems.map(o=>({...o.dependency})),this.blockingItems=((a=this.task.blocking)!=null?a:[]).map(o=>this.createDependencyItemFromPath(o)),this.initialBlockingPaths=this.blockingItems.filter(o=>o.path).map(o=>o.path),this.pendingBlockingUpdates={added:[],removed:[],raw:{}},this.unresolvedBlockingEntries=[],await this.initializeUserFields()}async initializeUserFields(){var t;try{let n=this.app.vault.getAbstractFileByPath(this.task.path);if(!n||!(n instanceof jn.TFile))return;let i=this.app.metadataCache.getFileCache(n),s=i==null?void 0:i.frontmatter;if(!s)return;let a=((t=this.plugin.settings)==null?void 0:t.userFields)||[];for(let o of a){if(!o||!o.key)continue;let l=s[o.key];l!==void 0&&(this.userFields[o.key]=l)}}catch(n){console.error("Error initializing user fields:",n)}}showReminderContextMenu(t){let n={...this.task,title:this.title,due:this.dueDate,scheduled:this.scheduledDate,reminders:this.reminders};new vg(this.plugin,n,t.target,s=>{this.reminders=s.reminders||[],this.updateReminderIconState()}).show(t)}onOpen(){this.openEditModal()}async openEditModal(){this.completedInstancesChanges=[],await this.refreshTaskData(),this.containerEl.addClass("tasknotes-plugin","minimalist-task-modal","expanded"),this.plugin.settings.enableModalSplitLayout&&this.containerEl.addClass("split-layout-enabled"),this.modalEl.addClass("mod-tasknotes"),this.titleEl.setText(this.getModalTitle()),this.editModalKeyboardHandler=t=>{t.key==="Enter"&&(t.ctrlKey||t.metaKey)&&(t.preventDefault(),(async()=>(await this.handleSave(),this.forceClose()))())},this.containerEl.addEventListener("keydown",this.editModalKeyboardHandler),this.initializeFormData().then(()=>{this.createModalContent(),this.renderProjectsList(),this.updateIconStates(),this.focusTitleInput()})}async refreshTaskData(){try{let t=this.app.vault.getAbstractFileByPath(this.task.path);if(!t||!(t instanceof jn.TFile)){console.warn("Could not find file for task:",this.task.path);return}let n=await this.app.vault.read(t);this.details=this.extractDetailsFromContent(n),this.originalDetails=this.details;let i=this.app.metadataCache.getFileCache(t);if(!((i==null?void 0:i.frontmatter)&&this.plugin.cacheManager.isTaskFile(i.frontmatter))){this.task.details=this.details;return}let a=await this.plugin.cacheManager.getTaskInfo(this.task.path);if(a)a.details=this.details,this.task=a,this.options.task=a;else{let o=Pne(this.app,n,this.task.path,t,this.plugin.fieldMapper,this.plugin.settings.storeTitleInFilename,this.plugin.settings.defaultTaskStatus);o&&(o.details=this.details,this.task=o,this.options.task=o)}}catch(t){console.warn("Could not refresh task data:",t)}}createPrimaryInput(t){}createAdditionalSections(t){hde(t,{task:this.task,plugin:this.plugin,completedInstancesChanges:this.completedInstancesChanges,translate:(n,i)=>this.t(n,i)}),this.createMetadataSection(t)}forceClose(){this.pendingClose=!0,super.close()}close(){if(this.pendingClose){this.pendingClose=!1,super.close();return}if(this.isShowingConfirmation)return;let t=this.getChanges();if(!(Object.keys(t).length>0)){super.close();return}this.showUnsavedChangesConfirmation()}async showUnsavedChangesConfirmation(){this.isShowingConfirmation=!0;try{let t=await this.showThreeButtonConfirmation();if(t==="save")try{await this.handleSave(),this.forceClose()}catch(n){console.error("Save failed during close confirmation:",n)}else t==="discard"&&this.forceClose()}finally{this.isShowingConfirmation=!1}}showThreeButtonConfirmation(){return new Promise(t=>{new Aw(this.app,{title:this.t("modals.task.unsavedChanges.title"),message:this.t("modals.task.unsavedChanges.message"),confirmText:this.t("modals.task.unsavedChanges.save"),cancelText:this.t("modals.task.unsavedChanges.discard"),thirdButtonText:this.t("modals.task.unsavedChanges.cancel"),defaultToConfirm:!0,onThirdButton:()=>t("cancel")}).show().then(i=>{t(i?"save":"discard")})})}onClose(){this.editModalKeyboardHandler&&(this.containerEl.removeEventListener("keydown",this.editModalKeyboardHandler),this.editModalKeyboardHandler=null),super.onClose()}createMetadataSection(t){this.metadataContainer=t.createDiv("metadata-container");let n=this.metadataContainer.createDiv("detail-label");n.textContent=this.t("modals.taskEdit.sections.taskInfo");let i=this.metadataContainer.createDiv("metadata-content"),s=is(this.task.timeEntries||[]);if(s>0){let a=i.createDiv("metadata-item");a.createSpan("metadata-key").textContent=this.t("modals.taskEdit.metadata.totalTrackedTime")+" ",a.createSpan("metadata-value").textContent=VD(s)}if(this.task.dateCreated){let a=i.createDiv("metadata-item");a.createSpan("metadata-key").textContent=this.t("modals.taskEdit.metadata.created")+" ",a.createSpan("metadata-value").textContent=kD(this.task.dateCreated)}if(this.task.dateModified){let a=i.createDiv("metadata-item");a.createSpan("metadata-key").textContent=this.t("modals.taskEdit.metadata.modified")+" ",a.createSpan("metadata-value").textContent=kD(this.task.dateModified)}if(this.task.path){let a=i.createDiv("metadata-item");a.createSpan("metadata-key").textContent=this.t("modals.taskEdit.metadata.file")+" ",a.createSpan("metadata-value").textContent=this.task.path}}async handleSave(){if(!this.validateForm()){new jn.Notice(this.t("modals.taskEdit.notices.titleRequired"));return}try{let t=this.getChanges(),n=this.pendingBlockingUpdates.added.length>0||this.pendingBlockingUpdates.removed.length>0,i=Object.keys(t).length>0,s=this.hasSubtaskChanges();if(this.unresolvedBlockingEntries.length>0&&!n&&(new jn.Notice(this.t("modals.taskEdit.notices.blockingUnresolved",{entries:this.unresolvedBlockingEntries.join(", ")})),this.unresolvedBlockingEntries=[]),!i&&!n&&!s){new jn.Notice(this.t("modals.taskEdit.notices.noChanges")),this.close();return}let a=this.task;if(i&&(a=await this.plugin.taskService.updateTask(this.task,t),this.task=a,Object.prototype.hasOwnProperty.call(t,"details"))){let o=ie(t.details);this.details=o,this.originalDetails=o}if(n){await this.plugin.taskService.updateBlockingRelationships(a,this.pendingBlockingUpdates.added,this.pendingBlockingUpdates.removed,this.pendingBlockingUpdates.raw);let o=await this.plugin.cacheManager.getTaskInfo(a.path);o&&(a=o,this.task=o)}s&&await this.applySubtaskChanges(a),this.unresolvedBlockingEntries.length>0&&new jn.Notice(this.t("modals.taskEdit.notices.blockingUnresolved",{entries:this.unresolvedBlockingEntries.join(", ")})),this.options.onTaskUpdated&&this.options.onTaskUpdated(a),i?new jn.Notice(this.t("modals.taskEdit.notices.updateSuccess",{title:a.title})):n&&new jn.Notice(this.t("modals.taskEdit.notices.dependenciesUpdateSuccess")),this.pendingBlockingUpdates={added:[],removed:[],raw:{}},this.unresolvedBlockingEntries=[]}catch(t){console.error("Failed to update task:",t);let n=t instanceof Error&&t.message?t.message:String(t);new jn.Notice(this.t("modals.taskEdit.notices.updateFailure",{message:n}))}}getChanges(){var i,s;let t={};try{let a=this.app.vault.getAbstractFileByPath(this.task.path);a instanceof jn.TFile&&(t=((i=this.app.metadataCache.getFileCache(a))==null?void 0:i.frontmatter)||{})}catch(a){console.error("Error reading user field frontmatter:",a)}let n=yde({task:this.task,title:this.title,dueDate:this.dueDate,scheduledDate:this.scheduledDate,priority:this.priority,status:this.status,contexts:this.contexts,projects:this.projects,tags:this.tags,initialTags:this.initialTags,timeEstimate:this.timeEstimate,recurrenceRule:this.recurrenceRule,recurrenceAnchor:this.recurrenceAnchor,reminders:this.reminders,blockedByItems:this.blockedByItems,initialBlockedBy:this.initialBlockedBy,blockingItems:this.blockingItems,initialBlockingPaths:this.initialBlockingPaths,details:this.details,originalDetails:this.originalDetails,completedInstancesChanges:this.completedInstancesChanges,userFields:this.userFields,frontmatter:t,userFieldConfigs:((s=this.plugin.settings)==null?void 0:s.userFields)||[],taskIdentificationMethod:this.plugin.settings.taskIdentificationMethod,taskTag:this.plugin.settings.taskTag,maintainDueDateOffsetInRecurring:this.plugin.settings.maintainDueDateOffsetInRecurring,normalizeDetails:a=>this.normalizeDetails(a)});return this.pendingBlockingUpdates=n.blockingUpdates,this.unresolvedBlockingEntries=n.unresolvedBlockingEntries,n.changes}async openTaskNote(){try{let t=this.app.vault.getAbstractFileByPath(this.task.path);if(!(t instanceof jn.TFile)){new jn.Notice(this.t("modals.taskEdit.notices.fileMissing",{path:this.task.path}));return}await this.app.workspace.getLeaf(!0).openFile(t),this.close()}catch(t){console.error("Failed to open task note:",t),new jn.Notice(this.t("modals.taskEdit.notices.openNoteFailure"))}}async archiveTask(){try{let t=await this.plugin.taskService.toggleArchive(this.task);this.task=t,this.options.onTaskUpdated&&this.options.onTaskUpdated(t);let n=t.archived?"modals.taskEdit.archiveAction.archived":"modals.taskEdit.archiveAction.unarchived",i=this.t(n);new jn.Notice(this.t("modals.taskEdit.notices.archiveSuccess",{action:i})),this.close()}catch(t){console.error("Failed to archive task:",t),new jn.Notice(this.t("modals.taskEdit.notices.archiveFailure"))}}createActionButtons(t){let n=t.createDiv("modal-button-container");n.createEl("button",{cls:"open-note-button",text:this.t("modals.task.buttons.openNote")}).addEventListener("click",()=>{this.openTaskNote()}),n.createEl("button",{cls:"mod-warning archive-button",text:this.task.archived?this.t("modals.taskEdit.buttons.unarchive"):this.t("modals.taskEdit.buttons.archive")}).addEventListener("click",()=>{this.archiveTask()});let a=n.createEl("button",{cls:"mod-cta",text:this.t("modals.task.buttons.save")});a.addEventListener("click",()=>{(async()=>{a.disabled=!0;try{await this.handleSave(),this.forceClose()}finally{a.disabled=!1}})()}),n.createEl("button",{text:this.t("common.cancel")}).addEventListener("click",()=>{this.close()})}async initializeSubtasks(){try{let t=this.app.vault.getAbstractFileByPath(this.task.path);if(!(t instanceof jn.TFile))return;let n=await this.plugin.projectSubtasksService.getTasksLinkedToProject(t);this.selectedSubtaskFiles=[],this.initialSubtaskFiles=[];for(let i of n){let s=this.app.vault.getAbstractFileByPath(i.path);s&&(this.selectedSubtaskFiles.push(s),this.initialSubtaskFiles.push(s))}}catch(t){console.error("Error initializing subtasks:",t)}}hasSubtaskChanges(){let t=this.selectedSubtaskFiles.map(i=>i.path).sort(),n=this.initialSubtaskFiles.map(i=>i.path).sort();return t.length!==n.length||t.some((i,s)=>i!==n[s])}async applySubtaskChanges(t){let n=this.app.vault.getAbstractFileByPath(t.path);if(!(n instanceof jn.TFile))return;let i=new Set(this.selectedSubtaskFiles.map(l=>l.path)),s=new Set(this.initialSubtaskFiles.map(l=>l.path)),a=this.initialSubtaskFiles.filter(l=>!i.has(l.path));for(let l of a)await this.removeSubtaskRelation(l,n);let o=this.selectedSubtaskFiles.filter(l=>!s.has(l.path));for(let l of o)await this.addSubtaskRelation(l,n);this.initialSubtaskFiles=[...this.selectedSubtaskFiles]}async addSubtaskRelation(t,n){try{let i=await this.plugin.cacheManager.getTaskInfo(t.path);if(!i)return;let s=this.buildProjectReference(n,t.path),a=`[[${n.basename}]]`,o=Array.isArray(i.projects)?i.projects:[];if(o.includes(s)||o.includes(a))return;let c=[...o.filter(d=>d!==a),s];await this.plugin.updateTaskProperty(i,"projects",c)}catch(i){console.error("Failed to add subtask relation:",i)}}async removeSubtaskRelation(t,n){try{let i=await this.plugin.cacheManager.getTaskInfo(t.path);if(!i)return;let s=this.buildProjectReference(n,t.path),a=`[[${n.basename}]]`,l=(Array.isArray(i.projects)?i.projects:[]).filter(c=>c!==s&&c!==a);await this.plugin.updateTaskProperty(i,"projects",l)}catch(i){console.error("Failed to remove subtask relation:",i)}}};Wo();Cr();Qe();Qe();jr();var vde=require("obsidian"),aHe="en";function bde(r,e=""){let t={};return Object.entries(r).forEach(([n,i])=>{let s=e?`${e}.${n}`:n;typeof i=="string"?t[s]=i:i&&typeof i=="object"&&Object.assign(t,bde(i,s))}),t}function oHe(r,e){return e?r.replace(/\{(\w+)\}/g,(t,n)=>Object.prototype.hasOwnProperty.call(e,n)?String(e[n]):`{${n}}`):r}function uP(r){return r.toLowerCase().split("-")[0]}var pP=class extends vde.Events{constructor(t){var i,s;super();this.cache={};this.resources=t.resources,this.defaultLocale=t.defaultLocale,this.fallbackLocale=(i=t.fallbackLocale)!=null?i:aHe,this.getSystemLocaleFn=t.getSystemLocale;let n=(s=t.initialLocale)!=null?s:this.defaultLocale;this.currentLocale=this.resolveLocale(n)}getAvailableLocales(){return Object.keys(this.resources)}getNativeLanguageName(t){return{en:"English",fr:"Fran\xE7ais",de:"Deutsch",es:"Espa\xF1ol",pt:"Portugu\xEAs",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",zh:"\u4E2D\u6587",ja:"\u65E5\u672C\u8A9E"}[t]||t}getCurrentLocale(){return this.currentLocale}setLocale(t){let n=this.resolveLocale(t);if(n===this.currentLocale)return;let i=this.currentLocale;this.currentLocale=n;let s={previous:i,current:n};this.trigger("locale-changed",s)}translate(t,n){var s;let i=(s=this.resolveKey(t))!=null?s:t;return oHe(i,n)}translatePlural(t,n,i){let s=this.getPluralKey(t,n),a={...i,count:n};return this.translate(s,a)}resolveKey(t){let n=[this.currentLocale,this.fallbackLocale,this.defaultLocale];for(let i of n){let s=this.getLocaleMap(i);if(s&&Object.prototype.hasOwnProperty.call(s,t))return s[t]}}getSystemLocale(){if(this.getSystemLocaleFn){let t=this.getSystemLocaleFn();if(t)return uP(t)}return typeof navigator!="undefined"&&navigator.language?uP(navigator.language):this.defaultLocale}getLocaleMap(t){let n=uP(t);if(!this.cache[n]){let i=this.resources[n];if(!i)return{};this.cache[n]=bde(i)}return this.cache[n]}resolveLocale(t){let n=uP(t);if(this.resources[n])return n;if(t==="system"){let s=this.getSystemLocale();if(this.resources[s])return s}if(this.resources[this.defaultLocale])return this.defaultLocale;let i=this.getAvailableLocales()[0];return i!=null?i:this.fallbackLocale}getPluralKey(t,n){let i;switch(n){case 0:i="zero";break;case 1:i="one";break;default:i="other";break}let s=`${t}.${i}`,a=[this.currentLocale,this.fallbackLocale,this.defaultLocale];for(let o of a)if(this.getLocaleMap(o)[s])return s;return t}};var Tde={common:{appName:"TaskNotes",new:"New",cancel:"Cancel",confirm:"Confirm",close:"Close",save:"Save",reorder:{confirmLargeTitle:"Confirm large reorder",confirmButton:"Reorder notes",confirmLargeMessage:'Reordering here will update "{field}" in {count} notes to create a persistent manual order for {scope}. Hidden or filtered notes in the same scope may also be updated. Continue?'},language:"Language",systemDefault:"System default",loading:"Loading...",languages:{en:"English",fr:"French",ru:"Russian",zh:"Chinese",de:"German",es:"Spanish",ja:"Japanese",pt:"Portuguese (Brazil)",ko:"Korean"},weekdays:{sunday:"Sunday",monday:"Monday",tuesday:"Tuesday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday",saturday:"Saturday"},months:{january:"January",february:"February",march:"March",april:"April",may:"May",june:"June",july:"July",august:"August",september:"September",october:"October",november:"November",december:"December"}},views:{agenda:{title:"Agenda",today:"Today",overdue:"Overdue",refreshCalendars:"Refresh calendars",actions:{previousPeriod:"Previous period",nextPeriod:"Next period",goToToday:"Go to today",refreshCalendars:"Refresh calendar subscriptions"},loading:"Loading agenda...",dayToggle:"Toggle day",overdueToggle:"Toggle overdue section",expandAllDays:"Expand all days",collapseAllDays:"Collapse all days",notices:{calendarNotReady:"Calendar service not ready yet",calendarRefreshed:"Calendar subscriptions refreshed",refreshFailed:"Failed to refresh"},empty:{noItemsScheduled:"No items scheduled",noItemsFound:"No items found",helpText:"Create tasks with due or scheduled dates, or add notes to see them here."},contextMenu:{showOverdueSection:"Show overdue section",showNotes:"Show notes",calendarSubscriptions:"Calendar subscriptions"},periods:{thisWeek:"This week"},tipPrefix:"Tip: "},taskList:{title:"Tasks",expandAllGroups:"Expand all groups",collapseAllGroups:"Collapse all groups",noTasksFound:"No tasks found for the selected filters.",reorder:{scope:{ungrouped:"this ungrouped list",group:'group "{group}"'}},errors:{formulaGroupingReadOnly:"Cannot reorder tasks in formula-based groups. Formula values are computed and cannot be directly modified."}},notes:{title:"Notes",refreshButton:"Refresh",refreshingButton:"Refreshing...",notices:{indexingDisabled:"Note indexing disabled"},empty:{noNotesFound:"No notes found",helpText:"No notes found for the selected date. Try selecting a different date in the mini calendar view or create some notes."},loading:"Loading notes...",refreshButtonAriaLabel:"Refresh notes list"},miniCalendar:{title:"Mini calendar"},advancedCalendar:{title:"Calendar",filters:{showFilters:"Show filters",hideFilters:"Hide filters"},viewOptions:{calendarSubscriptions:"Calendar subscriptions",timeEntries:"Time entries",timeblocks:"Timeblocks",scheduledDates:"Scheduled dates",dueDates:"Due dates",allDaySlot:"All-day slot",scheduledTasks:"Scheduled tasks",recurringTasks:"Recurring tasks"},buttons:{refresh:"Refresh",refreshHint:"Refresh calendar subscriptions"},notices:{icsServiceNotAvailable:"ICS subscription service not available",calendarRefreshedAll:"All calendar subscriptions refreshed successfully",refreshFailed:"Failed to refresh some calendar subscriptions",timeblockSpecificTime:"Timeblocks must have specific times. Please select a time range in week or day view.",timeblockMoved:'Moved timeblock "{title}" to {date}',timeblockUpdated:'Updated timeblock "{title}" time',timeblockMoveFailed:"Failed to move timeblock: {message}",timeblockResized:'Updated timeblock "{title}" duration',timeblockResizeFailed:"Failed to resize timeblock: {message}",taskScheduled:'Task "{title}" scheduled for {date}',scheduleTaskFailed:"Failed to schedule task",endTimeAfterStart:"End time must be after start time",timeEntryNotFound:"Time entry not found",timeEntryDeleted:"Time entry deleted",deleteTimeEntryFailed:"Failed to delete time entry"},timeEntry:{estimatedSuffix:"estimated",trackedSuffix:"tracked",recurringPrefix:"Recurring: ",completedPrefix:"Completed: ",createdPrefix:"Created: ",modifiedPrefix:"Modified: ",duePrefix:"Due: ",scheduledPrefix:"Scheduled: "},contextMenus:{openTask:"Open task",deleteTimeEntry:"Delete time entry",deleteTimeEntryTitle:"Delete time entry",deleteTimeEntryConfirm:"Are you sure you want to delete this time entry{duration}? This action cannot be undone.",deleteButton:"Delete",cancelButton:"Cancel"}},basesCalendar:{title:"Bases calendar",today:"Today",buttonText:{month:"M",week:"W",day:"D",year:"Y",list:"L",customDays:"{count}D",listDays:"{count}d List",refresh:"Refresh"},hints:{refresh:"Refresh calendar subscriptions",today:"Go to today",prev:"Previous",next:"Next",month:"Month view",week:"Week view",day:"Day view",year:"Year view",list:"List view",customDays:"{count}-day view"},settings:{groups:{dateNavigation:"Date navigation",events:"Events",layout:"Layout",propertyBasedEvents:"Property-based events",calendarSubscriptions:"Calendar subscriptions",googleCalendars:"Google calendars",microsoftCalendars:"Microsoft calendars"},dateNavigation:{navigateToDate:"Navigate to date",navigateToDatePlaceholder:"YYYY-MM-DD (e.g., 2025-01-15) - leave empty to use property",navigateToDateFromProperty:"Navigate to date from property",navigateToDateFromPropertyPlaceholder:"Select a date property (optional)",propertyNavigationStrategy:"Property navigation strategy",strategies:{first:"First result",earliest:"Earliest date",latest:"Latest date"}},events:{showScheduledTasks:"Show scheduled tasks",showDueTasks:"Show due tasks",showRecurringTasks:"Show recurring tasks",showTimeEntries:"Show time entries",showTimeblocks:"Show timeblocks",showPropertyBasedEvents:"Show property-based events"},layout:{calendarView:"Calendar view",customDayCount:"Custom day count",listDayCount:"List day count",dayStartTime:"Day start time",dayStartTimePlaceholder:"HH:mm:ss (e.g., 08:00:00)",dayEndTime:"Day end time",dayEndTimePlaceholder:"HH:mm:ss (e.g., 20:00:00)",timeSlotDuration:"Time slot duration",timeSlotDurationPlaceholder:"HH:mm:ss (e.g., 00:30:00)",weekStartsOn:"Week starts on",showWeekNumbers:"Show week numbers",showNowIndicator:"Show now indicator",showWeekends:"Show weekends",showAllDaySlot:"Show all-day slot",showTodayHighlight:"Show today highlight",todayColumnWidthMultiplier:"Today column width multiplier",showSelectionPreview:"Show selection preview",timeFormat:"Time format",timeFormat12:"12-hour (AM/PM)",timeFormat24:"24-hour",initialScrollTime:"Initial scroll time",initialScrollTimePlaceholder:"HH:mm:ss (e.g., 08:00:00)",minimumEventHeight:"Minimum event height (px)",slotEventOverlap:"Allow events to overlap",enableSearch:"Enable search box",eventMaxStack:"Max stacked events (week/day view, 0 = unlimited)",dayMaxEvents:"Max events per day (month view, 0 = auto)",dayMaxEventRows:"Max event rows per day (month view, 0 = unlimited)",spanScheduledToDue:"Span tasks between scheduled and due dates"},propertyBasedEvents:{startDateProperty:"Start date property",startDatePropertyPlaceholder:"Select property for start date/time",endDateProperty:"End date property (optional)",endDatePropertyPlaceholder:"Select property for end date/time",titleProperty:"Title property (optional)",titlePropertyPlaceholder:"Select property for event title"}},errors:{failedToInitialize:"Failed to initialize calendar"}},kanban:{title:"Kanban",newTask:"New task",addCard:"+ Add a card",noTasks:"No tasks",uncategorized:"Uncategorized",noProject:"No project",reorder:{scope:{column:'column "{group}"',columnInSwimlane:'column "{group}" in swimlane "{swimlane}"'}},notices:{loadFailed:"Failed to load Kanban board",movedTask:'Task moved to "{0}"'},errors:{loadingBoard:"Error loading board.",noGroupBy:"Kanban view requires a 'group by' property to be configured. Click the 'sort' button and select a property under 'group by'.",formulaGroupingReadOnly:"Cannot move tasks between formula-based columns. Formula values are computed and cannot be directly modified.",formulaSwimlaneReadOnly:"Cannot move tasks between formula-based swimlanes. Formula values are computed and cannot be directly modified."},columnTitle:"Untitled"},pomodoro:{title:"Pomodoro",status:{focus:"Focus",ready:"Ready to start",paused:"Paused",working:"Working",shortBreak:"Short break",longBreak:"Long break",breakPrompt:"Great work! Time for a {length} break",breakLength:{short:"short",long:"long"},breakComplete:"Break complete! Ready for the next Pomodoro?"},buttons:{start:"Start",pause:"Pause",stop:"Stop",resume:"Resume",startShortBreak:"Start short break",startLongBreak:"Start long break",skipBreak:"Skip break",chooseTask:"Choose task...",changeTask:"Change task...",clearTask:"Clear task",selectDifferentTask:"Select a different task"},notices:{noTasks:"No unarchived tasks found. Create some tasks first.",loadFailed:"Failed to load tasks"},statsLabel:"completed today"},pomodoroStats:{title:"Pomodoro stats",heading:"Pomodoro statistics",refresh:"Refresh",sections:{overview:"Overview",today:"Today",week:"This week",allTime:"All time",recent:"Recent sessions"},overviewCards:{todayPomos:{label:"Today's pomos",change:{more:"{count} more than yesterday",less:"{count} fewer than yesterday"}},totalPomos:{label:"Total pomos"},todayFocus:{label:"Today's focus",change:{more:"{duration} more than yesterday",less:"{duration} less than yesterday"}},totalFocus:{label:"Total focus duration"}},stats:{pomodoros:"Pomodoros",streak:"Streak",minutes:"Minutes",average:"Avg length",completion:"Completion"},recents:{empty:"No sessions recorded yet",duration:"{minutes} min",status:{completed:"Completed",interrupted:"Interrupted"}}},stats:{title:"Statistics",taskProjectStats:"Task & project statistics",sections:{filters:"Filters",overview:"Overview",today:"Today",thisWeek:"This week",thisMonth:"This month",projectBreakdown:"Project breakdown",dateRange:"Date range"},filters:{minTime:"Min time (minutes)",allTasks:"All tasks",activeOnly:"Active only",completedOnly:"Completed only"},refreshButton:"Refresh",timeRanges:{allTime:"All time",last7Days:"Last 7 days",last30Days:"Last 30 days",last90Days:"Last 90 days",customRange:"Custom range"},resetFiltersButton:"Reset filters",dateRangeFrom:"From",dateRangeTo:"To",noProject:"No project",cards:{timeTrackedEstimated:"Time tracked / estimated",totalTasks:"Total tasks",completionRate:"Completion rate",activeProjects:"Active projects",avgTimePerTask:"Avg time per task"},labels:{tasks:"Tasks",completed:"Completed",projects:"Projects"},noProjectData:"No project data available",notAvailable:"N/A",noTasks:"No tasks found",loading:"Loading..."},releaseNotes:{title:"What's new in TaskNotes {version}",header:"What's new in TaskNotes {version}",viewAllLink:"View all release notes on GitHub \u2192",starMessage:"If you find TaskNotes useful, please consider giving it a star on GitHub",baseFilesNotice:"> [!info] About default `.base` files\n> Updates to default generated `.base` templates do not overwrite your existing `.base` files, so your customizations stay safe.\n> If you want the newest template improvements, regenerate base files in **Settings \u2192 TaskNotes \u2192 General \u2192 Create Default Files**."}},settings:{header:{documentation:"Documentation",documentationUrl:"https://tasknotes.dev"},tabs:{general:"General",taskProperties:"Task properties",modalFields:"Modal fields",defaults:"Defaults & templates",appearance:"Appearance & UI",features:"Features",integrations:"Integrations"},features:{inlineTasks:{header:"Inline tasks",description:"Settings for task links and checkbox-to-task conversion in notes."},overlays:{taskLinkToggle:{name:"Task link overlay",description:"Show interactive overlays when hovering over task links"},aliasExclusion:{name:"Disable overlay for aliased links",description:"Do not show the task widget if the link contains an alias (e.g. [[Task|Alias]])."}},instantConvert:{toggle:{name:"Show convert button next to checkboxes",description:"Display an inline button next to Markdown checkboxes that converts them to TaskNotes"},folder:{name:"Folder for converted tasks",description:"Folder where tasks converted from checkboxes will be created. Leave empty to use the default tasks folder. Use {{currentNotePath}} for the current note's folder, or {{currentNoteTitle}} for a subfolder named after the current note."}},nlp:{header:"Natural language processing",description:"Parse dates, priorities, and other properties from text input.",enable:{name:"Enable natural language task input",description:"Parse due dates, priorities, and contexts from natural language when creating tasks"},defaultToScheduled:{name:"Default to scheduled",description:"When NLP detects a date without context, treat it as scheduled rather than due"},language:{name:"NLP language",description:"Language for natural language processing patterns and date parsing"},statusTrigger:{name:"Status suggestion trigger",description:"Text to trigger status suggestions (leave empty to disable)"}},pomodoro:{header:"Pomodoro timer",description:"Configure work/break intervals for the Pomodoro timer.",workDuration:{name:"Work duration",description:"Duration of work intervals in minutes"},shortBreak:{name:"Short break duration",description:"Duration of short breaks in minutes"},longBreak:{name:"Long break duration",description:"Duration of long breaks in minutes"},longBreakInterval:{name:"Long break interval",description:"Number of work sessions before a long break"},autoStartBreaks:{name:"Auto-start breaks",description:"Automatically start break timers after work sessions"},autoStartWork:{name:"Auto-start work",description:"Automatically start work sessions after breaks"},notifications:{name:"Pomodoro notifications",description:"Show notifications when Pomodoro sessions end"},mobileSidebar:{name:"Mobile sidebar",description:"Where to open the Pomodoro timer on mobile devices",tab:"Note panel",left:"Left sidebar",right:"Right sidebar"}},uiLanguage:{header:"Interface language",description:"Change the language of TaskNotes menus, notices, and views.",dropdown:{name:"UI language",description:"Select the language used for TaskNotes interface text"}},pomodoroSound:{enabledName:"Sound enabled",enabledDesc:"Play sound when Pomodoro sessions end",volumeName:"Sound volume",volumeDesc:"Volume for Pomodoro sounds (0-100)"},dataStorage:{name:"Pomodoro data storage",description:"Configure where Pomodoro session data is stored and how it's managed.",dailyNotes:"Daily notes",pluginData:"Plugin data",notices:{locationChanged:"Pomodoro storage location changed to {location}"}},notifications:{header:"Notifications",description:"Configure task reminder notifications and alerts.",enableName:"Enable notifications",enableDesc:"Enable task reminder notifications",typeName:"Notification type",typeDesc:"Type of notifications to show",systemLabel:"System notifications",inAppLabel:"In-app notifications"},overdue:{hideCompletedName:"Hide completed tasks from overdue",hideCompletedDesc:"Exclude completed tasks from overdue task calculations"},indexing:{disableName:"Disable note indexing",disableDesc:"Disable automatic indexing of note content for better performance"},suggestions:{debounceName:"Suggestion debounce",debounceDesc:"Delay in milliseconds before showing suggestions"},timeTracking:{autoStopName:"Auto-stop time tracking",autoStopDesc:"Automatically stop time tracking when a task is marked complete",stopNotificationName:"Time tracking stop notification",stopNotificationDesc:"Show notification when time tracking is automatically stopped"},recurring:{maintainOffsetName:"Maintain due date offset in recurring tasks",maintainOffsetDesc:"Keep the offset between due date and scheduled date when recurring tasks are completed",resetCheckboxesName:"Reset checkboxes on recurrence",resetCheckboxesDesc:"Reset all Markdown checkboxes in the task body when a recurring task is completed and rescheduled"},timeblocking:{header:"Timeblocking",description:"Configure timeblock functionality for lightweight scheduling in daily notes. Drag on calendar views to create events - select 'Timeblock' from the context menu.",enableName:"Enable timeblocking",enableDesc:"Enable timeblocking feature for lightweight scheduling in daily notes. When enabled, 'Timeblock' option appears in the calendar drag context menu.",showBlocksName:"Show timeblocks",showBlocksDesc:"Display timeblocks from daily notes by default",defaultColorName:"Default timeblock color",defaultColorDesc:"The default color used when creating new timeblocks",usage:"Usage: Drag on the calendar to create events. Select 'Timeblock' from the context menu (only visible when timeblocking is enabled). Drag to move existing timeblocks. Resize edges to adjust duration."},performance:{header:"Performance & behavior",description:"Configure plugin performance and behavioral options."},timeTrackingSection:{header:"Time tracking",description:"Configure automatic time tracking behaviors."},recurringSection:{header:"Recurring tasks",description:"Configure behavior for recurring task management."},debugLogging:{header:"Debug logging",description:"Configure debug log output for troubleshooting.",enableName:"Enable debug logging",enableDesc:"Log detailed drag-and-drop and view diagnostics to the developer console. Useful for troubleshooting."}},defaults:{header:{basicDefaults:"Basic defaults",dateDefaults:"Date defaults",defaultReminders:"Default reminders",bodyTemplate:"Body template",instantTaskConversion:"Instant task conversion"},description:{basicDefaults:"Set default values for new tasks to speed up task creation.",dateDefaults:"Set default due and scheduled dates for new tasks.",defaultReminders:"Configure default reminders that will be added to new tasks.",bodyTemplate:"Configure a template file to use for new task content.",instantTaskConversion:"Configure behavior when converting text to tasks instantly."},basicDefaults:{defaultStatus:{name:"Default status",description:"Default status for new tasks"},defaultPriority:{name:"Default priority",description:"Default priority for new tasks"},defaultContexts:{name:"Default contexts",description:"Comma-separated list of default contexts (e.g., @home, @work)",placeholder:"@home, @work"},defaultTags:{name:"Default tags",description:"Comma-separated list of default tags (without #)",placeholder:"important, urgent"},defaultProjects:{name:"Default projects",description:"Default project links for new tasks",selectButton:"Select projects",selectTooltip:"Choose project notes to link by default",removeTooltip:"Remove {name} from default projects"},useParentNoteAsProject:{name:"Use parent note as project during instant conversion",description:"Automatically link the parent note as a project when using instant task conversion"},defaultTimeEstimate:{name:"Default time estimate",description:"Default time estimate in minutes (0 = no default)",placeholder:"60"},defaultRecurrence:{name:"Default recurrence",description:"Default recurrence pattern for new tasks"}},dateDefaults:{defaultDueDate:{name:"Default due date",description:"Default due date for new tasks"},defaultScheduledDate:{name:"Default scheduled date",description:"Default scheduled date for new tasks"}},reminders:{addReminder:{name:"Add default reminder",description:"Create a new default reminder that will be added to all new tasks",buttonText:"Add reminder"},emptyState:"No default reminders configured. Add a reminder to automatically notify you about new tasks.",emptyStateButton:"Add reminder",reminderDescription:"Reminder description",unnamedReminder:"Unnamed reminder",deleteTooltip:"Delete reminder",fields:{description:"Description:",type:"Type:",offset:"Offset:",unit:"Unit:",direction:"Direction:",relatedTo:"Related to:",date:"Date:",time:"Time:"},types:{relative:"Relative (before/after task dates)",absolute:"Absolute (specific date/time)"},units:{minutes:"minutes",hours:"hours",days:"days"},directions:{before:"before",after:"after"},relatedTo:{due:"due date",scheduled:"scheduled date"}},bodyTemplate:{useBodyTemplate:{name:"Use body template",description:"Use a template file for task body content"},bodyTemplateFile:{name:"Body template file",description:"Path to template file for task body content. Supports template variables like {{title}}, {{date}}, {{time}}, {{priority}}, {{status}}, etc.",placeholder:"Templates/Task Template.md",ariaLabel:"Path to body template file"},variablesHeader:"Template variables:",variables:{title:"{{title}} - Task title",details:"{{details}} - User-provided details from modal",date:"{{date}} - Current date (YYYY-MM-DD)",time:"{{time}} - Current time (HH:MM)",priority:"{{priority}} - Task priority",status:"{{status}} - Task status",contexts:"{{contexts}} - Task contexts",tags:"{{tags}} - Task tags",projects:"{{projects}} - Task projects"}},instantConversion:{useDefaultsOnInstantConvert:{name:"Use task defaults on instant convert",description:"Apply default task settings when converting text to tasks instantly"}},options:{noDefault:"No default",none:"None",today:"Today",tomorrow:"Tomorrow",nextWeek:"Next week",daily:"Daily",weekly:"Weekly",monthly:"Monthly",yearly:"Yearly"}},general:{taskStorage:{header:"Task storage",description:"Configure where tasks are stored and how they are identified.",defaultFolder:{name:"Default tasks folder",description:"Default location for new tasks"},moveArchived:{name:"Move archived tasks to folder",description:"Automatically move archived tasks to an archive folder"},archiveFolder:{name:"Archive folder",description:"Folder to move tasks to when archived. Supports template variables like {{year}}, {{month}}, {{priority}}, etc."}},taskIdentification:{header:"Task identification",description:"Choose how TaskNotes identifies notes as tasks.",identifyBy:{name:"Identify tasks by",description:"Choose whether to identify tasks by tag or by a frontmatter property",options:{tag:"Tag",property:"Property"}},taskTag:{name:"Task tag",description:"Tag that identifies notes as tasks (without #)"},hideIdentifyingTags:{name:"Hide identification tags in task cards",description:"When enabled, tags matching the task identification tag (including hierarchical matches like 'task/project') will be hidden from task card displays"},taskProperty:{name:"Task property name",description:'The frontmatter property name (e.g., "category")'},taskPropertyValue:{name:"Task property value",description:'The value that identifies a note as a task (e.g., "task")'}},folderManagement:{header:"Folder management",excludedFolders:{name:"Excluded folders",description:"Comma-separated list of folders to exclude from task indexing and project suggestions"}},frontmatter:{header:"Frontmatter",description:"Configure how links are formatted in frontmatter properties.",useMarkdownLinks:{name:"Use Markdown links in frontmatter",description:`Generate markdown links ([text](path)) instead of wikilinks ([[link]]) in frontmatter properties.
\u26A0\uFE0F Requires the 'obsidian-frontmatter-markdown-links' plugin to work correctly.`}},taskInteraction:{header:"Task interaction",description:"Configure how clicking on tasks behaves.",singleClick:{name:"Single-click action",description:"Action performed when single-clicking a task card"},doubleClick:{name:"Double-click action",description:"Action performed when double-clicking a task card"},actions:{edit:"Edit task",openNote:"Open note",none:"No action"}},releaseNotes:{header:"Release notes",description:"Current version: {version}",showOnUpdate:{name:"Show release notes after update",description:"Automatically open release notes when TaskNotes is updated to a new version"},viewButton:{name:"View release notes",description:"See what's new in the latest version of TaskNotes",buttonText:"View release notes"}}},taskProperties:{sections:{coreProperties:"Core properties",corePropertiesDesc:"Status and priority are the core properties that define a task's state and importance.",dateProperties:"Date properties",datePropertiesDesc:"Configure when tasks are due and scheduled.",organizationProperties:"Organization properties",organizationPropertiesDesc:"Organize tasks with contexts, projects, and tags.",taskDetails:"Task details",taskDetailsDesc:"Additional details like time estimates, recurrence, and reminders.",metadataProperties:"Metadata properties",metadataPropertiesDesc:"System-managed properties for tracking task history.",featureProperties:"Feature properties",featurePropertiesDesc:"Properties used by specific TaskNotes features like Pomodoro timer and calendar sync."},propertyCard:{propertyKey:"Property key:",default:"Default:",nlpTrigger:"NLP trigger:",triggerChar:"Trigger character:",triggerEmpty:"Trigger cannot be empty",triggerTooLong:"Trigger is too long (max 10 characters)"},properties:{status:{name:"Status",description:"Tracks the current state of a task (e.g., todo, in-progress, done). Status determines whether a task appears as completed and can trigger auto-archiving."},priority:{name:"Priority",description:"Indicates task importance. Used for sorting and filtering. Values are sorted alphabetically in Bases views, so use prefixes like 1-, 2- to control order."},due:{name:"Due date",description:"The deadline by which a task must be completed. Tasks past their due date appear as overdue. Stored as a date in frontmatter."},scheduled:{name:"Scheduled date",description:"When you plan to work on a task. Unlike due date, this represents your intended start time. Tasks appear on the calendar at their scheduled date/time."},contexts:{name:"Contexts",description:"Locations or conditions where a task can be done (e.g., @home, @office, @phone). Useful for filtering tasks by your current situation. Stored as a list."},projects:{name:"Projects",description:"Links to project notes this task belongs to. Stored as wikilinks (e.g., [[Project Name]]). Tasks can belong to multiple projects."},tags:{name:"Tags",description:"Native Obsidian tags for categorizing tasks. These are stored in the tags frontmatter property and work with Obsidian's tag features."},timeEstimate:{name:"Time estimate",description:"Estimated minutes to complete the task. Used for time-blocking and workload planning. Displayed on task cards and calendar events."},recurrence:{name:"Recurrence",description:"Pattern for repeating tasks (daily, weekly, monthly, yearly, or custom RRULE). When a recurring task is completed, its scheduled date is automatically updated to the next occurrence."},recurrenceAnchor:{name:"Recurrence anchor",description:"Controls how the next occurrence is calculated: 'scheduled' uses the scheduled date, 'completion' uses the actual completion date."},reminders:{name:"Reminders",description:"Notifications triggered before due or scheduled dates. Stored as a list of reminder objects with timing and optional description."},title:{name:"Title",description:"The task name. Can be stored in frontmatter or in the filename (when 'store title in filename' is enabled)."},dateCreated:{name:"Date created",description:"Timestamp when the task was first created. Automatically set and used for sorting by creation order."},dateModified:{name:"Date modified",description:"Timestamp of the last change to the task. Automatically updated when any task property changes."},completedDate:{name:"Completed date",description:"Timestamp when the task was marked complete. Set automatically when status changes to a completed state."},archiveTag:{name:"Archive tag",description:"Tag added to tasks when archived. Used to identify archived tasks and can trigger file movement to archive folder."},timeEntries:{name:"Time entries",description:"Records of time tracking sessions for this task. Each entry stores start and end timestamps. Used to calculate total time spent."},completeInstances:{name:"Complete instances",description:"Completion history for recurring tasks. Stores dates when each instance was completed to prevent duplicate completions."},skippedInstances:{name:"Skipped instances",description:"Skipped occurrences for recurring tasks. Stores dates of instances that were skipped rather than completed."},blockedBy:{name:"Blocked by",description:"Links to tasks that must be completed before this one. Stored as wikilinks. Blocked tasks display a visual indicator."},sortOrder:{name:"Manual order",description:"Frontmatter property used for drag-to-reorder manual ordering. A view must be sorted by this property for drag-and-drop reordering to work."},pomodoros:{name:"Pomodoros",description:"Count of completed Pomodoro sessions. When data storage is set to 'daily notes', this is written to daily notes instead of task files."},icsEventId:{name:"ICS event ID",description:"Unique identifier linking a note to an ICS calendar event. Added automatically when creating notes from calendar events."},icsEventTag:{name:"ICS event tag",description:"Tag identifying notes created from ICS calendar events. Used to distinguish calendar-generated notes from regular tasks."}},statusCard:{valuesHeader:"Status values"},priorityCard:{valuesHeader:"Priority values"},projectsCard:{defaultProjects:"Default projects:",useParentNote:"Use parent note as project:",noDefaultProjects:"No default projects selected",autosuggestFilters:"Autosuggest filters",customizeDisplay:"Customize display",filtersOn:"Filters on"},titleCard:{storeTitleInFilename:"Store title in filename:",storedInFilename:"Stored in filename",filenameUpdatesWithTitle:"Filename will automatically update when the task title changes.",filenameFormat:"Filename format:",customTemplate:"Custom template:",legacySyntaxWarning:"Single-brace syntax like {title} is deprecated. Please use double-brace syntax {{title}} instead for consistency with body templates."},tagsCard:{nativeObsidianTags:"Uses native Obsidian tags"},remindersCard:{defaultReminders:"Default reminders"},taskStatuses:{header:"Task statuses",description:"Customize the status options available for your tasks. These statuses control the task lifecycle and determine when tasks are considered complete.",howTheyWork:{title:"How statuses work:",value:'Value: The internal identifier stored in your task files (e.g., "in-progress")',label:'Label: The display name shown in the interface (e.g., "In Progress")',color:"Color: Visual indicator color for the status dot and badges",icon:'Icon: Optional Lucide icon name to display instead of colored dot (e.g., "check", "circle", "clock"). Browse icons at lucide.dev',completed:"Completed: When checked, tasks with this status are considered finished and may be filtered differently",autoArchive:"Auto-archive: When enabled, tasks will be automatically archived after the specified delay (1-1440 minutes)",orderNote:"The order below determines the sequence when cycling through statuses by clicking on task status badges."},addNew:{name:"Add new status",description:"Create a new status option for your tasks",buttonText:"Add status"},validationNote:'Note: You must have at least 2 statuses, and at least one status must be marked as "completed".',emptyState:"No custom statuses configured. Add a status to get started.",emptyStateButton:"Add status",fields:{value:"Value:",label:"Label:",color:"Color:",icon:"Icon:",completed:"Completed:",autoArchive:"Auto-archive:",delayMinutes:"Delay (minutes):"},placeholders:{value:"in-progress",label:"In progress",icon:"check, circle, clock"},badges:{completed:"Completed"},deleteConfirm:'Are you sure you want to delete the status "{label}"?'},taskPriorities:{header:"Task priorities",description:"Customize the priority levels available for your tasks. In v4.0+, priorities are sorted alphabetically by their value in Bases views.",howTheyWork:{title:"How priorities work:",value:'Value: The internal identifier stored in your task files. Use prefixes like "1-urgent", "2-high" to control sort order in Bases views.',label:'Display Label: The display name shown in the interface (e.g., "High Priority")',color:"Color: Visual indicator color for the priority dot and badges"},addNew:{name:"Add new priority",description:"Create a new priority level for your tasks",buttonText:"Add priority"},validationNote:"Note: You must have at least 1 priority. Priorities are sorted alphabetically by value in Bases views.",emptyState:"No custom priorities configured. Add a priority to get started.",emptyStateButton:"Add priority",fields:{value:"Value:",label:"Label:",color:"Color:"},placeholders:{value:"high",label:"High priority"},deleteConfirm:"You must have at least one priority",deleteTooltip:"Delete priority"},fieldMapping:{header:"Field mapping",warning:"\u26A0\uFE0F Warning: TaskNotes will read AND write using these property names. Changing these after creating tasks may cause inconsistencies.",description:"Configure which frontmatter properties TaskNotes should use for each field.",resetButton:{name:"Reset field mappings",description:"Reset all field mappings to default values",buttonText:"Reset to defaults"},notices:{resetSuccess:"Field mappings reset to defaults",resetFailure:"Failed to reset field mappings",updateFailure:"Failed to update field mapping for {label}. Please try again."},table:{fieldHeader:"TaskNotes field",propertyHeader:"Your property name"},fields:{title:"Title",status:"Status",priority:"Priority",due:"Due date",scheduled:"Scheduled date",contexts:"Contexts",projects:"Projects",timeEstimate:"Time estimate",recurrence:"Recurrence",dateCreated:"Created date",completedDate:"Completed date",dateModified:"Modified date",archiveTag:"Archive tag",timeEntries:"Time entries",completeInstances:"Complete instances",blockedBy:"Blocked by",sortOrder:"Manual order",pomodoros:"Pomodoros",icsEventId:"ICS event ID",icsEventTag:"ICS event tag",reminders:"Reminders"}},customUserFields:{header:"Custom user fields",description:"Define custom frontmatter properties to appear as type-aware filter options across views. Each row: Display name, property name, type.",addNew:{name:"Add new user field",description:"Create a new custom field that will appear in filters and views",buttonText:"Add user field"},emptyState:"No custom user fields configured. Add a field to create custom properties for your tasks.",emptyStateButton:"Add user field",fields:{displayName:"Display name:",propertyKey:"Property key:",type:"Type:",defaultValue:"Default value:"},placeholders:{displayName:"Display name",propertyKey:"property-name",defaultValue:"Default value",defaultValueList:"Default values (comma-separated)"},types:{text:"Text",number:"Number",boolean:"Boolean",date:"Date",list:"List"},defaultNames:{unnamedField:"Unnamed field",noKey:"no-key"},deleteTooltip:"Delete field",autosuggestFilters:{header:"Autosuggestion filters (advanced)",description:"Filter which files appear in autocomplete suggestions for this field"}}},appearance:{taskCards:{header:"Task cards",description:"Configure how task cards are displayed across all views.",defaultVisibleProperties:{name:"Default visible properties",description:"Choose which properties appear on task cards by default."},propertyGroups:{coreProperties:"Core properties",organization:"ORGANIZATION",customProperties:"Custom properties"},properties:{status:"Status dot",priority:"Priority dot",due:"Due date",scheduled:"Scheduled date",timeEstimate:"Time estimate",totalTrackedTime:"Total tracked time",checklistProgress:"Checklist progress",recurrence:"Recurrence",completedDate:"Completed date",createdDate:"Created date",modifiedDate:"Modified date",projects:"Projects",contexts:"Contexts",tags:"Tags",blocked:"Blocked",blocking:"Blocking"}},taskFilenames:{header:"Task filenames",description:"Configure how task files are named when created.",storeTitleInFilename:{name:"Store title in filename",description:"Use the task title as the filename. Filename will update when the task title is changed (recommended)."},filenameFormat:{name:"Filename format",description:"How task filenames should be generated",options:{title:"Task title (non-updating)",zettel:"Zettelkasten format (YYMMDD + base36 seconds since midnight)",timestamp:"Full timestamp (YYYY-MM-DD-HHMMSS)",custom:"Custom template"}},customTemplate:{name:"Custom filename template",description:"Template for custom filenames. Available variables: {title}, {titleLower}, {titleUpper}, {titleSnake}, {titleKebab}, {titleCamel}, {titlePascal}, {date}, {shortDate}, {time}, {time12}, {time24}, {timestamp}, {dateTime}, {year}, {month}, {monthName}, {monthNameShort}, {day}, {dayName}, {dayNameShort}, {hour}, {hour12}, {minute}, {second}, {milliseconds}, {ms}, {ampm}, {week}, {quarter}, {unix}, {unixMs}, {timezone}, {timezoneShort}, {utcOffset}, {utcOffsetShort}, {utcZ}, {zettel}, {nano}, {priority}, {priorityShort}, {status}, {statusShort}, {dueDate}, {scheduledDate}",placeholder:"{date}-{title}-{dueDate}",helpText:"Note: {dueDate} and {scheduledDate} are in YYYY-MM-DD format and will be empty if not set."}},displayFormatting:{header:"Display formatting",description:"Configure how dates, times, and other data are displayed across the plugin.",timeFormat:{name:"Time format",description:"Display time in 12-hour or 24-hour format throughout the plugin",options:{twelveHour:"12-hour (AM/PM)",twentyFourHour:"24-hour"}}},calendarView:{header:"Calendar view",description:"Customize the appearance and behavior of the calendar view.",defaultView:{name:"Default view",description:"The calendar view shown when opening the calendar tab",options:{monthGrid:"Month grid",weekTimeline:"Week timeline",dayTimeline:"Day timeline",yearView:"Year view",customMultiDay:"Custom multi-day"}},customDayCount:{name:"Custom view day count",description:"Number of days to show in custom multi-day view",placeholder:"3"},firstDayOfWeek:{name:"First day of week",description:"Which day should be the first column in week views"},showWeekends:{name:"Show weekends",description:"Display weekends in calendar views"},showWeekNumbers:{name:"Show week numbers",description:"Display week numbers in calendar views"},showTodayHighlight:{name:"Show today highlight",description:"Highlight the current day in calendar views"},showCurrentTimeIndicator:{name:"Show current time indicator",description:"Display a line showing the current time in timeline views"},selectionMirror:{name:"Selection mirror",description:"Show a visual preview while dragging to select time ranges"},calendarLocale:{name:"Calendar locale",description:'Calendar locale for date formatting and calendar system (e.g., "en", "fa" for Farsi/Persian, "de" for German). Leave empty to auto-detect from browser.',placeholder:"Auto-detect",invalidLocale:"Invalid locale. Please enter a valid language tag (e.g., 'en', 'de', 'fr-FR')."}},defaultEventVisibility:{header:"Default event visibility",description:"Configure which event types are visible by default when opening the calendar. Users can still toggle these on/off in the calendar view.",showScheduledTasks:{name:"Show scheduled tasks",description:"Display tasks with scheduled dates by default"},showDueDates:{name:"Show due dates",description:"Display task due dates by default"},showDueWhenScheduled:{name:"Show due dates when scheduled",description:"Display due dates even for tasks that already have scheduled dates"},showTimeEntries:{name:"Show time entries",description:"Display completed time tracking entries by default"},showRecurringTasks:{name:"Show recurring tasks",description:"Display recurring task instances by default"},showICSEvents:{name:"Show ICS events",description:"Display events from ICS subscriptions by default"}},timeSettings:{header:"Time settings",description:"Configure time-related display settings for timeline views.",timeSlotDuration:{name:"Time slot duration",description:"Duration of each time slot in timeline views",options:{fifteenMinutes:"15 minutes",thirtyMinutes:"30 minutes",sixtyMinutes:"60 minutes"}},startTime:{name:"Start time",description:"Earliest time shown in timeline views (HH:MM format)",placeholder:"06:00"},endTime:{name:"End time",description:"Latest time shown in timeline views (HH:MM format)",placeholder:"22:00"},initialScrollTime:{name:"Initial scroll time",description:"Time to scroll to when opening timeline views (HH:MM format)",placeholder:"09:00"},eventMinHeight:{name:"Event minimum height",description:"Minimum height for events in timeline views (pixels)",placeholder:"15"}},uiElements:{header:"UI elements",description:"Configure the display of various UI elements.",showTrackedTasksInStatusBar:{name:"Show tracked tasks in status bar",description:"Display currently tracked tasks in Obsidian's status bar"},showRelationshipsWidget:{name:"Show relationships widget",description:"Display a widget showing all relationships for the current note (subtasks, projects, dependencies)"},relationshipsPosition:{name:"Relationships position",description:"Where to position the relationships widget",options:{top:"Top of note",bottom:"Bottom of note"}},showTaskCardInNote:{name:"Show task card in note",description:"Display a task card widget at the top of task notes showing the task details and actions"},showExpandableSubtasks:{name:"Show expandable subtasks",description:"Allow expanding/collapsing subtask sections in task cards"},subtaskChevronPosition:{name:"Subtask chevron position",description:"Position of expand/collapse chevrons in task cards",options:{left:"Left side",right:"Right side"}},viewsButtonAlignment:{name:"Views button alignment",description:"Alignment of the views/filters button in the task interface",options:{left:"Left side",right:"Right side"}}},projectAutosuggest:{header:"Project autosuggest",description:"Customize how project suggestions display during task creation.",requiredTags:{name:"Required tags",description:"Show only notes with any of these tags (comma-separated). Leave empty to show all notes.",placeholder:"project, active, important"},includeFolders:{name:"Include folders",description:"Show only notes in these folders (comma-separated paths). Leave empty to show all folders.",placeholder:"Projects/, Work/Active, Personal"},requiredPropertyKey:{name:"Required property key",description:"Show only notes where this frontmatter property matches the value below. Leave empty to ignore.",placeholder:"type"},requiredPropertyValue:{name:"Required property value",description:"Only notes where the property equals this value are suggested. Leave empty to require the property to exist.",placeholder:"project"},customizeDisplay:{name:"Customize suggestion display",description:"Show advanced options to configure how project suggestions appear and what information they display."},enableFuzzyMatching:{name:"Enable fuzzy matching",description:"Allow typos and partial matches in project search. May be slower in large vaults."},displayRowsHelp:"Configure up to 3 lines of information to show for each project suggestion.",displayRows:{row1:{name:"Row 1",description:"Format: {property|flags}. Properties: title, aliases, file.path, file.parent. Flags: n(Label) shows label, s makes searchable. Example: {title|n(Title)|s}",placeholder:"{title|n(Title)}"},row2:{name:"Row 2 (optional)",description:"Common patterns: {aliases|n(Aliases)}, {file.parent|n(Folder)}, literal:Custom Text",placeholder:"{aliases|n(Aliases)}"},row3:{name:"Row 3 (optional)",description:"Additional info like {file.path|n(Path)} or custom frontmatter fields",placeholder:"{file.path|n(Path)}"}},quickReference:{header:"Quick reference",properties:"Available properties: title, aliases, file.path, file.parent, or any frontmatter field",labels:'Add labels: {title|n(Title)} \u2192 "Title: My Project"',searchable:"Make searchable: {description|s} includes description in + search",staticText:"Static text: literal:My Custom Label",alwaysSearchable:"Filename, title, and aliases are always searchable by default."}},dataStorage:{name:"Storage location",description:"Where to store Pomodoro session history",pluginData:"Plugin data (recommended)",dailyNotes:"Daily notes",notices:{locationChanged:"Pomodoro storage location changed to {location}"}},notifications:{description:"Configure task reminder notifications and alerts."},performance:{description:"Configure plugin performance and behavioral options."},timeTrackingSection:{description:"Configure automatic time tracking behaviors."},recurringSection:{description:"Configure behavior for recurring task management."}},integrations:{basesIntegration:{header:"Bases integration",description:"Configure integration with the Obsidian Bases plugin. This is an experimental feature, and currently relies on undocumented Obsidian APIs. Behaviour may change or break.",enable:{name:"Enable Bases integration",description:"Enable TaskNotes views to be used within Obsidian Bases plugin. Bases plugin must be enabled for this to work."},viewCommands:{header:"Views & base files",description:"TaskNotes uses Obsidian Bases files (.base) to power its views. These files are generated automatically on startup if they don't exist, configured with your current settings (task identification, field mappings, statuses, etc.).",descriptionRegen:'Base files are not automatically updated when you change settings. To apply new settings, delete the existing .base files and restart Obsidian, or use "Create files" below, or edit them manually.',docsLink:"View documentation for available formulas and customization options",docsLinkUrl:"https://tasknotes.dev/views/default-base-templates",commands:{miniCalendar:"Open mini calendar view",kanban:"Open Kanban view",tasks:"Open tasks view",advancedCalendar:"Open advanced calendar view",agenda:"Open agenda view",relationships:"Relationships widget"},fileLabel:"File: {path}",resetButton:"Reset",resetTooltip:"Reset to default path"},autoCreateDefaultFiles:{name:"Auto-create default files",description:"Automatically create missing default base view files on startup. Disable to prevent deleted sample files from being recreated."},createDefaultFiles:{name:"Create default files",description:"Create the default .base files in TaskNotes/Views/ directory. Existing files will not be overwritten.",buttonText:"Create files"},exportV3Views:{name:"Export v3 saved views to Bases",description:"Convert all your saved views from TaskNotes v3 into a single .base file with multiple views. This helps migrate your v3 filter configurations to the new Bases system.",buttonText:"Export v3 views",noViews:"No saved views to export",fileExists:"File already exists",confirmOverwrite:'A file named "{fileName}" already exists. Overwrite it?',success:"Exported {count} saved views to {filePath}",error:"Failed to export views: {message}"},notices:{enabled:"Bases integration enabled. Please restart Obsidian to complete the setup.",disabled:"Bases integration disabled. Please restart Obsidian to complete the removal."}},calendarSubscriptions:{header:"Calendar subscriptions",description:"Subscribe to external calendars via ICS/iCal URLs to view events alongside your tasks.",defaultNoteTemplate:{name:"Default note template",description:"Path to template file for notes created from ICS events",placeholder:"Templates/Event Template.md"},defaultNoteFolder:{name:"Default note folder",description:"Folder for notes created from ICS events",placeholder:"Calendar/Events"},filenameFormat:{name:"ICS note filename format",description:"How filenames are generated for notes created from ICS events",options:{title:"Event title",zettel:"Zettelkasten format",timestamp:"Timestamp",custom:"Custom template"}},customTemplate:{name:"Custom ICS filename template",description:"Template for custom ICS event filenames",placeholder:"{date}-{title}"},useICSEndAsDue:{name:"Use ICS event end time as task due date",description:"When enabled, tasks created from calendar events will have their due date set to the event's end time. For all-day events, the due date will be set to the event date. For timed events, the due date will include the end time."}},subscriptionsList:{header:"Calendar subscriptions list",addSubscription:{name:"Add calendar subscription",description:"Add a new calendar subscription from ICS/iCal URL or local file",buttonText:"Add subscription"},refreshAll:{name:"Refresh all subscriptions",description:"Manually refresh all enabled calendar subscriptions",buttonText:"Refresh all"},newCalendarName:"New calendar",emptyState:"No calendar subscriptions configured. Add a subscription to sync external calendars.",notices:{addSuccess:"New calendar subscription added - please configure the details",addFailure:"Failed to add subscription",serviceUnavailable:"ICS subscription service not available",refreshSuccess:"All calendar subscriptions refreshed successfully",refreshFailure:"Failed to refresh some calendar subscriptions",updateFailure:"Failed to update subscription",deleteSuccess:'Deleted subscription "{name}"',deleteFailure:"Failed to delete subscription",enableFirst:"Enable the subscription first",refreshSubscriptionSuccess:'Refreshed "{name}"',refreshSubscriptionFailure:"Failed to refresh subscription"},labels:{enabled:"Enabled:",name:"Name:",type:"Type:",url:"URL:",filePath:"File path:",color:"Color:",refreshMinutes:"Refresh (min):"},typeOptions:{remote:"Remote URL",local:"Local file"},placeholders:{calendarName:"Calendar name",url:"ICS/iCal URL",filePath:"Local file path (e.g., Calendar.ics)",localFile:"Calendar.ics"},statusLabels:{enabled:"Enabled",disabled:"Disabled",remote:"Remote",localFile:"Local file",remoteCalendar:"Remote calendar",localFileCalendar:"Local file",synced:"Synced {timeAgo}",error:"Error"},actions:{refreshNow:"Refresh now",deleteSubscription:"Delete subscription"},refreshNow:"Refresh now",confirmDelete:{title:"Delete subscription",message:'Are you sure you want to delete the subscription "{name}"? This action cannot be undone.',confirmText:"Delete"}},autoExport:{header:"Automatic ICS export",description:"Automatically export all your tasks to an ICS file.",enable:{name:"Enable automatic export",description:"Automatically keep an ICS file updated with all your tasks"},filePath:{name:"Export file path",description:"Path where the ICS file will be saved (relative to vault root)",placeholder:"tasknotes-calendar.ics"},interval:{name:"Update interval (between 5 and 1440 minutes)",description:"How often to update the export file",placeholder:"60"},useDuration:{name:"Use task duration for event length",description:"When enabled, uses the task's time estimate (duration) instead of due date for the calendar event end time. This is useful for GTD workflows where scheduled + duration represents work planning, while due date represents deadlines."},exportNow:{name:"Export now",description:"Manually trigger an immediate export",buttonText:"Export now"},status:{title:"Export status:",lastExport:"Last export: {time}",nextExport:"Next export: {time}",noExports:"No exports yet",notScheduled:"Not scheduled",notInitialized:"Auto export service not initialized - please restart Obsidian",serviceNotInitialized:"Service not initialized - please restart Obsidian"},notices:{reloadRequired:"Please reload Obsidian for the automatic export changes to take effect.",exportSuccess:"Tasks exported successfully",exportFailure:"Export failed - check console for details",serviceUnavailable:"Auto export service not available"}},googleCalendarExport:{header:"Export tasks to Google Calendar",description:"Automatically sync your tasks to Google Calendar as events. Requires Google Calendar to be connected above.",enable:{name:"Enable task export",description:"When enabled, tasks with dates will be automatically synced to Google Calendar as events."},targetCalendar:{name:"Target calendar",description:"Select which calendar to create task events in.",placeholder:"Select a calendar...",connectFirst:"Connect Google Calendar first",primarySuffix:" (Primary)"},syncTrigger:{name:"Sync trigger",description:"Which task date should trigger calendar event creation.",options:{scheduled:"Scheduled date",due:"Due date",both:"Both (prefer scheduled)"}},allDayEvents:{name:"Create as all-day events",description:"When enabled, tasks are created as all-day events. When disabled, uses time estimate for duration."},defaultDuration:{name:"Default event duration",description:"Duration in minutes for timed events (used when task has no time estimate)."},eventTitleTemplate:{name:"Event title template",description:"Template for event titles. Available variables: {{title}}, {{status}}, {{priority}}",placeholder:"{{title}}"},includeDescription:{name:"Include task details in description",description:"Add task metadata (priority, status, tags, etc.) to the event description."},includeObsidianLink:{name:"Include Obsidian link",description:"Add a link back to the task in Obsidian in the event description."},defaultReminder:{name:"Default reminder",description:"Add a popup reminder to Google Calendar events. Set minutes before event (0 = no reminder). Common values: 15, 30, 60, 1440 (1 day)."},automaticSyncBehavior:{header:"Automatic sync behavior"},syncOnCreate:{name:"Sync on task create",description:"Automatically create calendar event when a new task is created."},syncOnUpdate:{name:"Sync on task update",description:"Automatically update calendar event when a task is modified."},syncOnComplete:{name:"Sync on task complete",description:"Update calendar event when a task is completed (adds checkmark to title)."},syncOnDelete:{name:"Delete event on task delete",description:"Remove calendar event when the corresponding task is deleted."},manualSyncActions:{header:"Manual sync actions"},syncAllTasks:{name:"Sync all tasks",description:"Sync all existing tasks to Google Calendar. This will create events for tasks that haven't been synced yet.",buttonText:"Sync all"},unlinkAllTasks:{name:"Unlink all tasks",description:"Remove all task-event links without deleting calendar events.",buttonText:"Unlink all",confirmTitle:"Unlink all tasks",confirmMessage:"This will remove all links between tasks and calendar events. The calendar events will remain but will no longer be updated when tasks change. Are you sure?",confirmButtonText:"Unlink all"},notices:{notEnabled:"Google Calendar export is not enabled. Configure it in Settings > Integrations.",notEnabledOrConfigured:"Google Calendar export is not enabled or configured",serviceNotAvailable:"Task calendar sync service not available",syncResults:"Synced: {synced}, Failed: {failed}, Skipped: {skipped}",taskSynced:"Task synced to Google Calendar",noActiveFile:"No file is currently active",notATask:"Current file is not a task",noDateToSync:"Task has no scheduled or due date to sync",syncFailed:"Failed to sync task to Google Calendar: {message}",connectionExpired:"Google Calendar connection expired. Please reconnect in Settings > Integrations.",syncingTasks:"Syncing {total} tasks to Google Calendar...",syncComplete:"Sync complete: {synced} synced, {failed} failed, {skipped} skipped",eventsDeletedAndUnlinked:"All events deleted and unlinked",tasksUnlinked:"All task links removed"},eventDescription:{untitledTask:"Untitled task",priority:"Priority: {value}",status:"Status: {value}",due:"Due: {value}",scheduled:"Scheduled: {value}",timeEstimate:"Time Estimate: {value}",tags:"Tags: {value}",contexts:"Contexts: {value}",projects:"Projects: {value}",openInObsidian:"Open in Obsidian"}},httpApi:{header:"HTTP API",description:"Enable HTTP API for external integrations and automations.",enable:{name:"Enable HTTP API",description:"Start local HTTP server for API access"},port:{name:"API port",description:"Port number for the HTTP API server",placeholder:"3000"},authToken:{name:"API authentication token",description:"Token required for API authentication (leave empty for no auth)",placeholder:"your-secret-token"},mcp:{enable:{name:"Enable MCP server",description:"Expose TaskNotes tools via Model Context Protocol at /mcp endpoint. Requires HTTP API to be enabled."}},endpoints:{header:"Available API endpoints",expandIcon:"\u25B6",collapseIcon:"\u25BC"}},webhooks:{header:"Webhooks",description:{overview:"Webhooks send real-time notifications to external services when TaskNotes events occur.",usage:"Configure webhooks to integrate with automation tools, sync services, or custom applications."},addWebhook:{name:"Add webhook",description:"Register a new webhook endpoint",buttonText:"Add webhook"},emptyState:{message:"No webhooks configured. Add a webhook to receive real-time notifications.",buttonText:"Add webhook"},labels:{active:"Active:",url:"URL:",events:"Events:",transform:"Transform:"},placeholders:{url:"Webhook URL",noEventsSelected:"No events selected",rawPayload:"Raw payload (no transform)"},statusLabels:{active:"Active",inactive:"Inactive",created:"Created {timeAgo}"},actions:{editEvents:"Edit events",delete:"Delete"},editEvents:"Edit events",notices:{urlUpdated:"Webhook URL updated",enabled:"Webhook enabled",disabled:"Webhook disabled",created:"Webhook created successfully",deleted:"Webhook deleted",updated:"Webhook updated"},confirmDelete:{title:"Delete webhook",message:`Are you sure you want to delete this webhook?
URL: {url}
This action cannot be undone.`,confirmText:"Delete"},cardHeader:"Webhook",cardFields:{active:"Active:",url:"URL:",events:"Events:",transform:"Transform:"},eventsDisplay:{noEvents:"No events selected"},transformDisplay:{noTransform:"Raw payload (no transform)"},secretModal:{title:"Webhook secret generated",description:"Your webhook secret has been generated. Save this secret as you won't be able to view it again:",usage:"Use this secret to verify webhook payloads in your receiving application.",gotIt:"Got it"},editModal:{title:"Edit webhook",eventsHeader:"Events to subscribe to"},events:{taskCreated:{label:"Task created",description:"When new tasks are created"},taskUpdated:{label:"Task updated",description:"When tasks are modified"},taskCompleted:{label:"Task completed",description:"When tasks are marked complete"},taskDeleted:{label:"Task deleted",description:"When tasks are deleted"},taskArchived:{label:"Task archived",description:"When tasks are archived"},taskUnarchived:{label:"Task unarchived",description:"When tasks are unarchived"},timeStarted:{label:"Time started",description:"When time tracking starts"},timeStopped:{label:"Time stopped",description:"When time tracking stops"},pomodoroStarted:{label:"Pomodoro started",description:"When Pomodoro sessions begin"},pomodoroCompleted:{label:"Pomodoro completed",description:"When Pomodoro sessions finish"},pomodoroInterrupted:{label:"Pomodoro interrupted",description:"When Pomodoro sessions are stopped"},recurringCompleted:{label:"Recurring instance completed",description:"When recurring task instances complete"},reminderTriggered:{label:"Reminder triggered",description:"When task reminders activate"}},modals:{secretGenerated:{title:"Webhook secret generated",description:"Your webhook secret has been generated. Save this secret as you won't be able to view it again:",usage:"Use this secret to verify webhook payloads in your receiving application.",buttonText:"Got it"},edit:{title:"Edit webhook",eventsSection:"Events to subscribe to",transformSection:"Transform configuration (optional)",headersSection:"Headers configuration",transformFile:{name:"Transform file",description:"Path to a .json template file in your vault that transforms webhook payloads",placeholder:"simple-template.json"},customHeaders:{name:"Include custom headers",description:"Include TaskNotes headers (event type, signature, delivery ID). Turn off for Discord, Slack, and other services with strict CORS policies."},buttons:{cancel:"Cancel",save:"Save changes"},notices:{selectAtLeastOneEvent:"Please select at least one event"}},add:{title:"Add webhook",eventsSection:"Events to subscribe to",transformSection:"Transform configuration (optional)",headersSection:"Headers configuration",url:{name:"Webhook URL",description:"The endpoint where webhook payloads will be sent",placeholder:"https://your-service.com/webhook"},transformFile:{name:"Transform file",description:"Path to a .json template file in your vault that transforms webhook payloads",placeholder:"simple-template.json"},customHeaders:{name:"Include custom headers",description:"Include TaskNotes headers (event type, signature, delivery ID). Turn off for Discord, Slack, and other services with strict CORS policies."},transformHelp:{title:"JSON transform templates customize webhook payloads:",jsFiles:"",jsDescription:"",jsonFiles:".json files:",jsonDescription:" Templates with ",jsonVariable:"${data.task.title}",leaveEmpty:"Leave empty:",leaveEmptyDescription:" Send raw data",example:"Example:",exampleFile:"simple-template.json"},buttons:{cancel:"Cancel",add:"Add webhook"},notices:{urlRequired:"Webhook URL is required",selectAtLeastOneEvent:"Please select at least one event"}}}},otherIntegrations:{header:"Other plugin integrations",description:"Configure integrations with other Obsidian plugins."},mdbaseSpec:{header:"mdbase type definitions",learnMore:"Learn more about mdbase-spec",enable:{name:"Generate mdbase type definitions",description:"Generate and maintain mdbase type files (mdbase.yaml and _types/task.md) at the vault root as your settings change."}},timeFormats:{justNow:"Just now",minutesAgo:"{minutes} minute{plural} ago",hoursAgo:"{hours} hour{plural} ago",daysAgo:"{days} day{plural} ago"}}},notices:{languageChanged:"Language changed to {language}.",exportTasksFailed:"Failed to export tasks as ICS file",icsNoteCreatedSuccess:"Note created successfully",icsCreationModalOpenFailed:"Failed to open creation modal",icsNoteLinkSuccess:'Linked note "{fileName}" to ICS event',icsTaskCreatedSuccess:"Task created: {title}",icsRelatedItemsRefreshed:"Related notes refreshed",icsFileNotFound:"File not found or invalid",icsFileOpenFailed:"Failed to open file",timeblockAttachmentExists:'"{fileName}" is already attached',timeblockAttachmentAdded:'Added "{fileName}" as attachment',timeblockAttachmentRemoved:'Removed "{fileName}" from attachments',timeblockFileTypeNotSupported:'Cannot open "{fileName}" - file type not supported',timeblockTitleRequired:"Please enter a title for the timeblock",timeblockUpdatedSuccess:'Timeblock "{title}" updated successfully',timeblockUpdateFailed:"Failed to update timeblock. Check console for details.",timeblockDeletedSuccess:'Timeblock "{title}" deleted successfully',timeblockDeleteFailed:"Failed to delete timeblock. Check console for details.",timeblockRequiredFieldsMissing:"Please fill in all required fields",agendaLoadingFailed:"Error loading agenda. Please try refreshing.",statsLoadingFailed:"Error loading project details."},commands:{openCalendarView:"Open mini calendar view",openAdvancedCalendarView:"Open calendar view",openTasksView:"Open tasks view",openNotesView:"Open notes view",openAgendaView:"Open agenda view",openPomodoroView:"Open Pomodoro timer",openKanbanView:"Open Kanban board",openPomodoroStats:"Open Pomodoro statistics",openStatisticsView:"Open task & project statistics",createNewTask:"Create new task",convertCurrentNoteToTask:{name:"Convert current note to task",noActiveFile:"No active file to convert",alreadyTask:"This note is already a task",success:"Converted '{title}' to a task"},convertToTaskNote:"Convert checkbox task to TaskNote",convertAllTasksInNote:"Convert all tasks in note",insertTaskNoteLink:"Insert tasknote link",createInlineTask:"Create new inline task",quickActionsCurrentTask:"Quick actions for current task",goToTodayNote:"Go to today's note",startPomodoro:"Start Pomodoro timer",stopPomodoro:"Stop Pomodoro timer",pauseResumePomodoro:"Pause/resume Pomodoro timer",refreshCache:"Refresh cache",exportAllTasksIcs:"Export all tasks as ICS file",syncAllTasksGoogleCalendar:"Sync all tasks to Google Calendar",syncCurrentTaskGoogleCalendar:"Sync current task to Google Calendar",viewReleaseNotes:"View release notes",startTimeTrackingWithSelector:"Start time tracking (select task)",editTimeEntries:"Edit time entries (select task)",createOrOpenTask:"Create or open task"},modals:{deviceCode:{title:"Google Calendar authorization",instructions:{intro:"To connect your Google Calendar, please follow these steps:"},steps:{open:"Open",inBrowser:"in your browser",enterCode:"Enter this code when prompted:",signIn:"Sign in with your Google account and grant access",returnToObsidian:"Return to Obsidian (this window will close automatically)"},codeLabel:"Your code:",copyCodeAriaLabel:"Copy code",waitingForAuthorization:"Waiting for authorization...",openBrowserButton:"Open browser",cancelButton:"Cancel",expiresMinutesSeconds:"Code expires in {minutes}m {seconds}s",expiresSeconds:"Code expires in {seconds}s"},icsEventInfo:{calendarEventHeading:"Calendar event",titleLabel:"Title",calendarLabel:"Calendar",dateTimeLabel:"Date & time",locationLabel:"Location",descriptionLabel:"Description",urlLabel:"URL",relatedNotesHeading:"Related notes & tasks",noRelatedItems:"No related notes or tasks found for this event.",typeTask:"Task",typeNote:"Note",actionsHeading:"Actions",createFromEventLabel:"Create from event",createFromEventDesc:"Create a new note or task from this calendar event",linkExistingLabel:"Link existing",linkExistingDesc:"Link an existing note to this calendar event"},timeblockInfo:{editHeading:"Edit timeblock",dateTimeLabel:"Date & time: ",titleLabel:"Title",titleDesc:"Title for your timeblock",titlePlaceholder:"e.g., Deep work session",descriptionLabel:"Description",descriptionDesc:"Optional description for the timeblock",descriptionPlaceholder:"Focus on new features, no interruptions",colorLabel:"Color",colorDesc:"Optional color for the timeblock",colorPlaceholder:"#3b82f6",attachmentsLabel:"Attachments",attachmentsDesc:"Files or notes linked to this timeblock",addAttachmentButton:"Add attachment",addAttachmentTooltip:"Select a file or note using fuzzy search",deleteButton:"Delete timeblock",saveButton:"Save changes",deleteConfirmationTitle:"Delete timeblock"},timeblockCreation:{heading:"Create timeblock",dateLabel:"Date: ",titleLabel:"Title",titleDesc:"Title for your timeblock",titlePlaceholder:"e.g., Deep work session",startTimeLabel:"Start time",startTimeDesc:"When the timeblock starts",startTimePlaceholder:"09:00",endTimeLabel:"End time",endTimeDesc:"When the timeblock ends",endTimePlaceholder:"11:00",descriptionLabel:"Description",descriptionDesc:"Optional description for the timeblock",descriptionPlaceholder:"Focus on new features, no interruptions",colorLabel:"Color",colorDesc:"Optional color for the timeblock",colorPlaceholder:"#3b82f6",attachmentsLabel:"Attachments",attachmentsDesc:"Files or notes to link to this timeblock",addAttachmentButton:"Add attachment",addAttachmentTooltip:"Select a file or note using fuzzy search",createButton:"Create timeblock"},calendarEventCreation:{heading:"Create calendar event",dateTimeLabel:"Date & time: ",titleLabel:"Title",titleDesc:"Title for the calendar event",titlePlaceholder:"e.g., Team meeting",calendarLabel:"Calendar",calendarDesc:"Which calendar to create the event on",descriptionLabel:"Description",descriptionDesc:"Optional description for the event",descriptionPlaceholder:"Add details about this event...",locationLabel:"Location",locationDesc:"Optional location for the event",locationPlaceholder:"e.g., Conference Room A",createButton:"Create event",titleRequired:"Event title is required",noCalendarSelected:"No calendar selected",success:'Calendar event "{title}" created',error:"Failed to create calendar event: {message}"},icsNoteCreation:{heading:"Create from ICS event",titleLabel:"Title",titleDesc:"Title for the new content",folderLabel:"Folder",folderDesc:"Destination folder (leave empty for vault root)",folderPlaceholder:"folder/subfolder",createButton:"Create",startLabel:"Start: ",endLabel:"End: ",locationLabel:"Location: ",calendarLabel:"Calendar: ",useTemplateLabel:"Use template",useTemplateDesc:"Apply a template when creating the content",templatePathLabel:"Template path",templatePathDesc:"Path to the template file",templatePathPlaceholder:"templates/ics-note-template.md"},unscheduledTasksSelector:{title:"Unscheduled tasks",placeholder:"Type to search for unscheduled tasks...",instructions:{navigate:"to navigate",schedule:"to schedule",dismiss:"to dismiss"}},migration:{title:"Migrate to new recurrence system",description:"TaskNotes now uses industry-standard RRULE patterns for recurrence, which enables more complex schedules and better compatibility with other apps.",tasksFound:"{count} task(s) with old recurrence patterns detected",noMigrationNeeded:"No tasks require migration",warnings:{title:"Before you proceed:",backup:"Back up your vault before migrating",conversion:"Old recurrence patterns will be converted to new format",normalUsage:"You can continue using TaskNotes normally during migration",permanent:"This change is permanent and cannot be automatically undone"},benefits:{title:"Benefits of the new system:",powerfulPatterns:"Complex recurrence patterns (e.g., 'every 2nd Tuesday')",performance:"Better performance with recurring tasks",compatibility:"Standard recurrence format compatible with other apps",nlp:"Enhanced natural language processing support"},progress:{title:"Migration progress",preparing:"Preparing migration...",completed:"Migration completed successfully",failed:"Migration failed"},buttons:{migrate:"Start migration",completed:"Close"},errors:{title:"Errors during migration:"},notices:{completedWithErrors:"Migration completed with some errors. Check the error list above.",success:"All tasks migrated successfully!",failed:"Migration failed. Please check the console for details."},prompt:{message:"TaskNotes detected tasks using the old recurrence format. Would you like to migrate them to the new system now?",migrateNow:"Migrate now",remindLater:"Remind me later"}},task:{titlePlaceholder:"What needs to be done?",titleLabel:"Title",titleDetailedPlaceholder:"Task title...",detailsLabel:"Details",detailsPlaceholder:"Add more details...",projectsLabel:"Projects",projectsAdd:"Add project",projectsTooltip:"Select a project note using fuzzy search",projectsRemoveTooltip:"Remove project",contextsLabel:"Contexts",contextsPlaceholder:"context1, context2",tagsLabel:"Tags",tagsPlaceholder:"tag1, tag2",timeEstimateLabel:"Time estimate (minutes)",timeEstimatePlaceholder:"30",unsavedChanges:{title:"Unsaved changes",message:"You have unsaved changes. Do you want to save them?",save:"Save changes",discard:"Discard changes",cancel:"Keep editing"},dependencies:{blockedBy:"Blocked by",blocking:"Blocking",placeholder:"[[Task Note]]",addTaskButton:"Add task",selectTaskTooltip:"Select a task note using fuzzy search",removeTaskTooltip:"Remove task"},organization:{projects:"Projects",subtasks:"Subtasks",addToProject:"Add to project",addToProjectButton:"Add to project",addSubtasks:"Add subtasks",addSubtasksButton:"Add subtask",addSubtasksTooltip:"Select tasks to make them subtasks of this task",removeSubtaskTooltip:"Remove subtask",notices:{noEligibleSubtasks:"No eligible tasks available to assign as subtasks",subtaskSelectFailed:"Failed to open subtask selector"}},customFieldsLabel:"Custom fields",actions:{due:"Set due date",scheduled:"Set scheduled date",status:"Set status",priority:"Set priority",recurrence:"Set recurrence",reminders:"Set reminders"},buttons:{openNote:"Open note",save:"Save"},tooltips:{dueValue:"Due: {value}",scheduledValue:"Scheduled: {value}",statusValue:"Status: {value}",priorityValue:"Priority: {value}",recurrenceValue:"Recurrence: {value}",remindersSingle:"1 reminder set",remindersPlural:"{count} reminders set"},dateMenu:{dueTitle:"Set due date",scheduledTitle:"Set scheduled date"},userFields:{textPlaceholder:"Enter {field}...",numberPlaceholder:"0",datePlaceholder:"YYYY-MM-DD",listPlaceholder:"item1, item2, item3",pickDate:"Pick {field} date"},recurrence:{daily:"Daily",weekly:"Weekly",everyTwoWeeks:"Every 2 weeks",weekdays:"Weekdays",weeklyOn:"Weekly on {days}",monthly:"Monthly",everyThreeMonths:"Every 3 months",monthlyOnOrdinal:"Monthly on the {ordinal}",monthlyByWeekday:"Monthly (by weekday)",yearly:"Yearly",yearlyOn:"Yearly on {month} {day}",custom:"Custom",countSuffix:"{count} times",untilSuffix:"until {date}",ordinal:"{number}{suffix}"}},taskSelector:{title:"Select task",placeholder:"Type to search for tasks...",instructions:{navigate:"to navigate",select:"to select",dismiss:"to cancel"},notices:{noteNotFound:'Could not find note "{name}"'},dueDate:{overdue:"Due: {date} (overdue)",today:"Due: Today"}},taskSelectorWithCreate:{title:"Create or open task",placeholder:"Search tasks or type to create new...",instructions:{create:"to create new task"},footer:{createLabel:" to create: "},notices:{emptyQuery:"Please enter a task description",invalidTitle:"Could not parse a valid task title"}},taskCreation:{title:"Create task",actions:{fillFromNaturalLanguage:"Fill form from natural language",hideDetailedOptions:"Hide detailed options",showDetailedOptions:"Show detailed options"},nlPlaceholder:"Buy groceries tomorrow at 3pm @home #errands",notices:{titleRequired:"Please enter a task title",success:'Task "{title}" created successfully',successShortened:'Task "{title}" created successfully (filename shortened due to length)',failure:"Failed to create task: {message}",blockingUnresolved:"Could not resolve: {entries}"}},taskEdit:{title:"Edit task",sections:{completions:"Completions",taskInfo:"Task information"},metadata:{totalTrackedTime:"Total tracked time:",created:"Created:",modified:"Modified:",file:"File:"},buttons:{archive:"Archive",unarchive:"Unarchive"},notices:{titleRequired:"Please enter a task title",noChanges:"No changes to save",updateSuccess:'Task "{title}" updated successfully',updateFailure:"Failed to update task: {message}",dependenciesUpdateSuccess:"Dependencies updated",blockingUnresolved:"Could not resolve: {entries}",fileMissing:"Could not find task file: {path}",openNoteFailure:"Failed to open task note",archiveSuccess:"Task {action} successfully",archiveFailure:"Failed to archive task"},archiveAction:{archived:"archived",unarchived:"unarchived"}},storageLocation:{title:{migrate:"Migrate Pomodoro data?",switch:"Switch to daily notes storage?"},message:{migrate:"This will migrate your existing Pomodoro session data to daily notes frontmatter. The data will be grouped by date and stored in each daily note.",switch:"Pomodoro session data will be stored in daily notes frontmatter instead of the plugin data file."},whatThisMeans:"What this means:",bullets:{dailyNotesRequired:"Daily notes core plugin must remain enabled",storedInNotes:"Data will be stored in your daily notes frontmatter",migrateData:"Existing plugin data will be migrated and then cleared",futureSessions:"Future sessions will be saved to daily notes",dataLongevity:"This provides better data longevity with your notes"},finalNote:{migrate:"\u26A0\uFE0F Make sure you have backups if needed. This change cannot be automatically undone.",switch:"You can switch back to plugin storage at any time in the future."},buttons:{migrate:"Migrate data",switch:"Switch storage"}},dueDate:{title:"Set due date",taskLabel:"Task: {title}",sections:{dateTime:"Due date & time",quickOptions:"Quick options"},descriptions:{dateTime:"Set when this task should be completed"},inputs:{date:{ariaLabel:"Due date for task",placeholder:"YYYY-MM-DD"},time:{ariaLabel:"Due time for task (optional)",placeholder:"HH:MM"}},quickOptions:{today:"Today",todayAriaLabel:"Set due date to today",tomorrow:"Tomorrow",tomorrowAriaLabel:"Set due date to tomorrow",nextWeek:"Next week",nextWeekAriaLabel:"Set due date to next week",now:"Now",nowAriaLabel:"Set due date and time to now",clear:"Clear",clearAriaLabel:"Clear due date"},errors:{invalidDateTime:"Please enter a valid date and time format",updateFailed:"Failed to update due date. Please try again."}},scheduledDate:{title:"Set scheduled date",taskLabel:"Task: {title}",sections:{dateTime:"Scheduled date & time",quickOptions:"Quick options"},descriptions:{dateTime:"Set when you plan to work on this task"},inputs:{date:{ariaLabel:"Scheduled date for task",placeholder:"YYYY-MM-DD"},time:{ariaLabel:"Scheduled time for task (optional)",placeholder:"HH:MM"}},quickOptions:{today:"Today",todayAriaLabel:"Set scheduled date to today",tomorrow:"Tomorrow",tomorrowAriaLabel:"Set scheduled date to tomorrow",nextWeek:"Next week",nextWeekAriaLabel:"Set scheduled date to next week",now:"Now",nowAriaLabel:"Set scheduled date and time to now",clear:"Clear",clearAriaLabel:"Clear scheduled date"},errors:{invalidDateTime:"Please enter a valid date and time format",updateFailed:"Failed to update scheduled date. Please try again."}},timeEntryEditor:{title:"Time Entries - {taskTitle}",addEntry:"Add time entry",noEntries:"No time entries yet",deleteEntry:"Delete entry",startTime:"Start time",endTime:"End time (leave empty if still running)",duration:"Duration (minutes)",durationDesc:"Override calculated duration",durationPlaceholder:"Enter duration in minutes",description:"Description",descriptionPlaceholder:"What did you work on?",calculatedDuration:"Calculated: {minutes} minutes",totalTime:"{hours}h {minutes}m total",totalMinutes:"{minutes}m total",saved:"Time entries saved",saveFailed:"Failed to save time entries",openFailed:"Failed to open time entry editor",noTasksWithEntries:"No tasks have time entries to edit",validation:{missingStartTime:"Start time is required",endBeforeStart:"End time must be after start time"}},timeTracking:{noTasksAvailable:"No tasks available to track time for",started:"Started tracking time for: {taskTitle}",startFailed:"Failed to start time tracking"},timeEntry:{mustHaveSpecificTime:"Time entries must have specific times. Please select a time range in week or day view.",noTasksAvailable:"No tasks available to create time entries for",created:"Time entry created for {taskTitle} ({duration} minutes)",createFailed:"Failed to create time entry"}},contextMenus:{task:{status:"Status",statusSelected:"\u2713 {label}",priority:"Priority",prioritySelected:"\u2713 {label}",dueDate:"Due date",scheduledDate:"Scheduled date",reminders:"Reminders",remindBeforeDue:"Remind before due\u2026",remindBeforeScheduled:"Remind before scheduled\u2026",manageReminders:"Manage all reminders\u2026",clearReminders:"Clear all reminders",startTimeTracking:"Start time tracking",stopTimeTracking:"Stop time tracking",editTimeEntries:"Edit time entries",archive:"Archive",unarchive:"Unarchive",openNote:"Open note",copyTitle:"Copy task title",noteActions:"Note actions",rename:"Rename",renameTitle:"Rename file",renamePlaceholder:"Enter new name",delete:"Delete",deleteTitle:"Delete file",deleteMessage:'Are you sure you want to delete "{name}"?',deleteConfirm:"Delete",copyPath:"Copy path",copyUrl:"Copy Obsidian URL",showInExplorer:"Show in file explorer",addToCalendar:"Add to calendar",calendar:{google:"Google Calendar",outlook:"Outlook Calendar",yahoo:"Yahoo Calendar",downloadIcs:"Download .ics file",syncToGoogle:"Sync to Google Calendar",syncToGoogleNotConfigured:"Google Calendar sync not configured",syncToGoogleSuccess:"Task synced to Google Calendar",syncToGoogleFailed:"Failed to sync task to Google Calendar"},recurrence:"Recurrence",clearRecurrence:"Clear recurrence",customRecurrence:"Custom recurrence...",createSubtask:"Create subtask",dependencies:{title:"Dependencies",addBlockedBy:"Add \u201Cblocked by\u201D\u2026",addBlockedByTitle:"Add tasks this depends on",addBlocking:"Add \u201Cblocking\u201D\u2026",addBlockingTitle:"Add tasks this blocks",removeBlockedBy:"Remove blocked-by\u2026",removeBlocking:"Remove blocking\u2026",unknownDependency:"Unknown",inputPlaceholder:"[[Task Note]]",notices:{noEntries:"Please enter at least one task",blockedByAdded:"{count} dependency added",blockedByRemoved:"Dependency removed",blockingAdded:"{count} dependent task added",blockingRemoved:"Dependent task removed",unresolved:"Could not resolve: {entries}",noEligibleTasks:"No matching tasks available",updateFailed:"Failed to update dependencies"}},organization:{title:"Organization",projects:"Projects",addToProject:"Add to project\u2026",subtasks:"Subtasks",addSubtasks:"Add subtasks\u2026",notices:{alreadyInProject:"Task is already in this project",alreadySubtask:"Task is already a subtask of this task",addedToProject:"Added to project: {project}",addedAsSubtask:"Added {subtask} as subtask of {parent}",addToProjectFailed:"Failed to add task to project",addAsSubtaskFailed:"Failed to add task as subtask",projectSelectFailed:"Failed to open project selector",subtaskSelectFailed:"Failed to open subtask selector",noEligibleSubtasks:"No eligible tasks available to assign as subtasks",currentTaskNotFound:"Current task file not found"}},subtasks:{loading:"Loading subtasks...",noSubtasks:"No subtasks found",loadFailed:"Failed to load subtasks"},markComplete:"Mark complete for this date",markIncomplete:"Mark incomplete for this date",skipInstance:"Skip instance",unskipInstance:"Unskip instance",quickReminders:{atTime:"At time of event",fiveMinutes:"5 minutes before",fifteenMinutes:"15 minutes before",oneHour:"1 hour before",oneDay:"1 day before"},notices:{toggleCompletionFailure:"Failed to toggle recurring task completion: {message}",toggleSkipFailure:"Failed to toggle recurring task skip: {message}",updateDueDateFailure:"Failed to update task due date: {message}",updateScheduledFailure:"Failed to update task scheduled date: {message}",updateRemindersFailure:"Failed to update reminders",clearRemindersFailure:"Failed to clear reminders",addReminderFailure:"Failed to add reminder",archiveFailure:"Failed to toggle task archive: {message}",copyTitleSuccess:"Task title copied to clipboard",copyFailure:"Failed to copy to clipboard",renameSuccess:'Renamed to "{name}"',renameFailure:"Failed to rename file",copyPathSuccess:"File path copied to clipboard",copyUrlSuccess:"Obsidian URL copied to clipboard",updateRecurrenceFailure:"Failed to update task recurrence: {message}"}},priority:{clearPriority:"Clear priority"},ics:{showDetails:"Show details",createTask:"Create task from event",createNote:"Create note from event",linkNote:"Link existing note",copyTitle:"Copy title",copyLocation:"Copy location",copyUrl:"Copy URL",copyMarkdown:"Copy as Markdown",subscriptionUnknown:"Unknown calendar",notices:{copyTitleSuccess:"Event title copied to clipboard",copyLocationSuccess:"Location copied to clipboard",copyUrlSuccess:"Event URL copied to clipboard",copyMarkdownSuccess:"Event details copied as Markdown",copyFailure:"Failed to copy to clipboard",taskCreated:"Task created: {title}",taskCreateFailure:"Failed to create task from event",noteCreated:"Note created successfully",creationFailure:"Failed to open creation modal",linkSuccess:'Linked note "{name}" to event',linkFailure:"Failed to link note",linkSelectionFailure:"Failed to open note selection"},markdown:{titleFallback:"Untitled event",calendar:"**Calendar:** {value}",date:"**Date & Time:** {value}",location:"**Location:** {value}",descriptionHeading:"### Description",url:"**URL:** {value}",at:" at {time}"}},date:{increment:{plusOneDay:"+1 day",minusOneDay:"-1 day",plusOneWeek:"+1 week",minusOneWeek:"-1 week"},basic:{today:"Today",tomorrow:"Tomorrow",thisWeekend:"This weekend",nextWeek:"Next week",nextMonth:"Next month"},weekdaysLabel:"Weekdays",selected:"\u2713 {label}",pickDateTime:"Pick date & time\u2026",clearDate:"Clear date",modal:{title:"Set date & time",dateLabel:"Date",timeLabel:"Time (optional)",select:"Select"}}},services:{pomodoro:{notices:{alreadyRunning:"A Pomodoro is already running",resumeCurrentSession:"Resume the current session instead of starting a new one",timerAlreadyRunning:"A timer is already running",resumeSessionInstead:"Resume the current session instead of starting a new one",shortBreakStarted:"Short break started",longBreakStarted:"Long break started",paused:"Pomodoro paused",resumed:"Pomodoro resumed",stoppedAndReset:"Pomodoro stopped and reset",migrationSuccess:"Successfully migrated {count} pomodoro sessions to daily notes.",migrationFailure:"Failed to migrate Pomodoro data. Please try again or check the console for details."}},icsSubscription:{notices:{calendarNotFound:'Calendar "{name}" not found (404). Please check the ICS URL is correct and the calendar is publicly accessible.',calendarAccessDenied:'Calendar "{name}" access denied (500). This may be due to Microsoft Outlook server restrictions. Try regenerating the ICS URL from your calendar settings.',fetchRemoteFailed:'Failed to fetch remote calendar "{name}": {error}',readLocalFailed:'Failed to read local calendar "{name}": {error}'}},calendarExport:{notices:{generateLinkFailed:"Failed to generate calendar link",noTasksToExport:"No tasks found to export",downloadSuccess:"Downloaded {filename} with {count} task{plural}",downloadFailed:"Failed to download calendar file",singleDownloadSuccess:"Downloaded {filename}"}},filter:{groupLabels:{noProject:"No project",noTags:"No tags",invalidDate:"Invalid date",due:{overdue:"Overdue",today:"Today",tomorrow:"Tomorrow",nextSevenDays:"Next seven days",later:"Later",none:"No due date"},scheduled:{past:"Past scheduled",today:"Today",tomorrow:"Tomorrow",nextSevenDays:"Next seven days",later:"Later",none:"No scheduled date"}},errors:{noDatesProvided:"No dates provided"},folders:{root:"(Root)"}},instantTaskConvert:{notices:{noCheckboxTasks:"No checkbox tasks found in the current note.",convertingTasks:"Converting {count} task{plural}...",conversionSuccess:"\u2705 Successfully converted {count} task{plural} to TaskNotes!",partialConversion:"Converted {successCount} task{successPlural}. {failureCount} failed.",batchConversionFailed:"Failed to perform batch conversion. Please try again.",invalidParameters:"Invalid input parameters.",emptyLine:"Current line is empty or contains no valid content.",parseError:"Error parsing task: {error}",invalidTaskData:"Invalid task data.",replaceLineFailed:"Failed to replace task line.",conversionComplete:"Task converted: {title}",conversionCompleteShortened:'Task converted: "{title}" (filename shortened due to length)',fileExists:"A file with this name already exists. Please try again or rename the task.",conversionFailed:"Failed to convert task. Please try again."}},icsNote:{notices:{templateNotFound:"Template not found: {path}",templateProcessError:"Error processing template: {template}",linkedToEvent:"Linked note to ICS event: {title}"}},task:{notices:{templateNotFound:"Task body template not found: {path}",templateReadError:"Error reading task body template: {template}",moveTaskFailed:"Failed to move {operation} task: {error}"}},autoExport:{notices:{exportFailed:"TaskNotes auto export failed: {error}"}},notification:{notices:{}}},ui:{icsCard:{untitledEvent:"Untitled event",allDay:"All day",calendarEvent:"Calendar event",calendarFallback:"Calendar"},noteCard:{createdLabel:"Created:",dailyBadge:"Daily",dailyTooltip:"Daily note"},taskCard:{labels:{due:"Due",scheduled:"Scheduled",recurrence:"Recurring",completed:"Completed",created:"Created",modified:"Modified",blocked:"Blocked",blocking:"Blocking"},blockedBadge:"Blocked",blockedBadgeTooltip:"This task is waiting on another task",blockingBadge:"Blocking",blockingBadgeTooltip:"This task is blocking another task",blockingToggle:"Blocking {count} tasks",priorityAriaLabel:"Priority: {label}",taskOptions:"Task options",recurrenceTooltip:"{label}: {value}",reminderTooltipOne:"1 reminder set (click to manage)",reminderTooltipMany:"{count} reminders set (click to manage)",projectTooltip:"This task is used as a project (click to filter subtasks)",expandSubtasks:"Expand subtasks",collapseSubtasks:"Collapse subtasks",dueToday:"{label}: Today",dueTodayAt:"{label}: Today at {time}",dueOverdue:"{label}: {display} (overdue)",dueLabel:"{label}: {display}",scheduledToday:"{label}: Today",scheduledTodayAt:"{label}: Today at {time}",scheduledPast:"{label}: {display} (past)",scheduledLabel:"{label}: {display}",loadingDependencies:"Loading dependencies...",blockingEmpty:"No dependent tasks",blockingLoadError:"Failed to load dependencies",googleCalendarSyncTooltip:"Synced to Google Calendar"},propertyEventCard:{unknownFile:"Unknown file"},filterHeading:{allViewName:"All"},filterBar:{saveView:"Save view",saveViewNamePlaceholder:"Enter view name...",saveButton:"Save",views:"Views",savedFilterViews:"Saved filter views",filters:"Filters",properties:"Properties",sort:"Sort",newTask:"New",expandAllGroups:"Expand all groups",collapseAllGroups:"Collapse all groups",searchTasksPlaceholder:"Search tasks...",searchTasksTooltip:"Search task titles",filterUnavailable:"Filter bar temporarily unavailable",toggleFilter:"Toggle filter",activeFiltersTooltip:"Active filters \u2013 click to modify, right-click to clear",configureVisibleProperties:"Configure visible properties",sortAndGroupOptions:"Sort and group options",sortMenuHeader:"Sort",orderMenuHeader:"Order",groupMenuHeader:"Group",createNewTask:"Create new task",filter:"Filter",displayOrganization:"Display & organization",viewOptions:"View options",addFilter:"Add filter",addFilterGroup:"Add filter group",addFilterTooltip:"Add a new filter condition",addFilterGroupTooltip:"Add a nested filter group",clearAllFilters:"Clear all filters and groups",saveCurrentFilter:"Save current filter as view",closeFilterModal:"Close filter modal",deleteFilterGroup:"Delete filter group",deleteCondition:"Delete condition",all:"All",any:"Any",followingAreTrue:"of the following are true:",where:"where",selectProperty:"Select...",chooseProperty:"Choose which task property to filter by",chooseOperator:"Choose how to compare the property value",enterValue:"Enter the value to filter by",selectValue:"Select a {property} to filter by",sortBy:"Sort by:",toggleSortDirection:"Toggle sort direction",chooseSortMethod:"Choose how to sort tasks",groupBy:"Group by:",chooseGroupMethod:"Group tasks by a common property",toggleViewOption:"Toggle {option}",expandCollapseFilters:"Click to expand/collapse filter conditions",expandCollapseSort:"Click to expand/collapse sorting and grouping options",expandCollapseViewOptions:"Click to expand/collapse view-specific options",naturalLanguageDates:"Natural language dates",naturalLanguageExamples:"Show natural language date examples",enterNumericValue:"Enter a numeric value to filter by",enterDateValue:"Enter a date using natural language or ISO format",pickDateTime:"Pick date & time",noSavedViews:"No saved views",savedViews:"Saved views",yourSavedFilters:"Your saved filter configurations",dragToReorder:"Drag to reorder views",loadSavedView:"Load saved view: {name}",deleteView:"Delete view",deleteViewTitle:"Delete view",deleteViewMessage:'Are you sure you want to delete the view "{name}"?',manageAllReminders:"Manage all reminders...",clearAllReminders:"Clear all reminders",customRecurrence:"Custom recurrence...",clearRecurrence:"Clear recurrence",sortOptions:{dueDate:"Due date",scheduledDate:"Scheduled date",priority:"Priority",status:"Status",title:"Title",createdDate:"Created date",tags:"Tags",ascending:"Ascending",descending:"Descending"},group:{none:"None",status:"Status",priority:"Priority",context:"Context",project:"Project",dueDate:"Due date",scheduledDate:"Scheduled date",tags:"Tags",completedDate:"Completed date"},subgroupLabel:"SUBGROUP",notices:{propertiesMenuFailed:"Failed to show properties menu"}}},components:{dateContextMenu:{weekdays:"Weekdays",clearDate:"Clear date",today:"Today",tomorrow:"Tomorrow",thisWeekend:"This weekend",nextWeek:"Next week",nextMonth:"Next month",setDateTime:"Set date & time",dateLabel:"Date",timeLabel:"Time (optional)"},subgroupMenuBuilder:{none:"None",status:"Status",priority:"Priority",context:"Context",project:"Project",dueDate:"Due date",scheduledDate:"Scheduled date",tags:"Tags",completedDate:"Completed date",subgroup:"SUBGROUP"},propertyVisibilityDropdown:{coreProperties:"Core properties",organization:"ORGANIZATION",customProperties:"Custom properties",failed:"Failed to show properties menu",properties:{statusDot:"Status dot",priorityDot:"Priority dot",dueDate:"Due date",scheduledDate:"Scheduled date",timeEstimate:"Time estimate",totalTrackedTime:"Total tracked time",checklistProgress:"Checklist progress",recurrence:"Recurrence",completedDate:"Completed date",createdDate:"Created date",modifiedDate:"Modified date",projects:"Projects",contexts:"Contexts",tags:"Tags",blocked:"Blocked",blocking:"Blocking"}},reminderContextMenu:{remindBeforeDue:"Remind before due...",remindBeforeScheduled:"Remind before scheduled...",manageAllReminders:"Manage all reminders...",clearAllReminders:"Clear all reminders",quickReminders:{atTime:"At time of event",fiveMinutesBefore:"5 minutes before",fifteenMinutesBefore:"15 minutes before",oneHourBefore:"1 hour before",oneDayBefore:"1 day before"}},recurrenceContextMenu:{daily:"Daily",weeklyOn:"Weekly on {day}",everyTwoWeeksOn:"Every 2 weeks on {day}",monthlyOnThe:"Monthly on the {ordinal}",everyThreeMonthsOnThe:"Every 3 months on the {ordinal}",yearlyOn:"Yearly on {month} {ordinal}",weekdaysOnly:"Weekdays only",dailyAfterCompletion:"Daily (after completion)",every3DaysAfterCompletion:"Every 3 days (after completion)",weeklyAfterCompletion:"Weekly (after completion)",monthlyAfterCompletion:"Monthly (after completion)",customRecurrence:"Custom recurrence...",clearRecurrence:"Clear recurrence",customRecurrenceModal:{title:"Custom recurrence",startDate:"Start date",startDateDesc:"The date when the recurrence pattern begins",startTime:"Start time",startTimeDesc:"The time when recurring instances should appear (optional)",recurFrom:"Recur from",recurFromDesc:"When should the next occurrence be calculated?",scheduledDate:"Scheduled date",completionDate:"Completion date",frequency:"Frequency",interval:"Interval",intervalDesc:"Every x days/weeks/months/years",daysOfWeek:"Days of week",daysOfWeekDesc:"Select specific days (for weekly recurrence)",monthlyRecurrence:"Monthly recurrence",monthlyRecurrenceDesc:"Choose how to repeat monthly",yearlyRecurrence:"Yearly recurrence",yearlyRecurrenceDesc:"Choose how to repeat yearly",endCondition:"End condition",endConditionDesc:"Choose when the recurrence should end",neverEnds:"Never ends",endAfterOccurrences:"End after {count} occurrences",endOnDate:"End on {date}",onDayOfMonth:"On day {day} of each month",onTheWeekOfMonth:"On the {week} {day} of each month",onDateOfYear:"On {month} {day} each year",onTheWeekOfYear:"On the {week} {day} of {month} each year",frequencies:{daily:"Daily",weekly:"Weekly",monthly:"Monthly",yearly:"Yearly"},weekPositions:{first:"first",second:"second",third:"third",fourth:"fourth",last:"last"},weekdays:{monday:"Monday",tuesday:"Tuesday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday",saturday:"Saturday",sunday:"Sunday"},weekdaysShort:{mon:"Mon",tue:"Tue",wed:"Wed",thu:"Thu",fri:"Fri",sat:"Sat",sun:"Sun"},cancel:"Cancel",save:"Save"}}}};var kde={common:{appName:"Notes de t\xE2ches",new:"Nouveau",cancel:"Annuler",confirm:"Confirmer",close:"Fermer",save:"Enregistrer",reorder:{confirmLargeTitle:"Confirmer la r\xE9organisation importante",confirmButton:"R\xE9organiser les notes",confirmLargeMessage:'La r\xE9organisation ici mettra \xE0 jour "{field}" dans {count} notes afin de cr\xE9er un ordre manuel persistant pour {scope}. Les notes masqu\xE9es ou filtr\xE9es dans le m\xEAme p\xE9rim\xE8tre peuvent aussi \xEAtre mises \xE0 jour. Continuer ?'},language:"Langue",systemDefault:"Langue du syst\xE8me",loading:"Chargement...",languages:{en:"Anglais",fr:"Fran\xE7ais",ru:"Russe",zh:"Chinois",de:"Allemand",es:"Espagnol",ja:"Japonais",pt:"Portugais (Br\xE9sil)",ko:"Cor\xE9en"},weekdays:{sunday:"Dimanche",monday:"Lundi",tuesday:"Mardi",wednesday:"Mercredi",thursday:"Jeudi",friday:"Vendredi",saturday:"Samedi"},months:{january:"Janvier",february:"F\xE9vrier",march:"Mars",april:"Avril",may:"Mai",june:"Juin",july:"Juillet",august:"Ao\xFBt",september:"Septembre",october:"Octobre",november:"Novembre",december:"D\xE9cembre"}},views:{agenda:{title:"Agenda quotidien",today:"Aujourd'hui",overdue:"En retard",refreshCalendars:"Actualiser les calendriers",actions:{previousPeriod:"P\xE9riode pr\xE9c\xE9dente",nextPeriod:"P\xE9riode suivante",goToToday:"Aller \xE0 aujourd'hui",refreshCalendars:"Actualiser les abonnements calendrier"},loading:"Chargement de l'agenda...",dayToggle:"Basculer l'affichage du jour",overdueToggle:"Basculer la section en retard",expandAllDays:"D\xE9plier tous les jours",collapseAllDays:"Replier tous les jours",notices:{calendarNotReady:"Service de calendrier pas encore pr\xEAt",calendarRefreshed:"Abonnements calendrier actualis\xE9s",refreshFailed:"\xC9chec de l'actualisation"},empty:{noItemsScheduled:"Aucun \xE9l\xE9ment planifi\xE9",noItemsFound:"Aucun \xE9l\xE9ment trouv\xE9",helpText:"Cr\xE9ez des t\xE2ches avec des dates d'\xE9ch\xE9ance ou planifi\xE9es, ou ajoutez des notes pour les voir ici."},contextMenu:{showOverdueSection:"Afficher la section en retard",showNotes:"Afficher les notes",calendarSubscriptions:"Abonnements au calendrier"},periods:{thisWeek:"Cette semaine"},tipPrefix:"Astuce : "},taskList:{title:"T\xE2ches",expandAllGroups:"D\xE9plier tous les groupes",collapseAllGroups:"Replier tous les groupes",noTasksFound:"Aucune t\xE2che trouv\xE9e pour les filtres s\xE9lectionn\xE9s.",reorder:{scope:{ungrouped:"cette liste non group\xE9e",group:'groupe "{group}"'}},errors:{formulaGroupingReadOnly:"Impossible de r\xE9organiser les t\xE2ches dans des groupes bas\xE9s sur des formules. Les valeurs calcul\xE9es ne peuvent pas \xEAtre modifi\xE9es directement."}},notes:{title:"Bloc-notes",refreshButton:"Actualiser",refreshingButton:"Actualisation...",notices:{indexingDisabled:"Indexation des notes d\xE9sactiv\xE9e"},empty:{noNotesFound:"Aucune note trouv\xE9e",helpText:"Aucune note trouv\xE9e pour la date s\xE9lectionn\xE9e. Essayez de s\xE9lectionner une date diff\xE9rente dans la vue Mini Calendrier ou cr\xE9ez quelques notes."},loading:"Chargement des notes...",refreshButtonAriaLabel:"Actualiser la liste des notes"},miniCalendar:{title:"Mini calendrier"},advancedCalendar:{title:"Calendrier",filters:{showFilters:"Afficher les filtres",hideFilters:"Masquer les filtres"},viewOptions:{calendarSubscriptions:"Abonnements aux calendriers",timeEntries:"Entr\xE9es de temps",timeblocks:"Blocs de temps",scheduledDates:"Dates planifi\xE9es",dueDates:"Dates d'\xE9ch\xE9ance",allDaySlot:"Cr\xE9neau toute la journ\xE9e",scheduledTasks:"T\xE2ches planifi\xE9es",recurringTasks:"T\xE2ches r\xE9currentes"},buttons:{refresh:"Actualiser",refreshHint:"Actualiser les abonnements aux calendriers"},notices:{icsServiceNotAvailable:"Service d'abonnement ICS non disponible",calendarRefreshedAll:"Tous les abonnements aux calendriers ont \xE9t\xE9 actualis\xE9s avec succ\xE8s",refreshFailed:"\xC9chec de l'actualisation de certains abonnements aux calendriers",timeblockSpecificTime:"Les blocs de temps doivent avoir des heures sp\xE9cifiques. Veuillez s\xE9lectionner une plage horaire dans la vue semaine ou jour.",timeblockMoved:'Bloc de temps "{title}" d\xE9plac\xE9 vers {date}',timeblockUpdated:'Horaire du bloc de temps "{title}" mis \xE0 jour',timeblockMoveFailed:"\xC9chec du d\xE9placement du bloc de temps : {message}",timeblockResized:'Dur\xE9e du bloc de temps "{title}" mise \xE0 jour',timeblockResizeFailed:"\xC9chec du redimensionnement du bloc de temps : {message}",taskScheduled:'T\xE2che "{title}" planifi\xE9e pour {date}',scheduleTaskFailed:"\xC9chec de la planification de la t\xE2che",endTimeAfterStart:"L'heure de fin doit \xEAtre apr\xE8s l'heure de d\xE9but",timeEntryNotFound:"Entr\xE9e de temps introuvable",timeEntryDeleted:"Entr\xE9e de temps supprim\xE9e",deleteTimeEntryFailed:"\xC9chec de la suppression de l'entr\xE9e de temps"},timeEntry:{estimatedSuffix:"estim\xE9",trackedSuffix:"suivi",recurringPrefix:"R\xE9current : ",completedPrefix:"Termin\xE9 : ",createdPrefix:"Cr\xE9\xE9 : ",modifiedPrefix:"Modifi\xE9 : ",duePrefix:"\xC9ch\xE9ance : ",scheduledPrefix:"Planifi\xE9 : "},contextMenus:{openTask:"Ouvrir la t\xE2che",deleteTimeEntry:"Supprimer l'entr\xE9e de temps",deleteTimeEntryTitle:"Supprimer l'entr\xE9e de temps",deleteTimeEntryConfirm:"\xCAtes-vous s\xFBr de vouloir supprimer cette entr\xE9e de temps{duration} ? Cette action ne peut pas \xEAtre annul\xE9e.",deleteButton:"Supprimer",cancelButton:"Annuler"}},basesCalendar:{title:"Calendrier Bases",today:"Aujourd'hui",buttonText:{month:"M",week:"S",day:"J",year:"A",list:"L",customDays:"{count}J",listDays:"{count}j Liste",refresh:"Actualiser"},hints:{refresh:"Actualiser les abonnements calendrier",today:"Aller \xE0 aujourd'hui",prev:"Pr\xE9c\xE9dent",next:"Suivant",month:"Vue mensuelle",week:"Vue hebdomadaire",day:"Vue journali\xE8re",year:"Vue annuelle",list:"Vue liste",customDays:"Vue {count} jours"},settings:{groups:{dateNavigation:"Navigation par date",events:"\xC9v\xE9nements",layout:"Mise en page",propertyBasedEvents:"\xC9v\xE9nements bas\xE9s sur les propri\xE9t\xE9s",calendarSubscriptions:"Abonnements au calendrier",googleCalendars:"Agendas Google",microsoftCalendars:"Calendriers Microsoft"},dateNavigation:{navigateToDate:"Naviguer vers la date",navigateToDatePlaceholder:"AAAA-MM-JJ (ex. 2025-01-15) - laisser vide pour utiliser la propri\xE9t\xE9",navigateToDateFromProperty:"Naviguer vers la date depuis la propri\xE9t\xE9",navigateToDateFromPropertyPlaceholder:"S\xE9lectionner une propri\xE9t\xE9 de date (facultatif)",propertyNavigationStrategy:"Strat\xE9gie de navigation par propri\xE9t\xE9",strategies:{first:"Premier r\xE9sultat",earliest:"Date la plus ancienne",latest:"Date la plus r\xE9cente"}},events:{showScheduledTasks:"Afficher les t\xE2ches planifi\xE9es",showDueTasks:"Afficher les t\xE2ches \xE9chues",showRecurringTasks:"Afficher les t\xE2ches r\xE9currentes",showTimeEntries:"Afficher les entr\xE9es de temps",showTimeblocks:"Afficher les blocs de temps",showPropertyBasedEvents:"Afficher les \xE9v\xE9nements bas\xE9s sur les propri\xE9t\xE9s"},layout:{calendarView:"Vue du calendrier",customDayCount:"Nombre de jours personnalis\xE9",listDayCount:"Nombre de jours de liste",dayStartTime:"Heure de d\xE9but de journ\xE9e",dayStartTimePlaceholder:"HH:mm:ss (ex. 08:00:00)",dayEndTime:"Heure de fin de journ\xE9e",dayEndTimePlaceholder:"HH:mm:ss (ex. 20:00:00)",timeSlotDuration:"Dur\xE9e de la plage horaire",timeSlotDurationPlaceholder:"HH:mm:ss (ex. 00:30:00)",weekStartsOn:"La semaine commence le",showWeekNumbers:"Afficher les num\xE9ros de semaine",showNowIndicator:"Afficher l'indicateur actuel",showWeekends:"Afficher les week-ends",showAllDaySlot:"Afficher la plage toute la journ\xE9e",showTodayHighlight:"Mettre en surbrillance aujourd'hui",todayColumnWidthMultiplier:"Multiplicateur de largeur de la colonne du jour",showSelectionPreview:"Afficher l'aper\xE7u de s\xE9lection",timeFormat:"Format de l'heure",timeFormat12:"12 heures (AM/PM)",timeFormat24:"24 heures",initialScrollTime:"Heure de d\xE9filement initial",initialScrollTimePlaceholder:"HH:mm:ss (ex. 08:00:00)",minimumEventHeight:"Hauteur minimale de l'\xE9v\xE9nement (px)",slotEventOverlap:"Autoriser le chevauchement des \xE9v\xE9nements",enableSearch:"Activer la zone de recherche",eventMaxStack:"Max. \xE9v\xE9nements empil\xE9s (vue semaine/jour, 0 = illimit\xE9)",dayMaxEvents:"Max. \xE9v\xE9nements par jour (vue mois, 0 = automatique)",dayMaxEventRows:"Max. lignes d'\xE9v\xE9nements par jour (vue mois, 0 = illimit\xE9)",spanScheduledToDue:"\xC9tendre les t\xE2ches entre la date planifi\xE9e et la date d'\xE9ch\xE9ance"},propertyBasedEvents:{startDateProperty:"Propri\xE9t\xE9 de date de d\xE9but",startDatePropertyPlaceholder:"S\xE9lectionner une propri\xE9t\xE9 pour la date/heure de d\xE9but",endDateProperty:"Propri\xE9t\xE9 de date de fin (facultatif)",endDatePropertyPlaceholder:"S\xE9lectionner une propri\xE9t\xE9 pour la date/heure de fin",titleProperty:"Propri\xE9t\xE9 de titre (facultatif)",titlePropertyPlaceholder:"S\xE9lectionner une propri\xE9t\xE9 pour le titre de l'\xE9v\xE9nement"}},errors:{failedToInitialize:"\xC9chec de l'initialisation du calendrier"}},kanban:{title:"Tableau Kanban",newTask:"Nouvelle t\xE2che",addCard:"+ Ajouter une carte",noTasks:"Aucune t\xE2che",uncategorized:"Non cat\xE9goris\xE9",noProject:"Aucun projet",reorder:{scope:{column:'colonne "{group}"',columnInSwimlane:'colonne "{group}" dans la swimlane "{swimlane}"'}},notices:{loadFailed:"\xC9chec du chargement du tableau Kanban",movedTask:'T\xE2che d\xE9plac\xE9e vers "{0}"'},errors:{loadingBoard:"Erreur lors du chargement du tableau.",noGroupBy:"La vue Kanban n\xE9cessite qu'une propri\xE9t\xE9 'Grouper par' soit configur\xE9e. Cliquez sur le bouton 'Trier' et s\xE9lectionnez une propri\xE9t\xE9 sous 'Grouper par'.",formulaGroupingReadOnly:"Impossible de d\xE9placer les t\xE2ches entre les colonnes bas\xE9es sur des formules. Les valeurs de formule sont calcul\xE9es et ne peuvent pas \xEAtre modifi\xE9es directement.",formulaSwimlaneReadOnly:"Impossible de d\xE9placer les t\xE2ches entre les couloirs bas\xE9s sur des formules. Les valeurs de formule sont calcul\xE9es et ne peuvent pas \xEAtre modifi\xE9es directement."},columnTitle:"Sans titre"},pomodoro:{title:"Sessions Pomodoro",status:{focus:"Concentration",ready:"Pr\xEAt \xE0 d\xE9marrer",paused:"En pause",working:"En travail",shortBreak:"Pause courte",longBreak:"Pause longue",breakPrompt:"Bravo ! C'est l'heure d'une pause {length}",breakLength:{short:"courte",long:"longue"},breakComplete:"Pause termin\xE9e ! Pr\xEAt pour le prochain pomodoro ?"},buttons:{start:"D\xE9marrer",pause:"Mettre en pause",stop:"Arr\xEAter",resume:"Reprendre",startShortBreak:"Commencer la pause courte",startLongBreak:"Commencer la pause longue",skipBreak:"Passer la pause",chooseTask:"Choisir une t\xE2che...",changeTask:"Changer de t\xE2che...",clearTask:"Effacer la t\xE2che",selectDifferentTask:"S\xE9lectionner une autre t\xE2che"},notices:{noTasks:"Aucune t\xE2che non archiv\xE9e retrouv\xE9e. Cr\xE9ez d'abord quelques t\xE2ches.",loadFailed:"Impossible de charger les t\xE2ches"},statsLabel:"termin\xE9es aujourd'hui"},pomodoroStats:{title:"Statistiques Pomodoro",heading:"Statistiques Pomodoro",refresh:"Actualiser",sections:{overview:"Aper\xE7u",today:"Aujourd'hui",week:"Cette semaine",allTime:"Historique",recent:"Sessions r\xE9centes"},overviewCards:{todayPomos:{label:"Pomodoros du jour",change:{more:"{count} de plus qu'hier",less:"{count} de moins qu'hier"}},totalPomos:{label:"Total des pomodoros"},todayFocus:{label:"Temps de focus du jour",change:{more:"{duration} de plus qu'hier",less:"{duration} de moins qu'hier"}},totalFocus:{label:"Dur\xE9e de focus cumul\xE9e"}},stats:{pomodoros:"Sessions",streak:"S\xE9rie",minutes:"Minutes totales",average:"Dur\xE9e moy.",completion:"Taux d'ach\xE8vement"},recents:{empty:"Aucune session enregistr\xE9e pour le moment",duration:"Dur\xE9e : {minutes} min",status:{completed:"Termin\xE9e",interrupted:"Interrompue"}}},stats:{title:"Statistiques",taskProjectStats:"Statistiques des t\xE2ches et projets",sections:{filters:"Filtres",overview:"Aper\xE7u",today:"Aujourd'hui",thisWeek:"Cette semaine",thisMonth:"Ce mois",projectBreakdown:"R\xE9partition par projet",dateRange:"Plage de dates"},filters:{minTime:"Temps min (minutes)",allTasks:"Toutes les t\xE2ches",activeOnly:"Actives uniquement",completedOnly:"Termin\xE9es uniquement"},refreshButton:"Actualiser",timeRanges:{allTime:"Tout le temps",last7Days:"7 derniers jours",last30Days:"30 derniers jours",last90Days:"90 derniers jours",customRange:"Plage personnalis\xE9e"},resetFiltersButton:"R\xE9initialiser les filtres",dateRangeFrom:"De",dateRangeTo:"\xC0",noProject:"Aucun projet",cards:{timeTrackedEstimated:"Temps suivi / estim\xE9",totalTasks:"Total des t\xE2ches",completionRate:"Taux de compl\xE9tion",activeProjects:"Projets actifs",avgTimePerTask:"Temps moyen par t\xE2che"},labels:{tasks:"T\xE2ches",completed:"Termin\xE9es",projects:"Projets"},noProjectData:"Aucune donn\xE9e de projet disponible",notAvailable:"N/D",noTasks:"Aucune t\xE2che trouv\xE9e",loading:"Chargement..."},releaseNotes:{title:"Nouveaut\xE9s de TaskNotes {version}",header:"Nouveaut\xE9s de TaskNotes {version}",viewAllLink:"Voir toutes les notes de version sur GitHub \u2192",starMessage:"Si vous trouvez TaskNotes utile, pensez \xE0 lui donner une \xE9toile sur GitHub",baseFilesNotice:"> [!info] \xC0 propos des fichiers `.base` par d\xE9faut\n> Les modifications des mod\xE8les `.base` g\xE9n\xE9r\xE9s par d\xE9faut n'\xE9crasent pas vos fichiers `.base` existants, afin de pr\xE9server vos personnalisations.\n> Si vous souhaitez profiter des derni\xE8res am\xE9liorations de mod\xE8les, r\xE9g\xE9n\xE9rez les fichiers base via **Param\xE8tres \u2192 TaskNotes \u2192 G\xE9n\xE9ral \u2192 Cr\xE9er les fichiers**."}},settings:{header:{documentation:"Documentation",documentationUrl:"https://tasknotes.dev"},tabs:{general:"G\xE9n\xE9ral",taskProperties:"Propri\xE9t\xE9s des t\xE2ches",modalFields:"Champs du modal",defaults:"D\xE9fauts et mod\xE8les",appearance:"Apparence et interface",features:"Fonctionnalit\xE9s",integrations:"Int\xE9grations"},features:{inlineTasks:{header:"T\xE2ches dans les notes",description:"Param\xE8tres des liens de t\xE2ches et conversion des cases \xE0 cocher en t\xE2ches dans les notes."},overlays:{taskLinkToggle:{name:"Survol des liens de t\xE2ches",description:"Afficher des superpositions interactives lorsque la souris passe sur les liens de t\xE2ches"},aliasExclusion:{name:"D\xE9sactiver la superposition pour les liens avec alias",description:"Ne pas afficher le widget de t\xE2che si le lien contient un alias (ex. [[T\xE2che|Alias]])."}},instantConvert:{toggle:{name:"Afficher le bouton de conversion \xE0 c\xF4t\xE9 des cases \xE0 cocher",description:"Afficher un bouton en ligne \xE0 c\xF4t\xE9 des cases \xE0 cocher Markdown qui les convertit en TaskNotes"},folder:{name:"Dossier pour les t\xE2ches converties",description:"Dossier o\xF9 les t\xE2ches converties depuis les cases \xE0 cocher seront cr\xE9\xE9es. Laisser vide pour utiliser le dossier de t\xE2ches par d\xE9faut. Utilisez {{currentNotePath}} pour le dossier de la note actuelle, ou {{currentNoteTitle}} pour un sous-dossier nomm\xE9 d'apr\xE8s la note."}},nlp:{header:"Traitement du langage naturel",description:"Analyse les dates, priorit\xE9s et autres propri\xE9t\xE9s depuis le texte saisi.",enable:{name:"Activer la saisie en langage naturel",description:"Analyser les dates, priorit\xE9s et contextes lors de la cr\xE9ation de t\xE2ches"},defaultToScheduled:{name:"Planifi\xE9 par d\xE9faut",description:"Si une date est d\xE9tect\xE9e sans contexte, la consid\xE9rer comme planifi\xE9e plut\xF4t qu'\xE9ch\xE9ance"},language:{name:"Langue du NLP",description:"Langue utilis\xE9e pour les mod\xE8les de traitement du langage naturel et l'analyse des dates"},statusTrigger:{name:"D\xE9clencheur des statuts sugg\xE9r\xE9s",description:"Texte qui d\xE9clenche les suggestions de statut (laisser vide pour d\xE9sactiver)"}},pomodoro:{header:"Minuteur Pomodoro",description:"Configure les intervalles travail/pause du minuteur Pomodoro.",workDuration:{name:"Dur\xE9e de travail",description:"Dur\xE9e des sessions de travail en minutes"},shortBreak:{name:"Dur\xE9e de la pause courte",description:"Dur\xE9e des pauses courtes en minutes"},longBreak:{name:"Dur\xE9e de la pause longue",description:"Dur\xE9e des pauses longues en minutes"},longBreakInterval:{name:"Intervalle des pauses longues",description:"Nombre de sessions de travail avant une pause longue"},autoStartBreaks:{name:"Lancer automatiquement les pauses",description:"D\xE9marrer automatiquement les pauses apr\xE8s chaque session de travail"},autoStartWork:{name:"Reprise automatique du travail",description:"D\xE9marrer automatiquement une session de travail apr\xE8s les pauses"},notifications:{name:"Notifications Pomodoro",description:"Afficher une notification lorsque les sessions Pomodoro se terminent"},mobileSidebar:{name:"Barre lat\xE9rale mobile",description:"O\xF9 ouvrir le minuteur Pomodoro sur les appareils mobiles",tab:"Panneau de notes",left:"Barre lat\xE9rale gauche",right:"Barre lat\xE9rale droite"}},uiLanguage:{header:"Langue de l'interface",description:"Modifiez la langue des menus, notifications et vues de TaskNotes.",dropdown:{name:"Langue de l'interface",description:"S\xE9lectionnez la langue utilis\xE9e pour le texte de l'interface TaskNotes"}},pomodoroSound:{enabledName:"Son activ\xE9",enabledDesc:"Jouer un son \xE0 la fin des sessions Pomodoro",volumeName:"Volume du son",volumeDesc:"Volume des sons Pomodoro (0-100)"},dataStorage:{name:"Stockage des donn\xE9es Pomodoro",description:"Configurez o\xF9 les donn\xE9es de session pomodoro sont stock\xE9es et comment elles sont g\xE9r\xE9es.",dailyNotes:"Notes quotidiennes",pluginData:"Donn\xE9es du plugin",notices:{locationChanged:"Emplacement de stockage Pomodoro chang\xE9 vers {location}"}},notifications:{header:"Notifications",description:"Configurez les notifications de rappel de t\xE2ches et les alertes.",enableName:"Activer les notifications",enableDesc:"Activer les notifications de rappel de t\xE2ches",typeName:"Type de notification",typeDesc:"Type de notifications \xE0 afficher",systemLabel:"Notifications syst\xE8me",inAppLabel:"Notifications dans l'application"},overdue:{hideCompletedName:"Masquer les t\xE2ches termin\xE9es des retards",hideCompletedDesc:"Exclure les t\xE2ches termin\xE9es du calcul des t\xE2ches en retard"},indexing:{disableName:"D\xE9sactiver l'indexation des notes",disableDesc:"D\xE9sactiver l'indexation automatique du contenu des notes pour de meilleures performances"},suggestions:{debounceName:"D\xE9lai des suggestions",debounceDesc:"D\xE9lai en millisecondes avant d'afficher les suggestions"},timeTracking:{autoStopName:"Arr\xEAt automatique du suivi du temps",autoStopDesc:"Arr\xEAter automatiquement le suivi du temps lorsqu'une t\xE2che est marqu\xE9e comme termin\xE9e",stopNotificationName:"Notification d'arr\xEAt du suivi du temps",stopNotificationDesc:"Afficher une notification lorsque le suivi du temps est automatiquement arr\xEAt\xE9"},recurring:{maintainOffsetName:"Maintenir le d\xE9calage de date d'\xE9ch\xE9ance dans les t\xE2ches r\xE9currentes",maintainOffsetDesc:"Conserver le d\xE9calage entre la date d'\xE9ch\xE9ance et la date planifi\xE9e lors de l'ach\xE8vement des t\xE2ches r\xE9currentes",resetCheckboxesName:"R\xE9initialiser les cases \xE0 cocher lors de la r\xE9currence",resetCheckboxesDesc:"R\xE9initialiser toutes les cases \xE0 cocher markdown dans le corps de la t\xE2che lorsqu'une t\xE2che r\xE9currente est termin\xE9e et reprogramm\xE9e"},timeblocking:{header:"Planification par blocs",description:"Configurez la fonctionnalit\xE9 de planification par blocs pour une programmation l\xE9g\xE8re dans les notes quotidiennes. Glissez sur les vues calendrier pour cr\xE9er des \xE9v\xE9nements - s\xE9lectionnez 'Timeblock' dans le menu contextuel.",enableName:"Activer la planification par blocs",enableDesc:"Activer la fonctionnalit\xE9 de planification par blocs pour une programmation l\xE9g\xE8re dans les notes quotidiennes. Lorsqu'activ\xE9, l'option 'Timeblock' appara\xEEt dans le menu contextuel de glissement du calendrier.",showBlocksName:"Afficher les blocs de temps",showBlocksDesc:"Afficher les blocs de temps des notes quotidiennes par d\xE9faut",defaultColorName:"Couleur par d\xE9faut des blocs de temps",defaultColorDesc:"La couleur par d\xE9faut utilis\xE9e lors de la cr\xE9ation de nouveaux blocs de temps",usage:"Utilisation : Glissez sur le calendrier pour cr\xE9er des \xE9v\xE9nements. S\xE9lectionnez 'Timeblock' dans le menu contextuel (uniquement visible lorsque la planification par blocs est activ\xE9e). Glissez pour d\xE9placer les blocs de temps existants. Ajustez les bords pour modifier la dur\xE9e."},performance:{header:"Performance et comportement",description:"Configurez les options de performance et de comportement du plugin."},timeTrackingSection:{header:"Suivi du temps",description:"Configurez les comportements de suivi automatique du temps."},recurringSection:{header:"T\xE2ches r\xE9currentes",description:"Configurez le comportement pour la gestion des t\xE2ches r\xE9currentes."},debugLogging:{header:"Journalisation du d\xE9bogage",description:"Configure la sortie des journaux de d\xE9bogage pour la r\xE9solution des probl\xE8mes.",enableName:"Activer la journalisation de d\xE9bogage",enableDesc:"Consigner les diagnostics d\xE9taill\xE9s de glisser-d\xE9poser et de vue dans la console d\xE9veloppeur. Utile pour le d\xE9pannage."}},defaults:{header:{basicDefaults:"Param\xE8tres par d\xE9faut",dateDefaults:"Dates par d\xE9faut",defaultReminders:"Rappels par d\xE9faut",bodyTemplate:"Mod\xE8le de contenu",instantTaskConversion:"Conversion instantan\xE9e en t\xE2che"},description:{basicDefaults:"D\xE9finir les valeurs par d\xE9faut pour les nouvelles t\xE2ches afin d'acc\xE9l\xE9rer la cr\xE9ation.",dateDefaults:"D\xE9finir les dates d'\xE9ch\xE9ance et de planification par d\xE9faut pour les nouvelles t\xE2ches.",defaultReminders:"Configurer les rappels par d\xE9faut qui seront ajout\xE9s aux nouvelles t\xE2ches.",bodyTemplate:"Configurer un fichier mod\xE8le \xE0 utiliser pour le contenu des nouvelles t\xE2ches.",instantTaskConversion:"Configurer le comportement lors de la conversion instantan\xE9e de texte en t\xE2ches."},basicDefaults:{defaultStatus:{name:"Statut par d\xE9faut",description:"Statut par d\xE9faut pour les nouvelles t\xE2ches"},defaultPriority:{name:"Priorit\xE9 par d\xE9faut",description:"Priorit\xE9 par d\xE9faut pour les nouvelles t\xE2ches"},defaultContexts:{name:"Contextes par d\xE9faut",description:"Liste de contextes par d\xE9faut s\xE9par\xE9s par des virgules (ex. @maison, @travail)",placeholder:"@maison, @travail"},defaultTags:{name:"Tags par d\xE9faut",description:"Liste de tags par d\xE9faut s\xE9par\xE9s par des virgules (sans #)",placeholder:"important, urgent"},defaultProjects:{name:"Projets par d\xE9faut",description:"Liens de projets par d\xE9faut pour les nouvelles t\xE2ches",selectButton:"S\xE9lectionner des projets",selectTooltip:"Choisir les notes de projet \xE0 lier par d\xE9faut",removeTooltip:"Retirer {name} des projets par d\xE9faut"},useParentNoteAsProject:{name:"Utiliser la note parent comme projet lors de la conversion instantan\xE9e",description:"Lier automatiquement la note parent comme projet lors de la conversion instantan\xE9e de t\xE2che"},defaultTimeEstimate:{name:"Estimation de temps par d\xE9faut",description:"Estimation de temps par d\xE9faut en minutes (0 = aucune par d\xE9faut)",placeholder:"60"},defaultRecurrence:{name:"R\xE9currence par d\xE9faut",description:"Mod\xE8le de r\xE9currence par d\xE9faut pour les nouvelles t\xE2ches"}},dateDefaults:{defaultDueDate:{name:"Date d'\xE9ch\xE9ance par d\xE9faut",description:"Date d'\xE9ch\xE9ance par d\xE9faut pour les nouvelles t\xE2ches"},defaultScheduledDate:{name:"Date planifi\xE9e par d\xE9faut",description:"Date planifi\xE9e par d\xE9faut pour les nouvelles t\xE2ches"}},reminders:{addReminder:{name:"Ajouter un rappel par d\xE9faut",description:"Cr\xE9er un nouveau rappel par d\xE9faut qui sera ajout\xE9 \xE0 toutes les nouvelles t\xE2ches",buttonText:"Ajouter un rappel"},emptyState:"Aucun rappel par d\xE9faut configur\xE9. Ajoutez un rappel pour \xEAtre automatiquement notifi\xE9 des nouvelles t\xE2ches.",emptyStateButton:"Ajouter un rappel",reminderDescription:"Description du rappel",unnamedReminder:"Rappel sans nom",deleteTooltip:"Supprimer le rappel",fields:{description:"Description :",type:"Type :",offset:"D\xE9calage :",unit:"Unit\xE9 :",direction:"Direction :",relatedTo:"Relatif \xE0 :",date:"Date :",time:"Heure :"},types:{relative:"Relatif (avant/apr\xE8s les dates de la t\xE2che)",absolute:"Absolu (date/heure sp\xE9cifique)"},units:{minutes:"minutes",hours:"heures",days:"jours"},directions:{before:"avant",after:"apr\xE8s"},relatedTo:{due:"date d'\xE9ch\xE9ance",scheduled:"date planifi\xE9e"}},bodyTemplate:{useBodyTemplate:{name:"Utiliser un mod\xE8le de contenu",description:"Utiliser un fichier mod\xE8le pour le contenu du corps de la t\xE2che"},bodyTemplateFile:{name:"Fichier mod\xE8le de contenu",description:"Chemin vers le fichier mod\xE8le pour le contenu du corps de la t\xE2che. Prend en charge les variables comme {{title}}, {{date}}, {{time}}, {{priority}}, {{status}}, etc.",placeholder:"Templates/Mod\xE8le de t\xE2che.md",ariaLabel:"Chemin vers le fichier mod\xE8le de contenu"},variablesHeader:"Variables du mod\xE8le :",variables:{title:"{{title}} - Titre de la t\xE2che",details:"{{details}} - D\xE9tails fournis par l'utilisateur depuis la fen\xEAtre",date:"{{date}} - Date actuelle (AAAA-MM-JJ)",time:"{{time}} - Heure actuelle (HH:MM)",priority:"{{priority}} - Priorit\xE9 de la t\xE2che",status:"{{status}} - Statut de la t\xE2che",contexts:"{{contexts}} - Contextes de la t\xE2che",tags:"{{tags}} - Tags de la t\xE2che",projects:"{{projects}} - Projets de la t\xE2che"}},instantConversion:{useDefaultsOnInstantConvert:{name:"Utiliser les param\xE8tres par d\xE9faut lors de la conversion instantan\xE9e",description:"Appliquer les param\xE8tres de t\xE2che par d\xE9faut lors de la conversion instantan\xE9e de texte en t\xE2ches"}},options:{noDefault:"Aucune par d\xE9faut",none:"Aucune",today:"Aujourd'hui",tomorrow:"Demain",nextWeek:"La semaine prochaine",daily:"Quotidien",weekly:"Hebdomadaire",monthly:"Mensuel",yearly:"Annuel"}},general:{taskStorage:{header:"Stockage des t\xE2ches",description:"Configurez o\xF9 les t\xE2ches sont stock\xE9es et comment elles sont identifi\xE9es.",defaultFolder:{name:"Dossier par d\xE9faut des t\xE2ches",description:"Emplacement par d\xE9faut pour les nouvelles t\xE2ches"},moveArchived:{name:"D\xE9placer les t\xE2ches archiv\xE9es vers un dossier",description:"D\xE9placer automatiquement les t\xE2ches archiv\xE9es vers un dossier d'archive"},archiveFolder:{name:"Dossier d'archive",description:"Dossier vers lequel d\xE9placer les t\xE2ches lorsqu'elles sont archiv\xE9es. Supporte les variables de mod\xE8le comme {{year}}, {{month}}, {{priority}}, etc."}},taskIdentification:{header:"Identification des t\xE2ches",description:"Choisissez comment TaskNotes identifie les notes comme des t\xE2ches.",identifyBy:{name:"Identifier les t\xE2ches par",description:"Choisissez d'identifier les t\xE2ches par tag ou par une propri\xE9t\xE9 frontmatter",options:{tag:"\xC9tiquette",property:"Propri\xE9t\xE9"}},taskTag:{name:"Tag de t\xE2che",description:"Tag qui identifie les notes comme des t\xE2ches (sans #)"},hideIdentifyingTags:{name:"Masquer les tags d'identification dans les cartes de t\xE2ches",description:"Lorsque activ\xE9, les tags correspondant au tag d'identification de t\xE2che (y compris les correspondances hi\xE9rarchiques comme 'task/project') seront masqu\xE9s dans l'affichage des cartes de t\xE2ches"},taskProperty:{name:"Nom de la propri\xE9t\xE9 de t\xE2che",description:'Le nom de la propri\xE9t\xE9 frontmatter (ex. "category")'},taskPropertyValue:{name:"Valeur de la propri\xE9t\xE9 de t\xE2che",description:'La valeur qui identifie une note comme une t\xE2che (ex. "task")'}},folderManagement:{header:"Gestion des dossiers",excludedFolders:{name:"Dossiers exclus",description:"Liste s\xE9par\xE9e par des virgules des dossiers \xE0 exclure de l'indexation des t\xE2ches et des suggestions de projets"}},frontmatter:{header:"Frontmatter",description:"Configurez la fa\xE7on dont les liens sont format\xE9s dans les propri\xE9t\xE9s frontmatter.",useMarkdownLinks:{name:"Utiliser des liens markdown dans le frontmatter",description:`G\xE9n\xE9rer des liens markdown ([text](path)) au lieu de wikilinks ([[link]]) dans les propri\xE9t\xE9s frontmatter.
\u26A0\uFE0F N\xE9cessite le plugin 'obsidian-frontmatter-markdown-links' pour fonctionner correctement.`}},taskInteraction:{header:"Interaction avec les t\xE2ches",description:"Configurez le comportement des clics sur les t\xE2ches.",singleClick:{name:"Action du clic simple",description:"Action effectu\xE9e lors d'un clic simple sur une carte de t\xE2che"},doubleClick:{name:"Action du double-clic",description:"Action effectu\xE9e lors d'un double-clic sur une carte de t\xE2che"},actions:{edit:"Modifier la t\xE2che",openNote:"Ouvrir la note",none:"Aucune action"}},releaseNotes:{header:"Notes de version",description:"Version actuelle : {version}",showOnUpdate:{name:"Afficher les notes de version apr\xE8s la mise \xE0 jour",description:"Ouvrir automatiquement les notes de version lorsque TaskNotes est mis \xE0 jour vers une nouvelle version"},viewButton:{name:"Voir les notes de version",description:"D\xE9couvrez les nouveaut\xE9s de la derni\xE8re version de TaskNotes",buttonText:"Voir les notes de version"}}},taskProperties:{sections:{coreProperties:"Propri\xE9t\xE9s principales",corePropertiesDesc:"Le statut et la priorit\xE9 sont les propri\xE9t\xE9s principales qui d\xE9finissent l'\xE9tat et l'importance d'une t\xE2che.",dateProperties:"Propri\xE9t\xE9s de date",datePropertiesDesc:"Configurez les dates d'\xE9ch\xE9ance et de planification des t\xE2ches.",organizationProperties:"Propri\xE9t\xE9s d'organisation",organizationPropertiesDesc:"Organisez les t\xE2ches avec des contextes, projets et \xE9tiquettes.",taskDetails:"D\xE9tails de la t\xE2che",taskDetailsDesc:"D\xE9tails suppl\xE9mentaires comme les estimations de temps, la r\xE9currence et les rappels.",metadataProperties:"Propri\xE9t\xE9s de m\xE9tadonn\xE9es",metadataPropertiesDesc:"Propri\xE9t\xE9s g\xE9r\xE9es par le syst\xE8me pour suivre l'historique des t\xE2ches.",featureProperties:"Propri\xE9t\xE9s de fonctionnalit\xE9s",featurePropertiesDesc:"Propri\xE9t\xE9s utilis\xE9es par des fonctionnalit\xE9s TaskNotes sp\xE9cifiques comme le minuteur Pomodoro et la synchronisation du calendrier."},propertyCard:{propertyKey:"Cl\xE9 de propri\xE9t\xE9 :",default:"Par d\xE9faut :",nlpTrigger:"D\xE9clencheur NLP :",triggerChar:"Caract\xE8re d\xE9clencheur :",triggerEmpty:"Le d\xE9clencheur ne peut pas \xEAtre vide",triggerTooLong:"Le d\xE9clencheur est trop long (max 10 caract\xE8res)"},properties:{status:{name:"Statut",description:"Suit l'\xE9tat actuel d'une t\xE2che (ex. \xE0 faire, en cours, termin\xE9). Le statut d\xE9termine si une t\xE2che appara\xEEt comme termin\xE9e et peut d\xE9clencher l'archivage automatique."},priority:{name:"Priorit\xE9",description:"Indique l'importance de la t\xE2che. Utilis\xE9 pour le tri et le filtrage. Les valeurs sont tri\xE9es alphab\xE9tiquement dans les vues Bases, utilisez donc des pr\xE9fixes comme 1-, 2- pour contr\xF4ler l'ordre."},due:{name:"Date d'\xE9ch\xE9ance",description:"La date limite \xE0 laquelle une t\xE2che doit \xEAtre termin\xE9e. Les t\xE2ches d\xE9passant leur date d'\xE9ch\xE9ance apparaissent en retard. Stock\xE9 comme date dans le frontmatter."},scheduled:{name:"Date planifi\xE9e",description:"Quand vous pr\xE9voyez de travailler sur une t\xE2che. Contrairement \xE0 la date d'\xE9ch\xE9ance, cela repr\xE9sente votre heure de d\xE9but pr\xE9vue. Les t\xE2ches apparaissent dans le calendrier \xE0 leur date/heure planifi\xE9e."},contexts:{name:"Contextes",description:"Lieux ou conditions o\xF9 une t\xE2che peut \xEAtre effectu\xE9e (ex. @maison, @bureau, @t\xE9l\xE9phone). Utile pour filtrer les t\xE2ches selon votre situation actuelle. Stock\xE9 comme liste."},projects:{name:"Projets",description:"Liens vers les notes de projet auxquelles cette t\xE2che appartient. Stock\xE9 comme wikilinks (ex. [[Nom du projet]]). Les t\xE2ches peuvent appartenir \xE0 plusieurs projets."},tags:{name:"\xC9tiquettes",description:"\xC9tiquettes Obsidian natives pour cat\xE9goriser les t\xE2ches. Stock\xE9es dans la propri\xE9t\xE9 tags du frontmatter et fonctionnent avec les fonctionnalit\xE9s d'\xE9tiquettes d'Obsidian."},timeEstimate:{name:"Estimation de temps",description:"Minutes estim\xE9es pour terminer la t\xE2che. Utilis\xE9 pour la planification du temps et la gestion de la charge de travail. Affich\xE9 sur les cartes de t\xE2ches et les \xE9v\xE9nements du calendrier."},recurrence:{name:"R\xE9currence",description:"Mod\xE8le pour les t\xE2ches r\xE9p\xE9titives (quotidien, hebdomadaire, mensuel, annuel ou RRULE personnalis\xE9e). Quand une t\xE2che r\xE9currente est termin\xE9e, sa date planifi\xE9e est automatiquement mise \xE0 jour \xE0 la prochaine occurrence."},recurrenceAnchor:{name:"Ancre de r\xE9currence",description:"Contr\xF4le le calcul de la prochaine occurrence : 'scheduled' utilise la date planifi\xE9e, 'completion' utilise la date de compl\xE9tion r\xE9elle."},reminders:{name:"Rappels",description:"Notifications d\xE9clench\xE9es avant les dates d'\xE9ch\xE9ance ou planifi\xE9es. Stock\xE9 comme liste d'objets de rappel avec le timing et une description optionnelle."},title:{name:"Titre",description:"Le nom de la t\xE2che. Peut \xEAtre stock\xE9 dans le frontmatter ou dans le nom du fichier (quand 'Stocker le titre dans le nom du fichier' est activ\xE9)."},dateCreated:{name:"Date de cr\xE9ation",description:"Horodatage de la cr\xE9ation de la t\xE2che. D\xE9fini automatiquement et utilis\xE9 pour le tri par ordre de cr\xE9ation."},dateModified:{name:"Date de modification",description:"Horodatage de la derni\xE8re modification de la t\xE2che. Mis \xE0 jour automatiquement quand une propri\xE9t\xE9 de t\xE2che change."},completedDate:{name:"Date de compl\xE9tion",description:"Horodatage quand la t\xE2che a \xE9t\xE9 marqu\xE9e comme termin\xE9e. D\xE9fini automatiquement quand le statut passe \xE0 un \xE9tat termin\xE9."},archiveTag:{name:"\xC9tiquette d'archive",description:"\xC9tiquette ajout\xE9e aux t\xE2ches lors de l'archivage. Utilis\xE9e pour identifier les t\xE2ches archiv\xE9es et peut d\xE9clencher le d\xE9placement des fichiers vers le dossier d'archive."},timeEntries:{name:"Entr\xE9es de temps",description:"Enregistrements des sessions de suivi du temps pour cette t\xE2che. Chaque entr\xE9e stocke les horodatages de d\xE9but et de fin. Utilis\xE9 pour calculer le temps total pass\xE9."},completeInstances:{name:"Instances termin\xE9es",description:"Historique de compl\xE9tion pour les t\xE2ches r\xE9currentes. Stocke les dates auxquelles chaque instance a \xE9t\xE9 termin\xE9e pour \xE9viter les doublons."},skippedInstances:{name:"Instances ignor\xE9es",description:"Occurrences ignor\xE9es pour les t\xE2ches r\xE9currentes. Stocke les dates des instances qui ont \xE9t\xE9 ignor\xE9es plut\xF4t que termin\xE9es."},blockedBy:{name:"Bloqu\xE9e par",description:"Liens vers les t\xE2ches qui doivent \xEAtre termin\xE9es avant celle-ci. Stock\xE9 comme wikilinks. Les t\xE2ches bloqu\xE9es affichent un indicateur visuel."},sortOrder:{name:"Ordre manuel",description:"Propri\xE9t\xE9 de frontmatter utilis\xE9e pour le classement manuel par glisser-d\xE9poser. Une vue doit \xEAtre tri\xE9e par cette propri\xE9t\xE9 pour que le glisser-d\xE9poser fonctionne."},pomodoros:{name:"Pomodoros",description:"Nombre de sessions Pomodoro termin\xE9es. Quand le stockage de donn\xE9es est configur\xE9 sur 'Notes quotidiennes', ceci est \xE9crit dans les notes quotidiennes au lieu des fichiers de t\xE2ches."},icsEventId:{name:"ID d'\xE9v\xE9nement ICS",description:"Identifiant unique liant une note \xE0 un \xE9v\xE9nement de calendrier ICS. Ajout\xE9 automatiquement lors de la cr\xE9ation de notes \xE0 partir d'\xE9v\xE9nements de calendrier."},icsEventTag:{name:"\xC9tiquette d'\xE9v\xE9nement ICS",description:"\xC9tiquette identifiant les notes cr\xE9\xE9es \xE0 partir d'\xE9v\xE9nements de calendrier ICS. Utilis\xE9e pour distinguer les notes g\xE9n\xE9r\xE9es par le calendrier des t\xE2ches normales."}},statusCard:{valuesHeader:"Valeurs de statut"},priorityCard:{valuesHeader:"Valeurs de priorit\xE9"},projectsCard:{defaultProjects:"Projets par d\xE9faut :",useParentNote:"Utiliser la note parente comme projet :",noDefaultProjects:"Aucun projet par d\xE9faut s\xE9lectionn\xE9",autosuggestFilters:"Filtres d'auto-suggestion",customizeDisplay:"Personnaliser l'affichage",filtersOn:"Filtres actifs"},titleCard:{storeTitleInFilename:"Stocker le titre dans le nom du fichier :",storedInFilename:"Stock\xE9 dans le nom du fichier",filenameUpdatesWithTitle:"Le nom du fichier sera automatiquement mis \xE0 jour quand le titre de la t\xE2che change.",filenameFormat:"Format du nom de fichier :",customTemplate:"Mod\xE8le personnalis\xE9 :",legacySyntaxWarning:"La syntaxe \xE0 accolades simples comme {title} est obsol\xE8te. Veuillez utiliser la syntaxe \xE0 accolades doubles {{title}} pour la coh\xE9rence avec les mod\xE8les de corps."},tagsCard:{nativeObsidianTags:"Utilise les \xE9tiquettes Obsidian natives"},remindersCard:{defaultReminders:"Rappels par d\xE9faut"},taskStatuses:{header:"Statuts des t\xE2ches",description:"Personnalisez les options de statut disponibles pour vos t\xE2ches. Ces statuts contr\xF4lent le cycle de vie des t\xE2ches et d\xE9terminent quand les t\xE2ches sont consid\xE9r\xE9es comme termin\xE9es.",howTheyWork:{title:"Comment fonctionnent les statuts :",value:`Valeur : L'identifiant interne stock\xE9 dans vos fichiers de t\xE2ches (ex. "in-progress")`,label:`Label : Le nom affich\xE9 dans l'interface (ex. "En cours")`,color:"Couleur : Couleur d'indicateur visuel pour les points et badges de statut",icon:`Ic\xF4ne : Nom d'ic\xF4ne Lucide optionnel \xE0 afficher \xE0 la place du point color\xE9 (ex. "check", "circle", "clock"). Parcourir les ic\xF4nes sur lucide.dev`,completed:"Termin\xE9 : Quand coch\xE9, les t\xE2ches avec ce statut sont consid\xE9r\xE9es comme finies et peuvent \xEAtre filtr\xE9es diff\xE9remment",autoArchive:"Archivage auto : Quand activ\xE9, les t\xE2ches seront automatiquement archiv\xE9es apr\xE8s le d\xE9lai sp\xE9cifi\xE9 (1-1440 minutes)",orderNote:"L'ordre ci-dessous d\xE9termine la s\xE9quence lors du passage d'un statut \xE0 l'autre en cliquant sur les badges de statut des t\xE2ches."},addNew:{name:"Ajouter un nouveau statut",description:"Cr\xE9er une nouvelle option de statut pour vos t\xE2ches",buttonText:"Ajouter un statut"},validationNote:'Note : Vous devez avoir au moins 2 statuts, et au moins un statut doit \xEAtre marqu\xE9 comme "Termin\xE9".',emptyState:"Aucun statut personnalis\xE9 configur\xE9. Ajoutez un statut pour commencer.",emptyStateButton:"Ajouter un statut",fields:{value:"Valeur :",label:"Label :",color:"Couleur :",icon:"Ic\xF4ne :",completed:"Termin\xE9 :",autoArchive:"Archivage auto :",delayMinutes:"D\xE9lai (minutes) :"},placeholders:{value:"en-cours",label:"En cours",icon:"check, circle, clock"},badges:{completed:"Termin\xE9"},deleteConfirm:'Voulez-vous vraiment supprimer le statut "{label}" ?'},taskPriorities:{header:"Priorit\xE9s des t\xE2ches",description:"Personnalisez les niveaux de priorit\xE9 disponibles pour vos t\xE2ches. Dans v4.0+, les priorit\xE9s sont tri\xE9es alphab\xE9tiquement par leur valeur dans les vues Bases.",howTheyWork:{title:"Comment fonctionnent les priorit\xE9s :",value:`Valeur : L'identifiant interne stock\xE9 dans vos fichiers de t\xE2ches. Utilisez des pr\xE9fixes comme "1-urgent", "2-high" pour contr\xF4ler l'ordre de tri dans les vues Bases.`,label:`Label d'affichage : Le nom affich\xE9 dans l'interface (ex. "Priorit\xE9 \xE9lev\xE9e")`,color:"Couleur : Couleur d'indicateur visuel pour les points et badges de priorit\xE9",weight:"Poids : Valeur num\xE9rique pour le tri (les poids plus \xE9lev\xE9s apparaissent en premier dans les listes)",weightNote:"Les t\xE2ches sont automatiquement tri\xE9es par poids de priorit\xE9 en ordre d\xE9croissant (le poids le plus \xE9lev\xE9 en premier). Les poids peuvent \xEAtre n'importe quel nombre positif."},addNew:{name:"Ajouter une nouvelle priorit\xE9",description:"Cr\xE9er un nouveau niveau de priorit\xE9 pour vos t\xE2ches",buttonText:"Ajouter une priorit\xE9"},validationNote:"Note : Vous devez avoir au moins 1 priorit\xE9. Les priorit\xE9s sont tri\xE9es alphab\xE9tiquement par valeur dans les vues Bases.",emptyState:"Aucune priorit\xE9 personnalis\xE9e configur\xE9e. Ajoutez une priorit\xE9 pour commencer.",emptyStateButton:"Ajouter une priorit\xE9",fields:{value:"Valeur :",label:"Label :",color:"Couleur :",weight:"Poids :"},placeholders:{value:"elevee",label:"Priorit\xE9 \xE9lev\xE9e"},weightLabel:"Poids : {weight}",deleteConfirm:"Vous devez avoir au moins une priorit\xE9",deleteTooltip:"Supprimer la priorit\xE9"},fieldMapping:{header:"Mappage des champs",warning:"\u26A0\uFE0F Attention : TaskNotes lira ET \xE9crira en utilisant ces noms de propri\xE9t\xE9s. Les changer apr\xE8s avoir cr\xE9\xE9 des t\xE2ches peut causer des incoh\xE9rences.",description:"Configurez quelles propri\xE9t\xE9s frontmatter TaskNotes doit utiliser pour chaque champ.",resetButton:{name:"R\xE9initialiser les mappages de champs",description:"R\xE9initialiser tous les mappages de champs aux valeurs par d\xE9faut",buttonText:"R\xE9initialiser aux d\xE9fauts"},notices:{resetSuccess:"Mappages de champs r\xE9initialis\xE9s aux d\xE9fauts",resetFailure:"\xC9chec de la r\xE9initialisation des mappages de champs",updateFailure:"\xC9chec de la mise \xE0 jour du mappage de champ pour {label}. Veuillez r\xE9essayer."},table:{fieldHeader:"Champ TaskNotes",propertyHeader:"Nom de votre propri\xE9t\xE9"},fields:{title:"Titre",status:"Statut",priority:"Priorit\xE9",due:"Date d'\xE9ch\xE9ance",scheduled:"Date planifi\xE9e",contexts:"Contextes",projects:"Projets",timeEstimate:"Estimation de temps",recurrence:"R\xE9currence",dateCreated:"Date de cr\xE9ation",completedDate:"Date d'ach\xE8vement",dateModified:"Date de modification",archiveTag:"Tag d'archive",timeEntries:"Entr\xE9es de temps",completeInstances:"Instances compl\xE8tes",blockedBy:"Bloqu\xE9 par",sortOrder:"Ordre manuel",pomodoros:"Sessions Pomodoro",icsEventId:"ID d'\xE9v\xE9nement ICS",icsEventTag:"Tag d'\xE9v\xE9nement ICS",reminders:"Rappels"}},customUserFields:{header:"Champs utilisateur personnalis\xE9s",description:"D\xE9finissez des propri\xE9t\xE9s frontmatter personnalis\xE9es pour qu'elles apparaissent comme options de filtrage conscientes du type dans toutes les vues. Chaque ligne : Nom d'affichage, Nom de propri\xE9t\xE9, Type.",addNew:{name:"Ajouter un nouveau champ utilisateur",description:"Cr\xE9er un nouveau champ personnalis\xE9 qui appara\xEEtra dans les filtres et vues",buttonText:"Ajouter un champ utilisateur"},emptyState:"Aucun champ utilisateur personnalis\xE9 configur\xE9. Ajoutez un champ pour cr\xE9er des propri\xE9t\xE9s personnalis\xE9es pour vos t\xE2ches.",emptyStateButton:"Ajouter un champ utilisateur",fields:{displayName:"Nom d'affichage :",propertyKey:"Cl\xE9 de propri\xE9t\xE9 :",type:"Type :",defaultValue:"Valeur par d\xE9faut :"},placeholders:{displayName:"Nom d'affichage",propertyKey:"nom-propriete",defaultValue:"Valeur par d\xE9faut",defaultValueList:"Valeurs par d\xE9faut (s\xE9par\xE9es par des virgules)"},types:{text:"Texte",number:"Nombre",boolean:"Bool\xE9en",date:"Date (AAAA-MM-JJ)",list:"Liste"},defaultNames:{unnamedField:"Champ sans nom",noKey:"aucune-cle"},deleteTooltip:"Supprimer le champ",autosuggestFilters:{header:"Filtres d'auto-suggestion (Avanc\xE9)",description:"Filtrer quels fichiers apparaissent dans les suggestions d'auto-compl\xE9tion pour ce champ"}}},appearance:{taskCards:{header:"Cartes de t\xE2ches",description:"Configurez l'affichage des cartes de t\xE2ches dans toutes les vues.",defaultVisibleProperties:{name:"Propri\xE9t\xE9s visibles par d\xE9faut",description:"Choisissez quelles propri\xE9t\xE9s apparaissent sur les cartes de t\xE2ches par d\xE9faut."},propertyGroups:{coreProperties:"PROPRI\xC9T\xC9S PRINCIPALES",organization:"ORGANISATION",customProperties:"PROPRI\xC9T\xC9S PERSONNALIS\xC9ES"},properties:{status:"Point de statut",priority:"Point de priorit\xE9",due:"Date d'\xE9ch\xE9ance",scheduled:"Date planifi\xE9e",timeEstimate:"Estimation de temps",totalTrackedTime:"Temps suivi total",checklistProgress:"Progression de la liste de contr\xF4le",recurrence:"R\xE9currence",completedDate:"Date d'ach\xE8vement",createdDate:"Date de cr\xE9ation",modifiedDate:"Date de modification",projects:"Projets",contexts:"Contextes",tags:"\xC9tiquettes",blocked:"Bloqu\xE9",blocking:"Bloquant"}},taskFilenames:{header:"Noms de fichiers des t\xE2ches",description:"Configurez comment les fichiers de t\xE2ches sont nomm\xE9s lors de leur cr\xE9ation.",storeTitleInFilename:{name:"Stocker le titre dans le nom de fichier",description:"Utiliser le titre de la t\xE2che comme nom de fichier. Le nom de fichier sera mis \xE0 jour quand le titre de la t\xE2che changera (Recommand\xE9)."},filenameFormat:{name:"Format du nom de fichier",description:"Comment les noms de fichiers de t\xE2ches doivent \xEAtre g\xE9n\xE9r\xE9s",options:{title:"Titre de la t\xE2che (Non-mis \xE0 jour)",zettel:"Format Zettelkasten (AAMMJJ + secondes base36 depuis minuit)",timestamp:"Horodatage complet (AAAA-MM-JJ-HHMMSS)",custom:"Mod\xE8le personnalis\xE9"}},customTemplate:{name:"Mod\xE8le de nom de fichier personnalis\xE9",description:"Mod\xE8le pour les noms de fichiers personnalis\xE9s. Variables disponibles : {title}, {titleLower}, {titleUpper}, {titleSnake}, {titleKebab}, {titleCamel}, {titlePascal}, {date}, {shortDate}, {time}, {time12}, {time24}, {timestamp}, {dateTime}, {year}, {month}, {monthName}, {monthNameShort}, {day}, {dayName}, {dayNameShort}, {hour}, {hour12}, {minute}, {second}, {milliseconds}, {ms}, {ampm}, {week}, {quarter}, {unix}, {unixMs}, {timezone}, {timezoneShort}, {utcOffset}, {utcOffsetShort}, {utcZ}, {zettel}, {nano}, {priority}, {priorityShort}, {status}, {statusShort}, {dueDate}, {scheduledDate}",placeholder:"{date}-{title}-{dueDate}",helpText:"Note : {dueDate} et {scheduledDate} sont au format AAAA-MM-JJ et seront vides s'ils ne sont pas d\xE9finis."}},displayFormatting:{header:"Formatage d'affichage",description:"Configurez comment les dates, heures et autres donn\xE9es sont affich\xE9es dans le plugin.",timeFormat:{name:"Format d'heure",description:"Afficher l'heure au format 12 heures ou 24 heures dans tout le plugin",options:{twelveHour:"12 heures (AM/PM)",twentyFourHour:"24 heures"}}},calendarView:{header:"Vue calendrier",description:"Personnalisez l'apparence et le comportement de la vue calendrier.",defaultView:{name:"Vue par d\xE9faut",description:"La vue calendrier affich\xE9e \xE0 l'ouverture de l'onglet calendrier",options:{monthGrid:"Grille mensuelle",weekTimeline:"Chronologie hebdomadaire",dayTimeline:"Chronologie quotidienne",yearView:"Vue annuelle",customMultiDay:"Multi-jours personnalis\xE9"}},customDayCount:{name:"Nombre de jours de la vue personnalis\xE9e",description:"Nombre de jours \xE0 afficher dans la vue multi-jours personnalis\xE9e",placeholder:"3"},firstDayOfWeek:{name:"Premier jour de la semaine",description:"Quel jour doit \xEAtre la premi\xE8re colonne dans les vues hebdomadaires"},showWeekends:{name:"Afficher les week-ends",description:"Afficher les week-ends dans les vues calendrier"},showWeekNumbers:{name:"Afficher les num\xE9ros de semaine",description:"Afficher les num\xE9ros de semaine dans les vues calendrier"},showTodayHighlight:{name:"Surligner aujourd'hui",description:"Surligner le jour actuel dans les vues calendrier"},showCurrentTimeIndicator:{name:"Afficher l'indicateur de l'heure actuelle",description:"Afficher une ligne montrant l'heure actuelle dans les vues chronologiques"},selectionMirror:{name:"Miroir de s\xE9lection",description:"Afficher un aper\xE7u visuel lors du glissement pour s\xE9lectionner des plages horaires"},calendarLocale:{name:"Locale du calendrier",description:`Locale du calendrier pour le formatage des dates et le syst\xE8me calendaire (ex. "en", "fa" pour le Farsi/Persan, "de" pour l'Allemand). Laisser vide pour d\xE9tecter automatiquement depuis le navigateur.`,placeholder:"D\xE9tection automatique",invalidLocale:"Locale invalide. Veuillez entrer un code de langue valide (ex. 'fr', 'en', 'de-DE')."}},defaultEventVisibility:{header:"Visibilit\xE9 des \xE9v\xE9nements par d\xE9faut",description:"Configurez quels types d'\xE9v\xE9nements sont visibles par d\xE9faut \xE0 l'ouverture du Calendrier. Les utilisateurs peuvent toujours activer/d\xE9sactiver ces options dans la vue calendrier.",showScheduledTasks:{name:"Afficher les t\xE2ches planifi\xE9es",description:"Afficher les t\xE2ches avec dates planifi\xE9es par d\xE9faut"},showDueDates:{name:"Afficher les dates d'\xE9ch\xE9ance",description:"Afficher les dates d'\xE9ch\xE9ance des t\xE2ches par d\xE9faut"},showDueWhenScheduled:{name:"Afficher les \xE9ch\xE9ances quand planifi\xE9es",description:"Afficher les dates d'\xE9ch\xE9ance m\xEAme pour les t\xE2ches qui ont d\xE9j\xE0 des dates planifi\xE9es"},showTimeEntries:{name:"Afficher les entr\xE9es de temps",description:"Afficher les entr\xE9es de suivi du temps termin\xE9es par d\xE9faut"},showRecurringTasks:{name:"Afficher les t\xE2ches r\xE9currentes",description:"Afficher les instances de t\xE2ches r\xE9currentes par d\xE9faut"},showICSEvents:{name:"Afficher les \xE9v\xE9nements ICS",description:"Afficher les \xE9v\xE9nements des abonnements ICS par d\xE9faut"}},timeSettings:{header:"Param\xE8tres de temps",description:"Configurez les param\xE8tres d'affichage li\xE9s au temps pour les vues chronologiques.",timeSlotDuration:{name:"Dur\xE9e des cr\xE9neaux horaires",description:"Dur\xE9e de chaque cr\xE9neau horaire dans les vues chronologiques",options:{fifteenMinutes:"15 minutes",thirtyMinutes:"30 minutes",sixtyMinutes:"60 minutes"}},startTime:{name:"Heure de d\xE9but",description:"Heure la plus t\xF4t affich\xE9e dans les vues chronologiques (format HH:MM)",placeholder:"06:00"},endTime:{name:"Heure de fin",description:"Heure la plus tardive affich\xE9e dans les vues chronologiques (format HH:MM)",placeholder:"22:00"},initialScrollTime:{name:"Heure de d\xE9filement initial",description:"Heure vers laquelle d\xE9filer \xE0 l'ouverture des vues chronologiques (format HH:MM)",placeholder:"09:00"},eventMinHeight:{name:"Hauteur minimale d'\xE9v\xE9nement",description:"Hauteur minimale pour les \xE9v\xE9nements dans les vues chronologiques (pixels)",placeholder:"15"}},uiElements:{header:"\xC9l\xE9ments d'interface",description:"Configurez l'affichage de divers \xE9l\xE9ments d'interface.",showTrackedTasksInStatusBar:{name:"Afficher les t\xE2ches suivies dans la barre de statut",description:"Afficher les t\xE2ches actuellement suivies dans la barre de statut d'Obsidian"},showProjectSubtasksWidget:{name:"Afficher le widget des sous-t\xE2ches de projet",description:"Afficher un widget montrant les sous-t\xE2ches pour la note de projet actuelle"},projectSubtasksPosition:{name:"Position des sous-t\xE2ches de projet",description:"O\xF9 positionner le widget des sous-t\xE2ches de projet",options:{top:"Haut de la note",bottom:"Bas de la note"}},showRelationshipsWidget:{name:"Afficher le widget de relations",description:"Afficher un widget montrant toutes les relations de la note actuelle (sous-t\xE2ches, projets, d\xE9pendances)"},relationshipsPosition:{name:"Position des relations",description:"O\xF9 positionner le widget de relations",options:{top:"Haut de la note",bottom:"Bas de la note"}},showTaskCardInNote:{name:"Afficher la carte de t\xE2che dans la note",description:"Afficher un widget de carte de t\xE2che en haut des notes de t\xE2che montrant les d\xE9tails et actions de la t\xE2che"},showExpandableSubtasks:{name:"Afficher les sous-t\xE2ches extensibles",description:"Permettre d'\xE9tendre/r\xE9duire les sections de sous-t\xE2ches dans les cartes de t\xE2ches"},subtaskChevronPosition:{name:"Position du chevron des sous-t\xE2ches",description:"Position des chevrons d'extension/r\xE9duction dans les cartes de t\xE2ches",options:{left:"C\xF4t\xE9 gauche",right:"C\xF4t\xE9 droit"}},viewsButtonAlignment:{name:"Alignement du bouton des vues",description:"Alignement du bouton vues/filtres dans l'interface des t\xE2ches",options:{left:"C\xF4t\xE9 gauche",right:"C\xF4t\xE9 droit"}}},projectAutosuggest:{header:"Autosuggestion de projets",description:"Personnalisez l'affichage des suggestions de projets lors de la cr\xE9ation de t\xE2ches.",requiredTags:{name:"Tags requis",description:"Afficher seulement les notes avec l'un de ces tags (s\xE9par\xE9s par des virgules). Laisser vide pour afficher toutes les notes.",placeholder:"projet, actif, important"},includeFolders:{name:"Inclure les dossiers",description:"Afficher seulement les notes dans ces dossiers (chemins s\xE9par\xE9s par des virgules). Laisser vide pour afficher tous les dossiers.",placeholder:"Projets/, Travail/Actif, Personnel"},requiredPropertyKey:{name:"Cl\xE9 de propri\xE9t\xE9 requise",description:"Afficher seulement les notes o\xF9 cette propri\xE9t\xE9 frontmatter correspond \xE0 la valeur ci-dessous. Laisser vide pour ignorer.",placeholder:"type-projet"},requiredPropertyValue:{name:"Valeur de propri\xE9t\xE9 requise",description:"Seules les notes o\xF9 la propri\xE9t\xE9 \xE9gale cette valeur sont sugg\xE9r\xE9es. Laisser vide pour exiger que la propri\xE9t\xE9 existe.",placeholder:"projet"},customizeDisplay:{name:"Personnaliser l'affichage des suggestions",description:"Afficher les options avanc\xE9es pour configurer comment les suggestions de projets apparaissent et quelles informations elles affichent."},enableFuzzyMatching:{name:"Activer la correspondance floue",description:"Permettre les fautes de frappe et correspondances partielles dans la recherche de projet. Peut \xEAtre plus lent dans les gros coffres."},displayRowsHelp:"Configurez jusqu'\xE0 3 lignes d'informations \xE0 afficher pour chaque suggestion de projet.",displayRows:{row1:{name:"Ligne 1",description:"Format : {propri\xE9t\xE9|drapeaux}. Propri\xE9t\xE9s : title, aliases, file.path, file.parent. Drapeaux : n(Label) affiche le label, s rend cherchable. Exemple : {title|n(Titre)|s}",placeholder:"{title|n(Titre)}"},row2:{name:"Ligne 2 (optionnel)",description:"Mod\xE8les courants : {aliases|n(Alias)}, {file.parent|n(Dossier)}, literal:Texte personnalis\xE9",placeholder:"{aliases|n(Alias)}"},row3:{name:"Ligne 3 (optionnel)",description:"Infos suppl\xE9mentaires comme {file.path|n(Chemin)} ou champs frontmatter personnalis\xE9s",placeholder:"{file.path|n(Chemin)}"}},quickReference:{header:"R\xE9f\xE9rence rapide",properties:"Propri\xE9t\xE9s disponibles : title, aliases, file.path, file.parent, ou tout champ frontmatter",labels:'Ajouter des labels : {title|n(Titre)} \u2192 "Titre : Mon Projet"',searchable:"Rendre cherchable : {description|s} inclut la description dans la recherche +",staticText:"Texte statique : literal:Mon Label Personnalis\xE9",alwaysSearchable:"Le nom de fichier, titre et alias sont toujours cherchables par d\xE9faut."}},dataStorage:{name:"Emplacement de stockage",description:"O\xF9 stocker l'historique des sessions Pomodoro",pluginData:"Donn\xE9es du plugin (recommand\xE9)",dailyNotes:"Notes quotidiennes",notices:{locationChanged:"Emplacement de stockage Pomodoro chang\xE9 vers {location}"}},notifications:{description:"Configurez les notifications de rappel de t\xE2ches et les alertes."},performance:{description:"Configurez les options de performance et de comportement du plugin."},timeTrackingSection:{description:"Configurez les comportements de suivi automatique du temps."},recurringSection:{description:"Configurez le comportement pour la gestion des t\xE2ches r\xE9currentes."}},integrations:{basesIntegration:{header:"Int\xE9gration Bases",description:"Configurez l'int\xE9gration avec le plugin Obsidian Bases. Il s'agit d'une fonctionnalit\xE9 exp\xE9rimentale qui repose actuellement sur des API Obsidian non document\xE9es. Le comportement peut changer ou se briser.",enable:{name:"Activer l'int\xE9gration Bases",description:"Permettre l'utilisation des vues TaskNotes dans le plugin Obsidian Bases. Le plugin Bases doit \xEAtre activ\xE9 pour que cela fonctionne."},viewCommands:{header:"Vues et fichiers base",description:"TaskNotes utilise les fichiers Obsidian Bases (.base) pour ses vues. Ces fichiers sont g\xE9n\xE9r\xE9s automatiquement au d\xE9marrage s'ils n'existent pas, configur\xE9s avec vos param\xE8tres actuels (identification des t\xE2ches, correspondance des champs, statuts, etc.).",descriptionRegen:"Les fichiers base ne sont pas mis \xE0 jour automatiquement lorsque vous modifiez les param\xE8tres. Pour appliquer les nouveaux param\xE8tres, supprimez les fichiers .base existants et red\xE9marrez Obsidian, utilisez \xAB Cr\xE9er les fichiers \xBB ci-dessous, ou modifiez-les manuellement.",docsLink:"Voir la documentation pour les formules disponibles et les options de personnalisation",docsLinkUrl:"https://tasknotes.dev/views/default-base-templates",commands:{miniCalendar:"Ouvrir la vue mini calendrier",kanban:"Ouvrir la vue kanban",tasks:"Ouvrir la vue t\xE2ches",advancedCalendar:"Ouvrir la vue calendrier avanc\xE9",agenda:"Ouvrir la vue agenda",relationships:"Widget de relations"},fileLabel:"Fichier : {path}",resetButton:"R\xE9initialiser",resetTooltip:"R\xE9initialiser au chemin par d\xE9faut"},autoCreateDefaultFiles:{name:"Cr\xE9er automatiquement les fichiers par d\xE9faut",description:"Cr\xE9er automatiquement les fichiers Base par d\xE9faut manquants au d\xE9marrage. D\xE9sactivez pour emp\xEAcher la recr\xE9ation des fichiers d'exemple supprim\xE9s."},createDefaultFiles:{name:"Cr\xE9er les fichiers par d\xE9faut",description:"Cr\xE9ez les fichiers .base par d\xE9faut dans le r\xE9pertoire TaskNotes/Views/. Les fichiers existants ne seront pas \xE9cras\xE9s.",buttonText:"Cr\xE9er les fichiers"},exportV3Views:{name:"Exporter les vues enregistr\xE9es V3 vers Bases",description:"Convertissez toutes vos vues enregistr\xE9es de TaskNotes v3 en un seul fichier .base avec plusieurs vues. Cela aide \xE0 migrer vos configurations de filtres v3 vers le nouveau syst\xE8me Bases.",buttonText:"Exporter les vues V3",noViews:"Aucune vue enregistr\xE9e \xE0 exporter",fileExists:"Le fichier existe d\xE9j\xE0",confirmOverwrite:`Un fichier nomm\xE9 "{fileName}" existe d\xE9j\xE0. L'\xE9craser ?`,success:"{count} vues enregistr\xE9es export\xE9es vers {filePath}",error:"\xC9chec de l'exportation des vues : {message}"},notices:{enabled:"Int\xE9gration Bases activ\xE9e. Veuillez red\xE9marrer Obsidian pour terminer la configuration.",disabled:"Int\xE9gration Bases d\xE9sactiv\xE9e. Veuillez red\xE9marrer Obsidian pour terminer la suppression."}},calendarSubscriptions:{header:"Abonnements calendrier",description:"Abonnez-vous \xE0 des calendriers externes via des URL ICS/iCal pour voir les \xE9v\xE9nements \xE0 c\xF4t\xE9 de vos t\xE2ches.",defaultNoteTemplate:{name:"Mod\xE8le de note par d\xE9faut",description:"Chemin vers le fichier mod\xE8le pour les notes cr\xE9\xE9es \xE0 partir d'\xE9v\xE9nements ICS",placeholder:"Templates/Mod\xE8le \xC9v\xE9nement.md"},defaultNoteFolder:{name:"Dossier de note par d\xE9faut",description:"Dossier pour les notes cr\xE9\xE9es \xE0 partir d'\xE9v\xE9nements ICS",placeholder:"Calendrier/\xC9v\xE9nements"},filenameFormat:{name:"Format du nom de fichier des notes ICS",description:"Comment les noms de fichiers sont g\xE9n\xE9r\xE9s pour les notes cr\xE9\xE9es \xE0 partir d'\xE9v\xE9nements ICS",options:{title:"Titre de l'\xE9v\xE9nement",zettel:"Format Zettelkasten",timestamp:"Horodatage",custom:"Mod\xE8le personnalis\xE9"}},customTemplate:{name:"Mod\xE8le de nom de fichier ICS personnalis\xE9",description:"Mod\xE8le pour les noms de fichiers d'\xE9v\xE9nements ICS personnalis\xE9s",placeholder:"{date}-{title}"},useICSEndAsDue:{name:"Utiliser l'heure de fin de l'\xE9v\xE9nement ICS comme date d'\xE9ch\xE9ance",description:"Lorsqu'activ\xE9, les t\xE2ches cr\xE9\xE9es \xE0 partir d'\xE9v\xE9nements de calendrier auront leur date d'\xE9ch\xE9ance d\xE9finie sur l'heure de fin de l'\xE9v\xE9nement. Pour les \xE9v\xE9nements sur toute la journ\xE9e, la date d'\xE9ch\xE9ance sera la date de l'\xE9v\xE9nement. Pour les \xE9v\xE9nements avec horaire, la date d'\xE9ch\xE9ance inclura l'heure de fin."}},subscriptionsList:{header:"Liste des abonnements calendrier",addSubscription:{name:"Ajouter un abonnement calendrier",description:"Ajouter un nouvel abonnement calendrier depuis une URL ICS/iCal ou un fichier local",buttonText:"Ajouter un abonnement"},refreshAll:{name:"Actualiser tous les abonnements",description:"Actualiser manuellement tous les abonnements calendrier activ\xE9s",buttonText:"Tout actualiser"},newCalendarName:"Nouveau calendrier",emptyState:"Aucun abonnement calendrier configur\xE9. Ajoutez un abonnement pour synchroniser des calendriers externes.",notices:{addSuccess:"Nouvel abonnement calendrier ajout\xE9 - veuillez configurer les d\xE9tails",addFailure:"\xC9chec de l'ajout de l'abonnement",serviceUnavailable:"Service d'abonnement ICS non disponible",refreshSuccess:"Tous les abonnements calendrier actualis\xE9s avec succ\xE8s",refreshFailure:"\xC9chec de l'actualisation de certains abonnements calendrier",updateFailure:"\xC9chec de la mise \xE0 jour de l'abonnement",deleteSuccess:'Abonnement "{name}" supprim\xE9',deleteFailure:"\xC9chec de la suppression de l'abonnement",enableFirst:"Activez d'abord l'abonnement",refreshSubscriptionSuccess:'"{name}" actualis\xE9',refreshSubscriptionFailure:"\xC9chec de l'actualisation de l'abonnement"},labels:{enabled:"Activ\xE9 :",name:"Nom :",type:"Type :",url:"URL :",filePath:"Chemin du fichier :",color:"Couleur :",refreshMinutes:"Actualisation (min) :"},typeOptions:{remote:"URL distante",local:"Fichier local"},placeholders:{calendarName:"Nom du calendrier",url:"URL ICS/iCal",filePath:"Chemin du fichier local (ex. Calendrier.ics)",localFile:"Calendrier.ics"},statusLabels:{enabled:"Activ\xE9",disabled:"D\xE9sactiv\xE9",remote:"Distant",localFile:"Fichier local",remoteCalendar:"Calendrier distant",localFileCalendar:"Fichier local",synced:"Synchronis\xE9 {timeAgo}",error:"Erreur"},actions:{refreshNow:"Actualiser maintenant",deleteSubscription:"Supprimer l'abonnement"},refreshNow:"Actualiser maintenant",confirmDelete:{title:"Supprimer l'abonnement",message:`Voulez-vous vraiment supprimer l'abonnement "{name}" ? Cette action ne peut pas \xEAtre annul\xE9e.`,confirmText:"Supprimer"}},autoExport:{header:"Export ICS automatique",description:"Exportez automatiquement toutes vos t\xE2ches vers un fichier ICS.",enable:{name:"Activer l'export automatique",description:"Maintenir automatiquement un fichier ICS \xE0 jour avec toutes vos t\xE2ches"},filePath:{name:"Chemin du fichier d'export",description:"Chemin o\xF9 le fichier ICS sera sauvegard\xE9 (relatif \xE0 la racine du coffre)",placeholder:"tasknotes-calendrier.ics"},interval:{name:"Intervalle de mise \xE0 jour (entre 5 et 1440 minutes)",description:"Fr\xE9quence de mise \xE0 jour du fichier d'export",placeholder:"60"},useDuration:{name:"Utiliser la dur\xE9e de la t\xE2che pour la longueur de l'\xE9v\xE9nement",description:"Lorsque activ\xE9, utilise l'estimation de temps (dur\xE9e) de la t\xE2che au lieu de la date d'\xE9ch\xE9ance pour l'heure de fin de l'\xE9v\xE9nement du calendrier. Ceci est utile pour les flux de travail GTD o\xF9 planifi\xE9 + dur\xE9e repr\xE9sente la planification du travail, tandis que la date d'\xE9ch\xE9ance repr\xE9sente les d\xE9lais."},exportNow:{name:"Exporter maintenant",description:"D\xE9clencher manuellement un export imm\xE9diat",buttonText:"Exporter maintenant"},status:{title:"Statut de l'export :",lastExport:"Dernier export : {time}",nextExport:"Prochain export : {time}",noExports:"Aucun export encore",notScheduled:"Non programm\xE9",notInitialized:"Service d'export automatique non initialis\xE9 - veuillez red\xE9marrer Obsidian",serviceNotInitialized:"Service non initialis\xE9 - veuillez red\xE9marrer Obsidian"},notices:{reloadRequired:"Veuillez recharger Obsidian pour que les changements d'export automatique prennent effet.",exportSuccess:"T\xE2ches export\xE9es avec succ\xE8s",exportFailure:"\xC9chec de l'export - v\xE9rifiez la console pour les d\xE9tails",serviceUnavailable:"Service d'export automatique non disponible"}},googleCalendarExport:{header:"Exporter les t\xE2ches vers Google Agenda",description:"Synchronisez automatiquement vos t\xE2ches vers Google Agenda en tant qu'\xE9v\xE9nements. N\xE9cessite que Google Agenda soit connect\xE9 ci-dessus.",enable:{name:"Activer l'export des t\xE2ches",description:"Lorsqu'activ\xE9, les t\xE2ches avec des dates seront automatiquement synchronis\xE9es vers Google Agenda en tant qu'\xE9v\xE9nements."},targetCalendar:{name:"Calendrier cible",description:"S\xE9lectionnez dans quel calendrier cr\xE9er les \xE9v\xE9nements de t\xE2ches.",placeholder:"S\xE9lectionner un calendrier...",connectFirst:"Connectez d'abord Google Agenda",primarySuffix:" (Principal)"},syncTrigger:{name:"D\xE9clencheur de synchronisation",description:"Quelle date de t\xE2che doit d\xE9clencher la cr\xE9ation d'\xE9v\xE9nement.",options:{scheduled:"Date planifi\xE9e",due:"Date d'\xE9ch\xE9ance",both:"Les deux (pr\xE9f\xE9rer planifi\xE9e)"}},allDayEvents:{name:"Cr\xE9er en tant qu'\xE9v\xE9nements journ\xE9e enti\xE8re",description:"Lorsqu'activ\xE9, les t\xE2ches sont cr\xE9\xE9es en tant qu'\xE9v\xE9nements journ\xE9e enti\xE8re. Lorsque d\xE9sactiv\xE9, utilise l'estimation de temps pour la dur\xE9e."},defaultDuration:{name:"Dur\xE9e par d\xE9faut de l'\xE9v\xE9nement",description:"Dur\xE9e en minutes pour les \xE9v\xE9nements horodat\xE9s (utilis\xE9e lorsque la t\xE2che n'a pas d'estimation de temps)."},eventTitleTemplate:{name:"Mod\xE8le de titre d'\xE9v\xE9nement",description:"Mod\xE8le pour les titres d'\xE9v\xE9nements. Variables disponibles : {{title}}, {{status}}, {{priority}}",placeholder:"{{title}}"},includeDescription:{name:"Inclure les d\xE9tails de la t\xE2che dans la description",description:"Ajouter les m\xE9tadonn\xE9es de la t\xE2che (priorit\xE9, statut, tags, etc.) \xE0 la description de l'\xE9v\xE9nement."},includeObsidianLink:{name:"Inclure le lien Obsidian",description:"Ajouter un lien vers la t\xE2che dans Obsidian dans la description de l'\xE9v\xE9nement."},defaultReminder:{name:"Rappel par d\xE9faut",description:"Ajouter un rappel popup aux \xE9v\xE9nements Google Agenda. D\xE9finir les minutes avant l'\xE9v\xE9nement (0 = pas de rappel). Valeurs courantes : 15, 30, 60, 1440 (1 jour)."},automaticSyncBehavior:{header:"Comportement de synchronisation automatique"},syncOnCreate:{name:"Synchroniser \xE0 la cr\xE9ation de t\xE2che",description:"Cr\xE9er automatiquement un \xE9v\xE9nement de calendrier lorsqu'une nouvelle t\xE2che est cr\xE9\xE9e."},syncOnUpdate:{name:"Synchroniser \xE0 la mise \xE0 jour de t\xE2che",description:"Mettre \xE0 jour automatiquement l'\xE9v\xE9nement de calendrier lorsqu'une t\xE2che est modifi\xE9e."},syncOnComplete:{name:"Synchroniser \xE0 l'ach\xE8vement de t\xE2che",description:"Mettre \xE0 jour l'\xE9v\xE9nement de calendrier lorsqu'une t\xE2che est compl\xE9t\xE9e (ajoute une coche au titre)."},syncOnDelete:{name:"Supprimer l'\xE9v\xE9nement \xE0 la suppression de t\xE2che",description:"Supprimer l'\xE9v\xE9nement de calendrier lorsque la t\xE2che correspondante est supprim\xE9e."},manualSyncActions:{header:"Actions de synchronisation manuelle"},syncAllTasks:{name:"Synchroniser toutes les t\xE2ches",description:"Synchroniser toutes les t\xE2ches existantes vers Google Agenda. Cela cr\xE9era des \xE9v\xE9nements pour les t\xE2ches qui n'ont pas encore \xE9t\xE9 synchronis\xE9es.",buttonText:"Tout synchroniser"},unlinkAllTasks:{name:"Dissocier toutes les t\xE2ches",description:"Supprimer tous les liens t\xE2che-\xE9v\xE9nement sans supprimer les \xE9v\xE9nements du calendrier.",buttonText:"Tout dissocier",confirmTitle:"Dissocier toutes les t\xE2ches",confirmMessage:"Cela supprimera tous les liens entre les t\xE2ches et les \xE9v\xE9nements de calendrier. Les \xE9v\xE9nements du calendrier resteront mais ne seront plus mis \xE0 jour lorsque les t\xE2ches changent. \xCAtes-vous s\xFBr ?",confirmButtonText:"Tout dissocier"},notices:{notEnabled:"L'export Google Agenda n'est pas activ\xE9. Configurez-le dans Param\xE8tres > Int\xE9grations.",notEnabledOrConfigured:"L'export Google Agenda n'est pas activ\xE9 ou configur\xE9",serviceNotAvailable:"Service de synchronisation calendrier non disponible",syncResults:"Synchronis\xE9s : {synced}, \xC9chou\xE9s : {failed}, Ignor\xE9s : {skipped}",taskSynced:"T\xE2che synchronis\xE9e vers Google Agenda",noActiveFile:"Aucun fichier n'est actuellement actif",notATask:"Le fichier actuel n'est pas une t\xE2che",noDateToSync:"La t\xE2che n'a pas de date planifi\xE9e ou d'\xE9ch\xE9ance \xE0 synchroniser",syncFailed:"\xC9chec de la synchronisation de la t\xE2che vers Google Agenda : {message}",connectionExpired:"La connexion \xE0 Google Agenda a expir\xE9. Veuillez vous reconnecter dans Param\xE8tres > Int\xE9grations.",syncingTasks:"Synchronisation de {total} t\xE2ches vers Google Agenda...",syncComplete:"Synchronisation termin\xE9e : {synced} synchronis\xE9es, {failed} \xE9chou\xE9es, {skipped} ignor\xE9es",eventsDeletedAndUnlinked:"Tous les \xE9v\xE9nements supprim\xE9s et dissoci\xE9s",tasksUnlinked:"Tous les liens de t\xE2ches supprim\xE9s"},eventDescription:{untitledTask:"T\xE2che sans titre",priority:"Priorit\xE9 : {value}",status:"Statut : {value}",due:"\xC9ch\xE9ance : {value}",scheduled:"Planifi\xE9 : {value}",timeEstimate:"Estimation de temps : {value}",tags:"Tags : {value}",contexts:"Contextes : {value}",projects:"Projets : {value}",openInObsidian:"Ouvrir dans Obsidian"}},httpApi:{header:"API HTTP",description:"Activez l'API HTTP pour les int\xE9grations externes et les automations.",enable:{name:"Activer l'API HTTP",description:"D\xE9marrer le serveur HTTP local pour l'acc\xE8s API"},port:{name:"Port API",description:"Num\xE9ro de port pour le serveur API HTTP",placeholder:"3000"},authToken:{name:"Jeton d'authentification API",description:"Jeton requis pour l'authentification API (laisser vide pour pas d'authentification)",placeholder:"votre-jeton-secret"},mcp:{enable:{name:"Activer le serveur MCP",description:"Expose les outils TaskNotes via le Model Context Protocol sur le point de terminaison /mcp. N\xE9cessite l'activation de l'API HTTP."}},endpoints:{header:"Points de terminaison API disponibles",expandIcon:"\u25B6",collapseIcon:"\u25BC"}},webhooks:{header:"Webhooks",description:{overview:"Les webhooks envoient des notifications en temps r\xE9el aux services externes lorsque des \xE9v\xE9nements TaskNotes se produisent.",usage:"Configurez des webhooks pour int\xE9grer avec des outils d'automatisation, des services de synchronisation ou des applications personnalis\xE9es."},addWebhook:{name:"Ajouter un webhook",description:"Enregistrer un nouveau point de terminaison webhook",buttonText:"Ajouter un webhook"},emptyState:{message:"Aucun webhook configur\xE9. Ajoutez un webhook pour recevoir des notifications en temps r\xE9el.",buttonText:"Ajouter un webhook"},labels:{active:"Actif :",url:"URL :",events:"\xC9v\xE9nements :",transform:"Transformation :"},placeholders:{url:"URL du webhook",noEventsSelected:"Aucun \xE9v\xE9nement s\xE9lectionn\xE9",rawPayload:"Donn\xE9es brutes (aucune transformation)"},statusLabels:{active:"Actif",inactive:"Inactif",created:"Cr\xE9\xE9 {timeAgo}"},actions:{editEvents:"Modifier les \xE9v\xE9nements",delete:"Supprimer"},editEvents:"Modifier les \xE9v\xE9nements",notices:{urlUpdated:"URL du webhook mise \xE0 jour",enabled:"Webhook activ\xE9",disabled:"Webhook d\xE9sactiv\xE9",created:"Webhook cr\xE9\xE9 avec succ\xE8s",deleted:"Webhook supprim\xE9",updated:"Webhook mis \xE0 jour"},confirmDelete:{title:"Supprimer le webhook",message:`Voulez-vous vraiment supprimer ce webhook ?
URL : {url}
Cette action ne peut pas \xEAtre annul\xE9e.`,confirmText:"Supprimer"},cardHeader:"Webhook",cardFields:{active:"Actif :",url:"URL :",events:"\xC9v\xE9nements :",transform:"Transformation :"},eventsDisplay:{noEvents:"Aucun \xE9v\xE9nement s\xE9lectionn\xE9"},transformDisplay:{noTransform:"Donn\xE9es brutes (aucune transformation)"},secretModal:{title:"Secret webhook g\xE9n\xE9r\xE9",description:"Votre secret webhook a \xE9t\xE9 g\xE9n\xE9r\xE9. Sauvegardez ce secret car vous ne pourrez plus le voir :",usage:"Utilisez ce secret pour v\xE9rifier les donn\xE9es webhook dans votre application r\xE9ceptrice.",gotIt:"Compris"},editModal:{title:"Modifier le webhook",eventsHeader:"\xC9v\xE9nements auxquels s'abonner"},events:{taskCreated:{label:"T\xE2che cr\xE9\xE9e",description:"Quand de nouvelles t\xE2ches sont cr\xE9\xE9es"},taskUpdated:{label:"T\xE2che modifi\xE9e",description:"Quand les t\xE2ches sont modifi\xE9es"},taskCompleted:{label:"T\xE2che termin\xE9e",description:"Quand les t\xE2ches sont marqu\xE9es comme termin\xE9es"},taskDeleted:{label:"T\xE2che supprim\xE9e",description:"Quand les t\xE2ches sont supprim\xE9es"},taskArchived:{label:"T\xE2che archiv\xE9e",description:"Quand les t\xE2ches sont archiv\xE9es"},taskUnarchived:{label:"T\xE2che d\xE9sarchiv\xE9e",description:"Quand les t\xE2ches sont d\xE9sarchiv\xE9es"},timeStarted:{label:"Temps d\xE9marr\xE9",description:"Quand le suivi du temps d\xE9marre"},timeStopped:{label:"Temps arr\xEAt\xE9",description:"Quand le suivi du temps s'arr\xEAte"},pomodoroStarted:{label:"Pomodoro d\xE9marr\xE9",description:"Quand les sessions pomodoro commencent"},pomodoroCompleted:{label:"Pomodoro termin\xE9",description:"Quand les sessions pomodoro se terminent"},pomodoroInterrupted:{label:"Pomodoro interrompu",description:"Quand les sessions pomodoro sont arr\xEAt\xE9es"},recurringCompleted:{label:"Instance r\xE9currente termin\xE9e",description:"Quand les instances de t\xE2ches r\xE9currentes se terminent"},reminderTriggered:{label:"Rappel d\xE9clench\xE9",description:"Quand les rappels de t\xE2ches s'activent"}},modals:{secretGenerated:{title:"Secret du webhook g\xE9n\xE9r\xE9",description:"Le secret de votre webhook a \xE9t\xE9 g\xE9n\xE9r\xE9. Sauvegardez ce secret car vous ne pourrez plus le voir :",usage:"Utilisez ce secret pour v\xE9rifier les donn\xE9es du webhook dans votre application r\xE9ceptrice.",buttonText:"Compris"},edit:{title:"Modifier le webhook",eventsSection:"\xC9v\xE9nements auxquels s'abonner",transformSection:"Configuration de transformation (optionnel)",headersSection:"Configuration des en-t\xEAtes",transformFile:{name:"Fichier de transformation",description:"Chemin vers un fichier mod\xE8le .json dans votre coffre qui transforme les donn\xE9es du webhook",placeholder:"simple-template.json"},customHeaders:{name:"Inclure les en-t\xEAtes personnalis\xE9s",description:"Inclure les en-t\xEAtes TaskNotes (type d'\xE9v\xE9nement, signature, ID de livraison). D\xE9sactivez pour Discord, Slack et autres services avec des politiques CORS strictes."},buttons:{cancel:"Annuler",save:"Sauvegarder les modifications"},notices:{selectAtLeastOneEvent:"Veuillez s\xE9lectionner au moins un \xE9v\xE9nement"}},add:{title:"Ajouter un webhook",eventsSection:"\xC9v\xE9nements auxquels s'abonner",transformSection:"Configuration de transformation (optionnel)",headersSection:"Configuration des en-t\xEAtes",url:{name:"URL du webhook",description:"Le point de terminaison o\xF9 les donn\xE9es du webhook seront envoy\xE9es",placeholder:"https://votre-service.com/webhook"},transformFile:{name:"Fichier de transformation",description:"Chemin vers un fichier mod\xE8le .json dans votre coffre qui transforme les donn\xE9es du webhook",placeholder:"simple-template.json"},customHeaders:{name:"Inclure les en-t\xEAtes personnalis\xE9s",description:"Inclure les en-t\xEAtes TaskNotes (type d'\xE9v\xE9nement, signature, ID de livraison). D\xE9sactivez pour Discord, Slack et autres services avec des politiques CORS strictes."},transformHelp:{title:"Les mod\xE8les de transformation JSON permettent de personnaliser les donn\xE9es du webhook :",jsFiles:"",jsDescription:"",jsonFiles:"Fichiers .json :",jsonDescription:" Mod\xE8les avec ",jsonVariable:"${data.task.title}",leaveEmpty:"Laisser vide :",leaveEmptyDescription:" Envoyer les donn\xE9es brutes",example:"Exemple :",exampleFile:"simple-template.json"},buttons:{cancel:"Annuler",add:"Ajouter le webhook"},notices:{urlRequired:"L'URL du webhook est requise",selectAtLeastOneEvent:"Veuillez s\xE9lectionner au moins un \xE9v\xE9nement"}}}},otherIntegrations:{header:"Autres int\xE9grations de plugins",description:"Configurez les int\xE9grations avec d'autres plugins Obsidian."},mdbaseSpec:{header:"D\xE9finitions de types mdbase",learnMore:"En savoir plus sur mdbase-spec",enable:{name:"G\xE9n\xE9rer les d\xE9finitions de types mdbase",description:"G\xE9n\xE8re et maintient les fichiers de types mdbase (mdbase.yaml et _types/task.md) \xE0 la racine du coffre lorsque vos param\xE8tres changent."}},timeFormats:{justNow:"\xC0 l'instant",minutesAgo:"il y a {minutes} minute{plural}",hoursAgo:"il y a {hours} heure{plural}",daysAgo:"il y a {days} jour{plural}"}}},notices:{languageChanged:"Langue chang\xE9e pour {language}.",exportTasksFailed:"\xC9chec de l'export des t\xE2ches au format ICS",icsNoteCreatedSuccess:"Note cr\xE9\xE9e avec succ\xE8s",icsCreationModalOpenFailed:"\xC9chec de l'ouverture de la modale de cr\xE9ation",icsNoteLinkSuccess:`Note "{fileName}" li\xE9e \xE0 l'\xE9v\xE9nement ICS`,icsTaskCreatedSuccess:"T\xE2che cr\xE9\xE9e : {title}",icsRelatedItemsRefreshed:"Notes associ\xE9es actualis\xE9es",icsFileNotFound:"Fichier introuvable ou invalide",icsFileOpenFailed:"\xC9chec de l'ouverture du fichier",timeblockAttachmentExists:'"{fileName}" est d\xE9j\xE0 attach\xE9',timeblockAttachmentAdded:'"{fileName}" ajout\xE9 comme pi\xE8ce jointe',timeblockAttachmentRemoved:'"{fileName}" retir\xE9 des pi\xE8ces jointes',timeblockFileTypeNotSupported:`Impossible d'ouvrir "{fileName}" - type de fichier non pris en charge`,timeblockTitleRequired:"Veuillez saisir un titre pour le bloc de temps",timeblockUpdatedSuccess:'Bloc de temps "{title}" mis \xE0 jour avec succ\xE8s',timeblockUpdateFailed:"\xC9chec de la mise \xE0 jour du bloc de temps. Consultez la console pour plus de d\xE9tails.",timeblockDeletedSuccess:'Bloc de temps "{title}" supprim\xE9 avec succ\xE8s',timeblockDeleteFailed:"\xC9chec de la suppression du bloc de temps. Consultez la console pour plus de d\xE9tails.",timeblockRequiredFieldsMissing:"Veuillez remplir tous les champs requis",agendaLoadingFailed:"Erreur lors du chargement de l'agenda. Veuillez essayer d'actualiser.",statsLoadingFailed:"Erreur lors du chargement des d\xE9tails du projet."},commands:{openCalendarView:"Ouvrir la vue mini calendrier",openAdvancedCalendarView:"Ouvrir la vue calendrier",openTasksView:"Ouvrir la vue t\xE2ches",openNotesView:"Ouvrir la vue notes",openAgendaView:"Ouvrir la vue agenda",openPomodoroView:"Ouvrir le minuteur Pomodoro",openKanbanView:"Ouvrir le tableau Kanban",openPomodoroStats:"Ouvrir les statistiques Pomodoro",openStatisticsView:"Ouvrir les statistiques t\xE2ches & projets",createNewTask:"Cr\xE9er une nouvelle t\xE2che",convertCurrentNoteToTask:{name:"Convertir la note actuelle en t\xE2che",noActiveFile:"Aucun fichier actif \xE0 convertir",alreadyTask:"Cette note est d\xE9j\xE0 une t\xE2che",success:"'{title}' converti en t\xE2che"},convertToTaskNote:"Convertir la case \xE0 cocher en TaskNote",convertAllTasksInNote:"Convertir toutes les t\xE2ches de la note",insertTaskNoteLink:"Ins\xE9rer un lien TaskNote",createInlineTask:"Cr\xE9er une nouvelle t\xE2che int\xE9gr\xE9e",quickActionsCurrentTask:"Actions rapides pour la t\xE2che courante",goToTodayNote:"Aller \xE0 la note du jour",startPomodoro:"D\xE9marrer le minuteur Pomodoro",stopPomodoro:"Arr\xEAter le minuteur Pomodoro",pauseResumePomodoro:"Mettre en pause/reprendre le minuteur Pomodoro",refreshCache:"Actualiser le cache",exportAllTasksIcs:"Exporter toutes les t\xE2ches en fichier ICS",viewReleaseNotes:"Voir les notes de version",startTimeTrackingWithSelector:"D\xE9marrer le suivi du temps (s\xE9lectionner une t\xE2che)",editTimeEntries:"Modifier les entr\xE9es de temps (s\xE9lectionner une t\xE2che)",createOrOpenTask:"Cr\xE9er ou ouvrir une t\xE2che",syncAllTasksGoogleCalendar:"Synchroniser toutes les t\xE2ches vers Google Agenda",syncCurrentTaskGoogleCalendar:"Synchroniser la t\xE2che actuelle vers Google Agenda"},modals:{deviceCode:{title:"Autorisation Google Agenda",instructions:{intro:"Pour connecter votre Google Agenda, veuillez suivre ces \xE9tapes :"},steps:{open:"Ouvrir",inBrowser:"dans votre navigateur",enterCode:"Entrez ce code lorsque demand\xE9 :",signIn:"Connectez-vous avec votre compte Google et accordez l'acc\xE8s",returnToObsidian:"Retournez \xE0 Obsidian (cette fen\xEAtre se fermera automatiquement)"},codeLabel:"Votre code :",copyCodeAriaLabel:"Copier le code",waitingForAuthorization:"En attente d'autorisation...",openBrowserButton:"Ouvrir le navigateur",cancelButton:"Annuler",expiresMinutesSeconds:"Le code expire dans {minutes}m {seconds}s",expiresSeconds:"Le code expire dans {seconds}s"},icsEventInfo:{calendarEventHeading:"\xC9v\xE9nement de calendrier",titleLabel:"Titre",calendarLabel:"Calendrier",dateTimeLabel:"Date et heure",locationLabel:"Lieu",descriptionLabel:"Description",urlLabel:"URL",relatedNotesHeading:"Notes et t\xE2ches associ\xE9es",noRelatedItems:"Aucune note ou t\xE2che associ\xE9e trouv\xE9e pour cet \xE9v\xE9nement.",typeTask:"T\xE2che",typeNote:"Note",actionsHeading:"Actions",createFromEventLabel:"Cr\xE9er \xE0 partir de l'\xE9v\xE9nement",createFromEventDesc:"Cr\xE9er une nouvelle note ou t\xE2che \xE0 partir de cet \xE9v\xE9nement de calendrier",linkExistingLabel:"Lier existant",linkExistingDesc:"Lier une note existante \xE0 cet \xE9v\xE9nement de calendrier"},timeblockInfo:{editHeading:"Modifier le bloc de temps",dateTimeLabel:"Date et heure : ",titleLabel:"Titre",titleDesc:"Titre de votre bloc de temps",titlePlaceholder:"ex., Session de travail approfondi",descriptionLabel:"Description",descriptionDesc:"Description optionnelle du bloc de temps",descriptionPlaceholder:"Concentrez-vous sur les nouvelles fonctionnalit\xE9s, sans interruptions",colorLabel:"Couleur",colorDesc:"Couleur optionnelle pour le bloc de temps",colorPlaceholder:"#3b82f6",attachmentsLabel:"Pi\xE8ces jointes",attachmentsDesc:"Fichiers ou notes li\xE9s \xE0 ce bloc de temps",addAttachmentButton:"Ajouter une pi\xE8ce jointe",addAttachmentTooltip:"S\xE9lectionnez un fichier ou une note en utilisant la recherche floue",deleteButton:"Supprimer le bloc de temps",saveButton:"Enregistrer les modifications",deleteConfirmationTitle:"Supprimer le bloc de temps"},timeblockCreation:{heading:"Cr\xE9er un bloc de temps",dateLabel:"Date : ",titleLabel:"Titre",titleDesc:"Titre de votre bloc de temps",titlePlaceholder:"ex., Session de travail approfondi",startTimeLabel:"Heure de d\xE9but",startTimeDesc:"Quand le bloc de temps commence",startTimePlaceholder:"09:00",endTimeLabel:"Heure de fin",endTimeDesc:"Quand le bloc de temps se termine",endTimePlaceholder:"11:00",descriptionLabel:"Description",descriptionDesc:"Description optionnelle du bloc de temps",descriptionPlaceholder:"Concentrez-vous sur les nouvelles fonctionnalit\xE9s, sans interruptions",colorLabel:"Couleur",colorDesc:"Couleur optionnelle pour le bloc de temps",colorPlaceholder:"#3b82f6",attachmentsLabel:"Pi\xE8ces jointes",attachmentsDesc:"Fichiers ou notes \xE0 lier \xE0 ce bloc de temps",addAttachmentButton:"Ajouter une pi\xE8ce jointe",addAttachmentTooltip:"S\xE9lectionnez un fichier ou une note en utilisant la recherche floue",createButton:"Cr\xE9er un bloc de temps"},calendarEventCreation:{heading:"Cr\xE9er un \xE9v\xE9nement",dateTimeLabel:"Date et heure : ",titleLabel:"Titre",titleDesc:"Titre de l'\xE9v\xE9nement",titlePlaceholder:"ex., R\xE9union d'\xE9quipe",calendarLabel:"Calendrier",calendarDesc:"Dans quel calendrier cr\xE9er l'\xE9v\xE9nement",descriptionLabel:"Description",descriptionDesc:"Description facultative de l'\xE9v\xE9nement",descriptionPlaceholder:"Ajouter des d\xE9tails sur cet \xE9v\xE9nement...",locationLabel:"Lieu",locationDesc:"Lieu facultatif de l'\xE9v\xE9nement",locationPlaceholder:"ex., Salle de r\xE9union A",createButton:"Cr\xE9er l'\xE9v\xE9nement",titleRequired:"Le titre de l'\xE9v\xE9nement est requis",noCalendarSelected:"Aucun calendrier s\xE9lectionn\xE9",success:'\xC9v\xE9nement "{title}" cr\xE9\xE9',error:"Impossible de cr\xE9er l'\xE9v\xE9nement : {message}"},icsNoteCreation:{heading:"Cr\xE9er \xE0 partir d'un \xE9v\xE9nement ICS",titleLabel:"Titre",titleDesc:"Titre du nouveau contenu",folderLabel:"Dossier",folderDesc:"Dossier de destination (laisser vide pour la racine du coffre)",folderPlaceholder:"dossier/sous-dossier",createButton:"Cr\xE9er",startLabel:"D\xE9but : ",endLabel:"Fin : ",locationLabel:"Lieu : ",calendarLabel:"Calendrier : ",useTemplateLabel:"Utiliser un mod\xE8le",useTemplateDesc:"Appliquer un mod\xE8le lors de la cr\xE9ation du contenu",templatePathLabel:"Chemin du mod\xE8le",templatePathDesc:"Chemin vers le fichier de mod\xE8le",templatePathPlaceholder:"modeles/modele-note-ics.md"},unscheduledTasksSelector:{title:"T\xE2ches non planifi\xE9es",placeholder:"Tapez pour rechercher des t\xE2ches non planifi\xE9es...",instructions:{navigate:"pour naviguer",schedule:"pour planifier",dismiss:"pour ignorer"}},migration:{title:"Migrer vers le nouveau syst\xE8me de r\xE9currence",description:"TaskNotes utilise maintenant les mod\xE8les RRULE standard pour la r\xE9currence, permettant des planifications plus complexes et une meilleure compatibilit\xE9 avec d'autres applications.",tasksFound:"{count} t\xE2che(s) avec d'anciens mod\xE8les de r\xE9currence d\xE9tect\xE9e(s)",noMigrationNeeded:"Aucune t\xE2che ne n\xE9cessite de migration",warnings:{title:"Avant de continuer :",backup:"Sauvegardez votre coffre avant la migration",conversion:"Les anciens mod\xE8les de r\xE9currence seront convertis au nouveau format",normalUsage:"Vous pouvez continuer \xE0 utiliser TaskNotes normalement pendant la migration",permanent:"Ce changement est permanent et ne peut pas \xEAtre annul\xE9 automatiquement"},benefits:{title:"Avantages du nouveau syst\xE8me :",powerfulPatterns:"Mod\xE8les de r\xE9currence complexes (ex. 'tous les 2e mardi')",performance:"Meilleures performances avec les t\xE2ches r\xE9currentes",compatibility:"Format de r\xE9currence standard compatible avec d'autres applications",nlp:"Support am\xE9lior\xE9 du traitement du langage naturel"},progress:{title:"Progression de la migration",preparing:"Pr\xE9paration de la migration...",completed:"Migration termin\xE9e avec succ\xE8s",failed:"\xC9chec de la migration"},buttons:{migrate:"D\xE9marrer la migration",completed:"Fermer"},errors:{title:"Erreurs pendant la migration :"},notices:{completedWithErrors:"Migration termin\xE9e avec quelques erreurs. Consultez la liste des erreurs ci-dessus.",success:"Toutes les t\xE2ches ont \xE9t\xE9 migr\xE9es avec succ\xE8s !",failed:"\xC9chec de la migration. Veuillez consulter la console pour plus de d\xE9tails."},prompt:{message:"TaskNotes a d\xE9tect\xE9 des t\xE2ches utilisant l'ancien format de r\xE9currence. Souhaitez-vous les migrer vers le nouveau syst\xE8me maintenant ?",migrateNow:"Migrer maintenant",remindLater:"Me rappeler plus tard"}},task:{titlePlaceholder:"Quel est votre prochain objectif ?",titleLabel:"Titre",titleDetailedPlaceholder:"Titre de la t\xE2che...",detailsLabel:"D\xE9tails",detailsPlaceholder:"Ajoutez davantage de d\xE9tails...",projectsLabel:"Projets",projectsAdd:"Ajouter un projet",projectsTooltip:"S\xE9lectionnez une note de projet via la recherche floue",projectsRemoveTooltip:"Retirer le projet",contextsLabel:"Contextes",contextsPlaceholder:"contexte1, contexte2",tagsLabel:"\xC9tiquettes",tagsPlaceholder:"etiquette1, etiquette2",timeEstimateLabel:"Estimation (minutes)",timeEstimatePlaceholder:"30",unsavedChanges:{title:"Modifications non enregistr\xE9es",message:"Vous avez des modifications non enregistr\xE9es. Voulez-vous les enregistrer ?",save:"Enregistrer les modifications",discard:"Ignorer les modifications",cancel:"Continuer l'\xE9dition"},dependencies:{blockedBy:"Bloqu\xE9 par",blocking:"Bloquant",placeholder:"[[Note de t\xE2che]]",addTaskButton:"Ajouter une t\xE2che",selectTaskTooltip:"S\xE9lectionnez une note de t\xE2che via la recherche floue",removeTaskTooltip:"Retirer la t\xE2che"},organization:{projects:"Projets",subtasks:"Sous-t\xE2ches",addToProject:"Ajouter au projet",addToProjectButton:"Ajouter au projet",addSubtasks:"Ajouter des sous-t\xE2ches",addSubtasksButton:"Ajouter une sous-t\xE2che",addSubtasksTooltip:"S\xE9lectionner des t\xE2ches pour en faire des sous-t\xE2ches de cette t\xE2che",removeSubtaskTooltip:"Retirer la sous-t\xE2che",notices:{noEligibleSubtasks:"Aucune t\xE2che \xE9ligible disponible pour \xEAtre assign\xE9e comme sous-t\xE2che",subtaskSelectFailed:"\xC9chec de l'ouverture du s\xE9lecteur de sous-t\xE2ches"}},customFieldsLabel:"Champs personnalis\xE9s",actions:{due:"D\xE9finir l'\xE9ch\xE9ance",scheduled:"D\xE9finir la date planifi\xE9e",status:"D\xE9finir le statut",priority:"D\xE9finir la priorit\xE9",recurrence:"D\xE9finir la r\xE9currence",reminders:"D\xE9finir les rappels"},buttons:{openNote:"Ouvrir la note",save:"Enregistrer"},tooltips:{dueValue:"\xC9ch\xE9ance\xA0: {value}",scheduledValue:"Planifi\xE9e\xA0: {value}",statusValue:"Statut\xA0: {value}",priorityValue:"Priorit\xE9\xA0: {value}",recurrenceValue:"R\xE9currence\xA0: {value}",remindersSingle:"1 rappel d\xE9fini",remindersPlural:"{count} rappels d\xE9finis"},dateMenu:{dueTitle:"D\xE9finir l'\xE9ch\xE9ance",scheduledTitle:"D\xE9finir la date planifi\xE9e"},userFields:{textPlaceholder:"Saisir {field}...",numberPlaceholder:"0",datePlaceholder:"AAAA-MM-JJ",listPlaceholder:"\xE9l\xE9ment1, \xE9l\xE9ment2, \xE9l\xE9ment3",pickDate:"Choisir la date {field}"},recurrence:{daily:"Quotidien",weekly:"Hebdomadaire",everyTwoWeeks:"Toutes les 2 semaines",weekdays:"Jours ouvr\xE9s",weeklyOn:"Chaque semaine le {days}",monthly:"Mensuel",everyThreeMonths:"Tous les 3 mois",monthlyOnOrdinal:"Chaque mois le {ordinal}",monthlyByWeekday:"Mensuel (par jour de semaine)",yearly:"Annuel",yearlyOn:"Chaque ann\xE9e le {month} {day}",custom:"Personnalis\xE9",countSuffix:"{count} occurrences",untilSuffix:"jusqu'au {date}",ordinal:"{number}e"}},taskSelector:{title:"S\xE9lectionner une t\xE2che",placeholder:"Tapez pour rechercher des t\xE2ches...",instructions:{navigate:"pour naviguer",select:"pour s\xE9lectionner",dismiss:"pour annuler"},notices:{noteNotFound:'Impossible de trouver la note "{name}"'},dueDate:{overdue:"\xC9ch\xE9ance : {date} (en retard)",today:"\xC9ch\xE9ance : Aujourd'hui"}},taskSelectorWithCreate:{title:"Cr\xE9er ou ouvrir une t\xE2che",placeholder:"Rechercher des t\xE2ches ou taper pour cr\xE9er...",instructions:{create:"pour cr\xE9er une nouvelle t\xE2che"},footer:{createLabel:" pour cr\xE9er : "},notices:{emptyQuery:"Veuillez entrer une description de t\xE2che",invalidTitle:"Impossible de reconna\xEEtre un titre de t\xE2che valide"}},taskCreation:{title:"Cr\xE9er une t\xE2che",actions:{fillFromNaturalLanguage:"Remplir le formulaire avec le langage naturel",hideDetailedOptions:"Masquer les options d\xE9taill\xE9es",showDetailedOptions:"Afficher les options d\xE9taill\xE9es"},nlPlaceholder:"Acheter des courses demain \xE0 15h @maison #courses",notices:{titleRequired:"Veuillez saisir un titre de t\xE2che",success:'T\xE2che "{title}" cr\xE9\xE9e avec succ\xE8s',successShortened:'T\xE2che "{title}" cr\xE9\xE9e avec succ\xE8s (nom de fichier raccourci)',failure:"\xC9chec de la cr\xE9ation de la t\xE2che\xA0: {message}",blockingUnresolved:"Impossible de r\xE9soudre\xA0: {entries}"}},taskEdit:{title:"Modifier la t\xE2che",sections:{completions:"Ach\xE8vements",taskInfo:"Informations sur la t\xE2che"},metadata:{totalTrackedTime:"Temps suivi total\xA0:",created:"Cr\xE9\xE9e\xA0:",modified:"Modifi\xE9e\xA0:",file:"Fichier\xA0:"},buttons:{archive:"Archiver",unarchive:"D\xE9sarchiver"},notices:{titleRequired:"Veuillez saisir un titre de t\xE2che",noChanges:"Aucune modification \xE0 enregistrer",updateSuccess:'T\xE2che "{title}" mise \xE0 jour avec succ\xE8s',updateFailure:"\xC9chec de la mise \xE0 jour de la t\xE2che\xA0: {message}",dependenciesUpdateSuccess:"D\xE9pendances mises \xE0 jour",blockingUnresolved:"Impossible de r\xE9soudre\xA0: {entries}",fileMissing:"Impossible de trouver le fichier de la t\xE2che\xA0: {path}",openNoteFailure:"Impossible d'ouvrir la note de la t\xE2che",archiveSuccess:"T\xE2che {action} avec succ\xE8s",archiveFailure:"\xC9chec de l'archivage de la t\xE2che"},archiveAction:{archived:"archiv\xE9e",unarchived:"d\xE9sarchiv\xE9e"}},storageLocation:{title:{migrate:"Migrer les donn\xE9es Pomodoro\xA0?",switch:"Basculer vers le stockage dans les notes quotidiennes\xA0?"},message:{migrate:"Cette action migre vos sessions Pomodoro existantes vers le frontmatter des notes quotidiennes. Les donn\xE9es seront regroup\xE9es par date et stock\xE9es dans chaque note.",switch:"Les sessions Pomodoro seront d\xE9sormais enregistr\xE9es dans le frontmatter de vos notes quotidiennes au lieu du fichier de donn\xE9es du plugin."},whatThisMeans:"Ce que cela implique\xA0:",bullets:{dailyNotesRequired:"Le plugin noyau Daily Notes doit rester activ\xE9",storedInNotes:"Les donn\xE9es seront stock\xE9es dans le frontmatter de vos notes quotidiennes",migrateData:"Les donn\xE9es du plugin seront migr\xE9es puis vid\xE9es",futureSessions:"Les futures sessions seront enregistr\xE9es dans les notes quotidiennes",dataLongevity:"Cela garantit une meilleure p\xE9rennit\xE9 des donn\xE9es avec vos notes"},finalNote:{migrate:"\u26A0\uFE0F Assurez-vous d\u2019avoir des sauvegardes si n\xE9cessaire. Ce changement ne peut pas \xEAtre annul\xE9 automatiquement.",switch:"Vous pourrez revenir au stockage du plugin \xE0 tout moment par la suite."},buttons:{migrate:"Migrer les donn\xE9es",switch:"Changer de stockage"}},dueDate:{title:"D\xE9finir la date d'\xE9ch\xE9ance",taskLabel:"T\xE2che : {title}",sections:{dateTime:"Date et heure d'\xE9ch\xE9ance",quickOptions:"Options rapides"},descriptions:{dateTime:"D\xE9finir quand cette t\xE2che doit \xEAtre termin\xE9e"},inputs:{date:{ariaLabel:"Date d'\xE9ch\xE9ance de la t\xE2che",placeholder:"AAAA-MM-JJ"},time:{ariaLabel:"Heure d'\xE9ch\xE9ance de la t\xE2che (optionnel)",placeholder:"HH:MM"}},quickOptions:{today:"Aujourd'hui",todayAriaLabel:"D\xE9finir la date d'\xE9ch\xE9ance \xE0 aujourd'hui",tomorrow:"Demain",tomorrowAriaLabel:"D\xE9finir la date d'\xE9ch\xE9ance \xE0 demain",nextWeek:"La semaine prochaine",nextWeekAriaLabel:"D\xE9finir la date d'\xE9ch\xE9ance \xE0 la semaine prochaine",now:"Maintenant",nowAriaLabel:"D\xE9finir la date et l'heure d'\xE9ch\xE9ance \xE0 maintenant",clear:"Effacer",clearAriaLabel:"Effacer la date d'\xE9ch\xE9ance"},errors:{invalidDateTime:"Veuillez saisir un format de date et d'heure valide",updateFailed:"\xC9chec de la mise \xE0 jour de la date d'\xE9ch\xE9ance. Veuillez r\xE9essayer."}},scheduledDate:{title:"D\xE9finir la date planifi\xE9e",taskLabel:"T\xE2che : {title}",sections:{dateTime:"Date et heure planifi\xE9es",quickOptions:"Options rapides"},descriptions:{dateTime:"D\xE9finir quand vous pr\xE9voyez de travailler sur cette t\xE2che"},inputs:{date:{ariaLabel:"Date planifi\xE9e de la t\xE2che",placeholder:"AAAA-MM-JJ"},time:{ariaLabel:"Heure planifi\xE9e de la t\xE2che (optionnel)",placeholder:"HH:MM"}},quickOptions:{today:"Aujourd'hui",todayAriaLabel:"D\xE9finir la date planifi\xE9e \xE0 aujourd'hui",tomorrow:"Demain",tomorrowAriaLabel:"D\xE9finir la date planifi\xE9e \xE0 demain",nextWeek:"La semaine prochaine",nextWeekAriaLabel:"D\xE9finir la date planifi\xE9e \xE0 la semaine prochaine",now:"Maintenant",nowAriaLabel:"D\xE9finir la date et l'heure planifi\xE9es \xE0 maintenant",clear:"Effacer",clearAriaLabel:"Effacer la date planifi\xE9e"},errors:{invalidDateTime:"Veuillez saisir un format de date et d'heure valide",updateFailed:"\xC9chec de la mise \xE0 jour de la date planifi\xE9e. Veuillez r\xE9essayer."}},timeEntryEditor:{title:"Entr\xE9es de temps - {taskTitle}",addEntry:"Ajouter une entr\xE9e de temps",noEntries:"Aucune entr\xE9e de temps pour le moment",deleteEntry:"Supprimer l'entr\xE9e",startTime:"Heure de d\xE9but",endTime:"Heure de fin (laisser vide si toujours en cours)",duration:"Dur\xE9e (minutes)",durationDesc:"Remplacer la dur\xE9e calcul\xE9e",durationPlaceholder:"Entrer la dur\xE9e en minutes",description:"Description",descriptionPlaceholder:"Sur quoi avez-vous travaill\xE9 ?",calculatedDuration:"Calcul\xE9 : {minutes} minutes",totalTime:"{hours}h {minutes}m au total",totalMinutes:"{minutes}m au total",saved:"Entr\xE9es de temps enregistr\xE9es",saveFailed:"\xC9chec de l'enregistrement des entr\xE9es de temps",openFailed:"\xC9chec de l'ouverture de l'\xE9diteur d'entr\xE9es de temps",noTasksWithEntries:"Aucune t\xE2che n'a d'entr\xE9es de temps \xE0 modifier",validation:{missingStartTime:"L'heure de d\xE9but est requise",endBeforeStart:"L'heure de fin doit \xEAtre apr\xE8s l'heure de d\xE9but"}},timeTracking:{noTasksAvailable:"Aucune t\xE2che disponible pour le suivi du temps",started:"Suivi du temps d\xE9marr\xE9 pour : {taskTitle}",startFailed:"\xC9chec du d\xE9marrage du suivi du temps"},timeEntry:{mustHaveSpecificTime:"Les entr\xE9es de temps doivent avoir des heures sp\xE9cifiques. Veuillez s\xE9lectionner une plage horaire dans la vue semaine ou jour.",noTasksAvailable:"Aucune t\xE2che disponible pour cr\xE9er des entr\xE9es de temps",created:"Entr\xE9e de temps cr\xE9\xE9e pour {taskTitle} ({duration} minutes)",createFailed:"\xC9chec de la cr\xE9ation de l'entr\xE9e de temps"}},contextMenus:{task:{status:"Statut",statusSelected:"Statut s\xE9lectionn\xE9 : {label}",priority:"Priorit\xE9",prioritySelected:"Priorit\xE9 s\xE9lectionn\xE9e : {label}",dueDate:"\xC9ch\xE9ance",scheduledDate:"Date planifi\xE9e",reminders:"Rappels",remindBeforeDue:"Rappeler avant l'\xE9ch\xE9ance\u2026",remindBeforeScheduled:"Rappeler avant la date planifi\xE9e\u2026",manageReminders:"G\xE9rer tous les rappels\u2026",clearReminders:"Supprimer tous les rappels",startTimeTracking:"Commencer le suivi du temps",stopTimeTracking:"Arr\xEAter le suivi du temps",editTimeEntries:"Modifier les entr\xE9es de temps",archive:"Archiver",unarchive:"D\xE9sarchiver",openNote:"Ouvrir la note",copyTitle:"Copier le titre de la t\xE2che",noteActions:"Actions sur la note",rename:"Renommer",renameTitle:"Renommer le fichier",renamePlaceholder:"Saisir un nouveau nom",delete:"Supprimer",deleteTitle:"Supprimer le fichier",deleteMessage:'Voulez-vous vraiment supprimer "{name}"\xA0?',deleteConfirm:"Supprimer",copyPath:"Copier le chemin",copyUrl:"Copier l'URL Obsidian",showInExplorer:"Afficher dans l'explorateur de fichiers",addToCalendar:"Ajouter au calendrier",calendar:{google:"Google Agenda",outlook:"Calendrier Outlook",yahoo:"Calendrier Yahoo",downloadIcs:"T\xE9l\xE9charger le fichier .ics",syncToGoogle:"Synchroniser avec Google Agenda",syncToGoogleNotConfigured:"Synchronisation Google Agenda non configur\xE9e",syncToGoogleSuccess:"T\xE2che synchronis\xE9e avec Google Agenda",syncToGoogleFailed:"\xC9chec de la synchronisation avec Google Agenda"},recurrence:"R\xE9currence",clearRecurrence:"Effacer la r\xE9currence",customRecurrence:"R\xE9currence personnalis\xE9e...",createSubtask:"Cr\xE9er une sous-t\xE2che",dependencies:{title:"D\xE9pendances",addBlockedBy:"Ajouter \xAB\xA0bloqu\xE9 par\xA0\xBB\u2026",addBlockedByTitle:"Ajouter des t\xE2ches dont d\xE9pend celle-ci",addBlocking:"Ajouter \xAB\xA0bloquant\xA0\xBB\u2026",addBlockingTitle:"Ajouter des t\xE2ches bloqu\xE9es par celle-ci",removeBlockedBy:"Retirer \xAB\xA0bloqu\xE9 par\xA0\xBB\u2026",removeBlocking:"Retirer \xAB\xA0bloquant\xA0\xBB\u2026",unknownDependency:"Inconnu",inputPlaceholder:"[[Note de t\xE2che]]",notices:{noEntries:"Veuillez saisir au moins une t\xE2che",blockedByAdded:"{count} d\xE9pendance ajout\xE9e",blockedByRemoved:"D\xE9pendance retir\xE9e",blockingAdded:"{count} t\xE2che d\xE9pendante ajout\xE9e",blockingRemoved:"T\xE2che d\xE9pendante retir\xE9e",unresolved:"Impossible de r\xE9soudre\xA0: {entries}",noEligibleTasks:"Aucune t\xE2che correspondante disponible",updateFailed:"Impossible de mettre \xE0 jour les d\xE9pendances"}},organization:{title:"Organisation",projects:"Projets",addToProject:"Ajouter au projet\u2026",subtasks:"Sous-t\xE2ches",addSubtasks:"Ajouter des sous-t\xE2ches\u2026",notices:{alreadyInProject:"La t\xE2che est d\xE9j\xE0 dans ce projet",alreadySubtask:"La t\xE2che est d\xE9j\xE0 une sous-t\xE2che de cette t\xE2che",addedToProject:"Ajout\xE9e au projet : {project}",addedAsSubtask:"{subtask} ajout\xE9e comme sous-t\xE2che de {parent}",addToProjectFailed:"\xC9chec de l'ajout de la t\xE2che au projet",addAsSubtaskFailed:"\xC9chec de l'ajout de la t\xE2che comme sous-t\xE2che",projectSelectFailed:"\xC9chec de l'ouverture du s\xE9lecteur de projet",subtaskSelectFailed:"\xC9chec de l'ouverture du s\xE9lecteur de sous-t\xE2ches",noEligibleSubtasks:"Aucune t\xE2che \xE9ligible disponible pour \xEAtre assign\xE9e comme sous-t\xE2che",currentTaskNotFound:"Fichier de t\xE2che actuel introuvable"}},subtasks:{loading:"Chargement des sous-t\xE2ches...",noSubtasks:"Aucune sous-t\xE2che trouv\xE9e",loadFailed:"\xC9chec du chargement des sous-t\xE2ches"},markComplete:"Marquer comme termin\xE9e pour cette date",markIncomplete:"Marquer comme incompl\xE8te pour cette date",skipInstance:"Ignorer l'instance",unskipInstance:"Ne plus ignorer l'instance",quickReminders:{atTime:"\xC0 l'heure de l'\xE9v\xE9nement",fiveMinutes:"5 minutes avant",fifteenMinutes:"15 minutes avant",oneHour:"1 heure avant",oneDay:"1 jour avant"},notices:{toggleCompletionFailure:"Impossible de modifier l'ach\xE8vement r\xE9current\xA0: {message}",toggleSkipFailure:"Impossible de modifier l'omission de t\xE2che r\xE9currente : {message}",updateDueDateFailure:"Impossible de mettre \xE0 jour l'\xE9ch\xE9ance\xA0: {message}",updateScheduledFailure:"Impossible de mettre \xE0 jour la date planifi\xE9e\xA0: {message}",updateRemindersFailure:"Impossible de mettre \xE0 jour les rappels",clearRemindersFailure:"Impossible de supprimer les rappels",addReminderFailure:"Impossible d'ajouter un rappel",archiveFailure:"Impossible de modifier l'archivage de la t\xE2che\xA0: {message}",copyTitleSuccess:"Titre de la t\xE2che copi\xE9 dans le presse-papiers",copyFailure:"Impossible de copier dans le presse-papiers",renameSuccess:'Renomm\xE9 en "{name}"',renameFailure:"Impossible de renommer le fichier",copyPathSuccess:"Chemin du fichier copi\xE9 dans le presse-papiers",copyUrlSuccess:"URL Obsidian copi\xE9e dans le presse-papiers",updateRecurrenceFailure:"Impossible de mettre \xE0 jour la r\xE9currence\xA0: {message}"}},priority:{clearPriority:"Supprimer la priorit\xE9"},ics:{showDetails:"Afficher les d\xE9tails",createTask:"Cr\xE9er une t\xE2che depuis l'\xE9v\xE9nement",createNote:"Cr\xE9er une note depuis l'\xE9v\xE9nement",linkNote:"Lier une note existante",copyTitle:"Copier le titre",copyLocation:"Copier le lieu",copyUrl:"Copier l'URL",copyMarkdown:"Copier en markdown",subscriptionUnknown:"Calendrier inconnu",notices:{copyTitleSuccess:"Titre de l'\xE9v\xE9nement copi\xE9 dans le presse-papiers",copyLocationSuccess:"Lieu copi\xE9 dans le presse-papiers",copyUrlSuccess:"URL de l'\xE9v\xE9nement copi\xE9e dans le presse-papiers",copyMarkdownSuccess:"D\xE9tails de l'\xE9v\xE9nement copi\xE9s en markdown",copyFailure:"Impossible de copier dans le presse-papiers",taskCreated:"T\xE2che cr\xE9\xE9e\xA0: {title}",taskCreateFailure:"Impossible de cr\xE9er une t\xE2che depuis l'\xE9v\xE9nement",noteCreated:"Note cr\xE9\xE9e avec succ\xE8s",creationFailure:"Impossible d'ouvrir la fen\xEAtre de cr\xE9ation",linkSuccess:`Note "{name}" li\xE9e \xE0 l'\xE9v\xE9nement`,linkFailure:"Impossible de lier la note",linkSelectionFailure:"Impossible d'ouvrir la s\xE9lection de note"},markdown:{titleFallback:"\xC9v\xE9nement sans titre",calendar:"**Calendrier\xA0:** {value}",date:"**Date et heure\xA0:** {value}",location:"**Lieu\xA0:** {value}",descriptionHeading:"### D\xE9tails",url:"**URL\xA0:** {value}",at:" \xE0 {time}"}},date:{increment:{plusOneDay:"+1 jour",minusOneDay:"-1 jour",plusOneWeek:"+1 semaine",minusOneWeek:"-1 semaine"},basic:{today:"Aujourd'hui",tomorrow:"Demain",thisWeekend:"Ce week-end",nextWeek:"La semaine prochaine",nextMonth:"Le mois prochain"},weekdaysLabel:"Jours de la semaine",selected:"Date s\xE9lectionn\xE9e : {label}",pickDateTime:"Choisir date et heure\u2026",clearDate:"Effacer la date",modal:{title:"D\xE9finir date et heure",dateLabel:"Date (AAAA-MM-JJ)",timeLabel:"Heure (optionnel)",select:"S\xE9lectionner"}}},services:{pomodoro:{notices:{alreadyRunning:"Un pomodoro est d\xE9j\xE0 en cours",resumeCurrentSession:"Reprendre la session actuelle au lieu d'en d\xE9marrer une nouvelle",timerAlreadyRunning:"Un minuteur est d\xE9j\xE0 en cours",resumeSessionInstead:"Reprendre la session actuelle au lieu d'en d\xE9marrer une nouvelle",shortBreakStarted:"Pause courte d\xE9marr\xE9e",longBreakStarted:"Pause longue d\xE9marr\xE9e",paused:"Pomodoro mis en pause",resumed:"Pomodoro repris",stoppedAndReset:"Pomodoro arr\xEAt\xE9 et remis \xE0 z\xE9ro",migrationSuccess:"{count} sessions pomodoro migr\xE9es avec succ\xE8s vers les notes quotidiennes.",migrationFailure:"\xC9chec de la migration des donn\xE9es pomodoro. Veuillez r\xE9essayer ou v\xE9rifier la console pour plus de d\xE9tails."}},icsSubscription:{notices:{calendarNotFound:`Calendrier "{name}" introuvable (404). Veuillez v\xE9rifier que l'URL ICS est correcte et que le calendrier est accessible publiquement.`,calendarAccessDenied:`Acc\xE8s refus\xE9 au calendrier "{name}" (500). Cela peut \xEAtre d\xFB aux restrictions du serveur Microsoft Outlook. Essayez de r\xE9g\xE9n\xE9rer l'URL ICS depuis les param\xE8tres de votre calendrier.`,fetchRemoteFailed:'\xC9chec de la r\xE9cup\xE9ration du calendrier distant "{name}" : {error}',readLocalFailed:'\xC9chec de la lecture du calendrier local "{name}" : {error}'}},calendarExport:{notices:{generateLinkFailed:"\xC9chec de la g\xE9n\xE9ration du lien calendrier",noTasksToExport:"Aucune t\xE2che trouv\xE9e \xE0 exporter",downloadSuccess:"T\xE9l\xE9charg\xE9 {filename} avec {count} t\xE2che{plural}",downloadFailed:"\xC9chec du t\xE9l\xE9chargement du fichier calendrier",singleDownloadSuccess:"T\xE9l\xE9charg\xE9 {filename}"}},filter:{groupLabels:{noProject:"Aucun projet",noTags:"Aucune \xE9tiquette",invalidDate:"Date invalide",due:{overdue:"En retard",today:"Aujourd'hui",tomorrow:"Demain",nextSevenDays:"Prochains sept jours",later:"Plus tard",none:"Aucune date d'\xE9ch\xE9ance"},scheduled:{past:"Planification pass\xE9e",today:"Aujourd'hui",tomorrow:"Demain",nextSevenDays:"Prochains sept jours",later:"Plus tard",none:"Aucune date planifi\xE9e"}},errors:{noDatesProvided:"Aucune date fournie"},folders:{root:"(Racine)"}},instantTaskConvert:{notices:{noCheckboxTasks:"Aucune t\xE2che \xE0 cocher trouv\xE9e dans la note actuelle.",convertingTasks:"Conversion de {count} t\xE2che{plural}...",conversionSuccess:"\u2705 {count} t\xE2che{plural} converties avec succ\xE8s en TaskNotes !",partialConversion:"{successCount} t\xE2che{successPlural} convertie{successPlural}. {failureCount} ont \xE9chou\xE9.",batchConversionFailed:"\xC9chec de la conversion par lot. Veuillez r\xE9essayer.",invalidParameters:"Param\xE8tres d'entr\xE9e invalides.",emptyLine:"La ligne actuelle est vide ou ne contient aucun contenu valide.",parseError:"Erreur d'analyse de la t\xE2che : {error}",invalidTaskData:"Donn\xE9es de t\xE2che invalides.",replaceLineFailed:"\xC9chec du remplacement de la ligne de t\xE2che.",conversionComplete:"T\xE2che convertie : {title}",conversionCompleteShortened:'T\xE2che convertie : "{title}" (nom de fichier raccourci en raison de la longueur)',fileExists:"Un fichier avec ce nom existe d\xE9j\xE0. Veuillez r\xE9essayer ou renommer la t\xE2che.",conversionFailed:"\xC9chec de la conversion de la t\xE2che. Veuillez r\xE9essayer."}},icsNote:{notices:{templateNotFound:"Mod\xE8le introuvable : {path}",templateProcessError:"Erreur de traitement du mod\xE8le : {template}",linkedToEvent:"Note li\xE9e \xE0 l'\xE9v\xE9nement ICS : {title}"}},task:{notices:{templateNotFound:"Mod\xE8le de corps de t\xE2che introuvable : {path}",templateReadError:"Erreur de lecture du mod\xE8le de corps de t\xE2che : {template}",moveTaskFailed:"\xC9chec du d\xE9placement de la t\xE2che {operation} : {error}"}},autoExport:{notices:{exportFailed:"\xC9chec de l'export automatique TaskNotes : {error}"}}},ui:{icsCard:{untitledEvent:"\xC9v\xE9nement sans titre",allDay:"Toute la journ\xE9e",calendarEvent:"\xC9v\xE9nement de calendrier",calendarFallback:"Calendrier"},noteCard:{createdLabel:"Cr\xE9\xE9e :",dailyBadge:"Quotidien",dailyTooltip:"Note quotidienne"},taskCard:{labels:{due:"\xC9ch\xE9ance",scheduled:"Planifi\xE9",recurrence:"R\xE9current",completed:"Termin\xE9",created:"Cr\xE9\xE9",modified:"Modifi\xE9",blocked:"Bloqu\xE9",blocking:"Bloquant"},blockedBadge:"Bloqu\xE9",blockedBadgeTooltip:"Cette t\xE2che attend une autre t\xE2che",blockingBadge:"Bloquant",blockingBadgeTooltip:"Cette t\xE2che bloque une autre t\xE2che",blockingToggle:"Bloque {count} t\xE2ches",priorityAriaLabel:"Priorit\xE9 : {label}",taskOptions:"Options de t\xE2che",recurrenceTooltip:"{label}: {value}",reminderTooltipOne:"1 rappel d\xE9fini (cliquer pour g\xE9rer)",reminderTooltipMany:"{count} rappels d\xE9finis (cliquer pour g\xE9rer)",projectTooltip:"Cette t\xE2che est utilis\xE9e comme projet (cliquer pour filtrer les sous-t\xE2ches)",expandSubtasks:"D\xE9plier les sous-t\xE2ches",collapseSubtasks:"Replier les sous-t\xE2ches",dueToday:"{label}: Aujourd'hui",dueTodayAt:"{label}: Aujourd'hui \xE0 {time}",dueOverdue:"{label}: {display} (en retard)",dueLabel:"{label}: {display}",scheduledToday:"{label}: Aujourd'hui",scheduledTodayAt:"{label}: Aujourd'hui \xE0 {time}",scheduledPast:"{label}: {display} (pass\xE9)",scheduledLabel:"{label}: {display}",loadingDependencies:"Chargement des d\xE9pendances\u2026",blockingEmpty:"Aucune t\xE2che d\xE9pendante",blockingLoadError:"\xC9chec du chargement des d\xE9pendances",googleCalendarSyncTooltip:"Synchronis\xE9 avec Google Agenda"},propertyEventCard:{unknownFile:"Fichier inconnu"},filterHeading:{allViewName:"Toutes"},filterBar:{saveView:"Enregistrer la vue",saveViewNamePlaceholder:"Entrez le nom de la vue...",saveButton:"Enregistrer",views:"Vues",savedFilterViews:"Vues de filtre enregistr\xE9es",filters:"Filtres",properties:"Propri\xE9t\xE9s",sort:"Trier",newTask:"Nouveau",expandAllGroups:"D\xE9plier tous les groupes",collapseAllGroups:"Replier tous les groupes",searchTasksPlaceholder:"Rechercher des t\xE2ches...",searchTasksTooltip:"Rechercher dans les titres de t\xE2ches",filterUnavailable:"Barre de filtrage temporairement indisponible",toggleFilter:"Activer/d\xE9sactiver le filtre",activeFiltersTooltip:"Filtres actifs \u2013 Cliquez pour modifier, clic droit pour effacer",configureVisibleProperties:"Configurer les propri\xE9t\xE9s visibles",sortAndGroupOptions:"Options de tri et de regroupement",sortMenuHeader:"Trier",orderMenuHeader:"Ordre",groupMenuHeader:"Grouper",createNewTask:"Cr\xE9er une nouvelle t\xE2che",filter:"Filtrer",displayOrganization:"Affichage et organisation",viewOptions:"Options de vue",addFilter:"Ajouter un filtre",addFilterGroup:"Ajouter un groupe de filtres",addFilterTooltip:"Ajouter une nouvelle condition de filtre",addFilterGroupTooltip:"Ajouter un groupe de filtres imbriqu\xE9",clearAllFilters:"Effacer tous les filtres et groupes",saveCurrentFilter:"Enregistrer le filtre actuel comme vue",closeFilterModal:"Fermer la fen\xEAtre de filtre",deleteFilterGroup:"Supprimer le groupe de filtres",deleteCondition:"Supprimer la condition",all:"Tous",any:"N'importe lequel",followingAreTrue:"des suivants sont vrais :",where:"o\xF9",selectProperty:"S\xE9lectionner...",chooseProperty:"Choisissez quelle propri\xE9t\xE9 de t\xE2che filtrer",chooseOperator:"Choisissez comment comparer la valeur de propri\xE9t\xE9",enterValue:"Entrez la valeur \xE0 filtrer",selectValue:"S\xE9lectionnez un {property} \xE0 filtrer",sortBy:"Trier par :",toggleSortDirection:"Inverser le sens de tri",chooseSortMethod:"Choisissez comment trier les t\xE2ches",groupBy:"Grouper par :",chooseGroupMethod:"Grouper les t\xE2ches par une propri\xE9t\xE9 commune",toggleViewOption:"Activer/d\xE9sactiver {option}",expandCollapseFilters:"Cliquez pour d\xE9plier/replier les conditions de filtre",expandCollapseSort:"Cliquez pour d\xE9plier/replier les options de tri et de regroupement",expandCollapseViewOptions:"Cliquez pour d\xE9plier/replier les options sp\xE9cifiques \xE0 la vue",naturalLanguageDates:"Dates en langage naturel",naturalLanguageExamples:"Afficher des exemples de dates en langage naturel",enterNumericValue:"Entrez une valeur num\xE9rique \xE0 filtrer",enterDateValue:"Entrez une date en langage naturel ou au format ISO",pickDateTime:"Choisir date et heure",noSavedViews:"Aucune vue enregistr\xE9e",savedViews:"Vues enregistr\xE9es",yourSavedFilters:"Vos configurations de filtre enregistr\xE9es",dragToReorder:"Glissez pour r\xE9organiser les vues",loadSavedView:"Charger la vue enregistr\xE9e : {name}",deleteView:"Supprimer la vue",deleteViewTitle:"Supprimer la vue",deleteViewMessage:'\xCAtes-vous s\xFBr de vouloir supprimer la vue "{name}" ?',manageAllReminders:"G\xE9rer tous les rappels...",clearAllReminders:"Effacer tous les rappels",customRecurrence:"R\xE9currence personnalis\xE9e...",clearRecurrence:"Effacer la r\xE9currence",sortOptions:{dueDate:"Date d'\xE9ch\xE9ance",scheduledDate:"Date planifi\xE9e",priority:"Priorit\xE9",status:"Statut",title:"Titre",createdDate:"Date de cr\xE9ation",tags:"\xC9tiquettes",ascending:"Croissant",descending:"D\xE9croissant"},group:{none:"Aucun",status:"Statut",priority:"Priorit\xE9",context:"Contexte",project:"Projet",dueDate:"Date d'\xE9ch\xE9ance",scheduledDate:"Date planifi\xE9e",tags:"\xC9tiquettes",completedDate:"Date d'ach\xE8vement"},subgroupLabel:"SOUS-GROUPE",notices:{propertiesMenuFailed:"\xC9chec de l'affichage du menu des propri\xE9t\xE9s"}}},components:{dateContextMenu:{weekdays:"Jours de semaine",clearDate:"Effacer la date",today:"Aujourd'hui",tomorrow:"Demain",thisWeekend:"Ce week-end",nextWeek:"La semaine prochaine",nextMonth:"Le mois prochain",setDateTime:"D\xE9finir la date et l'heure",dateLabel:"Date",timeLabel:"Heure (optionnelle)"},subgroupMenuBuilder:{none:"Aucun",status:"Statut",priority:"Priorit\xE9",context:"Contexte",project:"Projet",dueDate:"Date d'\xE9ch\xE9ance",scheduledDate:"Date programm\xE9e",tags:"\xC9tiquettes",completedDate:"Date de finalisation",subgroup:"SOUS-GROUPE"},propertyVisibilityDropdown:{coreProperties:"PROPRI\xC9T\xC9S PRINCIPALES",organization:"ORGANISATION",customProperties:"PROPRI\xC9T\xC9S PERSONNALIS\xC9ES",failed:"Impossible d'afficher le menu des propri\xE9t\xE9s",properties:{statusDot:"Point de statut",priorityDot:"Point de priorit\xE9",dueDate:"Date d'\xE9ch\xE9ance",scheduledDate:"Date planifi\xE9e",timeEstimate:"Estimation de temps",totalTrackedTime:"Temps suivi total",checklistProgress:"Progression de la liste de contr\xF4le",recurrence:"R\xE9currence",completedDate:"Date d'ach\xE8vement",createdDate:"Date de cr\xE9ation",modifiedDate:"Date de modification",projects:"Projets",contexts:"Contextes",tags:"\xC9tiquettes",blocked:"Bloqu\xE9",blocking:"Bloquant"}},reminderContextMenu:{remindBeforeDue:"Rappeler avant l'\xE9ch\xE9ance...",remindBeforeScheduled:"Rappeler avant la date planifi\xE9e...",manageAllReminders:"G\xE9rer tous les rappels...",clearAllReminders:"Effacer tous les rappels",quickReminders:{atTime:"\xC0 l'heure de l'\xE9v\xE9nement",fiveMinutesBefore:"5 minutes avant",fifteenMinutesBefore:"15 minutes avant",oneHourBefore:"1 heure avant",oneDayBefore:"1 jour avant"}},recurrenceContextMenu:{daily:"Quotidien",weeklyOn:"Hebdomadaire le {day}",everyTwoWeeksOn:"Toutes les 2 semaines le {day}",monthlyOnThe:"Mensuel le {ordinal}",everyThreeMonthsOnThe:"Tous les 3 mois le {ordinal}",yearlyOn:"Annuel le {month} {ordinal}",weekdaysOnly:"Jours ouvr\xE9s seulement",dailyAfterCompletion:"Quotidien (apr\xE8s ach\xE8vement)",every3DaysAfterCompletion:"Tous les 3 jours (apr\xE8s ach\xE8vement)",weeklyAfterCompletion:"Hebdomadaire (apr\xE8s ach\xE8vement)",monthlyAfterCompletion:"Mensuel (apr\xE8s ach\xE8vement)",customRecurrence:"R\xE9currence personnalis\xE9e...",clearRecurrence:"Effacer la r\xE9currence",customRecurrenceModal:{title:"R\xE9currence personnalis\xE9e",startDate:"Date de d\xE9but",startDateDesc:"La date \xE0 laquelle le mod\xE8le de r\xE9currence commence",startTime:"Heure de d\xE9but",startTimeDesc:"L'heure \xE0 laquelle les instances r\xE9currentes doivent appara\xEEtre (optionnel)",recurFrom:"R\xE9currence \xE0 partir de",recurFromDesc:"Quand la prochaine occurrence doit-elle \xEAtre calcul\xE9e?",scheduledDate:"Date pr\xE9vue",completionDate:"Date d'ach\xE8vement",frequency:"Fr\xE9quence",interval:"Intervalle",intervalDesc:"Tous les X jours/semaines/mois/ann\xE9es",daysOfWeek:"Jours de la semaine",daysOfWeekDesc:"S\xE9lectionnez des jours sp\xE9cifiques (pour la r\xE9currence hebdomadaire)",monthlyRecurrence:"R\xE9currence mensuelle",monthlyRecurrenceDesc:"Choisissez comment r\xE9p\xE9ter mensuellement",yearlyRecurrence:"R\xE9currence annuelle",yearlyRecurrenceDesc:"Choisissez comment r\xE9p\xE9ter annuellement",endCondition:"Condition de fin",endConditionDesc:"Choisissez quand la r\xE9currence doit se terminer",neverEnds:"Ne se termine jamais",endAfterOccurrences:"Se termine apr\xE8s {count} occurrences",endOnDate:"Se termine le {date}",onDayOfMonth:"Le jour {day} de chaque mois",onTheWeekOfMonth:"Le {week} {day} de chaque mois",onDateOfYear:"Le {month} {day} de chaque ann\xE9e",onTheWeekOfYear:"Le {week} {day} de {month} chaque ann\xE9e",frequencies:{daily:"Quotidien",weekly:"Hebdomadaire",monthly:"Mensuel",yearly:"Annuel"},weekPositions:{first:"premier",second:"deuxi\xE8me",third:"troisi\xE8me",fourth:"quatri\xE8me",last:"dernier"},weekdays:{monday:"Lundi",tuesday:"Mardi",wednesday:"Mercredi",thursday:"Jeudi",friday:"Vendredi",saturday:"Samedi",sunday:"Dimanche"},weekdaysShort:{mon:"Lun",tue:"Mar",wed:"Mer",thu:"Jeu",fri:"Ven",sat:"Sam",sun:"Dim"},cancel:"Annuler",save:"Enregistrer"}}}};var wde={common:{appName:"TaskNotes",new:"\u041D\u043E\u0432\u044B\u0439",cancel:"\u041E\u0442\u043C\u0435\u043D\u0430",confirm:"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C",close:"\u0417\u0430\u043A\u0440\u044B\u0442\u044C",save:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C",reorder:{confirmLargeTitle:"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C \u0431\u043E\u043B\u044C\u0448\u043E\u0435 \u043F\u0435\u0440\u0435\u0443\u043F\u043E\u0440\u044F\u0434\u043E\u0447\u0438\u0432\u0430\u043D\u0438\u0435",confirmButton:"\u041F\u0435\u0440\u0435\u0443\u043F\u043E\u0440\u044F\u0434\u043E\u0447\u0438\u0442\u044C \u0437\u0430\u043C\u0435\u0442\u043A\u0438",confirmLargeMessage:'\u041F\u0440\u0438 \u043F\u0435\u0440\u0435\u0443\u043F\u043E\u0440\u044F\u0434\u043E\u0447\u0438\u0432\u0430\u043D\u0438\u0438 \u0437\u0434\u0435\u0441\u044C \u043F\u043E\u043B\u0435 "{field}" \u0431\u0443\u0434\u0435\u0442 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u043E \u0432 {count} \u0437\u0430\u043C\u0435\u0442\u043A\u0430\u0445, \u0447\u0442\u043E\u0431\u044B \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u043F\u043E\u0441\u0442\u043E\u044F\u043D\u043D\u044B\u0439 \u0440\u0443\u0447\u043D\u043E\u0439 \u043F\u043E\u0440\u044F\u0434\u043E\u043A \u0434\u043B\u044F {scope}. \u0421\u043A\u0440\u044B\u0442\u044B\u0435 \u0438\u043B\u0438 \u043E\u0442\u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0437\u0430\u043C\u0435\u0442\u043A\u0438 \u0432 \u0442\u043E\u0439 \u0436\u0435 \u043E\u0431\u043B\u0430\u0441\u0442\u0438 \u0442\u043E\u0436\u0435 \u043C\u043E\u0433\u0443\u0442 \u0431\u044B\u0442\u044C \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u044B. \u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C?'},language:"\u042F\u0437\u044B\u043A",systemDefault:"\u0421\u0438\u0441\u0442\u0435\u043C\u043D\u044B\u0439 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",loading:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430...",languages:{en:"\u0410\u043D\u0433\u043B\u0438\u0439\u0441\u043A\u0438\u0439",fr:"\u0424\u0440\u0430\u043D\u0446\u0443\u0437\u0441\u043A\u0438\u0439",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",zh:"\u041A\u0438\u0442\u0430\u0439\u0441\u043A\u0438\u0439",de:"\u041D\u0435\u043C\u0435\u0446\u043A\u0438\u0439",es:"\u0418\u0441\u043F\u0430\u043D\u0441\u043A\u0438\u0439",ja:"\u042F\u043F\u043E\u043D\u0441\u043A\u0438\u0439",pt:"\u041F\u043E\u0440\u0442\u0443\u0433\u0430\u043B\u044C\u0441\u043A\u0438\u0439 (\u0411\u0440\u0430\u0437\u0438\u043B\u0438\u044F)",ko:"\u041A\u043E\u0440\u0435\u0439\u0441\u043A\u0438\u0439"},weekdays:{sunday:"\u0412\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435",monday:"\u041F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A",tuesday:"\u0412\u0442\u043E\u0440\u043D\u0438\u043A",wednesday:"\u0421\u0440\u0435\u0434\u0430",thursday:"\u0427\u0435\u0442\u0432\u0435\u0440\u0433",friday:"\u041F\u044F\u0442\u043D\u0438\u0446\u0430",saturday:"\u0421\u0443\u0431\u0431\u043E\u0442\u0430"},months:{january:"\u042F\u043D\u0432\u0430\u0440\u044C",february:"\u0424\u0435\u0432\u0440\u0430\u043B\u044C",march:"\u041C\u0430\u0440\u0442",april:"\u0410\u043F\u0440\u0435\u043B\u044C",may:"\u041C\u0430\u0439",june:"\u0418\u044E\u043D\u044C",july:"\u0418\u044E\u043B\u044C",august:"\u0410\u0432\u0433\u0443\u0441\u0442",september:"\u0421\u0435\u043D\u0442\u044F\u0431\u0440\u044C",october:"\u041E\u043A\u0442\u044F\u0431\u0440\u044C",november:"\u041D\u043E\u044F\u0431\u0440\u044C",december:"\u0414\u0435\u043A\u0430\u0431\u0440\u044C"}},views:{agenda:{title:"\u041F\u043B\u0430\u043D\u044B",today:"\u0421\u0435\u0433\u043E\u0434\u043D\u044F",overdue:"\u041F\u0440\u043E\u0441\u0440\u043E\u0447\u0435\u043D\u043E",refreshCalendars:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0438",actions:{previousPeriod:"\u041F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0438\u0439 \u043F\u0435\u0440\u0438\u043E\u0434",nextPeriod:"\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439 \u043F\u0435\u0440\u0438\u043E\u0434",goToToday:"\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0441\u0435\u0433\u043E\u0434\u043D\u044F",refreshCalendars:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0438 \u043D\u0430 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0438"},loading:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u043F\u043B\u0430\u043D\u043E\u0432...",dayToggle:"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0434\u0435\u043D\u044C",overdueToggle:"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0440\u0430\u0437\u0434\u0435\u043B \u043F\u0440\u043E\u0441\u0440\u043E\u0447\u0435\u043D\u043D\u044B\u0445",expandAllDays:"\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u0441\u0435 \u0434\u043D\u0438",collapseAllDays:"\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u0441\u0435 \u0434\u043D\u0438",notices:{calendarNotReady:"\u0421\u0435\u0440\u0432\u0438\u0441 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F \u0435\u0449\u0435 \u043D\u0435 \u0433\u043E\u0442\u043E\u0432",calendarRefreshed:"\u041F\u043E\u0434\u043F\u0438\u0441\u043A\u0438 \u043D\u0430 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u044B",refreshFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C"},empty:{noItemsScheduled:"\u041D\u0435\u0442 \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0445 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432",noItemsFound:"\u042D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",helpText:"\u0421\u043E\u0437\u0434\u0430\u0439\u0442\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0441 \u0434\u0430\u0442\u0430\u043C\u0438 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u0438\u043B\u0438 \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0437\u0430\u0434\u0430\u0447\u0438, \u0438\u043B\u0438 \u0434\u043E\u0431\u0430\u0432\u044C\u0442\u0435 \u0437\u0430\u043C\u0435\u0442\u043A\u0438, \u0447\u0442\u043E\u0431\u044B \u0443\u0432\u0438\u0434\u0435\u0442\u044C \u0438\u0445 \u0437\u0434\u0435\u0441\u044C."},contextMenu:{showOverdueSection:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0440\u0430\u0437\u0434\u0435\u043B \u043F\u0440\u043E\u0441\u0440\u043E\u0447\u0435\u043D\u043D\u044B\u0445",showNotes:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0437\u0430\u043C\u0435\u0442\u043A\u0438",calendarSubscriptions:"\u041F\u043E\u0434\u043F\u0438\u0441\u043A\u0438 \u043D\u0430 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0438"},periods:{thisWeek:"\u041D\u0430 \u044D\u0442\u043E\u0439 \u043D\u0435\u0434\u0435\u043B\u0435"},tipPrefix:"\u0421\u043E\u0432\u0435\u0442: "},taskList:{title:"\u0417\u0430\u0434\u0430\u0447\u0438",expandAllGroups:"\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u0441\u0435 \u0433\u0440\u0443\u043F\u043F\u044B",collapseAllGroups:"\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u0441\u0435 \u0433\u0440\u0443\u043F\u043F\u044B",noTasksFound:"\u0417\u0430\u0434\u0430\u0447\u0438 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B \u0434\u043B\u044F \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0445 \u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432.",reorder:{scope:{ungrouped:"\u044D\u0442\u043E\u0442 \u043D\u0435\u0433\u0440\u0443\u043F\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0439 \u0441\u043F\u0438\u0441\u043E\u043A",group:'\u0433\u0440\u0443\u043F\u043F\u0430 "{group}"'}},errors:{formulaGroupingReadOnly:"\u041D\u0435\u043B\u044C\u0437\u044F \u043F\u0435\u0440\u0435\u0443\u043F\u043E\u0440\u044F\u0434\u043E\u0447\u0438\u0432\u0430\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0438 \u0432 \u0433\u0440\u0443\u043F\u043F\u0430\u0445 \u043D\u0430 \u043E\u0441\u043D\u043E\u0432\u0435 \u0444\u043E\u0440\u043C\u0443\u043B. \u0417\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0444\u043E\u0440\u043C\u0443\u043B \u0432\u044B\u0447\u0438\u0441\u043B\u044F\u044E\u0442\u0441\u044F \u0438 \u043D\u0435 \u043C\u043E\u0433\u0443\u0442 \u0431\u044B\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u044B \u043D\u0430\u043F\u0440\u044F\u043C\u0443\u044E."}},notes:{title:"\u0417\u0430\u043C\u0435\u0442\u043A\u0438",refreshButton:"\u041E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435...",refreshingButton:"\u041E\u0431\u043D\u043E\u0432\u043B\u044F\u0435\u0442\u0441\u044F...",notices:{indexingDisabled:"\u0418\u043D\u0434\u0435\u043A\u0441\u0430\u0446\u0438\u044F \u0437\u0430\u043C\u0435\u0442\u043E\u043A \u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u0430"},empty:{noNotesFound:"\u0417\u0430\u043C\u0435\u0442\u043A\u0438 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",helpText:"\u0417\u0430\u043C\u0435\u0442\u043A\u0438 \u0434\u043B\u044F \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0439 \u0434\u0430\u0442\u044B \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u0434\u0440\u0443\u0433\u0443\u044E \u0434\u0430\u0442\u0443 \u0432 \u043C\u0438\u043D\u0438-\u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0435 \u0438\u043B\u0438 \u0441\u043E\u0437\u0434\u0430\u0439\u0442\u0435 \u0437\u0430\u043C\u0435\u0442\u043A\u0438."},loading:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0437\u0430\u043C\u0435\u0442\u043E\u043A...",refreshButtonAriaLabel:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0441\u043F\u0438\u0441\u043E\u043A \u0437\u0430\u043C\u0435\u0442\u043E\u043A"},miniCalendar:{title:"\u041C\u0438\u043D\u0438-\u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C"},advancedCalendar:{title:"\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C",filters:{showFilters:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440\u044B",hideFilters:"\u0421\u043A\u0440\u044B\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440\u044B"},viewOptions:{calendarSubscriptions:"\u041F\u043E\u0434\u043F\u0438\u0441\u043A\u0438 \u043D\u0430 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0438",timeEntries:"\u0412\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0435 \u0437\u0430\u043F\u0438\u0441\u0438",timeblocks:"\u0412\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0435 \u0431\u043B\u043E\u043A\u0438",scheduledDates:"\u0417\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0434\u0430\u0442\u044B",dueDates:"\u0421\u0440\u043E\u043A\u0438 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F",allDaySlot:"\u0421\u043B\u043E\u0442 \u043D\u0430 \u0432\u0435\u0441\u044C \u0434\u0435\u043D\u044C",scheduledTasks:"\u0417\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0437\u0430\u0434\u0430\u0447\u0438",recurringTasks:"\u041F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0438\u0435\u0441\u044F \u0437\u0430\u0434\u0430\u0447\u0438"},buttons:{refresh:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C",refreshHint:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0438 \u043D\u0430 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0438"},notices:{icsServiceNotAvailable:"\u0421\u0435\u0440\u0432\u0438\u0441 \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0438 ICS \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D",calendarRefreshedAll:"\u0412\u0441\u0435 \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0438 \u043D\u0430 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0438 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u044B",refreshFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0438 \u043D\u0430 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0438",timeblockSpecificTime:"\u0412\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0435 \u0431\u043B\u043E\u043A\u0438 \u0434\u043E\u043B\u0436\u043D\u044B \u0438\u043C\u0435\u0442\u044C \u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F. \u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D \u0432 \u043D\u0435\u0434\u0435\u043B\u044C\u043D\u043E\u043C \u0438\u043B\u0438 \u0434\u043D\u0435\u0432\u043D\u043E\u043C \u0432\u0438\u0434\u0435.",timeblockMoved:'\u0412\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0431\u043B\u043E\u043A "{title}" \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D \u043D\u0430 {date}',timeblockUpdated:'\u0412\u0440\u0435\u043C\u044F \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0433\u043E \u0431\u043B\u043E\u043A\u0430 "{title}" \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u043E',timeblockMoveFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0431\u043B\u043E\u043A: {message}",timeblockResized:'\u0414\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0433\u043E \u0431\u043B\u043E\u043A\u0430 "{title}" \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0430',timeblockResizeFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0440 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0433\u043E \u0431\u043B\u043E\u043A\u0430: {message}",taskScheduled:'\u0417\u0430\u0434\u0430\u0447\u0430 "{title}" \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0430 \u043D\u0430 {date}',scheduleTaskFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0443",endTimeAfterStart:"\u0412\u0440\u0435\u043C\u044F \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u043F\u043E\u0441\u043B\u0435 \u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u043D\u0430\u0447\u0430\u043B\u0430",timeEntryNotFound:"\u0412\u0440\u0435\u043C\u0435\u043D\u043D\u0430\u044F \u0437\u0430\u043F\u0438\u0441\u044C \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430",timeEntryDeleted:"\u0412\u0440\u0435\u043C\u0435\u043D\u043D\u0430\u044F \u0437\u0430\u043F\u0438\u0441\u044C \u0443\u0434\u0430\u043B\u0435\u043D\u0430",deleteTimeEntryFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u0443\u044E \u0437\u0430\u043F\u0438\u0441\u044C"},timeEntry:{estimatedSuffix:"\u043E\u0446\u0435\u043D\u043A\u0430",trackedSuffix:"\u043E\u0442\u0441\u043B\u0435\u0436\u0435\u043D\u043E",recurringPrefix:"\u041F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0430\u044F\u0441\u044F: ",completedPrefix:"\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E: ",createdPrefix:"\u0421\u043E\u0437\u0434\u0430\u043D\u043E: ",modifiedPrefix:"\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u043E: ",duePrefix:"\u0421\u0440\u043E\u043A: ",scheduledPrefix:"\u0417\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043E: "},contextMenus:{openTask:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0443",deleteTimeEntry:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u0443\u044E \u0437\u0430\u043F\u0438\u0441\u044C",deleteTimeEntryTitle:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u0443\u044E \u0437\u0430\u043F\u0438\u0441\u044C",deleteTimeEntryConfirm:"\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u044D\u0442\u0443 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u0443\u044E \u0437\u0430\u043F\u0438\u0441\u044C{duration}? \u042D\u0442\u043E \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043D\u0435\u043B\u044C\u0437\u044F \u043E\u0442\u043C\u0435\u043D\u0438\u0442\u044C.",deleteButton:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C",cancelButton:"\u041E\u0442\u043C\u0435\u043D\u0430"}},basesCalendar:{title:"\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C Bases",today:"\u0421\u0435\u0433\u043E\u0434\u043D\u044F",buttonText:{month:"\u041C",week:"\u041D",day:"\u0414",year:"\u0413",list:"\u0421",customDays:"{count}\u0414",listDays:"{count}\u0434 \u0421\u043F\u0438\u0441\u043E\u043A",refresh:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C"},hints:{refresh:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0438 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F",today:"\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0441\u0435\u0433\u043E\u0434\u043D\u044F",prev:"\u041D\u0430\u0437\u0430\u0434",next:"\u0412\u043F\u0435\u0440\u0451\u0434",month:"\u0412\u0438\u0434 \u043F\u043E \u043C\u0435\u0441\u044F\u0446\u0430\u043C",week:"\u0412\u0438\u0434 \u043F\u043E \u043D\u0435\u0434\u0435\u043B\u044F\u043C",day:"\u0412\u0438\u0434 \u043F\u043E \u0434\u043D\u044F\u043C",year:"\u0412\u0438\u0434 \u043F\u043E \u0433\u043E\u0434\u0430\u043C",list:"\u0412\u0438\u0434 \u0441\u043F\u0438\u0441\u043A\u043E\u043C",customDays:"\u0412\u0438\u0434 \u043D\u0430 {count} \u0434\u043D\u0435\u0439"},settings:{groups:{dateNavigation:"\u041D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044F \u043F\u043E \u0434\u0430\u0442\u0430\u043C",events:"\u0421\u043E\u0431\u044B\u0442\u0438\u044F",layout:"\u041C\u0430\u043A\u0435\u0442",propertyBasedEvents:"\u0421\u043E\u0431\u044B\u0442\u0438\u044F \u043D\u0430 \u043E\u0441\u043D\u043E\u0432\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432",calendarSubscriptions:"\u041F\u043E\u0434\u043F\u0438\u0441\u043A\u0438 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F",googleCalendars:"\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0438 Google",microsoftCalendars:"\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0438 Microsoft"},dateNavigation:{navigateToDate:"\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0434\u0430\u0442\u0435",navigateToDatePlaceholder:"\u0413\u0413\u0413\u0413-\u041C\u041C-\u0414\u0414 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, 2025-01-15) - \u043E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u043F\u0443\u0441\u0442\u044B\u043C \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430",navigateToDateFromProperty:"\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0434\u0430\u0442\u0435 \u0438\u0437 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430",navigateToDateFromPropertyPlaceholder:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u043E \u0434\u0430\u0442\u044B (\u043D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E)",propertyNavigationStrategy:"\u0421\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044F \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u043F\u043E \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0443",strategies:{first:"\u041F\u0435\u0440\u0432\u044B\u0439 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442",earliest:"\u0421\u0430\u043C\u0430\u044F \u0440\u0430\u043D\u043D\u044F\u044F \u0434\u0430\u0442\u0430",latest:"\u0421\u0430\u043C\u0430\u044F \u043F\u043E\u0437\u0434\u043D\u044F\u044F \u0434\u0430\u0442\u0430"}},events:{showScheduledTasks:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0437\u0430\u0434\u0430\u0447\u0438",showDueTasks:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0438 \u0441 \u043A\u0440\u0430\u0439\u043D\u0438\u043C \u0441\u0440\u043E\u043A\u043E\u043C",showRecurringTasks:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0438\u0435\u0441\u044F \u0437\u0430\u0434\u0430\u0447\u0438",showTimeEntries:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0437\u0430\u043F\u0438\u0441\u0438 \u0432\u0440\u0435\u043C\u0435\u043D\u0438",showTimeblocks:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0435 \u0431\u043B\u043E\u043A\u0438",showPropertyBasedEvents:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0441\u043E\u0431\u044B\u0442\u0438\u044F \u043D\u0430 \u043E\u0441\u043D\u043E\u0432\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432"},layout:{calendarView:"\u0412\u0438\u0434 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F",customDayCount:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u0435 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0434\u043D\u0435\u0439",listDayCount:"\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0434\u043D\u0435\u0439 \u0441\u043F\u0438\u0441\u043A\u0430",dayStartTime:"\u0412\u0440\u0435\u043C\u044F \u043D\u0430\u0447\u0430\u043B\u0430 \u0434\u043D\u044F",dayStartTimePlaceholder:"\u0427\u0427:\u043C\u043C:\u0441\u0441 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, 08:00:00)",dayEndTime:"\u0412\u0440\u0435\u043C\u044F \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F \u0434\u043D\u044F",dayEndTimePlaceholder:"\u0427\u0427:\u043C\u043C:\u0441\u0441 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, 20:00:00)",timeSlotDuration:"\u0414\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0433\u043E \u0441\u043B\u043E\u0442\u0430",timeSlotDurationPlaceholder:"\u0427\u0427:\u043C\u043C:\u0441\u0441 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, 00:30:00)",weekStartsOn:"\u041D\u0435\u0434\u0435\u043B\u044F \u043D\u0430\u0447\u0438\u043D\u0430\u0435\u0442\u0441\u044F \u0441",showWeekNumbers:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043D\u043E\u043C\u0435\u0440\u0430 \u043D\u0435\u0434\u0435\u043B\u044C",showNowIndicator:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0438\u043D\u0434\u0438\u043A\u0430\u0442\u043E\u0440 \u0442\u0435\u043A\u0443\u0449\u0435\u0433\u043E \u0432\u0440\u0435\u043C\u0435\u043D\u0438",showWeekends:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0432\u044B\u0445\u043E\u0434\u043D\u044B\u0435",showAllDaySlot:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0441\u043B\u043E\u0442 \u043D\u0430 \u0432\u0435\u0441\u044C \u0434\u0435\u043D\u044C",showTodayHighlight:"\u0412\u044B\u0434\u0435\u043B\u0438\u0442\u044C \u0441\u0435\u0433\u043E\u0434\u043D\u044F",todayColumnWidthMultiplier:"\u041C\u043D\u043E\u0436\u0438\u0442\u0435\u043B\u044C \u0448\u0438\u0440\u0438\u043D\u044B \u043A\u043E\u043B\u043E\u043D\u043A\u0438 \u0441\u0435\u0433\u043E\u0434\u043D\u044F\u0448\u043D\u0435\u0433\u043E \u0434\u043D\u044F",showSelectionPreview:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0432\u044B\u0431\u043E\u0440\u0430",timeFormat:"\u0424\u043E\u0440\u043C\u0430\u0442 \u0432\u0440\u0435\u043C\u0435\u043D\u0438",timeFormat12:"12-\u0447\u0430\u0441\u043E\u0432\u043E\u0439 (AM/PM)",timeFormat24:"24-\u0447\u0430\u0441\u043E\u0432\u043E\u0439",initialScrollTime:"\u041D\u0430\u0447\u0430\u043B\u044C\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F \u043F\u0440\u043E\u043A\u0440\u0443\u0442\u043A\u0438",initialScrollTimePlaceholder:"\u0427\u0427:\u043C\u043C:\u0441\u0441 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, 08:00:00)",minimumEventHeight:"\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u0430\u044F \u0432\u044B\u0441\u043E\u0442\u0430 \u0441\u043E\u0431\u044B\u0442\u0438\u044F (px)",slotEventOverlap:"\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u043D\u0430\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0441\u043E\u0431\u044B\u0442\u0438\u0439",enableSearch:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043F\u043E\u043B\u0435 \u043F\u043E\u0438\u0441\u043A\u0430",eventMaxStack:"\u041C\u0430\u043A\u0441. \u043D\u0430\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0445 \u0441\u043E\u0431\u044B\u0442\u0438\u0439 (\u043D\u0435\u0434\u0435\u043B\u044F/\u0434\u0435\u043D\u044C, 0 = \u0431\u0435\u0437 \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D\u0438\u0439)",dayMaxEvents:"\u041C\u0430\u043A\u0441. \u0441\u043E\u0431\u044B\u0442\u0438\u0439 \u0432 \u0434\u0435\u043D\u044C (\u043C\u0435\u0441\u044F\u0446, 0 = \u0430\u0432\u0442\u043E)",dayMaxEventRows:"\u041C\u0430\u043A\u0441. \u0441\u0442\u0440\u043E\u043A \u0441\u043E\u0431\u044B\u0442\u0438\u0439 \u0432 \u0434\u0435\u043D\u044C (\u043C\u0435\u0441\u044F\u0446, 0 = \u0431\u0435\u0437 \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D\u0438\u0439)",spanScheduledToDue:"\u0420\u0430\u0441\u0442\u044F\u0433\u0438\u0432\u0430\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0438 \u043C\u0435\u0436\u0434\u0443 \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0439 \u0438 \u0441\u0440\u043E\u0447\u043D\u043E\u0439 \u0434\u0430\u0442\u0430\u043C\u0438"},propertyBasedEvents:{startDateProperty:"\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u043E \u0434\u0430\u0442\u044B \u043D\u0430\u0447\u0430\u043B\u0430",startDatePropertyPlaceholder:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u043E \u0434\u043B\u044F \u0434\u0430\u0442\u044B/\u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u043D\u0430\u0447\u0430\u043B\u0430",endDateProperty:"\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u043E \u0434\u0430\u0442\u044B \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F (\u043D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E)",endDatePropertyPlaceholder:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u043E \u0434\u043B\u044F \u0434\u0430\u0442\u044B/\u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F",titleProperty:"\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u043E \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043A\u0430 (\u043D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E)",titlePropertyPlaceholder:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u043E \u0434\u043B\u044F \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043A\u0430 \u0441\u043E\u0431\u044B\u0442\u0438\u044F"}},errors:{failedToInitialize:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0438\u043D\u0438\u0446\u0438\u0430\u043B\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C"}},kanban:{title:"\u041A\u0430\u043D\u0431\u0430\u043D",newTask:"\u041D\u043E\u0432\u0430\u044F \u0437\u0430\u0434\u0430\u0447\u0430",addCard:"+ \u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043A\u0430\u0440\u0442\u043E\u0447\u043A\u0443",noTasks:"\u041D\u0435\u0442 \u0437\u0430\u0434\u0430\u0447",uncategorized:"\u0411\u0435\u0437 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438",noProject:"\u0411\u0435\u0437 \u043F\u0440\u043E\u0435\u043A\u0442\u0430",reorder:{scope:{column:'\u043A\u043E\u043B\u043E\u043D\u043A\u0430 "{group}"',columnInSwimlane:'\u043A\u043E\u043B\u043E\u043D\u043A\u0430 "{group}" \u0432 swimlane "{swimlane}"'}},notices:{loadFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0434\u043E\u0441\u043A\u0443 \u041A\u0430\u043D\u0431\u0430\u043D",movedTask:'\u0417\u0430\u0434\u0430\u0447\u0430 \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0430 \u0432 "{0}"'},errors:{loadingBoard:"\u041E\u0448\u0438\u0431\u043A\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438 \u0434\u043E\u0441\u043A\u0438.",noGroupBy:"\u0414\u043B\u044F \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u041A\u0430\u043D\u0431\u0430\u043D \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u043E\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u043E '\u0413\u0440\u0443\u043F\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u043E'. \u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u043A\u043D\u043E\u043F\u043A\u0443 '\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0430' \u0438 \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u043E \u0432 \u0440\u0430\u0437\u0434\u0435\u043B\u0435 '\u0413\u0440\u0443\u043F\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u043E'.",formulaGroupingReadOnly:"\u041D\u0435\u043B\u044C\u0437\u044F \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0430\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0438 \u043C\u0435\u0436\u0434\u0443 \u043A\u043E\u043B\u043E\u043D\u043A\u0430\u043C\u0438 \u043D\u0430 \u043E\u0441\u043D\u043E\u0432\u0435 \u0444\u043E\u0440\u043C\u0443\u043B. \u0417\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0444\u043E\u0440\u043C\u0443\u043B \u0432\u044B\u0447\u0438\u0441\u043B\u044F\u044E\u0442\u0441\u044F \u0438 \u043D\u0435 \u043C\u043E\u0433\u0443\u0442 \u0431\u044B\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u044B \u043D\u0430\u043F\u0440\u044F\u043C\u0443\u044E.",formulaSwimlaneReadOnly:"\u041D\u0435\u043B\u044C\u0437\u044F \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0430\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0438 \u043C\u0435\u0436\u0434\u0443 \u0434\u043E\u0440\u043E\u0436\u043A\u0430\u043C\u0438 \u043D\u0430 \u043E\u0441\u043D\u043E\u0432\u0435 \u0444\u043E\u0440\u043C\u0443\u043B. \u0417\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0444\u043E\u0440\u043C\u0443\u043B \u0432\u044B\u0447\u0438\u0441\u043B\u044F\u044E\u0442\u0441\u044F \u0438 \u043D\u0435 \u043C\u043E\u0433\u0443\u0442 \u0431\u044B\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u044B \u043D\u0430\u043F\u0440\u044F\u043C\u0443\u044E."},columnTitle:"\u0411\u0435\u0437 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F"},pomodoro:{title:"\u041F\u043E\u043C\u043E\u0434\u043E\u0440\u043E",status:{focus:"\u0424\u043E\u043A\u0443\u0441",ready:"\u0413\u043E\u0442\u043E\u0432\u043E \u043A \u043D\u0430\u0447\u0430\u043B\u0443",paused:"\u041F\u0440\u0438\u043E\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E",working:"\u0420\u0430\u0431\u043E\u0442\u0430",shortBreak:"\u041A\u043E\u0440\u043E\u0442\u043A\u0438\u0439 \u043F\u0435\u0440\u0435\u0440\u044B\u0432",longBreak:"\u0414\u043B\u0438\u043D\u043D\u044B\u0439 \u043F\u0435\u0440\u0435\u0440\u044B\u0432",breakPrompt:"\u041E\u0442\u043B\u0438\u0447\u043D\u0430\u044F \u0440\u0430\u0431\u043E\u0442\u0430! \u0412\u0440\u0435\u043C\u044F \u0434\u043B\u044F {length} \u043F\u0435\u0440\u0435\u0440\u044B\u0432\u0430",breakLength:{short:"\u043A\u043E\u0440\u043E\u0442\u043A\u043E\u0433\u043E",long:"\u0434\u043B\u0438\u043D\u043D\u043E\u0433\u043E"},breakComplete:"\u041F\u0435\u0440\u0435\u0440\u044B\u0432 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D! \u0413\u043E\u0442\u043E\u0432\u044B \u043A \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u043C\u0443 \u043F\u043E\u043C\u043E\u0434\u043E\u0440\u043E?"},buttons:{start:"\u0421\u0442\u0430\u0440\u0442",pause:"\u041F\u0430\u0443\u0437\u0430",stop:"\u0421\u0442\u043E\u043F",resume:"\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C",startShortBreak:"\u041D\u0430\u0447\u0430\u0442\u044C \u043A\u043E\u0440\u043E\u0442\u043A\u0438\u0439 \u043F\u0435\u0440\u0435\u0440\u044B\u0432",startLongBreak:"\u041D\u0430\u0447\u0430\u0442\u044C \u0434\u043B\u0438\u043D\u043D\u044B\u0439 \u043F\u0435\u0440\u0435\u0440\u044B\u0432",skipBreak:"\u041F\u0440\u043E\u043F\u0443\u0441\u0442\u0438\u0442\u044C \u043F\u0435\u0440\u0435\u0440\u044B\u0432",chooseTask:"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0443...",changeTask:"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0443...",clearTask:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0443",selectDifferentTask:"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0434\u0440\u0443\u0433\u0443\u044E \u0437\u0430\u0434\u0430\u0447\u0443"},notices:{noTasks:"\u041D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043D\u0435\u0430\u0440\u0445\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0445 \u0437\u0430\u0434\u0430\u0447. \u0421\u043D\u0430\u0447\u0430\u043B\u0430 \u0441\u043E\u0437\u0434\u0430\u0439\u0442\u0435 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0437\u0430\u0434\u0430\u0447.",loadFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0438"},statsLabel:"\u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E \u0441\u0435\u0433\u043E\u0434\u043D\u044F"},pomodoroStats:{title:"\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043A\u0430 \u043F\u043E\u043C\u043E\u0434\u043E\u0440\u043E",heading:"\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043A\u0430 \u043F\u043E\u043C\u043E\u0434\u043E\u0440\u043E",refresh:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C",sections:{overview:"\u041E\u0431\u0437\u043E\u0440",today:"\u0421\u0435\u0433\u043E\u0434\u043D\u044F",week:"\u042D\u0442\u0430 \u043D\u0435\u0434\u0435\u043B\u044F",allTime:"\u0417\u0430 \u0432\u0441\u0435 \u0432\u0440\u0435\u043C\u044F",recent:"\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435 \u0441\u0435\u0441\u0441\u0438\u0438"},overviewCards:{todayPomos:{label:"\u041F\u043E\u043C\u043E\u0434\u043E\u0440\u043E \u0441\u0435\u0433\u043E\u0434\u043D\u044F",change:{more:"\u043D\u0430 {count} \u0431\u043E\u043B\u044C\u0448\u0435 \u0447\u0435\u043C \u0432\u0447\u0435\u0440\u0430",less:"\u043D\u0430 {count} \u043C\u0435\u043D\u044C\u0448\u0435 \u0447\u0435\u043C \u0432\u0447\u0435\u0440\u0430"}},totalPomos:{label:"\u0412\u0441\u0435\u0433\u043E \u043F\u043E\u043C\u043E\u0434\u043E\u0440\u043E"},todayFocus:{label:"\u0424\u043E\u043A\u0443\u0441 \u0441\u0435\u0433\u043E\u0434\u043D\u044F",change:{more:"\u043D\u0430 {duration} \u0431\u043E\u043B\u044C\u0448\u0435 \u0447\u0435\u043C \u0432\u0447\u0435\u0440\u0430",less:"\u043D\u0430 {duration} \u043C\u0435\u043D\u044C\u0448\u0435 \u0447\u0435\u043C \u0432\u0447\u0435\u0440\u0430"}},totalFocus:{label:"\u041E\u0431\u0449\u0435\u0435 \u0432\u0440\u0435\u043C\u044F \u0444\u043E\u043A\u0443\u0441\u0430"}},stats:{pomodoros:"\u041F\u043E\u043C\u043E\u0434\u043E\u0440\u043E",streak:"\u0421\u0435\u0440\u0438\u044F",minutes:"\u041C\u0438\u043D\u0443\u0442\u044B",average:"\u0421\u0440\u0435\u0434\u043D\u044F\u044F \u0434\u043B\u0438\u043D\u0430",completion:"\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u0435"},recents:{empty:"\u0421\u0435\u0441\u0441\u0438\u0438 \u0435\u0449\u0435 \u043D\u0435 \u0437\u0430\u043F\u0438\u0441\u0430\u043D\u044B",duration:"{minutes} \u043C\u0438\u043D",status:{completed:"\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E",interrupted:"\u041F\u0440\u0435\u0440\u0432\u0430\u043D\u043E"}}},stats:{title:"\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043A\u0430",taskProjectStats:"\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043A\u0430 \u0437\u0430\u0434\u0430\u0447 \u0438 \u043F\u0440\u043E\u0435\u043A\u0442\u043E\u0432",sections:{filters:"\u0424\u0438\u043B\u044C\u0442\u0440\u044B",overview:"\u041E\u0431\u0437\u043E\u0440",today:"\u0421\u0435\u0433\u043E\u0434\u043D\u044F",thisWeek:"\u042D\u0442\u0430 \u043D\u0435\u0434\u0435\u043B\u044F",thisMonth:"\u042D\u0442\u043E\u0442 \u043C\u0435\u0441\u044F\u0446",projectBreakdown:"\u0420\u0430\u0437\u0431\u0438\u0432\u043A\u0430 \u043F\u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0430\u043C",dateRange:"\u0414\u0438\u0430\u043F\u0430\u0437\u043E\u043D \u0434\u0430\u0442"},filters:{minTime:"\u041C\u0438\u043D. \u0432\u0440\u0435\u043C\u044F (\u043C\u0438\u043D\u0443\u0442\u044B)",allTasks:"\u0412\u0441\u0435 \u0437\u0430\u0434\u0430\u0447\u0438",activeOnly:"\u0422\u043E\u043B\u044C\u043A\u043E \u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0435",completedOnly:"\u0422\u043E\u043B\u044C\u043A\u043E \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043D\u044B\u0435"},refreshButton:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C",timeRanges:{allTime:"\u0412\u0441\u0435 \u0432\u0440\u0435\u043C\u044F",last7Days:"\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435 7 \u0434\u043D\u0435\u0439",last30Days:"\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435 30 \u0434\u043D\u0435\u0439",last90Days:"\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435 90 \u0434\u043D\u0435\u0439",customRange:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0439 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D"},resetFiltersButton:"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440\u044B",dateRangeFrom:"\u0421",dateRangeTo:"\u0414\u043E",noProject:"\u0411\u0435\u0437 \u043F\u0440\u043E\u0435\u043A\u0442\u0430",cards:{timeTrackedEstimated:"\u041E\u0442\u0441\u043B\u0435\u0436\u0435\u043D\u043E / \u0417\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043E \u0432\u0440\u0435\u043C\u0435\u043D\u0438",totalTasks:"\u0414\u043Etal Tasks",completionRate:"\u041F\u0440\u043E\u0446\u0435\u043D\u0442 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F",activeProjects:"\u0410\u043A\u0442\u0438\u0432\u043D\u044B\u0435 \u043F\u0440\u043E\u0435\u043A\u0442\u044B",avgTimePerTask:"\u0421\u0440\u0435\u0434\u043D\u0435\u0435 \u0432\u0440\u0435\u043C\u044F \u043D\u0430 \u0437\u0430\u0434\u0430\u0447\u0443"},labels:{tasks:"\u0417\u0430\u0434\u0430\u0447\u0438",completed:"\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E",projects:"\u041F\u0440\u043E\u0435\u043A\u0442\u044B"},noProjectData:"\u041D\u0435\u0442 \u0434\u0430\u043D\u043D\u044B\u0445 \u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0430\u0445",notAvailable:"\u041D/\u0414",noTasks:"\u0417\u0430\u0434\u0430\u0447\u0438 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",loading:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430..."},releaseNotes:{title:"\u0427\u0442\u043E \u043D\u043E\u0432\u043E\u0433\u043E \u0432 TaskNotes {version}",header:"\u0427\u0442\u043E \u043D\u043E\u0432\u043E\u0433\u043E \u0432 TaskNotes {version}",viewAllLink:"\u041F\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C \u0432\u0441\u0435 \u043F\u0440\u0438\u043C\u0435\u0447\u0430\u043D\u0438\u044F \u043A \u0432\u044B\u043F\u0443\u0441\u043A\u0443 \u043D\u0430 GitHub \u2192",starMessage:"\u0415\u0441\u043B\u0438 TaskNotes \u043F\u043E\u043B\u0435\u0437\u0435\u043D \u0434\u043B\u044F \u0432\u0430\u0441, \u043F\u043E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u0437\u0432\u0435\u0437\u0434\u0443 \u043D\u0430 GitHub",baseFilesNotice:"> [!info] \u041E \u0444\u0430\u0439\u043B\u0430\u0445 `.base` \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E\n> \u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0432 \u0448\u0430\u0431\u043B\u043E\u043D\u0430\u0445 `.base`, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0433\u0435\u043D\u0435\u0440\u0438\u0440\u0443\u044E\u0442\u0441\u044F \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E, \u043D\u0435 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u044E\u0442 \u0432\u0430\u0448\u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0435 \u0444\u0430\u0439\u043B\u044B `.base`, \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u0432\u0430\u0448\u0438 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0441\u043E\u0445\u0440\u0430\u043D\u044F\u044E\u0442\u0441\u044F.\n> \u0427\u0442\u043E\u0431\u044B \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u0443\u043B\u0443\u0447\u0448\u0435\u043D\u0438\u044F \u043D\u043E\u0432\u044B\u0445 \u0448\u0430\u0431\u043B\u043E\u043D\u043E\u0432, \u043F\u0435\u0440\u0435\u0441\u043E\u0437\u0434\u0430\u0439\u0442\u0435 \u0431\u0430\u0437\u043E\u0432\u044B\u0435 \u0444\u0430\u0439\u043B\u044B \u0432 **\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u2192 TaskNotes \u2192 \u041E\u0431\u0449\u0438\u0435 \u2192 \u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B**."}},settings:{header:{documentation:"\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u044F",documentationUrl:"https://tasknotes.dev"},tabs:{general:"\u041E\u0431\u0449\u0438\u0435",taskProperties:"\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u0437\u0430\u0434\u0430\u0447",modalFields:"\u041F\u043E\u043B\u044F \u043C\u043E\u0434\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u043E\u043A\u043D\u0430",defaults:"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u0438 \u0448\u0430\u0431\u043B\u043E\u043D\u044B",appearance:"\u0412\u043D\u0435\u0448\u043D\u0438\u0439 \u0432\u0438\u0434 \u0438 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441",features:"\u0424\u0443\u043D\u043A\u0446\u0438\u0438",integrations:"\u0418\u043D\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438"},features:{inlineTasks:{header:"\u0412\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0435 \u0437\u0430\u0434\u0430\u0447\u0438",description:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0441\u0441\u044B\u043B\u043E\u043A \u043D\u0430 \u0437\u0430\u0434\u0430\u0447\u0438 \u0438 \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u0444\u043B\u0430\u0436\u043A\u043E\u0432 \u0432 \u0437\u0430\u0434\u0430\u0447\u0438 \u0432 \u0437\u0430\u043C\u0435\u0442\u043A\u0430\u0445."},overlays:{taskLinkToggle:{name:"\u041D\u0430\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0441\u0441\u044B\u043B\u043E\u043A \u0437\u0430\u0434\u0430\u0447",description:"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0438\u043D\u0442\u0435\u0440\u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0435 \u043D\u0430\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u043F\u0440\u0438 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u0438\u0438 \u043D\u0430 \u0441\u0441\u044B\u043B\u043A\u0438 \u0437\u0430\u0434\u0430\u0447"},aliasExclusion:{name:"\u041E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043D\u0430\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0434\u043B\u044F \u0441\u0441\u044B\u043B\u043E\u043A \u0441 \u043F\u0441\u0435\u0432\u0434\u043E\u043D\u0438\u043C\u0430\u043C\u0438",description:"\u041D\u0435 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0432\u0438\u0434\u0436\u0435\u0442 \u0437\u0430\u0434\u0430\u0447\u0438, \u0435\u0441\u043B\u0438 \u0441\u0441\u044B\u043B\u043A\u0430 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442 \u043F\u0441\u0435\u0432\u0434\u043E\u043D\u0438\u043C (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, [[\u0417\u0430\u0434\u0430\u0447\u0430|\u041F\u0441\u0435\u0432\u0434\u043E\u043D\u0438\u043C]])."}},instantConvert:{toggle:{name:"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u043A\u043D\u043E\u043F\u043A\u0443 \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u0440\u044F\u0434\u043E\u043C \u0441 \u0444\u043B\u0430\u0436\u043A\u0430\u043C\u0438",description:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u0443\u044E \u043A\u043D\u043E\u043F\u043A\u0443 \u0440\u044F\u0434\u043E\u043C \u0441 \u0444\u043B\u0430\u0436\u043A\u0430\u043C\u0438 Markdown, \u043A\u043E\u0442\u043E\u0440\u0430\u044F \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0438\u0445 \u0432 TaskNotes"},folder:{name:"\u041F\u0430\u043F\u043A\u0430 \u0434\u043B\u044F \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u043D\u044B\u0445 \u0437\u0430\u0434\u0430\u0447",description:"\u041F\u0430\u043F\u043A\u0430, \u0432 \u043A\u043E\u0442\u043E\u0440\u043E\u0439 \u0431\u0443\u0434\u0443\u0442 \u0441\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C\u0441\u044F \u0437\u0430\u0434\u0430\u0447\u0438, \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0438\u0437 \u0444\u043B\u0430\u0436\u043A\u043E\u0432. \u041E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u043F\u0443\u0441\u0442\u044B\u043C \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u043F\u0430\u043F\u043A\u0438 \u0437\u0430\u0434\u0430\u0447 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 {{currentNotePath}} \u0434\u043B\u044F \u043F\u0430\u043F\u043A\u0438 \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u0437\u0430\u043C\u0435\u0442\u043A\u0438 \u0438\u043B\u0438 {{currentNoteTitle}} \u0434\u043B\u044F \u043F\u043E\u0434\u043F\u0430\u043F\u043A\u0438 \u0441 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435\u043C \u0437\u0430\u043C\u0435\u0442\u043A\u0438."}},nlp:{header:"\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430 \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043D\u043D\u043E\u0433\u043E \u044F\u0437\u044B\u043A\u0430",description:"\u0410\u043D\u0430\u043B\u0438\u0437 \u0434\u0430\u0442, \u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442\u043E\u0432 \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0432\u043E\u0439\u0441\u0442\u0432 \u0438\u0437 \u0442\u0435\u043A\u0441\u0442\u043E\u0432\u043E\u0433\u043E \u0432\u0432\u043E\u0434\u0430.",enable:{name:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0432\u0432\u043E\u0434 \u0437\u0430\u0434\u0430\u0447 \u043D\u0430 \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043D\u043D\u043E\u043C \u044F\u0437\u044B\u043A\u0435",description:"\u0410\u043D\u0430\u043B\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0440\u043E\u043A\u0438 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F, \u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442\u044B \u0438 \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u044B \u0438\u0437 \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043D\u043D\u043E\u0433\u043E \u044F\u0437\u044B\u043A\u0430 \u043F\u0440\u0438 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0438 \u0437\u0430\u0434\u0430\u0447"},defaultToScheduled:{name:"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0435",description:"\u041A\u043E\u0433\u0434\u0430 NLP \u043E\u0431\u043D\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u0435\u0442 \u0434\u0430\u0442\u0443 \u0431\u0435\u0437 \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u0430, \u0442\u0440\u0430\u043A\u0442\u043E\u0432\u0430\u0442\u044C \u0435\u0435 \u043A\u0430\u043A \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0443\u044E, \u0430 \u043D\u0435 \u0441\u0440\u043E\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F"},language:{name:"\u042F\u0437\u044B\u043A NLP",description:"\u042F\u0437\u044B\u043A \u0434\u043B\u044F \u0448\u0430\u0431\u043B\u043E\u043D\u043E\u0432 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0438 \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043D\u043D\u043E\u0433\u043E \u044F\u0437\u044B\u043A\u0430 \u0438 \u0430\u043D\u0430\u043B\u0438\u0437\u0430 \u0434\u0430\u0442"},statusTrigger:{name:"\u0422\u0440\u0438\u0433\u0433\u0435\u0440 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0441\u0442\u0430\u0442\u0443\u0441\u0430",description:"\u0422\u0435\u043A\u0441\u0442 \u0434\u043B\u044F \u0437\u0430\u043F\u0443\u0441\u043A\u0430 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439 \u0441\u0442\u0430\u0442\u0443\u0441\u0430 (\u043E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u043F\u0443\u0441\u0442\u044B\u043C \u0434\u043B\u044F \u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F)"}},pomodoro:{header:"\u0422\u0430\u0439\u043C\u0435\u0440 \u043F\u043E\u043C\u043E\u0434\u043E\u0440\u043E",description:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u0438\u043D\u0442\u0435\u0440\u0432\u0430\u043B\u043E\u0432 \u0440\u0430\u0431\u043E\u0442\u044B/\u043E\u0442\u0434\u044B\u0445\u0430 \u0434\u043B\u044F \u0442\u0430\u0439\u043C\u0435\u0440\u0430 \u043F\u043E\u043C\u043E\u0434\u043E\u0440\u043E.",workDuration:{name:"\u0414\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u0440\u0430\u0431\u043E\u0442\u044B",description:"\u0414\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u0440\u0430\u0431\u043E\u0447\u0438\u0445 \u0438\u043D\u0442\u0435\u0440\u0432\u0430\u043B\u043E\u0432 \u0432 \u043C\u0438\u043D\u0443\u0442\u0430\u0445"},shortBreak:{name:"\u0414\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u043A\u043E\u0440\u043E\u0442\u043A\u043E\u0433\u043E \u043F\u0435\u0440\u0435\u0440\u044B\u0432\u0430",description:"\u0414\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u043A\u043E\u0440\u043E\u0442\u043A\u0438\u0445 \u043F\u0435\u0440\u0435\u0440\u044B\u0432\u043E\u0432 \u0432 \u043C\u0438\u043D\u0443\u0442\u0430\u0445"},longBreak:{name:"\u0414\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u0434\u043B\u0438\u043D\u043D\u043E\u0433\u043E \u043F\u0435\u0440\u0435\u0440\u044B\u0432\u0430",description:"\u0414\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u0434\u043B\u0438\u043D\u043D\u044B\u0445 \u043F\u0435\u0440\u0435\u0440\u044B\u0432\u043E\u0432 \u0432 \u043C\u0438\u043D\u0443\u0442\u0430\u0445"},longBreakInterval:{name:"\u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u0434\u043B\u0438\u043D\u043D\u043E\u0433\u043E \u043F\u0435\u0440\u0435\u0440\u044B\u0432\u0430",description:"\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0440\u0430\u0431\u043E\u0447\u0438\u0445 \u0441\u0435\u0441\u0441\u0438\u0439 \u043F\u0435\u0440\u0435\u0434 \u0434\u043B\u0438\u043D\u043D\u044B\u043C \u043F\u0435\u0440\u0435\u0440\u044B\u0432\u043E\u043C"},autoStartBreaks:{name:"\u0410\u0432\u0442\u043E\u0437\u0430\u043F\u0443\u0441\u043A \u043F\u0435\u0440\u0435\u0440\u044B\u0432\u043E\u0432",description:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0437\u0430\u043F\u0443\u0441\u043A\u0430\u0442\u044C \u0442\u0430\u0439\u043C\u0435\u0440\u044B \u043F\u0435\u0440\u0435\u0440\u044B\u0432\u043E\u0432 \u043F\u043E\u0441\u043B\u0435 \u0440\u0430\u0431\u043E\u0447\u0438\u0445 \u0441\u0435\u0441\u0441\u0438\u0439"},autoStartWork:{name:"\u0410\u0432\u0442\u043E\u0437\u0430\u043F\u0443\u0441\u043A \u0440\u0430\u0431\u043E\u0442\u044B",description:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0437\u0430\u043F\u0443\u0441\u043A\u0430\u0442\u044C \u0440\u0430\u0431\u043E\u0447\u0438\u0435 \u0441\u0435\u0441\u0441\u0438\u0438 \u043F\u043E\u0441\u043B\u0435 \u043F\u0435\u0440\u0435\u0440\u044B\u0432\u043E\u0432"},notifications:{name:"\u0423\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F \u043F\u043E\u043C\u043E\u0434\u043E\u0440\u043E",description:"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F \u043F\u0440\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u0438 \u0441\u0435\u0441\u0441\u0438\u0439 \u043F\u043E\u043C\u043E\u0434\u043E\u0440\u043E"},mobileSidebar:{name:"\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u0430\u044F \u0431\u043E\u043A\u043E\u0432\u0430\u044F \u043F\u0430\u043D\u0435\u043B\u044C",description:"\u0413\u0434\u0435 \u043E\u0442\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u0442\u0430\u0439\u043C\u0435\u0440 \u043F\u043E\u043C\u043E\u0434\u043E\u0440\u043E \u043D\u0430 \u043C\u043E\u0431\u0438\u043B\u044C\u043D\u044B\u0445 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430\u0445",tab:"\u041F\u0430\u043D\u0435\u043B\u044C \u0437\u0430\u043C\u0435\u0442\u043E\u043A",left:"\u041B\u0435\u0432\u0430\u044F \u0431\u043E\u043A\u043E\u0432\u0430\u044F \u043F\u0430\u043D\u0435\u043B\u044C",right:"\u041F\u0440\u0430\u0432\u0430\u044F \u0431\u043E\u043A\u043E\u0432\u0430\u044F \u043F\u0430\u043D\u0435\u043B\u044C"}},uiLanguage:{header:"\u042F\u0437\u044B\u043A \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430",description:"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u044F\u0437\u044B\u043A \u043C\u0435\u043D\u044E, \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u0439 \u0438 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0439 TaskNotes.",dropdown:{name:"\u042F\u0437\u044B\u043A \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430",description:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u044F\u0437\u044B\u043A, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u044B\u0439 \u0434\u043B\u044F \u0442\u0435\u043A\u0441\u0442\u0430 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 TaskNotes"}},pomodoroSound:{enabledName:"\u0417\u0432\u0443\u043A \u0432\u043A\u043B\u044E\u0447\u0435\u043D",enabledDesc:"\u0412\u043E\u0441\u043F\u0440\u043E\u0438\u0437\u0432\u043E\u0434\u0438\u0442\u044C \u0437\u0432\u0443\u043A \u043F\u0440\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u0438 \u0441\u0435\u0441\u0441\u0438\u0439 \u043F\u043E\u043C\u043E\u0434\u043E\u0440\u043E",volumeName:"\u0413\u0440\u043E\u043C\u043A\u043E\u0441\u0442\u044C \u0437\u0432\u0443\u043A\u0430",volumeDesc:"\u0413\u0440\u043E\u043C\u043A\u043E\u0441\u0442\u044C \u0437\u0432\u0443\u043A\u043E\u0432 \u043F\u043E\u043C\u043E\u0434\u043E\u0440\u043E (0-100)"},dataStorage:{name:"\u0425\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0435 \u0434\u0430\u043D\u043D\u044B\u0445 \u043F\u043E\u043C\u043E\u0434\u043E\u0440\u043E",description:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u043C\u0435\u0441\u0442\u0430 \u0445\u0440\u0430\u043D\u0435\u043D\u0438\u044F \u0434\u0430\u043D\u043D\u044B\u0445 \u0441\u0435\u0430\u043D\u0441\u043E\u0432 Pomodoro \u0438 \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u0438\u043C\u0438.",dailyNotes:"\u0415\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u044B\u0435 \u0437\u0430\u043C\u0435\u0442\u043A\u0438",pluginData:"\u0414\u0430\u043D\u043D\u044B\u0435 \u043F\u043B\u0430\u0433\u0438\u043D\u0430",notices:{locationChanged:"\u041C\u0435\u0441\u0442\u043E\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0430 Pomodoro \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u043E \u043D\u0430 {location}"}},notifications:{header:"\u0423\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F",description:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u0439 \u043E \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u044F\u0445 \u0437\u0430\u0434\u0430\u0447 \u0438 \u043E\u043F\u043E\u0432\u0435\u0449\u0435\u043D\u0438\u0439.",enableName:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F",enableDesc:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F \u043E \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u044F\u0445 \u0437\u0430\u0434\u0430\u0447",typeName:"\u0422\u0438\u043F \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u0439",typeDesc:"\u0422\u0438\u043F \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u043C\u044B\u0445 \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u0439",systemLabel:"\u0421\u0438\u0441\u0442\u0435\u043C\u043D\u044B\u0435 \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F",inAppLabel:"\u0423\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F \u0432 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438"},overdue:{hideCompletedName:"\u0421\u043A\u0440\u044B\u0442\u044C \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043D\u044B\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0438\u0437 \u043F\u0440\u043E\u0441\u0440\u043E\u0447\u0435\u043D\u043D\u044B\u0445",hideCompletedDesc:"\u0418\u0441\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043D\u044B\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0438\u0437 \u0440\u0430\u0441\u0447\u0435\u0442\u043E\u0432 \u043F\u0440\u043E\u0441\u0440\u043E\u0447\u0435\u043D\u043D\u044B\u0445 \u0437\u0430\u0434\u0430\u0447"},indexing:{disableName:"\u041E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0438\u043D\u0434\u0435\u043A\u0441\u0430\u0446\u0438\u044E \u0437\u0430\u043C\u0435\u0442\u043E\u043A",disableDesc:"\u041E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0443\u044E \u0438\u043D\u0434\u0435\u043A\u0441\u0430\u0446\u0438\u044E \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0433\u043E \u0437\u0430\u043C\u0435\u0442\u043E\u043A \u0434\u043B\u044F \u043B\u0443\u0447\u0448\u0435\u0439 \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u0438"},suggestions:{debounceName:"\u0417\u0430\u0434\u0435\u0440\u0436\u043A\u0430 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439",debounceDesc:"\u0417\u0430\u0434\u0435\u0440\u0436\u043A\u0430 \u0432 \u043C\u0438\u043B\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434\u0430\u0445 \u043F\u0435\u0440\u0435\u0434 \u043F\u043E\u043A\u0430\u0437\u043E\u043C \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439"},timeTracking:{autoStopName:"\u0410\u0432\u0442\u043E\u043E\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0430 \u043E\u0442\u0441\u043B\u0435\u0436\u0438\u0432\u0430\u043D\u0438\u044F \u0432\u0440\u0435\u043C\u0435\u043D\u0438",autoStopDesc:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u043E\u0441\u0442\u0430\u043D\u0430\u0432\u043B\u0438\u0432\u0430\u0442\u044C \u043E\u0442\u0441\u043B\u0435\u0436\u0438\u0432\u0430\u043D\u0438\u0435 \u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u043F\u0440\u0438 \u043E\u0442\u043C\u0435\u0442\u043A\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u043A\u0430\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u043D\u043E\u0439",stopNotificationName:"\u0423\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u0435 \u043E\u0431 \u043E\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0435 \u043E\u0442\u0441\u043B\u0435\u0436\u0438\u0432\u0430\u043D\u0438\u044F \u0432\u0440\u0435\u043C\u0435\u043D\u0438",stopNotificationDesc:"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u0435 \u043F\u0440\u0438 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0439 \u043E\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0435 \u043E\u0442\u0441\u043B\u0435\u0436\u0438\u0432\u0430\u043D\u0438\u044F \u0432\u0440\u0435\u043C\u0435\u043D\u0438"},recurring:{maintainOffsetName:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0441\u043C\u0435\u0449\u0435\u043D\u0438\u0435 \u0441\u0440\u043E\u043A\u0430 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u0432 \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0438\u0445\u0441\u044F \u0437\u0430\u0434\u0430\u0447\u0430\u0445",maintainOffsetDesc:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0441\u043C\u0435\u0449\u0435\u043D\u0438\u0435 \u043C\u0435\u0436\u0434\u0443 \u0441\u0440\u043E\u043A\u043E\u043C \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u0438 \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0439 \u0434\u0430\u0442\u043E\u0439 \u043F\u0440\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u0438 \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0438\u0445\u0441\u044F \u0437\u0430\u0434\u0430\u0447",resetCheckboxesName:"\u0421\u0431\u0440\u0430\u0441\u044B\u0432\u0430\u0442\u044C \u0444\u043B\u0430\u0436\u043A\u0438 \u043F\u0440\u0438 \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0438",resetCheckboxesDesc:"\u0421\u0431\u0440\u0430\u0441\u044B\u0432\u0430\u0442\u044C \u0432\u0441\u0435 \u0444\u043B\u0430\u0436\u043A\u0438 markdown \u0432 \u0442\u0435\u043B\u0435 \u0437\u0430\u0434\u0430\u0447\u0438, \u043A\u043E\u0433\u0434\u0430 \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0430\u044F\u0441\u044F \u0437\u0430\u0434\u0430\u0447\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0430 \u0438 \u043F\u0435\u0440\u0435\u043D\u0435\u0441\u0435\u043D\u0430"},timeblocking:{header:"\u0411\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u043A\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u0438",description:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435 \u0444\u0443\u043D\u043A\u0446\u0438\u043E\u043D\u0430\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0445 \u0431\u043B\u043E\u043A\u043E\u0432 \u0434\u043B\u044F \u043B\u0435\u0433\u043A\u043E\u0433\u043E \u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0432 \u0435\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u044B\u0445 \u0437\u0430\u043C\u0435\u0442\u043A\u0430\u0445. \u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0432 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u0445 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F \u0434\u043B\u044F \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F \u0441\u043E\u0431\u044B\u0442\u0438\u0439 - \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 'Timeblock' \u0438\u0437 \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E\u0433\u043E \u043C\u0435\u043D\u044E.",enableName:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u043A\u0443 \u0432\u0440\u0435\u043C\u0435\u043D\u0438",enableDesc:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0444\u0443\u043D\u043A\u0446\u0438\u043E\u043D\u0430\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0445 \u0431\u043B\u043E\u043A\u043E\u0432 \u0434\u043B\u044F \u043B\u0435\u0433\u043A\u043E\u0433\u043E \u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0432 \u0435\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u044B\u0445 \u0437\u0430\u043C\u0435\u0442\u043A\u0430\u0445. \u041A\u043E\u0433\u0434\u0430 \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u043E, \u043E\u043F\u0446\u0438\u044F 'Timeblock' \u043F\u043E\u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u0432 \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E\u043C \u043C\u0435\u043D\u044E \u043F\u0435\u0440\u0435\u0442\u0430\u0441\u043A\u0438\u0432\u0430\u043D\u0438\u044F \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F.",showBlocksName:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0435 \u0431\u043B\u043E\u043A\u0438",showBlocksDesc:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0435 \u0431\u043B\u043E\u043A\u0438 \u0438\u0437 \u0435\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u044B\u0445 \u0437\u0430\u043C\u0435\u0442\u043E\u043A \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",defaultColorName:"\u0426\u0432\u0435\u0442 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0445 \u0431\u043B\u043E\u043A\u043E\u0432 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",defaultColorDesc:"\u0426\u0432\u0435\u0442 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u044B\u0439 \u043F\u0440\u0438 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0438 \u043D\u043E\u0432\u044B\u0445 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0445 \u0431\u043B\u043E\u043A\u043E\u0432",usage:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435: \u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0432 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0435 \u0434\u043B\u044F \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F \u0441\u043E\u0431\u044B\u0442\u0438\u0439. \u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 'Timeblock' \u0438\u0437 \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E\u0433\u043E \u043C\u0435\u043D\u044E (\u0432\u0438\u0434\u043D\u043E \u0442\u043E\u043B\u044C\u043A\u043E \u043A\u043E\u0433\u0434\u0430 \u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u043A\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u0430). \u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u044F \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0445 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0445 \u0431\u043B\u043E\u043A\u043E\u0432. \u0418\u0437\u043C\u0435\u043D\u0438\u0442\u0435 \u0440\u0430\u0437\u043C\u0435\u0440 \u043A\u0440\u0430\u0435\u0432 \u0434\u043B\u044F \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0434\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u0438."},performance:{header:"\u041F\u0440\u043E\u0438\u0437\u0432\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u0438 \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0435",description:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u0438 \u043F\u043B\u0430\u0433\u0438\u043D\u0430 \u0438 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u0432 \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u044F."},timeTrackingSection:{header:"\u041E\u0442\u0441\u043B\u0435\u0436\u0438\u0432\u0430\u043D\u0438\u0435 \u0432\u0440\u0435\u043C\u0435\u043D\u0438",description:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u043E\u0442\u0441\u043B\u0435\u0436\u0438\u0432\u0430\u043D\u0438\u044F \u0432\u0440\u0435\u043C\u0435\u043D\u0438."},recurringSection:{header:"\u041F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0438\u0435\u0441\u044F \u0437\u0430\u0434\u0430\u0447\u0438",description:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u044F \u0434\u043B\u044F \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0438\u043C\u0438\u0441\u044F \u0437\u0430\u0434\u0430\u0447\u0430\u043C\u0438."},debugLogging:{header:"\u041E\u0442\u043B\u0430\u0434\u043E\u0447\u043D\u043E\u0435 \u0436\u0443\u0440\u043D\u0430\u043B\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435",description:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435 \u0432\u044B\u0432\u043E\u0434 \u043E\u0442\u043B\u0430\u0434\u043E\u0447\u043D\u043E\u0433\u043E \u043B\u043E\u0433\u0430 \u0434\u043B\u044F \u0443\u0441\u0442\u0440\u0430\u043D\u0435\u043D\u0438\u044F \u043D\u0435\u043F\u043E\u043B\u0430\u0434\u043E\u043A.",enableName:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043E\u0442\u043B\u0430\u0434\u043E\u0447\u043D\u043E\u0435 \u0432\u0435\u0434\u0435\u043D\u0438\u0435 \u0436\u0443\u0440\u043D\u0430\u043B\u0430",enableDesc:"\u0417\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0442\u044C \u043F\u043E\u0434\u0440\u043E\u0431\u043D\u0443\u044E \u0434\u0438\u0430\u0433\u043D\u043E\u0441\u0442\u0438\u043A\u0443 \u043F\u0435\u0440\u0435\u0442\u0430\u0441\u043A\u0438\u0432\u0430\u043D\u0438\u044F \u0438 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u0432 \u043A\u043E\u043D\u0441\u043E\u043B\u044C \u0440\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u0447\u0438\u043A\u0430. \u041F\u043E\u043B\u0435\u0437\u043D\u043E \u0434\u043B\u044F \u0443\u0441\u0442\u0440\u0430\u043D\u0435\u043D\u0438\u044F \u043D\u0435\u043F\u043E\u043B\u0430\u0434\u043E\u043A."}},defaults:{header:{basicDefaults:"\u041E\u0441\u043D\u043E\u0432\u043D\u044B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",dateDefaults:"\u0414\u0430\u0442\u044B \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",defaultReminders:"\u041D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u044F \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",bodyTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u0442\u0435\u043B\u0430",instantTaskConversion:"\u041C\u0433\u043D\u043E\u0432\u0435\u043D\u043D\u043E\u0435 \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u0435 \u0437\u0430\u0434\u0430\u0447"},description:{basicDefaults:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u0434\u043B\u044F \u043D\u043E\u0432\u044B\u0445 \u0437\u0430\u0434\u0430\u0447, \u0447\u0442\u043E\u0431\u044B \u0443\u0441\u043A\u043E\u0440\u0438\u0442\u044C \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0435 \u0437\u0430\u0434\u0430\u0447.",dateDefaults:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435 \u0441\u0440\u043E\u043A\u0438 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u0438 \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0434\u0430\u0442\u044B \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u0434\u043B\u044F \u043D\u043E\u0432\u044B\u0445 \u0437\u0430\u0434\u0430\u0447.",defaultReminders:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435 \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u044F \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0431\u0443\u0434\u0443\u0442 \u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0442\u044C\u0441\u044F \u043A \u043D\u043E\u0432\u044B\u043C \u0437\u0430\u0434\u0430\u0447\u0430\u043C.",bodyTemplate:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435 \u0444\u0430\u0439\u043B \u0448\u0430\u0431\u043B\u043E\u043D\u0430 \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u0432 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u043C \u043D\u043E\u0432\u044B\u0445 \u0437\u0430\u0434\u0430\u0447.",instantTaskConversion:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435 \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0435 \u043F\u0440\u0438 \u043C\u0433\u043D\u043E\u0432\u0435\u043D\u043D\u043E\u043C \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u0438 \u0442\u0435\u043A\u0441\u0442\u0430 \u0432 \u0437\u0430\u0434\u0430\u0447\u0438."},basicDefaults:{defaultStatus:{name:"\u0421\u0442\u0430\u0442\u0443\u0441 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",description:"\u0421\u0442\u0430\u0442\u0443\u0441 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u0434\u043B\u044F \u043D\u043E\u0432\u044B\u0445 \u0437\u0430\u0434\u0430\u0447"},defaultPriority:{name:"\u041F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",description:"\u041F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u0434\u043B\u044F \u043D\u043E\u0432\u044B\u0445 \u0437\u0430\u0434\u0430\u0447"},defaultContexts:{name:"\u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u044B \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",description:"\u0421\u043F\u0438\u0441\u043E\u043A \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043E\u0432 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043F\u044F\u0442\u0443\u044E (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, @\u0434\u043E\u043C, @\u0440\u0430\u0431\u043E\u0442\u0430)",placeholder:"@\u0434\u043E\u043C, @\u0440\u0430\u0431\u043E\u0442\u0430"},defaultTags:{name:"\u0422\u0435\u0433\u0438 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",description:"\u0421\u043F\u0438\u0441\u043E\u043A \u0442\u0435\u0433\u043E\u0432 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043F\u044F\u0442\u0443\u044E (\u0431\u0435\u0437 #)",placeholder:"\u0432\u0430\u0436\u043D\u044B\u0439, \u0441\u0440\u043E\u0447\u043D\u044B\u0439"},defaultProjects:{name:"\u041F\u0440\u043E\u0435\u043A\u0442\u044B \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",description:"\u0421\u0441\u044B\u043B\u043A\u0438 \u043D\u0430 \u043F\u0440\u043E\u0435\u043A\u0442\u044B \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u0434\u043B\u044F \u043D\u043E\u0432\u044B\u0445 \u0437\u0430\u0434\u0430\u0447",selectButton:"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u043F\u0440\u043E\u0435\u043A\u0442\u044B",selectTooltip:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0437\u0430\u043C\u0435\u0442\u043A\u0438 \u043F\u0440\u043E\u0435\u043A\u0442\u043E\u0432 \u0434\u043B\u044F \u0441\u0432\u044F\u0437\u044B\u0432\u0430\u043D\u0438\u044F \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",removeTooltip:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C {name} \u0438\u0437 \u043F\u0440\u043E\u0435\u043A\u0442\u043E\u0432 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E"},useParentNoteAsProject:{name:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u0441\u043A\u0443\u044E \u0437\u0430\u043C\u0435\u0442\u043A\u0443 \u043A\u0430\u043A \u043F\u0440\u043E\u0435\u043A\u0442 \u043F\u0440\u0438 \u043C\u0433\u043D\u043E\u0432\u0435\u043D\u043D\u043E\u043C \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u0438",description:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0441\u0432\u044F\u0437\u044B\u0432\u0430\u0442\u044C \u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u0441\u043A\u0443\u044E \u0437\u0430\u043C\u0435\u0442\u043A\u0443 \u043A\u0430\u043A \u043F\u0440\u043E\u0435\u043A\u0442 \u043F\u0440\u0438 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0438 \u043C\u0433\u043D\u043E\u0432\u0435\u043D\u043D\u043E\u0433\u043E \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u0437\u0430\u0434\u0430\u0447"},defaultTimeEstimate:{name:"\u041E\u0446\u0435\u043D\u043A\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",description:"\u041E\u0446\u0435\u043D\u043A\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u0432 \u043C\u0438\u043D\u0443\u0442\u0430\u0445 (0 = \u0431\u0435\u0437 \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044F)",placeholder:"60"},defaultRecurrence:{name:"\u041F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0435 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",description:"\u0428\u0430\u0431\u043B\u043E\u043D \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u044F \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u0434\u043B\u044F \u043D\u043E\u0432\u044B\u0445 \u0437\u0430\u0434\u0430\u0447"}},dateDefaults:{defaultDueDate:{name:"\u0421\u0440\u043E\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",description:"\u0421\u0440\u043E\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u0434\u043B\u044F \u043D\u043E\u0432\u044B\u0445 \u0437\u0430\u0434\u0430\u0447"},defaultScheduledDate:{name:"\u0417\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0430\u044F \u0434\u0430\u0442\u0430 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",description:"\u0417\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0430\u044F \u0434\u0430\u0442\u0430 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u0434\u043B\u044F \u043D\u043E\u0432\u044B\u0445 \u0437\u0430\u0434\u0430\u0447"}},reminders:{addReminder:{name:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u0435 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",description:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043D\u043E\u0432\u043E\u0435 \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u0435 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E, \u043A\u043E\u0442\u043E\u0440\u043E\u0435 \u0431\u0443\u0434\u0435\u0442 \u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0442\u044C\u0441\u044F \u043A\u043E \u0432\u0441\u0435\u043C \u043D\u043E\u0432\u044B\u043C \u0437\u0430\u0434\u0430\u0447\u0430\u043C",buttonText:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u0435"},emptyState:"\u041D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u044F \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u043D\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D\u044B. \u0414\u043E\u0431\u0430\u0432\u044C\u0442\u0435 \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u0435 \u0434\u043B\u044F \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F \u043E \u043D\u043E\u0432\u044B\u0445 \u0437\u0430\u0434\u0430\u0447\u0430\u0445.",emptyStateButton:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u0435",reminderDescription:"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u044F",unnamedReminder:"\u0411\u0435\u0437\u044B\u043C\u044F\u043D\u043D\u043E\u0435 \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u0435",deleteTooltip:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u0435",fields:{description:"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435:",type:"\u0422\u0438\u043F:",offset:"\u0421\u043C\u0435\u0449\u0435\u043D\u0438\u0435:",unit:"\u0415\u0434\u0438\u043D\u0438\u0446\u0430:",direction:"\u041D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435:",relatedTo:"\u041E\u0442\u043D\u043E\u0441\u0438\u0442\u0435\u043B\u044C\u043D\u043E:",date:"\u0414\u0430\u0442\u0430:",time:"\u0412\u0440\u0435\u043C\u044F:"},types:{relative:"\u041E\u0442\u043D\u043E\u0441\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0435 (\u0434\u043E/\u043F\u043E\u0441\u043B\u0435 \u0434\u0430\u0442 \u0437\u0430\u0434\u0430\u0447)",absolute:"\u0410\u0431\u0441\u043E\u043B\u044E\u0442\u043D\u043E\u0435 (\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0430\u044F \u0434\u0430\u0442\u0430/\u0432\u0440\u0435\u043C\u044F)"},units:{minutes:"\u043C\u0438\u043D\u0443\u0442\u044B",hours:"\u0447\u0430\u0441\u044B",days:"\u0434\u043D\u0438"},directions:{before:"\u0434\u043E",after:"\u043F\u043E\u0441\u043B\u0435"},relatedTo:{due:"\u0441\u0440\u043E\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F",scheduled:"\u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0430\u044F \u0434\u0430\u0442\u0430"}},bodyTemplate:{useBodyTemplate:{name:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0448\u0430\u0431\u043B\u043E\u043D \u0442\u0435\u043B\u0430",description:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0444\u0430\u0439\u043B \u0448\u0430\u0431\u043B\u043E\u043D\u0430 \u0434\u043B\u044F \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0433\u043E \u0442\u0435\u043B\u0430 \u0437\u0430\u0434\u0430\u0447\u0438"},bodyTemplateFile:{name:"\u0424\u0430\u0439\u043B \u0448\u0430\u0431\u043B\u043E\u043D\u0430 \u0442\u0435\u043B\u0430",description:"\u041F\u0443\u0442\u044C \u043A \u0444\u0430\u0439\u043B\u0443 \u0448\u0430\u0431\u043B\u043E\u043D\u0430 \u0434\u043B\u044F \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0433\u043E \u0442\u0435\u043B\u0430 \u0437\u0430\u0434\u0430\u0447\u0438. \u041F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0435 \u0448\u0430\u0431\u043B\u043E\u043D\u0430, \u0442\u0430\u043A\u0438\u0435 \u043A\u0430\u043A {{title}}, {{date}}, {{time}}, {{priority}}, {{status}} \u0438 \u0442.\u0434.",placeholder:"\u0428\u0430\u0431\u043B\u043E\u043D\u044B/\u0428\u0430\u0431\u043B\u043E\u043D \u0437\u0430\u0434\u0430\u0447\u0438.md",ariaLabel:"\u041F\u0443\u0442\u044C \u043A \u0444\u0430\u0439\u043B\u0443 \u0448\u0430\u0431\u043B\u043E\u043D\u0430 \u0442\u0435\u043B\u0430"},variablesHeader:"\u041F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0435 \u0448\u0430\u0431\u043B\u043E\u043D\u0430:",variables:{title:"{{title}} - \u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438",details:"{{details}} - \u0414\u0435\u0442\u0430\u043B\u0438, \u043F\u0440\u0435\u0434\u043E\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u043D\u044B\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0435\u043C \u0438\u0437 \u043C\u043E\u0434\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u043E\u043A\u043D\u0430",date:"{{date}} - \u0422\u0435\u043A\u0443\u0449\u0430\u044F \u0434\u0430\u0442\u0430 (\u0413\u0413\u0413\u0413-\u041C\u041C-\u0414\u0414)",time:"{{time}} - \u0422\u0435\u043A\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043C\u044F (\u0427\u0427:\u041C\u041C)",priority:"{{priority}} - \u041F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442 \u0437\u0430\u0434\u0430\u0447\u0438",status:"{{status}} - \u0421\u0442\u0430\u0442\u0443\u0441 \u0437\u0430\u0434\u0430\u0447\u0438",contexts:"{{contexts}} - \u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u044B \u0437\u0430\u0434\u0430\u0447\u0438",tags:"{{tags}} - \u0422\u0435\u0433\u0438 \u0437\u0430\u0434\u0430\u0447\u0438",projects:"{{projects}} - \u041F\u0440\u043E\u0435\u043A\u0442\u044B \u0437\u0430\u0434\u0430\u0447\u0438"}},instantConversion:{useDefaultsOnInstantConvert:{name:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u043F\u0440\u0438 \u043C\u0433\u043D\u043E\u0432\u0435\u043D\u043D\u043E\u043C \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u0438",description:"\u041F\u0440\u0438\u043C\u0435\u043D\u044F\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0437\u0430\u0434\u0430\u0447 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u043F\u0440\u0438 \u043C\u0433\u043D\u043E\u0432\u0435\u043D\u043D\u043E\u043C \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u0438 \u0442\u0435\u043A\u0441\u0442\u0430 \u0432 \u0437\u0430\u0434\u0430\u0447\u0438"}},options:{noDefault:"\u0411\u0435\u0437 \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044F",none:"\u041D\u0435\u0442",today:"\u0421\u0435\u0433\u043E\u0434\u043D\u044F",tomorrow:"\u0417\u0430\u0432\u0442\u0440\u0430",nextWeek:"\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0430\u044F \u043D\u0435\u0434\u0435\u043B\u044F",daily:"\u0415\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u043E",weekly:"\u0415\u0436\u0435\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u043E",monthly:"\u0415\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u043E",yearly:"\u0415\u0436\u0435\u0433\u043E\u0434\u043D\u043E"}},general:{taskStorage:{header:"\u0425\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0435 \u0437\u0430\u0434\u0430\u0447",description:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435, \u0433\u0434\u0435 \u0445\u0440\u0430\u043D\u044F\u0442\u0441\u044F \u0437\u0430\u0434\u0430\u0447\u0438 \u0438 \u043A\u0430\u043A \u043E\u043D\u0438 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u044E\u0442\u0441\u044F.",defaultFolder:{name:"\u041F\u0430\u043F\u043A\u0430 \u0437\u0430\u0434\u0430\u0447 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",description:"\u041C\u0435\u0441\u0442\u043E\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u0434\u043B\u044F \u043D\u043E\u0432\u044B\u0445 \u0437\u0430\u0434\u0430\u0447"},moveArchived:{name:"\u041F\u0435\u0440\u0435\u043C\u0435\u0449\u0430\u0442\u044C \u0430\u0440\u0445\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0432 \u043F\u0430\u043F\u043A\u0443",description:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0430\u0442\u044C \u0430\u0440\u0445\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0432 \u043F\u0430\u043F\u043A\u0443 \u0430\u0440\u0445\u0438\u0432\u0430"},archiveFolder:{name:"\u041F\u0430\u043F\u043A\u0430 \u0430\u0440\u0445\u0438\u0432\u0430",description:"\u041F\u0430\u043F\u043A\u0430 \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u044F \u0437\u0430\u0434\u0430\u0447 \u043F\u0440\u0438 \u0430\u0440\u0445\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0438"}},taskIdentification:{header:"\u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u044F \u0437\u0430\u0434\u0430\u0447",description:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435, \u043A\u0430\u043A TaskNotes \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u0442 \u0437\u0430\u043C\u0435\u0442\u043A\u0438 \u043A\u0430\u043A \u0437\u0430\u0434\u0430\u0447\u0438.",identifyBy:{name:"\u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0438 \u043F\u043E",description:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435, \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043B\u0438 \u0437\u0430\u0434\u0430\u0447\u0438 \u043F\u043E \u0442\u0435\u0433\u0443 \u0438\u043B\u0438 \u043F\u043E \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0443 frontmatter",options:{tag:"\u0422\u0435\u0433",property:"\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u043E"}},taskTag:{name:"\u0422\u0435\u0433 \u0437\u0430\u0434\u0430\u0447\u0438",description:"\u0422\u0435\u0433, \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u0442 \u0437\u0430\u043C\u0435\u0442\u043A\u0438 \u043A\u0430\u043A \u0437\u0430\u0434\u0430\u0447\u0438 (\u0431\u0435\u0437 #)"},hideIdentifyingTags:{name:"\u0421\u043A\u0440\u044B\u0442\u044C \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0435 \u0442\u0435\u0433\u0438 \u0432 \u043A\u0430\u0440\u0442\u043E\u0447\u043A\u0430\u0445 \u0437\u0430\u0434\u0430\u0447",description:"\u041F\u0440\u0438 \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0438 \u0442\u0435\u0433\u0438, \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0435 \u0442\u0435\u0433\u0443 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u0438 \u0437\u0430\u0434\u0430\u0447\u0438 (\u0432\u043A\u043B\u044E\u0447\u0430\u044F \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0447\u0435\u0441\u043A\u0438\u0435 \u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u044F, \u0442\u0430\u043A\u0438\u0435 \u043A\u0430\u043A 'task/project'), \u0431\u0443\u0434\u0443\u0442 \u0441\u043A\u0440\u044B\u0442\u044B \u0432 \u043A\u0430\u0440\u0442\u043E\u0447\u043A\u0430\u0445 \u0437\u0430\u0434\u0430\u0447"},taskProperty:{name:"\u0418\u043C\u044F \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u0437\u0430\u0434\u0430\u0447\u0438",description:'\u0418\u043C\u044F \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430 frontmatter (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, "\u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044F")'},taskPropertyValue:{name:"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u0437\u0430\u0434\u0430\u0447\u0438",description:'\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435, \u043A\u043E\u0442\u043E\u0440\u043E\u0435 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u0442 \u0437\u0430\u043C\u0435\u0442\u043A\u0443 \u043A\u0430\u043A \u0437\u0430\u0434\u0430\u0447\u0443 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, "\u0437\u0430\u0434\u0430\u0447\u0430")'}},folderManagement:{header:"\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043F\u0430\u043F\u043A\u0430\u043C\u0438",excludedFolders:{name:"\u0418\u0441\u043A\u043B\u044E\u0447\u0435\u043D\u043D\u044B\u0435 \u043F\u0430\u043F\u043A\u0438",description:"\u0421\u043F\u0438\u0441\u043E\u043A \u043F\u0430\u043F\u043E\u043A \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043F\u044F\u0442\u0443\u044E \u0434\u043B\u044F \u0438\u0441\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F \u0438\u0437 \u0438\u043D\u0434\u0435\u043A\u0441\u0430\u0446\u0438\u0438 \u0437\u0430\u0434\u0430\u0447 \u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439 \u043F\u0440\u043E\u0435\u043A\u0442\u043E\u0432"}},frontmatter:{header:"Frontmatter",description:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u0444\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0441\u0441\u044B\u043B\u043E\u043A \u0432 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430\u0445 frontmatter.",useMarkdownLinks:{name:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0438 markdown \u0432\u043E frontmatter",description:"\u0413\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0438 markdown ([\u0442\u0435\u043A\u0441\u0442](\u043F\u0443\u0442\u044C)) \u0432\u043C\u0435\u0441\u0442\u043E \u0432\u0438\u043A\u0438\u0441\u0441\u044B\u043B\u043E\u043A ([[\u0441\u0441\u044B\u043B\u043A\u0430]]) \u0432 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430\u0445 frontmatter.\\n\\n\u26A0\uFE0F \u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u043F\u043B\u0430\u0433\u0438\u043D 'obsidian-frontmatter-markdown-links' \u0434\u043B\u044F \u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u043E\u0439 \u0440\u0430\u0431\u043E\u0442\u044B."}},taskInteraction:{header:"\u0412\u0437\u0430\u0438\u043C\u043E\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441 \u0437\u0430\u0434\u0430\u0447\u0430\u043C\u0438",description:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435 \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0435 \u043F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043D\u0430 \u0437\u0430\u0434\u0430\u0447\u0438.",singleClick:{name:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043E\u0434\u0438\u043D\u043E\u0447\u043D\u043E\u0433\u043E \u043D\u0430\u0436\u0430\u0442\u0438\u044F",description:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435, \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u043C\u043E\u0435 \u043F\u0440\u0438 \u043E\u0434\u0438\u043D\u043E\u0447\u043D\u043E\u043C \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043D\u0430 \u043A\u0430\u0440\u0442\u043E\u0447\u043A\u0443 \u0437\u0430\u0434\u0430\u0447\u0438"},doubleClick:{name:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0434\u0432\u043E\u0439\u043D\u043E\u0433\u043E \u043D\u0430\u0436\u0430\u0442\u0438\u044F",description:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435, \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u043C\u043E\u0435 \u043F\u0440\u0438 \u0434\u0432\u043E\u0439\u043D\u043E\u043C \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043D\u0430 \u043A\u0430\u0440\u0442\u043E\u0447\u043A\u0443 \u0437\u0430\u0434\u0430\u0447\u0438"},actions:{edit:"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0443",openNote:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0437\u0430\u043C\u0435\u0442\u043A\u0443",none:"\u041D\u0435\u0442 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F"}},releaseNotes:{header:"\u041F\u0440\u0438\u043C\u0435\u0447\u0430\u043D\u0438\u044F \u043A \u0432\u044B\u043F\u0443\u0441\u043A\u0443",description:"\u0422\u0435\u043A\u0443\u0449\u0430\u044F \u0432\u0435\u0440\u0441\u0438\u044F: {version}",showOnUpdate:{name:"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u043F\u0440\u0438\u043C\u0435\u0447\u0430\u043D\u0438\u044F \u043A \u0432\u044B\u043F\u0443\u0441\u043A\u0443 \u043F\u043E\u0441\u043B\u0435 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u044F",description:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u043E\u0442\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u043F\u0440\u0438\u043C\u0435\u0447\u0430\u043D\u0438\u044F \u043A \u0432\u044B\u043F\u0443\u0441\u043A\u0443 \u043F\u0440\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0438 TaskNotes \u0434\u043E \u043D\u043E\u0432\u043E\u0439 \u0432\u0435\u0440\u0441\u0438\u0438"},viewButton:{name:"\u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C \u043F\u0440\u0438\u043C\u0435\u0447\u0430\u043D\u0438\u044F \u043A \u0432\u044B\u043F\u0443\u0441\u043A\u0443",description:"\u0423\u0437\u043D\u0430\u0439\u0442\u0435, \u0447\u0442\u043E \u043D\u043E\u0432\u043E\u0433\u043E \u0432 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 TaskNotes",buttonText:"\u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C \u043F\u0440\u0438\u043C\u0435\u0447\u0430\u043D\u0438\u044F \u043A \u0432\u044B\u043F\u0443\u0441\u043A\u0443"}}},taskProperties:{sections:{coreProperties:"\u041E\u0441\u043D\u043E\u0432\u043D\u044B\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430",corePropertiesDesc:"\u0421\u0442\u0430\u0442\u0443\u0441 \u0438 \u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442 \u2014 \u044D\u0442\u043E \u043E\u0441\u043D\u043E\u0432\u043D\u044B\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430, \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u044E\u0449\u0438\u0435 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u0438 \u0432\u0430\u0436\u043D\u043E\u0441\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0438.",dateProperties:"\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u0434\u0430\u0442",datePropertiesDesc:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435 \u0441\u0440\u043E\u043A\u0438 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u0438 \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0434\u0430\u0442\u044B \u0437\u0430\u0434\u0430\u0447.",organizationProperties:"\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438",organizationPropertiesDesc:"\u041E\u0440\u0433\u0430\u043D\u0438\u0437\u0443\u0439\u0442\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043E\u0432, \u043F\u0440\u043E\u0435\u043A\u0442\u043E\u0432 \u0438 \u0442\u0435\u0433\u043E\u0432.",taskDetails:"\u0414\u0435\u0442\u0430\u043B\u0438 \u0437\u0430\u0434\u0430\u0447\u0438",taskDetailsDesc:"\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0434\u0435\u0442\u0430\u043B\u0438: \u043E\u0446\u0435\u043D\u043A\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u0438, \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u044F \u0438 \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u044F.",metadataProperties:"\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u043C\u0435\u0442\u0430\u0434\u0430\u043D\u043D\u044B\u0445",metadataPropertiesDesc:"\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u043C\u044B\u0435 \u0441\u0438\u0441\u0442\u0435\u043C\u043E\u0439 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u0434\u043B\u044F \u043E\u0442\u0441\u043B\u0435\u0436\u0438\u0432\u0430\u043D\u0438\u044F \u0438\u0441\u0442\u043E\u0440\u0438\u0438 \u0437\u0430\u0434\u0430\u0447.",featureProperties:"\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u0444\u0443\u043D\u043A\u0446\u0438\u0439",featurePropertiesDesc:"\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u0430, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u044B\u0435 \u0441\u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u043C\u0438 \u0444\u0443\u043D\u043A\u0446\u0438\u044F\u043C\u0438 TaskNotes, \u0442\u0430\u043A\u0438\u043C\u0438 \u043A\u0430\u043A \u0442\u0430\u0439\u043C\u0435\u0440 \u041F\u043E\u043C\u043E\u0434\u043E\u0440\u043E \u0438 \u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0430\u0446\u0438\u044F \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F."},propertyCard:{propertyKey:"\u041A\u043B\u044E\u0447 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430:",default:"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E:",nlpTrigger:"NLP-\u0442\u0440\u0438\u0433\u0433\u0435\u0440:",triggerChar:"\u0421\u0438\u043C\u0432\u043E\u043B-\u0442\u0440\u0438\u0433\u0433\u0435\u0440:",triggerEmpty:"\u0422\u0440\u0438\u0433\u0433\u0435\u0440 \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u043F\u0443\u0441\u0442\u044B\u043C",triggerTooLong:"\u0422\u0440\u0438\u0433\u0433\u0435\u0440 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0434\u043B\u0438\u043D\u043D\u044B\u0439 (\u043C\u0430\u043A\u0441. 10 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432)"},properties:{status:{name:"\u0421\u0442\u0430\u0442\u0443\u0441",description:"\u041E\u0442\u0441\u043B\u0435\u0436\u0438\u0432\u0430\u0435\u0442 \u0442\u0435\u043A\u0443\u0449\u0435\u0435 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, todo, \u0432 \u0440\u0430\u0431\u043E\u0442\u0435, \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u043E). \u0421\u0442\u0430\u0442\u0443\u0441 \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044F \u043B\u0438 \u0437\u0430\u0434\u0430\u0447\u0430 \u043A\u0430\u043A \u0437\u0430\u0432\u0435\u0440\u0448\u0451\u043D\u043D\u0430\u044F, \u0438 \u043C\u043E\u0436\u0435\u0442 \u0437\u0430\u043F\u0443\u0441\u043A\u0430\u0442\u044C \u0430\u0432\u0442\u043E\u0430\u0440\u0445\u0438\u0432\u0430\u0446\u0438\u044E."},priority:{name:"\u041F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442",description:"\u0423\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442 \u0432\u0430\u0436\u043D\u043E\u0441\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0438. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0434\u043B\u044F \u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0438 \u0438 \u0444\u0438\u043B\u044C\u0442\u0440\u0430\u0446\u0438\u0438. \u0417\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0441\u043E\u0440\u0442\u0438\u0440\u0443\u044E\u0442\u0441\u044F \u043F\u043E \u0430\u043B\u0444\u0430\u0432\u0438\u0442\u0443 \u0432 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u0445 Bases, \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u043F\u0440\u0435\u0444\u0438\u043A\u0441\u044B 1-, 2- \u0434\u043B\u044F \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u043F\u043E\u0440\u044F\u0434\u043A\u043E\u043C."},due:{name:"\u0421\u0440\u043E\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F",description:"\u041A\u0440\u0430\u0439\u043D\u0438\u0439 \u0441\u0440\u043E\u043A, \u043A \u043A\u043E\u0442\u043E\u0440\u043E\u043C\u0443 \u0437\u0430\u0434\u0430\u0447\u0430 \u0434\u043E\u043B\u0436\u043D\u0430 \u0431\u044B\u0442\u044C \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0430. \u0417\u0430\u0434\u0430\u0447\u0438 \u043F\u043E\u0441\u043B\u0435 \u0441\u0440\u043E\u043A\u0430 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u043A\u0430\u043A \u043F\u0440\u043E\u0441\u0440\u043E\u0447\u0435\u043D\u043D\u044B\u0435. \u0425\u0440\u0430\u043D\u0438\u0442\u0441\u044F \u043A\u0430\u043A \u0434\u0430\u0442\u0430 \u0432 frontmatter."},scheduled:{name:"\u0417\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0430\u044F \u0434\u0430\u0442\u0430",description:"\u041A\u043E\u0433\u0434\u0430 \u0432\u044B \u043F\u043B\u0430\u043D\u0438\u0440\u0443\u0435\u0442\u0435 \u0440\u0430\u0431\u043E\u0442\u0430\u0442\u044C \u043D\u0430\u0434 \u0437\u0430\u0434\u0430\u0447\u0435\u0439. \u0412 \u043E\u0442\u043B\u0438\u0447\u0438\u0435 \u043E\u0442 \u0441\u0440\u043E\u043A\u0430 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F, \u044D\u0442\u043E \u0432\u0440\u0435\u043C\u044F \u043D\u0430\u0447\u0430\u043B\u0430 \u0440\u0430\u0431\u043E\u0442\u044B. \u0417\u0430\u0434\u0430\u0447\u0438 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0435 \u0432 \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0443\u044E \u0434\u0430\u0442\u0443/\u0432\u0440\u0435\u043C\u044F."},contexts:{name:"\u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u044B",description:"\u041C\u0435\u0441\u0442\u0430 \u0438\u043B\u0438 \u0443\u0441\u043B\u043E\u0432\u0438\u044F, \u0433\u0434\u0435 \u0437\u0430\u0434\u0430\u0447\u0430 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0430 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, @\u0434\u043E\u043C, @\u043E\u0444\u0438\u0441, @\u0442\u0435\u043B\u0435\u0444\u043E\u043D). \u041F\u043E\u043B\u0435\u0437\u043D\u043E \u0434\u043B\u044F \u0444\u0438\u043B\u044C\u0442\u0440\u0430\u0446\u0438\u0438 \u0437\u0430\u0434\u0430\u0447 \u043F\u043E \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438. \u0425\u0440\u0430\u043D\u0438\u0442\u0441\u044F \u043A\u0430\u043A \u0441\u043F\u0438\u0441\u043E\u043A."},projects:{name:"\u041F\u0440\u043E\u0435\u043A\u0442\u044B",description:"\u0421\u0441\u044B\u043B\u043A\u0438 \u043D\u0430 \u0437\u0430\u043C\u0435\u0442\u043A\u0438 \u043F\u0440\u043E\u0435\u043A\u0442\u043E\u0432, \u043A \u043A\u043E\u0442\u043E\u0440\u044B\u043C \u043F\u0440\u0438\u043D\u0430\u0434\u043B\u0435\u0436\u0438\u0442 \u0437\u0430\u0434\u0430\u0447\u0430. \u0425\u0440\u0430\u043D\u0438\u0442\u0441\u044F \u043A\u0430\u043A \u0432\u0438\u043A\u0438\u0441\u0441\u044B\u043B\u043A\u0438 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, [[\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043F\u0440\u043E\u0435\u043A\u0442\u0430]]). \u0417\u0430\u0434\u0430\u0447\u0438 \u043C\u043E\u0433\u0443\u0442 \u043F\u0440\u0438\u043D\u0430\u0434\u043B\u0435\u0436\u0430\u0442\u044C \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u0438\u043C \u043F\u0440\u043E\u0435\u043A\u0442\u0430\u043C."},tags:{name:"\u0422\u0435\u0433\u0438",description:"\u041D\u0430\u0442\u0438\u0432\u043D\u044B\u0435 \u0442\u0435\u0433\u0438 Obsidian \u0434\u043B\u044F \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u0437\u0430\u0434\u0430\u0447. \u0425\u0440\u0430\u043D\u044F\u0442\u0441\u044F \u0432 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0435 tags frontmatter \u0438 \u0440\u0430\u0431\u043E\u0442\u0430\u044E\u0442 \u0441 \u0444\u0443\u043D\u043A\u0446\u0438\u044F\u043C\u0438 \u0442\u0435\u0433\u043E\u0432 Obsidian."},timeEstimate:{name:"\u041E\u0446\u0435\u043D\u043A\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u0438",description:"\u041F\u0440\u0435\u0434\u043F\u043E\u043B\u0430\u0433\u0430\u0435\u043C\u043E\u0435 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043C\u0438\u043D\u0443\u0442 \u0434\u043B\u044F \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u0437\u0430\u0434\u0430\u0447\u0438. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0434\u043B\u044F \u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u0438 \u043D\u0430\u0433\u0440\u0443\u0437\u043A\u0438. \u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044F \u043D\u0430 \u043A\u0430\u0440\u0442\u043E\u0447\u043A\u0430\u0445 \u0437\u0430\u0434\u0430\u0447 \u0438 \u0441\u043E\u0431\u044B\u0442\u0438\u044F\u0445 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F."},recurrence:{name:"\u041F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0435",description:"\u0428\u0430\u0431\u043B\u043E\u043D \u0434\u043B\u044F \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0438\u0445\u0441\u044F \u0437\u0430\u0434\u0430\u0447 (\u0435\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u043E, \u0435\u0436\u0435\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u043E, \u0435\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u043E, \u0435\u0436\u0435\u0433\u043E\u0434\u043D\u043E \u0438\u043B\u0438 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u0435 RRULE). \u041F\u0440\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u0438 \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0435\u0439\u0441\u044F \u0437\u0430\u0434\u0430\u0447\u0438 \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0430\u044F \u0434\u0430\u0442\u0430 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u043D\u0430 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0435 \u0432\u0445\u043E\u0436\u0434\u0435\u043D\u0438\u0435."},recurrenceAnchor:{name:"\u042F\u043A\u043E\u0440\u044C \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u044F",description:"\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442 \u0441\u043F\u043E\u0441\u043E\u0431 \u0432\u044B\u0447\u0438\u0441\u043B\u0435\u043D\u0438\u044F \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0433\u043E \u0432\u0445\u043E\u0436\u0434\u0435\u043D\u0438\u044F: 'scheduled' \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0443\u044E \u0434\u0430\u0442\u0443, 'completion' \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u0444\u0430\u043A\u0442\u0438\u0447\u0435\u0441\u043A\u0443\u044E \u0434\u0430\u0442\u0443 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F."},reminders:{name:"\u041D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u044F",description:"\u0423\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F, \u0441\u0440\u0430\u0431\u0430\u0442\u044B\u0432\u0430\u044E\u0449\u0438\u0435 \u043F\u0435\u0440\u0435\u0434 \u0441\u0440\u043E\u043A\u0430\u043C\u0438 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u0438\u043B\u0438 \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u043C\u0438 \u0434\u0430\u0442\u0430\u043C\u0438. \u0425\u0440\u0430\u043D\u0438\u0442\u0441\u044F \u043A\u0430\u043A \u0441\u043F\u0438\u0441\u043E\u043A \u043E\u0431\u044A\u0435\u043A\u0442\u043E\u0432 \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u0439 \u0441 \u0432\u0440\u0435\u043C\u0435\u043D\u0435\u043C \u0438 \u043E\u043F\u0446\u0438\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u043C \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435\u043C."},title:{name:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A",description:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438. \u041C\u043E\u0436\u0435\u0442 \u0445\u0440\u0430\u043D\u0438\u0442\u044C\u0441\u044F \u0432 frontmatter \u0438\u043B\u0438 \u0432 \u0438\u043C\u0435\u043D\u0438 \u0444\u0430\u0439\u043B\u0430 (\u043A\u043E\u0433\u0434\u0430 \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u043E \xAB\u0425\u0440\u0430\u043D\u0438\u0442\u044C \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A \u0432 \u0438\u043C\u0435\u043D\u0438 \u0444\u0430\u0439\u043B\u0430\xBB)."},dateCreated:{name:"\u0414\u0430\u0442\u0430 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F",description:"\u041C\u0435\u0442\u043A\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F \u0437\u0430\u0434\u0430\u0447\u0438. \u0423\u0441\u0442\u0430\u043D\u0430\u0432\u043B\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0438 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0434\u043B\u044F \u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0438 \u043F\u043E \u043F\u043E\u0440\u044F\u0434\u043A\u0443 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F."},dateModified:{name:"\u0414\u0430\u0442\u0430 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F",description:"\u041C\u0435\u0442\u043A\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0433\u043E \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0437\u0430\u0434\u0430\u0447\u0438. \u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u043F\u0440\u0438 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0438 \u043B\u044E\u0431\u043E\u0433\u043E \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u0437\u0430\u0434\u0430\u0447\u0438."},completedDate:{name:"\u0414\u0430\u0442\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F",description:"\u041C\u0435\u0442\u043A\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u0438, \u043A\u043E\u0433\u0434\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u0431\u044B\u043B\u0430 \u043E\u0442\u043C\u0435\u0447\u0435\u043D\u0430 \u043A\u0430\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u043D\u0430\u044F. \u0423\u0441\u0442\u0430\u043D\u0430\u0432\u043B\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u043F\u0440\u0438 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0438 \u0441\u0442\u0430\u0442\u0443\u0441\u0430 \u043D\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0451\u043D\u043D\u043E\u0435 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435."},archiveTag:{name:"\u0422\u0435\u0433 \u0430\u0440\u0445\u0438\u0432\u0430",description:"\u0422\u0435\u0433, \u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0435\u043C\u044B\u0439 \u043A \u0437\u0430\u0434\u0430\u0447\u0430\u043C \u043F\u0440\u0438 \u0430\u0440\u0445\u0438\u0432\u0430\u0446\u0438\u0438. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0434\u043B\u044F \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u0438 \u0430\u0440\u0445\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0445 \u0437\u0430\u0434\u0430\u0447 \u0438 \u043C\u043E\u0436\u0435\u0442 \u0437\u0430\u043F\u0443\u0441\u043A\u0430\u0442\u044C \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0435 \u0444\u0430\u0439\u043B\u043E\u0432 \u0432 \u043F\u0430\u043F\u043A\u0443 \u0430\u0440\u0445\u0438\u0432\u0430."},timeEntries:{name:"\u0417\u0430\u043F\u0438\u0441\u0438 \u0432\u0440\u0435\u043C\u0435\u043D\u0438",description:"\u0417\u0430\u043F\u0438\u0441\u0438 \u0441\u0435\u0430\u043D\u0441\u043E\u0432 \u0443\u0447\u0451\u0442\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u0434\u043B\u044F \u044D\u0442\u043E\u0439 \u0437\u0430\u0434\u0430\u0447\u0438. \u041A\u0430\u0436\u0434\u0430\u044F \u0437\u0430\u043F\u0438\u0441\u044C \u0445\u0440\u0430\u043D\u0438\u0442 \u043C\u0435\u0442\u043A\u0438 \u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u043D\u0430\u0447\u0430\u043B\u0430 \u0438 \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0434\u043B\u044F \u0440\u0430\u0441\u0447\u0451\u0442\u0430 \u043E\u0431\u0449\u0435\u0433\u043E \u0437\u0430\u0442\u0440\u0430\u0447\u0435\u043D\u043D\u043E\u0433\u043E \u0432\u0440\u0435\u043C\u0435\u043D\u0438."},completeInstances:{name:"\u0417\u0430\u0432\u0435\u0440\u0448\u0451\u043D\u043D\u044B\u0435 \u044D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440\u044B",description:"\u0418\u0441\u0442\u043E\u0440\u0438\u044F \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F \u0434\u043B\u044F \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0438\u0445\u0441\u044F \u0437\u0430\u0434\u0430\u0447. \u0425\u0440\u0430\u043D\u0438\u0442 \u0434\u0430\u0442\u044B \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F \u043A\u0430\u0436\u0434\u043E\u0433\u043E \u044D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440\u0430 \u0434\u043B\u044F \u043F\u0440\u0435\u0434\u043E\u0442\u0432\u0440\u0430\u0449\u0435\u043D\u0438\u044F \u0434\u0443\u0431\u043B\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F."},skippedInstances:{name:"\u041F\u0440\u043E\u043F\u0443\u0449\u0435\u043D\u043D\u044B\u0435 \u044D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440\u044B",description:"\u041F\u0440\u043E\u043F\u0443\u0449\u0435\u043D\u043D\u044B\u0435 \u0432\u0445\u043E\u0436\u0434\u0435\u043D\u0438\u044F \u0434\u043B\u044F \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0438\u0445\u0441\u044F \u0437\u0430\u0434\u0430\u0447. \u0425\u0440\u0430\u043D\u0438\u0442 \u0434\u0430\u0442\u044B \u044D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440\u043E\u0432, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0431\u044B\u043B\u0438 \u043F\u0440\u043E\u043F\u0443\u0449\u0435\u043D\u044B, \u0430 \u043D\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u044B."},blockedBy:{name:"\u0417\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u0430",description:"\u0421\u0441\u044B\u043B\u043A\u0438 \u043D\u0430 \u0437\u0430\u0434\u0430\u0447\u0438, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0434\u043E\u043B\u0436\u043D\u044B \u0431\u044B\u0442\u044C \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u044B \u0434\u043E \u044D\u0442\u043E\u0439. \u0425\u0440\u0430\u043D\u0438\u0442\u0441\u044F \u043A\u0430\u043A \u0432\u0438\u043A\u0438\u0441\u0441\u044B\u043B\u043A\u0438. \u0417\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442 \u0432\u0438\u0437\u0443\u0430\u043B\u044C\u043D\u044B\u0439 \u0438\u043D\u0434\u0438\u043A\u0430\u0442\u043E\u0440."},sortOrder:{name:"\u0420\u0443\u0447\u043D\u043E\u0439 \u043F\u043E\u0440\u044F\u0434\u043E\u043A",description:"\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u043E frontmatter, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u043E\u0435 \u0434\u043B\u044F \u0440\u0443\u0447\u043D\u043E\u0439 \u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0438 \u043F\u0435\u0440\u0435\u0442\u0430\u0441\u043A\u0438\u0432\u0430\u043D\u0438\u0435\u043C. \u0414\u043B\u044F \u0440\u0430\u0431\u043E\u0442\u044B \u043F\u0435\u0440\u0435\u0442\u0430\u0441\u043A\u0438\u0432\u0430\u043D\u0438\u044F \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u043E\u0442\u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u043E \u043F\u043E \u044D\u0442\u043E\u043C\u0443 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0443."},pomodoros:{name:"\u041F\u043E\u043C\u043E\u0434\u043E\u0440\u043E",description:"\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0437\u0430\u0432\u0435\u0440\u0448\u0451\u043D\u043D\u044B\u0445 \u0441\u0435\u0430\u043D\u0441\u043E\u0432 \u041F\u043E\u043C\u043E\u0434\u043E\u0440\u043E. \u041A\u043E\u0433\u0434\u0430 \u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435 \u0434\u0430\u043D\u043D\u044B\u0445 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E \u043D\u0430 \xAB\u0415\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u044B\u0435 \u0437\u0430\u043C\u0435\u0442\u043A\u0438\xBB, \u044D\u0442\u043E \u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0435\u0442\u0441\u044F \u0432 \u0435\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u044B\u0435 \u0437\u0430\u043C\u0435\u0442\u043A\u0438 \u0432\u043C\u0435\u0441\u0442\u043E \u0444\u0430\u0439\u043B\u043E\u0432 \u0437\u0430\u0434\u0430\u0447."},icsEventId:{name:"ID \u0441\u043E\u0431\u044B\u0442\u0438\u044F ICS",description:"\u0423\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u0439 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440, \u0441\u0432\u044F\u0437\u044B\u0432\u0430\u044E\u0449\u0438\u0439 \u0437\u0430\u043C\u0435\u0442\u043A\u0443 \u0441 \u0441\u043E\u0431\u044B\u0442\u0438\u0435\u043C \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F ICS. \u0414\u043E\u0431\u0430\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u043F\u0440\u0438 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0438 \u0437\u0430\u043C\u0435\u0442\u043E\u043A \u0438\u0437 \u0441\u043E\u0431\u044B\u0442\u0438\u0439 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F."},icsEventTag:{name:"\u0422\u0435\u0433 \u0441\u043E\u0431\u044B\u0442\u0438\u044F ICS",description:"\u0422\u0435\u0433, \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u044E\u0449\u0438\u0439 \u0437\u0430\u043C\u0435\u0442\u043A\u0438, \u0441\u043E\u0437\u0434\u0430\u043D\u043D\u044B\u0435 \u0438\u0437 \u0441\u043E\u0431\u044B\u0442\u0438\u0439 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F ICS. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0434\u043B\u044F \u043E\u0442\u043B\u0438\u0447\u0438\u044F \u0437\u0430\u043C\u0435\u0442\u043E\u043A, \u0441\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0445 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0451\u043C, \u043E\u0442 \u043E\u0431\u044B\u0447\u043D\u044B\u0445 \u0437\u0430\u0434\u0430\u0447."}},statusCard:{valuesHeader:"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0441\u0442\u0430\u0442\u0443\u0441\u0430"},priorityCard:{valuesHeader:"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442\u0430"},projectsCard:{defaultProjects:"\u041F\u0440\u043E\u0435\u043A\u0442\u044B \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E:",useParentNote:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u0441\u043A\u0443\u044E \u0437\u0430\u043C\u0435\u0442\u043A\u0443 \u043A\u0430\u043A \u043F\u0440\u043E\u0435\u043A\u0442:",noDefaultProjects:"\u041F\u0440\u043E\u0435\u043A\u0442\u044B \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u043D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u044B",autosuggestFilters:"\u0424\u0438\u043B\u044C\u0442\u0440\u044B \u0430\u0432\u0442\u043E\u043F\u043E\u0434\u0441\u043A\u0430\u0437\u043E\u043A",customizeDisplay:"\u041D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435",filtersOn:"\u0424\u0438\u043B\u044C\u0442\u0440\u044B \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u044B"},titleCard:{storeTitleInFilename:"\u0425\u0440\u0430\u043D\u0438\u0442\u044C \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A \u0432 \u0438\u043C\u0435\u043D\u0438 \u0444\u0430\u0439\u043B\u0430:",storedInFilename:"\u0425\u0440\u0430\u043D\u0438\u0442\u0441\u044F \u0432 \u0438\u043C\u0435\u043D\u0438 \u0444\u0430\u0439\u043B\u0430",filenameUpdatesWithTitle:"\u0418\u043C\u044F \u0444\u0430\u0439\u043B\u0430 \u0431\u0443\u0434\u0435\u0442 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u044F\u0442\u044C\u0441\u044F \u043F\u0440\u0438 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0438 \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043A\u0430 \u0437\u0430\u0434\u0430\u0447\u0438.",filenameFormat:"\u0424\u043E\u0440\u043C\u0430\u0442 \u0438\u043C\u0435\u043D\u0438 \u0444\u0430\u0439\u043B\u0430:",customTemplate:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0439 \u0448\u0430\u0431\u043B\u043E\u043D:",legacySyntaxWarning:"\u0421\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0441 \u0441 \u043E\u0434\u0438\u043D\u0430\u0440\u043D\u044B\u043C\u0438 \u0444\u0438\u0433\u0443\u0440\u043D\u044B\u043C\u0438 \u0441\u043A\u043E\u0431\u043A\u0430\u043C\u0438, \u0442\u0430\u043A\u043E\u0439 \u043A\u0430\u043A {title}, \u0443\u0441\u0442\u0430\u0440\u0435\u043B. \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0441 \u0441 \u0434\u0432\u043E\u0439\u043D\u044B\u043C\u0438 \u0444\u0438\u0433\u0443\u0440\u043D\u044B\u043C\u0438 \u0441\u043A\u043E\u0431\u043A\u0430\u043C\u0438 {{title}} \u0434\u043B\u044F \u0441\u043E\u0433\u043B\u0430\u0441\u043E\u0432\u0430\u043D\u043D\u043E\u0441\u0442\u0438 \u0441 \u0448\u0430\u0431\u043B\u043E\u043D\u0430\u043C\u0438 \u0442\u0435\u043B\u0430."},tagsCard:{nativeObsidianTags:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u043D\u0430\u0442\u0438\u0432\u043D\u044B\u0435 \u0442\u0435\u0433\u0438 Obsidian"},remindersCard:{defaultReminders:"\u041D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u044F \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E"},taskStatuses:{header:"\u0421\u0442\u0430\u0442\u0443\u0441\u044B \u0437\u0430\u0434\u0430\u0447",description:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435 \u0432\u0430\u0440\u0438\u0430\u043D\u0442\u044B \u0441\u0442\u0430\u0442\u0443\u0441\u043E\u0432, \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0434\u043B\u044F \u0432\u0430\u0448\u0438\u0445 \u0437\u0430\u0434\u0430\u0447. \u042D\u0442\u0438 \u0441\u0442\u0430\u0442\u0443\u0441\u044B \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u0438\u0440\u0443\u044E\u0442 \u0436\u0438\u0437\u043D\u0435\u043D\u043D\u044B\u0439 \u0446\u0438\u043A\u043B \u0437\u0430\u0434\u0430\u0447 \u0438 \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u044E\u0442, \u043A\u043E\u0433\u0434\u0430 \u0437\u0430\u0434\u0430\u0447\u0438 \u0441\u0447\u0438\u0442\u0430\u044E\u0442\u0441\u044F \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043D\u044B\u043C\u0438.",howTheyWork:{title:"\u041A\u0430\u043A \u0440\u0430\u0431\u043E\u0442\u0430\u044E\u0442 \u0441\u0442\u0430\u0442\u0443\u0441\u044B:",value:'\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u0412\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u0438\u0439 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440, \u0445\u0440\u0430\u043D\u044F\u0449\u0438\u0439\u0441\u044F \u0432 \u0444\u0430\u0439\u043B\u0430\u0445 \u0437\u0430\u0434\u0430\u0447 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, "\u0432-\u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0435")',label:'\u041C\u0435\u0442\u043A\u0430: \u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u043C\u043E\u0435 \u0438\u043C\u044F \u0432 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, "\u0412 \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0435")',color:"\u0426\u0432\u0435\u0442: \u0426\u0432\u0435\u0442 \u0432\u0438\u0437\u0443\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u0438\u043D\u0434\u0438\u043A\u0430\u0442\u043E\u0440\u0430 \u0434\u043B\u044F \u0442\u043E\u0447\u043A\u0438 \u0441\u0442\u0430\u0442\u0443\u0441\u0430 \u0438 \u0437\u043D\u0430\u0447\u043A\u043E\u0432",icon:'\u0418\u043A\u043E\u043D\u043A\u0430: \u041E\u043F\u0446\u0438\u043E\u043D\u0430\u043B\u044C\u043D\u043E\u0435 \u0438\u043C\u044F Lucide-\u0438\u043A\u043E\u043D\u043A\u0438 \u0434\u043B\u044F \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F \u0432\u043C\u0435\u0441\u0442\u043E \u0446\u0432\u0435\u0442\u043D\u043E\u0439 \u0442\u043E\u0447\u043A\u0438 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, "check", "circle", "clock"). \u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0438\u0442\u0435 \u0438\u043A\u043E\u043D\u043A\u0438 \u043D\u0430 lucide.dev',completed:"\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E: \u041F\u0440\u0438 \u043E\u0442\u043C\u0435\u0442\u043A\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0441 \u044D\u0442\u0438\u043C \u0441\u0442\u0430\u0442\u0443\u0441\u043E\u043C \u0441\u0447\u0438\u0442\u0430\u044E\u0442\u0441\u044F \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043D\u044B\u043C\u0438 \u0438 \u043C\u043E\u0433\u0443\u0442 \u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u043F\u043E-\u0440\u0430\u0437\u043D\u043E\u043C\u0443",autoArchive:"\u0410\u0432\u0442\u043E\u0430\u0440\u0445\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435: \u041F\u0440\u0438 \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0438 \u0437\u0430\u0434\u0430\u0447\u0438 \u0431\u0443\u0434\u0443\u0442 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0430\u0440\u0445\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u043F\u043E\u0441\u043B\u0435 \u0443\u043A\u0430\u0437\u0430\u043D\u043D\u043E\u0439 \u0437\u0430\u0434\u0435\u0440\u0436\u043A\u0438 (1-1440 \u043C\u0438\u043D\u0443\u0442)",orderNote:"\u041F\u043E\u0440\u044F\u0434\u043E\u043A \u043D\u0438\u0436\u0435 \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442 \u043F\u043E\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u043F\u0440\u0438 \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0438 \u043C\u0435\u0436\u0434\u0443 \u0441\u0442\u0430\u0442\u0443\u0441\u0430\u043C\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0435\u043C \u043D\u0430 \u0437\u043D\u0430\u0447\u043A\u0438 \u0441\u0442\u0430\u0442\u0443\u0441\u0430 \u0437\u0430\u0434\u0430\u0447."},addNew:{name:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u0441\u0442\u0430\u0442\u0443\u0441",description:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u0432\u0430\u0440\u0438\u0430\u043D\u0442 \u0441\u0442\u0430\u0442\u0443\u0441\u0430 \u0434\u043B\u044F \u0432\u0430\u0448\u0438\u0445 \u0437\u0430\u0434\u0430\u0447",buttonText:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0441\u0442\u0430\u0442\u0443\u0441"},validationNote:'\u041F\u0440\u0438\u043C\u0435\u0447\u0430\u043D\u0438\u0435: \u0423 \u0432\u0430\u0441 \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u043C\u0438\u043D\u0438\u043C\u0443\u043C 2 \u0441\u0442\u0430\u0442\u0443\u0441\u0430, \u0438 \u043C\u0438\u043D\u0438\u043C\u0443\u043C \u043E\u0434\u0438\u043D \u0441\u0442\u0430\u0442\u0443\u0441 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043E\u0442\u043C\u0435\u0447\u0435\u043D \u043A\u0430\u043A "\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043D\u044B\u0439".',emptyState:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0435 \u0441\u0442\u0430\u0442\u0443\u0441\u044B \u043D\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D\u044B. \u0414\u043E\u0431\u0430\u0432\u044C\u0442\u0435 \u0441\u0442\u0430\u0442\u0443\u0441 \u0434\u043B\u044F \u043D\u0430\u0447\u0430\u043B\u0430.",emptyStateButton:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0441\u0442\u0430\u0442\u0443\u0441",fields:{value:"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435:",label:"\u041C\u0435\u0442\u043A\u0430:",color:"\u0426\u0432\u0435\u0442:",icon:"\u0418\u043A\u043E\u043D\u043A\u0430:",completed:"\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E:",autoArchive:"\u0410\u0432\u0442\u043E\u0430\u0440\u0445\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435:",delayMinutes:"\u0417\u0430\u0434\u0435\u0440\u0436\u043A\u0430 (\u043C\u0438\u043D\u0443\u0442\u044B):"},placeholders:{value:"\u0432-\u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0435",label:"\u0412 \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0435",icon:"check, circle, clock"},badges:{completed:"\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E"},deleteConfirm:'\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u0441\u0442\u0430\u0442\u0443\u0441 "{label}"?'},taskPriorities:{header:"\u041F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442\u044B \u0437\u0430\u0434\u0430\u0447",description:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435 \u0443\u0440\u043E\u0432\u043D\u0438 \u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442\u0430, \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0434\u043B\u044F \u0432\u0430\u0448\u0438\u0445 \u0437\u0430\u0434\u0430\u0447. \u0412 v4.0+ \u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442\u044B \u0441\u043E\u0440\u0442\u0438\u0440\u0443\u044E\u0442\u0441\u044F \u0432 \u0430\u043B\u0444\u0430\u0432\u0438\u0442\u043D\u043E\u043C \u043F\u043E\u0440\u044F\u0434\u043A\u0435 \u043F\u043E \u0438\u0445 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044E \u0432 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u0445 Bases.",howTheyWork:{title:"\u041A\u0430\u043A \u0440\u0430\u0431\u043E\u0442\u0430\u044E\u0442 \u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442\u044B:",value:'\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u0412\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u0438\u0439 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440, \u0445\u0440\u0430\u043D\u044F\u0449\u0438\u0439\u0441\u044F \u0432 \u0444\u0430\u0439\u043B\u0430\u0445 \u0437\u0430\u0434\u0430\u0447. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u043F\u0440\u0435\u0444\u0438\u043A\u0441\u044B \u0432\u0440\u043E\u0434\u0435 "1-\u0441\u0440\u043E\u0447\u043D\u044B\u0439", "2-\u0432\u044B\u0441\u043E\u043A\u0438\u0439" \u0434\u043B\u044F \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u043F\u043E\u0440\u044F\u0434\u043A\u043E\u043C \u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0438 \u0432 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u0445 Bases.',label:'\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u043C\u0430\u044F \u043C\u0435\u0442\u043A\u0430: \u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u043C\u043E\u0435 \u0438\u043C\u044F \u0432 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, "\u0412\u044B\u0441\u043E\u043A\u0438\u0439 \u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442")',color:"\u0426\u0432\u0435\u0442: \u0426\u0432\u0435\u0442 \u0432\u0438\u0437\u0443\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u0438\u043D\u0434\u0438\u043A\u0430\u0442\u043E\u0440\u0430 \u0434\u043B\u044F \u0442\u043E\u0447\u043A\u0438 \u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442\u0430 \u0438 \u0437\u043D\u0430\u0447\u043A\u043E\u0432",weight:"\u0412\u0435\u0441: \u0427\u0438\u0441\u043B\u043E\u0432\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0434\u043B\u044F \u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0438 (\u0431\u043E\u043B\u0435\u0435 \u0432\u044B\u0441\u043E\u043A\u0438\u0435 \u0432\u0435\u0441\u0430 \u043F\u043E\u044F\u0432\u043B\u044F\u044E\u0442\u0441\u044F \u043F\u0435\u0440\u0432\u044B\u043C\u0438 \u0432 \u0441\u043F\u0438\u0441\u043A\u0430\u0445)",weightNote:"\u0417\u0430\u0434\u0430\u0447\u0438 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0441\u043E\u0440\u0442\u0438\u0440\u0443\u044E\u0442\u0441\u044F \u043F\u043E \u0432\u0435\u0441\u0443 \u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442\u0430 \u0432 \u0443\u0431\u044B\u0432\u0430\u044E\u0449\u0435\u043C \u043F\u043E\u0440\u044F\u0434\u043A\u0435 (\u043D\u0430\u0438\u0432\u044B\u0441\u0448\u0438\u0439 \u0432\u0435\u0441 \u043F\u0435\u0440\u0432\u044B\u043C). \u0412\u0435\u0441\u0430 \u043C\u043E\u0433\u0443\u0442 \u0431\u044B\u0442\u044C \u043B\u044E\u0431\u044B\u043C\u0438 \u043F\u043E\u043B\u043E\u0436\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u043C\u0438 \u0447\u0438\u0441\u043B\u0430\u043C\u0438."},addNew:{name:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442",description:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u0443\u0440\u043E\u0432\u0435\u043D\u044C \u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442\u0430 \u0434\u043B\u044F \u0432\u0430\u0448\u0438\u0445 \u0437\u0430\u0434\u0430\u0447",buttonText:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442"},validationNote:"\u041F\u0440\u0438\u043C\u0435\u0447\u0430\u043D\u0438\u0435: \u0423 \u0432\u0430\u0441 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043C\u0438\u043D\u0438\u043C\u0443\u043C 1 \u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442. \u041F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442\u044B \u0441\u043E\u0440\u0442\u0438\u0440\u0443\u044E\u0442\u0441\u044F \u0432 \u0430\u043B\u0444\u0430\u0432\u0438\u0442\u043D\u043E\u043C \u043F\u043E\u0440\u044F\u0434\u043A\u0435 \u043F\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044E \u0432 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u0445 Bases.",emptyState:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0435 \u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442\u044B \u043D\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D\u044B. \u0414\u043E\u0431\u0430\u0432\u044C\u0442\u0435 \u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442 \u0434\u043B\u044F \u043D\u0430\u0447\u0430\u043B\u0430.",emptyStateButton:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442",fields:{value:"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435:",label:"\u041C\u0435\u0442\u043A\u0430:",color:"\u0426\u0432\u0435\u0442:",weight:"\u0412\u0435\u0441:"},placeholders:{value:"\u0432\u044B\u0441\u043E\u043A\u0438\u0439",label:"\u0412\u044B\u0441\u043E\u043A\u0438\u0439 \u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442"},weightLabel:"\u0412\u0435\u0441: {weight}",deleteConfirm:"\u0423 \u0432\u0430\u0441 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043C\u0438\u043D\u0438\u043C\u0443\u043C \u043E\u0434\u0438\u043D \u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442",deleteTooltip:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442"},fieldMapping:{header:"\u0421\u043E\u043F\u043E\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043F\u043E\u043B\u0435\u0439",warning:"\u26A0\uFE0F \u041F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u0435: TaskNotes \u0431\u0443\u0434\u0435\u0442 \u0427\u0418\u0422\u0410\u0422\u042C \u0418 \u0417\u0410\u041F\u0418\u0421\u042B\u0412\u0410\u0422\u042C, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F \u044D\u0442\u0438 \u0438\u043C\u0435\u043D\u0430 \u0441\u0432\u043E\u0439\u0441\u0442\u0432. \u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u0438\u0445 \u043F\u043E\u0441\u043B\u0435 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F \u0437\u0430\u0434\u0430\u0447 \u043C\u043E\u0436\u0435\u0442 \u0432\u044B\u0437\u0432\u0430\u0442\u044C \u043D\u0435\u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044F.",description:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435, \u043A\u0430\u043A\u0438\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430 frontmatter TaskNotes \u0434\u043E\u043B\u0436\u043D\u044B \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0434\u043B\u044F \u043A\u0430\u0436\u0434\u043E\u0433\u043E \u043F\u043E\u043B\u044F.",resetButton:{name:"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0441\u043E\u043F\u043E\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u043F\u043E\u043B\u0435\u0439",description:"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0432\u0441\u0435 \u0441\u043E\u043F\u043E\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u043F\u043E\u043B\u0435\u0439 \u043A \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F\u043C \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",buttonText:"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u043A \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044F\u043C"},notices:{resetSuccess:"\u0421\u043E\u043F\u043E\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u043F\u043E\u043B\u0435\u0439 \u0441\u0431\u0440\u043E\u0448\u0435\u043D\u044B \u043A \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044F\u043C",resetFailure:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0441\u043E\u043F\u043E\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u043F\u043E\u043B\u0435\u0439",updateFailure:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0441\u043E\u043F\u043E\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043F\u043E\u043B\u044F \u0434\u043B\u044F {label}. \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0441\u043D\u043E\u0432\u0430."},table:{fieldHeader:"\u041F\u043E\u043B\u0435 TaskNotes",propertyHeader:"\u0412\u0430\u0448\u0435 \u0438\u043C\u044F \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430"},fields:{title:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435",status:"\u0421\u0442\u0430\u0442\u0443\u0441",priority:"\u041F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442",due:"\u0421\u0440\u043E\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F",scheduled:"\u0417\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0430\u044F \u0434\u0430\u0442\u0430",contexts:"\u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u044B",projects:"\u041F\u0440\u043E\u0435\u043A\u0442\u044B",timeEstimate:"\u041E\u0446\u0435\u043D\u043A\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u0438",recurrence:"\u041F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0435",dateCreated:"\u0414\u0430\u0442\u0430 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F",completedDate:"\u0414\u0430\u0442\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F",dateModified:"\u0414\u0430\u0442\u0430 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F",archiveTag:"\u0422\u0435\u0433 \u0430\u0440\u0445\u0438\u0432\u0430",timeEntries:"\u0417\u0430\u043F\u0438\u0441\u0438 \u0432\u0440\u0435\u043C\u0435\u043D\u0438",completeInstances:"\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043D\u044B\u0435 \u044D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440\u044B",blockedBy:"\u0417\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u043E",sortOrder:"\u0420\u0443\u0447\u043D\u043E\u0439 \u043F\u043E\u0440\u044F\u0434\u043E\u043A",pomodoros:"\u041F\u043E\u043C\u043E\u0434\u043E\u0440\u043E",icsEventId:"ID \u0441\u043E\u0431\u044B\u0442\u0438\u044F ICS",icsEventTag:"\u0422\u0435\u0433 \u0441\u043E\u0431\u044B\u0442\u0438\u044F ICS",reminders:"\u041D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u044F"}},customUserFields:{header:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0435 \u043F\u043E\u043B\u044F",description:"\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430 frontmatter \u0434\u043B\u044F \u043F\u043E\u044F\u0432\u043B\u0435\u043D\u0438\u044F \u043A\u0430\u043A \u0442\u0438\u043F\u043E-\u043E\u0441\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u043D\u044B\u0435 \u0432\u0430\u0440\u0438\u0430\u043D\u0442\u044B \u0444\u0438\u043B\u044C\u0442\u0440\u0430 \u0432 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u0445. \u041A\u0430\u0436\u0434\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u043C\u043E\u0435 \u0438\u043C\u044F, \u0418\u043C\u044F \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430, \u0422\u0438\u043F.",addNew:{name:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u0432\u043E\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u0435 \u043F\u043E\u043B\u0435",description:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043D\u043E\u0432\u043E\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u0435 \u043F\u043E\u043B\u0435, \u043A\u043E\u0442\u043E\u0440\u043E\u0435 \u0431\u0443\u0434\u0435\u0442 \u043F\u043E\u044F\u0432\u043B\u044F\u0442\u044C\u0441\u044F \u0432 \u0444\u0438\u043B\u044C\u0442\u0440\u0430\u0445 \u0438 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u0445",buttonText:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u0435 \u043F\u043E\u043B\u0435"},emptyState:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0435 \u043F\u043E\u043B\u044F \u043D\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D\u044B. \u0414\u043E\u0431\u0430\u0432\u044C\u0442\u0435 \u043F\u043E\u043B\u0435 \u0434\u043B\u044F \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0445 \u0441\u0432\u043E\u0439\u0441\u0442\u0432 \u0434\u043B\u044F \u0432\u0430\u0448\u0438\u0445 \u0437\u0430\u0434\u0430\u0447.",emptyStateButton:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u0435 \u043F\u043E\u043B\u0435",fields:{displayName:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u043C\u043E\u0435 \u0438\u043C\u044F:",propertyKey:"\u041A\u043B\u044E\u0447 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430:",type:"\u0422\u0438\u043F:",defaultValue:"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E:"},placeholders:{displayName:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u043C\u043E\u0435 \u0438\u043C\u044F",propertyKey:"\u0438\u043C\u044F-\u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430",defaultValue:"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",defaultValueList:"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E (\u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043F\u044F\u0442\u0443\u044E)"},types:{text:"\u0422\u0435\u043A\u0441\u0442",number:"\u0427\u0438\u0441\u043B\u043E",boolean:"\u041B\u043E\u0433\u0438\u0447\u0435\u0441\u043A\u0438\u0439",date:"\u0414\u0430\u0442\u0430",list:"\u0421\u043F\u0438\u0441\u043E\u043A"},defaultNames:{unnamedField:"\u0411\u0435\u0437\u044B\u043C\u044F\u043D\u043D\u043E\u0435 \u043F\u043E\u043B\u0435",noKey:"\u0431\u0435\u0437-\u043A\u043B\u044E\u0447\u0430"},deleteTooltip:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043F\u043E\u043B\u0435",autosuggestFilters:{header:"\u0424\u0438\u043B\u044C\u0442\u0440\u044B \u0430\u0432\u0442\u043E\u043F\u043E\u0434\u0441\u043A\u0430\u0437\u043E\u043A (\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u044B\u0435)",description:"\u0424\u0438\u043B\u044C\u0442\u0440\u0430\u0446\u0438\u044F \u0444\u0430\u0439\u043B\u043E\u0432, \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u043C\u044B\u0445 \u0432 \u0430\u0432\u0442\u043E\u043F\u043E\u0434\u0441\u043A\u0430\u0437\u043A\u0430\u0445 \u0434\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u043F\u043E\u043B\u044F"}}},appearance:{taskCards:{header:"\u041A\u0430\u0440\u0442\u043E\u0447\u043A\u0438 \u0437\u0430\u0434\u0430\u0447",description:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043A\u0430\u0440\u0442\u043E\u0447\u0435\u043A \u0437\u0430\u0434\u0430\u0447 \u0432\u043E \u0432\u0441\u0435\u0445 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u0445.",defaultVisibleProperties:{name:"\u0412\u0438\u0434\u0438\u043C\u044B\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",description:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435, \u043A\u0430\u043A\u0438\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u043F\u043E\u044F\u0432\u043B\u044F\u044E\u0442\u0441\u044F \u043D\u0430 \u043A\u0430\u0440\u0442\u043E\u0447\u043A\u0430\u0445 \u0437\u0430\u0434\u0430\u0447 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E."},propertyGroups:{coreProperties:"\u041E\u0421\u041D\u041E\u0412\u041D\u042B\u0415 \u0421\u0412\u041E\u0419\u0421\u0422\u0412\u0410",organization:"\u041E\u0420\u0413\u0410\u041D\u0418\u0417\u0410\u0426\u0418\u042F",customProperties:"\u041F\u041E\u041B\u042C\u0417\u041E\u0412\u0410\u0422\u0415\u041B\u042C\u0421\u041A\u0418\u0415 \u0421\u0412\u041E\u0419\u0421\u0422\u0412\u0410"},properties:{status:"\u0422\u043E\u0447\u043A\u0430 \u0441\u0442\u0430\u0442\u0443\u0441\u0430",priority:"\u0422\u043E\u0447\u043A\u0430 \u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442\u0430",due:"\u0421\u0440\u043E\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F",scheduled:"\u0417\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0430\u044F \u0434\u0430\u0442\u0430",timeEstimate:"\u041E\u0446\u0435\u043D\u043A\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u0438",totalTrackedTime:"\u041E\u0431\u0449\u0435\u0435 \u043E\u0442\u0441\u043B\u0435\u0436\u0435\u043D\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F",checklistProgress:"\u041F\u0440\u043E\u0433\u0440\u0435\u0441\u0441 \u0447\u0435\u043A-\u043B\u0438\u0441\u0442\u0430",recurrence:"\u041F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0435",completedDate:"\u0414\u0430\u0442\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F",createdDate:"\u0414\u0430\u0442\u0430 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F",modifiedDate:"\u0414\u0430\u0442\u0430 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F",projects:"\u041F\u0440\u043E\u0435\u043A\u0442\u044B",contexts:"\u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u044B",tags:"\u0422\u0435\u0433\u0438",blocked:"\u0417\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u0430",blocking:"\u0411\u043B\u043E\u043A\u0438\u0440\u0443\u0435\u0442"}},taskFilenames:{header:"\u0418\u043C\u0435\u043D\u0430 \u0444\u0430\u0439\u043B\u043E\u0432 \u0437\u0430\u0434\u0430\u0447",description:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435 \u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u0444\u0430\u0439\u043B\u043E\u0432 \u0437\u0430\u0434\u0430\u0447 \u043F\u0440\u0438 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0438.",storeTitleInFilename:{name:"\u0425\u0440\u0430\u043D\u0438\u0442\u044C \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0432 \u0438\u043C\u0435\u043D\u0438 \u0444\u0430\u0439\u043B\u0430",description:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u043A\u0430\u043A \u0438\u043C\u044F \u0444\u0430\u0439\u043B\u0430. \u0418\u043C\u044F \u0444\u0430\u0439\u043B\u0430 \u0431\u0443\u0434\u0435\u0442 \u043E\u0431\u043D\u043E\u0432\u043B\u044F\u0442\u044C\u0441\u044F \u043F\u0440\u0438 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0438 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0437\u0430\u0434\u0430\u0447\u0438 (\u0420\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u0442\u0441\u044F)."},filenameFormat:{name:"\u0424\u043E\u0440\u043C\u0430\u0442 \u0438\u043C\u0435\u043D\u0438 \u0444\u0430\u0439\u043B\u0430",description:"\u041A\u0430\u043A \u0434\u043E\u043B\u0436\u043D\u044B \u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u0438\u043C\u0435\u043D\u0430 \u0444\u0430\u0439\u043B\u043E\u0432 \u0437\u0430\u0434\u0430\u0447",options:{title:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 (\u041D\u0435 \u043E\u0431\u043D\u043E\u0432\u043B\u044F\u0435\u043C\u043E\u0435)",zettel:"\u0424\u043E\u0440\u043C\u0430\u0442 Zettelkasten (\u0413\u0413\u041C\u041C\u0414\u0414 + base36 \u0441\u0435\u043A\u0443\u043D\u0434\u044B \u0441 \u043F\u043E\u043B\u0443\u043D\u043E\u0447\u0438)",timestamp:"\u041F\u043E\u043B\u043D\u0430\u044F \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u0430\u044F \u043C\u0435\u0442\u043A\u0430 (\u0413\u0413\u0413\u0413-\u041C\u041C-\u0414\u0414-\u0427\u0427\u041C\u041C\u0421\u0421)",custom:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0439 \u0448\u0430\u0431\u043B\u043E\u043D"}},customTemplate:{name:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0439 \u0448\u0430\u0431\u043B\u043E\u043D \u0438\u043C\u0435\u043D\u0438 \u0444\u0430\u0439\u043B\u0430",description:"\u0428\u0430\u0431\u043B\u043E\u043D \u0434\u043B\u044F \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0445 \u0438\u043C\u0435\u043D \u0444\u0430\u0439\u043B\u043E\u0432. \u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u043F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0435: {title}, {titleLower}, {titleUpper}, {titleSnake}, {titleKebab}, {titleCamel}, {titlePascal}, {date}, {shortDate}, {time}, {time12}, {time24}, {timestamp}, {dateTime}, {year}, {month}, {monthName}, {monthNameShort}, {day}, {dayName}, {dayNameShort}, {hour}, {hour12}, {minute}, {second}, {milliseconds}, {ms}, {ampm}, {week}, {quarter}, {unix}, {unixMs}, {timezone}, {timezoneShort}, {utcOffset}, {utcOffsetShort}, {utcZ}, {zettel}, {nano}, {priority}, {priorityShort}, {status}, {statusShort}, {dueDate}, {scheduledDate}",placeholder:"{date}-{title}-{dueDate}",helpText:"\u041F\u0440\u0438\u043C\u0435\u0447\u0430\u043D\u0438\u0435: {dueDate} \u0438 {scheduledDate} \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 \u0413\u0413\u0413\u0413-\u041C\u041C-\u0414\u0414 \u0438 \u0431\u0443\u0434\u0443\u0442 \u043F\u0443\u0441\u0442\u044B\u043C\u0438, \u0435\u0441\u043B\u0438 \u043D\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u044B."}},displayFormatting:{header:"\u0424\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F",description:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0434\u0430\u0442, \u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0434\u0430\u043D\u043D\u044B\u0445 \u0432 \u043F\u043B\u0430\u0433\u0438\u043D\u0435.",timeFormat:{name:"\u0424\u043E\u0440\u043C\u0430\u0442 \u0432\u0440\u0435\u043C\u0435\u043D\u0438",description:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u0432\u0440\u0435\u043C\u044F \u0432 12-\u0447\u0430\u0441\u043E\u0432\u043E\u043C \u0438\u043B\u0438 24-\u0447\u0430\u0441\u043E\u0432\u043E\u043C \u0444\u043E\u0440\u043C\u0430\u0442\u0435 \u0432 \u043F\u043B\u0430\u0433\u0438\u043D\u0435",options:{twelveHour:"12-\u0447\u0430\u0441\u043E\u0432\u043E\u0439 (AM/PM)",twentyFourHour:"24-\u0447\u0430\u0441\u043E\u0432\u043E\u0439"}}},calendarView:{header:"\u041F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F",description:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435 \u0432\u043D\u0435\u0448\u043D\u0438\u0439 \u0432\u0438\u0434 \u0438 \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0435 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F.",defaultView:{name:"\u041F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",description:"\u041F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F, \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u043C\u043E\u0435 \u043F\u0440\u0438 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u0438 \u0432\u043A\u043B\u0430\u0434\u043A\u0438 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F",options:{monthGrid:"\u0421\u0435\u0442\u043A\u0430 \u043C\u0435\u0441\u044F\u0446\u0430",weekTimeline:"\u0412\u0440\u0435\u043C\u0435\u043D\u043D\u0430\u044F \u043B\u0438\u043D\u0438\u044F \u043D\u0435\u0434\u0435\u043B\u0438",dayTimeline:"\u0412\u0440\u0435\u043C\u0435\u043D\u043D\u0430\u044F \u043B\u0438\u043D\u0438\u044F \u0434\u043D\u044F",yearView:"\u041F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0433\u043E\u0434\u0430",customMultiDay:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0439 \u043C\u043D\u043E\u0433\u043E\u0434\u043D\u0435\u0432\u043D\u044B\u0439"}},customDayCount:{name:"\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0434\u043D\u0435\u0439 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u0433\u043E \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F",description:"\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0434\u043D\u0435\u0439 \u0434\u043B\u044F \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F \u0432 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u043C \u043C\u043D\u043E\u0433\u043E\u0434\u043D\u0435\u0432\u043D\u043E\u043C \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0438",placeholder:"3"},firstDayOfWeek:{name:"\u041F\u0435\u0440\u0432\u044B\u0439 \u0434\u0435\u043D\u044C \u043D\u0435\u0434\u0435\u043B\u0438",description:"\u041A\u0430\u043A\u043E\u0439 \u0434\u0435\u043D\u044C \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043F\u0435\u0440\u0432\u043E\u0439 \u043A\u043E\u043B\u043E\u043D\u043A\u043E\u0439 \u0432 \u043D\u0435\u0434\u0435\u043B\u044C\u043D\u044B\u0445 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u0445"},showWeekends:{name:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0432\u044B\u0445\u043E\u0434\u043D\u044B\u0435",description:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u0432\u044B\u0445\u043E\u0434\u043D\u044B\u0435 \u0432 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u0445 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F"},showWeekNumbers:{name:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043D\u043E\u043C\u0435\u0440\u0430 \u043D\u0435\u0434\u0435\u043B\u044C",description:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u043D\u043E\u043C\u0435\u0440\u0430 \u043D\u0435\u0434\u0435\u043B\u044C \u0432 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u0445 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F"},showTodayHighlight:{name:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u0441\u0435\u0433\u043E\u0434\u043D\u044F",description:"\u0412\u044B\u0434\u0435\u043B\u044F\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0438\u0439 \u0434\u0435\u043D\u044C \u0432 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u0445 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F"},showCurrentTimeIndicator:{name:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0438\u043D\u0434\u0438\u043A\u0430\u0442\u043E\u0440 \u0442\u0435\u043A\u0443\u0449\u0435\u0433\u043E \u0432\u0440\u0435\u043C\u0435\u043D\u0438",description:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u043B\u0438\u043D\u0438\u044E, \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u044E\u0449\u0443\u044E \u0442\u0435\u043A\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043C\u044F \u0432 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u0445 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u043B\u0438\u043D\u0438\u0438"},selectionMirror:{name:"\u0417\u0435\u0440\u043A\u0430\u043B\u043E \u0432\u044B\u0431\u043E\u0440\u0430",description:"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0432\u0438\u0437\u0443\u0430\u043B\u044C\u043D\u044B\u0439 \u043F\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u043F\u0440\u0438 \u043F\u0435\u0440\u0435\u0442\u0430\u0441\u043A\u0438\u0432\u0430\u043D\u0438\u0438 \u0434\u043B\u044F \u0432\u044B\u0431\u043E\u0440\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0445 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D\u043E\u0432"},calendarLocale:{name:"\u041B\u043E\u043A\u0430\u043B\u044C \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F",description:'\u041B\u043E\u043A\u0430\u043B\u044C \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F \u0434\u043B\u044F \u0444\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0434\u0430\u0442 \u0438 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u043D\u043E\u0439 \u0441\u0438\u0441\u0442\u0435\u043C\u044B (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, "en", "fa" \u0434\u043B\u044F \u0444\u0430\u0440\u0441\u0438/\u043F\u0435\u0440\u0441\u0438\u0434\u0441\u043A\u043E\u0433\u043E, "de" \u0434\u043B\u044F \u043D\u0435\u043C\u0435\u0446\u043A\u043E\u0433\u043E). \u041E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u043F\u0443\u0441\u0442\u044B\u043C \u0434\u043B\u044F \u0430\u0432\u0442\u043E\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0438\u0437 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430.',placeholder:"\u0410\u0432\u0442\u043E\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u0435",invalidLocale:"\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u0430\u044F \u043B\u043E\u043A\u0430\u043B\u044C. \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u044B\u0439 \u044F\u0437\u044B\u043A\u043E\u0432\u043E\u0439 \u0442\u0435\u0433 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, 'ru', 'en', 'fr-FR')."}},defaultEventVisibility:{header:"\u0412\u0438\u0434\u0438\u043C\u043E\u0441\u0442\u044C \u0441\u043E\u0431\u044B\u0442\u0438\u0439 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",description:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435, \u043A\u0430\u043A\u0438\u0435 \u0442\u0438\u043F\u044B \u0441\u043E\u0431\u044B\u0442\u0438\u0439 \u0432\u0438\u0434\u0438\u043C\u044B \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u043F\u0440\u0438 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u0438 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F. \u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0438 \u0432\u0441\u0435 \u0435\u0449\u0435 \u043C\u043E\u0433\u0443\u0442 \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0430\u0442\u044C \u0438\u0445 \u0432 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0438 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F.",showScheduledTasks:{name:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0437\u0430\u0434\u0430\u0447\u0438",description:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0438 \u0441 \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u043C\u0438 \u0434\u0430\u0442\u0430\u043C\u0438 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E"},showDueDates:{name:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0441\u0440\u043E\u043A\u0438 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F",description:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u0441\u0440\u043E\u043A\u0438 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u0437\u0430\u0434\u0430\u0447 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E"},showDueWhenScheduled:{name:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0441\u0440\u043E\u043A\u0438 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u0434\u043B\u044F \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0445",description:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u0441\u0440\u043E\u043A\u0438 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u0434\u0430\u0436\u0435 \u0434\u043B\u044F \u0437\u0430\u0434\u0430\u0447, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0443\u0436\u0435 \u0438\u043C\u0435\u044E\u0442 \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0434\u0430\u0442\u044B"},showTimeEntries:{name:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0437\u0430\u043F\u0438\u0441\u0438 \u0432\u0440\u0435\u043C\u0435\u043D\u0438",description:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043D\u044B\u0435 \u0437\u0430\u043F\u0438\u0441\u0438 \u043E\u0442\u0441\u043B\u0435\u0436\u0438\u0432\u0430\u043D\u0438\u044F \u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E"},showRecurringTasks:{name:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0438\u0435\u0441\u044F \u0437\u0430\u0434\u0430\u0447\u0438",description:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u044D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440\u044B \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0438\u0445\u0441\u044F \u0437\u0430\u0434\u0430\u0447 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E"},showICSEvents:{name:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0441\u043E\u0431\u044B\u0442\u0438\u044F ICS",description:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u0441\u043E\u0431\u044B\u0442\u0438\u044F \u0438\u0437 \u043F\u043E\u0434\u043F\u0438\u0441\u043E\u043A ICS \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E"}},timeSettings:{header:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0432\u0440\u0435\u043C\u0435\u043D\u0438",description:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435 \u0441\u0432\u044F\u0437\u0430\u043D\u043D\u044B\u0435 \u0441\u043E \u0432\u0440\u0435\u043C\u0435\u043D\u0435\u043C \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F \u0434\u043B\u044F \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0439 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u043B\u0438\u043D\u0438\u0438.",timeSlotDuration:{name:"\u0414\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0433\u043E \u0441\u043B\u043E\u0442\u0430",description:"\u0414\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u043A\u0430\u0436\u0434\u043E\u0433\u043E \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0433\u043E \u0441\u043B\u043E\u0442\u0430 \u0432 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u0445 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u043B\u0438\u043D\u0438\u0438",options:{fifteenMinutes:"15 \u043C\u0438\u043D\u0443\u0442",thirtyMinutes:"30 \u043C\u0438\u043D\u0443\u0442",sixtyMinutes:"60 \u043C\u0438\u043D\u0443\u0442"}},startTime:{name:"\u0412\u0440\u0435\u043C\u044F \u043D\u0430\u0447\u0430\u043B\u0430",description:"\u0421\u0430\u043C\u043E\u0435 \u0440\u0430\u043D\u043D\u0435\u0435 \u0432\u0440\u0435\u043C\u044F, \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u043C\u043E\u0435 \u0432 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u0445 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u043B\u0438\u043D\u0438\u0438 (\u0444\u043E\u0440\u043C\u0430\u0442 \u0427\u0427:\u041C\u041C)",placeholder:"06:00"},endTime:{name:"\u0412\u0440\u0435\u043C\u044F \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F",description:"\u0421\u0430\u043C\u043E\u0435 \u043F\u043E\u0437\u0434\u043D\u0435\u0435 \u0432\u0440\u0435\u043C\u044F, \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u043C\u043E\u0435 \u0432 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u0445 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u043B\u0438\u043D\u0438\u0438 (\u0444\u043E\u0440\u043C\u0430\u0442 \u0427\u0427:\u041C\u041C)",placeholder:"22:00"},initialScrollTime:{name:"\u041D\u0430\u0447\u0430\u043B\u044C\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F \u043F\u0440\u043E\u043A\u0440\u0443\u0442\u043A\u0438",description:"\u0412\u0440\u0435\u043C\u044F \u0434\u043B\u044F \u043F\u0440\u043E\u043A\u0440\u0443\u0442\u043A\u0438 \u043F\u0440\u0438 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u0438 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0439 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u043B\u0438\u043D\u0438\u0438 (\u0444\u043E\u0440\u043C\u0430\u0442 \u0427\u0427:\u041C\u041C)",placeholder:"09:00"},eventMinHeight:{name:"\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u0430\u044F \u0432\u044B\u0441\u043E\u0442\u0430 \u0441\u043E\u0431\u044B\u0442\u0438\u044F",description:"\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u0430\u044F \u0432\u044B\u0441\u043E\u0442\u0430 \u0441\u043E\u0431\u044B\u0442\u0438\u0439 \u0432 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u0445 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0448\u043A\u0430\u043B\u044B (\u0432 \u043F\u0438\u043A\u0441\u0435\u043B\u044F\u0445)",placeholder:"15"}},uiElements:{header:"\u042D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430",description:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0440\u0430\u0437\u043B\u0438\u0447\u043D\u044B\u0445 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430.",showTrackedTasksInStatusBar:{name:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043E\u0442\u0441\u043B\u0435\u0436\u0438\u0432\u0430\u0435\u043C\u044B\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0432 \u0441\u0442\u0440\u043E\u043A\u0435 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044F",description:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0438\u0435 \u043E\u0442\u0441\u043B\u0435\u0436\u0438\u0432\u0430\u0435\u043C\u044B\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0432 \u0441\u0442\u0440\u043E\u043A\u0435 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044F Obsidian"},showProjectSubtasksWidget:{name:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0432\u0438\u0434\u0436\u0435\u0442 \u043F\u043E\u0434\u0437\u0430\u0434\u0430\u0447 \u043F\u0440\u043E\u0435\u043A\u0442\u0430",description:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u0432\u0438\u0434\u0436\u0435\u0442, \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u044E\u0449\u0438\u0439 \u043F\u043E\u0434\u0437\u0430\u0434\u0430\u0447\u0438 \u0434\u043B\u044F \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u0437\u0430\u043C\u0435\u0442\u043A\u0438 \u043F\u0440\u043E\u0435\u043A\u0442\u0430"},projectSubtasksPosition:{name:"\u041F\u043E\u0437\u0438\u0446\u0438\u044F \u043F\u043E\u0434\u0437\u0430\u0434\u0430\u0447 \u043F\u0440\u043E\u0435\u043A\u0442\u0430",description:"\u0413\u0434\u0435 \u0440\u0430\u0437\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0432\u0438\u0434\u0436\u0435\u0442 \u043F\u043E\u0434\u0437\u0430\u0434\u0430\u0447 \u043F\u0440\u043E\u0435\u043A\u0442\u0430",options:{top:"\u0412\u0435\u0440\u0445 \u0437\u0430\u043C\u0435\u0442\u043A\u0438",bottom:"\u041D\u0438\u0437 \u0437\u0430\u043C\u0435\u0442\u043A\u0438"}},showRelationshipsWidget:{name:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0432\u0438\u0434\u0436\u0435\u0442 \u0441\u0432\u044F\u0437\u0435\u0439",description:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u0432\u0438\u0434\u0436\u0435\u0442, \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u044E\u0449\u0438\u0439 \u0432\u0441\u0435 \u0441\u0432\u044F\u0437\u0438 \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u0437\u0430\u043C\u0435\u0442\u043A\u0438 (\u043F\u043E\u0434\u0437\u0430\u0434\u0430\u0447\u0438, \u043F\u0440\u043E\u0435\u043A\u0442\u044B, \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0438)"},relationshipsPosition:{name:"\u041F\u043E\u0437\u0438\u0446\u0438\u044F \u0441\u0432\u044F\u0437\u0435\u0439",description:"\u0413\u0434\u0435 \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0438\u0442\u044C \u0432\u0438\u0434\u0436\u0435\u0442 \u0441\u0432\u044F\u0437\u0435\u0439",options:{top:"\u0412\u0432\u0435\u0440\u0445\u0443 \u0437\u0430\u043C\u0435\u0442\u043A\u0438",bottom:"\u0412\u043D\u0438\u0437\u0443 \u0437\u0430\u043C\u0435\u0442\u043A\u0438"}},showTaskCardInNote:{name:"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u043A\u0430\u0440\u0442\u043E\u0447\u043A\u0443 \u0437\u0430\u0434\u0430\u0447\u0438 \u0432 \u0437\u0430\u043C\u0435\u0442\u043A\u0435",description:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u0432\u0438\u0434\u0436\u0435\u0442 \u043A\u0430\u0440\u0442\u043E\u0447\u043A\u0438 \u0437\u0430\u0434\u0430\u0447\u0438 \u0432 \u0432\u0435\u0440\u0445\u043D\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u0437\u0430\u043C\u0435\u0442\u043E\u043A \u0437\u0430\u0434\u0430\u0447 \u0441 \u0434\u0435\u0442\u0430\u043B\u044F\u043C\u0438 \u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F\u043C\u0438 \u0437\u0430\u0434\u0430\u0447\u0438"},showExpandableSubtasks:{name:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0440\u0430\u0441\u043A\u0440\u044B\u0432\u0430\u0435\u043C\u044B\u0435 \u043F\u043E\u0434\u0437\u0430\u0434\u0430\u0447\u0438",description:"\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u0440\u0430\u0441\u043A\u0440\u044B\u0442\u0438\u0435/\u0441\u0432\u0435\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u0435 \u0440\u0430\u0437\u0434\u0435\u043B\u043E\u0432 \u043F\u043E\u0434\u0437\u0430\u0434\u0430\u0447 \u0432 \u043A\u0430\u0440\u0442\u043E\u0447\u043A\u0430\u0445 \u0437\u0430\u0434\u0430\u0447"},subtaskChevronPosition:{name:"\u041F\u043E\u0437\u0438\u0446\u0438\u044F \u0448\u0435\u0432\u0440\u043E\u043D\u0430 \u043F\u043E\u0434\u0437\u0430\u0434\u0430\u0447",description:"\u041F\u043E\u0437\u0438\u0446\u0438\u044F \u0448\u0435\u0432\u0440\u043E\u043D\u043E\u0432 \u0440\u0430\u0441\u043A\u0440\u044B\u0442\u0438\u044F/\u0441\u0432\u0435\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u044F \u0432 \u043A\u0430\u0440\u0442\u043E\u0447\u043A\u0430\u0445 \u0437\u0430\u0434\u0430\u0447",options:{left:"\u041B\u0435\u0432\u0430\u044F \u0441\u0442\u043E\u0440\u043E\u043D\u0430",right:"\u041F\u0440\u0430\u0432\u0430\u044F \u0441\u0442\u043E\u0440\u043E\u043D\u0430"}},viewsButtonAlignment:{name:"\u0412\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u043D\u0438\u0435 \u043A\u043D\u043E\u043F\u043A\u0438 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0439",description:"\u0412\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u043D\u0438\u0435 \u043A\u043D\u043E\u043F\u043A\u0438 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0439/\u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432 \u0432 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 \u0437\u0430\u0434\u0430\u0447",options:{left:"\u041B\u0435\u0432\u0430\u044F \u0441\u0442\u043E\u0440\u043E\u043D\u0430",right:"\u041F\u0440\u0430\u0432\u0430\u044F \u0441\u0442\u043E\u0440\u043E\u043D\u0430"}}},projectAutosuggest:{header:"\u0410\u0432\u0442\u043E\u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u043F\u0440\u043E\u0435\u043A\u0442\u043E\u0432",description:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439 \u043F\u0440\u043E\u0435\u043A\u0442\u043E\u0432 \u043F\u0440\u0438 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0438 \u0437\u0430\u0434\u0430\u0447.",requiredTags:{name:"\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0442\u0435\u0433\u0438",description:"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u0437\u0430\u043C\u0435\u0442\u043A\u0438 \u0441 \u043B\u044E\u0431\u044B\u043C \u0438\u0437 \u044D\u0442\u0438\u0445 \u0442\u0435\u0433\u043E\u0432 (\u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043F\u044F\u0442\u0443\u044E). \u041E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u043F\u0443\u0441\u0442\u044B\u043C \u0434\u043B\u044F \u043F\u043E\u043A\u0430\u0437\u0430 \u0432\u0441\u0435\u0445 \u0437\u0430\u043C\u0435\u0442\u043E\u043A.",placeholder:"\u043F\u0440\u043E\u0435\u043A\u0442, \u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0439, \u0432\u0430\u0436\u043D\u044B\u0439"},includeFolders:{name:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043F\u0430\u043F\u043A\u0438",description:"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u0437\u0430\u043C\u0435\u0442\u043A\u0438 \u0432 \u044D\u0442\u0438\u0445 \u043F\u0430\u043F\u043A\u0430\u0445 (\u043F\u0443\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043F\u044F\u0442\u0443\u044E). \u041E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u043F\u0443\u0441\u0442\u044B\u043C \u0434\u043B\u044F \u043F\u043E\u043A\u0430\u0437\u0430 \u0432\u0441\u0435\u0445 \u043F\u0430\u043F\u043E\u043A.",placeholder:"\u041F\u0440\u043E\u0435\u043A\u0442\u044B/, \u0420\u0430\u0431\u043E\u0442\u0430/\u0410\u043A\u0442\u0438\u0432\u043D\u044B\u0435, \u041B\u0438\u0447\u043D\u043E\u0435"},requiredPropertyKey:{name:"\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430",description:"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u0437\u0430\u043C\u0435\u0442\u043A\u0438, \u0433\u0434\u0435 \u044D\u0442\u043E \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u043E frontmatter \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044E \u043D\u0438\u0436\u0435. \u041E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u043F\u0443\u0441\u0442\u044B\u043C \u0434\u043B\u044F \u0438\u0433\u043D\u043E\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F.",placeholder:"\u0442\u0438\u043F"},requiredPropertyValue:{name:"\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430",description:"\u0422\u043E\u043B\u044C\u043A\u043E \u0437\u0430\u043C\u0435\u0442\u043A\u0438, \u0433\u0434\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u043E \u0440\u0430\u0432\u043D\u043E \u044D\u0442\u043E\u043C\u0443 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044E, \u043F\u0440\u0435\u0434\u043B\u0430\u0433\u0430\u044E\u0442\u0441\u044F. \u041E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u043F\u0443\u0441\u0442\u044B\u043C \u0434\u043B\u044F \u0442\u0440\u0435\u0431\u043E\u0432\u0430\u043D\u0438\u044F \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043E\u0432\u0430\u043D\u0438\u044F \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430.",placeholder:"\u043F\u0440\u043E\u0435\u043A\u0442"},customizeDisplay:{name:"\u041D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439",description:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0434\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u043E\u043F\u0446\u0438\u0438 \u0434\u043B\u044F \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0439 \u043F\u0440\u043E\u0435\u043A\u0442\u043E\u0432 \u0438 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0438, \u043A\u043E\u0442\u043E\u0440\u0443\u044E \u043E\u043D\u0438 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442."},enableFuzzyMatching:{name:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043D\u0435\u0447\u0435\u0442\u043A\u043E\u0435 \u0441\u043E\u043F\u043E\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435",description:"\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u043E\u043F\u0435\u0447\u0430\u0442\u043A\u0438 \u0438 \u0447\u0430\u0441\u0442\u0438\u0447\u043D\u044B\u0435 \u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u044F \u0432 \u043F\u043E\u0438\u0441\u043A\u0435 \u043F\u0440\u043E\u0435\u043A\u0442\u043E\u0432. \u041C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u043C\u0435\u0434\u043B\u0435\u043D\u043D\u0435\u0435 \u0432 \u0431\u043E\u043B\u044C\u0448\u0438\u0445 \u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0430\u0445."},displayRowsHelp:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435 \u0434\u043E 3 \u0441\u0442\u0440\u043E\u043A \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0438 \u0434\u043B\u044F \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F \u0434\u043B\u044F \u043A\u0430\u0436\u0434\u043E\u0433\u043E \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u043F\u0440\u043E\u0435\u043A\u0442\u0430.",displayRows:{row1:{name:"\u0421\u0442\u0440\u043E\u043A\u0430 1",description:"\u0424\u043E\u0440\u043C\u0430\u0442: {\u0441\u0432\u043E\u0439\u0441\u0442\u0432\u043E|\u0444\u043B\u0430\u0433\u0438}. \u0421\u0432\u043E\u0439\u0441\u0442\u0432\u0430: title, aliases, file.path, file.parent. \u0424\u043B\u0430\u0433\u0438: n(\u041C\u0435\u0442\u043A\u0430) \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442 \u043C\u0435\u0442\u043A\u0443, s \u0434\u0435\u043B\u0430\u0435\u0442 \u043F\u043E\u0438\u0441\u043A\u043E\u0432\u044B\u043C. \u041F\u0440\u0438\u043C\u0435\u0440: {title|n(\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435)|s}",placeholder:"{title|n(\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435)}"},row2:{name:"\u0421\u0442\u0440\u043E\u043A\u0430 2 (\u043E\u043F\u0446\u0438\u043E\u043D\u0430\u043B\u044C\u043D\u043E)",description:"\u041E\u0431\u0449\u0438\u0435 \u0448\u0430\u0431\u043B\u043E\u043D\u044B: {aliases|n(\u041F\u0441\u0435\u0432\u0434\u043E\u043D\u0438\u043C\u044B)}, {file.parent|n(\u041F\u0430\u043F\u043A\u0430)}, literal:\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0439 \u0442\u0435\u043A\u0441\u0442",placeholder:"{aliases|n(\u041F\u0441\u0435\u0432\u0434\u043E\u043D\u0438\u043C\u044B)}"},row3:{name:"\u0421\u0442\u0440\u043E\u043A\u0430 3 (\u043E\u043F\u0446\u0438\u043E\u043D\u0430\u043B\u044C\u043D\u043E)",description:"\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u0430\u044F \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F, \u0442\u0430\u043A\u0430\u044F \u043A\u0430\u043A {file.path|n(\u041F\u0443\u0442\u044C)} \u0438\u043B\u0438 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0435 \u043F\u043E\u043B\u044F frontmatter",placeholder:"{file.path|n(\u041F\u0443\u0442\u044C)}"}},quickReference:{header:"\u0411\u044B\u0441\u0442\u0440\u0430\u044F \u0441\u043F\u0440\u0430\u0432\u043A\u0430",properties:"\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430: title, aliases, file.path, file.parent \u0438\u043B\u0438 \u043B\u044E\u0431\u043E\u0435 \u043F\u043E\u043B\u0435 frontmatter",labels:'\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043C\u0435\u0442\u043A\u0438: {title|n(\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435)} \u2192 "\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435: \u041C\u043E\u0439 \u043F\u0440\u043E\u0435\u043A\u0442"',searchable:"\u0421\u0434\u0435\u043B\u0430\u0442\u044C \u043F\u043E\u0438\u0441\u043A\u043E\u0432\u044B\u043C: {description|s} \u0432\u043A\u043B\u044E\u0447\u0430\u0435\u0442 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0432 + \u043F\u043E\u0438\u0441\u043A",staticText:"\u0421\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0439 \u0442\u0435\u043A\u0441\u0442: literal:\u041C\u043E\u044F \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0430\u044F \u043C\u0435\u0442\u043A\u0430",alwaysSearchable:"\u0418\u043C\u044F \u0444\u0430\u0439\u043B\u0430, \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0438 \u043F\u0441\u0435\u0432\u0434\u043E\u043D\u0438\u043C\u044B \u0432\u0441\u0435\u0433\u0434\u0430 \u043F\u043E\u0438\u0441\u043A\u043E\u0432\u044B \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E."}},dataStorage:{name:"\u041C\u0435\u0441\u0442\u043E \u0445\u0440\u0430\u043D\u0435\u043D\u0438\u044F",description:"\u0413\u0434\u0435 \u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0438\u0441\u0442\u043E\u0440\u0438\u044E \u0441\u0435\u0441\u0441\u0438\u0439 \u043F\u043E\u043C\u043E\u0434\u043E\u0440\u043E",pluginData:"\u0414\u0430\u043D\u043D\u044B\u0435 \u043F\u043B\u0430\u0433\u0438\u043D\u0430 (\u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u0442\u0441\u044F)",dailyNotes:"\u0415\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u044B\u0435 \u0437\u0430\u043C\u0435\u0442\u043A\u0438",notices:{locationChanged:"\u041C\u0435\u0441\u0442\u043E \u0445\u0440\u0430\u043D\u0435\u043D\u0438\u044F \u043F\u043E\u043C\u043E\u0434\u043E\u0440\u043E \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u043E \u043D\u0430 {location}"}},notifications:{description:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435 \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F \u043E \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u044F\u0445 \u0437\u0430\u0434\u0430\u0447 \u0438 \u043E\u043F\u043E\u0432\u0435\u0449\u0435\u043D\u0438\u044F."},performance:{description:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435 \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u043F\u043B\u0430\u0433\u0438\u043D\u0430 \u0438 \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0447\u0435\u0441\u043A\u0438\u0435 \u043E\u043F\u0446\u0438\u0438."},timeTrackingSection:{description:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0435 \u043E\u0442\u0441\u043B\u0435\u0436\u0438\u0432\u0430\u043D\u0438\u044F \u0432\u0440\u0435\u043C\u0435\u043D\u0438."},recurringSection:{description:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435 \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0435 \u0434\u043B\u044F \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0438\u043C\u0438\u0441\u044F \u0437\u0430\u0434\u0430\u0447\u0430\u043C\u0438."}},integrations:{basesIntegration:{header:"\u0418\u043D\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044F \u0441 Bases",description:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435 \u0438\u043D\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044E \u0441 \u043F\u043B\u0430\u0433\u0438\u043D\u043E\u043C Obsidian Bases. \u042D\u0442\u043E \u044D\u043A\u0441\u043F\u0435\u0440\u0438\u043C\u0435\u043D\u0442\u0430\u043B\u044C\u043D\u0430\u044F \u0444\u0443\u043D\u043A\u0446\u0438\u044F, \u043A\u043E\u0442\u043E\u0440\u0430\u044F \u0432 \u043D\u0430\u0441\u0442\u043E\u044F\u0449\u0435\u0435 \u0432\u0440\u0435\u043C\u044F \u043E\u043F\u0438\u0440\u0430\u0435\u0442\u0441\u044F \u043D\u0430 \u043D\u0435\u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 API Obsidian. \u041F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0435 \u043C\u043E\u0436\u0435\u0442 \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C\u0441\u044F \u0438\u043B\u0438 \u0441\u043B\u043E\u043C\u0430\u0442\u044C\u0441\u044F.",enable:{name:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0438\u043D\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044E \u0441 Bases",description:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0439 TaskNotes \u0432 \u043F\u043B\u0430\u0433\u0438\u043D\u0435 Obsidian Bases. \u041F\u043B\u0430\u0433\u0438\u043D Bases \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0432\u043A\u043B\u044E\u0447\u0435\u043D \u0434\u043B\u044F \u0440\u0430\u0431\u043E\u0442\u044B."},viewCommands:{header:"\u041F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u0438 \u0444\u0430\u0439\u043B\u044B Base",description:"TaskNotes \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u0444\u0430\u0439\u043B\u044B Obsidian Bases (.base) \u0434\u043B\u044F \u0441\u0432\u043E\u0438\u0445 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0439. \u042D\u0442\u0438 \u0444\u0430\u0439\u043B\u044B \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0441\u043E\u0437\u0434\u0430\u044E\u0442\u0441\u044F \u043F\u0440\u0438 \u0437\u0430\u043F\u0443\u0441\u043A\u0435, \u0435\u0441\u043B\u0438 \u043E\u043D\u0438 \u043D\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044E\u0442, \u0438 \u043D\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u044E\u0442\u0441\u044F \u0441 \u0443\u0447\u0451\u0442\u043E\u043C \u0432\u0430\u0448\u0438\u0445 \u0442\u0435\u043A\u0443\u0449\u0438\u0445 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u0432 (\u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u044F \u0437\u0430\u0434\u0430\u0447, \u0441\u043E\u043F\u043E\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043F\u043E\u043B\u0435\u0439, \u0441\u0442\u0430\u0442\u0443\u0441\u044B \u0438 \u0442.\u0434.).",descriptionRegen:"\u0424\u0430\u0439\u043B\u044B Base \u043D\u0435 \u043E\u0431\u043D\u043E\u0432\u043B\u044F\u044E\u0442\u0441\u044F \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u043F\u0440\u0438 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0438 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A. \u0427\u0442\u043E\u0431\u044B \u043F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438, \u0443\u0434\u0430\u043B\u0438\u0442\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0435 \u0444\u0430\u0439\u043B\u044B .base \u0438 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435 Obsidian, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \xAB\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B\xBB \u043D\u0438\u0436\u0435 \u0438\u043B\u0438 \u043E\u0442\u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0438\u0445 \u0432\u0440\u0443\u0447\u043D\u0443\u044E.",docsLink:"\u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u044E \u043F\u043E \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u043C \u0444\u043E\u0440\u043C\u0443\u043B\u0430\u043C \u0438 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0430\u043C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",docsLinkUrl:"https://tasknotes.dev/views/default-base-templates",commands:{miniCalendar:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043C\u0438\u043D\u0438-\u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C",kanban:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435 kanban",tasks:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0437\u0430\u0434\u0430\u0447",advancedCalendar:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u044B\u0439 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C",agenda:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043F\u043E\u0432\u0435\u0441\u0442\u043A\u0443 \u0434\u043D\u044F",relationships:"\u0412\u0438\u0434\u0436\u0435\u0442 \u0441\u0432\u044F\u0437\u0435\u0439"},fileLabel:"\u0424\u0430\u0439\u043B: {path}",resetButton:"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C",resetTooltip:"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u043A \u043F\u0443\u0442\u0438 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E"},autoCreateDefaultFiles:{name:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0441\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",description:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0441\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0435 \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u044B\u0435 Base \u0444\u0430\u0439\u043B\u044B \u043F\u0440\u0438 \u0437\u0430\u043F\u0443\u0441\u043A\u0435. \u041E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u043F\u0440\u0435\u0434\u043E\u0442\u0432\u0440\u0430\u0442\u0438\u0442\u044C \u043F\u043E\u0432\u0442\u043E\u0440\u043D\u043E\u0435 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0435 \u0443\u0434\u0430\u043B\u0451\u043D\u043D\u044B\u0445 \u043F\u0440\u0438\u043C\u0435\u0440\u043E\u0432 \u0444\u0430\u0439\u043B\u043E\u0432."},createDefaultFiles:{name:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",description:"\u0421\u043E\u0437\u0434\u0430\u0439\u0442\u0435 \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u044B\u0435 .base \u0444\u0430\u0439\u043B\u044B \u0432 \u0434\u0438\u0440\u0435\u043A\u0442\u043E\u0440\u0438\u0438 TaskNotes/Views/. \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0435 \u0444\u0430\u0439\u043B\u044B \u043D\u0435 \u0431\u0443\u0434\u0443\u0442 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0430\u043D\u044B.",buttonText:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B"},exportV3Views:{name:"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u043E\u0445\u0440\u0430\u043D\u0451\u043D\u043D\u044B\u0435 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F V3 \u0432 Bases",description:"\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0439\u0442\u0435 \u0432\u0441\u0435 \u0432\u0430\u0448\u0438 \u0441\u043E\u0445\u0440\u0430\u043D\u0451\u043D\u043D\u044B\u0435 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u0438\u0437 TaskNotes v3 \u0432 \u043E\u0434\u0438\u043D .base \u0444\u0430\u0439\u043B \u0441 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u0438\u043C\u0438 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u043C\u0438. \u042D\u0442\u043E \u043F\u043E\u043C\u043E\u0433\u0430\u0435\u0442 \u043F\u0435\u0440\u0435\u043D\u0435\u0441\u0442\u0438 \u0432\u0430\u0448\u0438 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432 v3 \u0432 \u043D\u043E\u0432\u0443\u044E \u0441\u0438\u0441\u0442\u0435\u043C\u0443 Bases.",buttonText:"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F V3",noViews:"\u041D\u0435\u0442 \u0441\u043E\u0445\u0440\u0430\u043D\u0451\u043D\u043D\u044B\u0445 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0439 \u0434\u043B\u044F \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0430",fileExists:"\u0424\u0430\u0439\u043B \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442",confirmOverwrite:'\u0424\u0430\u0439\u043B \u0441 \u0438\u043C\u0435\u043D\u0435\u043C "{fileName}" \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442. \u041F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0430\u0442\u044C?',success:"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u043E {count} \u0441\u043E\u0445\u0440\u0430\u043D\u0451\u043D\u043D\u044B\u0445 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0439 \u0432 {filePath}",error:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F: {message}"},notices:{enabled:"\u0418\u043D\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044F \u0441 Bases \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u0430. \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435 Obsidian \u0434\u043B\u044F \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438.",disabled:"\u0418\u043D\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044F \u0441 Bases \u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u0430. \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435 Obsidian \u0434\u043B\u044F \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F."}},calendarSubscriptions:{header:"\u041F\u043E\u0434\u043F\u0438\u0441\u043A\u0438 \u043D\u0430 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0438",description:"\u041F\u043E\u0434\u043F\u0438\u0448\u0438\u0442\u0435\u0441\u044C \u043D\u0430 \u0432\u043D\u0435\u0448\u043D\u0438\u0435 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0438 \u0447\u0435\u0440\u0435\u0437 URL ICS/iCal \u0434\u043B\u044F \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430 \u0441\u043E\u0431\u044B\u0442\u0438\u0439 \u0432\u043C\u0435\u0441\u0442\u0435 \u0441 \u0437\u0430\u0434\u0430\u0447\u0430\u043C\u0438.",defaultNoteTemplate:{name:"\u0428\u0430\u0431\u043B\u043E\u043D \u0437\u0430\u043C\u0435\u0442\u043A\u0438 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",description:"\u041F\u0443\u0442\u044C \u043A \u0444\u0430\u0439\u043B\u0443 \u0448\u0430\u0431\u043B\u043E\u043D\u0430 \u0434\u043B\u044F \u0437\u0430\u043C\u0435\u0442\u043E\u043A, \u0441\u043E\u0437\u0434\u0430\u043D\u043D\u044B\u0445 \u0438\u0437 \u0441\u043E\u0431\u044B\u0442\u0438\u0439 ICS",placeholder:"\u0428\u0430\u0431\u043B\u043E\u043D\u044B/\u0428\u0430\u0431\u043B\u043E\u043D \u0441\u043E\u0431\u044B\u0442\u0438\u044F.md"},defaultNoteFolder:{name:"\u041F\u0430\u043F\u043A\u0430 \u0437\u0430\u043C\u0435\u0442\u043E\u043A \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",description:"\u041F\u0430\u043F\u043A\u0430 \u0434\u043B\u044F \u0437\u0430\u043C\u0435\u0442\u043E\u043A, \u0441\u043E\u0437\u0434\u0430\u043D\u043D\u044B\u0445 \u0438\u0437 \u0441\u043E\u0431\u044B\u0442\u0438\u0439 ICS",placeholder:"\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C/\u0421\u043E\u0431\u044B\u0442\u0438\u044F"},filenameFormat:{name:"\u0424\u043E\u0440\u043C\u0430\u0442 \u0438\u043C\u0435\u043D\u0438 \u0444\u0430\u0439\u043B\u0430 \u0437\u0430\u043C\u0435\u0442\u043A\u0438 ICS",description:"\u041A\u0430\u043A \u0433\u0435\u043D\u0435\u0440\u0438\u0440\u0443\u044E\u0442\u0441\u044F \u0438\u043C\u0435\u043D\u0430 \u0444\u0430\u0439\u043B\u043E\u0432 \u0434\u043B\u044F \u0437\u0430\u043C\u0435\u0442\u043E\u043A, \u0441\u043E\u0437\u0434\u0430\u043D\u043D\u044B\u0445 \u0438\u0437 \u0441\u043E\u0431\u044B\u0442\u0438\u0439 ICS",options:{title:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0441\u043E\u0431\u044B\u0442\u0438\u044F",zettel:"\u0424\u043E\u0440\u043C\u0430\u0442 Zettelkasten",timestamp:"\u0412\u0440\u0435\u043C\u0435\u043D\u043D\u0430\u044F \u043C\u0435\u0442\u043A\u0430",custom:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0439 \u0448\u0430\u0431\u043B\u043E\u043D"}},customTemplate:{name:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0439 \u0448\u0430\u0431\u043B\u043E\u043D \u0438\u043C\u0435\u043D\u0438 \u0444\u0430\u0439\u043B\u0430 ICS",description:"\u0428\u0430\u0431\u043B\u043E\u043D \u0434\u043B\u044F \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0445 \u0438\u043C\u0435\u043D \u0444\u0430\u0439\u043B\u043E\u0432 \u0441\u043E\u0431\u044B\u0442\u0438\u0439 ICS",placeholder:"{date}-{title}"},useICSEndAsDue:{name:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0432\u0440\u0435\u043C\u044F \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F \u0441\u043E\u0431\u044B\u0442\u0438\u044F ICS \u043A\u0430\u043A \u0441\u0440\u043E\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F",description:"\u041F\u0440\u0438 \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0438 \u0437\u0430\u0434\u0430\u0447\u0438, \u0441\u043E\u0437\u0434\u0430\u043D\u043D\u044B\u0435 \u0438\u0437 \u0441\u043E\u0431\u044B\u0442\u0438\u0439 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F, \u0431\u0443\u0434\u0443\u0442 \u0438\u043C\u0435\u0442\u044C \u0441\u0440\u043E\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F, \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044B\u0439 \u043D\u0430 \u0432\u0440\u0435\u043C\u044F \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F \u0441\u043E\u0431\u044B\u0442\u0438\u044F. \u0414\u043B\u044F \u0441\u043E\u0431\u044B\u0442\u0438\u0439 \u043D\u0430 \u0432\u0435\u0441\u044C \u0434\u0435\u043D\u044C \u0441\u0440\u043E\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u0431\u0443\u0434\u0435\u0442 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D \u043D\u0430 \u0434\u0430\u0442\u0443 \u0441\u043E\u0431\u044B\u0442\u0438\u044F. \u0414\u043B\u044F \u0441\u043E\u0431\u044B\u0442\u0438\u0439 \u0441 \u0443\u043A\u0430\u0437\u0430\u043D\u043D\u044B\u043C \u0432\u0440\u0435\u043C\u0435\u043D\u0435\u043C \u0441\u0440\u043E\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u0431\u0443\u0434\u0435\u0442 \u0432\u043A\u043B\u044E\u0447\u0430\u0442\u044C \u0432\u0440\u0435\u043C\u044F \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F."}},subscriptionsList:{header:"\u0421\u043F\u0438\u0441\u043E\u043A \u043F\u043E\u0434\u043F\u0438\u0441\u043E\u043A \u043D\u0430 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0438",addSubscription:{name:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0443 \u043D\u0430 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C",description:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u0432\u0443\u044E \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0443 \u043D\u0430 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C \u0438\u0437 URL ICS/iCal \u0438\u043B\u0438 \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u0444\u0430\u0439\u043B\u0430",buttonText:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0443"},refreshAll:{name:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0432\u0441\u0435 \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0438",description:"\u0412\u0440\u0443\u0447\u043D\u0443\u044E \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0432\u0441\u0435 \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u043D\u044B\u0435 \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0438 \u043D\u0430 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0438",buttonText:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0432\u0441\u0435"},newCalendarName:"\u041D\u043E\u0432\u044B\u0439 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C",emptyState:"\u041F\u043E\u0434\u043F\u0438\u0441\u043A\u0438 \u043D\u0430 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0438 \u043D\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D\u044B. \u0414\u043E\u0431\u0430\u0432\u044C\u0442\u0435 \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0443 \u0434\u043B\u044F \u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u043D\u0435\u0448\u043D\u0438\u0445 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0435\u0439.",notices:{addSuccess:"\u041D\u043E\u0432\u0430\u044F \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0430 \u043D\u0430 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0430 - \u043F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435 \u0434\u0435\u0442\u0430\u043B\u0438",addFailure:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0443",serviceUnavailable:"\u0421\u0435\u0440\u0432\u0438\u0441 \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0438 ICS \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D",refreshSuccess:"\u0412\u0441\u0435 \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0438 \u043D\u0430 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0438 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u044B",refreshFailure:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0438 \u043D\u0430 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0438",updateFailure:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0443",deleteSuccess:'\u0423\u0434\u0430\u043B\u0435\u043D\u0430 \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0430 "{name}"',deleteFailure:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0443",enableFirst:"\u0421\u043D\u0430\u0447\u0430\u043B\u0430 \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u0435 \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0443",refreshSubscriptionSuccess:'\u041E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u043E "{name}"',refreshSubscriptionFailure:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0443"},labels:{enabled:"\u0412\u043A\u043B\u044E\u0447\u0435\u043D\u043E:",name:"\u0418\u043C\u044F:",type:"\u0422\u0438\u043F:",url:"URL:",filePath:"\u041F\u0443\u0442\u044C \u043A \u0444\u0430\u0439\u043B\u0443:",color:"\u0426\u0432\u0435\u0442:",refreshMinutes:"\u041E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 (\u043C\u0438\u043D):"},typeOptions:{remote:"\u0423\u0434\u0430\u043B\u0435\u043D\u043D\u044B\u0439 URL",local:"\u041B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0439 \u0444\u0430\u0439\u043B"},placeholders:{calendarName:"\u0418\u043C\u044F \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F",url:"URL ICS/iCal",filePath:"\u041F\u0443\u0442\u044C \u043A \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E\u043C\u0443 \u0444\u0430\u0439\u043B\u0443 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C.ics)",localFile:"\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C.ics"},statusLabels:{enabled:"\u0412\u043A\u043B\u044E\u0447\u0435\u043D\u043E",disabled:"\u041E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u043E",remote:"\u0423\u0434\u0430\u043B\u0435\u043D\u043D\u044B\u0439",localFile:"\u041B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0439 \u0444\u0430\u0439\u043B",remoteCalendar:"\u0423\u0434\u0430\u043B\u0435\u043D\u043D\u044B\u0439 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C",localFileCalendar:"\u041B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0439 \u0444\u0430\u0439\u043B",synced:"\u0421\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u043D\u043E {timeAgo}",error:"\u041E\u0448\u0438\u0431\u043A\u0430"},actions:{refreshNow:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0441\u0435\u0439\u0447\u0430\u0441",deleteSubscription:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0443"},refreshNow:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C Now",confirmDelete:{title:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0443",message:'\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0443 "{name}"? \u042D\u0442\u043E \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043D\u0435\u043B\u044C\u0437\u044F \u043E\u0442\u043C\u0435\u043D\u0438\u0442\u044C.',confirmText:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C"}},autoExport:{header:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0439 \u044D\u043A\u0441\u043F\u043E\u0440\u0442 ICS",description:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0435 \u0432\u0430\u0448\u0438 \u0437\u0430\u0434\u0430\u0447\u0438 \u0432 \u0444\u0430\u0439\u043B ICS.",enable:{name:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0439 \u044D\u043A\u0441\u043F\u043E\u0440\u0442",description:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044C \u0444\u0430\u0439\u043B ICS \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044B\u043C \u0441\u043E \u0432\u0441\u0435\u043C\u0438 \u0432\u0430\u0448\u0438\u043C\u0438 \u0437\u0430\u0434\u0430\u0447\u0430\u043C\u0438"},filePath:{name:"\u041F\u0443\u0442\u044C \u043A \u0444\u0430\u0439\u043B\u0443 \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0430",description:"\u041F\u0443\u0442\u044C, \u0433\u0434\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D \u0444\u0430\u0439\u043B ICS (\u043E\u0442\u043D\u043E\u0441\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u043A\u043E\u0440\u043D\u044F \u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0430)",placeholder:"tasknotes-kalendar.ics"},interval:{name:"\u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u044F (\u043C\u0435\u0436\u0434\u0443 5 \u0438 1440 \u043C\u0438\u043D\u0443\u0442)",description:"\u041A\u0430\u043A \u0447\u0430\u0441\u0442\u043E \u043E\u0431\u043D\u043E\u0432\u043B\u044F\u0442\u044C \u0444\u0430\u0439\u043B \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0430",placeholder:"60"},useDuration:{name:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0434\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0438 \u0434\u043B\u044F \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u0438 \u0441\u043E\u0431\u044B\u0442\u0438\u044F",description:"\u041A\u043E\u0433\u0434\u0430 \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u043E, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u043E\u0446\u0435\u043D\u043A\u0443 \u0432\u0440\u0435\u043C\u0435\u043D\u0438 (\u0434\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C) \u0437\u0430\u0434\u0430\u0447\u0438 \u0432\u043C\u0435\u0441\u0442\u043E \u0441\u0440\u043E\u043A\u0430 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u0434\u043B\u044F \u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F \u0441\u043E\u0431\u044B\u0442\u0438\u044F \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F. \u042D\u0442\u043E \u043F\u043E\u043B\u0435\u0437\u043D\u043E \u0434\u043B\u044F \u0440\u0430\u0431\u043E\u0447\u0438\u0445 \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u043E\u0432 GTD, \u0433\u0434\u0435 \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043E + \u0434\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u044F\u0435\u0442 \u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0440\u0430\u0431\u043E\u0442\u044B, \u0430 \u0441\u0440\u043E\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u044F\u0435\u0442 \u0434\u0435\u0434\u043B\u0430\u0439\u043D\u044B."},exportNow:{name:"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0435\u0439\u0447\u0430\u0441",description:"\u0412\u0440\u0443\u0447\u043D\u0443\u044E \u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C \u043D\u0435\u043C\u0435\u0434\u043B\u0435\u043D\u043D\u044B\u0439 \u044D\u043A\u0441\u043F\u043E\u0440\u0442",buttonText:"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0435\u0439\u0447\u0430\u0441"},status:{title:"\u0421\u0442\u0430\u0442\u0443\u0441 \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0430:",lastExport:"\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 \u044D\u043A\u0441\u043F\u043E\u0440\u0442: {time}",nextExport:"\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439 \u044D\u043A\u0441\u043F\u043E\u0440\u0442: {time}",noExports:"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u043E\u0432 \u0435\u0449\u0435 \u043D\u0435\u0442",notScheduled:"\u041D\u0435 \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043E",notInitialized:"\u0421\u0435\u0440\u0432\u0438\u0441 \u0430\u0432\u0442\u043E\u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0430 \u043D\u0435 \u0438\u043D\u0438\u0446\u0438\u0430\u043B\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u043D - \u043F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435 Obsidian",serviceNotInitialized:"\u0421\u043B\u0443\u0436\u0431\u0430 \u043D\u0435 \u0438\u043D\u0438\u0446\u0438\u0430\u043B\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u043D\u0430 - \u043F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435 Obsidian"},notices:{reloadRequired:"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 Obsidian \u0434\u043B\u044F \u043F\u0440\u0438\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0439 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0430.",exportSuccess:"\u0417\u0430\u0434\u0430\u0447\u0438 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u044B",exportFailure:"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u043D\u0435 \u0443\u0434\u0430\u043B\u0441\u044F - \u043F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u043A\u043E\u043D\u0441\u043E\u043B\u044C \u0434\u043B\u044F \u0434\u0435\u0442\u0430\u043B\u0435\u0439",serviceUnavailable:"\u0421\u0435\u0440\u0432\u0438\u0441 \u0430\u0432\u0442\u043E\u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0430 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D"}},googleCalendarExport:{header:"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0437\u0430\u0434\u0430\u0447 \u0432 Google \u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C",description:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0438\u0440\u0443\u0439\u0442\u0435 \u0432\u0430\u0448\u0438 \u0437\u0430\u0434\u0430\u0447\u0438 \u0441 Google \u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0451\u043C \u043A\u0430\u043A \u0441\u043E\u0431\u044B\u0442\u0438\u044F. \u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 Google \u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F \u0432\u044B\u0448\u0435.",enable:{name:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u044D\u043A\u0441\u043F\u043E\u0440\u0442 \u0437\u0430\u0434\u0430\u0447",description:"\u041F\u0440\u0438 \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0438 \u0437\u0430\u0434\u0430\u0447\u0438 \u0441 \u0434\u0430\u0442\u0430\u043C\u0438 \u0431\u0443\u0434\u0443\u0442 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u0441 Google \u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0451\u043C \u043A\u0430\u043A \u0441\u043E\u0431\u044B\u0442\u0438\u044F."},targetCalendar:{name:"\u0426\u0435\u043B\u0435\u0432\u043E\u0439 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C",description:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435, \u0432 \u043A\u0430\u043A\u043E\u043C \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0435 \u0441\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u0441\u043E\u0431\u044B\u0442\u0438\u044F \u0437\u0430\u0434\u0430\u0447.",placeholder:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C...",connectFirst:"\u0421\u043D\u0430\u0447\u0430\u043B\u0430 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0438\u0442\u0435 Google \u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C",primarySuffix:" (\u041E\u0441\u043D\u043E\u0432\u043D\u043E\u0439)"},syncTrigger:{name:"\u0422\u0440\u0438\u0433\u0433\u0435\u0440 \u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0430\u0446\u0438\u0438",description:"\u041A\u0430\u043A\u0430\u044F \u0434\u0430\u0442\u0430 \u0437\u0430\u0434\u0430\u0447\u0438 \u0434\u043E\u043B\u0436\u043D\u0430 \u0432\u044B\u0437\u044B\u0432\u0430\u0442\u044C \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0435 \u0441\u043E\u0431\u044B\u0442\u0438\u044F.",options:{scheduled:"\u0417\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0430\u044F \u0434\u0430\u0442\u0430",due:"\u0421\u0440\u043E\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F",both:"\u041E\u0431\u0430 (\u043F\u0440\u0435\u0434\u043F\u043E\u0447\u0442\u0435\u043D\u0438\u0435 \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0439)"}},allDayEvents:{name:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043A\u0430\u043A \u0441\u043E\u0431\u044B\u0442\u0438\u044F \u043D\u0430 \u0432\u0435\u0441\u044C \u0434\u0435\u043D\u044C",description:"\u041F\u0440\u0438 \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0438 \u0437\u0430\u0434\u0430\u0447\u0438 \u0441\u043E\u0437\u0434\u0430\u044E\u0442\u0441\u044F \u043A\u0430\u043A \u0441\u043E\u0431\u044B\u0442\u0438\u044F \u043D\u0430 \u0432\u0435\u0441\u044C \u0434\u0435\u043D\u044C. \u041F\u0440\u0438 \u0432\u044B\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0438 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u043E\u0446\u0435\u043D\u043A\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u0434\u043B\u044F \u0434\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u0438."},defaultDuration:{name:"\u0414\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u0441\u043E\u0431\u044B\u0442\u0438\u044F \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",description:"\u0414\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u0432 \u043C\u0438\u043D\u0443\u0442\u0430\u0445 \u0434\u043B\u044F \u0441\u043E\u0431\u044B\u0442\u0438\u0439 \u0441 \u0443\u043A\u0430\u0437\u0430\u043D\u043D\u044B\u043C \u0432\u0440\u0435\u043C\u0435\u043D\u0435\u043C (\u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F, \u043A\u043E\u0433\u0434\u0430 \u0443 \u0437\u0430\u0434\u0430\u0447\u0438 \u043D\u0435\u0442 \u043E\u0446\u0435\u043D\u043A\u0438 \u0432\u0440\u0435\u043C\u0435\u043D\u0438)."},eventTitleTemplate:{name:"\u0428\u0430\u0431\u043B\u043E\u043D \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043A\u0430 \u0441\u043E\u0431\u044B\u0442\u0438\u044F",description:"\u0428\u0430\u0431\u043B\u043E\u043D \u0434\u043B\u044F \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043A\u043E\u0432 \u0441\u043E\u0431\u044B\u0442\u0438\u0439. \u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u043F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0435: {{title}}, {{status}}, {{priority}}",placeholder:"{{title}}"},includeDescription:{name:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0434\u0435\u0442\u0430\u043B\u0438 \u0437\u0430\u0434\u0430\u0447\u0438 \u0432 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435",description:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043C\u0435\u0442\u0430\u0434\u0430\u043D\u043D\u044B\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 (\u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442, \u0441\u0442\u0430\u0442\u0443\u0441, \u0442\u0435\u0433\u0438 \u0438 \u0442.\u0434.) \u0432 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0441\u043E\u0431\u044B\u0442\u0438\u044F."},includeObsidianLink:{name:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443 \u043D\u0430 Obsidian",description:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443 \u043D\u0430 \u0437\u0430\u0434\u0430\u0447\u0443 \u0432 Obsidian \u0432 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0441\u043E\u0431\u044B\u0442\u0438\u044F."},defaultReminder:{name:"\u041D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u0435 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",description:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432\u0441\u043F\u043B\u044B\u0432\u0430\u044E\u0449\u0435\u0435 \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u0435 \u043A \u0441\u043E\u0431\u044B\u0442\u0438\u044F\u043C Google \u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F. \u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u043C\u0438\u043D\u0443\u0442\u044B \u0434\u043E \u0441\u043E\u0431\u044B\u0442\u0438\u044F (0 = \u0431\u0435\u0437 \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u044F). \u041E\u0431\u044B\u0447\u043D\u044B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F: 15, 30, 60, 1440 (1 \u0434\u0435\u043D\u044C)."},automaticSyncBehavior:{header:"\u041F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0435 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0439 \u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0430\u0446\u0438\u0438"},syncOnCreate:{name:"\u0421\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u0440\u0438 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0438 \u0437\u0430\u0434\u0430\u0447\u0438",description:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0441\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u0441\u043E\u0431\u044B\u0442\u0438\u0435 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F \u043F\u0440\u0438 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0438 \u043D\u043E\u0432\u043E\u0439 \u0437\u0430\u0434\u0430\u0447\u0438."},syncOnUpdate:{name:"\u0421\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u0440\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0438 \u0437\u0430\u0434\u0430\u0447\u0438",description:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u044F\u0442\u044C \u0441\u043E\u0431\u044B\u0442\u0438\u0435 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F \u043F\u0440\u0438 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0438 \u0437\u0430\u0434\u0430\u0447\u0438."},syncOnComplete:{name:"\u0421\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u0440\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u0438 \u0437\u0430\u0434\u0430\u0447\u0438",description:"\u041E\u0431\u043D\u043E\u0432\u043B\u044F\u0442\u044C \u0441\u043E\u0431\u044B\u0442\u0438\u0435 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F \u043F\u0440\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u0438 \u0437\u0430\u0434\u0430\u0447\u0438 (\u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0435\u0442 \u0433\u0430\u043B\u043E\u0447\u043A\u0443 \u043A \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043A\u0443)."},syncOnDelete:{name:"\u0423\u0434\u0430\u043B\u044F\u0442\u044C \u0441\u043E\u0431\u044B\u0442\u0438\u0435 \u043F\u0440\u0438 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0438 \u0437\u0430\u0434\u0430\u0447\u0438",description:"\u0423\u0434\u0430\u043B\u044F\u0442\u044C \u0441\u043E\u0431\u044B\u0442\u0438\u0435 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F \u043F\u0440\u0438 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0438 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0435\u0439 \u0437\u0430\u0434\u0430\u0447\u0438."},manualSyncActions:{header:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u0440\u0443\u0447\u043D\u043E\u0439 \u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0430\u0446\u0438\u0438"},syncAllTasks:{name:"\u0421\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0435 \u0437\u0430\u0434\u0430\u0447\u0438",description:"\u0421\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0441 Google \u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0451\u043C. \u0411\u0443\u0434\u0443\u0442 \u0441\u043E\u0437\u0434\u0430\u043D\u044B \u0441\u043E\u0431\u044B\u0442\u0438\u044F \u0434\u043B\u044F \u0437\u0430\u0434\u0430\u0447, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0435\u0449\u0451 \u043D\u0435 \u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u043D\u044B.",buttonText:"\u0421\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0435"},unlinkAllTasks:{name:"\u041E\u0442\u0432\u044F\u0437\u0430\u0442\u044C \u0432\u0441\u0435 \u0437\u0430\u0434\u0430\u0447\u0438",description:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0441\u0435 \u0441\u0432\u044F\u0437\u0438 \u0437\u0430\u0434\u0430\u0447\u0430-\u0441\u043E\u0431\u044B\u0442\u0438\u0435 \u0431\u0435\u0437 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F \u0441\u043E\u0431\u044B\u0442\u0438\u0439 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F.",buttonText:"\u041E\u0442\u0432\u044F\u0437\u0430\u0442\u044C \u0432\u0441\u0435",confirmTitle:"\u041E\u0442\u0432\u044F\u0437\u0430\u0442\u044C \u0432\u0441\u0435 \u0437\u0430\u0434\u0430\u0447\u0438",confirmMessage:"\u042D\u0442\u043E \u0443\u0434\u0430\u043B\u0438\u0442 \u0432\u0441\u0435 \u0441\u0432\u044F\u0437\u0438 \u043C\u0435\u0436\u0434\u0443 \u0437\u0430\u0434\u0430\u0447\u0430\u043C\u0438 \u0438 \u0441\u043E\u0431\u044B\u0442\u0438\u044F\u043C\u0438 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F. \u0421\u043E\u0431\u044B\u0442\u0438\u044F \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F \u043E\u0441\u0442\u0430\u043D\u0443\u0442\u0441\u044F, \u043D\u043E \u0431\u043E\u043B\u044C\u0448\u0435 \u043D\u0435 \u0431\u0443\u0434\u0443\u0442 \u043E\u0431\u043D\u043E\u0432\u043B\u044F\u0442\u044C\u0441\u044F \u043F\u0440\u0438 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0438 \u0437\u0430\u0434\u0430\u0447. \u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B?",confirmButtonText:"\u041E\u0442\u0432\u044F\u0437\u0430\u0442\u044C \u0432\u0441\u0435"},notices:{notEnabled:"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0432 Google \u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C \u043D\u0435 \u0432\u043A\u043B\u044E\u0447\u0435\u043D. \u041D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435 \u0435\u0433\u043E \u0432 \u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 > \u0418\u043D\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438.",notEnabledOrConfigured:"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0432 Google \u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C \u043D\u0435 \u0432\u043A\u043B\u044E\u0447\u0435\u043D \u0438\u043B\u0438 \u043D\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D",serviceNotAvailable:"\u0421\u0435\u0440\u0432\u0438\u0441 \u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0430\u0446\u0438\u0438 \u0441 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0451\u043C \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D",syncResults:"\u0421\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u043D\u043E: {synced}, \u041E\u0448\u0438\u0431\u043E\u043A: {failed}, \u041F\u0440\u043E\u043F\u0443\u0449\u0435\u043D\u043E: {skipped}",taskSynced:"\u0417\u0430\u0434\u0430\u0447\u0430 \u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u043D\u0430 \u0441 Google \u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0451\u043C",noActiveFile:"\u041D\u0435\u0442 \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u0433\u043E \u0444\u0430\u0439\u043B\u0430",notATask:"\u0422\u0435\u043A\u0443\u0449\u0438\u0439 \u0444\u0430\u0439\u043B \u043D\u0435 \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u0437\u0430\u0434\u0430\u0447\u0435\u0439",noDateToSync:"\u0423 \u0437\u0430\u0434\u0430\u0447\u0438 \u043D\u0435\u0442 \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0439 \u0434\u0430\u0442\u044B \u0438\u043B\u0438 \u0441\u0440\u043E\u043A\u0430 \u0434\u043B\u044F \u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0430\u0446\u0438\u0438",syncFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0443 \u0441 Google \u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0451\u043C: {message}",connectionExpired:"\u0421\u0440\u043E\u043A \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F \u043A Google \u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044E \u0438\u0441\u0442\u0451\u043A. \u041F\u043E\u0434\u043A\u043B\u044E\u0447\u0438\u0442\u0435\u0441\u044C \u0437\u0430\u043D\u043E\u0432\u043E \u0432 \u0440\u0430\u0437\u0434\u0435\u043B\u0435 \u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 > \u0418\u043D\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438.",syncingTasks:"\u0421\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0430\u0446\u0438\u044F {total} \u0437\u0430\u0434\u0430\u0447 \u0441 Google \u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0451\u043C...",syncComplete:"\u0421\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0430\u0446\u0438\u044F \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0430: {synced} \u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u043D\u043E, {failed} \u043E\u0448\u0438\u0431\u043E\u043A, {skipped} \u043F\u0440\u043E\u043F\u0443\u0449\u0435\u043D\u043E",eventsDeletedAndUnlinked:"\u0412\u0441\u0435 \u0441\u043E\u0431\u044B\u0442\u0438\u044F \u0443\u0434\u0430\u043B\u0435\u043D\u044B \u0438 \u043E\u0442\u0432\u044F\u0437\u0430\u043D\u044B",tasksUnlinked:"\u0412\u0441\u0435 \u0441\u0432\u044F\u0437\u0438 \u0437\u0430\u0434\u0430\u0447 \u0443\u0434\u0430\u043B\u0435\u043D\u044B"},eventDescription:{untitledTask:"\u0411\u0435\u0437\u044B\u043C\u044F\u043D\u043D\u0430\u044F \u0437\u0430\u0434\u0430\u0447\u0430",priority:"\u041F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442: {value}",status:"\u0421\u0442\u0430\u0442\u0443\u0441: {value}",due:"\u0421\u0440\u043E\u043A: {value}",scheduled:"\u0417\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043E: {value}",timeEstimate:"\u041E\u0446\u0435\u043D\u043A\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u0438: {value}",tags:"\u0422\u0435\u0433\u0438: {value}",contexts:"\u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u044B: {value}",projects:"\u041F\u0440\u043E\u0435\u043A\u0442\u044B: {value}",openInObsidian:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0432 Obsidian"}},httpApi:{header:"HTTP API",description:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C HTTP API \u0434\u043B\u044F \u0432\u043D\u0435\u0448\u043D\u0438\u0445 \u0438\u043D\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0439 \u0438 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438.",enable:{name:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C HTTP API",description:"\u0417\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0439 HTTP \u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u043B\u044F \u0434\u043E\u0441\u0442\u0443\u043F\u0430 \u043A API"},port:{name:"\u041F\u043E\u0440\u0442 API",description:"\u041D\u043E\u043C\u0435\u0440 \u043F\u043E\u0440\u0442\u0430 \u0434\u043B\u044F \u0441\u0435\u0440\u0432\u0435\u0440\u0430 HTTP API",placeholder:"3000"},authToken:{name:"\u0422\u043E\u043A\u0435\u043D \u0430\u0443\u0442\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u0438 API",description:"\u0422\u043E\u043A\u0435\u043D, \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u044B\u0439 \u0434\u043B\u044F \u0430\u0443\u0442\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u0438 API (\u043E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u043F\u0443\u0441\u0442\u044B\u043C \u0434\u043B\u044F \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044F \u0430\u0443\u0442\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u0438)",placeholder:"\u0432\u0430\u0448-\u0441\u0435\u043A\u0440\u0435\u0442\u043D\u044B\u0439-\u0442\u043E\u043A\u0435\u043D"},mcp:{enable:{name:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0441\u0435\u0440\u0432\u0435\u0440 MCP",description:"\u041F\u0440\u0435\u0434\u043E\u0441\u0442\u0430\u0432\u043B\u044F\u0435\u0442 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B TaskNotes \u0447\u0435\u0440\u0435\u0437 Model Context Protocol \u043D\u0430 \u043A\u043E\u043D\u0435\u0447\u043D\u043E\u0439 \u0442\u043E\u0447\u043A\u0435 /mcp. \u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u0432\u043A\u043B\u044E\u0447\u0451\u043D\u043D\u044B\u0439 HTTP API."}},endpoints:{header:"\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u043A\u043E\u043D\u0435\u0447\u043D\u044B\u0435 \u0442\u043E\u0447\u043A\u0438 API",expandIcon:"\u25B6",collapseIcon:"\u25BC"}},webhooks:{header:"\u0412\u0435\u0431-\u0445\u0443\u043A\u0438",description:{overview:"\u0412\u0435\u0431-\u0445\u0443\u043A\u0438 \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u044F\u044E\u0442 \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F \u0432 \u0440\u0435\u0430\u043B\u044C\u043D\u043E\u043C \u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u0432\u043D\u0435\u0448\u043D\u0438\u043C \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043C \u043F\u0440\u0438 \u0432\u043E\u0437\u043D\u0438\u043A\u043D\u043E\u0432\u0435\u043D\u0438\u0438 \u0441\u043E\u0431\u044B\u0442\u0438\u0439 TaskNotes.",usage:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435 \u0432\u0435\u0431-\u0445\u0443\u043A\u0438 \u0434\u043B\u044F \u0438\u043D\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430\u043C\u0438 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438, \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043C\u0438 \u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u043B\u0438 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u043C\u0438 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F\u043C\u0438."},addWebhook:{name:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432\u0435\u0431-\u0445\u0443\u043A",description:"\u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u043E\u0432\u0443\u044E \u043A\u043E\u043D\u0435\u0447\u043D\u0443\u044E \u0442\u043E\u0447\u043A\u0443 \u0432\u0435\u0431-\u0445\u0443\u043A\u0430",buttonText:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432\u0435\u0431-\u0445\u0443\u043A"},emptyState:{message:"\u0412\u0435\u0431-\u0445\u0443\u043A\u0438 \u043D\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D\u044B. \u0414\u043E\u0431\u0430\u0432\u044C\u0442\u0435 \u0432\u0435\u0431-\u0445\u0443\u043A \u0434\u043B\u044F \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u0439 \u0432 \u0440\u0435\u0430\u043B\u044C\u043D\u043E\u043C \u0432\u0440\u0435\u043C\u0435\u043D\u0438.",buttonText:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432\u0435\u0431-\u0445\u0443\u043A"},labels:{active:"\u0410\u043A\u0442\u0438\u0432\u043D\u044B\u0439:",url:"URL:",events:"\u0421\u043E\u0431\u044B\u0442\u0438\u044F:",transform:"\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u0435:"},placeholders:{url:"URL \u0432\u0435\u0431-\u0445\u0443\u043A\u0430",noEventsSelected:"\u0421\u043E\u0431\u044B\u0442\u0438\u044F \u043D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u044B",rawPayload:"\u0421\u044B\u0440\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435 (\u0431\u0435\u0437 \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u044F)"},statusLabels:{active:"\u0410\u043A\u0442\u0438\u0432\u043D\u044B\u0439",inactive:"\u041D\u0435\u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0439",created:"\u0421\u043E\u0437\u0434\u0430\u043D {timeAgo}"},actions:{editEvents:"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u043E\u0431\u044B\u0442\u0438\u044F",delete:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C"},editEvents:"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u043E\u0431\u044B\u0442\u0438\u044F",notices:{urlUpdated:"URL \u0432\u0435\u0431-\u0445\u0443\u043A\u0430 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D",enabled:"\u0412\u0435\u0431-\u0445\u0443\u043A \u0432\u043A\u043B\u044E\u0447\u0435\u043D",disabled:"\u0412\u0435\u0431-\u0445\u0443\u043A \u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D",created:"\u0412\u0435\u0431-\u0445\u0443\u043A \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u0441\u043E\u0437\u0434\u0430\u043D",deleted:"\u0412\u0435\u0431-\u0445\u0443\u043A \u0443\u0434\u0430\u043B\u0435\u043D",updated:"\u0412\u0435\u0431-\u0445\u0443\u043A \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D"},confirmDelete:{title:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0435\u0431-\u0445\u0443\u043A",message:`\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u044D\u0442\u043E\u0442 \u0432\u0435\u0431-\u0445\u0443\u043A?
URL: {url}
\u042D\u0442\u043E \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043D\u0435\u043B\u044C\u0437\u044F \u043E\u0442\u043C\u0435\u043D\u0438\u0442\u044C.`,confirmText:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C"},cardHeader:"\u0412\u0435\u0431-\u0445\u0443\u043A",cardFields:{active:"\u0410\u043A\u0442\u0438\u0432\u043D\u044B\u0439:",url:"URL:",events:"\u0421\u043E\u0431\u044B\u0442\u0438\u044F:",transform:"\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u0435:"},eventsDisplay:{noEvents:"\u0421\u043E\u0431\u044B\u0442\u0438\u044F \u043D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u044B"},transformDisplay:{noTransform:"\u0421\u044B\u0440\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435 (\u0431\u0435\u0437 \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u044F)"},secretModal:{title:"\u0421\u0435\u043A\u0440\u0435\u0442 \u0432\u0435\u0431-\u0445\u0443\u043A\u0430 \u0441\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u043D",description:"\u0412\u0430\u0448 \u0441\u0435\u043A\u0440\u0435\u0442 \u0432\u0435\u0431-\u0445\u0443\u043A\u0430 \u0431\u044B\u043B \u0441\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u043D. \u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u0435 \u044D\u0442\u043E\u0442 \u0441\u0435\u043A\u0440\u0435\u0442, \u0442\u0430\u043A \u043A\u0430\u043A \u0432\u044B \u0431\u043E\u043B\u044C\u0448\u0435 \u043D\u0435 \u0441\u043C\u043E\u0436\u0435\u0442\u0435 \u0435\u0433\u043E \u0443\u0432\u0438\u0434\u0435\u0442\u044C:",usage:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u044D\u0442\u043E\u0442 \u0441\u0435\u043A\u0440\u0435\u0442 \u0434\u043B\u044F \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0438 \u0434\u0430\u043D\u043D\u044B\u0445 \u0432\u0435\u0431-\u0445\u0443\u043A\u0430 \u0432 \u0432\u0430\u0448\u0435\u043C \u043F\u0440\u0438\u043D\u0438\u043C\u0430\u044E\u0449\u0435\u043C \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438.",gotIt:"\u041F\u043E\u043D\u044F\u0442\u043D\u043E"},editModal:{title:"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u0435\u0431-\u0445\u0443\u043A",eventsHeader:"\u0421\u043E\u0431\u044B\u0442\u0438\u044F \u0434\u043B\u044F \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0438"},events:{taskCreated:{label:"\u0417\u0430\u0434\u0430\u0447\u0430 \u0441\u043E\u0437\u0434\u0430\u043D\u0430",description:"\u041F\u0440\u0438 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0438 \u043D\u043E\u0432\u044B\u0445 \u0437\u0430\u0434\u0430\u0447"},taskUpdated:{label:"\u0417\u0430\u0434\u0430\u0447\u0430 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0430",description:"\u041F\u0440\u0438 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0438 \u0437\u0430\u0434\u0430\u0447"},taskCompleted:{label:"\u0417\u0430\u0434\u0430\u0447\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0430",description:"\u041F\u0440\u0438 \u043E\u0442\u043C\u0435\u0442\u043A\u0435 \u0437\u0430\u0434\u0430\u0447 \u043A\u0430\u043A \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043D\u044B\u0445"},taskDeleted:{label:"\u0417\u0430\u0434\u0430\u0447\u0430 \u0443\u0434\u0430\u043B\u0435\u043D\u0430",description:"\u041F\u0440\u0438 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0438 \u0437\u0430\u0434\u0430\u0447"},taskArchived:{label:"\u0417\u0430\u0434\u0430\u0447\u0430 \u0430\u0440\u0445\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u043D\u0430",description:"\u041F\u0440\u0438 \u0430\u0440\u0445\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0438 \u0437\u0430\u0434\u0430\u0447"},taskUnarchived:{label:"\u0417\u0430\u0434\u0430\u0447\u0430 \u0440\u0430\u0437\u0430\u0440\u0445\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u043D\u0430",description:"\u041F\u0440\u0438 \u0440\u0430\u0437\u0430\u0440\u0445\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0438 \u0437\u0430\u0434\u0430\u0447"},timeStarted:{label:"\u0412\u0440\u0435\u043C\u044F \u043D\u0430\u0447\u0430\u0442\u043E",description:"\u041F\u0440\u0438 \u043D\u0430\u0447\u0430\u043B\u0435 \u043E\u0442\u0441\u043B\u0435\u0436\u0438\u0432\u0430\u043D\u0438\u044F \u0432\u0440\u0435\u043C\u0435\u043D\u0438"},timeStopped:{label:"\u0412\u0440\u0435\u043C\u044F \u043E\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E",description:"\u041F\u0440\u0438 \u043E\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0435 \u043E\u0442\u0441\u043B\u0435\u0436\u0438\u0432\u0430\u043D\u0438\u044F \u0432\u0440\u0435\u043C\u0435\u043D\u0438"},pomodoroStarted:{label:"\u041F\u043E\u043C\u043E\u0434\u043E\u0440\u043E \u043D\u0430\u0447\u0430\u0442\u043E",description:"\u041F\u0440\u0438 \u043D\u0430\u0447\u0430\u043B\u0435 \u0441\u0435\u0441\u0441\u0438\u0439 \u043F\u043E\u043C\u043E\u0434\u043E\u0440\u043E"},pomodoroCompleted:{label:"\u041F\u043E\u043C\u043E\u0434\u043E\u0440\u043E \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E",description:"\u041F\u0440\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u0438 \u0441\u0435\u0441\u0441\u0438\u0439 \u043F\u043E\u043C\u043E\u0434\u043E\u0440\u043E"},pomodoroInterrupted:{label:"\u041F\u043E\u043C\u043E\u0434\u043E\u0440\u043E \u043F\u0440\u0435\u0440\u0432\u0430\u043D\u043E",description:"\u041F\u0440\u0438 \u043E\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0435 \u0441\u0435\u0441\u0441\u0438\u0439 \u043F\u043E\u043C\u043E\u0434\u043E\u0440\u043E"},recurringCompleted:{label:"\u042D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u044F \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D",description:"\u041F\u0440\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u0438 \u044D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440\u043E\u0432 \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0438\u0445\u0441\u044F \u0437\u0430\u0434\u0430\u0447"},reminderTriggered:{label:"\u041D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u0435 \u0441\u0440\u0430\u0431\u043E\u0442\u0430\u043B\u043E",description:"\u041F\u0440\u0438 \u0430\u043A\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u0439 \u0437\u0430\u0434\u0430\u0447"}},modals:{secretGenerated:{title:"\u0421\u0435\u043A\u0440\u0435\u0442 \u0432\u0435\u0431-\u0445\u0443\u043A\u0430 \u0441\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u043D",description:"\u0412\u0430\u0448 \u0441\u0435\u043A\u0440\u0435\u0442 \u0432\u0435\u0431-\u0445\u0443\u043A\u0430 \u0431\u044B\u043B \u0441\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u043D. \u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u0435 \u044D\u0442\u043E\u0442 \u0441\u0435\u043A\u0440\u0435\u0442, \u0442\u0430\u043A \u043A\u0430\u043A \u0432\u044B \u0431\u043E\u043B\u044C\u0448\u0435 \u043D\u0435 \u0441\u043C\u043E\u0436\u0435\u0442\u0435 \u0435\u0433\u043E \u0443\u0432\u0438\u0434\u0435\u0442\u044C:",usage:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u044D\u0442\u043E\u0442 \u0441\u0435\u043A\u0440\u0435\u0442 \u0434\u043B\u044F \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0438 \u0434\u0430\u043D\u043D\u044B\u0445 \u0432\u0435\u0431-\u0445\u0443\u043A\u0430 \u0432 \u0432\u0430\u0448\u0435\u043C \u043F\u0440\u0438\u043D\u0438\u043C\u0430\u044E\u0449\u0435\u043C \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438.",buttonText:"\u041F\u043E\u043D\u044F\u0442\u043D\u043E"},edit:{title:"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u0435\u0431-\u0445\u0443\u043A",eventsSection:"\u0421\u043E\u0431\u044B\u0442\u0438\u044F \u0434\u043B\u044F \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0438",transformSection:"\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u044F (\u043E\u043F\u0446\u0438\u043E\u043D\u0430\u043B\u044C\u043D\u043E)",headersSection:"\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043A\u043E\u0432",transformFile:{name:"\u0424\u0430\u0439\u043B \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u044F",description:"\u041F\u0443\u0442\u044C \u043A \u0444\u0430\u0439\u043B\u0443 \u0448\u0430\u0431\u043B\u043E\u043D\u0430 .json \u0432 \u0432\u0430\u0448\u0435\u043C \u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0435, \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0434\u0430\u043D\u043D\u044B\u0435 \u0432\u0435\u0431-\u0445\u0443\u043A\u0430",placeholder:"simple-template.json"},customHeaders:{name:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0435 \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043A\u0438",description:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043A\u0438 TaskNotes (\u0442\u0438\u043F \u0441\u043E\u0431\u044B\u0442\u0438\u044F, \u043F\u043E\u0434\u043F\u0438\u0441\u044C, ID \u0434\u043E\u0441\u0442\u0430\u0432\u043A\u0438). \u041E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u0435 \u0434\u043B\u044F Discord, Slack \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043E\u0432 \u0441\u043E \u0441\u0442\u0440\u043E\u0433\u0438\u043C\u0438 \u043F\u043E\u043B\u0438\u0442\u0438\u043A\u0430\u043C\u0438 CORS."},buttons:{cancel:"\u041E\u0442\u043C\u0435\u043D\u0430",save:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F"},notices:{selectAtLeastOneEvent:"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0445\u043E\u0442\u044F \u0431\u044B \u043E\u0434\u043D\u043E \u0441\u043E\u0431\u044B\u0442\u0438\u0435"}},add:{title:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432\u0435\u0431-\u0445\u0443\u043A",eventsSection:"\u0421\u043E\u0431\u044B\u0442\u0438\u044F \u0434\u043B\u044F \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0438",transformSection:"\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u044F (\u043E\u043F\u0446\u0438\u043E\u043D\u0430\u043B\u044C\u043D\u043E)",headersSection:"\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043A\u043E\u0432",url:{name:"URL \u0432\u0435\u0431-\u0445\u0443\u043A\u0430",description:"\u041A\u043E\u043D\u0435\u0447\u043D\u0430\u044F \u0442\u043E\u0447\u043A\u0430, \u043A\u0443\u0434\u0430 \u0431\u0443\u0434\u0443\u0442 \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u044F\u0442\u044C\u0441\u044F \u0434\u0430\u043D\u043D\u044B\u0435 \u0432\u0435\u0431-\u0445\u0443\u043A\u0430",placeholder:"https://your-service.com/webhook"},transformFile:{name:"\u0424\u0430\u0439\u043B \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u044F",description:"\u041F\u0443\u0442\u044C \u043A \u0444\u0430\u0439\u043B\u0443 \u0448\u0430\u0431\u043B\u043E\u043D\u0430 .json \u0432 \u0432\u0430\u0448\u0435\u043C \u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0435, \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0434\u0430\u043D\u043D\u044B\u0435 \u0432\u0435\u0431-\u0445\u0443\u043A\u0430",placeholder:"simple-template.json"},customHeaders:{name:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0435 \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043A\u0438",description:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043A\u0438 TaskNotes (\u0442\u0438\u043F \u0441\u043E\u0431\u044B\u0442\u0438\u044F, \u043F\u043E\u0434\u043F\u0438\u0441\u044C, ID \u0434\u043E\u0441\u0442\u0430\u0432\u043A\u0438). \u041E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u0435 \u0434\u043B\u044F Discord, Slack \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043E\u0432 \u0441\u043E \u0441\u0442\u0440\u043E\u0433\u0438\u043C\u0438 \u043F\u043E\u043B\u0438\u0442\u0438\u043A\u0430\u043C\u0438 CORS."},transformHelp:{title:"\u0428\u0430\u0431\u043B\u043E\u043D\u044B \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u044F JSON \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u044E\u0442 \u043D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0435 \u0432\u0435\u0431-\u0445\u0443\u043A\u0430:",jsFiles:"",jsDescription:"",jsonFiles:"\u0424\u0430\u0439\u043B\u044B .json:",jsonDescription:" \u0428\u0430\u0431\u043B\u043E\u043D\u044B \u0441 ",jsonVariable:"${data.task.title}",leaveEmpty:"\u041E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u043F\u0443\u0441\u0442\u044B\u043C:",leaveEmptyDescription:" \u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0441\u044B\u0440\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435",example:"\u041F\u0440\u0438\u043C\u0435\u0440:",exampleFile:"simple-template.json"},buttons:{cancel:"\u041E\u0442\u043C\u0435\u043D\u0430",add:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432\u0435\u0431-\u0445\u0443\u043A"},notices:{urlRequired:"URL \u0432\u0435\u0431-\u0445\u0443\u043A\u0430 \u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u0435\u043D",selectAtLeastOneEvent:"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0445\u043E\u0442\u044F \u0431\u044B \u043E\u0434\u043D\u043E \u0441\u043E\u0431\u044B\u0442\u0438\u0435"}}}},otherIntegrations:{header:"\u0418\u043D\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 \u0434\u0440\u0443\u0433\u0438\u043C\u0438 \u043F\u043B\u0430\u0433\u0438\u043D\u0430\u043C\u0438",description:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435 \u0438\u043D\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 \u0434\u0440\u0443\u0433\u0438\u043C\u0438 \u043F\u043B\u0430\u0433\u0438\u043D\u0430\u043C\u0438 Obsidian."},mdbaseSpec:{header:"\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0442\u0438\u043F\u043E\u0432 mdbase",learnMore:"\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u0435\u0435 \u043E mdbase-spec",enable:{name:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0442\u0438\u043F\u043E\u0432 mdbase",description:"\u0421\u043E\u0437\u0434\u0430\u0451\u0442 \u0438 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0444\u0430\u0439\u043B\u044B \u0442\u0438\u043F\u043E\u0432 mdbase (mdbase.yaml \u0438 _types/task.md) \u0432 \u043A\u043E\u0440\u043D\u0435 \u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0430 \u043F\u0440\u0438 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0438 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A."}},timeFormats:{justNow:"\u0422\u043E\u043B\u044C\u043A\u043E \u0447\u0442\u043E",minutesAgo:"{minutes} \u043C\u0438\u043D\u0443\u0442{plural} \u043D\u0430\u0437\u0430\u0434",hoursAgo:"{hours} \u0447\u0430\u0441{plural} \u043D\u0430\u0437\u0430\u0434",daysAgo:"{days} \u0434\u043D{plural} \u043D\u0430\u0437\u0430\u0434"}}},notices:{languageChanged:"\u042F\u0437\u044B\u043A \u0438\u0437\u043C\u0435\u043D\u0435\u043D \u043D\u0430 {language}.",exportTasksFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0438 \u043A\u0430\u043A \u0444\u0430\u0439\u043B ICS",icsNoteCreatedSuccess:"\u0417\u0430\u043C\u0435\u0442\u043A\u0430 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u0441\u043E\u0437\u0434\u0430\u043D\u0430",icsCreationModalOpenFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u043C\u043E\u0434\u0430\u043B\u044C\u043D\u043E\u0435 \u043E\u043A\u043D\u043E \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F",icsNoteLinkSuccess:'\u0417\u0430\u043C\u0435\u0442\u043A\u0430 "{fileName}" \u0441\u0432\u044F\u0437\u0430\u043D\u0430 \u0441 \u0441\u043E\u0431\u044B\u0442\u0438\u0435\u043C ICS',icsTaskCreatedSuccess:"\u0417\u0430\u0434\u0430\u0447\u0430 \u0441\u043E\u0437\u0434\u0430\u043D\u0430: {title}",icsRelatedItemsRefreshed:"\u0421\u0432\u044F\u0437\u0430\u043D\u043D\u044B\u0435 \u0437\u0430\u043C\u0435\u0442\u043A\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u044B",icsFileNotFound:"\u0424\u0430\u0439\u043B \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u0438\u043B\u0438 \u043D\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u0435\u043D",icsFileOpenFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u0444\u0430\u0439\u043B",timeblockAttachmentExists:'"{fileName}" \u0443\u0436\u0435 \u043F\u0440\u0438\u043A\u0440\u0435\u043F\u043B\u0435\u043D',timeblockAttachmentAdded:'"{fileName}" \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D \u043A\u0430\u043A \u0432\u043B\u043E\u0436\u0435\u043D\u0438\u0435',timeblockAttachmentRemoved:'\u0423\u0434\u0430\u043B\u0438\u0442\u044Cd "{fileName}" from attachments',timeblockFileTypeNotSupported:'\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043E\u0442\u043A\u0440\u044B\u0442\u044C "{fileName}" - \u0442\u0438\u043F \u0444\u0430\u0439\u043B\u0430 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F',timeblockTitleRequired:"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0434\u043B\u044F \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0433\u043E \u0431\u043B\u043E\u043A\u0430",timeblockUpdatedSuccess:'\u0412\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0431\u043B\u043E\u043A "{title}" \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D',timeblockUpdateFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0431\u043B\u043E\u043A. \u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u043A\u043E\u043D\u0441\u043E\u043B\u044C \u0434\u043B\u044F \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F \u043F\u043E\u0434\u0440\u043E\u0431\u043D\u043E\u0441\u0442\u0435\u0439.",timeblockDeletedSuccess:'\u0412\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0431\u043B\u043E\u043A "{title}" \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u0443\u0434\u0430\u043B\u0435\u043D',timeblockDeleteFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0431\u043B\u043E\u043A. \u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u043A\u043E\u043D\u0441\u043E\u043B\u044C \u0434\u043B\u044F \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F \u043F\u043E\u0434\u0440\u043E\u0431\u043D\u043E\u0441\u0442\u0435\u0439.",timeblockRequiredFieldsMissing:"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0437\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u0435 \u0432\u0441\u0435 \u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u043F\u043E\u043B\u044F",agendaLoadingFailed:"\u041E\u0448\u0438\u0431\u043A\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438 \u043F\u043E\u0432\u0435\u0441\u0442\u043A\u0438 \u0434\u043D\u044F. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C.",statsLoadingFailed:"\u041E\u0448\u0438\u0431\u043A\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438 \u0434\u0430\u043D\u043D\u044B\u0445 \u043F\u0440\u043E\u0435\u043A\u0442\u0430."},commands:{openCalendarView:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043C\u0438\u043D\u0438-\u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F",openAdvancedCalendarView:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F",openTasksView:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0437\u0430\u0434\u0430\u0447",openNotesView:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0437\u0430\u043C\u0435\u0442\u043E\u043A",openAgendaView:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043F\u043B\u0430\u043D\u043E\u0432",openPomodoroView:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0442\u0430\u0439\u043C\u0435\u0440 \u043F\u043E\u043C\u043E\u0434\u043E\u0440\u043E",openKanbanView:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0434\u043E\u0441\u043A\u0443 \u043A\u0430\u043D\u0431\u0430\u043D",openPomodoroStats:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043A\u0443 \u043F\u043E\u043C\u043E\u0434\u043E\u0440\u043E",openStatisticsView:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043A\u0443 \u0437\u0430\u0434\u0430\u0447 \u0438 \u043F\u0440\u043E\u0435\u043A\u0442\u043E\u0432",createNewTask:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043D\u043E\u0432\u0443\u044E \u0437\u0430\u0434\u0430\u0447\u0443",convertCurrentNoteToTask:{name:"\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u0437\u0430\u043C\u0435\u0442\u043A\u0443 \u0432 \u0437\u0430\u0434\u0430\u0447\u0443",noActiveFile:"\u041D\u0435\u0442 \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u0433\u043E \u0444\u0430\u0439\u043B\u0430 \u0434\u043B\u044F \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u044F",alreadyTask:"\u042D\u0442\u0430 \u0437\u0430\u043C\u0435\u0442\u043A\u0430 \u0443\u0436\u0435 \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u0437\u0430\u0434\u0430\u0447\u0435\u0439",success:"'{title}' \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u043E \u0432 \u0437\u0430\u0434\u0430\u0447\u0443"},convertToTaskNote:"\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u0442\u044C \u0447\u0435\u043A\u0431\u043E\u043A\u0441-\u0437\u0430\u0434\u0430\u0447\u0443 \u0432 TaskNote",convertAllTasksInNote:"\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0432 \u0437\u0430\u043C\u0435\u0442\u043A\u0435",insertTaskNoteLink:"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443 \u043D\u0430 \u0437\u0430\u0434\u0430\u0447\u0443",createInlineTask:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043D\u043E\u0432\u0443\u044E \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u0443\u044E \u0437\u0430\u0434\u0430\u0447\u0443",quickActionsCurrentTask:"\u0411\u044B\u0441\u0442\u0440\u044B\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u0434\u043B\u044F \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u0437\u0430\u0434\u0430\u0447\u0438",goToTodayNote:"\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0437\u0430\u043C\u0435\u0442\u043A\u0435 \u0441\u0435\u0433\u043E\u0434\u043D\u044F",startPomodoro:"\u0417\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C \u0442\u0430\u0439\u043C\u0435\u0440 \u043F\u043E\u043C\u043E\u0434\u043E\u0440\u043E",stopPomodoro:"\u041E\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0442\u0430\u0439\u043C\u0435\u0440 \u043F\u043E\u043C\u043E\u0434\u043E\u0440\u043E",pauseResumePomodoro:"\u041F\u0440\u0438\u043E\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C/\u0432\u043E\u0437\u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0442\u0430\u0439\u043C\u0435\u0440 \u043F\u043E\u043C\u043E\u0434\u043E\u0440\u043E",refreshCache:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u043A\u044D\u0448",exportAllTasksIcs:"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u043A\u0430\u043A \u0444\u0430\u0439\u043B ICS",viewReleaseNotes:"\u041F\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C \u043F\u0440\u0438\u043C\u0435\u0447\u0430\u043D\u0438\u044F \u043A \u0432\u044B\u043F\u0443\u0441\u043A\u0443",startTimeTrackingWithSelector:"\u041D\u0430\u0447\u0430\u0442\u044C \u043E\u0442\u0441\u043B\u0435\u0436\u0438\u0432\u0430\u043D\u0438\u0435 \u0432\u0440\u0435\u043C\u0435\u043D\u0438 (\u0432\u044B\u0431\u0440\u0430\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0443)",editTimeEntries:"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0435 \u0437\u0430\u043F\u0438\u0441\u0438 (\u0432\u044B\u0431\u0440\u0430\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0443)",createOrOpenTask:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0438\u043B\u0438 \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0443",syncAllTasksGoogleCalendar:"\u0421\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0441 Google \u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0451\u043C",syncCurrentTaskGoogleCalendar:"\u0421\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u0437\u0430\u0434\u0430\u0447\u0443 \u0441 Google \u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0451\u043C"},modals:{deviceCode:{title:"\u0410\u0432\u0442\u043E\u0440\u0438\u0437\u0430\u0446\u0438\u044F Google \u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F",instructions:{intro:"\u0427\u0442\u043E\u0431\u044B \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0438\u0442\u044C Google \u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C, \u0432\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u0435 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u0448\u0430\u0433\u0438:"},steps:{open:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C",inBrowser:"\u0432 \u0432\u0430\u0448\u0435\u043C \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435",enterCode:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u044D\u0442\u043E\u0442 \u043A\u043E\u0434 \u043F\u0440\u0438 \u0437\u0430\u043F\u0440\u043E\u0441\u0435:",signIn:"\u0412\u043E\u0439\u0434\u0438\u0442\u0435 \u0432 \u0441\u0432\u043E\u0439 \u0430\u043A\u043A\u0430\u0443\u043D\u0442 Google \u0438 \u043F\u0440\u0435\u0434\u043E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u0434\u043E\u0441\u0442\u0443\u043F",returnToObsidian:"\u0412\u0435\u0440\u043D\u0438\u0442\u0435\u0441\u044C \u0432 Obsidian (\u044D\u0442\u043E \u043E\u043A\u043D\u043E \u0437\u0430\u043A\u0440\u043E\u0435\u0442\u0441\u044F \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438)"},codeLabel:"\u0412\u0430\u0448 \u043A\u043E\u0434:",copyCodeAriaLabel:"\u0421\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043A\u043E\u0434",waitingForAuthorization:"\u041E\u0436\u0438\u0434\u0430\u043D\u0438\u0435 \u0430\u0432\u0442\u043E\u0440\u0438\u0437\u0430\u0446\u0438\u0438...",openBrowserButton:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C Browser",cancelButton:"\u041E\u0442\u043C\u0435\u043D\u0430",expiresMinutesSeconds:"\u041A\u043E\u0434 \u0438\u0441\u0442\u0435\u043A\u0430\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 {minutes}\u043C {seconds}\u0441",expiresSeconds:"\u041A\u043E\u0434 \u0438\u0441\u0442\u0435\u043A\u0430\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 {seconds}\u0441"},icsEventInfo:{calendarEventHeading:"\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C Event",titleLabel:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435",calendarLabel:"\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C",dateTimeLabel:"\u0414\u0430\u0442\u0430 & Time",locationLabel:"\u041C\u0435\u0441\u0442\u043E\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435",descriptionLabel:"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435",urlLabel:"URL",relatedNotesHeading:"\u0421\u0432\u044F\u0437\u0430\u043D\u043D\u044B\u0435 \u0437\u0430\u043C\u0435\u0442\u043A\u0438 \u0438 \u0437\u0430\u0434\u0430\u0447\u0438",noRelatedItems:"\u0414\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u0441\u043E\u0431\u044B\u0442\u0438\u044F \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u0441\u0432\u044F\u0437\u0430\u043D\u043D\u044B\u0445 \u0437\u0430\u043C\u0435\u0442\u043E\u043A \u0438\u043B\u0438 \u0437\u0430\u0434\u0430\u0447.",typeTask:"\u0417\u0430\u0434\u0430\u0447\u0430",typeNote:"\u0417\u0430\u043C\u0435\u0442\u043A\u0430",actionsHeading:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044F",createFromEventLabel:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C from Event",createFromEventDesc:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C a new note or task from this calendar event",linkExistingLabel:"\u0421\u0432\u044F\u0437\u0430\u0442\u044C \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044E\u0449\u0443\u044E",linkExistingDesc:"\u0421\u0432\u044F\u0437\u0430\u0442\u044C \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044E\u0449\u0443\u044E \u0437\u0430\u043C\u0435\u0442\u043A\u0443 \u0441 \u044D\u0442\u0438\u043C \u0441\u043E\u0431\u044B\u0442\u0438\u0435\u043C \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F"},timeblockInfo:{editHeading:"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0431\u043B\u043E\u043A",dateTimeLabel:"\u0414\u0430\u0442\u0430 & Time: ",titleLabel:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435",titleDesc:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 for your timeblock",titlePlaceholder:"\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u0421\u0435\u0441\u0441\u0438\u044F \u0433\u043B\u0443\u0431\u043E\u043A\u043E\u0439 \u0440\u0430\u0431\u043E\u0442\u044B",descriptionLabel:"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435",descriptionDesc:"\u041D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E\u0435 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0434\u043B\u044F \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0433\u043E \u0431\u043B\u043E\u043A\u0430",descriptionPlaceholder:"\u0421\u043E\u0441\u0440\u0435\u0434\u043E\u0442\u043E\u0447\u0438\u0442\u044C\u0441\u044F \u043D\u0430 \u043D\u043E\u0432\u044B\u0445 \u0444\u0443\u043D\u043A\u0446\u0438\u044F\u0445, \u0431\u0435\u0437 \u043F\u0440\u0435\u0440\u044B\u0432\u0430\u043D\u0438\u0439",colorLabel:"\u0426\u0432\u0435\u0442",colorDesc:"\u041D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u0446\u0432\u0435\u0442 \u0434\u043B\u044F \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0433\u043E \u0431\u043B\u043E\u043A\u0430",colorPlaceholder:"#3b82f6",attachmentsLabel:"\u0412\u043B\u043E\u0436\u0435\u043D\u0438\u044F",attachmentsDesc:"\u0424\u0430\u0439\u043B\u044B \u0438\u043B\u0438 \u0437\u0430\u043C\u0435\u0442\u043A\u0438, \u0441\u0432\u044F\u0437\u0430\u043D\u043D\u044B\u0435 \u0441 \u044D\u0442\u0438\u043C \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u043C \u0431\u043B\u043E\u043A\u043E\u043C",addAttachmentButton:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432\u043B\u043E\u0436\u0435\u043D\u0438\u0435",addAttachmentTooltip:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u0430\u0439\u043B \u0438\u043B\u0438 \u0437\u0430\u043C\u0435\u0442\u043A\u0443 \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043D\u0435\u0447\u0435\u0442\u043A\u043E\u0433\u043E \u043F\u043E\u0438\u0441\u043A\u0430",deleteButton:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0431\u043B\u043E\u043A",saveButton:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F",deleteConfirmationTitle:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0431\u043B\u043E\u043A"},timeblockCreation:{heading:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C timeblock",dateLabel:"\u0414\u0430\u0442\u0430: ",titleLabel:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435",titleDesc:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 for your timeblock",titlePlaceholder:"\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u0421\u0435\u0441\u0441\u0438\u044F \u0433\u043B\u0443\u0431\u043E\u043A\u043E\u0439 \u0440\u0430\u0431\u043E\u0442\u044B",startTimeLabel:"\u041D\u0430\u0447\u0430\u043B\u043E time",startTimeDesc:"\u041A\u043E\u0433\u0434\u0430 \u043D\u0430\u0447\u0438\u043D\u0430\u0435\u0442\u0441\u044F \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0431\u043B\u043E\u043A",startTimePlaceholder:"09:00",endTimeLabel:"\u041A\u043E\u043D\u0435\u0446 time",endTimeDesc:"\u041A\u043E\u0433\u0434\u0430 \u0437\u0430\u043A\u0430\u043D\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0431\u043B\u043E\u043A",endTimePlaceholder:"11:00",descriptionLabel:"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435",descriptionDesc:"\u041D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E\u0435 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0434\u043B\u044F \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0433\u043E \u0431\u043B\u043E\u043A\u0430",descriptionPlaceholder:"\u0421\u043E\u0441\u0440\u0435\u0434\u043E\u0442\u043E\u0447\u0438\u0442\u044C\u0441\u044F \u043D\u0430 \u043D\u043E\u0432\u044B\u0445 \u0444\u0443\u043D\u043A\u0446\u0438\u044F\u0445, \u0431\u0435\u0437 \u043F\u0440\u0435\u0440\u044B\u0432\u0430\u043D\u0438\u0439",colorLabel:"\u0426\u0432\u0435\u0442",colorDesc:"\u041D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u0446\u0432\u0435\u0442 \u0434\u043B\u044F \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0433\u043E \u0431\u043B\u043E\u043A\u0430",colorPlaceholder:"#3b82f6",attachmentsLabel:"\u0412\u043B\u043E\u0436\u0435\u043D\u0438\u044F",attachmentsDesc:"\u0424\u0430\u0439\u043B\u044B \u0438\u043B\u0438 \u0437\u0430\u043C\u0435\u0442\u043A\u0438 \u0434\u043B\u044F \u0441\u0432\u044F\u0437\u0438 \u0441 \u044D\u0442\u0438\u043C \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u043C \u0431\u043B\u043E\u043A\u043E\u043C",addAttachmentButton:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432\u043B\u043E\u0436\u0435\u043D\u0438\u0435",addAttachmentTooltip:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u0430\u0439\u043B \u0438\u043B\u0438 \u0437\u0430\u043C\u0435\u0442\u043A\u0443 \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043D\u0435\u0447\u0435\u0442\u043A\u043E\u0433\u043E \u043F\u043E\u0438\u0441\u043A\u0430",createButton:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C timeblock"},calendarEventCreation:{heading:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0441\u043E\u0431\u044B\u0442\u0438\u0435 \u0432 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0435",dateTimeLabel:"\u0414\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043C\u044F: ",titleLabel:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435",titleDesc:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0441\u043E\u0431\u044B\u0442\u0438\u044F \u0432 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0435",titlePlaceholder:"\u043D\u0430\u043F\u0440., \u0421\u043E\u0432\u0435\u0449\u0430\u043D\u0438\u0435 \u043A\u043E\u043C\u0430\u043D\u0434\u044B",calendarLabel:"\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C",calendarDesc:"\u0412 \u043A\u0430\u043A\u043E\u043C \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0435 \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u0441\u043E\u0431\u044B\u0442\u0438\u0435",descriptionLabel:"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435",descriptionDesc:"\u041D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E\u0435 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0441\u043E\u0431\u044B\u0442\u0438\u044F",descriptionPlaceholder:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043F\u043E\u0434\u0440\u043E\u0431\u043D\u043E\u0441\u0442\u0438 \u043E \u0441\u043E\u0431\u044B\u0442\u0438\u0438...",locationLabel:"\u041C\u0435\u0441\u0442\u043E",locationDesc:"\u041D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E\u0435 \u043C\u0435\u0441\u0442\u043E \u043F\u0440\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u044F \u0441\u043E\u0431\u044B\u0442\u0438\u044F",locationPlaceholder:"\u043D\u0430\u043F\u0440., \u041F\u0435\u0440\u0435\u0433\u043E\u0432\u043E\u0440\u043D\u0430\u044F \u0410",createButton:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0441\u043E\u0431\u044B\u0442\u0438\u0435",titleRequired:"\u041D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0443\u043A\u0430\u0437\u0430\u0442\u044C \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0441\u043E\u0431\u044B\u0442\u0438\u044F",noCalendarSelected:"\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C \u043D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D",success:'\u0421\u043E\u0431\u044B\u0442\u0438\u0435 "{title}" \u0441\u043E\u0437\u0434\u0430\u043D\u043E \u0432 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0435',error:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u0441\u043E\u0431\u044B\u0442\u0438\u0435 \u0432 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0435: {message}"},icsNoteCreation:{heading:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C from ICS Event",titleLabel:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435",titleDesc:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 for the new content",folderLabel:"\u041F\u0430\u043F\u043A\u0430",folderDesc:"\u041F\u0430\u043F\u043A\u0430 \u043D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F (\u043E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u043F\u0443\u0441\u0442\u044B\u043C \u0434\u043B\u044F \u043A\u043E\u0440\u043D\u044F \u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0430)",folderPlaceholder:"\u043F\u0430\u043F\u043A\u0430/\u043F\u043E\u0434\u043F\u0430\u043F\u043A\u0430",createButton:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C",startLabel:"\u041D\u0430\u0447\u0430\u043B\u043E: ",endLabel:"\u041A\u043E\u043D\u0435\u0446: ",locationLabel:"\u041C\u0435\u0441\u0442\u043E\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435: ",calendarLabel:"\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C: ",useTemplateLabel:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0448\u0430\u0431\u043B\u043E\u043D",useTemplateDesc:"\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u0448\u0430\u0431\u043B\u043E\u043D \u043F\u0440\u0438 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0438 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0433\u043E",templatePathLabel:"\u041F\u0443\u0442\u044C \u043A \u0448\u0430\u0431\u043B\u043E\u043D\u0443",templatePathDesc:"\u041F\u0443\u0442\u044C \u043A \u0444\u0430\u0439\u043B\u0443 \u0448\u0430\u0431\u043B\u043E\u043D\u0430",templatePathPlaceholder:"\u0448\u0430\u0431\u043B\u043E\u043D\u044B/\u0448\u0430\u0431\u043B\u043E\u043D-\u0437\u0430\u043C\u0435\u0442\u043A\u0438-ics.md"},unscheduledTasksSelector:{title:"\u041D\u0435\u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0437\u0430\u0434\u0430\u0447\u0438",placeholder:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0434\u043B\u044F \u043F\u043E\u0438\u0441\u043A\u0430 \u043D\u0435\u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0445 \u0437\u0430\u0434\u0430\u0447...",instructions:{navigate:"\u0434\u043B\u044F \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438",schedule:"\u0434\u043B\u044F \u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F",dismiss:"\u0434\u043B\u044F \u043E\u0442\u043C\u0435\u043D\u044B"}},migration:{title:"\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043D\u0430 \u043D\u043E\u0432\u0443\u044E \u0441\u0438\u0441\u0442\u0435\u043C\u0443 \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0439",description:"TaskNotes \u0442\u0435\u043F\u0435\u0440\u044C \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u044B\u0435 \u0448\u0430\u0431\u043B\u043E\u043D\u044B RRULE \u0434\u043B\u044F \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0439, \u0447\u0442\u043E \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0441\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u0431\u043E\u043B\u0435\u0435 \u0441\u043B\u043E\u0436\u043D\u044B\u0435 \u0440\u0430\u0441\u043F\u0438\u0441\u0430\u043D\u0438\u044F \u0438 \u043E\u0431\u0435\u0441\u043F\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u043B\u0443\u0447\u0448\u0443\u044E \u0441\u043E\u0432\u043C\u0435\u0441\u0442\u0438\u043C\u043E\u0441\u0442\u044C \u0441 \u0434\u0440\u0443\u0433\u0438\u043C\u0438 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F\u043C\u0438.",tasksFound:"\u041E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D\u043E {count} \u0437\u0430\u0434\u0430\u0447(\u0438) \u0441\u043E \u0441\u0442\u0430\u0440\u044B\u043C\u0438 \u0448\u0430\u0431\u043B\u043E\u043D\u0430\u043C\u0438 \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0439",noMigrationNeeded:"\u0417\u0430\u0434\u0430\u0447\u0438 \u043D\u0435 \u0442\u0440\u0435\u0431\u0443\u044E\u0442 \u043C\u0438\u0433\u0440\u0430\u0446\u0438\u0438",warnings:{title:"\u041F\u0435\u0440\u0435\u0434 \u043D\u0430\u0447\u0430\u043B\u043E\u043C:",backup:"\u0421\u043E\u0437\u0434\u0430\u0439\u0442\u0435 \u0440\u0435\u0437\u0435\u0440\u0432\u043D\u0443\u044E \u043A\u043E\u043F\u0438\u044E \u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0430 \u043F\u0435\u0440\u0435\u0434 \u043C\u0438\u0433\u0440\u0430\u0446\u0438\u0435\u0439",conversion:"\u0421\u0442\u0430\u0440\u044B\u0435 \u0448\u0430\u0431\u043B\u043E\u043D\u044B \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0439 \u0431\u0443\u0434\u0443\u0442 \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u044B \u0432 \u043D\u043E\u0432\u044B\u0439 \u0444\u043E\u0440\u043C\u0430\u0442",normalUsage:"\u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0430\u0442\u044C \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C TaskNotes \u043E\u0431\u044B\u0447\u043D\u044B\u043C \u043E\u0431\u0440\u0430\u0437\u043E\u043C \u0432\u043E \u0432\u0440\u0435\u043C\u044F \u043C\u0438\u0433\u0440\u0430\u0446\u0438\u0438",permanent:"\u042D\u0442\u043E \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u043F\u043E\u0441\u0442\u043E\u044F\u043D\u043D\u044B\u043C \u0438 \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u043E\u0442\u043C\u0435\u043D\u0435\u043D\u043E"},benefits:{title:"\u041F\u0440\u0435\u0438\u043C\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u043D\u043E\u0432\u043E\u0439 \u0441\u0438\u0441\u0442\u0435\u043C\u044B:",powerfulPatterns:"\u0421\u043B\u043E\u0436\u043D\u044B\u0435 \u0448\u0430\u0431\u043B\u043E\u043D\u044B \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0439 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, '\u043A\u0430\u0436\u0434\u044B\u0439 2-\u0439 \u0432\u0442\u043E\u0440\u043D\u0438\u043A')",performance:"\u041B\u0443\u0447\u0448\u0430\u044F \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u0441 \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0438\u043C\u0438\u0441\u044F \u0437\u0430\u0434\u0430\u0447\u0430\u043C\u0438",compatibility:"\u0421\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u044B\u0439 \u0444\u043E\u0440\u043C\u0430\u0442 \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0439, \u0441\u043E\u0432\u043C\u0435\u0441\u0442\u0438\u043C\u044B\u0439 \u0441 \u0434\u0440\u0443\u0433\u0438\u043C\u0438 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F\u043C\u0438",nlp:"\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u0430\u044F \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0430 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0438 \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043D\u043D\u043E\u0433\u043E \u044F\u0437\u044B\u043A\u0430"},progress:{title:"\u041F\u0440\u043E\u0433\u0440\u0435\u0441\u0441 \u043C\u0438\u0433\u0440\u0430\u0446\u0438\u0438",preparing:"\u041F\u043E\u0434\u0433\u043E\u0442\u043E\u0432\u043A\u0430 \u043C\u0438\u0433\u0440\u0430\u0446\u0438\u0438...",completed:"\u041C\u0438\u0433\u0440\u0430\u0446\u0438\u044F \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0430",failed:"\u041C\u0438\u0433\u0440\u0430\u0446\u0438\u044F \u043D\u0435 \u0443\u0434\u0430\u043B\u0430\u0441\u044C"},buttons:{migrate:"\u041D\u0430\u0447\u0430\u0442\u044C \u043C\u0438\u0433\u0440\u0430\u0446\u0438\u044E",completed:"\u0417\u0430\u043A\u0440\u044B\u0442\u044C"},errors:{title:"\u041E\u0448\u0438\u0431\u043A\u0438 \u0432\u043E \u0432\u0440\u0435\u043C\u044F \u043C\u0438\u0433\u0440\u0430\u0446\u0438\u0438:"},notices:{completedWithErrors:"\u041C\u0438\u0433\u0440\u0430\u0446\u0438\u044F \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0430 \u0441 \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u043C\u0438 \u043E\u0448\u0438\u0431\u043A\u0430\u043C\u0438. \u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u0441\u043F\u0438\u0441\u043E\u043A \u043E\u0448\u0438\u0431\u043E\u043A \u0432\u044B\u0448\u0435.",success:"\u0412\u0441\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043C\u0438\u0433\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u044B!",failed:"\u041C\u0438\u0433\u0440\u0430\u0446\u0438\u044F \u043D\u0435 \u0443\u0434\u0430\u043B\u0430\u0441\u044C. Please check the console for details."},prompt:{message:"\u0417\u0430\u0434\u0430\u0447\u0430Notes detected tasks using the old recurrence format. Would you like to migrate them to the new system now?",migrateNow:"\u041C\u0438\u0433\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0435\u0439\u0447\u0430\u0441",remindLater:"\u041D\u0430\u043F\u043E\u043C\u043D\u0438\u0442\u044C \u043F\u043E\u0437\u0436\u0435"}},task:{titlePlaceholder:"\u0427\u0442\u043E \u043D\u0443\u0436\u043D\u043E \u0441\u0434\u0435\u043B\u0430\u0442\u044C?",titleLabel:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435",titleDetailedPlaceholder:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438...",detailsLabel:"\u0414\u0435\u0442\u0430\u043B\u0438",detailsPlaceholder:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0431\u043E\u043B\u044C\u0448\u0435 \u0434\u0435\u0442\u0430\u043B\u0435\u0439...",projectsLabel:"\u041F\u0440\u043E\u0435\u043A\u0442\u044B",projectsAdd:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043F\u0440\u043E\u0435\u043A\u0442",projectsTooltip:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0437\u0430\u043C\u0435\u0442\u043A\u0443 \u043F\u0440\u043E\u0435\u043A\u0442\u0430, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F \u043D\u0435\u0447\u0435\u0442\u043A\u0438\u0439 \u043F\u043E\u0438\u0441\u043A",projectsRemoveTooltip:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043F\u0440\u043E\u0435\u043A\u0442",contextsLabel:"\u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u044B",contextsPlaceholder:"\u043A\u043E\u043D\u0442\u0435\u043A\u0441\u04421, \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u04422",tagsLabel:"\u0422\u0435\u0433\u0438",tagsPlaceholder:"\u0442\u0435\u04331, \u0442\u0435\u04332",timeEstimateLabel:"\u041E\u0446\u0435\u043D\u043A\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u0438 (\u043C\u0438\u043D\u0443\u0442\u044B)",timeEstimatePlaceholder:"30",unsavedChanges:{title:"\u041D\u0435\u0441\u043E\u0445\u0440\u0430\u043D\u0451\u043D\u043D\u044B\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F",message:"\u0423 \u0432\u0430\u0441 \u0435\u0441\u0442\u044C \u043D\u0435\u0441\u043E\u0445\u0440\u0430\u043D\u0451\u043D\u043D\u044B\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F. \u0425\u043E\u0442\u0438\u0442\u0435 \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0438\u0445?",save:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F",discard:"\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F",cancel:"\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435"},dependencies:{blockedBy:"\u0417\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u0430",blocking:"\u0411\u043B\u043E\u043A\u0438\u0440\u0443\u0435\u0442",placeholder:"[[\u0417\u0430\u0434\u0430\u0447\u0430]]",addTaskButton:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0443",selectTaskTooltip:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0437\u0430\u043C\u0435\u0442\u043A\u0443 \u0437\u0430\u0434\u0430\u0447\u0438 \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043D\u0435\u0447\u0435\u0442\u043A\u043E\u0433\u043E \u043F\u043E\u0438\u0441\u043A\u0430",removeTaskTooltip:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0443"},organization:{projects:"\u041F\u0440\u043E\u0435\u043A\u0442\u044B",subtasks:"\u041F\u043E\u0434\u0437\u0430\u0434\u0430\u0447\u0438",addToProject:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432 \u043F\u0440\u043E\u0435\u043A\u0442",addToProjectButton:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432 \u043F\u0440\u043E\u0435\u043A\u0442",addSubtasks:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043F\u043E\u0434\u0437\u0430\u0434\u0430\u0447\u0438",addSubtasksButton:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043F\u043E\u0434\u0437\u0430\u0434\u0430\u0447\u0443",addSubtasksTooltip:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0437\u0430\u0434\u0430\u0447\u0438, \u0447\u0442\u043E\u0431\u044B \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u0438\u0445 \u043F\u043E\u0434\u0437\u0430\u0434\u0430\u0447\u0430\u043C\u0438 \u044D\u0442\u043E\u0439 \u0437\u0430\u0434\u0430\u0447\u0438",removeSubtaskTooltip:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043F\u043E\u0434\u0437\u0430\u0434\u0430\u0447\u0443",notices:{noEligibleSubtasks:"\u041D\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0445 \u0437\u0430\u0434\u0430\u0447 \u0434\u043B\u044F \u043D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0432 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043F\u043E\u0434\u0437\u0430\u0434\u0430\u0447",subtaskSelectFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u0441\u0435\u043B\u0435\u043A\u0442\u043E\u0440 \u043F\u043E\u0434\u0437\u0430\u0434\u0430\u0447"}},customFieldsLabel:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0435 \u043F\u043E\u043B\u044F",actions:{due:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0441\u0440\u043E\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F",scheduled:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0443\u044E \u0434\u0430\u0442\u0443",status:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0441\u0442\u0430\u0442\u0443\u0441",priority:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442",recurrence:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0435",reminders:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u044F"},buttons:{openNote:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0437\u0430\u043C\u0435\u0442\u043A\u0443",save:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C"},tooltips:{dueValue:"\u0421\u0440\u043E\u043A: {value}",scheduledValue:"\u0417\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043E: {value}",statusValue:"\u0421\u0442\u0430\u0442\u0443\u0441: {value}",priorityValue:"\u041F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442: {value}",recurrenceValue:"\u041F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0435: {value}",remindersSingle:"1 \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E",remindersPlural:"{count} \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u0439 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E"},dateMenu:{dueTitle:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0441\u0440\u043E\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F",scheduledTitle:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0443\u044E \u0434\u0430\u0442\u0443"},userFields:{textPlaceholder:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 {field}...",numberPlaceholder:"0",datePlaceholder:"\u0413\u0413\u0413\u0413-\u041C\u041C-\u0414\u0414",listPlaceholder:"\u044D\u043B\u0435\u043C\u0435\u043D\u04421, \u044D\u043B\u0435\u043C\u0435\u043D\u04422, \u044D\u043B\u0435\u043C\u0435\u043D\u04423",pickDate:"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0434\u0430\u0442\u0443 {field}"},recurrence:{daily:"\u0415\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u043E",weekly:"\u0415\u0436\u0435\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u043E",everyTwoWeeks:"\u041A\u0430\u0436\u0434\u044B\u0435 2 \u043D\u0435\u0434\u0435\u043B\u0438",weekdays:"\u0420\u0430\u0431\u043E\u0447\u0438\u0435 \u0434\u043D\u0438",weeklyOn:"\u0415\u0436\u0435\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u043E \u0432 {days}",monthly:"\u0415\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u043E",everyThreeMonths:"\u041A\u0430\u0436\u0434\u044B\u0435 3 \u043C\u0435\u0441\u044F\u0446\u0430",monthlyOnOrdinal:"\u0415\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u043E \u0432 {ordinal}",monthlyByWeekday:"\u0415\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u043E (\u043F\u043E \u0434\u043D\u044E \u043D\u0435\u0434\u0435\u043B\u0438)",yearly:"\u0415\u0436\u0435\u0433\u043E\u0434\u043D\u043E",yearlyOn:"\u0415\u0436\u0435\u0433\u043E\u0434\u043D\u043E {month} {day}",custom:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u0435",countSuffix:"{count} \u0440\u0430\u0437",untilSuffix:"\u0434\u043E {date}",ordinal:"{number}{suffix}"}},taskSelector:{title:"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0443",placeholder:"\u041D\u0430\u0447\u043D\u0438\u0442\u0435 \u0432\u0432\u043E\u0434\u0438\u0442\u044C \u0434\u043B\u044F \u043F\u043E\u0438\u0441\u043A\u0430 \u0437\u0430\u0434\u0430\u0447...",instructions:{navigate:"\u0434\u043B\u044F \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438",select:"\u0434\u043B\u044F \u0432\u044B\u0431\u043E\u0440\u0430",dismiss:"\u0434\u043B\u044F \u043E\u0442\u043C\u0435\u043D\u044B"},notices:{noteNotFound:'\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043D\u0430\u0439\u0442\u0438 \u0437\u0430\u043C\u0435\u0442\u043A\u0443 "{name}"'},dueDate:{overdue:"\u0421\u0440\u043E\u043A: {date} (\u043F\u0440\u043E\u0441\u0440\u043E\u0447\u0435\u043D\u043E)",today:"\u0421\u0440\u043E\u043A: \u0421\u0435\u0433\u043E\u0434\u043D\u044F"}},taskSelectorWithCreate:{title:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0438\u043B\u0438 \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0443",placeholder:"\u041F\u043E\u0438\u0441\u043A \u0437\u0430\u0434\u0430\u0447 \u0438\u043B\u0438 \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0434\u043B\u044F \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F \u043D\u043E\u0432\u043E\u0439...",instructions:{create:"\u0447\u0442\u043E\u0431\u044B \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u043D\u043E\u0432\u0443\u044E \u0437\u0430\u0434\u0430\u0447\u0443"},footer:{createLabel:" \u0434\u043B\u044F \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F: "},notices:{emptyQuery:"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438",invalidTitle:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u0442\u044C \u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0435 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438"}},taskCreation:{title:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0443",actions:{fillFromNaturalLanguage:"\u0417\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u0444\u043E\u0440\u043C\u0443 \u0438\u0437 \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043D\u043D\u043E\u0433\u043E \u044F\u0437\u044B\u043A\u0430",hideDetailedOptions:"\u0421\u043A\u0440\u044B\u0442\u044C \u043F\u043E\u0434\u0440\u043E\u0431\u043D\u044B\u0435 \u043E\u043F\u0446\u0438\u0438",showDetailedOptions:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043F\u043E\u0434\u0440\u043E\u0431\u043D\u044B\u0435 \u043E\u043F\u0446\u0438\u0438"},nlPlaceholder:"\u041A\u0443\u043F\u0438\u0442\u044C \u043F\u0440\u043E\u0434\u0443\u043A\u0442\u044B \u0437\u0430\u0432\u0442\u0440\u0430 \u0432 15:00 @\u0434\u043E\u043C #\u043F\u043E\u0440\u0443\u0447\u0435\u043D\u0438\u044F",notices:{titleRequired:"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438",success:'\u0417\u0430\u0434\u0430\u0447\u0430 "{title}" \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u0441\u043E\u0437\u0434\u0430\u043D\u0430',successShortened:'\u0417\u0430\u0434\u0430\u0447\u0430 "{title}" \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u0441\u043E\u0437\u0434\u0430\u043D\u0430 (\u0438\u043C\u044F \u0444\u0430\u0439\u043B\u0430 \u0441\u043E\u043A\u0440\u0430\u0449\u0435\u043D\u043E \u0438\u0437-\u0437\u0430 \u0434\u043B\u0438\u043D\u044B)',failure:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0443: {message}",blockingUnresolved:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u044C: {entries}"}},taskEdit:{title:"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0443",sections:{completions:"\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F",taskInfo:"\u0418\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u043E \u0437\u0430\u0434\u0430\u0447\u0435"},metadata:{totalTrackedTime:"\u041E\u0431\u0449\u0435\u0435 \u043E\u0442\u0441\u043B\u0435\u0436\u0435\u043D\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F:",created:"\u0421\u043E\u0437\u0434\u0430\u043D\u043E:",modified:"\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u043E:",file:"\u0424\u0430\u0439\u043B:"},buttons:{archive:"\u0410\u0440\u0445\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u0442\u044C",unarchive:"\u0420\u0430\u0437\u0430\u0440\u0445\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u0442\u044C"},notices:{titleRequired:"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438",noChanges:"\u041D\u0435\u0442 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0439 \u0434\u043B\u044F \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u044F",updateSuccess:'\u0417\u0430\u0434\u0430\u0447\u0430 "{title}" \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0430',updateFailure:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0443: {message}",dependenciesUpdateSuccess:"\u0417\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u044B",blockingUnresolved:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u044C: {entries}",fileMissing:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043D\u0430\u0439\u0442\u0438 \u0444\u0430\u0439\u043B \u0437\u0430\u0434\u0430\u0447\u0438: {path}",openNoteFailure:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u0437\u0430\u043C\u0435\u0442\u043A\u0443 \u0437\u0430\u0434\u0430\u0447\u0438",archiveSuccess:"\u0417\u0430\u0434\u0430\u0447\u0430 {action} \u0443\u0441\u043F\u0435\u0448\u043D\u043E",archiveFailure:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0430\u0440\u0445\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0443"},archiveAction:{archived:"\u0430\u0440\u0445\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u043D\u0430",unarchived:"\u0440\u0430\u0437\u0430\u0440\u0445\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u043D\u0430"}},storageLocation:{title:{migrate:"\u041C\u0438\u0433\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0435 \u043F\u043E\u043C\u043E\u0434\u043E\u0440\u043E?",switch:"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C\u0441\u044F \u043D\u0430 \u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435 \u0432 \u0435\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u044B\u0445 \u0437\u0430\u043C\u0435\u0442\u043A\u0430\u0445?"},message:{migrate:"\u042D\u0442\u043E \u043F\u0435\u0440\u0435\u043D\u0435\u0441\u0435\u0442 \u0432\u0430\u0448\u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0435 \u0434\u0430\u043D\u043D\u044B\u0435 \u0441\u0435\u0441\u0441\u0438\u0439 \u043F\u043E\u043C\u043E\u0434\u043E\u0440\u043E \u0432 frontmatter \u0435\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u044B\u0445 \u0437\u0430\u043C\u0435\u0442\u043E\u043A. \u0414\u0430\u043D\u043D\u044B\u0435 \u0431\u0443\u0434\u0443\u0442 \u0441\u0433\u0440\u0443\u043F\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u044B \u043F\u043E \u0434\u0430\u0442\u0435 \u0438 \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u044B \u0432 \u043A\u0430\u0436\u0434\u043E\u0439 \u0435\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u043E\u0439 \u0437\u0430\u043C\u0435\u0442\u043A\u0435.",switch:"\u0414\u0430\u043D\u043D\u044B\u0435 \u0441\u0435\u0441\u0441\u0438\u0439 \u043F\u043E\u043C\u043E\u0434\u043E\u0440\u043E \u0431\u0443\u0434\u0443\u0442 \u0445\u0440\u0430\u043D\u0438\u0442\u044C\u0441\u044F \u0432 frontmatter \u0435\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u044B\u0445 \u0437\u0430\u043C\u0435\u0442\u043E\u043A \u0432\u043C\u0435\u0441\u0442\u043E \u0444\u0430\u0439\u043B\u0430 \u0434\u0430\u043D\u043D\u044B\u0445 \u043F\u043B\u0430\u0433\u0438\u043D\u0430."},whatThisMeans:"\u0427\u0442\u043E \u044D\u0442\u043E \u043E\u0437\u043D\u0430\u0447\u0430\u0435\u0442:",bullets:{dailyNotesRequired:"\u041E\u0441\u043D\u043E\u0432\u043D\u043E\u0439 \u043F\u043B\u0430\u0433\u0438\u043D \u0435\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u044B\u0445 \u0437\u0430\u043C\u0435\u0442\u043E\u043A \u0434\u043E\u043B\u0436\u0435\u043D \u043E\u0441\u0442\u0430\u0432\u0430\u0442\u044C\u0441\u044F \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u043D\u044B\u043C",storedInNotes:"\u0414\u0430\u043D\u043D\u044B\u0435 \u0431\u0443\u0434\u0443\u0442 \u0445\u0440\u0430\u043D\u0438\u0442\u044C\u0441\u044F \u0432 frontmatter \u0432\u0430\u0448\u0438\u0445 \u0435\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u044B\u0445 \u0437\u0430\u043C\u0435\u0442\u043E\u043A",migrateData:"\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0435 \u0434\u0430\u043D\u043D\u044B\u0435 \u043F\u043B\u0430\u0433\u0438\u043D\u0430 \u0431\u0443\u0434\u0443\u0442 \u043F\u0435\u0440\u0435\u043D\u0435\u0441\u0435\u043D\u044B \u0438 \u0437\u0430\u0442\u0435\u043C \u043E\u0447\u0438\u0449\u0435\u043D\u044B",futureSessions:"\u0411\u0443\u0434\u0443\u0449\u0438\u0435 \u0441\u0435\u0441\u0441\u0438\u0438 \u0431\u0443\u0434\u0443\u0442 \u0441\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C\u0441\u044F \u0432 \u0435\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u044B\u0435 \u0437\u0430\u043C\u0435\u0442\u043A\u0438",dataLongevity:"\u042D\u0442\u043E \u043E\u0431\u0435\u0441\u043F\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u043B\u0443\u0447\u0448\u0443\u044E \u0434\u043E\u043B\u0433\u043E\u0432\u0435\u0447\u043D\u043E\u0441\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0445 \u0441 \u0432\u0430\u0448\u0438\u043C\u0438 \u0437\u0430\u043C\u0435\u0442\u043A\u0430\u043C\u0438"},finalNote:{migrate:"\u26A0\uFE0F \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044C \u0440\u0435\u0437\u0435\u0440\u0432\u043D\u044B\u0435 \u043A\u043E\u043F\u0438\u0438 \u043F\u0440\u0438 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E\u0441\u0442\u0438. \u042D\u0442\u043E \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u043D\u0435\u043B\u044C\u0437\u044F \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u043E\u0442\u043C\u0435\u043D\u0438\u0442\u044C.",switch:"\u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C\u0441\u044F \u043E\u0431\u0440\u0430\u0442\u043D\u043E \u043D\u0430 \u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435 \u0432 \u043F\u043B\u0430\u0433\u0438\u043D\u0435 \u0432 \u043B\u044E\u0431\u043E\u0435 \u0432\u0440\u0435\u043C\u044F \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u043C."},buttons:{migrate:"\u041C\u0438\u0433\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0435",switch:"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0435"}},dueDate:{title:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0441\u0440\u043E\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F",taskLabel:"\u0417\u0430\u0434\u0430\u0447\u0430: {title}",sections:{dateTime:"\u0414\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043C\u044F \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F",quickOptions:"\u0411\u044B\u0441\u0442\u0440\u044B\u0435 \u043E\u043F\u0446\u0438\u0438"},descriptions:{dateTime:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043A\u043E\u0433\u0434\u0430 \u044D\u0442\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u0434\u043E\u043B\u0436\u043D\u0430 \u0431\u044B\u0442\u044C \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0430"},inputs:{date:{ariaLabel:"\u0414\u0430\u0442\u0430 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u0437\u0430\u0434\u0430\u0447\u0438",placeholder:"\u0413\u0413\u0413\u0413-\u041C\u041C-\u0414\u0414"},time:{ariaLabel:"\u0412\u0440\u0435\u043C\u044F \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u0437\u0430\u0434\u0430\u0447\u0438 (\u043D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E)",placeholder:"\u0427\u0427:\u041C\u041C"}},quickOptions:{today:"\u0421\u0435\u0433\u043E\u0434\u043D\u044F",todayAriaLabel:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0441\u0440\u043E\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u043D\u0430 \u0441\u0435\u0433\u043E\u0434\u043D\u044F",tomorrow:"\u0417\u0430\u0432\u0442\u0440\u0430",tomorrowAriaLabel:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0441\u0440\u043E\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u043D\u0430 \u0437\u0430\u0432\u0442\u0440\u0430",nextWeek:"\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0430\u044F \u043D\u0435\u0434\u0435\u043B\u044F",nextWeekAriaLabel:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0441\u0440\u043E\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u043D\u0430 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0443\u044E \u043D\u0435\u0434\u0435\u043B\u044E",now:"\u0421\u0435\u0439\u0447\u0430\u0441",nowAriaLabel:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0434\u0430\u0442\u0443 \u0438 \u0432\u0440\u0435\u043C\u044F \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u043D\u0430 \u0441\u0435\u0439\u0447\u0430\u0441",clear:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C",clearAriaLabel:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0441\u0440\u043E\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F"},errors:{invalidDateTime:"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u044B\u0439 \u0444\u043E\u0440\u043C\u0430\u0442 \u0434\u0430\u0442\u044B \u0438 \u0432\u0440\u0435\u043C\u0435\u043D\u0438",updateFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0441\u0440\u043E\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0441\u043D\u043E\u0432\u0430."}},scheduledDate:{title:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0443\u044E \u0434\u0430\u0442\u0443",taskLabel:"\u0417\u0430\u0434\u0430\u0447\u0430: {title}",sections:{dateTime:"\u0417\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0430\u044F \u0434\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043C\u044F",quickOptions:"\u0411\u044B\u0441\u0442\u0440\u044B\u0435 \u043E\u043F\u0446\u0438\u0438"},descriptions:{dateTime:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043A\u043E\u0433\u0434\u0430 \u0432\u044B \u043F\u043B\u0430\u043D\u0438\u0440\u0443\u0435\u0442\u0435 \u0440\u0430\u0431\u043E\u0442\u0430\u0442\u044C \u043D\u0430\u0434 \u044D\u0442\u043E\u0439 \u0437\u0430\u0434\u0430\u0447\u0435\u0439"},inputs:{date:{ariaLabel:"\u0417\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0430\u044F \u0434\u0430\u0442\u0430 \u0437\u0430\u0434\u0430\u0447\u0438",placeholder:"\u0413\u0413\u0413\u0413-\u041C\u041C-\u0414\u0414"},time:{ariaLabel:"\u0417\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F \u0437\u0430\u0434\u0430\u0447\u0438 (\u043D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E)",placeholder:"\u0427\u0427:\u041C\u041C"}},quickOptions:{today:"\u0421\u0435\u0433\u043E\u0434\u043D\u044F",todayAriaLabel:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0443\u044E \u0434\u0430\u0442\u0443 \u043D\u0430 \u0441\u0435\u0433\u043E\u0434\u043D\u044F",tomorrow:"\u0417\u0430\u0432\u0442\u0440\u0430",tomorrowAriaLabel:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0443\u044E \u0434\u0430\u0442\u0443 \u043D\u0430 \u0437\u0430\u0432\u0442\u0440\u0430",nextWeek:"\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0430\u044F \u043D\u0435\u0434\u0435\u043B\u044F",nextWeekAriaLabel:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0443\u044E \u0434\u0430\u0442\u0443 \u043D\u0430 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0443\u044E \u043D\u0435\u0434\u0435\u043B\u044E",now:"\u0421\u0435\u0439\u0447\u0430\u0441",nowAriaLabel:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0443\u044E \u0434\u0430\u0442\u0443 \u0438 \u0432\u0440\u0435\u043C\u044F \u043D\u0430 \u0441\u0435\u0439\u0447\u0430\u0441",clear:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C",clearAriaLabel:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0443\u044E \u0434\u0430\u0442\u0443"},errors:{invalidDateTime:"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u044B\u0439 \u0444\u043E\u0440\u043C\u0430\u0442 \u0434\u0430\u0442\u044B \u0438 \u0432\u0440\u0435\u043C\u0435\u043D\u0438",updateFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0443\u044E \u0434\u0430\u0442\u0443. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0441\u043D\u043E\u0432\u0430."}},timeEntryEditor:{title:"\u0412\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0435 \u0437\u0430\u043F\u0438\u0441\u0438 - {taskTitle}",addEntry:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u0443\u044E \u0437\u0430\u043F\u0438\u0441\u044C",noEntries:"\u041F\u043E\u043A\u0430 \u043D\u0435\u0442 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0445 \u0437\u0430\u043F\u0438\u0441\u0435\u0439",deleteEntry:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0437\u0430\u043F\u0438\u0441\u044C",startTime:"\u0412\u0440\u0435\u043C\u044F \u043D\u0430\u0447\u0430\u043B\u0430",endTime:"\u0412\u0440\u0435\u043C\u044F \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F (\u043E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u043F\u0443\u0441\u0442\u044B\u043C, \u0435\u0441\u043B\u0438 \u0435\u0449\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u0442\u0441\u044F)",duration:"\u0414\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C (\u043C\u0438\u043D\u0443\u0442\u044B)",durationDesc:"\u041F\u0435\u0440\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u044C \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043D\u043D\u0443\u044E \u0434\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C",durationPlaceholder:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0434\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u0432 \u043C\u0438\u043D\u0443\u0442\u0430\u0445",description:"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435",descriptionPlaceholder:"\u041D\u0430\u0434 \u0447\u0435\u043C \u0432\u044B \u0440\u0430\u0431\u043E\u0442\u0430\u043B\u0438?",calculatedDuration:"\u0420\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043D\u043E: {minutes} \u043C\u0438\u043D\u0443\u0442",totalTime:"{hours}\u0447 {minutes}\u043C \u0432\u0441\u0435\u0433\u043E",totalMinutes:"{minutes}\u043C \u0432\u0441\u0435\u0433\u043E",saved:"\u0412\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0435 \u0437\u0430\u043F\u0438\u0441\u0438 \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u044B",saveFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0435 \u0437\u0430\u043F\u0438\u0441\u0438",openFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0445 \u0437\u0430\u043F\u0438\u0441\u0435\u0439",noTasksWithEntries:"\u041D\u0435\u0442 \u0437\u0430\u0434\u0430\u0447 \u0441 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u043C\u0438 \u0437\u0430\u043F\u0438\u0441\u044F\u043C\u0438 \u0434\u043B\u044F \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F",validation:{missingStartTime:"\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u0432\u0440\u0435\u043C\u044F \u043D\u0430\u0447\u0430\u043B\u0430",endBeforeStart:"\u0412\u0440\u0435\u043C\u044F \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u043F\u043E\u0441\u043B\u0435 \u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u043D\u0430\u0447\u0430\u043B\u0430"}},timeTracking:{noTasksAvailable:"\u041D\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0445 \u0437\u0430\u0434\u0430\u0447 \u0434\u043B\u044F \u043E\u0442\u0441\u043B\u0435\u0436\u0438\u0432\u0430\u043D\u0438\u044F \u0432\u0440\u0435\u043C\u0435\u043D\u0438",started:"\u041D\u0430\u0447\u0430\u0442\u043E \u043E\u0442\u0441\u043B\u0435\u0436\u0438\u0432\u0430\u043D\u0438\u0435 \u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u0434\u043B\u044F: {taskTitle}",startFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043D\u0430\u0447\u0430\u0442\u044C \u043E\u0442\u0441\u043B\u0435\u0436\u0438\u0432\u0430\u043D\u0438\u0435 \u0432\u0440\u0435\u043C\u0435\u043D\u0438"},timeEntry:{mustHaveSpecificTime:"\u0412\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0435 \u0437\u0430\u043F\u0438\u0441\u0438 \u0434\u043E\u043B\u0436\u043D\u044B \u0438\u043C\u0435\u0442\u044C \u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F. \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D \u0432 \u043D\u0435\u0434\u0435\u043B\u044C\u043D\u043E\u043C \u0438\u043B\u0438 \u0434\u043D\u0435\u0432\u043D\u043E\u043C \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0438.",noTasksAvailable:"\u041D\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0445 \u0437\u0430\u0434\u0430\u0447 \u0434\u043B\u044F \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0445 \u0437\u0430\u043F\u0438\u0441\u0435\u0439",created:"\u0412\u0440\u0435\u043C\u0435\u043D\u043D\u0430\u044F \u0437\u0430\u043F\u0438\u0441\u044C \u0441\u043E\u0437\u0434\u0430\u043D\u0430 \u0434\u043B\u044F {taskTitle} ({duration} \u043C\u0438\u043D\u0443\u0442)",createFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u0443\u044E \u0437\u0430\u043F\u0438\u0441\u044C"}},contextMenus:{task:{status:"\u0421\u0442\u0430\u0442\u0443\u0441",statusSelected:"\u2713 {label}",priority:"\u041F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442",prioritySelected:"\u2713 {label}",dueDate:"\u0421\u0440\u043E\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F",scheduledDate:"\u0417\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0430\u044F \u0434\u0430\u0442\u0430",reminders:"\u041D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u044F",remindBeforeDue:"\u041D\u0430\u043F\u043E\u043C\u043D\u0438\u0442\u044C \u0434\u043E \u0441\u0440\u043E\u043A\u0430 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F\u2026",remindBeforeScheduled:"\u041D\u0430\u043F\u043E\u043C\u043D\u0438\u0442\u044C \u0434\u043E \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0439 \u0434\u0430\u0442\u044B\u2026",manageReminders:"\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0442\u044C \u0432\u0441\u0435\u043C\u0438 \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u044F\u043C\u0438\u2026",clearReminders:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0432\u0441\u0435 \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u044F",startTimeTracking:"\u041D\u0430\u0447\u0430\u0442\u044C \u043E\u0442\u0441\u043B\u0435\u0436\u0438\u0432\u0430\u043D\u0438\u0435 \u0432\u0440\u0435\u043C\u0435\u043D\u0438",stopTimeTracking:"\u041E\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043E\u0442\u0441\u043B\u0435\u0436\u0438\u0432\u0430\u043D\u0438\u0435 \u0432\u0440\u0435\u043C\u0435\u043D\u0438",editTimeEntries:"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0437\u0430\u043F\u0438\u0441\u0438 \u0432\u0440\u0435\u043C\u0435\u043D\u0438",archive:"\u0410\u0440\u0445\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u0442\u044C",unarchive:"\u0420\u0430\u0437\u0430\u0440\u0445\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u0442\u044C",openNote:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0437\u0430\u043C\u0435\u0442\u043A\u0443",copyTitle:"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438",noteActions:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u0441 \u0437\u0430\u043C\u0435\u0442\u043A\u043E\u0439",rename:"\u041F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u0442\u044C",renameTitle:"\u041F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u0442\u044C \u0444\u0430\u0439\u043B",renamePlaceholder:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043D\u043E\u0432\u043E\u0435 \u0438\u043C\u044F",delete:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C",deleteTitle:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0444\u0430\u0439\u043B",deleteMessage:'\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C "{name}"?',deleteConfirm:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C",copyPath:"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u0443\u0442\u044C",copyUrl:"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C URL Obsidian",showInExplorer:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0432 \u043F\u0440\u043E\u0432\u043E\u0434\u043D\u0438\u043A\u0435 \u0444\u0430\u0439\u043B\u043E\u0432",addToCalendar:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C",calendar:{google:"Google \u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C",outlook:"Outlook \u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C",yahoo:"Yahoo \u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C",downloadIcs:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C \u0444\u0430\u0439\u043B .ics",syncToGoogle:"\u0421\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441 Google \u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0451\u043C",syncToGoogleNotConfigured:"\u0421\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0430\u0446\u0438\u044F \u0441 Google \u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0451\u043C \u043D\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D\u0430",syncToGoogleSuccess:"\u0417\u0430\u0434\u0430\u0447\u0430 \u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u043D\u0430 \u0441 Google \u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0451\u043C",syncToGoogleFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441 Google \u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0451\u043C"},recurrence:"\u041F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0435",clearRecurrence:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0435",customRecurrence:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u0435 \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0435...",createSubtask:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043F\u043E\u0434\u0437\u0430\u0434\u0430\u0447\u0443",dependencies:{title:"\u0417\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0438",addBlockedBy:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \xAB\u0437\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u0430\xBB\u2026",addBlockedByTitle:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0438, \u043E\u0442 \u043A\u043E\u0442\u043E\u0440\u044B\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u0442\u0435\u043A\u0443\u0449\u0430\u044F",addBlocking:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \xAB\u0431\u043B\u043E\u043A\u0438\u0440\u0443\u0435\u0442\xBB\u2026",addBlockingTitle:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0438, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0431\u043B\u043E\u043A\u0438\u0440\u0443\u0435\u0442 \u0442\u0435\u043A\u0443\u0449\u0430\u044F",removeBlockedBy:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \xAB\u0437\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u0430\xBB\u2026",removeBlocking:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \xAB\u0431\u043B\u043E\u043A\u0438\u0440\u0443\u0435\u0442\xBB\u2026",unknownDependency:"\u041D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u043E",inputPlaceholder:"[[\u0417\u0430\u0434\u0430\u0447\u0430]]",notices:{noEntries:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0445\u043E\u0442\u044F \u0431\u044B \u043E\u0434\u043D\u0443 \u0437\u0430\u0434\u0430\u0447\u0443",blockedByAdded:"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0430 {count} \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u044C",blockedByRemoved:"\u0417\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u044C \u0443\u0434\u0430\u043B\u0435\u043D\u0430",blockingAdded:"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u043E {count} \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u044B\u0445 \u0437\u0430\u0434\u0430\u0447",blockingRemoved:"\u0417\u0430\u0432\u0438\u0441\u0438\u043C\u0430\u044F \u0437\u0430\u0434\u0430\u0447\u0430 \u0443\u0434\u0430\u043B\u0435\u043D\u0430",unresolved:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u044C: {entries}",noEligibleTasks:"\u041D\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0445 \u043F\u043E\u0434\u0445\u043E\u0434\u044F\u0449\u0438\u0445 \u0437\u0430\u0434\u0430\u0447",updateFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0438"}},organization:{title:"\u041E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u044F",projects:"\u041F\u0440\u043E\u0435\u043A\u0442\u044B",addToProject:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432 \u043F\u0440\u043E\u0435\u043A\u0442\u2026",subtasks:"\u041F\u043E\u0434\u0437\u0430\u0434\u0430\u0447\u0438",addSubtasks:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043F\u043E\u0434\u0437\u0430\u0434\u0430\u0447\u0438\u2026",notices:{alreadyInProject:"\u0417\u0430\u0434\u0430\u0447\u0430 \u0443\u0436\u0435 \u0432 \u044D\u0442\u043E\u043C \u043F\u0440\u043E\u0435\u043A\u0442\u0435",alreadySubtask:"\u0417\u0430\u0434\u0430\u0447\u0430 \u0443\u0436\u0435 \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u043F\u043E\u0434\u0437\u0430\u0434\u0430\u0447\u0435\u0439 \u044D\u0442\u043E\u0439 \u0437\u0430\u0434\u0430\u0447\u0438",addedToProject:"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u043E \u0432 \u043F\u0440\u043E\u0435\u043A\u0442: {project}",addedAsSubtask:"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0430 {subtask} \u043A\u0430\u043A \u043F\u043E\u0434\u0437\u0430\u0434\u0430\u0447\u0430 {parent}",addToProjectFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0443 \u0432 \u043F\u0440\u043E\u0435\u043A\u0442",addAsSubtaskFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0443 \u043A\u0430\u043A \u043F\u043E\u0434\u0437\u0430\u0434\u0430\u0447\u0443",projectSelectFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u0441\u0435\u043B\u0435\u043A\u0442\u043E\u0440 \u043F\u0440\u043E\u0435\u043A\u0442\u043E\u0432",subtaskSelectFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u0441\u0435\u043B\u0435\u043A\u0442\u043E\u0440 \u043F\u043E\u0434\u0437\u0430\u0434\u0430\u0447",noEligibleSubtasks:"\u041D\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0445 \u0437\u0430\u0434\u0430\u0447 \u0434\u043B\u044F \u043D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0432 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043F\u043E\u0434\u0437\u0430\u0434\u0430\u0447",currentTaskNotFound:"\u0424\u0430\u0439\u043B \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D"}},subtasks:{loading:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u043F\u043E\u0434\u0437\u0430\u0434\u0430\u0447...",noSubtasks:"\u041F\u043E\u0434\u0437\u0430\u0434\u0430\u0447\u0438 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",loadFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043F\u043E\u0434\u0437\u0430\u0434\u0430\u0447\u0438"},markComplete:"\u041E\u0442\u043C\u0435\u0442\u0438\u0442\u044C \u043A\u0430\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u043D\u0443\u044E \u0434\u043B\u044F \u044D\u0442\u043E\u0439 \u0434\u0430\u0442\u044B",markIncomplete:"\u041E\u0442\u043C\u0435\u0442\u0438\u0442\u044C \u043A\u0430\u043A \u043D\u0435\u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u043D\u0443\u044E \u0434\u043B\u044F \u044D\u0442\u043E\u0439 \u0434\u0430\u0442\u044B",skipInstance:"\u041F\u0440\u043E\u043F\u0443\u0441\u0442\u0438\u0442\u044C \u044D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440",unskipInstance:"\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u0440\u043E\u043F\u0443\u0441\u043A \u044D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440\u0430",quickReminders:{atTime:"\u0412\u043E \u0432\u0440\u0435\u043C\u044F \u0441\u043E\u0431\u044B\u0442\u0438\u044F",fiveMinutes:"\u0417\u0430 5 \u043C\u0438\u043D\u0443\u0442",fifteenMinutes:"\u0417\u0430 15 \u043C\u0438\u043D\u0443\u0442",oneHour:"\u0417\u0430 1 \u0447\u0430\u0441",oneDay:"\u0417\u0430 1 \u0434\u0435\u043D\u044C"},notices:{toggleCompletionFailure:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u0435 \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0435\u0439\u0441\u044F \u0437\u0430\u0434\u0430\u0447\u0438: {message}",toggleSkipFailure:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043F\u0440\u043E\u043F\u0443\u0441\u043A \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0435\u0439\u0441\u044F \u0437\u0430\u0434\u0430\u0447\u0438: {message}",updateDueDateFailure:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0441\u0440\u043E\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u0437\u0430\u0434\u0430\u0447\u0438: {message}",updateScheduledFailure:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0443\u044E \u0434\u0430\u0442\u0443 \u0437\u0430\u0434\u0430\u0447\u0438: {message}",updateRemindersFailure:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u044F",clearRemindersFailure:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u044F",addReminderFailure:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u0435",archiveFailure:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0430\u0440\u0445\u0438\u0432 \u0437\u0430\u0434\u0430\u0447\u0438: {message}",copyTitleSuccess:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u043E \u0432 \u0431\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430",copyFailure:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432 \u0431\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430",renameSuccess:'\u041F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u043E \u0432 "{name}"',renameFailure:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u0442\u044C \u0444\u0430\u0439\u043B",copyPathSuccess:"\u041F\u0443\u0442\u044C \u043A \u0444\u0430\u0439\u043B\u0443 \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D \u0432 \u0431\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430",copyUrlSuccess:"URL Obsidian \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D \u0432 \u0431\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430",updateRecurrenceFailure:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438: {message}"}},priority:{clearPriority:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442"},ics:{showDetails:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0434\u0435\u0442\u0430\u043B\u0438",createTask:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0443 \u0438\u0437 \u0441\u043E\u0431\u044B\u0442\u0438\u044F",createNote:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0437\u0430\u043C\u0435\u0442\u043A\u0443 \u0438\u0437 \u0441\u043E\u0431\u044B\u0442\u0438\u044F",linkNote:"\u0421\u0432\u044F\u0437\u0430\u0442\u044C \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044E\u0449\u0443\u044E \u0437\u0430\u043C\u0435\u0442\u043A\u0443",copyTitle:"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435",copyLocation:"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043C\u0435\u0441\u0442\u043E\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435",copyUrl:"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C URL",copyMarkdown:"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043A\u0430\u043A markdown",subscriptionUnknown:"\u041D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u044B\u0439 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C",notices:{copyTitleSuccess:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0441\u043E\u0431\u044B\u0442\u0438\u044F \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u043E \u0432 \u0431\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430",copyLocationSuccess:"\u041C\u0435\u0441\u0442\u043E\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u043E \u0432 \u0431\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430",copyUrlSuccess:"URL \u0441\u043E\u0431\u044B\u0442\u0438\u044F \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D \u0432 \u0431\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430",copyMarkdownSuccess:"\u0414\u0435\u0442\u0430\u043B\u0438 \u0441\u043E\u0431\u044B\u0442\u0438\u044F \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u044B \u043A\u0430\u043A markdown",copyFailure:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432 \u0431\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430",taskCreated:"\u0417\u0430\u0434\u0430\u0447\u0430 \u0441\u043E\u0437\u0434\u0430\u043D\u0430: {title}",taskCreateFailure:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0443 \u0438\u0437 \u0441\u043E\u0431\u044B\u0442\u0438\u044F",noteCreated:"\u0417\u0430\u043C\u0435\u0442\u043A\u0430 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u0441\u043E\u0437\u0434\u0430\u043D\u0430",creationFailure:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u043C\u043E\u0434\u0430\u043B\u044C\u043D\u043E\u0435 \u043E\u043A\u043D\u043E \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F",linkSuccess:'\u0421\u0432\u044F\u0437\u0430\u043D\u0430 \u0437\u0430\u043C\u0435\u0442\u043A\u0430 "{name}" \u0441 \u0441\u043E\u0431\u044B\u0442\u0438\u0435\u043C',linkFailure:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u0432\u044F\u0437\u0430\u0442\u044C \u0437\u0430\u043C\u0435\u0442\u043A\u0443",linkSelectionFailure:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u0432\u044B\u0431\u043E\u0440 \u0437\u0430\u043C\u0435\u0442\u043A\u0438"},markdown:{titleFallback:"\u0421\u043E\u0431\u044B\u0442\u0438\u0435 \u0431\u0435\u0437 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F",calendar:"**\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C:** {value}",date:"**\u0414\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043C\u044F:** {value}",location:"**\u041C\u0435\u0441\u0442\u043E\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435:** {value}",descriptionHeading:"### \u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435",url:"**URL:** {value}",at:" \u0432 {time}"}},date:{increment:{plusOneDay:"+1 \u0434\u0435\u043D\u044C",minusOneDay:"-1 \u0434\u0435\u043D\u044C",plusOneWeek:"+1 \u043D\u0435\u0434\u0435\u043B\u044F",minusOneWeek:"-1 \u043D\u0435\u0434\u0435\u043B\u044F"},basic:{today:"\u0421\u0435\u0433\u043E\u0434\u043D\u044F",tomorrow:"\u0417\u0430\u0432\u0442\u0440\u0430",thisWeekend:"\u042D\u0442\u0438 \u0432\u044B\u0445\u043E\u0434\u043D\u044B\u0435",nextWeek:"\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0430\u044F \u043D\u0435\u0434\u0435\u043B\u044F",nextMonth:"\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439 \u043C\u0435\u0441\u044F\u0446"},weekdaysLabel:"\u0420\u0430\u0431\u043E\u0447\u0438\u0435 \u0434\u043D\u0438",selected:"\u2713 {label}",pickDateTime:"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0434\u0430\u0442\u0443 \u0438 \u0432\u0440\u0435\u043C\u044F\u2026",clearDate:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0434\u0430\u0442\u0443",modal:{title:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0434\u0430\u0442\u0443 \u0438 \u0432\u0440\u0435\u043C\u044F",dateLabel:"\u0414\u0430\u0442\u0430",timeLabel:"\u0412\u0440\u0435\u043C\u044F (\u043E\u043F\u0446\u0438\u043E\u043D\u0430\u043B\u044C\u043D\u043E)",select:"\u0412\u044B\u0431\u0440\u0430\u0442\u044C"}}},services:{pomodoro:{notices:{alreadyRunning:"\u041F\u043E\u043C\u043E\u0434\u043E\u0440\u043E \u0443\u0436\u0435 \u0437\u0430\u043F\u0443\u0449\u0435\u043D\u043E",resumeCurrentSession:"\u0412\u043E\u0437\u043E\u0431\u043D\u043E\u0432\u0438\u0442\u0435 \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u0441\u0435\u0441\u0441\u0438\u044E \u0432\u043C\u0435\u0441\u0442\u043E \u0437\u0430\u043F\u0443\u0441\u043A\u0430 \u043D\u043E\u0432\u043E\u0439",timerAlreadyRunning:"\u0422\u0430\u0439\u043C\u0435\u0440 \u0443\u0436\u0435 \u0437\u0430\u043F\u0443\u0449\u0435\u043D",resumeSessionInstead:"\u0412\u043E\u0437\u043E\u0431\u043D\u043E\u0432\u0438\u0442\u0435 \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u0441\u0435\u0441\u0441\u0438\u044E \u0432\u043C\u0435\u0441\u0442\u043E \u0437\u0430\u043F\u0443\u0441\u043A\u0430 \u043D\u043E\u0432\u043E\u0439",shortBreakStarted:"\u041A\u043E\u0440\u043E\u0442\u043A\u0438\u0439 \u043F\u0435\u0440\u0435\u0440\u044B\u0432 \u043D\u0430\u0447\u0430\u0442",longBreakStarted:"\u0414\u043B\u0438\u043D\u043D\u044B\u0439 \u043F\u0435\u0440\u0435\u0440\u044B\u0432 \u043D\u0430\u0447\u0430\u0442",paused:"\u041F\u043E\u043C\u043E\u0434\u043E\u0440\u043E \u043F\u0440\u0438\u043E\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E",resumed:"\u041F\u043E\u043C\u043E\u0434\u043E\u0440\u043E \u0432\u043E\u0437\u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u043E",stoppedAndReset:"\u041F\u043E\u043C\u043E\u0434\u043E\u0440\u043E \u043E\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E \u0438 \u0441\u0431\u0440\u043E\u0448\u0435\u043D\u043E",migrationSuccess:"\u0423\u0441\u043F\u0435\u0448\u043D\u043E \u043F\u0435\u0440\u0435\u043D\u0435\u0441\u0435\u043D\u043E {count} \u0441\u0435\u0441\u0441\u0438\u0439 \u043F\u043E\u043C\u043E\u0434\u043E\u0440\u043E \u0432 \u0435\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u044B\u0435 \u0437\u0430\u043C\u0435\u0442\u043A\u0438.",migrationFailure:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0435\u0440\u0435\u043D\u0435\u0441\u0442\u0438 \u0434\u0430\u043D\u043D\u044B\u0435 \u043F\u043E\u043C\u043E\u0434\u043E\u0440\u043E. \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0441\u043D\u043E\u0432\u0430 \u0438\u043B\u0438 \u043F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u043A\u043E\u043D\u0441\u043E\u043B\u044C \u0434\u043B\u044F \u0434\u0435\u0442\u0430\u043B\u0435\u0439."}},icsSubscription:{notices:{calendarNotFound:'\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C "{name}" \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D (404). \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435, \u0447\u0442\u043E URL ICS \u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u044B\u0439 \u0438 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C \u043E\u0431\u0449\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D.',calendarAccessDenied:'\u0414\u043E\u0441\u0442\u0443\u043F \u043A \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044E "{name}" \u0437\u0430\u043F\u0440\u0435\u0449\u0435\u043D (500). \u042D\u0442\u043E \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u0438\u0437-\u0437\u0430 \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D\u0438\u0439 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 Microsoft Outlook. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043F\u0435\u0440\u0435\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C URL ICS \u0438\u0437 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F.',fetchRemoteFailed:'\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u0443\u0434\u0430\u043B\u0435\u043D\u043D\u044B\u0439 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C "{name}": {error}',readLocalFailed:'\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0439 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C "{name}": {error}'}},calendarExport:{notices:{generateLinkFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F",noTasksToExport:"\u041D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u0437\u0430\u0434\u0430\u0447 \u0434\u043B\u044F \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0430",downloadSuccess:"\u0421\u043A\u0430\u0447\u0430\u043D {filename} \u0441 {count} \u0437\u0430\u0434\u0430\u0447{plural}",downloadFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043A\u0430\u0447\u0430\u0442\u044C \u0444\u0430\u0439\u043B \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F",singleDownloadSuccess:"\u0421\u043A\u0430\u0447\u0430\u043D {filename}"}},filter:{groupLabels:{noProject:"\u0411\u0435\u0437 \u043F\u0440\u043E\u0435\u043A\u0442\u0430",noTags:"\u0411\u0435\u0437 \u0442\u0435\u0433\u043E\u0432",invalidDate:"\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0434\u0430\u0442\u0430",due:{overdue:"\u041F\u0440\u043E\u0441\u0440\u043E\u0447\u0435\u043D\u043E",today:"\u0421\u0435\u0433\u043E\u0434\u043D\u044F",tomorrow:"\u0417\u0430\u0432\u0442\u0440\u0430",nextSevenDays:"\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u0441\u0435\u043C\u044C \u0434\u043D\u0435\u0439",later:"\u041F\u043E\u0437\u0436\u0435",none:"\u0411\u0435\u0437 \u0441\u0440\u043E\u043A\u0430 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F"},scheduled:{past:"\u041F\u0440\u043E\u0448\u043B\u044B\u0435 \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435",today:"\u0421\u0435\u0433\u043E\u0434\u043D\u044F",tomorrow:"\u0417\u0430\u0432\u0442\u0440\u0430",nextSevenDays:"\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u0441\u0435\u043C\u044C \u0434\u043D\u0435\u0439",later:"\u041F\u043E\u0437\u0436\u0435",none:"\u0411\u0435\u0437 \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0439 \u0434\u0430\u0442\u044B"}},errors:{noDatesProvided:"\u0414\u0430\u0442\u044B \u043D\u0435 \u043F\u0440\u0435\u0434\u043E\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u044B"},folders:{root:"(\u041A\u043E\u0440\u0435\u043D\u044C)"}},instantTaskConvert:{notices:{noCheckboxTasks:"\u0412 \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u0437\u0430\u043C\u0435\u0442\u043A\u0435 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u0437\u0430\u0434\u0430\u0447 \u0441 \u0447\u0435\u043A\u0431\u043E\u043A\u0441\u0430\u043C\u0438.",convertingTasks:"\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u0435 {count} \u0437\u0430\u0434\u0430\u0447{plural}...",conversionSuccess:"\u2705 \u0423\u0441\u043F\u0435\u0448\u043D\u043E \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u043E {count} \u0437\u0430\u0434\u0430\u0447{plural} \u0432 TaskNotes!",partialConversion:"\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u043E {successCount} \u0437\u0430\u0434\u0430\u0447{successPlural}. {failureCount} \u043D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C.",batchConversionFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0432\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u043F\u0430\u043A\u0435\u0442\u043D\u043E\u0435 \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u0435. \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0441\u043D\u043E\u0432\u0430.",invalidParameters:"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B.",emptyLine:"\u0422\u0435\u043A\u0443\u0449\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430 \u043F\u0443\u0441\u0442\u0430 \u0438\u043B\u0438 \u043D\u0435 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442 \u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0433\u043E \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0433\u043E.",parseError:"\u041E\u0448\u0438\u0431\u043A\u0430 \u0430\u043D\u0430\u043B\u0438\u0437\u0430 \u0437\u0430\u0434\u0430\u0447\u0438: {error}",invalidTaskData:"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435 \u0437\u0430\u0434\u0430\u0447\u0438.",replaceLineFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443 \u0437\u0430\u0434\u0430\u0447\u0438.",conversionComplete:"\u0417\u0430\u0434\u0430\u0447\u0430 \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0430: {title}",conversionCompleteShortened:'\u0417\u0430\u0434\u0430\u0447\u0430 \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0430: "{title}" (\u0438\u043C\u044F \u0444\u0430\u0439\u043B\u0430 \u0441\u043E\u043A\u0440\u0430\u0449\u0435\u043D\u043E \u0438\u0437-\u0437\u0430 \u0434\u043B\u0438\u043D\u044B)',fileExists:"\u0424\u0430\u0439\u043B \u0441 \u0442\u0430\u043A\u0438\u043C \u0438\u043C\u0435\u043D\u0435\u043C \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442. \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0441\u043D\u043E\u0432\u0430 \u0438\u043B\u0438 \u043F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u0443\u0439\u0442\u0435 \u0437\u0430\u0434\u0430\u0447\u0443.",conversionFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0443. \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0441\u043D\u043E\u0432\u0430."}},icsNote:{notices:{templateNotFound:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D: {path}",templateProcessError:"\u041E\u0448\u0438\u0431\u043A\u0430 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0438 \u0448\u0430\u0431\u043B\u043E\u043D\u0430: {template}",linkedToEvent:"\u0417\u0430\u043C\u0435\u0442\u043A\u0430 \u0441\u0432\u044F\u0437\u0430\u043D\u0430 \u0441 \u0441\u043E\u0431\u044B\u0442\u0438\u0435\u043C ICS: {title}"}},task:{notices:{templateNotFound:"\u0428\u0430\u0431\u043B\u043E\u043D \u0442\u0435\u043B\u0430 \u0437\u0430\u0434\u0430\u0447\u0438 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D: {path}",templateReadError:"\u041E\u0448\u0438\u0431\u043A\u0430 \u0447\u0442\u0435\u043D\u0438\u044F \u0448\u0430\u0431\u043B\u043E\u043D\u0430 \u0442\u0435\u043B\u0430 \u0437\u0430\u0434\u0430\u0447\u0438: {template}",moveTaskFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C {operation} \u0437\u0430\u0434\u0430\u0447\u0443: {error}"}},autoExport:{notices:{exportFailed:"\u0410\u0432\u0442\u043E\u044D\u043A\u0441\u043F\u043E\u0440\u0442 TaskNotes \u043D\u0435 \u0443\u0434\u0430\u043B\u0441\u044F: {error}"}}},ui:{icsCard:{untitledEvent:"\u0421\u043E\u0431\u044B\u0442\u0438\u0435 \u0431\u0435\u0437 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F",allDay:"\u0412\u0435\u0441\u044C \u0434\u0435\u043D\u044C",calendarEvent:"\u0421\u043E\u0431\u044B\u0442\u0438\u0435 \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044F",calendarFallback:"\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C"},noteCard:{createdLabel:"\u0421\u043E\u0437\u0434\u0430\u043D\u043E:",dailyBadge:"\u0415\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u043E",dailyTooltip:"\u0415\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u0430\u044F \u0437\u0430\u043C\u0435\u0442\u043A\u0430"},taskCard:{labels:{due:"\u0421\u0440\u043E\u043A",scheduled:"\u0417\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043E",recurrence:"\u041F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0435\u0435\u0441\u044F",completed:"\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E",created:"\u0421\u043E\u0437\u0434\u0430\u043D\u043E",modified:"\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u043E",blocked:"\u0417\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u043E",blocking:"\u0411\u043B\u043E\u043A\u0438\u0440\u0443\u0435\u0442"},blockedBadge:"\u0417\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u0430",blockedBadgeTooltip:"\u042D\u0442\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u043E\u0436\u0438\u0434\u0430\u0435\u0442 \u0434\u0440\u0443\u0433\u0443\u044E \u0437\u0430\u0434\u0430\u0447\u0443",blockingBadge:"\u0411\u043B\u043E\u043A\u0438\u0440\u0443\u0435\u0442",blockingBadgeTooltip:"\u042D\u0442\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u0431\u043B\u043E\u043A\u0438\u0440\u0443\u0435\u0442 \u0434\u0440\u0443\u0433\u0443\u044E \u0437\u0430\u0434\u0430\u0447\u0443",blockingToggle:"\u0411\u043B\u043E\u043A\u0438\u0440\u0443\u0435\u0442 {count} \u0437\u0430\u0434\u0430\u0447",priorityAriaLabel:"\u041F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442: {label}",taskOptions:"\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u0437\u0430\u0434\u0430\u0447\u0438",recurrenceTooltip:"{label}: {value}",reminderTooltipOne:"1 \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E (\u043D\u0430\u0436\u043C\u0438\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u0443\u043F\u0440\u0430\u0432\u043B\u044F\u0442\u044C)",reminderTooltipMany:"{count} \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u0439 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E (\u043D\u0430\u0436\u043C\u0438\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u0443\u043F\u0440\u0430\u0432\u043B\u044F\u0442\u044C)",projectTooltip:"\u042D\u0442\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u043A\u0430\u043A \u043F\u0440\u043E\u0435\u043A\u0442 (\u043D\u0430\u0436\u043C\u0438\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u043E\u0442\u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u043E\u0434\u0437\u0430\u0434\u0430\u0447\u0438)",expandSubtasks:"\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u043F\u043E\u0434\u0437\u0430\u0434\u0430\u0447\u0438",collapseSubtasks:"\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u043F\u043E\u0434\u0437\u0430\u0434\u0430\u0447\u0438",dueToday:"{label}: \u0421\u0435\u0433\u043E\u0434\u043D\u044F",dueTodayAt:"{label}: \u0421\u0435\u0433\u043E\u0434\u043D\u044F \u0432 {time}",dueOverdue:"{label}: {display} (\u043F\u0440\u043E\u0441\u0440\u043E\u0447\u0435\u043D\u043E)",dueLabel:"{label}: {display}",scheduledToday:"{label}: \u0421\u0435\u0433\u043E\u0434\u043D\u044F",scheduledTodayAt:"{label}: \u0421\u0435\u0433\u043E\u0434\u043D\u044F \u0432 {time}",scheduledPast:"{label}: {display} (\u0432 \u043F\u0440\u043E\u0448\u043B\u043E\u043C)",scheduledLabel:"{label}: {display}",loadingDependencies:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0435\u0439\u2026",blockingEmpty:"\u041D\u0435\u0442 \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u044B\u0445 \u0437\u0430\u0434\u0430\u0447",blockingLoadError:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0438",googleCalendarSyncTooltip:"\u0421\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u043D\u043E \u0441 Google \u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u0451\u043C"},propertyEventCard:{unknownFile:"\u041D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u044B\u0439 \u0444\u0430\u0439\u043B"},filterHeading:{allViewName:"\u0412\u0441\u0435"},filterBar:{saveView:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435",saveViewNamePlaceholder:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0438\u043C\u044F \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F...",saveButton:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C",views:"\u041F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F",savedFilterViews:"\u0421\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u043D\u044B\u0435 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432",filters:"\u0424\u0438\u043B\u044C\u0442\u0440\u044B",properties:"\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u0430",sort:"\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0430",newTask:"\u041D\u043E\u0432\u0430\u044F",expandAllGroups:"\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u0441\u0435 \u0433\u0440\u0443\u043F\u043F\u044B",collapseAllGroups:"\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u0441\u0435 \u0433\u0440\u0443\u043F\u043F\u044B",searchTasksPlaceholder:"\u041F\u043E\u0438\u0441\u043A \u0437\u0430\u0434\u0430\u0447...",searchTasksTooltip:"\u041F\u043E\u0438\u0441\u043A \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0439 \u0437\u0430\u0434\u0430\u0447",filterUnavailable:"\u041F\u0430\u043D\u0435\u043B\u044C \u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430",toggleFilter:"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440",activeFiltersTooltip:"\u0410\u043A\u0442\u0438\u0432\u043D\u044B\u0435 \u0444\u0438\u043B\u044C\u0442\u0440\u044B \u2013 \u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0434\u043B\u044F \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F, \u043F\u0440\u0430\u0432\u044B\u0439 \u043A\u043B\u0438\u043A \u0434\u043B\u044F \u043E\u0447\u0438\u0441\u0442\u043A\u0438",configureVisibleProperties:"\u041D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u0432\u0438\u0434\u0438\u043C\u044B\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430",sortAndGroupOptions:"\u041E\u043F\u0446\u0438\u0438 \u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0438 \u0438 \u0433\u0440\u0443\u043F\u043F\u0438\u0440\u043E\u0432\u043A\u0438",sortMenuHeader:"\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0430",orderMenuHeader:"\u041F\u043E\u0440\u044F\u0434\u043E\u043A",groupMenuHeader:"\u0413\u0440\u0443\u043F\u043F\u0438\u0440\u043E\u0432\u043A\u0430",createNewTask:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043D\u043E\u0432\u0443\u044E \u0437\u0430\u0434\u0430\u0447\u0443",filter:"\u0424\u0438\u043B\u044C\u0442\u0440",displayOrganization:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0438 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u044F",viewOptions:"\u041E\u043F\u0446\u0438\u0438 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F",addFilter:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440",addFilterGroup:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0433\u0440\u0443\u043F\u043F\u0443 \u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432",addFilterTooltip:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u0432\u043E\u0435 \u0443\u0441\u043B\u043E\u0432\u0438\u0435 \u0444\u0438\u043B\u044C\u0442\u0440\u0430",addFilterGroupTooltip:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432\u043B\u043E\u0436\u0435\u043D\u043D\u0443\u044E \u0433\u0440\u0443\u043F\u043F\u0443 \u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432",clearAllFilters:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0432\u0441\u0435 \u0444\u0438\u043B\u044C\u0442\u0440\u044B \u0438 \u0433\u0440\u0443\u043F\u043F\u044B",saveCurrentFilter:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0438\u0439 \u0444\u0438\u043B\u044C\u0442\u0440 \u043A\u0430\u043A \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435",closeFilterModal:"\u0417\u0430\u043A\u0440\u044B\u0442\u044C \u043C\u043E\u0434\u0430\u043B\u044C\u043D\u043E\u0435 \u043E\u043A\u043D\u043E \u0444\u0438\u043B\u044C\u0442\u0440\u0430",deleteFilterGroup:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0433\u0440\u0443\u043F\u043F\u0443 \u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432",deleteCondition:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0443\u0441\u043B\u043E\u0432\u0438\u0435",all:"\u0412\u0441\u0435",any:"\u041B\u044E\u0431\u043E\u0435",followingAreTrue:"\u0438\u0437 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0445 \u0438\u0441\u0442\u0438\u043D\u043D\u043E:",where:"\u0433\u0434\u0435",selectProperty:"\u0412\u044B\u0431\u0440\u0430\u0442\u044C...",chooseProperty:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435, \u043A\u0430\u043A\u043E\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u043E \u0437\u0430\u0434\u0430\u0447\u0438 \u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u0442\u044C",chooseOperator:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435, \u043A\u0430\u043A \u0441\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430",enterValue:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0434\u043B\u044F \u0444\u0438\u043B\u044C\u0442\u0440\u0430\u0446\u0438\u0438",selectValue:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 {property} \u0434\u043B\u044F \u0444\u0438\u043B\u044C\u0442\u0440\u0430\u0446\u0438\u0438",sortBy:"\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u043E:",toggleSortDirection:"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0438",chooseSortMethod:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435, \u043A\u0430\u043A \u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0438",groupBy:"\u0413\u0440\u0443\u043F\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u043E:",chooseGroupMethod:"\u0413\u0440\u0443\u043F\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0437\u0430\u0434\u0430\u0447\u0438 \u043F\u043E \u043E\u0431\u0449\u0435\u043C\u0443 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0443",toggleViewOption:"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C {option}",expandCollapseFilters:"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0434\u043B\u044F \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u044F/\u0441\u0432\u0435\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u044F \u0443\u0441\u043B\u043E\u0432\u0438\u0439 \u0444\u0438\u043B\u044C\u0442\u0440\u0430",expandCollapseSort:"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0434\u043B\u044F \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u044F/\u0441\u0432\u0435\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u044F \u043E\u043F\u0446\u0438\u0439 \u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0438 \u0438 \u0433\u0440\u0443\u043F\u043F\u0438\u0440\u043E\u0432\u043A\u0438",expandCollapseViewOptions:"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0434\u043B\u044F \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u044F/\u0441\u0432\u0435\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u044F \u043E\u043F\u0446\u0438\u0439 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F",naturalLanguageDates:"\u0414\u0430\u0442\u044B \u043D\u0430 \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043D\u043D\u043E\u043C \u044F\u0437\u044B\u043A\u0435",naturalLanguageExamples:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043F\u0440\u0438\u043C\u0435\u0440\u044B \u0434\u0430\u0442 \u043D\u0430 \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043D\u043D\u043E\u043C \u044F\u0437\u044B\u043A\u0435",enterNumericValue:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0447\u0438\u0441\u043B\u043E\u0432\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0434\u043B\u044F \u0444\u0438\u043B\u044C\u0442\u0440\u0430\u0446\u0438\u0438",enterDateValue:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0434\u0430\u0442\u0443, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043D\u043D\u044B\u0439 \u044F\u0437\u044B\u043A \u0438\u043B\u0438 \u0444\u043E\u0440\u043C\u0430\u0442 ISO",pickDateTime:"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0434\u0430\u0442\u0443 \u0438 \u0432\u0440\u0435\u043C\u044F",noSavedViews:"\u041D\u0435\u0442 \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u043D\u044B\u0445 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0439",savedViews:"\u0421\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u043D\u044B\u0435 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F",yourSavedFilters:"\u0412\u0430\u0448\u0438 \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u043D\u044B\u0435 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432",dragToReorder:"\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0434\u043B\u044F \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u043F\u043E\u0440\u044F\u0434\u043A\u0430 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0439",loadSavedView:"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u043D\u043E\u0435 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435: {name}",deleteView:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435",deleteViewTitle:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435",deleteViewMessage:'\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435 "{name}"?',manageAllReminders:"\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0442\u044C \u0432\u0441\u0435\u043C\u0438 \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u044F\u043C\u0438...",clearAllReminders:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0432\u0441\u0435 \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u044F",customRecurrence:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u0435 \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0435...",clearRecurrence:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0435",sortOptions:{dueDate:"\u0421\u0440\u043E\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F",scheduledDate:"\u0417\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0430\u044F \u0434\u0430\u0442\u0430",priority:"\u041F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442",status:"\u0421\u0442\u0430\u0442\u0443\u0441",title:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435",createdDate:"\u0414\u0430\u0442\u0430 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F",tags:"\u0422\u0435\u0433\u0438",ascending:"\u041F\u043E \u0432\u043E\u0437\u0440\u0430\u0441\u0442\u0430\u043D\u0438\u044E",descending:"\u041F\u043E \u0443\u0431\u044B\u0432\u0430\u043D\u0438\u044E"},group:{none:"\u041D\u0435\u0442",status:"\u0421\u0442\u0430\u0442\u0443\u0441",priority:"\u041F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442",context:"\u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442",project:"\u041F\u0440\u043E\u0435\u043A\u0442",dueDate:"\u0421\u0440\u043E\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F",scheduledDate:"\u0417\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0430\u044F \u0434\u0430\u0442\u0430",tags:"\u0422\u0435\u0433\u0438",completedDate:"\u0414\u0430\u0442\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F"},subgroupLabel:"\u041F\u041E\u0414\u0413\u0420\u0423\u041F\u041F\u0410",notices:{propertiesMenuFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043C\u0435\u043D\u044E \u0441\u0432\u043E\u0439\u0441\u0442\u0432"}}},components:{dateContextMenu:{weekdays:"\u0411\u0443\u0434\u043D\u0438",clearDate:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0434\u0430\u0442\u0443",today:"\u0414\u043Eday",tomorrow:"\u0414\u043Emorrow",thisWeekend:"\u041D\u0430 \u044D\u0442\u043E\u0439 \u043D\u0435\u0434\u0435\u043B\u0435end",nextWeek:"\u041D\u0430 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0439 \u043D\u0435\u0434\u0435\u043B\u0435",nextMonth:"\u0412 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u043C \u043C\u0435\u0441\u044F\u0446\u0435",setDateTime:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0434\u0430\u0442\u0443 \u0438 \u0432\u0440\u0435\u043C\u044F",dateLabel:"\u0414\u0430\u0442\u0430",timeLabel:"\u0412\u0440\u0435\u043C\u044F (\u043D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E)"},subgroupMenuBuilder:{none:"\u041D\u0435\u0442",status:"\u0421\u0442\u0430\u0442\u0443\u0441",priority:"\u041F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442",context:"\u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442",project:"\u041F\u0440\u043E\u0435\u043A\u0442",dueDate:"\u0414\u0430\u0442\u0430 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F",scheduledDate:"\u0417\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0430\u044F \u0434\u0430\u0442\u0430",tags:"\u0422\u0435\u0433\u0438",completedDate:"\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E Date",subgroup:"\u041F\u041E\u0414\u0413\u0420\u0423\u041F\u041F\u0410"},propertyVisibilityDropdown:{coreProperties:"\u041E\u0421\u041D\u041E\u0412\u041D\u042B\u0415 \u0421\u0412\u041E\u0419\u0421\u0422\u0412\u0410",organization:"\u041E\u0420\u0413\u0410\u041D\u0418\u0417\u0410\u0426\u0418\u042F",customProperties:"\u041F\u041E\u041B\u042C\u0417\u041E\u0412\u0410\u0422\u0415\u041B\u042C\u0421\u041A\u0418\u0415 \u0421\u0412\u041E\u0419\u0421\u0422\u0412\u0410",failed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043C\u0435\u043D\u044E \u0441\u0432\u043E\u0439\u0441\u0442\u0432",properties:{statusDot:"\u0422\u043E\u0447\u043A\u0430 \u0441\u0442\u0430\u0442\u0443\u0441\u0430",priorityDot:"\u0422\u043E\u0447\u043A\u0430 \u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442\u0430",dueDate:"\u0421\u0440\u043E\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F",scheduledDate:"\u0417\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0430\u044F \u0434\u0430\u0442\u0430",timeEstimate:"\u041E\u0446\u0435\u043D\u043A\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u0438",totalTrackedTime:"\u041E\u0431\u0449\u0435\u0435 \u043E\u0442\u0441\u043B\u0435\u0436\u0435\u043D\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F",checklistProgress:"\u041F\u0440\u043E\u0433\u0440\u0435\u0441\u0441 \u0447\u0435\u043A-\u043B\u0438\u0441\u0442\u0430",recurrence:"\u041F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0435",completedDate:"\u0414\u0430\u0442\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F",createdDate:"\u0414\u0430\u0442\u0430 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F",modifiedDate:"\u0414\u0430\u0442\u0430 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F",projects:"\u041F\u0440\u043E\u0435\u043A\u0442\u044B",contexts:"\u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u044B",tags:"\u0422\u0435\u0433\u0438",blocked:"\u0417\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u0430",blocking:"\u0411\u043B\u043E\u043A\u0438\u0440\u0443\u0435\u0442"}},reminderContextMenu:{remindBeforeDue:"\u041D\u0430\u043F\u043E\u043C\u043D\u0438\u0442\u044C \u0434\u043E \u0441\u0440\u043E\u043A\u0430 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F...",remindBeforeScheduled:"\u041D\u0430\u043F\u043E\u043C\u043D\u0438\u0442\u044C \u0434\u043E \u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0439 \u0434\u0430\u0442\u044B...",manageAllReminders:"\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0442\u044C \u0432\u0441\u0435\u043C\u0438 \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u044F\u043C\u0438...",clearAllReminders:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0432\u0441\u0435 \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u043D\u0438\u044F",quickReminders:{atTime:"\u0412\u043E \u0432\u0440\u0435\u043C\u044F \u0441\u043E\u0431\u044B\u0442\u0438\u044F",fiveMinutesBefore:"\u0417\u0430 5 \u043C\u0438\u043D\u0443\u0442",fifteenMinutesBefore:"\u0417\u0430 15 \u043C\u0438\u043D\u0443\u0442",oneHourBefore:"\u0417\u0430 1 \u0447\u0430\u0441",oneDayBefore:"\u0417\u0430 1 \u0434\u0435\u043D\u044C"}},recurrenceContextMenu:{daily:"\u0415\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u043E",weeklyOn:"\u0415\u0436\u0435\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u043E \u0432 {day}",everyTwoWeeksOn:"\u041A\u0430\u0436\u0434\u044B\u0435 2 \u043D\u0435\u0434\u0435\u043B\u0438 \u0432 {day}",monthlyOnThe:"\u0415\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u043E \u0432 {ordinal}",everyThreeMonthsOnThe:"\u041A\u0430\u0436\u0434\u044B\u0435 3 \u043C\u0435\u0441\u044F\u0446\u0430 \u0432 {ordinal}",yearlyOn:"\u0415\u0436\u0435\u0433\u043E\u0434\u043D\u043E {month} {ordinal}",weekdaysOnly:"\u0422\u043E\u043B\u044C\u043A\u043E \u0440\u0430\u0431\u043E\u0447\u0438\u0435 \u0434\u043D\u0438",dailyAfterCompletion:"\u0415\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u043E (\u043F\u043E\u0441\u043B\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F)",every3DaysAfterCompletion:"\u041A\u0430\u0436\u0434\u044B\u0435 3 \u0434\u043D\u044F (\u043F\u043E\u0441\u043B\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F)",weeklyAfterCompletion:"\u0415\u0436\u0435\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u043E (\u043F\u043E\u0441\u043B\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F)",monthlyAfterCompletion:"\u0415\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u043E (\u043F\u043E\u0441\u043B\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F)",customRecurrence:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u0435 \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0435...",clearRecurrence:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0435",customRecurrenceModal:{title:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u0435 \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0435",startDate:"\u0414\u0430\u0442\u0430 \u043D\u0430\u0447\u0430\u043B\u0430",startDateDesc:"\u0414\u0430\u0442\u0430, \u043A\u043E\u0433\u0434\u0430 \u043D\u0430\u0447\u0438\u043D\u0430\u0435\u0442\u0441\u044F \u0448\u0430\u0431\u043B\u043E\u043D \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u044F",startTime:"\u0412\u0440\u0435\u043C\u044F \u043D\u0430\u0447\u0430\u043B\u0430",startTimeDesc:"\u0412\u0440\u0435\u043C\u044F, \u043A\u043E\u0433\u0434\u0430 \u0434\u043E\u043B\u0436\u043D\u044B \u043F\u043E\u044F\u0432\u043B\u044F\u0442\u044C\u0441\u044F \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0438\u0435\u0441\u044F \u044D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440\u044B (\u043E\u043F\u0446\u0438\u043E\u043D\u0430\u043B\u044C\u043D\u043E)",recurFrom:"\u041F\u043E\u0432\u0442\u043E\u0440\u044F\u0442\u044C \u043E\u0442",recurFromDesc:"\u041A\u043E\u0433\u0434\u0430 \u0441\u043B\u0435\u0434\u0443\u0435\u0442 \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044B\u0432\u0430\u0442\u044C \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0435 \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0435?",scheduledDate:"\u0417\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0430\u044F \u0434\u0430\u0442\u0430",completionDate:"\u0414\u0430\u0442\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F",frequency:"\u0427\u0430\u0441\u0442\u043E\u0442\u0430",interval:"\u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B",intervalDesc:"\u041A\u0430\u0436\u0434\u044B\u0435 X \u0434\u043D\u0435\u0439/\u043D\u0435\u0434\u0435\u043B\u044C/\u043C\u0435\u0441\u044F\u0446\u0435\u0432/\u043B\u0435\u0442",daysOfWeek:"\u0414\u043D\u0438 \u043D\u0435\u0434\u0435\u043B\u0438",daysOfWeekDesc:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0435 \u0434\u043D\u0438 (\u0434\u043B\u044F \u0435\u0436\u0435\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u043E\u0433\u043E \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u044F)",monthlyRecurrence:"\u0415\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u043E\u0435 \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0435",monthlyRecurrenceDesc:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435, \u043A\u0430\u043A \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u0442\u044C \u0435\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u043E",yearlyRecurrence:"\u0415\u0436\u0435\u0433\u043E\u0434\u043D\u043E\u0435 \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0435",yearlyRecurrenceDesc:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435, \u043A\u0430\u043A \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u0442\u044C \u0435\u0436\u0435\u0433\u043E\u0434\u043D\u043E",endCondition:"\u0423\u0441\u043B\u043E\u0432\u0438\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F",endConditionDesc:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435, \u043A\u043E\u0433\u0434\u0430 \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0435 \u0434\u043E\u043B\u0436\u043D\u043E \u0437\u0430\u043A\u043E\u043D\u0447\u0438\u0442\u044C\u0441\u044F",neverEnds:"\u041D\u0438\u043A\u043E\u0433\u0434\u0430 \u043D\u0435 \u0437\u0430\u043A\u0430\u043D\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044F",endAfterOccurrences:"\u0417\u0430\u043A\u043E\u043D\u0447\u0438\u0442\u044C \u043F\u043E\u0441\u043B\u0435 {count} \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0439",endOnDate:"\u0417\u0430\u043A\u043E\u043D\u0447\u0438\u0442\u044C {date}",onDayOfMonth:"\u0412 \u0434\u0435\u043D\u044C {day} \u043A\u0430\u0436\u0434\u043E\u0433\u043E \u043C\u0435\u0441\u044F\u0446\u0430",onTheWeekOfMonth:"\u0412 {week} {day} \u043A\u0430\u0436\u0434\u043E\u0433\u043E \u043C\u0435\u0441\u044F\u0446\u0430",onDateOfYear:"{month} {day} \u043A\u0430\u0436\u0434\u043E\u0433\u043E \u0433\u043E\u0434\u0430",onTheWeekOfYear:"\u0412 {week} {day} {month} \u043A\u0430\u0436\u0434\u043E\u0433\u043E \u0433\u043E\u0434\u0430",frequencies:{daily:"\u0415\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u043E",weekly:"\u0415\u0436\u0435\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u043E",monthly:"\u0415\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u043E",yearly:"\u0415\u0436\u0435\u0433\u043E\u0434\u043D\u043E"},weekPositions:{first:"\u043F\u0435\u0440\u0432\u044B\u0439",second:"\u0432\u0442\u043E\u0440\u043E\u0439",third:"\u0442\u0440\u0435\u0442\u0438\u0439",fourth:"\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u044B\u0439",last:"\u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439"},weekdays:{monday:"\u041F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A",tuesday:"\u0412\u0442\u043E\u0440\u043D\u0438\u043A",wednesday:"\u0421\u0440\u0435\u0434\u0430",thursday:"\u0427\u0435\u0442\u0432\u0435\u0440\u0433",friday:"\u041F\u044F\u0442\u043D\u0438\u0446\u0430",saturday:"\u0421\u0443\u0431\u0431\u043E\u0442\u0430",sunday:"\u0412\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435"},weekdaysShort:{mon:"\u041F\u043D",tue:"\u0412\u0442",wed:"\u0421\u0440",thu:"\u0427\u0442",fri:"\u041F\u0442",sat:"\u0421\u0431",sun:"\u0412\u0441"},cancel:"\u041E\u0442\u043C\u0435\u043D\u0430",save:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C"}}}};var Sde={common:{appName:"TaskNotes",new:"\u65B0\u5EFA",cancel:"\u53D6\u6D88",confirm:"\u786E\u8BA4",close:"\u5173\u95ED",save:"\u4FDD\u5B58",reorder:{confirmLargeTitle:"\u786E\u8BA4\u5927\u89C4\u6A21\u91CD\u6392",confirmButton:"\u91CD\u6392\u7B14\u8BB0",confirmLargeMessage:"\u5728\u6B64\u5904\u91CD\u6392\u4F1A\u66F4\u65B0 {count} \u6761\u7B14\u8BB0\u4E2D\u7684\u201C{field}\u201D\uFF0C\u4EE5\u4FBF\u4E3A {scope} \u5EFA\u7ACB\u6301\u4E45\u7684\u624B\u52A8\u987A\u5E8F\u3002\u540C\u4E00\u8303\u56F4\u5185\u88AB\u9690\u85CF\u6216\u88AB\u7B5B\u9009\u6389\u7684\u7B14\u8BB0\u4E5F\u53EF\u80FD\u4F1A\u4E00\u8D77\u66F4\u65B0\u3002\u662F\u5426\u7EE7\u7EED\uFF1F"},language:"\u8BED\u8A00",systemDefault:"\u7CFB\u7EDF\u9ED8\u8BA4",loading:"\u52A0\u8F7D\u4E2D...",languages:{en:"\u82F1\u8BED",fr:"\u6CD5\u8BED",ru:"\u4FC4\u8BED",zh:"\u4E2D\u6587",de:"\u5FB7\u8BED",es:"\u897F\u73ED\u7259\u8BED",ja:"\u65E5\u8BED",pt:"\u8461\u8404\u7259\u8BED\uFF08\u5DF4\u897F\uFF09",ko:"\u97E9\u8BED"},weekdays:{sunday:"\u661F\u671F\u65E5",monday:"\u661F\u671F\u4E00",tuesday:"\u661F\u671F\u4E8C",wednesday:"\u661F\u671F\u4E09",thursday:"\u661F\u671F\u56DB",friday:"\u661F\u671F\u4E94",saturday:"\u661F\u671F\u516D"},months:{january:"\u4E00\u6708",february:"\u4E8C\u6708",march:"\u4E09\u6708",april:"\u56DB\u6708",may:"\u4E94\u6708",june:"\u516D\u6708",july:"\u4E03\u6708",august:"\u516B\u6708",september:"\u4E5D\u6708",october:"\u5341\u6708",november:"\u5341\u4E00\u6708",december:"\u5341\u4E8C\u6708"}},views:{agenda:{title:"\u8BAE\u7A0B",today:"\u4ECA\u5929",overdue:"\u903E\u671F",refreshCalendars:"\u5237\u65B0\u65E5\u5386",actions:{previousPeriod:"\u4E0A\u4E00\u65F6\u6BB5",nextPeriod:"\u4E0B\u4E00\u65F6\u6BB5",goToToday:"\u8F6C\u5230\u4ECA\u5929",refreshCalendars:"\u5237\u65B0\u65E5\u5386\u8BA2\u9605"},loading:"\u6B63\u5728\u52A0\u8F7D\u8BAE\u7A0B...",dayToggle:"\u5207\u6362\u65E5\u671F",overdueToggle:"\u5207\u6362\u903E\u671F\u90E8\u5206",expandAllDays:"\u5C55\u5F00\u6240\u6709\u5929",collapseAllDays:"\u6298\u53E0\u6240\u6709\u5929",notices:{calendarNotReady:"\u65E5\u5386\u670D\u52A1\u5C1A\u672A\u51C6\u5907\u5C31\u7EEA",calendarRefreshed:"\u65E5\u5386\u8BA2\u9605\u5DF2\u5237\u65B0",refreshFailed:"\u5237\u65B0\u5931\u8D25"},empty:{noItemsScheduled:"\u6CA1\u6709\u5B89\u6392\u7684\u9879\u76EE",noItemsFound:"\u672A\u627E\u5230\u9879\u76EE",helpText:"\u521B\u5EFA\u5177\u6709\u622A\u6B62\u65E5\u671F\u6216\u8BA1\u5212\u65E5\u671F\u7684\u4EFB\u52A1\uFF0C\u6216\u6DFB\u52A0\u7B14\u8BB0\u4EE5\u5728\u6B64\u5904\u663E\u793A\u5B83\u4EEC\u3002"},contextMenu:{showOverdueSection:"\u663E\u793A\u903E\u671F\u90E8\u5206",showNotes:"\u663E\u793A\u7B14\u8BB0",calendarSubscriptions:"\u65E5\u5386\u8BA2\u9605"},periods:{thisWeek:"\u672C\u5468"},tipPrefix:"\u63D0\u793A\uFF1A"},taskList:{title:"\u4EFB\u52A1",expandAllGroups:"\u5C55\u5F00\u6240\u6709\u5206\u7EC4",collapseAllGroups:"\u6298\u53E0\u6240\u6709\u5206\u7EC4",noTasksFound:"\u672A\u627E\u5230\u7B26\u5408\u6240\u9009\u7B5B\u9009\u6761\u4EF6\u7684\u4EFB\u52A1\u3002",reorder:{scope:{ungrouped:"\u8FD9\u4E2A\u672A\u5206\u7EC4\u5217\u8868",group:"\u5206\u7EC4\u201C{group}\u201D"}},errors:{formulaGroupingReadOnly:"\u65E0\u6CD5\u5728\u57FA\u4E8E\u516C\u5F0F\u7684\u5206\u7EC4\u4E2D\u91CD\u6392\u4EFB\u52A1\u3002\u516C\u5F0F\u503C\u662F\u8BA1\u7B97\u7ED3\u679C\uFF0C\u4E0D\u80FD\u76F4\u63A5\u4FEE\u6539\u3002"}},notes:{title:"\u7B14\u8BB0",refreshButton:"\u6B63\u5728\u5237\u65B0...",refreshingButton:"\u5237\u65B0\u4E2D...",notices:{indexingDisabled:"\u7B14\u8BB0\u7D22\u5F15\u5DF2\u7981\u7528"},empty:{noNotesFound:"\u672A\u627E\u5230\u7B14\u8BB0",helpText:"\u672A\u627E\u5230\u6240\u9009\u65E5\u671F\u7684\u7B14\u8BB0\u3002\u5C1D\u8BD5\u5728\u8FF7\u4F60\u65E5\u5386\u89C6\u56FE\u4E2D\u9009\u62E9\u4E0D\u540C\u7684\u65E5\u671F\u6216\u521B\u5EFA\u4E00\u4E9B\u7B14\u8BB0\u3002"},loading:"\u52A0\u8F7D\u7B14\u8BB0\u4E2D...",refreshButtonAriaLabel:"\u5237\u65B0\u7B14\u8BB0\u5217\u8868"},miniCalendar:{title:"\u8FF7\u4F60\u65E5\u5386"},advancedCalendar:{title:"\u65E5\u5386",filters:{showFilters:"\u663E\u793A\u7B5B\u9009\u5668",hideFilters:"\u9690\u85CF\u7B5B\u9009\u5668"},viewOptions:{calendarSubscriptions:"\u65E5\u5386\u8BA2\u9605",timeEntries:"\u65F6\u95F4\u6761\u76EE",timeblocks:"\u65F6\u95F4\u5757",scheduledDates:"\u8BA1\u5212\u65E5\u671F",dueDates:"\u622A\u6B62\u65E5\u671F",allDaySlot:"\u5168\u5929\u65F6\u6BB5",scheduledTasks:"\u8BA1\u5212\u4EFB\u52A1",recurringTasks:"\u91CD\u590D\u4EFB\u52A1"},buttons:{refresh:"\u5237\u65B0",refreshHint:"\u5237\u65B0\u65E5\u5386\u8BA2\u9605"},notices:{icsServiceNotAvailable:"ICS\u8BA2\u9605\u670D\u52A1\u4E0D\u53EF\u7528",calendarRefreshedAll:"\u6240\u6709\u65E5\u5386\u8BA2\u9605\u5DF2\u6210\u529F\u5237\u65B0",refreshFailed:"\u5237\u65B0\u90E8\u5206\u65E5\u5386\u8BA2\u9605\u5931\u8D25",timeblockSpecificTime:"\u65F6\u95F4\u5757\u5FC5\u987B\u6709\u5177\u4F53\u65F6\u95F4\u3002\u8BF7\u5728\u5468\u89C6\u56FE\u6216\u65E5\u89C6\u56FE\u4E2D\u9009\u62E9\u65F6\u95F4\u8303\u56F4\u3002",timeblockMoved:'\u65F6\u95F4\u5757"{title}"\u5DF2\u79FB\u52A8\u5230{date}',timeblockUpdated:'\u65F6\u95F4\u5757"{title}"\u7684\u65F6\u95F4\u5DF2\u66F4\u65B0',timeblockMoveFailed:"\u79FB\u52A8\u65F6\u95F4\u5757\u5931\u8D25\uFF1A{message}",timeblockResized:'\u65F6\u95F4\u5757"{title}"\u7684\u6301\u7EED\u65F6\u95F4\u5DF2\u66F4\u65B0',timeblockResizeFailed:"\u8C03\u6574\u65F6\u95F4\u5757\u5927\u5C0F\u5931\u8D25\uFF1A{message}",taskScheduled:'\u4EFB\u52A1"{title}"\u5DF2\u5B89\u6392\u5230{date}',scheduleTaskFailed:"\u5B89\u6392\u4EFB\u52A1\u5931\u8D25",endTimeAfterStart:"\u7ED3\u675F\u65F6\u95F4\u5FC5\u987B\u665A\u4E8E\u5F00\u59CB\u65F6\u95F4",timeEntryNotFound:"\u672A\u627E\u5230\u65F6\u95F4\u6761\u76EE",timeEntryDeleted:"\u65F6\u95F4\u6761\u76EE\u5DF2\u5220\u9664",deleteTimeEntryFailed:"\u5220\u9664\u65F6\u95F4\u6761\u76EE\u5931\u8D25"},timeEntry:{estimatedSuffix:"\u9884\u4F30",trackedSuffix:"\u5DF2\u8BB0\u5F55",recurringPrefix:"\u91CD\u590D\uFF1A",completedPrefix:"\u5DF2\u5B8C\u6210\uFF1A",createdPrefix:"\u521B\u5EFA\uFF1A",modifiedPrefix:"\u4FEE\u6539\uFF1A",duePrefix:"\u622A\u6B62\uFF1A",scheduledPrefix:"\u8BA1\u5212\uFF1A"},contextMenus:{openTask:"\u6253\u5F00\u4EFB\u52A1",deleteTimeEntry:"\u5220\u9664\u65F6\u95F4\u6761\u76EE",deleteTimeEntryTitle:"\u5220\u9664\u65F6\u95F4\u6761\u76EE",deleteTimeEntryConfirm:"\u786E\u5B9A\u8981\u5220\u9664\u6B64\u65F6\u95F4\u6761\u76EE{duration}\u5417\uFF1F\u6B64\u64CD\u4F5C\u65E0\u6CD5\u64A4\u9500\u3002",deleteButton:"\u5220\u9664",cancelButton:"\u53D6\u6D88"}},basesCalendar:{title:"Bases\u65E5\u5386",today:"\u4ECA\u5929",buttonText:{month:"\u6708",week:"\u5468",day:"\u65E5",year:"\u5E74",list:"\u5217\u8868",customDays:"{count}\u5929",listDays:"{count}\u5929 \u5217\u8868",refresh:"\u5237\u65B0"},hints:{refresh:"\u5237\u65B0\u65E5\u5386\u8BA2\u9605",today:"\u8F6C\u5230\u4ECA\u5929",prev:"\u4E0A\u4E00\u4E2A",next:"\u4E0B\u4E00\u4E2A",month:"\u6708\u89C6\u56FE",week:"\u5468\u89C6\u56FE",day:"\u65E5\u89C6\u56FE",year:"\u5E74\u89C6\u56FE",list:"\u5217\u8868\u89C6\u56FE",customDays:"{count}\u5929\u89C6\u56FE"},settings:{groups:{dateNavigation:"\u65E5\u671F\u5BFC\u822A",events:"\u4E8B\u4EF6",layout:"\u5E03\u5C40",propertyBasedEvents:"\u57FA\u4E8E\u5C5E\u6027\u7684\u4E8B\u4EF6",calendarSubscriptions:"\u65E5\u5386\u8BA2\u9605",googleCalendars:"Google \u65E5\u5386",microsoftCalendars:"Microsoft \u65E5\u5386"},dateNavigation:{navigateToDate:"\u5BFC\u822A\u5230\u65E5\u671F",navigateToDatePlaceholder:"YYYY-MM-DD\uFF08\u4F8B\u5982\uFF1A2025-01-15\uFF09- \u7559\u7A7A\u4EE5\u4F7F\u7528\u5C5E\u6027",navigateToDateFromProperty:"\u4ECE\u5C5E\u6027\u5BFC\u822A\u5230\u65E5\u671F",navigateToDateFromPropertyPlaceholder:"\u9009\u62E9\u65E5\u671F\u5C5E\u6027\uFF08\u53EF\u9009\uFF09",propertyNavigationStrategy:"\u5C5E\u6027\u5BFC\u822A\u7B56\u7565",strategies:{first:"\u7B2C\u4E00\u4E2A\u7ED3\u679C",earliest:"\u6700\u65E9\u65E5\u671F",latest:"\u6700\u665A\u65E5\u671F"}},events:{showScheduledTasks:"\u663E\u793A\u8BA1\u5212\u4EFB\u52A1",showDueTasks:"\u663E\u793A\u5230\u671F\u4EFB\u52A1",showRecurringTasks:"\u663E\u793A\u91CD\u590D\u4EFB\u52A1",showTimeEntries:"\u663E\u793A\u65F6\u95F4\u6761\u76EE",showTimeblocks:"\u663E\u793A\u65F6\u95F4\u5757",showPropertyBasedEvents:"\u663E\u793A\u57FA\u4E8E\u5C5E\u6027\u7684\u4E8B\u4EF6"},layout:{calendarView:"\u65E5\u5386\u89C6\u56FE",customDayCount:"\u81EA\u5B9A\u4E49\u5929\u6570",listDayCount:"\u5217\u8868\u5929\u6570",dayStartTime:"\u4E00\u5929\u5F00\u59CB\u65F6\u95F4",dayStartTimePlaceholder:"HH:mm:ss\uFF08\u4F8B\u5982\uFF1A08:00:00\uFF09",dayEndTime:"\u4E00\u5929\u7ED3\u675F\u65F6\u95F4",dayEndTimePlaceholder:"HH:mm:ss\uFF08\u4F8B\u5982\uFF1A20:00:00\uFF09",timeSlotDuration:"\u65F6\u95F4\u6BB5\u6301\u7EED\u65F6\u95F4",timeSlotDurationPlaceholder:"HH:mm:ss\uFF08\u4F8B\u5982\uFF1A00:30:00\uFF09",weekStartsOn:"\u4E00\u5468\u5F00\u59CB\u4E8E",showWeekNumbers:"\u663E\u793A\u5468\u6570",showNowIndicator:"\u663E\u793A\u5F53\u524D\u65F6\u95F4\u6307\u793A\u5668",showWeekends:"\u663E\u793A\u5468\u672B",showAllDaySlot:"\u663E\u793A\u5168\u5929\u65F6\u6BB5",showTodayHighlight:"\u7A81\u51FA\u663E\u793A\u4ECA\u5929",todayColumnWidthMultiplier:"\u4ECA\u5929\u5217\u5BBD\u500D\u7387",showSelectionPreview:"\u663E\u793A\u9009\u62E9\u9884\u89C8",slotEventOverlap:"\u5141\u8BB8\u4E8B\u4EF6\u91CD\u53E0",enableSearch:"\u542F\u7528\u641C\u7D22\u6846",eventMaxStack:"\u6700\u5927\u5806\u53E0\u4E8B\u4EF6\u6570\uFF08\u5468/\u65E5\u89C6\u56FE\uFF0C0 = \u65E0\u9650\u5236\uFF09",dayMaxEvents:"\u6BCF\u5929\u6700\u5927\u4E8B\u4EF6\u6570\uFF08\u6708\u89C6\u56FE\uFF0C0 = \u81EA\u52A8\uFF09",dayMaxEventRows:"\u6BCF\u5929\u6700\u5927\u4E8B\u4EF6\u884C\u6570\uFF08\u6708\u89C6\u56FE\uFF0C0 = \u65E0\u9650\u5236\uFF09",timeFormat:"\u65F6\u95F4\u683C\u5F0F",timeFormat12:"12\u5C0F\u65F6\u5236\uFF08AM/PM\uFF09",timeFormat24:"24\u5C0F\u65F6\u5236",initialScrollTime:"\u521D\u59CB\u6EDA\u52A8\u65F6\u95F4",initialScrollTimePlaceholder:"HH:mm:ss\uFF08\u4F8B\u5982\uFF1A08:00:00\uFF09",minimumEventHeight:"\u6700\u5C0F\u4E8B\u4EF6\u9AD8\u5EA6\uFF08px\uFF09",spanScheduledToDue:"\u5728\u8BA1\u5212\u65E5\u671F\u548C\u622A\u6B62\u65E5\u671F\u4E4B\u95F4\u6269\u5C55\u4EFB\u52A1"},propertyBasedEvents:{startDateProperty:"\u5F00\u59CB\u65E5\u671F\u5C5E\u6027",startDatePropertyPlaceholder:"\u9009\u62E9\u5F00\u59CB\u65E5\u671F/\u65F6\u95F4\u7684\u5C5E\u6027",endDateProperty:"\u7ED3\u675F\u65E5\u671F\u5C5E\u6027\uFF08\u53EF\u9009\uFF09",endDatePropertyPlaceholder:"\u9009\u62E9\u7ED3\u675F\u65E5\u671F/\u65F6\u95F4\u7684\u5C5E\u6027",titleProperty:"\u6807\u9898\u5C5E\u6027\uFF08\u53EF\u9009\uFF09",titlePropertyPlaceholder:"\u9009\u62E9\u4E8B\u4EF6\u6807\u9898\u7684\u5C5E\u6027"}},errors:{failedToInitialize:"\u521D\u59CB\u5316\u65E5\u5386\u5931\u8D25"}},kanban:{title:"\u770B\u677F",newTask:"\u65B0\u4EFB\u52A1",addCard:"+ \u6DFB\u52A0\u5361\u7247",noTasks:"\u6CA1\u6709\u4EFB\u52A1",uncategorized:"\u672A\u5206\u7C7B",noProject:"\u65E0\u9879\u76EE",reorder:{scope:{column:'\u5217 "{group}"',columnInSwimlane:'"{swimlane}" \u6CF3\u9053\u4E2D\u7684\u5217 "{group}"'}},notices:{loadFailed:"\u770B\u677F\u52A0\u8F7D\u5931\u8D25",movedTask:'\u4EFB\u52A1\u5DF2\u79FB\u52A8\u5230"{0}"'},errors:{loadingBoard:"\u52A0\u8F7D\u770B\u677F\u65F6\u51FA\u9519\u3002",noGroupBy:"\u770B\u677F\u89C6\u56FE\u9700\u8981\u914D\u7F6E\u300C\u5206\u7EC4\u4F9D\u636E\u300D\u5C5E\u6027\u3002\u70B9\u51FB\u300C\u6392\u5E8F\u300D\u6309\u94AE\uFF0C\u7136\u540E\u5728\u300C\u5206\u7EC4\u4F9D\u636E\u300D\u4E0B\u9009\u62E9\u4E00\u4E2A\u5C5E\u6027\u3002",formulaGroupingReadOnly:"\u65E0\u6CD5\u5728\u57FA\u4E8E\u516C\u5F0F\u7684\u5217\u4E4B\u95F4\u79FB\u52A8\u4EFB\u52A1\u3002\u516C\u5F0F\u503C\u662F\u8BA1\u7B97\u5F97\u51FA\u7684\uFF0C\u4E0D\u80FD\u76F4\u63A5\u4FEE\u6539\u3002",formulaSwimlaneReadOnly:"\u65E0\u6CD5\u5728\u57FA\u4E8E\u516C\u5F0F\u7684\u6CF3\u9053\u4E4B\u95F4\u79FB\u52A8\u4EFB\u52A1\u3002\u516C\u5F0F\u503C\u662F\u8BA1\u7B97\u5F97\u51FA\u7684\uFF0C\u4E0D\u80FD\u76F4\u63A5\u4FEE\u6539\u3002"},columnTitle:"\u65E0\u6807\u9898"},pomodoro:{title:"\u756A\u8304\u949F",status:{focus:"\u4E13\u6CE8",ready:"\u51C6\u5907\u5F00\u59CB",paused:"\u5DF2\u6682\u505C",working:"\u5DE5\u4F5C\u4E2D",shortBreak:"\u77ED\u4F11\u606F",longBreak:"\u957F\u4F11\u606F",breakPrompt:"\u505A\u5F97\u5F88\u597D\uFF01\u662F\u65F6\u5019{length}\u4F11\u606F\u4E86",breakLength:{short:"\u77ED",long:"\u957F"},breakComplete:"\u4F11\u606F\u5B8C\u6210\uFF01\u51C6\u5907\u597D\u8FDB\u884C\u4E0B\u4E00\u4E2A\u756A\u8304\u949F\u4E86\u5417\uFF1F"},buttons:{start:"\u5F00\u59CB",pause:"\u6682\u505C",stop:"\u505C\u6B62",resume:"\u7EE7\u7EED",startShortBreak:"\u5F00\u59CB\u77ED\u4F11\u606F",startLongBreak:"\u5F00\u59CB\u957F\u4F11\u606F",skipBreak:"\u8DF3\u8FC7\u4F11\u606F",chooseTask:"\u9009\u62E9\u4EFB\u52A1...",changeTask:"\u66F4\u6362\u4EFB\u52A1...",clearTask:"\u6E05\u9664\u4EFB\u52A1",selectDifferentTask:"\u9009\u62E9\u5176\u4ED6\u4EFB\u52A1"},notices:{noTasks:"\u672A\u627E\u5230\u672A\u5F52\u6863\u7684\u4EFB\u52A1\u3002\u8BF7\u5148\u521B\u5EFA\u4E00\u4E9B\u4EFB\u52A1\u3002",loadFailed:"\u52A0\u8F7D\u4EFB\u52A1\u5931\u8D25"},statsLabel:"\u4ECA\u65E5\u5B8C\u6210"},pomodoroStats:{title:"\u756A\u8304\u949F\u7EDF\u8BA1",heading:"\u756A\u8304\u949F\u7EDF\u8BA1\u6570\u636E",refresh:"\u5237\u65B0",sections:{overview:"\u6982\u89C8",today:"\u4ECA\u5929",week:"\u672C\u5468",allTime:"\u5168\u90E8\u65F6\u95F4",recent:"\u6700\u8FD1\u7684\u4F1A\u8BDD"},overviewCards:{todayPomos:{label:"\u4ECA\u65E5\u756A\u8304\u949F",change:{more:"\u6BD4\u6628\u5929\u591A{count}\u4E2A",less:"\u6BD4\u6628\u5929\u5C11{count}\u4E2A"}},totalPomos:{label:"\u603B\u756A\u8304\u949F\u6570"},todayFocus:{label:"\u4ECA\u65E5\u4E13\u6CE8\u65F6\u95F4",change:{more:"\u6BD4\u6628\u5929\u591A{duration}",less:"\u6BD4\u6628\u5929\u5C11{duration}"}},totalFocus:{label:"\u603B\u4E13\u6CE8\u65F6\u957F"}},stats:{pomodoros:"\u756A\u8304\u949F",streak:"\u8FDE\u51FB",minutes:"\u5206\u949F",average:"\u5E73\u5747\u65F6\u957F",completion:"\u5B8C\u6210\u7387"},recents:{empty:"\u5C1A\u672A\u8BB0\u5F55\u4F1A\u8BDD",duration:"{minutes}\u5206\u949F",status:{completed:"\u5DF2\u5B8C\u6210",interrupted:"\u5DF2\u4E2D\u65AD"}}},stats:{title:"\u7EDF\u8BA1",taskProjectStats:"\u4EFB\u52A1\u548C\u9879\u76EE\u7EDF\u8BA1",sections:{filters:"\u7B5B\u9009\u5668",overview:"\u6982\u89C8",today:"\u4ECA\u5929",thisWeek:"\u672C\u5468",thisMonth:"\u672C\u6708",projectBreakdown:"\u9879\u76EE\u5206\u89E3",dateRange:"\u65E5\u671F\u8303\u56F4"},filters:{minTime:"\u6700\u5C11\u65F6\u95F4\uFF08\u5206\u949F\uFF09",allTasks:"\u6240\u6709\u4EFB\u52A1",activeOnly:"\u4EC5\u6D3B\u8DC3\u7684",completedOnly:"\u4EC5\u5DF2\u5B8C\u6210\u7684"},refreshButton:"\u5237\u65B0",timeRanges:{allTime:"\u4E00\u76F4",last7Days:"\u6700\u8FD1 7 \u5929",last30Days:"\u6700\u8FD1 30 \u5929",last90Days:"\u6700\u8FD1 90 \u5929",customRange:"\u81EA\u5B9A\u4E49\u8303\u56F4"},resetFiltersButton:"\u91CD\u7F6E\u7B5B\u9009",dateRangeFrom:"\u4ECE",dateRangeTo:"\u5230",noProject:"\u65E0\u9879\u76EE",cards:{timeTrackedEstimated:"\u8DDF\u8E2A\u65F6\u95F4/\u9884\u4F30\u65F6\u95F4",totalTasks:"\u603B\u4EFB\u52A1\u6570",completionRate:"\u5B8C\u6210\u7387",activeProjects:"\u6D3B\u8DC3\u9879\u76EE",avgTimePerTask:"\u6BCF\u4E2A\u4EFB\u52A1\u7684\u5E73\u5747\u65F6\u95F4"},labels:{tasks:"\u4EFB\u52A1",completed:"\u5DF2\u5B8C\u6210",projects:"\u9879\u76EE"},noProjectData:"\u65E0\u53EF\u7528\u7684\u9879\u76EE\u6570\u636E",notAvailable:"\u4E0D\u9002\u7528",noTasks:"\u672A\u627E\u5230\u4EFB\u52A1",loading:"\u52A0\u8F7D\u4E2D..."},releaseNotes:{title:"TaskNotes {version} \u7684\u65B0\u529F\u80FD",header:"TaskNotes {version} \u7684\u65B0\u529F\u80FD",viewAllLink:"\u5728 GitHub \u4E0A\u67E5\u770B\u6240\u6709\u7248\u672C\u8BF4\u660E \u2192",starMessage:"\u5982\u679C\u60A8\u89C9\u5F97 TaskNotes \u6709\u7528\uFF0C\u8BF7\u5728 GitHub \u4E0A\u7ED9\u5B83\u52A0\u661F",baseFilesNotice:"> [!info] \u5173\u4E8E\u9ED8\u8BA4 `.base` \u6587\u4EF6\n> \u9ED8\u8BA4\u751F\u6210\u7684 `.base` \u6A21\u677F\u66F4\u65B0\u4E0D\u4F1A\u8986\u76D6\u4F60\u73B0\u6709\u7684 `.base` \u6587\u4EF6\uFF0C\u56E0\u6B64\u4F60\u7684\u81EA\u5B9A\u4E49\u4F1A\u88AB\u4FDD\u7559\u3002\n> \u5982\u679C\u4F60\u5E0C\u671B\u83B7\u5F97\u6700\u65B0\u6A21\u677F\u6539\u8FDB\uFF0C\u8BF7\u5728 **\u8BBE\u7F6E \u2192 TaskNotes \u2192 \u5E38\u89C4 \u2192 \u521B\u5EFA\u6587\u4EF6** \u4E2D\u91CD\u65B0\u751F\u6210 base \u6587\u4EF6\u3002"}},settings:{header:{documentation:"\u6587\u6863",documentationUrl:"https://tasknotes.dev"},tabs:{general:"\u5E38\u89C4",taskProperties:"\u4EFB\u52A1\u5C5E\u6027",modalFields:"\u6A21\u6001\u6846\u5B57\u6BB5",defaults:"\u9ED8\u8BA4\u503C\u548C\u6A21\u677F",appearance:"\u5916\u89C2\u548C\u754C\u9762",features:"\u529F\u80FD",integrations:"\u96C6\u6210"},features:{inlineTasks:{header:"\u5185\u8054\u4EFB\u52A1",description:"\u4EFB\u52A1\u94FE\u63A5\u548C\u590D\u9009\u6846\u8F6C\u4EFB\u52A1\u529F\u80FD\u7684\u8BBE\u7F6E\u3002"},overlays:{taskLinkToggle:{name:"\u4EFB\u52A1\u94FE\u63A5\u8986\u76D6",description:"\u60AC\u505C\u5728\u4EFB\u52A1\u94FE\u63A5\u4E0A\u65F6\u663E\u793A\u4EA4\u4E92\u5F0F\u8986\u76D6"},aliasExclusion:{name:"\u7981\u7528\u522B\u540D\u94FE\u63A5\u7684\u8986\u76D6",description:"\u5982\u679C\u94FE\u63A5\u5305\u542B\u522B\u540D\uFF0C\u5219\u4E0D\u663E\u793A\u4EFB\u52A1\u5C0F\u90E8\u4EF6\uFF08\u4F8B\u5982 [[\u4EFB\u52A1|\u522B\u540D]]\uFF09\u3002"}},instantConvert:{toggle:{name:"\u5728\u590D\u9009\u6846\u65C1\u8FB9\u663E\u793A\u8F6C\u6362\u6309\u94AE",description:"\u5728Markdown\u590D\u9009\u6846\u65C1\u8FB9\u663E\u793A\u5185\u8054\u6309\u94AE\uFF0C\u5C06\u5176\u8F6C\u6362\u4E3ATaskNotes"},folder:{name:"\u5DF2\u8F6C\u6362\u4EFB\u52A1\u7684\u6587\u4EF6\u5939",description:"\u4ECE\u590D\u9009\u6846\u8F6C\u6362\u7684\u4EFB\u52A1\u5C06\u5728\u5176\u4E2D\u521B\u5EFA\u7684\u6587\u4EF6\u5939\u3002\u7559\u7A7A\u5219\u4F7F\u7528\u9ED8\u8BA4\u4EFB\u52A1\u6587\u4EF6\u5939\u3002\u4F7F\u7528{{currentNotePath}}\u8868\u793A\u5F53\u524D\u7B14\u8BB0\u7684\u6587\u4EF6\u5939\uFF0C\u6216\u4F7F\u7528{{currentNoteTitle}}\u8868\u793A\u4EE5\u7B14\u8BB0\u6807\u9898\u547D\u540D\u7684\u5B50\u6587\u4EF6\u5939\u3002"}},nlp:{header:"\u81EA\u7136\u8BED\u8A00\u5904\u7406",description:"\u4ECE\u6587\u672C\u8F93\u5165\u89E3\u6790\u65E5\u671F\u3001\u4F18\u5148\u7EA7\u548C\u5176\u4ED6\u5C5E\u6027\u3002",enable:{name:"\u542F\u7528\u81EA\u7136\u8BED\u8A00\u4EFB\u52A1\u8F93\u5165",description:"\u521B\u5EFA\u4EFB\u52A1\u65F6\u4ECE\u81EA\u7136\u8BED\u8A00\u89E3\u6790\u5230\u671F\u65E5\u671F\u3001\u4F18\u5148\u7EA7\u548C\u4E0A\u4E0B\u6587"},defaultToScheduled:{name:"\u9ED8\u8BA4\u4E3A\u5DF2\u5B89\u6392",description:"\u5F53NLP\u68C0\u6D4B\u5230\u65E0\u4E0A\u4E0B\u6587\u7684\u65E5\u671F\u65F6\uFF0C\u5C06\u5176\u89C6\u4E3A\u5DF2\u5B89\u6392\u800C\u4E0D\u662F\u5230\u671F"},language:{name:"NLP\u8BED\u8A00",description:"\u81EA\u7136\u8BED\u8A00\u5904\u7406\u6A21\u5F0F\u548C\u65E5\u671F\u89E3\u6790\u7684\u8BED\u8A00"},statusTrigger:{name:"\u72B6\u6001\u5EFA\u8BAE\u89E6\u53D1\u5668",description:"\u89E6\u53D1\u72B6\u6001\u5EFA\u8BAE\u7684\u6587\u672C\uFF08\u7559\u7A7A\u4EE5\u7981\u7528\uFF09"}},pomodoro:{header:"\u756A\u8304\u949F\u8BA1\u65F6\u5668",description:"\u914D\u7F6E\u756A\u8304\u949F\u8BA1\u65F6\u5668\u7684\u5DE5\u4F5C/\u4F11\u606F\u95F4\u9694\u3002",workDuration:{name:"\u5DE5\u4F5C\u65F6\u957F",description:"\u5DE5\u4F5C\u95F4\u9694\u7684\u6301\u7EED\u65F6\u95F4\uFF08\u5206\u949F\uFF09"},shortBreak:{name:"\u77ED\u4F11\u606F\u65F6\u957F",description:"\u77ED\u4F11\u606F\u7684\u6301\u7EED\u65F6\u95F4\uFF08\u5206\u949F\uFF09"},longBreak:{name:"\u957F\u4F11\u606F\u65F6\u957F",description:"\u957F\u4F11\u606F\u7684\u6301\u7EED\u65F6\u95F4\uFF08\u5206\u949F\uFF09"},longBreakInterval:{name:"\u957F\u4F11\u606F\u95F4\u9694",description:"\u957F\u4F11\u606F\u524D\u7684\u5DE5\u4F5C\u4F1A\u8BDD\u6570"},autoStartBreaks:{name:"\u81EA\u52A8\u5F00\u59CB\u4F11\u606F",description:"\u5DE5\u4F5C\u4F1A\u8BDD\u540E\u81EA\u52A8\u5F00\u59CB\u4F11\u606F\u8BA1\u65F6\u5668"},autoStartWork:{name:"\u81EA\u52A8\u5F00\u59CB\u5DE5\u4F5C",description:"\u4F11\u606F\u540E\u81EA\u52A8\u5F00\u59CB\u5DE5\u4F5C\u4F1A\u8BDD"},notifications:{name:"\u756A\u8304\u949F\u901A\u77E5",description:"\u756A\u8304\u949F\u4F1A\u8BDD\u7ED3\u675F\u65F6\u663E\u793A\u901A\u77E5"},mobileSidebar:{name:"\u79FB\u52A8\u7AEF\u4FA7\u8FB9\u680F",description:"\u5728\u79FB\u52A8\u8BBE\u5907\u4E0A\u6253\u5F00\u756A\u8304\u949F\u8BA1\u65F6\u5668\u7684\u4F4D\u7F6E",tab:"\u7B14\u8BB0\u9762\u677F",left:"\u5DE6\u4FA7\u8FB9\u680F",right:"\u53F3\u4FA7\u8FB9\u680F"}},uiLanguage:{header:"\u754C\u9762\u8BED\u8A00",description:"\u66F4\u6539TaskNotes\u83DC\u5355\u3001\u901A\u77E5\u548C\u89C6\u56FE\u7684\u8BED\u8A00\u3002",dropdown:{name:"\u754C\u9762\u8BED\u8A00",description:"\u9009\u62E9TaskNotes\u754C\u9762\u6587\u672C\u4F7F\u7528\u7684\u8BED\u8A00"}},pomodoroSound:{enabledName:"\u542F\u7528\u58F0\u97F3",enabledDesc:"\u756A\u8304\u949F\u4F1A\u8BDD\u7ED3\u675F\u65F6\u64AD\u653E\u58F0\u97F3",volumeName:"\u58F0\u97F3\u97F3\u91CF",volumeDesc:"\u756A\u8304\u949F\u58F0\u97F3\u7684\u97F3\u91CF\uFF080-100\uFF09"},dataStorage:{name:"\u756A\u8304\u949F\u6570\u636E\u5B58\u50A8",description:"\u914D\u7F6E\u756A\u8304\u949F\u4F1A\u8BDD\u6570\u636E\u7684\u5B58\u50A8\u4F4D\u7F6E\u548C\u7BA1\u7406\u65B9\u5F0F\u3002",dailyNotes:"\u65E5\u8BB0",pluginData:"\u63D2\u4EF6\u6570\u636E",notices:{locationChanged:"\u756A\u8304\u949F\u5B58\u50A8\u4F4D\u7F6E\u5DF2\u66F4\u6539\u4E3A {location}"}},notifications:{header:"\u901A\u77E5",description:"\u914D\u7F6E\u4EFB\u52A1\u63D0\u9192\u901A\u77E5\u548C\u8B66\u62A5\u3002",enableName:"\u542F\u7528\u901A\u77E5",enableDesc:"\u542F\u7528\u4EFB\u52A1\u63D0\u9192\u901A\u77E5",typeName:"\u901A\u77E5\u7C7B\u578B",typeDesc:"\u8981\u663E\u793A\u7684\u901A\u77E5\u7C7B\u578B",systemLabel:"\u7CFB\u7EDF\u901A\u77E5",inAppLabel:"\u5E94\u7528\u5185\u901A\u77E5"},overdue:{hideCompletedName:"\u5728\u903E\u671F\u4E2D\u9690\u85CF\u5DF2\u5B8C\u6210\u7684\u4EFB\u52A1",hideCompletedDesc:"\u4ECE\u903E\u671F\u4EFB\u52A1\u8BA1\u7B97\u4E2D\u6392\u9664\u5DF2\u5B8C\u6210\u7684\u4EFB\u52A1"},indexing:{disableName:"\u7981\u7528\u7B14\u8BB0\u7D22\u5F15",disableDesc:"\u7981\u7528\u7B14\u8BB0\u5185\u5BB9\u7684\u81EA\u52A8\u7D22\u5F15\u4EE5\u63D0\u9AD8\u6027\u80FD"},suggestions:{debounceName:"\u5EFA\u8BAE\u9632\u6296",debounceDesc:"\u663E\u793A\u5EFA\u8BAE\u524D\u7684\u5EF6\u8FDF\u6BEB\u79D2\u6570"},timeTracking:{autoStopName:"\u81EA\u52A8\u505C\u6B62\u65F6\u95F4\u8DDF\u8E2A",autoStopDesc:"\u4EFB\u52A1\u6807\u8BB0\u4E3A\u5B8C\u6210\u65F6\u81EA\u52A8\u505C\u6B62\u65F6\u95F4\u8DDF\u8E2A",stopNotificationName:"\u65F6\u95F4\u8DDF\u8E2A\u505C\u6B62\u901A\u77E5",stopNotificationDesc:"\u81EA\u52A8\u505C\u6B62\u65F6\u95F4\u8DDF\u8E2A\u65F6\u663E\u793A\u901A\u77E5"},recurring:{maintainOffsetName:"\u5728\u91CD\u590D\u4EFB\u52A1\u4E2D\u4FDD\u6301\u5230\u671F\u65E5\u671F\u504F\u79FB",maintainOffsetDesc:"\u91CD\u590D\u4EFB\u52A1\u5B8C\u6210\u65F6\u4FDD\u6301\u5230\u671F\u65E5\u671F\u548C\u5B89\u6392\u65E5\u671F\u4E4B\u95F4\u7684\u504F\u79FB",resetCheckboxesName:"\u91CD\u590D\u65F6\u91CD\u7F6E\u590D\u9009\u6846",resetCheckboxesDesc:"\u5F53\u91CD\u590D\u4EFB\u52A1\u5B8C\u6210\u5E76\u91CD\u65B0\u5B89\u6392\u65F6\uFF0C\u91CD\u7F6E\u4EFB\u52A1\u6B63\u6587\u4E2D\u7684\u6240\u6709markdown\u590D\u9009\u6846"},timeblocking:{header:"\u65F6\u95F4\u5757",description:"\u914D\u7F6E\u65F6\u95F4\u5757\u529F\u80FD\uFF0C\u5728\u65E5\u8BB0\u4E2D\u8FDB\u884C\u8F7B\u91CF\u7EA7\u8C03\u5EA6\u3002\u5728\u65E5\u5386\u89C6\u56FE\u4E0A\u62D6\u52A8\u4EE5\u521B\u5EFA\u4E8B\u4EF6 - \u4ECE\u4E0A\u4E0B\u6587\u83DC\u5355\u4E2D\u9009\u62E9'\u65F6\u95F4\u5757'\u3002",enableName:"\u542F\u7528\u65F6\u95F4\u5757",enableDesc:"\u542F\u7528\u65F6\u95F4\u5757\u529F\u80FD\uFF0C\u5728\u65E5\u8BB0\u4E2D\u8FDB\u884C\u8F7B\u91CF\u7EA7\u8C03\u5EA6\u3002\u542F\u7528\u540E\uFF0C'\u65F6\u95F4\u5757'\u9009\u9879\u4F1A\u51FA\u73B0\u5728\u65E5\u5386\u62D6\u52A8\u4E0A\u4E0B\u6587\u83DC\u5355\u4E2D\u3002",showBlocksName:"\u663E\u793A\u65F6\u95F4\u5757",showBlocksDesc:"\u9ED8\u8BA4\u663E\u793A\u65E5\u8BB0\u4E2D\u7684\u65F6\u95F4\u5757",defaultColorName:"\u9ED8\u8BA4\u65F6\u95F4\u5757\u989C\u8272",defaultColorDesc:"\u521B\u5EFA\u65B0\u65F6\u95F4\u5757\u65F6\u4F7F\u7528\u7684\u9ED8\u8BA4\u989C\u8272",usage:"\u7528\u6CD5\uFF1A\u5728\u65E5\u5386\u4E0A\u62D6\u52A8\u4EE5\u521B\u5EFA\u4E8B\u4EF6\u3002\u4ECE\u4E0A\u4E0B\u6587\u83DC\u5355\u4E2D\u9009\u62E9'\u65F6\u95F4\u5757'\uFF08\u4EC5\u5728\u542F\u7528\u65F6\u95F4\u5757\u65F6\u53EF\u89C1\uFF09\u3002\u62D6\u52A8\u4EE5\u79FB\u52A8\u73B0\u6709\u65F6\u95F4\u5757\u3002\u8C03\u6574\u8FB9\u7F18\u4EE5\u4FEE\u6539\u6301\u7EED\u65F6\u95F4\u3002"},performance:{header:"\u6027\u80FD\u548C\u884C\u4E3A",description:"\u914D\u7F6E\u63D2\u4EF6\u6027\u80FD\u548C\u884C\u4E3A\u9009\u9879\u3002"},timeTrackingSection:{header:"\u65F6\u95F4\u8DDF\u8E2A",description:"\u914D\u7F6E\u81EA\u52A8\u65F6\u95F4\u8DDF\u8E2A\u884C\u4E3A\u3002"},recurringSection:{header:"\u91CD\u590D\u4EFB\u52A1",description:"\u914D\u7F6E\u91CD\u590D\u4EFB\u52A1\u7BA1\u7406\u7684\u884C\u4E3A\u3002"},debugLogging:{header:"\u8C03\u8BD5\u65E5\u5FD7",description:"\u8BBE\u7F6E\u7528\u4E8E\u6545\u969C\u6392\u67E5\u7684\u8C03\u8BD5\u65E5\u5FD7\u8F93\u51FA\u3002",enableName:"\u542F\u7528\u8C03\u8BD5\u65E5\u5FD7",enableDesc:"\u5C06\u62D6\u653E\u548C\u89C6\u56FE\u7684\u8BE6\u7EC6\u8BCA\u65AD\u4FE1\u606F\u8BB0\u5F55\u5230\u5F00\u53D1\u8005\u63A7\u5236\u53F0\uFF0C\u6709\u52A9\u4E8E\u6545\u969C\u6392\u67E5\u3002"}},defaults:{header:{basicDefaults:"\u57FA\u672C\u9ED8\u8BA4\u503C",dateDefaults:"\u65E5\u671F\u9ED8\u8BA4\u503C",defaultReminders:"\u9ED8\u8BA4\u63D0\u9192",bodyTemplate:"\u6B63\u6587\u6A21\u677F",instantTaskConversion:"\u5373\u65F6\u4EFB\u52A1\u8F6C\u6362"},description:{basicDefaults:"\u4E3A\u65B0\u4EFB\u52A1\u8BBE\u7F6E\u9ED8\u8BA4\u503C\u4EE5\u52A0\u5FEB\u4EFB\u52A1\u521B\u5EFA\u3002",dateDefaults:"\u4E3A\u65B0\u4EFB\u52A1\u8BBE\u7F6E\u9ED8\u8BA4\u5230\u671F\u548C\u5B89\u6392\u65E5\u671F\u3002",defaultReminders:"\u914D\u7F6E\u5C06\u6DFB\u52A0\u5230\u65B0\u4EFB\u52A1\u7684\u9ED8\u8BA4\u63D0\u9192\u3002",bodyTemplate:"\u914D\u7F6E\u7528\u4E8E\u65B0\u4EFB\u52A1\u5185\u5BB9\u7684\u6A21\u677F\u6587\u4EF6\u3002",instantTaskConversion:"\u914D\u7F6E\u5373\u65F6\u8F6C\u6362\u6587\u672C\u4E3A\u4EFB\u52A1\u65F6\u7684\u884C\u4E3A\u3002"},basicDefaults:{defaultStatus:{name:"\u9ED8\u8BA4\u72B6\u6001",description:"\u65B0\u4EFB\u52A1\u7684\u9ED8\u8BA4\u72B6\u6001"},defaultPriority:{name:"\u9ED8\u8BA4\u4F18\u5148\u7EA7",description:"\u65B0\u4EFB\u52A1\u7684\u9ED8\u8BA4\u4F18\u5148\u7EA7"},defaultContexts:{name:"\u9ED8\u8BA4\u4E0A\u4E0B\u6587",description:"\u9ED8\u8BA4\u4E0A\u4E0B\u6587\u7684\u9017\u53F7\u5206\u9694\u5217\u8868\uFF08\u4F8B\u5982\uFF0C@\u5BB6\uFF0C@\u5DE5\u4F5C\uFF09",placeholder:"@\u5BB6\uFF0C@\u5DE5\u4F5C"},defaultTags:{name:"\u9ED8\u8BA4\u6807\u7B7E",description:"\u9ED8\u8BA4\u6807\u7B7E\u7684\u9017\u53F7\u5206\u9694\u5217\u8868\uFF08\u4E0D\u542B#\uFF09",placeholder:"\u91CD\u8981\uFF0C\u7D27\u6025"},defaultProjects:{name:"\u9ED8\u8BA4\u9879\u76EE",description:"\u65B0\u4EFB\u52A1\u7684\u9ED8\u8BA4\u9879\u76EE\u94FE\u63A5",selectButton:"\u9009\u62E9\u9879\u76EE",selectTooltip:"\u9009\u62E9\u9ED8\u8BA4\u94FE\u63A5\u7684\u9879\u76EE\u7B14\u8BB0",removeTooltip:"\u4ECE\u9ED8\u8BA4\u9879\u76EE\u4E2D\u79FB\u9664{name}"},useParentNoteAsProject:{name:"\u5373\u65F6\u8F6C\u6362\u65F6\u4F7F\u7528\u7236\u7B14\u8BB0\u4F5C\u4E3A\u9879\u76EE",description:"\u4F7F\u7528\u5373\u65F6\u4EFB\u52A1\u8F6C\u6362\u65F6\u81EA\u52A8\u5C06\u7236\u7B14\u8BB0\u94FE\u63A5\u4E3A\u9879\u76EE"},defaultTimeEstimate:{name:"\u9ED8\u8BA4\u65F6\u95F4\u4F30\u8BA1",description:"\u9ED8\u8BA4\u65F6\u95F4\u4F30\u8BA1\uFF08\u5206\u949F\uFF09\uFF080 = \u65E0\u9ED8\u8BA4\u503C\uFF09",placeholder:"60"},defaultRecurrence:{name:"\u9ED8\u8BA4\u91CD\u590D",description:"\u65B0\u4EFB\u52A1\u7684\u9ED8\u8BA4\u91CD\u590D\u6A21\u5F0F"}},dateDefaults:{defaultDueDate:{name:"\u9ED8\u8BA4\u5230\u671F\u65E5\u671F",description:"\u65B0\u4EFB\u52A1\u7684\u9ED8\u8BA4\u5230\u671F\u65E5\u671F"},defaultScheduledDate:{name:"\u9ED8\u8BA4\u5B89\u6392\u65E5\u671F",description:"\u65B0\u4EFB\u52A1\u7684\u9ED8\u8BA4\u5B89\u6392\u65E5\u671F"}},reminders:{addReminder:{name:"\u6DFB\u52A0\u9ED8\u8BA4\u63D0\u9192",description:"\u521B\u5EFA\u4E00\u4E2A\u65B0\u7684\u9ED8\u8BA4\u63D0\u9192\uFF0C\u5C06\u6DFB\u52A0\u5230\u6240\u6709\u65B0\u4EFB\u52A1",buttonText:"\u6DFB\u52A0\u63D0\u9192"},emptyState:"\u672A\u914D\u7F6E\u9ED8\u8BA4\u63D0\u9192\u3002\u6DFB\u52A0\u63D0\u9192\u4EE5\u81EA\u52A8\u901A\u77E5\u60A8\u6709\u5173\u65B0\u4EFB\u52A1\u7684\u4FE1\u606F\u3002",emptyStateButton:"\u6DFB\u52A0\u63D0\u9192",reminderDescription:"\u63D0\u9192\u63CF\u8FF0",unnamedReminder:"\u672A\u547D\u540D\u63D0\u9192",deleteTooltip:"\u5220\u9664\u63D0\u9192",fields:{description:"\u63CF\u8FF0\uFF1A",type:"\u7C7B\u578B\uFF1A",offset:"\u504F\u79FB\uFF1A",unit:"\u5355\u4F4D\uFF1A",direction:"\u65B9\u5411\uFF1A",relatedTo:"\u76F8\u5173\u4E8E\uFF1A",date:"\u65E5\u671F\uFF1A",time:"\u65F6\u95F4\uFF1A"},types:{relative:"\u76F8\u5BF9\uFF08\u4EFB\u52A1\u65E5\u671F\u524D/\u540E\uFF09",absolute:"\u7EDD\u5BF9\uFF08\u7279\u5B9A\u65E5\u671F/\u65F6\u95F4\uFF09"},units:{minutes:"\u5206\u949F",hours:"\u5C0F\u65F6",days:"\u5929"},directions:{before:"\u4E4B\u524D",after:"\u4E4B\u540E"},relatedTo:{due:"\u5230\u671F\u65E5\u671F",scheduled:"\u5B89\u6392\u65E5\u671F"}},bodyTemplate:{useBodyTemplate:{name:"\u4F7F\u7528\u6B63\u6587\u6A21\u677F",description:"\u4E3A\u4EFB\u52A1\u6B63\u6587\u5185\u5BB9\u4F7F\u7528\u6A21\u677F\u6587\u4EF6"},bodyTemplateFile:{name:"\u6B63\u6587\u6A21\u677F\u6587\u4EF6",description:"\u4EFB\u52A1\u6B63\u6587\u5185\u5BB9\u7684\u6A21\u677F\u6587\u4EF6\u8DEF\u5F84\u3002\u652F\u6301\u6A21\u677F\u53D8\u91CF\u5982{{title}}\u3001{{date}}\u3001{{time}}\u3001{{priority}}\u3001{{status}}\u7B49\u3002",placeholder:"\u6A21\u677F/\u4EFB\u52A1\u6A21\u677F.md",ariaLabel:"\u6B63\u6587\u6A21\u677F\u6587\u4EF6\u8DEF\u5F84"},variablesHeader:"\u6A21\u677F\u53D8\u91CF\uFF1A",variables:{title:"{{title}} - \u4EFB\u52A1\u6807\u9898",details:"{{details}} - \u7528\u6237\u4ECE\u6A21\u6001\u6846\u63D0\u4F9B\u7684\u8BE6\u60C5",date:"{{date}} - \u5F53\u524D\u65E5\u671F\uFF08YYYY-MM-DD\uFF09",time:"{{time}} - \u5F53\u524D\u65F6\u95F4\uFF08HH:MM\uFF09",priority:"{{priority}} - \u4EFB\u52A1\u4F18\u5148\u7EA7",status:"{{status}} - \u4EFB\u52A1\u72B6\u6001",contexts:"{{contexts}} - \u4EFB\u52A1\u4E0A\u4E0B\u6587",tags:"{{tags}} - \u4EFB\u52A1\u6807\u7B7E",projects:"{{projects}} - \u4EFB\u52A1\u9879\u76EE"}},instantConversion:{useDefaultsOnInstantConvert:{name:"\u5373\u65F6\u8F6C\u6362\u65F6\u4F7F\u7528\u4EFB\u52A1\u9ED8\u8BA4\u503C",description:"\u5373\u65F6\u8F6C\u6362\u6587\u672C\u4E3A\u4EFB\u52A1\u65F6\u5E94\u7528\u9ED8\u8BA4\u4EFB\u52A1\u8BBE\u7F6E"}},options:{noDefault:"\u65E0\u9ED8\u8BA4\u503C",none:"\u65E0",today:"\u4ECA\u5929",tomorrow:"\u660E\u5929",nextWeek:"\u4E0B\u5468",daily:"\u6BCF\u65E5",weekly:"\u6BCF\u5468",monthly:"\u6BCF\u6708",yearly:"\u6BCF\u5E74"}},general:{taskStorage:{header:"\u4EFB\u52A1\u5B58\u50A8",description:"\u914D\u7F6E\u4EFB\u52A1\u5B58\u50A8\u4F4D\u7F6E\u548C\u8BC6\u522B\u65B9\u5F0F\u3002",defaultFolder:{name:"\u9ED8\u8BA4\u4EFB\u52A1\u6587\u4EF6\u5939",description:"\u65B0\u4EFB\u52A1\u7684\u9ED8\u8BA4\u4F4D\u7F6E"},moveArchived:{name:"\u5C06\u5F52\u6863\u4EFB\u52A1\u79FB\u52A8\u5230\u6587\u4EF6\u5939",description:"\u81EA\u52A8\u5C06\u5F52\u6863\u4EFB\u52A1\u79FB\u52A8\u5230\u5F52\u6863\u6587\u4EF6\u5939"},archiveFolder:{name:"\u5F52\u6863\u6587\u4EF6\u5939",description:"\u5F52\u6863\u65F6\u5C06\u4EFB\u52A1\u79FB\u52A8\u5230\u7684\u6587\u4EF6\u5939\u3002\u652F\u6301\u6A21\u677F\u53D8\u91CF\uFF0C\u5982 {{year}}\u3001{{month}}\u3001{{priority}} \u7B49\u3002"}},taskIdentification:{header:"\u4EFB\u52A1\u8BC6\u522B",description:"\u9009\u62E9TaskNotes\u5982\u4F55\u8BC6\u522B\u7B14\u8BB0\u4E3A\u4EFB\u52A1\u3002",identifyBy:{name:"\u8BC6\u522B\u4EFB\u52A1\u901A\u8FC7",description:"\u9009\u62E9\u662F\u901A\u8FC7\u6807\u7B7E\u8FD8\u662F\u901A\u8FC7\u524D\u7F6E\u5C5E\u6027\u8BC6\u522B\u4EFB\u52A1",options:{tag:"\u6807\u7B7E",property:"\u5C5E\u6027"}},taskTag:{name:"\u4EFB\u52A1\u6807\u7B7E",description:"\u8BC6\u522B\u7B14\u8BB0\u4E3A\u4EFB\u52A1\u7684\u6807\u7B7E\uFF08\u4E0D\u542B#\uFF09"},hideIdentifyingTags:{name:"\u5728\u4EFB\u52A1\u5361\u7247\u4E2D\u9690\u85CF\u8BC6\u522B\u6807\u7B7E",description:"\u542F\u7528\u540E\uFF0C\u4E0E\u4EFB\u52A1\u8BC6\u522B\u6807\u7B7E\u5339\u914D\u7684\u6807\u7B7E\uFF08\u5305\u62EC\u5C42\u6B21\u5339\u914D\uFF0C\u5982 'task/project'\uFF09\u5C06\u5728\u4EFB\u52A1\u5361\u7247\u663E\u793A\u4E2D\u9690\u85CF"},taskProperty:{name:"\u4EFB\u52A1\u5C5E\u6027\u540D\u79F0",description:'\u524D\u7F6E\u5C5E\u6027\u540D\u79F0\uFF08\u4F8B\u5982\uFF0C"category"\uFF09'},taskPropertyValue:{name:"\u4EFB\u52A1\u5C5E\u6027\u503C",description:'\u8BC6\u522B\u7B14\u8BB0\u4E3A\u4EFB\u52A1\u7684\u503C\uFF08\u4F8B\u5982\uFF0C"task"\uFF09'}},folderManagement:{header:"\u6587\u4EF6\u5939\u7BA1\u7406",excludedFolders:{name:"\u6392\u9664\u6587\u4EF6\u5939",description:"\u4ECE\u4EFB\u52A1\u7D22\u5F15\u548C\u9879\u76EE\u5EFA\u8BAE\u4E2D\u6392\u9664\u7684\u6587\u4EF6\u5939\u7684\u9017\u53F7\u5206\u9694\u5217\u8868"}},frontmatter:{header:"Frontmatter",description:"\u914D\u7F6E frontmatter \u5C5E\u6027\u4E2D\u94FE\u63A5\u7684\u683C\u5F0F\u3002",useMarkdownLinks:{name:"\u5728 frontmatter \u4E2D\u4F7F\u7528 markdown \u94FE\u63A5",description:"\u5728 frontmatter \u5C5E\u6027\u4E2D\u751F\u6210 markdown \u94FE\u63A5 ([\u6587\u672C](\u8DEF\u5F84)) \u800C\u4E0D\u662F wikilinks ([[\u94FE\u63A5]])\u3002\\n\\n\u26A0\uFE0F \u9700\u8981 'obsidian-frontmatter-markdown-links' \u63D2\u4EF6\u624D\u80FD\u6B63\u5E38\u5DE5\u4F5C\u3002"}},taskInteraction:{header:"\u4EFB\u52A1\u4EA4\u4E92",description:"\u914D\u7F6E\u70B9\u51FB\u4EFB\u52A1\u7684\u884C\u4E3A\u3002",singleClick:{name:"\u5355\u51FB\u64CD\u4F5C",description:"\u5355\u51FB\u4EFB\u52A1\u5361\u7247\u65F6\u6267\u884C\u7684\u64CD\u4F5C"},doubleClick:{name:"\u53CC\u51FB\u64CD\u4F5C",description:"\u53CC\u51FB\u4EFB\u52A1\u5361\u7247\u65F6\u6267\u884C\u7684\u64CD\u4F5C"},actions:{edit:"\u7F16\u8F91\u4EFB\u52A1",openNote:"\u6253\u5F00\u7B14\u8BB0",none:"\u65E0\u64CD\u4F5C"}},releaseNotes:{header:"\u7248\u672C\u8BF4\u660E",description:"\u5F53\u524D\u7248\u672C\uFF1A{version}",showOnUpdate:{name:"\u66F4\u65B0\u540E\u663E\u793A\u7248\u672C\u8BF4\u660E",description:"\u5F53TaskNotes\u66F4\u65B0\u5230\u65B0\u7248\u672C\u65F6\u81EA\u52A8\u6253\u5F00\u7248\u672C\u8BF4\u660E"},viewButton:{name:"\u67E5\u770B\u7248\u672C\u8BF4\u660E",description:"\u67E5\u770BTaskNotes\u6700\u65B0\u7248\u672C\u7684\u65B0\u529F\u80FD",buttonText:"\u67E5\u770B\u7248\u672C\u8BF4\u660E"}}},taskProperties:{sections:{coreProperties:"\u6838\u5FC3\u5C5E\u6027",corePropertiesDesc:"\u72B6\u6001\u548C\u4F18\u5148\u7EA7\u662F\u5B9A\u4E49\u4EFB\u52A1\u72B6\u6001\u548C\u91CD\u8981\u6027\u7684\u6838\u5FC3\u5C5E\u6027\u3002",dateProperties:"\u65E5\u671F\u5C5E\u6027",datePropertiesDesc:"\u914D\u7F6E\u4EFB\u52A1\u7684\u5230\u671F\u65E5\u671F\u548C\u5B89\u6392\u65E5\u671F\u3002",organizationProperties:"\u7EC4\u7EC7\u5C5E\u6027",organizationPropertiesDesc:"\u4F7F\u7528\u4E0A\u4E0B\u6587\u3001\u9879\u76EE\u548C\u6807\u7B7E\u7EC4\u7EC7\u4EFB\u52A1\u3002",taskDetails:"\u4EFB\u52A1\u8BE6\u60C5",taskDetailsDesc:"\u5176\u4ED6\u8BE6\u60C5\uFF0C\u5982\u65F6\u95F4\u4F30\u8BA1\u3001\u91CD\u590D\u548C\u63D0\u9192\u3002",metadataProperties:"\u5143\u6570\u636E\u5C5E\u6027",metadataPropertiesDesc:"\u7528\u4E8E\u8DDF\u8E2A\u4EFB\u52A1\u5386\u53F2\u7684\u7CFB\u7EDF\u7BA1\u7406\u5C5E\u6027\u3002",featureProperties:"\u529F\u80FD\u5C5E\u6027",featurePropertiesDesc:"\u7279\u5B9ATaskNotes\u529F\u80FD\u4F7F\u7528\u7684\u5C5E\u6027\uFF0C\u5982\u756A\u8304\u949F\u8BA1\u65F6\u5668\u548C\u65E5\u5386\u540C\u6B65\u3002"},propertyCard:{propertyKey:"\u5C5E\u6027\u952E\uFF1A",default:"\u9ED8\u8BA4\u503C\uFF1A",nlpTrigger:"NLP\u89E6\u53D1\u5668\uFF1A",triggerChar:"\u89E6\u53D1\u5B57\u7B26\uFF1A",triggerEmpty:"\u89E6\u53D1\u5668\u4E0D\u80FD\u4E3A\u7A7A",triggerTooLong:"\u89E6\u53D1\u5668\u8FC7\u957F\uFF08\u6700\u591A10\u4E2A\u5B57\u7B26\uFF09"},properties:{status:{name:"\u72B6\u6001",description:"\u8DDF\u8E2A\u4EFB\u52A1\u7684\u5F53\u524D\u72B6\u6001\uFF08\u4F8B\u5982\uFF0C\u5F85\u529E\u3001\u8FDB\u884C\u4E2D\u3001\u5B8C\u6210\uFF09\u3002\u72B6\u6001\u51B3\u5B9A\u4EFB\u52A1\u662F\u5426\u663E\u793A\u4E3A\u5DF2\u5B8C\u6210\uFF0C\u5E76\u53EF\u89E6\u53D1\u81EA\u52A8\u5F52\u6863\u3002"},priority:{name:"\u4F18\u5148\u7EA7",description:"\u8868\u793A\u4EFB\u52A1\u7684\u91CD\u8981\u6027\u3002\u7528\u4E8E\u6392\u5E8F\u548C\u8FC7\u6EE4\u3002\u5728Bases\u89C6\u56FE\u4E2D\u503C\u6309\u5B57\u6BCD\u987A\u5E8F\u6392\u5E8F\uFF0C\u56E0\u6B64\u4F7F\u75281-\u30012-\u7B49\u524D\u7F00\u6765\u63A7\u5236\u987A\u5E8F\u3002"},due:{name:"\u5230\u671F\u65E5\u671F",description:"\u4EFB\u52A1\u5FC5\u987B\u5B8C\u6210\u7684\u622A\u6B62\u65E5\u671F\u3002\u8D85\u8FC7\u5230\u671F\u65E5\u671F\u7684\u4EFB\u52A1\u663E\u793A\u4E3A\u903E\u671F\u3002\u4F5C\u4E3A\u65E5\u671F\u5B58\u50A8\u5728frontmatter\u4E2D\u3002"},scheduled:{name:"\u5B89\u6392\u65E5\u671F",description:"\u60A8\u8BA1\u5212\u5904\u7406\u4EFB\u52A1\u7684\u65F6\u95F4\u3002\u4E0E\u5230\u671F\u65E5\u671F\u4E0D\u540C\uFF0C\u8FD9\u8868\u793A\u60A8\u9884\u5B9A\u7684\u5F00\u59CB\u65F6\u95F4\u3002\u4EFB\u52A1\u5728\u5176\u5B89\u6392\u7684\u65E5\u671F/\u65F6\u95F4\u51FA\u73B0\u5728\u65E5\u5386\u4E0A\u3002"},contexts:{name:"\u4E0A\u4E0B\u6587",description:"\u53EF\u4EE5\u5B8C\u6210\u4EFB\u52A1\u7684\u5730\u70B9\u6216\u6761\u4EF6\uFF08\u4F8B\u5982\uFF0C@\u5BB6\u3001@\u529E\u516C\u5BA4\u3001@\u7535\u8BDD\uFF09\u3002\u7528\u4E8E\u6839\u636E\u5F53\u524D\u60C5\u51B5\u8FC7\u6EE4\u4EFB\u52A1\u3002\u4F5C\u4E3A\u5217\u8868\u5B58\u50A8\u3002"},projects:{name:"\u9879\u76EE",description:"\u6B64\u4EFB\u52A1\u6240\u5C5E\u7684\u9879\u76EE\u7B14\u8BB0\u94FE\u63A5\u3002\u5B58\u50A8\u4E3Awikilinks\uFF08\u4F8B\u5982\uFF0C[[\u9879\u76EE\u540D\u79F0]]\uFF09\u3002\u4EFB\u52A1\u53EF\u4EE5\u5C5E\u4E8E\u591A\u4E2A\u9879\u76EE\u3002"},tags:{name:"\u6807\u7B7E",description:"\u7528\u4E8E\u5206\u7C7B\u4EFB\u52A1\u7684\u539F\u751FObsidian\u6807\u7B7E\u3002\u8FD9\u4E9B\u5B58\u50A8\u5728tags frontmatter\u5C5E\u6027\u4E2D\uFF0C\u4E0EObsidian\u7684\u6807\u7B7E\u529F\u80FD\u914D\u5408\u4F7F\u7528\u3002"},timeEstimate:{name:"\u65F6\u95F4\u4F30\u8BA1",description:"\u5B8C\u6210\u4EFB\u52A1\u7684\u9884\u8BA1\u5206\u949F\u6570\u3002\u7528\u4E8E\u65F6\u95F4\u5757\u548C\u5DE5\u4F5C\u91CF\u89C4\u5212\u3002\u663E\u793A\u5728\u4EFB\u52A1\u5361\u7247\u548C\u65E5\u5386\u4E8B\u4EF6\u4E0A\u3002"},recurrence:{name:"\u91CD\u590D",description:"\u91CD\u590D\u4EFB\u52A1\u7684\u6A21\u5F0F\uFF08\u6BCF\u65E5\u3001\u6BCF\u5468\u3001\u6BCF\u6708\u3001\u6BCF\u5E74\u6216\u81EA\u5B9A\u4E49RRULE\uFF09\u3002\u5F53\u91CD\u590D\u4EFB\u52A1\u5B8C\u6210\u65F6\uFF0C\u5176\u5B89\u6392\u65E5\u671F\u4F1A\u81EA\u52A8\u66F4\u65B0\u5230\u4E0B\u4E00\u6B21\u51FA\u73B0\u3002"},recurrenceAnchor:{name:"\u91CD\u590D\u951A\u70B9",description:"\u63A7\u5236\u4E0B\u4E00\u6B21\u51FA\u73B0\u7684\u8BA1\u7B97\u65B9\u5F0F\uFF1A'scheduled'\u4F7F\u7528\u5B89\u6392\u65E5\u671F\uFF0C'completion'\u4F7F\u7528\u5B9E\u9645\u5B8C\u6210\u65E5\u671F\u3002"},reminders:{name:"\u63D0\u9192",description:"\u5728\u5230\u671F\u6216\u5B89\u6392\u65E5\u671F\u524D\u89E6\u53D1\u7684\u901A\u77E5\u3002\u5B58\u50A8\u4E3A\u5E26\u6709\u65F6\u95F4\u548C\u53EF\u9009\u63CF\u8FF0\u7684\u63D0\u9192\u5BF9\u8C61\u5217\u8868\u3002"},title:{name:"\u6807\u9898",description:"\u4EFB\u52A1\u540D\u79F0\u3002\u53EF\u4EE5\u5B58\u50A8\u5728frontmatter\u4E2D\u6216\u6587\u4EF6\u540D\u4E2D\uFF08\u542F\u7528'\u5728\u6587\u4EF6\u540D\u4E2D\u5B58\u50A8\u6807\u9898'\u65F6\uFF09\u3002"},dateCreated:{name:"\u521B\u5EFA\u65E5\u671F",description:"\u4EFB\u52A1\u9996\u6B21\u521B\u5EFA\u7684\u65F6\u95F4\u6233\u3002\u81EA\u52A8\u8BBE\u7F6E\uFF0C\u7528\u4E8E\u6309\u521B\u5EFA\u987A\u5E8F\u6392\u5E8F\u3002"},dateModified:{name:"\u4FEE\u6539\u65E5\u671F",description:"\u4EFB\u52A1\u6700\u540E\u66F4\u6539\u7684\u65F6\u95F4\u6233\u3002\u5F53\u4EFB\u4F55\u4EFB\u52A1\u5C5E\u6027\u66F4\u6539\u65F6\u81EA\u52A8\u66F4\u65B0\u3002"},completedDate:{name:"\u5B8C\u6210\u65E5\u671F",description:"\u4EFB\u52A1\u6807\u8BB0\u4E3A\u5B8C\u6210\u7684\u65F6\u95F4\u6233\u3002\u5F53\u72B6\u6001\u66F4\u6539\u4E3A\u5DF2\u5B8C\u6210\u72B6\u6001\u65F6\u81EA\u52A8\u8BBE\u7F6E\u3002"},archiveTag:{name:"\u5F52\u6863\u6807\u7B7E",description:"\u5F52\u6863\u65F6\u6DFB\u52A0\u5230\u4EFB\u52A1\u7684\u6807\u7B7E\u3002\u7528\u4E8E\u8BC6\u522B\u5DF2\u5F52\u6863\u7684\u4EFB\u52A1\uFF0C\u53EF\u89E6\u53D1\u6587\u4EF6\u79FB\u52A8\u5230\u5F52\u6863\u6587\u4EF6\u5939\u3002"},timeEntries:{name:"\u65F6\u95F4\u6761\u76EE",description:"\u6B64\u4EFB\u52A1\u7684\u65F6\u95F4\u8DDF\u8E2A\u4F1A\u8BDD\u8BB0\u5F55\u3002\u6BCF\u4E2A\u6761\u76EE\u5B58\u50A8\u5F00\u59CB\u548C\u7ED3\u675F\u65F6\u95F4\u6233\u3002\u7528\u4E8E\u8BA1\u7B97\u603B\u82B1\u8D39\u65F6\u95F4\u3002"},completeInstances:{name:"\u5B8C\u6210\u5B9E\u4F8B",description:"\u91CD\u590D\u4EFB\u52A1\u7684\u5B8C\u6210\u5386\u53F2\u3002\u5B58\u50A8\u6BCF\u4E2A\u5B9E\u4F8B\u5B8C\u6210\u7684\u65E5\u671F\uFF0C\u4EE5\u9632\u6B62\u91CD\u590D\u5B8C\u6210\u3002"},skippedInstances:{name:"\u8DF3\u8FC7\u5B9E\u4F8B",description:"\u91CD\u590D\u4EFB\u52A1\u7684\u8DF3\u8FC7\u8BB0\u5F55\u3002\u5B58\u50A8\u88AB\u8DF3\u8FC7\u800C\u975E\u5B8C\u6210\u7684\u5B9E\u4F8B\u65E5\u671F\u3002"},blockedBy:{name:"\u88AB\u963B\u6B62",description:"\u5FC5\u987B\u5728\u6B64\u4EFB\u52A1\u4E4B\u524D\u5B8C\u6210\u7684\u4EFB\u52A1\u94FE\u63A5\u3002\u5B58\u50A8\u4E3Awikilinks\u3002\u88AB\u963B\u6B62\u7684\u4EFB\u52A1\u663E\u793A\u89C6\u89C9\u6307\u793A\u5668\u3002"},sortOrder:{name:"\u624B\u52A8\u987A\u5E8F",description:"\u7528\u4E8E\u62D6\u62FD\u91CD\u6392\u7684 frontmatter \u5C5E\u6027\u3002\u89C6\u56FE\u5FC5\u987B\u6309\u6B64\u5C5E\u6027\u6392\u5E8F\uFF0C\u62D6\u62FD\u91CD\u6392\u624D\u80FD\u751F\u6548\u3002"},pomodoros:{name:"\u756A\u8304\u949F",description:"\u5DF2\u5B8C\u6210\u7684\u756A\u8304\u949F\u4F1A\u8BDD\u8BA1\u6570\u3002\u5F53\u6570\u636E\u5B58\u50A8\u8BBE\u7F6E\u4E3A'\u65E5\u8BB0'\u65F6\uFF0C\u8FD9\u5C06\u5199\u5165\u65E5\u8BB0\u800C\u4E0D\u662F\u4EFB\u52A1\u6587\u4EF6\u3002"},icsEventId:{name:"ICS\u4E8B\u4EF6ID",description:"\u5C06\u7B14\u8BB0\u94FE\u63A5\u5230ICS\u65E5\u5386\u4E8B\u4EF6\u7684\u552F\u4E00\u6807\u8BC6\u7B26\u3002\u4ECE\u65E5\u5386\u4E8B\u4EF6\u521B\u5EFA\u7B14\u8BB0\u65F6\u81EA\u52A8\u6DFB\u52A0\u3002"},icsEventTag:{name:"ICS\u4E8B\u4EF6\u6807\u7B7E",description:"\u6807\u8BC6\u4ECEICS\u65E5\u5386\u4E8B\u4EF6\u521B\u5EFA\u7684\u7B14\u8BB0\u7684\u6807\u7B7E\u3002\u7528\u4E8E\u533A\u5206\u65E5\u5386\u751F\u6210\u7684\u7B14\u8BB0\u548C\u5E38\u89C4\u4EFB\u52A1\u3002"}},statusCard:{valuesHeader:"\u72B6\u6001\u503C"},priorityCard:{valuesHeader:"\u4F18\u5148\u7EA7\u503C"},projectsCard:{defaultProjects:"\u9ED8\u8BA4\u9879\u76EE\uFF1A",useParentNote:"\u4F7F\u7528\u7236\u7B14\u8BB0\u4F5C\u4E3A\u9879\u76EE\uFF1A",noDefaultProjects:"\u672A\u9009\u62E9\u9ED8\u8BA4\u9879\u76EE",autosuggestFilters:"\u81EA\u52A8\u5EFA\u8BAE\u8FC7\u6EE4\u5668",customizeDisplay:"\u81EA\u5B9A\u4E49\u663E\u793A",filtersOn:"\u8FC7\u6EE4\u5668\u5F00\u542F"},titleCard:{storeTitleInFilename:"\u5728\u6587\u4EF6\u540D\u4E2D\u5B58\u50A8\u6807\u9898\uFF1A",storedInFilename:"\u5B58\u50A8\u5728\u6587\u4EF6\u540D\u4E2D",filenameUpdatesWithTitle:"\u6587\u4EF6\u540D\u5C06\u5728\u4EFB\u52A1\u6807\u9898\u66F4\u6539\u65F6\u81EA\u52A8\u66F4\u65B0\u3002",filenameFormat:"\u6587\u4EF6\u540D\u683C\u5F0F\uFF1A",customTemplate:"\u81EA\u5B9A\u4E49\u6A21\u677F\uFF1A",legacySyntaxWarning:"\u50CF {title} \u8FD9\u6837\u7684\u5355\u82B1\u62EC\u53F7\u8BED\u6CD5\u5DF2\u5F03\u7528\u3002\u8BF7\u4F7F\u7528\u53CC\u82B1\u62EC\u53F7\u8BED\u6CD5 {{title}} \u4EE5\u4E0E\u6B63\u6587\u6A21\u677F\u4FDD\u6301\u4E00\u81F4\u3002"},tagsCard:{nativeObsidianTags:"\u4F7F\u7528\u539F\u751FObsidian\u6807\u7B7E"},remindersCard:{defaultReminders:"\u9ED8\u8BA4\u63D0\u9192"},taskStatuses:{header:"\u4EFB\u52A1\u72B6\u6001",description:"\u81EA\u5B9A\u4E49\u4EFB\u52A1\u53EF\u7528\u7684\u72B6\u6001\u9009\u9879\u3002\u8FD9\u4E9B\u72B6\u6001\u63A7\u5236\u4EFB\u52A1\u751F\u547D\u5468\u671F\u5E76\u786E\u5B9A\u4F55\u65F6\u4EFB\u52A1\u88AB\u89C6\u4E3A\u5B8C\u6210\u3002",howTheyWork:{title:"\u72B6\u6001\u5982\u4F55\u5DE5\u4F5C\uFF1A",value:'\u503C\uFF1A\u5B58\u50A8\u5728\u4EFB\u52A1\u6587\u4EF6\u4E2D\u7684\u5185\u90E8\u6807\u8BC6\u7B26\uFF08\u4F8B\u5982\uFF0C"\u8FDB\u884C\u4E2D"\uFF09',label:'\u6807\u7B7E\uFF1A\u5728\u754C\u9762\u4E2D\u663E\u793A\u7684\u663E\u793A\u540D\u79F0\uFF08\u4F8B\u5982\uFF0C"\u8FDB\u884C\u4E2D"\uFF09',color:"\u989C\u8272\uFF1A\u72B6\u6001\u70B9\u548C\u5FBD\u7AE0\u7684\u89C6\u89C9\u6307\u793A\u5668\u989C\u8272",icon:'\u56FE\u6807\uFF1A\u53EF\u9009\u7684 Lucide \u56FE\u6807\u540D\u79F0\uFF0C\u7528\u4E8E\u66FF\u4EE3\u5F69\u8272\u5706\u70B9\u663E\u793A\uFF08\u4F8B\u5982\uFF0C"check"\u3001"circle"\u3001"clock"\uFF09\u3002\u5728 lucide.dev \u6D4F\u89C8\u56FE\u6807',completed:"\u5DF2\u5B8C\u6210\uFF1A\u9009\u4E2D\u65F6\uFF0C\u5177\u6709\u6B64\u72B6\u6001\u7684\u4EFB\u52A1\u88AB\u89C6\u4E3A\u5DF2\u5B8C\u6210\uFF0C\u53EF\u80FD\u4EE5\u4E0D\u540C\u65B9\u5F0F\u8FC7\u6EE4",autoArchive:"\u81EA\u52A8\u5F52\u6863\uFF1A\u542F\u7528\u65F6\uFF0C\u4EFB\u52A1\u5C06\u5728\u6307\u5B9A\u5EF6\u8FDF\u540E\u81EA\u52A8\u5F52\u6863\uFF081-1440\u5206\u949F\uFF09",orderNote:"\u4E0B\u9762\u7684\u987A\u5E8F\u786E\u5B9A\u70B9\u51FB\u4EFB\u52A1\u72B6\u6001\u5FBD\u7AE0\u65F6\u5FAA\u73AF\u72B6\u6001\u7684\u987A\u5E8F\u3002"},addNew:{name:"\u6DFB\u52A0\u65B0\u72B6\u6001",description:"\u4E3A\u60A8\u7684\u4EFB\u52A1\u521B\u5EFA\u65B0\u7684\u72B6\u6001\u9009\u9879",buttonText:"\u6DFB\u52A0\u72B6\u6001"},validationNote:'\u6CE8\u610F\uFF1A\u60A8\u5FC5\u987B\u81F3\u5C11\u67092\u4E2A\u72B6\u6001\uFF0C\u5E76\u4E14\u81F3\u5C11\u4E00\u4E2A\u72B6\u6001\u5FC5\u987B\u6807\u8BB0\u4E3A"\u5DF2\u5B8C\u6210"\u3002',emptyState:"\u672A\u914D\u7F6E\u81EA\u5B9A\u4E49\u72B6\u6001\u3002\u6DFB\u52A0\u72B6\u6001\u4EE5\u5F00\u59CB\u3002",emptyStateButton:"\u6DFB\u52A0\u72B6\u6001",fields:{value:"\u503C\uFF1A",label:"\u6807\u7B7E\uFF1A",color:"\u989C\u8272\uFF1A",icon:"\u56FE\u6807\uFF1A",completed:"\u5DF2\u5B8C\u6210\uFF1A",autoArchive:"\u81EA\u52A8\u5F52\u6863\uFF1A",delayMinutes:"\u5EF6\u8FDF\uFF08\u5206\u949F\uFF09\uFF1A"},placeholders:{value:"\u8FDB\u884C\u4E2D",label:"\u8FDB\u884C\u4E2D",icon:"check, circle, clock"},badges:{completed:"\u5DF2\u5B8C\u6210"},deleteConfirm:'\u60A8\u786E\u5B9A\u8981\u5220\u9664\u72B6\u6001"{label}"\u5417\uFF1F'},taskPriorities:{header:"\u4EFB\u52A1\u4F18\u5148\u7EA7",description:"\u81EA\u5B9A\u4E49\u4EFB\u52A1\u53EF\u7528\u7684\u4F18\u5148\u7EA7\u7EA7\u522B\u3002\u5728 v4.0+ \u4E2D\uFF0C\u4F18\u5148\u7EA7\u5728 Bases \u89C6\u56FE\u4E2D\u6309\u5176\u503C\u7684\u5B57\u6BCD\u987A\u5E8F\u6392\u5E8F\u3002",howTheyWork:{title:"\u4F18\u5148\u7EA7\u5982\u4F55\u5DE5\u4F5C\uFF1A",value:'\u503C\uFF1A\u5B58\u50A8\u5728\u4EFB\u52A1\u6587\u4EF6\u4E2D\u7684\u5185\u90E8\u6807\u8BC6\u7B26\u3002\u4F7F\u7528\u524D\u7F00\u5982 "1-urgent"\u3001"2-high" \u6765\u63A7\u5236 Bases \u89C6\u56FE\u4E2D\u7684\u6392\u5E8F\u987A\u5E8F\u3002',label:'\u663E\u793A\u6807\u7B7E\uFF1A\u5728\u754C\u9762\u4E2D\u663E\u793A\u7684\u663E\u793A\u540D\u79F0\uFF08\u4F8B\u5982\uFF0C"\u9AD8\u4F18\u5148\u7EA7"\uFF09',color:"\u989C\u8272\uFF1A\u4F18\u5148\u7EA7\u70B9\u548C\u5FBD\u7AE0\u7684\u89C6\u89C9\u6307\u793A\u5668\u989C\u8272",weight:"\u6743\u91CD\uFF1A\u7528\u4E8E\u6392\u5E8F\u7684\u6570\u503C\uFF08\u6743\u91CD\u9AD8\u7684\u4F18\u5148\u51FA\u73B0\u5728\u5217\u8868\u4E2D\uFF09",weightNote:"\u4EFB\u52A1\u6309\u4F18\u5148\u7EA7\u6743\u91CD\u964D\u5E8F\u81EA\u52A8\u6392\u5E8F\uFF08\u6700\u9AD8\u6743\u91CD\u4F18\u5148\uFF09\u3002\u6743\u91CD\u53EF\u4EE5\u662F\u4EFB\u4F55\u6B63\u6570\u3002"},addNew:{name:"\u6DFB\u52A0\u65B0\u4F18\u5148\u7EA7",description:"\u4E3A\u60A8\u7684\u4EFB\u52A1\u521B\u5EFA\u65B0\u7684\u4F18\u5148\u7EA7\u7EA7\u522B",buttonText:"\u6DFB\u52A0\u4F18\u5148\u7EA7"},validationNote:"\u6CE8\u610F\uFF1A\u60A8\u5FC5\u987B\u81F3\u5C11\u67091\u4E2A\u4F18\u5148\u7EA7\u3002\u4F18\u5148\u7EA7\u5728 Bases \u89C6\u56FE\u4E2D\u6309\u503C\u7684\u5B57\u6BCD\u987A\u5E8F\u6392\u5E8F\u3002",emptyState:"\u672A\u914D\u7F6E\u81EA\u5B9A\u4E49\u4F18\u5148\u7EA7\u3002\u6DFB\u52A0\u4F18\u5148\u7EA7\u4EE5\u5F00\u59CB\u3002",emptyStateButton:"\u6DFB\u52A0\u4F18\u5148\u7EA7",fields:{value:"\u503C\uFF1A",label:"\u6807\u7B7E\uFF1A",color:"\u989C\u8272\uFF1A",weight:"\u6743\u91CD\uFF1A"},placeholders:{value:"\u9AD8",label:"\u9AD8\u4F18\u5148\u7EA7"},weightLabel:"\u6743\u91CD\uFF1A{weight}",deleteConfirm:"\u60A8\u5FC5\u987B\u81F3\u5C11\u6709\u4E00\u4E2A\u4F18\u5148\u7EA7",deleteTooltip:"\u5220\u9664\u4F18\u5148\u7EA7"},fieldMapping:{header:"\u5B57\u6BB5\u6620\u5C04",warning:"\u26A0\uFE0F \u8B66\u544A\uFF1ATaskNotes\u5C06\u4F7F\u7528\u8FD9\u4E9B\u5C5E\u6027\u540D\u79F0\u8FDB\u884C\u8BFB\u53D6\u548C\u5199\u5165\u3002\u5728\u521B\u5EFA\u4EFB\u52A1\u540E\u66F4\u6539\u8FD9\u4E9B\u53EF\u80FD\u5BFC\u81F4\u4E0D\u4E00\u81F4\u3002",description:"\u914D\u7F6ETaskNotes\u5E94\u4E3A\u6BCF\u4E2A\u5B57\u6BB5\u4F7F\u7528\u7684\u524D\u7F6E\u5C5E\u6027\u3002",resetButton:{name:"\u91CD\u7F6E\u5B57\u6BB5\u6620\u5C04",description:"\u5C06\u6240\u6709\u5B57\u6BB5\u6620\u5C04\u91CD\u7F6E\u4E3A\u9ED8\u8BA4\u503C",buttonText:"\u91CD\u7F6E\u4E3A\u9ED8\u8BA4\u503C"},notices:{resetSuccess:"\u5B57\u6BB5\u6620\u5C04\u5DF2\u91CD\u7F6E\u4E3A\u9ED8\u8BA4\u503C",resetFailure:"\u91CD\u7F6E\u5B57\u6BB5\u6620\u5C04\u5931\u8D25",updateFailure:"\u66F4\u65B0{label}\u7684\u5B57\u6BB5\u6620\u5C04\u5931\u8D25\u3002\u8BF7\u91CD\u8BD5\u3002"},table:{fieldHeader:"TaskNotes\u5B57\u6BB5",propertyHeader:"\u60A8\u7684\u5C5E\u6027\u540D\u79F0"},fields:{title:"\u6807\u9898",status:"\u72B6\u6001",priority:"\u4F18\u5148\u7EA7",due:"\u5230\u671F\u65E5\u671F",scheduled:"\u5B89\u6392\u65E5\u671F",contexts:"\u4E0A\u4E0B\u6587",projects:"\u9879\u76EE",timeEstimate:"\u65F6\u95F4\u4F30\u8BA1",recurrence:"\u91CD\u590D",dateCreated:"\u521B\u5EFA\u65E5\u671F",completedDate:"\u5B8C\u6210\u65E5\u671F",dateModified:"\u4FEE\u6539\u65E5\u671F",archiveTag:"\u5F52\u6863\u6807\u7B7E",timeEntries:"\u65F6\u95F4\u6761\u76EE",completeInstances:"\u5B8C\u6210\u5B9E\u4F8B",blockedBy:"\u88AB\u963B\u6B62",sortOrder:"\u624B\u52A8\u987A\u5E8F",pomodoros:"\u756A\u8304\u949F",icsEventId:"ICS\u4E8B\u4EF6ID",icsEventTag:"ICS\u4E8B\u4EF6\u6807\u7B7E",reminders:"\u63D0\u9192"}},customUserFields:{header:"\u81EA\u5B9A\u4E49\u7528\u6237\u5B57\u6BB5",description:"\u5B9A\u4E49\u81EA\u5B9A\u4E49\u524D\u7F6E\u5C5E\u6027\uFF0C\u4F5C\u4E3A\u7C7B\u578B\u611F\u77E5\u8FC7\u6EE4\u9009\u9879\u51FA\u73B0\u5728\u5404\u4E2A\u89C6\u56FE\u4E2D\u3002\u6BCF\u884C\uFF1A\u663E\u793A\u540D\u79F0\u3001\u5C5E\u6027\u540D\u79F0\u3001\u7C7B\u578B\u3002",addNew:{name:"\u6DFB\u52A0\u65B0\u7528\u6237\u5B57\u6BB5",description:"\u521B\u5EFA\u5C06\u51FA\u73B0\u5728\u8FC7\u6EE4\u5668\u548C\u89C6\u56FE\u4E2D\u7684\u65B0\u81EA\u5B9A\u4E49\u5B57\u6BB5",buttonText:"\u6DFB\u52A0\u7528\u6237\u5B57\u6BB5"},emptyState:"\u672A\u914D\u7F6E\u81EA\u5B9A\u4E49\u7528\u6237\u5B57\u6BB5\u3002\u6DFB\u52A0\u5B57\u6BB5\u4E3A\u60A8\u7684\u4EFB\u52A1\u521B\u5EFA\u81EA\u5B9A\u4E49\u5C5E\u6027\u3002",emptyStateButton:"\u6DFB\u52A0\u7528\u6237\u5B57\u6BB5",fields:{displayName:"\u663E\u793A\u540D\u79F0\uFF1A",propertyKey:"\u5C5E\u6027\u952E\uFF1A",type:"\u7C7B\u578B\uFF1A",defaultValue:"\u9ED8\u8BA4\u503C\uFF1A"},placeholders:{displayName:"\u663E\u793A\u540D\u79F0",propertyKey:"\u5C5E\u6027\u540D\u79F0",defaultValue:"\u9ED8\u8BA4\u503C",defaultValueList:"\u9ED8\u8BA4\u503C\uFF08\u9017\u53F7\u5206\u9694\uFF09"},types:{text:"\u6587\u672C",number:"\u6570\u5B57",boolean:"\u5E03\u5C14\u503C",date:"\u65E5\u671F",list:"\u5217\u8868"},defaultNames:{unnamedField:"\u672A\u547D\u540D\u5B57\u6BB5",noKey:"\u65E0\u952E"},deleteTooltip:"\u5220\u9664\u5B57\u6BB5",autosuggestFilters:{header:"\u81EA\u52A8\u5EFA\u8BAE\u8FC7\u6EE4\u5668\uFF08\u9AD8\u7EA7\uFF09",description:"\u8FC7\u6EE4\u5728\u6B64\u5B57\u6BB5\u7684\u81EA\u52A8\u5B8C\u6210\u5EFA\u8BAE\u4E2D\u663E\u793A\u7684\u6587\u4EF6"}}},appearance:{taskCards:{header:"\u4EFB\u52A1\u5361\u7247",description:"\u914D\u7F6E\u4EFB\u52A1\u5361\u7247\u5728\u6240\u6709\u89C6\u56FE\u4E2D\u7684\u663E\u793A\u65B9\u5F0F\u3002",defaultVisibleProperties:{name:"\u9ED8\u8BA4\u53EF\u89C1\u5C5E\u6027",description:"\u9009\u62E9\u9ED8\u8BA4\u5728\u4EFB\u52A1\u5361\u7247\u4E0A\u663E\u793A\u7684\u5C5E\u6027\u3002"},propertyGroups:{coreProperties:"\u6838\u5FC3\u5C5E\u6027",organization:"\u7EC4\u7EC7",customProperties:"\u81EA\u5B9A\u4E49\u5C5E\u6027"},properties:{status:"\u72B6\u6001\u70B9",priority:"\u4F18\u5148\u7EA7\u70B9",due:"\u5230\u671F\u65E5\u671F",scheduled:"\u5B89\u6392\u65E5\u671F",timeEstimate:"\u65F6\u95F4\u4F30\u8BA1",totalTrackedTime:"\u603B\u8DDF\u8E2A\u65F6\u95F4",checklistProgress:"\u6E05\u5355\u8FDB\u5EA6",recurrence:"\u91CD\u590D",completedDate:"\u5B8C\u6210\u65E5\u671F",createdDate:"\u521B\u5EFA\u65E5\u671F",modifiedDate:"\u4FEE\u6539\u65E5\u671F",projects:"\u9879\u76EE",contexts:"\u4E0A\u4E0B\u6587",tags:"\u6807\u7B7E",blocked:"\u5DF2\u963B\u585E",blocking:"\u963B\u585E\u4E2D"}},taskFilenames:{header:"\u4EFB\u52A1\u6587\u4EF6\u540D",description:"\u914D\u7F6E\u521B\u5EFA\u4EFB\u52A1\u6587\u4EF6\u65F6\u7684\u547D\u540D\u65B9\u5F0F\u3002",storeTitleInFilename:{name:"\u5728\u6587\u4EF6\u540D\u4E2D\u5B58\u50A8\u6807\u9898",description:"\u4F7F\u7528\u4EFB\u52A1\u6807\u9898\u4F5C\u4E3A\u6587\u4EF6\u540D\u3002\u4EFB\u52A1\u6807\u9898\u66F4\u6539\u65F6\u6587\u4EF6\u540D\u4F1A\u66F4\u65B0\uFF08\u63A8\u8350\uFF09\u3002"},filenameFormat:{name:"\u6587\u4EF6\u540D\u683C\u5F0F",description:"\u4EFB\u52A1\u6587\u4EF6\u540D\u7684\u751F\u6210\u65B9\u5F0F",options:{title:"\u4EFB\u52A1\u6807\u9898\uFF08\u4E0D\u66F4\u65B0\uFF09",zettel:"Zettelkasten\u683C\u5F0F\uFF08YYMMDD + base36\u81EA\u5348\u591C\u4EE5\u6765\u7684\u79D2\u6570\uFF09",timestamp:"\u5B8C\u6574\u65F6\u95F4\u6233\uFF08YYYY-MM-DD-HHMMSS\uFF09",custom:"\u81EA\u5B9A\u4E49\u6A21\u677F"}},customTemplate:{name:"\u81EA\u5B9A\u4E49\u6587\u4EF6\u540D\u6A21\u677F",description:"\u81EA\u5B9A\u4E49\u6587\u4EF6\u540D\u7684\u6A21\u677F\u3002\u53EF\u7528\u53D8\u91CF\uFF1A{title}\u3001{titleLower}\u3001{titleUpper}\u3001{titleSnake}\u3001{titleKebab}\u3001{titleCamel}\u3001{titlePascal}\u3001{date}\u3001{shortDate}\u3001{time}\u3001{time12}\u3001{time24}\u3001{timestamp}\u3001{dateTime}\u3001{year}\u3001{month}\u3001{monthName}\u3001{monthNameShort}\u3001{day}\u3001{dayName}\u3001{dayNameShort}\u3001{hour}\u3001{hour12}\u3001{minute}\u3001{second}\u3001{milliseconds}\u3001{ms}\u3001{ampm}\u3001{week}\u3001{quarter}\u3001{unix}\u3001{unixMs}\u3001{timezone}\u3001{timezoneShort}\u3001{utcOffset}\u3001{utcOffsetShort}\u3001{utcZ}\u3001{zettel}\u3001{nano}\u3001{priority}\u3001{priorityShort}\u3001{status}\u3001{statusShort}\u3001{dueDate}\u3001{scheduledDate}",placeholder:"{date}-{title}-{dueDate}",helpText:"\u6CE8\u610F\uFF1A{dueDate}\u548C{scheduledDate}\u683C\u5F0F\u4E3AYYYY-MM-DD\uFF0C\u5982\u679C\u672A\u8BBE\u7F6E\u5219\u4E3A\u7A7A\u3002"}},displayFormatting:{header:"\u663E\u793A\u683C\u5F0F",description:"\u914D\u7F6E\u6574\u4E2A\u63D2\u4EF6\u4E2D\u65E5\u671F\u3001\u65F6\u95F4\u548C\u5176\u4ED6\u6570\u636E\u7684\u663E\u793A\u65B9\u5F0F\u3002",timeFormat:{name:"\u65F6\u95F4\u683C\u5F0F",description:"\u5728\u6574\u4E2A\u63D2\u4EF6\u4E2D\u4EE512\u5C0F\u65F6\u621624\u5C0F\u65F6\u683C\u5F0F\u663E\u793A\u65F6\u95F4",options:{twelveHour:"12\u5C0F\u65F6\uFF08AM/PM\uFF09",twentyFourHour:"24\u5C0F\u65F6"}}},calendarView:{header:"\u65E5\u5386\u89C6\u56FE",description:"\u81EA\u5B9A\u4E49\u65E5\u5386\u89C6\u56FE\u7684\u5916\u89C2\u548C\u884C\u4E3A\u3002",defaultView:{name:"\u9ED8\u8BA4\u89C6\u56FE",description:"\u6253\u5F00\u65E5\u5386\u9009\u9879\u5361\u65F6\u663E\u793A\u7684\u65E5\u5386\u89C6\u56FE",options:{monthGrid:"\u6708\u7F51\u683C",weekTimeline:"\u5468\u65F6\u95F4\u7EBF",dayTimeline:"\u65E5\u65F6\u95F4\u7EBF",yearView:"\u5E74\u89C6\u56FE",customMultiDay:"\u81EA\u5B9A\u4E49\u591A\u65E5"}},customDayCount:{name:"\u81EA\u5B9A\u4E49\u89C6\u56FE\u5929\u6570",description:"\u81EA\u5B9A\u4E49\u591A\u65E5\u89C6\u56FE\u4E2D\u663E\u793A\u7684\u5929\u6570",placeholder:"3"},firstDayOfWeek:{name:"\u4E00\u5468\u7684\u7B2C\u4E00\u5929",description:"\u5468\u89C6\u56FE\u4E2D\u5E94\u4F5C\u4E3A\u7B2C\u4E00\u5217\u7684\u65E5\u671F"},showWeekends:{name:"\u663E\u793A\u5468\u672B",description:"\u5728\u65E5\u5386\u89C6\u56FE\u4E2D\u663E\u793A\u5468\u672B"},showWeekNumbers:{name:"\u663E\u793A\u5468\u6570",description:"\u5728\u65E5\u5386\u89C6\u56FE\u4E2D\u663E\u793A\u5468\u6570"},showTodayHighlight:{name:"\u663E\u793A\u4ECA\u65E5\u9AD8\u4EAE",description:"\u5728\u65E5\u5386\u89C6\u56FE\u4E2D\u9AD8\u4EAE\u5F53\u524D\u65E5\u671F"},showCurrentTimeIndicator:{name:"\u663E\u793A\u5F53\u524D\u65F6\u95F4\u6307\u793A\u5668",description:"\u5728\u65F6\u95F4\u7EBF\u89C6\u56FE\u4E2D\u663E\u793A\u663E\u793A\u5F53\u524D\u65F6\u95F4\u7684\u7EBF"},selectionMirror:{name:"\u9009\u62E9\u955C\u50CF",description:"\u62D6\u62FD\u9009\u62E9\u65F6\u95F4\u8303\u56F4\u65F6\u663E\u793A\u89C6\u89C9\u9884\u89C8"},calendarLocale:{name:"\u65E5\u5386\u533A\u57DF\u8BBE\u7F6E",description:'\u65E5\u671F\u683C\u5F0F\u548C\u65E5\u5386\u7CFB\u7EDF\u7684\u65E5\u5386\u533A\u57DF\u8BBE\u7F6E\uFF08\u4F8B\u5982\uFF0C"en"\u3001"fa"\u8868\u793A\u6CE2\u65AF\u8BED/\u6CE2\u65AF\u6587\u3001"de"\u8868\u793A\u5FB7\u8BED\uFF09\u3002\u7559\u7A7A\u4EE5\u4ECE\u6D4F\u89C8\u5668\u81EA\u52A8\u68C0\u6D4B\u3002',placeholder:"\u81EA\u52A8\u68C0\u6D4B",invalidLocale:"\u65E0\u6548\u7684\u533A\u57DF\u8BBE\u7F6E\u3002\u8BF7\u8F93\u5165\u6709\u6548\u7684\u8BED\u8A00\u6807\u7B7E\uFF08\u4F8B\u5982\uFF1A'zh'\u3001'en'\u3001'fr-FR'\uFF09\u3002"}},defaultEventVisibility:{header:"\u9ED8\u8BA4\u4E8B\u4EF6\u53EF\u89C1\u6027",description:"\u914D\u7F6E\u6253\u5F00\u65E5\u5386\u65F6\u9ED8\u8BA4\u53EF\u89C1\u7684\u4E8B\u4EF6\u7C7B\u578B\u3002\u7528\u6237\u4ECD\u53EF\u5728\u65E5\u5386\u89C6\u56FE\u4E2D\u5207\u6362\u8FD9\u4E9B\u5F00/\u5173\u3002",showScheduledTasks:{name:"\u663E\u793A\u5B89\u6392\u7684\u4EFB\u52A1",description:"\u9ED8\u8BA4\u663E\u793A\u6709\u5B89\u6392\u65E5\u671F\u7684\u4EFB\u52A1"},showDueDates:{name:"\u663E\u793A\u5230\u671F\u65E5\u671F",description:"\u9ED8\u8BA4\u663E\u793A\u4EFB\u52A1\u5230\u671F\u65E5\u671F"},showDueWhenScheduled:{name:"\u5B89\u6392\u65F6\u663E\u793A\u5230\u671F\u65E5\u671F",description:"\u5373\u4F7F\u5BF9\u4E8E\u5DF2\u6709\u5B89\u6392\u65E5\u671F\u7684\u4EFB\u52A1\u4E5F\u663E\u793A\u5230\u671F\u65E5\u671F"},showTimeEntries:{name:"\u663E\u793A\u65F6\u95F4\u6761\u76EE",description:"\u9ED8\u8BA4\u663E\u793A\u5DF2\u5B8C\u6210\u7684\u65F6\u95F4\u8DDF\u8E2A\u6761\u76EE"},showRecurringTasks:{name:"\u663E\u793A\u91CD\u590D\u4EFB\u52A1",description:"\u9ED8\u8BA4\u663E\u793A\u91CD\u590D\u4EFB\u52A1\u5B9E\u4F8B"},showICSEvents:{name:"\u663E\u793AICS\u4E8B\u4EF6",description:"\u9ED8\u8BA4\u663E\u793A\u6765\u81EAICS\u8BA2\u9605\u7684\u4E8B\u4EF6"}},timeSettings:{header:"\u65F6\u95F4\u8BBE\u7F6E",description:"\u914D\u7F6E\u65F6\u95F4\u7EBF\u89C6\u56FE\u7684\u65F6\u95F4\u76F8\u5173\u663E\u793A\u8BBE\u7F6E\u3002",timeSlotDuration:{name:"\u65F6\u95F4\u6BB5\u6301\u7EED\u65F6\u95F4",description:"\u65F6\u95F4\u7EBF\u89C6\u56FE\u4E2D\u6BCF\u4E2A\u65F6\u95F4\u6BB5\u7684\u6301\u7EED\u65F6\u95F4",options:{fifteenMinutes:"15\u5206\u949F",thirtyMinutes:"30\u5206\u949F",sixtyMinutes:"60\u5206\u949F"}},startTime:{name:"\u5F00\u59CB\u65F6\u95F4",description:"\u65F6\u95F4\u7EBF\u89C6\u56FE\u4E2D\u663E\u793A\u7684\u6700\u65E9\u65F6\u95F4\uFF08HH:MM\u683C\u5F0F\uFF09",placeholder:"06:00"},endTime:{name:"\u7ED3\u675F\u65F6\u95F4",description:"\u65F6\u95F4\u7EBF\u89C6\u56FE\u4E2D\u663E\u793A\u7684\u6700\u665A\u65F6\u95F4\uFF08HH:MM\u683C\u5F0F\uFF09",placeholder:"22:00"},initialScrollTime:{name:"\u521D\u59CB\u6EDA\u52A8\u65F6\u95F4",description:"\u6253\u5F00\u65F6\u95F4\u7EBF\u89C6\u56FE\u65F6\u6EDA\u52A8\u5230\u7684\u65F6\u95F4\uFF08HH:MM\u683C\u5F0F\uFF09",placeholder:"09:00"},eventMinHeight:{name:"\u4E8B\u4EF6\u6700\u5C0F\u9AD8\u5EA6",description:"\u65F6\u95F4\u8F74\u89C6\u56FE\u4E2D\u4E8B\u4EF6\u7684\u6700\u5C0F\u9AD8\u5EA6\uFF08\u50CF\u7D20\uFF09",placeholder:"15"}},uiElements:{header:"\u754C\u9762\u5143\u7D20",description:"\u914D\u7F6E\u5404\u79CD\u754C\u9762\u5143\u7D20\u7684\u663E\u793A\u3002",showTrackedTasksInStatusBar:{name:"\u5728\u72B6\u6001\u680F\u4E2D\u663E\u793A\u8DDF\u8E2A\u7684\u4EFB\u52A1",description:"\u5728Obsidian\u72B6\u6001\u680F\u4E2D\u663E\u793A\u5F53\u524D\u8DDF\u8E2A\u7684\u4EFB\u52A1"},showProjectSubtasksWidget:{name:"\u663E\u793A\u9879\u76EE\u5B50\u4EFB\u52A1\u5C0F\u90E8\u4EF6",description:"\u663E\u793A\u663E\u793A\u5F53\u524D\u9879\u76EE\u7B14\u8BB0\u5B50\u4EFB\u52A1\u7684\u5C0F\u90E8\u4EF6"},projectSubtasksPosition:{name:"\u9879\u76EE\u5B50\u4EFB\u52A1\u4F4D\u7F6E",description:"\u9879\u76EE\u5B50\u4EFB\u52A1\u5C0F\u90E8\u4EF6\u7684\u5B9A\u4F4D\u4F4D\u7F6E",options:{top:"\u7B14\u8BB0\u9876\u90E8",bottom:"\u7B14\u8BB0\u5E95\u90E8"}},showRelationshipsWidget:{name:"\u663E\u793A\u5173\u7CFB\u5C0F\u90E8\u4EF6",description:"\u663E\u793A\u4E00\u4E2A\u5C0F\u90E8\u4EF6\uFF0C\u5C55\u793A\u5F53\u524D\u7B14\u8BB0\u7684\u6240\u6709\u5173\u7CFB\uFF08\u5B50\u4EFB\u52A1\u3001\u9879\u76EE\u3001\u4F9D\u8D56\u9879\uFF09"},relationshipsPosition:{name:"\u5173\u7CFB\u4F4D\u7F6E",description:"\u5173\u7CFB\u5C0F\u90E8\u4EF6\u7684\u4F4D\u7F6E",options:{top:"\u7B14\u8BB0\u9876\u90E8",bottom:"\u7B14\u8BB0\u5E95\u90E8"}},showTaskCardInNote:{name:"\u5728\u7B14\u8BB0\u4E2D\u663E\u793A\u4EFB\u52A1\u5361\u7247",description:"\u5728\u4EFB\u52A1\u7B14\u8BB0\u9876\u90E8\u663E\u793A\u4EFB\u52A1\u5361\u7247\u5C0F\u90E8\u4EF6\uFF0C\u663E\u793A\u4EFB\u52A1\u8BE6\u60C5\u548C\u64CD\u4F5C"},showExpandableSubtasks:{name:"\u663E\u793A\u53EF\u5C55\u5F00\u5B50\u4EFB\u52A1",description:"\u5141\u8BB8\u5728\u4EFB\u52A1\u5361\u7247\u4E2D\u5C55\u5F00/\u6298\u53E0\u5B50\u4EFB\u52A1\u90E8\u5206"},subtaskChevronPosition:{name:"\u5B50\u4EFB\u52A1chevron\u4F4D\u7F6E",description:"\u4EFB\u52A1\u5361\u7247\u4E2D\u5C55\u5F00/\u6298\u53E0chevron\u7684\u4F4D\u7F6E",options:{left:"\u5DE6\u4FA7",right:"\u53F3\u4FA7"}},viewsButtonAlignment:{name:"\u89C6\u56FE\u6309\u94AE\u5BF9\u9F50",description:"\u4EFB\u52A1\u754C\u9762\u4E2D\u89C6\u56FE/\u8FC7\u6EE4\u5668\u6309\u94AE\u7684\u5BF9\u9F50\u65B9\u5F0F",options:{left:"\u5DE6\u4FA7",right:"\u53F3\u4FA7"}}},projectAutosuggest:{header:"\u9879\u76EE\u81EA\u52A8\u5EFA\u8BAE",description:"\u81EA\u5B9A\u4E49\u4EFB\u52A1\u521B\u5EFA\u671F\u95F4\u9879\u76EE\u5EFA\u8BAE\u7684\u663E\u793A\u65B9\u5F0F\u3002",requiredTags:{name:"\u5FC5\u9700\u6807\u7B7E",description:"\u4EC5\u663E\u793A\u5177\u6709\u8FD9\u4E9B\u6807\u7B7E\u4E4B\u4E00\u7684\u7B14\u8BB0\uFF08\u9017\u53F7\u5206\u9694\uFF09\u3002\u7559\u7A7A\u4EE5\u663E\u793A\u6240\u6709\u7B14\u8BB0\u3002",placeholder:"\u9879\u76EE\uFF0C\u6D3B\u52A8\uFF0C\u91CD\u8981"},includeFolders:{name:"\u5305\u542B\u6587\u4EF6\u5939",description:"\u4EC5\u663E\u793A\u8FD9\u4E9B\u6587\u4EF6\u5939\u4E2D\u7684\u7B14\u8BB0\uFF08\u9017\u53F7\u5206\u9694\u8DEF\u5F84\uFF09\u3002\u7559\u7A7A\u4EE5\u663E\u793A\u6240\u6709\u6587\u4EF6\u5939\u3002",placeholder:"\u9879\u76EE/\uFF0C\u5DE5\u4F5C/\u6D3B\u52A8\uFF0C\u4E2A\u4EBA"},requiredPropertyKey:{name:"\u5FC5\u9700\u5C5E\u6027\u952E",description:"\u4EC5\u663E\u793A\u6B64\u524D\u7F6E\u5C5E\u6027\u4E0E\u4E0B\u9762\u503C\u5339\u914D\u7684\u7B14\u8BB0\u3002\u7559\u7A7A\u4EE5\u5FFD\u7565\u3002",placeholder:"\u7C7B\u578B"},requiredPropertyValue:{name:"\u5FC5\u9700\u5C5E\u6027\u503C",description:"\u4EC5\u5EFA\u8BAE\u5C5E\u6027\u7B49\u4E8E\u6B64\u503C\u7684\u7B14\u8BB0\u3002\u7559\u7A7A\u4EE5\u8981\u6C42\u5C5E\u6027\u5B58\u5728\u3002",placeholder:"\u9879\u76EE"},customizeDisplay:{name:"\u81EA\u5B9A\u4E49\u5EFA\u8BAE\u663E\u793A",description:"\u663E\u793A\u9AD8\u7EA7\u9009\u9879\u4EE5\u914D\u7F6E\u9879\u76EE\u5EFA\u8BAE\u7684\u663E\u793A\u65B9\u5F0F\u53CA\u5176\u663E\u793A\u7684\u4FE1\u606F\u3002"},enableFuzzyMatching:{name:"\u542F\u7528\u6A21\u7CCA\u5339\u914D",description:"\u5728\u9879\u76EE\u641C\u7D22\u4E2D\u5141\u8BB8\u62FC\u5199\u9519\u8BEF\u548C\u90E8\u5206\u5339\u914D\u3002\u5728\u5927\u578B\u5E93\u4E2D\u53EF\u80FD\u8F83\u6162\u3002"},displayRowsHelp:"\u914D\u7F6E\u4E3A\u6BCF\u4E2A\u9879\u76EE\u5EFA\u8BAE\u663E\u793A\u6700\u591A3\u884C\u4FE1\u606F\u3002",displayRows:{row1:{name:"\u7B2C1\u884C",description:"\u683C\u5F0F\uFF1A{property|flags}\u3002\u5C5E\u6027\uFF1Atitle\u3001aliases\u3001file.path\u3001file.parent\u3002\u6807\u5FD7\uFF1An(Label)\u663E\u793A\u6807\u7B7E\uFF0Cs\u4F7F\u5176\u53EF\u641C\u7D22\u3002\u793A\u4F8B\uFF1A{title|n(Title)|s}",placeholder:"{title|n(\u6807\u9898)}"},row2:{name:"\u7B2C2\u884C\uFF08\u53EF\u9009\uFF09",description:"\u5E38\u89C1\u6A21\u5F0F\uFF1A{aliases|n(Aliases)}\u3001{file.parent|n(Folder)}\u3001literal:\u81EA\u5B9A\u4E49\u6587\u672C",placeholder:"{aliases|n(\u522B\u540D)}"},row3:{name:"\u7B2C3\u884C\uFF08\u53EF\u9009\uFF09",description:"\u5176\u4ED6\u4FE1\u606F\u5982{file.path|n(Path)}\u6216\u81EA\u5B9A\u4E49\u524D\u7F6E\u5B57\u6BB5",placeholder:"{file.path|n(\u8DEF\u5F84)}"}},quickReference:{header:"\u5FEB\u901F\u53C2\u8003",properties:"\u53EF\u7528\u5C5E\u6027\uFF1Atitle\u3001aliases\u3001file.path\u3001file.parent\u6216\u4EFB\u4F55\u524D\u7F6E\u5B57\u6BB5",labels:'\u6DFB\u52A0\u6807\u7B7E\uFF1A{title|n(Title)} \u2192 "Title: My Project"',searchable:"\u4F7F\u5176\u53EF\u641C\u7D22\uFF1A{description|s}\u5728+\u641C\u7D22\u4E2D\u5305\u542B\u63CF\u8FF0",staticText:"\u9759\u6001\u6587\u672C\uFF1Aliteral:My Custom Label",alwaysSearchable:"\u6587\u4EF6\u540D\u3001\u6807\u9898\u548C\u522B\u540D\u9ED8\u8BA4\u59CB\u7EC8\u53EF\u641C\u7D22\u3002"}},dataStorage:{name:"\u5B58\u50A8\u4F4D\u7F6E",description:"\u756A\u8304\u949F\u4F1A\u8BDD\u5386\u53F2\u7684\u5B58\u50A8\u4F4D\u7F6E",pluginData:"\u63D2\u4EF6\u6570\u636E\uFF08\u63A8\u8350\uFF09",dailyNotes:"\u65E5\u8BB0",notices:{locationChanged:"\u756A\u8304\u949F\u5B58\u50A8\u4F4D\u7F6E\u5DF2\u66F4\u6539\u4E3A{location}"}},notifications:{description:"\u914D\u7F6E\u4EFB\u52A1\u63D0\u9192\u901A\u77E5\u548C\u8B66\u62A5\u3002"},performance:{description:"\u914D\u7F6E\u63D2\u4EF6\u6027\u80FD\u548C\u884C\u4E3A\u9009\u9879\u3002"},timeTrackingSection:{description:"\u914D\u7F6E\u81EA\u52A8\u65F6\u95F4\u8DDF\u8E2A\u884C\u4E3A\u3002"},recurringSection:{description:"\u914D\u7F6E\u91CD\u590D\u4EFB\u52A1\u7BA1\u7406\u7684\u884C\u4E3A\u3002"}},integrations:{basesIntegration:{header:"Bases\u96C6\u6210",description:"\u914D\u7F6E\u4E0EObsidian Bases\u63D2\u4EF6\u7684\u96C6\u6210\u3002\u8FD9\u662F\u4E00\u4E2A\u5B9E\u9A8C\u6027\u529F\u80FD\uFF0C\u76EE\u524D\u4F9D\u8D56\u4E8E\u672A\u8BB0\u5F55\u7684Obsidian API\u3002\u884C\u4E3A\u53EF\u80FD\u4F1A\u6539\u53D8\u6216\u4E2D\u65AD\u3002",enable:{name:"\u542F\u7528Bases\u96C6\u6210",description:"\u542F\u7528TaskNotes\u89C6\u56FE\u5728Obsidian Bases\u63D2\u4EF6\u4E2D\u4F7F\u7528\u3002\u5FC5\u987B\u542F\u7528Bases\u63D2\u4EF6\u624D\u80FD\u5DE5\u4F5C\u3002"},viewCommands:{header:"\u89C6\u56FE\u4E0E Base \u6587\u4EF6",description:"TaskNotes \u4F7F\u7528 Obsidian Bases \u6587\u4EF6\uFF08.base\uFF09\u6765\u5448\u73B0\u89C6\u56FE\u3002\u8FD9\u4E9B\u6587\u4EF6\u5728\u542F\u52A8\u65F6\u81EA\u52A8\u751F\u6210\uFF08\u5982\u679C\u4E0D\u5B58\u5728\uFF09\uFF0C\u5E76\u4F7F\u7528\u60A8\u5F53\u524D\u7684\u8BBE\u7F6E\u8FDB\u884C\u914D\u7F6E\uFF08\u4EFB\u52A1\u8BC6\u522B\u3001\u5B57\u6BB5\u6620\u5C04\u3001\u72B6\u6001\u7B49\uFF09\u3002",descriptionRegen:"\u66F4\u6539\u8BBE\u7F6E\u65F6\uFF0CBase \u6587\u4EF6\u4E0D\u4F1A\u81EA\u52A8\u66F4\u65B0\u3002\u8981\u5E94\u7528\u65B0\u8BBE\u7F6E\uFF0C\u8BF7\u5220\u9664\u73B0\u6709\u7684 .base \u6587\u4EF6\u5E76\u91CD\u65B0\u542F\u52A8 Obsidian\uFF0C\u6216\u4F7F\u7528\u4E0B\u65B9\u7684\u300C\u521B\u5EFA\u6587\u4EF6\u300D\uFF0C\u6216\u624B\u52A8\u7F16\u8F91\u5B83\u4EEC\u3002",docsLink:"\u67E5\u770B\u53EF\u7528\u516C\u5F0F\u548C\u81EA\u5B9A\u4E49\u9009\u9879\u7684\u6587\u6863",docsLinkUrl:"https://tasknotes.dev/views/default-base-templates",commands:{miniCalendar:"\u6253\u5F00\u8FF7\u4F60\u65E5\u5386\u89C6\u56FE",kanban:"\u6253\u5F00\u770B\u677F\u89C6\u56FE",tasks:"\u6253\u5F00\u4EFB\u52A1\u89C6\u56FE",advancedCalendar:"\u6253\u5F00\u9AD8\u7EA7\u65E5\u5386\u89C6\u56FE",agenda:"\u6253\u5F00\u8BAE\u7A0B\u89C6\u56FE",relationships:"\u5173\u7CFB\u5C0F\u90E8\u4EF6"},fileLabel:"\u6587\u4EF6\uFF1A{path}",resetButton:"\u91CD\u7F6E",resetTooltip:"\u91CD\u7F6E\u4E3A\u9ED8\u8BA4\u8DEF\u5F84"},autoCreateDefaultFiles:{name:"\u81EA\u52A8\u521B\u5EFA\u9ED8\u8BA4\u6587\u4EF6",description:"\u542F\u52A8\u65F6\u81EA\u52A8\u521B\u5EFA\u7F3A\u5931\u7684\u9ED8\u8BA4 Base \u89C6\u56FE\u6587\u4EF6\u3002\u7981\u7528\u4EE5\u9632\u6B62\u5DF2\u5220\u9664\u7684\u793A\u4F8B\u6587\u4EF6\u88AB\u91CD\u65B0\u521B\u5EFA\u3002"},createDefaultFiles:{name:"\u521B\u5EFA\u9ED8\u8BA4\u6587\u4EF6",description:"\u5728 TaskNotes/Views/ \u76EE\u5F55\u4E2D\u521B\u5EFA\u9ED8\u8BA4\u7684 .base \u6587\u4EF6\u3002\u73B0\u6709\u6587\u4EF6\u4E0D\u4F1A\u88AB\u8986\u76D6\u3002",buttonText:"\u521B\u5EFA\u6587\u4EF6"},exportV3Views:{name:"\u5C06V3\u4FDD\u5B58\u7684\u89C6\u56FE\u5BFC\u51FA\u5230Bases",description:"\u5C06\u60A8\u6240\u6709\u6765\u81EA TaskNotes v3 \u7684\u4FDD\u5B58\u89C6\u56FE\u8F6C\u6362\u4E3A\u5305\u542B\u591A\u4E2A\u89C6\u56FE\u7684\u5355\u4E2A .base \u6587\u4EF6\u3002\u8FD9\u6709\u52A9\u4E8E\u5C06\u60A8\u7684 v3 \u8FC7\u6EE4\u5668\u914D\u7F6E\u8FC1\u79FB\u5230\u65B0\u7684 Bases \u7CFB\u7EDF\u3002",buttonText:"\u5BFC\u51FAV3\u89C6\u56FE",noViews:"\u6CA1\u6709\u4FDD\u5B58\u7684\u89C6\u56FE\u53EF\u5BFC\u51FA",fileExists:"\u6587\u4EF6\u5DF2\u5B58\u5728",confirmOverwrite:'\u540D\u4E3A"{fileName}"\u7684\u6587\u4EF6\u5DF2\u5B58\u5728\u3002\u662F\u5426\u8986\u76D6\uFF1F',success:"\u5DF2\u5C06 {count} \u4E2A\u4FDD\u5B58\u7684\u89C6\u56FE\u5BFC\u51FA\u5230 {filePath}",error:"\u5BFC\u51FA\u89C6\u56FE\u5931\u8D25\uFF1A{message}"},notices:{enabled:"Bases\u96C6\u6210\u5DF2\u542F\u7528\u3002\u8BF7\u91CD\u542FObsidian\u4EE5\u5B8C\u6210\u8BBE\u7F6E\u3002",disabled:"Bases\u96C6\u6210\u5DF2\u7981\u7528\u3002\u8BF7\u91CD\u542FObsidian\u4EE5\u5B8C\u6210\u79FB\u9664\u3002"}},calendarSubscriptions:{header:"\u65E5\u5386\u8BA2\u9605",description:"\u901A\u8FC7ICS/iCal URL\u8BA2\u9605\u5916\u90E8\u65E5\u5386\uFF0C\u4EE5\u67E5\u770B\u4E8B\u4EF6\u548C\u4EFB\u52A1\u3002",defaultNoteTemplate:{name:"\u9ED8\u8BA4\u7B14\u8BB0\u6A21\u677F",description:"\u4ECEICS\u4E8B\u4EF6\u521B\u5EFA\u7B14\u8BB0\u7684\u6A21\u677F\u6587\u4EF6\u8DEF\u5F84",placeholder:"\u6A21\u677F/\u4E8B\u4EF6\u6A21\u677F.md"},defaultNoteFolder:{name:"\u9ED8\u8BA4\u7B14\u8BB0\u6587\u4EF6\u5939",description:"\u4ECEICS\u4E8B\u4EF6\u521B\u5EFA\u7B14\u8BB0\u7684\u6587\u4EF6\u5939",placeholder:"\u65E5\u5386/\u4E8B\u4EF6"},filenameFormat:{name:"ICS\u7B14\u8BB0\u6587\u4EF6\u540D\u683C\u5F0F",description:"\u4ECEICS\u4E8B\u4EF6\u521B\u5EFA\u7B14\u8BB0\u7684\u6587\u4EF6\u540D\u751F\u6210\u65B9\u5F0F",options:{title:"\u4E8B\u4EF6\u6807\u9898",zettel:"Zettelkasten\u683C\u5F0F",timestamp:"\u65F6\u95F4\u6233",custom:"\u81EA\u5B9A\u4E49\u6A21\u677F"}},customTemplate:{name:"\u81EA\u5B9A\u4E49ICS\u6587\u4EF6\u540D\u6A21\u677F",description:"\u81EA\u5B9A\u4E49ICS\u4E8B\u4EF6\u6587\u4EF6\u540D\u7684\u6A21\u677F",placeholder:"{date}-{title}"},useICSEndAsDue:{name:"\u4F7F\u7528ICS\u4E8B\u4EF6\u7ED3\u675F\u65F6\u95F4\u4F5C\u4E3A\u4EFB\u52A1\u622A\u6B62\u65E5\u671F",description:"\u542F\u7528\u540E\uFF0C\u4ECE\u65E5\u5386\u4E8B\u4EF6\u521B\u5EFA\u7684\u4EFB\u52A1\u5C06\u628A\u622A\u6B62\u65E5\u671F\u8BBE\u7F6E\u4E3A\u4E8B\u4EF6\u7684\u7ED3\u675F\u65F6\u95F4\u3002\u5BF9\u4E8E\u5168\u5929\u4E8B\u4EF6\uFF0C\u622A\u6B62\u65E5\u671F\u5C06\u8BBE\u7F6E\u4E3A\u4E8B\u4EF6\u65E5\u671F\u3002\u5BF9\u4E8E\u6709\u65F6\u95F4\u7684\u4E8B\u4EF6\uFF0C\u622A\u6B62\u65E5\u671F\u5C06\u5305\u542B\u7ED3\u675F\u65F6\u95F4\u3002"}},subscriptionsList:{header:"\u65E5\u5386\u8BA2\u9605\u5217\u8868",addSubscription:{name:"\u6DFB\u52A0\u65E5\u5386\u8BA2\u9605",description:"\u4ECEICS/iCal URL\u6216\u672C\u5730\u6587\u4EF6\u6DFB\u52A0\u65B0\u7684\u65E5\u5386\u8BA2\u9605",buttonText:"\u6DFB\u52A0\u8BA2\u9605"},refreshAll:{name:"\u5237\u65B0\u6240\u6709\u8BA2\u9605",description:"\u624B\u52A8\u5237\u65B0\u6240\u6709\u542F\u7528\u7684\u65E5\u5386\u8BA2\u9605",buttonText:"\u5237\u65B0\u5168\u90E8"},newCalendarName:"\u65B0\u65E5\u5386",emptyState:"\u672A\u914D\u7F6E\u65E5\u5386\u8BA2\u9605\u3002\u6DFB\u52A0\u8BA2\u9605\u4EE5\u540C\u6B65\u5916\u90E8\u65E5\u5386\u3002",notices:{addSuccess:"\u65B0\u65E5\u5386\u8BA2\u9605\u5DF2\u6DFB\u52A0 - \u8BF7\u914D\u7F6E\u8BE6\u7EC6\u4FE1\u606F",addFailure:"\u6DFB\u52A0\u8BA2\u9605\u5931\u8D25",serviceUnavailable:"ICS\u8BA2\u9605\u670D\u52A1\u4E0D\u53EF\u7528",refreshSuccess:"\u6240\u6709\u65E5\u5386\u8BA2\u9605\u5237\u65B0\u6210\u529F",refreshFailure:"\u5237\u65B0\u67D0\u4E9B\u65E5\u5386\u8BA2\u9605\u5931\u8D25",updateFailure:"\u66F4\u65B0\u8BA2\u9605\u5931\u8D25",deleteSuccess:'\u5220\u9664\u8BA2\u9605"{name}"',deleteFailure:"\u5220\u9664\u8BA2\u9605\u5931\u8D25",enableFirst:"\u8BF7\u5148\u542F\u7528\u8BA2\u9605",refreshSubscriptionSuccess:'\u5237\u65B0"{name}"',refreshSubscriptionFailure:"\u5237\u65B0\u8BA2\u9605\u5931\u8D25"},labels:{enabled:"\u5DF2\u542F\u7528\uFF1A",name:"\u540D\u79F0\uFF1A",type:"\u7C7B\u578B\uFF1A",url:"URL\uFF1A",filePath:"\u6587\u4EF6\u8DEF\u5F84\uFF1A",color:"\u989C\u8272\uFF1A",refreshMinutes:"\u5237\u65B0\uFF08\u5206\u949F\uFF09\uFF1A"},typeOptions:{remote:"\u8FDC\u7A0BURL",local:"\u672C\u5730\u6587\u4EF6"},placeholders:{calendarName:"\u65E5\u5386\u540D\u79F0",url:"ICS/iCal \u5730\u5740",filePath:"\u672C\u5730\u6587\u4EF6\u8DEF\u5F84\uFF08\u4F8B\u5982\uFF0CCalendar.ics\uFF09",localFile:"\u65E5\u5386.ics"},statusLabels:{enabled:"\u5DF2\u542F\u7528",disabled:"\u5DF2\u7981\u7528",remote:"\u8FDC\u7A0B",localFile:"\u672C\u5730\u6587\u4EF6",remoteCalendar:"\u8FDC\u7A0B\u65E5\u5386",localFileCalendar:"\u672C\u5730\u6587\u4EF6",synced:"{timeAgo}\u5DF2\u540C\u6B65",error:"\u9519\u8BEF"},actions:{refreshNow:"\u7ACB\u5373\u5237\u65B0",deleteSubscription:"\u5220\u9664\u8BA2\u9605"},refreshNow:"\u7ACB\u5373\u5237\u65B0",confirmDelete:{title:"\u5220\u9664\u8BA2\u9605",message:'\u60A8\u786E\u5B9A\u8981\u5220\u9664\u8BA2\u9605"{name}"\u5417\uFF1F\u6B64\u64CD\u4F5C\u65E0\u6CD5\u64A4\u9500\u3002',confirmText:"\u5220\u9664"}},autoExport:{header:"\u81EA\u52A8ICS\u5BFC\u51FA",description:"\u81EA\u52A8\u5C06\u6240\u6709\u4EFB\u52A1\u5BFC\u51FA\u5230ICS\u6587\u4EF6\u3002",enable:{name:"\u542F\u7528\u81EA\u52A8\u5BFC\u51FA",description:"\u81EA\u52A8\u4FDD\u6301ICS\u6587\u4EF6\u4E0E\u6240\u6709\u4EFB\u52A1\u66F4\u65B0"},filePath:{name:"\u5BFC\u51FA\u6587\u4EF6\u8DEF\u5F84",description:"ICS\u6587\u4EF6\u4FDD\u5B58\u7684\u8DEF\u5F84\uFF08\u76F8\u5BF9\u4E8E\u5E93\u6839\u76EE\u5F55\uFF09",placeholder:"tasknotes-\u65E5\u5386.ics"},interval:{name:"\u66F4\u65B0\u95F4\u9694\uFF085\u52301440\u5206\u949F\u4E4B\u95F4\uFF09",description:"\u66F4\u65B0\u5BFC\u51FA\u6587\u4EF6\u7684\u9891\u7387",placeholder:"60"},useDuration:{name:"\u4F7F\u7528\u4EFB\u52A1\u6301\u7EED\u65F6\u95F4\u4F5C\u4E3A\u4E8B\u4EF6\u957F\u5EA6",description:"\u542F\u7528\u540E\uFF0C\u4F7F\u7528\u4EFB\u52A1\u7684\u65F6\u95F4\u4F30\u8BA1\uFF08\u6301\u7EED\u65F6\u95F4\uFF09\u800C\u4E0D\u662F\u622A\u6B62\u65E5\u671F\u4F5C\u4E3A\u65E5\u5386\u4E8B\u4EF6\u7684\u7ED3\u675F\u65F6\u95F4\u3002\u8FD9\u5BF9\u4E8EGTD\u5DE5\u4F5C\u6D41\u7A0B\u5F88\u6709\u7528\uFF0C\u5176\u4E2D\u8BA1\u5212 + \u6301\u7EED\u65F6\u95F4\u4EE3\u8868\u5DE5\u4F5C\u89C4\u5212\uFF0C\u800C\u622A\u6B62\u65E5\u671F\u4EE3\u8868\u6700\u540E\u671F\u9650\u3002"},exportNow:{name:"\u7ACB\u5373\u5BFC\u51FA",description:"\u624B\u52A8\u89E6\u53D1\u7ACB\u5373\u5BFC\u51FA",buttonText:"\u7ACB\u5373\u5BFC\u51FA"},status:{title:"\u5BFC\u51FA\u72B6\u6001\uFF1A",lastExport:"\u4E0A\u6B21\u5BFC\u51FA\uFF1A{time}",nextExport:"\u4E0B\u6B21\u5BFC\u51FA\uFF1A{time}",noExports:"\u5C1A\u672A\u5BFC\u51FA",notScheduled:"\u672A\u8BA1\u5212",notInitialized:"\u81EA\u52A8\u5BFC\u51FA\u670D\u52A1\u672A\u521D\u59CB\u5316 - \u8BF7\u91CD\u542FObsidian",serviceNotInitialized:"\u670D\u52A1\u672A\u521D\u59CB\u5316 - \u8BF7\u91CD\u542F Obsidian"},notices:{reloadRequired:"\u8BF7\u91CD\u65B0\u52A0\u8F7DObsidian\u4EE5\u4F7F\u81EA\u52A8\u5BFC\u51FA\u66F4\u6539\u751F\u6548\u3002",exportSuccess:"\u4EFB\u52A1\u5BFC\u51FA\u6210\u529F",exportFailure:"\u5BFC\u51FA\u5931\u8D25 - \u68C0\u67E5\u63A7\u5236\u53F0\u83B7\u53D6\u8BE6\u7EC6\u4FE1\u606F",serviceUnavailable:"\u81EA\u52A8\u5BFC\u51FA\u670D\u52A1\u4E0D\u53EF\u7528"}},googleCalendarExport:{header:"\u5C06\u4EFB\u52A1\u5BFC\u51FA\u5230Google\u65E5\u5386",description:"\u81EA\u52A8\u5C06\u60A8\u7684\u4EFB\u52A1\u540C\u6B65\u5230Google\u65E5\u5386\u4F5C\u4E3A\u4E8B\u4EF6\u3002\u9700\u8981\u5728\u4E0A\u65B9\u8FDE\u63A5Google\u65E5\u5386\u3002",enable:{name:"\u542F\u7528\u4EFB\u52A1\u5BFC\u51FA",description:"\u542F\u7528\u540E\uFF0C\u5E26\u6709\u65E5\u671F\u7684\u4EFB\u52A1\u5C06\u81EA\u52A8\u540C\u6B65\u5230Google\u65E5\u5386\u4F5C\u4E3A\u4E8B\u4EF6\u3002"},targetCalendar:{name:"\u76EE\u6807\u65E5\u5386",description:"\u9009\u62E9\u8981\u521B\u5EFA\u4EFB\u52A1\u4E8B\u4EF6\u7684\u65E5\u5386\u3002",placeholder:"\u9009\u62E9\u65E5\u5386...",connectFirst:"\u8BF7\u5148\u8FDE\u63A5Google\u65E5\u5386",primarySuffix:"\uFF08\u4E3B\u8981\uFF09"},syncTrigger:{name:"\u540C\u6B65\u89E6\u53D1\u5668",description:"\u54EA\u4E2A\u4EFB\u52A1\u65E5\u671F\u5E94\u89E6\u53D1\u65E5\u5386\u4E8B\u4EF6\u521B\u5EFA\u3002",options:{scheduled:"\u8BA1\u5212\u65E5\u671F",due:"\u622A\u6B62\u65E5\u671F",both:"\u4E24\u8005\uFF08\u4F18\u5148\u8BA1\u5212\u65E5\u671F\uFF09"}},allDayEvents:{name:"\u521B\u5EFA\u4E3A\u5168\u5929\u4E8B\u4EF6",description:"\u542F\u7528\u540E\uFF0C\u4EFB\u52A1\u5C06\u521B\u5EFA\u4E3A\u5168\u5929\u4E8B\u4EF6\u3002\u7981\u7528\u540E\uFF0C\u4F7F\u7528\u65F6\u95F4\u4F30\u8BA1\u4F5C\u4E3A\u6301\u7EED\u65F6\u95F4\u3002"},defaultDuration:{name:"\u9ED8\u8BA4\u4E8B\u4EF6\u6301\u7EED\u65F6\u95F4",description:"\u5E26\u65F6\u95F4\u7684\u4E8B\u4EF6\u6301\u7EED\u65F6\u95F4\uFF08\u5206\u949F\uFF09\uFF08\u5F53\u4EFB\u52A1\u6CA1\u6709\u65F6\u95F4\u4F30\u8BA1\u65F6\u4F7F\u7528\uFF09\u3002"},eventTitleTemplate:{name:"\u4E8B\u4EF6\u6807\u9898\u6A21\u677F",description:"\u4E8B\u4EF6\u6807\u9898\u6A21\u677F\u3002\u53EF\u7528\u53D8\u91CF\uFF1A{{title}}\u3001{{status}}\u3001{{priority}}",placeholder:"{{title}}"},includeDescription:{name:"\u5728\u63CF\u8FF0\u4E2D\u5305\u542B\u4EFB\u52A1\u8BE6\u60C5",description:"\u5C06\u4EFB\u52A1\u5143\u6570\u636E\uFF08\u4F18\u5148\u7EA7\u3001\u72B6\u6001\u3001\u6807\u7B7E\u7B49\uFF09\u6DFB\u52A0\u5230\u4E8B\u4EF6\u63CF\u8FF0\u4E2D\u3002"},includeObsidianLink:{name:"\u5305\u542BObsidian\u94FE\u63A5",description:"\u5728\u4E8B\u4EF6\u63CF\u8FF0\u4E2D\u6DFB\u52A0\u8FD4\u56DEObsidian\u4E2D\u4EFB\u52A1\u7684\u94FE\u63A5\u3002"},defaultReminder:{name:"\u9ED8\u8BA4\u63D0\u9192",description:"\u4E3AGoogle\u65E5\u5386\u4E8B\u4EF6\u6DFB\u52A0\u5F39\u51FA\u63D0\u9192\u3002\u8BBE\u7F6E\u4E8B\u4EF6\u524D\u7684\u5206\u949F\u6570\uFF080 = \u65E0\u63D0\u9192\uFF09\u3002\u5E38\u7528\u503C\uFF1A15\u300130\u300160\u30011440\uFF081\u5929\uFF09\u3002"},automaticSyncBehavior:{header:"\u81EA\u52A8\u540C\u6B65\u884C\u4E3A"},syncOnCreate:{name:"\u521B\u5EFA\u4EFB\u52A1\u65F6\u540C\u6B65",description:"\u521B\u5EFA\u65B0\u4EFB\u52A1\u65F6\u81EA\u52A8\u521B\u5EFA\u65E5\u5386\u4E8B\u4EF6\u3002"},syncOnUpdate:{name:"\u66F4\u65B0\u4EFB\u52A1\u65F6\u540C\u6B65",description:"\u4FEE\u6539\u4EFB\u52A1\u65F6\u81EA\u52A8\u66F4\u65B0\u65E5\u5386\u4E8B\u4EF6\u3002"},syncOnComplete:{name:"\u5B8C\u6210\u4EFB\u52A1\u65F6\u540C\u6B65",description:"\u4EFB\u52A1\u5B8C\u6210\u65F6\u66F4\u65B0\u65E5\u5386\u4E8B\u4EF6\uFF08\u5728\u6807\u9898\u4E2D\u6DFB\u52A0\u52FE\u9009\u6807\u8BB0\uFF09\u3002"},syncOnDelete:{name:"\u5220\u9664\u4EFB\u52A1\u65F6\u5220\u9664\u4E8B\u4EF6",description:"\u5220\u9664\u76F8\u5E94\u4EFB\u52A1\u65F6\u5220\u9664\u65E5\u5386\u4E8B\u4EF6\u3002"},manualSyncActions:{header:"\u624B\u52A8\u540C\u6B65\u64CD\u4F5C"},syncAllTasks:{name:"\u540C\u6B65\u6240\u6709\u4EFB\u52A1",description:"\u5C06\u6240\u6709\u73B0\u6709\u4EFB\u52A1\u540C\u6B65\u5230Google\u65E5\u5386\u3002\u8FD9\u5C06\u4E3A\u5C1A\u672A\u540C\u6B65\u7684\u4EFB\u52A1\u521B\u5EFA\u4E8B\u4EF6\u3002",buttonText:"\u5168\u90E8\u540C\u6B65"},unlinkAllTasks:{name:"\u53D6\u6D88\u5173\u8054\u6240\u6709\u4EFB\u52A1",description:"\u5220\u9664\u6240\u6709\u4EFB\u52A1-\u4E8B\u4EF6\u5173\u8054\u800C\u4E0D\u5220\u9664\u65E5\u5386\u4E8B\u4EF6\u3002",buttonText:"\u5168\u90E8\u53D6\u6D88\u5173\u8054",confirmTitle:"\u53D6\u6D88\u5173\u8054\u6240\u6709\u4EFB\u52A1",confirmMessage:"\u8FD9\u5C06\u5220\u9664\u4EFB\u52A1\u548C\u65E5\u5386\u4E8B\u4EF6\u4E4B\u95F4\u7684\u6240\u6709\u5173\u8054\u3002\u65E5\u5386\u4E8B\u4EF6\u5C06\u4FDD\u7559\uFF0C\u4F46\u4EFB\u52A1\u66F4\u6539\u65F6\u4E0D\u518D\u66F4\u65B0\u3002\u786E\u5B9A\u5417\uFF1F",confirmButtonText:"\u5168\u90E8\u53D6\u6D88\u5173\u8054"},notices:{notEnabled:"Google\u65E5\u5386\u5BFC\u51FA\u672A\u542F\u7528\u3002\u8BF7\u5728\u8BBE\u7F6E > \u96C6\u6210\u4E2D\u914D\u7F6E\u3002",notEnabledOrConfigured:"Google\u65E5\u5386\u5BFC\u51FA\u672A\u542F\u7528\u6216\u672A\u914D\u7F6E",serviceNotAvailable:"\u4EFB\u52A1\u65E5\u5386\u540C\u6B65\u670D\u52A1\u4E0D\u53EF\u7528",syncResults:"\u5DF2\u540C\u6B65\uFF1A{synced}\uFF0C\u5931\u8D25\uFF1A{failed}\uFF0C\u8DF3\u8FC7\uFF1A{skipped}",taskSynced:"\u4EFB\u52A1\u5DF2\u540C\u6B65\u5230Google\u65E5\u5386",noActiveFile:"\u5F53\u524D\u6CA1\u6709\u6D3B\u52A8\u6587\u4EF6",notATask:"\u5F53\u524D\u6587\u4EF6\u4E0D\u662F\u4EFB\u52A1",noDateToSync:"\u4EFB\u52A1\u6CA1\u6709\u53EF\u540C\u6B65\u7684\u8BA1\u5212\u65E5\u671F\u6216\u622A\u6B62\u65E5\u671F",syncFailed:"\u540C\u6B65\u4EFB\u52A1\u5230Google\u65E5\u5386\u5931\u8D25\uFF1A{message}",connectionExpired:"Google \u65E5\u5386\u8FDE\u63A5\u5DF2\u8FC7\u671F\u3002\u8BF7\u5728\u201C\u8BBE\u7F6E > \u96C6\u6210\u201D\u4E2D\u91CD\u65B0\u8FDE\u63A5\u3002",syncingTasks:"\u6B63\u5728\u540C\u6B65{total}\u4E2A\u4EFB\u52A1\u5230Google\u65E5\u5386...",syncComplete:"\u540C\u6B65\u5B8C\u6210\uFF1A{synced}\u4E2A\u5DF2\u540C\u6B65\uFF0C{failed}\u4E2A\u5931\u8D25\uFF0C{skipped}\u4E2A\u8DF3\u8FC7",eventsDeletedAndUnlinked:"\u6240\u6709\u4E8B\u4EF6\u5DF2\u5220\u9664\u5E76\u53D6\u6D88\u5173\u8054",tasksUnlinked:"\u6240\u6709\u4EFB\u52A1\u5173\u8054\u5DF2\u5220\u9664"},eventDescription:{untitledTask:"\u65E0\u6807\u9898\u4EFB\u52A1",priority:"\u4F18\u5148\u7EA7\uFF1A{value}",status:"\u72B6\u6001\uFF1A{value}",due:"\u622A\u6B62\uFF1A{value}",scheduled:"\u8BA1\u5212\uFF1A{value}",timeEstimate:"\u65F6\u95F4\u4F30\u8BA1\uFF1A{value}",tags:"\u6807\u7B7E\uFF1A{value}",contexts:"\u4E0A\u4E0B\u6587\uFF1A{value}",projects:"\u9879\u76EE\uFF1A{value}",openInObsidian:"\u5728Obsidian\u4E2D\u6253\u5F00"}},httpApi:{header:"HTTP API",description:"\u542F\u7528HTTP API\u8FDB\u884C\u5916\u90E8\u96C6\u6210\u548C\u81EA\u52A8\u5316\u3002",enable:{name:"\u542F\u7528HTTP API",description:"\u542F\u52A8\u672C\u5730HTTP\u670D\u52A1\u5668\u8FDB\u884CAPI\u8BBF\u95EE"},port:{name:"API\u7AEF\u53E3",description:"HTTP API\u670D\u52A1\u5668\u7684\u7AEF\u53E3\u53F7",placeholder:"3000"},authToken:{name:"API\u8BA4\u8BC1\u4EE4\u724C",description:"API\u8BA4\u8BC1\u6240\u9700\u7684\u4EE4\u724C\uFF08\u7559\u7A7A\u8868\u793A\u65E0\u8BA4\u8BC1\uFF09",placeholder:"\u4F60\u7684\u79D8\u5BC6\u4EE4\u724C"},mcp:{enable:{name:"\u542F\u7528 MCP \u670D\u52A1\u5668",description:"\u901A\u8FC7 /mcp \u7AEF\u70B9\u4F7F\u7528 Model Context Protocol \u66B4\u9732 TaskNotes \u5DE5\u5177\u3002\u9700\u8981\u542F\u7528 HTTP API\u3002"}},endpoints:{header:"\u53EF\u7528API\u7AEF\u70B9",expandIcon:"\u25B6",collapseIcon:"\u25BC"}},webhooks:{header:"Webhooks",description:{overview:"Webhooks\u5728TaskNotes\u4E8B\u4EF6\u53D1\u751F\u65F6\u5411\u5916\u90E8\u670D\u52A1\u53D1\u9001\u5B9E\u65F6\u901A\u77E5\u3002",usage:"\u914D\u7F6Ewebhooks\u4EE5\u4E0E\u81EA\u52A8\u5316\u5DE5\u5177\u3001\u540C\u6B65\u670D\u52A1\u6216\u81EA\u5B9A\u4E49\u5E94\u7528\u7A0B\u5E8F\u96C6\u6210\u3002"},addWebhook:{name:"\u6DFB\u52A0Webhook",description:"\u6CE8\u518C\u65B0\u7684webhook\u7AEF\u70B9",buttonText:"\u6DFB\u52A0Webhook"},emptyState:{message:"\u672A\u914D\u7F6Ewebhooks\u3002\u6DFB\u52A0webhook\u4EE5\u63A5\u6536\u5B9E\u65F6\u901A\u77E5\u3002",buttonText:"\u6DFB\u52A0Webhook"},labels:{active:"\u6D3B\u52A8\uFF1A",url:"URL\uFF1A",events:"\u4E8B\u4EF6\uFF1A",transform:"\u8F6C\u6362\uFF1A"},placeholders:{url:"Webhook \u5730\u5740",noEventsSelected:"\u672A\u9009\u62E9\u4E8B\u4EF6",rawPayload:"\u539F\u59CB\u8F7D\u8377\uFF08\u65E0\u8F6C\u6362\uFF09"},statusLabels:{active:"\u6D3B\u52A8",inactive:"\u975E\u6D3B\u52A8",created:"\u521B\u5EFA\u4E8E{timeAgo}"},actions:{editEvents:"\u7F16\u8F91\u4E8B\u4EF6",delete:"\u5220\u9664"},editEvents:"\u7F16\u8F91\u4E8B\u4EF6",notices:{urlUpdated:"Webhook URL\u5DF2\u66F4\u65B0",enabled:"Webhook\u5DF2\u542F\u7528",disabled:"Webhook\u5DF2\u7981\u7528",created:"Webhook\u521B\u5EFA\u6210\u529F",deleted:"Webhook\u5DF2\u5220\u9664",updated:"Webhook\u5DF2\u66F4\u65B0"},confirmDelete:{title:"\u5220\u9664Webhook",message:`\u60A8\u786E\u5B9A\u8981\u5220\u9664\u6B64webhook\u5417\uFF1F
URL\uFF1A{url}
\u6B64\u64CD\u4F5C\u65E0\u6CD5\u64A4\u9500\u3002`,confirmText:"\u5220\u9664"},cardHeader:"Webhook",cardFields:{active:"\u6D3B\u52A8\uFF1A",url:"URL\uFF1A",events:"\u4E8B\u4EF6\uFF1A",transform:"\u8F6C\u6362\uFF1A"},eventsDisplay:{noEvents:"\u672A\u9009\u62E9\u4E8B\u4EF6"},transformDisplay:{noTransform:"\u539F\u59CB\u8F7D\u8377\uFF08\u65E0\u8F6C\u6362\uFF09"},secretModal:{title:"Webhook\u5BC6\u94A5\u5DF2\u751F\u6210",description:"\u60A8\u7684webhook\u5BC6\u94A5\u5DF2\u751F\u6210\u3002\u4FDD\u5B58\u6B64\u5BC6\u94A5\uFF0C\u56E0\u4E3A\u60A8\u65E0\u6CD5\u518D\u6B21\u67E5\u770B\u5B83\uFF1A",usage:"\u4F7F\u7528\u6B64\u5BC6\u94A5\u5728\u60A8\u7684\u63A5\u6536\u5E94\u7528\u7A0B\u5E8F\u4E2D\u9A8C\u8BC1webhook\u8F7D\u8377\u3002",gotIt:"\u77E5\u9053\u4E86"},editModal:{title:"\u7F16\u8F91Webhook",eventsHeader:"\u8981\u8BA2\u9605\u7684\u4E8B\u4EF6"},events:{taskCreated:{label:"\u4EFB\u52A1\u5DF2\u521B\u5EFA",description:"\u521B\u5EFA\u65B0\u4EFB\u52A1\u65F6"},taskUpdated:{label:"\u4EFB\u52A1\u5DF2\u66F4\u65B0",description:"\u4FEE\u6539\u4EFB\u52A1\u65F6"},taskCompleted:{label:"\u4EFB\u52A1\u5DF2\u5B8C\u6210",description:"\u6807\u8BB0\u4EFB\u52A1\u4E3A\u5B8C\u6210\u65F6"},taskDeleted:{label:"\u4EFB\u52A1\u5DF2\u5220\u9664",description:"\u5220\u9664\u4EFB\u52A1\u65F6"},taskArchived:{label:"\u4EFB\u52A1\u5DF2\u5F52\u6863",description:"\u5F52\u6863\u4EFB\u52A1\u65F6"},taskUnarchived:{label:"\u4EFB\u52A1\u5DF2\u53D6\u6D88\u5F52\u6863",description:"\u53D6\u6D88\u5F52\u6863\u4EFB\u52A1\u65F6"},timeStarted:{label:"\u65F6\u95F4\u5DF2\u5F00\u59CB",description:"\u5F00\u59CB\u65F6\u95F4\u8DDF\u8E2A\u65F6"},timeStopped:{label:"\u65F6\u95F4\u5DF2\u505C\u6B62",description:"\u505C\u6B62\u65F6\u95F4\u8DDF\u8E2A\u65F6"},pomodoroStarted:{label:"\u756A\u8304\u949F\u5DF2\u5F00\u59CB",description:"\u756A\u8304\u949F\u4F1A\u8BDD\u5F00\u59CB\u65F6"},pomodoroCompleted:{label:"\u756A\u8304\u949F\u5DF2\u5B8C\u6210",description:"\u756A\u8304\u949F\u4F1A\u8BDD\u5B8C\u6210\u65F6"},pomodoroInterrupted:{label:"\u756A\u8304\u949F\u5DF2\u4E2D\u65AD",description:"\u756A\u8304\u949F\u4F1A\u8BDD\u505C\u6B62\u65F6"},recurringCompleted:{label:"\u91CD\u590D\u5B9E\u4F8B\u5DF2\u5B8C\u6210",description:"\u91CD\u590D\u4EFB\u52A1\u5B9E\u4F8B\u5B8C\u6210\u65F6"},reminderTriggered:{label:"\u63D0\u9192\u5DF2\u89E6\u53D1",description:"\u4EFB\u52A1\u63D0\u9192\u6FC0\u6D3B\u65F6"}},modals:{secretGenerated:{title:"Webhook\u5BC6\u94A5\u5DF2\u751F\u6210",description:"\u60A8\u7684webhook\u5BC6\u94A5\u5DF2\u751F\u6210\u3002\u4FDD\u5B58\u6B64\u5BC6\u94A5\uFF0C\u56E0\u4E3A\u60A8\u65E0\u6CD5\u518D\u6B21\u67E5\u770B\u5B83\uFF1A",usage:"\u4F7F\u7528\u6B64\u5BC6\u94A5\u5728\u60A8\u7684\u63A5\u6536\u5E94\u7528\u7A0B\u5E8F\u4E2D\u9A8C\u8BC1webhook\u8F7D\u8377\u3002",buttonText:"\u77E5\u9053\u4E86"},edit:{title:"\u7F16\u8F91Webhook",eventsSection:"\u8981\u8BA2\u9605\u7684\u4E8B\u4EF6",transformSection:"\u8F6C\u6362\u914D\u7F6E\uFF08\u53EF\u9009\uFF09",headersSection:"\u6807\u5934\u914D\u7F6E",transformFile:{name:"\u8F6C\u6362\u6587\u4EF6",description:"\u5E93\u4E2D\u8F6C\u6362webhook\u8F7D\u8377\u7684.json\u6A21\u677F\u6587\u4EF6\u8DEF\u5F84",placeholder:"simple-template.json"},customHeaders:{name:"\u5305\u542B\u81EA\u5B9A\u4E49\u6807\u5934",description:"\u5305\u542BTaskNotes\u6807\u5934\uFF08\u4E8B\u4EF6\u7C7B\u578B\u3001\u7B7E\u540D\u3001\u4EA4\u4ED8ID\uFF09\u3002\u5BF9\u4E8EDiscord\u3001Slack\u548C\u5176\u4ED6\u5177\u6709\u4E25\u683CCORS\u7B56\u7565\u7684\u670D\u52A1\uFF0C\u8BF7\u5173\u95ED\u3002"},buttons:{cancel:"\u53D6\u6D88",save:"\u4FDD\u5B58\u66F4\u6539"},notices:{selectAtLeastOneEvent:"\u8BF7\u81F3\u5C11\u9009\u62E9\u4E00\u4E2A\u4E8B\u4EF6"}},add:{title:"\u6DFB\u52A0Webhook",eventsSection:"\u8981\u8BA2\u9605\u7684\u4E8B\u4EF6",transformSection:"\u8F6C\u6362\u914D\u7F6E\uFF08\u53EF\u9009\uFF09",headersSection:"\u6807\u5934\u914D\u7F6E",url:{name:"Webhook \u5730\u5740",description:"\u5C06\u53D1\u9001webhook\u8F7D\u8377\u7684\u7AEF\u70B9",placeholder:"https://your-service.com/webhook"},transformFile:{name:"\u8F6C\u6362\u6587\u4EF6",description:"\u5E93\u4E2D\u8F6C\u6362webhook\u8F7D\u8377\u7684.json\u6A21\u677F\u6587\u4EF6\u8DEF\u5F84",placeholder:"simple-template.json"},customHeaders:{name:"\u5305\u542B\u81EA\u5B9A\u4E49\u6807\u5934",description:"\u5305\u542BTaskNotes\u6807\u5934\uFF08\u4E8B\u4EF6\u7C7B\u578B\u3001\u7B7E\u540D\u3001\u4EA4\u4ED8ID\uFF09\u3002\u5BF9\u4E8EDiscord\u3001Slack\u548C\u5176\u4ED6\u5177\u6709\u4E25\u683CCORS\u7B56\u7565\u7684\u670D\u52A1\uFF0C\u8BF7\u5173\u95ED\u3002"},transformHelp:{title:"JSON\u8F6C\u6362\u6A21\u677F\u5141\u8BB8\u60A8\u81EA\u5B9A\u4E49webhook\u8F7D\u8377\uFF1A",jsFiles:"",jsDescription:"",jsonFiles:".json\u6587\u4EF6\uFF1A",jsonDescription:" \u4F7F\u7528\u6A21\u677F",jsonVariable:"${data.task.title}",leaveEmpty:"\u7559\u7A7A\uFF1A",leaveEmptyDescription:" \u53D1\u9001\u539F\u59CB\u6570\u636E",example:"\u793A\u4F8B\uFF1A",exampleFile:"simple-template.json"},buttons:{cancel:"\u53D6\u6D88",add:"\u6DFB\u52A0Webhook"},notices:{urlRequired:"\u9700\u8981Webhook URL",selectAtLeastOneEvent:"\u8BF7\u81F3\u5C11\u9009\u62E9\u4E00\u4E2A\u4E8B\u4EF6"}}}},otherIntegrations:{header:"\u5176\u4ED6\u63D2\u4EF6\u96C6\u6210",description:"\u914D\u7F6E\u4E0E\u5176\u4ED6Obsidian\u63D2\u4EF6\u7684\u96C6\u6210\u3002"},mdbaseSpec:{header:"mdbase\u7C7B\u578B\u5B9A\u4E49",learnMore:"\u4E86\u89E3\u66F4\u591A\u5173\u4E8E mdbase-spec \u7684\u4FE1\u606F",enable:{name:"\u751F\u6210 mdbase \u7C7B\u578B\u5B9A\u4E49",description:"\u968F\u7740\u8BBE\u7F6E\u53D8\u5316\uFF0C\u5728\u5E93\u6839\u76EE\u5F55\u751F\u6210\u5E76\u7EF4\u62A4 mdbase \u7C7B\u578B\u6587\u4EF6\uFF08mdbase.yaml \u548C _types/task.md\uFF09\u3002"}},timeFormats:{justNow:"\u521A\u521A",minutesAgo:"{minutes}\u5206\u949F{plural}\u524D",hoursAgo:"{hours}\u5C0F\u65F6{plural}\u524D",daysAgo:"{days}\u5929{plural}\u524D"}}},notices:{languageChanged:"\u8BED\u8A00\u5DF2\u66F4\u6539\u4E3A{language}\u3002",exportTasksFailed:"\u5BFC\u51FA\u4EFB\u52A1\u4E3AICS\u6587\u4EF6\u5931\u8D25",icsNoteCreatedSuccess:"\u7B14\u8BB0\u6210\u529F\u521B\u5EFA",icsCreationModalOpenFailed:"\u6253\u5F00\u521B\u5EFA\u6A21\u5F0F\u5931\u8D25",icsNoteLinkSuccess:'\u5173\u8054\u7684\u7B14\u8BB0 "{fileName}" to ICS event',icsTaskCreatedSuccess:"\u4EFB\u52A1\u5DF2\u521B\u5EFA\uFF1A{title}",icsRelatedItemsRefreshed:"\u76F8\u5173\u7B14\u8BB0\u5DF2\u5237\u65B0",icsFileNotFound:"\u6587\u4EF6\u672A\u627E\u5230\u6216\u65E0\u6548",icsFileOpenFailed:"\u6253\u5F00\u6587\u4EF6\u5931\u8D25",timeblockAttachmentExists:'"{fileName}" is already attached',timeblockAttachmentAdded:'\u5DF2\u6DFB\u52A0 "{fileName}" as attachment',timeblockAttachmentRemoved:'\u5DF2\u5220\u9664 "{fileName}" from attachments',timeblockFileTypeNotSupported:'\u65E0\u6CD5\u6253\u5F00 "{fileName}" - file type not supported',timeblockTitleRequired:"\u8BF7\u4E3A\u65F6\u95F4\u5757\u8F93\u5165\u6807\u9898",timeblockUpdatedSuccess:'\u65F6\u95F4\u5757 "{title}" updated successfully',timeblockUpdateFailed:"\u66F4\u65B0\u65F6\u95F4\u5757\u5931\u8D25\u3002\u68C0\u67E5\u63A7\u5236\u53F0\u4E86\u89E3\u8BE6\u60C5\u3002",timeblockDeletedSuccess:'\u65F6\u95F4\u5757 "{title}" deleted successfully',timeblockDeleteFailed:"\u5220\u9664\u65F6\u95F4\u5757\u5931\u8D25\u3002\u68C0\u67E5\u63A7\u5236\u53F0\u4E86\u89E3\u8BE6\u60C5\u3002",timeblockRequiredFieldsMissing:"\u8BF7\u586B\u5199\u6240\u6709\u5FC5\u586B\u5B57\u6BB5",agendaLoadingFailed:"\u52A0\u8F7D\u8BAE\u7A0B\u65F6\u51FA\u9519\u3002\u8BF7\u5C1D\u8BD5\u5237\u65B0\u3002",statsLoadingFailed:"\u52A0\u8F7D\u9879\u76EE\u8BE6\u60C5\u65F6\u51FA\u9519\u3002"},commands:{openCalendarView:"\u6253\u5F00\u8FF7\u4F60\u65E5\u5386\u89C6\u56FE",openAdvancedCalendarView:"\u6253\u5F00\u65E5\u5386\u89C6\u56FE",openTasksView:"\u6253\u5F00\u4EFB\u52A1\u89C6\u56FE",openNotesView:"\u6253\u5F00\u7B14\u8BB0\u89C6\u56FE",openAgendaView:"\u6253\u5F00\u8BAE\u7A0B\u89C6\u56FE",openPomodoroView:"\u6253\u5F00\u756A\u8304\u949F\u8BA1\u65F6\u5668",openKanbanView:"\u6253\u5F00\u770B\u677F",openPomodoroStats:"\u6253\u5F00\u756A\u8304\u949F\u7EDF\u8BA1",openStatisticsView:"\u6253\u5F00\u4EFB\u52A1\u548C\u9879\u76EE\u7EDF\u8BA1",createNewTask:"\u521B\u5EFA\u65B0\u4EFB\u52A1",convertCurrentNoteToTask:{name:"\u5C06\u5F53\u524D\u7B14\u8BB0\u8F6C\u6362\u4E3A\u4EFB\u52A1",noActiveFile:"\u6CA1\u6709\u53EF\u8F6C\u6362\u7684\u6D3B\u52A8\u6587\u4EF6",alreadyTask:"\u6B64\u7B14\u8BB0\u5DF2\u662F\u4EFB\u52A1",success:"\u5DF2\u5C06'{title}'\u8F6C\u6362\u4E3A\u4EFB\u52A1"},convertToTaskNote:"\u5C06\u590D\u9009\u6846\u4EFB\u52A1\u8F6C\u6362\u4E3ATaskNote",convertAllTasksInNote:"\u8F6C\u6362\u7B14\u8BB0\u4E2D\u7684\u6240\u6709\u4EFB\u52A1",insertTaskNoteLink:"\u63D2\u5165\u4EFB\u52A1\u7B14\u8BB0\u94FE\u63A5",createInlineTask:"\u521B\u5EFA\u65B0\u5185\u8054\u4EFB\u52A1",quickActionsCurrentTask:"\u5F53\u524D\u4EFB\u52A1\u7684\u5FEB\u901F\u64CD\u4F5C",goToTodayNote:"\u8F6C\u5230\u4ECA\u65E5\u7B14\u8BB0",startPomodoro:"\u5F00\u59CB\u756A\u8304\u949F\u8BA1\u65F6\u5668",stopPomodoro:"\u505C\u6B62\u756A\u8304\u949F\u8BA1\u65F6\u5668",pauseResumePomodoro:"\u6682\u505C/\u6062\u590D\u756A\u8304\u949F\u8BA1\u65F6\u5668",refreshCache:"\u5237\u65B0\u7F13\u5B58",exportAllTasksIcs:"\u5BFC\u51FA\u6240\u6709\u4EFB\u52A1\u4E3AICS\u6587\u4EF6",viewReleaseNotes:"\u67E5\u770B\u7248\u672C\u8BF4\u660E",startTimeTrackingWithSelector:"\u5F00\u59CB\u65F6\u95F4\u8DDF\u8E2A\uFF08\u9009\u62E9\u4EFB\u52A1\uFF09",editTimeEntries:"\u7F16\u8F91\u65F6\u95F4\u6761\u76EE\uFF08\u9009\u62E9\u4EFB\u52A1\uFF09",createOrOpenTask:"\u521B\u5EFA\u6216\u6253\u5F00\u4EFB\u52A1",syncAllTasksGoogleCalendar:"\u540C\u6B65\u6240\u6709\u4EFB\u52A1\u5230Google\u65E5\u5386",syncCurrentTaskGoogleCalendar:"\u540C\u6B65\u5F53\u524D\u4EFB\u52A1\u5230Google\u65E5\u5386"},modals:{deviceCode:{title:"\u8C37\u6B4C\u65E5\u5386\u6388\u6743",instructions:{intro:"\u8981\u8FDE\u63A5\u60A8\u7684 Google \u65E5\u5386\uFF0C\u8BF7\u6309\u7167\u4EE5\u4E0B\u6B65\u9AA4\u64CD\u4F5C\uFF1A"},steps:{open:"\u6253\u5F00",inBrowser:"\u5728\u60A8\u7684\u6D4F\u89C8\u5668\u4E2D",enterCode:"\u5728\u63D0\u793A\u65F6\u8F93\u5165\u6B64\u4EE3\u7801\uFF1A",signIn:"\u4F7F\u7528\u60A8\u7684 Google \u5E10\u6237\u767B\u5F55\u5E76\u6388\u4E88\u8BBF\u95EE\u6743\u9650",returnToObsidian:"\u8FD4\u56DE Obsidian\uFF08\u6B64\u7A97\u53E3\u5C06\u81EA\u52A8\u5173\u95ED\uFF09"},codeLabel:"\u60A8\u7684\u4EE3\u7801\uFF1A",copyCodeAriaLabel:"\u590D\u5236\u4EE3\u7801",waitingForAuthorization:"\u7B49\u5F85\u6388\u6743\u4E2D...",openBrowserButton:"\u6253\u5F00\u6D4F\u89C8\u5668",cancelButton:"\u53D6\u6D88",expiresMinutesSeconds:"\u4EE3\u7801\u5728 {minutes}m {seconds}s \u540E\u8FC7\u671F",expiresSeconds:"\u4EE3\u7801\u5728 {seconds}s \u540E\u8FC7\u671F"},icsEventInfo:{calendarEventHeading:"\u65E5\u5386\u4E8B\u4EF6",titleLabel:"\u6807\u9898",calendarLabel:"\u65E5\u5386",dateTimeLabel:"\u65E5\u671F\u548C\u65F6\u95F4",locationLabel:"\u4F4D\u7F6E",descriptionLabel:"\u63CF\u8FF0",urlLabel:"\u7F51\u5740",relatedNotesHeading:"\u76F8\u5173\u7B14\u8BB0\u548C\u4EFB\u52A1",noRelatedItems:"\u672A\u627E\u5230\u4E0E\u6B64\u4E8B\u4EF6\u76F8\u5173\u7684\u7B14\u8BB0\u6216\u4EFB\u52A1\u3002",typeTask:"\u4EFB\u52A1",typeNote:"\u7B14\u8BB0",actionsHeading:"\u64CD\u4F5C",createFromEventLabel:"\u4ECE\u4E8B\u4EF6\u521B\u5EFA",createFromEventDesc:"\u4ECE\u6B64\u65E5\u5386\u4E8B\u4EF6\u521B\u5EFA\u65B0\u7684\u7B14\u8BB0\u6216\u4EFB\u52A1",linkExistingLabel:"\u94FE\u63A5\u73B0\u6709",linkExistingDesc:"\u5C06\u73B0\u6709\u7B14\u8BB0\u94FE\u63A5\u5230\u6B64\u65E5\u5386\u4E8B\u4EF6"},timeblockInfo:{editHeading:"\u7F16\u8F91\u65F6\u95F4\u5757",dateTimeLabel:"\u65E5\u671F\u548C\u65F6\u95F4\uFF1A",titleLabel:"\u6807\u9898",titleDesc:"\u65F6\u95F4\u5757\u7684\u6807\u9898",titlePlaceholder:"\u4F8B\u5982\uFF0C\u6DF1\u5EA6\u5DE5\u4F5C\u4F1A\u8BDD",descriptionLabel:"\u63CF\u8FF0",descriptionDesc:"\u65F6\u95F4\u5757\u7684\u53EF\u9009\u63CF\u8FF0",descriptionPlaceholder:"\u4E13\u6CE8\u4E8E\u65B0\u529F\u80FD\uFF0C\u65E0\u5E72\u6270",colorLabel:"\u989C\u8272",colorDesc:"\u65F6\u95F4\u5757\u7684\u53EF\u9009\u989C\u8272",colorPlaceholder:"#3b82f6",attachmentsLabel:"\u9644\u4EF6",attachmentsDesc:"\u4E0E\u6B64\u65F6\u95F4\u5757\u5173\u8054\u7684\u6587\u4EF6\u6216\u7B14\u8BB0",addAttachmentButton:"\u6DFB\u52A0\u9644\u4EF6",addAttachmentTooltip:"\u4F7F\u7528\u6A21\u7CCA\u641C\u7D22\u9009\u62E9\u6587\u4EF6\u6216\u7B14\u8BB0",deleteButton:"\u5220\u9664\u65F6\u95F4\u5757",saveButton:"\u4FDD\u5B58\u66F4\u6539",deleteConfirmationTitle:"\u5220\u9664\u65F6\u95F4\u5757"},timeblockCreation:{heading:"\u521B\u5EFA\u65F6\u95F4\u5757",dateLabel:"\u65E5\u671F\uFF1A",titleLabel:"\u6807\u9898",titleDesc:"\u65F6\u95F4\u5757\u7684\u6807\u9898",titlePlaceholder:"\u4F8B\u5982\uFF0C\u6DF1\u5EA6\u5DE5\u4F5C\u4F1A\u8BDD",startTimeLabel:"\u5F00\u59CB\u65F6\u95F4",startTimeDesc:"\u65F6\u95F4\u5757\u4F55\u65F6\u5F00\u59CB",startTimePlaceholder:"09:00",endTimeLabel:"\u7ED3\u675F\u65F6\u95F4",endTimeDesc:"\u65F6\u95F4\u5757\u4F55\u65F6\u7ED3\u675F",endTimePlaceholder:"11:00",descriptionLabel:"\u63CF\u8FF0",descriptionDesc:"\u65F6\u95F4\u5757\u7684\u53EF\u9009\u63CF\u8FF0",descriptionPlaceholder:"\u4E13\u6CE8\u4E8E\u65B0\u529F\u80FD\uFF0C\u65E0\u5E72\u6270",colorLabel:"\u989C\u8272",colorDesc:"\u65F6\u95F4\u5757\u7684\u53EF\u9009\u989C\u8272",colorPlaceholder:"#3b82f6",attachmentsLabel:"\u9644\u4EF6",attachmentsDesc:"\u8981\u4E0E\u6B64\u65F6\u95F4\u5757\u5173\u8054\u7684\u6587\u4EF6\u6216\u7B14\u8BB0",addAttachmentButton:"\u6DFB\u52A0\u9644\u4EF6",addAttachmentTooltip:"\u4F7F\u7528\u6A21\u7CCA\u641C\u7D22\u9009\u62E9\u6587\u4EF6\u6216\u7B14\u8BB0",createButton:"\u521B\u5EFA\u65F6\u95F4\u5757"},calendarEventCreation:{heading:"\u521B\u5EFA\u65E5\u5386\u4E8B\u4EF6",dateTimeLabel:"\u65E5\u671F\u548C\u65F6\u95F4\uFF1A",titleLabel:"\u6807\u9898",titleDesc:"\u65E5\u5386\u4E8B\u4EF6\u7684\u6807\u9898",titlePlaceholder:"\u4F8B\u5982\uFF1A\u56E2\u961F\u4F1A\u8BAE",calendarLabel:"\u65E5\u5386",calendarDesc:"\u5728\u54EA\u4E2A\u65E5\u5386\u4E2D\u521B\u5EFA\u4E8B\u4EF6",descriptionLabel:"\u63CF\u8FF0",descriptionDesc:"\u4E8B\u4EF6\u7684\u53EF\u9009\u63CF\u8FF0",descriptionPlaceholder:"\u6DFB\u52A0\u6B64\u4E8B\u4EF6\u7684\u8BE6\u7EC6\u4FE1\u606F...",locationLabel:"\u5730\u70B9",locationDesc:"\u4E8B\u4EF6\u7684\u53EF\u9009\u5730\u70B9",locationPlaceholder:"\u4F8B\u5982\uFF1A\u4F1A\u8BAE\u5BA4A",createButton:"\u521B\u5EFA\u4E8B\u4EF6",titleRequired:"\u4E8B\u4EF6\u6807\u9898\u4E3A\u5FC5\u586B\u9879",noCalendarSelected:"\u672A\u9009\u62E9\u65E5\u5386",success:'\u65E5\u5386\u4E8B\u4EF6 "{title}" \u5DF2\u521B\u5EFA',error:"\u521B\u5EFA\u65E5\u5386\u4E8B\u4EF6\u5931\u8D25\uFF1A{message}"},icsNoteCreation:{heading:"\u4ECE ICS \u4E8B\u4EF6\u521B\u5EFA",titleLabel:"\u6807\u9898",titleDesc:"\u65B0\u5185\u5BB9\u7684\u6807\u9898",folderLabel:"\u6587\u4EF6\u5939",folderDesc:"\u76EE\u6807\u6587\u4EF6\u5939\uFF08\u7559\u7A7A\u4EE5\u4F7F\u7528\u5E93\u6839\u76EE\u5F55\uFF09",folderPlaceholder:"\u6587\u4EF6\u5939/\u5B50\u6587\u4EF6\u5939",createButton:"\u521B\u5EFA",startLabel:"\u5F00\u59CB\uFF1A",endLabel:"\u7ED3\u675F\uFF1A",locationLabel:"\u4F4D\u7F6E\uFF1A",calendarLabel:"\u65E5\u5386\uFF1A",useTemplateLabel:"\u4F7F\u7528\u6A21\u677F",useTemplateDesc:"\u521B\u5EFA\u5185\u5BB9\u65F6\u5E94\u7528\u6A21\u677F",templatePathLabel:"\u6A21\u677F\u8DEF\u5F84",templatePathDesc:"\u6A21\u677F\u6587\u4EF6\u7684\u8DEF\u5F84",templatePathPlaceholder:"\u6A21\u677F/ics\u7B14\u8BB0\u6A21\u677F.md"},unscheduledTasksSelector:{title:"\u672A\u8BA1\u5212\u7684\u4EFB\u52A1",placeholder:"\u8F93\u5165\u4EE5\u641C\u7D22\u672A\u8BA1\u5212\u7684\u4EFB\u52A1...",instructions:{navigate:"\u5BFC\u822A",schedule:"\u5B89\u6392",dismiss:"\u5173\u95ED"}},migration:{title:"\u8FC1\u79FB\u5230\u65B0\u7684\u5FAA\u73AF\u7CFB\u7EDF",description:"TaskNotes \u73B0\u5728\u4F7F\u7528\u884C\u4E1A\u6807\u51C6\u7684 RRULE \u6A21\u5F0F\u8FDB\u884C\u5FAA\u73AF\uFF0C\u53EF\u4EE5\u521B\u5EFA\u66F4\u590D\u6742\u7684\u8BA1\u5212\u5E76\u4E0E\u5176\u4ED6\u5E94\u7528\u66F4\u597D\u5730\u517C\u5BB9\u3002",tasksFound:"\u68C0\u6D4B\u5230 {count} \u4E2A\u5177\u6709\u65E7\u5FAA\u73AF\u6A21\u5F0F\u7684\u4EFB\u52A1",noMigrationNeeded:"\u65E0\u4EFB\u52A1\u9700\u8981\u8FC1\u79FB",warnings:{title:"\u5728\u7EE7\u7EED\u4E4B\u524D\uFF1A",backup:"\u5728\u8FC1\u79FB\u524D\u5907\u4EFD\u60A8\u7684\u5E93",conversion:"\u65E7\u7684\u5FAA\u73AF\u6A21\u5F0F\u5C06\u88AB\u8F6C\u6362\u4E3A\u65B0\u683C\u5F0F",normalUsage:"\u60A8\u53EF\u4EE5\u5728\u8FC1\u79FB\u671F\u95F4\u7EE7\u7EED\u6B63\u5E38\u4F7F\u7528 TaskNotes",permanent:"\u6B64\u66F4\u6539\u662F\u6C38\u4E45\u7684\uFF0C\u65E0\u6CD5\u81EA\u52A8\u64A4\u9500"},benefits:{title:"\u65B0\u7CFB\u7EDF\u7684\u597D\u5904\uFF1A",powerfulPatterns:"\u590D\u6742\u7684\u5FAA\u73AF\u6A21\u5F0F\uFF08\u4F8B\u5982\uFF0C'\u6BCF\u7B2C\u4E8C\u4E2A\u661F\u671F\u4E8C'\uFF09",performance:"\u66F4\u597D\u7684\u5FAA\u73AF\u4EFB\u52A1\u6027\u80FD",compatibility:"\u4E0E\u5176\u4ED6\u5E94\u7528\u517C\u5BB9\u7684\u6807\u51C6\u5FAA\u73AF\u683C\u5F0F",nlp:"\u589E\u5F3A\u7684\u81EA\u7136\u8BED\u8A00\u5904\u7406\u652F\u6301"},progress:{title:"\u8FC1\u79FB\u8FDB\u5EA6",preparing:"\u51C6\u5907\u8FC1\u79FB\u4E2D...",completed:"\u8FC1\u79FB\u6210\u529F\u5B8C\u6210",failed:"\u8FC1\u79FB\u5931\u8D25"},buttons:{migrate:"\u5F00\u59CB\u8FC1\u79FB",completed:"\u5173\u95ED"},errors:{title:"\u8FC1\u79FB\u8FC7\u7A0B\u4E2D\u51FA\u73B0\u9519\u8BEF\uFF1A"},notices:{completedWithErrors:"\u8FC1\u79FB\u5B8C\u6210\u4F46\u6709\u4E00\u4E9B\u9519\u8BEF\u3002\u68C0\u67E5\u4E0A\u9762\u7684\u9519\u8BEF\u5217\u8868\u3002",success:"\u6240\u6709\u4EFB\u52A1\u5DF2\u6210\u529F\u8FC1\u79FB\uFF01",failed:"\u8FC1\u79FB\u5931\u8D25\u3002\u8BF7\u68C0\u67E5\u63A7\u5236\u53F0\u4E86\u89E3\u8BE6\u60C5\u3002"},prompt:{message:"TaskNotes \u68C0\u6D4B\u5230\u4F7F\u7528\u65E7\u5FAA\u73AF\u683C\u5F0F\u7684\u4EFB\u52A1\u3002\u60A8\u73B0\u5728\u60F3\u5C06\u5B83\u4EEC\u8FC1\u79FB\u5230\u65B0\u7CFB\u7EDF\u5417\uFF1F",migrateNow:"\u7ACB\u5373\u8FC1\u79FB",remindLater:"\u7A0D\u540E\u63D0\u9192\u6211"}},task:{titlePlaceholder:"\u9700\u8981\u505A\u4EC0\u4E48\uFF1F",titleLabel:"\u6807\u9898",titleDetailedPlaceholder:"\u4EFB\u52A1\u6807\u9898...",detailsLabel:"\u8BE6\u60C5",detailsPlaceholder:"\u6DFB\u52A0\u66F4\u591A\u8BE6\u60C5...",projectsLabel:"\u9879\u76EE",projectsAdd:"\u6DFB\u52A0\u9879\u76EE",projectsTooltip:"\u4F7F\u7528\u6A21\u7CCA\u641C\u7D22\u9009\u62E9\u9879\u76EE\u7B14\u8BB0",projectsRemoveTooltip:"\u79FB\u9664\u9879\u76EE",contextsLabel:"\u4E0A\u4E0B\u6587",contextsPlaceholder:"\u4E0A\u4E0B\u65871\uFF0C\u4E0A\u4E0B\u65872",tagsLabel:"\u6807\u7B7E",tagsPlaceholder:"\u6807\u7B7E1\uFF0C\u6807\u7B7E2",timeEstimateLabel:"\u65F6\u95F4\u4F30\u8BA1\uFF08\u5206\u949F\uFF09",timeEstimatePlaceholder:"30",unsavedChanges:{title:"\u672A\u4FDD\u5B58\u7684\u66F4\u6539",message:"\u60A8\u6709\u672A\u4FDD\u5B58\u7684\u66F4\u6539\u3002\u662F\u5426\u8981\u4FDD\u5B58\uFF1F",save:"\u4FDD\u5B58\u66F4\u6539",discard:"\u653E\u5F03\u66F4\u6539",cancel:"\u7EE7\u7EED\u7F16\u8F91"},dependencies:{blockedBy:"\u88AB\u963B\u585E",blocking:"\u963B\u585E\u4E2D",placeholder:"[[\u4EFB\u52A1\u7B14\u8BB0]]",addTaskButton:"\u6DFB\u52A0\u4EFB\u52A1",selectTaskTooltip:"\u4F7F\u7528\u6A21\u7CCA\u641C\u7D22\u9009\u62E9\u4EFB\u52A1\u7B14\u8BB0",removeTaskTooltip:"\u5220\u9664\u4EFB\u52A1"},organization:{projects:"\u9879\u76EE",subtasks:"\u5B50\u4EFB\u52A1",addToProject:"\u6DFB\u52A0\u5230\u9879\u76EE",addToProjectButton:"\u6DFB\u52A0\u5230\u9879\u76EE",addSubtasks:"\u6DFB\u52A0\u5B50\u4EFB\u52A1",addSubtasksButton:"\u6DFB\u52A0\u5B50\u4EFB\u52A1",addSubtasksTooltip:"\u9009\u62E9\u4EFB\u52A1\u5C06\u5176\u8BBE\u4E3A\u6B64\u4EFB\u52A1\u7684\u5B50\u4EFB\u52A1",removeSubtaskTooltip:"\u5220\u9664\u5B50\u4EFB\u52A1",notices:{noEligibleSubtasks:"\u6CA1\u6709\u53EF\u7528\u7684\u4EFB\u52A1\u53EF\u6307\u5B9A\u4E3A\u5B50\u4EFB\u52A1",subtaskSelectFailed:"\u65E0\u6CD5\u6253\u5F00\u5B50\u4EFB\u52A1\u9009\u62E9\u5668"}},customFieldsLabel:"\u81EA\u5B9A\u4E49\u5B57\u6BB5",actions:{due:"\u8BBE\u7F6E\u5230\u671F\u65E5\u671F",scheduled:"\u8BBE\u7F6E\u5B89\u6392\u65E5\u671F",status:"\u8BBE\u7F6E\u72B6\u6001",priority:"\u8BBE\u7F6E\u4F18\u5148\u7EA7",recurrence:"\u8BBE\u7F6E\u91CD\u590D",reminders:"\u8BBE\u7F6E\u63D0\u9192"},buttons:{openNote:"\u6253\u5F00\u7B14\u8BB0",save:"\u4FDD\u5B58"},tooltips:{dueValue:"\u5230\u671F\uFF1A{value}",scheduledValue:"\u5B89\u6392\uFF1A{value}",statusValue:"\u72B6\u6001\uFF1A{value}",priorityValue:"\u4F18\u5148\u7EA7\uFF1A{value}",recurrenceValue:"\u91CD\u590D\uFF1A{value}",remindersSingle:"\u8BBE\u7F6E\u4E861\u4E2A\u63D0\u9192",remindersPlural:"\u8BBE\u7F6E\u4E86{count}\u4E2A\u63D0\u9192"},dateMenu:{dueTitle:"\u8BBE\u7F6E\u5230\u671F\u65E5\u671F",scheduledTitle:"\u8BBE\u7F6E\u5B89\u6392\u65E5\u671F"},userFields:{textPlaceholder:"\u8F93\u5165{field}...",numberPlaceholder:"0",datePlaceholder:"YYYY-MM-DD",listPlaceholder:"\u9879\u76EE1\uFF0C\u9879\u76EE2\uFF0C\u9879\u76EE3",pickDate:"\u9009\u62E9{field}\u65E5\u671F"},recurrence:{daily:"\u6BCF\u65E5",weekly:"\u6BCF\u5468",everyTwoWeeks:"\u6BCF2\u5468",weekdays:"\u5DE5\u4F5C\u65E5",weeklyOn:"\u6BCF\u5468{days}",monthly:"\u6BCF\u6708",everyThreeMonths:"\u6BCF3\u4E2A\u6708",monthlyOnOrdinal:"\u6BCF\u6708{ordinal}",monthlyByWeekday:"\u6BCF\u6708\uFF08\u6309\u5DE5\u4F5C\u65E5\uFF09",yearly:"\u6BCF\u5E74",yearlyOn:"\u6BCF\u5E74{month}{day}",custom:"\u81EA\u5B9A\u4E49",countSuffix:"{count}\u6B21",untilSuffix:"\u76F4\u5230{date}",ordinal:"{number}{suffix}"}},taskSelector:{title:"\u9009\u62E9\u4EFB\u52A1",placeholder:"\u8F93\u5165\u4EE5\u641C\u7D22\u4EFB\u52A1...",instructions:{navigate:"\u5BFC\u822A",select:"\u9009\u62E9",dismiss:"\u53D6\u6D88"},notices:{noteNotFound:'\u627E\u4E0D\u5230\u7B14\u8BB0 "{name}"'},dueDate:{overdue:"\u622A\u6B62\u65E5\u671F\uFF1A{date}\uFF08\u903E\u671F\uFF09",today:"\u622A\u6B62\u65E5\u671F\uFF1A\u4ECA\u5929"}},taskSelectorWithCreate:{title:"\u521B\u5EFA\u6216\u6253\u5F00\u4EFB\u52A1",placeholder:"\u641C\u7D22\u4EFB\u52A1\u6216\u8F93\u5165\u4EE5\u521B\u5EFA\u65B0\u4EFB\u52A1...",instructions:{create:"\u521B\u5EFA\u65B0\u4EFB\u52A1"},footer:{createLabel:" \u521B\u5EFA\uFF1A"},notices:{emptyQuery:"\u8BF7\u8F93\u5165\u4EFB\u52A1\u63CF\u8FF0",invalidTitle:"\u65E0\u6CD5\u8BC6\u522B\u6709\u6548\u7684\u4EFB\u52A1\u6807\u9898"}},taskCreation:{title:"\u521B\u5EFA\u4EFB\u52A1",actions:{fillFromNaturalLanguage:"\u4ECE\u81EA\u7136\u8BED\u8A00\u586B\u5199\u8868\u5355",hideDetailedOptions:"\u9690\u85CF\u8BE6\u7EC6\u9009\u9879",showDetailedOptions:"\u663E\u793A\u8BE6\u7EC6\u9009\u9879"},nlPlaceholder:`\u660E\u5929\u4E0B\u53483\u70B9@\u5BB6\u4E70\u6742\u8D27 #\u5DEE\u4E8B
\u5728\u8FD9\u91CC\u6DFB\u52A0\u8BE6\u60C5...`,notices:{titleRequired:"\u8BF7\u8F93\u5165\u4EFB\u52A1\u6807\u9898",success:'\u4EFB\u52A1"{title}"\u521B\u5EFA\u6210\u529F',successShortened:'\u4EFB\u52A1"{title}"\u521B\u5EFA\u6210\u529F\uFF08\u56E0\u957F\u5EA6\u800C\u7F29\u77ED\u6587\u4EF6\u540D\uFF09',failure:"\u521B\u5EFA\u4EFB\u52A1\u5931\u8D25\uFF1A{message}",blockingUnresolved:"\u65E0\u6CD5\u89E3\u6790\uFF1A{entries}"}},taskEdit:{title:"\u7F16\u8F91\u4EFB\u52A1",sections:{completions:"\u5B8C\u6210",taskInfo:"\u4EFB\u52A1\u4FE1\u606F"},metadata:{totalTrackedTime:"\u603B\u8DDF\u8E2A\u65F6\u95F4\uFF1A",created:"\u521B\u5EFA\uFF1A",modified:"\u4FEE\u6539\uFF1A",file:"\u6587\u4EF6\uFF1A"},buttons:{archive:"\u5F52\u6863",unarchive:"\u53D6\u6D88\u5F52\u6863"},notices:{titleRequired:"\u8BF7\u8F93\u5165\u4EFB\u52A1\u6807\u9898",noChanges:"\u6CA1\u6709\u8981\u4FDD\u5B58\u7684\u66F4\u6539",updateSuccess:'\u4EFB\u52A1"{title}"\u66F4\u65B0\u6210\u529F',updateFailure:"\u66F4\u65B0\u4EFB\u52A1\u5931\u8D25\uFF1A{message}",dependenciesUpdateSuccess:"\u4F9D\u8D56\u5173\u7CFB\u5DF2\u66F4\u65B0",blockingUnresolved:"\u65E0\u6CD5\u89E3\u6790\uFF1A{entries}",fileMissing:"\u627E\u4E0D\u5230\u4EFB\u52A1\u6587\u4EF6\uFF1A{path}",openNoteFailure:"\u6253\u5F00\u4EFB\u52A1\u7B14\u8BB0\u5931\u8D25",archiveSuccess:"\u4EFB\u52A1{action}\u6210\u529F",archiveFailure:"\u5F52\u6863\u4EFB\u52A1\u5931\u8D25"},archiveAction:{archived:"\u5DF2\u5F52\u6863",unarchived:"\u5DF2\u53D6\u6D88\u5F52\u6863"}},storageLocation:{title:{migrate:"\u8FC1\u79FB\u756A\u8304\u949F\u6570\u636E\uFF1F",switch:"\u5207\u6362\u5230\u65E5\u8BB0\u5B58\u50A8\uFF1F"},message:{migrate:"\u8FD9\u5C06\u628A\u73B0\u6709\u7684\u756A\u8304\u949F\u4F1A\u8BDD\u6570\u636E\u8FC1\u79FB\u5230\u65E5\u8BB0\u524D\u7F6E\u6570\u636E\u3002\u6570\u636E\u5C06\u6309\u65E5\u671F\u5206\u7EC4\u5E76\u5B58\u50A8\u5728\u6BCF\u4E2A\u65E5\u8BB0\u4E2D\u3002",switch:"\u756A\u8304\u949F\u4F1A\u8BDD\u6570\u636E\u5C06\u5B58\u50A8\u5728\u65E5\u8BB0\u524D\u7F6E\u6570\u636E\u4E2D\uFF0C\u800C\u4E0D\u662F\u63D2\u4EF6\u6570\u636E\u6587\u4EF6\u4E2D\u3002"},whatThisMeans:"\u8FD9\u610F\u5473\u7740\uFF1A",bullets:{dailyNotesRequired:"\u65E5\u8BB0\u6838\u5FC3\u63D2\u4EF6\u5FC5\u987B\u4FDD\u6301\u542F\u7528",storedInNotes:"\u6570\u636E\u5C06\u5B58\u50A8\u5728\u60A8\u7684\u65E5\u8BB0\u524D\u7F6E\u6570\u636E\u4E2D",migrateData:"\u73B0\u6709\u63D2\u4EF6\u6570\u636E\u5C06\u8FC1\u79FB\u7136\u540E\u6E05\u9664",futureSessions:"\u672A\u6765\u7684\u4F1A\u8BDD\u5C06\u4FDD\u5B58\u5230\u65E5\u8BB0",dataLongevity:"\u8FD9\u63D0\u4F9B\u4E86\u4E0E\u60A8\u7684\u7B14\u8BB0\u66F4\u597D\u7684\u6570\u636E\u6301\u4E45\u6027"},finalNote:{migrate:"\u26A0\uFE0F \u5982\u679C\u9700\u8981\uFF0C\u8BF7\u786E\u4FDD\u60A8\u6709\u5907\u4EFD\u3002\u6B64\u66F4\u6539\u65E0\u6CD5\u81EA\u52A8\u64A4\u9500\u3002",switch:"\u60A8\u53EF\u4EE5\u968F\u65F6\u5728\u5C06\u6765\u5207\u6362\u56DE\u63D2\u4EF6\u5B58\u50A8\u3002"},buttons:{migrate:"\u8FC1\u79FB\u6570\u636E",switch:"\u5207\u6362\u5B58\u50A8"}},dueDate:{title:"\u8BBE\u7F6E\u5230\u671F\u65E5\u671F",taskLabel:"\u4EFB\u52A1\uFF1A{title}",sections:{dateTime:"\u5230\u671F\u65E5\u671F\u548C\u65F6\u95F4",quickOptions:"\u5FEB\u901F\u9009\u9879"},descriptions:{dateTime:"\u8BBE\u7F6E\u6B64\u4EFB\u52A1\u5E94\u4F55\u65F6\u5B8C\u6210"},inputs:{date:{ariaLabel:"\u4EFB\u52A1\u5230\u671F\u65E5\u671F",placeholder:"YYYY-MM-DD"},time:{ariaLabel:"\u4EFB\u52A1\u5230\u671F\u65F6\u95F4\uFF08\u53EF\u9009\uFF09",placeholder:"HH:MM"}},quickOptions:{today:"\u4ECA\u5929",todayAriaLabel:"\u5C06\u5230\u671F\u65E5\u671F\u8BBE\u4E3A\u4ECA\u5929",tomorrow:"\u660E\u5929",tomorrowAriaLabel:"\u5C06\u5230\u671F\u65E5\u671F\u8BBE\u4E3A\u660E\u5929",nextWeek:"\u4E0B\u5468",nextWeekAriaLabel:"\u5C06\u5230\u671F\u65E5\u671F\u8BBE\u4E3A\u4E0B\u5468",now:"\u73B0\u5728",nowAriaLabel:"\u5C06\u5230\u671F\u65E5\u671F\u548C\u65F6\u95F4\u8BBE\u4E3A\u73B0\u5728",clear:"\u6E05\u9664",clearAriaLabel:"\u6E05\u9664\u5230\u671F\u65E5\u671F"},errors:{invalidDateTime:"\u8BF7\u8F93\u5165\u6709\u6548\u7684\u65E5\u671F\u548C\u65F6\u95F4\u683C\u5F0F",updateFailed:"\u66F4\u65B0\u5230\u671F\u65E5\u671F\u5931\u8D25\u3002\u8BF7\u91CD\u8BD5\u3002"}},scheduledDate:{title:"\u8BBE\u7F6E\u5B89\u6392\u65E5\u671F",taskLabel:"\u4EFB\u52A1\uFF1A{title}",sections:{dateTime:"\u5B89\u6392\u65E5\u671F\u548C\u65F6\u95F4",quickOptions:"\u5FEB\u901F\u9009\u9879"},descriptions:{dateTime:"\u8BBE\u7F6E\u60A8\u8BA1\u5212\u4F55\u65F6\u5904\u7406\u6B64\u4EFB\u52A1"},inputs:{date:{ariaLabel:"\u4EFB\u52A1\u5B89\u6392\u65E5\u671F",placeholder:"YYYY-MM-DD"},time:{ariaLabel:"\u4EFB\u52A1\u5B89\u6392\u65F6\u95F4\uFF08\u53EF\u9009\uFF09",placeholder:"HH:MM"}},quickOptions:{today:"\u4ECA\u5929",todayAriaLabel:"\u5C06\u5B89\u6392\u65E5\u671F\u8BBE\u4E3A\u4ECA\u5929",tomorrow:"\u660E\u5929",tomorrowAriaLabel:"\u5C06\u5B89\u6392\u65E5\u671F\u8BBE\u4E3A\u660E\u5929",nextWeek:"\u4E0B\u5468",nextWeekAriaLabel:"\u5C06\u5B89\u6392\u65E5\u671F\u8BBE\u4E3A\u4E0B\u5468",now:"\u73B0\u5728",nowAriaLabel:"\u5C06\u5B89\u6392\u65E5\u671F\u548C\u65F6\u95F4\u8BBE\u4E3A\u73B0\u5728",clear:"\u6E05\u9664",clearAriaLabel:"\u6E05\u9664\u5B89\u6392\u65E5\u671F"},errors:{invalidDateTime:"\u8BF7\u8F93\u5165\u6709\u6548\u7684\u65E5\u671F\u548C\u65F6\u95F4\u683C\u5F0F",updateFailed:"\u66F4\u65B0\u5B89\u6392\u65E5\u671F\u5931\u8D25\u3002\u8BF7\u91CD\u8BD5\u3002"}},timeEntryEditor:{title:"\u65F6\u95F4\u6761\u76EE - {taskTitle}",addEntry:"\u6DFB\u52A0\u65F6\u95F4\u6761\u76EE",noEntries:"\u6682\u65E0\u65F6\u95F4\u6761\u76EE",deleteEntry:"\u5220\u9664\u6761\u76EE",startTime:"\u5F00\u59CB\u65F6\u95F4",endTime:"\u7ED3\u675F\u65F6\u95F4\uFF08\u5982\u4ECD\u5728\u8FDB\u884C\u5219\u7559\u7A7A\uFF09",duration:"\u6301\u7EED\u65F6\u95F4\uFF08\u5206\u949F\uFF09",durationDesc:"\u8986\u76D6\u8BA1\u7B97\u7684\u6301\u7EED\u65F6\u95F4",durationPlaceholder:"\u8F93\u5165\u6301\u7EED\u65F6\u95F4\uFF08\u5206\u949F\uFF09",description:"\u63CF\u8FF0",descriptionPlaceholder:"\u4F60\u5728\u505A\u4EC0\u4E48\uFF1F",calculatedDuration:"\u8BA1\u7B97\u7ED3\u679C\uFF1A{minutes} \u5206\u949F",totalTime:"\u603B\u8BA1 {hours}\u5C0F\u65F6 {minutes}\u5206\u949F",totalMinutes:"\u603B\u8BA1 {minutes}\u5206\u949F",saved:"\u65F6\u95F4\u6761\u76EE\u5DF2\u4FDD\u5B58",saveFailed:"\u65E0\u6CD5\u4FDD\u5B58\u65F6\u95F4\u6761\u76EE",openFailed:"\u65E0\u6CD5\u6253\u5F00\u65F6\u95F4\u6761\u76EE\u7F16\u8F91\u5668",noTasksWithEntries:"\u6CA1\u6709\u4EFB\u52A1\u6709\u65F6\u95F4\u6761\u76EE\u53EF\u4F9B\u7F16\u8F91",validation:{missingStartTime:"\u9700\u8981\u5F00\u59CB\u65F6\u95F4",endBeforeStart:"\u7ED3\u675F\u65F6\u95F4\u5FC5\u987B\u5728\u5F00\u59CB\u65F6\u95F4\u4E4B\u540E"}},timeTracking:{noTasksAvailable:"\u6CA1\u6709\u53EF\u7528\u7684\u4EFB\u52A1\u8FDB\u884C\u65F6\u95F4\u8DDF\u8E2A",started:"\u5F00\u59CB\u8DDF\u8E2A\u65F6\u95F4\uFF1A{taskTitle}",startFailed:"\u65E0\u6CD5\u5F00\u59CB\u65F6\u95F4\u8DDF\u8E2A"},timeEntry:{mustHaveSpecificTime:"\u65F6\u95F4\u6761\u76EE\u5FC5\u987B\u6709\u5177\u4F53\u65F6\u95F4\u3002\u8BF7\u5728\u5468\u89C6\u56FE\u6216\u65E5\u89C6\u56FE\u4E2D\u9009\u62E9\u65F6\u95F4\u8303\u56F4\u3002",noTasksAvailable:"\u6CA1\u6709\u53EF\u7528\u7684\u4EFB\u52A1\u521B\u5EFA\u65F6\u95F4\u6761\u76EE",created:"\u5DF2\u4E3A {taskTitle} \u521B\u5EFA\u65F6\u95F4\u6761\u76EE\uFF08{duration} \u5206\u949F\uFF09",createFailed:"\u65E0\u6CD5\u521B\u5EFA\u65F6\u95F4\u6761\u76EE"}},contextMenus:{task:{status:"\u72B6\u6001",statusSelected:"\u2713 {label}",priority:"\u4F18\u5148\u7EA7",prioritySelected:"\u2713 {label}",dueDate:"\u5230\u671F\u65E5\u671F",scheduledDate:"\u5B89\u6392\u65E5\u671F",reminders:"\u63D0\u9192",remindBeforeDue:"\u5230\u671F\u524D\u63D0\u9192...",remindBeforeScheduled:"\u5B89\u6392\u524D\u63D0\u9192...",manageReminders:"\u7BA1\u7406\u6240\u6709\u63D0\u9192...",clearReminders:"\u6E05\u9664\u6240\u6709\u63D0\u9192",startTimeTracking:"\u5F00\u59CB\u65F6\u95F4\u8DDF\u8E2A",stopTimeTracking:"\u505C\u6B62\u65F6\u95F4\u8DDF\u8E2A",editTimeEntries:"\u7F16\u8F91\u65F6\u95F4\u6761\u76EE",archive:"\u5F52\u6863",unarchive:"\u53D6\u6D88\u5F52\u6863",openNote:"\u6253\u5F00\u7B14\u8BB0",copyTitle:"\u590D\u5236\u4EFB\u52A1\u6807\u9898",noteActions:"\u7B14\u8BB0\u64CD\u4F5C",rename:"\u91CD\u547D\u540D",renameTitle:"\u91CD\u547D\u540D\u6587\u4EF6",renamePlaceholder:"\u8F93\u5165\u65B0\u540D\u79F0",delete:"\u5220\u9664",deleteTitle:"\u5220\u9664\u6587\u4EF6",deleteMessage:'\u60A8\u786E\u5B9A\u8981\u5220\u9664"{name}"\u5417\uFF1F',deleteConfirm:"\u5220\u9664",copyPath:"\u590D\u5236\u8DEF\u5F84",copyUrl:"\u590D\u5236Obsidian URL",showInExplorer:"\u5728\u6587\u4EF6\u6D4F\u89C8\u5668\u4E2D\u663E\u793A",addToCalendar:"\u6DFB\u52A0\u5230\u65E5\u5386",calendar:{google:"Google\u65E5\u5386",outlook:"Outlook\u65E5\u5386",yahoo:"Yahoo\u65E5\u5386",downloadIcs:"\u4E0B\u8F7D.ics\u6587\u4EF6",syncToGoogle:"\u540C\u6B65\u5230Google\u65E5\u5386",syncToGoogleNotConfigured:"Google\u65E5\u5386\u540C\u6B65\u672A\u914D\u7F6E",syncToGoogleSuccess:"\u4EFB\u52A1\u5DF2\u540C\u6B65\u5230Google\u65E5\u5386",syncToGoogleFailed:"\u540C\u6B65\u5230Google\u65E5\u5386\u5931\u8D25"},recurrence:"\u91CD\u590D",clearRecurrence:"\u6E05\u9664\u91CD\u590D",customRecurrence:"\u81EA\u5B9A\u4E49\u91CD\u590D...",createSubtask:"\u521B\u5EFA\u5B50\u4EFB\u52A1",dependencies:{title:"\u4F9D\u8D56\u5173\u7CFB",addBlockedBy:'\u6DFB\u52A0"\u88AB\u963B\u585E"\u2026',addBlockedByTitle:"\u6DFB\u52A0\u6B64\u4EFB\u52A1\u4F9D\u8D56\u7684\u4EFB\u52A1",addBlocking:'\u6DFB\u52A0"\u963B\u585E\u4E2D"\u2026',addBlockingTitle:"\u6DFB\u52A0\u6B64\u4EFB\u52A1\u963B\u585E\u7684\u4EFB\u52A1",removeBlockedBy:'\u5220\u9664"\u88AB\u963B\u585E"\u2026',removeBlocking:'\u5220\u9664"\u963B\u585E\u4E2D"\u2026',unknownDependency:"\u672A\u77E5",inputPlaceholder:"[[\u4EFB\u52A1\u7B14\u8BB0]]",notices:{noEntries:"\u8BF7\u81F3\u5C11\u8F93\u5165\u4E00\u4E2A\u4EFB\u52A1",blockedByAdded:"\u5DF2\u6DFB\u52A0 {count} \u4E2A\u4F9D\u8D56\u5173\u7CFB",blockedByRemoved:"\u5DF2\u5220\u9664\u4F9D\u8D56\u5173\u7CFB",blockingAdded:"\u5DF2\u6DFB\u52A0 {count} \u4E2A\u88AB\u4F9D\u8D56\u7684\u4EFB\u52A1",blockingRemoved:"\u5DF2\u5220\u9664\u88AB\u4F9D\u8D56\u7684\u4EFB\u52A1",unresolved:"\u65E0\u6CD5\u89E3\u6790\uFF1A{entries}",noEligibleTasks:"\u6CA1\u6709\u5339\u914D\u7684\u53EF\u7528\u4EFB\u52A1",updateFailed:"\u65E0\u6CD5\u66F4\u65B0\u4F9D\u8D56\u5173\u7CFB"}},organization:{title:"\u7EC4\u7EC7",projects:"\u9879\u76EE",addToProject:"\u6DFB\u52A0\u5230\u9879\u76EE\u2026",subtasks:"\u5B50\u4EFB\u52A1",addSubtasks:"\u6DFB\u52A0\u5B50\u4EFB\u52A1\u2026",notices:{alreadyInProject:"\u4EFB\u52A1\u5DF2\u5728\u6B64\u9879\u76EE\u4E2D",alreadySubtask:"\u4EFB\u52A1\u5DF2\u662F\u6B64\u4EFB\u52A1\u7684\u5B50\u4EFB\u52A1",addedToProject:"\u5DF2\u6DFB\u52A0\u5230\u9879\u76EE\uFF1A{project}",addedAsSubtask:"\u5DF2\u5C06 {subtask} \u6DFB\u52A0\u4E3A {parent} \u7684\u5B50\u4EFB\u52A1",addToProjectFailed:"\u65E0\u6CD5\u5C06\u4EFB\u52A1\u6DFB\u52A0\u5230\u9879\u76EE",addAsSubtaskFailed:"\u65E0\u6CD5\u5C06\u4EFB\u52A1\u6DFB\u52A0\u4E3A\u5B50\u4EFB\u52A1",projectSelectFailed:"\u65E0\u6CD5\u6253\u5F00\u9879\u76EE\u9009\u62E9\u5668",subtaskSelectFailed:"\u65E0\u6CD5\u6253\u5F00\u5B50\u4EFB\u52A1\u9009\u62E9\u5668",noEligibleSubtasks:"\u6CA1\u6709\u53EF\u7528\u7684\u4EFB\u52A1\u53EF\u6307\u5B9A\u4E3A\u5B50\u4EFB\u52A1",currentTaskNotFound:"\u627E\u4E0D\u5230\u5F53\u524D\u4EFB\u52A1\u6587\u4EF6"}},subtasks:{loading:"\u6B63\u5728\u52A0\u8F7D\u5B50\u4EFB\u52A1...",noSubtasks:"\u672A\u627E\u5230\u5B50\u4EFB\u52A1",loadFailed:"\u52A0\u8F7D\u5B50\u4EFB\u52A1\u5931\u8D25"},markComplete:"\u6807\u8BB0\u6B64\u65E5\u671F\u5B8C\u6210",markIncomplete:"\u6807\u8BB0\u6B64\u65E5\u671F\u672A\u5B8C\u6210",skipInstance:"\u8DF3\u8FC7\u5B9E\u4F8B",unskipInstance:"\u53D6\u6D88\u8DF3\u8FC7\u5B9E\u4F8B",quickReminders:{atTime:"\u5728\u4E8B\u4EF6\u65F6\u95F4",fiveMinutes:"\u63D0\u524D5\u5206\u949F",fifteenMinutes:"\u63D0\u524D15\u5206\u949F",oneHour:"\u63D0\u524D1\u5C0F\u65F6",oneDay:"\u63D0\u524D1\u5929"},notices:{toggleCompletionFailure:"\u5207\u6362\u91CD\u590D\u4EFB\u52A1\u5B8C\u6210\u5931\u8D25\uFF1A{message}",toggleSkipFailure:"\u5207\u6362\u91CD\u590D\u4EFB\u52A1\u8DF3\u8FC7\u5931\u8D25\uFF1A{message}",updateDueDateFailure:"\u66F4\u65B0\u4EFB\u52A1\u5230\u671F\u65E5\u671F\u5931\u8D25\uFF1A{message}",updateScheduledFailure:"\u66F4\u65B0\u4EFB\u52A1\u5B89\u6392\u65E5\u671F\u5931\u8D25\uFF1A{message}",updateRemindersFailure:"\u66F4\u65B0\u63D0\u9192\u5931\u8D25",clearRemindersFailure:"\u6E05\u9664\u63D0\u9192\u5931\u8D25",addReminderFailure:"\u6DFB\u52A0\u63D0\u9192\u5931\u8D25",archiveFailure:"\u5207\u6362\u4EFB\u52A1\u5F52\u6863\u5931\u8D25\uFF1A{message}",copyTitleSuccess:"\u4EFB\u52A1\u6807\u9898\u5DF2\u590D\u5236\u5230\u526A\u8D34\u677F",copyFailure:"\u590D\u5236\u5230\u526A\u8D34\u677F\u5931\u8D25",renameSuccess:'\u91CD\u547D\u540D\u4E3A"{name}"',renameFailure:"\u91CD\u547D\u540D\u6587\u4EF6\u5931\u8D25",copyPathSuccess:"\u6587\u4EF6\u8DEF\u5F84\u5DF2\u590D\u5236\u5230\u526A\u8D34\u677F",copyUrlSuccess:"Obsidian URL\u5DF2\u590D\u5236\u5230\u526A\u8D34\u677F",updateRecurrenceFailure:"\u66F4\u65B0\u4EFB\u52A1\u91CD\u590D\u5931\u8D25\uFF1A{message}"}},priority:{clearPriority:"\u6E05\u9664\u4F18\u5148\u7EA7"},ics:{showDetails:"\u663E\u793A\u8BE6\u60C5",createTask:"\u4ECE\u4E8B\u4EF6\u521B\u5EFA\u4EFB\u52A1",createNote:"\u4ECE\u4E8B\u4EF6\u521B\u5EFA\u7B14\u8BB0",linkNote:"\u94FE\u63A5\u73B0\u6709\u7B14\u8BB0",copyTitle:"\u590D\u5236\u6807\u9898",copyLocation:"\u590D\u5236\u4F4D\u7F6E",copyUrl:"\u590D\u5236URL",copyMarkdown:"\u590D\u5236\u4E3Amarkdown",subscriptionUnknown:"\u672A\u77E5\u65E5\u5386",notices:{copyTitleSuccess:"\u4E8B\u4EF6\u6807\u9898\u5DF2\u590D\u5236\u5230\u526A\u8D34\u677F",copyLocationSuccess:"\u4F4D\u7F6E\u5DF2\u590D\u5236\u5230\u526A\u8D34\u677F",copyUrlSuccess:"\u4E8B\u4EF6URL\u5DF2\u590D\u5236\u5230\u526A\u8D34\u677F",copyMarkdownSuccess:"\u4E8B\u4EF6\u8BE6\u60C5\u5DF2\u590D\u5236\u4E3Amarkdown",copyFailure:"\u590D\u5236\u5230\u526A\u8D34\u677F\u5931\u8D25",taskCreated:"\u4EFB\u52A1\u5DF2\u521B\u5EFA\uFF1A{title}",taskCreateFailure:"\u4ECE\u4E8B\u4EF6\u521B\u5EFA\u4EFB\u52A1\u5931\u8D25",noteCreated:"\u7B14\u8BB0\u521B\u5EFA\u6210\u529F",creationFailure:"\u6253\u5F00\u521B\u5EFA\u6A21\u6001\u6846\u5931\u8D25",linkSuccess:'\u5DF2\u5C06\u7B14\u8BB0"{name}"\u94FE\u63A5\u5230\u4E8B\u4EF6',linkFailure:"\u94FE\u63A5\u7B14\u8BB0\u5931\u8D25",linkSelectionFailure:"\u6253\u5F00\u7B14\u8BB0\u9009\u62E9\u5931\u8D25"},markdown:{titleFallback:"\u65E0\u6807\u9898\u4E8B\u4EF6",calendar:"**\u65E5\u5386\uFF1A** {value}",date:"**\u65E5\u671F\u548C\u65F6\u95F4\uFF1A** {value}",location:"**\u4F4D\u7F6E\uFF1A** {value}",descriptionHeading:"### \u63CF\u8FF0",url:"**URL\uFF1A** {value}",at:" \u5728{time}"}},date:{increment:{plusOneDay:"+1\u5929",minusOneDay:"-1\u5929",plusOneWeek:"+1\u5468",minusOneWeek:"-1\u5468"},basic:{today:"\u4ECA\u5929",tomorrow:"\u660E\u5929",thisWeekend:"\u672C\u5468\u672B",nextWeek:"\u4E0B\u5468",nextMonth:"\u4E0B\u4E2A\u6708"},weekdaysLabel:"\u5DE5\u4F5C\u65E5",selected:"\u2713 {label}",pickDateTime:"\u9009\u62E9\u65E5\u671F\u548C\u65F6\u95F4...",clearDate:"\u6E05\u9664\u65E5\u671F",modal:{title:"\u8BBE\u7F6E\u65E5\u671F\u548C\u65F6\u95F4",dateLabel:"\u65E5\u671F",timeLabel:"\u65F6\u95F4\uFF08\u53EF\u9009\uFF09",select:"\u9009\u62E9"}}},services:{pomodoro:{notices:{alreadyRunning:"\u756A\u8304\u949F\u5DF2\u7ECF\u5728\u8FD0\u884C",resumeCurrentSession:"\u6062\u590D\u5F53\u524D\u4F1A\u8BDD\u800C\u4E0D\u662F\u5F00\u59CB\u65B0\u7684",timerAlreadyRunning:"\u8BA1\u65F6\u5668\u5DF2\u7ECF\u5728\u8FD0\u884C",resumeSessionInstead:"\u6062\u590D\u5F53\u524D\u4F1A\u8BDD\u800C\u4E0D\u662F\u5F00\u59CB\u65B0\u7684",shortBreakStarted:"\u77ED\u4F11\u606F\u5DF2\u5F00\u59CB",longBreakStarted:"\u957F\u4F11\u606F\u5DF2\u5F00\u59CB",paused:"\u756A\u8304\u949F\u5DF2\u6682\u505C",resumed:"\u756A\u8304\u949F\u5DF2\u6062\u590D",stoppedAndReset:"\u756A\u8304\u949F\u5DF2\u505C\u6B62\u5E76\u91CD\u7F6E",migrationSuccess:"\u6210\u529F\u5C06{count}\u4E2A\u756A\u8304\u949F\u4F1A\u8BDD\u8FC1\u79FB\u5230\u65E5\u8BB0\u3002",migrationFailure:"\u8FC1\u79FB\u756A\u8304\u949F\u6570\u636E\u5931\u8D25\u3002\u8BF7\u91CD\u8BD5\u6216\u68C0\u67E5\u63A7\u5236\u53F0\u83B7\u53D6\u8BE6\u7EC6\u4FE1\u606F\u3002"}},icsSubscription:{notices:{calendarNotFound:'\u627E\u4E0D\u5230\u65E5\u5386"{name}"\uFF08404\uFF09\u3002\u8BF7\u68C0\u67E5ICS URL\u662F\u5426\u6B63\u786E\u4E14\u65E5\u5386\u53EF\u516C\u5F00\u8BBF\u95EE\u3002',calendarAccessDenied:'\u65E5\u5386"{name}"\u8BBF\u95EE\u88AB\u62D2\u7EDD\uFF08500\uFF09\u3002\u8FD9\u53EF\u80FD\u662F\u7531\u4E8EMicrosoft Outlook\u670D\u52A1\u5668\u9650\u5236\u3002\u5C1D\u8BD5\u4ECE\u65E5\u5386\u8BBE\u7F6E\u91CD\u65B0\u751F\u6210ICS URL\u3002',fetchRemoteFailed:'\u83B7\u53D6\u8FDC\u7A0B\u65E5\u5386"{name}"\u5931\u8D25\uFF1A{error}',readLocalFailed:'\u8BFB\u53D6\u672C\u5730\u65E5\u5386"{name}"\u5931\u8D25\uFF1A{error}'}},calendarExport:{notices:{generateLinkFailed:"\u751F\u6210\u65E5\u5386\u94FE\u63A5\u5931\u8D25",noTasksToExport:"\u6CA1\u6709\u627E\u5230\u8981\u5BFC\u51FA\u7684\u4EFB\u52A1",downloadSuccess:"\u4E0B\u8F7D\u4E86{filename}\uFF0C\u5305\u542B{count}\u4E2A\u4EFB\u52A1{plural}",downloadFailed:"\u4E0B\u8F7D\u65E5\u5386\u6587\u4EF6\u5931\u8D25",singleDownloadSuccess:"\u4E0B\u8F7D\u4E86{filename}"}},filter:{groupLabels:{noProject:"\u65E0\u9879\u76EE",noTags:"\u65E0\u6807\u7B7E",invalidDate:"\u65E0\u6548\u65E5\u671F",due:{overdue:"\u903E\u671F",today:"\u4ECA\u5929",tomorrow:"\u660E\u5929",nextSevenDays:"\u63A5\u4E0B\u6765\u4E03\u5929",later:"\u4EE5\u540E",none:"\u65E0\u5230\u671F\u65E5\u671F"},scheduled:{past:"\u8FC7\u53BB\u5B89\u6392",today:"\u4ECA\u5929",tomorrow:"\u660E\u5929",nextSevenDays:"\u63A5\u4E0B\u6765\u4E03\u5929",later:"\u4EE5\u540E",none:"\u65E0\u5B89\u6392\u65E5\u671F"}},errors:{noDatesProvided:"\u672A\u63D0\u4F9B\u65E5\u671F"},folders:{root:"\uFF08\u6839\u76EE\u5F55\uFF09"}},instantTaskConvert:{notices:{noCheckboxTasks:"\u5728\u5F53\u524D\u7B14\u8BB0\u4E2D\u672A\u627E\u5230\u590D\u9009\u6846\u4EFB\u52A1\u3002",convertingTasks:"\u6B63\u5728\u8F6C\u6362{count}\u4E2A\u4EFB\u52A1{plural}...",conversionSuccess:"\u2705 \u6210\u529F\u5C06{count}\u4E2A\u4EFB\u52A1{plural}\u8F6C\u6362\u4E3ATaskNotes\uFF01",partialConversion:"\u8F6C\u6362\u4E86{successCount}\u4E2A\u4EFB\u52A1{successPlural}\u3002{failureCount}\u4E2A\u5931\u8D25\u3002",batchConversionFailed:"\u6279\u91CF\u8F6C\u6362\u5931\u8D25\u3002\u8BF7\u91CD\u8BD5\u3002",invalidParameters:"\u65E0\u6548\u7684\u8F93\u5165\u53C2\u6570\u3002",emptyLine:"\u5F53\u524D\u884C\u4E3A\u7A7A\u6216\u4E0D\u5305\u542B\u6709\u6548\u5185\u5BB9\u3002",parseError:"\u89E3\u6790\u4EFB\u52A1\u9519\u8BEF\uFF1A{error}",invalidTaskData:"\u65E0\u6548\u7684\u4EFB\u52A1\u6570\u636E\u3002",replaceLineFailed:"\u66FF\u6362\u4EFB\u52A1\u884C\u5931\u8D25\u3002",conversionComplete:"\u4EFB\u52A1\u5DF2\u8F6C\u6362\uFF1A{title}",conversionCompleteShortened:'\u4EFB\u52A1\u5DF2\u8F6C\u6362\uFF1A"{title}"\uFF08\u56E0\u957F\u5EA6\u800C\u7F29\u77ED\u6587\u4EF6\u540D\uFF09',fileExists:"\u6B64\u540D\u79F0\u7684\u6587\u4EF6\u5DF2\u5B58\u5728\u3002\u8BF7\u91CD\u8BD5\u6216\u91CD\u547D\u540D\u4EFB\u52A1\u3002",conversionFailed:"\u8F6C\u6362\u4EFB\u52A1\u5931\u8D25\u3002\u8BF7\u91CD\u8BD5\u3002"}},icsNote:{notices:{templateNotFound:"\u627E\u4E0D\u5230\u6A21\u677F\uFF1A{path}",templateProcessError:"\u5904\u7406\u6A21\u677F\u9519\u8BEF\uFF1A{template}",linkedToEvent:"\u5DF2\u5C06\u7B14\u8BB0\u94FE\u63A5\u5230ICS\u4E8B\u4EF6\uFF1A{title}"}},task:{notices:{templateNotFound:"\u627E\u4E0D\u5230\u4EFB\u52A1\u6B63\u6587\u6A21\u677F\uFF1A{path}",templateReadError:"\u8BFB\u53D6\u4EFB\u52A1\u6B63\u6587\u6A21\u677F\u9519\u8BEF\uFF1A{template}",moveTaskFailed:"\u79FB\u52A8{operation}\u4EFB\u52A1\u5931\u8D25\uFF1A{error}"}},autoExport:{notices:{exportFailed:"TaskNotes\u81EA\u52A8\u5BFC\u51FA\u5931\u8D25\uFF1A{error}"}}},ui:{icsCard:{untitledEvent:"\u65E0\u6807\u9898\u4E8B\u4EF6",allDay:"\u5168\u5929",calendarEvent:"\u65E5\u5386\u4E8B\u4EF6",calendarFallback:"\u65E5\u5386"},noteCard:{createdLabel:"\u521B\u5EFA\uFF1A",dailyBadge:"\u65E5\u8BB0",dailyTooltip:"\u65E5\u8BB0"},taskCard:{labels:{due:"\u622A\u6B62\u65E5\u671F",scheduled:"\u5DF2\u8BA1\u5212",recurrence:"\u91CD\u590D",completed:"\u5DF2\u5B8C\u6210",created:"\u521B\u5EFA\u4E8E",modified:"\u4FEE\u6539\u4E8E",blocked:"\u88AB\u963B\u585E",blocking:"\u963B\u585E\u4E2D"},blockedBadge:"\u5DF2\u963B\u585E",blockedBadgeTooltip:"\u6B64\u4EFB\u52A1\u6B63\u5728\u7B49\u5F85\u5176\u4ED6\u4EFB\u52A1",blockingBadge:"\u963B\u585E\u4E2D",blockingBadgeTooltip:"\u6B64\u4EFB\u52A1\u6B63\u5728\u963B\u585E\u5176\u4ED6\u4EFB\u52A1",blockingToggle:"\u963B\u585E {count} \u4E2A\u4EFB\u52A1",priorityAriaLabel:"\u4F18\u5148\u7EA7: {label}",taskOptions:"\u4EFB\u52A1\u9009\u9879",recurrenceTooltip:"{label}: {value}",reminderTooltipOne:"\u5DF2\u8BBE\u7F6E 1 \u4E2A\u63D0\u9192\uFF08\u70B9\u51FB\u7BA1\u7406\uFF09",reminderTooltipMany:"\u5DF2\u8BBE\u7F6E {count} \u4E2A\u63D0\u9192\uFF08\u70B9\u51FB\u7BA1\u7406\uFF09",projectTooltip:"\u6B64\u4EFB\u52A1\u7528\u4F5C\u9879\u76EE\uFF08\u70B9\u51FB\u53EF\u7B5B\u9009\u5B50\u4EFB\u52A1\uFF09",expandSubtasks:"\u5C55\u5F00\u5B50\u4EFB\u52A1",collapseSubtasks:"\u6298\u53E0\u5B50\u4EFB\u52A1",dueToday:"{label}: \u4ECA\u5929",dueTodayAt:"{label}: \u4ECA\u5929 {time}",dueOverdue:"{label}: {display}\uFF08\u903E\u671F\uFF09",dueLabel:"{label}: {display}",scheduledToday:"{label}: \u4ECA\u5929",scheduledTodayAt:"{label}: \u4ECA\u5929 {time}",scheduledPast:"{label}: {display}\uFF08\u8FC7\u671F\uFF09",scheduledLabel:"{label}: {display}",loadingDependencies:"\u6B63\u5728\u52A0\u8F7D\u4F9D\u8D56\u2026",blockingEmpty:"\u6CA1\u6709\u4F9D\u8D56\u7684\u4EFB\u52A1",blockingLoadError:"\u65E0\u6CD5\u52A0\u8F7D\u4F9D\u8D56",googleCalendarSyncTooltip:"\u5DF2\u540C\u6B65\u5230Google\u65E5\u5386"},propertyEventCard:{unknownFile:"\u672A\u77E5\u6587\u4EF6"},filterHeading:{allViewName:"\u5168\u90E8"},filterBar:{saveView:"\u4FDD\u5B58\u89C6\u56FE",saveViewNamePlaceholder:"\u8F93\u5165\u89C6\u56FE\u540D\u79F0...",saveButton:"\u4FDD\u5B58",views:"\u89C6\u56FE",savedFilterViews:"\u5DF2\u4FDD\u5B58\u7684\u8FC7\u6EE4\u89C6\u56FE",filters:"\u8FC7\u6EE4\u5668",properties:"\u5C5E\u6027",sort:"\u6392\u5E8F",newTask:"\u65B0\u5EFA",expandAllGroups:"\u5C55\u5F00\u6240\u6709\u5206\u7EC4",collapseAllGroups:"\u6298\u53E0\u6240\u6709\u5206\u7EC4",searchTasksPlaceholder:"\u641C\u7D22\u4EFB\u52A1...",searchTasksTooltip:"\u641C\u7D22\u4EFB\u52A1\u6807\u9898",filterUnavailable:"\u8FC7\u6EE4\u680F\u6682\u65F6\u4E0D\u53EF\u7528",toggleFilter:"\u5207\u6362\u8FC7\u6EE4\u5668",activeFiltersTooltip:"\u6D3B\u52A8\u8FC7\u6EE4\u5668 \u2013 \u70B9\u51FB\u4FEE\u6539\uFF0C\u53F3\u952E\u6E05\u9664",configureVisibleProperties:"\u914D\u7F6E\u53EF\u89C1\u5C5E\u6027",sortAndGroupOptions:"\u6392\u5E8F\u548C\u5206\u7EC4\u9009\u9879",sortMenuHeader:"\u6392\u5E8F",orderMenuHeader:"\u987A\u5E8F",groupMenuHeader:"\u5206\u7EC4",createNewTask:"\u521B\u5EFA\u65B0\u4EFB\u52A1",filter:"\u8FC7\u6EE4\u5668",displayOrganization:"\u663E\u793A\u548C\u7EC4\u7EC7",viewOptions:"\u89C6\u56FE\u9009\u9879",addFilter:"\u6DFB\u52A0\u8FC7\u6EE4\u5668",addFilterGroup:"\u6DFB\u52A0\u8FC7\u6EE4\u7EC4",addFilterTooltip:"\u6DFB\u52A0\u65B0\u7684\u8FC7\u6EE4\u6761\u4EF6",addFilterGroupTooltip:"\u6DFB\u52A0\u5D4C\u5957\u8FC7\u6EE4\u7EC4",clearAllFilters:"\u6E05\u9664\u6240\u6709\u8FC7\u6EE4\u5668\u548C\u7EC4",saveCurrentFilter:"\u5C06\u5F53\u524D\u8FC7\u6EE4\u5668\u4FDD\u5B58\u4E3A\u89C6\u56FE",closeFilterModal:"\u5173\u95ED\u8FC7\u6EE4\u6A21\u6001\u6846",deleteFilterGroup:"\u5220\u9664\u8FC7\u6EE4\u7EC4",deleteCondition:"\u5220\u9664\u6761\u4EF6",all:"\u5168\u90E8",any:"\u4EFB\u4F55",followingAreTrue:"\u4EE5\u4E0B\u4E3A\u771F\uFF1A",where:"\u5176\u4E2D",selectProperty:"\u9009\u62E9...",chooseProperty:"\u9009\u62E9\u8981\u8FC7\u6EE4\u7684\u4EFB\u52A1\u5C5E\u6027",chooseOperator:"\u9009\u62E9\u5982\u4F55\u6BD4\u8F83\u5C5E\u6027\u503C",enterValue:"\u8F93\u5165\u8981\u8FC7\u6EE4\u7684\u503C",selectValue:"\u9009\u62E9\u8981\u8FC7\u6EE4\u7684{property}",sortBy:"\u6392\u5E8F\u4F9D\u636E\uFF1A",toggleSortDirection:"\u5207\u6362\u6392\u5E8F\u65B9\u5411",chooseSortMethod:"\u9009\u62E9\u5982\u4F55\u6392\u5E8F\u4EFB\u52A1",groupBy:"\u5206\u7EC4\u4F9D\u636E\uFF1A",chooseGroupMethod:"\u6309\u5171\u540C\u5C5E\u6027\u5206\u7EC4\u4EFB\u52A1",toggleViewOption:"\u5207\u6362{option}",expandCollapseFilters:"\u70B9\u51FB\u5C55\u5F00/\u6298\u53E0\u8FC7\u6EE4\u6761\u4EF6",expandCollapseSort:"\u70B9\u51FB\u5C55\u5F00/\u6298\u53E0\u6392\u5E8F\u548C\u5206\u7EC4\u9009\u9879",expandCollapseViewOptions:"\u70B9\u51FB\u5C55\u5F00/\u6298\u53E0\u89C6\u56FE\u7279\u5B9A\u9009\u9879",naturalLanguageDates:"\u81EA\u7136\u8BED\u8A00\u65E5\u671F",naturalLanguageExamples:"\u663E\u793A\u81EA\u7136\u8BED\u8A00\u65E5\u671F\u793A\u4F8B",enterNumericValue:"\u8F93\u5165\u8981\u8FC7\u6EE4\u7684\u6570\u503C",enterDateValue:"\u4F7F\u7528\u81EA\u7136\u8BED\u8A00\u6216ISO\u683C\u5F0F\u8F93\u5165\u65E5\u671F",pickDateTime:"\u9009\u62E9\u65E5\u671F\u548C\u65F6\u95F4",noSavedViews:"\u6CA1\u6709\u4FDD\u5B58\u7684\u89C6\u56FE",savedViews:"\u4FDD\u5B58\u7684\u89C6\u56FE",yourSavedFilters:"\u60A8\u4FDD\u5B58\u7684\u8FC7\u6EE4\u914D\u7F6E",dragToReorder:"\u62D6\u62FD\u91CD\u65B0\u6392\u5E8F\u89C6\u56FE",loadSavedView:"\u52A0\u8F7D\u4FDD\u5B58\u7684\u89C6\u56FE\uFF1A{name}",deleteView:"\u5220\u9664\u89C6\u56FE",deleteViewTitle:"\u5220\u9664\u89C6\u56FE",deleteViewMessage:'\u60A8\u786E\u5B9A\u8981\u5220\u9664\u89C6\u56FE"{name}"\u5417\uFF1F',manageAllReminders:"\u7BA1\u7406\u6240\u6709\u63D0\u9192...",clearAllReminders:"\u6E05\u9664\u6240\u6709\u63D0\u9192",customRecurrence:"\u81EA\u5B9A\u4E49\u91CD\u590D...",clearRecurrence:"\u6E05\u9664\u91CD\u590D",sortOptions:{dueDate:"\u5230\u671F\u65E5\u671F",scheduledDate:"\u5B89\u6392\u65E5\u671F",priority:"\u4F18\u5148\u7EA7",status:"\u72B6\u6001",title:"\u6807\u9898",createdDate:"\u521B\u5EFA\u65E5\u671F",tags:"\u6807\u7B7E",ascending:"\u5347\u5E8F",descending:"\u964D\u5E8F"},group:{none:"\u65E0",status:"\u72B6\u6001",priority:"\u4F18\u5148\u7EA7",context:"\u4E0A\u4E0B\u6587",project:"\u9879\u76EE",dueDate:"\u5230\u671F\u65E5\u671F",scheduledDate:"\u5B89\u6392\u65E5\u671F",tags:"\u6807\u7B7E",completedDate:"\u5B8C\u6210\u65E5\u671F"},subgroupLabel:"\u5B50\u7EC4",notices:{propertiesMenuFailed:"\u663E\u793A\u5C5E\u6027\u83DC\u5355\u5931\u8D25"}}},components:{dateContextMenu:{weekdays:"\u5DE5\u4F5C\u65E5",clearDate:"\u6E05\u9664\u65E5\u671F",today:"\u4ECA\u5929",tomorrow:"\u660E\u5929",thisWeekend:"\u8FD9\u4E2A\u5468\u672B",nextWeek:"\u4E0B\u5468",nextMonth:"\u4E0B\u4E2A\u6708",setDateTime:"\u8BBE\u7F6E\u65E5\u671F\u548C\u65F6\u95F4",dateLabel:"\u65E5\u671F",timeLabel:"\u65F6\u95F4\uFF08\u53EF\u9009\uFF09"},subgroupMenuBuilder:{none:"\u65E0",status:"\u72B6\u6001",priority:"\u4F18\u5148\u7EA7",context:"\u4E0A\u4E0B\u6587",project:"\u9879\u76EE",dueDate:"\u622A\u6B62\u65E5\u671F",scheduledDate:"\u8BA1\u5212\u65E5\u671F",tags:"\u6807\u7B7E",completedDate:"\u5B8C\u6210\u65E5\u671F",subgroup:"\u5B50\u7EC4"},propertyVisibilityDropdown:{coreProperties:"\u6838\u5FC3\u5C5E\u6027",organization:"\u7EC4\u7EC7",customProperties:"\u81EA\u5B9A\u4E49\u5C5E\u6027",failed:"\u663E\u793A\u5C5E\u6027\u83DC\u5355\u5931\u8D25",properties:{statusDot:"\u72B6\u6001\u70B9",priorityDot:"\u4F18\u5148\u7EA7\u70B9",dueDate:"\u5230\u671F\u65E5\u671F",scheduledDate:"\u5B89\u6392\u65E5\u671F",timeEstimate:"\u65F6\u95F4\u4F30\u8BA1",totalTrackedTime:"\u603B\u8DDF\u8E2A\u65F6\u95F4",checklistProgress:"\u6E05\u5355\u8FDB\u5EA6",recurrence:"\u91CD\u590D",completedDate:"\u5B8C\u6210\u65E5\u671F",createdDate:"\u521B\u5EFA\u65E5\u671F",modifiedDate:"\u4FEE\u6539\u65E5\u671F",projects:"\u9879\u76EE",contexts:"\u4E0A\u4E0B\u6587",tags:"\u6807\u7B7E",blocked:"\u5DF2\u963B\u585E",blocking:"\u963B\u585E\u4E2D"}},reminderContextMenu:{remindBeforeDue:"\u5230\u671F\u524D\u63D0\u9192...",remindBeforeScheduled:"\u5B89\u6392\u524D\u63D0\u9192...",manageAllReminders:"\u7BA1\u7406\u6240\u6709\u63D0\u9192...",clearAllReminders:"\u6E05\u9664\u6240\u6709\u63D0\u9192",quickReminders:{atTime:"\u5728\u4E8B\u4EF6\u65F6\u95F4",fiveMinutesBefore:"\u63D0\u524D5\u5206\u949F",fifteenMinutesBefore:"\u63D0\u524D15\u5206\u949F",oneHourBefore:"\u63D0\u524D1\u5C0F\u65F6",oneDayBefore:"\u63D0\u524D1\u5929"}},recurrenceContextMenu:{daily:"\u6BCF\u65E5",weeklyOn:"\u6BCF\u5468{day}",everyTwoWeeksOn:"\u6BCF2\u5468{day}",monthlyOnThe:"\u6BCF\u6708{ordinal}",everyThreeMonthsOnThe:"\u6BCF3\u4E2A\u6708{ordinal}",yearlyOn:"\u6BCF\u5E74{month}{ordinal}",weekdaysOnly:"\u4EC5\u5DE5\u4F5C\u65E5",dailyAfterCompletion:"\u6BCF\u65E5\uFF08\u5B8C\u6210\u540E\uFF09",every3DaysAfterCompletion:"\u6BCF3\u5929\uFF08\u5B8C\u6210\u540E\uFF09",weeklyAfterCompletion:"\u6BCF\u5468\uFF08\u5B8C\u6210\u540E\uFF09",monthlyAfterCompletion:"\u6BCF\u6708\uFF08\u5B8C\u6210\u540E\uFF09",customRecurrence:"\u81EA\u5B9A\u4E49\u91CD\u590D...",clearRecurrence:"\u6E05\u9664\u91CD\u590D",customRecurrenceModal:{title:"\u81EA\u5B9A\u4E49\u91CD\u590D",startDate:"\u5F00\u59CB\u65E5\u671F",startDateDesc:"\u91CD\u590D\u6A21\u5F0F\u5F00\u59CB\u7684\u65E5\u671F",startTime:"\u5F00\u59CB\u65F6\u95F4",startTimeDesc:"\u91CD\u590D\u5B9E\u4F8B\u5E94\u51FA\u73B0\u7684\u65F6\u95F4\uFF08\u53EF\u9009\uFF09",recurFrom:"\u91CD\u590D\u8D77\u70B9",recurFromDesc:"\u4E0B\u6B21\u91CD\u590D\u5E94\u4F55\u65F6\u8BA1\u7B97\uFF1F",scheduledDate:"\u8BA1\u5212\u65E5\u671F",completionDate:"\u5B8C\u6210\u65E5\u671F",frequency:"\u9891\u7387",interval:"\u95F4\u9694",intervalDesc:"\u6BCFX\u5929/\u5468/\u6708/\u5E74",daysOfWeek:"\u4E00\u5468\u4E2D\u7684\u5929",daysOfWeekDesc:"\u9009\u62E9\u7279\u5B9A\u5929\uFF08\u7528\u4E8E\u6BCF\u5468\u91CD\u590D\uFF09",monthlyRecurrence:"\u6BCF\u6708\u91CD\u590D",monthlyRecurrenceDesc:"\u9009\u62E9\u5982\u4F55\u6BCF\u6708\u91CD\u590D",yearlyRecurrence:"\u6BCF\u5E74\u91CD\u590D",yearlyRecurrenceDesc:"\u9009\u62E9\u5982\u4F55\u6BCF\u5E74\u91CD\u590D",endCondition:"\u7ED3\u675F\u6761\u4EF6",endConditionDesc:"\u9009\u62E9\u91CD\u590D\u4F55\u65F6\u7ED3\u675F",neverEnds:"\u6C38\u4E0D\u7ED3\u675F",endAfterOccurrences:"{count}\u6B21\u540E\u7ED3\u675F",endOnDate:"\u5728{date}\u7ED3\u675F",onDayOfMonth:"\u6BCF\u6708{day}\u65E5",onTheWeekOfMonth:"\u6BCF\u6708\u7B2C{week}\u4E2A{day}",onDateOfYear:"\u6BCF\u5E74{month}{day}",onTheWeekOfYear:"\u6BCF\u5E74{month}\u7B2C{week}\u4E2A{day}",frequencies:{daily:"\u6BCF\u65E5",weekly:"\u6BCF\u5468",monthly:"\u6BCF\u6708",yearly:"\u6BCF\u5E74"},weekPositions:{first:"\u7B2C\u4E00",second:"\u7B2C\u4E8C",third:"\u7B2C\u4E09",fourth:"\u7B2C\u56DB",last:"\u6700\u540E"},weekdays:{monday:"\u661F\u671F\u4E00",tuesday:"\u661F\u671F\u4E8C",wednesday:"\u661F\u671F\u4E09",thursday:"\u661F\u671F\u56DB",friday:"\u661F\u671F\u4E94",saturday:"\u661F\u671F\u516D",sunday:"\u661F\u671F\u65E5"},weekdaysShort:{mon:"\u5468\u4E00",tue:"\u5468\u4E8C",wed:"\u5468\u4E09",thu:"\u5468\u56DB",fri:"\u5468\u4E94",sat:"\u5468\u516D",sun:"\u5468\u65E5"},cancel:"\u53D6\u6D88",save:"\u4FDD\u5B58"}}}};var xde={common:{appName:"TaskNotes",new:"Neu",cancel:"Abbrechen",confirm:"Best\xE4tigen",close:"Schlie\xDFen",save:"Speichern",reorder:{confirmLargeTitle:"Gro\xDFe Neuordnung best\xE4tigen",confirmButton:"Notizen neu anordnen",confirmLargeMessage:'Durch das Neuordnen werden in {count} Notizen die Werte von "{field}" aktualisiert, um eine dauerhafte manuelle Reihenfolge f\xFCr {scope} zu erstellen. Versteckte oder herausgefilterte Notizen im selben Bereich k\xF6nnen ebenfalls aktualisiert werden. Fortfahren?'},language:"Sprache",systemDefault:"Systemstandard",loading:"L\xE4dt...",languages:{en:"Englisch",fr:"Franz\xF6sisch",ru:"Russisch",zh:"Chinesisch",de:"Deutsch",es:"Spanisch",ja:"Japanisch",pt:"Portugiesisch (Brasilien)",ko:"Koreanisch"},weekdays:{sunday:"Sonntag",monday:"Montag",tuesday:"Dienstag",wednesday:"Mittwoch",thursday:"Donnerstag",friday:"Freitag",saturday:"Samstag"},months:{january:"Januar",february:"Februar",march:"M\xE4rz",april:"April",may:"Mai",june:"Juni",july:"Juli",august:"August",september:"September",october:"Oktober",november:"November",december:"Dezember"}},views:{agenda:{title:"Agenda",today:"Heute",overdue:"\xDCberf\xE4llig",refreshCalendars:"Kalender aktualisieren",actions:{previousPeriod:"Vorherige Periode",nextPeriod:"N\xE4chste Periode",goToToday:"Zu heute gehen",refreshCalendars:"Kalenderabonnements aktualisieren"},loading:"Agenda wird geladen...",dayToggle:"Tag umschalten",overdueToggle:"\xDCberf\xE4lligkeitsbereich umschalten",expandAllDays:"Alle Tage ausklappen",collapseAllDays:"Alle Tage einklappen",notices:{calendarNotReady:"Kalenderdienst noch nicht bereit",calendarRefreshed:"Kalenderabonnements aktualisiert",refreshFailed:"Aktualisierung fehlgeschlagen"},empty:{noItemsScheduled:"Keine Elemente geplant",noItemsFound:"Keine Elemente gefunden",helpText:"Erstellen Sie Aufgaben mit F\xE4lligkeits- oder Planungsdaten oder f\xFCgen Sie Notizen hinzu, um sie hier zu sehen."},contextMenu:{showOverdueSection:"\xDCberf\xE4lligkeitsbereich anzeigen",showNotes:"Notizen anzeigen",calendarSubscriptions:"Kalenderabonnements"},periods:{thisWeek:"Diese Woche"},tipPrefix:"Tipp: "},taskList:{title:"Aufgaben",expandAllGroups:"Alle Gruppen ausklappen",collapseAllGroups:"Alle Gruppen einklappen",noTasksFound:"Keine Aufgaben f\xFCr die gew\xE4hlten Filter gefunden.",reorder:{scope:{ungrouped:"diese ungegliederte Liste",group:'Gruppe "{group}"'}},errors:{formulaGroupingReadOnly:"Aufgaben in formelbasierten Gruppen k\xF6nnen nicht neu angeordnet werden. Formelwerte werden berechnet und k\xF6nnen nicht direkt ge\xE4ndert werden."}},notes:{title:"Notizen",refreshButton:"Aktualisieren",refreshingButton:"Wird aktualisiert...",notices:{indexingDisabled:"Notizindexierung deaktiviert"},empty:{noNotesFound:"Keine Notizen gefunden",helpText:"Keine Notizen f\xFCr das gew\xE4hlte Datum gefunden. Versuchen Sie, ein anderes Datum in der Mini-Kalenderansicht auszuw\xE4hlen oder erstellen Sie einige Notizen."},loading:"Notizen werden geladen...",refreshButtonAriaLabel:"Notizenliste aktualisieren"},miniCalendar:{title:"Mini-Kalender"},advancedCalendar:{title:"Kalender",filters:{showFilters:"Filter anzeigen",hideFilters:"Filter ausblenden"},viewOptions:{calendarSubscriptions:"Kalenderabonnements",timeEntries:"Zeiteintr\xE4ge",timeblocks:"Zeitbl\xF6cke",scheduledDates:"Geplante Termine",dueDates:"F\xE4lligkeitstermine",allDaySlot:"Ganzt\xE4giger Slot",scheduledTasks:"Geplante Aufgaben",recurringTasks:"Wiederkehrende Aufgaben"},buttons:{refresh:"Aktualisieren",refreshHint:"Kalenderabonnements aktualisieren"},notices:{icsServiceNotAvailable:"ICS-Abonnementdienst nicht verf\xFCgbar",calendarRefreshedAll:"Alle Kalenderabonnements wurden erfolgreich aktualisiert",refreshFailed:"Einige Kalenderabonnements konnten nicht aktualisiert werden",timeblockSpecificTime:"Zeitbl\xF6cke m\xFCssen spezifische Zeiten haben. Bitte w\xE4hlen Sie einen Zeitbereich in der Wochen- oder Tagesansicht.",timeblockMoved:'Zeitblock "{title}" wurde nach {date} verschoben',timeblockUpdated:'Zeit des Zeitblocks "{title}" aktualisiert',timeblockMoveFailed:"Fehler beim Verschieben des Zeitblocks: {message}",timeblockResized:'Dauer des Zeitblocks "{title}" aktualisiert',timeblockResizeFailed:"Fehler beim \xC4ndern der Zeitblockgr\xF6\xDFe: {message}",taskScheduled:'Aufgabe "{title}" f\xFCr {date} geplant',scheduleTaskFailed:"Fehler beim Planen der Aufgabe",endTimeAfterStart:"Endzeit muss nach der Startzeit liegen",timeEntryNotFound:"Zeiteintrag nicht gefunden",timeEntryDeleted:"Zeiteintrag gel\xF6scht",deleteTimeEntryFailed:"Fehler beim L\xF6schen des Zeiteintrags"},timeEntry:{estimatedSuffix:"gesch\xE4tzt",trackedSuffix:"erfasst",recurringPrefix:"Wiederkehrend: ",completedPrefix:"Abgeschlossen: ",createdPrefix:"Erstellt: ",modifiedPrefix:"Ge\xE4ndert: ",duePrefix:"F\xE4llig: ",scheduledPrefix:"Geplant: "},contextMenus:{openTask:"Aufgabe \xF6ffnen",deleteTimeEntry:"Zeiteintrag l\xF6schen",deleteTimeEntryTitle:"Zeiteintrag l\xF6schen",deleteTimeEntryConfirm:"M\xF6chten Sie diesen Zeiteintrag{duration} wirklich l\xF6schen? Diese Aktion kann nicht r\xFCckg\xE4ngig gemacht werden.",deleteButton:"L\xF6schen",cancelButton:"Abbrechen"}},basesCalendar:{title:"Bases-Kalender",today:"Heute",buttonText:{month:"M",week:"W",day:"T",year:"J",list:"L",customDays:"{count}T",listDays:"{count}d Liste",refresh:"Aktualisieren"},hints:{refresh:"Kalenderabonnements aktualisieren",today:"Zu heute gehen",prev:"Zur\xFCck",next:"Weiter",month:"Monatsansicht",week:"Wochenansicht",day:"Tagesansicht",year:"Jahresansicht",list:"Listenansicht",customDays:"{count}-Tage-Ansicht"},settings:{groups:{dateNavigation:"Datumsnavigation",events:"Ereignisse",layout:"Layout",propertyBasedEvents:"Eigenschaftsbasierte Ereignisse",calendarSubscriptions:"Kalenderabonnements",googleCalendars:"Google-Kalender",microsoftCalendars:"Microsoft-Kalender"},dateNavigation:{navigateToDate:"Zum Datum navigieren",navigateToDatePlaceholder:"JJJJ-MM-TT (z.B. 2025-01-15) - leer lassen, um Eigenschaft zu verwenden",navigateToDateFromProperty:"Zum Datum aus Eigenschaft navigieren",navigateToDateFromPropertyPlaceholder:"Datumseigenschaft ausw\xE4hlen (optional)",propertyNavigationStrategy:"Eigenschaftsnavigationsstrategie",strategies:{first:"Erstes Ergebnis",earliest:"Fr\xFChestes Datum",latest:"Sp\xE4testes Datum"}},events:{showScheduledTasks:"Geplante Aufgaben anzeigen",showDueTasks:"F\xE4llige Aufgaben anzeigen",showRecurringTasks:"Wiederkehrende Aufgaben anzeigen",showTimeEntries:"Zeiteintr\xE4ge anzeigen",showTimeblocks:"Zeitbl\xF6cke anzeigen",showPropertyBasedEvents:"Eigenschaftsbasierte Ereignisse anzeigen"},layout:{calendarView:"Kalenderansicht",customDayCount:"Benutzerdefinierte Tagesanzahl",listDayCount:"Anzahl der Listentage",dayStartTime:"Tagesbeginn",dayStartTimePlaceholder:"HH:mm:ss (z.B. 08:00:00)",dayEndTime:"Tagesende",dayEndTimePlaceholder:"HH:mm:ss (z.B. 20:00:00)",timeSlotDuration:"Zeitschlitzdauer",timeSlotDurationPlaceholder:"HH:mm:ss (z.B. 00:30:00)",weekStartsOn:"Woche beginnt am",showWeekNumbers:"Wochennummern anzeigen",showNowIndicator:"Jetzt-Indikator anzeigen",showWeekends:"Wochenenden anzeigen",showAllDaySlot:"Ganzt\xE4gigen Slot anzeigen",showTodayHighlight:"Heute hervorheben",todayColumnWidthMultiplier:"Multiplikator der heutigen Spaltenbreite",showSelectionPreview:"Auswahlvorschau anzeigen",timeFormat:"Zeitformat",timeFormat12:"12-Stunden (AM/PM)",timeFormat24:"24-Stunden",initialScrollTime:"Anfangsscrollzeit",initialScrollTimePlaceholder:"HH:mm:ss (z.B. 08:00:00)",minimumEventHeight:"Minimale Ereignish\xF6he (px)",slotEventOverlap:"Ereignis\xFCberlappung zulassen",enableSearch:"Suchfeld aktivieren",eventMaxStack:"Max. gestapelte Ereignisse (Wochen-/Tagesansicht, 0 = unbegrenzt)",dayMaxEvents:"Max. Ereignisse pro Tag (Monatsansicht, 0 = automatisch)",dayMaxEventRows:"Max. Ereigniszeilen pro Tag (Monatsansicht, 0 = unbegrenzt)",spanScheduledToDue:"Aufgaben zwischen geplantem und F\xE4lligkeitsdatum spannen"},propertyBasedEvents:{startDateProperty:"Startdatumseigenschaft",startDatePropertyPlaceholder:"Eigenschaft f\xFCr Startdatum/-zeit ausw\xE4hlen",endDateProperty:"Enddatumseigenschaft (optional)",endDatePropertyPlaceholder:"Eigenschaft f\xFCr Enddatum/-zeit ausw\xE4hlen",titleProperty:"Titeleigenschaft (optional)",titlePropertyPlaceholder:"Eigenschaft f\xFCr Ereignistitel ausw\xE4hlen"}},errors:{failedToInitialize:"Fehler beim Initialisieren des Kalenders"}},kanban:{title:"Kanban",newTask:"Neue Aufgabe",addCard:"+ Karte hinzuf\xFCgen",noTasks:"Keine Aufgaben",uncategorized:"Nicht kategorisiert",noProject:"Kein Projekt",reorder:{scope:{column:'Spalte "{group}"',columnInSwimlane:'Spalte "{group}" in Swimlane "{swimlane}"'}},notices:{loadFailed:"Kanban-Board konnte nicht geladen werden",movedTask:'Aufgabe verschoben zu "{0}"'},errors:{loadingBoard:"Fehler beim Laden des Boards.",noGroupBy:"Die Kanban-Ansicht erfordert eine konfigurierte 'Gruppieren nach'-Eigenschaft. Klicken Sie auf die Schaltfl\xE4che 'Sortieren' und w\xE4hlen Sie eine Eigenschaft unter 'Gruppieren nach' aus.",formulaGroupingReadOnly:"Aufgaben k\xF6nnen nicht zwischen formelbasierten Spalten verschoben werden. Formelwerte werden berechnet und k\xF6nnen nicht direkt ge\xE4ndert werden.",formulaSwimlaneReadOnly:"Aufgaben k\xF6nnen nicht zwischen formelbasierten Swimlanes verschoben werden. Formelwerte werden berechnet und k\xF6nnen nicht direkt ge\xE4ndert werden."},columnTitle:"Ohne Titel"},pomodoro:{title:"Pomodoro",status:{focus:"Fokus",ready:"Bereit zum Starten",paused:"Pausiert",working:"Arbeitet",shortBreak:"Kurze Pause",longBreak:"Lange Pause",breakPrompt:"Gro\xDFartige Arbeit! Zeit f\xFCr eine {length} Pause",breakLength:{short:"kurze",long:"lange"},breakComplete:"Pause beendet! Bereit f\xFCr den n\xE4chsten Pomodoro?"},buttons:{start:"Starten",pause:"Pausieren",stop:"Stoppen",resume:"Fortsetzen",startShortBreak:"Kurze Pause starten",startLongBreak:"Lange Pause starten",skipBreak:"Pause \xFCberspringen",chooseTask:"Aufgabe w\xE4hlen...",changeTask:"Aufgabe wechseln...",clearTask:"Aufgabe entfernen",selectDifferentTask:"Andere Aufgabe w\xE4hlen"},notices:{noTasks:"Keine unarchivierte Aufgaben gefunden. Erstelle zuerst einige Aufgaben.",loadFailed:"Aufgaben konnten nicht geladen werden"},statsLabel:"heute abgeschlossen"},pomodoroStats:{title:"Pomodoro-Statistiken",heading:"Pomodoro-Statistiken",refresh:"Aktualisieren",sections:{overview:"\xDCberblick",today:"Heute",week:"Diese Woche",allTime:"Gesamt",recent:"Aktuelle Sitzungen"},overviewCards:{todayPomos:{label:"Heutige Pomos",change:{more:"{count} mehr als gestern",less:"{count} weniger als gestern"}},totalPomos:{label:"Pomos insgesamt"},todayFocus:{label:"Heutiger Fokus",change:{more:"{duration} mehr als gestern",less:"{duration} weniger als gestern"}},totalFocus:{label:"Fokuszeit insgesamt"}},stats:{pomodoros:"Pomodoros",streak:"Serie",minutes:"Minuten",average:"Durchschn. L\xE4nge",completion:"Abschluss"},recents:{empty:"Noch keine Sitzungen aufgezeichnet",duration:"{minutes} Min",status:{completed:"Abgeschlossen",interrupted:"Unterbrochen"}}},stats:{title:"Statistiken",taskProjectStats:"Aufgaben- & Projektstatistiken",sections:{filters:"Filter",overview:"\xDCberblick",today:"Heute",thisWeek:"Diese Woche",thisMonth:"Dieser Monat",projectBreakdown:"Projektaufschl\xFCsselung",dateRange:"Datumsbereich"},filters:{minTime:"Min. Zeit (Minuten)",allTasks:"Alle Aufgaben",activeOnly:"Nur Aktive",completedOnly:"Nur Abgeschlossene"},refreshButton:"Aktualisieren",timeRanges:{allTime:"Gesamt",last7Days:"Letzte 7 Tage",last30Days:"Letzte 30 Tage",last90Days:"Letzte 90 Tage",customRange:"Benutzerdefinierter Bereich"},resetFiltersButton:"Filter zur\xFCcksetzen",dateRangeFrom:"Von",dateRangeTo:"Bis",noProject:"Kein Projekt",cards:{timeTrackedEstimated:"Zeit erfasst / gesch\xE4tzt",totalTasks:"Aufgaben gesamt",completionRate:"Abschlussrate",activeProjects:"Aktive Projekte",avgTimePerTask:"\xD8 Zeit pro Aufgabe"},labels:{tasks:"Aufgaben",completed:"Abgeschlossen",projects:"Projekte"},noProjectData:"Keine Projektdaten verf\xFCgbar",notAvailable:"N/V",noTasks:"Keine Aufgaben gefunden",loading:"L\xE4dt..."},releaseNotes:{title:"Was ist neu in TaskNotes {version}",header:"Was ist neu in TaskNotes {version}",viewAllLink:"Alle Versionshinweise auf GitHub anzeigen \u2192",starMessage:"Wenn Sie TaskNotes n\xFCtzlich finden, geben Sie ihm bitte einen Stern auf GitHub",baseFilesNotice:"> [!info] Hinweis zu den standardm\xE4\xDFigen `.base`-Dateien\n> \xC4nderungen an standardm\xE4\xDFig generierten `.base`-Vorlagen \xFCberschreiben Ihre vorhandenen `.base`-Dateien nicht, damit Ihre Anpassungen erhalten bleiben.\n> Wenn Sie die neuesten Vorlagenverbesserungen m\xF6chten, erstellen Sie die Base-Dateien neu unter **Einstellungen \u2192 TaskNotes \u2192 Allgemein \u2192 Dateien erstellen**."}},settings:{header:{documentation:"Dokumentation",documentationUrl:"https://tasknotes.dev"},tabs:{general:"Allgemein",taskProperties:"Aufgabeneigenschaften",modalFields:"Modalfelder",defaults:"Voreinstellungen & Vorlagen",appearance:"Erscheinungsbild & UI",features:"Funktionen",integrations:"Integrationen"},features:{inlineTasks:{header:"Inline-Aufgaben",description:"Einstellungen f\xFCr Aufgabenlinks und Checkbox-zu-Aufgabe-Konvertierung in Notizen."},overlays:{taskLinkToggle:{name:"Aufgabenlink-Overlay",description:"Zeige interaktive Overlays beim Hovern \xFCber Aufgabenlinks"},aliasExclusion:{name:"Overlay f\xFCr Alias-Links deaktivieren",description:"Das Aufgaben-Widget nicht anzeigen, wenn der Link einen Alias enth\xE4lt (z.B. [[Aufgabe|Alias]])."}},instantConvert:{toggle:{name:"Konvertierungs-Button neben Checkboxen anzeigen",description:"Zeige einen Inline-Button neben Markdown-Checkboxen an, der diese in TaskNotes konvertiert"},folder:{name:"Ordner f\xFCr konvertierte Aufgaben",description:"Ordner, in dem aus Checkboxen konvertierte Aufgaben erstellt werden. Leer lassen, um den Standard-Aufgabenordner zu verwenden. Verwende {{currentNotePath}} f\xFCr den Ordner der aktuellen Notiz oder {{currentNoteTitle}} f\xFCr einen Unterordner mit dem Notiztitel."}},nlp:{header:"Nat\xFCrliche Sprachverarbeitung",description:"Analysiere Daten, Priorit\xE4ten und andere Eigenschaften aus Texteingaben.",enable:{name:"Nat\xFCrliche Spracheingabe f\xFCr Aufgaben aktivieren",description:"Parse F\xE4lligkeitsdaten, Priorit\xE4ten und Kontexte aus nat\xFCrlicher Sprache beim Erstellen von Aufgaben"},defaultToScheduled:{name:"Standardm\xE4\xDFig geplant",description:"Wenn NLP ein Datum ohne Kontext erkennt, behandle es als geplant statt f\xE4llig"},language:{name:"NLP-Sprache",description:"Sprache f\xFCr nat\xFCrliche Sprachverarbeitungsmuster und Datumsanalyse"},statusTrigger:{name:"Status-Vorschlag Trigger",description:"Text zum Ausl\xF6sen von Status-Vorschl\xE4gen (leer lassen zum Deaktivieren)"}},pomodoro:{header:"Pomodoro-Timer",description:"Konfiguriere Arbeits-/Pausenintervalle f\xFCr den Pomodoro-Timer.",workDuration:{name:"Arbeitsdauer",description:"Dauer der Arbeitsintervalle in Minuten"},shortBreak:{name:"Kurze Pause",description:"Dauer der kurzen Pausen in Minuten"},longBreak:{name:"Lange Pause",description:"Dauer der langen Pausen in Minuten"},longBreakInterval:{name:"Lange Pause Intervall",description:"Anzahl der Arbeitssitzungen vor einer langen Pause"},autoStartBreaks:{name:"Pausen automatisch starten",description:"Pausentimer nach Arbeitssitzungen automatisch starten"},autoStartWork:{name:"Arbeit automatisch starten",description:"Arbeitssitzungen nach Pausen automatisch starten"},notifications:{name:"Pomodoro-Benachrichtigungen",description:"Benachrichtigungen anzeigen, wenn Pomodoro-Sitzungen enden"},mobileSidebar:{name:"Mobile Seitenleiste",description:"Wo der Pomodoro-Timer auf mobilen Ger\xE4ten ge\xF6ffnet werden soll",tab:"Notiz-Panel",left:"Linke Seitenleiste",right:"Rechte Seitenleiste"}},uiLanguage:{header:"Oberfl\xE4chensprache",description:"\xC4ndere die Sprache der TaskNotes-Men\xFCs, Hinweise und Ansichten.",dropdown:{name:"UI-Sprache",description:"W\xE4hle die Sprache f\xFCr TaskNotes-Oberfl\xE4chentexte"}},pomodoroSound:{enabledName:"Ton aktiviert",enabledDesc:"Ton abspielen, wenn Pomodoro-Sitzungen enden",volumeName:"Tonlautst\xE4rke",volumeDesc:"Lautst\xE4rke f\xFCr Pomodoro-T\xF6ne (0-100)"},dataStorage:{name:"Pomodoro-Datenspeicherung",description:"Konfiguriere, wo Pomodoro-Sitzungsdaten gespeichert und verwaltet werden.",dailyNotes:"T\xE4gliche Notizen",pluginData:"Plugin-Daten",notices:{locationChanged:"Pomodoro-Speicherort ge\xE4ndert zu {location}"}},notifications:{header:"Benachrichtigungen",description:"Konfiguriere Aufgabenerinnerungsbenachrichtigungen und Warnungen.",enableName:"Benachrichtigungen aktivieren",enableDesc:"Aufgabenerinnerungs-Benachrichtigungen aktivieren",typeName:"Benachrichtigungstyp",typeDesc:"Art der anzuzeigenden Benachrichtigungen",systemLabel:"System-Benachrichtigungen",inAppLabel:"In-App-Benachrichtigungen"},overdue:{hideCompletedName:"Abgeschlossene Aufgaben aus \xFCberf\xE4lligen ausblenden",hideCompletedDesc:"Abgeschlossene Aufgaben aus \xFCberf\xE4lligen Aufgabenberechnungen ausschlie\xDFen"},indexing:{disableName:"Notizindexierung deaktivieren",disableDesc:"Automatische Indexierung von Notizinhalten f\xFCr bessere Leistung deaktivieren"},suggestions:{debounceName:"Vorschlag-Verz\xF6gerung",debounceDesc:"Verz\xF6gerung in Millisekunden vor dem Anzeigen von Vorschl\xE4gen"},timeTracking:{autoStopName:"Zeiterfassung automatisch stoppen",autoStopDesc:"Zeiterfassung automatisch stoppen, wenn eine Aufgabe als abgeschlossen markiert wird",stopNotificationName:"Zeiterfassung-Stopp-Benachrichtigung",stopNotificationDesc:"Benachrichtigung anzeigen, wenn Zeiterfassung automatisch gestoppt wird"},recurring:{maintainOffsetName:"F\xE4lligkeitsdatum-Offset in wiederkehrenden Aufgaben beibehalten",maintainOffsetDesc:"Den Offset zwischen F\xE4lligkeitsdatum und geplantem Datum beibehalten, wenn wiederkehrende Aufgaben abgeschlossen werden",resetCheckboxesName:"Kontrollk\xE4stchen bei Wiederholung zur\xFCcksetzen",resetCheckboxesDesc:"Alle Markdown-Kontrollk\xE4stchen im Aufgabentext zur\xFCcksetzen, wenn eine wiederkehrende Aufgabe abgeschlossen und neu geplant wird"},timeblocking:{header:"Zeitblockierung",description:"Konfiguriere Zeitblockfunktionalit\xE4t f\xFCr leichte Planung in t\xE4glichen Notizen. Ziehe in Kalenderansichten, um Ereignisse zu erstellen - w\xE4hle 'Zeitblock' aus dem Kontextmen\xFC.",enableName:"Zeitblockierung aktivieren",enableDesc:"Zeitblockfunktionalit\xE4t f\xFCr leichte Planung in t\xE4glichen Notizen aktivieren. Wenn aktiviert, erscheint die Option 'Zeitblock' im Kalender-Ziehen-Kontextmen\xFC.",showBlocksName:"Zeitbl\xF6cke anzeigen",showBlocksDesc:"Zeitbl\xF6cke aus t\xE4glichen Notizen standardm\xE4\xDFig anzeigen",defaultColorName:"Standard-Zeitblockfarbe",defaultColorDesc:"Die Standardfarbe f\xFCr neue Zeitbl\xF6cke",usage:"Verwendung: Ziehe im Kalender, um Ereignisse zu erstellen. W\xE4hle 'Zeitblock' aus dem Kontextmen\xFC (nur sichtbar, wenn Zeitblockierung aktiviert ist). Ziehe, um bestehende Zeitbl\xF6cke zu verschieben. R\xE4nder anpassen, um Dauer zu \xE4ndern."},performance:{header:"Leistung & Verhalten",description:"Konfiguriere Plugin-Leistung und Verhaltensoptionen."},timeTrackingSection:{header:"Zeiterfassung",description:"Konfiguriere automatische Zeiterfassungsverhalten."},recurringSection:{header:"Wiederkehrende Aufgaben",description:"Konfiguriere Verhalten f\xFCr wiederkehrende Aufgabenverwaltung."},debugLogging:{header:"Debug-Protokollierung",description:"Konfiguriere Debug-Protokollausgaben f\xFCr die Fehlerbehebung.",enableName:"Debug-Protokollierung aktivieren",enableDesc:"Protokolliere detaillierte Drag-and-Drop- und Ansichtsdiagnosen in der Entwicklerkonsole. N\xFCtzlich zur Fehlerbehebung."}},defaults:{header:{basicDefaults:"Grundeinstellungen",dateDefaults:"Datumsvoreinstellungen",defaultReminders:"Standard-Erinnerungen",bodyTemplate:"K\xF6rpervorlage",instantTaskConversion:"Sofortige Aufgabenkonvertierung"},description:{basicDefaults:"Setze Standardwerte f\xFCr neue Aufgaben, um die Aufgabenerstellung zu beschleunigen.",dateDefaults:"Setze Standard-F\xE4lligkeits- und Planungsdaten f\xFCr neue Aufgaben.",defaultReminders:"Konfiguriere Standard-Erinnerungen, die neuen Aufgaben hinzugef\xFCgt werden.",bodyTemplate:"Konfiguriere eine Vorlagendatei f\xFCr neue Aufgabeninhalte.",instantTaskConversion:"Konfiguriere Verhalten bei sofortiger Textkonvertierung zu Aufgaben."},basicDefaults:{defaultStatus:{name:"Standardstatus",description:"Standardstatus f\xFCr neue Aufgaben"},defaultPriority:{name:"Standardpriorit\xE4t",description:"Standardpriorit\xE4t f\xFCr neue Aufgaben"},defaultContexts:{name:"Standardkontexte",description:"Kommagetrennte Liste von Standardkontexten (z.B. @zuhause, @arbeit)",placeholder:"@zuhause, @arbeit"},defaultTags:{name:"Standard-Tags",description:"Kommagetrennte Liste von Standard-Tags (ohne #)",placeholder:"wichtig, dringend"},defaultProjects:{name:"Standardprojekte",description:"Standard-Projektlinks f\xFCr neue Aufgaben",selectButton:"Projekte ausw\xE4hlen",selectTooltip:"W\xE4hle Projektnotizen zum standardm\xE4\xDFigen Verlinken",removeTooltip:"{name} aus Standardprojekten entfernen"},useParentNoteAsProject:{name:"\xDCbergeordnete Notiz als Projekt bei sofortiger Konvertierung verwenden",description:"\xDCbergeordnete Notiz automatisch als Projekt verlinken bei sofortiger Aufgabenkonvertierung"},defaultTimeEstimate:{name:"Standard-Zeitsch\xE4tzung",description:"Standard-Zeitsch\xE4tzung in Minuten (0 = kein Standard)",placeholder:"60"},defaultRecurrence:{name:"Standard-Wiederholung",description:"Standard-Wiederholungsmuster f\xFCr neue Aufgaben"}},dateDefaults:{defaultDueDate:{name:"Standard-F\xE4lligkeitsdatum",description:"Standard-F\xE4lligkeitsdatum f\xFCr neue Aufgaben"},defaultScheduledDate:{name:"Standard-Planungsdatum",description:"Standard-Planungsdatum f\xFCr neue Aufgaben"}},reminders:{addReminder:{name:"Standard-Erinnerung hinzuf\xFCgen",description:"Erstelle eine neue Standard-Erinnerung, die allen neuen Aufgaben hinzugef\xFCgt wird",buttonText:"Erinnerung hinzuf\xFCgen"},emptyState:"Keine Standard-Erinnerungen konfiguriert. F\xFCge eine Erinnerung hinzu, um automatisch \xFCber neue Aufgaben benachrichtigt zu werden.",emptyStateButton:"Erinnerung hinzuf\xFCgen",reminderDescription:"Erinnerungsbeschreibung",unnamedReminder:"Unbenannte Erinnerung",deleteTooltip:"Erinnerung l\xF6schen",fields:{description:"Beschreibung:",type:"Typ:",offset:"Offset:",unit:"Einheit:",direction:"Richtung:",relatedTo:"Bezogen auf:",date:"Datum:",time:"Zeit:"},types:{relative:"Relativ (vor/nach Aufgabendaten)",absolute:"Absolut (spezifisches Datum/Zeit)"},units:{minutes:"Minuten",hours:"Stunden",days:"Tage"},directions:{before:"vor",after:"nach"},relatedTo:{due:"F\xE4lligkeitsdatum",scheduled:"Planungsdatum"}},bodyTemplate:{useBodyTemplate:{name:"K\xF6rpervorlage verwenden",description:"Verwende eine Vorlagendatei f\xFCr Aufgabenk\xF6rperinhalte"},bodyTemplateFile:{name:"K\xF6rpervorlagendatei",description:"Pfad zur Vorlagendatei f\xFCr Aufgabenk\xF6rperinhalte. Unterst\xFCtzt Vorlagenvariablen wie {{title}}, {{date}}, {{time}}, {{priority}}, {{status}}, etc.",placeholder:"Templates/Aufgaben Vorlage.md",ariaLabel:"Pfad zur K\xF6rpervorlagendatei"},variablesHeader:"Vorlagenvariablen:",variables:{title:"{{title}} - Aufgabentitel",details:"{{details}} - Benutzergegebene Details aus Modal",date:"{{date}} - Aktuelles Datum (YYYY-MM-DD)",time:"{{time}} - Aktuelle Zeit (HH:MM)",priority:"{{priority}} - Aufgabenpriorit\xE4t",status:"{{status}} - Aufgabenstatus",contexts:"{{contexts}} - Aufgabenkontexte",tags:"{{tags}} - Aufgaben-Tags",projects:"{{projects}} - Aufgabenprojekte"}},instantConversion:{useDefaultsOnInstantConvert:{name:"Aufgabenstandards bei sofortiger Konvertierung verwenden",description:"Standard-Aufgabeneinstellungen anwenden bei sofortiger Textkonvertierung zu Aufgaben"}},options:{noDefault:"Kein Standard",none:"Keine",today:"Heute",tomorrow:"Morgen",nextWeek:"N\xE4chste Woche",daily:"T\xE4glich",weekly:"W\xF6chentlich",monthly:"Monatlich",yearly:"J\xE4hrlich"}},general:{taskStorage:{header:"Aufgabenspeicherung",description:"Konfiguriere, wo Aufgaben gespeichert und wie sie identifiziert werden.",defaultFolder:{name:"Standard-Aufgabenordner",description:"Standardort f\xFCr neue Aufgaben"},moveArchived:{name:"Archivierte Aufgaben in Ordner verschieben",description:"Archivierte Aufgaben automatisch in einen Archivordner verschieben"},archiveFolder:{name:"Archivordner",description:"Ordner zum Verschieben von Aufgaben beim Archivieren. Unterst\xFCtzt Template-Variablen wie {{year}}, {{month}}, {{priority}}, etc."}},taskIdentification:{header:"Aufgabenidentifikation",description:"W\xE4hle, wie TaskNotes Notizen als Aufgaben identifiziert.",identifyBy:{name:"Aufgaben identifizieren durch",description:"W\xE4hle, ob Aufgaben durch Tag oder durch eine Frontmatter-Eigenschaft identifiziert werden",options:{tag:"Tag",property:"Eigenschaft"}},taskTag:{name:"Aufgaben-Tag",description:"Tag, das Notizen als Aufgaben identifiziert (ohne #)"},hideIdentifyingTags:{name:"Identifikations-Tags in Aufgabenkarten ausblenden",description:"Wenn aktiviert, werden Tags, die mit dem Aufgabenidentifikations-Tag \xFCbereinstimmen (einschlie\xDFlich hierarchischer \xDCbereinstimmungen wie 'task/project'), in Aufgabenkartenanzeigen ausgeblendet"},taskProperty:{name:"Aufgabeneigenschaftsname",description:'Der Frontmatter-Eigenschaftsname (z.B. "category")'},taskPropertyValue:{name:"Aufgabeneigenschaftswert",description:'Der Wert, der eine Notiz als Aufgabe identifiziert (z.B. "task")'}},folderManagement:{header:"Ordnerverwaltung",excludedFolders:{name:"Ausgeschlossene Ordner",description:"Kommagetrennte Liste von Ordnern, die von der Aufgabenindizierung und Projektvorschl\xE4gen ausgeschlossen werden"}},frontmatter:{header:"Frontmatter",description:"Konfigurieren Sie, wie Links in Frontmatter-Eigenschaften formatiert werden.",useMarkdownLinks:{name:"Markdown-Links in Frontmatter verwenden",description:"Markdown-Links ([text](path)) anstelle von Wikilinks ([[link]]) in Frontmatter-Eigenschaften generieren.\\n\\n\u26A0\uFE0F Erfordert das Plugin 'obsidian-frontmatter-markdown-links', um korrekt zu funktionieren."}},taskInteraction:{header:"Aufgabeninteraktion",description:"Konfiguriere, wie das Klicken auf Aufgaben funktioniert.",singleClick:{name:"Einfachklick-Aktion",description:"Aktion beim Einfachklick auf eine Aufgabenkarte"},doubleClick:{name:"Doppelklick-Aktion",description:"Aktion beim Doppelklick auf eine Aufgabenkarte"},actions:{edit:"Aufgabe bearbeiten",openNote:"Notiz \xF6ffnen",none:"Keine Aktion"}},releaseNotes:{header:"Versionshinweise",description:"Aktuelle Version: {version}",showOnUpdate:{name:"Versionshinweise nach Update anzeigen",description:"Versionshinweise automatisch \xF6ffnen, wenn TaskNotes auf eine neue Version aktualisiert wird"},viewButton:{name:"Versionshinweise anzeigen",description:"Sehen Sie, was in der neuesten Version von TaskNotes neu ist",buttonText:"Versionshinweise anzeigen"}}},taskProperties:{sections:{coreProperties:"Kerneigenschaften",corePropertiesDesc:"Status und Priorit\xE4t sind die Kerneigenschaften, die den Zustand und die Wichtigkeit einer Aufgabe definieren.",dateProperties:"Datumseigenschaften",datePropertiesDesc:"Konfiguriere, wann Aufgaben f\xE4llig und geplant sind.",organizationProperties:"Organisationseigenschaften",organizationPropertiesDesc:"Organisiere Aufgaben mit Kontexten, Projekten und Tags.",taskDetails:"Aufgabendetails",taskDetailsDesc:"Zus\xE4tzliche Details wie Zeitsch\xE4tzungen, Wiederholungen und Erinnerungen.",metadataProperties:"Metadaten-Eigenschaften",metadataPropertiesDesc:"Vom System verwaltete Eigenschaften zur Verfolgung der Aufgabenhistorie.",featureProperties:"Feature-Eigenschaften",featurePropertiesDesc:"Eigenschaften, die von bestimmten TaskNotes-Funktionen wie Pomodoro-Timer und Kalender-Synchronisation verwendet werden."},propertyCard:{propertyKey:"Eigenschaftsschl\xFCssel:",default:"Standard:",nlpTrigger:"NLP-Ausl\xF6ser:",triggerChar:"Ausl\xF6serzeichen:",triggerEmpty:"Ausl\xF6ser darf nicht leer sein",triggerTooLong:"Ausl\xF6ser ist zu lang (max. 10 Zeichen)"},properties:{status:{name:"Status",description:"Verfolgt den aktuellen Zustand einer Aufgabe (z.B. todo, in-bearbeitung, erledigt). Der Status bestimmt, ob eine Aufgabe als abgeschlossen erscheint und kann die automatische Archivierung ausl\xF6sen."},priority:{name:"Priorit\xE4t",description:"Zeigt die Wichtigkeit der Aufgabe an. Wird zum Sortieren und Filtern verwendet. Werte werden in Bases-Ansichten alphabetisch sortiert, verwende daher Pr\xE4fixe wie 1-, 2- zur Steuerung der Reihenfolge."},due:{name:"F\xE4lligkeitsdatum",description:"Der Termin, bis zu dem eine Aufgabe abgeschlossen sein muss. Aufgaben nach ihrem F\xE4lligkeitsdatum erscheinen als \xFCberf\xE4llig. Wird als Datum im Frontmatter gespeichert."},scheduled:{name:"Geplantes Datum",description:"Wann du planst, an einer Aufgabe zu arbeiten. Im Gegensatz zum F\xE4lligkeitsdatum repr\xE4sentiert dies deine beabsichtigte Startzeit. Aufgaben erscheinen im Kalender zu ihrem geplanten Datum/Uhrzeit."},contexts:{name:"Kontexte",description:"Orte oder Bedingungen, unter denen eine Aufgabe erledigt werden kann (z.B. @zuhause, @b\xFCro, @telefon). N\xFCtzlich zum Filtern von Aufgaben nach deiner aktuellen Situation. Wird als Liste gespeichert."},projects:{name:"Projekte",description:"Links zu Projektnotizen, zu denen diese Aufgabe geh\xF6rt. Wird als Wikilinks gespeichert (z.B. [[Projektname]]). Aufgaben k\xF6nnen zu mehreren Projekten geh\xF6ren."},tags:{name:"Tags",description:"Native Obsidian-Tags zur Kategorisierung von Aufgaben. Diese werden in der Tags-Frontmatter-Eigenschaft gespeichert und funktionieren mit Obsidians Tag-Funktionen."},timeEstimate:{name:"Zeitsch\xE4tzung",description:"Gesch\xE4tzte Minuten zur Fertigstellung der Aufgabe. Wird f\xFCr Zeitplanung und Arbeitsbelastungsplanung verwendet. Wird auf Aufgabenkarten und Kalenderereignissen angezeigt."},recurrence:{name:"Wiederholung",description:"Muster f\xFCr wiederholende Aufgaben (t\xE4glich, w\xF6chentlich, monatlich, j\xE4hrlich oder benutzerdefinierte RRULE). Wenn eine wiederkehrende Aufgabe abgeschlossen wird, wird ihr geplantes Datum automatisch auf das n\xE4chste Vorkommen aktualisiert."},recurrenceAnchor:{name:"Wiederholungsanker",description:"Bestimmt, wie das n\xE4chste Vorkommen berechnet wird: 'scheduled' verwendet das geplante Datum, 'completion' verwendet das tats\xE4chliche Abschlussdatum."},reminders:{name:"Erinnerungen",description:"Benachrichtigungen, die vor F\xE4lligkeits- oder geplanten Terminen ausgel\xF6st werden. Wird als Liste von Erinnerungsobjekten mit Timing und optionaler Beschreibung gespeichert."},title:{name:"Titel",description:"Der Aufgabenname. Kann im Frontmatter oder im Dateinamen gespeichert werden (wenn 'Titel im Dateinamen speichern' aktiviert ist)."},dateCreated:{name:"Erstellungsdatum",description:"Zeitstempel, wann die Aufgabe erstellt wurde. Wird automatisch gesetzt und zum Sortieren nach Erstellungsreihenfolge verwendet."},dateModified:{name:"\xC4nderungsdatum",description:"Zeitstempel der letzten \xC4nderung an der Aufgabe. Wird automatisch aktualisiert, wenn sich eine Aufgabeneigenschaft \xE4ndert."},completedDate:{name:"Abschlussdatum",description:"Zeitstempel, wann die Aufgabe als erledigt markiert wurde. Wird automatisch gesetzt, wenn der Status auf einen abgeschlossenen Zustand wechselt."},archiveTag:{name:"Archiv-Tag",description:"Tag, das zu Aufgaben hinzugef\xFCgt wird, wenn sie archiviert werden. Wird verwendet, um archivierte Aufgaben zu identifizieren und kann das Verschieben von Dateien in den Archivordner ausl\xF6sen."},timeEntries:{name:"Zeiteintr\xE4ge",description:"Aufzeichnungen von Zeiterfassungssitzungen f\xFCr diese Aufgabe. Jeder Eintrag speichert Start- und Endzeitstempel. Wird zur Berechnung der Gesamtzeit verwendet."},completeInstances:{name:"Abgeschlossene Instanzen",description:"Abschlusshistorie f\xFCr wiederkehrende Aufgaben. Speichert Daten, an denen jede Instanz abgeschlossen wurde, um doppelte Abschl\xFCsse zu verhindern."},skippedInstances:{name:"\xDCbersprungene Instanzen",description:"\xDCbersprungene Vorkommen f\xFCr wiederkehrende Aufgaben. Speichert Daten von Instanzen, die \xFCbersprungen statt abgeschlossen wurden."},blockedBy:{name:"Blockiert durch",description:"Links zu Aufgaben, die vor dieser abgeschlossen werden m\xFCssen. Wird als Wikilinks gespeichert. Blockierte Aufgaben zeigen einen visuellen Indikator an."},sortOrder:{name:"Manuelle Reihenfolge",description:"Die Frontmatter-Eigenschaft f\xFCr die manuelle Sortierung per Drag-and-Drop. Die Ansicht muss nach dieser Eigenschaft sortiert sein, damit Drag-and-Drop-Reihenfolge funktioniert."},pomodoros:{name:"Pomodoros",description:"Anzahl abgeschlossener Pomodoro-Sitzungen. Wenn die Datenspeicherung auf 'Tagesnotizen' eingestellt ist, wird dies in Tagesnotizen statt in Aufgabendateien geschrieben."},icsEventId:{name:"ICS-Ereignis-ID",description:"Eindeutige Kennung, die eine Notiz mit einem ICS-Kalenderereignis verkn\xFCpft. Wird automatisch hinzugef\xFCgt, wenn Notizen aus Kalenderereignissen erstellt werden."},icsEventTag:{name:"ICS-Ereignis-Tag",description:"Tag zur Identifizierung von Notizen, die aus ICS-Kalenderereignissen erstellt wurden. Wird verwendet, um kalendergenerierte Notizen von regul\xE4ren Aufgaben zu unterscheiden."}},statusCard:{valuesHeader:"Statuswerte"},priorityCard:{valuesHeader:"Priorit\xE4tswerte"},projectsCard:{defaultProjects:"Standardprojekte:",useParentNote:"\xDCbergeordnete Notiz als Projekt verwenden:",noDefaultProjects:"Keine Standardprojekte ausgew\xE4hlt",autosuggestFilters:"Autovorschlag-Filter",customizeDisplay:"Anzeige anpassen",filtersOn:"Filter aktiv"},titleCard:{storeTitleInFilename:"Titel im Dateinamen speichern:",storedInFilename:"Im Dateinamen gespeichert",filenameUpdatesWithTitle:"Der Dateiname wird automatisch aktualisiert, wenn sich der Aufgabentitel \xE4ndert.",filenameFormat:"Dateinamenformat:",customTemplate:"Benutzerdefinierte Vorlage:",legacySyntaxWarning:"Die Syntax mit einfachen Klammern wie {title} ist veraltet. Bitte verwenden Sie stattdessen die Syntax mit doppelten Klammern {{title}} f\xFCr Konsistenz mit Body-Vorlagen."},tagsCard:{nativeObsidianTags:"Verwendet native Obsidian-Tags"},remindersCard:{defaultReminders:"Standarderinnerungen"},taskStatuses:{header:"Aufgabenstatus",description:"Passe die verf\xFCgbaren Statusoptionen f\xFCr deine Aufgaben an. Diese Status steuern den Aufgabenlebenszyklus und bestimmen, wann Aufgaben als abgeschlossen gelten.",howTheyWork:{title:"Wie Status funktionieren:",value:'Wert: Der interne Bezeichner, der in deinen Aufgabendateien gespeichert wird (z.B. "in-progress")',label:'Label: Der Anzeigename in der Benutzeroberfl\xE4che (z.B. "In Bearbeitung")',color:"Farbe: Visuelle Indikatorfarbe f\xFCr Statuspunkt und Abzeichen",icon:'Symbol: Optionaler Lucide-Symbolname zur Anzeige anstelle des farbigen Punktes (z.B. "check", "circle", "clock"). Symbole unter lucide.dev durchsuchen',completed:"Abgeschlossen: Wenn angehakt, werden Aufgaben mit diesem Status als fertig betrachtet und k\xF6nnen anders gefiltert werden",autoArchive:"Auto-Archivierung: Wenn aktiviert, werden Aufgaben nach der angegebenen Verz\xF6gerung automatisch archiviert (1-1440 Minuten)",orderNote:"Die Reihenfolge unten bestimmt die Sequenz beim Durchschalten der Status durch Klicken auf Aufgabenstatus-Abzeichen."},addNew:{name:"Neuen Status hinzuf\xFCgen",description:"Erstelle eine neue Statusoption f\xFCr deine Aufgaben",buttonText:"Status hinzuf\xFCgen"},validationNote:'Hinweis: Du musst mindestens 2 Status haben, und mindestens ein Status muss als "Abgeschlossen" markiert sein.',emptyState:"Keine benutzerdefinierten Status konfiguriert. F\xFCge einen Status hinzu, um zu beginnen.",emptyStateButton:"Status hinzuf\xFCgen",fields:{value:"Wert:",label:"Label:",color:"Farbe:",icon:"Symbol:",completed:"Abgeschlossen:",autoArchive:"Auto-Archivierung:",delayMinutes:"Verz\xF6gerung (Minuten):"},placeholders:{value:"in-bearbeitung",label:"In Bearbeitung",icon:"check, circle, clock"},badges:{completed:"Abgeschlossen"},deleteConfirm:'Bist du sicher, dass du den Status "{label}" l\xF6schen m\xF6chtest?'},taskPriorities:{header:"Aufgabenpriorit\xE4ten",description:"Passe die verf\xFCgbaren Priorit\xE4tsstufen f\xFCr deine Aufgaben an. Ab v4.0+ werden Priorit\xE4ten in Bases-Ansichten alphabetisch nach ihrem Wert sortiert.",howTheyWork:{title:"Wie Priorit\xE4ten funktionieren:",value:'Wert: Der interne Bezeichner, der in deinen Aufgabendateien gespeichert wird. Verwende Pr\xE4fixe wie "1-dringend", "2-hoch", um die Sortierreihenfolge in Bases-Ansichten zu steuern.',label:'Anzeigelabel: Der Anzeigename in der Benutzeroberfl\xE4che (z.B. "Hohe Priorit\xE4t")',color:"Farbe: Visuelle Indikatorfarbe f\xFCr Priorit\xE4tspunkt und Abzeichen",weight:"Gewicht: Numerischer Wert f\xFCr Sortierung (h\xF6here Gewichte erscheinen zuerst in Listen)",weightNote:"Aufgaben werden automatisch nach Priorit\xE4tsgewicht in absteigender Reihenfolge sortiert (h\xF6chstes Gewicht zuerst). Gewichte k\xF6nnen beliebige positive Zahlen sein."},addNew:{name:"Neue Priorit\xE4t hinzuf\xFCgen",description:"Erstelle eine neue Priorit\xE4tsstufe f\xFCr deine Aufgaben",buttonText:"Priorit\xE4t hinzuf\xFCgen"},validationNote:"Hinweis: Du musst mindestens 1 Priorit\xE4t haben. Priorit\xE4ten werden alphabetisch nach Wert in Bases-Ansichten sortiert.",emptyState:"Keine benutzerdefinierten Priorit\xE4ten konfiguriert. F\xFCge eine Priorit\xE4t hinzu, um zu beginnen.",emptyStateButton:"Priorit\xE4t hinzuf\xFCgen",fields:{value:"Wert:",label:"Label:",color:"Farbe:",weight:"Gewicht:"},placeholders:{value:"hoch",label:"Hohe Priorit\xE4t"},weightLabel:"Gewicht: {weight}",deleteConfirm:"Du musst mindestens eine Priorit\xE4t haben",deleteTooltip:"Priorit\xE4t l\xF6schen"},fieldMapping:{header:"Feldzuordnung",warning:"\u26A0\uFE0F Warnung: TaskNotes wird diese Eigenschaftsnamen LESEN UND SCHREIBEN. Das \xC4ndern nach dem Erstellen von Aufgaben kann Inkonsistenzen verursachen.",description:"Konfiguriere, welche Frontmatter-Eigenschaften TaskNotes f\xFCr jedes Feld verwenden soll.",resetButton:{name:"Feldzuordnungen zur\xFCcksetzen",description:"Alle Feldzuordnungen auf Standardwerte zur\xFCcksetzen",buttonText:"Auf Standard zur\xFCcksetzen"},notices:{resetSuccess:"Feldzuordnungen auf Standard zur\xFCckgesetzt",resetFailure:"Feldzuordnungen konnten nicht zur\xFCckgesetzt werden",updateFailure:"Feldzuordnung f\xFCr {label} konnte nicht aktualisiert werden. Bitte versuche es erneut."},table:{fieldHeader:"TaskNotes-Feld",propertyHeader:"Dein Eigenschaftsname"},fields:{title:"Titel",status:"Status",priority:"Priorit\xE4t",due:"F\xE4lligkeitsdatum",scheduled:"Planungsdatum",contexts:"Kontexte",projects:"Projekte",timeEstimate:"Zeitsch\xE4tzung",recurrence:"Wiederholung",dateCreated:"Erstellungsdatum",completedDate:"Abschlussdatum",dateModified:"\xC4nderungsdatum",archiveTag:"Archiv-Tag",timeEntries:"Zeiteintr\xE4ge",completeInstances:"Abgeschlossene Instanzen",blockedBy:"Blockiert von",sortOrder:"Manuelle Reihenfolge",pomodoros:"Pomodoros",icsEventId:"ICS-Event-ID",icsEventTag:"ICS-Event-Tag",reminders:"Erinnerungen"}},customUserFields:{header:"Benutzerdefinierte Felder",description:"Definiere benutzerdefinierte Frontmatter-Eigenschaften, die als typisierte Filteroptionen in allen Ansichten erscheinen. Jede Zeile: Anzeigename, Eigenschaftsname, Typ.",addNew:{name:"Neues Benutzerfeld hinzuf\xFCgen",description:"Erstelle ein neues benutzerdefiniertes Feld, das in Filtern und Ansichten erscheint",buttonText:"Benutzerfeld hinzuf\xFCgen"},emptyState:"Keine benutzerdefinierten Felder konfiguriert. F\xFCge ein Feld hinzu, um benutzerdefinierte Eigenschaften f\xFCr deine Aufgaben zu erstellen.",emptyStateButton:"Benutzerfeld hinzuf\xFCgen",fields:{displayName:"Anzeigename:",propertyKey:"Eigenschaftsschl\xFCssel:",type:"Typ:",defaultValue:"Standardwert:"},placeholders:{displayName:"Anzeigename",propertyKey:"eigenschafts-name",defaultValue:"Standardwert",defaultValueList:"Standardwerte (kommagetrennt)"},types:{text:"Text",number:"Zahl",boolean:"Boolean",date:"Datum",list:"Liste"},defaultNames:{unnamedField:"Unbenanntes Feld",noKey:"kein-schl\xFCssel"},deleteTooltip:"Feld l\xF6schen",autosuggestFilters:{header:"Autovervollst\xE4ndigungsfilter (Erweitert)",description:"Filtern Sie, welche Dateien in Autovervollst\xE4ndigungsvorschl\xE4gen f\xFCr dieses Feld angezeigt werden"}}},appearance:{taskCards:{header:"Aufgabenkarten",description:"Konfiguriere, wie Aufgabenkarten in allen Ansichten angezeigt werden.",defaultVisibleProperties:{name:"Standard sichtbare Eigenschaften",description:"W\xE4hle, welche Eigenschaften standardm\xE4\xDFig auf Aufgabenkarten erscheinen."},propertyGroups:{coreProperties:"KERNEIGENSCHAFTEN",organization:"ORGANISATION",customProperties:"BENUTZERDEFINIERTE EIGENSCHAFTEN"},properties:{status:"Statuspunkt",priority:"Priorit\xE4tspunkt",due:"F\xE4lligkeitsdatum",scheduled:"Planungsdatum",timeEstimate:"Zeitsch\xE4tzung",totalTrackedTime:"Gesamte erfasste Zeit",checklistProgress:"Checklistenfortschritt",recurrence:"Wiederholung",completedDate:"Abschlussdatum",createdDate:"Erstellungsdatum",modifiedDate:"\xC4nderungsdatum",projects:"Projekte",contexts:"Kontexte",tags:"Tags",blocked:"Blockiert",blocking:"Blockierend"}},taskFilenames:{header:"Aufgabendateinamen",description:"Konfiguriere, wie Aufgabendateien beim Erstellen benannt werden.",storeTitleInFilename:{name:"Titel im Dateinamen speichern",description:"Verwende den Aufgabentitel als Dateinamen. Dateiname wird aktualisiert, wenn der Aufgabentitel ge\xE4ndert wird (Empfohlen)."},filenameFormat:{name:"Dateinamenformat",description:"Wie Aufgabendateinamen generiert werden sollen",options:{title:"Aufgabentitel (Nicht-aktualisierend)",zettel:"Zettelkasten-Format (JJMMTT + base36 Sekunden seit Mitternacht)",timestamp:"Vollst\xE4ndiger Zeitstempel (YYYY-MM-DD-HHMMSS)",custom:"Benutzerdefinierte Vorlage"}},customTemplate:{name:"Benutzerdefinierte Dateinamenvorlage",description:"Vorlage f\xFCr benutzerdefinierte Dateinamen. Verf\xFCgbare Variablen: {title}, {titleLower}, {titleUpper}, {titleSnake}, {titleKebab}, {titleCamel}, {titlePascal}, {date}, {shortDate}, {time}, {time12}, {time24}, {timestamp}, {dateTime}, {year}, {month}, {monthName}, {monthNameShort}, {day}, {dayName}, {dayNameShort}, {hour}, {hour12}, {minute}, {second}, {milliseconds}, {ms}, {ampm}, {week}, {quarter}, {unix}, {unixMs}, {timezone}, {timezoneShort}, {utcOffset}, {utcOffsetShort}, {utcZ}, {zettel}, {nano}, {priority}, {priorityShort}, {status}, {statusShort}, {dueDate}, {scheduledDate}",placeholder:"{date}-{title}-{dueDate}",helpText:"Hinweis: {dueDate} und {scheduledDate} sind im Format YYYY-MM-DD und werden leer sein, wenn nicht gesetzt."}},displayFormatting:{header:"Anzeigeformatierung",description:"Konfiguriere, wie Daten, Zeiten und andere Daten im Plugin angezeigt werden.",timeFormat:{name:"Zeitformat",description:"Zeit im 12-Stunden- oder 24-Stunden-Format im gesamten Plugin anzeigen",options:{twelveHour:"12-Stunden (AM/PM)",twentyFourHour:"24-Stunden"}}},calendarView:{header:"Kalenderansicht",description:"Passe das Erscheinungsbild und Verhalten der Kalenderansicht an.",defaultView:{name:"Standardansicht",description:"Die Kalenderansicht, die beim \xD6ffnen des Kalendertabs angezeigt wird",options:{monthGrid:"Monatsraster",weekTimeline:"Wochen-Timeline",dayTimeline:"Tages-Timeline",yearView:"Jahresansicht",customMultiDay:"Benutzerdefinierte mehrt\xE4gige"}},customDayCount:{name:"Benutzerdefinierte Ansicht Tageanzahl",description:"Anzahl der Tage in der benutzerdefinierten mehrt\xE4gigen Ansicht",placeholder:"3"},firstDayOfWeek:{name:"Erster Tag der Woche",description:"Welcher Tag soll die erste Spalte in Wochenansichten sein"},showWeekends:{name:"Wochenenden anzeigen",description:"Wochenenden in Kalenderansichten anzeigen"},showWeekNumbers:{name:"Wochennummern anzeigen",description:"Wochennummern in Kalenderansichten anzeigen"},showTodayHighlight:{name:"Heute-Hervorhebung anzeigen",description:"Den aktuellen Tag in Kalenderansichten hervorheben"},showCurrentTimeIndicator:{name:"Aktuelle Zeit-Indikator anzeigen",description:"Eine Linie anzeigen, die die aktuelle Zeit in Timeline-Ansichten zeigt"},selectionMirror:{name:"Auswahlspiegel",description:"Visuelle Vorschau beim Ziehen zur Auswahl von Zeitbereichen anzeigen"},calendarLocale:{name:"Kalendersprache",description:'Kalendersprache f\xFCr Datumsformatierung und Kalendersystem (z.B. "en", "fa" f\xFCr Farsi/Persisch, "de" f\xFCr Deutsch). Leer lassen f\xFCr automatische Erkennung vom Browser.',placeholder:"Automatische Erkennung",invalidLocale:"Ung\xFCltige Gebietsschema-Einstellung. Bitte geben Sie ein g\xFCltiges Sprachk\xFCrzel ein (z.B. 'de', 'en', 'fr-FR')."}},defaultEventVisibility:{header:"Standard-Event-Sichtbarkeit",description:"Konfiguriere, welche Event-Typen standardm\xE4\xDFig beim \xD6ffnen des Kalenders sichtbar sind. Benutzer k\xF6nnen diese trotzdem in der Kalenderansicht ein-/ausschalten.",showScheduledTasks:{name:"Geplante Aufgaben anzeigen",description:"Aufgaben mit geplanten Daten standardm\xE4\xDFig anzeigen"},showDueDates:{name:"F\xE4lligkeitsdaten anzeigen",description:"Aufgaben-F\xE4lligkeitsdaten standardm\xE4\xDFig anzeigen"},showDueWhenScheduled:{name:"F\xE4lligkeitsdaten bei geplanten anzeigen",description:"F\xE4lligkeitsdaten auch f\xFCr Aufgaben anzeigen, die bereits geplante Daten haben"},showTimeEntries:{name:"Zeiteintr\xE4ge anzeigen",description:"Abgeschlossene Zeiterfassungseintr\xE4ge standardm\xE4\xDFig anzeigen"},showRecurringTasks:{name:"Wiederkehrende Aufgaben anzeigen",description:"Wiederkehrende Aufgabeninstanzen standardm\xE4\xDFig anzeigen"},showICSEvents:{name:"ICS-Events anzeigen",description:"Events aus ICS-Abonnements standardm\xE4\xDFig anzeigen"}},timeSettings:{header:"Zeiteinstellungen",description:"Konfiguriere zeitbezogene Anzeigeeinstellungen f\xFCr Timeline-Ansichten.",timeSlotDuration:{name:"Zeitslot-Dauer",description:"Dauer jedes Zeitslots in Timeline-Ansichten",options:{fifteenMinutes:"15 Minuten",thirtyMinutes:"30 Minuten",sixtyMinutes:"60 Minuten"}},startTime:{name:"Startzeit",description:"Fr\xFCheste Zeit in Timeline-Ansichten (HH:MM Format)",placeholder:"06:00"},endTime:{name:"Endzeit",description:"Sp\xE4teste Zeit in Timeline-Ansichten (HH:MM Format)",placeholder:"22:00"},initialScrollTime:{name:"Anfangs-Scrollzeit",description:"Zeit, zu der beim \xD6ffnen von Timeline-Ansichten gescrollt wird (HH:MM Format)",placeholder:"09:00"},eventMinHeight:{name:"Event-Mindesth\xF6he",description:"Mindesth\xF6he f\xFCr Events in Timeline-Ansichten (Pixel)",placeholder:"15"}},uiElements:{header:"UI-Elemente",description:"Konfiguriere die Anzeige verschiedener UI-Elemente.",showTrackedTasksInStatusBar:{name:"Verfolgte Aufgaben in Statusleiste anzeigen",description:"Aktuell verfolgte Aufgaben in Obsidians Statusleiste anzeigen"},showProjectSubtasksWidget:{name:"Projekt-Unteraufgaben-Widget anzeigen",description:"Ein Widget anzeigen, das Unteraufgaben f\xFCr die aktuelle Projektnotiz zeigt"},projectSubtasksPosition:{name:"Projekt-Unteraufgaben-Position",description:"Wo das Projekt-Unteraufgaben-Widget positioniert werden soll",options:{top:"Oben in der Notiz",bottom:"Unten in der Notiz"}},showRelationshipsWidget:{name:"Beziehungen-Widget anzeigen",description:"Ein Widget anzeigen, das alle Beziehungen f\xFCr die aktuelle Notiz zeigt (Unteraufgaben, Projekte, Abh\xE4ngigkeiten)"},relationshipsPosition:{name:"Beziehungen-Position",description:"Wo das Beziehungen-Widget positioniert werden soll",options:{top:"Oben in der Notiz",bottom:"Unten in der Notiz"}},showTaskCardInNote:{name:"Aufgabenkarte in Notiz anzeigen",description:"Eine Aufgabenkarten-Widget oben in Aufgabennotizen anzeigen, das die Aufgabendetails und Aktionen zeigt"},showExpandableSubtasks:{name:"Ausklappbare Unteraufgaben anzeigen",description:"Aus-/Einklappen von Unteraufgaben-Abschnitten in Aufgabenkarten erlauben"},subtaskChevronPosition:{name:"Unteraufgaben-Chevron-Position",description:"Position der Aus-/Einklappen-Chevrons in Aufgabenkarten",options:{left:"Linke Seite",right:"Rechte Seite"}},viewsButtonAlignment:{name:"Ansichten-Button-Ausrichtung",description:"Ausrichtung des Ansichten/Filter-Buttons in der Aufgabenoberfl\xE4che",options:{left:"Linke Seite",right:"Rechte Seite"}}},projectAutosuggest:{header:"Projekt-Autovorschlag",description:"Passe an, wie Projektvorschl\xE4ge w\xE4hrend der Aufgabenerstellung angezeigt werden.",requiredTags:{name:"Erforderliche Tags",description:"Nur Notizen mit beliebigen dieser Tags anzeigen (kommagetrennt). Leer lassen f\xFCr alle Notizen.",placeholder:"projekt, aktiv, wichtig"},includeFolders:{name:"Ordner einschlie\xDFen",description:"Nur Notizen in diesen Ordnern anzeigen (kommagetrennte Pfade). Leer lassen f\xFCr alle Ordner.",placeholder:"Projekte/, Arbeit/Aktiv, Pers\xF6nlich"},requiredPropertyKey:{name:"Erforderlicher Eigenschaftsschl\xFCssel",description:"Nur Notizen anzeigen, wo diese Frontmatter-Eigenschaft dem unten stehenden Wert entspricht. Leer lassen zum Ignorieren.",placeholder:"typ"},requiredPropertyValue:{name:"Erforderlicher Eigenschaftswert",description:"Nur Notizen, wo die Eigenschaft diesem Wert entspricht, werden vorgeschlagen. Leer lassen, um zu verlangen, dass die Eigenschaft existiert.",placeholder:"projekt"},customizeDisplay:{name:"Vorschlagsanzeige anpassen",description:"Erweiterte Optionen anzeigen, um zu konfigurieren, wie Projektvorschl\xE4ge erscheinen und welche Informationen sie anzeigen."},enableFuzzyMatching:{name:"Unscharfe Suche aktivieren",description:"Tippfehler und Teil\xFCbereinstimmungen in Projektsuche erlauben. Kann in gro\xDFen Vaults langsamer sein."},displayRowsHelp:"Konfiguriere bis zu 3 Informationszeilen f\xFCr jeden Projektvorschlag.",displayRows:{row1:{name:"Zeile 1",description:"Format: {eigenschaft|flags}. Eigenschaften: title, aliases, file.path, file.parent. Flags: n(Label) zeigt Label, s macht suchbar. Beispiel: {title|n(Titel)|s}",placeholder:"{title|n(Titel)}"},row2:{name:"Zeile 2 (optional)",description:"H\xE4ufige Muster: {aliases|n(Aliase)}, {file.parent|n(Ordner)}, literal:Benutzerdefinierter Text",placeholder:"{aliases|n(Aliase)}"},row3:{name:"Zeile 3 (optional)",description:"Zus\xE4tzliche Infos wie {file.path|n(Pfad)} oder benutzerdefinierte Frontmatter-Felder",placeholder:"{file.path|n(Pfad)}"}},quickReference:{header:"Schnellreferenz",properties:"Verf\xFCgbare Eigenschaften: title, aliases, file.path, file.parent, oder beliebige Frontmatter-Felder",labels:'Labels hinzuf\xFCgen: {title|n(Titel)} \u2192 "Titel: Mein Projekt"',searchable:"Suchbar machen: {description|s} schlie\xDFt Beschreibung in + Suche ein",staticText:"Statischer Text: literal:Mein benutzerdefiniertes Label",alwaysSearchable:"Dateiname, Titel und Aliase sind standardm\xE4\xDFig immer suchbar."}},dataStorage:{name:"Speicherort",description:"Wo Pomodoro-Sitzungshistorie gespeichert werden soll",pluginData:"Plugin-Daten (empfohlen)",dailyNotes:"T\xE4gliche Notizen",notices:{locationChanged:"Pomodoro-Speicherort ge\xE4ndert zu {location}"}},notifications:{description:"Konfiguriere Aufgabenerinnerungs-Benachrichtigungen und Alarme."},performance:{description:"Konfiguriere Plugin-Leistung und Verhaltensoptionen."},timeTrackingSection:{description:"Konfiguriere automatische Zeiterfassungsverhalten."},recurringSection:{description:"Konfiguriere Verhalten f\xFCr wiederkehrende Aufgabenverwaltung."}},integrations:{basesIntegration:{header:"Bases-Integration",description:"Konfiguriere Integration mit dem Obsidian Bases Plugin. Dies ist eine experimentelle Funktion und basiert derzeit auf undokumentierten Obsidian APIs. Das Verhalten kann sich \xE4ndern oder brechen.",enable:{name:"Bases-Integration aktivieren",description:"TaskNotes-Ansichten zur Verwendung im Obsidian Bases Plugin aktivieren. Bases Plugin muss aktiviert sein, damit dies funktioniert."},viewCommands:{header:"Ansichten & Base-Dateien",description:"TaskNotes verwendet Obsidian Bases-Dateien (.base) zur Darstellung seiner Ansichten. Diese Dateien werden beim Start automatisch erstellt, falls sie nicht existieren, und mit deinen aktuellen Einstellungen konfiguriert (Aufgabenidentifikation, Feldzuordnungen, Status usw.).",descriptionRegen:'Base-Dateien werden nicht automatisch aktualisiert, wenn du Einstellungen \xE4nderst. Um neue Einstellungen anzuwenden, l\xF6sche die vorhandenen .base-Dateien und starte Obsidian neu, verwende "Dateien erstellen" unten, oder bearbeite sie manuell.',docsLink:"Dokumentation f\xFCr verf\xFCgbare Formeln und Anpassungsoptionen anzeigen",docsLinkUrl:"https://tasknotes.dev/views/default-base-templates",commands:{miniCalendar:"Mini-Kalenderansicht \xF6ffnen",kanban:"Kanban-Ansicht \xF6ffnen",tasks:"Aufgabenansicht \xF6ffnen",advancedCalendar:"Erweiterte Kalenderansicht \xF6ffnen",agenda:"Agenda-Ansicht \xF6ffnen",relationships:"Beziehungs-Widget"},fileLabel:"Datei: {path}",resetButton:"Zur\xFCcksetzen",resetTooltip:"Auf Standardpfad zur\xFCcksetzen"},autoCreateDefaultFiles:{name:"Standarddateien automatisch erstellen",description:"Fehlende Standard-Base-Ansichtsdateien beim Start automatisch erstellen. Deaktivieren, um zu verhindern, dass gel\xF6schte Beispieldateien neu erstellt werden."},createDefaultFiles:{name:"Standarddateien erstellen",description:"Erstelle die Standard-.base-Dateien im TaskNotes/Views/-Verzeichnis. Vorhandene Dateien werden nicht \xFCberschrieben.",buttonText:"Dateien erstellen"},exportV3Views:{name:"V3-gespeicherte Ansichten nach Bases exportieren",description:"Konvertiere alle deine gespeicherten Ansichten aus TaskNotes v3 in eine einzige .base-Datei mit mehreren Ansichten. Dies hilft bei der Migration deiner v3-Filterkonfigurationen zum neuen Bases-System.",buttonText:"V3-Ansichten exportieren",noViews:"Keine gespeicherten Ansichten zum Exportieren",fileExists:"Datei existiert bereits",confirmOverwrite:'Eine Datei namens "{fileName}" existiert bereits. \xDCberschreiben?',success:"{count} gespeicherte Ansichten nach {filePath} exportiert",error:"Fehler beim Exportieren von Ansichten: {message}"},notices:{enabled:"Bases-Integration aktiviert. Bitte starte Obsidian neu, um die Einrichtung abzuschlie\xDFen.",disabled:"Bases-Integration deaktiviert. Bitte starte Obsidian neu, um die Entfernung abzuschlie\xDFen."}},calendarSubscriptions:{header:"Kalenderabonnements",description:"Abonniere externe Kalender \xFCber ICS/iCal URLs, um Events neben deinen Aufgaben anzuzeigen.",defaultNoteTemplate:{name:"Standard-Notizvorlage",description:"Pfad zur Vorlagendatei f\xFCr Notizen, die aus ICS-Events erstellt werden",placeholder:"Templates/Event Vorlage.md"},defaultNoteFolder:{name:"Standard-Notizordner",description:"Ordner f\xFCr Notizen, die aus ICS-Events erstellt werden",placeholder:"Kalender/Events"},filenameFormat:{name:"ICS-Notiz-Dateinamenformat",description:"Wie Dateinamen f\xFCr Notizen generiert werden, die aus ICS-Events erstellt werden",options:{title:"Event-Titel",zettel:"Zettelkasten-Format",timestamp:"Zeitstempel",custom:"Benutzerdefinierte Vorlage"}},customTemplate:{name:"Benutzerdefinierte ICS-Dateinamenvorlage",description:"Vorlage f\xFCr benutzerdefinierte ICS-Event-Dateinamen",placeholder:"{date}-{title}"},useICSEndAsDue:{name:"ICS-Ereignis-Endzeit als F\xE4lligkeitsdatum verwenden",description:"Wenn aktiviert, wird das F\xE4lligkeitsdatum von Aufgaben aus Kalenderereignissen auf die Endzeit des Ereignisses gesetzt. Bei ganzt\xE4gigen Ereignissen wird das F\xE4lligkeitsdatum auf das Ereignisdatum gesetzt. Bei zeitgesteuerten Ereignissen enth\xE4lt das F\xE4lligkeitsdatum die Endzeit."}},subscriptionsList:{header:"Kalenderabonnements-Liste",addSubscription:{name:"Kalenderabonnement hinzuf\xFCgen",description:"Neues Kalenderabonnement von ICS/iCal URL oder lokaler Datei hinzuf\xFCgen",buttonText:"Abonnement hinzuf\xFCgen"},refreshAll:{name:"Alle Abonnements aktualisieren",description:"Alle aktivierten Kalenderabonnements manuell aktualisieren",buttonText:"Alle aktualisieren"},newCalendarName:"Neuer Kalender",emptyState:"Keine Kalenderabonnements konfiguriert. F\xFCge ein Abonnement hinzu, um externe Kalender zu synchronisieren.",notices:{addSuccess:"Neues Kalenderabonnement hinzugef\xFCgt - bitte konfiguriere die Details",addFailure:"Abonnement konnte nicht hinzugef\xFCgt werden",serviceUnavailable:"ICS-Abonnementdienst nicht verf\xFCgbar",refreshSuccess:"Alle Kalenderabonnements erfolgreich aktualisiert",refreshFailure:"Einige Kalenderabonnements konnten nicht aktualisiert werden",updateFailure:"Abonnement konnte nicht aktualisiert werden",deleteSuccess:'Abonnement "{name}" gel\xF6scht',deleteFailure:"Abonnement konnte nicht gel\xF6scht werden",enableFirst:"Aktiviere zuerst das Abonnement",refreshSubscriptionSuccess:'"{name}" aktualisiert',refreshSubscriptionFailure:"Abonnement konnte nicht aktualisiert werden"},labels:{enabled:"Aktiviert:",name:"Name:",type:"Typ:",url:"URL:",filePath:"Dateipfad:",color:"Farbe:",refreshMinutes:"Aktualisierung (Min):"},typeOptions:{remote:"Remote-URL",local:"Lokale Datei"},placeholders:{calendarName:"Kalendername",url:"ICS/iCal-URL",filePath:"Lokaler Dateipfad (z.B. Kalender.ics)",localFile:"Kalender.ics"},statusLabels:{enabled:"Aktiviert",disabled:"Deaktiviert",remote:"Remote",localFile:"Lokale Datei",remoteCalendar:"Remote-Kalender",localFileCalendar:"Lokale Datei",synced:"Synchronisiert {timeAgo}",error:"Fehler"},actions:{refreshNow:"Jetzt aktualisieren",deleteSubscription:"Abonnement l\xF6schen"},refreshNow:"Jetzt aktualisieren",confirmDelete:{title:"Abonnement l\xF6schen",message:'Bist du sicher, dass du das Abonnement "{name}" l\xF6schen m\xF6chtest? Diese Aktion kann nicht r\xFCckg\xE4ngig gemacht werden.',confirmText:"L\xF6schen"}},autoExport:{header:"Automatischer ICS-Export",description:"Automatisch alle deine Aufgaben in eine ICS-Datei exportieren.",enable:{name:"Automatischen Export aktivieren",description:"Eine ICS-Datei automatisch mit allen deinen Aufgaben aktuell halten"},filePath:{name:"Export-Dateipfad",description:"Pfad, wo die ICS-Datei gespeichert wird (relativ zur Vault-Wurzel)",placeholder:"tasknotes-kalender.ics"},interval:{name:"Aktualisierungsintervall (zwischen 5 und 1440 Minuten)",description:"Wie oft die Export-Datei aktualisiert werden soll",placeholder:"60"},useDuration:{name:"Aufgabendauer f\xFCr Eventl\xE4nge verwenden",description:"Wenn aktiviert, wird die gesch\xE4tzte Dauer der Aufgabe anstelle des F\xE4lligkeitsdatums f\xFCr die Endzeit des Kalenderevents verwendet. Dies ist n\xFCtzlich f\xFCr GTD-Workflows, bei denen geplant + Dauer die Arbeitsplanung darstellt, w\xE4hrend das F\xE4lligkeitsdatum Fristen repr\xE4sentiert."},exportNow:{name:"Jetzt exportieren",description:"Sofortigen Export manuell ausl\xF6sen",buttonText:"Jetzt exportieren"},status:{title:"Export-Status:",lastExport:"Letzter Export: {time}",nextExport:"N\xE4chster Export: {time}",noExports:"Noch keine Exporte",notScheduled:"Nicht geplant",notInitialized:"Auto-Export-Dienst nicht initialisiert - bitte starte Obsidian neu",serviceNotInitialized:"Dienst nicht initialisiert - bitte starten Sie Obsidian neu"},notices:{reloadRequired:"Bitte lade Obsidian neu, damit die automatischen Export-\xC4nderungen wirksam werden.",exportSuccess:"Aufgaben erfolgreich exportiert",exportFailure:"Export fehlgeschlagen - pr\xFCfe Konsole f\xFCr Details",serviceUnavailable:"Auto-Export-Dienst nicht verf\xFCgbar"}},googleCalendarExport:{header:"Aufgaben zu Google Kalender exportieren",description:"Synchronisiere deine Aufgaben automatisch als Ereignisse mit Google Kalender. Erfordert eine vorherige Google Kalender-Verbindung.",enable:{name:"Aufgabenexport aktivieren",description:"Wenn aktiviert, werden Aufgaben mit Terminen automatisch als Ereignisse mit Google Kalender synchronisiert."},targetCalendar:{name:"Zielkalender",description:"W\xE4hle den Kalender aus, in dem Aufgabenereignisse erstellt werden sollen.",placeholder:"Kalender ausw\xE4hlen...",connectFirst:"Verbinde zuerst Google Kalender",primarySuffix:" (Prim\xE4r)"},syncTrigger:{name:"Synchronisierungsausl\xF6ser",description:"Welches Aufgabendatum soll die Kalenderereigniserstellung ausl\xF6sen.",options:{scheduled:"Geplantes Datum",due:"F\xE4lligkeitsdatum",both:"Beide (geplant bevorzugt)"}},allDayEvents:{name:"Als Ganztagesereignisse erstellen",description:"Wenn aktiviert, werden Aufgaben als Ganztagesereignisse erstellt. Wenn deaktiviert, wird die Zeitsch\xE4tzung f\xFCr die Dauer verwendet."},defaultDuration:{name:"Standard-Ereignisdauer",description:"Dauer in Minuten f\xFCr zeitgesteuerte Ereignisse (wird verwendet, wenn die Aufgabe keine Zeitsch\xE4tzung hat)."},eventTitleTemplate:{name:"Ereignistitelvorlage",description:"Vorlage f\xFCr Ereignistitel. Verf\xFCgbare Variablen: {{title}}, {{status}}, {{priority}}",placeholder:"{{title}}"},includeDescription:{name:"Aufgabendetails in Beschreibung einschlie\xDFen",description:"Aufgabenmetadaten (Priorit\xE4t, Status, Tags, etc.) zur Ereignisbeschreibung hinzuf\xFCgen."},includeObsidianLink:{name:"Obsidian-Link einschlie\xDFen",description:"Einen Link zur Aufgabe in Obsidian in der Ereignisbeschreibung hinzuf\xFCgen."},defaultReminder:{name:"Standard-Erinnerung",description:"Eine Popup-Erinnerung zu Google Kalender-Ereignissen hinzuf\xFCgen. Minuten vor dem Ereignis angeben (0 = keine Erinnerung). \xDCbliche Werte: 15, 30, 60, 1440 (1 Tag)."},automaticSyncBehavior:{header:"Automatisches Synchronisierungsverhalten"},syncOnCreate:{name:"Bei Aufgabenerstellung synchronisieren",description:"Automatisch ein Kalenderereignis erstellen, wenn eine neue Aufgabe erstellt wird."},syncOnUpdate:{name:"Bei Aufgabenaktualisierung synchronisieren",description:"Automatisch das Kalenderereignis aktualisieren, wenn eine Aufgabe ge\xE4ndert wird."},syncOnComplete:{name:"Bei Aufgabenabschluss synchronisieren",description:"Kalenderereignis aktualisieren, wenn eine Aufgabe abgeschlossen wird (f\xFCgt ein H\xE4kchen zum Titel hinzu)."},syncOnDelete:{name:"Ereignis bei Aufgabenl\xF6schung l\xF6schen",description:"Kalenderereignis entfernen, wenn die entsprechende Aufgabe gel\xF6scht wird."},manualSyncActions:{header:"Manuelle Synchronisierungsaktionen"},syncAllTasks:{name:"Alle Aufgaben synchronisieren",description:"Alle vorhandenen Aufgaben mit Google Kalender synchronisieren. Dies erstellt Ereignisse f\xFCr Aufgaben, die noch nicht synchronisiert wurden.",buttonText:"Alle synchronisieren"},unlinkAllTasks:{name:"Alle Aufgaben trennen",description:"Alle Verkn\xFCpfungen zwischen Aufgaben und Ereignissen entfernen, ohne Kalenderereignisse zu l\xF6schen.",buttonText:"Alle trennen",confirmTitle:"Alle Aufgaben trennen",confirmMessage:"Dies entfernt alle Verkn\xFCpfungen zwischen Aufgaben und Kalenderereignissen. Die Kalenderereignisse bleiben erhalten, werden aber nicht mehr aktualisiert, wenn sich Aufgaben \xE4ndern. Bist du sicher?",confirmButtonText:"Alle trennen"},notices:{notEnabled:"Google Kalender-Export ist nicht aktiviert. Konfiguriere es unter Einstellungen > Integrationen.",notEnabledOrConfigured:"Google Kalender-Export ist nicht aktiviert oder konfiguriert",serviceNotAvailable:"Aufgaben-Kalender-Synchronisierungsdienst nicht verf\xFCgbar",syncResults:"Synchronisiert: {synced}, Fehlgeschlagen: {failed}, \xDCbersprungen: {skipped}",taskSynced:"Aufgabe mit Google Kalender synchronisiert",noActiveFile:"Keine Datei ist derzeit aktiv",notATask:"Die aktuelle Datei ist keine Aufgabe",noDateToSync:"Aufgabe hat kein geplantes oder F\xE4lligkeitsdatum zum Synchronisieren",syncFailed:"Synchronisierung der Aufgabe mit Google Kalender fehlgeschlagen: {message}",connectionExpired:"Die Google Kalender-Verbindung ist abgelaufen. Bitte verbinde sie unter Einstellungen > Integrationen erneut.",syncingTasks:"Synchronisiere {total} Aufgaben mit Google Kalender...",syncComplete:"Synchronisierung abgeschlossen: {synced} synchronisiert, {failed} fehlgeschlagen, {skipped} \xFCbersprungen",eventsDeletedAndUnlinked:"Alle Ereignisse gel\xF6scht und getrennt",tasksUnlinked:"Alle Aufgabenverkn\xFCpfungen entfernt"},eventDescription:{untitledTask:"Unbenannte Aufgabe",priority:"Priorit\xE4t: {value}",status:"Status: {value}",due:"F\xE4llig: {value}",scheduled:"Geplant: {value}",timeEstimate:"Zeitsch\xE4tzung: {value}",tags:"Tags: {value}",contexts:"Kontexte: {value}",projects:"Projekte: {value}",openInObsidian:"In Obsidian \xF6ffnen"}},httpApi:{header:"HTTP API",description:"HTTP API f\xFCr externe Integrationen und Automatisierungen aktivieren.",enable:{name:"HTTP API aktivieren",description:"Lokalen HTTP-Server f\xFCr API-Zugriff starten"},port:{name:"API-Port",description:"Port-Nummer f\xFCr den HTTP API-Server",placeholder:"3000"},authToken:{name:"API-Authentifizierungstoken",description:"Token f\xFCr API-Authentifizierung erforderlich (leer lassen f\xFCr keine Authentifizierung)",placeholder:"dein-geheimes-token"},mcp:{enable:{name:"MCP-Server aktivieren",description:"TaskNotes-Werkzeuge \xFCber Model Context Protocol am Endpunkt /mcp bereitstellen. Erfordert, dass die HTTP API aktiviert ist."}},endpoints:{header:"Verf\xFCgbare API-Endpunkte",expandIcon:"\u25B6",collapseIcon:"\u25BC"}},webhooks:{header:"Webhooks",description:{overview:"Webhooks senden Echtzeit-Benachrichtigungen an externe Dienste, wenn TaskNotes-Events auftreten.",usage:"Konfiguriere Webhooks zur Integration mit Automatisierungstools, Sync-Diensten oder benutzerdefinierten Anwendungen."},addWebhook:{name:"Webhook hinzuf\xFCgen",description:"Neuen Webhook-Endpunkt registrieren",buttonText:"Webhook hinzuf\xFCgen"},emptyState:{message:"Keine Webhooks konfiguriert. F\xFCge einen Webhook hinzu, um Echtzeit-Benachrichtigungen zu erhalten.",buttonText:"Webhook hinzuf\xFCgen"},labels:{active:"Aktiv:",url:"URL:",events:"Events:",transform:"Transformation:"},placeholders:{url:"Webhook-URL",noEventsSelected:"Keine Events ausgew\xE4hlt",rawPayload:"Raw-Payload (keine Transformation)"},statusLabels:{active:"Aktiv",inactive:"Inaktiv",created:"Erstellt {timeAgo}"},actions:{editEvents:"Events bearbeiten",delete:"L\xF6schen"},editEvents:"Ereignisse bearbeiten",notices:{urlUpdated:"Webhook URL aktualisiert",enabled:"Webhook aktiviert",disabled:"Webhook deaktiviert",created:"Webhook erfolgreich erstellt",deleted:"Webhook gel\xF6scht",updated:"Webhook aktualisiert"},confirmDelete:{title:"Webhook l\xF6schen",message:`Bist du sicher, dass du diesen Webhook l\xF6schen m\xF6chtest?
URL: {url}
Diese Aktion kann nicht r\xFCckg\xE4ngig gemacht werden.`,confirmText:"L\xF6schen"},cardHeader:"Webhook",cardFields:{active:"Aktiv:",url:"URL:",events:"Events:",transform:"Transformation:"},eventsDisplay:{noEvents:"Keine Events ausgew\xE4hlt"},transformDisplay:{noTransform:"Raw-Payload (keine Transformation)"},secretModal:{title:"Webhook-Secret generiert",description:"Dein Webhook-Secret wurde generiert. Speichere dieses Secret, da du es nicht erneut einsehen kannst:",usage:"Verwende dieses Secret, um Webhook-Payloads in deiner empfangenden Anwendung zu verifizieren.",gotIt:"Verstanden"},editModal:{title:"Webhook bearbeiten",eventsHeader:"Events zum Abonnieren"},events:{taskCreated:{label:"Aufgabe erstellt",description:"Wenn neue Aufgaben erstellt werden"},taskUpdated:{label:"Aufgabe aktualisiert",description:"Wenn Aufgaben ge\xE4ndert werden"},taskCompleted:{label:"Aufgabe abgeschlossen",description:"Wenn Aufgaben als abgeschlossen markiert werden"},taskDeleted:{label:"Aufgabe gel\xF6scht",description:"Wenn Aufgaben gel\xF6scht werden"},taskArchived:{label:"Aufgabe archiviert",description:"Wenn Aufgaben archiviert werden"},taskUnarchived:{label:"Aufgabe entarchiviert",description:"Wenn Aufgaben entarchiviert werden"},timeStarted:{label:"Zeit gestartet",description:"Wenn Zeiterfassung beginnt"},timeStopped:{label:"Zeit gestoppt",description:"Wenn Zeiterfassung stoppt"},pomodoroStarted:{label:"Pomodoro gestartet",description:"Wenn Pomodoro-Sitzungen beginnen"},pomodoroCompleted:{label:"Pomodoro abgeschlossen",description:"Wenn Pomodoro-Sitzungen beendet werden"},pomodoroInterrupted:{label:"Pomodoro unterbrochen",description:"Wenn Pomodoro-Sitzungen gestoppt werden"},recurringCompleted:{label:"Wiederkehrende Instanz abgeschlossen",description:"Wenn wiederkehrende Aufgabeninstanzen abgeschlossen werden"},reminderTriggered:{label:"Erinnerung ausgel\xF6st",description:"Wenn Aufgabenerinnerungen aktiviert werden"}},modals:{secretGenerated:{title:"Webhook-Secret generiert",description:"Dein Webhook-Secret wurde generiert. Speichere dieses Secret, da du es nicht erneut einsehen kannst:",usage:"Verwende dieses Secret, um Webhook-Payloads in deiner empfangenden Anwendung zu verifizieren.",buttonText:"Verstanden"},edit:{title:"Webhook bearbeiten",eventsSection:"Events zum Abonnieren",transformSection:"Transformationskonfiguration (Optional)",headersSection:"Header-Konfiguration",transformFile:{name:"Transformationsdatei",description:"Pfad zu einer .json Vorlagendatei in deinem Vault, die Webhook-Payloads transformiert",placeholder:"simple-template.json"},customHeaders:{name:"Benutzerdefinierte Header einschlie\xDFen",description:"TaskNotes-Header einschlie\xDFen (Event-Typ, Signatur, Lieferungs-ID). F\xFCr Discord, Slack und andere Dienste mit strengen CORS-Richtlinien ausschalten."},buttons:{cancel:"Abbrechen",save:"\xC4nderungen speichern"},notices:{selectAtLeastOneEvent:"Bitte w\xE4hle mindestens ein Event aus"}},add:{title:"Webhook hinzuf\xFCgen",eventsSection:"Events zum Abonnieren",transformSection:"Transformationskonfiguration (Optional)",headersSection:"Header-Konfiguration",url:{name:"Webhook-URL",description:"Der Endpunkt, an den Webhook-Payloads gesendet werden",placeholder:"https://dein-service.com/webhook"},transformFile:{name:"Transformationsdatei",description:"Pfad zu einer .json Vorlagendatei in deinem Vault, die Webhook-Payloads transformiert",placeholder:"simple-template.json"},customHeaders:{name:"Benutzerdefinierte Header einschlie\xDFen",description:"TaskNotes-Header einschlie\xDFen (Event-Typ, Signatur, Lieferungs-ID). F\xFCr Discord, Slack und andere Dienste mit strengen CORS-Richtlinien ausschalten."},transformHelp:{title:"JSON-Transformationsvorlagen erm\xF6glichen es dir, Webhook-Payloads anzupassen:",jsFiles:"",jsDescription:"",jsonFiles:".json Dateien:",jsonDescription:" Vorlagen mit ",jsonVariable:"${data.task.title}",leaveEmpty:"Leer lassen:",leaveEmptyDescription:" Raw-Daten senden",example:"Beispiel:",exampleFile:"simple-template.json"},buttons:{cancel:"Abbrechen",add:"Webhook hinzuf\xFCgen"},notices:{urlRequired:"Webhook URL ist erforderlich",selectAtLeastOneEvent:"Bitte w\xE4hle mindestens ein Event aus"}}}},otherIntegrations:{header:"Andere Plugin-Integrationen",description:"Konfiguriere Integrationen mit anderen Obsidian-Plugins."},mdbaseSpec:{header:"mdbase-Typdefinitionen",learnMore:"Mehr \xFCber mdbase-spec erfahren",enable:{name:"mdbase-Typdefinitionen generieren",description:"mdbase-Typdateien (mdbase.yaml und _types/task.md) im Stammverzeichnis des Vaults generieren und pflegen, wenn sich deine Einstellungen \xE4ndern."}},timeFormats:{justNow:"Gerade eben",minutesAgo:"vor {minutes} Minute{plural}",hoursAgo:"vor {hours} Stunde{plural}",daysAgo:"vor {days} Tag{plural}"}}},notices:{languageChanged:"Sprache ge\xE4ndert zu {language}.",exportTasksFailed:"Export der Aufgaben als ICS-Datei fehlgeschlagen",icsNoteCreatedSuccess:"Notiz erfolgreich erstellt",icsCreationModalOpenFailed:"Erstellungsmodal konnte nicht ge\xF6ffnet werden",icsNoteLinkSuccess:'Notiz "{fileName}" mit ICS Event verkn\xFCpft',icsTaskCreatedSuccess:"Aufgabe erstellt: {title}",icsRelatedItemsRefreshed:"Verkn\xFCpfte Notizen aktualisiert",icsFileNotFound:"Datei nicht gefunden oder ung\xFCltig",icsFileOpenFailed:"Datei konnte nicht ge\xF6ffnet werden",timeblockAttachmentExists:'"{fileName}" ist bereits angeh\xE4ngt',timeblockAttachmentAdded:'"{fileName}" als Anhang hinzugef\xFCgt',timeblockAttachmentRemoved:'"{fileName}" aus Anh\xE4ngen entfernt',timeblockFileTypeNotSupported:'"{fileName}" kann nicht ge\xF6ffnet werden - Dateityp nicht unterst\xFCtzt',timeblockTitleRequired:"Bitte geben Sie einen Titel f\xFCr den Timeblock ein",timeblockUpdatedSuccess:'Timeblock "{title}" erfolgreich aktualisiert',timeblockUpdateFailed:"Timeblock konnte nicht aktualisiert werden. Pr\xFCfen Sie die Konsole f\xFCr Details.",timeblockDeletedSuccess:'Timeblock "{title}" erfolgreich gel\xF6scht',timeblockDeleteFailed:"Timeblock konnte nicht gel\xF6scht werden. Pr\xFCfen Sie die Konsole f\xFCr Details.",timeblockRequiredFieldsMissing:"Bitte f\xFCllen Sie alle erforderlichen Felder aus",agendaLoadingFailed:"Fehler beim Laden der Agenda. Bitte versuchen Sie, zu aktualisieren.",statsLoadingFailed:"Fehler beim Laden der Projektdetails."},commands:{openCalendarView:"Mini-Kalenderansicht \xF6ffnen",openAdvancedCalendarView:"Kalenderansicht \xF6ffnen",openTasksView:"Aufgabenansicht \xF6ffnen",openNotesView:"Notizenansicht \xF6ffnen",openAgendaView:"Agenda-Ansicht \xF6ffnen",openPomodoroView:"Pomodoro-Timer \xF6ffnen",openKanbanView:"Kanban-Board \xF6ffnen",openPomodoroStats:"Pomodoro-Statistiken \xF6ffnen",openStatisticsView:"Aufgaben- & Projektstatistiken \xF6ffnen",createNewTask:"Neue Aufgabe erstellen",convertCurrentNoteToTask:{name:"Aktuelle Notiz in Aufgabe umwandeln",noActiveFile:"Keine aktive Datei zum Umwandeln",alreadyTask:"Diese Notiz ist bereits eine Aufgabe",success:"'{title}' in eine Aufgabe umgewandelt"},convertToTaskNote:"Checkbox-Aufgabe zu TaskNote konvertieren",convertAllTasksInNote:"Alle Aufgaben in Notiz konvertieren",insertTaskNoteLink:"Tasknote-Link einf\xFCgen",createInlineTask:"Neue Inline-Aufgabe erstellen",quickActionsCurrentTask:"Schnellaktionen f\xFCr aktuelle Aufgabe",goToTodayNote:"Zu heutiger Notiz gehen",startPomodoro:"Pomodoro-Timer starten",stopPomodoro:"Pomodoro-Timer stoppen",pauseResumePomodoro:"Pomodoro-Timer pausieren/fortsetzen",refreshCache:"Cache aktualisieren",exportAllTasksIcs:"Alle Aufgaben als ICS-Datei exportieren",viewReleaseNotes:"Versionshinweise anzeigen",startTimeTrackingWithSelector:"Zeiterfassung starten (Aufgabe ausw\xE4hlen)",editTimeEntries:"Zeiteintr\xE4ge bearbeiten (Aufgabe ausw\xE4hlen)",createOrOpenTask:"Aufgabe erstellen oder \xF6ffnen",syncAllTasksGoogleCalendar:"Alle Aufgaben mit Google Kalender synchronisieren",syncCurrentTaskGoogleCalendar:"Aktuelle Aufgabe mit Google Kalender synchronisieren"},modals:{deviceCode:{title:"Google Kalender-Autorisierung",instructions:{intro:"Um Ihren Google Kalender zu verbinden, folgen Sie bitte diesen Schritten:"},steps:{open:"\xD6ffnen Sie",inBrowser:"in Ihrem Browser",enterCode:"Geben Sie diesen Code ein, wenn Sie dazu aufgefordert werden:",signIn:"Melden Sie sich mit Ihrem Google-Konto an und gew\xE4hren Sie Zugriff",returnToObsidian:"Kehren Sie zu Obsidian zur\xFCck (dieses Fenster schlie\xDFt sich automatisch)"},codeLabel:"Ihr Code:",copyCodeAriaLabel:"Code kopieren",waitingForAuthorization:"Warte auf Autorisierung...",openBrowserButton:"Browser \xF6ffnen",cancelButton:"Abbrechen",expiresMinutesSeconds:"Code l\xE4uft ab in {minutes}m {seconds}s",expiresSeconds:"Code l\xE4uft ab in {seconds}s"},icsEventInfo:{calendarEventHeading:"Kalenderereignis",titleLabel:"Titel",calendarLabel:"Kalender",dateTimeLabel:"Datum & Uhrzeit",locationLabel:"Ort",descriptionLabel:"Beschreibung",urlLabel:"URL",relatedNotesHeading:"Verkn\xFCpfte Notizen & Aufgaben",noRelatedItems:"Keine verkn\xFCpften Notizen oder Aufgaben f\xFCr dieses Ereignis gefunden.",typeTask:"Aufgabe",typeNote:"Notiz",actionsHeading:"Aktionen",createFromEventLabel:"Aus Ereignis erstellen",createFromEventDesc:"Eine neue Notiz oder Aufgabe aus diesem Kalenderereignis erstellen",linkExistingLabel:"Vorhandene verkn\xFCpfen",linkExistingDesc:"Eine vorhandene Notiz mit diesem Kalenderereignis verkn\xFCpfen"},timeblockInfo:{editHeading:"Timeblock bearbeiten",dateTimeLabel:"Datum & Uhrzeit: ",titleLabel:"Titel",titleDesc:"Titel f\xFCr Ihren Timeblock",titlePlaceholder:"z.B. Deep Work Session",descriptionLabel:"Beschreibung",descriptionDesc:"Optionale Beschreibung f\xFCr den Timeblock",descriptionPlaceholder:"Fokus auf neue Features, keine Unterbrechungen",colorLabel:"Farbe",colorDesc:"Optionale Farbe f\xFCr den Timeblock",colorPlaceholder:"#3b82f6",attachmentsLabel:"Anh\xE4nge",attachmentsDesc:"Dateien oder Notizen, die mit diesem Timeblock verkn\xFCpft sind",addAttachmentButton:"Anhang hinzuf\xFCgen",addAttachmentTooltip:"Datei oder Notiz mit unscharfer Suche ausw\xE4hlen",deleteButton:"Timeblock l\xF6schen",saveButton:"\xC4nderungen speichern",deleteConfirmationTitle:"Timeblock l\xF6schen"},timeblockCreation:{heading:"Timeblock erstellen",dateLabel:"Datum: ",titleLabel:"Titel",titleDesc:"Titel f\xFCr Ihren Timeblock",titlePlaceholder:"z.B. Deep Work Session",startTimeLabel:"Startzeit",startTimeDesc:"Wann der Timeblock beginnt",startTimePlaceholder:"09:00",endTimeLabel:"Endzeit",endTimeDesc:"Wann der Timeblock endet",endTimePlaceholder:"11:00",descriptionLabel:"Beschreibung",descriptionDesc:"Optionale Beschreibung f\xFCr den Timeblock",descriptionPlaceholder:"Fokus auf neue Features, keine Unterbrechungen",colorLabel:"Farbe",colorDesc:"Optionale Farbe f\xFCr den Timeblock",colorPlaceholder:"#3b82f6",attachmentsLabel:"Anh\xE4nge",attachmentsDesc:"Dateien oder Notizen, die mit diesem Timeblock verkn\xFCpft werden sollen",addAttachmentButton:"Anhang hinzuf\xFCgen",addAttachmentTooltip:"Datei oder Notiz mit unscharfer Suche ausw\xE4hlen",createButton:"Timeblock erstellen"},calendarEventCreation:{heading:"Kalenderereignis erstellen",dateTimeLabel:"Datum & Uhrzeit: ",titleLabel:"Titel",titleDesc:"Titel f\xFCr das Kalenderereignis",titlePlaceholder:"z.B. Teambesprechung",calendarLabel:"Kalender",calendarDesc:"In welchem Kalender das Ereignis erstellt werden soll",descriptionLabel:"Beschreibung",descriptionDesc:"Optionale Beschreibung f\xFCr das Ereignis",descriptionPlaceholder:"Details zu diesem Ereignis hinzuf\xFCgen...",locationLabel:"Ort",locationDesc:"Optionaler Ort f\xFCr das Ereignis",locationPlaceholder:"z.B. Konferenzraum A",createButton:"Ereignis erstellen",titleRequired:"Ereignistitel ist erforderlich",noCalendarSelected:"Kein Kalender ausgew\xE4hlt",success:'Kalenderereignis "{title}" erstellt',error:"Kalenderereignis konnte nicht erstellt werden: {message}"},icsNoteCreation:{heading:"Aus ICS Event erstellen",titleLabel:"Titel",titleDesc:"Titel f\xFCr den neuen Inhalt",folderLabel:"Ordner",folderDesc:"Zielordner (leer lassen f\xFCr Vault-Wurzel)",folderPlaceholder:"ordner/unterordner",createButton:"Erstellen",startLabel:"Start: ",endLabel:"Ende: ",locationLabel:"Ort: ",calendarLabel:"Kalender: ",useTemplateLabel:"Vorlage verwenden",useTemplateDesc:"Eine Vorlage beim Erstellen des Inhalts anwenden",templatePathLabel:"Vorlagenpfad",templatePathDesc:"Pfad zur Vorlagendatei",templatePathPlaceholder:"vorlagen/ics-notiz-vorlage.md"},unscheduledTasksSelector:{title:"Ungeplante Aufgaben",placeholder:"Tippen, um nach ungeplanten Aufgaben zu suchen...",instructions:{navigate:"zum Navigieren",schedule:"zum Planen",dismiss:"zum Verwerfen"}},migration:{title:"Zum neuen Wiederholungssystem migrieren",description:"TaskNotes verwendet jetzt branchen\xFCbliche RRULE-Muster f\xFCr Wiederholungen, die komplexere Zeitpl\xE4ne und bessere Kompatibilit\xE4t mit anderen Apps erm\xF6glichen.",tasksFound:"{count} Aufgabe(n) mit alten Wiederholungsmustern erkannt",noMigrationNeeded:"Keine Aufgaben erfordern Migration",warnings:{title:"Bevor Sie fortfahren:",backup:"Sichern Sie Ihren Vault vor der Migration",conversion:"Alte Wiederholungsmuster werden in das neue Format konvertiert",normalUsage:"Sie k\xF6nnen TaskNotes w\xE4hrend der Migration normal weiterverwenden",permanent:"Diese \xC4nderung ist dauerhaft und kann nicht automatisch r\xFCckg\xE4ngig gemacht werden"},benefits:{title:"Vorteile des neuen Systems:",powerfulPatterns:"Komplexe Wiederholungsmuster (z.B. 'jeden 2. Dienstag')",performance:"Bessere Leistung bei wiederkehrenden Aufgaben",compatibility:"Standard-Wiederholungsformat kompatibel mit anderen Apps",nlp:"Verbesserte Unterst\xFCtzung f\xFCr nat\xFCrliche Sprachverarbeitung"},progress:{title:"Migrationsfortschritt",preparing:"Migration wird vorbereitet...",completed:"Migration erfolgreich abgeschlossen",failed:"Migration fehlgeschlagen"},buttons:{migrate:"Migration starten",completed:"Schlie\xDFen"},errors:{title:"Fehler w\xE4hrend der Migration:"},notices:{completedWithErrors:"Migration mit einigen Fehlern abgeschlossen. \xDCberpr\xFCfen Sie die Fehlerliste oben.",success:"Alle Aufgaben erfolgreich migriert!",failed:"Migration fehlgeschlagen. Bitte \xFCberpr\xFCfen Sie die Konsole f\xFCr Details."},prompt:{message:"TaskNotes hat Aufgaben mit dem alten Wiederholungsformat erkannt. M\xF6chten Sie diese jetzt zum neuen System migrieren?",migrateNow:"Jetzt migrieren",remindLater:"Sp\xE4ter erinnern"}},task:{titlePlaceholder:"Was muss getan werden?",titleLabel:"Titel",titleDetailedPlaceholder:"Aufgabentitel...",detailsLabel:"Details",detailsPlaceholder:"Weitere Details hinzuf\xFCgen...",projectsLabel:"Projekte",projectsAdd:"Projekt hinzuf\xFCgen",projectsTooltip:"Projektnotiz mit unscharfer Suche ausw\xE4hlen",projectsRemoveTooltip:"Projekt entfernen",contextsLabel:"Kontexte",contextsPlaceholder:"kontext1, kontext2",tagsLabel:"Tags",tagsPlaceholder:"schlagwort1, schlagwort2",timeEstimateLabel:"Zeitsch\xE4tzung (Minuten)",timeEstimatePlaceholder:"30",unsavedChanges:{title:"Ungespeicherte \xC4nderungen",message:"Sie haben ungespeicherte \xC4nderungen. M\xF6chten Sie diese speichern?",save:"\xC4nderungen speichern",discard:"\xC4nderungen verwerfen",cancel:"Weiter bearbeiten"},dependencies:{blockedBy:"Blockiert von",blocking:"Blockierend",placeholder:"[[Aufgabennotiz]]",addTaskButton:"Aufgabe hinzuf\xFCgen",selectTaskTooltip:"Aufgabennotiz mit unscharfer Suche ausw\xE4hlen",removeTaskTooltip:"Aufgabe entfernen"},organization:{projects:"Projekte",subtasks:"Unteraufgaben",addToProject:"Zu Projekt hinzuf\xFCgen",addToProjectButton:"Zu Projekt hinzuf\xFCgen",addSubtasks:"Unteraufgaben hinzuf\xFCgen",addSubtasksButton:"Unteraufgabe hinzuf\xFCgen",addSubtasksTooltip:"Aufgaben ausw\xE4hlen, um sie zu Unteraufgaben dieser Aufgabe zu machen",removeSubtaskTooltip:"Unteraufgabe entfernen",notices:{noEligibleSubtasks:"Keine geeigneten Aufgaben verf\xFCgbar, um als Unteraufgaben zugewiesen zu werden",subtaskSelectFailed:"Unteraufgaben-Auswahl konnte nicht ge\xF6ffnet werden"}},customFieldsLabel:"Benutzerdefinierte Felder",actions:{due:"F\xE4lligkeitsdatum setzen",scheduled:"Planungsdatum setzen",status:"Status setzen",priority:"Priorit\xE4t setzen",recurrence:"Wiederholung setzen",reminders:"Erinnerungen setzen"},buttons:{openNote:"Notiz \xF6ffnen",save:"Speichern"},tooltips:{dueValue:"F\xE4llig: {value}",scheduledValue:"Geplant: {value}",statusValue:"Status: {value}",priorityValue:"Priorit\xE4t: {value}",recurrenceValue:"Wiederholung: {value}",remindersSingle:"1 Erinnerung gesetzt",remindersPlural:"{count} Erinnerungen gesetzt"},dateMenu:{dueTitle:"F\xE4lligkeitsdatum setzen",scheduledTitle:"Planungsdatum setzen"},userFields:{textPlaceholder:"{field} eingeben...",numberPlaceholder:"0",datePlaceholder:"YYYY-MM-DD",listPlaceholder:"element1, element2, element3",pickDate:"{field}-Datum w\xE4hlen"},recurrence:{daily:"T\xE4glich",weekly:"W\xF6chentlich",everyTwoWeeks:"Alle 2 Wochen",weekdays:"Wochentage",weeklyOn:"W\xF6chentlich am {days}",monthly:"Monatlich",everyThreeMonths:"Alle 3 Monate",monthlyOnOrdinal:"Monatlich am {ordinal}",monthlyByWeekday:"Monatlich (nach Wochentag)",yearly:"J\xE4hrlich",yearlyOn:"J\xE4hrlich am {month} {day}",custom:"Benutzerdefiniert",countSuffix:"{count} mal",untilSuffix:"bis {date}",ordinal:"{number}{suffix}"}},taskSelector:{title:"Aufgabe ausw\xE4hlen",placeholder:"Tippen Sie, um nach Aufgaben zu suchen...",instructions:{navigate:"zum Navigieren",select:"zum Ausw\xE4hlen",dismiss:"zum Abbrechen"},notices:{noteNotFound:'Notiz "{name}" konnte nicht gefunden werden'},dueDate:{overdue:"F\xE4llig: {date} (\xFCberf\xE4llig)",today:"F\xE4llig: Heute"}},taskSelectorWithCreate:{title:"Aufgabe erstellen oder \xF6ffnen",placeholder:"Aufgaben suchen oder eingeben zum Erstellen...",instructions:{create:"um neue Aufgabe zu erstellen"},footer:{createLabel:" zum Erstellen: "},notices:{emptyQuery:"Bitte geben Sie eine Aufgabenbeschreibung ein",invalidTitle:"Kein g\xFCltiger Aufgabentitel erkannt"}},taskCreation:{title:"Aufgabe erstellen",actions:{fillFromNaturalLanguage:"Formular aus nat\xFCrlicher Sprache ausf\xFCllen",hideDetailedOptions:"Detailoptionen ausblenden",showDetailedOptions:"Detailoptionen anzeigen"},nlPlaceholder:"Lebensmittel morgen um 15 Uhr kaufen @zuhause #besorgungen",notices:{titleRequired:"Bitte gib einen Aufgabentitel ein",success:'Aufgabe "{title}" erfolgreich erstellt',successShortened:'Aufgabe "{title}" erfolgreich erstellt (Dateiname wegen L\xE4nge gek\xFCrzt)',failure:"Aufgabe konnte nicht erstellt werden: {message}",blockingUnresolved:"Konnte nicht aufl\xF6sen: {entries}"}},taskEdit:{title:"Aufgabe bearbeiten",sections:{completions:"Abschl\xFCsse",taskInfo:"Aufgabeninformationen"},metadata:{totalTrackedTime:"Gesamte erfasste Zeit:",created:"Erstellt:",modified:"Ge\xE4ndert:",file:"Datei:"},buttons:{archive:"Archivieren",unarchive:"Entarchivieren"},notices:{titleRequired:"Bitte gib einen Aufgabentitel ein",noChanges:"Keine \xC4nderungen zu speichern",updateSuccess:'Aufgabe "{title}" erfolgreich aktualisiert',updateFailure:"Aufgabe konnte nicht aktualisiert werden: {message}",dependenciesUpdateSuccess:"Abh\xE4ngigkeiten aktualisiert",blockingUnresolved:"Konnte nicht aufl\xF6sen: {entries}",fileMissing:"Aufgabendatei konnte nicht gefunden werden: {path}",openNoteFailure:"Aufgabennotiz konnte nicht ge\xF6ffnet werden",archiveSuccess:"Aufgabe erfolgreich {action}",archiveFailure:"Aufgabe konnte nicht archiviert werden"},archiveAction:{archived:"archiviert",unarchived:"entarchiviert"}},storageLocation:{title:{migrate:"Pomodoro-Daten migrieren?",switch:"Zu t\xE4glichen Notizen wechseln?"},message:{migrate:"Dies wird deine bestehenden Pomodoro-Sitzungsdaten zu Frontmatter in t\xE4glichen Notizen migrieren. Die Daten werden nach Datum gruppiert und in jeder t\xE4glichen Notiz gespeichert.",switch:"Pomodoro-Sitzungsdaten werden im Frontmatter der t\xE4glichen Notizen statt in der Plugin-Datendatei gespeichert."},whatThisMeans:"Was das bedeutet:",bullets:{dailyNotesRequired:"Daily Notes Core Plugin muss aktiviert bleiben",storedInNotes:"Daten werden im Frontmatter deiner t\xE4glichen Notizen gespeichert",migrateData:"Bestehende Plugin-Daten werden migriert und dann gel\xF6scht",futureSessions:"Zuk\xFCnftige Sitzungen werden in t\xE4glichen Notizen gespeichert",dataLongevity:"Dies bietet bessere Datenbest\xE4ndigkeit mit deinen Notizen"},finalNote:{migrate:"\u26A0\uFE0F Stelle sicher, dass du Backups hast, falls n\xF6tig. Diese \xC4nderung kann nicht automatisch r\xFCckg\xE4ngig gemacht werden.",switch:"Du kannst jederzeit in Zukunft zur\xFCck zur Plugin-Speicherung wechseln."},buttons:{migrate:"Daten migrieren",switch:"Speicherung wechseln"}},dueDate:{title:"F\xE4lligkeitsdatum setzen",taskLabel:"Aufgabe: {title}",sections:{dateTime:"F\xE4lligkeitsdatum & Zeit",quickOptions:"Schnelloptionen"},descriptions:{dateTime:"Setze, wann diese Aufgabe abgeschlossen werden soll"},inputs:{date:{ariaLabel:"F\xE4lligkeitsdatum f\xFCr Aufgabe",placeholder:"YYYY-MM-DD"},time:{ariaLabel:"F\xE4lligkeitszeit f\xFCr Aufgabe (optional)",placeholder:"HH:MM"}},quickOptions:{today:"Heute",todayAriaLabel:"F\xE4lligkeitsdatum auf heute setzen",tomorrow:"Morgen",tomorrowAriaLabel:"F\xE4lligkeitsdatum auf morgen setzen",nextWeek:"N\xE4chste Woche",nextWeekAriaLabel:"F\xE4lligkeitsdatum auf n\xE4chste Woche setzen",now:"Jetzt",nowAriaLabel:"F\xE4lligkeitsdatum und -zeit auf jetzt setzen",clear:"L\xF6schen",clearAriaLabel:"F\xE4lligkeitsdatum l\xF6schen"},errors:{invalidDateTime:"Bitte gib ein g\xFCltiges Datums- und Zeitformat ein",updateFailed:"F\xE4lligkeitsdatum konnte nicht aktualisiert werden. Bitte versuche es erneut."}},scheduledDate:{title:"Planungsdatum setzen",taskLabel:"Aufgabe: {title}",sections:{dateTime:"Planungsdatum & Zeit",quickOptions:"Schnelloptionen"},descriptions:{dateTime:"Setze, wann du an dieser Aufgabe arbeiten m\xF6chtest"},inputs:{date:{ariaLabel:"Planungsdatum f\xFCr Aufgabe",placeholder:"YYYY-MM-DD"},time:{ariaLabel:"Planungszeit f\xFCr Aufgabe (optional)",placeholder:"HH:MM"}},quickOptions:{today:"Heute",todayAriaLabel:"Planungsdatum auf heute setzen",tomorrow:"Morgen",tomorrowAriaLabel:"Planungsdatum auf morgen setzen",nextWeek:"N\xE4chste Woche",nextWeekAriaLabel:"Planungsdatum auf n\xE4chste Woche setzen",now:"Jetzt",nowAriaLabel:"Planungsdatum und -zeit auf jetzt setzen",clear:"L\xF6schen",clearAriaLabel:"Planungsdatum l\xF6schen"},errors:{invalidDateTime:"Bitte gib ein g\xFCltiges Datums- und Zeitformat ein",updateFailed:"Planungsdatum konnte nicht aktualisiert werden. Bitte versuche es erneut."}},timeEntryEditor:{title:"Zeiteintr\xE4ge - {taskTitle}",addEntry:"Zeiteintrag hinzuf\xFCgen",noEntries:"Noch keine Zeiteintr\xE4ge",deleteEntry:"Eintrag l\xF6schen",startTime:"Startzeit",endTime:"Endzeit (leer lassen, falls noch laufend)",duration:"Dauer (Minuten)",durationDesc:"Berechnete Dauer \xFCberschreiben",durationPlaceholder:"Dauer in Minuten eingeben",description:"Beschreibung",descriptionPlaceholder:"Woran haben Sie gearbeitet?",calculatedDuration:"Berechnet: {minutes} Minuten",totalTime:"{hours}h {minutes}m gesamt",totalMinutes:"{minutes}m gesamt",saved:"Zeiteintr\xE4ge gespeichert",saveFailed:"Speichern der Zeiteintr\xE4ge fehlgeschlagen",openFailed:"\xD6ffnen des Zeiteintrag-Editors fehlgeschlagen",noTasksWithEntries:"Keine Aufgaben mit Zeiteintr\xE4gen zum Bearbeiten",validation:{missingStartTime:"Startzeit ist erforderlich",endBeforeStart:"Endzeit muss nach der Startzeit liegen"}},timeTracking:{noTasksAvailable:"Keine Aufgaben zur Zeiterfassung verf\xFCgbar",started:"Zeiterfassung gestartet f\xFCr: {taskTitle}",startFailed:"Starten der Zeiterfassung fehlgeschlagen"},timeEntry:{mustHaveSpecificTime:"Zeiteintr\xE4ge m\xFCssen spezifische Zeiten haben. Bitte w\xE4hlen Sie einen Zeitbereich in der Wochen- oder Tagesansicht.",noTasksAvailable:"Keine Aufgaben zum Erstellen von Zeiteintr\xE4gen verf\xFCgbar",created:"Zeiteintrag erstellt f\xFCr {taskTitle} ({duration} Minuten)",createFailed:"Erstellen des Zeiteintrags fehlgeschlagen"}},contextMenus:{task:{status:"Status",statusSelected:"\u2713 {label}",priority:"Priorit\xE4t",prioritySelected:"\u2713 {label}",dueDate:"F\xE4lligkeitsdatum",scheduledDate:"Planungsdatum",reminders:"Erinnerungen",remindBeforeDue:"Vor F\xE4lligkeit erinnern\u2026",remindBeforeScheduled:"Vor Planung erinnern\u2026",manageReminders:"Alle Erinnerungen verwalten\u2026",clearReminders:"Alle Erinnerungen l\xF6schen",startTimeTracking:"Zeiterfassung starten",stopTimeTracking:"Zeiterfassung stoppen",editTimeEntries:"Zeiteintr\xE4ge bearbeiten",archive:"Archivieren",unarchive:"Entarchivieren",openNote:"Notiz \xF6ffnen",copyTitle:"Aufgabentitel kopieren",noteActions:"Notizaktionen",rename:"Umbenennen",renameTitle:"Datei umbenennen",renamePlaceholder:"Neuen Namen eingeben",delete:"L\xF6schen",deleteTitle:"Datei l\xF6schen",deleteMessage:'Bist du sicher, dass du "{name}" l\xF6schen m\xF6chtest?',deleteConfirm:"L\xF6schen",copyPath:"Pfad kopieren",copyUrl:"Obsidian URL kopieren",showInExplorer:"Im Datei-Explorer anzeigen",addToCalendar:"Zum Kalender hinzuf\xFCgen",calendar:{google:"Google Kalender",outlook:"Outlook Kalender",yahoo:"Yahoo Kalender",downloadIcs:".ics Datei herunterladen",syncToGoogle:"Mit Google Kalender synchronisieren",syncToGoogleNotConfigured:"Google Kalender-Synchronisierung nicht konfiguriert",syncToGoogleSuccess:"Aufgabe mit Google Kalender synchronisiert",syncToGoogleFailed:"Synchronisierung mit Google Kalender fehlgeschlagen"},recurrence:"Wiederholung",clearRecurrence:"Wiederholung l\xF6schen",customRecurrence:"Benutzerdefinierte Wiederholung...",createSubtask:"Unteraufgabe erstellen",dependencies:{title:"Abh\xE4ngigkeiten",addBlockedBy:"Blockiert von hinzuf\xFCgen\u2026",addBlockedByTitle:"Aufgaben hinzuf\xFCgen, von denen dies abh\xE4ngt",addBlocking:"Blockierend hinzuf\xFCgen\u2026",addBlockingTitle:"Aufgaben hinzuf\xFCgen, die dies blockiert",removeBlockedBy:"Blockiert-von entfernen\u2026",removeBlocking:"Blockierend entfernen\u2026",unknownDependency:"Unbekannt",inputPlaceholder:"[[Aufgabennotiz]]",notices:{noEntries:"Bitte geben Sie mindestens eine Aufgabe ein",blockedByAdded:"{count} Abh\xE4ngigkeit hinzugef\xFCgt",blockedByRemoved:"Abh\xE4ngigkeit entfernt",blockingAdded:"{count} abh\xE4ngige Aufgabe hinzugef\xFCgt",blockingRemoved:"Abh\xE4ngige Aufgabe entfernt",unresolved:"Konnte nicht aufl\xF6sen: {entries}",noEligibleTasks:"Keine passenden Aufgaben verf\xFCgbar",updateFailed:"Abh\xE4ngigkeiten konnten nicht aktualisiert werden"}},organization:{title:"Organisation",projects:"Projekte",addToProject:"Zu Projekt hinzuf\xFCgen\u2026",subtasks:"Unteraufgaben",addSubtasks:"Unteraufgaben hinzuf\xFCgen\u2026",notices:{alreadyInProject:"Aufgabe ist bereits in diesem Projekt",alreadySubtask:"Aufgabe ist bereits eine Unteraufgabe dieser Aufgabe",addedToProject:"Zu Projekt hinzugef\xFCgt: {project}",addedAsSubtask:"{subtask} als Unteraufgabe von {parent} hinzugef\xFCgt",addToProjectFailed:"Hinzuf\xFCgen der Aufgabe zum Projekt fehlgeschlagen",addAsSubtaskFailed:"Hinzuf\xFCgen der Aufgabe als Unteraufgabe fehlgeschlagen",projectSelectFailed:"Projektauswahl konnte nicht ge\xF6ffnet werden",subtaskSelectFailed:"Unteraufgaben-Auswahl konnte nicht ge\xF6ffnet werden",noEligibleSubtasks:"Keine geeigneten Aufgaben verf\xFCgbar, um als Unteraufgaben zugewiesen zu werden",currentTaskNotFound:"Aktuelle Aufgabendatei nicht gefunden"}},subtasks:{loading:"Unteraufgaben werden geladen...",noSubtasks:"Keine Unteraufgaben gefunden",loadFailed:"Unteraufgaben konnten nicht geladen werden"},markComplete:"Als abgeschlossen f\xFCr dieses Datum markieren",markIncomplete:"Als unvollst\xE4ndig f\xFCr dieses Datum markieren",skipInstance:"Instanz \xFCberspringen",unskipInstance:"Instanz nicht \xFCberspringen",quickReminders:{atTime:"Zur Zeit des Events",fiveMinutes:"5 Minuten vorher",fifteenMinutes:"15 Minuten vorher",oneHour:"1 Stunde vorher",oneDay:"1 Tag vorher"},notices:{toggleCompletionFailure:"Abschluss der wiederkehrenden Aufgabe konnte nicht umgeschaltet werden: {message}",toggleSkipFailure:"\xDCberspringen der wiederkehrenden Aufgabe konnte nicht umgeschaltet werden: {message}",updateDueDateFailure:"Aufgaben-F\xE4lligkeitsdatum konnte nicht aktualisiert werden: {message}",updateScheduledFailure:"Aufgaben-Planungsdatum konnte nicht aktualisiert werden: {message}",updateRemindersFailure:"Erinnerungen konnten nicht aktualisiert werden",clearRemindersFailure:"Erinnerungen konnten nicht gel\xF6scht werden",addReminderFailure:"Erinnerung konnte nicht hinzugef\xFCgt werden",archiveFailure:"Aufgabenarchiv konnte nicht umgeschaltet werden: {message}",copyTitleSuccess:"Aufgabentitel in Zwischenablage kopiert",copyFailure:"Kopieren in Zwischenablage fehlgeschlagen",renameSuccess:'Umbenannt zu "{name}"',renameFailure:"Datei konnte nicht umbenannt werden",copyPathSuccess:"Dateipfad in Zwischenablage kopiert",copyUrlSuccess:"Obsidian URL in Zwischenablage kopiert",updateRecurrenceFailure:"Aufgabenwiederholung konnte nicht aktualisiert werden: {message}"}},priority:{clearPriority:"Priorit\xE4t l\xF6schen"},ics:{showDetails:"Details anzeigen",createTask:"Aufgabe aus Event erstellen",createNote:"Notiz aus Event erstellen",linkNote:"Bestehende Notiz verlinken",copyTitle:"Titel kopieren",copyLocation:"Ort kopieren",copyUrl:"URL kopieren",copyMarkdown:"Als Markdown kopieren",subscriptionUnknown:"Unbekannter Kalender",notices:{copyTitleSuccess:"Event-Titel in Zwischenablage kopiert",copyLocationSuccess:"Ort in Zwischenablage kopiert",copyUrlSuccess:"Event-URL in Zwischenablage kopiert",copyMarkdownSuccess:"Event-Details als Markdown kopiert",copyFailure:"Kopieren in Zwischenablage fehlgeschlagen",taskCreated:"Aufgabe erstellt: {title}",taskCreateFailure:"Aufgabe aus Event konnte nicht erstellt werden",noteCreated:"Notiz erfolgreich erstellt",creationFailure:"Erstellungsmodal konnte nicht ge\xF6ffnet werden",linkSuccess:'Notiz "{name}" mit Event verlinkt',linkFailure:"Notiz konnte nicht verlinkt werden",linkSelectionFailure:"Notizauswahl konnte nicht ge\xF6ffnet werden"},markdown:{titleFallback:"Unbenanntes Event",calendar:"**Kalender:** {value}",date:"**Datum & Zeit:** {value}",location:"**Ort:** {value}",descriptionHeading:"### Beschreibung",url:"**URL:** {value}",at:" um {time}"}},date:{increment:{plusOneDay:"+1 Tag",minusOneDay:"-1 Tag",plusOneWeek:"+1 Woche",minusOneWeek:"-1 Woche"},basic:{today:"Heute",tomorrow:"Morgen",thisWeekend:"Dieses Wochenende",nextWeek:"N\xE4chste Woche",nextMonth:"N\xE4chster Monat"},weekdaysLabel:"Wochentage",selected:"\u2713 {label}",pickDateTime:"Datum & Zeit w\xE4hlen\u2026",clearDate:"Datum l\xF6schen",modal:{title:"Datum & Zeit setzen",dateLabel:"Datum",timeLabel:"Zeit (optional)",select:"Ausw\xE4hlen"}}},services:{pomodoro:{notices:{alreadyRunning:"Ein Pomodoro l\xE4uft bereits",resumeCurrentSession:"Setze die aktuelle Sitzung fort, anstatt eine neue zu starten",timerAlreadyRunning:"Ein Timer l\xE4uft bereits",resumeSessionInstead:"Setze die aktuelle Sitzung fort, anstatt eine neue zu starten",shortBreakStarted:"Kurze Pause gestartet",longBreakStarted:"Lange Pause gestartet",paused:"Pomodoro pausiert",resumed:"Pomodoro fortgesetzt",stoppedAndReset:"Pomodoro gestoppt und zur\xFCckgesetzt",migrationSuccess:"{count} Pomodoro-Sitzungen erfolgreich zu t\xE4glichen Notizen migriert.",migrationFailure:"Migration der Pomodoro-Daten fehlgeschlagen. Bitte versuche es erneut oder pr\xFCfe die Konsole f\xFCr Details."}},icsSubscription:{notices:{calendarNotFound:'Kalender "{name}" nicht gefunden (404). Bitte pr\xFCfe, ob die ICS-URL korrekt ist und der Kalender \xF6ffentlich zug\xE4nglich ist.',calendarAccessDenied:'Kalender "{name}" Zugriff verweigert (500). Dies k\xF6nnte auf Microsoft Outlook Server-Beschr\xE4nkungen zur\xFCckzuf\xFChren sein. Versuche, die ICS-URL aus deinen Kalendereinstellungen neu zu generieren.',fetchRemoteFailed:'Remote-Kalender "{name}" konnte nicht abgerufen werden: {error}',readLocalFailed:'Lokaler Kalender "{name}" konnte nicht gelesen werden: {error}'}},calendarExport:{notices:{generateLinkFailed:"Kalenderlink konnte nicht generiert werden",noTasksToExport:"Keine Aufgaben zum Exportieren gefunden",downloadSuccess:"{filename} mit {count} Aufgabe{plural} heruntergeladen",downloadFailed:"Kalenderdatei konnte nicht heruntergeladen werden",singleDownloadSuccess:"{filename} heruntergeladen"}},filter:{groupLabels:{noProject:"Kein Projekt",noTags:"Keine Tags",invalidDate:"Ung\xFCltiges Datum",due:{overdue:"\xDCberf\xE4llig",today:"Heute",tomorrow:"Morgen",nextSevenDays:"N\xE4chste sieben Tage",later:"Sp\xE4ter",none:"Kein F\xE4lligkeitsdatum"},scheduled:{past:"Vergangene Planung",today:"Heute",tomorrow:"Morgen",nextSevenDays:"N\xE4chste sieben Tage",later:"Sp\xE4ter",none:"Kein Planungsdatum"}},errors:{noDatesProvided:"Keine Daten bereitgestellt"},folders:{root:"(Root)"}},instantTaskConvert:{notices:{noCheckboxTasks:"Keine Checkbox-Aufgaben in der aktuellen Notiz gefunden.",convertingTasks:"{count} Aufgabe{plural} wird konvertiert...",conversionSuccess:"\u2705 {count} Aufgabe{plural} erfolgreich zu TaskNotes konvertiert!",partialConversion:"{successCount} Aufgabe{successPlural} konvertiert. {failureCount} fehlgeschlagen.",batchConversionFailed:"Batch-Konvertierung fehlgeschlagen. Bitte versuche es erneut.",invalidParameters:"Ung\xFCltige Eingabeparameter.",emptyLine:"Aktuelle Zeile ist leer oder enth\xE4lt keinen g\xFCltigen Inhalt.",parseError:"Fehler beim Parsen der Aufgabe: {error}",invalidTaskData:"Ung\xFCltige Aufgabendaten.",replaceLineFailed:"Aufgabenzeile konnte nicht ersetzt werden.",conversionComplete:"Aufgabe konvertiert: {title}",conversionCompleteShortened:'Aufgabe konvertiert: "{title}" (Dateiname wegen L\xE4nge gek\xFCrzt)',fileExists:"Eine Datei mit diesem Namen existiert bereits. Bitte versuche es erneut oder benenne die Aufgabe um.",conversionFailed:"Aufgabe konnte nicht konvertiert werden. Bitte versuche es erneut."}},icsNote:{notices:{templateNotFound:"Vorlage nicht gefunden: {path}",templateProcessError:"Fehler beim Verarbeiten der Vorlage: {template}",linkedToEvent:"Notiz mit ICS-Event verlinkt: {title}"}},task:{notices:{templateNotFound:"Aufgabenk\xF6rper-Vorlage nicht gefunden: {path}",templateReadError:"Fehler beim Lesen der Aufgabenk\xF6rper-Vorlage: {template}",moveTaskFailed:"{operation} Aufgabe konnte nicht verschoben werden: {error}"}},autoExport:{notices:{exportFailed:"TaskNotes Auto-Export fehlgeschlagen: {error}"}}},ui:{icsCard:{untitledEvent:"Unbenanntes Event",allDay:"Ganzt\xE4gig",calendarEvent:"Kalenderevent",calendarFallback:"Kalender"},noteCard:{createdLabel:"Erstellt:",dailyBadge:"T\xE4glich",dailyTooltip:"T\xE4gliche Notiz"},taskCard:{labels:{due:"F\xE4llig",scheduled:"Geplant",recurrence:"Wiederkehrend",completed:"Abgeschlossen",created:"Erstellt",modified:"Ge\xE4ndert",blocked:"Blockiert",blocking:"Blockierend"},blockedBadge:"Blockiert",blockedBadgeTooltip:"Diese Aufgabe wartet auf eine andere Aufgabe",blockingBadge:"Blockierend",blockingBadgeTooltip:"Diese Aufgabe blockiert eine andere Aufgabe",blockingToggle:"Blockiert {count} Aufgaben",priorityAriaLabel:"Priorit\xE4t: {label}",taskOptions:"Aufgabenoptionen",recurrenceTooltip:"{label}: {value}",reminderTooltipOne:"1 Erinnerung gesetzt (zum Verwalten klicken)",reminderTooltipMany:"{count} Erinnerungen gesetzt (zum Verwalten klicken)",projectTooltip:"Diese Aufgabe wird als Projekt verwendet (zum Filtern von Unteraufgaben klicken)",expandSubtasks:"Unteraufgaben ausklappen",collapseSubtasks:"Unteraufgaben einklappen",dueToday:"{label}: Heute",dueTodayAt:"{label}: Heute um {time}",dueOverdue:"{label}: {display} (\xFCberf\xE4llig)",dueLabel:"{label}: {display}",scheduledToday:"{label}: Heute",scheduledTodayAt:"{label}: Heute um {time}",scheduledPast:"{label}: {display} (vergangen)",scheduledLabel:"{label}: {display}",loadingDependencies:"Abh\xE4ngigkeiten werden geladen\u2026",blockingEmpty:"Keine abh\xE4ngigen Aufgaben",blockingLoadError:"Abh\xE4ngigkeiten konnten nicht geladen werden",googleCalendarSyncTooltip:"Mit Google Kalender synchronisiert"},propertyEventCard:{unknownFile:"Unbekannte Datei"},filterHeading:{allViewName:"Alle"},filterBar:{saveView:"Ansicht speichern",saveViewNamePlaceholder:"Ansichtsname eingeben...",saveButton:"Speichern",views:"Ansichten",savedFilterViews:"Gespeicherte Filteransichten",filters:"Filter",properties:"Eigenschaften",sort:"Sortieren",newTask:"Neu",expandAllGroups:"Alle Gruppen ausklappen",collapseAllGroups:"Alle Gruppen einklappen",searchTasksPlaceholder:"Aufgaben suchen...",searchTasksTooltip:"Aufgabentitel suchen",filterUnavailable:"Filterleiste vor\xFCbergehend nicht verf\xFCgbar",toggleFilter:"Filter umschalten",activeFiltersTooltip:"Aktive Filter \u2013 Klicken zum \xC4ndern, Rechtsklick zum L\xF6schen",configureVisibleProperties:"Sichtbare Eigenschaften konfigurieren",sortAndGroupOptions:"Sortier- und Gruppenoptionen",sortMenuHeader:"Sortieren",orderMenuHeader:"Reihenfolge",groupMenuHeader:"Gruppieren",createNewTask:"Neue Aufgabe erstellen",filter:"Filter",displayOrganization:"Anzeige & Organisation",viewOptions:"Ansichtsoptionen",addFilter:"Filter hinzuf\xFCgen",addFilterGroup:"Filtergruppe hinzuf\xFCgen",addFilterTooltip:"Neue Filterbedingung hinzuf\xFCgen",addFilterGroupTooltip:"Verschachtelte Filtergruppe hinzuf\xFCgen",clearAllFilters:"Alle Filter und Gruppen l\xF6schen",saveCurrentFilter:"Aktuellen Filter als Ansicht speichern",closeFilterModal:"Filtermodal schlie\xDFen",deleteFilterGroup:"Filtergruppe l\xF6schen",deleteCondition:"Bedingung l\xF6schen",all:"Alle",any:"Beliebige",followingAreTrue:"der folgenden sind wahr:",where:"wo",selectProperty:"Ausw\xE4hlen...",chooseProperty:"W\xE4hle, nach welcher Aufgabeneigenschaft gefiltert werden soll",chooseOperator:"W\xE4hle, wie der Eigenschaftswert verglichen werden soll",enterValue:"Gib den Wert zum Filtern ein",selectValue:"W\xE4hle eine {property} zum Filtern",sortBy:"Sortieren nach:",toggleSortDirection:"Sortierrichtung umschalten",chooseSortMethod:"W\xE4hle, wie Aufgaben sortiert werden sollen",groupBy:"Gruppieren nach:",chooseGroupMethod:"Aufgaben nach gemeinsamer Eigenschaft gruppieren",toggleViewOption:"{option} umschalten",expandCollapseFilters:"Klicken zum Aus-/Einklappen der Filterbedingungen",expandCollapseSort:"Klicken zum Aus-/Einklappen der Sortier- und Gruppenoptionen",expandCollapseViewOptions:"Klicken zum Aus-/Einklappen der ansichtsspezifischen Optionen",naturalLanguageDates:"Nat\xFCrliche Sprache Daten",naturalLanguageExamples:"Beispiele f\xFCr nat\xFCrliche Sprache Daten anzeigen",enterNumericValue:"Gib einen numerischen Wert zum Filtern ein",enterDateValue:"Gib ein Datum in nat\xFCrlicher Sprache oder ISO-Format ein",pickDateTime:"Datum & Zeit w\xE4hlen",noSavedViews:"Keine gespeicherten Ansichten",savedViews:"Gespeicherte Ansichten",yourSavedFilters:"Deine gespeicherten Filterkonfigurationen",dragToReorder:"Ziehen zum Neuordnen der Ansichten",loadSavedView:"Gespeicherte Ansicht laden: {name}",deleteView:"Ansicht l\xF6schen",deleteViewTitle:"Ansicht l\xF6schen",deleteViewMessage:'Bist du sicher, dass du die Ansicht "{name}" l\xF6schen m\xF6chtest?',manageAllReminders:"Alle Erinnerungen verwalten...",clearAllReminders:"Alle Erinnerungen l\xF6schen",customRecurrence:"Benutzerdefinierte Wiederholung...",clearRecurrence:"Wiederholung l\xF6schen",sortOptions:{dueDate:"F\xE4lligkeitsdatum",scheduledDate:"Planungsdatum",priority:"Priorit\xE4t",status:"Status",title:"Titel",createdDate:"Erstellungsdatum",tags:"Tags",ascending:"Aufsteigend",descending:"Absteigend"},group:{none:"Keine",status:"Status",priority:"Priorit\xE4t",context:"Kontext",project:"Projekt",dueDate:"F\xE4lligkeitsdatum",scheduledDate:"Planungsdatum",tags:"Tags",completedDate:"Abschlussdatum"},subgroupLabel:"UNTERGRUPPE",notices:{propertiesMenuFailed:"Eigenschaftenmen\xFC konnte nicht angezeigt werden"}}},components:{dateContextMenu:{weekdays:"Wochentage",clearDate:"Datum l\xF6schen",today:"Heute",tomorrow:"Morgen",thisWeekend:"Dieses Wochenende",nextWeek:"N\xE4chste Woche",nextMonth:"N\xE4chsten Monat",setDateTime:"Datum & Zeit setzen",dateLabel:"Datum",timeLabel:"Zeit (optional)"},subgroupMenuBuilder:{none:"Keine",status:"Status",priority:"Priorit\xE4t",context:"Kontext",project:"Projekt",dueDate:"F\xE4lligkeitsdatum",scheduledDate:"Planungsdatum",tags:"Tags",completedDate:"Abschlussdatum",subgroup:"UNTERGRUPPE"},propertyVisibilityDropdown:{coreProperties:"KERNEIGENSCHAFTEN",organization:"ORGANISATION",customProperties:"BENUTZERDEFINIERTE EIGENSCHAFTEN",failed:"Eigenschaftenmen\xFC konnte nicht angezeigt werden",properties:{statusDot:"Statuspunkt",priorityDot:"Priorit\xE4tspunkt",dueDate:"F\xE4lligkeitsdatum",scheduledDate:"Planungsdatum",timeEstimate:"Zeitsch\xE4tzung",totalTrackedTime:"Gesamte erfasste Zeit",checklistProgress:"Checklistenfortschritt",recurrence:"Wiederholung",completedDate:"Abschlussdatum",createdDate:"Erstellungsdatum",modifiedDate:"\xC4nderungsdatum",projects:"Projekte",contexts:"Kontexte",tags:"Tags",blocked:"Blockiert",blocking:"Blockierend"}},reminderContextMenu:{remindBeforeDue:"Vor F\xE4lligkeit erinnern...",remindBeforeScheduled:"Vor Planung erinnern...",manageAllReminders:"Alle Erinnerungen verwalten...",clearAllReminders:"Alle Erinnerungen l\xF6schen",quickReminders:{atTime:"Zur Zeit des Events",fiveMinutesBefore:"5 Minuten vorher",fifteenMinutesBefore:"15 Minuten vorher",oneHourBefore:"1 Stunde vorher",oneDayBefore:"1 Tag vorher"}},recurrenceContextMenu:{daily:"T\xE4glich",weeklyOn:"W\xF6chentlich am {day}",everyTwoWeeksOn:"Alle 2 Wochen am {day}",monthlyOnThe:"Monatlich am {ordinal}",everyThreeMonthsOnThe:"Alle 3 Monate am {ordinal}",yearlyOn:"J\xE4hrlich am {month} {ordinal}",weekdaysOnly:"Nur Wochentage",dailyAfterCompletion:"T\xE4glich (nach Abschluss)",every3DaysAfterCompletion:"Alle 3 Tage (nach Abschluss)",weeklyAfterCompletion:"W\xF6chentlich (nach Abschluss)",monthlyAfterCompletion:"Monatlich (nach Abschluss)",customRecurrence:"Benutzerdefinierte Wiederholung...",clearRecurrence:"Wiederholung l\xF6schen",customRecurrenceModal:{title:"Benutzerdefinierte Wiederholung",startDate:"Startdatum",startDateDesc:"Das Datum, an dem das Wiederholungsmuster beginnt",startTime:"Startzeit",startTimeDesc:"Die Zeit, zu der wiederkehrende Instanzen erscheinen sollen (optional)",recurFrom:"Wiederholen ab",recurFromDesc:"Wann soll das n\xE4chste Vorkommen berechnet werden?",scheduledDate:"Geplantes Datum",completionDate:"Abschlussdatum",frequency:"H\xE4ufigkeit",interval:"Intervall",intervalDesc:"Alle X Tage/Wochen/Monate/Jahre",daysOfWeek:"Wochentage",daysOfWeekDesc:"Bestimmte Tage ausw\xE4hlen (f\xFCr w\xF6chentliche Wiederholung)",monthlyRecurrence:"Monatliche Wiederholung",monthlyRecurrenceDesc:"W\xE4hle, wie monatlich wiederholt werden soll",yearlyRecurrence:"J\xE4hrliche Wiederholung",yearlyRecurrenceDesc:"W\xE4hle, wie j\xE4hrlich wiederholt werden soll",endCondition:"Endbedingung",endConditionDesc:"W\xE4hle, wann die Wiederholung enden soll",neverEnds:"Endet nie",endAfterOccurrences:"Nach {count} Vorkommen beenden",endOnDate:"Am {date} beenden",onDayOfMonth:"Am Tag {day} jeden Monat",onTheWeekOfMonth:"Am {week} {day} jeden Monat",onDateOfYear:"Am {month} {day} jedes Jahr",onTheWeekOfYear:"Am {week} {day} von {month} jedes Jahr",frequencies:{daily:"T\xE4glich",weekly:"W\xF6chentlich",monthly:"Monatlich",yearly:"J\xE4hrlich"},weekPositions:{first:"ersten",second:"zweiten",third:"dritten",fourth:"vierten",last:"letzten"},weekdays:{monday:"Montag",tuesday:"Dienstag",wednesday:"Mittwoch",thursday:"Donnerstag",friday:"Freitag",saturday:"Samstag",sunday:"Sonntag"},weekdaysShort:{mon:"Mo",tue:"Di",wed:"Mi",thu:"Do",fri:"Fr",sat:"Sa",sun:"So"},cancel:"Abbrechen",save:"Speichern"}}}};var Ede={common:{appName:"TaskNotes",new:"Nuevo",cancel:"Cancelar",confirm:"Confirmar",close:"Cerrar",save:"Guardar",reorder:{confirmLargeTitle:"Confirmar reordenaci\xF3n grande",confirmButton:"Reordenar notas",confirmLargeMessage:'Reordenar aqu\xED actualizar\xE1 "{field}" en {count} notas para crear un orden manual persistente para {scope}. Las notas ocultas o filtradas dentro del mismo alcance tambi\xE9n pueden actualizarse. \xBFContinuar?'},language:"Idioma",systemDefault:"Predeterminado del sistema",loading:"Cargando...",languages:{en:"Ingl\xE9s",fr:"Franc\xE9s",ru:"Ruso",zh:"Chino",de:"Alem\xE1n",es:"Espa\xF1ol",ja:"Japon\xE9s",pt:"Portugu\xE9s (Brasil)",ko:"Coreano"},weekdays:{sunday:"Domingo",monday:"Lunes",tuesday:"Martes",wednesday:"Mi\xE9rcoles",thursday:"Jueves",friday:"Viernes",saturday:"S\xE1bado"},months:{january:"Enero",february:"Febrero",march:"Marzo",april:"Abril",may:"Mayo",june:"Junio",july:"Julio",august:"Agosto",september:"Septiembre",october:"Octubre",november:"Noviembre",december:"Diciembre"}},views:{agenda:{title:"Agenda",today:"Hoy",overdue:"Vencido",refreshCalendars:"Actualizar calendarios",actions:{previousPeriod:"Per\xEDodo anterior",nextPeriod:"Pr\xF3ximo per\xEDodo",goToToday:"Ir a hoy",refreshCalendars:"Actualizar suscripciones de calendario"},loading:"Cargando agenda...",dayToggle:"Cambiar d\xEDa",overdueToggle:"Alternar secci\xF3n de vencidos",expandAllDays:"Expandir todos los d\xEDas",collapseAllDays:"Contraer todos los d\xEDas",notices:{calendarNotReady:"Servicio de calendario a\xFAn no listo",calendarRefreshed:"Suscripciones de calendario actualizadas",refreshFailed:"Error al actualizar"},empty:{noItemsScheduled:"No hay elementos programados",noItemsFound:"No se encontraron elementos",helpText:"Cree tareas con fechas de vencimiento o programadas, o agregue notas para verlas aqu\xED."},contextMenu:{showOverdueSection:"Mostrar secci\xF3n de vencidos",showNotes:"Mostrar notas",calendarSubscriptions:"Suscripciones de calendario"},periods:{thisWeek:"Esta semana"},tipPrefix:"Consejo: "},taskList:{title:"Tareas",expandAllGroups:"Expandir todos los grupos",collapseAllGroups:"Contraer todos los grupos",noTasksFound:"No se encontraron tareas para los filtros seleccionados.",reorder:{scope:{ungrouped:"esta lista sin agrupar",group:'grupo "{group}"'}},errors:{formulaGroupingReadOnly:"No se pueden reordenar tareas en grupos basados en f\xF3rmulas. Los valores de f\xF3rmula se calculan y no pueden modificarse directamente."}},notes:{title:"Notas",refreshButton:"Actualizar",refreshingButton:"Actualizando...",notices:{indexingDisabled:"Indexaci\xF3n de notas deshabilitada"},empty:{noNotesFound:"No se encontraron notas",helpText:"No se encontraron notas para la fecha seleccionada. Intente seleccionar una fecha diferente en la vista de Mini Calendario o cree algunas notas."},loading:"Cargando notas...",refreshButtonAriaLabel:"Actualizar lista de notas"},miniCalendar:{title:"Mini Calendario"},advancedCalendar:{title:"Calendario",filters:{showFilters:"Mostrar filtros",hideFilters:"Ocultar filtros"},viewOptions:{calendarSubscriptions:"Suscripciones de calendario",timeEntries:"Entradas de tiempo",timeblocks:"Bloques de tiempo",scheduledDates:"Fechas programadas",dueDates:"Fechas de vencimiento",allDaySlot:"Espacio de d\xEDa completo",scheduledTasks:"Tareas programadas",recurringTasks:"Tareas recurrentes"},buttons:{refresh:"Actualizar",refreshHint:"Actualizar suscripciones de calendario"},notices:{icsServiceNotAvailable:"Servicio de suscripci\xF3n ICS no disponible",calendarRefreshedAll:"Todas las suscripciones de calendario se actualizaron correctamente",refreshFailed:"Error al actualizar algunas suscripciones de calendario",timeblockSpecificTime:"Los bloques de tiempo deben tener horas espec\xEDficas. Seleccione un rango de tiempo en la vista de semana o d\xEDa.",timeblockMoved:'Bloque de tiempo "{title}" movido a {date}',timeblockUpdated:'Hora del bloque de tiempo "{title}" actualizada',timeblockMoveFailed:"Error al mover el bloque de tiempo: {message}",timeblockResized:'Duraci\xF3n del bloque de tiempo "{title}" actualizada',timeblockResizeFailed:"Error al redimensionar el bloque de tiempo: {message}",taskScheduled:'Tarea "{title}" programada para {date}',scheduleTaskFailed:"Error al programar la tarea",endTimeAfterStart:"La hora de fin debe ser posterior a la hora de inicio",timeEntryNotFound:"Entrada de tiempo no encontrada",timeEntryDeleted:"Entrada de tiempo eliminada",deleteTimeEntryFailed:"Error al eliminar la entrada de tiempo"},timeEntry:{estimatedSuffix:"estimado",trackedSuffix:"registrado",recurringPrefix:"Recurrente: ",completedPrefix:"Completado: ",createdPrefix:"Creado: ",modifiedPrefix:"Modificado: ",duePrefix:"Vence: ",scheduledPrefix:"Programado: "},contextMenus:{openTask:"Abrir tarea",deleteTimeEntry:"Eliminar entrada de tiempo",deleteTimeEntryTitle:"Eliminar Entrada de Tiempo",deleteTimeEntryConfirm:"\xBFEst\xE1s seguro de que deseas eliminar esta entrada de tiempo{duration}? Esta acci\xF3n no se puede deshacer.",deleteButton:"Eliminar",cancelButton:"Cancelar"}},basesCalendar:{title:"Calendario Bases",today:"Hoy",buttonText:{month:"M",week:"S",day:"D",year:"A",list:"L",customDays:"{count}D",listDays:"{count}d Lista",refresh:"Actualizar"},hints:{refresh:"Actualizar suscripciones de calendario",today:"Ir a hoy",prev:"Anterior",next:"Siguiente",month:"Vista de mes",week:"Vista de semana",day:"Vista de d\xEDa",year:"Vista de a\xF1o",list:"Vista de lista",customDays:"Vista de {count} d\xEDas"},settings:{groups:{dateNavigation:"Navegaci\xF3n por fecha",events:"Eventos",layout:"Dise\xF1o",propertyBasedEvents:"Eventos basados en propiedades",calendarSubscriptions:"Suscripciones de calendario",googleCalendars:"Calendarios de Google",microsoftCalendars:"Calendarios de Microsoft"},dateNavigation:{navigateToDate:"Navegar a la fecha",navigateToDatePlaceholder:"AAAA-MM-DD (ej. 2025-01-15) - dejar vac\xEDo para usar la propiedad",navigateToDateFromProperty:"Navegar a la fecha desde la propiedad",navigateToDateFromPropertyPlaceholder:"Seleccionar una propiedad de fecha (opcional)",propertyNavigationStrategy:"Estrategia de navegaci\xF3n por propiedad",strategies:{first:"Primer resultado",earliest:"Fecha m\xE1s antigua",latest:"Fecha m\xE1s reciente"}},events:{showScheduledTasks:"Mostrar tareas programadas",showDueTasks:"Mostrar tareas vencidas",showRecurringTasks:"Mostrar tareas recurrentes",showTimeEntries:"Mostrar entradas de tiempo",showTimeblocks:"Mostrar bloques de tiempo",showPropertyBasedEvents:"Mostrar eventos basados en propiedades"},layout:{calendarView:"Vista del calendario",customDayCount:"N\xFAmero de d\xEDas personalizado",listDayCount:"Recuento de d\xEDas de lista",dayStartTime:"Hora de inicio del d\xEDa",dayStartTimePlaceholder:"HH:mm:ss (ej. 08:00:00)",dayEndTime:"Hora de fin del d\xEDa",dayEndTimePlaceholder:"HH:mm:ss (ej. 20:00:00)",timeSlotDuration:"Duraci\xF3n del intervalo de tiempo",timeSlotDurationPlaceholder:"HH:mm:ss (ej. 00:30:00)",weekStartsOn:"La semana comienza el",showWeekNumbers:"Mostrar n\xFAmeros de semana",showNowIndicator:"Mostrar indicador actual",showWeekends:"Mostrar fines de semana",showAllDaySlot:"Mostrar franja de todo el d\xEDa",showTodayHighlight:"Resaltar hoy",todayColumnWidthMultiplier:"Multiplicador de ancho de la columna de hoy",showSelectionPreview:"Mostrar vista previa de selecci\xF3n",timeFormat:"Formato de hora",timeFormat12:"12 horas (AM/PM)",timeFormat24:"24 horas",initialScrollTime:"Hora de desplazamiento inicial",initialScrollTimePlaceholder:"HH:mm:ss (ej. 08:00:00)",minimumEventHeight:"Altura m\xEDnima del evento (px)",slotEventOverlap:"Permitir superposici\xF3n de eventos",enableSearch:"Habilitar cuadro de b\xFAsqueda",eventMaxStack:"M\xE1x. eventos apilados (vista semana/d\xEDa, 0 = ilimitado)",dayMaxEvents:"M\xE1x. eventos por d\xEDa (vista mes, 0 = autom\xE1tico)",dayMaxEventRows:"M\xE1x. filas de eventos por d\xEDa (vista mes, 0 = ilimitado)",spanScheduledToDue:"Expandir tareas entre fecha programada y fecha l\xEDmite"},propertyBasedEvents:{startDateProperty:"Propiedad de fecha de inicio",startDatePropertyPlaceholder:"Seleccionar propiedad para fecha/hora de inicio",endDateProperty:"Propiedad de fecha de fin (opcional)",endDatePropertyPlaceholder:"Seleccionar propiedad para fecha/hora de fin",titleProperty:"Propiedad de t\xEDtulo (opcional)",titlePropertyPlaceholder:"Seleccionar propiedad para t\xEDtulo del evento"}},errors:{failedToInitialize:"Error al inicializar el calendario"}},kanban:{title:"Kanban",newTask:"Nueva tarea",addCard:"+ Agregar tarjeta",noTasks:"Sin tareas",uncategorized:"Sin categorizar",noProject:"Sin proyecto",reorder:{scope:{column:'columna "{group}"',columnInSwimlane:'columna "{group}" en swimlane "{swimlane}"'}},notices:{loadFailed:"Error al cargar el tablero Kanban",movedTask:'Tarea movida a "{0}"'},errors:{loadingBoard:"Error al cargar el tablero.",noGroupBy:"La vista Kanban requiere que se configure una propiedad 'Agrupar por'. Haga clic en el bot\xF3n 'Ordenar' y seleccione una propiedad en 'Agrupar por'.",formulaGroupingReadOnly:"No se pueden mover tareas entre columnas basadas en f\xF3rmulas. Los valores de f\xF3rmula se calculan y no se pueden modificar directamente.",formulaSwimlaneReadOnly:"No se pueden mover tareas entre carriles basados en f\xF3rmulas. Los valores de f\xF3rmula se calculan y no se pueden modificar directamente."},columnTitle:"Sin t\xEDtulo"},pomodoro:{title:"Pomodoro",status:{focus:"Enfoque",ready:"Listo para comenzar",paused:"Pausado",working:"Trabajando",shortBreak:"Descanso corto",longBreak:"Descanso largo",breakPrompt:"\xA1Excelente trabajo! Tiempo para un descanso {length}",breakLength:{short:"corto",long:"largo"},breakComplete:"\xA1Descanso completo! \xBFListo para el pr\xF3ximo pomodoro?"},buttons:{start:"Iniciar",pause:"Pausar",stop:"Detener",resume:"Reanudar",startShortBreak:"Iniciar descanso corto",startLongBreak:"Iniciar descanso largo",skipBreak:"Saltar descanso",chooseTask:"Elegir tarea...",changeTask:"Cambiar tarea...",clearTask:"Quitar tarea",selectDifferentTask:"Seleccionar una tarea diferente"},notices:{noTasks:"No se encontraron tareas no archivadas. Crea algunas tareas primero.",loadFailed:"Error al cargar las tareas"},statsLabel:"completadas hoy"},pomodoroStats:{title:"Estad\xEDsticas de Pomodoro",heading:"Estad\xEDsticas de Pomodoro",refresh:"Actualizar",sections:{overview:"Resumen",today:"Hoy",week:"Esta semana",allTime:"Todo el tiempo",recent:"Sesiones recientes"},overviewCards:{todayPomos:{label:"Pomos de hoy",change:{more:"{count} m\xE1s que ayer",less:"{count} menos que ayer"}},totalPomos:{label:"Pomos totales"},todayFocus:{label:"Enfoque de hoy",change:{more:"{duration} m\xE1s que ayer",less:"{duration} menos que ayer"}},totalFocus:{label:"Duraci\xF3n total de enfoque"}},stats:{pomodoros:"Pomodoros",streak:"Racha",minutes:"Minutos",average:"Duraci\xF3n promedio",completion:"Finalizaci\xF3n"},recents:{empty:"A\xFAn no se han registrado sesiones",duration:"{minutes} min",status:{completed:"Completado",interrupted:"Interrumpido"}}},stats:{title:"Estad\xEDsticas",taskProjectStats:"Estad\xEDsticas de tareas y proyectos",sections:{filters:"Filtros",overview:"Resumen",today:"Hoy",thisWeek:"Esta semana",thisMonth:"Este mes",projectBreakdown:"Desglose de proyectos",dateRange:"Rango de fechas"},filters:{minTime:"Tiempo m\xEDnimo (minutos)",allTasks:"Todas las tareas",activeOnly:"Solo activas",completedOnly:"Solo completadas"},refreshButton:"Actualizar",timeRanges:{allTime:"Todo el tiempo",last7Days:"\xDAltimos 7 d\xEDas",last30Days:"\xDAltimos 30 d\xEDas",last90Days:"\xDAltimos 90 d\xEDas",customRange:"Rango personalizado"},resetFiltersButton:"Restablecer filtros",dateRangeFrom:"Desde",dateRangeTo:"Hasta",noProject:"Sin proyecto",cards:{timeTrackedEstimated:"Tiempo registrado / estimado",totalTasks:"Total de tareas",completionRate:"Tasa de completado",activeProjects:"Proyectos activos",avgTimePerTask:"Tiempo promedio por tarea"},labels:{tasks:"Tareas",completed:"Completadas",projects:"Proyectos"},noProjectData:"No hay datos de proyectos disponibles",notAvailable:"N/D",noTasks:"No se encontraron tareas",loading:"Cargando..."},releaseNotes:{title:"Novedades en TaskNotes {version}",header:"Novedades en TaskNotes {version}",viewAllLink:"Ver todas las notas de versi\xF3n en GitHub \u2192",starMessage:"Si TaskNotes te resulta \xFAtil, considera darle una estrella en GitHub",baseFilesNotice:"> [!info] Acerca de los archivos `.base` predeterminados\n> Los cambios en las plantillas `.base` generadas por defecto no sobrescriben tus archivos `.base` existentes, por lo que tus personalizaciones se mantienen.\n> Si quieres las mejoras m\xE1s recientes de las plantillas, regenera los archivos base en **Ajustes \u2192 TaskNotes \u2192 General \u2192 Crear archivos**."}},settings:{header:{documentation:"Documentaci\xF3n",documentationUrl:"https://tasknotes.dev"},tabs:{general:"General",taskProperties:"Propiedades de tareas",modalFields:"Campos del modal",defaults:"Predeterminados y plantillas",appearance:"Apariencia e interfaz",features:"Caracter\xEDsticas",integrations:"Integraciones"},features:{inlineTasks:{header:"Tareas en l\xEDnea",description:"Configuraci\xF3n para enlaces de tareas y conversi\xF3n de casillas a tareas en notas."},overlays:{taskLinkToggle:{name:"Superposici\xF3n de enlace de tarea",description:"Mostrar superposiciones interactivas al pasar el cursor sobre enlaces de tareas"},aliasExclusion:{name:"Desactivar superposici\xF3n para enlaces con alias",description:"No mostrar el widget de tarea si el enlace contiene un alias (ej. [[Tarea|Alias]])."}},instantConvert:{toggle:{name:"Mostrar bot\xF3n de conversi\xF3n junto a casillas de verificaci\xF3n",description:"Mostrar un bot\xF3n en l\xEDnea junto a las casillas de verificaci\xF3n Markdown que las convierte en TaskNotes"},folder:{name:"Carpeta para tareas convertidas",description:"Carpeta donde se crear\xE1n las tareas convertidas desde casillas de verificaci\xF3n. Dejar vac\xEDo para usar la carpeta de tareas predeterminada. Usa {{currentNotePath}} para la carpeta de la nota actual, o {{currentNoteTitle}} para una subcarpeta con el t\xEDtulo de la nota."}},nlp:{header:"Procesamiento de lenguaje natural",description:"Analiza fechas, prioridades y otras propiedades desde texto de entrada.",enable:{name:"Habilitar entrada de tareas en lenguaje natural",description:"Analizar fechas de vencimiento, prioridades y contextos desde lenguaje natural al crear tareas"},defaultToScheduled:{name:"Predeterminado a programado",description:"Cuando NLP detecta una fecha sin contexto, tratarla como programada en lugar de vencimiento"},language:{name:"Idioma NLP",description:"Idioma para patrones de procesamiento de lenguaje natural y an\xE1lisis de fechas"},statusTrigger:{name:"Activador de sugerencia de estado",description:"Texto para activar sugerencias de estado (dejar vac\xEDo para deshabilitar)"}},pomodoro:{header:"Temporizador Pomodoro",description:"Configura intervalos de trabajo/descanso para el temporizador Pomodoro.",workDuration:{name:"Duraci\xF3n del trabajo",description:"Duraci\xF3n de intervalos de trabajo en minutos"},shortBreak:{name:"Duraci\xF3n del descanso corto",description:"Duraci\xF3n de descansos cortos en minutos"},longBreak:{name:"Duraci\xF3n del descanso largo",description:"Duraci\xF3n de descansos largos en minutos"},longBreakInterval:{name:"Intervalo de descanso largo",description:"N\xFAmero de sesiones de trabajo antes de un descanso largo"},autoStartBreaks:{name:"Auto-iniciar descansos",description:"Iniciar autom\xE1ticamente temporizadores de descanso despu\xE9s de sesiones de trabajo"},autoStartWork:{name:"Auto-iniciar trabajo",description:"Iniciar autom\xE1ticamente sesiones de trabajo despu\xE9s de descansos"},notifications:{name:"Notificaciones de Pomodoro",description:"Mostrar notificaciones cuando terminen las sesiones de Pomodoro"},mobileSidebar:{name:"Barra lateral m\xF3vil",description:"D\xF3nde abrir el temporizador Pomodoro en dispositivos m\xF3viles",tab:"Panel de notas",left:"Barra lateral izquierda",right:"Barra lateral derecha"}},uiLanguage:{header:"Idioma de la interfaz",description:"Cambiar el idioma de los men\xFAs, avisos y vistas de TaskNotes.",dropdown:{name:"Idioma de interfaz",description:"Seleccionar el idioma usado para el texto de la interfaz de TaskNotes"}},pomodoroSound:{enabledName:"Sonido habilitado",enabledDesc:"Reproducir sonido cuando terminen las sesiones de Pomodoro",volumeName:"Volumen del sonido",volumeDesc:"Volumen para sonidos de Pomodoro (0-100)"},dataStorage:{name:"Almacenamiento de datos de Pomodoro",description:"Configura d\xF3nde se almacenan y gestionan los datos de sesi\xF3n de Pomodoro.",dailyNotes:"Notas diarias",pluginData:"Datos del plugin",notices:{locationChanged:"Ubicaci\xF3n de almacenamiento de Pomodoro cambiada a {location}"}},notifications:{header:"Notificaciones",description:"Configura notificaciones de recordatorio de tareas y alertas.",enableName:"Habilitar notificaciones",enableDesc:"Habilitar notificaciones de recordatorio de tareas",typeName:"Tipo de notificaci\xF3n",typeDesc:"Tipo de notificaciones a mostrar",systemLabel:"Notificaciones del sistema",inAppLabel:"Notificaciones en la aplicaci\xF3n"},overdue:{hideCompletedName:"Ocultar tareas completadas de vencidas",hideCompletedDesc:"Excluir tareas completadas de c\xE1lculos de tareas vencidas"},indexing:{disableName:"Deshabilitar indexaci\xF3n de notas",disableDesc:"Deshabilitar indexaci\xF3n autom\xE1tica de contenido de notas para mejor rendimiento"},suggestions:{debounceName:"Rebote de sugerencias",debounceDesc:"Retraso en milisegundos antes de mostrar sugerencias"},timeTracking:{autoStopName:"Auto-detener seguimiento de tiempo",autoStopDesc:"Detener autom\xE1ticamente el seguimiento de tiempo cuando una tarea se marca como completa",stopNotificationName:"Notificaci\xF3n de detenci\xF3n de seguimiento de tiempo",stopNotificationDesc:"Mostrar notificaci\xF3n cuando el seguimiento de tiempo se detiene autom\xE1ticamente"},recurring:{maintainOffsetName:"Mantener desplazamiento de fecha de vencimiento en tareas recurrentes",maintainOffsetDesc:"Mantener el desplazamiento entre fecha de vencimiento y fecha programada cuando se completan tareas recurrentes",resetCheckboxesName:"Restablecer casillas de verificaci\xF3n en recurrencia",resetCheckboxesDesc:"Restablecer todas las casillas de verificaci\xF3n markdown en el cuerpo de la tarea cuando una tarea recurrente se completa y reprograma"},timeblocking:{header:"Bloqueo de tiempo",description:"Configura la funcionalidad de bloqueo de tiempo para programaci\xF3n ligera en notas diarias. Arrastra en las vistas de calendario para crear eventos - selecciona 'Timeblock' del men\xFA contextual.",enableName:"Habilitar bloqueo de tiempo",enableDesc:"Habilitar funcionalidad de bloque de tiempo para programaci\xF3n ligera en notas diarias. Cuando est\xE1 habilitado, la opci\xF3n 'Timeblock' aparece en el men\xFA contextual de arrastrar del calendario.",showBlocksName:"Mostrar bloques de tiempo",showBlocksDesc:"Mostrar bloques de tiempo de notas diarias por defecto",defaultColorName:"Color predeterminado de bloque de tiempo",defaultColorDesc:"El color predeterminado utilizado al crear nuevos bloques de tiempo",usage:"Uso: Arrastra en el calendario para crear eventos. Selecciona 'Timeblock' del men\xFA contextual (solo visible cuando el bloqueo de tiempo est\xE1 habilitado). Arrastra para mover bloques de tiempo existentes. Ajusta los bordes para ajustar la duraci\xF3n."},performance:{header:"Rendimiento y comportamiento",description:"Configura opciones de rendimiento y comportamiento del plugin."},timeTrackingSection:{header:"Seguimiento de tiempo",description:"Configura comportamientos autom\xE1ticos de seguimiento de tiempo."},recurringSection:{header:"Tareas recurrentes",description:"Configura comportamiento para gesti\xF3n de tareas recurrentes."},debugLogging:{header:"Registro de depuraci\xF3n",description:"Configura la salida de registro de depuraci\xF3n para solucionar problemas.",enableName:"Habilitar registro de depuraci\xF3n",enableDesc:"Registra diagn\xF3sticos detallados de arrastrar y soltar y de vista en la consola de desarrollador. \xDAtil para soluci\xF3n de problemas."}},defaults:{header:{basicDefaults:"Predeterminados b\xE1sicos",dateDefaults:"Predeterminados de fecha",defaultReminders:"Recordatorios predeterminados",bodyTemplate:"Plantilla del cuerpo",instantTaskConversion:"Conversi\xF3n instant\xE1nea de tareas"},description:{basicDefaults:"Establecer valores predeterminados para nuevas tareas para acelerar la creaci\xF3n de tareas.",dateDefaults:"Establecer fechas de vencimiento y programaci\xF3n predeterminadas para nuevas tareas.",defaultReminders:"Configurar recordatorios predeterminados que se a\xF1adir\xE1n a nuevas tareas.",bodyTemplate:"Configurar un archivo de plantilla para usar en el contenido de nuevas tareas.",instantTaskConversion:"Configurar comportamiento al convertir texto a tareas instant\xE1neamente."},basicDefaults:{defaultStatus:{name:"Estado predeterminado",description:"Estado predeterminado para nuevas tareas"},defaultPriority:{name:"Prioridad predeterminada",description:"Prioridad predeterminada para nuevas tareas"},defaultContexts:{name:"Contextos predeterminados",description:"Lista separada por comas de contextos predeterminados (ej. @casa, @trabajo)",placeholder:"@casa, @trabajo"},defaultTags:{name:"Etiquetas predeterminadas",description:"Lista separada por comas de etiquetas predeterminadas (sin #)",placeholder:"importante, urgente"},defaultProjects:{name:"Proyectos predeterminados",description:"Enlaces de proyecto predeterminados para nuevas tareas",selectButton:"Seleccionar proyectos",selectTooltip:"Elegir notas de proyecto para vincular por defecto",removeTooltip:"Eliminar {name} de proyectos predeterminados"},useParentNoteAsProject:{name:"Usar nota padre como proyecto durante conversi\xF3n instant\xE1nea",description:"Vincular autom\xE1ticamente la nota padre como proyecto al usar conversi\xF3n instant\xE1nea de tareas"},defaultTimeEstimate:{name:"Estimaci\xF3n de tiempo predeterminada",description:"Estimaci\xF3n de tiempo predeterminada en minutos (0 = sin predeterminado)",placeholder:"60"},defaultRecurrence:{name:"Recurrencia predeterminada",description:"Patr\xF3n de recurrencia predeterminado para nuevas tareas"}},dateDefaults:{defaultDueDate:{name:"Fecha de vencimiento predeterminada",description:"Fecha de vencimiento predeterminada para nuevas tareas"},defaultScheduledDate:{name:"Fecha programada predeterminada",description:"Fecha programada predeterminada para nuevas tareas"}},reminders:{addReminder:{name:"Agregar recordatorio predeterminado",description:"Crear un nuevo recordatorio predeterminado que se a\xF1adir\xE1 a todas las nuevas tareas",buttonText:"Agregar recordatorio"},emptyState:"No hay recordatorios predeterminados configurados. Agrega un recordatorio para ser notificado autom\xE1ticamente sobre nuevas tareas.",emptyStateButton:"Agregar recordatorio",reminderDescription:"Descripci\xF3n del recordatorio",unnamedReminder:"Recordatorio sin nombre",deleteTooltip:"Eliminar recordatorio",fields:{description:"Descripci\xF3n:",type:"Tipo:",offset:"Desplazamiento:",unit:"Unidad:",direction:"Direcci\xF3n:",relatedTo:"Relacionado con:",date:"Fecha:",time:"Hora:"},types:{relative:"Relativo (antes/despu\xE9s de fechas de tarea)",absolute:"Absoluto (fecha/hora espec\xEDfica)"},units:{minutes:"minutos",hours:"horas",days:"d\xEDas"},directions:{before:"antes",after:"despu\xE9s"},relatedTo:{due:"fecha de vencimiento",scheduled:"fecha programada"}},bodyTemplate:{useBodyTemplate:{name:"Usar plantilla del cuerpo",description:"Usar un archivo de plantilla para el contenido del cuerpo de la tarea"},bodyTemplateFile:{name:"Archivo de plantilla del cuerpo",description:"Ruta al archivo de plantilla para contenido del cuerpo de la tarea. Soporta variables de plantilla como {{title}}, {{date}}, {{time}}, {{priority}}, {{status}}, etc.",placeholder:"Plantillas/Plantilla de tarea.md",ariaLabel:"Ruta al archivo de plantilla del cuerpo"},variablesHeader:"Variables de plantilla:",variables:{title:"{{title}} - T\xEDtulo de la tarea",details:"{{details}} - Detalles proporcionados por el usuario desde el modal",date:"{{date}} - Fecha actual (YYYY-MM-DD)",time:"{{time}} - Hora actual (HH:MM)",priority:"{{priority}} - Prioridad de la tarea",status:"{{status}} - Estado de la tarea",contexts:"{{contexts}} - Contextos de la tarea",tags:"{{tags}} - Etiquetas de la tarea",projects:"{{projects}} - Proyectos de la tarea"}},instantConversion:{useDefaultsOnInstantConvert:{name:"Usar predeterminados de tarea en conversi\xF3n instant\xE1nea",description:"Aplicar configuraciones predeterminadas de tarea al convertir texto a tareas instant\xE1neamente"}},options:{noDefault:"Sin predeterminado",none:"Ninguno",today:"Hoy",tomorrow:"Ma\xF1ana",nextWeek:"Pr\xF3xima semana",daily:"Diario",weekly:"Semanal",monthly:"Mensual",yearly:"Anual"}},general:{taskStorage:{header:"Almacenamiento de tareas",description:"Configurar d\xF3nde se almacenan las tareas y c\xF3mo se identifican.",defaultFolder:{name:"Carpeta predeterminada de tareas",description:"Ubicaci\xF3n predeterminada para nuevas tareas"},moveArchived:{name:"Mover tareas archivadas a carpeta",description:"Mover autom\xE1ticamente tareas archivadas a una carpeta de archivo"},archiveFolder:{name:"Carpeta de archivo",description:"Carpeta para mover tareas cuando se archiven. Soporta variables de plantilla como {{year}}, {{month}}, {{priority}}, etc."}},taskIdentification:{header:"Identificaci\xF3n de tareas",description:"Elegir c\xF3mo TaskNotes identifica notas como tareas.",identifyBy:{name:"Identificar tareas por",description:"Elegir si identificar tareas por etiqueta o por una propiedad de frontmatter",options:{tag:"Etiqueta",property:"Propiedad"}},taskTag:{name:"Etiqueta de tarea",description:"Etiqueta que identifica notas como tareas (sin #)"},hideIdentifyingTags:{name:"Ocultar etiquetas de identificaci\xF3n en tarjetas de tarea",description:"Cuando est\xE1 habilitado, las etiquetas que coinciden con la etiqueta de identificaci\xF3n de tarea (incluidas las coincidencias jer\xE1rquicas como 'task/project') se ocultar\xE1n de las pantallas de tarjetas de tarea"},taskProperty:{name:"Nombre de propiedad de tarea",description:'El nombre de propiedad de frontmatter (ej. "categor\xEDa")'},taskPropertyValue:{name:"Valor de propiedad de tarea",description:'El valor que identifica una nota como tarea (ej. "tarea")'}},folderManagement:{header:"Gesti\xF3n de carpetas",excludedFolders:{name:"Carpetas excluidas",description:"Lista separada por comas de carpetas a excluir de la indexaci\xF3n de tareas y sugerencias de proyectos"}},frontmatter:{header:"Frontmatter",description:"Configure c\xF3mo se formatean los enlaces en las propiedades frontmatter.",useMarkdownLinks:{name:"Usar enlaces markdown en frontmatter",description:`Generar enlaces markdown ([texto](ruta)) en lugar de wikilinks ([[enlace]]) en las propiedades frontmatter.
\u26A0\uFE0F Requiere el plugin 'obsidian-frontmatter-markdown-links' para funcionar correctamente.`}},taskInteraction:{header:"Interacci\xF3n de tareas",description:"Configurar c\xF3mo se comporta hacer clic en las tareas.",singleClick:{name:"Acci\xF3n de clic simple",description:"Acci\xF3n realizada al hacer clic simple en una tarjeta de tarea"},doubleClick:{name:"Acci\xF3n de doble clic",description:"Acci\xF3n realizada al hacer doble clic en una tarjeta de tarea"},actions:{edit:"Editar tarea",openNote:"Abrir nota",none:"Sin acci\xF3n"}},releaseNotes:{header:"Notas de la versi\xF3n",description:"Versi\xF3n actual: {version}",showOnUpdate:{name:"Mostrar notas de la versi\xF3n despu\xE9s de actualizar",description:"Abrir autom\xE1ticamente las notas de la versi\xF3n cuando TaskNotes se actualiza a una nueva versi\xF3n"},viewButton:{name:"Ver notas de la versi\xF3n",description:"Vea las novedades en la \xFAltima versi\xF3n de TaskNotes",buttonText:"Ver notas de la versi\xF3n"}}},taskProperties:{sections:{coreProperties:"Propiedades principales",corePropertiesDesc:"Estado y prioridad son las propiedades principales que definen el estado e importancia de una tarea.",dateProperties:"Propiedades de fecha",datePropertiesDesc:"Configura cu\xE1ndo las tareas vencen y est\xE1n programadas.",organizationProperties:"Propiedades de organizaci\xF3n",organizationPropertiesDesc:"Organiza tareas con contextos, proyectos y etiquetas.",taskDetails:"Detalles de tarea",taskDetailsDesc:"Detalles adicionales como estimaciones de tiempo, recurrencia y recordatorios.",metadataProperties:"Propiedades de metadatos",metadataPropertiesDesc:"Propiedades gestionadas por el sistema para rastrear el historial de tareas.",featureProperties:"Propiedades de funciones",featurePropertiesDesc:"Propiedades utilizadas por funciones espec\xEDficas de TaskNotes como el temporizador Pomodoro y la sincronizaci\xF3n de calendario."},propertyCard:{propertyKey:"Clave de propiedad:",default:"Predeterminado:",nlpTrigger:"Activador NLP:",triggerChar:"Car\xE1cter activador:",triggerEmpty:"El activador no puede estar vac\xEDo",triggerTooLong:"El activador es demasiado largo (m\xE1x. 10 caracteres)"},properties:{status:{name:"Estado",description:"Rastrea el estado actual de una tarea (ej. pendiente, en-progreso, hecho). El estado determina si una tarea aparece como completada y puede activar el archivado autom\xE1tico."},priority:{name:"Prioridad",description:"Indica la importancia de la tarea. Se usa para ordenar y filtrar. Los valores se ordenan alfab\xE9ticamente en vistas Bases, as\xED que usa prefijos como 1-, 2- para controlar el orden."},due:{name:"Fecha de vencimiento",description:"La fecha l\xEDmite para completar una tarea. Las tareas pasadas de su fecha de vencimiento aparecen como atrasadas. Se almacena como fecha en frontmatter."},scheduled:{name:"Fecha programada",description:"Cu\xE1ndo planeas trabajar en una tarea. A diferencia de la fecha de vencimiento, esto representa tu hora de inicio prevista. Las tareas aparecen en el calendario en su fecha/hora programada."},contexts:{name:"Contextos",description:"Lugares o condiciones donde se puede hacer una tarea (ej. @casa, @oficina, @tel\xE9fono). \xDAtil para filtrar tareas seg\xFAn tu situaci\xF3n actual. Se almacena como lista."},projects:{name:"Proyectos",description:"Enlaces a notas de proyecto a las que pertenece esta tarea. Se almacena como wikilinks (ej. [[Nombre del proyecto]]). Las tareas pueden pertenecer a m\xFAltiples proyectos."},tags:{name:"Etiquetas",description:"Etiquetas nativas de Obsidian para categorizar tareas. Se almacenan en la propiedad tags del frontmatter y funcionan con las caracter\xEDsticas de etiquetas de Obsidian."},timeEstimate:{name:"Estimaci\xF3n de tiempo",description:"Minutos estimados para completar la tarea. Se usa para planificaci\xF3n de tiempo y carga de trabajo. Se muestra en tarjetas de tareas y eventos de calendario."},recurrence:{name:"Recurrencia",description:"Patr\xF3n para tareas repetitivas (diario, semanal, mensual, anual o RRULE personalizada). Cuando se completa una tarea recurrente, su fecha programada se actualiza autom\xE1ticamente a la siguiente ocurrencia."},recurrenceAnchor:{name:"Ancla de recurrencia",description:"Controla c\xF3mo se calcula la siguiente ocurrencia: 'scheduled' usa la fecha programada, 'completion' usa la fecha de finalizaci\xF3n real."},reminders:{name:"Recordatorios",description:"Notificaciones activadas antes de fechas de vencimiento o programadas. Se almacena como lista de objetos de recordatorio con tiempo y descripci\xF3n opcional."},title:{name:"T\xEDtulo",description:"El nombre de la tarea. Puede almacenarse en frontmatter o en el nombre del archivo (cuando 'Almacenar t\xEDtulo en nombre de archivo' est\xE1 habilitado)."},dateCreated:{name:"Fecha de creaci\xF3n",description:"Marca de tiempo de cuando se cre\xF3 la tarea. Se establece autom\xE1ticamente y se usa para ordenar por orden de creaci\xF3n."},dateModified:{name:"Fecha de modificaci\xF3n",description:"Marca de tiempo del \xFAltimo cambio en la tarea. Se actualiza autom\xE1ticamente cuando cambia cualquier propiedad de la tarea."},completedDate:{name:"Fecha de completado",description:"Marca de tiempo de cuando la tarea fue marcada como completa. Se establece autom\xE1ticamente cuando el estado cambia a un estado completado."},archiveTag:{name:"Etiqueta de archivo",description:"Etiqueta a\xF1adida a las tareas cuando se archivan. Se usa para identificar tareas archivadas y puede activar el movimiento de archivos a la carpeta de archivo."},timeEntries:{name:"Entradas de tiempo",description:"Registros de sesiones de seguimiento de tiempo para esta tarea. Cada entrada almacena marcas de tiempo de inicio y fin. Se usa para calcular el tiempo total invertido."},completeInstances:{name:"Instancias completadas",description:"Historial de completado para tareas recurrentes. Almacena fechas cuando cada instancia fue completada para prevenir completados duplicados."},skippedInstances:{name:"Instancias omitidas",description:"Ocurrencias omitidas para tareas recurrentes. Almacena fechas de instancias que fueron omitidas en lugar de completadas."},blockedBy:{name:"Bloqueada por",description:"Enlaces a tareas que deben completarse antes de esta. Se almacena como wikilinks. Las tareas bloqueadas muestran un indicador visual."},sortOrder:{name:"Orden manual",description:"Propiedad de frontmatter utilizada para el orden manual por arrastrar y soltar. La vista debe estar ordenada por esta propiedad para que funcione el reordenamiento de arrastrar y soltar."},pomodoros:{name:"Pomodoros",description:"Conteo de sesiones Pomodoro completadas. Cuando el almacenamiento de datos est\xE1 configurado en 'Notas diarias', esto se escribe en notas diarias en lugar de archivos de tarea."},icsEventId:{name:"ID de evento ICS",description:"Identificador \xFAnico que enlaza una nota con un evento de calendario ICS. Se a\xF1ade autom\xE1ticamente al crear notas desde eventos de calendario."},icsEventTag:{name:"Etiqueta de evento ICS",description:"Etiqueta que identifica notas creadas desde eventos de calendario ICS. Se usa para distinguir notas generadas por calendario de tareas regulares."}},statusCard:{valuesHeader:"Valores de estado"},priorityCard:{valuesHeader:"Valores de prioridad"},projectsCard:{defaultProjects:"Proyectos predeterminados:",useParentNote:"Usar nota padre como proyecto:",noDefaultProjects:"No hay proyectos predeterminados seleccionados",autosuggestFilters:"Filtros de autosugerencia",customizeDisplay:"Personalizar visualizaci\xF3n",filtersOn:"Filtros activos"},titleCard:{storeTitleInFilename:"Almacenar t\xEDtulo en nombre de archivo:",storedInFilename:"Almacenado en nombre de archivo",filenameUpdatesWithTitle:"El nombre del archivo se actualizar\xE1 autom\xE1ticamente cuando cambie el t\xEDtulo de la tarea.",filenameFormat:"Formato de nombre de archivo:",customTemplate:"Plantilla personalizada:",legacySyntaxWarning:"La sintaxis de llaves simples como {title} est\xE1 obsoleta. Por favor, use la sintaxis de llaves dobles {{title}} para consistencia con las plantillas de cuerpo."},tagsCard:{nativeObsidianTags:"Usa etiquetas nativas de Obsidian"},remindersCard:{defaultReminders:"Recordatorios predeterminados"},taskStatuses:{header:"Estados de tareas",description:"Personalizar las opciones de estado disponibles para tus tareas. Estos estados controlan el ciclo de vida de la tarea y determinan cu\xE1ndo las tareas se consideran completas.",howTheyWork:{title:"C\xF3mo funcionan los estados:",value:'Valor: El identificador interno almacenado en tus archivos de tarea (ej. "en-progreso")',label:'Etiqueta: El nombre mostrado en la interfaz (ej. "En progreso")',color:"Color: Color indicador visual para el punto de estado y distintivos",icon:'Icono: Nombre de icono Lucide opcional para mostrar en lugar del punto de color (ej. "check", "circle", "clock"). Explora iconos en lucide.dev',completed:"Completado: Cuando se marca, las tareas con este estado se consideran terminadas y pueden filtrarse de manera diferente",autoArchive:"Auto-archivar: Cuando est\xE1 habilitado, las tareas se archivar\xE1n autom\xE1ticamente despu\xE9s del retraso especificado (1-1440 minutos)",orderNote:"El orden de abajo determina la secuencia al alternar entre estados haciendo clic en distintivos de estado de tarea."},addNew:{name:"Agregar nuevo estado",description:"Crear una nueva opci\xF3n de estado para tus tareas",buttonText:"Agregar estado"},validationNote:'Nota: Debes tener al menos 2 estados, y al menos un estado debe estar marcado como "Completado".',emptyState:"No hay estados personalizados configurados. Agrega un estado para comenzar.",emptyStateButton:"Agregar estado",fields:{value:"Valor:",label:"Etiqueta:",color:"Color:",icon:"Icono:",completed:"Completado:",autoArchive:"Auto-archivar:",delayMinutes:"Retraso (minutos):"},placeholders:{value:"en-progreso",label:"En progreso",icon:"check, circle, clock"},badges:{completed:"Completado"},deleteConfirm:'\xBFEst\xE1s seguro de que quieres eliminar el estado "{label}"?'},taskPriorities:{header:"Prioridades de tareas",description:"Personaliza los niveles de prioridad disponibles para tus tareas. En v4.0+, las prioridades se ordenan alfab\xE9ticamente por su valor en las vistas de Bases.",howTheyWork:{title:"C\xF3mo funcionan las prioridades:",value:'Valor: El identificador interno almacenado en tus archivos de tarea. Usa prefijos como "1-urgente", "2-alta" para controlar el orden de clasificaci\xF3n en las vistas de Bases.',label:'Etiqueta de visualizaci\xF3n: El nombre mostrado en la interfaz (ej. "Alta prioridad")',color:"Color: Color indicador visual para el punto de prioridad y distintivos",weight:"Peso: Valor num\xE9rico para clasificaci\xF3n (pesos m\xE1s altos aparecen primero en listas)",weightNote:"Las tareas se clasifican autom\xE1ticamente por peso de prioridad en orden descendente (peso m\xE1s alto primero). Los pesos pueden ser cualquier n\xFAmero positivo."},addNew:{name:"Agregar nueva prioridad",description:"Crear un nuevo nivel de prioridad para tus tareas",buttonText:"Agregar prioridad"},validationNote:"Nota: Debes tener al menos 1 prioridad. Las prioridades se ordenan alfab\xE9ticamente por valor en las vistas de Bases.",emptyState:"No hay prioridades personalizadas configuradas. Agrega una prioridad para comenzar.",emptyStateButton:"Agregar prioridad",fields:{value:"Valor:",label:"Etiqueta:",color:"Color:",weight:"Peso:"},placeholders:{value:"alta",label:"Alta prioridad"},weightLabel:"Peso: {weight}",deleteConfirm:"Debes tener al menos una prioridad",deleteTooltip:"Eliminar prioridad"},fieldMapping:{header:"Mapeo de campos",warning:"\u26A0\uFE0F Advertencia: TaskNotes LEER\xC1 Y ESCRIBIR\xC1 usando estos nombres de propiedad. Cambiar estos despu\xE9s de crear tareas puede causar inconsistencias.",description:"Configurar qu\xE9 propiedades de frontmatter debe usar TaskNotes para cada campo.",resetButton:{name:"Restablecer mapeos de campos",description:"Restablecer todos los mapeos de campos a valores predeterminados",buttonText:"Restablecer a predeterminados"},notices:{resetSuccess:"Mapeos de campos restablecidos a predeterminados",resetFailure:"Error al restablecer mapeos de campos",updateFailure:"Error al actualizar mapeo de campo para {label}. Por favor intenta de nuevo."},table:{fieldHeader:"Campo de TaskNotes",propertyHeader:"Tu nombre de propiedad"},fields:{title:"T\xEDtulo",status:"Estado",priority:"Prioridad",due:"Fecha de vencimiento",scheduled:"Fecha programada",contexts:"Contextos",projects:"Proyectos",timeEstimate:"Estimaci\xF3n de tiempo",recurrence:"Recurrencia",dateCreated:"Fecha de creaci\xF3n",completedDate:"Fecha de finalizaci\xF3n",dateModified:"Fecha de modificaci\xF3n",archiveTag:"Etiqueta de archivo",timeEntries:"Entradas de tiempo",completeInstances:"Instancias completas",blockedBy:"Bloqueado por",sortOrder:"Orden manual",pomodoros:"Pomodoros",icsEventId:"ID de evento ICS",icsEventTag:"Etiqueta de evento ICS",reminders:"Recordatorios"}},customUserFields:{header:"Campos personalizados de usuario",description:"Definir propiedades de frontmatter personalizadas para aparecer como opciones de filtro con reconocimiento de tipo en todas las vistas. Cada fila: Nombre de visualizaci\xF3n, Nombre de propiedad, Tipo.",addNew:{name:"Agregar nuevo campo de usuario",description:"Crear un nuevo campo personalizado que aparecer\xE1 en filtros y vistas",buttonText:"Agregar campo de usuario"},emptyState:"No hay campos personalizados de usuario configurados. Agrega un campo para crear propiedades personalizadas para tus tareas.",emptyStateButton:"Agregar campo de usuario",fields:{displayName:"Nombre de visualizaci\xF3n:",propertyKey:"Clave de propiedad:",type:"Tipo:",defaultValue:"Valor predeterminado:"},placeholders:{displayName:"Nombre de visualizaci\xF3n",propertyKey:"nombre-propiedad",defaultValue:"Valor predeterminado",defaultValueList:"Valores predeterminados (separados por coma)"},types:{text:"Texto",number:"N\xFAmero",boolean:"Booleano",date:"Fecha",list:"Lista"},defaultNames:{unnamedField:"Campo sin nombre",noKey:"sin-clave"},deleteTooltip:"Eliminar campo",autosuggestFilters:{header:"Filtros de auto-sugerencia (Avanzado)",description:"Filtrar qu\xE9 archivos aparecen en las sugerencias de autocompletar para este campo"}}},appearance:{taskCards:{header:"Tarjetas de tareas",description:"Configurar c\xF3mo se muestran las tarjetas de tareas en todas las vistas.",defaultVisibleProperties:{name:"Propiedades visibles predeterminadas",description:"Elegir qu\xE9 propiedades aparecen en las tarjetas de tareas por defecto."},propertyGroups:{coreProperties:"PROPIEDADES PRINCIPALES",organization:"ORGANIZACI\xD3N",customProperties:"PROPIEDADES PERSONALIZADAS"},properties:{status:"Punto de estado",priority:"Punto de prioridad",due:"Fecha de vencimiento",scheduled:"Fecha programada",timeEstimate:"Estimaci\xF3n de tiempo",totalTrackedTime:"Tiempo total rastreado",checklistProgress:"Progreso de la lista de verificaci\xF3n",recurrence:"Recurrencia",completedDate:"Fecha de finalizaci\xF3n",createdDate:"Fecha de creaci\xF3n",modifiedDate:"Fecha de modificaci\xF3n",projects:"Proyectos",contexts:"Contextos",tags:"Etiquetas",blocked:"Bloqueada",blocking:"Bloqueando"}},taskFilenames:{header:"Nombres de archivos de tareas",description:"Configurar c\xF3mo se nombran los archivos de tareas cuando se crean.",storeTitleInFilename:{name:"Almacenar t\xEDtulo en nombre de archivo",description:"Usar el t\xEDtulo de la tarea como nombre de archivo. El nombre de archivo se actualizar\xE1 cuando se cambie el t\xEDtulo de la tarea (Recomendado)."},filenameFormat:{name:"Formato de nombre de archivo",description:"C\xF3mo deben generarse los nombres de archivos de tareas",options:{title:"T\xEDtulo de tarea (Sin actualizaci\xF3n)",zettel:"Formato Zettelkasten (AAMMDD + segundos base36 desde medianoche)",timestamp:"Marca de tiempo completa (YYYY-MM-DD-HHMMSS)",custom:"Plantilla personalizada"}},customTemplate:{name:"Plantilla de nombre de archivo personalizada",description:"Plantilla para nombres de archivo personalizados. Variables disponibles: {title}, {titleLower}, {titleUpper}, {titleSnake}, {titleKebab}, {titleCamel}, {titlePascal}, {date}, {shortDate}, {time}, {time12}, {time24}, {timestamp}, {dateTime}, {year}, {month}, {monthName}, {monthNameShort}, {day}, {dayName}, {dayNameShort}, {hour}, {hour12}, {minute}, {second}, {milliseconds}, {ms}, {ampm}, {week}, {quarter}, {unix}, {unixMs}, {timezone}, {timezoneShort}, {utcOffset}, {utcOffsetShort}, {utcZ}, {zettel}, {nano}, {priority}, {priorityShort}, {status}, {statusShort}, {dueDate}, {scheduledDate}",placeholder:"{date}-{title}-{dueDate}",helpText:"Nota: {dueDate} y {scheduledDate} est\xE1n en formato YYYY-MM-DD y estar\xE1n vac\xEDos si no est\xE1n configurados."}},displayFormatting:{header:"Formato de visualizaci\xF3n",description:"Configurar c\xF3mo se muestran fechas, horas y otros datos en todo el plugin.",timeFormat:{name:"Formato de hora",description:"Mostrar hora en formato de 12 horas o 24 horas en todo el plugin",options:{twelveHour:"12 horas (AM/PM)",twentyFourHour:"24 horas"}}},calendarView:{header:"Vista de calendario",description:"Personalizar la apariencia y comportamiento de la vista de calendario.",defaultView:{name:"Vista predeterminada",description:"La vista de calendario mostrada al abrir la pesta\xF1a de calendario",options:{monthGrid:"Cuadr\xEDcula mensual",weekTimeline:"L\xEDnea de tiempo semanal",dayTimeline:"L\xEDnea de tiempo diaria",yearView:"Vista anual",customMultiDay:"Multi-d\xEDa personalizado"}},customDayCount:{name:"Conteo de d\xEDas de vista personalizada",description:"N\xFAmero de d\xEDas a mostrar en vista multi-d\xEDa personalizada",placeholder:"3"},firstDayOfWeek:{name:"Primer d\xEDa de la semana",description:"Qu\xE9 d\xEDa debe ser la primera columna en vistas semanales"},showWeekends:{name:"Mostrar fines de semana",description:"Mostrar fines de semana en vistas de calendario"},showWeekNumbers:{name:"Mostrar n\xFAmeros de semana",description:"Mostrar n\xFAmeros de semana en vistas de calendario"},showTodayHighlight:{name:"Mostrar resaltado de hoy",description:"Resaltar el d\xEDa actual en vistas de calendario"},showCurrentTimeIndicator:{name:"Mostrar indicador de hora actual",description:"Mostrar una l\xEDnea que muestra la hora actual en vistas de l\xEDnea de tiempo"},selectionMirror:{name:"Espejo de selecci\xF3n",description:"Mostrar una vista previa visual mientras se arrastra para seleccionar rangos de tiempo"},calendarLocale:{name:"Configuraci\xF3n regional del calendario",description:'Configuraci\xF3n regional del calendario para formato de fecha y sistema de calendario (ej. "en", "fa" para Farsi/Persa, "de" para Alem\xE1n). Dejar vac\xEDo para auto-detectar desde el navegador.',placeholder:"Auto-detectar",invalidLocale:"Configuraci\xF3n regional inv\xE1lida. Por favor, introduzca un c\xF3digo de idioma v\xE1lido (ej. 'es', 'en', 'fr-FR')."}},defaultEventVisibility:{header:"Visibilidad predeterminada de eventos",description:"Configurar qu\xE9 tipos de eventos son visibles por defecto al abrir el calendario. Los usuarios a\xFAn pueden activar/desactivar estos en la vista de calendario.",showScheduledTasks:{name:"Mostrar tareas programadas",description:"Mostrar tareas con fechas programadas por defecto"},showDueDates:{name:"Mostrar fechas de vencimiento",description:"Mostrar fechas de vencimiento de tareas por defecto"},showDueWhenScheduled:{name:"Mostrar fechas de vencimiento cuando est\xE1n programadas",description:"Mostrar fechas de vencimiento incluso para tareas que ya tienen fechas programadas"},showTimeEntries:{name:"Mostrar entradas de tiempo",description:"Mostrar entradas de seguimiento de tiempo completadas por defecto"},showRecurringTasks:{name:"Mostrar tareas recurrentes",description:"Mostrar instancias de tareas recurrentes por defecto"},showICSEvents:{name:"Mostrar eventos ICS",description:"Mostrar eventos de suscripciones ICS por defecto"}},timeSettings:{header:"Configuraciones de tiempo",description:"Configurar ajustes de visualizaci\xF3n relacionados con el tiempo para vistas de l\xEDnea de tiempo.",timeSlotDuration:{name:"Duraci\xF3n de intervalo de tiempo",description:"Duraci\xF3n de cada intervalo de tiempo en vistas de l\xEDnea de tiempo",options:{fifteenMinutes:"15 minutos",thirtyMinutes:"30 minutos",sixtyMinutes:"60 minutos"}},startTime:{name:"Hora de inicio",description:"Hora m\xE1s temprana mostrada en vistas de l\xEDnea de tiempo (formato HH:MM)",placeholder:"06:00"},endTime:{name:"Hora de fin",description:"Hora m\xE1s tard\xEDa mostrada en vistas de l\xEDnea de tiempo (formato HH:MM)",placeholder:"22:00"},initialScrollTime:{name:"Hora de desplazamiento inicial",description:"Hora a la que desplazarse al abrir vistas de l\xEDnea de tiempo (formato HH:MM)",placeholder:"09:00"},eventMinHeight:{name:"Altura m\xEDnima del evento",description:"Altura m\xEDnima para eventos en vistas de l\xEDnea de tiempo (p\xEDxeles)",placeholder:"15"}},uiElements:{header:"Elementos de interfaz",description:"Configurar la visualizaci\xF3n de varios elementos de interfaz.",showTrackedTasksInStatusBar:{name:"Mostrar tareas rastreadas en barra de estado",description:"Mostrar tareas actualmente rastreadas en la barra de estado de Obsidian"},showProjectSubtasksWidget:{name:"Mostrar widget de subtareas de proyecto",description:"Mostrar un widget que muestra subtareas para la nota de proyecto actual"},projectSubtasksPosition:{name:"Posici\xF3n de subtareas de proyecto",description:"D\xF3nde posicionar el widget de subtareas de proyecto",options:{top:"Parte superior de la nota",bottom:"Parte inferior de la nota"}},showRelationshipsWidget:{name:"Mostrar widget de relaciones",description:"Mostrar un widget que muestra todas las relaciones de la nota actual (subtareas, proyectos, dependencias)"},relationshipsPosition:{name:"Posici\xF3n de relaciones",description:"D\xF3nde posicionar el widget de relaciones",options:{top:"Arriba de la nota",bottom:"Abajo de la nota"}},showTaskCardInNote:{name:"Mostrar tarjeta de tarea en nota",description:"Mostrar un widget de tarjeta de tarea en la parte superior de las notas de tareas que muestre los detalles y acciones de la tarea"},showExpandableSubtasks:{name:"Mostrar subtareas expandibles",description:"Permitir expandir/contraer secciones de subtareas en tarjetas de tareas"},subtaskChevronPosition:{name:"Posici\xF3n de chevron de subtarea",description:"Posici\xF3n de chevrons de expandir/contraer en tarjetas de tareas",options:{left:"Lado izquierdo",right:"Lado derecho"}},viewsButtonAlignment:{name:"Alineaci\xF3n del bot\xF3n de vistas",description:"Alineaci\xF3n del bot\xF3n de vistas/filtros en la interfaz de tareas",options:{left:"Lado izquierdo",right:"Lado derecho"}}},projectAutosuggest:{header:"Autosugerencia de proyectos",description:"Personalizar c\xF3mo se muestran las sugerencias de proyectos durante la creaci\xF3n de tareas.",requiredTags:{name:"Etiquetas requeridas",description:"Mostrar solo notas con cualquiera de estas etiquetas (separadas por comas). Dejar vac\xEDo para mostrar todas las notas.",placeholder:"proyecto, activo, importante"},includeFolders:{name:"Incluir carpetas",description:"Mostrar solo notas en estas carpetas (rutas separadas por comas). Dejar vac\xEDo para mostrar todas las carpetas.",placeholder:"Proyectos/, Trabajo/Activo, Personal"},requiredPropertyKey:{name:"Clave de propiedad requerida",description:"Mostrar solo notas donde esta propiedad de frontmatter coincida con el valor de abajo. Dejar vac\xEDo para ignorar.",placeholder:"tipo"},requiredPropertyValue:{name:"Valor de propiedad requerido",description:"Solo las notas donde la propiedad igual a este valor son sugeridas. Dejar vac\xEDo para requerir que la propiedad exista.",placeholder:"proyecto"},customizeDisplay:{name:"Personalizar visualizaci\xF3n de sugerencias",description:"Mostrar opciones avanzadas para configurar c\xF3mo aparecen las sugerencias de proyectos y qu\xE9 informaci\xF3n muestran."},enableFuzzyMatching:{name:"Habilitar coincidencia difusa",description:"Permitir errores tipogr\xE1ficos y coincidencias parciales en b\xFAsqueda de proyectos. Puede ser m\xE1s lento en b\xF3vedas grandes."},displayRowsHelp:"Configurar hasta 3 l\xEDneas de informaci\xF3n para mostrar para cada sugerencia de proyecto.",displayRows:{row1:{name:"Fila 1",description:"Formato: {propiedad|banderas}. Propiedades: title, aliases, file.path, file.parent. Banderas: n(Etiqueta) muestra etiqueta, s hace b\xFAsqueda. Ejemplo: {title|n(T\xEDtulo)|s}",placeholder:"{title|n(T\xEDtulo)}"},row2:{name:"Fila 2 (opcional)",description:"Patrones comunes: {aliases|n(Alias)}, {file.parent|n(Carpeta)}, literal:Texto personalizado",placeholder:"{aliases|n(Alias)}"},row3:{name:"Fila 3 (opcional)",description:"Informaci\xF3n adicional como {file.path|n(Ruta)} o campos de frontmatter personalizados",placeholder:"{file.path|n(Ruta)}"}},quickReference:{header:"Referencia r\xE1pida",properties:"Propiedades disponibles: title, aliases, file.path, file.parent, o cualquier campo de frontmatter",labels:'Agregar etiquetas: {title|n(T\xEDtulo)} \u2192 "T\xEDtulo: Mi proyecto"',searchable:"Hacer b\xFAsqueda: {description|s} incluye descripci\xF3n en b\xFAsqueda +",staticText:"Texto est\xE1tico: literal:Mi etiqueta personalizada",alwaysSearchable:"Nombre de archivo, t\xEDtulo y alias siempre son b\xFAsqueda por defecto."}},dataStorage:{name:"Ubicaci\xF3n de almacenamiento",description:"D\xF3nde almacenar el historial de sesiones de Pomodoro",pluginData:"Datos del plugin (recomendado)",dailyNotes:"Notas diarias",notices:{locationChanged:"Ubicaci\xF3n de almacenamiento de Pomodoro cambiada a {location}"}},notifications:{description:"Configurar notificaciones de recordatorio de tareas y alertas."},performance:{description:"Configurar opciones de rendimiento y comportamiento del plugin."},timeTrackingSection:{description:"Configurar comportamientos de seguimiento de tiempo autom\xE1tico."},recurringSection:{description:"Configurar comportamiento para gesti\xF3n de tareas recurrentes."}},integrations:{basesIntegration:{header:"Integraci\xF3n con Bases",description:"Configurar integraci\xF3n con el plugin Obsidian Bases. Esta es una caracter\xEDstica experimental, y actualmente depende de APIs no documentadas de Obsidian. El comportamiento puede cambiar o fallar.",enable:{name:"Habilitar integraci\xF3n con Bases",description:"Habilitar vistas de TaskNotes para usar dentro del plugin Obsidian Bases. El plugin Bases debe estar habilitado para que esto funcione."},viewCommands:{header:"Vistas y archivos base",description:"TaskNotes utiliza archivos de Obsidian Bases (.base) para sus vistas. Estos archivos se generan autom\xE1ticamente al inicio si no existen, configurados con tus ajustes actuales (identificaci\xF3n de tareas, mapeo de campos, estados, etc.).",descriptionRegen:'Los archivos base no se actualizan autom\xE1ticamente cuando cambias la configuraci\xF3n. Para aplicar nuevos ajustes, elimina los archivos .base existentes y reinicia Obsidian, usa "Crear archivos" abajo, o ed\xEDtalos manualmente.',docsLink:"Ver documentaci\xF3n para f\xF3rmulas disponibles y opciones de personalizaci\xF3n",docsLinkUrl:"https://tasknotes.dev/views/default-base-templates",commands:{miniCalendar:"Abrir vista de mini calendario",kanban:"Abrir vista kanban",tasks:"Abrir vista de tareas",advancedCalendar:"Abrir vista de calendario avanzado",agenda:"Abrir vista de agenda",relationships:"Widget de relaciones"},fileLabel:"Archivo: {path}",resetButton:"Restablecer",resetTooltip:"Restablecer a ruta predeterminada"},autoCreateDefaultFiles:{name:"Crear archivos predeterminados autom\xE1ticamente",description:"Crear autom\xE1ticamente los archivos Base predeterminados que falten al iniciar. Desactiva para evitar que se recreen los archivos de ejemplo eliminados."},createDefaultFiles:{name:"Crear archivos predeterminados",description:"Crea los archivos .base predeterminados en el directorio TaskNotes/Views/. Los archivos existentes no se sobrescribir\xE1n.",buttonText:"Crear archivos"},exportV3Views:{name:"Exportar vistas guardadas V3 a Bases",description:"Convierte todas tus vistas guardadas de TaskNotes v3 en un solo archivo .base con m\xFAltiples vistas. Esto ayuda a migrar tus configuraciones de filtros v3 al nuevo sistema de Bases.",buttonText:"Exportar vistas V3",noViews:"No hay vistas guardadas para exportar",fileExists:"El archivo ya existe",confirmOverwrite:'Ya existe un archivo llamado "{fileName}". \xBFSobrescribirlo?',success:"Exportadas {count} vistas guardadas a {filePath}",error:"Error al exportar vistas: {message}"},notices:{enabled:"Integraci\xF3n con Bases habilitada. Por favor reinicia Obsidian para completar la configuraci\xF3n.",disabled:"Integraci\xF3n con Bases deshabilitada. Por favor reinicia Obsidian para completar la eliminaci\xF3n."}},calendarSubscriptions:{header:"Suscripciones de calendario",description:"Suscribirse a calendarios externos v\xEDa URLs ICS/iCal para ver eventos junto a tus tareas.",defaultNoteTemplate:{name:"Plantilla de nota predeterminada",description:"Ruta al archivo de plantilla para notas creadas desde eventos ICS",placeholder:"Plantillas/Plantilla de evento.md"},defaultNoteFolder:{name:"Carpeta de nota predeterminada",description:"Carpeta para notas creadas desde eventos ICS",placeholder:"Calendario/Eventos"},filenameFormat:{name:"Formato de nombre de archivo de nota ICS",description:"C\xF3mo se generan los nombres de archivo para notas creadas desde eventos ICS",options:{title:"T\xEDtulo del evento",zettel:"Formato Zettelkasten",timestamp:"Marca de tiempo",custom:"Plantilla personalizada"}},customTemplate:{name:"Plantilla de nombre de archivo ICS personalizada",description:"Plantilla para nombres de archivo de eventos ICS personalizados",placeholder:"{date}-{title}"},useICSEndAsDue:{name:"Usar hora de fin del evento ICS como fecha de vencimiento",description:"Cuando est\xE1 habilitado, las tareas creadas a partir de eventos de calendario tendr\xE1n su fecha de vencimiento establecida en la hora de fin del evento. Para eventos de todo el d\xEDa, la fecha de vencimiento ser\xE1 la fecha del evento. Para eventos con hora, la fecha de vencimiento incluir\xE1 la hora de fin."}},subscriptionsList:{header:"Lista de suscripciones de calendario",addSubscription:{name:"Agregar suscripci\xF3n de calendario",description:"Agregar una nueva suscripci\xF3n de calendario desde URL ICS/iCal o archivo local",buttonText:"Agregar suscripci\xF3n"},refreshAll:{name:"Actualizar todas las suscripciones",description:"Actualizar manualmente todas las suscripciones de calendario habilitadas",buttonText:"Actualizar todas"},newCalendarName:"Nuevo calendario",emptyState:"No hay suscripciones de calendario configuradas. Agrega una suscripci\xF3n para sincronizar calendarios externos.",notices:{addSuccess:"Nueva suscripci\xF3n de calendario agregada - por favor configura los detalles",addFailure:"Error al agregar suscripci\xF3n",serviceUnavailable:"Servicio de suscripci\xF3n ICS no disponible",refreshSuccess:"Todas las suscripciones de calendario actualizadas exitosamente",refreshFailure:"Error al actualizar algunas suscripciones de calendario",updateFailure:"Error al actualizar suscripci\xF3n",deleteSuccess:'Suscripci\xF3n "{name}" eliminada',deleteFailure:"Error al eliminar suscripci\xF3n",enableFirst:"Habilita la suscripci\xF3n primero",refreshSubscriptionSuccess:'"{name}" actualizado',refreshSubscriptionFailure:"Error al actualizar suscripci\xF3n"},labels:{enabled:"Habilitado:",name:"Nombre:",type:"Tipo:",url:"URL:",filePath:"Ruta de archivo:",color:"Color:",refreshMinutes:"Actualizar (min):"},typeOptions:{remote:"URL remota",local:"Archivo local"},placeholders:{calendarName:"Nombre del calendario",url:"URL ICS/iCal",filePath:"Ruta de archivo local (ej. Calendario.ics)",localFile:"Calendario.ics"},statusLabels:{enabled:"Habilitado",disabled:"Deshabilitado",remote:"Remoto",localFile:"Archivo local",remoteCalendar:"Calendario remoto",localFileCalendar:"Archivo local",synced:"Sincronizado {timeAgo}",error:"Error"},actions:{refreshNow:"Actualizar ahora",deleteSubscription:"Eliminar suscripci\xF3n"},refreshNow:"Actualizar ahora",confirmDelete:{title:"Eliminar suscripci\xF3n",message:'\xBFEst\xE1s seguro de que quieres eliminar la suscripci\xF3n "{name}"? Esta acci\xF3n no se puede deshacer.',confirmText:"Eliminar"}},autoExport:{header:"Exportaci\xF3n autom\xE1tica ICS",description:"Exportar autom\xE1ticamente todas tus tareas a un archivo ICS.",enable:{name:"Habilitar exportaci\xF3n autom\xE1tica",description:"Mantener autom\xE1ticamente un archivo ICS actualizado con todas tus tareas"},filePath:{name:"Ruta del archivo de exportaci\xF3n",description:"Ruta donde se guardar\xE1 el archivo ICS (relativo a la ra\xEDz de la b\xF3veda)",placeholder:"tasknotes-calendario.ics"},interval:{name:"Intervalo de actualizaci\xF3n (entre 5 y 1440 minutos)",description:"Con qu\xE9 frecuencia actualizar el archivo de exportaci\xF3n",placeholder:"60"},useDuration:{name:"Usar duraci\xF3n de la tarea para la longitud del evento",description:"Cuando est\xE1 habilitado, usa la estimaci\xF3n de tiempo (duraci\xF3n) de la tarea en lugar de la fecha de vencimiento para la hora de finalizaci\xF3n del evento del calendario. Esto es \xFAtil para flujos de trabajo GTD donde programado + duraci\xF3n representa la planificaci\xF3n del trabajo, mientras que la fecha de vencimiento representa plazos."},exportNow:{name:"Exportar ahora",description:"Activar manualmente una exportaci\xF3n inmediata",buttonText:"Exportar ahora"},status:{title:"Estado de exportaci\xF3n:",lastExport:"\xDAltima exportaci\xF3n: {time}",nextExport:"Pr\xF3xima exportaci\xF3n: {time}",noExports:"A\xFAn no hay exportaciones",notScheduled:"No programado",notInitialized:"Servicio de auto exportaci\xF3n no inicializado - por favor reinicia Obsidian",serviceNotInitialized:"Servicio no inicializado - por favor reinicia Obsidian"},notices:{reloadRequired:"Por favor recarga Obsidian para que los cambios de exportaci\xF3n autom\xE1tica tengan efecto.",exportSuccess:"Tareas exportadas exitosamente",exportFailure:"Exportaci\xF3n fallida - revisa la consola para detalles",serviceUnavailable:"Servicio de auto exportaci\xF3n no disponible"}},googleCalendarExport:{header:"Exportar tareas al Calendario de Google",description:"Sincroniza autom\xE1ticamente tus tareas al Calendario de Google como eventos. Requiere que el Calendario de Google est\xE9 conectado arriba.",enable:{name:"Habilitar exportaci\xF3n de tareas",description:"Cuando est\xE1 habilitado, las tareas con fechas se sincronizar\xE1n autom\xE1ticamente al Calendario de Google como eventos."},targetCalendar:{name:"Calendario destino",description:"Selecciona en qu\xE9 calendario crear los eventos de tareas.",placeholder:"Seleccionar un calendario...",connectFirst:"Conecta el Calendario de Google primero",primarySuffix:" (Principal)"},syncTrigger:{name:"Disparador de sincronizaci\xF3n",description:"Qu\xE9 fecha de tarea debe disparar la creaci\xF3n del evento.",options:{scheduled:"Fecha programada",due:"Fecha de vencimiento",both:"Ambas (preferir programada)"}},allDayEvents:{name:"Crear como eventos de todo el d\xEDa",description:"Cuando est\xE1 habilitado, las tareas se crean como eventos de todo el d\xEDa. Cuando est\xE1 deshabilitado, usa la estimaci\xF3n de tiempo para la duraci\xF3n."},defaultDuration:{name:"Duraci\xF3n predeterminada del evento",description:"Duraci\xF3n en minutos para eventos con hora (usada cuando la tarea no tiene estimaci\xF3n de tiempo)."},eventTitleTemplate:{name:"Plantilla de t\xEDtulo del evento",description:"Plantilla para t\xEDtulos de eventos. Variables disponibles: {{title}}, {{status}}, {{priority}}",placeholder:"{{title}}"},includeDescription:{name:"Incluir detalles de tarea en descripci\xF3n",description:"Agregar metadatos de tarea (prioridad, estado, etiquetas, etc.) a la descripci\xF3n del evento."},includeObsidianLink:{name:"Incluir enlace de Obsidian",description:"Agregar un enlace de regreso a la tarea en Obsidian en la descripci\xF3n del evento."},defaultReminder:{name:"Recordatorio predeterminado",description:"Agregar un recordatorio emergente a los eventos del Calendario de Google. Establece minutos antes del evento (0 = sin recordatorio). Valores comunes: 15, 30, 60, 1440 (1 d\xEDa)."},automaticSyncBehavior:{header:"Comportamiento de sincronizaci\xF3n autom\xE1tica"},syncOnCreate:{name:"Sincronizar al crear tarea",description:"Crear autom\xE1ticamente un evento de calendario cuando se crea una nueva tarea."},syncOnUpdate:{name:"Sincronizar al actualizar tarea",description:"Actualizar autom\xE1ticamente el evento de calendario cuando se modifica una tarea."},syncOnComplete:{name:"Sincronizar al completar tarea",description:"Actualizar evento de calendario cuando se completa una tarea (agrega marca de verificaci\xF3n al t\xEDtulo)."},syncOnDelete:{name:"Eliminar evento al eliminar tarea",description:"Eliminar evento de calendario cuando se elimina la tarea correspondiente."},manualSyncActions:{header:"Acciones de sincronizaci\xF3n manual"},syncAllTasks:{name:"Sincronizar todas las tareas",description:"Sincronizar todas las tareas existentes al Calendario de Google. Esto crear\xE1 eventos para tareas que a\xFAn no han sido sincronizadas.",buttonText:"Sincronizar todo"},unlinkAllTasks:{name:"Desvincular todas las tareas",description:"Eliminar todos los v\xEDnculos tarea-evento sin eliminar eventos del calendario.",buttonText:"Desvincular todo",confirmTitle:"Desvincular todas las tareas",confirmMessage:"Esto eliminar\xE1 todos los v\xEDnculos entre tareas y eventos de calendario. Los eventos del calendario permanecer\xE1n pero ya no se actualizar\xE1n cuando cambien las tareas. \xBFEst\xE1s seguro?",confirmButtonText:"Desvincular todo"},notices:{notEnabled:"La exportaci\xF3n al Calendario de Google no est\xE1 habilitada. Config\xFArala en Ajustes > Integraciones.",notEnabledOrConfigured:"La exportaci\xF3n al Calendario de Google no est\xE1 habilitada o configurada",serviceNotAvailable:"Servicio de sincronizaci\xF3n de calendario no disponible",syncResults:"Sincronizados: {synced}, Fallidos: {failed}, Omitidos: {skipped}",taskSynced:"Tarea sincronizada al Calendario de Google",noActiveFile:"No hay archivo actualmente activo",notATask:"El archivo actual no es una tarea",noDateToSync:"La tarea no tiene fecha programada o de vencimiento para sincronizar",syncFailed:"Error al sincronizar tarea al Calendario de Google: {message}",connectionExpired:"La conexi\xF3n con el Calendario de Google ha caducado. Vuelve a conectarla en Configuraci\xF3n > Integraciones.",syncingTasks:"Sincronizando {total} tareas al Calendario de Google...",syncComplete:"Sincronizaci\xF3n completa: {synced} sincronizadas, {failed} fallidas, {skipped} omitidas",eventsDeletedAndUnlinked:"Todos los eventos eliminados y desvinculados",tasksUnlinked:"Todos los v\xEDnculos de tareas eliminados"},eventDescription:{untitledTask:"Tarea sin t\xEDtulo",priority:"Prioridad: {value}",status:"Estado: {value}",due:"Vencimiento: {value}",scheduled:"Programada: {value}",timeEstimate:"Tiempo estimado: {value}",tags:"Etiquetas: {value}",contexts:"Contextos: {value}",projects:"Proyectos: {value}",openInObsidian:"Abrir en Obsidian"}},httpApi:{header:"API HTTP",description:"Habilitar API HTTP para integraciones externas y automatizaciones.",enable:{name:"Habilitar API HTTP",description:"Iniciar servidor HTTP local para acceso API"},port:{name:"Puerto API",description:"N\xFAmero de puerto para el servidor API HTTP",placeholder:"3000"},authToken:{name:"Token de autenticaci\xF3n API",description:"Token requerido para autenticaci\xF3n API (dejar vac\xEDo para sin autenticaci\xF3n)",placeholder:"tu-token-secreto"},mcp:{enable:{name:"Habilitar servidor MCP",description:"Expone las herramientas de TaskNotes mediante Model Context Protocol en el endpoint /mcp. Requiere que la API HTTP est\xE9 habilitada."}},endpoints:{header:"Endpoints API disponibles",expandIcon:"\u25B6",collapseIcon:"\u25BC"}},webhooks:{header:"Webhooks",description:{overview:"Los webhooks env\xEDan notificaciones en tiempo real a servicios externos cuando ocurren eventos de TaskNotes.",usage:"Configurar webhooks para integrar con herramientas de automatizaci\xF3n, servicios de sincronizaci\xF3n o aplicaciones personalizadas."},addWebhook:{name:"Agregar webhook",description:"Registrar un nuevo endpoint de webhook",buttonText:"Agregar webhook"},emptyState:{message:"No hay webhooks configurados. Agrega un webhook para recibir notificaciones en tiempo real.",buttonText:"Agregar webhook"},labels:{active:"Activo:",url:"URL:",events:"Eventos:",transform:"Transformar:"},placeholders:{url:"URL del webhook",noEventsSelected:"No hay eventos seleccionados",rawPayload:"Carga cruda (sin transformaci\xF3n)"},statusLabels:{active:"Activo",inactive:"Inactivo",created:"Creado {timeAgo}"},actions:{editEvents:"Editar eventos",delete:"Eliminar"},editEvents:"Editar eventos",notices:{urlUpdated:"URL del webhook actualizada",enabled:"Webhook habilitado",disabled:"Webhook deshabilitado",created:"Webhook creado exitosamente",deleted:"Webhook eliminado",updated:"Webhook actualizado"},confirmDelete:{title:"Eliminar webhook",message:`\xBFEst\xE1s seguro de que quieres eliminar este webhook?
URL: {url}
Esta acci\xF3n no se puede deshacer.`,confirmText:"Eliminar"},cardHeader:"Webhook",cardFields:{active:"Activo:",url:"URL:",events:"Eventos:",transform:"Transformar:"},eventsDisplay:{noEvents:"No hay eventos seleccionados"},transformDisplay:{noTransform:"Carga cruda (sin transformaci\xF3n)"},secretModal:{title:"Secreto de webhook generado",description:"Tu secreto de webhook ha sido generado. Guarda este secreto ya que no podr\xE1s verlo de nuevo:",usage:"Usa este secreto para verificar cargas de webhook en tu aplicaci\xF3n receptora.",gotIt:"Entendido"},editModal:{title:"Editar webhook",eventsHeader:"Eventos a suscribir"},events:{taskCreated:{label:"Tarea creada",description:"Cuando se crean nuevas tareas"},taskUpdated:{label:"Tarea actualizada",description:"Cuando se modifican las tareas"},taskCompleted:{label:"Tarea completada",description:"Cuando las tareas se marcan como completas"},taskDeleted:{label:"Tarea eliminada",description:"Cuando se eliminan las tareas"},taskArchived:{label:"Tarea archivada",description:"Cuando se archivan las tareas"},taskUnarchived:{label:"Tarea desarchivada",description:"Cuando se desarchivar las tareas"},timeStarted:{label:"Tiempo iniciado",description:"Cuando inicia el seguimiento de tiempo"},timeStopped:{label:"Tiempo detenido",description:"Cuando se detiene el seguimiento de tiempo"},pomodoroStarted:{label:"Pomodoro iniciado",description:"Cuando comienzan las sesiones de pomodoro"},pomodoroCompleted:{label:"Pomodoro completado",description:"Cuando terminan las sesiones de pomodoro"},pomodoroInterrupted:{label:"Pomodoro interrumpido",description:"Cuando se detienen las sesiones de pomodoro"},recurringCompleted:{label:"Instancia recurrente completada",description:"Cuando se completan instancias de tareas recurrentes"},reminderTriggered:{label:"Recordatorio activado",description:"Cuando se activan recordatorios de tareas"}},modals:{secretGenerated:{title:"Secreto de webhook generado",description:"Tu secreto de webhook ha sido generado. Guarda este secreto ya que no podr\xE1s verlo de nuevo:",usage:"Usa este secreto para verificar cargas de webhook en tu aplicaci\xF3n receptora.",buttonText:"Entendido"},edit:{title:"Editar webhook",eventsSection:"Eventos a suscribir",transformSection:"Configuraci\xF3n de transformaci\xF3n (Opcional)",headersSection:"Configuraci\xF3n de encabezados",transformFile:{name:"Archivo de transformaci\xF3n",description:"Ruta a un archivo de plantilla .json en tu b\xF3veda que transforma cargas de webhook",placeholder:"simple-template.json"},customHeaders:{name:"Incluir encabezados personalizados",description:"Incluir encabezados de TaskNotes (tipo de evento, firma, ID de entrega). Desactivar para Discord, Slack y otros servicios con pol\xEDticas CORS estrictas."},buttons:{cancel:"Cancelar",save:"Guardar cambios"},notices:{selectAtLeastOneEvent:"Por favor selecciona al menos un evento"}},add:{title:"Agregar webhook",eventsSection:"Eventos a suscribir",transformSection:"Configuraci\xF3n de transformaci\xF3n (Opcional)",headersSection:"Configuraci\xF3n de encabezados",url:{name:"URL del webhook",description:"El endpoint donde se enviar\xE1n las cargas del webhook",placeholder:"https://tu-servicio.com/webhook"},transformFile:{name:"Archivo de transformaci\xF3n",description:"Ruta a un archivo de plantilla .json en tu b\xF3veda que transforma cargas de webhook",placeholder:"simple-template.json"},customHeaders:{name:"Incluir encabezados personalizados",description:"Incluir encabezados de TaskNotes (tipo de evento, firma, ID de entrega). Desactivar para Discord, Slack y otros servicios con pol\xEDticas CORS estrictas."},transformHelp:{title:"Las plantillas de transformaci\xF3n JSON te permiten personalizar cargas de webhook:",jsFiles:"",jsDescription:"",jsonFiles:"Archivos .json:",jsonDescription:" Plantillas con ",jsonVariable:"${data.task.title}",leaveEmpty:"Dejar vac\xEDo:",leaveEmptyDescription:" Enviar datos crudos",example:"Ejemplo:",exampleFile:"simple-template.json"},buttons:{cancel:"Cancelar",add:"Agregar webhook"},notices:{urlRequired:"URL del webhook es requerida",selectAtLeastOneEvent:"Por favor selecciona al menos un evento"}}}},otherIntegrations:{header:"Otras integraciones de plugins",description:"Configurar integraciones con otros plugins de Obsidian."},mdbaseSpec:{header:"Definiciones de tipos mdbase",learnMore:"M\xE1s informaci\xF3n sobre mdbase-spec",enable:{name:"Generar definiciones de tipos mdbase",description:"Genera y mantiene archivos de tipos mdbase (mdbase.yaml y _types/task.md) en la ra\xEDz de la b\xF3veda cuando cambien tus ajustes."}},timeFormats:{justNow:"Justo ahora",minutesAgo:"hace {minutes} minuto{plural}",hoursAgo:"hace {hours} hora{plural}",daysAgo:"hace {days} d\xEDa{plural}"}}},notices:{languageChanged:"Idioma cambiado a {language}.",exportTasksFailed:"Error al exportar tareas como archivo ICS",icsNoteCreatedSuccess:"Nota creada exitosamente",icsCreationModalOpenFailed:"Error al abrir modal de creaci\xF3n",icsNoteLinkSuccess:'Nota "{fileName}" vinculada al evento ICS',icsTaskCreatedSuccess:"Tarea creada: {title}",icsRelatedItemsRefreshed:"Elementos relacionados actualizados",icsFileNotFound:"Archivo no encontrado o inv\xE1lido",icsFileOpenFailed:"Error al abrir el archivo",timeblockAttachmentExists:'"{fileName}" ya est\xE1 adjunto',timeblockAttachmentAdded:'"{fileName}" agregado como adjunto',timeblockAttachmentRemoved:'"{fileName}" eliminado de los adjuntos',timeblockFileTypeNotSupported:'No se puede abrir "{fileName}" - tipo de archivo no compatible',timeblockTitleRequired:"Por favor ingrese un t\xEDtulo para el bloque de tiempo",timeblockUpdatedSuccess:'Bloque de tiempo "{title}" actualizado exitosamente',timeblockUpdateFailed:"Error al actualizar el bloque de tiempo. Consulte la consola para m\xE1s detalles.",timeblockDeletedSuccess:'Bloque de tiempo "{title}" eliminado exitosamente',timeblockDeleteFailed:"Error al eliminar el bloque de tiempo. Consulte la consola para m\xE1s detalles.",timeblockRequiredFieldsMissing:"Por favor complete todos los campos obligatorios",agendaLoadingFailed:"Error al cargar la agenda. Por favor intente actualizar.",statsLoadingFailed:"Error al cargar los detalles del proyecto."},commands:{openCalendarView:"Abrir vista de mini calendario",openAdvancedCalendarView:"Abrir vista de calendario",openTasksView:"Abrir vista de tareas",openNotesView:"Abrir vista de notas",openAgendaView:"Abrir vista de agenda",openPomodoroView:"Abrir temporizador pomodoro",openKanbanView:"Abrir tablero kanban",openPomodoroStats:"Abrir estad\xEDsticas de pomodoro",openStatisticsView:"Abrir estad\xEDsticas de tareas y proyectos",createNewTask:"Crear nueva tarea",convertCurrentNoteToTask:{name:"Convertir nota actual en tarea",noActiveFile:"No hay archivo activo para convertir",alreadyTask:"Esta nota ya es una tarea",success:"'{title}' convertido en tarea"},convertToTaskNote:"Convertir tarea de casilla a TaskNote",convertAllTasksInNote:"Convertir todas las tareas en nota",insertTaskNoteLink:"Insertar enlace de tasknote",createInlineTask:"Crear nueva tarea en l\xEDnea",quickActionsCurrentTask:"Acciones r\xE1pidas para tarea actual",goToTodayNote:"Ir a la nota de hoy",startPomodoro:"Iniciar temporizador pomodoro",stopPomodoro:"Detener temporizador pomodoro",pauseResumePomodoro:"Pausar/reanudar temporizador pomodoro",refreshCache:"Actualizar cach\xE9",exportAllTasksIcs:"Exportar todas las tareas como archivo ICS",viewReleaseNotes:"Ver notas de la versi\xF3n",startTimeTrackingWithSelector:"Iniciar seguimiento de tiempo (seleccionar tarea)",editTimeEntries:"Editar entradas de tiempo (seleccionar tarea)",createOrOpenTask:"Crear o abrir tarea",syncAllTasksGoogleCalendar:"Sincronizar todas las tareas al Calendario de Google",syncCurrentTaskGoogleCalendar:"Sincronizar tarea actual al Calendario de Google"},modals:{deviceCode:{title:"Autorizaci\xF3n del Calendario de Google",instructions:{intro:"Para conectar su Calendario de Google, siga estos pasos:"},steps:{open:"Abrir",inBrowser:"en su navegador",enterCode:"Ingrese este c\xF3digo cuando se le solicite:",signIn:"Inicie sesi\xF3n con su cuenta de Google y otorgue acceso",returnToObsidian:"Vuelva a Obsidian (esta ventana se cerrar\xE1 autom\xE1ticamente)"},codeLabel:"Su c\xF3digo:",copyCodeAriaLabel:"Copiar c\xF3digo",waitingForAuthorization:"Esperando autorizaci\xF3n...",openBrowserButton:"Abrir navegador",cancelButton:"Cancelar",expiresMinutesSeconds:"El c\xF3digo expira en {minutes}m {seconds}s",expiresSeconds:"El c\xF3digo expira en {seconds}s"},icsEventInfo:{calendarEventHeading:"Evento de calendario",titleLabel:"T\xEDtulo",calendarLabel:"Calendario",dateTimeLabel:"Fecha y hora",locationLabel:"Ubicaci\xF3n",descriptionLabel:"Descripci\xF3n",urlLabel:"URL",relatedNotesHeading:"Notas y tareas relacionadas",noRelatedItems:"No se encontraron notas o tareas relacionadas para este evento.",typeTask:"Tarea",typeNote:"Nota",actionsHeading:"Acciones",createFromEventLabel:"Crear desde evento",createFromEventDesc:"Crear una nueva nota o tarea desde este evento de calendario",linkExistingLabel:"Vincular existente",linkExistingDesc:"Vincular una nota existente a este evento de calendario"},timeblockInfo:{editHeading:"Editar bloque de tiempo",dateTimeLabel:"Fecha y hora: ",titleLabel:"T\xEDtulo",titleDesc:"T\xEDtulo para su bloque de tiempo",titlePlaceholder:"ej. Sesi\xF3n de trabajo profundo",descriptionLabel:"Descripci\xF3n",descriptionDesc:"Descripci\xF3n opcional para el bloque de tiempo",descriptionPlaceholder:"Enfoque en nuevas funciones, sin interrupciones",colorLabel:"Color",colorDesc:"Color opcional para el bloque de tiempo",colorPlaceholder:"#3b82f6",attachmentsLabel:"Adjuntos",attachmentsDesc:"Archivos o notas vinculados a este bloque de tiempo",addAttachmentButton:"Agregar adjunto",addAttachmentTooltip:"Seleccionar un archivo o nota usando b\xFAsqueda difusa",deleteButton:"Eliminar bloque de tiempo",saveButton:"Guardar cambios",deleteConfirmationTitle:"Eliminar bloque de tiempo"},timeblockCreation:{heading:"Crear bloque de tiempo",dateLabel:"Fecha: ",titleLabel:"T\xEDtulo",titleDesc:"T\xEDtulo para su bloque de tiempo",titlePlaceholder:"ej. Sesi\xF3n de trabajo profundo",startTimeLabel:"Hora de inicio",startTimeDesc:"Cu\xE1ndo comienza el bloque de tiempo",startTimePlaceholder:"09:00",endTimeLabel:"Hora de fin",endTimeDesc:"Cu\xE1ndo termina el bloque de tiempo",endTimePlaceholder:"11:00",descriptionLabel:"Descripci\xF3n",descriptionDesc:"Descripci\xF3n opcional para el bloque de tiempo",descriptionPlaceholder:"Enfoque en nuevas funciones, sin interrupciones",colorLabel:"Color",colorDesc:"Color opcional para el bloque de tiempo",colorPlaceholder:"#3b82f6",attachmentsLabel:"Adjuntos",attachmentsDesc:"Archivos o notas para vincular a este bloque de tiempo",addAttachmentButton:"Agregar adjunto",addAttachmentTooltip:"Seleccionar un archivo o nota usando b\xFAsqueda difusa",createButton:"Crear bloque de tiempo"},calendarEventCreation:{heading:"Crear evento de calendario",dateTimeLabel:"Fecha y hora: ",titleLabel:"T\xEDtulo",titleDesc:"T\xEDtulo para el evento de calendario",titlePlaceholder:"ej., Reuni\xF3n de equipo",calendarLabel:"Calendario",calendarDesc:"En qu\xE9 calendario crear el evento",descriptionLabel:"Descripci\xF3n",descriptionDesc:"Descripci\xF3n opcional para el evento",descriptionPlaceholder:"Agregar detalles sobre este evento...",locationLabel:"Ubicaci\xF3n",locationDesc:"Ubicaci\xF3n opcional para el evento",locationPlaceholder:"ej., Sala de conferencias A",createButton:"Crear evento",titleRequired:"El t\xEDtulo del evento es obligatorio",noCalendarSelected:"No se seleccion\xF3 ning\xFAn calendario",success:'Evento de calendario "{title}" creado',error:"No se pudo crear el evento de calendario: {message}"},icsNoteCreation:{heading:"Crear desde evento ICS",titleLabel:"T\xEDtulo",titleDesc:"T\xEDtulo para el nuevo contenido",folderLabel:"Carpeta",folderDesc:"Carpeta de destino (dejar vac\xEDo para la ra\xEDz del vault)",folderPlaceholder:"carpeta/subcarpeta",createButton:"Crear",startLabel:"Inicio: ",endLabel:"Fin: ",locationLabel:"Ubicaci\xF3n: ",calendarLabel:"Calendario: ",useTemplateLabel:"Usar plantilla",useTemplateDesc:"Aplicar una plantilla al crear el contenido",templatePathLabel:"Ruta de plantilla",templatePathDesc:"Ruta al archivo de plantilla",templatePathPlaceholder:"plantillas/plantilla-nota-ics.md"},unscheduledTasksSelector:{title:"Tareas no programadas",placeholder:"Escribe para buscar tareas no programadas...",instructions:{navigate:"para navegar",schedule:"para programar",dismiss:"para descartar"}},migration:{title:"Migrar al nuevo sistema de recurrencia",description:"TaskNotes ahora usa patrones RRULE est\xE1ndar de la industria para recurrencia, lo que permite horarios m\xE1s complejos y mejor compatibilidad con otras aplicaciones.",tasksFound:"{count} tarea(s) con patrones de recurrencia antiguos detectados",noMigrationNeeded:"No se requiere migraci\xF3n de tareas",warnings:{title:"Antes de proceder:",backup:"Respalda tu b\xF3veda antes de migrar",conversion:"Los patrones de recurrencia antiguos se convertir\xE1n al nuevo formato",normalUsage:"Puedes continuar usando TaskNotes normalmente durante la migraci\xF3n",permanent:"Este cambio es permanente y no se puede deshacer autom\xE1ticamente"},benefits:{title:"Beneficios del nuevo sistema:",powerfulPatterns:"Patrones de recurrencia complejos (ej. 'cada segundo martes')",performance:"Mejor rendimiento con tareas recurrentes",compatibility:"Formato de recurrencia est\xE1ndar compatible con otras aplicaciones",nlp:"Soporte mejorado de procesamiento de lenguaje natural"},progress:{title:"Progreso de migraci\xF3n",preparing:"Preparando migraci\xF3n...",completed:"Migraci\xF3n completada exitosamente",failed:"Migraci\xF3n fallida"},buttons:{migrate:"Iniciar migraci\xF3n",completed:"Cerrar"},errors:{title:"Errores durante la migraci\xF3n:"},notices:{completedWithErrors:"Migraci\xF3n completada con algunos errores. Revisa la lista de errores arriba.",success:"\xA1Todas las tareas migradas exitosamente!",failed:"Migraci\xF3n fallida. Por favor revisa la consola para m\xE1s detalles."},prompt:{message:"TaskNotes detect\xF3 tareas usando el formato de recurrencia antiguo. \xBFTe gustar\xEDa migrarlas al nuevo sistema ahora?",migrateNow:"Migrar ahora",remindLater:"Recordar m\xE1s tarde"}},task:{titlePlaceholder:"\xBFQu\xE9 necesita hacerse?",titleLabel:"T\xEDtulo",titleDetailedPlaceholder:"T\xEDtulo de la tarea...",detailsLabel:"Detalles",detailsPlaceholder:"Agregar m\xE1s detalles...",projectsLabel:"Proyectos",projectsAdd:"Agregar proyecto",projectsTooltip:"Seleccionar una nota de proyecto usando b\xFAsqueda difusa",projectsRemoveTooltip:"Eliminar proyecto",contextsLabel:"Contextos",contextsPlaceholder:"contexto1, contexto2",tagsLabel:"Etiquetas",tagsPlaceholder:"etiqueta1, etiqueta2",timeEstimateLabel:"Estimaci\xF3n de tiempo (minutos)",timeEstimatePlaceholder:"30",unsavedChanges:{title:"Cambios sin guardar",message:"Tiene cambios sin guardar. \xBFDesea guardarlos?",save:"Guardar cambios",discard:"Descartar cambios",cancel:"Seguir editando"},dependencies:{blockedBy:"Bloqueado por",blocking:"Bloqueando",placeholder:"[[Nota de tarea]]",addTaskButton:"Agregar tarea",selectTaskTooltip:"Seleccionar una nota de tarea usando b\xFAsqueda difusa",removeTaskTooltip:"Eliminar tarea"},organization:{projects:"Proyectos",subtasks:"Subtareas",addToProject:"Agregar a proyecto",addToProjectButton:"Agregar a proyecto",addSubtasks:"Agregar subtareas",addSubtasksButton:"Agregar subtarea",addSubtasksTooltip:"Seleccionar tareas para convertirlas en subtareas de esta tarea",removeSubtaskTooltip:"Eliminar subtarea",notices:{noEligibleSubtasks:"No hay tareas elegibles disponibles para asignar como subtareas",subtaskSelectFailed:"Error al abrir selector de subtareas"}},customFieldsLabel:"Campos personalizados",actions:{due:"Establecer fecha de vencimiento",scheduled:"Establecer fecha programada",status:"Establecer estado",priority:"Establecer prioridad",recurrence:"Establecer recurrencia",reminders:"Establecer recordatorios"},buttons:{openNote:"Abrir nota",save:"Guardar"},tooltips:{dueValue:"Vence: {value}",scheduledValue:"Programado: {value}",statusValue:"Estado: {value}",priorityValue:"Prioridad: {value}",recurrenceValue:"Recurrencia: {value}",remindersSingle:"1 recordatorio establecido",remindersPlural:"{count} recordatorios establecidos"},dateMenu:{dueTitle:"Establecer fecha de vencimiento",scheduledTitle:"Establecer fecha programada"},userFields:{textPlaceholder:"Ingresar {field}...",numberPlaceholder:"0",datePlaceholder:"YYYY-MM-DD",listPlaceholder:"elemento1, elemento2, elemento3",pickDate:"Elegir fecha de {field}"},recurrence:{daily:"Diario",weekly:"Semanal",everyTwoWeeks:"Cada 2 semanas",weekdays:"D\xEDas de semana",weeklyOn:"Semanal en {days}",monthly:"Mensual",everyThreeMonths:"Cada 3 meses",monthlyOnOrdinal:"Mensual en el {ordinal}",monthlyByWeekday:"Mensual (por d\xEDa de semana)",yearly:"Anual",yearlyOn:"Anual en {month} {day}",custom:"Personalizado",countSuffix:"{count} veces",untilSuffix:"hasta {date}",ordinal:"{number}{suffix}"}},taskSelector:{title:"Seleccionar tarea",placeholder:"Escribe para buscar tareas...",instructions:{navigate:"para navegar",select:"para seleccionar",dismiss:"para cancelar"},notices:{noteNotFound:'No se pudo encontrar la nota "{name}"'},dueDate:{overdue:"Vencimiento: {date} (vencido)",today:"Vencimiento: Hoy"}},taskSelectorWithCreate:{title:"Crear o abrir tarea",placeholder:"Buscar tareas o escribir para crear nueva...",instructions:{create:"para crear nueva tarea"},footer:{createLabel:" para crear: "},notices:{emptyQuery:"Por favor ingrese una descripci\xF3n de tarea",invalidTitle:"No se pudo reconocer un t\xEDtulo de tarea v\xE1lido"}},taskCreation:{title:"Crear tarea",actions:{fillFromNaturalLanguage:"Llenar formulario desde lenguaje natural",hideDetailedOptions:"Ocultar opciones detalladas",showDetailedOptions:"Mostrar opciones detalladas"},nlPlaceholder:"Comprar v\xEDveres ma\xF1ana a las 3pm @casa #diligencias",notices:{titleRequired:"Por favor ingresa un t\xEDtulo de tarea",success:'Tarea "{title}" creada exitosamente',successShortened:'Tarea "{title}" creada exitosamente (nombre de archivo acortado por longitud)',failure:"Error al crear tarea: {message}",blockingUnresolved:"No se pudo resolver: {entries}"}},taskEdit:{title:"Editar tarea",sections:{completions:"Finalizaciones",taskInfo:"Informaci\xF3n de la tarea"},metadata:{totalTrackedTime:"Tiempo total rastreado:",created:"Creado:",modified:"Modificado:",file:"Archivo:"},buttons:{archive:"Archivar",unarchive:"Desarchivar"},notices:{titleRequired:"Por favor ingresa un t\xEDtulo de tarea",noChanges:"No hay cambios para guardar",updateSuccess:'Tarea "{title}" actualizada exitosamente',updateFailure:"Error al actualizar tarea: {message}",dependenciesUpdateSuccess:"Dependencias actualizadas",blockingUnresolved:"No se pudo resolver: {entries}",fileMissing:"No se pudo encontrar el archivo de tarea: {path}",openNoteFailure:"Error al abrir nota de tarea",archiveSuccess:"Tarea {action} exitosamente",archiveFailure:"Error al archivar tarea"},archiveAction:{archived:"archivada",unarchived:"desarchivada"}},storageLocation:{title:{migrate:"\xBFMigrar datos de pomodoro?",switch:"\xBFCambiar a almacenamiento de notas diarias?"},message:{migrate:"Esto migrar\xE1 tus datos de sesi\xF3n de pomodoro existentes al frontmatter de notas diarias. Los datos se agrupar\xE1n por fecha y se almacenar\xE1n en cada nota diaria.",switch:"Los datos de sesi\xF3n de pomodoro se almacenar\xE1n en el frontmatter de notas diarias en lugar del archivo de datos del plugin."},whatThisMeans:"Lo que esto significa:",bullets:{dailyNotesRequired:"El plugin principal Daily Notes debe permanecer habilitado",storedInNotes:"Los datos se almacenar\xE1n en el frontmatter de tus notas diarias",migrateData:"Los datos del plugin existentes se migrar\xE1n y luego se borrar\xE1n",futureSessions:"Las sesiones futuras se guardar\xE1n en notas diarias",dataLongevity:"Esto proporciona mejor longevidad de datos con tus notas"},finalNote:{migrate:"\u26A0\uFE0F Aseg\xFArate de tener respaldos si es necesario. Este cambio no se puede deshacer autom\xE1ticamente.",switch:"Puedes cambiar de vuelta al almacenamiento del plugin en cualquier momento en el futuro."},buttons:{migrate:"Migrar datos",switch:"Cambiar almacenamiento"}},dueDate:{title:"Establecer fecha de vencimiento",taskLabel:"Tarea: {title}",sections:{dateTime:"Fecha y hora de vencimiento",quickOptions:"Opciones r\xE1pidas"},descriptions:{dateTime:"Establecer cu\xE1ndo debe completarse esta tarea"},inputs:{date:{ariaLabel:"Fecha de vencimiento para la tarea",placeholder:"YYYY-MM-DD"},time:{ariaLabel:"Hora de vencimiento para la tarea (opcional)",placeholder:"HH:MM"}},quickOptions:{today:"Hoy",todayAriaLabel:"Establecer fecha de vencimiento a hoy",tomorrow:"Ma\xF1ana",tomorrowAriaLabel:"Establecer fecha de vencimiento a ma\xF1ana",nextWeek:"Pr\xF3xima semana",nextWeekAriaLabel:"Establecer fecha de vencimiento a la pr\xF3xima semana",now:"Ahora",nowAriaLabel:"Establecer fecha y hora de vencimiento a ahora",clear:"Limpiar",clearAriaLabel:"Limpiar fecha de vencimiento"},errors:{invalidDateTime:"Por favor ingresa un formato de fecha y hora v\xE1lido",updateFailed:"Error al actualizar fecha de vencimiento. Por favor intenta de nuevo."}},scheduledDate:{title:"Establecer fecha programada",taskLabel:"Tarea: {title}",sections:{dateTime:"Fecha y hora programada",quickOptions:"Opciones r\xE1pidas"},descriptions:{dateTime:"Establecer cu\xE1ndo planeas trabajar en esta tarea"},inputs:{date:{ariaLabel:"Fecha programada para la tarea",placeholder:"YYYY-MM-DD"},time:{ariaLabel:"Hora programada para la tarea (opcional)",placeholder:"HH:MM"}},quickOptions:{today:"Hoy",todayAriaLabel:"Establecer fecha programada a hoy",tomorrow:"Ma\xF1ana",tomorrowAriaLabel:"Establecer fecha programada a ma\xF1ana",nextWeek:"Pr\xF3xima semana",nextWeekAriaLabel:"Establecer fecha programada a la pr\xF3xima semana",now:"Ahora",nowAriaLabel:"Establecer fecha y hora programada a ahora",clear:"Limpiar",clearAriaLabel:"Limpiar fecha programada"},errors:{invalidDateTime:"Por favor ingresa un formato de fecha y hora v\xE1lido",updateFailed:"Error al actualizar fecha programada. Por favor intenta de nuevo."}},timeEntryEditor:{title:"Entradas de tiempo - {taskTitle}",addEntry:"Agregar entrada de tiempo",noEntries:"A\xFAn no hay entradas de tiempo",deleteEntry:"Eliminar entrada",startTime:"Hora de inicio",endTime:"Hora de finalizaci\xF3n (dejar vac\xEDo si a\xFAn est\xE1 en ejecuci\xF3n)",duration:"Duraci\xF3n (minutos)",durationDesc:"Anular duraci\xF3n calculada",durationPlaceholder:"Ingresar duraci\xF3n en minutos",description:"Descripci\xF3n",descriptionPlaceholder:"\xBFEn qu\xE9 trabajaste?",calculatedDuration:"Calculado: {minutes} minutos",totalTime:"{hours}h {minutes}m total",totalMinutes:"{minutes}m total",saved:"Entradas de tiempo guardadas",saveFailed:"Error al guardar entradas de tiempo",openFailed:"Error al abrir el editor de entradas de tiempo",noTasksWithEntries:"No hay tareas con entradas de tiempo para editar",validation:{missingStartTime:"Se requiere hora de inicio",endBeforeStart:"La hora de finalizaci\xF3n debe ser posterior a la hora de inicio"}},timeTracking:{noTasksAvailable:"No hay tareas disponibles para rastrear tiempo",started:"Seguimiento de tiempo iniciado para: {taskTitle}",startFailed:"Error al iniciar el seguimiento de tiempo"},timeEntry:{mustHaveSpecificTime:"Las entradas de tiempo deben tener horas espec\xEDficas. Seleccione un rango de tiempo en la vista semanal o diaria.",noTasksAvailable:"No hay tareas disponibles para crear entradas de tiempo",created:"Entrada de tiempo creada para {taskTitle} ({duration} minutos)",createFailed:"Error al crear entrada de tiempo"}},contextMenus:{task:{status:"Estado",statusSelected:"\u2713 {label}",priority:"Prioridad",prioritySelected:"\u2713 {label}",dueDate:"Fecha de vencimiento",scheduledDate:"Fecha programada",reminders:"Recordatorios",remindBeforeDue:"Recordar antes del vencimiento\u2026",remindBeforeScheduled:"Recordar antes de programado\u2026",manageReminders:"Gestionar todos los recordatorios\u2026",clearReminders:"Limpiar todos los recordatorios",startTimeTracking:"Iniciar seguimiento de tiempo",stopTimeTracking:"Detener seguimiento de tiempo",editTimeEntries:"Editar entradas de tiempo",archive:"Archivar",unarchive:"Desarchivar",openNote:"Abrir nota",copyTitle:"Copiar t\xEDtulo de tarea",noteActions:"Acciones de nota",rename:"Renombrar",renameTitle:"Renombrar archivo",renamePlaceholder:"Ingresar nuevo nombre",delete:"Eliminar",deleteTitle:"Eliminar archivo",deleteMessage:'\xBFEst\xE1s seguro de que quieres eliminar "{name}"?',deleteConfirm:"Eliminar",copyPath:"Copiar ruta",copyUrl:"Copiar URL de Obsidian",showInExplorer:"Mostrar en explorador de archivos",addToCalendar:"Agregar al calendario",calendar:{google:"Calendario de Google",outlook:"Calendario de Outlook",yahoo:"Calendario de Yahoo",downloadIcs:"Descargar archivo .ics",syncToGoogle:"Sincronizar con el Calendario de Google",syncToGoogleNotConfigured:"Sincronizaci\xF3n con el Calendario de Google no configurada",syncToGoogleSuccess:"Tarea sincronizada con el Calendario de Google",syncToGoogleFailed:"Error al sincronizar con el Calendario de Google"},recurrence:"Recurrencia",clearRecurrence:"Limpiar recurrencia",customRecurrence:"Recurrencia personalizada...",createSubtask:"Crear subtarea",dependencies:{title:"Dependencias",addBlockedBy:"Agregar bloqueado por\u2026",addBlockedByTitle:"Agregar tareas de las que esto depende",addBlocking:"Agregar bloqueando\u2026",addBlockingTitle:"Agregar tareas que esto bloquea",removeBlockedBy:"Eliminar bloqueado-por\u2026",removeBlocking:"Eliminar bloqueando\u2026",unknownDependency:"Desconocido",inputPlaceholder:"[[Nota de tarea]]",notices:{noEntries:"Por favor ingrese al menos una tarea",blockedByAdded:"{count} dependencia agregada",blockedByRemoved:"Dependencia eliminada",blockingAdded:"{count} tarea dependiente agregada",blockingRemoved:"Tarea dependiente eliminada",unresolved:"No se pudo resolver: {entries}",noEligibleTasks:"No hay tareas coincidentes disponibles",updateFailed:"Error al actualizar dependencias"}},organization:{title:"Organizaci\xF3n",projects:"Proyectos",addToProject:"Agregar a proyecto\u2026",subtasks:"Subtareas",addSubtasks:"Agregar subtareas\u2026",notices:{alreadyInProject:"La tarea ya est\xE1 en este proyecto",alreadySubtask:"La tarea ya es una subtarea de esta tarea",addedToProject:"Agregado al proyecto: {project}",addedAsSubtask:"{subtask} agregado como subtarea de {parent}",addToProjectFailed:"Error al agregar tarea al proyecto",addAsSubtaskFailed:"Error al agregar tarea como subtarea",projectSelectFailed:"Error al abrir selector de proyecto",subtaskSelectFailed:"Error al abrir selector de subtareas",noEligibleSubtasks:"No hay tareas elegibles disponibles para asignar como subtareas",currentTaskNotFound:"Archivo de tarea actual no encontrado"}},subtasks:{loading:"Cargando subtareas...",noSubtasks:"No se encontraron subtareas",loadFailed:"Error al cargar subtareas"},markComplete:"Marcar como completo para esta fecha",markIncomplete:"Marcar como incompleto para esta fecha",skipInstance:"Omitir instancia",unskipInstance:"Deshacer omisi\xF3n de instancia",quickReminders:{atTime:"A la hora del evento",fiveMinutes:"5 minutos antes",fifteenMinutes:"15 minutos antes",oneHour:"1 hora antes",oneDay:"1 d\xEDa antes"},notices:{toggleCompletionFailure:"Error al alternar finalizaci\xF3n de tarea recurrente: {message}",toggleSkipFailure:"Error al alternar omisi\xF3n de tarea recurrente: {message}",updateDueDateFailure:"Error al actualizar fecha de vencimiento de tarea: {message}",updateScheduledFailure:"Error al actualizar fecha programada de tarea: {message}",updateRemindersFailure:"Error al actualizar recordatorios",clearRemindersFailure:"Error al limpiar recordatorios",addReminderFailure:"Error al agregar recordatorio",archiveFailure:"Error al alternar archivo de tarea: {message}",copyTitleSuccess:"T\xEDtulo de tarea copiado al portapapeles",copyFailure:"Error al copiar al portapapeles",renameSuccess:'Renombrado a "{name}"',renameFailure:"Error al renombrar archivo",copyPathSuccess:"Ruta de archivo copiada al portapapeles",copyUrlSuccess:"URL de Obsidian copiada al portapapeles",updateRecurrenceFailure:"Error al actualizar recurrencia de tarea: {message}"}},priority:{clearPriority:"Quitar prioridad"},ics:{showDetails:"Mostrar detalles",createTask:"Crear tarea desde evento",createNote:"Crear nota desde evento",linkNote:"Vincular nota existente",copyTitle:"Copiar t\xEDtulo",copyLocation:"Copiar ubicaci\xF3n",copyUrl:"Copiar URL",copyMarkdown:"Copiar como markdown",subscriptionUnknown:"Calendario desconocido",notices:{copyTitleSuccess:"T\xEDtulo del evento copiado al portapapeles",copyLocationSuccess:"Ubicaci\xF3n copiada al portapapeles",copyUrlSuccess:"URL del evento copiada al portapapeles",copyMarkdownSuccess:"Detalles del evento copiados como markdown",copyFailure:"Error al copiar al portapapeles",taskCreated:"Tarea creada: {title}",taskCreateFailure:"Error al crear tarea desde evento",noteCreated:"Nota creada exitosamente",creationFailure:"Error al abrir modal de creaci\xF3n",linkSuccess:'Nota "{name}" vinculada al evento',linkFailure:"Error al vincular nota",linkSelectionFailure:"Error al abrir selecci\xF3n de nota"},markdown:{titleFallback:"Evento sin t\xEDtulo",calendar:"**Calendario:** {value}",date:"**Fecha y hora:** {value}",location:"**Ubicaci\xF3n:** {value}",descriptionHeading:"### Descripci\xF3n",url:"**URL:** {value}",at:" a las {time}"}},date:{increment:{plusOneDay:"+1 d\xEDa",minusOneDay:"-1 d\xEDa",plusOneWeek:"+1 semana",minusOneWeek:"-1 semana"},basic:{today:"Hoy",tomorrow:"Ma\xF1ana",thisWeekend:"Este fin de semana",nextWeek:"Pr\xF3xima semana",nextMonth:"Pr\xF3ximo mes"},weekdaysLabel:"D\xEDas de semana",selected:"\u2713 {label}",pickDateTime:"Elegir fecha y hora\u2026",clearDate:"Limpiar fecha",modal:{title:"Establecer fecha y hora",dateLabel:"Fecha",timeLabel:"Hora (opcional)",select:"Seleccionar"}}},services:{pomodoro:{notices:{alreadyRunning:"Un pomodoro ya est\xE1 ejecut\xE1ndose",resumeCurrentSession:"Reanudar la sesi\xF3n actual en lugar de iniciar una nueva",timerAlreadyRunning:"Un temporizador ya est\xE1 ejecut\xE1ndose",resumeSessionInstead:"Reanudar la sesi\xF3n actual en lugar de iniciar una nueva",shortBreakStarted:"Descanso corto iniciado",longBreakStarted:"Descanso largo iniciado",paused:"Pomodoro pausado",resumed:"Pomodoro reanudado",stoppedAndReset:"Pomodoro detenido y reiniciado",migrationSuccess:"{count} sesiones de pomodoro migradas exitosamente a notas diarias.",migrationFailure:"Error al migrar datos de pomodoro. Por favor intenta de nuevo o revisa la consola para detalles."}},icsSubscription:{notices:{calendarNotFound:'Calendario "{name}" no encontrado (404). Por favor verifica que la URL ICS sea correcta y el calendario sea p\xFAblicamente accesible.',calendarAccessDenied:'Acceso al calendario "{name}" denegado (500). Esto puede deberse a restricciones del servidor de Microsoft Outlook. Intenta regenerar la URL ICS desde la configuraci\xF3n de tu calendario.',fetchRemoteFailed:'Error al obtener calendario remoto "{name}": {error}',readLocalFailed:'Error al leer calendario local "{name}": {error}'}},calendarExport:{notices:{generateLinkFailed:"Error al generar enlace de calendario",noTasksToExport:"No se encontraron tareas para exportar",downloadSuccess:"Descargado {filename} con {count} tarea{plural}",downloadFailed:"Error al descargar archivo de calendario",singleDownloadSuccess:"Descargado {filename}"}},filter:{groupLabels:{noProject:"Sin proyecto",noTags:"Sin etiquetas",invalidDate:"Fecha inv\xE1lida",due:{overdue:"Vencido",today:"Hoy",tomorrow:"Ma\xF1ana",nextSevenDays:"Pr\xF3ximos siete d\xEDas",later:"M\xE1s tarde",none:"Sin fecha de vencimiento"},scheduled:{past:"Programaci\xF3n pasada",today:"Hoy",tomorrow:"Ma\xF1ana",nextSevenDays:"Pr\xF3ximos siete d\xEDas",later:"M\xE1s tarde",none:"Sin fecha programada"}},errors:{noDatesProvided:"No se proporcionaron fechas"},folders:{root:"(Ra\xEDz)"}},instantTaskConvert:{notices:{noCheckboxTasks:"No se encontraron tareas de casilla de verificaci\xF3n en la nota actual.",convertingTasks:"Convirtiendo {count} tarea{plural}...",conversionSuccess:"\u2705 \xA1{count} tarea{plural} convertida exitosamente a TaskNotes!",partialConversion:"{successCount} tarea{successPlural} convertida. {failureCount} fallaron.",batchConversionFailed:"Error al realizar conversi\xF3n por lotes. Por favor intenta de nuevo.",invalidParameters:"Par\xE1metros de entrada inv\xE1lidos.",emptyLine:"La l\xEDnea actual est\xE1 vac\xEDa o no contiene contenido v\xE1lido.",parseError:"Error al analizar tarea: {error}",invalidTaskData:"Datos de tarea inv\xE1lidos.",replaceLineFailed:"Error al reemplazar l\xEDnea de tarea.",conversionComplete:"Tarea convertida: {title}",conversionCompleteShortened:'Tarea convertida: "{title}" (nombre de archivo acortado por longitud)',fileExists:"Ya existe un archivo con este nombre. Por favor intenta de nuevo o renombra la tarea.",conversionFailed:"Error al convertir tarea. Por favor intenta de nuevo."}},icsNote:{notices:{templateNotFound:"Plantilla no encontrada: {path}",templateProcessError:"Error al procesar plantilla: {template}",linkedToEvent:"Nota vinculada al evento ICS: {title}"}},task:{notices:{templateNotFound:"Plantilla del cuerpo de tarea no encontrada: {path}",templateReadError:"Error al leer plantilla del cuerpo de tarea: {template}",moveTaskFailed:"Error al mover tarea {operation}: {error}"}},autoExport:{notices:{exportFailed:"Auto exportaci\xF3n de TaskNotes fall\xF3: {error}"}}},ui:{icsCard:{untitledEvent:"Evento sin t\xEDtulo",allDay:"Todo el d\xEDa",calendarEvent:"Evento de calendario",calendarFallback:"Calendario"},noteCard:{createdLabel:"Creado:",dailyBadge:"Diario",dailyTooltip:"Nota diaria"},taskCard:{labels:{due:"Vencimiento",scheduled:"Programado",recurrence:"Recurrente",completed:"Completado",created:"Creado",modified:"Modificado",blocked:"Bloqueado",blocking:"Bloqueando"},blockedBadge:"Bloqueada",blockedBadgeTooltip:"Esta tarea est\xE1 esperando otra tarea",blockingBadge:"Bloqueando",blockingBadgeTooltip:"Esta tarea bloquea otra tarea",blockingToggle:"Bloqueando {count} tareas",priorityAriaLabel:"Prioridad: {label}",taskOptions:"Opciones de tarea",recurrenceTooltip:"{label}: {value}",reminderTooltipOne:"1 recordatorio configurado (clic para gestionar)",reminderTooltipMany:"{count} recordatorios configurados (clic para gestionar)",projectTooltip:"Esta tarea se usa como proyecto (clic para filtrar subtareas)",expandSubtasks:"Expandir subtareas",collapseSubtasks:"Contraer subtareas",dueToday:"{label}: Hoy",dueTodayAt:"{label}: Hoy a las {time}",dueOverdue:"{label}: {display} (atrasada)",dueLabel:"{label}: {display}",scheduledToday:"{label}: Hoy",scheduledTodayAt:"{label}: Hoy a las {time}",scheduledPast:"{label}: {display} (pasado)",scheduledLabel:"{label}: {display}",loadingDependencies:"Cargando dependencias...",blockingEmpty:"Sin tareas dependientes",blockingLoadError:"No se pudieron cargar las dependencias",googleCalendarSyncTooltip:"Sincronizado con el Calendario de Google"},propertyEventCard:{unknownFile:"Archivo desconocido"},filterHeading:{allViewName:"Todos"},filterBar:{saveView:"Guardar vista",saveViewNamePlaceholder:"Ingresar nombre de vista...",saveButton:"Guardar",views:"Vistas",savedFilterViews:"Vistas de filtro guardadas",filters:"Filtros",properties:"Propiedades",sort:"Ordenar",newTask:"Nuevo",expandAllGroups:"Expandir todos los grupos",collapseAllGroups:"Contraer todos los grupos",searchTasksPlaceholder:"Buscar tareas...",searchTasksTooltip:"Buscar t\xEDtulos de tareas",filterUnavailable:"Barra de filtros temporalmente no disponible",toggleFilter:"Alternar filtro",activeFiltersTooltip:"Filtros activos \u2013 Clic para modificar, clic derecho para limpiar",configureVisibleProperties:"Configurar propiedades visibles",sortAndGroupOptions:"Opciones de ordenamiento y agrupaci\xF3n",sortMenuHeader:"Ordenar",orderMenuHeader:"Orden",groupMenuHeader:"Agrupar",createNewTask:"Crear nueva tarea",filter:"Filtro",displayOrganization:"Visualizaci\xF3n y organizaci\xF3n",viewOptions:"Opciones de vista",addFilter:"Agregar filtro",addFilterGroup:"Agregar grupo de filtros",addFilterTooltip:"Agregar una nueva condici\xF3n de filtro",addFilterGroupTooltip:"Agregar un grupo de filtros anidado",clearAllFilters:"Limpiar todos los filtros y grupos",saveCurrentFilter:"Guardar filtro actual como vista",closeFilterModal:"Cerrar modal de filtro",deleteFilterGroup:"Eliminar grupo de filtros",deleteCondition:"Eliminar condici\xF3n",all:"Todos",any:"Cualquiera",followingAreTrue:"de los siguientes son verdaderos:",where:"donde",selectProperty:"Seleccionar...",chooseProperty:"Elegir por qu\xE9 propiedad de tarea filtrar",chooseOperator:"Elegir c\xF3mo comparar el valor de la propiedad",enterValue:"Ingresar el valor por el cual filtrar",selectValue:"Seleccionar un {property} por el cual filtrar",sortBy:"Ordenar por:",toggleSortDirection:"Alternar direcci\xF3n de ordenamiento",chooseSortMethod:"Elegir c\xF3mo ordenar tareas",groupBy:"Agrupar por:",chooseGroupMethod:"Agrupar tareas por una propiedad com\xFAn",toggleViewOption:"Alternar {option}",expandCollapseFilters:"Clic para expandir/contraer condiciones de filtro",expandCollapseSort:"Clic para expandir/contraer opciones de ordenamiento y agrupaci\xF3n",expandCollapseViewOptions:"Clic para expandir/contraer opciones espec\xEDficas de vista",naturalLanguageDates:"Fechas en lenguaje natural",naturalLanguageExamples:"Mostrar ejemplos de fechas en lenguaje natural",enterNumericValue:"Ingresar un valor num\xE9rico por el cual filtrar",enterDateValue:"Ingresar una fecha usando lenguaje natural o formato ISO",pickDateTime:"Elegir fecha y hora",noSavedViews:"No hay vistas guardadas",savedViews:"Vistas guardadas",yourSavedFilters:"Tus configuraciones de filtro guardadas",dragToReorder:"Arrastrar para reordenar vistas",loadSavedView:"Cargar vista guardada: {name}",deleteView:"Eliminar vista",deleteViewTitle:"Eliminar vista",deleteViewMessage:'\xBFEst\xE1s seguro de que quieres eliminar la vista "{name}"?',manageAllReminders:"Gestionar todos los recordatorios...",clearAllReminders:"Limpiar todos los recordatorios",customRecurrence:"Recurrencia personalizada...",clearRecurrence:"Limpiar recurrencia",sortOptions:{dueDate:"Fecha de vencimiento",scheduledDate:"Fecha programada",priority:"Prioridad",status:"Estado",title:"T\xEDtulo",createdDate:"Fecha de creaci\xF3n",tags:"Etiquetas",ascending:"Ascendente",descending:"Descendente"},group:{none:"Ninguno",status:"Estado",priority:"Prioridad",context:"Contexto",project:"Proyecto",dueDate:"Fecha de vencimiento",scheduledDate:"Fecha programada",tags:"Etiquetas",completedDate:"Fecha de finalizaci\xF3n"},subgroupLabel:"SUBGRUPO",notices:{propertiesMenuFailed:"Error al mostrar men\xFA de propiedades"}}},components:{dateContextMenu:{weekdays:"D\xEDas laborables",clearDate:"Borrar fecha",today:"Hoy",tomorrow:"Ma\xF1ana",thisWeekend:"Este fin de semana",nextWeek:"Pr\xF3xima semana",nextMonth:"Pr\xF3ximo mes",setDateTime:"Establecer fecha y hora",dateLabel:"Fecha",timeLabel:"Hora (opcional)"},subgroupMenuBuilder:{none:"Ninguno",status:"Estado",priority:"Prioridad",context:"Contexto",project:"Proyecto",dueDate:"Fecha de vencimiento",scheduledDate:"Fecha programada",tags:"Etiquetas",completedDate:"Fecha de finalizaci\xF3n",subgroup:"SUBGRUPO"},propertyVisibilityDropdown:{coreProperties:"PROPIEDADES PRINCIPALES",organization:"ORGANIZACI\xD3N",customProperties:"PROPIEDADES PERSONALIZADAS",failed:"Error al mostrar men\xFA de propiedades",properties:{statusDot:"Punto de estado",priorityDot:"Punto de prioridad",dueDate:"Fecha de vencimiento",scheduledDate:"Fecha programada",timeEstimate:"Estimaci\xF3n de tiempo",totalTrackedTime:"Tiempo total rastreado",checklistProgress:"Progreso de la lista de verificaci\xF3n",recurrence:"Recurrencia",completedDate:"Fecha de finalizaci\xF3n",createdDate:"Fecha de creaci\xF3n",modifiedDate:"Fecha de modificaci\xF3n",projects:"Proyectos",contexts:"Contextos",tags:"Etiquetas",blocked:"Bloqueada",blocking:"Bloqueando"}},reminderContextMenu:{remindBeforeDue:"Recordar antes del vencimiento...",remindBeforeScheduled:"Recordar antes de programado...",manageAllReminders:"Gestionar todos los recordatorios...",clearAllReminders:"Limpiar todos los recordatorios",quickReminders:{atTime:"A la hora del evento",fiveMinutesBefore:"5 minutos antes",fifteenMinutesBefore:"15 minutos antes",oneHourBefore:"1 hora antes",oneDayBefore:"1 d\xEDa antes"}},recurrenceContextMenu:{daily:"Diario",weeklyOn:"Semanal en {day}",everyTwoWeeksOn:"Cada 2 semanas en {day}",monthlyOnThe:"Mensual en el {ordinal}",everyThreeMonthsOnThe:"Cada 3 meses en el {ordinal}",yearlyOn:"Anual en {month} {ordinal}",weekdaysOnly:"Solo d\xEDas de semana",dailyAfterCompletion:"Diario (despu\xE9s de completar)",every3DaysAfterCompletion:"Cada 3 d\xEDas (despu\xE9s de completar)",weeklyAfterCompletion:"Semanal (despu\xE9s de completar)",monthlyAfterCompletion:"Mensual (despu\xE9s de completar)",customRecurrence:"Recurrencia personalizada...",clearRecurrence:"Limpiar recurrencia",customRecurrenceModal:{title:"Recurrencia personalizada",startDate:"Fecha de inicio",startDateDesc:"La fecha cuando comienza el patr\xF3n de recurrencia",startTime:"Hora de inicio",startTimeDesc:"La hora cuando deben aparecer las instancias recurrentes (opcional)",recurFrom:"Recurrir desde",recurFromDesc:"\xBFCu\xE1ndo debe calcularse la siguiente ocurrencia?",scheduledDate:"Fecha programada",completionDate:"Fecha de finalizaci\xF3n",frequency:"Frecuencia",interval:"Intervalo",intervalDesc:"Cada X d\xEDas/semanas/meses/a\xF1os",daysOfWeek:"D\xEDas de la semana",daysOfWeekDesc:"Seleccionar d\xEDas espec\xEDficos (para recurrencia semanal)",monthlyRecurrence:"Recurrencia mensual",monthlyRecurrenceDesc:"Elegir c\xF3mo repetir mensualmente",yearlyRecurrence:"Recurrencia anual",yearlyRecurrenceDesc:"Elegir c\xF3mo repetir anualmente",endCondition:"Condici\xF3n de fin",endConditionDesc:"Elegir cu\xE1ndo debe terminar la recurrencia",neverEnds:"Nunca termina",endAfterOccurrences:"Terminar despu\xE9s de {count} ocurrencias",endOnDate:"Terminar en {date}",onDayOfMonth:"En el d\xEDa {day} de cada mes",onTheWeekOfMonth:"En el {week} {day} de cada mes",onDateOfYear:"En {month} {day} cada a\xF1o",onTheWeekOfYear:"En el {week} {day} de {month} cada a\xF1o",frequencies:{daily:"Diario",weekly:"Semanal",monthly:"Mensual",yearly:"Anual"},weekPositions:{first:"primer",second:"segundo",third:"tercer",fourth:"cuarto",last:"\xFAltimo"},weekdays:{monday:"Lunes",tuesday:"Martes",wednesday:"Mi\xE9rcoles",thursday:"Jueves",friday:"Viernes",saturday:"S\xE1bado",sunday:"Domingo"},weekdaysShort:{mon:"Lun",tue:"Mar",wed:"Mi\xE9",thu:"Jue",fri:"Vie",sat:"S\xE1b",sun:"Dom"},cancel:"Cancelar",save:"Guardar"}}}};var Dde={common:{appName:"TaskNotes",new:"\u65B0\u898F",cancel:"\u30AD\u30E3\u30F3\u30BB\u30EB",confirm:"\u78BA\u8A8D",close:"\u9589\u3058\u308B",save:"\u4FDD\u5B58",reorder:{confirmLargeTitle:"\u5927\u898F\u6A21\u306A\u4E26\u3079\u66FF\u3048\u3092\u78BA\u8A8D",confirmButton:"\u30CE\u30FC\u30C8\u3092\u4E26\u3079\u66FF\u3048\u308B",confirmLargeMessage:'\u3053\u3053\u3067\u4E26\u3079\u66FF\u3048\u308B\u3068\u3001{scope} \u306E\u6C38\u7D9A\u7684\u306A\u624B\u52D5\u9806\u5E8F\u3092\u4F5C\u308B\u305F\u3081\u306B {count} \u4EF6\u306E\u30CE\u30FC\u30C8\u306E "{field}" \u304C\u66F4\u65B0\u3055\u308C\u307E\u3059\u3002\u540C\u3058\u7BC4\u56F2\u5185\u306E\u975E\u8868\u793A\u307E\u305F\u306F\u7D5E\u308A\u8FBC\u307F\u6E08\u307F\u306E\u30CE\u30FC\u30C8\u3082\u66F4\u65B0\u3055\u308C\u308B\u5834\u5408\u304C\u3042\u308A\u307E\u3059\u3002\u7D9A\u884C\u3057\u307E\u3059\u304B\uFF1F'},language:"\u8A00\u8A9E",systemDefault:"\u30B7\u30B9\u30C6\u30E0\u306E\u65E2\u5B9A",loading:"\u8AAD\u307F\u8FBC\u307F\u4E2D...",languages:{en:"\u82F1\u8A9E",fr:"\u30D5\u30E9\u30F3\u30B9\u8A9E",ru:"\u30ED\u30B7\u30A2\u8A9E",zh:"\u4E2D\u56FD\u8A9E",de:"\u30C9\u30A4\u30C4\u8A9E",es:"\u30B9\u30DA\u30A4\u30F3\u8A9E",ja:"\u65E5\u672C\u8A9E",pt:"\u30DD\u30EB\u30C8\u30AC\u30EB\u8A9E\uFF08\u30D6\u30E9\u30B8\u30EB\uFF09",ko:"\u97D3\u56FD\u8A9E"},weekdays:{sunday:"\u65E5\u66DC\u65E5",monday:"\u6708\u66DC\u65E5",tuesday:"\u706B\u66DC\u65E5",wednesday:"\u6C34\u66DC\u65E5",thursday:"\u6728\u66DC\u65E5",friday:"\u91D1\u66DC\u65E5",saturday:"\u571F\u66DC\u65E5"},months:{january:"1\u6708",february:"2\u6708",march:"3\u6708",april:"4\u6708",may:"5\u6708",june:"6\u6708",july:"7\u6708",august:"8\u6708",september:"9\u6708",october:"10\u6708",november:"11\u6708",december:"12\u6708"}},views:{agenda:{title:"\u30A2\u30B8\u30A7\u30F3\u30C0",today:"\u4ECA\u65E5",overdue:"\u671F\u9650\u5207\u308C",refreshCalendars:"\u30AB\u30EC\u30F3\u30C0\u30FC\u3092\u66F4\u65B0",actions:{previousPeriod:"\u524D\u306E\u671F\u9593",nextPeriod:"\u6B21\u306E\u671F\u9593",goToToday:"\u4ECA\u65E5\u306B\u79FB\u52D5",refreshCalendars:"\u30AB\u30EC\u30F3\u30C0\u30FC\u8CFC\u8AAD\u3092\u66F4\u65B0"},loading:"\u30A2\u30B8\u30A7\u30F3\u30C0\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D...",dayToggle:"\u65E5\u306E\u5207\u308A\u66FF\u3048",overdueToggle:"\u671F\u9650\u5207\u308C\u30BB\u30AF\u30B7\u30E7\u30F3\u306E\u5207\u308A\u66FF\u3048",expandAllDays:"\u3059\u3079\u3066\u306E\u65E5\u3092\u5C55\u958B",collapseAllDays:"\u3059\u3079\u3066\u306E\u65E5\u3092\u6298\u308A\u305F\u305F\u307F",notices:{calendarNotReady:"\u30AB\u30EC\u30F3\u30C0\u30FC\u30B5\u30FC\u30D3\u30B9\u306F\u307E\u3060\u6E96\u5099\u3067\u304D\u3066\u3044\u307E\u305B\u3093",calendarRefreshed:"\u30AB\u30EC\u30F3\u30C0\u30FC\u8CFC\u8AAD\u304C\u66F4\u65B0\u3055\u308C\u307E\u3057\u305F",refreshFailed:"\u66F4\u65B0\u306B\u5931\u6557\u3057\u307E\u3057\u305F"},empty:{noItemsScheduled:"\u4E88\u5B9A\u3055\u308C\u305F\u30A2\u30A4\u30C6\u30E0\u304C\u3042\u308A\u307E\u305B\u3093",noItemsFound:"\u30A2\u30A4\u30C6\u30E0\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F",helpText:"\u671F\u9650\u65E5\u307E\u305F\u306F\u4E88\u5B9A\u65E5\u306E\u3042\u308B\u30BF\u30B9\u30AF\u3092\u4F5C\u6210\u3059\u308B\u304B\u3001\u30CE\u30FC\u30C8\u3092\u8FFD\u52A0\u3057\u3066\u3053\u3053\u306B\u8868\u793A\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},contextMenu:{showOverdueSection:"\u671F\u9650\u5207\u308C\u30BB\u30AF\u30B7\u30E7\u30F3\u3092\u8868\u793A",showNotes:"\u30CE\u30FC\u30C8\u3092\u8868\u793A",calendarSubscriptions:"\u30AB\u30EC\u30F3\u30C0\u30FC\u8CFC\u8AAD"},periods:{thisWeek:"\u4ECA\u9031"},tipPrefix:"\u30D2\u30F3\u30C8\uFF1A"},taskList:{title:"\u30BF\u30B9\u30AF",expandAllGroups:"\u3059\u3079\u3066\u306E\u30B0\u30EB\u30FC\u30D7\u3092\u5C55\u958B",collapseAllGroups:"\u3059\u3079\u3066\u306E\u30B0\u30EB\u30FC\u30D7\u3092\u6298\u308A\u305F\u305F\u307F",noTasksFound:"\u9078\u629E\u3055\u308C\u305F\u30D5\u30A3\u30EB\u30BF\u30FC\u306B\u30BF\u30B9\u30AF\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002",reorder:{scope:{ungrouped:"\u3053\u306E\u672A\u30B0\u30EB\u30FC\u30D7\u5316\u30EA\u30B9\u30C8",group:'\u30B0\u30EB\u30FC\u30D7 "{group}"'}},errors:{formulaGroupingReadOnly:"\u6570\u5F0F\u30D9\u30FC\u30B9\u306E\u30B0\u30EB\u30FC\u30D7\u3067\u306F\u30BF\u30B9\u30AF\u3092\u4E26\u3079\u66FF\u3048\u3067\u304D\u307E\u305B\u3093\u3002\u6570\u5F0F\u306E\u5024\u306F\u8A08\u7B97\u7D50\u679C\u306E\u305F\u3081\u3001\u76F4\u63A5\u5909\u66F4\u3067\u304D\u307E\u305B\u3093\u3002"}},notes:{title:"\u30CE\u30FC\u30C8",refreshButton:"\u66F4\u65B0",refreshingButton:"\u66F4\u65B0\u4E2D...",notices:{indexingDisabled:"\u30CE\u30FC\u30C8\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u4F5C\u6210\u304C\u7121\u52B9\u306B\u306A\u3063\u3066\u3044\u307E\u3059"},empty:{noNotesFound:"\u30CE\u30FC\u30C8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F",helpText:"\u9078\u629E\u3055\u308C\u305F\u65E5\u4ED8\u306E\u30CE\u30FC\u30C8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\u30DF\u30CB\u30AB\u30EC\u30F3\u30C0\u30FC\u30D3\u30E5\u30FC\u3067\u5225\u306E\u65E5\u4ED8\u3092\u9078\u629E\u3059\u308B\u304B\u3001\u30CE\u30FC\u30C8\u3092\u4F5C\u6210\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},loading:"\u30CE\u30FC\u30C8\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D...",refreshButtonAriaLabel:"\u30CE\u30FC\u30C8\u30EA\u30B9\u30C8\u3092\u66F4\u65B0"},miniCalendar:{title:"\u30DF\u30CB\u30AB\u30EC\u30F3\u30C0\u30FC"},advancedCalendar:{title:"\u30AB\u30EC\u30F3\u30C0\u30FC",filters:{showFilters:"\u30D5\u30A3\u30EB\u30BF\u30FC\u3092\u8868\u793A",hideFilters:"\u30D5\u30A3\u30EB\u30BF\u30FC\u3092\u975E\u8868\u793A"},viewOptions:{calendarSubscriptions:"\u30AB\u30EC\u30F3\u30C0\u30FC\u8CFC\u8AAD",timeEntries:"\u6642\u9593\u30A8\u30F3\u30C8\u30EA",timeblocks:"\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF",scheduledDates:"\u4E88\u5B9A\u65E5",dueDates:"\u671F\u9650\u65E5",allDaySlot:"\u7D42\u65E5\u30B9\u30ED\u30C3\u30C8",scheduledTasks:"\u4E88\u5B9A\u30BF\u30B9\u30AF",recurringTasks:"\u7E70\u308A\u8FD4\u3057\u30BF\u30B9\u30AF"},buttons:{refresh:"\u66F4\u65B0",refreshHint:"\u30AB\u30EC\u30F3\u30C0\u30FC\u8CFC\u8AAD\u3092\u66F4\u65B0"},notices:{icsServiceNotAvailable:"ICS\u8CFC\u8AAD\u30B5\u30FC\u30D3\u30B9\u304C\u5229\u7528\u3067\u304D\u307E\u305B\u3093",calendarRefreshedAll:"\u3059\u3079\u3066\u306E\u30AB\u30EC\u30F3\u30C0\u30FC\u8CFC\u8AAD\u304C\u6B63\u5E38\u306B\u66F4\u65B0\u3055\u308C\u307E\u3057\u305F",refreshFailed:"\u4E00\u90E8\u306E\u30AB\u30EC\u30F3\u30C0\u30FC\u8CFC\u8AAD\u306E\u66F4\u65B0\u306B\u5931\u6557\u3057\u307E\u3057\u305F",timeblockSpecificTime:"\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u306B\u306F\u5177\u4F53\u7684\u306A\u6642\u9593\u304C\u5FC5\u8981\u3067\u3059\u3002\u9031\u8868\u793A\u307E\u305F\u306F\u65E5\u8868\u793A\u3067\u6642\u9593\u7BC4\u56F2\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",timeblockMoved:"\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u300C{title}\u300D\u3092{date}\u306B\u79FB\u52D5\u3057\u307E\u3057\u305F",timeblockUpdated:"\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u300C{title}\u300D\u306E\u6642\u9593\u3092\u66F4\u65B0\u3057\u307E\u3057\u305F",timeblockMoveFailed:"\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u306E\u79FB\u52D5\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF1A{message}",timeblockResized:"\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u300C{title}\u300D\u306E\u671F\u9593\u3092\u66F4\u65B0\u3057\u307E\u3057\u305F",timeblockResizeFailed:"\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u306E\u30B5\u30A4\u30BA\u5909\u66F4\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF1A{message}",taskScheduled:"\u30BF\u30B9\u30AF\u300C{title}\u300D\u3092{date}\u306B\u4E88\u5B9A\u3057\u307E\u3057\u305F",scheduleTaskFailed:"\u30BF\u30B9\u30AF\u306E\u4E88\u5B9A\u306B\u5931\u6557\u3057\u307E\u3057\u305F",endTimeAfterStart:"\u7D42\u4E86\u6642\u523B\u306F\u958B\u59CB\u6642\u523B\u3088\u308A\u5F8C\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059",timeEntryNotFound:"\u6642\u9593\u30A8\u30F3\u30C8\u30EA\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",timeEntryDeleted:"\u6642\u9593\u30A8\u30F3\u30C8\u30EA\u3092\u524A\u9664\u3057\u307E\u3057\u305F",deleteTimeEntryFailed:"\u6642\u9593\u30A8\u30F3\u30C8\u30EA\u306E\u524A\u9664\u306B\u5931\u6557\u3057\u307E\u3057\u305F"},timeEntry:{estimatedSuffix:"\u898B\u7A4D",trackedSuffix:"\u8A18\u9332",recurringPrefix:"\u7E70\u308A\u8FD4\u3057\uFF1A",completedPrefix:"\u5B8C\u4E86\uFF1A",createdPrefix:"\u4F5C\u6210\uFF1A",modifiedPrefix:"\u5909\u66F4\uFF1A",duePrefix:"\u671F\u9650\uFF1A",scheduledPrefix:"\u4E88\u5B9A\uFF1A"},contextMenus:{openTask:"\u30BF\u30B9\u30AF\u3092\u958B\u304F",deleteTimeEntry:"\u6642\u9593\u30A8\u30F3\u30C8\u30EA\u3092\u524A\u9664",deleteTimeEntryTitle:"\u6642\u9593\u30A8\u30F3\u30C8\u30EA\u3092\u524A\u9664",deleteTimeEntryConfirm:"\u3053\u306E\u6642\u9593\u30A8\u30F3\u30C8\u30EA{duration}\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B\uFF1F\u3053\u306E\u64CD\u4F5C\u306F\u5143\u306B\u623B\u305B\u307E\u305B\u3093\u3002",deleteButton:"\u524A\u9664",cancelButton:"\u30AD\u30E3\u30F3\u30BB\u30EB"}},basesCalendar:{title:"\u30D9\u30FC\u30B9\u30AB\u30EC\u30F3\u30C0\u30FC",today:"\u4ECA\u65E5",buttonText:{month:"\u6708",week:"\u9031",day:"\u65E5",year:"\u5E74",list:"\u4E00\u89A7",customDays:"{count}\u65E5",listDays:"{count}\u65E5\u4E00\u89A7",refresh:"\u66F4\u65B0"},hints:{refresh:"\u30AB\u30EC\u30F3\u30C0\u30FC\u8CFC\u8AAD\u3092\u66F4\u65B0",today:"\u4ECA\u65E5\u306B\u79FB\u52D5",prev:"\u524D\u3078",next:"\u6B21\u3078",month:"\u6708\u8868\u793A",week:"\u9031\u8868\u793A",day:"\u65E5\u8868\u793A",year:"\u5E74\u8868\u793A",list:"\u4E00\u89A7\u8868\u793A",customDays:"{count}\u65E5\u8868\u793A"},settings:{groups:{dateNavigation:"\u65E5\u4ED8\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3",events:"\u30A4\u30D9\u30F3\u30C8",layout:"\u30EC\u30A4\u30A2\u30A6\u30C8",propertyBasedEvents:"\u30D7\u30ED\u30D1\u30C6\u30A3\u30D9\u30FC\u30B9\u306E\u30A4\u30D9\u30F3\u30C8",calendarSubscriptions:"\u30AB\u30EC\u30F3\u30C0\u30FC\u8CFC\u8AAD",googleCalendars:"Google \u30AB\u30EC\u30F3\u30C0\u30FC",microsoftCalendars:"Microsoft \u30AB\u30EC\u30F3\u30C0\u30FC"},dateNavigation:{navigateToDate:"\u65E5\u4ED8\u306B\u79FB\u52D5",navigateToDatePlaceholder:"YYYY-MM-DD\uFF08\u4F8B\uFF1A2025-01-15\uFF09- \u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u4F7F\u7528\u3059\u308B\u5834\u5408\u306F\u7A7A\u306E\u307E\u307E\u306B\u3059\u308B",navigateToDateFromProperty:"\u30D7\u30ED\u30D1\u30C6\u30A3\u304B\u3089\u65E5\u4ED8\u306B\u79FB\u52D5",navigateToDateFromPropertyPlaceholder:"\u65E5\u4ED8\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u9078\u629E\uFF08\u30AA\u30D7\u30B7\u30E7\u30F3\uFF09",propertyNavigationStrategy:"\u30D7\u30ED\u30D1\u30C6\u30A3\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u6226\u7565",strategies:{first:"\u6700\u521D\u306E\u7D50\u679C",earliest:"\u6700\u3082\u53E4\u3044\u65E5\u4ED8",latest:"\u6700\u65B0\u306E\u65E5\u4ED8"}},events:{showScheduledTasks:"\u4E88\u5B9A\u3055\u308C\u305F\u30BF\u30B9\u30AF\u3092\u8868\u793A",showDueTasks:"\u671F\u9650\u306E\u3042\u308B\u30BF\u30B9\u30AF\u3092\u8868\u793A",showRecurringTasks:"\u7E70\u308A\u8FD4\u3057\u30BF\u30B9\u30AF\u3092\u8868\u793A",showTimeEntries:"\u6642\u9593\u30A8\u30F3\u30C8\u30EA\u3092\u8868\u793A",showTimeblocks:"\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u3092\u8868\u793A",showPropertyBasedEvents:"\u30D7\u30ED\u30D1\u30C6\u30A3\u30D9\u30FC\u30B9\u306E\u30A4\u30D9\u30F3\u30C8\u3092\u8868\u793A"},layout:{calendarView:"\u30AB\u30EC\u30F3\u30C0\u30FC\u30D3\u30E5\u30FC",customDayCount:"\u30AB\u30B9\u30BF\u30E0\u65E5\u6570",listDayCount:"\u4E00\u89A7\u8868\u793A\u65E5\u6570",dayStartTime:"1\u65E5\u306E\u958B\u59CB\u6642\u523B",dayStartTimePlaceholder:"HH:mm:ss\uFF08\u4F8B\uFF1A08:00:00\uFF09",dayEndTime:"1\u65E5\u306E\u7D42\u4E86\u6642\u523B",dayEndTimePlaceholder:"HH:mm:ss\uFF08\u4F8B\uFF1A20:00:00\uFF09",timeSlotDuration:"\u30BF\u30A4\u30E0\u30B9\u30ED\u30C3\u30C8\u671F\u9593",timeSlotDurationPlaceholder:"HH:mm:ss\uFF08\u4F8B\uFF1A00:30:00\uFF09",weekStartsOn:"\u9031\u306E\u958B\u59CB\u66DC\u65E5",showWeekNumbers:"\u9031\u756A\u53F7\u3092\u8868\u793A",showNowIndicator:"\u73FE\u5728\u306E\u6642\u523B\u30A4\u30F3\u30B8\u30B1\u30FC\u30BF\u3092\u8868\u793A",showWeekends:"\u9031\u672B\u3092\u8868\u793A",showAllDaySlot:"\u7D42\u65E5\u30B9\u30ED\u30C3\u30C8\u3092\u8868\u793A",showTodayHighlight:"\u4ECA\u65E5\u3092\u30CF\u30A4\u30E9\u30A4\u30C8",todayColumnWidthMultiplier:"\u4ECA\u65E5\u5217\u306E\u5E45\u500D\u7387",showSelectionPreview:"\u9078\u629E\u30D7\u30EC\u30D3\u30E5\u30FC\u3092\u8868\u793A",timeFormat:"\u6642\u523B\u5F62\u5F0F",timeFormat12:"12\u6642\u9593\u5236\uFF08AM/PM\uFF09",timeFormat24:"24\u6642\u9593\u5236",initialScrollTime:"\u521D\u671F\u30B9\u30AF\u30ED\u30FC\u30EB\u6642\u523B",initialScrollTimePlaceholder:"HH:mm:ss\uFF08\u4F8B\uFF1A08:00:00\uFF09",minimumEventHeight:"\u6700\u5C0F\u30A4\u30D9\u30F3\u30C8\u9AD8\u3055\uFF08px\uFF09",slotEventOverlap:"\u30A4\u30D9\u30F3\u30C8\u306E\u91CD\u306A\u308A\u3092\u8A31\u53EF",enableSearch:"\u691C\u7D22\u30DC\u30C3\u30AF\u30B9\u3092\u6709\u52B9\u5316",eventMaxStack:"\u6700\u5927\u30B9\u30BF\u30C3\u30AF\u30A4\u30D9\u30F3\u30C8\u6570\uFF08\u9031/\u65E5\u8868\u793A\u30010 = \u7121\u5236\u9650\uFF09",dayMaxEvents:"1\u65E5\u3042\u305F\u308A\u306E\u6700\u5927\u30A4\u30D9\u30F3\u30C8\u6570\uFF08\u6708\u8868\u793A\u30010 = \u81EA\u52D5\uFF09",dayMaxEventRows:"1\u65E5\u3042\u305F\u308A\u306E\u6700\u5927\u30A4\u30D9\u30F3\u30C8\u884C\u6570\uFF08\u6708\u8868\u793A\u30010 = \u7121\u5236\u9650\uFF09",spanScheduledToDue:"\u4E88\u5B9A\u65E5\u304B\u3089\u671F\u65E5\u307E\u3067\u30BF\u30B9\u30AF\u3092\u5EF6\u9577\u8868\u793A"},propertyBasedEvents:{startDateProperty:"\u958B\u59CB\u65E5\u30D7\u30ED\u30D1\u30C6\u30A3",startDatePropertyPlaceholder:"\u958B\u59CB\u65E5\u6642\u306E\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u9078\u629E",endDateProperty:"\u7D42\u4E86\u65E5\u30D7\u30ED\u30D1\u30C6\u30A3\uFF08\u30AA\u30D7\u30B7\u30E7\u30F3\uFF09",endDatePropertyPlaceholder:"\u7D42\u4E86\u65E5\u6642\u306E\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u9078\u629E",titleProperty:"\u30BF\u30A4\u30C8\u30EB\u30D7\u30ED\u30D1\u30C6\u30A3\uFF08\u30AA\u30D7\u30B7\u30E7\u30F3\uFF09",titlePropertyPlaceholder:"\u30A4\u30D9\u30F3\u30C8\u30BF\u30A4\u30C8\u30EB\u306E\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u9078\u629E"}},errors:{failedToInitialize:"\u30AB\u30EC\u30F3\u30C0\u30FC\u306E\u521D\u671F\u5316\u306B\u5931\u6557\u3057\u307E\u3057\u305F"}},kanban:{title:"\u30AB\u30F3\u30D0\u30F3",newTask:"\u65B0\u3057\u3044\u30BF\u30B9\u30AF",addCard:"+ \u30AB\u30FC\u30C9\u3092\u8FFD\u52A0",noTasks:"\u30BF\u30B9\u30AF\u306A\u3057",uncategorized:"\u672A\u5206\u985E",noProject:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306A\u3057",reorder:{scope:{column:'\u5217 "{group}"',columnInSwimlane:'\u30B9\u30A4\u30E0\u30EC\u30FC\u30F3 "{swimlane}" \u306E\u5217 "{group}"'}},notices:{loadFailed:"\u30AB\u30F3\u30D0\u30F3\u30DC\u30FC\u30C9\u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F",movedTask:'\u30BF\u30B9\u30AF\u3092"{0}"\u306B\u79FB\u52D5\u3057\u307E\u3057\u305F'},errors:{loadingBoard:"\u30DC\u30FC\u30C9\u306E\u8AAD\u307F\u8FBC\u307F\u30A8\u30E9\u30FC\u3002",noGroupBy:"\u30AB\u30F3\u30D0\u30F3\u30D3\u30E5\u30FC\u306B\u306F\u300C\u30B0\u30EB\u30FC\u30D7\u5316\u300D\u30D7\u30ED\u30D1\u30C6\u30A3\u306E\u8A2D\u5B9A\u304C\u5FC5\u8981\u3067\u3059\u3002\u300C\u4E26\u3073\u66FF\u3048\u300D\u30DC\u30BF\u30F3\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3001\u300C\u30B0\u30EB\u30FC\u30D7\u5316\u300D\u3067\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",formulaGroupingReadOnly:"\u6570\u5F0F\u30D9\u30FC\u30B9\u306E\u5217\u9593\u3067\u30BF\u30B9\u30AF\u3092\u79FB\u52D5\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\u6570\u5F0F\u306E\u5024\u306F\u8A08\u7B97\u3055\u308C\u308B\u305F\u3081\u3001\u76F4\u63A5\u5909\u66F4\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002",formulaSwimlaneReadOnly:"\u6570\u5F0F\u30D9\u30FC\u30B9\u306E\u30B9\u30A4\u30E0\u30EC\u30FC\u30F3\u9593\u3067\u30BF\u30B9\u30AF\u3092\u79FB\u52D5\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\u6570\u5F0F\u306E\u5024\u306F\u8A08\u7B97\u3055\u308C\u308B\u305F\u3081\u3001\u76F4\u63A5\u5909\u66F4\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002"},columnTitle:"\u7121\u984C"},pomodoro:{title:"\u30DD\u30E2\u30C9\u30FC\u30ED",status:{focus:"\u30D5\u30A9\u30FC\u30AB\u30B9",ready:"\u958B\u59CB\u6E96\u5099\u5B8C\u4E86",paused:"\u4E00\u6642\u505C\u6B62",working:"\u4F5C\u696D\u4E2D",shortBreak:"\u77ED\u3044\u4F11\u61A9",longBreak:"\u9577\u3044\u4F11\u61A9",breakPrompt:"\u7D20\u6674\u3089\u3057\u3044\u4ED5\u4E8B\u3067\u3059\uFF01{length}\u4F11\u61A9\u306E\u6642\u9593\u3067\u3059",breakLength:{short:"\u77ED\u3044",long:"\u9577\u3044"},breakComplete:"\u4F11\u61A9\u5B8C\u4E86\uFF01\u6B21\u306E\u30DD\u30E2\u30C9\u30FC\u30ED\u306E\u6E96\u5099\u306F\u3067\u304D\u307E\u3057\u305F\u304B\uFF1F"},buttons:{start:"\u958B\u59CB",pause:"\u4E00\u6642\u505C\u6B62",stop:"\u505C\u6B62",resume:"\u518D\u958B",startShortBreak:"\u77ED\u3044\u4F11\u61A9\u3092\u958B\u59CB",startLongBreak:"\u9577\u3044\u4F11\u61A9\u3092\u958B\u59CB",skipBreak:"\u4F11\u61A9\u3092\u30B9\u30AD\u30C3\u30D7",chooseTask:"\u30BF\u30B9\u30AF\u3092\u9078\u629E...",changeTask:"\u30BF\u30B9\u30AF\u3092\u5909\u66F4...",clearTask:"\u30BF\u30B9\u30AF\u3092\u30AF\u30EA\u30A2",selectDifferentTask:"\u5225\u306E\u30BF\u30B9\u30AF\u3092\u9078\u629E"},notices:{noTasks:"\u30A2\u30FC\u30AB\u30A4\u30D6\u3055\u308C\u3066\u3044\u306A\u3044\u30BF\u30B9\u30AF\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\u6700\u521D\u306B\u30BF\u30B9\u30AF\u3092\u4F5C\u6210\u3057\u3066\u304F\u3060\u3055\u3044\u3002",loadFailed:"\u30BF\u30B9\u30AF\u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F"},statsLabel:"\u4ECA\u65E5\u5B8C\u4E86"},pomodoroStats:{title:"\u30DD\u30E2\u30C9\u30FC\u30ED\u7D71\u8A08",heading:"\u30DD\u30E2\u30C9\u30FC\u30ED\u7D71\u8A08",refresh:"\u66F4\u65B0",sections:{overview:"\u6982\u8981",today:"\u4ECA\u65E5",week:"\u4ECA\u9031",allTime:"\u5168\u671F\u9593",recent:"\u6700\u8FD1\u306E\u30BB\u30C3\u30B7\u30E7\u30F3"},overviewCards:{todayPomos:{label:"\u4ECA\u65E5\u306E\u30DD\u30E2",change:{more:"\u6628\u65E5\u3088\u308A{count}\u591A\u3044",less:"\u6628\u65E5\u3088\u308A{count}\u5C11\u306A\u3044"}},totalPomos:{label:"\u7DCF\u30DD\u30E2\u6570"},todayFocus:{label:"\u4ECA\u65E5\u306E\u30D5\u30A9\u30FC\u30AB\u30B9",change:{more:"\u6628\u65E5\u3088\u308A{duration}\u591A\u3044",less:"\u6628\u65E5\u3088\u308A{duration}\u5C11\u306A\u3044"}},totalFocus:{label:"\u7DCF\u30D5\u30A9\u30FC\u30AB\u30B9\u6642\u9593"}},stats:{pomodoros:"\u30DD\u30E2\u30C9\u30FC\u30ED",streak:"\u9023\u7D9A\u8A18\u9332",minutes:"\u5206",average:"\u5E73\u5747\u9577\u3055",completion:"\u5B8C\u4E86"},recents:{empty:"\u307E\u3060\u30BB\u30C3\u30B7\u30E7\u30F3\u304C\u8A18\u9332\u3055\u308C\u3066\u3044\u307E\u305B\u3093",duration:"{minutes}\u5206",status:{completed:"\u5B8C\u4E86",interrupted:"\u4E2D\u65AD"}}},stats:{title:"\u7D71\u8A08",taskProjectStats:"\u30BF\u30B9\u30AF\u3068\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u7D71\u8A08",sections:{filters:"\u30D5\u30A3\u30EB\u30BF\u30FC",overview:"\u6982\u8981",today:"\u4ECA\u65E5",thisWeek:"\u4ECA\u9031",thisMonth:"\u4ECA\u6708",projectBreakdown:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5185\u8A33",dateRange:"\u65E5\u4ED8\u7BC4\u56F2"},filters:{minTime:"\u6700\u5C0F\u6642\u9593\uFF08\u5206\uFF09",allTasks:"\u3059\u3079\u3066\u306E\u30BF\u30B9\u30AF",activeOnly:"\u30A2\u30AF\u30C6\u30A3\u30D6\u306E\u307F",completedOnly:"\u5B8C\u4E86\u306E\u307F"},refreshButton:"\u66F4\u65B0",timeRanges:{allTime:"\u5168\u671F\u9593",last7Days:"\u904E\u53BB7\u65E5\u9593",last30Days:"\u904E\u53BB30\u65E5\u9593",last90Days:"\u904E\u53BB90\u65E5\u9593",customRange:"\u30AB\u30B9\u30BF\u30E0\u7BC4\u56F2"},resetFiltersButton:"\u30D5\u30A3\u30EB\u30BF\u30FC\u3092\u30EA\u30BB\u30C3\u30C8",dateRangeFrom:"\u958B\u59CB",dateRangeTo:"\u7D42\u4E86",noProject:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306A\u3057",cards:{timeTrackedEstimated:"\u8FFD\u8DE1\u6642\u9593 / \u898B\u7A4D\u6642\u9593",totalTasks:"\u7DCF\u30BF\u30B9\u30AF\u6570",completionRate:"\u5B8C\u4E86\u7387",activeProjects:"\u30A2\u30AF\u30C6\u30A3\u30D6\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8",avgTimePerTask:"\u30BF\u30B9\u30AF\u3042\u305F\u308A\u306E\u5E73\u5747\u6642\u9593"},labels:{tasks:"\u30BF\u30B9\u30AF",completed:"\u5B8C\u4E86",projects:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8"},noProjectData:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C7\u30FC\u30BF\u304C\u3042\u308A\u307E\u305B\u3093",notAvailable:"N/A",noTasks:"\u30BF\u30B9\u30AF\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",loading:"\u8AAD\u307F\u8FBC\u307F\u4E2D..."},releaseNotes:{title:"TaskNotes {version} \u306E\u65B0\u6A5F\u80FD",header:"TaskNotes {version} \u306E\u65B0\u6A5F\u80FD",viewAllLink:"GitHub\u3067\u3059\u3079\u3066\u306E\u30EA\u30EA\u30FC\u30B9\u30CE\u30FC\u30C8\u3092\u8868\u793A \u2192",starMessage:"TaskNotes\u304C\u5F79\u306B\u7ACB\u3063\u305F\u3089\u3001GitHub\u3067\u30B9\u30BF\u30FC\u3092\u304A\u9858\u3044\u3057\u307E\u3059",baseFilesNotice:"> [!info] \u30C7\u30D5\u30A9\u30EB\u30C8\u306E `.base` \u30D5\u30A1\u30A4\u30EB\u306B\u3064\u3044\u3066\n> \u30C7\u30D5\u30A9\u30EB\u30C8\u3067\u751F\u6210\u3055\u308C\u308B `.base` \u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u5909\u66F4\u3067\u3001\u65E2\u5B58\u306E `.base` \u30D5\u30A1\u30A4\u30EB\u304C\u4E0A\u66F8\u304D\u3055\u308C\u308B\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA\u306F\u305D\u306E\u307E\u307E\u4FDD\u6301\u3055\u308C\u307E\u3059\u3002\n> \u6700\u65B0\u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u6539\u5584\u3092\u53CD\u6620\u3057\u305F\u3044\u5834\u5408\u306F\u3001**\u8A2D\u5B9A \u2192 TaskNotes \u2192 \u4E00\u822C \u2192 \u30D5\u30A1\u30A4\u30EB\u3092\u4F5C\u6210** \u304B\u3089\u30D9\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u6210\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}},settings:{header:{documentation:"\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8",documentationUrl:"https://tasknotes.dev"},tabs:{general:"\u4E00\u822C",taskProperties:"\u30BF\u30B9\u30AF\u30D7\u30ED\u30D1\u30C6\u30A3",modalFields:"\u30E2\u30FC\u30C0\u30EB\u30D5\u30A3\u30FC\u30EB\u30C9",defaults:"\u30C7\u30D5\u30A9\u30EB\u30C8\u3068\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8",appearance:"\u5916\u89B3\u3068UI",features:"\u6A5F\u80FD",integrations:"\u7D71\u5408"},features:{inlineTasks:{header:"\u30A4\u30F3\u30E9\u30A4\u30F3\u30BF\u30B9\u30AF",description:"\u30CE\u30FC\u30C8\u5185\u306E\u30BF\u30B9\u30AF\u30EA\u30F3\u30AF\u3068\u30C1\u30A7\u30C3\u30AF\u30DC\u30C3\u30AF\u30B9\u304B\u3089\u30BF\u30B9\u30AF\u3078\u306E\u5909\u63DB\u306E\u8A2D\u5B9A\u3002"},overlays:{taskLinkToggle:{name:"\u30BF\u30B9\u30AF\u30EA\u30F3\u30AF\u30AA\u30FC\u30D0\u30FC\u30EC\u30A4",description:"\u30BF\u30B9\u30AF\u30EA\u30F3\u30AF\u306B\u30DB\u30D0\u30FC\u3057\u305F\u969B\u306E\u30A4\u30F3\u30BF\u30E9\u30AF\u30C6\u30A3\u30D6\u30AA\u30FC\u30D0\u30FC\u30EC\u30A4\u3092\u8868\u793A"},aliasExclusion:{name:"\u30A8\u30A4\u30EA\u30A2\u30B9\u4ED8\u304D\u30EA\u30F3\u30AF\u3067\u30AA\u30FC\u30D0\u30FC\u30EC\u30A4\u3092\u7121\u52B9\u5316",description:"\u30EA\u30F3\u30AF\u306B\u30A8\u30A4\u30EA\u30A2\u30B9\u304C\u542B\u307E\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u30BF\u30B9\u30AF\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u3092\u8868\u793A\u3057\u306A\u3044\uFF08\u4F8B: [[\u30BF\u30B9\u30AF|\u30A8\u30A4\u30EA\u30A2\u30B9]]\uFF09\u3002"}},instantConvert:{toggle:{name:"\u30C1\u30A7\u30C3\u30AF\u30DC\u30C3\u30AF\u30B9\u306E\u6A2A\u306B\u5909\u63DB\u30DC\u30BF\u30F3\u3092\u8868\u793A",description:"Markdown\u30C1\u30A7\u30C3\u30AF\u30DC\u30C3\u30AF\u30B9\u3092TaskNotes\u306B\u5909\u63DB\u3059\u308B\u30A4\u30F3\u30E9\u30A4\u30F3\u30DC\u30BF\u30F3\u3092\u8868\u793A\u3059\u308B"},folder:{name:"\u5909\u63DB\u3055\u308C\u305F\u30BF\u30B9\u30AF\u306E\u30D5\u30A9\u30EB\u30C0\u30FC",description:"\u30C1\u30A7\u30C3\u30AF\u30DC\u30C3\u30AF\u30B9\u304B\u3089\u5909\u63DB\u3055\u308C\u305F\u30BF\u30B9\u30AF\u304C\u4F5C\u6210\u3055\u308C\u308B\u30D5\u30A9\u30EB\u30C0\u30FC\u3002\u7A7A\u767D\u306E\u307E\u307E\u306B\u3059\u308B\u3068\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30BF\u30B9\u30AF\u30D5\u30A9\u30EB\u30C0\u30FC\u304C\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002{{currentNotePath}}\u3067\u73FE\u5728\u306E\u30CE\u30FC\u30C8\u306E\u30D5\u30A9\u30EB\u30C0\u30FC\u3001{{currentNoteTitle}}\u3067\u30CE\u30FC\u30C8\u306E\u30BF\u30A4\u30C8\u30EB\u3092\u6301\u3064\u30B5\u30D6\u30D5\u30A9\u30EB\u30C0\u30FC\u3092\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002"}},nlp:{header:"\u81EA\u7136\u8A00\u8A9E\u51E6\u7406",description:"\u30C6\u30AD\u30B9\u30C8\u5165\u529B\u304B\u3089\u65E5\u4ED8\u3001\u512A\u5148\u5EA6\u3001\u305D\u306E\u4ED6\u306E\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u89E3\u6790\u3057\u307E\u3059\u3002",enable:{name:"\u81EA\u7136\u8A00\u8A9E\u30BF\u30B9\u30AF\u5165\u529B\u3092\u6709\u52B9\u306B\u3059\u308B",description:"\u30BF\u30B9\u30AF\u4F5C\u6210\u6642\u306B\u81EA\u7136\u8A00\u8A9E\u304B\u3089\u671F\u9650\u65E5\u3001\u512A\u5148\u5EA6\u3001\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u89E3\u6790"},defaultToScheduled:{name:"\u30C7\u30D5\u30A9\u30EB\u30C8\u3067\u4E88\u5B9A\u306B\u8A2D\u5B9A",description:"NLP\u304C\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u306A\u3057\u3067\u65E5\u4ED8\u3092\u691C\u51FA\u3057\u305F\u5834\u5408\u3001\u671F\u9650\u3067\u306F\u306A\u304F\u4E88\u5B9A\u3068\u3057\u3066\u6271\u3046"},language:{name:"NLP\u8A00\u8A9E",description:"\u81EA\u7136\u8A00\u8A9E\u51E6\u7406\u30D1\u30BF\u30FC\u30F3\u3068\u65E5\u4ED8\u89E3\u6790\u306E\u8A00\u8A9E"},statusTrigger:{name:"\u30B9\u30C6\u30FC\u30BF\u30B9\u63D0\u6848\u30C8\u30EA\u30AC\u30FC",description:"\u30B9\u30C6\u30FC\u30BF\u30B9\u63D0\u6848\u3092\u30C8\u30EA\u30AC\u30FC\u3059\u308B\u30C6\u30AD\u30B9\u30C8\uFF08\u7121\u52B9\u306B\u3059\u308B\u306B\u306F\u7A7A\u767D\u306E\u307E\u307E\u306B\u3059\u308B\uFF09"}},pomodoro:{header:"\u30DD\u30E2\u30C9\u30FC\u30ED\u30BF\u30A4\u30DE\u30FC",description:"\u30DD\u30E2\u30C9\u30FC\u30ED\u30BF\u30A4\u30DE\u30FC\u306E\u4F5C\u696D/\u4F11\u61A9\u9593\u9694\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002",workDuration:{name:"\u4F5C\u696D\u6642\u9593",description:"\u4F5C\u696D\u9593\u9694\u306E\u6642\u9593\uFF08\u5206\uFF09"},shortBreak:{name:"\u77ED\u3044\u4F11\u61A9\u6642\u9593",description:"\u77ED\u3044\u4F11\u61A9\u306E\u6642\u9593\uFF08\u5206\uFF09"},longBreak:{name:"\u9577\u3044\u4F11\u61A9\u6642\u9593",description:"\u9577\u3044\u4F11\u61A9\u306E\u6642\u9593\uFF08\u5206\uFF09"},longBreakInterval:{name:"\u9577\u3044\u4F11\u61A9\u9593\u9694",description:"\u9577\u3044\u4F11\u61A9\u524D\u306E\u4F5C\u696D\u30BB\u30C3\u30B7\u30E7\u30F3\u6570"},autoStartBreaks:{name:"\u81EA\u52D5\u4F11\u61A9\u958B\u59CB",description:"\u4F5C\u696D\u30BB\u30C3\u30B7\u30E7\u30F3\u5F8C\u306B\u4F11\u61A9\u30BF\u30A4\u30DE\u30FC\u3092\u81EA\u52D5\u958B\u59CB"},autoStartWork:{name:"\u81EA\u52D5\u4F5C\u696D\u958B\u59CB",description:"\u4F11\u61A9\u5F8C\u306B\u4F5C\u696D\u30BB\u30C3\u30B7\u30E7\u30F3\u3092\u81EA\u52D5\u958B\u59CB"},notifications:{name:"\u30DD\u30E2\u30C9\u30FC\u30ED\u901A\u77E5",description:"\u30DD\u30E2\u30C9\u30FC\u30ED\u30BB\u30C3\u30B7\u30E7\u30F3\u7D42\u4E86\u6642\u306B\u901A\u77E5\u3092\u8868\u793A"},mobileSidebar:{name:"\u30E2\u30D0\u30A4\u30EB\u30B5\u30A4\u30C9\u30D0\u30FC",description:"\u30E2\u30D0\u30A4\u30EB\u30C7\u30D0\u30A4\u30B9\u3067\u30DD\u30E2\u30C9\u30FC\u30ED\u30BF\u30A4\u30DE\u30FC\u3092\u958B\u304F\u5834\u6240",tab:"\u30CE\u30FC\u30C8\u30D1\u30CD\u30EB",left:"\u5DE6\u30B5\u30A4\u30C9\u30D0\u30FC",right:"\u53F3\u30B5\u30A4\u30C9\u30D0\u30FC"}},uiLanguage:{header:"\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30FC\u30B9\u8A00\u8A9E",description:"TaskNotes\u306E\u30E1\u30CB\u30E5\u30FC\u3001\u901A\u77E5\u3001\u30D3\u30E5\u30FC\u306E\u8A00\u8A9E\u3092\u5909\u66F4\u3057\u307E\u3059\u3002",dropdown:{name:"UI\u8A00\u8A9E",description:"TaskNotes\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30FC\u30B9\u30C6\u30AD\u30B9\u30C8\u306B\u4F7F\u7528\u3059\u308B\u8A00\u8A9E\u3092\u9078\u629E"}},pomodoroSound:{enabledName:"\u30B5\u30A6\u30F3\u30C9\u6709\u52B9",enabledDesc:"\u30DD\u30E2\u30C9\u30FC\u30ED\u30BB\u30C3\u30B7\u30E7\u30F3\u7D42\u4E86\u6642\u306B\u30B5\u30A6\u30F3\u30C9\u3092\u518D\u751F",volumeName:"\u30B5\u30A6\u30F3\u30C9\u97F3\u91CF",volumeDesc:"\u30DD\u30E2\u30C9\u30FC\u30ED\u30B5\u30A6\u30F3\u30C9\u306E\u97F3\u91CF\uFF080-100\uFF09"},dataStorage:{name:"\u30DD\u30E2\u30C9\u30FC\u30ED\u30C7\u30FC\u30BF\u30B9\u30C8\u30EC\u30FC\u30B8",description:"\u30DD\u30E2\u30C9\u30FC\u30ED\u30BB\u30C3\u30B7\u30E7\u30F3\u30C7\u30FC\u30BF\u306E\u4FDD\u5B58\u5834\u6240\u3068\u7BA1\u7406\u65B9\u6CD5\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002",dailyNotes:"\u30C7\u30A4\u30EA\u30FC\u30CE\u30FC\u30C8",pluginData:"\u30D7\u30E9\u30B0\u30A4\u30F3\u30C7\u30FC\u30BF",notices:{locationChanged:"\u30DD\u30E2\u30C9\u30FC\u30ED\u30B9\u30C8\u30EC\u30FC\u30B8\u5834\u6240\u3092{location}\u306B\u5909\u66F4\u3057\u307E\u3057\u305F"}},notifications:{header:"\u901A\u77E5",description:"\u30BF\u30B9\u30AF\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u901A\u77E5\u3068\u30A2\u30E9\u30FC\u30C8\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002",enableName:"\u901A\u77E5\u3092\u6709\u52B9\u306B\u3059\u308B",enableDesc:"\u30BF\u30B9\u30AF\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u901A\u77E5\u3092\u6709\u52B9\u306B\u3059\u308B",typeName:"\u901A\u77E5\u30BF\u30A4\u30D7",typeDesc:"\u8868\u793A\u3059\u308B\u901A\u77E5\u306E\u30BF\u30A4\u30D7",systemLabel:"\u30B7\u30B9\u30C6\u30E0\u901A\u77E5",inAppLabel:"\u30A2\u30D7\u30EA\u5185\u901A\u77E5"},overdue:{hideCompletedName:"\u671F\u9650\u5207\u308C\u304B\u3089\u5B8C\u4E86\u30BF\u30B9\u30AF\u3092\u975E\u8868\u793A",hideCompletedDesc:"\u671F\u9650\u5207\u308C\u30BF\u30B9\u30AF\u8A08\u7B97\u304B\u3089\u5B8C\u4E86\u30BF\u30B9\u30AF\u3092\u9664\u5916"},indexing:{disableName:"\u30CE\u30FC\u30C8\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u4F5C\u6210\u3092\u7121\u52B9\u306B\u3059\u308B",disableDesc:"\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u5411\u4E0A\u306E\u305F\u3081\u30CE\u30FC\u30C8\u30B3\u30F3\u30C6\u30F3\u30C4\u306E\u81EA\u52D5\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u4F5C\u6210\u3092\u7121\u52B9\u306B\u3059\u308B"},suggestions:{debounceName:"\u63D0\u6848\u30C7\u30D0\u30A6\u30F3\u30B9",debounceDesc:"\u63D0\u6848\u3092\u8868\u793A\u3059\u308B\u524D\u306E\u9045\u5EF6\uFF08\u30DF\u30EA\u79D2\uFF09"},timeTracking:{autoStopName:"\u6642\u9593\u8FFD\u8DE1\u306E\u81EA\u52D5\u505C\u6B62",autoStopDesc:"\u30BF\u30B9\u30AF\u304C\u5B8C\u4E86\u3068\u30DE\u30FC\u30AF\u3055\u308C\u305F\u3068\u304D\u306B\u6642\u9593\u8FFD\u8DE1\u3092\u81EA\u52D5\u505C\u6B62",stopNotificationName:"\u6642\u9593\u8FFD\u8DE1\u505C\u6B62\u901A\u77E5",stopNotificationDesc:"\u6642\u9593\u8FFD\u8DE1\u304C\u81EA\u52D5\u505C\u6B62\u3055\u308C\u305F\u3068\u304D\u306B\u901A\u77E5\u3092\u8868\u793A"},recurring:{maintainOffsetName:"\u7E70\u308A\u8FD4\u3057\u30BF\u30B9\u30AF\u3067\u671F\u9650\u65E5\u30AA\u30D5\u30BB\u30C3\u30C8\u3092\u7DAD\u6301",maintainOffsetDesc:"\u7E70\u308A\u8FD4\u3057\u30BF\u30B9\u30AF\u304C\u5B8C\u4E86\u3057\u305F\u3068\u304D\u306B\u671F\u9650\u65E5\u3068\u4E88\u5B9A\u65E5\u306E\u9593\u306E\u30AA\u30D5\u30BB\u30C3\u30C8\u3092\u4FDD\u6301",resetCheckboxesName:"\u7E70\u308A\u8FD4\u3057\u6642\u306B\u30C1\u30A7\u30C3\u30AF\u30DC\u30C3\u30AF\u30B9\u3092\u30EA\u30BB\u30C3\u30C8",resetCheckboxesDesc:"\u7E70\u308A\u8FD4\u3057\u30BF\u30B9\u30AF\u304C\u5B8C\u4E86\u3057\u3066\u518D\u30B9\u30B1\u30B8\u30E5\u30FC\u30EB\u3055\u308C\u305F\u3068\u304D\u306B\u3001\u30BF\u30B9\u30AF\u672C\u6587\u306E\u3059\u3079\u3066\u306Emarkdown\u30C1\u30A7\u30C3\u30AF\u30DC\u30C3\u30AF\u30B9\u3092\u30EA\u30BB\u30C3\u30C8"},timeblocking:{header:"\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AD\u30F3\u30B0",description:"\u30C7\u30A4\u30EA\u30FC\u30CE\u30FC\u30C8\u3067\u306E\u8EFD\u91CF\u30B9\u30B1\u30B8\u30E5\u30FC\u30EA\u30F3\u30B0\u306E\u305F\u3081\u306E\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u6A5F\u80FD\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002\u30AB\u30EC\u30F3\u30C0\u30FC\u30D3\u30E5\u30FC\u3067\u30C9\u30E9\u30C3\u30B0\u3057\u3066\u30A4\u30D9\u30F3\u30C8\u3092\u4F5C\u6210 - \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30E1\u30CB\u30E5\u30FC\u304B\u3089'\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF'\u3092\u9078\u629E\u3057\u307E\u3059\u3002",enableName:"\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AD\u30F3\u30B0\u3092\u6709\u52B9\u306B\u3059\u308B",enableDesc:"\u30C7\u30A4\u30EA\u30FC\u30CE\u30FC\u30C8\u3067\u306E\u8EFD\u91CF\u30B9\u30B1\u30B8\u30E5\u30FC\u30EA\u30F3\u30B0\u306E\u305F\u3081\u306E\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u6A5F\u80FD\u3092\u6709\u52B9\u306B\u3059\u308B\u3002\u6709\u52B9\u306B\u3059\u308B\u3068\u3001\u30AB\u30EC\u30F3\u30C0\u30FC\u306E\u30C9\u30E9\u30C3\u30B0\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30E1\u30CB\u30E5\u30FC\u306B'\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF'\u30AA\u30D7\u30B7\u30E7\u30F3\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002",showBlocksName:"\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u3092\u8868\u793A",showBlocksDesc:"\u30C7\u30A4\u30EA\u30FC\u30CE\u30FC\u30C8\u304B\u3089\u306E\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u3067\u8868\u793A",defaultColorName:"\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u8272",defaultColorDesc:"\u65B0\u3057\u3044\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u4F5C\u6210\u6642\u306B\u4F7F\u7528\u3055\u308C\u308B\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u8272",usage:"\u4F7F\u7528\u65B9\u6CD5\uFF1A\u30AB\u30EC\u30F3\u30C0\u30FC\u3067\u30C9\u30E9\u30C3\u30B0\u3057\u3066\u30A4\u30D9\u30F3\u30C8\u3092\u4F5C\u6210\u3057\u307E\u3059\u3002\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30E1\u30CB\u30E5\u30FC\u304B\u3089'\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF'\u3092\u9078\u629E\u3057\u307E\u3059\uFF08\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AD\u30F3\u30B0\u304C\u6709\u52B9\u306A\u5834\u5408\u306E\u307F\u8868\u793A\u3055\u308C\u307E\u3059\uFF09\u3002\u30C9\u30E9\u30C3\u30B0\u3057\u3066\u65E2\u5B58\u306E\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u3092\u79FB\u52D5\u3057\u307E\u3059\u3002\u7AEF\u3092\u8ABF\u6574\u3057\u3066\u6642\u9593\u3092\u5909\u66F4\u3057\u307E\u3059\u3002"},performance:{header:"\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u3068\u52D5\u4F5C",description:"\u30D7\u30E9\u30B0\u30A4\u30F3\u306E\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u3068\u52D5\u4F5C\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002"},timeTrackingSection:{header:"\u6642\u9593\u8FFD\u8DE1",description:"\u81EA\u52D5\u6642\u9593\u8FFD\u8DE1\u306E\u52D5\u4F5C\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002"},recurringSection:{header:"\u7E70\u308A\u8FD4\u3057\u30BF\u30B9\u30AF",description:"\u7E70\u308A\u8FD4\u3057\u30BF\u30B9\u30AF\u7BA1\u7406\u306E\u52D5\u4F5C\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002"},debugLogging:{header:"\u30C7\u30D0\u30C3\u30B0\u30ED\u30B0",description:"\u30C8\u30E9\u30D6\u30EB\u30B7\u30E5\u30FC\u30C6\u30A3\u30F3\u30B0\u306E\u305F\u3081\u306B\u30C7\u30D0\u30C3\u30B0\u30ED\u30B0\u51FA\u529B\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002",enableName:"\u30C7\u30D0\u30C3\u30B0\u30ED\u30B0\u3092\u6709\u52B9\u5316",enableDesc:"\u30C9\u30E9\u30C3\u30B0\u30FB\u30A2\u30F3\u30C9\u30FB\u30C9\u30ED\u30C3\u30D7\u3084\u8868\u793A\u306E\u8A73\u7D30\u306A\u8A3A\u65AD\u60C5\u5831\u3092\u958B\u767A\u8005\u30B3\u30F3\u30BD\u30FC\u30EB\u306B\u8A18\u9332\u3057\u307E\u3059\u3002\u30C8\u30E9\u30D6\u30EB\u30B7\u30E5\u30FC\u30C6\u30A3\u30F3\u30B0\u306B\u5F79\u7ACB\u3061\u307E\u3059\u3002"}},defaults:{header:{basicDefaults:"\u57FA\u672C\u30C7\u30D5\u30A9\u30EB\u30C8",dateDefaults:"\u65E5\u4ED8\u30C7\u30D5\u30A9\u30EB\u30C8",defaultReminders:"\u30C7\u30D5\u30A9\u30EB\u30C8\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC",bodyTemplate:"\u30DC\u30C7\u30A3\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8",instantTaskConversion:"\u30A4\u30F3\u30B9\u30BF\u30F3\u30C8\u30BF\u30B9\u30AF\u5909\u63DB"},description:{basicDefaults:"\u30BF\u30B9\u30AF\u4F5C\u6210\u3092\u9AD8\u901F\u5316\u3059\u308B\u305F\u3081\u306B\u65B0\u3057\u3044\u30BF\u30B9\u30AF\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002",dateDefaults:"\u65B0\u3057\u3044\u30BF\u30B9\u30AF\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u671F\u9650\u65E5\u3068\u4E88\u5B9A\u65E5\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002",defaultReminders:"\u65B0\u3057\u3044\u30BF\u30B9\u30AF\u306B\u8FFD\u52A0\u3055\u308C\u308B\u30C7\u30D5\u30A9\u30EB\u30C8\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002",bodyTemplate:"\u65B0\u3057\u3044\u30BF\u30B9\u30AF\u30B3\u30F3\u30C6\u30F3\u30C4\u306B\u4F7F\u7528\u3059\u308B\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u30D5\u30A1\u30A4\u30EB\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002",instantTaskConversion:"\u30C6\u30AD\u30B9\u30C8\u3092\u30BF\u30B9\u30AF\u306B\u30A4\u30F3\u30B9\u30BF\u30F3\u30C8\u5909\u63DB\u3059\u308B\u969B\u306E\u52D5\u4F5C\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002"},basicDefaults:{defaultStatus:{name:"\u30C7\u30D5\u30A9\u30EB\u30C8\u30B9\u30C6\u30FC\u30BF\u30B9",description:"\u65B0\u3057\u3044\u30BF\u30B9\u30AF\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u30B9\u30C6\u30FC\u30BF\u30B9"},defaultPriority:{name:"\u30C7\u30D5\u30A9\u30EB\u30C8\u512A\u5148\u5EA6",description:"\u65B0\u3057\u3044\u30BF\u30B9\u30AF\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u512A\u5148\u5EA6"},defaultContexts:{name:"\u30C7\u30D5\u30A9\u30EB\u30C8\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8",description:"\u30C7\u30D5\u30A9\u30EB\u30C8\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u306E\u30AB\u30F3\u30DE\u533A\u5207\u308A\u30EA\u30B9\u30C8\uFF08\u4F8B\uFF1A@home\u3001@work\uFF09",placeholder:"@\u81EA\u5B85, @\u4ED5\u4E8B"},defaultTags:{name:"\u30C7\u30D5\u30A9\u30EB\u30C8\u30BF\u30B0",description:"\u30C7\u30D5\u30A9\u30EB\u30C8\u30BF\u30B0\u306E\u30AB\u30F3\u30DE\u533A\u5207\u308A\u30EA\u30B9\u30C8\uFF08#\u306A\u3057\uFF09",placeholder:"\u91CD\u8981, \u7DCA\u6025"},defaultProjects:{name:"\u30C7\u30D5\u30A9\u30EB\u30C8\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8",description:"\u65B0\u3057\u3044\u30BF\u30B9\u30AF\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EA\u30F3\u30AF",selectButton:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u9078\u629E",selectTooltip:"\u30C7\u30D5\u30A9\u30EB\u30C8\u3067\u30EA\u30F3\u30AF\u3059\u308B\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30CE\u30FC\u30C8\u3092\u9078\u629E",removeTooltip:"\u30C7\u30D5\u30A9\u30EB\u30C8\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u304B\u3089{name}\u3092\u524A\u9664"},useParentNoteAsProject:{name:"\u30A4\u30F3\u30B9\u30BF\u30F3\u30C8\u5909\u63DB\u6642\u306B\u89AA\u30CE\u30FC\u30C8\u3092\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3068\u3057\u3066\u4F7F\u7528",description:"\u30A4\u30F3\u30B9\u30BF\u30F3\u30C8\u30BF\u30B9\u30AF\u5909\u63DB\u4F7F\u7528\u6642\u306B\u89AA\u30CE\u30FC\u30C8\u3092\u81EA\u52D5\u7684\u306B\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3068\u3057\u3066\u30EA\u30F3\u30AF"},defaultTimeEstimate:{name:"\u30C7\u30D5\u30A9\u30EB\u30C8\u6642\u9593\u898B\u7A4D\u3082\u308A",description:"\u30C7\u30D5\u30A9\u30EB\u30C8\u6642\u9593\u898B\u7A4D\u3082\u308A\uFF08\u5206\uFF09\uFF080 = \u30C7\u30D5\u30A9\u30EB\u30C8\u306A\u3057\uFF09",placeholder:"60"},defaultRecurrence:{name:"\u30C7\u30D5\u30A9\u30EB\u30C8\u7E70\u308A\u8FD4\u3057",description:"\u65B0\u3057\u3044\u30BF\u30B9\u30AF\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u7E70\u308A\u8FD4\u3057\u30D1\u30BF\u30FC\u30F3"}},dateDefaults:{defaultDueDate:{name:"\u30C7\u30D5\u30A9\u30EB\u30C8\u671F\u9650\u65E5",description:"\u65B0\u3057\u3044\u30BF\u30B9\u30AF\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u671F\u9650\u65E5"},defaultScheduledDate:{name:"\u30C7\u30D5\u30A9\u30EB\u30C8\u4E88\u5B9A\u65E5",description:"\u65B0\u3057\u3044\u30BF\u30B9\u30AF\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u4E88\u5B9A\u65E5"}},reminders:{addReminder:{name:"\u30C7\u30D5\u30A9\u30EB\u30C8\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u3092\u8FFD\u52A0",description:"\u3059\u3079\u3066\u306E\u65B0\u3057\u3044\u30BF\u30B9\u30AF\u306B\u8FFD\u52A0\u3055\u308C\u308B\u65B0\u3057\u3044\u30C7\u30D5\u30A9\u30EB\u30C8\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u3092\u4F5C\u6210",buttonText:"\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u3092\u8FFD\u52A0"},emptyState:"\u30C7\u30D5\u30A9\u30EB\u30C8\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u3092\u8FFD\u52A0\u3057\u3066\u65B0\u3057\u3044\u30BF\u30B9\u30AF\u306B\u3064\u3044\u3066\u81EA\u52D5\u7684\u306B\u901A\u77E5\u3092\u53D7\u3051\u53D6\u308A\u307E\u3059\u3002",emptyStateButton:"\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u3092\u8FFD\u52A0",reminderDescription:"\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u306E\u8AAC\u660E",unnamedReminder:"\u540D\u524D\u306A\u3057\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC",deleteTooltip:"\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u3092\u524A\u9664",fields:{description:"\u8AAC\u660E\uFF1A",type:"\u30BF\u30A4\u30D7\uFF1A",offset:"\u30AA\u30D5\u30BB\u30C3\u30C8\uFF1A",unit:"\u5358\u4F4D\uFF1A",direction:"\u65B9\u5411\uFF1A",relatedTo:"\u95A2\u9023\u5148\uFF1A",date:"\u65E5\u4ED8\uFF1A",time:"\u6642\u9593\uFF1A"},types:{relative:"\u76F8\u5BFE\uFF08\u30BF\u30B9\u30AF\u65E5\u4ED8\u306E\u524D/\u5F8C\uFF09",absolute:"\u7D76\u5BFE\uFF08\u7279\u5B9A\u306E\u65E5\u4ED8/\u6642\u9593\uFF09"},units:{minutes:"\u5206",hours:"\u6642\u9593",days:"\u65E5"},directions:{before:"\u524D",after:"\u5F8C"},relatedTo:{due:"\u671F\u9650\u65E5",scheduled:"\u4E88\u5B9A\u65E5"}},bodyTemplate:{useBodyTemplate:{name:"\u30DC\u30C7\u30A3\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u4F7F\u7528",description:"\u30BF\u30B9\u30AF\u30DC\u30C7\u30A3\u30B3\u30F3\u30C6\u30F3\u30C4\u306B\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u30D5\u30A1\u30A4\u30EB\u3092\u4F7F\u7528"},bodyTemplateFile:{name:"\u30DC\u30C7\u30A3\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u30D5\u30A1\u30A4\u30EB",description:"\u30BF\u30B9\u30AF\u30DC\u30C7\u30A3\u30B3\u30F3\u30C6\u30F3\u30C4\u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u30D5\u30A1\u30A4\u30EB\u3078\u306E\u30D1\u30B9\u3002{{title}}\u3001{{date}}\u3001{{time}}\u3001{{priority}}\u3001{{status}}\u306A\u3069\u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u5909\u6570\u3092\u30B5\u30DD\u30FC\u30C8\u3002",placeholder:"\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8/\u30BF\u30B9\u30AF\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8.md",ariaLabel:"\u30DC\u30C7\u30A3\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u30D5\u30A1\u30A4\u30EB\u3078\u306E\u30D1\u30B9"},variablesHeader:"\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u5909\u6570\uFF1A",variables:{title:"{{title}} - \u30BF\u30B9\u30AF\u30BF\u30A4\u30C8\u30EB",details:"{{details}} - \u30E2\u30FC\u30C0\u30EB\u304B\u3089\u30E6\u30FC\u30B6\u30FC\u63D0\u4F9B\u306E\u8A73\u7D30",date:"{{date}} - \u73FE\u5728\u306E\u65E5\u4ED8\uFF08YYYY-MM-DD\uFF09",time:"{{time}} - \u73FE\u5728\u306E\u6642\u9593\uFF08HH:MM\uFF09",priority:"{{priority}} - \u30BF\u30B9\u30AF\u512A\u5148\u5EA6",status:"{{status}} - \u30BF\u30B9\u30AF\u30B9\u30C6\u30FC\u30BF\u30B9",contexts:"{{contexts}} - \u30BF\u30B9\u30AF\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8",tags:"{{tags}} - \u30BF\u30B9\u30AF\u30BF\u30B0",projects:"{{projects}} - \u30BF\u30B9\u30AF\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8"}},instantConversion:{useDefaultsOnInstantConvert:{name:"\u30A4\u30F3\u30B9\u30BF\u30F3\u30C8\u5909\u63DB\u3067\u30BF\u30B9\u30AF\u30C7\u30D5\u30A9\u30EB\u30C8\u3092\u4F7F\u7528",description:"\u30C6\u30AD\u30B9\u30C8\u3092\u30BF\u30B9\u30AF\u306B\u30A4\u30F3\u30B9\u30BF\u30F3\u30C8\u5909\u63DB\u3059\u308B\u969B\u306B\u30C7\u30D5\u30A9\u30EB\u30C8\u30BF\u30B9\u30AF\u8A2D\u5B9A\u3092\u9069\u7528"}},options:{noDefault:"\u30C7\u30D5\u30A9\u30EB\u30C8\u306A\u3057",none:"\u306A\u3057",today:"\u4ECA\u65E5",tomorrow:"\u660E\u65E5",nextWeek:"\u6765\u9031",daily:"\u6BCE\u65E5",weekly:"\u6BCE\u9031",monthly:"\u6BCE\u6708",yearly:"\u6BCE\u5E74"}},general:{taskStorage:{header:"\u30BF\u30B9\u30AF\u30B9\u30C8\u30EC\u30FC\u30B8",description:"\u30BF\u30B9\u30AF\u306E\u4FDD\u5B58\u5834\u6240\u3068\u8B58\u5225\u65B9\u6CD5\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002",defaultFolder:{name:"\u30C7\u30D5\u30A9\u30EB\u30C8\u30BF\u30B9\u30AF\u30D5\u30A9\u30EB\u30C0\u30FC",description:"\u65B0\u3057\u3044\u30BF\u30B9\u30AF\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u5834\u6240"},moveArchived:{name:"\u30A2\u30FC\u30AB\u30A4\u30D6\u3057\u305F\u30BF\u30B9\u30AF\u3092\u30D5\u30A9\u30EB\u30C0\u30FC\u306B\u79FB\u52D5",description:"\u30A2\u30FC\u30AB\u30A4\u30D6\u3057\u305F\u30BF\u30B9\u30AF\u3092\u81EA\u52D5\u7684\u306B\u30A2\u30FC\u30AB\u30A4\u30D6\u30D5\u30A9\u30EB\u30C0\u30FC\u306B\u79FB\u52D5"},archiveFolder:{name:"\u30A2\u30FC\u30AB\u30A4\u30D6\u30D5\u30A9\u30EB\u30C0\u30FC",description:"\u30A2\u30FC\u30AB\u30A4\u30D6\u6642\u306B\u30BF\u30B9\u30AF\u3092\u79FB\u52D5\u3059\u308B\u30D5\u30A9\u30EB\u30C0\u30FC\u3002{{year}}\u3001{{month}}\u3001{{priority}}\u306A\u3069\u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u5909\u6570\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u307E\u3059\u3002"}},taskIdentification:{header:"\u30BF\u30B9\u30AF\u8B58\u5225",description:"TaskNotes\u304C\u30CE\u30FC\u30C8\u3092\u30BF\u30B9\u30AF\u3068\u3057\u3066\u8B58\u5225\u3059\u308B\u65B9\u6CD5\u3092\u9078\u629E\u3057\u307E\u3059\u3002",identifyBy:{name:"\u30BF\u30B9\u30AF\u306E\u8B58\u5225\u65B9\u6CD5",description:"\u30BF\u30B0\u307E\u305F\u306F\u30D5\u30ED\u30F3\u30C8\u30DE\u30BF\u30FC\u30D7\u30ED\u30D1\u30C6\u30A3\u3067\u30BF\u30B9\u30AF\u3092\u8B58\u5225\u3059\u308B\u304B\u3092\u9078\u629E",options:{tag:"\u30BF\u30B0",property:"\u30D7\u30ED\u30D1\u30C6\u30A3"}},taskTag:{name:"\u30BF\u30B9\u30AF\u30BF\u30B0",description:"\u30CE\u30FC\u30C8\u3092\u30BF\u30B9\u30AF\u3068\u3057\u3066\u8B58\u5225\u3059\u308B\u30BF\u30B0\uFF08#\u306A\u3057\uFF09"},hideIdentifyingTags:{name:"\u30BF\u30B9\u30AF\u30AB\u30FC\u30C9\u3067\u8B58\u5225\u30BF\u30B0\u3092\u975E\u8868\u793A",description:"\u6709\u52B9\u306B\u3059\u308B\u3068\u3001\u30BF\u30B9\u30AF\u8B58\u5225\u30BF\u30B0\u306B\u4E00\u81F4\u3059\u308B\u30BF\u30B0\uFF08'task/project'\u306E\u3088\u3046\u306A\u968E\u5C64\u7684\u4E00\u81F4\u3092\u542B\u3080\uFF09\u304C\u30BF\u30B9\u30AF\u30AB\u30FC\u30C9\u8868\u793A\u304B\u3089\u975E\u8868\u793A\u306B\u306A\u308A\u307E\u3059"},taskProperty:{name:"\u30BF\u30B9\u30AF\u30D7\u30ED\u30D1\u30C6\u30A3\u540D",description:'\u30D5\u30ED\u30F3\u30C8\u30DE\u30BF\u30FC\u30D7\u30ED\u30D1\u30C6\u30A3\u540D\uFF08\u4F8B\uFF1A"category"\uFF09'},taskPropertyValue:{name:"\u30BF\u30B9\u30AF\u30D7\u30ED\u30D1\u30C6\u30A3\u5024",description:'\u30CE\u30FC\u30C8\u3092\u30BF\u30B9\u30AF\u3068\u3057\u3066\u8B58\u5225\u3059\u308B\u5024\uFF08\u4F8B\uFF1A"task"\uFF09'}},folderManagement:{header:"\u30D5\u30A9\u30EB\u30C0\u30FC\u7BA1\u7406",excludedFolders:{name:"\u9664\u5916\u30D5\u30A9\u30EB\u30C0\u30FC",description:"\u30BF\u30B9\u30AF\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u4F5C\u6210\u3068\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5019\u88DC\u304B\u3089\u9664\u5916\u3059\u308B\u30D5\u30A9\u30EB\u30C0\u30FC\u306E\u30AB\u30F3\u30DE\u533A\u5207\u308A\u30EA\u30B9\u30C8"}},frontmatter:{header:"Frontmatter",description:"frontmatter\u30D7\u30ED\u30D1\u30C6\u30A3\u3067\u306E\u30EA\u30F3\u30AF\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u65B9\u6CD5\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002",useMarkdownLinks:{name:"frontmatter\u3067markdown\u30EA\u30F3\u30AF\u3092\u4F7F\u7528",description:`frontmatter\u30D7\u30ED\u30D1\u30C6\u30A3\u3067wikilink\uFF08[[link]]\uFF09\u306E\u4EE3\u308F\u308A\u306Bmarkdown\u30EA\u30F3\u30AF\uFF08[text](path)\uFF09\u3092\u751F\u6210\u3057\u307E\u3059\u3002
\u26A0\uFE0F \u6B63\u3057\u304F\u6A5F\u80FD\u3059\u308B\u306B\u306F'obsidian-frontmatter-markdown-links'\u30D7\u30E9\u30B0\u30A4\u30F3\u304C\u5FC5\u8981\u3067\u3059\u3002`}},taskInteraction:{header:"\u30BF\u30B9\u30AF\u30A4\u30F3\u30BF\u30E9\u30AF\u30B7\u30E7\u30F3",description:"\u30BF\u30B9\u30AF\u3092\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u969B\u306E\u52D5\u4F5C\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002",singleClick:{name:"\u30B7\u30F3\u30B0\u30EB\u30AF\u30EA\u30C3\u30AF\u30A2\u30AF\u30B7\u30E7\u30F3",description:"\u30BF\u30B9\u30AF\u30AB\u30FC\u30C9\u3092\u30B7\u30F3\u30B0\u30EB\u30AF\u30EA\u30C3\u30AF\u3057\u305F\u969B\u306B\u5B9F\u884C\u3059\u308B\u30A2\u30AF\u30B7\u30E7\u30F3"},doubleClick:{name:"\u30C0\u30D6\u30EB\u30AF\u30EA\u30C3\u30AF\u30A2\u30AF\u30B7\u30E7\u30F3",description:"\u30BF\u30B9\u30AF\u30AB\u30FC\u30C9\u3092\u30C0\u30D6\u30EB\u30AF\u30EA\u30C3\u30AF\u3057\u305F\u969B\u306B\u5B9F\u884C\u3059\u308B\u30A2\u30AF\u30B7\u30E7\u30F3"},actions:{edit:"\u30BF\u30B9\u30AF\u3092\u7DE8\u96C6",openNote:"\u30CE\u30FC\u30C8\u3092\u958B\u304F",none:"\u30A2\u30AF\u30B7\u30E7\u30F3\u306A\u3057"}},releaseNotes:{header:"\u30EA\u30EA\u30FC\u30B9\u30CE\u30FC\u30C8",description:"\u73FE\u5728\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\uFF1A{version}",showOnUpdate:{name:"\u66F4\u65B0\u5F8C\u306B\u30EA\u30EA\u30FC\u30B9\u30CE\u30FC\u30C8\u3092\u8868\u793A",description:"TaskNotes\u304C\u65B0\u3057\u3044\u30D0\u30FC\u30B8\u30E7\u30F3\u306B\u66F4\u65B0\u3055\u308C\u305F\u3068\u304D\u306B\u81EA\u52D5\u7684\u306B\u30EA\u30EA\u30FC\u30B9\u30CE\u30FC\u30C8\u3092\u958B\u304F"},viewButton:{name:"\u30EA\u30EA\u30FC\u30B9\u30CE\u30FC\u30C8\u3092\u8868\u793A",description:"TaskNotes\u306E\u6700\u65B0\u30D0\u30FC\u30B8\u30E7\u30F3\u306E\u65B0\u6A5F\u80FD\u3092\u78BA\u8A8D\u3059\u308B",buttonText:"\u30EA\u30EA\u30FC\u30B9\u30CE\u30FC\u30C8\u3092\u8868\u793A"}}},taskProperties:{sections:{coreProperties:"\u30B3\u30A2\u30D7\u30ED\u30D1\u30C6\u30A3",corePropertiesDesc:"\u30B9\u30C6\u30FC\u30BF\u30B9\u3068\u512A\u5148\u5EA6\u306F\u3001\u30BF\u30B9\u30AF\u306E\u72B6\u614B\u3068\u91CD\u8981\u5EA6\u3092\u5B9A\u7FA9\u3059\u308B\u30B3\u30A2\u30D7\u30ED\u30D1\u30C6\u30A3\u3067\u3059\u3002",dateProperties:"\u65E5\u4ED8\u30D7\u30ED\u30D1\u30C6\u30A3",datePropertiesDesc:"\u30BF\u30B9\u30AF\u306E\u671F\u9650\u3068\u4E88\u5B9A\u65E5\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002",organizationProperties:"\u6574\u7406\u30D7\u30ED\u30D1\u30C6\u30A3",organizationPropertiesDesc:"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3001\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3001\u30BF\u30B0\u3067\u30BF\u30B9\u30AF\u3092\u6574\u7406\u3057\u307E\u3059\u3002",taskDetails:"\u30BF\u30B9\u30AF\u8A73\u7D30",taskDetailsDesc:"\u6642\u9593\u898B\u7A4D\u3082\u308A\u3001\u7E70\u308A\u8FD4\u3057\u3001\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u306A\u3069\u306E\u8FFD\u52A0\u8A73\u7D30\u3002",metadataProperties:"\u30E1\u30BF\u30C7\u30FC\u30BF\u30D7\u30ED\u30D1\u30C6\u30A3",metadataPropertiesDesc:"\u30BF\u30B9\u30AF\u5C65\u6B74\u3092\u8FFD\u8DE1\u3059\u308B\u305F\u3081\u306E\u30B7\u30B9\u30C6\u30E0\u7BA1\u7406\u30D7\u30ED\u30D1\u30C6\u30A3\u3002",featureProperties:"\u6A5F\u80FD\u30D7\u30ED\u30D1\u30C6\u30A3",featurePropertiesDesc:"\u30DD\u30E2\u30C9\u30FC\u30ED\u30BF\u30A4\u30DE\u30FC\u3084\u30AB\u30EC\u30F3\u30C0\u30FC\u540C\u671F\u306A\u3069\u3001\u7279\u5B9A\u306ETaskNotes\u6A5F\u80FD\u3067\u4F7F\u7528\u3055\u308C\u308B\u30D7\u30ED\u30D1\u30C6\u30A3\u3002"},propertyCard:{propertyKey:"\u30D7\u30ED\u30D1\u30C6\u30A3\u30AD\u30FC:",default:"\u30C7\u30D5\u30A9\u30EB\u30C8:",nlpTrigger:"NLP\u30C8\u30EA\u30AC\u30FC:",triggerChar:"\u30C8\u30EA\u30AC\u30FC\u6587\u5B57:",triggerEmpty:"\u30C8\u30EA\u30AC\u30FC\u306F\u7A7A\u306B\u3067\u304D\u307E\u305B\u3093",triggerTooLong:"\u30C8\u30EA\u30AC\u30FC\u304C\u9577\u3059\u304E\u307E\u3059\uFF08\u6700\u592710\u6587\u5B57\uFF09"},properties:{status:{name:"\u30B9\u30C6\u30FC\u30BF\u30B9",description:"\u30BF\u30B9\u30AF\u306E\u73FE\u5728\u306E\u72B6\u614B\u3092\u8FFD\u8DE1\u3057\u307E\u3059\uFF08\u4F8B\uFF1Atodo\u3001\u9032\u884C\u4E2D\u3001\u5B8C\u4E86\uFF09\u3002\u30B9\u30C6\u30FC\u30BF\u30B9\u306F\u30BF\u30B9\u30AF\u304C\u5B8C\u4E86\u3068\u3057\u3066\u8868\u793A\u3055\u308C\u308B\u304B\u3069\u3046\u304B\u3092\u6C7A\u5B9A\u3057\u3001\u81EA\u52D5\u30A2\u30FC\u30AB\u30A4\u30D6\u3092\u30C8\u30EA\u30AC\u30FC\u3067\u304D\u307E\u3059\u3002"},priority:{name:"\u512A\u5148\u5EA6",description:"\u30BF\u30B9\u30AF\u306E\u91CD\u8981\u5EA6\u3092\u793A\u3057\u307E\u3059\u3002\u30BD\u30FC\u30C8\u3068\u30D5\u30A3\u30EB\u30BF\u30EA\u30F3\u30B0\u306B\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002Bases\u30D3\u30E5\u30FC\u3067\u306F\u5024\u304C\u30A2\u30EB\u30D5\u30A1\u30D9\u30C3\u30C8\u9806\u306B\u30BD\u30FC\u30C8\u3055\u308C\u308B\u305F\u3081\u30011-\u30012-\u306E\u3088\u3046\u306A\u30D7\u30EC\u30D5\u30A3\u30C3\u30AF\u30B9\u3092\u4F7F\u7528\u3057\u3066\u9806\u5E8F\u3092\u5236\u5FA1\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},due:{name:"\u671F\u9650\u65E5",description:"\u30BF\u30B9\u30AF\u3092\u5B8C\u4E86\u3057\u306A\u3051\u308C\u3070\u306A\u3089\u306A\u3044\u7DE0\u3081\u5207\u308A\u3002\u671F\u9650\u3092\u904E\u304E\u305F\u30BF\u30B9\u30AF\u306F\u671F\u9650\u5207\u308C\u3068\u3057\u3066\u8868\u793A\u3055\u308C\u307E\u3059\u3002\u30D5\u30ED\u30F3\u30C8\u30DE\u30BF\u30FC\u306B\u65E5\u4ED8\u3068\u3057\u3066\u4FDD\u5B58\u3055\u308C\u307E\u3059\u3002"},scheduled:{name:"\u4E88\u5B9A\u65E5",description:"\u30BF\u30B9\u30AF\u306B\u53D6\u308A\u7D44\u3080\u4E88\u5B9A\u306E\u65E5\u6642\u3002\u671F\u9650\u65E5\u3068\u306F\u7570\u306A\u308A\u3001\u3053\u308C\u306F\u958B\u59CB\u4E88\u5B9A\u6642\u523B\u3092\u8868\u3057\u307E\u3059\u3002\u30BF\u30B9\u30AF\u306F\u4E88\u5B9A\u65E5\u6642\u306B\u30AB\u30EC\u30F3\u30C0\u30FC\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002"},contexts:{name:"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8",description:"\u30BF\u30B9\u30AF\u3092\u5B9F\u884C\u3067\u304D\u308B\u5834\u6240\u3084\u6761\u4EF6\uFF08\u4F8B\uFF1A@\u81EA\u5B85\u3001@\u30AA\u30D5\u30A3\u30B9\u3001@\u96FB\u8A71\uFF09\u3002\u73FE\u5728\u306E\u72B6\u6CC1\u306B\u5FDC\u3058\u3066\u30BF\u30B9\u30AF\u3092\u30D5\u30A3\u30EB\u30BF\u30EA\u30F3\u30B0\u3059\u308B\u306E\u306B\u4FBF\u5229\u3067\u3059\u3002\u30EA\u30B9\u30C8\u3068\u3057\u3066\u4FDD\u5B58\u3055\u308C\u307E\u3059\u3002"},projects:{name:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8",description:"\u3053\u306E\u30BF\u30B9\u30AF\u304C\u5C5E\u3059\u308B\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30CE\u30FC\u30C8\u3078\u306E\u30EA\u30F3\u30AF\u3002\u30A6\u30A3\u30AD\u30EA\u30F3\u30AF\u3068\u3057\u3066\u4FDD\u5B58\u3055\u308C\u307E\u3059\uFF08\u4F8B\uFF1A[[\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u540D]]\uFF09\u3002\u30BF\u30B9\u30AF\u306F\u8907\u6570\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u6240\u5C5E\u3067\u304D\u307E\u3059\u3002"},tags:{name:"\u30BF\u30B0",description:"\u30BF\u30B9\u30AF\u3092\u5206\u985E\u3059\u308B\u305F\u3081\u306E\u30CD\u30A4\u30C6\u30A3\u30D6Obsidian\u30BF\u30B0\u3002\u30D5\u30ED\u30F3\u30C8\u30DE\u30BF\u30FC\u306Etags\u30D7\u30ED\u30D1\u30C6\u30A3\u306B\u4FDD\u5B58\u3055\u308C\u3001Obsidian\u306E\u30BF\u30B0\u6A5F\u80FD\u3068\u9023\u643A\u3057\u307E\u3059\u3002"},timeEstimate:{name:"\u6642\u9593\u898B\u7A4D\u3082\u308A",description:"\u30BF\u30B9\u30AF\u5B8C\u4E86\u307E\u3067\u306E\u63A8\u5B9A\u5206\u6570\u3002\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AD\u30F3\u30B0\u3068\u30EF\u30FC\u30AF\u30ED\u30FC\u30C9\u8A08\u753B\u306B\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002\u30BF\u30B9\u30AF\u30AB\u30FC\u30C9\u3068\u30AB\u30EC\u30F3\u30C0\u30FC\u30A4\u30D9\u30F3\u30C8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002"},recurrence:{name:"\u7E70\u308A\u8FD4\u3057",description:"\u7E70\u308A\u8FD4\u3057\u30BF\u30B9\u30AF\u306E\u30D1\u30BF\u30FC\u30F3\uFF08\u6BCE\u65E5\u3001\u6BCE\u9031\u3001\u6BCE\u6708\u3001\u6BCE\u5E74\u3001\u307E\u305F\u306F\u30AB\u30B9\u30BF\u30E0RRULE\uFF09\u3002\u7E70\u308A\u8FD4\u3057\u30BF\u30B9\u30AF\u304C\u5B8C\u4E86\u3059\u308B\u3068\u3001\u4E88\u5B9A\u65E5\u306F\u81EA\u52D5\u7684\u306B\u6B21\u306E\u767A\u751F\u65E5\u306B\u66F4\u65B0\u3055\u308C\u307E\u3059\u3002"},recurrenceAnchor:{name:"\u7E70\u308A\u8FD4\u3057\u30A2\u30F3\u30AB\u30FC",description:"\u6B21\u306E\u767A\u751F\u65E5\u306E\u8A08\u7B97\u65B9\u6CD5\u3092\u5236\u5FA1\u3057\u307E\u3059\uFF1A'scheduled'\u306F\u4E88\u5B9A\u65E5\u3092\u4F7F\u7528\u3001'completion'\u306F\u5B9F\u969B\u306E\u5B8C\u4E86\u65E5\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002"},reminders:{name:"\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC",description:"\u671F\u9650\u65E5\u307E\u305F\u306F\u4E88\u5B9A\u65E5\u306E\u524D\u306B\u30C8\u30EA\u30AC\u30FC\u3055\u308C\u308B\u901A\u77E5\u3002\u30BF\u30A4\u30DF\u30F3\u30B0\u3068\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u8AAC\u660E\u3092\u542B\u3080\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u30EA\u30B9\u30C8\u3068\u3057\u3066\u4FDD\u5B58\u3055\u308C\u307E\u3059\u3002"},title:{name:"\u30BF\u30A4\u30C8\u30EB",description:"\u30BF\u30B9\u30AF\u540D\u3002\u30D5\u30ED\u30F3\u30C8\u30DE\u30BF\u30FC\u307E\u305F\u306F\u30D5\u30A1\u30A4\u30EB\u540D\u306B\u4FDD\u5B58\u3067\u304D\u307E\u3059\uFF08\u300C\u30BF\u30A4\u30C8\u30EB\u3092\u30D5\u30A1\u30A4\u30EB\u540D\u306B\u4FDD\u5B58\u300D\u304C\u6709\u52B9\u306A\u5834\u5408\uFF09\u3002"},dateCreated:{name:"\u4F5C\u6210\u65E5",description:"\u30BF\u30B9\u30AF\u304C\u6700\u521D\u306B\u4F5C\u6210\u3055\u308C\u305F\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u3002\u81EA\u52D5\u7684\u306B\u8A2D\u5B9A\u3055\u308C\u3001\u4F5C\u6210\u9806\u3067\u306E\u30BD\u30FC\u30C8\u306B\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002"},dateModified:{name:"\u66F4\u65B0\u65E5",description:"\u30BF\u30B9\u30AF\u3078\u306E\u6700\u5F8C\u306E\u5909\u66F4\u306E\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u3002\u30BF\u30B9\u30AF\u30D7\u30ED\u30D1\u30C6\u30A3\u304C\u5909\u66F4\u3055\u308C\u308B\u3068\u81EA\u52D5\u7684\u306B\u66F4\u65B0\u3055\u308C\u307E\u3059\u3002"},completedDate:{name:"\u5B8C\u4E86\u65E5",description:"\u30BF\u30B9\u30AF\u304C\u5B8C\u4E86\u3068\u3057\u3066\u30DE\u30FC\u30AF\u3055\u308C\u305F\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u3002\u30B9\u30C6\u30FC\u30BF\u30B9\u304C\u5B8C\u4E86\u72B6\u614B\u306B\u5909\u308F\u308B\u3068\u81EA\u52D5\u7684\u306B\u8A2D\u5B9A\u3055\u308C\u307E\u3059\u3002"},archiveTag:{name:"\u30A2\u30FC\u30AB\u30A4\u30D6\u30BF\u30B0",description:"\u30A2\u30FC\u30AB\u30A4\u30D6\u6642\u306B\u30BF\u30B9\u30AF\u306B\u8FFD\u52A0\u3055\u308C\u308B\u30BF\u30B0\u3002\u30A2\u30FC\u30AB\u30A4\u30D6\u3055\u308C\u305F\u30BF\u30B9\u30AF\u3092\u8B58\u5225\u3059\u308B\u305F\u3081\u306B\u4F7F\u7528\u3055\u308C\u3001\u30A2\u30FC\u30AB\u30A4\u30D6\u30D5\u30A9\u30EB\u30C0\u3078\u306E\u30D5\u30A1\u30A4\u30EB\u79FB\u52D5\u3092\u30C8\u30EA\u30AC\u30FC\u3067\u304D\u307E\u3059\u3002"},timeEntries:{name:"\u6642\u9593\u30A8\u30F3\u30C8\u30EA\u30FC",description:"\u3053\u306E\u30BF\u30B9\u30AF\u306E\u6642\u9593\u8FFD\u8DE1\u30BB\u30C3\u30B7\u30E7\u30F3\u306E\u8A18\u9332\u3002\u5404\u30A8\u30F3\u30C8\u30EA\u306B\u306F\u958B\u59CB\u3068\u7D42\u4E86\u306E\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u304C\u4FDD\u5B58\u3055\u308C\u307E\u3059\u3002\u5408\u8A08\u6642\u9593\u306E\u8A08\u7B97\u306B\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002"},completeInstances:{name:"\u5B8C\u4E86\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9",description:"\u7E70\u308A\u8FD4\u3057\u30BF\u30B9\u30AF\u306E\u5B8C\u4E86\u5C65\u6B74\u3002\u5404\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304C\u5B8C\u4E86\u3057\u305F\u65E5\u4ED8\u3092\u4FDD\u5B58\u3057\u3066\u3001\u91CD\u8907\u5B8C\u4E86\u3092\u9632\u304E\u307E\u3059\u3002"},skippedInstances:{name:"\u30B9\u30AD\u30C3\u30D7\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9",description:"\u7E70\u308A\u8FD4\u3057\u30BF\u30B9\u30AF\u306E\u30B9\u30AD\u30C3\u30D7\u3055\u308C\u305F\u767A\u751F\u3002\u5B8C\u4E86\u3067\u306F\u306A\u304F\u30B9\u30AD\u30C3\u30D7\u3055\u308C\u305F\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u65E5\u4ED8\u3092\u4FDD\u5B58\u3057\u307E\u3059\u3002"},blockedBy:{name:"\u30D6\u30ED\u30C3\u30AF\u5143",description:"\u3053\u306E\u30BF\u30B9\u30AF\u306E\u524D\u306B\u5B8C\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308B\u30BF\u30B9\u30AF\u3078\u306E\u30EA\u30F3\u30AF\u3002\u30A6\u30A3\u30AD\u30EA\u30F3\u30AF\u3068\u3057\u3066\u4FDD\u5B58\u3055\u308C\u307E\u3059\u3002\u30D6\u30ED\u30C3\u30AF\u3055\u308C\u305F\u30BF\u30B9\u30AF\u306F\u8996\u899A\u7684\u306A\u30A4\u30F3\u30B8\u30B1\u30FC\u30BF\u30FC\u3092\u8868\u793A\u3057\u307E\u3059\u3002"},sortOrder:{name:"\u624B\u52D5\u9806\u5E8F",description:"\u30C9\u30E9\u30C3\u30B0\uFF06\u30C9\u30ED\u30C3\u30D7\u3067\u624B\u52D5\u4E26\u3079\u66FF\u3048\u3092\u884C\u3046\u305F\u3081\u306B\u4F7F\u7528\u3059\u308B\u30D5\u30ED\u30F3\u30C8\u30DE\u30BF\u30FC\u306E\u30D7\u30ED\u30D1\u30C6\u30A3\u3002\u30D3\u30E5\u30FC\u306F\u3053\u306E\u30D7\u30ED\u30D1\u30C6\u30A3\u3067\u30BD\u30FC\u30C8\u3055\u308C\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002"},pomodoros:{name:"\u30DD\u30E2\u30C9\u30FC\u30ED",description:"\u5B8C\u4E86\u3057\u305F\u30DD\u30E2\u30C9\u30FC\u30ED\u30BB\u30C3\u30B7\u30E7\u30F3\u306E\u30AB\u30A6\u30F3\u30C8\u3002\u30C7\u30FC\u30BF\u4FDD\u5B58\u304C\u300C\u30C7\u30A4\u30EA\u30FC\u30CE\u30FC\u30C8\u300D\u306B\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u3053\u308C\u306F\u30BF\u30B9\u30AF\u30D5\u30A1\u30A4\u30EB\u3067\u306F\u306A\u304F\u30C7\u30A4\u30EA\u30FC\u30CE\u30FC\u30C8\u306B\u66F8\u304D\u8FBC\u307E\u308C\u307E\u3059\u3002"},icsEventId:{name:"ICS\u30A4\u30D9\u30F3\u30C8ID",description:"\u30CE\u30FC\u30C8\u3092ICS\u30AB\u30EC\u30F3\u30C0\u30FC\u30A4\u30D9\u30F3\u30C8\u306B\u30EA\u30F3\u30AF\u3059\u308B\u4E00\u610F\u306E\u8B58\u5225\u5B50\u3002\u30AB\u30EC\u30F3\u30C0\u30FC\u30A4\u30D9\u30F3\u30C8\u304B\u3089\u30CE\u30FC\u30C8\u3092\u4F5C\u6210\u3059\u308B\u969B\u306B\u81EA\u52D5\u7684\u306B\u8FFD\u52A0\u3055\u308C\u307E\u3059\u3002"},icsEventTag:{name:"ICS\u30A4\u30D9\u30F3\u30C8\u30BF\u30B0",description:"ICS\u30AB\u30EC\u30F3\u30C0\u30FC\u30A4\u30D9\u30F3\u30C8\u304B\u3089\u4F5C\u6210\u3055\u308C\u305F\u30CE\u30FC\u30C8\u3092\u8B58\u5225\u3059\u308B\u30BF\u30B0\u3002\u30AB\u30EC\u30F3\u30C0\u30FC\u751F\u6210\u30CE\u30FC\u30C8\u3092\u901A\u5E38\u306E\u30BF\u30B9\u30AF\u3068\u533A\u5225\u3059\u308B\u305F\u3081\u306B\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002"}},statusCard:{valuesHeader:"\u30B9\u30C6\u30FC\u30BF\u30B9\u5024"},priorityCard:{valuesHeader:"\u512A\u5148\u5EA6\u5024"},projectsCard:{defaultProjects:"\u30C7\u30D5\u30A9\u30EB\u30C8\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8:",useParentNote:"\u89AA\u30CE\u30FC\u30C8\u3092\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3068\u3057\u3066\u4F7F\u7528:",noDefaultProjects:"\u30C7\u30D5\u30A9\u30EB\u30C8\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u304C\u9078\u629E\u3055\u308C\u3066\u3044\u307E\u305B\u3093",autosuggestFilters:"\u30AA\u30FC\u30C8\u30B5\u30B8\u30A7\u30B9\u30C8\u30D5\u30A3\u30EB\u30BF\u30FC",customizeDisplay:"\u8868\u793A\u3092\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA",filtersOn:"\u30D5\u30A3\u30EB\u30BF\u30FC\u6709\u52B9"},titleCard:{storeTitleInFilename:"\u30BF\u30A4\u30C8\u30EB\u3092\u30D5\u30A1\u30A4\u30EB\u540D\u306B\u4FDD\u5B58:",storedInFilename:"\u30D5\u30A1\u30A4\u30EB\u540D\u306B\u4FDD\u5B58",filenameUpdatesWithTitle:"\u30BF\u30B9\u30AF\u30BF\u30A4\u30C8\u30EB\u304C\u5909\u66F4\u3055\u308C\u308B\u3068\u3001\u30D5\u30A1\u30A4\u30EB\u540D\u306F\u81EA\u52D5\u7684\u306B\u66F4\u65B0\u3055\u308C\u307E\u3059\u3002",filenameFormat:"\u30D5\u30A1\u30A4\u30EB\u540D\u5F62\u5F0F:",customTemplate:"\u30AB\u30B9\u30BF\u30E0\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8:",legacySyntaxWarning:"{title}\u306E\u3088\u3046\u306A\u5358\u4E00\u6CE2\u62EC\u5F27\u69CB\u6587\u306F\u975E\u63A8\u5968\u3067\u3059\u3002\u672C\u6587\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3068\u306E\u4E00\u8CAB\u6027\u306E\u305F\u3081\u306B\u3001{{title}}\u306E\u3088\u3046\u306A\u4E8C\u91CD\u6CE2\u62EC\u5F27\u69CB\u6587\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},tagsCard:{nativeObsidianTags:"\u30CD\u30A4\u30C6\u30A3\u30D6Obsidian\u30BF\u30B0\u3092\u4F7F\u7528"},remindersCard:{defaultReminders:"\u30C7\u30D5\u30A9\u30EB\u30C8\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC"},taskStatuses:{header:"\u30BF\u30B9\u30AF\u30B9\u30C6\u30FC\u30BF\u30B9",description:"\u30BF\u30B9\u30AF\u3067\u5229\u7528\u53EF\u80FD\u306A\u30B9\u30C6\u30FC\u30BF\u30B9\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA\u3057\u307E\u3059\u3002\u3053\u308C\u3089\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u306F\u30BF\u30B9\u30AF\u30E9\u30A4\u30D5\u30B5\u30A4\u30AF\u30EB\u3092\u5236\u5FA1\u3057\u3001\u30BF\u30B9\u30AF\u304C\u3044\u3064\u5B8C\u4E86\u3068\u898B\u306A\u3055\u308C\u308B\u304B\u3092\u6C7A\u5B9A\u3057\u307E\u3059\u3002",howTheyWork:{title:"\u30B9\u30C6\u30FC\u30BF\u30B9\u306E\u52D5\u4F5C\uFF1A",value:'\u5024\uFF1A\u30BF\u30B9\u30AF\u30D5\u30A1\u30A4\u30EB\u306B\u4FDD\u5B58\u3055\u308C\u308B\u5185\u90E8\u8B58\u5225\u5B50\uFF08\u4F8B\uFF1A"in-progress"\uFF09',label:'\u30E9\u30D9\u30EB\uFF1A\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30FC\u30B9\u306B\u8868\u793A\u3055\u308C\u308B\u8868\u793A\u540D\uFF08\u4F8B\uFF1A"\u9032\u884C\u4E2D"\uFF09',color:"\u8272\uFF1A\u30B9\u30C6\u30FC\u30BF\u30B9\u30C9\u30C3\u30C8\u3068\u30D0\u30C3\u30B8\u306E\u8996\u899A\u7684\u30A4\u30F3\u30B8\u30B1\u30FC\u30BF\u30FC\u8272",icon:'\u30A2\u30A4\u30B3\u30F3\uFF1A\u30AB\u30E9\u30FC\u30C9\u30C3\u30C8\u306E\u4EE3\u308F\u308A\u306B\u8868\u793A\u3059\u308B\u30AA\u30D7\u30B7\u30E7\u30F3\u306ELucide\u30A2\u30A4\u30B3\u30F3\u540D\uFF08\u4F8B\uFF1A"check"\u3001"circle"\u3001"clock"\uFF09\u3002lucide.dev\u3067\u30A2\u30A4\u30B3\u30F3\u3092\u95B2\u89A7',completed:"\u5B8C\u4E86\uFF1A\u30C1\u30A7\u30C3\u30AF\u3059\u308B\u3068\u3001\u3053\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u306E\u30BF\u30B9\u30AF\u306F\u5B8C\u4E86\u3068\u898B\u306A\u3055\u308C\u3001\u7570\u306A\u3063\u3066\u30D5\u30A3\u30EB\u30BF\u30EA\u30F3\u30B0\u3055\u308C\u308B\u5834\u5408\u304C\u3042\u308A\u307E\u3059",autoArchive:"\u81EA\u52D5\u30A2\u30FC\u30AB\u30A4\u30D6\uFF1A\u6709\u52B9\u306B\u3059\u308B\u3068\u3001\u6307\u5B9A\u3055\u308C\u305F\u9045\u5EF6\u5F8C\u306B\u30BF\u30B9\u30AF\u304C\u81EA\u52D5\u7684\u306B\u30A2\u30FC\u30AB\u30A4\u30D6\u3055\u308C\u307E\u3059\uFF081-1440\u5206\uFF09",orderNote:"\u4EE5\u4E0B\u306E\u9806\u5E8F\u306F\u3001\u30BF\u30B9\u30AF\u30B9\u30C6\u30FC\u30BF\u30B9\u30D0\u30C3\u30B8\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u30B9\u30C6\u30FC\u30BF\u30B9\u3092\u5207\u308A\u66FF\u3048\u308B\u969B\u306E\u30B7\u30FC\u30B1\u30F3\u30B9\u3092\u6C7A\u5B9A\u3057\u307E\u3059\u3002"},addNew:{name:"\u65B0\u3057\u3044\u30B9\u30C6\u30FC\u30BF\u30B9\u3092\u8FFD\u52A0",description:"\u30BF\u30B9\u30AF\u306E\u65B0\u3057\u3044\u30B9\u30C6\u30FC\u30BF\u30B9\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F5C\u6210",buttonText:"\u30B9\u30C6\u30FC\u30BF\u30B9\u3092\u8FFD\u52A0"},validationNote:'\u6CE8\u610F\uFF1A\u5C11\u306A\u304F\u3068\u30822\u3064\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u304C\u5FC5\u8981\u3067\u3001\u5C11\u306A\u304F\u3068\u30821\u3064\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u304C"\u5B8C\u4E86"\u3068\u3057\u3066\u30DE\u30FC\u30AF\u3055\u308C\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002',emptyState:"\u30AB\u30B9\u30BF\u30E0\u30B9\u30C6\u30FC\u30BF\u30B9\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u30B9\u30C6\u30FC\u30BF\u30B9\u3092\u8FFD\u52A0\u3057\u3066\u958B\u59CB\u3057\u3066\u304F\u3060\u3055\u3044\u3002",emptyStateButton:"\u30B9\u30C6\u30FC\u30BF\u30B9\u3092\u8FFD\u52A0",fields:{value:"\u5024\uFF1A",label:"\u30E9\u30D9\u30EB\uFF1A",color:"\u8272\uFF1A",icon:"\u30A2\u30A4\u30B3\u30F3\uFF1A",completed:"\u5B8C\u4E86\uFF1A",autoArchive:"\u81EA\u52D5\u30A2\u30FC\u30AB\u30A4\u30D6\uFF1A",delayMinutes:"\u9045\u5EF6\uFF08\u5206\uFF09\uFF1A"},placeholders:{value:"\u9032\u884C\u4E2D",label:"\u9032\u884C\u4E2D",icon:"check, circle, clock"},badges:{completed:"\u5B8C\u4E86"},deleteConfirm:'\u30B9\u30C6\u30FC\u30BF\u30B9"{label}"\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B\uFF1F'},taskPriorities:{header:"\u30BF\u30B9\u30AF\u512A\u5148\u5EA6",description:"\u30BF\u30B9\u30AF\u3067\u5229\u7528\u53EF\u80FD\u306A\u512A\u5148\u5EA6\u30EC\u30D9\u30EB\u3092\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA\u3057\u307E\u3059\u3002v4.0+\u3067\u306F\u3001\u512A\u5148\u5EA6\u306FBases\u30D3\u30E5\u30FC\u3067\u5024\u306E\u30A2\u30EB\u30D5\u30A1\u30D9\u30C3\u30C8\u9806\u306B\u30BD\u30FC\u30C8\u3055\u308C\u307E\u3059\u3002",howTheyWork:{title:"\u512A\u5148\u5EA6\u306E\u52D5\u4F5C\uFF1A",value:'\u5024\uFF1A\u30BF\u30B9\u30AF\u30D5\u30A1\u30A4\u30EB\u306B\u4FDD\u5B58\u3055\u308C\u308B\u5185\u90E8\u8B58\u5225\u5B50\u3002Bases\u30D3\u30E5\u30FC\u3067\u306E\u30BD\u30FC\u30C8\u9806\u3092\u5236\u5FA1\u3059\u308B\u306B\u306F\u3001"1-urgent"\u3001"2-high"\u306E\u3088\u3046\u306A\u30D7\u30EC\u30D5\u30A3\u30C3\u30AF\u30B9\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002',label:'\u8868\u793A\u30E9\u30D9\u30EB\uFF1A\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30FC\u30B9\u306B\u8868\u793A\u3055\u308C\u308B\u8868\u793A\u540D\uFF08\u4F8B\uFF1A"\u9AD8\u512A\u5148\u5EA6"\uFF09',color:"\u8272\uFF1A\u512A\u5148\u5EA6\u30C9\u30C3\u30C8\u3068\u30D0\u30C3\u30B8\u306E\u8996\u899A\u7684\u30A4\u30F3\u30B8\u30B1\u30FC\u30BF\u30FC\u8272",weight:"\u91CD\u307F\uFF1A\u4E26\u3073\u66FF\u3048\u7528\u306E\u6570\u5024\uFF08\u91CD\u307F\u304C\u9AD8\u3044\u307B\u3069\u30EA\u30B9\u30C8\u3067\u5148\u306B\u8868\u793A\uFF09",weightNote:"\u30BF\u30B9\u30AF\u306F\u512A\u5148\u5EA6\u306E\u91CD\u307F\u3067\u81EA\u52D5\u7684\u306B\u964D\u9806\u3067\u4E26\u3073\u66FF\u3048\u3089\u308C\u307E\u3059\uFF08\u6700\u9AD8\u91CD\u307F\u304C\u6700\u521D\uFF09\u3002\u91CD\u307F\u306F\u4EFB\u610F\u306E\u6B63\u306E\u6570\u5024\u3067\u3059\u3002"},addNew:{name:"\u65B0\u3057\u3044\u512A\u5148\u5EA6\u3092\u8FFD\u52A0",description:"\u30BF\u30B9\u30AF\u306E\u65B0\u3057\u3044\u512A\u5148\u5EA6\u30EC\u30D9\u30EB\u3092\u4F5C\u6210",buttonText:"\u512A\u5148\u5EA6\u3092\u8FFD\u52A0"},validationNote:"\u6CE8\u610F\uFF1A\u5C11\u306A\u304F\u3068\u30821\u3064\u306E\u512A\u5148\u5EA6\u304C\u5FC5\u8981\u3067\u3059\u3002\u512A\u5148\u5EA6\u306FBases\u30D3\u30E5\u30FC\u3067\u5024\u306E\u30A2\u30EB\u30D5\u30A1\u30D9\u30C3\u30C8\u9806\u306B\u30BD\u30FC\u30C8\u3055\u308C\u307E\u3059\u3002",emptyState:"\u30AB\u30B9\u30BF\u30E0\u512A\u5148\u5EA6\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u512A\u5148\u5EA6\u3092\u8FFD\u52A0\u3057\u3066\u958B\u59CB\u3057\u3066\u304F\u3060\u3055\u3044\u3002",emptyStateButton:"\u512A\u5148\u5EA6\u3092\u8FFD\u52A0",fields:{value:"\u5024\uFF1A",label:"\u30E9\u30D9\u30EB\uFF1A",color:"\u8272\uFF1A",weight:"\u91CD\u307F\uFF1A"},placeholders:{value:"\u9AD8",label:"\u9AD8\u512A\u5148\u5EA6"},weightLabel:"\u91CD\u307F\uFF1A{weight}",deleteConfirm:"\u5C11\u306A\u304F\u3068\u30821\u3064\u306E\u512A\u5148\u5EA6\u304C\u5FC5\u8981\u3067\u3059",deleteTooltip:"\u512A\u5148\u5EA6\u3092\u524A\u9664"},fieldMapping:{header:"\u30D5\u30A3\u30FC\u30EB\u30C9\u30DE\u30C3\u30D4\u30F3\u30B0",warning:"\u26A0\uFE0F \u8B66\u544A\uFF1ATaskNotes\u306F\u3053\u308C\u3089\u306E\u30D7\u30ED\u30D1\u30C6\u30A3\u540D\u3092\u8AAD\u307F\u66F8\u304D\u3057\u307E\u3059\u3002\u30BF\u30B9\u30AF\u4F5C\u6210\u5F8C\u306B\u3053\u308C\u3089\u3092\u5909\u66F4\u3059\u308B\u3068\u4E0D\u6574\u5408\u304C\u751F\u3058\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002",description:"TaskNotes\u304C\u5404\u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u4F7F\u7528\u3059\u308B\u30D5\u30ED\u30F3\u30C8\u30DE\u30BF\u30FC\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002",resetButton:{name:"\u30D5\u30A3\u30FC\u30EB\u30C9\u30DE\u30C3\u30D4\u30F3\u30B0\u3092\u30EA\u30BB\u30C3\u30C8",description:"\u3059\u3079\u3066\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u30DE\u30C3\u30D4\u30F3\u30B0\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u306B\u30EA\u30BB\u30C3\u30C8",buttonText:"\u30C7\u30D5\u30A9\u30EB\u30C8\u306B\u30EA\u30BB\u30C3\u30C8"},notices:{resetSuccess:"\u30D5\u30A3\u30FC\u30EB\u30C9\u30DE\u30C3\u30D4\u30F3\u30B0\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u306B\u30EA\u30BB\u30C3\u30C8\u3057\u307E\u3057\u305F",resetFailure:"\u30D5\u30A3\u30FC\u30EB\u30C9\u30DE\u30C3\u30D4\u30F3\u30B0\u306E\u30EA\u30BB\u30C3\u30C8\u306B\u5931\u6557\u3057\u307E\u3057\u305F",updateFailure:"{label}\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u30DE\u30C3\u30D4\u30F3\u30B0\u66F4\u65B0\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u518D\u8A66\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},table:{fieldHeader:"TaskNotes\u30D5\u30A3\u30FC\u30EB\u30C9",propertyHeader:"\u3042\u306A\u305F\u306E\u30D7\u30ED\u30D1\u30C6\u30A3\u540D"},fields:{title:"\u30BF\u30A4\u30C8\u30EB",status:"\u30B9\u30C6\u30FC\u30BF\u30B9",priority:"\u512A\u5148\u5EA6",due:"\u671F\u9650\u65E5",scheduled:"\u4E88\u5B9A\u65E5",contexts:"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8",projects:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8",timeEstimate:"\u6642\u9593\u898B\u7A4D\u3082\u308A",recurrence:"\u7E70\u308A\u8FD4\u3057",dateCreated:"\u4F5C\u6210\u65E5",completedDate:"\u5B8C\u4E86\u65E5",dateModified:"\u5909\u66F4\u65E5",archiveTag:"\u30A2\u30FC\u30AB\u30A4\u30D6\u30BF\u30B0",timeEntries:"\u6642\u9593\u30A8\u30F3\u30C8\u30EA",completeInstances:"\u5B8C\u4E86\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9",blockedBy:"\u30D6\u30ED\u30C3\u30AF\u5143",sortOrder:"\u624B\u52D5\u9806\u5E8F",pomodoros:"\u30DD\u30E2\u30C9\u30FC\u30ED",icsEventId:"ICS\u30A4\u30D9\u30F3\u30C8ID",icsEventTag:"ICS\u30A4\u30D9\u30F3\u30C8\u30BF\u30B0",reminders:"\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC"}},customUserFields:{header:"\u30AB\u30B9\u30BF\u30E0\u30E6\u30FC\u30B6\u30FC\u30D5\u30A3\u30FC\u30EB\u30C9",description:"\u3059\u3079\u3066\u306E\u30D3\u30E5\u30FC\u3067\u578B\u8A8D\u8B58\u30D5\u30A3\u30EB\u30BF\u30FC\u30AA\u30D7\u30B7\u30E7\u30F3\u3068\u3057\u3066\u8868\u793A\u3055\u308C\u308B\u30AB\u30B9\u30BF\u30E0\u30D5\u30ED\u30F3\u30C8\u30DE\u30BF\u30FC\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u5B9A\u7FA9\u3057\u307E\u3059\u3002\u5404\u884C\uFF1A\u8868\u793A\u540D\u3001\u30D7\u30ED\u30D1\u30C6\u30A3\u540D\u3001\u30BF\u30A4\u30D7\u3002",addNew:{name:"\u65B0\u3057\u3044\u30E6\u30FC\u30B6\u30FC\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u8FFD\u52A0",description:"\u30D5\u30A3\u30EB\u30BF\u30FC\u3068\u30D3\u30E5\u30FC\u306B\u8868\u793A\u3055\u308C\u308B\u65B0\u3057\u3044\u30AB\u30B9\u30BF\u30E0\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u4F5C\u6210",buttonText:"\u30E6\u30FC\u30B6\u30FC\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u8FFD\u52A0"},emptyState:"\u30AB\u30B9\u30BF\u30E0\u30E6\u30FC\u30B6\u30FC\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u8FFD\u52A0\u3057\u3066\u30BF\u30B9\u30AF\u306E\u30AB\u30B9\u30BF\u30E0\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u4F5C\u6210\u3057\u3066\u304F\u3060\u3055\u3044\u3002",emptyStateButton:"\u30E6\u30FC\u30B6\u30FC\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u8FFD\u52A0",fields:{displayName:"\u8868\u793A\u540D\uFF1A",propertyKey:"\u30D7\u30ED\u30D1\u30C6\u30A3\u30AD\u30FC\uFF1A",type:"\u30BF\u30A4\u30D7\uFF1A",defaultValue:"\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\uFF1A"},placeholders:{displayName:"\u8868\u793A\u540D",propertyKey:"\u30D7\u30ED\u30D1\u30C6\u30A3\u540D",defaultValue:"\u30C7\u30D5\u30A9\u30EB\u30C8\u5024",defaultValueList:"\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\uFF08\u30AB\u30F3\u30DE\u533A\u5207\u308A\uFF09"},types:{text:"\u30C6\u30AD\u30B9\u30C8",number:"\u6570\u5024",boolean:"\u30D6\u30FC\u30EB",date:"\u65E5\u4ED8",list:"\u30EA\u30B9\u30C8"},defaultNames:{unnamedField:"\u540D\u524D\u306A\u3057\u30D5\u30A3\u30FC\u30EB\u30C9",noKey:"\u30AD\u30FC\u306A\u3057"},deleteTooltip:"\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u524A\u9664",autosuggestFilters:{header:"\u81EA\u52D5\u63D0\u6848\u30D5\u30A3\u30EB\u30BF\u30FC",description:"\u30BF\u30B9\u30AF\u4F5C\u6210\u6642\u306B\u30AB\u30B9\u30BF\u30E0\u30E6\u30FC\u30B6\u30FC\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u81EA\u52D5\u63D0\u6848\u3092\u30D5\u30A3\u30EB\u30BF\u30FC\u3057\u307E\u3059\u3002\u5404\u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u5BFE\u3057\u3066\u3001\u63D0\u6848\u3055\u308C\u308B\u5024\u3092\u7279\u5B9A\u306E\u30BF\u30B0\u3001\u30D5\u30A9\u30EB\u30C0\u30FC\u3001\u307E\u305F\u306F\u30D7\u30ED\u30D1\u30C6\u30A3\u5024\u3092\u6301\u3064\u30CE\u30FC\u30C8\u306B\u5236\u9650\u3067\u304D\u307E\u3059\u3002"}}},appearance:{taskCards:{header:"\u30BF\u30B9\u30AF\u30AB\u30FC\u30C9",description:"\u3059\u3079\u3066\u306E\u30D3\u30E5\u30FC\u3067\u30BF\u30B9\u30AF\u30AB\u30FC\u30C9\u306E\u8868\u793A\u65B9\u6CD5\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002",defaultVisibleProperties:{name:"\u30C7\u30D5\u30A9\u30EB\u30C8\u8868\u793A\u30D7\u30ED\u30D1\u30C6\u30A3",description:"\u30BF\u30B9\u30AF\u30AB\u30FC\u30C9\u306B\u30C7\u30D5\u30A9\u30EB\u30C8\u3067\u8868\u793A\u3059\u308B\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u9078\u629E\u3057\u307E\u3059\u3002"},propertyGroups:{coreProperties:"\u30B3\u30A2\u30D7\u30ED\u30D1\u30C6\u30A3",organization:"\u7D44\u7E54",customProperties:"\u30AB\u30B9\u30BF\u30E0\u30D7\u30ED\u30D1\u30C6\u30A3"},properties:{status:"\u30B9\u30C6\u30FC\u30BF\u30B9\u30C9\u30C3\u30C8",priority:"\u512A\u5148\u5EA6\u30C9\u30C3\u30C8",due:"\u671F\u9650\u65E5",scheduled:"\u4E88\u5B9A\u65E5",timeEstimate:"\u6642\u9593\u898B\u7A4D\u3082\u308A",totalTrackedTime:"\u7DCF\u8FFD\u8DE1\u6642\u9593",checklistProgress:"\u30C1\u30A7\u30C3\u30AF\u30EA\u30B9\u30C8\u306E\u9032\u6357",recurrence:"\u7E70\u308A\u8FD4\u3057",completedDate:"\u5B8C\u4E86\u65E5",createdDate:"\u4F5C\u6210\u65E5",modifiedDate:"\u5909\u66F4\u65E5",projects:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8",contexts:"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8",tags:"\u30BF\u30B0",blocked:"\u30D6\u30ED\u30C3\u30AF\u4E2D",blocking:"\u30D6\u30ED\u30C3\u30AF\u3057\u3066\u3044\u308B"}},taskFilenames:{header:"\u30BF\u30B9\u30AF\u30D5\u30A1\u30A4\u30EB\u540D",description:"\u30BF\u30B9\u30AF\u30D5\u30A1\u30A4\u30EB\u4F5C\u6210\u6642\u306E\u547D\u540D\u65B9\u6CD5\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002",storeTitleInFilename:{name:"\u30D5\u30A1\u30A4\u30EB\u540D\u306B\u30BF\u30A4\u30C8\u30EB\u3092\u4FDD\u5B58",description:"\u30BF\u30B9\u30AF\u30BF\u30A4\u30C8\u30EB\u3092\u30D5\u30A1\u30A4\u30EB\u540D\u3068\u3057\u3066\u4F7F\u7528\u3002\u30BF\u30B9\u30AF\u30BF\u30A4\u30C8\u30EB\u304C\u5909\u66F4\u3055\u308C\u308B\u3068\u30D5\u30A1\u30A4\u30EB\u540D\u3082\u66F4\u65B0\u3055\u308C\u307E\u3059\uFF08\u63A8\u5968\uFF09\u3002"},filenameFormat:{name:"\u30D5\u30A1\u30A4\u30EB\u540D\u5F62\u5F0F",description:"\u30BF\u30B9\u30AF\u30D5\u30A1\u30A4\u30EB\u540D\u306E\u751F\u6210\u65B9\u6CD5",options:{title:"\u30BF\u30B9\u30AF\u30BF\u30A4\u30C8\u30EB\uFF08\u975E\u66F4\u65B0\uFF09",zettel:"Zettelkasten\u5F62\u5F0F\uFF08YYMMDD + \u5348\u524D0\u6642\u304B\u3089\u306Ebase36\u79D2\uFF09",timestamp:"\u5B8C\u5168\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\uFF08YYYY-MM-DD-HHMMSS\uFF09",custom:"\u30AB\u30B9\u30BF\u30E0\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8"}},customTemplate:{name:"\u30AB\u30B9\u30BF\u30E0\u30D5\u30A1\u30A4\u30EB\u540D\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8",description:"\u30AB\u30B9\u30BF\u30E0\u30D5\u30A1\u30A4\u30EB\u540D\u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3002\u5229\u7528\u53EF\u80FD\u306A\u5909\u6570\uFF1A{title}, {titleLower}, {titleUpper}, {titleSnake}, {titleKebab}, {titleCamel}, {titlePascal}, {date}, {shortDate}, {time}, {time12}, {time24}, {timestamp}, {dateTime}, {year}, {month}, {monthName}, {monthNameShort}, {day}, {dayName}, {dayNameShort}, {hour}, {hour12}, {minute}, {second}, {milliseconds}, {ms}, {ampm}, {week}, {quarter}, {unix}, {unixMs}, {timezone}, {timezoneShort}, {utcOffset}, {utcOffsetShort}, {utcZ}, {zettel}, {nano}, {priority}, {priorityShort}, {status}, {statusShort}, {dueDate}, {scheduledDate}",placeholder:"{date}-{title}-{dueDate}",helpText:"\u6CE8\u610F\uFF1A{dueDate}\u3068{scheduledDate}\u306FYYYY-MM-DD\u5F62\u5F0F\u3067\u3001\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u306A\u3044\u5834\u5408\u306F\u7A7A\u306B\u306A\u308A\u307E\u3059\u3002"}},displayFormatting:{header:"\u8868\u793A\u5F62\u5F0F",description:"\u30D7\u30E9\u30B0\u30A4\u30F3\u5168\u4F53\u3067\u306E\u65E5\u4ED8\u3001\u6642\u9593\u3001\u305D\u306E\u4ED6\u306E\u30C7\u30FC\u30BF\u306E\u8868\u793A\u65B9\u6CD5\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002",timeFormat:{name:"\u6642\u9593\u5F62\u5F0F",description:"\u30D7\u30E9\u30B0\u30A4\u30F3\u5168\u4F53\u306712\u6642\u9593\u307E\u305F\u306F24\u6642\u9593\u5F62\u5F0F\u3067\u6642\u9593\u3092\u8868\u793A",options:{twelveHour:"12\u6642\u9593\uFF08AM/PM\uFF09",twentyFourHour:"24\u6642\u9593"}}},calendarView:{header:"\u30AB\u30EC\u30F3\u30C0\u30FC\u30D3\u30E5\u30FC",description:"\u30AB\u30EC\u30F3\u30C0\u30FC\u30D3\u30E5\u30FC\u306E\u5916\u89B3\u3068\u52D5\u4F5C\u3092\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA\u3057\u307E\u3059\u3002",defaultView:{name:"\u30C7\u30D5\u30A9\u30EB\u30C8\u30D3\u30E5\u30FC",description:"\u30AB\u30EC\u30F3\u30C0\u30FC\u30BF\u30D6\u3092\u958B\u304F\u969B\u306B\u8868\u793A\u3055\u308C\u308B\u30AB\u30EC\u30F3\u30C0\u30FC\u30D3\u30E5\u30FC",options:{monthGrid:"\u6708\u30B0\u30EA\u30C3\u30C9",weekTimeline:"\u9031\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3",dayTimeline:"\u65E5\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3",yearView:"\u5E74\u30D3\u30E5\u30FC",customMultiDay:"\u30AB\u30B9\u30BF\u30E0\u8907\u6570\u65E5"}},customDayCount:{name:"\u30AB\u30B9\u30BF\u30E0\u30D3\u30E5\u30FC\u65E5\u6570",description:"\u30AB\u30B9\u30BF\u30E0\u8907\u6570\u65E5\u30D3\u30E5\u30FC\u3067\u8868\u793A\u3059\u308B\u65E5\u6570",placeholder:"3"},firstDayOfWeek:{name:"\u9031\u306E\u6700\u521D\u306E\u65E5",description:"\u9031\u30D3\u30E5\u30FC\u3067\u6700\u521D\u306E\u5217\u306B\u3059\u308B\u66DC\u65E5"},showWeekends:{name:"\u9031\u672B\u3092\u8868\u793A",description:"\u30AB\u30EC\u30F3\u30C0\u30FC\u30D3\u30E5\u30FC\u3067\u9031\u672B\u3092\u8868\u793A"},showWeekNumbers:{name:"\u9031\u756A\u53F7\u3092\u8868\u793A",description:"\u30AB\u30EC\u30F3\u30C0\u30FC\u30D3\u30E5\u30FC\u3067\u9031\u756A\u53F7\u3092\u8868\u793A"},showTodayHighlight:{name:"\u4ECA\u65E5\u306E\u30CF\u30A4\u30E9\u30A4\u30C8\u3092\u8868\u793A",description:"\u30AB\u30EC\u30F3\u30C0\u30FC\u30D3\u30E5\u30FC\u3067\u73FE\u5728\u306E\u65E5\u3092\u30CF\u30A4\u30E9\u30A4\u30C8"},showCurrentTimeIndicator:{name:"\u73FE\u5728\u6642\u523B\u30A4\u30F3\u30B8\u30B1\u30FC\u30BF\u30FC\u3092\u8868\u793A",description:"\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u30D3\u30E5\u30FC\u3067\u73FE\u5728\u6642\u523B\u3092\u793A\u3059\u30E9\u30A4\u30F3\u3092\u8868\u793A"},selectionMirror:{name:"\u9078\u629E\u30DF\u30E9\u30FC",description:"\u30C9\u30E9\u30C3\u30B0\u3057\u3066\u6642\u9593\u7BC4\u56F2\u3092\u9078\u629E\u3059\u308B\u969B\u306B\u8996\u899A\u7684\u30D7\u30EC\u30D3\u30E5\u30FC\u3092\u8868\u793A"},calendarLocale:{name:"\u30AB\u30EC\u30F3\u30C0\u30FC\u30ED\u30B1\u30FC\u30EB",description:'\u65E5\u4ED8\u5F62\u5F0F\u3068\u30AB\u30EC\u30F3\u30C0\u30FC\u30B7\u30B9\u30C6\u30E0\u306E\u30AB\u30EC\u30F3\u30C0\u30FC\u30ED\u30B1\u30FC\u30EB\uFF08\u4F8B\uFF1A"en"\u3001"fa"\u306FFarsi/Persian\u3001"de"\u306FGerman\uFF09\u3002\u30D6\u30E9\u30A6\u30B6\u30FC\u304B\u3089\u81EA\u52D5\u691C\u51FA\u3059\u308B\u306B\u306F\u7A7A\u767D\u306E\u307E\u307E\u306B\u3057\u307E\u3059\u3002',placeholder:"\u81EA\u52D5\u691C\u51FA",invalidLocale:"\u7121\u52B9\u306A\u30ED\u30B1\u30FC\u30EB\u3067\u3059\u3002\u6709\u52B9\u306A\u8A00\u8A9E\u30BF\u30B0\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u4F8B\uFF1A'ja'\u3001'en'\u3001'fr-FR'\uFF09\u3002"}},defaultEventVisibility:{header:"\u30C7\u30D5\u30A9\u30EB\u30C8\u30A4\u30D9\u30F3\u30C8\u8868\u793A",description:"\u30AB\u30EC\u30F3\u30C0\u30FC\u3092\u958B\u304F\u969B\u306B\u30C7\u30D5\u30A9\u30EB\u30C8\u3067\u8868\u793A\u3055\u308C\u308B\u30A4\u30D9\u30F3\u30C8\u30BF\u30A4\u30D7\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002\u30E6\u30FC\u30B6\u30FC\u306F\u30AB\u30EC\u30F3\u30C0\u30FC\u30D3\u30E5\u30FC\u3067\u3053\u308C\u3089\u3092\u30AA\u30F3/\u30AA\u30D5\u3067\u304D\u307E\u3059\u3002",showScheduledTasks:{name:"\u4E88\u5B9A\u30BF\u30B9\u30AF\u3092\u8868\u793A",description:"\u4E88\u5B9A\u65E5\u306E\u3042\u308B\u30BF\u30B9\u30AF\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u3067\u8868\u793A"},showDueDates:{name:"\u671F\u9650\u65E5\u3092\u8868\u793A",description:"\u30BF\u30B9\u30AF\u306E\u671F\u9650\u65E5\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u3067\u8868\u793A"},showDueWhenScheduled:{name:"\u4E88\u5B9A\u304C\u3042\u308B\u5834\u5408\u3082\u671F\u9650\u65E5\u3092\u8868\u793A",description:"\u65E2\u306B\u4E88\u5B9A\u65E5\u304C\u3042\u308B\u30BF\u30B9\u30AF\u3067\u3082\u671F\u9650\u65E5\u3092\u8868\u793A"},showTimeEntries:{name:"\u6642\u9593\u30A8\u30F3\u30C8\u30EA\u3092\u8868\u793A",description:"\u5B8C\u4E86\u3057\u305F\u6642\u9593\u8FFD\u8DE1\u30A8\u30F3\u30C8\u30EA\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u3067\u8868\u793A"},showRecurringTasks:{name:"\u7E70\u308A\u8FD4\u3057\u30BF\u30B9\u30AF\u3092\u8868\u793A",description:"\u7E70\u308A\u8FD4\u3057\u30BF\u30B9\u30AF\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u3067\u8868\u793A"},showICSEvents:{name:"ICS\u30A4\u30D9\u30F3\u30C8\u3092\u8868\u793A",description:"ICS\u8CFC\u8AAD\u304B\u3089\u306E\u30A4\u30D9\u30F3\u30C8\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u3067\u8868\u793A"}},timeSettings:{header:"\u6642\u9593\u8A2D\u5B9A",description:"\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u30D3\u30E5\u30FC\u306E\u6642\u9593\u95A2\u9023\u8868\u793A\u8A2D\u5B9A\u3092\u69CB\u6210\u3057\u307E\u3059\u3002",timeSlotDuration:{name:"\u30BF\u30A4\u30E0\u30B9\u30ED\u30C3\u30C8\u9593\u9694",description:"\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u30D3\u30E5\u30FC\u3067\u306E\u5404\u30BF\u30A4\u30E0\u30B9\u30ED\u30C3\u30C8\u306E\u9593\u9694",options:{fifteenMinutes:"15\u5206",thirtyMinutes:"30\u5206",sixtyMinutes:"60\u5206"}},startTime:{name:"\u958B\u59CB\u6642\u523B",description:"\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u30D3\u30E5\u30FC\u3067\u8868\u793A\u3055\u308C\u308B\u6700\u65E9\u6642\u523B\uFF08HH:MM\u5F62\u5F0F\uFF09",placeholder:"06:00"},endTime:{name:"\u7D42\u4E86\u6642\u523B",description:"\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u30D3\u30E5\u30FC\u3067\u8868\u793A\u3055\u308C\u308B\u6700\u9045\u6642\u523B\uFF08HH:MM\u5F62\u5F0F\uFF09",placeholder:"22:00"},initialScrollTime:{name:"\u521D\u671F\u30B9\u30AF\u30ED\u30FC\u30EB\u6642\u523B",description:"\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u30D3\u30E5\u30FC\u3092\u958B\u304F\u969B\u306B\u30B9\u30AF\u30ED\u30FC\u30EB\u3059\u308B\u6642\u523B\uFF08HH:MM\u5F62\u5F0F\uFF09",placeholder:"09:00"},eventMinHeight:{name:"\u30A4\u30D9\u30F3\u30C8\u6700\u5C0F\u9AD8\u3055",description:"\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u30D3\u30E5\u30FC\u3067\u306E\u30A4\u30D9\u30F3\u30C8\u306E\u6700\u5C0F\u9AD8\u3055\uFF08\u30D4\u30AF\u30BB\u30EB\uFF09",placeholder:"15"}},uiElements:{header:"UI\u8981\u7D20",description:"\u69D8\u3005\u306AUI\u8981\u7D20\u306E\u8868\u793A\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002",showTrackedTasksInStatusBar:{name:"\u30B9\u30C6\u30FC\u30BF\u30B9\u30D0\u30FC\u306B\u8FFD\u8DE1\u30BF\u30B9\u30AF\u3092\u8868\u793A",description:"Obsidian\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u30D0\u30FC\u306B\u73FE\u5728\u8FFD\u8DE1\u4E2D\u306E\u30BF\u30B9\u30AF\u3092\u8868\u793A"},showProjectSubtasksWidget:{name:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B5\u30D6\u30BF\u30B9\u30AF\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u3092\u8868\u793A",description:"\u73FE\u5728\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30CE\u30FC\u30C8\u306E\u30B5\u30D6\u30BF\u30B9\u30AF\u3092\u8868\u793A\u3059\u308B\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u3092\u8868\u793A"},projectSubtasksPosition:{name:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B5\u30D6\u30BF\u30B9\u30AF\u4F4D\u7F6E",description:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B5\u30D6\u30BF\u30B9\u30AF\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u306E\u4F4D\u7F6E",options:{top:"\u30CE\u30FC\u30C8\u306E\u4E0A\u90E8",bottom:"\u30CE\u30FC\u30C8\u306E\u4E0B\u90E8"}},showRelationshipsWidget:{name:"\u95A2\u4FC2\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u3092\u8868\u793A",description:"\u73FE\u5728\u306E\u30CE\u30FC\u30C8\u306E\u3059\u3079\u3066\u306E\u95A2\u4FC2\uFF08\u30B5\u30D6\u30BF\u30B9\u30AF\u3001\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3001\u4F9D\u5B58\u95A2\u4FC2\uFF09\u3092\u8868\u793A\u3059\u308B\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u3092\u8868\u793A"},relationshipsPosition:{name:"\u95A2\u4FC2\u306E\u4F4D\u7F6E",description:"\u95A2\u4FC2\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u3092\u914D\u7F6E\u3059\u308B\u5834\u6240",options:{top:"\u30CE\u30FC\u30C8\u306E\u4E0A\u90E8",bottom:"\u30CE\u30FC\u30C8\u306E\u4E0B\u90E8"}},showTaskCardInNote:{name:"\u30CE\u30FC\u30C8\u5185\u306B\u30BF\u30B9\u30AF\u30AB\u30FC\u30C9\u3092\u8868\u793A",description:"\u30BF\u30B9\u30AF\u30CE\u30FC\u30C8\u3092\u958B\u3044\u305F\u3068\u304D\u306B\u30BF\u30B9\u30AF\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u8868\u793A\u3059\u308B\u30A4\u30F3\u30BF\u30E9\u30AF\u30C6\u30A3\u30D6\u30AB\u30FC\u30C9\u3092\u8868\u793A"},showExpandableSubtasks:{name:"\u5C55\u958B\u53EF\u80FD\u30B5\u30D6\u30BF\u30B9\u30AF\u3092\u8868\u793A",description:"\u30BF\u30B9\u30AF\u30AB\u30FC\u30C9\u3067\u30B5\u30D6\u30BF\u30B9\u30AF\u30BB\u30AF\u30B7\u30E7\u30F3\u306E\u5C55\u958B/\u6298\u308A\u305F\u305F\u307F\u3092\u8A31\u53EF"},subtaskChevronPosition:{name:"\u30B5\u30D6\u30BF\u30B9\u30AF\u30B7\u30A7\u30D6\u30ED\u30F3\u4F4D\u7F6E",description:"\u30BF\u30B9\u30AF\u30AB\u30FC\u30C9\u306E\u5C55\u958B/\u6298\u308A\u305F\u305F\u307F\u30B7\u30A7\u30D6\u30ED\u30F3\u306E\u4F4D\u7F6E",options:{left:"\u5DE6\u5074",right:"\u53F3\u5074"}},viewsButtonAlignment:{name:"\u30D3\u30E5\u30FC\u30DC\u30BF\u30F3\u914D\u7F6E",description:"\u30BF\u30B9\u30AF\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30FC\u30B9\u306E\u30D3\u30E5\u30FC/\u30D5\u30A3\u30EB\u30BF\u30FC\u30DC\u30BF\u30F3\u306E\u914D\u7F6E",options:{left:"\u5DE6\u5074",right:"\u53F3\u5074"}}},projectAutosuggest:{header:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u81EA\u52D5\u63D0\u6848",description:"\u30BF\u30B9\u30AF\u4F5C\u6210\u6642\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u63D0\u6848\u306E\u8868\u793A\u65B9\u6CD5\u3092\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA\u3057\u307E\u3059\u3002",requiredTags:{name:"\u5FC5\u9808\u30BF\u30B0",description:"\u3053\u308C\u3089\u306E\u30BF\u30B0\u306E\u3044\u305A\u308C\u304B\u3092\u6301\u3064\u30CE\u30FC\u30C8\u306E\u307F\u3092\u8868\u793A\uFF08\u30AB\u30F3\u30DE\u533A\u5207\u308A\uFF09\u3002\u3059\u3079\u3066\u306E\u30CE\u30FC\u30C8\u3092\u8868\u793A\u3059\u308B\u306B\u306F\u7A7A\u767D\u306E\u307E\u307E\u306B\u3057\u307E\u3059\u3002",placeholder:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8, \u30A2\u30AF\u30C6\u30A3\u30D6, \u91CD\u8981"},includeFolders:{name:"\u542B\u3081\u308B\u30D5\u30A9\u30EB\u30C0\u30FC",description:"\u3053\u308C\u3089\u306E\u30D5\u30A9\u30EB\u30C0\u30FC\u5185\u306E\u30CE\u30FC\u30C8\u306E\u307F\u3092\u8868\u793A\uFF08\u30AB\u30F3\u30DE\u533A\u5207\u308A\u30D1\u30B9\uFF09\u3002\u3059\u3079\u3066\u306E\u30D5\u30A9\u30EB\u30C0\u30FC\u3092\u8868\u793A\u3059\u308B\u306B\u306F\u7A7A\u767D\u306E\u307E\u307E\u306B\u3057\u307E\u3059\u3002",placeholder:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8/, \u4ED5\u4E8B/\u30A2\u30AF\u30C6\u30A3\u30D6, \u500B\u4EBA"},requiredPropertyKey:{name:"\u5FC5\u9808\u30D7\u30ED\u30D1\u30C6\u30A3\u30AD\u30FC",description:"\u3053\u306E\u30D5\u30ED\u30F3\u30C8\u30DE\u30BF\u30FC\u30D7\u30ED\u30D1\u30C6\u30A3\u304C\u4E0B\u8A18\u306E\u5024\u3068\u4E00\u81F4\u3059\u308B\u30CE\u30FC\u30C8\u306E\u307F\u3092\u8868\u793A\u3002\u7121\u8996\u3059\u308B\u306B\u306F\u7A7A\u767D\u306E\u307E\u307E\u306B\u3057\u307E\u3059\u3002",placeholder:"\u30BF\u30A4\u30D7"},requiredPropertyValue:{name:"\u5FC5\u9808\u30D7\u30ED\u30D1\u30C6\u30A3\u5024",description:"\u30D7\u30ED\u30D1\u30C6\u30A3\u304C\u3053\u306E\u5024\u3068\u7B49\u3057\u3044\u30CE\u30FC\u30C8\u306E\u307F\u304C\u63D0\u6848\u3055\u308C\u307E\u3059\u3002\u30D7\u30ED\u30D1\u30C6\u30A3\u306E\u5B58\u5728\u3092\u8981\u6C42\u3059\u308B\u306B\u306F\u7A7A\u767D\u306E\u307E\u307E\u306B\u3057\u307E\u3059\u3002",placeholder:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8"},customizeDisplay:{name:"\u63D0\u6848\u8868\u793A\u3092\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA",description:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u63D0\u6848\u306E\u8868\u793A\u65B9\u6CD5\u3068\u8868\u793A\u60C5\u5831\u3092\u8A2D\u5B9A\u3059\u308B\u9AD8\u5EA6\u306A\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u8868\u793A\u3002"},enableFuzzyMatching:{name:"\u30D5\u30A1\u30B8\u30FC\u30DE\u30C3\u30C1\u30F3\u30B0\u3092\u6709\u52B9\u306B\u3059\u308B",description:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u691C\u7D22\u3067\u30BF\u30A4\u30D7\u30DF\u30B9\u3068\u90E8\u5206\u4E00\u81F4\u3092\u8A31\u53EF\u3002\u5927\u304D\u306A\u30DC\u30EB\u30C8\u3067\u306F\u9045\u304F\u306A\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002"},displayRowsHelp:"\u5404\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u63D0\u6848\u306B\u8868\u793A\u3059\u308B\u6700\u59273\u884C\u306E\u60C5\u5831\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002",displayRows:{row1:{name:"\u884C1",description:"\u5F62\u5F0F\uFF1A{property|flags}\u3002\u30D7\u30ED\u30D1\u30C6\u30A3\uFF1Atitle\u3001aliases\u3001file.path\u3001file.parent\u3002\u30D5\u30E9\u30B0\uFF1An(Label)\u306F\u30E9\u30D9\u30EB\u3092\u8868\u793A\u3001s\u306F\u691C\u7D22\u53EF\u80FD\u306B\u3057\u307E\u3059\u3002\u4F8B\uFF1A{title|n(Title)|s}",placeholder:"{title|n(\u30BF\u30A4\u30C8\u30EB)}"},row2:{name:"\u884C2\uFF08\u30AA\u30D7\u30B7\u30E7\u30F3\uFF09",description:"\u4E00\u822C\u7684\u306A\u30D1\u30BF\u30FC\u30F3\uFF1A{aliases|n(Aliases)}\u3001{file.parent|n(Folder)}\u3001literal:\u30AB\u30B9\u30BF\u30E0\u30C6\u30AD\u30B9\u30C8",placeholder:"{aliases|n(\u30A8\u30A4\u30EA\u30A2\u30B9)}"},row3:{name:"\u884C3\uFF08\u30AA\u30D7\u30B7\u30E7\u30F3\uFF09",description:"{file.path|n(Path)}\u3084\u30AB\u30B9\u30BF\u30E0\u30D5\u30ED\u30F3\u30C8\u30DE\u30BF\u30FC\u30D5\u30A3\u30FC\u30EB\u30C9\u306A\u3069\u306E\u8FFD\u52A0\u60C5\u5831",placeholder:"{file.path|n(\u30D1\u30B9)}"}},quickReference:{header:"\u30AF\u30A4\u30C3\u30AF\u30EA\u30D5\u30A1\u30EC\u30F3\u30B9",properties:"\u5229\u7528\u53EF\u80FD\u30D7\u30ED\u30D1\u30C6\u30A3\uFF1Atitle\u3001aliases\u3001file.path\u3001file.parent\u3001\u307E\u305F\u306F\u4EFB\u610F\u306E\u30D5\u30ED\u30F3\u30C8\u30DE\u30BF\u30FC\u30D5\u30A3\u30FC\u30EB\u30C9",labels:'\u30E9\u30D9\u30EB\u8FFD\u52A0\uFF1A{title|n(Title)} \u2192 "Title: My Project"',searchable:"\u691C\u7D22\u53EF\u80FD\u306B\u3059\u308B\uFF1A{description|s}\u306F+\u691C\u7D22\u306B\u8AAC\u660E\u3092\u542B\u3081\u307E\u3059",staticText:"\u9759\u7684\u30C6\u30AD\u30B9\u30C8\uFF1Aliteral:My Custom Label",alwaysSearchable:"\u30D5\u30A1\u30A4\u30EB\u540D\u3001\u30BF\u30A4\u30C8\u30EB\u3001\u30A8\u30A4\u30EA\u30A2\u30B9\u306F\u30C7\u30D5\u30A9\u30EB\u30C8\u3067\u5E38\u306B\u691C\u7D22\u53EF\u80FD\u3067\u3059\u3002"}},dataStorage:{name:"\u30B9\u30C8\u30EC\u30FC\u30B8\u5834\u6240",description:"\u30DD\u30E2\u30C9\u30FC\u30ED\u30BB\u30C3\u30B7\u30E7\u30F3\u5C65\u6B74\u3092\u4FDD\u5B58\u3059\u308B\u5834\u6240",pluginData:"\u30D7\u30E9\u30B0\u30A4\u30F3\u30C7\u30FC\u30BF\uFF08\u63A8\u5968\uFF09",dailyNotes:"\u30C7\u30A4\u30EA\u30FC\u30CE\u30FC\u30C8",notices:{locationChanged:"\u30DD\u30E2\u30C9\u30FC\u30ED\u30B9\u30C8\u30EC\u30FC\u30B8\u5834\u6240\u3092{location}\u306B\u5909\u66F4\u3057\u307E\u3057\u305F"}},notifications:{description:"\u30BF\u30B9\u30AF\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u901A\u77E5\u3068\u30A2\u30E9\u30FC\u30C8\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002"},performance:{description:"\u30D7\u30E9\u30B0\u30A4\u30F3\u306E\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u3068\u52D5\u4F5C\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002"},timeTrackingSection:{description:"\u81EA\u52D5\u6642\u9593\u8FFD\u8DE1\u52D5\u4F5C\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002"},recurringSection:{description:"\u7E70\u308A\u8FD4\u3057\u30BF\u30B9\u30AF\u7BA1\u7406\u306E\u52D5\u4F5C\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002"}},integrations:{basesIntegration:{header:"Bases\u7D71\u5408",description:"Obsidian Bases\u30D7\u30E9\u30B0\u30A4\u30F3\u3068\u306E\u7D71\u5408\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002\u3053\u308C\u306F\u5B9F\u9A13\u7684\u6A5F\u80FD\u3067\u3001\u73FE\u5728\u975E\u516C\u958B\u306EObsidian API\u306B\u4F9D\u5B58\u3057\u3066\u3044\u307E\u3059\u3002\u52D5\u4F5C\u304C\u5909\u66F4\u307E\u305F\u306F\u7834\u640D\u3059\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002",enable:{name:"Bases\u7D71\u5408\u3092\u6709\u52B9\u306B\u3059\u308B",description:"TaskNotes\u30D3\u30E5\u30FC\u3092Obsidian Bases\u30D7\u30E9\u30B0\u30A4\u30F3\u5185\u3067\u4F7F\u7528\u3067\u304D\u308B\u3088\u3046\u306B\u3057\u307E\u3059\u3002\u3053\u308C\u304C\u6A5F\u80FD\u3059\u308B\u306B\u306FBases\u30D7\u30E9\u30B0\u30A4\u30F3\u304C\u6709\u52B9\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002"},viewCommands:{header:"\u30D3\u30E5\u30FC\u3068Base\u30D5\u30A1\u30A4\u30EB",description:"TaskNotes\u306FObsidian Bases\u30D5\u30A1\u30A4\u30EB\uFF08.base\uFF09\u3092\u4F7F\u7528\u3057\u3066\u30D3\u30E5\u30FC\u3092\u8868\u793A\u3057\u307E\u3059\u3002\u3053\u308C\u3089\u306E\u30D5\u30A1\u30A4\u30EB\u306F\u8D77\u52D5\u6642\u306B\u5B58\u5728\u3057\u306A\u3044\u5834\u5408\u306B\u81EA\u52D5\u7684\u306B\u751F\u6210\u3055\u308C\u3001\u73FE\u5728\u306E\u8A2D\u5B9A\uFF08\u30BF\u30B9\u30AF\u8B58\u5225\u3001\u30D5\u30A3\u30FC\u30EB\u30C9\u30DE\u30C3\u30D4\u30F3\u30B0\u3001\u30B9\u30C6\u30FC\u30BF\u30B9\u306A\u3069\uFF09\u3067\u69CB\u6210\u3055\u308C\u307E\u3059\u3002",descriptionRegen:"Base\u30D5\u30A1\u30A4\u30EB\u306F\u8A2D\u5B9A\u3092\u5909\u66F4\u3057\u3066\u3082\u81EA\u52D5\u7684\u306B\u306F\u66F4\u65B0\u3055\u308C\u307E\u305B\u3093\u3002\u65B0\u3057\u3044\u8A2D\u5B9A\u3092\u9069\u7528\u3059\u308B\u306B\u306F\u3001\u65E2\u5B58\u306E.base\u30D5\u30A1\u30A4\u30EB\u3092\u524A\u9664\u3057\u3066Obsidian\u3092\u518D\u8D77\u52D5\u3059\u308B\u304B\u3001\u4E0B\u306E\u300C\u30D5\u30A1\u30A4\u30EB\u3092\u4F5C\u6210\u300D\u3092\u4F7F\u7528\u3059\u308B\u304B\u3001\u624B\u52D5\u3067\u7DE8\u96C6\u3057\u3066\u304F\u3060\u3055\u3044\u3002",docsLink:"\u5229\u7528\u53EF\u80FD\u306A\u6570\u5F0F\u3068\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u8868\u793A",docsLinkUrl:"https://tasknotes.dev/views/default-base-templates",commands:{miniCalendar:"\u30DF\u30CB\u30AB\u30EC\u30F3\u30C0\u30FC\u30D3\u30E5\u30FC\u3092\u958B\u304F",kanban:"\u30AB\u30F3\u30D0\u30F3\u30D3\u30E5\u30FC\u3092\u958B\u304F",tasks:"\u30BF\u30B9\u30AF\u30D3\u30E5\u30FC\u3092\u958B\u304F",advancedCalendar:"\u9AD8\u5EA6\u306A\u30AB\u30EC\u30F3\u30C0\u30FC\u30D3\u30E5\u30FC\u3092\u958B\u304F",agenda:"\u30A2\u30B8\u30A7\u30F3\u30C0\u30D3\u30E5\u30FC\u3092\u958B\u304F",relationships:"\u95A2\u4FC2\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8"},fileLabel:"\u30D5\u30A1\u30A4\u30EB\uFF1A{path}",resetButton:"\u30EA\u30BB\u30C3\u30C8",resetTooltip:"\u30C7\u30D5\u30A9\u30EB\u30C8\u30D1\u30B9\u306B\u30EA\u30BB\u30C3\u30C8"},autoCreateDefaultFiles:{name:"\u30C7\u30D5\u30A9\u30EB\u30C8\u30D5\u30A1\u30A4\u30EB\u3092\u81EA\u52D5\u4F5C\u6210",description:"\u8D77\u52D5\u6642\u306B\u4E0D\u8DB3\u3057\u3066\u3044\u308B\u30C7\u30D5\u30A9\u30EB\u30C8\u306EBase\u30D3\u30E5\u30FC\u30D5\u30A1\u30A4\u30EB\u3092\u81EA\u52D5\u7684\u306B\u4F5C\u6210\u3057\u307E\u3059\u3002\u524A\u9664\u3057\u305F\u30B5\u30F3\u30D7\u30EB\u30D5\u30A1\u30A4\u30EB\u304C\u518D\u4F5C\u6210\u3055\u308C\u306A\u3044\u3088\u3046\u306B\u3059\u308B\u306B\u306F\u7121\u52B9\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},createDefaultFiles:{name:"\u30C7\u30D5\u30A9\u30EB\u30C8\u30D5\u30A1\u30A4\u30EB\u3092\u4F5C\u6210",description:"TaskNotes/Views/\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306B\u30C7\u30D5\u30A9\u30EB\u30C8\u306E.base\u30D5\u30A1\u30A4\u30EB\u3092\u4F5C\u6210\u3057\u307E\u3059\u3002\u65E2\u5B58\u306E\u30D5\u30A1\u30A4\u30EB\u306F\u4E0A\u66F8\u304D\u3055\u308C\u307E\u305B\u3093\u3002",buttonText:"\u30D5\u30A1\u30A4\u30EB\u3092\u4F5C\u6210"},exportV3Views:{name:"V3\u4FDD\u5B58\u30D3\u30E5\u30FC\u3092Bases\u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",description:"TaskNotes v3\u306E\u3059\u3079\u3066\u306E\u4FDD\u5B58\u30D3\u30E5\u30FC\u3092\u3001\u8907\u6570\u306E\u30D3\u30E5\u30FC\u3092\u6301\u3064\u5358\u4E00\u306E.base\u30D5\u30A1\u30A4\u30EB\u306B\u5909\u63DB\u3057\u307E\u3059\u3002\u3053\u308C\u306F\u3001v3\u30D5\u30A3\u30EB\u30BF\u30FC\u8A2D\u5B9A\u3092\u65B0\u3057\u3044Bases\u30B7\u30B9\u30C6\u30E0\u306B\u79FB\u884C\u3059\u308B\u306E\u306B\u5F79\u7ACB\u3061\u307E\u3059\u3002",buttonText:"V3\u30D3\u30E5\u30FC\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",noViews:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3059\u308B\u4FDD\u5B58\u30D3\u30E5\u30FC\u304C\u3042\u308A\u307E\u305B\u3093",fileExists:"\u30D5\u30A1\u30A4\u30EB\u304C\u65E2\u306B\u5B58\u5728\u3057\u307E\u3059",confirmOverwrite:'"{fileName}"\u3068\u3044\u3046\u540D\u524D\u306E\u30D5\u30A1\u30A4\u30EB\u304C\u65E2\u306B\u5B58\u5728\u3057\u307E\u3059\u3002\u4E0A\u66F8\u304D\u3057\u307E\u3059\u304B\uFF1F',success:"{count}\u500B\u306E\u4FDD\u5B58\u30D3\u30E5\u30FC\u3092{filePath}\u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3057\u305F",error:"\u30D3\u30E5\u30FC\u306E\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF1A{message}"},notices:{enabled:"Bases\u7D71\u5408\u304C\u6709\u52B9\u306B\u306A\u308A\u307E\u3057\u305F\u3002\u8A2D\u5B9A\u3092\u5B8C\u4E86\u3059\u308B\u305F\u3081\u306BObsidian\u3092\u518D\u8D77\u52D5\u3057\u3066\u304F\u3060\u3055\u3044\u3002",disabled:"Bases\u7D71\u5408\u304C\u7121\u52B9\u306B\u306A\u308A\u307E\u3057\u305F\u3002\u524A\u9664\u3092\u5B8C\u4E86\u3059\u308B\u305F\u3081\u306BObsidian\u3092\u518D\u8D77\u52D5\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}},calendarSubscriptions:{header:"\u30AB\u30EC\u30F3\u30C0\u30FC\u8CFC\u8AAD",description:"ICS/iCal URL\u3092\u4ECB\u3057\u3066\u5916\u90E8\u30AB\u30EC\u30F3\u30C0\u30FC\u3092\u8CFC\u8AAD\u3057\u3001\u30BF\u30B9\u30AF\u3068\u4E00\u7DD2\u306B\u30A4\u30D9\u30F3\u30C8\u3092\u8868\u793A\u3057\u307E\u3059\u3002",defaultNoteTemplate:{name:"\u30C7\u30D5\u30A9\u30EB\u30C8\u30CE\u30FC\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8",description:"ICS\u30A4\u30D9\u30F3\u30C8\u304B\u3089\u4F5C\u6210\u3055\u308C\u308B\u30CE\u30FC\u30C8\u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u30D5\u30A1\u30A4\u30EB\u3078\u306E\u30D1\u30B9",placeholder:"\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8/\u30A4\u30D9\u30F3\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8.md"},defaultNoteFolder:{name:"\u30C7\u30D5\u30A9\u30EB\u30C8\u30CE\u30FC\u30C8\u30D5\u30A9\u30EB\u30C0\u30FC",description:"ICS\u30A4\u30D9\u30F3\u30C8\u304B\u3089\u4F5C\u6210\u3055\u308C\u308B\u30CE\u30FC\u30C8\u306E\u30D5\u30A9\u30EB\u30C0\u30FC",placeholder:"\u30AB\u30EC\u30F3\u30C0\u30FC/\u30A4\u30D9\u30F3\u30C8"},filenameFormat:{name:"ICS\u30CE\u30FC\u30C8\u30D5\u30A1\u30A4\u30EB\u540D\u5F62\u5F0F",description:"ICS\u30A4\u30D9\u30F3\u30C8\u304B\u3089\u4F5C\u6210\u3055\u308C\u308B\u30CE\u30FC\u30C8\u306E\u30D5\u30A1\u30A4\u30EB\u540D\u751F\u6210\u65B9\u6CD5",options:{title:"\u30A4\u30D9\u30F3\u30C8\u30BF\u30A4\u30C8\u30EB",zettel:"Zettelkasten\u5F62\u5F0F",timestamp:"\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7",custom:"\u30AB\u30B9\u30BF\u30E0\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8"}},customTemplate:{name:"\u30AB\u30B9\u30BF\u30E0ICS\u30D5\u30A1\u30A4\u30EB\u540D\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8",description:"\u30AB\u30B9\u30BF\u30E0ICS\u30A4\u30D9\u30F3\u30C8\u30D5\u30A1\u30A4\u30EB\u540D\u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8",placeholder:"{date}-{title}"},useICSEndAsDue:{name:"ICS\u30A4\u30D9\u30F3\u30C8\u7D42\u4E86\u6642\u523B\u3092\u30BF\u30B9\u30AF\u671F\u65E5\u3068\u3057\u3066\u4F7F\u7528",description:"\u6709\u52B9\u306B\u3059\u308B\u3068\u3001\u30AB\u30EC\u30F3\u30C0\u30FC\u30A4\u30D9\u30F3\u30C8\u304B\u3089\u4F5C\u6210\u3055\u308C\u305F\u30BF\u30B9\u30AF\u306E\u671F\u65E5\u304C\u30A4\u30D9\u30F3\u30C8\u306E\u7D42\u4E86\u6642\u523B\u306B\u8A2D\u5B9A\u3055\u308C\u307E\u3059\u3002\u7D42\u65E5\u30A4\u30D9\u30F3\u30C8\u306E\u5834\u5408\u3001\u671F\u65E5\u306F\u30A4\u30D9\u30F3\u30C8\u306E\u65E5\u4ED8\u306B\u8A2D\u5B9A\u3055\u308C\u307E\u3059\u3002\u6642\u9593\u6307\u5B9A\u30A4\u30D9\u30F3\u30C8\u306E\u5834\u5408\u3001\u671F\u65E5\u306B\u7D42\u4E86\u6642\u523B\u304C\u542B\u307E\u308C\u307E\u3059\u3002"}},subscriptionsList:{header:"\u30AB\u30EC\u30F3\u30C0\u30FC\u8CFC\u8AAD\u30EA\u30B9\u30C8",addSubscription:{name:"\u30AB\u30EC\u30F3\u30C0\u30FC\u8CFC\u8AAD\u3092\u8FFD\u52A0",description:"ICS/iCal URL\u307E\u305F\u306F\u30ED\u30FC\u30AB\u30EB\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u65B0\u3057\u3044\u30AB\u30EC\u30F3\u30C0\u30FC\u8CFC\u8AAD\u3092\u8FFD\u52A0",buttonText:"\u8CFC\u8AAD\u3092\u8FFD\u52A0"},refreshAll:{name:"\u3059\u3079\u3066\u306E\u8CFC\u8AAD\u3092\u66F4\u65B0",description:"\u6709\u52B9\u306A\u3059\u3079\u3066\u306E\u30AB\u30EC\u30F3\u30C0\u30FC\u8CFC\u8AAD\u3092\u624B\u52D5\u3067\u66F4\u65B0",buttonText:"\u3059\u3079\u3066\u66F4\u65B0"},newCalendarName:"\u65B0\u3057\u3044\u30AB\u30EC\u30F3\u30C0\u30FC",emptyState:"\u30AB\u30EC\u30F3\u30C0\u30FC\u8CFC\u8AAD\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u8CFC\u8AAD\u3092\u8FFD\u52A0\u3057\u3066\u5916\u90E8\u30AB\u30EC\u30F3\u30C0\u30FC\u3092\u540C\u671F\u3057\u3066\u304F\u3060\u3055\u3044\u3002",notices:{addSuccess:"\u65B0\u3057\u3044\u30AB\u30EC\u30F3\u30C0\u30FC\u8CFC\u8AAD\u304C\u8FFD\u52A0\u3055\u308C\u307E\u3057\u305F - \u8A73\u7D30\u3092\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",addFailure:"\u8CFC\u8AAD\u306E\u8FFD\u52A0\u306B\u5931\u6557\u3057\u307E\u3057\u305F",serviceUnavailable:"ICS\u8CFC\u8AAD\u30B5\u30FC\u30D3\u30B9\u304C\u5229\u7528\u3067\u304D\u307E\u305B\u3093",refreshSuccess:"\u3059\u3079\u3066\u306E\u30AB\u30EC\u30F3\u30C0\u30FC\u8CFC\u8AAD\u304C\u6B63\u5E38\u306B\u66F4\u65B0\u3055\u308C\u307E\u3057\u305F",refreshFailure:"\u4E00\u90E8\u306E\u30AB\u30EC\u30F3\u30C0\u30FC\u8CFC\u8AAD\u306E\u66F4\u65B0\u306B\u5931\u6557\u3057\u307E\u3057\u305F",updateFailure:"\u8CFC\u8AAD\u306E\u66F4\u65B0\u306B\u5931\u6557\u3057\u307E\u3057\u305F",deleteSuccess:'\u8CFC\u8AAD"{name}"\u3092\u524A\u9664\u3057\u307E\u3057\u305F',deleteFailure:"\u8CFC\u8AAD\u306E\u524A\u9664\u306B\u5931\u6557\u3057\u307E\u3057\u305F",enableFirst:"\u6700\u521D\u306B\u8CFC\u8AAD\u3092\u6709\u52B9\u306B\u3057\u3066\u304F\u3060\u3055\u3044",refreshSubscriptionSuccess:'"{name}"\u3092\u66F4\u65B0\u3057\u307E\u3057\u305F',refreshSubscriptionFailure:"\u8CFC\u8AAD\u306E\u66F4\u65B0\u306B\u5931\u6557\u3057\u307E\u3057\u305F"},labels:{enabled:"\u6709\u52B9\uFF1A",name:"\u540D\u524D\uFF1A",type:"\u30BF\u30A4\u30D7\uFF1A",url:"URL\uFF1A",filePath:"\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\uFF1A",color:"\u8272\uFF1A",refreshMinutes:"\u66F4\u65B0\uFF08\u5206\uFF09\uFF1A"},typeOptions:{remote:"\u30EA\u30E2\u30FC\u30C8URL",local:"\u30ED\u30FC\u30AB\u30EB\u30D5\u30A1\u30A4\u30EB"},placeholders:{calendarName:"\u30AB\u30EC\u30F3\u30C0\u30FC\u540D",url:"ICS/iCal \u306EURL",filePath:"\u30ED\u30FC\u30AB\u30EB\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\uFF08\u4F8B\uFF1ACalendar.ics\uFF09",localFile:"\u30AB\u30EC\u30F3\u30C0\u30FC.ics"},statusLabels:{enabled:"\u6709\u52B9",disabled:"\u7121\u52B9",remote:"\u30EA\u30E2\u30FC\u30C8",localFile:"\u30ED\u30FC\u30AB\u30EB\u30D5\u30A1\u30A4\u30EB",remoteCalendar:"\u30EA\u30E2\u30FC\u30C8\u30AB\u30EC\u30F3\u30C0\u30FC",localFileCalendar:"\u30ED\u30FC\u30AB\u30EB\u30D5\u30A1\u30A4\u30EB",synced:"{timeAgo}\u306B\u540C\u671F",error:"\u30A8\u30E9\u30FC"},actions:{refreshNow:"\u4ECA\u3059\u3050\u66F4\u65B0",deleteSubscription:"\u8CFC\u8AAD\u3092\u524A\u9664"},refreshNow:"\u4ECA\u3059\u3050\u66F4\u65B0",confirmDelete:{title:"\u8CFC\u8AAD\u3092\u524A\u9664",message:'\u8CFC\u8AAD"{name}"\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B\uFF1F\u3053\u306E\u64CD\u4F5C\u306F\u5143\u306B\u623B\u305B\u307E\u305B\u3093\u3002',confirmText:"\u524A\u9664"}},autoExport:{header:"\u81EA\u52D5ICS\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",description:"\u3059\u3079\u3066\u306E\u30BF\u30B9\u30AF\u3092\u81EA\u52D5\u7684\u306BICS\u30D5\u30A1\u30A4\u30EB\u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059\u3002",enable:{name:"\u81EA\u52D5\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3092\u6709\u52B9\u306B\u3059\u308B",description:"\u3059\u3079\u3066\u306E\u30BF\u30B9\u30AF\u3067ICS\u30D5\u30A1\u30A4\u30EB\u3092\u81EA\u52D5\u7684\u306B\u66F4\u65B0\u3057\u7D9A\u3051\u308B"},filePath:{name:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9",description:"ICS\u30D5\u30A1\u30A4\u30EB\u3092\u4FDD\u5B58\u3059\u308B\u30D1\u30B9\uFF08\u30DC\u30EB\u30C8\u30EB\u30FC\u30C8\u304B\u3089\u306E\u76F8\u5BFE\u30D1\u30B9\uFF09",placeholder:"tasknotes-\u30AB\u30EC\u30F3\u30C0\u30FC.ics"},interval:{name:"\u66F4\u65B0\u9593\u9694\uFF085\u304B\u30891440\u5206\u306E\u9593\uFF09",description:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30D5\u30A1\u30A4\u30EB\u3092\u66F4\u65B0\u3059\u308B\u983B\u5EA6",placeholder:"60"},useDuration:{name:"\u30BF\u30B9\u30AF\u306E\u6240\u8981\u6642\u9593\u3092\u30A4\u30D9\u30F3\u30C8\u306E\u9577\u3055\u306B\u4F7F\u7528",description:"\u6709\u52B9\u306B\u3059\u308B\u3068\u3001\u30AB\u30EC\u30F3\u30C0\u30FC\u30A4\u30D9\u30F3\u30C8\u306E\u7D42\u4E86\u6642\u523B\u306B\u671F\u65E5\u3067\u306F\u306A\u304F\u30BF\u30B9\u30AF\u306E\u898B\u7A4D\u6642\u9593\uFF08\u6240\u8981\u6642\u9593\uFF09\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002\u3053\u308C\u306F\u3001\u4E88\u5B9A + \u6240\u8981\u6642\u9593\u304C\u4F5C\u696D\u8A08\u753B\u3092\u8868\u3057\u3001\u671F\u65E5\u304C\u7DE0\u3081\u5207\u308A\u3092\u8868\u3059GTD\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u306B\u4FBF\u5229\u3067\u3059\u3002"},exportNow:{name:"\u4ECA\u3059\u3050\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",description:"\u5373\u5EA7\u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3092\u624B\u52D5\u3067\u30C8\u30EA\u30AC\u30FC",buttonText:"\u4ECA\u3059\u3050\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8"},status:{title:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30B9\u30C6\u30FC\u30BF\u30B9\uFF1A",lastExport:"\u6700\u5F8C\u306E\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\uFF1A{time}",nextExport:"\u6B21\u306E\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\uFF1A{time}",noExports:"\u307E\u3060\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093",notScheduled:"\u30B9\u30B1\u30B8\u30E5\u30FC\u30EB\u3055\u308C\u3066\u3044\u307E\u305B\u3093",notInitialized:"\u81EA\u52D5\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30B5\u30FC\u30D3\u30B9\u304C\u521D\u671F\u5316\u3055\u308C\u3066\u3044\u307E\u305B\u3093 - Obsidian\u3092\u518D\u8D77\u52D5\u3057\u3066\u304F\u3060\u3055\u3044",serviceNotInitialized:"\u30B5\u30FC\u30D3\u30B9\u304C\u521D\u671F\u5316\u3055\u308C\u3066\u3044\u307E\u305B\u3093 - Obsidian\u3092\u518D\u8D77\u52D5\u3057\u3066\u304F\u3060\u3055\u3044"},notices:{reloadRequired:"\u81EA\u52D5\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u306E\u5909\u66F4\u3092\u6709\u52B9\u306B\u3059\u308B\u305F\u3081\u306BObsidian\u3092\u518D\u8AAD\u307F\u8FBC\u307F\u3057\u3066\u304F\u3060\u3055\u3044\u3002",exportSuccess:"\u30BF\u30B9\u30AF\u304C\u6B63\u5E38\u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3055\u308C\u307E\u3057\u305F",exportFailure:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u306B\u5931\u6557\u3057\u307E\u3057\u305F - \u8A73\u7D30\u306F\u30B3\u30F3\u30BD\u30FC\u30EB\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044",serviceUnavailable:"\u81EA\u52D5\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30B5\u30FC\u30D3\u30B9\u304C\u5229\u7528\u3067\u304D\u307E\u305B\u3093"}},googleCalendarExport:{header:"\u30BF\u30B9\u30AF\u3092Google\u30AB\u30EC\u30F3\u30C0\u30FC\u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",description:"\u30BF\u30B9\u30AF\u3092\u81EA\u52D5\u7684\u306BGoogle\u30AB\u30EC\u30F3\u30C0\u30FC\u306E\u30A4\u30D9\u30F3\u30C8\u3068\u3057\u3066\u540C\u671F\u3057\u307E\u3059\u3002\u4E0A\u8A18\u3067Google\u30AB\u30EC\u30F3\u30C0\u30FC\u304C\u63A5\u7D9A\u3055\u308C\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002",enable:{name:"\u30BF\u30B9\u30AF\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3092\u6709\u52B9\u306B\u3059\u308B",description:"\u6709\u52B9\u306B\u3059\u308B\u3068\u3001\u65E5\u4ED8\u306E\u3042\u308B\u30BF\u30B9\u30AF\u304C\u81EA\u52D5\u7684\u306BGoogle\u30AB\u30EC\u30F3\u30C0\u30FC\u306B\u30A4\u30D9\u30F3\u30C8\u3068\u3057\u3066\u540C\u671F\u3055\u308C\u307E\u3059\u3002"},targetCalendar:{name:"\u30BF\u30FC\u30B2\u30C3\u30C8\u30AB\u30EC\u30F3\u30C0\u30FC",description:"\u30BF\u30B9\u30AF\u30A4\u30D9\u30F3\u30C8\u3092\u4F5C\u6210\u3059\u308B\u30AB\u30EC\u30F3\u30C0\u30FC\u3092\u9078\u629E\u3057\u307E\u3059\u3002",placeholder:"\u30AB\u30EC\u30F3\u30C0\u30FC\u3092\u9078\u629E...",connectFirst:"\u5148\u306BGoogle\u30AB\u30EC\u30F3\u30C0\u30FC\u3092\u63A5\u7D9A\u3057\u3066\u304F\u3060\u3055\u3044",primarySuffix:"\uFF08\u30E1\u30A4\u30F3\uFF09"},syncTrigger:{name:"\u540C\u671F\u30C8\u30EA\u30AC\u30FC",description:"\u3069\u306E\u30BF\u30B9\u30AF\u65E5\u4ED8\u3067\u30AB\u30EC\u30F3\u30C0\u30FC\u30A4\u30D9\u30F3\u30C8\u3092\u4F5C\u6210\u3059\u308B\u304B\u3002",options:{scheduled:"\u4E88\u5B9A\u65E5",due:"\u671F\u9650",both:"\u4E21\u65B9\uFF08\u4E88\u5B9A\u65E5\u512A\u5148\uFF09"}},allDayEvents:{name:"\u7D42\u65E5\u30A4\u30D9\u30F3\u30C8\u3068\u3057\u3066\u4F5C\u6210",description:"\u6709\u52B9\u306B\u3059\u308B\u3068\u3001\u30BF\u30B9\u30AF\u306F\u7D42\u65E5\u30A4\u30D9\u30F3\u30C8\u3068\u3057\u3066\u4F5C\u6210\u3055\u308C\u307E\u3059\u3002\u7121\u52B9\u306B\u3059\u308B\u3068\u3001\u6642\u9593\u898B\u7A4D\u3082\u308A\u3092\u671F\u9593\u3068\u3057\u3066\u4F7F\u7528\u3057\u307E\u3059\u3002"},defaultDuration:{name:"\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30A4\u30D9\u30F3\u30C8\u671F\u9593",description:"\u6642\u9593\u6307\u5B9A\u30A4\u30D9\u30F3\u30C8\u306E\u671F\u9593\uFF08\u5206\uFF09\uFF08\u30BF\u30B9\u30AF\u306B\u6642\u9593\u898B\u7A4D\u3082\u308A\u304C\u306A\u3044\u5834\u5408\u306B\u4F7F\u7528\uFF09\u3002"},eventTitleTemplate:{name:"\u30A4\u30D9\u30F3\u30C8\u30BF\u30A4\u30C8\u30EB\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8",description:"\u30A4\u30D9\u30F3\u30C8\u30BF\u30A4\u30C8\u30EB\u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3002\u4F7F\u7528\u53EF\u80FD\u306A\u5909\u6570\uFF1A{{title}}\u3001{{status}}\u3001{{priority}}",placeholder:"{{title}}"},includeDescription:{name:"\u8AAC\u660E\u306B\u30BF\u30B9\u30AF\u8A73\u7D30\u3092\u542B\u3081\u308B",description:"\u30A4\u30D9\u30F3\u30C8\u306E\u8AAC\u660E\u306B\u30BF\u30B9\u30AF\u306E\u30E1\u30BF\u30C7\u30FC\u30BF\uFF08\u512A\u5148\u5EA6\u3001\u30B9\u30C6\u30FC\u30BF\u30B9\u3001\u30BF\u30B0\u306A\u3069\uFF09\u3092\u8FFD\u52A0\u3057\u307E\u3059\u3002"},includeObsidianLink:{name:"Obsidian\u30EA\u30F3\u30AF\u3092\u542B\u3081\u308B",description:"\u30A4\u30D9\u30F3\u30C8\u306E\u8AAC\u660E\u306BObsidian\u306E\u30BF\u30B9\u30AF\u3078\u306E\u30EA\u30F3\u30AF\u3092\u8FFD\u52A0\u3057\u307E\u3059\u3002"},defaultReminder:{name:"\u30C7\u30D5\u30A9\u30EB\u30C8\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC",description:"Google\u30AB\u30EC\u30F3\u30C0\u30FC\u30A4\u30D9\u30F3\u30C8\u306B\u30DD\u30C3\u30D7\u30A2\u30C3\u30D7\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u3092\u8FFD\u52A0\u3057\u307E\u3059\u3002\u30A4\u30D9\u30F3\u30C8\u524D\u306E\u5206\u6570\u3092\u8A2D\u5B9A\uFF080 = \u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u306A\u3057\uFF09\u3002\u4E00\u822C\u7684\u306A\u5024\uFF1A15\u300130\u300160\u30011440\uFF081\u65E5\uFF09\u3002"},automaticSyncBehavior:{header:"\u81EA\u52D5\u540C\u671F\u52D5\u4F5C"},syncOnCreate:{name:"\u30BF\u30B9\u30AF\u4F5C\u6210\u6642\u306B\u540C\u671F",description:"\u65B0\u3057\u3044\u30BF\u30B9\u30AF\u304C\u4F5C\u6210\u3055\u308C\u305F\u3068\u304D\u306B\u81EA\u52D5\u7684\u306B\u30AB\u30EC\u30F3\u30C0\u30FC\u30A4\u30D9\u30F3\u30C8\u3092\u4F5C\u6210\u3057\u307E\u3059\u3002"},syncOnUpdate:{name:"\u30BF\u30B9\u30AF\u66F4\u65B0\u6642\u306B\u540C\u671F",description:"\u30BF\u30B9\u30AF\u304C\u5909\u66F4\u3055\u308C\u305F\u3068\u304D\u306B\u81EA\u52D5\u7684\u306B\u30AB\u30EC\u30F3\u30C0\u30FC\u30A4\u30D9\u30F3\u30C8\u3092\u66F4\u65B0\u3057\u307E\u3059\u3002"},syncOnComplete:{name:"\u30BF\u30B9\u30AF\u5B8C\u4E86\u6642\u306B\u540C\u671F",description:"\u30BF\u30B9\u30AF\u304C\u5B8C\u4E86\u3057\u305F\u3068\u304D\u306B\u30AB\u30EC\u30F3\u30C0\u30FC\u30A4\u30D9\u30F3\u30C8\u3092\u66F4\u65B0\u3057\u307E\u3059\uFF08\u30BF\u30A4\u30C8\u30EB\u306B\u30C1\u30A7\u30C3\u30AF\u30DE\u30FC\u30AF\u3092\u8FFD\u52A0\uFF09\u3002"},syncOnDelete:{name:"\u30BF\u30B9\u30AF\u524A\u9664\u6642\u306B\u30A4\u30D9\u30F3\u30C8\u3092\u524A\u9664",description:"\u5BFE\u5FDC\u3059\u308B\u30BF\u30B9\u30AF\u304C\u524A\u9664\u3055\u308C\u305F\u3068\u304D\u306B\u30AB\u30EC\u30F3\u30C0\u30FC\u30A4\u30D9\u30F3\u30C8\u3092\u524A\u9664\u3057\u307E\u3059\u3002"},manualSyncActions:{header:"\u624B\u52D5\u540C\u671F\u30A2\u30AF\u30B7\u30E7\u30F3"},syncAllTasks:{name:"\u3059\u3079\u3066\u306E\u30BF\u30B9\u30AF\u3092\u540C\u671F",description:"\u3059\u3079\u3066\u306E\u65E2\u5B58\u30BF\u30B9\u30AF\u3092Google\u30AB\u30EC\u30F3\u30C0\u30FC\u306B\u540C\u671F\u3057\u307E\u3059\u3002\u307E\u3060\u540C\u671F\u3055\u308C\u3066\u3044\u306A\u3044\u30BF\u30B9\u30AF\u306E\u30A4\u30D9\u30F3\u30C8\u304C\u4F5C\u6210\u3055\u308C\u307E\u3059\u3002",buttonText:"\u3059\u3079\u3066\u540C\u671F"},unlinkAllTasks:{name:"\u3059\u3079\u3066\u306E\u30BF\u30B9\u30AF\u306E\u30EA\u30F3\u30AF\u3092\u89E3\u9664",description:"\u30AB\u30EC\u30F3\u30C0\u30FC\u30A4\u30D9\u30F3\u30C8\u3092\u524A\u9664\u305B\u305A\u306B\u3001\u3059\u3079\u3066\u306E\u30BF\u30B9\u30AF\u3068\u30A4\u30D9\u30F3\u30C8\u306E\u30EA\u30F3\u30AF\u3092\u89E3\u9664\u3057\u307E\u3059\u3002",buttonText:"\u3059\u3079\u3066\u30EA\u30F3\u30AF\u89E3\u9664",confirmTitle:"\u3059\u3079\u3066\u306E\u30BF\u30B9\u30AF\u306E\u30EA\u30F3\u30AF\u3092\u89E3\u9664",confirmMessage:"\u3053\u308C\u306B\u3088\u308A\u3001\u30BF\u30B9\u30AF\u3068\u30AB\u30EC\u30F3\u30C0\u30FC\u30A4\u30D9\u30F3\u30C8\u9593\u306E\u3059\u3079\u3066\u306E\u30EA\u30F3\u30AF\u304C\u524A\u9664\u3055\u308C\u307E\u3059\u3002\u30AB\u30EC\u30F3\u30C0\u30FC\u30A4\u30D9\u30F3\u30C8\u306F\u6B8B\u308A\u307E\u3059\u304C\u3001\u30BF\u30B9\u30AF\u304C\u5909\u66F4\u3055\u308C\u3066\u3082\u66F4\u65B0\u3055\u308C\u306A\u304F\u306A\u308A\u307E\u3059\u3002\u3088\u308D\u3057\u3044\u3067\u3059\u304B\uFF1F",confirmButtonText:"\u3059\u3079\u3066\u30EA\u30F3\u30AF\u89E3\u9664"},notices:{notEnabled:"Google\u30AB\u30EC\u30F3\u30C0\u30FC\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u304C\u6709\u52B9\u306B\u306A\u3063\u3066\u3044\u307E\u305B\u3093\u3002\u8A2D\u5B9A > \u7D71\u5408\u3067\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002",notEnabledOrConfigured:"Google\u30AB\u30EC\u30F3\u30C0\u30FC\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u304C\u6709\u52B9\u307E\u305F\u306F\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093",serviceNotAvailable:"\u30BF\u30B9\u30AF\u30AB\u30EC\u30F3\u30C0\u30FC\u540C\u671F\u30B5\u30FC\u30D3\u30B9\u304C\u5229\u7528\u3067\u304D\u307E\u305B\u3093",syncResults:"\u540C\u671F\u6E08\u307F\uFF1A{synced}\u3001\u5931\u6557\uFF1A{failed}\u3001\u30B9\u30AD\u30C3\u30D7\uFF1A{skipped}",taskSynced:"\u30BF\u30B9\u30AF\u3092Google\u30AB\u30EC\u30F3\u30C0\u30FC\u306B\u540C\u671F\u3057\u307E\u3057\u305F",noActiveFile:"\u73FE\u5728\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u30D5\u30A1\u30A4\u30EB\u304C\u3042\u308A\u307E\u305B\u3093",notATask:"\u73FE\u5728\u306E\u30D5\u30A1\u30A4\u30EB\u306F\u30BF\u30B9\u30AF\u3067\u306F\u3042\u308A\u307E\u305B\u3093",noDateToSync:"\u30BF\u30B9\u30AF\u306B\u540C\u671F\u3059\u308B\u4E88\u5B9A\u65E5\u307E\u305F\u306F\u671F\u9650\u304C\u3042\u308A\u307E\u305B\u3093",syncFailed:"\u30BF\u30B9\u30AF\u306EGoogle\u30AB\u30EC\u30F3\u30C0\u30FC\u3078\u306E\u540C\u671F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF1A{message}",connectionExpired:"Google \u30AB\u30EC\u30F3\u30C0\u30FC\u306E\u63A5\u7D9A\u304C\u671F\u9650\u5207\u308C\u3067\u3059\u3002\u8A2D\u5B9A > \u7D71\u5408\u3067\u518D\u63A5\u7D9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002",syncingTasks:"{total}\u4EF6\u306E\u30BF\u30B9\u30AF\u3092Google\u30AB\u30EC\u30F3\u30C0\u30FC\u306B\u540C\u671F\u4E2D...",syncComplete:"\u540C\u671F\u5B8C\u4E86\uFF1A{synced}\u4EF6\u540C\u671F\u3001{failed}\u4EF6\u5931\u6557\u3001{skipped}\u4EF6\u30B9\u30AD\u30C3\u30D7",eventsDeletedAndUnlinked:"\u3059\u3079\u3066\u306E\u30A4\u30D9\u30F3\u30C8\u304C\u524A\u9664\u3055\u308C\u3001\u30EA\u30F3\u30AF\u89E3\u9664\u3055\u308C\u307E\u3057\u305F",tasksUnlinked:"\u3059\u3079\u3066\u306E\u30BF\u30B9\u30AF\u30EA\u30F3\u30AF\u304C\u524A\u9664\u3055\u308C\u307E\u3057\u305F"},eventDescription:{untitledTask:"\u7121\u984C\u306E\u30BF\u30B9\u30AF",priority:"\u512A\u5148\u5EA6\uFF1A{value}",status:"\u30B9\u30C6\u30FC\u30BF\u30B9\uFF1A{value}",due:"\u671F\u9650\uFF1A{value}",scheduled:"\u4E88\u5B9A\uFF1A{value}",timeEstimate:"\u6642\u9593\u898B\u7A4D\u3082\u308A\uFF1A{value}",tags:"\u30BF\u30B0\uFF1A{value}",contexts:"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\uFF1A{value}",projects:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\uFF1A{value}",openInObsidian:"Obsidian\u3067\u958B\u304F"}},httpApi:{header:"HTTP API",description:"\u5916\u90E8\u7D71\u5408\u3068\u81EA\u52D5\u5316\u306E\u305F\u3081\u306EHTTP API\u3092\u6709\u52B9\u306B\u3057\u307E\u3059\u3002",enable:{name:"HTTP API\u3092\u6709\u52B9\u306B\u3059\u308B",description:"API\u30A2\u30AF\u30BB\u30B9\u7528\u306E\u30ED\u30FC\u30AB\u30EBHTTP\u30B5\u30FC\u30D0\u30FC\u3092\u958B\u59CB"},port:{name:"API\u30DD\u30FC\u30C8",description:"HTTP API\u30B5\u30FC\u30D0\u30FC\u306E\u30DD\u30FC\u30C8\u756A\u53F7",placeholder:"3000"},authToken:{name:"API\u8A8D\u8A3C\u30C8\u30FC\u30AF\u30F3",description:"API\u8A8D\u8A3C\u306B\u5FC5\u8981\u306A\u30C8\u30FC\u30AF\u30F3\uFF08\u8A8D\u8A3C\u306A\u3057\u306E\u5834\u5408\u306F\u7A7A\u767D\u306E\u307E\u307E\u306B\u3059\u308B\uFF09",placeholder:"\u3042\u306A\u305F\u306E\u30B7\u30FC\u30AF\u30EC\u30C3\u30C8\u30C8\u30FC\u30AF\u30F3"},mcp:{enable:{name:"MCP \u30B5\u30FC\u30D0\u30FC\u3092\u6709\u52B9\u306B\u3059\u308B",description:"Model Context Protocol \u3092\u4ECB\u3057\u3066 /mcp \u30A8\u30F3\u30C9\u30DD\u30A4\u30F3\u30C8\u3067 TaskNotes \u30C4\u30FC\u30EB\u3092\u516C\u958B\u3057\u307E\u3059\u3002HTTP API \u3092\u6709\u52B9\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002"}},endpoints:{header:"\u5229\u7528\u53EF\u80FD\u306AAPI\u30A8\u30F3\u30C9\u30DD\u30A4\u30F3\u30C8",expandIcon:"\u25B6",collapseIcon:"\u25BC"}},webhooks:{header:"Webhook",description:{overview:"Webhook\u306FTaskNotes\u30A4\u30D9\u30F3\u30C8\u304C\u767A\u751F\u3057\u305F\u3068\u304D\u306B\u5916\u90E8\u30B5\u30FC\u30D3\u30B9\u306B\u30EA\u30A2\u30EB\u30BF\u30A4\u30E0\u901A\u77E5\u3092\u9001\u4FE1\u3057\u307E\u3059\u3002",usage:"\u81EA\u52D5\u5316\u30C4\u30FC\u30EB\u3001\u540C\u671F\u30B5\u30FC\u30D3\u30B9\u3001\u307E\u305F\u306F\u30AB\u30B9\u30BF\u30E0\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3068\u7D71\u5408\u3059\u308B\u305F\u3081\u306BWebhook\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002"},addWebhook:{name:"Webhook\u3092\u8FFD\u52A0",description:"\u65B0\u3057\u3044Webhook\u30A8\u30F3\u30C9\u30DD\u30A4\u30F3\u30C8\u3092\u767B\u9332",buttonText:"Webhook\u3092\u8FFD\u52A0"},emptyState:{message:"Webhook\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002Webhook\u3092\u8FFD\u52A0\u3057\u3066\u30EA\u30A2\u30EB\u30BF\u30A4\u30E0\u901A\u77E5\u3092\u53D7\u4FE1\u3057\u3066\u304F\u3060\u3055\u3044\u3002",buttonText:"Webhook\u3092\u8FFD\u52A0"},labels:{active:"\u30A2\u30AF\u30C6\u30A3\u30D6\uFF1A",url:"URL\uFF1A",events:"\u30A4\u30D9\u30F3\u30C8\uFF1A",transform:"\u5909\u63DB\uFF1A"},placeholders:{url:"Webhook \u306EURL",noEventsSelected:"\u30A4\u30D9\u30F3\u30C8\u304C\u9078\u629E\u3055\u308C\u3066\u3044\u307E\u305B\u3093",rawPayload:"Raw\u30DA\u30A4\u30ED\u30FC\u30C9\uFF08\u5909\u63DB\u306A\u3057\uFF09"},statusLabels:{active:"\u30A2\u30AF\u30C6\u30A3\u30D6",inactive:"\u975E\u30A2\u30AF\u30C6\u30A3\u30D6",created:"{timeAgo}\u306B\u4F5C\u6210"},actions:{editEvents:"\u30A4\u30D9\u30F3\u30C8\u3092\u7DE8\u96C6",delete:"\u524A\u9664"},editEvents:"\u30A4\u30D9\u30F3\u30C8\u3092\u7DE8\u96C6",notices:{urlUpdated:"Webhook URL\u304C\u66F4\u65B0\u3055\u308C\u307E\u3057\u305F",enabled:"Webhook\u304C\u6709\u52B9\u306B\u306A\u308A\u307E\u3057\u305F",disabled:"Webhook\u304C\u7121\u52B9\u306B\u306A\u308A\u307E\u3057\u305F",created:"Webhook\u304C\u6B63\u5E38\u306B\u4F5C\u6210\u3055\u308C\u307E\u3057\u305F",deleted:"Webhook\u304C\u524A\u9664\u3055\u308C\u307E\u3057\u305F",updated:"Webhook\u304C\u66F4\u65B0\u3055\u308C\u307E\u3057\u305F"},confirmDelete:{title:"Webhook\u3092\u524A\u9664",message:`\u3053\u306EWebhook\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B\uFF1F
URL\uFF1A{url}
\u3053\u306E\u64CD\u4F5C\u306F\u5143\u306B\u623B\u305B\u307E\u305B\u3093\u3002`,confirmText:"\u524A\u9664"},cardHeader:"Webhook",cardFields:{active:"\u30A2\u30AF\u30C6\u30A3\u30D6\uFF1A",url:"URL\uFF1A",events:"\u30A4\u30D9\u30F3\u30C8\uFF1A",transform:"\u5909\u63DB\uFF1A"},eventsDisplay:{noEvents:"\u30A4\u30D9\u30F3\u30C8\u304C\u9078\u629E\u3055\u308C\u3066\u3044\u307E\u305B\u3093"},transformDisplay:{noTransform:"Raw\u30DA\u30A4\u30ED\u30FC\u30C9\uFF08\u5909\u63DB\u306A\u3057\uFF09"},secretModal:{title:"Webhook\u30B7\u30FC\u30AF\u30EC\u30C3\u30C8\u304C\u751F\u6210\u3055\u308C\u307E\u3057\u305F",description:"Webhook\u30B7\u30FC\u30AF\u30EC\u30C3\u30C8\u304C\u751F\u6210\u3055\u308C\u307E\u3057\u305F\u3002\u518D\u5EA6\u8868\u793A\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u306A\u3044\u305F\u3081\u3001\u3053\u306E\u30B7\u30FC\u30AF\u30EC\u30C3\u30C8\u3092\u4FDD\u5B58\u3057\u3066\u304F\u3060\u3055\u3044\uFF1A",usage:"\u53D7\u4FE1\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3067Webhook\u30DA\u30A4\u30ED\u30FC\u30C9\u3092\u691C\u8A3C\u3059\u308B\u305F\u3081\u306B\u3053\u306E\u30B7\u30FC\u30AF\u30EC\u30C3\u30C8\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002",gotIt:"\u4E86\u89E3"},editModal:{title:"Webhook\u3092\u7DE8\u96C6",eventsHeader:"\u8CFC\u8AAD\u3059\u308B\u30A4\u30D9\u30F3\u30C8"},events:{taskCreated:{label:"\u30BF\u30B9\u30AF\u4F5C\u6210",description:"\u65B0\u3057\u3044\u30BF\u30B9\u30AF\u304C\u4F5C\u6210\u3055\u308C\u305F\u3068\u304D"},taskUpdated:{label:"\u30BF\u30B9\u30AF\u66F4\u65B0",description:"\u30BF\u30B9\u30AF\u304C\u5909\u66F4\u3055\u308C\u305F\u3068\u304D"},taskCompleted:{label:"\u30BF\u30B9\u30AF\u5B8C\u4E86",description:"\u30BF\u30B9\u30AF\u304C\u5B8C\u4E86\u3068\u30DE\u30FC\u30AF\u3055\u308C\u305F\u3068\u304D"},taskDeleted:{label:"\u30BF\u30B9\u30AF\u524A\u9664",description:"\u30BF\u30B9\u30AF\u304C\u524A\u9664\u3055\u308C\u305F\u3068\u304D"},taskArchived:{label:"\u30BF\u30B9\u30AF\u30A2\u30FC\u30AB\u30A4\u30D6",description:"\u30BF\u30B9\u30AF\u304C\u30A2\u30FC\u30AB\u30A4\u30D6\u3055\u308C\u305F\u3068\u304D"},taskUnarchived:{label:"\u30BF\u30B9\u30AF\u30A2\u30FC\u30AB\u30A4\u30D6\u89E3\u9664",description:"\u30BF\u30B9\u30AF\u306E\u30A2\u30FC\u30AB\u30A4\u30D6\u304C\u89E3\u9664\u3055\u308C\u305F\u3068\u304D"},timeStarted:{label:"\u6642\u9593\u958B\u59CB",description:"\u6642\u9593\u8FFD\u8DE1\u304C\u958B\u59CB\u3055\u308C\u305F\u3068\u304D"},timeStopped:{label:"\u6642\u9593\u505C\u6B62",description:"\u6642\u9593\u8FFD\u8DE1\u304C\u505C\u6B62\u3055\u308C\u305F\u3068\u304D"},pomodoroStarted:{label:"\u30DD\u30E2\u30C9\u30FC\u30ED\u958B\u59CB",description:"\u30DD\u30E2\u30C9\u30FC\u30ED\u30BB\u30C3\u30B7\u30E7\u30F3\u304C\u958B\u59CB\u3055\u308C\u305F\u3068\u304D"},pomodoroCompleted:{label:"\u30DD\u30E2\u30C9\u30FC\u30ED\u5B8C\u4E86",description:"\u30DD\u30E2\u30C9\u30FC\u30ED\u30BB\u30C3\u30B7\u30E7\u30F3\u304C\u7D42\u4E86\u3057\u305F\u3068\u304D"},pomodoroInterrupted:{label:"\u30DD\u30E2\u30C9\u30FC\u30ED\u4E2D\u65AD",description:"\u30DD\u30E2\u30C9\u30FC\u30ED\u30BB\u30C3\u30B7\u30E7\u30F3\u304C\u505C\u6B62\u3055\u308C\u305F\u3068\u304D"},recurringCompleted:{label:"\u7E70\u308A\u8FD4\u3057\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u5B8C\u4E86",description:"\u7E70\u308A\u8FD4\u3057\u30BF\u30B9\u30AF\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304C\u5B8C\u4E86\u3057\u305F\u3068\u304D"},reminderTriggered:{label:"\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u8D77\u52D5",description:"\u30BF\u30B9\u30AF\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u304C\u30A2\u30AF\u30C6\u30A3\u30D6\u306B\u306A\u3063\u305F\u3068\u304D"}},modals:{secretGenerated:{title:"Webhook\u30B7\u30FC\u30AF\u30EC\u30C3\u30C8\u304C\u751F\u6210\u3055\u308C\u307E\u3057\u305F",description:"Webhook\u30B7\u30FC\u30AF\u30EC\u30C3\u30C8\u304C\u751F\u6210\u3055\u308C\u307E\u3057\u305F\u3002\u518D\u5EA6\u8868\u793A\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u306A\u3044\u305F\u3081\u3001\u3053\u306E\u30B7\u30FC\u30AF\u30EC\u30C3\u30C8\u3092\u4FDD\u5B58\u3057\u3066\u304F\u3060\u3055\u3044\uFF1A",usage:"\u53D7\u4FE1\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3067Webhook\u30DA\u30A4\u30ED\u30FC\u30C9\u3092\u691C\u8A3C\u3059\u308B\u305F\u3081\u306B\u3053\u306E\u30B7\u30FC\u30AF\u30EC\u30C3\u30C8\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002",buttonText:"\u4E86\u89E3"},edit:{title:"Webhook\u3092\u7DE8\u96C6",eventsSection:"\u8CFC\u8AAD\u3059\u308B\u30A4\u30D9\u30F3\u30C8",transformSection:"\u5909\u63DB\u8A2D\u5B9A\uFF08\u30AA\u30D7\u30B7\u30E7\u30F3\uFF09",headersSection:"\u30D8\u30C3\u30C0\u30FC\u8A2D\u5B9A",transformFile:{name:"\u5909\u63DB\u30D5\u30A1\u30A4\u30EB",description:"Webhook\u30DA\u30A4\u30ED\u30FC\u30C9\u3092\u5909\u63DB\u3059\u308B\u30DC\u30EB\u30C8\u5185\u306E.json\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u30D5\u30A1\u30A4\u30EB\u3078\u306E\u30D1\u30B9",placeholder:"simple-template.json"},customHeaders:{name:"\u30AB\u30B9\u30BF\u30E0\u30D8\u30C3\u30C0\u30FC\u3092\u542B\u3081\u308B",description:"TaskNotes\u30D8\u30C3\u30C0\u30FC\uFF08\u30A4\u30D9\u30F3\u30C8\u30BF\u30A4\u30D7\u3001\u7F72\u540D\u3001\u914D\u4FE1ID\uFF09\u3092\u542B\u3081\u308B\u3002Discord\u3001Slack\u3001\u304A\u3088\u3073\u53B3\u683C\u306ACORS\u30DD\u30EA\u30B7\u30FC\u3092\u6301\u3064\u305D\u306E\u4ED6\u306E\u30B5\u30FC\u30D3\u30B9\u3067\u306F\u30AA\u30D5\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},buttons:{cancel:"\u30AD\u30E3\u30F3\u30BB\u30EB",save:"\u5909\u66F4\u3092\u4FDD\u5B58"},notices:{selectAtLeastOneEvent:"\u5C11\u306A\u304F\u3068\u30821\u3064\u306E\u30A4\u30D9\u30F3\u30C8\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044"}},add:{title:"Webhook\u3092\u8FFD\u52A0",eventsSection:"\u8CFC\u8AAD\u3059\u308B\u30A4\u30D9\u30F3\u30C8",transformSection:"\u5909\u63DB\u8A2D\u5B9A\uFF08\u30AA\u30D7\u30B7\u30E7\u30F3\uFF09",headersSection:"\u30D8\u30C3\u30C0\u30FC\u8A2D\u5B9A",url:{name:"Webhook \u306EURL",description:"Webhook\u30DA\u30A4\u30ED\u30FC\u30C9\u304C\u9001\u4FE1\u3055\u308C\u308B\u30A8\u30F3\u30C9\u30DD\u30A4\u30F3\u30C8",placeholder:"https://your-service.com/webhook"},transformFile:{name:"\u5909\u63DB\u30D5\u30A1\u30A4\u30EB",description:"Webhook\u30DA\u30A4\u30ED\u30FC\u30C9\u3092\u5909\u63DB\u3059\u308B\u30DC\u30EB\u30C8\u5185\u306E.json\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u30D5\u30A1\u30A4\u30EB\u3078\u306E\u30D1\u30B9",placeholder:"simple-template.json"},customHeaders:{name:"\u30AB\u30B9\u30BF\u30E0\u30D8\u30C3\u30C0\u30FC\u3092\u542B\u3081\u308B",description:"TaskNotes\u30D8\u30C3\u30C0\u30FC\uFF08\u30A4\u30D9\u30F3\u30C8\u30BF\u30A4\u30D7\u3001\u7F72\u540D\u3001\u914D\u4FE1ID\uFF09\u3092\u542B\u3081\u308B\u3002Discord\u3001Slack\u3001\u304A\u3088\u3073\u53B3\u683C\u306ACORS\u30DD\u30EA\u30B7\u30FC\u3092\u6301\u3064\u305D\u306E\u4ED6\u306E\u30B5\u30FC\u30D3\u30B9\u3067\u306F\u30AA\u30D5\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},transformHelp:{title:"JSON\u5909\u63DB\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u4F7F\u7528\u3057\u3066Webhook\u30DA\u30A4\u30ED\u30FC\u30C9\u3092\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA\u3067\u304D\u307E\u3059\uFF1A",jsFiles:"",jsDescription:"",jsonFiles:".json\u30D5\u30A1\u30A4\u30EB\uFF1A",jsonDescription:" \u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3068 ",jsonVariable:"${data.task.title}",leaveEmpty:"\u7A7A\u767D\u306E\u307E\u307E\uFF1A",leaveEmptyDescription:" Raw\u30C7\u30FC\u30BF\u3092\u9001\u4FE1",example:"\u4F8B\uFF1A",exampleFile:"simple-template.json"},buttons:{cancel:"\u30AD\u30E3\u30F3\u30BB\u30EB",add:"Webhook\u3092\u8FFD\u52A0"},notices:{urlRequired:"Webhook URL\u304C\u5FC5\u8981\u3067\u3059",selectAtLeastOneEvent:"\u5C11\u306A\u304F\u3068\u30821\u3064\u306E\u30A4\u30D9\u30F3\u30C8\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044"}}}},otherIntegrations:{header:"\u305D\u306E\u4ED6\u306E\u30D7\u30E9\u30B0\u30A4\u30F3\u7D71\u5408",description:"\u4ED6\u306EObsidian\u30D7\u30E9\u30B0\u30A4\u30F3\u3068\u306E\u7D71\u5408\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002"},mdbaseSpec:{header:"mdbase\u578B\u5B9A\u7FA9",learnMore:"mdbase-spec \u306B\u3064\u3044\u3066\u8A73\u3057\u304F\u898B\u308B",enable:{name:"mdbase \u578B\u5B9A\u7FA9\u3092\u751F\u6210",description:"\u8A2D\u5B9A\u306E\u5909\u66F4\u306B\u5408\u308F\u305B\u3066\u3001\u30DC\u30EB\u30C8\u30EB\u30FC\u30C8\u306B mdbase \u578B\u30D5\u30A1\u30A4\u30EB\uFF08mdbase.yaml \u3068 _types/task.md\uFF09\u3092\u751F\u6210\u3057\u3066\u7DAD\u6301\u3057\u307E\u3059\u3002"}},timeFormats:{justNow:"\u305F\u3063\u305F\u4ECA",minutesAgo:"{minutes}\u5206\u524D",hoursAgo:"{hours}\u6642\u9593\u524D",daysAgo:"{days}\u65E5\u524D"}}},notices:{languageChanged:"\u8A00\u8A9E\u3092{language}\u306B\u5909\u66F4\u3057\u307E\u3057\u305F\u3002",exportTasksFailed:"\u30BF\u30B9\u30AF\u306EICS\u30D5\u30A1\u30A4\u30EB\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u306B\u5931\u6557\u3057\u307E\u3057\u305F",icsNoteCreatedSuccess:"\u30CE\u30FC\u30C8\u304C\u6B63\u5E38\u306B\u4F5C\u6210\u3055\u308C\u307E\u3057\u305F",icsCreationModalOpenFailed:"\u4F5C\u6210\u30E2\u30FC\u30C0\u30EB\u3092\u958B\u3051\u307E\u305B\u3093\u3067\u3057\u305F",icsNoteLinkSuccess:'\u30CE\u30FC\u30C8"{fileName}"\u3092ICS\u30A4\u30D9\u30F3\u30C8\u306B\u30EA\u30F3\u30AF\u3057\u307E\u3057\u305F',icsTaskCreatedSuccess:"\u30BF\u30B9\u30AF\u304C\u4F5C\u6210\u3055\u308C\u307E\u3057\u305F\uFF1A{title}",icsRelatedItemsRefreshed:"\u95A2\u9023\u30CE\u30FC\u30C8\u304C\u66F4\u65B0\u3055\u308C\u307E\u3057\u305F",icsFileNotFound:"\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u3089\u306A\u3044\u304B\u7121\u52B9\u3067\u3059",icsFileOpenFailed:"\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u3051\u307E\u305B\u3093\u3067\u3057\u305F",timeblockAttachmentExists:'"{fileName}"\u306F\u65E2\u306B\u6DFB\u4ED8\u3055\u308C\u3066\u3044\u307E\u3059',timeblockAttachmentAdded:'"{fileName}"\u3092\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u8FFD\u52A0\u3057\u307E\u3057\u305F',timeblockAttachmentRemoved:'"{fileName}"\u3092\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u524A\u9664\u3057\u307E\u3057\u305F',timeblockFileTypeNotSupported:'"{fileName}"\u3092\u958B\u3051\u307E\u305B\u3093 - \u30D5\u30A1\u30A4\u30EB\u30BF\u30A4\u30D7\u304C\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093',timeblockTitleRequired:"\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u306E\u30BF\u30A4\u30C8\u30EB\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",timeblockUpdatedSuccess:'\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF"{title}"\u304C\u6B63\u5E38\u306B\u66F4\u65B0\u3055\u308C\u307E\u3057\u305F',timeblockUpdateFailed:"\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u306E\u66F4\u65B0\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u8A73\u7D30\u306F\u30B3\u30F3\u30BD\u30FC\u30EB\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",timeblockDeletedSuccess:'\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF"{title}"\u304C\u6B63\u5E38\u306B\u524A\u9664\u3055\u308C\u307E\u3057\u305F',timeblockDeleteFailed:"\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u306E\u524A\u9664\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u8A73\u7D30\u306F\u30B3\u30F3\u30BD\u30FC\u30EB\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",timeblockRequiredFieldsMissing:"\u3059\u3079\u3066\u306E\u5FC5\u9808\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",agendaLoadingFailed:"\u30A2\u30B8\u30A7\u30F3\u30C0\u306E\u8AAD\u307F\u8FBC\u307F\u30A8\u30E9\u30FC\u3002\u66F4\u65B0\u3057\u3066\u307F\u3066\u304F\u3060\u3055\u3044\u3002",statsLoadingFailed:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u8A73\u7D30\u306E\u8AAD\u307F\u8FBC\u307F\u30A8\u30E9\u30FC\u3002"},commands:{openCalendarView:"\u30DF\u30CB\u30AB\u30EC\u30F3\u30C0\u30FC\u30D3\u30E5\u30FC\u3092\u958B\u304F",openAdvancedCalendarView:"\u30AB\u30EC\u30F3\u30C0\u30FC\u30D3\u30E5\u30FC\u3092\u958B\u304F",openTasksView:"\u30BF\u30B9\u30AF\u30D3\u30E5\u30FC\u3092\u958B\u304F",openNotesView:"\u30CE\u30FC\u30C8\u30D3\u30E5\u30FC\u3092\u958B\u304F",openAgendaView:"\u30A2\u30B8\u30A7\u30F3\u30C0\u30D3\u30E5\u30FC\u3092\u958B\u304F",openPomodoroView:"\u30DD\u30E2\u30C9\u30FC\u30ED\u30BF\u30A4\u30DE\u30FC\u3092\u958B\u304F",openKanbanView:"\u30AB\u30F3\u30D0\u30F3\u30DC\u30FC\u30C9\u3092\u958B\u304F",openPomodoroStats:"\u30DD\u30E2\u30C9\u30FC\u30ED\u7D71\u8A08\u3092\u958B\u304F",openStatisticsView:"\u30BF\u30B9\u30AF\u3068\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7D71\u8A08\u3092\u958B\u304F",createNewTask:"\u65B0\u3057\u3044\u30BF\u30B9\u30AF\u3092\u4F5C\u6210",convertCurrentNoteToTask:{name:"\u73FE\u5728\u306E\u30CE\u30FC\u30C8\u3092\u30BF\u30B9\u30AF\u306B\u5909\u63DB",noActiveFile:"\u5909\u63DB\u3059\u308B\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u30D5\u30A1\u30A4\u30EB\u304C\u3042\u308A\u307E\u305B\u3093",alreadyTask:"\u3053\u306E\u30CE\u30FC\u30C8\u306F\u3059\u3067\u306B\u30BF\u30B9\u30AF\u3067\u3059",success:"'{title}'\u3092\u30BF\u30B9\u30AF\u306B\u5909\u63DB\u3057\u307E\u3057\u305F"},convertToTaskNote:"\u30C1\u30A7\u30C3\u30AF\u30DC\u30C3\u30AF\u30B9\u30BF\u30B9\u30AF\u3092TaskNote\u306B\u5909\u63DB",convertAllTasksInNote:"\u30CE\u30FC\u30C8\u5185\u306E\u3059\u3079\u3066\u306E\u30BF\u30B9\u30AF\u3092\u5909\u63DB",insertTaskNoteLink:"taskNote\u30EA\u30F3\u30AF\u3092\u633F\u5165",createInlineTask:"\u65B0\u3057\u3044\u30A4\u30F3\u30E9\u30A4\u30F3\u30BF\u30B9\u30AF\u3092\u4F5C\u6210",quickActionsCurrentTask:"\u73FE\u5728\u306E\u30BF\u30B9\u30AF\u306E\u30AF\u30A4\u30C3\u30AF\u30A2\u30AF\u30B7\u30E7\u30F3",goToTodayNote:"\u4ECA\u65E5\u306E\u30CE\u30FC\u30C8\u306B\u79FB\u52D5",startPomodoro:"\u30DD\u30E2\u30C9\u30FC\u30ED\u30BF\u30A4\u30DE\u30FC\u3092\u958B\u59CB",stopPomodoro:"\u30DD\u30E2\u30C9\u30FC\u30ED\u30BF\u30A4\u30DE\u30FC\u3092\u505C\u6B62",pauseResumePomodoro:"\u30DD\u30E2\u30C9\u30FC\u30ED\u30BF\u30A4\u30DE\u30FC\u3092\u4E00\u6642\u505C\u6B62/\u518D\u958B",refreshCache:"\u30AD\u30E3\u30C3\u30B7\u30E5\u3092\u66F4\u65B0",exportAllTasksIcs:"\u3059\u3079\u3066\u306E\u30BF\u30B9\u30AF\u3092ICS\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",viewReleaseNotes:"\u30EA\u30EA\u30FC\u30B9\u30CE\u30FC\u30C8\u3092\u8868\u793A",startTimeTrackingWithSelector:"\u6642\u9593\u8FFD\u8DE1\u3092\u958B\u59CB\uFF08\u30BF\u30B9\u30AF\u3092\u9078\u629E\uFF09",editTimeEntries:"\u6642\u9593\u30A8\u30F3\u30C8\u30EA\u3092\u7DE8\u96C6\uFF08\u30BF\u30B9\u30AF\u3092\u9078\u629E\uFF09",createOrOpenTask:"\u30BF\u30B9\u30AF\u3092\u4F5C\u6210\u307E\u305F\u306F\u958B\u304F",syncAllTasksGoogleCalendar:"\u3059\u3079\u3066\u306E\u30BF\u30B9\u30AF\u3092Google\u30AB\u30EC\u30F3\u30C0\u30FC\u306B\u540C\u671F",syncCurrentTaskGoogleCalendar:"\u73FE\u5728\u306E\u30BF\u30B9\u30AF\u3092Google\u30AB\u30EC\u30F3\u30C0\u30FC\u306B\u540C\u671F"},modals:{deviceCode:{title:"Google\u30AB\u30EC\u30F3\u30C0\u30FC\u8A8D\u8A3C",instructions:{intro:"Google\u30AB\u30EC\u30F3\u30C0\u30FC\u306B\u63A5\u7D9A\u3059\u308B\u306B\u306F\u3001\u4EE5\u4E0B\u306E\u624B\u9806\u306B\u5F93\u3063\u3066\u304F\u3060\u3055\u3044\uFF1A"},steps:{open:"\u958B\u304F",inBrowser:"\u30D6\u30E9\u30A6\u30B6\u3067",enterCode:"\u30D7\u30ED\u30F3\u30D7\u30C8\u304C\u8868\u793A\u3055\u308C\u305F\u3089\u3001\u3053\u306E\u30B3\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\uFF1A",signIn:"Google\u30A2\u30AB\u30A6\u30F3\u30C8\u3067\u30B5\u30A4\u30F3\u30A4\u30F3\u3057\u3066\u30A2\u30AF\u30BB\u30B9\u3092\u8A31\u53EF",returnToObsidian:"Obsidian\u306B\u623B\u308B\uFF08\u3053\u306E\u30A6\u30A3\u30F3\u30C9\u30A6\u306F\u81EA\u52D5\u7684\u306B\u9589\u3058\u307E\u3059\uFF09"},codeLabel:"\u3042\u306A\u305F\u306E\u30B3\u30FC\u30C9\uFF1A",copyCodeAriaLabel:"\u30B3\u30FC\u30C9\u3092\u30B3\u30D4\u30FC",waitingForAuthorization:"\u8A8D\u8A3C\u3092\u5F85\u6A5F\u4E2D...",openBrowserButton:"\u30D6\u30E9\u30A6\u30B6\u3092\u958B\u304F",cancelButton:"\u30AD\u30E3\u30F3\u30BB\u30EB",expiresMinutesSeconds:"\u30B3\u30FC\u30C9\u306F{minutes}\u5206{seconds}\u79D2\u3067\u671F\u9650\u5207\u308C",expiresSeconds:"\u30B3\u30FC\u30C9\u306F{seconds}\u79D2\u3067\u671F\u9650\u5207\u308C"},icsEventInfo:{calendarEventHeading:"\u30AB\u30EC\u30F3\u30C0\u30FC\u30A4\u30D9\u30F3\u30C8",titleLabel:"\u30BF\u30A4\u30C8\u30EB",calendarLabel:"\u30AB\u30EC\u30F3\u30C0\u30FC",dateTimeLabel:"\u65E5\u6642",locationLabel:"\u5834\u6240",descriptionLabel:"\u8AAC\u660E",urlLabel:"URL",relatedNotesHeading:"\u95A2\u9023\u30CE\u30FC\u30C8\u3068\u30BF\u30B9\u30AF",noRelatedItems:"\u3053\u306E\u30A4\u30D9\u30F3\u30C8\u306B\u95A2\u9023\u3059\u308B\u30CE\u30FC\u30C8\u307E\u305F\u306F\u30BF\u30B9\u30AF\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002",typeTask:"\u30BF\u30B9\u30AF",typeNote:"\u30CE\u30FC\u30C8",actionsHeading:"\u30A2\u30AF\u30B7\u30E7\u30F3",createFromEventLabel:"\u30A4\u30D9\u30F3\u30C8\u304B\u3089\u4F5C\u6210",createFromEventDesc:"\u3053\u306E\u30AB\u30EC\u30F3\u30C0\u30FC\u30A4\u30D9\u30F3\u30C8\u304B\u3089\u65B0\u3057\u3044\u30CE\u30FC\u30C8\u307E\u305F\u306F\u30BF\u30B9\u30AF\u3092\u4F5C\u6210",linkExistingLabel:"\u65E2\u5B58\u3092\u30EA\u30F3\u30AF",linkExistingDesc:"\u65E2\u5B58\u306E\u30CE\u30FC\u30C8\u3092\u3053\u306E\u30AB\u30EC\u30F3\u30C0\u30FC\u30A4\u30D9\u30F3\u30C8\u306B\u30EA\u30F3\u30AF"},timeblockInfo:{editHeading:"\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u3092\u7DE8\u96C6",dateTimeLabel:"\u65E5\u6642\uFF1A",titleLabel:"\u30BF\u30A4\u30C8\u30EB",titleDesc:"\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u306E\u30BF\u30A4\u30C8\u30EB",titlePlaceholder:"\u4F8B\uFF1A\u96C6\u4E2D\u4F5C\u696D\u30BB\u30C3\u30B7\u30E7\u30F3",descriptionLabel:"\u8AAC\u660E",descriptionDesc:"\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u8AAC\u660E",descriptionPlaceholder:"\u65B0\u6A5F\u80FD\u306B\u96C6\u4E2D\u3001\u4E2D\u65AD\u306A\u3057",colorLabel:"\u8272",colorDesc:"\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u8272",colorPlaceholder:"#3b82f6",attachmentsLabel:"\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB",attachmentsDesc:"\u3053\u306E\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u306B\u30EA\u30F3\u30AF\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30CE\u30FC\u30C8",addAttachmentButton:"\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u3092\u8FFD\u52A0",addAttachmentTooltip:"\u30D5\u30A1\u30B8\u30FC\u691C\u7D22\u3092\u4F7F\u7528\u3057\u3066\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30CE\u30FC\u30C8\u3092\u9078\u629E",deleteButton:"\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u3092\u524A\u9664",saveButton:"\u5909\u66F4\u3092\u4FDD\u5B58",deleteConfirmationTitle:"\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u3092\u524A\u9664"},timeblockCreation:{heading:"\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u3092\u4F5C\u6210",dateLabel:"\u65E5\u4ED8\uFF1A",titleLabel:"\u30BF\u30A4\u30C8\u30EB",titleDesc:"\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u306E\u30BF\u30A4\u30C8\u30EB",titlePlaceholder:"\u4F8B\uFF1A\u96C6\u4E2D\u4F5C\u696D\u30BB\u30C3\u30B7\u30E7\u30F3",startTimeLabel:"\u958B\u59CB\u6642\u523B",startTimeDesc:"\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u304C\u958B\u59CB\u3055\u308C\u308B\u6642\u523B",startTimePlaceholder:"09:00",endTimeLabel:"\u7D42\u4E86\u6642\u523B",endTimeDesc:"\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u304C\u7D42\u4E86\u3059\u308B\u6642\u523B",endTimePlaceholder:"11:00",descriptionLabel:"\u8AAC\u660E",descriptionDesc:"\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u8AAC\u660E",descriptionPlaceholder:"\u65B0\u6A5F\u80FD\u306B\u96C6\u4E2D\u3001\u4E2D\u65AD\u306A\u3057",colorLabel:"\u8272",colorDesc:"\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u8272",colorPlaceholder:"#3b82f6",attachmentsLabel:"\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB",attachmentsDesc:"\u3053\u306E\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u306B\u30EA\u30F3\u30AF\u3059\u308B\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30CE\u30FC\u30C8",addAttachmentButton:"\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u3092\u8FFD\u52A0",addAttachmentTooltip:"\u30D5\u30A1\u30B8\u30FC\u691C\u7D22\u3092\u4F7F\u7528\u3057\u3066\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30CE\u30FC\u30C8\u3092\u9078\u629E",createButton:"\u30BF\u30A4\u30E0\u30D6\u30ED\u30C3\u30AF\u3092\u4F5C\u6210"},calendarEventCreation:{heading:"\u30AB\u30EC\u30F3\u30C0\u30FC\u30A4\u30D9\u30F3\u30C8\u3092\u4F5C\u6210",dateTimeLabel:"\u65E5\u6642\uFF1A",titleLabel:"\u30BF\u30A4\u30C8\u30EB",titleDesc:"\u30AB\u30EC\u30F3\u30C0\u30FC\u30A4\u30D9\u30F3\u30C8\u306E\u30BF\u30A4\u30C8\u30EB",titlePlaceholder:"\u4F8B\uFF1A\u30C1\u30FC\u30E0\u30DF\u30FC\u30C6\u30A3\u30F3\u30B0",calendarLabel:"\u30AB\u30EC\u30F3\u30C0\u30FC",calendarDesc:"\u30A4\u30D9\u30F3\u30C8\u3092\u4F5C\u6210\u3059\u308B\u30AB\u30EC\u30F3\u30C0\u30FC",descriptionLabel:"\u8AAC\u660E",descriptionDesc:"\u30A4\u30D9\u30F3\u30C8\u306E\u8AAC\u660E\uFF08\u4EFB\u610F\uFF09",descriptionPlaceholder:"\u30A4\u30D9\u30F3\u30C8\u306E\u8A73\u7D30\u3092\u8FFD\u52A0...",locationLabel:"\u5834\u6240",locationDesc:"\u30A4\u30D9\u30F3\u30C8\u306E\u5834\u6240\uFF08\u4EFB\u610F\uFF09",locationPlaceholder:"\u4F8B\uFF1A\u4F1A\u8B70\u5BA4A",createButton:"\u30A4\u30D9\u30F3\u30C8\u3092\u4F5C\u6210",titleRequired:"\u30A4\u30D9\u30F3\u30C8\u306E\u30BF\u30A4\u30C8\u30EB\u306F\u5FC5\u9808\u3067\u3059",noCalendarSelected:"\u30AB\u30EC\u30F3\u30C0\u30FC\u304C\u9078\u629E\u3055\u308C\u3066\u3044\u307E\u305B\u3093",success:"\u30AB\u30EC\u30F3\u30C0\u30FC\u30A4\u30D9\u30F3\u30C8\u300C{title}\u300D\u3092\u4F5C\u6210\u3057\u307E\u3057\u305F",error:"\u30AB\u30EC\u30F3\u30C0\u30FC\u30A4\u30D9\u30F3\u30C8\u306E\u4F5C\u6210\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF1A{message}"},icsNoteCreation:{heading:"ICS\u30A4\u30D9\u30F3\u30C8\u304B\u3089\u4F5C\u6210",titleLabel:"\u30BF\u30A4\u30C8\u30EB",titleDesc:"\u65B0\u3057\u3044\u30B3\u30F3\u30C6\u30F3\u30C4\u306E\u30BF\u30A4\u30C8\u30EB",folderLabel:"\u30D5\u30A9\u30EB\u30C0\u30FC",folderDesc:"\u4FDD\u5B58\u5148\u30D5\u30A9\u30EB\u30C0\u30FC\uFF08\u30DC\u30EB\u30C8\u30EB\u30FC\u30C8\u306E\u5834\u5408\u306F\u7A7A\u306E\u307E\u307E\u306B\u3059\u308B\uFF09",folderPlaceholder:"\u30D5\u30A9\u30EB\u30C0\u30FC/\u30B5\u30D6\u30D5\u30A9\u30EB\u30C0\u30FC",createButton:"\u4F5C\u6210",startLabel:"\u958B\u59CB\uFF1A",endLabel:"\u7D42\u4E86\uFF1A",locationLabel:"\u5834\u6240\uFF1A",calendarLabel:"\u30AB\u30EC\u30F3\u30C0\u30FC\uFF1A",useTemplateLabel:"\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u4F7F\u7528",useTemplateDesc:"\u30B3\u30F3\u30C6\u30F3\u30C4\u4F5C\u6210\u6642\u306B\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u9069\u7528",templatePathLabel:"\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u30D1\u30B9",templatePathDesc:"\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u30D5\u30A1\u30A4\u30EB\u3078\u306E\u30D1\u30B9",templatePathPlaceholder:"\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8/ICS\u30CE\u30FC\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8.md"},unscheduledTasksSelector:{title:"\u4E88\u5B9A\u3055\u308C\u3066\u3044\u306A\u3044\u30BF\u30B9\u30AF",placeholder:"\u4E88\u5B9A\u3055\u308C\u3066\u3044\u306A\u3044\u30BF\u30B9\u30AF\u3092\u691C\u7D22...",instructions:{navigate:"\u79FB\u52D5",schedule:"\u4E88\u5B9A\u3092\u8A2D\u5B9A",dismiss:"\u9589\u3058\u308B"}},migration:{title:"\u65B0\u3057\u3044\u7E70\u308A\u8FD4\u3057\u30B7\u30B9\u30C6\u30E0\u306B\u79FB\u884C",description:"TaskNotes\u306F\u7E70\u308A\u8FD4\u3057\u306B\u696D\u754C\u6A19\u6E96\u306ERRULE\u30D1\u30BF\u30FC\u30F3\u3092\u4F7F\u7528\u3059\u308B\u3088\u3046\u306B\u306A\u308A\u3001\u3088\u308A\u8907\u96D1\u306A\u30B9\u30B1\u30B8\u30E5\u30FC\u30EB\u3068\u4ED6\u306E\u30A2\u30D7\u30EA\u3068\u306E\u4E92\u63DB\u6027\u304C\u5411\u4E0A\u3057\u307E\u3057\u305F\u3002",tasksFound:"{count}\u4EF6\u306E\u53E4\u3044\u7E70\u308A\u8FD4\u3057\u30D1\u30BF\u30FC\u30F3\u3092\u6301\u3064\u30BF\u30B9\u30AF\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F",noMigrationNeeded:"\u79FB\u884C\u304C\u5FC5\u8981\u306A\u30BF\u30B9\u30AF\u306F\u3042\u308A\u307E\u305B\u3093",warnings:{title:"\u7D9A\u884C\u3059\u308B\u524D\u306B\uFF1A",backup:"\u79FB\u884C\u524D\u306B\u30DC\u30EB\u30C8\u3092\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u3057\u3066\u304F\u3060\u3055\u3044",conversion:"\u53E4\u3044\u7E70\u308A\u8FD4\u3057\u30D1\u30BF\u30FC\u30F3\u306F\u65B0\u3057\u3044\u5F62\u5F0F\u306B\u5909\u63DB\u3055\u308C\u307E\u3059",normalUsage:"\u79FB\u884C\u4E2D\u3082\u901A\u5E38\u901A\u308ATaskNotes\u3092\u4F7F\u7528\u3067\u304D\u307E\u3059",permanent:"\u3053\u306E\u5909\u66F4\u306F\u6C38\u7D9A\u7684\u3067\u3001\u81EA\u52D5\u7684\u306B\u5143\u306B\u623B\u3059\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093"},benefits:{title:"\u65B0\u30B7\u30B9\u30C6\u30E0\u306E\u5229\u70B9\uFF1A",powerfulPatterns:"\u8907\u96D1\u306A\u7E70\u308A\u8FD4\u3057\u30D1\u30BF\u30FC\u30F3\uFF08\u4F8B\uFF1A\u300C\u6BCE\u6708\u7B2C2\u706B\u66DC\u65E5\u300D\uFF09",performance:"\u7E70\u308A\u8FD4\u3057\u30BF\u30B9\u30AF\u306E\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u304C\u5411\u4E0A",compatibility:"\u4ED6\u306E\u30A2\u30D7\u30EA\u3068\u4E92\u63DB\u6027\u306E\u3042\u308B\u6A19\u6E96\u7E70\u308A\u8FD4\u3057\u5F62\u5F0F",nlp:"\u81EA\u7136\u8A00\u8A9E\u51E6\u7406\u306E\u30B5\u30DD\u30FC\u30C8\u5F37\u5316"},progress:{title:"\u79FB\u884C\u9032\u6357",preparing:"\u79FB\u884C\u3092\u6E96\u5099\u4E2D...",completed:"\u79FB\u884C\u304C\u6B63\u5E38\u306B\u5B8C\u4E86\u3057\u307E\u3057\u305F",failed:"\u79FB\u884C\u306B\u5931\u6557\u3057\u307E\u3057\u305F"},buttons:{migrate:"\u79FB\u884C\u3092\u958B\u59CB",completed:"\u9589\u3058\u308B"},errors:{title:"\u79FB\u884C\u4E2D\u306E\u30A8\u30E9\u30FC\uFF1A"},notices:{completedWithErrors:"\u79FB\u884C\u306F\u4E00\u90E8\u30A8\u30E9\u30FC\u3067\u5B8C\u4E86\u3057\u307E\u3057\u305F\u3002\u4E0A\u8A18\u306E\u30A8\u30E9\u30FC\u30EA\u30B9\u30C8\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",success:"\u3059\u3079\u3066\u306E\u30BF\u30B9\u30AF\u304C\u6B63\u5E38\u306B\u79FB\u884C\u3055\u308C\u307E\u3057\u305F\uFF01",failed:"\u79FB\u884C\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u8A73\u7D30\u306F\u30B3\u30F3\u30BD\u30FC\u30EB\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},prompt:{message:"TaskNotes\u306F\u53E4\u3044\u7E70\u308A\u8FD4\u3057\u5F62\u5F0F\u3092\u4F7F\u7528\u3057\u3066\u3044\u308B\u30BF\u30B9\u30AF\u3092\u691C\u51FA\u3057\u307E\u3057\u305F\u3002\u4ECA\u3059\u3050\u65B0\u3057\u3044\u30B7\u30B9\u30C6\u30E0\u306B\u79FB\u884C\u3057\u307E\u3059\u304B\uFF1F",migrateNow:"\u4ECA\u3059\u3050\u79FB\u884C",remindLater:"\u5F8C\u3067\u901A\u77E5"}},task:{titlePlaceholder:"\u4F55\u3092\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u304B\uFF1F",titleLabel:"\u30BF\u30A4\u30C8\u30EB",titleDetailedPlaceholder:"\u30BF\u30B9\u30AF\u30BF\u30A4\u30C8\u30EB...",detailsLabel:"\u8A73\u7D30",detailsPlaceholder:"\u8A73\u7D30\u3092\u8FFD\u52A0...",projectsLabel:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8",projectsAdd:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u8FFD\u52A0",projectsTooltip:"\u30D5\u30A1\u30B8\u30FC\u691C\u7D22\u3092\u4F7F\u7528\u3057\u3066\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30CE\u30FC\u30C8\u3092\u9078\u629E",projectsRemoveTooltip:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u524A\u9664",contextsLabel:"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8",contextsPlaceholder:"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C81, \u30B3\u30F3\u30C6\u30AD\u30B9\u30C82",tagsLabel:"\u30BF\u30B0",tagsPlaceholder:"\u30BF\u30B01, \u30BF\u30B02",timeEstimateLabel:"\u6642\u9593\u898B\u7A4D\u3082\u308A\uFF08\u5206\uFF09",timeEstimatePlaceholder:"30",unsavedChanges:{title:"\u672A\u4FDD\u5B58\u306E\u5909\u66F4",message:"\u672A\u4FDD\u5B58\u306E\u5909\u66F4\u304C\u3042\u308A\u307E\u3059\u3002\u4FDD\u5B58\u3057\u307E\u3059\u304B\uFF1F",save:"\u5909\u66F4\u3092\u4FDD\u5B58",discard:"\u5909\u66F4\u3092\u7834\u68C4",cancel:"\u7DE8\u96C6\u3092\u7D9A\u3051\u308B"},dependencies:{blockedBy:"\u30D6\u30ED\u30C3\u30AF\u5143",blocking:"\u30D6\u30ED\u30C3\u30AF\u3057\u3066\u3044\u308B",placeholder:"[[\u30BF\u30B9\u30AF\u30CE\u30FC\u30C8]]",addTaskButton:"\u30BF\u30B9\u30AF\u3092\u8FFD\u52A0",selectTaskTooltip:"\u30D5\u30A1\u30B8\u30FC\u691C\u7D22\u3092\u4F7F\u7528\u3057\u3066\u30BF\u30B9\u30AF\u30CE\u30FC\u30C8\u3092\u9078\u629E",removeTaskTooltip:"\u30BF\u30B9\u30AF\u3092\u524A\u9664"},organization:{projects:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8",subtasks:"\u30B5\u30D6\u30BF\u30B9\u30AF",addToProject:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u8FFD\u52A0",addToProjectButton:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u8FFD\u52A0",addSubtasks:"\u30B5\u30D6\u30BF\u30B9\u30AF\u3092\u8FFD\u52A0",addSubtasksButton:"\u30B5\u30D6\u30BF\u30B9\u30AF\u3092\u8FFD\u52A0",addSubtasksTooltip:"\u3053\u306E\u30BF\u30B9\u30AF\u306E\u30B5\u30D6\u30BF\u30B9\u30AF\u306B\u3059\u308B\u30BF\u30B9\u30AF\u3092\u9078\u629E",removeSubtaskTooltip:"\u30B5\u30D6\u30BF\u30B9\u30AF\u3092\u524A\u9664",notices:{noEligibleSubtasks:"\u30B5\u30D6\u30BF\u30B9\u30AF\u3068\u3057\u3066\u5272\u308A\u5F53\u3066\u53EF\u80FD\u306A\u30BF\u30B9\u30AF\u304C\u3042\u308A\u307E\u305B\u3093",subtaskSelectFailed:"\u30B5\u30D6\u30BF\u30B9\u30AF\u30BB\u30EC\u30AF\u30BF\u30FC\u3092\u958B\u3051\u307E\u305B\u3093\u3067\u3057\u305F"}},customFieldsLabel:"\u30AB\u30B9\u30BF\u30E0\u30D5\u30A3\u30FC\u30EB\u30C9",actions:{due:"\u671F\u9650\u65E5\u3092\u8A2D\u5B9A",scheduled:"\u4E88\u5B9A\u65E5\u3092\u8A2D\u5B9A",status:"\u30B9\u30C6\u30FC\u30BF\u30B9\u3092\u8A2D\u5B9A",priority:"\u512A\u5148\u5EA6\u3092\u8A2D\u5B9A",recurrence:"\u7E70\u308A\u8FD4\u3057\u3092\u8A2D\u5B9A",reminders:"\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u3092\u8A2D\u5B9A"},buttons:{openNote:"\u30CE\u30FC\u30C8\u3092\u958B\u304F",save:"\u4FDD\u5B58"},tooltips:{dueValue:"\u671F\u9650\uFF1A{value}",scheduledValue:"\u4E88\u5B9A\uFF1A{value}",statusValue:"\u30B9\u30C6\u30FC\u30BF\u30B9\uFF1A{value}",priorityValue:"\u512A\u5148\u5EA6\uFF1A{value}",recurrenceValue:"\u7E70\u308A\u8FD4\u3057\uFF1A{value}",remindersSingle:"1\u4EF6\u306E\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u304C\u8A2D\u5B9A\u3055\u308C\u307E\u3057\u305F",remindersPlural:"{count}\u4EF6\u306E\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u304C\u8A2D\u5B9A\u3055\u308C\u307E\u3057\u305F"},dateMenu:{dueTitle:"\u671F\u9650\u65E5\u3092\u8A2D\u5B9A",scheduledTitle:"\u4E88\u5B9A\u65E5\u3092\u8A2D\u5B9A"},userFields:{textPlaceholder:"{field}\u3092\u5165\u529B...",numberPlaceholder:"0",datePlaceholder:"YYYY-MM-DD",listPlaceholder:"\u9805\u76EE1, \u9805\u76EE2, \u9805\u76EE3",pickDate:"{field}\u65E5\u4ED8\u3092\u9078\u629E"},recurrence:{daily:"\u6BCE\u65E5",weekly:"\u6BCE\u9031",everyTwoWeeks:"2\u9031\u9593\u3054\u3068",weekdays:"\u5E73\u65E5",weeklyOn:"\u6BCE\u9031{days}\u66DC\u65E5",monthly:"\u6BCE\u6708",everyThreeMonths:"3\u304B\u6708\u3054\u3068",monthlyOnOrdinal:"\u6BCE\u6708{ordinal}",monthlyByWeekday:"\u6BCE\u6708\uFF08\u66DC\u65E5\u306B\u3088\u308B\uFF09",yearly:"\u6BCE\u5E74",yearlyOn:"\u6BCE\u5E74{month}{day}",custom:"\u30AB\u30B9\u30BF\u30E0",countSuffix:"{count}\u56DE",untilSuffix:"{date}\u307E\u3067",ordinal:"{number}{suffix}"}},taskSelector:{title:"\u30BF\u30B9\u30AF\u3092\u9078\u629E",placeholder:"\u30BF\u30B9\u30AF\u3092\u691C\u7D22...",instructions:{navigate:"\u79FB\u52D5",select:"\u9078\u629E",dismiss:"\u30AD\u30E3\u30F3\u30BB\u30EB"},notices:{noteNotFound:'\u30CE\u30FC\u30C8"{name}"\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F'},dueDate:{overdue:"\u671F\u9650\uFF1A{date}\uFF08\u671F\u9650\u5207\u308C\uFF09",today:"\u671F\u9650\uFF1A\u4ECA\u65E5"}},taskSelectorWithCreate:{title:"\u30BF\u30B9\u30AF\u3092\u4F5C\u6210\u307E\u305F\u306F\u958B\u304F",placeholder:"\u30BF\u30B9\u30AF\u3092\u691C\u7D22\u307E\u305F\u306F\u5165\u529B\u3057\u3066\u65B0\u898F\u4F5C\u6210...",instructions:{create:"\u3067\u65B0\u3057\u3044\u30BF\u30B9\u30AF\u3092\u4F5C\u6210"},footer:{createLabel:" \u3067\u4F5C\u6210: "},notices:{emptyQuery:"\u30BF\u30B9\u30AF\u306E\u8AAC\u660E\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",invalidTitle:"\u6709\u52B9\u306A\u30BF\u30B9\u30AF\u30BF\u30A4\u30C8\u30EB\u3092\u8A8D\u8B58\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F"}},taskCreation:{title:"\u30BF\u30B9\u30AF\u3092\u4F5C\u6210",actions:{fillFromNaturalLanguage:"\u81EA\u7136\u8A00\u8A9E\u304B\u3089\u30D5\u30A9\u30FC\u30E0\u3092\u57CB\u3081\u308B",hideDetailedOptions:"\u8A73\u7D30\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u975E\u8868\u793A",showDetailedOptions:"\u8A73\u7D30\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u8868\u793A"},nlPlaceholder:"\u660E\u65E5\u5348\u5F8C3\u6642\u306B\u98DF\u6599\u54C1\u3092\u8CB7\u3046 @\u5BB6 #\u7528\u4E8B",notices:{titleRequired:"\u30BF\u30B9\u30AF\u30BF\u30A4\u30C8\u30EB\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",success:'\u30BF\u30B9\u30AF"{title}"\u304C\u6B63\u5E38\u306B\u4F5C\u6210\u3055\u308C\u307E\u3057\u305F',successShortened:'\u30BF\u30B9\u30AF"{title}"\u304C\u6B63\u5E38\u306B\u4F5C\u6210\u3055\u308C\u307E\u3057\u305F\uFF08\u9577\u3055\u306E\u305F\u3081\u30D5\u30A1\u30A4\u30EB\u540D\u304C\u77ED\u7E2E\u3055\u308C\u307E\u3057\u305F\uFF09',failure:"\u30BF\u30B9\u30AF\u306E\u4F5C\u6210\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF1A{message}",blockingUnresolved:"\u89E3\u6C7A\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A{entries}"}},taskEdit:{title:"\u30BF\u30B9\u30AF\u3092\u7DE8\u96C6",sections:{completions:"\u5B8C\u4E86",taskInfo:"\u30BF\u30B9\u30AF\u60C5\u5831"},metadata:{totalTrackedTime:"\u7DCF\u8FFD\u8DE1\u6642\u9593\uFF1A",created:"\u4F5C\u6210\uFF1A",modified:"\u5909\u66F4\uFF1A",file:"\u30D5\u30A1\u30A4\u30EB\uFF1A"},buttons:{archive:"\u30A2\u30FC\u30AB\u30A4\u30D6",unarchive:"\u30A2\u30FC\u30AB\u30A4\u30D6\u89E3\u9664"},notices:{titleRequired:"\u30BF\u30B9\u30AF\u30BF\u30A4\u30C8\u30EB\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",noChanges:"\u4FDD\u5B58\u3059\u308B\u5909\u66F4\u304C\u3042\u308A\u307E\u305B\u3093",updateSuccess:'\u30BF\u30B9\u30AF"{title}"\u304C\u6B63\u5E38\u306B\u66F4\u65B0\u3055\u308C\u307E\u3057\u305F',updateFailure:"\u30BF\u30B9\u30AF\u306E\u66F4\u65B0\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF1A{message}",dependenciesUpdateSuccess:"\u4F9D\u5B58\u95A2\u4FC2\u304C\u66F4\u65B0\u3055\u308C\u307E\u3057\u305F",blockingUnresolved:"\u89E3\u6C7A\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A{entries}",fileMissing:"\u30BF\u30B9\u30AF\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A{path}",openNoteFailure:"\u30BF\u30B9\u30AF\u30CE\u30FC\u30C8\u3092\u958B\u3051\u307E\u305B\u3093\u3067\u3057\u305F",archiveSuccess:"\u30BF\u30B9\u30AF\u304C\u6B63\u5E38\u306B{action}\u3055\u308C\u307E\u3057\u305F",archiveFailure:"\u30BF\u30B9\u30AF\u306E\u30A2\u30FC\u30AB\u30A4\u30D6\u306B\u5931\u6557\u3057\u307E\u3057\u305F"},archiveAction:{archived:"\u30A2\u30FC\u30AB\u30A4\u30D6",unarchived:"\u30A2\u30FC\u30AB\u30A4\u30D6\u89E3\u9664"}},storageLocation:{title:{migrate:"\u30DD\u30E2\u30C9\u30FC\u30ED\u30C7\u30FC\u30BF\u3092\u79FB\u884C\u3057\u307E\u3059\u304B\uFF1F",switch:"\u30C7\u30A4\u30EA\u30FC\u30CE\u30FC\u30C8\u30B9\u30C8\u30EC\u30FC\u30B8\u306B\u5207\u308A\u66FF\u3048\u307E\u3059\u304B\uFF1F"},message:{migrate:"\u3053\u308C\u306B\u3088\u308A\u3001\u65E2\u5B58\u306E\u30DD\u30E2\u30C9\u30FC\u30ED\u30BB\u30C3\u30B7\u30E7\u30F3\u30C7\u30FC\u30BF\u304C\u30C7\u30A4\u30EA\u30FC\u30CE\u30FC\u30C8\u306E\u30D5\u30ED\u30F3\u30C8\u30DE\u30BF\u30FC\u306B\u79FB\u884C\u3055\u308C\u307E\u3059\u3002\u30C7\u30FC\u30BF\u306F\u65E5\u4ED8\u3067\u30B0\u30EB\u30FC\u30D7\u5316\u3055\u308C\u3001\u5404\u30C7\u30A4\u30EA\u30FC\u30CE\u30FC\u30C8\u306B\u4FDD\u5B58\u3055\u308C\u307E\u3059\u3002",switch:"\u30DD\u30E2\u30C9\u30FC\u30ED\u30BB\u30C3\u30B7\u30E7\u30F3\u30C7\u30FC\u30BF\u306F\u3001\u30D7\u30E9\u30B0\u30A4\u30F3\u30C7\u30FC\u30BF\u30D5\u30A1\u30A4\u30EB\u3067\u306F\u306A\u304F\u30C7\u30A4\u30EA\u30FC\u30CE\u30FC\u30C8\u306E\u30D5\u30ED\u30F3\u30C8\u30DE\u30BF\u30FC\u306B\u4FDD\u5B58\u3055\u308C\u307E\u3059\u3002"},whatThisMeans:"\u3053\u308C\u304C\u610F\u5473\u3059\u308B\u3053\u3068\uFF1A",bullets:{dailyNotesRequired:"Daily Notes\u30B3\u30A2\u30D7\u30E9\u30B0\u30A4\u30F3\u306F\u6709\u52B9\u306E\u307E\u307E\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059",storedInNotes:"\u30C7\u30FC\u30BF\u306F\u30C7\u30A4\u30EA\u30FC\u30CE\u30FC\u30C8\u306E\u30D5\u30ED\u30F3\u30C8\u30DE\u30BF\u30FC\u306B\u4FDD\u5B58\u3055\u308C\u307E\u3059",migrateData:"\u65E2\u5B58\u306E\u30D7\u30E9\u30B0\u30A4\u30F3\u30C7\u30FC\u30BF\u306F\u79FB\u884C\u3055\u308C\u3001\u305D\u306E\u5F8C\u30AF\u30EA\u30A2\u3055\u308C\u307E\u3059",futureSessions:"\u4ECA\u5F8C\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u306F\u30C7\u30A4\u30EA\u30FC\u30CE\u30FC\u30C8\u306B\u4FDD\u5B58\u3055\u308C\u307E\u3059",dataLongevity:"\u3053\u308C\u306B\u3088\u308A\u30CE\u30FC\u30C8\u3068\u306E\u30C7\u30FC\u30BF\u306E\u6C38\u7D9A\u6027\u304C\u5411\u4E0A\u3057\u307E\u3059"},finalNote:{migrate:"\u26A0\uFE0F \u5FC5\u8981\u306B\u5FDC\u3058\u3066\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u3092\u53D6\u3063\u3066\u304F\u3060\u3055\u3044\u3002\u3053\u306E\u5909\u66F4\u306F\u81EA\u52D5\u7684\u306B\u5143\u306B\u623B\u3059\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002",switch:"\u5C06\u6765\u3044\u3064\u3067\u3082\u30D7\u30E9\u30B0\u30A4\u30F3\u30B9\u30C8\u30EC\u30FC\u30B8\u306B\u623B\u3059\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002"},buttons:{migrate:"\u30C7\u30FC\u30BF\u3092\u79FB\u884C",switch:"\u30B9\u30C8\u30EC\u30FC\u30B8\u3092\u5207\u308A\u66FF\u3048"}},dueDate:{title:"\u671F\u9650\u65E5\u3092\u8A2D\u5B9A",taskLabel:"\u30BF\u30B9\u30AF\uFF1A{title}",sections:{dateTime:"\u671F\u9650\u65E5\u3068\u6642\u9593",quickOptions:"\u30AF\u30A4\u30C3\u30AF\u30AA\u30D7\u30B7\u30E7\u30F3"},descriptions:{dateTime:"\u3053\u306E\u30BF\u30B9\u30AF\u3092\u3044\u3064\u5B8C\u4E86\u3059\u3079\u304D\u304B\u3092\u8A2D\u5B9A"},inputs:{date:{ariaLabel:"\u30BF\u30B9\u30AF\u306E\u671F\u9650\u65E5",placeholder:"YYYY-MM-DD"},time:{ariaLabel:"\u30BF\u30B9\u30AF\u306E\u671F\u9650\u6642\u9593\uFF08\u30AA\u30D7\u30B7\u30E7\u30F3\uFF09",placeholder:"HH:MM"}},quickOptions:{today:"\u4ECA\u65E5",todayAriaLabel:"\u671F\u9650\u65E5\u3092\u4ECA\u65E5\u306B\u8A2D\u5B9A",tomorrow:"\u660E\u65E5",tomorrowAriaLabel:"\u671F\u9650\u65E5\u3092\u660E\u65E5\u306B\u8A2D\u5B9A",nextWeek:"\u6765\u9031",nextWeekAriaLabel:"\u671F\u9650\u65E5\u3092\u6765\u9031\u306B\u8A2D\u5B9A",now:"\u4ECA",nowAriaLabel:"\u671F\u9650\u65E5\u3068\u6642\u9593\u3092\u4ECA\u306B\u8A2D\u5B9A",clear:"\u30AF\u30EA\u30A2",clearAriaLabel:"\u671F\u9650\u65E5\u3092\u30AF\u30EA\u30A2"},errors:{invalidDateTime:"\u6709\u52B9\u306A\u65E5\u4ED8\u3068\u6642\u9593\u306E\u5F62\u5F0F\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",updateFailed:"\u671F\u9650\u65E5\u306E\u66F4\u65B0\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u518D\u8A66\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}},scheduledDate:{title:"\u4E88\u5B9A\u65E5\u3092\u8A2D\u5B9A",taskLabel:"\u30BF\u30B9\u30AF\uFF1A{title}",sections:{dateTime:"\u4E88\u5B9A\u65E5\u3068\u6642\u9593",quickOptions:"\u30AF\u30A4\u30C3\u30AF\u30AA\u30D7\u30B7\u30E7\u30F3"},descriptions:{dateTime:"\u3053\u306E\u30BF\u30B9\u30AF\u306B\u53D6\u308A\u7D44\u3080\u4E88\u5B9A\u3092\u8A2D\u5B9A"},inputs:{date:{ariaLabel:"\u30BF\u30B9\u30AF\u306E\u4E88\u5B9A\u65E5",placeholder:"YYYY-MM-DD"},time:{ariaLabel:"\u30BF\u30B9\u30AF\u306E\u4E88\u5B9A\u6642\u9593\uFF08\u30AA\u30D7\u30B7\u30E7\u30F3\uFF09",placeholder:"HH:MM"}},quickOptions:{today:"\u4ECA\u65E5",todayAriaLabel:"\u4E88\u5B9A\u65E5\u3092\u4ECA\u65E5\u306B\u8A2D\u5B9A",tomorrow:"\u660E\u65E5",tomorrowAriaLabel:"\u4E88\u5B9A\u65E5\u3092\u660E\u65E5\u306B\u8A2D\u5B9A",nextWeek:"\u6765\u9031",nextWeekAriaLabel:"\u4E88\u5B9A\u65E5\u3092\u6765\u9031\u306B\u8A2D\u5B9A",now:"\u4ECA",nowAriaLabel:"\u4E88\u5B9A\u65E5\u3068\u6642\u9593\u3092\u4ECA\u306B\u8A2D\u5B9A",clear:"\u30AF\u30EA\u30A2",clearAriaLabel:"\u4E88\u5B9A\u65E5\u3092\u30AF\u30EA\u30A2"},errors:{invalidDateTime:"\u6709\u52B9\u306A\u65E5\u4ED8\u3068\u6642\u9593\u306E\u5F62\u5F0F\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",updateFailed:"\u4E88\u5B9A\u65E5\u306E\u66F4\u65B0\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u518D\u8A66\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}},timeEntryEditor:{title:"\u6642\u9593\u30A8\u30F3\u30C8\u30EA - {taskTitle}",addEntry:"\u6642\u9593\u30A8\u30F3\u30C8\u30EA\u3092\u8FFD\u52A0",noEntries:"\u307E\u3060\u6642\u9593\u30A8\u30F3\u30C8\u30EA\u304C\u3042\u308A\u307E\u305B\u3093",deleteEntry:"\u30A8\u30F3\u30C8\u30EA\u3092\u524A\u9664",startTime:"\u958B\u59CB\u6642\u523B",endTime:"\u7D42\u4E86\u6642\u523B\uFF08\u5B9F\u884C\u4E2D\u306E\u5834\u5408\u306F\u7A7A\u767D\u306E\u307E\u307E\uFF09",duration:"\u6642\u9593\uFF08\u5206\uFF09",durationDesc:"\u8A08\u7B97\u3055\u308C\u305F\u6642\u9593\u3092\u4E0A\u66F8\u304D",durationPlaceholder:"\u6642\u9593\u3092\u5206\u5358\u4F4D\u3067\u5165\u529B",description:"\u8AAC\u660E",descriptionPlaceholder:"\u4F55\u306B\u53D6\u308A\u7D44\u307F\u307E\u3057\u305F\u304B\uFF1F",calculatedDuration:"\u8A08\u7B97\uFF1A{minutes}\u5206",totalTime:"\u5408\u8A08{hours}\u6642\u9593{minutes}\u5206",totalMinutes:"\u5408\u8A08{minutes}\u5206",saved:"\u6642\u9593\u30A8\u30F3\u30C8\u30EA\u304C\u4FDD\u5B58\u3055\u308C\u307E\u3057\u305F",saveFailed:"\u6642\u9593\u30A8\u30F3\u30C8\u30EA\u306E\u4FDD\u5B58\u306B\u5931\u6557\u3057\u307E\u3057\u305F",openFailed:"\u6642\u9593\u30A8\u30F3\u30C8\u30EA\u30A8\u30C7\u30A3\u30BF\u30FC\u3092\u958B\u3051\u307E\u305B\u3093\u3067\u3057\u305F",noTasksWithEntries:"\u7DE8\u96C6\u3059\u308B\u6642\u9593\u30A8\u30F3\u30C8\u30EA\u3092\u6301\u3064\u30BF\u30B9\u30AF\u304C\u3042\u308A\u307E\u305B\u3093",validation:{missingStartTime:"\u958B\u59CB\u6642\u523B\u306F\u5FC5\u9808\u3067\u3059",endBeforeStart:"\u7D42\u4E86\u6642\u523B\u306F\u958B\u59CB\u6642\u523B\u3088\u308A\u5F8C\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"}},timeTracking:{noTasksAvailable:"\u6642\u9593\u3092\u8FFD\u8DE1\u3067\u304D\u308B\u30BF\u30B9\u30AF\u304C\u3042\u308A\u307E\u305B\u3093",started:"\u6642\u9593\u8FFD\u8DE1\u3092\u958B\u59CB\u3057\u307E\u3057\u305F\uFF1A{taskTitle}",startFailed:"\u6642\u9593\u8FFD\u8DE1\u306E\u958B\u59CB\u306B\u5931\u6557\u3057\u307E\u3057\u305F"},timeEntry:{mustHaveSpecificTime:"\u6642\u9593\u30A8\u30F3\u30C8\u30EA\u306B\u306F\u5177\u4F53\u7684\u306A\u6642\u9593\u304C\u5FC5\u8981\u3067\u3059\u3002\u9031\u8868\u793A\u307E\u305F\u306F\u65E5\u8868\u793A\u3067\u6642\u9593\u7BC4\u56F2\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",noTasksAvailable:"\u6642\u9593\u30A8\u30F3\u30C8\u30EA\u3092\u4F5C\u6210\u3067\u304D\u308B\u30BF\u30B9\u30AF\u304C\u3042\u308A\u307E\u305B\u3093",created:"{taskTitle}\u306E\u6642\u9593\u30A8\u30F3\u30C8\u30EA\u3092\u4F5C\u6210\u3057\u307E\u3057\u305F\uFF08{duration}\u5206\uFF09",createFailed:"\u6642\u9593\u30A8\u30F3\u30C8\u30EA\u306E\u4F5C\u6210\u306B\u5931\u6557\u3057\u307E\u3057\u305F"}},contextMenus:{task:{status:"\u30B9\u30C6\u30FC\u30BF\u30B9",statusSelected:"\u2713 {label}",priority:"\u512A\u5148\u5EA6",prioritySelected:"\u2713 {label}",dueDate:"\u671F\u9650\u65E5",scheduledDate:"\u4E88\u5B9A\u65E5",reminders:"\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC",remindBeforeDue:"\u671F\u9650\u524D\u306B\u30EA\u30DE\u30A4\u30F3\u30C9\u2026",remindBeforeScheduled:"\u4E88\u5B9A\u524D\u306B\u30EA\u30DE\u30A4\u30F3\u30C9\u2026",manageReminders:"\u3059\u3079\u3066\u306E\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u3092\u7BA1\u7406\u2026",clearReminders:"\u3059\u3079\u3066\u306E\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u3092\u30AF\u30EA\u30A2",startTimeTracking:"\u6642\u9593\u8FFD\u8DE1\u3092\u958B\u59CB",stopTimeTracking:"\u6642\u9593\u8FFD\u8DE1\u3092\u505C\u6B62",editTimeEntries:"\u6642\u9593\u30A8\u30F3\u30C8\u30EA\u3092\u7DE8\u96C6",archive:"\u30A2\u30FC\u30AB\u30A4\u30D6",unarchive:"\u30A2\u30FC\u30AB\u30A4\u30D6\u89E3\u9664",openNote:"\u30CE\u30FC\u30C8\u3092\u958B\u304F",copyTitle:"\u30BF\u30B9\u30AF\u30BF\u30A4\u30C8\u30EB\u3092\u30B3\u30D4\u30FC",noteActions:"\u30CE\u30FC\u30C8\u30A2\u30AF\u30B7\u30E7\u30F3",rename:"\u540D\u524D\u5909\u66F4",renameTitle:"\u30D5\u30A1\u30A4\u30EB\u540D\u5909\u66F4",renamePlaceholder:"\u65B0\u3057\u3044\u540D\u524D\u3092\u5165\u529B",delete:"\u524A\u9664",deleteTitle:"\u30D5\u30A1\u30A4\u30EB\u524A\u9664",deleteMessage:'"{name}"\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B\uFF1F',deleteConfirm:"\u524A\u9664",copyPath:"\u30D1\u30B9\u3092\u30B3\u30D4\u30FC",copyUrl:"Obsidian URL\u3092\u30B3\u30D4\u30FC",showInExplorer:"\u30D5\u30A1\u30A4\u30EB\u30A8\u30AF\u30B9\u30D7\u30ED\u30FC\u30E9\u30FC\u3067\u8868\u793A",addToCalendar:"\u30AB\u30EC\u30F3\u30C0\u30FC\u306B\u8FFD\u52A0",calendar:{google:"Google\u30AB\u30EC\u30F3\u30C0\u30FC",outlook:"Outlook\u30AB\u30EC\u30F3\u30C0\u30FC",yahoo:"Yahoo\u30AB\u30EC\u30F3\u30C0\u30FC",downloadIcs:".ics\u30D5\u30A1\u30A4\u30EB\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9",syncToGoogle:"Google\u30AB\u30EC\u30F3\u30C0\u30FC\u306B\u540C\u671F",syncToGoogleNotConfigured:"Google\u30AB\u30EC\u30F3\u30C0\u30FC\u540C\u671F\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093",syncToGoogleSuccess:"\u30BF\u30B9\u30AF\u3092Google\u30AB\u30EC\u30F3\u30C0\u30FC\u306B\u540C\u671F\u3057\u307E\u3057\u305F",syncToGoogleFailed:"Google\u30AB\u30EC\u30F3\u30C0\u30FC\u3078\u306E\u540C\u671F\u306B\u5931\u6557\u3057\u307E\u3057\u305F"},recurrence:"\u7E70\u308A\u8FD4\u3057",clearRecurrence:"\u7E70\u308A\u8FD4\u3057\u3092\u30AF\u30EA\u30A2",customRecurrence:"\u30AB\u30B9\u30BF\u30E0\u7E70\u308A\u8FD4\u3057...",createSubtask:"\u30B5\u30D6\u30BF\u30B9\u30AF\u3092\u4F5C\u6210",dependencies:{title:"\u4F9D\u5B58\u95A2\u4FC2",addBlockedBy:"\u300C\u30D6\u30ED\u30C3\u30AF\u5143\u300D\u3092\u8FFD\u52A0\u2026",addBlockedByTitle:"\u3053\u306E\u30BF\u30B9\u30AF\u304C\u4F9D\u5B58\u3059\u308B\u30BF\u30B9\u30AF\u3092\u8FFD\u52A0",addBlocking:"\u300C\u30D6\u30ED\u30C3\u30AF\u3057\u3066\u3044\u308B\u300D\u3092\u8FFD\u52A0\u2026",addBlockingTitle:"\u3053\u306E\u30BF\u30B9\u30AF\u304C\u30D6\u30ED\u30C3\u30AF\u3059\u308B\u30BF\u30B9\u30AF\u3092\u8FFD\u52A0",removeBlockedBy:"\u30D6\u30ED\u30C3\u30AF\u5143\u3092\u524A\u9664\u2026",removeBlocking:"\u30D6\u30ED\u30C3\u30AF\u3057\u3066\u3044\u308B\u3092\u524A\u9664\u2026",unknownDependency:"\u4E0D\u660E",inputPlaceholder:"[[\u30BF\u30B9\u30AF\u30CE\u30FC\u30C8]]",notices:{noEntries:"\u5C11\u306A\u304F\u3068\u30821\u3064\u306E\u30BF\u30B9\u30AF\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",blockedByAdded:"{count}\u4EF6\u306E\u4F9D\u5B58\u95A2\u4FC2\u304C\u8FFD\u52A0\u3055\u308C\u307E\u3057\u305F",blockedByRemoved:"\u4F9D\u5B58\u95A2\u4FC2\u304C\u524A\u9664\u3055\u308C\u307E\u3057\u305F",blockingAdded:"{count}\u4EF6\u306E\u4F9D\u5B58\u30BF\u30B9\u30AF\u304C\u8FFD\u52A0\u3055\u308C\u307E\u3057\u305F",blockingRemoved:"\u4F9D\u5B58\u30BF\u30B9\u30AF\u304C\u524A\u9664\u3055\u308C\u307E\u3057\u305F",unresolved:"\u89E3\u6C7A\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A{entries}",noEligibleTasks:"\u4E00\u81F4\u3059\u308B\u30BF\u30B9\u30AF\u304C\u5229\u7528\u3067\u304D\u307E\u305B\u3093",updateFailed:"\u4F9D\u5B58\u95A2\u4FC2\u306E\u66F4\u65B0\u306B\u5931\u6557\u3057\u307E\u3057\u305F"}},organization:{title:"\u7D44\u7E54",projects:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8",addToProject:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u8FFD\u52A0\u2026",subtasks:"\u30B5\u30D6\u30BF\u30B9\u30AF",addSubtasks:"\u30B5\u30D6\u30BF\u30B9\u30AF\u3092\u8FFD\u52A0\u2026",notices:{alreadyInProject:"\u30BF\u30B9\u30AF\u306F\u65E2\u306B\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u542B\u307E\u308C\u3066\u3044\u307E\u3059",alreadySubtask:"\u30BF\u30B9\u30AF\u306F\u65E2\u306B\u3053\u306E\u30BF\u30B9\u30AF\u306E\u30B5\u30D6\u30BF\u30B9\u30AF\u3067\u3059",addedToProject:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u8FFD\u52A0\u3055\u308C\u307E\u3057\u305F\uFF1A{project}",addedAsSubtask:"{subtask}\u3092{parent}\u306E\u30B5\u30D6\u30BF\u30B9\u30AF\u3068\u3057\u3066\u8FFD\u52A0\u3057\u307E\u3057\u305F",addToProjectFailed:"\u30BF\u30B9\u30AF\u3092\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F",addAsSubtaskFailed:"\u30BF\u30B9\u30AF\u3092\u30B5\u30D6\u30BF\u30B9\u30AF\u3068\u3057\u3066\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F",projectSelectFailed:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30BB\u30EC\u30AF\u30BF\u30FC\u3092\u958B\u3051\u307E\u305B\u3093\u3067\u3057\u305F",subtaskSelectFailed:"\u30B5\u30D6\u30BF\u30B9\u30AF\u30BB\u30EC\u30AF\u30BF\u30FC\u3092\u958B\u3051\u307E\u305B\u3093\u3067\u3057\u305F",noEligibleSubtasks:"\u30B5\u30D6\u30BF\u30B9\u30AF\u3068\u3057\u3066\u5272\u308A\u5F53\u3066\u53EF\u80FD\u306A\u30BF\u30B9\u30AF\u304C\u3042\u308A\u307E\u305B\u3093",currentTaskNotFound:"\u73FE\u5728\u306E\u30BF\u30B9\u30AF\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F"}},subtasks:{loading:"\u30B5\u30D6\u30BF\u30B9\u30AF\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D...",noSubtasks:"\u30B5\u30D6\u30BF\u30B9\u30AF\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",loadFailed:"\u30B5\u30D6\u30BF\u30B9\u30AF\u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F"},markComplete:"\u3053\u306E\u65E5\u4ED8\u3067\u5B8C\u4E86\u3068\u3057\u3066\u30DE\u30FC\u30AF",markIncomplete:"\u3053\u306E\u65E5\u4ED8\u3067\u672A\u5B8C\u4E86\u3068\u3057\u3066\u30DE\u30FC\u30AF",skipInstance:"\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u30B9\u30AD\u30C3\u30D7",unskipInstance:"\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u30B9\u30AD\u30C3\u30D7\u3092\u89E3\u9664",quickReminders:{atTime:"\u30A4\u30D9\u30F3\u30C8\u6642\u523B\u306B",fiveMinutes:"5\u5206\u524D",fifteenMinutes:"15\u5206\u524D",oneHour:"1\u6642\u9593\u524D",oneDay:"1\u65E5\u524D"},notices:{toggleCompletionFailure:"\u7E70\u308A\u8FD4\u3057\u30BF\u30B9\u30AF\u306E\u5B8C\u4E86\u5207\u308A\u66FF\u3048\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF1A{message}",toggleSkipFailure:"\u7E70\u308A\u8FD4\u3057\u30BF\u30B9\u30AF\u306E\u30B9\u30AD\u30C3\u30D7\u5207\u308A\u66FF\u3048\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF1A{message}",updateDueDateFailure:"\u30BF\u30B9\u30AF\u671F\u9650\u65E5\u306E\u66F4\u65B0\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF1A{message}",updateScheduledFailure:"\u30BF\u30B9\u30AF\u4E88\u5B9A\u65E5\u306E\u66F4\u65B0\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF1A{message}",updateRemindersFailure:"\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u306E\u66F4\u65B0\u306B\u5931\u6557\u3057\u307E\u3057\u305F",clearRemindersFailure:"\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u306E\u30AF\u30EA\u30A2\u306B\u5931\u6557\u3057\u307E\u3057\u305F",addReminderFailure:"\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u306E\u8FFD\u52A0\u306B\u5931\u6557\u3057\u307E\u3057\u305F",archiveFailure:"\u30BF\u30B9\u30AF\u30A2\u30FC\u30AB\u30A4\u30D6\u306E\u5207\u308A\u66FF\u3048\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF1A{message}",copyTitleSuccess:"\u30BF\u30B9\u30AF\u30BF\u30A4\u30C8\u30EB\u3092\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u306B\u30B3\u30D4\u30FC\u3057\u307E\u3057\u305F",copyFailure:"\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u3078\u306E\u30B3\u30D4\u30FC\u306B\u5931\u6557\u3057\u307E\u3057\u305F",renameSuccess:'"{name}"\u306B\u540D\u524D\u5909\u66F4\u3057\u307E\u3057\u305F',renameFailure:"\u30D5\u30A1\u30A4\u30EB\u306E\u540D\u524D\u5909\u66F4\u306B\u5931\u6557\u3057\u307E\u3057\u305F",copyPathSuccess:"\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\u3092\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u306B\u30B3\u30D4\u30FC\u3057\u307E\u3057\u305F",copyUrlSuccess:"Obsidian URL\u3092\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u306B\u30B3\u30D4\u30FC\u3057\u307E\u3057\u305F",updateRecurrenceFailure:"\u30BF\u30B9\u30AF\u7E70\u308A\u8FD4\u3057\u306E\u66F4\u65B0\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF1A{message}"}},priority:{clearPriority:"\u512A\u5148\u5EA6\u3092\u30AF\u30EA\u30A2"},ics:{showDetails:"\u8A73\u7D30\u3092\u8868\u793A",createTask:"\u30A4\u30D9\u30F3\u30C8\u304B\u3089\u30BF\u30B9\u30AF\u3092\u4F5C\u6210",createNote:"\u30A4\u30D9\u30F3\u30C8\u304B\u3089\u30CE\u30FC\u30C8\u3092\u4F5C\u6210",linkNote:"\u65E2\u5B58\u306E\u30CE\u30FC\u30C8\u3092\u30EA\u30F3\u30AF",copyTitle:"\u30BF\u30A4\u30C8\u30EB\u3092\u30B3\u30D4\u30FC",copyLocation:"\u5834\u6240\u3092\u30B3\u30D4\u30FC",copyUrl:"URL\u3092\u30B3\u30D4\u30FC",copyMarkdown:"Markdown\u3068\u3057\u3066\u30B3\u30D4\u30FC",subscriptionUnknown:"\u4E0D\u660E\u306A\u30AB\u30EC\u30F3\u30C0\u30FC",notices:{copyTitleSuccess:"\u30A4\u30D9\u30F3\u30C8\u30BF\u30A4\u30C8\u30EB\u3092\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u306B\u30B3\u30D4\u30FC\u3057\u307E\u3057\u305F",copyLocationSuccess:"\u5834\u6240\u3092\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u306B\u30B3\u30D4\u30FC\u3057\u307E\u3057\u305F",copyUrlSuccess:"\u30A4\u30D9\u30F3\u30C8URL\u3092\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u306B\u30B3\u30D4\u30FC\u3057\u307E\u3057\u305F",copyMarkdownSuccess:"\u30A4\u30D9\u30F3\u30C8\u8A73\u7D30\u3092Markdown\u3068\u3057\u3066\u30B3\u30D4\u30FC\u3057\u307E\u3057\u305F",copyFailure:"\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u3078\u306E\u30B3\u30D4\u30FC\u306B\u5931\u6557\u3057\u307E\u3057\u305F",taskCreated:"\u30BF\u30B9\u30AF\u3092\u4F5C\u6210\u3057\u307E\u3057\u305F\uFF1A{title}",taskCreateFailure:"\u30A4\u30D9\u30F3\u30C8\u304B\u3089\u306E\u30BF\u30B9\u30AF\u4F5C\u6210\u306B\u5931\u6557\u3057\u307E\u3057\u305F",noteCreated:"\u30CE\u30FC\u30C8\u304C\u6B63\u5E38\u306B\u4F5C\u6210\u3055\u308C\u307E\u3057\u305F",creationFailure:"\u4F5C\u6210\u30E2\u30FC\u30C0\u30EB\u3092\u958B\u3051\u307E\u305B\u3093\u3067\u3057\u305F",linkSuccess:'\u30CE\u30FC\u30C8"{name}"\u3092\u30A4\u30D9\u30F3\u30C8\u306B\u30EA\u30F3\u30AF\u3057\u307E\u3057\u305F',linkFailure:"\u30CE\u30FC\u30C8\u306E\u30EA\u30F3\u30AF\u306B\u5931\u6557\u3057\u307E\u3057\u305F",linkSelectionFailure:"\u30CE\u30FC\u30C8\u9078\u629E\u3092\u958B\u3051\u307E\u305B\u3093\u3067\u3057\u305F"},markdown:{titleFallback:"\u7121\u984C\u306E\u30A4\u30D9\u30F3\u30C8",calendar:"**\u30AB\u30EC\u30F3\u30C0\u30FC\uFF1A** {value}",date:"**\u65E5\u6642\uFF1A** {value}",location:"**\u5834\u6240\uFF1A** {value}",descriptionHeading:"### \u8AAC\u660E",url:"**URL\uFF1A** {value}",at:" {time}\u306B"}},date:{increment:{plusOneDay:"+1\u65E5",minusOneDay:"-1\u65E5",plusOneWeek:"+1\u9031",minusOneWeek:"-1\u9031"},basic:{today:"\u4ECA\u65E5",tomorrow:"\u660E\u65E5",thisWeekend:"\u4ECA\u9031\u672B",nextWeek:"\u6765\u9031",nextMonth:"\u6765\u6708"},weekdaysLabel:"\u5E73\u65E5",selected:"\u2713 {label}",pickDateTime:"\u65E5\u6642\u3092\u9078\u629E\u2026",clearDate:"\u65E5\u4ED8\u3092\u30AF\u30EA\u30A2",modal:{title:"\u65E5\u6642\u3092\u8A2D\u5B9A",dateLabel:"\u65E5\u4ED8",timeLabel:"\u6642\u9593\uFF08\u30AA\u30D7\u30B7\u30E7\u30F3\uFF09",select:"\u9078\u629E"}}},services:{pomodoro:{notices:{alreadyRunning:"\u30DD\u30E2\u30C9\u30FC\u30ED\u304C\u65E2\u306B\u5B9F\u884C\u4E2D\u3067\u3059",resumeCurrentSession:"\u65B0\u3057\u3044\u30BB\u30C3\u30B7\u30E7\u30F3\u3092\u958B\u59CB\u3059\u308B\u4EE3\u308F\u308A\u306B\u73FE\u5728\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u3092\u518D\u958B\u3057\u3066\u304F\u3060\u3055\u3044",timerAlreadyRunning:"\u30BF\u30A4\u30DE\u30FC\u304C\u65E2\u306B\u5B9F\u884C\u4E2D\u3067\u3059",resumeSessionInstead:"\u65B0\u3057\u3044\u30BB\u30C3\u30B7\u30E7\u30F3\u3092\u958B\u59CB\u3059\u308B\u4EE3\u308F\u308A\u306B\u73FE\u5728\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u3092\u518D\u958B\u3057\u3066\u304F\u3060\u3055\u3044",shortBreakStarted:"\u77ED\u3044\u4F11\u61A9\u3092\u958B\u59CB\u3057\u307E\u3057\u305F",longBreakStarted:"\u9577\u3044\u4F11\u61A9\u3092\u958B\u59CB\u3057\u307E\u3057\u305F",paused:"\u30DD\u30E2\u30C9\u30FC\u30ED\u304C\u4E00\u6642\u505C\u6B62\u3055\u308C\u307E\u3057\u305F",resumed:"\u30DD\u30E2\u30C9\u30FC\u30ED\u304C\u518D\u958B\u3055\u308C\u307E\u3057\u305F",stoppedAndReset:"\u30DD\u30E2\u30C9\u30FC\u30ED\u304C\u505C\u6B62\u304A\u3088\u3073\u30EA\u30BB\u30C3\u30C8\u3055\u308C\u307E\u3057\u305F",migrationSuccess:"{count}\u4EF6\u306E\u30DD\u30E2\u30C9\u30FC\u30ED\u30BB\u30C3\u30B7\u30E7\u30F3\u304C\u30C7\u30A4\u30EA\u30FC\u30CE\u30FC\u30C8\u306B\u6B63\u5E38\u306B\u79FB\u884C\u3055\u308C\u307E\u3057\u305F\u3002",migrationFailure:"\u30DD\u30E2\u30C9\u30FC\u30ED\u30C7\u30FC\u30BF\u306E\u79FB\u884C\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u518D\u8A66\u884C\u3059\u308B\u304B\u3001\u8A73\u7D30\u306B\u3064\u3044\u3066\u306F\u30B3\u30F3\u30BD\u30FC\u30EB\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}},icsSubscription:{notices:{calendarNotFound:'\u30AB\u30EC\u30F3\u30C0\u30FC"{name}"\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\uFF08404\uFF09\u3002ICS URL\u304C\u6B63\u3057\u304F\u3001\u30AB\u30EC\u30F3\u30C0\u30FC\u304C\u516C\u958B\u30A2\u30AF\u30BB\u30B9\u53EF\u80FD\u3067\u3042\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002',calendarAccessDenied:'\u30AB\u30EC\u30F3\u30C0\u30FC"{name}"\u306E\u30A2\u30AF\u30BB\u30B9\u304C\u62D2\u5426\u3055\u308C\u307E\u3057\u305F\uFF08500\uFF09\u3002\u3053\u308C\u306FMicrosoft Outlook\u30B5\u30FC\u30D0\u30FC\u306E\u5236\u9650\u306B\u3088\u308B\u3082\u306E\u304B\u3082\u3057\u308C\u307E\u305B\u3093\u3002\u30AB\u30EC\u30F3\u30C0\u30FC\u8A2D\u5B9A\u304B\u3089ICS URL\u3092\u518D\u751F\u6210\u3057\u3066\u307F\u3066\u304F\u3060\u3055\u3044\u3002',fetchRemoteFailed:'\u30EA\u30E2\u30FC\u30C8\u30AB\u30EC\u30F3\u30C0\u30FC"{name}"\u306E\u53D6\u5F97\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF1A{error}',readLocalFailed:'\u30ED\u30FC\u30AB\u30EB\u30AB\u30EC\u30F3\u30C0\u30FC"{name}"\u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF1A{error}'}},calendarExport:{notices:{generateLinkFailed:"\u30AB\u30EC\u30F3\u30C0\u30FC\u30EA\u30F3\u30AF\u306E\u751F\u6210\u306B\u5931\u6557\u3057\u307E\u3057\u305F",noTasksToExport:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3059\u308B\u30BF\u30B9\u30AF\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",downloadSuccess:"{count}\u4EF6\u306E\u30BF\u30B9\u30AF\u3092\u542B\u3080{filename}\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3057\u307E\u3057\u305F",downloadFailed:"\u30AB\u30EC\u30F3\u30C0\u30FC\u30D5\u30A1\u30A4\u30EB\u306E\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u306B\u5931\u6557\u3057\u307E\u3057\u305F",singleDownloadSuccess:"{filename}\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3057\u307E\u3057\u305F"}},filter:{groupLabels:{noProject:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306A\u3057",noTags:"\u30BF\u30B0\u306A\u3057",invalidDate:"\u7121\u52B9\u306A\u65E5\u4ED8",due:{overdue:"\u671F\u9650\u5207\u308C",today:"\u4ECA\u65E5",tomorrow:"\u660E\u65E5",nextSevenDays:"\u6B21\u306E7\u65E5\u9593",later:"\u5F8C\u3067",none:"\u671F\u9650\u65E5\u306A\u3057"},scheduled:{past:"\u904E\u53BB\u306E\u4E88\u5B9A",today:"\u4ECA\u65E5",tomorrow:"\u660E\u65E5",nextSevenDays:"\u6B21\u306E7\u65E5\u9593",later:"\u5F8C\u3067",none:"\u4E88\u5B9A\u65E5\u306A\u3057"}},errors:{noDatesProvided:"\u65E5\u4ED8\u304C\u63D0\u4F9B\u3055\u308C\u3066\u3044\u307E\u305B\u3093"},folders:{root:"\uFF08\u30EB\u30FC\u30C8\uFF09"}},instantTaskConvert:{notices:{noCheckboxTasks:"\u73FE\u5728\u306E\u30CE\u30FC\u30C8\u306B\u30C1\u30A7\u30C3\u30AF\u30DC\u30C3\u30AF\u30B9\u30BF\u30B9\u30AF\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002",convertingTasks:"{count}\u4EF6\u306E\u30BF\u30B9\u30AF\u3092\u5909\u63DB\u4E2D...",conversionSuccess:"\u2705 {count}\u4EF6\u306E\u30BF\u30B9\u30AF\u3092TaskNotes\u306B\u6B63\u5E38\u306B\u5909\u63DB\u3057\u307E\u3057\u305F\uFF01",partialConversion:"{successCount}\u4EF6\u306E\u30BF\u30B9\u30AF\u304C\u5909\u63DB\u3055\u308C\u307E\u3057\u305F\u3002{failureCount}\u4EF6\u304C\u5931\u6557\u3057\u307E\u3057\u305F\u3002",batchConversionFailed:"\u30D0\u30C3\u30C1\u5909\u63DB\u306E\u5B9F\u884C\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u518D\u8A66\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002",invalidParameters:"\u7121\u52B9\u306A\u5165\u529B\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u3002",emptyLine:"\u73FE\u5728\u306E\u884C\u304C\u7A7A\u3067\u3042\u308B\u304B\u3001\u6709\u52B9\u306A\u30B3\u30F3\u30C6\u30F3\u30C4\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u305B\u3093\u3002",parseError:"\u30BF\u30B9\u30AF\u306E\u89E3\u6790\u30A8\u30E9\u30FC\uFF1A{error}",invalidTaskData:"\u7121\u52B9\u306A\u30BF\u30B9\u30AF\u30C7\u30FC\u30BF\u3002",replaceLineFailed:"\u30BF\u30B9\u30AF\u884C\u306E\u7F6E\u63DB\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002",conversionComplete:"\u30BF\u30B9\u30AF\u304C\u5909\u63DB\u3055\u308C\u307E\u3057\u305F\uFF1A{title}",conversionCompleteShortened:'\u30BF\u30B9\u30AF\u304C\u5909\u63DB\u3055\u308C\u307E\u3057\u305F\uFF1A"{title}"\uFF08\u9577\u3055\u306E\u305F\u3081\u30D5\u30A1\u30A4\u30EB\u540D\u304C\u77ED\u7E2E\u3055\u308C\u307E\u3057\u305F\uFF09',fileExists:"\u3053\u306E\u540D\u524D\u306E\u30D5\u30A1\u30A4\u30EB\u304C\u65E2\u306B\u5B58\u5728\u3057\u307E\u3059\u3002\u518D\u8A66\u884C\u3059\u308B\u304B\u30BF\u30B9\u30AF\u306E\u540D\u524D\u3092\u5909\u66F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002",conversionFailed:"\u30BF\u30B9\u30AF\u306E\u5909\u63DB\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u518D\u8A66\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}},icsNote:{notices:{templateNotFound:"\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\uFF1A{path}",templateProcessError:"\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u51E6\u7406\u30A8\u30E9\u30FC\uFF1A{template}",linkedToEvent:"\u30CE\u30FC\u30C8\u3092ICS\u30A4\u30D9\u30F3\u30C8\u306B\u30EA\u30F3\u30AF\u3057\u307E\u3057\u305F\uFF1A{title}"}},task:{notices:{templateNotFound:"\u30BF\u30B9\u30AF\u30DC\u30C7\u30A3\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\uFF1A{path}",templateReadError:"\u30BF\u30B9\u30AF\u30DC\u30C7\u30A3\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u8AAD\u307F\u8FBC\u307F\u30A8\u30E9\u30FC\uFF1A{template}",moveTaskFailed:"{operation}\u30BF\u30B9\u30AF\u306E\u79FB\u52D5\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF1A{error}"}},autoExport:{notices:{exportFailed:"TaskNotes\u81EA\u52D5\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF1A{error}"}}},ui:{icsCard:{untitledEvent:"\u7121\u984C\u306E\u30A4\u30D9\u30F3\u30C8",allDay:"\u7D42\u65E5",calendarEvent:"\u30AB\u30EC\u30F3\u30C0\u30FC\u30A4\u30D9\u30F3\u30C8",calendarFallback:"\u30AB\u30EC\u30F3\u30C0\u30FC"},noteCard:{createdLabel:"\u4F5C\u6210\uFF1A",dailyBadge:"\u30C7\u30A4\u30EA\u30FC",dailyTooltip:"\u30C7\u30A4\u30EA\u30FC\u30CE\u30FC\u30C8"},taskCard:{labels:{due:"\u671F\u9650",scheduled:"\u4E88\u5B9A",recurrence:"\u7E70\u308A\u8FD4\u3057",completed:"\u5B8C\u4E86",created:"\u4F5C\u6210",modified:"\u66F4\u65B0",blocked:"\u30D6\u30ED\u30C3\u30AF",blocking:"\u30D6\u30ED\u30C3\u30AF\u4E2D"},blockedBadge:"\u30D6\u30ED\u30C3\u30AF\u4E2D",blockedBadgeTooltip:"\u3053\u306E\u30BF\u30B9\u30AF\u306F\u4ED6\u306E\u30BF\u30B9\u30AF\u3092\u5F85\u3063\u3066\u3044\u307E\u3059",blockingBadge:"\u30D6\u30ED\u30C3\u30AF\u3057\u3066\u3044\u308B",blockingBadgeTooltip:"\u3053\u306E\u30BF\u30B9\u30AF\u306F\u4ED6\u306E\u30BF\u30B9\u30AF\u3092\u30D6\u30ED\u30C3\u30AF\u3057\u3066\u3044\u307E\u3059",blockingToggle:"{count} \u4EF6\u306E\u30BF\u30B9\u30AF\u3092\u30D6\u30ED\u30C3\u30AF",priorityAriaLabel:"\u512A\u5148\u5EA6: {label}",taskOptions:"\u30BF\u30B9\u30AF\u30AA\u30D7\u30B7\u30E7\u30F3",recurrenceTooltip:"{label}: {value}",reminderTooltipOne:"\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u304C1\u4EF6\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059 (\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u7BA1\u7406)",reminderTooltipMany:"{count}\u4EF6\u306E\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059 (\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u7BA1\u7406)",projectTooltip:"\u3053\u306E\u30BF\u30B9\u30AF\u306F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3068\u3057\u3066\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059\uFF08\u30B5\u30D6\u30BF\u30B9\u30AF\u3092\u30D5\u30A3\u30EB\u30BF\u3059\u308B\u306B\u306F\u30AF\u30EA\u30C3\u30AF\uFF09",expandSubtasks:"\u30B5\u30D6\u30BF\u30B9\u30AF\u3092\u5C55\u958B",collapseSubtasks:"\u30B5\u30D6\u30BF\u30B9\u30AF\u3092\u6298\u308A\u305F\u305F\u3080",dueToday:"{label}: \u4ECA\u65E5",dueTodayAt:"{label}: \u4ECA\u65E5 {time}",dueOverdue:"{label}: {display} (\u671F\u9650\u8D85\u904E)",dueLabel:"{label}: {display}",scheduledToday:"{label}: \u4ECA\u65E5",scheduledTodayAt:"{label}: \u4ECA\u65E5 {time}",scheduledPast:"{label}: {display} (\u904E\u53BB)",scheduledLabel:"{label}: {display}",loadingDependencies:"\u4F9D\u5B58\u95A2\u4FC2\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D\u2026",blockingEmpty:"\u4F9D\u5B58\u30BF\u30B9\u30AF\u306F\u3042\u308A\u307E\u305B\u3093",blockingLoadError:"\u4F9D\u5B58\u95A2\u4FC2\u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F",googleCalendarSyncTooltip:"Google\u30AB\u30EC\u30F3\u30C0\u30FC\u306B\u540C\u671F\u6E08\u307F"},propertyEventCard:{unknownFile:"\u4E0D\u660E\u306A\u30D5\u30A1\u30A4\u30EB"},filterHeading:{allViewName:"\u3059\u3079\u3066"},filterBar:{saveView:"\u30D3\u30E5\u30FC\u3092\u4FDD\u5B58",saveViewNamePlaceholder:"\u30D3\u30E5\u30FC\u540D\u3092\u5165\u529B...",saveButton:"\u4FDD\u5B58",views:"\u30D3\u30E5\u30FC",savedFilterViews:"\u4FDD\u5B58\u3055\u308C\u305F\u30D5\u30A3\u30EB\u30BF\u30FC\u30D3\u30E5\u30FC",filters:"\u30D5\u30A3\u30EB\u30BF\u30FC",properties:"\u30D7\u30ED\u30D1\u30C6\u30A3",sort:"\u30BD\u30FC\u30C8",newTask:"\u65B0\u898F",expandAllGroups:"\u3059\u3079\u3066\u306E\u30B0\u30EB\u30FC\u30D7\u3092\u5C55\u958B",collapseAllGroups:"\u3059\u3079\u3066\u306E\u30B0\u30EB\u30FC\u30D7\u3092\u6298\u308A\u305F\u305F\u307F",searchTasksPlaceholder:"\u30BF\u30B9\u30AF\u3092\u691C\u7D22...",searchTasksTooltip:"\u30BF\u30B9\u30AF\u30BF\u30A4\u30C8\u30EB\u3092\u691C\u7D22",filterUnavailable:"\u30D5\u30A3\u30EB\u30BF\u30FC\u30D0\u30FC\u304C\u4E00\u6642\u7684\u306B\u5229\u7528\u3067\u304D\u307E\u305B\u3093",toggleFilter:"\u30D5\u30A3\u30EB\u30BF\u30FC\u3092\u5207\u308A\u66FF\u3048",activeFiltersTooltip:"\u30A2\u30AF\u30C6\u30A3\u30D6\u30D5\u30A3\u30EB\u30BF\u30FC \u2013 \u30AF\u30EA\u30C3\u30AF\u3067\u5909\u66F4\u3001\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30AF\u30EA\u30A2",configureVisibleProperties:"\u8868\u793A\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u8A2D\u5B9A",sortAndGroupOptions:"\u30BD\u30FC\u30C8\u3068\u30B0\u30EB\u30FC\u30D7\u30AA\u30D7\u30B7\u30E7\u30F3",sortMenuHeader:"\u30BD\u30FC\u30C8",orderMenuHeader:"\u9806\u5E8F",groupMenuHeader:"\u30B0\u30EB\u30FC\u30D7",createNewTask:"\u65B0\u3057\u3044\u30BF\u30B9\u30AF\u3092\u4F5C\u6210",filter:"\u30D5\u30A3\u30EB\u30BF\u30FC",displayOrganization:"\u8868\u793A\u3068\u6574\u7406",viewOptions:"\u30D3\u30E5\u30FC\u30AA\u30D7\u30B7\u30E7\u30F3",addFilter:"\u30D5\u30A3\u30EB\u30BF\u30FC\u3092\u8FFD\u52A0",addFilterGroup:"\u30D5\u30A3\u30EB\u30BF\u30FC\u30B0\u30EB\u30FC\u30D7\u3092\u8FFD\u52A0",addFilterTooltip:"\u65B0\u3057\u3044\u30D5\u30A3\u30EB\u30BF\u30FC\u6761\u4EF6\u3092\u8FFD\u52A0",addFilterGroupTooltip:"\u30CD\u30B9\u30C8\u3057\u305F\u30D5\u30A3\u30EB\u30BF\u30FC\u30B0\u30EB\u30FC\u30D7\u3092\u8FFD\u52A0",clearAllFilters:"\u3059\u3079\u3066\u306E\u30D5\u30A3\u30EB\u30BF\u30FC\u3068\u30B0\u30EB\u30FC\u30D7\u3092\u30AF\u30EA\u30A2",saveCurrentFilter:"\u73FE\u5728\u306E\u30D5\u30A3\u30EB\u30BF\u30FC\u3092\u30D3\u30E5\u30FC\u3068\u3057\u3066\u4FDD\u5B58",closeFilterModal:"\u30D5\u30A3\u30EB\u30BF\u30FC\u30E2\u30FC\u30C0\u30EB\u3092\u9589\u3058\u308B",deleteFilterGroup:"\u30D5\u30A3\u30EB\u30BF\u30FC\u30B0\u30EB\u30FC\u30D7\u3092\u524A\u9664",deleteCondition:"\u6761\u4EF6\u3092\u524A\u9664",all:"\u3059\u3079\u3066",any:"\u3044\u305A\u308C\u304B",followingAreTrue:"\u4EE5\u4E0B\u304C\u771F\uFF1A",where:"\u3053\u3053\u3067",selectProperty:"\u9078\u629E...",chooseProperty:"\u30D5\u30A3\u30EB\u30BF\u30FC\u3059\u308B\u30BF\u30B9\u30AF\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u9078\u629E",chooseOperator:"\u30D7\u30ED\u30D1\u30C6\u30A3\u5024\u306E\u6BD4\u8F03\u65B9\u6CD5\u3092\u9078\u629E",enterValue:"\u30D5\u30A3\u30EB\u30BF\u30FC\u3059\u308B\u5024\u3092\u5165\u529B",selectValue:"\u30D5\u30A3\u30EB\u30BF\u30FC\u3059\u308B{property}\u3092\u9078\u629E",sortBy:"\u30BD\u30FC\u30C8\u9806\uFF1A",toggleSortDirection:"\u30BD\u30FC\u30C8\u65B9\u5411\u3092\u5207\u308A\u66FF\u3048",chooseSortMethod:"\u30BF\u30B9\u30AF\u306E\u30BD\u30FC\u30C8\u65B9\u6CD5\u3092\u9078\u629E",groupBy:"\u30B0\u30EB\u30FC\u30D7\u5316\uFF1A",chooseGroupMethod:"\u5171\u901A\u30D7\u30ED\u30D1\u30C6\u30A3\u3067\u30BF\u30B9\u30AF\u3092\u30B0\u30EB\u30FC\u30D7\u5316",toggleViewOption:"{option}\u3092\u5207\u308A\u66FF\u3048",expandCollapseFilters:"\u30AF\u30EA\u30C3\u30AF\u3067\u30D5\u30A3\u30EB\u30BF\u30FC\u6761\u4EF6\u3092\u5C55\u958B/\u6298\u308A\u305F\u305F\u307F",expandCollapseSort:"\u30AF\u30EA\u30C3\u30AF\u3067\u30BD\u30FC\u30C8\u3068\u30B0\u30EB\u30FC\u30D7\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u5C55\u958B/\u6298\u308A\u305F\u305F\u307F",expandCollapseViewOptions:"\u30AF\u30EA\u30C3\u30AF\u3067\u30D3\u30E5\u30FC\u56FA\u6709\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u5C55\u958B/\u6298\u308A\u305F\u305F\u307F",naturalLanguageDates:"\u81EA\u7136\u8A00\u8A9E\u65E5\u4ED8",naturalLanguageExamples:"\u81EA\u7136\u8A00\u8A9E\u65E5\u4ED8\u306E\u4F8B\u3092\u8868\u793A",enterNumericValue:"\u30D5\u30A3\u30EB\u30BF\u30FC\u3059\u308B\u6570\u5024\u3092\u5165\u529B",enterDateValue:"\u81EA\u7136\u8A00\u8A9E\u307E\u305F\u306FISO\u5F62\u5F0F\u3067\u65E5\u4ED8\u3092\u5165\u529B",pickDateTime:"\u65E5\u6642\u3092\u9078\u629E",noSavedViews:"\u4FDD\u5B58\u3055\u308C\u305F\u30D3\u30E5\u30FC\u304C\u3042\u308A\u307E\u305B\u3093",savedViews:"\u4FDD\u5B58\u3055\u308C\u305F\u30D3\u30E5\u30FC",yourSavedFilters:"\u4FDD\u5B58\u3055\u308C\u305F\u30D5\u30A3\u30EB\u30BF\u30FC\u8A2D\u5B9A",dragToReorder:"\u30C9\u30E9\u30C3\u30B0\u3057\u3066\u30D3\u30E5\u30FC\u3092\u4E26\u3073\u66FF\u3048",loadSavedView:"\u4FDD\u5B58\u3055\u308C\u305F\u30D3\u30E5\u30FC\u3092\u8AAD\u307F\u8FBC\u307F\uFF1A{name}",deleteView:"\u30D3\u30E5\u30FC\u3092\u524A\u9664",deleteViewTitle:"\u30D3\u30E5\u30FC\u3092\u524A\u9664",deleteViewMessage:'\u30D3\u30E5\u30FC"{name}"\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B\uFF1F',manageAllReminders:"\u3059\u3079\u3066\u306E\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u3092\u7BA1\u7406...",clearAllReminders:"\u3059\u3079\u3066\u306E\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u3092\u30AF\u30EA\u30A2",customRecurrence:"\u30AB\u30B9\u30BF\u30E0\u7E70\u308A\u8FD4\u3057...",clearRecurrence:"\u7E70\u308A\u8FD4\u3057\u3092\u30AF\u30EA\u30A2",sortOptions:{dueDate:"\u671F\u9650\u65E5",scheduledDate:"\u4E88\u5B9A\u65E5",priority:"\u512A\u5148\u5EA6",status:"\u30B9\u30C6\u30FC\u30BF\u30B9",title:"\u30BF\u30A4\u30C8\u30EB",createdDate:"\u4F5C\u6210\u65E5",tags:"\u30BF\u30B0",ascending:"\u6607\u9806",descending:"\u964D\u9806"},group:{none:"\u306A\u3057",status:"\u30B9\u30C6\u30FC\u30BF\u30B9",priority:"\u512A\u5148\u5EA6",context:"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8",project:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8",dueDate:"\u671F\u9650\u65E5",scheduledDate:"\u4E88\u5B9A\u65E5",tags:"\u30BF\u30B0",completedDate:"\u5B8C\u4E86\u65E5"},subgroupLabel:"\u30B5\u30D6\u30B0\u30EB\u30FC\u30D7",notices:{propertiesMenuFailed:"\u30D7\u30ED\u30D1\u30C6\u30A3\u30E1\u30CB\u30E5\u30FC\u306E\u8868\u793A\u306B\u5931\u6557\u3057\u307E\u3057\u305F"}}},components:{dateContextMenu:{weekdays:"\u5E73\u65E5",clearDate:"\u65E5\u4ED8\u3092\u30AF\u30EA\u30A2",today:"\u4ECA\u65E5",tomorrow:"\u660E\u65E5",thisWeekend:"\u4ECA\u9031\u672B",nextWeek:"\u6765\u9031",nextMonth:"\u6765\u6708",setDateTime:"\u65E5\u6642\u3092\u8A2D\u5B9A",dateLabel:"\u65E5\u4ED8",timeLabel:"\u6642\u9593\uFF08\u30AA\u30D7\u30B7\u30E7\u30F3\uFF09"},subgroupMenuBuilder:{none:"\u306A\u3057",status:"\u30B9\u30C6\u30FC\u30BF\u30B9",priority:"\u512A\u5148\u5EA6",context:"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8",project:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8",dueDate:"\u671F\u9650\u65E5",scheduledDate:"\u4E88\u5B9A\u65E5",tags:"\u30BF\u30B0",completedDate:"\u5B8C\u4E86\u65E5",subgroup:"\u30B5\u30D6\u30B0\u30EB\u30FC\u30D7"},propertyVisibilityDropdown:{coreProperties:"\u30B3\u30A2\u30D7\u30ED\u30D1\u30C6\u30A3",organization:"\u7D44\u7E54",customProperties:"\u30AB\u30B9\u30BF\u30E0\u30D7\u30ED\u30D1\u30C6\u30A3",failed:"\u30D7\u30ED\u30D1\u30C6\u30A3\u30E1\u30CB\u30E5\u30FC\u306E\u8868\u793A\u306B\u5931\u6557\u3057\u307E\u3057\u305F",properties:{statusDot:"\u30B9\u30C6\u30FC\u30BF\u30B9\u30C9\u30C3\u30C8",priorityDot:"\u512A\u5148\u5EA6\u30C9\u30C3\u30C8",dueDate:"\u671F\u9650\u65E5",scheduledDate:"\u4E88\u5B9A\u65E5",timeEstimate:"\u6642\u9593\u898B\u7A4D\u3082\u308A",totalTrackedTime:"\u7DCF\u8FFD\u8DE1\u6642\u9593",checklistProgress:"\u30C1\u30A7\u30C3\u30AF\u30EA\u30B9\u30C8\u306E\u9032\u6357",recurrence:"\u7E70\u308A\u8FD4\u3057",completedDate:"\u5B8C\u4E86\u65E5",createdDate:"\u4F5C\u6210\u65E5",modifiedDate:"\u5909\u66F4\u65E5",projects:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8",contexts:"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8",tags:"\u30BF\u30B0",blocked:"\u30D6\u30ED\u30C3\u30AF\u4E2D",blocking:"\u30D6\u30ED\u30C3\u30AF\u3057\u3066\u3044\u308B"}},reminderContextMenu:{remindBeforeDue:"\u671F\u9650\u524D\u306B\u30EA\u30DE\u30A4\u30F3\u30C9...",remindBeforeScheduled:"\u4E88\u5B9A\u524D\u306B\u30EA\u30DE\u30A4\u30F3\u30C9...",manageAllReminders:"\u3059\u3079\u3066\u306E\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u3092\u7BA1\u7406...",clearAllReminders:"\u3059\u3079\u3066\u306E\u30EA\u30DE\u30A4\u30F3\u30C0\u30FC\u3092\u30AF\u30EA\u30A2",quickReminders:{atTime:"\u30A4\u30D9\u30F3\u30C8\u6642\u523B\u306B",fiveMinutesBefore:"5\u5206\u524D",fifteenMinutesBefore:"15\u5206\u524D",oneHourBefore:"1\u6642\u9593\u524D",oneDayBefore:"1\u65E5\u524D"}},recurrenceContextMenu:{daily:"\u6BCE\u65E5",weeklyOn:"\u6BCE\u9031{day}\u66DC\u65E5",everyTwoWeeksOn:"2\u9031\u9593\u3054\u3068\u306E{day}\u66DC\u65E5",monthlyOnThe:"\u6BCE\u6708{ordinal}",everyThreeMonthsOnThe:"3\u304B\u6708\u3054\u3068\u306E{ordinal}",yearlyOn:"\u6BCE\u5E74{month}{ordinal}",weekdaysOnly:"\u5E73\u65E5\u306E\u307F",dailyAfterCompletion:"\u6BCE\u65E5\uFF08\u5B8C\u4E86\u5F8C\uFF09",every3DaysAfterCompletion:"3\u65E5\u3054\u3068\uFF08\u5B8C\u4E86\u5F8C\uFF09",weeklyAfterCompletion:"\u6BCE\u9031\uFF08\u5B8C\u4E86\u5F8C\uFF09",monthlyAfterCompletion:"\u6BCE\u6708\uFF08\u5B8C\u4E86\u5F8C\uFF09",customRecurrence:"\u30AB\u30B9\u30BF\u30E0\u7E70\u308A\u8FD4\u3057...",clearRecurrence:"\u7E70\u308A\u8FD4\u3057\u3092\u30AF\u30EA\u30A2",customRecurrenceModal:{title:"\u30AB\u30B9\u30BF\u30E0\u7E70\u308A\u8FD4\u3057",startDate:"\u958B\u59CB\u65E5",startDateDesc:"\u7E70\u308A\u8FD4\u3057\u30D1\u30BF\u30FC\u30F3\u304C\u59CB\u307E\u308B\u65E5\u4ED8",startTime:"\u958B\u59CB\u6642\u523B",startTimeDesc:"\u7E70\u308A\u8FD4\u3057\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304C\u8868\u793A\u3055\u308C\u308B\u6642\u523B\uFF08\u30AA\u30D7\u30B7\u30E7\u30F3\uFF09",recurFrom:"\u7E70\u308A\u8FD4\u3057\u306E\u57FA\u6E96",recurFromDesc:"\u6B21\u306E\u767A\u751F\u3092\u3044\u3064\u304B\u3089\u8A08\u7B97\u3057\u307E\u3059\u304B\uFF1F",scheduledDate:"\u4E88\u5B9A\u65E5",completionDate:"\u5B8C\u4E86\u65E5",frequency:"\u983B\u5EA6",interval:"\u9593\u9694",intervalDesc:"X\u65E5/\u9031/\u6708/\u5E74\u3054\u3068",daysOfWeek:"\u66DC\u65E5",daysOfWeekDesc:"\u7279\u5B9A\u306E\u66DC\u65E5\u3092\u9078\u629E\uFF08\u9031\u6B21\u7E70\u308A\u8FD4\u3057\u7528\uFF09",monthlyRecurrence:"\u6708\u6B21\u7E70\u308A\u8FD4\u3057",monthlyRecurrenceDesc:"\u6708\u6B21\u7E70\u308A\u8FD4\u3057\u65B9\u6CD5\u3092\u9078\u629E",yearlyRecurrence:"\u5E74\u6B21\u7E70\u308A\u8FD4\u3057",yearlyRecurrenceDesc:"\u5E74\u6B21\u7E70\u308A\u8FD4\u3057\u65B9\u6CD5\u3092\u9078\u629E",endCondition:"\u7D42\u4E86\u6761\u4EF6",endConditionDesc:"\u7E70\u308A\u8FD4\u3057\u306E\u7D42\u4E86\u6642\u671F\u3092\u9078\u629E",neverEnds:"\u7D42\u4E86\u3057\u306A\u3044",endAfterOccurrences:"{count}\u56DE\u5F8C\u306B\u7D42\u4E86",endOnDate:"{date}\u306B\u7D42\u4E86",onDayOfMonth:"\u6BCE\u6708{day}\u65E5",onTheWeekOfMonth:"\u6BCE\u6708{week}{day}\u66DC\u65E5",onDateOfYear:"\u6BCE\u5E74{month}{day}",onTheWeekOfYear:"\u6BCE\u5E74{month}\u306E{week}{day}\u66DC\u65E5",frequencies:{daily:"\u6BCE\u65E5",weekly:"\u6BCE\u9031",monthly:"\u6BCE\u6708",yearly:"\u6BCE\u5E74"},weekPositions:{first:"\u7B2C1",second:"\u7B2C2",third:"\u7B2C3",fourth:"\u7B2C4",last:"\u6700\u7D42"},weekdays:{monday:"\u6708\u66DC\u65E5",tuesday:"\u706B\u66DC\u65E5",wednesday:"\u6C34\u66DC\u65E5",thursday:"\u6728\u66DC\u65E5",friday:"\u91D1\u66DC\u65E5",saturday:"\u571F\u66DC\u65E5",sunday:"\u65E5\u66DC\u65E5"},weekdaysShort:{mon:"\u6708",tue:"\u706B",wed:"\u6C34",thu:"\u6728",fri:"\u91D1",sat:"\u571F",sun:"\u65E5"},cancel:"\u30AD\u30E3\u30F3\u30BB\u30EB",save:"\u4FDD\u5B58"}}}};var Cde={common:{appName:"TaskNotes",new:"Novo",cancel:"Cancelar",confirm:"Confirmar",close:"Fechar",save:"Salvar",reorder:{confirmLargeTitle:"Confirmar grande reordena\xE7\xE3o",confirmButton:"Reordenar notas",confirmLargeMessage:'Reordenar aqui atualizar\xE1 "{field}" em {count} notas para criar uma ordem manual persistente para {scope}. Notas ocultas ou filtradas no mesmo escopo tamb\xE9m podem ser atualizadas. Continuar?'},language:"Idioma",systemDefault:"Padr\xE3o do sistema",loading:"Carregando...",languages:{en:"Ingl\xEAs",fr:"Franc\xEAs",ru:"Russo",zh:"Chin\xEAs",de:"Alem\xE3o",es:"Espanhol",ja:"Japon\xEAs",pt:"Portugu\xEAs (Brasil)",ko:"Coreano"},weekdays:{sunday:"Domingo",monday:"Segunda-feira",tuesday:"Ter\xE7a-feira",wednesday:"Quarta-feira",thursday:"Quinta-feira",friday:"Sexta-feira",saturday:"S\xE1bado"},months:{january:"Janeiro",february:"Fevereiro",march:"Mar\xE7o",april:"Abril",may:"Maio",june:"Junho",july:"Julho",august:"Agosto",september:"Setembro",october:"Outubro",november:"Novembro",december:"Dezembro"}},views:{agenda:{title:"Agenda",today:"Hoje",overdue:"Atrasadas",refreshCalendars:"Atualizar calend\xE1rios",actions:{previousPeriod:"Per\xEDodo anterior",nextPeriod:"Pr\xF3ximo per\xEDodo",goToToday:"Ir para hoje",refreshCalendars:"Atualizar inscri\xE7\xF5es de calend\xE1rio"},loading:"Carregando agenda...",dayToggle:"Alternar dia",overdueToggle:"Alternar se\xE7\xE3o de atrasadas",expandAllDays:"Expandir Todos os Dias",collapseAllDays:"Recolher Todos os Dias",notices:{calendarNotReady:"Servi\xE7o de calend\xE1rio ainda n\xE3o est\xE1 pronto",calendarRefreshed:"Inscri\xE7\xF5es de calend\xE1rio atualizadas",refreshFailed:"Falha ao atualizar"},empty:{noItemsScheduled:"Nenhum item agendado",noItemsFound:"Nenhum item encontrado",helpText:"Crie tarefas com datas de vencimento ou agendadas, ou adicione notas para v\xEA-las aqui."},contextMenu:{showOverdueSection:"Mostrar se\xE7\xE3o de atrasadas",showNotes:"Mostrar notas",calendarSubscriptions:"Inscri\xE7\xF5es de calend\xE1rio"},periods:{thisWeek:"Esta semana"},tipPrefix:"Dica: "},taskList:{title:"Tarefas",expandAllGroups:"Expandir Todos os Grupos",collapseAllGroups:"Recolher Todos os Grupos",noTasksFound:"Nenhuma tarefa encontrada para os filtros selecionados.",reorder:{scope:{ungrouped:"esta lista sem grupos",group:'grupo "{group}"'}},errors:{formulaGroupingReadOnly:"N\xE3o \xE9 poss\xEDvel reordenar tarefas em grupos baseados em f\xF3rmulas. Valores de f\xF3rmula s\xE3o calculados e n\xE3o podem ser alterados diretamente."}},notes:{title:"Notas",refreshButton:"Atualizar",refreshingButton:"Atualizando...",notices:{indexingDisabled:"Indexa\xE7\xE3o de notas desativada"},empty:{noNotesFound:"Nenhuma nota encontrada",helpText:"Nenhuma nota encontrada para a data selecionada. Tente selecionar uma data diferente no Mini Calend\xE1rio ou crie algumas notas."},loading:"Carregando notas...",refreshButtonAriaLabel:"Atualizar lista de notas"},miniCalendar:{title:"Mini Calend\xE1rio"},advancedCalendar:{title:"Calend\xE1rio",filters:{showFilters:"Mostrar filtros",hideFilters:"Ocultar filtros"},viewOptions:{calendarSubscriptions:"Inscri\xE7\xF5es de calend\xE1rio",timeEntries:"Registros de tempo",timeblocks:"Blocos de tempo",scheduledDates:"Datas agendadas",dueDates:"Datas de vencimento",allDaySlot:"Slot de dia inteiro",scheduledTasks:"Tarefas agendadas",recurringTasks:"Tarefas recorrentes"},buttons:{refresh:"Atualizar",refreshHint:"Atualizar Inscri\xE7\xF5es de Calend\xE1rio"},notices:{icsServiceNotAvailable:"Servi\xE7o de inscri\xE7\xE3o ICS n\xE3o dispon\xEDvel",calendarRefreshedAll:"Todas as inscri\xE7\xF5es de calend\xE1rio atualizadas com sucesso",refreshFailed:"Falha ao atualizar algumas inscri\xE7\xF5es de calend\xE1rio",timeblockSpecificTime:"Blocos de tempo devem ter hor\xE1rios espec\xEDficos. Por favor, selecione um intervalo de tempo na visualiza\xE7\xE3o de semana ou dia.",timeblockMoved:'Bloco de tempo "{title}" movido para {date}',timeblockUpdated:'Tempo do bloco de tempo "{title}" atualizado',timeblockMoveFailed:"Falha ao mover bloco de tempo: {message}",timeblockResized:'Dura\xE7\xE3o do bloco de tempo "{title}" atualizada',timeblockResizeFailed:"Falha ao redimensionar bloco de tempo: {message}",taskScheduled:'Tarefa "{title}" agendada para {date}',scheduleTaskFailed:"Falha ao agendar tarefa",endTimeAfterStart:"A hora de t\xE9rmino deve ser posterior \xE0 hora de in\xEDcio",timeEntryNotFound:"Registro de tempo n\xE3o encontrado",timeEntryDeleted:"Registro de tempo exclu\xEDdo",deleteTimeEntryFailed:"Falha ao excluir registro de tempo"},timeEntry:{estimatedSuffix:"estimado",trackedSuffix:"rastreado",recurringPrefix:"Recorrente: ",completedPrefix:"Conclu\xEDdo: ",createdPrefix:"Criado: ",modifiedPrefix:"Modificado: ",duePrefix:"Vencimento: ",scheduledPrefix:"Agendado: "},contextMenus:{openTask:"Abrir tarefa",deleteTimeEntry:"Excluir registro de tempo",deleteTimeEntryTitle:"Excluir Registro de Tempo",deleteTimeEntryConfirm:"Tem certeza de que deseja excluir este registro de tempo{duration}? Esta a\xE7\xE3o n\xE3o pode ser desfeita.",deleteButton:"Excluir",cancelButton:"Cancelar"}},basesCalendar:{title:"Calend\xE1rio de Bases",today:"Hoje",buttonText:{month:"M",week:"S",day:"D",year:"A",list:"L",customDays:"{count}D",listDays:"Lista {count}d",refresh:"Atualizar"},hints:{refresh:"Atualizar inscri\xE7\xF5es de calend\xE1rio",today:"Ir para hoje",prev:"Anterior",next:"Pr\xF3ximo",month:"Visualiza\xE7\xE3o mensal",week:"Visualiza\xE7\xE3o semanal",day:"Visualiza\xE7\xE3o di\xE1ria",year:"Visualiza\xE7\xE3o anual",list:"Visualiza\xE7\xE3o em lista",customDays:"Visualiza\xE7\xE3o de {count} dias"},settings:{groups:{dateNavigation:"Navega\xE7\xE3o de Data",events:"Eventos",layout:"Layout",propertyBasedEvents:"Eventos baseados em propriedade",calendarSubscriptions:"Inscri\xE7\xF5es de calend\xE1rio",googleCalendars:"Calend\xE1rios do Google",microsoftCalendars:"Calend\xE1rios da Microsoft"},dateNavigation:{navigateToDate:"Navegar para data",navigateToDatePlaceholder:"AAAA-MM-DD (ex: 2025-01-15) - deixe em branco para usar propriedade",navigateToDateFromProperty:"Navegar para data da propriedade",navigateToDateFromPropertyPlaceholder:"Selecione uma propriedade de data (opcional)",propertyNavigationStrategy:"Estrat\xE9gia de navega\xE7\xE3o da propriedade",strategies:{first:"Primeiro resultado",earliest:"Data mais antiga",latest:"Data mais recente"}},events:{showScheduledTasks:"Mostrar tarefas agendadas",showDueTasks:"Mostrar tarefas com vencimento",showRecurringTasks:"Mostrar tarefas recorrentes",showTimeEntries:"Mostrar registros de tempo",showTimeblocks:"Mostrar blocos de tempo",showPropertyBasedEvents:"Mostrar eventos baseados em propriedade"},layout:{calendarView:"Visualiza\xE7\xE3o do calend\xE1rio",customDayCount:"Contagem de dias personalizados",listDayCount:"Contagem de dias da lista",dayStartTime:"Hora de in\xEDcio do dia",dayStartTimePlaceholder:"HH:mm:ss (ex: 08:00:00)",dayEndTime:"Hora de t\xE9rmino do dia",dayEndTimePlaceholder:"HH:mm:ss (ex: 20:00:00)",timeSlotDuration:"Dura\xE7\xE3o do slot de tempo",timeSlotDurationPlaceholder:"HH:mm:ss (ex: 00:30:00)",weekStartsOn:"A semana come\xE7a em",showWeekNumbers:"Mostrar n\xFAmeros da semana",showNowIndicator:"Mostrar indicador 'agora'",showWeekends:"Mostrar fins de semana",showAllDaySlot:"Mostrar slot de dia inteiro",showTodayHighlight:"Mostrar destaque de hoje",todayColumnWidthMultiplier:"Multiplicador de largura da coluna de hoje",showSelectionPreview:"Mostrar pr\xE9-visualiza\xE7\xE3o da sele\xE7\xE3o",timeFormat:"Formato da hora",timeFormat12:"12 horas (AM/PM)",timeFormat24:"24 horas",initialScrollTime:"Hora inicial de rolagem",initialScrollTimePlaceholder:"HH:mm:ss (ex: 08:00:00)",minimumEventHeight:"Altura m\xEDnima do evento (px)",slotEventOverlap:"Permitir sobreposi\xE7\xE3o de eventos",enableSearch:"Habilitar caixa de pesquisa",eventMaxStack:"M\xE1x. eventos empilhados (vista semana/dia, 0 = ilimitado)",dayMaxEvents:"M\xE1x. eventos por dia (vista m\xEAs, 0 = autom\xE1tico)",dayMaxEventRows:"M\xE1x. linhas de eventos por dia (vista m\xEAs, 0 = ilimitado)",spanScheduledToDue:"Estender tarefas entre data agendada e data de vencimento"},propertyBasedEvents:{startDateProperty:"Propriedade da data de in\xEDcio",startDatePropertyPlaceholder:"Selecione a propriedade para data/hora de in\xEDcio",endDateProperty:"Propriedade da data de t\xE9rmino (opcional)",endDatePropertyPlaceholder:"Selecione a propriedade para data/hora de t\xE9rmino",titleProperty:"Propriedade do t\xEDtulo (opcional)",titlePropertyPlaceholder:"Selecione a propriedade para o t\xEDtulo do evento"}},errors:{failedToInitialize:"Falha ao inicializar o calend\xE1rio"}},kanban:{title:"Kanban",newTask:"Nova tarefa",addCard:"+ Adicionar um cart\xE3o",noTasks:"Sem tarefas",uncategorized:"Sem categoria",noProject:"Sem Projeto",reorder:{scope:{column:'coluna "{group}"',columnInSwimlane:'coluna "{group}" na swimlane "{swimlane}"'}},notices:{loadFailed:"Falha ao carregar o quadro Kanban",movedTask:'Tarefa movida para "{0}"'},errors:{loadingBoard:"Erro ao carregar o quadro.",noGroupBy:"A vista Kanban requer que uma propriedade 'Agrupar por' seja configurada. Clique no bot\xE3o 'Ordenar' e selecione uma propriedade em 'Agrupar por'.",formulaGroupingReadOnly:"N\xE3o \xE9 poss\xEDvel mover tarefas entre colunas baseadas em f\xF3rmulas. Os valores de f\xF3rmula s\xE3o calculados e n\xE3o podem ser modificados diretamente.",formulaSwimlaneReadOnly:"N\xE3o \xE9 poss\xEDvel mover tarefas entre raias baseadas em f\xF3rmulas. Os valores de f\xF3rmula s\xE3o calculados e n\xE3o podem ser modificados diretamente."},columnTitle:"Sem t\xEDtulo"},pomodoro:{title:"Pomodoro",status:{focus:"Foco",ready:"Pronto para come\xE7ar",paused:"Pausado",working:"Trabalhando",shortBreak:"Pausa curta",longBreak:"Pausa longa",breakPrompt:"\xD3timo trabalho! Hora de uma pausa {length}",breakLength:{short:"curta",long:"longa"},breakComplete:"Pausa conclu\xEDda! Pronto para o pr\xF3ximo pomodoro?"},buttons:{start:"Iniciar",pause:"Pausar",stop:"Parar",resume:"Retomar",startShortBreak:"Iniciar Pausa Curta",startLongBreak:"Iniciar Pausa Longa",skipBreak:"Pular pausa",chooseTask:"Escolher tarefa...",changeTask:"Alterar tarefa...",clearTask:"Limpar tarefa",selectDifferentTask:"Selecionar uma tarefa diferente"},notices:{noTasks:"Nenhuma tarefa n\xE3o arquivada encontrada. Crie algumas tarefas primeiro.",loadFailed:"Falha ao carregar tarefas"},statsLabel:"conclu\xEDdos hoje"},pomodoroStats:{title:"Estat\xEDsticas Pomodoro",heading:"Estat\xEDsticas Pomodoro",refresh:"Atualizar",sections:{overview:"Vis\xE3o Geral",today:"Hoje",week:"Esta semana",allTime:"Todo o per\xEDodo",recent:"Sess\xF5es recentes"},overviewCards:{todayPomos:{label:"Pomos de Hoje",change:{more:"{count} a mais que ontem",less:"{count} a menos que ontem"}},totalPomos:{label:"Total de Pomos"},todayFocus:{label:"Foco de Hoje",change:{more:"{duration} a mais que ontem",less:"{duration} a menos que ontem"}},totalFocus:{label:"Dura\xE7\xE3o Total de Foco"}},stats:{pomodoros:"Pomodoros",streak:"Sequ\xEAncia",minutes:"Minutos",average:"Dura\xE7\xE3o m\xE9dia",completion:"Conclus\xE3o"},recents:{empty:"Nenhuma sess\xE3o registrada ainda",duration:"{minutes} min",status:{completed:"Conclu\xEDdo",interrupted:"Interrompido"}}},stats:{title:"Estat\xEDsticas",taskProjectStats:"Estat\xEDsticas de Tarefas e Projetos",sections:{filters:"Filtros",overview:"Vis\xE3o Geral",today:"Hoje",thisWeek:"Esta Semana",thisMonth:"Este M\xEAs",projectBreakdown:"Detalhamento por Projeto",dateRange:"Intervalo de Datas"},filters:{minTime:"Tempo m\xEDn. (minutos)",allTasks:"Todas as Tarefas",activeOnly:"Somente Ativas",completedOnly:"Somente Conclu\xEDdas"},refreshButton:"Atualizar",timeRanges:{allTime:"Todo o per\xEDodo",last7Days:"\xDAltimos 7 dias",last30Days:"\xDAltimos 30 dias",last90Days:"\xDAltimos 90 dias",customRange:"Intervalo Personalizado"},resetFiltersButton:"Redefinir Filtros",dateRangeFrom:"De",dateRangeTo:"At\xE9",noProject:"Sem Projeto",cards:{timeTrackedEstimated:"Tempo Rastreado / Estimado",totalTasks:"Total de Tarefas",completionRate:"Taxa de Conclus\xE3o",activeProjects:"Projetos Ativos",avgTimePerTask:"Tempo M\xE9dio por Tarefa"},labels:{tasks:"Tarefas",completed:"Conclu\xEDdas",projects:"Projetos"},noProjectData:"Nenhum dado de projeto dispon\xEDvel",notAvailable:"N/D",noTasks:"Nenhuma tarefa encontrada",loading:"Carregando..."},releaseNotes:{title:"O que h\xE1 de novo no TaskNotes {version}",header:"O que h\xE1 de novo no TaskNotes {version}",viewAllLink:"Ver todas as notas de lan\xE7amento no GitHub \u2192",starMessage:"Se voc\xEA acha o TaskNotes \xFAtil, por favor, considere dar uma estrela no GitHub",baseFilesNotice:"> [!info] Sobre os arquivos `.base` padr\xE3o\n> Altera\xE7\xF5es nos modelos `.base` gerados por padr\xE3o n\xE3o substituem seus arquivos `.base` existentes, para manter suas personaliza\xE7\xF5es.\n> Se quiser as melhorias mais recentes dos modelos, regenere os arquivos base em **Configura\xE7\xF5es \u2192 TaskNotes \u2192 Geral \u2192 Criar arquivos**."}},settings:{header:{documentation:"Documenta\xE7\xE3o",documentationUrl:"https://tasknotes.dev"},tabs:{general:"Geral",taskProperties:"Propriedades da Tarefa",modalFields:"Campos do Modal",defaults:"Padr\xF5es e Modelos",appearance:"Apar\xEAncia e UI",features:"Recursos",integrations:"Integra\xE7\xF5es"},features:{inlineTasks:{header:"Tarefas Embutidas",description:"Configura\xE7\xF5es para links de tarefas e convers\xE3o de caixas de sele\xE7\xE3o em tarefas nas notas."},overlays:{taskLinkToggle:{name:"Sobreposi\xE7\xE3o de link de tarefa",description:"Mostrar sobreposi\xE7\xF5es interativas ao passar o mouse sobre links de tarefas"},aliasExclusion:{name:"Desativar sobreposi\xE7\xE3o para links com alias",description:"N\xE3o mostrar o widget de tarefa se o link contiver um alias (ex. [[Tarefa|Alias]])."}},instantConvert:{toggle:{name:"Mostrar bot\xE3o de convers\xE3o ao lado de caixas de sele\xE7\xE3o",description:"Exibir um bot\xE3o embutido ao lado de caixas de sele\xE7\xE3o Markdown que as converte para TaskNotes"},folder:{name:"Pasta para tarefas convertidas",description:"Pasta onde tarefas convertidas de caixas de sele\xE7\xE3o ser\xE3o criadas. Deixe vazio para usar a pasta de tarefas padr\xE3o. Use {{currentNotePath}} para a pasta da nota atual, ou {{currentNoteTitle}} para uma subpasta com o t\xEDtulo da nota."}},nlp:{header:"Processamento de Linguagem Natural",description:"Analisa datas, prioridades e outras propriedades do texto inserido.",enable:{name:"Habilitar entrada de tarefa em linguagem natural",description:"Analisar datas de vencimento, prioridades e contextos da linguagem natural ao criar tarefas"},defaultToScheduled:{name:"Padr\xE3o para agendado",description:"Quando a NLP detectar uma data sem contexto, trat\xE1-la como agendada em vez de vencimento"},language:{name:"Idioma da NLP",description:"Idioma para padr\xF5es de processamento de linguagem natural e an\xE1lise de datas"},statusTrigger:{name:"Gatilho de sugest\xE3o de status",description:"Texto para acionar sugest\xF5es de status (deixe em branco para desativar)"}},pomodoro:{header:"Temporizador Pomodoro",description:"Configure intervalos de trabalho/pausa para o temporizador Pomodoro.",workDuration:{name:"Dura\xE7\xE3o do trabalho",description:"Dura\xE7\xE3o dos intervalos de trabalho em minutos"},shortBreak:{name:"Dura\xE7\xE3o da pausa curta",description:"Dura\xE7\xE3o das pausas curtas em minutos"},longBreak:{name:"Dura\xE7\xE3o da pausa longa",description:"Dura\xE7\xE3o das pausas longas em minutos"},longBreakInterval:{name:"Intervalo da pausa longa",description:"N\xFAmero de sess\xF5es de trabalho antes de uma pausa longa"},autoStartBreaks:{name:"Iniciar pausas automaticamente",description:"Iniciar automaticamente os temporizadores de pausa ap\xF3s as sess\xF5es de trabalho"},autoStartWork:{name:"Iniciar trabalho automaticamente",description:"Iniciar automaticamente as sess\xF5es de trabalho ap\xF3s as pausas"},notifications:{name:"Notifica\xE7\xF5es Pomodoro",description:"Mostrar notifica\xE7\xF5es quando as sess\xF5es Pomodoro terminarem"},mobileSidebar:{name:"Barra lateral m\xF3vel",description:"Onde abrir o temporizador Pomodoro em dispositivos m\xF3veis",tab:"Painel de notas",left:"Barra lateral esquerda",right:"Barra lateral direita"}},uiLanguage:{header:"Idioma da Interface",description:"Altere o idioma dos menus, avisos e visualiza\xE7\xF5es do TaskNotes.",dropdown:{name:"Idioma da UI",description:"Selecione o idioma usado para o texto da interface do TaskNotes"}},pomodoroSound:{enabledName:"Som ativado",enabledDesc:"Tocar som quando as sess\xF5es Pomodoro terminarem",volumeName:"Volume do som",volumeDesc:"Volume para sons Pomodoro (0-100)"},dataStorage:{name:"Armazenamento de dados Pomodoro",description:"Configure onde os dados da sess\xE3o pomodoro s\xE3o armazenados e como s\xE3o gerenciados.",dailyNotes:"Notas di\xE1rias",pluginData:"Dados do plugin",notices:{locationChanged:"Local de armazenamento Pomodoro alterado para {location}"}},notifications:{header:"Notifica\xE7\xF5es",description:"Configure notifica\xE7\xF5es de lembrete de tarefas e alertas.",enableName:"Ativar notifica\xE7\xF5es",enableDesc:"Ativar notifica\xE7\xF5es de lembrete de tarefas",typeName:"Tipo de notifica\xE7\xE3o",typeDesc:"Tipo de notifica\xE7\xF5es a serem mostradas",systemLabel:"Notifica\xE7\xF5es do sistema",inAppLabel:"Notifica\xE7\xF5es no aplicativo"},overdue:{hideCompletedName:"Ocultar tarefas conclu\xEDdas das atrasadas",hideCompletedDesc:"Excluir tarefas conclu\xEDdas dos c\xE1lculos de tarefas atrasadas"},indexing:{disableName:"Desativar indexa\xE7\xE3o de notas",disableDesc:"Desativar indexa\xE7\xE3o autom\xE1tica do conte\xFAdo das notas para melhor desempenho"},suggestions:{debounceName:"Debounce de sugest\xE3o",debounceDesc:"Atraso em milissegundos antes de mostrar sugest\xF5es"},timeTracking:{autoStopName:"Parar registro de tempo automaticamente",autoStopDesc:"Parar automaticamente o registro de tempo quando uma tarefa \xE9 marcada como conclu\xEDda",stopNotificationName:"Notifica\xE7\xE3o de parada de registro de tempo",stopNotificationDesc:"Mostrar notifica\xE7\xE3o quando o registro de tempo \xE9 parado automaticamente"},stopNotificationName:"Notifica\xE7\xE3o de parada de registro de tempo",stopNotificationDesc:"Mostrar notifica\xE7\xE3o quando o registro de tempo \xE9 parado automaticamente",recurring:{maintainOffsetName:"Manter deslocamento da data de vencimento em tarefas recorrentes",maintainOffsetDesc:"Manter o deslocamento entre a data de vencimento e a data agendada quando tarefas recorrentes s\xE3o conclu\xEDdas",resetCheckboxesName:"Redefinir caixas de sele\xE7\xE3o na recorr\xEAncia",resetCheckboxesDesc:"Redefinir todas as caixas de sele\xE7\xE3o markdown no corpo da tarefa quando uma tarefa recorrente \xE9 conclu\xEDda e reagendada"},timeblocking:{header:"Bloco de Tempo",description:"Configure a funcionalidade de bloco de tempo para agendamento leve em notas di\xE1rias. Arraste nas visualiza\xE7\xF5es de calend\xE1rio para criar eventos - selecione 'Bloco de Tempo' no menu de contexto.",enableName:"Ativar bloco de tempo",enableDesc:"Ativar recurso de bloco de tempo para agendamento leve em notas di\xE1rias. Quando ativado, a op\xE7\xE3o 'Bloco de Tempo' aparece no menu de contexto de arrastar do calend\xE1rio.",showBlocksName:"Mostrar blocos de tempo",showBlocksDesc:"Exibir blocos de tempo de notas di\xE1rias por padr\xE3o",defaultColorName:"Cor padr\xE3o do bloco de tempo",defaultColorDesc:"A cor padr\xE3o usada ao criar novos blocos de tempo",usage:"Uso: Arraste no calend\xE1rio para criar eventos. Selecione 'Bloco de Tempo' no menu de contexto (vis\xEDvel apenas quando o bloco de tempo est\xE1 ativado). Arraste para mover blocos de tempo existentes. Redimensione as bordas para ajustar a dura\xE7\xE3o."},performance:{header:"Desempenho e Comportamento",description:"Configure op\xE7\xF5es de desempenho e comportamento do plugin."},timeTrackingSection:{header:"Registro de Tempo",description:"Configure comportamentos autom\xE1ticos de registro de tempo."},recurringSection:{header:"Tarefas Recorrentes",description:"Configure o comportamento para gerenciamento de tarefas recorrentes."},debugLogging:{header:"Registro de depura\xE7\xE3o",description:"Configurar a sa\xEDda do log de depura\xE7\xE3o para solu\xE7\xE3o de problemas.",enableName:"Habilitar log de depura\xE7\xE3o",enableDesc:"Registrar diagn\xF3sticos detalhados de arrastar e soltar e de visualiza\xE7\xE3o no console do desenvolvedor. \xDAtil para solu\xE7\xE3o de problemas."}},defaults:{header:{basicDefaults:"Padr\xF5es B\xE1sicos",dateDefaults:"Padr\xF5es de Data",defaultReminders:"Lembretes padr\xE3o",bodyTemplate:"Modelo de Corpo",instantTaskConversion:"Convers\xE3o Instant\xE2nea de Tarefa"},description:{basicDefaults:"Defina valores padr\xE3o para novas tarefas para acelerar a cria\xE7\xE3o de tarefas.",dateDefaults:"Defina datas de vencimento e agendadas padr\xE3o para novas tarefas.",defaultReminders:"Configure lembretes padr\xE3o que ser\xE3o adicionados a novas tarefas.",bodyTemplate:"Configure um arquivo de modelo para usar no conte\xFAdo de novas tarefas.",instantTaskConversion:"Configure o comportamento ao converter texto para tarefas instantaneamente."},basicDefaults:{defaultStatus:{name:"Status padr\xE3o",description:"Status padr\xE3o para novas tarefas"},defaultPriority:{name:"Prioridade padr\xE3o",description:"Prioridade padr\xE3o para novas tarefas"},defaultContexts:{name:"Contextos padr\xE3o",description:"Lista de contextos padr\xE3o separados por v\xEDrgula (ex: @casa, @trabalho)",placeholder:"@casa, @trabalho"},defaultTags:{name:"Tags padr\xE3o",description:"Lista de tags padr\xE3o separadas por v\xEDrgula (sem #)",placeholder:"importante, urgente"},defaultProjects:{name:"Projetos padr\xE3o",description:"Links de projetos padr\xE3o para novas tarefas",selectButton:"Selecionar Projetos",selectTooltip:"Escolher notas de projeto para vincular por padr\xE3o",removeTooltip:"Remover {name} dos projetos padr\xE3o"},useParentNoteAsProject:{name:"Usar nota pai como projeto durante a convers\xE3o instant\xE2nea",description:"Vincular automaticamente a nota pai como um projeto ao usar a convers\xE3o instant\xE2nea de tarefa"},defaultTimeEstimate:{name:"Estimativa de tempo padr\xE3o",description:"Estimativa de tempo padr\xE3o em minutos (0 = sem padr\xE3o)",placeholder:"60"},defaultRecurrence:{name:"Recorr\xEAncia padr\xE3o",description:"Padr\xE3o de recorr\xEAncia padr\xE3o para novas tarefas"}},dateDefaults:{defaultDueDate:{name:"Data de vencimento padr\xE3o",description:"Data de vencimento padr\xE3o para novas tarefas"},defaultScheduledDate:{name:"Data agendada padr\xE3o",description:"Data agendada padr\xE3o para novas tarefas"}},reminders:{addReminder:{name:"Adicionar lembrete padr\xE3o",description:"Criar um novo lembrete padr\xE3o que ser\xE1 adicionado a todas as novas tarefas",buttonText:"Adicionar lembrete"},emptyState:"Nenhum lembrete padr\xE3o configurado. Adicione um lembrete para notific\xE1-lo automaticamente sobre novas tarefas.",emptyStateButton:"Adicionar Lembrete",reminderDescription:"Descri\xE7\xE3o do lembrete",unnamedReminder:"Lembrete Sem Nome",deleteTooltip:"Excluir lembrete",fields:{description:"Descri\xE7\xE3o:",type:"Tipo:",offset:"Deslocamento:",unit:"Unidade:",direction:"Dire\xE7\xE3o:",relatedTo:"Relacionado a:",date:"Data:",time:"Hora:"},types:{relative:"Relativo (antes/depois das datas da tarefa)",absolute:"Absoluto (data/hora espec\xEDfica)"},units:{minutes:"minutos",hours:"horas",days:"dias"},directions:{before:"antes",after:"depois"},relatedTo:{due:"data de vencimento",scheduled:"data agendada"}},bodyTemplate:{useBodyTemplate:{name:"Usar modelo de corpo",description:"Usar um arquivo de modelo para o conte\xFAdo do corpo da tarefa"},bodyTemplateFile:{name:"Arquivo de modelo de corpo",description:"Caminho para o arquivo de modelo para o conte\xFAdo do corpo da tarefa. Suporta vari\xE1veis de modelo como {{title}}, {{date}}, {{time}}, {{priority}}, {{status}}, etc.",placeholder:"Modelos/Modelo de Tarefa.md",ariaLabel:"Caminho para o arquivo de modelo de corpo"},variablesHeader:"Vari\xE1veis de modelo:",variables:{title:"{{title}} - T\xEDtulo da tarefa",details:"{{details}} - Detalhes fornecidos pelo usu\xE1rio no modal",date:"{{date}} - Data atual (AAAA-MM-DD)",time:"{{time}} - Hora atual (HH:MM)",priority:"{{priority}} - Prioridade da tarefa",status:"{{status}} - Status da tarefa",contexts:"{{contexts}} - Contextos da tarefa",tags:"{{tags}} - Tags da tarefa",projects:"{{projects}} - Projetos da tarefa"}},instantConversion:{useDefaultsOnInstantConvert:{name:"Usar padr\xF5es de tarefa na convers\xE3o instant\xE2nea",description:"Aplicar configura\xE7\xF5es padr\xE3o de tarefa ao converter texto para tarefas instantaneamente"}},options:{noDefault:"Sem padr\xE3o",none:"Nenhum",today:"Hoje",tomorrow:"Amanh\xE3",nextWeek:"Pr\xF3xima semana",daily:"Diariamente",weekly:"Semanalmente",monthly:"Mensalmente",yearly:"Anualmente"}},general:{taskStorage:{header:"Armazenamento de Tarefas",description:"Configure onde as tarefas s\xE3o armazenadas e como s\xE3o identificadas.",defaultFolder:{name:"Pasta padr\xE3o de tarefas",description:"Local padr\xE3o para novas tarefas"},moveArchived:{name:"Mover tarefas arquivadas para pasta",description:"Mover automaticamente tarefas arquivadas para uma pasta de arquivo"},archiveFolder:{name:"Pasta de arquivo",description:"Pasta para onde mover tarefas quando arquivadas. Suporta vari\xE1veis de modelo como {{year}}, {{month}}, {{priority}}, etc."}},taskIdentification:{header:"Identifica\xE7\xE3o de Tarefa",description:"Escolha como o TaskNotes identifica notas como tarefas.",identifyBy:{name:"Identificar tarefas por",description:"Escolha se deseja identificar tarefas por tag ou por uma propriedade do frontmatter",options:{tag:"Tag",property:"Propriedade"}},taskTag:{name:"Tag da tarefa",description:"Tag que identifica notas como tarefas (sem #)"},hideIdentifyingTags:{name:"Ocultar tags de identifica\xE7\xE3o nos cart\xF5es de tarefa",description:"Quando ativado, tags correspondentes \xE0 tag de identifica\xE7\xE3o da tarefa (incluindo correspond\xEAncias hier\xE1rquicas como 'tarefa/projeto') ser\xE3o ocultadas das exibi\xE7\xF5es do cart\xE3o de tarefa"},taskProperty:{name:"Nome da propriedade da tarefa",description:'O nome da propriedade do frontmatter (ex: "categoria")'},taskPropertyValue:{name:"Valor da propriedade da tarefa",description:'O valor que identifica uma nota como uma tarefa (ex: "tarefa")'}},folderManagement:{header:"Gerenciamento de Pastas",excludedFolders:{name:"Pastas exclu\xEDdas",description:"Lista de pastas separadas por v\xEDrgula para excluir da indexa\xE7\xE3o de tarefas e sugest\xF5es de projetos"}},frontmatter:{header:"Frontmatter",description:"Configure como os links s\xE3o formatados nas propriedades do frontmatter.",useMarkdownLinks:{name:"Usar links markdown no frontmatter",description:`Gerar links markdown ([texto](caminho)) em vez de wikilinks ([[link]]) nas propriedades do frontmatter.
\u26A0\uFE0F Requer o plugin 'obsidian-frontmatter-markdown-links' para funcionar corretamente.`}},taskInteraction:{header:"Intera\xE7\xE3o com Tarefas",description:"Configure o comportamento ao clicar em tarefas.",singleClick:{name:"A\xE7\xE3o de clique \xFAnico",description:"A\xE7\xE3o realizada ao clicar uma vez em um cart\xE3o de tarefa"},doubleClick:{name:"A\xE7\xE3o de clique duplo",description:"A\xE7\xE3o realizada ao clicar duas vezes em um cart\xE3o de tarefa"},actions:{edit:"Editar tarefa",openNote:"Abrir nota",none:"Nenhuma a\xE7\xE3o"}},releaseNotes:{header:"Notas de Lan\xE7amento",description:"Vers\xE3o atual: {version}",showOnUpdate:{name:"Mostrar notas de lan\xE7amento ap\xF3s atualiza\xE7\xE3o",description:"Abrir automaticamente as notas de lan\xE7amento quando o TaskNotes for atualizado para uma nova vers\xE3o"},viewButton:{name:"Ver notas de lan\xE7amento",description:"Veja o que h\xE1 de novo na vers\xE3o mais recente do TaskNotes",buttonText:"Ver notas de lan\xE7amento"}}},taskProperties:{sections:{coreProperties:"Propriedades Principais",corePropertiesDesc:"Status e prioridade s\xE3o as propriedades principais que definem o estado e import\xE2ncia de uma tarefa.",dateProperties:"Propriedades de Data",datePropertiesDesc:"Configure quando as tarefas vencem e est\xE3o agendadas.",organizationProperties:"Propriedades de Organiza\xE7\xE3o",organizationPropertiesDesc:"Organize tarefas com contextos, projetos e tags.",taskDetails:"Detalhes da Tarefa",taskDetailsDesc:"Detalhes adicionais como estimativas de tempo, recorr\xEAncia e lembretes.",metadataProperties:"Propriedades de Metadados",metadataPropertiesDesc:"Propriedades gerenciadas pelo sistema para rastrear o hist\xF3rico de tarefas.",featureProperties:"Propriedades de Recursos",featurePropertiesDesc:"Propriedades usadas por recursos espec\xEDficos do TaskNotes como temporizador Pomodoro e sincroniza\xE7\xE3o de calend\xE1rio."},propertyCard:{propertyKey:"Chave da propriedade:",default:"Padr\xE3o:",nlpTrigger:"Gatilho NLP:",triggerChar:"Caractere gatilho:",triggerEmpty:"O gatilho n\xE3o pode estar vazio",triggerTooLong:"O gatilho \xE9 muito longo (m\xE1x. 10 caracteres)"},properties:{status:{name:"Status",description:"Rastreia o estado atual de uma tarefa (ex.: a fazer, em progresso, conclu\xEDdo). O status determina se uma tarefa aparece como conclu\xEDda e pode acionar o arquivamento autom\xE1tico."},priority:{name:"Prioridade",description:"Indica a import\xE2ncia da tarefa. Usado para ordena\xE7\xE3o e filtragem. Os valores s\xE3o ordenados alfabeticamente nas visualiza\xE7\xF5es Bases, ent\xE3o use prefixos como 1-, 2- para controlar a ordem."},due:{name:"Data de Vencimento",description:"O prazo at\xE9 o qual uma tarefa deve ser conclu\xEDda. Tarefas ap\xF3s a data de vencimento aparecem como atrasadas. Armazenado como data no frontmatter."},scheduled:{name:"Data Agendada",description:"Quando voc\xEA planeja trabalhar em uma tarefa. Diferente da data de vencimento, isso representa seu hor\xE1rio de in\xEDcio pretendido. As tarefas aparecem no calend\xE1rio na data/hora agendada."},contexts:{name:"Contextos",description:"Locais ou condi\xE7\xF5es onde uma tarefa pode ser feita (ex.: @casa, @escrit\xF3rio, @telefone). \xDAtil para filtrar tarefas pela sua situa\xE7\xE3o atual. Armazenado como lista."},projects:{name:"Projetos",description:"Links para notas de projeto \xE0s quais esta tarefa pertence. Armazenado como wikilinks (ex.: [[Nome do Projeto]]). As tarefas podem pertencer a m\xFAltiplos projetos."},tags:{name:"Tags",description:"Tags nativas do Obsidian para categorizar tarefas. S\xE3o armazenadas na propriedade tags do frontmatter e funcionam com os recursos de tags do Obsidian."},timeEstimate:{name:"Estimativa de Tempo",description:"Minutos estimados para concluir a tarefa. Usado para planejamento de tempo e carga de trabalho. Exibido em cart\xF5es de tarefas e eventos do calend\xE1rio."},recurrence:{name:"Recorr\xEAncia",description:"Padr\xE3o para tarefas repetitivas (di\xE1rio, semanal, mensal, anual ou RRULE personalizado). Quando uma tarefa recorrente \xE9 conclu\xEDda, sua data agendada \xE9 automaticamente atualizada para a pr\xF3xima ocorr\xEAncia."},recurrenceAnchor:{name:"\xC2ncora de recorr\xEAncia",description:"Controla como a pr\xF3xima ocorr\xEAncia \xE9 calculada: 'scheduled' usa a data agendada, 'completion' usa a data de conclus\xE3o real."},reminders:{name:"Lembretes",description:"Notifica\xE7\xF5es acionadas antes das datas de vencimento ou agendadas. Armazenado como lista de objetos de lembrete com hor\xE1rio e descri\xE7\xE3o opcional."},title:{name:"T\xEDtulo",description:"O nome da tarefa. Pode ser armazenado no frontmatter ou no nome do arquivo (quando 'Armazenar t\xEDtulo no nome do arquivo' est\xE1 habilitado)."},dateCreated:{name:"Data de Cria\xE7\xE3o",description:"Carimbo de data/hora de quando a tarefa foi criada. Definido automaticamente e usado para ordena\xE7\xE3o por ordem de cria\xE7\xE3o."},dateModified:{name:"Data de Modifica\xE7\xE3o",description:"Carimbo de data/hora da \xFAltima altera\xE7\xE3o na tarefa. Atualizado automaticamente quando qualquer propriedade da tarefa muda."},completedDate:{name:"Data de Conclus\xE3o",description:"Carimbo de data/hora de quando a tarefa foi marcada como conclu\xEDda. Definido automaticamente quando o status muda para um estado conclu\xEDdo."},archiveTag:{name:"Tag de Arquivo",description:"Tag adicionada \xE0s tarefas quando arquivadas. Usada para identificar tarefas arquivadas e pode acionar a movimenta\xE7\xE3o de arquivos para a pasta de arquivo."},timeEntries:{name:"Entradas de Tempo",description:"Registros de sess\xF5es de rastreamento de tempo para esta tarefa. Cada entrada armazena carimbos de data/hora de in\xEDcio e fim. Usado para calcular o tempo total gasto."},completeInstances:{name:"Inst\xE2ncias Conclu\xEDdas",description:"Hist\xF3rico de conclus\xE3o para tarefas recorrentes. Armazena as datas em que cada inst\xE2ncia foi conclu\xEDda para evitar conclus\xF5es duplicadas."},skippedInstances:{name:"Inst\xE2ncias Puladas",description:"Ocorr\xEAncias puladas para tarefas recorrentes. Armazena as datas de inst\xE2ncias que foram puladas em vez de conclu\xEDdas."},blockedBy:{name:"Bloqueada Por",description:"Links para tarefas que devem ser conclu\xEDdas antes desta. Armazenado como wikilinks. Tarefas bloqueadas exibem um indicador visual."},sortOrder:{name:"Ordem manual",description:"Propriedade de frontmatter usada para a ordem manual com arrastar e soltar. A visualiza\xE7\xE3o deve estar ordenada por esta propriedade para que a reordena\xE7\xE3o por arrastar e soltar funcione."},pomodoros:{name:"Pomodoros",description:"Contagem de sess\xF5es Pomodoro conclu\xEDdas. Quando o armazenamento de dados est\xE1 configurado para 'Notas di\xE1rias', isso \xE9 escrito nas notas di\xE1rias em vez dos arquivos de tarefa."},icsEventId:{name:"ID do Evento ICS",description:"Identificador \xFAnico vinculando uma nota a um evento de calend\xE1rio ICS. Adicionado automaticamente ao criar notas a partir de eventos de calend\xE1rio."},icsEventTag:{name:"Tag de Evento ICS",description:"Tag identificando notas criadas a partir de eventos de calend\xE1rio ICS. Usada para distinguir notas geradas pelo calend\xE1rio de tarefas regulares."}},statusCard:{valuesHeader:"Valores de Status"},priorityCard:{valuesHeader:"Valores de Prioridade"},projectsCard:{defaultProjects:"Projetos padr\xE3o:",useParentNote:"Usar nota pai como projeto:",noDefaultProjects:"Nenhum projeto padr\xE3o selecionado",autosuggestFilters:"Filtros de Autosugest\xE3o",customizeDisplay:"Personalizar Exibi\xE7\xE3o",filtersOn:"Filtros Ativos"},titleCard:{storeTitleInFilename:"Armazenar t\xEDtulo no nome do arquivo:",storedInFilename:"Armazenado no nome do arquivo",filenameUpdatesWithTitle:"O nome do arquivo ser\xE1 atualizado automaticamente quando o t\xEDtulo da tarefa mudar.",filenameFormat:"Formato do nome do arquivo:",customTemplate:"Modelo personalizado:",legacySyntaxWarning:"A sintaxe de chaves simples como {title} est\xE1 obsoleta. Por favor, use a sintaxe de chaves duplas {{title}} para consist\xEAncia com os modelos de corpo."},tagsCard:{nativeObsidianTags:"Usa tags nativas do Obsidian"},remindersCard:{defaultReminders:"Lembretes Padr\xE3o"},taskStatuses:{header:"Status da Tarefa",description:"Personalize as op\xE7\xF5es de status dispon\xEDveis para suas tarefas. Esses status controlam o ciclo de vida da tarefa e determinam quando as tarefas s\xE3o consideradas conclu\xEDdas.",howTheyWork:{title:"Como os status funcionam:",value:'Valor: O identificador interno armazenado em seus arquivos de tarefa (ex: "em-progresso")',label:'R\xF3tulo: O nome de exibi\xE7\xE3o mostrado na interface (ex: "Em Progresso")',color:"Cor: Cor do indicador visual para o ponto de status e emblemas",icon:'\xCDcone: Nome de \xEDcone Lucide opcional para exibir em vez do ponto colorido (ex: "check", "circle", "clock"). Navegue pelos \xEDcones em lucide.dev',completed:"Conclu\xEDdo: Quando marcado, tarefas com este status s\xE3o consideradas finalizadas e podem ser filtradas de forma diferente",autoArchive:"Arquivar automaticamente: Quando ativado, as tarefas ser\xE3o automaticamente arquivadas ap\xF3s o atraso especificado (1-1440 minutos)",orderNote:"A ordem abaixo determina a sequ\xEAncia ao alternar entre os status clicando nos emblemas de status da tarefa."},addNew:{name:"Adicionar novo status",description:"Criar uma nova op\xE7\xE3o de status para suas tarefas",buttonText:"Adicionar status"},validationNote:'Nota: Voc\xEA deve ter pelo menos 2 status, e pelo menos um status deve ser marcado como "Conclu\xEDdo".',emptyState:"Nenhum status personalizado configurado. Adicione um status para come\xE7ar.",emptyStateButton:"Adicionar Status",fields:{value:"Valor:",label:"R\xF3tulo:",color:"Cor:",icon:"\xCDcone:",completed:"Conclu\xEDdo:",autoArchive:"Arquivar auto.:",delayMinutes:"Atraso (minutos):"},placeholders:{value:"em-progresso",label:"Em Progresso",icon:"check, circle, clock"},badges:{completed:"Conclu\xEDdo"},deleteConfirm:'Tem certeza de que deseja excluir o status "{label}"?'},taskPriorities:{header:"Prioridades da Tarefa",description:"Personalize os n\xEDveis de prioridade dispon\xEDveis para suas tarefas. Na v4.0+, as prioridades s\xE3o ordenadas alfabeticamente pelo seu valor nas visualiza\xE7\xF5es de Bases.",howTheyWork:{title:"Como as prioridades funcionam:",value:'Valor: O identificador interno armazenado em seus arquivos de tarefa. Use prefixos como "1-urgente", "2-alta" para controlar a ordem de classifica\xE7\xE3o nas visualiza\xE7\xF5es de Bases.',label:'R\xF3tulo de Exibi\xE7\xE3o: O nome de exibi\xE7\xE3o mostrado na interface (ex: "Prioridade Alta")',color:"Cor: Cor do indicador visual para o ponto de prioridade e emblemas",weight:"Peso: Valor num\xE9rico para classifica\xE7\xE3o (pesos maiores aparecem primeiro nas listas)",weightNote:"As tarefas s\xE3o automaticamente classificadas pelo peso da prioridade em ordem decrescente (maior peso primeiro). Os pesos podem ser qualquer n\xFAmero positivo."},addNew:{name:"Adicionar nova prioridade",description:"Criar um novo n\xEDvel de prioridade para suas tarefas",buttonText:"Adicionar prioridade"},validationNote:"Nota: Voc\xEA deve ter pelo menos 1 prioridade. As prioridades s\xE3o ordenadas alfabeticamente por valor nas visualiza\xE7\xF5es de Bases.",emptyState:"Nenhuma prioridade personalizada configurada. Adicione uma prioridade para come\xE7ar.",emptyStateButton:"Adicionar Prioridade",fields:{value:"Valor:",label:"R\xF3tulo:",color:"Cor:",weight:"Peso:"},placeholders:{value:"alta",label:"Prioridade Alta"},weightLabel:"Peso: {weight}",deleteConfirm:"Voc\xEA deve ter pelo menos uma prioridade",deleteTooltip:"Excluir prioridade"},fieldMapping:{header:"Mapeamento de Campos",warning:"\u26A0\uFE0F Aviso: O TaskNotes ler\xE1 E escrever\xE1 usando esses nomes de propriedade. Alter\xE1-los ap\xF3s criar tarefas pode causar inconsist\xEAncias.",description:"Configure quais propriedades do frontmatter o TaskNotes deve usar para cada campo.",resetButton:{name:"Redefinir mapeamentos de campos",description:"Redefinir todos os mapeamentos de campos para os valores padr\xE3o",buttonText:"Redefinir para Padr\xF5es"},notices:{resetSuccess:"Mapeamentos de campos redefinidos para os padr\xF5es",resetFailure:"Falha ao redefinir mapeamentos de campos",updateFailure:"Falha ao atualizar o mapeamento de campo para {label}. Por favor, tente novamente."},table:{fieldHeader:"Campo do TaskNotes",propertyHeader:"Seu nome de propriedade"},fields:{title:"T\xEDtulo",status:"Status",priority:"Prioridade",due:"Data de vencimento",scheduled:"Data agendada",contexts:"Contextos",projects:"Projetos",timeEstimate:"Estimativa de tempo",recurrence:"Recorr\xEAncia",dateCreated:"Data de cria\xE7\xE3o",completedDate:"Data de conclus\xE3o",dateModified:"Data de modifica\xE7\xE3o",archiveTag:"Tag de arquivamento",timeEntries:"Registros de tempo",completeInstances:"Inst\xE2ncias conclu\xEDdas",blockedBy:"Bloqueada por",sortOrder:"Ordem manual",pomodoros:"Pomodoros",icsEventId:"ID do Evento ICS",icsEventTag:"Tag do Evento ICS",reminders:"Lembretes"}},customUserFields:{header:"Campos de Usu\xE1rio Personalizados",description:"Defina propriedades de frontmatter personalizadas para aparecerem como op\xE7\xF5es de filtro com reconhecimento de tipo nas visualiza\xE7\xF5es. Cada linha: Nome de Exibi\xE7\xE3o, Nome da Propriedade, Tipo.",addNew:{name:"Adicionar novo campo de usu\xE1rio",description:"Criar um novo campo personalizado que aparecer\xE1 em filtros e visualiza\xE7\xF5es",buttonText:"Adicionar campo de usu\xE1rio"},emptyState:"Nenhum campo de usu\xE1rio personalizado configurado. Adicione um campo para criar propriedades personalizadas para suas tarefas.",emptyStateButton:"Adicionar Campo de Usu\xE1rio",fields:{displayName:"Nome de Exibi\xE7\xE3o:",propertyKey:"Chave da Propriedade:",type:"Tipo:",defaultValue:"Valor Padr\xE3o:"},placeholders:{displayName:"Nome de Exibi\xE7\xE3o",propertyKey:"nome-da-propriedade",defaultValue:"Valor padr\xE3o",defaultValueList:"Valores padr\xE3o (separados por v\xEDrgula)"},types:{text:"Texto",number:"N\xFAmero",boolean:"Booleano",date:"Data",list:"Lista"},defaultNames:{unnamedField:"Campo Sem Nome",noKey:"sem-chave"},deleteTooltip:"Excluir campo",autosuggestFilters:{header:"Filtros de autossugest\xE3o (Avan\xE7ado)",description:"Filtre quais arquivos aparecem nas sugest\xF5es de preenchimento autom\xE1tico para este campo"}}},appearance:{taskCards:{header:"Cart\xF5es de Tarefa",description:"Configure como os cart\xF5es de tarefa s\xE3o exibidos em todas as visualiza\xE7\xF5es.",defaultVisibleProperties:{name:"Propriedades vis\xEDveis padr\xE3o",description:"Escolha quais propriedades aparecem nos cart\xF5es de tarefa por padr\xE3o."},propertyGroups:{coreProperties:"PROPRIEDADES PRINCIPAIS",organization:"ORGANIZA\xC7\xC3O",customProperties:"PROPRIEDADES PERSONALIZADAS"},properties:{status:"Ponto de Status",priority:"Ponto de Prioridade",due:"Data de Vencimento",scheduled:"Data Agendada",timeEstimate:"Estimativa de Tempo",totalTrackedTime:"Tempo Total Registrado",checklistProgress:"Progresso da lista de verifica\xE7\xE3o",recurrence:"Recorr\xEAncia",completedDate:"Data de Conclus\xE3o",createdDate:"Data de Cria\xE7\xE3o",modifiedDate:"Data de Modifica\xE7\xE3o",projects:"Projetos",contexts:"Contextos",tags:"Tags",blocked:"Bloqueada",blocking:"Bloqueando"}},taskFilenames:{header:"Nomes de Arquivo de Tarefa",description:"Configure como os arquivos de tarefa s\xE3o nomeados quando criados.",storeTitleInFilename:{name:"Armazenar t\xEDtulo no nome do arquivo",description:"Usar o t\xEDtulo da tarefa como nome do arquivo. O nome do arquivo ser\xE1 atualizado quando o t\xEDtulo da tarefa for alterado (Recomendado)."},filenameFormat:{name:"Formato do nome do arquivo",description:"Como os nomes dos arquivos de tarefa devem ser gerados",options:{title:"T\xEDtulo da tarefa (N\xE3o atualiza)",zettel:"Formato Zettelkasten (AAMMDD + segundos base36 desde a meia-noite)",timestamp:"Carimbo de data/hora completo (AAAA-MM-DD-HHMMSS)",custom:"Modelo personalizado"}},customTemplate:{name:"Modelo de nome de arquivo personalizado",description:"Modelo para nomes de arquivo personalizados. Vari\xE1veis dispon\xEDveis: {title}, {titleLower}, {titleUpper}, {titleSnake}, {titleKebab}, {titleCamel}, {titlePascal}, {date}, {shortDate}, {time}, {time12}, {time24}, {timestamp}, {dateTime}, {year}, {month}, {monthName}, {monthNameShort}, {day}, {dayName}, {dayNameShort}, {hour}, {hour12}, {minute}, {second}, {milliseconds}, {ms}, {ampm}, {week}, {quarter}, {unix}, {unixMs}, {timezone}, {timezoneShort}, {utcOffset}, {utcOffsetShort}, {utcZ}, {zettel}, {nano}, {priority}, {priorityShort}, {status}, {statusShort}, {dueDate}, {scheduledDate}",placeholder:"{date}-{title}-{dueDate}",helpText:"Nota: {dueDate} e {scheduledDate} est\xE3o no formato AAAA-MM-DD e estar\xE3o vazios se n\xE3o forem definidos."}},displayFormatting:{header:"Formata\xE7\xE3o de Exibi\xE7\xE3o",description:"Configure como datas, horas e outros dados s\xE3o exibidos em todo o plugin.",timeFormat:{name:"Formato da hora",description:"Exibir hora no formato de 12 horas ou 24 horas em todo o plugin",options:{twelveHour:"12 horas (AM/PM)",twentyFourHour:"24 horas"}}},calendarView:{header:"Visualiza\xE7\xE3o de Calend\xE1rio",description:"Personalize a apar\xEAncia e o comportamento da visualiza\xE7\xE3o de calend\xE1rio.",defaultView:{name:"Visualiza\xE7\xE3o padr\xE3o",description:"A visualiza\xE7\xE3o de calend\xE1rio mostrada ao abrir a aba de calend\xE1rio",options:{monthGrid:"Grade Mensal",weekTimeline:"Linha do Tempo Semanal",dayTimeline:"Linha do Tempo Di\xE1ria",yearView:"Visualiza\xE7\xE3o Anual",customMultiDay:"V\xE1rios Dias Personalizado"}},customDayCount:{name:"Contagem de dias da visualiza\xE7\xE3o personalizada",description:"N\xFAmero de dias para mostrar na visualiza\xE7\xE3o personalizada de v\xE1rios dias",placeholder:"3"},firstDayOfWeek:{name:"Primeiro dia da semana",description:"Qual dia deve ser a primeira coluna nas visualiza\xE7\xF5es de semana"},showWeekends:{name:"Mostrar fins de semana",description:"Exibir fins de semana nas visualiza\xE7\xF5es de calend\xE1rio"},showWeekNumbers:{name:"Mostrar n\xFAmeros da semana",description:"Exibir n\xFAmeros da semana nas visualiza\xE7\xF5es de calend\xE1rio"},showTodayHighlight:{name:"Mostrar destaque de hoje",description:"Destacar o dia atual nas visualiza\xE7\xF5es de calend\xE1rio"},showCurrentTimeIndicator:{name:"Mostrar indicador de hora atual",description:"Exibir uma linha mostrando a hora atual nas visualiza\xE7\xF5es de linha do tempo"},selectionMirror:{name:"Espelho de sele\xE7\xE3o",description:"Mostrar uma pr\xE9-visualiza\xE7\xE3o visual ao arrastar para selecionar intervalos de tempo"},calendarLocale:{name:"Localidade do calend\xE1rio",description:'Localidade do calend\xE1rio para formata\xE7\xE3o de data e sistema de calend\xE1rio (ex: "pt-br", "en", "fa" para Farsi/Persa, "de" para Alem\xE3o). Deixe em branco para detectar automaticamente do navegador.',placeholder:"Autodetectar",invalidLocale:"Localidade inv\xE1lida. Por favor, insira um c\xF3digo de idioma v\xE1lido (ex: 'pt-BR', 'en', 'fr-FR')."}},defaultEventVisibility:{header:"Visibilidade Padr\xE3o de Eventos",description:"Configure quais tipos de eventos s\xE3o vis\xEDveis por padr\xE3o ao abrir o Calend\xE1rio. Os usu\xE1rios ainda podem ativ\xE1-los/desativ\xE1-los na visualiza\xE7\xE3o de calend\xE1rio.",showScheduledTasks:{name:"Mostrar tarefas agendadas",description:"Exibir tarefas com datas agendadas por padr\xE3o"},showDueDates:{name:"Mostrar datas de vencimento",description:"Exibir datas de vencimento de tarefas por padr\xE3o"},showDueWhenScheduled:{name:"Mostrar datas de vencimento quando agendadas",description:"Exibir datas de vencimento mesmo para tarefas que j\xE1 t\xEAm datas agendadas"},showTimeEntries:{name:"Mostrar registros de tempo",description:"Exibir entradas de registro de tempo conclu\xEDdas por padr\xE3o"},showRecurringTasks:{name:"Mostrar tarefas recorrentes",description:"Exibir inst\xE2ncias de tarefas recorrentes por padr\xE3o"},showICSEvents:{name:"Mostrar eventos ICS",description:"Exibir eventos de inscri\xE7\xF5es ICS por padr\xE3o"}},timeSettings:{header:"Configura\xE7\xF5es de Hora",description:"Configure as configura\xE7\xF5es de exibi\xE7\xE3o relacionadas ao tempo para visualiza\xE7\xF5es de linha do tempo.",timeSlotDuration:{name:"Dura\xE7\xE3o do slot de tempo",description:"Dura\xE7\xE3o de cada slot de tempo nas visualiza\xE7\xF5es de linha do tempo",options:{fifteenMinutes:"15 minutos",thirtyMinutes:"30 minutos",sixtyMinutes:"60 minutos"}},startTime:{name:"Hora de in\xEDcio",description:"Hora mais cedo mostrada nas visualiza\xE7\xF5es de linha do tempo (formato HH:MM)",placeholder:"06:00"},endTime:{name:"Hora de t\xE9rmino",description:"Hora mais tarde mostrada nas visualiza\xE7\xF5es de linha do tempo (formato HH:MM)",placeholder:"22:00"},initialScrollTime:{name:"Hora inicial de rolagem",description:"Hora para rolar ao abrir visualiza\xE7\xF5es de linha do tempo (formato HH:MM)",placeholder:"09:00"},eventMinHeight:{name:"Altura m\xEDnima do evento",description:"Altura m\xEDnima para eventos em visualiza\xE7\xF5es de linha do tempo (pixels)",placeholder:"15"}},uiElements:{header:"Elementos da UI",description:"Configure a exibi\xE7\xE3o de v\xE1rios elementos da UI.",showTrackedTasksInStatusBar:{name:"Mostrar tarefas rastreadas na barra de status",description:"Exibir tarefas atualmente rastreadas na barra de status do Obsidian"},showProjectSubtasksWidget:{name:"Mostrar widget de subtarefas do projeto",description:"Exibir um widget mostrando subtarefas para a nota do projeto atual"},projectSubtasksPosition:{name:"Posi\xE7\xE3o das subtarefas do projeto",description:"Onde posicionar o widget de subtarefas do projeto",options:{top:"Topo da nota",bottom:"Fundo da nota"}},showRelationshipsWidget:{name:"Mostrar widget de relacionamentos",description:"Exibir um widget mostrando todos os relacionamentos da nota atual (subtarefas, projetos, depend\xEAncias)"},relationshipsPosition:{name:"Posi\xE7\xE3o dos relacionamentos",description:"Onde posicionar o widget de relacionamentos",options:{top:"Topo da nota",bottom:"Final da nota"}},showTaskCardInNote:{name:"Mostrar cart\xE3o de tarefa na nota",description:"Exibir um widget de cart\xE3o de tarefa no topo das notas de tarefa mostrando os detalhes da tarefa e a\xE7\xF5es"},showExpandableSubtasks:{name:"Mostrar subtarefas expans\xEDveis",description:"Permitir expandir/recolher se\xE7\xF5es de subtarefas nos cart\xF5es de tarefa"},subtaskChevronPosition:{name:"Posi\xE7\xE3o do chevron de subtarefa",description:"Posi\xE7\xE3o dos chevrons de expandir/recolher nos cart\xF5es de tarefa",options:{left:"Lado esquerdo",right:"Lado direito"}},viewsButtonAlignment:{name:"Alinhamento do bot\xE3o de visualiza\xE7\xF5es",description:"Alinhamento do bot\xE3o de visualiza\xE7\xF5es/filtros na interface de tarefas",options:{left:"Lado esquerdo",right:"Lado direito"}}},projectAutosuggest:{header:"Autossugest\xE3o de Projeto",description:"Personalize como as sugest\xF5es de projeto s\xE3o exibidas durante a cria\xE7\xE3o da tarefa.",requiredTags:{name:"Tags obrigat\xF3rias",description:"Mostrar apenas notas com qualquer uma destas tags (separadas por v\xEDrgula). Deixe em branco para mostrar todas as notas.",placeholder:"projeto, ativo, importante"},includeFolders:{name:"Incluir pastas",description:"Mostrar apenas notas nestas pastas (caminhos separados por v\xEDrgula). Deixe em branco para mostrar todas as pastas.",placeholder:"Projetos/, Trabalho/Ativo, Pessoal"},requiredPropertyKey:{name:"Chave de propriedade obrigat\xF3ria",description:"Mostrar apenas notas onde esta propriedade do frontmatter corresponde ao valor abaixo. Deixe em branco para ignorar.",placeholder:"tipo"},requiredPropertyValue:{name:"Valor da propriedade obrigat\xF3ria",description:"Apenas notas onde a propriedade \xE9 igual a este valor s\xE3o sugeridas. Deixe em branco para exigir que a propriedade exista.",placeholder:"projeto"},customizeDisplay:{name:"Personalizar exibi\xE7\xE3o de sugest\xE3o",description:"Mostrar op\xE7\xF5es avan\xE7adas para configurar como as sugest\xF5es de projeto aparecem e quais informa\xE7\xF5es elas exibem."},enableFuzzyMatching:{name:"Ativar correspond\xEAncia difusa (fuzzy matching)",description:"Permitir erros de digita\xE7\xE3o e correspond\xEAncias parciais na busca de projetos. Pode ser mais lento em cofres grandes."},displayRowsHelp:"Configure at\xE9 3 linhas de informa\xE7\xE3o para mostrar para cada sugest\xE3o de projeto.",displayRows:{row1:{name:"Linha 1",description:"Formato: {propriedade|flags}. Propriedades: title, aliases, file.path, file.parent. Flags: n(R\xF3tulo) mostra r\xF3tulo, s torna pesquis\xE1vel. Exemplo: {title|n(T\xEDtulo)|s}",placeholder:"{title|n(T\xEDtulo)}"},row2:{name:"Linha 2 (opcional)",description:"Padr\xF5es comuns: {aliases|n(Apelidos)}, {file.parent|n(Pasta)}, literal:Texto Personalizado",placeholder:"{aliases|n(Apelidos)}"},row3:{name:"Linha 3 (opcional)",description:"Informa\xE7\xF5es adicionais como {file.path|n(Caminho)} ou campos de frontmatter personalizados",placeholder:"{file.path|n(Caminho)}"}},quickReference:{header:"Refer\xEAncia R\xE1pida",properties:"Propriedades dispon\xEDveis: title, aliases, file.path, file.parent, ou qualquer campo do frontmatter",labels:'Adicionar r\xF3tulos: {title|n(T\xEDtulo)} \u2192 "T\xEDtulo: Meu Projeto"',searchable:"Tornar pesquis\xE1vel: {description|s} inclui descri\xE7\xE3o na busca +",staticText:"Texto est\xE1tico: literal:Meu R\xF3tulo Personalizado",alwaysSearchable:"Nome do arquivo, t\xEDtulo e apelidos s\xE3o sempre pesquis\xE1veis por padr\xE3o."}},dataStorage:{name:"Local de Armazenamento",description:"Onde armazenar o hist\xF3rico de sess\xF5es Pomodoro",pluginData:"Dados do plugin (recomendado)",dailyNotes:"Notas Di\xE1rias",notices:{locationChanged:"Local de armazenamento Pomodoro alterado para {location}"}},notifications:{description:"Configure notifica\xE7\xF5es de lembrete de tarefas e alertas."},performance:{description:"Configure op\xE7\xF5es de desempenho e comportamento do plugin."},timeTrackingSection:{description:"Configure comportamentos autom\xE1ticos de registro de tempo."},recurringSection:{description:"Configure o comportamento para gerenciamento de tarefas recorrentes."}},integrations:{basesIntegration:{header:"Integra\xE7\xE3o com Bases",description:"Configure a integra\xE7\xE3o com o plugin Obsidian Bases. Este \xE9 um recurso experimental e atualmente depende de APIs n\xE3o documentadas do Obsidian. O comportamento pode mudar ou quebrar.",enable:{name:"Ativar integra\xE7\xE3o com Bases",description:"Permitir que as visualiza\xE7\xF5es do TaskNotes sejam usadas dentro do plugin Obsidian Bases. O plugin Bases deve estar ativado para que isso funcione."},viewCommands:{header:"Visualiza\xE7\xF5es e arquivos base",description:"O TaskNotes usa arquivos do Obsidian Bases (.base) para suas visualiza\xE7\xF5es. Esses arquivos s\xE3o gerados automaticamente na inicializa\xE7\xE3o se n\xE3o existirem, configurados com suas defini\xE7\xF5es atuais (identifica\xE7\xE3o de tarefas, mapeamento de campos, status, etc.).",descriptionRegen:'Os arquivos base n\xE3o s\xE3o atualizados automaticamente quando voc\xEA altera as configura\xE7\xF5es. Para aplicar novas configura\xE7\xF5es, exclua os arquivos .base existentes e reinicie o Obsidian, use "Criar arquivos" abaixo ou edite-os manualmente.',docsLink:"Ver documenta\xE7\xE3o para f\xF3rmulas dispon\xEDveis e op\xE7\xF5es de personaliza\xE7\xE3o",docsLinkUrl:"https://tasknotes.dev/views/default-base-templates",commands:{miniCalendar:"Abrir visualiza\xE7\xE3o de mini calend\xE1rio",kanban:"Abrir visualiza\xE7\xE3o kanban",tasks:"Abrir visualiza\xE7\xE3o de tarefas",advancedCalendar:"Abrir visualiza\xE7\xE3o de calend\xE1rio avan\xE7ado",agenda:"Abrir visualiza\xE7\xE3o de agenda",relationships:"Widget de relacionamentos"},fileLabel:"Arquivo: {path}",resetButton:"Redefinir",resetTooltip:"Redefinir para caminho padr\xE3o"},autoCreateDefaultFiles:{name:"Criar arquivos padr\xE3o automaticamente",description:"Criar automaticamente arquivos Base padr\xE3o ausentes na inicializa\xE7\xE3o. Desative para evitar que arquivos de exemplo exclu\xEDdos sejam recriados."},createDefaultFiles:{name:"Criar arquivos padr\xE3o",description:"Crie os arquivos .base padr\xE3o no diret\xF3rio TaskNotes/Views/. Os arquivos existentes n\xE3o ser\xE3o sobrescritos.",buttonText:"Criar arquivos"},exportV3Views:{name:"Exportar visualiza\xE7\xF5es salvas V3 para Bases",description:"Converta todas as suas visualiza\xE7\xF5es salvas do TaskNotes v3 em um \xFAnico arquivo .base com m\xFAltiplas visualiza\xE7\xF5es. Isso ajuda a migrar suas configura\xE7\xF5es de filtro v3 para o novo sistema de Bases.",buttonText:"Exportar visualiza\xE7\xF5es V3",noViews:"Nenhuma visualiza\xE7\xE3o salva para exportar",fileExists:"O arquivo j\xE1 existe",confirmOverwrite:'Um arquivo chamado "{fileName}" j\xE1 existe. Sobrescrever?',success:"Exportadas {count} visualiza\xE7\xF5es salvas para {filePath}",error:"Falha ao exportar visualiza\xE7\xF5es: {message}"},notices:{enabled:"Integra\xE7\xE3o com Bases ativada. Por favor, reinicie o Obsidian para completar a configura\xE7\xE3o.",disabled:"Integra\xE7\xE3o com Bases desativada. Por favor, reinicie o Obsidian para completar a remo\xE7\xE3o."}},calendarSubscriptions:{header:"Inscri\xE7\xF5es de calend\xE1rio",description:"Inscreva-se em calend\xE1rios externos via URLs ICS/iCal para ver eventos ao lado de suas tarefas.",defaultNoteTemplate:{name:"Modelo de nota padr\xE3o",description:"Caminho para o arquivo de modelo para notas criadas a partir de eventos ICS",placeholder:"Modelos/Modelo de Evento.md"},defaultNoteFolder:{name:"Pasta de notas padr\xE3o",description:"Pasta para notas criadas a partir de eventos ICS",placeholder:"Calend\xE1rio/Eventos"},filenameFormat:{name:"Formato de nome de arquivo da nota ICS",description:"Como os nomes dos arquivos s\xE3o gerados para notas criadas a partir de eventos ICS",options:{title:"T\xEDtulo do evento",zettel:"Formato Zettelkasten",timestamp:"Carimbo de data/hora",custom:"Modelo personalizado"}},customTemplate:{name:"Modelo de nome de arquivo ICS personalizado",description:"Modelo para nomes de arquivo de eventos ICS personalizados",placeholder:"{date}-{title}"},useICSEndAsDue:{name:"Usar hora de t\xE9rmino do evento ICS como data de vencimento",description:"Quando ativado, as tarefas criadas a partir de eventos de calend\xE1rio ter\xE3o sua data de vencimento definida para a hora de t\xE9rmino do evento. Para eventos de dia inteiro, a data de vencimento ser\xE1 a data do evento. Para eventos com hor\xE1rio, a data de vencimento incluir\xE1 a hora de t\xE9rmino."}},subscriptionsList:{header:"Lista de inscri\xE7\xF5es de calend\xE1rio",addSubscription:{name:"Adicionar Inscri\xE7\xE3o de Calend\xE1rio",description:"Adicionar uma nova inscri\xE7\xE3o de calend\xE1rio de URL ICS/iCal ou arquivo local",buttonText:"Adicionar Inscri\xE7\xE3o"},refreshAll:{name:"Atualizar todas as inscri\xE7\xF5es",description:"Atualizar manualmente todas as inscri\xE7\xF5es de calend\xE1rio ativadas",buttonText:"Atualizar Todas"},newCalendarName:"Novo Calend\xE1rio",emptyState:"Nenhuma inscri\xE7\xE3o de calend\xE1rio configurada. Adicione uma inscri\xE7\xE3o para sincronizar calend\xE1rios externos.",notices:{addSuccess:"Nova inscri\xE7\xE3o de calend\xE1rio adicionada - por favor, configure os detalhes",addFailure:"Falha ao adicionar inscri\xE7\xE3o",serviceUnavailable:"Servi\xE7o de inscri\xE7\xE3o ICS n\xE3o dispon\xEDvel",refreshSuccess:"Todas as inscri\xE7\xF5es de calend\xE1rio atualizadas com sucesso",refreshFailure:"Falha ao atualizar algumas inscri\xE7\xF5es de calend\xE1rio",updateFailure:"Falha ao atualizar inscri\xE7\xE3o",deleteSuccess:'Inscri\xE7\xE3o "{name}" exclu\xEDda',deleteFailure:"Falha ao excluir inscri\xE7\xE3o",enableFirst:"Ative a inscri\xE7\xE3o primeiro",refreshSubscriptionSuccess:'"{name}" atualizado',refreshSubscriptionFailure:"Falha ao atualizar inscri\xE7\xE3o"},labels:{enabled:"Ativado:",name:"Nome:",type:"Tipo:",url:"URL:",filePath:"Caminho do Arquivo:",color:"Cor:",refreshMinutes:"Atualizar (min):"},typeOptions:{remote:"URL Remota",local:"Arquivo Local"},placeholders:{calendarName:"Nome do calend\xE1rio",url:"URL ICS/iCal",filePath:"Caminho do arquivo local (ex: Calendario.ics)",localFile:"Calendario.ics"},statusLabels:{enabled:"Ativado",disabled:"Desativado",remote:"Remoto",localFile:"Arquivo Local",remoteCalendar:"Calend\xE1rio Remoto",localFileCalendar:"Arquivo Local",synced:"Sincronizado {timeAgo}",error:"Erro"},actions:{refreshNow:"Atualizar Agora",deleteSubscription:"Excluir inscri\xE7\xE3o"},refreshNow:"Atualizar Agora",confirmDelete:{title:"Excluir Inscri\xE7\xE3o",message:'Tem certeza de que deseja excluir a inscri\xE7\xE3o "{name}"? Esta a\xE7\xE3o n\xE3o pode ser desfeita.',confirmText:"Excluir"}},autoExport:{header:"Exporta\xE7\xE3o autom\xE1tica de ICS",description:"Exportar automaticamente todas as suas tarefas para um arquivo ICS.",enable:{name:"Ativar exporta\xE7\xE3o autom\xE1tica",description:"Manter automaticamente um arquivo ICS atualizado com todas as suas tarefas"},filePath:{name:"Caminho do arquivo de exporta\xE7\xE3o",description:"Caminho onde o arquivo ICS ser\xE1 salvo (relativo \xE0 raiz do cofre)",placeholder:"tasknotes-calendario.ics"},interval:{name:"Intervalo de atualiza\xE7\xE3o (entre 5 e 1440 minutos)",description:"Com que frequ\xEAncia atualizar o arquivo de exporta\xE7\xE3o",placeholder:"60"},useDuration:{name:"Usar dura\xE7\xE3o da tarefa para o comprimento do evento",description:"Quando ativado, usa a estimativa de tempo (dura\xE7\xE3o) da tarefa em vez da data de vencimento para o hor\xE1rio de t\xE9rmino do evento do calend\xE1rio. Isso \xE9 \xFAtil para fluxos de trabalho GTD onde agendado + dura\xE7\xE3o representa o planejamento do trabalho, enquanto a data de vencimento representa prazos."},exportNow:{name:"Exportar agora",description:"Acionar manualmente uma exporta\xE7\xE3o imediata",buttonText:"Exportar Agora"},status:{title:"Status da Exporta\xE7\xE3o:",lastExport:"\xDAltima exporta\xE7\xE3o: {time}",nextExport:"Pr\xF3xima exporta\xE7\xE3o: {time}",noExports:"Nenhuma exporta\xE7\xE3o ainda",notScheduled:"N\xE3o agendado",notInitialized:"Servi\xE7o de exporta\xE7\xE3o autom\xE1tica n\xE3o inicializado - por favor, reinicie o Obsidian",serviceNotInitialized:"Servi\xE7o n\xE3o inicializado - por favor, reinicie o Obsidian"},notices:{reloadRequired:"Por favor, recarregue o Obsidian para que as altera\xE7\xF5es da exporta\xE7\xE3o autom\xE1tica tenham efeito.",exportSuccess:"Tarefas exportadas com sucesso",exportFailure:"Exporta\xE7\xE3o falhou - verifique o console para detalhes",serviceUnavailable:"Servi\xE7o de exporta\xE7\xE3o autom\xE1tica n\xE3o dispon\xEDvel"}},googleCalendarExport:{header:"Exportar tarefas para o Google Agenda",description:"Sincronize automaticamente suas tarefas para o Google Agenda como eventos. Requer que o Google Agenda esteja conectado acima.",enable:{name:"Ativar exporta\xE7\xE3o de tarefas",description:"Quando ativado, tarefas com datas ser\xE3o automaticamente sincronizadas para o Google Agenda como eventos."},targetCalendar:{name:"Calend\xE1rio de destino",description:"Selecione em qual calend\xE1rio criar eventos de tarefas.",placeholder:"Selecionar um calend\xE1rio...",connectFirst:"Conecte o Google Agenda primeiro",primarySuffix:" (Principal)"},syncTrigger:{name:"Gatilho de sincroniza\xE7\xE3o",description:"Qual data da tarefa deve acionar a cria\xE7\xE3o do evento no calend\xE1rio.",options:{scheduled:"Data agendada",due:"Data de vencimento",both:"Ambas (preferir agendada)"}},allDayEvents:{name:"Criar como eventos de dia inteiro",description:"Quando ativado, tarefas s\xE3o criadas como eventos de dia inteiro. Quando desativado, usa a estimativa de tempo para a dura\xE7\xE3o."},defaultDuration:{name:"Dura\xE7\xE3o padr\xE3o do evento",description:"Dura\xE7\xE3o em minutos para eventos com hor\xE1rio (usada quando a tarefa n\xE3o tem estimativa de tempo)."},eventTitleTemplate:{name:"Modelo de t\xEDtulo do evento",description:"Modelo para t\xEDtulos de eventos. Vari\xE1veis dispon\xEDveis: {{title}}, {{status}}, {{priority}}",placeholder:"{{title}}"},includeDescription:{name:"Incluir detalhes da tarefa na descri\xE7\xE3o",description:"Adicionar metadados da tarefa (prioridade, status, tags, etc.) \xE0 descri\xE7\xE3o do evento."},includeObsidianLink:{name:"Incluir link do Obsidian",description:"Adicionar um link de volta para a tarefa no Obsidian na descri\xE7\xE3o do evento."},defaultReminder:{name:"Lembrete padr\xE3o",description:"Adicionar um lembrete popup aos eventos do Google Agenda. Defina minutos antes do evento (0 = sem lembrete). Valores comuns: 15, 30, 60, 1440 (1 dia)."},automaticSyncBehavior:{header:"Comportamento de sincroniza\xE7\xE3o autom\xE1tica"},syncOnCreate:{name:"Sincronizar ao criar tarefa",description:"Criar automaticamente um evento no calend\xE1rio quando uma nova tarefa \xE9 criada."},syncOnUpdate:{name:"Sincronizar ao atualizar tarefa",description:"Atualizar automaticamente o evento no calend\xE1rio quando uma tarefa \xE9 modificada."},syncOnComplete:{name:"Sincronizar ao completar tarefa",description:"Atualizar evento no calend\xE1rio quando uma tarefa \xE9 completada (adiciona marca de verifica\xE7\xE3o ao t\xEDtulo)."},syncOnDelete:{name:"Excluir evento ao excluir tarefa",description:"Remover evento do calend\xE1rio quando a tarefa correspondente \xE9 exclu\xEDda."},manualSyncActions:{header:"A\xE7\xF5es de sincroniza\xE7\xE3o manual"},syncAllTasks:{name:"Sincronizar todas as tarefas",description:"Sincronizar todas as tarefas existentes para o Google Agenda. Isso criar\xE1 eventos para tarefas que ainda n\xE3o foram sincronizadas.",buttonText:"Sincronizar tudo"},unlinkAllTasks:{name:"Desvincular todas as tarefas",description:"Remover todos os v\xEDnculos tarefa-evento sem excluir eventos do calend\xE1rio.",buttonText:"Desvincular tudo",confirmTitle:"Desvincular todas as tarefas",confirmMessage:"Isso remover\xE1 todos os v\xEDnculos entre tarefas e eventos do calend\xE1rio. Os eventos do calend\xE1rio permanecer\xE3o mas n\xE3o ser\xE3o mais atualizados quando as tarefas mudarem. Tem certeza?",confirmButtonText:"Desvincular tudo"},notices:{notEnabled:"Exporta\xE7\xE3o para o Google Agenda n\xE3o est\xE1 ativada. Configure em Configura\xE7\xF5es > Integra\xE7\xF5es.",notEnabledOrConfigured:"Exporta\xE7\xE3o para o Google Agenda n\xE3o est\xE1 ativada ou configurada",serviceNotAvailable:"Servi\xE7o de sincroniza\xE7\xE3o de calend\xE1rio n\xE3o dispon\xEDvel",syncResults:"Sincronizados: {synced}, Falharam: {failed}, Ignorados: {skipped}",taskSynced:"Tarefa sincronizada para o Google Agenda",noActiveFile:"Nenhum arquivo est\xE1 atualmente ativo",notATask:"O arquivo atual n\xE3o \xE9 uma tarefa",noDateToSync:"Tarefa n\xE3o tem data agendada ou de vencimento para sincronizar",syncFailed:"Falha ao sincronizar tarefa para o Google Agenda: {message}",connectionExpired:"A conex\xE3o com o Google Agenda expirou. Reconecte em Configura\xE7\xF5es > Integra\xE7\xF5es.",syncingTasks:"Sincronizando {total} tarefas para o Google Agenda...",syncComplete:"Sincroniza\xE7\xE3o completa: {synced} sincronizadas, {failed} falharam, {skipped} ignoradas",eventsDeletedAndUnlinked:"Todos os eventos exclu\xEDdos e desvinculados",tasksUnlinked:"Todos os v\xEDnculos de tarefas removidos"},eventDescription:{untitledTask:"Tarefa sem t\xEDtulo",priority:"Prioridade: {value}",status:"Status: {value}",due:"Vencimento: {value}",scheduled:"Agendado: {value}",timeEstimate:"Estimativa de tempo: {value}",tags:"Tags: {value}",contexts:"Contextos: {value}",projects:"Projetos: {value}",openInObsidian:"Abrir no Obsidian"}},httpApi:{header:"API HTTP",description:"Ative a API HTTP para integra\xE7\xF5es externas e automa\xE7\xF5es.",enable:{name:"Ativar API HTTP",description:"Iniciar servidor HTTP local para acesso \xE0 API"},port:{name:"Porta da API",description:"N\xFAmero da porta para o servidor da API HTTP",placeholder:"3000"},authToken:{name:"Token de autentica\xE7\xE3o da API",description:"Token necess\xE1rio para autentica\xE7\xE3o da API (deixe em branco para sem autentica\xE7\xE3o)",placeholder:"seu-token-secreto"},mcp:{enable:{name:"Ativar servidor MCP",description:"Exponha as ferramentas do TaskNotes via Model Context Protocol no endpoint /mcp. Requer que a API HTTP esteja ativada."}},endpoints:{header:"Endpoints da API Dispon\xEDveis",expandIcon:"\u25B6",collapseIcon:"\u25BC"}},webhooks:{header:"Webhooks",description:{overview:"Webhooks enviam notifica\xE7\xF5es em tempo real para servi\xE7os externos quando eventos do TaskNotes ocorrem.",usage:"Configure webhooks para integrar com ferramentas de automa\xE7\xE3o, servi\xE7os de sincroniza\xE7\xE3o ou aplicativos personalizados."},addWebhook:{name:"Adicionar Webhook",description:"Registrar um novo endpoint de webhook",buttonText:"Adicionar Webhook"},emptyState:{message:"Nenhum webhook configurado. Adicione um webhook para receber notifica\xE7\xF5es em tempo real.",buttonText:"Adicionar Webhook"},labels:{active:"Ativo:",url:"URL:",events:"Eventos:",transform:"Transformar:"},placeholders:{url:"URL do Webhook",noEventsSelected:"Nenhum evento selecionado",rawPayload:"Payload sem transforma\xE7\xE3o"},statusLabels:{active:"Ativo",inactive:"Inativo",created:"Criado {timeAgo}"},actions:{editEvents:"Editar Eventos",delete:"Excluir"},editEvents:"Editar Eventos",notices:{urlUpdated:"URL do Webhook atualizada",enabled:"Webhook ativado",disabled:"Webhook desativado",created:"Webhook criado com sucesso",deleted:"Webhook exclu\xEDdo",updated:"Webhook atualizado"},confirmDelete:{title:"Excluir Webhook",message:`Tem certeza de que deseja excluir este webhook?
URL: {url}
Esta a\xE7\xE3o n\xE3o pode ser desfeita.`,confirmText:"Excluir"},cardHeader:"Webhook",cardFields:{active:"Ativo:",url:"URL:",events:"Eventos:",transform:"Transformar:"},eventsDisplay:{noEvents:"Nenhum evento selecionado"},transformDisplay:{noTransform:"Payload sem transforma\xE7\xE3o"},secretModal:{title:"Segredo do Webhook Gerado",description:"Seu segredo do webhook foi gerado. Salve este segredo, pois voc\xEA n\xE3o poder\xE1 visualiz\xE1-lo novamente:",usage:"Use este segredo para verificar os payloads do webhook em seu aplicativo receptor.",gotIt:"Entendi"},editModal:{title:"Editar Webhook",eventsHeader:"Eventos para se inscrever"},events:{taskCreated:{label:"Tarefa Criada",description:"Quando novas tarefas s\xE3o criadas"},taskUpdated:{label:"Tarefa Atualizada",description:"Quando tarefas s\xE3o modificadas"},taskCompleted:{label:"Tarefa Conclu\xEDda",description:"Quando tarefas s\xE3o marcadas como conclu\xEDdas"},taskDeleted:{label:"Tarefa Exclu\xEDda",description:"Quando tarefas s\xE3o exclu\xEDdas"},taskArchived:{label:"Tarefa Arquivada",description:"Quando tarefas s\xE3o arquivadas"},taskUnarchived:{label:"Tarefa Desarquivada",description:"Quando tarefas s\xE3o desarquivadas"},timeStarted:{label:"Tempo Iniciado",description:"Quando o registro de tempo inicia"},timeStopped:{label:"Tempo Parado",description:"Quando o registro de tempo para"},pomodoroStarted:{label:"Pomodoro Iniciado",description:"Quando sess\xF5es pomodoro come\xE7am"},pomodoroCompleted:{label:"Pomodoro Conclu\xEDdo",description:"Quando sess\xF5es pomodoro terminam"},pomodoroInterrupted:{label:"Pomodoro Interrompido",description:"Quando sess\xF5es pomodoro s\xE3o paradas"},recurringCompleted:{label:"Inst\xE2ncia Recorrente Conclu\xEDda",description:"Quando inst\xE2ncias de tarefas recorrentes s\xE3o conclu\xEDdas"},reminderTriggered:{label:"Lembrete Acionado",description:"Quando lembretes de tarefa s\xE3o ativados"}},modals:{secretGenerated:{title:"Segredo do Webhook Gerado",description:"Seu segredo do webhook foi gerado. Salve este segredo, pois voc\xEA n\xE3o poder\xE1 visualiz\xE1-lo novamente:",usage:"Use este segredo para verificar os payloads do webhook em seu aplicativo receptor.",buttonText:"Entendi"},edit:{title:"Editar Webhook",eventsSection:"Eventos para se inscrever",transformSection:"Configura\xE7\xE3o de Transforma\xE7\xE3o (Opcional)",headersSection:"Configura\xE7\xE3o de Cabe\xE7alhos",transformFile:{name:"Arquivo de Transforma\xE7\xE3o",description:"Caminho para um arquivo de modelo .json em seu cofre que transforma payloads de webhook",placeholder:"simple-template.json"},customHeaders:{name:"Incluir cabe\xE7alhos personalizados",description:"Incluir cabe\xE7alhos do TaskNotes (tipo de evento, assinatura, ID de entrega). Desative para Discord, Slack e outros servi\xE7os com pol\xEDticas CORS r\xEDgidas."},buttons:{cancel:"Cancelar",save:"Salvar Altera\xE7\xF5es"},notices:{selectAtLeastOneEvent:"Por favor, selecione pelo menos um evento"}},add:{title:"Adicionar Webhook",eventsSection:"Eventos para se inscrever",transformSection:"Configura\xE7\xE3o de Transforma\xE7\xE3o (Opcional)",headersSection:"Configura\xE7\xE3o de Cabe\xE7alhos",url:{name:"URL do Webhook",description:"O endpoint para onde o payload do webhook ser\xE1 enviado",placeholder:"https://seu-servico.com/webhook"},transformFile:{name:"Arquivo de Transforma\xE7\xE3o",description:"Caminho para um arquivo de modelo .json em seu cofre que transforma payloads de webhook",placeholder:"simple-template.json"},customHeaders:{name:"Incluir cabe\xE7alhos personalizados",description:"Incluir cabe\xE7alhos do TaskNotes (tipo de evento, assinatura, ID de entrega). Desative para Discord, Slack e outros servi\xE7os com pol\xEDticas CORS r\xEDgidas."},transformHelp:{title:"Modelos de transforma\xE7\xE3o JSON permitem personalizar payloads de webhook:",jsFiles:"",jsDescription:"",jsonFiles:"Arquivos .json:",jsonDescription:" Modelos com ",jsonVariable:"${data.task.title}",leaveEmpty:"Deixe em branco:",leaveEmptyDescription:" Enviar dados brutos",example:"Exemplo:",exampleFile:"simple-template.json"},buttons:{cancel:"Cancelar",add:"Adicionar Webhook"},notices:{urlRequired:"A URL do Webhook \xE9 obrigat\xF3ria",selectAtLeastOneEvent:"Por favor, selecione pelo menos um evento"}}}},otherIntegrations:{header:"Outras integra\xE7\xF5es de plugins",description:"Configure integra\xE7\xF5es com outros plugins do Obsidian."},mdbaseSpec:{header:"Defini\xE7\xF5es de tipos mdbase",learnMore:"Saiba mais sobre mdbase-spec",enable:{name:"Gerar defini\xE7\xF5es de tipos mdbase",description:"Gere e mantenha arquivos de tipos mdbase (mdbase.yaml e _types/task.md) na raiz do cofre conforme suas configura\xE7\xF5es mudam."}},timeFormats:{justNow:"Agora mesmo",minutesAgo:"{minutes} minuto{plural} atr\xE1s",hoursAgo:"{hours} hora{plural} atr\xE1s",daysAgo:"{days} dia{plural} atr\xE1s"}}},notices:{languageChanged:"Idioma alterado para {language}.",exportTasksFailed:"Falha ao exportar tarefas como arquivo ICS",icsNoteCreatedSuccess:"Nota criada com sucesso",icsCreationModalOpenFailed:"Falha ao abrir modal de cria\xE7\xE3o",icsNoteLinkSuccess:'Nota "{fileName}" vinculada ao evento ICS',icsTaskCreatedSuccess:"Tarefa criada: {title}",icsRelatedItemsRefreshed:"Notas relacionadas atualizadas",icsFileNotFound:"Arquivo n\xE3o encontrado ou inv\xE1lido",icsFileOpenFailed:"Falha ao abrir arquivo",timeblockAttachmentExists:'"{fileName}" j\xE1 est\xE1 anexado',timeblockAttachmentAdded:'"{fileName}" adicionado como anexo',timeblockAttachmentRemoved:'"{fileName}" removido dos anexos',timeblockFileTypeNotSupported:'N\xE3o \xE9 poss\xEDvel abrir "{fileName}" - tipo de arquivo n\xE3o suportado',timeblockTitleRequired:"Por favor, insira um t\xEDtulo para o bloco de tempo",timeblockUpdatedSuccess:'Bloco de tempo "{title}" atualizado com sucesso',timeblockUpdateFailed:"Falha ao atualizar bloco de tempo. Verifique o console para detalhes.",timeblockDeletedSuccess:'Bloco de tempo "{title}" exclu\xEDdo com sucesso',timeblockDeleteFailed:"Falha ao excluir bloco de tempo. Verifique o console para detalhes.",timeblockRequiredFieldsMissing:"Por favor, preencha todos os campos obrigat\xF3rios",agendaLoadingFailed:"Erro ao carregar agenda. Por favor, tente atualizar.",statsLoadingFailed:"Erro ao carregar detalhes do projeto."},commands:{openCalendarView:"Abrir visualiza\xE7\xE3o de mini calend\xE1rio",openAdvancedCalendarView:"Abrir visualiza\xE7\xE3o de calend\xE1rio",openTasksView:"Abrir visualiza\xE7\xE3o de tarefas",openNotesView:"Abrir visualiza\xE7\xE3o de notas",openAgendaView:"Abrir visualiza\xE7\xE3o de agenda",openPomodoroView:"Abrir temporizador pomodoro",openKanbanView:"Abrir quadro kanban",openPomodoroStats:"Abrir estat\xEDsticas pomodoro",openStatisticsView:"Abrir estat\xEDsticas de tarefas e projetos",createNewTask:"Criar nova tarefa",convertCurrentNoteToTask:{name:"Converter nota atual em tarefa",noActiveFile:"Nenhum arquivo ativo para converter",alreadyTask:"Esta nota j\xE1 \xE9 uma tarefa",success:"'{title}' convertido em tarefa"},convertToTaskNote:"Converter tarefa de caixa de sele\xE7\xE3o para TaskNote",convertAllTasksInNote:"Converter todas as tarefas na nota",insertTaskNoteLink:"Inserir link de tasknote",createInlineTask:"Criar nova tarefa embutida",quickActionsCurrentTask:"A\xE7\xF5es r\xE1pidas para a tarefa atual",goToTodayNote:"Ir para a nota de hoje",startPomodoro:"Iniciar temporizador pomodoro",stopPomodoro:"Parar temporizador pomodoro",pauseResumePomodoro:"Pausar/retomar temporizador pomodoro",refreshCache:"Atualizar cache",exportAllTasksIcs:"Exportar todas as tarefas como arquivo ICS",viewReleaseNotes:"Ver notas de lan\xE7amento",startTimeTrackingWithSelector:"Iniciar registro de tempo (selecionar tarefa)",editTimeEntries:"Editar registros de tempo (selecionar tarefa)",createOrOpenTask:"Criar ou abrir tarefa",syncAllTasksGoogleCalendar:"Sincronizar todas as tarefas para o Google Agenda",syncCurrentTaskGoogleCalendar:"Sincronizar tarefa atual para o Google Agenda"},modals:{deviceCode:{title:"Autoriza\xE7\xE3o do Google Agenda",instructions:{intro:"Para conectar seu Google Agenda, por favor, siga estes passos:"},steps:{open:"Abra",inBrowser:"no seu navegador",enterCode:"Insira este c\xF3digo quando solicitado:",signIn:"Fa\xE7a login com sua conta Google e conceda acesso",returnToObsidian:"Retorne ao Obsidian (esta janela fechar\xE1 automaticamente)"},codeLabel:"Seu C\xF3digo:",copyCodeAriaLabel:"Copiar c\xF3digo",waitingForAuthorization:"Aguardando autoriza\xE7\xE3o...",openBrowserButton:"Abrir Navegador",cancelButton:"Cancelar",expiresMinutesSeconds:"C\xF3digo expira em {minutes}m {seconds}s",expiresSeconds:"C\xF3digo expira em {seconds}s"},icsEventInfo:{calendarEventHeading:"Evento de Calend\xE1rio",titleLabel:"T\xEDtulo",calendarLabel:"Calend\xE1rio",dateTimeLabel:"Data e Hora",locationLabel:"Localiza\xE7\xE3o",descriptionLabel:"Descri\xE7\xE3o",urlLabel:"URL",relatedNotesHeading:"Notas e Tarefas Relacionadas",noRelatedItems:"Nenhuma nota ou tarefa relacionada encontrada para este evento.",typeTask:"Tarefa",typeNote:"Nota",actionsHeading:"A\xE7\xF5es",createFromEventLabel:"Criar a partir do Evento",createFromEventDesc:"Criar uma nova nota ou tarefa a partir deste evento de calend\xE1rio",linkExistingLabel:"Vincular Existente",linkExistingDesc:"Vincular uma nota existente a este evento de calend\xE1rio"},timeblockInfo:{editHeading:"Editar Bloco de Tempo",dateTimeLabel:"Data e Hora: ",titleLabel:"T\xEDtulo",titleDesc:"T\xEDtulo para seu bloco de tempo",titlePlaceholder:"ex: Sess\xE3o de foco profundo",descriptionLabel:"Descri\xE7\xE3o",descriptionDesc:"Descri\xE7\xE3o opcional para o bloco de tempo",descriptionPlaceholder:"Focar em novos recursos, sem interrup\xE7\xF5es",colorLabel:"Cor",colorDesc:"Cor opcional para o bloco de tempo",colorPlaceholder:"#3b82f6",attachmentsLabel:"Anexos",attachmentsDesc:"Arquivos ou notas vinculados a este bloco de tempo",addAttachmentButton:"Adicionar Anexo",addAttachmentTooltip:"Selecionar um arquivo ou nota usando busca difusa",deleteButton:"Excluir Bloco de Tempo",saveButton:"Salvar Altera\xE7\xF5es",deleteConfirmationTitle:"Excluir Bloco de Tempo"},timeblockCreation:{heading:"Criar bloco de tempo",dateLabel:"Data: ",titleLabel:"T\xEDtulo",titleDesc:"T\xEDtulo para seu bloco de tempo",titlePlaceholder:"ex: Sess\xE3o de foco profundo",startTimeLabel:"Hora de in\xEDcio",startTimeDesc:"Quando o bloco de tempo come\xE7a",startTimePlaceholder:"09:00",endTimeLabel:"Hora de t\xE9rmino",endTimeDesc:"Quando o bloco de tempo termina",endTimePlaceholder:"11:00",descriptionLabel:"Descri\xE7\xE3o",descriptionDesc:"Descri\xE7\xE3o opcional para o bloco de tempo",descriptionPlaceholder:"Focar em novos recursos, sem interrup\xE7\xF5es",colorLabel:"Cor",colorDesc:"Cor opcional para o bloco de tempo",colorPlaceholder:"#3b82f6",attachmentsLabel:"Anexos",attachmentsDesc:"Arquivos ou notas para vincular a este bloco de tempo",addAttachmentButton:"Adicionar Anexo",addAttachmentTooltip:"Selecionar um arquivo ou nota usando busca difusa",createButton:"Criar bloco de tempo"},calendarEventCreation:{heading:"Criar evento no calend\xE1rio",dateTimeLabel:"Data e hora: ",titleLabel:"T\xEDtulo",titleDesc:"T\xEDtulo do evento no calend\xE1rio",titlePlaceholder:"ex., Reuni\xE3o de equipe",calendarLabel:"Calend\xE1rio",calendarDesc:"Em qual calend\xE1rio criar o evento",descriptionLabel:"Descri\xE7\xE3o",descriptionDesc:"Descri\xE7\xE3o opcional do evento",descriptionPlaceholder:"Adicionar detalhes sobre este evento...",locationLabel:"Local",locationDesc:"Local opcional do evento",locationPlaceholder:"ex., Sala de confer\xEAncia A",createButton:"Criar evento",titleRequired:"O t\xEDtulo do evento \xE9 obrigat\xF3rio",noCalendarSelected:"Nenhum calend\xE1rio selecionado",success:'Evento "{title}" criado no calend\xE1rio',error:"Falha ao criar evento no calend\xE1rio: {message}"},icsNoteCreation:{heading:"Criar a partir de Evento ICS",titleLabel:"T\xEDtulo",titleDesc:"T\xEDtulo para o novo conte\xFAdo",folderLabel:"Pasta",folderDesc:"Pasta de destino (deixe em branco para a raiz do cofre)",folderPlaceholder:"pasta/subpasta",createButton:"Criar",startLabel:"In\xEDcio: ",endLabel:"T\xE9rmino: ",locationLabel:"Localiza\xE7\xE3o: ",calendarLabel:"Calend\xE1rio: ",useTemplateLabel:"Usar Modelo",useTemplateDesc:"Aplicar um modelo ao criar o conte\xFAdo",templatePathLabel:"Caminho do Modelo",templatePathDesc:"Caminho para o arquivo de modelo",templatePathPlaceholder:"modelos/modelo-nota-ics.md"},unscheduledTasksSelector:{title:"Tarefas N\xE3o Agendadas",placeholder:"Digite para buscar tarefas n\xE3o agendadas...",instructions:{navigate:"para navegar",schedule:"para agendar",dismiss:"para dispensar"}},migration:{title:"Migrar para Novo Sistema de Recorr\xEAncia",description:"O TaskNotes agora usa padr\xF5es RRULE padr\xE3o da ind\xFAstria para recorr\xEAncia, permitindo agendamentos mais complexos e melhor compatibilidade com outros aplicativos.",tasksFound:"{count} tarefa(s) com padr\xF5es de recorr\xEAncia antigos detectada(s)",noMigrationNeeded:"Nenhuma tarefa requer migra\xE7\xE3o",warnings:{title:"Antes de prosseguir:",backup:"Fa\xE7a backup do seu cofre antes de migrar",conversion:"Padr\xF5es de recorr\xEAncia antigos ser\xE3o convertidos para o novo formato",normalUsage:"Voc\xEA pode continuar usando o TaskNotes normalmente durante a migra\xE7\xE3o",permanent:"Esta altera\xE7\xE3o \xE9 permanente e n\xE3o pode ser desfeita automaticamente"},benefits:{title:"Benef\xEDcios do novo sistema:",powerfulPatterns:"Padr\xF5es de recorr\xEAncia complexos (ex: 'toda 2\xAA ter\xE7a-feira')",performance:"Melhor desempenho com tarefas recorrentes",compatibility:"Formato de recorr\xEAncia padr\xE3o compat\xEDvel com outros aplicativos",nlp:"Suporte aprimorado ao processamento de linguagem natural"},progress:{title:"Progresso da Migra\xE7\xE3o",preparing:"Preparando migra\xE7\xE3o...",completed:"Migra\xE7\xE3o conclu\xEDda com sucesso",failed:"Migra\xE7\xE3o falhou"},buttons:{migrate:"Iniciar Migra\xE7\xE3o",completed:"Fechar"},errors:{title:"Erros durante a migra\xE7\xE3o:"},notices:{completedWithErrors:"Migra\xE7\xE3o conclu\xEDda com alguns erros. Verifique a lista de erros acima.",success:"Todas as tarefas migradas com sucesso!",failed:"Migra\xE7\xE3o falhou. Por favor, verifique o console para detalhes."},prompt:{message:"O TaskNotes detectou tarefas usando o formato de recorr\xEAncia antigo. Voc\xEA gostaria de migr\xE1-las para o novo sistema agora?",migrateNow:"Migrar Agora",remindLater:"Lembrar Mais Tarde"}},task:{titlePlaceholder:"O que precisa ser feito?",titleLabel:"T\xEDtulo",titleDetailedPlaceholder:"T\xEDtulo da tarefa...",detailsLabel:"Detalhes",detailsPlaceholder:"Adicionar mais detalhes...",projectsLabel:"Projetos",projectsAdd:"Adicionar Projeto",projectsTooltip:"Selecionar uma nota de projeto usando busca difusa",projectsRemoveTooltip:"Remover projeto",contextsLabel:"Contextos",contextsPlaceholder:"contexto1, contexto2",tagsLabel:"Tags",tagsPlaceholder:"etiqueta1, etiqueta2",timeEstimateLabel:"Estimativa de tempo (minutos)",timeEstimatePlaceholder:"30",unsavedChanges:{title:"Altera\xE7\xF5es n\xE3o salvas",message:"Voc\xEA tem altera\xE7\xF5es n\xE3o salvas. Deseja salv\xE1-las?",save:"Salvar altera\xE7\xF5es",discard:"Descartar altera\xE7\xF5es",cancel:"Continuar editando"},dependencies:{blockedBy:"Bloqueada por",blocking:"Bloqueando",placeholder:"[[Nota da Tarefa]]",addTaskButton:"Adicionar tarefa",selectTaskTooltip:"Selecionar uma nota de tarefa usando busca difusa",removeTaskTooltip:"Remover tarefa"},organization:{projects:"Projetos",subtasks:"Subtarefas",addToProject:"Adicionar ao projeto",addToProjectButton:"Adicionar ao projeto",addSubtasks:"Adicionar subtarefas",addSubtasksButton:"Adicionar subtarefa",addSubtasksTooltip:"Selecionar tarefas para torn\xE1-las subtarefas desta tarefa",removeSubtaskTooltip:"Remover subtarefa",notices:{noEligibleSubtasks:"Nenhuma tarefa eleg\xEDvel dispon\xEDvel para atribuir como subtarefa",subtaskSelectFailed:"Falha ao abrir seletor de subtarefas"}},customFieldsLabel:"Campos Personalizados",actions:{due:"Definir data de vencimento",scheduled:"Definir data agendada",status:"Definir status",priority:"Definir prioridade",recurrence:"Definir recorr\xEAncia",reminders:"Definir lembretes"},buttons:{openNote:"Abrir nota",save:"Salvar"},tooltips:{dueValue:"Vencimento: {value}",scheduledValue:"Agendada: {value}",statusValue:"Status: {value}",priorityValue:"Prioridade: {value}",recurrenceValue:"Recorr\xEAncia: {value}",remindersSingle:"1 lembrete definido",remindersPlural:"{count} lembretes definidos"},dateMenu:{dueTitle:"Definir Data de Vencimento",scheduledTitle:"Definir Data Agendada"},userFields:{textPlaceholder:"Digite {field}...",numberPlaceholder:"0",datePlaceholder:"AAAA-MM-DD",listPlaceholder:"item 1, item 2, item 3",pickDate:"Escolher data {field}"},recurrence:{daily:"Diariamente",weekly:"Semanalmente",everyTwoWeeks:"A cada 2 semanas",weekdays:"Dias de semana",weeklyOn:"Semanalmente \xE0s {days}",monthly:"Mensalmente",everyThreeMonths:"A cada 3 meses",monthlyOnOrdinal:"Mensalmente no {ordinal}",monthlyByWeekday:"Mensalmente (por dia da semana)",yearly:"Anualmente",yearlyOn:"Anualmente em {day} de {month}",custom:"Personalizado",countSuffix:"{count} vezes",untilSuffix:"at\xE9 {date}",ordinal:"{number}{suffix}"}},taskSelector:{title:"Selecionar tarefa",placeholder:"Digite para buscar tarefas...",instructions:{navigate:"para navegar",select:"para selecionar",dismiss:"para cancelar"},notices:{noteNotFound:'N\xE3o foi poss\xEDvel encontrar a nota "{name}"'},dueDate:{overdue:"Vencimento: {date} (atrasada)",today:"Vencimento: Hoje"}},taskSelectorWithCreate:{title:"Criar ou abrir tarefa",placeholder:"Pesquisar tarefas ou digitar para criar nova...",instructions:{create:"para criar nova tarefa"},footer:{createLabel:" para criar: "},notices:{emptyQuery:"Por favor, insira uma descri\xE7\xE3o da tarefa",invalidTitle:"N\xE3o foi poss\xEDvel reconhecer um t\xEDtulo de tarefa v\xE1lido"}},taskCreation:{title:"Criar tarefa",actions:{fillFromNaturalLanguage:"Preencher formul\xE1rio a partir de linguagem natural",hideDetailedOptions:"Ocultar op\xE7\xF5es detalhadas",showDetailedOptions:"Mostrar op\xE7\xF5es detalhadas"},nlPlaceholder:"Comprar mantimentos amanh\xE3 \xE0s 15h @casa #tarefas",notices:{titleRequired:"Por favor, insira um t\xEDtulo para a tarefa",success:'Tarefa "{title}" criada com sucesso',successShortened:'Tarefa "{title}" criada com sucesso (nome do arquivo encurtado devido ao comprimento)',failure:"Falha ao criar tarefa: {message}",blockingUnresolved:"N\xE3o foi poss\xEDvel resolver: {entries}"}},taskEdit:{title:"Editar tarefa",sections:{completions:"Conclus\xF5es",taskInfo:"Informa\xE7\xF5es da Tarefa"},metadata:{totalTrackedTime:"Tempo total registrado:",created:"Criada:",modified:"Modificada:",file:"Arquivo:"},buttons:{archive:"Arquivar",unarchive:"Desarquivar"},notices:{titleRequired:"Por favor, insira um t\xEDtulo para a tarefa",noChanges:"Nenhuma altera\xE7\xE3o para salvar",updateSuccess:'Tarefa "{title}" atualizada com sucesso',updateFailure:"Falha ao atualizar tarefa: {message}",dependenciesUpdateSuccess:"Depend\xEAncias atualizadas",blockingUnresolved:"N\xE3o foi poss\xEDvel resolver: {entries}",fileMissing:"N\xE3o foi poss\xEDvel encontrar o arquivo da tarefa: {path}",openNoteFailure:"Falha ao abrir nota da tarefa",archiveSuccess:"Tarefa {action} com sucesso",archiveFailure:"Falha ao arquivar tarefa"},archiveAction:{archived:"arquivada",unarchived:"desarquivada"}},storageLocation:{title:{migrate:"Migrar dados pomodoro?",switch:"Mudar para armazenamento em notas di\xE1rias?"},message:{migrate:"Isso migrar\xE1 seus dados de sess\xE3o pomodoro existentes para o frontmatter das notas di\xE1rias. Os dados ser\xE3o agrupados por data e armazenados em cada nota di\xE1ria.",switch:"Os dados da sess\xE3o pomodoro ser\xE3o armazenados no frontmatter das notas di\xE1rias em vez do arquivo de dados do plugin."},whatThisMeans:"O que isso significa:",bullets:{dailyNotesRequired:"O plugin principal de Notas Di\xE1rias deve permanecer ativado",storedInNotes:"Os dados ser\xE3o armazenados no frontmatter das suas notas di\xE1rias",migrateData:"Os dados existentes do plugin ser\xE3o migrados e depois limpos",futureSessions:"Sess\xF5es futuras ser\xE3o salvas nas notas di\xE1rias",dataLongevity:"Isso proporciona melhor longevidade dos dados com suas notas"},finalNote:{migrate:"\u26A0\uFE0F Certifique-se de ter backups, se necess\xE1rio. Esta altera\xE7\xE3o n\xE3o pode ser desfeita automaticamente.",switch:"Voc\xEA pode voltar para o armazenamento do plugin a qualquer momento no futuro."},buttons:{migrate:"Migrar dados",switch:"Mudar armazenamento"}},dueDate:{title:"Definir Data de Vencimento",taskLabel:"Tarefa: {title}",sections:{dateTime:"Data e Hora de Vencimento",quickOptions:"Op\xE7\xF5es R\xE1pidas"},descriptions:{dateTime:"Defina quando esta tarefa deve ser conclu\xEDda"},inputs:{date:{ariaLabel:"Data de vencimento da tarefa",placeholder:"AAAA-MM-DD"},time:{ariaLabel:"Hora de vencimento da tarefa (opcional)",placeholder:"HH:MM"}},quickOptions:{today:"Hoje",todayAriaLabel:"Definir data de vencimento para hoje",tomorrow:"Amanh\xE3",tomorrowAriaLabel:"Definir data de vencimento para amanh\xE3",nextWeek:"Pr\xF3xima semana",nextWeekAriaLabel:"Definir data de vencimento para pr\xF3xima semana",now:"Agora",nowAriaLabel:"Definir data e hora de vencimento para agora",clear:"Limpar",clearAriaLabel:"Limpar data de vencimento"},errors:{invalidDateTime:"Por favor, insira um formato de data e hora v\xE1lido",updateFailed:"Falha ao atualizar data de vencimento. Por favor, tente novamente."}},scheduledDate:{title:"Definir Data Agendada",taskLabel:"Tarefa: {title}",sections:{dateTime:"Data e Hora Agendada",quickOptions:"Op\xE7\xF5es R\xE1pidas"},descriptions:{dateTime:"Defina quando voc\xEA planeja trabalhar nesta tarefa"},inputs:{date:{ariaLabel:"Data agendada da tarefa",placeholder:"AAAA-MM-DD"},time:{ariaLabel:"Hora agendada da tarefa (opcional)",placeholder:"HH:MM"}},quickOptions:{today:"Hoje",todayAriaLabel:"Definir data agendada para hoje",tomorrow:"Amanh\xE3",tomorrowAriaLabel:"Definir data agendada para amanh\xE3",nextWeek:"Pr\xF3xima semana",nextWeekAriaLabel:"Definir data agendada para pr\xF3xima semana",now:"Agora",nowAriaLabel:"Definir data e hora agendada para agora",clear:"Limpar",clearAriaLabel:"Limpar data agendada"},errors:{invalidDateTime:"Por favor, insira um formato de data e hora v\xE1lido",updateFailed:"Falha ao atualizar data agendada. Por favor, tente novamente."}},timeEntryEditor:{title:"Registros de Tempo - {taskTitle}",addEntry:"Adicionar registro de tempo",noEntries:"Nenhum registro de tempo ainda",deleteEntry:"Excluir registro",startTime:"Hora de in\xEDcio",endTime:"Hora de t\xE9rmino (deixe em branco se ainda estiver em execu\xE7\xE3o)",duration:"Dura\xE7\xE3o (minutos)",durationDesc:"Substituir dura\xE7\xE3o calculada",durationPlaceholder:"Digite a dura\xE7\xE3o em minutos",description:"Descri\xE7\xE3o",descriptionPlaceholder:"No que voc\xEA trabalhou?",calculatedDuration:"Calculado: {minutes} minutos",totalTime:"{hours}h {minutes}m total",totalMinutes:"{minutes}m total",saved:"Registros de tempo salvos",saveFailed:"Falha ao salvar registros de tempo",openFailed:"Falha ao abrir editor de registro de tempo",noTasksWithEntries:"Nenhuma tarefa possui registros de tempo para editar",validation:{missingStartTime:"Hora de in\xEDcio \xE9 obrigat\xF3ria",endBeforeStart:"Hora de t\xE9rmino deve ser ap\xF3s a hora de in\xEDcio"}},timeTracking:{noTasksAvailable:"Nenhuma tarefa dispon\xEDvel para registrar o tempo",started:"Iniciado registro de tempo para: {taskTitle}",startFailed:"Falha ao iniciar registro de tempo"},timeEntry:{mustHaveSpecificTime:"Registros de tempo devem ter hor\xE1rios espec\xEDficos. Por favor, selecione um intervalo de tempo na visualiza\xE7\xE3o de semana ou dia.",noTasksAvailable:"Nenhuma tarefa dispon\xEDvel para criar registros de tempo",created:"Registro de tempo criado para {taskTitle} ({duration} minutos)",createFailed:"Falha ao criar registro de tempo"}},contextMenus:{task:{status:"Status",statusSelected:"\u2713 {label}",priority:"Prioridade",prioritySelected:"\u2713 {label}",dueDate:"Data de vencimento",scheduledDate:"Data agendada",reminders:"Lembretes",remindBeforeDue:"Lembrar antes do vencimento\u2026",remindBeforeScheduled:"Lembrar antes da data agendada\u2026",manageReminders:"Gerenciar todos os lembretes\u2026",clearReminders:"Limpar todos os lembretes",startTimeTracking:"Iniciar registro de tempo",stopTimeTracking:"Parar registro de tempo",editTimeEntries:"Editar registros de tempo",archive:"Arquivar",unarchive:"Desarquivar",openNote:"Abrir nota",copyTitle:"Copiar t\xEDtulo da tarefa",noteActions:"A\xE7\xF5es da nota",rename:"Renomear",renameTitle:"Renomear Arquivo",renamePlaceholder:"Digite o novo nome",delete:"Excluir",deleteTitle:"Excluir Arquivo",deleteMessage:'Tem certeza de que deseja excluir "{name}"?',deleteConfirm:"Excluir",copyPath:"Copiar caminho",copyUrl:"Copiar URL do Obsidian",showInExplorer:"Mostrar no explorador de arquivos",addToCalendar:"Adicionar ao calend\xE1rio",calendar:{google:"Google Agenda",outlook:"Calend\xE1rio do Outlook",yahoo:"Calend\xE1rio do Yahoo",downloadIcs:"Baixar arquivo .ics",syncToGoogle:"Sincronizar com o Google Agenda",syncToGoogleNotConfigured:"Sincroniza\xE7\xE3o com Google Agenda n\xE3o configurada",syncToGoogleSuccess:"Tarefa sincronizada com o Google Agenda",syncToGoogleFailed:"Falha ao sincronizar com o Google Agenda"},recurrence:"Recorr\xEAncia",clearRecurrence:"Limpar recorr\xEAncia",customRecurrence:"Recorr\xEAncia personalizada...",createSubtask:"Criar subtarefa",dependencies:{title:"Depend\xEAncias",addBlockedBy:'Adicionar "bloqueada por"...',addBlockedByTitle:"Adicionar tarefas das quais esta depende",addBlocking:'Adicionar "bloqueando"...',addBlockingTitle:"Adicionar tarefas que esta bloqueia",removeBlockedBy:'Remover "bloqueada por"...',removeBlocking:'Remover "bloqueando"...',unknownDependency:"Desconhecido",inputPlaceholder:"[[Nota da Tarefa]]",notices:{noEntries:"Por favor, insira pelo menos uma tarefa",blockedByAdded:"{count} depend\xEAncia adicionada",blockedByRemoved:"Depend\xEAncia removida",blockingAdded:"{count} tarefa dependente adicionada",blockingRemoved:"Tarefa dependente removida",unresolved:"N\xE3o foi poss\xEDvel resolver: {entries}",noEligibleTasks:"Nenhuma tarefa correspondente dispon\xEDvel",updateFailed:"Falha ao atualizar depend\xEAncias"}},organization:{title:"Organiza\xE7\xE3o",projects:"Projetos",addToProject:"Adicionar ao projeto\u2026",subtasks:"Subtarefas",addSubtasks:"Adicionar subtarefas\u2026",notices:{alreadyInProject:"Tarefa j\xE1 est\xE1 neste projeto",alreadySubtask:"Tarefa j\xE1 \xE9 uma subtarefa desta tarefa",addedToProject:"Adicionada ao projeto: {project}",addedAsSubtask:"{subtask} adicionada como subtarefa de {parent}",addToProjectFailed:"Falha ao adicionar tarefa ao projeto",addAsSubtaskFailed:"Falha ao adicionar tarefa como subtarefa",projectSelectFailed:"Falha ao abrir seletor de projeto",subtaskSelectFailed:"Falha ao abrir seletor de subtarefa",noEligibleSubtasks:"Nenhuma tarefa eleg\xEDvel dispon\xEDvel para atribuir como subtarefa",currentTaskNotFound:"Arquivo da tarefa atual n\xE3o encontrado"}},subtasks:{loading:"Carregando subtarefas...",noSubtasks:"Nenhuma subtarefa encontrada",loadFailed:"Falha ao carregar subtarefas"},markComplete:"Marcar como conclu\xEDda para esta data",markIncomplete:"Marcar como incompleta para esta data",skipInstance:"Pular inst\xE2ncia",unskipInstance:"Desfazer pulo de inst\xE2ncia",quickReminders:{atTime:"Na hora do evento",fiveMinutes:"5 minutos antes",fifteenMinutes:"15 minutos antes",oneHour:"1 hora antes",oneDay:"1 dia antes"},notices:{toggleCompletionFailure:"Falha ao alternar conclus\xE3o de tarefa recorrente: {message}",toggleSkipFailure:"Falha ao alternar pulo de tarefa recorrente: {message}",updateDueDateFailure:"Falha ao atualizar data de vencimento da tarefa: {message}",updateScheduledFailure:"Falha ao atualizar data agendada da tarefa: {message}",updateRemindersFailure:"Falha ao atualizar lembretes",clearRemindersFailure:"Falha ao limpar lembretes",addReminderFailure:"Falha ao adicionar lembrete",archiveFailure:"Falha ao alternar arquivamento da tarefa: {message}",copyTitleSuccess:"T\xEDtulo da tarefa copiado para a \xE1rea de transfer\xEAncia",copyFailure:"Falha ao copiar para a \xE1rea de transfer\xEAncia",renameSuccess:'Renomeado para "{name}"',renameFailure:"Falha ao renomear arquivo",copyPathSuccess:"Caminho do arquivo copiado para a \xE1rea de transfer\xEAncia",copyUrlSuccess:"URL do Obsidian copiado para a \xE1rea de transfer\xEAncia",updateRecurrenceFailure:"Falha ao atualizar recorr\xEAncia da tarefa: {message}"}},priority:{clearPriority:"Limpar prioridade"},ics:{showDetails:"Mostrar detalhes",createTask:"Criar tarefa a partir do evento",createNote:"Criar nota a partir do evento",linkNote:"Vincular nota existente",copyTitle:"Copiar t\xEDtulo",copyLocation:"Copiar localiza\xE7\xE3o",copyUrl:"Copiar URL",copyMarkdown:"Copiar como markdown",subscriptionUnknown:"Calend\xE1rio desconhecido",notices:{copyTitleSuccess:"T\xEDtulo do evento copiado para a \xE1rea de transfer\xEAncia",copyLocationSuccess:"Localiza\xE7\xE3o copiada para a \xE1rea de transfer\xEAncia",copyUrlSuccess:"URL do evento copiada para a \xE1rea de transfer\xEAncia",copyMarkdownSuccess:"Detalhes do evento copiados como markdown",copyFailure:"Falha ao copiar para a \xE1rea de transfer\xEAncia",taskCreated:"Tarefa criada: {title}",taskCreateFailure:"Falha ao criar tarefa a partir do evento",noteCreated:"Nota criada com sucesso",creationFailure:"Falha ao abrir modal de cria\xE7\xE3o",linkSuccess:'Nota "{name}" vinculada ao evento',linkFailure:"Falha ao vincular nota",linkSelectionFailure:"Falha ao abrir sele\xE7\xE3o de nota"},markdown:{titleFallback:"Evento Sem T\xEDtulo",calendar:"**Calend\xE1rio:** {value}",date:"**Data e Hora:** {value}",location:"**Localiza\xE7\xE3o:** {value}",descriptionHeading:"### Descri\xE7\xE3o",url:"**URL:** {value}",at:" \xE0s {time}"}},date:{increment:{plusOneDay:"+1 dia",minusOneDay:"-1 dia",plusOneWeek:"+1 semana",minusOneWeek:"-1 semana"},basic:{today:"Hoje",tomorrow:"Amanh\xE3",thisWeekend:"Este fim de semana",nextWeek:"Pr\xF3xima semana",nextMonth:"Pr\xF3ximo m\xEAs"},weekdaysLabel:"Dias de semana",selected:"\u2713 {label}",pickDateTime:"Escolher data e hora\u2026",clearDate:"Limpar data",modal:{title:"Definir data e hora",dateLabel:"Data",timeLabel:"Hora (opcional)",select:"Selecionar"}}},services:{pomodoro:{notices:{alreadyRunning:"Um pomodoro j\xE1 est\xE1 em execu\xE7\xE3o",resumeCurrentSession:"Retome a sess\xE3o atual em vez de iniciar uma nova",timerAlreadyRunning:"Um temporizador j\xE1 est\xE1 em execu\xE7\xE3o",resumeSessionInstead:"Retome a sess\xE3o atual em vez de iniciar uma nova",shortBreakStarted:"Pausa curta iniciada",longBreakStarted:"Pausa longa iniciada",paused:"Pomodoro pausado",resumed:"Pomodoro retomado",stoppedAndReset:"Pomodoro parado e redefinido",migrationSuccess:"Migradas com sucesso {count} sess\xF5es pomodoro para notas di\xE1rias.",migrationFailure:"Falha ao migrar dados pomodoro. Por favor, tente novamente ou verifique o console para detalhes."}},icsSubscription:{notices:{calendarNotFound:'Calend\xE1rio "{name}" n\xE3o encontrado (404). Por favor, verifique se a URL ICS est\xE1 correta e se o calend\xE1rio \xE9 acess\xEDvel publicamente.',calendarAccessDenied:'Acesso ao calend\xE1rio "{name}" negado (500). Isso pode ser devido a restri\xE7\xF5es do servidor Microsoft Outlook. Tente regenerar a URL ICS das configura\xE7\xF5es do seu calend\xE1rio.',fetchRemoteFailed:'Falha ao buscar calend\xE1rio remoto "{name}": {error}',readLocalFailed:'Falha ao ler calend\xE1rio local "{name}": {error}'}},calendarExport:{notices:{generateLinkFailed:"Falha ao gerar link do calend\xE1rio",noTasksToExport:"Nenhuma tarefa encontrada para exportar",downloadSuccess:"Baixado {filename} com {count} tarefa{plural}",downloadFailed:"Falha ao baixar arquivo de calend\xE1rio",singleDownloadSuccess:"Baixado {filename}"}},filter:{groupLabels:{noProject:"Sem projeto",noTags:"Sem tags",invalidDate:"Data inv\xE1lida",due:{overdue:"Atrasadas",today:"Hoje",tomorrow:"Amanh\xE3",nextSevenDays:"Pr\xF3ximos sete dias",later:"Mais tarde",none:"Sem data de vencimento"},scheduled:{past:"Agendadas passadas",today:"Hoje",tomorrow:"Amanh\xE3",nextSevenDays:"Pr\xF3ximos sete dias",later:"Mais tarde",none:"Sem data agendada"}},errors:{noDatesProvided:"Nenhuma data fornecida"},folders:{root:"(Raiz)"}},instantTaskConvert:{notices:{noCheckboxTasks:"Nenhuma tarefa de caixa de sele\xE7\xE3o encontrada na nota atual.",convertingTasks:"Convertendo {count} tarefa{plural}...",conversionSuccess:"\u2705 Convertidas com sucesso {count} tarefa{plural} para TaskNotes!",partialConversion:"Convertidas {successCount} tarefa{successPlural}. {failureCount} falharam.",batchConversionFailed:"Falha ao realizar convers\xE3o em lote. Por favor, tente novamente.",invalidParameters:"Par\xE2metros de entrada inv\xE1lidos.",emptyLine:"Linha atual est\xE1 vazia ou n\xE3o cont\xE9m conte\xFAdo v\xE1lido.",parseError:"Erro ao analisar tarefa: {error}",invalidTaskData:"Dados da tarefa inv\xE1lidos.",replaceLineFailed:"Falha ao substituir linha da tarefa.",conversionComplete:"Tarefa convertida: {title}",conversionCompleteShortened:'Tarefa convertida: "{title}" (nome do arquivo encurtado devido ao comprimento)',fileExists:"Um arquivo com este nome j\xE1 existe. Por favor, tente novamente ou renomeie a tarefa.",conversionFailed:"Falha ao converter tarefa. Por favor, tente novamente."}},icsNote:{notices:{templateNotFound:"Modelo n\xE3o encontrado: {path}",templateProcessError:"Erro ao processar modelo: {template}",linkedToEvent:"Nota vinculada ao evento ICS: {title}"}},task:{notices:{templateNotFound:"Modelo de corpo da tarefa n\xE3o encontrado: {path}",templateReadError:"Erro ao ler modelo de corpo da tarefa: {template}",moveTaskFailed:"Falha ao mover tarefa {operation}: {error}"}},autoExport:{notices:{exportFailed:"Exporta\xE7\xE3o autom\xE1tica do TaskNotes falhou: {error}"}},notification:{notices:{}}},ui:{icsCard:{untitledEvent:"Evento sem t\xEDtulo",allDay:"Dia inteiro",calendarEvent:"Evento de calend\xE1rio",calendarFallback:"Calend\xE1rio"},noteCard:{createdLabel:"Criada:",dailyBadge:"Di\xE1ria",dailyTooltip:"Nota di\xE1ria"},taskCard:{labels:{due:"Vencimento",scheduled:"Programado",recurrence:"Recorrente",completed:"Conclu\xEDdo",created:"Criado",modified:"Modificado",blocked:"Bloqueado",blocking:"Bloqueando"},blockedBadge:"Bloqueada",blockedBadgeTooltip:"Esta tarefa est\xE1 aguardando outra tarefa",blockingBadge:"Bloqueando",blockingBadgeTooltip:"Esta tarefa est\xE1 bloqueando outra tarefa",blockingToggle:"Bloqueando {count} tarefas",priorityAriaLabel:"Prioridade: {label}",taskOptions:"Op\xE7\xF5es da tarefa",recurrenceTooltip:"{label}: {value}",reminderTooltipOne:"1 lembrete definido (clique para gerenciar)",reminderTooltipMany:"{count} lembretes definidos (clique para gerenciar)",projectTooltip:"Esta tarefa \xE9 usada como projeto (clique para filtrar subtarefas)",expandSubtasks:"Expandir subtarefas",collapseSubtasks:"Recolher subtarefas",dueToday:"{label}: Hoje",dueTodayAt:"{label}: Hoje \xE0s {time}",dueOverdue:"{label}: {display} (atrasada)",dueLabel:"{label}: {display}",scheduledToday:"{label}: Hoje",scheduledTodayAt:"{label}: Hoje \xE0s {time}",scheduledPast:"{label}: {display} (passado)",scheduledLabel:"{label}: {display}",loadingDependencies:"Carregando depend\xEAncias...",blockingEmpty:"Nenhuma tarefa dependente",blockingLoadError:"Falha ao carregar depend\xEAncias",googleCalendarSyncTooltip:"Sincronizado com o Google Agenda"},propertyEventCard:{unknownFile:"Arquivo desconhecido"},filterHeading:{allViewName:"Todos"},filterBar:{saveView:"Salvar visualiza\xE7\xE3o",saveViewNamePlaceholder:"Digite o nome da visualiza\xE7\xE3o...",saveButton:"Salvar",views:"Visualiza\xE7\xF5es",savedFilterViews:"Visualiza\xE7\xF5es de filtro salvas",filters:"Filtros",properties:"Propriedades",sort:"Ordenar",newTask:"Nova",expandAllGroups:"Expandir Todos os Grupos",collapseAllGroups:"Recolher Todos os Grupos",searchTasksPlaceholder:"Buscar tarefas...",searchTasksTooltip:"Buscar t\xEDtulos de tarefas",filterUnavailable:"Barra de filtro temporariamente indispon\xEDvel",toggleFilter:"Alternar filtro",activeFiltersTooltip:"Filtros ativos \u2013 Clique para modificar, clique com o bot\xE3o direito para limpar",configureVisibleProperties:"Configurar propriedades vis\xEDveis",sortAndGroupOptions:"Op\xE7\xF5es de ordena\xE7\xE3o e agrupamento",sortMenuHeader:"Ordenar",orderMenuHeader:"Ordem",groupMenuHeader:"Agrupar",createNewTask:"Criar nova tarefa",filter:"Filtrar",displayOrganization:"Exibi\xE7\xE3o e Organiza\xE7\xE3o",viewOptions:"Op\xE7\xF5es de Visualiza\xE7\xE3o",addFilter:"Adicionar filtro",addFilterGroup:"Adicionar grupo de filtros",addFilterTooltip:"Adicionar uma nova condi\xE7\xE3o de filtro",addFilterGroupTooltip:"Adicionar um grupo de filtros aninhado",clearAllFilters:"Limpar todos os filtros e grupos",saveCurrentFilter:"Salvar filtro atual como visualiza\xE7\xE3o",closeFilterModal:"Fechar modal de filtro",deleteFilterGroup:"Excluir grupo de filtros",deleteCondition:"Excluir condi\xE7\xE3o",all:"Todos",any:"Qualquer um",followingAreTrue:"dos seguintes s\xE3o verdadeiros:",where:"onde",selectProperty:"Selecione...",chooseProperty:"Escolha qual propriedade da tarefa filtrar",chooseOperator:"Escolha como comparar o valor da propriedade",enterValue:"Digite o valor para filtrar",selectValue:"Selecione um(a) {property} para filtrar",sortBy:"Ordenar por:",toggleSortDirection:"Alternar dire\xE7\xE3o da ordena\xE7\xE3o",chooseSortMethod:"Escolha como ordenar tarefas",groupBy:"Agrupar por:",chooseGroupMethod:"Agrupar tarefas por uma propriedade comum",toggleViewOption:"Alternar {option}",expandCollapseFilters:"Clique para expandir/recolher condi\xE7\xF5es de filtro",expandCollapseSort:"Clique para expandir/recolher op\xE7\xF5es de ordena\xE7\xE3o e agrupamento",expandCollapseViewOptions:"Clique para expandir/recolher op\xE7\xF5es espec\xEDficas da visualiza\xE7\xE3o",naturalLanguageDates:"Datas em Linguagem Natural",naturalLanguageExamples:"Mostrar exemplos de datas em linguagem natural",enterNumericValue:"Digite um valor num\xE9rico para filtrar",enterDateValue:"Digite uma data usando linguagem natural ou formato ISO",pickDateTime:"Escolher data e hora",noSavedViews:"Nenhuma visualiza\xE7\xE3o salva",savedViews:"Visualiza\xE7\xF5es salvas",yourSavedFilters:"Suas configura\xE7\xF5es de filtro salvas",dragToReorder:"Arraste para reordenar visualiza\xE7\xF5es",loadSavedView:"Carregar visualiza\xE7\xE3o salva: {name}",deleteView:"Excluir visualiza\xE7\xE3o",deleteViewTitle:"Excluir Visualiza\xE7\xE3o",deleteViewMessage:'Tem certeza de que deseja excluir a visualiza\xE7\xE3o "{name}"?',manageAllReminders:"Gerenciar Todos os Lembretes...",clearAllReminders:"Limpar Todos os Lembretes",customRecurrence:"Recorr\xEAncia personalizada...",clearRecurrence:"Limpar recorr\xEAncia",sortOptions:{dueDate:"Data de Vencimento",scheduledDate:"Data Agendada",priority:"Prioridade",status:"Status",title:"T\xEDtulo",createdDate:"Data de Cria\xE7\xE3o",tags:"Tags",ascending:"Ascendente",descending:"Descendente"},group:{none:"Nenhum",status:"Status",priority:"Prioridade",context:"Contexto",project:"Projeto",dueDate:"Data de Vencimento",scheduledDate:"Data Agendada",tags:"Tags",completedDate:"Data de Conclus\xE3o"},subgroupLabel:"SUBGRUPO",notices:{propertiesMenuFailed:"Falha ao mostrar menu de propriedades"}}},components:{dateContextMenu:{weekdays:"Dias de semana",clearDate:"Limpar data",today:"Hoje",tomorrow:"Amanh\xE3",thisWeekend:"Este fim de semana",nextWeek:"Pr\xF3xima semana",nextMonth:"Pr\xF3ximo m\xEAs",setDateTime:"Definir data e hora",dateLabel:"Data",timeLabel:"Hora (opcional)"},subgroupMenuBuilder:{none:"Nenhum",status:"Status",priority:"Prioridade",context:"Contexto",project:"Projeto",dueDate:"Data de Vencimento",scheduledDate:"Data Agendada",tags:"Tags",completedDate:"Data de Conclus\xE3o",subgroup:"SUBGRUPO"},propertyVisibilityDropdown:{coreProperties:"PROPRIEDADES PRINCIPAIS",organization:"ORGANIZA\xC7\xC3O",customProperties:"PROPRIEDADES PERSONALIZADAS",failed:"Falha ao mostrar menu de propriedades",properties:{statusDot:"Ponto de Status",priorityDot:"Ponto de Prioridade",dueDate:"Data de Vencimento",scheduledDate:"Data Agendada",timeEstimate:"Estimativa de Tempo",totalTrackedTime:"Tempo Total Registrado",checklistProgress:"Progresso da lista de verifica\xE7\xE3o",recurrence:"Recorr\xEAncia",completedDate:"Data de Conclus\xE3o",createdDate:"Data de Cria\xE7\xE3o",modifiedDate:"Data de Modifica\xE7\xE3o",projects:"Projetos",contexts:"Contextos",tags:"Tags",blocked:"Bloqueada",blocking:"Bloqueando"}},reminderContextMenu:{remindBeforeDue:"Lembrar antes do vencimento...",remindBeforeScheduled:"Lembrar antes da data agendada...",manageAllReminders:"Gerenciar Todos os Lembretes...",clearAllReminders:"Limpar Todos os Lembretes",quickReminders:{atTime:"Na hora do evento",fiveMinutesBefore:"5 minutos antes",fifteenMinutesBefore:"15 minutos antes",oneHourBefore:"1 hora antes",oneDayBefore:"1 dia antes"}},recurrenceContextMenu:{daily:"Diariamente",weeklyOn:"Semanalmente na(o) {day}",everyTwoWeeksOn:"A cada 2 semanas na(o) {day}",monthlyOnThe:"Mensalmente no {ordinal}",everyThreeMonthsOnThe:"A cada 3 meses no {ordinal}",yearlyOn:"Anualmente em {ordinal} de {month}",weekdaysOnly:"Apenas dias de semana",dailyAfterCompletion:"Diariamente (ap\xF3s conclus\xE3o)",every3DaysAfterCompletion:"A cada 3 dias (ap\xF3s conclus\xE3o)",weeklyAfterCompletion:"Semanalmente (ap\xF3s conclus\xE3o)",monthlyAfterCompletion:"Mensalmente (ap\xF3s conclus\xE3o)",customRecurrence:"Recorr\xEAncia personalizada...",clearRecurrence:"Limpar recorr\xEAncia",customRecurrenceModal:{title:"Recorr\xEAncia Personalizada",startDate:"Data de in\xEDcio",startDateDesc:"A data em que o padr\xE3o de recorr\xEAncia come\xE7a",startTime:"Hora de in\xEDcio",startTimeDesc:"A hora em que as inst\xE2ncias recorrentes devem aparecer (opcional)",recurFrom:"Recorrer a partir de",recurFromDesc:"Quando a pr\xF3xima ocorr\xEAncia deve ser calculada?",scheduledDate:"Data agendada",completionDate:"Data de conclus\xE3o",frequency:"Frequ\xEAncia",interval:"Intervalo",intervalDesc:"A cada X dias/semanas/meses/anos",daysOfWeek:"Dias da semana",daysOfWeekDesc:"Selecione dias espec\xEDficos (para recorr\xEAncia semanal)",monthlyRecurrence:"Recorr\xEAncia mensal",monthlyRecurrenceDesc:"Escolha como repetir mensalmente",yearlyRecurrence:"Recorr\xEAncia anual",yearlyRecurrenceDesc:"Escolha como repetir anualmente",endCondition:"Condi\xE7\xE3o de t\xE9rmino",endConditionDesc:"Escolha quando a recorr\xEAncia deve terminar",neverEnds:"Nunca termina",endAfterOccurrences:"Terminar ap\xF3s {count} ocorr\xEAncias",endOnDate:"Terminar em {date}",onDayOfMonth:"No dia {day} de cada m\xEAs",onTheWeekOfMonth:"Na {week} {day} de cada m\xEAs",onDateOfYear:"Em {day} de {month} de cada ano",onTheWeekOfYear:"Na {week} {day} de {month} de cada ano",frequencies:{daily:"Diariamente",weekly:"Semanalmente",monthly:"Mensalmente",yearly:"Anualmente"},weekPositions:{first:"primeira",second:"segunda",third:"terceira",fourth:"quarta",last:"\xFAltima"},weekdays:{monday:"Segunda-feira",tuesday:"Ter\xE7a-feira",wednesday:"Quarta-feira",thursday:"Quinta-feira",friday:"Sexta-feira",saturday:"S\xE1bado",sunday:"Domingo"},weekdaysShort:{mon:"Seg",tue:"Ter",wed:"Qua",thu:"Qui",fri:"Sex",sat:"S\xE1b",sun:"Dom"},cancel:"Cancelar",save:"Salvar"}}}};var Pde={common:{appName:"TaskNotes",new:"\uC0C8\uB85C \uB9CC\uB4E4\uAE30",cancel:"\uCDE8\uC18C",confirm:"\uD655\uC778",close:"\uB2EB\uAE30",save:"\uC800\uC7A5",reorder:{confirmLargeTitle:"\uB300\uADDC\uBAA8 \uC7AC\uC815\uB82C \uD655\uC778",confirmButton:"\uB178\uD2B8 \uC7AC\uC815\uB82C",confirmLargeMessage:'\uC5EC\uAE30\uC11C \uC7AC\uC815\uB82C\uD558\uBA74 {scope}\uC5D0 \uB300\uD55C \uC9C0\uC18D\uC801\uC778 \uC218\uB3D9 \uC21C\uC11C\uB97C \uB9CC\uB4E4\uAE30 \uC704\uD574 {count}\uAC1C \uB178\uD2B8\uC758 "{field}" \uAC12\uC774 \uC5C5\uB370\uC774\uD2B8\uB429\uB2C8\uB2E4. \uAC19\uC740 \uBC94\uC704\uC758 \uC228\uACA8\uC9C4 \uB178\uD2B8\uB098 \uD544\uD130\uB9C1\uB41C \uB178\uD2B8\uB3C4 \uD568\uAED8 \uC5C5\uB370\uC774\uD2B8\uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uACC4\uC18D\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?'},language:"\uC5B8\uC5B4",systemDefault:"\uC2DC\uC2A4\uD15C \uAE30\uBCF8\uAC12",loading:"\uB85C\uB529 \uC911...",languages:{en:"\uC601\uC5B4",fr:"\uD504\uB791\uC2A4\uC5B4",ru:"\uB7EC\uC2DC\uC544\uC5B4",zh:"\uC911\uAD6D\uC5B4",de:"\uB3C5\uC77C\uC5B4",es:"\uC2A4\uD398\uC778\uC5B4",ja:"\uC77C\uBCF8\uC5B4",pt:"\uD3EC\uB974\uD22C\uAC08\uC5B4 (\uBE0C\uB77C\uC9C8)",ko:"\uD55C\uAD6D\uC5B4"},weekdays:{sunday:"\uC77C\uC694\uC77C",monday:"\uC6D4\uC694\uC77C",tuesday:"\uD654\uC694\uC77C",wednesday:"\uC218\uC694\uC77C",thursday:"\uBAA9\uC694\uC77C",friday:"\uAE08\uC694\uC77C",saturday:"\uD1A0\uC694\uC77C"},months:{january:"1\uC6D4",february:"2\uC6D4",march:"3\uC6D4",april:"4\uC6D4",may:"5\uC6D4",june:"6\uC6D4",july:"7\uC6D4",august:"8\uC6D4",september:"9\uC6D4",october:"10\uC6D4",november:"11\uC6D4",december:"12\uC6D4"}},views:{agenda:{title:"\uC77C\uC815",today:"\uC624\uB298",overdue:"\uC9C0\uC5F0\uB428",refreshCalendars:"\uCE98\uB9B0\uB354 \uC0C8\uB85C\uACE0\uCE68",actions:{previousPeriod:"\uC774\uC804 \uAE30\uAC04",nextPeriod:"\uB2E4\uC74C \uAE30\uAC04",goToToday:"\uC624\uB298\uB85C \uC774\uB3D9",refreshCalendars:"\uCE98\uB9B0\uB354 \uAD6C\uB3C5 \uC0C8\uB85C\uACE0\uCE68"},loading:"\uC77C\uC815 \uB85C\uB529 \uC911...",dayToggle:"\uB0A0\uC9DC \uD1A0\uAE00",overdueToggle:"\uC9C0\uC5F0 \uD56D\uBAA9 \uD1A0\uAE00",expandAllDays:"\uBAA8\uB4E0 \uB0A0\uC9DC \uD3BC\uCE58\uAE30",collapseAllDays:"\uBAA8\uB4E0 \uB0A0\uC9DC \uC811\uAE30",notices:{calendarNotReady:"\uCE98\uB9B0\uB354 \uC11C\uBE44\uC2A4\uAC00 \uC544\uC9C1 \uC900\uBE44\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4",calendarRefreshed:"\uCE98\uB9B0\uB354 \uAD6C\uB3C5\uC774 \uC0C8\uB85C\uACE0\uCE68\uB418\uC5C8\uC2B5\uB2C8\uB2E4",refreshFailed:"\uC0C8\uB85C\uACE0\uCE68 \uC2E4\uD328"},empty:{noItemsScheduled:"\uC608\uC815\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",noItemsFound:"\uD56D\uBAA9\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",helpText:"\uB9C8\uAC10\uC77C\uC774\uB098 \uC608\uC815\uC77C\uC774 \uC788\uB294 \uC791\uC5C5\uC744 \uB9CC\uB4E4\uAC70\uB098, \uB178\uD2B8\uB97C \uCD94\uAC00\uD558\uC5EC \uC5EC\uAE30\uC5D0 \uD45C\uC2DC\uD558\uC138\uC694."},contextMenu:{showOverdueSection:"\uC9C0\uC5F0 \uD56D\uBAA9 \uD45C\uC2DC",showNotes:"\uB178\uD2B8 \uD45C\uC2DC",calendarSubscriptions:"\uCE98\uB9B0\uB354 \uAD6C\uB3C5"},periods:{thisWeek:"\uC774\uBC88 \uC8FC"},tipPrefix:"\uD301: "},taskList:{title:"\uC791\uC5C5",expandAllGroups:"\uBAA8\uB4E0 \uADF8\uB8F9 \uD3BC\uCE58\uAE30",collapseAllGroups:"\uBAA8\uB4E0 \uADF8\uB8F9 \uC811\uAE30",noTasksFound:"\uC120\uD0DD\uD55C \uD544\uD130\uC5D0 \uD574\uB2F9\uD558\uB294 \uC791\uC5C5\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",reorder:{scope:{ungrouped:"\uC774 \uADF8\uB8F9 \uC5C6\uB294 \uBAA9\uB85D",group:'"{group}" \uADF8\uB8F9'}},errors:{formulaGroupingReadOnly:"\uC218\uC2DD \uAE30\uBC18 \uADF8\uB8F9\uC5D0\uC11C\uB294 \uC791\uC5C5\uC744 \uC7AC\uC815\uB82C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uC218\uC2DD \uAC12\uC740 \uACC4\uC0B0\uB41C \uAC12\uC774\uBBC0\uB85C \uC9C1\uC811 \uC218\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."}},notes:{title:"\uB178\uD2B8",refreshButton:"\uC0C8\uB85C\uACE0\uCE68",refreshingButton:"\uC0C8\uB85C\uACE0\uCE68 \uC911...",notices:{indexingDisabled:"\uB178\uD2B8 \uC778\uB371\uC2F1\uC774 \uBE44\uD65C\uC131\uD654\uB428"},empty:{noNotesFound:"\uB178\uD2B8\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",helpText:"\uC120\uD0DD\uD55C \uB0A0\uC9DC\uC5D0 \uD574\uB2F9\uD558\uB294 \uB178\uD2B8\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. \uBBF8\uB2C8 \uCE98\uB9B0\uB354 \uBDF0\uC5D0\uC11C \uB2E4\uB978 \uB0A0\uC9DC\uB97C \uC120\uD0DD\uD558\uAC70\uB098 \uB178\uD2B8\uB97C \uB9CC\uB4E4\uC5B4 \uBCF4\uC138\uC694."},loading:"\uB178\uD2B8 \uB85C\uB529 \uC911...",refreshButtonAriaLabel:"\uB178\uD2B8 \uBAA9\uB85D \uC0C8\uB85C\uACE0\uCE68"},miniCalendar:{title:"\uBBF8\uB2C8 \uCE98\uB9B0\uB354"},advancedCalendar:{title:"\uCE98\uB9B0\uB354",filters:{showFilters:"\uD544\uD130 \uD45C\uC2DC",hideFilters:"\uD544\uD130 \uC228\uAE30\uAE30"},viewOptions:{calendarSubscriptions:"\uCE98\uB9B0\uB354 \uAD6C\uB3C5",timeEntries:"\uC2DC\uAC04 \uAE30\uB85D",timeblocks:"\uD0C0\uC784\uBE14\uB85D",scheduledDates:"\uC608\uC815\uC77C",dueDates:"\uB9C8\uAC10\uC77C",allDaySlot:"\uC885\uC77C \uC2AC\uB86F",scheduledTasks:"\uC608\uC815\uB41C \uC791\uC5C5",recurringTasks:"\uBC18\uBCF5 \uC791\uC5C5"},buttons:{refresh:"\uC0C8\uB85C\uACE0\uCE68",refreshHint:"\uCE98\uB9B0\uB354 \uAD6C\uB3C5 \uC0C8\uB85C\uACE0\uCE68"},notices:{icsServiceNotAvailable:"ICS \uAD6C\uB3C5 \uC11C\uBE44\uC2A4\uB97C \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",calendarRefreshedAll:"\uBAA8\uB4E0 \uCE98\uB9B0\uB354 \uAD6C\uB3C5\uC774 \uC0C8\uB85C\uACE0\uCE68\uB418\uC5C8\uC2B5\uB2C8\uB2E4",refreshFailed:"\uC77C\uBD80 \uCE98\uB9B0\uB354 \uAD6C\uB3C5 \uC0C8\uB85C\uACE0\uCE68\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",timeblockSpecificTime:"\uD0C0\uC784\uBE14\uB85D\uC5D0\uB294 \uD2B9\uC815 \uC2DC\uAC04\uC774 \uD544\uC694\uD569\uB2C8\uB2E4. \uC8FC\uAC04 \uB610\uB294 \uC77C\uAC04 \uBDF0\uC5D0\uC11C \uC2DC\uAC04 \uBC94\uC704\uB97C \uC120\uD0DD\uD558\uC138\uC694.",timeblockMoved:'\uD0C0\uC784\uBE14\uB85D "{title}"\uC744(\uB97C) {date}(\uC73C)\uB85C \uC774\uB3D9\uD588\uC2B5\uB2C8\uB2E4',timeblockUpdated:'\uD0C0\uC784\uBE14\uB85D "{title}" \uC2DC\uAC04\uC774 \uC5C5\uB370\uC774\uD2B8\uB418\uC5C8\uC2B5\uB2C8\uB2E4',timeblockMoveFailed:"\uD0C0\uC784\uBE14\uB85D \uC774\uB3D9 \uC2E4\uD328: {message}",timeblockResized:'\uD0C0\uC784\uBE14\uB85D "{title}" \uAE30\uAC04\uC774 \uC5C5\uB370\uC774\uD2B8\uB418\uC5C8\uC2B5\uB2C8\uB2E4',timeblockResizeFailed:"\uD0C0\uC784\uBE14\uB85D \uD06C\uAE30 \uC870\uC815 \uC2E4\uD328: {message}",taskScheduled:'\uC791\uC5C5 "{title}"\uC774(\uAC00) {date}\uC5D0 \uC608\uC815\uB418\uC5C8\uC2B5\uB2C8\uB2E4',scheduleTaskFailed:"\uC791\uC5C5 \uC608\uC815 \uC2E4\uD328",endTimeAfterStart:"\uC885\uB8CC \uC2DC\uAC04\uC740 \uC2DC\uC791 \uC2DC\uAC04 \uC774\uD6C4\uC5EC\uC57C \uD569\uB2C8\uB2E4",timeEntryNotFound:"\uC2DC\uAC04 \uAE30\uB85D\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",timeEntryDeleted:"\uC2DC\uAC04 \uAE30\uB85D\uC774 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4",deleteTimeEntryFailed:"\uC2DC\uAC04 \uAE30\uB85D \uC0AD\uC81C \uC2E4\uD328"},timeEntry:{estimatedSuffix:"\uC608\uC0C1",trackedSuffix:"\uAE30\uB85D\uB428",recurringPrefix:"\uBC18\uBCF5: ",completedPrefix:"\uC644\uB8CC: ",createdPrefix:"\uC0DD\uC131: ",modifiedPrefix:"\uC218\uC815: ",duePrefix:"\uB9C8\uAC10: ",scheduledPrefix:"\uC608\uC815: "},contextMenus:{openTask:"\uC791\uC5C5 \uC5F4\uAE30",deleteTimeEntry:"\uC2DC\uAC04 \uAE30\uB85D \uC0AD\uC81C",deleteTimeEntryTitle:"\uC2DC\uAC04 \uAE30\uB85D \uC0AD\uC81C",deleteTimeEntryConfirm:"\uC774 \uC2DC\uAC04 \uAE30\uB85D{duration}\uC744(\uB97C) \uC0AD\uC81C\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C? \uC774 \uC791\uC5C5\uC740 \uCDE8\uC18C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",deleteButton:"\uC0AD\uC81C",cancelButton:"\uCDE8\uC18C"}},basesCalendar:{title:"\uBCA0\uC774\uC2A4 \uCE98\uB9B0\uB354",today:"\uC624\uB298",buttonText:{month:"\uC6D4",week:"\uC8FC",day:"\uC77C",year:"\uB144",list:"\uBAA9\uB85D",customDays:"{count}\uC77C",listDays:"{count}\uC77C \uBAA9\uB85D",refresh:"\uC0C8\uB85C\uACE0\uCE68"},hints:{refresh:"\uCE98\uB9B0\uB354 \uAD6C\uB3C5 \uC0C8\uB85C\uACE0\uCE68",today:"\uC624\uB298\uB85C \uC774\uB3D9",prev:"\uC774\uC804",next:"\uB2E4\uC74C",month:"\uC6D4\uAC04 \uBCF4\uAE30",week:"\uC8FC\uAC04 \uBCF4\uAE30",day:"\uC77C\uAC04 \uBCF4\uAE30",year:"\uC5F0\uAC04 \uBCF4\uAE30",list:"\uBAA9\uB85D \uBCF4\uAE30",customDays:"{count}\uC77C \uBCF4\uAE30"},settings:{groups:{dateNavigation:"\uB0A0\uC9DC \uD0D0\uC0C9",events:"\uC774\uBCA4\uD2B8",layout:"\uB808\uC774\uC544\uC6C3",propertyBasedEvents:"\uC18D\uC131 \uAE30\uBC18 \uC774\uBCA4\uD2B8",calendarSubscriptions:"\uCE98\uB9B0\uB354 \uAD6C\uB3C5",googleCalendars:"Google \uCE98\uB9B0\uB354",microsoftCalendars:"Microsoft \uCE98\uB9B0\uB354"},dateNavigation:{navigateToDate:"\uB0A0\uC9DC\uB85C \uC774\uB3D9",navigateToDatePlaceholder:"YYYY-MM-DD (\uC608: 2025-01-15) - \uC18D\uC131\uC744 \uC0AC\uC6A9\uD558\uB824\uBA74 \uBE44\uC6CC\uB450\uC138\uC694",navigateToDateFromProperty:"\uC18D\uC131\uC5D0\uC11C \uB0A0\uC9DC\uB85C \uC774\uB3D9",navigateToDateFromPropertyPlaceholder:"\uB0A0\uC9DC \uC18D\uC131 \uC120\uD0DD (\uC120\uD0DD\uC0AC\uD56D)",propertyNavigationStrategy:"\uC18D\uC131 \uD0D0\uC0C9 \uC804\uB7B5",strategies:{first:"\uCCAB \uBC88\uC9F8 \uACB0\uACFC",earliest:"\uAC00\uC7A5 \uC774\uB978 \uB0A0\uC9DC",latest:"\uAC00\uC7A5 \uB2A6\uC740 \uB0A0\uC9DC"}},events:{showScheduledTasks:"\uC608\uC815\uB41C \uC791\uC5C5 \uD45C\uC2DC",showDueTasks:"\uB9C8\uAC10 \uC791\uC5C5 \uD45C\uC2DC",showRecurringTasks:"\uBC18\uBCF5 \uC791\uC5C5 \uD45C\uC2DC",showTimeEntries:"\uC2DC\uAC04 \uAE30\uB85D \uD45C\uC2DC",showTimeblocks:"\uD0C0\uC784\uBE14\uB85D \uD45C\uC2DC",showPropertyBasedEvents:"\uC18D\uC131 \uAE30\uBC18 \uC774\uBCA4\uD2B8 \uD45C\uC2DC"},layout:{calendarView:"\uCE98\uB9B0\uB354 \uBDF0",customDayCount:"\uC0AC\uC6A9\uC790 \uC9C0\uC815 \uC77C\uC218",listDayCount:"\uBAA9\uB85D \uC77C\uC218",dayStartTime:"\uD558\uB8E8 \uC2DC\uC791 \uC2DC\uAC04",dayStartTimePlaceholder:"HH:mm:ss (\uC608: 08:00:00)",dayEndTime:"\uD558\uB8E8 \uC885\uB8CC \uC2DC\uAC04",dayEndTimePlaceholder:"HH:mm:ss (\uC608: 20:00:00)",timeSlotDuration:"\uC2DC\uAC04 \uC2AC\uB86F \uAC04\uACA9",timeSlotDurationPlaceholder:"HH:mm:ss (\uC608: 00:30:00)",weekStartsOn:"\uC8FC \uC2DC\uC791 \uC694\uC77C",showWeekNumbers:"\uC8FC \uBC88\uD638 \uD45C\uC2DC",showNowIndicator:"\uD604\uC7AC \uC2DC\uAC04 \uD45C\uC2DC",showWeekends:"\uC8FC\uB9D0 \uD45C\uC2DC",showAllDaySlot:"\uC885\uC77C \uC2AC\uB86F \uD45C\uC2DC",showTodayHighlight:"\uC624\uB298 \uAC15\uC870 \uD45C\uC2DC",todayColumnWidthMultiplier:"\uC624\uB298 \uC5F4 \uB108\uBE44 \uBC30\uC218",showSelectionPreview:"\uC120\uD0DD \uBBF8\uB9AC\uBCF4\uAE30 \uD45C\uC2DC",timeFormat:"\uC2DC\uAC04 \uD615\uC2DD",timeFormat12:"12\uC2DC\uAC04 (\uC624\uC804/\uC624\uD6C4)",timeFormat24:"24\uC2DC\uAC04",initialScrollTime:"\uCD08\uAE30 \uC2A4\uD06C\uB864 \uC2DC\uAC04",initialScrollTimePlaceholder:"HH:mm:ss (\uC608: 08:00:00)",minimumEventHeight:"\uCD5C\uC18C \uC774\uBCA4\uD2B8 \uB192\uC774 (px)",slotEventOverlap:"\uC774\uBCA4\uD2B8 \uACB9\uCE68 \uD5C8\uC6A9",enableSearch:"\uAC80\uC0C9 \uC0C1\uC790 \uD65C\uC131\uD654",eventMaxStack:"\uCD5C\uB300 \uC774\uBCA4\uD2B8 \uC2A4\uD0DD (\uC8FC/\uC77C \uBCF4\uAE30, 0 = \uBB34\uC81C\uD55C)",dayMaxEvents:"\uC77C\uB2F9 \uCD5C\uB300 \uC774\uBCA4\uD2B8 (\uC6D4\uAC04 \uBCF4\uAE30, 0 = \uC790\uB3D9)",dayMaxEventRows:"\uC77C\uB2F9 \uCD5C\uB300 \uC774\uBCA4\uD2B8 \uD589 (\uC6D4\uAC04 \uBCF4\uAE30, 0 = \uBB34\uC81C\uD55C)",spanScheduledToDue:"\uC608\uC815\uC77C\uACFC \uB9C8\uAC10\uC77C \uC0AC\uC774 \uC791\uC5C5 \uD45C\uC2DC"},propertyBasedEvents:{startDateProperty:"\uC2DC\uC791\uC77C \uC18D\uC131",startDatePropertyPlaceholder:"\uC2DC\uC791 \uB0A0\uC9DC/\uC2DC\uAC04 \uC18D\uC131 \uC120\uD0DD",endDateProperty:"\uC885\uB8CC\uC77C \uC18D\uC131 (\uC120\uD0DD\uC0AC\uD56D)",endDatePropertyPlaceholder:"\uC885\uB8CC \uB0A0\uC9DC/\uC2DC\uAC04 \uC18D\uC131 \uC120\uD0DD",titleProperty:"\uC81C\uBAA9 \uC18D\uC131 (\uC120\uD0DD\uC0AC\uD56D)",titlePropertyPlaceholder:"\uC774\uBCA4\uD2B8 \uC81C\uBAA9 \uC18D\uC131 \uC120\uD0DD"}},errors:{failedToInitialize:"\uCE98\uB9B0\uB354 \uCD08\uAE30\uD654 \uC2E4\uD328"}},kanban:{title:"\uCE78\uBC18",newTask:"\uC0C8 \uC791\uC5C5",addCard:"+ \uCE74\uB4DC \uCD94\uAC00",noTasks:"\uC791\uC5C5 \uC5C6\uC74C",uncategorized:"\uBBF8\uBD84\uB958",noProject:"\uD504\uB85C\uC81D\uD2B8 \uC5C6\uC74C",reorder:{scope:{column:'"{group}" \uC5F4',columnInSwimlane:'"{swimlane}" \uC2A4\uC714\uB808\uC778\uC758 "{group}" \uC5F4'}},notices:{loadFailed:"\uCE78\uBC18 \uBCF4\uB4DC \uB85C\uB4DC \uC2E4\uD328",movedTask:'\uC791\uC5C5\uC774 "{0}"(\uC73C)\uB85C \uC774\uB3D9\uB418\uC5C8\uC2B5\uB2C8\uB2E4'},errors:{loadingBoard:"\uBCF4\uB4DC \uB85C\uB529 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.",noGroupBy:"\uCE78\uBC18 \uBDF0\uB294 '\uADF8\uB8F9\uD654 \uAE30\uC900' \uC18D\uC131\uC744 \uC124\uC815\uD574\uC57C \uD569\uB2C8\uB2E4. '\uC815\uB82C' \uBC84\uD2BC\uC744 \uD074\uB9AD\uD558\uACE0 '\uADF8\uB8F9\uD654 \uAE30\uC900'\uC5D0\uC11C \uC18D\uC131\uC744 \uC120\uD0DD\uD558\uC138\uC694.",formulaGroupingReadOnly:"\uC218\uC2DD \uAE30\uBC18 \uC5F4 \uAC04\uC5D0\uB294 \uC791\uC5C5\uC744 \uC774\uB3D9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uC218\uC2DD \uAC12\uC740 \uACC4\uC0B0\uB418\uBA70 \uC9C1\uC811 \uC218\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",formulaSwimlaneReadOnly:"\uC218\uC2DD \uAE30\uBC18 \uC2A4\uC714\uB808\uC778 \uAC04\uC5D0\uB294 \uC791\uC5C5\uC744 \uC774\uB3D9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uC218\uC2DD \uAC12\uC740 \uACC4\uC0B0\uB418\uBA70 \uC9C1\uC811 \uC218\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."},columnTitle:"\uC81C\uBAA9 \uC5C6\uC74C"},pomodoro:{title:"\uBF40\uBAA8\uB3C4\uB85C",status:{focus:"\uC9D1\uC911",ready:"\uC2DC\uC791 \uC900\uBE44 \uC644\uB8CC",paused:"\uC77C\uC2DC \uC815\uC9C0\uB428",working:"\uC791\uC5C5 \uC911",shortBreak:"\uC9E7\uC740 \uD734\uC2DD",longBreak:"\uAE34 \uD734\uC2DD",breakPrompt:"\uC798\uD558\uC168\uC2B5\uB2C8\uB2E4! {length} \uD734\uC2DD \uC2DC\uAC04\uC785\uB2C8\uB2E4",breakLength:{short:"\uC9E7\uC740",long:"\uAE34"},breakComplete:"\uD734\uC2DD \uC644\uB8CC! \uB2E4\uC74C \uBF40\uBAA8\uB3C4\uB85C\uB97C \uC2DC\uC791\uD560 \uC900\uBE44\uAC00 \uB418\uC168\uB098\uC694?"},buttons:{start:"\uC2DC\uC791",pause:"\uC77C\uC2DC \uC815\uC9C0",stop:"\uC911\uC9C0",resume:"\uC7AC\uAC1C",startShortBreak:"\uC9E7\uC740 \uD734\uC2DD \uC2DC\uC791",startLongBreak:"\uAE34 \uD734\uC2DD \uC2DC\uC791",skipBreak:"\uD734\uC2DD \uAC74\uB108\uB6F0\uAE30",chooseTask:"\uC791\uC5C5 \uC120\uD0DD...",changeTask:"\uC791\uC5C5 \uBCC0\uACBD...",clearTask:"\uC791\uC5C5 \uC9C0\uC6B0\uAE30",selectDifferentTask:"\uB2E4\uB978 \uC791\uC5C5 \uC120\uD0DD"},notices:{noTasks:"\uBCF4\uAD00\uB418\uC9C0 \uC54A\uC740 \uC791\uC5C5\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uBA3C\uC800 \uC791\uC5C5\uC744 \uB9CC\uB4DC\uC138\uC694.",loadFailed:"\uC791\uC5C5 \uB85C\uB4DC \uC2E4\uD328"},statsLabel:"\uC624\uB298 \uC644\uB8CC"},pomodoroStats:{title:"\uBF40\uBAA8\uB3C4\uB85C \uD1B5\uACC4",heading:"\uBF40\uBAA8\uB3C4\uB85C \uD1B5\uACC4",refresh:"\uC0C8\uB85C\uACE0\uCE68",sections:{overview:"\uAC1C\uC694",today:"\uC624\uB298",week:"\uC774\uBC88 \uC8FC",allTime:"\uC804\uCCB4 \uAE30\uAC04",recent:"\uCD5C\uADFC \uC138\uC158"},overviewCards:{todayPomos:{label:"\uC624\uB298\uC758 \uBF40\uBAA8\uB3C4\uB85C",change:{more:"\uC5B4\uC81C\uBCF4\uB2E4 {count}\uAC1C \uB354 \uB9CE\uC74C",less:"\uC5B4\uC81C\uBCF4\uB2E4 {count}\uAC1C \uB354 \uC801\uC74C"}},totalPomos:{label:"\uCD1D \uBF40\uBAA8\uB3C4\uB85C"},todayFocus:{label:"\uC624\uB298\uC758 \uC9D1\uC911 \uC2DC\uAC04",change:{more:"\uC5B4\uC81C\uBCF4\uB2E4 {duration} \uB354 \uB9CE\uC74C",less:"\uC5B4\uC81C\uBCF4\uB2E4 {duration} \uB354 \uC801\uC74C"}},totalFocus:{label:"\uCD1D \uC9D1\uC911 \uC2DC\uAC04"}},stats:{pomodoros:"\uBF40\uBAA8\uB3C4\uB85C",streak:"\uC5F0\uC18D",minutes:"\uBD84",average:"\uD3C9\uADE0 \uAE38\uC774",completion:"\uC644\uB8CC\uC728"},recents:{empty:"\uC544\uC9C1 \uAE30\uB85D\uB41C \uC138\uC158\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",duration:"{minutes}\uBD84",status:{completed:"\uC644\uB8CC\uB428",interrupted:"\uC911\uB2E8\uB428"}}},stats:{title:"\uD1B5\uACC4",taskProjectStats:"\uC791\uC5C5 \uBC0F \uD504\uB85C\uC81D\uD2B8 \uD1B5\uACC4",sections:{filters:"\uD544\uD130",overview:"\uAC1C\uC694",today:"\uC624\uB298",thisWeek:"\uC774\uBC88 \uC8FC",thisMonth:"\uC774\uBC88 \uB2EC",projectBreakdown:"\uD504\uB85C\uC81D\uD2B8\uBCC4 \uBD84\uC11D",dateRange:"\uB0A0\uC9DC \uBC94\uC704"},filters:{minTime:"\uCD5C\uC18C \uC2DC\uAC04 (\uBD84)",allTasks:"\uBAA8\uB4E0 \uC791\uC5C5",activeOnly:"\uD65C\uC131 \uC791\uC5C5\uB9CC",completedOnly:"\uC644\uB8CC\uB41C \uC791\uC5C5\uB9CC"},refreshButton:"\uC0C8\uB85C\uACE0\uCE68",timeRanges:{allTime:"\uC804\uCCB4 \uAE30\uAC04",last7Days:"\uCD5C\uADFC 7\uC77C",last30Days:"\uCD5C\uADFC 30\uC77C",last90Days:"\uCD5C\uADFC 90\uC77C",customRange:"\uC0AC\uC6A9\uC790 \uC9C0\uC815 \uBC94\uC704"},resetFiltersButton:"\uD544\uD130 \uCD08\uAE30\uD654",dateRangeFrom:"\uC2DC\uC791",dateRangeTo:"\uC885\uB8CC",noProject:"\uD504\uB85C\uC81D\uD2B8 \uC5C6\uC74C",cards:{timeTrackedEstimated:"\uAE30\uB85D \uC2DC\uAC04 / \uC608\uC0C1 \uC2DC\uAC04",totalTasks:"\uCD1D \uC791\uC5C5",completionRate:"\uC644\uB8CC\uC728",activeProjects:"\uD65C\uC131 \uD504\uB85C\uC81D\uD2B8",avgTimePerTask:"\uC791\uC5C5\uB2F9 \uD3C9\uADE0 \uC2DC\uAC04"},labels:{tasks:"\uC791\uC5C5",completed:"\uC644\uB8CC\uB428",projects:"\uD504\uB85C\uC81D\uD2B8"},noProjectData:"\uD504\uB85C\uC81D\uD2B8 \uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4",notAvailable:"N/A",noTasks:"\uC791\uC5C5\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",loading:"\uB85C\uB529 \uC911..."},releaseNotes:{title:"TaskNotes {version}\uC758 \uC0C8\uB85C\uC6B4 \uAE30\uB2A5",header:"TaskNotes {version}\uC758 \uC0C8\uB85C\uC6B4 \uAE30\uB2A5",viewAllLink:"GitHub\uC5D0\uC11C \uBAA8\uB4E0 \uB9B4\uB9AC\uC2A4 \uB178\uD2B8 \uBCF4\uAE30 \u2192",starMessage:"TaskNotes\uAC00 \uC720\uC6A9\uD558\uB2E4\uBA74 GitHub\uC5D0\uC11C \uBCC4\uD45C\uB97C \uC8FC\uC138\uC694",baseFilesNotice:"> [!info] \uAE30\uBCF8 `.base` \uD30C\uC77C \uC548\uB0B4\n> \uAE30\uBCF8\uC73C\uB85C \uC0DD\uC131\uB418\uB294 `.base` \uD15C\uD50C\uB9BF\uC774 \uBCC0\uACBD\uB418\uC5B4\uB3C4 \uAE30\uC874 `.base` \uD30C\uC77C\uC740 \uB36E\uC5B4\uC4F0\uC9C0 \uC54A\uC73C\uBBC0\uB85C \uC0AC\uC6A9\uC790 \uC124\uC815\uC774 \uC720\uC9C0\uB429\uB2C8\uB2E4.\n> \uCD5C\uC2E0 \uD15C\uD50C\uB9BF \uAC1C\uC120 \uC0AC\uD56D\uC744 \uC801\uC6A9\uD558\uB824\uBA74 **\uC124\uC815 \u2192 TaskNotes \u2192 \uC77C\uBC18 \u2192 \uD30C\uC77C \uC0DD\uC131**\uC5D0\uC11C \uBCA0\uC774\uC2A4 \uD30C\uC77C\uC744 \uB2E4\uC2DC \uC0DD\uC131\uD558\uC138\uC694."}},settings:{header:{documentation:"\uBB38\uC11C",documentationUrl:"https://tasknotes.dev"},tabs:{general:"\uC77C\uBC18",taskProperties:"\uC791\uC5C5 \uC18D\uC131",modalFields:"\uBAA8\uB2EC \uD544\uB4DC",defaults:"\uAE30\uBCF8\uAC12 \uBC0F \uD15C\uD50C\uB9BF",appearance:"\uC678\uAD00 \uBC0F UI",features:"\uAE30\uB2A5",integrations:"\uD1B5\uD569"},features:{inlineTasks:{header:"\uC778\uB77C\uC778 \uC791\uC5C5",description:"\uB178\uD2B8 \uB0B4 \uC791\uC5C5 \uB9C1\uD06C \uBC0F \uCCB4\uD06C\uBC15\uC2A4-\uC791\uC5C5 \uBCC0\uD658 \uC124\uC815."},overlays:{taskLinkToggle:{name:"\uC791\uC5C5 \uB9C1\uD06C \uC624\uBC84\uB808\uC774",description:"\uC791\uC5C5 \uB9C1\uD06C\uC5D0 \uB9C8\uC6B0\uC2A4\uB97C \uC62C\uB9AC\uBA74 \uC778\uD130\uB799\uD2F0\uBE0C \uC624\uBC84\uB808\uC774 \uD45C\uC2DC"},aliasExclusion:{name:"\uBCC4\uCE6D \uB9C1\uD06C\uC5D0\uC11C \uC624\uBC84\uB808\uC774 \uBE44\uD65C\uC131\uD654",description:"\uB9C1\uD06C\uC5D0 \uBCC4\uCE6D\uC774 \uD3EC\uD568\uB41C \uACBD\uC6B0 \uC791\uC5C5 \uC704\uC82F\uC744 \uD45C\uC2DC\uD558\uC9C0 \uC54A\uC74C (\uC608: [[\uC791\uC5C5|\uBCC4\uCE6D]])."}},instantConvert:{toggle:{name:"\uCCB4\uD06C\uBC15\uC2A4 \uC606\uC5D0 \uBCC0\uD658 \uBC84\uD2BC \uD45C\uC2DC",description:"\uB9C8\uD06C\uB2E4\uC6B4 \uCCB4\uD06C\uBC15\uC2A4 \uC606\uC5D0 TaskNotes\uB85C \uBCC0\uD658\uD558\uB294 \uC778\uB77C\uC778 \uBC84\uD2BC \uD45C\uC2DC"},folder:{name:"\uBCC0\uD658\uB41C \uC791\uC5C5 \uD3F4\uB354",description:"\uCCB4\uD06C\uBC15\uC2A4\uC5D0\uC11C \uBCC0\uD658\uB41C \uC791\uC5C5\uC774 \uC0DD\uC131\uB420 \uD3F4\uB354. \uAE30\uBCF8 \uC791\uC5C5 \uD3F4\uB354\uB97C \uC0AC\uC6A9\uD558\uB824\uBA74 \uBE44\uC6CC\uB450\uC138\uC694. {{currentNotePath}}\uB294 \uD604\uC7AC \uB178\uD2B8 \uD3F4\uB354, {{currentNoteTitle}}\uC740 \uD604\uC7AC \uB178\uD2B8 \uC774\uB984\uC758 \uD558\uC704 \uD3F4\uB354\uC785\uB2C8\uB2E4."}},nlp:{header:"\uC790\uC5F0\uC5B4 \uCC98\uB9AC",description:"\uD14D\uC2A4\uD2B8 \uC785\uB825\uC5D0\uC11C \uB0A0\uC9DC, \uC6B0\uC120\uC21C\uC704 \uBC0F \uAE30\uD0C0 \uC18D\uC131\uC744 \uD30C\uC2F1\uD569\uB2C8\uB2E4.",enable:{name:"\uC790\uC5F0\uC5B4 \uC791\uC5C5 \uC785\uB825 \uD65C\uC131\uD654",description:"\uC791\uC5C5 \uC0DD\uC131 \uC2DC \uC790\uC5F0\uC5B4\uC5D0\uC11C \uB9C8\uAC10\uC77C, \uC6B0\uC120\uC21C\uC704, \uCEE8\uD14D\uC2A4\uD2B8 \uD30C\uC2F1"},defaultToScheduled:{name:"\uC608\uC815\uC77C\uB85C \uAE30\uBCF8 \uC124\uC815",description:"NLP\uAC00 \uCEE8\uD14D\uC2A4\uD2B8 \uC5C6\uC774 \uB0A0\uC9DC\uB97C \uAC10\uC9C0\uD558\uBA74 \uB9C8\uAC10\uC77C \uB300\uC2E0 \uC608\uC815\uC77C\uB85C \uCC98\uB9AC"},language:{name:"NLP \uC5B8\uC5B4",description:"\uC790\uC5F0\uC5B4 \uCC98\uB9AC \uD328\uD134 \uBC0F \uB0A0\uC9DC \uD30C\uC2F1\uC744 \uC704\uD55C \uC5B8\uC5B4"},statusTrigger:{name:"\uC0C1\uD0DC \uC81C\uC548 \uD2B8\uB9AC\uAC70",description:"\uC0C1\uD0DC \uC81C\uC548\uC744 \uD2B8\uB9AC\uAC70\uD558\uB294 \uD14D\uC2A4\uD2B8 (\uBE44\uD65C\uC131\uD654\uD558\uB824\uBA74 \uBE44\uC6CC\uB450\uC138\uC694)"}},pomodoro:{header:"\uBF40\uBAA8\uB3C4\uB85C \uD0C0\uC774\uBA38",description:"\uBF40\uBAA8\uB3C4\uB85C \uD0C0\uC774\uBA38\uC758 \uC791\uC5C5/\uD734\uC2DD \uAC04\uACA9\uC744 \uC124\uC815\uD569\uB2C8\uB2E4.",workDuration:{name:"\uC791\uC5C5 \uC2DC\uAC04",description:"\uC791\uC5C5 \uAC04\uACA9 \uC2DC\uAC04 (\uBD84)"},shortBreak:{name:"\uC9E7\uC740 \uD734\uC2DD \uC2DC\uAC04",description:"\uC9E7\uC740 \uD734\uC2DD \uC2DC\uAC04 (\uBD84)"},longBreak:{name:"\uAE34 \uD734\uC2DD \uC2DC\uAC04",description:"\uAE34 \uD734\uC2DD \uC2DC\uAC04 (\uBD84)"},longBreakInterval:{name:"\uAE34 \uD734\uC2DD \uAC04\uACA9",description:"\uAE34 \uD734\uC2DD \uC804 \uC791\uC5C5 \uC138\uC158 \uC218"},autoStartBreaks:{name:"\uC790\uB3D9 \uD734\uC2DD \uC2DC\uC791",description:"\uC791\uC5C5 \uC138\uC158 \uD6C4 \uC790\uB3D9\uC73C\uB85C \uD734\uC2DD \uD0C0\uC774\uBA38 \uC2DC\uC791"},autoStartWork:{name:"\uC790\uB3D9 \uC791\uC5C5 \uC2DC\uC791",description:"\uD734\uC2DD \uD6C4 \uC790\uB3D9\uC73C\uB85C \uC791\uC5C5 \uC138\uC158 \uC2DC\uC791"},notifications:{name:"\uBF40\uBAA8\uB3C4\uB85C \uC54C\uB9BC",description:"\uBF40\uBAA8\uB3C4\uB85C \uC138\uC158 \uC885\uB8CC \uC2DC \uC54C\uB9BC \uD45C\uC2DC"},mobileSidebar:{name:"\uBAA8\uBC14\uC77C \uC0AC\uC774\uB4DC\uBC14",description:"\uBAA8\uBC14\uC77C \uAE30\uAE30\uC5D0\uC11C \uBF40\uBAA8\uB3C4\uB85C \uD0C0\uC774\uBA38\uB97C \uC5F4 \uC704\uCE58",tab:"\uB178\uD2B8 \uD328\uB110",left:"\uC67C\uCABD \uC0AC\uC774\uB4DC\uBC14",right:"\uC624\uB978\uCABD \uC0AC\uC774\uB4DC\uBC14"}},uiLanguage:{header:"\uC778\uD130\uD398\uC774\uC2A4 \uC5B8\uC5B4",description:"TaskNotes \uBA54\uB274, \uC54C\uB9BC \uBC0F \uBDF0\uC758 \uC5B8\uC5B4\uB97C \uBCC0\uACBD\uD569\uB2C8\uB2E4.",dropdown:{name:"UI \uC5B8\uC5B4",description:"TaskNotes \uC778\uD130\uD398\uC774\uC2A4 \uD14D\uC2A4\uD2B8\uC5D0 \uC0AC\uC6A9\uD560 \uC5B8\uC5B4 \uC120\uD0DD"}},pomodoroSound:{enabledName:"\uC0AC\uC6B4\uB4DC \uD65C\uC131\uD654",enabledDesc:"\uBF40\uBAA8\uB3C4\uB85C \uC138\uC158 \uC885\uB8CC \uC2DC \uC18C\uB9AC \uC7AC\uC0DD",volumeName:"\uC0AC\uC6B4\uB4DC \uBCFC\uB968",volumeDesc:"\uBF40\uBAA8\uB3C4\uB85C \uC0AC\uC6B4\uB4DC \uBCFC\uB968 (0-100)"},dataStorage:{name:"\uBF40\uBAA8\uB3C4\uB85C \uB370\uC774\uD130 \uC800\uC7A5",description:"\uBF40\uBAA8\uB3C4\uB85C \uC138\uC158 \uB370\uC774\uD130\uAC00 \uC800\uC7A5\uB418\uACE0 \uAD00\uB9AC\uB418\uB294 \uBC29\uBC95\uC744 \uC124\uC815\uD569\uB2C8\uB2E4.",dailyNotes:"\uB370\uC77C\uB9AC \uB178\uD2B8",pluginData:"\uD50C\uB7EC\uADF8\uC778 \uB370\uC774\uD130",notices:{locationChanged:"\uBF40\uBAA8\uB3C4\uB85C \uC800\uC7A5 \uC704\uCE58\uAC00 {location}(\uC73C)\uB85C \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4"}},notifications:{header:"\uC54C\uB9BC",description:"\uC791\uC5C5 \uB9AC\uB9C8\uC778\uB354 \uC54C\uB9BC \uBC0F \uACBD\uACE0\uB97C \uC124\uC815\uD569\uB2C8\uB2E4.",enableName:"\uC54C\uB9BC \uD65C\uC131\uD654",enableDesc:"\uC791\uC5C5 \uB9AC\uB9C8\uC778\uB354 \uC54C\uB9BC \uD65C\uC131\uD654",typeName:"\uC54C\uB9BC \uC720\uD615",typeDesc:"\uD45C\uC2DC\uD560 \uC54C\uB9BC \uC720\uD615",systemLabel:"\uC2DC\uC2A4\uD15C \uC54C\uB9BC",inAppLabel:"\uC571 \uB0B4 \uC54C\uB9BC"},overdue:{hideCompletedName:"\uC644\uB8CC\uB41C \uC791\uC5C5\uC744 \uC9C0\uC5F0 \uBAA9\uB85D\uC5D0\uC11C \uC228\uAE30\uAE30",hideCompletedDesc:"\uC644\uB8CC\uB41C \uC791\uC5C5\uC744 \uC9C0\uC5F0 \uC791\uC5C5 \uACC4\uC0B0\uC5D0\uC11C \uC81C\uC678"},indexing:{disableName:"\uB178\uD2B8 \uC778\uB371\uC2F1 \uBE44\uD65C\uC131\uD654",disableDesc:"\uB354 \uB098\uC740 \uC131\uB2A5\uC744 \uC704\uD574 \uB178\uD2B8 \uCF58\uD150\uCE20 \uC790\uB3D9 \uC778\uB371\uC2F1 \uBE44\uD65C\uC131\uD654"},suggestions:{debounceName:"\uC81C\uC548 \uB514\uBC14\uC6B4\uC2A4",debounceDesc:"\uC81C\uC548 \uD45C\uC2DC \uC804 \uC9C0\uC5F0 \uC2DC\uAC04 (\uBC00\uB9AC\uCD08)"},timeTracking:{autoStopName:"\uC2DC\uAC04 \uCD94\uC801 \uC790\uB3D9 \uC911\uC9C0",autoStopDesc:"\uC791\uC5C5 \uC644\uB8CC \uC2DC \uC2DC\uAC04 \uCD94\uC801 \uC790\uB3D9 \uC911\uC9C0",stopNotificationName:"\uC2DC\uAC04 \uCD94\uC801 \uC911\uC9C0 \uC54C\uB9BC",stopNotificationDesc:"\uC2DC\uAC04 \uCD94\uC801\uC774 \uC790\uB3D9 \uC911\uC9C0\uB418\uBA74 \uC54C\uB9BC \uD45C\uC2DC"},recurring:{maintainOffsetName:"\uBC18\uBCF5 \uC791\uC5C5\uC5D0\uC11C \uB9C8\uAC10\uC77C \uC624\uD504\uC14B \uC720\uC9C0",maintainOffsetDesc:"\uBC18\uBCF5 \uC791\uC5C5 \uC644\uB8CC \uC2DC \uB9C8\uAC10\uC77C\uACFC \uC608\uC815\uC77C \uAC04\uC758 \uC624\uD504\uC14B \uC720\uC9C0",resetCheckboxesName:"\uBC18\uBCF5 \uC2DC \uCCB4\uD06C\uBC15\uC2A4 \uCD08\uAE30\uD654",resetCheckboxesDesc:"\uBC18\uBCF5 \uC791\uC5C5\uC774 \uC644\uB8CC\uB418\uACE0 \uB2E4\uC2DC \uC608\uC57D\uB420 \uB54C \uC791\uC5C5 \uBCF8\uBB38\uC758 \uBAA8\uB4E0 \uB9C8\uD06C\uB2E4\uC6B4 \uCCB4\uD06C\uBC15\uC2A4\uB97C \uCD08\uAE30\uD654"},timeblocking:{header:"\uD0C0\uC784\uBE14\uB85C\uD0B9",description:"\uB370\uC77C\uB9AC \uB178\uD2B8\uC5D0\uC11C \uAC00\uBCBC\uC6B4 \uC77C\uC815 \uAD00\uB9AC\uB97C \uC704\uD55C \uD0C0\uC784\uBE14\uB85D \uAE30\uB2A5\uC744 \uC124\uC815\uD569\uB2C8\uB2E4. \uCE98\uB9B0\uB354 \uBDF0\uC5D0\uC11C \uB4DC\uB798\uADF8\uD558\uC5EC \uC774\uBCA4\uD2B8\uB97C \uB9CC\uB4E4\uACE0 \uCEE8\uD14D\uC2A4\uD2B8 \uBA54\uB274\uC5D0\uC11C '\uD0C0\uC784\uBE14\uB85D'\uC744 \uC120\uD0DD\uD558\uC138\uC694.",enableName:"\uD0C0\uC784\uBE14\uB85C\uD0B9 \uD65C\uC131\uD654",enableDesc:"\uB370\uC77C\uB9AC \uB178\uD2B8\uC5D0\uC11C \uAC00\uBCBC\uC6B4 \uC77C\uC815 \uAD00\uB9AC\uB97C \uC704\uD55C \uD0C0\uC784\uBE14\uB85C\uD0B9 \uAE30\uB2A5 \uD65C\uC131\uD654. \uD65C\uC131\uD654\uD558\uBA74 \uCE98\uB9B0\uB354 \uB4DC\uB798\uADF8 \uCEE8\uD14D\uC2A4\uD2B8 \uBA54\uB274\uC5D0 '\uD0C0\uC784\uBE14\uB85D' \uC635\uC158\uC774 \uB098\uD0C0\uB0A9\uB2C8\uB2E4.",showBlocksName:"\uD0C0\uC784\uBE14\uB85D \uD45C\uC2DC",showBlocksDesc:"\uAE30\uBCF8\uC801\uC73C\uB85C \uB370\uC77C\uB9AC \uB178\uD2B8\uC758 \uD0C0\uC784\uBE14\uB85D \uD45C\uC2DC",defaultColorName:"\uAE30\uBCF8 \uD0C0\uC784\uBE14\uB85D \uC0C9\uC0C1",defaultColorDesc:"\uC0C8 \uD0C0\uC784\uBE14\uB85D \uC0DD\uC131 \uC2DC \uC0AC\uC6A9\uB418\uB294 \uAE30\uBCF8 \uC0C9\uC0C1",usage:"\uC0AC\uC6A9\uBC95: \uCE98\uB9B0\uB354\uC5D0\uC11C \uB4DC\uB798\uADF8\uD558\uC5EC \uC774\uBCA4\uD2B8\uB97C \uB9CC\uB4ED\uB2C8\uB2E4. \uCEE8\uD14D\uC2A4\uD2B8 \uBA54\uB274\uC5D0\uC11C '\uD0C0\uC784\uBE14\uB85D'\uC744 \uC120\uD0DD\uD558\uC138\uC694 (\uD0C0\uC784\uBE14\uB85C\uD0B9\uC774 \uD65C\uC131\uD654\uB41C \uACBD\uC6B0\uC5D0\uB9CC \uD45C\uC2DC\uB428). \uB4DC\uB798\uADF8\uD558\uC5EC \uAE30\uC874 \uD0C0\uC784\uBE14\uB85D\uC744 \uC774\uB3D9\uD569\uB2C8\uB2E4. \uAC00\uC7A5\uC790\uB9AC\uB97C \uB4DC\uB798\uADF8\uD558\uC5EC \uAE30\uAC04\uC744 \uC870\uC815\uD569\uB2C8\uB2E4."},performance:{header:"\uC131\uB2A5 \uBC0F \uB3D9\uC791",description:"\uD50C\uB7EC\uADF8\uC778 \uC131\uB2A5 \uBC0F \uB3D9\uC791 \uC635\uC158\uC744 \uC124\uC815\uD569\uB2C8\uB2E4."},timeTrackingSection:{header:"\uC2DC\uAC04 \uCD94\uC801",description:"\uC790\uB3D9 \uC2DC\uAC04 \uCD94\uC801 \uB3D9\uC791\uC744 \uC124\uC815\uD569\uB2C8\uB2E4."},recurringSection:{header:"\uBC18\uBCF5 \uC791\uC5C5",description:"\uBC18\uBCF5 \uC791\uC5C5 \uAD00\uB9AC \uB3D9\uC791\uC744 \uC124\uC815\uD569\uB2C8\uB2E4."},debugLogging:{header:"\uB514\uBC84\uADF8 \uB85C\uAE45",description:"\uBB38\uC81C \uD574\uACB0\uC744 \uC704\uD574 \uB514\uBC84\uADF8 \uB85C\uADF8 \uCD9C\uB825\uC744 \uAD6C\uC131\uD569\uB2C8\uB2E4.",enableName:"\uB514\uBC84\uADF8 \uB85C\uADF8 \uC0AC\uC6A9",enableDesc:"\uB4DC\uB798\uADF8 \uC564 \uB4DC\uB86D \uBC0F \uBCF4\uAE30 \uC9C4\uB2E8\uC758 \uC790\uC138\uD55C \uB0B4\uC6A9\uC744 \uAC1C\uBC1C\uC790 \uCF58\uC194\uC5D0 \uAE30\uB85D\uD569\uB2C8\uB2E4. \uBB38\uC81C \uD574\uACB0\uC5D0 \uC720\uC6A9\uD569\uB2C8\uB2E4."}},defaults:{header:{basicDefaults:"\uAE30\uBCF8 \uAE30\uBCF8\uAC12",dateDefaults:"\uB0A0\uC9DC \uAE30\uBCF8\uAC12",defaultReminders:"\uAE30\uBCF8 \uB9AC\uB9C8\uC778\uB354",bodyTemplate:"\uBCF8\uBB38 \uD15C\uD50C\uB9BF",instantTaskConversion:"\uC989\uC2DC \uC791\uC5C5 \uBCC0\uD658"},description:{basicDefaults:"\uC0C8 \uC791\uC5C5\uC758 \uAE30\uBCF8\uAC12\uC744 \uC124\uC815\uD558\uC5EC \uC791\uC5C5 \uC0DD\uC131 \uC18D\uB3C4\uB97C \uB192\uC785\uB2C8\uB2E4.",dateDefaults:"\uC0C8 \uC791\uC5C5\uC758 \uAE30\uBCF8 \uB9C8\uAC10\uC77C \uBC0F \uC608\uC815\uC77C\uC744 \uC124\uC815\uD569\uB2C8\uB2E4.",defaultReminders:"\uC0C8 \uC791\uC5C5\uC5D0 \uCD94\uAC00\uB420 \uAE30\uBCF8 \uB9AC\uB9C8\uC778\uB354\uB97C \uC124\uC815\uD569\uB2C8\uB2E4.",bodyTemplate:"\uC0C8 \uC791\uC5C5 \uCF58\uD150\uCE20\uC5D0 \uC0AC\uC6A9\uD560 \uD15C\uD50C\uB9BF \uD30C\uC77C\uC744 \uC124\uC815\uD569\uB2C8\uB2E4.",instantTaskConversion:"\uD14D\uC2A4\uD2B8\uB97C \uC791\uC5C5\uC73C\uB85C \uC989\uC2DC \uBCC0\uD658\uD560 \uB54C\uC758 \uB3D9\uC791\uC744 \uC124\uC815\uD569\uB2C8\uB2E4."},basicDefaults:{defaultStatus:{name:"\uAE30\uBCF8 \uC0C1\uD0DC",description:"\uC0C8 \uC791\uC5C5\uC758 \uAE30\uBCF8 \uC0C1\uD0DC"},defaultPriority:{name:"\uAE30\uBCF8 \uC6B0\uC120\uC21C\uC704",description:"\uC0C8 \uC791\uC5C5\uC758 \uAE30\uBCF8 \uC6B0\uC120\uC21C\uC704"},defaultContexts:{name:"\uAE30\uBCF8 \uCEE8\uD14D\uC2A4\uD2B8",description:"\uC27C\uD45C\uB85C \uAD6C\uBD84\uB41C \uAE30\uBCF8 \uCEE8\uD14D\uC2A4\uD2B8 \uBAA9\uB85D (\uC608: @home, @work)",placeholder:"@\uC9D1, @\uC9C1\uC7A5"},defaultTags:{name:"\uAE30\uBCF8 \uD0DC\uADF8",description:"# \uC5C6\uC774 \uC27C\uD45C\uB85C \uAD6C\uBD84\uB41C \uAE30\uBCF8 \uD0DC\uADF8 \uBAA9\uB85D",placeholder:"\uC911\uC694, \uAE34\uAE09"},defaultProjects:{name:"\uAE30\uBCF8 \uD504\uB85C\uC81D\uD2B8",description:"\uC0C8 \uC791\uC5C5\uC758 \uAE30\uBCF8 \uD504\uB85C\uC81D\uD2B8 \uB9C1\uD06C",selectButton:"\uD504\uB85C\uC81D\uD2B8 \uC120\uD0DD",selectTooltip:"\uAE30\uBCF8\uC73C\uB85C \uC5F0\uACB0\uD560 \uD504\uB85C\uC81D\uD2B8 \uB178\uD2B8 \uC120\uD0DD",removeTooltip:"\uAE30\uBCF8 \uD504\uB85C\uC81D\uD2B8\uC5D0\uC11C {name} \uC81C\uAC70"},useParentNoteAsProject:{name:"\uC989\uC2DC \uBCC0\uD658 \uC2DC \uC0C1\uC704 \uB178\uD2B8\uB97C \uD504\uB85C\uC81D\uD2B8\uB85C \uC0AC\uC6A9",description:"\uC989\uC2DC \uC791\uC5C5 \uBCC0\uD658 \uC0AC\uC6A9 \uC2DC \uC0C1\uC704 \uB178\uD2B8\uB97C \uD504\uB85C\uC81D\uD2B8\uB85C \uC790\uB3D9 \uC5F0\uACB0"},defaultTimeEstimate:{name:"\uAE30\uBCF8 \uC2DC\uAC04 \uC608\uC0C1",description:"\uAE30\uBCF8 \uC2DC\uAC04 \uC608\uC0C1 (\uBD84 \uB2E8\uC704, 0 = \uAE30\uBCF8\uAC12 \uC5C6\uC74C)",placeholder:"60"},defaultRecurrence:{name:"\uAE30\uBCF8 \uBC18\uBCF5",description:"\uC0C8 \uC791\uC5C5\uC758 \uAE30\uBCF8 \uBC18\uBCF5 \uD328\uD134"}},dateDefaults:{defaultDueDate:{name:"\uAE30\uBCF8 \uB9C8\uAC10\uC77C",description:"\uC0C8 \uC791\uC5C5\uC758 \uAE30\uBCF8 \uB9C8\uAC10\uC77C"},defaultScheduledDate:{name:"\uAE30\uBCF8 \uC608\uC815\uC77C",description:"\uC0C8 \uC791\uC5C5\uC758 \uAE30\uBCF8 \uC608\uC815\uC77C"}},reminders:{addReminder:{name:"\uAE30\uBCF8 \uB9AC\uB9C8\uC778\uB354 \uCD94\uAC00",description:"\uBAA8\uB4E0 \uC0C8 \uC791\uC5C5\uC5D0 \uCD94\uAC00\uB420 \uC0C8 \uAE30\uBCF8 \uB9AC\uB9C8\uC778\uB354 \uB9CC\uB4E4\uAE30",buttonText:"\uB9AC\uB9C8\uC778\uB354 \uCD94\uAC00"},emptyState:"\uAE30\uBCF8 \uB9AC\uB9C8\uC778\uB354\uAC00 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uB9AC\uB9C8\uC778\uB354\uB97C \uCD94\uAC00\uD558\uC5EC \uC0C8 \uC791\uC5C5\uC5D0 \uB300\uD574 \uC790\uB3D9\uC73C\uB85C \uC54C\uB9BC\uC744 \uBC1B\uC73C\uC138\uC694.",emptyStateButton:"\uB9AC\uB9C8\uC778\uB354 \uCD94\uAC00",reminderDescription:"\uB9AC\uB9C8\uC778\uB354 \uC124\uBA85",unnamedReminder:"\uC774\uB984 \uC5C6\uB294 \uB9AC\uB9C8\uC778\uB354",deleteTooltip:"\uB9AC\uB9C8\uC778\uB354 \uC0AD\uC81C",fields:{description:"\uC124\uBA85:",type:"\uC720\uD615:",offset:"\uC624\uD504\uC14B:",unit:"\uB2E8\uC704:",direction:"\uBC29\uD5A5:",relatedTo:"\uAE30\uC900:",date:"\uB0A0\uC9DC:",time:"\uC2DC\uAC04:"},types:{relative:"\uC0C1\uB300\uC801 (\uC791\uC5C5 \uB0A0\uC9DC \uAE30\uC900 \uC804/\uD6C4)",absolute:"\uC808\uB300\uC801 (\uD2B9\uC815 \uB0A0\uC9DC/\uC2DC\uAC04)"},units:{minutes:"\uBD84",hours:"\uC2DC\uAC04",days:"\uC77C"},directions:{before:"\uC804",after:"\uD6C4"},relatedTo:{due:"\uB9C8\uAC10\uC77C",scheduled:"\uC608\uC815\uC77C"}},bodyTemplate:{useBodyTemplate:{name:"\uBCF8\uBB38 \uD15C\uD50C\uB9BF \uC0AC\uC6A9",description:"\uC791\uC5C5 \uBCF8\uBB38 \uCF58\uD150\uCE20\uC5D0 \uD15C\uD50C\uB9BF \uD30C\uC77C \uC0AC\uC6A9"},bodyTemplateFile:{name:"\uBCF8\uBB38 \uD15C\uD50C\uB9BF \uD30C\uC77C",description:"\uC791\uC5C5 \uBCF8\uBB38 \uCF58\uD150\uCE20\uC6A9 \uD15C\uD50C\uB9BF \uD30C\uC77C \uACBD\uB85C. {{title}}, {{date}}, {{time}}, {{priority}}, {{status}} \uB4F1\uC758 \uD15C\uD50C\uB9BF \uBCC0\uC218\uB97C \uC9C0\uC6D0\uD569\uB2C8\uB2E4.",placeholder:"\uD15C\uD50C\uB9BF/\uC791\uC5C5 \uD15C\uD50C\uB9BF.md",ariaLabel:"\uBCF8\uBB38 \uD15C\uD50C\uB9BF \uD30C\uC77C \uACBD\uB85C"},variablesHeader:"\uD15C\uD50C\uB9BF \uBCC0\uC218:",variables:{title:"{{title}} - \uC791\uC5C5 \uC81C\uBAA9",details:"{{details}} - \uBAA8\uB2EC\uC5D0\uC11C \uC0AC\uC6A9\uC790\uAC00 \uC81C\uACF5\uD55C \uC138\uBD80\uC815\uBCF4",date:"{{date}} - \uD604\uC7AC \uB0A0\uC9DC (YYYY-MM-DD)",time:"{{time}} - \uD604\uC7AC \uC2DC\uAC04 (HH:MM)",priority:"{{priority}} - \uC791\uC5C5 \uC6B0\uC120\uC21C\uC704",status:"{{status}} - \uC791\uC5C5 \uC0C1\uD0DC",contexts:"{{contexts}} - \uC791\uC5C5 \uCEE8\uD14D\uC2A4\uD2B8",tags:"{{tags}} - \uC791\uC5C5 \uD0DC\uADF8",projects:"{{projects}} - \uC791\uC5C5 \uD504\uB85C\uC81D\uD2B8"}},instantConversion:{useDefaultsOnInstantConvert:{name:"\uC989\uC2DC \uBCC0\uD658 \uC2DC \uC791\uC5C5 \uAE30\uBCF8\uAC12 \uC0AC\uC6A9",description:"\uD14D\uC2A4\uD2B8\uB97C \uC791\uC5C5\uC73C\uB85C \uC989\uC2DC \uBCC0\uD658\uD560 \uB54C \uAE30\uBCF8 \uC791\uC5C5 \uC124\uC815 \uC801\uC6A9"}},options:{noDefault:"\uAE30\uBCF8\uAC12 \uC5C6\uC74C",none:"\uC5C6\uC74C",today:"\uC624\uB298",tomorrow:"\uB0B4\uC77C",nextWeek:"\uB2E4\uC74C \uC8FC",daily:"\uB9E4\uC77C",weekly:"\uB9E4\uC8FC",monthly:"\uB9E4\uC6D4",yearly:"\uB9E4\uB144"}},general:{taskStorage:{header:"\uC791\uC5C5 \uC800\uC7A5\uC18C",description:"\uC791\uC5C5\uC774 \uC800\uC7A5\uB418\uB294 \uC704\uCE58\uC640 \uC2DD\uBCC4 \uBC29\uBC95\uC744 \uC124\uC815\uD569\uB2C8\uB2E4.",defaultFolder:{name:"\uAE30\uBCF8 \uC791\uC5C5 \uD3F4\uB354",description:"\uC0C8 \uC791\uC5C5\uC758 \uAE30\uBCF8 \uC704\uCE58"},moveArchived:{name:"\uBCF4\uAD00\uB41C \uC791\uC5C5\uC744 \uD3F4\uB354\uB85C \uC774\uB3D9",description:"\uBCF4\uAD00\uB41C \uC791\uC5C5\uC744 \uBCF4\uAD00 \uD3F4\uB354\uB85C \uC790\uB3D9 \uC774\uB3D9"},archiveFolder:{name:"\uBCF4\uAD00 \uD3F4\uB354",description:"\uBCF4\uAD00 \uC2DC \uC791\uC5C5\uC744 \uC774\uB3D9\uD560 \uD3F4\uB354. {{year}}, {{month}}, {{priority}} \uB4F1\uC758 \uD15C\uD50C\uB9BF \uBCC0\uC218\uB97C \uC9C0\uC6D0\uD569\uB2C8\uB2E4."}},taskIdentification:{header:"\uC791\uC5C5 \uC2DD\uBCC4",description:"TaskNotes\uAC00 \uB178\uD2B8\uB97C \uC791\uC5C5\uC73C\uB85C \uC2DD\uBCC4\uD558\uB294 \uBC29\uBC95\uC744 \uC120\uD0DD\uD569\uB2C8\uB2E4.",identifyBy:{name:"\uC791\uC5C5 \uC2DD\uBCC4 \uAE30\uC900",description:"\uD0DC\uADF8 \uB610\uB294 \uD504\uB860\uD2B8\uB9E4\uD130 \uC18D\uC131\uC73C\uB85C \uC791\uC5C5\uC744 \uC2DD\uBCC4\uD560\uC9C0 \uC120\uD0DD",options:{tag:"\uD0DC\uADF8",property:"\uC18D\uC131"}},taskTag:{name:"\uC791\uC5C5 \uD0DC\uADF8",description:"\uB178\uD2B8\uB97C \uC791\uC5C5\uC73C\uB85C \uC2DD\uBCC4\uD558\uB294 \uD0DC\uADF8 (# \uC81C\uC678)"},hideIdentifyingTags:{name:"\uC791\uC5C5 \uCE74\uB4DC\uC5D0\uC11C \uC2DD\uBCC4 \uD0DC\uADF8 \uC228\uAE30\uAE30",description:"\uD65C\uC131\uD654\uD558\uBA74 \uC791\uC5C5 \uC2DD\uBCC4 \uD0DC\uADF8\uC640 \uC77C\uCE58\uD558\uB294 \uD0DC\uADF8 (\uC608: 'task/project' \uAC19\uC740 \uACC4\uCE35\uC801 \uD0DC\uADF8 \uD3EC\uD568)\uAC00 \uC791\uC5C5 \uCE74\uB4DC\uC5D0\uC11C \uC228\uACA8\uC9D1\uB2C8\uB2E4"},taskProperty:{name:"\uC791\uC5C5 \uC18D\uC131 \uC774\uB984",description:'\uD504\uB860\uD2B8\uB9E4\uD130 \uC18D\uC131 \uC774\uB984 (\uC608: "category")'},taskPropertyValue:{name:"\uC791\uC5C5 \uC18D\uC131 \uAC12",description:'\uB178\uD2B8\uB97C \uC791\uC5C5\uC73C\uB85C \uC2DD\uBCC4\uD558\uB294 \uAC12 (\uC608: "task")'}},folderManagement:{header:"\uD3F4\uB354 \uAD00\uB9AC",excludedFolders:{name:"\uC81C\uC678 \uD3F4\uB354",description:"\uC791\uC5C5 \uC778\uB371\uC2F1 \uBC0F \uD504\uB85C\uC81D\uD2B8 \uC81C\uC548\uC5D0\uC11C \uC81C\uC678\uD560 \uD3F4\uB354 (\uC27C\uD45C\uB85C \uAD6C\uBD84)"}},frontmatter:{header:"\uD504\uB860\uD2B8\uB9E4\uD130",description:"\uD504\uB860\uD2B8\uB9E4\uD130 \uC18D\uC131\uC5D0\uC11C \uB9C1\uD06C \uD615\uC2DD\uC744 \uC124\uC815\uD569\uB2C8\uB2E4.",useMarkdownLinks:{name:"\uD504\uB860\uD2B8\uB9E4\uD130\uC5D0\uC11C \uB9C8\uD06C\uB2E4\uC6B4 \uB9C1\uD06C \uC0AC\uC6A9",description:`\uD504\uB860\uD2B8\uB9E4\uD130 \uC18D\uC131\uC5D0\uC11C \uC704\uD0A4\uB9C1\uD06C ([[link]]) \uB300\uC2E0 \uB9C8\uD06C\uB2E4\uC6B4 \uB9C1\uD06C ([text](path)) \uC0DD\uC131.
\u26A0\uFE0F \uC62C\uBC14\uB974\uAC8C \uC791\uB3D9\uD558\uB824\uBA74 'obsidian-frontmatter-markdown-links' \uD50C\uB7EC\uADF8\uC778\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.`}},taskInteraction:{header:"\uC791\uC5C5 \uC0C1\uD638\uC791\uC6A9",description:"\uC791\uC5C5 \uD074\uB9AD \uB3D9\uC791\uC744 \uC124\uC815\uD569\uB2C8\uB2E4.",singleClick:{name:"\uB2E8\uC77C \uD074\uB9AD \uB3D9\uC791",description:"\uC791\uC5C5 \uCE74\uB4DC\uB97C \uD55C \uBC88 \uD074\uB9AD\uD588\uC744 \uB54C \uC218\uD589\uD560 \uB3D9\uC791"},doubleClick:{name:"\uB354\uBE14 \uD074\uB9AD \uB3D9\uC791",description:"\uC791\uC5C5 \uCE74\uB4DC\uB97C \uB450 \uBC88 \uD074\uB9AD\uD588\uC744 \uB54C \uC218\uD589\uD560 \uB3D9\uC791"},actions:{edit:"\uC791\uC5C5 \uD3B8\uC9D1",openNote:"\uB178\uD2B8 \uC5F4\uAE30",none:"\uB3D9\uC791 \uC5C6\uC74C"}},releaseNotes:{header:"\uB9B4\uB9AC\uC2A4 \uB178\uD2B8",description:"\uD604\uC7AC \uBC84\uC804: {version}",showOnUpdate:{name:"\uC5C5\uB370\uC774\uD2B8 \uD6C4 \uB9B4\uB9AC\uC2A4 \uB178\uD2B8 \uD45C\uC2DC",description:"TaskNotes\uAC00 \uC0C8 \uBC84\uC804\uC73C\uB85C \uC5C5\uB370\uC774\uD2B8\uB418\uBA74 \uC790\uB3D9\uC73C\uB85C \uB9B4\uB9AC\uC2A4 \uB178\uD2B8 \uC5F4\uAE30"},viewButton:{name:"\uB9B4\uB9AC\uC2A4 \uB178\uD2B8 \uBCF4\uAE30",description:"\uCD5C\uC2E0 \uBC84\uC804\uC758 TaskNotes\uC5D0\uC11C \uC0C8\uB85C\uC6B4 \uAE30\uB2A5 \uD655\uC778",buttonText:"\uB9B4\uB9AC\uC2A4 \uB178\uD2B8 \uBCF4\uAE30"}}},taskProperties:{sections:{coreProperties:"\uD575\uC2EC \uC18D\uC131",corePropertiesDesc:"\uC0C1\uD0DC\uC640 \uC6B0\uC120\uC21C\uC704\uB294 \uC791\uC5C5\uC758 \uC0C1\uD0DC\uC640 \uC911\uC694\uB3C4\uB97C \uC815\uC758\uD558\uB294 \uD575\uC2EC \uC18D\uC131\uC785\uB2C8\uB2E4.",dateProperties:"\uB0A0\uC9DC \uC18D\uC131",datePropertiesDesc:"\uC791\uC5C5\uC758 \uB9C8\uAC10\uC77C\uACFC \uC608\uC815\uC77C\uC744 \uC124\uC815\uD569\uB2C8\uB2E4.",organizationProperties:"\uC870\uC9C1 \uC18D\uC131",organizationPropertiesDesc:"\uCEE8\uD14D\uC2A4\uD2B8, \uD504\uB85C\uC81D\uD2B8, \uD0DC\uADF8\uB85C \uC791\uC5C5\uC744 \uC815\uB9AC\uD569\uB2C8\uB2E4.",taskDetails:"\uC791\uC5C5 \uC138\uBD80\uC815\uBCF4",taskDetailsDesc:"\uC2DC\uAC04 \uC608\uC0C1, \uBC18\uBCF5, \uB9AC\uB9C8\uC778\uB354 \uB4F1 \uCD94\uAC00 \uC138\uBD80\uC815\uBCF4.",metadataProperties:"\uBA54\uD0C0\uB370\uC774\uD130 \uC18D\uC131",metadataPropertiesDesc:"\uC791\uC5C5 \uAE30\uB85D\uC744 \uCD94\uC801\uD558\uAE30 \uC704\uD55C \uC2DC\uC2A4\uD15C \uAD00\uB9AC \uC18D\uC131.",featureProperties:"\uAE30\uB2A5 \uC18D\uC131",featurePropertiesDesc:"\uBF40\uBAA8\uB3C4\uB85C \uD0C0\uC774\uBA38 \uBC0F \uCE98\uB9B0\uB354 \uB3D9\uAE30\uD654 \uAC19\uC740 \uD2B9\uC815 TaskNotes \uAE30\uB2A5\uC5D0\uC11C \uC0AC\uC6A9\uD558\uB294 \uC18D\uC131."},propertyCard:{propertyKey:"\uC18D\uC131 \uD0A4:",default:"\uAE30\uBCF8\uAC12:",nlpTrigger:"NLP \uD2B8\uB9AC\uAC70:",triggerChar:"\uD2B8\uB9AC\uAC70 \uBB38\uC790:",triggerEmpty:"\uD2B8\uB9AC\uAC70\uB294 \uBE44\uC5B4 \uC788\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",triggerTooLong:"\uD2B8\uB9AC\uAC70\uAC00 \uB108\uBB34 \uAE41\uB2C8\uB2E4 (\uCD5C\uB300 10\uC790)"},properties:{status:{name:"\uC0C1\uD0DC",description:"\uC791\uC5C5\uC758 \uD604\uC7AC \uC0C1\uD0DC\uB97C \uCD94\uC801\uD569\uB2C8\uB2E4 (\uC608: \uD560 \uC77C, \uC9C4\uD589 \uC911, \uC644\uB8CC). \uC0C1\uD0DC\uB294 \uC791\uC5C5\uC774 \uC644\uB8CC\uB85C \uD45C\uC2DC\uB418\uB294\uC9C0 \uC5EC\uBD80\uB97C \uACB0\uC815\uD558\uACE0 \uC790\uB3D9 \uBCF4\uAD00\uC744 \uD2B8\uB9AC\uAC70\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4."},priority:{name:"\uC6B0\uC120\uC21C\uC704",description:"\uC791\uC5C5 \uC911\uC694\uB3C4\uB97C \uB098\uD0C0\uB0C5\uB2C8\uB2E4. \uC815\uB82C \uBC0F \uD544\uD130\uB9C1\uC5D0 \uC0AC\uC6A9\uB429\uB2C8\uB2E4. \uBCA0\uC774\uC2A4 \uBDF0\uC5D0\uC11C \uC54C\uD30C\uBCB3\uC21C\uC73C\uB85C \uC815\uB82C\uB418\uBBC0\uB85C \uC21C\uC11C\uB97C \uC81C\uC5B4\uD558\uB824\uBA74 1-, 2- \uAC19\uC740 \uC811\uB450\uC0AC\uB97C \uC0AC\uC6A9\uD558\uC138\uC694."},due:{name:"\uB9C8\uAC10\uC77C",description:"\uC791\uC5C5\uC744 \uC644\uB8CC\uD574\uC57C \uD558\uB294 \uAE30\uD55C. \uB9C8\uAC10\uC77C\uC774 \uC9C0\uB09C \uC791\uC5C5\uC740 \uC9C0\uC5F0\uC73C\uB85C \uD45C\uC2DC\uB429\uB2C8\uB2E4. \uD504\uB860\uD2B8\uB9E4\uD130\uC5D0 \uB0A0\uC9DC\uB85C \uC800\uC7A5\uB429\uB2C8\uB2E4."},scheduled:{name:"\uC608\uC815\uC77C",description:"\uC791\uC5C5\uC744 \uC218\uD589\uD560 \uACC4\uD68D\uC77C. \uB9C8\uAC10\uC77C\uACFC \uB2EC\uB9AC \uC608\uC815 \uC2DC\uC791 \uC2DC\uAC04\uC744 \uB098\uD0C0\uB0C5\uB2C8\uB2E4. \uC791\uC5C5\uC740 \uC608\uC815 \uB0A0\uC9DC/\uC2DC\uAC04\uC5D0 \uCE98\uB9B0\uB354\uC5D0 \uD45C\uC2DC\uB429\uB2C8\uB2E4."},contexts:{name:"\uCEE8\uD14D\uC2A4\uD2B8",description:"\uC791\uC5C5\uC744 \uC218\uD589\uD560 \uC218 \uC788\uB294 \uC704\uCE58\uB098 \uC870\uAC74 (\uC608: @home, @office, @phone). \uD604\uC7AC \uC0C1\uD669\uC5D0 \uB530\uB77C \uC791\uC5C5\uC744 \uD544\uD130\uB9C1\uD558\uB294 \uB370 \uC720\uC6A9\uD569\uB2C8\uB2E4. \uBAA9\uB85D\uC73C\uB85C \uC800\uC7A5\uB429\uB2C8\uB2E4."},projects:{name:"\uD504\uB85C\uC81D\uD2B8",description:"\uC774 \uC791\uC5C5\uC774 \uC18D\uD55C \uD504\uB85C\uC81D\uD2B8 \uB178\uD2B8 \uB9C1\uD06C. \uC704\uD0A4\uB9C1\uD06C\uB85C \uC800\uC7A5\uB429\uB2C8\uB2E4 (\uC608: [[\uD504\uB85C\uC81D\uD2B8 \uC774\uB984]]). \uC791\uC5C5\uC740 \uC5EC\uB7EC \uD504\uB85C\uC81D\uD2B8\uC5D0 \uC18D\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4."},tags:{name:"\uD0DC\uADF8",description:"\uC791\uC5C5 \uBD84\uB958\uB97C \uC704\uD55C \uAE30\uBCF8 Obsidian \uD0DC\uADF8. tags \uD504\uB860\uD2B8\uB9E4\uD130 \uC18D\uC131\uC5D0 \uC800\uC7A5\uB418\uBA70 Obsidian\uC758 \uD0DC\uADF8 \uAE30\uB2A5\uACFC \uD568\uAED8 \uC791\uB3D9\uD569\uB2C8\uB2E4."},timeEstimate:{name:"\uC2DC\uAC04 \uC608\uC0C1",description:"\uC791\uC5C5\uC744 \uC644\uB8CC\uD558\uB294 \uB370 \uC608\uC0C1\uB418\uB294 \uC2DC\uAC04 (\uBD84). \uD0C0\uC784\uBE14\uB85C\uD0B9 \uBC0F \uC791\uC5C5\uB7C9 \uACC4\uD68D\uC5D0 \uC0AC\uC6A9\uB429\uB2C8\uB2E4. \uC791\uC5C5 \uCE74\uB4DC\uC640 \uCE98\uB9B0\uB354 \uC774\uBCA4\uD2B8\uC5D0 \uD45C\uC2DC\uB429\uB2C8\uB2E4."},recurrence:{name:"\uBC18\uBCF5",description:"\uBC18\uBCF5 \uC791\uC5C5 \uD328\uD134 (\uB9E4\uC77C, \uB9E4\uC8FC, \uB9E4\uC6D4, \uB9E4\uB144 \uB610\uB294 \uC0AC\uC6A9\uC790 \uC9C0\uC815 RRULE). \uBC18\uBCF5 \uC791\uC5C5\uC774 \uC644\uB8CC\uB418\uBA74 \uC608\uC815\uC77C\uC774 \uC790\uB3D9\uC73C\uB85C \uB2E4\uC74C \uBC1C\uC0DD\uC73C\uB85C \uC5C5\uB370\uC774\uD2B8\uB429\uB2C8\uB2E4."},recurrenceAnchor:{name:"\uBC18\uBCF5 \uAE30\uC900",description:"\uB2E4\uC74C \uBC1C\uC0DD \uACC4\uC0B0 \uBC29\uBC95\uC744 \uC81C\uC5B4\uD569\uB2C8\uB2E4: 'scheduled'\uB294 \uC608\uC815\uC77C\uC744, 'completion'\uC740 \uC2E4\uC81C \uC644\uB8CC\uC77C\uC744 \uC0AC\uC6A9\uD569\uB2C8\uB2E4."},reminders:{name:"\uB9AC\uB9C8\uC778\uB354",description:"\uB9C8\uAC10\uC77C \uB610\uB294 \uC608\uC815\uC77C \uC804\uC5D0 \uD2B8\uB9AC\uAC70\uB418\uB294 \uC54C\uB9BC. \uD0C0\uC774\uBC0D\uACFC \uC120\uD0DD\uC801 \uC124\uBA85\uC774 \uD3EC\uD568\uB41C \uB9AC\uB9C8\uC778\uB354 \uAC1D\uCCB4 \uBAA9\uB85D\uC73C\uB85C \uC800\uC7A5\uB429\uB2C8\uB2E4."},title:{name:"\uC81C\uBAA9",description:"\uC791\uC5C5 \uC774\uB984. \uD504\uB860\uD2B8\uB9E4\uD130 \uB610\uB294 \uD30C\uC77C\uBA85\uC5D0 \uC800\uC7A5\uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4 ('\uD30C\uC77C\uBA85\uC5D0 \uC81C\uBAA9 \uC800\uC7A5'\uC774 \uD65C\uC131\uD654\uB41C \uACBD\uC6B0)."},dateCreated:{name:"\uC0DD\uC131\uC77C",description:"\uC791\uC5C5\uC774 \uCC98\uC74C \uC0DD\uC131\uB41C \uD0C0\uC784\uC2A4\uD0EC\uD504. \uC790\uB3D9\uC73C\uB85C \uC124\uC815\uB418\uBA70 \uC0DD\uC131 \uC21C\uC11C\uB85C \uC815\uB82C\uD558\uB294 \uB370 \uC0AC\uC6A9\uB429\uB2C8\uB2E4."},dateModified:{name:"\uC218\uC815\uC77C",description:"\uC791\uC5C5\uC758 \uB9C8\uC9C0\uB9C9 \uBCC0\uACBD \uD0C0\uC784\uC2A4\uD0EC\uD504. \uC791\uC5C5 \uC18D\uC131\uC774 \uBCC0\uACBD\uB418\uBA74 \uC790\uB3D9\uC73C\uB85C \uC5C5\uB370\uC774\uD2B8\uB429\uB2C8\uB2E4."},completedDate:{name:"\uC644\uB8CC\uC77C",description:"\uC791\uC5C5\uC774 \uC644\uB8CC\uB85C \uD45C\uC2DC\uB41C \uD0C0\uC784\uC2A4\uD0EC\uD504. \uC0C1\uD0DC\uAC00 \uC644\uB8CC \uC0C1\uD0DC\uB85C \uBCC0\uACBD\uB418\uBA74 \uC790\uB3D9\uC73C\uB85C \uC124\uC815\uB429\uB2C8\uB2E4."},archiveTag:{name:"\uBCF4\uAD00 \uD0DC\uADF8",description:"\uC791\uC5C5\uC774 \uBCF4\uAD00\uB420 \uB54C \uCD94\uAC00\uB418\uB294 \uD0DC\uADF8. \uBCF4\uAD00\uB41C \uC791\uC5C5\uC744 \uC2DD\uBCC4\uD558\uB294 \uB370 \uC0AC\uC6A9\uB418\uBA70 \uD30C\uC77C\uC744 \uBCF4\uAD00 \uD3F4\uB354\uB85C \uC774\uB3D9\uD558\uB3C4\uB85D \uD2B8\uB9AC\uAC70\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4."},timeEntries:{name:"\uC2DC\uAC04 \uAE30\uB85D",description:"\uC774 \uC791\uC5C5\uC5D0 \uB300\uD55C \uC2DC\uAC04 \uCD94\uC801 \uC138\uC158 \uAE30\uB85D. \uAC01 \uAE30\uB85D\uC740 \uC2DC\uC791 \uBC0F \uC885\uB8CC \uD0C0\uC784\uC2A4\uD0EC\uD504\uB97C \uC800\uC7A5\uD569\uB2C8\uB2E4. \uCD1D \uC18C\uC694 \uC2DC\uAC04\uC744 \uACC4\uC0B0\uD558\uB294 \uB370 \uC0AC\uC6A9\uB429\uB2C8\uB2E4."},completeInstances:{name:"\uC644\uB8CC \uC778\uC2A4\uD134\uC2A4",description:"\uBC18\uBCF5 \uC791\uC5C5\uC758 \uC644\uB8CC \uAE30\uB85D. \uAC01 \uC778\uC2A4\uD134\uC2A4\uAC00 \uC644\uB8CC\uB41C \uB0A0\uC9DC\uB97C \uC800\uC7A5\uD558\uC5EC \uC911\uBCF5 \uC644\uB8CC\uB97C \uBC29\uC9C0\uD569\uB2C8\uB2E4."},skippedInstances:{name:"\uAC74\uB108\uB6F4 \uC778\uC2A4\uD134\uC2A4",description:"\uBC18\uBCF5 \uC791\uC5C5\uC758 \uAC74\uB108\uB6F4 \uBC1C\uC0DD. \uC644\uB8CC \uB300\uC2E0 \uAC74\uB108\uB6F4 \uC778\uC2A4\uD134\uC2A4\uC758 \uB0A0\uC9DC\uB97C \uC800\uC7A5\uD569\uB2C8\uB2E4."},blockedBy:{name:"\uCC28\uB2E8 \uC6D0\uC778",description:"\uC774 \uC791\uC5C5 \uC804\uC5D0 \uC644\uB8CC\uD574\uC57C \uD558\uB294 \uC791\uC5C5 \uB9C1\uD06C. \uC704\uD0A4\uB9C1\uD06C\uB85C \uC800\uC7A5\uB429\uB2C8\uB2E4. \uCC28\uB2E8\uB41C \uC791\uC5C5\uC740 \uC2DC\uAC01\uC801 \uD45C\uC2DC\uAE30\uB97C \uD45C\uC2DC\uD569\uB2C8\uB2E4."},sortOrder:{name:"\uC218\uB3D9 \uC21C\uC11C",description:"\uB4DC\uB798\uADF8 \uC564 \uB4DC\uB86D\uC73C\uB85C \uC7AC\uC815\uB82C\uD560 \uB54C \uC0AC\uC6A9\uB418\uB294 frontmatter \uC18D\uC131\uC785\uB2C8\uB2E4. \uBDF0\uB294 \uC774 \uC18D\uC131\uC73C\uB85C \uC815\uB82C\uB418\uC5B4 \uC788\uC5B4\uC57C \uC7AC\uC815\uB82C\uC774 \uC791\uB3D9\uD569\uB2C8\uB2E4."},pomodoros:{name:"\uBF40\uBAA8\uB3C4\uB85C",description:"\uC644\uB8CC\uB41C \uBF40\uBAA8\uB3C4\uB85C \uC138\uC158 \uC218. \uB370\uC774\uD130 \uC800\uC7A5\uC774 '\uB370\uC77C\uB9AC \uB178\uD2B8'\uB85C \uC124\uC815\uB418\uBA74 \uC791\uC5C5 \uD30C\uC77C \uB300\uC2E0 \uB370\uC77C\uB9AC \uB178\uD2B8\uC5D0 \uAE30\uB85D\uB429\uB2C8\uB2E4."},icsEventId:{name:"ICS \uC774\uBCA4\uD2B8 ID",description:"\uB178\uD2B8\uB97C ICS \uCE98\uB9B0\uB354 \uC774\uBCA4\uD2B8\uC5D0 \uC5F0\uACB0\uD558\uB294 \uACE0\uC720 \uC2DD\uBCC4\uC790. \uCE98\uB9B0\uB354 \uC774\uBCA4\uD2B8\uC5D0\uC11C \uB178\uD2B8\uB97C \uB9CC\uB4E4 \uB54C \uC790\uB3D9\uC73C\uB85C \uCD94\uAC00\uB429\uB2C8\uB2E4."},icsEventTag:{name:"ICS \uC774\uBCA4\uD2B8 \uD0DC\uADF8",description:"ICS \uCE98\uB9B0\uB354 \uC774\uBCA4\uD2B8\uC5D0\uC11C \uC0DD\uC131\uB41C \uB178\uD2B8\uB97C \uC2DD\uBCC4\uD558\uB294 \uD0DC\uADF8. \uCE98\uB9B0\uB354\uC5D0\uC11C \uC0DD\uC131\uB41C \uB178\uD2B8\uB97C \uC77C\uBC18 \uC791\uC5C5\uACFC \uAD6C\uBD84\uD558\uB294 \uB370 \uC0AC\uC6A9\uB429\uB2C8\uB2E4."}},statusCard:{valuesHeader:"\uC0C1\uD0DC \uAC12"},priorityCard:{valuesHeader:"\uC6B0\uC120\uC21C\uC704 \uAC12"},projectsCard:{defaultProjects:"\uAE30\uBCF8 \uD504\uB85C\uC81D\uD2B8:",useParentNote:"\uC0C1\uC704 \uB178\uD2B8\uB97C \uD504\uB85C\uC81D\uD2B8\uB85C \uC0AC\uC6A9:",noDefaultProjects:"\uC120\uD0DD\uB41C \uAE30\uBCF8 \uD504\uB85C\uC81D\uD2B8 \uC5C6\uC74C",autosuggestFilters:"\uC790\uB3D9 \uC81C\uC548 \uD544\uD130",customizeDisplay:"\uD45C\uC2DC \uC0AC\uC6A9\uC790 \uC9C0\uC815",filtersOn:"\uD544\uD130 \uCF1C\uC9D0"},titleCard:{storeTitleInFilename:"\uD30C\uC77C\uBA85\uC5D0 \uC81C\uBAA9 \uC800\uC7A5:",storedInFilename:"\uD30C\uC77C\uBA85\uC5D0 \uC800\uC7A5\uB428",filenameUpdatesWithTitle:"\uC791\uC5C5 \uC81C\uBAA9\uC774 \uBCC0\uACBD\uB418\uBA74 \uD30C\uC77C\uBA85\uC774 \uC790\uB3D9\uC73C\uB85C \uC5C5\uB370\uC774\uD2B8\uB429\uB2C8\uB2E4.",filenameFormat:"\uD30C\uC77C\uBA85 \uD615\uC2DD:",customTemplate:"\uC0AC\uC6A9\uC790 \uC9C0\uC815 \uD15C\uD50C\uB9BF:",legacySyntaxWarning:"{title}\uACFC \uAC19\uC740 \uB2E8\uC77C \uC911\uAD04\uD638 \uAD6C\uBB38\uC740 \uB354 \uC774\uC0C1 \uC0AC\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uBCF8\uBB38 \uD15C\uD50C\uB9BF\uACFC\uC758 \uC77C\uAD00\uC131\uC744 \uC704\uD574 {{title}}\uACFC \uAC19\uC740 \uC774\uC911 \uC911\uAD04\uD638 \uAD6C\uBB38\uC744 \uC0AC\uC6A9\uD558\uC138\uC694."},tagsCard:{nativeObsidianTags:"\uAE30\uBCF8 Obsidian \uD0DC\uADF8 \uC0AC\uC6A9"},remindersCard:{defaultReminders:"\uAE30\uBCF8 \uB9AC\uB9C8\uC778\uB354"},taskStatuses:{header:"\uC791\uC5C5 \uC0C1\uD0DC",description:"\uC791\uC5C5\uC5D0 \uC0AC\uC6A9\uD560 \uC218 \uC788\uB294 \uC0C1\uD0DC \uC635\uC158\uC744 \uC0AC\uC6A9\uC790 \uC9C0\uC815\uD569\uB2C8\uB2E4. \uC774\uB7EC\uD55C \uC0C1\uD0DC\uB294 \uC791\uC5C5 \uC218\uBA85 \uC8FC\uAE30\uB97C \uC81C\uC5B4\uD558\uACE0 \uC791\uC5C5\uC774 \uC644\uB8CC\uB85C \uAC04\uC8FC\uB418\uB294 \uC2DC\uC810\uC744 \uACB0\uC815\uD569\uB2C8\uB2E4.",howTheyWork:{title:"\uC0C1\uD0DC \uC791\uB3D9 \uBC29\uC2DD:",value:'\uAC12: \uC791\uC5C5 \uD30C\uC77C\uC5D0 \uC800\uC7A5\uB418\uB294 \uB0B4\uBD80 \uC2DD\uBCC4\uC790 (\uC608: "in-progress")',label:'\uB808\uC774\uBE14: \uC778\uD130\uD398\uC774\uC2A4\uC5D0 \uD45C\uC2DC\uB418\uB294 \uD45C\uC2DC \uC774\uB984 (\uC608: "\uC9C4\uD589 \uC911")',color:"\uC0C9\uC0C1: \uC0C1\uD0DC \uC810\uACFC \uBC30\uC9C0\uC758 \uC2DC\uAC01\uC801 \uD45C\uC2DC\uAE30 \uC0C9\uC0C1",icon:'\uC544\uC774\uCF58: \uC0C9\uC0C1 \uC810 \uB300\uC2E0 \uD45C\uC2DC\uD560 \uC120\uD0DD\uC801 Lucide \uC544\uC774\uCF58 \uC774\uB984 (\uC608: "check", "circle", "clock"). lucide.dev\uC5D0\uC11C \uC544\uC774\uCF58\uC744 \uCC3E\uC544\uBCF4\uC138\uC694',completed:"\uC644\uB8CC\uB428: \uC120\uD0DD\uD558\uBA74 \uC774 \uC0C1\uD0DC\uC758 \uC791\uC5C5\uC774 \uC644\uB8CC\uB41C \uAC83\uC73C\uB85C \uAC04\uC8FC\uB418\uBA70 \uB2E4\uB974\uAC8C \uD544\uD130\uB9C1\uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4",autoArchive:"\uC790\uB3D9 \uBCF4\uAD00: \uD65C\uC131\uD654\uD558\uBA74 \uC9C0\uC815\uB41C \uC9C0\uC5F0 \uC2DC\uAC04 \uD6C4 \uC791\uC5C5\uC774 \uC790\uB3D9\uC73C\uB85C \uBCF4\uAD00\uB429\uB2C8\uB2E4 (1-1440\uBD84)",orderNote:"\uC544\uB798 \uC21C\uC11C\uB294 \uC791\uC5C5 \uC0C1\uD0DC \uBC30\uC9C0\uB97C \uD074\uB9AD\uD558\uC5EC \uC0C1\uD0DC\uB97C \uC21C\uD658\uD560 \uB54C\uC758 \uC21C\uC11C\uB97C \uACB0\uC815\uD569\uB2C8\uB2E4."},addNew:{name:"\uC0C8 \uC0C1\uD0DC \uCD94\uAC00",description:"\uC791\uC5C5\uC5D0 \uC0C8 \uC0C1\uD0DC \uC635\uC158 \uB9CC\uB4E4\uAE30",buttonText:"\uC0C1\uD0DC \uCD94\uAC00"},validationNote:'\uCC38\uACE0: \uCD5C\uC18C 2\uAC1C\uC758 \uC0C1\uD0DC\uAC00 \uC788\uC5B4\uC57C \uD558\uBA70, \uCD5C\uC18C \uD558\uB098\uC758 \uC0C1\uD0DC\uAC00 "\uC644\uB8CC\uB428"\uC73C\uB85C \uD45C\uC2DC\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.',emptyState:"\uC0AC\uC6A9\uC790 \uC9C0\uC815 \uC0C1\uD0DC\uAC00 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uC0C1\uD0DC\uB97C \uCD94\uAC00\uD558\uC5EC \uC2DC\uC791\uD558\uC138\uC694.",emptyStateButton:"\uC0C1\uD0DC \uCD94\uAC00",fields:{value:"\uAC12:",label:"\uB808\uC774\uBE14:",color:"\uC0C9\uC0C1:",icon:"\uC544\uC774\uCF58:",completed:"\uC644\uB8CC\uB428:",autoArchive:"\uC790\uB3D9 \uBCF4\uAD00:",delayMinutes:"\uC9C0\uC5F0 (\uBD84):"},placeholders:{value:"\uC9C4\uD589\uC911",label:"\uC9C4\uD589 \uC911",icon:"check, circle, clock"},badges:{completed:"\uC644\uB8CC\uB428"},deleteConfirm:'"{label}" \uC0C1\uD0DC\uB97C \uC0AD\uC81C\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?'},taskPriorities:{header:"\uC791\uC5C5 \uC6B0\uC120\uC21C\uC704",description:"\uC791\uC5C5\uC5D0 \uC0AC\uC6A9\uD560 \uC218 \uC788\uB294 \uC6B0\uC120\uC21C\uC704 \uC218\uC900\uC744 \uC0AC\uC6A9\uC790 \uC9C0\uC815\uD569\uB2C8\uB2E4. v4.0+\uC5D0\uC11C\uB294 \uBCA0\uC774\uC2A4 \uBDF0\uC5D0\uC11C \uAC12\uC5D0 \uB530\uB77C \uC54C\uD30C\uBCB3\uC21C\uC73C\uB85C \uC815\uB82C\uB429\uB2C8\uB2E4.",howTheyWork:{title:"\uC6B0\uC120\uC21C\uC704 \uC791\uB3D9 \uBC29\uC2DD:",value:'\uAC12: \uC791\uC5C5 \uD30C\uC77C\uC5D0 \uC800\uC7A5\uB418\uB294 \uB0B4\uBD80 \uC2DD\uBCC4\uC790. \uBCA0\uC774\uC2A4 \uBDF0\uC5D0\uC11C \uC815\uB82C \uC21C\uC11C\uB97C \uC81C\uC5B4\uD558\uB824\uBA74 "1-urgent", "2-high" \uAC19\uC740 \uC811\uB450\uC0AC\uB97C \uC0AC\uC6A9\uD558\uC138\uC694.',label:'\uD45C\uC2DC \uB808\uC774\uBE14: \uC778\uD130\uD398\uC774\uC2A4\uC5D0 \uD45C\uC2DC\uB418\uB294 \uD45C\uC2DC \uC774\uB984 (\uC608: "\uB192\uC740 \uC6B0\uC120\uC21C\uC704")',color:"\uC0C9\uC0C1: \uC6B0\uC120\uC21C\uC704 \uC810\uACFC \uBC30\uC9C0\uC758 \uC2DC\uAC01\uC801 \uD45C\uC2DC\uAE30 \uC0C9\uC0C1"},addNew:{name:"\uC0C8 \uC6B0\uC120\uC21C\uC704 \uCD94\uAC00",description:"\uC791\uC5C5\uC5D0 \uC0C8 \uC6B0\uC120\uC21C\uC704 \uC218\uC900 \uB9CC\uB4E4\uAE30",buttonText:"\uC6B0\uC120\uC21C\uC704 \uCD94\uAC00"},validationNote:"\uCC38\uACE0: \uCD5C\uC18C 1\uAC1C\uC758 \uC6B0\uC120\uC21C\uC704\uAC00 \uC788\uC5B4\uC57C \uD569\uB2C8\uB2E4. \uC6B0\uC120\uC21C\uC704\uB294 \uBCA0\uC774\uC2A4 \uBDF0\uC5D0\uC11C \uAC12\uC5D0 \uB530\uB77C \uC54C\uD30C\uBCB3\uC21C\uC73C\uB85C \uC815\uB82C\uB429\uB2C8\uB2E4.",emptyState:"\uC0AC\uC6A9\uC790 \uC9C0\uC815 \uC6B0\uC120\uC21C\uC704\uAC00 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uC6B0\uC120\uC21C\uC704\uB97C \uCD94\uAC00\uD558\uC5EC \uC2DC\uC791\uD558\uC138\uC694.",emptyStateButton:"\uC6B0\uC120\uC21C\uC704 \uCD94\uAC00",fields:{value:"\uAC12:",label:"\uB808\uC774\uBE14:",color:"\uC0C9\uC0C1:"},placeholders:{value:"\uB192\uC74C",label:"\uB192\uC740 \uC6B0\uC120\uC21C\uC704"},deleteConfirm:"\uCD5C\uC18C \uD558\uB098\uC758 \uC6B0\uC120\uC21C\uC704\uAC00 \uC788\uC5B4\uC57C \uD569\uB2C8\uB2E4",deleteTooltip:"\uC6B0\uC120\uC21C\uC704 \uC0AD\uC81C"},fieldMapping:{header:"\uD544\uB4DC \uB9E4\uD551",warning:"\u26A0\uFE0F \uACBD\uACE0: TaskNotes\uB294 \uC774\uB7EC\uD55C \uC18D\uC131 \uC774\uB984\uC744 \uC0AC\uC6A9\uD558\uC5EC \uC77D\uACE0 \uC501\uB2C8\uB2E4. \uC791\uC5C5\uC744 \uB9CC\uB4E0 \uD6C4 \uC774\uB97C \uBCC0\uACBD\uD558\uBA74 \uBD88\uC77C\uCE58\uAC00 \uBC1C\uC0DD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",description:"TaskNotes\uAC00 \uAC01 \uD544\uB4DC\uC5D0 \uC0AC\uC6A9\uD574\uC57C \uD558\uB294 \uD504\uB860\uD2B8\uB9E4\uD130 \uC18D\uC131\uC744 \uC124\uC815\uD569\uB2C8\uB2E4.",resetButton:{name:"\uD544\uB4DC \uB9E4\uD551 \uCD08\uAE30\uD654",description:"\uBAA8\uB4E0 \uD544\uB4DC \uB9E4\uD551\uC744 \uAE30\uBCF8\uAC12\uC73C\uB85C \uCD08\uAE30\uD654",buttonText:"\uAE30\uBCF8\uAC12\uC73C\uB85C \uCD08\uAE30\uD654"},notices:{resetSuccess:"\uD544\uB4DC \uB9E4\uD551\uC774 \uAE30\uBCF8\uAC12\uC73C\uB85C \uCD08\uAE30\uD654\uB418\uC5C8\uC2B5\uB2C8\uB2E4",resetFailure:"\uD544\uB4DC \uB9E4\uD551 \uCD08\uAE30\uD654 \uC2E4\uD328",updateFailure:"{label}\uC758 \uD544\uB4DC \uB9E4\uD551 \uC5C5\uB370\uC774\uD2B8 \uC2E4\uD328. \uB2E4\uC2DC \uC2DC\uB3C4\uD558\uC138\uC694."},table:{fieldHeader:"TaskNotes \uD544\uB4DC",propertyHeader:"\uC0AC\uC6A9\uC790 \uC18D\uC131 \uC774\uB984"},fields:{title:"\uC81C\uBAA9",status:"\uC0C1\uD0DC",priority:"\uC6B0\uC120\uC21C\uC704",due:"\uB9C8\uAC10\uC77C",scheduled:"\uC608\uC815\uC77C",contexts:"\uCEE8\uD14D\uC2A4\uD2B8",projects:"\uD504\uB85C\uC81D\uD2B8",timeEstimate:"\uC2DC\uAC04 \uC608\uC0C1",recurrence:"\uBC18\uBCF5",dateCreated:"\uC0DD\uC131\uC77C",completedDate:"\uC644\uB8CC\uC77C",dateModified:"\uC218\uC815\uC77C",archiveTag:"\uBCF4\uAD00 \uD0DC\uADF8",timeEntries:"\uC2DC\uAC04 \uAE30\uB85D",completeInstances:"\uC644\uB8CC \uC778\uC2A4\uD134\uC2A4",blockedBy:"\uCC28\uB2E8 \uC6D0\uC778",sortOrder:"\uC218\uB3D9 \uC21C\uC11C",pomodoros:"\uBF40\uBAA8\uB3C4\uB85C",icsEventId:"ICS \uC774\uBCA4\uD2B8 ID",icsEventTag:"ICS \uC774\uBCA4\uD2B8 \uD0DC\uADF8",reminders:"\uB9AC\uB9C8\uC778\uB354"}},customUserFields:{header:"\uC0AC\uC6A9\uC790 \uC9C0\uC815 \uD544\uB4DC",description:"\uBDF0 \uC804\uCCB4\uC5D0\uC11C \uC720\uD615 \uC778\uC2DD \uD544\uD130 \uC635\uC158\uC73C\uB85C \uB098\uD0C0\uB098\uB294 \uC0AC\uC6A9\uC790 \uC9C0\uC815 \uD504\uB860\uD2B8\uB9E4\uD130 \uC18D\uC131\uC744 \uC815\uC758\uD569\uB2C8\uB2E4. \uAC01 \uD589: \uD45C\uC2DC \uC774\uB984, \uC18D\uC131 \uC774\uB984, \uC720\uD615.",addNew:{name:"\uC0C8 \uC0AC\uC6A9\uC790 \uD544\uB4DC \uCD94\uAC00",description:"\uD544\uD130\uC640 \uBDF0\uC5D0 \uB098\uD0C0\uB0A0 \uC0C8 \uC0AC\uC6A9\uC790 \uC9C0\uC815 \uD544\uB4DC \uB9CC\uB4E4\uAE30",buttonText:"\uC0AC\uC6A9\uC790 \uD544\uB4DC \uCD94\uAC00"},emptyState:"\uC0AC\uC6A9\uC790 \uC9C0\uC815 \uD544\uB4DC\uAC00 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uC791\uC5C5\uC5D0 \uC0AC\uC6A9\uC790 \uC9C0\uC815 \uC18D\uC131\uC744 \uB9CC\uB4E4\uB824\uBA74 \uD544\uB4DC\uB97C \uCD94\uAC00\uD558\uC138\uC694.",emptyStateButton:"\uC0AC\uC6A9\uC790 \uD544\uB4DC \uCD94\uAC00",fields:{displayName:"\uD45C\uC2DC \uC774\uB984:",propertyKey:"\uC18D\uC131 \uD0A4:",type:"\uC720\uD615:",defaultValue:"\uAE30\uBCF8\uAC12:"},placeholders:{displayName:"\uD45C\uC2DC \uC774\uB984",propertyKey:"\uC18D\uC131-\uC774\uB984",defaultValue:"\uAE30\uBCF8\uAC12",defaultValueList:"\uAE30\uBCF8\uAC12 (\uC27C\uD45C\uB85C \uAD6C\uBD84)"},types:{text:"\uD14D\uC2A4\uD2B8",number:"\uC22B\uC790",boolean:"\uBD88\uB9AC\uC5B8",date:"\uB0A0\uC9DC",list:"\uBAA9\uB85D"},defaultNames:{unnamedField:"\uC774\uB984 \uC5C6\uB294 \uD544\uB4DC",noKey:"\uD0A4-\uC5C6\uC74C"},deleteTooltip:"\uD544\uB4DC \uC0AD\uC81C",autosuggestFilters:{header:"\uC790\uB3D9 \uC81C\uC548 \uD544\uD130 (\uACE0\uAE09)",description:"\uC774 \uD544\uB4DC\uC758 \uC790\uB3D9 \uC644\uC131 \uC81C\uC548\uC5D0 \uD45C\uC2DC\uB418\uB294 \uD30C\uC77C\uC744 \uD544\uD130\uB9C1"}}},appearance:{taskCards:{header:"\uC791\uC5C5 \uCE74\uB4DC",description:"\uBAA8\uB4E0 \uBDF0\uC5D0\uC11C \uC791\uC5C5 \uCE74\uB4DC\uAC00 \uD45C\uC2DC\uB418\uB294 \uBC29\uC2DD\uC744 \uC124\uC815\uD569\uB2C8\uB2E4.",defaultVisibleProperties:{name:"\uAE30\uBCF8 \uD45C\uC2DC \uC18D\uC131",description:"\uC791\uC5C5 \uCE74\uB4DC\uC5D0 \uAE30\uBCF8\uC73C\uB85C \uD45C\uC2DC\uD560 \uC18D\uC131\uC744 \uC120\uD0DD\uD569\uB2C8\uB2E4."},propertyGroups:{coreProperties:"\uD575\uC2EC \uC18D\uC131",organization:"\uC870\uC9C1",customProperties:"\uC0AC\uC6A9\uC790 \uC9C0\uC815 \uC18D\uC131"},properties:{status:"\uC0C1\uD0DC \uC810",priority:"\uC6B0\uC120\uC21C\uC704 \uC810",due:"\uB9C8\uAC10\uC77C",scheduled:"\uC608\uC815\uC77C",timeEstimate:"\uC2DC\uAC04 \uC608\uC0C1",totalTrackedTime:"\uCD1D \uAE30\uB85D \uC2DC\uAC04",checklistProgress:"\uCCB4\uD06C\uB9AC\uC2A4\uD2B8 \uC9C4\uD589\uB960",recurrence:"\uBC18\uBCF5",completedDate:"\uC644\uB8CC\uC77C",createdDate:"\uC0DD\uC131\uC77C",modifiedDate:"\uC218\uC815\uC77C",projects:"\uD504\uB85C\uC81D\uD2B8",contexts:"\uCEE8\uD14D\uC2A4\uD2B8",tags:"\uD0DC\uADF8",blocked:"\uCC28\uB2E8\uB428",blocking:"\uCC28\uB2E8 \uC911"}},taskFilenames:{header:"\uC791\uC5C5 \uD30C\uC77C\uBA85",description:"\uC0DD\uC131 \uC2DC \uC791\uC5C5 \uD30C\uC77C \uC774\uB984 \uC9C0\uC815 \uBC29\uBC95\uC744 \uC124\uC815\uD569\uB2C8\uB2E4.",storeTitleInFilename:{name:"\uD30C\uC77C\uBA85\uC5D0 \uC81C\uBAA9 \uC800\uC7A5",description:"\uC791\uC5C5 \uC81C\uBAA9\uC744 \uD30C\uC77C\uBA85\uC73C\uB85C \uC0AC\uC6A9. \uC791\uC5C5 \uC81C\uBAA9\uC774 \uBCC0\uACBD\uB418\uBA74 \uD30C\uC77C\uBA85\uC774 \uC5C5\uB370\uC774\uD2B8\uB429\uB2C8\uB2E4 (\uAD8C\uC7A5)."},filenameFormat:{name:"\uD30C\uC77C\uBA85 \uD615\uC2DD",description:"\uC791\uC5C5 \uD30C\uC77C\uBA85 \uC0DD\uC131 \uBC29\uBC95",options:{title:"\uC791\uC5C5 \uC81C\uBAA9 (\uC5C5\uB370\uC774\uD2B8 \uC548 \uB428)",zettel:"Zettelkasten \uD615\uC2DD (YYMMDD + base36 \uC790\uC815 \uC774\uD6C4 \uCD08)",timestamp:"\uC804\uCCB4 \uD0C0\uC784\uC2A4\uD0EC\uD504 (YYYY-MM-DD-HHMMSS)",custom:"\uC0AC\uC6A9\uC790 \uC9C0\uC815 \uD15C\uD50C\uB9BF"}},customTemplate:{name:"\uC0AC\uC6A9\uC790 \uC9C0\uC815 \uD30C\uC77C\uBA85 \uD15C\uD50C\uB9BF",description:"\uC0AC\uC6A9\uC790 \uC9C0\uC815 \uD30C\uC77C\uBA85 \uD15C\uD50C\uB9BF. \uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uBCC0\uC218: {title}, {titleLower}, {date}, {time}, {timestamp}, {zettel}, {priority}, {status}, {dueDate}, {scheduledDate}",placeholder:"{date}-{title}-{dueDate}",helpText:"\uCC38\uACE0: {dueDate}\uC640 {scheduledDate}\uB294 YYYY-MM-DD \uD615\uC2DD\uC774\uBA70 \uC124\uC815\uB418\uC9C0 \uC54A\uC740 \uACBD\uC6B0 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."}},displayFormatting:{header:"\uD45C\uC2DC \uD615\uC2DD",description:"\uD50C\uB7EC\uADF8\uC778 \uC804\uCCB4\uC5D0\uC11C \uB0A0\uC9DC, \uC2DC\uAC04 \uBC0F \uAE30\uD0C0 \uB370\uC774\uD130\uAC00 \uD45C\uC2DC\uB418\uB294 \uBC29\uC2DD\uC744 \uC124\uC815\uD569\uB2C8\uB2E4.",timeFormat:{name:"\uC2DC\uAC04 \uD615\uC2DD",description:"\uD50C\uB7EC\uADF8\uC778 \uC804\uCCB4\uC5D0\uC11C 12\uC2DC\uAC04 \uB610\uB294 24\uC2DC\uAC04 \uD615\uC2DD\uC73C\uB85C \uC2DC\uAC04 \uD45C\uC2DC",options:{twelveHour:"12\uC2DC\uAC04 (\uC624\uC804/\uC624\uD6C4)",twentyFourHour:"24\uC2DC\uAC04"}}},calendarView:{header:"\uCE98\uB9B0\uB354 \uBDF0",description:"\uCE98\uB9B0\uB354 \uBDF0\uC758 \uC678\uAD00\uACFC \uB3D9\uC791\uC744 \uC0AC\uC6A9\uC790 \uC9C0\uC815\uD569\uB2C8\uB2E4.",defaultView:{name:"\uAE30\uBCF8 \uBDF0",description:"\uCE98\uB9B0\uB354 \uD0ED\uC744 \uC5F4 \uB54C \uD45C\uC2DC\uB418\uB294 \uCE98\uB9B0\uB354 \uBDF0",options:{monthGrid:"\uC6D4\uAC04 \uADF8\uB9AC\uB4DC",weekTimeline:"\uC8FC\uAC04 \uD0C0\uC784\uB77C\uC778",dayTimeline:"\uC77C\uAC04 \uD0C0\uC784\uB77C\uC778",yearView:"\uC5F0\uAC04 \uBDF0",customMultiDay:"\uC0AC\uC6A9\uC790 \uC9C0\uC815 \uB2E4\uC77C"}},customDayCount:{name:"\uC0AC\uC6A9\uC790 \uC9C0\uC815 \uBDF0 \uC77C\uC218",description:"\uC0AC\uC6A9\uC790 \uC9C0\uC815 \uB2E4\uC77C \uBDF0\uC5D0 \uD45C\uC2DC\uD560 \uC77C\uC218",placeholder:"3"},firstDayOfWeek:{name:"\uC8FC\uC758 \uCCAB\uC9F8 \uC694\uC77C",description:"\uC8FC\uAC04 \uBDF0\uC5D0\uC11C \uCCAB \uBC88\uC9F8 \uC5F4\uC774 \uB420 \uC694\uC77C"},showWeekends:{name:"\uC8FC\uB9D0 \uD45C\uC2DC",description:"\uCE98\uB9B0\uB354 \uBDF0\uC5D0 \uC8FC\uB9D0 \uD45C\uC2DC"},showWeekNumbers:{name:"\uC8FC \uBC88\uD638 \uD45C\uC2DC",description:"\uCE98\uB9B0\uB354 \uBDF0\uC5D0 \uC8FC \uBC88\uD638 \uD45C\uC2DC"},showTodayHighlight:{name:"\uC624\uB298 \uAC15\uC870 \uD45C\uC2DC",description:"\uCE98\uB9B0\uB354 \uBDF0\uC5D0\uC11C \uD604\uC7AC \uB0A0\uC9DC \uAC15\uC870"},showCurrentTimeIndicator:{name:"\uD604\uC7AC \uC2DC\uAC04 \uD45C\uC2DC\uAE30 \uD45C\uC2DC",description:"\uD0C0\uC784\uB77C\uC778 \uBDF0\uC5D0 \uD604\uC7AC \uC2DC\uAC04\uC744 \uB098\uD0C0\uB0B4\uB294 \uC120 \uD45C\uC2DC"},selectionMirror:{name:"\uC120\uD0DD \uBBF8\uB7EC",description:"\uC2DC\uAC04 \uBC94\uC704\uB97C \uB4DC\uB798\uADF8\uD558\uC5EC \uC120\uD0DD\uD560 \uB54C \uC2DC\uAC01\uC801 \uBBF8\uB9AC\uBCF4\uAE30 \uD45C\uC2DC"},calendarLocale:{name:"\uCE98\uB9B0\uB354 \uB85C\uCF00\uC77C",description:'\uB0A0\uC9DC \uD615\uC2DD \uBC0F \uCE98\uB9B0\uB354 \uC2DC\uC2A4\uD15C\uC744 \uC704\uD55C \uCE98\uB9B0\uB354 \uB85C\uCF00\uC77C (\uC608: "en", "fa" \uD398\uB974\uC2DC\uC544\uC5B4, "de" \uB3C5\uC77C\uC5B4). \uBE0C\uB77C\uC6B0\uC800\uC5D0\uC11C \uC790\uB3D9 \uAC10\uC9C0\uD558\uB824\uBA74 \uBE44\uC6CC\uB450\uC138\uC694.',placeholder:"\uC790\uB3D9 \uAC10\uC9C0",invalidLocale:"\uC798\uBABB\uB41C \uB85C\uCF00\uC77C\uC785\uB2C8\uB2E4. \uC720\uD6A8\uD55C \uC5B8\uC5B4 \uD0DC\uADF8\uB97C \uC785\uB825\uD558\uC138\uC694 (\uC608: 'en', 'de', 'fr-FR')."}},defaultEventVisibility:{header:"\uAE30\uBCF8 \uC774\uBCA4\uD2B8 \uD45C\uC2DC",description:"\uCE98\uB9B0\uB354\uB97C \uC5F4 \uB54C \uAE30\uBCF8\uC73C\uB85C \uD45C\uC2DC\uB418\uB294 \uC774\uBCA4\uD2B8 \uC720\uD615\uC744 \uC124\uC815\uD569\uB2C8\uB2E4. \uC0AC\uC6A9\uC790\uB294 \uCE98\uB9B0\uB354 \uBDF0\uC5D0\uC11C \uC774\uB97C \uCF1C\uACE0 \uB04C \uC218 \uC788\uC2B5\uB2C8\uB2E4.",showScheduledTasks:{name:"\uC608\uC815\uB41C \uC791\uC5C5 \uD45C\uC2DC",description:"\uAE30\uBCF8\uC73C\uB85C \uC608\uC815\uC77C\uC774 \uC788\uB294 \uC791\uC5C5 \uD45C\uC2DC"},showDueDates:{name:"\uB9C8\uAC10\uC77C \uD45C\uC2DC",description:"\uAE30\uBCF8\uC73C\uB85C \uC791\uC5C5 \uB9C8\uAC10\uC77C \uD45C\uC2DC"},showDueWhenScheduled:{name:"\uC608\uC815\uC77C\uC774 \uC788\uC744 \uB54C \uB9C8\uAC10\uC77C \uD45C\uC2DC",description:"\uC774\uBBF8 \uC608\uC815\uC77C\uC774 \uC788\uB294 \uC791\uC5C5\uC758 \uB9C8\uAC10\uC77C\uB3C4 \uD45C\uC2DC"},showTimeEntries:{name:"\uC2DC\uAC04 \uAE30\uB85D \uD45C\uC2DC",description:"\uAE30\uBCF8\uC73C\uB85C \uC644\uB8CC\uB41C \uC2DC\uAC04 \uCD94\uC801 \uAE30\uB85D \uD45C\uC2DC"},showRecurringTasks:{name:"\uBC18\uBCF5 \uC791\uC5C5 \uD45C\uC2DC",description:"\uAE30\uBCF8\uC73C\uB85C \uBC18\uBCF5 \uC791\uC5C5 \uC778\uC2A4\uD134\uC2A4 \uD45C\uC2DC"},showICSEvents:{name:"ICS \uC774\uBCA4\uD2B8 \uD45C\uC2DC",description:"\uAE30\uBCF8\uC73C\uB85C ICS \uAD6C\uB3C5\uC758 \uC774\uBCA4\uD2B8 \uD45C\uC2DC"}},timeSettings:{header:"\uC2DC\uAC04 \uC124\uC815",description:"\uD0C0\uC784\uB77C\uC778 \uBDF0\uC758 \uC2DC\uAC04 \uAD00\uB828 \uD45C\uC2DC \uC124\uC815\uC744 \uAD6C\uC131\uD569\uB2C8\uB2E4.",timeSlotDuration:{name:"\uC2DC\uAC04 \uC2AC\uB86F \uAC04\uACA9",description:"\uD0C0\uC784\uB77C\uC778 \uBDF0\uC5D0\uC11C \uAC01 \uC2DC\uAC04 \uC2AC\uB86F\uC758 \uAE38\uC774",options:{fifteenMinutes:"15\uBD84",thirtyMinutes:"30\uBD84",sixtyMinutes:"60\uBD84"}},startTime:{name:"\uC2DC\uC791 \uC2DC\uAC04",description:"\uD0C0\uC784\uB77C\uC778 \uBDF0\uC5D0 \uD45C\uC2DC\uB418\uB294 \uAC00\uC7A5 \uC774\uB978 \uC2DC\uAC04 (HH:MM \uD615\uC2DD)",placeholder:"06:00"},endTime:{name:"\uC885\uB8CC \uC2DC\uAC04",description:"\uD0C0\uC784\uB77C\uC778 \uBDF0\uC5D0 \uD45C\uC2DC\uB418\uB294 \uAC00\uC7A5 \uB2A6\uC740 \uC2DC\uAC04 (HH:MM \uD615\uC2DD)",placeholder:"22:00"},initialScrollTime:{name:"\uCD08\uAE30 \uC2A4\uD06C\uB864 \uC2DC\uAC04",description:"\uD0C0\uC784\uB77C\uC778 \uBDF0\uB97C \uC5F4 \uB54C \uC2A4\uD06C\uB864\uD560 \uC2DC\uAC04 (HH:MM \uD615\uC2DD)",placeholder:"09:00"},eventMinHeight:{name:"\uC774\uBCA4\uD2B8 \uCD5C\uC18C \uB192\uC774",description:"\uD0C0\uC784\uB77C\uC778 \uBDF0\uC5D0\uC11C \uC774\uBCA4\uD2B8\uC758 \uCD5C\uC18C \uB192\uC774 (\uD53D\uC140)",placeholder:"15"}},uiElements:{header:"UI \uC694\uC18C",description:"\uB2E4\uC591\uD55C UI \uC694\uC18C\uC758 \uD45C\uC2DC\uB97C \uC124\uC815\uD569\uB2C8\uB2E4.",showTrackedTasksInStatusBar:{name:"\uC0C1\uD0DC \uD45C\uC2DC\uC904\uC5D0 \uCD94\uC801 \uC911\uC778 \uC791\uC5C5 \uD45C\uC2DC",description:"Obsidian \uC0C1\uD0DC \uD45C\uC2DC\uC904\uC5D0 \uD604\uC7AC \uCD94\uC801 \uC911\uC778 \uC791\uC5C5 \uD45C\uC2DC"},showRelationshipsWidget:{name:"\uAD00\uACC4 \uC704\uC82F \uD45C\uC2DC",description:"\uD604\uC7AC \uB178\uD2B8\uC758 \uBAA8\uB4E0 \uAD00\uACC4 (\uD558\uC704 \uC791\uC5C5, \uD504\uB85C\uC81D\uD2B8, \uC885\uC18D\uC131)\uB97C \uBCF4\uC5EC\uC8FC\uB294 \uC704\uC82F \uD45C\uC2DC"},relationshipsPosition:{name:"\uAD00\uACC4 \uC704\uCE58",description:"\uAD00\uACC4 \uC704\uC82F\uC758 \uC704\uCE58",options:{top:"\uB178\uD2B8 \uC0C1\uB2E8",bottom:"\uB178\uD2B8 \uD558\uB2E8"}},showTaskCardInNote:{name:"\uB178\uD2B8\uC5D0 \uC791\uC5C5 \uCE74\uB4DC \uD45C\uC2DC",description:"\uC791\uC5C5 \uB178\uD2B8 \uC0C1\uB2E8\uC5D0 \uC791\uC5C5 \uC138\uBD80\uC815\uBCF4\uC640 \uB3D9\uC791\uC744 \uBCF4\uC5EC\uC8FC\uB294 \uC791\uC5C5 \uCE74\uB4DC \uC704\uC82F \uD45C\uC2DC"},showExpandableSubtasks:{name:"\uD655\uC7A5 \uAC00\uB2A5\uD55C \uD558\uC704 \uC791\uC5C5 \uD45C\uC2DC",description:"\uC791\uC5C5 \uCE74\uB4DC\uC5D0\uC11C \uD558\uC704 \uC791\uC5C5 \uC139\uC158\uC744 \uD3BC\uCE58\uACE0 \uC811\uC744 \uC218 \uC788\uB3C4\uB85D \uD5C8\uC6A9"},subtaskChevronPosition:{name:"\uD558\uC704 \uC791\uC5C5 \uD654\uC0B4\uD45C \uC704\uCE58",description:"\uC791\uC5C5 \uCE74\uB4DC\uC5D0\uC11C \uD3BC\uCE58\uAE30/\uC811\uAE30 \uD654\uC0B4\uD45C\uC758 \uC704\uCE58",options:{left:"\uC67C\uCABD",right:"\uC624\uB978\uCABD"}},viewsButtonAlignment:{name:"\uBDF0 \uBC84\uD2BC \uC815\uB82C",description:"\uC791\uC5C5 \uC778\uD130\uD398\uC774\uC2A4\uC5D0\uC11C \uBDF0/\uD544\uD130 \uBC84\uD2BC\uC758 \uC815\uB82C",options:{left:"\uC67C\uCABD",right:"\uC624\uB978\uCABD"}}},projectAutosuggest:{header:"\uD504\uB85C\uC81D\uD2B8 \uC790\uB3D9 \uC81C\uC548",description:"\uC791\uC5C5 \uC0DD\uC131 \uC2DC \uD504\uB85C\uC81D\uD2B8 \uC81C\uC548\uC774 \uD45C\uC2DC\uB418\uB294 \uBC29\uC2DD\uC744 \uC0AC\uC6A9\uC790 \uC9C0\uC815\uD569\uB2C8\uB2E4.",requiredTags:{name:"\uD544\uC218 \uD0DC\uADF8",description:"\uC774\uB7EC\uD55C \uD0DC\uADF8 \uC911 \uD558\uB098\uAC00 \uC788\uB294 \uB178\uD2B8\uB9CC \uD45C\uC2DC (\uC27C\uD45C\uB85C \uAD6C\uBD84). \uBAA8\uB4E0 \uB178\uD2B8\uB97C \uD45C\uC2DC\uD558\uB824\uBA74 \uBE44\uC6CC\uB450\uC138\uC694.",placeholder:"\uD504\uB85C\uC81D\uD2B8, \uD65C\uC131, \uC911\uC694"},includeFolders:{name:"\uD3EC\uD568 \uD3F4\uB354",description:"\uC774\uB7EC\uD55C \uD3F4\uB354\uC758 \uB178\uD2B8\uB9CC \uD45C\uC2DC (\uC27C\uD45C\uB85C \uAD6C\uBD84\uB41C \uACBD\uB85C). \uBAA8\uB4E0 \uD3F4\uB354\uB97C \uD45C\uC2DC\uD558\uB824\uBA74 \uBE44\uC6CC\uB450\uC138\uC694.",placeholder:"\uD504\uB85C\uC81D\uD2B8/, \uC5C5\uBB34/\uD65C\uC131, \uAC1C\uC778"},requiredPropertyKey:{name:"\uD544\uC218 \uC18D\uC131 \uD0A4",description:"\uC774 \uD504\uB860\uD2B8\uB9E4\uD130 \uC18D\uC131\uC774 \uC544\uB798 \uAC12\uACFC \uC77C\uCE58\uD558\uB294 \uB178\uD2B8\uB9CC \uD45C\uC2DC. \uBB34\uC2DC\uD558\uB824\uBA74 \uBE44\uC6CC\uB450\uC138\uC694.",placeholder:"\uC720\uD615"},requiredPropertyValue:{name:"\uD544\uC218 \uC18D\uC131 \uAC12",description:"\uC18D\uC131\uC774 \uC774 \uAC12\uACFC \uAC19\uC740 \uB178\uD2B8\uB9CC \uC81C\uC548\uB429\uB2C8\uB2E4. \uC18D\uC131 \uC874\uC7AC\uB9CC \uC694\uAD6C\uD558\uB824\uBA74 \uBE44\uC6CC\uB450\uC138\uC694.",placeholder:"\uD504\uB85C\uC81D\uD2B8"},customizeDisplay:{name:"\uC81C\uC548 \uD45C\uC2DC \uC0AC\uC6A9\uC790 \uC9C0\uC815",description:"\uD504\uB85C\uC81D\uD2B8 \uC81C\uC548\uC774 \uD45C\uC2DC\uB418\uB294 \uBC29\uC2DD\uACFC \uD45C\uC2DC\uB418\uB294 \uC815\uBCF4\uB97C \uC124\uC815\uD558\uB294 \uACE0\uAE09 \uC635\uC158 \uD45C\uC2DC."},enableFuzzyMatching:{name:"\uD37C\uC9C0 \uB9E4\uCE6D \uD65C\uC131\uD654",description:"\uD504\uB85C\uC81D\uD2B8 \uAC80\uC0C9\uC5D0\uC11C \uC624\uD0C0\uC640 \uBD80\uBD84 \uC77C\uCE58 \uD5C8\uC6A9. \uD070 \uBCF4\uAD00\uC18C\uC5D0\uC11C\uB294 \uB290\uB824\uC9C8 \uC218 \uC788\uC2B5\uB2C8\uB2E4."},displayRowsHelp:"\uAC01 \uD504\uB85C\uC81D\uD2B8 \uC81C\uC548\uC5D0 \uD45C\uC2DC\uD560 \uCD5C\uB300 3\uC904\uC758 \uC815\uBCF4\uB97C \uAD6C\uC131\uD569\uB2C8\uB2E4.",displayRows:{row1:{name:"\uD589 1",description:"\uD615\uC2DD: {property|flags}. \uC18D\uC131: title, aliases, file.path, file.parent. \uD50C\uB798\uADF8: n(Label)\uC740 \uB808\uC774\uBE14 \uD45C\uC2DC, s\uB294 \uAC80\uC0C9 \uAC00\uB2A5. \uC608: {title|n(Title)|s}",placeholder:"{title|n(\uC81C\uBAA9)}"},row2:{name:"\uD589 2 (\uC120\uD0DD\uC0AC\uD56D)",description:"\uC77C\uBC18\uC801\uC778 \uD328\uD134: {aliases|n(Aliases)}, {file.parent|n(Folder)}, literal:Custom Text",placeholder:"{aliases|n(\uBCC4\uCE6D)}"},row3:{name:"\uD589 3 (\uC120\uD0DD\uC0AC\uD56D)",description:"{file.path|n(Path)} \uB610\uB294 \uC0AC\uC6A9\uC790 \uC9C0\uC815 \uD504\uB860\uD2B8\uB9E4\uD130 \uD544\uB4DC \uAC19\uC740 \uCD94\uAC00 \uC815\uBCF4",placeholder:"{file.path|n(\uACBD\uB85C)}"}},quickReference:{header:"\uBE60\uB978 \uCC38\uC870",properties:"\uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uC18D\uC131: title, aliases, file.path, file.parent \uB610\uB294 \uBAA8\uB4E0 \uD504\uB860\uD2B8\uB9E4\uD130 \uD544\uB4DC",labels:'\uB808\uC774\uBE14 \uCD94\uAC00: {title|n(Title)} \u2192 "Title: My Project"',searchable:"\uAC80\uC0C9 \uAC00\uB2A5\uD558\uAC8C \uB9CC\uB4E4\uAE30: {description|s}\uB294 + \uAC80\uC0C9\uC5D0 \uC124\uBA85 \uD3EC\uD568",staticText:"\uC815\uC801 \uD14D\uC2A4\uD2B8: literal:My Custom Label",alwaysSearchable:"\uD30C\uC77C\uBA85, \uC81C\uBAA9, \uBCC4\uCE6D\uC740 \uAE30\uBCF8\uC801\uC73C\uB85C \uD56D\uC0C1 \uAC80\uC0C9 \uAC00\uB2A5\uD569\uB2C8\uB2E4."}},dataStorage:{name:"\uC800\uC7A5 \uC704\uCE58",description:"\uBF40\uBAA8\uB3C4\uB85C \uC138\uC158 \uAE30\uB85D\uC744 \uC800\uC7A5\uD560 \uC704\uCE58",pluginData:"\uD50C\uB7EC\uADF8\uC778 \uB370\uC774\uD130 (\uAD8C\uC7A5)",dailyNotes:"\uB370\uC77C\uB9AC \uB178\uD2B8",notices:{locationChanged:"\uBF40\uBAA8\uB3C4\uB85C \uC800\uC7A5 \uC704\uCE58\uAC00 {location}(\uC73C)\uB85C \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4"}},notifications:{description:"\uC791\uC5C5 \uB9AC\uB9C8\uC778\uB354 \uC54C\uB9BC \uBC0F \uACBD\uACE0\uB97C \uC124\uC815\uD569\uB2C8\uB2E4."},performance:{description:"\uD50C\uB7EC\uADF8\uC778 \uC131\uB2A5 \uBC0F \uB3D9\uC791 \uC635\uC158\uC744 \uC124\uC815\uD569\uB2C8\uB2E4."},timeTrackingSection:{description:"\uC790\uB3D9 \uC2DC\uAC04 \uCD94\uC801 \uB3D9\uC791\uC744 \uC124\uC815\uD569\uB2C8\uB2E4."},recurringSection:{description:"\uBC18\uBCF5 \uC791\uC5C5 \uAD00\uB9AC \uB3D9\uC791\uC744 \uC124\uC815\uD569\uB2C8\uB2E4."}},integrations:{basesIntegration:{header:"\uBCA0\uC774\uC2A4 \uD1B5\uD569",description:"Obsidian \uBCA0\uC774\uC2A4 \uD50C\uB7EC\uADF8\uC778\uACFC\uC758 \uD1B5\uD569\uC744 \uC124\uC815\uD569\uB2C8\uB2E4. \uC774\uAC83\uC740 \uC2E4\uD5D8\uC801 \uAE30\uB2A5\uC774\uBA70 \uD604\uC7AC \uBB38\uC11C\uD654\uB418\uC9C0 \uC54A\uC740 Obsidian API\uC5D0 \uC758\uC874\uD569\uB2C8\uB2E4. \uB3D9\uC791\uC774 \uBCC0\uACBD\uB418\uAC70\uB098 \uC911\uB2E8\uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",enable:{name:"\uBCA0\uC774\uC2A4 \uD1B5\uD569 \uD65C\uC131\uD654",description:"TaskNotes \uBDF0\uB97C Obsidian \uBCA0\uC774\uC2A4 \uD50C\uB7EC\uADF8\uC778 \uB0B4\uC5D0\uC11C \uC0AC\uC6A9\uD560 \uC218 \uC788\uB3C4\uB85D \uD65C\uC131\uD654. \uC774 \uAE30\uB2A5\uC774 \uC791\uB3D9\uD558\uB824\uBA74 \uBCA0\uC774\uC2A4 \uD50C\uB7EC\uADF8\uC778\uC774 \uD65C\uC131\uD654\uB418\uC5B4 \uC788\uC5B4\uC57C \uD569\uB2C8\uB2E4."},viewCommands:{header:"\uBDF0 \uBC0F \uBCA0\uC774\uC2A4 \uD30C\uC77C",description:"TaskNotes\uB294 Obsidian \uBCA0\uC774\uC2A4 \uD30C\uC77C (.base)\uC744 \uC0AC\uC6A9\uD558\uC5EC \uBDF0\uB97C \uAD6C\uB3D9\uD569\uB2C8\uB2E4. \uC774 \uD30C\uC77C\uB4E4\uC740 \uC2DC\uC791 \uC2DC \uC874\uC7AC\uD558\uC9C0 \uC54A\uC73C\uBA74 \uD604\uC7AC \uC124\uC815 (\uC791\uC5C5 \uC2DD\uBCC4, \uD544\uB4DC \uB9E4\uD551, \uC0C1\uD0DC \uB4F1)\uC73C\uB85C \uC790\uB3D9 \uC0DD\uC131\uB429\uB2C8\uB2E4.",descriptionRegen:'\uC124\uC815\uC744 \uBCC0\uACBD\uD574\uB3C4 \uBCA0\uC774\uC2A4 \uD30C\uC77C\uC774 \uC790\uB3D9\uC73C\uB85C \uC5C5\uB370\uC774\uD2B8\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uC0C8 \uC124\uC815\uC744 \uC801\uC6A9\uD558\uB824\uBA74 \uAE30\uC874 .base \uD30C\uC77C\uC744 \uC0AD\uC81C\uD558\uACE0 Obsidian\uC744 \uB2E4\uC2DC \uC2DC\uC791\uD558\uAC70\uB098, \uC544\uB798 "\uD30C\uC77C \uC0DD\uC131"\uC744 \uC0AC\uC6A9\uD558\uAC70\uB098, \uC218\uB3D9\uC73C\uB85C \uD3B8\uC9D1\uD558\uC138\uC694.',docsLink:"\uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uC218\uC2DD \uBC0F \uC0AC\uC6A9\uC790 \uC9C0\uC815 \uC635\uC158\uC5D0 \uB300\uD55C \uBB38\uC11C \uBCF4\uAE30",docsLinkUrl:"https://tasknotes.dev/views/default-base-templates",commands:{miniCalendar:"\uBBF8\uB2C8 \uCE98\uB9B0\uB354 \uBDF0 \uC5F4\uAE30",kanban:"\uCE78\uBC18 \uBDF0 \uC5F4\uAE30",tasks:"\uC791\uC5C5 \uBDF0 \uC5F4\uAE30",advancedCalendar:"\uACE0\uAE09 \uCE98\uB9B0\uB354 \uBDF0 \uC5F4\uAE30",agenda:"\uC77C\uC815 \uBDF0 \uC5F4\uAE30",relationships:"\uAD00\uACC4 \uC704\uC82F"},fileLabel:"\uD30C\uC77C: {path}",resetButton:"\uCD08\uAE30\uD654",resetTooltip:"\uAE30\uBCF8 \uACBD\uB85C\uB85C \uCD08\uAE30\uD654"},autoCreateDefaultFiles:{name:"\uAE30\uBCF8 \uD30C\uC77C \uC790\uB3D9 \uC0DD\uC131",description:"\uC2DC\uC791 \uC2DC \uB204\uB77D\uB41C \uAE30\uBCF8 \uBCA0\uC774\uC2A4 \uBDF0 \uD30C\uC77C\uC744 \uC790\uB3D9\uC73C\uB85C \uC0DD\uC131. \uC0AD\uC81C\uB41C \uC0D8\uD50C \uD30C\uC77C\uC774 \uB2E4\uC2DC \uC0DD\uC131\uB418\uC9C0 \uC54A\uB3C4\uB85D \uBE44\uD65C\uC131\uD654\uD558\uC138\uC694."},createDefaultFiles:{name:"\uAE30\uBCF8 \uD30C\uC77C \uC0DD\uC131",description:"TaskNotes/Views/ \uB514\uB809\uD1A0\uB9AC\uC5D0 \uAE30\uBCF8 .base \uD30C\uC77C\uC744 \uC0DD\uC131\uD569\uB2C8\uB2E4. \uAE30\uC874 \uD30C\uC77C\uC740 \uB36E\uC5B4\uC4F0\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.",buttonText:"\uD30C\uC77C \uC0DD\uC131"},exportV3Views:{name:"V3 \uC800\uC7A5\uB41C \uBDF0\uB97C \uBCA0\uC774\uC2A4\uB85C \uB0B4\uBCF4\uB0B4\uAE30",description:"TaskNotes v3\uC758 \uBAA8\uB4E0 \uC800\uC7A5\uB41C \uBDF0\uB97C \uC5EC\uB7EC \uBDF0\uAC00 \uD3EC\uD568\uB41C \uB2E8\uC77C .base \uD30C\uC77C\uB85C \uBCC0\uD658\uD569\uB2C8\uB2E4. v3 \uD544\uD130 \uAD6C\uC131\uC744 \uC0C8 \uBCA0\uC774\uC2A4 \uC2DC\uC2A4\uD15C\uC73C\uB85C \uB9C8\uC774\uADF8\uB808\uC774\uC158\uD558\uB294 \uB370 \uB3C4\uC6C0\uC774 \uB429\uB2C8\uB2E4.",buttonText:"V3 \uBDF0 \uB0B4\uBCF4\uB0B4\uAE30",noViews:"\uB0B4\uBCF4\uB0BC \uC800\uC7A5\uB41C \uBDF0\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4",fileExists:"\uD30C\uC77C\uC774 \uC774\uBBF8 \uC874\uC7AC\uD569\uB2C8\uB2E4",confirmOverwrite:'"{fileName}"\uC774\uB77C\uB294 \uD30C\uC77C\uC774 \uC774\uBBF8 \uC874\uC7AC\uD569\uB2C8\uB2E4. \uB36E\uC5B4\uC4F0\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?',success:"{count}\uAC1C\uC758 \uC800\uC7A5\uB41C \uBDF0\uB97C {filePath}(\uC73C)\uB85C \uB0B4\uBCF4\uB0C8\uC2B5\uB2C8\uB2E4",error:"\uBDF0 \uB0B4\uBCF4\uB0B4\uAE30 \uC2E4\uD328: {message}"},notices:{enabled:"\uBCA0\uC774\uC2A4 \uD1B5\uD569\uC774 \uD65C\uC131\uD654\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uC124\uC815\uC744 \uC644\uB8CC\uD558\uB824\uBA74 Obsidian\uC744 \uB2E4\uC2DC \uC2DC\uC791\uD558\uC138\uC694.",disabled:"\uBCA0\uC774\uC2A4 \uD1B5\uD569\uC774 \uBE44\uD65C\uC131\uD654\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uC81C\uAC70\uB97C \uC644\uB8CC\uD558\uB824\uBA74 Obsidian\uC744 \uB2E4\uC2DC \uC2DC\uC791\uD558\uC138\uC694."}},calendarSubscriptions:{header:"\uCE98\uB9B0\uB354 \uAD6C\uB3C5",description:"ICS/iCal URL\uC744 \uD1B5\uD574 \uC678\uBD80 \uCE98\uB9B0\uB354\uB97C \uAD6C\uB3C5\uD558\uC5EC \uC791\uC5C5\uACFC \uD568\uAED8 \uC774\uBCA4\uD2B8\uB97C \uBD05\uB2C8\uB2E4.",defaultNoteTemplate:{name:"\uAE30\uBCF8 \uB178\uD2B8 \uD15C\uD50C\uB9BF",description:"ICS \uC774\uBCA4\uD2B8\uC5D0\uC11C \uC0DD\uC131\uB41C \uB178\uD2B8\uC6A9 \uD15C\uD50C\uB9BF \uD30C\uC77C \uACBD\uB85C",placeholder:"\uD15C\uD50C\uB9BF/\uC774\uBCA4\uD2B8 \uD15C\uD50C\uB9BF.md"},defaultNoteFolder:{name:"\uAE30\uBCF8 \uB178\uD2B8 \uD3F4\uB354",description:"ICS \uC774\uBCA4\uD2B8\uC5D0\uC11C \uC0DD\uC131\uB41C \uB178\uD2B8\uC6A9 \uD3F4\uB354",placeholder:"\uCE98\uB9B0\uB354/\uC774\uBCA4\uD2B8"},filenameFormat:{name:"ICS \uB178\uD2B8 \uD30C\uC77C\uBA85 \uD615\uC2DD",description:"ICS \uC774\uBCA4\uD2B8\uC5D0\uC11C \uC0DD\uC131\uB41C \uB178\uD2B8\uC758 \uD30C\uC77C\uBA85 \uC0DD\uC131 \uBC29\uBC95",options:{title:"\uC774\uBCA4\uD2B8 \uC81C\uBAA9",zettel:"Zettelkasten \uD615\uC2DD",timestamp:"\uD0C0\uC784\uC2A4\uD0EC\uD504",custom:"\uC0AC\uC6A9\uC790 \uC9C0\uC815 \uD15C\uD50C\uB9BF"}},customTemplate:{name:"\uC0AC\uC6A9\uC790 \uC9C0\uC815 ICS \uD30C\uC77C\uBA85 \uD15C\uD50C\uB9BF",description:"\uC0AC\uC6A9\uC790 \uC9C0\uC815 ICS \uC774\uBCA4\uD2B8 \uD30C\uC77C\uBA85 \uD15C\uD50C\uB9BF",placeholder:"{date}-{title}"},useICSEndAsDue:{name:"ICS \uC774\uBCA4\uD2B8 \uC885\uB8CC \uC2DC\uAC04\uC744 \uC791\uC5C5 \uB9C8\uAC10\uC77C\uB85C \uC0AC\uC6A9",description:"\uD65C\uC131\uD654\uD558\uBA74 \uCE98\uB9B0\uB354 \uC774\uBCA4\uD2B8\uC5D0\uC11C \uC0DD\uC131\uB41C \uC791\uC5C5\uC758 \uB9C8\uAC10\uC77C\uC774 \uC774\uBCA4\uD2B8 \uC885\uB8CC \uC2DC\uAC04\uC73C\uB85C \uC124\uC815\uB429\uB2C8\uB2E4. \uC885\uC77C \uC774\uBCA4\uD2B8\uC758 \uACBD\uC6B0 \uB9C8\uAC10\uC77C\uC774 \uC774\uBCA4\uD2B8 \uB0A0\uC9DC\uB85C \uC124\uC815\uB429\uB2C8\uB2E4. \uC2DC\uAC04\uC774 \uC9C0\uC815\uB41C \uC774\uBCA4\uD2B8\uC758 \uACBD\uC6B0 \uB9C8\uAC10\uC77C\uC5D0 \uC885\uB8CC \uC2DC\uAC04\uC774 \uD3EC\uD568\uB429\uB2C8\uB2E4."}},subscriptionsList:{header:"\uCE98\uB9B0\uB354 \uAD6C\uB3C5 \uBAA9\uB85D",addSubscription:{name:"\uCE98\uB9B0\uB354 \uAD6C\uB3C5 \uCD94\uAC00",description:"ICS/iCal URL \uB610\uB294 \uB85C\uCEEC \uD30C\uC77C\uC5D0\uC11C \uC0C8 \uCE98\uB9B0\uB354 \uAD6C\uB3C5 \uCD94\uAC00",buttonText:"\uAD6C\uB3C5 \uCD94\uAC00"},refreshAll:{name:"\uBAA8\uB4E0 \uAD6C\uB3C5 \uC0C8\uB85C\uACE0\uCE68",description:"\uD65C\uC131\uD654\uB41C \uBAA8\uB4E0 \uCE98\uB9B0\uB354 \uAD6C\uB3C5\uC744 \uC218\uB3D9\uC73C\uB85C \uC0C8\uB85C\uACE0\uCE68",buttonText:"\uBAA8\uB450 \uC0C8\uB85C\uACE0\uCE68"},newCalendarName:"\uC0C8 \uCE98\uB9B0\uB354",emptyState:"\uCE98\uB9B0\uB354 \uAD6C\uB3C5\uC774 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uC678\uBD80 \uCE98\uB9B0\uB354\uB97C \uB3D9\uAE30\uD654\uD558\uB824\uBA74 \uAD6C\uB3C5\uC744 \uCD94\uAC00\uD558\uC138\uC694.",notices:{addSuccess:"\uC0C8 \uCE98\uB9B0\uB354 \uAD6C\uB3C5\uC774 \uCD94\uAC00\uB418\uC5C8\uC2B5\uB2C8\uB2E4 - \uC138\uBD80 \uC815\uBCF4\uB97C \uC124\uC815\uD558\uC138\uC694",addFailure:"\uAD6C\uB3C5 \uCD94\uAC00 \uC2E4\uD328",serviceUnavailable:"ICS \uAD6C\uB3C5 \uC11C\uBE44\uC2A4\uB97C \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",refreshSuccess:"\uBAA8\uB4E0 \uCE98\uB9B0\uB354 \uAD6C\uB3C5\uC774 \uC0C8\uB85C\uACE0\uCE68\uB418\uC5C8\uC2B5\uB2C8\uB2E4",refreshFailure:"\uC77C\uBD80 \uCE98\uB9B0\uB354 \uAD6C\uB3C5 \uC0C8\uB85C\uACE0\uCE68 \uC2E4\uD328",updateFailure:"\uAD6C\uB3C5 \uC5C5\uB370\uC774\uD2B8 \uC2E4\uD328",deleteSuccess:'"{name}" \uAD6C\uB3C5\uC774 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4',deleteFailure:"\uAD6C\uB3C5 \uC0AD\uC81C \uC2E4\uD328",enableFirst:"\uBA3C\uC800 \uAD6C\uB3C5\uC744 \uD65C\uC131\uD654\uD558\uC138\uC694",refreshSubscriptionSuccess:'"{name}" \uC0C8\uB85C\uACE0\uCE68\uB428',refreshSubscriptionFailure:"\uAD6C\uB3C5 \uC0C8\uB85C\uACE0\uCE68 \uC2E4\uD328"},labels:{enabled:"\uD65C\uC131\uD654:",name:"\uC774\uB984:",type:"\uC720\uD615:",url:"URL:",filePath:"\uD30C\uC77C \uACBD\uB85C:",color:"\uC0C9\uC0C1:",refreshMinutes:"\uC0C8\uB85C\uACE0\uCE68 (\uBD84):"},typeOptions:{remote:"\uC6D0\uACA9 URL",local:"\uB85C\uCEEC \uD30C\uC77C"},placeholders:{calendarName:"\uCE98\uB9B0\uB354 \uC774\uB984",url:"ICS/iCal \uC8FC\uC18C",filePath:"\uB85C\uCEEC \uD30C\uC77C \uACBD\uB85C (\uC608: Calendar.ics)",localFile:"\uCE98\uB9B0\uB354.ics"},statusLabels:{enabled:"\uD65C\uC131\uD654\uB428",disabled:"\uBE44\uD65C\uC131\uD654\uB428",remote:"\uC6D0\uACA9",localFile:"\uB85C\uCEEC \uD30C\uC77C",remoteCalendar:"\uC6D0\uACA9 \uCE98\uB9B0\uB354",localFileCalendar:"\uB85C\uCEEC \uD30C\uC77C",synced:"{timeAgo} \uC804 \uB3D9\uAE30\uD654\uB428",error:"\uC624\uB958"},actions:{refreshNow:"\uC9C0\uAE08 \uC0C8\uB85C\uACE0\uCE68",deleteSubscription:"\uAD6C\uB3C5 \uC0AD\uC81C"},refreshNow:"\uC9C0\uAE08 \uC0C8\uB85C\uACE0\uCE68",confirmDelete:{title:"\uAD6C\uB3C5 \uC0AD\uC81C",message:'"{name}" \uAD6C\uB3C5\uC744 \uC0AD\uC81C\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C? \uC774 \uC791\uC5C5\uC740 \uCDE8\uC18C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.',confirmText:"\uC0AD\uC81C"}},autoExport:{header:"\uC790\uB3D9 ICS \uB0B4\uBCF4\uB0B4\uAE30",description:"\uBAA8\uB4E0 \uC791\uC5C5\uC744 ICS \uD30C\uC77C\uB85C \uC790\uB3D9 \uB0B4\uBCF4\uB0B4\uAE30.",enable:{name:"\uC790\uB3D9 \uB0B4\uBCF4\uB0B4\uAE30 \uD65C\uC131\uD654",description:"\uBAA8\uB4E0 \uC791\uC5C5\uC73C\uB85C ICS \uD30C\uC77C\uC744 \uC790\uB3D9\uC73C\uB85C \uC5C5\uB370\uC774\uD2B8"},filePath:{name:"\uB0B4\uBCF4\uB0B4\uAE30 \uD30C\uC77C \uACBD\uB85C",description:"ICS \uD30C\uC77C\uC774 \uC800\uC7A5\uB420 \uACBD\uB85C (\uBCF4\uAD00\uC18C \uB8E8\uD2B8 \uAE30\uC900)",placeholder:"tasknotes-\uCE98\uB9B0\uB354.ics"},interval:{name:"\uC5C5\uB370\uC774\uD2B8 \uAC04\uACA9 (5~1440\uBD84)",description:"\uB0B4\uBCF4\uB0B4\uAE30 \uD30C\uC77C \uC5C5\uB370\uC774\uD2B8 \uC8FC\uAE30",placeholder:"60"},useDuration:{name:"\uC791\uC5C5 \uC18C\uC694 \uC2DC\uAC04\uC744 \uC774\uBCA4\uD2B8 \uAE38\uC774\uB85C \uC0AC\uC6A9",description:"\uD65C\uC131\uD654\uD558\uBA74 \uCE98\uB9B0\uB354 \uC774\uBCA4\uD2B8 \uC885\uB8CC \uC2DC\uAC04\uC5D0 \uB9C8\uAC10\uC77C \uB300\uC2E0 \uC791\uC5C5\uC758 \uC608\uC0C1 \uC2DC\uAC04(\uC18C\uC694 \uC2DC\uAC04)\uC744 \uC0AC\uC6A9\uD569\uB2C8\uB2E4. \uC774\uB294 \uC608\uC815 + \uC18C\uC694 \uC2DC\uAC04\uC774 \uC791\uC5C5 \uACC4\uD68D\uC744 \uB098\uD0C0\uB0B4\uACE0 \uB9C8\uAC10\uC77C\uC774 \uAE30\uD55C\uC744 \uB098\uD0C0\uB0B4\uB294 GTD \uC6CC\uD06C\uD50C\uB85C\uC6B0\uC5D0 \uC720\uC6A9\uD569\uB2C8\uB2E4."},exportNow:{name:"\uC9C0\uAE08 \uB0B4\uBCF4\uB0B4\uAE30",description:"\uC989\uC2DC \uB0B4\uBCF4\uB0B4\uAE30\uB97C \uC218\uB3D9\uC73C\uB85C \uD2B8\uB9AC\uAC70",buttonText:"\uC9C0\uAE08 \uB0B4\uBCF4\uB0B4\uAE30"},status:{title:"\uB0B4\uBCF4\uB0B4\uAE30 \uC0C1\uD0DC:",lastExport:"\uB9C8\uC9C0\uB9C9 \uB0B4\uBCF4\uB0B4\uAE30: {time}",nextExport:"\uB2E4\uC74C \uB0B4\uBCF4\uB0B4\uAE30: {time}",noExports:"\uC544\uC9C1 \uB0B4\uBCF4\uB0B4\uAE30 \uC5C6\uC74C",notScheduled:"\uC608\uC815\uB418\uC9C0 \uC54A\uC74C",notInitialized:"\uC790\uB3D9 \uB0B4\uBCF4\uB0B4\uAE30 \uC11C\uBE44\uC2A4\uAC00 \uCD08\uAE30\uD654\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4 - Obsidian\uC744 \uB2E4\uC2DC \uC2DC\uC791\uD558\uC138\uC694",serviceNotInitialized:"\uC11C\uBE44\uC2A4\uAC00 \uCD08\uAE30\uD654\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4 - Obsidian\uC744 \uB2E4\uC2DC \uC2DC\uC791\uD558\uC138\uC694"},notices:{reloadRequired:"\uC790\uB3D9 \uB0B4\uBCF4\uB0B4\uAE30 \uBCC0\uACBD \uC0AC\uD56D\uC744 \uC801\uC6A9\uD558\uB824\uBA74 Obsidian\uC744 \uB2E4\uC2DC \uB85C\uB4DC\uD558\uC138\uC694.",exportSuccess:"\uC791\uC5C5\uC774 \uC131\uACF5\uC801\uC73C\uB85C \uB0B4\uBCF4\uB0B4\uC84C\uC2B5\uB2C8\uB2E4",exportFailure:"\uB0B4\uBCF4\uB0B4\uAE30 \uC2E4\uD328 - \uCF58\uC194\uC5D0\uC11C \uC790\uC138\uD55C \uB0B4\uC6A9\uC744 \uD655\uC778\uD558\uC138\uC694",serviceUnavailable:"\uC790\uB3D9 \uB0B4\uBCF4\uB0B4\uAE30 \uC11C\uBE44\uC2A4\uB97C \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4"}},googleCalendarExport:{header:"Google \uCE98\uB9B0\uB354\uB85C \uC791\uC5C5 \uB0B4\uBCF4\uB0B4\uAE30",description:"\uC791\uC5C5\uC744 Google \uCE98\uB9B0\uB354 \uC774\uBCA4\uD2B8\uB85C \uC790\uB3D9 \uB3D9\uAE30\uD654\uD569\uB2C8\uB2E4. \uC704\uC5D0\uC11C Google \uCE98\uB9B0\uB354\uAC00 \uC5F0\uACB0\uB418\uC5B4 \uC788\uC5B4\uC57C \uD569\uB2C8\uB2E4.",enable:{name:"\uC791\uC5C5 \uB0B4\uBCF4\uB0B4\uAE30 \uD65C\uC131\uD654",description:"\uD65C\uC131\uD654\uD558\uBA74 \uB0A0\uC9DC\uAC00 \uC788\uB294 \uC791\uC5C5\uC774 Google \uCE98\uB9B0\uB354\uC5D0 \uC774\uBCA4\uD2B8\uB85C \uC790\uB3D9 \uB3D9\uAE30\uD654\uB429\uB2C8\uB2E4."},targetCalendar:{name:"\uB300\uC0C1 \uCE98\uB9B0\uB354",description:"\uC791\uC5C5 \uC774\uBCA4\uD2B8\uB97C \uC0DD\uC131\uD560 \uCE98\uB9B0\uB354\uB97C \uC120\uD0DD\uD558\uC138\uC694.",placeholder:"\uCE98\uB9B0\uB354 \uC120\uD0DD...",connectFirst:"\uBA3C\uC800 Google \uCE98\uB9B0\uB354\uB97C \uC5F0\uACB0\uD558\uC138\uC694",primarySuffix:" (\uAE30\uBCF8)"},syncTrigger:{name:"\uB3D9\uAE30\uD654 \uD2B8\uB9AC\uAC70",description:"\uC5B4\uB5A4 \uC791\uC5C5 \uB0A0\uC9DC\uAC00 \uCE98\uB9B0\uB354 \uC774\uBCA4\uD2B8 \uC0DD\uC131\uC744 \uD2B8\uB9AC\uAC70\uD560\uC9C0 \uC124\uC815\uD569\uB2C8\uB2E4.",options:{scheduled:"\uC608\uC815 \uB0A0\uC9DC",due:"\uB9C8\uAC10 \uB0A0\uC9DC",both:"\uB458 \uB2E4 (\uC608\uC815 \uB0A0\uC9DC \uC6B0\uC120)"}},allDayEvents:{name:"\uC885\uC77C \uC774\uBCA4\uD2B8\uB85C \uC0DD\uC131",description:"\uD65C\uC131\uD654\uD558\uBA74 \uC791\uC5C5\uC774 \uC885\uC77C \uC774\uBCA4\uD2B8\uB85C \uC0DD\uC131\uB429\uB2C8\uB2E4. \uBE44\uD65C\uC131\uD654\uD558\uBA74 \uC2DC\uAC04 \uCD94\uC815\uC744 \uAE30\uAC04\uC73C\uB85C \uC0AC\uC6A9\uD569\uB2C8\uB2E4."},defaultDuration:{name:"\uAE30\uBCF8 \uC774\uBCA4\uD2B8 \uAE30\uAC04",description:"\uC2DC\uAC04\uC774 \uC9C0\uC815\uB41C \uC774\uBCA4\uD2B8\uC758 \uAE30\uAC04(\uBD84) (\uC791\uC5C5\uC5D0 \uC2DC\uAC04 \uCD94\uC815\uC774 \uC5C6\uC744 \uB54C \uC0AC\uC6A9)."},eventTitleTemplate:{name:"\uC774\uBCA4\uD2B8 \uC81C\uBAA9 \uD15C\uD50C\uB9BF",description:"\uC774\uBCA4\uD2B8 \uC81C\uBAA9 \uD15C\uD50C\uB9BF. \uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uBCC0\uC218: {{title}}, {{status}}, {{priority}}",placeholder:"{{title}}"},includeDescription:{name:"\uC124\uBA85\uC5D0 \uC791\uC5C5 \uC138\uBD80 \uC815\uBCF4 \uD3EC\uD568",description:"\uC774\uBCA4\uD2B8 \uC124\uBA85\uC5D0 \uC791\uC5C5 \uBA54\uD0C0\uB370\uC774\uD130(\uC6B0\uC120\uC21C\uC704, \uC0C1\uD0DC, \uD0DC\uADF8 \uB4F1)\uB97C \uCD94\uAC00\uD569\uB2C8\uB2E4."},includeObsidianLink:{name:"Obsidian \uB9C1\uD06C \uD3EC\uD568",description:"\uC774\uBCA4\uD2B8 \uC124\uBA85\uC5D0 Obsidian\uC758 \uC791\uC5C5\uC73C\uB85C \uB3CC\uC544\uAC00\uB294 \uB9C1\uD06C\uB97C \uCD94\uAC00\uD569\uB2C8\uB2E4."},defaultReminder:{name:"\uAE30\uBCF8 \uC54C\uB9BC",description:"Google \uCE98\uB9B0\uB354 \uC774\uBCA4\uD2B8\uC5D0 \uD31D\uC5C5 \uC54C\uB9BC\uC744 \uCD94\uAC00\uD569\uB2C8\uB2E4. \uC774\uBCA4\uD2B8 \uC804 \uBD84\uC744 \uC124\uC815\uD558\uC138\uC694 (0 = \uC54C\uB9BC \uC5C6\uC74C). \uC77C\uBC18\uC801\uC778 \uAC12: 15, 30, 60, 1440 (1\uC77C)."},automaticSyncBehavior:{header:"\uC790\uB3D9 \uB3D9\uAE30\uD654 \uB3D9\uC791"},syncOnCreate:{name:"\uC791\uC5C5 \uC0DD\uC131 \uC2DC \uB3D9\uAE30\uD654",description:"\uC0C8 \uC791\uC5C5\uC774 \uC0DD\uC131\uB420 \uB54C \uC790\uB3D9\uC73C\uB85C \uCE98\uB9B0\uB354 \uC774\uBCA4\uD2B8\uB97C \uC0DD\uC131\uD569\uB2C8\uB2E4."},syncOnUpdate:{name:"\uC791\uC5C5 \uC5C5\uB370\uC774\uD2B8 \uC2DC \uB3D9\uAE30\uD654",description:"\uC791\uC5C5\uC774 \uC218\uC815\uB420 \uB54C \uC790\uB3D9\uC73C\uB85C \uCE98\uB9B0\uB354 \uC774\uBCA4\uD2B8\uB97C \uC5C5\uB370\uC774\uD2B8\uD569\uB2C8\uB2E4."},syncOnComplete:{name:"\uC791\uC5C5 \uC644\uB8CC \uC2DC \uB3D9\uAE30\uD654",description:"\uC791\uC5C5\uC774 \uC644\uB8CC\uB418\uBA74 \uCE98\uB9B0\uB354 \uC774\uBCA4\uD2B8\uB97C \uC5C5\uB370\uC774\uD2B8\uD569\uB2C8\uB2E4 (\uC81C\uBAA9\uC5D0 \uCCB4\uD06C \uD45C\uC2DC \uCD94\uAC00)."},syncOnDelete:{name:"\uC791\uC5C5 \uC0AD\uC81C \uC2DC \uC774\uBCA4\uD2B8 \uC0AD\uC81C",description:"\uD574\uB2F9 \uC791\uC5C5\uC774 \uC0AD\uC81C\uB418\uBA74 \uCE98\uB9B0\uB354 \uC774\uBCA4\uD2B8\uB97C \uC0AD\uC81C\uD569\uB2C8\uB2E4."},manualSyncActions:{header:"\uC218\uB3D9 \uB3D9\uAE30\uD654 \uC791\uC5C5"},syncAllTasks:{name:"\uBAA8\uB4E0 \uC791\uC5C5 \uB3D9\uAE30\uD654",description:"\uBAA8\uB4E0 \uAE30\uC874 \uC791\uC5C5\uC744 Google \uCE98\uB9B0\uB354\uC5D0 \uB3D9\uAE30\uD654\uD569\uB2C8\uB2E4. \uC544\uC9C1 \uB3D9\uAE30\uD654\uB418\uC9C0 \uC54A\uC740 \uC791\uC5C5\uC5D0 \uB300\uD574 \uC774\uBCA4\uD2B8\uAC00 \uC0DD\uC131\uB429\uB2C8\uB2E4.",buttonText:"\uBAA8\uB450 \uB3D9\uAE30\uD654"},unlinkAllTasks:{name:"\uBAA8\uB4E0 \uC791\uC5C5 \uC5F0\uACB0 \uD574\uC81C",description:"\uCE98\uB9B0\uB354 \uC774\uBCA4\uD2B8\uB97C \uC0AD\uC81C\uD558\uC9C0 \uC54A\uACE0 \uBAA8\uB4E0 \uC791\uC5C5-\uC774\uBCA4\uD2B8 \uB9C1\uD06C\uB97C \uC81C\uAC70\uD569\uB2C8\uB2E4.",buttonText:"\uBAA8\uB450 \uC5F0\uACB0 \uD574\uC81C",confirmTitle:"\uBAA8\uB4E0 \uC791\uC5C5 \uC5F0\uACB0 \uD574\uC81C",confirmMessage:"\uC791\uC5C5\uACFC \uCE98\uB9B0\uB354 \uC774\uBCA4\uD2B8 \uAC04\uC758 \uBAA8\uB4E0 \uB9C1\uD06C\uAC00 \uC81C\uAC70\uB429\uB2C8\uB2E4. \uCE98\uB9B0\uB354 \uC774\uBCA4\uD2B8\uB294 \uC720\uC9C0\uB418\uC9C0\uB9CC \uC791\uC5C5 \uBCC0\uACBD \uC2DC \uB354 \uC774\uC0C1 \uC5C5\uB370\uC774\uD2B8\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uD655\uC2E4\uD569\uB2C8\uAE4C?",confirmButtonText:"\uBAA8\uB450 \uC5F0\uACB0 \uD574\uC81C"},notices:{notEnabled:"Google \uCE98\uB9B0\uB354 \uB0B4\uBCF4\uB0B4\uAE30\uAC00 \uD65C\uC131\uD654\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uC124\uC815 > \uD1B5\uD569\uC5D0\uC11C \uAD6C\uC131\uD558\uC138\uC694.",notEnabledOrConfigured:"Google \uCE98\uB9B0\uB354 \uB0B4\uBCF4\uB0B4\uAE30\uAC00 \uD65C\uC131\uD654\uB418\uAC70\uB098 \uAD6C\uC131\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4",serviceNotAvailable:"\uC791\uC5C5 \uCE98\uB9B0\uB354 \uB3D9\uAE30\uD654 \uC11C\uBE44\uC2A4\uB97C \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",syncResults:"\uB3D9\uAE30\uD654\uB428: {synced}, \uC2E4\uD328: {failed}, \uAC74\uB108\uB700: {skipped}",taskSynced:"\uC791\uC5C5\uC774 Google \uCE98\uB9B0\uB354\uC5D0 \uB3D9\uAE30\uD654\uB418\uC5C8\uC2B5\uB2C8\uB2E4",noActiveFile:"\uD604\uC7AC \uD65C\uC131 \uD30C\uC77C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",notATask:"\uD604\uC7AC \uD30C\uC77C\uC740 \uC791\uC5C5\uC774 \uC544\uB2D9\uB2C8\uB2E4",noDateToSync:"\uB3D9\uAE30\uD654\uD560 \uC608\uC815 \uB0A0\uC9DC \uB610\uB294 \uB9C8\uAC10 \uB0A0\uC9DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4",syncFailed:"Google \uCE98\uB9B0\uB354\uC5D0 \uC791\uC5C5 \uB3D9\uAE30\uD654 \uC2E4\uD328: {message}",connectionExpired:"Google \uCE98\uB9B0\uB354 \uC5F0\uACB0\uC774 \uB9CC\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uC124\uC815 > \uD1B5\uD569\uC5D0\uC11C \uB2E4\uC2DC \uC5F0\uACB0\uD558\uC138\uC694.",syncingTasks:"{total}\uAC1C\uC758 \uC791\uC5C5\uC744 Google \uCE98\uB9B0\uB354\uC5D0 \uB3D9\uAE30\uD654 \uC911...",syncComplete:"\uB3D9\uAE30\uD654 \uC644\uB8CC: {synced}\uAC1C \uB3D9\uAE30\uD654\uB428, {failed}\uAC1C \uC2E4\uD328, {skipped}\uAC1C \uAC74\uB108\uB700",eventsDeletedAndUnlinked:"\uBAA8\uB4E0 \uC774\uBCA4\uD2B8\uAC00 \uC0AD\uC81C\uB418\uACE0 \uC5F0\uACB0 \uD574\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4",tasksUnlinked:"\uBAA8\uB4E0 \uC791\uC5C5 \uB9C1\uD06C\uAC00 \uC81C\uAC70\uB418\uC5C8\uC2B5\uB2C8\uB2E4"},eventDescription:{untitledTask:"\uC81C\uBAA9 \uC5C6\uB294 \uC791\uC5C5",priority:"\uC6B0\uC120\uC21C\uC704: {value}",status:"\uC0C1\uD0DC: {value}",due:"\uB9C8\uAC10: {value}",scheduled:"\uC608\uC815: {value}",timeEstimate:"\uC2DC\uAC04 \uCD94\uC815: {value}",tags:"\uD0DC\uADF8: {value}",contexts:"\uCEE8\uD14D\uC2A4\uD2B8: {value}",projects:"\uD504\uB85C\uC81D\uD2B8: {value}",openInObsidian:"Obsidian\uC5D0\uC11C \uC5F4\uAE30"}},httpApi:{header:"HTTP API",description:"\uC678\uBD80 \uD1B5\uD569 \uBC0F \uC790\uB3D9\uD654\uB97C \uC704\uD55C HTTP API \uD65C\uC131\uD654.",enable:{name:"HTTP API \uD65C\uC131\uD654",description:"API \uC561\uC138\uC2A4\uB97C \uC704\uD55C \uB85C\uCEEC HTTP \uC11C\uBC84 \uC2DC\uC791"},port:{name:"API \uD3EC\uD2B8",description:"HTTP API \uC11C\uBC84\uC758 \uD3EC\uD2B8 \uBC88\uD638",placeholder:"3000"},authToken:{name:"API \uC778\uC99D \uD1A0\uD070",description:"API \uC778\uC99D\uC5D0 \uD544\uC694\uD55C \uD1A0\uD070 (\uC778\uC99D \uC5C6\uC774 \uC0AC\uC6A9\uD558\uB824\uBA74 \uBE44\uC6CC\uB450\uC138\uC694)",placeholder:"\uBE44\uBC00-\uD1A0\uD070"},mcp:{enable:{name:"MCP \uC11C\uBC84 \uD65C\uC131\uD654",description:"Model Context Protocol\uC744 \uD1B5\uD574 /mcp \uC5D4\uB4DC\uD3EC\uC778\uD2B8\uC5D0\uC11C TaskNotes \uB3C4\uAD6C\uB97C \uB178\uCD9C\uD569\uB2C8\uB2E4. HTTP API\uAC00 \uD65C\uC131\uD654\uB418\uC5B4 \uC788\uC5B4\uC57C \uD569\uB2C8\uB2E4."}},endpoints:{header:"\uC0AC\uC6A9 \uAC00\uB2A5\uD55C API \uC5D4\uB4DC\uD3EC\uC778\uD2B8",expandIcon:"\u25B6",collapseIcon:"\u25BC"}},webhooks:{header:"\uC6F9\uD6C5",description:{overview:"\uC6F9\uD6C5\uC740 TaskNotes \uC774\uBCA4\uD2B8\uAC00 \uBC1C\uC0DD\uD560 \uB54C \uC678\uBD80 \uC11C\uBE44\uC2A4\uC5D0 \uC2E4\uC2DC\uAC04 \uC54C\uB9BC\uC744 \uBCF4\uB0C5\uB2C8\uB2E4.",usage:"\uC790\uB3D9\uD654 \uB3C4\uAD6C, \uB3D9\uAE30\uD654 \uC11C\uBE44\uC2A4 \uB610\uB294 \uC0AC\uC6A9\uC790 \uC9C0\uC815 \uC560\uD50C\uB9AC\uCF00\uC774\uC158\uACFC \uD1B5\uD569\uD558\uB824\uBA74 \uC6F9\uD6C5\uC744 \uAD6C\uC131\uD558\uC138\uC694."},addWebhook:{name:"\uC6F9\uD6C5 \uCD94\uAC00",description:"\uC0C8 \uC6F9\uD6C5 \uC5D4\uB4DC\uD3EC\uC778\uD2B8 \uB4F1\uB85D",buttonText:"\uC6F9\uD6C5 \uCD94\uAC00"},emptyState:{message:"\uC6F9\uD6C5\uC774 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uC2E4\uC2DC\uAC04 \uC54C\uB9BC\uC744 \uBC1B\uC73C\uB824\uBA74 \uC6F9\uD6C5\uC744 \uCD94\uAC00\uD558\uC138\uC694.",buttonText:"\uC6F9\uD6C5 \uCD94\uAC00"},labels:{active:"\uD65C\uC131:",url:"URL:",events:"\uC774\uBCA4\uD2B8:",transform:"\uBCC0\uD658:"},placeholders:{url:"\uC6F9\uD6C5 URL",noEventsSelected:"\uC120\uD0DD\uB41C \uC774\uBCA4\uD2B8 \uC5C6\uC74C",rawPayload:"\uC6D0\uBCF8 \uD398\uC774\uB85C\uB4DC (\uBCC0\uD658 \uC5C6\uC74C)"},statusLabels:{active:"\uD65C\uC131",inactive:"\uBE44\uD65C\uC131",created:"{timeAgo} \uC804 \uC0DD\uC131\uB428"},actions:{editEvents:"\uC774\uBCA4\uD2B8 \uD3B8\uC9D1",delete:"\uC0AD\uC81C"},editEvents:"\uC774\uBCA4\uD2B8 \uD3B8\uC9D1",notices:{urlUpdated:"\uC6F9\uD6C5 URL\uC774 \uC5C5\uB370\uC774\uD2B8\uB418\uC5C8\uC2B5\uB2C8\uB2E4",enabled:"\uC6F9\uD6C5\uC774 \uD65C\uC131\uD654\uB418\uC5C8\uC2B5\uB2C8\uB2E4",disabled:"\uC6F9\uD6C5\uC774 \uBE44\uD65C\uC131\uD654\uB418\uC5C8\uC2B5\uB2C8\uB2E4",created:"\uC6F9\uD6C5\uC774 \uC0DD\uC131\uB418\uC5C8\uC2B5\uB2C8\uB2E4",deleted:"\uC6F9\uD6C5\uC774 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4",updated:"\uC6F9\uD6C5\uC774 \uC5C5\uB370\uC774\uD2B8\uB418\uC5C8\uC2B5\uB2C8\uB2E4"},confirmDelete:{title:"\uC6F9\uD6C5 \uC0AD\uC81C",message:`\uC774 \uC6F9\uD6C5\uC744 \uC0AD\uC81C\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?
URL: {url}
\uC774 \uC791\uC5C5\uC740 \uCDE8\uC18C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.`,confirmText:"\uC0AD\uC81C"},cardHeader:"\uC6F9\uD6C5",cardFields:{active:"\uD65C\uC131:",url:"URL:",events:"\uC774\uBCA4\uD2B8:",transform:"\uBCC0\uD658:"},eventsDisplay:{noEvents:"\uC120\uD0DD\uB41C \uC774\uBCA4\uD2B8 \uC5C6\uC74C"},transformDisplay:{noTransform:"\uC6D0\uBCF8 \uD398\uC774\uB85C\uB4DC (\uBCC0\uD658 \uC5C6\uC74C)"},secretModal:{title:"\uC6F9\uD6C5 \uC2DC\uD06C\uB9BF \uC0DD\uC131\uB428",description:"\uC6F9\uD6C5 \uC2DC\uD06C\uB9BF\uC774 \uC0DD\uC131\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uB2E4\uC2DC \uBCFC \uC218 \uC5C6\uC73C\uBBC0\uB85C \uC774 \uC2DC\uD06C\uB9BF\uC744 \uC800\uC7A5\uD558\uC138\uC694:",usage:"\uC218\uC2E0 \uC560\uD50C\uB9AC\uCF00\uC774\uC158\uC5D0\uC11C \uC6F9\uD6C5 \uD398\uC774\uB85C\uB4DC\uB97C \uD655\uC778\uD558\uB294 \uB370 \uC774 \uC2DC\uD06C\uB9BF\uC744 \uC0AC\uC6A9\uD558\uC138\uC694.",gotIt:"\uD655\uC778"},editModal:{title:"\uC6F9\uD6C5 \uD3B8\uC9D1",eventsHeader:"\uAD6C\uB3C5\uD560 \uC774\uBCA4\uD2B8"},events:{taskCreated:{label:"\uC791\uC5C5 \uC0DD\uC131\uB428",description:"\uC0C8 \uC791\uC5C5\uC774 \uC0DD\uC131\uB420 \uB54C"},taskUpdated:{label:"\uC791\uC5C5 \uC5C5\uB370\uC774\uD2B8\uB428",description:"\uC791\uC5C5\uC774 \uC218\uC815\uB420 \uB54C"},taskCompleted:{label:"\uC791\uC5C5 \uC644\uB8CC\uB428",description:"\uC791\uC5C5\uC774 \uC644\uB8CC\uB85C \uD45C\uC2DC\uB420 \uB54C"},taskDeleted:{label:"\uC791\uC5C5 \uC0AD\uC81C\uB428",description:"\uC791\uC5C5\uC774 \uC0AD\uC81C\uB420 \uB54C"},taskArchived:{label:"\uC791\uC5C5 \uBCF4\uAD00\uB428",description:"\uC791\uC5C5\uC774 \uBCF4\uAD00\uB420 \uB54C"},taskUnarchived:{label:"\uC791\uC5C5 \uBCF4\uAD00 \uD574\uC81C\uB428",description:"\uC791\uC5C5\uC774 \uBCF4\uAD00 \uD574\uC81C\uB420 \uB54C"},timeStarted:{label:"\uC2DC\uAC04 \uCD94\uC801 \uC2DC\uC791\uB428",description:"\uC2DC\uAC04 \uCD94\uC801\uC774 \uC2DC\uC791\uB420 \uB54C"},timeStopped:{label:"\uC2DC\uAC04 \uCD94\uC801 \uC911\uC9C0\uB428",description:"\uC2DC\uAC04 \uCD94\uC801\uC774 \uC911\uC9C0\uB420 \uB54C"},pomodoroStarted:{label:"\uBF40\uBAA8\uB3C4\uB85C \uC2DC\uC791\uB428",description:"\uBF40\uBAA8\uB3C4\uB85C \uC138\uC158\uC774 \uC2DC\uC791\uB420 \uB54C"},pomodoroCompleted:{label:"\uBF40\uBAA8\uB3C4\uB85C \uC644\uB8CC\uB428",description:"\uBF40\uBAA8\uB3C4\uB85C \uC138\uC158\uC774 \uC644\uB8CC\uB420 \uB54C"},pomodoroInterrupted:{label:"\uBF40\uBAA8\uB3C4\uB85C \uC911\uB2E8\uB428",description:"\uBF40\uBAA8\uB3C4\uB85C \uC138\uC158\uC774 \uC911\uC9C0\uB420 \uB54C"},recurringCompleted:{label:"\uBC18\uBCF5 \uC778\uC2A4\uD134\uC2A4 \uC644\uB8CC\uB428",description:"\uBC18\uBCF5 \uC791\uC5C5 \uC778\uC2A4\uD134\uC2A4\uAC00 \uC644\uB8CC\uB420 \uB54C"},reminderTriggered:{label:"\uB9AC\uB9C8\uC778\uB354 \uD2B8\uB9AC\uAC70\uB428",description:"\uC791\uC5C5 \uB9AC\uB9C8\uC778\uB354\uAC00 \uD65C\uC131\uD654\uB420 \uB54C"}},modals:{secretGenerated:{title:"\uC6F9\uD6C5 \uC2DC\uD06C\uB9BF \uC0DD\uC131\uB428",description:"\uC6F9\uD6C5 \uC2DC\uD06C\uB9BF\uC774 \uC0DD\uC131\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uB2E4\uC2DC \uBCFC \uC218 \uC5C6\uC73C\uBBC0\uB85C \uC774 \uC2DC\uD06C\uB9BF\uC744 \uC800\uC7A5\uD558\uC138\uC694:",usage:"\uC218\uC2E0 \uC560\uD50C\uB9AC\uCF00\uC774\uC158\uC5D0\uC11C \uC6F9\uD6C5 \uD398\uC774\uB85C\uB4DC\uB97C \uD655\uC778\uD558\uB294 \uB370 \uC774 \uC2DC\uD06C\uB9BF\uC744 \uC0AC\uC6A9\uD558\uC138\uC694.",buttonText:"\uD655\uC778"},edit:{title:"\uC6F9\uD6C5 \uD3B8\uC9D1",eventsSection:"\uAD6C\uB3C5\uD560 \uC774\uBCA4\uD2B8",transformSection:"\uBCC0\uD658 \uAD6C\uC131 (\uC120\uD0DD\uC0AC\uD56D)",headersSection:"\uD5E4\uB354 \uAD6C\uC131",transformFile:{name:"\uBCC0\uD658 \uD30C\uC77C",description:"\uC6F9\uD6C5 \uD398\uC774\uB85C\uB4DC\uB97C \uBCC0\uD658\uD558\uB294 \uBCF4\uAD00\uC18C\uC758 .json \uD15C\uD50C\uB9BF \uD30C\uC77C \uACBD\uB85C",placeholder:"simple-template.json"},customHeaders:{name:"\uC0AC\uC6A9\uC790 \uC9C0\uC815 \uD5E4\uB354 \uD3EC\uD568",description:"TaskNotes \uD5E4\uB354 (\uC774\uBCA4\uD2B8 \uC720\uD615, \uC11C\uBA85, \uC804\uB2EC ID) \uD3EC\uD568. Discord, Slack \uBC0F \uC5C4\uACA9\uD55C CORS \uC815\uCC45\uC744 \uAC00\uC9C4 \uB2E4\uB978 \uC11C\uBE44\uC2A4\uC5D0\uC11C\uB294 \uBE44\uD65C\uC131\uD654\uD558\uC138\uC694."},buttons:{cancel:"\uCDE8\uC18C",save:"\uBCC0\uACBD \uC0AC\uD56D \uC800\uC7A5"},notices:{selectAtLeastOneEvent:"\uCD5C\uC18C \uD558\uB098\uC758 \uC774\uBCA4\uD2B8\uB97C \uC120\uD0DD\uD558\uC138\uC694"}},add:{title:"\uC6F9\uD6C5 \uCD94\uAC00",eventsSection:"\uAD6C\uB3C5\uD560 \uC774\uBCA4\uD2B8",transformSection:"\uBCC0\uD658 \uAD6C\uC131 (\uC120\uD0DD\uC0AC\uD56D)",headersSection:"\uD5E4\uB354 \uAD6C\uC131",url:{name:"\uC6F9\uD6C5 URL",description:"\uC6F9\uD6C5 \uD398\uC774\uB85C\uB4DC\uAC00 \uC804\uC1A1\uB420 \uC5D4\uB4DC\uD3EC\uC778\uD2B8",placeholder:"https://your-service.com/webhook"},transformFile:{name:"\uBCC0\uD658 \uD30C\uC77C",description:"\uC6F9\uD6C5 \uD398\uC774\uB85C\uB4DC\uB97C \uBCC0\uD658\uD558\uB294 \uBCF4\uAD00\uC18C\uC758 .json \uD15C\uD50C\uB9BF \uD30C\uC77C \uACBD\uB85C",placeholder:"simple-template.json"},customHeaders:{name:"\uC0AC\uC6A9\uC790 \uC9C0\uC815 \uD5E4\uB354 \uD3EC\uD568",description:"TaskNotes \uD5E4\uB354 (\uC774\uBCA4\uD2B8 \uC720\uD615, \uC11C\uBA85, \uC804\uB2EC ID) \uD3EC\uD568. Discord, Slack \uBC0F \uC5C4\uACA9\uD55C CORS \uC815\uCC45\uC744 \uAC00\uC9C4 \uB2E4\uB978 \uC11C\uBE44\uC2A4\uC5D0\uC11C\uB294 \uBE44\uD65C\uC131\uD654\uD558\uC138\uC694."},transformHelp:{title:"JSON \uBCC0\uD658 \uD15C\uD50C\uB9BF\uC744 \uC0AC\uC6A9\uD558\uC5EC \uC6F9\uD6C5 \uD398\uC774\uB85C\uB4DC\uB97C \uC0AC\uC6A9\uC790 \uC9C0\uC815\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4:",jsFiles:"",jsDescription:"",jsonFiles:".json \uD30C\uC77C:",jsonDescription:" ",jsonVariable:"${data.task.title}",leaveEmpty:"\uBE44\uC6CC\uB450\uAE30:",leaveEmptyDescription:" \uC6D0\uBCF8 \uB370\uC774\uD130 \uC804\uC1A1",example:"\uC608:",exampleFile:"simple-template.json"},buttons:{cancel:"\uCDE8\uC18C",add:"\uC6F9\uD6C5 \uCD94\uAC00"},notices:{urlRequired:"\uC6F9\uD6C5 URL\uC774 \uD544\uC694\uD569\uB2C8\uB2E4",selectAtLeastOneEvent:"\uCD5C\uC18C \uD558\uB098\uC758 \uC774\uBCA4\uD2B8\uB97C \uC120\uD0DD\uD558\uC138\uC694"}}}},otherIntegrations:{header:"\uAE30\uD0C0 \uD50C\uB7EC\uADF8\uC778 \uD1B5\uD569",description:"\uB2E4\uB978 Obsidian \uD50C\uB7EC\uADF8\uC778\uACFC\uC758 \uD1B5\uD569\uC744 \uC124\uC815\uD569\uB2C8\uB2E4."},mdbaseSpec:{header:"mdbase \uD0C0\uC785 \uC815\uC758",learnMore:"mdbase-spec\uC5D0 \uB300\uD574 \uC790\uC138\uD788 \uC54C\uC544\uBCF4\uAE30",enable:{name:"mdbase \uD0C0\uC785 \uC815\uC758 \uC0DD\uC131",description:"\uC124\uC815\uC774 \uBCC0\uACBD\uB420 \uB54C \uBCF4\uAD00\uC18C \uB8E8\uD2B8\uC5D0 mdbase \uD0C0\uC785 \uD30C\uC77C(mdbase.yaml \uBC0F _types/task.md)\uC744 \uC0DD\uC131\uD558\uACE0 \uC720\uC9C0\uD569\uB2C8\uB2E4."}},timeFormats:{justNow:"\uBC29\uAE08",minutesAgo:"{minutes}\uBD84 \uC804",hoursAgo:"{hours}\uC2DC\uAC04 \uC804",daysAgo:"{days}\uC77C \uC804"}}},notices:{languageChanged:"\uC5B8\uC5B4\uAC00 {language}(\uC73C)\uB85C \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",exportTasksFailed:"ICS \uD30C\uC77C\uB85C \uC791\uC5C5 \uB0B4\uBCF4\uB0B4\uAE30 \uC2E4\uD328",icsNoteCreatedSuccess:"\uB178\uD2B8\uAC00 \uC131\uACF5\uC801\uC73C\uB85C \uC0DD\uC131\uB418\uC5C8\uC2B5\uB2C8\uB2E4",icsCreationModalOpenFailed:"\uC0DD\uC131 \uBAA8\uB2EC \uC5F4\uAE30 \uC2E4\uD328",icsNoteLinkSuccess:'\uB178\uD2B8 "{fileName}"\uC774(\uAC00) ICS \uC774\uBCA4\uD2B8\uC5D0 \uC5F0\uACB0\uB418\uC5C8\uC2B5\uB2C8\uB2E4',icsTaskCreatedSuccess:"\uC791\uC5C5 \uC0DD\uC131\uB428: {title}",icsRelatedItemsRefreshed:"\uAD00\uB828 \uB178\uD2B8\uAC00 \uC0C8\uB85C\uACE0\uCE68\uB418\uC5C8\uC2B5\uB2C8\uB2E4",icsFileNotFound:"\uD30C\uC77C\uC744 \uCC3E\uC744 \uC218 \uC5C6\uAC70\uB098 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4",icsFileOpenFailed:"\uD30C\uC77C \uC5F4\uAE30 \uC2E4\uD328",timeblockAttachmentExists:'"{fileName}"\uC774(\uAC00) \uC774\uBBF8 \uCCA8\uBD80\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4',timeblockAttachmentAdded:'"{fileName}"\uC774(\uAC00) \uCCA8\uBD80 \uD30C\uC77C\uB85C \uCD94\uAC00\uB418\uC5C8\uC2B5\uB2C8\uB2E4',timeblockAttachmentRemoved:'"{fileName}"\uC774(\uAC00) \uCCA8\uBD80 \uD30C\uC77C\uC5D0\uC11C \uC81C\uAC70\uB418\uC5C8\uC2B5\uB2C8\uB2E4',timeblockFileTypeNotSupported:'"{fileName}"\uC744(\uB97C) \uC5F4 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4 - \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uB294 \uD30C\uC77C \uD615\uC2DD',timeblockTitleRequired:"\uD0C0\uC784\uBE14\uB85D \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694",timeblockUpdatedSuccess:'\uD0C0\uC784\uBE14\uB85D "{title}"\uC774(\uAC00) \uC131\uACF5\uC801\uC73C\uB85C \uC5C5\uB370\uC774\uD2B8\uB418\uC5C8\uC2B5\uB2C8\uB2E4',timeblockUpdateFailed:"\uD0C0\uC784\uBE14\uB85D \uC5C5\uB370\uC774\uD2B8 \uC2E4\uD328. \uC790\uC138\uD55C \uB0B4\uC6A9\uC740 \uCF58\uC194\uC744 \uD655\uC778\uD558\uC138\uC694.",timeblockDeletedSuccess:'\uD0C0\uC784\uBE14\uB85D "{title}"\uC774(\uAC00) \uC131\uACF5\uC801\uC73C\uB85C \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4',timeblockDeleteFailed:"\uD0C0\uC784\uBE14\uB85D \uC0AD\uC81C \uC2E4\uD328. \uC790\uC138\uD55C \uB0B4\uC6A9\uC740 \uCF58\uC194\uC744 \uD655\uC778\uD558\uC138\uC694.",timeblockRequiredFieldsMissing:"\uBAA8\uB4E0 \uD544\uC218 \uD544\uB4DC\uB97C \uC785\uB825\uD558\uC138\uC694",agendaLoadingFailed:"\uC77C\uC815 \uB85C\uB529 \uC911 \uC624\uB958. \uC0C8\uB85C\uACE0\uCE68\uC744 \uC2DC\uB3C4\uD558\uC138\uC694.",statsLoadingFailed:"\uD504\uB85C\uC81D\uD2B8 \uC138\uBD80\uC815\uBCF4 \uB85C\uB529 \uC911 \uC624\uB958."},commands:{openCalendarView:"\uBBF8\uB2C8 \uCE98\uB9B0\uB354 \uBDF0 \uC5F4\uAE30",openAdvancedCalendarView:"\uCE98\uB9B0\uB354 \uBDF0 \uC5F4\uAE30",openTasksView:"\uC791\uC5C5 \uBDF0 \uC5F4\uAE30",openNotesView:"\uB178\uD2B8 \uBDF0 \uC5F4\uAE30",openAgendaView:"\uC77C\uC815 \uBDF0 \uC5F4\uAE30",openPomodoroView:"\uBF40\uBAA8\uB3C4\uB85C \uD0C0\uC774\uBA38 \uC5F4\uAE30",openKanbanView:"\uCE78\uBC18 \uBCF4\uB4DC \uC5F4\uAE30",openPomodoroStats:"\uBF40\uBAA8\uB3C4\uB85C \uD1B5\uACC4 \uC5F4\uAE30",openStatisticsView:"\uC791\uC5C5 \uBC0F \uD504\uB85C\uC81D\uD2B8 \uD1B5\uACC4 \uC5F4\uAE30",createNewTask:"\uC0C8 \uC791\uC5C5 \uB9CC\uB4E4\uAE30",convertCurrentNoteToTask:{name:"\uD604\uC7AC \uB178\uD2B8\uB97C \uC791\uC5C5\uC73C\uB85C \uBCC0\uD658",noActiveFile:"\uBCC0\uD658\uD560 \uD65C\uC131 \uD30C\uC77C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",alreadyTask:"\uC774 \uB178\uD2B8\uB294 \uC774\uBBF8 \uC791\uC5C5\uC785\uB2C8\uB2E4",success:"'{title}'\uC744(\uB97C) \uC791\uC5C5\uC73C\uB85C \uBCC0\uD658\uD588\uC2B5\uB2C8\uB2E4"},convertToTaskNote:"\uCCB4\uD06C\uBC15\uC2A4 \uC791\uC5C5\uC744 TaskNote\uB85C \uBCC0\uD658",convertAllTasksInNote:"\uB178\uD2B8\uC758 \uBAA8\uB4E0 \uC791\uC5C5 \uBCC0\uD658",insertTaskNoteLink:"TaskNote \uB9C1\uD06C \uC0BD\uC785",createInlineTask:"\uC0C8 \uC778\uB77C\uC778 \uC791\uC5C5 \uB9CC\uB4E4\uAE30",quickActionsCurrentTask:"\uD604\uC7AC \uC791\uC5C5\uC758 \uBE60\uB978 \uC791\uC5C5",goToTodayNote:"\uC624\uB298\uC758 \uB178\uD2B8\uB85C \uC774\uB3D9",startPomodoro:"\uBF40\uBAA8\uB3C4\uB85C \uD0C0\uC774\uBA38 \uC2DC\uC791",stopPomodoro:"\uBF40\uBAA8\uB3C4\uB85C \uD0C0\uC774\uBA38 \uC911\uC9C0",pauseResumePomodoro:"\uBF40\uBAA8\uB3C4\uB85C \uD0C0\uC774\uBA38 \uC77C\uC2DC \uC815\uC9C0/\uC7AC\uAC1C",refreshCache:"\uCE90\uC2DC \uC0C8\uB85C\uACE0\uCE68",exportAllTasksIcs:"\uBAA8\uB4E0 \uC791\uC5C5\uC744 ICS \uD30C\uC77C\uB85C \uB0B4\uBCF4\uB0B4\uAE30",viewReleaseNotes:"\uB9B4\uB9AC\uC2A4 \uB178\uD2B8 \uBCF4\uAE30",startTimeTrackingWithSelector:"\uC2DC\uAC04 \uCD94\uC801 \uC2DC\uC791 (\uC791\uC5C5 \uC120\uD0DD)",editTimeEntries:"\uC2DC\uAC04 \uAE30\uB85D \uD3B8\uC9D1 (\uC791\uC5C5 \uC120\uD0DD)",createOrOpenTask:"\uC791\uC5C5 \uB9CC\uB4E4\uAE30 \uB610\uB294 \uC5F4\uAE30",syncAllTasksGoogleCalendar:"\uBAA8\uB4E0 \uC791\uC5C5\uC744 Google \uCE98\uB9B0\uB354\uC5D0 \uB3D9\uAE30\uD654",syncCurrentTaskGoogleCalendar:"\uD604\uC7AC \uC791\uC5C5\uC744 Google \uCE98\uB9B0\uB354\uC5D0 \uB3D9\uAE30\uD654"},modals:{deviceCode:{title:"Google \uCE98\uB9B0\uB354 \uC778\uC99D",instructions:{intro:"Google \uCE98\uB9B0\uB354\uC5D0 \uC5F0\uACB0\uD558\uB824\uBA74 \uB2E4\uC74C \uB2E8\uACC4\uB97C \uB530\uB974\uC138\uC694:"},steps:{open:"\uC5F4\uAE30",inBrowser:"(\uBE0C\uB77C\uC6B0\uC800\uC5D0\uC11C)",enterCode:"\uBA54\uC2DC\uC9C0\uAC00 \uD45C\uC2DC\uB418\uBA74 \uC774 \uCF54\uB4DC\uB97C \uC785\uB825\uD558\uC138\uC694:",signIn:"Google \uACC4\uC815\uC73C\uB85C \uB85C\uADF8\uC778\uD558\uACE0 \uC561\uC138\uC2A4 \uAD8C\uD55C\uC744 \uBD80\uC5EC\uD558\uC138\uC694",returnToObsidian:"Obsidian\uC73C\uB85C \uB3CC\uC544\uAC00\uC138\uC694 (\uC774 \uCC3D\uC740 \uC790\uB3D9\uC73C\uB85C \uB2EB\uD799\uB2C8\uB2E4)"},codeLabel:"\uCF54\uB4DC:",copyCodeAriaLabel:"\uCF54\uB4DC \uBCF5\uC0AC",waitingForAuthorization:"\uC778\uC99D \uB300\uAE30 \uC911...",openBrowserButton:"\uBE0C\uB77C\uC6B0\uC800 \uC5F4\uAE30",cancelButton:"\uCDE8\uC18C",expiresMinutesSeconds:"\uCF54\uB4DC \uB9CC\uB8CC: {minutes}\uBD84 {seconds}\uCD08",expiresSeconds:"\uCF54\uB4DC \uB9CC\uB8CC: {seconds}\uCD08"},icsEventInfo:{calendarEventHeading:"\uCE98\uB9B0\uB354 \uC774\uBCA4\uD2B8",titleLabel:"\uC81C\uBAA9",calendarLabel:"\uCE98\uB9B0\uB354",dateTimeLabel:"\uB0A0\uC9DC \uBC0F \uC2DC\uAC04",locationLabel:"\uC704\uCE58",descriptionLabel:"\uC124\uBA85",urlLabel:"URL",relatedNotesHeading:"\uAD00\uB828 \uB178\uD2B8 \uBC0F \uC791\uC5C5",noRelatedItems:"\uC774 \uC774\uBCA4\uD2B8\uC5D0 \uB300\uD55C \uAD00\uB828 \uB178\uD2B8\uB098 \uC791\uC5C5\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",typeTask:"\uC791\uC5C5",typeNote:"\uB178\uD2B8",actionsHeading:"\uC791\uC5C5",createFromEventLabel:"\uC774\uBCA4\uD2B8\uC5D0\uC11C \uC0DD\uC131",createFromEventDesc:"\uC774 \uCE98\uB9B0\uB354 \uC774\uBCA4\uD2B8\uC5D0\uC11C \uC0C8 \uB178\uD2B8\uB098 \uC791\uC5C5 \uC0DD\uC131",linkExistingLabel:"\uAE30\uC874 \uD56D\uBAA9 \uC5F0\uACB0",linkExistingDesc:"\uC774 \uCE98\uB9B0\uB354 \uC774\uBCA4\uD2B8\uC5D0 \uAE30\uC874 \uB178\uD2B8 \uC5F0\uACB0"},timeblockInfo:{editHeading:"\uD0C0\uC784\uBE14\uB85D \uD3B8\uC9D1",dateTimeLabel:"\uB0A0\uC9DC \uBC0F \uC2DC\uAC04: ",titleLabel:"\uC81C\uBAA9",titleDesc:"\uD0C0\uC784\uBE14\uB85D \uC81C\uBAA9",titlePlaceholder:"\uC608: \uC9D1\uC911 \uC791\uC5C5 \uC2DC\uAC04",descriptionLabel:"\uC124\uBA85",descriptionDesc:"\uD0C0\uC784\uBE14\uB85D\uC5D0 \uB300\uD55C \uC120\uD0DD\uC801 \uC124\uBA85",descriptionPlaceholder:"\uC0C8 \uAE30\uB2A5\uC5D0 \uC9D1\uC911, \uBC29\uD574 \uAE08\uC9C0",colorLabel:"\uC0C9\uC0C1",colorDesc:"\uD0C0\uC784\uBE14\uB85D\uC758 \uC120\uD0DD\uC801 \uC0C9\uC0C1",colorPlaceholder:"#3b82f6",attachmentsLabel:"\uCCA8\uBD80 \uD30C\uC77C",attachmentsDesc:"\uC774 \uD0C0\uC784\uBE14\uB85D\uC5D0 \uC5F0\uACB0\uB41C \uD30C\uC77C \uB610\uB294 \uB178\uD2B8",addAttachmentButton:"\uCCA8\uBD80 \uD30C\uC77C \uCD94\uAC00",addAttachmentTooltip:"\uD37C\uC9C0 \uAC80\uC0C9\uC744 \uC0AC\uC6A9\uD558\uC5EC \uD30C\uC77C \uB610\uB294 \uB178\uD2B8 \uC120\uD0DD",deleteButton:"\uD0C0\uC784\uBE14\uB85D \uC0AD\uC81C",saveButton:"\uBCC0\uACBD \uC0AC\uD56D \uC800\uC7A5",deleteConfirmationTitle:"\uD0C0\uC784\uBE14\uB85D \uC0AD\uC81C"},timeblockCreation:{heading:"\uD0C0\uC784\uBE14\uB85D \uB9CC\uB4E4\uAE30",dateLabel:"\uB0A0\uC9DC: ",titleLabel:"\uC81C\uBAA9",titleDesc:"\uD0C0\uC784\uBE14\uB85D \uC81C\uBAA9",titlePlaceholder:"\uC608: \uC9D1\uC911 \uC791\uC5C5 \uC2DC\uAC04",startTimeLabel:"\uC2DC\uC791 \uC2DC\uAC04",startTimeDesc:"\uD0C0\uC784\uBE14\uB85D \uC2DC\uC791 \uC2DC\uAC04",startTimePlaceholder:"09:00",endTimeLabel:"\uC885\uB8CC \uC2DC\uAC04",endTimeDesc:"\uD0C0\uC784\uBE14\uB85D \uC885\uB8CC \uC2DC\uAC04",endTimePlaceholder:"11:00",descriptionLabel:"\uC124\uBA85",descriptionDesc:"\uD0C0\uC784\uBE14\uB85D\uC5D0 \uB300\uD55C \uC120\uD0DD\uC801 \uC124\uBA85",descriptionPlaceholder:"\uC0C8 \uAE30\uB2A5\uC5D0 \uC9D1\uC911, \uBC29\uD574 \uAE08\uC9C0",colorLabel:"\uC0C9\uC0C1",colorDesc:"\uD0C0\uC784\uBE14\uB85D\uC758 \uC120\uD0DD\uC801 \uC0C9\uC0C1",colorPlaceholder:"#3b82f6",attachmentsLabel:"\uCCA8\uBD80 \uD30C\uC77C",attachmentsDesc:"\uC774 \uD0C0\uC784\uBE14\uB85D\uC5D0 \uC5F0\uACB0\uD560 \uD30C\uC77C \uB610\uB294 \uB178\uD2B8",addAttachmentButton:"\uCCA8\uBD80 \uD30C\uC77C \uCD94\uAC00",addAttachmentTooltip:"\uD37C\uC9C0 \uAC80\uC0C9\uC744 \uC0AC\uC6A9\uD558\uC5EC \uD30C\uC77C \uB610\uB294 \uB178\uD2B8 \uC120\uD0DD",createButton:"\uD0C0\uC784\uBE14\uB85D \uB9CC\uB4E4\uAE30"},calendarEventCreation:{heading:"\uCE98\uB9B0\uB354 \uC774\uBCA4\uD2B8 \uB9CC\uB4E4\uAE30",dateTimeLabel:"\uB0A0\uC9DC \uBC0F \uC2DC\uAC04: ",titleLabel:"\uC81C\uBAA9",titleDesc:"\uCE98\uB9B0\uB354 \uC774\uBCA4\uD2B8 \uC81C\uBAA9",titlePlaceholder:"\uC608: \uD300 \uD68C\uC758",calendarLabel:"\uCE98\uB9B0\uB354",calendarDesc:"\uC774\uBCA4\uD2B8\uB97C \uB9CC\uB4E4 \uCE98\uB9B0\uB354",descriptionLabel:"\uC124\uBA85",descriptionDesc:"\uC774\uBCA4\uD2B8\uC5D0 \uB300\uD55C \uC120\uD0DD\uC801 \uC124\uBA85",descriptionPlaceholder:"\uC774\uBCA4\uD2B8\uC5D0 \uB300\uD55C \uC138\uBD80\uC815\uBCF4 \uCD94\uAC00...",locationLabel:"\uC704\uCE58",locationDesc:"\uC774\uBCA4\uD2B8\uC758 \uC120\uD0DD\uC801 \uC704\uCE58",locationPlaceholder:"\uC608: \uD68C\uC758\uC2E4 A",createButton:"\uC774\uBCA4\uD2B8 \uB9CC\uB4E4\uAE30",titleRequired:"\uC774\uBCA4\uD2B8 \uC81C\uBAA9\uC740 \uD544\uC218\uC785\uB2C8\uB2E4",noCalendarSelected:"\uCE98\uB9B0\uB354\uAC00 \uC120\uD0DD\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4",success:'\uCE98\uB9B0\uB354 \uC774\uBCA4\uD2B8 "{title}" \uC0DD\uC131\uB428',error:"\uCE98\uB9B0\uB354 \uC774\uBCA4\uD2B8 \uC0DD\uC131 \uC2E4\uD328: {message}"},icsNoteCreation:{heading:"ICS \uC774\uBCA4\uD2B8\uC5D0\uC11C \uC0DD\uC131",titleLabel:"\uC81C\uBAA9",titleDesc:"\uC0C8 \uCF58\uD150\uCE20\uC758 \uC81C\uBAA9",folderLabel:"\uD3F4\uB354",folderDesc:"\uB300\uC0C1 \uD3F4\uB354 (\uBCF4\uAD00\uC18C \uB8E8\uD2B8\uB97C \uC0AC\uC6A9\uD558\uB824\uBA74 \uBE44\uC6CC\uB450\uC138\uC694)",folderPlaceholder:"\uD3F4\uB354/\uD558\uC704\uD3F4\uB354",createButton:"\uC0DD\uC131",startLabel:"\uC2DC\uC791: ",endLabel:"\uC885\uB8CC: ",locationLabel:"\uC704\uCE58: ",calendarLabel:"\uCE98\uB9B0\uB354: ",useTemplateLabel:"\uD15C\uD50C\uB9BF \uC0AC\uC6A9",useTemplateDesc:"\uCF58\uD150\uCE20 \uC0DD\uC131 \uC2DC \uD15C\uD50C\uB9BF \uC801\uC6A9",templatePathLabel:"\uD15C\uD50C\uB9BF \uACBD\uB85C",templatePathDesc:"\uD15C\uD50C\uB9BF \uD30C\uC77C \uACBD\uB85C",templatePathPlaceholder:"\uD15C\uD50C\uB9BF/ICS \uB178\uD2B8 \uD15C\uD50C\uB9BF.md"},unscheduledTasksSelector:{title:"\uC608\uC815\uB418\uC9C0 \uC54A\uC740 \uC791\uC5C5",placeholder:"\uC608\uC815\uB418\uC9C0 \uC54A\uC740 \uC791\uC5C5\uC744 \uAC80\uC0C9\uD558\uC138\uC694...",instructions:{navigate:"\uD0D0\uC0C9",schedule:"\uC608\uC815",dismiss:"\uB2EB\uAE30"}},migration:{title:"\uC0C8 \uBC18\uBCF5 \uC2DC\uC2A4\uD15C\uC73C\uB85C \uB9C8\uC774\uADF8\uB808\uC774\uC158",description:"TaskNotes\uB294 \uC774\uC81C \uBC18\uBCF5\uC5D0 \uB300\uD574 \uC5C5\uACC4 \uD45C\uC900 RRULE \uD328\uD134\uC744 \uC0AC\uC6A9\uD569\uB2C8\uB2E4. \uC774\uB97C \uD1B5\uD574 \uB354 \uBCF5\uC7A1\uD55C \uC77C\uC815\uACFC \uB2E4\uB978 \uC571\uACFC\uC758 \uD638\uD658\uC131\uC774 \uD5A5\uC0C1\uB429\uB2C8\uB2E4.",tasksFound:"\uC774\uC804 \uBC18\uBCF5 \uD328\uD134\uC744 \uAC00\uC9C4 {count}\uAC1C\uC758 \uC791\uC5C5\uC774 \uAC10\uC9C0\uB418\uC5C8\uC2B5\uB2C8\uB2E4",noMigrationNeeded:"\uB9C8\uC774\uADF8\uB808\uC774\uC158\uC774 \uD544\uC694\uD55C \uC791\uC5C5\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",warnings:{title:"\uC9C4\uD589\uD558\uAE30 \uC804\uC5D0:",backup:"\uB9C8\uC774\uADF8\uB808\uC774\uC158 \uC804\uC5D0 \uBCF4\uAD00\uC18C\uB97C \uBC31\uC5C5\uD558\uC138\uC694",conversion:"\uC774\uC804 \uBC18\uBCF5 \uD328\uD134\uC774 \uC0C8 \uD615\uC2DD\uC73C\uB85C \uBCC0\uD658\uB429\uB2C8\uB2E4",normalUsage:"\uB9C8\uC774\uADF8\uB808\uC774\uC158 \uC911\uC5D0\uB3C4 TaskNotes\uB97C \uC815\uC0C1\uC801\uC73C\uB85C \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4",permanent:"\uC774 \uBCC0\uACBD\uC740 \uC601\uAD6C\uC801\uC774\uBA70 \uC790\uB3D9\uC73C\uB85C \uC2E4\uD589 \uCDE8\uC18C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4"},benefits:{title:"\uC0C8 \uC2DC\uC2A4\uD15C\uC758 \uC774\uC810:",powerfulPatterns:"\uBCF5\uC7A1\uD55C \uBC18\uBCF5 \uD328\uD134 (\uC608: '\uB9E4\uC6D4 \uB450 \uBC88\uC9F8 \uD654\uC694\uC77C')",performance:"\uBC18\uBCF5 \uC791\uC5C5\uC5D0 \uB300\uD55C \uB354 \uB098\uC740 \uC131\uB2A5",compatibility:"\uB2E4\uB978 \uC571\uACFC \uD638\uD658\uB418\uB294 \uD45C\uC900 \uBC18\uBCF5 \uD615\uC2DD",nlp:"\uD5A5\uC0C1\uB41C \uC790\uC5F0\uC5B4 \uCC98\uB9AC \uC9C0\uC6D0"},progress:{title:"\uB9C8\uC774\uADF8\uB808\uC774\uC158 \uC9C4\uD589 \uC0C1\uD669",preparing:"\uB9C8\uC774\uADF8\uB808\uC774\uC158 \uC900\uBE44 \uC911...",completed:"\uB9C8\uC774\uADF8\uB808\uC774\uC158\uC774 \uC131\uACF5\uC801\uC73C\uB85C \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4",failed:"\uB9C8\uC774\uADF8\uB808\uC774\uC158 \uC2E4\uD328"},buttons:{migrate:"\uB9C8\uC774\uADF8\uB808\uC774\uC158 \uC2DC\uC791",completed:"\uB2EB\uAE30"},errors:{title:"\uB9C8\uC774\uADF8\uB808\uC774\uC158 \uC911 \uC624\uB958:"},notices:{completedWithErrors:"\uC77C\uBD80 \uC624\uB958\uC640 \uD568\uAED8 \uB9C8\uC774\uADF8\uB808\uC774\uC158\uC774 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uC704\uC758 \uC624\uB958 \uBAA9\uB85D\uC744 \uD655\uC778\uD558\uC138\uC694.",success:"\uBAA8\uB4E0 \uC791\uC5C5\uC774 \uC131\uACF5\uC801\uC73C\uB85C \uB9C8\uC774\uADF8\uB808\uC774\uC158\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",failed:"\uB9C8\uC774\uADF8\uB808\uC774\uC158 \uC2E4\uD328. \uC790\uC138\uD55C \uB0B4\uC6A9\uC740 \uCF58\uC194\uC744 \uD655\uC778\uD558\uC138\uC694."},prompt:{message:"TaskNotes\uC5D0\uC11C \uC774\uC804 \uBC18\uBCF5 \uD615\uC2DD\uC744 \uC0AC\uC6A9\uD558\uB294 \uC791\uC5C5\uC744 \uAC10\uC9C0\uD588\uC2B5\uB2C8\uB2E4. \uC9C0\uAE08 \uC0C8 \uC2DC\uC2A4\uD15C\uC73C\uB85C \uB9C8\uC774\uADF8\uB808\uC774\uC158\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",migrateNow:"\uC9C0\uAE08 \uB9C8\uC774\uADF8\uB808\uC774\uC158",remindLater:"\uB098\uC911\uC5D0 \uC54C\uB9BC"}},task:{titlePlaceholder:"\uBB34\uC5C7\uC744 \uD574\uC57C \uD558\uB098\uC694?",titleLabel:"\uC81C\uBAA9",titleDetailedPlaceholder:"\uC791\uC5C5 \uC81C\uBAA9...",detailsLabel:"\uC138\uBD80\uC815\uBCF4",detailsPlaceholder:"\uC138\uBD80\uC815\uBCF4 \uCD94\uAC00...",projectsLabel:"\uD504\uB85C\uC81D\uD2B8",projectsAdd:"\uD504\uB85C\uC81D\uD2B8 \uCD94\uAC00",projectsTooltip:"\uD37C\uC9C0 \uAC80\uC0C9\uC744 \uC0AC\uC6A9\uD558\uC5EC \uD504\uB85C\uC81D\uD2B8 \uB178\uD2B8 \uC120\uD0DD",projectsRemoveTooltip:"\uD504\uB85C\uC81D\uD2B8 \uC81C\uAC70",contextsLabel:"\uCEE8\uD14D\uC2A4\uD2B8",contextsPlaceholder:"\uCEE8\uD14D\uC2A4\uD2B81, \uCEE8\uD14D\uC2A4\uD2B82",tagsLabel:"\uD0DC\uADF8",tagsPlaceholder:"\uD0DC\uADF81, \uD0DC\uADF82",timeEstimateLabel:"\uC2DC\uAC04 \uC608\uC0C1 (\uBD84)",timeEstimatePlaceholder:"30",unsavedChanges:{title:"\uC800\uC7A5\uB418\uC9C0 \uC54A\uC740 \uBCC0\uACBD \uC0AC\uD56D",message:"\uC800\uC7A5\uB418\uC9C0 \uC54A\uC740 \uBCC0\uACBD \uC0AC\uD56D\uC774 \uC788\uC2B5\uB2C8\uB2E4. \uC800\uC7A5\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",save:"\uBCC0\uACBD \uC0AC\uD56D \uC800\uC7A5",discard:"\uBCC0\uACBD \uC0AC\uD56D \uBC84\uB9AC\uAE30",cancel:"\uACC4\uC18D \uD3B8\uC9D1"},dependencies:{blockedBy:"\uCC28\uB2E8 \uC6D0\uC778",blocking:"\uCC28\uB2E8 \uC911",placeholder:"[[\uC791\uC5C5 \uB178\uD2B8]]",addTaskButton:"\uC791\uC5C5 \uCD94\uAC00",selectTaskTooltip:"\uD37C\uC9C0 \uAC80\uC0C9\uC744 \uC0AC\uC6A9\uD558\uC5EC \uC791\uC5C5 \uB178\uD2B8 \uC120\uD0DD",removeTaskTooltip:"\uC791\uC5C5 \uC81C\uAC70"},organization:{projects:"\uD504\uB85C\uC81D\uD2B8",subtasks:"\uD558\uC704 \uC791\uC5C5",addToProject:"\uD504\uB85C\uC81D\uD2B8\uC5D0 \uCD94\uAC00",addToProjectButton:"\uD504\uB85C\uC81D\uD2B8\uC5D0 \uCD94\uAC00",addSubtasks:"\uD558\uC704 \uC791\uC5C5 \uCD94\uAC00",addSubtasksButton:"\uD558\uC704 \uC791\uC5C5 \uCD94\uAC00",addSubtasksTooltip:"\uC774 \uC791\uC5C5\uC758 \uD558\uC704 \uC791\uC5C5\uC73C\uB85C \uB9CC\uB4E4 \uC791\uC5C5 \uC120\uD0DD",removeSubtaskTooltip:"\uD558\uC704 \uC791\uC5C5 \uC81C\uAC70",notices:{noEligibleSubtasks:"\uD558\uC704 \uC791\uC5C5\uC73C\uB85C \uC9C0\uC815\uD560 \uC218 \uC788\uB294 \uC791\uC5C5\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",subtaskSelectFailed:"\uD558\uC704 \uC791\uC5C5 \uC120\uD0DD\uAE30 \uC5F4\uAE30 \uC2E4\uD328"}},customFieldsLabel:"\uC0AC\uC6A9\uC790 \uC9C0\uC815 \uD544\uB4DC",actions:{due:"\uB9C8\uAC10\uC77C \uC124\uC815",scheduled:"\uC608\uC815\uC77C \uC124\uC815",status:"\uC0C1\uD0DC \uC124\uC815",priority:"\uC6B0\uC120\uC21C\uC704 \uC124\uC815",recurrence:"\uBC18\uBCF5 \uC124\uC815",reminders:"\uB9AC\uB9C8\uC778\uB354 \uC124\uC815"},buttons:{openNote:"\uB178\uD2B8 \uC5F4\uAE30",save:"\uC800\uC7A5"},tooltips:{dueValue:"\uB9C8\uAC10: {value}",scheduledValue:"\uC608\uC815: {value}",statusValue:"\uC0C1\uD0DC: {value}",priorityValue:"\uC6B0\uC120\uC21C\uC704: {value}",recurrenceValue:"\uBC18\uBCF5: {value}",remindersSingle:"1\uAC1C\uC758 \uB9AC\uB9C8\uC778\uB354 \uC124\uC815\uB428",remindersPlural:"{count}\uAC1C\uC758 \uB9AC\uB9C8\uC778\uB354 \uC124\uC815\uB428"},dateMenu:{dueTitle:"\uB9C8\uAC10\uC77C \uC124\uC815",scheduledTitle:"\uC608\uC815\uC77C \uC124\uC815"},userFields:{textPlaceholder:"{field} \uC785\uB825...",numberPlaceholder:"0",datePlaceholder:"YYYY-MM-DD",listPlaceholder:"\uD56D\uBAA91, \uD56D\uBAA92, \uD56D\uBAA93",pickDate:"{field} \uB0A0\uC9DC \uC120\uD0DD"},recurrence:{daily:"\uB9E4\uC77C",weekly:"\uB9E4\uC8FC",everyTwoWeeks:"2\uC8FC\uB9C8\uB2E4",weekdays:"\uD3C9\uC77C",weeklyOn:"{days}\uB9C8\uB2E4",monthly:"\uB9E4\uC6D4",everyThreeMonths:"3\uAC1C\uC6D4\uB9C8\uB2E4",monthlyOnOrdinal:"\uB9E4\uC6D4 {ordinal}",monthlyByWeekday:"\uB9E4\uC6D4 (\uC694\uC77C \uAE30\uC900)",yearly:"\uB9E4\uB144",yearlyOn:"\uB9E4\uB144 {month} {day}",custom:"\uC0AC\uC6A9\uC790 \uC9C0\uC815",countSuffix:"{count}\uD68C",untilSuffix:"{date}\uAE4C\uC9C0",ordinal:"{number}{suffix}"}},taskSelector:{title:"\uC791\uC5C5 \uC120\uD0DD",placeholder:"\uC791\uC5C5\uC744 \uAC80\uC0C9\uD558\uC138\uC694...",instructions:{navigate:"\uD0D0\uC0C9",select:"\uC120\uD0DD",dismiss:"\uCDE8\uC18C"},notices:{noteNotFound:'"{name}" \uB178\uD2B8\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4'},dueDate:{overdue:"\uB9C8\uAC10: {date} (\uC9C0\uC5F0\uB428)",today:"\uB9C8\uAC10: \uC624\uB298"}},taskSelectorWithCreate:{title:"\uC791\uC5C5 \uB9CC\uB4E4\uAE30 \uB610\uB294 \uC5F4\uAE30",placeholder:"\uC791\uC5C5\uC744 \uAC80\uC0C9\uD558\uAC70\uB098 \uC0C8\uB85C \uB9CC\uB4E4\uB824\uBA74 \uC785\uB825\uD558\uC138\uC694...",instructions:{create:"\uC0C8 \uC791\uC5C5 \uB9CC\uB4E4\uAE30"},footer:{createLabel:" \uB9CC\uB4E4\uAE30: "},notices:{emptyQuery:"\uC791\uC5C5 \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694",invalidTitle:"\uC720\uD6A8\uD55C \uC791\uC5C5 \uC81C\uBAA9\uC744 \uD30C\uC2F1\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4"}},taskCreation:{title:"\uC791\uC5C5 \uB9CC\uB4E4\uAE30",actions:{fillFromNaturalLanguage:"\uC790\uC5F0\uC5B4\uC5D0\uC11C \uC591\uC2DD \uCC44\uC6B0\uAE30",hideDetailedOptions:"\uC0C1\uC138 \uC635\uC158 \uC228\uAE30\uAE30",showDetailedOptions:"\uC0C1\uC138 \uC635\uC158 \uBCF4\uAE30"},nlPlaceholder:"\uB0B4\uC77C \uC624\uD6C4 3\uC2DC\uC5D0 \uC7A5\uBCF4\uAE30 @home #\uC2EC\uBD80\uB984",notices:{titleRequired:"\uC791\uC5C5 \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694",success:'\uC791\uC5C5 "{title}"\uC774(\uAC00) \uC131\uACF5\uC801\uC73C\uB85C \uC0DD\uC131\uB418\uC5C8\uC2B5\uB2C8\uB2E4',successShortened:'\uC791\uC5C5 "{title}"\uC774(\uAC00) \uC131\uACF5\uC801\uC73C\uB85C \uC0DD\uC131\uB418\uC5C8\uC2B5\uB2C8\uB2E4 (\uAE38\uC774\uB85C \uC778\uD574 \uD30C\uC77C\uBA85\uC774 \uB2E8\uCD95\uB428)',failure:"\uC791\uC5C5 \uC0DD\uC131 \uC2E4\uD328: {message}",blockingUnresolved:"\uD574\uACB0\uD560 \uC218 \uC5C6\uC74C: {entries}"}},taskEdit:{title:"\uC791\uC5C5 \uD3B8\uC9D1",sections:{completions:"\uC644\uB8CC",taskInfo:"\uC791\uC5C5 \uC815\uBCF4"},metadata:{totalTrackedTime:"\uCD1D \uAE30\uB85D \uC2DC\uAC04:",created:"\uC0DD\uC131:",modified:"\uC218\uC815:",file:"\uD30C\uC77C:"},buttons:{archive:"\uBCF4\uAD00",unarchive:"\uBCF4\uAD00 \uD574\uC81C"},notices:{titleRequired:"\uC791\uC5C5 \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694",noChanges:"\uC800\uC7A5\uD560 \uBCC0\uACBD \uC0AC\uD56D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",updateSuccess:'\uC791\uC5C5 "{title}"\uC774(\uAC00) \uC131\uACF5\uC801\uC73C\uB85C \uC5C5\uB370\uC774\uD2B8\uB418\uC5C8\uC2B5\uB2C8\uB2E4',updateFailure:"\uC791\uC5C5 \uC5C5\uB370\uC774\uD2B8 \uC2E4\uD328: {message}",dependenciesUpdateSuccess:"\uC885\uC18D\uC131\uC774 \uC5C5\uB370\uC774\uD2B8\uB418\uC5C8\uC2B5\uB2C8\uB2E4",blockingUnresolved:"\uD574\uACB0\uD560 \uC218 \uC5C6\uC74C: {entries}",fileMissing:"\uC791\uC5C5 \uD30C\uC77C\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4: {path}",openNoteFailure:"\uC791\uC5C5 \uB178\uD2B8 \uC5F4\uAE30 \uC2E4\uD328",archiveSuccess:"\uC791\uC5C5\uC774 \uC131\uACF5\uC801\uC73C\uB85C {action}\uB418\uC5C8\uC2B5\uB2C8\uB2E4",archiveFailure:"\uC791\uC5C5 \uBCF4\uAD00 \uC2E4\uD328"},archiveAction:{archived:"\uBCF4\uAD00\uB428",unarchived:"\uBCF4\uAD00 \uD574\uC81C\uB428"}},storageLocation:{title:{migrate:"\uBF40\uBAA8\uB3C4\uB85C \uB370\uC774\uD130\uB97C \uB9C8\uC774\uADF8\uB808\uC774\uC158\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",switch:"\uB370\uC77C\uB9AC \uB178\uD2B8 \uC800\uC7A5\uC18C\uB85C \uC804\uD658\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?"},message:{migrate:"\uC774 \uC791\uC5C5\uC740 \uAE30\uC874 \uBF40\uBAA8\uB3C4\uB85C \uC138\uC158 \uB370\uC774\uD130\uB97C \uB370\uC77C\uB9AC \uB178\uD2B8 \uD504\uB860\uD2B8\uB9E4\uD130\uB85C \uB9C8\uC774\uADF8\uB808\uC774\uC158\uD569\uB2C8\uB2E4. \uB370\uC774\uD130\uB294 \uB0A0\uC9DC\uBCC4\uB85C \uADF8\uB8F9\uD654\uB418\uC5B4 \uAC01 \uB370\uC77C\uB9AC \uB178\uD2B8\uC5D0 \uC800\uC7A5\uB429\uB2C8\uB2E4.",switch:"\uBF40\uBAA8\uB3C4\uB85C \uC138\uC158 \uB370\uC774\uD130\uAC00 \uD50C\uB7EC\uADF8\uC778 \uB370\uC774\uD130 \uD30C\uC77C \uB300\uC2E0 \uB370\uC77C\uB9AC \uB178\uD2B8 \uD504\uB860\uD2B8\uB9E4\uD130\uC5D0 \uC800\uC7A5\uB429\uB2C8\uB2E4."},whatThisMeans:"\uC774\uAC83\uC774 \uC758\uBBF8\uD558\uB294 \uAC83:",bullets:{dailyNotesRequired:"\uB370\uC77C\uB9AC \uB178\uD2B8 \uCF54\uC5B4 \uD50C\uB7EC\uADF8\uC778\uC774 \uD65C\uC131\uD654\uB418\uC5B4 \uC788\uC5B4\uC57C \uD569\uB2C8\uB2E4",storedInNotes:"\uB370\uC774\uD130\uAC00 \uB370\uC77C\uB9AC \uB178\uD2B8 \uD504\uB860\uD2B8\uB9E4\uD130\uC5D0 \uC800\uC7A5\uB429\uB2C8\uB2E4",migrateData:"\uAE30\uC874 \uD50C\uB7EC\uADF8\uC778 \uB370\uC774\uD130\uAC00 \uB9C8\uC774\uADF8\uB808\uC774\uC158\uB41C \uD6C4 \uC9C0\uC6CC\uC9D1\uB2C8\uB2E4",futureSessions:"\uD5A5\uD6C4 \uC138\uC158\uC740 \uB370\uC77C\uB9AC \uB178\uD2B8\uC5D0 \uC800\uC7A5\uB429\uB2C8\uB2E4",dataLongevity:"\uB178\uD2B8\uC640 \uD568\uAED8 \uB354 \uB098\uC740 \uB370\uC774\uD130 \uC218\uBA85\uC744 \uC81C\uACF5\uD569\uB2C8\uB2E4"},finalNote:{migrate:"\u26A0\uFE0F \uD544\uC694\uD55C \uACBD\uC6B0 \uBC31\uC5C5\uC774 \uC788\uB294\uC9C0 \uD655\uC778\uD558\uC138\uC694. \uC774 \uBCC0\uACBD\uC740 \uC790\uB3D9\uC73C\uB85C \uC2E4\uD589 \uCDE8\uC18C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",switch:"\uD5A5\uD6C4 \uC5B8\uC81C\uB4E0\uC9C0 \uD50C\uB7EC\uADF8\uC778 \uC800\uC7A5\uC18C\uB85C \uB2E4\uC2DC \uC804\uD658\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4."},buttons:{migrate:"\uB370\uC774\uD130 \uB9C8\uC774\uADF8\uB808\uC774\uC158",switch:"\uC800\uC7A5\uC18C \uC804\uD658"}},dueDate:{title:"\uB9C8\uAC10\uC77C \uC124\uC815",taskLabel:"\uC791\uC5C5: {title}",sections:{dateTime:"\uB9C8\uAC10\uC77C \uBC0F \uC2DC\uAC04",quickOptions:"\uBE60\uB978 \uC635\uC158"},descriptions:{dateTime:"\uC774 \uC791\uC5C5\uC744 \uC644\uB8CC\uD574\uC57C \uD558\uB294 \uC2DC\uAC04 \uC124\uC815"},inputs:{date:{ariaLabel:"\uC791\uC5C5 \uB9C8\uAC10\uC77C",placeholder:"YYYY-MM-DD"},time:{ariaLabel:"\uC791\uC5C5 \uB9C8\uAC10 \uC2DC\uAC04 (\uC120\uD0DD\uC0AC\uD56D)",placeholder:"HH:MM"}},quickOptions:{today:"\uC624\uB298",todayAriaLabel:"\uB9C8\uAC10\uC77C\uC744 \uC624\uB298\uB85C \uC124\uC815",tomorrow:"\uB0B4\uC77C",tomorrowAriaLabel:"\uB9C8\uAC10\uC77C\uC744 \uB0B4\uC77C\uB85C \uC124\uC815",nextWeek:"\uB2E4\uC74C \uC8FC",nextWeekAriaLabel:"\uB9C8\uAC10\uC77C\uC744 \uB2E4\uC74C \uC8FC\uB85C \uC124\uC815",now:"\uC9C0\uAE08",nowAriaLabel:"\uB9C8\uAC10\uC77C\uACFC \uC2DC\uAC04\uC744 \uC9C0\uAE08\uC73C\uB85C \uC124\uC815",clear:"\uC9C0\uC6B0\uAE30",clearAriaLabel:"\uB9C8\uAC10\uC77C \uC9C0\uC6B0\uAE30"},errors:{invalidDateTime:"\uC720\uD6A8\uD55C \uB0A0\uC9DC \uBC0F \uC2DC\uAC04 \uD615\uC2DD\uC744 \uC785\uB825\uD558\uC138\uC694",updateFailed:"\uB9C8\uAC10\uC77C \uC5C5\uB370\uC774\uD2B8 \uC2E4\uD328. \uB2E4\uC2DC \uC2DC\uB3C4\uD558\uC138\uC694."}},scheduledDate:{title:"\uC608\uC815\uC77C \uC124\uC815",taskLabel:"\uC791\uC5C5: {title}",sections:{dateTime:"\uC608\uC815\uC77C \uBC0F \uC2DC\uAC04",quickOptions:"\uBE60\uB978 \uC635\uC158"},descriptions:{dateTime:"\uC774 \uC791\uC5C5\uC744 \uC218\uD589\uD560 \uC2DC\uAC04 \uC124\uC815"},inputs:{date:{ariaLabel:"\uC791\uC5C5 \uC608\uC815\uC77C",placeholder:"YYYY-MM-DD"},time:{ariaLabel:"\uC791\uC5C5 \uC608\uC815 \uC2DC\uAC04 (\uC120\uD0DD\uC0AC\uD56D)",placeholder:"HH:MM"}},quickOptions:{today:"\uC624\uB298",todayAriaLabel:"\uC608\uC815\uC77C\uC744 \uC624\uB298\uB85C \uC124\uC815",tomorrow:"\uB0B4\uC77C",tomorrowAriaLabel:"\uC608\uC815\uC77C\uC744 \uB0B4\uC77C\uB85C \uC124\uC815",nextWeek:"\uB2E4\uC74C \uC8FC",nextWeekAriaLabel:"\uC608\uC815\uC77C\uC744 \uB2E4\uC74C \uC8FC\uB85C \uC124\uC815",now:"\uC9C0\uAE08",nowAriaLabel:"\uC608\uC815\uC77C\uACFC \uC2DC\uAC04\uC744 \uC9C0\uAE08\uC73C\uB85C \uC124\uC815",clear:"\uC9C0\uC6B0\uAE30",clearAriaLabel:"\uC608\uC815\uC77C \uC9C0\uC6B0\uAE30"},errors:{invalidDateTime:"\uC720\uD6A8\uD55C \uB0A0\uC9DC \uBC0F \uC2DC\uAC04 \uD615\uC2DD\uC744 \uC785\uB825\uD558\uC138\uC694",updateFailed:"\uC608\uC815\uC77C \uC5C5\uB370\uC774\uD2B8 \uC2E4\uD328. \uB2E4\uC2DC \uC2DC\uB3C4\uD558\uC138\uC694."}},timeEntryEditor:{title:"\uC2DC\uAC04 \uAE30\uB85D - {taskTitle}",addEntry:"\uC2DC\uAC04 \uAE30\uB85D \uCD94\uAC00",noEntries:"\uC544\uC9C1 \uC2DC\uAC04 \uAE30\uB85D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",deleteEntry:"\uAE30\uB85D \uC0AD\uC81C",startTime:"\uC2DC\uC791 \uC2DC\uAC04",endTime:"\uC885\uB8CC \uC2DC\uAC04 (\uC9C4\uD589 \uC911\uC774\uBA74 \uBE44\uC6CC\uB450\uC138\uC694)",duration:"\uAE30\uAC04 (\uBD84)",durationDesc:"\uACC4\uC0B0\uB41C \uAE30\uAC04 \uC7AC\uC815\uC758",durationPlaceholder:"\uAE30\uAC04\uC744 \uBD84 \uB2E8\uC704\uB85C \uC785\uB825",description:"\uC124\uBA85",descriptionPlaceholder:"\uBB34\uC5C7\uC744 \uC791\uC5C5\uD588\uB098\uC694?",calculatedDuration:"\uACC4\uC0B0\uB428: {minutes}\uBD84",totalTime:"\uCD1D {hours}\uC2DC\uAC04 {minutes}\uBD84",totalMinutes:"\uCD1D {minutes}\uBD84",saved:"\uC2DC\uAC04 \uAE30\uB85D\uC774 \uC800\uC7A5\uB418\uC5C8\uC2B5\uB2C8\uB2E4",saveFailed:"\uC2DC\uAC04 \uAE30\uB85D \uC800\uC7A5 \uC2E4\uD328",openFailed:"\uC2DC\uAC04 \uAE30\uB85D \uD3B8\uC9D1\uAE30 \uC5F4\uAE30 \uC2E4\uD328",noTasksWithEntries:"\uD3B8\uC9D1\uD560 \uC2DC\uAC04 \uAE30\uB85D\uC774 \uC788\uB294 \uC791\uC5C5\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",validation:{missingStartTime:"\uC2DC\uC791 \uC2DC\uAC04\uC774 \uD544\uC694\uD569\uB2C8\uB2E4",endBeforeStart:"\uC885\uB8CC \uC2DC\uAC04\uC740 \uC2DC\uC791 \uC2DC\uAC04 \uC774\uD6C4\uC5EC\uC57C \uD569\uB2C8\uB2E4"}},timeTracking:{noTasksAvailable:"\uC2DC\uAC04\uC744 \uCD94\uC801\uD560 \uC218 \uC788\uB294 \uC791\uC5C5\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",started:"{taskTitle}\uC5D0 \uB300\uD55C \uC2DC\uAC04 \uCD94\uC801\uC774 \uC2DC\uC791\uB418\uC5C8\uC2B5\uB2C8\uB2E4",startFailed:"\uC2DC\uAC04 \uCD94\uC801 \uC2DC\uC791 \uC2E4\uD328"},timeEntry:{mustHaveSpecificTime:"\uC2DC\uAC04 \uAE30\uB85D\uC5D0\uB294 \uD2B9\uC815 \uC2DC\uAC04\uC774 \uD544\uC694\uD569\uB2C8\uB2E4. \uC8FC\uAC04 \uB610\uB294 \uC77C\uAC04 \uBDF0\uC5D0\uC11C \uC2DC\uAC04 \uBC94\uC704\uB97C \uC120\uD0DD\uD558\uC138\uC694.",noTasksAvailable:"\uC2DC\uAC04 \uAE30\uB85D\uC744 \uC0DD\uC131\uD560 \uC218 \uC788\uB294 \uC791\uC5C5\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",created:"{taskTitle}\uC5D0 \uB300\uD55C \uC2DC\uAC04 \uAE30\uB85D\uC774 \uC0DD\uC131\uB418\uC5C8\uC2B5\uB2C8\uB2E4 ({duration}\uBD84)",createFailed:"\uC2DC\uAC04 \uAE30\uB85D \uC0DD\uC131 \uC2E4\uD328"}},contextMenus:{task:{status:"\uC0C1\uD0DC",statusSelected:"\u2713 {label}",priority:"\uC6B0\uC120\uC21C\uC704",prioritySelected:"\u2713 {label}",dueDate:"\uB9C8\uAC10\uC77C",scheduledDate:"\uC608\uC815\uC77C",reminders:"\uB9AC\uB9C8\uC778\uB354",remindBeforeDue:"\uB9C8\uAC10 \uC804 \uC54C\uB9BC...",remindBeforeScheduled:"\uC608\uC815 \uC804 \uC54C\uB9BC...",manageReminders:"\uBAA8\uB4E0 \uB9AC\uB9C8\uC778\uB354 \uAD00\uB9AC...",clearReminders:"\uBAA8\uB4E0 \uB9AC\uB9C8\uC778\uB354 \uC9C0\uC6B0\uAE30",startTimeTracking:"\uC2DC\uAC04 \uCD94\uC801 \uC2DC\uC791",stopTimeTracking:"\uC2DC\uAC04 \uCD94\uC801 \uC911\uC9C0",editTimeEntries:"\uC2DC\uAC04 \uAE30\uB85D \uD3B8\uC9D1",archive:"\uBCF4\uAD00",unarchive:"\uBCF4\uAD00 \uD574\uC81C",openNote:"\uB178\uD2B8 \uC5F4\uAE30",copyTitle:"\uC791\uC5C5 \uC81C\uBAA9 \uBCF5\uC0AC",noteActions:"\uB178\uD2B8 \uC791\uC5C5",rename:"\uC774\uB984 \uBCC0\uACBD",renameTitle:"\uD30C\uC77C \uC774\uB984 \uBCC0\uACBD",renamePlaceholder:"\uC0C8 \uC774\uB984 \uC785\uB825",delete:"\uC0AD\uC81C",deleteTitle:"\uD30C\uC77C \uC0AD\uC81C",deleteMessage:'"{name}"\uC744(\uB97C) \uC0AD\uC81C\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?',deleteConfirm:"\uC0AD\uC81C",copyPath:"\uACBD\uB85C \uBCF5\uC0AC",copyUrl:"Obsidian URL \uBCF5\uC0AC",showInExplorer:"\uD30C\uC77C \uD0D0\uC0C9\uAE30\uC5D0\uC11C \uBCF4\uAE30",addToCalendar:"\uCE98\uB9B0\uB354\uC5D0 \uCD94\uAC00",calendar:{google:"Google \uCE98\uB9B0\uB354",outlook:"Outlook \uCE98\uB9B0\uB354",yahoo:"Yahoo \uCE98\uB9B0\uB354",downloadIcs:".ics \uD30C\uC77C \uB2E4\uC6B4\uB85C\uB4DC",syncToGoogle:"Google \uCE98\uB9B0\uB354\uC5D0 \uB3D9\uAE30\uD654",syncToGoogleNotConfigured:"Google \uCE98\uB9B0\uB354 \uB3D9\uAE30\uD654\uAC00 \uAD6C\uC131\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4",syncToGoogleSuccess:"\uC791\uC5C5\uC774 Google \uCE98\uB9B0\uB354\uC5D0 \uB3D9\uAE30\uD654\uB418\uC5C8\uC2B5\uB2C8\uB2E4",syncToGoogleFailed:"Google \uCE98\uB9B0\uB354 \uB3D9\uAE30\uD654 \uC2E4\uD328"},recurrence:"\uBC18\uBCF5",clearRecurrence:"\uBC18\uBCF5 \uC9C0\uC6B0\uAE30",customRecurrence:"\uC0AC\uC6A9\uC790 \uC9C0\uC815 \uBC18\uBCF5...",createSubtask:"\uD558\uC704 \uC791\uC5C5 \uB9CC\uB4E4\uAE30",dependencies:{title:"\uC885\uC18D\uC131",addBlockedBy:'"\uCC28\uB2E8 \uC6D0\uC778" \uCD94\uAC00...',addBlockedByTitle:"\uC774 \uC791\uC5C5\uC774 \uC885\uC18D\uD558\uB294 \uC791\uC5C5 \uCD94\uAC00",addBlocking:'"\uCC28\uB2E8 \uC911" \uCD94\uAC00...',addBlockingTitle:"\uC774 \uC791\uC5C5\uC774 \uCC28\uB2E8\uD558\uB294 \uC791\uC5C5 \uCD94\uAC00",removeBlockedBy:"\uCC28\uB2E8 \uC6D0\uC778 \uC81C\uAC70...",removeBlocking:"\uCC28\uB2E8 \uC911 \uC81C\uAC70...",unknownDependency:"\uC54C \uC218 \uC5C6\uC74C",inputPlaceholder:"[[\uC791\uC5C5 \uB178\uD2B8]]",notices:{noEntries:"\uCD5C\uC18C \uD558\uB098\uC758 \uC791\uC5C5\uC744 \uC785\uB825\uD558\uC138\uC694",blockedByAdded:"{count}\uAC1C\uC758 \uC885\uC18D\uC131\uC774 \uCD94\uAC00\uB418\uC5C8\uC2B5\uB2C8\uB2E4",blockedByRemoved:"\uC885\uC18D\uC131\uC774 \uC81C\uAC70\uB418\uC5C8\uC2B5\uB2C8\uB2E4",blockingAdded:"{count}\uAC1C\uC758 \uC885\uC18D \uC791\uC5C5\uC774 \uCD94\uAC00\uB418\uC5C8\uC2B5\uB2C8\uB2E4",blockingRemoved:"\uC885\uC18D \uC791\uC5C5\uC774 \uC81C\uAC70\uB418\uC5C8\uC2B5\uB2C8\uB2E4",unresolved:"\uD574\uACB0\uD560 \uC218 \uC5C6\uC74C: {entries}",noEligibleTasks:"\uC77C\uCE58\uD558\uB294 \uC791\uC5C5\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",updateFailed:"\uC885\uC18D\uC131 \uC5C5\uB370\uC774\uD2B8 \uC2E4\uD328"}},organization:{title:"\uC870\uC9C1",projects:"\uD504\uB85C\uC81D\uD2B8",addToProject:"\uD504\uB85C\uC81D\uD2B8\uC5D0 \uCD94\uAC00...",subtasks:"\uD558\uC704 \uC791\uC5C5",addSubtasks:"\uD558\uC704 \uC791\uC5C5 \uCD94\uAC00...",notices:{alreadyInProject:"\uC791\uC5C5\uC774 \uC774\uBBF8 \uC774 \uD504\uB85C\uC81D\uD2B8\uC5D0 \uC788\uC2B5\uB2C8\uB2E4",alreadySubtask:"\uC791\uC5C5\uC774 \uC774\uBBF8 \uC774 \uC791\uC5C5\uC758 \uD558\uC704 \uC791\uC5C5\uC785\uB2C8\uB2E4",addedToProject:"\uD504\uB85C\uC81D\uD2B8\uC5D0 \uCD94\uAC00\uB428: {project}",addedAsSubtask:"{subtask}\uC774(\uAC00) {parent}\uC758 \uD558\uC704 \uC791\uC5C5\uC73C\uB85C \uCD94\uAC00\uB418\uC5C8\uC2B5\uB2C8\uB2E4",addToProjectFailed:"\uD504\uB85C\uC81D\uD2B8\uC5D0 \uC791\uC5C5 \uCD94\uAC00 \uC2E4\uD328",addAsSubtaskFailed:"\uD558\uC704 \uC791\uC5C5\uC73C\uB85C \uC791\uC5C5 \uCD94\uAC00 \uC2E4\uD328",projectSelectFailed:"\uD504\uB85C\uC81D\uD2B8 \uC120\uD0DD\uAE30 \uC5F4\uAE30 \uC2E4\uD328",subtaskSelectFailed:"\uD558\uC704 \uC791\uC5C5 \uC120\uD0DD\uAE30 \uC5F4\uAE30 \uC2E4\uD328",noEligibleSubtasks:"\uD558\uC704 \uC791\uC5C5\uC73C\uB85C \uC9C0\uC815\uD560 \uC218 \uC788\uB294 \uC791\uC5C5\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",currentTaskNotFound:"\uD604\uC7AC \uC791\uC5C5 \uD30C\uC77C\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4"}},subtasks:{loading:"\uD558\uC704 \uC791\uC5C5 \uB85C\uB529 \uC911...",noSubtasks:"\uD558\uC704 \uC791\uC5C5\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",loadFailed:"\uD558\uC704 \uC791\uC5C5 \uB85C\uB4DC \uC2E4\uD328"},markComplete:"\uC774 \uB0A0\uC9DC\uC5D0 \uC644\uB8CC\uB85C \uD45C\uC2DC",markIncomplete:"\uC774 \uB0A0\uC9DC\uC5D0 \uBBF8\uC644\uB8CC\uB85C \uD45C\uC2DC",skipInstance:"\uC778\uC2A4\uD134\uC2A4 \uAC74\uB108\uB6F0\uAE30",unskipInstance:"\uC778\uC2A4\uD134\uC2A4 \uAC74\uB108\uB6F0\uAE30 \uCDE8\uC18C",quickReminders:{atTime:"\uC774\uBCA4\uD2B8 \uC2DC\uAC04\uC5D0",fiveMinutes:"5\uBD84 \uC804",fifteenMinutes:"15\uBD84 \uC804",oneHour:"1\uC2DC\uAC04 \uC804",oneDay:"1\uC77C \uC804"},notices:{toggleCompletionFailure:"\uBC18\uBCF5 \uC791\uC5C5 \uC644\uB8CC \uD1A0\uAE00 \uC2E4\uD328: {message}",toggleSkipFailure:"\uBC18\uBCF5 \uC791\uC5C5 \uAC74\uB108\uB6F0\uAE30 \uD1A0\uAE00 \uC2E4\uD328: {message}",updateDueDateFailure:"\uC791\uC5C5 \uB9C8\uAC10\uC77C \uC5C5\uB370\uC774\uD2B8 \uC2E4\uD328: {message}",updateScheduledFailure:"\uC791\uC5C5 \uC608\uC815\uC77C \uC5C5\uB370\uC774\uD2B8 \uC2E4\uD328: {message}",updateRemindersFailure:"\uB9AC\uB9C8\uC778\uB354 \uC5C5\uB370\uC774\uD2B8 \uC2E4\uD328",clearRemindersFailure:"\uB9AC\uB9C8\uC778\uB354 \uC9C0\uC6B0\uAE30 \uC2E4\uD328",addReminderFailure:"\uB9AC\uB9C8\uC778\uB354 \uCD94\uAC00 \uC2E4\uD328",archiveFailure:"\uC791\uC5C5 \uBCF4\uAD00 \uD1A0\uAE00 \uC2E4\uD328: {message}",copyTitleSuccess:"\uC791\uC5C5 \uC81C\uBAA9\uC774 \uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uBCF5\uC0AC\uB418\uC5C8\uC2B5\uB2C8\uB2E4",copyFailure:"\uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uBCF5\uC0AC \uC2E4\uD328",renameSuccess:'"{name}"(\uC73C)\uB85C \uC774\uB984\uC774 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4',renameFailure:"\uD30C\uC77C \uC774\uB984 \uBCC0\uACBD \uC2E4\uD328",copyPathSuccess:"\uD30C\uC77C \uACBD\uB85C\uAC00 \uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uBCF5\uC0AC\uB418\uC5C8\uC2B5\uB2C8\uB2E4",copyUrlSuccess:"Obsidian URL\uC774 \uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uBCF5\uC0AC\uB418\uC5C8\uC2B5\uB2C8\uB2E4",updateRecurrenceFailure:"\uC791\uC5C5 \uBC18\uBCF5 \uC5C5\uB370\uC774\uD2B8 \uC2E4\uD328: {message}"}},priority:{clearPriority:"\uC6B0\uC120\uC21C\uC704 \uC9C0\uC6B0\uAE30"},ics:{showDetails:"\uC138\uBD80\uC815\uBCF4 \uBCF4\uAE30",createTask:"\uC774\uBCA4\uD2B8\uC5D0\uC11C \uC791\uC5C5 \uB9CC\uB4E4\uAE30",createNote:"\uC774\uBCA4\uD2B8\uC5D0\uC11C \uB178\uD2B8 \uB9CC\uB4E4\uAE30",linkNote:"\uAE30\uC874 \uB178\uD2B8 \uC5F0\uACB0",copyTitle:"\uC81C\uBAA9 \uBCF5\uC0AC",copyLocation:"\uC704\uCE58 \uBCF5\uC0AC",copyUrl:"URL \uBCF5\uC0AC",copyMarkdown:"\uB9C8\uD06C\uB2E4\uC6B4\uC73C\uB85C \uBCF5\uC0AC",subscriptionUnknown:"\uC54C \uC218 \uC5C6\uB294 \uCE98\uB9B0\uB354",notices:{copyTitleSuccess:"\uC774\uBCA4\uD2B8 \uC81C\uBAA9\uC774 \uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uBCF5\uC0AC\uB418\uC5C8\uC2B5\uB2C8\uB2E4",copyLocationSuccess:"\uC704\uCE58\uAC00 \uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uBCF5\uC0AC\uB418\uC5C8\uC2B5\uB2C8\uB2E4",copyUrlSuccess:"\uC774\uBCA4\uD2B8 URL\uC774 \uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uBCF5\uC0AC\uB418\uC5C8\uC2B5\uB2C8\uB2E4",copyMarkdownSuccess:"\uC774\uBCA4\uD2B8 \uC138\uBD80\uC815\uBCF4\uAC00 \uB9C8\uD06C\uB2E4\uC6B4\uC73C\uB85C \uBCF5\uC0AC\uB418\uC5C8\uC2B5\uB2C8\uB2E4",copyFailure:"\uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uBCF5\uC0AC \uC2E4\uD328",taskCreated:"\uC791\uC5C5 \uC0DD\uC131\uB428: {title}",taskCreateFailure:"\uC774\uBCA4\uD2B8\uC5D0\uC11C \uC791\uC5C5 \uC0DD\uC131 \uC2E4\uD328",noteCreated:"\uB178\uD2B8\uAC00 \uC131\uACF5\uC801\uC73C\uB85C \uC0DD\uC131\uB418\uC5C8\uC2B5\uB2C8\uB2E4",creationFailure:"\uC0DD\uC131 \uBAA8\uB2EC \uC5F4\uAE30 \uC2E4\uD328",linkSuccess:'\uB178\uD2B8 "{name}"\uC774(\uAC00) \uC774\uBCA4\uD2B8\uC5D0 \uC5F0\uACB0\uB418\uC5C8\uC2B5\uB2C8\uB2E4',linkFailure:"\uB178\uD2B8 \uC5F0\uACB0 \uC2E4\uD328",linkSelectionFailure:"\uB178\uD2B8 \uC120\uD0DD \uC5F4\uAE30 \uC2E4\uD328"},markdown:{titleFallback:"\uC81C\uBAA9 \uC5C6\uB294 \uC774\uBCA4\uD2B8",calendar:"**\uCE98\uB9B0\uB354:** {value}",date:"**\uB0A0\uC9DC \uBC0F \uC2DC\uAC04:** {value}",location:"**\uC704\uCE58:** {value}",descriptionHeading:"### \uC124\uBA85",url:"**URL:** {value}",at:" {time}"}},date:{increment:{plusOneDay:"+1\uC77C",minusOneDay:"-1\uC77C",plusOneWeek:"+1\uC8FC",minusOneWeek:"-1\uC8FC"},basic:{today:"\uC624\uB298",tomorrow:"\uB0B4\uC77C",thisWeekend:"\uC774\uBC88 \uC8FC\uB9D0",nextWeek:"\uB2E4\uC74C \uC8FC",nextMonth:"\uB2E4\uC74C \uB2EC"},weekdaysLabel:"\uD3C9\uC77C",selected:"\u2713 {label}",pickDateTime:"\uB0A0\uC9DC \uBC0F \uC2DC\uAC04 \uC120\uD0DD...",clearDate:"\uB0A0\uC9DC \uC9C0\uC6B0\uAE30",modal:{title:"\uB0A0\uC9DC \uBC0F \uC2DC\uAC04 \uC124\uC815",dateLabel:"\uB0A0\uC9DC",timeLabel:"\uC2DC\uAC04 (\uC120\uD0DD\uC0AC\uD56D)",select:"\uC120\uD0DD"}}},services:{pomodoro:{notices:{alreadyRunning:"\uBF40\uBAA8\uB3C4\uB85C\uAC00 \uC774\uBBF8 \uC2E4\uD589 \uC911\uC785\uB2C8\uB2E4",resumeCurrentSession:"\uC0C8 \uC138\uC158\uC744 \uC2DC\uC791\uD558\uB294 \uB300\uC2E0 \uD604\uC7AC \uC138\uC158\uC744 \uC7AC\uAC1C\uD558\uC138\uC694",timerAlreadyRunning:"\uD0C0\uC774\uBA38\uAC00 \uC774\uBBF8 \uC2E4\uD589 \uC911\uC785\uB2C8\uB2E4",resumeSessionInstead:"\uC0C8 \uC138\uC158\uC744 \uC2DC\uC791\uD558\uB294 \uB300\uC2E0 \uD604\uC7AC \uC138\uC158\uC744 \uC7AC\uAC1C\uD558\uC138\uC694",shortBreakStarted:"\uC9E7\uC740 \uD734\uC2DD\uC774 \uC2DC\uC791\uB418\uC5C8\uC2B5\uB2C8\uB2E4",longBreakStarted:"\uAE34 \uD734\uC2DD\uC774 \uC2DC\uC791\uB418\uC5C8\uC2B5\uB2C8\uB2E4",paused:"\uBF40\uBAA8\uB3C4\uB85C \uC77C\uC2DC \uC815\uC9C0\uB428",resumed:"\uBF40\uBAA8\uB3C4\uB85C \uC7AC\uAC1C\uB428",stoppedAndReset:"\uBF40\uBAA8\uB3C4\uB85C\uAC00 \uC911\uC9C0\uB418\uACE0 \uCD08\uAE30\uD654\uB418\uC5C8\uC2B5\uB2C8\uB2E4",migrationSuccess:"{count}\uAC1C\uC758 \uBF40\uBAA8\uB3C4\uB85C \uC138\uC158\uC774 \uB370\uC77C\uB9AC \uB178\uD2B8\uB85C \uB9C8\uC774\uADF8\uB808\uC774\uC158\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",migrationFailure:"\uBF40\uBAA8\uB3C4\uB85C \uB370\uC774\uD130 \uB9C8\uC774\uADF8\uB808\uC774\uC158 \uC2E4\uD328. \uB2E4\uC2DC \uC2DC\uB3C4\uD558\uAC70\uB098 \uCF58\uC194\uC5D0\uC11C \uC790\uC138\uD55C \uB0B4\uC6A9\uC744 \uD655\uC778\uD558\uC138\uC694."}},icsSubscription:{notices:{calendarNotFound:'\uCE98\uB9B0\uB354 "{name}"\uC744(\uB97C) \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4 (404). ICS URL\uC774 \uC62C\uBC14\uB974\uACE0 \uCE98\uB9B0\uB354\uAC00 \uACF5\uAC1C\uC801\uC73C\uB85C \uC811\uADFC \uAC00\uB2A5\uD55C\uC9C0 \uD655\uC778\uD558\uC138\uC694.',calendarAccessDenied:'\uCE98\uB9B0\uB354 "{name}" \uC561\uC138\uC2A4\uAC00 \uAC70\uBD80\uB418\uC5C8\uC2B5\uB2C8\uB2E4 (500). Microsoft Outlook \uC11C\uBC84 \uC81C\uD55C \uB54C\uBB38\uC77C \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uCE98\uB9B0\uB354 \uC124\uC815\uC5D0\uC11C ICS URL\uC744 \uB2E4\uC2DC \uC0DD\uC131\uD574 \uBCF4\uC138\uC694.',fetchRemoteFailed:'\uC6D0\uACA9 \uCE98\uB9B0\uB354 "{name}" \uAC00\uC838\uC624\uAE30 \uC2E4\uD328: {error}',readLocalFailed:'\uB85C\uCEEC \uCE98\uB9B0\uB354 "{name}" \uC77D\uAE30 \uC2E4\uD328: {error}'}},calendarExport:{notices:{generateLinkFailed:"\uCE98\uB9B0\uB354 \uB9C1\uD06C \uC0DD\uC131 \uC2E4\uD328",noTasksToExport:"\uB0B4\uBCF4\uB0BC \uC791\uC5C5\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",downloadSuccess:"{count}\uAC1C\uC758 \uC791\uC5C5\uC774 \uD3EC\uD568\uB41C {filename}\uC774(\uAC00) \uB2E4\uC6B4\uB85C\uB4DC\uB418\uC5C8\uC2B5\uB2C8\uB2E4",downloadFailed:"\uCE98\uB9B0\uB354 \uD30C\uC77C \uB2E4\uC6B4\uB85C\uB4DC \uC2E4\uD328",singleDownloadSuccess:"{filename}\uC774(\uAC00) \uB2E4\uC6B4\uB85C\uB4DC\uB418\uC5C8\uC2B5\uB2C8\uB2E4"}},filter:{groupLabels:{noProject:"\uD504\uB85C\uC81D\uD2B8 \uC5C6\uC74C",noTags:"\uD0DC\uADF8 \uC5C6\uC74C",invalidDate:"\uC798\uBABB\uB41C \uB0A0\uC9DC",due:{overdue:"\uC9C0\uC5F0\uB428",today:"\uC624\uB298",tomorrow:"\uB0B4\uC77C",nextSevenDays:"\uB2E4\uC74C 7\uC77C",later:"\uB098\uC911\uC5D0",none:"\uB9C8\uAC10\uC77C \uC5C6\uC74C"},scheduled:{past:"\uACFC\uAC70 \uC608\uC815",today:"\uC624\uB298",tomorrow:"\uB0B4\uC77C",nextSevenDays:"\uB2E4\uC74C 7\uC77C",later:"\uB098\uC911\uC5D0",none:"\uC608\uC815\uC77C \uC5C6\uC74C"}},errors:{noDatesProvided:"\uB0A0\uC9DC\uAC00 \uC81C\uACF5\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4"},folders:{root:"(\uB8E8\uD2B8)"}},instantTaskConvert:{notices:{noCheckboxTasks:"\uD604\uC7AC \uB178\uD2B8\uC5D0\uC11C \uCCB4\uD06C\uBC15\uC2A4 \uC791\uC5C5\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",convertingTasks:"{count}\uAC1C\uC758 \uC791\uC5C5\uC744 \uBCC0\uD658 \uC911...",conversionSuccess:"\u2705 {count}\uAC1C\uC758 \uC791\uC5C5\uC774 TaskNotes\uB85C \uC131\uACF5\uC801\uC73C\uB85C \uBCC0\uD658\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",partialConversion:"{successCount}\uAC1C\uC758 \uC791\uC5C5\uC774 \uBCC0\uD658\uB418\uC5C8\uC2B5\uB2C8\uB2E4. {failureCount}\uAC1C \uC2E4\uD328.",batchConversionFailed:"\uC77C\uAD04 \uBCC0\uD658 \uC218\uD589 \uC2E4\uD328. \uB2E4\uC2DC \uC2DC\uB3C4\uD558\uC138\uC694.",invalidParameters:"\uC798\uBABB\uB41C \uC785\uB825 \uB9E4\uAC1C\uBCC0\uC218.",emptyLine:"\uD604\uC7AC \uC904\uC774 \uBE44\uC5B4 \uC788\uAC70\uB098 \uC720\uD6A8\uD55C \uCF58\uD150\uCE20\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",parseError:"\uC791\uC5C5 \uD30C\uC2F1 \uC624\uB958: {error}",invalidTaskData:"\uC798\uBABB\uB41C \uC791\uC5C5 \uB370\uC774\uD130.",replaceLineFailed:"\uC791\uC5C5 \uC904 \uAD50\uCCB4 \uC2E4\uD328.",conversionComplete:"\uC791\uC5C5 \uBCC0\uD658\uB428: {title}",conversionCompleteShortened:'\uC791\uC5C5 \uBCC0\uD658\uB428: "{title}" (\uAE38\uC774\uB85C \uC778\uD574 \uD30C\uC77C\uBA85\uC774 \uB2E8\uCD95\uB428)',fileExists:"\uC774 \uC774\uB984\uC758 \uD30C\uC77C\uC774 \uC774\uBBF8 \uC874\uC7AC\uD569\uB2C8\uB2E4. \uB2E4\uC2DC \uC2DC\uB3C4\uD558\uAC70\uB098 \uC791\uC5C5 \uC774\uB984\uC744 \uBCC0\uACBD\uD558\uC138\uC694.",conversionFailed:"\uC791\uC5C5 \uBCC0\uD658 \uC2E4\uD328. \uB2E4\uC2DC \uC2DC\uB3C4\uD558\uC138\uC694."}},icsNote:{notices:{templateNotFound:"\uD15C\uD50C\uB9BF\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4: {path}",templateProcessError:"\uD15C\uD50C\uB9BF \uCC98\uB9AC \uC911 \uC624\uB958: {template}",linkedToEvent:"\uB178\uD2B8\uAC00 ICS \uC774\uBCA4\uD2B8\uC5D0 \uC5F0\uACB0\uB418\uC5C8\uC2B5\uB2C8\uB2E4: {title}"}},task:{notices:{templateNotFound:"\uC791\uC5C5 \uBCF8\uBB38 \uD15C\uD50C\uB9BF\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4: {path}",templateReadError:"\uC791\uC5C5 \uBCF8\uBB38 \uD15C\uD50C\uB9BF \uC77D\uAE30 \uC624\uB958: {template}",moveTaskFailed:"{operation} \uC791\uC5C5 \uC774\uB3D9 \uC2E4\uD328: {error}"}},autoExport:{notices:{exportFailed:"TaskNotes \uC790\uB3D9 \uB0B4\uBCF4\uB0B4\uAE30 \uC2E4\uD328: {error}"}}},ui:{icsCard:{untitledEvent:"\uC81C\uBAA9 \uC5C6\uB294 \uC774\uBCA4\uD2B8",allDay:"\uC885\uC77C",calendarEvent:"\uCE98\uB9B0\uB354 \uC774\uBCA4\uD2B8",calendarFallback:"\uCE98\uB9B0\uB354"},noteCard:{createdLabel:"\uC0DD\uC131:",dailyBadge:"\uB370\uC77C\uB9AC",dailyTooltip:"\uB370\uC77C\uB9AC \uB178\uD2B8"},taskCard:{labels:{due:"\uB9C8\uAC10\uC77C",scheduled:"\uC608\uC815\uC77C",recurrence:"\uBC18\uBCF5",completed:"\uC644\uB8CC",created:"\uC0DD\uC131\uC77C",modified:"\uC218\uC815\uC77C",blocked:"\uCC28\uB2E8\uB428",blocking:"\uCC28\uB2E8 \uC911"},blockedBadge:"\uCC28\uB2E8\uB428",blockedBadgeTooltip:"\uC774 \uC791\uC5C5\uC740 \uB2E4\uB978 \uC791\uC5C5\uC744 \uAE30\uB2E4\uB9AC\uACE0 \uC788\uC2B5\uB2C8\uB2E4",blockingBadge:"\uCC28\uB2E8 \uC911",blockingBadgeTooltip:"\uC774 \uC791\uC5C5\uC774 \uB2E4\uB978 \uC791\uC5C5\uC744 \uCC28\uB2E8\uD558\uACE0 \uC788\uC2B5\uB2C8\uB2E4",blockingToggle:"{count}\uAC1C\uC758 \uC791\uC5C5\uC744 \uCC28\uB2E8 \uC911",priorityAriaLabel:"\uC6B0\uC120\uC21C\uC704: {label}",taskOptions:"\uC791\uC5C5 \uC635\uC158",recurrenceTooltip:"{label}: {value}",reminderTooltipOne:"\uC54C\uB9BC 1\uAC1C \uC124\uC815\uB428 (\uAD00\uB9AC\uD558\uB824\uBA74 \uD074\uB9AD)",reminderTooltipMany:"{count}\uAC1C \uC54C\uB9BC \uC124\uC815\uB428 (\uAD00\uB9AC\uD558\uB824\uBA74 \uD074\uB9AD)",projectTooltip:"\uC774 \uC791\uC5C5\uC740 \uD504\uB85C\uC81D\uD2B8\uB85C \uC0AC\uC6A9\uB429\uB2C8\uB2E4 (\uD558\uC704 \uC791\uC5C5\uC744 \uD544\uD130\uB9C1\uD558\uB824\uBA74 \uD074\uB9AD)",expandSubtasks:"\uD558\uC704 \uC791\uC5C5 \uD3BC\uCE58\uAE30",collapseSubtasks:"\uD558\uC704 \uC791\uC5C5 \uC811\uAE30",dueToday:"{label}: \uC624\uB298",dueTodayAt:"{label}: \uC624\uB298 {time}",dueOverdue:"{label}: {display} (\uAE30\uD55C \uC9C0\uB0A8)",dueLabel:"{label}: {display}",scheduledToday:"{label}: \uC624\uB298",scheduledTodayAt:"{label}: \uC624\uB298 {time}",scheduledPast:"{label}: {display} (\uC9C0\uB09C)",scheduledLabel:"{label}: {display}",loadingDependencies:"\uC885\uC18D\uC131 \uB85C\uB529 \uC911...",blockingEmpty:"\uC885\uC18D \uC791\uC5C5 \uC5C6\uC74C",blockingLoadError:"\uC885\uC18D\uC131 \uB85C\uB4DC \uC2E4\uD328",googleCalendarSyncTooltip:"Google \uCE98\uB9B0\uB354\uC5D0 \uB3D9\uAE30\uD654\uB428"},propertyEventCard:{unknownFile:"\uC54C \uC218 \uC5C6\uB294 \uD30C\uC77C"},filterHeading:{allViewName:"\uBAA8\uB450"},filterBar:{saveView:"\uBDF0 \uC800\uC7A5",saveViewNamePlaceholder:"\uBDF0 \uC774\uB984 \uC785\uB825...",saveButton:"\uC800\uC7A5",views:"\uBDF0",savedFilterViews:"\uC800\uC7A5\uB41C \uD544\uD130 \uBDF0",filters:"\uD544\uD130",properties:"\uC18D\uC131",sort:"\uC815\uB82C",newTask:"\uC0C8\uB85C \uB9CC\uB4E4\uAE30",expandAllGroups:"\uBAA8\uB4E0 \uADF8\uB8F9 \uD3BC\uCE58\uAE30",collapseAllGroups:"\uBAA8\uB4E0 \uADF8\uB8F9 \uC811\uAE30",searchTasksPlaceholder:"\uC791\uC5C5 \uAC80\uC0C9...",searchTasksTooltip:"\uC791\uC5C5 \uC81C\uBAA9 \uAC80\uC0C9",filterUnavailable:"\uD544\uD130 \uBC14\uB97C \uC77C\uC2DC\uC801\uC73C\uB85C \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",toggleFilter:"\uD544\uD130 \uD1A0\uAE00",activeFiltersTooltip:"\uD65C\uC131 \uD544\uD130 \u2013 \uC218\uC815\uD558\uB824\uBA74 \uD074\uB9AD, \uC9C0\uC6B0\uB824\uBA74 \uC6B0\uD074\uB9AD",configureVisibleProperties:"\uD45C\uC2DC \uC18D\uC131 \uC124\uC815",sortAndGroupOptions:"\uC815\uB82C \uBC0F \uADF8\uB8F9 \uC635\uC158",sortMenuHeader:"\uC815\uB82C",orderMenuHeader:"\uC21C\uC11C",groupMenuHeader:"\uADF8\uB8F9",createNewTask:"\uC0C8 \uC791\uC5C5 \uB9CC\uB4E4\uAE30",filter:"\uD544\uD130",displayOrganization:"\uD45C\uC2DC \uBC0F \uC870\uC9C1",viewOptions:"\uBDF0 \uC635\uC158",addFilter:"\uD544\uD130 \uCD94\uAC00",addFilterGroup:"\uD544\uD130 \uADF8\uB8F9 \uCD94\uAC00",addFilterTooltip:"\uC0C8 \uD544\uD130 \uC870\uAC74 \uCD94\uAC00",addFilterGroupTooltip:"\uC911\uCCA9\uB41C \uD544\uD130 \uADF8\uB8F9 \uCD94\uAC00",clearAllFilters:"\uBAA8\uB4E0 \uD544\uD130 \uBC0F \uADF8\uB8F9 \uC9C0\uC6B0\uAE30",saveCurrentFilter:"\uD604\uC7AC \uD544\uD130\uB97C \uBDF0\uB85C \uC800\uC7A5",closeFilterModal:"\uD544\uD130 \uBAA8\uB2EC \uB2EB\uAE30",deleteFilterGroup:"\uD544\uD130 \uADF8\uB8F9 \uC0AD\uC81C",deleteCondition:"\uC870\uAC74 \uC0AD\uC81C",all:"\uBAA8\uB450",any:"\uC77C\uBD80",followingAreTrue:"\uB2E4\uC74C \uC870\uAC74\uC774 \uCC38:",where:"\uC870\uAC74",selectProperty:"\uC120\uD0DD...",chooseProperty:"\uD544\uD130\uB9C1\uD560 \uC791\uC5C5 \uC18D\uC131 \uC120\uD0DD",chooseOperator:"\uC18D\uC131 \uAC12 \uBE44\uAD50 \uBC29\uBC95 \uC120\uD0DD",enterValue:"\uD544\uD130\uB9C1\uD560 \uAC12 \uC785\uB825",selectValue:"\uD544\uD130\uB9C1\uD560 {property} \uC120\uD0DD",sortBy:"\uC815\uB82C \uAE30\uC900:",toggleSortDirection:"\uC815\uB82C \uBC29\uD5A5 \uD1A0\uAE00",chooseSortMethod:"\uC791\uC5C5 \uC815\uB82C \uBC29\uBC95 \uC120\uD0DD",groupBy:"\uADF8\uB8F9 \uAE30\uC900:",chooseGroupMethod:"\uACF5\uD1B5 \uC18D\uC131\uC73C\uB85C \uC791\uC5C5 \uADF8\uB8F9\uD654",toggleViewOption:"{option} \uD1A0\uAE00",expandCollapseFilters:"\uD544\uD130 \uC870\uAC74 \uD3BC\uCE58\uAE30/\uC811\uAE30",expandCollapseSort:"\uC815\uB82C \uBC0F \uADF8\uB8F9 \uC635\uC158 \uD3BC\uCE58\uAE30/\uC811\uAE30",expandCollapseViewOptions:"\uBDF0\uBCC4 \uC635\uC158 \uD3BC\uCE58\uAE30/\uC811\uAE30",naturalLanguageDates:"\uC790\uC5F0\uC5B4 \uB0A0\uC9DC",naturalLanguageExamples:"\uC790\uC5F0\uC5B4 \uB0A0\uC9DC \uC608\uC2DC \uBCF4\uAE30",enterNumericValue:"\uD544\uD130\uB9C1\uD560 \uC22B\uC790 \uAC12 \uC785\uB825",enterDateValue:"\uC790\uC5F0\uC5B4 \uB610\uB294 ISO \uD615\uC2DD\uC73C\uB85C \uB0A0\uC9DC \uC785\uB825",pickDateTime:"\uB0A0\uC9DC \uBC0F \uC2DC\uAC04 \uC120\uD0DD",noSavedViews:"\uC800\uC7A5\uB41C \uBDF0 \uC5C6\uC74C",savedViews:"\uC800\uC7A5\uB41C \uBDF0",yourSavedFilters:"\uC800\uC7A5\uB41C \uD544\uD130 \uAD6C\uC131",dragToReorder:"\uB4DC\uB798\uADF8\uD558\uC5EC \uBDF0 \uC21C\uC11C \uBCC0\uACBD",loadSavedView:"\uC800\uC7A5\uB41C \uBDF0 \uB85C\uB4DC: {name}",deleteView:"\uBDF0 \uC0AD\uC81C",deleteViewTitle:"\uBDF0 \uC0AD\uC81C",deleteViewMessage:'"{name}" \uBDF0\uB97C \uC0AD\uC81C\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?',manageAllReminders:"\uBAA8\uB4E0 \uB9AC\uB9C8\uC778\uB354 \uAD00\uB9AC...",clearAllReminders:"\uBAA8\uB4E0 \uB9AC\uB9C8\uC778\uB354 \uC9C0\uC6B0\uAE30",customRecurrence:"\uC0AC\uC6A9\uC790 \uC9C0\uC815 \uBC18\uBCF5...",clearRecurrence:"\uBC18\uBCF5 \uC9C0\uC6B0\uAE30",sortOptions:{dueDate:"\uB9C8\uAC10\uC77C",scheduledDate:"\uC608\uC815\uC77C",priority:"\uC6B0\uC120\uC21C\uC704",status:"\uC0C1\uD0DC",title:"\uC81C\uBAA9",createdDate:"\uC0DD\uC131\uC77C",tags:"\uD0DC\uADF8",ascending:"\uC624\uB984\uCC28\uC21C",descending:"\uB0B4\uB9BC\uCC28\uC21C"},group:{none:"\uC5C6\uC74C",status:"\uC0C1\uD0DC",priority:"\uC6B0\uC120\uC21C\uC704",context:"\uCEE8\uD14D\uC2A4\uD2B8",project:"\uD504\uB85C\uC81D\uD2B8",dueDate:"\uB9C8\uAC10\uC77C",scheduledDate:"\uC608\uC815\uC77C",tags:"\uD0DC\uADF8",completedDate:"\uC644\uB8CC\uC77C"},subgroupLabel:"\uD558\uC704 \uADF8\uB8F9",notices:{propertiesMenuFailed:"\uC18D\uC131 \uBA54\uB274 \uD45C\uC2DC \uC2E4\uD328"}}},components:{dateContextMenu:{weekdays:"\uD3C9\uC77C",clearDate:"\uB0A0\uC9DC \uC9C0\uC6B0\uAE30",today:"\uC624\uB298",tomorrow:"\uB0B4\uC77C",thisWeekend:"\uC774\uBC88 \uC8FC\uB9D0",nextWeek:"\uB2E4\uC74C \uC8FC",nextMonth:"\uB2E4\uC74C \uB2EC",setDateTime:"\uB0A0\uC9DC \uBC0F \uC2DC\uAC04 \uC124\uC815",dateLabel:"\uB0A0\uC9DC",timeLabel:"\uC2DC\uAC04 (\uC120\uD0DD\uC0AC\uD56D)"},subgroupMenuBuilder:{none:"\uC5C6\uC74C",status:"\uC0C1\uD0DC",priority:"\uC6B0\uC120\uC21C\uC704",context:"\uCEE8\uD14D\uC2A4\uD2B8",project:"\uD504\uB85C\uC81D\uD2B8",dueDate:"\uB9C8\uAC10\uC77C",scheduledDate:"\uC608\uC815\uC77C",tags:"\uD0DC\uADF8",completedDate:"\uC644\uB8CC\uC77C",subgroup:"\uD558\uC704 \uADF8\uB8F9"},propertyVisibilityDropdown:{coreProperties:"\uD575\uC2EC \uC18D\uC131",organization:"\uC870\uC9C1",customProperties:"\uC0AC\uC6A9\uC790 \uC9C0\uC815 \uC18D\uC131",failed:"\uC18D\uC131 \uBA54\uB274 \uD45C\uC2DC \uC2E4\uD328",properties:{statusDot:"\uC0C1\uD0DC \uC810",priorityDot:"\uC6B0\uC120\uC21C\uC704 \uC810",dueDate:"\uB9C8\uAC10\uC77C",scheduledDate:"\uC608\uC815\uC77C",timeEstimate:"\uC2DC\uAC04 \uC608\uC0C1",totalTrackedTime:"\uCD1D \uAE30\uB85D \uC2DC\uAC04",checklistProgress:"\uCCB4\uD06C\uB9AC\uC2A4\uD2B8 \uC9C4\uD589\uB960",recurrence:"\uBC18\uBCF5",completedDate:"\uC644\uB8CC\uC77C",createdDate:"\uC0DD\uC131\uC77C",modifiedDate:"\uC218\uC815\uC77C",projects:"\uD504\uB85C\uC81D\uD2B8",contexts:"\uCEE8\uD14D\uC2A4\uD2B8",tags:"\uD0DC\uADF8",blocked:"\uCC28\uB2E8\uB428",blocking:"\uCC28\uB2E8 \uC911"}},reminderContextMenu:{remindBeforeDue:"\uB9C8\uAC10 \uC804 \uC54C\uB9BC...",remindBeforeScheduled:"\uC608\uC815 \uC804 \uC54C\uB9BC...",manageAllReminders:"\uBAA8\uB4E0 \uB9AC\uB9C8\uC778\uB354 \uAD00\uB9AC...",clearAllReminders:"\uBAA8\uB4E0 \uB9AC\uB9C8\uC778\uB354 \uC9C0\uC6B0\uAE30",quickReminders:{atTime:"\uC774\uBCA4\uD2B8 \uC2DC\uAC04\uC5D0",fiveMinutesBefore:"5\uBD84 \uC804",fifteenMinutesBefore:"15\uBD84 \uC804",oneHourBefore:"1\uC2DC\uAC04 \uC804",oneDayBefore:"1\uC77C \uC804"}},recurrenceContextMenu:{daily:"\uB9E4\uC77C",weeklyOn:"{day}\uB9C8\uB2E4",everyTwoWeeksOn:"2\uC8FC\uB9C8\uB2E4 {day}",monthlyOnThe:"\uB9E4\uC6D4 {ordinal}",everyThreeMonthsOnThe:"3\uAC1C\uC6D4\uB9C8\uB2E4 {ordinal}",yearlyOn:"\uB9E4\uB144 {month} {ordinal}",weekdaysOnly:"\uD3C9\uC77C\uB9CC",dailyAfterCompletion:"\uB9E4\uC77C (\uC644\uB8CC \uD6C4)",every3DaysAfterCompletion:"3\uC77C\uB9C8\uB2E4 (\uC644\uB8CC \uD6C4)",weeklyAfterCompletion:"\uB9E4\uC8FC (\uC644\uB8CC \uD6C4)",monthlyAfterCompletion:"\uB9E4\uC6D4 (\uC644\uB8CC \uD6C4)",customRecurrence:"\uC0AC\uC6A9\uC790 \uC9C0\uC815 \uBC18\uBCF5...",clearRecurrence:"\uBC18\uBCF5 \uC9C0\uC6B0\uAE30",customRecurrenceModal:{title:"\uC0AC\uC6A9\uC790 \uC9C0\uC815 \uBC18\uBCF5",startDate:"\uC2DC\uC791 \uB0A0\uC9DC",startDateDesc:"\uBC18\uBCF5 \uD328\uD134\uC774 \uC2DC\uC791\uB418\uB294 \uB0A0\uC9DC",startTime:"\uC2DC\uC791 \uC2DC\uAC04",startTimeDesc:"\uBC18\uBCF5 \uC778\uC2A4\uD134\uC2A4\uAC00 \uB098\uD0C0\uB098\uC57C \uD558\uB294 \uC2DC\uAC04 (\uC120\uD0DD\uC0AC\uD56D)",recurFrom:"\uBC18\uBCF5 \uAE30\uC900",recurFromDesc:"\uB2E4\uC74C \uBC1C\uC0DD\uC744 \uC5B8\uC81C \uACC4\uC0B0\uD574\uC57C \uD558\uB098\uC694?",scheduledDate:"\uC608\uC815\uC77C",completionDate:"\uC644\uB8CC\uC77C",frequency:"\uBE48\uB3C4",interval:"\uAC04\uACA9",intervalDesc:"X\uC77C/\uC8FC/\uC6D4/\uB144\uB9C8\uB2E4",daysOfWeek:"\uC694\uC77C",daysOfWeekDesc:"\uD2B9\uC815 \uC694\uC77C \uC120\uD0DD (\uC8FC\uAC04 \uBC18\uBCF5\uC6A9)",monthlyRecurrence:"\uC6D4\uAC04 \uBC18\uBCF5",monthlyRecurrenceDesc:"\uB9E4\uC6D4 \uBC18\uBCF5 \uBC29\uBC95 \uC120\uD0DD",yearlyRecurrence:"\uC5F0\uAC04 \uBC18\uBCF5",yearlyRecurrenceDesc:"\uB9E4\uB144 \uBC18\uBCF5 \uBC29\uBC95 \uC120\uD0DD",endCondition:"\uC885\uB8CC \uC870\uAC74",endConditionDesc:"\uBC18\uBCF5\uC774 \uB05D\uB098\uC57C \uD558\uB294 \uC2DC\uC810 \uC120\uD0DD",neverEnds:"\uB05D\uB098\uC9C0 \uC54A\uC74C",endAfterOccurrences:"{count}\uD68C \uD6C4 \uC885\uB8CC",endOnDate:"{date}\uC5D0 \uC885\uB8CC",onDayOfMonth:"\uB9E4\uC6D4 {day}\uC77C\uC5D0",onTheWeekOfMonth:"\uB9E4\uC6D4 {week} {day}\uC5D0",onDateOfYear:"\uB9E4\uB144 {month} {day}\uC5D0",onTheWeekOfYear:"\uB9E4\uB144 {month} {week} {day}\uC5D0",frequencies:{daily:"\uB9E4\uC77C",weekly:"\uB9E4\uC8FC",monthly:"\uB9E4\uC6D4",yearly:"\uB9E4\uB144"},weekPositions:{first:"\uCCAB\uC9F8",second:"\uB458\uC9F8",third:"\uC14B\uC9F8",fourth:"\uB137\uC9F8",last:"\uB9C8\uC9C0\uB9C9"},weekdays:{monday:"\uC6D4\uC694\uC77C",tuesday:"\uD654\uC694\uC77C",wednesday:"\uC218\uC694\uC77C",thursday:"\uBAA9\uC694\uC77C",friday:"\uAE08\uC694\uC77C",saturday:"\uD1A0\uC694\uC77C",sunday:"\uC77C\uC694\uC77C"},weekdaysShort:{mon:"\uC6D4",tue:"\uD654",wed:"\uC218",thu:"\uBAA9",fri:"\uAE08",sat:"\uD1A0",sun:"\uC77C"},cancel:"\uCDE8\uC18C",save:"\uC800\uC7A5"}}}};var lHe={en:Tde,fr:kde,ru:wde,zh:Sde,de:xde,es:Ede,ja:Dde,pt:Cde,ko:Pde};function _de(r){return new pP({resources:lHe,defaultLocale:"en",fallbackLocale:"en",...r})}TO();var Gh=require("obsidian");mc();var Nb=require("obsidian");mc();md();function Rb(r,e,t){r.empty();let n=(o,l)=>e.i18n.translate(o,l);kt(r,{heading:n("settings.general.taskStorage.header"),description:n("settings.general.taskStorage.description")},o=>{o.addSetting(l=>void Sn(l,{name:n("settings.general.taskStorage.defaultFolder.name"),desc:n("settings.general.taskStorage.defaultFolder.description"),placeholder:"TaskNotes",getValue:()=>e.settings.tasksFolder,setValue:async c=>{e.settings.tasksFolder=c,t()},ariaLabel:"Default folder path for new tasks"})),e.settings.enableInstantTaskConvert&&o.addSetting(l=>void Sn(l,{name:n("settings.features.instantConvert.folder.name"),desc:n("settings.features.instantConvert.folder.description"),placeholder:"{{currentNotePath}}",getValue:()=>e.settings.inlineTaskConvertFolder,setValue:async c=>{e.settings.inlineTaskConvertFolder=c,t()},ariaLabel:"Folder for converted inline tasks"})),o.addSetting(l=>void De(l,{name:n("settings.general.taskStorage.moveArchived.name"),desc:n("settings.general.taskStorage.moveArchived.description"),getValue:()=>e.settings.moveArchivedTasks,setValue:async c=>{e.settings.moveArchivedTasks=c,t(),Rb(r,e,t)}})),e.settings.moveArchivedTasks&&o.addSetting(l=>void Sn(l,{name:n("settings.general.taskStorage.archiveFolder.name"),desc:n("settings.general.taskStorage.archiveFolder.description"),placeholder:"TaskNotes/Archive",getValue:()=>e.settings.archiveFolder,setValue:async c=>{e.settings.archiveFolder=c,t()},ariaLabel:"Archive folder path"}))}),kt(r,{heading:n("settings.general.taskIdentification.header"),description:n("settings.general.taskIdentification.description")},o=>{o.addSetting(l=>void hn(l,{name:n("settings.general.taskIdentification.identifyBy.name"),desc:n("settings.general.taskIdentification.identifyBy.description"),options:[{value:"tag",label:n("settings.general.taskIdentification.identifyBy.options.tag")},{value:"property",label:n("settings.general.taskIdentification.identifyBy.options.property")}],getValue:()=>e.settings.taskIdentificationMethod,setValue:async c=>{e.settings.taskIdentificationMethod=c,t(),Rb(r,e,t)},ariaLabel:"Task identification method"})),e.settings.taskIdentificationMethod==="tag"?(o.addSetting(l=>void Sn(l,{name:n("settings.general.taskIdentification.taskTag.name"),desc:n("settings.general.taskIdentification.taskTag.description"),placeholder:"task",getValue:()=>e.settings.taskTag,setValue:async c=>{e.settings.taskTag=c,t()},ariaLabel:"Task identification tag"})),o.addSetting(l=>void De(l,{name:n("settings.general.taskIdentification.hideIdentifyingTags.name"),desc:n("settings.general.taskIdentification.hideIdentifyingTags.description"),getValue:()=>e.settings.hideIdentifyingTagsInCards,setValue:async c=>{e.settings.hideIdentifyingTagsInCards=c,t()}}))):(o.addSetting(l=>void Sn(l,{name:n("settings.general.taskIdentification.taskProperty.name"),desc:n("settings.general.taskIdentification.taskProperty.description"),placeholder:"category",getValue:()=>e.settings.taskPropertyName,setValue:async c=>{e.settings.taskPropertyName=c,t()}})),o.addSetting(l=>void Sn(l,{name:n("settings.general.taskIdentification.taskPropertyValue.name"),desc:n("settings.general.taskIdentification.taskPropertyValue.description"),placeholder:"task",getValue:()=>e.settings.taskPropertyValue,setValue:async c=>{e.settings.taskPropertyValue=c,t()}})))});let i=[{id:"open-calendar-view",nameKey:"miniCalendar",defaultPath:"TaskNotes/Views/mini-calendar-default.base"},{id:"open-kanban-view",nameKey:"kanban",defaultPath:"TaskNotes/Views/kanban-default.base"},{id:"open-tasks-view",nameKey:"tasks",defaultPath:"TaskNotes/Views/tasks-default.base"},{id:"open-advanced-calendar-view",nameKey:"advancedCalendar",defaultPath:"TaskNotes/Views/calendar-default.base"},{id:"open-agenda-view",nameKey:"agenda",defaultPath:"TaskNotes/Views/agenda-default.base"},{id:"relationships",nameKey:"relationships",defaultPath:"TaskNotes/Views/relationships.base"}];kt(r,{heading:n("settings.integrations.basesIntegration.viewCommands.header"),description:n("settings.integrations.basesIntegration.viewCommands.description")},o=>{o.addSetting(l=>{l.setDesc(n("settings.integrations.basesIntegration.viewCommands.descriptionRegen")),l.settingEl.addClass("settings-view__group-description")}),o.addSetting(l=>{l.descEl.createEl("a",{text:n("settings.integrations.basesIntegration.viewCommands.docsLink"),href:n("settings.integrations.basesIntegration.viewCommands.docsLinkUrl")}).setAttr("target","_blank"),l.settingEl.addClass("settings-view__group-description")}),i.forEach(({id:l,nameKey:c,defaultPath:d})=>{o.addSetting(u=>{let p=n(`settings.integrations.basesIntegration.viewCommands.commands.${c}`);u.setName(p),u.setDesc(n("settings.integrations.basesIntegration.viewCommands.fileLabel",{path:e.settings.commandFileMapping[l]})),u.addText(m=>(m.setPlaceholder(d).setValue(e.settings.commandFileMapping[l]).onChange(f=>{e.settings.commandFileMapping[l]=f,t(),u.setDesc(n("settings.integrations.basesIntegration.viewCommands.fileLabel",{path:f}))}),m.inputEl.classList.remove("tn-static-width-12px-fbf353fb","tn-static-width-16px-7375d50b","tn-static-width-1px-aa77e27e","tn-static-width-200px-2acaf3b5","tn-static-width-60px-bd09c419","tn-static-width-80px-8573bae3"),m.inputEl.classList.add("tn-static-width-100-0466783d"),m)),u.addButton(m=>(m.setButtonText(n("settings.integrations.basesIntegration.viewCommands.resetButton")).setTooltip(n("settings.integrations.basesIntegration.viewCommands.resetTooltip")).onClick(()=>{e.settings.commandFileMapping[l]=d,t(),e.app.setting.activeTab&&e.app.setting.openTabById(e.app.setting.activeTab.id)}),m))})}),o.addSetting(l=>{l.setName(n("settings.integrations.basesIntegration.autoCreateDefaultFiles.name")).setDesc(n("settings.integrations.basesIntegration.autoCreateDefaultFiles.description")).addToggle(c=>(c.setValue(e.settings.autoCreateDefaultBasesFiles).onChange(d=>{e.settings.autoCreateDefaultBasesFiles=d,t()}),c))}),o.addSetting(l=>{l.setName(n("settings.integrations.basesIntegration.createDefaultFiles.name")).setDesc(n("settings.integrations.basesIntegration.createDefaultFiles.description")).addButton(c=>(c.setButtonText(n("settings.integrations.basesIntegration.createDefaultFiles.buttonText")).setCta().onClick(async()=>{await e.createDefaultBasesFiles()}),c))}),o.addSetting(l=>{l.setName(n("settings.integrations.basesIntegration.exportV3Views.name")).setDesc(n("settings.integrations.basesIntegration.exportV3Views.description")).addButton(c=>(c.setButtonText(n("settings.integrations.basesIntegration.exportV3Views.buttonText")).onClick(async()=>{try{let d=e.viewStateManager.getSavedViews();if(d.length===0){new Nb.Notice(n("settings.integrations.basesIntegration.exportV3Views.noViews"));return}let u=e.basesFilterConverter.convertAllSavedViewsToBasesFile(d),p="all-saved-views.base",m=`TaskNotes/Views/${p}`;await e.app.vault.adapter.exists("TaskNotes/Views")||await e.app.vault.createFolder("TaskNotes/Views");let f=e.app.vault.getAbstractFileByPath(m);if(f){if(!(f instanceof Nb.TFile))throw new Error(`${m} exists but is not a file`);if(!await Li(e.app,{title:n("settings.integrations.basesIntegration.exportV3Views.fileExists"),message:n("settings.integrations.basesIntegration.exportV3Views.confirmOverwrite",{fileName:p}),isDestructive:!1}))return;await e.app.vault.modify(f,u)}else await e.app.vault.create(m,u);new Nb.Notice(n("settings.integrations.basesIntegration.exportV3Views.success",{count:d.length.toString(),filePath:m})),await e.app.workspace.openLinkText(m,"",!0)}catch(d){console.error("Error exporting all views to Bases:",d),new Nb.Notice(n("settings.integrations.basesIntegration.exportV3Views.error",{message:d.message}))}}),c))})}),kt(r,{heading:n("settings.general.folderManagement.header")},o=>{o.addSetting(l=>void Sn(l,{name:n("settings.general.folderManagement.excludedFolders.name"),desc:n("settings.general.folderManagement.excludedFolders.description"),placeholder:"Templates, Archive",getValue:()=>e.settings.excludedFolders,setValue:async c=>{e.settings.excludedFolders=c,t()},ariaLabel:"Excluded folder paths"}))});let s=(()=>{let o=[{value:"system",label:n("common.systemDefault")}];for(let l of e.i18n.getAvailableLocales()){let c=e.i18n.getNativeLanguageName(l);o.push({value:l,label:c})}return o})();kt(r,{heading:n("settings.features.uiLanguage.header"),description:n("settings.features.uiLanguage.description")},o=>{o.addSetting(l=>void hn(l,{name:n("settings.features.uiLanguage.dropdown.name"),desc:n("settings.features.uiLanguage.dropdown.description"),options:s,getValue:()=>{var c;return(c=e.settings.uiLanguage)!=null?c:"system"},setValue:async c=>{e.settings.uiLanguage=c,e.i18n.setLocale(c),t(),Rb(r,e,t)}}))}),e.app.vault.getConfig("useMarkdownLinks")&&kt(r,{heading:n("settings.general.frontmatter.header"),description:n("settings.general.frontmatter.description")},o=>{o.addSetting(l=>void De(l,{name:n("settings.general.frontmatter.useMarkdownLinks.name"),desc:n("settings.general.frontmatter.useMarkdownLinks.description"),getValue:()=>e.settings.useFrontmatterMarkdownLinks,setValue:async c=>{e.settings.useFrontmatterMarkdownLinks=c,t()}}))}),kt(r,{heading:n("settings.general.releaseNotes.header"),description:n("settings.general.releaseNotes.description",{version:e.manifest.version})},o=>{o.addSetting(l=>void De(l,{name:n("settings.general.releaseNotes.showOnUpdate.name"),desc:n("settings.general.releaseNotes.showOnUpdate.description"),getValue:()=>{var c;return(c=e.settings.showReleaseNotesOnUpdate)!=null?c:!0},setValue:async c=>{e.settings.showReleaseNotesOnUpdate=c,t()}})),o.addSetting(l=>{l.setName(n("settings.general.releaseNotes.viewButton.name")).setDesc(n("settings.general.releaseNotes.viewButton.description")).addButton(c=>c.setButtonText(n("settings.general.releaseNotes.viewButton.buttonText")).setCta().onClick(async()=>{await e.activateReleaseNotesView()}))})})}mc();var jOe=require("obsidian");var W0=require("obsidian");mc();function ur(r,e){let t=r.createDiv("tasknotes-settings__card");e.id&&t.setAttribute("data-card-id",e.id),e.draggable&&t.addClass("tasknotes-settings__card--draggable"),e.collapsible&&(t.addClass("tasknotes-settings__card--collapsible"),e.defaultCollapsed&&t.addClass("tasknotes-settings__card--collapsed"));let n=t.createDiv("tasknotes-settings__card-header"),i=null;e.draggable&&(n.addClass("tasknotes-settings__card-header--with-drag-handle"),i=n.createDiv("tasknotes-settings__card-drag-handle"),i.textContent="\u22EE\u22EE",i.draggable=!0,i.title="Drag to reorder");let s=n.createDiv();if(s.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),s.classList.add("tn-static-display-flex-75816cae"),s.classList.remove("tn-static-align-items-baseline-4b95b5c7","tn-static-align-items-flex-start-0486f781"),s.classList.add("tn-static-align-items-center-7c619740"),s.classList.remove("tn-static-flex-1-14e3b769","tn-static-margin-top-12px-91e0f558"),s.classList.add("tn-static-flex-1-97445a8d"),s.classList.remove("tn-static-min-width-2px-709d7da0"),s.classList.add("tn-static-min-width-0-3922d326"),e.colorIndicator){let c=s.createDiv("tasknotes-settings__card-color-indicator");c.style.backgroundColor=e.colorIndicator.color,e.colorIndicator.cssVar&&c.style.setProperty("--card-color",e.colorIndicator.color)}let a=s.createDiv("tasknotes-settings__card-info"),o=a.createSpan("tasknotes-settings__card-primary-text");if(o.textContent=e.header.primaryText,e.header.secondaryText){let c=a.createSpan("tasknotes-settings__card-secondary-text");c.textContent=e.header.secondaryText}let l=n.createDiv();if(l.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),l.classList.add("tn-static-display-flex-75816cae"),l.classList.remove("tn-static-align-items-baseline-4b95b5c7","tn-static-align-items-flex-start-0486f781"),l.classList.add("tn-static-align-items-center-7c619740"),l.classList.remove("tn-static-display-flex-8bb39979","tn-static-gap-10px-f3d7ce77","tn-static-gap-12px-ed7b3d87","tn-static-gap-6px-f0abc1db","tn-static-gap-8px-33fcd4c3"),l.classList.add("tn-static-gap-0-5rem-ce2fca4d"),e.header.meta&&e.header.meta.length>0){let c=l.createDiv("tasknotes-settings__card-meta");e.header.meta.forEach(d=>{c.appendChild(d)})}if(e.header.actions&&e.header.actions.length>0){let c=l.querySelector(".tasknotes-settings__card-header-actions")||l.createDiv("tasknotes-settings__card-header-actions");e.header.actions.forEach(d=>{let u=c.createEl("button",{cls:"tasknotes-settings__card-header-btn"});d.variant==="delete"&&u.addClass("tasknotes-settings__card-header-btn--delete");let p=u.createSpan();(0,W0.setIcon)(p,d.icon),d.tooltip&&(u.title=d.tooltip),u.onclick=m=>{m.stopPropagation(),ii(d.onClick)}})}if(e.collapsible){let c=()=>{var u,p;t.hasClass("tasknotes-settings__card--collapsed")?(t.removeClass("tasknotes-settings__card--collapsed"),n.title="Collapse card",(u=e.onCollapseChange)==null||u.call(e,!1)):(t.addClass("tasknotes-settings__card--collapsed"),n.title="Expand card",(p=e.onCollapseChange)==null||p.call(e,!0))};n.addClass("tasknotes-settings__card-header--clickable"),n.title=e.defaultCollapsed?"Expand card":"Collapse card",n.onclick=d=>{d.target.closest(".tasknotes-settings__card-header-actions")||c()}}if(e.content&&e.content.sections.length>0){let c=t.createDiv("tasknotes-settings__card-content");e.draggable&&c.addClass("tasknotes-settings__card-content--with-drag-handle"),e.content.sections.forEach(d=>{d.rows.forEach(u=>{let p=c.createDiv("tasknotes-settings__card-config-row");u.fullWidth&&(p.classList.remove("tn-static-display-flex-4d51fc62","tn-static-display-flex-8bb39979","tn-static-min-height-800px-997b4c8c"),p.classList.add("tn-static-flex-direction-column-06c8b5ed"),p.classList.remove("tn-static-align-items-baseline-4b95b5c7","tn-static-align-items-center-7c619740"),p.classList.add("tn-static-align-items-flex-start-0486f781"),p.classList.remove("tn-static-display-flex-8bb39979","tn-static-gap-10px-f3d7ce77","tn-static-gap-12px-ed7b3d87","tn-static-gap-6px-f0abc1db","tn-static-gap-8px-33fcd4c3"),p.classList.add("tn-static-gap-0-5rem-ce2fca4d"));let m=p.createSpan("tasknotes-settings__card-config-label");m.textContent=u.label,p.appendChild(u.input)})})}if(e.actions&&e.actions.buttons.length>0){let c=t.createDiv("tasknotes-settings__card-actions");e.draggable&&c.addClass("tasknotes-settings__card-actions--with-drag-handle"),e.actions.buttons.forEach(d=>{let u=c.createEl("button",{text:d.text,cls:"tasknotes-settings__card-action-btn"});if(d.variant&&u.addClass(`tasknotes-settings__card-action-btn--${d.variant}`),d.icon){let p=u.createSpan();(0,W0.setIcon)(p,d.icon),u.insertBefore(p,u.firstChild)}d.disabled&&(u.disabled=!0),u.onclick=()=>{ii(d.onClick)}})}return t}function ks(r,e="default"){let t=activeDocument.createElement("span");return t.addClass("tasknotes-settings__card-status-badge"),t.addClass(`tasknotes-settings__card-status-badge--${e}`),t.textContent=r,t}function Tl(r,e){return{icon:"trash-2",variant:"delete",tooltip:e||"Delete",onClick:r}}function Ue(r="text",e,t){let n=activeDocument.createElement("input");return n.type=r,n.addClass("tasknotes-settings__card-input"),e&&(n.placeholder=e),t&&(n.value=t),n}function Gn(r=!1,e){let t=activeDocument.createElement("div"),n=new W0.Setting(t),i=null;if(n.addToggle(s=>{s.setValue(r),e&&s.onChange(a=>{ii(()=>e(a))}),i=s.toggleEl}),!i)throw new Error("Failed to create card toggle");return i}function ai(r,e){let t=activeDocument.createElement("select");return t.addClass("tasknotes-settings__card-input"),r.forEach(n=>{let i=t.createEl("option",{value:n.value,text:n.label});e===n.value&&(i.selected=!0)}),t}function Ob(r,e,t){let n=r.querySelector(".tasknotes-settings__card-drag-handle");if(!n)return;let i=r.getAttribute("data-card-id");i&&(n.addEventListener("dragstart",s=>{s.dataTransfer&&(s.dataTransfer.setData("text/plain",i),r.addClass("tasknotes-settings__card--dragging"))}),n.addEventListener("dragend",()=>{r.removeClass("tasknotes-settings__card--dragging")}),r.addEventListener("dragover",s=>{s.preventDefault();let a=e.querySelector(".tasknotes-settings__card--dragging");if(a&&a!==r){let o=r.getBoundingClientRect(),l=o.top+o.height/2;r.removeClass("tasknotes-settings__card--drag-over-top","tasknotes-settings__card--drag-over-bottom"),s.clientY<l?r.addClass("tasknotes-settings__card--drag-over-top"):r.addClass("tasknotes-settings__card--drag-over-bottom")}}),r.addEventListener("dragleave",()=>{r.removeClass("tasknotes-settings__card--drag-over-top","tasknotes-settings__card--drag-over-bottom")}),r.addEventListener("drop",s=>{var l;s.preventDefault(),r.removeClass("tasknotes-settings__card--drag-over-top","tasknotes-settings__card--drag-over-bottom");let a=(l=s.dataTransfer)==null?void 0:l.getData("text/plain");if(!a)return;let o=i;if(a!==o){let c=r.getBoundingClientRect(),d=c.top+c.height/2,u=s.clientY<d;t(a,o,u)}}))}function um(r,e,t,n){let i=Ue("number");return r!==void 0&&(i.min=r.toString()),e!==void 0&&(i.max=e.toString()),t!==void 0&&(i.step=t.toString()),n!==void 0&&(i.value=n.toString()),i}function QK(r){return r&&r.replace(/^webcal:\/\//i,"http://").replace(/^webcals:\/\//i,"https://")}function kO(r,e){let t=activeDocument.createElement("input");return t.type="text",t.addClass("tasknotes-settings__card-input"),t.pattern="^(https?|webcals?)://.*",t.title="Enter an HTTP://, HTTPS://, webcal://, or webcals:// URL",r&&(t.placeholder=r),e&&(t.value=e),t}function Lb(r){let e=activeDocument.createElement("span");return e.addClass("tasknotes-settings__card-info-badge"),e.textContent=r,e}function jc(r,e,t,n){r.empty();let i=r.createDiv("tasknotes-settings__empty-state");if(i.createSpan("tasknotes-settings__empty-icon"),i.createSpan({text:e,cls:"tasknotes-settings__empty-text"}),t&&n){let s=i.createEl("button",{text:t,cls:"tn-btn tn-btn--primary"});s.classList.remove("tn-static-font-size-12px-b0cc7e05","tn-static-margin-top-0-5rem-3dc98b5e","tn-static-margin-top-0-d462248a","tn-static-margin-top-12px-91e0f558","tn-static-margin-top-16px-1b0f4999","tn-static-margin-top-20px-a26bda7d","tn-static-margin-top-30px-2fbbbcd4","tn-static-margin-top-4px-96ad6099","tn-static-margin-top-8px-8a77e5a3","tn-static-margin-top-8px-f4f01e68"),s.classList.add("tn-static-margin-top-1rem-2239d6d5"),s.onclick=n}}var JK=require("obsidian");function Jkt(r,e,t){var i;let n=r.settings.nlpTriggers.triggers.find(s=>s.propertyId===e);return{propertyId:e,enabled:(i=n==null?void 0:n.enabled)!=null?i:e!=="priority",trigger:(n==null?void 0:n.trigger)||t}}function $Oe(r,e,t,n,i){var a,o;let s=r.settings.nlpTriggers.triggers.findIndex(l=>l.propertyId===e);s!==-1?(t.enabled!==void 0&&(r.settings.nlpTriggers.triggers[s].enabled=t.enabled),t.trigger!==void 0&&(r.settings.nlpTriggers.triggers[s].trigger=t.trigger)):r.settings.nlpTriggers.triggers.push({propertyId:e,trigger:(a=t.trigger)!=null?a:n,enabled:(o=t.enabled)!=null?o:!0}),i()}function Ao(r,e,t,n,i,s){let a=Jkt(r,e,t),o=Gn(a.enabled,d=>{$Oe(r,e,{enabled:d},t,n),s&&s()}),l=[{label:i("settings.taskProperties.propertyCard.nlpTrigger"),input:o}],c=Ue("text",t,a.trigger);return c.classList.remove("tn-static-width-100-0466783d","tn-static-width-12px-fbf353fb","tn-static-width-16px-7375d50b","tn-static-width-1px-aa77e27e","tn-static-width-200px-2acaf3b5","tn-static-width-60px-bd09c419"),c.classList.add("tn-static-width-80px-8573bae3"),c.addEventListener("change",()=>{let d=c.value;if(d.trim().length===0){new JK.Notice(i("settings.taskProperties.propertyCard.triggerEmpty"));return}if(d.length>10){new JK.Notice(i("settings.taskProperties.propertyCard.triggerTooLong"));return}$Oe(r,e,{trigger:d},t,n)}),l.push({label:i("settings.taskProperties.propertyCard.triggerChar"),input:c}),l}function ws(r){let e=activeDocument.createElement("p");return e.className="setting-item-description",e.classList.remove("tn-static-font-size-12px-b0cc7e05","tn-static-margin-top-0-5rem-3dc98b5e","tn-static-margin-top-12px-91e0f558","tn-static-margin-top-16px-1b0f4999","tn-static-margin-top-1rem-2239d6d5","tn-static-margin-top-20px-a26bda7d","tn-static-margin-top-30px-2fbbbcd4","tn-static-margin-top-4px-96ad6099","tn-static-margin-top-8px-8a77e5a3","tn-static-margin-top-8px-f4f01e68"),e.classList.add("tn-static-margin-top-0-d462248a"),e.classList.remove("tn-static-font-size-12px-65574819","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-margin-bottom-20px-49f14f8f","tn-static-margin-bottom-8px-fdf33f23"),e.classList.add("tn-static-margin-bottom-0-75rem-c05a3c6e"),e.textContent=r,e}function Vh(r,e,t,n,i){let s=Ue("text",i.propertyId,e.settings.fieldMapping[i.propertyId]);s.addEventListener("change",()=>{e.settings.fieldMapping[i.propertyId]=s.value,t()});let o=[{label:"",input:ws(i.description||""),fullWidth:!0},{label:n("settings.taskProperties.propertyCard.propertyKey"),input:s}];if(i.hasDefault&&i.getDefaultValue&&i.setDefaultValue){let l=i.setDefaultValue,c;i.defaultType==="dropdown"||i.defaultType==="date-preset"?(c=ai(i.defaultOptions||[],i.getDefaultValue()),c.addEventListener("change",()=>{l(c.value)})):i.defaultType==="number"?(c=um(0,void 0,1,parseInt(i.getDefaultValue())||0),c.addEventListener("change",()=>{l(c.value)})):(c=Ue("text",i.defaultPlaceholder||"",i.getDefaultValue()),c.addEventListener("change",()=>{l(c.value)})),o.push({label:n("settings.taskProperties.propertyCard.default"),input:c})}if(i.hasNLPTrigger&&i.nlpDefaultTrigger){let l=Ao(e,i.propertyId,i.nlpDefaultTrigger,t,n);o.push(...l)}ur(r,{id:`property-${i.propertyId}`,collapsible:!0,defaultCollapsed:!0,header:{primaryText:i.displayName,secondaryText:e.settings.fieldMapping[i.propertyId]},content:{sections:[{rows:o}]}})}function Ss(r,e,t,n,i,s,a){let o=Ue("text",i,e.settings.fieldMapping[i]);o.addEventListener("change",()=>{e.settings.fieldMapping[i]=o.value,t()});let l=ws(a||"");ur(r,{id:`property-${i}`,collapsible:!0,defaultCollapsed:!0,header:{primaryText:s,secondaryText:e.settings.fieldMapping[i]},content:{sections:[{rows:[{label:"",input:l,fullWidth:!0},{label:n("settings.taskProperties.propertyCard.propertyKey"),input:o}]}]}})}function XK(r,e,t,n){let i=r.createDiv(),s=!0;function a(){i.empty();let o=Ue("text","title",e.settings.fieldMapping.title);o.addEventListener("change",()=>{e.settings.fieldMapping.title=o.value,t()});let l=Gn(e.settings.storeTitleInFilename,p=>{e.settings.storeTitleInFilename=p,t(),a()}),c=activeDocument.createElement("div");c.addClass("tasknotes-settings__nested-content"),zOe(c,e,t,n);let u=[{label:"",input:ws(n("settings.taskProperties.properties.title.description")),fullWidth:!0}];e.settings.storeTitleInFilename||u.push({label:n("settings.taskProperties.propertyCard.propertyKey"),input:o}),u.push({label:n("settings.taskProperties.titleCard.storeTitleInFilename"),input:l},{label:"",input:c,fullWidth:!0}),ur(i,{id:"property-title",collapsible:!0,defaultCollapsed:s,onCollapseChange:p=>{s=p},header:{primaryText:n("settings.taskProperties.properties.title.name"),secondaryText:e.settings.storeTitleInFilename?n("settings.taskProperties.titleCard.storedInFilename"):e.settings.fieldMapping.title},content:{sections:[{rows:u}]}})}a()}function zOe(r,e,t,n){if(r.empty(),e.settings.storeTitleInFilename){r.createDiv({text:n("settings.taskProperties.titleCard.filenameUpdatesWithTitle"),cls:"setting-item-description"});return}let i=r.createDiv("tasknotes-settings__card-config-row");i.createSpan({text:n("settings.taskProperties.titleCard.filenameFormat"),cls:"tasknotes-settings__card-config-label"});let s=ai([{value:"title",label:n("settings.appearance.taskFilenames.filenameFormat.options.title")},{value:"zettel",label:n("settings.appearance.taskFilenames.filenameFormat.options.zettel")},{value:"timestamp",label:n("settings.appearance.taskFilenames.filenameFormat.options.timestamp")},{value:"custom",label:n("settings.appearance.taskFilenames.filenameFormat.options.custom")}],e.settings.taskFilenameFormat);if(s.addEventListener("change",()=>{e.settings.taskFilenameFormat=s.value,t(),zOe(r,e,t,n)}),i.appendChild(s),e.settings.taskFilenameFormat==="custom"){let a=r.createDiv("tasknotes-settings__card-config-row");a.createSpan({text:n("settings.taskProperties.titleCard.customTemplate"),cls:"tasknotes-settings__card-config-label"});let o=Ue("text",n("settings.appearance.taskFilenames.customTemplate.placeholder"),e.settings.customFilenameTemplate);o.classList.remove("tn-static-width-12px-fbf353fb","tn-static-width-16px-7375d50b","tn-static-width-1px-aa77e27e","tn-static-width-200px-2acaf3b5","tn-static-width-60px-bd09c419","tn-static-width-80px-8573bae3"),o.classList.add("tn-static-width-100-0466783d");let l=r.createDiv(),c=()=>{l.empty();let d=o.value,u=/\{[a-zA-Z]+\}/g,p=/\{\{[a-zA-Z]+\}\}/g,m=d.replace(p,"");if(u.test(m)){let h=l.createDiv({cls:"setting-item-description mod-warning"});h.classList.remove("tn-static-color-var-color-accent-d2cad743","tn-static-color-var-text-accent-65b47ee3","tn-static-color-var-text-muted-5872de20","tn-static-color-var-text-on-accent-f3e1679d","tn-static-color-var-tn-text-muted-a90fb6f3","tn-static-color-white-0a43e56a","tn-static-cursor-pointer-2723efcc","tn-static-font-size-12px-65574819","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-margin-2px-0-edce9b14","tn-static-padding-20px-7a035d95","tn-static-padding-20px-ebe8e48c"),h.classList.add("tn-static-color-var-text-warning-783d5f03"),h.classList.remove("tn-static-font-size-12px-b0cc7e05","tn-static-margin-top-0-5rem-3dc98b5e","tn-static-margin-top-0-d462248a","tn-static-margin-top-12px-91e0f558","tn-static-margin-top-16px-1b0f4999","tn-static-margin-top-1rem-2239d6d5","tn-static-margin-top-20px-a26bda7d","tn-static-margin-top-30px-2fbbbcd4","tn-static-margin-top-4px-96ad6099","tn-static-margin-top-8px-f4f01e68"),h.classList.add("tn-static-margin-top-8px-8a77e5a3"),h.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),h.classList.add("tn-static-display-flex-75816cae"),h.classList.remove("tn-static-align-items-baseline-4b95b5c7","tn-static-align-items-center-7c619740"),h.classList.add("tn-static-align-items-flex-start-0486f781"),h.classList.remove("tn-static-display-flex-8bb39979","tn-static-gap-0-5rem-ce2fca4d","tn-static-gap-10px-f3d7ce77","tn-static-gap-12px-ed7b3d87","tn-static-gap-8px-33fcd4c3"),h.classList.add("tn-static-gap-6px-f0abc1db");let g=h.createSpan();(0,jOe.setIcon)(g,"alert-triangle"),g.classList.add("tn-static-flex-shrink-0-6ee0661e");let y=h.createSpan();y.textContent=n("settings.taskProperties.titleCard.legacySyntaxWarning")}};o.addEventListener("change",()=>{e.settings.customFilenameTemplate=o.value,t(),c()}),o.addEventListener("input",c),a.appendChild(o),r.createDiv({text:n("settings.appearance.taskFilenames.customTemplate.helpText"),cls:"setting-item-description"}),c()}}var qOe=require("obsidian");var mu=require("obsidian"),eZ=class extends mu.AbstractInputSuggest{constructor(e,t){super(e,t),this.input=t}getSuggestions(e){let t=(0,mu.getIconIds)(),n=e.toLowerCase().trim();return n?t.filter(i=>i.toLowerCase().includes(n)).map(i=>({id:i,display:i})):["check","circle","clock","star","flag","alert-circle","calendar","bookmark","play","pause","square","x","check-circle","minus-circle","plus-circle","loader"].filter(s=>t.includes(s)).map(s=>({id:s,display:s}))}renderSuggestion(e,t){t.addClass("icon-suggestion-item");let n=t.createSpan("icon-suggestion-preview");(0,mu.setIcon)(n,e.id),t.createSpan({text:e.display,cls:"icon-suggestion-text"})}selectSuggestion(e){this.input.value=e.id,this.input.dispatchEvent(new Event("input",{bubbles:!0})),this.input.dispatchEvent(new Event("change",{bubbles:!0})),this.close()}};function BOe(r,e,t,n){let i=activeDocument.createElement("div");i.addClass("icon-input-container");let s=activeDocument.createElement("span");s.addClass("icon-input-preview"),i.appendChild(s);let a=activeDocument.createElement("input");a.type="text",a.addClass("tasknotes-settings__card-input"),a.addClass("icon-input"),a.placeholder=e,t&&(a.value=t,(0,mu.setIcon)(s,t),s.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),s.classList.add("tn-static-display-flex-75816cae")),i.appendChild(a);let o=()=>{let l=a.value.trim();l&&(0,mu.getIconIds)().includes(l)?(s.empty(),(0,mu.setIcon)(s,l),s.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),s.classList.add("tn-static-display-flex-75816cae")):(s.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-min-height-800px-997b4c8c"),s.classList.add("tn-static-display-none-6b99de8b"))};return a.addEventListener("input",()=>{o(),n&&n(a.value)}),new eZ(r,a),{container:i,input:a}}function tZ(r,e,t,n){let i=Ue("text","status",e.settings.fieldMapping.status),s=e.settings.customStatuses.map(T=>T.value);!s.includes(e.settings.defaultTaskStatus)&&s.length>0&&(e.settings.defaultTaskStatus=s[0],t());let a=ai(e.settings.customStatuses.map(T=>({value:T.value,label:T.label||T.value})),e.settings.defaultTaskStatus);i.addEventListener("change",()=>{e.settings.fieldMapping.status=i.value,t()}),a.addEventListener("change",()=>{e.settings.defaultTaskStatus=a.value,t()});let o=activeDocument.createElement("div");o.addClass("tasknotes-settings__nested-cards");let l=o.createDiv("tasknotes-settings__collapsible-section"),c=l.createDiv("tasknotes-settings__collapsible-section-header");c.createSpan({text:n("settings.taskProperties.statusCard.valuesHeader"),cls:"tasknotes-settings__collapsible-section-title"});let d=c.createSpan("tasknotes-settings__collapsible-section-chevron");(0,qOe.setIcon)(d,"chevron-down");let u=l.createDiv("tasknotes-settings__collapsible-section-content"),p=u.createDiv("tasknotes-settings__help-section");p.createEl("h4",{text:n("settings.taskProperties.taskStatuses.howTheyWork.title")});let m=p.createEl("ul");m.createEl("li",{text:n("settings.taskProperties.taskStatuses.howTheyWork.value")}),m.createEl("li",{text:n("settings.taskProperties.taskStatuses.howTheyWork.label")}),m.createEl("li",{text:n("settings.taskProperties.taskStatuses.howTheyWork.color")}),m.createEl("li",{text:n("settings.taskProperties.taskStatuses.howTheyWork.icon")}),m.createEl("li",{text:n("settings.taskProperties.taskStatuses.howTheyWork.completed")}),m.createEl("li",{text:n("settings.taskProperties.taskStatuses.howTheyWork.autoArchive")}),p.createEl("p",{text:n("settings.taskProperties.taskStatuses.howTheyWork.orderNote"),cls:"setting-item-description"});let f=u.createDiv("tasknotes-statuses-container");wO(f,e,t,n,()=>{a.empty(),e.settings.customStatuses.forEach(T=>{let w=a.createEl("option",{value:T.value,text:T.label||T.value});T.value===e.settings.defaultTaskStatus&&(w.selected=!0)})});let h=u.createEl("button",{text:n("settings.taskProperties.taskStatuses.addNew.buttonText"),cls:"tn-btn tn-btn--ghost"});h.classList.remove("tn-static-font-size-12px-b0cc7e05","tn-static-margin-top-0-d462248a","tn-static-margin-top-12px-91e0f558","tn-static-margin-top-16px-1b0f4999","tn-static-margin-top-1rem-2239d6d5","tn-static-margin-top-20px-a26bda7d","tn-static-margin-top-30px-2fbbbcd4","tn-static-margin-top-4px-96ad6099","tn-static-margin-top-8px-8a77e5a3","tn-static-margin-top-8px-f4f01e68"),h.classList.add("tn-static-margin-top-0-5rem-3dc98b5e"),h.onclick=()=>{let w={id:`status_${Date.now()}`,value:"",label:"",color:"#6366f1",completed:!1,isCompleted:!1,order:e.settings.customStatuses.length,autoArchive:!1,autoArchiveDelay:5};e.settings.customStatuses.push(w),t(),wO(f,e,t,n,()=>{a.empty(),e.settings.customStatuses.forEach(S=>{let E=a.createEl("option",{value:S.value,text:S.label||S.value});S.value===e.settings.defaultTaskStatus&&(E.selected=!0)})})},c.addEventListener("click",()=>{l.toggleClass("tasknotes-settings__collapsible-section--collapsed",!l.hasClass("tasknotes-settings__collapsible-section--collapsed"))});let g=Ao(e,"status","*",t,n),k=[{label:"",input:ws(n("settings.taskProperties.properties.status.description")),fullWidth:!0},{label:n("settings.taskProperties.propertyCard.propertyKey"),input:i},{label:n("settings.taskProperties.propertyCard.default"),input:a},...g,{label:"",input:o,fullWidth:!0}];ur(r,{id:"property-status",collapsible:!0,defaultCollapsed:!0,header:{primaryText:n("settings.taskProperties.properties.status.name"),secondaryText:e.settings.fieldMapping.status},content:{sections:[{rows:k}]}})}function wO(r,e,t,n,i){if(r.empty(),!e.settings.customStatuses||e.settings.customStatuses.length===0){jc(r,n("settings.taskProperties.taskStatuses.emptyState"));return}[...e.settings.customStatuses].sort((a,o)=>a.order-o.order).forEach(a=>{let o=Ue("text",n("settings.taskProperties.taskStatuses.placeholders.value"),a.value),l=Ue("text",n("settings.taskProperties.taskStatuses.placeholders.label"),a.label),c=Ue("color","",a.color),{container:d,input:u}=BOe(e.app,n("settings.taskProperties.taskStatuses.placeholders.icon"),a.icon||""),p=Gn(a.isCompleted||!1,w=>{a.isCompleted=w;let S=g==null?void 0:g.querySelector(".tasknotes-settings__card-meta");S&&(S.empty(),a.isCompleted&&S.appendChild(ks(n("settings.taskProperties.taskStatuses.badges.completed"),"completed"))),t()}),m=Gn(a.autoArchive||!1,w=>{a.autoArchive=w,t(),y()}),f=um(1,1440,1,a.autoArchiveDelay||5),h=a.isCompleted?[ks(n("settings.taskProperties.taskStatuses.badges.completed"),"completed")]:[],g,y=()=>{let w=f.closest(".tasknotes-settings__card-config-row");w&&(w.style.display=a.autoArchive?"flex":"none")},k=()=>{if(confirm(n("settings.taskProperties.taskStatuses.deleteConfirm",{label:a.label||a.value}))){let S=e.settings.customStatuses.findIndex(E=>E.id===a.id);if(S!==-1){let E=e.settings.defaultTaskStatus===a.value;e.settings.customStatuses.splice(S,1),e.settings.customStatuses.forEach((C,D)=>{C.order=D}),E&&e.settings.customStatuses.length>0&&(e.settings.defaultTaskStatus=e.settings.customStatuses[0].value),t(),wO(r,e,t,n,i),i&&i()}}},T={id:a.id,draggable:!0,collapsible:!0,defaultCollapsed:!0,colorIndicator:{color:a.color,cssVar:"--status-color"},header:{primaryText:a.value||"untitled",secondaryText:a.label||"No label",meta:h,actions:[Tl(k)]},content:{sections:[{rows:[{label:n("settings.taskProperties.taskStatuses.fields.value"),input:o},{label:n("settings.taskProperties.taskStatuses.fields.label"),input:l},{label:n("settings.taskProperties.taskStatuses.fields.color"),input:c},{label:n("settings.taskProperties.taskStatuses.fields.icon"),input:d},{label:n("settings.taskProperties.taskStatuses.fields.completed"),input:p},{label:n("settings.taskProperties.taskStatuses.fields.autoArchive"),input:m},{label:n("settings.taskProperties.taskStatuses.fields.delayMinutes"),input:f}]}]}};g=ur(r,T),y(),o.addEventListener("input",()=>{a.value=o.value,g.querySelector(".tasknotes-settings__card-primary-text").textContent=a.value||"untitled",t(),i&&i()}),l.addEventListener("input",()=>{a.label=l.value,g.querySelector(".tasknotes-settings__card-secondary-text").textContent=a.label||"No label",t(),i&&i()}),c.addEventListener("change",()=>{a.color=c.value;let w=g.querySelector(".tasknotes-settings__card-color-indicator");w&&(w.style.backgroundColor=a.color),t()}),u.addEventListener("change",()=>{a.icon=u.value.trim()||void 0,t()}),f.addEventListener("change",()=>{let w=parseInt(f.value);!isNaN(w)&&w>=1&&w<=1440&&(a.autoArchiveDelay=w,t())}),Ob(g,r,(w,S,E)=>{let C=e.settings.customStatuses.findIndex(R=>R.id===w),D=e.settings.customStatuses.findIndex(R=>R.id===S);if(C===-1||D===-1)return;let A=[...e.settings.customStatuses],[N]=A.splice(C,1),V=D;C<D&&(V=D-1),E||V++,A.splice(V,0,N),A.forEach((R,I)=>{R.order=I}),e.settings.customStatuses=A,t(),wO(r,e,t,n,i)})})}var xO=require("obsidian");function rZ(r,e,t,n){let i=Ue("text","priority",e.settings.fieldMapping.priority),s=e.settings.customPriorities.map(T=>T.value);e.settings.defaultTaskPriority!==""&&!s.includes(e.settings.defaultTaskPriority)&&(e.settings.defaultTaskPriority=s.length>0?s[0]:"",t());let a=ai([{value:"",label:n("settings.defaults.options.noDefault")},...e.settings.customPriorities.map(T=>({value:T.value,label:T.label||T.value}))],e.settings.defaultTaskPriority);i.addEventListener("change",()=>{e.settings.fieldMapping.priority=i.value,t()}),a.addEventListener("change",()=>{e.settings.defaultTaskPriority=a.value,t()});let o=activeDocument.createElement("div");o.addClass("tasknotes-settings__nested-cards");let l=o.createDiv("tasknotes-settings__collapsible-section"),c=l.createDiv("tasknotes-settings__collapsible-section-header");c.createSpan({text:n("settings.taskProperties.priorityCard.valuesHeader"),cls:"tasknotes-settings__collapsible-section-title"});let d=c.createSpan("tasknotes-settings__collapsible-section-chevron");(0,xO.setIcon)(d,"chevron-down");let u=l.createDiv("tasknotes-settings__collapsible-section-content"),p=u.createDiv("tasknotes-settings__help-section");p.createEl("h4",{text:n("settings.taskProperties.taskPriorities.howTheyWork.title")});let m=p.createEl("ul");m.createEl("li",{text:n("settings.taskProperties.taskPriorities.howTheyWork.value")}),m.createEl("li",{text:n("settings.taskProperties.taskPriorities.howTheyWork.label")}),m.createEl("li",{text:n("settings.taskProperties.taskPriorities.howTheyWork.color")});let f=u.createDiv("tasknotes-priorities-container");SO(f,e,t,n,()=>{a.empty();let T=a.createEl("option",{value:"",text:n("settings.defaults.options.noDefault")});e.settings.defaultTaskPriority===""&&(T.selected=!0),e.settings.customPriorities.forEach(w=>{let S=a.createEl("option",{value:w.value,text:w.label||w.value});w.value===e.settings.defaultTaskPriority&&(S.selected=!0)})});let h=u.createEl("button",{text:n("settings.taskProperties.taskPriorities.addNew.buttonText"),cls:"tn-btn tn-btn--ghost"});h.classList.remove("tn-static-font-size-12px-b0cc7e05","tn-static-margin-top-0-d462248a","tn-static-margin-top-12px-91e0f558","tn-static-margin-top-16px-1b0f4999","tn-static-margin-top-1rem-2239d6d5","tn-static-margin-top-20px-a26bda7d","tn-static-margin-top-30px-2fbbbcd4","tn-static-margin-top-4px-96ad6099","tn-static-margin-top-8px-8a77e5a3","tn-static-margin-top-8px-f4f01e68"),h.classList.add("tn-static-margin-top-0-5rem-3dc98b5e"),h.onclick=()=>{let T=`priority_${Date.now()}`,w=e.settings.customPriorities.reduce((E,C)=>Math.max(E,C.weight),-1),S={id:T,value:"",label:"",color:"#6366f1",weight:w+1};e.settings.customPriorities.push(S),t(),SO(f,e,t,n,()=>{a.empty();let E=a.createEl("option",{value:"",text:n("settings.defaults.options.noDefault")});e.settings.defaultTaskPriority===""&&(E.selected=!0),e.settings.customPriorities.forEach(C=>{let D=a.createEl("option",{value:C.value,text:C.label||C.value});C.value===e.settings.defaultTaskPriority&&(D.selected=!0)})})},c.addEventListener("click",()=>{l.toggleClass("tasknotes-settings__collapsible-section--collapsed",!l.hasClass("tasknotes-settings__collapsible-section--collapsed"))});let g=Ao(e,"priority","!",t,n),k=[{label:"",input:ws(n("settings.taskProperties.properties.priority.description")),fullWidth:!0},{label:n("settings.taskProperties.propertyCard.propertyKey"),input:i},{label:n("settings.taskProperties.propertyCard.default"),input:a},...g,{label:"",input:o,fullWidth:!0}];ur(r,{id:"property-priority",collapsible:!0,defaultCollapsed:!0,header:{primaryText:n("settings.taskProperties.properties.priority.name"),secondaryText:e.settings.fieldMapping.priority},content:{sections:[{rows:k}]}})}function SO(r,e,t,n,i){if(r.empty(),!e.settings.customPriorities||e.settings.customPriorities.length===0){jc(r,n("settings.taskProperties.taskPriorities.emptyState"));return}[...e.settings.customPriorities].sort((a,o)=>a.weight-o.weight).forEach(a=>{let o=Ue("text",n("settings.taskProperties.taskPriorities.placeholders.value"),a.value),l=Ue("text",n("settings.taskProperties.taskPriorities.placeholders.label"),a.label),c=Ue("color","",a.color),d=ur(r,{id:a.id,draggable:!0,collapsible:!0,defaultCollapsed:!0,colorIndicator:{color:a.color},header:{primaryText:a.label||a.value||"untitled",actions:[Tl(()=>{if(e.settings.customPriorities.length<=1){new xO.Notice(n("settings.taskProperties.taskPriorities.deleteConfirm"));return}let u=e.settings.customPriorities.findIndex(p=>p.id===a.id);if(u!==-1){let p=e.settings.defaultTaskPriority===a.value;e.settings.customPriorities.splice(u,1),e.settings.customPriorities.sort((m,f)=>m.weight-f.weight).forEach((m,f)=>{m.weight=f}),p&&(e.settings.defaultTaskPriority=e.settings.customPriorities.length>0?e.settings.customPriorities[0].value:""),t(),SO(r,e,t,n,i),i&&i()}},n("settings.taskProperties.taskPriorities.deleteTooltip"))]},content:{sections:[{rows:[{label:n("settings.taskProperties.taskPriorities.fields.value"),input:o},{label:n("settings.taskProperties.taskPriorities.fields.label"),input:l},{label:n("settings.taskProperties.taskPriorities.fields.color"),input:c}]}]}});o.addEventListener("input",()=>{a.value=o.value,t(),i&&i()}),l.addEventListener("input",()=>{a.label=l.value,d.querySelector(".tasknotes-settings__card-primary-text").textContent=a.label||a.value||"untitled",t(),i&&i()}),c.addEventListener("change",()=>{a.color=c.value;let u=d.querySelector(".tasknotes-settings__card-color-indicator");u&&(u.style.backgroundColor=a.color),t()}),Ob(d,r,(u,p,m)=>{let f=e.settings.customPriorities.findIndex(S=>S.id===u),h=e.settings.customPriorities.findIndex(S=>S.id===p);if(f===-1||h===-1)return;let g=[...e.settings.customPriorities].sort((S,E)=>S.weight-E.weight),y=g.findIndex(S=>S.id===u),k=g.findIndex(S=>S.id===p),[T]=g.splice(y,1),w=k;y<k&&(w=k-1),m||w++,g.splice(w,0,T),g.forEach((S,E)=>{S.weight=E}),e.settings.customPriorities=g,t(),SO(r,e,t,n,i)})})}var Y0=require("obsidian");function EO(r,e,t,n){var u,p;let i=e||{requiredTags:[],includeFolders:[],propertyKey:"",propertyValue:""},s=m=>{i={...i,...m},t(i)},a=Ue("text",n("settings.appearance.projectAutosuggest.requiredTags.placeholder"),((u=i.requiredTags)==null?void 0:u.join(", "))||"");a.addEventListener("change",()=>{let m=a.value.split(",").map(f=>f.trim()).filter(Boolean);s({requiredTags:m})});let o=Ue("text",n("settings.appearance.projectAutosuggest.includeFolders.placeholder"),((p=i.includeFolders)==null?void 0:p.join(", "))||"");o.addEventListener("change",()=>{let m=o.value.split(",").map(f=>f.trim()).filter(Boolean);s({includeFolders:m})});let l=Ue("text",n("settings.appearance.projectAutosuggest.requiredPropertyKey.placeholder"),i.propertyKey||"");l.addEventListener("change",()=>{s({propertyKey:l.value.trim()})});let c=Ue("text",n("settings.appearance.projectAutosuggest.requiredPropertyValue.placeholder"),i.propertyValue||"");c.addEventListener("change",()=>{s({propertyValue:c.value.trim()})});let d=(m,f)=>{let h=r.createDiv("tasknotes-settings__card-config-row"),g=h.createSpan("tasknotes-settings__card-config-label");g.textContent=m,h.appendChild(f)};d(n("settings.appearance.projectAutosuggest.requiredTags.name"),a),d(n("settings.appearance.projectAutosuggest.includeFolders.name"),o),d(n("settings.appearance.projectAutosuggest.requiredPropertyKey.name"),l),d(n("settings.appearance.projectAutosuggest.requiredPropertyValue.name"),c)}QD();gu();function iZ(r,e,t,n){let i=r.createDiv(),s=!0;function a(){i.empty();let o=Ue("text","projects",e.settings.fieldMapping.projects);o.addEventListener("change",()=>{e.settings.fieldMapping.projects=o.value,t()});let l=activeDocument.createElement("div");l.addClass("tasknotes-settings__nested-content");let c=[],d=l.createDiv("default-projects-container");e.settings.taskCreationDefaults.defaultProjects&&sa(e.settings.taskCreationDefaults.defaultProjects).map(w=>w.replace(/\[\[|\]\]/g,"").trim()).filter(w=>w).forEach(w=>{let S=e.app.vault.getAbstractFileByPath(w+".md")||e.app.vault.getAbstractFileByPath(w);S&&c.push(S)});let p=d.createDiv().createEl("button",{text:n("settings.defaults.basicDefaults.defaultProjects.selectButton"),cls:"tn-btn tn-btn--ghost"});p.onclick=()=>{new Su(e.app,e,w=>{if(!c.includes(w)){c.push(w);let S=c.map(E=>`[[${E.path.replace(/\.md$/,"")}]]`).join(", ");e.settings.taskCreationDefaults.defaultProjects=S,t(),nZ(m,e,t,c,n)}}).open()};let m=d.createDiv("default-projects-list-container");nZ(m,e,t,c,n);let f=Gn(e.settings.taskCreationDefaults.useParentNoteAsProject,T=>{e.settings.taskCreationDefaults.useParentNoteAsProject=T,t()}),h=Ao(e,"projects","+",t,n),g=ws(n("settings.taskProperties.properties.projects.description")),y=activeDocument.createElement("div");y.addClass("tasknotes-settings__nested-content"),Xkt(y,e,t,n,a);let k=[{label:"",input:g,fullWidth:!0},{label:n("settings.taskProperties.propertyCard.propertyKey"),input:o},{label:n("settings.taskProperties.projectsCard.defaultProjects"),input:l,fullWidth:!0},{label:n("settings.taskProperties.projectsCard.useParentNote"),input:f},...h,{label:"",input:y,fullWidth:!0}];ur(i,{id:"property-projects",collapsible:!0,defaultCollapsed:s,onCollapseChange:T=>{s=T},header:{primaryText:n("settings.taskProperties.properties.projects.name"),secondaryText:e.settings.fieldMapping.projects},content:{sections:[{rows:k}]}})}a()}function Xkt(r,e,t,n,i){r.empty(),e.settings.projectAutosuggest||(e.settings.projectAutosuggest={enableFuzzy:!1,rows:[],showAdvanced:!1,requiredTags:[],includeFolders:[],propertyKey:"",propertyValue:""});let s=()=>{let z=e.settings.projectAutosuggest;return z?z.requiredTags&&z.requiredTags.length>0||z.includeFolders&&z.includeFolders.length>0||z.propertyKey&&z.propertyKey.trim()!=="":!1},a=e.settings.projectAutosuggest;if(!a)return;let o=r.createDiv("tasknotes-settings__collapsible-section");o.addClass("tasknotes-settings__collapsible-section--collapsed");let l=o.createDiv("tasknotes-settings__collapsible-section-header"),c=l.createDiv("tasknotes-settings__collapsible-section-header-left");c.createSpan({text:n("settings.taskProperties.projectsCard.autosuggestFilters"),cls:"tasknotes-settings__collapsible-section-title"});let d=c.createSpan("tasknotes-settings__filter-badge"),u=()=>{if(s()){d.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),d.classList.add("tn-static-display-inline-flex-f984c520"),d.empty();let z=d.createSpan();(0,Y0.setIcon)(z,"filter"),d.createSpan({text:n("settings.taskProperties.projectsCard.filtersOn")})}else d.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-min-height-800px-997b4c8c"),d.classList.add("tn-static-display-none-6b99de8b"),d.empty()};u();let p=l.createSpan("tasknotes-settings__collapsible-section-chevron");(0,Y0.setIcon)(p,"chevron-down");let m=o.createDiv("tasknotes-settings__collapsible-section-content");EO(m,{requiredTags:a.requiredTags,includeFolders:a.includeFolders,propertyKey:a.propertyKey,propertyValue:a.propertyValue},z=>{a.requiredTags=z.requiredTags,a.includeFolders=z.includeFolders,a.propertyKey=z.propertyKey,a.propertyValue=z.propertyValue,u(),t()},n),l.addEventListener("click",()=>{o.toggleClass("tasknotes-settings__collapsible-section--collapsed",!o.hasClass("tasknotes-settings__collapsible-section--collapsed"))});let f=r.createDiv("tasknotes-settings__collapsible-section");f.addClass("tasknotes-settings__collapsible-section--collapsed");let h=f.createDiv("tasknotes-settings__collapsible-section-header");h.createDiv("tasknotes-settings__collapsible-section-header-left").createSpan({text:n("settings.taskProperties.projectsCard.customizeDisplay"),cls:"tasknotes-settings__collapsible-section-title"});let y=h.createSpan("tasknotes-settings__collapsible-section-chevron");(0,Y0.setIcon)(y,"chevron-down");let k=f.createDiv("tasknotes-settings__collapsible-section-content"),T=k.createDiv("tasknotes-settings__card-config-row");T.createSpan({text:n("settings.appearance.projectAutosuggest.enableFuzzyMatching.name"),cls:"tasknotes-settings__card-config-label"});let w=Gn(a.enableFuzzy,z=>{a.enableFuzzy=z,t()});T.appendChild(w),k.createDiv({text:n("settings.appearance.projectAutosuggest.displayRowsHelp"),cls:"setting-item-description"});let S=()=>{var z,B;return((B=(z=e.settings.projectAutosuggest)==null?void 0:z.rows)!=null?B:[]).slice(0,3)},E=(z,B)=>{var ee;if(!e.settings.projectAutosuggest)return;let Y=[...(ee=e.settings.projectAutosuggest.rows)!=null?ee:[]];Y[z]=B,e.settings.projectAutosuggest.rows=Y.slice(0,3),t()},C=k.createDiv("tasknotes-settings__card-config-row");C.createSpan({text:n("settings.appearance.projectAutosuggest.displayRows.row1.name"),cls:"tasknotes-settings__card-config-label"});let D=Ue("text",n("settings.appearance.projectAutosuggest.displayRows.row1.placeholder"),S()[0]||"");D.addEventListener("change",()=>E(0,D.value)),C.appendChild(D);let A=k.createDiv("tasknotes-settings__card-config-row");A.createSpan({text:n("settings.appearance.projectAutosuggest.displayRows.row2.name"),cls:"tasknotes-settings__card-config-label"});let N=Ue("text",n("settings.appearance.projectAutosuggest.displayRows.row2.placeholder"),S()[1]||"");N.addEventListener("change",()=>E(1,N.value)),A.appendChild(N);let V=k.createDiv("tasknotes-settings__card-config-row");V.createSpan({text:n("settings.appearance.projectAutosuggest.displayRows.row3.name"),cls:"tasknotes-settings__card-config-label"});let R=Ue("text",n("settings.appearance.projectAutosuggest.displayRows.row3.placeholder"),S()[2]||"");R.addEventListener("change",()=>E(2,R.value)),V.appendChild(R);let I=k.createDiv("tasknotes-settings__help-section");I.createEl("h4",{text:n("settings.appearance.projectAutosuggest.quickReference.header")});let O=I.createEl("ul");O.createEl("li",{text:n("settings.appearance.projectAutosuggest.quickReference.properties")}),O.createEl("li",{text:n("settings.appearance.projectAutosuggest.quickReference.labels")}),O.createEl("li",{text:n("settings.appearance.projectAutosuggest.quickReference.searchable")}),O.createEl("li",{text:n("settings.appearance.projectAutosuggest.quickReference.staticText")}),I.createEl("p",{text:n("settings.appearance.projectAutosuggest.quickReference.alwaysSearchable"),cls:"settings-help-note"}),h.addEventListener("click",()=>{f.toggleClass("tasknotes-settings__collapsible-section--collapsed",!f.hasClass("tasknotes-settings__collapsible-section--collapsed"))})}function nZ(r,e,t,n,i){if(r.empty(),n.length===0){r.createDiv({text:i("settings.taskProperties.projectsCard.noDefaultProjects"),cls:"setting-item-description"});return}n.forEach(s=>{let a=r.createDiv("tasknotes-settings__project-item");a.createSpan({text:s.name.replace(/\.md$/,"")});let o=a.createEl("button",{cls:"tasknotes-settings__card-header-btn tasknotes-settings__card-header-btn--delete"});(0,Y0.setIcon)(o,"x"),o.title=i("settings.defaults.basicDefaults.defaultProjects.removeTooltip",{name:s.name}),o.onclick=()=>{let l=n.indexOf(s);if(l>-1){n.splice(l,1);let c=n.map(d=>`[[${d.path.replace(/\.md$/,"")}]]`).join(", ");e.settings.taskCreationDefaults.defaultProjects=c,t(),nZ(r,e,t,n,i)}}})}function sZ(r,e,t,n){let i=Ue("text",n("settings.defaults.basicDefaults.defaultTags.placeholder"),e.settings.taskCreationDefaults.defaultTags);i.addEventListener("change",()=>{e.settings.taskCreationDefaults.defaultTags=i.value,t()});let s=Ao(e,"tags","#",t,n),o=[{label:"",input:ws(n("settings.taskProperties.properties.tags.description")),fullWidth:!0},{label:n("settings.taskProperties.propertyCard.default"),input:i},...s];ur(r,{id:"property-tags",collapsible:!0,defaultCollapsed:!0,header:{primaryText:n("settings.taskProperties.properties.tags.name"),secondaryText:n("settings.taskProperties.tagsCard.nativeObsidianTags")},content:{sections:[{rows:o}]}})}var UOe=require("obsidian");function aZ(r,e,t,n){let i=Ue("text","reminders",e.settings.fieldMapping.reminders);i.addEventListener("change",()=>{e.settings.fieldMapping.reminders=i.value,t()});let s=activeDocument.createElement("div");s.addClass("tasknotes-settings__nested-cards");let a=s.createDiv("tasknotes-settings__collapsible-section"),o=a.createDiv("tasknotes-settings__collapsible-section-header");o.createSpan({text:n("settings.taskProperties.remindersCard.defaultReminders"),cls:"tasknotes-settings__collapsible-section-title"});let l=o.createSpan("tasknotes-settings__collapsible-section-chevron");(0,UOe.setIcon)(l,"chevron-down");let c=a.createDiv("tasknotes-settings__collapsible-section-content"),d=c.createDiv("tasknotes-reminders-container");DO(d,e,t,n);let u=c.createEl("button",{text:n("settings.defaults.reminders.addReminder.buttonText"),cls:"tn-btn tn-btn--ghost"});u.classList.remove("tn-static-font-size-12px-b0cc7e05","tn-static-margin-top-0-d462248a","tn-static-margin-top-12px-91e0f558","tn-static-margin-top-16px-1b0f4999","tn-static-margin-top-1rem-2239d6d5","tn-static-margin-top-20px-a26bda7d","tn-static-margin-top-30px-2fbbbcd4","tn-static-margin-top-4px-96ad6099","tn-static-margin-top-8px-8a77e5a3","tn-static-margin-top-8px-f4f01e68"),u.classList.add("tn-static-margin-top-0-5rem-3dc98b5e"),u.onclick=()=>{let h={id:`reminder_${Date.now()}`,type:"relative",relatedTo:"due",offset:1,unit:"hours",direction:"before",description:"Reminder"};e.settings.taskCreationDefaults.defaultReminders=e.settings.taskCreationDefaults.defaultReminders||[],e.settings.taskCreationDefaults.defaultReminders.push(h),t(),DO(d,e,t,n)},o.addEventListener("click",()=>{a.toggleClass("tasknotes-settings__collapsible-section--collapsed",!a.hasClass("tasknotes-settings__collapsible-section--collapsed"))});let m=[{label:"",input:ws(n("settings.taskProperties.properties.reminders.description")),fullWidth:!0},{label:n("settings.taskProperties.propertyCard.propertyKey"),input:i},{label:"",input:s,fullWidth:!0}];ur(r,{id:"property-reminders",collapsible:!0,defaultCollapsed:!0,header:{primaryText:n("settings.taskProperties.properties.reminders.name"),secondaryText:e.settings.fieldMapping.reminders},content:{sections:[{rows:m}]}})}function DO(r,e,t,n){if(r.empty(),!e.settings.taskCreationDefaults.defaultReminders||e.settings.taskCreationDefaults.defaultReminders.length===0){jc(r,n("settings.defaults.reminders.emptyState"));return}e.settings.taskCreationDefaults.defaultReminders.forEach((i,s)=>{let a=HOe(i,n),o=Ue("text",n("settings.defaults.reminders.reminderDescription"),i.description),l=ai([{value:"relative",label:n("settings.defaults.reminders.types.relative")},{value:"absolute",label:n("settings.defaults.reminders.types.absolute")}],i.type),c=p=>{Object.assign(i,p),t();let m=r.querySelector(`[data-card-id="${i.id}"]`);if(m){let f=m.querySelector(".tasknotes-settings__card-secondary-text");f&&(f.textContent=HOe(i,n))}},d=i.type==="relative"?ewt(i,c,n):twt(i,c,n),u=ur(r,{id:i.id,collapsible:!0,defaultCollapsed:!0,header:{primaryText:i.description||n("settings.defaults.reminders.unnamedReminder"),secondaryText:a,actions:[Tl(()=>{e.settings.taskCreationDefaults.defaultReminders.splice(s,1),t(),DO(r,e,t,n)},n("settings.defaults.reminders.deleteTooltip"))]},content:{sections:[{rows:[{label:n("settings.defaults.reminders.fields.description"),input:o},{label:n("settings.defaults.reminders.fields.type"),input:l}]},{rows:d}]}});o.addEventListener("input",()=>{i.description=o.value,t();let p=u.querySelector(".tasknotes-settings__card-primary-text");p&&(p.textContent=i.description||n("settings.defaults.reminders.unnamedReminder"))}),l.addEventListener("change",()=>{i.type=l.value,t(),DO(r,e,t,n)})})}function ewt(r,e,t){let n=um(0,void 0,1,r.offset);n.addEventListener("input",()=>{let o=parseInt(n.value);!isNaN(o)&&o>=0&&e({offset:o})});let i=ai([{value:"minutes",label:t("settings.defaults.reminders.units.minutes")},{value:"hours",label:t("settings.defaults.reminders.units.hours")},{value:"days",label:t("settings.defaults.reminders.units.days")}],r.unit);i.addEventListener("change",()=>{e({unit:i.value})});let s=ai([{value:"before",label:t("settings.defaults.reminders.directions.before")},{value:"after",label:t("settings.defaults.reminders.directions.after")}],r.direction);s.addEventListener("change",()=>{e({direction:s.value})});let a=ai([{value:"due",label:t("settings.defaults.reminders.relatedTo.due")},{value:"scheduled",label:t("settings.defaults.reminders.relatedTo.scheduled")}],r.relatedTo);return a.addEventListener("change",()=>{e({relatedTo:a.value})}),[{label:t("settings.defaults.reminders.fields.offset"),input:n},{label:t("settings.defaults.reminders.fields.unit"),input:i},{label:t("settings.defaults.reminders.fields.direction"),input:s},{label:t("settings.defaults.reminders.fields.relatedTo"),input:a}]}function twt(r,e,t){let n=Ue("date",r.absoluteDate||new Date().toISOString().split("T")[0]);n.addEventListener("input",()=>{e({absoluteDate:n.value})});let i=Ue("time",r.absoluteTime||"09:00");return i.addEventListener("input",()=>{e({absoluteTime:i.value})}),[{label:t("settings.defaults.reminders.fields.date"),input:n},{label:t("settings.defaults.reminders.fields.time"),input:i}]}function HOe(r,e){var t;if(r.type==="relative"){let n=r.direction==="before"?e("settings.defaults.reminders.directions.before"):e("settings.defaults.reminders.directions.after"),i=e(`settings.defaults.reminders.units.${r.unit||"hours"}`),s=(t=r.offset)!=null?t:1,a=r.relatedTo==="due"?e("settings.defaults.reminders.relatedTo.due"):e("settings.defaults.reminders.relatedTo.scheduled");return`${s} ${i} ${n} ${a}`}else{let n=r.absoluteDate||e("settings.defaults.reminders.fields.date"),i=r.absoluteTime||e("settings.defaults.reminders.fields.time");return`${n} at ${i}`}}var K0=require("obsidian");Xb();function rwt(r,e,t){let n,i;if(r.type==="boolean"){let s=typeof r.defaultValue=="boolean"?r.defaultValue:!1;n=Gn(s,a=>{t(a)}),i={label:e("settings.taskProperties.customUserFields.fields.defaultValue"),input:n}}else if(r.type==="number"){let s=Ue("number",e("settings.taskProperties.customUserFields.placeholders.defaultValue"),r.defaultValue!==void 0?String(r.defaultValue):"");s.addEventListener("change",()=>{let a=s.value.trim();t(a===""?void 0:parseFloat(a))}),n=s,i={label:e("settings.taskProperties.customUserFields.fields.defaultValue"),input:n}}else if(r.type==="date"){let s=typeof r.defaultValue=="string"?r.defaultValue:"none",a=ai([{value:"none",label:e("settings.defaults.options.none")},{value:"today",label:e("settings.defaults.options.today")},{value:"tomorrow",label:e("settings.defaults.options.tomorrow")},{value:"next-week",label:e("settings.defaults.options.nextWeek")}],s);a.addEventListener("change",()=>{let o=a.value;t(o==="none"?void 0:o)}),n=a,i={label:e("settings.taskProperties.customUserFields.fields.defaultValue"),input:n}}else if(r.type==="list"){let s=Array.isArray(r.defaultValue)?r.defaultValue.join(", "):"",a=Ue("text",e("settings.taskProperties.customUserFields.placeholders.defaultValueList"),s);a.addEventListener("change",()=>{let o=a.value.trim();t(o===""?void 0:o.split(",").map(l=>l.trim()).filter(l=>l))}),n=a,i={label:e("settings.taskProperties.customUserFields.fields.defaultValue"),input:n}}else{let s=Ue("text",e("settings.taskProperties.customUserFields.placeholders.defaultValue"),typeof r.defaultValue=="string"?r.defaultValue:"");s.addEventListener("change",()=>{let a=s.value.trim();t(a===""?void 0:a)}),n=s,i={label:e("settings.taskProperties.customUserFields.fields.defaultValue"),input:n}}return{element:n,row:i}}function oZ(r,e,t,n){if(Array.isArray(e.settings.userFields)||(e.settings.userFields=[]),e.settings.userField&&e.settings.userField.enabled){let s=e.settings.userField,a=(s.displayName||s.key||"field").toLowerCase().replace(/[^a-z0-9_-]/g,"-");e.settings.userFields.find(o=>o.id===a||o.key===s.key)||(e.settings.userFields.push({id:a,displayName:s.displayName||"",key:s.key||"",type:s.type||"text"}),t())}let i=r.createDiv("tasknotes-user-fields-container");G0(i,e,t,n),new K0.Setting(r).setName(n("settings.taskProperties.customUserFields.addNew.name")).setDesc(n("settings.taskProperties.customUserFields.addNew.description")).addButton(s=>s.setButtonText(n("settings.taskProperties.customUserFields.addNew.buttonText")).onClick(async()=>{e.settings.userFields||(e.settings.userFields=[]);let a=`field_${Date.now()}`,o={id:a,displayName:"",key:"",type:"text"};if(e.settings.userFields.push(o),!e.settings.modalFieldsConfig)e.settings.modalFieldsConfig=Uc(void 0,e.settings.userFields);else{let l=e.settings.modalFieldsConfig.fields.filter(d=>d.group==="custom"),c=l.length>0?Math.max(...l.map(d=>d.order)):-1;e.settings.modalFieldsConfig.fields.push({id:a,fieldType:"user",group:"custom",displayName:o.displayName||"",visibleInCreation:!0,visibleInEdit:!0,order:c+1,enabled:!0})}t(),G0(i,e,t,n)}))}function G0(r,e,t,n,i){if(r.empty(),e.settings.userFields||(e.settings.userFields=[]),e.settings.userFields.length===0){jc(r,n("settings.taskProperties.customUserFields.emptyState"),n("settings.taskProperties.customUserFields.emptyStateButton"),()=>{let s=activeDocument.querySelector('[data-setting-name="Add new user field"] button');s&&s.click()});return}e.settings.userFields.forEach((s,a)=>{let o=Ue("text",n("settings.taskProperties.customUserFields.placeholders.displayName"),s.displayName),l=Ue("text",n("settings.taskProperties.customUserFields.placeholders.propertyKey"),s.key),c=ai([{value:"text",label:n("settings.taskProperties.customUserFields.types.text")},{value:"number",label:n("settings.taskProperties.customUserFields.types.number")},{value:"boolean",label:n("settings.taskProperties.customUserFields.types.boolean")},{value:"date",label:n("settings.taskProperties.customUserFields.types.date")},{value:"list",label:n("settings.taskProperties.customUserFields.types.list")}],s.type);o.addEventListener("change",()=>{if(s.displayName=o.value,e.settings.modalFieldsConfig){let E=e.settings.modalFieldsConfig.fields.find(C=>C.id===s.id);E&&(E.displayName=s.displayName)}let S=r.querySelector(`[data-card-id="${s.id}"]`);if(S){let E=S.querySelector(".tasknotes-settings__card-header-primary");E&&(E.textContent=s.displayName||n("settings.taskProperties.customUserFields.defaultNames.unnamedField"))}t()}),l.addEventListener("change",()=>{s.key=l.value;let S=r.querySelector(`[data-card-id="${s.id}"]`);if(S){let E=S.querySelector(".tasknotes-settings__card-header-secondary");E&&(E.textContent=s.key||n("settings.taskProperties.customUserFields.defaultNames.noKey"))}t()}),c.addEventListener("change",()=>{s.type=c.value,s.defaultValue=void 0,t(),G0(r,e,t,n,s.id)});let{row:d}=rwt(s,n,S=>{s.defaultValue=S,t()}),u=Ao(e,s.id,`${s.id}:`,t,n,()=>G0(r,e,t,n)),p=activeDocument.createElement("div");p.addClass("tasknotes-settings__collapsible-section"),p.addClass("tasknotes-settings__collapsible-section--collapsed");let m=S=>S?S.requiredTags&&S.requiredTags.length>0||S.includeFolders&&S.includeFolders.length>0||S.propertyKey&&S.propertyKey.trim()!=="":!1,f=p.createDiv("tasknotes-settings__collapsible-section-header"),h=f.createDiv("tasknotes-settings__collapsible-section-header-left"),g=h.createSpan("tasknotes-settings__collapsible-section-title");g.textContent=n("settings.taskProperties.customUserFields.autosuggestFilters.header");let y=h.createSpan("tasknotes-settings__filter-badge"),k=()=>{if(m(s.autosuggestFilter)){y.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),y.classList.add("tn-static-display-inline-flex-f984c520"),y.empty();let S=y.createSpan();(0,K0.setIcon)(S,"filter"),y.createSpan({text:"Filters On"})}else y.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-min-height-800px-997b4c8c"),y.classList.add("tn-static-display-none-6b99de8b")};k();let T=f.createSpan("tasknotes-settings__collapsible-section-chevron");(0,K0.setIcon)(T,"chevron-down");let w=p.createDiv("tasknotes-settings__collapsible-section-content");EO(w,s.autosuggestFilter,S=>{s.autosuggestFilter=S,k(),t()},n),f.addEventListener("click",()=>{p.hasClass("tasknotes-settings__collapsible-section--collapsed")?p.removeClass("tasknotes-settings__collapsible-section--collapsed"):p.addClass("tasknotes-settings__collapsible-section--collapsed")}),ur(r,{id:s.id,collapsible:!0,defaultCollapsed:s.id!==i,header:{primaryText:s.displayName||n("settings.taskProperties.customUserFields.defaultNames.unnamedField"),secondaryText:s.key||n("settings.taskProperties.customUserFields.defaultNames.noKey"),meta:[ks(s.type.charAt(0).toUpperCase()+s.type.slice(1),"default")],actions:[Tl(()=>{var S;if(e.settings.userFields){let E=(S=e.settings.userFields[a])==null?void 0:S.id;e.settings.userFields.splice(a,1),e.settings.modalFieldsConfig&&E&&(e.settings.modalFieldsConfig.fields=e.settings.modalFieldsConfig.fields.filter(C=>C.id!==E)),t(),G0(r,e,t,n)}},n("settings.taskProperties.customUserFields.deleteTooltip"))]},content:{sections:[{rows:[{label:n("settings.taskProperties.customUserFields.fields.displayName"),input:o},{label:n("settings.taskProperties.customUserFields.fields.propertyKey"),input:l},{label:n("settings.taskProperties.customUserFields.fields.type"),input:c},d,...u]},{rows:[{label:"",input:p,fullWidth:!0}]}]}})})}function lZ(r,e,t){r.empty();let n=(i,s)=>e.i18n.translate(i,s);Cp(r,n("settings.taskProperties.sections.coreProperties")),pc(r,n("settings.taskProperties.sections.corePropertiesDesc")),XK(r,e,t,n),tZ(r,e,t,n),rZ(r,e,t,n),Cp(r,n("settings.taskProperties.sections.dateProperties")),pc(r,n("settings.taskProperties.sections.datePropertiesDesc")),Vh(r,e,t,n,{propertyId:"due",displayName:n("settings.taskProperties.properties.due.name"),description:n("settings.taskProperties.properties.due.description"),hasDefault:!0,defaultType:"date-preset",defaultOptions:[{value:"none",label:n("settings.defaults.options.none")},{value:"today",label:n("settings.defaults.options.today")},{value:"tomorrow",label:n("settings.defaults.options.tomorrow")},{value:"next-week",label:n("settings.defaults.options.nextWeek")}],getDefaultValue:()=>e.settings.taskCreationDefaults.defaultDueDate,setDefaultValue:i=>{e.settings.taskCreationDefaults.defaultDueDate=i,t()}}),Vh(r,e,t,n,{propertyId:"scheduled",displayName:n("settings.taskProperties.properties.scheduled.name"),description:n("settings.taskProperties.properties.scheduled.description"),hasDefault:!0,defaultType:"date-preset",defaultOptions:[{value:"none",label:n("settings.defaults.options.none")},{value:"today",label:n("settings.defaults.options.today")},{value:"tomorrow",label:n("settings.defaults.options.tomorrow")},{value:"next-week",label:n("settings.defaults.options.nextWeek")}],getDefaultValue:()=>e.settings.taskCreationDefaults.defaultScheduledDate,setDefaultValue:i=>{e.settings.taskCreationDefaults.defaultScheduledDate=i,t()}}),Cp(r,n("settings.taskProperties.sections.organizationProperties")),pc(r,n("settings.taskProperties.sections.organizationPropertiesDesc")),Vh(r,e,t,n,{propertyId:"contexts",displayName:n("settings.taskProperties.properties.contexts.name"),description:n("settings.taskProperties.properties.contexts.description"),hasDefault:!0,defaultType:"text",defaultPlaceholder:n("settings.defaults.basicDefaults.defaultContexts.placeholder"),getDefaultValue:()=>e.settings.taskCreationDefaults.defaultContexts,setDefaultValue:i=>{e.settings.taskCreationDefaults.defaultContexts=i,t()},hasNLPTrigger:!0,nlpDefaultTrigger:"@"}),iZ(r,e,t,n),sZ(r,e,t,n),Cp(r,n("settings.taskProperties.sections.taskDetails")),pc(r,n("settings.taskProperties.sections.taskDetailsDesc")),Vh(r,e,t,n,{propertyId:"timeEstimate",displayName:n("settings.taskProperties.properties.timeEstimate.name"),description:n("settings.taskProperties.properties.timeEstimate.description"),hasDefault:!0,defaultType:"number",defaultPlaceholder:n("settings.defaults.basicDefaults.defaultTimeEstimate.placeholder"),getDefaultValue:()=>{var i;return((i=e.settings.taskCreationDefaults.defaultTimeEstimate)==null?void 0:i.toString())||""},setDefaultValue:i=>{e.settings.taskCreationDefaults.defaultTimeEstimate=parseInt(i)||0,t()}}),Vh(r,e,t,n,{propertyId:"recurrence",displayName:n("settings.taskProperties.properties.recurrence.name"),description:n("settings.taskProperties.properties.recurrence.description"),hasDefault:!0,defaultType:"dropdown",defaultOptions:[{value:"none",label:n("settings.defaults.options.none")},{value:"daily",label:n("settings.defaults.options.daily")},{value:"weekly",label:n("settings.defaults.options.weekly")},{value:"monthly",label:n("settings.defaults.options.monthly")},{value:"yearly",label:n("settings.defaults.options.yearly")}],getDefaultValue:()=>e.settings.taskCreationDefaults.defaultRecurrence,setDefaultValue:i=>{e.settings.taskCreationDefaults.defaultRecurrence=i,t()}}),Ss(r,e,t,n,"recurrenceAnchor",n("settings.taskProperties.properties.recurrenceAnchor.name"),n("settings.taskProperties.properties.recurrenceAnchor.description")),aZ(r,e,t,n),Cp(r,n("settings.taskProperties.sections.metadataProperties")),pc(r,n("settings.taskProperties.sections.metadataPropertiesDesc")),Ss(r,e,t,n,"dateCreated",n("settings.taskProperties.properties.dateCreated.name"),n("settings.taskProperties.properties.dateCreated.description")),Ss(r,e,t,n,"dateModified",n("settings.taskProperties.properties.dateModified.name"),n("settings.taskProperties.properties.dateModified.description")),Ss(r,e,t,n,"completedDate",n("settings.taskProperties.properties.completedDate.name"),n("settings.taskProperties.properties.completedDate.description")),Ss(r,e,t,n,"archiveTag",n("settings.taskProperties.properties.archiveTag.name"),n("settings.taskProperties.properties.archiveTag.description")),Ss(r,e,t,n,"timeEntries",n("settings.taskProperties.properties.timeEntries.name"),n("settings.taskProperties.properties.timeEntries.description")),Ss(r,e,t,n,"completeInstances",n("settings.taskProperties.properties.completeInstances.name"),n("settings.taskProperties.properties.completeInstances.description")),Ss(r,e,t,n,"skippedInstances",n("settings.taskProperties.properties.skippedInstances.name"),n("settings.taskProperties.properties.skippedInstances.description")),Ss(r,e,t,n,"blockedBy",n("settings.taskProperties.properties.blockedBy.name"),n("settings.taskProperties.properties.blockedBy.description")),Ss(r,e,t,n,"sortOrder",n("settings.taskProperties.properties.sortOrder.name"),n("settings.taskProperties.properties.sortOrder.description")),Cp(r,n("settings.taskProperties.sections.featureProperties")),pc(r,n("settings.taskProperties.sections.featurePropertiesDesc")),Ss(r,e,t,n,"pomodoros",n("settings.taskProperties.properties.pomodoros.name"),n("settings.taskProperties.properties.pomodoros.description")),Ss(r,e,t,n,"icsEventId",n("settings.taskProperties.properties.icsEventId.name"),n("settings.taskProperties.properties.icsEventId.description")),Ss(r,e,t,n,"icsEventTag",n("settings.taskProperties.properties.icsEventTag.name"),n("settings.taskProperties.properties.icsEventTag.description")),Cp(r,n("settings.taskProperties.customUserFields.header")),pc(r,n("settings.taskProperties.customUserFields.description")),oZ(r,e,t,n)}var cZ=require("obsidian");mc();function VOe(r,e,t,n,i){if(r.empty(),r.addClass("field-manager"),!t||!t.groups||!t.fields){r.createDiv({text:"Error: Invalid field configuration. Please reset to defaults."});return}let s=r.createDiv({cls:"field-manager__tabs"}),a=r.createDiv({cls:"field-manager__content"}),o=[...t.groups].sort((l,c)=>l.order-c.order);o.forEach((l,c)=>{let d=s.createDiv({cls:"field-manager__tab"});c===0&&d.addClass("field-manager__tab--active"),d.setText(l.displayName),d.onclick=()=>{s.querySelectorAll(".field-manager__tab").forEach(u=>{u.removeClass("field-manager__tab--active")}),d.addClass("field-manager__tab--active"),CO(a,l.id,t,e,n,i)}}),o.length>0&&CO(a,o[0].id,t,e,n,i)}function CO(r,e,t,n,i,s){r.empty();let a=t.fields.filter(l=>l.group===e).sort((l,c)=>l.order-c.order);if(a.length===0){r.createDiv({cls:"field-manager__empty"}).setText("No fields in this group");return}let o=r.createDiv({cls:"field-manager__cards"});a.forEach((l,c)=>{nwt(o,l,c,t,n,i,s,e)})}function nwt(r,e,t,n,i,s,a,o){let l=activeDocument.createElement("span");l.classList.add("field-card__type"),l.classList.add(`field-card__type--${e.fieldType}`),l.textContent=e.fieldType;let c=Gn(e.enabled,h=>{let g=n.fields.findIndex(y=>y.id===e.id);if(g!==-1){n.fields[g].enabled=h,s(n);let y=activeDocument.querySelector(".field-manager__tab--active");if(y){let k=y.parentElement,T=r.parentElement;if(!k||!T)return;let w=Array.from(k.children).indexOf(y),E=[...n.groups].sort((C,D)=>C.order-D.order)[w];E&&CO(T,E.id,n,i,s,a)}}}),d=Gn(e.visibleInCreation,h=>{let g=n.fields.findIndex(y=>y.id===e.id);g!==-1&&(n.fields[g].visibleInCreation=h,s(n))}),u=Gn(e.visibleInEdit,h=>{let g=n.fields.findIndex(y=>y.id===e.id);g!==-1&&(n.fields[g].visibleInEdit=h,s(n))}),p=ai(n.groups.map(h=>({value:h.id,label:h.displayName})),e.group);p.onchange=()=>{let h=n.fields.findIndex(g=>g.id===e.id);if(h!==-1){n.fields[h].group=p.value,s(n);let g=activeDocument.querySelector(".field-manager__tab--active");g&&g.click()}};let m=e.group!=="basic",f=ur(r,{id:e.id,draggable:m,header:{primaryText:e.displayName,secondaryText:`ID: ${e.id}`,meta:[l]},content:{sections:[{rows:[{label:"Enabled:",input:c}]},...e.enabled?[{rows:[{label:"Show in Creation:",input:d},{label:"Show in Edit:",input:u},{label:"Group:",input:p,fullWidth:!0}]}]:[]]}});m&&Ob(f,r,(h,g,y)=>{let k=n.fields.findIndex(A=>A.id===h&&A.group===o),T=n.fields.findIndex(A=>A.id===g&&A.group===o);if(k===-1||T===-1)return;let w=n.fields.filter(A=>A.group===o),S=w.findIndex(A=>A.id===h),E=w.findIndex(A=>A.id===g),[C]=w.splice(S,1),D=E+(y?0:1);w.splice(D,0,C),w.forEach((A,N)=>{let V=n.fields.findIndex(R=>R.id===A.id);V!==-1&&(n.fields[V].order=N)}),s(n),CO(r,o,n,i,s,a)})}function WOe(){let r="field-manager-styles";if(activeDocument.getElementById(r))return;let e=activeDocument.createElement("style");e.id=r,e.textContent=`
.field-manager {
display: flex;
flex-direction: column;
gap: 1rem;
}
.field-manager__tabs {
display: flex;
gap: 0.5rem;
border-bottom: 2px solid var(--background-modifier-border);
padding-bottom: 0.5rem;
}
.field-manager__tab {
padding: 0.5rem 1rem;
cursor: pointer;
border-radius: 4px;
transition: background-color 0.2s;
}
.field-manager__tab:hover {
background-color: var(--background-modifier-hover);
}
.field-manager__tab--active {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.field-manager__content {
padding: 1rem 0;
}
.field-manager__cards {
display: flex;
flex-direction: column;
gap: 0.75rem;
}
.field-manager__empty {
text-align: center;
padding: 2rem;
color: var(--text-muted);
}
.field-card__type {
font-size: 0.75rem;
padding: 0.125rem 0.5rem;
border-radius: 3px;
background: var(--background-modifier-border);
}
.field-card__type--core {
background: var(--interactive-accent);
color: var(--text-on-accent);
}
.field-card__type--user {
background: var(--color-purple);
color: white;
}
.field-card__type--dependency {
background: var(--color-orange);
color: white;
}
.field-card__type--organization {
background: var(--color-green);
color: white;
}
`,activeDocument.head.appendChild(e)}Xb();md();function Z0(r,e,t){r.empty(),WOe(),e.settings.modalFieldsConfig||(e.settings.modalFieldsConfig=Uc(void 0,e.settings.userFields),t()),kt(r,{heading:"Task Modal Fields Configuration",description:"Configure which fields appear in task creation and edit modals. Drag fields to reorder them within each group."},i=>{i.addSetting(s=>{De(s,{name:"Split layout on wide screens",desc:"When enabled, the details editor appears in a right column on screens 900px or wider. When disabled, the modal uses a stacked layout.",getValue:()=>e.settings.enableModalSplitLayout,setValue:a=>{e.settings.enableModalSplitLayout=a,t()}})}),i.addSetting(s=>{De(s,{name:"Tab moves focus in details editor",desc:"When enabled, Tab moves from the details editor to the next modal field and Shift+Tab moves to the previous field. When disabled, Tab and Shift+Tab use the markdown editor's indentation behavior.",getValue:()=>e.settings.taskModalTabMovesFocus,setValue:a=>{e.settings.taskModalTabMovesFocus=a,t()}})}),i.addSetting(s=>{s.setName("Sync user fields").setDesc("Click to sync custom user fields from task properties settings into this configuration.").addButton(a=>{a.setButtonText("Sync user fields").setCta().onClick(()=>{iwt(e),t(),new cZ.Notice("User fields synced to modal configuration"),Z0(r,e,t)})})}),i.addSetting(s=>{s.setName("Reset to defaults").setDesc("Reset all field configurations to their default values. This will remove any custom configurations.").addButton(a=>{a.setButtonText("Reset to defaults").setWarning().onClick(async()=>{await Li(e.app,{title:"Reset Field Configuration",message:"Are you sure you want to reset field configuration to defaults? This will remove any custom field configurations.",confirmText:"Reset",cancelText:"Cancel",isDestructive:!0})&&(e.settings.modalFieldsConfig=Uc(void 0,e.settings.userFields),t(),new cZ.Notice("Field configuration reset to defaults"),Z0(r,e,t))})})})});let n=r.createDiv({cls:"modal-fields-manager-container"});if(!e.settings.modalFieldsConfig){n.createDiv({text:"Error: Could not initialize field configuration"});return}VOe(n,e,e.settings.modalFieldsConfig,i=>{e.settings.modalFieldsConfig=i,t()},e.app)}function iwt(r){if(!r.settings.modalFieldsConfig){r.settings.modalFieldsConfig=Uc(void 0,r.settings.userFields);return}if(!r.settings.userFields||r.settings.userFields.length===0)return;let e=r.settings.modalFieldsConfig,t=new Set(e.fields.filter(i=>i.fieldType==="user").map(i=>i.id));r.settings.userFields.forEach(i=>{if(t.has(i.id)){let s=e.fields.findIndex(a=>a.id===i.id);s!==-1&&(e.fields[s].displayName=i.displayName)}else{let s=e.fields.filter(o=>o.group==="custom"),a=s.length>0?Math.max(...s.map(o=>o.order)):-1;e.fields.push({id:i.id,fieldType:"user",group:"custom",displayName:i.displayName,visibleInCreation:!0,visibleInEdit:!0,order:a+1,enabled:!0})}});let n=new Set(r.settings.userFields.map(i=>i.id));e.fields=e.fields.filter(i=>i.fieldType!=="user"||n.has(i.id))}var zc=require("obsidian");mc();var PO=require("obsidian"),Fb=class extends PO.Modal{constructor(t,n,i,s,a="Select Task Card Properties",o="Choose which properties to display in task cards. Selected properties will appear in the order shown below."){super(t);this.keyboardHandler=null;this.availableProperties=n,this.currentSelection=i,this.tempSelection=[...i],this.onSubmit=s,this.modalTitle=a,this.modalDescription=o}onOpen(){let{contentEl:t}=this;t.empty(),this.keyboardHandler=o=>{o.key==="Enter"&&(o.ctrlKey||o.metaKey)&&(o.preventDefault(),this.submitSelection(),this.close())},this.containerEl.addEventListener("keydown",this.keyboardHandler),t.createEl("h2",{text:this.modalTitle}),t.createEl("p",{text:this.modalDescription,cls:"setting-item-description"});let n=t.createDiv({cls:"property-selector-checkboxes"});n.classList.remove("tn-static-margin-top-12px-91e0f558"),n.classList.add("tn-static-max-height-400px-f0787633"),n.classList.remove("tn-static-margin-top-12px-91e0f558","tn-static-overflow-y-clip-c5043043"),n.classList.add("tn-static-overflow-y-auto-03df744e"),n.classList.remove("tn-static-font-size-12px-65574819","tn-static-font-weight-bold-0fe8c30d","tn-static-font-weight-bold-e0b452bd","tn-static-margin-bottom-0-75rem-c05a3c6e","tn-static-margin-bottom-8px-fdf33f23"),n.classList.add("tn-static-margin-bottom-20px-49f14f8f");for(let o of this.availableProperties)new PO.Setting(n).setName(o.label).addToggle(l=>{l.setValue(this.tempSelection.includes(o.id)).onChange(c=>{if(c)this.tempSelection.includes(o.id)||this.tempSelection.push(o.id);else{let d=this.tempSelection.indexOf(o.id);d>-1&&this.tempSelection.splice(d,1)}})});let i=t.createDiv({cls:"modal-button-container"});i.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),i.classList.add("tn-static-display-flex-75816cae"),i.classList.remove("tn-static-display-flex-8bb39979","tn-static-gap-0-5rem-ce2fca4d","tn-static-gap-12px-ed7b3d87","tn-static-gap-6px-f0abc1db","tn-static-gap-8px-33fcd4c3"),i.classList.add("tn-static-gap-10px-f3d7ce77"),i.classList.remove("tn-static-justify-content-center-03c4bb6f","tn-static-justify-content-space-between-a562f4fd"),i.classList.add("tn-static-justify-content-flex-end-455f8cca"),i.createEl("button",{text:"Cancel"}).addEventListener("click",()=>{this.close()}),i.createEl("button",{text:"Save",cls:"mod-cta"}).addEventListener("click",()=>{this.submitSelection(),this.close()})}submitSelection(){Promise.resolve().then(()=>this.onSubmit(this.tempSelection)).catch(t=>{console.error("TaskNotes property selection callback failed:",t)})}onClose(){this.keyboardHandler&&(this.containerEl.removeEventListener("keydown",this.keyboardHandler),this.keyboardHandler=null);let{contentEl:t}=this;t.empty()}};function Q0(r){var i;let e=(s,a)=>{let o=r.fieldMapper.toUserField(a);return o!==s.toLowerCase().replace(/\s+/g,"")?`${s} (${o})`:s},t=[{id:"status",label:e("Status","status")},{id:"priority",label:e("Priority","priority")},{id:"blocked",label:"Blocked Status"},{id:"blocking",label:"Blocking Status"},{id:"due",label:e("Due Date","due")},{id:"scheduled",label:e("Scheduled Date","scheduled")},{id:"timeEstimate",label:e("Time Estimate","timeEstimate")},{id:"totalTrackedTime",label:"Total Tracked Time"},{id:"checklistProgress",label:"Checklist Progress"},{id:"recurrence",label:e("Recurrence","recurrence")},{id:"completeInstances",label:e("Completed Instances","completeInstances")},{id:"skippedInstances",label:e("Skipped Instances","skippedInstances")},{id:"completedDate",label:e("Completed Date","completedDate")},{id:"dateCreated",label:e("Created Date","dateCreated")},{id:"dateModified",label:e("Modified Date","dateModified")},{id:"projects",label:e("Projects","projects")},{id:"contexts",label:e("Contexts","contexts")},{id:"tags",label:"Tags"}],n=((i=r.settings.userFields)==null?void 0:i.map(s=>({id:`user:${s.id}`,label:s.displayName})))||[];return[...t,...n]}function _O(r,e){let t=Q0(r);return e.map(n=>{var i;return((i=t.find(s=>s.id===n))==null?void 0:i.label)||n}).filter(Boolean)}var swt=["dayGridMonth","timeGridWeek","timeGridDay","multiMonthYear","timeGridCustom"],awt=[0,1,2,3,4,5,6],owt=["00:15:00","00:30:00","01:00:00"];function lwt(r){return swt.some(e=>e===r)}function cwt(r,e){var n;let t=Number.parseInt(r,10);return(n=awt.find(i=>i===t))!=null?n:e}function dwt(r){return owt.some(e=>e===r)}function Wh(r,e,t){r.empty();let n=(o,l)=>e.i18n.translate(o,l),i=Q0(e),s=e.settings.defaultVisibleProperties||[],a=_O(e,s);kt(r,{heading:n("settings.appearance.taskCards.header"),description:n("settings.appearance.taskCards.description")},o=>{o.addSetting(l=>{l.setName(n("settings.appearance.taskCards.defaultVisibleProperties.name")).setDesc(n("settings.appearance.taskCards.defaultVisibleProperties.description")).addButton(c=>{c.setButtonText("Configure").onClick(()=>{new Fb(e.app,i,s,async u=>{e.settings.defaultVisibleProperties=u,t(),new zc.Notice("Default task card properties updated"),Wh(r,e,t)},"Select Default Task Card Properties","Choose which properties to display in task cards (views, kanban, etc.). Selected properties will appear in the order shown below.").open()})})}),o.addSetting(l=>{l.setDesc(`Currently showing: ${a.join(", ")}`),l.settingEl.addClass("settings-view__group-description")})}),kt(r,{heading:n("settings.appearance.displayFormatting.header"),description:n("settings.appearance.displayFormatting.description")},o=>{o.addSetting(l=>void hn(l,{name:n("settings.appearance.displayFormatting.timeFormat.name"),desc:n("settings.appearance.displayFormatting.timeFormat.description"),options:[{value:"12",label:n("settings.appearance.displayFormatting.timeFormat.options.twelveHour")},{value:"24",label:n("settings.appearance.displayFormatting.timeFormat.options.twentyFourHour")}],getValue:()=>e.settings.calendarViewSettings.timeFormat,setValue:async c=>{e.settings.calendarViewSettings.timeFormat=c,t()}}))}),kt(r,{heading:n("settings.appearance.calendarView.header"),description:n("settings.appearance.calendarView.description")},o=>{o.addSetting(l=>void hn(l,{name:n("settings.appearance.calendarView.defaultView.name"),desc:n("settings.appearance.calendarView.defaultView.description"),options:[{value:"dayGridMonth",label:n("settings.appearance.calendarView.defaultView.options.monthGrid")},{value:"timeGridWeek",label:n("settings.appearance.calendarView.defaultView.options.weekTimeline")},{value:"timeGridDay",label:n("settings.appearance.calendarView.defaultView.options.dayTimeline")},{value:"multiMonthYear",label:n("settings.appearance.calendarView.defaultView.options.yearView")},{value:"timeGridCustom",label:n("settings.appearance.calendarView.defaultView.options.customMultiDay")}],getValue:()=>e.settings.calendarViewSettings.defaultView,setValue:async c=>{lwt(c)&&(e.settings.calendarViewSettings.defaultView=c,t(),Wh(r,e,t))}})),e.settings.calendarViewSettings.defaultView==="timeGridCustom"&&o.addSetting(l=>void ds(l,{name:n("settings.appearance.calendarView.customDayCount.name"),desc:n("settings.appearance.calendarView.customDayCount.description"),placeholder:n("settings.appearance.calendarView.customDayCount.placeholder"),min:2,max:10,getValue:()=>e.settings.calendarViewSettings.customDayCount,setValue:async c=>{e.settings.calendarViewSettings.customDayCount=c,t()}})),o.addSetting(l=>void hn(l,{name:n("settings.appearance.calendarView.firstDayOfWeek.name"),desc:n("settings.appearance.calendarView.firstDayOfWeek.description"),options:[{value:"0",label:n("common.weekdays.sunday")},{value:"1",label:n("common.weekdays.monday")},{value:"2",label:n("common.weekdays.tuesday")},{value:"3",label:n("common.weekdays.wednesday")},{value:"4",label:n("common.weekdays.thursday")},{value:"5",label:n("common.weekdays.friday")},{value:"6",label:n("common.weekdays.saturday")}],getValue:()=>e.settings.calendarViewSettings.firstDay.toString(),setValue:async c=>{e.settings.calendarViewSettings.firstDay=cwt(c,e.settings.calendarViewSettings.firstDay),t()}})),o.addSetting(l=>void De(l,{name:n("settings.appearance.calendarView.showWeekends.name"),desc:n("settings.appearance.calendarView.showWeekends.description"),getValue:()=>e.settings.calendarViewSettings.showWeekends,setValue:async c=>{e.settings.calendarViewSettings.showWeekends=c,t()}})),o.addSetting(l=>void De(l,{name:n("settings.appearance.calendarView.showWeekNumbers.name"),desc:n("settings.appearance.calendarView.showWeekNumbers.description"),getValue:()=>e.settings.calendarViewSettings.weekNumbers,setValue:async c=>{e.settings.calendarViewSettings.weekNumbers=c,t()}})),o.addSetting(l=>void De(l,{name:n("settings.appearance.calendarView.showTodayHighlight.name"),desc:n("settings.appearance.calendarView.showTodayHighlight.description"),getValue:()=>e.settings.calendarViewSettings.showTodayHighlight,setValue:async c=>{e.settings.calendarViewSettings.showTodayHighlight=c,t()}})),o.addSetting(l=>void De(l,{name:n("settings.appearance.calendarView.showCurrentTimeIndicator.name"),desc:n("settings.appearance.calendarView.showCurrentTimeIndicator.description"),getValue:()=>e.settings.calendarViewSettings.nowIndicator,setValue:async c=>{e.settings.calendarViewSettings.nowIndicator=c,t()}})),o.addSetting(l=>void De(l,{name:n("settings.appearance.calendarView.selectionMirror.name"),desc:n("settings.appearance.calendarView.selectionMirror.description"),getValue:()=>e.settings.calendarViewSettings.selectMirror,setValue:async c=>{e.settings.calendarViewSettings.selectMirror=c,t()}})),o.addSetting(l=>{l.setName(n("settings.appearance.calendarView.calendarLocale.name")).setDesc(n("settings.appearance.calendarView.calendarLocale.description")).addText(c=>{c.setPlaceholder(n("settings.appearance.calendarView.calendarLocale.placeholder")),c.setValue(e.settings.calendarViewSettings.locale||""),c.inputEl.addClass("settings-view__input"),c.inputEl.addEventListener("blur",()=>{let d=c.getValue().trim();if(d)try{Intl.getCanonicalLocales(d),e.settings.calendarViewSettings.locale=d,t()}catch(u){new zc.Notice(n("settings.appearance.calendarView.calendarLocale.invalidLocale")),e.settings.calendarViewSettings.locale="",c.setValue(""),t()}else e.settings.calendarViewSettings.locale="",t()})})})}),kt(r,{heading:n("settings.appearance.defaultEventVisibility.header"),description:n("settings.appearance.defaultEventVisibility.description")},o=>{o.addSetting(l=>void De(l,{name:n("settings.appearance.defaultEventVisibility.showScheduledTasks.name"),desc:n("settings.appearance.defaultEventVisibility.showScheduledTasks.description"),getValue:()=>e.settings.calendarViewSettings.defaultShowScheduled,setValue:async c=>{e.settings.calendarViewSettings.defaultShowScheduled=c,t()}})),o.addSetting(l=>void De(l,{name:n("settings.appearance.defaultEventVisibility.showDueDates.name"),desc:n("settings.appearance.defaultEventVisibility.showDueDates.description"),getValue:()=>e.settings.calendarViewSettings.defaultShowDue,setValue:async c=>{e.settings.calendarViewSettings.defaultShowDue=c,t()}})),o.addSetting(l=>void De(l,{name:n("settings.appearance.defaultEventVisibility.showDueWhenScheduled.name"),desc:n("settings.appearance.defaultEventVisibility.showDueWhenScheduled.description"),getValue:()=>e.settings.calendarViewSettings.defaultShowDueWhenScheduled,setValue:async c=>{e.settings.calendarViewSettings.defaultShowDueWhenScheduled=c,t()}})),o.addSetting(l=>void De(l,{name:n("settings.appearance.defaultEventVisibility.showTimeEntries.name"),desc:n("settings.appearance.defaultEventVisibility.showTimeEntries.description"),getValue:()=>e.settings.calendarViewSettings.defaultShowTimeEntries,setValue:async c=>{e.settings.calendarViewSettings.defaultShowTimeEntries=c,t()}})),o.addSetting(l=>void De(l,{name:n("settings.appearance.defaultEventVisibility.showRecurringTasks.name"),desc:n("settings.appearance.defaultEventVisibility.showRecurringTasks.description"),getValue:()=>e.settings.calendarViewSettings.defaultShowRecurring,setValue:async c=>{e.settings.calendarViewSettings.defaultShowRecurring=c,t()}})),o.addSetting(l=>void De(l,{name:n("settings.appearance.defaultEventVisibility.showICSEvents.name"),desc:n("settings.appearance.defaultEventVisibility.showICSEvents.description"),getValue:()=>e.settings.calendarViewSettings.defaultShowICSEvents,setValue:async c=>{e.settings.calendarViewSettings.defaultShowICSEvents=c,t()}}))}),kt(r,{heading:n("settings.appearance.timeSettings.header"),description:n("settings.appearance.timeSettings.description")},o=>{o.addSetting(l=>void hn(l,{name:n("settings.appearance.timeSettings.timeSlotDuration.name"),desc:n("settings.appearance.timeSettings.timeSlotDuration.description"),options:[{value:"00:15:00",label:n("settings.appearance.timeSettings.timeSlotDuration.options.fifteenMinutes")},{value:"00:30:00",label:n("settings.appearance.timeSettings.timeSlotDuration.options.thirtyMinutes")},{value:"01:00:00",label:n("settings.appearance.timeSettings.timeSlotDuration.options.sixtyMinutes")}],getValue:()=>e.settings.calendarViewSettings.slotDuration,setValue:async c=>{dwt(c)&&(e.settings.calendarViewSettings.slotDuration=c,t())}})),o.addSetting(l=>void Sn(l,{name:n("settings.appearance.timeSettings.startTime.name"),desc:n("settings.appearance.timeSettings.startTime.description"),placeholder:n("settings.appearance.timeSettings.startTime.placeholder"),debounceMs:500,getValue:()=>{let c=e.settings.calendarViewSettings.slotMinTime;return!c||c.length<5||!/^\d{2}:\d{2}:\d{2}$/.test(c)?"00:00":c.slice(0,5)},setValue:async c=>{if(!/^\d{2}:\d{2}$/.test(c)){new zc.Notice("Invalid time format. Please use hh:mm format (e.g., 08:00)");return}let[d,u]=c.split(":").map(Number);if(d<0||d>23||u<0||u>59){new zc.Notice("Invalid time. Hours must be 00-23 and minutes must be 00-59");return}e.settings.calendarViewSettings.slotMinTime=c+":00",t()}})),o.addSetting(l=>void Sn(l,{name:n("settings.appearance.timeSettings.endTime.name"),desc:n("settings.appearance.timeSettings.endTime.description"),placeholder:n("settings.appearance.timeSettings.endTime.placeholder"),debounceMs:500,getValue:()=>{let c=e.settings.calendarViewSettings.slotMaxTime;return!c||c.length<5||!/^\d{2}:\d{2}:\d{2}$/.test(c)?"24:00":c.slice(0,5)},setValue:async c=>{if(!/^\d{2}:\d{2}$/.test(c)){new zc.Notice("Invalid time format. Please use hh:mm format (e.g., 23:00)");return}let[d,u]=c.split(":").map(Number);if(d<0||d>24||u<0||u>59){new zc.Notice("Invalid time. Hours must be 00-24 and minutes must be 00-59");return}if(d===24&&u!==0){new zc.Notice("When hour is 24, minutes must be 00");return}e.settings.calendarViewSettings.slotMaxTime=c+":00",t()}})),o.addSetting(l=>void Sn(l,{name:n("settings.appearance.timeSettings.initialScrollTime.name"),desc:n("settings.appearance.timeSettings.initialScrollTime.description"),placeholder:n("settings.appearance.timeSettings.initialScrollTime.placeholder"),debounceMs:500,getValue:()=>{let c=e.settings.calendarViewSettings.scrollTime;return!c||c.length<5||!/^\d{2}:\d{2}:\d{2}$/.test(c)?"08:00":c.slice(0,5)},setValue:async c=>{if(!/^\d{2}:\d{2}$/.test(c)){new zc.Notice("Invalid time format. Please use hh:mm format (e.g., 08:00)");return}let[d,u]=c.split(":").map(Number);if(d<0||d>23||u<0||u>59){new zc.Notice("Invalid time. Hours must be 00-23 and minutes must be 00-59");return}e.settings.calendarViewSettings.scrollTime=c+":00",t()}})),o.addSetting(l=>void ds(l,{name:n("settings.appearance.timeSettings.eventMinHeight.name"),desc:n("settings.appearance.timeSettings.eventMinHeight.description"),placeholder:n("settings.appearance.timeSettings.eventMinHeight.placeholder"),min:5,max:100,debounceMs:300,getValue:()=>e.settings.calendarViewSettings.eventMinHeight,setValue:async c=>{e.settings.calendarViewSettings.eventMinHeight=c,t()}}))}),kt(r,{heading:n("settings.appearance.uiElements.header"),description:n("settings.appearance.uiElements.description")},o=>{o.addSetting(l=>void De(l,{name:n("settings.appearance.uiElements.showTrackedTasksInStatusBar.name"),desc:n("settings.appearance.uiElements.showTrackedTasksInStatusBar.description"),getValue:()=>e.settings.showTrackedTasksInStatusBar,setValue:async c=>{e.settings.showTrackedTasksInStatusBar=c,t()}})),o.addSetting(l=>void De(l,{name:n("settings.appearance.uiElements.showRelationshipsWidget.name"),desc:n("settings.appearance.uiElements.showRelationshipsWidget.description"),getValue:()=>e.settings.showRelationships,setValue:async c=>{e.settings.showRelationships=c,t(),Wh(r,e,t)}})),e.settings.showRelationships&&o.addSetting(l=>void hn(l,{name:n("settings.appearance.uiElements.relationshipsPosition.name"),desc:n("settings.appearance.uiElements.relationshipsPosition.description"),options:[{value:"top",label:n("settings.appearance.uiElements.relationshipsPosition.options.top")},{value:"bottom",label:n("settings.appearance.uiElements.relationshipsPosition.options.bottom")}],getValue:()=>e.settings.relationshipsPosition,setValue:async c=>{e.settings.relationshipsPosition=c,t()}})),o.addSetting(l=>void De(l,{name:n("settings.appearance.uiElements.showTaskCardInNote.name"),desc:n("settings.appearance.uiElements.showTaskCardInNote.description"),getValue:()=>e.settings.showTaskCardInNote,setValue:async c=>{e.settings.showTaskCardInNote=c,t()}})),o.addSetting(l=>void De(l,{name:n("settings.appearance.uiElements.showExpandableSubtasks.name"),desc:n("settings.appearance.uiElements.showExpandableSubtasks.description"),getValue:()=>e.settings.showExpandableSubtasks,setValue:async c=>{e.settings.showExpandableSubtasks=c,t(),Wh(r,e,t)}})),e.settings.showExpandableSubtasks&&o.addSetting(l=>void hn(l,{name:n("settings.appearance.uiElements.subtaskChevronPosition.name"),desc:n("settings.appearance.uiElements.subtaskChevronPosition.description"),options:[{value:"left",label:n("settings.appearance.uiElements.subtaskChevronPosition.options.left")},{value:"right",label:n("settings.appearance.uiElements.subtaskChevronPosition.options.right")}],getValue:()=>e.settings.subtaskChevronPosition,setValue:async c=>{e.settings.subtaskChevronPosition=c,t()}})),o.addSetting(l=>void hn(l,{name:n("settings.appearance.uiElements.viewsButtonAlignment.name"),desc:n("settings.appearance.uiElements.viewsButtonAlignment.description"),options:[{value:"left",label:n("settings.appearance.uiElements.viewsButtonAlignment.options.left")},{value:"right",label:n("settings.appearance.uiElements.viewsButtonAlignment.options.right")}],getValue:()=>e.settings.viewsButtonAlignment,setValue:async c=>{e.settings.viewsButtonAlignment=c,t()}}))}),kt(r,{heading:n("settings.general.taskInteraction.header"),description:n("settings.general.taskInteraction.description")},o=>{o.addSetting(l=>void hn(l,{name:n("settings.general.taskInteraction.singleClick.name"),desc:n("settings.general.taskInteraction.singleClick.description"),options:[{value:"edit",label:n("settings.general.taskInteraction.actions.edit")},{value:"openNote",label:n("settings.general.taskInteraction.actions.openNote")}],getValue:()=>e.settings.singleClickAction,setValue:async c=>{e.settings.singleClickAction=c,t()}})),o.addSetting(l=>void hn(l,{name:n("settings.general.taskInteraction.doubleClick.name"),desc:n("settings.general.taskInteraction.doubleClick.description"),options:[{value:"edit",label:n("settings.general.taskInteraction.actions.edit")},{value:"openNote",label:n("settings.general.taskInteraction.actions.openNote")},{value:"none",label:n("settings.general.taskInteraction.actions.none")}],getValue:()=>e.settings.doubleClickAction,setValue:async c=>{e.settings.doubleClickAction=c,t()}}))})}var uZ=require("obsidian");mc();var MO=require("obsidian"),dZ=class extends MO.Modal{constructor(e,t){super(e.app),this.plugin=e,this.hasExistingData=t}t(e,t){return this.plugin.i18n.translate(e,t)}show(){return new Promise(e=>{this.resolve=e,this.open()})}onOpen(){let{contentEl:e}=this;e.empty();let t=this.hasExistingData?"migrate":"switch",n=this.t(`modals.storageLocation.title.${t}`);new MO.Setting(e).setName(n).setHeading();let i=this.t(`modals.storageLocation.message.${t}`),a=e.createEl("p").createEl("strong");a.textContent=i,e.createEl("br"),e.createEl("p",{text:this.t("modals.storageLocation.whatThisMeans")});let o=e.createEl("ul");[this.t("modals.storageLocation.bullets.dailyNotesRequired"),this.t("modals.storageLocation.bullets.storedInNotes"),this.hasExistingData?this.t("modals.storageLocation.bullets.migrateData"):this.t("modals.storageLocation.bullets.futureSessions"),this.t("modals.storageLocation.bullets.dataLongevity")].forEach(m=>{let f=o.createEl("li");f.textContent=m}),e.createEl("br");let c=e.createEl("p");if(this.hasExistingData){let m=c.createEl("strong");m.textContent=this.t("modals.storageLocation.finalNote.migrate")}else c.textContent=this.t("modals.storageLocation.finalNote.switch");let d=e.createEl("div",{cls:"modal-button-container"});d.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-display-none-6b99de8b","tn-static-min-height-800px-997b4c8c"),d.classList.add("tn-static-display-flex-75816cae"),d.classList.remove("tn-static-display-flex-8bb39979","tn-static-gap-0-5rem-ce2fca4d","tn-static-gap-12px-ed7b3d87","tn-static-gap-6px-f0abc1db","tn-static-gap-8px-33fcd4c3"),d.classList.add("tn-static-gap-10px-f3d7ce77"),d.classList.remove("tn-static-justify-content-center-03c4bb6f","tn-static-justify-content-space-between-a562f4fd"),d.classList.add("tn-static-justify-content-flex-end-455f8cca"),d.classList.remove("tn-static-font-size-12px-b0cc7e05","tn-static-margin-top-0-5rem-3dc98b5e","tn-static-margin-top-0-d462248a","tn-static-margin-top-12px-91e0f558","tn-static-margin-top-16px-1b0f4999","tn-static-margin-top-1rem-2239d6d5","tn-static-margin-top-30px-2fbbbcd4","tn-static-margin-top-4px-96ad6099","tn-static-margin-top-8px-8a77e5a3","tn-static-margin-top-8px-f4f01e68"),d.classList.add("tn-static-margin-top-20px-a26bda7d"),d.createEl("button",{text:this.t("common.cancel")}).addEventListener("click",()=>{this.resolve(!1),this.close()});let p=d.createEl("button",{text:this.hasExistingData?this.t("modals.storageLocation.buttons.migrate"):this.t("modals.storageLocation.buttons.switch"),cls:"mod-cta"});p.addEventListener("click",()=>{this.resolve(!0),this.close()}),window.setTimeout(()=>{p.focus()},50)}onClose(){let{contentEl:e}=this;e.empty(),this.resolve&&this.resolve(!1)}};async function YOe(r,e){return new dZ(r,e).show()}var GOe={code:"en",name:"English",chronoLocale:"en",dateTriggers:{due:["due","deadline","must be done by","by"],scheduled:["scheduled for","start on","begin on","work on","on"]},recurrence:{frequencies:{daily:["daily","every day"],weekly:["weekly","every week"],monthly:["monthly","every month"],yearly:["yearly","annually","every year"]},every:["every"],other:["other"],weekdays:{monday:["monday"],tuesday:["tuesday"],wednesday:["wednesday"],thursday:["thursday"],friday:["friday"],saturday:["saturday"],sunday:["sunday"]},pluralWeekdays:{monday:["mondays"],tuesday:["tuesdays"],wednesday:["wednesdays"],thursday:["thursdays"],friday:["fridays"],saturday:["saturdays"],sunday:["sundays"]},ordinals:{first:["first"],second:["second"],third:["third"],fourth:["fourth"],last:["last"]},periods:{day:["day","days"],week:["week","weeks"],month:["month","months"],year:["year","years"]}},timeEstimate:{hours:["h","hr","hrs","hour","hours"],minutes:["m","min","mins","minute","minutes"]},fallbackStatus:{open:["todo","to do","open"],inProgress:["in progress","in-progress","doing"],done:["done","completed","finished"],cancelled:["cancelled","canceled"],waiting:["waiting","blocked","on hold"]},fallbackPriority:{urgent:["urgent","critical","highest"],high:["high","important"],normal:["medium","normal"],low:["low","minor"]}};var KOe={code:"es",name:"Espa\xF1ol",chronoLocale:"es",dateTriggers:{due:["vence","fecha l\xEDmite","debe terminarse","para el","antes del"],scheduled:["programado para","programado el","comenzar el","empezar el","trabajar en","el"]},recurrence:{frequencies:{daily:["diario","diaria","diariamente","cada d\xEDa","todos los d\xEDas","a diario"],weekly:["semanal","semanalmente","cada semana","todas las semanas","por semana"],monthly:["mensual","mensualmente","cada mes","todos los meses","por mes"],yearly:["anual","anualmente","cada a\xF1o","todos los a\xF1os","por a\xF1o"]},every:["cada","todos los","todas las"],other:["otro","otra"],weekdays:{monday:["lunes"],tuesday:["martes"],wednesday:["mi\xE9rcoles"],thursday:["jueves"],friday:["viernes"],saturday:["s\xE1bado"],sunday:["domingo"]},pluralWeekdays:{monday:["lunes"],tuesday:["martes"],wednesday:["mi\xE9rcoles"],thursday:["jueves"],friday:["viernes"],saturday:["s\xE1bados"],sunday:["domingos"]},ordinals:{first:["primer","primera","primero"],second:["segundo","segunda"],third:["tercer","tercera","tercero"],fourth:["cuarto","cuarta"],last:["\xFAltimo","\xFAltima"]},periods:{day:["d\xEDa","d\xEDas"],week:["semana","semanas"],month:["mes","meses"],year:["a\xF1o","a\xF1os"]}},timeEstimate:{hours:["h","hr","hrs","hora","horas"],minutes:["m","min","mins","minuto","minutos"]},fallbackStatus:{open:["pendiente","por hacer","abierto","todo"],inProgress:["en progreso","en curso","haciendo","trabajando"],done:["hecho","terminado","completado","finalizado"],cancelled:["cancelado","anulado"],waiting:["esperando","bloqueado","en espera"]},fallbackPriority:{urgent:["urgente","cr\xEDtico","cr\xEDtica","m\xE1ximo","m\xE1xima","prioritario","prioritaria"],high:["alto","alta","importante","elevado","elevada"],normal:["medio","media","normal","regular","est\xE1ndar"],low:["bajo","baja","menor","m\xEDnimo","m\xEDnima"]}};var ZOe={code:"fr",name:"Fran\xE7ais",chronoLocale:"fr",dateTriggers:{due:["\xE9ch\xE9ance","date limite","doit \xEAtre termin\xE9","pour le","avant le"],scheduled:["programm\xE9 pour","programm\xE9 le","commencer le","d\xE9buter le","travailler sur","le"]},recurrence:{frequencies:{daily:["quotidien","quotidienne","quotidiennement","chaque jour","tous les jours","journalier","journali\xE8re"],weekly:["hebdomadaire","chaque semaine","toutes les semaines","par semaine"],monthly:["mensuel","mensuelle","mensuellement","chaque mois","tous les mois","par mois"],yearly:["annuel","annuelle","annuellement","chaque ann\xE9e","tous les ans","par an","par ann\xE9e"]},every:["chaque","tous les","toutes les"],other:["autre"],weekdays:{monday:["lundi"],tuesday:["mardi"],wednesday:["mercredi"],thursday:["jeudi"],friday:["vendredi"],saturday:["samedi"],sunday:["dimanche"]},pluralWeekdays:{monday:["lundis"],tuesday:["mardis"],wednesday:["mercredis"],thursday:["jeudis"],friday:["vendredis"],saturday:["samedis"],sunday:["dimanches"]},ordinals:{first:["premier","premi\xE8re"],second:["deuxi\xE8me","second","seconde"],third:["troisi\xE8me"],fourth:["quatri\xE8me"],last:["dernier","derni\xE8re"]},periods:{day:["jour","jours"],week:["semaine","semaines"],month:["mois"],year:["an","ans","ann\xE9e","ann\xE9es"]}},timeEstimate:{hours:["h","hr","hrs","heure","heures"],minutes:["m","min","mins","minute","minutes"]},fallbackStatus:{open:["\xE0 faire","ouvert","en attente","todo"],inProgress:["en cours","en progression","en train de faire"],done:["termin\xE9","fini","accompli","fait"],cancelled:["annul\xE9","abandonn\xE9"],waiting:["en attente","bloqu\xE9","suspendu"]},fallbackPriority:{urgent:["urgent","urgente","critique","maximum","prioritaire"],high:["\xE9lev\xE9","\xE9lev\xE9e","haut","haute","important","importante","sup\xE9rieur","sup\xE9rieure"],normal:["moyen","moyenne","normal","normale","standard","r\xE9gulier","r\xE9guli\xE8re"],low:["faible","bas","basse","mineur","mineure","minimum"]}};var QOe={code:"de",name:"Deutsch",chronoLocale:"de",dateTriggers:{due:["f\xE4llig","termin","abgabe","deadline","bis zum","bis"],scheduled:["geplant f\xFCr","geplant am","beginnen am","anfangen am","arbeiten an","am"]},recurrence:{frequencies:{daily:["t\xE4glich","jeden Tag","alle Tage","tagaus tagein"],weekly:["w\xF6chentlich","jede Woche","alle Wochen"],monthly:["monatlich","jeden Monat","alle Monate"],yearly:["j\xE4hrlich","jedes Jahr","alle Jahre"]},every:["jede","jeden","jedes","alle"],other:["andere","anderen","anderes"],weekdays:{monday:["montag"],tuesday:["dienstag"],wednesday:["mittwoch"],thursday:["donnerstag"],friday:["freitag"],saturday:["samstag"],sunday:["sonntag"]},pluralWeekdays:{monday:["montags"],tuesday:["dienstags"],wednesday:["mittwochs"],thursday:["donnerstags"],friday:["freitags"],saturday:["samstags"],sunday:["sonntags"]},ordinals:{first:["erste","ersten","erster"],second:["zweite","zweiten","zweiter"],third:["dritte","dritten","dritter"],fourth:["vierte","vierten","vierter"],last:["letzte","letzten","letzter"]},periods:{day:["tag","tage"],week:["woche","wochen"],month:["monat","monate"],year:["jahr","jahre"]}},timeEstimate:{hours:["h","std","stunde","stunden"],minutes:["m","min","minute","minuten"]},fallbackStatus:{open:["offen","zu erledigen","ausstehend","todo"],inProgress:["in bearbeitung","wird bearbeitet","l\xE4uft","in arbeit"],done:["erledigt","fertig","abgeschlossen","gemacht"],cancelled:["abgebrochen","storniert","abgesagt"],waiting:["wartend","warten","blockiert","pausiert"]},fallbackPriority:{urgent:["dringend","eilig","kritisch","sofort","h\xF6chste"],high:["hoch","hohe","wichtig","priorit\xE4r"],normal:["normal","mittel","mittlere","standard"],low:["niedrig","niedrige","gering","geringe"]}};var JOe={code:"ru",name:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",chronoLocale:"ru",dateTriggers:{due:["\u0441\u0440\u043E\u043A","\u0434\u0435\u0434\u043B\u0430\u0439\u043D","\u0434\u043E","\u043A","\u0441\u0434\u0430\u0442\u044C \u0434\u043E"],scheduled:["\u0437\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043E \u043D\u0430","\u043D\u0430\u0447\u0430\u0442\u044C","\u0440\u0430\u0431\u043E\u0442\u0430\u0442\u044C \u043D\u0430\u0434","\u043D\u0430"]},recurrence:{frequencies:{daily:["\u0435\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u043E","\u043A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C","\u0435\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u044B\u0439","\u043A\u0430\u0436\u0434\u043E\u0434\u043D\u0435\u0432\u043D\u044B\u0439"],weekly:["\u0435\u0436\u0435\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u043E","\u043A\u0430\u0436\u0434\u0443\u044E \u043D\u0435\u0434\u0435\u043B\u044E","\u0435\u0436\u0435\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u044B\u0439"],monthly:["\u0435\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u043E","\u043A\u0430\u0436\u0434\u044B\u0439 \u043C\u0435\u0441\u044F\u0446","\u0435\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u044B\u0439"],yearly:["\u0435\u0436\u0435\u0433\u043E\u0434\u043D\u043E","\u043A\u0430\u0436\u0434\u044B\u0439 \u0433\u043E\u0434","\u0435\u0436\u0435\u0433\u043E\u0434\u043D\u044B\u0439"]},every:["\u043A\u0430\u0436\u0434\u044B\u0439","\u043A\u0430\u0436\u0434\u0443\u044E","\u043A\u0430\u0436\u0434\u043E\u0435","\u0432\u0441\u0435"],other:["\u0434\u0440\u0443\u0433\u043E\u0439","\u0434\u0440\u0443\u0433\u0443\u044E","\u0434\u0440\u0443\u0433\u043E\u0435"],weekdays:{monday:["\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A"],tuesday:["\u0432\u0442\u043E\u0440\u043D\u0438\u043A"],wednesday:["\u0441\u0440\u0435\u0434\u0430"],thursday:["\u0447\u0435\u0442\u0432\u0435\u0440\u0433"],friday:["\u043F\u044F\u0442\u043D\u0438\u0446\u0430"],saturday:["\u0441\u0443\u0431\u0431\u043E\u0442\u0430"],sunday:["\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435"]},pluralWeekdays:{monday:["\u043F\u043E \u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A\u0430\u043C"],tuesday:["\u043F\u043E \u0432\u0442\u043E\u0440\u043D\u0438\u043A\u0430\u043C"],wednesday:["\u043F\u043E \u0441\u0440\u0435\u0434\u0430\u043C"],thursday:["\u043F\u043E \u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0430\u043C"],friday:["\u043F\u043E \u043F\u044F\u0442\u043D\u0438\u0446\u0430\u043C"],saturday:["\u043F\u043E \u0441\u0443\u0431\u0431\u043E\u0442\u0430\u043C"],sunday:["\u043F\u043E \u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u044F\u043C"]},ordinals:{first:["\u043F\u0435\u0440\u0432\u044B\u0439","\u043F\u0435\u0440\u0432\u0430\u044F","\u043F\u0435\u0440\u0432\u043E\u0435"],second:["\u0432\u0442\u043E\u0440\u043E\u0439","\u0432\u0442\u043E\u0440\u0430\u044F","\u0432\u0442\u043E\u0440\u043E\u0435"],third:["\u0442\u0440\u0435\u0442\u0438\u0439","\u0442\u0440\u0435\u0442\u044C\u044F","\u0442\u0440\u0435\u0442\u044C\u0435"],fourth:["\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u044B\u0439","\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0430\u044F","\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u043E\u0435"],last:["\u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439","\u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044F\u044F","\u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0435"]},periods:{day:["\u0434\u0435\u043D\u044C","\u0434\u043D\u0438"],week:["\u043D\u0435\u0434\u0435\u043B\u044F","\u043D\u0435\u0434\u0435\u043B\u0438"],month:["\u043C\u0435\u0441\u044F\u0446","\u043C\u0435\u0441\u044F\u0446\u044B"],year:["\u0433\u043E\u0434","\u0433\u043E\u0434\u044B"]}},timeEstimate:{hours:["\u0447","\u0447\u0430\u0441","\u0447\u0430\u0441\u0430","\u0447\u0430\u0441\u043E\u0432"],minutes:["\u043C","\u043C\u0438\u043D","\u043C\u0438\u043D\u0443\u0442\u0430","\u043C\u0438\u043D\u0443\u0442\u044B","\u043C\u0438\u043D\u0443\u0442"]},fallbackStatus:{open:["\u043E\u0442\u043A\u0440\u044B\u0442\u043E","\u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044E","\u043D\u043E\u0432\u043E\u0435","todo"],inProgress:["\u0432 \u0440\u0430\u0431\u043E\u0442\u0435","\u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u0442\u0441\u044F","\u0432 \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0435"],done:["\u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u043E","\u0433\u043E\u0442\u043E\u0432\u043E","\u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E","\u0441\u0434\u0435\u043B\u0430\u043D\u043E"],cancelled:["\u043E\u0442\u043C\u0435\u043D\u0435\u043D\u043E","\u043E\u0442\u043C\u0435\u043D\u0451\u043D","\u043E\u0442\u043C\u0435\u043D\u0435\u043D\u0430"],waiting:["\u043E\u0436\u0438\u0434\u0430\u043D\u0438\u0435","\u0437\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u043E","\u043D\u0430 \u043F\u0430\u0443\u0437\u0435"]},fallbackPriority:{urgent:["\u0441\u0440\u043E\u0447\u043D\u043E","\u043A\u0440\u0438\u0442\u0438\u0447\u043D\u043E","\u044D\u043A\u0441\u0442\u0440\u0435\u043D\u043D\u043E","\u043D\u0435\u043C\u0435\u0434\u043B\u0435\u043D\u043D\u043E"],high:["\u0432\u044B\u0441\u043E\u043A\u0438\u0439","\u0432\u044B\u0441\u043E\u043A\u0430\u044F","\u0432\u0430\u0436\u043D\u043E","\u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442\u043D\u043E"],normal:["\u043D\u043E\u0440\u043C\u0430\u043B\u044C\u043D\u044B\u0439","\u043D\u043E\u0440\u043C\u0430\u043B\u044C\u043D\u0430\u044F","\u0441\u0440\u0435\u0434\u043D\u0438\u0439","\u0441\u0440\u0435\u0434\u043D\u044F\u044F"],low:["\u043D\u0438\u0437\u043A\u0438\u0439","\u043D\u0438\u0437\u043A\u0430\u044F","\u043D\u0435\u0432\u0430\u0436\u043D\u043E","\u043C\u043E\u0436\u043D\u043E \u043F\u043E\u0437\u0436\u0435"]}};var XOe={code:"zh",name:"\u4E2D\u6587",chronoLocale:"zh",dateTriggers:{due:["\u622A\u6B62","\u5230\u671F","\u671F\u9650","\u5728","\u4E4B\u524D"],scheduled:["\u5B89\u6392\u5728","\u8BA1\u5212\u5728","\u5F00\u59CB\u5728","\u5728"]},recurrence:{frequencies:{daily:["\u6BCF\u5929","\u6BCF\u65E5","\u5929\u5929","\u65E5\u5E38"],weekly:["\u6BCF\u5468","\u6BCF\u661F\u671F","\u5468\u5468"],monthly:["\u6BCF\u6708","\u6BCF\u4E2A\u6708","\u6708\u6708"],yearly:["\u6BCF\u5E74","\u5E74\u5E74","\u6BCF\u4E00\u5E74"]},every:["\u6BCF","\u6BCF\u4E2A","\u6BCF\u4E00\u4E2A"],other:["\u5176\u4ED6","\u53E6\u4E00\u4E2A"],weekdays:{monday:["\u5468\u4E00","\u661F\u671F\u4E00","\u793C\u62DC\u4E00"],tuesday:["\u5468\u4E8C","\u661F\u671F\u4E8C","\u793C\u62DC\u4E8C"],wednesday:["\u5468\u4E09","\u661F\u671F\u4E09","\u793C\u62DC\u4E09"],thursday:["\u5468\u56DB","\u661F\u671F\u56DB","\u793C\u62DC\u56DB"],friday:["\u5468\u4E94","\u661F\u671F\u4E94","\u793C\u62DC\u4E94"],saturday:["\u5468\u516D","\u661F\u671F\u516D","\u793C\u62DC\u516D"],sunday:["\u5468\u65E5","\u661F\u671F\u65E5","\u793C\u62DC\u65E5"]},pluralWeekdays:{monday:["\u5468\u4E00","\u661F\u671F\u4E00","\u793C\u62DC\u4E00"],tuesday:["\u5468\u4E8C","\u661F\u671F\u4E8C","\u793C\u62DC\u4E8C"],wednesday:["\u5468\u4E09","\u661F\u671F\u4E09","\u793C\u62DC\u4E09"],thursday:["\u5468\u56DB","\u661F\u671F\u56DB","\u793C\u62DC\u56DB"],friday:["\u5468\u4E94","\u661F\u671F\u4E94","\u793C\u62DC\u4E94"],saturday:["\u5468\u516D","\u661F\u671F\u516D","\u793C\u62DC\u516D"],sunday:["\u5468\u65E5","\u661F\u671F\u65E5","\u793C\u62DC\u65E5"]},ordinals:{first:["\u7B2C\u4E00\u4E2A","\u7B2C\u4E00","\u9996\u4E2A"],second:["\u7B2C\u4E8C\u4E2A","\u7B2C\u4E8C"],third:["\u7B2C\u4E09\u4E2A","\u7B2C\u4E09"],fourth:["\u7B2C\u56DB\u4E2A","\u7B2C\u56DB"],last:["\u6700\u540E\u4E00\u4E2A","\u6700\u540E","\u672B\u5C3E"]},periods:{day:["\u5929","\u65E5"],week:["\u5468","\u661F\u671F"],month:["\u6708","\u4E2A\u6708"],year:["\u5E74"]}},timeEstimate:{hours:["\u5C0F\u65F6","\u65F6","\u4E2A\u5C0F\u65F6"],minutes:["\u5206\u949F","\u5206","\u4E2A\u5206\u949F"]},fallbackStatus:{open:["\u5F85\u529E","\u672A\u5B8C\u6210","\u5F00\u653E","\u65B0\u5EFA"],inProgress:["\u8FDB\u884C\u4E2D","\u6B63\u5728\u5904\u7406","\u5904\u7406\u4E2D","\u5DE5\u4F5C\u4E2D"],done:["\u5B8C\u6210","\u5DF2\u5B8C\u6210","\u7ED3\u675F","\u641E\u5B9A"],cancelled:["\u53D6\u6D88","\u5DF2\u53D6\u6D88","\u5E9F\u5F03"],waiting:["\u7B49\u5F85","\u6682\u505C","\u963B\u585E","\u5F85\u5B9A"]},fallbackPriority:{urgent:["\u7D27\u6025","\u6025\u8FEB","\u7ACB\u5373","\u9A6C\u4E0A"],high:["\u9AD8","\u91CD\u8981","\u4F18\u5148","\u9AD8\u4F18\u5148\u7EA7"],normal:["\u6B63\u5E38","\u666E\u901A","\u4E2D\u7B49","\u6807\u51C6"],low:["\u4F4E","\u4E0D\u91CD\u8981","\u4F4E\u4F18\u5148\u7EA7","\u6B21\u8981"]}};var eLe={code:"ja",name:"\u65E5\u672C\u8A9E",chronoLocale:"ja",dateTriggers:{due:["\u671F\u9650","\u7DE0\u5207","\u3006\u5207","\u307E\u3067","\u307E\u3067\u306B","\u306B"],scheduled:["\u4E88\u5B9A","\u8A08\u753B","\u958B\u59CB","\u304B\u3089","\u306B\u958B\u59CB","\u3092\u958B\u59CB"]},recurrence:{frequencies:{daily:["\u6BCE\u65E5","\u65E5\u3005","\u6BCE\u65E5\u6BCE\u65E5","\u9023\u65E5"],weekly:["\u6BCE\u9031","\u9031\u6BCE","\u9031\u4E00","\u6BCE\u9031\u6BCE\u9031"],monthly:["\u6BCE\u6708","\u6708\u6BCE","\u6708\u4E00","\u6BCE\u6708\u6BCE\u6708"],yearly:["\u6BCE\u5E74","\u5E74\u6BCE","\u5E74\u4E00","\u6BCE\u5E74\u6BCE\u5E74","\u5E74\u6B21"]},every:["\u6BCE","\u5404","\u5168\u3066"],other:["\u4ED6\u306E","\u5225\u306E","\u7570\u306A\u308B"],weekdays:{monday:["\u6708\u66DC\u65E5","\u6708\u66DC","\u6708","\u3052\u3064\u3088\u3046\u3073"],tuesday:["\u706B\u66DC\u65E5","\u706B\u66DC","\u706B","\u304B\u3088\u3046\u3073"],wednesday:["\u6C34\u66DC\u65E5","\u6C34\u66DC","\u6C34","\u3059\u3044\u3088\u3046\u3073"],thursday:["\u6728\u66DC\u65E5","\u6728\u66DC","\u6728","\u3082\u304F\u3088\u3046\u3073"],friday:["\u91D1\u66DC\u65E5","\u91D1\u66DC","\u91D1","\u304D\u3093\u3088\u3046\u3073"],saturday:["\u571F\u66DC\u65E5","\u571F\u66DC","\u571F","\u3069\u3088\u3046\u3073"],sunday:["\u65E5\u66DC\u65E5","\u65E5\u66DC","\u65E5","\u306B\u3061\u3088\u3046\u3073"]},pluralWeekdays:{monday:["\u6708\u66DC\u65E5","\u6708\u66DC","\u6708","\u3052\u3064\u3088\u3046\u3073"],tuesday:["\u706B\u66DC\u65E5","\u706B\u66DC","\u706B","\u304B\u3088\u3046\u3073"],wednesday:["\u6C34\u66DC\u65E5","\u6C34\u66DC","\u6C34","\u3059\u3044\u3088\u3046\u3073"],thursday:["\u6728\u66DC\u65E5","\u6728\u66DC","\u6728","\u3082\u304F\u3088\u3046\u3073"],friday:["\u91D1\u66DC\u65E5","\u91D1\u66DC","\u91D1","\u304D\u3093\u3088\u3046\u3073"],saturday:["\u571F\u66DC\u65E5","\u571F\u66DC","\u571F","\u3069\u3088\u3046\u3073"],sunday:["\u65E5\u66DC\u65E5","\u65E5\u66DC","\u65E5","\u306B\u3061\u3088\u3046\u3073"]},ordinals:{first:["\u6700\u521D\u306E","\u7B2C\u4E00\u306E","\u4E00\u756A\u76EE\u306E","\u521D\u56DE"],second:["\u4E8C\u756A\u76EE\u306E","\u7B2C\u4E8C\u306E","\u6B21\u306E"],third:["\u4E09\u756A\u76EE\u306E","\u7B2C\u4E09\u306E"],fourth:["\u56DB\u756A\u76EE\u306E","\u7B2C\u56DB\u306E"],last:["\u6700\u5F8C\u306E","\u6700\u7D42\u306E","\u7D42\u308F\u308A\u306E"]},periods:{day:["\u65E5","\u65E5\u9593"],week:["\u9031","\u9031\u9593"],month:["\u6708","\u6708\u9593","\u30F6\u6708"],year:["\u5E74","\u5E74\u9593"]}},timeEstimate:{hours:["\u6642\u9593","\u6642","\u3058\u304B\u3093"],minutes:["\u5206","\u5206\u9593","\u3075\u3093","\u3077\u3093"]},fallbackStatus:{open:["\u672A\u7740\u624B","\u65B0\u898F","\u30AA\u30FC\u30D7\u30F3","\u958B\u59CB\u524D","\u5F85\u6A5F"],inProgress:["\u9032\u884C\u4E2D","\u4F5C\u696D\u4E2D","\u5B9F\u884C\u4E2D","\u51E6\u7406\u4E2D","\u9032\u884C"],done:["\u5B8C\u4E86","\u7D42\u4E86","\u6E08\u307F","\u7D42\u308F\u308A","\u9054\u6210"],cancelled:["\u30AD\u30E3\u30F3\u30BB\u30EB","\u4E2D\u6B62","\u53D6\u6D88","\u5EC3\u6B62","\u505C\u6B62"],waiting:["\u5F85\u6A5F","\u4FDD\u7559","\u30D6\u30ED\u30C3\u30AF","\u4E00\u6642\u505C\u6B62","\u5F85\u3061"]},fallbackPriority:{urgent:["\u7DCA\u6025","\u81F3\u6025","\u6025\u52D9","\u6700\u512A\u5148","\u3059\u3050\u306B"],high:["\u9AD8","\u91CD\u8981","\u512A\u5148","\u9AD8\u512A\u5148\u5EA6","\u91CD\u70B9"],normal:["\u666E\u901A","\u901A\u5E38","\u6A19\u6E96","\u4E00\u822C","\u30CE\u30FC\u30DE\u30EB"],low:["\u4F4E","\u8EFD\u5FAE","\u5F8C\u56DE\u3057","\u4F4E\u512A\u5148\u5EA6","\u4F59\u88D5"]}};var tLe={code:"it",name:"Italiano",chronoLocale:"it",dateTriggers:{due:["scadenza","entro","entro il","deve essere fatto entro","per il","termine"],scheduled:["programmato per","programmato il","iniziare il","lavorare su","il","per"]},recurrence:{frequencies:{daily:["giornaliero","giornaliera","quotidiano","quotidiana","ogni giorno","tutti i giorni","giornalmente"],weekly:["settimanale","ogni settimana","tutte le settimane","settimanalmente","alla settimana"],monthly:["mensile","ogni mese","tutti i mesi","mensilmente","al mese"],yearly:["annuale","ogni anno","tutti gli anni","annualmente","all'anno"]},every:["ogni","tutti i","tutte le"],other:["altro","altra","altri","altre"],weekdays:{monday:["luned\xEC"],tuesday:["marted\xEC"],wednesday:["mercoled\xEC"],thursday:["gioved\xEC"],friday:["venerd\xEC"],saturday:["sabato"],sunday:["domenica"]},pluralWeekdays:{monday:["luned\xEC"],tuesday:["marted\xEC"],wednesday:["mercoled\xEC"],thursday:["gioved\xEC"],friday:["venerd\xEC"],saturday:["sabati"],sunday:["domeniche"]},ordinals:{first:["primo","prima"],second:["secondo","seconda"],third:["terzo","terza"],fourth:["quarto","quarta"],last:["ultimo","ultima"]},periods:{day:["giorno","giorni"],week:["settimana","settimane"],month:["mese","mesi"],year:["anno","anni"]}},timeEstimate:{hours:["h","hr","ore","ora","o"],minutes:["m","min","minuto","minuti"]},fallbackStatus:{open:["da fare","aperto","pendente","todo","in sospeso"],inProgress:["in corso","in progresso","facendo","lavorando"],done:["fatto","completato","finito","terminato","chiuso"],cancelled:["cancellato","annullato","rimosso"],waiting:["in attesa","aspettando","bloccato","fermo"]},fallbackPriority:{urgent:["urgente","critico","critica","massimo","massima","prioritario","prioritaria"],high:["alto","alta","importante","elevato","elevata"],normal:["medio","media","normale","regolare","standard"],low:["basso","bassa","minore","minimo","minima"]}};var rLe={code:"nl",name:"Nederlands",chronoLocale:"nl",dateTriggers:{due:["vervalt op","deadline","moet klaar zijn op","tegen","uiterlijk","voor"],scheduled:["gepland voor","gepland op","beginnen op","werken aan","op","voor"]},recurrence:{frequencies:{daily:["dagelijks","elke dag","alle dagen","per dag"],weekly:["wekelijks","elke week","alle weken","per week"],monthly:["maandelijks","elke maand","alle maanden","per maand"],yearly:["jaarlijks","elk jaar","alle jaren","per jaar"]},every:["elke","alle","iedere"],other:["andere","ander"],weekdays:{monday:["maandag"],tuesday:["dinsdag"],wednesday:["woensdag"],thursday:["donderdag"],friday:["vrijdag"],saturday:["zaterdag"],sunday:["zondag"]},pluralWeekdays:{monday:["maandagen"],tuesday:["dinsdagen"],wednesday:["woensdagen"],thursday:["donderdagen"],friday:["vrijdagen"],saturday:["zaterdagen"],sunday:["zondagen"]},ordinals:{first:["eerste"],second:["tweede"],third:["derde"],fourth:["vierde"],last:["laatste"]},periods:{day:["dag","dagen"],week:["week","weken"],month:["maand","maanden"],year:["jaar","jaren"]}},timeEstimate:{hours:["u","uur","uren","h"],minutes:["m","min","minuut","minuten"]},fallbackStatus:{open:["te doen","open","nog te doen","todo","openstaand"],inProgress:["bezig","in behandeling","aan het werk","lopend","in uitvoering"],done:["klaar","voltooid","gedaan","afgerond","gesloten"],cancelled:["geannuleerd","afgezegd","ingetrokken"],waiting:["wachtend","in de wacht","geblokkeerd","uitgesteld"]},fallbackPriority:{urgent:["urgent","kritiek","hoogste","spoed","direct"],high:["hoog","hoge","belangrijk","belangrijke"],normal:["normaal","normale","gemiddeld","standaard"],low:["laag","lage","klein","kleine","onbelangrijk"]}};var nLe={code:"pt",name:"Portugu\xEAs",chronoLocale:"pt",dateTriggers:{due:["vencimento","prazo","deve estar pronto at\xE9","at\xE9","para","limite"],scheduled:["programado para","agendado para","come\xE7ar em","trabalhar em","em","no"]},recurrence:{frequencies:{daily:["di\xE1rio","di\xE1ria","diariamente","todos os dias","cada dia","por dia"],weekly:["semanal","semanalmente","toda semana","todas as semanas","por semana"],monthly:["mensal","mensalmente","todo m\xEAs","todos os meses","por m\xEAs"],yearly:["anual","anualmente","todo ano","todos os anos","por ano"]},every:["todo","toda","todos","todas","cada"],other:["outro","outra","outros","outras"],weekdays:{monday:["segunda","segunda-feira"],tuesday:["ter\xE7a","ter\xE7a-feira"],wednesday:["quarta","quarta-feira"],thursday:["quinta","quinta-feira"],friday:["sexta","sexta-feira"],saturday:["s\xE1bado"],sunday:["domingo"]},pluralWeekdays:{monday:["segundas","segundas-feiras"],tuesday:["ter\xE7as","ter\xE7as-feiras"],wednesday:["quartas","quartas-feiras"],thursday:["quintas","quintas-feiras"],friday:["sextas","sextas-feiras"],saturday:["s\xE1bados"],sunday:["domingos"]},ordinals:{first:["primeiro","primeira"],second:["segundo","segunda"],third:["terceiro","terceira"],fourth:["quarto","quarta"],last:["\xFAltimo","\xFAltima"]},periods:{day:["dia","dias"],week:["semana","semanas"],month:["m\xEAs","meses"],year:["ano","anos"]}},timeEstimate:{hours:["h","hr","hora","horas"],minutes:["m","min","minuto","minutos"]},fallbackStatus:{open:["a fazer","pendente","aberto","todo","por fazer"],inProgress:["em andamento","em progresso","fazendo","trabalhando","executando"],done:["feito","conclu\xEDdo","terminado","finalizado","completo"],cancelled:["cancelado","anulado","suspenso"],waiting:["aguardando","esperando","bloqueado","em espera"]},fallbackPriority:{urgent:["urgente","cr\xEDtico","cr\xEDtica","m\xE1ximo","m\xE1xima","priorit\xE1rio","priorit\xE1ria"],high:["alto","alta","importante","elevado","elevada"],normal:["m\xE9dio","m\xE9dia","normal","regular","padr\xE3o"],low:["baixo","baixa","menor","m\xEDnimo","m\xEDnima"]}};var iLe={code:"sv",name:"Svenska",chronoLocale:"sv",dateTriggers:{due:["f\xF6rfaller","deadline","m\xE5ste vara klar","senast","till","innan"],scheduled:["schemalagd","planerad f\xF6r","b\xF6rja","arbeta med","den","p\xE5"]},recurrence:{frequencies:{daily:["dagligen","varje dag","alla dagar","per dag"],weekly:["veckovis","varje vecka","alla veckor","per vecka"],monthly:["m\xE5nadsvis","varje m\xE5nad","alla m\xE5nader","per m\xE5nad"],yearly:["\xE5rligen","varje \xE5r","alla \xE5r","per \xE5r"]},every:["varje","alla","var"],other:["annan","annat","andra"],weekdays:{monday:["m\xE5ndag"],tuesday:["tisdag"],wednesday:["onsdag"],thursday:["torsdag"],friday:["fredag"],saturday:["l\xF6rdag"],sunday:["s\xF6ndag"]},pluralWeekdays:{monday:["m\xE5ndagar"],tuesday:["tisdagar"],wednesday:["onsdagar"],thursday:["torsdagar"],friday:["fredagar"],saturday:["l\xF6rdagar"],sunday:["s\xF6ndagar"]},ordinals:{first:["f\xF6rsta"],second:["andra"],third:["tredje"],fourth:["fj\xE4rde"],last:["sista"]},periods:{day:["dag","dagar"],week:["vecka","veckor"],month:["m\xE5nad","m\xE5nader"],year:["\xE5r"]}},timeEstimate:{hours:["t","tim","timme","timmar","h"],minutes:["m","min","minut","minuter"]},fallbackStatus:{open:["att g\xF6ra","\xF6ppen","kvar","todo","v\xE4ntande"],inProgress:["p\xE5g\xE5ende","arbetar","g\xF6r","i process","under arbete"],done:["klar","f\xE4rdig","slutf\xF6rd","avslutad","gjord"],cancelled:["avbruten","inst\xE4lld","avbokad"],waiting:["v\xE4ntar","blockerad","pausad","vilande"]},fallbackPriority:{urgent:["br\xE5dskande","kritisk","h\xF6gsta","akut","omedelbar"],high:["h\xF6g","viktig","f\xF6rh\xF6jd","prioriterad"],normal:["normal","medel","standard","vanlig"],low:["l\xE5g","mindre","minimal","obetydlig"]}};var sLe={code:"uk",name:"\u0423\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430",chronoLocale:"uk",dateTriggers:{due:["\u0442\u0435\u0440\u043C\u0456\u043D","\u0434\u0435\u0434\u043B\u0430\u0439\u043D","\u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0433\u043E\u0442\u043E\u0432\u043E \u0434\u043E","\u0434\u043E","\u043D\u0435 \u043F\u0456\u0437\u043D\u0456\u0448\u0435","\u043A\u0440\u0430\u0439\u043D\u0456\u0439 \u0442\u0435\u0440\u043C\u0456\u043D"],scheduled:["\u0437\u0430\u043F\u043B\u0430\u043D\u043E\u0432\u0430\u043D\u043E \u043D\u0430","\u0437\u0430\u043F\u043B\u0430\u043D\u043E\u0432\u0430\u043D\u0438\u0439","\u043F\u043E\u0447\u0430\u0442\u0438","\u043F\u0440\u0430\u0446\u044E\u0432\u0430\u0442\u0438 \u043D\u0430\u0434","\u043D\u0430","\u0432"]},recurrence:{frequencies:{daily:["\u0449\u043E\u0434\u043D\u044F","\u0449\u043E\u0434\u0435\u043D\u043D\u043E","\u043A\u043E\u0436\u0435\u043D \u0434\u0435\u043D\u044C","\u0432\u0441\u0456 \u0434\u043D\u0456","\u043D\u0430 \u0434\u0435\u043D\u044C"],weekly:["\u0449\u043E\u0442\u0438\u0436\u043D\u044F","\u0449\u043E\u0442\u0438\u0436\u043D\u0435\u0432\u043E","\u043A\u043E\u0436\u0435\u043D \u0442\u0438\u0436\u0434\u0435\u043D\u044C","\u0432\u0441\u0456 \u0442\u0438\u0436\u043D\u0456","\u043D\u0430 \u0442\u0438\u0436\u0434\u0435\u043D\u044C"],monthly:["\u0449\u043E\u043C\u0456\u0441\u044F\u0446\u044F","\u0449\u043E\u043C\u0456\u0441\u044F\u0447\u043D\u043E","\u043A\u043E\u0436\u0435\u043D \u043C\u0456\u0441\u044F\u0446\u044C","\u0432\u0441\u0456 \u043C\u0456\u0441\u044F\u0446\u0456","\u043D\u0430 \u043C\u0456\u0441\u044F\u0446\u044C"],yearly:["\u0449\u043E\u0440\u043E\u043A\u0443","\u0449\u043E\u0440\u0456\u0447\u043D\u043E","\u043A\u043E\u0436\u0435\u043D \u0440\u0456\u043A","\u0432\u0441\u0456 \u0440\u043E\u043A\u0438","\u043D\u0430 \u0440\u0456\u043A"]},every:["\u043A\u043E\u0436\u0435\u043D","\u043A\u043E\u0436\u043D\u0430","\u043A\u043E\u0436\u043D\u0435","\u0432\u0441\u0456"],other:["\u0456\u043D\u0448\u0438\u0439","\u0456\u043D\u0448\u0430","\u0456\u043D\u0448\u0435","\u0456\u043D\u0448\u0456"],weekdays:{monday:["\u043F\u043E\u043D\u0435\u0434\u0456\u043B\u043E\u043A"],tuesday:["\u0432\u0456\u0432\u0442\u043E\u0440\u043E\u043A"],wednesday:["\u0441\u0435\u0440\u0435\u0434\u0430"],thursday:["\u0447\u0435\u0442\u0432\u0435\u0440"],friday:["\u043F'\u044F\u0442\u043D\u0438\u0446\u044F"],saturday:["\u0441\u0443\u0431\u043E\u0442\u0430"],sunday:["\u043D\u0435\u0434\u0456\u043B\u044F"]},pluralWeekdays:{monday:["\u043F\u043E\u043D\u0435\u0434\u0456\u043B\u043A\u0438"],tuesday:["\u0432\u0456\u0432\u0442\u043E\u0440\u043A\u0438"],wednesday:["\u0441\u0435\u0440\u0435\u0434\u0438"],thursday:["\u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0438"],friday:["\u043F'\u044F\u0442\u043D\u0438\u0446\u0456"],saturday:["\u0441\u0443\u0431\u043E\u0442\u0438"],sunday:["\u043D\u0435\u0434\u0456\u043B\u0456"]},ordinals:{first:["\u043F\u0435\u0440\u0448\u0438\u0439","\u043F\u0435\u0440\u0448\u0430","\u043F\u0435\u0440\u0448\u0435"],second:["\u0434\u0440\u0443\u0433\u0438\u0439","\u0434\u0440\u0443\u0433\u0430","\u0434\u0440\u0443\u0433\u0435"],third:["\u0442\u0440\u0435\u0442\u0456\u0439","\u0442\u0440\u0435\u0442\u044F","\u0442\u0440\u0435\u0442\u0454"],fourth:["\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0438\u0439","\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0430","\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0435"],last:["\u043E\u0441\u0442\u0430\u043D\u043D\u0456\u0439","\u043E\u0441\u0442\u0430\u043D\u043D\u044F","\u043E\u0441\u0442\u0430\u043D\u043D\u0454"]},periods:{day:["\u0434\u0435\u043D\u044C","\u0434\u043D\u0456","\u0434\u043D\u0456\u0432"],week:["\u0442\u0438\u0436\u0434\u0435\u043D\u044C","\u0442\u0438\u0436\u043D\u0456","\u0442\u0438\u0436\u043D\u0456\u0432"],month:["\u043C\u0456\u0441\u044F\u0446\u044C","\u043C\u0456\u0441\u044F\u0446\u0456","\u043C\u0456\u0441\u044F\u0446\u0456\u0432"],year:["\u0440\u0456\u043A","\u0440\u043E\u043A\u0438","\u0440\u043E\u043A\u0456\u0432"]}},timeEstimate:{hours:["\u0433","\u0433\u043E\u0434","\u0433\u043E\u0434\u0438\u043D\u0430","\u0433\u043E\u0434\u0438\u043D\u0438","\u0433\u043E\u0434\u0438\u043D"],minutes:["\u0445\u0432","\u043C\u0456\u043D","\u0445\u0432\u0438\u043B\u0438\u043D\u0430","\u0445\u0432\u0438\u043B\u0438\u043D\u0438","\u0445\u0432\u0438\u043B\u0438\u043D"]},fallbackStatus:{open:["\u0437\u0440\u043E\u0431\u0438\u0442\u0438","\u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438\u0439","\u043E\u0447\u0456\u043A\u0443\u0454","todo","\u0432 \u043E\u0447\u0456\u043A\u0443\u0432\u0430\u043D\u043D\u0456"],inProgress:["\u0432 \u0440\u043E\u0431\u043E\u0442\u0456","\u0432\u0438\u043A\u043E\u043D\u0443\u0454\u0442\u044C\u0441\u044F","\u0440\u043E\u0431\u043B\u044E","\u043F\u0440\u0430\u0446\u044E\u044E","\u0432 \u043F\u0440\u043E\u0446\u0435\u0441\u0456"],done:["\u0433\u043E\u0442\u043E\u0432\u043E","\u0432\u0438\u043A\u043E\u043D\u0430\u043D\u043E","\u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E","\u0437\u0430\u043A\u0456\u043D\u0447\u0435\u043D\u043E","\u0437\u0440\u043E\u0431\u043B\u0435\u043D\u043E"],cancelled:["\u0441\u043A\u0430\u0441\u043E\u0432\u0430\u043D\u043E","\u0432\u0456\u0434\u043C\u0456\u043D\u0435\u043D\u043E","\u043F\u0440\u0438\u043F\u0438\u043D\u0435\u043D\u043E"],waiting:["\u0447\u0435\u043A\u0430\u044E","\u043E\u0447\u0456\u043A\u0443\u044E","\u0437\u0430\u0431\u043B\u043E\u043A\u043E\u0432\u0430\u043D\u043E","\u043F\u0440\u0438\u0437\u0443\u043F\u0438\u043D\u0435\u043D\u043E"]},fallbackPriority:{urgent:["\u0442\u0435\u0440\u043C\u0456\u043D\u043E\u0432\u043E","\u043A\u0440\u0438\u0442\u0438\u0447\u043D\u043E","\u043D\u0430\u0439\u0432\u0438\u0449\u0438\u0439","\u043D\u0435\u0432\u0456\u0434\u043A\u043B\u0430\u0434\u043D\u043E","\u043F\u0440\u0456\u043E\u0440\u0438\u0442\u0435\u0442\u043D\u043E"],high:["\u0432\u0438\u0441\u043E\u043A\u0438\u0439","\u0432\u0438\u0441\u043E\u043A\u0430","\u0432\u0430\u0436\u043B\u0438\u0432\u043E","\u043F\u0456\u0434\u0432\u0438\u0449\u0435\u043D\u0438\u0439"],normal:["\u0441\u0435\u0440\u0435\u0434\u043D\u0456\u0439","\u0441\u0435\u0440\u0435\u0434\u043D\u044F","\u043D\u043E\u0440\u043C\u0430\u043B\u044C\u043D\u043E","\u0437\u0432\u0438\u0447\u0430\u0439\u043D\u043E","\u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u043E"],low:["\u043D\u0438\u0437\u044C\u043A\u0438\u0439","\u043D\u0438\u0437\u044C\u043A\u0430","\u043C\u0435\u043D\u0448\u0438\u0439","\u043C\u0456\u043D\u0456\u043C\u0430\u043B\u044C\u043D\u0438\u0439","\u043D\u0435\u0437\u043D\u0430\u0447\u043D\u0438\u0439"]}};var uwt={en:GOe,es:KOe,fr:ZOe,de:QOe,ru:JOe,zh:XOe,ja:eLe,it:tLe,nl:rLe,pt:nLe,sv:iLe,uk:sLe};function aLe(){return Object.values(uwt).map(r=>({value:r.code,label:r.name}))}function Io(r,e,t){r.empty();let n=(o,l)=>e.i18n.translate(o,l),i=Q0(e),s=e.settings.inlineVisibleProperties||["status","priority","due","scheduled","recurrence"],a=_O(e,s);kt(r,{heading:n("settings.features.inlineTasks.header"),description:n("settings.features.inlineTasks.description")},o=>{o.addSetting(l=>void De(l,{name:n("settings.features.overlays.taskLinkToggle.name"),desc:n("settings.features.overlays.taskLinkToggle.description"),getValue:()=>e.settings.enableTaskLinkOverlay,setValue:async c=>{e.settings.enableTaskLinkOverlay=c,t(),Io(r,e,t)}})),e.settings.enableTaskLinkOverlay&&(o.addSetting(l=>void De(l,{name:n("settings.features.overlays.aliasExclusion.name"),desc:n("settings.features.overlays.aliasExclusion.description"),getValue:()=>e.settings.disableOverlayOnAlias,setValue:async c=>{e.settings.disableOverlayOnAlias=c,t()}})),o.addSetting(l=>{l.setName("Inline task card properties").setDesc("Select which properties to show in inline task cards.").addButton(c=>{c.setButtonText("Configure").onClick(()=>{new Fb(e.app,i,s,async u=>{e.settings.inlineVisibleProperties=u,t(),new uZ.Notice("Inline task card properties updated"),Io(r,e,t)},"Select Inline Task Card Properties","Choose which properties to display in inline task cards.").open()})})}),o.addSetting(l=>{l.setDesc(`Currently showing: ${a.join(", ")}`),l.settingEl.addClass("settings-view__group-description")})),o.addSetting(l=>void De(l,{name:n("settings.features.instantConvert.toggle.name"),desc:n("settings.features.instantConvert.toggle.description"),getValue:()=>e.settings.enableInstantTaskConvert,setValue:async c=>{e.settings.enableInstantTaskConvert=c,t(),Io(r,e,t)}}))}),kt(r,{heading:n("settings.features.nlp.header"),description:n("settings.features.nlp.description")},o=>{o.addSetting(l=>void De(l,{name:n("settings.features.nlp.enable.name"),desc:n("settings.features.nlp.enable.description"),getValue:()=>e.settings.enableNaturalLanguageInput,setValue:async c=>{e.settings.enableNaturalLanguageInput=c,t(),Io(r,e,t)}})),e.settings.enableNaturalLanguageInput&&(o.addSetting(l=>void De(l,{name:n("settings.features.nlp.defaultToScheduled.name"),desc:n("settings.features.nlp.defaultToScheduled.description"),getValue:()=>e.settings.nlpDefaultToScheduled,setValue:async c=>{e.settings.nlpDefaultToScheduled=c,t()}})),o.addSetting(l=>void hn(l,{name:n("settings.features.nlp.language.name"),desc:n("settings.features.nlp.language.description"),options:aLe(),getValue:()=>e.settings.nlpLanguage,setValue:async c=>{e.settings.nlpLanguage=c,t()}})))}),kt(r,{heading:n("settings.defaults.header.bodyTemplate"),description:n("settings.defaults.description.bodyTemplate")},o=>{o.addSetting(l=>void De(l,{name:n("settings.defaults.bodyTemplate.useBodyTemplate.name"),desc:n("settings.defaults.bodyTemplate.useBodyTemplate.description"),getValue:()=>e.settings.taskCreationDefaults.useBodyTemplate,setValue:async c=>{e.settings.taskCreationDefaults.useBodyTemplate=c,t(),Io(r,e,t)}})),e.settings.taskCreationDefaults.useBodyTemplate&&(o.addSetting(l=>void Sn(l,{name:n("settings.defaults.bodyTemplate.bodyTemplateFile.name"),desc:n("settings.defaults.bodyTemplate.bodyTemplateFile.description"),placeholder:n("settings.defaults.bodyTemplate.bodyTemplateFile.placeholder"),getValue:()=>e.settings.taskCreationDefaults.bodyTemplate,setValue:async c=>{e.settings.taskCreationDefaults.bodyTemplate=c,t()}})),o.addSetting(l=>{let c=[n("settings.defaults.bodyTemplate.variables.title"),n("settings.defaults.bodyTemplate.variables.details"),n("settings.defaults.bodyTemplate.variables.date"),n("settings.defaults.bodyTemplate.variables.time"),n("settings.defaults.bodyTemplate.variables.priority"),n("settings.defaults.bodyTemplate.variables.status"),n("settings.defaults.bodyTemplate.variables.contexts"),n("settings.defaults.bodyTemplate.variables.tags"),n("settings.defaults.bodyTemplate.variables.projects")];l.setName(n("settings.defaults.bodyTemplate.variablesHeader")),l.setDesc(c.join(" \u2022 "))})),o.addSetting(l=>void De(l,{name:n("settings.defaults.instantConversion.useDefaultsOnInstantConvert.name"),desc:n("settings.defaults.instantConversion.useDefaultsOnInstantConvert.description"),getValue:()=>e.settings.useDefaultsOnInstantConvert,setValue:async c=>{e.settings.useDefaultsOnInstantConvert=c,t()}}))}),kt(r,{heading:n("settings.features.pomodoro.header"),description:n("settings.features.pomodoro.description")},o=>{o.addSetting(l=>void ds(l,{name:n("settings.features.pomodoro.workDuration.name"),desc:n("settings.features.pomodoro.workDuration.description"),placeholder:"25",min:1,max:120,getValue:()=>e.settings.pomodoroWorkDuration,setValue:async c=>{e.settings.pomodoroWorkDuration=c,t()}})),o.addSetting(l=>void ds(l,{name:n("settings.features.pomodoro.shortBreak.name"),desc:n("settings.features.pomodoro.shortBreak.description"),placeholder:"5",min:1,max:60,getValue:()=>e.settings.pomodoroShortBreakDuration,setValue:async c=>{e.settings.pomodoroShortBreakDuration=c,t()}})),o.addSetting(l=>void ds(l,{name:n("settings.features.pomodoro.longBreak.name"),desc:n("settings.features.pomodoro.longBreak.description"),placeholder:"15",min:1,max:120,getValue:()=>e.settings.pomodoroLongBreakDuration,setValue:async c=>{e.settings.pomodoroLongBreakDuration=c,t()}})),o.addSetting(l=>void ds(l,{name:n("settings.features.pomodoro.longBreakInterval.name"),desc:n("settings.features.pomodoro.longBreakInterval.description"),placeholder:"4",min:1,max:10,getValue:()=>e.settings.pomodoroLongBreakInterval,setValue:async c=>{e.settings.pomodoroLongBreakInterval=c,t()}})),o.addSetting(l=>void De(l,{name:n("settings.features.pomodoro.autoStartBreaks.name"),desc:n("settings.features.pomodoro.autoStartBreaks.description"),getValue:()=>e.settings.pomodoroAutoStartBreaks,setValue:async c=>{e.settings.pomodoroAutoStartBreaks=c,t()}})),o.addSetting(l=>void De(l,{name:n("settings.features.pomodoro.autoStartWork.name"),desc:n("settings.features.pomodoro.autoStartWork.description"),getValue:()=>e.settings.pomodoroAutoStartWork,setValue:async c=>{e.settings.pomodoroAutoStartWork=c,t()}})),o.addSetting(l=>void De(l,{name:n("settings.features.pomodoro.notifications.name"),desc:n("settings.features.pomodoro.notifications.description"),getValue:()=>e.settings.pomodoroNotifications,setValue:async c=>{e.settings.pomodoroNotifications=c,t()}})),o.addSetting(l=>void De(l,{name:n("settings.features.pomodoroSound.enabledName"),desc:n("settings.features.pomodoroSound.enabledDesc"),getValue:()=>e.settings.pomodoroSoundEnabled,setValue:async c=>{e.settings.pomodoroSoundEnabled=c,t(),Io(r,e,t)}})),e.settings.pomodoroSoundEnabled&&o.addSetting(l=>void ds(l,{name:n("settings.features.pomodoroSound.volumeName"),desc:n("settings.features.pomodoroSound.volumeDesc"),placeholder:"50",min:0,max:100,getValue:()=>e.settings.pomodoroSoundVolume,setValue:async c=>{e.settings.pomodoroSoundVolume=c,t()}})),o.addSetting(l=>void hn(l,{name:n("settings.features.dataStorage.name"),desc:n("settings.features.dataStorage.description"),options:[{value:"plugin",label:n("settings.features.dataStorage.pluginData")},{value:"daily-notes",label:n("settings.features.dataStorage.dailyNotes")}],getValue:()=>e.settings.pomodoroStorageLocation,setValue:async c=>{let d=c;if(d!==e.settings.pomodoroStorageLocation){let u=await e.loadData(),p=(u==null?void 0:u.pomodoroHistory)&&Array.isArray(u.pomodoroHistory)&&u.pomodoroHistory.length>0;await YOe(e,p)?(e.settings.pomodoroStorageLocation=d,t(),new uZ.Notice(n("settings.features.dataStorage.notices.locationChanged",{location:n(d==="plugin"?"settings.features.dataStorage.pluginData":"settings.features.dataStorage.dailyNotes")}))):Io(r,e,t)}}})),o.addSetting(l=>void hn(l,{name:n("settings.features.pomodoro.mobileSidebar.name"),desc:n("settings.features.pomodoro.mobileSidebar.description"),options:[{value:"tab",label:n("settings.features.pomodoro.mobileSidebar.tab")},{value:"left",label:n("settings.features.pomodoro.mobileSidebar.left")},{value:"right",label:n("settings.features.pomodoro.mobileSidebar.right")}],getValue:()=>e.settings.pomodoroMobileSidebar,setValue:async c=>{e.settings.pomodoroMobileSidebar=c,t()}}))}),kt(r,{heading:n("settings.features.notifications.header"),description:n("settings.features.notifications.description")},o=>{o.addSetting(l=>void De(l,{name:n("settings.features.notifications.enableName"),desc:n("settings.features.notifications.enableDesc"),getValue:()=>e.settings.enableNotifications,setValue:async c=>{e.settings.enableNotifications=c,t(),Io(r,e,t)}})),e.settings.enableNotifications&&o.addSetting(l=>void hn(l,{name:n("settings.features.notifications.typeName"),desc:n("settings.features.notifications.typeDesc"),options:[{value:"in-app",label:n("settings.features.notifications.inAppLabel")},{value:"system",label:n("settings.features.notifications.systemLabel")}],getValue:()=>e.settings.notificationType,setValue:async c=>{e.settings.notificationType=c,t()}}))}),kt(r,{heading:n("settings.features.performance.header"),description:n("settings.features.performance.description")},o=>{o.addSetting(l=>void De(l,{name:n("settings.features.overdue.hideCompletedName"),desc:n("settings.features.overdue.hideCompletedDesc"),getValue:()=>e.settings.hideCompletedFromOverdue,setValue:async c=>{e.settings.hideCompletedFromOverdue=c,t()}})),o.addSetting(l=>void De(l,{name:n("settings.features.indexing.disableName"),desc:n("settings.features.indexing.disableDesc"),getValue:()=>e.settings.disableNoteIndexing,setValue:async c=>{e.settings.disableNoteIndexing=c,t()}})),e.settings.suggestionDebounceMs!==void 0&&o.addSetting(l=>void ds(l,{name:n("settings.features.suggestions.debounceName"),desc:n("settings.features.suggestions.debounceDesc"),placeholder:"300",min:0,max:2e3,getValue:()=>e.settings.suggestionDebounceMs||0,setValue:async c=>{e.settings.suggestionDebounceMs=c>0?c:void 0,t()}}))}),kt(r,{heading:n("settings.features.timeTrackingSection.header"),description:n("settings.features.timeTrackingSection.description")},o=>{o.addSetting(l=>void De(l,{name:n("settings.features.timeTracking.autoStopName"),desc:n("settings.features.timeTracking.autoStopDesc"),getValue:()=>e.settings.autoStopTimeTrackingOnComplete,setValue:async c=>{e.settings.autoStopTimeTrackingOnComplete=c,t()}})),o.addSetting(l=>void De(l,{name:n("settings.features.timeTracking.stopNotificationName"),desc:n("settings.features.timeTracking.stopNotificationDesc"),getValue:()=>e.settings.autoStopTimeTrackingNotification,setValue:async c=>{e.settings.autoStopTimeTrackingNotification=c,t()}}))}),kt(r,{heading:n("settings.features.recurringSection.header"),description:n("settings.features.recurringSection.description")},o=>{o.addSetting(l=>void De(l,{name:n("settings.features.recurring.maintainOffsetName"),desc:n("settings.features.recurring.maintainOffsetDesc"),getValue:()=>e.settings.maintainDueDateOffsetInRecurring,setValue:async c=>{e.settings.maintainDueDateOffsetInRecurring=c,t()}})),o.addSetting(l=>void De(l,{name:n("settings.features.recurring.resetCheckboxesName"),desc:n("settings.features.recurring.resetCheckboxesDesc"),getValue:()=>e.settings.resetCheckboxesOnRecurrence,setValue:async c=>{e.settings.resetCheckboxesOnRecurrence=c,t()}}))}),kt(r,{heading:n("settings.features.timeblocking.header"),description:n("settings.features.timeblocking.description")},o=>{o.addSetting(l=>void De(l,{name:n("settings.features.timeblocking.enableName"),desc:n("settings.features.timeblocking.enableDesc"),getValue:()=>e.settings.calendarViewSettings.enableTimeblocking,setValue:async c=>{e.settings.calendarViewSettings.enableTimeblocking=c,t(),Io(r,e,t)}})),e.settings.calendarViewSettings.enableTimeblocking&&(o.addSetting(l=>void hn(l,{name:"Attachment Search Order",desc:"Controls how files are ordered in the Add Attachment search window for timeblocks.",options:[{value:"name-asc",label:"Name (A to Z)"},{value:"name-desc",label:"Name (Z to A)"},{value:"path-asc",label:"Path (A to Z)"},{value:"path-desc",label:"Path (Z to A)"},{value:"created-recent",label:"Created (Newest first)"},{value:"created-oldest",label:"Created (Oldest first)"},{value:"modified-recent",label:"Modified (Newest first)"},{value:"modified-oldest",label:"Modified (Oldest first)"}],getValue:()=>e.settings.calendarViewSettings.timeblockAttachmentSearchOrder,setValue:async c=>{e.settings.calendarViewSettings.timeblockAttachmentSearchOrder=c,t()}})),o.addSetting(l=>void De(l,{name:n("settings.features.timeblocking.showBlocksName"),desc:n("settings.features.timeblocking.showBlocksDesc"),getValue:()=>e.settings.calendarViewSettings.defaultShowTimeblocks,setValue:async c=>{e.settings.calendarViewSettings.defaultShowTimeblocks=c,t()}})),o.addSetting(l=>{l.setName(n("settings.features.timeblocking.defaultColorName")).setDesc(n("settings.features.timeblocking.defaultColorDesc")).addText(c=>{c.inputEl.type="color",c.setValue(e.settings.calendarViewSettings.defaultTimeblockColor),c.onChange(d=>{e.settings.calendarViewSettings.defaultTimeblockColor=d,t()})})}),o.addSetting(l=>{l.setDesc(n("settings.features.timeblocking.usage")),l.settingEl.addClass("settings-view__group-description")}))}),kt(r,{heading:n("settings.features.debugLogging.header"),description:n("settings.features.debugLogging.description")},o=>{o.addSetting(l=>void De(l,{name:n("settings.features.debugLogging.enableName"),desc:n("settings.features.debugLogging.enableDesc"),getValue:()=>e.settings.enableDebugLogging,setValue:async c=>{e.settings.enableDebugLogging=c,t()}}))})}var Te=require("obsidian");var oLe=require("obsidian");function pwt(r){return r instanceof Error?r.message:String(r)}async function lLe(r,e=8080){let t=r.createEl("p",{text:"Loading API endpoints...",attr:{style:"color: var(--text-muted); font-style: italic; margin: 16px 0;"}});try{let n=await(0,oLe.requestUrl)({url:`http://localhost:${e}/api/docs`,throw:!1});if(n.status<200||n.status>=300)throw new Error(`API unavailable (${n.status})`);let i=n.json;t.remove();let s={};if(i.paths)for(let[a,o]of Object.entries(i.paths))for(let[l,c]of Object.entries(o)){let u=(c.tags||["General"])[0];s[u]||(s[u]=[]),s[u].push({method:l.toUpperCase(),path:a,summary:c.summary||c.description||"No description"})}Object.keys(s).length>0?Object.entries(s).forEach(([a,o])=>{r.createEl("h5",{text:a,attr:{style:"margin: 16px 0 8px 0; font-weight: 600; color: var(--text-normal);"}});let l=r.createEl("ul");o.forEach(c=>{l.createEl("li",{text:`${c.method} ${c.path} - ${c.summary}`})})}):r.createEl("p",{text:"No API endpoints found in specification.",attr:{style:"color: var(--text-muted); margin: 16px 0;"}})}catch(n){console.error("Error loading API endpoints:",n),t.remove(),r.createEl("p",{text:`API server not accessible (${pwt(n)}). Ensure the TaskNotes API server is running on port ${e}.`,attr:{style:"color: var(--text-muted); font-style: italic; margin: 16px 0;"}})}}mc();md();function $b(r,e){let n=new Date().getTime()-r.getTime(),i=Math.floor(n/1e3),s=Math.floor(i/60),a=Math.floor(s/60),o=Math.floor(a/24);return o>0?e("settings.integrations.timeFormats.daysAgo",{days:o,plural:o>1?"s":""}):a>0?e("settings.integrations.timeFormats.hoursAgo",{hours:a,plural:a>1?"s":""}):s>0?e("settings.integrations.timeFormats.minutesAgo",{minutes:s,plural:s>1?"s":""}):e("settings.integrations.timeFormats.justNow")}function cLe(r){return r instanceof Error?r.message:String(r)}var mwt=["title","zettel","timestamp","custom"];function fwt(r){return mwt.some(e=>e===r)}var dLe=[{id:"task.created",label:"Task Created",desc:"When new tasks are created"},{id:"task.updated",label:"Task Updated",desc:"When tasks are modified"},{id:"task.completed",label:"Task Completed",desc:"When tasks are marked complete"},{id:"task.deleted",label:"Task Deleted",desc:"When tasks are deleted"},{id:"task.archived",label:"Task Archived",desc:"When tasks are archived"},{id:"task.unarchived",label:"Task Unarchived",desc:"When tasks are unarchived"},{id:"time.started",label:"Time Started",desc:"When time tracking starts"},{id:"time.stopped",label:"Time Stopped",desc:"When time tracking stops"},{id:"pomodoro.started",label:"Pomodoro Started",desc:"When pomodoro sessions begin"},{id:"pomodoro.completed",label:"Pomodoro Completed",desc:"When pomodoro sessions finish"},{id:"pomodoro.interrupted",label:"Pomodoro Interrupted",desc:"When pomodoro sessions are stopped"},{id:"recurring.instance.completed",label:"Recurring Instance Completed",desc:"When recurring task instances complete"},{id:"reminder.triggered",label:"Reminder Triggered",desc:"When task reminders activate"}];function Yh(r,e,t){r.empty();let n=(c,d)=>e.i18n.translate(c,d);kt(r,{heading:n("settings.integrations.mdbaseSpec.header")},c=>{c.addSetting(d=>{De(d,{name:n("settings.integrations.mdbaseSpec.enable.name"),desc:"",getValue:()=>e.settings.enableMdbaseSpec,setValue:m=>{e.settings.enableMdbaseSpec=m,t()}});let u=d.descEl;u.createSpan({text:n("settings.integrations.mdbaseSpec.enable.description")+" "}),u.createEl("a",{text:n("settings.integrations.mdbaseSpec.learnMore"),href:"https://mdbase.dev"}).setAttr("target","_blank")})}),kt(r,{heading:"OAuth Calendar Integration"},c=>{c.addSetting(d=>{d.setDesc("Connect your Google calendar or Microsoft outlook to sync events directly into tasknotes.");let u=d.descEl;u.createSpan({text:" You'll need to create OAuth credentials with Google and/or Microsoft. This takes approximately 15 minutes for initial setup. "}),u.createEl("a",{text:"View calendar setup guide",href:"https://callumalpass.github.io/tasknotes/calendar-setup"}).setAttr("target","_blank")})});let i=r.createDiv("google-calendar-integration-container"),s=async()=>{if(i.empty(),!e.oauthService){ur(i,{header:{primaryText:"Google Calendar",secondaryText:"OAuth service not available",meta:[ks("Error","inactive")]}});return}let c=await e.oauthService.isConnected("google"),d=c?await e.oauthService.getConnection("google"):null;if(c&&d){let u=d.connectedAt?new Date(d.connectedAt):null,p=u?$b(u,n):"",m=activeDocument.createElement("div");m.className="tasknotes-calendar-info",m.textContent=u?`Connected ${p}`:"Connected";let f=activeDocument.createElement("div");if(f.className="tasknotes-calendar-info",d.lastRefreshed){let h=new Date(d.lastRefreshed);f.textContent=`Last refreshed ${$b(h,n)}`}else f.textContent="Never refreshed";ur(i,{collapsible:!0,defaultCollapsed:!1,colorIndicator:{color:"#4285F4"},header:{primaryText:"Google Calendar",secondaryText:"OAuth 2.0 Connection",meta:[ks("Connected","active")]},content:{sections:[{rows:[{label:"Status:",input:m},{label:"Sync:",input:f}]}]},actions:{buttons:[{text:"Refresh Now",icon:"refresh-cw",variant:"primary",onClick:async()=>{try{e.googleCalendarService&&(await e.googleCalendarService.refresh(),new Te.Notice("Google calendar refreshed successfully"),s())}catch(h){console.error("Failed to refresh:",h),new Te.Notice("Failed to refresh Google calendar")}}},{text:"Disconnect",icon:"log-out",variant:"warning",onClick:async()=>{try{let h=e.oauthService;if(!h)return;await h.disconnect("google"),new Te.Notice("Disconnected from Google calendar"),s()}catch(h){console.error("Failed to disconnect:",h),new Te.Notice("Failed to disconnect from Google calendar")}}}]}})}else{let u=activeDocument.createElement("div");u.className="tasknotes-calendar-help",u.textContent="Connect your Google calendar account to sync events directly into tasknotes. Events will automatically refresh every 15 minutes.";let p=[{rows:[{label:"Info:",input:u,fullWidth:!0}]}],m=Ue("text","your-client-id.apps.googleusercontent.com",e.settings.googleOAuthClientId);m.addEventListener("blur",()=>{ii(async()=>{e.settings.googleOAuthClientId=m.value.trim(),t(),e.oauthService&&await e.oauthService.loadClientIds()})});let f=Ue("text","your-client-secret",e.settings.googleOAuthClientSecret);f.setAttribute("type","password"),f.addEventListener("blur",()=>{ii(async()=>{e.settings.googleOAuthClientSecret=f.value.trim(),t(),e.oauthService&&await e.oauthService.loadClientIds()})});let h=activeDocument.createElement("div");h.className="tasknotes-credential-note",h.textContent="Enter your OAUTH app credentials from Google cloud console.",p.push({rows:[{label:"Client ID:",input:m},{label:"Client Secret:",input:f},{label:"",input:h,fullWidth:!0}]}),ur(i,{collapsible:!0,defaultCollapsed:!1,colorIndicator:{color:"#9AA0A6"},header:{primaryText:"Google Calendar",secondaryText:"OAuth 2.0 Connection",meta:[ks("Not Connected","inactive")]},content:{sections:p},actions:{buttons:[{text:"Connect Google Calendar",icon:"link",variant:"primary",onClick:async()=>{try{let g=e.oauthService;if(!g)return;await g.authenticate("google"),new Te.Notice("Google calendar connected successfully!"),s()}catch(g){console.error("Failed to connect:",g),new Te.Notice(`Failed to connect: ${cLe(g)}`)}}}]}})}};s();let a=r.createDiv("microsoft-calendar-integration-container"),o=async()=>{if(a.empty(),!e.oauthService){ur(a,{header:{primaryText:"Microsoft Outlook Calendar",secondaryText:"OAuth service not available",meta:[ks("Error","inactive")]}});return}let c=await e.oauthService.isConnected("microsoft"),d=c?await e.oauthService.getConnection("microsoft"):null;if(c&&d){let u=d.connectedAt?new Date(d.connectedAt):null,p=u?$b(u,n):"",m=activeDocument.createElement("div");m.className="tasknotes-calendar-info",m.textContent=u?`Connected ${p}`:"Connected";let f=activeDocument.createElement("div");if(f.className="tasknotes-calendar-info",d.lastRefreshed){let h=new Date(d.lastRefreshed);f.textContent=`Last refreshed ${$b(h,n)}`}else f.textContent="Never refreshed";ur(a,{collapsible:!0,defaultCollapsed:!1,colorIndicator:{color:"#0078D4"},header:{primaryText:"Microsoft Outlook Calendar",secondaryText:"OAuth 2.0 Connection",meta:[ks("Connected","active")]},content:{sections:[{rows:[{label:"Status:",input:m},{label:"Sync:",input:f}]}]},actions:{buttons:[{text:"Disconnect",icon:"log-out",variant:"warning",onClick:async()=>{try{let h=e.oauthService;if(!h)return;await h.disconnect("microsoft"),new Te.Notice("Disconnected from Microsoft calendar"),o()}catch(h){console.error("Failed to disconnect:",h),new Te.Notice("Failed to disconnect from Microsoft calendar")}}}]}})}else{let u=activeDocument.createElement("div");u.className="tasknotes-calendar-help",u.textContent="Connect your Microsoft outlook calendar to sync events directly into tasknotes.";let p=[{rows:[{label:"Info:",input:u,fullWidth:!0}]}],m=Ue("text","your-microsoft-client-id",e.settings.microsoftOAuthClientId);m.addEventListener("blur",()=>{ii(async()=>{e.settings.microsoftOAuthClientId=m.value.trim(),t(),e.oauthService&&await e.oauthService.loadClientIds()})});let f=Ue("text","your-microsoft-client-secret",e.settings.microsoftOAuthClientSecret);f.setAttribute("type","password"),f.addEventListener("blur",()=>{ii(async()=>{e.settings.microsoftOAuthClientSecret=f.value.trim(),t(),e.oauthService&&await e.oauthService.loadClientIds()})});let h=activeDocument.createElement("div");h.className="tasknotes-credential-note",h.textContent="Enter your OAUTH app credentials from azure portal.",p.push({rows:[{label:"Client ID:",input:m},{label:"Client Secret:",input:f},{label:"",input:h,fullWidth:!0}]}),ur(a,{collapsible:!0,defaultCollapsed:!1,colorIndicator:{color:"#737373"},header:{primaryText:"Microsoft Outlook Calendar",secondaryText:"OAuth 2.0 Connection",meta:[ks("Not Connected","inactive")]},content:{sections:p},actions:{buttons:[{text:"Connect Microsoft Calendar",icon:"link",variant:"primary",onClick:async()=>{try{let g=e.oauthService;if(!g)return;await g.authenticate("microsoft"),new Te.Notice("Microsoft calendar connected successfully!"),o()}catch(g){console.error("Failed to connect:",g),new Te.Notice(`Failed to connect: ${cLe(g)}`)}}}]}})}};o(),kt(r,{heading:n("settings.integrations.googleCalendarExport.header"),description:n("settings.integrations.googleCalendarExport.description")},c=>{c.addSetting(d=>void De(d,{name:n("settings.integrations.googleCalendarExport.enable.name"),desc:n("settings.integrations.googleCalendarExport.enable.description"),getValue:()=>e.settings.googleCalendarExport.enabled,setValue:async u=>{e.settings.googleCalendarExport.enabled=u,t()}})),c.addSetting(d=>{d.setName(n("settings.integrations.googleCalendarExport.targetCalendar.name")),d.setDesc(n("settings.integrations.googleCalendarExport.targetCalendar.description"));let u=d.controlEl.createEl("select",{cls:"dropdown"});u.classList.remove("tn-static-width-100-0466783d","tn-static-width-12px-fbf353fb","tn-static-width-16px-7375d50b","tn-static-width-1px-aa77e27e","tn-static-width-60px-bd09c419","tn-static-width-80px-8573bae3"),u.classList.add("tn-static-width-200px-2acaf3b5"),u.createEl("option",{text:n("settings.integrations.googleCalendarExport.targetCalendar.placeholder"),value:""});let p=async()=>{for(;u.options.length>1;)u.remove(1);if(e.oauthService&&await e.oauthService.isConnected("google")&&e.googleCalendarService){let y=e.googleCalendarService.getAvailableCalendars();for(let k of y){let T=u.createEl("option",{text:k.summary+(k.primary?n("settings.integrations.googleCalendarExport.targetCalendar.primarySuffix"):""),value:k.id});k.id===e.settings.googleCalendarExport.targetCalendarId&&(T.selected=!0)}}else u.createEl("option",{text:n("settings.integrations.googleCalendarExport.targetCalendar.connectFirst"),value:""})};p();let m=null,f=null,h=()=>{m&&(m(),m=null),f&&(f.disconnect(),f=null)};m=e.googleCalendarService.on("data-changed",()=>{if(!u.isConnected){h();return}p()}),f=new MutationObserver(()=>{u.isConnected||h()}),f.observe(r.ownerDocument.body,{childList:!0,subtree:!0}),u.addEventListener("change",()=>{e.settings.googleCalendarExport.targetCalendarId=u.value,t()})}),c.addSetting(d=>void hn(d,{name:n("settings.integrations.googleCalendarExport.syncTrigger.name"),desc:n("settings.integrations.googleCalendarExport.syncTrigger.description"),options:[{value:"scheduled",label:n("settings.integrations.googleCalendarExport.syncTrigger.options.scheduled")},{value:"due",label:n("settings.integrations.googleCalendarExport.syncTrigger.options.due")},{value:"both",label:n("settings.integrations.googleCalendarExport.syncTrigger.options.both")}],getValue:()=>e.settings.googleCalendarExport.syncTrigger,setValue:async u=>{e.settings.googleCalendarExport.syncTrigger=u,t()}})),c.addSetting(d=>void De(d,{name:n("settings.integrations.googleCalendarExport.allDayEvents.name"),desc:n("settings.integrations.googleCalendarExport.allDayEvents.description"),getValue:()=>e.settings.googleCalendarExport.createAsAllDay,setValue:async u=>{e.settings.googleCalendarExport.createAsAllDay=u,t()}})),c.addSetting(d=>void ds(d,{name:n("settings.integrations.googleCalendarExport.defaultDuration.name"),desc:n("settings.integrations.googleCalendarExport.defaultDuration.description"),getValue:()=>e.settings.googleCalendarExport.defaultEventDuration,setValue:async u=>{e.settings.googleCalendarExport.defaultEventDuration=u,t()},min:15,max:480})),c.addSetting(d=>void Sn(d,{name:n("settings.integrations.googleCalendarExport.eventTitleTemplate.name"),desc:n("settings.integrations.googleCalendarExport.eventTitleTemplate.description"),placeholder:n("settings.integrations.googleCalendarExport.eventTitleTemplate.placeholder"),getValue:()=>e.settings.googleCalendarExport.eventTitleTemplate,setValue:async u=>{e.settings.googleCalendarExport.eventTitleTemplate=u||"{{title}}",t()}})),c.addSetting(d=>void De(d,{name:n("settings.integrations.googleCalendarExport.includeDescription.name"),desc:n("settings.integrations.googleCalendarExport.includeDescription.description"),getValue:()=>e.settings.googleCalendarExport.includeDescription,setValue:async u=>{e.settings.googleCalendarExport.includeDescription=u,t()}})),c.addSetting(d=>void De(d,{name:n("settings.integrations.googleCalendarExport.includeObsidianLink.name"),desc:n("settings.integrations.googleCalendarExport.includeObsidianLink.description"),getValue:()=>e.settings.googleCalendarExport.includeObsidianLink,setValue:async u=>{e.settings.googleCalendarExport.includeObsidianLink=u,t()}})),c.addSetting(d=>void ds(d,{name:n("settings.integrations.googleCalendarExport.defaultReminder.name"),desc:n("settings.integrations.googleCalendarExport.defaultReminder.description"),getValue:()=>{var u;return(u=e.settings.googleCalendarExport.defaultReminderMinutes)!=null?u:0},setValue:async u=>{e.settings.googleCalendarExport.defaultReminderMinutes=u===0?null:u,t()},min:0,max:40320})),c.addSetting(d=>{d.setName(n("settings.integrations.googleCalendarExport.automaticSyncBehavior.header")),d.setHeading()}),c.addSetting(d=>void De(d,{name:n("settings.integrations.googleCalendarExport.syncOnCreate.name"),desc:n("settings.integrations.googleCalendarExport.syncOnCreate.description"),getValue:()=>e.settings.googleCalendarExport.syncOnTaskCreate,setValue:async u=>{e.settings.googleCalendarExport.syncOnTaskCreate=u,t()}})),c.addSetting(d=>void De(d,{name:n("settings.integrations.googleCalendarExport.syncOnUpdate.name"),desc:n("settings.integrations.googleCalendarExport.syncOnUpdate.description"),getValue:()=>e.settings.googleCalendarExport.syncOnTaskUpdate,setValue:async u=>{e.settings.googleCalendarExport.syncOnTaskUpdate=u,t()}})),c.addSetting(d=>void De(d,{name:n("settings.integrations.googleCalendarExport.syncOnComplete.name"),desc:n("settings.integrations.googleCalendarExport.syncOnComplete.description"),getValue:()=>e.settings.googleCalendarExport.syncOnTaskComplete,setValue:async u=>{e.settings.googleCalendarExport.syncOnTaskComplete=u,t()}})),c.addSetting(d=>void De(d,{name:n("settings.integrations.googleCalendarExport.syncOnDelete.name"),desc:n("settings.integrations.googleCalendarExport.syncOnDelete.description"),getValue:()=>e.settings.googleCalendarExport.syncOnTaskDelete,setValue:async u=>{e.settings.googleCalendarExport.syncOnTaskDelete=u,t()}})),c.addSetting(d=>{d.setName(n("settings.integrations.googleCalendarExport.manualSyncActions.header")),d.setHeading()}),c.addSetting(d=>void Gf(d,{name:n("settings.integrations.googleCalendarExport.syncAllTasks.name"),desc:n("settings.integrations.googleCalendarExport.syncAllTasks.description"),buttonText:n("settings.integrations.googleCalendarExport.syncAllTasks.buttonText"),onClick:async()=>{var p;if(!((p=e.taskCalendarSyncService)!=null&&p.isEnabled())){new Te.Notice(n("settings.integrations.googleCalendarExport.notices.notEnabledOrConfigured"));return}let u=await e.taskCalendarSyncService.syncAllTasks();new Te.Notice(n("settings.integrations.googleCalendarExport.notices.syncResults",{synced:u.synced,failed:u.failed,skipped:u.skipped}))}})),c.addSetting(d=>void Gf(d,{name:n("settings.integrations.googleCalendarExport.unlinkAllTasks.name"),desc:n("settings.integrations.googleCalendarExport.unlinkAllTasks.description"),buttonText:n("settings.integrations.googleCalendarExport.unlinkAllTasks.buttonText"),onClick:async()=>{if(!e.taskCalendarSyncService){new Te.Notice(n("settings.integrations.googleCalendarExport.notices.serviceNotAvailable"));return}await Li(e.app,{title:n("settings.integrations.googleCalendarExport.unlinkAllTasks.confirmTitle"),message:n("settings.integrations.googleCalendarExport.unlinkAllTasks.confirmMessage"),confirmText:n("settings.integrations.googleCalendarExport.unlinkAllTasks.confirmButtonText"),isDestructive:!0})&&await e.taskCalendarSyncService.unlinkAllTasks(!1)}}))}),kt(r,{heading:n("settings.integrations.calendarSubscriptions.header"),description:n("settings.integrations.calendarSubscriptions.description")},c=>{c.addSetting(d=>void Sn(d,{name:n("settings.integrations.calendarSubscriptions.defaultNoteTemplate.name"),desc:n("settings.integrations.calendarSubscriptions.defaultNoteTemplate.description"),placeholder:n("settings.integrations.calendarSubscriptions.defaultNoteTemplate.placeholder"),getValue:()=>e.settings.icsIntegration.defaultNoteTemplate,setValue:async u=>{e.settings.icsIntegration.defaultNoteTemplate=u,t()}})),c.addSetting(d=>void Sn(d,{name:n("settings.integrations.calendarSubscriptions.defaultNoteFolder.name"),desc:n("settings.integrations.calendarSubscriptions.defaultNoteFolder.description"),placeholder:n("settings.integrations.calendarSubscriptions.defaultNoteFolder.placeholder"),getValue:()=>e.settings.icsIntegration.defaultNoteFolder,setValue:async u=>{e.settings.icsIntegration.defaultNoteFolder=u,t()}})),c.addSetting(d=>void hn(d,{name:n("settings.integrations.calendarSubscriptions.filenameFormat.name"),desc:n("settings.integrations.calendarSubscriptions.filenameFormat.description"),options:[{value:"title",label:n("settings.integrations.calendarSubscriptions.filenameFormat.options.title")},{value:"zettel",label:n("settings.integrations.calendarSubscriptions.filenameFormat.options.zettel")},{value:"timestamp",label:n("settings.integrations.calendarSubscriptions.filenameFormat.options.timestamp")},{value:"custom",label:n("settings.integrations.calendarSubscriptions.filenameFormat.options.custom")}],getValue:()=>e.settings.icsIntegration.icsNoteFilenameFormat,setValue:async u=>{fwt(u)&&(e.settings.icsIntegration.icsNoteFilenameFormat=u,t(),Yh(r,e,t))}})),e.settings.icsIntegration.icsNoteFilenameFormat==="custom"&&c.addSetting(d=>void Sn(d,{name:n("settings.integrations.calendarSubscriptions.customTemplate.name"),desc:n("settings.integrations.calendarSubscriptions.customTemplate.description"),placeholder:n("settings.integrations.calendarSubscriptions.customTemplate.placeholder"),getValue:()=>e.settings.icsIntegration.customICSNoteFilenameTemplate,setValue:async u=>{e.settings.icsIntegration.customICSNoteFilenameTemplate=u,t()}})),c.addSetting(d=>void De(d,{name:n("settings.integrations.calendarSubscriptions.useICSEndAsDue.name"),desc:n("settings.integrations.calendarSubscriptions.useICSEndAsDue.description"),getValue:()=>{var u;return(u=e.settings.icsIntegration.useICSEndAsDue)!=null?u:!1},setValue:async u=>{e.settings.icsIntegration.useICSEndAsDue=u,t()}}))}),kt(r,{heading:n("settings.integrations.subscriptionsList.header")},c=>{c.addSetting(d=>void Gf(d,{name:n("settings.integrations.subscriptionsList.addSubscription.name"),desc:n("settings.integrations.subscriptionsList.addSubscription.description"),buttonText:n("settings.integrations.subscriptionsList.addSubscription.buttonText"),onClick:async()=>{let u={name:n("settings.integrations.subscriptionsList.newCalendarName"),url:"",color:"#6366f1",enabled:!1,type:"remote",refreshInterval:60};if(!e.icsSubscriptionService){new Te.Notice(n("settings.integrations.subscriptionsList.notices.serviceUnavailable"));return}try{await e.icsSubscriptionService.addSubscription(u),new Te.Notice(n("settings.integrations.subscriptionsList.notices.addSuccess")),jb(l,e,t)}catch(p){console.error("Error adding subscription:",p),new Te.Notice(n("settings.integrations.subscriptionsList.notices.addFailure"))}}})),c.addSetting(d=>void Gf(d,{name:n("settings.integrations.subscriptionsList.refreshAll.name"),desc:n("settings.integrations.subscriptionsList.refreshAll.description"),buttonText:n("settings.integrations.subscriptionsList.refreshAll.buttonText"),onClick:async()=>{if(e.icsSubscriptionService)try{await e.icsSubscriptionService.refreshAllSubscriptions(),new Te.Notice(n("settings.integrations.subscriptionsList.notices.refreshSuccess"))}catch(u){console.error("Error refreshing subscriptions:",u),new Te.Notice(n("settings.integrations.subscriptionsList.notices.refreshFailure"))}}}))});let l=r.createDiv("ics-subscriptions-container");if(jb(l,e,t),kt(r,{heading:n("settings.integrations.autoExport.header"),description:n("settings.integrations.autoExport.description")},c=>{c.addSetting(d=>void De(d,{name:n("settings.integrations.autoExport.enable.name"),desc:n("settings.integrations.autoExport.enable.description"),getValue:()=>e.settings.icsIntegration.enableAutoExport,setValue:async u=>{e.settings.icsIntegration.enableAutoExport=u,t(),new Te.Notice(n("settings.integrations.autoExport.notices.reloadRequired")),Yh(r,e,t)}})),e.settings.icsIntegration.enableAutoExport&&(c.addSetting(d=>void Sn(d,{name:n("settings.integrations.autoExport.filePath.name"),desc:n("settings.integrations.autoExport.filePath.description"),placeholder:n("settings.integrations.autoExport.filePath.placeholder"),getValue:()=>e.settings.icsIntegration.autoExportPath,setValue:async u=>{e.settings.icsIntegration.autoExportPath=u||"tasknotes-calendar.ics",t()}})),c.addSetting(d=>void ds(d,{name:n("settings.integrations.autoExport.interval.name"),desc:n("settings.integrations.autoExport.interval.description"),placeholder:n("settings.integrations.autoExport.interval.placeholder"),min:5,max:1440,getValue:()=>e.settings.icsIntegration.autoExportInterval,setValue:async u=>{e.settings.icsIntegration.autoExportInterval=Math.max(5,u||60),t(),e.autoExportService&&e.autoExportService.updateInterval(e.settings.icsIntegration.autoExportInterval)}})),c.addSetting(d=>void De(d,{name:n("settings.integrations.autoExport.useDuration.name"),desc:n("settings.integrations.autoExport.useDuration.description"),getValue:()=>{var u;return(u=e.settings.icsIntegration.useDurationForExport)!=null?u:!1},setValue:async u=>{e.settings.icsIntegration.useDurationForExport=u,t()}})),c.addSetting(d=>void Gf(d,{name:n("settings.integrations.autoExport.exportNow.name"),desc:n("settings.integrations.autoExport.exportNow.description"),buttonText:n("settings.integrations.autoExport.exportNow.buttonText"),onClick:async()=>{if(e.autoExportService)try{await e.autoExportService.exportNow(),new Te.Notice(n("settings.integrations.autoExport.notices.exportSuccess")),Yh(r,e,t)}catch(u){console.error("Manual export failed:",u),new Te.Notice(n("settings.integrations.autoExport.notices.exportFailure"))}else new Te.Notice(n("settings.integrations.autoExport.notices.serviceUnavailable"))}})),c.addSetting(d=>{d.setName(n("settings.integrations.autoExport.status.title"));let u=d.descEl;if(e.autoExportService){let p=e.autoExportService.getLastExportTime(),m=e.autoExportService.getNextExportTime(),f=p?n("settings.integrations.autoExport.status.lastExport",{time:p.toLocaleString()}):n("settings.integrations.autoExport.status.noExports"),h=m?n("settings.integrations.autoExport.status.nextExport",{time:m.toLocaleString()}):n("settings.integrations.autoExport.status.notScheduled");u.textContent=f+`
`+h}else u.textContent=n("settings.integrations.autoExport.status.serviceNotInitialized"),u.addClass("tasknotes-auto-export-status__error")}))}),!Te.Platform.isMobile){if(kt(r,{heading:n("settings.integrations.httpApi.header"),description:n("settings.integrations.httpApi.description")},c=>{c.addSetting(d=>void De(d,{name:n("settings.integrations.httpApi.enable.name"),desc:n("settings.integrations.httpApi.enable.description"),getValue:()=>e.settings.enableAPI,setValue:async u=>{e.settings.enableAPI=u,t(),Yh(r,e,t)}})),e.settings.enableAPI&&(c.addSetting(d=>void ds(d,{name:n("settings.integrations.httpApi.port.name"),desc:n("settings.integrations.httpApi.port.description"),placeholder:n("settings.integrations.httpApi.port.placeholder"),min:1024,max:65535,getValue:()=>e.settings.apiPort,setValue:async u=>{e.settings.apiPort=u,t()}})),c.addSetting(d=>void Sn(d,{name:n("settings.integrations.httpApi.authToken.name"),desc:n("settings.integrations.httpApi.authToken.description"),placeholder:n("settings.integrations.httpApi.authToken.placeholder"),getValue:()=>e.settings.apiAuthToken,setValue:async u=>{e.settings.apiAuthToken=u,t()}})),c.addSetting(d=>void De(d,{name:n("settings.integrations.httpApi.mcp.enable.name"),desc:n("settings.integrations.httpApi.mcp.enable.description"),getValue:()=>e.settings.enableMCP,setValue:async u=>{e.settings.enableMCP=u,t()}})))}),e.settings.enableAPI){let c=r.createDiv("tasknotes-settings__help-section"),d=c.createDiv("tasknotes-settings__collapsible-header"),u=d.createDiv("tasknotes-settings__collapsible-header-content"),p=u.createSpan("tasknotes-settings__collapsible-icon");p.textContent=n("settings.integrations.httpApi.endpoints.expandIcon"),u.createSpan({text:n("settings.integrations.httpApi.endpoints.header"),cls:"tasknotes-settings__collapsible-title"});let m=c.createDiv("tasknotes-settings__collapsible-content");m.classList.remove("tn-static-display-block-2a1b75c9","tn-static-display-flex-4d51fc62","tn-static-display-flex-75816cae","tn-static-display-flex-8bb39979","tn-static-display-inline-block-60e32dcb","tn-static-display-inline-cccfa456","tn-static-display-inline-flex-f984c520","tn-static-min-height-800px-997b4c8c"),m.classList.add("tn-static-display-none-6b99de8b"),d.addEventListener("click",()=>{let f=m.style.display!=="none";m.style.display=f?"none":"block",p.textContent=n(f?"settings.integrations.httpApi.endpoints.expandIcon":"settings.integrations.httpApi.endpoints.collapseIcon")}),lLe(m,e.settings.apiPort)}kt(r,{heading:n("settings.integrations.webhooks.header"),description:n("settings.integrations.webhooks.description.overview")+" "+n("settings.integrations.webhooks.description.usage")},c=>{c.addSetting(d=>void Gf(d,{name:n("settings.integrations.webhooks.addWebhook.name"),desc:n("settings.integrations.webhooks.addWebhook.description"),buttonText:n("settings.integrations.webhooks.addWebhook.buttonText"),onClick:async()=>{new fZ(e.app,p=>{var f;let m={id:`wh_${Date.now()}_${Math.random().toString(36).substring(2,9)}`,url:p.url||"",events:p.events||[],secret:hwt(),active:!0,createdAt:new Date().toISOString(),failureCount:0,successCount:0,transformFile:p.transformFile,corsHeaders:p.corsHeaders};e.settings.webhooks||(e.settings.webhooks=[]),e.settings.webhooks.push(m),t(),AO(((f=r.querySelector(".tasknotes-webhooks-container"))==null?void 0:f.parentElement)||r,e,t),new pZ(e.app,m.secret).open(),new Te.Notice(n("settings.integrations.webhooks.notices.created"))}).open()}}))}),AO(r,e,t)}}function jb(r,e,t){r.empty();let n=(s,a)=>e.i18n.translate(s,a);if(!e.icsSubscriptionService){pc(r,n("settings.integrations.subscriptionsList.notices.serviceUnavailable"));return}let i=e.icsSubscriptionService.getSubscriptions();if(i.length===0){let s=r.createDiv("tasknotes-webhooks-empty-state");s.createSpan("tasknotes-webhooks-empty-icon"),s.createSpan({text:n("settings.integrations.subscriptionsList.emptyState"),cls:"tasknotes-webhooks-empty-text"});return}i.forEach(s=>{let a=Gn(s.enabled,S=>{s.enabled=S,t()}),o=Ue("text","Calendar name",s.name),l=activeDocument.createElement("select");l.className="tasknotes-settings__card-input";let c=activeDocument.createElement("option");c.value="remote",c.textContent="Remote URL",c.selected=s.type==="remote",l.appendChild(c);let d=activeDocument.createElement("option");d.value="local",d.textContent="Local file",d.selected=s.type==="local",l.appendChild(d);let u;if(s.type==="remote")u=kO("ICS/iCal URL",s.url);else{let S=Ue("text","Local file path (e.g., Calendar.ics)",s.filePath||"");S.setAttribute("placeholder","Calendar.ics"),u=S}let p=Ue("color","",s.color),m=um(5,1440,5,s.refreshInterval||60),f=async S=>{try{let E=e.icsSubscriptionService;if(!E)return;await E.updateSubscription(s.id,S),t(),jb(r,e,t)}catch(E){console.error("Error updating subscription:",E),new Te.Notice(n("settings.integrations.subscriptionsList.notices.updateFailure")),jb(r,e,t)}};o.addEventListener("blur",()=>{f({name:o.value.trim()})}),p.addEventListener("change",()=>{f({color:p.value})}),m.addEventListener("blur",()=>{let S=parseInt(m.value)||60;f({refreshInterval:S})}),l.addEventListener("change",()=>{ii(async()=>{let S=l.value;s.type=S,S==="remote"?(s.url=s.filePath||"",s.filePath=void 0):(s.filePath=s.url||"",s.url=void 0),t();let E=l.closest(".tasknotes-settings__card");if(E){let C=E.querySelector(".tasknotes-settings__card-config-row:nth-child(4)");if(C){let D=C.querySelector("input");D&&D.remove();let A;if(S==="remote")A=kO("ICS/iCal URL",s.url);else{let I=Ue("text","Local file path (e.g., Calendar.ics)",s.filePath||"");I.setAttribute("placeholder","Calendar.ics"),A=I}A.addEventListener("blur",()=>{let I=A.value.trim();if(s.type==="remote"){let O=QK(I);f({url:O})}else f({filePath:I})}),C.appendChild(A);let N=C.querySelector(".tasknotes-settings__card-config-label");N&&(N.textContent=S==="remote"?"URL:":"File Path:");let V=E.querySelector(".tasknotes-settings__card-secondary-text");V&&(V.textContent=S==="remote"?"Remote Calendar":"Local File");let R=E.querySelector(".tasknotes-settings__card-meta .info-badge");R&&(R.textContent=S==="remote"?"Remote":"Local File")}}})}),u.addEventListener("blur",()=>{let S=u.value.trim();if(s.type==="remote"){let E=QK(S);f({url:E})}else f({filePath:S})});let h=ks(s.enabled?"Enabled":"Disabled",s.enabled?"active":"inactive"),g=Lb(s.type==="remote"?"Remote":"Local File"),y=[h,g],k=e.icsSubscriptionService.getLastFetched(s.id);if(k){let S=new Date(k),E=$b(S,n),C=Lb(`Synced ${E}`);y.push(C)}let T=e.icsSubscriptionService.getLastError(s.id);if(T){let S=ks("Error","inactive");S.title=T,y.push(S)}let w=[{label:"Enabled:",input:a},{label:"Name:",input:o},{label:"Type:",input:l},{label:s.type==="remote"?"URL:":"File Path:",input:u},{label:"Color:",input:p},{label:"Refresh (min):",input:m}];ur(r,{id:s.id,collapsible:!0,defaultCollapsed:!0,colorIndicator:{color:s.color},header:{primaryText:s.name,secondaryText:s.type==="remote"?"Remote Calendar":"Local File",meta:y,actions:[Tl(async()=>{if(await Li(e.app,{title:n("settings.integrations.subscriptionsList.confirmDelete.title"),message:n("settings.integrations.subscriptionsList.confirmDelete.message",{name:s.name}),confirmText:n("settings.integrations.subscriptionsList.confirmDelete.confirmText"),cancelText:n("common.cancel"),isDestructive:!0}))try{let E=e.icsSubscriptionService;if(!E)return;await E.removeSubscription(s.id),new Te.Notice(n("settings.integrations.subscriptionsList.notices.deleteSuccess",{name:s.name})),t(),jb(r,e,t)}catch(E){console.error("Error deleting subscription:",E),new Te.Notice(n("settings.integrations.subscriptionsList.notices.deleteFailure"))}},"Delete subscription")]},content:{sections:[{rows:w}]},actions:{buttons:[{text:n("settings.integrations.subscriptionsList.refreshNow"),icon:"refresh-cw",variant:s.enabled?"primary":"secondary",disabled:!s.enabled,onClick:async()=>{if(!s.enabled){new Te.Notice(n("settings.integrations.subscriptionsList.notices.enableFirst"));return}try{let S=e.icsSubscriptionService;if(!S)return;await S.refreshSubscription(s.id),new Te.Notice(n("settings.integrations.subscriptionsList.notices.refreshSuccess",{name:s.name})),jb(r,e,t)}catch(S){console.error("Error refreshing subscription:",S),new Te.Notice(n("settings.integrations.subscriptionsList.notices.refreshFailure"))}}}]}})})}function AO(r,e,t){let n=(a,o)=>e.i18n.translate(a,o),i=r.querySelector(".tasknotes-webhooks-container");i&&i.remove();let s=r.createDiv("tasknotes-webhooks-container");if(!e.settings.webhooks||e.settings.webhooks.length===0){jc(s,n("settings.integrations.webhooks.emptyState.message"),n("settings.integrations.webhooks.emptyState.buttonText"),()=>{var o;let a=(o=r.closest(".settings-tab-content"))==null?void 0:o.querySelector("button.tn-btn--primary");a&&a.click()});return}e.settings.webhooks.forEach((a,o)=>{let l=ks(a.active?"Active":"Inactive",a.active?"active":"inactive"),c=Lb(`Success: ${a.successCount||0}`),d=Lb(`Failed: ${a.failureCount||0}`),u=kO("Webhook URL",a.url),p=Gn(a.active,y=>{a.active=y,t();let k=p.closest(".tasknotes-settings__card");if(k){let T=k.querySelector(".tasknotes-settings__card-status-badge--active, .tasknotes-settings__card-status-badge--inactive");T&&(T.textContent=a.active?"Active":"Inactive",T.className=a.active?"tasknotes-settings__card-status-badge tasknotes-settings__card-status-badge--active":"tasknotes-settings__card-status-badge tasknotes-settings__card-status-badge--inactive");let w=k.querySelector('[aria-label*="Test"]');w&&(w.disabled=!a.active||!a.url)}new Te.Notice(a.active?n("settings.integrations.webhooks.notices.enabled"):n("settings.integrations.webhooks.notices.disabled"))});u.addEventListener("blur",()=>{u.value.trim()!==a.url&&(a.url=u.value.trim(),t(),new Te.Notice(n("settings.integrations.webhooks.notices.urlUpdated")))});let m=a.createdAt?new Date(a.createdAt):null,f=m?n("settings.integrations.webhooks.statusLabels.created",{timeAgo:$b(m,n)}):"Creation date unknown",h=activeDocument.createElement("div");if(h.className="tasknotes-webhook-events",a.events.length===0){let y=activeDocument.createElement("span");y.className="tasknotes-webhook-events--empty",y.textContent=n("settings.integrations.webhooks.eventsDisplay.noEvents"),h.appendChild(y)}else a.events.forEach(y=>{h.appendChild(Lb(y))});let g=activeDocument.createElement("span");a.transformFile?(g.className="tasknotes-transform-file",g.textContent=a.transformFile):(g.className="tasknotes-transform-file--empty",g.textContent=n("settings.integrations.webhooks.transformDisplay.noTransform")),ur(s,{id:a.id,collapsible:!0,defaultCollapsed:!0,header:{primaryText:n("settings.integrations.webhooks.cardHeader"),secondaryText:f,meta:[l,c,d],actions:[Tl(async()=>{await Li(e.app,{title:n("settings.integrations.webhooks.confirmDelete.title"),message:n("settings.integrations.webhooks.confirmDelete.message",{url:a.url}),confirmText:n("settings.integrations.webhooks.confirmDelete.confirmText"),cancelText:n("common.cancel"),isDestructive:!0})&&(e.settings.webhooks.splice(o,1),t(),AO(r,e,t),new Te.Notice(n("settings.integrations.webhooks.notices.deleted")))})]},content:{sections:[{rows:[{label:n("settings.integrations.webhooks.cardFields.active"),input:p},{label:n("settings.integrations.webhooks.cardFields.url"),input:u},{label:n("settings.integrations.webhooks.cardFields.events"),input:h},{label:n("settings.integrations.webhooks.cardFields.transform"),input:g}]}]},actions:{buttons:[{text:n("settings.integrations.webhooks.editEvents"),icon:"settings",variant:"secondary",onClick:async()=>{new mZ(e.app,a,k=>{Object.assign(a,k),t(),AO(r,e,t),new Te.Notice(n("settings.integrations.webhooks.notices.updated"))}).open()}}]}})})}function hwt(){return Array.from(crypto.getRandomValues(new Uint8Array(32))).map(r=>r.toString(16).padStart(2,"0")).join("")}var pZ=class extends Te.Modal{constructor(e,t){super(e),this.secret=t}onOpen(){let{contentEl:e}=this;e.empty(),e.addClass("tasknotes-webhook-modal");let t=e.createDiv({cls:"tasknotes-webhook-secret-notice"}),n=t.createDiv({cls:"tasknotes-webhook-secret-title"}),i=n.createSpan();(0,Te.setIcon)(i,"shield-check"),n.createSpan({text:"Webhook Secret Generated"});let s=t.createDiv({cls:"tasknotes-webhook-secret-content"});s.createEl("p",{text:"Your webhook secret has been generated. Save this secret as you won't be able to view it again:"}),s.createEl("code",{text:this.secret,cls:"tasknotes-webhook-secret-code"}),s.createEl("p",{text:"Use this secret to verify webhook payloads in your receiving application."});let o=e.createDiv({cls:"tasknotes-webhook-modal-buttons"}).createEl("button",{text:"Got it",cls:"tasknotes-webhook-modal-btn save"});o.onclick=()=>this.close()}onClose(){let{contentEl:e}=this;e.empty()}},mZ=class extends Te.Modal{constructor(e,t,n){var i;super(e),this.selectedEvents=[...t.events],this.transformFile=t.transformFile||"",this.corsHeaders=(i=t.corsHeaders)!=null?i:!0,this.onSubmit=n}onOpen(){let{contentEl:e}=this;e.empty(),e.addClass("tasknotes-webhook-modal");let t=e.createDiv({cls:"tasknotes-webhook-modal-header"}),n=t.createSpan({cls:"tasknotes-webhook-modal-icon"});(0,Te.setIcon)(n,"webhook"),t.createEl("h2",{text:"Edit webhook",cls:"tasknotes-webhook-modal-title"});let i=e.createDiv({cls:"tasknotes-webhook-modal-section"}),s=i.createDiv({cls:"tasknotes-webhook-modal-subsection-header"}),a=s.createSpan();(0,Te.setIcon)(a,"zap"),s.createEl("h3",{text:"Events to subscribe to"});let o=i.createDiv({cls:"tasknotes-webhook-events-list"});dLe.forEach(T=>{new Te.Setting(o).setName(T.label).setDesc(T.desc).addToggle(w=>(w.toggleEl.setAttribute("aria-label",`Subscribe to ${T.label} events`),w.setValue(this.selectedEvents.includes(T.id)).onChange(S=>{if(S)this.selectedEvents.push(T.id);else{let E=this.selectedEvents.indexOf(T.id);E>-1&&this.selectedEvents.splice(E,1)}})))});let l=e.createDiv({cls:"tasknotes-webhook-modal-section"}),c=l.createDiv({cls:"tasknotes-webhook-modal-subsection-header"}),d=c.createSpan();(0,Te.setIcon)(d,"file-code"),c.createEl("h3",{text:"Transform configuration (optional)"}),new Te.Setting(l).setName("Transform file").setDesc("Path to a .json template file in your vault that transforms webhook payloads").addText(T=>(T.inputEl.setAttribute("aria-label","Transform file path"),T.setPlaceholder("simple-template.json").setValue(this.transformFile).onChange(w=>{this.transformFile=w})));let u=e.createDiv({cls:"tasknotes-webhook-modal-section"}),p=u.createDiv({cls:"tasknotes-webhook-modal-subsection-header"}),m=p.createSpan();(0,Te.setIcon)(m,"settings"),p.createEl("h3",{text:"Headers configuration"}),new Te.Setting(u).setName("Include custom headers").setDesc("Include tasknotes headers (event type, signature, delivery ID). Turn off for Discord, Slack, and other services with strict cors policies.").addToggle(T=>(T.toggleEl.setAttribute("aria-label","Include custom headers"),T.setValue(this.corsHeaders).onChange(w=>{this.corsHeaders=w})));let f=e.createDiv({cls:"tasknotes-webhook-modal-buttons"}),h=f.createEl("button",{text:"Cancel",cls:"tasknotes-webhook-modal-btn cancel",attr:{"aria-label":"Cancel webhook editing"}}),g=h.createSpan({cls:"tasknotes-webhook-modal-btn-icon"});(0,Te.setIcon)(g,"x"),h.onclick=()=>this.close();let y=f.createEl("button",{text:"Save changes",cls:"tasknotes-webhook-modal-btn save mod-cta",attr:{"aria-label":"Save webhook changes"}}),k=y.createSpan({cls:"tasknotes-webhook-modal-btn-icon"});(0,Te.setIcon)(k,"save"),y.onclick=()=>{if(this.selectedEvents.length===0){new Te.Notice("Please select at least one event");return}ii(()=>this.onSubmit({events:this.selectedEvents,transformFile:this.transformFile.trim()||void 0,corsHeaders:this.corsHeaders})),this.close()}}onClose(){let{contentEl:e}=this;e.empty()}},fZ=class extends Te.Modal{constructor(t,n){super(t);this.url="";this.selectedEvents=[];this.transformFile="";this.corsHeaders=!0;this.onSubmit=n}onOpen(){let{contentEl:t}=this;t.empty(),t.addClass("tasknotes-webhook-modal");let n=t.createDiv({cls:"tasknotes-webhook-modal-header"}),i=n.createSpan({cls:"tasknotes-webhook-modal-icon"});(0,Te.setIcon)(i,"webhook"),n.createEl("h2",{text:"Add webhook",cls:"tasknotes-webhook-modal-title"});let s=t.createDiv({cls:"tasknotes-webhook-modal-section"});new Te.Setting(s).setName("Webhook URL").setDesc("The endpoint where webhook payloads will be sent").addText(R=>(R.inputEl.setAttribute("aria-label","Webhook URL"),R.setPlaceholder("HTTPS://your-service.com/webhook").setValue(this.url).onChange(I=>{this.url=I})));let a=t.createDiv({cls:"tasknotes-webhook-modal-section"}),o=a.createDiv({cls:"tasknotes-webhook-modal-subsection-header"}),l=o.createSpan();(0,Te.setIcon)(l,"zap"),o.createEl("h3",{text:"Events to subscribe to"});let c=a.createDiv({cls:"tasknotes-webhook-events-list"});dLe.forEach(R=>{new Te.Setting(c).setName(R.label).setDesc(R.desc).addToggle(I=>(I.toggleEl.setAttribute("aria-label",`Subscribe to ${R.label} events`),I.setValue(this.selectedEvents.includes(R.id)).onChange(O=>{if(O)this.selectedEvents.push(R.id);else{let z=this.selectedEvents.indexOf(R.id);z>-1&&this.selectedEvents.splice(z,1)}})))});let d=t.createDiv({cls:"tasknotes-webhook-modal-section"}),u=d.createDiv({cls:"tasknotes-webhook-modal-subsection-header"}),p=u.createSpan();(0,Te.setIcon)(p,"file-code"),u.createEl("h3",{text:"Transform configuration (optional)"}),new Te.Setting(d).setName("Transform file").setDesc("Path to a .json template file in your vault that transforms webhook payloads").addText(R=>(R.inputEl.setAttribute("aria-label","Transform file path"),R.setPlaceholder("simple-template.json").setValue(this.transformFile).onChange(I=>{this.transformFile=I})));let m=d.createDiv({cls:"tasknotes-webhook-transform-help"}),f=m.createDiv({cls:"tasknotes-webhook-help-header"}),h=f.createSpan();(0,Te.setIcon)(h,"info"),f.createSpan({text:"JSON transform templates customize webhook payloads:"});let g=m.createEl("ul",{cls:"tasknotes-webhook-help-list"}),y=g.createEl("li");y.createEl("strong",{text:".json files:"}),y.appendText(" Templates with "),y.createEl("code",{text:"${data.task.title}"});let k=g.createEl("li");k.createEl("strong",{text:"Leave empty:"}),k.appendText(" Send raw data");let T=m.createDiv({cls:"tasknotes-webhook-help-example"});T.createEl("strong",{text:"Example:"}),T.appendText(" "),T.createEl("code",{text:"simple-template.json"});let w=t.createDiv({cls:"tasknotes-webhook-modal-section"}),S=w.createDiv({cls:"tasknotes-webhook-modal-subsection-header"}),E=S.createSpan();(0,Te.setIcon)(E,"settings"),S.createEl("h3",{text:"Headers configuration"}),new Te.Setting(w).setName("Include custom headers").setDesc("Include tasknotes headers (event type, signature, delivery ID). Turn off for Discord, Slack, and other services with strict cors policies.").addToggle(R=>(R.toggleEl.setAttribute("aria-label","Include custom headers"),R.setValue(this.corsHeaders).onChange(I=>{this.corsHeaders=I})));let C=t.createDiv({cls:"tasknotes-webhook-modal-buttons"}),D=C.createEl("button",{text:"Cancel",cls:"tasknotes-webhook-modal-btn cancel",attr:{"aria-label":"Cancel webhook creation"}}),A=D.createSpan({cls:"tasknotes-webhook-modal-btn-icon"});(0,Te.setIcon)(A,"x"),D.onclick=()=>this.close();let N=C.createEl("button",{text:"Add webhook",cls:"tasknotes-webhook-modal-btn save mod-cta",attr:{"aria-label":"Create webhook"}}),V=N.createSpan({cls:"tasknotes-webhook-modal-btn-icon"});(0,Te.setIcon)(V,"plus"),N.onclick=()=>{if(!this.url.trim()){new Te.Notice("Webhook URL is required");return}if(this.selectedEvents.length===0){new Te.Notice("Please select at least one event");return}ii(()=>this.onSubmit({url:this.url.trim(),events:this.selectedEvents,transformFile:this.transformFile.trim()||void 0,corsHeaders:this.corsHeaders})),this.close()}}onClose(){let{contentEl:t}=this;t.empty()}};var IO=class extends Gh.PluginSettingTab{constructor(t,n){super(t,n);this.activeTab="general";this.tabContents={};this.debouncedSave=wv(()=>this.plugin.saveSettings(),500);this.plugin=n,(0,Gh.requireApiVersion)("1.11.0")&&(this.icon="tasknotes-simple"),this.plugin.registerEvent(this.plugin.i18n.on("locale-changed",()=>{this.containerEl.isConnected&&this.display()}))}display(){let{containerEl:t}=this;t.empty(),t.addClass("tasknotes-settings"),t.addClass("tasknotes-plugin"),t.addClass("settings-view");let n=d=>this.plugin.i18n.translate(d),i=t.createDiv("settings-tab-nav settings-view__tab-nav"),s=[{id:"general",nameKey:"settings.tabs.general",renderFn:Rb},{id:"task-properties",nameKey:"settings.tabs.taskProperties",renderFn:lZ},{id:"modal-fields",nameKey:"settings.tabs.modalFields",renderFn:Z0},{id:"appearance",nameKey:"settings.tabs.appearance",renderFn:Wh},{id:"features",nameKey:"settings.tabs.features",renderFn:Io},{id:"integrations",nameKey:"settings.tabs.integrations",renderFn:Yh}],a=Gh.Platform.isMobile?s.filter(d=>d.id!=="integrations"||this.hasNonAPIIntegrations()):s;Gh.Platform.isMobile&&this.activeTab==="integrations"&&!this.hasNonAPIIntegrations()&&(this.activeTab="general"),a.forEach(d=>{let u=this.activeTab===d.id,p=n(d.nameKey),m=i.createEl("button",{text:p,cls:u?"settings-tab-button settings-view__tab-button active settings-view__tab-button--active is-active vertical-tab-nav-item":"settings-tab-button settings-view__tab-button vertical-tab-nav-item",attr:{role:"tab","aria-selected":u.toString(),"aria-controls":`settings-tab-${d.id}`,id:`tab-button-${d.id}`,tabindex:u?"0":"-1"}});m.addEventListener("click",()=>{this.switchTab(d.id)}),m.addEventListener("keydown",f=>{if(f.key==="ArrowLeft"||f.key==="ArrowRight"){f.preventDefault();let h=a.findIndex(k=>k.id===d.id),g=f.key==="ArrowRight"?(h+1)%a.length:(h-1+a.length)%a.length,y=a[g].id;this.switchTab(y)}})}),t.createDiv("settings-header").createEl("a",{text:n("settings.header.documentation"),href:n("settings.header.documentationUrl"),cls:"settings-header-link"}).setAttr("target","_blank");let c=t.createDiv("settings-tab-contents settings-view__tab-contents");a.forEach(d=>{let u=c.createDiv("settings-tab-content settings-view__tab-content");u.setAttribute("role","tabpanel"),u.setAttribute("id",`settings-tab-${d.id}`),u.setAttribute("aria-labelledby",`tab-button-${d.id}`),this.activeTab===d.id&&(u.addClass("active"),u.addClass("settings-view__tab-content--active"),d.renderFn(u,this.plugin,this.debouncedSave)),this.tabContents[d.id]=u})}switchTab(t){this.activeTab=t,this.containerEl.querySelectorAll(".settings-tab-button").forEach(i=>{let s=i.id===`tab-button-${t}`;i.classList.toggle("active",s),i.classList.toggle("settings-view__tab-button--active",s),i.classList.toggle("is-active",s),i.setAttribute("aria-selected",s.toString()),i.setAttribute("tabindex",s?"0":"-1")}),this.containerEl.querySelectorAll(".settings-tab-content").forEach(i=>{let s=i.id===`settings-tab-${t}`;i.classList.toggle("active",s),i.classList.toggle("settings-view__tab-content--active",s)});let n=this.tabContents[t];if(n&&n.children.length===0){let i=this.getTabConfigurations().find(s=>s.id===t);i&&i.renderFn(n,this.plugin,this.debouncedSave)}window.setTimeout(()=>{let i=this.containerEl.querySelector(`#tab-button-${t}`);i&&i.focus()},50)}getTabConfigurations(){return[{id:"general",nameKey:"settings.tabs.general",renderFn:Rb},{id:"task-properties",nameKey:"settings.tabs.taskProperties",renderFn:lZ},{id:"modal-fields",nameKey:"settings.tabs.modalFields",renderFn:Z0},{id:"appearance",nameKey:"settings.tabs.appearance",renderFn:Wh},{id:"features",nameKey:"settings.tabs.features",renderFn:Io},{id:"integrations",nameKey:"settings.tabs.integrations",renderFn:Yh}]}hasNonAPIIntegrations(){return!0}hide(){this.debouncedSave.flush()}};var zb=require("obsidian"),pm=class pm{constructor(){this.metrics=new Map;this.markers=new Map;this.enabled=!0;this.mutationObservers=new Set;this.performanceObservers=new Set}static getInstance(){return pm.instance||(pm.instance=new pm),pm.instance}startTimer(e){this.enabled&&this.markers.set(e,performance.now())}endTimer(e){if(!this.enabled)return 0;let t=this.markers.get(e);if(t===void 0)return e.includes("-measure-")||console.warn(`No start marker found for operation: ${e}`),0;let n=performance.now()-t;return this.recordMetric(e,n),this.markers.delete(e),n}async measure(e,t){if(!this.enabled)return t();let n=performance.now();try{return await t()}finally{let i=performance.now()-n;this.recordMetric(e,i)}}measureSync(e,t){if(!this.enabled)return t();let n=performance.now();try{return t()}finally{let i=performance.now()-n;this.recordMetric(e,i)}}recordMetric(e,t){if(!this.enabled)return;this.metrics.has(e)||this.metrics.set(e,[]);let n=this.metrics.get(e);n.push(t),n.length>50&&n.splice(0,n.length-50)}getStats(e){let t=this.metrics.get(e);if(!t||t.length===0)return null;let n=[...t].sort((a,o)=>a-o),i=n.length,s=n.reduce((a,o)=>a+o,0);return{count:i,average:s/i,min:n[0],max:n[i-1],median:n[Math.floor(i/2)],p95:n[Math.floor(i*.95)]}}getAllStats(){let e={};for(let[t]of this.metrics)e[t]=this.getStats(t);return e}logSummary(){this.enabled&&this.getAllStats()}monitorDOMMutations(e){if(!this.enabled)return()=>{};let t=0,n=performance.now(),i=new MutationObserver(s=>{t+=s.length;let a=performance.now()-n;t>100&&a<1e3&&console.warn(`High DOM mutation rate: ${t} mutations in ${a.toFixed(2)}ms`)});return i.observe(e,{childList:!0,subtree:!0,attributes:!0}),this.mutationObservers.add(i),()=>{i.disconnect(),this.mutationObservers.delete(i),this.recordMetric("dom-mutations",t)}}recordMemoryUsage(e){if(!this.enabled||!("memory"in performance))return;let t=performance.memory;if(!t)return;let n={used:t.usedJSHeapSize/1024/1024,total:t.totalJSHeapSize/1024/1024,limit:t.jsHeapSizeLimit/1024/1024},i=e?`memory-${e}`:"memory-usage";this.recordMetric(i,n.used),n.used>100&&console.warn(`High memory usage: ${n.used.toFixed(2)}MB`)}trackLongTasks(){if(!this.enabled||!("PerformanceObserver"in window))return()=>{};let e=new PerformanceObserver(t=>{for(let n of t.getEntries())n.duration>50&&(console.warn(`Long task detected: ${n.duration.toFixed(2)}ms`),this.recordMetric("long-task",n.duration))});try{e.observe({entryTypes:["longtask"]}),this.performanceObservers.add(e)}catch(t){console.warn("Long task monitoring not supported")}return()=>{e.disconnect(),this.performanceObservers.delete(e)}}mark(e){if(this.enabled)try{performance.mark(`tasknotes-${e}`)}catch(t){}}measureBetweenMarks(e,t,n){if(this.enabled)try{performance.measure(`tasknotes-${n}`,`tasknotes-${e}`,`tasknotes-${t}`)}catch(i){}}clear(){this.metrics.clear(),this.markers.clear()}destroy(){for(let e of this.mutationObservers)e.disconnect();this.mutationObservers.clear();for(let e of this.performanceObservers)e.disconnect();this.performanceObservers.clear(),this.clear(),pm.instance=null}setEnabled(e){this.enabled=e,e||this.clear()}exportData(){let e={timestamp:new Date().toISOString(),stats:this.getAllStats(),platform:{isDesktop:zb.Platform.isDesktop,isMobile:zb.Platform.isMobile,isWin:zb.Platform.isWin,isMacOS:zb.Platform.isMacOS,isLinux:zb.Platform.isLinux},memoryInfo:"memory"in performance?performance.memory:null};return JSON.stringify(e,null,2)}};pm.instance=null;var hZ=pm;var J0=hZ.getInstance();var SLe=require("obsidian");function xi(r){return JSON.stringify(r,null,2)}function uLe(r){return{title:r.title,path:r.path,status:r.status,priority:r.priority}}Ru();Qe();Cr();eP();function gZ(r){if(!r)return;let e=r.split(",").map(t=>t.trim()).filter(t=>t.length>0);return e.length>0?e:void 0}function gwt(r){if(!r)return;let e=Number(r);if(!Number.isFinite(e)||e<0)throw new Error("--estimate must be a non-negative number of minutes");return e}function pLe(r){return`rem_${Date.now()}_${r}_${Math.random().toString(36).slice(2,11)}`}function ywt(r){return/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}$/.test(r)?`${r}:00`:r}function vwt(r,e){let t=r.trim();if(t.startsWith("at:")){let a=ywt(t.slice(3).trim());if(!a)throw new Error("Absolute reminders must use at:YYYY-MM-DDTHH:MM or full ISO datetime");return{id:pLe(e),type:"absolute",description:"Reminder",absoluteTime:a}}let n=t.indexOf(":");if(n===-1)throw new Error("Reminder shorthand must use due:<offset>, scheduled:<offset>, or at:<datetime>");let i=t.slice(0,n).trim(),s=t.slice(n+1).trim();if(i!=="due"&&i!=="scheduled"||!s)throw new Error("Relative reminders must use due:<offset> or scheduled:<offset> with ISO 8601 durations like -PT1H");return{id:pLe(e),type:"relative",description:"Reminder",relatedTo:i,offset:s}}function bwt(r){if(!r)return;let e=r.trim();if(!e)return;if(e.startsWith("[")){let n=JSON.parse(e);if(!Array.isArray(n))throw new Error("--reminders JSON must be an array");return n}let t=e.split(";").map(n=>n.trim()).filter(n=>n.length>0).map((n,i)=>vwt(n,i));return t.length>0?t:void 0}function Twt(r){if(r){if(r!=="scheduled"&&r!=="completion")throw new Error("--recurrence-anchor must be either 'scheduled' or 'completion'");return r}}function mLe(r,e){var m,f;let t=(m=e.text)==null?void 0:m.trim(),n=(f=e.title)==null?void 0:f.trim(),i=e.literal==="true",s,a=!1;if(t&&!i){let h=Oi.fromPlugin(r).parseInput(t);s=sy(r,h,{creationContext:"api"}),a=!0}else{let h=Ve(),g=n||t;if(!g)throw new Error("Either --text or --title is required");s={title:g,status:r.settings.defaultTaskStatus,priority:r.settings.defaultTaskPriority,dateCreated:h,dateModified:h,creationContext:"api"}}if((!s.title||s.title.trim()===""||s.title==="Untitled Task")&&!n)throw new Error("Could not derive a task title from --text; pass --title to override");n&&(s.title=n),e.details&&(s.details=e.details),e.status&&(s.status=e.status),e.priority&&(s.priority=e.priority),e.due&&(s.due=e.due),e.scheduled&&(s.scheduled=e.scheduled);let o=gZ(e.tags);o&&(s.tags=o.map(h=>Ai(h)));let l=gZ(e.contexts);l&&(s.contexts=l);let c=gZ(e.projects);c&&(s.projects=c),e.recurrence&&(s.recurrence=e.recurrence);let d=Twt(e["recurrence-anchor"]);d&&(s.recurrence_anchor=d);let u=gwt(e.estimate);u!==void 0&&(s.timeEstimate=u);let p=bwt(e.reminders);return p&&(s.reminders=p),{taskData:s,usedNlp:a}}var fLe={command:"capture",description:"Create a TaskNotes task from free text or explicit flags",flags:{text:{value:"<text>",description:"Task text to parse with NLP unless --literal is set"},title:{value:"<title>",description:"Explicit task title; overrides NLP-derived title"},details:{value:"<details>",description:"Task details/body; overrides NLP-derived details"},status:{value:"<status>",description:"Explicit task status"},priority:{value:"<priority>",description:"Explicit task priority"},due:{value:"<date>",description:"Due date or datetime (YYYY-MM-DD or YYYY-MM-DDTHH:MM)"},scheduled:{value:"<date>",description:"Scheduled date or datetime (YYYY-MM-DD or YYYY-MM-DDTHH:MM)"},tags:{value:"<tag1,tag2>",description:"Comma-separated tags; overrides NLP-derived tags"},contexts:{value:"<ctx1,ctx2>",description:"Comma-separated contexts; overrides NLP-derived contexts"},projects:{value:"<proj1,proj2>",description:"Comma-separated projects; overrides NLP-derived projects"},recurrence:{value:"<rrule>",description:"Explicit recurrence rule"},"recurrence-anchor":{value:"<scheduled|completion>",description:"How recurring tasks advance: from the scheduled date or completion date"},reminders:{value:"<spec>",description:"Reminder spec(s): due:-PT1H;scheduled:-PT30M;at:2026-04-02T09:00 or a JSON array"},estimate:{value:"<minutes>",description:"Time estimate in minutes"},literal:{description:"Treat --text as a literal title instead of parsing it with NLP"}},async handler(r,e){let{taskData:t,usedNlp:n}=mLe(r,e),i=await r.taskService.createTask(t);return xi({...uLe(i.taskInfo),usedNlp:n})}};function yZ(r){let e=r==null?void 0:r.trim();return e&&e.length>0?e:void 0}function hLe(r){return r.slice(0,5).map(e=>`${e.title} (${e.path})`).join(", ")}async function mm(r,e){let t=yZ(e.path),n=yZ(e.title),i=yZ(e.query);if(t){let a=await r.cacheManager.getTaskInfo(t);if(!a)throw new Error(`Task not found for path: ${t}`);return a}let s=await r.cacheManager.getAllTasks();if(n){let a=s.filter(o=>o.title===n);if(a.length===1)return a[0];throw a.length>1?new Error(`Multiple tasks matched title "${n}": ${hLe(a)}`):new Error(`Task not found for title: ${n}`)}if(i){let a=i.toLowerCase(),o=s.filter(l=>l.title.toLowerCase().includes(a)||l.path.toLowerCase().includes(a));if(o.length===1)return o[0];throw o.length>1?new Error(`Multiple tasks matched query "${i}": ${hLe(o)}`):new Error(`Task not found for query: ${i}`)}throw new Error("A task reference is required: pass path, title, or query")}function kwt(r){let e=(r==null?void 0:r.trim())||"status";switch(e){case"status":case"start":case"pause":case"resume":case"stop":case"short-break":case"long-break":return e;default:throw new Error("--action must be one of: status, start, pause, resume, stop, short-break, long-break")}}function wwt(r){if(!r)return;let e=Number(r);if(!Number.isFinite(e)||e<=0)throw new Error("--duration must be a positive number of minutes");return e}function Swt(r){return!!(r.path||r.title||r.query)}async function xwt(r,e,t){if(!Swt(e)){if(t)throw new Error("A task reference is required: pass path, title, or query");return}return mm(r,{path:e.path,title:e.title,query:e.query})}async function Kh(r,e){var i,s,a;let t=e.currentSession,n=t!=null&&t.taskPath?await r.cacheManager.getTaskInfo(t.taskPath):null;return{isRunning:e.isRunning,timeRemaining:e.timeRemaining,nextSessionType:(i=e.nextSessionType)!=null?i:null,currentSession:t?{id:t.id,type:t.type,startTime:t.startTime,endTime:(s=t.endTime)!=null?s:null,plannedDuration:t.plannedDuration,completed:t.completed,interrupted:(a=t.interrupted)!=null?a:!1,task:n?{title:n.title,path:n.path}:t.taskPath?{title:null,path:t.taskPath}:null}:null}}var gLe={command:"pomodoro",description:"Control TaskNotes Pomodoro sessions or inspect the current Pomodoro state",flags:{action:{value:"<status|start|pause|resume|stop|short-break|long-break>",description:"Pomodoro action to perform (default: status)"},path:{value:"<path>",description:"Exact task file path for action=start"},title:{value:"<title>",description:"Exact task title for action=start"},query:{value:"<text>",description:"Substring match against task title or path for action=start"},duration:{value:"<minutes>",description:"Optional work-session duration override for action=start"}},async handler(r,e){let t=kwt(e.action),n=wwt(e.duration);switch(t){case"status":return xi(await Kh(r,r.pomodoroService.getState()));case"start":{let i=await xwt(r,e,!1);return await r.pomodoroService.startPomodoro(i,n),xi(await Kh(r,r.pomodoroService.getState()))}case"pause":return await r.pomodoroService.pausePomodoro(),xi(await Kh(r,r.pomodoroService.getState()));case"resume":return await r.pomodoroService.resumePomodoro(),xi(await Kh(r,r.pomodoroService.getState()));case"stop":return await r.pomodoroService.stopPomodoro(),xi(await Kh(r,r.pomodoroService.getState()));case"short-break":return await r.pomodoroService.startBreak(!1),xi(await Kh(r,r.pomodoroService.getState()));case"long-break":return await r.pomodoroService.startBreak(!0),xi(await Kh(r,r.pomodoroService.getState()))}}};function Ewt(r){return yLe(r)}function yLe(r){var e,t;return(t=(e=r.timeEntries)==null?void 0:e.find(n=>!n.endTime))!=null?t:null}async function vLe(r,e,t){let n=await r.taskService.startTimeTracking(e),i=t==null?void 0:t.trim();if(i&&n.timeEntries&&n.timeEntries.length>0){let s=n.timeEntries[n.timeEntries.length-1];s&&!s.endTime&&(s.description=i,n=await r.taskService.updateTask(n,{timeEntries:n.timeEntries}))}return n}async function bLe(r,e){let t=await e();if(t)return t;let i=(await r.cacheManager.getAllTasks()).filter(s=>!!Ewt(s));if(i.length===1)return i[0];throw i.length>1?new Error("Multiple tasks have active time tracking; pass path, title, or query"):new Error("No active time tracking session found")}function NO(r){var t,n;let e=yLe(r);return{title:r.title,path:r.path,status:r.status,priority:r.priority,activeTimeEntry:e?{startTime:e.startTime,description:e.description}:null,totalTimeEntries:(n=(t=r.timeEntries)==null?void 0:t.length)!=null?n:0}}var TLe={command:"start-time",description:"Start time tracking for a task",flags:{path:{value:"<path>",description:"Exact task file path"},title:{value:"<title>",description:"Exact task title"},query:{value:"<text>",description:"Substring match against task title or path"},description:{value:"<text>",description:"Optional description for the started time entry"}},async handler(r,e){let t=await mm(r,{path:e.path,title:e.title,query:e.query}),n=await vLe(r,t,e.description);return xi(NO(n))}};function Dwt(r){return!!(r.path||r.title||r.query)}var kLe={command:"stop-time",description:"Stop time tracking for a task, or for the only active session if unambiguous",flags:{path:{value:"<path>",description:"Exact task file path"},title:{value:"<title>",description:"Exact task title"},query:{value:"<text>",description:"Substring match against task title or path"}},async handler(r,e){let t=await bLe(r,async()=>Dwt(e)?mm(r,{path:e.path,title:e.title,query:e.query}):null),n=await r.taskService.stopTimeTracking(t);return xi(NO(n))}};NI();function Cwt(r){return!!(r.path||r.title||r.query)}var wLe={command:"time-status",description:"Show active time-tracking sessions, or detailed status for a specific task",flags:{path:{value:"<path>",description:"Exact task file path"},title:{value:"<title>",description:"Exact task title"},query:{value:"<text>",description:"Substring match against task title or path"}},async handler(r,e){if(Cwt(e)){let n=await mm(r,{path:e.path,title:e.title,query:e.query});return xi(Nv(n,i=>r.getActiveTimeSession(i)))}let t=await r.cacheManager.getAllTasks();return xi(Iv(t,n=>r.getActiveTimeSession(n)))}};var Pwt=[gLe,wLe,TLe,kLe,fLe];function xLe(r){var e;if((0,SLe.requireApiVersion)("1.12.2")&&typeof r.registerCliHandler=="function")for(let t of Pwt)r.registerCliHandler(`${r.manifest.id}:${t.command}`,t.description,(e=t.flags)!=null?e:null,n=>t.handler(r,n))}var fm=require("obsidian");function ELe(r){return[{id:"open-calendar-view",nameKey:"commands.openCalendarView",callback:async e=>{await e.activateCalendarView()}},{id:"open-advanced-calendar-view",nameKey:"commands.openAdvancedCalendarView",callback:async e=>{await e.openBasesFileForCommand("open-advanced-calendar-view")}},{id:"open-tasks-view",nameKey:"commands.openTasksView",callback:async e=>{await e.openBasesFileForCommand("open-tasks-view")}},{id:"open-agenda-view",nameKey:"commands.openAgendaView",callback:async e=>{await e.openBasesFileForCommand("open-agenda-view")}},{id:"open-pomodoro-view",nameKey:"commands.openPomodoroView",callback:async e=>{await e.activatePomodoroView()}},{id:"open-kanban-view",nameKey:"commands.openKanbanView",callback:async e=>{await e.openBasesFileForCommand("open-kanban-view")}},{id:"open-pomodoro-stats",nameKey:"commands.openPomodoroStats",callback:async e=>{await e.activatePomodoroStatsView()}},{id:"open-statistics",nameKey:"commands.openStatisticsView",callback:async e=>{await e.activateStatsView()}},{id:"create-new-task",nameKey:"commands.createNewTask",callback:e=>{e.openTaskCreationModal()}},{id:"convert-current-note-to-task",nameKey:"commands.convertCurrentNoteToTask.name",callback:async e=>{await e.convertCurrentNoteToTask()}},{id:"convert-to-tasknote",nameKey:"commands.convertToTaskNote",editorCallback:async(e,t)=>{await e.convertTaskToTaskNote(t)}},{id:"batch-convert-all-tasks",nameKey:"commands.convertAllTasksInNote",editorCallback:async(e,t)=>{await e.batchConvertAllTasks(t)}},{id:"insert-tasknote-link",nameKey:"commands.insertTaskNoteLink",editorCallback:(e,t)=>{e.insertTaskNoteLink(t)}},{id:"create-inline-task",nameKey:"commands.createInlineTask",editorCallback:async(e,t)=>{await e.createInlineTask(t)}},{id:"quick-actions-current-task",nameKey:"commands.quickActionsCurrentTask",callback:async e=>{await e.openQuickActionsForCurrentTask()}},{id:"go-to-today",nameKey:"commands.goToTodayNote",callback:async e=>{await e.navigateToCurrentDailyNote()}},{id:"start-pomodoro",nameKey:"commands.startPomodoro",callback:async e=>{let t=e.pomodoroService.getState();if(t.currentSession&&!t.isRunning){await e.pomodoroService.resumePomodoro();return}t.nextSessionType==="short-break"?await e.pomodoroService.startBreak(!1):t.nextSessionType==="long-break"?await e.pomodoroService.startBreak(!0):await e.pomodoroService.startPomodoro()}},{id:"stop-pomodoro",nameKey:"commands.stopPomodoro",callback:async e=>{await e.pomodoroService.stopPomodoro()}},{id:"pause-pomodoro",nameKey:"commands.pauseResumePomodoro",callback:async e=>{let t=e.pomodoroService.getState();t.isRunning?await e.pomodoroService.pausePomodoro():t.currentSession&&await e.pomodoroService.resumePomodoro()}},{id:"refresh-cache",nameKey:"commands.refreshCache",callback:async e=>{await e.refreshCache()}},{id:"export-all-tasks-ics",nameKey:"commands.exportAllTasksIcs",callback:async e=>{try{let t=await e.cacheManager.getAllTasks(),{CalendarExportService:n}=await Promise.resolve().then(()=>(qC(),mce));n.downloadAllTasksICSFile(t,e.i18n.translate.bind(e.i18n))}catch(t){console.error("Error exporting all tasks as ICS:",t),new fm.Notice(e.i18n.translate("notices.exportTasksFailed"))}}},{id:"sync-all-tasks-google-calendar",nameKey:"commands.syncAllTasksGoogleCalendar",callback:async e=>{var t;if(!((t=e.taskCalendarSyncService)!=null&&t.isEnabled())){new fm.Notice(e.i18n.translate("settings.integrations.googleCalendarExport.notices.notEnabled"));return}await e.taskCalendarSyncService.syncAllTasks()}},{id:"sync-current-task-google-calendar",nameKey:"commands.syncCurrentTaskGoogleCalendar",callback:async e=>{var i;if(!((i=e.taskCalendarSyncService)!=null&&i.isEnabled())){new fm.Notice(e.i18n.translate("settings.integrations.googleCalendarExport.notices.notEnabled"));return}let t=e.app.workspace.getActiveFile();if(!t){new fm.Notice(e.i18n.translate("settings.integrations.googleCalendarExport.notices.noActiveFile"));return}let n=await e.cacheManager.getTaskInfo(t.path);if(!n){new fm.Notice(e.i18n.translate("settings.integrations.googleCalendarExport.notices.notATask"));return}if(!e.taskCalendarSyncService.shouldSyncTask(n)){new fm.Notice(e.i18n.translate("settings.integrations.googleCalendarExport.notices.noDateToSync"));return}await e.taskCalendarSyncService.syncTaskToCalendar(n),new fm.Notice(e.i18n.translate("settings.integrations.googleCalendarExport.notices.taskSynced"))}},{id:"view-release-notes",nameKey:"commands.viewReleaseNotes",callback:async e=>{await e.activateReleaseNotesView()}},{id:"start-time-tracking-with-selector",nameKey:"commands.startTimeTrackingWithSelector",callback:async e=>{await e.openTaskSelectorForTimeTracking()}},{id:"edit-time-entries",nameKey:"commands.editTimeEntries",callback:async e=>{await e.openTaskSelectorForTimeEntryEditor()}},{id:"create-or-open-task",nameKey:"commands.createOrOpenTask",callback:async e=>{await e.openTaskSelectorWithCreate()}}]}var RO=class{constructor(e){this.plugin=e;this.definitions=[];this.registeredCommands=new Map}register(){this.definitions=ELe(this.plugin),this.registerCommands()}refreshTranslations(){var i,s;if(!this.definitions.length)return;let e=this.plugin.app.commands;if(!e)return;let t=e,n=t.removeCommand;if(typeof n=="function"){for(let a of this.registeredCommands.values())n.call(e,a);this.registerCommands();return}for(let a of this.definitions){let o=(i=this.registeredCommands.get(a.id))!=null?i:`${this.plugin.manifest.id}:${a.id}`,l=(s=t.commands)==null?void 0:s[o];l&&(l.name=this.plugin.i18n.translate(a.nameKey),typeof t.updateCommand=="function"&&t.updateCommand(o,l))}}registerCommands(){this.registeredCommands.clear();for(let e of this.definitions){let t={id:e.id,name:this.plugin.i18n.translate(e.nameKey)};e.callback&&(t.callback=()=>{var i;(i=e.callback)==null||i.call(e,this.plugin)}),e.editorCallback&&(t.editorCallback=(i,s)=>{var a;(a=e.editorCallback)==null||a.call(e,this.plugin,i,s)}),e.checkCallback&&(t.checkCallback=e.checkCallback),e.hotkeys&&(t.hotkeys=e.hotkeys);let n=this.plugin.addCommand(t);this.registeredCommands.set(e.id,n.id)}}};var kl=require("obsidian");On();L2();var OO=class{constructor(e){this.plugin=e}getLeafOfType(e){let t=this.plugin.app.workspace.getLeavesOfType(e);return t.length>0?t[0]:null}async revealLeafReady(e){let{workspace:t}=this.plugin.app;t.setActiveLeaf(e,{focus:!0}),await t.revealLeaf(e),e.isDeferred&&await e.loadIfDeferred()}async activateView(e){let{workspace:t}=this.plugin.app,n=this.getLeafOfType(e);return n||(n=t.getLeaf("tab"),await n.setViewState({type:e,active:!0})),await this.revealLeafReady(n),n}async activateCalendarView(){await this.openBasesFileForCommand("open-calendar-view")}async activateAgendaView(){return this.activateView(Qte)}async activatePomodoroView(){if(kl.Platform.isMobile&&this.plugin.settings.pomodoroMobileSidebar!=="tab"){let{workspace:e}=this.plugin.app,t=this.getLeafOfType(Vc);if(!t){let n=this.plugin.settings.pomodoroMobileSidebar==="left"?e.getLeftLeaf(!1):e.getRightLeaf(!1);if(n)t=n,await t.setViewState({type:Vc,active:!0});else return this.activateView(Vc)}return await this.revealLeafReady(t),t}return this.activateView(Vc)}async activatePomodoroStatsView(){return this.activateView(cg)}async activateStatsView(){return this.activateView(dg)}async activateReleaseNotesView(){return this.activateView(ax)}async openBasesFileForCommand(e){let t=this.plugin.settings.commandFileMapping[e];if(!t){new kl.Notice(`No file configured for command: ${e}`);return}let n=(0,kl.normalizePath)(t);if(!await this.plugin.app.vault.adapter.exists(n)){new kl.Notice(`File not found: ${n}
Please configure a valid file in Settings \u2192 TaskNotes \u2192 View Commands, or use the "Create Default Files" button.`,1e4);return}let s=this.plugin.app.vault.getAbstractFileByPath(n);if(!s){new kl.Notice(`File not found in vault: ${n}
The file exists but Obsidian cannot find it. Try reloading the vault.`);return}if(!(s instanceof kl.TFile)){new kl.Notice(`Path is not a file: ${n}`);return}await this.plugin.app.workspace.getLeaf().openFile(s)}};var Ei=require("obsidian");On();var fu=require("obsidian");TL();var LO=class extends fu.Modal{constructor(t,n,i,s){super(t);this.keyboardHandler=null;this.totalEl=null;this.descriptionEditors=[];this.plugin=n,this.task=i,this.timeEntries=JSON.parse(JSON.stringify(i.timeEntries||[])),this.onSave=s,this.translate=n.i18n.translate.bind(n.i18n)}onOpen(){let{contentEl:t}=this;this.cleanupDescriptionEditors(),t.empty(),t.addClass("time-entry-editor-modal"),this.titleEl.setText(this.translate("modals.timeEntryEditor.title",{taskTitle:this.task.title})),this.keyboardHandler&&this.containerEl.removeEventListener("keydown",this.keyboardHandler),this.keyboardHandler=c=>{c.key==="Enter"&&(c.ctrlKey||c.metaKey)&&(c.preventDefault(),this.save())},this.containerEl.addEventListener("keydown",this.keyboardHandler),this.entriesContainerEl=t.createDiv({cls:"time-entry-editor-modal__entries"}),this.renderEntries(),t.createDiv({cls:"time-entry-editor-modal__add-button-container"}).createEl("button",{text:this.translate("modals.timeEntryEditor.addEntry"),cls:"mod-cta"}).addEventListener("click",()=>this.addNewEntry());let s=t.createDiv({cls:"time-entry-editor-modal__footer"});this.totalEl=s.createDiv({cls:"time-entry-editor-modal__total"}),this.updateTotalDisplay();let a=s.createDiv({cls:"time-entry-editor-modal__buttons"});a.createEl("button",{text:this.translate("common.cancel")}).addEventListener("click",()=>this.close()),a.createEl("button",{text:this.translate("common.save"),cls:"mod-cta"}).addEventListener("click",()=>this.save())}renderEntries(){if(this.cleanupDescriptionEditors(),this.entriesContainerEl.empty(),this.timeEntries.length===0){this.entriesContainerEl.createDiv({cls:"time-entry-editor-modal__empty",text:this.translate("modals.timeEntryEditor.noEntries")});return}[...this.timeEntries].sort((n,i)=>new Date(i.startTime).getTime()-new Date(n.startTime).getTime()).forEach(n=>{let i=this.timeEntries.indexOf(n);this.renderEntry(n,i)})}renderEntry(t,n){let i=this.entriesContainerEl.createDiv({cls:"time-entry-editor-modal__entry"}),s=i.createDiv({cls:"time-entry-editor-modal__entry-header"}),a=new Date(t.startTime).toLocaleDateString();s.createSpan({cls:"time-entry-editor-modal__entry-date",text:a});let o=s.createEl("button",{cls:"time-entry-editor-modal__delete-button",attr:{"aria-label":this.translate("modals.timeEntryEditor.deleteEntry")}});o.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="3 6 5 6 21 6"></polyline><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path></svg>',o.addEventListener("click",()=>this.deleteEntry(n));let l=i.createDiv({cls:"time-entry-editor-modal__time-container"}),d=new fu.Setting(l).setName(this.translate("modals.timeEntryEditor.startTime")).controlEl.createEl("input",{type:"datetime-local",cls:"time-entry-editor-modal__datetime-input"});d.value=this.formatDateTimeForInput(new Date(t.startTime)),d.addEventListener("change",()=>{let g=new Date(d.value);isNaN(g.getTime())||(t.startTime=g.toISOString(),this.updateTotalDisplay())});let p=new fu.Setting(l).setName(this.translate("modals.timeEntryEditor.endTime")).controlEl.createEl("input",{type:"datetime-local",cls:"time-entry-editor-modal__datetime-input"});t.endTime&&(p.value=this.formatDateTimeForInput(new Date(t.endTime))),p.addEventListener("change",()=>{if(p.value){let g=new Date(p.value);isNaN(g.getTime())||(t.endTime=g.toISOString(),this.updateTotalDisplay())}else t.endTime=void 0,this.updateTotalDisplay()});let m=new fu.Setting(l).setName(this.translate("modals.timeEntryEditor.description"));m.settingEl.addClass("time-entry-editor-modal__description-setting");let f=m.controlEl.createDiv({cls:"time-entry-editor-modal__description-editor-container"}),h=TD(this.app,f,{value:t.description||"",placeholder:this.translate("modals.timeEntryEditor.descriptionPlaceholder"),cls:"time-entry-editor-modal__description-editor",onChange:g=>{t.description=g||void 0},onSubmit:()=>this.save(),onEscape:()=>this.close(),onTab:()=>!1});h&&this.descriptionEditors.push(h)}cleanupDescriptionEditors(){this.descriptionEditors.forEach(t=>t.destroy()),this.descriptionEditors=[]}updateTotalDisplay(){if(!this.totalEl)return;let t=this.calculateTotalMinutes(),n=Math.floor(t/60),i=t%60,s=n>0?this.translate("modals.timeEntryEditor.totalTime",{hours:n.toString(),minutes:i.toString()}):this.translate("modals.timeEntryEditor.totalMinutes",{minutes:t.toString()});this.totalEl.setText(s)}calculateDuration(t){if(!t.endTime){let s=new Date,a=new Date(t.startTime);return Math.round((s.getTime()-a.getTime())/6e4)}let n=new Date(t.startTime),i=new Date(t.endTime);return Math.round((i.getTime()-n.getTime())/6e4)}calculateTotalMinutes(){return this.timeEntries.reduce((t,n)=>{let i=this.calculateDuration(n);return t+i},0)}addNewEntry(){let t=new Date,i={startTime:new Date(t.getTime()-3600*1e3).toISOString(),endTime:t.toISOString(),description:""};this.timeEntries.push(i),this.renderEntries(),this.updateTotalDisplay()}deleteEntry(t){this.timeEntries.splice(t,1),this.renderEntries(),this.updateTotalDisplay()}formatDateTimeForInput(t){let n=t.getFullYear(),i=String(t.getMonth()+1).padStart(2,"0"),s=String(t.getDate()).padStart(2,"0"),a=String(t.getHours()).padStart(2,"0"),o=String(t.getMinutes()).padStart(2,"0");return`${n}-${i}-${s}T${a}:${o}`}save(){for(let n of this.timeEntries){if(!n.startTime){new fu.Notice(this.translate("modals.timeEntryEditor.validation.missingStartTime"));return}if(n.endTime){let i=new Date(n.startTime);if(new Date(n.endTime)<=i){new fu.Notice(this.translate("modals.timeEntryEditor.validation.endBeforeStart"));return}}}let t=this.timeEntries.map(n=>{let i={...n};return delete i.duration,i});this.onSave(t),this.close()}onClose(){this.cleanupDescriptionEditors(),this.totalEl=null,this.keyboardHandler&&(this.containerEl.removeEventListener("keydown",this.keyboardHandler),this.keyboardHandler=null);let{contentEl:t}=this;t.empty()}};Wo();Cr();var FO=class{constructor(e){this.plugin=e}async openTaskSelectorWithCreate(){let{openTaskSelectorWithCreate:e}=await Promise.resolve().then(()=>(Wo(),Gce)),t=await e(this.plugin);if(t.type==="selected"||t.type==="created"){let n=this.plugin.app.vault.getAbstractFileByPath(t.task.path);n instanceof Ei.TFile&&await this.plugin.app.workspace.getLeaf(!1).openFile(n)}}async startTimeTracking(e,t){try{let n=await this.plugin.taskService.startTimeTracking(e),i=t==null?void 0:t.trim();if(i&&n.timeEntries&&n.timeEntries.length>0){let s=n.timeEntries[n.timeEntries.length-1];s&&!s.endTime&&(s.description=i,n=await this.plugin.taskService.updateTask(n,{timeEntries:n.timeEntries}))}return new Ei.Notice("Time tracking started"),this.requestStatusBarUpdate(),n}catch(n){throw console.error("Failed to start time tracking:",n),n instanceof Error&&n.message==="Time tracking is already active for this task"?new Ei.Notice("Time tracking is already active for this task"):new Ei.Notice("Failed to start time tracking"),n}}async stopTimeTracking(e){try{let t=await this.plugin.taskService.stopTimeTracking(e);return new Ei.Notice("Time tracking stopped"),this.requestStatusBarUpdate(),t}catch(t){throw console.error("Failed to stop time tracking:",t),t instanceof Error&&t.message==="No active time tracking session for this task"?new Ei.Notice("No active time tracking session for this task"):new Ei.Notice("Failed to stop time tracking"),t}}async openTaskSelectorForTimeTracking(){try{let t=(await this.plugin.cacheManager.getAllTasks()).filter(n=>!n.archived).filter(n=>!UD(n.timeEntries||[]));if(t.length===0){new Ei.Notice(this.plugin.i18n.translate("modals.timeTracking.noTasksAvailable"));return}pn(this.plugin,t,n=>{(async()=>{if(n)try{await this.startTimeTracking(n),new Ei.Notice(this.plugin.i18n.translate("modals.timeTracking.started",{taskTitle:n.title}))}catch(i){console.error("Error starting time tracking:",i),new Ei.Notice(this.plugin.i18n.translate("modals.timeTracking.startFailed"))}})()})}catch(e){console.error("Error opening task selector for time tracking:",e),new Ei.Notice(this.plugin.i18n.translate("modals.timeTracking.startFailed"))}}async openTaskSelectorForTimeEntryEditor(){try{let t=(await this.plugin.cacheManager.getAllTasks()).filter(n=>!n.archived).filter(n=>n.timeEntries&&n.timeEntries.length>0);if(t.length===0){new Ei.Notice(this.plugin.i18n.translate("modals.timeEntryEditor.noTasksWithEntries"));return}pn(this.plugin,t,n=>{n&&this.openTimeEntryEditor(n)})}catch(e){console.error("Error opening task selector for time entry editor:",e),new Ei.Notice(this.plugin.i18n.translate("modals.timeEntryEditor.openFailed"))}}openTimeEntryEditor(e,t){new LO(this.plugin.app,this.plugin,e,i=>{(async()=>{try{let s=i.map(a=>{let o={...a};return delete o.duration,o});await this.plugin.taskService.updateTask(e,{timeEntries:s}),t==null||t(),this.plugin.emitter.trigger(Fa),new Ei.Notice(this.plugin.i18n.translate("modals.timeEntryEditor.saved"))}catch(s){console.error("Error saving time entries:",s),new Ei.Notice(this.plugin.i18n.translate("modals.timeEntryEditor.saveFailed"))}})()}).open()}requestStatusBarUpdate(){this.plugin.statusBarService&&window.setTimeout(()=>{this.plugin.statusBarService.requestUpdate()},50)}};var DLe=require("obsidian");On();var $O=class{constructor(e){this.plugin=e;this.previousCacheSettings=null;this.previousTimeTrackingSettings=null;this.autoStopTimeTrackingListener=null}captureCurrentSettings(){this.updatePreviousCacheSettings(),this.updatePreviousTimeTrackingSettings()}setupTimeTrackingEventListeners(){this.autoStopTimeTrackingListener&&(this.plugin.emitter.offref(this.autoStopTimeTrackingListener),this.autoStopTimeTrackingListener=null),this.plugin.settings.autoStopTimeTrackingOnComplete&&(this.autoStopTimeTrackingListener=this.plugin.emitter.on(Vt,async e=>{await this.handleAutoStopTimeTracking(e)})),this.updatePreviousTimeTrackingSettings()}async saveSettings(){var n,i,s,a,o,l,c,d,u,p;await this.plugin.saveSettingsDataOnly(),(i=(n=this.plugin.apiService)==null?void 0:n.syncWebhookSettings)==null||i.call(n);let e=this.haveCacheSettingsChanged(),t=this.haveTimeTrackingSettingsChanged();(s=this.plugin.fieldMapper)==null||s.updateMapping(this.plugin.settings.fieldMapping),(o=this.plugin.fieldMapper)==null||o.updateUserFields((a=this.plugin.settings.userFields)!=null?a:[]),(l=this.plugin.statusManager)==null||l.updateStatuses(this.plugin.settings.customStatuses),(c=this.plugin.priorityManager)==null||c.updatePriorities(this.plugin.settings.customPriorities),e&&(console.debug("Cache-related settings changed, updating cache configuration"),this.plugin.cacheManager.updateConfig(this.plugin.settings),this.updatePreviousCacheSettings()),this.plugin.injectCustomStyles(),t&&this.setupTimeTrackingEventListeners(),(d=this.plugin.statusBarService)==null||d.updateVisibility(),(u=this.plugin.mdbaseSpecService)==null||u.onSettingsChanged(),(p=this.plugin.filterService)==null||p.refreshFilterOptions(),this.plugin.notifyDataChanged(),this.plugin.emitter.trigger("settings-changed",this.plugin.settings)}async onExternalSettingsChange(){var e,t,n,i,s,a,o,l,c;await this.plugin.loadSettings(),(t=(e=this.plugin.apiService)==null?void 0:e.syncWebhookSettings)==null||t.call(e),(n=this.plugin.fieldMapper)==null||n.updateMapping(this.plugin.settings.fieldMapping),(s=this.plugin.fieldMapper)==null||s.updateUserFields((i=this.plugin.settings.userFields)!=null?i:[]),(a=this.plugin.statusManager)==null||a.updateStatuses(this.plugin.settings.customStatuses),(o=this.plugin.priorityManager)==null||o.updatePriorities(this.plugin.settings.customPriorities),this.plugin.cacheManager.updateConfig(this.plugin.settings),this.updatePreviousCacheSettings(),this.setupTimeTrackingEventListeners(),this.plugin.injectCustomStyles(),(l=this.plugin.statusBarService)==null||l.updateVisibility(),(c=this.plugin.filterService)==null||c.refreshFilterOptions(),this.plugin.notifyDataChanged(),this.plugin.emitter.trigger("settings-changed",this.plugin.settings)}destroy(){this.autoStopTimeTrackingListener&&(this.plugin.emitter.offref(this.autoStopTimeTrackingListener),this.autoStopTimeTrackingListener=null)}async handleAutoStopTimeTracking(e){let{originalTask:t,updatedTask:n}=e;if(!t||!n)return;let i=!1,s=this.plugin.statusManager.isCompletedStatus(t.status),a=this.plugin.statusManager.isCompletedStatus(n.status);if(!s&&a&&(i=!0),n.recurrence){let l=t.complete_instances||[];(n.complete_instances||[]).length>l.length&&(i=!0)}if(!(!i||!this.plugin.getActiveTimeSession(n)))try{await this.plugin.stopTimeTracking(n),this.plugin.settings.autoStopTimeTrackingNotification&&new DLe.Notice(`Auto-stopped time tracking for: ${n.title}`)}catch(l){console.error("Error auto-stopping time tracking:",l)}}haveCacheSettingsChanged(){if(!this.previousCacheSettings)return!0;let e={taskTag:this.plugin.settings.taskTag,excludedFolders:this.plugin.settings.excludedFolders,disableNoteIndexing:this.plugin.settings.disableNoteIndexing,storeTitleInFilename:this.plugin.settings.storeTitleInFilename,fieldMapping:this.plugin.settings.fieldMapping};return e.taskTag!==this.previousCacheSettings.taskTag||e.excludedFolders!==this.previousCacheSettings.excludedFolders||e.disableNoteIndexing!==this.previousCacheSettings.disableNoteIndexing||e.storeTitleInFilename!==this.previousCacheSettings.storeTitleInFilename||JSON.stringify(e.fieldMapping)!==JSON.stringify(this.previousCacheSettings.fieldMapping)}haveTimeTrackingSettingsChanged(){return this.previousTimeTrackingSettings?this.plugin.settings.autoStopTimeTrackingOnComplete!==this.previousTimeTrackingSettings.autoStopTimeTrackingOnComplete:!0}updatePreviousCacheSettings(){this.previousCacheSettings={taskTag:this.plugin.settings.taskTag,excludedFolders:this.plugin.settings.excludedFolders,disableNoteIndexing:this.plugin.settings.disableNoteIndexing,storeTitleInFilename:this.plugin.settings.storeTitleInFilename,fieldMapping:JSON.parse(JSON.stringify(this.plugin.settings.fieldMapping))}}updatePreviousTimeTrackingSettings(){this.previousTimeTrackingSettings={autoStopTimeTrackingOnComplete:this.plugin.settings.autoStopTimeTrackingOnComplete}}};TO();async function CLe(r){WK(),await YK(r),r.workspaceNavigationService=new OO(r),r.taskActionCoordinator=new FO(r),r.settingsLifecycleService=new $O(r),r.commandRegistry=new RO(r),r.settingsLifecycleService.captureCurrentSettings(),GK(r),r.commandRegistry.register(),xLe(r),r.addSettingTab(new IO(r.app,r))}async function PLe(r){var t,n,i,s,a,o,l,c,d,u,p,m,f,h,g,y,k,T,w,S,E,C,D,A;(t=r.settings)!=null&&t.enableBases&&Promise.resolve().then(()=>(C9(),D9)).then(({unregisterBasesViews:N})=>{N(r),r.basesRegistered=!1}).catch(N=>{console.debug("[TaskNotes][Bases] Unregistration failed:",N)});let e=J0.getStats("cache-initialization");e&&e.count>0&&J0.logSummary(),(n=r.pomodoroService)==null||n.cleanup(),(i=r.filterService)==null||i.cleanup(),(s=r.viewPerformanceService)==null||s.destroy(),r.taskCardReadingModeCleanup&&(r.taskCardReadingModeCleanup(),r.taskCardReadingModeCleanup=null),r.relationshipsReadingModeCleanup&&(r.relationshipsReadingModeCleanup(),r.relationshipsReadingModeCleanup=null),(a=r.autoArchiveService)==null||a.stop(),(o=r.icsSubscriptionService)==null||o.destroy(),(l=r.autoExportService)==null||l.destroy(),(c=r.taskLinkDetectionService)==null||c.cleanup(),(d=r.dragDropManager)==null||d.destroy(),(u=r.apiService)==null||u.stop(),(p=r.oauthService)==null||p.destroy(),(m=r.taskCalendarSyncService)==null||m.destroy(),(f=r.googleCalendarService)==null||f.destroy(),(h=r.microsoftCalendarService)==null||h.destroy(),(g=r.calendarProviderRegistry)==null||g.destroyAll(),(y=r.viewStateManager)==null||y.cleanup(),(k=r.statusBarService)==null||k.destroy(),(T=r.notificationService)==null||T.destroy(),(w=r.cacheManager)==null||w.destroy(),(S=r.dependencyCache)==null||S.destroy(),(E=r.requestDeduplicator)==null||E.cancelAll(),(C=r.domReconciler)==null||C.destroy(),(D=r.uiStateManager)==null||D.destroy(),(A=r.settingsLifecycleService)==null||A.destroy(),typeof J0!="undefined"&&J0.destroy(),r.taskUpdateListenerForEditor&&r.emitter.offref(r.taskUpdateListenerForEditor),r.initializationComplete=!1}function _Le(r,e){var n;let t=r;return typeof t.setQuery=="function"?(t.setQuery(e),!0):typeof((n=t.searchComponent)==null?void 0:n.setValue)=="function"?(t.searchComponent.setValue(e),!0):t.searchInputEl?(t.searchInputEl.value=e,typeof t.startSearch=="function"&&t.startSearch(),!0):!1}function Zh(r){if(r!=null){if(typeof r=="string")return r;if(typeof r=="number"||typeof r=="boolean")return String(r)}}function bZ(r){if(r!=null)return _D(r)}function _wt(r){if(typeof r=="number")return r;if(typeof r=="string"&&r.trim()!==""){let e=Number(r);return Number.isNaN(e)?void 0:e}}var X0=class extends We.Plugin{constructor(){super(...arguments);this.lastKnownDate=new Date().toDateString();this.taskUpdateListenerForEditor=null;this.relationshipsReadingModeCleanup=null;this.taskCardReadingModeCleanup=null;this.initializationComplete=!1;this.migrationComplete=!1;this.migrationPromise=null;this.basesRegistered=!1}getSystemUILocale(){try{let t=(0,We.getLanguage)();if(t)return t}catch(t){}return typeof navigator!="undefined"&&navigator.language?navigator.language:"en"}refreshLocalizedViews(){}async onload(){var t;this.readyPromise=new Promise(n=>{this.resolveReady=n}),await this.loadSettings(),this.i18n=_de({initialLocale:(t=this.settings.uiLanguage)!=null?t:"system",getSystemLocale:()=>this.getSystemUILocale()}),this.i18n.on("locale-changed",({current:n})=>{var s;if(!this.initializationComplete)return;let i=this.i18n.getNativeLanguageName(n);new We.Notice(this.i18n.translate("notices.languageChanged",{language:i})),this.refreshLocalizedViews(),(s=this.commandRegistry)==null||s.refreshTranslations()}),await CLe(this),this.migrationPromise=this.performEarlyMigrationCheck(),KK(this),await bO(this),this.app.workspace.onLayoutReady(()=>{this.initializeAfterLayoutReady()}),this.resolveReady()}async initializeAfterLayoutReady(){await ZK(this)}initializeServicesLazily(){Promise.resolve().then(()=>(TO(),FOe)).then(({initializeServicesLazily:t})=>{t(this)})}async warmupProjectIndexes(){try{this.cacheManager.getTasksForDate(new Date().toISOString().split("T")[0])}catch(t){console.error("[TaskNotes] Error during project index warmup:",t)}}async onReady(){await this.readyPromise}setupStatusBarEventListeners(){this.statusBarService&&(this.registerEvent(this.emitter.on(Vt,()=>{window.setTimeout(()=>{this.statusBarService.requestUpdate()},100)})),this.registerEvent(this.emitter.on(Fa,()=>{window.setTimeout(()=>{this.statusBarService.requestUpdate()},100)})),this.pomodoroService&&(this.registerEvent(this.emitter.on("pomodoro-start",()=>{window.setTimeout(()=>{this.statusBarService.requestUpdate()},100)})),this.registerEvent(this.emitter.on("pomodoro-stop",()=>{window.setTimeout(()=>{this.statusBarService.requestUpdate()},100)})),this.registerEvent(this.emitter.on("pomodoro-state-changed",()=>{window.setTimeout(()=>{this.statusBarService.requestUpdate()},100)}))))}setupTimeTrackingEventListeners(){this.settingsLifecycleService.setupTimeTrackingEventListeners()}async performEarlyMigrationCheck(){try{await this.viewStateManager.initializeSavedViews(),this.viewStateManager.needsMigration()&&await this.viewStateManager.performMigration(),this.migrationComplete=!0}catch(t){console.error("Error during early migration check:",t),this.migrationComplete=!0}}async checkForVersionUpdate(){var t;try{let n=this.manifest.version,i=this.settings.lastSeenVersion;i&&i!==n&&(((t=this.settings.showReleaseNotesOnUpdate)!=null?t:!0)?window.setTimeout(()=>{(async()=>(await this.activateReleaseNotesView(),this.settings.lastSeenVersion=n,await this.saveSettings()))()},1500):(this.settings.lastSeenVersion=n,await this.saveSettings())),i||(this.settings.lastSeenVersion=n,await this.saveSettings())}catch(n){console.error("Error checking for version update:",n)}}async waitForMigration(){for(this.migrationPromise&&await this.migrationPromise;!this.migrationComplete;)await new Promise(t=>window.setTimeout(t,50))}notifyDataChanged(t,n=!1,i=!0){t?(this.cacheManager.clearCacheEntry(t),this.taskLinkDetectionService&&this.taskLinkDetectionService.clearCacheForFile(t)):n&&(this.cacheManager.clearAllCaches(),this.taskLinkDetectionService&&this.taskLinkDetectionService.clearCache()),i&&window.requestAnimationFrame(()=>{this.emitter.trigger(Fa)})}setupDateChangeDetection(){let t=()=>{let n=new Date().toDateString();n!==this.lastKnownDate&&(this.lastKnownDate=n,this.emitter.trigger(Tm))};this.dateCheckInterval=window.setInterval(t,6e4),this.registerInterval(this.dateCheckInterval),this.scheduleNextMidnightCheck()}scheduleNextMidnightCheck(){let t=new Date,n=new Date(t);n.setHours(24,0,0,0);let i=n.getTime()-t.getTime();this.midnightTimeout&&window.clearTimeout(this.midnightTimeout),this.midnightTimeout=window.setTimeout(()=>{let s=new Date().toDateString();s!==this.lastKnownDate&&(this.lastKnownDate=s,this.emitter.trigger(Tm)),this.scheduleNextMidnightCheck()},i),this.registerInterval(this.midnightTimeout)}onunload(){PLe(this)}async loadSettings(){var a;let t=await this.loadData();if(t&&"useNativeMetadataCache"in t&&delete t.useNativeMetadataCache,t&&typeof t.enableAPI=="undefined"&&(t.enableAPI=!1),t&&typeof t.apiPort=="undefined"&&(t.apiPort=8080),t&&typeof t.apiAuthToken=="undefined"&&(t.apiAuthToken=""),t&&typeof t.enableMCP=="undefined"&&(t.enableMCP=!1),t&&!t.nlpTriggers&&t.statusSuggestionTrigger!==void 0){t.nlpTriggers={triggers:[...gL.triggers]};let o=t.nlpTriggers.triggers.findIndex(l=>l.propertyId==="status");o!==-1&&t.statusSuggestionTrigger&&(t.nlpTriggers.triggers[o].trigger=t.statusSuggestionTrigger)}t&&!t.modalFieldsConfig&&(t.modalFieldsConfig=Uc(void 0,t.userFields)),t&&t.enableBases===!1&&(t.enableBases=!0),this.settings={...Zn,...t,fieldMapping:{...Zn.fieldMapping,...(t==null?void 0:t.fieldMapping)||{}},taskCreationDefaults:{...Zn.taskCreationDefaults,...(t==null?void 0:t.taskCreationDefaults)||{}},calendarViewSettings:{...Zn.calendarViewSettings,...(t==null?void 0:t.calendarViewSettings)||{}},commandFileMapping:{...Zn.commandFileMapping,...(t==null?void 0:t.commandFileMapping)||{}},icsIntegration:{...Zn.icsIntegration,...(t==null?void 0:t.icsIntegration)||{}},nlpTriggers:{...Zn.nlpTriggers,...(t==null?void 0:t.nlpTriggers)||{},triggers:((a=t==null?void 0:t.nlpTriggers)==null?void 0:a.triggers)||Zn.nlpTriggers.triggers},modalFieldsConfig:t==null?void 0:t.modalFieldsConfig,customStatuses:(t==null?void 0:t.customStatuses)||Zn.customStatuses,customPriorities:(t==null?void 0:t.customPriorities)||Zn.customPriorities,savedViews:(t==null?void 0:t.savedViews)||Zn.savedViews};let n=Object.keys(Zn.fieldMapping).some(o=>{var l;return!((l=t==null?void 0:t.fieldMapping)!=null&&l[o])}),i=Object.keys(Zn.calendarViewSettings).some(o=>{var l;return!((l=t==null?void 0:t.calendarViewSettings)!=null&&l[o])}),s=Object.keys(Zn.commandFileMapping).some(o=>{var l;return!((l=t==null?void 0:t.commandFileMapping)!=null&&l[o])});(n||i||s)&&window.setTimeout(()=>{(async()=>{try{let o=await this.loadData()||{},l=Object.keys(Zn);for(let c of l)o[c]=this.settings[c];await this.saveData(o)}catch(o){console.error("Failed to save migrated settings:",o)}})()},100)}async saveSettings(){await this.settingsLifecycleService.saveSettings()}async saveSettingsDataOnly(){let t=await this.loadData()||{},n=Object.keys(Zn);for(let i of n)t[i]=this.settings[i];await this.saveData(t)}async onExternalSettingsChange(){await this.settingsLifecycleService.onExternalSettingsChange()}async revealLeafReady(t){await this.workspaceNavigationService.revealLeafReady(t)}async activateView(t){return this.workspaceNavigationService.activateView(t)}async activateCalendarView(){return this.workspaceNavigationService.activateCalendarView()}async activateAgendaView(){return this.workspaceNavigationService.activateAgendaView()}async activatePomodoroView(){return this.workspaceNavigationService.activatePomodoroView()}async activatePomodoroStatsView(){return this.workspaceNavigationService.activatePomodoroStatsView()}async activateStatsView(){return this.workspaceNavigationService.activateStatsView()}async activateReleaseNotesView(){return this.workspaceNavigationService.activateReleaseNotesView()}async openBasesFileForCommand(t){await this.workspaceNavigationService.openBasesFileForCommand(t)}async createDefaultBasesFiles(){let{created:t,skipped:n}=await this.ensureBasesViewFiles();t.length>0&&new We.Notice(`Created ${t.length} default Bases file(s):
${t.join(`
`)}`,8e3),n.length>0&&t.length===0&&new We.Notice(`Default Bases files already exist:
${n.join(`
`)}`,8e3)}async ensureFolderHierarchy(t){if(!t)return;let n=(0,We.normalizePath)(t),i=this.app.vault.adapter,s=n.split("/").filter(o=>o.length>0);if(s.length===0)return;let a="";for(let o of s)if(a=a?`${a}/${o}`:o,!await i.exists(a))try{await this.app.vault.createFolder(a)}catch(l){if(!await i.exists(a))throw l}}async ensureBasesViewFiles(){var i;let t=[],n=[];try{let s=this.app.vault.adapter,a={...Zn.commandFileMapping,...(i=this.settings.commandFileMapping)!=null?i:{}};this.settings.commandFileMapping=a;let o=Object.entries(a);for(let[l,c]of o){if(!c)continue;let d=(0,We.normalizePath)(c);if(await s.exists(d)){n.push(c);continue}let u=Kte(l,this);if(!u){n.push(c);continue}let p=d.lastIndexOf("/"),m=p>=0?d.substring(0,p):"";m&&await this.ensureFolderHierarchy(m),await this.app.vault.create(d,u),t.push(c)}}catch(s){console.warn("[TaskNotes][Bases] Failed to ensure Bases command files:",s)}return{created:t,skipped:n}}async openTagsPane(t){let{workspace:n}=this.app;try{let i=n.getLeavesOfType("search").first();if(!i){let a=n.getLeftLeaf(!1);if(!a)return console.warn("Could not get left leaf for search pane"),!1;try{await a.setViewState({type:"search",active:!0}),i=a}catch(o){return console.warn("Failed to create search view:",o),!1}}if(!i)return console.warn("No search leaf available"),!1;await this.revealLeafReady(i);let s=`tag:${t}`;return _Le(i.view,s)?!0:(console.warn("[TaskNotes] Could not find method to set search query"),new We.Notice("Search pane opened but could not set tag query"),!1)}catch(i){return console.error("[TaskNotes] Error opening search pane with tag:",i),new We.Notice(`Failed to open search pane for tag: ${t}`),!1}}getLeafOfType(t){return this.workspaceNavigationService.getLeafOfType(t)}getCalendarLeaf(){return this.getLeafOfType(Zte)}async navigateToCurrentDailyNote(){let t=kr();await this.navigateToDailyNote(t,{isAlreadyLocal:!0})}async navigateToDailyNote(t,n){try{if(!(0,hm.appHasDailyNotesPluginLoaded)()){new We.Notice("Daily notes core plugin is not enabled. Please enable it in settings > core plugins.");return}let i=n!=null&&n.isAlreadyLocal?t:hu(t),s=window.moment(i),a=(0,hm.getAllDailyNotes)(),o=(0,hm.getDailyNote)(s,a),l=!1;if(!o)try{o=await(0,hm.createDailyNote)(s),l=!0}catch(c){let d=c instanceof Error?c.message:String(c);console.error("Failed to create daily note:",c),new We.Notice(`Failed to create daily note: ${d}`);return}o&&(await this.app.workspace.getLeaf(!1).openFile(o),l&&this.notifyDataChanged(o.path,!1,!0))}catch(i){let s=i instanceof Error?i.message:String(i);console.error("Failed to navigate to daily note:",i),new We.Notice(`Failed to navigate to daily note: ${s}`)}}injectCustomStyles(){let t=activeDocument.getElementById("tasknotes-custom-styles");t&&t.remove();let n=this.statusManager.getStatusStyles(),i=this.priorityManager.getPriorityStyles(),s=activeDocument.createElement("style");s.id="tasknotes-custom-styles",s.textContent=`
${n}
${i}
`,activeDocument.head.appendChild(s)}async updateTaskProperty(t,n,i,s={}){try{let a=await this.taskService.updateProperty(t,n,i,s);if(!s.silent)if(n==="status"){let o=typeof i=="string"?i:String(i),l=this.statusManager.getStatusConfig(o);new We.Notice(`Task marked as '${(l==null?void 0:l.label)||o}'`)}else new We.Notice(`Task ${n} updated`);return a}catch(a){throw console.error(`Failed to update task ${n}:`,a),new We.Notice(`Failed to update task ${n}`),a}}async toggleRecurringTaskComplete(t,n){var i;try{let s=await this.taskService.resolveRecurringTaskActionDate(t,n),a=await this.taskService.toggleRecurringTaskComplete(t,s),o=ue(s),c=((i=a.complete_instances)==null?void 0:i.includes(o))?"completed":"marked incomplete",d=Mr(o);return new We.Notice(`Recurring task ${c} for ${P(d,"MMM d")}`),a}catch(s){throw console.error("Failed to toggle recurring task completion:",s),new We.Notice("Failed to update recurring task"),s}}async toggleTaskArchive(t){try{let n=await this.taskService.toggleArchive(t),i=n.archived?"archived":"unarchived";return new We.Notice(`Task ${i}`),n}catch(n){throw console.error("Failed to toggle task archive:",n),new We.Notice("Failed to update task archive status"),n}}async toggleTaskStatus(t){try{let n=await this.taskService.toggleStatus(t),i=this.statusManager.getStatusConfig(n.status);return new We.Notice(`Task marked as '${(i==null?void 0:i.label)||n.status}'`),n}catch(n){throw console.error("Failed to toggle task status:",n),new We.Notice("Failed to update task status"),n}}openTaskCreationModal(t){new zu(this.app,this,{prePopulatedValues:t}).open()}async convertCurrentNoteToTask(){var u,p,m;let t=this.app.workspace.getActiveFile();if(!t){new We.Notice(this.i18n.translate("commands.convertCurrentNoteToTask.noActiveFile"));return}if(await this.cacheManager.getTaskInfo(t.path)){new We.Notice(this.i18n.translate("commands.convertCurrentNoteToTask.alreadyTask"));return}let i=this.app.metadataCache.getFileCache(t),s=(i==null?void 0:i.frontmatter)||{},a=await this.app.vault.read(t),o="",l=a.match(/^---\n[\s\S]*?\n---\n*/);l?o=a.slice(l[0].length).trim():o=a.trim();let c=Ve(),d={path:t.path,title:Zh(s.title)||t.basename,status:(u=Zh(s.status))!=null?u:this.settings.defaultTaskStatus,priority:(p=Zh(s.priority))!=null?p:this.settings.defaultTaskPriority,archived:!1,due:Zh(s.due),scheduled:Zh(s.scheduled),contexts:bZ(s.contexts),projects:bZ(s.projects),tags:(m=bZ(s.tags))!=null?m:[],timeEstimate:_wt(s.timeEstimate),recurrence:Zh(s.recurrence),dateCreated:Zh(s.dateCreated)||c,dateModified:c,details:o};new Uw(this.app,this,{task:d,onTaskUpdated:f=>{new We.Notice(this.i18n.translate("commands.convertCurrentNoteToTask.success",{title:f.title}))}}).open()}async openTaskSelectorWithCreate(){await this.taskActionCoordinator.openTaskSelectorWithCreate()}async applyProjectSubtaskFilter(t){try{if(!this.app.vault.getAbstractFileByPath(t.path)){new We.Notice("Project file not found");return}new We.Notice("Project subtask filtering not available")}catch(n){console.error("Error applying project subtask filter:",n),new We.Notice("Failed to apply project filter")}}async startTimeTracking(t,n){return this.taskActionCoordinator.startTimeTracking(t,n)}async stopTimeTracking(t){return this.taskActionCoordinator.stopTimeTracking(t)}getActiveTimeSession(t){return UD(t.timeEntries||[])}isRecurringTaskCompleteForDate(t,n){if(!t.recurrence)return!1;let i=ue(n);return(Array.isArray(t.complete_instances)?t.complete_instances:[]).includes(i)}formatTime(t){return VD(t)}async openTaskEditModal(t,n){new Uw(this.app,this,{task:t,onTaskUpdated:n}).open()}async openDueDateModal(t){this.openTaskDatePicker(t,"due")}async openScheduledDateModal(t){this.openTaskDatePicker(t,"scheduled")}async openTaskDatePicker(t,n){try{let{DateTimePickerModal:i}=await Promise.resolve().then(()=>(kL(),sre)),{getDatePart:s,getTimePart:a,combineDateAndTime:o}=await Promise.resolve().then(()=>(Qe(),ML)),l=(n==="due"?t.due:t.scheduled)||"";new i(this.app,{currentDate:s(l)||null,currentTime:a(l)||null,onSelect:(d,u)=>{(async()=>{let p=d&&u?o(d,u):d||void 0;await this.taskService.updateProperty(t,n,p)})()}}).open()}catch(i){console.error("Error loading DateTimePickerModal:",i)}}async refreshCache(){try{let t=new We.Notice("Refreshing tasknotes cache...",0);await this.cacheManager.clearAllCaches(),this.notifyDataChanged(void 0,!0,!0),t.hide(),new We.Notice("Tasknotes cache refreshed successfully")}catch(t){console.error("Error refreshing cache:",t),new We.Notice("Failed to refresh cache. Please try again.")}}async convertTaskToTaskNote(t){try{let n=t.getCursor();if(!this.instantTaskConvertService){new We.Notice("Task conversion service not available. Please try again.");return}await this.instantTaskConvertService.instantConvertTask(t,n.line)}catch(n){console.error("Error converting task:",n),new We.Notice("Failed to convert task. Please try again.")}}async batchConvertAllTasks(t){try{if(!this.instantTaskConvertService){new We.Notice("Task conversion service not available. Please try again.");return}await this.instantTaskConvertService.batchConvertAllTasks(t)}catch(n){console.error("Error batch converting tasks:",n),new We.Notice("Failed to batch convert tasks. Please try again.")}}async insertTaskNoteLink(t){try{let i=(await this.cacheManager.getAllTasks()).filter(s=>!s.archived);pn(this,i,s=>{if(s){let a=this.app.vault.getAbstractFileByPath(s.path);if(a instanceof We.TFile){let o=this.app.workspace.getActiveFile(),l=(o==null?void 0:o.path)||"",c=this.app.fileManager.generateMarkdownLink(a,l,"",s.title),d=t.getCursor();t.replaceRange(c,d);let u={line:d.line,ch:d.ch+c.length};t.setCursor(u)}else new We.Notice("Failed to create link - file not found")}})}catch(n){console.error("Error inserting tasknote link:",n),new We.Notice("Failed to insert tasknote link")}}async openTaskSelectorForTimeTracking(){await this.taskActionCoordinator.openTaskSelectorForTimeTracking()}async openTaskSelectorForTimeEntryEditor(){await this.taskActionCoordinator.openTaskSelectorForTimeEntryEditor()}openTimeEntryEditor(t,n){this.taskActionCoordinator.openTimeEntryEditor(t,n)}extractSelectionInfoForCommand(t,n){let i=t.getSelection();if(i&&i.trim()){let s=t.listSelections()[0],a=Math.min(s.anchor.line,s.head.line),o=Math.max(s.anchor.line,s.head.line),l=[];for(let p=a;p<=o;p++)l.push(t.getLine(p));let c=l[0],u=l.slice(1).join(`
`).trimEnd();return{taskLine:c,details:u,startLine:a,endLine:o,originalContent:l}}else{let s=t.getLine(n);return{taskLine:s,details:"",startLine:n,endLine:n,originalContent:[s]}}}async openQuickActionsForCurrentTask(){try{let t=this.app.workspace.getActiveFile();if(!t){new We.Notice("No file is currently open");return}let n=await this.cacheManager.getTaskInfo(t.path);if(!n){new We.Notice("Current file is not a tasknote");return}let{TaskActionPaletteModal:i}=await Promise.resolve().then(()=>(ALe(),MLe)),s=new Date,a=new Date(Date.UTC(s.getFullYear(),s.getMonth(),s.getDate()));new i(this.app,n,this,a).open()}catch(t){console.error("Error opening quick actions:",t),new We.Notice("Failed to open quick actions")}}async createInlineTask(t){try{let n=t.getCursor(),i=t.getLine(n.line),s=i.trim(),a;if(s==="")a={line:n.line,ch:n.ch};else{let d={line:n.line,ch:i.length};t.replaceRange(`
`,d),a={line:n.line+1,ch:0}}let o={editor:t,insertionPoint:a},l={};if(this.settings.taskCreationDefaults.useParentNoteAsProject){let d=this.app.workspace.getActiveFile();if(d){let u=this.app.fileManager.generateMarkdownLink(d,d.path);l.projects=[u]}}new zu(this.app,this,{prePopulatedValues:Object.keys(l).length>0?l:void 0,onTaskCreated:d=>{this.handleInlineTaskCreated(d,o)},creationContext:"modal-inline-creation"}).open()}catch(n){console.error("Error creating inline task:",n),new We.Notice("Failed to create inline task")}}handleInlineTaskCreated(t,n){try{let{editor:i,insertionPoint:s}=n,a=this.app.vault.getAbstractFileByPath(t.path);if(!(a instanceof We.TFile)){new We.Notice("Failed to create link - file not found");return}let o=this.app.workspace.getActiveFile(),l=(o==null?void 0:o.path)||"",c=this.app.fileManager.generateMarkdownLink(a,l,"",t.title);i.replaceRange(c,s);let d={line:s.line,ch:s.ch+c.length};i.setCursor(d),new We.Notice(`Inline task "${t.title}" created and linked successfully`)}catch(i){console.error("Error handling inline task creation:",i),new We.Notice("Failed to insert task link")}}};var Mwt=X0;
/*! Bundled license information:
reflect-metadata/Reflect.js:
(*! *****************************************************************************
Copyright (C) Microsoft. All rights reserved.
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
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** *)
*/
/* nosourcemap */