@tricoteuses/tisseuse 0.19.3 → 0.21.0

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.
Files changed (54) hide show
  1. package/README.md +79 -0
  2. package/dist/{html-EuDDYMr2.js → html-jaUHsXKQ.js} +6449 -5951
  3. package/dist/index.js +115 -115
  4. package/dist/{resolver-tBQRf8TL.js → resolver-CzmDH4S3.js} +125 -97
  5. package/dist/server-f-legi.js +73 -92
  6. package/dist/server.js +892 -722
  7. package/dist/src/lib/extractors/action_directives_cpu.test.d.ts +1 -0
  8. package/dist/src/lib/extractors/links.citation_scope.test.d.ts +1 -0
  9. package/dist/src/lib/extractors/links.d.ts +2 -1
  10. package/dist/src/lib/extractors/portion_references_cpu.test.d.ts +1 -0
  11. package/dist/src/lib/extractors/qualified_versions.d.ts +6 -0
  12. package/dist/src/lib/extractors/references.d.ts +8 -8
  13. package/dist/src/lib/f_legi/resolver.d.ts +0 -2
  14. package/dist/src/lib/index.d.ts +1 -0
  15. package/dist/src/lib/legi/canutes_article_preload.test.d.ts +1 -0
  16. package/dist/src/lib/legi/canutes_candidates.test.d.ts +1 -0
  17. package/dist/src/lib/legi/canutes_resolver.d.ts +5 -4
  18. package/dist/src/lib/legi/canutes_resolver_cache.test.d.ts +1 -0
  19. package/dist/src/lib/legi/canutes_section_roots.test.d.ts +1 -0
  20. package/dist/src/lib/legi/canutes_sql.d.ts +4 -0
  21. package/dist/src/lib/legi/canutes_text_titles_cache.d.ts +24 -0
  22. package/dist/src/lib/legi/canutes_text_titles_cache.integration.test.d.ts +1 -0
  23. package/dist/src/lib/legi/canutes_titles_metrics.d.ts +13 -0
  24. package/dist/src/lib/legi/text_titles_infos.d.ts +1 -0
  25. package/dist/src/lib/linkers/html.d.ts +6 -4
  26. package/dist/src/lib/linkers/markdown.d.ts +2 -2
  27. package/dist/src/lib/server/akn_rendering.test.d.ts +1 -0
  28. package/dist/src/lib/server/bill_action_resolver_invariance.test.d.ts +1 -0
  29. package/dist/src/lib/server/bill_action_target_fixtures.d.ts +7 -0
  30. package/dist/src/lib/server/bill_citation_anaphora.test.d.ts +1 -0
  31. package/dist/src/lib/server/bill_comparison.d.ts +42 -0
  32. package/dist/src/lib/server/bill_comparison.test.d.ts +1 -0
  33. package/dist/src/lib/server/bill_target_scope.test.d.ts +1 -0
  34. package/dist/src/lib/server/canutes_legacy_candidates.d.ts +19 -0
  35. package/dist/src/lib/server/canutes_only_compatibility.test.d.ts +1 -0
  36. package/dist/src/lib/server/databases/canutes_text_titles_cache.d.ts +8 -0
  37. package/dist/src/lib/server/flegi_profiling.d.ts +14 -0
  38. package/dist/src/lib/server/flegi_profiling.test.d.ts +1 -0
  39. package/dist/src/lib/server/masquage-typesense.test.d.ts +1 -0
  40. package/dist/src/lib/server/masquage_typesense.d.ts +36 -0
  41. package/dist/src/lib/server/parsed_bills.d.ts +4 -0
  42. package/dist/src/lib/server/sql_profiling.d.ts +30 -0
  43. package/dist/src/lib/server/sql_profiling.test.d.ts +1 -0
  44. package/dist/src/lib/text_parsers/action_words.d.ts +2 -0
  45. package/dist/src/lib/text_parsers/action_words.test.d.ts +1 -0
  46. package/dist/src/lib/text_parsers/qualified_versions.d.ts +2 -0
  47. package/dist/src/lib/text_parsers/texts.d.ts +1 -0
  48. package/dist/src/lib/text_parsers/transformers.d.ts +2 -0
  49. package/dist/src/scripts/compare_legi_bills.d.ts +1 -0
  50. package/dist/src/scripts/configure_postgres_legi_resolver.d.ts +1 -0
  51. package/dist/src/scripts/profile_canutes_bill.d.ts +1 -0
  52. package/dist/src/scripts/test_canutes_titles_cache.d.ts +1 -0
  53. package/dist/src/scripts/warm_canutes_text_titles_cache.d.ts +1 -0
  54. package/package.json +7 -1
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
- import { $ as e, $t as t, A as n, At as r, B as i, Bt as a, Ct as o, Dt as s, Et as c, F as l, Ft as u, G as d, Gt as f, H as p, Ht as m, I as ee, It as te, J as ne, Jt as re, K as ie, Kt as ae, L as oe, Lt as se, Mt as ce, Ot as le, P as ue, Pt as de, Q as fe, Qt as pe, R as me, Rt as he, St as ge, T as _e, Tt as h, U as ve, Ut as ye, V as be, Vt as xe, W as Se, Wt as Ce, X as we, Xt as Te, Y as Ee, Yt as De, Z as Oe, Zt as ke, _ as Ae, _t as je, a as g, at as Me, b as Ne, bt as Pe, c as Fe, ct as Ie, d as _, dt as Le, f as Re, ft as ze, g as Be, gt as Ve, ht as He, i as Ue, it as We, jt as Ge, kt as Ke, l as qe, lt as Je, mt as Ye, n as Xe, nt as Ze, o as v, ot as Qe, p as $e, pt as et, q as tt, qt as nt, r as y, rt, s as it, st as at, t as ot, tt as st, u as ct, v as lt, vt as ut, wt as dt, xt as ft, y as pt, yt as mt, z as ht, zt as gt } from "./html-EuDDYMr2.js";
2
- import { $ as _t, A as b, At as x, C as vt, Ct as yt, D as bt, Dt as S, E as xt, Et as St, F as Ct, Ft as C, G as wt, H as Tt, I as Et, It as Dt, J as Ot, L as kt, Lt as At, M as jt, N as Mt, Nt as w, O as Nt, Ot as T, P as Pt, Pt as Ft, Q as It, R as E, Rt as Lt, S as Rt, St as zt, T as Bt, U as Vt, X as Ht, Y as Ut, Z as Wt, _ as Gt, at as Kt, b as D, bt as O, c as qt, ct as Jt, d as Yt, et as Xt, f as Zt, ft as Qt, g as $t, gt as en, h as tn, ht as nn, j as rn, k as an, kt as k, l as on, m as sn, mt as cn, n as ln, nt as A, p as un, pt as dn, q as fn, r as pn, rt as mn, s as hn, t as gn, u as _n, ut as vn, w as yn, wt as bn, x as j, y as xn, z as M, zt as N } from "./resolver-tBQRf8TL.js";
1
+ import { $ as e, $t as t, A as n, At as r, B as i, Bt as a, Ct as o, Dt as s, Et as c, F as l, G as u, Gt as d, H as f, Ht as p, I as m, It as ee, J as te, Jt as ne, K as re, Kt as ie, L as ae, Lt as oe, Mt as se, Nt as ce, Ot as h, P as le, Pt as ue, Q as de, Qt as fe, R as pe, Rt as me, St as he, T as ge, Tt as _e, Ut as ve, V as ye, Vt as be, Wt as xe, X as Se, Xt as Ce, Y as we, Yt as Te, Z as Ee, Zt as De, _ as Oe, _t as ke, a as g, at as Ae, b as je, bt as Me, c as Ne, ct as Pe, d as _, dt as Fe, en as Ie, et as Le, f as Re, g as ze, gt as Be, ht as Ve, i as He, it as Ue, jt as We, kt as Ge, l as Ke, lt as qe, mt as Je, n as Ye, nn as Xe, o as v, ot as Ze, p as Qe, pt as $e, q as et, qt as tt, r as y, rt as nt, s as rt, st as it, t as at, tn as ot, tt as st, u as ct, ut as lt, v as ut, vt as dt, wt as ft, xt as pt, y as mt, yt as ht, z as gt, zt as _t } from "./html-jaUHsXKQ.js";
2
+ import { $ as vt, A as yt, At as b, B as x, Bt as bt, C as xt, D as St, E as Ct, Et as wt, F as Tt, Ft as S, G as Et, It as Dt, L as Ot, Lt as C, M as kt, Mt as w, N as At, O as jt, Ot as Mt, P as Nt, Q as Pt, R as Ft, Rt as It, S as T, St as Lt, T as Rt, Tt as zt, V as E, Vt as D, W as Bt, X as Vt, Y as Ht, Z as Ut, _ as Wt, _t as Gt, at as Kt, b as qt, c as Jt, et as Yt, f as Xt, ft as Zt, g as Qt, gt as $t, h as en, ht as tn, it as O, j as k, jt as A, k as nn, kt as j, l as rn, m as an, mt as on, n as sn, nt as cn, p as ln, q as un, r as dn, s as fn, st as pn, t as mn, tt as hn, u as gn, ut as _n, v as vn, vt as yn, w as bn, wt as xn, x as M, z as Sn, zt as Cn } from "./resolver-CzmDH4S3.js";
3
3
  //#region ../../node_modules/@tricoteuses/legifrance/dist/legal/index.js
