Files
My-Notes/.obsidian/plugins/obsidian-tasks-plugin/main.js
T

531 lines
862 KiB
JavaScript
Raw Normal View History

2026-06-21 09:51:55 +08:00
/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source visit the plugins github repository
*/
/*
License obsidian-tasks:
MIT License
Copyright (c) 2021 Clare Macrae, Ilyas Landikov and Martin Schenck
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
/*
License rrule (included library):
rrule.js: Library for working with recurrence rules for calendar dates.
=======================================================================
Copyright 2010, Jakub Roztocil <jakub@roztocil.name> and Lars Schöning
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of The author nor the names of its contributors may
be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
./rrule.js and ./test/tests.js is based on python-dateutil. LICENCE:
python-dateutil - Extensions to the standard Python datetime module.
====================================================================
Copyright (c) 2003-2011 - Gustavo Niemeyer <gustavo@niemeyer.net>
Copyright (c) 2012 - Tomi Pieviläinen <tomi.pievilainen@iki.fi>
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/*
License chrono-node (included library):
The MIT License
Copyright (c) 2014, Wanasit Tanakitrungruang
*/
/*
License flatpickr (included library):
The MIT License (MIT)
Copyright (c) 2017 Gregory Petrosyan
*/
/*
License @floating-ui/dom (included library):
MIT License
Copyright (c) 2021 Floating UI contributors
*/
/*
License boon-js (included library):
The MIT License (MIT)
Copyright (c) 2020-present Jake Chorley
*/
/*
License eventemitter2 (included library):
The MIT License (MIT)
Copyright (c) 2016 Paolo Fragomeni <http://www.github.com/0x00a> and Contributors
*/
/*
License i18next (included library):
The MIT License (MIT)
Copyright (c) 2025 i18next
*/
/*
License mustache (included library):
The MIT License
Copyright (c) 2009 Chris Wanstrath (Ruby)
Copyright (c) 2010-2014 Jan Lehnardt (JavaScript)
Copyright (c) 2010-2015 The mustache.js community
*/
/*
License mustache-validator (included library):
MIT License
Copyright (c) 2022 Elias Mangoro
*/
"use strict";var eO=Object.create;var so=Object.defineProperty,tO=Object.defineProperties,nO=Object.getOwnPropertyDescriptor,rO=Object.getOwnPropertyDescriptors,iO=Object.getOwnPropertyNames,tu=Object.getOwnPropertySymbols,sO=Object.getPrototypeOf,Df=Object.prototype.hasOwnProperty,Ab=Object.prototype.propertyIsEnumerable;var Mb=(n,t,e)=>t in n?so(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e,Y=(n,t)=>{for(var e in t||(t={}))Df.call(t,e)&&Mb(n,e,t[e]);if(tu)for(var e of tu(t))Ab.call(t,e)&&Mb(n,e,t[e]);return n},pe=(n,t)=>tO(n,rO(t));var Ws=(n,t)=>{var e={};for(var r in n)Df.call(n,r)&&t.indexOf(r)<0&&(e[r]=n[r]);if(n!=null&&tu)for(var r of tu(n))t.indexOf(r)<0&&Ab.call(n,r)&&(e[r]=n[r]);return e};var Q=(n,t)=>()=>(n&&(t=n(n=0)),t);var M=(n,t)=>()=>(t||n((t={exports:{}}).exports,t),t.exports),Pb=(n,t)=>{for(var e in t)so(n,e,{get:t[e],enumerable:!0})},Nb=(n,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of iO(t))!Df.call(n,i)&&i!==e&&so(n,i,{get:()=>t[i],enumerable:!(r=nO(t,i))||r.enumerable});return n};var js=(n,t,e)=>(e=n!=null?eO(sO(n)):{},Nb(t||!n||!n.__esModule?so(e,"default",{value:n,enumerable:!0}):e,n)),Ib=n=>Nb(so({},"__esModule",{value:!0}),n);var A=(n,t,e)=>new Promise((r,i)=>{var s=l=>{try{o(e.next(l))}catch(u){i(u)}},a=l=>{try{o(e.throw(l))}catch(u){i(u)}},o=l=>l.done?r(l.value):Promise.resolve(l.value).then(s,a);o((e=e.apply(n,t)).next())});var ve,ao,Fb,aO,oO,Lb,Yb,oo,Ub,lO,ru,uO,Gb,$s,cO,dO,xf,fO,pO,mO,Of,iu,hO,Rf,Or,Bs,su,zb,qb,au,ou,Wb,jb,Cf,$b,Ef,Mf,gO,Hs,Af,yO,Pf,Hb,Bb,nu,bO,lu,_t,qW,WW,jW,$W,HW,BW,GW,zW,VW,KW,QW,ZW,XW,JW,Vb=Q(()=>{ve=n=>typeof n=="string",ao=()=>{let n,t,e=new Promise((r,i)=>{n=r,t=i});return e.resolve=n,e.reject=t,e},Fb=n=>n==null?"":""+n,aO=(n,t,e)=>{n.forEach(r=>{t[r]&&(e[r]=t[r])})},oO=/###/g,Lb=n=>n&&n.indexOf("###")>-1?n.replace(oO,"."):n,Yb=n=>!n||ve(n),oo=(n,t,e)=>{let r=ve(t)?t.split("."):t,i=0;for(;i<r.length-1;){if(Yb(n))return{};let s=Lb(r[i]);!n[s]&&e&&(n[s]=new e),Object.prototype.hasOwnProperty.call(n,s)?n=n[s]:n={},++i}return Yb(n)?{}:{obj:n,k:Lb(r[i])}},Ub=(n,t,e)=>{let{obj:r,k:i}=oo(n,t,Object);if(r!==void 0||t.length===1){r[i]=e;return}let s=t[t.length-1],a=t.slice(0,t.length-1),o=oo(n,a,Object);for(;o.obj===void 0&&a.length;)s=`${a[a.length-1]}.${s}`,a=a.slice(0,a.length-1),o=oo(n,a,Object),o!=null&&o.obj&&typeof o.obj[`${o.k}.${s}`]!="undefined"&&(o.obj=void 0);o.obj[`${o.k}.${s}`]=e},lO=(n,t,e,r)=>{let{obj:i,k:s}=oo(n,t,Object);i[s]=i[s]||[],i[s].push(e)},ru=(n,t)=>{let{obj:e,k:r}=oo(n,t);if(e&&Object.prototype.hasOwnProperty.call(e,r))return e[r]},uO=(n,t,e)=>{let r=ru(n,e);return r!==void 0?r:ru(t,e)},Gb=(n,t,e)=>{for(let r in t)r!=="__proto__"&&r!=="constructor"&&(r in n?ve(n[r])||n[r]instanceof String||ve(t[r])||t[r]instanceof String?e&&(n[r]=t[r]):Gb(n[r],t[r],e):n[r]=t[r]);return n},$s=n=>n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),cO={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"},dO=n=>ve(n)?n.replace(/[&<>"'\/]/g,t=>cO[t]):n,xf=class{constructor(t){this.capacity=t,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(t){let e=this.regExpMap.get(t);if(e!==void 0)return e;let r=new RegExp(t);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(t,r),this.regExpQueue.push(t),r}},fO=[" ",",","?","!",";"],pO=new xf(20),mO=(n,t,e)=>{t=t||"",e=e||"";let r=fO.filter(a=>t.indexOf(a)<0&&e.indexOf(a)<0);if(r.length===0)return!0;let i=pO.getRegExp(`(${r.map(a=>a==="?"?"\\?":a).join("|")})`),s=!i.test(n);if(!s){let a=n.indexOf(e);a>0&&!i.test(n.substring(0,a))&&(s=!0)}return s},Of=function(n,t){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!n)return;if(n[t])return Object.prototype.hasOwnProperty.call(n,t)?n[t]:void 0;let r=t.split(e),i=n;for(let s=0;s<r.length;){if(!i||typeof i!="object")return;let a,o="";for(let l=s;l<r.length;++l)if(l!==s&&(o+=e),o+=r[l],a=i[o],a!==void 0){if(["string","number","boolean"].indexOf(typeof a)>-1&&l<r.length-1)continue;s+=l-s+1;break}i=a}return i},iu=n=>n==null?void 0:n.replace("_
path does not include _templates/
limit 300
show urgency`}},presets:{buttons:{addNewPreset:""},line1:"",line2:"",name:""},recurringTasks:{heading:"\u041F\u0435\u0440\u044B\u044F\u0434\u044B\u0447\u043D\u044B\u044F \u0437\u0430\u0434\u0430\u0447\u044B",nextLine:{description:"\u0423\u043A\u043B\u044E\u0447\u044D\u043D\u043D\u0435 \u0433\u044D\u0442\u0430\u0433\u0430 \u0437\u0440\u043E\u0431\u0456\u0446\u044C \u043D\u0430\u0441\u0442\u0443\u043F\u043D\u0430\u0435 \u043F\u0430\u045E\u0442\u0430\u0440\u044D\u043D\u043D\u0435 \u0437\u0430\u0434\u0430\u0447\u044B \u043D\u0430 \u0440\u0430\u0434\u043A\u0443 \u043D\u0456\u0436\u044D\u0439 \u0437\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u043D\u0443\u044E \u0437\u0430\u0434\u0430\u0447\u0443. \u0423 \u0430\u0434\u0432\u0430\u0440\u043E\u0442\u043D\u044B\u043C \u0432\u044B\u043F\u0430\u0434\u043A\u0443 \u043D\u0430\u0441\u0442\u0443\u043F\u043D\u0430\u0435 \u043F\u0430\u045E\u0442\u0430\u0440\u044D\u043D\u043D\u0435 \u0437'\u044F\u0432\u0456\u0446\u0446\u0430 \u043F\u0435\u0440\u0430\u0434 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u043D\u0430\u0439 \u0437\u0430\u0434\u0430\u0447\u0430\u0439.",name:"\u041D\u0430\u0441\u0442\u0443\u043F\u043D\u0430\u0435 \u043F\u0430\u045E\u0442\u0430\u0440\u044D\u043D\u043D\u0435 \u0437'\u044F\u045E\u043B\u044F\u0435\u0446\u0446\u0430 \u043D\u0430 \u0440\u0430\u0434\u043A\u0443 \u043D\u0456\u0436\u044D\u0439"},removeScheduledDate:{description:{line1:"",line2:""},name:""}},searches:{enableCustomSearches:{description:{line1:"",line2:"",line3:"",line4:""},name:""},heading:""},searchResults:{heading:"",taskCountLocation:{description:"",name:"",options:{bottom:"",top:""}}},seeTheDocumentation:"\u0413\u043B\u044F\u0434\u0437\u0456\u0446\u0435 \u0434\u0430\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u044B\u044E",statuses:{collections:{anuppuccinTheme:"\u0422\u044D\u043C\u0430 AnuPpuccin",auraTheme:"\u0422\u044D\u043C\u0430 Aura",borderTheme:"\u0422\u044D\u043C\u0430 Border",buttons:{addCollection:{name:"{{themeName}}: \u0414\u0430\u0434\u0430\u0446\u044C {{numberOfStatuses}} \u043F\u0430\u0434\u0442\u0440\u044B\u043C\u043E\u045E\u0432\u0430\u043D\u044B\u044F \u0441\u0442\u0430\u0442\u0443\u0441\u044B"}},ebullientworksTheme:"\u0422\u044D\u043C\u0430 Ebullientworks",itsThemeAndSlrvbCheckboxes:"\u0422\u044D\u043C\u0430 ITS \u0456 \u0441\u0446\u044F\u0436\u043A\u0456 SlRvb",lytModeTheme:"\u0422\u044D\u043C\u0430 LYT Mode (\u0442\u043E\u043B\u044C\u043A\u0456 \u0446\u0451\u043C\u043D\u044B \u0440\u044D\u0436\u044B\u043C)",minimalTheme:"\u041C\u0456\u043D\u0456\u043C\u0430\u043B\u044C\u043D\u0430\u044F \u0442\u044D\u043C\u0430",thingsTheme:"\u0422\u044D\u043C\u0430 Things"},coreStatuses:{buttons:{checkStatuses:{name:"\u041F\u0440\u0430\u0433\u043B\u044F\u0434\u0437\u0435\u0446\u044C \u0456 \u043F\u0440\u0430\u0432\u0435\u0440\u044B\u0446\u044C \u0432\u0430\u0448\u044B \u0441\u0442\u0430\u0442\u0443\u0441\u044B",tooltip:"\u0421\u0442\u0432\u0430\u0440\u044B\u0446\u044C \u043D\u043E\u0432\u044B \u0444\u0430\u0439\u043B \u0443 \u043A\u0430\u0440\u0430\u043D\u0451\u0432\u0430\u0439 \u0442\u044D\u0447\u0446\u044B \u0441\u0445\u043E\u0432\u0456\u0448\u0447\u0430, \u044F\u043A\u0456 \u0437\u043C\u044F\u0448\u0447\u0430\u0435 \u0434\u044B\u044F\u0433\u0440\u0430\u043C\u0443 Mermaid \u0437 \u0431\u044F\u0433\u0443\u0447\u044B\u043C\u0456 \u043D\u0430\u043B\u0430\u0434\u0430\u043C\u0456 \u0441\u0442\u0430\u0442\u0443\u0441\u0443."}},description:{line1:"\u0413\u044D\u0442\u0430 \u0430\u0441\u043D\u043E\u045E\u043D\u044B\u044F \u0441\u0442\u0430\u0442\u0443\u0441\u044B, \u044F\u043A\u0456\u044F Tasks \u043F\u0430\u0434\u0442\u0440\u044B\u043C\u043B\u0456\u0432\u0430\u0435 \u045E\u043B\u0430\u0441\u043D\u0430, \u0431\u0435\u0437 \u043F\u0430\u0442\u0440\u044D\u0431\u044B \u045E \u043A\u0430\u0440\u044B\u0441\u0442\u0430\u043B\u044C\u043D\u0456\u0446\u043A\u0456\u043C CSS-\u0441\u0442\u044B\u043B\u0456 \u0430\u0431\u043E \u0442\u044D\u043C\u0430\u0442\u044B\u0437\u0430\u0446\u044B\u0456.",line2:"\u0412\u044B \u043C\u043E\u0436\u0430\u0446\u0435 \u0440\u044D\u0434\u0430\u0433\u0430\u0432\u0430\u0446\u044C \
path does not include _templates/
limit 300
show urgency`}},presets:{buttons:{addNewPreset:""},line1:"",line2:"",name:""},recurringTasks:{heading:"Wiederkehrende Aufgaben",nextLine:{description:"Aktivieren Sie dies, damit das n\xE4chste Auftreten einer Aufgabe in der Zeile unterhalb der abgeschlossenen Aufgabe erscheint. Ansonsten erscheint es vor der abgeschlossenen Aufgabe.",name:"N\xE4chste Wiederholung erscheint in Zeile darunter"},removeScheduledDate:{description:{line1:"Aktiviert, damit das n\xE4chste Auftreten einer Aufgabe keinen geplanten (\u23F3) Termin hat, wenn mindestens Start-(\u{1F6EB}) oder F\xE4lligkeitsdaten (\u{1F4C5}) vorhanden sind.",line2:"Dies gilt, wenn Sie m\xF6chten, dass Start- und F\xE4lligkeitsdaten beim n\xE4chsten Auftreten beibehalten werden, aber das geplante Datum sp\xE4ter festgelegt wird, sobald Sie planen, daran zu arbeiten."},name:"Geplantes Datum bei Wiederholung entfernen"}},searches:{enableCustomSearches:{description:{line1:"",line2:"",line3:"",line4:""},name:""},heading:""},searchResults:{heading:"",taskCountLocation:{description:"",name:"",options:{bottom:"",top:""}}},seeTheDocumentation:"Vgl. die Dokumentation",statuses:{collections:{anuppuccinTheme:"AnuPpuccin Theme",auraTheme:"Aura Theme",borderTheme:"Border Theme",buttons:{addCollection:{name:"{{themeName}}: F\xFCge {{numberOfStatuses}} unterst\xFCtzte Status hinzu"}},ebullientworksTheme:"Ebullientworks Theme",itsThemeAndSlrvbCheckboxes:"ITS Theme & SlRvb Kontrollk\xE4stchen",lytModeTheme:"LYT Mode Theme (nur Dunkelmodus)",minimalTheme:"Minimal Theme",thingsTheme:"Things Theme"},coreStatuses:{buttons:{checkStatuses:{name:"\xDCberpr\xFCfen und einsehen Sie Ihre Status-Eintr\xE4ge",tooltip:"Erstellen Sie eine neue Datei im Hauptverzeichnis des Tresors, die ein Mermaid-Diagramm der aktuellen Statuseinstellungen enth\xE4lt."}},description:{line1:"Diese Kern-Status unterst\xFCtzt Tasks nativ ohne benutzerdefiniertes CSS-Styling oder Themes.",line2:"Hinzuf\xFCgen und Bearbeiten Ihrer eigenen benutzerdefinierten Status k\xF6nnen Sie im unteren Abschnitt."},heading:"Kern-Status"},customStatuses:{buttons:{addAllUnknown:{name:"Alle unbekannten Statustypen hinzuf\xFCgen"},addNewStatus:{name:"Neuen Aufgabenstatus hinzuf\xFCgen"},resetCustomStatuses:{name:"Benutzerdefinierte Statustypen auf Standard zur\xFCcksetzen"}},description:{line1:"Zuerst w\xE4hlen und installieren Sie ein CSS-Snippet oder Theme, um benutzerdefinierte Kontrollk\xE4stchen zu formatieren.",line2:"Verwenden Sie dann die untenstehenden Schaltfl\xE4chen, um Ihre benutzerdefinierten Status zu erstellen, sodass sie mit Ihren ausgew\xE4hlten CSS-Kontrollk\xE4stchen \xFCbereinstimmen.",line3:"Hinweis: Status mit dem gleichen Symbol wie ein fr\xFCherer Status ignorieren wir. Best\xE4tigen Sie die tats\xE4chlich geladenen Status, indem Sie den 'Aufgabe erstellen oder bearbeiten'-Befehl ausf\xFChren und das Status-Dropdown anschauen.",line4:"Nutzen Sie die Dokumentation, um loszulegen!"},heading:"Benutzerdefinierte Status"},heading:"Aufgabenstatus"}}}});var eT,Jb=Q(()=>{eT={main:{loadingPlugin:"Loading plugin: {{name}} v{{version}}",unloadingPlugin:"Unloading plugin: {{name}} v{{version}}"},modals:{customStatusModal:{editAvailableAsCommand:{description:"If enabled this status will be available as a command so you can assign a hotkey and toggle the status using it.",name:"Available as command"},editNextStatusSymbol:{description:"When clicked on this is the symbol that should be used next.",name:"Task Next Status Symbol"},editStatusName:{description:"This is the friendly name of the task status.",name:"Task Status Name"},editStatusSymbol:{description:"This is the character between the square braces. (It can only be edited for Custom statuses, and not Core statuses.)",name:"Task Status Symbol"},editStatusType:{description:"Control how the status behaves for searching and toggling.",name:"Task Status Type"},fixErrorsBeforeSaving:"Fix errors before saving."}},notices:{"do-not-show-message-again":"Do not show me this message again","live-preview-callout-warning":{line1:"Obsidian does not currently give plugins the correct ta
path does not include _templates/
limit 300
show urgency`}},presets:{buttons:{addNewPreset:"Add new preset"},line1:"You can define named instructions here, that you can re-use in multiple queries. A preset called '{{name}}' can be used in Tasks queries with either '{{instruction1}}' or '{{instruction2}}'.",line2:"Any open Tasks queries are reloaded automatically when presets are edited.",name:"Presets"},recurringTasks:{heading:"Recurring tasks",nextLine:{description:"Enabling this will make the next recurrence of a task appear on the line below the completed task. Otherwise the next recurrence will appear before the completed one.",name:"Next recurrence appears on the line below"},removeScheduledDate:{description:{line1:"Enabling this will make the next recurrence of a task have no Scheduled (\u23F3) date, when at least one of Start (\u{1F6EB}) or Due (\u{1F4C5}) dates is present.",line2:"This is for when you want the Start and Due dates to carry forward to the next recurrence, but you will set the Scheduled date in future, once you plan to work on it."},name:"Remove scheduled date on recurrence"}},searches:{enableCustomSearches:{description:{line1:"Enables '{{filterByFunction}}', '{{sortByFunction}}', and '{{groupByFunction}}', which execute JavaScript in Tasks queries.",line2:"Malicious JavaScript in a Tasks query or Markdown file could run inside Obsidian and access or modify your vault contents, local files, or other system resources.",line3:"Only enable this if you trust the current and future contents of this vault, including files you may later download, copy, or sync from other people.",line4:"This setting is stored on this device only; enable it separately on each device where you use this vault."},name:"Enable custom searches"},heading:"Searches"},searchResults:{heading:"Search results",taskCountLocation:{description:"Choose whether the task count is shown at the top or bottom of query results.",name:"Task count location",options:{bottom:"Bottom",top:"Top"}}},seeTheDocumentation:"See the documentation",statuses:{collections:{anuppuccinTheme:"AnuPpuccin Theme",auraTheme:"Aura Theme",borderTheme:"Border Theme",buttons:{addCollection:{name:"{{themeName}}: Add {{numberOfStatuses}} supported Statuses"}},ebullientworksTheme:"Ebullientworks Theme",itsThemeAndSlrvbCheckboxes:"ITS Theme & SlRvb Checkboxes",lytModeTheme:"LYT Mode Theme (Dark mode only)",minimalTheme:"Minimal Theme",thingsTheme:"Things Theme"},coreStatuses:{buttons:{checkStatuses:{name:"Review and check your Statuses",tooltip:"Create a new file in the root of the vault, containing a Mermaid diagram of the current status settings."}},description:{line1:"These are the core statuses that Tasks supports natively, with no need for custom CSS styling or theming.",line2:"You can add edit and add your own custom statuses in the section below."},heading:"Core Statuses"},customStatuses:{buttons:{addAllUnknown:{name:"Add All Unknown Status Types"},addNewStatus:{name:"Add New Task Status"},resetCustomStatuses:{name:"Reset Custom Status Types to Defaults"}},description:{line1:"You should first <b>select and install a CSS Snippet or Theme</b> to style custom checkboxes.",line2:"Then, use the buttons below to set up your custom statuses, to match your chosen CSS checkboxes.",line3:"<b>Note</b> Any statuses with the same symbol as any earlier statuses will be ignored. You can confirm the actually loaded statuses by running the 'Create or edit task' command and looking at the Status drop-down.",line4:"See the documentation to get started!"},heading:"Custom Statuses"},heading:"Task Statuses"}}}});var nT,tT=Q(()=>{nT={main:{loadingPlugin:"\uD50C\uB7EC\uADF8\uC778 \uB85C\uB4DC \uC911: {{name}} v{{version}}",unloadingPlugin:"\uD50C\uB7EC\uADF8\uC778 \uC5B8\uB85C\uB4DC \uC911: {{name}} v{{version}}"},modals:{customStatusModal:{editAvailableAsCommand:{description:"\uD65C\uC131\uD654\uD558\uBA74 \uC774 \uC0C1\uD0DC\uB97C \uBA85\uB839\uC5B4(command)\uB85C \uC0AC\uC6A9\uD560 \uC218 \uC788\uC5B4 \uB2E8\uCD95\uD0A4\uB97C \uC9C0\uC815\uD558\uACE0 \uC0C1\uD0DC\uB97C \uC804\uD658\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",name:"\u
path does not include _templates/
limit 300
show urgency`}},presets:{buttons:{addNewPreset:"\uC0C8 \uD504\uB9AC\uC14B \uCD94\uAC00"},line1:"\uC5EC\uAE30\uC11C \uC774\uB984 \uC788\uB294 \uC9C0\uCE68\uC744 \uC815\uC758\uD574 \uC5EC\uB7EC \uCFFC\uB9AC\uC5D0\uC11C \uC7AC\uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. '{{name}}' \uD504\uB9AC\uC14B\uC740 Tasks \uCFFC\uB9AC\uC5D0\uC11C '{{instruction1}}' \uB610\uB294 '{{instruction2}}'\uB85C \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",line2:"\uD504\uB9AC\uC14B\uC744 \uC218\uC815\uD558\uBA74 \uC5F4\uB824 \uC788\uB294 \uBAA8\uB4E0 Tasks \uCFFC\uB9AC\uAC00 \uC790\uB3D9\uC73C\uB85C \uC0C8\uB85C\uACE0\uCE68\uB429\uB2C8\uB2E4.",name:"\uD504\uB9AC\uC14B"},recurringTasks:{heading:"\uBC18\uBCF5 \uC791\uC5C5",nextLine:{description:"\uD65C\uC131\uD654\uD558\uBA74 \uC644\uB8CC\uB41C \uC791\uC5C5\uC758 \uBC14\uB85C \uC544\uB798 \uC904\uC5D0 \uB2E4\uC74C \uBC18\uBCF5\uC774 \uB098\uD0C0\uB0A9\uB2C8\uB2E4. \uBE44\uD65C\uC131\uD654 \uC2DC \uB2E4\uC74C \uBC18\uBCF5\uC740 \uC644\uB8CC\uB41C \uC791\uC5C5 \uC55E\uC5D0 \uB098\uD0C0\uB0A9\uB2C8\uB2E4.",name:"\uB2E4\uC74C \uBC18\uBCF5\uC744 \uC544\uB798 \uC904\uC5D0 \uD45C\uC2DC"},removeScheduledDate:{description:{line1:"\uD65C\uC131\uD654\uD558\uBA74 \uC2DC\uC791\uC77C(\u{1F6EB})\uB610\uB294 \uB9C8\uAC10\uC77C(\u{1F4C5}) \uC911 \uD558\uB098\uB77C\uB3C4 \uC788\uC744 \uB54C, \uB2E4\uC74C \uBC18\uBCF5 \uC791\uC5C5\uC5D0\uB294 \uC608\uC815\uC77C(\u23F3)\uC744 \uC124\uC815\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.",line2:"\uC2DC\uC791\uC77C\uACFC \uB9C8\uAC10\uC77C\uC740 \uB2E4\uC74C \uBC18\uBCF5\uC73C\uB85C \uB118\uAE30\uB418, \uC608\uC815\uC77C\uC740 \uCD94\uD6C4 \uC791\uC5C5 \uACC4\uD68D \uC2DC\uC810\uC5D0 \uC124\uC815\uD558\uB824\uB294 \uACBD\uC6B0\uC5D0 \uC720\uC6A9\uD569\uB2C8\uB2E4."},name:"\uBC18\uBCF5 \uC2DC \uC608\uC815\uC77C \uC81C\uAC70"}},searches:{enableCustomSearches:{description:{line1:"",line2:"",line3:"",line4:""},name:""},heading:""},searchResults:{heading:"",taskCountLocation:{description:"",name:"",options:{bottom:"",top:""}}},seeTheDocumentation:"\uBB38\uC11C \uBCF4\uAE30",statuses:{collections:{anuppuccinTheme:"AnuPpuccin \uD14C\uB9C8",auraTheme:"Aura \uD14C\uB9C8",borderTheme:"Border \uD14C\uB9C8",buttons:{addCollection:{name:"{{themeName}}: \uC9C0\uC6D0\uB418\uB294 \uC0C1\uD0DC {{numberOfStatuses}}\uAC1C \uCD94\uAC00"}},ebullientworksTheme:"Ebullientworks \uD14C\uB9C8",itsThemeAndSlrvbCheckboxes:"ITS \uD14C\uB9C8 & SlRvb \uCCB4\uD06C\uBC15\uC2A4",lytModeTheme:"LYT Mode \uD14C\uB9C8 (\uB2E4\uD06C \uBAA8\uB4DC \uC804\uC6A9)",minimalTheme:"Minimal \uD14C\uB9C8",thingsTheme:"Things \uD14C\uB9C8"},coreStatuses:{buttons:{checkStatuses:{name:"\uC0C1\uD0DC \uAC80\uD1A0 \uBC0F \uD655\uC778",tooltip:"\uBCF4\uAD00\uC18C \uB8E8\uD2B8\uC5D0 \uD604\uC7AC \uC0C1\uD0DC \uC124\uC815\uC758 Mermaid \uB2E4\uC774\uC5B4\uADF8\uB7A8\uC744 \uD3EC\uD568\uD55C \uC0C8 \uD30C\uC77C\uC744 \uC0DD\uC131\uD569\uB2C8\uB2E4."}},description:{line1:"\uC774\uAC83\uB4E4\uC740 \uC0AC\uC6A9\uC790 \uC815\uC758 CSS\uB098 \uD14C\uB9C8 \uC5C6\uC774\uB3C4 Tasks\uAC00 \uC790\uCCB4\uC801\uC73C\uB85C \uC9C0\uC6D0\uD558\uB294 \uCF54\uC5B4 \uC0C1\uD0DC\uC785\uB2C8\uB2E4.",line2:"\uC544\uB798 \uC139\uC158\uC5D0\uC11C \uC0AC\uC6A9\uC790 \uC815\uC758 \uC0C1\uD0DC\uB97C \uC9C1\uC811 \uD3B8\uC9D1\uD558\uACE0 \uCD94\uAC00\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4."},heading:"\uCF54\uC5B4 \uC0C1\uD0DC"},customStatuses:{buttons:{addAllUnknown:{name:"\uC54C \uC218 \uC5C6\uB294 \uBAA8\uB4E0 \uC0C1\uD0DC \uC720\uD615 \uCD94\uAC00"},addNewStatus:{name:"\uC0C8 \uC791\uC5C5 \uC0C1\uD0DC \uCD94\uAC00"},resetCustomStatuses:{name:"\uC0AC\uC6A9\uC790 \uC815\uC758 \uC0C1\uD0DC\uB97C \uAE30\uBCF8\uAC12\uC73C\uB85C \uC7AC\uC124\uC815"}},description:{line1:"\uBA3C\uC800 <b>CSS \uC2A4\uB2C8\uD3AB \uB610\uB294 \uD14C\uB9C8\uB97C \uC124\uCE58\uD558\uC5EC \uC0AC\uC6A9\uC790 \uC815\uC758 \uCCB4\uD06C\uBC15\uC2A4\uC5D0 \uC2A4\uD0C0\uC77C\uC744 \uC801\uC6A9</b>\uD558\uC138\uC694.",line2:"\uADF8 \uB2E4\uC74C, \uC544\uB798 \uBC84\uD2BC\uC744 \uC0AC\uC6A9\uD558\uC5EC \uC120\uD0DD\uD55C \uCCB4\uD06C\uBC15\uC2A4 \uC2A4\uD0C0\uC77C\uC5D0 \uB9DE\uCDB0
path does not include _templates/
limit 300
show urgency`}},presets:{buttons:{addNewPreset:"Adicionar nova predefini\xE7\xE3o"},line1:"Voc\xEA pode definir instru\xE7\xF5es nomeadas aqui, que podem ser reutilizadas em v\xE1rias consultas. Uma predefini\xE7\xE3o chamada '{{name}}' pode ser usada em consultas do Tasks com '{{instruction1}}' ou '{{instruction2}}'.",line2:"Quaisquer consultas do Tasks abertas s\xE3o recarregadas automaticamente quando as predefini\xE7\xF5es s\xE3o editadas.",name:"Predefini\xE7\xF5es (Presets)"},recurringTasks:{heading:"Tarefas recorrentes",nextLine:{description:"A ativa\xE7\xE3o desta op\xE7\xE3o far\xE1 com que a pr\xF3xima recorr\xEAncia de uma tarefa apare\xE7a na linha logo abaixo da tarefa conclu\xEDda. Caso contr\xE1rio, a pr\xF3xima recorr\xEAncia aparecer\xE1 antes da conclu\xEDda.",name:"A pr\xF3xima recorr\xEAncia aparece na linha de baixo"},removeScheduledDate:{description:{line1:"A ativa\xE7\xE3o desta op\xE7\xE3o far\xE1 com que a pr\xF3xima recorr\xEAncia de uma tarefa n\xE3o tenha data Agendada (\u23F3), quando pelo menos uma das datas de In\xEDcio (\u{1F6EB}) ou Vencimento (\u{1F4C5}) estiver presente.",line2:"Isto \xE9 \xFAtil para quando voc\xEA deseja que as datas de In\xEDcio e Vencimento sejam mantidas na pr\xF3xima recorr\xEAncia, mas pretende definir a data Agendada no futuro, quando for planejar trabalhar nela."},name:"Remover data agendada na recorr\xEAncia"}},searches:{enableCustomSearches:{description:{line1:"",line2:"",line3:"",line4:""},name:""},heading:""},searchResults:{heading:"Resultados da pesquisa",taskCountLocation:{description:"Escolha se a contagem de tarefas deve ser mostrada na parte superior ou inferior dos resultados da consulta.",name:"Localiza\xE7\xE3o da contagem de tarefas",options:{bottom:"Inferior",top:"Superior"}}},seeTheDocumentation:"Veja a documenta\xE7\xE3o",statuses:{collections:{anuppuccinTheme:"Tema AnuPpuccin",auraTheme:"Tema Aura",borderTheme:"Tema Border",buttons:{addCollection:{name:"{{themeName}}: Adicionar {{numberOfStatuses}} Status suportados"}},ebullientworksTheme:"Tema Ebullientworks",itsThemeAndSlrvbCheckboxes:"Tema ITS e Checkboxes SlRvb",lytModeTheme:"Tema LYT Mode (Somente modo escuro)",minimalTheme:"Tema Minimal",thingsTheme:"Tema Things"},coreStatuses:{buttons:{checkStatuses:{name:"Revisar e verificar seus Status",tooltip:"Criar um novo arquivo na raiz do cofre, contendo um diagrama Mermaid das configura\xE7\xF5es atuais de status."}},description:{line1:"Estes s\xE3o os status principais que o Tasks suporta nativamente, sem a necessidade de estilos CSS personalizados ou temas.",line2:"Voc\xEA pode adicionar e editar seus pr\xF3prios status personalizados na se\xE7\xE3o abaixo."},heading:"Status Principais"},customStatuses:{buttons:{addAllUnknown:{name:"Adicionar Todos os Tipos de Status Desconhecidos"},addNewStatus:{name:"Adicionar Novo Status de Tarefa"},resetCustomStatuses:{name:"Redefinir Tipos de Status Personalizados para os Padr\xF5es"}},description:{line1:"Primeiro, voc\xEA deve <b>selecionar e instalar um Snippet CSS ou Tema</b> para estilizar as caixas de sele\xE7\xE3o personalizadas.",line2:"Em seguida, use os bot\xF5es abaixo para configurar seus status personalizados, para que correspondam \xE0s caixas de sele\xE7\xE3o CSS escolhidas.",line3:"<b>Nota:</b> Qualquer status com o mesmo s\xEDmbolo de um status anterior ser\xE1 ignorado. Voc\xEA pode confirmar os status que foram realmente carregados executando o comando 'Criar ou editar tarefa' e olhando a lista suspensa de Status.",line4:"Veja a documenta\xE7\xE3o para come\xE7ar!"},heading:"Status Personalizados"},heading:"Status das Tarefas"}}}});var aT,sT=Q(()=>{aT={main:{loadingPlugin:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u043F\u043B\u0430\u0433\u0438\u043D\u0430: {{name}} v{{version}}",unloadingPlugin:"\u0412\u044B\u0433\u0440\u0443\u0437\u043A\u0430 \u043F\u043B\u0430\u0433\u0438\u043D\u0430: {{name}} v{{version}}"},modals:{customStatusModal:{editAvailableAsCommand:{description:"\u0415\u0441\u043B\u0438 \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u043E, \u044D\u0442\u043E\u0442 \u0441\
path does not include _templates/
limit 300
show urgency`}},presets:{buttons:{addNewPreset:""},line1:"",line2:"",name:""},recurringTasks:{heading:"\u041F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0438\u0435\u0441\u044F \u0437\u0430\u0434\u0430\u0447\u0438",nextLine:{description:"\u0412\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u044D\u0442\u043E\u0439 \u043E\u043F\u0446\u0438\u0438 \u043F\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043A \u0442\u043E\u043C\u0443, \u0447\u0442\u043E \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0435 \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u043F\u043E\u044F\u0432\u0438\u0442\u0441\u044F \u043D\u0430 \u0441\u0442\u0440\u043E\u043A\u0435 \u043D\u0438\u0436\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043D\u043E\u0439 \u0437\u0430\u0434\u0430\u0447\u0438. \u0412 \u043F\u0440\u043E\u0442\u0438\u0432\u043D\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0435 \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0435 \u043F\u043E\u044F\u0432\u0438\u0442\u0441\u044F \u043F\u0435\u0440\u0435\u0434 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043D\u043E\u0439.",name:"\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0435 \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0435 \u043F\u043E\u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u043D\u0430 \u0441\u0442\u0440\u043E\u043A\u0435 \u043D\u0438\u0436\u0435"},removeScheduledDate:{description:{line1:"",line2:""},name:""}},searches:{enableCustomSearches:{description:{line1:"",line2:"",line3:"",line4:""},name:""},heading:""},searchResults:{heading:"",taskCountLocation:{description:"",name:"",options:{bottom:"",top:""}}},seeTheDocumentation:"\u0421\u043C\u043E\u0442\u0440\u0438\u0442\u0435 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u044E",statuses:{collections:{anuppuccinTheme:"\u0422\u0435\u043C\u0430 AnuPpuccin",auraTheme:"\u0422\u0435\u043C\u0430 Aura",borderTheme:"\u0422\u0435\u043C\u0430 Border",buttons:{addCollection:{name:"{{themeName}}: \u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C {{numberOfStatuses}} \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043C\u044B\u0445 \u0441\u0442\u0430\u0442\u0443\u0441\u043E\u0432"}},ebullientworksTheme:"\u0422\u0435\u043C\u0430 Ebullientworks",itsThemeAndSlrvbCheckboxes:"\u0422\u0435\u043C\u0430 ITS \u0438 \u0444\u043B\u0430\u0436\u043A\u0438 SlRvb",lytModeTheme:"\u0422\u0435\u043C\u0430 LYT Mode (\u0442\u043E\u043B\u044C\u043A\u043E \u0442\u0435\u043C\u043D\u044B\u0439 \u0440\u0435\u0436\u0438\u043C)",minimalTheme:"\u0422\u0435\u043C\u0430 Minimal",thingsTheme:"\u0422\u0435\u043C\u0430 Things"},coreStatuses:{buttons:{checkStatuses:{name:"\u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C \u0438 \u043F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u0441\u0432\u043E\u0438 \u0441\u0442\u0430\u0442\u0443\u0441\u044B",tooltip:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u0444\u0430\u0439\u043B \u0432 \u043A\u043E\u0440\u043D\u0435 \u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0430, \u0441\u043E\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 Mermaid \u0434\u0438\u0430\u0433\u0440\u0430\u043C\u043C\u0443 \u0442\u0435\u043A\u0443\u0449\u0438\u0445 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A \u0441\u0442\u0430\u0442\u0443\u0441\u043E\u0432."}},description:{line1:"\u042D\u0442\u043E \u043E\u0441\u043D\u043E\u0432\u043D\u044B\u0435 \u0441\u0442\u0430\u0442\u0443\u0441\u044B, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 Tasks \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0438\u0437\u043D\u0430\u0447\u0430\u043B\u044C\u043D\u043E, \u0431\u0435\u0437 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E\u0441\u0442\u0438 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0445 CSS \u0441\u0442\u0438\u043B\u0435\u0439 \u0438\u043B\u0438 \u0442\u0435\u043C.",line2
path does not include _templates/
limit 300
show urgency`}},presets:{buttons:{addNewPreset:"Yeni \xF6n ayar ekle"},line1:"Burada birden fazla sorguda yeniden kullanabilece\u011Finiz adland\u0131r\u0131lm\u0131\u015F talimatlar tan\u0131mlayabilirsiniz. '{{name}}' adl\u0131 bir \xF6n ayar, Tasks sorgular\u0131nda '{{instruction1}}' veya '{{instruction2}}' ile kullan\u0131labilir.",line2:"\xD6n ayarlar d\xFCzenlendi\u011Finde a\xE7\u0131k Tasks sorgular\u0131 otomatik olarak yeniden y\xFCklenir.",name:"\xD6n Ayarlar"},recurringTasks:{heading:"Tekrarlayan g\xF6revler",nextLine:{description:"Bu se\xE7ene\u011Fi etkinle\u015Ftirirseniz, bir g\xF6revin sonraki tekrar\u0131 tamamlanan g\xF6revin alt\u0131ndaki sat\u0131rda g\xF6r\xFCn\xFCr. Aksi takdirde sonraki tekrar tamamlanandan \xF6nce g\xF6r\xFCn\xFCr.",name:"Sonraki tekrar bir alt sat\u0131rda g\xF6r\xFCns\xFCn"},removeScheduledDate:{description:{line1:"Bu se\xE7ene\u011Fi etkinle\u015Ftirirseniz, Ba\u015Flang\u0131\xE7 (\u{1F6EB}) veya Son Tarih (\u{1F4C5}) tarihlerinden en az biri mevcutsa g\xF6revin sonraki tekrar\u0131nda Zamanlanm\u0131\u015F (\u23F3) tarih olmaz.",line2:"Bu se\xE7enek; Ba\u015Flang\u0131\xE7 ve Son Tarih tarihlerinin bir sonraki tekrara ta\u015F\u0131nmas\u0131n\u0131, ancak Zamanlanm\u0131\u015F tarihin \xFCzerinde \xE7al\u0131\u015Fmay\u0131 planlad\u0131\u011F\u0131n\u0131zda ileride belirlenmesini istedi\u011Finizde kullan\u0131\u015Fl\u0131d\u0131r."},name:"Tekrarda zamanlanm\u0131\u015F tarihi kald\u0131r"}},searches:{enableCustomSearches:{description:{line1:"Tasks sorgular\u0131nda JavaScript \xE7al\u0131\u015Ft\u0131ran '{{filterByFunction}}', '{{sortByFunction}}' ve '{{groupByFunction}}' \xF6zelliklerini etkinle\u015Ftirir.",line2:"Bir Tasks sorgusunda veya Markdown dosyas\u0131nda k\xF6t\xFC ama\xE7l\u0131 JavaScript, Obsidian i\xE7inde \xE7al\u0131\u015Farak kasa i\xE7eriklerinize, yerel dosyalar\u0131n\u0131za veya di\u011Fer sistem kaynaklar\u0131na eri\u015Febilir ya da bunlar\u0131 de\u011Fi\u015Ftirebilir.",line3:"Bunu yaln\u0131zca bu kasan\u0131n mevcut ve gelecekteki i\xE7eriklerine (ba\u015Fkalar\u0131ndan daha sonra indirebilece\u011Finiz, kopyalayabilece\u011Finiz veya e\u015Fitleyebilece\u011Finiz dosyalar dahil) g\xFCveniyorsan\u0131z etkinle\u015Ftirin.",line4:"Bu ayar yaln\u0131zca bu cihazda saklan\u0131r; bu kasay\u0131 kulland\u0131\u011F\u0131n\u0131z her cihazda ayr\u0131 ayr\u0131 etkinle\u015Ftirin."},name:"\xD6zel aramalar\u0131 etkinle\u015Ftir"},heading:"Aramalar"},searchResults:{heading:"Arama sonu\xE7lar\u0131",taskCountLocation:{description:"G\xF6rev say\u0131s\u0131n\u0131n sorgu sonu\xE7lar\u0131n\u0131n \xFCst\xFCnde mi yoksa alt\u0131nda m\u0131 g\xF6sterilece\u011Fini se\xE7in.",name:"G\xF6rev say\u0131s\u0131 konumu",options:{bottom:"Alt",top:"\xDCst"}}},seeTheDocumentation:"Belgelere bak\u0131n",statuses:{collections:{anuppuccinTheme:"AnuPpuccin Temas\u0131",auraTheme:"Aura Temas\u0131",borderTheme:"Border Temas\u0131",buttons:{addCollection:{name:"{{themeName}}: {{numberOfStatuses}} desteklenen Durumu ekle"}},ebullientworksTheme:"Ebullientworks Temas\u0131",itsThemeAndSlrvbCheckboxes:"ITS Temas\u0131 & SlRvb Onay Kutular\u0131",lytModeTheme:"LYT Mode Temas\u0131 (Yaln\u0131zca karanl\u0131k mod)",minimalTheme:"Minimal Tema",thingsTheme:"Things Temas\u0131"},coreStatuses:{buttons:{checkStatuses:{name:"Durumlar\u0131n\u0131z\u0131 inceleyin ve kontrol edin",tooltip:"Kasan\u0131n k\xF6k dizininde, mevcut durum ayarlar\u0131n\u0131n Mermaid diyagram\u0131n\u0131 i\xE7eren yeni bir dosya olu\u015Fturur."}},description:{line1:"Bunlar, Tasks'\u0131n \xF6zel CSS stillendirmesi veya tema gerektirmeksizin yerel olarak destekledi\u011Fi temel durumlard\u0131r.",line2:"A\u015Fa\u011F\u0131daki b\xF6l\xFCmde kendi \xF6zel durumlar\u0131n\u0131z\u0131 d\xFCzenleyebilir ve ekleyebilirsiniz."},heading:"Temel Durumlar"},customStatuses:{buttons:{addAllUnknown:{name:"T\xFCm Bilinmeyen Durum T\xFCrlerini Ekle"},addNewStatus:{name:"Yeni G\xF6rev Durumu Ekle"},resetCustomStatuses:{name:"\xD6zel Durum T\xFCrlerini Varsay\u0131lanlara S\u0131f\u0131rla"}},description:
path does not include _templates/
limit 300
show urgency`}},presets:{buttons:{addNewPreset:""},line1:"",line2:"",name:""},recurringTasks:{heading:"\u041F\u043E\u0432\u0442\u043E\u0440\u044E\u0432\u0430\u043D\u0456 \u0437\u0430\u0434\u0430\u0447\u0456",nextLine:{description:"\u0423\u0432\u0456\u043C\u043A\u043D\u0435\u043D\u043D\u044F \u0446\u044C\u043E\u0433\u043E \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0430 \u0437\u043C\u0443\u0441\u0438\u0442\u044C \u043D\u0430\u0441\u0442\u0443\u043F\u043D\u0435 \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u043D\u044F \u0437\u0430\u0434\u0430\u0447\u0456 \u0437\u2019\u044F\u0432\u043B\u044F\u0442\u0438\u0441\u044F \u043D\u0430 \u0440\u044F\u0434\u043A\u0443 \u043D\u0438\u0436\u0447\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E\u0457 \u0437\u0430\u0434\u0430\u0447\u0456. \u0406\u043D\u0430\u043A\u0448\u0435 \u043D\u0430\u0441\u0442\u0443\u043F\u043D\u0435 \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u043D\u044F \u0437\u2019\u044F\u0432\u0438\u0442\u044C\u0441\u044F \u043F\u0435\u0440\u0435\u0434 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E\u044E.",name:"\u041D\u0430\u0441\u0442\u0443\u043F\u043D\u0435 \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u043D\u044F \u0437\u2019\u044F\u0432\u043B\u044F\u0454\u0442\u044C\u0441\u044F \u043D\u0430 \u0440\u044F\u0434\u043A\u0443 \u043D\u0438\u0436\u0447\u0435"},removeScheduledDate:{description:{line1:"",line2:""},name:""}},searches:{enableCustomSearches:{description:{line1:"",line2:"",line3:"",line4:""},name:""},heading:""},searchResults:{heading:"",taskCountLocation:{description:"",name:"",options:{bottom:"",top:""}}},seeTheDocumentation:"\u041F\u0435\u0440\u0435\u0433\u043B\u044F\u043D\u0443\u0442\u0438 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0456\u044E",statuses:{collections:{anuppuccinTheme:"\u0422\u0435\u043C\u0430 AnuPpuccin",auraTheme:"\u0422\u0435\u043C\u0430 Aura",borderTheme:"\u0422\u0435\u043C\u0430 Border",buttons:{addCollection:{name:"{{themeName}}: \u0414\u043E\u0434\u0430\u0442\u0438 {{numberOfStatuses}} \u043F\u0456\u0434\u0442\u0440\u0438\u043C\u0443\u0432\u0430\u043D\u0438\u0445 \u0441\u0442\u0430\u0442\u0443\u0441\u0456\u0432"}},ebullientworksTheme:"\u0422\u0435\u043C\u0430 Ebullientworks",itsThemeAndSlrvbCheckboxes:"\u0422\u0435\u043C\u0430 ITS \u0456 \u043F\u0440\u0430\u043F\u043E\u0440\u0446\u0456 SlRvb",lytModeTheme:"\u0422\u0435\u043C\u0430 LYT Mode (\u043B\u0438\u0448\u0435 \u0442\u0435\u043C\u043D\u0438\u0439 \u0440\u0435\u0436\u0438\u043C)",minimalTheme:"\u041C\u0456\u043D\u0456\u043C\u0430\u043B\u044C\u043D\u0430 \u0442\u0435\u043C\u0430",thingsTheme:"\u0422\u0435\u043C\u0430 Things"},coreStatuses:{buttons:{checkStatuses:{name:"\u041F\u0435\u0440\u0435\u0433\u043B\u044F\u043D\u0443\u0442\u0438 \u0442\u0430 \u043F\u0435\u0440\u0435\u0432\u0456\u0440\u0438\u0442\u0438 \u0432\u0430\u0448\u0456 \u0441\u0442\u0430\u0442\u0443\u0441\u0438",tooltip:"\u0421\u0442\u0432\u043E\u0440\u0456\u0442\u044C \u043D\u043E\u0432\u0438\u0439 \u0444\u0430\u0439\u043B \u0443 \u043A\u043E\u0440\u0435\u043D\u0456 \u0441\u0445\u043E\u0432\u0438\u0449\u0430, \u0449\u043E \u043C\u0456\u0441\u0442\u0438\u0442\u044C \u0434\u0456\u0430\u0433\u0440\u0430\u043C\u0443 Mermaid \u043F\u043E\u0442\u043E\u0447\u043D\u0438\u0445 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u044C \u0441\u0442\u0430\u0442\u0443\u0441\u0443."}},description:{line1:"\u0426\u0435 \u043E\u0441\u043D\u043E\u0432\u043D\u0456 \u0441\u0442\u0430\u0442\u0443\u0441\u0438, \u044F\u043A\u0456 Tasks \u043F\u0456\u0434\u0442\u0440\u0438\u043C\u0443\u0454 \u043D\u0430\u0442\u0438\u0432\u043D\u043E, \u0431\u0435\u0437 \u043F\u043E\u0442\u0440\u0435\u0431\u0438 \u0432 \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0446\u044C\u043A\u043E\u043C\u0443 CSS-\u0441\u0442\u0438\u043B\u044E\u0432\u0430\u043D\u043D\u0456 \u0447\u0438 \u0442\u0435\u043C\u0430\u0445.",line2:"\u0412\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u043E\u0434\u0430\u0432\u0430\u0442\u0438, \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u0442\u0430 \u0434\u04
path does not include _templates/
limit 300
show urgency`}},presets:{buttons:{addNewPreset:"Th\xEAm preset m\u1EDBi"},line1:"B\u1EA1n c\xF3 th\u1EC3 \u0111\u1ECBnh ngh\u0129a c\xE1c h\u01B0\u1EDBng d\u1EABn \u0111\u01B0\u1EE3c \u0111\u1EB7t t\xEAn \u1EDF \u0111\xE2y, m\xE0 b\u1EA1n c\xF3 th\u1EC3 s\u1EED d\u1EE5ng l\u1EA1i trong nhi\u1EC1u truy v\u1EA5n. M\u1ED9t preset c\xF3 t\xEAn '{{name}}' c\xF3 th\u1EC3 \u0111\u01B0\u1EE3c s\u1EED d\u1EE5ng trong truy v\u1EA5n Tasks v\u1EDBi '{{instruction1}}' ho\u1EB7c '{{instruction2}}'.",line2:"B\u1EA5t k\u1EF3 truy v\u1EA5n Tasks n\xE0o \u0111ang m\u1EDF s\u1EBD \u0111\u01B0\u1EE3c t\u1EA3i l\u1EA1i t\u1EF1 \u0111\u1ED9ng khi c\xE1c preset \u0111\u01B0\u1EE3c ch\u1EC9nh s\u1EEDa.",name:"Preset"},recurringTasks:{heading:"Nhi\u1EC7m v\u1EE5 \u0111\u1ECBnh k\u1EF3",nextLine:{description:"B\u1EADt t\xEDnh n\u0103ng n\xE0y s\u1EBD l\xE0m cho l\u1EA7n l\u1EB7p l\u1EA1i ti\u1EBFp theo c\u1EE7a nhi\u1EC7m v\u1EE5 xu\u1EA5t hi\u1EC7n tr\xEAn d\xF2ng b\xEAn d\u01B0\u1EDBi nhi\u1EC7m v\u1EE5 \u0111\xE3 ho\xE0n th\xE0nh. N\u1EBFu kh\xF4ng, l\u1EA7n l\u1EB7p l\u1EA1i ti\u1EBFp theo s\u1EBD xu\u1EA5t hi\u1EC7n tr\u01B0\u1EDBc l\u1EA7n \u0111\xE3 ho\xE0n th\xE0nh.",name:"L\u1EA7n l\u1EB7p l\u1EA1i ti\u1EBFp theo xu\u1EA5t hi\u1EC7n tr\xEAn d\xF2ng b\xEAn d\u01B0\u1EDBi"},removeScheduledDate:{description:{line1:"B\u1EADt t\xEDnh n\u0103ng n\xE0y s\u1EBD l\xE0m cho l\u1EA7n l\u1EB7p l\u1EA1i ti\u1EBFp theo c\u1EE7a nhi\u1EC7m v\u1EE5 kh\xF4ng c\xF3 ng\xE0y \u0110\xE3 l\xEAn l\u1ECBch (\u23F3), khi \xEDt nh\u1EA5t m\u1ED9t trong c\xE1c ng\xE0y B\u1EAFt \u0111\u1EA7u (\u{1F6EB}) ho\u1EB7c \u0110\u1EBFn h\u1EA1n (\u{1F4C5}) c\xF3 m\u1EB7t.",line2:"\u0110i\u1EC1u n\xE0y d\xE0nh cho khi b\u1EA1n mu\u1ED1n ng\xE0y B\u1EAFt \u0111\u1EA7u v\xE0 \u0110\u1EBFn h\u1EA1n \u0111\u01B0\u1EE3c chuy\u1EC3n ti\u1EBFp sang l\u1EA7n l\u1EB7p l\u1EA1i ti\u1EBFp theo, nh\u01B0ng b\u1EA1n s\u1EBD \u0111\u1EB7t ng\xE0y \u0110\xE3 l\xEAn l\u1ECBch trong t\u01B0\u01A1ng lai, m\u1ED9t khi b\u1EA1n d\u1EF1 \u0111\u1ECBnh l\xE0m vi\u1EC7c v\u1EDBi n\xF3."},name:"X\xF3a ng\xE0y \u0111\xE3 l\xEAn l\u1ECBch khi l\u1EB7p l\u1EA1i"}},searches:{enableCustomSearches:{description:{line1:"",line2:"",line3:"",line4:""},name:""},heading:""},searchResults:{heading:"",taskCountLocation:{description:"",name:"",options:{bottom:"",top:""}}},seeTheDocumentation:"Xem t\xE0i li\u1EC7u",statuses:{collections:{anuppuccinTheme:"Theme AnuPpuccin",auraTheme:"Theme Aura",borderTheme:"Theme Border",buttons:{addCollection:{name:"{{themeName}}: Th\xEAm {{numberOfStatuses}} Tr\u1EA1ng th\xE1i \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3"}},ebullientworksTheme:"Theme Ebullientworks",itsThemeAndSlrvbCheckboxes:"Theme ITS & SlRvb Checkboxes",lytModeTheme:"Theme LYT Mode (Ch\u1EC9 ch\u1EBF \u0111\u1ED9 t\u1ED1i)",minimalTheme:"Theme Minimal",thingsTheme:"Theme Things"},coreStatuses:{buttons:{checkStatuses:{name:"Xem x\xE9t v\xE0 ki\u1EC3m tra Tr\u1EA1ng th\xE1i c\u1EE7a b\u1EA1n",tooltip:"T\u1EA1o file m\u1EDBi trong th\u01B0 m\u1EE5c g\u1ED1c c\u1EE7a vault, ch\u1EE9a s\u01A1 \u0111\u1ED3 Mermaid c\u1EE7a c\xE1c c\xE0i \u0111\u1EB7t tr\u1EA1ng th\xE1i hi\u1EC7n t\u1EA1i."}},description:{line1:"\u0110\xE2y l\xE0 c\xE1c tr\u1EA1ng th\xE1i c\u1ED1t l\xF5i m\xE0 Tasks h\u1ED7 tr\u1EE3 nguy\xEAn b\u1EA3n, kh\xF4ng c\u1EA7n CSS t\xF9y ch\u1EC9nh ho\u1EB7c theme.",line2:"B\u1EA1n c\xF3 th\u1EC3 th\xEAm ch\u1EC9nh s\u1EEDa v\xE0 th\xEAm c\xE1c tr\u1EA1ng th\xE1i t\xF9y ch\u1EC9nh c\u1EE7a ri\xEAng b\u1EA1n trong ph\u1EA7n b\xEAn d\u01B0\u1EDBi."},heading:"Tr\u1EA1ng th\xE1i c\u1ED1t l\xF5i"},customStatuses:{buttons:{addAllUnknown:{name:"Th\xEAm t\u1EA5t c\u1EA3 lo\u1EA1i tr\u1EA1ng th\xE1i kh\xF4ng x\xE1c \u0111\u1ECBnh"},addNewStatus:{name:"Th\xEAm tr\u1EA1ng th\xE1i nhi\u1EC7m v\u1EE5 m\u1EDBi"},resetCustomStatuses:{name:"\u0110\u1EB7t l\u1EA1i lo\u1EA1i tr\u1EA1ng th\xE1i t\xF9y ch\u1EC9nh v\u1EC1 m\u1EB7c \u0111\u1ECBnh"}},description:{line1:"Tr\u01B0\u1EDBc ti\xEAn, b\u1EA1n n\xEAn <b>ch\u1ECDn v\xE0 c\xE0i \u0111\u1EB7t CSS Snippet ho\u1EB7c Theme</b> \u0111\u1EC3 t\u1EA1o ki\u1EC3u cho c\xE1c \xF4 \u0111\
path does not include _templates/
limit 300
show urgency`}},presets:{buttons:{addNewPreset:""},line1:"\u60A8\u53EF\u4EE5\u5728\u8FD9\u91CC\u5B9A\u4E49\u547D\u540D\u6307\u4EE4\uFF0C\u53EF\u4EE5\u5728\u591A\u4E2A\u67E5\u8BE2\u4E2D\u91CD\u590D\u4F7F\u7528\u3002\u4E00\u4E2A\u540D\u4E3A '{{name}}' \u7684\u9884\u8BBE\u53EF\u4EE5\u5728\u4EFB\u52A1\u67E5\u8BE2\u4E2D\u4F7F\u7528 '{{instruction1}}' \u6216 '{{instruction2}}'\u3002",line2:"\u4EFB\u4F55\u6253\u5F00\u7684\u4EFB\u52A1\u67E5\u8BE2\u5728\u9884\u8BBE\u88AB\u7F16\u8F91\u65F6\u90FD\u4F1A\u81EA\u52A8\u91CD\u65B0\u52A0\u8F7D\u3002",name:"\u9884\u8BBE"},recurringTasks:{heading:"\u91CD\u590D\u6027\u4EFB\u52A1",nextLine:{description:"\u542F\u7528\u6B64\u529F\u80FD\u540E\uFF0C\u4EFB\u52A1\u7684\u4E0B\u4E00\u6B21\u91CD\u590D\u5C06\u663E\u793A\u5728\u5DF2\u5B8C\u6210\u4EFB\u52A1\u7684\u4E0B\u4E00\u884C\u3002\u82E5\u5173\u95ED\u6B64\u529F\u80FD\uFF0C\u5219\u4E0B\u4E00\u6B21\u91CD\u590D\u5C06\u51FA\u73B0\u5728\u5DF2\u5B8C\u6210\u4EFB\u52A1\u7684\u4E0A\u4E00\u884C\u3002",name:"\u628A\u4EFB\u52A1\u7684\u4E0B\u4E00\u6B21\u91CD\u590D\u653E\u5728\u4E0B\u4E00\u884C"},removeScheduledDate:{description:{line1:"\u5F00\u542F\u6B64\u9009\u9879\u540E\uFF0C\u5F53\u4EFB\u52A1\u81F3\u5C11\u8BBE\u7F6E\u4E86\u5F00\u59CB\u65E5\u671F(\u{1F6EB})\u6216\u8BA1\u5212\u65E5\u671F(\u{1F4C5})\u4E2D\u7684\u4E00\u4E2A\u65F6\uFF0C\u8BE5\u4EFB\u52A1\u7684\u4E0B\u4E00\u6B21\u91CD\u590D\u5468\u671F\u5C06\u4E0D\u518D\u5305\u542B\u8BA1\u5212\u65E5\u671F(\u23F3)\u3002",line2:"\u6B64\u529F\u80FD\u9002\u7528\u4E8E\u4F60\u5E0C\u671B\u5C06\u5F00\u59CB\u548C\u622A\u6B62\u65E5\u671F\u5EF6\u7EED\u5230\u4E0B\u4E00\u4E2A\u5468\u671F\uFF0C\u4F46\u8BA1\u5212\u65E5\u671F\u6682\u4E0D\u8BBE\u7F6E\uFF0C\u7B49\u5B9E\u9645\u5F00\u59CB\u5904\u7406\u65F6\u518D\u786E\u5B9A\u7684\u60C5\u51B5\u3002"},name:"\u5728\u91CD\u590D\u6027\u4EFB\u52A1\u4E2D\u79FB\u9664\u8BA1\u5212\u65E5\u671F"}},searches:{enableCustomSearches:{description:{line1:"",line2:"",line3:"",line4:""},name:""},heading:""},searchResults:{heading:"",taskCountLocation:{description:"",name:"",options:{bottom:"",top:""}}},seeTheDocumentation:"\u53C2\u9605\u6587\u6863",statuses:{collections:{anuppuccinTheme:"AnuPpuccin \u4E3B\u9898",auraTheme:"Aura \u4E3B\u9898",borderTheme:"Border \u4E3B\u9898",buttons:{addCollection:{name:"{{themeName}}: \u6DFB\u52A0 {{numberOfStatuses}} \u79CD\u652F\u6301\u72B6\u6001"}},ebullientworksTheme:"Ebullientworks \u4E3B\u9898",itsThemeAndSlrvbCheckboxes:"ITS \u4E3B\u9898\u548C SlRvb \u590D\u9009\u6846",lytModeTheme:"LYT Mode \u4E3B\u9898 (\u4EC5\u6DF1\u8272\u6A21\u5F0F)",minimalTheme:"Minimal \u4E3B\u9898",thingsTheme:"Things \u4E3B\u9898"},coreStatuses:{buttons:{checkStatuses:{name:"\u67E5\u770B\u5E76\u68C0\u67E5\u60A8\u7684\u72B6\u6001",tooltip:"\u5728\u5E93\u7684\u6839\u76EE\u5F55\u4E0B\u521B\u5EFA\u4E00\u4E2A\u65B0\u6587\u4EF6,\u5305\u542B\u5F53\u524D\u72B6\u6001\u8BBE\u7F6E\u7684 Mermaid \u56FE\u8868."}},description:{line1:"\u8FD9\u4E9B\u662F Tasks \u539F\u751F\u652F\u6301\u7684\u6838\u5FC3\u72B6\u6001\uFF0C\u4E0D\u9700\u8981\u81EA\u5B9A\u4E49CSS\u6837\u5F0F\u6216\u4E3B\u9898\u3002",line2:"\u60A8\u53EF\u4EE5\u5728\u4E0B\u9762\u7F16\u8F91\u548C\u6DFB\u52A0\u81EA\u5B9A\u4E49\u72B6\u6001\u3002"},heading:"\u6838\u5FC3\u72B6\u6001"},customStatuses:{buttons:{addAllUnknown:{name:"\u6DFB\u52A0\u6240\u6709\u672A\u77E5\u72B6\u6001\u7C7B\u578B"},addNewStatus:{name:"\u6DFB\u52A0\u65B0\u4EFB\u52A1\u72B6\u6001"},resetCustomStatuses:{name:"\u91CD\u7F6E\u81EA\u5B9A\u4E49\u72B6\u6001\u7C7B\u578B\u4E3A\u9ED8\u8BA4\u503C"}},description:{line1:"\u60A8\u5E94\u8BE5\u9996\u5148<b>\u9009\u62E9\u5E76\u5B89\u88C5 CSS\u4EE3\u7801\u6BB5\u6216\u4E3B\u9898<b>\u4EE5\u8BBE\u7F6E\u81EA\u5B9A\u4E49\u590D\u9009\u6846\u7684\u6837\u5F0F",line2:"\u7136\u540E\uFF0C\u4F7F\u7528\u4E0B\u9762\u7684\u6309\u94AE\u8BBE\u7F6E\u60A8\u7684\u81EA\u5B9A\u4E49\u72B6\u6001,\u4EE5\u5339\u914D\u60A8\u9009\u62E9\u7684CSS\u590D\u9009\u6846.",line3:"<b>\u6CE8\u610F</b>\u4EFB\u4F55\u4E0E\u66F4\u65E9\u7684\u72B6\u6001\u5177\u6709\u76F8\u540C\u7B26\u53F7\u7684\u72B6\u6001\u90FD\u5C06\u88AB\u5FFD\u7565.\u60A8\u53EF\u4EE5\u901A\u8FC7\u8FD0\u884C\u201CC
`).map(cY).filter(function(e){return e!==null});return Yt(Yt({},t[0]),t[1])}function pl(n){var t={},e=/DTSTART(?:;TZID=([^:=]+?))?(?::|=)([^;\s]+)/i.exec(n);if(!e)return t;var r=e[1],i=e[2];return r&&(t.tzid=r),t.dtstart=ul(i),t}function cY(n){if(n=n.replace(/^\s+|\s+$/,""),!n.length)return null;var t=/^([A-Z]+?)[:;]/.exec(n.toUpperCase());if(!t)return m_(n);var e=t[1];switch(e.toUpperCase()){case"RRULE":case"EXRULE":return m_(n);case"DTSTART":return pl(n);default:throw new Error("Unsupported RFC prop ".concat(e," in ").concat(n))}}function m_(n){var t=n.replace(/^RRULE:/i,""),e=pl(t),r=n.replace(/^(?:RRULE|EXRULE):/i,"").split(";");return r.forEach(function(i){var s=i.split("="),a=s[0],o=s[1];switch(a.toUpperCase()){case"FREQ":e.freq=Me[o.toUpperCase()];break;case"WKST":e.wkst=Jn[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=dY(o),u=a.toLowerCase();e[u]=l;break;case"BYWEEKDAY":case"BYDAY":e.byweekday=fY(o);break;case"DTSTART":case"TZID":var c=pl(n);e.tzid=c.tzid,e.dtstart=c.dtstart;break;case"UNTIL":e.until=ul(o);break;case"BYEASTER":e.byeaster=Number(o);break;default:throw new Error("Unknown RRULE property '"+a+"'")}}),e}function dY(n){if(n.indexOf(",")!==-1){var t=n.split(",");return t.map(h_)}return h_(n)}function h_(n){return/^[+-]?\d+$/.test(n)?Number(n):n}function fY(n){var t=n.split(",");return t.map(function(e){if(e.length===2)return Jn[e];var r=e.match(/^([+-]?\d{1,2})([A-Z]{2})$/);if(!r||r.length<3)throw new SyntaxError("Invalid weekday string: ".concat(e));var i=Number(r[1]),s=r[2],a=Jn[s].weekday;return new yt(a,i)})}var Hg=Q(()=>{Fr();fi();ls();Ht();Xn()});var fs,mc=Q(()=>{Ht();fs=(function(){function n(t,e){if(isNaN(t.getTime()))throw new RangeError("Invalid date passed to DateWithZone");this.date=t,this.tzid=e}return Object.defineProperty(n.prototype,"isUTC",{get:function(){return!this.tzid||this.tzid.toUpperCase()==="UTC"},enumerable:!1,configurable:!0}),n.prototype.toString=function(){var t=la(this.date.getTime(),this.isUTC);return this.isUTC?":".concat(t):";TZID=".concat(this.tzid,":").concat(t)},n.prototype.getTime=function(){return this.date.getTime()},n.prototype.rezonedDate=function(){return this.isUTC?this.date:e_(this.date,this.tzid)},n})()});function hl(n){for(var t=[],e="",r=Object.keys(n),i=Object.keys(fl),s=0;s<r.length;s++)if(r[s]!=="tzid"&&Ue(i,r[s])){var a=r[s].toUpperCase(),o=n[r[s]],l="";if(!(!rt(o)||Lt(o)&&!o.length)){switch(a){case"FREQ":l=oe.FREQUENCIES[n.freq];break;case"WKST":An(o)?l=new yt(o).toString():l=o.toString();break;case"BYWEEKDAY":a="BYDAY",l=KS(o).map(function(p){return p instanceof yt?p:Lt(p)?new yt(p[0],p[1]):new yt(p)}).toString();break;case"DTSTART":e=pY(o,n.tzid);break;case"UNTIL":l=la(o,!n.tzid);break;default:if(Lt(o)){for(var u=[],c=0;c<o.length;c++)u[c]=String(o[c]);l=u.toString()}else l=String(o)}l&&t.push([a,l])}}var d=t.map(function(p){var h=p[0],b=p[1];return"".concat(h,"=").concat(b.toString())}).join(";"),f="";return d!==""&&(f="RRULE:".concat(d)),[e,f].filter(function(p){return!!p}).join(`
`)}function pY(n,t){return n?"DTSTART"+new fs(new Date(n),t).toString():""}var Bg=Q(()=>{Xn();cn();ls();Ht();mc()});function mY(n,t){return Array.isArray(n)?!Array.isArray(t)||n.length!==t.length?!1:n.every(function(e,r){return e.getTime()===t[r].getTime()}):n instanceof Date?t instanceof Date&&n.getTime()===t.getTime():n===t}var g_,y_=Q(()=>{dc();Ht();cn();g_=(function(){function n(){this.all=!1,this.before=[],this.after=[],this.between=[]}return n.prototype._cacheAdd=function(t,e,r){e&&(e=e instanceof Date?cc(e):Ug(e)),t==="all"?this.all=e:(r._value=e,this[t].push(r))},n.prototype._cacheGet=function(t,e){var r=!1,i=e?Object.keys(e):[],s=function(c){for(var d=0;d<i.length;d++){var f=i[d];if(!mY(e[f],c[f]))return!0}return!1},a=this[t];if(t==="all")r=this.all;else if(Lt(a))for(var o=0;o<a.length;o++){var l=a[o];if(!(i.length&&s(l))){r=l._value;break}}if(!r&&this.all){for(var u=new di(t,e),o=0;o<this.all.length&&u.accept(this.all[o]);o++);r=u.getValue(),this._cacheAdd(t,r,e)}return Lt(r)?Ug(r):r instanceof Date?cc(r):r},n})()});var b_,T_,hY,gY,Mi,Bt,v_,k_,yY,bY,Ai,Gt,w_,S_,__,D_,Gg,E_=Q(()=>{Fr();cn();b_=Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z([],Fe(1,31),!0),Fe(2,28),!0),Fe(3,31),!0),Fe(4,30),!0),Fe(5,31),!0),Fe(6,30),!0),Fe(7,31),!0),Fe(8,31),!0),Fe(9,30),!0),Fe(10,31),!0),Fe(11,30),!0),Fe(12,31),!0),Fe(1,7),!0),T_=Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z([],Fe(1,31),!0),Fe(2,29),!0),Fe(3,31),!0),Fe(4,30),!0),Fe(5,31),!0),Fe(6,30),!0),Fe(7,31),!0),Fe(8,31),!0),Fe(9,30),!0),Fe(10,31),!0),Fe(11,30),!0),Fe(12,31),!0),Fe(1,7),!0),hY=Zn(1,29),gY=Zn(1,30),Mi=Zn(1,31),Bt=Zn(1,32),v_=Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z([],Bt,!0),gY,!0),Bt,!0),Mi,!0),Bt,!0),Mi,!0),Bt,!0),Bt,!0),Mi,!0),Bt,!0),Mi,!0),Bt,!0),Bt.slice(0,7),!0),k_=Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z([],Bt,!0),hY,!0),Bt,!0),Mi,!0),Bt,!0),Mi,!0),Bt,!0),Bt,!0),Mi,!0),Bt,!0),Mi,!0),Bt,!0),Bt.slice(0,7),!0),yY=Zn(-28,0),bY=Zn(-29,0),Ai=Zn(-30,0),Gt=Zn(-31,0),w_=Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z([],Gt,!0),bY,!0),Gt,!0),Ai,!0),Gt,!0),Ai,!0),Gt,!0),Gt,!0),Ai,!0),Gt,!0),Ai,!0),Gt,!0),Gt.slice(0,7),!0),S_=Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z([],Gt,!0),yY,!0),Gt,!0),Ai,!0),Gt,!0),Ai,!0),Gt,!0),Gt,!0),Ai,!0),Gt,!0),Ai,!0),Gt,!0),Gt.slice(0,7),!0),__=[0,31,60,91,121,152,182,213,244,274,305,335,366],D_=[0,31,59,90,120,151,181,212,243,273,304,334,365],Gg=(function(){for(var n=[],t=0;t<55;t++)n=n.concat(Zn(7));return n})()});function x_(n,t){var e=Ir(n,1,1),r=oa(n)?366:365,i=oa(n+1)?366:365,s=ll(e),a=ui(e),o=Yt(Yt({yearlen:r,nextyearlen:i,yearordinal:s,yearweekday:a},TY(n)),{wnomask:null});if(Pn(t.byweekno))return o;o.wnomask=Fe(0,r+7);var l,u,c=l=$t(7-a+t.wkst,7);c>=4?(c=0,u=o.yearlen+$t(a-t.wkst,7)):u=r-c;for(var d=Math.floor(u/7),f=$t(u,7),p=Math.floor(d+f/4),h=0;h<t.byweekno.length;h++){var b=t.byweekno[h];if(b<0&&(b+=p+1),b>0&&b<=p){var v=void 0;b>1?(v=c+(b-1)*7,c!==l&&(v-=7-l)):v=c;for(var E=0;E<7&&(o.wnomask[v]=1,v++,o.wdaymask[v]!==t.wkst);E++);}}if(Ue(t.byweekno,1)){var v=c+p*7;if(c!==l&&(v-=7-l),v<r)for(var h=0;h<7&&(o.wnomask[v]=1,v+=1,o.wdaymask[v]!==t.wkst);h++);}if(c){var R=void 0;if(Ue(t.byweekno,-1))R=-1;else{var x=ui(Ir(n-1,1,1)),q=$t(7-x.valueOf()+t.wkst,7),ee=oa(n-1)?366:365,V=void 0;q>=4?(q=0,V=ee+$t(x-t.wkst,7)):V=r-c,R=Math.floor(52+$t(V,7)/4)}if(Ue(t.byweekno,R))for(var v=0;v<c;v++)o.wnomask[v]=1}return o}function TY(n){var t=oa(n)?366:365,e=Ir(n,1,1),r=ui(e);return t===365?{mmask:b_,mdaymask:k_,nmdaymask:S_,wdaymask:Gg.slice(r),mrange:D_}:{mmask:T_,mdaymask:v_,nmdaymask:w_,wdaymask:Gg.slice(r),mrange:__}}var O_=Q(()=>{Fr();Ht();cn();E_()});function R_(n,t,e,r,i,s){var a={lastyear:n,lastmonth:t,nwdaymask:[]},o=[];if(s.freq===oe.YEARLY)if(Pn(s.bymonth))o=[[0,e]];else for(var l=0;l<s.bymonth.length;l++)t=s.bymonth[l],o.push(r.slice(t-1,t+1));else s.freq===oe.MONTHLY&&(o=[r.slice(t-1,t+1)]);if(Pn(o))return a;a.nwdaymask=Fe(0,e);for(var l=0;l<o.length;l++)for(var u=o[l],c=u[0],d=u[1]-1,f=0;f<s.bynweekday.length;f++){var p=void 0,h=s.bynweekday[f],b=h[0],v=h[1];v<0?(p=d+(v+1)*7,p-=$t(i[p]-b,7)):(p=c+(v-1)*7,p+=$t(7-i[p]+b,7)),c<=p&&p<=d&&(a.nwdaymask[p]=1)}return a}var C_=Q(()=>{Xn();cn()});function M_(n,t){t===void 0&&(t=0);var e=
`),r=0;r<e.length;){var i=e[r]=e[r].replace(/\s+$/g,"");i?r>0&&i[0]===" "?(e[r-1]+=i.slice(1),e.splice(r,1)):r+=1:e.splice(r,1)}return e}function CY(n){n.forEach(function(t){if(!/(VALUE=DATE(-TIME)?)|(TZID=)/.test(t))throw new Error("unsupported RDATE/EXDATE parm: "+t)})}function W_(n,t){return CY(t),n.split(",").map(function(e){return ul(e)})}var q_,Kg=Q(()=>{Fr();Xn();Zg();Ht();cn();Hg();q_={dtstart:null,cache:!1,unfold:!1,forceset:!1,compatible:!1,tzid:null}});function j_(n){var t=this;return function(e){if(e!==void 0&&(t["_".concat(n)]=e),t["_".concat(n)]!==void 0)return t["_".concat(n)];for(var r=0;r<t._rrule.length;r++){var i=t._rrule[r].origOptions[n];if(i)return i}}}function $_(n,t){if(!(n instanceof oe))throw new TypeError(String(n)+" is not RRule instance");Ue(t.map(String),String(n))||t.push(n)}function H_(n,t){if(!(n instanceof Date))throw new TypeError(String(n)+" is not Date instance");Ue(t.map(Number),Number(n))||(t.push(n),ci(t))}function B_(n,t,e){var r=!e||e.toUpperCase()==="UTC",i=r?"".concat(n,":"):"".concat(n,";TZID=").concat(e,":"),s=t.map(function(a){return la(a.valueOf(),r)}).join(",");return"".concat(i).concat(s)}var Qg,Zg=Q(()=>{Fr();Xn();Ht();cn();U_();Kg();Bg();Qg=(function(n){ua(t,n);function t(e){e===void 0&&(e=!1);var r=n.call(this,{},e)||this;return r.dtstart=j_.apply(r,["dtstart"]),r.tzid=j_.apply(r,["tzid"]),r._rrule=[],r._rdate=[],r._exrule=[],r._exdate=[],r}return t.prototype._iter=function(e){return Y_(e,this._rrule,this._exrule,this._rdate,this._exdate,this.tzid())},t.prototype.rrule=function(e){$_(e,this._rrule)},t.prototype.exrule=function(e){$_(e,this._exrule)},t.prototype.rdate=function(e){H_(e,this._rdate)},t.prototype.exdate=function(e){H_(e,this._exdate)},t.prototype.rrules=function(){return this._rrule.map(function(e){return gc(e.toString())})},t.prototype.exrules=function(){return this._exrule.map(function(e){return gc(e.toString())})},t.prototype.rdates=function(){return this._rdate.map(function(e){return new Date(e.getTime())})},t.prototype.exdates=function(){return this._exdate.map(function(e){return new Date(e.getTime())})},t.prototype.valueOf=function(){var e=[];return!this._rrule.length&&this._dtstart&&(e=e.concat(hl({dtstart:this._dtstart}))),this._rrule.forEach(function(r){e=e.concat(r.toString().split(`
`))}),this._exrule.forEach(function(r){e=e.concat(r.toString().split(`
`).map(function(i){return i.replace(/^RRULE:/,"EXRULE:")}).filter(function(i){return!/^DTSTART/.test(i)}))}),this._rdate.length&&e.push(B_("RDATE",this._rdate,this.tzid())),this._exdate.length&&e.push(B_("EXDATE",this._exdate,this.tzid())),e},t.prototype.toString=function(){return this.valueOf().join(`
`)},t.prototype.clone=function(){var e=new t(!!this._cache);return this._rrule.forEach(function(r){return e.rrule(r.clone())}),this._exrule.forEach(function(r){return e.exrule(r.clone())}),this._rdate.forEach(function(r){return e.rdate(new Date(r.getTime()))}),this._exdate.forEach(function(r){return e.exdate(new Date(r.getTime()))}),e},t})(oe)});var G_=Q(()=>{Xn();Zg();Kg();fi();ls();Ht()});var mi,yc=Q(()=>{"use strict";G_();mi=class n{constructor({rrule:t,baseOnToday:e,occurrence:r}){this.rrule=t,this.baseOnToday=e,this.occurrence=r}static fromText({recurrenceRuleText:t,occurrence:e}){try{let r=t.match(/^([a-zA-Z0-9, !]+?)( when done)?$/i);if(r==null)return null;let i=r[1].trim(),s=r[2]!==void 0,a=oe.parseText(i);if(a!==null){let o=e.referenceDate;!s&&o!==null?a.dtstart=window.moment(o).startOf("day").utc(!0).toDate():a.dtstart=window.moment().startOf("day").utc(!0).toDate();let l=new oe(a);return new n({rrule:l,baseOnToday:s,occurrence:e})}}catch(r){return null}return null}toText(){let t=this.rrule.toText();return this.baseOnToday&&(t+=" when done"),t}next(t=window.moment()){let e=this.nextReferenceDate(t);return e===null?null:this.occurrence.next(e)}identicalTo(t){return this.baseOnToday!==t.baseOnToday||!this.occurrence.isIdenticalTo(t.occurrence)?!1:this.toText()===t.toText()}nextReferenceDate(t){return this.baseOnToday?this.nextReferenceDateFromToday(t.clone()).toDate():this.nextReferenceDateFromOriginalReferenceDate().toDate()}nextReferenceDateFromToday(t){let e=new oe(pe(Y({},this.rrule.origOptions),{dtstart:t.startOf("day").utc(!0).toDate()}));return this.nextAfter(t.endOf("day"),e)}nextReferenceDateFromOriginalReferenceDate(){var e;let t=window.moment((e=this.occurrence.referenceDate)!=null?e:void 0).endOf("day");return this.nextAfter(t,this.rrule)}nextAfter(t,e){t.utc(!0);let r=window.moment.utc(e.after(t.toDate())),i=this.toText(),s=i.match(/every( \d+)? month(s)?(.*)?/);s!==null&&(i.includes(" on ")||(r=n.nextAfterMonths(t,r,e,s[1])));let a=i.match(/every( \d+)? year(s)?(.*)?/);return a!==null&&(r=n.nextAfterYears(t,r,e,a[1])),n.addTimezone(r)}static nextAfterMonths(t,e,r,i){let s=1;for(i!==void 0&&(s=Number.parseInt(i.trim(),10));n.isSkippingTooManyMonths(t,e,s);)e=n.fromOneDayEarlier(t,r);return e}static isSkippingTooManyMonths(t,e,r){let i=e.month()-t.month(),s=e.year()-t.year();return i+=s*12,i>r}static nextAfterYears(t,e,r,i){let s=1;for(i!==void 0&&(s=Number.parseInt(i.trim(),10));n.isSkippingTooManyYears(t,e,s);)e=n.fromOneDayEarlier(t,r);return e}static isSkippingTooManyYears(t,e,r){return e.year()-t.year()>r}static fromOneDayEarlier(t,e){t.subtract(1,"days").endOf("day");let r=e.origOptions;return r.dtstart=t.startOf("day").toDate(),e=new oe(r),window.moment.utc(e.after(t.toDate()))}static addTimezone(t){return window.moment.utc(t).set({hour:12,minute:0,second:0,millisecond:0}).local(!0).startOf("day")}}});function z_(n,t,e){let r=new Map([["cancelled date","cancelledDate"],["created date","createdDate"],["depends on","dependsOn"],["done date","doneDate"],["due date","dueDate"],["id","id"],["on completion","onCompletion"],["priority","priority"],["recurrence rule","recurrenceRule"],["scheduled date","scheduledDate"],["start date","startDate"]]);for(let[i,s]of r.entries())if(t.startsWith(i))return n.setVisibility(s,e),!0;return t.startsWith("tags")?(n.setTagsVisibility(e),!0):!1}var gl,bc,Yr,ps=Q(()=>{"use strict";gl=(p=>(p.Description="description",p.Id="id",p.DependsOn="dependsOn",p.Priority="priority",p.RecurrenceRule="recurrenceRule",p.OnCompletion="onCompletion",p.CreatedDate="createdDate",p.StartDate="startDate",p.ScheduledDate="scheduledDate",p.DueDate="dueDate",p.CancelledDate="cancelledDate",p.DoneDate="doneDate",p.BlockLink="blockLink",p))(gl||{}),bc=Object.values(gl),Yr=class{constructor(){this.visible={};this.tagsVisible=!0;bc.forEach(t=>{this.visible[t]=!0})}isShown(t){return this.visible[t]}areTagsShown(){return this.tagsVisible}hide(t){this.visible[t]=!1}setVisibility(t,e){this.visible[t]=e}setTagsVisibility(t){this.tagsVisible=t}get shownComponents(){return bc.filter(t=>this.visible[
`})),c=c.slice(0,a.autoSuggestMaxItems),c}}function LY(n,t,e){let r=KY(t.substring(0,e),[["(",")"],["[","]"]])=="("?")":"]",i=n?r+" ":" ",s=n&&t.length>e&&t.charAt(e)===r?1:0;return{postfix:i,insertSkip:s}}function YY(n,t,e){let r=[],i=e.line;bs(r,i,n.dueDateSymbol,"due date"),bs(r,i,n.startDateSymbol,"start date"),bs(r,i,n.scheduledDateSymbol,"scheduled date"),UY(r,n,e),bs(r,i,n.recurrenceSymbol,"recurring (repeat)"),qY(r,n,e),tD(t)&&(bs(r,i,n.idSymbol,"id"),bs(r,i,n.dependsOnSymbol,"depends on id")),bs(r,i,n.onCompletionSymbol,"on completion");let s=WY(r,e);return s.length===0&&e.settings.autoSuggestMinMatch===0?r:s}function bs(n,t,e,r){t.includes(e)||n.push({displayText:`${e} ${r}`,appendText:`${e} `})}function UY(n,t,e){if(!(i=>Object.values(t.prioritySymbols).some(s=>s.length>0&&i.includes(s)))(e.line)){let i=t.prioritySymbols,s=["High","Medium","Low","Highest","Lowest"];for(let a of s){let o=i[a];n.push({displayText:e.dataviewMode?`${o} priority`:`${o} ${a.toLowerCase()} priority`,appendText:`${o}${e.postfix}`,insertSkip:e.dataviewMode?e.insertSkip:void 0})}}}function qY(n,t,e){if(!e.line.includes(t.createdDateSymbol)){let i=oi.parseDate("today",!0).format(We.dateFormat);n.push({textToMatch:`${t.createdDateSymbol} created`,displayText:`${t.createdDateSymbol} created today (${i})`,appendText:`${t.createdDateSymbol} ${i}`+e.postfix,insertSkip:e.dataviewMode?e.insertSkip:void 0})}}function WY(n,t){let e=ha(/([a-zA-Z'_-]*)/g,t),r=[];if(e&&e.length>0){let i=e[0];if(i.length>=Math.max(1,t.settings.autoSuggestMinMatch)){let s=n.filter(a=>{var l;return((l=a.textToMatch)!=null?l:a.displayText).toLowerCase().includes(i.toLowerCase())});for(let a of s){let o=t.dataviewMode&&(a.displayText.includes("priority")||a.displayText.includes("created"))?i.length+t.insertSkip:i.length;r.push({suggestionType:"match",displayText:a.displayText,appendText:a.appendText,insertAt:e.index,insertSkip:o})}}}return r}function nD(n,t){let e=`${t}`,r=`${n} ${t}`;return{displayText:e,appendText:r}}function jY(n,t){let r=`${oi.parseDate(t,!0).format(We.dateFormat)}`,i=`${t} (${r})`,s=`${n} ${r}`;return{displayText:i,appendText:s}}function $Y(n,t,e){let r=["today","tomorrow","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","next week","next month","next year"],i=[],s=new RegExp(`(${n})\\s*([0-9a-zA-Z ]*)`,"ug"),a=ha(s,e);if(a&&a.length>=2){let o=a[2];if(o.length<e.settings.autoSuggestMinMatch)return[];let l=o&&o.length>1?oi.parseDate(ic(o),!0):null;if(l!=null&&l.isValid()){let c=l.format(We.dateFormat);_c(e,a,[c],nD,i)}let u=ny(r,o,t,!0);_c(e,a,u,jY,i)}return i}function HY(n,t){var a;let e=["every","every day","every week","every month","every month on the","every year","every week on Sunday","every week on Monday","every week on Tuesday","every week on Wednesday","every week on Thursday","every week on Friday","every week on Saturday"],r=[],i=new RegExp(`(${n})\\s*([0-9a-zA-Z ]*)`,"ug"),s=ha(i,t);if(s&&s.length>=2){let o=s[1],l=s[2];if(l.length<t.settings.autoSuggestMinMatch)return[];if(l.length>0){let f=(a=mi.fromText({recurrenceRuleText:l,occurrence:new li({startDate:null,scheduledDate:null,dueDate:null})}))==null?void 0:a.toText();if(f){let p=`${o} ${f}`+t.postfix;if(r.push({suggestionType:"match",displayText:`\u2705 ${f}`,appendText:p,insertAt:s.index,insertSkip:ry(s[0],t)}),s[0]==p)return[]}}let u=t.settings.autoSuggestMaxItems/2,c=ny(e,l,u,!1);c.length===0&&l.trim().length===0&&(c=e.slice(0,u)),_c(t,s,c,(f,p)=>{let h=`${p}`,b=`${f} ${p}`;return{displayText:h,appendText:b}},r)}return r}function BY(n,t,e){let r=["delete","keep"],i=[],s=new RegExp(`(${n})\\s*([0-9a-zA-Z ]*)`,"ug"),a=ha(s,e);if(a&&a.length>=2){let o=a[2];if(o.length<e.settings.autoSuggestMinMatch)return[];let l=ny(r,o,t,!0);_c(e,a,l,nD,i)}return i}function GY(n,t,e){let r=[],i=new RegExp(`(${n})\\s*(${hs.source})?`,"ug"),s=ha(i,e);if(s&&s[0].trim().length<=n.length){let a=vl(t.map(o=>o.id));r.push({suggestionType:"match",displayText:"generate unique id",appendText:`${n} ${a}`+e.postfix,insertAt:s.index,insertSkip:ry(s[0],e)})}return r}function zY(n,t,e,r){let
`);r.length>1&&(t=r[0],e=!0);let i=50;return t.length>i&&(t=t.slice(0,i),e=!0),e&&(t+="..."),t}function oD(n,t){let e=`Cannot find preset "${n}" in the Tasks settings`;if(Object.keys(t).length===0)e+=`
You can define the instruction(s) for "${n}" in the Tasks settings.`;else{let i=Math.max(...Object.keys(t).map(a=>a.length)),s=Object.entries(t).sort(([a],[o])=>a.localeCompare(o)).map(([a,o])=>`${a.padEnd(i)}: ${XY(o)}`).join(`
`);e+=`
The following presets are defined in the Tasks settings:
${s}`}return e}var aD,oy=Q(()=>{"use strict";aD={this_file:"path includes {{query.file.path}}",this_folder:"folder includes {{query.file.folder}}",this_folder_only:"filter by function task.file.folder === query.file.folder",this_root:"root includes {{query.file.root}}",hide_date_fields:`# Hide any values for all date fields
hide due date
hide scheduled date
hide start date
hide created date
hide done date
hide cancelled date`,hide_non_date_fields:`# Hide all the non-date fields, but not tags
hide id
hide depends on
hide recurrence rule
hide on completion
hide priority`,hide_query_elements:`# Hide toolbar, postpone, edit and backlinks
hide toolbar
hide postpone button
hide edit button
hide backlinks`,hide_everything:`# Hide everything except description and any tags
preset hide_date_fields
preset hide_non_date_fields
preset hide_query_elements`}});var Ec,lD=Q(()=>{"use strict";Ec=class{constructor(t=!1,e=!1,r=!1){this.ignoreSortInstructions=t,this.showTaskHiddenData=e,this.recordTimings=r}}});var ga,xc=Q(()=>{"use strict";ga={priority:!0,recurrence:!0,due:!0,scheduled:!0,start:!0,before_this:!0,after_this:!0,status:!0,created:!0,done:!0,cancelled:!0}});var wt,ya=Q(()=>{"use strict";yr();wt=class n{constructor(){this.coreStatuses=[Oe.TODO.configuration,Oe.DONE.configuration],this.customStatuses=[Oe.IN_PROGRESS.configuration,Oe.CANCELLED.configuration]}static addStatus(t,e){t.push(e)}static replaceStatus(t,e,r){let i=this.findStatusIndex(e,t);return i<=-1?!1:(t.splice(i,1,r),!0)}static findStatusIndex(t,e){let r=new Oe(t);return e.findIndex(i=>new Oe(i).previewText()==r.previewText())}static deleteStatus(t,e){let r=this.findStatusIndex(e,t);return r<=-1?!1:(t.splice(r,1),!0)}static deleteAllCustomStatuses(t){t.customStatuses.splice(0)}static resetAllCustomStatuses(t){n.deleteAllCustomStatuses(t),new n().customStatuses.forEach(r=>{n.addStatus(t.customStatuses,r)})}static bulkAddStatusCollection(t,e){let r=[];return e.forEach(i=>{t.customStatuses.find(a=>a.symbol==i[0]&&a.name==i[1]&&a.nextStatusSymbol==i[2])?r.push(`The status ${i[1]} (${i[0]}) is already added.`):n.addStatus(t.customStatuses,Oe.createFromImportedValue(i))}),r}static allStatuses(t){return t.coreStatuses.concat(t.customStatuses)}static applyToStatusRegistry(t,e){e.clearStatuses(),n.allStatuses(t).forEach(r=>{e.add(r)})}}});var cD,uD=Q(()=>{cD=[{index:9999,internalName:"INTERNAL_TESTING_ENABLED_BY_DEFAULT",displayName:"Test Item. Used to validate the Feature Framework.",description:"Description",enabledByDefault:!0,stable:!1}]});var Sl,dD=Q(()=>{"use strict";uD();Sl=class n{constructor(t,e,r,i,s,a){this.internalName=t;this.index=e;this.description=r;this.displayName=i;this.enabledByDefault=s;this.stable=a}static get values(){let t=[];return cD.forEach(e=>{t=[...t,new n(e.internalName,e.index,e.description,e.displayName,e.enabledByDefault,e.stable)]}),t}static get settingsFlags(){let t={};return n.values.forEach(e=>{t[e.internalName]=e.enabledByDefault}),t}static fromString(t){for(let e of n.values)if(t===e.internalName)return e;throw new RangeError(`Illegal argument passed to fromString(): ${t} does not correspond to any available Feature ${this.name}`)}}});function ly(n,t){for(let e in n)t[e]===void 0&&(t[e]=n[e])}function _l(){return In[X().taskFormat]}function eU(n){let t=Y({},n);return"includes"in t&&!("presets"in t)&&(t.presets=t.includes,delete t.includes),t}var In,uy,gi,X,it,Ts,fD,dt=Q(()=>{"use strict";iy();Tl();ay();Nn();yr();sD();ay();Rr();oy();lD();xc();ya();dD();In={tasksPluginEmoji:{getDisplayName:()=>O.t("settings.format.displayName.tasksEmojiFormat"),taskSerializer:new gs(yl),buildSuggestions:ty(yl,ey,!1)},dataview:{getDisplayName:()=>O.t("settings.format.displayName.dataview"),taskSerializer:new Dc,buildSuggestions:rD(ty(sy,ey,!0),[["(",")"],["[","]"]])}},uy={presets:aD,globalQuery:"",globalFilter:"",removeGlobalFilter:!1,taskFormat:"tasksPluginEmoji",setCreatedDate:!1,setDoneDate:!0,setCancelledDate:!0,autoSuggestInEditor:!0,autoSuggestMinMatch:0,autoSuggestMaxItems:20,provideAccessKeys:!0,useFilenameAsScheduledDate:!1,filenameAsScheduledDateFormat:"",filenameAsDateFolders:[],recurrenceOnNextLine:!1,removeScheduledDateOnRecurrence:!1,searchResults:{taskCountLocation:"bottom"},statusSettings:new wt,isShownInEditModal:ga,dismissedNotices:{"live-preview-callout-warning":!1},features:Sl.settingsFlags,generalSettings:{},headingOpened:{},debugSettings:new Ec,loggingOptions:{minLevels:{"":"info",tasks:"info","tasks.Cache":"info","tasks.Events":"info","tasks.File":"info","tasks.Query":"info","tasks.Task":"info"}}},gi=Y({},uy);X=()=>(ly(Sl.settingsFlags,gi.features),ly(uy.loggingOptions.minLevels,gi.loggingOptions.minLevels),ly(uy.debugSettings,gi.debugSettings),gi.statusSettings.customStatuses.forEach((n,t,e)=>{var i,s;let r=Oe.getTypeFromStatusTypeString(n.type);e[t]=new bt((i=n.symbol)!=null?i:" ",n.name,(s=n.nextStatusSymbol)!=null?s:"x",n.availableAsCommand,
\`\`\`${r}
flowchart LR
classDef TODO stroke:#f33,stroke-width:3px;
classDef DONE stroke:#0c0,stroke-width:3px;
classDef IN_PROGRESS stroke:#fa0,stroke-width:3px;
classDef CANCELLED stroke:#ddd,stroke-width:3px;
classDef NON_TASK stroke:#99e,stroke-width:3px;
classDef ON_HOLD stroke:#00f,stroke-width:3px;
${i.join(`
`)}
${s.join(`
`)}
linkStyle default stroke:gray
\`\`\`
`}addEdgeIfNotToInternal(t,e,r,i,s){let a=t.findIndex(u=>u.symbol===e.symbol),o=a!==-1,l=e.type!=="EMPTY";if(o&&l){let u;s?u='-. "\u{1F501}" .-> ':u=" --> ";let c=`${i+1}${u}${a+1}`;r.push(c)}}getMermaidNodeLabel(t,e){let r=pD(t.name),i=t.type;if(e){let s=Oc(t.symbol),a=Oc(t.nextStatusSymbol),o=`[${s}] -> [${a}]`,l=`'${r}'`,u=`(${i})`;return`["${l}<br>${o}<br>${u}"]:::${i}`}else return`["${r}"]:::${i}`}}});var Ur,hD=Q(()=>{"use strict";Ur=class{constructor(t,e){this.name=t,this.sortOrder=e}get groupText(){return this.name!==""?`%%${this.sortOrder}%% ${this.name}`:""}}});var gD,Ut,Rc=Q(()=>{"use strict";gD=require("obsidian");hD();Zr();Ut=class{constructor(t){this._date=null;this._date=t}get moment(){return this._date?this._date.clone():null}formatAsDate(t=""){return this.format(We.dateFormat,t)}formatAsDateAndTime(t=""){return this.format(We.dateTimeFormat,t)}format(t,e=""){return this._date?this._date.format(t):e}toISOString(t){return this._date?this._date.toISOString(t):""}get category(){let t=window.moment(),e=this.moment;return e?e.isBefore(t,"day")?new Ur("Overdue",1):e.isSame(t,"day")?new Ur("Today",2):e.isValid()?new Ur("Future",3):new Ur("Invalid date",0):new Ur("Undated",4)}get fromNow(){let t=this.moment;if(!t)return new Ur("",0);let e=this.fromNowOrder(t);return new Ur(t.fromNow(),e)}fromNowOrder(t){if(!t.isValid())return 0;let e=window.moment(),r=t.isSameOrBefore(e,"second"),i=this.fromNowStartDateOfGroup(t,r,e);return Number((r?1:3)+i.format("YYYYMMDDHHmm"))}fromNowStartDateOfGroup(t,e,r){let i=t.clone().locale("en").fromNow(!0).split(" "),s,a=Number(i[0]);isNaN(a)?s=1:s=a;let o=i[1];return e?r.subtract(s,o):r.add(s,o)}postpone(t="days",e=1){if(!this._date)throw new gD.Notice("Cannot postpone a null date");let r=window.moment().startOf("day");return this._date.isSameOrAfter(r,"day")?this._date.clone().add(e,t):r.add(e,t)}}});var TD=M((yD,bD)=>{(function(n){var t=Object.hasOwnProperty,e=Array.isArray?Array.isArray:function(T){return Object.prototype.toString.call(T)==="[object Array]"},r=10,i=typeof process=="object"&&typeof process.nextTick=="function",s=typeof Symbol=="function",a=typeof Reflect=="object",o=typeof setImmediate=="function",l=o?setImmediate:setTimeout,u=s?a&&typeof Reflect.ownKeys=="function"?Reflect.ownKeys:function(m){var T=Object.getOwnPropertyNames(m);return T.push.apply(T,Object.getOwnPropertySymbols(m)),T}:Object.keys;function c(){this._events={},this._conf&&d.call(this,this._conf)}function d(m){m&&(this._conf=m,m.delimiter&&(this.delimiter=m.delimiter),m.maxListeners!==n&&(this._maxListeners=m.maxListeners),m.wildcard&&(this.wildcard=m.wildcard),m.newListener&&(this._newListener=m.newListener),m.removeListener&&(this._removeListener=m.removeListener),m.verboseMemoryLeak&&(this.verboseMemoryLeak=m.verboseMemoryLeak),m.ignoreErrors&&(this.ignoreErrors=m.ignoreErrors),this.wildcard&&(this.listenerTree={}))}function f(m,T){var w="(node) warning: possible EventEmitter memory leak detected. "+m+" listeners added. Use emitter.setMaxListeners() to increase limit.";if(this.verboseMemoryLeak&&(w+=" Event name: "+T+"."),typeof process!="undefined"&&process.emitWarning){var k=new Error(w);k.name="MaxListenersExceededWarning",k.emitter=this,k.count=m,process.emitWarning(k)}else console.error(w),console.trace&&console.trace()}var p=function(m,T,w){var k=arguments.length;switch(k){case 0:return[];case 1:return[m];case 2:return[m,T];case 3:return[m,T,w];default:for(var S=new Array(k);k--;)S[k]=arguments[k];return S}};function h(m,T){for(var w={},k,S=m.length,C=T?T.length:0,N=0;N<S;N++)k=m[N],w[k]=N<C?T[N]:n;return w}function b(m,T,w){this._emitter=m,this._target=T,this._listeners={},this._listenersCount=0;var k,S;if((w.on||w.off)&&(k=w.on,S=w.off),T.addEventListener?(k=T.addEventListener,S=T.removeEventListener):T.addListener?(k=T.addListener,S=T.removeListener):T.on&&(k=T.on,S=T.off),!k&&!S)throw Error("target does not implement any known event API");if(typeof k!="function")throw TypeError("on method must be a function");if(typeof S!="function")throw TypeError("off method must be a function");this._
`),this.dateFromFileName=new ba(()=>qt.fromPath(this.filePath))}get filePath(){return this.tasksFile.path}get fileCache(){return this.tasksFile.cachedMetadata}parseFileContent(){if(this.listItems===void 0)return this.tasks;let t=this.fileLines.length,e=null,r=0;for(let i of this.listItems){let s=i.position.start.line;if(s>=t)return this.logger.debug(`${this.filePath} Obsidian gave us a line number ${s} past the end of the file. ${t}.`),this.tasks;if((e===null||e.position.end.line<s)&&(e=ws.getSection(s,this.fileCache.sections),r=0),e===null)continue;let a=this.fileLines[s];if(a===void 0){this.logger.debug(`${this.filePath}: line ${s} - ignoring 'undefined' line.`);continue}let o=new Kt(this.tasksFile,s,e.position.start.line,r,ws.getPrecedingHeader(s,this.fileCache.headings));r=this.parseLine(i,a,o,s,r)}return this.tasks}parseLine(t,e,r,i,s){var o;if(t.task===void 0)return this.createListItem(t,e,i,r),s;let a;try{if(a=ke.fromLine({line:e,taskLocation:r,fallbackDate:this.dateFromFileName.value}),a!==null){let l=(o=this.line2ListItem.get(t.parent))!=null?o:null;l!==null&&(a=new ke(pe(Y({},a),{parent:l}))),this.line2ListItem.set(i,a),a!==null&&(s++,this.tasks.push(a))}else this.createListItem(t,e,i,r)}catch(l){this.errorReporter(l,this.filePath,t,e)}return s}createListItem(t,e,r,i){var o;let s=(o=this.line2ListItem.get(t.parent))!=null?o:null,a=Ii.fromListItemLine(e,s,i);if(a===null){this.logger.warn("Unexpected failure to create a list item from line: "+e+" in file: "+this.filePath);return}this.line2ListItem.set(r,a)}};var ws=class{constructor({metadataCache:t,vault:e,workspace:r,events:i}){this.logger=fn.getLogger("tasks.Cache");this.notifySubscribersDebounced=(0,SD.debounce)(()=>this.notifySubscribersNotDebounced(),100,!0);this.reportTaskParsingErrorToUser=(t,e,r,i)=>{let s=`There was an error reading one of the tasks in this vault.
The following task has been ignored, to prevent Tasks queries getting stuck with 'Loading Tasks ...'
Error: ${t}
File: ${e}
Line number: ${r.position.start.line}
Task line: ${i}
Please create a bug report for this message at
https://github.com/obsidian-tasks-group/obsidian-tasks/issues/new/choose
to help us find and fix the underlying issue.
Include:
- either a screenshot of the error popup, or copy the text from the console, if on a desktop machine.
- the output from running the Obsidian command 'Show debug info'
The error popup will only be shown when Tasks is starting up, but if the error persists,
it will be shown in the console every time this file is edited during the Obsidian
session.
`;this.logger.error(s),t instanceof Error&&this.logger.error(t.stack?t.stack:"Cannot determine stack"),this.state==="Initializing"&&new Ta.Notice(s,1e4)};this.logger.debug("Creating Cache object"),this.metadataCache=t,this.metadataCacheEventReferences=[],this.vault=e,this.workspace=r,this.vaultEventReferences=[],this.events=i,this.eventsEventReferences=[],this.tasksMutex=new uu,this.state="Cold",this.logger.debug("Cache.constructor(): state = Cold"),this.tasks=[],this.loadedAfterFirstResolve=!1,this.subscribeToCache(),this.workspace.onLayoutReady(()=>{this.subscribeToVault(),this.loadVault()}),this.subscribeToEvents()}unload(){this.logger.info("Unloading Cache");for(let t of this.metadataCacheEventReferences)this.metadataCache.offref(t);for(let t of this.vaultEventReferences)this.vault.offref(t);for(let t of this.eventsEventReferences)this.events.off(t)}getTasks(){return this.tasks}getState(){return this.state}notifySubscribers(){this.logger.debug("Cache.notifySubscribers()"),this.notifySubscribersDebounced()}notifySubscribersNotDebounced(){this.logger.debug("Cache.notifySubscribersNotDebounced()"),this.events.triggerCacheUpdate({tasks:this.tasks,state:this.state})}subscribeToCache(){this.logger.debug("Cache.subscribeToCache()");let t=this.metadataCache.on("resolved",()=>A(this,null,function*(){this.loadedAfterFirstResolve||(this.loadedAfterFirstResolve=!0,this.loadVault())}));this.metadataCacheEventReferences.push(t);let e=this.metadataCache.on("changed",r=>{this.tasksMutex.runExclusive(()=>{this.indexFile(r)})});this.metadataCacheEventReferences.push(e)}subscribeToVault(){this.logger.debug("Cache.subscribeToVault()");let{useFilenameAsScheduledDate:t}=X(),e=this.vault.on("create",s=>{s instanceof Ta.TFile&&(this.logger.debug(`Cache.subscribeToVault.createdEventReference() ${s.path}`),this.tasksMutex.runExclusive(()=>{this.indexFile(s)}))});this.vaultEventReferences.push(e);let r=this.vault.on("delete",s=>{s instanceof Ta.TFile&&(this.logger.debug(`Cache.subscribeToVault.deletedEventReference() ${s.path}`),this.tasksMutex.runExclusive(()=>{this.tasks=this.tasks.filter(a=>a.path!==s.path),this.notifySubscribers()}))});this.vaultEventReferences.push(r);let i=this.vault.on("rename",(s,a)=>{s instanceof Ta.TFile&&(this.logger.debug(`Cache.subscribeToVault.renamedEventReference() ${s.path}`),this.tasksMutex.runExclusive(()=>{let o=this.metadataCache.getFileCache(s),l=new pt(s.path,o!=null?o:void 0),u=new ba(()=>qt.fromPath(s.path));this.tasks=this.tasks.map(c=>{if(c.path!==a)return c;let d=c.taskLocation.fromRenamedFile(l);return t?qt.updateTaskPath(c,d,u.value):new ke(pe(Y({},c),{taskLocation:d}))}),this.notifySubscribers()}))});this.vaultEventReferences.push(i)}subscribeToEvents(){this.logger.debug("Cache.subscribeToEvents()");let t=this.events.onRequestCacheUpdate(r=>{r({tasks:this.tasks,state:this.state})});this.eventsEventReferences.push(t);let e=this.events.onReloadVault(()=>A(this,null,function*(){return yield this.loadVault()}));this.eventsEventReferences.push(e)}loadVault(){return this.logger.debug("Cache.loadVault()"),this.tasksMutex.runExclusive(()=>A(this,null,function*(){let t=new ks(`Loading vault with global filter '${Ae.getInstance().get()}'`);t.start(),this.state="Initializing",this.logger.debug("Cache.loadVault(): state = Initializing"),yield Promise.all(this.vault.getMarkdownFiles().map(e=>this.indexFile(e))),this.state="Warm",this.logger.debug("Cache.loadVault(): state = Warm"),t.finish(),this.notifySubscribers()}))}indexFile(t){return A(this,null,function*(){let e=this.metadataCache.getFileCache(t);if(e==null)return;if(!t.path.endsWith(".md")){this.logger.debug("indexFile: skipping non-markdown file: "+t.path);return}this.logger.debug("Cache.indexFile: "+t.path);let r=this.tasks.filter(a=>a.path===t.path),i=e.listItems,s=[];if(i!==void 0){let a=yield this.vault.cachedRead(t);s=this.getTasksFromFileContent(new pt(t.path,e),a,i,this.reportTaskParsingErrorToUser,this.logger)}Ii.listsAreIdentical(r,s)||(this.tasks=this.tasks.filter(a=>a.path!==t.path),this.tasks.push(...s),this.logger.debug("Cache.indexFile:
The task line not updated is:
${n.originalMarkdown}
In this markdown file:
"${n.taskLocation.path}"
Note: further clicks on this checkbox will usually now be ignored until the file is opened (or certain, specific edits are made - it's complicated).
Recommendations:
1. Close all panes that have the above file open, and then re-open the file.
2. Check for exactly identical copies of the task line, in this file, and see if you can make them different.
`;Bc(c);return}let u=Math.min(Math.pow(10,s),100);o.debug(`timeout = ${u}`),setTimeout(()=>A(null,null,function*(){yield TE({originalTask:n,newTasks:t,vault:e,metadataCache:r,workspace:i,previousTries:s+1})}),u)});try{let[u,c,d]=yield vE(n,e),f=[...d.slice(0,u),...t.map(p=>p.toFileLineString()),...d.slice(u+1)];yield e.modify(c,f.join(`
`))}catch(u){if(u instanceof Li){u.message&&bE(u.message),yield l();return}else if(u instanceof Gc){yield l();return}else u instanceof Error&&Bc(u.message)}});function vE(n,t){return A(this,null,function*(){if(Al===void 0)throw new Li;let e=n.file.tFile||t.getFileByPath(n.path);if(!e)throw new Li(`Tasks: No file found for task ${n.description}. Retrying ...`);if(!zU.includes(e.extension))throw new Error(`Tasks: Does not support files with the ${e.extension} file extension.`);let r=Al.getFileCache(e);if(r==null||r===null)throw new Li(`Tasks: No file cache found for file ${e.path}. Retrying ...`);let i=r.listItems;if(i===void 0||i.length===0)throw new Li(`Tasks: No list items found in file cache of ${e.path}. Retrying ...`);let a=(yield t.read(e)).split(`
`),o=KU(n,a,i,VU);if(o===void 0)throw new Gc;return[o,e,a]})}function Fy(n,t){return A(this,null,function*(){try{let[e,r,i]=yield vE(n,t);return[e,r]}catch(e){e instanceof Li?e.message&&bE(e.message):e instanceof Error&&Bc(e.message)}})}function kE(n,t){return n<t.length}function KU(n,t,e,r){let i=QU(n,t);return i!==void 0||(i=ZU(n,t),i!==void 0)?i:XU(n,t,e,r)}function QU(n,t){let e=n.taskLocation.lineNumber;if(kE(e,t)&&t[e]===n.originalMarkdown)return zc().debug(`Found original markdown at original line number ${e}`),e}function ZU(n,t){let e=[];for(let r=0;r<t.length;r++)t[r]===n.originalMarkdown&&e.push(r);if(e.length===1)return e[0]}function XU(n,t,e,r){let i,s=0;for(let a of e){let o=a.position.start.line;if(!kE(o,t))return;if(o<n.taskLocation.sectionStart||a.task===void 0)continue;let l=t[o];if(Ae.getInstance().includedIn(l)){if(s===n.taskLocation.sectionIndex){if(l===n.originalMarkdown)i=o;else{r(`Tasks: Unable to find task in file ${n.taskLocation.path}.
Expected task:
${n.originalMarkdown}
Found task:
${l}`);return}break}s++}}return i}sc();ms();yc();At();wc();Nn();var Vc=class n{constructor(t){this.addGlobalFilterOnSave=t.addGlobalFilterOnSave,this.originalBlocking=t.originalBlocking,this.description=t.description,this.status=t.status,this.priority=t.priority,this.onCompletion=t.onCompletion,this.recurrenceRule=t.recurrenceRule,this.createdDate=t.createdDate,this.startDate=t.startDate,this.scheduledDate=t.scheduledDate,this.dueDate=t.dueDate,this.doneDate=t.doneDate,this.cancelledDate=t.cancelledDate,this.forwardOnly=t.forwardOnly,this.blockedBy=t.blockedBy,this.blocking=t.blocking}static fromTask(t,e){let r=Ae.getInstance().removeAsWordFrom(t.description),i=r!=t.description||!Ae.getInstance().includedIn(t.description),s="none";t.priority==="5"?s="lowest":t.priority==="4"?s="low":t.priority==="2"?s="medium":t.priority==="1"?s="high":t.priority==="0"&&(s="highest");let a=[];for(let l of t.dependsOn){let u=e.find(c=>c.id===l);u&&a.push(u)}let o=e.filter(l=>l.dependsOn.includes(t.id));return new n({addGlobalFilterOnSave:i,originalBlocking:o,description:r,status:t.status,priority:s,recurrenceRule:t.recurrence?t.recurrence.toText():"",onCompletion:t.onCompletion,createdDate:t.created.formatAsDate(),startDate:t.start.formatAsDate(),scheduledDate:t.scheduled.formatAsDate(),dueDate:t.due.formatAsDate(),doneDate:t.done.formatAsDate(),cancelledDate:t.cancelled.formatAsDate(),forwardOnly:!0,blockedBy:a,blocking:o})}applyEdits(t,e){return A(this,null,function*(){let r=this.description.trim();this.addGlobalFilterOnSave&&(r=Ae.getInstance().prependTo(r));let i=as(this.startDate,this.forwardOnly),s=as(this.scheduledDate,this.forwardOnly),a=as(this.dueDate,this.forwardOnly),o=as(this.cancelledDate,this.forwardOnly),l=as(this.createdDate,this.forwardOnly),u=as(this.doneDate,this.forwardOnly),c=null;this.recurrenceRule&&(c=mi.fromText({recurrenceRuleText:this.recurrenceRule,occurrence:new li({startDate:i,scheduledDate:s,dueDate:a})}));let d=this.onCompletion,f=[];for(let R of this.blockedBy){let x=yield JU(R,e);f.push(x)}let p=t.id,h=[],b=[];(this.blocking.toString()!==this.originalBlocking.toString()||this.blocking.length!==0)&&(t.id===""&&(p=vl(e.filter(R=>R.id!=="").map(R=>R.id))),h=this.originalBlocking.filter(R=>!this.blocking.includes(R)),b=this.blocking.filter(R=>!this.originalBlocking.includes(R)));let v=new ke(pe(Y({},t),{description:r,status:t.status,priority:hr.priorityValue(this.priority),onCompletion:d,recurrence:c,startDate:i,scheduledDate:s,dueDate:a,doneDate:u,createdDate:l,cancelledDate:o,dependsOn:f.map(R=>R.id),id:p}));for(let R of h){let x=X_(R,v);yield Un({originalTask:R,newTasks:x})}for(let R of b){let x=Z_(R,v);yield Un({originalTask:R,newTasks:x})}let E=this.inferTodaysDate(this.status.type,u,o);return v.handleNewStatusWithRecurrenceInUsersOrder(this.status,E)})}inferTodaysDate(t,e,r){return t==="DONE"&&e!==null?e:t==="CANCELLED"&&r!==null?r:window.moment()}parseAndValidateRecurrence(){var e;if(!this.recurrenceRule)return{parsedRecurrence:"<i>not recurring</>",isRecurrenceValid:!0};let t=(e=mi.fromText({recurrenceRuleText:this.recurrenceRule,occurrence:new li({startDate:null,scheduledDate:null,dueDate:null})}))==null?void 0:e.toText();return t?this.startDate||this.scheduledDate||this.dueDate?{parsedRecurrence:t,isRecurrenceValid:!0}:{parsedRecurrence:"<i>due, scheduled or start date required</i>",isRecurrenceValid:!1}:{parsedRecurrence:"<i>invalid recurrence rule</i>",isRecurrenceValid:!1}}};function JU(n,t){return A(this,null,function*(){if(n.id!=="")return n;let e=t.filter(i=>i.id!==""),r=kc(n,e.map(i=>i.id));return yield Un({originalTask:n,newTasks:r}),r})}dt();function wE(n,t,e){let r=n.slice();return r[7]=t[e].value,r[8]=t[e].label,r[9]=t[e].symbol,r[10]=t[e].accessKey,r[11]=t[e].accessKeyIndex,r}function eq(n){let t,e=n[8]+"",r;return{c(){t=re("span"),r=je(e)},m(i,s){ce(i,t,s),G(t,r)},p:qe,d(i){i&&le(t)}}}function tq(n){let t,e=n[8].substring(0,n[11])+"",r,i,s=n[8].substring(n[11],n[11]+1)+"",a,o,l=n[8].substring(n[11]+1)+"",u;return{c(){t=re("span"),r=je(e),i=re("span"),a=je(s),o=re("span"),u=je(l),W(i,"
`);t.setLine(l,b)};new Yi({app:r,task:c,onSaveSettings:s,onSubmit:d,allTasks:i}).open()};br();At();Zr();var $y=require("obsidian");var JE=(n,t)=>{let e={line:0,ch:n.ch},r=Y(Y({},e),t.moveTo),i=t.text.split(`
`)[r.line].length;return{line:n.line+r.line,ch:Math.min(r.ch,i)}},Zc=n=>{function t(e,r,i){var f;if(e)return i instanceof $y.MarkdownView;if(!(i instanceof $y.MarkdownView))return;let s=(f=i.file)==null?void 0:f.path;if(s===void 0)return;let a=r.getCursor(),o=a.line,l=r.getLine(o),u=n(l,s);if(u===void 0)return;let c=u.text.length>0,d=o>=r.lineCount()-1;if(c||d)r.setLine(o,u.text);else{let p={line:o,ch:0},h={line:o+1,ch:0};r.replaceRange("",p,h)}r.setCursor(JE(a,u))}return t};var Hy=(n,t)=>{let e=ke.fromLine({line:n,taskLocation:Kt.fromUnknownPosition(new pt(t)),fallbackDate:null});if(e!==null){let r=e.toggleWithRecurrenceInUsersOrder().map(s=>s.toFileLineString()),i=r.length>0?r.length-1:0;return{text:r.join(`
`),moveTo:{line:i}}}else{let r=n.match(We.taskRegex);if(r!==null){let i=r[3],a=Xe.getInstance().bySymbol(i).nextStatusSymbol;return{text:n.replace(We.taskRegex,`$1$2 [${a}] $4`)}}else if(We.listItemRegex.test(n)){let i=n.replace(We.listItemRegex,"$1$2 [ ]");return{text:i,moveTo:{ch:i.length}}}else{let i=n.replace(We.indentationRegex,"$1- [ ] ");return{text:i,moveTo:{ch:i.length}}}}},e1=Zc(Hy);var fb=require("obsidian");dt();var Ui=class{constructor(){this.hideToolbar=!1;this.hidePostponeButton=!1;this.hideTaskCount=!1;this.hideBacklinks=!1;this.hideEditButton=!1;this.hideUrgency=!0;this.hideTree=!0;this.shortMode=!1;this.explainQuery=!1}};function t1(n,t,e){let r=new Map([["backlink","hideBacklinks"],["edit button","hideEditButton"],["postpone button","hidePostponeButton"],["task count","hideTaskCount"],["toolbar","hideToolbar"],["tree","hideTree"],["urgency","hideUrgency"]]);for(let[i,s]of r.entries())if(t.startsWith(i))return n[s]=e,!0;return!1}ps();function As(n,t){let e=`Error: ${n}.
The error message was:
`,r="";return t instanceof Error?r+=t:r+="Unknown error",`${e}"${r}"`}vs();var yq=Object.prototype.toString,Ma=Array.isArray||function(t){return yq.call(t)==="[object Array]"};function Gy(n){return typeof n=="function"}function bq(n){return Ma(n)?"array":typeof n}function By(n){return n.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function n1(n,t){return n!=null&&typeof n=="object"&&t in n}function Tq(n,t){return n!=null&&typeof n!="object"&&n.hasOwnProperty&&n.hasOwnProperty(t)}var vq=RegExp.prototype.test;function kq(n,t){return vq.call(n,t)}var wq=/\S/;function Sq(n){return!kq(wq,n)}var _q={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"};function Dq(n){return String(n).replace(/[&<>"'`=\/]/g,function(e){return _q[e]})}var Eq=/\s*/,xq=/\s+/,r1=/\s*=/,Oq=/\s*\}/,Rq=/#|\^|\/|>|\{|&|=|!/;function Cq(n,t){if(!n)return[];var e=!1,r=[],i=[],s=[],a=!1,o=!1,l="",u=0;function c(){if(a&&!o)for(;s.length;)delete i[s.pop()];else s=[];a=!1,o=!1}var d,f,p;function h(J){if(typeof J=="string"&&(J=J.split(xq,2)),!Ma(J)||J.length!==2)throw new Error("Invalid tags: "+J);d=new RegExp(By(J[0])+"\\s*"),f=new RegExp("\\s*"+By(J[1])),p=new RegExp("\\s*"+By("}"+J[1]))}h(t||rr.tags);for(var b=new Nl(n),v,E,R,x,q,ee;!b.eos();){if(v=b.pos,R=b.scanUntil(d),R)for(var V=0,j=R.length;V<j;++V)x=R.charAt(V),Sq(x)?(s.push(i.length),l+=x):(o=!0,e=!0,l+=" "),i.push(["text",x,v,v+1]),v+=1,x===`
`&&(c(),l="",u=0,e=!1);if(!b.scan(d))break;if(a=!0,E=b.scan(Rq)||"name",b.scan(Eq),E==="="?(R=b.scanUntil(r1),b.scan(r1),b.scanUntil(f)):E==="{"?(R=b.scanUntil(p),b.scan(Oq),b.scanUntil(f),E="&"):R=b.scanUntil(f),!b.scan(f))throw new Error("Unclosed tag at "+b.pos);if(E==">"?q=[E,R,v,b.pos,l,u,e]:q=[E,R,v,b.pos],u++,i.push(q),E==="#"||E==="^")r.push(q);else if(E==="/"){if(ee=r.pop(),!ee)throw new Error('Unopened section "'+R+'" at '+v);if(ee[1]!==R)throw new Error('Unclosed section "'+ee[1]+'" at '+v)}else E==="name"||E==="{"||E==="&"?o=!0:E==="="&&h(R)}if(c(),ee=r.pop(),ee)throw new Error('Unclosed section "'+ee[1]+'" at '+b.pos);return Aq(Mq(i))}function Mq(n){for(var t=[],e,r,i=0,s=n.length;i<s;++i)e=n[i],e&&(e[0]==="text"&&r&&r[0]==="text"?(r[1]+=e[1],r[3]=e[3]):(t.push(e),r=e));return t}function Aq(n){for(var t=[],e=t,r=[],i,s,a=0,o=n.length;a<o;++a)switch(i=n[a],i[0]){case"#":case"^":e.push(i),r.push(i),e=i[4]=[];break;case"/":s=r.pop(),s[5]=i[2],e=r.length>0?r[r.length-1][4]:t;break;default:e.push(i)}return t}function Nl(n){this.string=n,this.tail=n,this.pos=0}Nl.prototype.eos=function(){return this.tail===""};Nl.prototype.scan=function(t){var e=this.tail.match(t);if(!e||e.index!==0)return"";var r=e[0];return this.tail=this.tail.substring(r.length),this.pos+=r.length,r};Nl.prototype.scanUntil=function(t){var e=this.tail.search(t),r;switch(e){case-1:r=this.tail,this.tail="";break;case 0:r="";break;default:r=this.tail.substring(0,e),this.tail=this.tail.substring(e)}return this.pos+=r.length,r};function Ca(n,t){this.view=n,this.cache={".":this.view},this.parent=t}Ca.prototype.push=function(t){return new Ca(t,this)};Ca.prototype.lookup=function(t){var e=this.cache,r;if(e.hasOwnProperty(t))r=e[t];else{for(var i=this,s,a,o,l=!1;i;){if(t.indexOf(".")>0)for(s=i.view,a=t.split("."),o=0;s!=null&&o<a.length;)o===a.length-1&&(l=n1(s,a[o])||Tq(s,a[o])),s=s[a[o++]];else s=i.view[t],l=n1(i.view,t);if(l){r=s;break}i=i.parent}e[t]=r}return Gy(r)&&(r=r.call(this.view)),r};function pn(){this.templateCache={_cache:{},set:function(t,e){this._cache[t]=e},get:function(t){return this._cache[t]},clear:function(){this._cache={}}}}pn.prototype.clearCache=function(){typeof this.templateCache!="undefined"&&this.templateCache.clear()};pn.prototype.parse=function(t,e){var r=this.templateCache,i=t+":"+(e||rr.tags).join(":"),s=typeof r!="undefined",a=s?r.get(i):void 0;return a==null&&(a=Cq(t,e),s&&r.set(i,a)),a};pn.prototype.render=function(t,e,r,i){var s=this.getConfigTags(i),a=this.parse(t,s),o=e instanceof Ca?e:new Ca(e,void 0);return this.renderTokens(a,o,r,t,i)};pn.prototype.renderTokens=function(t,e,r,i,s){for(var a="",o,l,u,c=0,d=t.length;c<d;++c)u=void 0,o=t[c],l=o[0],l==="#"?u=this.renderSection(o,e,r,i,s):l==="^"?u=this.renderInverted(o,e,r,i,s):l===">"?u=this.renderPartial(o,e,r,s):l==="&"?u=this.unescapedValue(o,e):l==="name"?u=this.escapedValue(o,e,s):l==="text"&&(u=this.rawValue(o)),u!==void 0&&(a+=u);return a};pn.prototype.renderSection=function(t,e,r,i,s){var a=this,o="",l=e.lookup(t[1]);function u(f){return a.render(f,e,r,s)}if(l){if(Ma(l))for(var c=0,d=l.length;c<d;++c)o+=this.renderTokens(t[4],e.push(l[c]),r,i,s);else if(typeof l=="object"||typeof l=="string"||typeof l=="number")o+=this.renderTokens(t[4],e.push(l),r,i,s);else if(Gy(l)){if(typeof i!="string")throw new Error("Cannot use higher-order sections without the original template");l=l.call(e.view,i.slice(t[3],t[5]),u),l!=null&&(o+=l)}else o+=this.renderTokens(t[4],e,r,i,s);return o}};pn.prototype.renderInverted=function(t,e,r,i,s){var a=e.lookup(t[1]);if(!a||Ma(a)&&a.length===0)return this.renderTokens(t[4],e,r,i,s)};pn.prototype.indentPartial=function(t,e,r){for(var i=e.replace(/[^ \t]/g,""),s=t.split(`
`),a=0;a<s.length;a++)s[a].length&&(a>0||!r)&&(s[a]=i+s[a]);return s.join(`
`)};pn.prototype.renderPartial=function(t,e,r,i){if(r){var s=this.getConfigTags(i),a=Gy(r)?r(t[1]):r[t[1]];if(a!=null){var o=t[6],l=t[5],u=t[4],c=a;l==0&&u&&(c=this.indentPartial(a,u,o));var d=this.parse(c,s);return this.renderTokens(d,e,r,c,i)}}};pn.prototype.unescapedValue=function(t,e){var r=e.lookup(t[1]);if(r!=null)return r};pn.prototype.escapedValue=function(t,e,r){var i=this.getConfigEscape(r)||rr.escape,s=e.lookup(t[1]);if(s!=null)return typeof s=="number"&&i===rr.escape?String(s):i(s)};pn.prototype.rawValue=function(t){return t[1]};pn.prototype.getConfigTags=function(t){return Ma(t)?t:t&&typeof t=="object"?t.tags:void 0};pn.prototype.getConfigEscape=function(t){if(t&&typeof t=="object"&&!Ma(t))return t.escape};var rr={name:"mustache.js",version:"4.2.0",tags:["{{","}}"],clearCache:void 0,escape:void 0,parse:void 0,render:void 0,Scanner:void 0,Context:void 0,Writer:void 0,set templateCache(n){Pl.templateCache=n},get templateCache(){return Pl.templateCache}},Pl=new pn;rr.clearCache=function(){return Pl.clearCache()};rr.parse=function(t,e){return Pl.parse(t,e)};rr.render=function(t,e,r,i){if(typeof t!="string")throw new TypeError('Invalid template! Template should be a "string" but "'+bq(t)+'" was given as the first argument for mustache#render(template, view, partials)');return Pl.render(t,e,r,i)};rr.escape=Dq;rr.Scanner=Nl;rr.Context=Ca;rr.Writer=pn;var zy=rr;var m1=js(o1());var l1="enableJsInTasksQueries";var en=class n{constructor(t){this.storage=t;this.value=this.loadValue()}static initialise(t){return n.instance=new n(t),n.instance}static getInstance(){if(!n.instance)throw new Error("EnableJsInTasksQueries has not been initialised.");return n.instance}get(){return this.value}set(t){this.value=t,this.storage.save(l1,t)}loadValue(){let t=this.storage.load(l1);return typeof t=="boolean"?t:!1}};var Ps=class n{constructor(t){this.instruction=t}get queryComponent(){return this._queryComponent}set queryComponent(t){this._queryComponent=t}get error(){return this._error}set error(t){this._error=t}isValid(){return this._queryComponent!==void 0}static fromObject(t,e){let r=new n(t);return r._queryComponent=e,r}static fromError(t,e){let r=new n(t);return r._error=e,r}};var Il=class Il extends Error{constructor(){super(Il.helpMessage),this.name="JsInTasksQueriesDisabledError"}static message(){return Il.helpMessage}};Il.helpMessage=`JavaScript is now disabled in Tasks queries by default.
This query uses JavaScript, for example via "filter by function", "sort by function", or "group by function".
JavaScript can run inside Obsidian and access or modify vault contents, local files, or other system resources.
Read the Tasks documentation page "JavaScript in Tasks Queries" before deciding whether to enable it:
https://publish.obsidian.md/tasks/Scripting/JavaScript+in+Tasks+Queries`;var vr=Il;var Fl=class extends Ps{};function Ll(n,t){if(!en.getInstance().get())throw new vr;try{let e=n.map(([s])=>s),r=t.includes("return")?t:`return ${t}`,i=t&&new Function(...e,r);return i instanceof Function?Fl.fromObject(t,i):Fl.fromError(t,`Problem parsing expression "${t}"`)}catch(e){return Fl.fromError(t,As(`Failed parsing expression "${t}"`,e))}}function Yl(n,t){if(!en.getInstance().get())throw new vr;let e=t.map(([r,i])=>i);return n(...e)}function Ky(n,t,e){try{return Yl(n,t)}catch(r){return As(`Failed calculating expression "${e}"`,r)}}function d1(n,t){let e=n.trim(),r=t.query.file;switch(e){case"query.file.path":return kr(r.path);case"query.file.pathWithoutExtension":return kr(r.pathWithoutExtension);case"query.file.root":return kr(r.root);case"query.file.folder":return kr(r.folder);case"query.file.filename":return kr(r.filename);case"query.file.filenameWithoutExtension":return kr(r.filenameWithoutExtension);case"query.file.outlinksInProperties":return kr(r.outlinksInProperties);case"query.file.outlinksInBody":return kr(r.outlinksInBody);case"query.file.outlinks":return kr(r.outlinks)}let i=c1(e,u1("query.file.property"));if(i!==null)return kr(r.property(i));let s=c1(e,u1("query.file.hasProperty"));return s!==null?kr(r.hasProperty(s)):Pq()}function kr(n){return{resolved:!0,value:n}}function Pq(){return{resolved:!1}}function u1(n){let t=n.replace(/\./g,String.raw`\.`);return new RegExp(String.raw`^${t}\((['"])([^'"]*)\1\)$`)}function c1(n,t){var r;let e=new RegExp(t).exec(n);return(r=e==null?void 0:e[2])!=null?r:null}function Qy(n,t){zy.escape=function(e){return e};try{let e=Iq(n,t);return zy.render(e,(0,m1.default)(t))}catch(e){let r="";throw e instanceof Error?r=`There was an error expanding one or more placeholders.
The error message was:
${e.message.replace(/ > /g,".").replace("Missing Mustache data property","Unknown property")}`:r="Unknown error expanding placeholders.",r+=`
The problem is in:
${n}`,new Error(r)}}var Nq=new RegExp(["\\{\\{","(.*?)","\\}\\}"].join(""),"g");function Iq(n,t){return n.replace(Nq,(e,r)=>{if(Fq(t)){let a=d1(r,t);if(a.resolved){let o=a.value;if(o===null&&p1(r),o!==void 0)return f1(o)}}if(!en.getInstance().get()){if(Lq(r))return e;throw new vr}let i=Yq(t),s=Ll(i,r);if(s.isValid()){let a=Yl(s.queryComponent,i);if(a===null&&p1(r),a!==void 0)return f1(a)}return e})}function f1(n){return typeof n=="object"?JSON.stringify(n):String(n)}function Fq(n){var t;return((t=n==null?void 0:n.query)==null?void 0:t.file)!==void 0}function p1(n){throw new Error(`Invalid placeholder result 'null'.
Check for missing file property in this expression:
{{${n}}}`)}function Lq(n){return/^[A-Za-z_$][\w$]*(\.[A-Za-z_$][\w$]*)*$/.test(n.trim())}function Yq(n){return Object.entries(n)}dt();function Zy(n){return Xy(n,[])}function Xy(n,t){return{query:{file:n,allTasks:t,searchCache:{}},preset:Y({},X().presets)}}oy();dt();var Aa=class{constructor(t=""){this.indentation=t}explainQuery(t){if(t.error!==void 0)return this.explainError(t);let e=[];return e.push(this.explainIgnoreGlobalQuery(t)),e.push(this.explainFilters(t)),e.push(this.explainGroups(t)),e.push(this.explainSorters(t)),e.push(this.explainLayout(t)),e.push(this.explainQueryLimits(t)),e.push(this.explainDebugSettings()),e.filter(r=>r!=="").join(`
`)}explainError(t){let e="";return e+=`Query has an error:
`,e+=t.error+`
`,e}explainIgnoreGlobalQuery(t){return t.ignoreGlobalQuery?this.indent(`ignore global query
`):""}explainFilters(t){return t.filters.length===0?this.indent(`No filters supplied. All tasks will match the query.
`):t.filters.map(e=>e.explainFilterIndented(this.indentation)).join(`
`)}explainGroups(t){return this.explainStatements(t.grouping.map(e=>e.statement))}explainSorters(t){return this.explainStatements(t.sorting.map(e=>e.statement))}explainLayout(t){return this.explainStatements(t.layoutStatements)}explainQueryLimits(t){function e(i){let s=`At most ${i} task`;return i!==1&&(s+="s"),s}let r=[];if(t.limit!==void 0){let i=e(t.limit)+`.
`;r.push(this.indent(i))}if(t.taskGroupLimit!==void 0){let i=e(t.taskGroupLimit)+` per group (if any "group by" options are supplied).
`;r.push(this.indent(i))}return r.join(`
`)}explainDebugSettings(){let t="",{debugSettings:e}=X();return e.ignoreSortInstructions&&(t+=this.indent(`NOTE: All sort instructions, including default sort order, are disabled, due to 'ignoreSortInstructions' setting.
`)),t}explainStatements(t){return t.length===0?"":t.map(e=>e.explainStatement(this.indentation)).join(`
`)+`
`}indent(t){return this.indentation+t}};dn();var Je=class n{constructor(t,e=[],r=""){this.description=t,this.symbol=r,this.children=e}static booleanAnd(t){return this.combineOrCreateExplanation("All of",t,"AND")}static booleanOr(t){return this.combineOrCreateExplanation("At least one of",t,"OR")}static booleanNot(t){return new n("None of",t,"NOT")}static booleanXor(t){return new n("Exactly one of",t,"XOR")}asString(t=""){if(this.children.length==0)return t+this.description;let e=t;this.symbol===""?e+=this.description:(e+=this.symbol,this.children.length>1&&(e+=` (${this.description})`),e+=":");let r=t+" ";for(let i=0;i<this.children.length;i++)e+=`
${this.children[i].asString(r)}`;return e}static combineOrCreateExplanation(t,e,r){if(e.length===2){let i=e[0],s=e[1];if(i.symbol===r&&s.symbol==="")return i.children.push(s),i}return new n(t,e,r)}};var Pa=class{matchesAnyOf(t){return t.some(e=>this.matches(e))}};var Xc=class n extends Pa{constructor(t){super(),this.stringToFind=t}matches(t){return n.stringIncludesCaseInsensitive(t,this.stringToFind)}static stringIncludesCaseInsensitive(t,e){return t.toLocaleLowerCase().includes(e.toLocaleLowerCase())}explanation(t){return new Je(t)}};var Na=class n extends Pa{constructor(t){super(),this.regex=t}static validateAndConstruct(t){let e=/^\/(.+)\/([^/]*)$/,r=t.match(e);if(r!==null){let i=new RegExp(r[1],r[2]);return new n(i)}else return null}matches(t){return t.match(this.regex)!==null}static helpMessage(){return String.raw`See https://publish.obsidian.md/tasks/Queries/Regular+Expressions
Regular expressions must look like this:
/pattern/
or this:
/pattern/flags
Where:
- pattern: The 'regular expression' pattern to search for.
- flags: Optional characters that modify the search.
i => make the search case-insensitive
u => add Unicode support
Examples: /^Log/
/^Log/i
/File Name\.md/
/waiting|waits|waited/i
/\d\d:\d\d/
The following characters have special meaning in the pattern:
to find them literally, you must add a \ before them:
[\^$.|?*+()
CAUTION! Regular expression (or 'regex') searching is a powerful
but advanced feature that requires thorough knowledge in order to
use successfully, and not miss intended search results.
`}explanation(t){let r=Uq(t,"using regex: ",this.regexAsString());return new Je(r)}regexAsString(){let t=`'${this.regex.source}' with `;switch(this.regex.flags.length){case 0:t+="no flags";break;case 1:t+=`flag '${this.regex.flags}'`;break;default:t+=`flags '${this.regex.flags}'`;break}return t}};function Uq(n,t,e){var o;let r=n.match(/\//);if(!r)return"Error explaining instruction. Could not find a slash character";let i=2,s=((o=r.index)!=null?o:i)-i;return`${t.padEnd(s)}${e}`}var mn=class{constructor(t,e){this._rawInstruction=t,this._anyContinuationLinesRemoved=e.trim(),this._anyPlaceholdersExpanded=this._anyContinuationLinesRemoved}recordExpandedPlaceholders(t){this._anyPlaceholdersExpanded=t}get rawInstruction(){return this._rawInstruction}get anyContinuationLinesRemoved(){return this._anyContinuationLinesRemoved}get anyPlaceholdersExpanded(){return this._anyPlaceholdersExpanded}explainStatement(t){function e(a,o){o!==a&&(s+=` =>
${t}${o}`)}let r=this._rawInstruction.trim(),i=r.split(`
`).join(`
`+t),s=`${t}${i}`;return this._rawInstruction.includes(`
`)&&(s+=`
`+t),e(r,this._anyContinuationLinesRemoved),e(this._anyContinuationLinesRemoved,this._anyPlaceholdersExpanded),s}allLinesIdentical(){return this._rawInstruction===this._anyContinuationLinesRemoved&&this._rawInstruction===this._anyPlaceholdersExpanded}};var qi=class n{constructor(t,e,r,i){this._statement=new mn(t,t),this.property=e,this.comparator=n.maybeReverse(i,r)}setStatement(t){this._statement=t}get statement(){return this._statement}get instruction(){return this._statement.anyPlaceholdersExpanded}static maybeReverse(t,e){return t?n.makeReversedComparator(e):e}static makeReversedComparator(t){return(e,r,i)=>t(e,r,i)*-1}};kl();var Wi=class{constructor(t,e,r,i){this._statement=new mn(t,t),this.property=e,this.grouper=r,this.reverse=i}setStatement(t){this._statement=t}get statement(){return this._statement}get instruction(){return this._statement.anyPlaceholdersExpanded}};var Qe=class n{canCreateFilterForLine(t){return n.lineMatchesFilter(this.filterRegExp(),t)}static lineMatchesFilter(t,e){return t?t.test(e):!1}static getMatch(t,e){return t?e.match(t):null}fieldNameSingular(){return this.fieldName()}fieldNameSingularEscaped(){return Pi(this.fieldNameSingular())}supportsSorting(){return!1}createSorterFromLine(t){if(!this.supportsSorting())return null;let e=n.getMatch(this.sorterRegExp(),t);if(e===null)return null;let r=!!e[1];return this.createSorter(r)}sorterRegExp(){if(!this.supportsSorting())throw new Error(`sorterRegExp() unimplemented for ${this.fieldNameSingular()}`);return new RegExp(`^sort by ${this.fieldNameSingularEscaped()}( reverse)?`,"i")}sorterInstruction(t){let e=`sort by ${this.fieldNameSingular()}`;return t&&(e+=" reverse"),e}comparator(){throw new Error(`comparator() unimplemented for ${this.fieldNameSingular()}`)}createSorter(t){return new qi(this.sorterInstruction(t),this.fieldNameSingular(),this.comparator(),t)}createNormalSorter(){return this.createSorter(!1)}createReverseSorter(){return this.createSorter(!0)}supportsGrouping(){return!1}createGrouperFromLine(t){if(!this.supportsGrouping())return null;let e=n.getMatch(this.grouperRegExp(),t);if(e===null)return null;let r=!!e[1];return this.createGrouper(r)}grouperRegExp(){if(!this.supportsGrouping())throw new Error(`grouperRegExp() unimplemented for ${this.fieldNameSingular()}`);return new RegExp(`^group by ${this.fieldNameSingularEscaped()}( reverse)?$`,"i")}grouperInstruction(t){let e=`group by ${this.fieldNameSingular()}`;return t&&(e+=" reverse"),e}grouper(){throw new Error(`grouper() unimplemented for ${this.fieldNameSingular()}`)}createGrouper(t){return new Wi(this.grouperInstruction(t),this.fieldNameSingular(),this.grouper(),t)}createNormalGrouper(){return this.createGrouper(!1)}createReverseGrouper(){return this.createGrouper(!0)}};var tn=class{constructor(t,e,r){this._statement=new mn(t,t),this.explanation=r,this.filterFunction=e}get statement(){return this._statement}setStatement(t){this._statement=t}get instruction(){return this._statement.anyPlaceholdersExpanded}explainFilterIndented(t){let e=this._statement.explainStatement(t);return this.onlyNeedsOneLineExplanation()?`${e}
`:`${e} =>
${this.explanation.asString(t+" ")}
`}simulateExplainFilter(){return this.onlyNeedsOneLineExplanation()?this.explanation:new Je(this.instruction+" =>",[this.explanation])}onlyNeedsOneLineExplanation(){return this.explanation.asString("")===this.instruction}};var Ee=class n{constructor(t){this.object=t}get instruction(){return this.object.instruction}get filter(){return this.object.queryComponent}isValid(){return this.object.isValid()}get error(){return this.object.error}get filterFunction(){if(this.filter)return this.filter.filterFunction}static fromFilter(t){return new n(Ps.fromObject(t.instruction,t))}static fromError(t,e){return new n(Ps.fromError(t,e))}};var et=class extends Qe{createFilterOrErrorMessage(t){let e=Qe.getMatch(this.filterRegExp(),t);if(e===null)return Ee.fromError(t,`do not understand query filter (${this.fieldName()})`);let r=e[1].toLowerCase(),i=e[2],s=null;if(r.includes("include"))s=new Xc(i);else if(r.includes("regex")){try{s=Na.validateAndConstruct(i)}catch(l){let u=As("Parsing regular expression",l)+`
${Na.helpMessage()}`;return Ee.fromError(t,u)}if(s===null)return Ee.fromError(t,`Invalid instruction: '${t}'
${Na.helpMessage()}`)}if(s===null)return Ee.fromError(t,`do not understand query filter (${this.fieldName()})`);let a=r.match(/not/)!==null,o=new tn(t,this.getFilter(s,a),s.explanation(t));return Ee.fromFilter(o)}fieldPattern(){return this.fieldNameSingularEscaped()}filterOperatorPattern(){return"includes|does not include|regex matches|regex does not match"}filterRegExp(){return new RegExp(`^(?:${this.fieldPattern()}) (${this.filterOperatorPattern()}) (.*)`,"i")}getFilter(t,e){return r=>{let i=t.matches(this.value(r));return e?!i:i}}comparator(){return(t,e)=>this.value(t).localeCompare(this.value(e),void 0,{numeric:!0})}grouper(){return t=>[this.value(t)]}static escapeMarkdownCharacters(t){return t.replace(/\\/g,"\\\\").replace(/_/g,"\\_")}};var Ia=class n extends et{fieldName(){return"description"}value(t){return Ae.getInstance().removeAsSubstringFrom(t.description)}supportsSorting(){return!0}comparator(){return(t,e)=>{let r=n.cleanDescription(t.description),i=n.cleanDescription(e.description);return r.localeCompare(i,void 0,{numeric:!0})}}static cleanDescription(t){t=Ae.getInstance().removeAsSubstringFrom(t);let e=/^\[\[?([^\]]*)]]?/,r=t.match(e);if(r!==null){let i=r[1];t=i.substring(i.indexOf("|")+1)+t.replace(e,"")}return t=this.replaceFormatting(t,/^\*\*([^*]+)\*\*/),t=this.replaceFormatting(t,/^\*([^*]+)\*/),t=this.replaceFormatting(t,/^==([^=]+)==/),t=this.replaceFormatting(t,/^__([^_]+)__/),t=this.replaceFormatting(t,/^_([^_]+)_/),t}static replaceFormatting(t,e){let r=t.match(e);return r!==null&&(t=r[1]+t.replace(e,"")),t}};Ag();Pg();os();var Jc=class{findUnexpandedDateText(t){let e=["<%","YYYY-MM-DD"];for(let r of e)if(t.includes(r))return this.unexpandedDateTextMessage(r);return null}unexpandedDateTextMessage(t){return`Instruction contains unexpanded template text: "${t}" - and cannot be interpreted.
Possible causes:
- The query is an a template file, and is not intended to be searched.
- A command such as "Replace templates in the active file" needs to be run.
- The core "Daily notes" plugin is in use, and the template contained
date calculations that it does not support.
- Some sample template text was accidentally pasted in to a tasks query,
instead of in to a template file.
See: https://publish.obsidian.md/tasks/Advanced/Daily+Agenda#Instruction+contains+unexpanded+template+text
`}};var ed=class{constructor(t,e){this._instruction=t,this._filter=e}canCreateFilterForLine(t){return t.toLocaleLowerCase()===this._instruction.toLocaleLowerCase()}createFilterOrErrorMessage(t){return this.canCreateFilterForLine(t)?Ee.fromFilter(new tn(t,this._filter,new Je(t))):Ee.fromError(t,`do not understand filter: ${t}`)}};var _n=class{constructor(){this._filters=[]}add(t,e){this._filters.push(new ed(t,e))}canCreateFilterForLine(t){return this._filters.some(e=>e.canCreateFilterForLine(t))}createFilterOrErrorMessage(t){for(let e of this._filters){let r=e.createFilterOrErrorMessage(t);if(r.isValid())return r}return Ee.fromError(t,`do not understand filter: ${t}`)}};var nn=class n extends Qe{constructor(t=null){super(),t!==null?this.filterInstructions=t:(this.filterInstructions=new _n,this.filterInstructions.add(`has ${this.fieldName()} date`,e=>this.date(e)!==null),this.filterInstructions.add(`no ${this.fieldName()} date`,e=>this.date(e)===null),this.filterInstructions.add(`${this.fieldName()} date is invalid`,e=>{let r=this.date(e);return r!==null&&!r.isValid()}))}canCreateFilterForLine(t){return this.filterInstructions.canCreateFilterForLine(t)?!0:super.canCreateFilterForLine(t)}createFilterOrErrorMessage(t){var d;let e=this.checkForUnexpandedTemplateText(t);if(e)return Ee.fromError(t,e);let r=this.filterInstructions.createFilterOrErrorMessage(t);if(r.isValid())return r;let i=Qe.getMatch(this.filterRegExp(),t);if(i===null)return Ee.fromError(t,"do not understand query filter ("+this.fieldName()+" date)");let s=i[1],a=(d=i[2])==null?void 0:d.toLowerCase(),o=i[3],l=oi.parseDateRange(o);if(!l.isValid()){let f=oi.parseDate(s);f.isValid()&&(l=new Kn(f,f))}if(!l.isValid())return Ee.fromError(t,"do not understand "+this.fieldName()+" date");let u=this.buildFilterFunction(a,l),c=n.buildExplanation(this.fieldNameForExplanation(),a,this.filterResultIfFieldMissing(),l);return Ee.fromFilter(new tn(t,u,c))}buildFilterFunction(t,e){let r;switch(t){case"before":r=i=>i?i.isBefore(e.start):this.filterResultIfFieldMissing();break;case"after":r=i=>i?i.isAfter(e.end):this.filterResultIfFieldMissing();break;case"on or before":case"in or before":r=i=>i?i.isSameOrBefore(e.end):this.filterResultIfFieldMissing();break;case"on or after":case"in or after":r=i=>i?i.isSameOrAfter(e.start):this.filterResultIfFieldMissing();break;default:r=i=>i?i.isSameOrAfter(e.start)&&i.isSameOrBefore(e.end):this.filterResultIfFieldMissing()}return this.getFilter(r)}getFilter(t){return e=>t(this.date(e))}filterRegExp(){return new RegExp(`^${this.fieldNameForFilterInstruction()} (((?:on|in) or before|before|(?:on|in) or after|after|on|in)? ?(.*))`,"i")}fieldNameForFilterInstruction(){return this.fieldName()}static buildExplanation(t,e,r,i){let s=e,a="YYYY-MM-DD (dddd Do MMMM YYYY)",o;switch(e){case"before":case"on or after":o=i.start.format(a);break;case"after":case"on or before":o=i.end.format(a);break;case"in or before":s="on or before",o=i.end.format(a);break;case"in or after":s="on or after",o=i.start.format(a);break;default:if(!i.start.isSame(i.end)){let u=`${t} date is between:`,c=[new Je(`${i.start.format(a)} and`),new Je(`${i.end.format(a)} inclusive`)];return r&&c.push(new Je(`OR no ${t} date`)),new Je(u,c)}s="on",o=i.start.format(a);break}let l=`${t} date is ${s} ${o}`;return r&&(l+=` OR no ${t} date`),new Je(l)}fieldNameForExplanation(){return this.fieldName()}supportsSorting(){return!0}comparator(){return(t,e)=>Qn(this.date(t),this.date(e))}supportsGrouping(){return!0}grouper(){return t=>{let e=this.date(t);return e===null?["No "+this.fieldName()+" date"]:e.isValid()?[e.format("YYYY-MM-DD dddd")]:["%%0%% Invalid "+this.fieldName()+" date"]}}checkForUnexpandedTemplateText(t){return new Jc().findUnexpandedDateText(t)}};var td=class extends nn{fieldName(){return"created"}date(t){return t.createdDate}filterResultIfFieldMissing(){return!1}};var nd=class extends nn{fieldName(){return"done"}date(t){return t.doneDate}filterResultIfFieldMissing(){return!1}};var Fa=class extends nn{fieldName(){return"due"}date(t){return t.dueDate}filterResultIfFieldMissing()
The instruction was converted to the following simplified line:
${i.simplifiedLine}
Where the sub-expressions in the simplified line are:
${a}
For help, see:
https://publish.obsidian.md/tasks/Queries/Combining+Filters
`;return Ee.fromError(e,l)}stringifySubExpressionsForErrorMessage(e){return Object.entries(e).map(([r,i])=>` '${r}': '${i}'
=> ${this.stringifySubExpressionStatus(i)}`).join(`
`)}stringifySubExpressionStatus(e){let r=jl(e);return r?r.error?`ERROR:
${r.error.split(`
`).map(s=>s.trim()).join(`
`)}`:"OK":`ERROR:
do not understand query`}helpMessageFromSimpleError(e,r){return`Could not interpret the following instruction as a Boolean combination:
${e}
The error message is:
${r}`}};var kd=class extends et{fieldName(){return"filename"}value(t){let e=t.filename;return e===null?"":e+".md"}supportsSorting(){return!0}supportsGrouping(){return!0}grouper(){return t=>{let e=t.filename;return e===null?["Unknown Location"]:["[["+e+"]]"]}}};var Ga=class extends Qe{canCreateFilterForLine(t){return!1}createFilterOrErrorMessage(t){return Ee.fromError(t,"Filtering by urgency is not yet supported")}fieldName(){return"urgency"}filterRegExp(){throw new Error(`filterRegExp() unimplemented for ${this.fieldName()}`)}supportsSorting(){return!0}comparator(){return(t,e)=>e.urgency-t.urgency}supportsGrouping(){return!0}grouper(){return t=>[`${t.urgency.toFixed(2)}`]}createGrouper(t){return super.createGrouper(!t)}grouperInstruction(t){return super.grouperInstruction(!t)}};var wd=class extends et{constructor(){super()}fieldName(){return"status.name"}value(t){return t.status.name}supportsSorting(){return!0}supportsGrouping(){return!0}};Nn();var za=class n extends Qe{canCreateFilterForLine(t){let e=new RegExp(`^(?:${this.fieldNameSingularEscaped()})`,"i");return Qe.lineMatchesFilter(e,t)}createFilterOrErrorMessage(t){let e=Qe.getMatch(this.filterRegExp(),t);if(e===null)return this.helpMessage(t);let r=e[1].toLowerCase(),i=e[2],s=zt[i.toUpperCase()];if(!s)return this.helpMessage(t);let a;switch(r){case"is":a=o=>o.status.type===s;break;case"is not":a=o=>o.status.type!==s;break;default:return this.helpMessage(t)}return Ee.fromFilter(new tn(t,a,new Je(t)))}filterRegExp(){return new RegExp(`^(?:${this.fieldNameSingularEscaped()}) (is|is not) ([^ ]+)$`,"i")}helpMessage(t){let e=Object.values(zt).filter(i=>i!=="EMPTY").join(" "),r=`Invalid ${this.fieldNameSingular()} instruction: '${t}'.
Allowed options: 'is' and 'is not' (without quotes).
Allowed values: ${e}
Note: values are case-insensitive,
so 'in_progress' works too, for example.
Example: ${this.fieldNameSingular()} is not NON_TASK`;return Ee.fromError(t,r)}fieldName(){return"status.type"}value(t){return t.status.type}supportsSorting(){return!0}comparator(){return(t,e)=>{let r=n.groupName(t),i=n.groupName(e);return r.localeCompare(i,void 0,{numeric:!0})}}supportsGrouping(){return!0}grouper(){return t=>[n.groupName(t)]}static groupName(t){return t.status.typeGroupText}};var Sd=class extends et{fieldName(){return"recurrence"}value(t){return t.recurrence!==null?t.recurrence.toText():""}supportsGrouping(){return!0}grouper(){return t=>t.recurrence!==null?[t.recurrence.toText()]:["None"]}};var _d=class extends et{fieldName(){return"folder"}value(t){return t.file.folder}supportsGrouping(){return!0}grouper(){return t=>[et.escapeMarkdownCharacters(this.value(t))]}};var Dd=class extends et{fieldName(){return"root"}value(t){return t.file.root}supportsGrouping(){return!0}grouper(){return t=>[et.escapeMarkdownCharacters(this.value(t))]}};var Ed=class extends et{fieldName(){return"backlink"}value(t){let e=t.getLinkText({isFilenameUnique:!0});return e===null?"Unknown Location":e}createFilterOrErrorMessage(t){return Ee.fromError(t,"backlink field does not support filtering")}canCreateFilterForLine(t){return!1}supportsGrouping(){return!0}grouper(){return t=>{let e=t.filename;if(e===null)return["Unknown Location"];let r=t.precedingHeader;return r===null?["[["+e+"]]"]:[`[[${e}#${r}|${e} > ${r}]]`]}}};var xd=class extends nn{fieldName(){return"cancelled"}date(t){return t.cancelledDate}filterResultIfFieldMissing(){return!1}};var Od=class extends ir{constructor(){super(),this._filters.add("is blocking",(t,e)=>t.isBlocking(e.allTasks)),this._filters.add("is not blocking",(t,e)=>!t.isBlocking(e.allTasks)),this._filters.add("is blocked",(t,e)=>t.isBlocked(e.allTasks)),this._filters.add("is not blocked",(t,e)=>!t.isBlocked(e.allTasks))}fieldName(){return"blocking"}};var Rd=class extends et{constructor(){super();this.filterInstructions=new _n;this.filterInstructions.add("has id",e=>e.id.length>0),this.filterInstructions.add("no id",e=>e.id.length===0)}canCreateFilterForLine(e){return this.filterInstructions.canCreateFilterForLine(e)?!0:super.canCreateFilterForLine(e)}createFilterOrErrorMessage(e){let r=this.filterInstructions.createFilterOrErrorMessage(e);return r.isValid()?r:super.createFilterOrErrorMessage(e)}fieldName(){return"id"}value(e){return e.id}supportsSorting(){return!0}supportsGrouping(){return!0}};var Cd=class extends Qe{constructor(){super();this.filterInstructions=new _n;this.filterInstructions.add("has depends on",e=>e.dependsOn.length>0),this.filterInstructions.add("no depends on",e=>e.dependsOn.length===0)}canCreateFilterForLine(e){return this.filterInstructions.canCreateFilterForLine(e)?!0:super.canCreateFilterForLine(e)}createFilterOrErrorMessage(e){let r=this.filterInstructions.createFilterOrErrorMessage(e);return r.isValid()?r:Ee.fromError(e,"Unknown instruction")}fieldName(){return"blocked by"}filterRegExp(){return null}};var Md=class extends ir{fieldName(){return"random"}supportsSorting(){return!0}comparator(){return(t,e)=>this.sortKey(t)-this.sortKey(e)}sortKey(t){let e=i=>{let s=0,a=9;for(;s<i.length;)a=Math.imul(a^i.charCodeAt(s++),387420489);return a^a>>>9},r=window.moment().format("Y-MM-DD");return e(r+" "+t.description)}};var cb=[()=>new wd,()=>new za,()=>new fd,()=>new dd,()=>new Ya,()=>new cd,()=>new xd,()=>new td,()=>new ud,()=>new ld,()=>new Fa,()=>new nd,()=>new La,()=>new _d,()=>new Dd,()=>new Ed,()=>new Ia,()=>new md,()=>new ad,()=>new rd,()=>new kd,()=>new Ga,()=>new Sd,()=>new sd,()=>new Rd,()=>new Cd,()=>new Od,()=>new Md,()=>new vd];function jl(n){for(let t of cb){let e=t();if(e.canCreateFilterForLine(n))return e.createFilterOrErrorMessage(n)}return null}function C1(n){let t=/^sort by /i;if(n.match(t)===null)return null;for(let e of cb){let i=e().createSorterFromLine(n);if(i)return i}return null}function M1(n){let t=/^group by /i;if(n.match(t)===null)return null;for(let e of cb){let i=e().createGrouperFromLine(n);if(i)return i}return null}var Ad=class{constructor(t,e,r)
`;return t}toString(){let t=`
`;for(let e of this.groupHeadings){let r="#".repeat(Math.min(4+e.nestingLevel,6));t+=`${r} ${e.displayName}
`}return t+=this.tasksAsStringOfLines(),t}};var Ls=class{constructor(t,e,r){this._groups=new Array;this._totalTaskCount=0;this._totalTaskCount=e.length,this._groupers=t;let s=new Fd(t,e,r).generateTaskTreeStorage();this.addTaskGroups(s),this.sortTaskGroups(),this.setGroupsHeadings(s)}get groupers(){return this._groupers}get groups(){return this._groups}totalTasksCount(){return this._totalTaskCount}toString(){let t="";for(let e of this.groups)t+=e.toString();return t}addTaskGroups(t){for(let[e,r]of t){let i=new Ld(e,r);this.addTaskGroup(i)}}addTaskGroup(t){this._groups.push(t)}sortTaskGroups(){let t=(e,r)=>{let i=e.groups,s=r.groups;for(let a=0;a<i.length;a++){let o=this._groupers[a],l=i[a].localeCompare(s[a],void 0,{numeric:!0});if(l!==0)return o.reverse?-l:l}return 0};this._groups.sort(t)}setGroupsHeadings(t){let e=new Pd(t,this._groupers);for(let r of this._groups)r.setGroupHeadings(e.getHeadingsForTaskGroup(r.groups))}applyTaskLimit(t){this._groupers.length!==0&&(this._groups.forEach(e=>{e.applyTaskLimit(t)}),this.recalculateTotalTaskCount())}recalculateTotalTaskCount(){let t=[];this._groups.forEach(r=>{t=[...t,...r.tasks]});let e=[...new Set(t)];this._totalTaskCount=e.length}};var Ys=class n{constructor(t,e){this.tasksFile=t,this.allTasks=[...e],this._queryContext=this.tasksFile?Xy(this.tasksFile,this.allTasks):void 0}static fromAllTasks(t){return new n(void 0,t)}get queryPath(){var t,e;return(e=(t=this.tasksFile)==null?void 0:t.path)!=null?e:void 0}queryContext(){return this._queryContext}};function A1(n){return`task${n!==1?"s":""}`}var $l=class n{constructor(t,e,r){this.totalTasksCountBeforeLimit=0;this._searchErrorMessage=void 0;this.taskGroups=t,this.totalTasksCountBeforeLimit=e,this._tasksFile=r}get searchErrorMessage(){return this._searchErrorMessage}set searchErrorMessage(t){this._searchErrorMessage=t}get totalTasksCount(){return this.taskGroups.totalTasksCount()}totalTasksCountDisplayText(){let t=this.totalTasksCount,e=this.totalTasksCountBeforeLimit;return t===e?`${t} ${A1(t)}`:`${t} of ${e} ${A1(e)}`}get groups(){return this.taskGroups.groups}static fromError(t){let e=new n(new Ls([],[],Ys.fromAllTasks([])),0,void 0);return e._searchErrorMessage=t,e}asMarkdown(){let t="";return t+=this.taskGroups.groups.map(e=>this.toString(e)).join(""),t}toString(t){let e=`
`;for(let r of t.groupHeadings){let i="#".repeat(Math.min(4+r.nestingLevel,6));e+=`${i} ${r.displayName}
`}return e+=this.tasksAsStringOfLines(t.tasks),e}tasksAsStringOfLines(t){let e="";for(let r of t)e+=this.toFileLineString(r)+`
`;return e}toFileLineString(t){return`- [${t.status.symbol}] ${t.toString()}`}applyFilter(t){if(this._searchErrorMessage)return n.fromError(this._searchErrorMessage);let e=this.taskGroups.groups.flatMap(a=>a.tasks),r=new Ys(this._tasksFile,e),i=a=>t.filterFunction(a,r),s=[...new Set(e.filter(i))];return new n(new Ls(this.taskGroups.groupers,s,r),this.totalTasksCountBeforeLimit,this._tasksFile)}};function P1(n){return n.endsWith("\\")}function N1(n){return n.endsWith("\\\\")}function yW(n){return n.replace(/^[ \t]*/,"")}function bW(n){return n.replace(/[ \t]*\\$/,"")}function TW(n,t){let e=n;return t&&(e=yW(n)),N1(e)?e=e.slice(0,-1):P1(n)&&(e=bW(e)),e}function Yd(n){let t=[],e=!1,r="",i="",s=n+`
`;for(let a of s.split(`
`)){let o=TW(a,e);e?(r+=`
`+a,i+=" "+o):(r=a,i=o),N1(a)?e=!1:e=P1(a),e||(i.trim()!==""&&t.push(new mn(r,i)),r="",i="")}return t}function I1(n){return Yd(n).map(t=>t.anyContinuationLinesRemoved)}var Ud=class n{static by(t,e,r){let i=this.defaultSorters().map(a=>a.comparator),s=[];for(let a of t)s.push(a.comparator);return e.sort(n.makeCompositeComparator([...s,...i],r))}static defaultSorters(){return[new za().createNormalSorter(),new Ga().createNormalSorter(),new Fa().createNormalSorter(),new Ya().createNormalSorter(),new La().createNormalSorter()]}static makeCompositeComparator(t,e){return(r,i)=>{for(let s of t){let a=s(r,i,e);if(a!==0)return a}return 0}}};var F1=0,_r=class n{constructor(t,e=void 0){this.statements=[];this._limit=void 0;this._taskGroupLimit=void 0;this._taskLayoutOptions=new Yr;this._queryLayoutOptions=new Ui;this.layoutStatements=[];this._filters=[];this._error=void 0;this._sorting=[];this._grouping=[];this._ignoreGlobalQuery=!1;this.hideOptionsRegexp=/^(hide|show) +(.*)/i;this.shortModeRegexp=/^short/i;this.fullModeRegexp=/^full/i;this.explainQueryRegexp=/^explain/i;this.ignoreGlobalQueryRegexp=/^ignore global query/i;this.logger=fn.getLogger("tasks.Query");this.limitRegexp=/^limit (groups )?(to )?(\d+)( tasks?)?/i;this.commentRegexp=/^#.*/;this.presetRegexp=/^preset +(.*)/i;this._queryId=this.generateQueryId(10),this.source=t,this.tasksFile=e;let r=Yd(t);for(let i of r){let s=this.expandPlaceholders(i,e);if(this.error!==void 0)return;this.statements.push(...s)}for(let i of this.statements)try{if(this.parseLine(i),this.error!==void 0)return}catch(s){let a;s instanceof Error?a=s.message:a="Unknown error",this.setError(a,i);return}}removeIllegalGlobalQueryInstructions(){this._ignoreGlobalQuery=!1}get filePath(){var t,e;return(e=(t=this.tasksFile)==null?void 0:t.path)!=null?e:void 0}get queryId(){return this._queryId}parseLine(t){let e=t.anyPlaceholdersExpanded;switch(!0){case this.presetRegexp.test(e):this.parsePreset(e,t);break;case this.shortModeRegexp.test(e):this._queryLayoutOptions.shortMode=!0,this.saveLayoutStatement(t);break;case this.fullModeRegexp.test(e):this._queryLayoutOptions.shortMode=!1,this.saveLayoutStatement(t);break;case this.explainQueryRegexp.test(e):this._queryLayoutOptions.explainQuery=!0;break;case this.ignoreGlobalQueryRegexp.test(e):this._ignoreGlobalQuery=!0;break;case this.limitRegexp.test(e):this.parseLimit(e);break;case this.parseSortBy(e,t):break;case this.parseGroupBy(e,t):break;case this.hideOptionsRegexp.test(e):this.parseHideOptions(t);break;case this.commentRegexp.test(e):break;case this.parseFilter(e,t):break;default:this.setError("do not understand query",t)}}formatQueryForLogging(){return`
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
${this.source}
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
`}expandPlaceholders(t,e){let r=t.anyContinuationLinesRemoved;if(r.includes("{{")&&r.includes("}}")&&this.tasksFile===void 0)return this._error=`The query looks like it contains a placeholder, with "{{" and "}}"
but no file path has been supplied, so cannot expand placeholder values.
The query is:
${r}`,[t];if(this.commentRegexp.test(r))return[t];let s=r;if(e){let a=Zy(e),o="";try{let u=0;for(;s!==o&&u<10;)o=s,s=Qy(o,a),u++;s!==r&&(s=Yd(s).map(c=>c.anyContinuationLinesRemoved).join(`
`))}catch(l){return l instanceof Error?this._error=l.message:this._error="Internal error. expandPlaceholders() threw something other than Error.",[t]}}return this.createStatementsFromExpandedPlaceholders(s,t)}createStatementsFromExpandedPlaceholders(t,e){let r=t.split(`
`).map(i=>i.trim()).filter(i=>i.length>0);return r.length===1?(e.recordExpandedPlaceholders(r[0]),[e]):r.map((i,s)=>{let a=`: statement ${s+1} after expansion of placeholder`,o=new mn(e.rawInstruction+a,e.anyContinuationLinesRemoved+a);return o.recordExpandedPlaceholders(i),o})}append(t){return this.source===""?t:t.source===""?this:new n(`${this.source}
${t.source}`,this.tasksFile)}explainQuery(){return new Aa().explainQuery(this)}get limit(){return this._limit}get taskGroupLimit(){return this._taskGroupLimit}get taskLayoutOptions(){return this._taskLayoutOptions}get queryLayoutOptions(){return this._queryLayoutOptions}get filters(){return this._filters}addFilter(t){this._filters.push(t)}get sorting(){return this._sorting}get grouping(){return this._grouping}get error(){return this._error}setError(t,e){this._error=n.generateErrorMessage(e,t)}static generateErrorMessage(t,e){return t.allLinesIdentical()?`${e}
Problem line: "${t.rawInstruction}"`:`${e}
Problem statement:
${t.explainStatement(" ")}
`}get ignoreGlobalQuery(){return this._ignoreGlobalQuery}applyQueryToTasks(t){this.debug(`[search] Executing query: ${this.formatQueryForLogging()}`);let e=new Ys(this.tasksFile,t),r;try{this.filters.forEach(l=>{r=l.statement,t=t.filter(u=>l.filterFunction(u,e))}),r=void 0;let{debugSettings:i}=X(),s=i.ignoreSortInstructions?t:Ud.by(this.sorting,t,e),a=s.slice(0,this.limit),o=new Ls(this.grouping,a,e);return this._taskGroupLimit!==void 0&&o.applyTaskLimit(this._taskGroupLimit),new $l(o,s.length,this.tasksFile)}catch(i){let a=As("Search failed",i);return r&&(a=n.generateErrorMessage(r,a)),$l.fromError(a)}}parseHideOptions(t){let e=t.anyPlaceholdersExpanded,r=e.match(this.hideOptionsRegexp);if(r===null)return;let i=r[1].toLowerCase()==="hide",s=r[2].toLowerCase();if(t1(this._queryLayoutOptions,s,i)){this.saveLayoutStatement(t);return}if(z_(this._taskLayoutOptions,s,!i)){this.saveLayoutStatement(t);return}this.setError("do not understand hide/show option",new mn(e,e))}saveLayoutStatement(t){this.layoutStatements.push(t)}parseFilter(t,e){var i;let r=jl(t);return r!=null?(r.filter?(r.filter.setStatement(e),this._filters.push(r.filter)):this.setError((i=r.error)!=null?i:"Unknown error",e),!0):!1}parseLimit(t){let e=t.match(this.limitRegexp);if(e===null){this.setError("do not understand query limit",new mn(t,t));return}let r=Number.parseInt(e[3],10);e[1]!==void 0?this._taskGroupLimit=r:this._limit=r}parseSortBy(t,e){let r=null;try{r=C1(t)}catch(i){let s=i instanceof Error?i.message:"Unknown error";return this.setError(s,e),!0}return r?(r.setStatement(e),this._sorting.push(r),!0):!1}parseGroupBy(t,e){let r;try{r=M1(t)}catch(i){let s=i instanceof Error?i.message:"Unknown error";return this.setError(s,e),!0}return r?(r.setStatement(e),this._grouping.push(r),!0):!1}parsePreset(t,e){let r=this.presetRegexp.exec(t);if(r){let i=r[1].trim(),{presets:s}=X(),a=s[i];if(!a){this.setError(oD(i,s),e);return}let o=I1(a);for(let l of o){let u=new mn(e.rawInstruction,e.anyContinuationLinesRemoved);if(u.recordExpandedPlaceholders(l),l.includes("{{")&&l.includes("}}")&&this.tasksFile){let c=Zy(this.tasksFile),d=Qy(l,c);u.recordExpandedPlaceholders(d)}this.parseLine(u)}}}generateQueryId(t){return F1+=1,F1.toString().padStart(t,"0")}debug(t,e){this.logger.debugWithId(this._queryId,`"${this.filePath}": ${t}`,e)}warn(t,e){this.logger.warnWithId(this._queryId,`"${this.filePath}": ${t}`,e)}};var db=[{name:"TQ_show_toolbar",type:"checkbox",display:"toolbar",handler:"showAndHide"},{name:"TQ_explain",type:"checkbox",handler:"instruction",trueValue:"explain",falseValue:""},{name:"TQ_short_mode",type:"checkbox",handler:"instruction",trueValue:"short mode",falseValue:"full mode"},{name:"TQ_show_tree",type:"checkbox",display:"tree",handler:"showAndHide"},{name:"TQ_show_tags",type:"checkbox",display:"tags",handler:"showAndHide"},{name:"TQ_show_id",type:"checkbox",display:"id",handler:"showAndHide"},{name:"TQ_show_depends_on",type:"checkbox",display:"depends on",handler:"showAndHide"},{name:"TQ_show_priority",type:"checkbox",display:"priority",handler:"showAndHide"},{name:"TQ_show_recurrence_rule",type:"checkbox",display:"recurrence rule",handler:"showAndHide"},{name:"TQ_show_on_completion",type:"checkbox",display:"on completion",handler:"showAndHide"},{name:"TQ_show_created_date",type:"checkbox",display:"created date",handler:"showAndHide"},{name:"TQ_show_start_date",type:"checkbox",display:"start date",handler:"showAndHide"},{name:"TQ_show_scheduled_date",type:"checkbox",display:"scheduled date",handler:"showAndHide"},{name:"TQ_show_due_date",type:"checkbox",display:"due date",handler:"showAndHide"},{name:"TQ_show_cancelled_date",type:"checkbox",display:"cancelled date",handler:"showAndHide"},{name:"TQ_show_done_date",type:"checkbox",display:"done date",handler:"showAndHide"},{name:"TQ_show_urgency",type:"checkbox",display:"urgency",handler:"showAndHide"},{name:"TQ_show_backlink",type:"checkbox",display:"backlink",handler:"showAndHide"},{name:"TQ_show_edit_button",type:"checkbox",display:"edit button",handler:"showAndHide"},{name:"TQ_show_postpone_button",typ
`):""}generateInstruction(t,e){let r=t.hasProperty(e.name),i=t.property(e.name);switch(e.handler){case"instruction":return r&&(i?e.trueValue:e.falseValue)||"";case"showAndHide":return r&&(i?"show "+e.display:"hide "+e.display)||"";case"addValue":return r&&typeof i=="string"?i:""}}query(t){return new _r(this.source(t),t)}allPropertyNames(){return db.map(t=>t.name)}allPropertyNamesSorted(){return this.allPropertyNames().sort((t,e)=>t.localeCompare(e))}propertyType(t){var e,r;return(r=(e=db.find(i=>i.name===t))==null?void 0:e.type)!=null?r:void 0}metaBindPluginWidgets(){return"\ntoolbar: `INPUT[toggle:TQ_show_toolbar]`\nshort mode: `INPUT[toggle:TQ_short_mode]`\ntree: `INPUT[toggle:TQ_show_tree]`\ntags: `INPUT[toggle:TQ_show_tags]`\nid: `INPUT[toggle:TQ_show_id]` depends on: `INPUT[toggle:TQ_show_depends_on]`\npriority: `INPUT[toggle:TQ_show_priority]`\nrecurrence rule: `INPUT[toggle:TQ_show_recurrence_rule]` on completion: `INPUT[toggle:TQ_show_on_completion]`\nstart date: `INPUT[toggle:TQ_show_start_date]` scheduled date: `INPUT[toggle:TQ_show_scheduled_date]` due date: `INPUT[toggle:TQ_show_due_date]`\ncreated date: `INPUT[toggle:TQ_show_created_date]` cancelled date: `INPUT[toggle:TQ_show_cancelled_date]` done date: `INPUT[toggle:TQ_show_done_date]`\nurgency: `INPUT[toggle:TQ_show_urgency]`\nbacklink: `INPUT[toggle:TQ_show_backlink]`\nedit button: `INPUT[toggle:TQ_show_edit_button]` postpone button: `INPUT[toggle:TQ_show_postpone_button]`\ntask count: `INPUT[toggle:TQ_show_task_count]`\nextra instructions: `INPUT[textArea:TQ_extra_instructions]`\nexplain: `INPUT[toggle:TQ_explain]`\n"}};function L1(n,t){return A(this,null,function*(){yield n.fileManager.processFrontMatter(t,e=>{let r=new ki().allPropertyNamesSorted(),i=!1;r.forEach(s=>{s in e||(e[s]=null,i=!0)}),i?new fb.Notice("Properties updated successfully."):new fb.Notice("All supported properties are already present.")})})}var Y1=require("obsidian");At();yr();ya();var pb=class{constructor(t){this.newStatus=t}apply(t){return this.isCheckedForTask(t)?[t]:t.handleNewStatusWithRecurrenceInUsersOrder(this.newStatus)}instructionDisplayName(){return`Change status to: [${this.newStatus.symbol}] ${this.newStatus.name}`}isCheckedForTask(t){return this.newStatus.symbol===t.status.symbol}};function qd(n){let t=[],e=new wt().coreStatuses.map(r=>r.symbol);for(let r of[!0,!1])for(let i of n.registeredStatuses)e.includes(i.symbol)===r&&t.push(new pb(i));return t}var vW=(n,t,e)=>{let r=ke.fromLine({line:n,taskLocation:Kt.fromUnknownPosition(new pt(t)),fallbackDate:null});if(r!==null){let i=r.handleNewStatusWithRecurrenceInUsersOrder(e).map(a=>a.toFileLineString()),s=i.length>0?i.length-1:0;return{text:i.join(`
`),moveTo:{line:s}}}},kW=n=>(t,e)=>{let r=vW(t,e,n);return r===void 0&&new Y1.Notice("Cannot set status: line is not a task or does not match global filter"),r};function U1(n){let t=qd(n),e=[];for(let r of t){let i=r.newStatus,a={id:`set-status-symbol-to-${i.symbol===" "?"space":i.symbol}`,name:r.instructionDisplayName(),editorCheckCallback:Zc(kW(i))};e.push(a)}return e}var mb="Toggle task done",Wd=class{get app(){return this.plugin.app}constructor({plugin:t}){this.plugin=t,t.addCommand({id:"edit-task",name:"Create or edit task",icon:"pencil",editorCheckCallback:(r,i,s)=>XE(r,i,s,this.app,this.plugin.getTasks(),()=>A(this,null,function*(){return yield this.plugin.saveSettings()}))}),t.addCommand({id:"toggle-done",name:mb,icon:"check-in-circle",editorCheckCallback:e1}),t.addCommand({id:"add-query-file-defaults-properties",name:"Add all Query File Defaults properties",icon:"settings",checkCallback:r=>{let i=this.app.workspace.getActiveFile();return!i||i.extension!=="md"?!1:(r||this.ensureQueryFileDefaultsFrontmatter(i).catch(console.error),!0)}});let e=U1(Xe.getInstance());for(let r of e)t.addCommand(r)}ensureQueryFileDefaultsFrontmatter(t){return A(this,null,function*(){let{app:e}=this;yield L1(e,t)})}};var Gr=class Gr{constructor(t=Gr.empty){this._source=t}static getInstance(){return Gr.instance||(Gr.instance=new Gr),Gr.instance}set(t){this._source=t}reset(){this._source=Gr.empty}query(t=void 0){let e=new _r(this._source,t);return e.removeIllegalGlobalQueryInstructions(),e}hasInstructions(){return this._source.trim()!==Gr.empty}};Gr.empty="";var or=Gr;vs();var jd=class{constructor({obsidianEvents:t}){this.logger=fn.getLogger("tasks.Events");this.obsidianEvents=t}onCacheUpdate(t){return this.logger.debug("TasksEvents.onCacheUpdate()"),this.obsidianEvents.on("obsidian-tasks-plugin:cache-update",t)}triggerCacheUpdate(t){this.logger.debug("TasksEvents.triggerCacheUpdate()"),this.obsidianEvents.trigger("obsidian-tasks-plugin:cache-update",t)}onRequestCacheUpdate(t){return this.logger.debug("TasksEvents.onRequestCacheUpdate()"),this.obsidianEvents.on("obsidian-tasks-plugin:request-cache-update",t)}triggerRequestCacheUpdate(t){this.logger.debug("TasksEvents.triggerRequestCacheUpdate()"),this.obsidianEvents.trigger("obsidian-tasks-plugin:request-cache-update",t)}onReloadOpenSearchResults(t){return this.logger.debug("TasksEvents.onReloadOpenSearchResults()"),this.obsidianEvents.on("obsidian-tasks-plugin:reload-open-search-results",t)}triggerReloadOpenSearchResults(){this.logger.debug("TasksEvents.triggerReloadOpenSearchResults()"),this.obsidianEvents.trigger("obsidian-tasks-plugin:reload-open-search-results")}onReloadVault(t){return this.logger.debug("TasksEvents.onReloadVault()"),this.obsidianEvents.on("obsidian-tasks-plugin:reload-vault",t)}triggerReloadVault(){this.logger.debug("TasksEvents.triggerReloadVault()"),this.obsidianEvents.trigger("obsidian-tasks-plugin:reload-vault")}off(t){this.logger.debug("TasksEvents.off()"),this.obsidianEvents.offref(t)}};var cx=require("obsidian");dn();ps();At();var lx=require("obsidian");dn();dt();At();Ni();Rc();function q1(n){for(let e of ke.allDateFields()){let r=n[e];if(r&&!r.isValid())return!1}let t=n.happensDates.some(e=>!!(e!=null&&e.isValid()));return!n.isDone&&t}function Va(n){return n.dueDate?"dueDate":n.scheduledDate?"scheduledDate":n.startDate?"startDate":null}function hb(n,t,e,r){let i=n[t];return $1(i,n,t,e,r)}function W1(n,t,e,r){let i=window.moment();return $1(i,n,t,e,r)}function j1(n,t,e,r){return H1(n,t,null)}function $1(n,t,e,r,i){let s=new Ut(n).postpone(r,i);return H1(t,e,s)}function H1(n,t,e){let r=qt.removeInferredStatusIfNeeded(n,[new ke(pe(Y({},n),{[t]:e}))])[0];return{postponedDate:e,postponedTask:r}}function B1(n,t){if(n){let e=n==null?void 0:n.format("DD MMM YYYY");return`Task's ${t} changed to ${e}`}else return`Task's ${t} removed`}function G1(n,t,e){return`\u2139\uFE0F ${gb(n,t,e)} (right-click for more options)`}function gb(n,t,e){let r=Va(n),i=n[r];return Ka(r,i,t,e)}function z1(n,t,e){let r=Va(n),i=window.moment().startOf("day");return Ka(r,i,t,e)}function V1(
<span class='flatpickr-weekday'>
`+y.join("</span><span class='flatpickr-weekday'>")+`
</span>
`}}function k(){e.calendarContainer.classList.add("hasWeeks");var g=Be("div","flatpickr-weekwrapper");g.appendChild(Be("span","flatpickr-weekday",e.l10n.weekAbbreviation));var y=Be("div","flatpickr-weeks");return g.appendChild(y),{weekWrapper:g,weekNumbers:y}}function S(g,y){y===void 0&&(y=!0);var D=y?g:g-e.currentMonth;D<0&&e._hidePrevMonthArrow===!0||D>0&&e._hideNextMonthArrow===!0||(e.currentMonth+=D,(e.currentMonth<0||e.currentMonth>11)&&(e.currentYear+=e.currentMonth>11?1:-1,e.currentMonth=(e.currentMonth+12)%12,ot("onYearChange"),P()),B(),ot("onMonthChange"),eu())}function C(g,y){if(g===void 0&&(g=!0),y===void 0&&(y=!0),e.input.value="",e.altInput!==void 0&&(e.altInput.value=""),e.mobileInput!==void 0&&(e.mobileInput.value=""),e.selectedDates=[],e.latestSelectedDateObj=void 0,y===!0&&(e.currentYear=e._initialDate.getFullYear(),e.currentMonth=e._initialDate.getMonth()),e.config.enableTime===!0){var D=Zd(e.config),I=D.hours,z=D.minutes,ne=D.seconds;p(I,z,ne)}e.redraw(),g&&ot("onChange")}function N(){e.isOpen=!1,e.isMobile||(e.calendarContainer!==void 0&&e.calendarContainer.classList.remove("open"),e._input!==void 0&&e._input.classList.remove("active")),ot("onClose")}function U(){e.config!==void 0&&ot("onDestroy");for(var g=e._handlers.length;g--;)e._handlers[g].remove();if(e._handlers=[],e.mobileInput)e.mobileInput.parentNode&&e.mobileInput.parentNode.removeChild(e.mobileInput),e.mobileInput=void 0;else if(e.calendarContainer&&e.calendarContainer.parentNode)if(e.config.static&&e.calendarContainer.parentNode){var y=e.calendarContainer.parentNode;if(y.lastChild&&y.removeChild(y.lastChild),y.parentNode){for(;y.firstChild;)y.parentNode.insertBefore(y.firstChild,y);y.parentNode.removeChild(y)}}else e.calendarContainer.parentNode.removeChild(e.calendarContainer);e.altInput&&(e.input.type="text",e.altInput.parentNode&&e.altInput.parentNode.removeChild(e.altInput),delete e.altInput),e.input&&(e.input.type=e.input._type,e.input.classList.remove("flatpickr-input"),e.input.removeAttribute("readonly")),["_showTimeInput","latestSelectedDateObj","_hideNextMonthArrow","_hidePrevMonthArrow","__hideNextMonthArrow","__hidePrevMonthArrow","isMobile","isOpen","selectedDateElem","minDateHasTime","maxDateHasTime","days","daysContainer","_input","_positionElement","innerContainer","rContainer","monthNav","todayDateElem","calendarContainer","weekdayContainer","prevMonthNav","nextMonthNav","monthsDropdownContainer","currentMonthElement","currentYearElement","navigationCurrentMonth","selectedDateElem","config"].forEach(function(D){try{delete e[D]}catch(I){}})}function L(g){return e.calendarContainer.contains(g)}function _(g){if(e.isOpen&&!e.config.inline){var y=En(g),D=L(y),I=y===e.input||y===e.altInput||e.element.contains(y)||g.path&&g.path.indexOf&&(~g.path.indexOf(e.input)||~g.path.indexOf(e.altInput)),z=!I&&!D&&!L(g.relatedTarget),ne=!e.config.ignoredFocusElements.some(function(De){return De.contains(y)});z&&ne&&(e.config.allowInput&&e.setDate(e._input.value,!1,e.config.altInput?e.config.altFormat:e.config.dateFormat),e.timeContainer!==void 0&&e.minuteElement!==void 0&&e.hourElement!==void 0&&e.input.value!==""&&e.input.value!==void 0&&l(),e.close(),e.config&&e.config.mode==="range"&&e.selectedDates.length===1&&e.clear(!1))}}function $(g){if(!(!g||e.config.minDate&&g<e.config.minDate.getFullYear()||e.config.maxDate&&g>e.config.maxDate.getFullYear())){var y=g,D=e.currentYear!==y;e.currentYear=y||e.currentYear,e.config.maxDate&&e.currentYear===e.config.maxDate.getFullYear()?e.currentMonth=Math.min(e.config.maxDate.getMonth(),e.currentMonth):e.config.minDate&&e.currentYear===e.config.minDate.getFullYear()&&(e.currentMonth=Math.max(e.config.minDate.getMonth(),e.currentMonth)),D&&(e.redraw(),ot("onYearChange"),P())}}function de(g,y){var D;y===void 0&&(y=!0);var I=e.parseDate(g,void 0,y);if(e.config.minDate&&I&&xn(I,e.config.minDate,y!==void 0?y:!e.minDateHasTime)<0||e.config.maxDate&&I&&xn(I,e.config.maxDate,y!==void 0?y:!e.maxDateHasTime)>0)return!1;if(!e.config.enable&&e.config.disable.length===0)return!0;if(I===void 0)return!1;for(va
`);if(b===void 0)return!1;let v=null;for(let R=0;R<b.length;R=R+1)if(b[R]!==""){v=b[R];break}return v===null?!1:Ae.getInstance().includedIn(v)});if(i.length===0)return;let s=e.sourcePath,a=this.app.vault.getFileByPath(s)||void 0,o=new pt(s,{},a),l=e.getSectionInfo(t);if(l===null)return;let u=l.text.split(`
`),c=0,d=[];for(let h=l.lineStart;h<=l.lineEnd;h++){let b=u[h];if(b===void 0)continue;let v=null,E=ke.fromLine({line:b,taskLocation:new Kt(o,h,l.lineStart,c,v),fallbackDate:null});E!==null&&(d.push(E),c++)}let f=new zi({obsidianApp:this.app,obsidianComponent:r,taskLayoutOptions:new Yr,queryLayoutOptions:new Ui});for(let h=0;h<i.length;h++){let b=d[h],v=i[h];if(b===void 0||v===void 0)continue;let E=(p=v.getAttr("data-line"))!=null?p:"0",R=Number.parseInt(E,10),x=Ve("li",t);yield f.renderTaskLine({li:x,task:b,taskIndex:R,isTaskInQueryFile:!0});let q=v.childNodes;for(let j=0;j<q.length;j=j+1){let J=q[j],Se=J.nodeName.toLowerCase();Se==="div"?x.prepend(J):(Se==="ul"||Se==="ol")&&x.append(J)}let ee=v.querySelectorAll("[data-footnote-id]"),V=x.querySelectorAll("[data-footnote-id]");if(ee.length===V.length)for(let j=0;j<ee.length;j++)V[j].replaceWith(ee[j]);ux(v,x)}})}};var px=require("@codemirror/view");At();var dx=require("obsidian");Rr();dt();function fx(n,t,e){if(X().dismissedNotices[n])return;let r=createFragment(),i=createDiv();i.textContent=t;let s=createEl("label");s.addClass("tasks-dismissible-notice-checkbox-label");let a=createEl("input");a.type="checkbox",a.addEventListener("change",()=>{X().dismissedNotices[n]=a.checked,e.saveSettings()}),s.appendChild(a),s.appendText(" "+O.t("notices.do-not-show-message-again")),r.appendChild(i),r.appendChild(s),console.warn(t),new dx.Notice(r,45e3)}Rr();var mx=n=>px.ViewPlugin.fromClass(class extends wb{constructor(t){super(t,n)}}),wb=class{constructor(t,e){this.handleClickEvent=t=>{let{target:e}=t;if(!e||!(e instanceof HTMLInputElement)||e.type!=="checkbox")return!1;let r=e.closest("ul.plugin-tasks-query-result, div.callout-content");if(r){if(r.matches("div.callout-content")){let p="live-preview-callout-warning",h=O.t("notices.live-preview-callout-warning.line1")+`
`+O.t("notices.live-preview-callout-warning.line2")+`
`+O.t("notices.live-preview-callout-warning.line3")+`
`+O.t("notices.live-preview-callout-warning.line4")+`
`+O.t("notices.live-preview-callout-warning.line5")+`
`+O.t("notices.live-preview-callout-warning.line6",{commandName:mb});fx(p,h,this.plugin)}return!1}let{state:i}=this.view,s=this.view.posAtDOM(e),a=i.doc.lineAt(s),o=ke.fromLine({line:a.text,taskLocation:Kt.fromUnknownPosition(new pt("")),fallbackDate:null});if(o===null)return!1;t.preventDefault();let l=o.toggleWithRecurrenceInUsersOrder(),u=l.map(p=>p.toFileLineString()).join(i.lineBreak),c=a.to;if(u===""){let p=a.number<i.doc.lines?i.doc.line(a.number+1):null;p&&(c=p.from)}let d=i.update({changes:{from:a.from,to:c,insert:u}});if(this.view.dispatch(d),l.length===1){let p=l[0].status.symbol!==" ";setTimeout(()=>{e.checked=p},1)}return!0};this.view=t,this.plugin=e,this.view.dom.addEventListener("click",this.handleClickEvent)}destroy(){this.view.dom.removeEventListener("click",this.handleClickEvent)}};var Vi=require("obsidian"),yx=require("obsidian");function hx(n,t,e,r=void 0){let i="";t.isEmpty()||(i+=`Only tasks containing the global filter '${t.get()}'.
`);let s=new Aa(" ");function a(c,d){return`${c}:
${s.explainQuery(d)}`}let o=new _r(n,r),l=new ki().query(r);if(!(o.ignoreGlobalQuery||l.ignoreGlobalQuery)&&e.hasInstructions()){let c=e.query(r);i+=a("Explanation of the global query",c)+`
`}return l.source!==""&&(i+=a("Explanation of the Query File Defaults (from properties/frontmatter in the query's file)",l)+`
`),i+=a("Explanation of this Tasks code block query",o),i}function tf(n,t,e){let i=new ki().query(e).append(new _r(n,e));return i.ignoreGlobalQuery?i:t.query(e).append(i)}Ni();var Vr=require("obsidian");dt();function Kl(n,t,e){t&&n.push(xW(e))}function xW(n){return`tasks-layout-hide-${n}`}var nf=class{constructor(t){t?this.queryLayoutOptions=t:this.queryLayoutOptions=new Ui}getHiddenClasses(){let t=[],e=[[this.queryLayoutOptions.hideUrgency,"urgency"],[this.queryLayoutOptions.hideBacklinks,"backlinks"],[this.queryLayoutOptions.hideEditButton,"edit-button"],[this.queryLayoutOptions.hidePostponeButton,"postpone-button"]];for(let[r,i]of e)Kl(t,r,i);return this.queryLayoutOptions.shortMode&&t.push("tasks-layout-short-mode"),t}};ps();var rf=class{constructor(t){t?this.taskLayoutOptions=t:this.taskLayoutOptions=new Yr}generateHiddenClasses(){let t=[];return this.taskLayoutOptions.toggleableComponents.forEach(e=>{Kl(t,!this.taskLayoutOptions.isShown(e),e)}),Kl(t,!this.taskLayoutOptions.areTagsShown(),"tags"),t}};var Sb=require("obsidian");var Ql=class n extends Hi{constructor(t,e,r=zr){super(r);let i=(u,c,d,f,p,h)=>{var R;let b=!1,v=Va(e);if(v){let{postponedDate:x}=h(e,v,d,f);(R=e[v])!=null&&R.isSame(x,"day")&&(b=!0)}let E=p(e,f,d);c.setChecked(b).setTitle(E).onClick(()=>n.postponeOnClickCallback(u,e,f,d,h,r))},s=z1,a=W1;this.addItem(u=>i(t,u,"days",0,s,a)),this.addItem(u=>i(t,u,"day",1,s,a)),this.addSeparator();let o=gb,l=hb;o(e,1,"day")!==s(e,1,"day")&&this.addItem(u=>i(t,u,"day",1,o,l)),this.addItem(u=>i(t,u,"days",2,o,l)),this.addItem(u=>i(t,u,"days",3,o,l)),this.addItem(u=>i(t,u,"days",4,o,l)),this.addItem(u=>i(t,u,"days",5,o,l)),this.addItem(u=>i(t,u,"days",6,o,l)),this.addSeparator(),this.addItem(u=>i(t,u,"week",1,o,l)),this.addItem(u=>i(t,u,"weeks",2,o,l)),this.addItem(u=>i(t,u,"weeks",3,o,l)),this.addItem(u=>i(t,u,"month",1,o,l)),this.addSeparator(),this.addItem(u=>i(t,u,"days",2,V1,j1))}static postponeOnClickCallback(o,l,u,c){return A(this,arguments,function*(t,e,r,i,s=hb,a=zr){var h;let d=Va(e);if(d===null){let b="\u26A0\uFE0F Postponement requires a date: due, scheduled or start.";return new Sb.Notice(b,1e4)}let{postponedDate:f,postponedTask:p}=s(e,d,i,r);(h=e[d])!=null&&h.isSame(f,"day")||(yield a(e,p),n.postponeSuccessCallback(t,d,f))})}static postponeSuccessCallback(t,e,r){t.classList.add("tasks-no-pointer-events");let i=B1(r,e);new Sb.Notice(i,2e3)}};dn();At();var no=class{constructor(t,e,r){this.addedListItems=new Set;this.source=t,this.tasksFile=e,this.query=r}get filePath(){return this.tasksFile.path}renderQuery(t,e){return A(this,null,function*(){this.beginRender();let i=this.query.error;t==="Warm"&&i===void 0?yield this.renderQuerySearchResults(e):i?this.renderErrorMessage(i):this.renderLoadingMessage()})}renderQuerySearchResults(t){return A(this,null,function*(){if(this.explainQuery(),t.searchErrorMessage!==void 0){this.renderErrorMessage(t.searchErrorMessage);return}yield this.renderSearchResults(t)})}explainQuery(){if(this.query.queryLayoutOptions.explainQuery){let t=hx(this.source,Ae.getInstance(),or.getInstance(),this.tasksFile);this.renderExplanation(t)}}renderSearchResults(t){return A(this,null,function*(){this.renderSearchResultsHeader(t),yield this.addAllTaskGroups(t.taskGroups);let e=t.totalTasksCount;this.query.debug(`[render] ${e} tasks displayed`),this.renderSearchResultsFooter(t)})}addAllTaskGroups(t){return A(this,null,function*(){for(let e of t.groups)yield this.addGroupHeadings(e.groupHeadings),this.addedListItems.clear(),yield this.addTaskList(e.tasks)})}addTaskList(t){return A(this,null,function*(){this.beginTaskList();try{this.query.queryLayoutOptions.hideTree?yield this.addFlatTaskList(t):yield this.addTreeTaskList(t)}finally{this.endTaskList()}})}addFlatTaskList(t){return A(this,null,function*(){for(let[e,r]of t.entries())r instanceof ke&&(this.beginListItem(),yield this.addTask(r,e))})}addTreeTaskList(t){return A(this,null,function*(){for(let[e,r]of t.entries())this.alreadyAdded(r)||this.willBeAddedLater(r,t)||(this.beginListItem(),r instanceof ke?yield this.addTask(r,e):yield this.a
`)}beginRender(){this.markdownLines.length=0,this.taskIndentationLevel=0}renderSearchResultsHeader(e){}renderSearchResultsFooter(e){}renderLoadingMessage(){}renderExplanation(e){e&&this.markdownLines.push(e)}renderErrorMessage(e){this.markdownLines.push(e)}beginTaskList(){this.taskIndentationLevel+=1}endTaskList(){this.taskIndentationLevel-=1,this.taskIndentationLevel===0&&this.addEmptyLine()}addEmptyLine(){this.markdownLines.push("")}beginListItem(){}addTask(e,r){return this.markdownLines.push(this.formatTask(e)),Promise.resolve()}formatTask(e){return`${this.listItemIndentation()}- [${e.status.symbol}] ${e.toString()}`}addListItem(e,r){return this.markdownLines.push(this.formatListItem(e)),Promise.resolve()}formatListItem(e){let r=e.statusCharacter?`[${e.statusCharacter}] `:"";return`${this.listItemIndentation()}- ${r}${e.description}`}listItemIndentation(){let e=Math.max(0,this.taskIndentationLevel-1);return" ".repeat(e)}addGroupHeading(e){let r="#".repeat(Math.min(4+e.nestingLevel,6));return this.markdownLines.push(`${r} ${e.displayName}`),this.addEmptyLine(),Promise.resolve()}};var of=class{constructor(t,e,r,i,s,a,o,l){this._filterString="";this.source=e,this._tasksFile=r,this.queryResult=new _r("").applyQueryToTasks([]),this.filteredQueryResult=this.queryResult,t==="block-language-tasks"?(this.query=this.makeQueryFromSourceAndTasksFile(),this.queryType="tasks"):(this.query=this.makeQueryFromSourceAndTasksFile(),this.queryType="tasks"),this.renderMarkdown=i,this.obsidianComponent=s,this.obsidianApp=a,this.textRenderer=o,this.htmlQueryRendererParameters=l}get filterString(){return this._filterString}makeQueryFromSourceAndTasksFile(){return tf(this.source,or.getInstance(),this.tasksFile)}get tasksFile(){return this._tasksFile}setTasksFile(t){this._tasksFile=t,this.rereadQueryFromFile()}rereadQueryFromFile(){this.query=this.makeQueryFromSourceAndTasksFile()}get filePath(){return this.tasksFile.path}render(t,e,r){return A(this,null,function*(){this.performSearch(e),this.addToolbar(r),yield this.renderQueryResult(t,this.filteredQueryResult,r)})}performSearch(t){let e=new ks(`Search: ${this.query.queryId} - ${this.filePath}`);e.start(),this.queryResult=this.query.applyQueryToTasks(t),this.filterResults(),e.finish()}renderQueryResult(t,e,r){return A(this,null,function*(){let i=new ks(`Render: ${this.query.queryId} - ${this.filePath}`);i.start();let s=new sf(this.renderMarkdown,this.obsidianComponent,this.obsidianApp,this.textRenderer,this.htmlQueryRendererParameters,this.source,this.tasksFile,this.query);s.content=r,yield s.renderQuery(t,e),i.finish()})}addToolbar(t){if(this.query.queryLayoutOptions.hideToolbar)return;let e=Ve("div",t);e.classList.add("plugin-tasks-toolbar"),this.addSearchBox(e,t),this.addCopyButton(e)}addSearchBox(t,e){let r=Ve("label",t);(0,Vr.setIcon)(r,"lucide-filter");let i=Ve("input",r);i.value=this._filterString,i.placeholder="Filter by description...",(0,Vr.setTooltip)(i,"Filter results");let s=()=>A(this,null,function*(){let a=i.value;yield this.applySearchBoxFilterAndRerender(a,e)});i.addEventListener("input",(0,Vr.debounce)(s,500,!0))}applySearchBoxFilterAndRerender(t,e){return A(this,null,function*(){for(this._filterString=t,this.filterResults();e.firstElementChild!==e.lastElementChild;){let r=e.lastChild;if(r===null)break;r.remove()}yield this.renderQueryResult("Warm",this.filteredQueryResult,e)})}filterResults(){let{filter:t,error:e}=new Ia().createFilterOrErrorMessage("description includes "+this._filterString);if(e){this.filteredQueryResult=this.queryResult;return}this.filteredQueryResult=this.queryResult.applyFilter(t)}addCopyButton(t){let e=Ve("button",t);(0,Vr.setIcon)(e,"lucide-copy"),(0,Vr.setTooltip)(e,"Copy results"),e.addEventListener("click",()=>A(this,null,function*(){let r=yield this.resultsAsMarkdown();yield navigator.clipboard.writeText(r),new Vr.Notice("Results copied to clipboard")}))}resultsAsMarkdown(){return A(this,null,function*(){let t=new af(this.source,this.tasksFile,this.query);return yield t.renderQuery("Warm",this.filteredQueryResult),t.markdown})}};var lf=class
`,this._markdown+=`${e}
`}addRow(t){let e=this.makeRowText(t);this._markdown+=`${e}
`}addRowIfNew(t){let e=this.makeRowText(t);this._markdown.includes(e)||(this._markdown+=`${e}
`)}makeRowText(t){let e="|";return t.forEach(r=>{e+=` ${r} |`}),e}};Rr();dn();Nn();yr();br();function bx(n,t){return n.findIndex(e=>e.symbol===t)}function Si(n){return n===""?n:"`"+(n!==" "?n:"space")+"`"}function MW(n,t){let e=Oe.getTypeForUnknownSymbol(n.symbol);if(n.type===e||e==="TODO"&&n.symbol!==" ")return;let r=Si(n.symbol),i=Si(e);t.push(O.t("reports.statusRegistry.messages.notConventionalType",{symbol:r,type:i}))}function AW(n,t,e){let r=t.nextStatusSymbol,i=bx(n,r);if(i===-1){let a=Si(r);e.push(O.t("reports.statusRegistry.messages.nextSymbolUnknown",{symbol:a}));return}if(t.type!=="DONE")return;let s=n[i];if(s){if(s.type!=="TODO"&&s.type!=="IN_PROGRESS"){let a="https://publish.obsidian.md/tasks/Getting+Started/Statuses/Recurring+Tasks+and+Custom+Statuses",o=Si(s.type),l=[O.t("reports.statusRegistry.messages.wrongTypeAfterDone.line1",{nextType:o}),O.t("reports.statusRegistry.messages.wrongTypeAfterDone.line2"),O.t("reports.statusRegistry.messages.wrongTypeAfterDone.line3",{helpURL:a})].join("<br>");e.push(l)}}else e.push(O.t("reports.statusRegistry.messages.cannotFindNextStatus"))}function PW(n,t,e){let r=[];if(t.symbol===Oe.EMPTY.symbol)return r.push(O.t("reports.statusRegistry.messages.emptySymbol")),r;if(bx(n,t.symbol)!=e){let s=Si(t.symbol);return r.push(O.t("reports.statusRegistry.messages.duplicateSymbol",{symbol:s})),r}return MW(t,r),AW(n,t,r),r}function Tx(n){let t=new uf([O.t("reports.statusRegistry.columnHeadings.statusSymbol"),O.t("reports.statusRegistry.columnHeadings.nextStatusSymbol"),O.t("reports.statusRegistry.columnHeadings.statusName"),O.t("reports.statusRegistry.columnHeadings.statusType"),O.t("reports.statusRegistry.columnHeadings.problems")]),e=wt.allStatuses(n);return e.forEach((r,i)=>{t.addRow([Si(r.symbol),Si(r.nextStatusSymbol),r.name,Si(r.type),PW(e,r,i).join("<br>")])}),t.markdown}function vx(n){let t=new Xe;return wt.applyToStatusRegistry(n,t),t.registeredStatuses.map((r,i)=>{let s=Ae.getInstance(),a=s.isEmpty()?"":s.get()+" ",o=`Sample task ${i+1}`,l=`status symbol=${Si(r.symbol)}`,u=`status name='${r.name}'`;return`- [${r.symbol}] ${a}${o}: ${l} ${u}`})}function kx(n,t,e,r){let s=Tx(n),a=t.mermaidDiagram(!0),o=vx(n);return`# ${e}
## ${O.t("reports.statusRegistry.about.title")}
${O.t("reports.statusRegistry.about.createdBy",{version:r})}
${O.t("reports.statusRegistry.about.updateReport.line1")}
- ${O.t("reports.statusRegistry.about.updateReport.line2")}
- ${O.t("reports.statusRegistry.about.updateReport.line3")}
${O.t("reports.statusRegistry.about.deleteFileAnyTime")}
## ${O.t("reports.statusRegistry.statusSettings.title")}
<!--
${O.t("reports.statusRegistry.statusSettings.comment.line1")}
${O.t("reports.statusRegistry.statusSettings.comment.line2")}
${O.t("reports.statusRegistry.statusSettings.comment.line3")}
-->
${O.t("reports.statusRegistry.statusSettings.theseAreStatusValues")}
${s}
## ${O.t("reports.statusRegistry.loadedSettings.title")}
<!-- ${O.t("reports.statusRegistry.loadedSettings.switchToLivePreview")} -->
${O.t("reports.statusRegistry.loadedSettings.settingsActuallyUsed")}
${a}
## ${O.t("reports.statusRegistry.sampleTasks.title")}
${O.t("reports.statusRegistry.sampleTasks.line1")}
${O.t("reports.statusRegistry.sampleTasks.line2")}
${O.t("reports.statusRegistry.sampleTasks.line3")}
> [!Tip] ${O.t("reports.statusRegistry.sampleTasks.tip.line1")}
> ${O.t("reports.statusRegistry.sampleTasks.tip.line2",{url:"https://publish.obsidian.md/tasks/How+To/Style+custom+statuses"})}
${o.join(`
`)}
## ${O.t("reports.statusRegistry.searchSampleTasks.title")}
${O.t("reports.statusRegistry.searchSampleTasks.line1")}
\`\`\`tasks
path includes {{query.file.path}}
group by status.type
group by status.name
sort by function task.lineNumber
hide postpone button
short mode
\`\`\`
`}Rr();function wx(){return[[" ","Unchecked","x","TODO"],["x","Checked"," ","DONE"],[">","Rescheduled","x","TODO"],["<","Scheduled","x","TODO"],["!","Important","x","TODO"],["-","Cancelled"," ","CANCELLED"],["/","In Progress","x","IN_PROGRESS"],["?","Question","x","TODO"],["*","Star","x","TODO"],["n","Note","x","TODO"],["l","Location","x","TODO"],["i","Information","x","TODO"],["I","Idea","x","TODO"],["S","Amount","x","TODO"],["p","Pro","x","TODO"],["c","Con","x","TODO"],["b","Bookmark","x","TODO"],['"',"Quote","x","TODO"],["0","Speech bubble 0","0","NON_TASK"],["1","Speech bubble 1","1","NON_TASK"],["2","Speech bubble 2","2","NON_TASK"],["3","Speech bubble 3","3","NON_TASK"],["4","Speech bubble 4","4","NON_TASK"],["5","Speech bubble 5","5","NON_TASK"],["6","Speech bubble 6","6","NON_TASK"],["7","Speech bubble 7","7","NON_TASK"],["8","Speech bubble 8","8","NON_TASK"],["9","Speech bubble 9","9","NON_TASK"]]}function Sx(){return[[" ","incomplete","x","TODO"],["x","complete / done"," ","DONE"],["-","cancelled"," ","CANCELLED"],[">","deferred","x","TODO"],["/","in progress, or half-done","x","IN_PROGRESS"],["!","Important","x","TODO"],["?","question","x","TODO"],["R","review","x","TODO"],["+","Inbox / task that should be processed later","x","TODO"],["b","bookmark","x","TODO"],["B","brainstorm","x","TODO"],["D","deferred or scheduled","x","TODO"],["I","Info","x","TODO"],["i","idea","x","TODO"],["N","note","x","TODO"],["Q","quote","x","TODO"],["W","win / success / reward","x","TODO"],["P","pro","x","TODO"],["C","con","x","TODO"]]}function _x(){return[[" ","To Do","x","TODO"],["/","In Progress","x","IN_PROGRESS"],["x","Done"," ","DONE"],["-","Cancelled"," ","CANCELLED"],[">","Rescheduled","x","TODO"],["<","Scheduled","x","TODO"],["!","Important","x","TODO"],["?","Question","x","TODO"],["i","Infomation","x","TODO"],["S","Amount","x","TODO"],["*","Star","x","TODO"],["b","Bookmark","x","TODO"],["\u201C","Quote","x","TODO"],["n","Note","x","TODO"],["l","Location","x","TODO"],["I","Idea","x","TODO"],["p","Pro","x","TODO"],["c","Con","x","TODO"],["u","Up","x","TODO"],["d","Down","x","TODO"]]}function Dx(){return[[" ","Unchecked","x","TODO"],["x","Checked"," ","DONE"],["-","Cancelled"," ","CANCELLED"],["/","In Progress","x","IN_PROGRESS"],[">","Deferred","x","TODO"],["!","Important","x","TODO"],["?","Question","x","TODO"],["r","Review","x","TODO"]]}function Ex(){return[[" ","Unchecked","x","TODO"],["x","Regular"," ","DONE"],["X","Checked"," ","DONE"],["-","Dropped"," ","CANCELLED"],[">","Forward","x","TODO"],["<","Migrated","x","TODO"],["D","Date","x","TODO"],["?","Question","x","TODO"],["/","Half Done","x","IN_PROGRESS"],["+","Add","x","TODO"],["R","Research","x","TODO"],["!","Important","x","TODO"],["i","Idea","x","TODO"],["B","Brainstorm","x","TODO"],["P","Pro","x","TODO"],["C","Con","x","TODO"],["Q","Quote","x","TODO"],["N","Note","x","TODO"],["b","Bookmark","x","TODO"],["I","Information","x","TODO"],["p","Paraphrase","x","TODO"],["L","Location","x","TODO"],["E","Example","x","TODO"],["A","Answer","x","TODO"],["r","Reward","x","TODO"],["c","Choice","x","TODO"],["d","Doing","x","IN_PROGRESS"],["T","Time","x","TODO"],["@","Character / Person","x","TODO"],["t","Talk","x","TODO"],["O","Outline / Plot","x","TODO"],["~","Conflict","x","TODO"],["W","World","x","TODO"],["f","Clue / Find","x","TODO"],["F","Foreshadow","x","TODO"],["H","Favorite / Health","x","TODO"],["&","Symbolism","x","TODO"],["s","Secret","x","TODO"]]}function xx(){return[[" ","Unchecked","x","TODO"],["x","Checked"," ","DONE"],[">","Rescheduled","x","TODO"],["<","Scheduled","x","TODO"],["!","Important","x","TODO"],["-","Cancelled"," ","CANCELLED"],["/","In Progress","x","IN_PROGRESS"],["?","Question","x","TODO"],["*","Star","x","TODO"],["n","Note","x","TODO"],["l","Location","x","TODO"],["i","Information","x","TODO"],["I","Idea","x","TODO"],["S","Amount","x","TODO"],["p","Pro","x","TODO"],["c","Con","x","TODO"],["b","Bookmark","x","TODO"],["f","Fire","x","TODO"],["k","Key","x","TODO"],["w","Win","x","TODO"],["u","Up","x","TODO"],["d","Down","x","TODO"]]}function Ox(){
`)+`
`+O.t("modals.customStatusModal.fixErrorsBeforeSaving");new Er.Notice(d);return}this.saved=!0,this.close()})),u)),l.addExtraButton(u=>(u.setIcon("cross").setTooltip("Cancel").onClick(()=>{this.saved=!1,this.close()}),u))})}onOpen(){this.display()}static setValidationError(e){e.inputEl.addClass("tasks-settings-is-invalid")}static removeValidationError(e){e.inputEl.removeClass("tasks-settings-is-invalid")}static setValid(e,r){r.length===0?n.removeValidationError(e):n.setValidationError(e)}};var Db=require("obsidian");function Cx(n,t,e){if(t===e||!Object.prototype.hasOwnProperty.call(n,t))return Y({},n);let r={};for(let[i,s]of Object.entries(n))i===t?r[e]=s:r[i]=s;return r}var Zl=class{constructor(t,e,r){this.originalName=t,this.isValid=e,this.errorMessage=r}},ff=class{validateRenames(t){let e={};for(let[r,i]of Object.entries(t)){let s={};for(let[a,o]of Object.entries(t))a!==r&&(s[o]="");e[r]=this.validateRename(s,"",i)}return e}validateRename(t,e,r){if(!r||r.trim()==="")return new Zl(e,!1,"Preset name cannot be empty or all whitespace");for(let i of Object.keys(t))if(i!==e&&i.trim()===r.trim())return new Zl(e,!1,"A preset with this name already exists");return new Zl(e,!0,null)}addPreset(t){let e=this.generateUniqueKey(t),r=Y({},t);return r[e]="",{presets:r,newKey:e}}renamePreset(t,e,r){return!r||r.trim()===""||(r=r.trim(),this.wouldCreateDuplicateKey(t,e,r))?null:Cx(t,e,r)}deletePreset(t,e){let r=Y({},t);return delete r[e],r}updatePresetValue(t,e,r){let i=Y({},t);return i[e]=r,i}wouldCreateDuplicateKey(t,e,r){let i=r.trim();if(e.trim()===i)return!1;for(let s of Object.keys(t))if(s!==e&&s.trim()===i)return!0;return!1}generateUniqueKey(t){let e="new_key",r=1;for(;Object.prototype.hasOwnProperty.call(t,`${e}_${r}`);)r++;return`${e}_${r}`}reorderPreset(t,e,r){let i=Object.keys(t),s=i.indexOf(e);if(s===-1||r<0||r>=i.length)return null;if(s===r)return Y({},t);let a=[...i];a.splice(s,1),a.splice(r,0,e);let o={};for(let l of a)o[l]=t[l];return o}};Rr();dt();var pf=class{constructor(t,e){this.presetsSettingsService=new ff;this.nameFields=new Map;this.plugin=t,this.events=e}renderPresetsSettings(t){let e=t.createDiv(),r=X(),i=()=>{e.empty(),this.nameFields.clear(),Object.entries(r.presets).forEach(([s,a])=>{this.renderPresetItem(e,r,s,a,i)})};i(),this.createAddNewPresetButton(t,r,i)}renderPresetItem(t,e,r,i,s){let a=t.createDiv({cls:"tasks-presets-wrapper"}),o=new Db.Setting(a);o.settingEl.addClass("tasks-presets-setting"),a.setAttribute("data-preset-key",r),o.addText(l=>{l.setPlaceholder("Name").setValue(r),l.inputEl.addClass("tasks-presets-key"),this.nameFields.set(r,{inputEl:l.inputEl,originalKey:r});let u=r;l.inputEl.addEventListener("input",d=>{u=d.target.value,this.validateAllInputs()});let c=()=>A(this,null,function*(){if(u&&u!==r){let d=this.presetsSettingsService.renamePreset(e.presets,r,u);d&&(yield this.savePresetsSettings(d,e,s))}});l.inputEl.addEventListener("blur",c),l.inputEl.addEventListener("keydown",d=>A(this,null,function*(){d.key==="Enter"&&(d.preventDefault(),l.inputEl.blur())}))}),o.addTextArea(l=>(l.inputEl.addClass("tasks-presets-value"),l.setPlaceholder("Query or filter text...").setValue(i),this.setupAutoResizingTextarea(l),l.onChange(u=>A(this,null,function*(){let c=this.presetsSettingsService.updatePresetValue(e.presets,r,u);yield this.savePresetsSettings(c,e,null)})))),o.addExtraButton(l=>{l.extraSettingsEl.addClass("tasks-presets-drag-handle"),l.setIcon("grip-vertical").setTooltip("Drag to reorder"),l.extraSettingsEl.addEventListener("mousedown",u=>{a.draggable=!0,l.extraSettingsEl.addClass("tasks-presets-drag-handle-active")}),l.extraSettingsEl.addEventListener("mouseup",u=>{l.extraSettingsEl.removeClass("tasks-presets-drag-handle-active")})}),o.addExtraButton(l=>{l.extraSettingsEl.addClass("tasks-presets-delete-button"),l.setIcon("cross").setTooltip("Delete").onClick(()=>A(this,null,function*(){let u=this.presetsSettingsService.deletePreset(e.presets,r);yield this.savePresetsSettings(u,e,s)}))}),this.setupDragAndDrop(a,r,e,s),o.infoEl.remove()}setupDragAndDrop(t,e,r,i){t.addEventListener("dragstart"
This message has been written to the console.
`,1e4)}var hf=class extends Ki.EditorSuggest{constructor(t,e,r){super(t),this.settings=e,this.plugin=r,t.scope.register([],"Tab",()=>{var s;let i=(s=this.context)==null?void 0:s.editor;return i?(i.exec("indentMore"),!1):!0})}onTrigger(t,e,r){if(!this.settings.autoSuggestInEditor||r===void 0)return null;let i=e.getLine(t.line);return!iD(i,t,e)||this.grabSuggestions(e,r,i).length===0?null:{start:{line:t.line,ch:0},end:{line:t.line,ch:i.length},query:i}}getSuggestions(t){return t.file===void 0?[]:this.grabSuggestions(t.editor,t.file,t.query).map(r=>pe(Y({},r),{context:t}))}grabSuggestions(t,e,r){var u,c,d;let i=t.getCursor(),s=this.plugin.getTasks(),a=s.find(f=>f.taskLocation.path==e.path&&f.taskLocation.lineNumber==i.line),o=this.getMarkdownFileInfo(t),l=this.canSaveEdits(o);return(d=(c=(u=_l()).buildSuggestions)==null?void 0:c.call(u,r,i.ch,this.settings,s,l,a))!=null?d:[]}getMarkdownFileInfo(t){return t.cm.state.field(Ki.editorInfoField)}canSaveEdits(t){return t instanceof Ki.MarkdownView}renderSuggestion(t,e){e.setText(t.displayText)}selectSuggestion(t,e){return A(this,null,function*(){var l,u,c;let r=t.context.editor;if(t.suggestionType==="empty"){this.close();let d=new KeyboardEvent("keydown",{code:"Enter",key:"Enter"});(u=(l=r==null?void 0:r.cm)==null?void 0:l.contentDOM)==null||u.dispatchEvent(d);return}if(t.taskItDependsOn!=null){let d=kc(t.taskItDependsOn,this.plugin.getTasks().map(f=>f.id));if(t.appendText+=` ${d.id}`,t.taskItDependsOn!==d)if(t.context.file.path==d.path){let f=t.taskItDependsOn.originalMarkdown,p={line:t.taskItDependsOn.lineNumber,ch:0},h={line:t.taskItDependsOn.lineNumber,ch:f.length},b=t.context.editor.getRange(p,h);if(b!==f){let v=`Error adding new ID, due to mismatched data in Tasks memory and the editor:
task line in memory: '${t.taskItDependsOn.originalMarkdown}'
task line in editor: '${b}'
file: '${d.path}'
`;LW(v);return}t.context.editor.replaceRange(d.toFileLineString(),p,h)}else Un({originalTask:t.taskItDependsOn,newTasks:d})}let i=t.context.editor.getCursor(),s={line:i.line,ch:(c=t.insertAt)!=null?c:i.ch},a=t.insertSkip?{line:i.line,ch:s.ch+t.insertSkip}:void 0;t.context.editor.replaceRange(t.appendText,s,a),t.context.editor.setCursor({line:i.line,ch:s.ch+t.appendText.length});let o=this.getMarkdownFileInfo(t.context.editor);this.canSaveEdits(o)&&(yield o.save())})}};ya();function gf(n,t,e,r){let i,s=new Promise((c,d)=>{i=c}),a=c=>{let d=c.map(f=>f.toFileLineString()).join(`
`);i(d)},o=()=>{i("")},l=Qc({line:t!=null?t:"",path:""});return new Yi({app:n,task:l,onSaveSettings:r,onSubmit:a,onCancel:o,allTasks:e}).open(),s}var Ax=(n,t,e)=>gf(n,"",t,e);var Px=n=>{let t=n.app,e=()=>A(null,null,function*(){return yield n.saveSettings()});return{createTaskLineModal:()=>Ax(t,n.getTasks(),e),editTaskLineModal:r=>gf(t,r,n.getTasks(),e),executeToggleTaskDoneCommand:(r,i)=>Hy(r,i).text}};dn();Ff();var yf=class{constructor(t){this.app=t}load(t){return this.app.loadLocalStorage(t)}save(t,e){this.app.saveLocalStorage(t,e)}};var bf=class extends Tf.Plugin{get apiV1(){return Px(this)}onload(){return A(this,null,function*(){yield gT(),fn.registerConsoleLogger(),fy("info",O.t("main.loadingPlugin",{name:this.manifest.name,version:this.manifest.version})),yield this.loadSettings(),en.initialise(new yf(this.app));let{loggingOptions:t}=X();fn.configure(t),Gs.getInstance().setGetFirstLinkpathDestFn((r,i)=>{let s=(0,Tf.getLinkpath)(r.link),a=this.app.metadataCache.getFirstLinkpathDest(s,i);return a?a.path:null});let e=new jd({obsidianEvents:this.app.workspace});this.addSettingTab(new mf({plugin:this,events:e})),yE({metadataCache:this.app.metadataCache,vault:this.app.vault,workspace:this.app.workspace}),yield this.loadTaskStatuses(),this.cache=new ws({metadataCache:this.app.metadataCache,vault:this.app.vault,workspace:this.app.workspace,events:e}),this.inlineRenderer=new ef({plugin:this,app:this.app}),this.queryRenderer=new lf({plugin:this,events:e}),this.setObsidianPropertiesTypes(),this.registerEditorExtension(mx(this)),this.registerEditorSuggest(new hf(this.app,X(),this)),new Wd({plugin:this})})}loadTaskStatuses(){return A(this,null,function*(){let{statusSettings:t}=X();wt.applyToStatusRegistry(t,Xe.getInstance())})}onunload(){var t;fy("info",O.t("main.unloadingPlugin",{name:this.manifest.name,version:this.manifest.version})),(t=this.cache)==null||t.unload()}loadSettings(){return A(this,null,function*(){let t=yield this.loadData();it(t),t=X(),Ae.getInstance().set(t.globalFilter),Ae.getInstance().setRemoveGlobalFilter(t.removeGlobalFilter),or.getInstance().set(t.globalQuery),yield this.loadTaskStatuses()})}saveSettings(){return A(this,null,function*(){yield this.saveData(X())})}getTasks(){return this.cache===void 0?[]:this.cache.getTasks()}getState(){return this.cache===void 0?"Cold":this.cache.getState()}setObsidianPropertiesTypes(){var t;try{let e=this.app.metadataTypeManager,r=e.getAllProperties(),i=new ki;for(let s of i.allPropertyNamesSorted()){let a=i.propertyType(s);((t=r[s])==null?void 0:t.type)!==a&&e.setType(s,a)}}catch(e){console.error("setObsidianPropertiesTypes error",e)}}};
/*! Bundled license information:
eventemitter2/lib/eventemitter2.js:
(*!
* EventEmitter2
* https://github.com/hij1nx/EventEmitter2
*
* Copyright (c) 2013 hij1nx
* Licensed under the MIT license.
*)
mustache/mustache.mjs:
(*!
* mustache.js - Logic-less {{mustache}} templates with JavaScript
* http://github.com/janl/mustache.js
*)
*/
/* nosourcemap */