#!/usr/bin/env python3
from pathlib import Path
import json
p=Path(__file__).resolve().parents[1];t=(p/'script/script_cold_breath.txt').read_text().casefold()
g={
 'warm_humid_exhale':['ấm','ẩm','gần trạng thái bão hòa'],
 'mix_cold':['trộn lẫn','không khí lạnh'],
 'dew_point':['điểm sương cục bộ'],
 'condensation':['ngưng tụ','giọt nước lỏng'],
 'micron_scatter':['micromet','tán xạ ánh sáng'],
 'vapor_invisible':['water vapor','không nhìn thấy','dạng khí vô hình'],
 'not_smoke':['không phải khói'],
 'not_co2':['carbon dioxide','co2'],
 'not_ice_default':['không mặc định là băng','tinh thể băng'],
 'not_lung_freeze':['phổi của bạn không “đóng băng”'],
 'environment':['nhiệt độ','độ ẩm','gió','nền phía sau'],
 're_evaporation':['bay hơi trở lại','trộn loãng'],
 'mask':['khẩu trang','kính có thể mờ'],
 'airway_safety':['hen','đường thở nhạy cảm'],
 'urgent':['khó thở đáng kể','đau ngực','tím tái','lú lẫn','chăm sóc y tế khẩn cấp'],
 'no_diagnosis':['không thể dùng để chẩn đoán','không phải là phép đo'],
 'payoff':['nước đang đổi hình dạng']}
missing=[k for k,v in g.items() if not any(x in t for x in v)]
forbidden=['hơi nước nhìn thấy trực tiếp','hơi thở trắng là khói','phổi đóng băng']
bad=[x for x in forbidden if x in t and not any(n in t[max(0,t.find(x)-45):t.find(x)+len(x)+20] for n in ['không phải','không nhìn thấy','không thể'])]
out={'status':'PASS' if not missing and not bad else 'FAIL','groups':len(g),'missing':missing,'forbidden_hits':bad}
print(json.dumps(out,ensure_ascii=False));raise SystemExit(0 if out['status']=='PASS' else 1)
