`),await this.plugin.saveSettings(),p.setExternalFilePaths(this.settings.rememberPasswordExternalFilePaths)}),r.inputEl.placeholder="Enter one relative path per line",r.inputEl.style.whiteSpace="pre",r.inputEl.style.width="100%",r.inputEl.rows=4}).addButton(r=>{r.setIcon("check").setTooltip("Check Paths").onClick(async()=>{let a=this.settings.rememberPasswordExternalFilePaths;for(let l of a)await p.canFetchContents(l)?new I.Notice(`\u2714\uFE0F${l}`):new I.Notice(`\u274C${l}`)})});i.controlEl.style.width="80%",e(),this.features.forEach(r=>{r.buildSettingsUi(t,async()=>await this.plugin.saveSettings())})}buildRememberPasswordDescription(){let t=new DocumentFragment,e=t.createEl("table").createTBody(),n=e.createEl("tr");return n.createEl("th",{text:"Vault:",attr:{align:"right"}}),n.createEl("td",{text:"Typically, you'll use the same password every time."}),n=e.createEl("tr"),n.createEl("th",{text:"Folder:",attr:{align:"right"}}),n.createEl("td",{text:"Typically, you'll use the same password for each note within a folder."}),n=e.createEl("tr"),n.createEl("th",{text:"File:",attr:{align:"right"}}),n.createEl("td",{text:"Typically, each note will have a unique password."}),n=e.createEl("tr"),n.createEl("th",{text:"External File:",attr:{align:"right",style:"width:12em;"}}),n.createEl("td",{text:"When needed the password/key is read from one of these filepaths."}),t}};var x=require("obsidian");var M=require("obsidian"),V=class extends M.Modal{constructor(e,n,s=""){super(e);this.decryptInPlace=!1;this.save=!1;this.canDecryptInPlace=!0;this.titleEl.setText(n),this.text=s}onOpen(){var r;let{contentEl:e}=this;e.empty(),e.classList.add("meld-encrypt-decrypt-modal");let n;(r=new M.Setting(e).addTextArea(a=>{n=a,a.setValue(this.text),a.inputEl.setSelectionRange(0,0),a.inputEl.rows=10}).settingEl.querySelector(".setting-item-info"))==null||r.remove();let i=new M.Setting(e);i.addButton(a=>{a.setButtonText("Save").onClick(l=>{this.save=!0,this.text=n.getValue(),this.close()})}),i.addButton(a=>{a.setButtonText("Copy").onClick(l=>{navigator.clipboard.writeText(n.getValue()),new M.Notice("Copied!")})}),this.canDecryptInPlace&&i.addButton(a=>{a.setWarning().setButtonText("Decrypt in-place").onClick(l=>{this.decryptInPlace=!0,this.text=n.getValue(),this.close()})})}};var E=require("obsidian");var X=require("obsidian"),A=class{static isSettingsModalOpen(){return document.querySelector(".mod-settings")!==null}static buildPasswordSetting({container:t,name:e,desc:n="",autoFocus:s=!1,placeholder:i="",initialValue:r="",onChangeCallback:a,onEnterCallback:l}){let c=new X.Setting(t).setName(e).setDesc(n).addButton(h=>{h.setIcon("reading-glasses").onClick(y=>{let w=c.components.find((f,d,u)=>f instanceof X.TextComponent);w instanceof X.TextComponent&&(w.inputEl.type=w.inputEl.type=="password"?"text":"password")})}).addText(h=>{h.setPlaceholder(i),h.setValue(r),h.inputEl.type="password",a!=null&&h.onChange(a),l!=null&&(h.inputEl.onkeydown=y=>{y.key==="Enter"&&(y.preventDefault(),l(h.getValue()))}),s&&setTimeout(()=>h.inputEl.focus(),0)});return c}};var H=class extends E.Modal{constructor(e,n,s,i,r=null,a=null,l=!1){super(e);this.defaultPassword=null;this.resultConfirmed=!1;this.resultPassword=null;this.resultShowInReadingView=null;this.resultTextToEncrypt=null;this.defaultPassword=r,this.confirmPassword=s,this.showInReadingView=i,this.isEncrypting=n,this.defaultHint=a!=null?a:"",this.showTextToEncrypt=l}onOpen(){var f;let{contentEl:e}=this;e.empty(),e.classList.add("meld-encrypt-password-modal"),this.invalidate();let n=(f=this.defaultPassword)!=null?f:"",s="",i=this.defaultHint,r=this.showInReadingView,a="";new E.Setting(e).setHeading().setName(this.isEncrypting?"Encrypting":"Decrypting"),A.buildPasswordSetting({container:e,name:"Password:",placeholder:this.isEncrypting||i.length==0?"":`Hint:${i}`,initialValue:n,autoFocus:!0,onChangeCallback:d=>{n=d,this.invalidate()},onEnterCallback:d=>{if(n=d,this.invalidate(),n.length>0)if(l.settingEl.isShown()){let u=l.components.find(m=>m instanceof E.TextComponent);u instanceof E.TextComponent&&u.inputEl.focus(