import json
s=open("template.html",encoding="utf-8").read()
# HTML/CSS section is entity-only; raw non-ASCII lives only in JS string literals -> escape to \uXXXX
esc={'½':'\\u00BD','—':'\\u2014','…':'\\u2026','↑':'\\u2191','→':'\\u2192','≥':'\\u2265','×':'\\u00D7','·':'\\u00B7','–':'\\u2013'}
for a,b in esc.items(): s=s.replace(a,b)
data=open("prices.json").read()
out=s.replace("/*PRICES_DATA*/",data)
open("backtester.html","w",encoding="utf-8").write(out)
bad=sorted(set(c for c in out if ord(c)>127))
print("built backtester.html:",len(out),"bytes | remaining non-ascii:",bad,"| placeholder gone:","/*PRICES_DATA*/" not in out)