4
- function Sn(e, t) {
4
+ function wn(e, t) {
5
5
  if (e != null) {
6
6
  if (!Array.isArray(e)) return e;
7
7
  for (let n of e) if (n["@debut"] <= t && t <= n["@fin"]) return n;
@@ -10,10 +10,10 @@ function Sn(e, t) {
10
10
  }
11
11
  //#endregion
12
12
  //#region src/lib/loaders/legifrance.ts
13
- function P({ data: e, num: t }) {
13
+ function N({ data: e, num: t }) {
14
14
  return t !== null && (e.num = t), e;
15
15
  }
16
- async function F(e, t, n) {
16
+ async function P(e, t, n) {
17
17
  let r = t.get("ARTICLE");
18
18
  r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("ARTICLE", r));
19
19
  let i = r.get(n);
@@ -21,9 +21,9 @@ async function F(e, t, n) {
21
21
  SELECT data, num
22
22
  FROM legifrance.article
23
23
  WHERE id = ${n}
24
- `).map(P)[0], r.set(n, i ?? null)), i ?? void 0;
24
+ `).map(N)[0], r.set(n, i ?? null)), i ?? void 0;
25
25
  }
26
- async function Cn(e, t, n) {
26
+ async function Tn(e, t, n) {
27
27
  let r = t.get("JO");
28
28
  r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("JO", r));
29
29
  let i = r.get(n);
@@ -34,7 +34,7 @@ async function Cn(e, t, n) {
34
34
  WHERE id = ${n}
35
35
  `)[0]?.data, r.set(n, i ?? null)), i ?? void 0;
36
36
  }
37
- async function I(e, t, n) {
37
+ async function F(e, t, n) {
38
38
  let r = t.get("SECTION_TA");
39
39
  r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("SECTION_TA", r));
40
40
  let i = r.get(n);
@@ -45,7 +45,7 @@ async function I(e, t, n) {
45
45
  WHERE id = ${n}
46
46
  `)[0]?.data, r.set(n, i ?? null)), i ?? void 0;
47
47
  }
48
- async function wn(e, t, n) {
48
+ async function En(e, t, n) {
49
49
  let r = t.get("SECTION_TA");
50
50
  r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("SECTION_TA", r));
51
51
  let i = new Set(n), a = [];
@@ -61,7 +61,7 @@ async function wn(e, t, n) {
61
61
  `).map(({ data: e }) => e)) r.set(t.ID, t), a.push(t);
62
62
  return a;
63
63
  }
64
- async function Tn(e, t, n) {
64
+ async function Dn(e, t, n) {
65
65
  let r = t.get("TEXTELR");
66
66
  r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("TEXTELR", r));
67
67
  let i = r.get(n);
@@ -72,7 +72,7 @@ async function Tn(e, t, n) {
72
72
  WHERE id = ${n}
73
73
  `)[0]?.data, r.set(n, i ?? null)), i ?? void 0;
74
74
  }
75
- async function En(e, t, n) {
75
+ async function On(e, t, n) {
76
76
  let r = t.get("TEXTEKALI");
77
77
  r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("TEXTEKALI", r));
78
78
  let i = r.get(n);
@@ -82,7 +82,7 @@ async function En(e, t, n) {
82
82
  WHERE id = ${n}
83
83
  `)[0]?.data, r.set(n, i ?? null)), i ?? void 0;
84
84
  }
85
- async function Dn(e, t, n) {
85
+ async function kn(e, t, n) {
86
86
  let r = t.get("TEXTELR");
87
87
  r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("TEXTELR", r));
88
88
  let i = new Set(n), a = [];
@@ -97,7 +97,7 @@ async function Dn(e, t, n) {
97
97
  `).map(({ data: e }) => e)) r.set(t.META.META_COMMUN.ID, t), a.push(t);
98
98
  return a;
99
99
  }
