From 4cc5f4f7b1ca5b6be22125d51c22a44fc22318b1 Mon Sep 17 00:00:00 2001 From: Timmy Date: Fri, 9 Oct 2026 08:10:43 +0000 Subject: [PATCH] feat: user-reported hard-stool follow-up with deterministic red-flag handoff (#67) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Field finding #67: a hard/lumpy (Bristol 1-2) entry now asks a short follow-up before saving — difficult to pass, soreness, visible red blood, truly black/sticky/tarry versus dark brown, and dehydration. Every answer is user-reported and starts unanswered; nothing is inferred from the photo, and answering "dark brown" never silently escalates as black stool. A confirmed red-flag answer writes the same symptom flag manual logging already uses, so the existing deterministic escalation is the only escalation path. Mild reports get concise non-diagnostic self-care that states the photo cannot rule out bleeding, and it is withdrawn whenever a red flag is confirmed. - src/followup.js: pure follow-up contract (9 unit tests, tests/followup.test.js) - app.js + styles.css: follow-up block on the safety step for Type 1-2 entries only - tests/followup.acceptance.mjs: browser acceptance incl. that the AI suggestion surface still contains no symptom wording - CI + release builder gates: npm run test:followup, syntax checks, manifest gate - scripts/record_release_demo.mjs: records the real follow-up, mild guidance, and the black/tarry alert handoff with synthetic data --- .gitea/workflows/quality.yml | 1 + PRODUCT.md | 1 + README.md | 1 + app.js | 34 ++++++- artifacts/followup-hard-stool-mobile.png | Bin 0 -> 185722 bytes package.json | 5 +- scripts/build_release.py | 7 +- scripts/record_release_demo.mjs | 20 ++++ src/followup.js | 66 ++++++++++++ styles.css | 16 +++ tests/ci-workflow.test.js | 14 +++ tests/followup.acceptance.mjs | 104 +++++++++++++++++++ tests/followup.test.js | 122 +++++++++++++++++++++++ tests/release-demo.test.js | 24 +++++ 14 files changed, 408 insertions(+), 7 deletions(-) create mode 100644 artifacts/followup-hard-stool-mobile.png create mode 100644 src/followup.js create mode 100644 tests/followup.acceptance.mjs create mode 100644 tests/followup.test.js diff --git a/.gitea/workflows/quality.yml b/.gitea/workflows/quality.yml index 830a5e6..96c4c78 100644 --- a/.gitea/workflows/quality.yml +++ b/.gitea/workflows/quality.yml @@ -54,6 +54,7 @@ jobs: npm run test:sleek npm run test:manual-fallback npm run test:provisional + npm run test:followup - name: Dependency audit run: npm audit --audit-level=high - name: Syntax checks diff --git a/PRODUCT.md b/PRODUCT.md index 0f9182b..b41978e 100644 --- a/PRODUCT.md +++ b/PRODUCT.md @@ -29,6 +29,7 @@ Most stool trackers are sterile diaries. Most AI-health demos overclaim. Timmy c - Smart free-text chat with local fallback and an optional fully tool-capable Hermes backend behind exact-origin authentication. - Portable JSON export and delete-all control. - A Timmy voice that is playful about logging and serious about red flags. +- A short user-reported follow-up after a hard/lumpy (Bristol 1–2) log: difficulty passing, soreness, visible blood, truly black/tarry versus dark brown, and hydration. Mild reports receive proportionate non-diagnostic self-care; a confirmed red flag routes into the existing deterministic escalation, and dark brown is never silently escalated as black stool. ## Honest AI boundary diff --git a/README.md b/README.md index c81f2ff..3c14257 100644 --- a/README.md +++ b/README.md @@ -113,6 +113,7 @@ npm audit --audit-level=high - Free-text smart chat with real server-side Hermes session continuity and local fallback - Authenticated, same-origin, bounded browser-to-agent gateway with no browser-side credentials - Red-flag symptom escalation +- A short user-reported follow-up after a hard/lumpy (Bristol 1–2) log — difficulty passing, soreness, visible blood, truly black/tarry versus dark brown, and hydration. Mild reports get concise non-diagnostic self-care that never claims a photo ruled out bleeding; a confirmed red flag sets the same deterministic escalation the manual checkboxes use - Manual fallback that never depends on AI: when the vision worker is offline or disabled, no AI or consent control is offered and manual Bristol entry stays one action away - Unsaved logging drafts are retained in the session with an explicit start over, and the service worker never caches analysis requests or image bodies - Local browser ledger, calendar, pattern summary, JSON portability, and delete-all diff --git a/app.js b/app.js index 0306d4e..0830a20 100644 --- a/app.js +++ b/app.js @@ -2,6 +2,7 @@ import { bucketForBristolType, buildTimmySummary, detectUrgentFlags, detectUrgen import { mergeVisualSuggestion } from './src/analysis.js'; import { createDraft, draftNotice, isDraftDirty } from './src/draft.js'; import { changeVisualField, confirmSuggestion, createSuggestionState, provenanceCopy } from './src/suggestion.js'; +import { HARD_STOOL_QUESTIONS, createFollowUpAnswers, evaluateHardStoolFollowUp, needsHardStoolFollowUp } from './src/followup.js'; import { visionReadiness } from './src/vision-readiness.js'; const runtimeConfig = { @@ -36,13 +37,14 @@ let chatError = ''; let chatMessages = [{ role: 'timmy', text: 'Ask me about your confirmed logs, visible patterns, privacy, or how Timmy works.' }]; let draftResumed = false; let form = createDraft(); +let followUpAnswers = createFollowUpAnswers(); function draftBanner(){ if(!draftResumed||!isDraftDirty(form))return ''; return `
Draft kept in this session: ${esc(draftNotice(form))}
`; } function beginDraft(){draftResumed=isDraftDirty(form);if(!draftResumed)form=createDraft()} -function clearDraft(){form=createDraft();draftResumed=false;suggestionState=createSuggestionState(null)} +function clearDraft(){form=createDraft();draftResumed=false;suggestionState=createSuggestionState(null);followUpAnswers=createFollowUpAnswers()} function resetSuggestion(){aiSuggestion=null;suggestionState=createSuggestionState(null)} // A single place where provisional, confirmed, and corrected AI states become visible copy. function provenanceBlock(){ @@ -52,6 +54,32 @@ function provenanceBlock(){ } function refreshProvenance(){const copy=provenanceCopy(suggestionState,form);document.querySelectorAll('.provenance-note').forEach(node=>{node.textContent=copy.detail||''});const container=document.querySelector('.ai-provenance');if(container&©.aria)container.setAttribute('aria-label',copy.aria)} +// Hard-stool follow-up (field finding #67). After a Type 1-2 entry Timmy asks a short +// user-reported follow-up: soreness, difficulty passing, hydration, and black/tarry +// character are never inferred from pixels. A confirmed red-flag answer writes the same +// symptom flag the rest of the app already escalates on, so the safety path stays one path. +function followUpState(){return {...followUpAnswers}} +function syncFollowUpFlags(){for(const question of HARD_STOOL_QUESTIONS){if(!question.urgentFlag)continue;const box=document.querySelector(`[data-symptom="${question.urgentFlag}"]`);if(box)box.checked=form.symptoms[question.urgentFlag]===true}} +function followUpOutput(verdict){ + if(verdict.urgent)return `
That answer sets the red-flag check below.

Timmy is not diagnosing you here. The answer you gave is what triggers this, and the check below is the same one manual logging uses.

`; + if(!verdict.answered)return '

Answer what applies. Anything you skip stays unanswered, and none of it is guessed from your photo.

'; + return `
Mild report — general self-care, not a diagnosis.

${esc(verdict.note)}

${esc(verdict.seekCare)}

`; +} +function followUpBlock(){ + if(!needsHardStoolFollowUp(form))return ''; + const state=followUpState(); + const rows=HARD_STOOL_QUESTIONS.map(question=>`
${esc(question.label)}${question.urgentFlag?'Also sets the red-flag check below.':''}
`).join(''); + return `

Type ${form.bristolType} — a few quick questions

Timmy never guesses these from your photo. You report them, and you can skip any of them.

${rows}
${followUpOutput(evaluateHardStoolFollowUp(state))}
`; +} +function refreshFollowUp(){ + const state=followUpState(); + if(document.querySelector('[data-followup-block]')){ + document.querySelectorAll('[data-followup]').forEach(button=>{const selected=state[button.dataset.followup]===(button.dataset.answer==='yes');button.classList.toggle('selected',selected);button.setAttribute('aria-pressed',String(selected))}); + const output=document.querySelector('#followup-output');if(output)output.innerHTML=followUpOutput(evaluateHardStoolFollowUp(state)); + } + const urgent=detectUrgentFlags(form.symptoms);const box=document.querySelector('#urgent-box');if(box)box.innerHTML=urgent.urgent?alertHtml(urgent.message):''; +} + function esc(value='') { return String(value).replace(/[&<>'"]/g, c => ({'&':'&','<':'<','>':'>',"'":''','"':'"'}[c])); } function loadEntries() { try { return JSON.parse(localStorage.getItem(STORE) || '[]'); } catch { return []; } } function saveEntries() { localStorage.setItem(STORE, JSON.stringify(entries)); } @@ -181,14 +209,14 @@ function showLogStep(step){ function stepBody(step){ if(step===1)return `${provenanceBlock()||'

Choose the closest match yourself. Timmy never treats a suggestion as fact.

'}
${[[1,'Hard separate lumps'],[2,'Lumpy sausage'],[3,'Cracked sausage'],[4,'Smooth and soft'],[5,'Soft blobs'],[6,'Mushy pieces'],[7,'Entirely liquid']].map(([n,d])=>``).join('')}
`; if(step===2)return `${form.photoDataUrl?`Private entry preview`:''}${photoHint?`

${esc(photoHint)}

`:''}${suggestionState.suggestion?`

${esc(provenanceCopy(suggestionState,form).detail)}

`:'

Manual-mode photos stay in this browser and receive quality checks only.

'}
`; - const urgent=detectUrgentFlags(form.symptoms);return `

Select anything you have now. This is where Timmy stops joking.

${[['blood','Blood in stool or rectal bleeding'],['blackOrDarkRed','Black or dark-red stool'],['severePain','Severe or constant abdominal pain'],['vomiting','Vomiting'],['fever','Fever'],['cannotPassGas','Unable to pass gas']].map(([k,l])=>``).join('')}
${urgent.urgent?alertHtml(urgent.message):''}

Not medical advice. Heavy or nonstop bleeding, fainting, or severe worsening symptoms can be an emergency—call local emergency services.

`; + const urgent=detectUrgentFlags(form.symptoms);return `

Select anything you have now. This is where Timmy stops joking.

${[['blood','Blood in stool or rectal bleeding'],['blackOrDarkRed','Black or dark-red stool'],['severePain','Severe or constant abdominal pain'],['vomiting','Vomiting'],['fever','Fever'],['cannotPassGas','Unable to pass gas']].map(([k,l])=>``).join('')}
${followUpBlock()}
${urgent.urgent?alertHtml(urgent.message):''}

Not medical advice. Heavy or nonstop bleeding, fainting, or severe worsening symptoms can be an emergency—call local emergency services.

`; } function alertHtml(msg){return `
Pause and get medical help.

${esc(msg)}

`} function bindStep(step){ document.querySelector('#discard-draft')?.addEventListener('click',()=>{clearDraft();showLogStep(1)}); if(step===1){document.querySelectorAll('[data-type]').forEach(b=>b.onclick=()=>{const chosen=Number(b.dataset.type);form.bristolType=chosen;form.typeChosen=true;suggestionState=changeVisualField(suggestionState,'bristolType',chosen);showLogStep(1)});document.querySelector('#next').onclick=()=>{form.typeChosen=true;showLogStep(2)}} if(step===2){const color=document.querySelector('#color');color.value=form.color;color.onchange=()=>{form.color=color.value;suggestionState=changeVisualField(suggestionState,'color',form.color);refreshProvenance()};['urgency','discomfort'].forEach(k=>{const n=document.querySelector('#'+k);n.oninput=()=>{form[k]=Number(n.value);n.nextElementSibling.value=n.value}});document.querySelector('#note').oninput=e=>form.note=e.target.value;document.querySelector('#photo').onchange=handlePhoto;document.querySelector('#back').onclick=()=>showLogStep(1);document.querySelector('#next').onclick=()=>showLogStep(3)} - if(step===3){document.querySelectorAll('[data-symptom]').forEach(c=>c.onchange=()=>{form.symptoms[c.dataset.symptom]=c.checked;document.querySelector('#urgent-box').innerHTML=detectUrgentFlags(form.symptoms).urgent?alertHtml(detectUrgentFlags(form.symptoms).message):''});document.querySelector('#back').onclick=()=>showLogStep(2);document.querySelector('#save').onclick=saveLog} + if(step===3){document.querySelectorAll('[data-symptom]').forEach(c=>c.onchange=()=>{form.symptoms[c.dataset.symptom]=c.checked;const mirrored=HARD_STOOL_QUESTIONS.find(q=>q.urgentFlag===c.dataset.symptom);if(mirrored)followUpAnswers[mirrored.id]=c.checked;refreshFollowUp()});document.querySelectorAll('[data-followup]').forEach(b=>b.onclick=()=>{const question=HARD_STOOL_QUESTIONS.find(q=>q.id===b.dataset.followup);const value=b.dataset.answer==='yes';followUpAnswers[b.dataset.followup]=value;if(question?.urgentFlag)form.symptoms[question.urgentFlag]=value;syncFollowUpFlags();refreshFollowUp()});document.querySelector('#back').onclick=()=>showLogStep(2);document.querySelector('#save').onclick=saveLog} } async function handlePhoto(e){const file=e.target.files[0];if(!file)return;try{const result=await compressPhoto(file);form.photoDataUrl=result.dataUrl;photoHint=photoQualityMessage(result);showLogStep(2)}catch{photoHint='That image could not be read. Try another photo.';showLogStep(2)}} function compressPhoto(file){return new Promise((resolve,reject)=>{const img=new Image(),url=URL.createObjectURL(file);img.onload=()=>{const scale=Math.min(1,1200/Math.max(img.width,img.height)),canvas=document.createElement('canvas');canvas.width=Math.round(img.width*scale);canvas.height=Math.round(img.height*scale);const ctx=canvas.getContext('2d');ctx.drawImage(img,0,0,canvas.width,canvas.height);const sample=ctx.getImageData(0,0,Math.min(canvas.width,120),Math.min(canvas.height,120)).data;let total=0;for(let i=0;i{URL.revokeObjectURL(url);reject()};img.src=url})} diff --git a/artifacts/followup-hard-stool-mobile.png b/artifacts/followup-hard-stool-mobile.png new file mode 100644 index 0000000000000000000000000000000000000000..abaec8914264cc2697be3e8a1335c25a498c7c7d GIT binary patch literal 185722 zcmXt;Wn2^9_s3D`-somYNR1dsDKKDzfzqk45lV-Eh+@Eijoe0!QiOqYgM_HSC<&!o z1rcdQFyO2B_y6Gc^xg;ebqiJQy^}mWk;cHxm;pjs5Ju zm9ojvcT7zDOc<1reRSb&H;bN25M{(N0vo1frK<807@3iaW`gm z?Xsgs+Tq2Yp9=4c$L4it*oh3xLk?<)d7a;SN51|dY`B|CGx*Y2r!OlMM-K8!l{>}VRfvRZv20Y)1j4p-Q?C> z$FljVYDw(Sd>LB&$09pJ=HFf@=);Sb5_RDg^=H6>Z-dt_Eq#s@nrmRn;#ZSbUv`5* znzTptV}4<2_T@U*OiO3m_zd>nim>SNVCZ;H?Q~1K*ifEFAj2+*-CFw42N-kGyevluU&JR*~jtp^C?m zebhpn36zJU^$hi2K-SMnZL%1#V%k=%CcW);DYSIiACIlZSFUBTegc?4n5)>Cm}LF9 zO)>21Q8&D{XQzsboe1MYtAh>tPluK4bsAir;vFfs0V9kG6*H_WCA@Pr>6$qo6tW5rbV_Tr+^AF~YGQH&+RpGvESru(yXc3Qb6~Xy z)eI2zrim=+>Yc^#{qngHZqO%M(q?^anm7Vs*o3xGRKny{roCd}WO^Wqp4YGWg%{g@ zgdssG!ujiXVKnuL!c^$KrXA$*ayj6sD>#Ra{-%r(1EUg$3NVw{6YE*oDXZ!bE1r)W<&g5MGXgX0jhN|IrJlc zh)AW}!HI4Ym@_{9(lwIVf-lO!`6bV8%*XZjCXQPg+@MOOr z%JY5cX0(>-bIpPEYG}@z#_RUleD_8X`MwqwUW4YWjapidKq)X%5HS`poHfivE#_M7 zb2%6?^MIZnt)h(~$Ov zke$VHgWfXr0u#0&~Ek?yZb3rw6K`!Q4I z%YX>3i5?1{P>^NVj4d=)u#~-J<>@1Dw;lC#nndBX9!=&m0+{e&`pFo3fux!~arv#d zh?#oKDvjVoC?<`$NX88tDdTR+ivWf%*qnN0w5{||v%U%lWFo#uf+*P-T^X&4L#d;QKNG!Vok(Z|dxC7EkIJy+c&5$|dWPUn|F@(8tH~?8NimIb~-#8I`9KD=*-i?BBhkRN->Lod|FYs zxOJBMs@SW9T0x-8$&*icS)o9x*qoIrKLpTniFsu$(3Yqtfo1A&v_xbOQPHkWECgSN zZzTjp=+AOUPDQ{D<*w-3WmureJX|SRwl|`cm{378oP6d9xwm`eZ!p$^B19cK(q9vG z{Z;qLVw|1w{gJ{5!`oCtB4gKrx(`pJoi1iR(ssE1!neJ_!D{W{305NP{i@%smtv0d zKgyh2RESI8_ig@Kt##iASHb>MQIY-&n6P5maYH*R6lvRV4wvaC=NFdlq1-$r#Xg!d zfI0japy^w9FEW+8nSZs_@+jmk+r%yWf9Rrd40D2a8oyS|O z=#q@Ql%f3+=iw-+J(!Z(JDJ}O_*f~Mtqyw8LM`kA)nux_rLFtwK(+EnOy~-EXF12l zQ?nCg8f1C8a_keRx{L?``9k6z{FjoxNrHc1c@`Ywq-{Hj;r$w>Ir@`pf}#d0H?fN8 zvudJs_yJ~Ra3vu&hT^)$e*#0o8=JK|9ng%zNF$ly_q#`FPae-KP8y1TG7gUnh2)J` zB3~pXqe#jx%GtWm4^dZ=n8;#u(VCN?LV#dw2U{!r=WZa!;o;_Fv6?;>02_h#38 z9bq+tsaH3l1+V# z`5%YLzALqgFCzta3>8Po?aedHGp9v0Ahpi2$j7V#mYl=WiY$03hdftpPg}gm=p+IVBF3p8EOg}(3d1NW;69(4=9DpWTE4>#*H*(% z4yu7F!_j05+9vONRG#iQm6i-LQdR%bS zm9j*`1~bhddZj#A@3$wghx+*%2!PL;5cSsxxO9&!s_p9n1Wsze&;~tphPBK_n|vH| zHlZ}vy8#X4)?+~^Tu3kGAhj%vSzRVBk%KXK?cCyuq-UdO5wlw3Kjpbukw5yjmCW}_ z?aE6EneFawlvN~_q0fcRK7FgBgrR)0sp)mx+#fv%y-i^5k#%!DdLQ>4ZEMFMo1s!M zmbvWG3$C%akGZz}i5ICy5B=clwsLumHfWUny+sjUO#u{;QpTb_ldkVgEaY~-tFZxO z5hy^Xy~4b-QOf1cxi#-$J3lbX&~nP^(ldaUF&nMv!Z`K^?E;gB?h2{XB;y8><6D-y zw}RAdV=2yXibVVDWyI&arx(zNw)TD0?wlr`>UYKa*Fp;#3U9>pP99VP&5tuk8_D$lR7rzkbOuUeIUDoCpmH4eMU_e(yhKX&P;#6pPR?uj zeH4Yq(zhDe_=U&jNMspqEsYBpO>}CjHJ)sJh?BIvn80$IzQ+ME(FFAV$whVXsNbd1 z0317zfX-Dk#UgH-LqMfSZAx6Yh=Ib;RdTB@Vo@MbGdmJqle@qi4&tVM(7({N&81qY%-9jj!nH`Hgj&~L8$JzlJk?^dUj`Q@ zlYYn*oC(ip>4R}V%5ONLea`_Ai3?d1_UF7u+11x^ z-nr!Da$pEqR&tDvHg#_E>@ssd&pGi;RVB5uYbn4@4Jo-it(!UiR1gHJ^m7+jB*R`f zr0NYoHQz!vq_zmC<43?rXN~yF;$8E@(o9yvzyNDoh3v^Id&t+2{m;*#)#ndyupy=I zd zmW`+}j&MHcr~%nt3Y9cp!Hjo=(OHTyG1I{XX?}p%e2JCPpF_@<2Ts8sU~2xCMitjg zf_mk_=c^^D_eE0r>NHdq8ur7|BXCdiXwh|~id5Q&P-Cuz^>tlGWf>4_!H+bx6+hmz zG)^H@@io|__NxCJ_pQVgzBB4N@lc}IHFbr|JX7%i_&z;M>Ax`S!G}#FpfPI;By8Fs zM7Xr7nouQgqd~N4zG@CE3u&w>qv=ABjE(lWKwDdgRtlXUN(K)>5J8r*ADi}GoNE|V`SRv@$5`Ik9+nE~Cn$mZ2g$Aan&8A}QVU@!0u@d@ko}C__ zpU{G}p|e)@I&r@NO{zIY3vUL5VLzeJIhhTcYB8k!*~7|7-|fcX(|kB8P8U31Xal)M zD3oE6BsR=##SQ$X#2FY`n9vyEP-Ih$pVO$heX9WE>K?;+!NSl%!N%%s51-u!#(+CZ zFxH%M&N7F27o4+BJ|k!N3H0se|5(7IxX$6WSxX&;^wa3x9QJ6p+P&)&`7^f6UTNa! zPD!w|td!+)e%3VCascnDq-wZP#BFaCR*ja;hu=NiHwg(wl?`fWp|(G-u!zoFpf(uy z(RZM;VxN2BiJ&5z71N^{LuSJnn0lY5+Cptb<7E$@NlwgGk;q`tKaDh#flt*D5 zSG!o2ueR=EpEUoAT)5i0PtUY9PW)L`IVw%kMwicm8jrK;B)y|p!ALlsD@Z^&1Wu$W zVUCMZqwhg&V>u@q-%{eElU2Bhc7g6{Vph$^;+P!!rc@o;&u~>A{nf)W0P`mcLQpVop<3`zi;hS_`99wCMQzZ=_s zn&@&a@j~j(d1ZR_4VC{A=)Mn7TpxTh;hvT#Bv<%dr?x8KY{V69hB$@yR`%*%?R>1_a79o;=-Rg~DlM z#oGDeLZBs$18_4c0zkjxUmb5FZ7Sv07c3oVQGk42e)~qiqC!pZS5Jl#rt@r1?>aIL z8$+6(P7XW6Q4Xrjk}q)tnynBO!lRVcANvGlz110ZS3q3oaatIl$~WB*YMd;=IR>}U z9Qdm_z3LBKaVr1)dVVRDR8*AJ0MRlk6A@`FF5w}uH=pvq5*_G;^}9D{kszYnU@1Wm zy&Ja#3eDP6fK0u)H+`y)ln`pX@DA+IoAYWO#M#}wfpDSQW-SLu!E)*)M-Us)Xu^c{ zOi14joeWgT*cF(_5a5QPo%pKYm-5qwFd#p@zA8g?tOeF}3u3p1m8W0KyI~TT-_uii zLA+8%@FCp-#Ah3b$w!culp?xP;6}vt9BAZo$1{C~z_8M~82(H&z@8c$j%S5=cP?rj z7}1REwP20A!{=-l?|l?K5CM2u!fSd*tywxpA&IWwfe}Z|h0*|-pc~T_5p7dymjDe zuy){O#y;>$EzgNlX_7We(*j;z8VG8zvbOpG(jFue;jsFtGZfNgX)*POQm{Zk%)Qej z(KRCnbNQMYdHUUpm!B2#RZ9%tHj+;G{?gq+7AJXmq~kQhHA(YJVB|_*%@D}cm9Qn_ zlVScHRf4#qzew4>;T^%Nroo*BZRHsa zIK~8vfcpDSlMOGA^-CGAlrN$JnGke9Oh2ee1TaeI$}h+l^}W6*5TYqVHhXQT5FU2*c=)xCx@E{xe}O|n zSr@s5&sR>QIfuqSLfKGWo&?c_zUvNR-92xe3snkot0dGmFO>`z{aUwKH;ITHjslv< zAezbIW*Sln7pkC~Ns*R7+{d8h=TLv>y`SpOAVF>U8;R>Ut_z<1CT<8BKQpLtJ9SFL zpUyef_X1dYZuU*r`7xBUkmvxU&C2d!35Ile$7J-K@5MFW`Bb9ji5bnOKYB`8z?>@B zyC$;A7Z&>-uw=#ilOMszSCE(=GB94VJZeeeM6L~NOW!`y)sEZow-B*)*AB}TeB30Z z`L-v8aUJ{GGnKo`FU^jUapd#LhhMLmJYDAU3D72)dm^#$%61}H!^^;gq-<8>bZNQL zO?tYq$R&+-w%ObbsU`v!4ual;J@5Kd+5U2Tj}9a$W<%dQ9qzV4&qK@EqPNStPdwmf zvep1)yrvGQ)HiEvCp*uB%{V2_o(rp%8hN?jR?Aag$;ly*v6fBWKax*W?9W1JR|cq~4KjE5{kY5#CDzQPRMpC(XeiPFbstQ9{VMKYAV*fO?;I6x$qU_1BVvLz(9WIg!g01mhL7gp^dTZ3^DdIh;^g`i` zjksFnsy&XK6hFu(6X%r*=?uT;C%+_HH9+5+V|-_lC%y#s?%(`uIfBoC4S4vfO;sCB zTDXG%6RISB1h8f>J>l}AQ|}@)tcFKS*EEI|X&@#V@=A;2ch7_VmWD9C&6mt~M14~t z{Z;4tP)hPi8(2RM=U)wD3>YP@_A zQEuRtZjQj-)Kk6kdGM_*L_!9Ytf!S!I$YT^BXq}zmLse!b8y}Mw5I;crOuyJL+;Ps zwrl$usEe4?vGzJp z;?_qXrU*F5gGnqK=f~vNrzE+OvT`#jUZAV&C!6SFr*k=lNAiCg>S(`A(l&m_W1ocu zN+GmWw;WzoS>AM=HLT#|0I0zKWgj@PC|QBmMiu~H&WqBp7kX(=H1P^l+Lrg8j-{+u z6rS_+#$NsS*+T?5@aI7!sA@}!Zv&~HBCQn+8dZ8px|?t_lTI zlbN%5?$~D@!hcwDkE$(2WrP`8@-zM=-JqF zK4UWx<@(z}5urm>nPh0JyU`J$Ocavn1pa9zY`~FePMN%NN8eAD6Hv!Yvoh5XOz8Ls z(2y^hGX-iXZuKfE2cz6)@rO8-;cwTU!WeT~I!3iH9Ub`WD$ z`DpXHgxePr8$P{4v#XOg9A3Q}ONr19augu2e}|+lyC~W10zD^W-;I8C%J3}E@cPDb zDd%7R3`V^e-|fyYs&`SwOiY4?#(VM?>24ml|q2ISoUw3^!GM%8D{t&I z&M=Y_yPbkjB=N2Q{6{5f^+~zrzh8VX=mxP9qG|KE<`sU5FiM?1c^jh!i2abZbhRA{ zA60+SDT3?Qb`uLa{OTPUX>^XzN8ExMn{7_qh=Q%Kh&GOka7>khuX-e26G-*NnH)7V z_BW_~@;Dk=Qv`$sP%GO$xlP)Z`aV%9K8~7I80KH7d^Or4CuaX0}h$r-+;PK0S*OpBCMe zQLHfAj1Sht!*UvYt!+oeae;Tt4<+Jt+ymRr<~ZMT0}BZP8^0enSz0?rAR9S*)S928 z7-Ovl##dwg*oN;KUx4a_0%O1X5puhp3% zmoI({I18a06Kr(L?NdL@{}z1nEk1gx{^IE!dS2M`v^j1|*NgnKKiwjL$yXIkkqQ_v zha1aQXzXCX?o|{ z_7dlxa+E{vS#k=W@#d8^i({CDe!U%eN9TU|+_#>`$3=bSLH>=+zt_$%E<-K6hZNr{ zwW7fKR$dD&A({8_!3IT5(A4rq*2g(%^3wPxCSLQqy(tg!c!FiT+1 ztAU+Vy%;WAjBKi;iU$@SWVIG}7pw_Dy&J5vG_;ce;L*?#uDOb>bl#k8^X)G`W;PD| zs?C5Os|0|8NXpO{lUgdt7(4Qk9R zH)m%*#qBrI-$a@$zPbJBSzXS&KPLZl^)`4np;bB~Mp$1usPRDqa-eiHsBfE=zn{af zy}me5`pGobhxCFw=L(*%%hQL7i7+m2GuJ5c{IeH2+D2DKDqp)e+MKrcYB#cOHVV=^ zjC(yY6Pdws{ldr1P4k1dli9F6xb^Li+Pu{|akM*a0P>beY}1qA_jUm$^-%9*(_e=6 zVy;rpEp0t2a4u;WSh;xLMAV`p^l+8g#pK&w+pI8Ns>9g&eJ#17!0JtRIa8FvYb!bR zdLhVN5W9KPbMuk>$j2sZvXwHs_b$Dblo;61z@LIO-=W``{i^Kut%T-h{rYX^&Y6QJKFMJqU$J}h&iBLExX*;P?9IYW z-ocbI18vc>8{;pQ+CFT&1~+l4mzk1doqP+j+2MC<{}|h9;RXj?a?`{}ZD~3`K0dk; zXDnUZDB!m7$b{?qZ&;_Mz0AY3I=e~CGWRRs%rlZfwQNVj!HVIVaP7};+ngh*bDKrB z&$AbSR|{0VfJEBhaC0H(JFYjGL6pAZLuyq+{qc*%wv_8i&ZfvoRt*O&Fgow2_s?*Mv549nG|S9u zT7CUJ08^4gf@cJ3kF0VS_rA?}K#Pis0ZWtV(&HOPSf6@=->Wwcjj zm+^H1rmTX3*97L2<>d2Itr2i4*#P+Y#i*BB#~6Xi3+6j9QKSsaCYYPfp61;_%_{n{ ziCUe{6{3b3p@XA88Su_yB>nilnI_hDwW#K(46r95!pAv` zCT=S3MTwhFosXkUYOx4v)Nt_jrg4qF4PloNHXOCjny}{j7;Kzt%+!I&!;>#zEZn zcZkR?8z+x#V-}p_(vY{`X-PPwgFVOTju+h|wEEktwrY?L z>hiA1JZxPv+KfH<7s@kMpCwV80u5SQ4=(Qu{;K)8=a0ep{qRnnq8ClUEG|OSG<|B8 zK%=xcM@IoQ9c;V15lu=HPoY&jH!&3dYZGM74Y>&L=N^z(uv|?C zg)JPdRAqE3<`vrzUvYEr-%AMWgZSEi2!P}2Bw!qaO5C0GsWd5Vcp33~@fK8as};)L z?{_KO&!DMMvNA*5IlAU8Pw1k2;dW7N;LJ5#$rkkA7h!V%IO9aA$R+;x;dff?x1U z@;zRqIlu@9*3oktcR|gGsYXbSNwN|h0riXwpufr5shbPEAk&R>%h+Ej&I%xYVsWg-%KCe zNNM1a0MC^c@UjQ=XG^;srhoPPv7un)3ixv=lcuRj{{0$haAs8XY#i3%$G%xQCnc*038PFbbq0N}MX)<&=5i(19gi zt*H6P&=tm>i`Dt!Ot6}Mge?|Sc4xL}?w9}OnLQ$ra~PUYlOz4Hx~#LtpnHoQ{|**q zZ7f>qK^^??OJ+$S=wCM*Di|;U$OZOVx*dUZf@bTa=asy7>p8&tFyumW-(vh==QdSm zcvF9*)ci|hI}hf5B#TX;WhW|2JoHi6N{LB(zHyTyn0jW|Te3GSKa21n9js7gocs^h zTEEp-9r$F71?9aqN;I1=Ag8jlf4@3fTQKAm>U?F?xq|DH7G&{(#LsDX;7e#hu_iK;+eJ4`%I`u<;4ygHC|$NsTGv-M=S5~E*LujKuOd@H-d z@zt9j0gopV)BK;^Cx6tVT&dc8I%AI=(SEu#;U0o-J95mftxKMFt_XJY8HoeWwxi>J z`~WKSmj5Ew`aW2HkhDk=4HuJE0(>#*N{aTiG*9Ow(F`Hbi{?w*r59pN;El%ECFT6o zKRNxZM&Ts`jkD7Y6X_E7iK}g8KY!PJf;>+X@mT8t_VaFuF7<9qVtPuENl^w}^V#!g z`PnVceY^7R|11k$?j3CIm?lzw_^ZLrL^_X&KE@d&MK^E87We@RgMwjC!?pMV_a(v< zOIO|&H1+R9FopM8gF14|Ct1Dc5~?z%?RlUpQVh`m0dIca#|S(7ZK#gPMF3D3b#W*7 znAHkMIv2Fq@W?#l%74lFyBd?Ng~A52qb6${Q{xRtjqw*}HA`tZg{M6gOubiIIjEmY z{DPN>mTZ`7{4bFF>gBH_?qSS?ybk;YZYGXmFe1K%`Dfh>)eRKV>Qd4RkqQ7W7zWSm zH5)E;ZOxSiX{>_fZhNrYJfY$cmo zO{x4-7F8ZdKq_|IS5o@P=dq6m{0C=`P`lwSFrY7D?U}S*_Un+?VykrXksQP2@}I{i z;4=(o8}^-CzD#yz5YCY<&es^Az0PG4-Hte$@`h*s)tZbKfnQ8d7h9QZG&jZRvl@!GNoNyjwMwg*#V;@Qw3fr#`2jrhFI z*OyeF)5+vCD2pj;RciuF2yknCID_J`-C`8zV{;C zzBz2Z!mrLdW5VHs&_38m1>Dk>3ma`7yB5}N7E>|HW5S?C5ZXijA-9chq7vdm#D3A+ zS|_Zr(`eCK(4lV=^gHaU^+Tp@rY)^C~<&95p;_~^h=`$wvm?@!oPLS2~ChOCc8)j2It9MYQtCPA&veJ0yNJX zU>5%D`s=f^+6Uu(YNfapYikBM(chSu)(3#F8cCstN%v7>g2>q1aN$ap2|SP`MT<$M z`zt%^nUOwuF2?97isMU9?~4Xx%1B^I)3(OaQ+LFJqL-9+x$_k_daz|5wf36j>OjZ< zrh7)BM!jn$aVO^Y6(nRLz}T@+tN3Vc=HBYLC2ay;$%M9q4C-&&3o^bBYXs|lgohM#PHcvr&@Xam}! zzAFE(S%B48Epuh4rJvv1SRO3be-kb@9zGy(`(CcaZf>_yn!feyK>yK3ixxA<_-(EAi z9RJm0@w=bS8S$XAdTFnzR0z4-)IuV8N}oFatI+d>EentW4**O6SWPQzdR1hvLbjd> z&&vI-4*rX~-C2lSFAq>M{kR2`{HITDPx8Be2pwwRmLCmOK)dX2xVH@mC6pEhII(9M z=V_6&kpl&H5i;R&SV=$gn`wj@?Y2+}pzz-&Jbw3AXwR3?8*gOLFKpKyJUf>YfFlEz z@If*x6dH0Y3tyzU&TJ3&);YdS-20|+u`zF*wQ*&qhD=o8ZI19{lO+(F_3>|3^pQ5w z0FaDvh%d%&h!g2!w0+$8R)4#>7~w{sh&~cW7oanCnWNXz|Qj%z~7ad@{$(r^#-7HVf_2T#I9MLqo_ny{IQVw(EHbXpPhQiOP# z55OhK`a55|G%p0=R6QRmu=2Z(zjO2#U00;P zn||*+-{{E(*zRiyWYt?ZF(0Fr$dz?S{xfIG9rx7`+cv+0+z*XofgQ&bH=g5^Kj!Bd z?!`kxwZ(5YNd<(|LvOm-InaJ*?Q1zc-{{ng#Y=_ei$s2^;X(WQ(>!kr*mZ_tM*g{_ z%(&9v&{zA5sfc7Oi+RTbjdbqeP~)bDd(YV4F{8h%G3v{`lqok>#DLg|6E9(kbQb+w zrEVs@py0O8^&_!q6*<~nn zM6*}?asP+sUv15m7RcPKz19ExkN+yQzi)|4E7>dILS$_MuEb_!g*AQO3PMuH2@OdwiR+UL{(-ywK^f}DJRboN{g{J>FpyWz zL(v0?{yHGh#tQqUk#kiH3NKYzLz%TM9-kyM4(ARU~qW}ZW6NUrVy>V1Cplbn<3Ci8Zg zdxl*#_$iOl9E#o1Y?>cPc?*7Vf=*Zag%-$F{#ZUOu68PBj!tkk+<8fAoQRgqF%(_l zd+&oX9VIynGOHUnihEGxA?zSC3gHcU_c!sY)%LAa{jFGmzn7gqR&28`jAU;n$0HqZ zaq|JsOVKGeUZ3;J9P0o5)dV7gE__ivn9v_tVA=yMymIqw;-ger9nJwC3u=^#6=>e5 z$eiwL6)O8)ieb#0*+tp*3Q@HbSH(A+WK+yn>KD>l4z$1vk@k^7zGp3$gy3=O_)j^R zpFYQhiUlcE6sJ`xz@d@DM`}N!4b~3Ruc&|*DzfxT8rnSNCv(i#0tEb48ozh+Tu~#A zeI6X>GHut;KuTlRufuQJm3qj~-p39oo>9^*Wu;5>g+F4DhYEX(J!4n_FPzU9_ipA1}S-~ft=4N1@)E3HrWm! z!*nX#WkJv~T{f95ew`7OX4)o|8>t@fc^Jj{*lC2pjJq6O(-WS4Wm%%}Rt~-g8$^6l zhn-0X>b!kWxn$rjALD(7;pVQy0>`_KhXI8X**(&j=4&2U>0(X-sV;yBswuR;f?Og_ zj(DbO<{Yh}wiRRrN+7kVQB|(Byu_KXa{Q3tQYgrElm-%!W>D!D0iHbh@}~CsDvB z=qmn>H4HFP&1yL^SI&$-R6x)cIjm^;hQMa~@F$rMxE}UYq|mRbrRM=}IoIF8KVyTS z=zZAOl2!*~Ny7!}yXviPa)T7(natn!Yce<86H&UR&pt2^-)1fi*3`xQn5puT)RX(8 zDiPIpa_j0Nkef-{tc`iw`GpjT3%F8R`idGL@?lg3J(G|r|8LAu5jqvNZRyvcGASMa z8XUzkgfgVi+Au#$dA};ORF@Z?r~or*NdBI{FA+Yg!kudR?D|!H1q=B=?iQQsNp_`A zmqwTiiYt|As9$Sm6RqsGOCh)yPt`miwr?@Wmn;sKcB%NPJ_U#FFIn#$;?`Bo&U+3w z-)WCbRgU$&g=yRvDK|ot*CHqcW+!M(rQ45>(;o#UJYGdVFp;;}%f+M*M6Q46jT@iD{9hP7c`Eub~Nf$@7arh6-CDLk!84<%h{KpWnW{&44 zC^@qC?%2qe&)K&?6`;o0+h#G@hmBfz9ihsU3;t6p?J5%yS^k%eeMMjhWXJgPc$3(TgQU!O0YG9jSZZVnvnfA9} z87}T@Vib++igQ>1Wa0@HZ)2t`Npj*#;g#3 zo(mCc_;0NvvG|vo!373Ohz{Ye=#m8(<9xl!TD<&&(c?|%KtatY4-iiJ)vM4e6IcU@ z+k4a&?Nn<329@eL{!}lbpH~d>yp$yp6F4eoKZo7rVe^;lt$xz7D{H*YcEv_*=##O& zMB-g_W_ID9Tqns2P`wKvNthxEd6V?@G;ZMt@Wqb5>2|QURej5Zv(%-(URiI4p5U_H z-f!<_=ZfRt7)v|N=Kt?x%_Te52?KpB2(6U=xXj7H0f5|IP9xEcFaW8$MM6xun8J@C+vWC8tCY2sUaxEtkb-&Zw7n`?NgLrVxS(!!8d7iaVyWKWZu;= zHp}}E7VlaLK;y8D>L$Oh>76S&JEMZL*$&DV=R=|ZnP&4}L*_1LICe}<@mT20)}ZRa z$1NS45@$^KLERJPlZqVfZDunV1Toq%yNHP6x!Mu18k$}www#x2l zw@anC=@&pdDC(Cg)M)+X>?L<6_B-pZj150|9ZL;<2~hfMZh9lJfp#XA$;e5p*W^+8 z2<_68JxTDPP;Y_WBa=TDq{S>A_8XD?Z1fwEgg5#&d^zVTYR{{uy60choE8xNapb|s1a``Oa%h&meiDPT-}m?-KiK&-PZx$H>}n-=C^13LA!qTFjNzxRIh3Ss zRQ*u>RB}Kx;6vyZ>-6+mniJ~T4@I(MaYNh^8FuJhP8WA@uaJUAA@6FC#%H)}SUZ&D zw`H~KetA1M3Xk~ft8TOe^M?*B3Rjx;F-#F&1fAdMg1W91G>unJhtMg}jUHyL0&}_? zrurs*sa#L#e*NE92=@>gH}I~u>CV)4)Q-Nv-m z7G_f82r2Yx|8o_J=)8RL9}z$1G_9aDwihY4l$SY;cXu&y-GymS8m@QQRjRJ@IRK;e;$x+zy>JI_N!_!{9`e6?wW%J_hPj}UOZA7e{_Fz%};PP;<}ia zTw?f!LBjq)t% z+$+NobqMec0%h_#%g3%a4P5F4CktLcFuHB-Z(K=i#CqgeQ%x9Va;9v}?=i~dL7fWL zh}JDQj1u9HFA-R;jod?Zbz50+QI^7xS>;+{`POS;T=8nCkPm5uvB?Js-al@{rWA*) zGyOh)ljM2zx#xWDG|*B|tYnM`V`ku^Y#k5o1zlY@b;Ym^z*g1wzgGwpA`#m7y%-H zYmphsy2J5l8m18t+F0^Zm^`%k%rG#1-ls`RJYrZNXCSj>71@hlkH3LZ+Y&v8i|MY2 zRN=Ma(25^xP1{>XAe#uk_zOD2fqxJeg1PdoH1rPkX`8-Suvvf;-`XEDLdeE@W54xI zks{XPY=}PitN4|_{5Ng-ztrp^-J~eNFW8NK$z2r!y+{>!>{C8sQT~|z>RZD2W!d}1 zO~WiW0ntWS@PTuIrJ&_~ASWh*eP^bZd|pCqF7d@(y|!&AWZXN;0O6_az|4In(A&Uh z{@``rb1kr0d^$hgYs=rf`Z&|ysr79SkRjugkj0VV{GTO33GHPYqjpcTt2M$a)ljfp zBJyZ1qydK@@Z9#sKFt9low$T`gAG{|^16s$9~yvP+hS5AMq-PW+bsP#B(i;460cS1 z{vT0a9S~LX{fz?B(v9TOB`w{tq;z+;bhC(bvouSyba#WKG|~;y(n>ck>ht}*_pjYM zch1b5`Kb4zH}vVTAMsXUZVDA8cD?5nDcQKu-HBE^&Ro@wQ`v+ zfj{VwETEz&Je8Q3WUJeRztoSmhlzs=XSaet%3TG?DVUnvhNg3#fu`IB2$q(Q9@K3% z5!rvwQtuFDg4l9_KwfrPgvAlKcd7YdU$4} zGA&9#Y-=Lh$g5`ohjudp4MiJcJfijCt@}?3c?Q`Bn>k>kcjT?_Zz?OgD*9L3an&TT z&5U;&$sIjkiSHFJa9`Jt>HV%Y9Bt0mk4s&)b(O>J%EPQeE-!Q8?zCni4{zS(S#5=@ zVIv>Qfp*j@aM93zvDE^*g`tfaCmXwy9r9$9+##i)1UYUTe7`Y&s+@m|W!rmWCt;?# z9%E?dF2U#Y_IKD+)U0R_RoHD5MCb#&QTQkODu45Yt+*c*1(_~>saXw5-UL))Tb<;a z$3_%3kdwyYyl-~A2)_}z5-{ctfj1040RRGUSoHha8Du9J&VHy+KMqZLx$BgQ^&l9* z&i6eFtI365IRwvMRN{mNQ_Q4_ys5Aq>HQrc6WItEVNge7Y~j&dyf=xd{h@`_>4Z+X<)-Ai)SeV*mf$yTY|Qd=eVlVq~mFi{z3 zM_}~O?J}czHD`F*=Cm?HK`ocCNg~V1(JyFK4q0x2683*t>0wJSh>w+ zxKYZ8aoDgX!X1#2&(p5^e6I=cn4yC2twN}GAfZ1afCpDK3m+CVW5#GDGOjSL?Mb;; zvy&ytb4?`XHZc1_j5Fty;O4nTqenh8-PuPMSg5s%X4s$0B*GkYl<14JH;B$1;$Zur zX!YrYw+#nzgzfb32FE;PevY41vtLLsL+6eTT&ZM2Y3eNq*D;UkLy%cOWHj?s7#c4yIpy?fp*iPVkz#w1hV zp01*TLLh>Cw>7#YLTrV9T1tap^}{Y9CIRVOzalRfz zkpIX9a-!gs?HbA)`ImL`l&Et(3UhUNNJ4V8{(q2URi; z-U&amx4ZCEiZMqMVfPG?I6bUdDuX9eUeRP@$}PdF9l(&43wB__(1c)NIhKAuC8lh| zeh}M68Uv*RV8Jz%n8`~~ojok!c%6-fZ z>7@=Pf^u1?)W;Navk*3fdIu=<2*dMJSIA{9B)oig0}mKNu5<3f5m88;oQ+CeUmPYu z#!$P-Pq0E(nbN{?cU;P#c@nZmcS=!tUoabm{qzDb@KE`ithDY-Q-n>Mv477pTy;4qBf@>hVB^vwlgTbd$M_r^2<2sBqEz5H6V1u|K`Unb_maQ7vnq*}kbJhWalzh9h%AegbaLYk# zDi*YSGpp&MF{!;M1xEAnDvsrSA>1Zs38{MHp1AwZ?}ClswMV2Q`SYgG2$%Va(BIJ}AguxD^-lyR- zAJ#JeOm6x^|1Ltyr$?!jPWV%hFA>(;HrzzzL**!bAtnSYcf&(ijG(qY4rPgjGCMdg zvwD_r{)VsQgrjcpoyD2)tsJ72X*-x$EQ-_03!mt5q2ZDgGJe#_cgnqz_KEQVJBs;Z&A#>dmf^f`=D7j1kUI3yt`7j@lC5~l} z02j+?&73y^e^&gvS5TZ$=}d*wlvn?Y6@}1nR)auarKXy1lKFlY9*_Nt0ybK`OOdV4 z=tPkd23xr-4H_|P-$e=tFcoe2Fy+8M@_Py2Hgby{8!$i>r|sNED|TeoVt0{sm|7C8RJwCyFQqFAj>7BmqJ%-UwfLZ;vR8>e= z31*_MpWRUC+f&8z>!$AzlM#)esCkQ@UPeB_JgpJLm=VSCfDV&EN+w_TyNI|iT5J)f z#c*t>jyPkLV`91t19<%~0R>-I*j}SBx|s5!N`-U~mjs4;HHKLOA8|Yu@lbt&@W;7B z&zd1xK2n7JS!h)ISoQcoMOgbU$}#{GjtRl3wEfWPN;0`7G>cubE$Bh1`ZV;xoLvH6 zeQG-3Q{XK?YsaE6UX^MIDLWs5n~ z%e3%GwcTgY6stCbx)w3+%;bm-?Hh5o0=MPK$ykq3Wq5OZIFDc+h^JO`O1B*wzs==P zbNk6l{irpF1&&yfXK#3hma%3J+J40 z4|T8MUe>K%rM)zm6k)_I*HC8xgYPc35el1Nq(vIHH7w6JDMq?#P?1bDU1$A(_l&Fp zY^K;ck=>EVAEKJp+yX~Uqy}ZKfN%T{qiyadFUNJJ@`lGBw&E;g=iXr zj?6G@Srw>|Uu@|c(W^`X;!-Se${J;Ci^Q-t=x=lhyEgRwvh8oCU6Lf45^N@u?0t>m znC1Z=eiR)iZgCu9J(Wl9aKw&k;|~|ZPuk0r-ea=8nMACCj_M(6&8NN3G>Zor*h+|D z_8ngtXT-SW#?6$mmCwGOn{D$fu+@RLZlvD&LX+J565ypHem5mCTsA#p8|PVn-LXGU zKhfbzdr+IS7_TNkTA84Rom&{uN7ko_JxiUa$H0_La+wI3NZv>}-pu9|h-k|MjAv82 z-Cte9cZ2(?ZLRI{I0>srx{!&fKF4#R2;f;4eNw3>Mve@vUXbY<{Z`GY;)#DYrQIqe zg9<_Z>gZekOml|?bHsCR=};KgI}gCzn-ze=jz+=S@v#sgsl*Enk$7N0cOoD|+;j+b z52a$MqTHs(8s8$qguDtoex1r~BI;_SnxQyhqIDCC2(~z+DseIk!KaX|@Hj(6ir_Cm ztk$o2?=JN5UPj(zGEX$9MWrxRBDg$@V+;`>NzpJDrk!*#$+NmmVX25nPr`HvFzZiJ z1edEJ$3y~YH3eZLCe) zpfa?(TD_*YPP$KG`q!!a5Z^ zjPJV@X?$5x;zCicA-0`r&qnki%d`lm`T-tg`9{>Fvc{J{7hlR>Hidm>L$|-{?M{Cq z+1Tf!q_BQZ@}jAmfpynzPI8YJC z^w{>rMnkE1Ge@Cb(63= zGI$weZXS3=|GGFUL^h9gn)}KbAvr!IB*XIGrCnYG=Wns+o>CEYsaWAn4t`$RYrPeb z4>dYOV}f@%;wA~5mS3*%<34_CUUrz~Y#LS+wlIf=i6&zbp~tVY%r}ik%n|RT*qqZn z3Jt1`o*4LX1mr$n4I@d2R#Fke0pk!r%<@_lys0aMf~4fP47L0OiO9646{MGZ&Tu$C zLmxz26%a~X&U(|)!mU`#s0Mehu$aVBQCJmlDQHG#G7kCS%fLdUp*LJc1O*G|wXVWq zx0i+sH@h;MOJZ9jMr)iO=(NnHA(0fL_*wk?!7N|o8QBpHYbHy{^OGqh@G0J1cO$?9 z9SnmJyk2ekMic!n762&v-upUZ(1#HXwf_NIb)6DOX>u~9z=yQ|Ij&A^GnEs2V-|OZ zP<`ejz(mFrf;pF1Ix~v2&KBWqimV^`sr@&uw1A4@ie!9rLHOleLxO^Gt-PIC{O=5l z579WHH1}r zPg+9dK&n9K)$D~NCmZfKOP%0v?E*VXUW1M6>(kCg2_zo^m5Z+S9|)C~$b>LZioxbt zPF-Y3L?K3@FYvy*MR9){5Kp~N5cb>b$KX0i-#hL$xN7vi+;|@DLGO1c+4eosHnd=w z2mFig@;vS&tkD!;5ZVZu96&pe`Ljf3P|%3#5uANlzz6$qhN>u|Mvu>nAGZlAYUc&= zXfs(ClL3Xyk*F?}P}!(YMJ9Xi`)*r};n7EU&r)M!gGf6T5NyU$zPSV9GToh)gt<$Q zpsq(f-yt@a)r{@r9#Lsg02QOd&nkF=gAV=n_ve`y!O+XFRE2QBKwwF$)}*i88J zILd8AlX0QUJ!+HemvE?D?w)4}_xn(Mee;4i?OjuJZ!jyjeWdvDvOnf{cI2D+W|?5L zAQ1`79UN%n0Sh0>_>ZS~}uPsxopK?8Oh06l`{5YVyZ86q|mseckje`c#AL%G1gg zsqWuW7 zqPkpL8uCm=TT-nA}351VZ#rzp_toB2Fu%R%ZzrLHIT zJG^%=HSt)iM9JX#5|G^^Wgmrnl=PH#{~0SU5~JpOw*HfaDnO%YYL%%)mB zaTLc8*fH0A6f1E5^*c~zIUJ*=EunAI6rz+Y;=Ty}`EoFE@}$i+y-)&wX}oOMu)UX8rs8y9|a1;=bIgnsCDyaqEFe zd0NS8+LC-_cf}PQGV>e2A_D-Y=GS0@n2POZ^WXv&v*6ff3VWaov}(r+wK7w)sHbEJ z(JK*uRE0Q!Z{M(_zPdEx0zW8f=t zS5=@oclfr=m$SZ#5i3$>>LDUZ!j1W5^|hp>0OjHIubqKpuFlqI*J{2TSICFvqgNUk?t{ibsBW6lx#c!q4-Oq}%WaXv98v$Dw z7D?_HcrLXi^&*mk=&IZ3rEdb~?1H#0@WI$0`;id*&%hV1HZPV4_%jQ<()BKzl zo=7pDWTK4lA=Rb}VM@v1S>|LHWAy+P9-|Zl2+emz9vulrZa*WWT2K!Sn@D z-32!e8j|amIQ4oXAi`o81&er;MbJCa^I2O3|L=&*X>PVrVN2cCpcN0Md5YwBA5=U; zSF~nS`mhd1D9=m_s=O-~7A;toxhF!GX1hCtN#rHC;cE%9IlYY9@q<&>6mlAY22YDD zX>=xG5~xG$!*;KY^P6aOPGbvZm*X2{-cOlF+Pr`9*0TaI!`?zOHS0=$(omP5v1_a2 z2P4hPrlX{$lf~vmyUyCM6#i(bc*H-}Xa#{oy(ssER*t0SfHrz~9AKm<$vra){+2n#>cnvRU!OWmN#3OyKFbmpr zEsG3UqIln}2J@+p+ZPR>ypH{t)7^vRaduI_4~>z7Lae=S1QLfipzMc;PBXwT9$9X2 z#|K6%NM)GIwF1HtifoDptWyJhR;qr1eLdb#%WL@)xJLA^0_9^HdyAh*LovcUzUAG1 zOI;nviVAmPCP&c4+{hF4uy7~vz;@*UQ*nmkl;#tVW@CA%Aqaxxm-j&@7s`{TYPg3sEN~3`=4Jj zKRBzB$pT84dUja2Yy;i91DP`=VnfLGFajme(gU&ad0!nl6lo*V)a-u*g^v%9S0XDm z77T_^N1}xjP${ObN?3{B65A_SJF6yeU+m^2pt6P+^8xLSXXfIqG8?V??Qve|2IEk? zZwjFhRNtrT!O1U-b9Q!S9U2+Qe`ak~v{;o3t} z{=vw8eK8z56O(vxsUem*e3QXpB3^&rA^hRtf!Jp;1Ao##34URI^pHcA#A;n`<|#Q1 zR^;GSmw)GfizVeOi-V)>ZG<6|y(Qn0#u6Qv3817M(@ySW+k>)X1#V0g|LvkwA)Y z!ddPZq9mUksB>v_L}fGOSscY*Y9eN84HxU7=zhM?9jcR7fDO7G5B*yXBuc(4l!yq0 zmTS+O8Uo0>rqx!;MGGQr92H5){?SDjWMpK_zxBW708 zug*SN&m;J_`&~@>kF`J!0n^TU7PJmbcH6J|-56$`Z}ya)!^j+Eg@iPrj05^ky*;dZ zJ9|`r`w_4$UNH5%r~%45?qb_zy|1hM1z<9fiMm`Cv{QjN!4X#z*LY5%4PJ`qngu8F zGk9#|v1)?$t6Yq={}E7;JSmQ3DAX`;2KwJ;$DpI4E-1S9Zpu#ekZz&D%jnIMP%V2j zSueb;UwkudQuGGe&oi&*I%x&>xA{2d;i`0@O0%BiyXa%u7-?-YFac{9+rV!1k5Xtl z7)K7v>3TB~u~KGUAM_X)Y)Hz>PW%rbP$UM)Vzo2x4%eRwb?1m7lpE1)Nu7x-TZzxv)Xx?ZtZ1z=)!6l9!kyd z6cZ%_8nLdzSXuRqco!;+tqOP`<+Pn3U?a1; z$7b1goY>+tVdvB#zt~2J_Unc4g`5zOj*-z_Fot>X<1c+EX1*mFWoX=SA%O;;9UqFcuqp7bD&A)xT?uf^8 zknr4}_B>jmt12At3oiez+-N<`_~)TFmanrtGCpu)Ah%>pu&L$r=LRD`wb0VidYHMt zeQD-(&abM7c7xbf&VZAYisxxzD*GA-ruMcm0*6Q&saA`tjC~G^7sIg z|N1oyIeS^D_W+lnnvjz)px+hhFLGz0@L*-QdIwNQV|QD-oP9|JjuP(T=VztGafI^n zC;YI}bt@@>5!KP2Fu@1R0;Yt-55%%+-|VpdhwEI_cM5GzLlxB6vbT7Z9(@he4bhX# zK(7?N+HJ?q&6_Li7p}2VxrDTIjaRdh!@y`rMg3xVf-FnlKg{We_{r!isbB&zM`hHA zS6xTeqeytMUcr3YaN0LF{a$UcfR6zKqgz|&g2&pD1Zq%JP@a?TnPdWZ@(cR{W6tY2n_Ko+JIfoP;Sie#h|N*D}GGdVr!b+Feg$bQL+AX-fhJl`(b!i-$iryfAiu;V6M^VP60M8k^vBzbXsePgml~GP#2s+h5Lit` z<@KR0?4OcPuh<){9-6U^`5!=lw1JQ4<&lkN;mRAkfS`X*aoowS8<3NNIK< zi670(Aoi#J3ycB%TeNzdOVW~<8ce{Rh~*vC%KsI;-%%~3n2uOJn4|xX=<7n0Vb{Jj zr92iI;GkjjZJ8Wv2kJj5r1y0jALnUy$8=VmI!$RxeY)_!xr>rDw4*vZWIsx4ZRf=H zPx3VXAk6n zo8>*?{^{xQ>1jSC5;gV&qGO{N3sHI_H3slc>8D(bx7nwss@s^eKss|Hc{dez#h7m# zeW-Hef7$RuEZ`zbaCzMWuORj)L%AhiO8NM62;#p&qf~6ZdC=7nVVVlml94|iWrsi@|kl+TD& z_~!5bBTF!~?$LOCWcbm7;~;O6s?J5Z5UdzKGfynAIz7!Bz;d;N8*`;^qF=^=Bj8+m z?z%40XVp&kjmJ%IgW3T-cjLS;W~2+C!eBtH7UQUAu$H>goQ#2X+32@6y%>pXjoP^) z%3`yIeCB@siXIBsZY4#MW#1pY z$Jx^}_iHPiI}H(4v%8X{-Y6$FR=$Q~b{n`Z&+CxAvGYtX$7^EH^GSB`_kFv?hLXdB z(-=24Pkg?XlO#jG>n^uwcBjn@T->dJTj%>PnFuky)r|#_2KTg2KHnmuy&RwHXOkL# z@5tXwu8%e)Dl>b!a;OB#{)J0M=UNvkZ!py9M33z1$BJ?q*GaNT{EWx8lHk%Jgzx?; zTO)RQpqizH9khf$U~rp#Sq1MhaC3%?d7L-v@L|Mb=fir^!;b`7Rw=U5mMevKJR7Zn zgZgeK^^BG64tnydEv|!ZxOFG#9LD{1U499}NuAh^*@$zyJJNiuO?!O-j(X!?_df@A zb$R`+kQKOTedy7V#J?iBZAWj3!!Lq(Jg8~PELLG-ITy`sNel;~c zNhwEUX4~B=pC_>z*r!l4gwV*hvUCn5Au+(eywy09ySwqL>&rX}lre!TPiJST+$air z)lr&W?^l8TBOT>0^o;O`=PX|L{hz?Lc}&0Sp{v+Mk)ETc}U z%d2f~N#+J9QD|BGP11+(8EhYBxs*sg=q=|VHu0?63#qW34)-x6_a*)joig-l#uw%f zdX2^3DLtz#&D;w|ab#WufPQeF7Y z33vzoK0c3pZk}xS5oL}YE5Q>k)rap^3F-FIt+5A|5y{C`D`$;C^BZ3*KTd_`aTI7w2^fpHymqwtb$0l zgyykn$Dj8#9a49t^ieM|zN=p7s~Um6_QP)tfrgW0&g$D!={}=Dhjb zg10qb@F+P^8BY}Q%$H10xF2~ zn5$1am(oT4Io4JAwPq$W+r!P@A>4An-qtY-C$e#{^(KOMy@UI7uq5I1aesyuboZl; z)$iAH603ewJ3}d9NX&jsWZr2|1x((>o0nZ+HzR}z66m=%|D<=wQ|Hj~*3O4K%8%pi9jCwc%PjjXe_;&jI@^zVm_k-V zkXh*oQp)Cm<3D>!Qk0s#c4y~t`+UJHg#3?frbUd|-bxP_DHFm@Ha`-Q??6jDCk-v8 z`5(A>e z^?n1@u!(?Wt77Q)R8G_*oQKDE>*4B}NI^oU`*+)Fd+}>4Ueh%DLh~&ttf^YR`bt#Q z@W^=QZug4MD0xm>oxCP|m&AL!nohq^ao|D5xN|Fy?-i}K0)jQw7OH$Wy;mZL9m8Fa z0)qa{M4_~2n?_MFl+-oRro;&7MC{D^!xX6-*I;|n^+WHoPr*WT=+jDplFP`I#n%sJ zM;Do%K0_}2ZyCr?vgin|SDjk!b|)?yYFuhp23gnJZTH6bKX%!|TxKuTYzm`rKa4TG z985FQaXY5@{99?sNO!HmMHa!{ks~4JAA^Epq$kh5p~7qB@pKAMHGuwEa4D{) z?=K};vh}*F0uaB`@dK{ri*E4oMn75pJq=rQ;YQQ-o(0nanl*Mh2lD^g7|>~Jp~g%I z`4K;!5lG);(7Bbv?o@Rc{(LhVPgv)W6*mvEo5x1rjAcCSV?&mF%cy^N70(av;c-5#h8Ysr+AW#eIUATVX!jr*L#e zo=;usG|jwiGLP1;@!jvn2epanx806;7=q6AUE(6EQlI-)oWcpl2tA*_W?dh9>@c-$ z9t1@K68TToi1#|LrX2cFU3Qg--KWS*_xe*NZcjK<9EZj_9J;4y6(8@yg-enfIEuKB z3xrKzPTOs}8cznMprfzkwdh|2M}V2=G2_N30)3dE-aTvMIw^~M*SG^oL}z4+$BR=9 z0cC@aR*Ok~LqSPRPraX$BCF)u{Q#1B&O4i}U72k^uz=op2HYE!#9de8Jf==qXG#9o z#LvH$#yAv|=|eJDM<4bDpU)ep6To|QN!5SH4h%?-zw@5RLwTdK;9B7nFm&r0ZN;Ft zLK~PXl;~FDc+o89n}SMZnbK*r*Ih|I{9A#EuHEcY|6TiDAFZG)bM(*%Bgt_aAUG-U z>tBN5l&+Pa)Cy9CLo6srbJhm&hm_tl%EPoA1FvJdBY#NFRrR&*|%bq$Nyq zP~5NJ!nnB2FSwNZzq()lt04Y{0slKZPzMhW;lCRpFG0b{mpjOB{~606Z-U~!x0v~0 zA)r5RGzgQt9r*MWbXx4QWrT{*C;4KIU%ISJ-OB#a6)-R>`QB92>U41EGlF*&pxY{r zl&ATkt{c%~=+DSbIQ04FA3kLs8AKghb=l8{9jXbBF_t)%)=lPUrA2Mx+yDCg1rP~6 zlB?2Zf0k_|i7!py<~xM`0J#K1RoI`CZCRBLdKPjq{_{nczIW5yeE|cn%;zib`js4T zU8kPU1${DSlyIk-B!cU=rMqsv5r3n(-l3o`eue#?4UYKfB|MtwJIc487_FFxyq~R7 z8ON!jibV3yZ+H(Uvq)_J&J}#(V3r^EL@kMoR8Wn@`J>^l|MMR1r{I0cQ|C;_eB<-9 zNA}a4c-1>&%8j!F(9=BG$_M9f=;g@!DD)~aiGQ667O|4o5?FtDiu!6i3n`0#K2#-4 zn>Lyh#B0Ov7IMs@ebd+V@FN+A0Wd663TBbrVqu}p~=gR?5(MEI~eI?v~W5)SPP>}qTVDar3EVtO{x(}Vvc>SM4 z^ZF&2^buJZXX+X**wy;-`C*;4v;B#di<(J-&s8OY@zwu^Cy+HmsC=h%5{EOjGyD7y zNj9T+W*(dQJkcdnq$q1nP5xh7fUh4U^&3m$NV%A)T71Ese9GQ#D#Hw-u>YTsn(Lw( z#iOuA@CA;h3{k6ME7(sdS5a1hnqY|H4=-V6x+h+K{5w;SoixMOFNXmddVm&O|0~?^ zW3X8rDL60Ti3^PnsYnCR%?CW$KechRKRuYZQbkTQwAPZc4Vzk@U0ETDb07sdNlMm` zp%K5XP#Du!L8?QMWt2tvLHP=XTokY#HU&Cc9RmsUbkZZ!PesJP9KaJ%tkRWzS2e#T z_*B3uFMA*-{*sS9(4$H6#aDOQYIP%S8pKmHINB)HAM8pUXGx@O}IAmG6uMPDsD=e=wBMaj` zEd3&x1!}HcCK#5tUa=?YN!_#jesQeT;t7+XPnCrscVlQ{$NEuMERt=vC@hS0bS!iq z{c%$it4d2NOJz3ly+DTp>K>J)&p3a;Ba#jbpQv@5>ri^!oC^6-PHjkZSlXt33>413 zb9ipx0&2?8?bIz#F@cNumTpGVvuC-MP~t`Ai!O@PpBs&tAJyOc-434$XzA)_xK>C| zPnnj9Qv4xI`1vKRRB0lH?3E8M3&d@tg6&ao6l>yepfC5Z++kp+_7bMJ{tYRpO+n%W)xK?6(fQF zzW#>55F;7d9c^~W8`0K;ubG8pnfG5}e^Rx+1xdK2_~3OV>E+herDa_RM7Y5K>rr8%qEffn z-@MjL1(ZW&q zOK`czr5^R8-C~96y~`H+rs}UOb!`n~r!I2+Bdk^3oxpqL9$d3Lfl_~jB+1u>tuZ2A zj8=@If-+P4k}FKvP$iWdFJ03zYl!3IG;3G&)Y?1#wj7)OI#yv_Qzr;Ir;2hsUz@4B zyR)X$fz8qqqW|U#ArUw!3&R|_38;TLT0uW}W_@gq4Q z#RT5AuA~USw{VBY<1vM?v5MnwR)L8yXZScc_$i8X%q$hfwfgcRykale!i2xu8Q=pK z=N1+QRYo*4#p~I88n}75xVX8e|H=->Z@;>oa!q zYuTT62=7WnR&I1mUGOV7sK-@^480`H-IA8=26T?cG2s)#(uuCi;GxtPWta*%yrt!( z3<^=ylNR<0THY@L*2BzPKc{oqn$Si*R0g@;LtCmgkJT_!U$4XW77GM=bu45Zt1jzw zr1E;~QrKrVt+k>8lL_1zk$x)h%i*E-C09NuW2n}BulSRL#o zVJ1ZWRaScoF9%7@XoP&#vhENgR;df0`c36UJ@6WcL2GA-z&L9v5A2RR2apxW3f^l+s*h z47sy3lRQSx_Ve|UxFykSSpGIs?{sNe#?$y=g6=|nR_I~y%cN<949MqE+(V#Rd#;zN zOr!Hc%=}MyFsvt-cT*}dOEiW2kjz2H(bZ(h__cXk;6Iq%; z)(Wd|c+$2}h+q&^97or^dq=kBH2rv(j>R@2^j)urmWW;rbhs;>vgT{3@1h5^h;Fma zT6``otLZFZ>|uL6UM3n#pU_mtK4ehUk3KwUvF`SuqzB066!>3u@T~q`(C`q?iI6>T ztn@Kjgrx~K`&8L-vT;x97Q<>hySBdeYx^CFgFY^hLOC$nZQam&I@6Y@b(3`a*ydpo zw(Mp3Ueest!#+aj#K9H}3?S|3h{W}Cd_qFxlqjDB*1HS#>&ZuEH`^wfuN}o*4Gyz{ zWlgPDNBc`Hcb%c!Z=Hvz8AeE(&y}0P{aY_5`8E3s5~LJ5P2(5mep#FP<=4IR%iij} zEi{mT3u~6`de!&aK_-jfFsuUcN!vXIewo&!ao<%%?ArOyIiu}Q6~tuTGgqk8#T zA)X>SdKX?6^g2P_rfPq~T{`S?`L-H6%hmX{r&?UvAxqEn*fmMAmCWZZc+bG|t|o~K zdo)vdzR@ykkuQwbTpw*hpuV*`!^-{lMLI6}q(pW>I16h^G+cK@8Ch9mZy=Yq^VpfQ z>Qft06YmoEPM4TiN8ZoN>9RtdEeg+#OX%EQcT)Q!Tam?W#fWWXRsA@N-D;w^2 z3M)TkNo~%~^<@nKnr(I+U22fJ&;1;&X2qguMbFXZ*+IIlZ3=67W&J2Y4r~>=FTX|Z za)a9#?D{%G(RP*h&&49jSlSoprG6#Yiy{hUA#iqPR_C<9%&=?5w8LbvfmH8!!C*W?_n-doW+Hvoy)|LV|PtqRHXmYPGB}yrv{Z)Fl0w z__Whl{fjHRtgWH%V~I`8n>*e4RljL;V(N{pGOw#+OIy33Sp6Rh28_g3-e)ldtm*d3 z{V3Vq8?+6$Ojvws4ZBbGb7`|$J5&%u?UMPnRTKy5ySfSb&Jneq%I31d*3#OXu7(oh zt=8<>Mbv{^8w1aK?e1%a7fd%?P8O_}bJ%Vpjb!^hl@O6eM4X16_!!k$%PYk&ETK5y zw#^IDsHf;V&7&NGQb&WEU|;Vc zo9FD-j>Tm>mznU9ova?SGEVOdo_dRHBKs6RhoBLglDUkq=-0O|(K@1VJ2dF)m%Lal zx^*RLxREvtDOvK_o6=npPSYks@$^H=9IAtywzujD}hE{xB6%jahS5rcQT^Q#x{kiO1s%=@^W_8rL+`pj){F@X`H39 zoE@d!<#^1ASAw3AIBk?PMSWT6l%ZJ9K$XJYdQpcg)KaAetBW2#8dBl-QF*PbcD7uF z!Pdd8D!w>y!HUp|QOotz`H*r?t*xS%P1D9!+%J)$e=~Hw|Epn-b?=+ubRY%M0 z2l4PycN>b*W$SSh>#+#QxeZp(&Y90x%YozK(vMx#DTmba8ktMq7^G_dTKtGXf6z5KarF@Fa5-rD6b3%+Z8$v6D4 zv6JkzaNz~o+2WcsRVMi+tzrytI6Ot}qX54i;~#qxc~U8AaD6CnVTjDO#ha10-5Q@0 zQ7=DLr!Q`|Ro>rq%cCeLbFx+SQK*4tCMJcZZ^zFZ?Q=z%{7i03Z`76;H&^GnB2{=o zE>&12zOS3bAI8DOx0O?o)VnJ^Tf?2@9x1TI*JLieuut+Exr2Q-jQrEa_s_^}>Y5w! zrw*vE_-b=%EpB^67|-q>hjm?$BYr+_PFX$8J*tHXUVYW^Vq$Oe-9ZsHRDM;r_yT-D z3x0Ir7YC~wu)D4Hk_46t-`tKcsN-NR`p{r`X=Y*JqC_qY%gWn+cIwWJ3mu}#>m1!G z5z7R=+nSWAh{i*S>1zIJ{fcs@f`&@DEsljN7VhIHYxcS33=?aWF4a|A_keeuY^^K_ zXttt8-WJ7`t0{dot;F9+M{&}y;cT%qiSCVTSt&{F7OT3!Gv#u`9c(!#QrVTry?^B6 zcTJuBi-WXH$yk9d#Qvb#+OG%d%iA_gI!_np=o;OBUg4J)JJ<1~c(TKCB4-1UnTVNO zmeE?#z{#q_ue}woqzr?{pxcG@=pZq%~Y;~-6wj2tG=jzN=G3K5{ zT_ZZJh&liZ%E9=fBNGOHev-;S33VTLkYPGJ}r zBr1Mdo|ia-5qVGuzH1IMzk)3la8V>p%w1H{jrq|_0`mhJnr;&pr!pVqjV~M#sIj#& zT`AW@7s6BNWf#457ZjeKO~mu2rB*dZf4|W5B&kjge^%qMT$vD zM~$^A;^jz{$5&-;WBolpD}PIeG4ktbJIr)CV{074zk-B4z$5tz8_u&4Yt|IDT5_-5 zi7_`*y@H9OlZw7VcwSLJ6zzqN`Ynln`|(X2&9~#Q8@VzYjTh79vZ~AF$4yP|slETs zVra7F(%f82A)htcR}q(0Sh4OHZ%!BXa3|V?DKq^opx7j+Om;X5{zA$_nO`?M8PTIgUye4cA4` z0R81GZI0B-KcQWDGxO-tcU(khC|08Ed(@q294mP6AoJr1Ly>DHKi60RnEA<-m03f{ zZ!)b!b5C|Pn{651wN}LsND{=D-FUYHSbf#Dv&U)cd+~&GW8JXBqp90k3O}omcJLtw4sR_7%RSmMp%NquUHdy$&Qj9Rf+Z4N|j)0~g|9s~<0N zQbtmTCVyw!dek3Nkj2zS$_LtmE|?R9;h z@|wx+o#rmDRoEt$4(lNW6ufZ=&&&6t=^};n>K~IKfUtld^|mfo#b9mfOk0Of491#U z=|0IU9hZd=JeE|CN3Qwruai?&F1BbqmPQSg?`0}(-53=Pv&v!9UNkzTvY{q>`dgh` z3iyW4I|iJ5(N$zll>Lb-n7f?ze7m`7^6nB4xy>4AB>w#%nE`{-SpOLaABbM^ffOILI! zkKw$0NMy?vtq~JGoj84TtEC{xMQ{1%gE}LbfdiJuNLV%EX1Kzj$UOpu|Svz~JJ=b1y%{j)H9?yD}-_j!e zdqE}=!6Wbkr0kx-g;@T{<4{tJk{~qPHq%ndRB6E{XW6$S`;kNUn@K3uUuX}1;85H0E4<4DW&5@r*w1o^A3E1!b6`k-%>`}ir+Sv>hvpJce zSKJ)Dm^j{9xv-wy#to(brzK(c(bFC7HP~>-POtm=FIw;e9j!sD*HwtNj_K_I1yQ^F zMjJUcgJ1y0!!qVdmA8|%6rwPEId&$;>+a}&v%4MIg!R~QdUc^AiDLix))hit;ao`; zU)D6NS>xXFRHnV%PG9T{CP;#TYOP}okF!q*r|ai~Cz|L2p&onL!ZS5tK2vO9N&5$3 z;-`Hqf<7-uH3wr$!1zd1Hlx+4qASeZOj&Pc z)Fh2O`Q?ggD+#FtoVroXwRb9eV`d(L?{E%iI5P-L06m88X!+Gc+$5wMMc5Li`P^*h zVM14d)cv@GE~j>A&?*lQzw@m_6B`Tfst(&oA;Uf2Yjh>o)F9+N$vAB*C|!(f-`?k= zzmBH;jY{$J8Nahm_CmMONW2*~b$pOL1hf%h_Ez)*ZgEm~i&yWv3FEDk-?enxbr*(tDH2P2-Ho&CP#Z zji!dJe-0RS43wN|_)M>?#nU0EN|gVi7Y9$IVrc zzKpXwf0KvSF(FGyq8PM)ei? zy;eDzKdS8gE2BfbC#VL2r)=a^JA)Rx`ykf;&?a%cR^b~HMmupsz_xEsCu<0%jr|i_elmfV}o+<^ob@#&~wht=muD2b+&-=4arF6AKFYkU2 zDrT)9wnsnCE+*X#^6^+!lgEDOqWvkil(caP)+Kq(b!gj&fiIW<~7x*N;_#;eQCr zI?-g!;;OuXugfWbU~l%OJHHD*CUC3nZBn^=b~Cu&c5UaRh)X^4^}+8iNpmy^usWdQ zwA9CUBoubzwyuZVBVlP1of!|I^b;wahtsrpFI{H`OKJEnEnUhddV@W+^mRxGAd>P) z;Zv}w=TPcKfxXEe7=QhHZnPs{Z=2?!BQ04S?b0nag7!FV^XinumBRVw_EEO3F0KZ_ zx6^c=PTi5}+Me7ac?|-g3+*#`IK^D6%jQI{X8`M?0eSli7r20c-GPmfncjNUb5)kn z<-NIawBwB`<8 zoe=+_iTcj{zHLHj*}JQpe;=o@8_<@Cn1YC}W%K@`SrD~gqVoo<3lUvv2Hva>UpjEl zG-^n>39l&p_Gie6nUKBA6}-&a2j<=Pz92h+Xo;G6Tkf@*rs&1y*i#J8k7f{o0!GV9 zq${RGn`fL|P2Lz9D%1R$QWa%kAWp0RduX}z&hAM);*?;nb6wvG_sqBdF)wb`v^)A7 zDQadap5EYo!XWKl-X8&N%LfVtALFiFQD;RDq3uwFUQvml{fd+^^IBR)1{XJKH-z#8 z=w02h?#MkL$qIl=*0Sn~_JtU>KviCy{Wqe2d8}*Vv?rRlo)F8JWA7;)=rX1HpR!>^ z>o-kSpa)W7mIFpRjwU>n$I)Dk!w8 zgZcmdx~%g=c^6g(rE@efN;n>^O#JnFz%t95msusV)QgzLYx7U;zqx!0dfk=f z3=RxXK4@ds9MrBql4@hm^#EDXb89{thfK)>&12M9v6o}F)iv}f?@Z1NOuu%jj zGjBdK=6haqy5!T`F8E|!9>3tt&u`^o%AlOJXb+pG>rL6$WUpnx<+xdmKYAKlO9!}I zU=$VTSS?0=d6Pb}N;u_<3HwTOjJSV&g7ZuCSICsa4dhGL$XD7tPA57#K6ZU8sNElu zk(*SZ>N6frB(Tp}Q0rdB$o<;~!-lGG%~xv2KFLh3d09nGfYLTs3>R zr3DQ>O8%dbJLXhgM}dfE1zgj;Cc^JWCk&tb?}l9D7U8JI)9D zZ^V7HE44eC3NQZm>8D0Q+%sK`ad3V8{{lAqe{#C@X?)K2bjE*;Z)!@u6Z-G%vA1V` z|Ca{+|H%0N-)CUm?}VfOM#-FC^F68{JlP;H6D8p?;1eAUXMzPIS5wFW`(0~IjqD}2 z%{9qeDsX1oYUs;J$7}YV<0Ky(N8$0U491nG_~jntxw^kMo`O)P;H^hMJ@B++5?n?} zt!>mj9*kg+w8}?aH8MF?aE9i}{-wn248F5(3`ukV#OJV0X=7V#yZO>buZ3Dj2qRun zOf;y2IT4oPBI%HJPc3Fqkc6EGe{}Ku3EIh~fXHaaXcNNHwvOvokWJA9y%ljtsm$Gm z>)u;gEjgEitBb{ibaMaVy-Olv&)J2n1G!Kmol zA0lXTEmyAY(ay8+o7)+Hy=r`J!m*nV_XoM~N8dVe7v;5gTm4w|7csBEhlfhsncMeN z60?&MBTomzKghwBI_i%`Hbx6|%$2)8*1Y!iCKt>rT|7(RJ=uYWFs3*oj2)JVvNPB3 zv4b)I^?%0?g~YnxCpZF+qritn%wp}NrvDuac=>`fWtJ$td1Kr$yOS0l@iRFs@#~X8 z!Ado?18H)nyS2j1(~{l{JH=KPblRh%KtKfDd=&{0=y)-|`Jqvd8p5~n!7ss(Gb>mA z_YWuY7yUog{zSZdUe68XSaMLTt8u!loa6Su`k<$@I8&{H;UZalTg2U`|LgX`xzW*i z%t617;!C@C$8JvD7P+d7)sa%I2l*hApbua!%%-D<_tvCt031xU5#>2}d^>%y1Z6ZD z8x`k_%GA$N>GJY2SNEu(ujSj5N!}_r|0?0MRG>_q&q9s&s*%V;&gGLzs-fjC$PalS zM)mT-5TAqjIQii`8MidWM^@Bclo%cnd&k;q~ZNo95XZM9AN zXK|E3h0q1bL4}P|5V#NJx|tuGlesd57ZkkD;%Ow>ghYD`<$TE-xgb9YihwPjNIcTh z<1&)s5$cWA<(k3C4V6y@(3N~F><7UsyZsu7hz*A*YIEnDBLac0dqGrf@a)cLjXAW2O*sHvs-8ge zZHHGzkb9K%%d&aK?t>(IvVg}%;c6XF0W9QdR+k5;{?+zCjUVp7Ad&>|AF|%_xN>zdf6z=pSJ)(AMU5;%Yn#Uq+eOXfJ8zJUE-6t6QIK zCJW9EKdFwTNAIjtE`Sc2>Ls(*)VJpdL;PKZt!{5k`VlDD6vNNa@y{XLFDF%8DlVou zFCK^6rmMsoojldq&dP-YrL0kyLWfSCHj+n@Ldt8ctL*9#+q_$WM&G>_<~7?-eMnUtFU!n z*azZltLF~s3fq-TMz_41r-8=((diav;DoSnGHh>mc_pcIX7)qXx|hj1z13Ll&qvqkO>?pkt0c1E3( zxawQH(`%S(Y>jB>P#ZA0|8jdYh7q3}5)9$m9NJz^5xFmsWB$nB&g9MXH@hS8veU50 z6T|uQjP)|GQOV(rM3Ajjwrhu$lWz!`Q*fTTRkWzW#{4n9En?=b-^Xwn9NeodYRW-| zY>Y$VH^=j7;3@U1CNb5-y-L$4j6M!wtuof$(O0yiijm8VwsBh8lz_TMo#eQP@D zOeJ?k{Qj;J1HS=ot#r$n9}8=bQt{Qol>j2@4hII{Ne;@B?bOm$2h~u`b1Q=?S2k70 z%#W(eR4k}b5!MO`>_SzJosq`WfxfLIfz$Z}f-(hHwyMNN#Y4_*G@J^DV~kkz0WaS< z=uVPE{A&f|;g|x#oz`K*?=|~(LtNH{Ir}5Vj2xWnH5+KZEa6;APmpVhNY3NCe_yIk zL*i1vB1iDy)`26*gP6Vm;NMjZ9kCeL=TNgJ^yypPU~5Ob0M*>{s_z{Dh$yLKqp5ZI&=#P&qRt)Q?Cfe ze)l^ym{GqLFlk_0z?!cG!M1ThJ13LnMGekKK+!63s`NFmH-zC=ZgW1I6v?K-ueD}0 zLE_|!q;KfST+`TSTs+}B80q{vDDBBRzd~vYF$Aut7IkVP{{V{=K+Dr3arwWqhFduy zuvXz+1RXS5|Irwg?5NUAcw>1l`v&Np!>#fQ#As-VQqYk+Qrp6W^yPR^c1E>72vt)m z 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

}Jnd{WWM=!pCIV8RpU0|?m!mnkmgnm(lB1V>a> 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 literal 0 HcmV?d00001 diff --git a/package.json b/package.json index 6b2679d..ff9e34f 100644 --- a/package.json +++ b/package.json @@ -4,15 +4,16 @@ "private": true, "type": "module", "scripts": { - "test": "node --test tests/domain.test.js tests/analysis.test.js tests/vision-service.test.js tests/vision-config.test.js tests/draft.test.js tests/suggestion.test.js tests/vision-readiness.test.js tests/hermes-agent-service.test.js tests/agent-gateway.acceptance.test.js tests/staging-health.test.js tests/service-worker-runtime.test.js tests/training-ingest.test.js tests/ci-workflow.test.js tests/product-decisions.test.js tests/release-demo.test.js tests/selfhost-bootstrap.test.js tests/staging-config.test.js", + "test": "node --test tests/domain.test.js tests/analysis.test.js tests/vision-service.test.js tests/vision-config.test.js tests/draft.test.js tests/suggestion.test.js tests/followup.test.js tests/vision-readiness.test.js tests/hermes-agent-service.test.js tests/agent-gateway.acceptance.test.js tests/staging-health.test.js tests/service-worker-runtime.test.js tests/training-ingest.test.js tests/ci-workflow.test.js tests/product-decisions.test.js tests/release-demo.test.js tests/selfhost-bootstrap.test.js tests/staging-config.test.js", "test:ui": "node tests/ui.acceptance.mjs", "test:photo": "node tests/photo-first.acceptance.mjs", "test:mobile-capture": "node tests/mobile-capture.acceptance.mjs", "test:sleek": "node tests/sleek-chat.acceptance.mjs", "test:manual-fallback": "node tests/manual-fallback.acceptance.mjs", "test:provisional": "node tests/provisional-suggestion.acceptance.mjs", + "test:followup": "node tests/followup.acceptance.mjs", "test:staging-smoke": "node tests/staging.acceptance.mjs", - "check:syntax": "node --check app.js && node --check server.mjs && node --check service-worker.js && node --check src/analysis.js && node --check src/domain.js && node --check src/draft.js && node --check src/suggestion.js && node --check src/vision-readiness.js && node --check src/hermes-agent-service.js && node --check src/vision-config.js && node --check src/vision-service.js && node --check scripts/record_release_demo.mjs && node --check tests/staging.acceptance.mjs && node --check tests/manual-fallback.acceptance.mjs && node --check tests/provisional-suggestion.acceptance.mjs && bash -n scripts/bootstrap_selfhost_smolvlm.sh && bash -n scripts/run_selfhost_smolvlm.sh && python3 -m py_compile scripts/ingest_training_photo.py scripts/build_release.py scripts/deploy_staging.py", + "check:syntax": "node --check app.js && node --check server.mjs && node --check service-worker.js && node --check src/analysis.js && node --check src/domain.js && node --check src/draft.js && node --check src/suggestion.js && node --check src/followup.js && node --check src/vision-readiness.js && node --check src/hermes-agent-service.js && node --check src/vision-config.js && node --check src/vision-service.js && node --check scripts/record_release_demo.mjs && node --check tests/staging.acceptance.mjs && node --check tests/manual-fallback.acceptance.mjs && node --check tests/provisional-suggestion.acceptance.mjs && node --check tests/followup.acceptance.mjs && bash -n scripts/bootstrap_selfhost_smolvlm.sh && bash -n scripts/run_selfhost_smolvlm.sh && python3 -m py_compile scripts/ingest_training_photo.py scripts/build_release.py scripts/deploy_staging.py", "check:diff": "bash scripts/check_diff.sh", "start": "node server.mjs" }, diff --git a/scripts/build_release.py b/scripts/build_release.py index 906a2fd..738bf08 100755 --- a/scripts/build_release.py +++ b/scripts/build_release.py @@ -113,6 +113,7 @@ def main() -> int: run(["npm", "run", "test:sleek"], tree) run(["npm", "run", "test:manual-fallback"], tree) run(["npm", "run", "test:provisional"], tree) + run(["npm", "run", "test:followup"], tree) demo_raw = release_dir / f"timmy-talking-turd-{version}-demo.raw.webm" demo_env = dict(server_env) demo_env["TIMMY_RELEASE_VERSION"] = version @@ -136,7 +137,7 @@ def main() -> int: contact_sheet = release_dir / f"timmy-talking-turd-{version}-demo-contact-sheet.jpg" run(["ffmpeg", "-y", "-v", "error", "-i", str(demo), "-vf", "fps=1/2,scale=180:-1,tile=4x3:padding=4:margin=4", "-frames:v", "1", str(contact_sheet)], tree) run(["npm", "audit", "--audit-level=high"], tree) - for file in ("app.js", "server.mjs", "service-worker.js", "src/analysis.js", "src/domain.js", "src/draft.js", "src/suggestion.js", "src/vision-readiness.js", "src/hermes-agent-service.js", "src/vision-config.js", "src/vision-service.js", "tests/staging.acceptance.mjs"): + for file in ("app.js", "server.mjs", "service-worker.js", "src/analysis.js", "src/domain.js", "src/draft.js", "src/suggestion.js", "src/followup.js", "src/vision-readiness.js", "src/hermes-agent-service.js", "src/vision-config.js", "src/vision-service.js", "tests/staging.acceptance.mjs"): run(["node", "--check", file], tree) run(["bash", "-n", "scripts/bootstrap_selfhost_smolvlm.sh"], tree) run(["bash", "-n", "scripts/run_selfhost_smolvlm.sh"], tree) @@ -165,6 +166,7 @@ def main() -> int: "- Agent safety: exact-origin HttpOnly session, bounded text-only ledger context, no browser credentials or session IDs\n" "- Vision profiles: hosted and self-hosted SmolVLM2 bootstrap\n" "- AI suggestions stay provisional: suggested, confirmed, and corrected states are distinct and screen-reader described; correcting one clears the AI-confirmed state without losing user context\n" + "- Hard-stool follow-up: a Bristol 1-2 entry asks user-reported questions (difficulty passing, soreness, visible blood, truly black/tarry versus dark brown, hydration); mild reports get non-diagnostic self-care, and a confirmed red-flag answer lands on the same deterministic escalation path as manual logging\n" "- Safety: suggestions are observable-field assistance, never diagnosis; user confirmation is required\n" "- Known limitation: open-weight VLM acceptance is proven, Bristol accuracy is not clinically validated\n" "- Package excludes model weights, medical-image corpora, raw research pages, generated screenshots, and video production assets\n" @@ -209,7 +211,7 @@ def main() -> int: "codec": "h264", "pixel_format": "yuv420p", "recorded_from_working_app": True, - "fixture_data": "synthetic-Type-4, deterministic vision suggestion reviewed, confirmed, and corrected to Type 2, offline vision status, and deterministic Hermes chat response", + "fixture_data": "synthetic-Type-4, deterministic vision suggestion reviewed, confirmed, and corrected to Type 2, user-reported hard-stool follow-up with non-diagnostic self-care and a confirmed black/tarry red flag, offline vision status, and deterministic Hermes chat response", }, "gates": { "unit_security": "passed", @@ -218,6 +220,7 @@ def main() -> int: "sleek_hermes_chat_acceptance": "passed", "manual_fallback_draft_recovery": "passed", "provisional_suggestion_state": "passed", + "hard_stool_followup": "passed", "dependency_audit_high": "passed", "syntax": "passed", "secret_scan": "passed", diff --git a/scripts/record_release_demo.mjs b/scripts/record_release_demo.mjs index e518b93..cc4ccbd 100644 --- a/scripts/record_release_demo.mjs +++ b/scripts/record_release_demo.mjs @@ -104,6 +104,7 @@ async function tap(selector, after = 650) { async function indicate(selector) { const target = page.locator(selector).first(); + await target.scrollIntoViewIfNeeded(); const box = await target.boundingBox(); if (!box) throw new Error(`Missing demo target: ${selector}`); await page.evaluate(({ x, y }) => { @@ -148,6 +149,25 @@ await indicate('.ai-provenance[data-provenance="corrected"] .provenance-note'); await tap('#next', 450); await page.getByText(/You changed it to Type 2/).waitFor(); await caption('Only visible form and color were ever suggested — urgency, discomfort, and symptoms stay yours', 1900); +await tap('#next', 450); +await page.locator('[data-followup-block]').waitFor(); +await caption('Type 2 is hard or lumpy, so Timmy asks about soreness, hydration, blood, and black-or-tarry — never guessed from the photo', 2600); +await page.locator('[data-question="bloodVisible"]').scrollIntoViewIfNeeded(); +await indicate('[data-question="bloodVisible"]'); +await tap('[data-followup="bloodVisible"][data-answer="no"]', 400); +await caption('Every answer is yours to give, and a skipped question stays unanswered', 1900); +await tap('[data-followup="soreness"][data-answer="yes"]', 350); +await tap('[data-followup="dehydration"][data-answer="yes"]', 350); +await page.locator('#followup-guidance').waitFor(); +await caption('Mild report: steady water, no straining, gentle care — general self-care, not a diagnosis', 2600); +await indicate('#followup-guidance'); +await caption('And it never claims the photo ruled out bleeding', 1900); +await tap('[data-followup="tarryBlack"][data-answer="yes"]', 600); +await page.locator('#urgent-box .alert').waitFor(); +await caption('Say it was truly black and tarry and the same deterministic red-flag path fires instead', 2600); +await tap('[data-followup="tarryBlack"][data-answer="no"]', 500); +await page.locator('#urgent-box .alert').waitFor({ state: 'detached' }); +await caption('Dark brown is not silently escalated, and the flag clears the moment the answer changes', 2200); await tap('#close-sheet', 450); await caption('Closing the log keeps the draft in this session instead of throwing it away', 1600); await caption('Now the same photo flow while the vision worker is offline', 1500); diff --git a/src/followup.js b/src/followup.js new file mode 100644 index 0000000..e26a245 --- /dev/null +++ b/src/followup.js @@ -0,0 +1,66 @@ +// Hard-stool follow-up (field finding #67). +// +// After a hard/lumpy (Bristol 1-2) entry, Timmy asks a short follow-up. Every answer +// is user-reported: soreness, difficulty passing, hydration, and black/tarry character +// are never inferred from a photo. The two confirmed red flags map onto the same +// deterministic symptom keys the rest of the app already escalates on. +import { detectUrgentFlags } from './domain.js'; + +export const HARD_STOOL_TYPES = Object.freeze([1, 2]); + +// `urgentFlag` is the existing deterministic symptom key a "yes" maps onto. Questions +// without one stay non-diagnostic self-care only. +export const HARD_STOOL_QUESTIONS = Object.freeze([ + Object.freeze({ id: 'difficultToPass', label: 'Was it hard or difficult to pass?', urgentFlag: null }), + Object.freeze({ id: 'soreness', label: 'Any soreness or sharp pain afterward?', urgentFlag: null }), + Object.freeze({ id: 'bloodVisible', label: 'Any visible red blood?', urgentFlag: 'blood' }), + Object.freeze({ id: 'tarryBlack', label: 'Was it truly black, sticky, or tarry — not just dark brown?', urgentFlag: 'blackOrDarkRed' }), + Object.freeze({ id: 'dehydration', label: 'Do you feel dehydrated, or is your urine unusually dark?', urgentFlag: null }), +]); + +export const HARD_STOOL_GUIDANCE = Object.freeze([ + 'Drink water steadily through the day rather than a lot at once.', + 'Do not strain or force it; give it time and try again later if needed.', + 'Clean gently, pat dry, and avoid scrubbing sore skin.', + 'A few minutes in a warm sitz bath can ease soreness afterward.', + 'A barrier ointment on the outside skin can reduce irritation.', + 'Food-based fiber with fluids helps over days, not minutes.', +]); + +export const HARD_STOOL_GUIDANCE_NOTE = 'General self-care information, not a diagnosis. Your photo cannot rule out bleeding or another cause.'; +export const HARD_STOOL_SEEK_CARE = 'Contact a clinician or urgent service if pain is severe or worsening, you feel faint or weak, you pass very little urine, or any blood appears.'; + +export function isHardStoolForm(bristolType) { + return HARD_STOOL_TYPES.includes(Number(bristolType)); +} + +export function needsHardStoolFollowUp(draft = {}) { + return isHardStoolForm(draft?.bristolType); +} + +export function createFollowUpAnswers() { + return Object.fromEntries(HARD_STOOL_QUESTIONS.map((question) => [question.id, null])); +} + +function confirmedYes(answers, question) { + // Only an explicit `true` counts. `null` (unanswered) and `false` (explicit no) do not escalate. + return answers?.[question.id] === true; +} + +export function evaluateHardStoolFollowUp(answers = {}) { + const answeredIds = HARD_STOOL_QUESTIONS.filter((question) => typeof answers[question.id] === 'boolean'); + const flags = HARD_STOOL_QUESTIONS.filter((question) => question.urgentFlag && confirmedYes(answers, question)) + .map((question) => question.urgentFlag); + const escalated = detectUrgentFlags(Object.fromEntries(flags.map((flag) => [flag, true]))); + const urgent = escalated.urgent; + return { + answered: answeredIds.length > 0, + unanswered: HARD_STOOL_QUESTIONS.filter((question) => !answeredIds.includes(question)).map((question) => question.id), + urgent, + flags, + message: urgent ? escalated.message : '', + guidance: !urgent && answeredIds.length ? [...HARD_STOOL_GUIDANCE] : [], + note: HARD_STOOL_GUIDANCE_NOTE, + seekCare: urgent ? '' : HARD_STOOL_SEEK_CARE, + }; +} diff --git a/styles.css b/styles.css index 8364f7f..12c7a28 100644 --- a/styles.css +++ b/styles.css @@ -30,3 +30,19 @@ main{display:block}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.1em;t .ai-provenance[data-provenance="corrected"] .ai-badge{color:#8a6412} .provenance-note{font-size:12px;line-height:1.45;color:var(--muted);margin:8px 0 0;padding-left:9px;border-left:3px solid #cfc5b6} .ai-provenance[data-provenance="corrected"] .provenance-note{border-left-color:#e0b96a} +.followup{background:#fdf7ea;border:1px solid #eeddb5;border-radius:18px;padding:13px;margin:15px 0 0} +.followup h3{font-size:15px;margin:0 0 4px} +.followup>.fine{margin-bottom:6px} +.followup-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--line)} +.followup-row>span{font-size:13px;line-height:1.35} +.followup-map{display:block;font-size:10px;font-weight:600;color:var(--muted);margin-top:3px} +.followup-toggle{display:flex;gap:6px} +.followup-toggle button{min-height:40px;min-width:54px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--muted);font-weight:800;font-size:12px;cursor:pointer} +.followup-toggle button.selected{background:var(--ink);color:#fff;border-color:var(--ink)} +.followup-guidance{margin-top:12px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px} +.followup-guidance>strong{display:block;font-size:13px} +.followup-guidance ul{margin:8px 0 0;padding-left:18px} +.followup-guidance li{font-size:12.5px;line-height:1.45;color:#4d453e;margin-bottom:4px} +.followup-guidance .fine{margin:8px 0 0} +.followup-guidance.escalated{background:var(--red-soft);border-color:#eec1ba} +.followup-guidance.escalated>strong{color:#75261f} diff --git a/tests/ci-workflow.test.js b/tests/ci-workflow.test.js index 0a58a8f..9d346eb 100644 --- a/tests/ci-workflow.test.js +++ b/tests/ci-workflow.test.js @@ -64,6 +64,20 @@ test('provisional AI suggestion state is a unit-and-browser-gated contract', asy assert.match(workflow, /npm run test:provisional/); }); +test('hard-stool follow-up is a unit-and-browser-gated safety contract', async () => { + const [packageJsonText, workflow] = await Promise.all([ + readFile(packagePath, 'utf8'), + readFile(workflowPath, 'utf8'), + ]); + const packageJson = JSON.parse(packageJsonText); + + assert.match(packageJson.scripts.test, /tests\/followup\.test\.js/); + assert.equal(packageJson.scripts['test:followup'], 'node tests/followup.acceptance.mjs'); + assert.match(packageJson.scripts['check:syntax'], /node --check src\/followup\.js/); + assert.match(packageJson.scripts['check:syntax'], /node --check tests\/followup\.acceptance\.mjs/); + assert.match(workflow, /npm run test:followup/); +}); + test('staging smoke is an explicit syntax-gated promotion command, never a PR network call', async () => { const [packageJson, workflow] = await Promise.all([ readFile(packagePath, 'utf8').then(JSON.parse), diff --git a/tests/followup.acceptance.mjs b/tests/followup.acceptance.mjs new file mode 100644 index 0000000..b4b8435 --- /dev/null +++ b/tests/followup.acceptance.mjs @@ -0,0 +1,104 @@ +import { chromium } from 'playwright'; +import assert from 'node:assert/strict'; +import { mkdir } from 'node:fs/promises'; + +await mkdir('artifacts', { recursive: true }); +const browser = await chromium.launch({ headless: true }); +const context = await browser.newContext({ viewport: { width: 390, height: 844 }, deviceScaleFactor: 2, serviceWorkers: 'block' }); +const page = await context.newPage(); +const errors = []; +page.on('console', message => { if (message.type() === 'error') errors.push(message.text()); }); +page.on('pageerror', error => errors.push(error.message)); +await page.route('**/api/vision-status', route => route.fulfill({ + status: 200, + contentType: 'application/json', + body: JSON.stringify({ enabled: true, profile: 'selfhost', processor: 'self-hosted', model: 'SmolVLM2-2.2B-Instruct', providerReady: true, modelSeen: true }), +})); +await page.route('**/api/analyze', route => route.fulfill({ + status: 200, + contentType: 'application/json', + body: JSON.stringify({ + status: 'suggestion', isStool: true, bristolType: 2, color: 'brown', confidence: 0.71, + imageQuality: 'good', observations: 'Small, separate, hard-looking lumps.', + warning: 'Visual suggestion only. Confirm it yourself; this is not a diagnosis.', + }), +})); + +await page.goto('http://127.0.0.1:4173', { waitUntil: 'networkidle' }); +await page.evaluate(() => localStorage.clear()); +await page.reload({ waitUntil: 'networkidle' }); + +// 1. A hard/lumpy photo suggestion still contains only visible form, colour, and quality. +await page.locator('[data-scan]').click(); +await page.getByText(/Self-hosted model ready/i).waitFor(); +await page.locator('#gallery-photo').setInputFiles('tests/fixtures/synthetic-type4.jpg'); +await page.locator('#ai-consent').check(); +await page.locator('#analyze-photo').click(); +const suggestion = page.locator('[data-provenance="pending"]'); +await suggestion.waitFor(); +const suggestionText = await suggestion.innerText(); +assert.match(suggestionText, /Type 2/); +assert.doesNotMatch(suggestionText, /sore|dehydrat|tarry|difficult to pass|blood/i, 'the photo suggestion may never mention user-reported symptoms'); + +// 2. Confirming the suggestion and moving to the safety step offers the follow-up for a hard form. +await page.locator('#use-suggestion').click(); +await page.locator('#next').click(); +await page.locator('#next').click(); +const block = page.locator('[data-followup-block]'); +await block.waitFor(); +assert.equal(await block.count(), 1, 'a Bristol 2 entry asks the hard-stool follow-up'); +assert.equal(await page.locator('[data-followup]').count(), 10, 'five questions, each with an explicit yes and no'); +const askedIds = await page.locator('.followup-row').evaluateAll(rows => rows.map(row => row.dataset.question)); +assert.deepEqual(askedIds.sort(), ['bloodVisible', 'dehydration', 'difficultToPass', 'soreness', 'tarryBlack']); +assert.match(await block.innerText(), /never (guesses|infers)/i, 'the copy states these are user-reported, never inferred'); +assert.equal(await page.locator('[data-followup].selected').count(), 0, 'no question may be pre-answered'); +assert.equal(await page.locator('#urgent-box .alert').count(), 0, 'an unanswered follow-up never escalates'); +assert.match(await page.locator('#followup-output').innerText(), /answer/i, 'the user is asked to answer rather than given invented findings'); + +// 3. A mild hard-stool report gets proportionate non-diagnostic self-care and no escalation. +for (const id of ['difficultToPass', 'soreness', 'dehydration']) await page.locator(`[data-followup="${id}"][data-answer="yes"]`).click(); +await page.locator('[data-followup="tarryBlack"][data-answer="no"]').click(); +await page.locator('[data-followup="bloodVisible"][data-answer="no"]').click(); +const guidance = page.locator('#followup-guidance'); +await guidance.waitFor(); +assert.match(await guidance.innerText(), /not a diagnosis/i); +assert.match(await guidance.innerText(), /cannot rule out/i); +assert.match(await guidance.innerText(), /bleeding/i); +assert.match(await guidance.innerText(), /water|hydrat/i); +assert.match(await guidance.innerText(), /strain/i); +assert.equal(await page.locator('#urgent-box .alert').count(), 0, 'dark brown plus soreness must not escalate'); +await page.screenshot({ path: 'artifacts/followup-hard-stool-mobile.png' }); + +// 4. Confirming truly black/tarry stool lands on the existing deterministic path. +await page.locator('[data-followup="tarryBlack"][data-answer="yes"]').click(); +const alert = page.locator('#urgent-box .alert'); +await alert.waitFor(); +assert.match(await alert.innerText(), /Pause and get medical help\./); +assert.equal(await page.locator('[data-symptom="blackOrDarkRed"]').isChecked(), true, 'the confirmed answer sets the app\'s own red-flag control'); + +// 5. Clearing that answer clears the escalation instead of sticking. +await page.locator('[data-followup="tarryBlack"][data-answer="no"]').click(); +assert.equal(await page.locator('#urgent-box .alert').count(), 0); +assert.equal(await page.locator('[data-symptom="blackOrDarkRed"]').isChecked(), false); + +// 6. Visible blood is the other existing deterministic flag. +await page.locator('[data-followup="bloodVisible"][data-answer="yes"]').click(); +await page.locator('#urgent-box .alert').waitFor(); +assert.equal(await page.locator('[data-symptom="blood"]').isChecked(), true); + +// 7. Non-hard forms never see the follow-up. +await page.locator('#back').click(); +await page.locator('#back').click(); +await page.locator('[data-type="6"]').click(); +await page.locator('#next').click(); +await page.locator('#next').click(); +assert.equal(await page.locator('[data-followup-block]').count(), 0, 'loose forms are not asked hard-stool questions'); +assert.equal(await page.locator('[data-symptom="blood"]').isChecked(), true, 'an answer the user already confirmed is not silently dropped'); +assert.equal(await page.locator('#urgent-box .alert').count(), 1, 'the deterministic path still reflects that confirmed answer'); +await page.locator('[data-symptom="blood"]').uncheck(); +assert.equal(await page.locator('#urgent-box .alert').count(), 0, 'clearing the confirmed flag clears the escalation'); + +assert.deepEqual(errors, []); +await context.close(); +await browser.close(); +console.log('PASS hard-stool follow-up is user-reported, non-diagnostic for mild reports, and lands on the deterministic escalation path'); diff --git a/tests/followup.test.js b/tests/followup.test.js new file mode 100644 index 0000000..fcd5eaf --- /dev/null +++ b/tests/followup.test.js @@ -0,0 +1,122 @@ +import test from 'node:test'; +import assert from 'node:assert/strict'; +import { detectUrgentFlags } from '../src/domain.js'; +import { + HARD_STOOL_QUESTIONS, + HARD_STOOL_TYPES, + createFollowUpAnswers, + evaluateHardStoolFollowUp, + isHardStoolForm, + needsHardStoolFollowUp, +} from '../src/followup.js'; + +// Field finding #67: after a hard/lumpy (Bristol 1-2) log, Timmy asks a short +// user-reported follow-up. Nothing here may be inferred from the photo, dark brown +// must never be silently escalated as black stool, and confirmed red flags must land +// on the same deterministic escalation path the rest of the app already uses. + +const questionIds = () => HARD_STOOL_QUESTIONS.map((question) => question.id); + +test('the hard-stool follow-up only appears for Bristol 1 and 2', () => { + assert.deepEqual([...HARD_STOOL_TYPES], [1, 2]); + assert.equal(isHardStoolForm(1), true); + assert.equal(isHardStoolForm(2), true); + for (const type of [3, 4, 5, 6, 7]) assert.equal(isHardStoolForm(type), false, `Type ${type} is not hard/lumpy`); + assert.equal(isHardStoolForm(undefined), false); + assert.equal(isHardStoolForm('2'), true, 'a form value from the DOM is still the same form'); + assert.equal(needsHardStoolFollowUp({ bristolType: 2 }), true); + assert.equal(needsHardStoolFollowUp({ bristolType: 4 }), false); + assert.equal(needsHardStoolFollowUp({}), false); +}); + +test('every follow-up question starts unanswered and is never pre-filled', () => { + const answers = createFollowUpAnswers(); + + assert.deepEqual(questionIds().slice().sort(), [ + 'bloodVisible', + 'dehydration', + 'difficultToPass', + 'soreness', + 'tarryBlack', + ]); + assert.equal(HARD_STOOL_QUESTIONS.length, 5); + for (const question of HARD_STOOL_QUESTIONS) { + assert.equal(answers[question.id], null, `${question.id} must start unanswered`); + assert.match(question.label, /was it|any |do you/i, `${question.id} must ask the user, not infer`); + } +}); + +test('an unanswered follow-up never escalates and never invents guidance', () => { + const verdict = evaluateHardStoolFollowUp(createFollowUpAnswers()); + + assert.equal(verdict.answered, false); + assert.equal(verdict.urgent, false); + assert.deepEqual(verdict.flags, []); + assert.equal(verdict.message, ''); + assert.deepEqual(verdict.guidance, [], 'unanswered questions must not produce self-care copy'); +}); + +test('a mild hard-stool report keeps non-diagnostic self-care and no escalation', () => { + const verdict = evaluateHardStoolFollowUp({ + difficultToPass: true, + soreness: true, + bloodVisible: false, + tarryBlack: false, + dehydration: true, + }); + + assert.equal(verdict.answered, true); + assert.equal(verdict.urgent, false); + assert.deepEqual(verdict.flags, []); + assert.equal(verdict.message, ''); + assert.ok(verdict.guidance.length >= 3, 'a mild report still gets proportionate self-care'); + assert.equal(verdict.guidance.some((line) => /water|hydrat/i.test(line)), true); + assert.equal(verdict.guidance.some((line) => /strain/i.test(line)), true); +}); + +test('the mild guidance never implies the photo ruled out bleeding', () => { + const verdict = evaluateHardStoolFollowUp({ soreness: true, bloodVisible: false, tarryBlack: false }); + + assert.match(verdict.note, /not a diagnosis/i); + assert.match(verdict.note, /cannot rule out|did not rule out/i); + assert.match(verdict.note, /bleeding/i); + assert.doesNotMatch(verdict.note, /rules out|safe|cleared|no bleeding/i); +}); + +test('confirmed visible blood maps onto the existing deterministic blood red flag', () => { + const verdict = evaluateHardStoolFollowUp({ bloodVisible: true }); + + assert.equal(verdict.urgent, true); + assert.deepEqual(verdict.flags, ['blood']); + assert.equal(verdict.message, detectUrgentFlags({ blood: true }).message, 'urgent copy comes from the canonical path'); + assert.deepEqual(verdict.guidance, [], 'escalation copy must not be softened with self-care'); +}); + +test('confirmed black or tarry stool maps onto the existing deterministic blackOrDarkRed red flag', () => { + const verdict = evaluateHardStoolFollowUp({ tarryBlack: true }); + + assert.equal(verdict.urgent, true); + assert.deepEqual(verdict.flags, ['blackOrDarkRed']); + assert.equal(verdict.message, detectUrgentFlags({ blackOrDarkRed: true }).message); +}); + +test('dark brown is not silently escalated as black stool', () => { + const explicitDarkBrown = evaluateHardStoolFollowUp({ difficultToPass: true, tarryBlack: false }); + const unansweredTarry = evaluateHardStoolFollowUp({ difficultToPass: true }); + const colorAlone = evaluateHardStoolFollowUp({ color: 'black', note: 'dark brown' }); + + assert.equal(explicitDarkBrown.urgent, false, 'answering "dark brown" must not escalate'); + assert.equal(unansweredTarry.urgent, false, 'an unanswered colour question is not a yes'); + assert.equal(colorAlone.urgent, false, 'a draft colour value is never treated as a confirmed tarry finding'); +}); + +test('an unanswered question is not silently treated as a no', () => { + const partial = evaluateHardStoolFollowUp({ soreness: true }); + + assert.equal(partial.answered, true); + assert.equal(partial.urgent, false); + assert.deepEqual(partial.flags, []); + assert.equal(partial.unanswered.length, 4, 'the verdict reports what the user still has not answered'); + const all = evaluateHardStoolFollowUp({ bloodVisible: false, tarryBlack: false, soreness: false, difficultToPass: false, dehydration: false }); + assert.deepEqual(all.unanswered, []); +}); diff --git a/tests/release-demo.test.js b/tests/release-demo.test.js index 0d04bfc..8003d8f 100644 --- a/tests/release-demo.test.js +++ b/tests/release-demo.test.js @@ -73,3 +73,27 @@ test('release builder gates the provisional suggestion states the same way CI do assert.match(builder, /"src\/suggestion\.js"/); assert.match(builder, /AI suggestions stay provisional/); }); + +test('release demo visibly exercises the user-reported hard-stool follow-up and its red-flag handoff', async () => { + const demo = await readFile(demoPath, 'utf8'); + + assert.match(demo, /\[data-followup-block\]/); + assert.match(demo, /Type 2 is hard or lumpy, so Timmy asks about soreness, hydration, blood, and black-or-tarry — never guessed from the photo/); + assert.match(demo, /\[data-followup="bloodVisible"\]\[data-answer="no"\]/); + assert.match(demo, /Every answer is yours to give, and a skipped question stays unanswered/); + assert.match(demo, /#followup-guidance/); + assert.match(demo, /Mild report: steady water, no straining, gentle care — general self-care, not a diagnosis/); + assert.match(demo, /And it never claims the photo ruled out bleeding/); + assert.match(demo, /\[data-followup="tarryBlack"\]\[data-answer="yes"\]/); + assert.match(demo, /Say it was truly black and tarry and the same deterministic red-flag path fires instead/); + assert.match(demo, /Dark brown is not silently escalated, and the flag clears the moment the answer changes/); +}); + +test('release builder gates the hard-stool follow-up the same way CI does', async () => { + const builder = await readFile(builderPath, 'utf8'); + + assert.match(builder, /"test:followup"/); + assert.match(builder, /"hard_stool_followup": "passed"/); + assert.match(builder, /"src\/followup\.js"/); + assert.match(builder, /Hard-stool follow-up: a Bristol 1-2 entry asks user-reported questions/); +});