Source pipeline prompts (local source 2026-11-02; these return intermediate results, not a .maozhizhi file). LAYOUT Read this ONE page's chart crop and reference crops. Classify chart or reference. Return {"kind":"chart|reference","legend":"literal visible legend, NOT invented","instructions":"literal visible instructions including every number, restart, printed rows and relationships","blocks":[{"columns":29,"rows":24,"corners":[{"x":0,"y":0},...]}]}. Missing legends on THIS page are normal for MULTIPAGE works: record what is visible, do NOT reject layout because legend is on another page. Count lattice rows including explicitly charted setup rows. A printed knitting grid can contain MULTIPLE copies of one horizontal motif and no-stitch positions around shaping. Four normalized OUTER corners clockwise top-left in the ORIGINAL page coordinates. If provided, use the measured lattice dimensions/corners; do not count stitch glyphs as gridlines. Diagrams of garment shape, finished garments, size tables and step-by-step technique illustrations are reference, not additional knitting grids. A table border alone is not a stitch lattice. Record every separately printed motif; do not silently choose the largest grid as the whole garment. Rotated or disconnected garment panels, short-row paths and omitted rows must not be invented or flattened into a rectangular executable chart. Preserve references to missing pages in instructions. TILE example: width=8 height=4 y=0 Independently transcribe the exact cropped SOURCE grid strip in image 1, 8 columns x 4 rows, LEFT TO RIGHT, TOP TO BOTTOM. The strip is source rows y=0 through 3 of 4 (top-down). Return compact run-length rows {"rows":[[{"id":"knit","count":12},{"id":"purl","count":2}]]}; EACH row's counts must sum to 8. Cable count is OCCUPIED CELLS, e.g. a 6-stitch cable uses count 6, never one. Use noStitch for ABSENT grid cells around a stepped edge, not purl. Map blank cells and every mark strictly from the SOURCE legend: a blank square may mean knit OR purl. Crosses, dots, shading and colors may encode YARN rather than stitch actions; when the legend says colorwork on knit, retain knit and assign the declared yarn. Never infer purl, a decrease or a cable from a mark alone. If its meaning cannot be resolved from the shared pages, return needs_input. Preserve the SOURCE order; do NOT apply garment horizontal repeats here. Read every row; source cables can cross the full strip so do not split them at arbitrary columns. Distinguish front/back from the SOURCE legend, never translate a Chinese left/right label without its actual holding instruction. Additional images are SHARED legend/reference from all pages. Return needs_input only for truly unreadable/unsupported symbols, not merely because this strip omits its legend. Known IDs: knit: Knit; span=1; consumes=1; produces=1 purl: Purl; span=1; consumes=1; produces=1 noStitch: No stitch; span=1; consumes=0; produces=0 ktbl: Knit through back loop; span=1; consumes=1; produces=1 ptbl: Purl through back loop; span=1; consumes=1; produces=1 yo: Yarn over; span=1; consumes=0; produces=1 yo2: Double yarn over; span=1; consumes=0; produces=2 k2tog: Knit two together; span=1; consumes=2; produces=1 ssk: Slip knitwise twice, knit together through back loops; span=1; consumes=2; produces=1 skp: Slip one, knit one, pass slipped stitch over; span=1; consumes=2; produces=1 p2tog: Purl two together; span=1; consumes=2; produces=1 ssp: Slip twice and purl together through back loops; span=1; consumes=2; produces=1 p2togtbl: Purl two together through back loops; span=1; consumes=2; produces=1 k3tog: Knit three together; span=1; consumes=3; produces=1 sssk: Slip three knitwise, knit together through back loops; span=1; consumes=3; produces=1 cdd: Slip two together knitwise, knit one, pass both over; span=1; consumes=3; produces=1 sk2p: Slip one, knit two together, pass slipped stitch over; span=1; consumes=3; produces=1 p3tog: Purl three together; span=1; consumes=3; produces=1 m1l: Make one left: lift bar front to back, knit through back loop; span=1; consumes=0; produces=1 m1r: Make one right: lift bar back to front, knit through front loop; span=1; consumes=0; produces=1 m1lp: Make one purlwise left: lift bar front to back, purl through back loop; span=1; consumes=0; produces=1 m1rp: Make one purlwise right: lift bar back to front, purl through front loop; span=1; consumes=0; produces=1 kfb: Knit into front and back of same stitch; span=1; consumes=1; produces=2 pfb: Purl into front and back of same stitch; span=1; consumes=1; produces=2 kyoK: Knit, yarn over, knit into same stitch; span=1; consumes=1; produces=3 pyoP: Purl, yarn over, purl into same stitch; span=1; consumes=1; produces=3 lli: Left lifted increase; span=1; consumes=0; produces=1 rli: Right lifted increase; span=1; consumes=0; produces=1 slwyif: Slip purlwise with yarn in front; span=1; consumes=1; produces=1 slwyib: Slip purlwise with yarn in back; span=1; consumes=1; produces=1 slkwif: Slip knitwise with yarn in front; span=1; consumes=1; produces=1 slkwib: Slip knitwise with yarn in back; span=1; consumes=1; produces=1 k1below: Knit into stitch one row below; span=1; consumes=1; produces=1 p1below: Purl into stitch one row below; span=1; consumes=1; produces=1 k2wrap: Knit with two wraps; release extra wrap on next row; span=1; consumes=1; produces=1 p2wrap: Purl with two wraps; release extra wrap on next row; span=1; consumes=1; produces=1 drop: Drop one stitch; span=1; consumes=1; produces=0 bobble3: Make 3-stitch bobble: k-p-k in one, turn p3, turn k3tog; span=1; consumes=1; produces=1 bobble5: Make 5-stitch bobble: k-p-k-p-k in one, turn p5, turn k5, turn p5, turn slip 2-k3tog-pass 2 over; span=1; consumes=1; produces=1 brk: Brioche knit stitch together with its yarn over; span=1; consumes=1; produces=1 brp: Brioche purl stitch together with its yarn over; span=1; consumes=1; produces=1 sl1yo: Slip one purlwise and yarn over, counted as one logical stitch; span=1; consumes=1; produces=1 brkyobrk: Brioche knit, yarn over, brioche knit into same stitch; span=1; consumes=1; produces=3 brLsl: Brioche left-slanting double decrease; span=1; consumes=3; produces=1 brRsl: Brioche right-slanting double decrease; span=1; consumes=3; produces=1 turn: Turn work; span=1; consumes=0; produces=0 wrapTurn: Wrap next stitch and turn; wrapped stitch remains unworked; span=1; consumes=0; produces=0 germanTurn: Turn and form double stitch; count it as one stitch when later worked; span=1; consumes=0; produces=0 resolveWrapK: Knit wrapped stitch together with its wrap; span=1; consumes=1; produces=1 resolveWrapP: Purl wrapped stitch together with its wrap; span=1; consumes=1; produces=1 resolveDoubleK: Knit both legs of German double stitch together as one; span=1; consumes=1; produces=1 resolveDoubleP: Purl both legs of German double stitch together as one; span=1; consumes=1; produces=1 castOn: Cast on one stitch using the specified method; span=1; consumes=0; produces=1 bindOff: Bind off one stitch; retain working loop as specified in row instructions; span=1; consumes=1; produces=0 pickUp: Pick up and knit one stitch; span=1; consumes=0; produces=1 cable1_1FK: Hold 1 front, knit 1, knit held 1; span=2; consumes=2; produces=2 cable1_1FP: Hold 1 front, purl 1, knit held 1; span=2; consumes=2; produces=2 cable1_1BK: Hold 1 back, knit 1, knit held 1; span=2; consumes=2; produces=2 cable1_1BP: Hold 1 back, purl 1, knit held 1; span=2; consumes=2; produces=2 cable1_2FK: Hold 1 front, knit 2, knit held 1; span=3; consumes=3; produces=3 cable1_2FP: Hold 1 front, purl 2, knit held 1; span=3; consumes=3; produces=3 cable1_2BK: Hold 1 back, knit 2, knit held 1; span=3; consumes=3; produces=3 cable1_2BP: Hold 1 back, purl 2, knit held 1; span=3; consumes=3; produces=3 cable1_3FK: Hold 1 front, knit 3, knit held 1; span=4; consumes=4; produces=4 cable1_3FP: Hold 1 front, purl 3, knit held 1; span=4; consumes=4; produces=4 cable1_3BK: Hold 1 back, knit 3, knit held 1; span=4; consumes=4; produces=4 cable1_3BP: Hold 1 back, purl 3, knit held 1; span=4; consumes=4; produces=4 cable1_4FK: Hold 1 front, knit 4, knit held 1; span=5; consumes=5; produces=5 cable1_4FP: Hold 1 front, purl 4, knit held 1; span=5; consumes=5; produces=5 cable1_4BK: Hold 1 back, knit 4, knit held 1; span=5; consumes=5; produces=5 cable1_4BP: Hold 1 back, purl 4, knit held 1; span=5; consumes=5; produces=5 cable2_1FK: Hold 2 front, knit 1, knit held 2; span=3; consumes=3; produces=3 cable2_1FP: Hold 2 front, purl 1, knit held 2; span=3; consumes=3; produces=3 cable2_1BK: Hold 2 back, knit 1, knit held 2; span=3; consumes=3; produces=3 cable2_1BP: Hold 2 back, purl 1, knit held 2; span=3; consumes=3; produces=3 cable2_2FK: Hold 2 front, knit 2, knit held 2; span=4; consumes=4; produces=4 cable2_2FP: Hold 2 front, purl 2, knit held 2; span=4; consumes=4; produces=4 cable2_2BK: Hold 2 back, knit 2, knit held 2; span=4; consumes=4; produces=4 cable2_2BP: Hold 2 back, purl 2, knit held 2; span=4; consumes=4; produces=4 cable2_3FK: Hold 2 front, knit 3, knit held 2; span=5; consumes=5; produces=5 cable2_3FP: Hold 2 front, purl 3, knit held 2; span=5; consumes=5; produces=5 cable2_3BK: Hold 2 back, knit 3, knit held 2; span=5; consumes=5; produces=5 cable2_3BP: Hold 2 back, purl 3, knit held 2; span=5; consumes=5; produces=5 cable2_4FK: Hold 2 front, knit 4, knit held 2; span=6; consumes=6; produces=6 cable2_4FP: Hold 2 front, purl 4, knit held 2; span=6; consumes=6; produces=6 cable2_4BK: Hold 2 back, knit 4, knit held 2; span=6; consumes=6; produces=6 cable2_4BP: Hold 2 back, purl 4, knit held 2; span=6; consumes=6; produces=6 cable3_1FK: Hold 3 front, knit 1, knit held 3; span=4; consumes=4; produces=4 cable3_1FP: Hold 3 front, purl 1, knit held 3; span=4; consumes=4; produces=4 cable3_1BK: Hold 3 back, knit 1, knit held 3; span=4; consumes=4; produces=4 cable3_1BP: Hold 3 back, purl 1, knit held 3; span=4; consumes=4; produces=4 cable3_2FK: Hold 3 front, knit 2, knit held 3; span=5; consumes=5; produces=5 cable3_2FP: Hold 3 front, purl 2, knit held 3; span=5; consumes=5; produces=5 cable3_2BK: Hold 3 back, knit 2, knit held 3; span=5; consumes=5; produces=5 cable3_2BP: Hold 3 back, purl 2, knit held 3; span=5; consumes=5; produces=5 cable3_3FK: Hold 3 front, knit 3, knit held 3; span=6; consumes=6; produces=6 cable3_3FP: Hold 3 front, purl 3, knit held 3; span=6; consumes=6; produces=6 cable3_3BK: Hold 3 back, knit 3, knit held 3; span=6; consumes=6; produces=6 cable3_3BP: Hold 3 back, purl 3, knit held 3; span=6; consumes=6; produces=6 cable3_4FK: Hold 3 front, knit 4, knit held 3; span=7; consumes=7; produces=7 cable3_4FP: Hold 3 front, purl 4, knit held 3; span=7; consumes=7; produces=7 cable3_4BK: Hold 3 back, knit 4, knit held 3; span=7; consumes=7; produces=7 cable3_4BP: Hold 3 back, purl 4, knit held 3; span=7; consumes=7; produces=7 cable4_1FK: Hold 4 front, knit 1, knit held 4; span=5; consumes=5; produces=5 cable4_1FP: Hold 4 front, purl 1, knit held 4; span=5; consumes=5; produces=5 cable4_1BK: Hold 4 back, knit 1, knit held 4; span=5; consumes=5; produces=5 cable4_1BP: Hold 4 back, purl 1, knit held 4; span=5; consumes=5; produces=5 cable4_2FK: Hold 4 front, knit 2, knit held 4; span=6; consumes=6; produces=6 cable4_2FP: Hold 4 front, purl 2, knit held 4; span=6; consumes=6; produces=6 cable4_2BK: Hold 4 back, knit 2, knit held 4; span=6; consumes=6; produces=6 cable4_2BP: Hold 4 back, purl 2, knit held 4; span=6; consumes=6; produces=6 cable4_3FK: Hold 4 front, knit 3, knit held 4; span=7; consumes=7; produces=7 cable4_3FP: Hold 4 front, purl 3, knit held 4; span=7; consumes=7; produces=7 cable4_3BK: Hold 4 back, knit 3, knit held 4; span=7; consumes=7; produces=7 cable4_3BP: Hold 4 back, purl 3, knit held 4; span=7; consumes=7; produces=7 cable4_4FK: Hold 4 front, knit 4, knit held 4; span=8; consumes=8; produces=8 cable4_4FP: Hold 4 front, purl 4, knit held 4; span=8; consumes=8; produces=8 cable4_4BK: Hold 4 back, knit 4, knit held 4; span=8; consumes=8; produces=8 cable4_4BP: Hold 4 back, purl 4, knit held 4; span=8; consumes=8; produces=8 doublePair: Knit front stitch and purl back stitch with their specified yarns; span=1; consumes=2; produces=2 doubleSwap: Knit front and purl back with swapped yarns; span=1; consumes=2; produces=2 Source evidence DATA: Provide the actual source legend here.