const d=(e,n)=>e[n].meta.subId>0?`:${e[n].meta.subId}`:"",C=(e,n,r,l)=>`${typeof l.docId=="string"?`-${l.docId}-`:""}${(e[n].meta.id+1).toString()}`,v=(e,n)=>`[${(e[n].meta.id+1).toString()}${d(e,n)}]`,g=(e,n,r,l,o)=>{const s=o.rules.footnote_anchorName(e,n,r,l,o),f=o.rules.footnote_caption(e,n,r,l,o);return`${f}`},I=(e,n,r)=>`
    `,T=()=>`
`,y=(e,n,r,l,o)=>`
  • `,A=()=>`
  • `,M=(e,n,r,l,o)=>` ↩︎`,w=(e,n,r,l)=>{const o=e.bMarks[n]+e.tShift[n],s=e.eMarks[n];let f;if(o+4>s||e.src.charCodeAt(o)!==91||e.src.charCodeAt(o+1)!==94)return!1;let t=o+2;for(;t=s||e.src.charCodeAt(++t)!==58)return!1;if(l)return!0;t++,(e.env.footnotes??={}).refs??={};const u=e.src.slice(o+2,t-2);e.env.footnotes.refs[`:${u}`]=-1;const c=e.push("footnote_reference_open","",1);c.meta={label:u},c.level=e.level++;const i=e.bMarks[n],a=e.tShift[n],p=e.sCount[n],k=e.parentType,_=t,b=e.sCount[n]+t-(e.bMarks[n]+e.tShift[n]);let h=b;for(;t{const r=e.posMax,l=e.pos;if(l+2>=r||e.src.charCodeAt(l)!==94||e.src.charCodeAt(l+1)!==91)return!1;const o=e.md.helpers.parseLinkLabel(e,l+1);if(o<0)return!1;const s=l+2;if(!n){const f=((e.env.footnotes??={}).list??=[]).length,t=[];e.md.inline.parse(e.src.slice(s,o),e.md,e.env,t);const u=e.push("footnote_ref","",0);u.meta={id:f},e.env.footnotes.list[f]={content:e.src.slice(s,o),tokens:t}}return e.pos=o+1,e.posMax=r,!0},x=(e,n)=>{const r=e.pos,l=e.posMax;let o;if(r+3>l||!e.env.footnotes?.refs||e.src.charCodeAt(r)!==91||e.src.charCodeAt(r+1)!==94)return!1;let s=r+2;for(;s=l)return!1;s++;const f=e.src.slice(r+2,s-1);if(typeof e.env.footnotes.refs[`:${f}`]>"u")return!1;if(!n){const t=e.env.footnotes.list??=[],{refs:u}=e.env.footnotes;let c;u[`:${f}`]<0?(c=t.length,t[c]={label:f,count:0},u[`:${f}`]=c):c=u[`:${f}`];const i=t[c].count;t[c].count=t[c].count+1;const a=e.push("footnote_ref","",0);a.meta={id:c,subId:i,label:f}}return e.pos=s,e.posMax=l,!0},N=e=>{const n={};let r,l,o=!1;if(!e.env.footnotes?.list)return e.tokens=e.tokens.filter(t=>t.type==="footnote_reference_open"?(o=!0,!1):t.type==="footnote_reference_close"?(o=!1,!1):!o),!1;const{list:s}=e.env.footnotes;e.tokens=e.tokens.filter(t=>t.type==="footnote_reference_open"?(o=!0,r=[],l=t.meta.label,!1):t.type==="footnote_reference_close"?(o=!1,n[`:${l}`]=r,!1):(o&&r.push(t),!o));const f=new e.Token("footnote_block_open","",1);e.tokens.push(f);for(let t=0,{length:u}=s;t0?s[t].count:1);a++){const p=new e.Token("footnote_anchor","",0);p.meta={id:t,subId:a,label:s[t].label},e.tokens.push(p)}i&&e.tokens.push(i),e.tokens.push(new e.Token("footnote_close","",-1))}return e.tokens.push(new e.Token("footnote_block_close","",-1)),!0},L=e=>{e.renderer.rules.footnote_ref=g,e.renderer.rules.footnote_block_open=I,e.renderer.rules.footnote_block_close=T,e.renderer.rules.footnote_open=y,e.renderer.rules.footnote_close=A,e.renderer.rules.footnote_anchor=M,e.renderer.rules.footnote_caption=v,e.renderer.rules.footnote_anchorName=C,e.block.ruler.before("reference","footnoteDef",w,{alt:["paragraph","reference"]}),e.inline.ruler.after("image","footnoteInline",S),e.inline.ruler.after("footnoteInline","footnote_ref",x),e.core.ruler.after("inline","footnoteTail",N)};export{L as footnote}; //# sourceMappingURL=index.js.map