eyecite-ts 0.17.4 → 0.17.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./knownCodes-Cw5MI48f.cjs`);function t(e){return e.type===`case`||e.type===`docket`||e.type===`statute`||e.type===`journal`||e.type===`neutral`||e.type===`publicLaw`||e.type===`federalRegister`||e.type===`statutesAtLarge`||e.type===`constitutional`}function n(e){return e.type===`id`||e.type===`supra`||e.type===`shortFormCase`}function r(e){return e.type===`case`}function i(e,t){return e.type===t}function a(e){throw Error(`Unexpected value: ${e}`)}function o(e,t,n){let r=e+t[0],i=e+t[1],{originalStart:a,originalEnd:o}=s({cleanStart:r,cleanEnd:i},n);return{cleanStart:r,cleanEnd:i,originalStart:a,originalEnd:o}}function s(e,t){return t.cleanToOriginalSegments?{originalStart:t.cleanToOriginalSegments.lookup(e.cleanStart),originalEnd:t.cleanToOriginalSegments.lookup(e.cleanEnd)}:{originalStart:t.cleanToOriginal.get(e.cleanStart)??e.cleanStart,originalEnd:t.cleanToOriginal.get(e.cleanEnd)??e.cleanEnd}}function c(e){return e.replace(/<[^>]+>/g,``)}function l(e){return e.replace(/(\w)-\s*[\n\r]+\s*(\w)/g,`$1$2`)}function u(e){return e.replace(/[\t\n\r\u00A0\u2000-\u200A\u202F\u205F\u3000]/g,` `)}function d(e){return e.replace(/ {2,}/g,` `)}function f(e){return e.normalize(`NFKC`)}function p(e){return e.replace(/[\u201C\u201D]/g,`"`).replace(/[\u2018\u2019]/g,`'`)}function m(e){return e.replace(/(?<=\w)[\u2014\u2015](?=\w)/g,`-`).replace(/[\u2014\u2015]/g,`---`).replace(/[\u2010\u2012\u2013]/g,`-`)}function h(e){return e.replace(/&sect;/gi,`§`).replace(/&para;/gi,`¶`).replace(/&amp;/gi,`&`).replace(/&nbsp;/gi,` `).replace(/&lt;/gi,`<`).replace(/&gt;/gi,`>`).replace(/&quot;/gi,`"`).replace(/&apos;/gi,`'`).replace(/&#(\d+);/g,(e,t)=>{let n=Number.parseInt(t,10);return Number.isNaN(n)?e:String.fromCharCode(n)}).replace(/&#x([0-9a-fA-F]+);/g,(e,t)=>{let n=Number.parseInt(t,16);return Number.isNaN(n)?e:String.fromCharCode(n)})}function g(e){let t=e;return t=t.replace(/\bU\.\s*S\.\s*C\./g,`U.S.C.`),t=t.replace(/\bC\.\s*F\.\s*R\./g,`C.F.R.`),t=t.replace(/\b([NS])\.\s+([WE])\./g,`$1.$2.`),t=t.replace(/\bU\.\s+S\./g,`U.S.`),t=t.replace(/\bS\.\s+Ct\./g,`S.Ct.`),t=t.replace(/\bL\.\s+Ed\./g,`L.Ed.`),t=t.replace(/\bF\.\s+Supp\./g,`F.Supp.`),t=t.replace(/\bF\.\s+(\d+[a-z]+)/g,`F.$1`),t=t.replace(/([A-Za-z])\.\s+(\d+[a-z]+)/g,`$1.$2`),t=t.replace(/\bIll\.\s+App\.(\d+[a-z]+)/g,`Ill. App. $1`),t}function _(e){return e.replace(/[\u2032\u2035]/g,`'`).replace(/\u200B|\u200C|\u200D|\u2060|\uFEFF/g,``)}var v=class e{segments;constructor(e){this.segments=e}static identity(t){return new e([{cleanPos:0,origPos:0,len:t+1}])}static fromMap(t){if(t.size===0)return new e([]);let n=[...t.entries()].sort((e,t)=>e[0]-t[0]),r=[],i=n[0][0],a=n[0][1],o=1;for(let e=1;e<n.length;e++){let[t,s]=n[e],c=i+o,l=a+o;t===c&&s===l?o++:(r.push({cleanPos:i,origPos:a,len:o}),i=t,a=s,o=1)}return r.push({cleanPos:i,origPos:a,len:o}),new e(r)}lookup(e){let t=this.segments;if(t.length===0)return e;let n=0,r=t.length-1;for(;n<=r;){let i=n+r>>>1,a=t[i];if(e<a.cleanPos)r=i-1;else if(e>=a.cleanPos+a.len)n=i+1;else return a.origPos+(e-a.cleanPos)}let i=t[t.length-1];return i.origPos+(e-i.cleanPos)}};function y(e,t=[c,h,l,u,d,f,m,p,_,g]){let n=e,r=new Map,i=new Map;for(let t=0;t<=e.length;t++)r.set(t,t),i.set(t,t);for(let e of t){let t=n,a=e(n);if(t!==a){let{newCleanToOriginal:e,newOriginalToClean:o}=b(t,a,r,i);r=e,i=o,n=a}}let a={cleanToOriginal:r,originalToClean:i,cleanToOriginalSegments:v.fromMap(r)};return{cleaned:n,transformationMap:a,warnings:[]}}function b(e,t,n,r){let i=new Map,a=new Map,o=0,s=0;for(;o<=e.length||s<=t.length;){if(o>=e.length&&s>=t.length){let e=n.get(o)??o;i.set(s,e),a.set(e,s);break}if(o>=e.length){let e=n.get(o)??o;i.set(s,e),s++;continue}if(s>=t.length){let e=n.get(o)??o;a.set(e,s),o++;continue}if(e[o]===t[s]){let e=n.get(o)??o;i.set(s,e),a.set(e,s),o++,s++}else{if(e.length-o===t.length-s){let e=n.get(o)??o;i.set(s,e),a.set(e,s),o++,s++;continue}let r=!1,c=Math.max(40,Math.abs(e.length-t.length)+10),l=-1,u=-1;for(let n=1;n<=c;n++){if(l<0&&o+n<e.length&&e[o+n]===t[s]){let r=!0;for(let i=1;i<3;i++){let a=o+n+i,c=s+i;if(a>=e.length||c>=t.length)break;if(e[a]!==t[c]){r=!1;break}}r&&(l=n)}if(u<0&&s+n<t.length&&e[o]===t[s+n]){let r=!0;for(let i=1;i<3;i++){let a=o+i,c=s+n+i;if(a>=e.length||c>=t.length)break;if(e[a]!==t[c]){r=!1;break}}r&&(u=n)}if(l>=0&&u>=0)break}if(l>=0&&(u<0||l<=u)){for(let e=0;e<l;e++){let t=n.get(o+e)??o+e;a.set(t,s)}o+=l,r=!0}else if(u>=0){let e=n.get(o)??o;for(let t=0;t<u;t++)i.set(s+t,e);s+=u,r=!0}if(r)continue;let d=n.get(o)??o;i.set(s,d),a.set(d,s),o++,s++}}return{newCleanToOriginal:i,newOriginalToClean:a}}var x=class{parent;rank;constructor(e){this.parent=Array.from({length:e},(e,t)=>t),this.rank=Array(e).fill(0)}find(e){let t=e;for(;this.parent[t]!==t;)this.parent[t]=this.parent[this.parent[t]],t=this.parent[t];return t}union(e,t){let n=this.find(e),r=this.find(t);if(n!==r){if(n>r){let e=n;n=r,r=e}this.parent[r]=n,this.rank[n]===this.rank[r]&&this.rank[n]++}}connected(e,t){return this.find(e)===this.find(t)}components(){let e=new Map;for(let t=0;t<this.parent.length;t++){let n=this.find(t),r=e.get(n);r||(r=[],e.set(n,r)),r.push(t)}return e}};function S(e,t,n){let r=/\blabel\s*=\s*["'](\d+)["']/.exec(e);if(r)return Number.parseInt(r[1],10);let i=/\bid\s*=\s*["'](?:fn|footnote)(\d+)["']/.exec(e);if(i)return Number.parseInt(i[1],10);let a=t.replace(/<[^>]*>/g,``),o=/^\s*(\d+)[.\s):]/.exec(a);return o?Number.parseInt(o[1],10):n+1}function C(e,t,n){let r=RegExp(`<${t}\\b[^>]*>`,`gi`),i=RegExp(`</${t}\\s*>`,`gi`);r.lastIndex=n,i.lastIndex=n;let a=1;for(;a>0;){let t=r.exec(e),n=i.exec(e);if(!n)return null;if(t&&t.index<n.index)a++,i.lastIndex=t.index+t[0].length;else{if(a--,a===0)return{contentEnd:n.index,tagEnd:n.index+n[0].length};r.lastIndex=n.index+n[0].length}}return null}function w(e){let t=[],n,r=RegExp(`<(footnote|fn)\\b[^>]*>|<(div|aside|section|p|span)\\b[^>]*(?:class\\s*=\\s*["'][^"']*\\bfootnote\\b[^"']*["']|id\\s*=\\s*["'](?:fn|footnote)\\d*["'])[^>]*>`,`gi`);for(;(n=r.exec(e))!==null;){let i=n[0],a=n.index+i.length,o=C(e,n[1]||n[2],a);if(!o)continue;let s=S(i,e.slice(a,o.contentEnd),t.length);t.push({start:a,end:o.contentEnd,footnoteNumber:s}),r.lastIndex=o.tagEnd}return t.sort((e,t)=>e.start-t.start)}const T=/^\s*[-_]{5,}\s*$/m;function E(e){let t=T.exec(e);if(!t)return[];let n=t.index+t[0].length,r=e.slice(n),i=RegExp(`^\\s*(?:FN\\s*(\\d+)[.\\s:)]|\\[(\\d+)\\]\\s|n\\.\\s*(\\d+)\\s|(\\d+)\\.\\s)`,`gm`),a=[],o;for(;(o=i.exec(r))!==null;){let e=o[1]||o[2]||o[3]||o[4];e&&a.push({index:o.index+n,footnoteNumber:Number.parseInt(e,10)})}if(a.length===0)return[];let s=[];for(let t=0;t<a.length;t++){let n=a[t].index,r=t+1<a.length?a[t+1].index:e.length;s.push({start:n,end:r,footnoteNumber:a[t].footnoteNumber})}return s}const D=/<[^>]+>/;function O(e){if(D.test(e)){let t=w(e);if(t.length>0)return t}return E(e)}function k(e,t,n,r=20){for(let i=1;i<=r;i++){let r=n===`forward`?e+i:e-i,a=t.get(r);if(a!==void 0)return a}}function A(e,t){return e.length===0?[]:e.map(e=>({start:t.originalToClean.get(e.start)??k(e.start,t.originalToClean,`forward`)??e.start,end:t.originalToClean.get(e.end)??k(e.end,t.originalToClean,`backward`)??e.end,footnoteNumber:e.footnoteNumber}))}function j(e,t){if(t.length!==0)for(let n of e){let e=n.span.cleanStart,r=0,i=t.length-1;for(;r<=i;){let a=r+i>>>1,o=t[a];if(e<o.start)i=a-1;else if(e>=o.end)r=a+1;else{n.inFootnote=!0,n.footnoteNumber=o.footnoteNumber;break}}}}const M={jan:1,january:1,feb:2,february:2,mar:3,march:3,apr:4,april:4,may:5,jun:6,june:6,jul:7,july:7,aug:8,august:8,sep:9,sept:9,september:9,oct:10,october:10,nov:11,november:11,dec:12,december:12};function N(e){let t=M[e.toLowerCase().replace(/\.$/,``)];if(t===void 0)throw Error(`Invalid month name: ${e}`);return t}function P(e){let{year:t,month:n,day:r}=e;return n!==void 0&&r!==void 0?`${t}-${String(n).padStart(2,`0`)}-${String(r).padStart(2,`0`)}`:n===void 0?String(t):`${t}-${String(n).padStart(2,`0`)}`}function F(e){let t=e.match(/\b(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Sept|Oct|Nov|Dec)\.?\s+(\d{1,2}),?\s+(\d{4})\b/i);if(t){let e=N(t[1]),n=Number.parseInt(t[2],10),r={year:Number.parseInt(t[3],10),month:e,day:n};return{iso:P(r),parsed:r}}let n=e.match(/\b(January|February|March|April|May|June|July|August|September|October|November|December)\s+(\d{1,2}),?\s+(\d{4})\b/i);if(n){let e=N(n[1]),t=Number.parseInt(n[2],10),r={year:Number.parseInt(n[3],10),month:e,day:t};return{iso:P(r),parsed:r}}let r=e.match(/\b(\d{1,2})\/(\d{1,2})\/(\d{2}|\d{4})\b/);if(r){let e=Number.parseInt(r[1],10),t=Number.parseInt(r[2],10),n=r[3],i=Number.parseInt(n,10);n.length===2&&(i=i<=50?2e3+i:1900+i);let a={year:i,month:e,day:t};return{iso:P(a),parsed:a}}let i=e.match(/\b(\d{4})\b/);if(i){let e={year:Number.parseInt(i[1],10)};return{iso:P(e),parsed:e}}}function I(e){return{level:e,jurisdiction:`federal`,confidence:1}}function L(e,t){return{level:e,jurisdiction:`state`,state:t,confidence:1}}function R(e){return{level:e,jurisdiction:`state`,confidence:.7}}const z=new Map([[`U.S.`,I(`supreme`)],[`S.Ct.`,I(`supreme`)],[`L.Ed.`,I(`supreme`)],[`L.Ed.2d`,I(`supreme`)],[`S. Ct.`,I(`supreme`)],[`L. Ed.`,I(`supreme`)],[`L. Ed. 2d`,I(`supreme`)],[`U. S.`,I(`supreme`)],[`L.Ed. 2d`,I(`supreme`)],[`L. Ed.2d`,I(`supreme`)],[`F.`,I(`appellate`)],[`F.2d`,I(`appellate`)],[`F.3d`,I(`appellate`)],[`F.4th`,I(`appellate`)],[`F. App'x`,I(`appellate`)],[`F.Supp.`,I(`trial`)],[`F.Supp.2d`,I(`trial`)],[`F.Supp.3d`,I(`trial`)],[`F.Supp.4th`,I(`trial`)],[`F. Supp.`,I(`trial`)],[`F. Supp. 2d`,I(`trial`)],[`F. Supp. 3d`,I(`trial`)],[`F. Supp. 4th`,I(`trial`)],[`F.R.D.`,I(`trial`)],[`B.R.`,I(`trial`)],[`Cal.`,L(`supreme`,`CA`)],[`Cal.2d`,L(`supreme`,`CA`)],[`Cal.3d`,L(`supreme`,`CA`)],[`Cal.4th`,L(`supreme`,`CA`)],[`Cal.5th`,L(`supreme`,`CA`)],[`Cal.App.`,L(`appellate`,`CA`)],[`Cal.App.2d`,L(`appellate`,`CA`)],[`Cal.App.3d`,L(`appellate`,`CA`)],[`Cal.App.4th`,L(`appellate`,`CA`)],[`Cal.App.5th`,L(`appellate`,`CA`)],[`Cal.Rptr.`,L(`unknown`,`CA`)],[`Cal.Rptr.2d`,L(`unknown`,`CA`)],[`Cal.Rptr.3d`,L(`unknown`,`CA`)],[`N.Y.`,L(`supreme`,`NY`)],[`N.Y.2d`,L(`supreme`,`NY`)],[`N.Y.3d`,L(`supreme`,`NY`)],[`A.D.`,L(`appellate`,`NY`)],[`A.D.2d`,L(`appellate`,`NY`)],[`A.D.3d`,L(`appellate`,`NY`)],[`Misc.`,L(`trial`,`NY`)],[`Misc.2d`,L(`trial`,`NY`)],[`Misc.3d`,L(`trial`,`NY`)],[`N.Y.S.`,L(`unknown`,`NY`)],[`N.Y.S.2d`,L(`unknown`,`NY`)],[`N.Y.S.3d`,L(`unknown`,`NY`)],[`Ill.`,L(`supreme`,`IL`)],[`Ill.2d`,L(`supreme`,`IL`)],[`Ill.App.`,L(`appellate`,`IL`)],[`Ill.App.2d`,L(`appellate`,`IL`)],[`Ill.App.3d`,L(`appellate`,`IL`)],[`Ill.Dec.`,L(`unknown`,`IL`)],[`Ohio St.`,L(`supreme`,`OH`)],[`Ohio St.2d`,L(`supreme`,`OH`)],[`Ohio St.3d`,L(`supreme`,`OH`)],[`Ohio App.3d`,L(`appellate`,`OH`)],[`Pa.`,L(`supreme`,`PA`)],[`Pa. Super.`,L(`appellate`,`PA`)],[`Tex.`,L(`supreme`,`TX`)],[`Fla.`,L(`supreme`,`FL`)],[`Mass.`,L(`supreme`,`MA`)],[`Mass. App. Ct.`,L(`appellate`,`MA`)],[`A.`,R(`unknown`)],[`A.2d`,R(`unknown`)],[`A.3d`,R(`unknown`)],[`S.E.`,R(`unknown`)],[`S.E.2d`,R(`unknown`)],[`S.E.3d`,R(`unknown`)],[`S.W.`,R(`unknown`)],[`S.W.2d`,R(`unknown`)],[`S.W.3d`,R(`unknown`)],[`N.E.`,R(`unknown`)],[`N.E.2d`,R(`unknown`)],[`N.E.3d`,R(`unknown`)],[`N.W.`,R(`unknown`)],[`N.W.2d`,R(`unknown`)],[`N.W.3d`,R(`unknown`)],[`So.`,R(`unknown`)],[`So.2d`,R(`unknown`)],[`So.3d`,R(`unknown`)],[`P.`,R(`unknown`)],[`P.2d`,R(`unknown`)],[`P.3d`,R(`unknown`)]]);function ee(e){return z.get(e)}const B=/^(?:at\s+)?(?:¶¶?|paras?\.?)\s*/i,V=/^(\d+)(?:\s*[-–—]\s*(\d+))?\s*$/,H=/^(?:at\s+)?(\*?)(\d+)(?:[-–—]\*?(\d+))?(?:\s*,)?\s*(?:(?:nn?|fns?|note)\s*\.?\s*(\d+)(?:[-–—](\d+))?)?$/i;function U(e){let t=e.trim();if(!t)return null;let n=B.exec(t);if(n){let e=t.substring(n[0].length),r=V.exec(e);if(r){let e=Number.parseInt(r[1],10),n=r[2]?Number.parseInt(r[2],10):void 0,i={paragraph:e,isRange:n!==void 0,raw:t};return n!==void 0&&(i.endParagraph=n),i}}let r=H.exec(t);if(!r)return null;let i=r[1],a=r[2],o=r[3],s=r[4],c=r[5],l=Number.parseInt(a,10),u,d=!1;if(o){d=!0;let e=Number.parseInt(o,10);if(o.length<a.length){let e=a.slice(0,a.length-o.length);u=Number.parseInt(e+o,10)}else u=e}let f=s?Number.parseInt(s,10):void 0,p=c?Number.parseInt(c,10):void 0,m={page:l,isRange:d,raw:t};return u!==void 0&&(m.endPage=u),f!==void 0&&(m.footnote=f),p!==void 0&&(m.footnoteEnd=p),i===`*`&&(m.starPage=!0),m}function te(e){if(!e||!e.trim())return;let t=e.trim();return t=t.replace(/\.\s+(?=[A-Za-z])/g,`.`),/[A-Za-z]$/.test(t)&&(/\./.test(t)||/^\d+\w*\s+[A-Z]/i.test(t))&&(t+=`.`),t}const W=new Set([`see`,`see also`,`see generally`,`cf`,`but see`,`but cf`,`compare`,`accord`,`contra`,`e.g.`,`see, e.g.`,`see also, e.g.`,`but see, e.g.`,`cf., e.g.`,`but cf., e.g.`]),G=(()=>{let e=[...W].sort((e,t)=>t.length-e.length).map(e=>e.replace(/\s+/g,`\\s+`).replace(/\./g,`\\.`));return RegExp(`^(${e.join(`|`)}),?\\s+`,`i`)})();function ne(e){let t=Number.parseInt(e,10);return String(t)===e?t:e}const re=/(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Sept|Oct|Nov|Dec|January|February|March|April|May|June|July|August|September|October|November|December)\.?/,ie=new Date().getFullYear(),ae=new Set(`F.,F.2d,F.3d,F.4th,F.5th,F.6th,F.7th,U.S.,S. Ct.,L. Ed.,L. Ed. 2d,L. Ed. 3d,P.,P.2d,P.3d,P.4th,A.,A.2d,A.3d,A.4th,N.E.,N.E.2d,N.E.3d,N.E.4th,N.W.,N.W.2d,N.W.3d,S.E.,S.E.2d,S.E.3d,S.W.,S.W.2d,S.W.3d,S.W.4th,So.,So. 2d,So. 3d,So. 4th,F. Supp.,F. Supp. 2d,F. Supp. 3d,F. Supp. 4th,F. Supp. 5th,F. Supp. 6th,F. App'x`.split(`,`)),oe=/^(\d+(?:-\d+)?)\s+([A-Za-z0-9.\s'&]+)\s+(?:\((\d+)\s+([A-Z][A-Za-z.]+)\)\s+)?(\d+|_{3,}|-{3,})/d,se=/^[_-]{3,}$/,ce=/,\s*(?:at\s+)?(\*?\d+(?:-\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?)/d,le=/\(([^)]+)\)/,ue=/^(?:,\s*(?:at\s+)?\*?\d+(?:-\d+)?)*(?:\s+(?:n|note)\s*\.?\s*\d+)?\s*\(([^)]+)\)/,de=/^(?:\s+at\s+(?:pp?\.\s*)?|,\s*(?:at\s+(?:pp?\.\s*)?)?)(\*?\d+(?:-\d+)?(?:(?:\s+|,\s+)(?:nn?|fns?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?|¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?)(?=$|[.,;)(\]]|\s(?![A-Z]))/d,K=/\d\.\s+/g,fe=/[\s,]/,pe=/^,\s*(\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?)(?=$|[.,;)(\]]|\s(?![A-Z]))/,me=/^(?:,\s*(?:(?:at\s+(?:pp?\.\s*)?)?\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:n|note)\s*\.?\s*\d+)?|(?:at\s+)?(?:¶¶?|paras?\.?)\s*\d+(?:[-–—]\d+)?))+/,q=[[/^aff'?d\s+on\s+other\s+grounds\b/i,`affirmed`],[/^affirmed\s+on\s+other\s+grounds\b/i,`affirmed`],[/^aff'?d\b/i,`affirmed`],[/^affirmed\b/i,`affirmed`],[/^rev'?d\s+and\s+remanded\b/i,`reversed`],[/^rev'?d\s+on\s+other\s+grounds\b/i,`reversed`],[/^reversed\s+and\s+remanded\b/i,`reversed`],[/^rev'?d\b/i,`reversed`],[/^reversed\b/i,`reversed`],[/^certiorari\s+denied\b/i,`cert_denied`],[/^cert\.\s*den(ied|\.)(?=[\s,;(]|$)/i,`cert_denied`],[/^certiorari\s+granted\b/i,`cert_granted`],[/^cert\.\s*granted\b/i,`cert_granted`],[/^overruled\s+by\b/i,`overruled`],[/^overruled\s+in\b/i,`overruled`],[/^overruling\b/i,`overruled`],[/^overruled\b/i,`overruled`],[/^vacated\s+by\b/i,`vacated`],[/^vacated\b/i,`vacated`],[/^remanded\s+for\s+reconsideration\b/i,`remanded`],[/^remanded\b/i,`remanded`],[/^modified\s+by\b/i,`modified`],[/^modified\b/i,`modified`],[/^abrogated\s+by\b/i,`abrogated`],[/^abrogated\s+in\b/i,`abrogated`],[/^abrogated\b/i,`abrogated`],[/^superseded\s+by\s+grant\s+of\s+review\b/i,`superseded_by_grant_of_review`],[/^superseded\s+by\b/i,`superseded`],[/^superseded\b/i,`superseded`],[/^disapproved\s+on\s+other\s+grounds\b/i,`disapproved_other_grounds`],[/^disapproved\s+of\b/i,`disapproved`],[/^disapproved\b/i,`disapproved`],[/^questioned\s+by\b/i,`questioned`],[/^questioned\b/i,`questioned`],[/^distinguished\s+by\b/i,`distinguished`],[/^distinguished\b/i,`distinguished`],[/^withdrawn\b/i,`withdrawn`],[/^reinstated\b/i,`reinstated`],[/^reh'?g\s+denied\b/i,`rehearing_denied`],[/^rehearing\s+denied\b/i,`rehearing_denied`],[/^reh'?g\s+granted\b/i,`rehearing_granted`],[/^rehearing\s+granted\b/i,`rehearing_granted`],[/^writ\s+ref'?d\s+n\.r\.e\./i,`writ_refused`],[/^writ\s+ref'?d\s+w\.m\.j\./i,`writ_refused`],[/^writ\s+ref'?d\b/i,`writ_refused`],[/^writ\s+dism'?d\s+w\.o\.j\./i,`writ_dismissed`],[/^writ\s+dism'?d\b/i,`writ_dismissed`],[/^writ\s+denied\b/i,`writ_denied`],[/^writ\s+granted\b/i,`writ_granted`],[/^no\s+writ\b/i,`no_writ`],[/^pet\.\s+ref'?d\b/i,`pet_refused`],[/^pet\.\s+denied\b/i,`pet_denied`],[/^pet\.\s+dism'?d\b/i,`pet_dismissed`],[/^pet\.\s+granted\b/i,`pet_granted`],[/^pet\.\s+filed\b/i,`pet_filed`],[/^no\s+pet\.\s+h\./i,`no_pet`],[/^no\s+pet\./i,`no_pet`],[/^review\s+den(?:ied|\.)/i,`review_denied`],[/^review\s+granted\b/i,`review_granted`],[/^opinion\s+vacated\b/i,`opinion_vacated`],[/^petition\s+for\s+review\s+filed\b/i,`petition_for_review_filed`],[/^petition\s+for\s+review\s+granted\b/i,`petition_for_review_granted`],[/^petition\s+for\s+review\s+denied\b/i,`petition_for_review_denied`],[/^as\s+modified\s+on\s+denial\s+of\s+rehearing\b/i,`modified_on_denial_of_rehearing`],[/^ordered\s+not\s+pub\.?/i,`not_published`],[/^not\s+for\s+publication\b/i,`not_published`],[/^nonpubl?\.?\s+opn\.?/i,`not_published`]];function J(e){for(let[t,n]of q){let r=t.exec(e);if(r)return{signal:n,matchLength:r[0].length}}}const he=new Set([`holding`,`finding`,`stating`,`noting`,`explaining`,`quoting`,`citing`,`discussing`,`describing`,`recognizing`,`applying`,`rejecting`,`adopting`,`requiring`]);function ge(e){return he.has(e)}const Y=/^([a-z]+)\b/i,_e=/([A-Z][A-Za-z0-9\s.,'&()/-]+?)\s+v(?:s)?\.?\s+([A-Za-z0-9\s.,'&()/-]+?)\s*(?:,|\((?:([^)]*?\.[^)]*?)\s+)?(\d{4})\))\s*$/d,ve=/\b(In\s+the\s+Matter\s+of\s+the\s+Liquidation\s+of|In\s+the\s+Matter\s+of\s+the\s+Rehabilitation\s+of|In\s+the\s+Matter\s+of\s+the\s+Receivership\s+of|In\s+the\s+Matter\s+of\s+the\s+Extradition\s+of|In\s+the\s+Matter\s+of\s+the\s+Application\s+of|In\s+the\s+Matter\s+of\s+the\s+Welfare\s+of|In\s+the\s+Matter\s+of|In\s+re\s+Petition\s+for\s+Naturalization\s+of|In\s+re\s+Termination\s+of\s+Parental\s+Rights\s+as\s+to|In\s+re\s+Termination\s+of\s+Parental\s+Rights\s+to|In\s+re\s+Termination\s+of\s+Parental\s+Rights\s+of|In\s+re\s+Marriage\s+of|In\s+re\s+Liquidation\s+of|In\s+re\s+Rehabilitation\s+of|In\s+re\s+Receivership\s+of|In\s+re\s+Naturalization\s+of|In\s+re\s+Extradition\s+of|In\s+re\s+Application\s+of|In\s+re\s+Welfare\s+of|In\s+re\s+Dependency\s+of|In\s+re\s+Paternity\s+of|In\s+re\s+Parentage\s+of|In\s+re\s+Conservatorship\s+of|In\s+re\s+Guardianship\s+of|In\s+re\s+Adoption\s+of|In\s+the\s+Interest\s+of|Matter\s+of\s+Liquidation\s+of|Matter\s+of\s+Rehabilitation\s+of|Commonwealth\s+of\s+Puerto\s+Rico\s+ex\s+rel\.|Government\s+of\s+the\s+Virgin\s+Islands\s+ex\s+rel\.|Commonwealth\s+ex\s+rel\.|Petition\s+for\s+Naturalization\s+of|People\s+ex\s+rel\.|District\s+of\s+Columbia\s+ex\s+rel\.|Conservatorship\s+of\s+the\s+Person\s+and\s+Estate\s+of|Conservatorship\s+of\s+the\s+Person\s+of|Conservatorship\s+of\s+the\s+Estate\s+of|Inquiry\s+Concerning\s+Judge|Appeal\s+of|Care\s+and\s+Protection\s+of|Succession\s+of|In re|Ex parte|Matter of|Estate of|State ex rel\.|United States ex rel\.|Application of|On Petition of|Petition of|Adoption of|Conservatorship of|Guardianship of)\s+([A-Za-z0-9\s.,'&()/-]+?)\s*(?:,|\((?:([^)]*?\.[^)]*?)\s+)?(\d{4})\))\s*$/di,ye=new Set([`of`,`the`,`and`,`for`,`on`,`by`,`a`,`an`,`to`,`at`,`as`,`de`,`la`,`el`,`del`,`von`,`van`,`ex`,`rel`,`et`,`al`,`d`,`or`]),be=/\b(?:d\/?b\/?a|a\/?k\/?a|f\/?k\/?a|n\/?k\/?a)\b/i;function xe(e){let t=e.split(/\s+/),n=(t[0]??``).toLowerCase().replace(/[.,']+$/,``);if(Se.has(n))return!1;for(let e of t){if(!e||e===`&`)continue;let t=e.toLowerCase().replace(/[.,']+$/,``);if(!ye.has(t)&&!/^[A-Z]/.test(e)&&!/^\d/.test(e))return!1}return!0}const Se=new Set([`this`,`that`,`these`,`those`,`here`,`there`,`such`,`its`,`his`,`her`,`their`,`our`,`under`,`invoking`,`citing`,`following`,`unlike`,`whereas`,`pursuant`,`applying`]);function Ce(e){let t=e.replace(/\s*\d{1,2}\/\d{1,2}\/\d{4}\s*$/,``).trim();if(t=t.replace(/\s*\d{4}\s*$/,``).trim(),t=t.replace(/\s*,?\s*\d{1,2}\s*,?\s*$/,``).trim(),t=t.replace(RegExp(`\\s*${re.source}\\s*$`,`i`),``).trim(),t=t.replace(/,\s*$/,``).trim(),!(!t||!/[A-Za-z]/.test(t))){if(!t.includes(`.`)){let e=t.match(/^[a-z]+/i)?.[0].toLowerCase();if(e&&(he.has(e)||e===`emphasis`||e===`internal`||e===`citations`||e===`footnote`||e===`alteration`||e===`alterations`||e===`omitted`||e===`see`))return;let n=t.split(/\s+/);if(n.length>=3&&n.every(e=>/^[a-z]/.test(e)))return}return t}}const we=new Set(`acad.acct.accts.admin.adm.advert.advoc.aff.affs.afr.agric.all.alt.am.ann.app.arb.assoc.assocs.atl.auth.auto.ave.bankr.behav.bd.bor.brit.broad.bhd.bros.bldg.bull.bus.can.cap.cas.cath.ctr.ctrs.cent.chem.child.chron.coal.coll.com.comm.compar.comp.comput.condo.conf.cong.consol.const.constr.cont.coop.corp.corps.corr.cosm.couns.cntys.cnty.crim.def.delinq.det.dev.dig.dir.disc.disp.distrib.dist.div.econ.educ.elec.emp.eng.enter.enters.ent.equal.equip.est.eur.exam.exch.exec.expl.exp.fac.fam.fams.fed.fid.fin.found.gen.glob.grp.guar.hist.hosp.hous.hum.immigr.imp.inc.indem.indep.indus.info.inj.inst.ins.intell.intel.int.inv.invs.jurid.just.juv.lab.law.liab.ltd.loc.mach.mag.maint.mgmt.mgt.mfr.mfrs.mfg.mar.mkt.mktg.matrim.mech.med.merch.metro.min.misc.mod.mortg.mun.mut.nat.negl.negot.nw.no.nos.off.org.orgs.pac.pat.pers.pharm.phil.plan.pol.prac.pres.priv.prob.proc.prod.pro.prop.psych.pub.rec.reg.regul.rehab.rel.rels.rep.reprod.rsch.rsrv.resol.res.resp.rest.ret.rd.sav.sch.schs.sci.sec.serv.servs.sess.soc.solic.spec.stat.subcomm.sur.surv.sys.tchr.tech.telecomm.tel.temp.twp.transcon.transp.treas.tr.trs.tpk.unemplmt.unif.univ.urb.util.veh.vehs.vill.voc.whse.whol.litig.n.s.e.w.m.ne.se.sw.is.mt.ft.pt.rt.st.blvd.sq.hwy.pkwy.hts.v.vs.ct.cir.supp.cl.jud.super.sup.magis.mil.terr.ala.ariz.ark.cal.colo.conn.del.fla.ga.haw.ida.ill.ind.kan.ky.la.me.md.mass.mich.minn.miss.mo.mont.neb.nev.okla.or.pa.tenn.tex.vt.va.wash.wis.wyo.mr.mrs.ms.dr.jr.sr.prof.rev.hon.sgt.capt.col.lt.ed.op.ad.dep.ass.ry.co.cmty.cty.envtl.gend.par.prot.ref.sol.adver.admr.admx.assn.commcn.commn.commr.contl.dept.empr.empt.engg.engr.entmt.envt.examr.exr.exx.fedn.govt.intl.invr.meml.natl.profl.pship.publg.publn.regl.secy.sholder.socy.tp.vil.taxn.enft.rts.atty.attys.petr.respt.commrs.hldgs.hldg.props.prods.ents.invests.scis.emps.sols.corrs.telecomms.examrs.cmtys.colls.cts.amends.civ.enf.advis.utils.lic.bur.insp.conserv.retire.discipl.supers.edn.coun.stds.procs.quals.boro.commw.adv.comn.irrig.reclam.rptr.vet.trib.adj.vol.pty.poly.stud.libr.refin.socio.laby.naty.wkly.appx.comr.comrs.reins`.split(`.`));function Te(e,t){let n=t;for(;n>0&&/[-A-Za-z.']/.test(e[n-1]);)n--;let r=e.substring(n,t);if(!r)return!1;let i=r.replace(/['.]/g,``).toLowerCase();return!!(we.has(i)||i.length===1&&/[a-z]/i.test(i)||/\.[A-Za-z]/.test(r))}const Ee=/\bId\.\s+/g,De=/\(\s*(?:quoting|citing|cited\s+in|quoted\s+in|accord|discussing|noting|explaining|describing|recognizing|applying|rejecting|adopting|requiring|overruling|overruled\s+by|abrogated\s+by)(?:,\s*e\.g\.,?)?\s+/gi,Oe=/[.)]\s+(?=[A-Z(])/g,ke=/\b\d{4}\)\s*(?:,\s*(?:and|or|see(?:\s+also)?|but\s+see|e\.g\.)|;)\s+/g,Ae=/,?\s*(\d{2,4}-[A-Z\d-]+)(?:,\s*p\.\s*\d+)?\s*\((La\.[^)]*?)\s+(\d{1,2}\/\d{1,2}\/\d{2,4})\),\s*/g;function je(e,t,n=150,r){let i=Math.max(0,t-n),a=e.substring(i,t),o=i,s=-1,c;if(r?.originalText&&r.transformationMap){let{originalText:e,transformationMap:n}=r,a=n.cleanToOriginal.get(i)??i,o=n.cleanToOriginal.get(t)??t;if(o>a){let r=e.substring(a,o),c=/\n[ \t\r]*\n/g,l;for(;(l=c.exec(r))!==null;){let e=a+l.index+l[0].length,r;for(let t=0;t<10&&(r=n.originalToClean.get(e+t),r===void 0);t++);if(r!==void 0&&r>=i&&r<=t){let e=r-i;e>s&&(s=e)}}}}for(K.lastIndex=0;(c=K.exec(a))!==null;){let e=c.index+c[0].length;e>s&&(s=e)}for(Ee.lastIndex=0;(c=Ee.exec(a))!==null;){let e=c.index+c[0].length;e>s&&(s=e)}for(De.lastIndex=0;(c=De.exec(a))!==null;){let e=c.index+c[0].length;e>s&&(s=e)}for(ke.lastIndex=0;(c=ke.exec(a))!==null;){let e=c.index+c[0].length;e>s&&(s=e)}let l;Ae.lastIndex=0;let u=Ae.exec(a);if(u){let e=u[3],t=F(e);t&&(l={court:u[2].trim(),year:t.parsed.year,date:t}),a=a.substring(0,u.index)+`, `+a.substring(u.index+u[0].length)}for(Oe.lastIndex=0;(c=Oe.exec(a))!==null;){if(a[c.index]===`.`&&Te(a,c.index))continue;let e=c.index+c[0].length;e>s&&(s=e)}s!==-1&&(a=a.substring(s),o=i+s);let d=_e.exec(a);if(d&&!d[0].includes(`;`)){let e=d[1].trim(),t=0;if(!xe(e)){let n=e.split(/\s+/),r=n[0]??``,i=r.toLowerCase().replace(/[.,']+$/,``);if(!(/^[A-Z]/.test(r)&&!ye.has(i)&&!Se.has(i)&&be.test(e))&&!G.exec(e))for(let r=1;r<n.length;r++){let i=n.slice(r).join(` `);if(/^[A-Z]/.test(i)&&xe(i)){t=n.slice(0,r).join(` `).length+1,e=i;break}}}let n=d[0].match(/\bv(?:s)?\.\s/g),r=d[2].trim();if(n&&n.length>=2){let e=d[2].indexOf(`,`);e!==-1&&(r=d[2].substring(0,e).trim())}let i=/\bvs?\.?(?=\s)/.exec(d[0])?.[0]??`v.`,a=`${e} ${i} ${r}`,s=o+d.index+t,c=d[3]?.trim(),u=d[4]?Number.parseInt(d[4],10):void 0,f,p;u!==void 0&&d.indices?.[4]&&(f=o+d.indices[4][0],p=o+d.indices[4][1]);let m=l;return!m&&c&&u!==void 0&&d[4]&&(m={court:c,year:u,date:{iso:d[4],parsed:{year:u}}}),{caseName:a,nameStart:s,year:u,yearStart:f,yearEnd:p,precedingDocketMeta:m}}let f=ve.exec(a);if(f&&!f[0].includes(`;`)){let e=`${f[1]} ${f[2].trim()}`,t=o+f.index,n=f[3]?.trim(),r=f[4]?Number.parseInt(f[4],10):void 0,i,a;r!==void 0&&f.indices?.[4]&&(i=o+f.indices[4][0],a=o+f.indices[4][1]);let s=l;return!s&&n&&r!==void 0&&f[4]&&(s={court:n,year:r,date:{iso:f[4],parsed:{year:r}}}),{caseName:e,nameStart:t,year:r,yearStart:i,yearEnd:a,precedingDocketMeta:s}}let p=a.replace(/,\s*$/,``),m=p.length-p.trimStart().length,h=p.substring(m),g=0,_=G.exec(h);_&&(g=_[0].length,h=h.substring(g));let v=h.trim();if(v.length>0&&xe(v)){let e=(v.split(/\s+/)[0]??``).toLowerCase().replace(/[.,']+$/,``);if(!Se.has(e)&&!v.includes(`;`))return{caseName:v,nameStart:o+m+g,precedingDocketMeta:l}}}function Me(e,t,n=500){let r=[],i=[],a=t,o=Math.min(e.length,t+n),s,c=e.substring(a,o),l=me.exec(c);for(l&&(a+=l[0].length);a<o;){for(;a<o&&fe.test(e[a]);)a++;if(a>=o||e[a]!==`(`){let t=e.substring(a,o),n=J(t);if(n){s&&i.push({signal:s,nextParenIndex:-1}),s={text:t.substring(0,n.matchLength).replace(/\s+$/,``),normalized:n.signal,start:a,end:a+n.matchLength},a+=n.matchLength;continue}break}let t=a,n=0,c=a+1;for(;a<o;){let o=e[a];if(o===`(`)n++;else if(o===`)`&&(n--,n===0)){a++;let n=e.substring(c,a-1).trim();n.length>0&&(r.push({text:n,start:t,end:a}),s&&=(i.push({signal:s,nextParenIndex:r.length-1}),void 0));break}a++}if(n>0)break}return s&&i.push({signal:s,nextParenIndex:-1}),{parens:r,signals:i}}function X(e){let t={},n=F(e);n&&(t.date=n,t.year=n.parsed.year);let r=e;if(t.year){let n=String(t.year),i=e.lastIndexOf(n);if(i!==-1){let a=i+n.length,o=e.substring(a),s=/^\s*,\s*(.+?)\s*$/.exec(o);if(s){let n=s[1],i=J(n);if(i){let o=n.substring(0,i.matchLength),s=e.indexOf(o,a);t.internalHistory={signal:i.signal,rawSignal:o,start:s===-1?a:s,end:(s===-1?a:s)+o.length},r=e.substring(0,a)}}}}let i=Ce(r);if(i){t.court=i;let n=e.indexOf(i);n!==-1&&(t.courtStart=n,t.courtEnd=n+i.length)}if(t.year){let n=String(t.year),r=e.lastIndexOf(n);r!==-1&&(t.yearStart=r,t.yearEnd=r+n.length)}let a=/^(?<surnames>[A-Z][a-z]+(?:(?:,\s+|\s+and\s+)[A-Z][a-z]+)*)\s*,?\s*(?<title>C\.J\.|J\.|JJ\.)\s*,?\s*(?<role>.+)$/.exec(e.trim());if(a?.groups){let e=a.groups.surnames,n=a.groups.role.trim().replace(/[.,]+$/,``);t.justices=e.split(/(?:,\s+and\s+|,\s+|\s+and\s+)/).map(e=>e.trim()).filter(Boolean);let r=n.toLowerCase();return/^concurring\s+in\s+part\s+and\s+dissenting\s+in\s+part/.test(r)?(t.disposition=`mixed`,t.scope=`in_part`):/^concurring\s+in\s+the\s+judgment/.test(r)?(t.disposition=`concurrence`,t.scope=`in_judgment`):/^concurring\s+in\s+part/.test(r)?(t.disposition=`concurrence`,t.scope=`in_part`):/^dissenting\s+in\s+part/.test(r)?(t.disposition=`dissent`,t.scope=`in_part`):/^dissenting\s+from\s+denial\s+of/.test(r)?(t.disposition=`dissent`,t.scope=`from_denial`):/^concurring/.test(r)?t.disposition=`concurrence`:/^dissenting/.test(r)?t.disposition=`dissent`:/^joining/.test(r)&&(t.disposition=`majority`),t}return/^plurality\s+opinion\b/i.test(e.trim())?(t.disposition=`plurality opinion`,t):/^mem\.\s*$/i.test(e.trim())?(t.disposition=`mem.`,t):/^unpublished\s+table\s+decision\b/i.test(e.trim())?(t.disposition=`unpublished table decision`,t):(/\ben banc\b\s*$/i.test(e.trim())?t.disposition=`en banc`:/\bin bank\b\s*$/i.test(e.trim())?t.disposition=`in bank`:/\bper curiam\b\s*$/i.test(e.trim())&&(t.disposition=`per curiam`),t)}function Ne(e){let t=Y.exec(e);if(t){let n=t[1].toLowerCase();if(ge(n))return{kind:`explanatory`,text:e,type:n}}let n=X(e);return n.year||n.date||n.disposition||n.justices?{kind:`metadata`,...n}:{kind:`explanatory`,text:e,type:`other`}}function Z(e){let t=e;t=t.replace(/\bet\s+al\.?/gi,``),t=t.replace(/\s+(?:d\/b\/a|[fna]\/k\/a)\b.*/gi,``),t=t.replace(/\s+aka\b.*/gi,``);let n=``;for(;n!==t;)n=t,t=t.replace(/,?\s*(Inc|LLC|Corp|Ltd|Co|LLP|LP|P\.C)\.?$/gi,``);return t=t.replace(/^(The|A|An)\s+/i,``),t=t.replace(/\s+/g,` `),t.trim().toLowerCase()}function Pe(e){let t;for(let t of`In the Matter of the Liquidation of,In the Matter of the Rehabilitation of,In the Matter of the Receivership of,In the Matter of the Extradition of,In the Matter of the Application of,In the Matter of the Welfare of,In the Matter of,In re Petition for Naturalization of,In re Termination of Parental Rights as to,In re Termination of Parental Rights to,In re Termination of Parental Rights of,In re Marriage of,In re Liquidation of,In re Rehabilitation of,In re Receivership of,In re Naturalization of,In re Extradition of,In re Application of,In re Welfare of,In re Dependency of,In re Paternity of,In re Parentage of,In re Conservatorship of,In re Guardianship of,In re Adoption of,In the Interest of,In re,Ex parte,Matter of Liquidation of,Matter of Rehabilitation of,Matter of,Commonwealth of Puerto Rico ex rel.,Government of the Virgin Islands ex rel.,Commonwealth ex rel.,State ex rel.,United States ex rel.,People ex rel.,District of Columbia ex rel.,Petition for Naturalization of,Application of,On Petition of,Petition of,Adoption of,Conservatorship of the Person and Estate of,Conservatorship of the Person of,Conservatorship of the Estate of,Conservatorship of,Guardianship of,Estate of,Care and Protection of,Succession of,Inquiry Concerning Judge,Appeal of`.split(`,`)){let n=RegExp(`^(${t})\\s+(.+)$`,`i`).exec(e);if(n){let t=n[1],r=n[2];if(/\s+vs?\.?\s+/i.test(r)){let t=/^(.+?)\s+vs?\.?\s+(.+)$/i.exec(e);if(t){let e=t[1].trim(),n=t[2].trim();return{plaintiff:e,plaintiffNormalized:Z(e),defendant:n,defendantNormalized:Z(n)}}}else return{plaintiff:e,plaintiffNormalized:Z(r),proceduralPrefix:t}}}let n=/^(.+?)\s+vs?\.?\s+(.+)$/i.exec(e);if(n){let e=n[1].trim(),r=n[2].trim(),i,a=/\s*\(\s*(In\s+re\s+[^)]+?)\s*\)\s*$/i.exec(r);a&&(i=a[1],r=r.substring(0,a.index).trim());let o=e.match(G)??e.match(/^(Also|In(?!\s+re\b))\s+/i);if(o){let n=e.substring(o[0].length).trimStart()[0]??``;if(n>=`A`&&n<=`Z`){let n=o[1].toLowerCase();if(W.has(n))t=n;else{let e=n.replace(/\.$/,``);W.has(e)&&(t=e)}e=e.substring(o[0].length).trim()}}return{plaintiff:e||n[1].trim(),plaintiffNormalized:Z(e||n[1].trim()),defendant:r,defendantNormalized:Z(r),signal:t,...i?{adminParenthetical:i}:{}}}return{}}function Fe(t,n,r,i,a){let{text:c,span:l}=t,u=oe.exec(c);if(!u)throw Error(`Failed to parse case citation: ${c}`);let d=ne(u[1]),f=u[2].trim(),p=u[3]?Number.parseInt(u[3],10):void 0,m=u[4]||void 0,h=u[5],g=se.test(h),_=g?void 0:Number.parseInt(h,10),v=g?!0:void 0,y=ce.exec(c),b=y?U(y[1])??void 0:void 0,x=b?.page,S={};if(u.indices){if(u.indices[1]&&(S.volume=o(l.cleanStart,u.indices[1],n)),u.indices[2]){let[e,t]=u.indices[2],r=c.substring(e,t),i=r.length-r.trimStart().length,a=r.length-r.trimEnd().length;S.reporter=o(l.cleanStart,[e+i,t-a],n)}u.indices[5]&&(S.page=o(l.cleanStart,u.indices[5],n))}y?.indices?.[1]&&(S.pincite=o(l.cleanStart,y.indices[1],n));let C,w,T,E,D,O,k,A,j,M,N=le.exec(c);N&&!p&&(j=N[1],M=X(j),C=M.year,w=M.court,T=M.date,E=M.disposition,D=M.justices,O=M.scope);let P=!1;if(r){let e=r.substring(l.cleanEnd);/^\s*(?:\(U\)|\[U\])/.test(e)&&(P=!0)}let F=l.cleanEnd;if(r&&a&&a.length>0){let e=/^[\s,\d\-–—]*$/;for(;;){let t=a.find(t=>t.cleanStart>F&&e.test(r.substring(F,t.cleanStart)));if(!t)break;F=t.cleanEnd}}if(r&&!j){let e=r.substring(l.cleanEnd),t=F===l.cleanEnd?e:r.substring(F),i=/^\s*(?:\(U\)|\[U\])/.exec(t);i&&(t=t.substring(i[0].length));let a=ue.exec(t);if(a&&(j=a[1],M=X(j),C=M.year,w=M.court,T=M.date,E=M.disposition,D=M.justices,O=M.scope),x===void 0){let t=de.exec(e);if(t&&(b||=U(t[1])??void 0,x=b?.page,t.indices?.[1]&&(S.pincite=o(l.cleanEnd,t.indices[1],n)),b)){let n=[],r=(t.index??0)+t[0].length;for(;r<e.length;){let t=e.substring(r),i=pe.exec(t);if(!i)break;let a=U(i[1]);if(!a)break;n.push(a),r+=i[0].length}n.length>0&&(b={...b,additionalPincites:n})}}}let I,L,R;if(r){R=Me(r,F),L=R.parens;let e=j&&(C!==void 0||w!==void 0||E!==void 0||D!==void 0||O!==void 0)?L.slice(1):L;for(let t of e){let e=Ne(t.text);if(e.kind===`metadata`)e.court&&(!w||w===E)&&(w=e.court),e.year&&!C&&(C=e.year,T=e.date),e.disposition&&!E&&(E=e.disposition),e.justices&&!D&&(D=e.justices),e.scope&&!O&&(O=e.scope);else{I??=[];let r=s({cleanStart:t.start,cleanEnd:t.end},n);I.push({text:e.text,type:e.type,span:{cleanStart:t.start,cleanEnd:t.end,originalStart:r.originalStart,originalEnd:r.originalEnd}})}}}if(L&&L.length>0&&(w||C)){let e=j?L[0]:void 0;if(e){let t=s({cleanStart:e.start,cleanEnd:e.end},n);if(S.metadataParenthetical={cleanStart:e.start,cleanEnd:e.end,originalStart:t.originalStart,originalEnd:t.originalEnd},M){let t=e.start+1;if(M.courtStart!==void 0){let e=t+M.courtStart,r=t+M.courtEnd,i=s({cleanStart:e,cleanEnd:r},n);S.court={cleanStart:e,cleanEnd:r,originalStart:i.originalStart,originalEnd:i.originalEnd}}if(M.yearStart!==void 0){let e=t+M.yearStart,r=t+M.yearEnd,i=s({cleanStart:e,cleanEnd:r},n);S.year={cleanStart:e,cleanEnd:r,originalStart:i.originalStart,originalEnd:i.originalEnd}}}}}let z;if(r&&M?.internalHistory&&L&&L.length>0){let e=j?L[0]:void 0;if(e){let t=e.start+1,r=M.internalHistory,i=t+r.start,a=t+r.end,{originalStart:o,originalEnd:c}=s({cleanStart:i,cleanEnd:a},n);z??=[],z.push({signal:r.signal,rawSignal:r.rawSignal,signalSpan:{cleanStart:i,cleanEnd:a,originalStart:o,originalEnd:c},order:0})}}if(r&&R&&R.signals.length>0)for(let e=0;e<R.signals.length;e++){let{signal:t}=R.signals[e];z??=[];let{originalStart:r,originalEnd:i}=s({cleanStart:t.start,cleanEnd:t.end},n);z.push({signal:t.normalized,rawSignal:t.text,signalSpan:{cleanStart:t.start,cleanEnd:t.end,originalStart:r,originalEnd:i},order:z.length})}let B=ee(f);!w&&B?.level===`supreme`&&B?.jurisdiction===`federal`&&(w=`scotus`);let V;if(a&&a.length>0){let e=a.filter(e=>e.cleanEnd<=l.cleanStart).reduce((e,t)=>!e||t.cleanEnd>e.cleanEnd?t:e,void 0);e&&(V=l.cleanStart-e.cleanEnd)}let H;if(r&&(H=je(r,l.cleanStart,V,{originalText:i,transformationMap:n}),H)){if(k=H.caseName,k&&=(k=k.replace(/\s*\((?:[^()]*\s)?\d{4}\)\s*$/,``).trim(),k=k.replace(/,\s+\d+\s+[A-Z][A-Za-z.&'\d\s]*\d+\s*$/,``).trim(),k.replace(/,\s+\d{4}\s+[A-Z]+\s+\d+\s*$/,``).trim()),H.year&&!C&&(C=H.year,H.yearStart!==void 0&&H.yearEnd!==void 0&&!S.year)){let e=s({cleanStart:H.yearStart,cleanEnd:H.yearEnd},n);S.year={cleanStart:H.yearStart,cleanEnd:H.yearEnd,originalStart:e.originalStart,originalEnd:e.originalEnd}}if(H.precedingDocketMeta){let e=H.precedingDocketMeta;C||=e.year,w||=e.court,T||=e.date}let e=L&&L.length>0?L[L.length-1].end:l.cleanEnd,t=H.nameStart,r=e;A={cleanStart:t,cleanEnd:r,originalStart:n.cleanToOriginal.get(t)??t,originalEnd:n.cleanToOriginal.get(r)??r};let i=H.nameStart,a=i+k.length,o=s({cleanStart:i,cleanEnd:a},n);S.caseName={cleanStart:i,cleanEnd:a,originalStart:o.originalStart,originalEnd:o.originalEnd}}if(!A&&V!==void 0&&V<30&&L&&L.length>0){let e=L[L.length-1];if(e.end>l.cleanEnd){let t=l.cleanStart,r=e.end;A={cleanStart:t,cleanEnd:r,originalStart:n.cleanToOriginal.get(t)??t,originalEnd:n.cleanToOriginal.get(r)??r}}}let W,re,K,fe,me,q,J;if(k){let e=Pe(k);if(W=e.plaintiff,re=e.plaintiffNormalized,K=e.defendant,fe=e.defendantNormalized,me=e.proceduralPrefix,J=e.signal,q=e.adminParenthetical,W&&K){let e=q?` (${q})`:``,t=(k?/\s+(vs?\.?)\s+/.exec(k):null)?.[1]??`v.`,i=`${W} ${t} ${K}${e}`;if(i!==k&&A&&r){k=i;let e=r.substring(A.cleanStart,l.cleanStart),t=/\s+vs?\.?\s+/i.exec(e);if(t){let r=e.substring(0,t.index).lastIndexOf(W);if(r!==-1){let e=A.cleanStart+r,t=n.cleanToOriginal.get(e)??e;A={...A,cleanStart:e,originalStart:t}}}if(H){let e=A.cleanStart,t=e+k.length,r=s({cleanStart:e,cleanEnd:t},n);S.caseName={cleanStart:e,cleanEnd:t,originalStart:r.originalStart,originalEnd:r.originalEnd}}}}if(W&&H&&r){let e=A?.cleanStart??H.nameStart,t=r.substring(e,l.cleanStart),i=/\s+vs?\.?\s+/i.exec(t);if(i){let r=t.substring(0,i.index).lastIndexOf(W);if(r!==-1){let t=e+r,i=t+W.length,a=s({cleanStart:t,cleanEnd:i},n);S.plaintiff={cleanStart:t,cleanEnd:i,originalStart:a.originalStart,originalEnd:a.originalEnd}}if(K){let r=i.index+i[0].length,a=t.substring(r).indexOf(K);if(a!==-1){let t=e+r+a,i=t+K.length,o=s({cleanStart:t,cleanEnd:i},n);S.defendant={cleanStart:t,cleanEnd:i,originalStart:o.originalStart,originalEnd:o.originalEnd}}}}else{let r=t.indexOf(W);if(r!==-1){let t=e+r,i=t+W.length,a=s({cleanStart:t,cleanEnd:i},n);S.plaintiff={cleanStart:t,cleanEnd:i,originalStart:a.originalStart,originalEnd:a.originalEnd}}}}if(J&&A&&r&&H){let e=r.substring(H.nameStart,l.cleanStart),t=G.exec(e);if(t){let e=H.nameStart,r=e+t[1].length,i=s({cleanStart:e,cleanEnd:r},n);S.signal={cleanStart:e,cleanEnd:r,originalStart:i.originalStart,originalEnd:i.originalEnd}}}}let{originalStart:he,originalEnd:ge}=s(l,n),Y=.2,_e=e.s()?.byAbbreviation.get(f.toLowerCase());return(_e&&_e.length>0||ae.has(f))&&(Y+=.3),C!==void 0&&C<=ie&&(Y+=.2),k&&(Y+=.15),w&&(Y+=.1),Y=Math.round(Math.min(Y,1)*100)/100,v&&(Y=Math.max(Y,.5)),{type:`case`,text:c,span:{cleanStart:l.cleanStart,cleanEnd:l.cleanEnd,originalStart:he,originalEnd:ge},confidence:Y,matchedText:c,processTimeMs:0,patternsChecked:1,volume:d,reporter:f,page:_,nominativeVolume:p,nominativeReporter:m,pincite:x,pinciteInfo:b,court:w,normalizedCourt:te(w),year:C,hasBlankPage:v,date:T,fullSpan:A,caseName:k,disposition:E,parentheticals:I,subsequentHistoryEntries:z,...P?{unpublished:!0}:{},...D?{justices:D}:{},...O?{scope:O}:{},...q?{adminParenthetical:q}:{},plaintiff:W,plaintiffNormalized:re,defendant:K,defendantNormalized:fe,proceduralPrefix:me,inferredCourt:B,signal:J,spans:S}}const Q=`${String.raw`(?:art(?:icle)?\.?|amend(?:ment)?\.?|amdt\.?)\s+([IVX]+|\d+)`}${String.raw`(?:[,;]\s*§\s*([\w-]+))?`}${String.raw`(?:[,;]\s*cl\.?\s*(\d+))?`}`,Ie=new RegExp(Q,`id`),Le=[{id:`us-constitution`,regex:new RegExp(String.raw`\b(?:United\s+States\s+Constitution|U\.?\s*S\.?\s+Const\.?),?\s+${Q}`,`gi`),description:`U.S. Constitution citations (e.g., "U.S. Const. art. III, § 2", "U.S. Const. amend. XIV")`,type:`constitutional`},{id:`state-constitution`,regex:new RegExp(String.raw`\b(?:Ala|Alaska|Ariz|Ark|Cal(?:if)?|Colo|Conn|Del|Fla|Ga|Haw|Idaho|Ill|Ind|Iowa|Kan|Ky|La|Me|Md|Mass|Mich|Minn|Miss|Mo|Mont|Neb|Nev|N\.?\s*H|N\.?\s*J|N\.?\s*M|N\.?\s*Y|N\.?\s*C|N\.?\s*D|Ohio|Okla|Or(?:e)?|Pa|R\.?\s*I|S\.?\s*C|S\.?\s*D|Tenn|Tex|Utah|Vt|W\.?\s*Va|Va|Wash|Wis|Wyo)(?:\.\s*|\s+)Const\.?,?\s+${Q}`,`gi`),description:`State constitution citations (e.g., "Cal. Const. art. I, § 7", "N.Y. Const. art. VI, § 20", "Pa.Const. art. VIII, § 4")`,type:`constitutional`},{id:`bare-constitution`,regex:new RegExp(String.raw`(?<!\.\s)(?<![A-Z]\s)\bConst\.?,?\s+${Q}`,`g`),description:`Bare constitutional citations without jurisdiction prefix (e.g., "Const. art. I, § 8, cl. 3")`,type:`constitutional`},{id:`bare-article`,regex:new RegExp(String.raw`(?<!Const\.?,?\s)\bArt\.?\s+[IVX]+[,;]\s*§\s*[\w-]+(?:[,;]\s*cl\.?\s*\d+)?`,`g`),description:`Bare article references without "Const." prefix (e.g., "Art. I, §8, cl. 3")`,type:`constitutional`}],Re={I:1,II:2,III:3,IV:4,V:5,VI:6,VII:7,VIII:8,IX:9,X:10,XI:11,XII:12,XIII:13,XIV:14,XV:15,XVI:16,XVII:17,XVIII:18,XIX:19,XX:20,XXI:21,XXII:22,XXIII:23,XXIV:24,XXV:25,XXVI:26,XXVII:27};function ze(e){let t=e.toUpperCase();if(t in Re)return Re[t];let n=Number.parseInt(e,10);return Number.isNaN(n)?void 0:n}const Be={ala:`AL`,alaska:`AK`,ariz:`AZ`,ark:`AR`,cal:`CA`,calif:`CA`,colo:`CO`,conn:`CT`,del:`DE`,fla:`FL`,ga:`GA`,haw:`HI`,idaho:`ID`,ill:`IL`,ind:`IN`,iowa:`IA`,kan:`KS`,ky:`KY`,la:`LA`,me:`ME`,md:`MD`,mass:`MA`,mich:`MI`,minn:`MN`,miss:`MS`,mo:`MO`,mont:`MT`,neb:`NE`,nev:`NV`,"n.h":`NH`,"n.j":`NJ`,"n.m":`NM`,"n.y":`NY`,"n.c":`NC`,"n.d":`ND`,ohio:`OH`,okla:`OK`,or:`OR`,ore:`OR`,pa:`PA`,"r.i":`RI`,"s.c":`SC`,"s.d":`SD`,tenn:`TN`,tex:`TX`,utah:`UT`,vt:`VT`,va:`VA`,wash:`WA`,"w.va":`WV`,wis:`WI`,wyo:`WY`},Ve=/amend|amdt/i,He=/^([A-Za-z]+(?:\.\s*[A-Za-z]+)?(?:\.\s*[A-Za-z]+)?)\.?\s*Const/i;function Ue(e){let t=He.exec(e);if(!t)return;let n=t[1].replace(/\s+/g,``).replace(/\.$/g,``).toLowerCase();if(n in Be)return Be[n]}function We(e,t){let{text:n,span:r}=e,i=Ie.exec(n),a,c,l,u;if(i){let e=ze(i[1]);Ve.test(i[0])?c=e:a=e,l=i[2]||void 0,u=i[3]?Number.parseInt(i[3],10):void 0}let d;switch(e.patternId){case`us-constitution`:d=`US`;break;case`state-constitution`:d=Ue(n);break;default:d=void 0;break}let{originalStart:f,originalEnd:p}=s(r,t),m;m=e.patternId===`bare-article`?.5:e.patternId===`bare-constitution`?.7:l?.95:.9;let h=n.endsWith(`.`)?n.slice(0,-1):n,g={};if(d===`US`){let e=n.indexOf(`U.S.`);e!==-1&&(g.jurisdiction=o(r.cleanStart,[e,e+4],t))}else if(d&&e.patternId===`state-constitution`){let e=He.exec(n);if(e){let n=e[1].length+1;g.jurisdiction=o(r.cleanStart,[0,n],t)}}return i?.indices&&(Ve.test(i[0])?i.indices[1]&&(g.amendment=o(r.cleanStart,i.indices[1],t)):i.indices[1]&&(g.article=o(r.cleanStart,i.indices[1],t)),i.indices[2]&&(g.section=o(r.cleanStart,i.indices[2],t)),i.indices[3]&&(g.clause=o(r.cleanStart,i.indices[3],t))),{type:`constitutional`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:m,matchedText:h,processTimeMs:0,patternsChecked:1,jurisdiction:d,article:a,amendment:c,section:l,clause:u,spans:g}}function Ge(e,t,n,r){let{text:i,span:a}=e,o=/\b(?:(?:C\.A\.|Civ\.|Civil(?:\s+Action)?|Case|Adv\.|Docket)\s+)?No\.\s+([A-Za-z\d]+(?::?[A-Za-z\d]+)?(?:[-\s][A-Za-z\d]+)*)\s+\(([^)]+)\)/.exec(i);if(!o)return;let c=o[1],l=o[2],u=je(n,a.cleanStart,void 0,{originalText:r,transformationMap:t});if(!u)return;let d=Pe(u.caseName),f=d.plaintiff&&d.defendant,p=!!d.proceduralPrefix;if(!f&&!p)return;let m=X(l),{originalStart:h,originalEnd:g}=s(a,t),_=u.nameStart;if(d.plaintiff&&d.defendant){let e=n.substring(_,a.cleanStart),t=/\s+v\.?\s+/i.exec(e);if(t){let n=e.substring(0,t.index).lastIndexOf(d.plaintiff);n!==-1&&(_+=n)}}let v=a.cleanEnd,y=t.cleanToOriginal.get(_)??_,b=t.cleanToOriginal.get(v)??v;return{type:`docket`,text:i,matchedText:i,span:{cleanStart:a.cleanStart,cleanEnd:a.cleanEnd,originalStart:h,originalEnd:g},confidence:.7,processTimeMs:0,patternsChecked:1,docketNumber:c,caseName:d.plaintiff&&d.defendant?`${d.plaintiff} v. ${d.defendant}`:u.caseName,plaintiff:d.plaintiff,defendant:d.defendant,plaintiffNormalized:d.plaintiffNormalized,defendantNormalized:d.defendantNormalized,proceduralPrefix:d.proceduralPrefix,court:m.court,normalizedCourt:te(m.court),year:m.year,date:m.date,fullSpan:{cleanStart:_,cleanEnd:v,originalStart:y,originalEnd:b}}}function Ke(e,t){let{text:n,span:r}=e,i=/^(\d+(?:-\d+)?)\s+Fed\.\s?Reg\.\s+(\d+)/d.exec(n);if(!i)throw Error(`Failed to parse Federal Register citation: ${n}`);let a=i[1],c=/^\d+$/.test(a)?Number.parseInt(a,10):a,l=Number.parseInt(i[2],10),u;i.indices&&(u={volume:o(r.cleanStart,i.indices[1],t),page:o(r.cleanStart,i.indices[2],t)});let d=/\((?:.*?\s)?(\d{4})\)/.exec(n),f=d?Number.parseInt(d[1],10):void 0,{originalStart:p,originalEnd:m}=s(r,t);return{type:`federalRegister`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:p,originalEnd:m},confidence:.9,matchedText:n,processTimeMs:0,patternsChecked:1,volume:c,page:l,year:f,spans:u}}function qe(e,t,n){let{text:r,span:i}=e,a=/^(\d+(?:-\d+)?)\s+([A-Za-z.\s]+?)\s+(\d+)/d.exec(r);if(!a)throw Error(`Failed to parse journal citation: ${r}`);let c=a[1],l=/^\d+$/.test(c)?Number.parseInt(c,10):c,u=a[2].trim(),d=Number.parseInt(a[3],10),f,p;n===void 0?(f=r.slice(a[0].length),p=i.cleanStart+a[0].length):(f=n.slice(i.cleanEnd,i.cleanEnd+30),p=i.cleanEnd);let m=n?n.slice(i.cleanStart,i.cleanEnd+30):r,h=/^,\s*(\d+)/d.exec(f),g=h?Number.parseInt(h[1],10):void 0,_=/\((?:.*?\s)?(\d{4})\)/d.exec(m),v=_?Number.parseInt(_[1],10):void 0,y;a.indices&&(y={volume:o(i.cleanStart,a.indices[1],t),journal:o(i.cleanStart,a.indices[2],t),page:o(i.cleanStart,a.indices[3],t)},h?.indices?.[1]&&(y.pincite=o(p,h.indices[1],t)),_?.indices?.[1]&&(y.year=o(i.cleanStart,_.indices[1],t)));let{originalStart:b,originalEnd:x}=s(i,t);return{type:`journal`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:b,originalEnd:x},confidence:.6,matchedText:r,processTimeMs:0,patternsChecked:1,volume:l,journal:u,abbreviation:u,page:d,pincite:g,year:v,spans:y}}const Je=/^(?:\s+at\s+|,\s*(?:at\s+(?:pp?\.\s*)?)?)(\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?|¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?)/d,Ye=/^(?:\s*,?\s*(?:at\s+)?\*?\d+(?:[-–—]\*?\d+)?)?\s*\(([^)]+)\)/;function Xe(e){return e===`WL`||e===`BL`?!0:/\bLEXIS\b/.test(e)}function Ze(e,t,n){let{text:r,span:i}=e,a,c,l,u=!1,d,f=/^(\d{4})-([A-Z]+)-(\d+)-([A-Z]+)$/d.exec(r);if(f){if(a=Number.parseInt(f[1],10),c=`${f[2]}-${f[4]}`,l=f[3],f.indices){let e=f.indices[2],n=f.indices[4],r=[e[0],n[1]];d={year:o(i.cleanStart,f.indices[1],t),court:o(i.cleanStart,r,t),documentNumber:o(i.cleanStart,f.indices[3],t)}}}else{let e=/^(\d{4})[-\s]+(.+?)[-\s]+(\d+)(-U)?$/d.exec(r);if(!e)throw Error(`Failed to parse neutral citation: ${r}`);a=Number.parseInt(e[1],10),c=e[2],l=e[3],e[4]===`-U`&&(u=!0),e.indices&&(d={year:o(i.cleanStart,e.indices[1],t),court:o(i.cleanStart,e.indices[2],t),documentNumber:o(i.cleanStart,e.indices[3],t)})}let p,m;if(n){let e=n.substring(i.cleanEnd),r=Je.exec(e);r&&(m=U(r[1])??void 0,p=m?.page??m?.paragraph,r.indices?.[1]&&(d||={},d.pincite=o(i.cleanEnd,r.indices[1],t)))}let h,g=c;Xe(c)&&(h=c,g=void 0,d&&(d.court=void 0));let _;if(n&&h){let e=n.substring(i.cleanEnd),t=Ye.exec(e);if(t){let e=X(t[1]);e.court&&(g=e.court),e.date&&(_=e.date)}}let{originalStart:v,originalEnd:y}=s(i,t),b;if(n){let e=je(n,i.cleanStart);e&&(b=e.caseName,b&&=(b=b.replace(/^(?:But\s+see(?:\s+also)?,?\s+|See\s+also,?\s+|See\s+generally\s+|See,\s+e\.g\.,?\s+|See\s+|Cf\.\s+|In\s+|Accord\s+|Contra\s+|Compare\s+|E\.g\.,?\s+)/,``).trim(),b=b.replace(/\s*\((?:[^()]*\s)?\d{4}\)\s*$/,``).trim(),b=b.replace(/,\s+\d+\s+[A-Z][A-Za-z.&'\d\s]*\d+\s*$/,``).trim(),b.replace(/,\s+\d{4}\s+[A-Z]+\s+\d+\s*$/,``).trim()))}return{type:`neutral`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:v,originalEnd:y},confidence:1,matchedText:r,processTimeMs:0,patternsChecked:1,year:a,court:g,...h?{database:h}:{},documentNumber:l,...u?{unpublished:!0}:{},pincite:p,pinciteInfo:m,..._?{date:_}:{},...b?{caseName:b}:{},spans:d}}function Qe(e,t){let{text:n,span:r}=e,i=/Pub\.\s?L\.(?:\s?No\.)?\s?(\d+)-(\d+)/d.exec(n);if(!i)throw Error(`Failed to parse public law citation: ${n}`);let a=Number.parseInt(i[1],10),c=Number.parseInt(i[2],10),l;i.indices&&(l={congress:o(r.cleanStart,i.indices[1],t),lawNumber:o(r.cleanStart,i.indices[2],t)});let{originalStart:u,originalEnd:d}=s(r,t);return{type:`publicLaw`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:u,originalEnd:d},confidence:.9,matchedText:n,processTimeMs:0,patternsChecked:1,congress:a,lawNumber:c,spans:l}}const $e=/^(?:But\s+(?:see|cf\.?)|See(?:\s+also)?(?:\s*,\s*e\.\s*g\.?)?|Compare|Cf\.?|Accord|E\.\s*g\.?|Also|In(?!\s+re\b)|Then)\s+/i;function et(e){let t=e.replace($e,``).trim();return t.length>0?t:e}const tt=/^[\s,]*\(([^()]*)\)/;function nt(e,t){if(!e)return;let n=e.slice(t),r=tt.exec(n);if(!r)return;let i=r[1].trim();return i.length>0?i:void 0}function rt(e,t,n){let{text:r,span:i}=e,a=/([Ii])(?:d|bid)\s*(?:(\.)|(,)(?=\s+at\s))(?:(,\s+|,?\s+(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b)))(\*?\d+(?:\s*[-–]\s*\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?|¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?))?/d.exec(r);if(!a)throw Error(`Failed to parse Id. citation: ${r}`);let c=a[1],l=a[3]===`,`,u=l||a[4]?.startsWith(`,`)===!0,d=a[5]?U(a[5])??void 0:void 0,f=d?.page,p;a[5]&&a.indices?.[5]&&(p={pincite:o(i.cleanStart,a.indices[5],t)});let m=1;if(c===`i`&&(m=.85),u&&(m=Math.min(m,.9)),l&&(m=Math.min(m,.7)),n&&i.cleanStart>0){let e=n.slice(Math.max(0,i.cleanStart-20),i.cleanStart).trimEnd();e.length>0&&(e[e.length-1],/[.;)\]—:]$/.test(e)||(m=Math.min(m,.4)))}let{originalStart:h,originalEnd:g}=s(i,t),_=nt(n,i.cleanEnd);return{type:`id`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:h,originalEnd:g},confidence:m,matchedText:r,processTimeMs:0,patternsChecked:1,pincite:f,pinciteInfo:d,..._?{parenthetical:_}:{},spans:p}}function it(e,t,n){let{text:r,span:i}=e,a=r.includes(`[supra`)?/(?:\b([A-Z][a-zA-Z''\-]+\.?(?:(?:\s+v\.?\s+|\s+&\s+|,\s+|\s+)[A-Z][a-zA-Z''\-]+\.?)*)\s*,?\s+)?\[supra(?:(?:,\s+|\s+at\s+(?:pp?\.\s*)?)(\d+(?:[-–—]\d+)?))?\]/d.exec(r):null,c=a?null:/\b([A-Z][a-zA-Z''\-]+\.?(?:(?:\s+v\.?\s+|\s+&\s+|,\s+|\s+)[A-Z][a-zA-Z''\-]+\.?)*)\s*,?\s+supra(?:\s+note\s+(\d+))?(?:(?:,\s+|,?\s+(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b)))(\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?|¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?))?/d.exec(r),l=a||c||/supra(?:\s+note\s+(\d+)(?:,?\s+(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b))(\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?|¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?))?|\s+(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b))(\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?|¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?))?/d.exec(r);if(!l)throw Error(`Failed to parse supra citation: ${r}`);let u,d,f,p;if(a)u=a[1]?et(a[1]):void 0,d=a[2]?U(a[2])??void 0:void 0,f=u?.9:.8,a[2]&&(p=2);else if(c)u=et(c[1]),d=c[3]?U(c[3])??void 0:void 0,f=.9,c[3]&&(p=3);else{u=void 0;let e=l[2],t=l[3],n=e??t;d=n?U(n)??void 0:void 0,f=.8,e?p=2:t&&(p=3)}let m=d?.page,h;p!==void 0&&l.indices?.[p]&&(h={pincite:o(i.cleanStart,l.indices[p],t)});let{originalStart:g,originalEnd:_}=s(i,t),v=nt(n,i.cleanEnd);return{type:`supra`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:g,originalEnd:_},confidence:f,matchedText:r,processTimeMs:0,patternsChecked:1,partyName:u,pincite:m,pinciteInfo:d,...v?{parenthetical:v}:{},spans:h}}function at(e,t,n){let{text:r,span:i}=e,a=/(?:([A-Z][a-zA-Z''\-]+\.?(?:(?:\s+v\.?\s+|\s+&\s+|,\s+|\s+)[A-Z][a-zA-Z''\-]+\.?)*),\s+)?(\d+(?:-\d+)?)\s+([A-Z][A-Za-z.''\s]+?(?:\d[a-z]{1,2})?)\s*,?\s+at\s+(?:pp?\.\s*|pages?\s+)?(\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?|¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?)/d.exec(r);if(!a)throw Error(`Failed to parse short-form case citation: ${r}`);let c=a[1],l=a[2],u=/^\d+$/.test(l)?Number.parseInt(l,10):l,d=a[3].trim(),f=U(a[4])??void 0,p=f?.page,m,h;c&&(m=et(c),h=m.toLowerCase().replace(/\s+/g,` `).trim());let g;a.indices?.[4]&&(g={pincite:o(i.cleanStart,a.indices[4],t)});let{originalStart:_,originalEnd:v}=s(i,t),y=.4;ae.has(d)&&(y+=.3);let b=nt(n,i.cleanEnd);return{type:`shortFormCase`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:_,originalEnd:v},confidence:y,matchedText:r,processTimeMs:0,patternsChecked:1,volume:u,reporter:d,pincite:p,pinciteInfo:f,partyName:m,partyNameNormalized:h,...b?{parenthetical:b}:{},spans:g}}const ot=/^([^([]+?)\s*((?:\([^)]*\)|\[[^\]]*\])*)$/,st=/\s*et\s+seq\.?\s*$/i;function $(e){let t=e.replace(st,``),n=t!==e,r=t.trim(),i=ot.exec(r),a=i?.[2];return i!==null&&a?{section:i[1].trim(),subsection:a,hasEtSeq:n}:{section:r,hasEtSeq:n}}const ct=/^(?:(\d+)\s+)?(.+?)\s*,?\s*(?:§§?|[Ss]ections?|[Ss]ec\.?)?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9])|,(?=\d))*(?:\([^)]*\)|\[[^\]]*\])*(?:\s*et\s+seq\.?)?)$/d;function lt(t,n){let{text:r,span:i}=t,a=ct.exec(r),c,l,u;a?(c=a[1]?Number.parseInt(a[1],10):void 0,l=a[2].trim(),u=a[3]):(l=r,u=``);let d=e.n(l),f=d?.jurisdiction,p=d&&!d.patterns.some(e=>e.toLowerCase()===l.toLowerCase())?d.abbreviation:l,{section:m,subsection:h,hasEtSeq:g}=$(u),{originalStart:_,originalEnd:v}=s(i,n),y;if(a?.indices&&(y={},a.indices[1]&&(y.title=o(i.cleanStart,a.indices[1],n)),a.indices[2]&&(y.code=o(i.cleanStart,a.indices[2],n)),a.indices[3]&&m)){let e=a.indices[3][0],t=m.replace(/[.,;:]\s*$/,``).length;if(y.section=o(i.cleanStart,[e,e+t],n),h){let t=e+m.length;y.subsection=o(i.cleanStart,[t,t+h.length],n)}}let b=r.includes(`§`),x;return x=d&&b?.95:d?.85:b?.6:.4,c!==void 0&&(x+=.05),h&&(x+=.05),x=Math.min(x,1),{type:`statute`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:_,originalEnd:v},confidence:x,matchedText:r,processTimeMs:0,patternsChecked:1,title:c,code:p,section:m,subsection:h,pincite:h,jurisdiction:f,hasEtSeq:g||void 0,spans:y}}const ut=/^Code(?:\s+of\s+Alabama)?,?\s+1940,?\s+T(?:itle|it)?\.\s+(\d+),?\s+§\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)$/d,dt=/^Title\s+(\d+),?\s+(?:§|Sec(?:tion)?s?\.?)\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*),?\s+Code(?:\s+of\s+Alabama)?,?\s+(\d{4})(?:,?\s+(?:as\s+)?[Rr]ecompiled\s+(\d{4}))?$/d,ft=/^Tit\.\s+(\d+),?\s+§\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)(?:,?\s+Code(?:\s+of\s+Alabama)?,?\s+(\d{4})(?:,?\s+(?:as\s+)?[Rr]ecompiled\s+(\d{4}))?)?$/d;function pt(e,t){let{text:n,span:r}=e,i,a,c,l,u,d,f;switch(e.patternId){case`ala-code-prefix`:f=ut.exec(n),i=f[1],a=f[2],c=1940,u=1,d=2;break;case`ala-title-trailer`:f=dt.exec(n),i=f[1],a=f[2],c=Number.parseInt(f[3],10),f[4]&&(l=Number.parseInt(f[4],10)),u=1,d=2;break;default:f=ft.exec(n),i=f[1],a=f[2],f[3]&&(c=Number.parseInt(f[3],10)),f[4]&&(l=Number.parseInt(f[4],10)),u=1,d=2;break}let p=Number.parseInt(i,10),{section:m,subsection:h,hasEtSeq:g}=$(a),{originalStart:_,originalEnd:v}=s(r,t),y;if(f.indices){y={};let e=f.indices[u];e&&(y.title=o(r.cleanStart,e,t));let n=f.indices[d];if(n&&m){let e=n[0],i=m.replace(/[.,;:]\s*$/,``).length;if(y.section=o(r.cleanStart,[e,e+i],t),h){let n=e+m.length;y.subsection=o(r.cleanStart,[n,n+h.length],t)}}}let b=.95;return h&&(b+=.05),b=Math.min(b,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:_,originalEnd:v},confidence:b,matchedText:n,processTimeMs:0,patternsChecked:1,title:p,code:`Code of Alabama 1940`,section:m,subsection:h,pincite:h,year:c,recompiledYear:l,jurisdiction:`AL`,hasEtSeq:g||void 0,spans:y}}const mt=[{canonical:`Code Civ. Proc.`,regexFragment:`Code\\s+Civ\\.?\\s+Proc\\.?`},{canonical:`Code Crim. Proc.`,regexFragment:`Code\\s+Crim\\.?\\s+Proc\\.?`},{canonical:`Bus. & Prof. Code`,regexFragment:`Bus\\.?\\s*&\\s*Prof\\.?\\s+Code`},{canonical:`Welf. & Inst. Code`,regexFragment:`Welf\\.?\\s*&\\s*Inst\\.?\\s+Code`},{canonical:`Health & Safety Code`,regexFragment:`Health\\s*&\\s*Safety\\s+Code`},{canonical:`Fish & Game Code`,regexFragment:`Fish\\s*&\\s*Game\\s+Code`},{canonical:`Food & Agric. Code`,regexFragment:`Food\\s*&\\s*Agric\\.?\\s+Code`},{canonical:`Harb. & Nav. Code`,regexFragment:`Harb\\.?\\s*&\\s*Nav\\.?\\s+Code`},{canonical:`Mil. & Vet. Code`,regexFragment:`Mil\\.?\\s*&\\s*Vet\\.?\\s+Code`},{canonical:`Rev. & Tax. Code`,regexFragment:`Rev\\.?\\s*&\\s*Tax\\.?\\s+Code`},{canonical:`Sts. & Hy. Code`,regexFragment:`Sts\\.?\\s*&\\s*Hy\\.?\\s+Code`},{canonical:`Pub. Util. Code`,regexFragment:`Pub\\.?\\s+Util\\.?\\s+Code`},{canonical:`Pub. Cont. Code`,regexFragment:`Pub\\.?\\s+Cont\\.?\\s+Code`},{canonical:`Pub. Resources Code`,regexFragment:`Pub\\.?\\s+Resources\\s+Code`},{canonical:`Unemp. Ins. Code`,regexFragment:`Unemp\\.?\\s+Ins\\.?\\s+Code`},{canonical:`Civ. Code`,regexFragment:`Civ\\.?\\s+Code`},{canonical:`Corp. Code`,regexFragment:`Corp\\.?\\s+Code`},{canonical:`Educ. Code`,regexFragment:`Educ\\.?\\s+Code`},{canonical:`Elec. Code`,regexFragment:`Elec\\.?\\s+Code`},{canonical:`Evid. Code`,regexFragment:`Evid\\.?\\s+Code`},{canonical:`Fam. Code`,regexFragment:`Fam\\.?\\s+Code`},{canonical:`Gov. Code`,regexFragment:`Gov\\.?\\s+Code`},{canonical:`Ins. Code`,regexFragment:`Ins\\.?\\s+Code`},{canonical:`Lab. Code`,regexFragment:`Lab\\.?\\s+Code`},{canonical:`Pen. Code`,regexFragment:`Pen\\.?\\s+Code`},{canonical:`Prob. Code`,regexFragment:`Prob\\.?\\s+Code`},{canonical:`Veh. Code`,regexFragment:`Veh\\.?\\s+Code`},{canonical:`Water Code`,regexFragment:`Water\\s+Code`}];function ht(){let e=[...mt].sort((e,t)=>t.regexFragment.length-e.regexFragment.length).map(e=>e.regexFragment).join(`|`);return RegExp(`\\b(${e})\\s*,?\\s*§§?\\s*(\\d+(?:[A-Za-z0-9:/-]|\\.(?=[A-Za-z0-9]))*(?:\\([^)]*\\))*(?:\\s*et\\s+seq\\.?)?)`,`g`)}function gt(e){let t=e.replace(/\s+/g,` `).trim();for(let e of mt)if(RegExp(`^${e.regexFragment}$`,`i`).test(t))return e.canonical}const _t=/^(.+?)\s*,?\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)$/d;function vt(e,t){let{text:n,span:r}=e,i=_t.exec(n),a=i[1].trim(),c=i[2],l=gt(a),{section:u,subsection:d,hasEtSeq:f}=$(c),{originalStart:p,originalEnd:m}=s(r,t),h;if(i?.indices&&(h={},i.indices[1]&&(h.code=o(r.cleanStart,i.indices[1],t)),i.indices[2]&&u)){let e=i.indices[2][0],n=u.replace(/[.,;:]\s*$/,``).length;if(h.section=o(r.cleanStart,[e,e+n],t),d){let n=e+u.length;h.subsection=o(r.cleanStart,[n,n+d.length],t)}}let g=.95;return d&&(g+=.05),g=Math.min(g,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:p,originalEnd:m},confidence:g,matchedText:n,processTimeMs:0,patternsChecked:1,code:l,section:u,subsection:d,pincite:d,jurisdiction:`CA`,hasEtSeq:f||void 0,spans:h}}const yt=/^(\d+)\s+(?:ILCS|Ill\.?\s*Comp\.?\s*Stat\.?)\s*(?:Ann\.?\s+)?(\d+)\/(\d+(?:[A-Za-z0-9:-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)$/d;function bt(e,t){let{text:n,span:r}=e,i=yt.exec(n),a,c,l;i?(a=Number.parseInt(i[1],10),c=i[2],l=i[3]):(c=n,l=``);let{section:u,subsection:d,hasEtSeq:f}=$(l),{originalStart:p,originalEnd:m}=s(r,t),h=u.replace(/[.,;:]\s*$/,``).length,g;if(i?.indices&&(g={},i.indices[1]&&(g.title=o(r.cleanStart,i.indices[1],t)),i.indices[2]&&(g.code=o(r.cleanStart,i.indices[2],t)),i.indices[3]&&u)){let e=i.indices[3][0];if(g.section=o(r.cleanStart,[e,e+h],t),d){let n=e+u.length;g.subsection=o(r.cleanStart,[n,n+d.length],t)}}let _=i?.95:.3;return d&&(_+=.05),_=Math.min(_,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:p,originalEnd:m},confidence:_,matchedText:n,processTimeMs:0,patternsChecked:1,title:a,code:c,section:u,subsection:d,pincite:d,jurisdiction:i?`IL`:void 0,hasEtSeq:f||void 0,spans:g}}const xt=/^[Ss]ection\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*),?\s+(Colo(?:rado)?\.?\s+Rev(?:ised)?\.?\s+Stat(?:utes)?\.?(?:\s+Ann(?:otated)?\.?)?)(?:\s+(19\d{2}))?$/d;function St(e,t){let{text:n,span:r}=e,i=xt.exec(n),a=i[1],c=i[2].replace(/\s+/g,` `).trim(),l=i[3],u=l?`${c} ${l}`:c,{section:d,subsection:f,hasEtSeq:p}=$(a),{originalStart:m,originalEnd:h}=s(r,t),g;if(i.indices){g={};let e=i.indices[1];if(e&&d){let n=e[0],i=d.replace(/[.,;:]\s*$/,``).length;if(g.section=o(r.cleanStart,[n,n+i],t),f){let e=n+d.length;g.subsection=o(r.cleanStart,[e,e+f.length],t)}}i.indices[2]&&(g.code=o(r.cleanStart,i.indices[2],t))}let _=.9;return f&&(_+=.05),_=Math.min(_,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:m,originalEnd:h},confidence:_,matchedText:n,processTimeMs:0,patternsChecked:1,code:u,section:d,subsection:f,pincite:f,jurisdiction:`CO`,hasEtSeq:p||void 0,spans:g}}const Ct=/^(\d+)\s+(U\.?S\.?C\.?A?\.?|USCA?|United\s+States\s+Code|C\.?F\.?R\.?|Code\s+of\s+Federal\s+Regulations)\s*(?:§§?|[Ss]ections?|[Ss]ec\.?|Part|pt\.)?\s*(.+)$/d,wt=/^(\d+)\s+(U\.?S\.?C\.?A?\.?|USCA?|United\s+States\s+Code|C\.?F\.?R\.?|Code\s+of\s+Federal\s+Regulations)\s+(?:Part|pt\.)\s+(.+)$/d;function Tt(e,t){let{text:n,span:r}=e,i=Ct.exec(n)??wt.exec(n),a,c,l;if(i){a=Number.parseInt(i[1],10);let e=i[2];l=i[3];let t=e.toUpperCase().replace(/[.\s]/g,``);c=t.includes(`CFR`)||t.includes(`FEDERALREGULATIONS`)?`C.F.R.`:`U.S.C.`}else c=e.patternId===`cfr`?`C.F.R.`:`U.S.C.`,l=n,a=void 0;let{section:u,subsection:d,hasEtSeq:f}=$(l),{originalStart:p,originalEnd:m}=s(r,t),h;if(i?.indices&&(h={},i.indices[1]&&(h.title=o(r.cleanStart,i.indices[1],t)),i.indices[2]&&(h.code=o(r.cleanStart,i.indices[2],t)),i.indices[3]&&u)){let e=i.indices[3][0],n=u.replace(/[.,;:]\s*$/,``).length;if(h.section=o(r.cleanStart,[e,e+n],t),d){let n=e+u.length;h.subsection=o(r.cleanStart,[n,n+d.length],t)}}let g=.95;return a!==void 0&&(g+=.05),d&&(g+=.05),g=Math.min(g,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:p,originalEnd:m},confidence:g,matchedText:n,processTimeMs:0,patternsChecked:1,title:a,code:c,section:u,subsection:d,pincite:d,jurisdiction:`US`,hasEtSeq:f||void 0,spans:h}}const Et=/^(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+(?:Florida\s+Statutes|Fla\.\s*Stat\.)$/d,Dt=/^Florida\s+Statutes?\s*§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?)$/d;function Ot(e,t){let{text:n,span:r}=e,i=(e.patternId===`florida-postfix`?Et:Dt).exec(n),a=i[1],{section:c,subsection:l,hasEtSeq:u}=$(a),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={};let e=i.indices[1];if(e&&c){let n=e[0],i=c.replace(/[.,;:]\s*$/,``).length;if(p.section=o(r.cleanStart,[n,n+i],t),l){let e=n+c.length;p.subsection=o(r.cleanStart,[e,e+l.length],t)}}}let m=.95;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`Fla. Stat.`,section:c,subsection:l,pincite:l,jurisdiction:`FL`,hasEtSeq:u||void 0,spans:p}}const kt=/^(Code(?:\s+Ann\.?)?)\s+§\s*(\d+-\d+(?:[A-Za-z0-9])?(?:\([A-Za-z0-9]+\))*)$/d;function At(e,t){let{text:n,span:r}=e,i=kt.exec(n),a=i[1],c=i[2],{section:l,subsection:u,hasEtSeq:d}=$(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={},i.indices[1]&&(m.code=o(r.cleanStart,i.indices[1],t));let e=i.indices[2];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.85;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:a,section:l,subsection:u,pincite:u,jurisdiction:`GA`,hasEtSeq:d||void 0,spans:m}}const jt=/^IC\s+(\d{4}),\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)$/d;function Mt(e,t){let{text:n,span:r}=e,i=jt.exec(n),a=Number.parseInt(i[1],10),c=i[2],{section:l,subsection:u,hasEtSeq:d}=$(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={};let e=i.indices[2];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.95;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:`IC`,section:l,subsection:u,pincite:u,year:a,jurisdiction:`IN`,hasEtSeq:d||void 0,spans:m}}const Nt=/^(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+Idaho\s+Code(?:\s+Ann\.?)?$/d;function Pt(e,t){let{text:n,span:r}=e,i=Nt.exec(n),a=i[1],{section:c,subsection:l,hasEtSeq:u}=$(a),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={};let e=i.indices[1];if(e&&c){let n=e[0],i=c.replace(/[.,;:]\s*$/,``).length;if(p.section=o(r.cleanStart,[n,n+i],t),l){let e=n+c.length;p.subsection=o(r.cleanStart,[e,e+l.length],t)}}}let m=.95;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`Idaho Code`,section:c,subsection:l,pincite:l,jurisdiction:`ID`,hasEtSeq:u||void 0,spans:p}}const Ft=/^Ill\.?\s*Rev\.?\s*Stat\.?,?\s+(\d{4}),?\s+[Cc]h\.\s+(\d+[A-Z]?),?\s+pars?\.\s+(\d+(?:[A-Za-z0-9:-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)$/d;function It(e,t){let{text:n,span:r}=e,i=Ft.exec(n),a=Number.parseInt(i[1],10),c=i[2],l=Number.parseInt(c,10),u=i[3],{section:d,subsection:f,hasEtSeq:p}=$(u),{originalStart:m,originalEnd:h}=s(r,t),g;if(i.indices&&(g={},i.indices[2]&&(g.title=o(r.cleanStart,i.indices[2],t)),i.indices[3]&&d)){let e=i.indices[3][0],n=d.replace(/[.,;:]\s*$/,``).length;if(g.section=o(r.cleanStart,[e,e+n],t),f){let n=e+d.length;g.subsection=o(r.cleanStart,[n,n+f.length],t)}}let _=.95;return f&&(_+=.05),_=Math.min(_,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:m,originalEnd:h},confidence:_,matchedText:n,processTimeMs:0,patternsChecked:1,title:l,code:`Ill. Rev. Stat.`,section:d,subsection:f,pincite:f,year:a,jurisdiction:`IL`,hasEtSeq:p||void 0,spans:g}}const Lt=/^(?:I\.R\.C\.|IRC)\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)$/d;function Rt(e,t){let{text:n,span:r}=e,i=Lt.exec(n),a=i[1],{section:c,subsection:l,hasEtSeq:u}=$(a),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={};let e=i.indices[1];if(e&&c){let n=e[0],i=c.replace(/[.,;:]\s*$/,``).length;if(p.section=o(r.cleanStart,[n,n+i],t),l){let e=n+c.length;p.subsection=o(r.cleanStart,[e,e+l.length],t)}}}let m=.95;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`I.R.C.`,section:c,subsection:l,pincite:l,jurisdiction:`US`,hasEtSeq:u||void 0,spans:p}}const zt=/^K\.?\s*S\.?\s*A\.?\s+(\d{4})(?:\s+(Supp\.?))?\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9])|,(?=\d))*(?:\([^)]*\))*)$/d;function Bt(e,t){let{text:n,span:r}=e,i=zt.exec(n),a=Number.parseInt(i[1],10),c=i[2]!==void 0,l=i[3],{section:u,subsection:d,hasEtSeq:f}=$(l),{originalStart:p,originalEnd:m}=s(r,t),h;if(i.indices){h={};let e=i.indices[3];if(e&&u){let n=e[0],i=u.replace(/[.,;:]\s*$/,``).length;if(h.section=o(r.cleanStart,[n,n+i],t),d){let e=n+u.length;h.subsection=o(r.cleanStart,[e,e+d.length],t)}}}let g=.95;return d&&(g+=.05),g=Math.min(g,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:p,originalEnd:m},confidence:g,matchedText:n,processTimeMs:0,patternsChecked:1,code:`K.S.A.`,section:u,subsection:d,pincite:d,year:a,editionLabel:c?`Supp.`:void 0,jurisdiction:`KS`,hasEtSeq:f||void 0,spans:h}}const Vt=/^(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+MCA$/d;function Ht(e,t){let{text:n,span:r}=e,i=Vt.exec(n),a=i[1],{section:c,subsection:l,hasEtSeq:u}=$(a),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={};let e=i.indices[1];if(e&&c){let n=e[0],i=c.replace(/[.,;:]\s*$/,``).length;if(p.section=o(r.cleanStart,[n,n+i],t),l){let e=n+c.length;p.subsection=o(r.cleanStart,[e,e+l.length],t)}}}let m=.95;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`MCA`,section:c,subsection:l,pincite:l,jurisdiction:`MT`,hasEtSeq:u||void 0,spans:p}}const Ut=/^(AB|AG|BO|BR|CJ|CL|CP|CR|CS|EC|ED|EL|EN|ET|FI|FL|GP|HG|HO|HS|HU|IN|LE|LG|LU|NR|PS|PUC|R\.?P\.?|RP|SF|SG|TA|TG|TP|TR)\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)$/d;function Wt(e,t){let{text:n,span:r}=e,i=Ut.exec(n),a=i[1],c=i[2],{section:l,subsection:u,hasEtSeq:d}=$(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={},i.indices[1]&&(m.code=o(r.cleanStart,i.indices[1],t));let e=i.indices[2];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.95;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:a,section:l,subsection:u,pincite:u,jurisdiction:`MD`,hasEtSeq:d||void 0,spans:m}}const Gt=/^Minn\.?\s+(?:Stat|St)\.?\s+(19\d{2}),\s*§\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\)|\[[^\]]*\])*)$/d;function Kt(e,t){let{text:n,span:r}=e,i=Gt.exec(n),a=Number.parseInt(i[1],10),c=i[2],{section:l,subsection:u,hasEtSeq:d}=$(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={};let e=i.indices[2];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.95;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:`Minn. Stat.`,section:l,subsection:u,pincite:u,year:a,jurisdiction:`MN`,hasEtSeq:d||void 0,spans:m}}const qt=/^(N\.?\s*Y\.?|Cal(?:ifornia)?\.?|Tex(?:as)?\.?|Md\.?|Va\.?|Ala(?:bama)?\.?)\s+(.*?)\s*§§?\s*(.+)$/ds,Jt=/^(.*?)\s*(?:ch\.?|c\.?)\s*(\w+)(?:,?\s*(?:§§?|[Ss]ec\.?|[Ss]ection)\s*(.+))?$/d,Yt={"n.y.":`NY`,"n.y":`NY`,ny:`NY`,"cal.":`CA`,cal:`CA`,"california.":`CA`,california:`CA`,"tex.":`TX`,tex:`TX`,"texas.":`TX`,texas:`TX`,"md.":`MD`,md:`MD`,"va.":`VA`,va:`VA`,"ala.":`AL`,ala:`AL`,"alabama.":`AL`,alabama:`AL`};function Xt(e){return Yt[e.toLowerCase().replace(/\s+/g,``)]}function Zt(e){return e.replace(/^\s*Code\s+Ann\.\s*,\s*/i,``).replace(/^\s*Code\s*,\s*/i,``).replace(/\s+Code\s*$/i,``).replace(/\s+Ann\.?\s*$/i,``).replace(/,\s*$/,``).trim()}function Qt(t,n){let{text:r,span:i}=t,a,c,l,u=null,d=null;if(t.patternId===`mass-chapter`)u=Jt.exec(r),u?(a=`MA`,c=u[2],l=u[3]??``):(c=r,l=``);else if(d=qt.exec(r),d){a=Xt(d[1]);let t=d[2],n=Zt(t);c=a&&e.r(a,n)?n:t.trim(),l=d[3]}else c=r,l=``;let{section:f,subsection:p,hasEtSeq:m}=$(l),{originalStart:h,originalEnd:g}=s(i,n),_=f.replace(/[.,;:]\s*$/,``).length,v;if(u?.indices){if(v={},u.indices[2]&&(v.code=o(i.cleanStart,u.indices[2],n)),u.indices[3]&&f){let e=u.indices[3][0];if(v.section=o(i.cleanStart,[e,e+_],n),p){let t=e+f.length;v.subsection=o(i.cleanStart,[t,t+p.length],n)}}}else if(d?.indices&&(v={},d.indices[2]&&(v.code=o(i.cleanStart,d.indices[2],n)),d.indices[3]&&f)){let e=d.indices[3][0];if(v.section=o(i.cleanStart,[e,e+_],n),p){let t=e+f.length;v.subsection=o(i.cleanStart,[t,t+p.length],n)}}let y=a?.95:.5;return p&&(y+=.05),y=Math.min(y,1),{type:`statute`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:h,originalEnd:g},confidence:y,matchedText:r,processTimeMs:0,patternsChecked:1,code:c,section:f,subsection:p,pincite:p,jurisdiction:a,hasEtSeq:m||void 0,spans:v}}const $t=/^(?:§\s*|[Ss]ection\s+)(\d+[A-Z]?-\d+[A-Z]?-\d+[A-Z]?(?:\([A-Za-z0-9]+\))*)$/d;function en(e,t){let{text:n,span:r}=e,i=$t.exec(n),a=i[1],{section:c,subsection:l,hasEtSeq:u}=$(a),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={};let e=i.indices[1];if(e&&c){let n=e[0],i=c.replace(/[.,;:]\s*$/,``).length;if(p.section=o(r.cleanStart,[n,n+i],t),l){let e=n+c.length;p.subsection=o(r.cleanStart,[e,e+l.length],t)}}}let m=.9;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`NMSA 1978`,section:c,subsection:l,pincite:l,jurisdiction:`NM`,hasEtSeq:u||void 0,spans:p}}const tn=/^(Penal|Labor|Real Property|General Business|General Obligations|General Municipal|Municipal Home Rule|Criminal Procedure|Insurance|Executive|Judiciary|Civil Practice|Civil Rights|Education|Public Health|Banking|Domestic Relations|Environmental Conservation|Election|Social Services|Estates Powers and Trusts|Vehicle and Traffic|Surrogate's Court Procedure|Family Court|Court of Claims|Workers' Compensation|Highway|Tax|Personal Property)\s+Law\s+§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\)|\[[^\]]*\])*(?:\s+(?:\([^)]*\)|\[[^\]]*\]))*)$/d;function nn(e,t){let{text:n,span:r}=e,i=tn.exec(n),a=i[1],{section:c,subsection:l,hasEtSeq:u}=$(i[2].replace(/\s+/g,``)),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={},i.indices[1]&&(p.code=o(r.cleanStart,i.indices[1],t));let e=i.indices[2];if(e&&c){let n=e[0],i=c.replace(/[.,;:]\s*$/,``).length;if(p.section=o(r.cleanStart,[n,n+i],t),l){let e=n+c.length;p.subsection=o(r.cleanStart,[e,e+l.length],t)}}}let m=.9;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`${a} Law`,section:c,subsection:l,pincite:l,jurisdiction:`NY`,hasEtSeq:u||void 0,spans:p}}const rn=/^R\.?\s*C\.?\s+Chapter\s+(\d+)$/d;function an(e,t){let{text:n,span:r}=e,i=rn.exec(n),a=i[1],{originalStart:c,originalEnd:l}=s(r,t),u;return i.indices&&(u={},i.indices[1]&&(u.section=o(r.cleanStart,i.indices[1],t))),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:c,originalEnd:l},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,code:`R.C.`,section:a,jurisdiction:`OH`,spans:u}}const on=/^ORS\s+chapter\s+(\d+)$/d;function sn(e,t){let{text:n,span:r}=e,i=on.exec(n),a=i[1],{originalStart:c,originalEnd:l}=s(r,t),u;return i.indices&&(u={},i.indices[1]&&(u.section=o(r.cleanStart,i.indices[1],t))),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:c,originalEnd:l},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,code:`ORS`,section:a,jurisdiction:`OR`,spans:u}}const cn=/[Ss]ection\s+(\d+[A-Za-z0-9-]*)((?:\([^)]*\))*)\s+of\s+title\s+(\d+)/d;function ln(e,t){let{text:n,span:r}=e,i=cn.exec(n),a,c,l;i?(a=i[1],c=i[2]||void 0,l=Number.parseInt(i[3],10)):a=n;let{originalStart:u,originalEnd:d}=s(r,t),f;i?.indices&&(f={},i.indices[1]&&(f.section=o(r.cleanStart,i.indices[1],t)),i.indices[3]&&(f.title=o(r.cleanStart,i.indices[3],t)),i.indices[2]&&c&&(f.subsection=o(r.cleanStart,i.indices[2],t)));let p=.85;return l!==void 0&&(p+=.05),c&&(p+=.05),p=Math.min(p,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:u,originalEnd:d},confidence:p,matchedText:n,processTimeMs:0,patternsChecked:1,title:l,code:`U.S.C.`,section:a,subsection:c,pincite:c,jurisdiction:`US`,spans:f}}const un=/^RLH\s+(\d{4})\s+§\s+(\d+(?:[A-Za-z0-9:-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)$/d;function dn(e,t){let{text:n,span:r}=e,i=un.exec(n),a=Number.parseInt(i[1],10),c=i[2],{section:l,subsection:u,hasEtSeq:d}=$(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={};let e=i.indices[2];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.95;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:`RLH`,section:l,subsection:u,pincite:u,year:a,jurisdiction:`HI`,hasEtSeq:d||void 0,spans:m}}const fn=/^(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*),?\s+R\.?\s*R\.?\s*S\.?\s+1943(?:,\s+Reissue\s+(\d{4}))?$/d;function pn(e,t){let{text:n,span:r}=e,i=fn.exec(n),a=i[1],c=i[2]?Number.parseInt(i[2],10):void 0,{section:l,subsection:u,hasEtSeq:d}=$(a),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={};let e=i.indices[1];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.95;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:`R.R.S. 1943`,section:l,subsection:u,pincite:u,year:c,editionLabel:c===void 0?void 0:`Reissue`,jurisdiction:`NE`,hasEtSeq:d||void 0,spans:m}}const mn=/^G\.?\s*L\.?\s+1956\s*(?:\((\d{4})\s+Reenactment\))?\s*,?\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)$/d;function hn(e,t){let{text:n,span:r}=e,i=mn.exec(n),a=i[1]?Number.parseInt(i[1],10):void 0,c=i[2],{section:l,subsection:u,hasEtSeq:d}=$(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={};let e=i.indices[2];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.95;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:`G.L. 1956`,section:l,subsection:u,pincite:u,year:a,editionLabel:a===void 0?void 0:`Reenactment`,jurisdiction:`RI`,hasEtSeq:d||void 0,spans:m}}const gn=/^RSA\s+(?:\[chapter\]|chapter|ch\.?)\s+(\d+(?:-[A-Z])?)$/d;function _n(e,t){let{text:n,span:r}=e,i=gn.exec(n),a=i[1],{originalStart:c,originalEnd:l}=s(r,t),u;return i.indices&&(u={},i.indices[1]&&(u.section=o(r.cleanStart,i.indices[1],t))),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:c,originalEnd:l},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,code:`RSA`,section:a,jurisdiction:`NH`,spans:u}}const vn=/^[Cc]hapter\s+(\d+\.\d+)\s+RCW$/d;function yn(e,t){let{text:n,span:r}=e,i=vn.exec(n),a=i[1],{originalStart:c,originalEnd:l}=s(r,t),u;return i.indices&&(u={},i.indices[1]&&(u.section=o(r.cleanStart,i.indices[1],t))),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:c,originalEnd:l},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,code:`RCW`,section:a,jurisdiction:`WA`,spans:u}}function bn(e){let t=/^(\d+\.\d+\.\d+\.\d+(?:\([A-Z]\))?)\s+NMAC$/.exec(e);if(t||(t=/^NMAC\s+(\d+\.\d+\.\d+\.\d+(?:\([A-Z]\))?)$/.exec(e),t))return{code:`NMAC`,section:t[1],jurisdiction:`NM`};if(t=/^OAR\s+(\d+-\d+-\d+)$/.exec(e),t)return{code:`OAR`,section:t[1],jurisdiction:`OR`};if(t=/^COMAR\s+(\d+\.\d+\.\d+\.\d+[A-Z]?)$/.exec(e),t)return{code:`COMAR`,section:t[1],jurisdiction:`MD`};if(t=/^IDAPA\s+(\d+\.\d+\.\d+\.\d+\.\d+)$/.exec(e),t)return{code:`IDAPA`,section:t[1],jurisdiction:`ID`};if(t=/^(\d+\.\d+\.\d+(?:\(\d+\))?),\s+ARM$/.exec(e),t)return{code:`ARM`,section:t[1],jurisdiction:`MT`}}function xn(e,t){let{text:n,span:r}=e,i=bn(n),{originalStart:a,originalEnd:o}=s(r,t);return{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:a,originalEnd:o},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,code:i?.code??n,section:i?.section??``,jurisdiction:i?.jurisdiction,spans:{}}}const Sn=/^(?:[Ss]ections?|[Ss]ec\.?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+T\.?C\.?A\.?$/d;function Cn(e,t){let{text:n,span:r}=e,i=Sn.exec(n),a=i[1],{section:c,subsection:l,hasEtSeq:u}=$(a),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={};let e=i.indices[1];if(e&&c){let n=e[0],i=c.replace(/[.,;:]\s*$/,``).length;if(p.section=o(r.cleanStart,[n,n+i],t),l){let e=n+c.length;p.subsection=o(r.cleanStart,[e,e+l.length],t)}}}let m=.95;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`T.C.A.`,section:c,subsection:l,pincite:l,jurisdiction:`TN`,hasEtSeq:u||void 0,spans:p}}const wn=/^(Virginia\s+Code|Code)\s+§\s*((?:\d+\.\d+-\d+(?:\.\d+)?|\d+-\d+\.\d+)(?:\([A-Za-z0-9]+\))*)$/d;function Tn(e,t){let{text:n,span:r}=e,i=wn.exec(n),a=i[1].replace(/\s+/g,` `),c=i[2],{section:l,subsection:u,hasEtSeq:d}=$(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={},i.indices[1]&&(m.code=o(r.cleanStart,i.indices[1],t));let e=i.indices[2];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.9;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:a,section:l,subsection:u,pincite:u,jurisdiction:`VA`,hasEtSeq:d||void 0,spans:m}}const En=/^(?:§§?|[Ss]ections?|[Ss]ec\.?)\s*(\d+\.\d+(?:[A-Za-z0-9])?(?:\s*\([^)]*\))*[A-Za-z0-9]*(?:\s+et\s+seq\.?)?),?\s+(?:Stats\.|STATS\.)$/d;function Dn(e,t){let{text:n,span:r}=e,i=En.exec(n),a=i[1].match(/\s+et\s+seq\.?$/),c=(a?i[1].slice(0,-a[0].length):i[1]).replace(/\s+/g,``),{section:l,subsection:u,hasEtSeq:d}=$(a?`${c} et seq.`:c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={};let e=i.indices[1];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.95;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:`Wis. Stat.`,section:l,subsection:u,pincite:u,jurisdiction:`WI`,hasEtSeq:d||void 0,spans:m}}const On=/^Code,?(?:\s+(1931))?,\s+(\d+-\d+[A-Z]?-\d+(?:[A-Za-z0-9])?(?:\([A-Za-z0-9]+\))*)$/d;function kn(e,t){let{text:n,span:r}=e,i=On.exec(n),a=i[1]?Number.parseInt(i[1],10):void 0,c=i[2],{section:l,subsection:u,hasEtSeq:d}=$(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={};let e=i.indices[2];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.9;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:`W. Va. Code`,section:l,subsection:u,pincite:u,year:a,jurisdiction:`WV`,hasEtSeq:d||void 0,spans:m}}function An(e,t){let{text:n,span:r}=e,i=/^(?:(\d+)\s+)?([A-Za-z.\s]+?)\s*§+\s*(\d+[A-Za-z0-9-]*)/.exec(n);if(!i){let{originalStart:e,originalEnd:i}=s(r,t);return{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:e,originalEnd:i},confidence:.3,matchedText:n,processTimeMs:0,patternsChecked:1,code:n,section:``}}let a=i[1]?Number.parseInt(i[1],10):void 0,o=i[2].trim(),c=i[3],{originalStart:l,originalEnd:u}=s(r,t),d=.5;return[`U.S.C.`,`C.F.R.`,`Cal. Civ. Code`,`Cal. Penal Code`,`N.Y. Civ. Prac. L. & R.`,`Tex. Civ. Prac. & Rem. Code`].some(e=>o.includes(e))&&(d+=.3),d=Math.min(d,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:l,originalEnd:u},confidence:d,matchedText:n,processTimeMs:0,patternsChecked:1,title:a,code:o,section:c}}function jn(e,t){switch(e.patternId){case`usc`:case`cfr`:return Tt(e,t);case`prose`:return ln(e,t);case`abbreviated-code`:return lt(e,t);case`ca-bare-code`:return vt(e,t);case`named-code`:case`mass-chapter`:return Qt(e,t);case`chapter-act`:return bt(e,t);case`ill-rev-stat`:return It(e,t);case`ala-code-prefix`:case`ala-title-trailer`:case`ala-tit-bare`:return pt(e,t);case`colorado-prose`:return St(e,t);case`florida-postfix`:case`florida-prefix-spelled`:return Ot(e,t);case`ga-pre-1983`:return At(e,t);case`ic-year-edition`:return Mt(e,t);case`irc`:return Rt(e,t);case`idaho-postfix`:return Pt(e,t);case`ksa-year-edition`:return Bt(e,t);case`mca-postfix`:return Ht(e,t);case`md-article-letter`:return Wt(e,t);case`minn-st-year-edition`:return Kt(e,t);case`nm-bare-section`:return en(e,t);case`ny-bare-named-code`:return nn(e,t);case`oh-chapter`:return an(e,t);case`ors-chapter`:return sn(e,t);case`rlh`:return dn(e,t);case`rrs-1943`:return pn(e,t);case`rcw-chapter-postfix`:return yn(e,t);case`state-admin-code`:return xn(e,t);case`rigl-1956`:return hn(e,t);case`rsa-chapter`:return _n(e,t);case`tca-postfix`:return Cn(e,t);case`va-bare-code`:return Tn(e,t);case`wi-stats-postfix`:return Dn(e,t);case`wv-code-1931`:return kn(e,t);default:return An(e,t)}}function Mn(e,t){let{text:n,span:r}=e,i=/^(\d+(?:-\d+)?)\s+Stat\.\s+(\d+)/d.exec(n);if(!i)throw Error(`Failed to parse Statutes at Large citation: ${n}`);let a=i[1],c=/^\d+$/.test(a)?Number.parseInt(a,10):a,l=Number.parseInt(i[2],10),u;i.indices&&(u={volume:o(r.cleanStart,i.indices[1],t),page:o(r.cleanStart,i.indices[2],t)});let d=/\((?:.*?\s)?(\d{4})\)/.exec(n),f=d?Number.parseInt(d[1],10):void 0,{originalStart:p,originalEnd:m}=s(r,t);return{type:`statutesAtLarge`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:p,originalEnd:m},confidence:.9,matchedText:n,processTimeMs:0,patternsChecked:1,volume:c,page:l,year:f,spans:u}}const Nn=[{id:`federal-reporter`,regex:/\b(\d+(?:-\d+)?)\s+(F\.\s?Supp\.(?:\s?(?:\d+(?:st|nd|rd|th)|2d|3d))?|F\.\s?App'x|F\.(?:\d+(?:st|nd|rd|th)|2d|3d)?)\s+(\d+|_{3,}|-{3,})(?=\s|$|\(|,|;|\.)/g,description:`Federal Reporter (F., F.2d, F.3d, F.Nth, F.Supp., F.App'x, etc.)`,type:`case`},{id:`supreme-court`,regex:/\b(\d+(?:-\d+)?)\s+(U\.\s?S\.|S\.\s?Ct\.|L\.\s?Ed\.(?:\s?(?:\d+(?:st|nd|rd|th)|2d|3d))?)\s+(?:\(\d+\s+[A-Z][A-Za-z.]+\)\s+)?(\d+|_{3,}|-{3,})(?=\s|$|\(|,|;|\.)/g,description:`U.S. Supreme Court reporters (with optional nominative reporter parenthetical)`,type:`case`},{id:`state-reporter`,regex:/\b(\d+(?:-\d+)?)\s+([A-Z](?:(?! L\.[JQR\s])(?! R\.\s+\d)(?!\s+vs?\.\s)(?!\s+at\s)[A-Za-z.\d\s&'])+?)\s+(\d+|_{3,}|-{3,})(?=\s|$|\(|,|;|\.|\[|\])/g,description:`State reporters (broad pattern allowing multi-word reporters with & and ', excludes journal patterns with " L.J/Q/Rev", phantom matches across " v. "/" vs. ", CSM " at " short-form boundaries, and Illinois " R. N" rule-marker boundaries, validated against reporters-db in Phase 3)`,type:`case`}],Pn=[{id:`docket-paren-court-year`,regex:/\b(?:(?:C\.A\.|Civ\.|Civil(?:\s+Action)?|Case|Adv\.|Docket)\s+)?No\.\s+([A-Za-z\d]+(?::?[A-Za-z\d]+)?(?:[-\s][A-Za-z\d]+)*)\s+\(([^)]+\s(\d{4}))\)/g,description:`Docket-number citation: "Party v. Party, [C.A./Civ./Civil/Case/Adv./Docket] No. <docket> (<court> <year>)"`,type:`docket`}],Fn=[{id:`law-review`,regex:/\b(\d+(?:-\d+)?)\s+([A-Z](?:(?!\s+vs?\.\s)(?!\s+at\s+\d)[A-Za-z.\s])+)\s+(\d+)\b/g,description:`Law review citations (e.g., "120 Harv. L. Rev. 500"), validated against journals-db in Phase 3. Negative lookaheads exclude " v. "/" vs. " (so a party-name run isn't mis-captured as a journal) and " at <digit>" (so a short-form pincite like "554 U.S. at 621" isn't mis-captured as a journal).`,type:`journal`}],In=[{id:`state-vendor-neutral-hyphenated-ms`,regex:/\b(\d{4})-([A-Z]+)-(\d+)-([A-Z]+)\b/g,description:`Mississippi 4-segment vendor-neutral (e.g., "2010-CT-01234-SCT", "2015-CA-00567-COA")`,type:`neutral`},{id:`state-vendor-neutral-hyphenated`,regex:/\b(\d{4})-([A-Z][A-Za-z]+)-(\d+)\b/g,description:`Hyphenated vendor-neutral (e.g., "2010-NMSC-007", "2024-Ohio-764", "2020-NCSC-118")`,type:`neutral`},{id:`state-vendor-neutral`,regex:/\b(\d{4})\s+(IL\s+App\s+\(\d+(?:st|nd|rd|th|d)\)|OK\s+(?:CIV\s+APP|CR|AG)|[A-Z]{2}(?:\s+App\.?)?)\s+(\d+(?:-U)?)\b/g,description:`State vendor-neutral citations (e.g., "2007 UT 49", "2017 WI 17", "2013 IL 112116", "2011 IL App (1st) 101234", "2020 OK CIV APP 67", "2020 IL App (2d) 190123-U")`,type:`neutral`},{id:`westlaw`,regex:/\b(\d{4})\s+WL\s+(\d+)\b/g,description:`WestLaw citations (e.g., "2021 WL 123456")`,type:`neutral`},{id:`lexis`,regex:/\b(\d{4})\s+[A-Z][A-Za-z.\s]+?\s+LEXIS\s+(\d+)\b/g,description:`LexisNexis citations (federal: "2021 U.S. LEXIS 5000", "2021 U.S. App. LEXIS 12345"; state: "2020 Cal. LEXIS 1000", "2020 Tex. App. LEXIS 5000")`,type:`neutral`},{id:`public-law`,regex:/\bPub\.\s?L\.(?:\s?No\.)?\s?(\d+-\d+)\b/g,description:`Public Law citations (e.g., "Pub. L. No. 117-58" or "Pub. L. 116-283")`,type:`publicLaw`},{id:`federal-register`,regex:/\b(\d+(?:-\d+)?)\s+Fed\.\s?Reg\.\s+(\d+)\b/g,description:`Federal Register citations (e.g., "86 Fed. Reg. 12345")`,type:`federalRegister`},{id:`statutes-at-large`,regex:/\b(\d+(?:-\d+)?)\s+Stat\.\s+(\d+)\b/g,description:`Statutes at Large citations (e.g., "124 Stat. 119")`,type:`statutesAtLarge`},{id:`compact-law-review`,regex:/\b(\d+(?:-\d+)?)\s+([A-Z][A-Za-z.]+L\.(?:Rev|J|Q)\.)\s+(\d+)\b/g,description:`Compact law review citations without spaces (e.g., "93 Harv.L.Rev. 752")`,type:`journal`}],Ln=[{id:`id`,regex:/(?:^|(?<=\s)|(?<=["'(\[—]))\b[Ii]d(?:\s*\.|\s*,(?=\s+at\s))(?:(?:,\s+|,?\s+(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b)))(¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?|\*?\d+(?:\s*[-–]\s*\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?))?/g,description:`Id. citations (e.g., "Id." or "Id. at 253")`,type:`case`},{id:`ibid`,regex:/(?:^|(?<=\s)|(?<=["'(\[—]))\b[Ii]bid\s*\.(?:(?:,\s+|,?\s+(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b)))(¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?|\*?\d+(?:\s*[-–]\s*\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?))?/g,description:`Ibid. citations (e.g., "Ibid." or "Ibid. at 125")`,type:`case`},{id:`supra`,regex:/(?:\b([A-Z][a-zA-Z''\-]+\.?(?:(?:\s+v\.?\s+|\s+&\s+|,\s+|\s+)[A-Z][a-zA-Z''\-]+\.?)*)\s*,?\s+)?\[supra(?:(?:,\s+|\s+at\s+(?:pp?\.\s*)?)(\d+(?:[-–—]\d+)?))?\]/g,description:`Bracketed supra citations (e.g., "State v. Jarzbek, [supra, 705]" — Connecticut style; #306)`,type:`case`},{id:`supra`,regex:/\b([A-Z][a-zA-Z''\-]+\.?(?:(?:\s+v\.?\s+|\s+&\s+|,\s+|\s+)[A-Z][a-zA-Z''\-]+\.?)*)\s*,?\s+supra(?:\s+note\s+(\d+))?(?:(?:,\s+|,?\s+(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b)))(¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?|\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?))?/g,description:`Supra citations (e.g., "Smith, supra" or "Smith, supra, at 460")`,type:`case`},{id:`supra`,regex:/(?:^|(?<=\s)|(?<=[;.]))supra(?:\s+note\s+(\d+)(?:,?\s+(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b))(¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?|\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?))?|\s+(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b))(¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?|\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?)|\s+(?:§+|Part|p\.)\s*\S+)/g,description:`Standalone supra (e.g., "supra note 12" or "supra at 15")`,type:`case`},{id:`shortFormCase`,regex:/\b(?:([A-Z][a-zA-Z''\-]+\.?(?:(?:\s+v\.?\s+|\s+&\s+|,\s+|\s+)[A-Z][a-zA-Z''\-]+\.?)*),\s+)?(\d+(?:-\d+)?)\s+([A-Z][A-Za-z.''\s]+?(?:\d[a-z]{1,2})?)\s*,?\s+at\s+(?:pp?\.\s*|pages?\s+)?(\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?|¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?)\b/g,description:`Short-form case citations (e.g., "500 F.2d at 125")`,type:`case`}],Rn=[{id:`usc`,regex:/\b(\d+)\s+(?:U\.?S\.?C\.?A?\.?|USCA?|United\s+States\s+Code)\s*(?:§§?|[Ss]ections?|[Ss]ec\.?)?\s*(\d+[A-Za-z0-9-]*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`U.S. Code citations (U.S.C., USC, USCA, "United States Code") with optional §/Section connector — #428`,type:`statute`},{id:`cfr`,regex:/\b(\d+)\s+C\.?F\.?R\.?\s*(?:(?:Part|pt\.)\s+|§§?\s*|[Ss]ections?\s+|[Ss]ec\.?\s+)?(\d+(?:\.\d+)?[A-Za-z0-9-]*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Code of Federal Regulations with optional Part/§/Section connector — #428`,type:`statute`},{id:`irc`,regex:/\b(?:I\.R\.C\.|IRC)\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Internal Revenue Code: "I.R.C. § 1367", "IRC § 1341" — #376`,type:`statute`},{id:`rsa-chapter`,regex:/\bRSA\s+(?:\[chapter\]|chapter|ch\.?)\s+(\d+(?:-[A-Z])?)/g,description:`New Hampshire RSA chapter-only form: "RSA chapter 169-D" / "RSA ch. 458-C" — #378`,type:`statute`},{id:`oh-chapter`,regex:/\bR\.?\s*C\.?\s+Chapter\s+(\d+)/g,description:`Ohio Revised Code chapter-only form: "R.C. Chapter 4509" / "R. C. Chapter 1702" — #388`,type:`statute`},{id:`ors-chapter`,regex:/\bORS\s+chapter\s+(\d+)/g,description:`Oregon Revised Statutes chapter-only form: "ORS chapter 34" — #387`,type:`statute`},{id:`prose`,regex:/\b[Ss]ection\s+(\d+[A-Za-z0-9-]*(?:\([^)]*\))*)\s+of\s+title\s+(\d+)\b/g,description:`Prose-form federal citations (e.g., "section 1983 of title 42"). Note: MD-style "section X of the Y Article" deferred to PR 3.`,type:`statute`},{id:`named-code`,regex:/\b(N\.?\s*Y\.?|Cal(?:ifornia)?\.?|Tex(?:as)?\.?|Md\.?|(?<!W\.?\s?)Va\.?|Ala(?:bama)?\.?)\s+([A-Z][A-Za-z.&']*(?:(?:\s+|,\s+)(?:&|[A-Z][A-Za-z.&']*))*)\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Named-code state citations (NY, CA, TX, MD, VA, AL) with jurisdiction prefix + code name + §`,type:`statute`},{id:`ny-bare-named-code`,regex:/\b(Penal|Labor|Real Property|General Business|General Obligations|General Municipal|Municipal Home Rule|Criminal Procedure|Insurance|Executive|Judiciary|Civil Practice|Civil Rights|Education|Public Health|Banking|Domestic Relations|Environmental Conservation|Election|Social Services|Estates Powers and Trusts|Vehicle and Traffic|Surrogate's Court Procedure|Family Court|Court of Claims|Workers' Compensation|Highway|Tax|Personal Property)\s+Law\s+§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\)|\[[^\]]*\])*(?:\s+(?:\([^)]*\)|\[[^\]]*\]))*)/g,description:`New York bare named-code form: "Penal Law § 130.00 [3]", "Labor Law § 220 [3-a]" — #386`,type:`statute`},{id:`mass-chapter`,regex:/\b(Mass\.?\s*Gen\.?\s*Laws|General\s+Laws|M\.?G\.?L\.?A?\.?|A\.?L\.?M\.?|G\.?\s*L\.?)\s*(?:ch\.?|c\.?)\s*(\w+)(?:,?\s*(?:§§?|[Ss]ec\.?|[Ss]ection)\s*(\w+(?:[\w/-]|\.(?=\w))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?))?/g,description:`Massachusetts chapter-based citations (e.g., "Mass. Gen. Laws ch. 93A, § 2")`,type:`statute`},{id:`chapter-act`,regex:/\b(\d+)\s+(?:ILCS|Ill\.?\s*Comp\.?\s*Stat\.?)\s*(?:Ann\.?\s+)?(\d+)\/(\d+(?:[A-Za-z0-9:-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Illinois Compiled Statutes chapter-act citations (e.g., "735 ILCS 5/2-1001")`,type:`statute`},{id:`ill-rev-stat`,regex:/\bIll\.?\s*Rev\.?\s*Stat\.?,?\s+(\d{4}),?\s+[Cc]h\.\s+(\d+[A-Z]?),?\s+pars?\.\s+(\d+(?:[A-Za-z0-9:-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Illinois Revised Statutes (pre-1993): Ill. Rev. Stat. YYYY, ch. N, par. N`,type:`statute`},{id:`rlh`,regex:/\bRLH\s+(\d{4})\s+§\s+(\d+(?:[A-Za-z0-9:-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Revised Laws of Hawaii (pre-1955): "RLH 1935 § 2545" — #359`,type:`statute`},{id:`colorado-prose`,regex:/\b[Ss]ection\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*),?\s+Colo(?:rado)?\.?\s+Rev(?:ised)?\.?\s+Stat(?:utes)?\.?(?:\s+Ann(?:otated)?\.?)?(?:\s+(19\d{2}))?/g,description:`Pre-1973 Colorado prose form: "Section 148-21-34, Colorado Revised Statutes 1963" — #352`,type:`statute`},{id:`florida-postfix`,regex:/(?<![A-Za-z])(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+(?:Florida\s+Statutes|Fla\.\s*Stat\.)/g,description:`Florida postfix statute form: "section 812.035(7), Florida Statutes" / "§83.15, Florida Statutes" — #356`,type:`statute`},{id:`florida-prefix-spelled`,regex:/\bFlorida\s+Statutes?\s*§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?)/g,description:`Florida spelled-out prefix form: "Florida Statute 679.504(3)" / "Florida Statutes §73.071" — #356`,type:`statute`},{id:`idaho-postfix`,regex:/(?<![A-Za-z])(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+Idaho\s+Code(?:\s+Ann\.?)?/g,description:`Idaho postfix statute form: "Section 23-908(4), Idaho Code" — #360`,type:`statute`},{id:`mca-postfix`,regex:/(?<![A-Za-z])(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+MCA/g,description:`Montana Code Annotated postfix form: "§ 77-6-205(2), MCA" — #372`,type:`statute`},{id:`tca-postfix`,regex:/(?<![A-Za-z])(?:[Ss]ections?|[Ss]ec\.?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+T\.?C\.?A\.?/g,description:`Tennessee Code Annotated postfix form: "§ 39-904, T.C.A." — #398`,type:`statute`},{id:`rcw-chapter-postfix`,regex:/\b[Cc]hapter\s+(\d+\.\d+)\s+RCW/g,description:`Washington RCW chapter postfix form: "chapter 49.60 RCW" — #408`,type:`statute`},{id:`state-admin-code`,regex:/\b(?:(NMAC)\s+(\d+\.\d+\.\d+\.\d+(?:\([A-Z]\))?)|(?<=^|[^A-Za-z])(\d+\.\d+\.\d+\.\d+(?:\([A-Z]\))?)\s+(NMAC)|(OAR)\s+(\d+-\d+-\d+)|(COMAR)\s+(\d+\.\d+\.\d+\.\d+[A-Z]?)|(IDAPA)\s+(\d+\.\d+\.\d+\.\d+\.\d+)|(?<=^|[^A-Za-z])(\d+\.\d+\.\d+(?:\(\d+\))?),\s+(ARM)\b)/g,description:`State admin codes NMAC/OAR/COMAR/IDAPA/ARM — #438`,type:`statute`},{id:`wi-stats-postfix`,regex:/(?<![A-Za-z])(?:§§?|[Ss]ections?|[Ss]ec\.?)\s*(\d+\.\d+(?:[A-Za-z0-9])?(?:\s*\([^)]*\))*[A-Za-z0-9]*(?:\s+et\s+seq\.?)?),?\s+(?:Stats\.|STATS\.)/g,description:`Wisconsin Statutes postfix form: "§ 76.09, Stats." / "sec. 805.13(3), Stats." — #414`,type:`statute`},{id:`rrs-1943`,regex:/(?<![A-Za-z])(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*),?\s+R\.?\s*R\.?\s*S\.?\s+1943(?:,\s+Reissue\s+(\d{4}))?/g,description:`Nebraska Reissue Revised Statutes 1943: "§ 30-2806, R.R.S. 1943, Reissue 1975" — #373`,type:`statute`},{id:`rigl-1956`,regex:/\bG\.?\s*L\.?\s+1956\s*(?:\((\d{4})\s+Reenactment\))?\s*,?\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)/g,description:`Rhode Island General Laws 1956: "G.L. 1956 (1969 Reenactment) §11-23-1" — #393`,type:`statute`},{id:`md-article-letter`,regex:/\b(AB|AG|BO|BR|CJ|CL|CP|CR|CS|EC|ED|EL|EN|ET|FI|FL|GP|HG|HO|HS|HU|IN|LE|LG|LU|NR|PS|PUC|R\.?P\.?|RP|SF|SG|TA|TG|TP|TR)\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Maryland article-letter codes: "HG § 19-906", "CP § 10-105", "R.P. § 8-211" — #368`,type:`statute`},{id:`minn-st-year-edition`,regex:/\bMinn\.?\s+(?:Stat|St)\.?\s+(19\d{2}),\s*§\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\)|\[[^\]]*\])*)/g,description:`Minnesota Statutes year-edition form: "Minn. St. 1971, § 176.66" — #371`,type:`statute`},{id:`ksa-year-edition`,regex:/\bK\.?\s*S\.?\s*A\.?\s+(\d{4})(?:\s+(Supp\.?))?\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9])|,(?=\d))*(?:\([^)]*\))*)/g,description:`Kansas Statutes Annotated year-edition: "K.S.A. 2009 Supp. 44-501(d)(2)" — #367`,type:`statute`},{id:`ic-year-edition`,regex:/\bIC\s+(\d{4}),\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)/g,description:`Indiana Code year-edition form: "IC 1971, 35-13-4-4" — #363`,type:`statute`},{id:`abbreviated-code`,regex:e.a(),description:`Abbreviated state code citations for all US jurisdictions`,type:`statute`},{id:`wv-code-1931`,regex:/\bCode,?(?:\s+(1931))?,\s+(\d+-\d+[A-Z]?-\d+(?:[A-Za-z0-9])?(?:\([A-Za-z0-9]+\))*)/g,description:`West Virginia historical Code 1931: "Code 1931, 49-6-3, as amended" / "Code, 14-2-13" — #406`,type:`statute`},{id:`ga-pre-1983`,regex:/\b(Code(?:\s+Ann\.?)?)\s+§\s*(\d+-\d+(?![\d-])(?!\.\d)(?:[A-Za-z0-9])?(?:\([A-Za-z0-9]+\))*)/g,description:`Georgia pre-1983 Code: "Code Ann. § 26-2101" / "Code § 27-2501" — #358 (#405 tightened)`,type:`statute`},{id:`va-bare-code`,regex:/\b(Virginia\s+Code|Code)\s+§\s*((?:\d+\.\d+-\d+(?:\.\d+)?|\d+-\d+\.\d+)(?:\([A-Za-z0-9]+\))*)/g,description:`Virginia bare Code form: "Code § 18.2-308.2" / "Virginia Code § 8.01-581.17" — #405`,type:`statute`},{id:`nm-bare-section`,regex:/(?<![A-Za-z])(?:§\s*|[Ss]ection\s+)(\d+[A-Z]?-\d+[A-Z]?-\d+[A-Z]?(?:\([A-Za-z0-9]+\))*)/g,description:`New Mexico bare-section form: "Section 32A-2-7(A)" / "§ 41-2-2" — #382`,type:`statute`},{id:`ca-bare-code`,regex:ht(),description:'California bare-code citations (#296) — `Pen. Code § 148`, `Code Civ. Proc., § 1021.5`, `Bus. & Prof. Code § 17200` (no "Cal." prefix; common in single-jurisdiction California practice).',type:`statute`},{id:`ala-code-prefix`,regex:/\bCode(?:\s+of\s+Alabama)?,?\s+1940,?\s+T(?:itle|it)?\.\s+(\d+),?\s+§\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)/g,description:`Alabama Code 1940 (Code-prefix form, pre-1975): "Code 1940, T. 15, § 389" / "Code of Alabama 1940, T. NN, § NNN" — #343`,type:`statute`},{id:`ala-title-trailer`,regex:/\bTitle\s+(\d+),?\s+(?:§|Sec(?:tion)?s?\.?)\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*),?\s+Code(?:\s+of\s+Alabama)?,?\s+(\d{4})(?:,?\s+(?:as\s+)?[Rr]ecompiled\s+(\d{4}))?/g,description:`Alabama Code (Title-first with Code trailer): "Title 26, Section 214, Code of Alabama 1940, as Recompiled 1958" — #343`,type:`statute`},{id:`ala-tit-bare`,regex:/\bTit\.\s+(\d+),?\s+§\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)(?:,?\s+Code(?:\s+of\s+Alabama)?,?\s+(\d{4})(?:,?\s+(?:as\s+)?[Rr]ecompiled\s+(\d{4}))?)?/g,description:'Alabama Code (abbreviated `Tit.` form): "Tit. 52, § 361" — #343',type:`statute`}];function zn(e,t=[...Nn,...Rn,...Fn,...In,...Ln]){let n=[];for(let r of t)try{let t=e.matchAll(r.regex);for(let e of t)n.push({text:e[0],span:{cleanStart:e.index,cleanEnd:e.index+e[0].length},type:r.type,patternId:r.id})}catch(e){console.warn(`Pattern ${r.id} threw error, skipping:`,e instanceof Error?e.message:String(e))}return n.sort((e,t)=>e.span.cleanStart-t.span.cleanStart),n}var Bn=class{root=null;nextOrder=0;distanceFn;constructor(e){this.distanceFn=e}insert(e){let t={key:e,insertionOrder:this.nextOrder++,children:new Map};if(this.root===null){this.root=t;return}let n=this.root;for(;;){let r=this.distanceFn(e,n.key);if(r===0)return;let i=n.children.get(r);if(i)n=i;else{n.children.set(r,t);return}}}query(e,t){if(this.root===null)return[];let n=[],r=[this.root],i;for(;i=r.pop();){let a=this.distanceFn(e,i.key);a<=t&&n.push({key:i.key,distance:a,insertionOrder:i.insertionOrder});let o=a-t,s=a+t;for(let[e,t]of i.children)e>=o&&e<=s&&r.push(t)}return n.sort((e,t)=>e.distance-t.distance||e.insertionOrder-t.insertionOrder),n}};function Vn(e,t,n=1/0){if(e.length===0)return Math.min(t.length,n+1);if(t.length===0)return Math.min(e.length,n+1);let r=e.length<=t.length?e:t,i=e.length<=t.length?t:e,a=r.length,o=Array.from({length:a+1},(e,t)=>t),s=Array(a+1);for(let e=1;e<=i.length;e++){s[0]=e;let t=e;for(let n=1;n<=a;n++)i[e-1]===r[n-1]?s[n]=o[n-1]:s[n]=1+Math.min(o[n],s[n-1],o[n-1]),s[n]<t&&(t=s[n]);if(t>n)return n+1;let c=o;o=s,s=c}return o[a]}function Hn(e,t){let n=0,r=e.length;for(;n<r;){let i=n+r>>>1;e[i]<=t?n=i+1:r=i}return n}function Un(e,t,n=/\n\n+/g){let r=new Map,i=[0],a;for(;(a=n.exec(e))!==null;)i.push(a.index+a[0].length);i.push(e.length);for(let e=0;e<t.length;e++){let n=t[e].span.originalStart;r.set(e,Hn(i,n)-1)}return r}function Wn(e,t){let n=new Map;for(let r=0;r<e.length;r++){let i=e[r].span.cleanStart,a=0,o=0,s=t.length-1;for(;o<=s;){let e=o+s>>>1,n=t[e];if(i<n.start)s=e-1;else if(i>=n.end)o=e+1;else{a=n.footnoteNumber;break}}n.set(r,a)}return n}function Gn(e,t,n,r,i=!1){if(r===`none`)return!0;let a=n.get(e),o=n.get(t);return!!(a===void 0||o===void 0||a===o||r===`footnote`&&i&&a===0)}function Kn(e){if(e.type===`case`||e.type===`docket`)return e.fullSpan}var qn=class{citations;text;options;context;partyNameTree;constructor(e,t,n={}){this.citations=e,this.text=t,this.options={scopeStrategy:n.scopeStrategy??`none`,autoDetectParagraphs:n.autoDetectParagraphs??!0,paragraphBoundaryPattern:n.paragraphBoundaryPattern??/\n\n+/g,fuzzyPartyMatching:n.fuzzyPartyMatching??!0,partyMatchThreshold:n.partyMatchThreshold??.8,reportUnresolved:n.reportUnresolved??!0,footnoteMap:n.footnoteMap},this.partyNameTree=new Bn(Vn),this.context={citationIndex:0,allCitations:e,lastResolvedIndex:void 0,fullCitationHistory:new Map,paragraphMap:new Map},this.options.autoDetectParagraphs&&(this.context.paragraphMap=Un(t,e,this.options.paragraphBoundaryPattern)),this.options.scopeStrategy===`footnote`&&this.options.footnoteMap&&(this.context.paragraphMap=Wn(e,this.options.footnoteMap))}resolve(){let e=[],n=this.computeParenDepths();for(let r=0;r<this.citations.length;r++){this.context.citationIndex=r;let i=this.citations[r],a;switch(i.type){case`id`:a=this.resolveId(i);break;case`supra`:a=this.resolveSupra(i);break;case`shortFormCase`:a=this.resolveShortFormCase(i);break;default:t(i)&&(n[r]>0||e.some(e=>{let t=Kn(e);return t?t.cleanStart<=i.span.cleanStart&&t.cleanEnd>=i.span.cleanEnd:!1})||(this.context.lastResolvedIndex=r),this.trackFullCitation(i,r));break}a?.resolvedTo!==void 0&&(this.context.lastResolvedIndex=a.resolvedTo);let o=i;if(i.type===`id`&&a?.resolvedTo!==void 0){let e=this.citations[a.resolvedTo];if(e){let t={...i};t.pincite===void 0&&`pincite`in e&&typeof e.pincite==`number`&&(t.pincite=e.pincite,`pinciteInfo`in e&&e.pinciteInfo&&(t.pinciteInfo=e.pinciteInfo)),e.type===`case`&&(e.caseName&&(t.caseName=e.caseName),e.plaintiff&&(t.plaintiff=e.plaintiff),e.defendant&&(t.defendant=e.defendant),e.plaintiffNormalized&&(t.plaintiffNormalized=e.plaintiffNormalized),e.defendantNormalized&&(t.defendantNormalized=e.defendantNormalized),e.proceduralPrefix&&(t.proceduralPrefix=e.proceduralPrefix)),o=t}}e.push({...o,resolution:a})}return e}computeParenDepths(){let e=Array(this.citations.length).fill(0);if(this.citations.length===0)return e;let t=0,n=0;for(let r=0;r<this.citations.length;r++){let i=this.citations[r].span.cleanStart;for(;n<i&&n<this.text.length;){let e=this.text[n];e===`(`?t++:e===`)`&&t>0&&t--,n++}e[r]=t}return e}resolveId(e){let t=this.context.citationIndex,n=this.context.lastResolvedIndex;return n===void 0?this.createFailureResult(`No preceding citation found`):this.isWithinScope(n,t)?{resolvedTo:n,confidence:1}:this.createFailureResult(`Antecedent citation outside scope boundary`)}resolveSupra(e){if(!e.partyName)return;let t=this.context.citationIndex,n=this.normalizePartyName(e.partyName),r=n.length,i=this.options.partyMatchThreshold,a=r===0?0:Math.ceil(r*(1-i)/i),o=this.partyNameTree.query(n,a);o.sort((e,t)=>e.insertionOrder-t.insertionOrder);let s;for(let e of o){let n=this.context.fullCitationHistory.get(e.key);if(n===void 0||!this.isWithinScope(n,t,!0))continue;let i=Math.max(r,e.key.length),a=i===0?1:1-e.distance/i;(!s||a>s.similarity)&&(s={index:n,similarity:a})}if(!s)return this.createFailureResult(`No full citation found in scope`);if(s.similarity<this.options.partyMatchThreshold)return this.createFailureResult(`Party name similarity ${s.similarity.toFixed(2)} below threshold ${this.options.partyMatchThreshold}`);let c=[];return s.similarity<1&&c.push(`Fuzzy match: similarity ${s.similarity.toFixed(2)}`),{resolvedTo:s.index,confidence:s.similarity,warnings:c.length>0?c:void 0}}resolveShortFormCase(e){let t=this.context.citationIndex,n=this.normalizeReporter(e.reporter),r=e.partyNameNormalized,i=[];for(let r=t-1;r>=0;r--){let a=this.citations[r];a.type===`case`&&a.volume===e.volume&&this.normalizeReporter(a.reporter)===n&&this.isWithinScope(r,t,!0)&&i.push(r)}if(i.length===0)return this.createFailureResult(`No matching full case citation found`);if(r){let e=i.find(e=>{let t=this.citations[e];if(t.type!==`case`)return!1;let n=t.plaintiffNormalized,i=t.defendantNormalized,a=e=>e!==void 0&&(e===r||e.includes(r)||r.includes(e));return a(n)||a(i)});if(e!==void 0)return{resolvedTo:e,confidence:.98}}return{resolvedTo:i[0],confidence:.95}}trackFullCitation(e,t){if(e.type===`case`&&(e.defendantNormalized&&(this.context.fullCitationHistory.set(e.defendantNormalized,t),this.partyNameTree.insert(e.defendantNormalized)),e.plaintiffNormalized&&(this.context.fullCitationHistory.set(e.plaintiffNormalized,t),this.partyNameTree.insert(e.plaintiffNormalized)),!e.plaintiffNormalized&&!e.defendantNormalized)){let n=this.extractPartyName(e);if(n){let e=this.normalizePartyName(n);this.context.fullCitationHistory.set(e,t),this.partyNameTree.insert(e)}}}extractPartyName(e){let t=e.span.originalStart,n=Math.max(0,t-100),r=this.text.substring(n,t),i=r.match(/([A-Z][a-zA-Z]*(?:\s+[A-Z][a-zA-Z]*)*)\s+v\.?\s+[A-Z][a-zA-Z]*(?:\s+[A-Z][a-zA-Z]*)*,\s*$/);if(i)return this.stripSignalWords(i[1].trim());let a=r.match(/([A-Z][a-zA-Z]*(?:\s+[A-Z][a-zA-Z]*)*),\s*$/);if(a)return this.stripSignalWords(a[1].trim())}stripSignalWords(e){let t=e.replace(/^(?:In(?!\s+re\b)|See(?:\s+[Aa]lso)?|Compare|But(?:\s+[Ss]ee)?|Cf\.?|Also)\s+/i,``).trim();return t.length>0?t:e}normalizePartyName(e){return e.toLowerCase().replace(/\s+/g,` `).trim()}normalizeReporter(e){return e.toLowerCase().replace(/\s+/g,``).replace(/\./g,``)}isWithinScope(e,t,n=!1){return Gn(e,t,this.context.paragraphMap,this.options.scopeStrategy,n)}createFailureResult(e){if(this.options.reportUnresolved)return{resolvedTo:void 0,failureReason:e,confidence:0}}};function Jn(e,t,n){return new qn(e,t,n).resolve()}function Yn(e,t=``){let n=new Map;if(e.length===0||t===``)return n;let r=new Set;for(let i=0;i<e.length;i++){let a=e[i];if(a.type!==`case`||r.has(i))continue;let o=[];for(let n=i+1;n<e.length;n++){let s=e[n];if(s.type!==`case`)break;let c=(n===i+1?a:e[n-1]).span.cleanEnd,l=s.span.cleanStart;if(l-c>20)break;let u=t.substring(c,l);if(u.includes(`[`)&&t[s.span.cleanEnd]===`]`){o.push(n),r.add(n);break}if(!u.includes(`,`))break;let d=u.indexOf(`,`);if(u.length-d-1>5||t.substring(a.span.cleanEnd,s.span.cleanEnd).includes(`)`)||!Xn(t,s.span.cleanEnd))break;o.push(n),r.add(n)}o.length>0&&n.set(i,o)}return n}function Xn(e,t){let n=e.substring(t,t+200),r=n.indexOf(`(`);if(r===-1)return!1;let i=0;for(let e=r;e<n.length;e++)if(n[e]===`(`)i++;else if(n[e]===`)`&&(i--,i===0))return!0;return!1}const Zn=Qn();function Qn(){return[{regex:/^but\s+cf\.,\s+e\.g\.,?(?=\s|$)/i,signal:`but cf., e.g.`},{regex:/^see\s+also,\s+e\.g\.,?(?=\s|$)/i,signal:`see also, e.g.`},{regex:/^but\s+see,\s+e\.g\.,?(?=\s|$)/i,signal:`but see, e.g.`},{regex:/^cf\.,\s+e\.g\.,?(?=\s|$)/i,signal:`cf., e.g.`},{regex:/^see,\s+e\.g\.,?(?=\s|$)/i,signal:`see, e.g.`},{regex:/^see\s+generally\b/i,signal:`see generally`},{regex:/^see\s+also\b/i,signal:`see also`},{regex:/^but\s+see\b/i,signal:`but see`},{regex:/^but\s+cf\.?(?=\s|$)/i,signal:`but cf`},{regex:/^compare\b/i,signal:`compare`},{regex:/^accord\b/i,signal:`accord`},{regex:/^contra\b/i,signal:`contra`},{regex:/^see\b/i,signal:`see`},{regex:/^cf\.?(?=\s|$)/i,signal:`cf`},{regex:/^e\.g\.,?(?=\s|$)/i,signal:`e.g.`}].map(({regex:e,signal:t})=>({regex:e,endRegex:RegExp(`${e.source.replace(/^\^/,`(?<![a-z])`)}\\s*$`,e.flags),signal:t}))}function $n(e){let t=`fullSpan`in e?e.fullSpan:void 0;return t?t.cleanEnd:e.span.cleanEnd}function er(e){let t=`fullSpan`in e?e.fullSpan:void 0;return t?t.cleanStart:e.span.cleanStart}function tr(e,t){e.signal=t}function nr(e){let t=e.trimStart();for(let{regex:e,signal:n}of Zn){let r=e.exec(t);if(r)return{signal:n,length:r[0].length}}}function rr(e){let t=e.indexOf(`;`);if(t===-1||e.substring(0,t).trim()!==``)return{valid:!1};let n=e.substring(t+1).trim();if(n===``)return{valid:!0};let r=nr(n);return r&&n.substring(r.length).trim()===``?{valid:!0,signal:r.signal}:{valid:!1}}function ir(e,t){if(e.length<2)return;let n=[],r=[];for(let i=0;i<e.length-1;i++){let a=e[i],o=e[i+1];if(o.type===`case`&&o.subsequentHistoryOf){r.length>=2&&n.push(r),r=[];continue}if(a.type===`case`&&a.subsequentHistoryOf)continue;let s=$n(a),c=er(o);if(c<=s){r.length>=2&&n.push(r),r=[];continue}let l=rr(t.substring(s,c));l.valid?(r.length===0&&r.push(i),r.push(i+1),l.signal&&!o.signal&&tr(o,l.signal)):(r.length>=2&&n.push(r),r=[])}r.length>=2&&n.push(r);for(let t=0;t<n.length;t++){let r=n[t];if(r.length<2)continue;let i=`sc-${t}`;for(let t=0;t<r.length;t++){let n=e[r[t]];n.stringCitationGroupId=i,n.stringCitationIndex=t,n.stringCitationGroupSize=r.length}}for(let r of n){if(r.length<2)continue;let n=e[r[0]];if(n.signal)continue;let i=Math.max(0,er(n)-60),a=t.substring(i,er(n)).trim();for(let{endRegex:e,signal:t}of Zn)if(e.test(a)){tr(n,t);break}}}function ar(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(r.signal&&r.stringCitationGroupId)continue;let i=n>0?$n(e[n-1]):0,a=r.span.cleanStart;if(a<=i)continue;let o=t.substring(i,a),s=[];for(let{signal:e}of Zn){let t=e.replace(/\./g,`\\.`).replace(/\s+/g,`\\s+`),n=RegExp(`(?<![a-zA-Z])(${t})(?![a-zA-Z])`,`gi`),r;for(;(r=n.exec(o))!==null;)s.push({signal:e,start:r.index,end:r.index+r[0].length})}if(s.length===0)continue;s.sort((e,t)=>{let n=t.end-e.end;return n===0?t.end-t.start-(e.end-e.start):n});let c=s[0];for(let e of s)e.start<=c.start&&e.end>=c.end&&(c=e);let l=o.substring(c.end).replace(/^[\s,]+/,``);if(l.length>0){let e=l[0];if(e>=`a`&&e<=`z`)continue}o.length-c.end>80||tr(r,c.signal)}}const or=1750,sr=.1,cr=new Set([`i.c.j.`,`u.n.t.s.`,`i.l.m.`,`i.l.r.`,`p.c.i.j.`,`a.c.`,`w.l.r.`,`all e.r.`,`q.b.`,`k.b.`,`ch.`,`co. rep.`,`e.c.r.`,`e.h.r.r.`,`c.m.l.r.`,`edw.`,`usc`,`usca`,`u.s.c.`,`u.s.c.a.`,`cfr`,`c.f.r.`]);function lr(e){if(e.type===`case`||e.type===`shortFormCase`)return e.reporter;if(e.type===`journal`)return e.abbreviation}function ur(e){switch(e.type){case`case`:return e.year;case`journal`:return e.year;case`federalRegister`:return e.year;case`statutesAtLarge`:return e.year;default:return}}const dr=new Set([`court`,`rule`,`section`,`chapter`,`article`,`part`,`title`,`paragraph`,`clause`,`amendment`,`dismissed`,`granted`,`denied`,`filed`,`argued`]),fr=new Set([`january`,`february`,`march`,`april`,`may`,`june`,`july`,`august`,`september`,`october`,`november`,`december`]),pr=new Date().getFullYear()+5;function mr(e){if(e.type!==`case`&&e.type!==`shortFormCase`)return!1;let t=e;if(!t.reporter||!fr.has(t.reporter.toLowerCase().trim()))return!1;let n=typeof t.volume==`number`?t.volume:Number.parseInt(String(t.volume),10);if(Number.isNaN(n)||n<1||n>31)return!1;let r=typeof t.page==`number`?t.page:Number.parseInt(String(t.page),10);return Number.isNaN(r)?!1:r>=1700&&r<=pr}function hr(e){return!!(e.toLowerCase().split(/\s+/).some(e=>dr.has(e))||!e.includes(`.`)&&e.length>12)}const gr=new Set(`the.a.an.in.on.at.but.and.for.by.to.with.from.as.if.so.nor.yet.not.no.then.when.where.who.what.how.that.this.these.those.he.she.it.they.we.his.her.its.their.our.was.were.is.are.has.had.been.being.did.does.do.may.shall.will.would.could.should.held.said.found.made.took.gave.see.also.january.february.march.april.june.july.august.september.october.november.december`.split(`.`)),_r=2e3,vr=/^\d{1,2}-\d{4,}$/;function yr(e){if(e.type!==`case`&&e.type!==`shortFormCase`)return!1;let t=e;return typeof t.volume==`number`?t.volume>_r:!1}function br(e){if(e.type!==`case`&&e.type!==`shortFormCase`)return!1;let t=e,n=String(t.volume);return vr.test(n)}function xr(t){if(t.type!==`case`&&t.type!==`shortFormCase`)return!1;let n=t,r=typeof n.volume==`number`?n.volume:Number.parseInt(String(n.volume),10);if(Number.isNaN(r)||r<1||r>20)return!1;let i=n.reporter;if(!i)return!1;let a=e.s();return a?(a.byAbbreviation.get(i.toLowerCase())??[]).length===0:i.includes(`.`)?!1:i.toLowerCase().split(/\s+/).some(e=>gr.has(e))}function Sr(e){let t=lr(e);if(t&&cr.has(t.toLowerCase().trim())||t&&(e.type===`case`||e.type===`shortFormCase`)&&hr(t)||yr(e)||br(e)||xr(e))return!0;let n=ur(e);return n!==void 0&&n<or}function Cr(e){let t=[],n=lr(e);if(n){let r=n.toLowerCase().trim();cr.has(r)&&t.push(`Reporter "${n}" is a known non-US source`),(e.type===`case`||e.type===`shortFormCase`)&&hr(n)&&t.push(`Reporter "${n}" contains prose words or is implausibly long`)}if(yr(e)){let n=e;t.push(`Volume ${n.volume} exceeds maximum plausible volume (${_r}) — likely a zip code or other number`)}if(br(e)){let n=e;t.push(`Hyphenated volume "${n.volume}" matches docket number pattern — likely a case number, not a citation volume`)}if(xr(e)){let n=e;t.push(`Small volume (${n.volume}) with unrecognized reporter "${n.reporter}" — likely a paragraph or footnote marker`)}let r=ur(e);return r!==void 0&&r<or&&t.push(`Year ${r} predates US legal reporting (threshold: ${or})`),t}function wr(e,t){let n=e.filter(e=>!mr(e));if(t)return n.filter(e=>!Sr(e));for(let e of n){if(e.confidence===sr&&e.warnings?.length)continue;let t=Cr(e);if(t.length>0){e.confidence=sr;let n=t.map(t=>({level:`warning`,message:t,position:{start:e.span.originalStart,end:e.span.originalEnd}}));e.warnings=[...e.warnings||[],...n]}}return n}const Tr=/^(\S+)\s+(.+)\s+(\d+)$/;function Er(e,t){let n=performance.now(),{cleaned:r,transformationMap:i,warnings:a}=y(e,t?.cleaners),o;if(t?.detectFootnotes){let t=O(e);t.length>0&&(o=A(t,i))}let s=Rn.filter(e=>e.id===`usc`||e.id===`cfr`||e.id===`irc`),c=Rn.filter(e=>e.id!==`usc`&&e.id!==`cfr`&&e.id!==`irc`),l=t?.patterns||[...In,...Pn,...Ln,...s,...Nn,...Le,...c,...Fn],u=zn(r,l),d=new Map;for(let e=0;e<l.length;e++){let t=l[e].id;d.has(t)||d.set(t,e)}let f=e=>d.get(e.patternId)??1/0,p=[...u].sort((e,t)=>e.span.cleanStart-t.span.cleanStart||t.span.cleanEnd-e.span.cleanEnd||f(e)-f(t)),m=[];for(let e of p){let t=!1;for(let n of m)if(n.span.cleanStart<=e.span.cleanStart&&n.span.cleanEnd>=e.span.cleanEnd&&!(f(n)>f(e))&&(n.span.cleanStart<e.span.cleanStart||n.span.cleanEnd>e.span.cleanEnd||f(n)<f(e))){t=!0;break}t||m.push(e)}let h=Yn(m,r),g=new Map;for(let[e,t]of h.entries())for(let n of t)g.set(n,e);let _=m.filter(e=>e.type===`case`).map(e=>({cleanStart:e.span.cleanStart,cleanEnd:e.span.cleanEnd})),v=[];for(let t=0;t<m.length;t++){let o=m[t],s;switch(o.type){case`case`:s=o.patternId===`id`||o.patternId===`ibid`?rt(o,i,r):o.patternId===`supra`?it(o,i,r):o.patternId===`shortFormCase`?at(o,i,r):Fe(o,i,r,e,_);break;case`docket`:{let t=Ge(o,i,r,e);if(!t)continue;s=t;break}case`statute`:s=jn(o,i);break;case`journal`:s=qe(o,i,r);break;case`neutral`:s=Ze(o,i,r);break;case`publicLaw`:s=Qe(o,i);break;case`federalRegister`:s=Ke(o,i);break;case`statutesAtLarge`:s=Mn(o,i);break;case`constitutional`:s=We(o,i);break;default:continue}if(a.length>0&&(s.warnings=[...s.warnings||[],...a]),s.processTimeMs=performance.now()-n,s.type===`case`){let e=h.has(t),n=g.has(t);if(e||n){let r=m[n?g.get(t)??t:t],i=Tr.exec(r.text);if(i){let[,n,r,a]=i;if(s.groupId=`${n}-${r.replace(/\s+/g,`.`)}-${a}`,e){let e=h.get(t)??[];s.parallelCitations=e.map(e=>{let t=m[e],n=Tr.exec(t.text);if(n){let[,e,t,r]=n;return{volume:/^\d+$/.test(e)?Number.parseInt(e,10):e,reporter:t,page:Number.parseInt(r,10)}}return{volume:0,reporter:``,page:0}})}}}}v.push(s)}Ir(v,r,i),Or(v),kr(v),zr(v),Mr(v,r),Pr(v,r),Lr(v,r,i),ir(v,r),ar(v,r);let b=wr(v,t?.filterFalsePositives??!1);return o&&j(b,o),t?.resolve?Jn(b,e,o?{...t.resolutionOptions,footnoteMap:o}:t.resolutionOptions):b}async function Dr(e,t){return Er(e,t)}function Or(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.type!==`case`||!r.subsequentHistoryEntries)continue;let i=r.subsequentHistoryEntries,a=0;for(let r=n+1;r<e.length&&a<i.length;r++){let o=e[r];if(o.type!==`case`)continue;let s=i[a].signalSpan.cleanEnd;o.span.cleanStart>=s&&(t.push({parentIdx:n,childIdx:r,signal:i[a].signal}),a++)}}if(t.length===0)return;let n=new x(e.length);for(let e of t)n.union(e.parentIdx,e.childIdx);let r=new Map;for(let e of t)r.set(e.childIdx,e.signal);for(let[t,i]of n.components()){if(i.length===1)continue;let n=e[t];if(n.type!==`case`)continue;let a=[...n.subsequentHistoryEntries??[]];for(let n of i){if(n===t)continue;let i=e[n];if(i.type!==`case`)continue;let o=r.get(n);if(o&&(i.subsequentHistoryOf={index:t,signal:o},i.subsequentHistoryEntries)){for(let e of i.subsequentHistoryEntries)a.push({...e,order:a.length});i.subsequentHistoryEntries=void 0}}n.subsequentHistoryEntries=a}}function kr(e){for(let t of e){if(t.type!==`case`||!t.subsequentHistoryOf)continue;let n=e[t.subsequentHistoryOf.index];!n||n.type!==`case`||n.caseName&&(t.caseName=n.caseName,t.plaintiff=n.plaintiff,t.defendant=n.defendant,t.plaintiffNormalized=n.plaintiffNormalized,t.defendantNormalized=n.defendantNormalized,t.proceduralPrefix=n.proceduralPrefix,t.spans&&(t.spans.caseName=void 0,t.spans.plaintiff=void 0,t.spans.defendant=void 0),t.fullSpan&&={cleanStart:t.span.cleanStart,cleanEnd:t.fullSpan.cleanEnd,originalStart:t.span.originalStart,originalEnd:t.fullSpan.originalEnd})}}const Ar=/^\s*(?:,\s*(?:at\s+)?\d+(?:-\d+)?\s*)?\(\s*([A-Z][A-Za-z]+\.?(?:\s+[A-Z][A-Za-z]+\.?)?)?\s*(\d{4})(?:-\d{2,4})?\s*([A-Z][A-Za-z]+\.?(?:\s+[A-Z][A-Za-z]+\.?)?)?\s*\)/,jr=/^(?:Repl|Supp|Cum\.?\s*Supp|Reissue)\.?$/i;function Mr(e,t){for(let n of e){if(n.type!==`statute`||n.year!==void 0)continue;let e=t.slice(n.span.cleanEnd),r=Ar.exec(e);if(!r)continue;let[,i,a,o]=r;n.year=Number.parseInt(a,10);let s=i??o;s&&(jr.test(s)?n.editionLabel=s.replace(/\s+/g,` `).trim():n.publisher=s)}}const Nr={WV:{jurisdiction:`WV`,code:`W. Va. Code`},CO:{jurisdiction:`CO`,code:`C.R.S.`},MT:{jurisdiction:`MT`,code:`MCA`}};function Pr(e,t){let n=null;for(let r of e){if(r.type!==`statute`)continue;if(!/^(?:§|Section\s)/.test(r.matchedText)){let e=r.jurisdiction;e&&Nr[e]?n=Nr[e]:e===`NM`&&(n=null);continue}if(r.jurisdiction!==`NM`||r.code!==`NMSA 1978`)continue;let e=t.slice(r.span.cleanEnd,r.span.cleanEnd+200),i=e.search(/[.;](?:\s|$)/),a=i>=0?e.slice(0,i):e;if(/,\s*M\.?\s*C\.?\s*A\.?\b/.test(a)){r.jurisdiction=`MT`,r.code=`MCA`;continue}n&&(r.jurisdiction=n.jurisdiction,r.code=n.code)}}const Fr=new Set([`the`,`and`,`but`,`for`,`see`,`see also`,`cf`,`but see`,`but cf`,`compare`,`accord`,`state`,`people`,`court`,`plaintiff`,`defendant`,`appellant`,`appellee`,`petitioner`,`respondent`,`united states`]);function Ir(e,t,n){let r=RegExp(`^(?:\\s*,\\s*|\\s+and\\s+|\\s+to\\s+)(\\d[\\w-]*(?:\\([A-Za-z0-9]+\\))*)`),i=[];for(let a of e){if(a.type!==`statute`||!a.matchedText.includes(`§§`))continue;let e=a.span.cleanEnd;for(;e<t.length;){let o=t.slice(e),c=r.exec(o);if(!c)break;let l=c[0].length,u=c[1],d=e+l-u.length,f=e+l,{originalStart:p,originalEnd:m}=s({cleanStart:d,cleanEnd:f},n),h={...a,text:u,matchedText:u,section:u,span:{cleanStart:d,cleanEnd:f,originalStart:p,originalEnd:m},subsection:void 0,pincite:void 0,spans:void 0};i.push(h),e=f}}i.length!==0&&(e.push(...i),e.sort((e,t)=>e.span.cleanStart-t.span.cleanStart))}function Lr(e,t,n){let r=e=>{let t=e.trim();return t=t.replace(/^(?:In\s+re|Estate\s+of|Ex\s+parte|Matter\s+of|Application\s+of)\s+/i,``),t=t.replace(/^(?:But\s+(?:see|cf\.?)|See(?:\s+also)?|Compare|Cf\.?|Accord|E\.\s*g\.?|Also|Then)\s+/,``),t.trim()},i=[],a=new Set,o=(e,t,n)=>{let r=t.trim();if(r.length<3)return;let o=(n??r.toLowerCase()).trim();if(Fr.has(o))return;let s=`${e.span.cleanStart}:${r}`;a.has(s)||(a.add(s),i.push({cite:e,name:r,normalized:o}))};for(let t of e)if(t.type===`case`){if(t.plaintiff){o(t,t.plaintiff,t.plaintiffNormalized);let e=r(t.plaintiff);e&&e!==t.plaintiff&&o(t,e,e.toLowerCase())}if(t.defendant){o(t,t.defendant,t.defendantNormalized);let e=r(t.defendant);e&&e!==t.defendant&&o(t,e,e.toLowerCase())}}if(i.length===0)return;let c=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),l=new Map;for(let e of i){let t=l.get(e.name)??[];t.push(e),l.set(e.name,t)}for(let e of l.values())e.sort((e,t)=>e.cite.span.cleanStart-t.cite.span.cleanStart);let u=[],d=new Set;for(let[r,i]of l){let a=c(r),o=RegExp(`(?<![A-Za-z'])(${a})\\s*,\\s*at\\s+(?:pp?\\.?\\s*|pages?\\s+)?(\\d+(?:[-\\u2013\\u2014]\\d+)?(?:,\\s*\\d+(?:[-\\u2013\\u2014]\\d+)?)*)`,`g`),l;for(;(l=o.exec(t))!==null;){let t=l.index,r=t+l[0].length,a;for(let e of i){if(e.cite.span.cleanEnd>t)break;a=e}if(!a||Rr(e,t,r))continue;let o=`${t}-${r}`;if(d.has(o))continue;d.add(o);let c=U(l[2].split(`,`)[0].trim())??void 0,f=c?.page,{originalStart:p,originalEnd:m}=s({cleanStart:t,cleanEnd:r},n),h=typeof a.cite.page==`number`?a.cite.page:Number.parseInt(String(a.cite.page),10)||void 0;u.push({type:`shortFormCase`,text:l[0],matchedText:l[0],confidence:.85,processTimeMs:0,patternsChecked:0,span:{cleanStart:t,cleanEnd:r,originalStart:p,originalEnd:m},volume:a.cite.volume,reporter:a.cite.reporter,page:h,pincite:f,pinciteInfo:c,partyName:l[1],partyNameNormalized:a.normalized})}}u.length!==0&&(e.push(...u),e.sort((e,t)=>e.span.cleanStart-t.span.cleanStart))}function Rr(e,t,n){for(let r of e)if(!(r.span.cleanEnd<=t)&&!(r.span.cleanStart>=n))return!0;return!1}function zr(e){let t=new Map;for(let n=0;n<e.length;n++){let r=e[n];r.type===`case`&&(!r.groupId||!r.caseName||t.has(r.groupId)||t.set(r.groupId,n))}for(let n of e){if(n.type!==`case`||!n.groupId||n.caseName)continue;let r=t.get(n.groupId);if(r===void 0)continue;let i=e[r];!i||i.type!==`case`||(n.caseName=i.caseName,n.plaintiff=i.plaintiff,n.defendant=i.defendant,n.plaintiffNormalized=i.plaintiffNormalized,n.defendantNormalized=i.defendantNormalized,n.proceduralPrefix=i.proceduralPrefix)}}exports.DocumentResolver=qn,exports.applyFalsePositiveFilters=wr,exports.assertUnreachable=a,exports.cleanText=y,exports.detectFootnotes=O,exports.extractCase=Fe,exports.extractCitations=Er,exports.extractCitationsAsync=Dr,exports.extractConstitutional=We,exports.extractFederalRegister=Ke,exports.extractJournal=qe,exports.extractNeutral=Ze,exports.extractPublicLaw=Qe,exports.extractStatute=jn,exports.extractStatutesAtLarge=Mn,exports.isCaseCitation=r,exports.isCitationType=i,exports.isFullCitation=t,exports.isShortFormCitation=n,exports.normalizeCourt=te,exports.parsePincite=U,exports.resolveCitations=Jn,exports.spanFromGroupIndex=o,exports.tokenize=zn;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./knownCodes-Cw5MI48f.cjs`);function t(e){return e.type===`case`||e.type===`docket`||e.type===`statute`||e.type===`journal`||e.type===`neutral`||e.type===`publicLaw`||e.type===`federalRegister`||e.type===`statutesAtLarge`||e.type===`constitutional`}function n(e){return e.type===`id`||e.type===`supra`||e.type===`shortFormCase`}function r(e){return e.type===`case`}function i(e,t){return e.type===t}function a(e){throw Error(`Unexpected value: ${e}`)}function o(e,t,n){let r=e+t[0],i=e+t[1],{originalStart:a,originalEnd:o}=s({cleanStart:r,cleanEnd:i},n);return{cleanStart:r,cleanEnd:i,originalStart:a,originalEnd:o}}function s(e,t){return t.cleanToOriginalSegments?{originalStart:t.cleanToOriginalSegments.lookup(e.cleanStart),originalEnd:t.cleanToOriginalSegments.lookup(e.cleanEnd)}:{originalStart:t.cleanToOriginal.get(e.cleanStart)??e.cleanStart,originalEnd:t.cleanToOriginal.get(e.cleanEnd)??e.cleanEnd}}function c(e){return e.replace(/<[^>]+>/g,``)}function l(e){return e.replace(/(\w)-\s*[\n\r]+\s*(\w)/g,`$1$2`)}function u(e){return e.replace(/[\t\n\r\u00A0\u2000-\u200A\u202F\u205F\u3000]/g,` `)}function d(e){return e.replace(/ {2,}/g,` `)}function f(e){return e.normalize(`NFKC`)}function p(e){return e.replace(/[\u201C\u201D]/g,`"`).replace(/[\u2018\u2019]/g,`'`)}function m(e){return e.replace(/(?<=\w)[\u2014\u2015](?=\w)/g,`-`).replace(/[\u2014\u2015]/g,`---`).replace(/[\u2010\u2012\u2013]/g,`-`)}function h(e){return e.replace(/&sect;/gi,`§`).replace(/&para;/gi,`¶`).replace(/&amp;/gi,`&`).replace(/&nbsp;/gi,` `).replace(/&lt;/gi,`<`).replace(/&gt;/gi,`>`).replace(/&quot;/gi,`"`).replace(/&apos;/gi,`'`).replace(/&#(\d+);/g,(e,t)=>{let n=Number.parseInt(t,10);return Number.isNaN(n)?e:String.fromCharCode(n)}).replace(/&#x([0-9a-fA-F]+);/g,(e,t)=>{let n=Number.parseInt(t,16);return Number.isNaN(n)?e:String.fromCharCode(n)})}function g(e){let t=e;return t=t.replace(/\bU\.\s*S\.\s*C\./g,`U.S.C.`),t=t.replace(/\bC\.\s*F\.\s*R\./g,`C.F.R.`),t=t.replace(/\b([NS])\.\s+([WE])\./g,`$1.$2.`),t=t.replace(/\bU\.\s+S\./g,`U.S.`),t=t.replace(/\bS\.\s+Ct\./g,`S.Ct.`),t=t.replace(/\bL\.\s+Ed\./g,`L.Ed.`),t=t.replace(/\bF\.\s+Supp\./g,`F.Supp.`),t=t.replace(/\bF\.\s+(\d+[a-z]+)/g,`F.$1`),t=t.replace(/([A-Za-z])\.\s+(\d+[a-z]+)/g,`$1.$2`),t=t.replace(/\bIll\.\s+App\.(\d+[a-z]+)/g,`Ill. App. $1`),t}function _(e){return e.replace(/[\u2032\u2035]/g,`'`).replace(/\u200B|\u200C|\u200D|\u2060|\uFEFF/g,``)}var v=class e{segments;constructor(e){this.segments=e}static identity(t){return new e([{cleanPos:0,origPos:0,len:t+1}])}static fromMap(t){if(t.size===0)return new e([]);let n=[...t.entries()].sort((e,t)=>e[0]-t[0]),r=[],i=n[0][0],a=n[0][1],o=1;for(let e=1;e<n.length;e++){let[t,s]=n[e],c=i+o,l=a+o;t===c&&s===l?o++:(r.push({cleanPos:i,origPos:a,len:o}),i=t,a=s,o=1)}return r.push({cleanPos:i,origPos:a,len:o}),new e(r)}lookup(e){let t=this.segments;if(t.length===0)return e;let n=0,r=t.length-1;for(;n<=r;){let i=n+r>>>1,a=t[i];if(e<a.cleanPos)r=i-1;else if(e>=a.cleanPos+a.len)n=i+1;else return a.origPos+(e-a.cleanPos)}let i=t[t.length-1];return i.origPos+(e-i.cleanPos)}};function y(e,t=[c,h,l,u,d,f,m,p,_,g]){let n=e,r=new Map,i=new Map;for(let t=0;t<=e.length;t++)r.set(t,t),i.set(t,t);for(let e of t){let t=n,a=e(n);if(t!==a){let{newCleanToOriginal:e,newOriginalToClean:o}=b(t,a,r,i);r=e,i=o,n=a}}let a={cleanToOriginal:r,originalToClean:i,cleanToOriginalSegments:v.fromMap(r)};return{cleaned:n,transformationMap:a,warnings:[]}}function b(e,t,n,r){let i=new Map,a=new Map,o=0,s=0;for(;o<=e.length||s<=t.length;){if(o>=e.length&&s>=t.length){let e=n.get(o)??o;i.set(s,e),a.set(e,s);break}if(o>=e.length){let e=n.get(o)??o;i.set(s,e),s++;continue}if(s>=t.length){let e=n.get(o)??o;a.set(e,s),o++;continue}if(e[o]===t[s]){let e=n.get(o)??o;i.set(s,e),a.set(e,s),o++,s++}else{if(e.length-o===t.length-s){let e=n.get(o)??o;i.set(s,e),a.set(e,s),o++,s++;continue}let r=!1,c=Math.max(40,Math.abs(e.length-t.length)+10),l=-1,u=-1;for(let n=1;n<=c;n++){if(l<0&&o+n<e.length&&e[o+n]===t[s]){let r=!0;for(let i=1;i<3;i++){let a=o+n+i,c=s+i;if(a>=e.length||c>=t.length)break;if(e[a]!==t[c]){r=!1;break}}r&&(l=n)}if(u<0&&s+n<t.length&&e[o]===t[s+n]){let r=!0;for(let i=1;i<3;i++){let a=o+i,c=s+n+i;if(a>=e.length||c>=t.length)break;if(e[a]!==t[c]){r=!1;break}}r&&(u=n)}if(l>=0&&u>=0)break}if(l>=0&&(u<0||l<=u)){for(let e=0;e<l;e++){let t=n.get(o+e)??o+e;a.set(t,s)}o+=l,r=!0}else if(u>=0){let e=n.get(o)??o;for(let t=0;t<u;t++)i.set(s+t,e);s+=u,r=!0}if(r)continue;let d=n.get(o)??o;i.set(s,d),a.set(d,s),o++,s++}}return{newCleanToOriginal:i,newOriginalToClean:a}}var x=class{parent;rank;constructor(e){this.parent=Array.from({length:e},(e,t)=>t),this.rank=Array(e).fill(0)}find(e){let t=e;for(;this.parent[t]!==t;)this.parent[t]=this.parent[this.parent[t]],t=this.parent[t];return t}union(e,t){let n=this.find(e),r=this.find(t);if(n!==r){if(n>r){let e=n;n=r,r=e}this.parent[r]=n,this.rank[n]===this.rank[r]&&this.rank[n]++}}connected(e,t){return this.find(e)===this.find(t)}components(){let e=new Map;for(let t=0;t<this.parent.length;t++){let n=this.find(t),r=e.get(n);r||(r=[],e.set(n,r)),r.push(t)}return e}};function S(e,t,n){let r=/\blabel\s*=\s*["'](\d+)["']/.exec(e);if(r)return Number.parseInt(r[1],10);let i=/\bid\s*=\s*["'](?:fn|footnote)(\d+)["']/.exec(e);if(i)return Number.parseInt(i[1],10);let a=t.replace(/<[^>]*>/g,``),o=/^\s*(\d+)[.\s):]/.exec(a);return o?Number.parseInt(o[1],10):n+1}function C(e,t,n){let r=RegExp(`<${t}\\b[^>]*>`,`gi`),i=RegExp(`</${t}\\s*>`,`gi`);r.lastIndex=n,i.lastIndex=n;let a=1;for(;a>0;){let t=r.exec(e),n=i.exec(e);if(!n)return null;if(t&&t.index<n.index)a++,i.lastIndex=t.index+t[0].length;else{if(a--,a===0)return{contentEnd:n.index,tagEnd:n.index+n[0].length};r.lastIndex=n.index+n[0].length}}return null}function w(e){let t=[],n,r=RegExp(`<(footnote|fn)\\b[^>]*>|<(div|aside|section|p|span)\\b[^>]*(?:class\\s*=\\s*["'][^"']*\\bfootnote\\b[^"']*["']|id\\s*=\\s*["'](?:fn|footnote)\\d*["'])[^>]*>`,`gi`);for(;(n=r.exec(e))!==null;){let i=n[0],a=n.index+i.length,o=C(e,n[1]||n[2],a);if(!o)continue;let s=S(i,e.slice(a,o.contentEnd),t.length);t.push({start:a,end:o.contentEnd,footnoteNumber:s}),r.lastIndex=o.tagEnd}return t.sort((e,t)=>e.start-t.start)}const T=/^\s*[-_]{5,}\s*$/m;function E(e){let t=T.exec(e);if(!t)return[];let n=t.index+t[0].length,r=e.slice(n),i=RegExp(`^\\s*(?:FN\\s*(\\d+)[.\\s:)]|\\[(\\d+)\\]\\s|n\\.\\s*(\\d+)\\s|(\\d+)\\.\\s)`,`gm`),a=[],o;for(;(o=i.exec(r))!==null;){let e=o[1]||o[2]||o[3]||o[4];e&&a.push({index:o.index+n,footnoteNumber:Number.parseInt(e,10)})}if(a.length===0)return[];let s=[];for(let t=0;t<a.length;t++){let n=a[t].index,r=t+1<a.length?a[t+1].index:e.length;s.push({start:n,end:r,footnoteNumber:a[t].footnoteNumber})}return s}const D=/<[^>]+>/;function O(e){if(D.test(e)){let t=w(e);if(t.length>0)return t}return E(e)}function k(e,t,n,r=20){for(let i=1;i<=r;i++){let r=n===`forward`?e+i:e-i,a=t.get(r);if(a!==void 0)return a}}function A(e,t){return e.length===0?[]:e.map(e=>({start:t.originalToClean.get(e.start)??k(e.start,t.originalToClean,`forward`)??e.start,end:t.originalToClean.get(e.end)??k(e.end,t.originalToClean,`backward`)??e.end,footnoteNumber:e.footnoteNumber}))}function j(e,t){if(t.length!==0)for(let n of e){let e=n.span.cleanStart,r=0,i=t.length-1;for(;r<=i;){let a=r+i>>>1,o=t[a];if(e<o.start)i=a-1;else if(e>=o.end)r=a+1;else{n.inFootnote=!0,n.footnoteNumber=o.footnoteNumber;break}}}}const M={jan:1,january:1,feb:2,february:2,mar:3,march:3,apr:4,april:4,may:5,jun:6,june:6,jul:7,july:7,aug:8,august:8,sep:9,sept:9,september:9,oct:10,october:10,nov:11,november:11,dec:12,december:12};function N(e){let t=M[e.toLowerCase().replace(/\.$/,``)];if(t===void 0)throw Error(`Invalid month name: ${e}`);return t}function P(e){let{year:t,month:n,day:r}=e;return n!==void 0&&r!==void 0?`${t}-${String(n).padStart(2,`0`)}-${String(r).padStart(2,`0`)}`:n===void 0?String(t):`${t}-${String(n).padStart(2,`0`)}`}function F(e){let t=e.match(/\b(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Sept|Oct|Nov|Dec)\.?\s+(\d{1,2}),?\s+(\d{4})\b/i);if(t){let e=N(t[1]),n=Number.parseInt(t[2],10),r={year:Number.parseInt(t[3],10),month:e,day:n};return{iso:P(r),parsed:r}}let n=e.match(/\b(January|February|March|April|May|June|July|August|September|October|November|December)\s+(\d{1,2}),?\s+(\d{4})\b/i);if(n){let e=N(n[1]),t=Number.parseInt(n[2],10),r={year:Number.parseInt(n[3],10),month:e,day:t};return{iso:P(r),parsed:r}}let r=e.match(/\b(\d{1,2})\/(\d{1,2})\/(\d{2}|\d{4})\b/);if(r){let e=Number.parseInt(r[1],10),t=Number.parseInt(r[2],10),n=r[3],i=Number.parseInt(n,10);n.length===2&&(i=i<=50?2e3+i:1900+i);let a={year:i,month:e,day:t};return{iso:P(a),parsed:a}}let i=e.match(/\b(\d{4})\b/);if(i){let e={year:Number.parseInt(i[1],10)};return{iso:P(e),parsed:e}}}function I(e){return{level:e,jurisdiction:`federal`,confidence:1}}function L(e,t){return{level:e,jurisdiction:`state`,state:t,confidence:1}}function R(e){return{level:e,jurisdiction:`state`,confidence:.7}}const z=new Map([[`U.S.`,I(`supreme`)],[`S.Ct.`,I(`supreme`)],[`L.Ed.`,I(`supreme`)],[`L.Ed.2d`,I(`supreme`)],[`S. Ct.`,I(`supreme`)],[`L. Ed.`,I(`supreme`)],[`L. Ed. 2d`,I(`supreme`)],[`U. S.`,I(`supreme`)],[`L.Ed. 2d`,I(`supreme`)],[`L. Ed.2d`,I(`supreme`)],[`F.`,I(`appellate`)],[`F.2d`,I(`appellate`)],[`F.3d`,I(`appellate`)],[`F.4th`,I(`appellate`)],[`F. App'x`,I(`appellate`)],[`F.Supp.`,I(`trial`)],[`F.Supp.2d`,I(`trial`)],[`F.Supp.3d`,I(`trial`)],[`F.Supp.4th`,I(`trial`)],[`F. Supp.`,I(`trial`)],[`F. Supp. 2d`,I(`trial`)],[`F. Supp. 3d`,I(`trial`)],[`F. Supp. 4th`,I(`trial`)],[`F.R.D.`,I(`trial`)],[`B.R.`,I(`trial`)],[`Cal.`,L(`supreme`,`CA`)],[`Cal.2d`,L(`supreme`,`CA`)],[`Cal.3d`,L(`supreme`,`CA`)],[`Cal.4th`,L(`supreme`,`CA`)],[`Cal.5th`,L(`supreme`,`CA`)],[`Cal.App.`,L(`appellate`,`CA`)],[`Cal.App.2d`,L(`appellate`,`CA`)],[`Cal.App.3d`,L(`appellate`,`CA`)],[`Cal.App.4th`,L(`appellate`,`CA`)],[`Cal.App.5th`,L(`appellate`,`CA`)],[`Cal.Rptr.`,L(`unknown`,`CA`)],[`Cal.Rptr.2d`,L(`unknown`,`CA`)],[`Cal.Rptr.3d`,L(`unknown`,`CA`)],[`N.Y.`,L(`supreme`,`NY`)],[`N.Y.2d`,L(`supreme`,`NY`)],[`N.Y.3d`,L(`supreme`,`NY`)],[`A.D.`,L(`appellate`,`NY`)],[`A.D.2d`,L(`appellate`,`NY`)],[`A.D.3d`,L(`appellate`,`NY`)],[`Misc.`,L(`trial`,`NY`)],[`Misc.2d`,L(`trial`,`NY`)],[`Misc.3d`,L(`trial`,`NY`)],[`N.Y.S.`,L(`unknown`,`NY`)],[`N.Y.S.2d`,L(`unknown`,`NY`)],[`N.Y.S.3d`,L(`unknown`,`NY`)],[`Ill.`,L(`supreme`,`IL`)],[`Ill.2d`,L(`supreme`,`IL`)],[`Ill.App.`,L(`appellate`,`IL`)],[`Ill.App.2d`,L(`appellate`,`IL`)],[`Ill.App.3d`,L(`appellate`,`IL`)],[`Ill.Dec.`,L(`unknown`,`IL`)],[`Ohio St.`,L(`supreme`,`OH`)],[`Ohio St.2d`,L(`supreme`,`OH`)],[`Ohio St.3d`,L(`supreme`,`OH`)],[`Ohio App.3d`,L(`appellate`,`OH`)],[`Pa.`,L(`supreme`,`PA`)],[`Pa. Super.`,L(`appellate`,`PA`)],[`Tex.`,L(`supreme`,`TX`)],[`Fla.`,L(`supreme`,`FL`)],[`Mass.`,L(`supreme`,`MA`)],[`Mass. App. Ct.`,L(`appellate`,`MA`)],[`A.`,R(`unknown`)],[`A.2d`,R(`unknown`)],[`A.3d`,R(`unknown`)],[`S.E.`,R(`unknown`)],[`S.E.2d`,R(`unknown`)],[`S.E.3d`,R(`unknown`)],[`S.W.`,R(`unknown`)],[`S.W.2d`,R(`unknown`)],[`S.W.3d`,R(`unknown`)],[`N.E.`,R(`unknown`)],[`N.E.2d`,R(`unknown`)],[`N.E.3d`,R(`unknown`)],[`N.W.`,R(`unknown`)],[`N.W.2d`,R(`unknown`)],[`N.W.3d`,R(`unknown`)],[`So.`,R(`unknown`)],[`So.2d`,R(`unknown`)],[`So.3d`,R(`unknown`)],[`P.`,R(`unknown`)],[`P.2d`,R(`unknown`)],[`P.3d`,R(`unknown`)]]);function ee(e){return z.get(e)}const B=/^(?:at\s+)?(?:¶¶?|paras?\.?)\s*/i,V=/^(\d+)(?:\s*[-–—]\s*(\d+))?\s*$/,H=/^(?:at\s+)?(\*?)(\d+)(?:[-–—]\*?(\d+))?(?:\s*,)?\s*(?:(?:nn?|fns?|note)\s*\.?\s*(\d+)(?:[-–—](\d+))?)?$/i;function U(e){let t=e.trim();if(!t)return null;let n=B.exec(t);if(n){let e=t.substring(n[0].length),r=V.exec(e);if(r){let e=Number.parseInt(r[1],10),n=r[2]?Number.parseInt(r[2],10):void 0,i={paragraph:e,isRange:n!==void 0,raw:t};return n!==void 0&&(i.endParagraph=n),i}}let r=H.exec(t);if(!r)return null;let i=r[1],a=r[2],o=r[3],s=r[4],c=r[5],l=Number.parseInt(a,10),u,d=!1;if(o){d=!0;let e=Number.parseInt(o,10);if(o.length<a.length){let e=a.slice(0,a.length-o.length);u=Number.parseInt(e+o,10)}else u=e}let f=s?Number.parseInt(s,10):void 0,p=c?Number.parseInt(c,10):void 0,m={page:l,isRange:d,raw:t};return u!==void 0&&(m.endPage=u),f!==void 0&&(m.footnote=f),p!==void 0&&(m.footnoteEnd=p),i===`*`&&(m.starPage=!0),m}function te(e){if(!e||!e.trim())return;let t=e.trim();return t=t.replace(/\.\s+(?=[A-Za-z])/g,`.`),/[A-Za-z]$/.test(t)&&(/\./.test(t)||/^\d+\w*\s+[A-Z]/i.test(t))&&(t+=`.`),t}const W=new Set([`see`,`see also`,`see generally`,`cf`,`but see`,`but cf`,`compare`,`accord`,`contra`,`e.g.`,`see, e.g.`,`see also, e.g.`,`but see, e.g.`,`cf., e.g.`,`but cf., e.g.`]),G=(()=>{let e=[...W].sort((e,t)=>t.length-e.length).map(e=>e.replace(/\s+/g,`\\s+`).replace(/\./g,`\\.`));return RegExp(`^(${e.join(`|`)}),?\\s+`,`i`)})();function ne(e){let t=Number.parseInt(e,10);return String(t)===e?t:e}const re=/(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Sept|Oct|Nov|Dec|January|February|March|April|May|June|July|August|September|October|November|December)\.?/,ie=new Date().getFullYear(),ae=new Set(`F.,F.2d,F.3d,F.4th,F.5th,F.6th,F.7th,U.S.,S. Ct.,L. Ed.,L. Ed. 2d,L. Ed. 3d,P.,P.2d,P.3d,P.4th,A.,A.2d,A.3d,A.4th,N.E.,N.E.2d,N.E.3d,N.E.4th,N.W.,N.W.2d,N.W.3d,S.E.,S.E.2d,S.E.3d,S.W.,S.W.2d,S.W.3d,S.W.4th,So.,So. 2d,So. 3d,So. 4th,F. Supp.,F. Supp. 2d,F. Supp. 3d,F. Supp. 4th,F. Supp. 5th,F. Supp. 6th,F. App'x`.split(`,`)),oe=/^(\d+(?:-\d+)?)\s+([A-Za-z0-9.\s'&]+)\s+(?:\((\d+)\s+([A-Z][A-Za-z.]+)\)\s+)?(\d+|_{3,}|-{3,})/d,se=/^[_-]{3,}$/,ce=/,\s*(?:at\s+)?(\*?\d+(?:-\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?)/d,le=/\(([^)]+)\)/,ue=/^(?:,\s*(?:at\s+)?\*?\d+(?:-\d+)?)*(?:\s+(?:n|note)\s*\.?\s*\d+)?\s*\(([^)]+)\)/,de=/^(?:\s+at\s+(?:pp?\.\s*)?|,\s*(?:at\s+(?:pp?\.\s*)?)?)(\*?\d+(?:-\d+)?(?:(?:\s+|,\s+)(?:nn?|fns?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?|¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?)(?=$|[.,;)(\]]|\s(?![A-Z]))/d,K=/\d\.\s+/g,fe=/[\s,]/,pe=/^,\s*(\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?)(?=$|[.,;)(\]]|\s(?![A-Z]))/,me=/^(?:,\s*(?:(?:at\s+(?:pp?\.\s*)?)?\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:n|note)\s*\.?\s*\d+)?|(?:at\s+)?(?:¶¶?|paras?\.?)\s*\d+(?:[-–—]\d+)?))+/,q=[[/^aff'?d\s+on\s+other\s+grounds\b/i,`affirmed`],[/^affirmed\s+on\s+other\s+grounds\b/i,`affirmed`],[/^aff'?d\b/i,`affirmed`],[/^affirmed\b/i,`affirmed`],[/^rev'?d\s+and\s+remanded\b/i,`reversed`],[/^rev'?d\s+on\s+other\s+grounds\b/i,`reversed`],[/^reversed\s+and\s+remanded\b/i,`reversed`],[/^rev'?d\b/i,`reversed`],[/^reversed\b/i,`reversed`],[/^certiorari\s+denied\b/i,`cert_denied`],[/^cert\.\s*den(ied|\.)(?=[\s,;(]|$)/i,`cert_denied`],[/^certiorari\s+granted\b/i,`cert_granted`],[/^cert\.\s*granted\b/i,`cert_granted`],[/^overruled\s+by\b/i,`overruled`],[/^overruled\s+in\b/i,`overruled`],[/^overruling\b/i,`overruled`],[/^overruled\b/i,`overruled`],[/^vacated\s+by\b/i,`vacated`],[/^vacated\b/i,`vacated`],[/^remanded\s+for\s+reconsideration\b/i,`remanded`],[/^remanded\b/i,`remanded`],[/^modified\s+by\b/i,`modified`],[/^modified\b/i,`modified`],[/^abrogated\s+by\b/i,`abrogated`],[/^abrogated\s+in\b/i,`abrogated`],[/^abrogated\b/i,`abrogated`],[/^superseded\s+by\s+grant\s+of\s+review\b/i,`superseded_by_grant_of_review`],[/^superseded\s+by\b/i,`superseded`],[/^superseded\b/i,`superseded`],[/^disapproved\s+on\s+other\s+grounds\b/i,`disapproved_other_grounds`],[/^disapproved\s+of\b/i,`disapproved`],[/^disapproved\b/i,`disapproved`],[/^questioned\s+by\b/i,`questioned`],[/^questioned\b/i,`questioned`],[/^distinguished\s+by\b/i,`distinguished`],[/^distinguished\b/i,`distinguished`],[/^withdrawn\b/i,`withdrawn`],[/^reinstated\b/i,`reinstated`],[/^reh'?g\s+denied\b/i,`rehearing_denied`],[/^rehearing\s+denied\b/i,`rehearing_denied`],[/^reh'?g\s+granted\b/i,`rehearing_granted`],[/^rehearing\s+granted\b/i,`rehearing_granted`],[/^writ\s+ref'?d\s+n\.r\.e\./i,`writ_refused`],[/^writ\s+ref'?d\s+w\.m\.j\./i,`writ_refused`],[/^writ\s+ref'?d\b/i,`writ_refused`],[/^writ\s+dism'?d\s+w\.o\.j\./i,`writ_dismissed`],[/^writ\s+dism'?d\b/i,`writ_dismissed`],[/^writ\s+denied\b/i,`writ_denied`],[/^writ\s+granted\b/i,`writ_granted`],[/^no\s+writ\b/i,`no_writ`],[/^pet\.\s+ref'?d\b/i,`pet_refused`],[/^pet\.\s+denied\b/i,`pet_denied`],[/^pet\.\s+dism'?d\b/i,`pet_dismissed`],[/^pet\.\s+granted\b/i,`pet_granted`],[/^pet\.\s+filed\b/i,`pet_filed`],[/^no\s+pet\.\s+h\./i,`no_pet`],[/^no\s+pet\./i,`no_pet`],[/^review\s+den(?:ied|\.)/i,`review_denied`],[/^review\s+granted\b/i,`review_granted`],[/^opinion\s+vacated\b/i,`opinion_vacated`],[/^petition\s+for\s+review\s+filed\b/i,`petition_for_review_filed`],[/^petition\s+for\s+review\s+granted\b/i,`petition_for_review_granted`],[/^petition\s+for\s+review\s+denied\b/i,`petition_for_review_denied`],[/^as\s+modified\s+on\s+denial\s+of\s+rehearing\b/i,`modified_on_denial_of_rehearing`],[/^ordered\s+not\s+pub\.?/i,`not_published`],[/^not\s+for\s+publication\b/i,`not_published`],[/^nonpubl?\.?\s+opn\.?/i,`not_published`]];function J(e){for(let[t,n]of q){let r=t.exec(e);if(r)return{signal:n,matchLength:r[0].length}}}const he=new Set([`holding`,`finding`,`stating`,`noting`,`explaining`,`quoting`,`citing`,`discussing`,`describing`,`recognizing`,`applying`,`rejecting`,`adopting`,`requiring`]);function ge(e){return he.has(e)}const Y=/^([a-z]+)\b/i,_e=/([A-Z][A-Za-z0-9\s.,'&()/-]+?)\s+v(?:s)?\.?\s+([A-Za-z0-9\s.,'&()/-]+?)\s*(?:,|\((?:([^)]*?\.[^)]*?)\s+)?(\d{4})\))\s*$/d,ve=/\b(In\s+the\s+Matter\s+of\s+the\s+Liquidation\s+of|In\s+the\s+Matter\s+of\s+the\s+Rehabilitation\s+of|In\s+the\s+Matter\s+of\s+the\s+Receivership\s+of|In\s+the\s+Matter\s+of\s+the\s+Extradition\s+of|In\s+the\s+Matter\s+of\s+the\s+Application\s+of|In\s+the\s+Matter\s+of\s+the\s+Welfare\s+of|In\s+the\s+Matter\s+of|In\s+re\s+Petition\s+for\s+Naturalization\s+of|In\s+re\s+Termination\s+of\s+Parental\s+Rights\s+as\s+to|In\s+re\s+Termination\s+of\s+Parental\s+Rights\s+to|In\s+re\s+Termination\s+of\s+Parental\s+Rights\s+of|In\s+re\s+Marriage\s+of|In\s+re\s+Liquidation\s+of|In\s+re\s+Rehabilitation\s+of|In\s+re\s+Receivership\s+of|In\s+re\s+Naturalization\s+of|In\s+re\s+Extradition\s+of|In\s+re\s+Application\s+of|In\s+re\s+Welfare\s+of|In\s+re\s+Dependency\s+of|In\s+re\s+Paternity\s+of|In\s+re\s+Parentage\s+of|In\s+re\s+Conservatorship\s+of|In\s+re\s+Guardianship\s+of|In\s+re\s+Adoption\s+of|In\s+the\s+Interest\s+of|Matter\s+of\s+Liquidation\s+of|Matter\s+of\s+Rehabilitation\s+of|Commonwealth\s+of\s+Puerto\s+Rico\s+ex\s+rel\.|Government\s+of\s+the\s+Virgin\s+Islands\s+ex\s+rel\.|Commonwealth\s+ex\s+rel\.|Petition\s+for\s+Naturalization\s+of|People\s+ex\s+rel\.|District\s+of\s+Columbia\s+ex\s+rel\.|Conservatorship\s+of\s+the\s+Person\s+and\s+Estate\s+of|Conservatorship\s+of\s+the\s+Person\s+of|Conservatorship\s+of\s+the\s+Estate\s+of|Inquiry\s+Concerning\s+Judge|Appeal\s+of|Care\s+and\s+Protection\s+of|Succession\s+of|In re|Ex parte|Matter of|Estate of|State ex rel\.|United States ex rel\.|Application of|On Petition of|Petition of|Adoption of|Conservatorship of|Guardianship of)\s+([A-Za-z0-9\s.,'&()/-]+?)\s*(?:,|\((?:([^)]*?\.[^)]*?)\s+)?(\d{4})\))\s*$/di,ye=new Set([`of`,`the`,`and`,`for`,`on`,`by`,`a`,`an`,`to`,`at`,`as`,`de`,`la`,`el`,`del`,`von`,`van`,`ex`,`rel`,`et`,`al`,`d`,`or`]),be=/\b(?:d\/?b\/?a|a\/?k\/?a|f\/?k\/?a|n\/?k\/?a)\b/i;function xe(e){let t=e.split(/\s+/),n=(t[0]??``).toLowerCase().replace(/[.,']+$/,``);if(Se.has(n))return!1;for(let e of t){if(!e||e===`&`)continue;let t=e.toLowerCase().replace(/[.,']+$/,``);if(!ye.has(t)&&!/^[A-Z]/.test(e)&&!/^\d/.test(e))return!1}return!0}const Se=new Set([`this`,`that`,`these`,`those`,`here`,`there`,`such`,`its`,`his`,`her`,`their`,`our`,`under`,`invoking`,`citing`,`following`,`unlike`,`whereas`,`pursuant`,`applying`]);function Ce(e){let t=e.replace(/\s*\d{1,2}\/\d{1,2}\/\d{4}\s*$/,``).trim();if(t=t.replace(/\s*\d{4}\s*$/,``).trim(),t=t.replace(/\s*,?\s*\d{1,2}\s*,?\s*$/,``).trim(),t=t.replace(RegExp(`\\s*${re.source}\\s*$`,`i`),``).trim(),t=t.replace(/,\s*$/,``).trim(),!(!t||!/[A-Za-z]/.test(t))){if(!t.includes(`.`)){let e=t.match(/^[a-z]+/i)?.[0].toLowerCase();if(e&&(he.has(e)||e===`emphasis`||e===`internal`||e===`citations`||e===`footnote`||e===`alteration`||e===`alterations`||e===`omitted`||e===`see`))return;let n=t.split(/\s+/);if(n.length>=3&&n.every(e=>/^[a-z]/.test(e)))return}return t}}const we=new Set(`acad.acct.accts.admin.adm.advert.advoc.aff.affs.afr.agric.all.alt.am.ann.app.arb.assoc.assocs.atl.auth.auto.ave.bankr.behav.bd.bor.brit.broad.bhd.bros.bldg.bull.bus.can.cap.cas.cath.ctr.ctrs.cent.chem.child.chron.coal.coll.com.comm.compar.comp.comput.condo.conf.cong.consol.const.constr.cont.coop.corp.corps.corr.cosm.couns.cntys.cnty.crim.def.delinq.det.dev.dig.dir.disc.disp.distrib.dist.div.econ.educ.elec.emp.eng.enter.enters.ent.equal.equip.est.eur.exam.exch.exec.expl.exp.fac.fam.fams.fed.fid.fin.found.gen.glob.grp.guar.hist.hosp.hous.hum.immigr.imp.inc.indem.indep.indus.info.inj.inst.ins.intell.intel.int.inv.invs.jurid.just.juv.lab.law.liab.ltd.loc.mach.mag.maint.mgmt.mgt.mfr.mfrs.mfg.mar.mkt.mktg.matrim.mech.med.merch.metro.min.misc.mod.mortg.mun.mut.nat.negl.negot.nw.no.nos.off.org.orgs.pac.pat.pers.pharm.phil.plan.pol.prac.pres.priv.prob.proc.prod.pro.prop.psych.pub.rec.reg.regul.rehab.rel.rels.rep.reprod.rsch.rsrv.resol.res.resp.rest.ret.rd.sav.sch.schs.sci.sec.serv.servs.sess.soc.solic.spec.stat.subcomm.sur.surv.sys.tchr.tech.telecomm.tel.temp.twp.transcon.transp.treas.tr.trs.tpk.unemplmt.unif.univ.urb.util.veh.vehs.vill.voc.whse.whol.litig.n.s.e.w.m.ne.se.sw.is.mt.ft.pt.rt.st.blvd.sq.hwy.pkwy.hts.v.vs.ct.cir.supp.cl.jud.super.sup.magis.mil.terr.ala.ariz.ark.cal.colo.conn.del.fla.ga.haw.ida.ill.ind.kan.ky.la.me.md.mass.mich.minn.miss.mo.mont.neb.nev.okla.or.pa.tenn.tex.vt.va.wash.wis.wyo.mr.mrs.ms.dr.jr.sr.prof.rev.hon.sgt.capt.col.lt.ed.op.ad.dep.ass.ry.co.cmty.cty.envtl.gend.par.prot.ref.sol.adver.admr.admx.assn.commcn.commn.commr.contl.dept.empr.empt.engg.engr.entmt.envt.examr.exr.exx.fedn.govt.intl.invr.meml.natl.profl.pship.publg.publn.regl.secy.sholder.socy.tp.vil.taxn.enft.rts.atty.attys.petr.respt.commrs.hldgs.hldg.props.prods.ents.invests.scis.emps.sols.corrs.telecomms.examrs.cmtys.colls.cts.amends.civ.enf.advis.utils.lic.bur.insp.conserv.retire.discipl.supers.edn.coun.stds.procs.quals.boro.commw.adv.comn.irrig.reclam.rptr.vet.trib.adj.vol.pty.poly.stud.libr.refin.socio.laby.naty.wkly.appx.comr.comrs.reins`.split(`.`));function Te(e,t){let n=t;for(;n>0&&/[-A-Za-z.']/.test(e[n-1]);)n--;let r=e.substring(n,t);if(!r)return!1;let i=r.replace(/['.]/g,``).toLowerCase();return!!(we.has(i)||i.length===1&&/[a-z]/i.test(i)||/\.[A-Za-z]/.test(r))}const Ee=/\bId\.\s+/g,De=/\(\s*(?:quoting|citing|cited\s+in|quoted\s+in|accord|discussing|noting|explaining|describing|recognizing|applying|rejecting|adopting|requiring|overruling|overruled\s+by|abrogated\s+by)(?:,\s*e\.g\.,?)?\s+/gi,Oe=/[.)]\s+(?=[A-Z(])/g,ke=/\b\d{4}\)\s*(?:,\s*(?:and|or|see(?:\s+also)?|but\s+see|e\.g\.)|;)\s+/g,Ae=/,?\s*(\d{2,4}-[A-Z\d-]+)(?:,\s*p\.\s*\d+)?\s*\((La\.[^)]*?)\s+(\d{1,2}\/\d{1,2}\/\d{2,4})\),\s*/g;function je(e,t,n=150,r){let i=Math.max(0,t-n),a=e.substring(i,t),o=i,s=-1,c;if(r?.originalText&&r.transformationMap){let{originalText:e,transformationMap:n}=r,a=n.cleanToOriginal.get(i)??i,o=n.cleanToOriginal.get(t)??t;if(o>a){let r=e.substring(a,o),c=/\n[ \t\r]*\n/g,l;for(;(l=c.exec(r))!==null;){let e=a+l.index+l[0].length,r;for(let t=0;t<10&&(r=n.originalToClean.get(e+t),r===void 0);t++);if(r!==void 0&&r>=i&&r<=t){let e=r-i;e>s&&(s=e)}}}}for(K.lastIndex=0;(c=K.exec(a))!==null;){let e=c.index+c[0].length;e>s&&(s=e)}for(Ee.lastIndex=0;(c=Ee.exec(a))!==null;){let e=c.index+c[0].length;e>s&&(s=e)}for(De.lastIndex=0;(c=De.exec(a))!==null;){let e=c.index+c[0].length;e>s&&(s=e)}for(ke.lastIndex=0;(c=ke.exec(a))!==null;){let e=c.index+c[0].length;e>s&&(s=e)}let l;Ae.lastIndex=0;let u=Ae.exec(a);if(u){let e=u[3],t=F(e);t&&(l={court:u[2].trim(),year:t.parsed.year,date:t}),a=a.substring(0,u.index)+`, `+a.substring(u.index+u[0].length)}for(Oe.lastIndex=0;(c=Oe.exec(a))!==null;){if(a[c.index]===`.`&&Te(a,c.index))continue;let e=c.index+c[0].length;e>s&&(s=e)}s!==-1&&(a=a.substring(s),o=i+s);let d=_e.exec(a);if(d&&!d[0].includes(`;`)){let e=d[1].trim(),t=0;if(!xe(e)){let n=e.split(/\s+/),r=n[0]??``,i=r.toLowerCase().replace(/[.,']+$/,``);if(!(/^[A-Z]/.test(r)&&!ye.has(i)&&!Se.has(i)&&be.test(e))&&!G.exec(e))for(let r=1;r<n.length;r++){let i=n.slice(r).join(` `);if(/^[A-Z]/.test(i)&&xe(i)){t=n.slice(0,r).join(` `).length+1,e=i;break}}}let n=d[0].match(/\bv(?:s)?\.\s/g),r=d[2].trim();if(n&&n.length>=2){let e=/\s(?:Is|Are|Was|Were)\s/.exec(r);if(e)r=r.substring(0,e.index).trim();else{let e=0;for(;e<d[2].length;){let t=d[2].indexOf(`,`,e);if(t===-1)break;let n=d[2].substring(t+1).trimStart();if(/^(?:Inc|LLC|Corp|Ltd|Co|LLP|LP|P\.?C|N\.?A|S\.?A|GmbH|S\.?p\.?A)\.?(?:\b|$)/.test(n)){e=t+1;continue}r=d[2].substring(0,t).trim();break}}}let i=/\bvs?\.?(?=\s)/.exec(d[0])?.[0]??`v.`,a=`${e} ${i} ${r}`,s=o+d.index+t,c=d[3]?.trim(),u=d[4]?Number.parseInt(d[4],10):void 0,f,p;u!==void 0&&d.indices?.[4]&&(f=o+d.indices[4][0],p=o+d.indices[4][1]);let m=l;return!m&&c&&u!==void 0&&d[4]&&(m={court:c,year:u,date:{iso:d[4],parsed:{year:u}}}),{caseName:a,nameStart:s,year:u,yearStart:f,yearEnd:p,precedingDocketMeta:m}}let f=ve.exec(a);if(f&&!f[0].includes(`;`)){let e=`${f[1]} ${f[2].trim()}`,t=o+f.index,n=f[3]?.trim(),r=f[4]?Number.parseInt(f[4],10):void 0,i,a;r!==void 0&&f.indices?.[4]&&(i=o+f.indices[4][0],a=o+f.indices[4][1]);let s=l;return!s&&n&&r!==void 0&&f[4]&&(s={court:n,year:r,date:{iso:f[4],parsed:{year:r}}}),{caseName:e,nameStart:t,year:r,yearStart:i,yearEnd:a,precedingDocketMeta:s}}let p=a.replace(/,\s*$/,``),m=p.length-p.trimStart().length,h=p.substring(m),g=0,_=G.exec(h);_&&(g=_[0].length,h=h.substring(g));let v=h.trim();if(v.length>0&&xe(v)){let e=(v.split(/\s+/)[0]??``).toLowerCase().replace(/[.,']+$/,``);if(!Se.has(e)&&!v.includes(`;`))return{caseName:v,nameStart:o+m+g,precedingDocketMeta:l}}}function Me(e,t,n=500){let r=[],i=[],a=t,o=Math.min(e.length,t+n),s,c=e.substring(a,o),l=me.exec(c);for(l&&(a+=l[0].length);a<o;){for(;a<o&&fe.test(e[a]);)a++;if(a>=o||e[a]!==`(`){let t=e.substring(a,o),n=J(t);if(n){s&&i.push({signal:s,nextParenIndex:-1}),s={text:t.substring(0,n.matchLength).replace(/\s+$/,``),normalized:n.signal,start:a,end:a+n.matchLength},a+=n.matchLength;continue}break}let t=a,n=0,c=a+1;for(;a<o;){let o=e[a];if(o===`(`)n++;else if(o===`)`&&(n--,n===0)){a++;let n=e.substring(c,a-1).trim();n.length>0&&(r.push({text:n,start:t,end:a}),s&&=(i.push({signal:s,nextParenIndex:r.length-1}),void 0));break}a++}if(n>0)break}return s&&i.push({signal:s,nextParenIndex:-1}),{parens:r,signals:i}}function X(e){let t={},n=F(e);n&&(t.date=n,t.year=n.parsed.year);let r=e;if(t.year){let n=String(t.year),i=e.lastIndexOf(n);if(i!==-1){let a=i+n.length,o=e.substring(a),s=/^\s*,\s*(.+?)\s*$/.exec(o);if(s){let n=s[1],i=J(n);if(i){let o=n.substring(0,i.matchLength),s=e.indexOf(o,a);t.internalHistory={signal:i.signal,rawSignal:o,start:s===-1?a:s,end:(s===-1?a:s)+o.length},r=e.substring(0,a)}}}}let i=Ce(r);if(i){t.court=i;let n=e.indexOf(i);n!==-1&&(t.courtStart=n,t.courtEnd=n+i.length)}if(t.year){let n=String(t.year),r=e.lastIndexOf(n);r!==-1&&(t.yearStart=r,t.yearEnd=r+n.length)}let a=/^(?<surnames>[A-Z][a-z]+(?:(?:,\s+|\s+and\s+)[A-Z][a-z]+)*)\s*,?\s*(?<title>C\.J\.|J\.|JJ\.)\s*,?\s*(?<role>.+)$/.exec(e.trim());if(a?.groups){let e=a.groups.surnames,n=a.groups.role.trim().replace(/[.,]+$/,``);t.justices=e.split(/(?:,\s+and\s+|,\s+|\s+and\s+)/).map(e=>e.trim()).filter(Boolean);let r=n.toLowerCase();return/^concurring\s+in\s+part\s+and\s+dissenting\s+in\s+part/.test(r)?(t.disposition=`mixed`,t.scope=`in_part`):/^concurring\s+in\s+the\s+judgment/.test(r)?(t.disposition=`concurrence`,t.scope=`in_judgment`):/^concurring\s+in\s+part/.test(r)?(t.disposition=`concurrence`,t.scope=`in_part`):/^dissenting\s+in\s+part/.test(r)?(t.disposition=`dissent`,t.scope=`in_part`):/^dissenting\s+from\s+denial\s+of/.test(r)?(t.disposition=`dissent`,t.scope=`from_denial`):/^concurring/.test(r)?t.disposition=`concurrence`:/^dissenting/.test(r)?t.disposition=`dissent`:/^joining/.test(r)&&(t.disposition=`majority`),t}return/^plurality\s+opinion\b/i.test(e.trim())?(t.disposition=`plurality opinion`,t):/^mem\.\s*$/i.test(e.trim())?(t.disposition=`mem.`,t):/^unpublished\s+table\s+decision\b/i.test(e.trim())?(t.disposition=`unpublished table decision`,t):(/\ben banc\b\s*$/i.test(e.trim())?t.disposition=`en banc`:/\bin bank\b\s*$/i.test(e.trim())?t.disposition=`in bank`:/\bper curiam\b\s*$/i.test(e.trim())&&(t.disposition=`per curiam`),t)}function Ne(e){let t=Y.exec(e);if(t){let n=t[1].toLowerCase();if(ge(n))return{kind:`explanatory`,text:e,type:n}}let n=X(e);return n.year||n.date||n.disposition||n.justices?{kind:`metadata`,...n}:{kind:`explanatory`,text:e,type:`other`}}function Z(e){let t=e;t=t.replace(/\bet\s+al\.?/gi,``),t=t.replace(/\s+(?:d\/b\/a|[fna]\/k\/a)\b.*/gi,``),t=t.replace(/\s+aka\b.*/gi,``);let n=``;for(;n!==t;)n=t,t=t.replace(/,?\s*(Inc|LLC|Corp|Ltd|Co|LLP|LP|P\.C)\.?$/gi,``);return t=t.replace(/^(The|A|An)\s+/i,``),t=t.replace(/\s+/g,` `),t.trim().toLowerCase()}function Pe(e){let t;for(let t of`In the Matter of the Liquidation of,In the Matter of the Rehabilitation of,In the Matter of the Receivership of,In the Matter of the Extradition of,In the Matter of the Application of,In the Matter of the Welfare of,In the Matter of,In re Petition for Naturalization of,In re Termination of Parental Rights as to,In re Termination of Parental Rights to,In re Termination of Parental Rights of,In re Marriage of,In re Liquidation of,In re Rehabilitation of,In re Receivership of,In re Naturalization of,In re Extradition of,In re Application of,In re Welfare of,In re Dependency of,In re Paternity of,In re Parentage of,In re Conservatorship of,In re Guardianship of,In re Adoption of,In the Interest of,In re,Ex parte,Matter of Liquidation of,Matter of Rehabilitation of,Matter of,Commonwealth of Puerto Rico ex rel.,Government of the Virgin Islands ex rel.,Commonwealth ex rel.,State ex rel.,United States ex rel.,People ex rel.,District of Columbia ex rel.,Petition for Naturalization of,Application of,On Petition of,Petition of,Adoption of,Conservatorship of the Person and Estate of,Conservatorship of the Person of,Conservatorship of the Estate of,Conservatorship of,Guardianship of,Estate of,Care and Protection of,Succession of,Inquiry Concerning Judge,Appeal of`.split(`,`)){let n=RegExp(`^(${t})\\s+(.+)$`,`i`).exec(e);if(n){let t=n[1],r=n[2];if(/\s+vs?\.?\s+/i.test(r)){let t=/^(.+?)\s+vs?\.?\s+(.+)$/i.exec(e);if(t){let e=t[1].trim(),n=t[2].trim();return{plaintiff:e,plaintiffNormalized:Z(e),defendant:n,defendantNormalized:Z(n)}}}else return{plaintiff:e,plaintiffNormalized:Z(r),proceduralPrefix:t}}}let n=/^(.+?)\s+vs?\.?\s+(.+)$/i.exec(e);if(n){let e=n[1].trim(),r=n[2].trim(),i,a=/\s*\(\s*(In\s+re\s+[^)]+?)\s*\)\s*$/i.exec(r);a&&(i=a[1],r=r.substring(0,a.index).trim());let o=e.match(G)??e.match(/^(Also|In(?!\s+re\b))\s+/i);if(o){let n=e.substring(o[0].length).trimStart()[0]??``;if(n>=`A`&&n<=`Z`){let n=o[1].toLowerCase();if(W.has(n))t=n;else{let e=n.replace(/\.$/,``);W.has(e)&&(t=e)}e=e.substring(o[0].length).trim()}}return{plaintiff:e||n[1].trim(),plaintiffNormalized:Z(e||n[1].trim()),defendant:r,defendantNormalized:Z(r),signal:t,...i?{adminParenthetical:i}:{}}}return{}}function Fe(t,n,r,i,a){let{text:c,span:l}=t,u=oe.exec(c);if(!u)throw Error(`Failed to parse case citation: ${c}`);let d=ne(u[1]),f=u[2].trim(),p=u[3]?Number.parseInt(u[3],10):void 0,m=u[4]||void 0,h=u[5],g=se.test(h),_=g?void 0:Number.parseInt(h,10),v=g?!0:void 0,y=ce.exec(c),b=y?U(y[1])??void 0:void 0,x=b?.page,S={};if(u.indices){if(u.indices[1]&&(S.volume=o(l.cleanStart,u.indices[1],n)),u.indices[2]){let[e,t]=u.indices[2],r=c.substring(e,t),i=r.length-r.trimStart().length,a=r.length-r.trimEnd().length;S.reporter=o(l.cleanStart,[e+i,t-a],n)}u.indices[5]&&(S.page=o(l.cleanStart,u.indices[5],n))}y?.indices?.[1]&&(S.pincite=o(l.cleanStart,y.indices[1],n));let C,w,T,E,D,O,k,A,j,M,N=le.exec(c);N&&!p&&(j=N[1],M=X(j),C=M.year,w=M.court,T=M.date,E=M.disposition,D=M.justices,O=M.scope);let P=!1;if(r){let e=r.substring(l.cleanEnd);/^\s*(?:\(U\)|\[U\])/.test(e)&&(P=!0)}let F=l.cleanEnd;if(r&&a&&a.length>0){let e=/^[\s,\d\-–—]*$/;for(;;){let t=a.find(t=>t.cleanStart>F&&e.test(r.substring(F,t.cleanStart)));if(!t)break;F=t.cleanEnd}}if(r&&!j){let e=r.substring(l.cleanEnd),t=F===l.cleanEnd?e:r.substring(F),i=/^\s*(?:\(U\)|\[U\])/.exec(t);i&&(t=t.substring(i[0].length));let a=ue.exec(t);if(a&&(j=a[1],M=X(j),C=M.year,w=M.court,T=M.date,E=M.disposition,D=M.justices,O=M.scope),x===void 0){let t=de.exec(e);if(t&&(b||=U(t[1])??void 0,x=b?.page,t.indices?.[1]&&(S.pincite=o(l.cleanEnd,t.indices[1],n)),b)){let n=[],r=(t.index??0)+t[0].length;for(;r<e.length;){let t=e.substring(r),i=pe.exec(t);if(!i)break;let a=U(i[1]);if(!a)break;n.push(a),r+=i[0].length}n.length>0&&(b={...b,additionalPincites:n})}}}let I,L,R;if(r){R=Me(r,F),L=R.parens;let e=j&&(C!==void 0||w!==void 0||E!==void 0||D!==void 0||O!==void 0)?L.slice(1):L;for(let t of e){let e=Ne(t.text);if(e.kind===`metadata`)e.court&&(!w||w===E)&&(w=e.court),e.year&&!C&&(C=e.year,T=e.date),e.disposition&&!E&&(E=e.disposition),e.justices&&!D&&(D=e.justices),e.scope&&!O&&(O=e.scope);else{I??=[];let r=s({cleanStart:t.start,cleanEnd:t.end},n);I.push({text:e.text,type:e.type,span:{cleanStart:t.start,cleanEnd:t.end,originalStart:r.originalStart,originalEnd:r.originalEnd}})}}}if(L&&L.length>0&&(w||C)){let e=j?L[0]:void 0;if(e){let t=s({cleanStart:e.start,cleanEnd:e.end},n);if(S.metadataParenthetical={cleanStart:e.start,cleanEnd:e.end,originalStart:t.originalStart,originalEnd:t.originalEnd},M){let t=e.start+1;if(M.courtStart!==void 0){let e=t+M.courtStart,r=t+M.courtEnd,i=s({cleanStart:e,cleanEnd:r},n);S.court={cleanStart:e,cleanEnd:r,originalStart:i.originalStart,originalEnd:i.originalEnd}}if(M.yearStart!==void 0){let e=t+M.yearStart,r=t+M.yearEnd,i=s({cleanStart:e,cleanEnd:r},n);S.year={cleanStart:e,cleanEnd:r,originalStart:i.originalStart,originalEnd:i.originalEnd}}}}}let z;if(r&&M?.internalHistory&&L&&L.length>0){let e=j?L[0]:void 0;if(e){let t=e.start+1,r=M.internalHistory,i=t+r.start,a=t+r.end,{originalStart:o,originalEnd:c}=s({cleanStart:i,cleanEnd:a},n);z??=[],z.push({signal:r.signal,rawSignal:r.rawSignal,signalSpan:{cleanStart:i,cleanEnd:a,originalStart:o,originalEnd:c},order:0})}}if(r&&R&&R.signals.length>0)for(let e=0;e<R.signals.length;e++){let{signal:t}=R.signals[e];z??=[];let{originalStart:r,originalEnd:i}=s({cleanStart:t.start,cleanEnd:t.end},n);z.push({signal:t.normalized,rawSignal:t.text,signalSpan:{cleanStart:t.start,cleanEnd:t.end,originalStart:r,originalEnd:i},order:z.length})}let B=ee(f);!w&&B?.level===`supreme`&&B?.jurisdiction===`federal`&&(w=`scotus`);let V;if(a&&a.length>0){let e=a.filter(e=>e.cleanEnd<=l.cleanStart).reduce((e,t)=>!e||t.cleanEnd>e.cleanEnd?t:e,void 0);e&&(V=l.cleanStart-e.cleanEnd)}let H;if(r&&(H=je(r,l.cleanStart,V,{originalText:i,transformationMap:n}),H)){if(k=H.caseName,k&&=(k=k.replace(/\s*\((?:[^()]*\s)?\d{4}\)\s*$/,``).trim(),k=k.replace(/,\s+\d+\s+[A-Z][A-Za-z.&'\d\s]*\d+\s*$/,``).trim(),k.replace(/,\s+\d{4}\s+[A-Z]+\s+\d+\s*$/,``).trim()),H.year&&!C&&(C=H.year,H.yearStart!==void 0&&H.yearEnd!==void 0&&!S.year)){let e=s({cleanStart:H.yearStart,cleanEnd:H.yearEnd},n);S.year={cleanStart:H.yearStart,cleanEnd:H.yearEnd,originalStart:e.originalStart,originalEnd:e.originalEnd}}if(H.precedingDocketMeta){let e=H.precedingDocketMeta;C||=e.year,w||=e.court,T||=e.date}let e=L&&L.length>0?L[L.length-1].end:l.cleanEnd,t=H.nameStart,r=e;A={cleanStart:t,cleanEnd:r,originalStart:n.cleanToOriginal.get(t)??t,originalEnd:n.cleanToOriginal.get(r)??r};let i=H.nameStart,a=i+k.length,o=s({cleanStart:i,cleanEnd:a},n);S.caseName={cleanStart:i,cleanEnd:a,originalStart:o.originalStart,originalEnd:o.originalEnd}}if(!A&&V!==void 0&&V<30&&L&&L.length>0){let e=L[L.length-1];if(e.end>l.cleanEnd){let t=l.cleanStart,r=e.end;A={cleanStart:t,cleanEnd:r,originalStart:n.cleanToOriginal.get(t)??t,originalEnd:n.cleanToOriginal.get(r)??r}}}let W,re,K,fe,me,q,J;if(k){let e=Pe(k);if(W=e.plaintiff,re=e.plaintiffNormalized,K=e.defendant,fe=e.defendantNormalized,me=e.proceduralPrefix,J=e.signal,q=e.adminParenthetical,W&&K){let e=q?` (${q})`:``,t=(k?/\s+(vs?\.?)\s+/.exec(k):null)?.[1]??`v.`,i=`${W} ${t} ${K}${e}`;if(i!==k&&A&&r){k=i;let e=r.substring(A.cleanStart,l.cleanStart),t=/\s+vs?\.?\s+/i.exec(e);if(t){let r=e.substring(0,t.index).lastIndexOf(W);if(r!==-1){let e=A.cleanStart+r,t=n.cleanToOriginal.get(e)??e;A={...A,cleanStart:e,originalStart:t}}}if(H){let e=A.cleanStart,t=e+k.length,r=s({cleanStart:e,cleanEnd:t},n);S.caseName={cleanStart:e,cleanEnd:t,originalStart:r.originalStart,originalEnd:r.originalEnd}}}}if(W&&H&&r){let e=A?.cleanStart??H.nameStart,t=r.substring(e,l.cleanStart),i=/\s+vs?\.?\s+/i.exec(t);if(i){let r=t.substring(0,i.index).lastIndexOf(W);if(r!==-1){let t=e+r,i=t+W.length,a=s({cleanStart:t,cleanEnd:i},n);S.plaintiff={cleanStart:t,cleanEnd:i,originalStart:a.originalStart,originalEnd:a.originalEnd}}if(K){let r=i.index+i[0].length,a=t.substring(r).indexOf(K);if(a!==-1){let t=e+r+a,i=t+K.length,o=s({cleanStart:t,cleanEnd:i},n);S.defendant={cleanStart:t,cleanEnd:i,originalStart:o.originalStart,originalEnd:o.originalEnd}}}}else{let r=t.indexOf(W);if(r!==-1){let t=e+r,i=t+W.length,a=s({cleanStart:t,cleanEnd:i},n);S.plaintiff={cleanStart:t,cleanEnd:i,originalStart:a.originalStart,originalEnd:a.originalEnd}}}}if(J&&A&&r&&H){let e=r.substring(H.nameStart,l.cleanStart),t=G.exec(e);if(t){let e=H.nameStart,r=e+t[1].length,i=s({cleanStart:e,cleanEnd:r},n);S.signal={cleanStart:e,cleanEnd:r,originalStart:i.originalStart,originalEnd:i.originalEnd}}}}let{originalStart:he,originalEnd:ge}=s(l,n),Y=.2,_e=e.s()?.byAbbreviation.get(f.toLowerCase());return(_e&&_e.length>0||ae.has(f))&&(Y+=.3),C!==void 0&&C<=ie&&(Y+=.2),k&&(Y+=.15),w&&(Y+=.1),Y=Math.round(Math.min(Y,1)*100)/100,v&&(Y=Math.max(Y,.5)),{type:`case`,text:c,span:{cleanStart:l.cleanStart,cleanEnd:l.cleanEnd,originalStart:he,originalEnd:ge},confidence:Y,matchedText:c,processTimeMs:0,patternsChecked:1,volume:d,reporter:f,page:_,nominativeVolume:p,nominativeReporter:m,pincite:x,pinciteInfo:b,court:w,normalizedCourt:te(w),year:C,hasBlankPage:v,date:T,fullSpan:A,caseName:k,disposition:E,parentheticals:I,subsequentHistoryEntries:z,...P?{unpublished:!0}:{},...D?{justices:D}:{},...O?{scope:O}:{},...q?{adminParenthetical:q}:{},plaintiff:W,plaintiffNormalized:re,defendant:K,defendantNormalized:fe,proceduralPrefix:me,inferredCourt:B,signal:J,spans:S}}const Q=`${String.raw`(?:art(?:icle)?\.?|amend(?:ment)?\.?|amdt\.?)\s+([IVX]+|\d+)`}${String.raw`(?:[,;]\s*§\s*([\w-]+))?`}${String.raw`(?:[,;]\s*cl\.?\s*(\d+))?`}`,Ie=new RegExp(Q,`id`),Le=[{id:`us-constitution`,regex:new RegExp(String.raw`\b(?:United\s+States\s+Constitution|U\.?\s*S\.?\s+Const\.?),?\s+${Q}`,`gi`),description:`U.S. Constitution citations (e.g., "U.S. Const. art. III, § 2", "U.S. Const. amend. XIV")`,type:`constitutional`},{id:`state-constitution`,regex:new RegExp(String.raw`\b(?:Ala|Alaska|Ariz|Ark|Cal(?:if)?|Colo|Conn|Del|Fla|Ga|Haw|Idaho|Ill|Ind|Iowa|Kan|Ky|La|Me|Md|Mass|Mich|Minn|Miss|Mo|Mont|Neb|Nev|N\.?\s*H|N\.?\s*J|N\.?\s*M|N\.?\s*Y|N\.?\s*C|N\.?\s*D|Ohio|Okla|Or(?:e)?|Pa|R\.?\s*I|S\.?\s*C|S\.?\s*D|Tenn|Tex|Utah|Vt|W\.?\s*Va|Va|Wash|Wis|Wyo)(?:\.\s*|\s+)Const\.?,?\s+${Q}`,`gi`),description:`State constitution citations (e.g., "Cal. Const. art. I, § 7", "N.Y. Const. art. VI, § 20", "Pa.Const. art. VIII, § 4")`,type:`constitutional`},{id:`bare-constitution`,regex:new RegExp(String.raw`(?<!\.\s)(?<![A-Z]\s)\bConst\.?,?\s+${Q}`,`g`),description:`Bare constitutional citations without jurisdiction prefix (e.g., "Const. art. I, § 8, cl. 3")`,type:`constitutional`},{id:`bare-article`,regex:new RegExp(String.raw`(?<!Const\.?,?\s)\bArt\.?\s+[IVX]+[,;]\s*§\s*[\w-]+(?:[,;]\s*cl\.?\s*\d+)?`,`g`),description:`Bare article references without "Const." prefix (e.g., "Art. I, §8, cl. 3")`,type:`constitutional`}],Re={I:1,II:2,III:3,IV:4,V:5,VI:6,VII:7,VIII:8,IX:9,X:10,XI:11,XII:12,XIII:13,XIV:14,XV:15,XVI:16,XVII:17,XVIII:18,XIX:19,XX:20,XXI:21,XXII:22,XXIII:23,XXIV:24,XXV:25,XXVI:26,XXVII:27};function ze(e){let t=e.toUpperCase();if(t in Re)return Re[t];let n=Number.parseInt(e,10);return Number.isNaN(n)?void 0:n}const Be={ala:`AL`,alaska:`AK`,ariz:`AZ`,ark:`AR`,cal:`CA`,calif:`CA`,colo:`CO`,conn:`CT`,del:`DE`,fla:`FL`,ga:`GA`,haw:`HI`,idaho:`ID`,ill:`IL`,ind:`IN`,iowa:`IA`,kan:`KS`,ky:`KY`,la:`LA`,me:`ME`,md:`MD`,mass:`MA`,mich:`MI`,minn:`MN`,miss:`MS`,mo:`MO`,mont:`MT`,neb:`NE`,nev:`NV`,"n.h":`NH`,"n.j":`NJ`,"n.m":`NM`,"n.y":`NY`,"n.c":`NC`,"n.d":`ND`,ohio:`OH`,okla:`OK`,or:`OR`,ore:`OR`,pa:`PA`,"r.i":`RI`,"s.c":`SC`,"s.d":`SD`,tenn:`TN`,tex:`TX`,utah:`UT`,vt:`VT`,va:`VA`,wash:`WA`,"w.va":`WV`,wis:`WI`,wyo:`WY`},Ve=/amend|amdt/i,He=/^([A-Za-z]+(?:\.\s*[A-Za-z]+)?(?:\.\s*[A-Za-z]+)?)\.?\s*Const/i;function Ue(e){let t=He.exec(e);if(!t)return;let n=t[1].replace(/\s+/g,``).replace(/\.$/g,``).toLowerCase();if(n in Be)return Be[n]}function We(e,t){let{text:n,span:r}=e,i=Ie.exec(n),a,c,l,u;if(i){let e=ze(i[1]);Ve.test(i[0])?c=e:a=e,l=i[2]||void 0,u=i[3]?Number.parseInt(i[3],10):void 0}let d;switch(e.patternId){case`us-constitution`:d=`US`;break;case`state-constitution`:d=Ue(n);break;default:d=void 0;break}let{originalStart:f,originalEnd:p}=s(r,t),m;m=e.patternId===`bare-article`?.5:e.patternId===`bare-constitution`?.7:l?.95:.9;let h=n.endsWith(`.`)?n.slice(0,-1):n,g={};if(d===`US`){let e=n.indexOf(`U.S.`);e!==-1&&(g.jurisdiction=o(r.cleanStart,[e,e+4],t))}else if(d&&e.patternId===`state-constitution`){let e=He.exec(n);if(e){let n=e[1].length+1;g.jurisdiction=o(r.cleanStart,[0,n],t)}}return i?.indices&&(Ve.test(i[0])?i.indices[1]&&(g.amendment=o(r.cleanStart,i.indices[1],t)):i.indices[1]&&(g.article=o(r.cleanStart,i.indices[1],t)),i.indices[2]&&(g.section=o(r.cleanStart,i.indices[2],t)),i.indices[3]&&(g.clause=o(r.cleanStart,i.indices[3],t))),{type:`constitutional`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:m,matchedText:h,processTimeMs:0,patternsChecked:1,jurisdiction:d,article:a,amendment:c,section:l,clause:u,spans:g}}function Ge(e,t,n,r){let{text:i,span:a}=e,o=/\b(?:(?:C\.A\.|Civ\.|Civil(?:\s+Action)?|Case|Adv\.|Docket)\s+)?No\.\s+([A-Za-z\d]+(?::?[A-Za-z\d]+)?(?:[-\s][A-Za-z\d]+)*)\s+\(([^)]+)\)/.exec(i);if(!o)return;let c=o[1],l=o[2],u=je(n,a.cleanStart,void 0,{originalText:r,transformationMap:t});if(!u)return;let d=Pe(u.caseName),f=d.plaintiff&&d.defendant,p=!!d.proceduralPrefix;if(!f&&!p)return;let m=X(l),{originalStart:h,originalEnd:g}=s(a,t),_=u.nameStart;if(d.plaintiff&&d.defendant){let e=n.substring(_,a.cleanStart),t=/\s+v\.?\s+/i.exec(e);if(t){let n=e.substring(0,t.index).lastIndexOf(d.plaintiff);n!==-1&&(_+=n)}}let v=a.cleanEnd,y=t.cleanToOriginal.get(_)??_,b=t.cleanToOriginal.get(v)??v;return{type:`docket`,text:i,matchedText:i,span:{cleanStart:a.cleanStart,cleanEnd:a.cleanEnd,originalStart:h,originalEnd:g},confidence:.7,processTimeMs:0,patternsChecked:1,docketNumber:c,caseName:d.plaintiff&&d.defendant?`${d.plaintiff} v. ${d.defendant}`:u.caseName,plaintiff:d.plaintiff,defendant:d.defendant,plaintiffNormalized:d.plaintiffNormalized,defendantNormalized:d.defendantNormalized,proceduralPrefix:d.proceduralPrefix,court:m.court,normalizedCourt:te(m.court),year:m.year,date:m.date,fullSpan:{cleanStart:_,cleanEnd:v,originalStart:y,originalEnd:b}}}function Ke(e,t){let{text:n,span:r}=e,i=/^(\d+(?:-\d+)?)\s+Fed\.\s?Reg\.\s+(\d+)/d.exec(n);if(!i)throw Error(`Failed to parse Federal Register citation: ${n}`);let a=i[1],c=/^\d+$/.test(a)?Number.parseInt(a,10):a,l=Number.parseInt(i[2],10),u;i.indices&&(u={volume:o(r.cleanStart,i.indices[1],t),page:o(r.cleanStart,i.indices[2],t)});let d=/\((?:.*?\s)?(\d{4})\)/.exec(n),f=d?Number.parseInt(d[1],10):void 0,{originalStart:p,originalEnd:m}=s(r,t);return{type:`federalRegister`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:p,originalEnd:m},confidence:.9,matchedText:n,processTimeMs:0,patternsChecked:1,volume:c,page:l,year:f,spans:u}}function qe(e,t,n){let{text:r,span:i}=e,a=/^(\d+(?:-\d+)?)\s+([A-Za-z.\s]+?)\s+(\d+)/d.exec(r);if(!a)throw Error(`Failed to parse journal citation: ${r}`);let c=a[1],l=/^\d+$/.test(c)?Number.parseInt(c,10):c,u=a[2].trim(),d=Number.parseInt(a[3],10),f,p;n===void 0?(f=r.slice(a[0].length),p=i.cleanStart+a[0].length):(f=n.slice(i.cleanEnd,i.cleanEnd+30),p=i.cleanEnd);let m=n?n.slice(i.cleanStart,i.cleanEnd+30):r,h=/^,\s*(\d+)/d.exec(f),g=h?Number.parseInt(h[1],10):void 0,_=/\((?:.*?\s)?(\d{4})\)/d.exec(m),v=_?Number.parseInt(_[1],10):void 0,y;a.indices&&(y={volume:o(i.cleanStart,a.indices[1],t),journal:o(i.cleanStart,a.indices[2],t),page:o(i.cleanStart,a.indices[3],t)},h?.indices?.[1]&&(y.pincite=o(p,h.indices[1],t)),_?.indices?.[1]&&(y.year=o(i.cleanStart,_.indices[1],t)));let{originalStart:b,originalEnd:x}=s(i,t);return{type:`journal`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:b,originalEnd:x},confidence:.6,matchedText:r,processTimeMs:0,patternsChecked:1,volume:l,journal:u,abbreviation:u,page:d,pincite:g,year:v,spans:y}}const Je=/^(?:\s+at\s+|,\s*(?:at\s+(?:pp?\.\s*)?)?)(\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?|¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?)/d,Ye=/^(?:\s*,?\s*(?:at\s+)?\*?\d+(?:[-–—]\*?\d+)?)?\s*\(([^)]+)\)/;function Xe(e){return e===`WL`||e===`BL`?!0:/\bLEXIS\b/.test(e)}function Ze(e,t,n){let{text:r,span:i}=e,a,c,l,u=!1,d,f=/^(\d{4})-([A-Z]+)-(\d+)-([A-Z]+)$/d.exec(r);if(f){if(a=Number.parseInt(f[1],10),c=`${f[2]}-${f[4]}`,l=f[3],f.indices){let e=f.indices[2],n=f.indices[4],r=[e[0],n[1]];d={year:o(i.cleanStart,f.indices[1],t),court:o(i.cleanStart,r,t),documentNumber:o(i.cleanStart,f.indices[3],t)}}}else{let e=/^(\d{4})[-\s]+(.+?)[-\s]+(\d+)(-U)?$/d.exec(r);if(!e)throw Error(`Failed to parse neutral citation: ${r}`);a=Number.parseInt(e[1],10),c=e[2],l=e[3],e[4]===`-U`&&(u=!0),e.indices&&(d={year:o(i.cleanStart,e.indices[1],t),court:o(i.cleanStart,e.indices[2],t),documentNumber:o(i.cleanStart,e.indices[3],t)})}let p,m;if(n){let e=n.substring(i.cleanEnd),r=Je.exec(e);r&&(m=U(r[1])??void 0,p=m?.page??m?.paragraph,r.indices?.[1]&&(d||={},d.pincite=o(i.cleanEnd,r.indices[1],t)))}let h,g=c;Xe(c)&&(h=c,g=void 0,d&&(d.court=void 0));let _;if(n&&h){let e=n.substring(i.cleanEnd),t=Ye.exec(e);if(t){let e=X(t[1]);e.court&&(g=e.court),e.date&&(_=e.date)}}let{originalStart:v,originalEnd:y}=s(i,t),b;if(n){let e=je(n,i.cleanStart);e&&(b=e.caseName,b&&=(b=b.replace(/^(?:But\s+see(?:\s+also)?,?\s+|See\s+also,?\s+|See\s+generally\s+|See,\s+e\.g\.,?\s+|See\s+|Cf\.\s+|In\s+|Accord\s+|Contra\s+|Compare\s+|E\.g\.,?\s+)/,``).trim(),b=b.replace(/\s*\((?:[^()]*\s)?\d{4}\)\s*$/,``).trim(),b=b.replace(/,\s+\d+\s+[A-Z][A-Za-z.&'\d\s]*\d+\s*$/,``).trim(),b.replace(/,\s+\d{4}\s+[A-Z]+\s+\d+\s*$/,``).trim()))}return{type:`neutral`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:v,originalEnd:y},confidence:1,matchedText:r,processTimeMs:0,patternsChecked:1,year:a,court:g,...h?{database:h}:{},documentNumber:l,...u?{unpublished:!0}:{},pincite:p,pinciteInfo:m,..._?{date:_}:{},...b?{caseName:b}:{},spans:d}}function Qe(e,t){let{text:n,span:r}=e,i=/Pub\.\s?L\.(?:\s?No\.)?\s?(\d+)-(\d+)/d.exec(n);if(!i)throw Error(`Failed to parse public law citation: ${n}`);let a=Number.parseInt(i[1],10),c=Number.parseInt(i[2],10),l;i.indices&&(l={congress:o(r.cleanStart,i.indices[1],t),lawNumber:o(r.cleanStart,i.indices[2],t)});let{originalStart:u,originalEnd:d}=s(r,t);return{type:`publicLaw`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:u,originalEnd:d},confidence:.9,matchedText:n,processTimeMs:0,patternsChecked:1,congress:a,lawNumber:c,spans:l}}const $e=/^(?:But\s+(?:see|cf\.?)|See(?:\s+also)?(?:\s*,\s*e\.\s*g\.?)?|Compare|Cf\.?|Accord|E\.\s*g\.?|Also|In(?!\s+re\b)|Then)\s+/i;function et(e){let t=e.replace($e,``).trim();return t.length>0?t:e}const tt=/^[\s,]*\(([^()]*)\)/;function nt(e,t){if(!e)return;let n=e.slice(t),r=tt.exec(n);if(!r)return;let i=r[1].trim();return i.length>0?i:void 0}function rt(e,t,n){let{text:r,span:i}=e,a=/([Ii])(?:d|bid)\s*(?:(\.)|(,)(?=\s+at\s))(?:(,\s+|,?\s+(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b)))(\*?\d+(?:\s*[-–]\s*\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?|¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?))?/d.exec(r);if(!a)throw Error(`Failed to parse Id. citation: ${r}`);let c=a[1],l=a[3]===`,`,u=l||a[4]?.startsWith(`,`)===!0,d=a[5]?U(a[5])??void 0:void 0,f=d?.page,p;a[5]&&a.indices?.[5]&&(p={pincite:o(i.cleanStart,a.indices[5],t)});let m=1;if(c===`i`&&(m=.85),u&&(m=Math.min(m,.9)),l&&(m=Math.min(m,.7)),n&&i.cleanStart>0){let e=n.slice(Math.max(0,i.cleanStart-20),i.cleanStart).trimEnd();e.length>0&&(e[e.length-1],/[.;)\]—:]$/.test(e)||(m=Math.min(m,.4)))}let{originalStart:h,originalEnd:g}=s(i,t),_=nt(n,i.cleanEnd);return{type:`id`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:h,originalEnd:g},confidence:m,matchedText:r,processTimeMs:0,patternsChecked:1,pincite:f,pinciteInfo:d,..._?{parenthetical:_}:{},spans:p}}function it(e,t,n){let{text:r,span:i}=e,a=r.includes(`[supra`)?/(?:\b([A-Z][a-zA-Z''\-]+\.?(?:(?:\s+v\.?\s+|\s+&\s+|,\s+|\s+)[A-Z][a-zA-Z''\-]+\.?)*)\s*,?\s+)?\[supra(?:(?:,\s+|\s+at\s+(?:pp?\.\s*)?)(\d+(?:[-–—]\d+)?))?\]/d.exec(r):null,c=a?null:/\b([A-Z][a-zA-Z''\-]+\.?(?:(?:\s+v\.?\s+|\s+&\s+|,\s+|\s+)[A-Z][a-zA-Z''\-]+\.?)*)\s*,?\s+supra(?:\s+note\s+(\d+))?(?:(?:,\s+|,?\s+(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b)))(\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?|¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?))?/d.exec(r),l=a||c||/supra(?:\s+note\s+(\d+)(?:,?\s+(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b))(\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?|¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?))?|\s+(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b))(\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?|¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?))?/d.exec(r);if(!l)throw Error(`Failed to parse supra citation: ${r}`);let u,d,f,p;if(a)u=a[1]?et(a[1]):void 0,d=a[2]?U(a[2])??void 0:void 0,f=u?.9:.8,a[2]&&(p=2);else if(c)u=et(c[1]),d=c[3]?U(c[3])??void 0:void 0,f=.9,c[3]&&(p=3);else{u=void 0;let e=l[2],t=l[3],n=e??t;d=n?U(n)??void 0:void 0,f=.8,e?p=2:t&&(p=3)}let m=d?.page,h;p!==void 0&&l.indices?.[p]&&(h={pincite:o(i.cleanStart,l.indices[p],t)});let{originalStart:g,originalEnd:_}=s(i,t),v=nt(n,i.cleanEnd);return{type:`supra`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:g,originalEnd:_},confidence:f,matchedText:r,processTimeMs:0,patternsChecked:1,partyName:u,pincite:m,pinciteInfo:d,...v?{parenthetical:v}:{},spans:h}}function at(e,t,n){let{text:r,span:i}=e,a=/(?:([A-Z][a-zA-Z''\-]+\.?(?:(?:\s+v\.?\s+|\s+&\s+|,\s+|\s+)[A-Z][a-zA-Z''\-]+\.?)*),\s+)?(\d+(?:-\d+)?)\s+([A-Z][A-Za-z.''\s]+?(?:\d[a-z]{1,2})?)\s*,?\s+at\s+(?:pp?\.\s*|pages?\s+)?(\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?|¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?)/d.exec(r);if(!a)throw Error(`Failed to parse short-form case citation: ${r}`);let c=a[1],l=a[2],u=/^\d+$/.test(l)?Number.parseInt(l,10):l,d=a[3].trim(),f=U(a[4])??void 0,p=f?.page,m,h;c&&(m=et(c),h=m.toLowerCase().replace(/\s+/g,` `).trim());let g;a.indices?.[4]&&(g={pincite:o(i.cleanStart,a.indices[4],t)});let{originalStart:_,originalEnd:v}=s(i,t),y=.4;ae.has(d)&&(y+=.3);let b=nt(n,i.cleanEnd);return{type:`shortFormCase`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:_,originalEnd:v},confidence:y,matchedText:r,processTimeMs:0,patternsChecked:1,volume:u,reporter:d,pincite:p,pinciteInfo:f,partyName:m,partyNameNormalized:h,...b?{parenthetical:b}:{},spans:g}}const ot=/^([^([]+?)\s*((?:\([^)]*\)|\[[^\]]*\])*)$/,st=/\s*et\s+seq\.?\s*$/i;function $(e){let t=e.replace(st,``),n=t!==e,r=t.trim(),i=ot.exec(r),a=i?.[2];return i!==null&&a?{section:i[1].trim(),subsection:a,hasEtSeq:n}:{section:r,hasEtSeq:n}}const ct=/^(?:(\d+)\s+)?(.+?)\s*,?\s*(?:§§?|[Ss]ections?|[Ss]ec\.?)?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9])|,(?=\d))*(?:\([^)]*\)|\[[^\]]*\])*(?:\s*et\s+seq\.?)?)$/d;function lt(t,n){let{text:r,span:i}=t,a=ct.exec(r),c,l,u;a?(c=a[1]?Number.parseInt(a[1],10):void 0,l=a[2].trim(),u=a[3]):(l=r,u=``);let d=e.n(l),f=d?.jurisdiction,p=d&&!d.patterns.some(e=>e.toLowerCase()===l.toLowerCase())?d.abbreviation:l,{section:m,subsection:h,hasEtSeq:g}=$(u),{originalStart:_,originalEnd:v}=s(i,n),y;if(a?.indices&&(y={},a.indices[1]&&(y.title=o(i.cleanStart,a.indices[1],n)),a.indices[2]&&(y.code=o(i.cleanStart,a.indices[2],n)),a.indices[3]&&m)){let e=a.indices[3][0],t=m.replace(/[.,;:]\s*$/,``).length;if(y.section=o(i.cleanStart,[e,e+t],n),h){let t=e+m.length;y.subsection=o(i.cleanStart,[t,t+h.length],n)}}let b=r.includes(`§`),x;return x=d&&b?.95:d?.85:b?.6:.4,c!==void 0&&(x+=.05),h&&(x+=.05),x=Math.min(x,1),{type:`statute`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:_,originalEnd:v},confidence:x,matchedText:r,processTimeMs:0,patternsChecked:1,title:c,code:p,section:m,subsection:h,pincite:h,jurisdiction:f,hasEtSeq:g||void 0,spans:y}}const ut=/^Code(?:\s+of\s+Alabama)?,?\s+1940,?\s+T(?:itle|it)?\.\s+(\d+),?\s+§\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)$/d,dt=/^Title\s+(\d+),?\s+(?:§|Sec(?:tion)?s?\.?)\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*),?\s+Code(?:\s+of\s+Alabama)?,?\s+(\d{4})(?:,?\s+(?:as\s+)?[Rr]ecompiled\s+(\d{4}))?$/d,ft=/^Tit\.\s+(\d+),?\s+§\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)(?:,?\s+Code(?:\s+of\s+Alabama)?,?\s+(\d{4})(?:,?\s+(?:as\s+)?[Rr]ecompiled\s+(\d{4}))?)?$/d;function pt(e,t){let{text:n,span:r}=e,i,a,c,l,u,d,f;switch(e.patternId){case`ala-code-prefix`:f=ut.exec(n),i=f[1],a=f[2],c=1940,u=1,d=2;break;case`ala-title-trailer`:f=dt.exec(n),i=f[1],a=f[2],c=Number.parseInt(f[3],10),f[4]&&(l=Number.parseInt(f[4],10)),u=1,d=2;break;default:f=ft.exec(n),i=f[1],a=f[2],f[3]&&(c=Number.parseInt(f[3],10)),f[4]&&(l=Number.parseInt(f[4],10)),u=1,d=2;break}let p=Number.parseInt(i,10),{section:m,subsection:h,hasEtSeq:g}=$(a),{originalStart:_,originalEnd:v}=s(r,t),y;if(f.indices){y={};let e=f.indices[u];e&&(y.title=o(r.cleanStart,e,t));let n=f.indices[d];if(n&&m){let e=n[0],i=m.replace(/[.,;:]\s*$/,``).length;if(y.section=o(r.cleanStart,[e,e+i],t),h){let n=e+m.length;y.subsection=o(r.cleanStart,[n,n+h.length],t)}}}let b=.95;return h&&(b+=.05),b=Math.min(b,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:_,originalEnd:v},confidence:b,matchedText:n,processTimeMs:0,patternsChecked:1,title:p,code:`Code of Alabama 1940`,section:m,subsection:h,pincite:h,year:c,recompiledYear:l,jurisdiction:`AL`,hasEtSeq:g||void 0,spans:y}}const mt=[{canonical:`Code Civ. Proc.`,regexFragment:`Code\\s+Civ\\.?\\s+Proc\\.?`},{canonical:`Code Crim. Proc.`,regexFragment:`Code\\s+Crim\\.?\\s+Proc\\.?`},{canonical:`Bus. & Prof. Code`,regexFragment:`Bus\\.?\\s*&\\s*Prof\\.?\\s+Code`},{canonical:`Welf. & Inst. Code`,regexFragment:`Welf\\.?\\s*&\\s*Inst\\.?\\s+Code`},{canonical:`Health & Safety Code`,regexFragment:`Health\\s*&\\s*Safety\\s+Code`},{canonical:`Fish & Game Code`,regexFragment:`Fish\\s*&\\s*Game\\s+Code`},{canonical:`Food & Agric. Code`,regexFragment:`Food\\s*&\\s*Agric\\.?\\s+Code`},{canonical:`Harb. & Nav. Code`,regexFragment:`Harb\\.?\\s*&\\s*Nav\\.?\\s+Code`},{canonical:`Mil. & Vet. Code`,regexFragment:`Mil\\.?\\s*&\\s*Vet\\.?\\s+Code`},{canonical:`Rev. & Tax. Code`,regexFragment:`Rev\\.?\\s*&\\s*Tax\\.?\\s+Code`},{canonical:`Sts. & Hy. Code`,regexFragment:`Sts\\.?\\s*&\\s*Hy\\.?\\s+Code`},{canonical:`Pub. Util. Code`,regexFragment:`Pub\\.?\\s+Util\\.?\\s+Code`},{canonical:`Pub. Cont. Code`,regexFragment:`Pub\\.?\\s+Cont\\.?\\s+Code`},{canonical:`Pub. Resources Code`,regexFragment:`Pub\\.?\\s+Resources\\s+Code`},{canonical:`Unemp. Ins. Code`,regexFragment:`Unemp\\.?\\s+Ins\\.?\\s+Code`},{canonical:`Civ. Code`,regexFragment:`Civ\\.?\\s+Code`},{canonical:`Corp. Code`,regexFragment:`Corp\\.?\\s+Code`},{canonical:`Educ. Code`,regexFragment:`Educ\\.?\\s+Code`},{canonical:`Elec. Code`,regexFragment:`Elec\\.?\\s+Code`},{canonical:`Evid. Code`,regexFragment:`Evid\\.?\\s+Code`},{canonical:`Fam. Code`,regexFragment:`Fam\\.?\\s+Code`},{canonical:`Gov. Code`,regexFragment:`Gov\\.?\\s+Code`},{canonical:`Ins. Code`,regexFragment:`Ins\\.?\\s+Code`},{canonical:`Lab. Code`,regexFragment:`Lab\\.?\\s+Code`},{canonical:`Pen. Code`,regexFragment:`Pen\\.?\\s+Code`},{canonical:`Prob. Code`,regexFragment:`Prob\\.?\\s+Code`},{canonical:`Veh. Code`,regexFragment:`Veh\\.?\\s+Code`},{canonical:`Water Code`,regexFragment:`Water\\s+Code`}];function ht(){let e=[...mt].sort((e,t)=>t.regexFragment.length-e.regexFragment.length).map(e=>e.regexFragment).join(`|`);return RegExp(`\\b(${e})\\s*,?\\s*§§?\\s*(\\d+(?:[A-Za-z0-9:/-]|\\.(?=[A-Za-z0-9]))*(?:\\([^)]*\\))*(?:\\s*et\\s+seq\\.?)?)`,`g`)}function gt(e){let t=e.replace(/\s+/g,` `).trim();for(let e of mt)if(RegExp(`^${e.regexFragment}$`,`i`).test(t))return e.canonical}const _t=/^(.+?)\s*,?\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)$/d;function vt(e,t){let{text:n,span:r}=e,i=_t.exec(n),a=i[1].trim(),c=i[2],l=gt(a),{section:u,subsection:d,hasEtSeq:f}=$(c),{originalStart:p,originalEnd:m}=s(r,t),h;if(i?.indices&&(h={},i.indices[1]&&(h.code=o(r.cleanStart,i.indices[1],t)),i.indices[2]&&u)){let e=i.indices[2][0],n=u.replace(/[.,;:]\s*$/,``).length;if(h.section=o(r.cleanStart,[e,e+n],t),d){let n=e+u.length;h.subsection=o(r.cleanStart,[n,n+d.length],t)}}let g=.95;return d&&(g+=.05),g=Math.min(g,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:p,originalEnd:m},confidence:g,matchedText:n,processTimeMs:0,patternsChecked:1,code:l,section:u,subsection:d,pincite:d,jurisdiction:`CA`,hasEtSeq:f||void 0,spans:h}}const yt=/^(\d+)\s+(?:ILCS|Ill\.?\s*Comp\.?\s*Stat\.?)\s*(?:Ann\.?\s+)?(\d+)\/(\d+(?:[A-Za-z0-9:-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)$/d;function bt(e,t){let{text:n,span:r}=e,i=yt.exec(n),a,c,l;i?(a=Number.parseInt(i[1],10),c=i[2],l=i[3]):(c=n,l=``);let{section:u,subsection:d,hasEtSeq:f}=$(l),{originalStart:p,originalEnd:m}=s(r,t),h=u.replace(/[.,;:]\s*$/,``).length,g;if(i?.indices&&(g={},i.indices[1]&&(g.title=o(r.cleanStart,i.indices[1],t)),i.indices[2]&&(g.code=o(r.cleanStart,i.indices[2],t)),i.indices[3]&&u)){let e=i.indices[3][0];if(g.section=o(r.cleanStart,[e,e+h],t),d){let n=e+u.length;g.subsection=o(r.cleanStart,[n,n+d.length],t)}}let _=i?.95:.3;return d&&(_+=.05),_=Math.min(_,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:p,originalEnd:m},confidence:_,matchedText:n,processTimeMs:0,patternsChecked:1,title:a,code:c,section:u,subsection:d,pincite:d,jurisdiction:i?`IL`:void 0,hasEtSeq:f||void 0,spans:g}}const xt=/^[Ss]ection\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*),?\s+(Colo(?:rado)?\.?\s+Rev(?:ised)?\.?\s+Stat(?:utes)?\.?(?:\s+Ann(?:otated)?\.?)?)(?:\s+(19\d{2}))?$/d;function St(e,t){let{text:n,span:r}=e,i=xt.exec(n),a=i[1],c=i[2].replace(/\s+/g,` `).trim(),l=i[3],u=l?`${c} ${l}`:c,{section:d,subsection:f,hasEtSeq:p}=$(a),{originalStart:m,originalEnd:h}=s(r,t),g;if(i.indices){g={};let e=i.indices[1];if(e&&d){let n=e[0],i=d.replace(/[.,;:]\s*$/,``).length;if(g.section=o(r.cleanStart,[n,n+i],t),f){let e=n+d.length;g.subsection=o(r.cleanStart,[e,e+f.length],t)}}i.indices[2]&&(g.code=o(r.cleanStart,i.indices[2],t))}let _=.9;return f&&(_+=.05),_=Math.min(_,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:m,originalEnd:h},confidence:_,matchedText:n,processTimeMs:0,patternsChecked:1,code:u,section:d,subsection:f,pincite:f,jurisdiction:`CO`,hasEtSeq:p||void 0,spans:g}}const Ct=/^(\d+)\s+(U\.?S\.?C\.?A?\.?|USCA?|United\s+States\s+Code|C\.?F\.?R\.?|Code\s+of\s+Federal\s+Regulations)\s*(?:§§?|[Ss]ections?|[Ss]ec\.?|Part|pt\.)?\s*(.+)$/d,wt=/^(\d+)\s+(U\.?S\.?C\.?A?\.?|USCA?|United\s+States\s+Code|C\.?F\.?R\.?|Code\s+of\s+Federal\s+Regulations)\s+(?:Part|pt\.)\s+(.+)$/d;function Tt(e,t){let{text:n,span:r}=e,i=Ct.exec(n)??wt.exec(n),a,c,l;if(i){a=Number.parseInt(i[1],10);let e=i[2];l=i[3];let t=e.toUpperCase().replace(/[.\s]/g,``);c=t.includes(`CFR`)||t.includes(`FEDERALREGULATIONS`)?`C.F.R.`:`U.S.C.`}else c=e.patternId===`cfr`?`C.F.R.`:`U.S.C.`,l=n,a=void 0;let{section:u,subsection:d,hasEtSeq:f}=$(l),{originalStart:p,originalEnd:m}=s(r,t),h;if(i?.indices&&(h={},i.indices[1]&&(h.title=o(r.cleanStart,i.indices[1],t)),i.indices[2]&&(h.code=o(r.cleanStart,i.indices[2],t)),i.indices[3]&&u)){let e=i.indices[3][0],n=u.replace(/[.,;:]\s*$/,``).length;if(h.section=o(r.cleanStart,[e,e+n],t),d){let n=e+u.length;h.subsection=o(r.cleanStart,[n,n+d.length],t)}}let g=.95;return a!==void 0&&(g+=.05),d&&(g+=.05),g=Math.min(g,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:p,originalEnd:m},confidence:g,matchedText:n,processTimeMs:0,patternsChecked:1,title:a,code:c,section:u,subsection:d,pincite:d,jurisdiction:`US`,hasEtSeq:f||void 0,spans:h}}const Et=/^(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+(?:Florida\s+Statutes|Fla\.\s*Stat\.)$/d,Dt=/^Florida\s+Statutes?\s*§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?)$/d;function Ot(e,t){let{text:n,span:r}=e,i=(e.patternId===`florida-postfix`?Et:Dt).exec(n),a=i[1],{section:c,subsection:l,hasEtSeq:u}=$(a),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={};let e=i.indices[1];if(e&&c){let n=e[0],i=c.replace(/[.,;:]\s*$/,``).length;if(p.section=o(r.cleanStart,[n,n+i],t),l){let e=n+c.length;p.subsection=o(r.cleanStart,[e,e+l.length],t)}}}let m=.95;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`Fla. Stat.`,section:c,subsection:l,pincite:l,jurisdiction:`FL`,hasEtSeq:u||void 0,spans:p}}const kt=/^(Code(?:\s+Ann\.?)?)\s+§\s*(\d+-\d+(?:[A-Za-z0-9])?(?:\([A-Za-z0-9]+\))*)$/d;function At(e,t){let{text:n,span:r}=e,i=kt.exec(n),a=i[1],c=i[2],{section:l,subsection:u,hasEtSeq:d}=$(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={},i.indices[1]&&(m.code=o(r.cleanStart,i.indices[1],t));let e=i.indices[2];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.85;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:a,section:l,subsection:u,pincite:u,jurisdiction:`GA`,hasEtSeq:d||void 0,spans:m}}const jt=/^IC\s+(\d{4}),\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)$/d;function Mt(e,t){let{text:n,span:r}=e,i=jt.exec(n),a=Number.parseInt(i[1],10),c=i[2],{section:l,subsection:u,hasEtSeq:d}=$(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={};let e=i.indices[2];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.95;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:`IC`,section:l,subsection:u,pincite:u,year:a,jurisdiction:`IN`,hasEtSeq:d||void 0,spans:m}}const Nt=/^(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+Idaho\s+Code(?:\s+Ann\.?)?$/d;function Pt(e,t){let{text:n,span:r}=e,i=Nt.exec(n),a=i[1],{section:c,subsection:l,hasEtSeq:u}=$(a),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={};let e=i.indices[1];if(e&&c){let n=e[0],i=c.replace(/[.,;:]\s*$/,``).length;if(p.section=o(r.cleanStart,[n,n+i],t),l){let e=n+c.length;p.subsection=o(r.cleanStart,[e,e+l.length],t)}}}let m=.95;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`Idaho Code`,section:c,subsection:l,pincite:l,jurisdiction:`ID`,hasEtSeq:u||void 0,spans:p}}const Ft=/^Ill\.?\s*Rev\.?\s*Stat\.?,?\s+(\d{4}),?\s+[Cc]h\.\s+(\d+[A-Z]?),?\s+pars?\.\s+(\d+(?:[A-Za-z0-9:-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)$/d;function It(e,t){let{text:n,span:r}=e,i=Ft.exec(n),a=Number.parseInt(i[1],10),c=i[2],l=Number.parseInt(c,10),u=i[3],{section:d,subsection:f,hasEtSeq:p}=$(u),{originalStart:m,originalEnd:h}=s(r,t),g;if(i.indices&&(g={},i.indices[2]&&(g.title=o(r.cleanStart,i.indices[2],t)),i.indices[3]&&d)){let e=i.indices[3][0],n=d.replace(/[.,;:]\s*$/,``).length;if(g.section=o(r.cleanStart,[e,e+n],t),f){let n=e+d.length;g.subsection=o(r.cleanStart,[n,n+f.length],t)}}let _=.95;return f&&(_+=.05),_=Math.min(_,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:m,originalEnd:h},confidence:_,matchedText:n,processTimeMs:0,patternsChecked:1,title:l,code:`Ill. Rev. Stat.`,section:d,subsection:f,pincite:f,year:a,jurisdiction:`IL`,hasEtSeq:p||void 0,spans:g}}const Lt=/^(?:I\.R\.C\.|IRC)\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)$/d;function Rt(e,t){let{text:n,span:r}=e,i=Lt.exec(n),a=i[1],{section:c,subsection:l,hasEtSeq:u}=$(a),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={};let e=i.indices[1];if(e&&c){let n=e[0],i=c.replace(/[.,;:]\s*$/,``).length;if(p.section=o(r.cleanStart,[n,n+i],t),l){let e=n+c.length;p.subsection=o(r.cleanStart,[e,e+l.length],t)}}}let m=.95;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`I.R.C.`,section:c,subsection:l,pincite:l,jurisdiction:`US`,hasEtSeq:u||void 0,spans:p}}const zt=/^K\.?\s*S\.?\s*A\.?\s+(\d{4})(?:\s+(Supp\.?))?\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9])|,(?=\d))*(?:\([^)]*\))*)$/d;function Bt(e,t){let{text:n,span:r}=e,i=zt.exec(n),a=Number.parseInt(i[1],10),c=i[2]!==void 0,l=i[3],{section:u,subsection:d,hasEtSeq:f}=$(l),{originalStart:p,originalEnd:m}=s(r,t),h;if(i.indices){h={};let e=i.indices[3];if(e&&u){let n=e[0],i=u.replace(/[.,;:]\s*$/,``).length;if(h.section=o(r.cleanStart,[n,n+i],t),d){let e=n+u.length;h.subsection=o(r.cleanStart,[e,e+d.length],t)}}}let g=.95;return d&&(g+=.05),g=Math.min(g,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:p,originalEnd:m},confidence:g,matchedText:n,processTimeMs:0,patternsChecked:1,code:`K.S.A.`,section:u,subsection:d,pincite:d,year:a,editionLabel:c?`Supp.`:void 0,jurisdiction:`KS`,hasEtSeq:f||void 0,spans:h}}const Vt=/^(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+MCA$/d;function Ht(e,t){let{text:n,span:r}=e,i=Vt.exec(n),a=i[1],{section:c,subsection:l,hasEtSeq:u}=$(a),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={};let e=i.indices[1];if(e&&c){let n=e[0],i=c.replace(/[.,;:]\s*$/,``).length;if(p.section=o(r.cleanStart,[n,n+i],t),l){let e=n+c.length;p.subsection=o(r.cleanStart,[e,e+l.length],t)}}}let m=.95;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`MCA`,section:c,subsection:l,pincite:l,jurisdiction:`MT`,hasEtSeq:u||void 0,spans:p}}const Ut=/^(AB|AG|BO|BR|CJ|CL|CP|CR|CS|EC|ED|EL|EN|ET|FI|FL|GP|HG|HO|HS|HU|IN|LE|LG|LU|NR|PS|PUC|R\.?P\.?|RP|SF|SG|TA|TG|TP|TR)\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)$/d;function Wt(e,t){let{text:n,span:r}=e,i=Ut.exec(n),a=i[1],c=i[2],{section:l,subsection:u,hasEtSeq:d}=$(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={},i.indices[1]&&(m.code=o(r.cleanStart,i.indices[1],t));let e=i.indices[2];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.95;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:a,section:l,subsection:u,pincite:u,jurisdiction:`MD`,hasEtSeq:d||void 0,spans:m}}const Gt=/^Minn\.?\s+(?:Stat|St)\.?\s+(19\d{2}),\s*§\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\)|\[[^\]]*\])*)$/d;function Kt(e,t){let{text:n,span:r}=e,i=Gt.exec(n),a=Number.parseInt(i[1],10),c=i[2],{section:l,subsection:u,hasEtSeq:d}=$(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={};let e=i.indices[2];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.95;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:`Minn. Stat.`,section:l,subsection:u,pincite:u,year:a,jurisdiction:`MN`,hasEtSeq:d||void 0,spans:m}}const qt=/^(N\.?\s*Y\.?|Cal(?:ifornia)?\.?|Tex(?:as)?\.?|Md\.?|Va\.?|Ala(?:bama)?\.?)\s+(.*?)\s*§§?\s*(.+)$/ds,Jt=/^(.*?)\s*(?:ch\.?|c\.?)\s*(\w+)(?:,?\s*(?:§§?|[Ss]ec\.?|[Ss]ection)\s*(.+))?$/d,Yt={"n.y.":`NY`,"n.y":`NY`,ny:`NY`,"cal.":`CA`,cal:`CA`,"california.":`CA`,california:`CA`,"tex.":`TX`,tex:`TX`,"texas.":`TX`,texas:`TX`,"md.":`MD`,md:`MD`,"va.":`VA`,va:`VA`,"ala.":`AL`,ala:`AL`,"alabama.":`AL`,alabama:`AL`};function Xt(e){return Yt[e.toLowerCase().replace(/\s+/g,``)]}function Zt(e){return e.replace(/^\s*Code\s+Ann\.\s*,\s*/i,``).replace(/^\s*Code\s*,\s*/i,``).replace(/\s+Code\s*$/i,``).replace(/\s+Ann\.?\s*$/i,``).replace(/,\s*$/,``).trim()}function Qt(t,n){let{text:r,span:i}=t,a,c,l,u=null,d=null;if(t.patternId===`mass-chapter`)u=Jt.exec(r),u?(a=`MA`,c=u[2],l=u[3]??``):(c=r,l=``);else if(d=qt.exec(r),d){a=Xt(d[1]);let t=d[2],n=Zt(t);c=a&&e.r(a,n)?n:t.trim(),l=d[3]}else c=r,l=``;let{section:f,subsection:p,hasEtSeq:m}=$(l),{originalStart:h,originalEnd:g}=s(i,n),_=f.replace(/[.,;:]\s*$/,``).length,v;if(u?.indices){if(v={},u.indices[2]&&(v.code=o(i.cleanStart,u.indices[2],n)),u.indices[3]&&f){let e=u.indices[3][0];if(v.section=o(i.cleanStart,[e,e+_],n),p){let t=e+f.length;v.subsection=o(i.cleanStart,[t,t+p.length],n)}}}else if(d?.indices&&(v={},d.indices[2]&&(v.code=o(i.cleanStart,d.indices[2],n)),d.indices[3]&&f)){let e=d.indices[3][0];if(v.section=o(i.cleanStart,[e,e+_],n),p){let t=e+f.length;v.subsection=o(i.cleanStart,[t,t+p.length],n)}}let y=a?.95:.5;return p&&(y+=.05),y=Math.min(y,1),{type:`statute`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:h,originalEnd:g},confidence:y,matchedText:r,processTimeMs:0,patternsChecked:1,code:c,section:f,subsection:p,pincite:p,jurisdiction:a,hasEtSeq:m||void 0,spans:v}}const $t=/^(?:§\s*|[Ss]ection\s+)(\d+[A-Z]?-\d+[A-Z]?-\d+[A-Z]?(?:\([A-Za-z0-9]+\))*)$/d;function en(e,t){let{text:n,span:r}=e,i=$t.exec(n),a=i[1],{section:c,subsection:l,hasEtSeq:u}=$(a),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={};let e=i.indices[1];if(e&&c){let n=e[0],i=c.replace(/[.,;:]\s*$/,``).length;if(p.section=o(r.cleanStart,[n,n+i],t),l){let e=n+c.length;p.subsection=o(r.cleanStart,[e,e+l.length],t)}}}let m=.9;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`NMSA 1978`,section:c,subsection:l,pincite:l,jurisdiction:`NM`,hasEtSeq:u||void 0,spans:p}}const tn=/^(Penal|Labor|Real Property|General Business|General Obligations|General Municipal|Municipal Home Rule|Criminal Procedure|Insurance|Executive|Judiciary|Civil Practice|Civil Rights|Education|Public Health|Banking|Domestic Relations|Environmental Conservation|Election|Social Services|Estates Powers and Trusts|Vehicle and Traffic|Surrogate's Court Procedure|Family Court|Court of Claims|Workers' Compensation|Highway|Tax|Personal Property)\s+Law\s+§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\)|\[[^\]]*\])*(?:\s+(?:\([^)]*\)|\[[^\]]*\]))*)$/d;function nn(e,t){let{text:n,span:r}=e,i=tn.exec(n),a=i[1],{section:c,subsection:l,hasEtSeq:u}=$(i[2].replace(/\s+/g,``)),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={},i.indices[1]&&(p.code=o(r.cleanStart,i.indices[1],t));let e=i.indices[2];if(e&&c){let n=e[0],i=c.replace(/[.,;:]\s*$/,``).length;if(p.section=o(r.cleanStart,[n,n+i],t),l){let e=n+c.length;p.subsection=o(r.cleanStart,[e,e+l.length],t)}}}let m=.9;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`${a} Law`,section:c,subsection:l,pincite:l,jurisdiction:`NY`,hasEtSeq:u||void 0,spans:p}}const rn=/^R\.?\s*C\.?\s+Chapter\s+(\d+)$/d;function an(e,t){let{text:n,span:r}=e,i=rn.exec(n),a=i[1],{originalStart:c,originalEnd:l}=s(r,t),u;return i.indices&&(u={},i.indices[1]&&(u.section=o(r.cleanStart,i.indices[1],t))),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:c,originalEnd:l},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,code:`R.C.`,section:a,jurisdiction:`OH`,spans:u}}const on=/^ORS\s+chapter\s+(\d+)$/d;function sn(e,t){let{text:n,span:r}=e,i=on.exec(n),a=i[1],{originalStart:c,originalEnd:l}=s(r,t),u;return i.indices&&(u={},i.indices[1]&&(u.section=o(r.cleanStart,i.indices[1],t))),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:c,originalEnd:l},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,code:`ORS`,section:a,jurisdiction:`OR`,spans:u}}const cn=/[Ss]ection\s+(\d+[A-Za-z0-9-]*)((?:\([^)]*\))*)\s+of\s+title\s+(\d+)/d;function ln(e,t){let{text:n,span:r}=e,i=cn.exec(n),a,c,l;i?(a=i[1],c=i[2]||void 0,l=Number.parseInt(i[3],10)):a=n;let{originalStart:u,originalEnd:d}=s(r,t),f;i?.indices&&(f={},i.indices[1]&&(f.section=o(r.cleanStart,i.indices[1],t)),i.indices[3]&&(f.title=o(r.cleanStart,i.indices[3],t)),i.indices[2]&&c&&(f.subsection=o(r.cleanStart,i.indices[2],t)));let p=.85;return l!==void 0&&(p+=.05),c&&(p+=.05),p=Math.min(p,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:u,originalEnd:d},confidence:p,matchedText:n,processTimeMs:0,patternsChecked:1,title:l,code:`U.S.C.`,section:a,subsection:c,pincite:c,jurisdiction:`US`,spans:f}}const un=/^RLH\s+(\d{4})\s+§\s+(\d+(?:[A-Za-z0-9:-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)$/d;function dn(e,t){let{text:n,span:r}=e,i=un.exec(n),a=Number.parseInt(i[1],10),c=i[2],{section:l,subsection:u,hasEtSeq:d}=$(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={};let e=i.indices[2];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.95;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:`RLH`,section:l,subsection:u,pincite:u,year:a,jurisdiction:`HI`,hasEtSeq:d||void 0,spans:m}}const fn=/^(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*),?\s+R\.?\s*R\.?\s*S\.?\s+1943(?:,\s+Reissue\s+(\d{4}))?$/d;function pn(e,t){let{text:n,span:r}=e,i=fn.exec(n),a=i[1],c=i[2]?Number.parseInt(i[2],10):void 0,{section:l,subsection:u,hasEtSeq:d}=$(a),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={};let e=i.indices[1];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.95;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:`R.R.S. 1943`,section:l,subsection:u,pincite:u,year:c,editionLabel:c===void 0?void 0:`Reissue`,jurisdiction:`NE`,hasEtSeq:d||void 0,spans:m}}const mn=/^G\.?\s*L\.?\s+1956\s*(?:\((\d{4})\s+Reenactment\))?\s*,?\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)$/d;function hn(e,t){let{text:n,span:r}=e,i=mn.exec(n),a=i[1]?Number.parseInt(i[1],10):void 0,c=i[2],{section:l,subsection:u,hasEtSeq:d}=$(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={};let e=i.indices[2];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.95;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:`G.L. 1956`,section:l,subsection:u,pincite:u,year:a,editionLabel:a===void 0?void 0:`Reenactment`,jurisdiction:`RI`,hasEtSeq:d||void 0,spans:m}}const gn=/^RSA\s+(?:\[chapter\]|chapter|ch\.?)\s+(\d+(?:-[A-Z])?)$/d;function _n(e,t){let{text:n,span:r}=e,i=gn.exec(n),a=i[1],{originalStart:c,originalEnd:l}=s(r,t),u;return i.indices&&(u={},i.indices[1]&&(u.section=o(r.cleanStart,i.indices[1],t))),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:c,originalEnd:l},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,code:`RSA`,section:a,jurisdiction:`NH`,spans:u}}const vn=/^[Cc]hapter\s+(\d+\.\d+)\s+RCW$/d;function yn(e,t){let{text:n,span:r}=e,i=vn.exec(n),a=i[1],{originalStart:c,originalEnd:l}=s(r,t),u;return i.indices&&(u={},i.indices[1]&&(u.section=o(r.cleanStart,i.indices[1],t))),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:c,originalEnd:l},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,code:`RCW`,section:a,jurisdiction:`WA`,spans:u}}function bn(e){let t=/^(\d+\.\d+\.\d+\.\d+(?:\([A-Z]\))?)\s+NMAC$/.exec(e);if(t||(t=/^NMAC\s+(\d+\.\d+\.\d+\.\d+(?:\([A-Z]\))?)$/.exec(e),t))return{code:`NMAC`,section:t[1],jurisdiction:`NM`};if(t=/^OAR\s+(\d+-\d+-\d+)$/.exec(e),t)return{code:`OAR`,section:t[1],jurisdiction:`OR`};if(t=/^COMAR\s+(\d+\.\d+\.\d+\.\d+[A-Z]?)$/.exec(e),t)return{code:`COMAR`,section:t[1],jurisdiction:`MD`};if(t=/^IDAPA\s+(\d+\.\d+\.\d+\.\d+\.\d+)$/.exec(e),t)return{code:`IDAPA`,section:t[1],jurisdiction:`ID`};if(t=/^(\d+\.\d+\.\d+(?:\(\d+\))?),\s+ARM$/.exec(e),t)return{code:`ARM`,section:t[1],jurisdiction:`MT`}}function xn(e,t){let{text:n,span:r}=e,i=bn(n),{originalStart:a,originalEnd:o}=s(r,t);return{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:a,originalEnd:o},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,code:i?.code??n,section:i?.section??``,jurisdiction:i?.jurisdiction,spans:{}}}const Sn=/^(?:[Ss]ections?|[Ss]ec\.?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+T\.?C\.?A\.?$/d;function Cn(e,t){let{text:n,span:r}=e,i=Sn.exec(n),a=i[1],{section:c,subsection:l,hasEtSeq:u}=$(a),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={};let e=i.indices[1];if(e&&c){let n=e[0],i=c.replace(/[.,;:]\s*$/,``).length;if(p.section=o(r.cleanStart,[n,n+i],t),l){let e=n+c.length;p.subsection=o(r.cleanStart,[e,e+l.length],t)}}}let m=.95;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`T.C.A.`,section:c,subsection:l,pincite:l,jurisdiction:`TN`,hasEtSeq:u||void 0,spans:p}}const wn=/^(Virginia\s+Code|Code)\s+§\s*((?:\d+\.\d+-\d+(?:\.\d+)?|\d+-\d+\.\d+)(?:\([A-Za-z0-9]+\))*)$/d;function Tn(e,t){let{text:n,span:r}=e,i=wn.exec(n),a=i[1].replace(/\s+/g,` `),c=i[2],{section:l,subsection:u,hasEtSeq:d}=$(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={},i.indices[1]&&(m.code=o(r.cleanStart,i.indices[1],t));let e=i.indices[2];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.9;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:a,section:l,subsection:u,pincite:u,jurisdiction:`VA`,hasEtSeq:d||void 0,spans:m}}const En=/^(?:§§?|[Ss]ections?|[Ss]ec\.?)\s*(\d+\.\d+(?:[A-Za-z0-9])?(?:\s*\([^)]*\))*[A-Za-z0-9]*(?:\s+et\s+seq\.?)?),?\s+(?:Stats\.|STATS\.)$/d;function Dn(e,t){let{text:n,span:r}=e,i=En.exec(n),a=i[1].match(/\s+et\s+seq\.?$/),c=(a?i[1].slice(0,-a[0].length):i[1]).replace(/\s+/g,``),{section:l,subsection:u,hasEtSeq:d}=$(a?`${c} et seq.`:c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={};let e=i.indices[1];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.95;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:`Wis. Stat.`,section:l,subsection:u,pincite:u,jurisdiction:`WI`,hasEtSeq:d||void 0,spans:m}}const On=/^Code,?(?:\s+(1931))?,\s+(\d+-\d+[A-Z]?-\d+(?:[A-Za-z0-9])?(?:\([A-Za-z0-9]+\))*)$/d;function kn(e,t){let{text:n,span:r}=e,i=On.exec(n),a=i[1]?Number.parseInt(i[1],10):void 0,c=i[2],{section:l,subsection:u,hasEtSeq:d}=$(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={};let e=i.indices[2];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.9;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:`W. Va. Code`,section:l,subsection:u,pincite:u,year:a,jurisdiction:`WV`,hasEtSeq:d||void 0,spans:m}}function An(e,t){let{text:n,span:r}=e,i=/^(?:(\d+)\s+)?([A-Za-z.\s]+?)\s*§+\s*(\d+[A-Za-z0-9-]*)/.exec(n);if(!i){let{originalStart:e,originalEnd:i}=s(r,t);return{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:e,originalEnd:i},confidence:.3,matchedText:n,processTimeMs:0,patternsChecked:1,code:n,section:``}}let a=i[1]?Number.parseInt(i[1],10):void 0,o=i[2].trim(),c=i[3],{originalStart:l,originalEnd:u}=s(r,t),d=.5;return[`U.S.C.`,`C.F.R.`,`Cal. Civ. Code`,`Cal. Penal Code`,`N.Y. Civ. Prac. L. & R.`,`Tex. Civ. Prac. & Rem. Code`].some(e=>o.includes(e))&&(d+=.3),d=Math.min(d,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:l,originalEnd:u},confidence:d,matchedText:n,processTimeMs:0,patternsChecked:1,title:a,code:o,section:c}}function jn(e,t){switch(e.patternId){case`usc`:case`cfr`:return Tt(e,t);case`prose`:return ln(e,t);case`abbreviated-code`:return lt(e,t);case`ca-bare-code`:return vt(e,t);case`named-code`:case`mass-chapter`:return Qt(e,t);case`chapter-act`:return bt(e,t);case`ill-rev-stat`:return It(e,t);case`ala-code-prefix`:case`ala-title-trailer`:case`ala-tit-bare`:return pt(e,t);case`colorado-prose`:return St(e,t);case`florida-postfix`:case`florida-prefix-spelled`:return Ot(e,t);case`ga-pre-1983`:return At(e,t);case`ic-year-edition`:return Mt(e,t);case`irc`:return Rt(e,t);case`idaho-postfix`:return Pt(e,t);case`ksa-year-edition`:return Bt(e,t);case`mca-postfix`:return Ht(e,t);case`md-article-letter`:return Wt(e,t);case`minn-st-year-edition`:return Kt(e,t);case`nm-bare-section`:return en(e,t);case`ny-bare-named-code`:return nn(e,t);case`oh-chapter`:return an(e,t);case`ors-chapter`:return sn(e,t);case`rlh`:return dn(e,t);case`rrs-1943`:return pn(e,t);case`rcw-chapter-postfix`:return yn(e,t);case`state-admin-code`:return xn(e,t);case`rigl-1956`:return hn(e,t);case`rsa-chapter`:return _n(e,t);case`tca-postfix`:return Cn(e,t);case`va-bare-code`:return Tn(e,t);case`wi-stats-postfix`:return Dn(e,t);case`wv-code-1931`:return kn(e,t);default:return An(e,t)}}function Mn(e,t){let{text:n,span:r}=e,i=/^(\d+(?:-\d+)?)\s+Stat\.\s+(\d+)/d.exec(n);if(!i)throw Error(`Failed to parse Statutes at Large citation: ${n}`);let a=i[1],c=/^\d+$/.test(a)?Number.parseInt(a,10):a,l=Number.parseInt(i[2],10),u;i.indices&&(u={volume:o(r.cleanStart,i.indices[1],t),page:o(r.cleanStart,i.indices[2],t)});let d=/\((?:.*?\s)?(\d{4})\)/.exec(n),f=d?Number.parseInt(d[1],10):void 0,{originalStart:p,originalEnd:m}=s(r,t);return{type:`statutesAtLarge`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:p,originalEnd:m},confidence:.9,matchedText:n,processTimeMs:0,patternsChecked:1,volume:c,page:l,year:f,spans:u}}const Nn=[{id:`federal-reporter`,regex:/\b(\d+(?:-\d+)?)\s+(F\.\s?Supp\.(?:\s?(?:\d+(?:st|nd|rd|th)|2d|3d))?|F\.\s?App'x|F\.(?:\d+(?:st|nd|rd|th)|2d|3d)?)\s+(\d+|_{3,}|-{3,})(?=\s|$|\(|,|;|\.)/g,description:`Federal Reporter (F., F.2d, F.3d, F.Nth, F.Supp., F.App'x, etc.)`,type:`case`},{id:`supreme-court`,regex:/\b(\d+(?:-\d+)?)\s+(U\.\s?S\.|S\.\s?Ct\.|L\.\s?Ed\.(?:\s?(?:\d+(?:st|nd|rd|th)|2d|3d))?)\s+(?:\(\d+\s+[A-Z][A-Za-z.]+\)\s+)?(\d+|_{3,}|-{3,})(?=\s|$|\(|,|;|\.)/g,description:`U.S. Supreme Court reporters (with optional nominative reporter parenthetical)`,type:`case`},{id:`state-reporter`,regex:/\b(\d+(?:-\d+)?)\s+([A-Z](?:(?! L\.[JQR\s])(?! R\.\s+\d)(?!\s+vs?\.\s)(?!\s+at\s)[A-Za-z.\d\s&'])+?)\s+(\d+|_{3,}|-{3,})(?=\s|$|\(|,|;|\.|\[|\])/g,description:`State reporters (broad pattern allowing multi-word reporters with & and ', excludes journal patterns with " L.J/Q/Rev", phantom matches across " v. "/" vs. ", CSM " at " short-form boundaries, and Illinois " R. N" rule-marker boundaries, validated against reporters-db in Phase 3)`,type:`case`}],Pn=[{id:`docket-paren-court-year`,regex:/\b(?:(?:C\.A\.|Civ\.|Civil(?:\s+Action)?|Case|Adv\.|Docket)\s+)?No\.\s+([A-Za-z\d]+(?::?[A-Za-z\d]+)?(?:[-\s][A-Za-z\d]+)*)\s+\(([^)]+\s(\d{4}))\)/g,description:`Docket-number citation: "Party v. Party, [C.A./Civ./Civil/Case/Adv./Docket] No. <docket> (<court> <year>)"`,type:`docket`}],Fn=[{id:`law-review`,regex:/\b(\d+(?:-\d+)?)\s+([A-Z](?:(?!\s+vs?\.\s)(?!\s+at\s+\d)[A-Za-z.\s])+)\s+(\d+)\b/g,description:`Law review citations (e.g., "120 Harv. L. Rev. 500"), validated against journals-db in Phase 3. Negative lookaheads exclude " v. "/" vs. " (so a party-name run isn't mis-captured as a journal) and " at <digit>" (so a short-form pincite like "554 U.S. at 621" isn't mis-captured as a journal).`,type:`journal`}],In=[{id:`state-vendor-neutral-hyphenated-ms`,regex:/\b(\d{4})-([A-Z]+)-(\d+)-([A-Z]+)\b/g,description:`Mississippi 4-segment vendor-neutral (e.g., "2010-CT-01234-SCT", "2015-CA-00567-COA")`,type:`neutral`},{id:`state-vendor-neutral-hyphenated`,regex:/\b(\d{4})-([A-Z][A-Za-z]+)-(\d+)\b/g,description:`Hyphenated vendor-neutral (e.g., "2010-NMSC-007", "2024-Ohio-764", "2020-NCSC-118")`,type:`neutral`},{id:`state-vendor-neutral`,regex:/\b(\d{4})\s+(IL\s+App\s+\(\d+(?:st|nd|rd|th|d)\)|OK\s+(?:CIV\s+APP|CR|AG)|[A-Z]{2}(?:\s+App\.?)?)\s+(\d+(?:-U)?)\b/g,description:`State vendor-neutral citations (e.g., "2007 UT 49", "2017 WI 17", "2013 IL 112116", "2011 IL App (1st) 101234", "2020 OK CIV APP 67", "2020 IL App (2d) 190123-U")`,type:`neutral`},{id:`westlaw`,regex:/\b(\d{4})\s+WL\s+(\d+)\b/g,description:`WestLaw citations (e.g., "2021 WL 123456")`,type:`neutral`},{id:`lexis`,regex:/\b(\d{4})\s+[A-Z][A-Za-z.\s]+?\s+LEXIS\s+(\d+)\b/g,description:`LexisNexis citations (federal: "2021 U.S. LEXIS 5000", "2021 U.S. App. LEXIS 12345"; state: "2020 Cal. LEXIS 1000", "2020 Tex. App. LEXIS 5000")`,type:`neutral`},{id:`public-law`,regex:/\bPub\.\s?L\.(?:\s?No\.)?\s?(\d+-\d+)\b/g,description:`Public Law citations (e.g., "Pub. L. No. 117-58" or "Pub. L. 116-283")`,type:`publicLaw`},{id:`federal-register`,regex:/\b(\d+(?:-\d+)?)\s+Fed\.\s?Reg\.\s+(\d+)\b/g,description:`Federal Register citations (e.g., "86 Fed. Reg. 12345")`,type:`federalRegister`},{id:`statutes-at-large`,regex:/\b(\d+(?:-\d+)?)\s+Stat\.\s+(\d+)\b/g,description:`Statutes at Large citations (e.g., "124 Stat. 119")`,type:`statutesAtLarge`},{id:`compact-law-review`,regex:/\b(\d+(?:-\d+)?)\s+([A-Z][A-Za-z.]+L\.(?:Rev|J|Q)\.)\s+(\d+)\b/g,description:`Compact law review citations without spaces (e.g., "93 Harv.L.Rev. 752")`,type:`journal`}],Ln=[{id:`id`,regex:/(?:^|(?<=\s)|(?<=["'(\[—]))\b[Ii]d(?:\s*\.|\s*,(?=\s+at\s))(?:(?:,\s+|,?\s+(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b)))(¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?|\*?\d+(?:\s*[-–]\s*\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?))?/g,description:`Id. citations (e.g., "Id." or "Id. at 253")`,type:`case`},{id:`ibid`,regex:/(?:^|(?<=\s)|(?<=["'(\[—]))\b[Ii]bid\s*\.(?:(?:,\s+|,?\s+(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b)))(¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?|\*?\d+(?:\s*[-–]\s*\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?))?/g,description:`Ibid. citations (e.g., "Ibid." or "Ibid. at 125")`,type:`case`},{id:`supra`,regex:/(?:\b([A-Z][a-zA-Z''\-]+\.?(?:(?:\s+v\.?\s+|\s+&\s+|,\s+|\s+)[A-Z][a-zA-Z''\-]+\.?)*)\s*,?\s+)?\[supra(?:(?:,\s+|\s+at\s+(?:pp?\.\s*)?)(\d+(?:[-–—]\d+)?))?\]/g,description:`Bracketed supra citations (e.g., "State v. Jarzbek, [supra, 705]" — Connecticut style; #306)`,type:`case`},{id:`supra`,regex:/\b([A-Z][a-zA-Z''\-]+\.?(?:(?:\s+v\.?\s+|\s+&\s+|,\s+|\s+)[A-Z][a-zA-Z''\-]+\.?)*)\s*,?\s+supra(?:\s+note\s+(\d+))?(?:(?:,\s+|,?\s+(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b)))(¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?|\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?))?/g,description:`Supra citations (e.g., "Smith, supra" or "Smith, supra, at 460")`,type:`case`},{id:`supra`,regex:/(?:^|(?<=\s)|(?<=[;.]))supra(?:\s+note\s+(\d+)(?:,?\s+(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b))(¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?|\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?))?|\s+(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b))(¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?|\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?)|\s+(?:§+|Part|p\.)\s*\S+)/g,description:`Standalone supra (e.g., "supra note 12" or "supra at 15")`,type:`case`},{id:`shortFormCase`,regex:/\b(?:([A-Z][a-zA-Z''\-]+\.?(?:(?:\s+v\.?\s+|\s+&\s+|,\s+|\s+)[A-Z][a-zA-Z''\-]+\.?)*),\s+)?(\d+(?:-\d+)?)\s+([A-Z][A-Za-z.''\s]+?(?:\d[a-z]{1,2})?)\s*,?\s+at\s+(?:pp?\.\s*|pages?\s+)?(\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?|¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?)\b/g,description:`Short-form case citations (e.g., "500 F.2d at 125")`,type:`case`}],Rn=[{id:`usc`,regex:/\b(\d+)\s+(?:U\.?S\.?C\.?A?\.?|USCA?|United\s+States\s+Code)\s*(?:§§?|[Ss]ections?|[Ss]ec\.?)?\s*(\d+[A-Za-z0-9-]*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`U.S. Code citations (U.S.C., USC, USCA, "United States Code") with optional §/Section connector — #428`,type:`statute`},{id:`cfr`,regex:/\b(\d+)\s+C\.?F\.?R\.?\s*(?:(?:Part|pt\.)\s+|§§?\s*|[Ss]ections?\s+|[Ss]ec\.?\s+)?(\d+(?:\.\d+)?[A-Za-z0-9-]*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Code of Federal Regulations with optional Part/§/Section connector — #428`,type:`statute`},{id:`irc`,regex:/\b(?:I\.R\.C\.|IRC)\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Internal Revenue Code: "I.R.C. § 1367", "IRC § 1341" — #376`,type:`statute`},{id:`rsa-chapter`,regex:/\bRSA\s+(?:\[chapter\]|chapter|ch\.?)\s+(\d+(?:-[A-Z])?)/g,description:`New Hampshire RSA chapter-only form: "RSA chapter 169-D" / "RSA ch. 458-C" — #378`,type:`statute`},{id:`oh-chapter`,regex:/\bR\.?\s*C\.?\s+Chapter\s+(\d+)/g,description:`Ohio Revised Code chapter-only form: "R.C. Chapter 4509" / "R. C. Chapter 1702" — #388`,type:`statute`},{id:`ors-chapter`,regex:/\bORS\s+chapter\s+(\d+)/g,description:`Oregon Revised Statutes chapter-only form: "ORS chapter 34" — #387`,type:`statute`},{id:`prose`,regex:/\b[Ss]ection\s+(\d+[A-Za-z0-9-]*(?:\([^)]*\))*)\s+of\s+title\s+(\d+)\b/g,description:`Prose-form federal citations (e.g., "section 1983 of title 42"). Note: MD-style "section X of the Y Article" deferred to PR 3.`,type:`statute`},{id:`named-code`,regex:/\b(N\.?\s*Y\.?|Cal(?:ifornia)?\.?|Tex(?:as)?\.?|Md\.?|(?<!W\.?\s?)Va\.?|Ala(?:bama)?\.?)\s+([A-Z][A-Za-z.&']*(?:(?:\s+|,\s+)(?:&|[A-Z][A-Za-z.&']*))*)\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Named-code state citations (NY, CA, TX, MD, VA, AL) with jurisdiction prefix + code name + §`,type:`statute`},{id:`ny-bare-named-code`,regex:/\b(Penal|Labor|Real Property|General Business|General Obligations|General Municipal|Municipal Home Rule|Criminal Procedure|Insurance|Executive|Judiciary|Civil Practice|Civil Rights|Education|Public Health|Banking|Domestic Relations|Environmental Conservation|Election|Social Services|Estates Powers and Trusts|Vehicle and Traffic|Surrogate's Court Procedure|Family Court|Court of Claims|Workers' Compensation|Highway|Tax|Personal Property)\s+Law\s+§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\)|\[[^\]]*\])*(?:\s+(?:\([^)]*\)|\[[^\]]*\]))*)/g,description:`New York bare named-code form: "Penal Law § 130.00 [3]", "Labor Law § 220 [3-a]" — #386`,type:`statute`},{id:`mass-chapter`,regex:/\b(Mass\.?\s*Gen\.?\s*Laws|General\s+Laws|M\.?G\.?L\.?A?\.?|A\.?L\.?M\.?|G\.?\s*L\.?)\s*(?:ch\.?|c\.?)\s*(\w+)(?:,?\s*(?:§§?|[Ss]ec\.?|[Ss]ection)\s*(\w+(?:[\w/-]|\.(?=\w))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?))?/g,description:`Massachusetts chapter-based citations (e.g., "Mass. Gen. Laws ch. 93A, § 2")`,type:`statute`},{id:`chapter-act`,regex:/\b(\d+)\s+(?:ILCS|Ill\.?\s*Comp\.?\s*Stat\.?)\s*(?:Ann\.?\s+)?(\d+)\/(\d+(?:[A-Za-z0-9:-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Illinois Compiled Statutes chapter-act citations (e.g., "735 ILCS 5/2-1001")`,type:`statute`},{id:`ill-rev-stat`,regex:/\bIll\.?\s*Rev\.?\s*Stat\.?,?\s+(\d{4}),?\s+[Cc]h\.\s+(\d+[A-Z]?),?\s+pars?\.\s+(\d+(?:[A-Za-z0-9:-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Illinois Revised Statutes (pre-1993): Ill. Rev. Stat. YYYY, ch. N, par. N`,type:`statute`},{id:`rlh`,regex:/\bRLH\s+(\d{4})\s+§\s+(\d+(?:[A-Za-z0-9:-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Revised Laws of Hawaii (pre-1955): "RLH 1935 § 2545" — #359`,type:`statute`},{id:`colorado-prose`,regex:/\b[Ss]ection\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*),?\s+Colo(?:rado)?\.?\s+Rev(?:ised)?\.?\s+Stat(?:utes)?\.?(?:\s+Ann(?:otated)?\.?)?(?:\s+(19\d{2}))?/g,description:`Pre-1973 Colorado prose form: "Section 148-21-34, Colorado Revised Statutes 1963" — #352`,type:`statute`},{id:`florida-postfix`,regex:/(?<![A-Za-z])(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+(?:Florida\s+Statutes|Fla\.\s*Stat\.)/g,description:`Florida postfix statute form: "section 812.035(7), Florida Statutes" / "§83.15, Florida Statutes" — #356`,type:`statute`},{id:`florida-prefix-spelled`,regex:/\bFlorida\s+Statutes?\s*§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?)/g,description:`Florida spelled-out prefix form: "Florida Statute 679.504(3)" / "Florida Statutes §73.071" — #356`,type:`statute`},{id:`idaho-postfix`,regex:/(?<![A-Za-z])(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+Idaho\s+Code(?:\s+Ann\.?)?/g,description:`Idaho postfix statute form: "Section 23-908(4), Idaho Code" — #360`,type:`statute`},{id:`mca-postfix`,regex:/(?<![A-Za-z])(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+MCA/g,description:`Montana Code Annotated postfix form: "§ 77-6-205(2), MCA" — #372`,type:`statute`},{id:`tca-postfix`,regex:/(?<![A-Za-z])(?:[Ss]ections?|[Ss]ec\.?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+T\.?C\.?A\.?/g,description:`Tennessee Code Annotated postfix form: "§ 39-904, T.C.A." — #398`,type:`statute`},{id:`rcw-chapter-postfix`,regex:/\b[Cc]hapter\s+(\d+\.\d+)\s+RCW/g,description:`Washington RCW chapter postfix form: "chapter 49.60 RCW" — #408`,type:`statute`},{id:`state-admin-code`,regex:/\b(?:(NMAC)\s+(\d+\.\d+\.\d+\.\d+(?:\([A-Z]\))?)|(?<=^|[^A-Za-z])(\d+\.\d+\.\d+\.\d+(?:\([A-Z]\))?)\s+(NMAC)|(OAR)\s+(\d+-\d+-\d+)|(COMAR)\s+(\d+\.\d+\.\d+\.\d+[A-Z]?)|(IDAPA)\s+(\d+\.\d+\.\d+\.\d+\.\d+)|(?<=^|[^A-Za-z])(\d+\.\d+\.\d+(?:\(\d+\))?),\s+(ARM)\b)/g,description:`State admin codes NMAC/OAR/COMAR/IDAPA/ARM — #438`,type:`statute`},{id:`wi-stats-postfix`,regex:/(?<![A-Za-z])(?:§§?|[Ss]ections?|[Ss]ec\.?)\s*(\d+\.\d+(?:[A-Za-z0-9])?(?:\s*\([^)]*\))*[A-Za-z0-9]*(?:\s+et\s+seq\.?)?),?\s+(?:Stats\.|STATS\.)/g,description:`Wisconsin Statutes postfix form: "§ 76.09, Stats." / "sec. 805.13(3), Stats." — #414`,type:`statute`},{id:`rrs-1943`,regex:/(?<![A-Za-z])(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*),?\s+R\.?\s*R\.?\s*S\.?\s+1943(?:,\s+Reissue\s+(\d{4}))?/g,description:`Nebraska Reissue Revised Statutes 1943: "§ 30-2806, R.R.S. 1943, Reissue 1975" — #373`,type:`statute`},{id:`rigl-1956`,regex:/\bG\.?\s*L\.?\s+1956\s*(?:\((\d{4})\s+Reenactment\))?\s*,?\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)/g,description:`Rhode Island General Laws 1956: "G.L. 1956 (1969 Reenactment) §11-23-1" — #393`,type:`statute`},{id:`md-article-letter`,regex:/\b(AB|AG|BO|BR|CJ|CL|CP|CR|CS|EC|ED|EL|EN|ET|FI|FL|GP|HG|HO|HS|HU|IN|LE|LG|LU|NR|PS|PUC|R\.?P\.?|RP|SF|SG|TA|TG|TP|TR)\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Maryland article-letter codes: "HG § 19-906", "CP § 10-105", "R.P. § 8-211" — #368`,type:`statute`},{id:`minn-st-year-edition`,regex:/\bMinn\.?\s+(?:Stat|St)\.?\s+(19\d{2}),\s*§\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\)|\[[^\]]*\])*)/g,description:`Minnesota Statutes year-edition form: "Minn. St. 1971, § 176.66" — #371`,type:`statute`},{id:`ksa-year-edition`,regex:/\bK\.?\s*S\.?\s*A\.?\s+(\d{4})(?:\s+(Supp\.?))?\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9])|,(?=\d))*(?:\([^)]*\))*)/g,description:`Kansas Statutes Annotated year-edition: "K.S.A. 2009 Supp. 44-501(d)(2)" — #367`,type:`statute`},{id:`ic-year-edition`,regex:/\bIC\s+(\d{4}),\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)/g,description:`Indiana Code year-edition form: "IC 1971, 35-13-4-4" — #363`,type:`statute`},{id:`abbreviated-code`,regex:e.a(),description:`Abbreviated state code citations for all US jurisdictions`,type:`statute`},{id:`wv-code-1931`,regex:/\bCode,?(?:\s+(1931))?,\s+(\d+-\d+[A-Z]?-\d+(?:[A-Za-z0-9])?(?:\([A-Za-z0-9]+\))*)/g,description:`West Virginia historical Code 1931: "Code 1931, 49-6-3, as amended" / "Code, 14-2-13" — #406`,type:`statute`},{id:`ga-pre-1983`,regex:/\b(Code(?:\s+Ann\.?)?)\s+§\s*(\d+-\d+(?![\d-])(?!\.\d)(?:[A-Za-z0-9])?(?:\([A-Za-z0-9]+\))*)/g,description:`Georgia pre-1983 Code: "Code Ann. § 26-2101" / "Code § 27-2501" — #358 (#405 tightened)`,type:`statute`},{id:`va-bare-code`,regex:/\b(Virginia\s+Code|Code)\s+§\s*((?:\d+\.\d+-\d+(?:\.\d+)?|\d+-\d+\.\d+)(?:\([A-Za-z0-9]+\))*)/g,description:`Virginia bare Code form: "Code § 18.2-308.2" / "Virginia Code § 8.01-581.17" — #405`,type:`statute`},{id:`nm-bare-section`,regex:/(?<![A-Za-z])(?:§\s*|[Ss]ection\s+)(\d+[A-Z]?-\d+[A-Z]?-\d+[A-Z]?(?:\([A-Za-z0-9]+\))*)/g,description:`New Mexico bare-section form: "Section 32A-2-7(A)" / "§ 41-2-2" — #382`,type:`statute`},{id:`ca-bare-code`,regex:ht(),description:'California bare-code citations (#296) — `Pen. Code § 148`, `Code Civ. Proc., § 1021.5`, `Bus. & Prof. Code § 17200` (no "Cal." prefix; common in single-jurisdiction California practice).',type:`statute`},{id:`ala-code-prefix`,regex:/\bCode(?:\s+of\s+Alabama)?,?\s+1940,?\s+T(?:itle|it)?\.\s+(\d+),?\s+§\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)/g,description:`Alabama Code 1940 (Code-prefix form, pre-1975): "Code 1940, T. 15, § 389" / "Code of Alabama 1940, T. NN, § NNN" — #343`,type:`statute`},{id:`ala-title-trailer`,regex:/\bTitle\s+(\d+),?\s+(?:§|Sec(?:tion)?s?\.?)\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*),?\s+Code(?:\s+of\s+Alabama)?,?\s+(\d{4})(?:,?\s+(?:as\s+)?[Rr]ecompiled\s+(\d{4}))?/g,description:`Alabama Code (Title-first with Code trailer): "Title 26, Section 214, Code of Alabama 1940, as Recompiled 1958" — #343`,type:`statute`},{id:`ala-tit-bare`,regex:/\bTit\.\s+(\d+),?\s+§\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)(?:,?\s+Code(?:\s+of\s+Alabama)?,?\s+(\d{4})(?:,?\s+(?:as\s+)?[Rr]ecompiled\s+(\d{4}))?)?/g,description:'Alabama Code (abbreviated `Tit.` form): "Tit. 52, § 361" — #343',type:`statute`}];function zn(e,t=[...Nn,...Rn,...Fn,...In,...Ln]){let n=[];for(let r of t)try{let t=e.matchAll(r.regex);for(let e of t)n.push({text:e[0],span:{cleanStart:e.index,cleanEnd:e.index+e[0].length},type:r.type,patternId:r.id})}catch(e){console.warn(`Pattern ${r.id} threw error, skipping:`,e instanceof Error?e.message:String(e))}return n.sort((e,t)=>e.span.cleanStart-t.span.cleanStart),n}var Bn=class{root=null;nextOrder=0;distanceFn;constructor(e){this.distanceFn=e}insert(e){let t={key:e,insertionOrder:this.nextOrder++,children:new Map};if(this.root===null){this.root=t;return}let n=this.root;for(;;){let r=this.distanceFn(e,n.key);if(r===0)return;let i=n.children.get(r);if(i)n=i;else{n.children.set(r,t);return}}}query(e,t){if(this.root===null)return[];let n=[],r=[this.root],i;for(;i=r.pop();){let a=this.distanceFn(e,i.key);a<=t&&n.push({key:i.key,distance:a,insertionOrder:i.insertionOrder});let o=a-t,s=a+t;for(let[e,t]of i.children)e>=o&&e<=s&&r.push(t)}return n.sort((e,t)=>e.distance-t.distance||e.insertionOrder-t.insertionOrder),n}};function Vn(e,t,n=1/0){if(e.length===0)return Math.min(t.length,n+1);if(t.length===0)return Math.min(e.length,n+1);let r=e.length<=t.length?e:t,i=e.length<=t.length?t:e,a=r.length,o=Array.from({length:a+1},(e,t)=>t),s=Array(a+1);for(let e=1;e<=i.length;e++){s[0]=e;let t=e;for(let n=1;n<=a;n++)i[e-1]===r[n-1]?s[n]=o[n-1]:s[n]=1+Math.min(o[n],s[n-1],o[n-1]),s[n]<t&&(t=s[n]);if(t>n)return n+1;let c=o;o=s,s=c}return o[a]}function Hn(e,t){let n=0,r=e.length;for(;n<r;){let i=n+r>>>1;e[i]<=t?n=i+1:r=i}return n}function Un(e,t,n=/\n\n+/g){let r=new Map,i=[0],a;for(;(a=n.exec(e))!==null;)i.push(a.index+a[0].length);i.push(e.length);for(let e=0;e<t.length;e++){let n=t[e].span.originalStart;r.set(e,Hn(i,n)-1)}return r}function Wn(e,t){let n=new Map;for(let r=0;r<e.length;r++){let i=e[r].span.cleanStart,a=0,o=0,s=t.length-1;for(;o<=s;){let e=o+s>>>1,n=t[e];if(i<n.start)s=e-1;else if(i>=n.end)o=e+1;else{a=n.footnoteNumber;break}}n.set(r,a)}return n}function Gn(e,t,n,r,i=!1){if(r===`none`)return!0;let a=n.get(e),o=n.get(t);return!!(a===void 0||o===void 0||a===o||r===`footnote`&&i&&a===0)}function Kn(e){if(e.type===`case`||e.type===`docket`)return e.fullSpan}var qn=class{citations;text;options;context;partyNameTree;constructor(e,t,n={}){this.citations=e,this.text=t,this.options={scopeStrategy:n.scopeStrategy??`none`,autoDetectParagraphs:n.autoDetectParagraphs??!0,paragraphBoundaryPattern:n.paragraphBoundaryPattern??/\n\n+/g,fuzzyPartyMatching:n.fuzzyPartyMatching??!0,partyMatchThreshold:n.partyMatchThreshold??.8,reportUnresolved:n.reportUnresolved??!0,footnoteMap:n.footnoteMap},this.partyNameTree=new Bn(Vn),this.context={citationIndex:0,allCitations:e,lastResolvedIndex:void 0,fullCitationHistory:new Map,paragraphMap:new Map},this.options.autoDetectParagraphs&&(this.context.paragraphMap=Un(t,e,this.options.paragraphBoundaryPattern)),this.options.scopeStrategy===`footnote`&&this.options.footnoteMap&&(this.context.paragraphMap=Wn(e,this.options.footnoteMap))}resolve(){let e=[],n=this.computeParenDepths();for(let r=0;r<this.citations.length;r++){this.context.citationIndex=r;let i=this.citations[r],a;switch(i.type){case`id`:a=this.resolveId(i);break;case`supra`:a=this.resolveSupra(i);break;case`shortFormCase`:a=this.resolveShortFormCase(i);break;default:t(i)&&(n[r]>0||e.some(e=>{let t=Kn(e);return t?t.cleanStart<=i.span.cleanStart&&t.cleanEnd>=i.span.cleanEnd:!1})||(this.context.lastResolvedIndex=r),this.trackFullCitation(i,r));break}a?.resolvedTo!==void 0&&(this.context.lastResolvedIndex=a.resolvedTo);let o=i;if(i.type===`id`&&a?.resolvedTo!==void 0){let e=this.citations[a.resolvedTo];if(e){let t={...i};t.pincite===void 0&&`pincite`in e&&typeof e.pincite==`number`&&(t.pincite=e.pincite,`pinciteInfo`in e&&e.pinciteInfo&&(t.pinciteInfo=e.pinciteInfo)),e.type===`case`&&(e.caseName&&(t.caseName=e.caseName),e.plaintiff&&(t.plaintiff=e.plaintiff),e.defendant&&(t.defendant=e.defendant),e.plaintiffNormalized&&(t.plaintiffNormalized=e.plaintiffNormalized),e.defendantNormalized&&(t.defendantNormalized=e.defendantNormalized),e.proceduralPrefix&&(t.proceduralPrefix=e.proceduralPrefix)),o=t}}e.push({...o,resolution:a})}return e}computeParenDepths(){let e=Array(this.citations.length).fill(0);if(this.citations.length===0)return e;let t=0,n=0;for(let r=0;r<this.citations.length;r++){let i=this.citations[r].span.cleanStart;for(;n<i&&n<this.text.length;){let e=this.text[n];e===`(`?t++:e===`)`&&t>0&&t--,n++}e[r]=t}return e}resolveId(e){let t=this.context.citationIndex,n=this.context.lastResolvedIndex;return n===void 0?this.createFailureResult(`No preceding citation found`):this.isWithinScope(n,t)?{resolvedTo:n,confidence:1}:this.createFailureResult(`Antecedent citation outside scope boundary`)}resolveSupra(e){if(!e.partyName)return;let t=this.context.citationIndex,n=this.normalizePartyName(e.partyName),r=n.length,i=this.options.partyMatchThreshold,a=r===0?0:Math.ceil(r*(1-i)/i),o=this.partyNameTree.query(n,a);o.sort((e,t)=>e.insertionOrder-t.insertionOrder);let s;for(let e of o){let n=this.context.fullCitationHistory.get(e.key);if(n===void 0||!this.isWithinScope(n,t,!0))continue;let i=Math.max(r,e.key.length),a=i===0?1:1-e.distance/i;(!s||a>s.similarity)&&(s={index:n,similarity:a})}if(!s)return this.createFailureResult(`No full citation found in scope`);if(s.similarity<this.options.partyMatchThreshold)return this.createFailureResult(`Party name similarity ${s.similarity.toFixed(2)} below threshold ${this.options.partyMatchThreshold}`);let c=[];return s.similarity<1&&c.push(`Fuzzy match: similarity ${s.similarity.toFixed(2)}`),{resolvedTo:s.index,confidence:s.similarity,warnings:c.length>0?c:void 0}}resolveShortFormCase(e){let t=this.context.citationIndex,n=this.normalizeReporter(e.reporter),r=e.partyNameNormalized,i=[];for(let r=t-1;r>=0;r--){let a=this.citations[r];a.type===`case`&&a.volume===e.volume&&this.normalizeReporter(a.reporter)===n&&this.isWithinScope(r,t,!0)&&i.push(r)}if(i.length===0)return this.createFailureResult(`No matching full case citation found`);if(r){let e=i.find(e=>{let t=this.citations[e];if(t.type!==`case`)return!1;let n=t.plaintiffNormalized,i=t.defendantNormalized,a=e=>e!==void 0&&(e===r||e.includes(r)||r.includes(e));return a(n)||a(i)});if(e!==void 0)return{resolvedTo:e,confidence:.98}}return{resolvedTo:i[0],confidence:.95}}trackFullCitation(e,t){if(e.type===`case`&&(e.defendantNormalized&&(this.context.fullCitationHistory.set(e.defendantNormalized,t),this.partyNameTree.insert(e.defendantNormalized)),e.plaintiffNormalized&&(this.context.fullCitationHistory.set(e.plaintiffNormalized,t),this.partyNameTree.insert(e.plaintiffNormalized)),!e.plaintiffNormalized&&!e.defendantNormalized)){let n=this.extractPartyName(e);if(n){let e=this.normalizePartyName(n);this.context.fullCitationHistory.set(e,t),this.partyNameTree.insert(e)}}}extractPartyName(e){let t=e.span.originalStart,n=Math.max(0,t-100),r=this.text.substring(n,t),i=r.match(/([A-Z][a-zA-Z]*(?:\s+[A-Z][a-zA-Z]*)*)\s+v\.?\s+[A-Z][a-zA-Z]*(?:\s+[A-Z][a-zA-Z]*)*,\s*$/);if(i)return this.stripSignalWords(i[1].trim());let a=r.match(/([A-Z][a-zA-Z]*(?:\s+[A-Z][a-zA-Z]*)*),\s*$/);if(a)return this.stripSignalWords(a[1].trim())}stripSignalWords(e){let t=e.replace(/^(?:In(?!\s+re\b)|See(?:\s+[Aa]lso)?|Compare|But(?:\s+[Ss]ee)?|Cf\.?|Also)\s+/i,``).trim();return t.length>0?t:e}normalizePartyName(e){return e.toLowerCase().replace(/\s+/g,` `).trim()}normalizeReporter(e){return e.toLowerCase().replace(/\s+/g,``).replace(/\./g,``)}isWithinScope(e,t,n=!1){return Gn(e,t,this.context.paragraphMap,this.options.scopeStrategy,n)}createFailureResult(e){if(this.options.reportUnresolved)return{resolvedTo:void 0,failureReason:e,confidence:0}}};function Jn(e,t,n){return new qn(e,t,n).resolve()}function Yn(e,t=``){let n=new Map;if(e.length===0||t===``)return n;let r=new Set;for(let i=0;i<e.length;i++){let a=e[i];if(a.type!==`case`||r.has(i))continue;let o=[];for(let n=i+1;n<e.length;n++){let s=e[n];if(s.type!==`case`)break;let c=(n===i+1?a:e[n-1]).span.cleanEnd,l=s.span.cleanStart;if(l-c>20)break;let u=t.substring(c,l);if(u.includes(`[`)&&t[s.span.cleanEnd]===`]`){o.push(n),r.add(n);break}if(!u.includes(`,`))break;let d=u.indexOf(`,`);if(u.length-d-1>5||t.substring(a.span.cleanEnd,s.span.cleanEnd).includes(`)`)||!Xn(t,s.span.cleanEnd))break;o.push(n),r.add(n)}o.length>0&&n.set(i,o)}return n}function Xn(e,t){let n=e.substring(t,t+200),r=n.indexOf(`(`);if(r===-1)return!1;let i=0;for(let e=r;e<n.length;e++)if(n[e]===`(`)i++;else if(n[e]===`)`&&(i--,i===0))return!0;return!1}const Zn=Qn();function Qn(){return[{regex:/^but\s+cf\.,\s+e\.g\.,?(?=\s|$)/i,signal:`but cf., e.g.`},{regex:/^see\s+also,\s+e\.g\.,?(?=\s|$)/i,signal:`see also, e.g.`},{regex:/^but\s+see,\s+e\.g\.,?(?=\s|$)/i,signal:`but see, e.g.`},{regex:/^cf\.,\s+e\.g\.,?(?=\s|$)/i,signal:`cf., e.g.`},{regex:/^see,\s+e\.g\.,?(?=\s|$)/i,signal:`see, e.g.`},{regex:/^see\s+generally\b/i,signal:`see generally`},{regex:/^see\s+also\b/i,signal:`see also`},{regex:/^but\s+see\b/i,signal:`but see`},{regex:/^but\s+cf\.?(?=\s|$)/i,signal:`but cf`},{regex:/^compare\b/i,signal:`compare`},{regex:/^accord\b/i,signal:`accord`},{regex:/^contra\b/i,signal:`contra`},{regex:/^see\b/i,signal:`see`},{regex:/^cf\.?(?=\s|$)/i,signal:`cf`},{regex:/^e\.g\.,?(?=\s|$)/i,signal:`e.g.`}].map(({regex:e,signal:t})=>({regex:e,endRegex:RegExp(`${e.source.replace(/^\^/,`(?<![a-z])`)}\\s*$`,e.flags),signal:t}))}function $n(e){let t=`fullSpan`in e?e.fullSpan:void 0;return t?t.cleanEnd:e.span.cleanEnd}function er(e){let t=`fullSpan`in e?e.fullSpan:void 0;return t?t.cleanStart:e.span.cleanStart}function tr(e,t){e.signal=t}function nr(e){let t=e.trimStart();for(let{regex:e,signal:n}of Zn){let r=e.exec(t);if(r)return{signal:n,length:r[0].length}}}function rr(e){let t=e.indexOf(`;`);if(t===-1||e.substring(0,t).trim()!==``)return{valid:!1};let n=e.substring(t+1).trim();if(n===``)return{valid:!0};let r=nr(n);return r&&n.substring(r.length).trim()===``?{valid:!0,signal:r.signal}:{valid:!1}}function ir(e,t){if(e.length<2)return;let n=[],r=[];for(let i=0;i<e.length-1;i++){let a=e[i],o=e[i+1];if(o.type===`case`&&o.subsequentHistoryOf){r.length>=2&&n.push(r),r=[];continue}if(a.type===`case`&&a.subsequentHistoryOf)continue;let s=$n(a),c=er(o);if(c<=s){r.length>=2&&n.push(r),r=[];continue}let l=rr(t.substring(s,c));l.valid?(r.length===0&&r.push(i),r.push(i+1),l.signal&&!o.signal&&tr(o,l.signal)):(r.length>=2&&n.push(r),r=[])}r.length>=2&&n.push(r);for(let t=0;t<n.length;t++){let r=n[t];if(r.length<2)continue;let i=`sc-${t}`;for(let t=0;t<r.length;t++){let n=e[r[t]];n.stringCitationGroupId=i,n.stringCitationIndex=t,n.stringCitationGroupSize=r.length}}for(let r of n){if(r.length<2)continue;let n=e[r[0]];if(n.signal)continue;let i=Math.max(0,er(n)-60),a=t.substring(i,er(n)).trim();for(let{endRegex:e,signal:t}of Zn)if(e.test(a)){tr(n,t);break}}}function ar(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(r.signal&&r.stringCitationGroupId)continue;let i=n>0?$n(e[n-1]):0,a=r.span.cleanStart;if(a<=i)continue;let o=t.substring(i,a),s=[];for(let{signal:e}of Zn){let t=e.replace(/\./g,`\\.`).replace(/\s+/g,`\\s+`),n=RegExp(`(?<![a-zA-Z])(${t})(?![a-zA-Z])`,`gi`),r;for(;(r=n.exec(o))!==null;)s.push({signal:e,start:r.index,end:r.index+r[0].length})}if(s.length===0)continue;s.sort((e,t)=>{let n=t.end-e.end;return n===0?t.end-t.start-(e.end-e.start):n});let c=s[0];for(let e of s)e.start<=c.start&&e.end>=c.end&&(c=e);let l=o.substring(c.end).replace(/^[\s,]+/,``);if(l.length>0){let e=l[0];if(e>=`a`&&e<=`z`)continue}o.length-c.end>80||tr(r,c.signal)}}const or=1750,sr=.1,cr=new Set([`i.c.j.`,`u.n.t.s.`,`i.l.m.`,`i.l.r.`,`p.c.i.j.`,`a.c.`,`w.l.r.`,`all e.r.`,`q.b.`,`k.b.`,`ch.`,`co. rep.`,`e.c.r.`,`e.h.r.r.`,`c.m.l.r.`,`edw.`,`usc`,`usca`,`u.s.c.`,`u.s.c.a.`,`cfr`,`c.f.r.`]);function lr(e){if(e.type===`case`||e.type===`shortFormCase`)return e.reporter;if(e.type===`journal`)return e.abbreviation}function ur(e){switch(e.type){case`case`:return e.year;case`journal`:return e.year;case`federalRegister`:return e.year;case`statutesAtLarge`:return e.year;default:return}}const dr=new Set([`court`,`rule`,`section`,`chapter`,`article`,`part`,`title`,`paragraph`,`clause`,`amendment`,`dismissed`,`granted`,`denied`,`filed`,`argued`]),fr=new Set([`january`,`february`,`march`,`april`,`may`,`june`,`july`,`august`,`september`,`october`,`november`,`december`]),pr=new Date().getFullYear()+5;function mr(e){if(e.type!==`case`&&e.type!==`shortFormCase`)return!1;let t=e;if(!t.reporter||!fr.has(t.reporter.toLowerCase().trim()))return!1;let n=typeof t.volume==`number`?t.volume:Number.parseInt(String(t.volume),10);if(Number.isNaN(n)||n<1||n>31)return!1;let r=typeof t.page==`number`?t.page:Number.parseInt(String(t.page),10);return Number.isNaN(r)?!1:r>=1700&&r<=pr}function hr(e){return!!(e.toLowerCase().split(/\s+/).some(e=>dr.has(e))||!e.includes(`.`)&&e.length>12)}const gr=new Set(`the.a.an.in.on.at.but.and.for.by.to.with.from.as.if.so.nor.yet.not.no.then.when.where.who.what.how.that.this.these.those.he.she.it.they.we.his.her.its.their.our.was.were.is.are.has.had.been.being.did.does.do.may.shall.will.would.could.should.held.said.found.made.took.gave.see.also.january.february.march.april.june.july.august.september.october.november.december`.split(`.`)),_r=2e3,vr=/^\d{1,2}-\d{4,}$/;function yr(e){if(e.type!==`case`&&e.type!==`shortFormCase`)return!1;let t=e;return typeof t.volume==`number`?t.volume>_r:!1}function br(e){if(e.type!==`case`&&e.type!==`shortFormCase`)return!1;let t=e,n=String(t.volume);return vr.test(n)}function xr(t){if(t.type!==`case`&&t.type!==`shortFormCase`)return!1;let n=t,r=typeof n.volume==`number`?n.volume:Number.parseInt(String(n.volume),10);if(Number.isNaN(r)||r<1||r>20)return!1;let i=n.reporter;if(!i)return!1;let a=e.s();return a?(a.byAbbreviation.get(i.toLowerCase())??[]).length===0:i.includes(`.`)?!1:i.toLowerCase().split(/\s+/).some(e=>gr.has(e))}function Sr(e){let t=lr(e);if(t&&cr.has(t.toLowerCase().trim())||t&&(e.type===`case`||e.type===`shortFormCase`)&&hr(t)||yr(e)||br(e)||xr(e))return!0;let n=ur(e);return n!==void 0&&n<or}function Cr(e){let t=[],n=lr(e);if(n){let r=n.toLowerCase().trim();cr.has(r)&&t.push(`Reporter "${n}" is a known non-US source`),(e.type===`case`||e.type===`shortFormCase`)&&hr(n)&&t.push(`Reporter "${n}" contains prose words or is implausibly long`)}if(yr(e)){let n=e;t.push(`Volume ${n.volume} exceeds maximum plausible volume (${_r}) — likely a zip code or other number`)}if(br(e)){let n=e;t.push(`Hyphenated volume "${n.volume}" matches docket number pattern — likely a case number, not a citation volume`)}if(xr(e)){let n=e;t.push(`Small volume (${n.volume}) with unrecognized reporter "${n.reporter}" — likely a paragraph or footnote marker`)}let r=ur(e);return r!==void 0&&r<or&&t.push(`Year ${r} predates US legal reporting (threshold: ${or})`),t}function wr(e,t){let n=e.filter(e=>!mr(e));if(t)return n.filter(e=>!Sr(e));for(let e of n){if(e.confidence===sr&&e.warnings?.length)continue;let t=Cr(e);if(t.length>0){e.confidence=sr;let n=t.map(t=>({level:`warning`,message:t,position:{start:e.span.originalStart,end:e.span.originalEnd}}));e.warnings=[...e.warnings||[],...n]}}return n}const Tr=/^(\S+)\s+(.+)\s+(\d+)$/;function Er(e,t){let n=performance.now(),{cleaned:r,transformationMap:i,warnings:a}=y(e,t?.cleaners),o;if(t?.detectFootnotes){let t=O(e);t.length>0&&(o=A(t,i))}let s=Rn.filter(e=>e.id===`usc`||e.id===`cfr`||e.id===`irc`),c=Rn.filter(e=>e.id!==`usc`&&e.id!==`cfr`&&e.id!==`irc`),l=t?.patterns||[...In,...Pn,...Ln,...s,...Nn,...Le,...c,...Fn],u=zn(r,l),d=new Map;for(let e=0;e<l.length;e++){let t=l[e].id;d.has(t)||d.set(t,e)}let f=e=>d.get(e.patternId)??1/0,p=[...u].sort((e,t)=>e.span.cleanStart-t.span.cleanStart||t.span.cleanEnd-e.span.cleanEnd||f(e)-f(t)),m=[];for(let e of p){let t=!1;for(let n of m)if(n.span.cleanStart<=e.span.cleanStart&&n.span.cleanEnd>=e.span.cleanEnd&&!(f(n)>f(e))&&(n.span.cleanStart<e.span.cleanStart||n.span.cleanEnd>e.span.cleanEnd||f(n)<f(e))){t=!0;break}t||m.push(e)}let h=Yn(m,r),g=new Map;for(let[e,t]of h.entries())for(let n of t)g.set(n,e);let _=m.filter(e=>e.type===`case`).map(e=>({cleanStart:e.span.cleanStart,cleanEnd:e.span.cleanEnd})),v=[];for(let t=0;t<m.length;t++){let o=m[t],s;switch(o.type){case`case`:s=o.patternId===`id`||o.patternId===`ibid`?rt(o,i,r):o.patternId===`supra`?it(o,i,r):o.patternId===`shortFormCase`?at(o,i,r):Fe(o,i,r,e,_);break;case`docket`:{let t=Ge(o,i,r,e);if(!t)continue;s=t;break}case`statute`:s=jn(o,i);break;case`journal`:s=qe(o,i,r);break;case`neutral`:s=Ze(o,i,r);break;case`publicLaw`:s=Qe(o,i);break;case`federalRegister`:s=Ke(o,i);break;case`statutesAtLarge`:s=Mn(o,i);break;case`constitutional`:s=We(o,i);break;default:continue}if(a.length>0&&(s.warnings=[...s.warnings||[],...a]),s.processTimeMs=performance.now()-n,s.type===`case`){let e=h.has(t),n=g.has(t);if(e||n){let r=m[n?g.get(t)??t:t],i=Tr.exec(r.text);if(i){let[,n,r,a]=i;if(s.groupId=`${n}-${r.replace(/\s+/g,`.`)}-${a}`,e){let e=h.get(t)??[];s.parallelCitations=e.map(e=>{let t=m[e],n=Tr.exec(t.text);if(n){let[,e,t,r]=n;return{volume:/^\d+$/.test(e)?Number.parseInt(e,10):e,reporter:t,page:Number.parseInt(r,10)}}return{volume:0,reporter:``,page:0}})}}}}v.push(s)}Ir(v,r,i),Or(v),kr(v),zr(v),Mr(v,r),Pr(v,r),Lr(v,r,i),ir(v,r),ar(v,r);let b=wr(v,t?.filterFalsePositives??!1);return o&&j(b,o),t?.resolve?Jn(b,e,o?{...t.resolutionOptions,footnoteMap:o}:t.resolutionOptions):b}async function Dr(e,t){return Er(e,t)}function Or(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.type!==`case`||!r.subsequentHistoryEntries)continue;let i=r.subsequentHistoryEntries,a=0;for(let r=n+1;r<e.length&&a<i.length;r++){let o=e[r];if(o.type!==`case`)continue;let s=i[a].signalSpan.cleanEnd;o.span.cleanStart>=s&&(t.push({parentIdx:n,childIdx:r,signal:i[a].signal}),a++)}}if(t.length===0)return;let n=new x(e.length);for(let e of t)n.union(e.parentIdx,e.childIdx);let r=new Map;for(let e of t)r.set(e.childIdx,e.signal);for(let[t,i]of n.components()){if(i.length===1)continue;let n=e[t];if(n.type!==`case`)continue;let a=[...n.subsequentHistoryEntries??[]];for(let n of i){if(n===t)continue;let i=e[n];if(i.type!==`case`)continue;let o=r.get(n);if(o&&(i.subsequentHistoryOf={index:t,signal:o},i.subsequentHistoryEntries)){for(let e of i.subsequentHistoryEntries)a.push({...e,order:a.length});i.subsequentHistoryEntries=void 0}}n.subsequentHistoryEntries=a}}function kr(e){for(let t of e){if(t.type!==`case`||!t.subsequentHistoryOf)continue;let n=e[t.subsequentHistoryOf.index];!n||n.type!==`case`||n.caseName&&(t.caseName=n.caseName,t.plaintiff=n.plaintiff,t.defendant=n.defendant,t.plaintiffNormalized=n.plaintiffNormalized,t.defendantNormalized=n.defendantNormalized,t.proceduralPrefix=n.proceduralPrefix,t.spans&&(t.spans.caseName=void 0,t.spans.plaintiff=void 0,t.spans.defendant=void 0),t.fullSpan&&={cleanStart:t.span.cleanStart,cleanEnd:t.fullSpan.cleanEnd,originalStart:t.span.originalStart,originalEnd:t.fullSpan.originalEnd})}}const Ar=/^\s*(?:,\s*(?:at\s+)?\d+(?:-\d+)?\s*)?\(\s*([A-Z][A-Za-z]+\.?(?:\s+[A-Z][A-Za-z]+\.?)?)?\s*(\d{4})(?:-\d{2,4})?\s*([A-Z][A-Za-z]+\.?(?:\s+[A-Z][A-Za-z]+\.?)?)?\s*\)/,jr=/^(?:Repl|Supp|Cum\.?\s*Supp|Reissue)\.?$/i;function Mr(e,t){for(let n of e){if(n.type!==`statute`||n.year!==void 0)continue;let e=t.slice(n.span.cleanEnd),r=Ar.exec(e);if(!r)continue;let[,i,a,o]=r;n.year=Number.parseInt(a,10);let s=i??o;s&&(jr.test(s)?n.editionLabel=s.replace(/\s+/g,` `).trim():n.publisher=s)}}const Nr={WV:{jurisdiction:`WV`,code:`W. Va. Code`},CO:{jurisdiction:`CO`,code:`C.R.S.`},MT:{jurisdiction:`MT`,code:`MCA`}};function Pr(e,t){let n=null;for(let r of e){if(r.type!==`statute`)continue;if(!/^(?:§|Section\s)/.test(r.matchedText)){let e=r.jurisdiction;e&&Nr[e]?n=Nr[e]:e===`NM`&&(n=null);continue}if(r.jurisdiction!==`NM`||r.code!==`NMSA 1978`)continue;let e=t.slice(r.span.cleanEnd,r.span.cleanEnd+200),i=e.search(/[.;](?:\s|$)/),a=i>=0?e.slice(0,i):e;if(/,\s*M\.?\s*C\.?\s*A\.?\b/.test(a)){r.jurisdiction=`MT`,r.code=`MCA`;continue}n&&(r.jurisdiction=n.jurisdiction,r.code=n.code)}}const Fr=new Set([`the`,`and`,`but`,`for`,`see`,`see also`,`cf`,`but see`,`but cf`,`compare`,`accord`,`state`,`people`,`court`,`plaintiff`,`defendant`,`appellant`,`appellee`,`petitioner`,`respondent`,`united states`]);function Ir(e,t,n){let r=RegExp(`^(?:\\s*,\\s*|\\s+and\\s+|\\s+to\\s+)(\\d[\\w-]*(?:\\([A-Za-z0-9]+\\))*)`),i=[];for(let a of e){if(a.type!==`statute`||!a.matchedText.includes(`§§`))continue;let e=a.span.cleanEnd;for(;e<t.length;){let o=t.slice(e),c=r.exec(o);if(!c)break;let l=c[0].length,u=c[1],d=e+l-u.length,f=e+l,{originalStart:p,originalEnd:m}=s({cleanStart:d,cleanEnd:f},n),h={...a,text:u,matchedText:u,section:u,span:{cleanStart:d,cleanEnd:f,originalStart:p,originalEnd:m},subsection:void 0,pincite:void 0,spans:void 0};i.push(h),e=f}}i.length!==0&&(e.push(...i),e.sort((e,t)=>e.span.cleanStart-t.span.cleanStart))}function Lr(e,t,n){let r=e=>{let t=e.trim();return t=t.replace(/^(?:In\s+re|Estate\s+of|Ex\s+parte|Matter\s+of|Application\s+of)\s+/i,``),t=t.replace(/^(?:But\s+(?:see|cf\.?)|See(?:\s+also)?|Compare|Cf\.?|Accord|E\.\s*g\.?|Also|Then)\s+/,``),t.trim()},i=[],a=new Set,o=(e,t,n)=>{let r=t.trim();if(r.length<3)return;let o=(n??r.toLowerCase()).trim();if(Fr.has(o))return;let s=`${e.span.cleanStart}:${r}`;a.has(s)||(a.add(s),i.push({cite:e,name:r,normalized:o}))};for(let t of e)if(t.type===`case`){if(t.plaintiff){o(t,t.plaintiff,t.plaintiffNormalized);let e=r(t.plaintiff);e&&e!==t.plaintiff&&o(t,e,e.toLowerCase())}if(t.defendant){o(t,t.defendant,t.defendantNormalized);let e=r(t.defendant);e&&e!==t.defendant&&o(t,e,e.toLowerCase())}}if(i.length===0)return;let c=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),l=new Map;for(let e of i){let t=l.get(e.name)??[];t.push(e),l.set(e.name,t)}for(let e of l.values())e.sort((e,t)=>e.cite.span.cleanStart-t.cite.span.cleanStart);let u=[],d=new Set;for(let[r,i]of l){let a=c(r),o=RegExp(`(?<![A-Za-z'])(${a})\\s*,\\s*at\\s+(?:pp?\\.?\\s*|pages?\\s+)?(\\d+(?:[-\\u2013\\u2014]\\d+)?(?:,\\s*\\d+(?:[-\\u2013\\u2014]\\d+)?)*)`,`g`),l;for(;(l=o.exec(t))!==null;){let t=l.index,r=t+l[0].length,a;for(let e of i){if(e.cite.span.cleanEnd>t)break;a=e}if(!a||Rr(e,t,r))continue;let o=`${t}-${r}`;if(d.has(o))continue;d.add(o);let c=U(l[2].split(`,`)[0].trim())??void 0,f=c?.page,{originalStart:p,originalEnd:m}=s({cleanStart:t,cleanEnd:r},n),h=typeof a.cite.page==`number`?a.cite.page:Number.parseInt(String(a.cite.page),10)||void 0;u.push({type:`shortFormCase`,text:l[0],matchedText:l[0],confidence:.85,processTimeMs:0,patternsChecked:0,span:{cleanStart:t,cleanEnd:r,originalStart:p,originalEnd:m},volume:a.cite.volume,reporter:a.cite.reporter,page:h,pincite:f,pinciteInfo:c,partyName:l[1],partyNameNormalized:a.normalized})}}u.length!==0&&(e.push(...u),e.sort((e,t)=>e.span.cleanStart-t.span.cleanStart))}function Rr(e,t,n){for(let r of e)if(!(r.span.cleanEnd<=t)&&!(r.span.cleanStart>=n))return!0;return!1}function zr(e){let t=new Map;for(let n=0;n<e.length;n++){let r=e[n];r.type===`case`&&(!r.groupId||!r.caseName||t.has(r.groupId)||t.set(r.groupId,n))}for(let n of e){if(n.type!==`case`||!n.groupId||n.caseName)continue;let r=t.get(n.groupId);if(r===void 0)continue;let i=e[r];!i||i.type!==`case`||(n.caseName=i.caseName,n.plaintiff=i.plaintiff,n.defendant=i.defendant,n.plaintiffNormalized=i.plaintiffNormalized,n.defendantNormalized=i.defendantNormalized,n.proceduralPrefix=i.proceduralPrefix)}}exports.DocumentResolver=qn,exports.applyFalsePositiveFilters=wr,exports.assertUnreachable=a,exports.cleanText=y,exports.detectFootnotes=O,exports.extractCase=Fe,exports.extractCitations=Er,exports.extractCitationsAsync=Dr,exports.extractConstitutional=We,exports.extractFederalRegister=Ke,exports.extractJournal=qe,exports.extractNeutral=Ze,exports.extractPublicLaw=Qe,exports.extractStatute=jn,exports.extractStatutesAtLarge=Mn,exports.isCaseCitation=r,exports.isCitationType=i,exports.isFullCitation=t,exports.isShortFormCitation=n,exports.normalizeCourt=te,exports.parsePincite=U,exports.resolveCitations=Jn,exports.spanFromGroupIndex=o,exports.tokenize=zn;
2
2
  //# sourceMappingURL=index.cjs.map