"""Recover the JSON element shape consumed by the array-root draft response."""

targets = (
    0x180138BD0,  # helper called once per array element
    0x180150310,  # array-root FutPurchaseDraftModeServerResponse parser
)

seen = set()
for target in targets:
    print("\n=== TARGET", hex(target), fname(target), "===")
    print(dec(target, 500))
    print("XREFS", xrefs_to(target)[:150])

    # Include direct callees so small string/value accessors used by the helper
    # are visible without broad, noisy whole-program searching.
    for callee, name in callees(target):
        if callee in seen:
            continue
        seen.add(callee)
        print("\n--- CALLEE", hex(callee), name, "---")
        print(dec(callee, 250))

print("QUERY_DONE")