100
- async function On(e, t, n) {
100
+ async function An(e, t, n) {
101
101
  let r = t.get("TEXTE_VERSION");
102
102
  r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("TEXTE_VERSION", r));
103
103
  let i = new Set(n), a = [];
@@ -112,7 +112,7 @@ async function On(e, t, n) {
112
112
  `).map(({ data: e }) => e)) r.set(t.META.META_COMMUN.ID, t), a.push(t);
113
113
  return a;
114
114
  }
115
- async function kn(e, t, n) {
115
+ async function jn(e, t, n) {
116
116
  let r = t.get("TEXTE_VERSION");
117
117
  r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("TEXTE_VERSION", r));
118
118
  let i = r.get(n);
@@ -123,7 +123,7 @@ async function kn(e, t, n) {
123
123
  WHERE id = ${n}
124
124
  `)[0]?.data, r.set(n, i ?? null)), i ?? void 0;
125
125
  }
126
- async function An(e, t, n) {
126
+ async function Mn(e, t, n) {
127
127
  let r = t.get("ARTICLE");
128
128
  r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("ARTICLE", r));
129
129
  let i = [];
@@ -131,80 +131,80 @@ async function An(e, t, n) {
131
131
  SELECT data, num
132
132
  FROM legifrance.article
133
133
  ${n}
134
- `).map(P)) r.set(t.META.META_COMMUN.ID, t), i.push(t);
134
+ `).map(N)) r.set(t.META.META_COMMUN.ID, t), i.push(t);
135
135
  return i;
136
136
  }
137
137
  //#endregion
138
138
  //#region src/lib/articles.ts
