From 8976a94dd9e319836905180d28b039de73cb8f9a Mon Sep 17 00:00:00 2001 From: Rahul Agrawal <12agrawalrahul@gmail.com> Date: Tue, 6 Oct 2026 09:20:33 +0530 Subject: [PATCH 1/6] fix(remediate): save canonical pages in batches and resume a killed run --- wikify/engine/remediate.py | 22 ++++++++++ wikify/engine/store.py | 13 +++++- wikify/jobs/parse.py | 4 +- wikify/tests/test_remediate_pipeline.py | 54 +++++++++++++++++++++++++ 4 files changed, 91 insertions(+), 2 deletions(-) diff --git a/wikify/engine/remediate.py b/wikify/engine/remediate.py index 9059306..9c943ac 100644 --- a/wikify/engine/remediate.py +++ b/wikify/engine/remediate.py @@ -4,6 +4,7 @@ from collections.abc import Callable import fitz +import frappe from wikify.engine import diagrams, llm, pdf_utils, regions, settings, store from wikify.engine.loader.cleanup_llm import clean_markdown @@ -16,6 +17,7 @@ ADOPTION_COMPOSITE_RATIO = 0.9 MIN_CANONICAL_CHARS = 40 +SAVE_BATCH_PAGES = 10 _IMAGE_EMBED_RE = re.compile(r"(!\[[^\]]*\]\()([^)]*)(\))") _MARKUP_RE = re.compile(r"[\s#*_>|`~\-]+") @@ -74,6 +76,7 @@ def remediate_pdf( # noqa: C901 progress_cb: Callable[[int, int], None] | None = None, page_cb: Callable[..., None] | None = None, stage_cb: Callable[[str], None] | None = None, + resume: bool = False, ) -> dict: if not llm.has_openrouter(): raise RuntimeError("OpenRouter key not set — remediation needs cloud models.") @@ -90,12 +93,21 @@ def remediate_pdf( # noqa: C901 canon_md = {p["page_no"]: p["baseline_markdown"] or "" for p in pages} canon_comp = {p["page_no"]: p["composite"] for p in pages} canon_src = {p["page_no"]: "baseline" for p in pages} + saved_page_nos = {p["page_no"] for p in targets if resume and p["canonical_source"]} + for p in targets: + if p["page_no"] in saved_page_nos: + canon_md[p["page_no"]] = p["canonical_markdown"] or "" + canon_comp[p["page_no"]] = p["canonical_composite"] + canon_src[p["page_no"]] = p["canonical_source"] + unsaved_pages: list[dict] = [] with fitz.open(pdf_path) as doc: furniture = det.find_furniture_lines([doc[p["page_no"] - 1].get_text("text") for p in pages]) doc_cost = 0.0 for i, p in enumerate(targets): + if p["page_no"] in saved_page_nos: + continue page = doc[p["page_no"] - 1] gt = page.get_text("text") kind = p["kind"] @@ -193,6 +205,16 @@ def remediate_pdf( # noqa: C901 if progress_cb: progress_cb(i + 1, total) + unsaved_pages.append(p) + if len(unsaved_pages) == SAVE_BATCH_PAGES: + with events.suspended_indexing(): + for saved in unsaved_pages: + pno = saved["page_no"] + store.set_canonical(saved["name"], canon_md[pno], canon_comp[pno], canon_src[pno]) + # nosemgrep + frappe.db.commit() + unsaved_pages = [] + stitched = dict(stitch_cross_page_tables([(p["page_no"], canon_md[p["page_no"]]) for p in pages])) with events.suspended_indexing(): for p in pages: diff --git a/wikify/engine/store.py b/wikify/engine/store.py index 36b28c2..0300ff8 100644 --- a/wikify/engine/store.py +++ b/wikify/engine/store.py @@ -105,7 +105,18 @@ def get_pages(source_document: str) -> list[dict]: return frappe.get_all( "Source Page", filters={"source_document": source_document}, - fields=["name", "page_no", "kind", "baseline_markdown", "verdict", "composite", "image"], + fields=[ + "name", + "page_no", + "kind", + "baseline_markdown", + "verdict", + "composite", + "image", + "canonical_markdown", + "canonical_composite", + "canonical_source", + ], order_by="page_no asc", ) diff --git a/wikify/jobs/parse.py b/wikify/jobs/parse.py index 5f3db21..a836a90 100644 --- a/wikify/jobs/parse.py +++ b/wikify/jobs/parse.py @@ -51,7 +51,8 @@ def page_cb(page_no, total, kind, score, metrics) -> None: # Parse + score only; the tree is built after remediation (below) so it's built once, # over the cleaned canonical markdown rather than the raw baseline. - source_document = parse_pdf( + resuming = bool(imp.source_document) + source_document = imp.source_document or parse_pdf( pdf_path, title=imp.import_title, import_name=import_name, @@ -101,6 +102,7 @@ def rem_page_cb(page_no, total, method, adopted, base_c, new_c, metrics) -> None progress_cb=rem_progress_cb, page_cb=rem_page_cb, stage_cb=stage_cb, + resume=resuming, ) if result.get("cost"): log( diff --git a/wikify/tests/test_remediate_pipeline.py b/wikify/tests/test_remediate_pipeline.py index 071e53b..1645eda 100644 --- a/wikify/tests/test_remediate_pipeline.py +++ b/wikify/tests/test_remediate_pipeline.py @@ -6,6 +6,7 @@ from pathlib import Path from unittest.mock import patch +import fitz import frappe from frappe.tests.utils import FrappeTestCase @@ -146,6 +147,59 @@ def test_every_page_gets_vlm_attempt_even_with_perfect_recall(self): total = frappe.db.count("Source Page", {"source_document": sd}) self.assertEqual(vlm_mock.call_count, total) + def test_killed_run_keeps_saved_batches_and_resume_skips_them(self): + path = Path(tempfile.mkdtemp()) / "long.pdf" + pdf = fitz.open() + for page_no in range(1, 26): + pdf.new_page().insert_text((72, 90), f"Chapter {page_no}\n\nBody text of page {page_no}.") + pdf.save(str(path)) + pdf.close() + with patch("wikify.engine.llm.has_openrouter", return_value=False): + sd = parse_pdf(str(path), title="Resume Test") + + class WorkerKilled(BaseException): + pass + + vlm_calls = [] + + def parse_page_image(data_url, **kwargs): + vlm_calls.append(data_url) + if len(vlm_calls) == 18: + raise WorkerKilled + return "vlm page" + + def canonical_sources(): + return frappe.get_all( + "Source Page", + filters={"source_document": sd}, + fields=["page_no", "canonical_source"], + order_by="page_no asc", + ) + + with ( + patch("frappe.db.commit") as commit_mock, + patch("wikify.engine.llm.has_openrouter", return_value=True), + patch("wikify.engine.llm.chat_completion", side_effect=_fake_chat), + patch( + "wikify.engine.remediate.clean_markdown", + side_effect=lambda md, model=None, project_context="", instruction="": md, + ), + patch("wikify.engine.remediate.vlm.parse_page_image", side_effect=parse_page_image), + ): + with self.assertRaises(WorkerKilled): + remediate_pdf(sd, str(path), scope="all") + + self.assertEqual(commit_mock.call_count, 1) + saved = [row.page_no for row in canonical_sources() if row.canonical_source] + self.assertEqual(saved, list(range(1, 11))) + + with patch("wikify.engine.remediate.vlm.parse_page_image", return_value="vlm page") as vlm_mock: + result = remediate_pdf(sd, str(path), scope="all", resume=True) + + self.assertEqual(vlm_mock.call_count, 15) + self.assertEqual(result["targets"], 25) + self.assertTrue(all(row.canonical_source for row in canonical_sources())) + def test_vlm_failure_falls_back_to_cleanup_with_note(self): sd, path = self._parse() with ( From 50bb41f3e5ed20deb286b0194c541567a3779a6c Mon Sep 17 00:00:00 2001 From: Rahul Agrawal <12agrawalrahul@gmail.com> Date: Tue, 6 Oct 2026 10:30:11 +0530 Subject: [PATCH 2/6] fix(import): add a resume action for an import whose job was killed --- frontend/src/pages/ImportDetail.vue | 35 ++++++++++++++- wikify/api/imports.py | 37 ++++++++++++++-- wikify/tests/test_imports_api.py | 67 +++++++++++++++++++++++++++++ 3 files changed, 134 insertions(+), 5 deletions(-) diff --git a/frontend/src/pages/ImportDetail.vue b/frontend/src/pages/ImportDetail.vue index 73ace06..0351905 100644 --- a/frontend/src/pages/ImportDetail.vue +++ b/frontend/src/pages/ImportDetail.vue @@ -127,6 +127,32 @@ function confirmReclassify() { }); } +// A killed worker leaves the import in Parsing/Remediating with no job behind it. +const canResume = useCall({ + url: "/api/v2/method/wikify.api.imports.can_resume_import", + method: "GET", + immediate: false, +}); +const isRunningStatus = computed(() => ["Parsing", "Remediating"].includes(status.value)); +const isStuck = computed(() => isRunningStatus.value && canResume.data === true); +watch( + status, + () => { + if (isRunningStatus.value) canResume.submit({ import_name: props.name }); + }, + { immediate: true } +); +const resume = useCall({ + url: "/api/v2/method/wikify.api.imports.resume_import", + method: "POST", + immediate: false, +}); +async function resumeImport() { + await resume.submit({ import_name: props.name }); + if (resume.error) toast.error(resume.error?.messages?.[0] || "Could not resume the import"); + await canResume.submit({ import_name: props.name }); +} + // Attach the document (with its project) as the agent's default context. Keyed on the // source_document id so reloads (progress ticks) don't reset a page/section selection. watch( @@ -309,8 +335,13 @@ const levelColor = { info: "text-ink-gray-7", warn: "text-ink-amber-6", error: " :route="{ name: 'ImportGraph', params: { name: props.name } }" /> None: @@ -27,14 +28,23 @@ def _create_import(pdf_file_url: str, title: str, project: str) -> str: imp.status = "Queued" imp.insert() + enqueue_parse(imp.name) + return imp.name + + +def enqueue_parse(import_name: str) -> None: frappe.enqueue( "wikify.jobs.parse.run", queue="long", timeout=IMPORT_JOB_TIMEOUT, - job_id=import_job_id(imp.name), - import_name=imp.name, + job_id=import_job_id(import_name), + deduplicate=True, + import_name=import_name, ) - return imp.name + + +def is_stuck(import_doc) -> bool: + return import_doc.status in RESUMABLE_STATUSES and not is_job_enqueued(import_job_id(import_doc.name)) @frappe.whitelist(methods=["POST"]) @@ -87,6 +97,27 @@ def trigger_remediation(import_name: str, scope: str = "flagged") -> str: return import_name +@frappe.whitelist() +def can_resume_import(import_name: str) -> bool: + import_doc = frappe.get_doc("Wikify Import", import_name) + return import_doc.has_permission("write") and is_stuck(import_doc) + + +@frappe.whitelist(methods=["POST"]) +def resume_import(import_name: str) -> str: + import_doc = frappe.get_doc("Wikify Import", import_name) + import_doc.check_permission("write") + if not is_stuck(import_doc): + frappe.throw( + _("Only a stopped parse or remediation can be resumed (current status: {0}).").format( + import_doc.status + ) + ) + + enqueue_parse(import_name) + return import_name + + @frappe.whitelist(methods=["POST"]) def reclassify(import_name: str) -> str: imp = frappe.get_doc("Wikify Import", import_name) diff --git a/wikify/tests/test_imports_api.py b/wikify/tests/test_imports_api.py index 6043258..bf3747a 100644 --- a/wikify/tests/test_imports_api.py +++ b/wikify/tests/test_imports_api.py @@ -226,3 +226,70 @@ def test_remediation_refuses_while_the_import_job_is_running(self): enqueue.assert_not_called() self.assertEqual(frappe.db.get_value("Wikify Import", name, "status"), "Failed") + + +class TestResumeImport(FrappeTestCase): + def make_import(self, status: str): + return frappe.get_doc( + { + "doctype": "Wikify Import", + "import_title": "Resume Test", + "pdf": "/private/files/resume-test.pdf", + "project": seed_uncategorized_project(), + "status": status, + } + ).insert(ignore_permissions=True) + + def test_a_stuck_import_requeues_its_parse_job(self): + for status in ("Parsing", "Remediating"): + imp = self.make_import(status) + with self.subTest(status=status), patch.object(frappe, "enqueue") as enqueue: + self.assertTrue(imports_api.can_resume_import(imp.name)) + imports_api.resume_import(imp.name) + + enqueue.assert_called_once() + self.assertEqual(enqueue.call_args.args[0], "wikify.jobs.parse.run") + self.assertEqual(enqueue.call_args.kwargs["queue"], "long") + self.assertEqual(enqueue.call_args.kwargs["import_name"], imp.name) + self.assertEqual(enqueue.call_args.kwargs["job_id"], import_job_id(imp.name)) + + def test_refuses_while_the_import_job_is_queued_or_running(self): + imp = self.make_import("Remediating") + with ( + patch.object( + imports_api, "is_job_enqueued", side_effect=lambda job_id: job_id == import_job_id(imp.name) + ), + patch.object(frappe, "enqueue") as enqueue, + ): + self.assertFalse(imports_api.can_resume_import(imp.name)) + with self.assertRaises(frappe.ValidationError): + imports_api.resume_import(imp.name) + enqueue.assert_not_called() + + def test_refuses_an_import_that_is_not_parsing_or_remediating(self): + imp = self.make_import("Review") + with patch.object(frappe, "enqueue") as enqueue: + self.assertFalse(imports_api.can_resume_import(imp.name)) + with self.assertRaises(frappe.ValidationError): + imports_api.resume_import(imp.name) + enqueue.assert_not_called() + + def test_a_user_without_write_permission_cannot_resume(self): + imp = self.make_import("Remediating") + outsider = frappe.get_doc( + { + "doctype": "User", + "email": f"resume-outsider-{frappe.generate_hash(length=6)}@example.com", + "first_name": "Outsider", + } + ).insert(ignore_permissions=True) + + frappe.set_user(outsider.name) + try: + with patch.object(frappe, "enqueue") as enqueue: + self.assertFalse(imports_api.can_resume_import(imp.name)) + with self.assertRaises(frappe.PermissionError): + imports_api.resume_import(imp.name) + enqueue.assert_not_called() + finally: + frappe.set_user("Administrator") From 411527b844b156ff4985c9510ccc80250cbb44d7 Mon Sep 17 00:00:00 2001 From: Rahul Agrawal <12agrawalrahul@gmail.com> Date: Tue, 6 Oct 2026 10:30:11 +0530 Subject: [PATCH 3/6] docs(import): add before/after screenshots for the resume action --- docs/implementation/media/22-after.png | Bin 0 -> 56272 bytes docs/implementation/media/22-before.png | Bin 0 -> 38015 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/implementation/media/22-after.png create mode 100644 docs/implementation/media/22-before.png diff --git a/docs/implementation/media/22-after.png b/docs/implementation/media/22-after.png new file mode 100644 index 0000000000000000000000000000000000000000..10f56cd3d810f7d1a5ecb8ec4d157e284377b7c9 GIT binary patch literal 56272 zcmbrmWk6L?w>D~`A|)aqDIIP?x*Mch8k9y_x)BhN?h*k3k?xWf0f|kBlv_$-(;d=s zhwpd3d%tt;{df6cY+8vL4k zv!d+EmB|!2DRE7Y_Zt_ME@awX%U89ZX}h})PK(hjOX1UgA){5}kK%gw;o;Cv(&pvE z(2EL@Kd3`g%*=(!w%3uzZ1p;>w@{|9oyvEe1a6XGwGXsQWa8A8ToSwj%WFkmDq~sA zMK51Jk`0t=Y|Cwb9feshp*?-pcDd}SBdtb^87z^l%1H44{N{=0h-+5qFJCjO7lFwp_x{~u%j|2xd{ph@ok_LzMsB+_c*#|*($ zR27J(Z=#eK|MT(ouBdXE>4vZtUdm4?(lOjxK+dhNf>8oE{eUhmnC)s5#CZ<7=$alKO=2I=8>sU80xTmNMH6$=DYZqDn2SY2J+*!au3mIL?J ze_w3q%w)4Xx8uZ4+CKuq*df`K*l=s)(E{9`7z_XlSgu z=&2=|RLV*;8)tn~-J+Q4xV=kwBVd8AX?o`8&(99CtwFbNw`N*MBjn;;wik~Nzlau) zYy2PUcrQ4#C$5M6?d)UC*S9DP!`R~w$R7#LR`3{H9=zkwc8pD&9G&!cXBtVfA}c$CKh>PT9xv^w_6`+#-UwiaPm6{ zS2;^Wn43FEmNveZ);39K=sxy=ae8zqYo#JoAY%!&|r%8(Uj$ zd}O#48UJ;=iF^NhLGRsseLL}}QHaajlqw}m3N2aKJiXadrAQVRCN;k{R!r%CzMIBr z*@vzgS*=0YVgy~4sB3K&j5^J?edIMpsx}i(`v5bzy}iA+w^xz=J{E>#cI>o$H^=9f zX=it#03?Rq3=WTv!8tHd`>%-|A9HBFIz~rn_z1Pah9-X#UX4gcqQ8CnhH>jwN^-K4 z+8b-Rhz5wVaB=~D@vj|>0T7FN78ccVfV&6T^j3#m=a&lH=?tX4NK`y; z8@vAa$XFasdqX}=?K1ZoT9QhYc}?X|^mZbd>8Rfv7w`XF{HsEIolGAv`W7tt4q7!> z2UGgeJzSa#T8y5GU83S4EP0wMbx4|QjzsTmY;1h_^5y4G9R#7|jGXPJ{Vz!z>nQJ% zd6VgZE&DoO-`nRQ4*p}p@w0`^-n?I)zT_e?*NyI8Ff}!W_4?A@zO1;IlO*b>?ft|B z&MtlB)?!vcz@eiElKIP#lBnIaE&nyuzJbrxQ>?f`G?5?KZ-z0+DeAUTpnQe<(n$^| zxJumaJi1?esae+TwNGZs!EO=6tnq&X4zETPkI#o}M$9{yGKQ;X?6Jc!!C^B`Z!oF< zJT)er=xFa_j}$k(ZnIRvAem)Up^&GpU2fFkwyDROQmun12zO423Lp%)D{fyGjuG3p z@KNW!o*!@1xC12v;p9`g0_-V~VPS2*);|Fn_IKstu`q&Aw#xYl@T21e!D z<=dRNS|3LJ(LAcJgM1S`xw4%WJHq@Z9MCiy7PEPR`ZgT_uc~M{gR4$8lDVH!IFaYj z9i!*GhW#5JrHR!F%3P=zr&i?{35FOe@|OG;K=N2?d2Du39FKAYS1I!t2(FxrWpdB>>(PNidljNQTf3=8Rz99qjeu9{eWSw82lg~Y<@^NW)c9}Tj8K#6JWdT$ zP+6y@-sdp7HIXl`*-!baUVpX9AKj5ROv+59l>Be?GlWwQhCI3rb)3VB=>9y5k4LH^iK0 zipfz}f9|D~!@tpP%QJiVOPHWffXbQPYzv1ivUYiQ%eEBzX?$8vKLPiGnXZ~)La}um z*X3fz&EiwW2TEGW(w{n?1P0vW@#x8wXCi2sb(9>$=o3a(*>a>E;QB`|(8_&fJCarU-ozc| zE$3j$L5zhLDf@OY2)jAB9tXRFL1-u<=W{?2N+84BEGCDM)dngCcXPnHLy(`W0*9d% zmhHVp{n0Oagb`gIM_S=zu-(=2v_b|2bFAcK_v(~(Fa z-mF$nm?Eavj5(En6xt}>aus2kZUV}NwBeVPb3YP&1`r-rYeW8YWZc8Ui8#})E z9QlNsa$}5Ryl<1&W6ed~*Gds{zS9~fJtD5F=bt=he&R! zbd-o^O+m7z6jxV|%sDcK;}7?sorrB_2MR;*^Sm~S?G>i zasBW~bidA#XTi1ep!Kq3>qEa82V69VasHljO0D;!&D^Xw`MiH1DP9&?msHjM;!=&=NN5UTp4bNpF|Tk6r!95K(dC9FR8~Qs zqUX9(^KU0VBc0- z4jHxjc$%0{k5BGa}Q0%kfu|D?x@87?Ro_B~Y zIyG$jEDOSQOHj5j?G?v%J(8=*5%B9I zDADBaZzWBBx`p2$V2Eem)FU$+r+OO zhuo5aMziexxABDIzBEDEC1Exg(Up6Mp$j8DNg;FdU?zn%y&t)MMxU{SAZUnnujkV_ zCXVj7g&5z+oU2_(tdUH>TWqx-rT+CUEl#bBs8UVAmUPQHef`#$ljE4ws#l$AyV$;( zI%A@DU=Aa#molZz*L|T#mgmH-Aq4)9hOIkg0*GaZ-`cxZ+q}qhwN2Ql!J`xXWdB(=vn<^%_B=u8@s3c86m=*r zB_QtE(Kf>miq7^kgRy)AR!iE)QYIImlzCv9(ThHzu(kE?mw@Yr zhKB5op6FL};vx=l<> zNN!3Wy+GTk&hZ=4s0{YuKGv&U<9I+fO8L?*aZJGQtp^OBw)0HH+3*7`|6RPg{XBBOM z8C(@Glt$XZhOZNfbElC^Xh^?QD?g+)<(zSi+v^o`nj#_Q&CF#WlVjH0#8_P>PY5H- zIUb7R1-3u(dE)NS*RfWpY3=8iX^v`a6c|;Cp_@8lfG);5Jgg&lQG59!UNE3_s-%i4C1W&=j2&YH5mz77>} zW@cvV&ExlfQ7I_7z$q{O!tCvBU|W9?lq+-X`gT|ybNq3h;&l&exQU_RG;iC1uvLLPCQ9&VDT?Cuf%5>B|NKSZYu>9WU=aW#%!eyldM={eVMP#-AuoMXOAr zPQ_l?>2;6s@mpqzz9>E~-Q>H$609jS)pv3EZspO+fpVeB2pk~=DSe|aN`jzEiaHL7 zey?n)qM`!(%F;4_+MZ$jH5!e!;(Di?Pmc3cQu6wVhIFVYT5>K~uIjPoW>S^#R;d9i zub^PMa{f*69j_LVEET*P2&UT-u)+QPMXC3JBXXo+Sy0$}{@=OF z&CO{jeXL@%fYOgs!{=Mj)RDdl~ri z&^}yx<>~^?5ZY05%O@nin%lbujF?_iwAtpOW{oF0`rxHNd3rhan$cbk zM@lR;%Bk$&gojQ}So`r1Mw7)t?;klIUunLR<>eUZ7p=ec;w^m9e0uH~64|y`v>0?* zLn?}j2n2#SN~Rj6=ycg3wdB-r?$F2Y*Mk(M=R$9%ao@>u zq;=|W6JS;%nrdni2P}-=j@WRyw`r_crBVtwFZE|jhJO0=>Ce{mSwH8H?POhPbu}m6 zZAY^Dni@@5cC0Bw8G=W>3|TNCK97yxFbukIl*{xLJ<^}=oBs`PPGkSN=2mdgVHLdy zRW85K@?$CLgkBIDl;{&swmc+JZcWn`)p7ZhDC9+2V&g)%+~*R;psP`}fG(K9m6esy zj|{CJW(s@rkl`rAC-$1n??MAS3;jub>tQL(XJKJs0)q+#ztbCI;{1^lhs({j=_+%i z_jb!Is9d9w zh+!_9nwl&vE$QTdU#z;26mk*~5{jJfblfFkm5nC|lX6UtOQ)PjoWlBflh)6vnGaL_ zWvHS{HcGW@xF{*VphSFLujdbFcNkji{;yTiZxz(+@ut`Eqz~YP26>S3GP~S%{d7aT zptyLl)<)aiy?$u9dUBKRUYg?4k30n^6RSNvvQM9OySMI>cd9DHe`I?mlem#|pPrYq z$++zlQ6a_FjU9@A7*8AAG57rPbOPA+;n{^Z_qBj4&~~5wP4-QCdrVh#H6Y+Rp5s<8KAE7O8_1Jo^vG1Lji|Yj zaFo0-E0K}x>D{)j5FVMc!oB_8-p~#ijwP-%nfA_4EvdJxo>*`0@ZRsJ+PA0QULkJn zYEFV6vSHoJ8aGpE@)U#nyI1hJJ59o;kBo%5Yl#Mf$tsHG49NKcy5bdy`)=pT0L zb3Xo)tmn_QE=1+j*vd#&d~;t6E_1Mg95^*COP_*NQdCq_Q91Kz6?-Js*aquALwR55 zxrW9Fpy01x@_Q!ho6HZkUMD5QJrEvFV!G^MI3+q75HPHt%JobCX!_dTw^9fCs=IgZ z@?d8TS#pt3DZ?^QFMRXFu8WY_LikXy3y&*J@taAdMD~@*i~$Q8;V&)%Efp1C_Jslo zAN%+}UJqTX_peUYL^vW(7arS**Lz<(>~75rKBSL(wr*a2DNy!G)vT@Jii)ywbaeE) z0gH&PA5&9`=S2^$K7PBf;7JkKl*4%92|B`ZnL~mLpr9bd>EM525MlY1WjxRA1ahZ5c9^g4)?d zMg3txEp*2`%^j|*tJ5~}M59xlLve7_aw1zk^m5;x!Oq^P9ug6BT^kL!ev8LpCh}H< zk@{#1muKcv5pf^&Y-NeaAdip!$FUsw#5vR(a7+spkg z)*bmGH~T@R930du9rqD=e($f3epG<$nu|bFW23c=P3|xw$L}QhynkY98EbRjtLr5` z!(xVX+Ba0ZBb&lvaJR3eE~^$2FR}N0VC<>>{Mm|~ShXp&;3sjjBnDk}*=JED`ulIl z_q+n5!vtf^b=3&=PlW!4lRs;I+&e%c7ylQpg7)R4p#`70-zB-P{@-yyo%QUTAL6>K zDH??YH{_e9{n+q#cZ6^`9VI0t_4P?lrl6^|t@9BP6%z89@4T~^+gYkLoJXTldAO~~ zcCGA&%9GoR^a(Gmt=A4#M}Sob3k!pWg)4%1!9~JC2+D&3J28mTpSv6y+^K&~o4c-t z^UqD{`E7E(PU-9$dOWUYdY9McTalg7nQe*iVboPDWYw<6`O0uE$l9-{<9@dKo@uw8 zj-?oR-QiUPQaZT_48_^md3h*ndu0W>58?{wGF{8YP$=DJ&(Lm7+Jl?3Pm06}`6=T> z)h_#A2dT5O_XfK7@%Y z$v?4HGrr^({x=Vrdkhh_@m0zG8k2Euh)C+{xDvjHk5ML9tjoPf zE3r)HA6Cb4T4Ri@cb8pA;3O;-zR9#&Bo1;*#n`0p;;`;~BVIhkQploP*gGHib=+Fh zs+J5im8l5gMBs9m!O+Ivn_xF2iRc0?pFn!oLx`K3`?0r@O?9T{%AtGhghRKEYa21^ zr;(S*=1&C7iND$MNG7{B7^J=`!K2m=j$Py=me`)Fc(96u%qG`W=G+S&&= zea~=>g}ePyoKI{ z;^Gn!vF9QQYJXHx8zz;bgBTnf1P)R@5s}G{;>P}wFSNG85Z-UWiL5&Dp;*<8=rRGa z)x7|`1ewet=(Yjt1Dvm61wWfxL(}+Je*Do2z;Rg(-=(G&6cu?H3X2Y6$*l?G^Z9w|AKl{LK?&^HSJl^#ILG39pO;6sSS58T z5z!U6cje;`u04Dxi6)h|cW*D9>L5Ur^~iMRBLjtH)y3p{sK(W+I9jxTos0xI!z*w- zGlSx>@V9aiT@r7KLU)G6EnZ1ve}@)i@5D!lA}cc!eh`*1kQrGu%!`kpN@ZuyC21S& zp7?-necr3$=k)j7GsO5^dio?tCa0%^8G^j<#n1neCtZntgj~lyu8=)zXwtS0Bsuu^ z?Ck8};bAcF#2$VB`Sa)47`K3c04FES?Q575zdOG=G2WK&^=+A0500Ub!=W8u<|G*3LX4=9zP=#rVo}lO%t@eaLa#S%Pb7U$k4266-bwgZ{QsDn z)PK1@#SJaLGR>uaNc0MfI4bmk*cKRK{3R23nUtER~w zYVE>{PvtFXO4o~L-@siHJ1WdzGmV;|e9@XXbZGnfaAn#saGrSu^kQYl)3N3O~(;5*px{84YPep7;zID6vJZ!(UvQ1ucUKMo8AZs zOuX$IX8UkNG8O3^C;E!+0g;+YSK_f3vsJmGqkg5h)7Sf9ooHkVOrSweyzbCD& zB0nA6BgiWys;TOwx^jh(#u1Ky7Mk7PUX71Sc%87r+aAyDLX_S?OC>ImTMnBmv zdWFlZFK%I`HgfjjN;B0O6$Prm+;6e=WAe??wP-|ft@(}2N-J#{E_Rf9SDJQ9?8c$2 zbBLnWlEX^sj;+MYXU`-My&We7Ch9kz9*PD`^#6*VuO>NNFY!yyW_-e0-R`hZO?OD} z(*5l(iRys%3l>i6E@wF{-ZFdD5%P$54typbj^x5uB)p-c?abZmS~L^SZS4NMbD~2T zFP-yl-gSi;pRg0=z?{ed_dr}?Oo}tE3u>91xEFX!mX)FG< z6P~W=oXUY;OmP#JW^HI=OT1)3^6ikYj-EK>KM|b@1<&INhkpYzp z!06?awqc$ovvI-8Y7`#(+dl|a*1`UMcB~QT(?KudN%zcz3PlkE1qo=_$%$v%EF~7k zt9ylFa-O5Z-Ir86x&&R0d_KGLUC0!+6eL>M`wtW$rv?Lk{U*D~x^LfPg4(ap<$WD# zsZ&8)#4;%Iq-Uh2g2W91530$%e0H0`pYD@%MA!WONn=w}z1?KUMrfGSSF{uOvT#Wi zC8hRo5Ldy#Yj9o$mUp=l^S7X`F4-If{V*q|^W4{9=jFku=xFK*M@E8Qm8RX$yg*@~ zvj0l!f$n>7+gT)Q$f9~+Xedj_)5*l->#9p#ZLQr*b3=W7eQoWSMfK`J1XW!XqN$?7 z@nB_`=4mu-f*j~r@BrRNTiulY&6Sn+hO$DLV^|sz`L5%H=9ZRj?sikE4!Rnj^(PPHKbx==VU!!o;GRs$sIZ5`4$UEk6YGhS_*o*C% z7M&lfE=&6-P|-jHG5qXk?Byj8C(9UK<$LzW!T)R$v~62S$)I5?pN-1y)3YC(vnHTU%j4eEE(Ma~VhT^dHL$3%et&_C3C-VXJDqeSr^Wc->|~zx!y|ii>*p zah$DrUM&G)U*;S&4S4pZ4D|HEWpV)<>p>0Ju>xsFsG$nAF*P-n z^jMoZ?si}p1W8P)Q6!|KR73Yg9eL8b-uM5~jy{M2nI9AcJ+RO-*JNqcnUk7Hc+#=| zDjm$hlY_Omfr1(i-nx%SOm{A?Y(kow;!SW;5Nx-vB_DaUc%5*hAXyNIM0vWH?gh7| zL#qAT`Fci1gUkD%EI+x`=$@vC@p2)k{llZ%jQm+c%WB;H+ef#qU9DlJ_}8DCafGq4 z{JOG#*~bGM{f!KLf_SotEekPLnW%p(V|cJc`||!KI3S>tLX+~{aqdScygQ(~TqGIq z-@nhy9JHv`Db{43Zr39XETQ{gFhr2l)ic(hPK)q9SJ88zwr_jgeXtY2F;M zM6<|fxu#QNGv=0&_7*I2>c*M{@9G^hGYoOqBJ!1swfH?kzx491olhM|I8Tg?H7yU< zu4uGgnaX2|tg8H?Ie+Mt{b}{`P2Zhe53=fumFq9kz&$~tV+ZflT~oZCaKi5r_~az~ zG02##DUungp&bF3LctPOGq6VstMy9R=}VgRwWeuS^;S}z;?gGcf_tb&5J!W^8p<^l z)03^T)0#@46$Xz(BB+w~SBQu(nP;Vrt%-?=y*@dYqY3-sIhvg@IjQ&X|0Fqg~uI*uD*|Ji;SvOxZYBE+WmW&fiJ328*WX0 zhCk>)>0dE62`8dbEkI}v3%NXXZXgpF(kdQ9J5?egBqcvECU-{Ldy-FRg+39WUY!Q< zhCmt=qITD26dsspENpDcPW(;N6j&I>new#wak5fsiNAjRf-XXlBIpJC?GtqeCLLEK zL0|68Ok!d`>U)dF$H%K9`Jo{p9+|UscKQwu015y)JGr_DLKA+5a0)Gkm?J@(J8R;| zs;TkuaTMw$M;d6Tv=lyZyPd!JaIXFaDg_(CqcQnE)*vWJVs26e^F2Mc@656iMqIys z{h!kS9?JQ-koCqFcbJ(9F%6CTM%KX+#%^wZ=DQ*QaxAKK5y`eZf+8XmVNx&p-@khY zrOiZ_uq*J2#OvJQ6(}0Ca*b}Azow=PpyHWvKzS_G>@(wF3J-k6h^$f#PQ8UK$MJ2y zd1x7w<;~5_e_1Z*qJU;-x9&X%F@}hcbHn@Yg@F7Y3%eVW_1n)c*Zo@nW#;DQ9QlNV zgb+w4kPuBx7yjwo(5^z&18^JY?+5WO1(`Rr*WkCKF4+nbs+U8~hCtNR)or1w^Gizy zHr*1!xS|*E?CdIapq|0Ao^;+=}q8Fd*6_`Rwlv6YHgAWis@5 zeAaRER~+m>gP5Man2%rs@Fx>+DbQr5lH?uQ2OaO91qu{Ho5pNlb2RjE8E-dP18)+KI+=qAeq=$TgU!B9#Ij^NK2!7sk64Wmg%$CdvSJD zUsu;?!0Pb;>fW@yrS6~3u=~JQZ?i0W{&mAH+K4Lgihaud5^xku7L+Z0o%}_u7@2UR zKt=RBMS7`j(Z#U4T4*nAm8?{u4CP$b%#OJ)yHgRncjQ!Moi0G1T>PFbX*u{lEh8iN zE-!vqO-;?g(b4ul-|mx=RAaalH2`3~az>-aE;XVRdYZPjOVCv}Ha8DFgdQ_^FfcHP z9{;{By9AxKbuAAs?-Bg;OiNRK{w>_^CnqPoGad^GDk5oVX-rA-`}_OQ{DMtw?C*bB zT;AGf+KuBRF>b0rD{}2%2VjwhogEJ+^m>4pjmdhe zxx3J!RPn_N;+#wgzdwNK@TB62<3rb6B8W`v`ir$G+jXf0UR>E zoy7!|_*Rk*cJMktJi!GY0Ea^87~c2qdy0MJGSqQLv;O|Jwk3eTZEchd;;&}@u4es( zoI?xP%do)yfx6Ez``-3ftBZ~5q49|c2K=y*d=*NVLl8+pm2FU?@P__@(x1%kyY}~F zb5D578>niCL$zD=S#iNG+?s8>OtZ{<`SPW%sgu!mD_G&6PubUd?=KC&UR+^aKU6iV z>anN>PAueEncTh5fY$3Zi#Ka%JagdwK`(FZ)UiI;#9hbOi|JD1p{y<~L!&|PFd=Sr zZ+BX}I?U2kmnk_xUQa+(*VqKL*X6jiV)jR!FNL*7T(GTn9K^lW(s6ZDt-KCdEec&` znW`MdLQF$ieTpc8PYXF+J%!G>XKLf4z0C!Y(h(_NgEhr5`J;SYlRtFyyy`azf2ha&KD9qHeLw|4 zgya}md9rC$L19&SqzPI|3L}%Hg_EcNX_HVIk`tuQ_ezN&$z=XD)3Y1*Kh5VU%o$L# zaeD<%V{1i(kv?Zt?h4Q8m&L!2jJQ8Mf9zDKlbr7Jb)htxVUi5nJ}74<&)UFE&SWWm zz9DUDw|8T#OF}Ikp3!KBEByP zQK*0d1_@PHS8k)g+Y~V}xd3{Y+5#DwX=!rw32sd-pz-JDcU#wnbj-E4w|8}Q8L)ym ztF5igNI<=5QuLsfrR zKWPXm$L*(y0#Fy)UsUAS*S5wV2j3-KP$LNY0K6goJy4XC(s`J|IRpflkxuUJ?xvU;&5gy8vrMcA24Te#7O&N~NZ7oQ(G^5$G!{Bb?m9Jo=kaz54UY{XAC zOti>#&uce%*{ws^-61vH5sIsiNCv`CS6)6e=lG&P0-tH6P3xl<)_bvd+S1vlx=+rB z%s7xpWS7bCstd-os}Wr}Lkw>X#iT(`hHMa@*}bfxTU2+Pv1BCz3FttF1%d|BWuWj1 z*tBhb56c&JJscby{QcX;tPKqe$Vf=urKNeUm)1ian`ry%D)n`)|D$?gZ?9bBO8UEZ z;Ah=sID|=q7P|_x*x{YC3l9qu8M~J+S3yWo&QouHu@g*W6ifTk%nYI_w~NeKQ@p{` zB_$zI$rY9L0K0YmK_}(Zxe%=w(InyP2QJk z6%Q@jynHEcbqRUe<741Ce)C}rC0aIs?RIvhNHlf%bt!K^lIFd>$AF$60op@5o<@^F z8tnd!?B}__!=UM5VF~7*@jJ5<$20OfF%RvyhZD;7ycG;YC(wn>cwWCY9slz9j+|al z`)^>Ut-DbUZzQsT-BJp;FlG(Gws3cGu|-wgEYE)acP|Chep-b{B-+~E-a^;S)6>(# z;~1bV@DUd`_u=88@WsK1Q8_PR1l)FR-GV0_7RH|e2fu2_OTT#WJHve@ta|~Lp5qbN zmNDJ?z&EWO9lu*~Nu0Hoij#TMv{^pFvvP2N^#I!$)`N8|W}qs9@G$JQY>SjQ-tR25 zXDbL1_VqE5kssBWM#;TuWa8R*y~Fr1`F`~zwVvI`vXN9~RhQ@=8iFR|(RwVr%M+iT z1f^3k0Q4-My*r5xsf-a_)KwhP)Nvr}AKWlIleP8)Jo^_zGc&s}@5PfYJs$!pqXFy0 zU#`sXb0?AN8NXdpG+!${`ytKHrDd@7Gc~aSiD##(8TeiLynClYX}zy=j-L$ z`$nuO(3Js(ik`0I7HgM()ng0?q@ACdBAdYkDlOhcA+08#r_PZk1U4(!mF}Pw*z!cU zO9D;G$cU23&0*a7Rg2s{%DoO@9#NQ9=(j-ApPj{Z7NN>ee%|b{3!n$~dVtu6!ooXQ zfRd)&(a?^`#*a=;MqCx6#n&}5q97xaDhmZjgsl%86@-4UjLbOrL1GjViVPU2vzv6Z zm%I5bE-r5Ne2EuA7}Ayk8OjTCZvtIz;gGFtZc3;3-Win?+4X9HzeCO(MyFN$fJio; zwi)^4QTx>GJ)4yYX2OVi0|mS{QLcC$I!B&LYw5Xp%4QF=qKa7MCu~-AJVPw`Qi3@v zY}MlFbcg#YD)tM1?DkHjt!^k*B|h%WtKvvtG*_sypfV#5MA19OmvlOz73R)uB@zj` ztbYHv$^R^tNFA-HCQpPOpi(F->8FM2Ud={*A#-|+d zITjXX#qXPkzr4dT5I3_(m=A6^H__WDx z&{woPOy#It{h{F1xO`zrB3-cBzC;z=*!p33ggO6vf}tVwvW7`^$wA0yhsxr|h&dm= zXIcc@F=l17mhyWN@&^4@7;?q!{raWX@|W7pQq!bX7vc_j3pWfT6p7GPh#|Vpk&%Xz z#N$<~Pwl2&g_AGmM<3aDc4-?48rY=8@%D&%R-ac8^j(DF98==IO{t*P73>v~Jay|ou;aQ*Bjm2A1E3i}x0Sn>BI{#$|Oe%>dURPr&`piUxG^hX7k!LbCIm9^mNH8 z=JJVjS=tYGEjb>3%#~<)8ZX{9uYqUxSki&@TNk|_L#L>M3<0@kG~(nB_B zz`~i4K%#e}cAMUlnS<`f;az0#+hnpLH=;iJ0 zjY}bP`zelum7FaX8d`}D7S%#SG-daUSo*2v z8p17c@E_?xzH1~bl(sd@;~-C+sd((y_wN-Dw1G4RWRTisW7aHFNdX)@m(nbae0HT% zkhPybdq53&em+ms9Ze2L0wB`|r;6@}1Oz@xM54j1ms9uky#T&MWouron?67Yv@JOq zg1F>Z7(mJ7a)#&7iuoflxvwHZhOL^N(BYGtB3=h8fRm6j0_DxwnG<95Cw@GEW@1_kgVq$cZi^(q$6QtxmiBB>PR{!=-5JW3j08nxW#Aco7vPHq z8G@Xg{C^#{X?2|Y`cF;VUmk*{D0N^7+zxnIM`s{fgG{S-b0s%M1l~WK=m5G$LPq8T z-ZLveo`^_hui2w#R2=w5(o=svM+3RV4we|U0%bLKyLlhSh!K9|tWUf3$HYW8`#;$b z%!Xb2u7QnR58%n?=jWi{0)0vzT87nPuIsm1I{^iBe0tjV&xY>k`JEfr(s}HDfleus zbqObl{t+9d4CSMP1MrT84@Wf$Ow1~Eq|^*(+-F(X8pQ>Hacb-9pOrfJ+IV@L?xB%@ zuDA2Q97TKNai;bE_z^#`{x3=fSve${L&(Q{>h-O=<+$x)I7G6;v~4kdZtfjaCJ7^} z8}JPl)$z3CB0j{yYtOw_={zpLn2N;{PUs~Q^*hgkkpIhuv}=Ffz^J2*(Y|p zTDVDnmKjGHFa?M@9&Ogo!l452FIU#rArBE91Q}iE=)l19zudm`b#P$2$9Pzu^|#-< z1t#Li_Up!8Zf@hNF5sNT`h3#4OQl(F5FuOa?th8Y%Om1rbYM}nW};z{ z8Dw?D38;Kn`#uRP0r6z+jSeG{C%{<`OGZm6+rzkQCqiLY_EU3yZ(Y+6lJqBX?mVop zzi_pr?q*$apY0PT3!3^wrmS=%N^#0`Alg#!ea=UNR3t@4|KD?y^F>WJ{fxZ)zN+H( z%$}4OB{OBENHR`}`?xWd%1TR1Bj`+K0NS$>ay~wF?5}P`0Hxg{^&b@WAL2mshN8I~$oYllMz;5(1hyvIO~)NOhSh zNaRSd`{6RRBeAUPmKM%!t?`i-ectJtAS+`;r>P``5Z>*kuc{7Hubyye;cEQDULY$a z7aujRhwKlL_SAsRW;KS&x_ti4qvpry10d?W5eKLQ@&~UsIQV8YYHD~`?LV2f{7;|g z>FGfMi!JNfJ~9m?zb>tt4D||%5F{@ISmIA@s;0rrHKR*{2X-@CUT}lb}y`MY}ne^jCk)J zq|*h6^qS#!-GYb;uLJl%DGb~emXM}u1y%gGX+HD4qhEG(AX+s>xv=OL4uK`RIMg0wNjiDdYglWB3VI4;Gf z2Id@(;T1vK9w7D`h~CdC^Sd{?54m2iTxai;${m)-e%*Veb1~-%7nTgD2b@o6DRbav zH?kWWNy;%+QV~el$3oDP1A+uU?KI=aHjvZTPajz=DJz?)w#2oSf$Y-qJ`mLm0awUf zi%`Vm8e2VB>IG-@Uv*BsaZ?;@wSUw$@eNElL>RxWMO(^N>bU&pAfosAZui;gDQKm0 zSAO$>O6>awW$D-|D&$<*`7m_FkGL8G1EX~>soZCQbQTW${>RYsT+T45eA|>)Sh(7D zd35>jyhaD*-<{I>nXmfC`JxxAkD;2T_@AWYF#bKr7xe{t{H?p&xU)m@5Qhuf_hJja zfY8>|Z~-$Qpu_5b02f=lAJo@a!Q*c@t4vcV-_?~Un`=216 zQ`5*d7>GD6zD3z?t*%1VC%}ZX+n4)|6%}}4QqVqtM@OeWg$1sExn_Leec?AR*#BvQ zF7EEQ*x0^%y$qDT2gAq5e4jXX6UixJU_5kMW_0B{C1ZUn>G0|@LTy6v2(eBw;>Z}%mi`xe>a zFF{%M(=R7Jdm8byQbja(sW5S;*UK4KzeAK{a8Ma!?MK&#PfwP!{2@B-SU-2q?PL!P zdL>w8(AI$J@dv^og+)d2=AM3jGYh-_W>rNcOTe`VoQd4r>qA>WG+`wie+|C-Ptg7s zYy~|UG;!lSsx(FF7HQ@reCgpi$43Kezkfe!Oa+iSThnf9^xU_oMl}!KIvv2d|DcM! zkmB|YuvGtr>VN)xYo?CX0iu!r!SGWMmZ2;0f<_T^kIAtyI^-U>1rXxg+iKc2v2O#k z{`3iheB?e<7a`Ah<5W20;J++5i)wIY=wJs;x@vNhK_#=_q8b1h4ztffQogs76 z`SXLGYpJ&+7w;jfpdiiE+JKcwOh)F?U;qb_1pNOB;Xe_|u7q*wCKtm5^e#djfc|r$ zWX`QgHyJqYzZ1|fL*Mq#O~LuyL$bj%{EG+~8_z-ZRP^#>Xx8s+6Ltp(x^0z}aiez4 zDBri8xyKoavjMRg|2anH3*DP6ZJ-8raH6@crm^0#9-Pr^&Q5ERaUCn&K6%t9&!N#u zICyI_#H;={fsUG%$-|c-&qSUix$0x3+aO$7O|yYcq6?)Ue?A~G@;Ke#`RqrEUwP8S z-4=WzN#v0P))rCEa1y$$D^f>m!n&$9s`rG)mQuXQ2r~~+pX1O!eg_tj+85W_7T0cA zS6GY&1UY#L2-axcW*D2CF?*3*{bM+6L#O6*TkqdPBg^M4W2Pq5o=cbR%ztpZ?{+A3 z6?#ciojeP-@giJYr_sCQvaGM=D;%9hO@G_}P|HSfYx z4wsDRlKr$%OM+ALv$bKYi!@b3<3vXbsrIGPBKOyzzL89=`uFMHgvB~A#d@~FpW>0b zt8L+?z75fOrlAqUPvLt{vQI!|0V9(YzY|U#tb-F7VN94|j)J{>{1gZ%Ml8zK&BevV z&5bblE~pahM`TzS0H*-FSy|xRKx)almLy6>aiZOA;`?_lmUs=SFfIsMCA~P2Qn-zFORH3nf(@7 z=of-Nt`_fnW%)*>!@tN!ogJwNsLQGLh!iCJy|ApTP6q)u_>Ke@1Nv#`?WG#=XeHD9 zka&T+DpJMSN5O&F1=MT19(eiJ^6{G=KmmdFc7+$xaBzgHt4n&($6yjE_UCQC2B0=D zn2KoV`G3lo>B6yXnpRoR+}xV7zh`^Cu(idim7063; z+063KITE)p`7&pRn?51Ng6Hw^@i8&ER_T-)!!WYgNvgm~H!O(97fiNW;cpTPr4Le^ z!!NtLn3Lpza2A}*jEpSopHPJKzar?%5XXE1)C?NhfPky1!>Tu%pxK|S!;U_LJXS>4 zLBg{|RG`BE*pcrk(-dXY2u9yPM?uSUIliwXPJ+4ebdmhy&?P+*;<989A2xXG&j0v< zpZS6@HRz);1Q8O1J#?Vi|3@DHEjw7r*qqLHg<=r;Fc2_rVy>O%ly^skv_}9dtg)G3 zC4NHN<05bYP+`#MB1cYlasd^|@8WPmUtb>@6rd{40gA(oiD^%* ztgSI`T!V`CpR69FaH>&}VL1}nj+TZ5>TQ$u^$sxfvN9a=&bZhc!T|u!s*Iy3R0F7M z4GsK?9|0`5d3h!6y7?)|$srpFDM|xY@WCKhSXucbYltYOd$^M7Zv*5n&Ifx;Kd?E6 zB6Os<#7KCvhK?Yc({}my420f-Qv8^1h<*TY#dTH#F9H$o>aEk}tBx+zNoE2Wt#B9$ z>U3uYO|inVQ4G!W3A`tP*gf+p!7d;mm0_u1__J@qR27i;`wQ;yz0fhobp!J!cG z`MG{5@j;P30h9n+o})j1;D7#TDk{Qkxc+AYMT6Y?`c=Z!wYFpKkv2RhxDcMk##dPY z{sJ;xyUkO3Y;m!Ef-?F1VoiIlKa@Xhf$w7y{3inMI_8eQ@wV>%P++4XM|7|Q>k^ad zpZ&WzYc%$=-htAj+@w;cP;(8?e|vj-b+vsD+Vk)n=wN8^!$5ZGi7;z4#lGh|rs?i+ zMVxrL&HoazMWFx3;zP5`#>NIQcao@Y5CZan<*~W4B9`w7(g_U>O`0NonqvG3V~DYZ zg@wrR?;sfKKgHqyV(F~Is&1DqY#`FzB`wk*DG1UbN_VFSNQsmP(%mhMbV!$!NOyOa z2#S<|^f&uGpMRZmUA(Z_?BDautXb=x<+CA|CqhEF1R9!}f!57XD)I8Z1A7^$GD}Ma zP9D?St5SA^Z+)SIgnO$Fz!UIxB8HWa;$Oont4=L>TPk!-#8lj{qhTw{Ciz*AWpYzH zPf6oPw*Rtu|K|gh;%PJ9is&$&2E73@hOQ3VqS~f~UE6(<_Sa|M_1Kd+>`E(6Cbes) z4O^!c)i15X=D$@uz|1dW`*F%U?}O!=z3ElroHTbSUNuZmS%sW{I(H@=S=iX8vZ+M) zHPaV+j-=K9R|$7uYL|^%#8!VV-a2lQlQLCg(KdC)j=k`t`v;lZ=to+iSHBgUMbr%j z;__o1W2d7Y^_f})$e0_(?ru95&zh|W=5==O*_0ck4`WM(fGH+{FnM&$t}VEr+*~T! ztkY7dKT&ji)uTj?&2WjTK0RRh)nmU@k4oxXbVqvqFO^3cbk-Z{4I}I%HjL^KO`gnl zIqUUb?pZgE)DE2QdK4S}{DQZmk398FP3Y{}{kgDVOKp;&LOerqZ(>|lt_hE-?J0Un z(V+hADhZ`J)h+H_>)OEBwX9L6FZ7`?K0Yh_63;PplI{N1{-N?9#jUDpYPy7j0g4+( zH#gFlbGk%1zr!ByN5y8`+Drt_;6^|Mpy9j-uu;x>q%N!=JE7%a=oI~^9{|>GSX!RQOY)}6z!ZkrN54sPW`V`$_TsAf~lCso{yNk9i`udau zmOj(~h=6elm=pbefN3|u{GM1rX(?u4JG3S6K#!`E(86O2Myixu2P-RP3M_C6)1AHJ zPKFx_GVfVg-WzXW(gxZD9G^YJ4cs_d%M2eieYV`fT)lhE#BpfluT~^5Vw9asHWk#2(~7U#oh?Xz6tocnr z7#@Qb*0#3N{z~+(I<{Wszx_2;y6H&D{CF12>K`=^2Hx8WEx+HPWawrH7C><^OT0W- zX(X^1ryVRT7*htnxKm;x-~E#cCye^V>y6XRP4gZi==Km-;cWIf5~)Irn$#t&it7O+hSZn&a6r8C{OLipIeJG`vc3X553M&>d+?x& z9(3Tt1p!8x^z?KrWZzts?SbUS&;cd|6mpuIeghMnY*#RNsq@p_!KK!EG$aHM@&)$I zs_3^NpSDG^Jx1a8%Kr%7jX|(^1FxffEtt8V+kgjQ$Vg4?D1VBuWAmvw|M~s9V+DP6 z_52~>tcZ#_t>Pw}EikmD$CIPSgZ>-7K3I|#Wt@@Hv}ALd8d-&4#eV_Sg}m?U&Z$3f zDrD;_sN+O%P>f9IQU=8b7;yct+aLQ`wk3s2sHb}U3-tO}ir3G>$M;?6Z2iH_KNwB& za;L7CpXYm>=Yu5&(Z*eG8eW@QSRiYtN|r2zfA^ivo!^x<+xh#Khue^!hlhHVTjc>X zywIP+SXBba&t})@Nfu$uiK*ikHD<90{*=LjtpK(6IfXfG=ZV{WpPyMM#P)(hj`Kr- zyCTZQGs#6p-m<`(Nm8OOEw&6fgcq#e3y#i>A0X2MpI%p2fyDlIE-p8XUZ;BygprYv zfm7`0%mbp{7FA5=@NH0P0-0ln|?uWSa zyP9k!=onyd0ON4G>mPRZ*q4Wit$su3S?kIaj}MEd_N3<~E|$qYj|Mdnf~(%5YBi6> z#Xy*<6>17FUV(t7JchFA#2F`UOBP@Z3a(AnY`W_jstx|4^+0ll;9EwjNPsDTp$pBw z1+>g9-XJa#{93BW`|4Gr$TnL;R@M0SKwg1L<2RtFs-E7Wl%W?WD=u!2x~nhe^z02E z(2;ynpKx>I1xrGGM}Z{+b5(HKzgU5f7u0f0Z>pigFV(G!dB*np9!E?~pd3r+&9_x} z9Z(Ba!}SM=b&uIg&l_-3LAS?B6#Bn(BHS}_>fO+z!e|`|zwpRN{H;XR{#AQdU_vDJ zyEPkR3mxLi;@oGYlkdwt^RT5E-q+JiF|~`m3MR6S z4{sFUFi7nWmkyx{rTN6>#r^3(M_XB?k6Sk;X?t_cNPr_@GGtOX-^z^fF1aJguSLd; z!Aw;5kl?L5MTsK|D_nf_FEl>8r@KWQ%wtTxH03FtLQ*7}G)vs}Dfv-D5Fagju))(9 z7yBGs18or)k*bE%7c;HHT(LLKcW_+n7A5Z)@mwW7^rH-D>1PU z(d8!$Oj-3jQ{E6b-Y8g-OD}xu;4CJ)6>s_S(nk2SVV`lw>wJbGc~O zW7(S27}oB}+{z-mo#&run5g0#8Io~bzs$Y1IZP^|ly3WG#?U$NmQBQXK$k*?*{sH0 z!c93@i#-qB%IIPUSvTI7BSc=#B-O{*y7Zk*gR3XIrb?C9lFl2oqwuB0Umq2c!6yJ> zG7RHI>5jg^V9gAq=iEdCpJ#Aaj0}HHGj(-T18S#nbpJaQJ@6EOh}h9*e9gkKQ*c)2_y5N$AGjpNLN~}Gu z4zJ(u`4}4)RzG_|Y2r~{i7JJckF`w+X1?LAVgaCm=z;t4=uGM8)f?iw zCzk)&`?Id1H+H}LSkc7FJI9^KMHcM#MV>h)vKW}2~|LzF0Du6FWRj!=08W8mP2D(0iTr@b+^<#Vg zBJN_iI}k^$^k*e!cD?%YohIU55ex|~g^?_!g0eC@Xac}E*P!=Dcln%1uD?9J>zSF@ z3lym1U%k&#dgdtSaRB*tS7C6Ik@PX(1w*mS7%LY?{4nMFh5y!>hlnEg9aEGtCN#7( zNH;*NASTQVE@SoEoVk9BtAfGjL-tEzJ~TD!;P-jNDz=7lyYkbwTR~yTiRvSufNT?C;wfm#Kw&&!qjqV?eJ z%TY)z5OP_v1o{U1ZGvDB-CTvCJp*7MG=-qu?d(`tS_1I~UOW?bSY1r_Ixdni)GfE~ zC&|-i-Q9O=6PDz0z-znMbw{4|-oEDxE!fq}GX6v^#9;-I}C z`haVYlX1`^tqy}Eq^?ybmW;J)^YVUd=V$!+`E#bp4Whz-!EZD&g2+d!El^r7ggEol zZquTTLy{PjAc!GcjXt=Fp0xoh0r)aHYQG6DUme- zqL69DOyC1g0Un-e$O^FO*1|0bVx|!7E}j`C zN!wEeEy@Gxo~J2;+!*Wj0>B5nRPCXKaU;BZpSBe^h`YPHBPoUW;2#*7{K%k32$Cx+ zEoDgeaCD*%9UmO>=*+NZ-cR~=bT4C_*SG%N#?V84j4o3!NGeN#L4ONJDvERUE%>u? zTm~(wDp`TO5!%TOxytRaT=0)9?B{G+r>Kq?ckWfPWMxXu9R32Hq;l zUYWmXD?+-zPB)lxV&E$GlPd-gn78%A$#&klAqWVWHR*SpIvRMT9AF!xSo|f)owUbZWcrL%`;Vk)H z=%wPD*qfmh!DX3yhL+u=W-%reY&ec9_K!cp`~JM6bdQB$>E<;=g6k2r$~ z#N!@c>E{(vJA2wDdMb5F3K(|;k$lGoNCh<#CfC-HOYhCO$_h!%J;ZBg&C69)osHEA zb1R~*z(^t9bW%Rl!VJ-<(Ob-8w9fX3a!=N(sX1Rt_%W!4t@Bp3h^*Lu3&}uVRYlY+ z9J$L%tu)ab=yO(h3d$;LZjaPs6p*KE`Sy`DRH}W}k-Lg0al4DY7CHVx*?Xt&gyt{a zz-Fc`?cWEF&&i2%{&;f#CLD$euWaiYL6fPiCBpS_9V89!lBIV%+~|#t#tlQ2>!G6O z6QJ#7m;Gnp&m|^$Ys4$!8~UMQ+#sAK{PU)?(FNcv){yi|YS3e+e>?G>$mp&lx5L`d zc%AC93kZ@Zmg16CU=etd#$C69V66LJbXAR4|M1hohjt6Wl$~Cr`+*0+lb@Oe!E-WyUQ>8zqar z`kt1TQ_cv7OC{QXwhsVT+v;VeJY+8*zUZqx>KQ}$Ft#@=EKK3W3+>XWPoKzQIIwrS zU9n%Q9P?{I4Q>;za1Ty0ujZ92V1@>A`K_E@z;GBQC65u578ttVF!kfQ={+>Ng-$G(ek&+u$c&p1eHpKkH%4G)({Z)&L1gz+Dr~nA;G5_- zI)k>cUWf?u!|=e~-F@!Y@%fc!Q&!K${labUQ3f9^;3J4${I057_IwXYis36rOXhrq zJok>D2qWb%sZIXcQ>n3!&m3w0cwWUKDGHBy+Uz?2VqNyy|JSK+TsI$``56kr)~mXk zsj;y`L>-J6A%FjVhX~7G-0N7=YjR=X5;3_TZvEE@b+6AIQ2ZWYdNmfJ_HN)yJ|j?X zFAYi-B-rk1VieCg@N66O{T)8j$l8CtvpVuXRyVEypPZWeSvTq)h=j0;8MN;UmJ)4 zLADLP%u7fFCGe@}aXHJl9``z*0+oJo&(meO<%8D&v6sW|8Lj|hP~UHU*j?wrAs!BX z?4v<`0O7C_q37XKHT3+^6=0GJ{&sb{LipwOUz_i%`;*0*;KSHAZ+GDZ z679M}`WDR+O$)MZ3yc)fjg!FGXXfd74PGxOrl}$y5}+ZZHE>shL$8@L**Xh$|YIy~;0$0}pLa)}%W!Osw0 ziiV3a5FaZL=6{B)M7Zf6vA2Hwh{B{N!N_Lu>aPlU9@#FJKMo=9n{B9ELGDUX$b+tI zXHwHp$`a42GWM^uOZim5Es14!TSmI>v(&C7vi`@E5f){F`m7f=0quMuF>G&Htv4oe zqBwP|VAjH&M$eK>#x~fa!{bt=Xs@B|>@xF#PvT2X5T5CX(^DzqzOi>+8T60MCmjll zJgtzv4g`gqD>1#^V~tSNR3~?pDm&fU5daCx3jqQI1qGOIVB3t({XrU40UrqbcfTJ{&nT%*Q7u z5C#B!1pjS?!P^eeRZ57J!f-1{mW==n5{i&{1p5xOsxVicxjtWBpSf4^7n*j6Lcmiz zUuSoE=8^PD+$t0j4y?mRmmFSa&ml?)o;VL;`^oLVZ2HeA!$&Ze1`{NVb`>G?1NTjc zFJLU7^abHl3}-0)Y3NqU5`#pZe~%Mx;X{eM!Sbt+_R+fA8Bs0^Yxr0M=l3cIlho>vy)N(Py zTfXDPpeVDkf$}X$d%Kgg^B3TOL07=AgqoO%08gqyiRoK15;?wOdFBtKFX#$adW!8wzD**nl9xSY6ILn$jNN&tgkSC$?Rq$@-;l$;#i zEM34QgX0@C^5@U{LpfS{Ds7nK!7$Z9el~Q7RLQ@Fj1w**DCh*ah-GSpPdo~*h?zT*zoBEU$_~~BpT3-7sqY{NYGeJ zWXaf|r)$H&R+|pUbYI`GB$qG?SI*oUb8XVI!MPH!Fx9cjw}0~ z98AK+wMJ3Y8F7C}Sqq!YW|NiGqq8V)k(9xhdK)!S$y#d3D{9ga@b^Hw?{vH~2?Gwu zEkOzwG-wZz<*BI?$PiHpyOx8{URTy~T2@zx*H|DTaW;r`JKx_aj>Us0=RwoXtnVTE zd@Zz2rKO#3LpHd$QU*br7GQ6Roq~YUJW97iHdFeOcRLS7&wBSfPlcdmnFK3T%JQX! zi_2*r+rpF%x$9A}e}j5rMv>bhh8Cqd9ZmN+tH-O6riM9{U)*y@s&?VCw%nKF$ultS zbFGehU9A-s7HsN^<@q*TaD&rXGsRk8I`CW3Yj*Q4o3#>QYhHWLd>W&z#J7%OacAVy z{^siatC;WC-#x-)@Bj5fayLKkyih0qh0(pwU)4;X{o`-^aR1XlVGKnt6EftySoS!J zgBkTLhQ1Z1ca$(4d?NQ%oqVePNiFiFMM$;^0b%UwQQCKb!be4^vptN5eaXp}s}%z_ z*%K>V$J06&R)c)rq~QsQFD;05KY?_KRsrlB1)-UGG`NgNflg-imcMR}> zucImY?y|=CVz0`)muwWm_6vWi?;1&0JqX@s{K((>Nk1U%CceSz$DE_-{3Hzo8Sv@1 zZLlmgE|FNs$pgl%8x zGpGeU{&MwPveOnxDt8#6(%mnf1U0|0zCK9ck9rx(D8)1fnZ{*yh9`{ue5k*bf3|!0 z#1qo6l)r0SWS)d1QOfim>pRQ@;VcYt0^7YA1Tb)!z#$27J!Jg?nzv_%<}>Q$=G8d< z?knHM_&=LOAqRUe2!aoUWsd@h9FOHz@3eF+KwF?(1FvlgIEkp!=*p3US0S@^cC-b# zY8ci;FQQ=e+3@`ur@ngjJEC4*Go8PAFhL}fDUxYpG@nTx&JqN86pU}?PEI_D{eo#j z@L=XPHl_%SRG^)Wt*(L>a?zHbM^ZZ>3p-up!`!Yjf)xr1w=HPQM4>tE$8)w;|MsP1rsT*ugbNiFhoM_@ z`8_kburN@`+E)mbwAM~f^mnsBd5i^Xp)xHz`y0%CP%Bk+z*m^mPIvm2Hu_^P@tGCC#9D4qs-ZM4wq$w}(Z zZrUDP-riVgy@CA_VE$CfShV2-cxU4P*ZH@GbVj`db8aEAY|%enR$4*hKPTJn>WvZx z6gLzXTSFBI-F}d%cpYlL#2s{`J3&v|Xasn{%L;GFFz`J$`{H4+tsn#$xQ=b7PlMo( z;ir3p)2kwx?aH@9kF(vJogdn#^poS<1F$$A2v!F5X1y7oSab>tR;2Be z-rk59d-X}C{`LuEuHZ!>Sc#AyR$!DfB0ik@{BY;=;+S$-U6IjAcS7t5NS4E1*GGUV z&?=qE2kHP~AQ|&)oi$o)8lhTJ(#f+QR=BSzQ&|&>G=x@ za2sxa*ZWd7G^cO=*Ls@{|6Zr|J(!24ul6Dh{%#6jc$RYT#Om+x>FTBkXk zYrL#RM~fU^t!bC}tD6gHb0yd7hfj6ueo5rM75j)mGwxn`sdItY2p_&C!DenuWfal# zm`?U`XK!4!WX1F#!iT1vwI63Km71fb`)4dg-Cn-HPiF4ZBu1Br_G$0feO>!I&^ogG>F|x!+#oh*O0kX zaG{x-W+pFE3H(G6BNt!3RkaDh6)0igpz)!$S!yCJ6U0OPdF-w!B4H%0^@^}Qg-vx; zx@nVY)VTfm)Yg#{Ev{OIv2`9`C3esvAj3t4*jQ-dOIgz6n_@99ZZLuN~A5*(qFrIeJC z0thVx&BISpS@NTBi9-F~U`Z24$4Vt8=uz%B6PGtNc^vPk`?(lL`cVJ#Xi;FSDlcDg zdZMeNV_%C~7A`M;ZtuFF&lLFe@Cogl+_I+LStulG-?0M9E0e(tx0&dpJ*i_l3=UxC zV8-1eCg*q`)dvRy8OHuV%uY@g(@?syce1r*r-}rZlvtYKI=w0r_G6p}gi?@F0V7e; z{4TiCVWUTW{wtW#K@^EI4X1sjkFCR`0z4T~$~wF_nM4@K2>a2WKeh_WKPOXlYwvS; zK|&OkIzXQV{UEfs!%_5uwsoc`!9mrK3iTMwR3`v8ooa{2?-|&1}GUh z^`y#)Q?AiZt9`H}QR5CEwF6{C7%ZNF6=HE}itovjuVX^9b8|4K_^(}tM7TzAO=F`j zjvpk+4rX6vyc3{sjr40@4MR?TsT(OBd_j}g4|#F0?!gEG(!t=Mx`uC-mXbmjt6nb} z+e;rZ1cfw|esqs^fZWYP20=UciLdSKS{*m#0Wa~q;eQJ*pz5q-1?N6sNAUb2Di@s_ z^>L79_In#m%>%x=3X42_8cyp7cyFk`0gV(;4d8H~vw+bYkSTE3@cn1GkNS>vp(Bw= zPlk)e1n`C;wI_*TisW6Z$JhxFL%7Z!J7*LJcO*^CLG;LPEYrQ zMp{N%dgZVCM04zl`a0c< zsQb0IXZPlf)cw(2=l0m9>S|aI5EhJ1D-GUSS$c8C-f7#jzGqqLH}ZEnNCLb?NjZ{W zYrsW)M!7AMy?Fqs9&<)=FQkCUg}d&uIj3y9pG)}`VOXWNk(Y7fK%^WUxdCutRNZOf?O1JPA&oas zad;FGgdf_8hk|5V+YO$O|E#0nHTA*JfFrs>t3-`?J5=NIp&}2N6f4PgSoDw5u(4-< zqz>hP9G032<3Ww$_<|k#n=B?J`0AfqD_Va|QLp}JG~=8rM6?-=tlES62eVz!Jd28$ z(*f0R2TwAa^_cC|Q)3LV8r%GFZGHV0NPVzf=;>2^K))E+`9CaJn^B&zg49z-lLR}4 zzc`#G>EW&|!P!CcB1B*>c_j+x zAB<=~F8}@WXZfrR$x5I&&4(Ye#~!3ftm}jy1V;k z+-@NEE?@m|fj%AjM-Wu3-n^M4PnYFhMr))UJ_5&}5hpmw;H3V>ju!Y2GCMdK28M=; zeN<7sS+FVyJUbgb(MFv0@M{aRK@AQhj93V~0`&-PgF_pdmwDt z$v-_lz8YM9v;HbpdQLwTgM3qx+V!xL`+R-lubjCq`mQ|%NiG7AM~`kO&GsG6Ap*%t5;iK zhy^|aCjfo{0@v>dKNDiP(lCcdMh37*J11OcWz8o#&}@QoC`aR{;+vz!3`4CZT{#`I z>ibot^vYn(YjWCFfua(!<{NvUjicZKmJ2FF$fe8Xsz9F&XLe7>M~4stB}N=w?!3RT^}J+A1_*Xi%3$*Xd-?S;B54+qZFGot zo6GRl9({efBvE0Xax-pK9`?pJ96ui+A#lC_q&b6w8AeS(ohIb#$Qyi_OX zWYPQrLq{ODG!O`vAf_}AM29#Bpd*BJ6lnc4?VNBUL6n&s=1ys8Qu(CwZI9IwHvN#p z0{Q!&RD1TMwqAFvDWmV*`u;YPDkS^oDD`tJY;15=qa`chzNv#UuogrN%d8=$p9L(?yn*M>MI$g+RXxAAb zkuQTz93`fb@$&gFqVg^H@|Bmk{tsGQoS9gNMXqE^3DHnOoRf0=*Hnu?Mk!C# za#`ek=l`lTmd;vR9e!dT-hz;hr#+u@=B&+1(t-JFqZUpgwn|o0-dTp-uy}I@{W#To zk2KGluxjWZ&&H&(%96g3sm$iPWu;$9&2Xra#hS<<6{oFE^`<&4tsgiM!CSc&WjKzN zF#{e?K6&lwj9IO@7Y#6IFB*-s?Y*hYNbA){+wydc*u_Abd?``;&4VvpTQ)R1hoH~V zpecR0g8or*OdPv>a<&?dd496>AsT*#N-Y!oXN3KZRgoO>1KsV(#prI;`P4-(xJgMO zr; z&FtK-2vTkHv+P_US~SOqKR`VJG^@rU;9$9#XQI?p+l+AH3n4eEtbqKIVvL1O?sQZf zk2=gx6joZP6NGfGt*jUU_^4WjIUbk;5N@aE!_gP&XoX}VB+xTNy;^c}AwfeOoy`=& zbSf929FyZAg8f#ebDelJ&Js1ojv6z2`d4T9{i=QxEr_)+rAvrYPPY^v5I(2JLpYo| z0O}2&KCpiQ)uEvQz+&q`zn$MR5r9P&rT{2^eh7f`2W*(xCA4$FIoF_mGTB#vHIawM z4;|K#tmJtMzwk5ClL;^e>odCl_r712(^||Q@d-T!PK)^QRt`q9=mIsxyef56;?CFk<4j`|A#d68( z<_h#5&N5I@bl@2?Luca6Rn> zE)fkTQ7D*};J1ZK8K?(P@>=qseF*XU80HCCTv1FTKiKhbkb@)xHe3SEs8u}Py4z6Cx5=6Hxez~KzaggX#($d=?L z93XxL$LpDgfii(`#lfM^@uW#biA>xC|J?+-*j}XEvbwrylL{l9xUDmgj_c7!@t+L? zN}`~()eDk`AYxrXN)^Jl;R9h1vDlf0s~1|2l#Glzol*pv2?Pg$2ml~}9@?Py5(lX% zA2N%+up-E@UHgIGxx8bG-4QJwZ;6JVZz@eZCgD;Oc9>TX^ z%0jUSY;gkp7a|sW+tRP&#xNg%BMo422$Di?WB7(EO#6{NXP_)y`5Fx90MjDUJGmmK zBUd)zvo=^rcd!EK68k{`13U4ro1LRG2%$i@3+7I+8%~&N*t)D)`uYis8@tHuK+(zt zZ$iUXdb_hgL`rJvB_gf_I}IdhSC8H0dgKHs!2bt}V5BqR{roa9p=2WqhZ|U$78m7{ zORVIrS26VE59eukE8&fT^fk;6Ky=r&YwkR{ggZ271u#~Z@N=4ur*z>l0iW1jktNSL z7zk2@T)sejNQ)J*-lj(mn2zw-{QaBN)`a^C7L!11EA8bLI3)n+Kx64HoDP9KC?Q;y z+#ZsJ!~YF&bH%f6b<{ysROm1-v&!&$q|!>u?F}40i9jr%4I&WIX3l9a%ma|a#qy0O zU&;r_4s%+zZJj>}qfhNK;smTM*vbBXk3s=8%CP9oB`ES*Q0`T-M$eP5iM5mhbqT^Q zFnGO4u!g~RJdKgdz!sK#jLqTcDAu9-k8Tyf5|urFt>a*&5kt~CSYFk}jmOr)8zuZW zwvjV&*}$&Uk>sRqCdU8ppzt>bd*^aPk+jy9ycO?`Rp54^bN4k-%Cd#lP~Sb}X!=|= z4au6B{_vmgrEm|jax$qg<``HMl;8MjVC0wNgea8u|2ristwilq1|H|i|sMlj)R-o^|I3fjZvQ|*MqMjg^ZgMFAEd$RYv8vEk)$t z5$UMN$Eb|hBq0Z&3Su^<*!22%STJ6+*`M>@?e!_(aSu-^V$-!QO*R2PHof)>1vgdA zoP-Be-^JWqT!ywH9MLwfRgDw!6IX7F7pZ9EpzxDm$Pz;I15Q;aUO;cPN&=)As*gRW zb)=Xo7wR$et;@^sIU5~?TtqZgAOUj;QzGj6H+culkgRLAZF>O_(@Hgd&-~#Y$qqZ?j@e=#}4-@ItlFbJ1bDl%s<=ZnL>pc3q0s%%& z68hdUIZmA6BQWPen$y$M)82l+9a|J?a#%A!jHkFhBlm|)Wx*mB^$s~b8%_W8)RZj* zKGH`%%R~ZB*slr3!(l3!`(L;;ywhP%3Xn_zqXyNbV%ih`a;E`ZJ0Oxm&IYcYpO>CM z;M@Xwo#O>?-z3r7@O)(VA$R!cmO)wF=g$%Zogg29Zw#g{Duo0nNMt?4#rj`vI5x4t32zn}bI)kvxXqi`*}9M;)cS7-&bXJ+5mQdO;j`V;N~2*tq-j#5d& z2|IuQ&IY5u*i>1=Ffp>t=jdEs&pLf2!i8<3<9U-6Aje7=Dh2K@rE#E~KzL?+yb4rM zBhDZtO8~s8PEraW9jr)Ad1@!X+13iNNi|JP0IuQHBFURTONuAAH}Shv>x>(xk+lUU%4| zB&m!5qF(QmT^ChU9LR{CkHVocM|FBv}0h7Gr20dUzaR zItB&>QviejLk@1WCq*}6Zy-ks*M}>-a=-(DcM#mM^l~r`MI->VSP==uqhV1mAjBbh zubT_VyF(#CuAPzyimu*oc zIfTVm3t!HW676G*LvY`QGs#~9=PVAP2(XhUX{Qf+<63NlQ8i#=5%>f@e{SD9 z4gBAl41e(~h-kpj5;o+m+Gif|LvsaJPF2Pg?7~C3b33*dBGeI7Pu+ix(Bw=p#*lJv z+fzVX4H6&MVB>_x`kt?thG_DXl6(DKy5Ty8$V==COJ0jp@-*h~KtS5Y$Uw!Nz75IG@)pZ0sSEu{~-=eHP``AYM{|g`}7IE^HQsq7XVRCfR+yvnA?Jf!0wNs zhuhk%8N%H%NH5a20Bq#5RzY-l8{kGzh#gEMmjxdvV= zeV{1L6JxEk3UV?`%N=@SbDUyxr~9oAjZJa|nRdotIfI$tj8)_oLw+)gd`O__{GIP@ z&iA`3Us+U!zCLcY<|(gXAFtKv_a@SHiT@b0EJD7lZ~nz`Kb$Idup@YGe9U%j?yk>l z$D}~`Z6Uk0*_Z(m65ibPh$q&S)ckHQSo=5ni~h{&()EN?rm`izddnc!n-G`XGa(TE z{?nWLpWd*Eh$&An?C!)6NgJ;TZvS4uGZ{|)R;YE z%phxg!&Cl3#MG<#9bZ;n3b0{07!6)vZkKI-;A@#P|EuMCH{W7%15+VZQ((m8`9?p? z72Kj9B}_^thy_-#Fd@AOu*i^8XQ?sWE9472REdQQkOPCvT-pyxJH~&-?01$*KK~OX47qv9a=$wnu?!e4ZD_MeF!w-;AQEtfkQix!X7q? zB)scgRTLAb9p8rZCS(j7>V&DVhtfr=XSbc!W}+w2Utw=oh-X34^yK1dBL+$*V3bCz z{})S#&12>I)ipH`Xo1~MnOna84pgAN**b4U{VE{FIsVz$cm9VWpdMaWVPWs8ebnIr zAZ$f|$P;qDcuqxK3#L2bhVK8IAHud|~8*6LXkn{mu=AS~>xKR+_YZv#FpfLeqk!!T@nj)=%kr5wuf6hax4UJ}&Pj_ZV` ze1zRh8$#rokQ|w`VoU5FF+d1&FmgoMvuT6)^(9$)~07w`%$yN7tFYTOG<-Z2da z+?{OUNM-ebT>9ryWNZd5O0b>W74O*K`+JwDdYzKn+Nn7D#*|SUd1G zA$Wn{pP|AZg;WRvhn}S*0E{L08K4y?{y1TfJ9HIBbP4~DZ5_M21RibRS?FgByIfzM z?S0sL|I;`$J4rqlNep6-UaS7Z@X5IUS>VY6bh1n$|6m*hk9tbOxi`7#C6M4~ee z&cT)wo_~Go47bJh??j14b4kP6p$C_351-`$`2fCb zU>_upS^^&oLcF_w{&Z2?o0HQCO1d-fu8apaC_6~9fpCr?g1F5jr@z0lWO>gELZ)di z^T8Vq4+>O3$JZBobW!kE1nM4iu&_~H1R^j{QPW3?xMgYl)c{`@)MZdmkV3RI`Roh^ z&#tNvgoMu|(BZzz7Er?X9NFwWF3 zpZmSD5@WcWA^K5bGFjb0<9suNoU^WLoz$*sLG<(|4_HB}8Goku0Gp^^{@ajlxQ(0% z(%pGVp8GbJZO-qxIYMJhR!AB%14K0i!*s-~)D3<^gmF;c+9sDXc1?JFjJ~}1$1QI>nym;~(bxN3 ziePKnsWz`eRf!IVU;>w;!YieJ(?U(dE`pDxf=wsMgkDyOjq6TI)a|EcP7%DCyPL;+ zzpN(YNDE^&#+|u#Qm2U0gI;wge&SszW6c{Px>r2qjOn~bR$03?a*NUPCaz7BOSm{D zg1s~(pPIpuS$&R_0gG-X3%>MJDCmA8C_ggSt{~B_^B<0%fCZIPZ+L%OSH9Csej!X= zUA!e3M<}IXMIr6dXlhsWf>QQT*o)`y8={CxecTB$5>K_2on&9E6{411E~+2o0YH@8 zE^t^TUL<30rOmgJRfqy>pg`U13SmWqk=>yHzIora6U5slrl;4{u~4y9uY%5KE5=Be z#HTv83P|T5WeZq=Oq;8BfOfWT(4*+yemq8P^0~3G5mXM7Nax114(X___ss?ndjU{t zud<(NmMl8a$DgQ}u+j298$BBg^&m7I;?dn6S9P$kFE!@@3=X8~q^|LpAec-`MZyL&gZ6M^_Sy?75BM=ah7Q1qlG z^_poVNc~H?-e>vd42#}i+XW;I+J1B5{2Zpzfw_?lpDu`bAfvmcO11*Zr^ zw3~SWI*8e&5muv4hmu72`dKiSa2t=Ai4i(*uoin!<`J>A`rN(uP~9`UmF-2g7X(P z67$ggXF;wPS-pUP?=8z24A^7I$suT%Q+Ky)e+m!7FbL-bb;dB%*$@cw__rDe>d)lr+JQjP(&mwynhj&8 zE4Z(q6^9jGBG>;+A(f}V*uGl6XbTHE01h_<^*C%L1x@Iyv@CJ#pauAH08X=g?2d3+ zjld{eRJ66e9!jeHT|o9EDED=G}m7l7Bm2A zoSH=dC;TL33c!Zr6VC;_`e|a<6L;?Ph1|1DM5`h8p(9>M>(QAXU>8+zx zd`HI@jH<9F5E`;!&H->>%9*hb#ZjZcj3*=;>5exX(b(A7Falc_n_5^vbf7RnKCI}b z8dp4ocDfaMNZ3TN=?E9a?K2L62=F@kzjlC6xn!rr7O)R&!JqJx7z+a?P{(ETHls2)(rQ^6Njz53%N?ZqhK+%x2i}nl8l!lhs=4m);^r-@i3=$a4*qh5jSglJ*!^N>q-&@y!MSgtGJ5J0*z_8#H6MI zcIy2Sea?vnHHT8x!W1^kn99YD^EcAzs+9f=a*I-ODlS{K_V3ue*C!^?v%fw%Ry6Ol zGO3$JMb==lWHj>DB-eNJC11fHla(Cvy5bybF66;Ug8hdf3F@~N&BYnqst zMbd%g*@n}fIq|lV^Jn)`z6FQ4>ob45$7_|C)Y^!*gxD=~*0|nsNs_gm=|!=XF5!dhy%2(^x`jJ)(v=RS zAHbFQ6F&`qrGtko{QPbl{Ufq)nAnqsOIwEi(@WR{@gLBp9wM;m#7eA$E8*KlGiyJ@ z+0E%R6F#>IHsro7hY;dYvl{d4?g`}V#^M3OEK9QE^knpGbZgyU>z!VF%A<0|@DM)J zA@abx_c!~(jUww+=+DO9@CJ*!ZH$Pr8FR|SEJIBSo?tqr@3mIN^8d57q!@j9M(3ipi1Pdyf;hIk00)EI}ObK&{ADrv42g;|Nx6bXJ0C2pd zu~F#1RiCcHSjFP-4uC9F@wg;aa3X^x!5n5EH|t)Pk^2Ro*&iCXo;$t%*RgjROBM$< zdnlh_6LT2XRQ*WZz3w8FwC@GqNqtIsHOjU!)uL_=0t^cE_A_jnkg zrk$zZ>$_N>N82>M%Z}#S0^q)}?Y{_oDcs5`g-*c7hi(aC$Or~%OUrcv)h8j}e`v?? zKEWZ9ec2}e@)9+Am7eca(fQD&yC$)XTdU-dkU1$d`=SvJ^hRM0i7*+`JNS9tiJY)& z(8iLtxisza&X>wut*sXmhRQ+eGq5CfOSNdAT0fk$SlpORdX?)mL))q2<-7rWsQ!&OqBEg_# zID<87%pnkRfy5Yi$iW*8>khzy9?hkHqgGU4{Nme(u$f%-e8u3k=hbWrTn6DG$)r9a z?bOjr#k_w*vldo?gAbi@v>QweBn}PVRT176Bb*9AQw}2-D4f)K=X>sQ3v1klkKcO1 z#_ceGdedBkikR9~<0)3)y2ZmmOP-jRpM?9utviJD93*<+AS<>znWOts!|(Wb6gh56=WYmT1Hzr4~Frs5uubVl4=c_pj6; zPU&&3XTYQgtrQ+PMw@%CUA+9Ath$qDJ?EU}y{Vznl%zhn+SY2gbb^{9?K%GRY4%qk zyOQTvNH6-Vb-y9^Mw>`QsFMd^?&$ir5=k;@>XJT>D^J$V8le{+$FyoJPYJG!U9UkeQz>4tWsU@AN zeiJ6Esh8Q}Ce}f3h^znEg86OMUe=&houy(Yzp?4Ny2@vaS>)(hA}Pn7&y{PX zYRvIClc7pIA&m$ecD;>BSWynfI?8o=PK50WL0hTI}@d z?X$iM6^gbC5cbRjC4N6YdiiC}bHY-b=hn+>vS9 z($M?xBIUzRqu3GRY(Bbsagy261jk=Ks;hGnh3el(USxPTd=cEaCvVZo{Yko@fzr-q z_dL){syfj83rkSzvQJ3uhwI;0S9vBb#T;j6c>K;e)|1EBf&r?Yc8kO23*_OnyPEd^ zsNS08sbO2ShOb}Ddk=rJwnlN6(OJ`XkY<0qKUYg*fM}8;jwZi?#mM$J1;Uu`Y=M?2 zrQK}y>7U!8abHE4Tw{q^T8ynZ;l{+RMN$@oW18NVC-u*eS zKrd4xpPsSl3_KU>=~H#6n$&!nz&pezGJ4tuU|JiS4FOvSg+$9jJ8I(Lqiw7p9Q%4D ze7y5o|K>K@KJX84_FM_b3G5PzInbLGl6GMWLG`uWKlu_}|R^y*wJ; z1Aryiu>tX0;71DP;r7LLE38+3s6_zBzbsQvsPzz&Tt)CRv?55gO#{ z;hQs21lkB9duR{DNZu%yT&Jlrb!&e~AP zK-j3&(8fzvb!c>aGcoVT!Y8|A8(HwAcL_(gSO2T?)bID*@1|LTDO+Sv^?La9*%9b- z7=4OlC^E+WM?1ms;%Jx;ItdH>bS?Ot@yoHZ_!aAEUot7J>#uy=p6cNuMF!T$6slOZ z8IBm$a@Kh;+$}A&{14}NHI!w@cle*XYWuQyVRtL&@L#x-_-j5s=DrYs`vjd zsZ>@j5>nSC$5z={85JTsTNF`7X12CV)0Vx*5kknWq~ef_$gX53S;_uAb#?Fe*B|%x zi1Rt0@&3Htukjobgn})}!yy@|e#)te3f$!i#xK*q6CRCd<~mg@iaqEZZA=>XS9zeT zelfxG>$N8qG8Z?k7_shrooN~IBAc;N*>G;EE}H!Kk0-BWlUDMxeJN*;)y4?ScqjCq zGtc%j%MUg#b}?1!BO>c)ew6=Ry~MMyX4%)O{beB(s8e1uYp8TE%^cpYr5|;r_ua@Y z7U^RpEbkI;_K`XUI^SndW-p#ZH?PzFbK7mTBrMjyi_BHTm&O}!_M#mpI@pooa z!!OA+R&{>wCW1HbE87npJ$RHGVLAr=0|M$rG)-sg9)u=A-GR8LitlQ5;PWH)hTcKbCTkJ`kPtLsW%OM{g^P zkB;^NMjznf33qQ_UzrP|JztqW5jaKPeKV6aUOVPcd`>y@r9ers_F#pTT6^{FqWLO# zeFs!LnBUYBN{G6r%H44N%z)a?oE-~`R)-#9`VYOdFFuUQ`Iy>5Qs>h%&Nd^tQ_hu1 z;#%#Fl8!q0s>%t|5yWJ_tFXtW3Bb&8VCpH5%TR*4pP{;Wg(&*PbY)l03Y*E?h(mju zC{xv7mcjM#LnFk-_JrgZ^^P99+L*?QoHZ_|!sG9W0Xj~-j+b+&w`I}aHp-7qesqgh z@m9?$`^5R~zjnS<-JH?&=T44LUe(eN-n}UfPir$@UEwn#SD(|NHq;UbC0=ex45vyC zFJI3s)$VYroEzJ_8RpZ;Lc*0l$_#c5Gj79VTVwaC@4P#4lX}G-&JbjlEi}s zCzExEHew#`b1Hwnx1^10 zUvG-H(trtjv$Z2-$RlE?vWnyZ1Zghbxk|Tm&d|*8>#W~34uO&eldRo@^VZgW%LDtWalP>S zI?))&A9^wG?M3K1D{*M?GX*Eo@*D-0;>!6e)5_OciLVB}p?T;Fyxe-{4gIKo|Etq8 zuC(_@?0w4{{hrXw6dNts?CnbF`%3-%*+FXosi&#>kDIl%FUaf=czw=lg{^*N(|v^^ z?Na^EY+@?s9#&{AoA7OUYirS4aX`I~(4~lr3KQZkImuEZJzKYl-Om3jsfRVy=W6rr z<}Sh?R?76kA?yQOzZfyXQwv47+bZ^jw^snzJg>DEXm${{54Xu?`b~r5R6!lcELP zi9>Np_8dqDlYHu$Uvu^zy*et|GGupVCm((9gCQCEl}kGYwJ1jCI^64enSK_(IHVHt zvwyrIly)=W;kp-7EjRm{LN)VZ3mMY53pI#D=qbXP9rk3PXyqHUza^7bjU2hH|5rNe zrqbC_^-}LMRft(>+R()k1uj)w9GH>m(?dJ?HFGn5%qs5mrO^Dg3v@smix+PkGgsTL zRZSgvsajt-G_RI$=#iK}4&#o~LJzK<_0Z1|rm5y!SYJ#G^^F%ukE)GNnP|;Ba6TRr z9QhcbP(v@w$banf>eJ;J=NHjR`vNB)GrFGNPsgmryK`P;zf;$ zX=jnR!dPpFwU1}+k->O{`jzMLc=d{HKw!7*tV$5?UST4fc8ixY>dy`OA!l?qL;A-4 zFjiUBzg!d(zldC&K6ck}EYU~vlG42!@}7#($W|D3SaDtM6sVxBRPAy~)BMK$@a7+Ro30kksc^}_bopFd{5Ke1cXFJb!3L7S3& z^y>O3?BM}AJDbQB%BeEnAJ^zFxsT6$=!Xuw81FakB6^YR`iQZ}&{p!weYzw9O9%3m z{61n~NIcW}<6XZ?Qdbrzi!O=@zl)hB8xM40+cq<>w{6slIlZ)W0kkC;ZNWGZk{$dc zOxc`EPdd`puWS={!Dk~$fOH|bz^De9`nju1lka`W$hmGR7&2-zZgY-esg$pM9Kh(i z{jZJh+F_;lw|r^-0o8inTP8=YzlyUz8es*+cFa#s9{8hu|DNw+J=SVTkGRKg6M{xv zjY3k<@!GtN<|~Y@K#vNUO>F7Xz8a$7X^?oW<1dOz12hiTFCxtNGK(8c{TwG-YR`EG zwLjW2zLe)MCdt(o*yS5wW`o8(fSDk>X#NNo_EhS6aokYr-5rI_?`?G7$y2)MFT8|~ z)OvkgRHR2op~b*AJ=`~_(Lu{d;0X)Zy{PTwk+@go_x*~yYSjHk`NS7)qOR=n0}@5$ zkf6@=r#v-6dLJ!WeJn7jZ486v6D7c#USGQ5k|tkt?liKC;mKZHc+g63giIo!{^bUgH0M} zU(mX&@|d!O_B#crO2HLrFJBx>vimr*ZSkyF40Px4JtZac2k!z9i%#aD`_7Z`8W$ZO zN)fON{qyAUztRACyB8m0-%xnD-H{6Tws~B#PD%c%(%%Vxzc|)ab)@geYo`KeU0a3L z=^~%d(;K`bfp&h)r>NLim<8O^}L;Zza?BU6EDg84Y&`|CwJm2*E z`nJmxU0ZAmAU*lFzot05nZPF_$UHMQ-yj}FgRU)=X@Bl=`cr$h92r)jiL z>67{DXfbG8a|4gEZi@E_PAU*;d)w3macWo=CfroG+Q%4H9$;k%jp9oZ6=pyvfiZ+; ze<*;@P=vmV30g=9XYiur<-+nKW+6Mm{`+c$q#ijshwWEGh@tbJXLA>qx;W0>ln+b| zy`0zaNGZZfi$VRsA7S-AvU0Mret^Sae5}L~tdRldad7jKG#_vVwteV)wpFu=3NBLx zYVf_W6N6&}Q!mll-?abtbHCzE0e>hJ)z3fv{|m0*$+AA<#T4;ISxbf z_m>n0lDHsH2Q2)dA&D*6B3nP0uRGwfLn!0m8vgaIc#)S}*wCO$0P=Fua zocdOmcew2*M|fRB7LQ{AmvJ$tYAR4f! zl1~vQdo*1$zg9&?M)uvgzT--+k8{E2&Sz_t$Y&88k_r4I)eta3Gwb4V$4_u?`Vo;k zK7QoYjzKN#3Bxl)@CRCMr`_gRuluYQ2 zFx3u1DgDVVGKouc{~q@Fu}xgJzL2qLGKc)W%xzJ*vF^H&rz_xJ| ziD&Lo!Kq|nK_cSaTh&Mj^AVq`j!IJedkUHlM?cZreSMHhu~o!KxypiID=2XMSm}x} zF;bXn#;b&SrPG9!l9#Y)<9K4V!cZJeL66$+}q-Rbh`37wwcdZN| zcc!PuNVOHh{7}O~YHsUo+F=;s+gMP1T3hWzoD`!nSfESLUcf+aT~oPwb-X(Ligw3b zhhww2RVN{*m*&5-UArsE2oPC6%-4Xv2;qF+-rl0Q`IwKfrvHUeM5@da&n}%2X{E?5;eDbK|Ca>iD-?Q1nsinP#k^)x-qX&SC zxKvt1at!!!N0CJWC~+)Bt40|1yc75C(Wrzl-#Vx^Y@;V})9^`^e6~hDa+D6br}#3@ z`1y5<=yyJ$%8?wk7FIeJy-1T|i{rfh)eVY|{HyExw@C5L2&Ba1 zjW145Pe+>jmHwj7PCbAA9P~An5Q%$-&5Kqk`p!}Qx2RqT-|2Or-Fh9U698m1)YNXj zzmV1kBz?<-I~p=bsnC1?mR6Gh=6K`HK89HPsGB*HWlxna={w09^WQX+bMdL+x2ut{ z^S?RQKKxkp-T-PMh^&DiW*Ct+*DE)u)6E)QWoW%f-eH`?A=_uSd4@2!#P6??Z;<+z z^EyQT2zc_S}9)|KI+v|0tFK{F@ zG$6N!(a!Zf(tK;8;J{=QZOS4p9k6%e>&9Pvb*0Kyb@|wXRpaM5scSxb zeb;p4Y{qBl(X!$b+@mAiqk-~OU||M*o#~V65rZDm5WXM{0yxU{I*S-h8brKgJbj2N zvCVm5sUb`}+^PU3_&o(CSwI5@U@to{(o99ic-j&V$(bVf?>6+@C@Fdz#7+HR zy`Ir3Qut=VeaS~QpvHn-P4B&(m|Bj&mZLyKB{a2WO-oO@N&!|*8cbHpeJXgnHiR@d zvXZO_MO{e$O?mLrzfwqgTwH9;e5-ZzoS|5p2J}!Z^GBvUFlZNGBEf-SWW+``VK)T` znwXg)Wsj!!5;w2T8Wh^T>G$6BOrLjAA(|F?z^+o*XZT4BTFp9Pt#I>$g)-*!SeP~< z#Bndoo=``iPYURv)j4ZTJ$@!Mm~zdlWuZM>R(65;R>wGCtMGy}0W-_6bkBWgQ%}7< z!3itBOCaI_-=Gpw3gPByK$&2_42UW~!hjo@2+pJWLl5(I?dK^EilYWbMrEjhr>6^W z!0~Yq+M%?MH2`gza<}pJFJI091?)QV4zUkVLKGDZGa{tTr}gz6`m1CBE*BS%)X0GG z8pirqL=tT29=XfzdJMKLvr*7b=&AC>9AmjNVZ{&*t?Ft38&B@MsUX1y4?3t)piu@A zPgyR=qnK^Q$$0BC)Pg1jiocA{Pr#ppl0P&zJ3&$b0Vqh6XO|xsKER0+iNA7&;~c?I zP6T8dB4a4l;cIkBq6gj*-8wvcD<=F*5U9e$0Tf<+eSLl=H2@KyB#2@hip$p4(X)ak zRX%V41!n*nWL|o3y9Tm10j2>iY?tAi0&SB6EO&`Scv1VTt**%Lhwj05G$mj?{`WQA zh6bL1E5G-rGkk2Xw_n?jF+1fT3JDefj4UY;quT(J~4h3SB)ndwT); zKq#+ASY^d=P29D7iTwt*3BGI1Pnn5JkQ4$?8chB!QCKt~2*U~JO#w`&0JW%ZLh;vE z)!6#%BA~~~wT+;w_2ci?`lA+Rsu|{X7VVPir6>3`4?b7UkUAqc1ry3q) z?Ncc`jOPWcxi40xx%s{=VF(S-7{Ks~!cZeS^}?6|4t4%wD;WAVr)_(OC8jN5aEvUG7wKP#(2(AgXy zHh#8$y0FZDO*T9jp7y|p0H?3S@w@>1!EAsV&%Oh$3OH*}#}<65@H2e3_6c>hk5-2F zYAt7*?8IU;GW7I7Qy*&ab4`A9<=w~37E4Q3DUY1ON;|XLm;Swt-=!XU_Z0#aAv#P7tU=529 z&dFJEDWeU7+N!uXVvLR_1@UFw5BJTRzxhdE zlvP#rO}L*g?8L6dD((Pwzj01Ggxx`;c43}hyxH)i-k2vVsudXn+b=t5+PzXD!op{m zUqK2094N=$GUdMlfy4m5=i|pj3+7Yt(r_QCfCvT1B{?~1S3=qc5C&l~Wf;Mw0*7R_ zUlJ*h0Rli0PSThVgm7x@)*{}9P4jx}aG&VHxz$=iGhPbbi?xGKd6eF5RRduy(C$IlOla!p?uM`K zyUxxm+pdw3Ow!9_o}(b{|ZOCXU5hu~f~m$bBKgAp}&OFtVFbR~`?TL}6}xqmeP#}}pNxkIp9 z0bUDR*u8sjl7c_9=GXFq0_TBO)T-PF@}S)^(ga|?d-?JPr^-M2wQR4!`u*u6Th@ds zOPFdb6$Dw&*%2-1Hunnfgg`lhVH$V943Gu%AJfxs$^OZBy?WEXk5Zniu;9K0vwACn z71krT6jU{o6y&;@mdWF`O!kE)`2M)cwTmMYkqb79-AjL?iha zEIM6lTLb!q?w2oP4Jm7R#A9ZR<$sWB0QRI({;NJn9y`Y0i%h_k74huJAu0CzI_K+t z35>--df@p-@5#!J{{B;cxgrw~GI^Rv9D^+jsMn7DRp3I|Zw-rK)QTSe+}NtmpiFl| zem@;e0QR6`_8f*0fcUl@4;grh%^A#}_@OnBO>vEQjelVhMb!s90!DKTO-w5Acf3LCq{wwhF*8-mNxXRR5JZX} z&Z=@db0!hdYuS!xFg5w~Q92t2312&eaWJQ);^6Qg={f?@;l0$b2zj@_daplQzhEP4 zBwI?z9sec3)N-K+ZyCh%ptGov!KiF#V1V`d{LEu4(!xUc7q%=S?PI@P>#?5XLt-KL zgl5Tc^r&YRkcDvszjMO^3#U1HANdoc>mVegf>g^{Dh>cZ_}Y}3Cmz7BY~x zJR8USxw-kM=#^{xVPOHr45$QJ3^kvG!?{)&7^i$7Lju7d>O#cRC!yGXFjfTHbRi{~ z&}I~DeY5omY=gIJF`%?kPdU@jDKV~hPN^*SVl*7*5l^w8A+nQ}08Se6j{JNlFRwDZ zxp+0PkIlja4_e7)P#|96;&HYzj2I&zf5e@}$Do#H-!!wnHY}KtxUQSnL2T+kXp-V_ z)kpdlk;R`spW&$=AA)TW%TifQL_I}v$h8=7JitQnUxqhGo5#OV*U+su(N&P9tJ6`O zv-D=u94pHu^7=Bgi(mYG?>{6Ej_WX3VOK;N)@&2DgZ7WW8(>*1tw1XS8xPoSNt!3< zD0oW{eW_|NmP5F^H;^gBStA_6na{7*YRg8mZOge|I%367o>0-!;(R->0fGF4B?<)$ z=pMcLi1t#D)MIKsLWi7&7E9C2w~*<(lJ~F#cP!d4l`b%l3TOfpLF#QCdH2M|3t=Mo zgfNxML{|}(Ec$r-OrF^3W-#tW+{1rCoCqVg?`3yg@f<6AJ5y2k@{Xu&bJ==@t`m|P zWKegZXveiP%(s#W=%-tnn0CM!B{J-OUwS3zlQ1b)NIIi|82>N?0(185Wi7EBQfyZB zK=~q#N@!Y-_^|^LNaj(&eaZhEFkP~F^h@8iFjlePEgN_4!an^c@`{qX^Fn?NTK z7H~g+T-p&(1B`SsA^IqAxqm3b7!l8lb-g2X&Jg*%P++a4U$q=F)wJ{}M$dJm6VzDJ zZIJ+BgFeMck4w8Mzn_^3CLr6c9|h2#Tk&>L$7xkio!276s7AK;ua!AeiVr$t3Kc&UtHHC^Cl*{^^(3x|Q(xmPT!* zXur1w{EUA>HZWe!Do{l%l`OAYlOC@;gr>I z1{Dl1wHUCbl$(cVnyp2sDl6O$^a^^-lLA~@jl9)cb@c=y690DI`CqH&dwxLt+q6p?IT>L;{Ky1JrKf(O)qzqgN>IWeu1F|@onmkRYTDlMafqCsJHMk>>v_@l243B+8&Ou@{9)%C7DoP&;w|B)&7-IS%bm77aN@iL&?LNt(pa(qQunHL;Xu#bTS zyPijoUoiSXn(@guc+zPnGRcJ^^w1uoGpc*33?t^&=RSY`cs1jrr=qA>gApzgZgx38 z{vb=BbUkO%bH}gBCuU>>goqNmQhe@m2nQM34C^X9^|PN_{MpiT>xKH^?4&h)yHggB z*qHfc4Fq-((gXS?l&MtLhu8S{4wH1P4AU!{6+C7VV{X0}Djd>YoK|9V z=SfUGqTzoIAsNKmlIj(K*G~RRCH_m<<}39*WRAc4niZ+0nd&KvN0qf22#O)8aAQV> z33F@+3}dzqQ_FYX_l!BeS#NZ#rxNDo<|xq49nx(*z9l^Dq2|uoX$7v z4{7=?t9aG&v|129QXimX-e165D%}Lwtu8N0U7pgEm3Pq>_4GQ93yx2=+!_pJydR}^ zHJJcC8#HZPrF_BILHh?rn#x*`5Nw)Z(9|~M(9@~D|QfFDZ4g&o|Cr|B;kWD$bUNRZMm8;*(7tKFmh zQe_XH(f)5%TL!@r1(C@!KEu^{`~d2C{xyr5=>fFb3}>3DGrA)8WiHeH4mo5)ub-$qgv$cw~Zm2nQX9kbNLqKw52YU({(= zmMiDC?15UF?gln)`Tg=d%zGChXn;S#CvLDD(56nQwZx|Du{djc`g9~tnb?5BXd5j% zC=EtkChV8(c70#@suT7N*s3$a2FAwdL#c1}haTg?50NiM9d3CY$XMV1>7XB7{OM@P zo2BA4hWFCi@{+$gRul6}kR`JUhFrCe&oVYUWOwcD+7FqH|%ue=Mfi&WWhi`*`5|Lg2%qSX~XZ(J$_Y^2Oh|M0Qn?)xYg%GU_7N+kG)w zpI>od_Lk!p>+aTpHu|E^H^)mdc>9AKez&Q=ze--cuCRSY{w9cfiz}-bZG*~RBaAW{ z)~%@LM)h#H*zdH$#yj%BC2M_RqtM8=26MteFq4ChrG#a{;N3^x85QPq3WU~-F7pR* z+~fs$B0c?;Lkao@IAtVUEfGj)VA%EQE-Uy76Yj_$r>*~fQt#oLX#L}Y$(n>)MCuFV zmv4km3Nt^-&emZV#QlH*ppl{B!4fR+b?!At%s=2YVBzZ87OPQZap&x}SdBWL2O2FV zo|S&yMxUxal^6O6lqM4pU|>WZ8y_#WFE$~e+G}p?%a_!Sar=uG59_=+BaDcdIlc%s z7*mGXRGiXux}6qy<%JH8sA3vAzc`lqP+G1GRXN+lAUZtPTpdi$3s%_ zenm4EHAY4WFcw!=8j6(nEt)>8v@P+c+}H~}S~H1o^Rp2apA+Oy@B|`MBUU0GiQ#&w zix!#;@OU-C|J3i+%tOdDf|3DCMdGgg@RNZG7HnRgP+qX=fl$aUtQ#^6I{Q`k3*Uk0 z<;tR4jj$0|qO7d8l=pubb~;?V2>BPNF_^>rX~! zv^f9?u5y0JBm@RKQgfT4z_Hbqbq;B`RVRO+w9n5=sAOQHoR*8^5Mf354pus9JTy{} z5NdmlGTE<)sDoA)sPqEu%;p>-@s~v|4CrCOTlGj^@4bm&=8yRpMB9%VHfWSC}sT98J+#6@;tAT9vlpAk(H1>)S6k#v>oqHD$M?X%gNPoUA*h zZ255pifxOK&0k!X0|Fuv`FwWv?I1R}pC30vx)XaAHY|kY)|NB%)HtK{?mYq}o^n?c zo+y6pI*MU*oxs7uCYEnNpqD{+4?=-xG%_Am4MDLA_EmE82=t<%y?;nVOt> zfTC-C{=7>mTMlGh<1TlYK*@Qi(T2Ic*oxf<7_j+LT+c$_VS2Jz6JK5imp0g zs-tvxbx@$hojf3U4@OS27|Y@}U>{S!KOj zxh*?f!KG+#cLzNPoTPV@la1EKhpGNjK|^Z>@4<>+b?2LwLFbz_7G*mUn$F*A8IpKA zFoiA`XG|lGr{#JP;{Y^w)VUaVv=!yzhmkuLt->R0)K!WJ0$0TlrUT6lDp&SLK}iF&Dp0IoNNCHd-dg<4W5-5hK9V6_l$a1H zC#_X=b$I@?P8LIrux!G8B7?a~esF21kLow2bo z`Tb`cLczEQG3{W z|KME!JvAu#yYwXF24&3`JQ5oFw(usL45PfJsiUKKcR#$2q}kEK#5x+fsKaz}AW%C? z_dqD(0A3;KvyFq!$Y(^%;lv&^ya4@2;G7VZba|mj=k%=ynmfv*b(JrKB4bsa3$+|Z zHNqohA$6(zq@fcWyjS?D*$g8vg=kN(uLVabm^28ntjY|$QdwDnx%1TKpDTZo;-~%D z7caPq^Abw#A9{_X0j*Ie?ZRx`-@@Y0hbOhG-|O-syLTmmffyqcY~=~Tti`!;yi~qu zUrEIcNeG6kYNg!3R0d>!Vp7t2Z;)q=1F^}p!ea_;&RO3SEtA_^(513aQ`>p0dSifI z@vtFEB_tIP@kX%}`Jh92L9es!<)wc)&)U<>94jCuc&dufZRD@1eb6LE>a4!BLDkf) zQ>d(5_Mfb^eJ5i}=)9C*yxaRARpF;_)ev2C^J+iu2&)M$)^ClEW*^Cqw`Nfk`S^J) z+Iw@Ca{+>(D+Z5>dn!=nD+Rkr>Y5SdYk(pec8Eq!B3{c%|hneCK>{C zM&Y`w1Mp%$`fO;;-YEDEX0UoII_|taW(IyRIKijRgY{^ILIPo?`S?EQ zgd>GS4+f{@gO&#tU35A$&1QC16ckKDh!7L1CG_q0L4Fw?pX){I3C>6QhcgBdskrRE2ouL zuJ5L|AGY?f)}T*6o~irbhn=i}pXP-Z27W_>OXmKw(|e-_17_P6R~+5d8bihJU+m+P z`fSauGsX0-T=CTQYx1XTqthb@K?;21w!=d=qju~0>AU7N{J~fKg!+DYXQ#f2?SicM z66NzMO2TMw^1Lm!3mY37q@dP?dr>`Lm5z>&r_?SWig<~y=TNS$Pk{S`v>OydetAAf zV^*t>w65j@au(N|4)&63`#D4FaH}wMdKb$tmCO%2@C<-qi6JR` zcbVonW;UQR9%m0yoh>%+5jN`LNG4{I_!8JF{7w%BKa`}+ST5?8w((TBu-YMgcW#Nt zQLwagm1JJz7cl6nP!d`dKIv1#@=8F^y=F!{;Bd@+gB*P=225l<!PxtruXx1(3~3)0zuq5_Rv-mOO4 zuW6!oHZ`q${Fp9KDX2Etf*ClzIE^KrD(s1R4NpExtZPoBrypaeolf5j(dE26M^DcM z6fn4OY(+;rr_ZScW+-*cS>`|ewD0!@b7oC=AY)pp>N?HQmpl6fA$W;DP}8zyxjWIv z9e2=Tr<{Og@mFr3XMWAJ`Ly)Hqa~v3x1hz_F%Ap6EZv~?@2x-36r-ceB&t5=Sh3V* zs73R!*CBqmaav^uVO{H}Y1pN-=kw>!C}O}7!WM+)EPC*mgZ%=;n#xsf+qjEASPKI` znI%wu-E+9|lV_i4LFd-Tw4-HjCsoQ-7O(oHR}mSujFkzJ3X%!yqgDAF#l|K&QbF64 zu2z^rlKjKJ=48_1$rPD7DD(;6zQDkIyoQQ!ahNh;b){OzCJeIL-p_Ib19G{Ec=irmLaZc`yi(K6? z>iS7`SM?3FD;^sUQ!Z&Ne06^GRhHmq#9Ddec=Eew;$NhU=06I*He;~^9 z+#!OByX!K5uSZRee-oyogm9e-0H`Oi2!xp{{8koi0{bU3j%|jf8May2L}6^0_*r$P zbsf$#|IO4e0vKwH`raF$Zo|Dqy$|PYjChcZ~`CTe1k0(C-4ioz*r+Z+l1JK zVF+GySW{mw#@JkfO%{-a@87>e5PIM0_W+cBQ_^zi;v7BAs34RYh zfCNE<4SQoN#dj2e5X;1T11-*$77mq=&c|mmCVvAODy~ciGq(LjLq-#U`#nvc6DKm?HKSGxsG zB#>S-4G&1%BYz1>iTT=MN0R0UglwSOI)I8A>-eAqUYhK@ylU_YWD~^wPl1cGyx36< zNkt^wOB0U%;3GZK&*mp}+O<2Bz(`>XHtQH&gm8|QnH^O5jZSobvvbzqEc2~l&mc-y z)8mn1S2mv)PxmO~_x}0)6MS?1;Yyd#gc(w_mg2*dJ(^v1Vizuu3haOk!S+8gzXTmT z5f}rVJdhh#Y?&zV57O6 z>@m?LN^DP!L=)HtB6EJ#<_xt+Ytevc8U{cyCr1X47U2jFQSmN6PpgvD1|ICOqZ8Zf znF`5UyKe(^8j-Nt@K|w4G^Py*nC@!Vq(jtD{SDlADxLgLzqXznp|b)Co@JTQFdDC^^D%7h-@%=@8cmK||RX zBR+ffEJ-l{Qi4dL(A_r5`Gw~qqER+E-x^`iL;cU1e!SD{>2$EZjP|jt@x@aYmDSAV zwv#{8*rn`*?An*BX^u~Y?#5UMbxD%*3Eq-6H(xM=;FclX1bdQ7NSY5>=No)QzKGzQ zTWh)frUL2$_KYn<-$Fn$5}>)-rSi}BTv@qqRLQeWNMyd1-#sx{B49!iU?=QS}lZhlXx18KT$nRl2W8V3luT*UlmwIhdcyCOapNQM-cv00^ zdY8DOg~OzR@yn?9A;7-g%is#FL!a&5KuFyejCk2)eb7rrLtDk3t1+vmO+3=*WXtMk z;_NAwJB2$hZ{$a0X7npfRr@K4!~%X0YxzlolA8fRX7%F&$oKA*5bfHWZk4dp{4Gsw z3NNJHW(FD87%0}6Hj}I0Cf5;PGBPWUYd;(d_*;bz{8C+kne+Oa1KG2HnxyfvJx(qA z4B98@beuM>(!G)IVY&L+MIlPi%AobL;L|5emC>s5oIGt)-sf|hK5ltvu1MV7bN5fl zaoQR3tb|gT6=GNNEX;;@5Vwnq(KIRncngjZw=ACaeuG~O^hdyfiH~QGexM^8?j5tV zv6Elf3?_j}2vyCS$nVlZDlP7d6`P)E96o)5RA4d{mOH+byKT^m^;iI-42P-UX-wIK znU`TMz@Q9#FdYSsI^|J6eA)4-G+Q(0KWG1JQ%)Se`JOrqzqBr(Seh1tM`=+>dsz9i*hPDq0Wnr}2eF^58+YIAux`Rj zr&!=kAIWQlVK>g=A{DT`{*#03gXCa8#I8it0o_Pwf~+Kw`2GSq{tr7u6Gg7Sp+0N0 zJhrhJd#se5a>#dyu;K|u(*q_)aT!Cc-e zs1ia5df4F{I8SQW@%!m?Pz~O(e$T1Q8I=64kVtf9LpMhBPdzdZi(`9CJ8TUv1FM?H zULy=3N=qGeVR;AlZ&>sd@duK%<)3%CSktVOK;`nRiw)y}wFHTKDewEeFYhAT#+)bh<*KP7q7OpG2A$G->Ycu?AI47YE(ur;O8?KQ&IsS0UfZSl_IDisEs zX&hOsNwxJNw8vUScw^gCM~)ILnbukt|Ha6bpA+9Kdzdb1AH~tcr#Hw|gLDa} z4mJh(efZ3oFu%OZ=7nF4^!dv#1&Z@*?#RnsV&kSHXXJ6=vL12t+tcyiVH}lsxRklW zPGH_X7&>I6%e%y3JUQk`OZ~lUYuF8r6NN71D+izXET6B|mz&sO&baX$KiK98`x`9k zIWEYJS3O-ZIW9uthe<7c<9(+>=-R>QbT@!x)qfjobYszF8YF zURzP#@*DA4v8!HDhWLZGNwfHm1^c}tkDA2IWvvzHwhx+3a9=o5GoCQ-ZQ-}GVYkC@ z?5=+?`J0NDKLt|XCX_^dvtOO@R6Ee&SZX0M6MI^-ba>)r`Zk%TJ)=9Gi+@^W7Gk*R z=zHF5sMXkyrkg)uId6h?k@a`zS?bSj+{df$S^Z4GQ6am+{QbhD(yMDdTivBT^uCoX z@i%edeCyt#GIR0vzrZ;69zNQx;sh-RCmJE0BMTMYAF9Ov4C@)a*b~Qo&r!pm&Th$I zyd?E_gq(DK?QSNuir<}TH~H;vnqGyGJ&tKV9yc8JSVtML-NlG;R z$7d@mXI^hsO?l}oe2~lA_czUATT47e*pae;({9S;e}uF3$PdjGA2Ix6Cg|Sup{35% zivQy?qcUHDW*dT(D;?w?k>5V89-|e_*u>>T@&M4-UfaGKV3Fb)n_g%v~zwRhDmFu zR!IBi2PcntHWc_dZaY};A@JkK{=R@=-#qgMGiBp$$#3`gr!cU+7gu)<^J6q9UO2_> zr`(pjk83Ut+(+~p^z`=rvRREVXW01auT_;s=PKoPU!GjMvc+s`;pRPUW&*Q)gE{ z01jk7=}?XE`d;U?pIjAKktd_ouD2PKn?>&S{eH|6@}k$bO%)xfELl0Twk>RF(~N4K z&E<4wxyg$Ui;6@^e9GfbdETgHwBCm#3I5X|l`^foQ=2AP^2IGZH% z&dL0}3_tDl_Q^js4ZbzpS7X0oR>9nLet~fruXk~a0&WwJIqCtbwM>rTBN z^UG`h9+Hgg!{N-|0e=1OaXzhIm1>joX^H#IxBkcJAv@EQ_%D0Mj88~E^l409m*mof z&&R|zX%-<@*}O5m{|-cUMdtdy-*IKL`NZE{b=ODUw`;L1J>qp)()>3%kdZ}HPOp(s XiPI;yQ7nh7Ux$jahElG=nQQ+CS71ZJ literal 0 HcmV?d00001 diff --git a/docs/implementation/media/22-before.png b/docs/implementation/media/22-before.png new file mode 100644 index 0000000000000000000000000000000000000000..593c88953de0bfdc5ebb09316e73cf497c6117ad GIT binary patch literal 38015 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 Date: Wed, 7 Oct 2026 23:38:44 +0530 Subject: [PATCH 4/6] test(import): stub the job lookup in the resume test --- wikify/tests/test_imports_api.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/wikify/tests/test_imports_api.py b/wikify/tests/test_imports_api.py index bf3747a..025c6ba 100644 --- a/wikify/tests/test_imports_api.py +++ b/wikify/tests/test_imports_api.py @@ -243,7 +243,11 @@ def make_import(self, status: str): def test_a_stuck_import_requeues_its_parse_job(self): for status in ("Parsing", "Remediating"): imp = self.make_import(status) - with self.subTest(status=status), patch.object(frappe, "enqueue") as enqueue: + with ( + self.subTest(status=status), + patch.object(imports_api, "is_job_enqueued", return_value=False), + patch.object(frappe, "enqueue") as enqueue, + ): self.assertTrue(imports_api.can_resume_import(imp.name)) imports_api.resume_import(imp.name) From 50266b83a5d02fc6b3bfb35324a43bf79cd1a832 Mon Sep 17 00:00:00 2001 From: Rahul Agrawal <12agrawalrahul@gmail.com> Date: Wed, 7 Oct 2026 23:42:00 +0530 Subject: [PATCH 5/6] docs(import): retake the resume screenshots on the current header --- docs/implementation/media/22-after.png | Bin 56272 -> 18209 bytes docs/implementation/media/22-before.png | Bin 38015 -> 13026 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/implementation/media/22-after.png b/docs/implementation/media/22-after.png index 10f56cd3d810f7d1a5ecb8ec4d157e284377b7c9..e447e1bd88573ee912f32b672eb9d9650067a801 100644 GIT binary patch literal 18209 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 literal 56272 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 XiPI;yQ7nh7Ux$jahElG=nQQ+CS71ZJ diff --git a/docs/implementation/media/22-before.png b/docs/implementation/media/22-before.png index 593c88953de0bfdc5ebb09316e73cf497c6117ad..b307d55c126d177c9b51de9b958b347bcde98f64 100644 GIT binary patch literal 13026 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 C>T59o literal 38015 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 Date: Sat, 10 Oct 2026 08:01:49 +0530 Subject: [PATCH 6/6] fix(import): resume failed imports and skip finished or half-parsed ones - Failed imports with unfinished pages (stall check, job timeout) can be resumed. - Resume is no longer offered when every page is already remediated. - Re-parsing deletes the half-parsed Source Document first. - The stalled error points to Resume when the import can continue. --- frontend/src/pages/ImportDetail.vue | 16 +++++--- wikify/api/imports.py | 8 +++- wikify/engine/store.py | 8 ++++ wikify/jobs/parse.py | 7 ++++ wikify/jobs/stalled.py | 7 +++- wikify/tests/test_imports_api.py | 61 +++++++++++++++++++++++++++- wikify/tests/test_stalled_imports.py | 20 ++++++++- 7 files changed, 115 insertions(+), 12 deletions(-) diff --git a/frontend/src/pages/ImportDetail.vue b/frontend/src/pages/ImportDetail.vue index 0351905..42952a8 100644 --- a/frontend/src/pages/ImportDetail.vue +++ b/frontend/src/pages/ImportDetail.vue @@ -127,18 +127,18 @@ function confirmReclassify() { }); } -// A killed worker leaves the import in Parsing/Remediating with no job behind it. +// A killed or timed-out job leaves the import stopped with no job behind it. const canResume = useCall({ url: "/api/v2/method/wikify.api.imports.can_resume_import", method: "GET", immediate: false, }); -const isRunningStatus = computed(() => ["Parsing", "Remediating"].includes(status.value)); -const isStuck = computed(() => isRunningStatus.value && canResume.data === true); +const mayBeResumable = computed(() => ["Parsing", "Remediating", "Failed"].includes(status.value)); +const isStuck = computed(() => mayBeResumable.value && canResume.data === true); watch( status, () => { - if (isRunningStatus.value) canResume.submit({ import_name: props.name }); + if (mayBeResumable.value) canResume.submit({ import_name: props.name }); }, { immediate: true } ); @@ -149,8 +149,12 @@ const resume = useCall({ }); async function resumeImport() { await resume.submit({ import_name: props.name }); - if (resume.error) toast.error(resume.error?.messages?.[0] || "Could not resume the import"); - await canResume.submit({ import_name: props.name }); + if (resume.error) { + toast.error(resume.error?.messages?.[0] || "Could not resume the import"); + await canResume.submit({ import_name: props.name }); + } else { + imp.reload(); + } } // Attach the document (with its project) as the agent's default context. Keyed on the diff --git a/wikify/api/imports.py b/wikify/api/imports.py index 6a2aea5..ae1d023 100644 --- a/wikify/api/imports.py +++ b/wikify/api/imports.py @@ -6,12 +6,13 @@ from wikify.api.sections import assert_not_published from wikify.engine import preview_wiki as _preview_wiki +from wikify.engine import store from wikify.jobs import generate as generate_job from wikify.jobs._util import IMPORT_JOB_TIMEOUT, import_job_id, log, publish_progress from wikify.seed import seed_uncategorized_project MAX_BATCH = 25 -RESUMABLE_STATUSES = ("Parsing", "Remediating") +RESUMABLE_STATUSES = ("Parsing", "Remediating", "Failed") def assert_readable_file(file_url: str) -> None: @@ -44,7 +45,9 @@ def enqueue_parse(import_name: str) -> None: def is_stuck(import_doc) -> bool: - return import_doc.status in RESUMABLE_STATUSES and not is_job_enqueued(import_job_id(import_doc.name)) + if import_doc.status not in RESUMABLE_STATUSES or is_job_enqueued(import_job_id(import_doc.name)): + return False + return store.needs_resume(import_doc.source_document) @frappe.whitelist(methods=["POST"]) @@ -114,6 +117,7 @@ def resume_import(import_name: str) -> str: ) ) + import_doc.db_set({"status": "Queued", "error": None}) enqueue_parse(import_name) return import_name diff --git a/wikify/engine/store.py b/wikify/engine/store.py index 0300ff8..400d766 100644 --- a/wikify/engine/store.py +++ b/wikify/engine/store.py @@ -151,6 +151,14 @@ def set_canonical(page_name: str, markdown: str, composite: float | None, source invalidate_page(page_name) +def needs_resume(source_document: str | None) -> bool: + return not source_document or bool( + frappe.db.exists( + "Source Page", {"source_document": source_document, "canonical_source": ("is", "not set")} + ) + ) + + def set_canonical_mean(source_document: str, mean: float | None) -> None: frappe.db.set_value("Source Document", source_document, "canonical_mean", mean) diff --git a/wikify/jobs/parse.py b/wikify/jobs/parse.py index a836a90..f5ea5b6 100644 --- a/wikify/jobs/parse.py +++ b/wikify/jobs/parse.py @@ -52,6 +52,8 @@ def page_cb(page_no, total, kind, score, metrics) -> None: # Parse + score only; the tree is built after remediation (below) so it's built once, # over the cleaned canonical markdown rather than the raw baseline. resuming = bool(imp.source_document) + if not resuming: + delete_partial_documents(import_name) source_document = imp.source_document or parse_pdf( pdf_path, title=imp.import_title, @@ -141,3 +143,8 @@ def rem_page_cb(page_no, total, method, adopted, base_c, new_c, metrics) -> None frappe.db.commit() log(import_name, "error", "parse", "Parse failed — see error on the import") raise + + +def delete_partial_documents(import_name: str) -> None: + for name in frappe.get_all("Source Document", filters={"import": import_name}, pluck="name"): + frappe.delete_doc("Source Document", name, ignore_permissions=True, force=True) diff --git a/wikify/jobs/stalled.py b/wikify/jobs/stalled.py index 5037e41..2197379 100644 --- a/wikify/jobs/stalled.py +++ b/wikify/jobs/stalled.py @@ -4,6 +4,7 @@ from frappe.utils import add_to_date, now_datetime from frappe.utils.background_jobs import is_job_enqueued +from wikify.engine import store from wikify.jobs._util import import_job_id, log, publish_progress RUNNING_STATUSES = ("Queued", "Parsing", "Remediating") @@ -21,7 +22,11 @@ def fail_stalled_imports() -> None: for row in imports: if is_job_enqueued(import_job_id(row.name)): continue - retry_hint = "Click Remediate to retry." if row.source_document else "Import the PDF again to retry." + retry_hint = ( + "Click Resume import to continue." + if store.needs_resume(row.source_document) + else "Click Remediate to retry." + ) error = ( "The background job stopped before finishing (it timed out or the worker restarted). " + retry_hint diff --git a/wikify/tests/test_imports_api.py b/wikify/tests/test_imports_api.py index 025c6ba..6872961 100644 --- a/wikify/tests/test_imports_api.py +++ b/wikify/tests/test_imports_api.py @@ -8,6 +8,8 @@ from frappe.tests.utils import FrappeTestCase from wikify.api import imports as imports_api +from wikify.engine import store +from wikify.jobs import parse as parse_job from wikify.jobs._util import import_job_id from wikify.seed import seed_uncategorized_project @@ -229,8 +231,8 @@ def test_remediation_refuses_while_the_import_job_is_running(self): class TestResumeImport(FrappeTestCase): - def make_import(self, status: str): - return frappe.get_doc( + def make_import(self, status: str, canonical_sources: tuple[str, ...] | None = None): + imp = frappe.get_doc( { "doctype": "Wikify Import", "import_title": "Resume Test", @@ -239,6 +241,20 @@ def make_import(self, status: str): "status": status, } ).insert(ignore_permissions=True) + if canonical_sources is not None: + source_document = store.create_document("Resume Test", import_name=imp.name) + for page_no, canonical_source in enumerate(canonical_sources, start=1): + frappe.get_doc( + { + "doctype": "Source Page", + "source_document": source_document, + "page_no": page_no, + "kind": "text", + "canonical_source": canonical_source, + } + ).insert(ignore_permissions=True) + imp.db_set("source_document", source_document) + return imp def test_a_stuck_import_requeues_its_parse_job(self): for status in ("Parsing", "Remediating"): @@ -297,3 +313,44 @@ def test_a_user_without_write_permission_cannot_resume(self): enqueue.assert_not_called() finally: frappe.set_user("Administrator") + + def test_a_failed_import_with_unremediated_pages_can_resume(self): + imp = self.make_import("Failed", canonical_sources=("vlm", "baseline", "")) + imp.db_set("error", "The background job stopped before finishing.") + with ( + patch.object(imports_api, "is_job_enqueued", return_value=False), + patch.object(frappe, "enqueue") as enqueue, + ): + self.assertTrue(imports_api.can_resume_import(imp.name)) + imports_api.resume_import(imp.name) + + enqueue.assert_called_once() + status, error = frappe.db.get_value("Wikify Import", imp.name, ["status", "error"]) + self.assertEqual(status, "Queued") + self.assertFalse(error) + + def test_an_import_with_every_page_remediated_cannot_resume(self): + for status in ("Remediating", "Failed"): + imp = self.make_import(status, canonical_sources=("vlm", "baseline", "cleanup")) + with ( + self.subTest(status=status), + patch.object(imports_api, "is_job_enqueued", return_value=False), + patch.object(frappe, "enqueue") as enqueue, + ): + self.assertFalse(imports_api.can_resume_import(imp.name)) + with self.assertRaises(frappe.ValidationError): + imports_api.resume_import(imp.name) + enqueue.assert_not_called() + + def test_a_failed_import_with_no_document_can_resume(self): + imp = self.make_import("Failed") + with patch.object(imports_api, "is_job_enqueued", return_value=False): + self.assertTrue(imports_api.can_resume_import(imp.name)) + + def test_reparse_deletes_the_half_parsed_document(self): + imp = self.make_import("Parsing") + half_parsed = store.create_document("Resume Test", import_name=imp.name) + + parse_job.delete_partial_documents(imp.name) + + self.assertFalse(frappe.db.exists("Source Document", half_parsed)) diff --git a/wikify/tests/test_stalled_imports.py b/wikify/tests/test_stalled_imports.py index 13d3da4..4a4c1b7 100644 --- a/wikify/tests/test_stalled_imports.py +++ b/wikify/tests/test_stalled_imports.py @@ -11,10 +11,19 @@ class TestStalledImports(FrappeTestCase): - def make_import(self, status: str, minutes_since_modified: int): + def make_import(self, status: str, minutes_since_modified: int, unremediated_page: bool = False): source_document = frappe.get_doc({"doctype": "Source Document", "title": "Stalled Test"}).insert( ignore_permissions=True ) + if unremediated_page: + frappe.get_doc( + { + "doctype": "Source Page", + "source_document": source_document.name, + "page_no": 1, + "kind": "text", + } + ).insert(ignore_permissions=True) imp = frappe.get_doc( { "doctype": "Wikify Import", @@ -52,6 +61,15 @@ def test_an_import_with_no_live_job_is_marked_failed(self): self.assertIn("Click Remediate to retry", error) self.assertTrue(frappe.db.exists("Import Log Entry", {"import": name, "level": "error"})) + def test_an_import_with_unremediated_pages_points_to_resume(self): + name = self.make_import("Remediating", 30, unremediated_page=True) + + self.fail_stalled_imports(job_is_enqueued=False) + + status, error = frappe.db.get_value("Wikify Import", name, ["status", "error"]) + self.assertEqual(status, "Failed") + self.assertIn("Click Resume import to continue", error) + def test_an_import_with_a_live_job_is_left_running(self): name = self.make_import("Remediating", 30)