139
- var L = ["2222-02-22", "2999-01-01"];
140
- function R(e) {
141
- return [e, ...e.TM === void 0 ? [] : R(e.TM)];
139
+ var I = ["2222-02-22", "2999-01-01"];
140
+ function L(e) {
141
+ return [e, ...e.TM === void 0 ? [] : L(e.TM)];
142
142
  }
143
- function z(e) {
144
- return e !== void 0 && L.includes(e);
143
+ function R(e) {
144
+ return e !== void 0 && I.includes(e);
145
145
  }
146
- function jn({ dateDebut: e, sourceDateDebut: t, sourceDateFin: n }) {
147
- return t !== void 0 && n !== void 0 && !z(t) && !z(n) && n <= t ? "never_effective" : e === void 0 || z(e) ? "unknown" : n === "2999-01-01" ? "open_ended" : n === void 0 || z(n) ? "unknown" : n > e ? "dated" : "unknown";
146
+ function Nn({ dateDebut: e, sourceDateDebut: t, sourceDateFin: n }) {
147
+ return t !== void 0 && n !== void 0 && !R(t) && !R(n) && n <= t ? "never_effective" : e === void 0 || R(e) ? "unknown" : n === "2999-01-01" ? "open_ended" : n === void 0 || R(n) ? "unknown" : n > e ? "dated" : "unknown";
148
148
  }
149
- var Mn = (e) => {
149
+ var Pn = (e) => {
150
150
  if (e !== void 0) for (let t = 0; t < e.length; ++t) {
151
- let n = A(new S(e, t));
151
+ let n = O(new j(e, t));
152
152
  if (typeof n == "string") return n;
153
153
  }
154
- }, B = (e) => (e === void 0 ? [] : Array.isArray(e) ? e : [e]).map((e) => Mn(e["#text"])).find((e) => e !== void 0), Nn = (e) => {
154
+ }, z = (e) => (e === void 0 ? [] : Array.isArray(e) ? e : [e]).map((e) => Pn(e["#text"])).find((e) => e !== void 0), Fn = (e) => {
155
155
  let t = e.META.META_SPEC.META_ARTICLE.DATE_DEBUT;
156
- if (t !== void 0 && !L.includes(t)) return t;
157
- let n = e.CONTEXTE.TEXTE, r = n.TITRE_TXT, i = [...r === void 0 ? [] : (Array.isArray(r) ? r : [r]).map((e) => e["@debut"]), ...n.TM === void 0 ? [] : R(n.TM).map((e) => (Array.isArray(e.TITRE_TM) ? e.TITRE_TM : [e.TITRE_TM]).map((e) => e["@debut"])).flat()].filter((e) => !L.includes(e));
156
+ if (t !== void 0 && !I.includes(t)) return t;
157
+ let n = e.CONTEXTE.TEXTE, r = n.TITRE_TXT, i = [...r === void 0 ? [] : (Array.isArray(r) ? r : [r]).map((e) => e["@debut"]), ...n.TM === void 0 ? [] : L(n.TM).map((e) => (Array.isArray(e.TITRE_TM) ? e.TITRE_TM : [e.TITRE_TM]).map((e) => e["@debut"])).flat()].filter((e) => !I.includes(e));
158
158
  if (i.length > 0) return i.sort().at(-1);
159
159
  let a = n["@date_publi"];
160
- if (a !== void 0 && !L.includes(a)) return a;
160
+ if (a !== void 0 && !I.includes(a)) return a;
161
161
  let o = n["@date_signature"];
162
- if (o !== void 0 && !L.includes(o)) return o;
162
+ if (o !== void 0 && !I.includes(o)) return o;
163
163
  let s = e.META.META_SPEC.META_ARTICLE.DATE_FIN;
164
- if (s !== void 0 && !L.includes(s)) return s;
165
- let c = B(r);
164
+ if (s !== void 0 && !I.includes(s)) return s;
165
+ let c = z(r);
166
166
  if (c !== void 0) return c;
167
- if (L.includes(t ?? "")) return t;
167
+ if (I.includes(t ?? "")) return t;
168
168
  throw Error(`Missing date signature in article ${e.META.META_COMMUN.ID}`);
169
- }, V = (e) => {
169
+ }, B = (e) => {
170
170
  let t = e.META.META_SPEC.META_ARTICLE.DATE_DEBUT;
171
- if (t !== void 0 && !L.includes(t)) return t;
171
+ if (t !== void 0 && !I.includes(t)) return t;
172
172
  let n = e.CONTEXTE.TEXTE, r = n["@date_signature"];
173
- if (r !== void 0 && !L.includes(r)) return r;
173
+ if (r !== void 0 && !I.includes(r)) return r;
174
174
  let i = n["@date_publi"];
175
- if (i !== void 0 && !L.includes(i)) return i;
176
- let a = n.TITRE_TXT, o = [...a === void 0 ? [] : (Array.isArray(a) ? a : [a]).map((e) => e["@debut"]), ...n.TM === void 0 ? [] : R(n.TM).map((e) => (Array.isArray(e.TITRE_TM) ? e.TITRE_TM : [e.TITRE_TM]).map((e) => e["@debut"])).flat()].filter((e) => !L.includes(e));
175
+ if (i !== void 0 && !I.includes(i)) return i;
176
+ let a = n.TITRE_TXT, o = [...a === void 0 ? [] : (Array.isArray(a) ? a : [a]).map((e) => e["@debut"]), ...n.TM === void 0 ? [] : L(n.TM).map((e) => (Array.isArray(e.TITRE_TM) ? e.TITRE_TM : [e.TITRE_TM]).map((e) => e["@debut"])).flat()].filter((e) => !I.includes(e));
177
177
  if (o.length > 0) return o.sort().at(-1);
178
178
  let s = e.META.META_SPEC.META_ARTICLE.DATE_FIN;
179
- if (s !== void 0 && !L.includes(s)) return s;
180
- let c = B(a);
179
+ if (s !== void 0 && !I.includes(s)) return s;
180
+ let c = z(a);
181
181
  if (c !== void 0) return c;
182
- if (L.includes(t ?? "")) return t;
182
+ if (I.includes(t ?? "")) return t;
183
183
  throw Error(`Missing date signature in article ${e.META.META_COMMUN.ID}`);
184
184
  };
185
- async function Pn(e, t, n, r) {
186
- let i = await F(e, t, n);
185
+ async function In(e, t, n, r) {
186
+ let i = await P(e, t, n);
187
187
  if (i === void 0) return;
188
- let a = V(i), o = i.META.META_COMMUN.ORIGINE;
188
+ let a = B(i), o = i.META.META_COMMUN.ORIGINE;
189
189
  if (o === "KALI") return;
190
190
  let s = i.CONTEXTE.TEXTE;
191
191
  if (s.TM === void 0) return;
192
- let c = R(s.TM).reverse(), l;
192
+ let c = L(s.TM).reverse(), l;
193
193
  switch (o) {
194
194
  case "JORF":
195
195
  l = c.map((e) => e.TITRE_TM["@id"]);
196
196
  break;
197
197
  case "LEGI":
198
- l = c.map((e) => Sn(e.TITRE_TM, a)?.["@id"]);
198
+ l = c.map((e) => wn(e.TITRE_TM, a)?.["@id"]);
199
199
  break;
200
- default: N("getOrLoadArticleSiblingId origine", o);
200
+ default: D("getOrLoadArticleSiblingId origine", o);
201
201
  }
202
- return await (r === -1 ? K : G)(e, t, n, a, i.num, l);
202
+ return await (r === -1 ? G : W)(e, t, n, a, i.num, l);
203
203
  }
204
- async function H(e, t, n, r, i, a) {
204
+ async function V(e, t, n, r, i, a) {
205
205
  let o = r[n];
206
206
  if (o === void 0) {
207
- let s = await I(e, t, n);
207
+ let s = await F(e, t, n);
208
208
  if (s === void 0) return;
209
209
  let c = s.STRUCTURE_TA;
210
210
  if (c === void 0) return;
@@ -232,8 +232,8 @@ async function H(e, t, n, r, i, a) {
232
232
  }
233
233
  return o;
234
234
  }
235
- async function U(e, t, n) {
236
- let r = await I(e, t, n);
235
+ async function H(e, t, n) {
236
+ let r = await F(e, t, n);
237
237
  if (r === void 0) return;
238
238
  let i = r.STRUCTURE_TA;
239
239
  if (i === void 0) return;
@@ -241,26 +241,26 @@ async function U(e, t, n) {
241
241
  if (a !== void 0) return a[0]["@id"];
242
242
  let o = i.LIEN_SECTION_TA;
243
243
  if (o !== void 0) for (let n of o) {
244
- let r = await U(e, t, n["@id"]);
244
+ let r = await H(e, t, n["@id"]);
245
245
  if (r !== void 0) return r;
246
246
  }
247
247
  }
248
- async function W(e, t, n) {
249
- let r = await I(e, t, n);
248
+ async function U(e, t, n) {
249
+ let r = await F(e, t, n);
250
250
  if (r === void 0) return;
251
251
  let i = r.STRUCTURE_TA;
252
252
  if (i === void 0) return;
253
253
  let a = i.LIEN_SECTION_TA;
254
254
  if (a !== void 0) for (let n of a.toReversed()) {
255
- let r = await W(e, t, n["@id"]);
255
+ let r = await U(e, t, n["@id"]);
256
256
  if (r !== void 0) return r;
257
257
  }
258
258
  return i.LIEN_ART?.at(-1)?.["@id"];
259
259
  }
260
- async function G(e, t, n, r, i, a, o = 0, s = {}, c = void 0) {
260
+ async function W(e, t, n, r, i, a, o = 0, s = {}, c = void 0) {
261
261
  let l = a[o];
262
262
  if (l === void 0) return;
263
- let u = await H(e, t, l, s, n, c);
263
+ let u = await V(e, t, l, s, n, c);
264
264
  if (u === void 0) return;
265
265
  let { area: d, index: f, sectionTa: p } = u, m = p.STRUCTURE_TA;
266
266
  switch (d) {
@@ -269,32 +269,32 @@ async function G(e, t, n, r, i, a, o = 0, s = {}, c = void 0) {
269
269
  for (let n = f + 1; n < c.length; n++) {
270
270
  let a = c[n];
271
271
  if (a["@num"] !== i) {
272
- let n = await F(e, t, a["@id"]);
273
- if (n !== void 0 && V(n) <= r) return a["@id"];
272
+ let n = await P(e, t, a["@id"]);
273
+ if (n !== void 0 && B(n) <= r) return a["@id"];
274
274
  }
275
275
  }
276
276
  let u = m.LIEN_SECTION_TA;
277
277
  if (u !== void 0) for (let n of u) {
278
- let r = await U(e, t, n["@id"]);
278
+ let r = await H(e, t, n["@id"]);
279
279
  if (r !== void 0) return r;
280
280
  }
281
- return await G(e, t, n, r, i, a, o + 1, s, l);
281
+ return await W(e, t, n, r, i, a, o + 1, s, l);
282
282
  }
283
283
  case "LIEN_SECTION_TA": {
284
284
  let c = m.LIEN_SECTION_TA;
285
285
  for (let n = f + 1; n < c.length; n++) {
286
- let r = await U(e, t, c[n]["@id"]);
286
+ let r = await H(e, t, c[n]["@id"]);
287
287
  if (r !== void 0) return r;
288
288
  }
289
- return await G(e, t, n, r, i, a, o + 1, s, l);
289
+ return await W(e, t, n, r, i, a, o + 1, s, l);
290
290
  }
291
- default: N("moveToNextArticleId area", d);
291
+ default: D("moveToNextArticleId area", d);
292
292
  }
293
293
  }
294
- async function K(e, t, n, r, i, a, o = 0, s = {}, c = void 0) {
294
+ async function G(e, t, n, r, i, a, o = 0, s = {}, c = void 0) {
295
295
  let l = a[o];
296
296
  if (l === void 0) return;
297
- let u = await H(e, t, l, s, n, c);
297
+ let u = await V(e, t, l, s, n, c);
298
298
  if (u === void 0) return;
299
299
  let { area: d, index: f, sectionTa: p } = u, m = p.STRUCTURE_TA;
300
300
  switch (d) {
@@ -303,24 +303,24 @@ async function K(e, t, n, r, i, a, o = 0, s = {}, c = void 0) {
303
303
  for (let n = f - 1; n >= 0; n--) {
304
304
  let a = c[n];
305
305
  if (a["@num"] !== i) {
306
- let n = await F(e, t, a["@id"]);
307
- if (n !== void 0 && V(n) <= r) return a["@id"];
306
+ let n = await P(e, t, a["@id"]);
307
+ if (n !== void 0 && B(n) <= r) return a["@id"];
308
308
  }
309
309
  }
310
- return await K(e, t, n, r, i, a, o + 1, s, l);
310
+ return await G(e, t, n, r, i, a, o + 1, s, l);
311
311
  }
312
312
  case "LIEN_SECTION_TA": {
313
313
  for (let n = f - 1; n >= 0; n--) {
314
- let r = await W(e, t, m.LIEN_SECTION_TA[n]["@id"]);
314
+ let r = await U(e, t, m.LIEN_SECTION_TA[n]["@id"]);
315
315
  if (r !== void 0) return r;
316
316
  }
317
317
  let c = m.LIEN_ART;
318
- return c === void 0 ? await K(e, t, n, r, i, a, o + 1, s, l) : (u.area = "LIEN_ART", u.index = c.length, await K(e, t, n, r, i, a, o, s));
318
+ return c === void 0 ? await G(e, t, n, r, i, a, o + 1, s, l) : (u.area = "LIEN_ART", u.index = c.length, await G(e, t, n, r, i, a, o, s));
319
319
  }
320
- default: N("moveToPreviousArticleId area", d);
320
+ default: D("moveToPreviousArticleId area", d);
321
321
  }
322
322
  }
323
- var Fn = (e) => (t, n) => {
323
+ var Ln = (e) => (t, n) => {
324
324
  let r = e(t), i = e(n);
325
325
  if (r !== i) return r.localeCompare(i);
326
326
  let a = t.META.META_COMMUN, o = a.ORIGINE, s = n.META.META_COMMUN, c = s.ORIGINE;
@@ -339,16 +339,16 @@ var Fn = (e) => (t, n) => {
339
339
  if (m <= i) return 1;
340
340
  }
341
341
  throw Error(`TODO: Unable to sort articles ${a.ID} & ${s.ID} by date.`);
342
- }, q = () => /* @__PURE__ */ new Map(), In = () => /* @__PURE__ */ new Map(), Ln = () => ({
343
- assemblee: q(),
344
- legifrance: In()
345
- }), Rn = new Intl.DateTimeFormat("fr-FR", { dateStyle: "long" });
346
- function zn(e) {
347
- return Rn.format(new Date(e)).replace(/^1 /, "1er ");
342
+ }, K = () => /* @__PURE__ */ new Map(), q = () => /* @__PURE__ */ new Map(), Rn = () => ({
343
+ assemblee: K(),
344
+ legifrance: q()
345
+ }), zn = new Intl.DateTimeFormat("fr-FR", { dateStyle: "long" });
346
+ function Bn(e) {
347
+ return zn.format(new Date(e)).replace(/^1 /, "1er ");
348
348
  }
349
349
  //#endregion
350
350
  //#region src/lib/json.ts
351
- var Bn = (e, t) => t instanceof Object && !Array.isArray(t) ? Object.keys(t).sort().reduce((e, n) => (e[n] = t[n], e), {}) : t;
351
+ var Vn = (e, t) => t instanceof Object && !Array.isArray(t) ? Object.keys(t).sort().reduce((e, n) => (e[n] = t[n], e), {}) : t;
352
352
  //#endregion
353
353
  //#region src/lib/markdown.ts
354
354
  function J(e) {
@@ -356,11 +356,11 @@ function J(e) {
356
356
  }
357
357
  //#endregion
358
358
  //#region src/lib/linkers/markdown.ts
359
- async function Vn({ canutesDb: e, legiResolver: t, date: n, linkBaseUrl: r, linkType: i, previousContext: a, text: o }) {
360
- let s = t ?? (e === void 0 ? void 0 : new $e(e));
359
+ async function Y({ canutesDb: e, legiResolver: t, date: n, linkBaseUrl: r, linkType: i, previousContext: a, text: o }) {
360
+ let s = t ?? (e === void 0 ? void 0 : new Qe(e));
361
361
  if (s === void 0) throw Error("A Canutes database or legal resolver is required");
362
362
  await s.preloadTextTitlesInfos();
363
- let c = b(o), l = new S(c.output);
363
+ let c = k(o), l = new j(c.output);
364
364
  l.currentArticle = a?.currentArticle, l.currentText = a?.currentText;
365
365
  let u = o, d = 0;
366
366
  for await (let e of _({
@@ -374,7 +374,7 @@ async function Vn({ canutesDb: e, legiResolver: t, date: n, linkBaseUrl: r, link
374
374
  let { articleId: t, historyArticleId: n, originalTransformation: a } = e, o = t === void 0 ? n === void 0 ? void 0 : g(i, r, n) : v(i, r, t);
375
375
  if (o !== void 0) {
376
376
  if (a === void 0) throw Error(`Missing originalTransformation attribute in external article link: ${JSON.stringify(e, null, 2)}`);
377
- let t = M(a, `[${J(E(u, a, d))}](${o})`);
377
+ let t = E(a, `[${J(x(u, a, d))}](${o})`);
378
378
  u = u.slice(0, a.position.start + d) + t + u.slice(a.position.stop + d), d += t.length - (a.position.stop - a.position.start);
379
379
  }
380
380
  break;
@@ -383,7 +383,7 @@ async function Vn({ canutesDb: e, legiResolver: t, date: n, linkBaseUrl: r, link
383
383
  let { originalTransformation: t, sectionTaId: n } = e;
384
384
  if (n !== void 0) {
385
385
  if (t === void 0) throw Error(`Missing originalTransformation attribute in external division link: ${JSON.stringify(e, null, 2)}`);
386
- let a = M(t, `[${J(E(u, t, d))}](${v(i, r, n)})`);
386
+ let a = E(t, `[${J(x(u, t, d))}](${v(i, r, n)})`);
387
387
  u = u.slice(0, t.position.start + d) + a + u.slice(t.position.stop + d), d += a.length - (t.position.stop - t.position.start);
388
388
  }
389
389
  break;
@@ -412,14 +412,14 @@ async function Vn({ canutesDb: e, legiResolver: t, date: n, linkBaseUrl: r, link
412
412
  }
413
413
  }
414
414
  c === void 0 && (c = v(i, r, a.cid));
415
- let f = M(t, `[${J(E(u, t, d))}](${c})`);
415
+ let f = E(t, `[${J(x(u, t, d))}](${c})`);
416
416
  u = u.slice(0, t.position.start + d) + f + u.slice(t.position.stop + d), d += f.length - (t.position.stop - t.position.start);
417
417
  break;
418
418
  }
419
419
  case "internal_article": {
420
420
  let { definition: t, originalTransformation: n } = e;
421
421
  if (n === void 0) throw Error(`Missing originalTransformation attribute in internal article link: ${JSON.stringify(e, null, 2)}`);
422
- let r = M(n, `[${J(E(u, n, d))}](#definition_article_${t.textId}_${t.article.num.replaceAll(" ", "_")})`);
422
+ let r = E(n, `[${J(x(u, n, d))}](#definition_article_${t.textId}_${t.article.num.replaceAll(" ", "_")})`);
423
423
  u = u.slice(0, n.position.start + d) + r + u.slice(n.position.stop + d), d += r.length - (n.position.stop - n.position.start);
424
424
  break;
425
425
  }
@@ -427,11 +427,11 @@ async function Vn({ canutesDb: e, legiResolver: t, date: n, linkBaseUrl: r, link
427
427
  let { url: t, originalTransformation: n } = e;
428
428
  if (t === void 0) continue;
429
429
  if (n === void 0) throw Error(`Missing originalTransformation attribute in european text link: ${JSON.stringify(e, null, 2)}`);
430
- let r = E(u, n, d), i = M(n, `<a class="lien_texte_european" href="${t}"${t.startsWith("/") ? "" : " target=\"_blank\""}>${r}</a>`);
430
+ let r = x(u, n, d), i = E(n, `<a class="lien_texte_european" href="${t}"${t.startsWith("/") ? "" : " target=\"_blank\""}>${r}</a>`);
431
431
  u = u.slice(0, n.position.start + d) + i + u.slice(n.position.stop + d), d += i.length - (n.position.stop - n.position.start);
432
432
  break;
433
433
  }
434
- default: N("Link", e);
434
+ default: D("Link", e);
435
435
  }
436
436
  return {
437
437
  context: l,
@@ -470,15 +470,15 @@ async function Wn(e, t, n) {
470
470
  }
471
471
  //#endregion
472
472
  //#region src/lib/text_parsers/search_queries.ts
473
- var Gn = C("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i" }), Y = k([
474
- Gn,
475
- w(O, { default: "" }),
476
- T(h, c)
473
+ var X = C("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i" }), Z = A([
474
+ X,
475
+ S(Lt, { default: "" }),
476
+ b(s, h)
477
477
  ], { value: (e, t) => ({
478
478
  num: e[2],
479
479
  position: t.position(),
480
480
  type: "article"
481
- }) }), X = T(C("c(?:ode|\\.)? ?civ(?:il)?", {
481
+ }) }), Gn = b(C("c(?:ode|\\.)? ?civ(?:il)?", {
482
482
  flags: "i",
483
483
  value: (e, t) => ({
484
484
  cid: "LEGITEXT000006070721",
@@ -586,30 +586,30 @@ var Gn = C("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
586
586
  title: "Code de commerce",
587
587
  type: "texte"
588
588
  })
589
- })), Z = T(X, x(j, { value: (e, t) => e === void 0 ? void 0 : {
589
+ })), Q = b(Gn, w(T, { value: (e, t) => e === void 0 ? void 0 : {
590
590
  ...e,
591
591
  position: t.position()
592
- } }), x(D, { value: (e, t) => ({
592
+ } }), w(M, { value: (e, t) => ({
593
593
  ...e,
594
594
  position: t.position()
595
- }) })), Q = w(C(" (?:du |de la |de l'|des |de |d')?", { flags: "i" }), { default: "" }), Kn = C(".+?(?=\\s*(?:du |de la |de l'|des |de |d')?\\s*(?:art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?))", {
595
+ }) })), $ = S(C(" (?:du |de la |de l'|des |de |d')?", { flags: "i" }), { default: "" }), Kn = C(".+?(?=\\s*(?:du |de la |de l'|des |de |d')?\\s*(?:art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?))", {
596
596
  flags: "i",
597
597
  value: (e, t) => ({
598
598
  type: "texte",
599
599
  title: e[0].trim(),
600
600
  position: t.position()
601
601
  })
602
- }), $ = C(".+", {
602
+ }), qn = C(".+", {
603
603
  flags: "i",
604
604
  value: (e, t) => ({
605
605
  type: "texte",
606
606
  title: e[0].trim(),
607
607
  position: t.position()
608
608
  })
609
- }), qn = T(k([
610
- Z,
609
+ }), Jn = b(A([
611
610
  Q,
612
- Y
611
+ $,
612
+ Z
613
613
  ], { value: (e, t) => {
614
614
  let n = e[0];
615
615
  return {
@@ -618,19 +618,19 @@ var Gn = C("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
618
618
  position: t.position(),
619
619
  type: "parent-enfant"
620
620
  };
621
- } }), k([
622
- Y,
623
- Q,
624
- Z
621
+ } }), A([
622
+ Z,
623
+ $,
624
+ Q
625
625
  ], { value: (e, t) => ({
626
626
  child: e[0],
627
627
  parent: e[2],
628
628
  position: t.position(),
629
629
  type: "parent-enfant"
630
- }) }), k([
630
+ }) }), A([
631
631
  Kn,
632
- Q,
633
- Y
632
+ $,
633
+ Z
634
634
  ], { value: (e, t) => {
635
635
  let n = e[0];
636
636
  return {
@@ -639,15 +639,15 @@ var Gn = C("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
639
639
  position: t.position(),
640
640
  type: "parent-enfant"
641
641
  };
642
- } }), k([
643
- Y,
644
- Q,
645
- $
642
+ } }), A([
643
+ Z,
644
+ $,
645
+ qn
646
646
  ], { value: (e, t) => ({
647
647
  child: e[0],
648
648
  parent: e[2],
649
649
  position: t.position(),
650
650
  type: "parent-enfant"
651
- }) }), Y, Z, $), Jn = Vn;
651
+ }) }), Z, Q, qn), Yn = Y;
652
652
  //#endregion
653
- export { gn as LegiResolver, S as TextParserContext, Se as action, _e as actionDirective, m as actionTargets, te as addChildLeftToLastChild, ot as addLinksOrReferencesToHtmlPage, Xe as addLinksToHtml, Vn as addLinksToMarkdown, Jn as addLinksToText, it as addPositionsToTableOfContentsItems, Kt as adjectifNumeralCardinal, Jt as adjectifNumeralOrdinalCourt, Ot as adjectifTemporelSingulier, vn as adverbeMultiplicatifLatin, Tt as adverbeRelatif, T as alternatives, ut as article, mt as articles, N as assertNever, r as auPortion, Ge as auxPortions, ln as buildAndInstallTextTitlesInfos, rt as buildArticlePortionTreeFromHtml, pn as buildTextTitlesInfos, k as chain, Mt as chainTransformers, we as citation, Oe as citationLigne, fe as citationSimple, e as citationToText, y as citedArticleNumFromTextCitation, jn as classifyArticleTemporalStatus, hn as cleanTexteTitle, ye as compoundReferencesSeparators, x as convert, vt as convertHtmlElementsToText, se as createEnumerationOrBoundedInterval, he as createParentChildTreeFromReferences, A as date, yn as decodeNamedHtmlEntities, Bt as decodeNumericHtmlEntities, Pe as definitionArticleDansCitation, ft as definitionArticleDansProjetOuPropositionLoi, ze as definitionDivision, Yt as definitionTexteFrancais, ge as designationArticle, et as designationDivision, Ut as ditPluriel, Ht as ditSingulier, Ye as division, Ce as divisionTypes, He as divisions, mn as duDate, O as espace, Vt as espaceAdverbeRelatif, f as europeanLawNatures, P as extendLoadedArticle, Be as extractActionDirectiveAstsFromText, Ae as extractActionDirectivesFromHtml, lt as extractActionDirectivesFromText, o as extractArticleDefinitionsFromCitation, Le as extractBillDefinitions, ue as extractCitationReferences, st as extractFrenchCitations, We as extractPortionSelectors, l as extractReferences, ee as extractReferencesWithOriginalTransformations, _ as extractTextLinks, n as findBoundaryPositionCue, zn as formatLongDate, ae as frenchLawNatures, Nn as getArticleDateDebut, V as getArticleDateSignature, oe as getExtractedReferences, me as getExtractedReferencesWithOriginalTransformations, Fe as getExtractedTableOfContentsFromTextBill, Me as getLegalPhraseTextBounds, F as getOrLoadArticle, Pn as getOrLoadArticleSiblingId, Hn as getOrLoadDocument, Un as getOrLoadDocumentsByDossierParlementaireUid, Wn as getOrLoadDossierParlementaire, Cn as getOrLoadJo, I as getOrLoadSectionTa, wn as getOrLoadSectionsTa, kn as getOrLoadTexteVersion, En as getOrLoadTextekali, Tn as getOrLoadTextelr, On as getOrLoadTextesVersions, Dn as getOrLoadTexteslr, qe as getTableOfContentsItems, Qe as getTableUnitNoteRanges, qt as getTexteVersionDateDebut, on as getTexteVersionDateSignature, Zt as identificationTexteEuropeen, nt as internationalLawNatures, Wt as introPluriel, It as introSingulier, at as isArticlePortionStructuralStart, z as isLegifranceSentinelDate, re as isTextAstAtomicReference, De as isTextAstDivision, Te as isTextAstPortion, gt as iterAtomicFirstParentReferences, a as iterAtomicReferences, xe as iterIncludedReferences, Re as iterReferenceLinks, Bn as jsonReplacer, ke as lawNatures, zt as lettreAscii, _t as liaisonPluriel, Xt as liaisonSingulier, Ue as linkTypes, dt as listeArticles, ht as listeReferencesSeules, An as loadArticles, pe as localizationAdverbs, Ve as natureDivisionSingulier, un as natureTexteFrancais, q as newAssembleeObjectCache, In as newLegifranceObjectCache, Ln as newObjectCache, Pt as newReverseTransformationsMergedFromPositionsIterator, h as nomArticle, c as nomSpecialArticle, Qt as nombreAsTextAstNumber, dn as nombreCardinal, cn as nombreRomainCardinal, nn as nombreRomainOrdinal, en as nombreRomainOu0iAsTextAstNumber, yt as nonLettre, s as normalizeBillArticleNumber, bn as numero, je as numeroDivision, sn as numeroEtOuDateTexteFrancais, ce as numeroPortion, tn as numeroTexteEuropeen, $t as numeroTexteFrancais, w as optional, Gt as optionalEspaceDuTerritoire, le as parseArticleNumber, Ie as parseArticleSubdivisionMarker, Ke as parseBillArticleLabel, Ze as parseFrenchCitationAt, Ft as parseText, t as portionTypes, de as portions, i as reference, d as referenceDoctrinale, ie as referenceDoctrinaleArticleAvantSource, tt as referenceDoctrinaleArticlesAvantSource, ne as referenceDoctrinaleSourceAvantArticle, be as referenceSeule, C as regExp, wt as relatifPlurielPrepose, fn as relatifSingulierPrepose, Dt as repeat, xt as replaceHtmlPatterns, bt as replacePattern, Nt as replaceTextPatterns, pt as resolveActionDirectivesFromHtml, Ne as resolveActionDirectivesFromText, Je as resolvePortionSelector, Ct as reversePositionsSplitFromPositions, Et as reverseTransformationFromPosition, kt as reverseTransformationsMergedFromPositions, E as reverseTransformedInnerFragment, M as reverseTransformedReplacement, Y as searchArticle, Gn as searchArticleKeyword, qn as searchQueryReference, Z as searchTexte, X as searchTexteAbbreviations, an as simplifyHtml, b as simplifyPlainText, rn as simplifyText, jt as simplifyUnicodeCharacters, Fn as sortArticlesByDate, _n as sortTextesVersionsByDate, xn as texte, D as texteEuropeen, j as texteFrancais, Ee as texteFrancaisAbrege, Rt as texteInternational, u as unePortion, p as uniteBasePreciseeSingulier, ve as uniteBaseSingulier, g as urlFromArticleVersionsId, v as urlFromLegalId, At as variable, St as virguleOuEspace, ct as walkTableOfContents, Lt as wordsTree };
653
+ export { mn as LegiResolver, j as TextParserContext, Ee as action, ge as actionDirective, xe as actionTargets, me as addChildLeftToLastChild, at as addLinksOrReferencesToHtmlPage, Ye as addLinksToHtml, Y as addLinksToMarkdown, Yn as addLinksToText, rt as addPositionsToTableOfContentsItems, pn as adjectifNumeralCardinal, _n as adjectifNumeralOrdinalCourt, Vt as adjectifTemporelSingulier, Zt as adverbeMultiplicatifLatin, Bt as adverbeRelatif, b as alternatives, Me as article, pt as articles, D as assertNever, se as auPortion, ce as auxPortions, sn as buildAndInstallTextTitlesInfos, Ae as buildArticlePortionTreeFromHtml, dn as buildTextTitlesInfos, A as chain, Nt as chainTransformers, de as citation, e as citationLigne, Le as citationSimple, st as citationToText, y as citedArticleNumFromTextCitation, Nn as classifyArticleTemporalStatus, fn as cleanTexteTitle, d as compoundReferencesSeparators, w as convert, bn as convertHtmlElementsToText, _t as createEnumerationOrBoundedInterval, a as createParentChildTreeFromReferences, O as date, Rt as decodeNamedHtmlEntities, Ct as decodeNumericHtmlEntities, he as definitionArticleDansCitation, o as definitionArticleDansProjetOuPropositionLoi, Je as definitionDivision, Xt as definitionTexteFrancais, ft as designationArticle, Ve as designationDivision, Ut as ditPluriel, Pt as ditSingulier, Be as division, ie as divisionTypes, ke as divisions, Kt as duDate, Lt as espace, Et as espaceAdverbeRelatif, tt as europeanLawNatures, N as extendLoadedArticle, ze as extractActionDirectiveAstsFromText, Oe as extractActionDirectivesFromHtml, ut as extractActionDirectivesFromText, _e as extractArticleDefinitionsFromCitation, $e as extractBillDefinitions, le as extractCitationReferences, nt as extractFrenchCitations, Ze as extractPortionSelectors, l as extractReferences, m as extractReferencesWithOriginalTransformations, _ as extractTextLinks, n as findBoundaryPositionCue, Bn as formatLongDate, ne as frenchLawNatures, Fn as getArticleDateDebut, B as getArticleDateSignature, ae as getExtractedReferences, pe as getExtractedReferencesWithOriginalTransformations, Ne as getExtractedTableOfContentsFromTextBill, it as getLegalPhraseTextBounds, P as getOrLoadArticle, In as getOrLoadArticleSiblingId, Hn as getOrLoadDocument, Un as getOrLoadDocumentsByDossierParlementaireUid, Wn as getOrLoadDossierParlementaire, Tn as getOrLoadJo, F as getOrLoadSectionTa, En as getOrLoadSectionsTa, jn as getOrLoadTexteVersion, On as getOrLoadTextekali, Dn as getOrLoadTextelr, An as getOrLoadTextesVersions, kn as getOrLoadTexteslr, Ke as getTableOfContentsItems, Pe as getTableUnitNoteRanges, Jt as getTexteVersionDateDebut, rn as getTexteVersionDateSignature, ln as identificationTexteEuropeen, Te as internationalLawNatures, vt as introPluriel, Yt as introSingulier, qe as isArticlePortionStructuralStart, R as isLegifranceSentinelDate, Ce as isTextAstAtomicReference, De as isTextAstDivision, fe as isTextAstPortion, be as iterAtomicFirstParentReferences, p as iterAtomicReferences, ve as iterIncludedReferences, Re as iterReferenceLinks, Vn as jsonReplacer, t as lawNatures, xn as lettreAscii, hn as liaisonPluriel, cn as liaisonSingulier, He as linkTypes, c as listeArticles, u as listeReferencesSeules, Mn as loadArticles, Ie as localizationAdverbs, dt as natureDivisionSingulier, an as natureTexteFrancais, K as newAssembleeObjectCache, q as newLegifranceObjectCache, Rn as newObjectCache, Tt as newReverseTransformationsMergedFromPositionsIterator, s as nomArticle, h as nomSpecialArticle, on as nombreAsTextAstNumber, tn as nombreCardinal, $t as nombreRomainCardinal, Gt as nombreRomainOrdinal, yn as nombreRomainOu0iAsTextAstNumber, zt as nonLettre, Ge as normalizeBillArticleNumber, wt as numero, ht as numeroDivision, en as numeroEtOuDateTexteFrancais, ue as numeroPortion, Qt as numeroTexteEuropeen, Wt as numeroTexteFrancais, S as optional, vn as optionalEspaceDuTerritoire, r as parseArticleNumber, lt as parseArticleSubdivisionMarker, We as parseBillArticleLabel, Ue as parseFrenchCitationAt, Dt as parseText, ot as portionTypes, ee as portions, re as reference, gt as referenceDoctrinale, i as referenceDoctrinaleArticleAvantSource, ye as referenceDoctrinaleArticlesAvantSource, f as referenceDoctrinaleSourceAvantArticle, et as referenceSeule, C as regExp, un as relatifPlurielPrepose, Ht as relatifSingulierPrepose, It as repeat, St as replaceHtmlPatterns, jt as replacePattern, nn as replaceTextPatterns, mt as resolveActionDirectivesFromHtml, je as resolveActionDirectivesFromText, Fe as resolvePortionSelector, Ot as reversePositionsSplitFromPositions, Ft as reverseTransformationFromPosition, Sn as reverseTransformationsMergedFromPositions, x as reverseTransformedInnerFragment, E as reverseTransformedReplacement, Z as searchArticle, X as searchArticleKeyword, Jn as searchQueryReference, Q as searchTexte, Gn as searchTexteAbbreviations, yt as simplifyHtml, k as simplifyPlainText, kt as simplifyText, At as simplifyUnicodeCharacters, Ln as sortArticlesByDate, gn as sortTextesVersionsByDate, Xe as startCanutesTitlesMetrics, qt as texte, M as texteEuropeen, T as texteFrancais, Se as texteFrancaisAbrege, xt as texteInternational, oe as unePortion, te as uniteBasePreciseeSingulier, we as uniteBaseSingulier, g as urlFromArticleVersionsId, v as urlFromLegalId, Cn as variable, Mt as virguleOuEspace, ct as walkTableOfContents, bt as wordsTree };