npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

xd-crossword-tools

v8.0.0

Published

Tools for taking different crossword file formats and converting them to xd, and for converting an xd file to useful JSON

Downloads

1,049

Readme

xd-crossword-tools

xd is a text-based crossword format which is easy for humans to read and reason about.

This repo provides tools for taking different crossword file formats and converting them to xd. Then has a comprehensive xd to JSON function. Mostly conforms to the v2 xd spec, and comes with a few editor-experience extensions for a REPL-like environment. Uses a vendored copy of 'puzjs' which was ported to TypeScript.

Runs in node, browsers, React Native and edge runtimes.

Documentation for authoring in xd

User Guide.

.xd to .JSON

import { xdToJSON } from "xd-crossword-tools"

const xd = "[...]"
const crossword = xdToJSON(xd)

The JSON format is a bit more verbose than you might expect (see below for an example), but the goal is to have as much information pre-computed at parse time in order to save lookups later at runtime. You should use crossword.report to determine the parsing's success. You can see the type definitions here: ./lib/types.ts.

.puz to .xd

Builds on puzjs (ISC license). The puz format is generally what tools and websites will give you as an output format.

import { puzToXD } from "xd-crossword-tools"

const puzResponse = await fetch(url)
const puzBuffer = await res.arrayBuffer()
const xd = puzToXD(puzBuffer)

This API should cover most features in puz and xd.

UClick .xml to .xd

import { uclickXMLToXd } from "xd-crossword-tools"

const xmlResponse = await fetch(url)
const xmlString = await res.body()
const xd = uclickXMLToXd(xmlString)

.xd to .puz

We don't support all of .puz features, but this library can generate a JSON object which can then be used @confuzzle/writepuz to generate a .puz file as a buffer which you can write to a file in node, or offer as a download on the web.

import { JSONToPuzJSON } from "xd-crossword-tools"
import { writepuz } from "@confuzzle/writepuz"

const xd = "[...]"
const writeJSON = JSONToPuzJSON(xd)
const puzBuffer = writepuz(writeJSON)

Editor Support

You can opt-in to more information from the parser, and lint warnings, by passing true as the third argument to xdToJSON.

Triggering this will:

  • Turn on the linter for your code editor, which will give you warnings about your crossword based on pretty universally useful rules.
  • Add section metadata in the return value's editorInfo property
  • Add line numbers to the metadata section of the puzzle
  • Add line numbers to clues/hints/other in the metadata section of each clue

This library includes editorInfoAtCursor which can get some information about what's under the cursor at { line, index }.

import { xdToJSON, editorInfoAtCursor } from "xd-crossword-tools"

const xd = "[...]"
const editorSupport = true
const crossword = xdToJSON(xd, true, editorSupport)

const info = editorInfoAtCursor(crossword)
const cursorInfo = info(0, 0)

Which returns a union of different results, you can check the types + tests to see what's available, but it's something like this:

export type PositionInfo =
  | { type: "noop" }
  | { type: "grid"; position: Position }
  | { type: "clue"; direction: CursorDirection; number: number }
  | ...

xd Diffing

This library includes a diffing function which can take two xd strings and return a list of changes. This is useful for version control, and for building a diffing UI.

import { diffXD } from "xd-crossword-tools"

const diff = diffXD(xd1, xd2)

Example

Let's take this free .puz: https://dehodson.github.io/crossword-puzzles/crosswords/alpha-bits/

Their .puz file turns into this xd:

## Metadata

title: Alpha-Bits
author: Drew Hodson
copyright: © 2021
description: N/A

## Grid

AHAB..CUD.SERIF
MADAM.ANY.ABODE
PLANE.DIE.NOTON
....TODO.EGO...
GASH.NINJA.KEEL
ARTICLE.ORU.DOE
YEARLY.MISPRINT
..NEI.MAN.SOT..
CALENDAR.RETIES
ICE.TAR.POTHOLE
OTEP.HQTRS.SNIT
...ALL.HEAL....
SPIRO.NET.ATLAS
TARTS.ETA.DOONE
UWAVE.WAX..YUTZ


## Clues

A1. Captain of the Pequod ~ AHAB
A5. Food for second chance chewing ~ CUD
A8. Font feature ~ SERIF
A13. Palindromic address to a female ~ MADAM
A15. ___ Way You Want It ~ ANY
A16. Place often described as humble ~ ABODE
A17. Flat two dimensional surface in geometry ~ PLANE
A18. Grim homophone of 7D ~ DIE
A19. Off ~ NOTON
A20. Heading for some lists ~ TODO
A22. Kanye West is famous for his ~ EGO
A23. Laceration ~ GASH
A27. Alias of Twitch star Richard Tyler Blevins ~ NINJA
A29. Capsize ~ KEEL
A33. Piece of clothing or print ~ ARTICLE
A35. Evangelical school in Tulsa, OK ~ ORU
A37. ___-eyed ~ DOE
A38. Annual ~ YEARLY
A39. The stamp with the upside down airplane is a famous one ~ MISPRINT
A41. With 42A and Marcus, a luxury department store chain ~ NEI
A42. 41A continued ~ MAN
A43. Lush ~ SOT
A44. The Mayan one ended in 2012 ~ CALENDAR
A47. What a child often does to their shoes ~ RETIES
A50. Vanilla ___ ~ ICE
A51. Maligned cigarette ingredient ~ TAR
A52. Frequent cause for a new tire ~ POTHOLE
A53. Los Angeles heavy metal act ~ OTEP
A55. Bldgs. such as the Googleplex ~ HQTRS
A57. A fit of irritation ~ SNIT
A58. Lead-in to American or day ~ ALL
A60. What Pokémon do at a Pokémon Center ~ HEAL
A62. Nixon's vice ~ SPIRO
A65. Nothing but ___ ~ NET
A66. One with the world on his shoulders ~ ATLAS
A71. Filled pastries ~ TARTS
A72. Age, in Milan ~ ETA
A73. Lorna ___, novel or cookie ~ DOONE
A74. Electrocardiogram readout feature ~ UWAVE
A75. Hip slang for records ~ WAX
A76. Yiddish for a foolish person ~ YUTZ

D1. Pc. of concert gear ~ AMP
D2. AI antagonist of 2001 ~ HAL
D3. Programming pioneer Lovelace ~ ADA
D4. Prohibit ~ BAN
D5. Type of person to routinely carry a club ~ CADDIE
D6. State of the ___ Address ~ UNION
D7. Colorful homophone of 18A ~ DYE
D8. Snitched ~ SANG
D9. Kindle fare ~ EBOOK
D10. Decayed matter ~ ROT
D11. Type of response you hope to get at the altar ~ IDO
D12. Peat-accumulating wetland ~ FEN
D14. The ___, NY art museum ~ MET
D21. ___Fans ~ ONLY
D22. Friends, Romans, countrymen, lend me your... ~ EARS
D23. "Friend of Dorothy" ~ GAY
D24. We ___ the Champions ~ ARE
D25. Father of Spider-Man ~ STANLEE
D26. What a certain applicant becomes ~ HIREE
D28. Connect ~ JOIN
D30. Particular form of a published text ~ EDITION
D31. Suffix at the end of all of Eevee's evolutions ~ EON
D32. Live and ___ Die ~ LET
D34. Famous Eastwood whose name became a famous Gorillaz song ~ CLINT
D36. Unexpected result in a sporting competition ~ UPSET
D39. Disfigure ~ MAR
D40. David Lee and Tim ~ ROTHS
D42. Luxury watch collection by Garmin ~ MARQ
D44. Top dog in an IT org ~ CIO
D45. Sister ___ ~ ACT
D46. Author Roald ~ DAHL
D47. Civil rights activist Parks ~ ROSA
D48. An additional name that could be part of 40D's clue ~ ELI
D49. Director's domain ~ SET
D52. Type of income to go in a 401k ~ PRETAX
D54. The Empire Strikes Back, to the Star Wars saga ~ PARTV
D56. Greek letter following 72A ~ THETA
D59. Misplace ~ LOSE
D61. Wee boy ~ LAD
D62. Dad to Tommy Pickles ~ STU
D63. The only Patrol I trust ~ PAW
D64. Smart savings plan, briefly ~ IRA
D65. Fresh ~ NEW
D67. Breeds such as Chihuahua or Pomeranian ~ TOY
D68. Bega behind "Mambo No. 5" ~ LOU
D69. Aardvark breakfast ~ ANT
D70. Sonic ___ ~ SEZ

## Notes

## Design

<style>O { background: circle }</style>

O..O##O.O#.O..O
.....#...#.....
.....#...#.....
####....#...###
O..O#.O.O.#O..O
.......#...#...
......#........
##...#O.O#...##
........#......
...#...#.......
O..O#.O.O.#O..O
###...#....####
.....#...#.....
.....#...#.....
O..O.#O.O##O..O
{
  "meta": {
    "title": "Alpha-Bits",
    "author": "Drew Hodson",
    "date": "Not set",
    "editor": "Not set",
    "title:line": "2",
    "author:line": "3",
    "copyright": "© 2021",
    "copyright:line": "4",
    "description": "N/A",
    "description:line": "5"
  },
  "tiles": [
    [
      {
        "type": "letter",
        "letter": "A"
      },
      {
        "type": "letter",
        "letter": "H"
      },
      {
        "type": "letter",
        "letter": "A"
      },
      {
        "type": "letter",
        "letter": "B"
      },
      {
        "type": "blank"
      },
      {
        "type": "blank"
      },
      {
        "type": "letter",
        "letter": "C"
      },
      {
        "type": "letter",
        "letter": "U"
      },
      {
        "type": "letter",
        "letter": "D"
      },
      {
        "type": "blank"
      },
      {
        "type": "letter",
        "letter": "S"
      },
      {
        "type": "letter",
        "letter": "E"
      },
      {
        "type": "letter",
        "letter": "R"
      },
      {
        "type": "letter",
        "letter": "I"
      },
      {
        "type": "letter",
        "letter": "F"
      }
    ],
    [
      {
        "type": "letter",
        "letter": "M"
      },
      {
        "type": "letter",
        "letter": "A"
      },
      {
        "type": "letter",
        "letter": "D"
      },
      {
        "type": "letter",
        "letter": "A"
      },
      {
        "type": "letter",
        "letter": "M"
      },
      {
        "type": "blank"
      },
      {
        "type": "letter",
        "letter": "A"
      },
      {
        "type": "letter",
        "letter": "N"
      },
      {
        "type": "letter",
        "letter": "Y"
      },
      {
        "type": "blank"
      },
      {
        "type": "letter",
        "letter": "A"
      },
      {
        "type": "letter",
        "letter": "B"
      },
      {
        "type": "letter",
        "letter": "O"
      },
      {
        "type": "letter",
        "letter": "D"
      },
      {
        "type": "letter",
        "letter": "E"
      }
    ],
    [
      {
        "type": "letter",
        "letter": "P"
      },
      {
        "type": "letter",
        "letter": "L"
      },
      {
        "type": "letter",
        "letter": "A"
      },
      {
        "type": "letter",
        "letter": "N"
      },
      {
        "type": "letter",
        "letter": "E"
      },
      {
        "type": "blank"
      },
      {
        "type": "letter",
        "letter": "D"
      },
      {
        "type": "letter",
        "letter": "I"
      },
      {
        "type": "letter",
        "letter": "E"
      },
      {
        "type": "blank"
      },
      {
        "type": "letter",
        "letter": "N"
      },
      {
        "type": "letter",
        "letter": "O"
      },
      {
        "type": "letter",
        "letter": "T"
      },
      {
        "type": "letter",
        "letter": "O"
      },
      {
        "type": "letter",
        "letter": "N"
      }
    ],
    [
      {
        "type": "blank"
      },
      {
        "type": "blank"
      },
      {
        "type": "blank"
      },
      {
        "type": "blank"
      },
      {
        "type": "letter",
        "letter": "T"
      },
      {
        "type": "letter",
        "letter": "O"
      },
      {
        "type": "letter",
        "letter": "D"
      },
      {
        "type": "letter",
        "letter": "O"
      },
      {
        "type": "blank"
      },
      {
        "type": "letter",
        "letter": "E"
      },
      {
        "type": "letter",
        "letter": "G"
      },
      {
        "type": "letter",
        "letter": "O"
      },
      {
        "type": "blank"
      },
      {
        "type": "blank"
      },
      {
        "type": "blank"
      }
    ],
    [
      {
        "type": "letter",
        "letter": "G"
      },
      {
        "type": "letter",
        "letter": "A"
      },
      {
        "type": "letter",
        "letter": "S"
      },
      {
        "type": "letter",
        "letter": "H"
      },
      {
        "type": "blank"
      },
      {
        "type": "letter",
        "letter": "N"
      },
      {
        "type": "letter",
        "letter": "I"
      },
      {
        "type": "letter",
        "letter": "N"
      },
      {
        "type": "letter",
        "letter": "J"
      },
      {
        "type": "letter",
        "letter": "A"
      },
      {
        "type": "blank"
      },
      {
        "type": "letter",
        "letter": "K"
      },
      {
        "type": "letter",
        "letter": "E"
      },
      {
        "type": "letter",
        "letter": "E"
      },
      {
        "type": "letter",
        "letter": "L"
      }
    ],
    [
      {
        "type": "letter",
        "letter": "A"
      },
      {
        "type": "letter",
        "letter": "R"
      },
      {
        "type": "letter",
        "letter": "T"
      },
      {
        "type": "letter",
        "letter": "I"
      },
      {
        "type": "letter",
        "letter": "C"
      },
      {
        "type": "letter",
        "letter": "L"
      },
      {
        "type": "letter",
        "letter": "E"
      },
      {
        "type": "blank"
      },
      {
        "type": "letter",
        "letter": "O"
      },
      {
        "type": "letter",
        "letter": "R"
      },
      {
        "type": "letter",
        "letter": "U"
      },
      {
        "type": "blank"
      },
      {
        "type": "letter",
        "letter": "D"
      },
      {
        "type": "letter",
        "letter": "O"
      },
      {
        "type": "letter",
        "letter": "E"
      }
    ],
    [
      {
        "type": "letter",
        "letter": "Y"
      },
      {
        "type": "letter",
        "letter": "E"
      },
      {
        "type": "letter",
        "letter": "A"
      },
      {
        "type": "letter",
        "letter": "R"
      },
      {
        "type": "letter",
        "letter": "L"
      },
      {
        "type": "letter",
        "letter": "Y"
      },
      {
        "type": "blank"
      },
      {
        "type": "letter",
        "letter": "M"
      },
      {
        "type": "letter",
        "letter": "I"
      },
      {
        "type": "letter",
        "letter": "S"
      },
      {
        "type": "letter",
        "letter": "P"
      },
      {
        "type": "letter",
        "letter": "R"
      },
      {
        "type": "letter",
        "letter": "I"
      },
      {
        "type": "letter",
        "letter": "N"
      },
      {
        "type": "letter",
        "letter": "T"
      }
    ],
    [
      {
        "type": "blank"
      },
      {
        "type": "blank"
      },
      {
        "type": "letter",
        "letter": "N"
      },
      {
        "type": "letter",
        "letter": "E"
      },
      {
        "type": "letter",
        "letter": "I"
      },
      {
        "type": "blank"
      },
      {
        "type": "letter",
        "letter": "M"
      },
      {
        "type": "letter",
        "letter": "A"
      },
      {
        "type": "letter",
        "letter": "N"
      },
      {
        "type": "blank"
      },
      {
        "type": "letter",
        "letter": "S"
      },
      {
        "type": "letter",
        "letter": "O"
      },
      {
        "type": "letter",
        "letter": "T"
      },
      {
        "type": "blank"
      },
      {
        "type": "blank"
      }
    ],
    [
      {
        "type": "letter",
        "letter": "C"
      },
      {
        "type": "letter",
        "letter": "A"
      },
      {
        "type": "letter",
        "letter": "L"
      },
      {
        "type": "letter",
        "letter": "E"
      },
      {
        "type": "letter",
        "letter": "N"
      },
      {
        "type": "letter",
        "letter": "D"
      },
      {
        "type": "letter",
        "letter": "A"
      },
      {
        "type": "letter",
        "letter": "R"
      },
      {
        "type": "blank"
      },
      {
        "type": "letter",
        "letter": "R"
      },
      {
        "type": "letter",
        "letter": "E"
      },
      {
        "type": "letter",
        "letter": "T"
      },
      {
        "type": "letter",
        "letter": "I"
      },
      {
        "type": "letter",
        "letter": "E"
      },
      {
        "type": "letter",
        "letter": "S"
      }
    ],
    [
      {
        "type": "letter",
        "letter": "I"
      },
      {
        "type": "letter",
        "letter": "C"
      },
      {
        "type": "letter",
        "letter": "E"
      },
      {
        "type": "blank"
      },
      {
        "type": "letter",
        "letter": "T"
      },
      {
        "type": "letter",
        "letter": "A"
      },
      {
        "type": "letter",
        "letter": "R"
      },
      {
        "type": "blank"
      },
      {
        "type": "letter",
        "letter": "P"
      },
      {
        "type": "letter",
        "letter": "O"
      },
      {
        "type": "letter",
        "letter": "T"
      },
      {
        "type": "letter",
        "letter": "H"
      },
      {
        "type": "letter",
        "letter": "O"
      },
      {
        "type": "letter",
        "letter": "L"
      },
      {
        "type": "letter",
        "letter": "E"
      }
    ],
    [
      {
        "type": "letter",
        "letter": "O"
      },
      {
        "type": "letter",
        "letter": "T"
      },
      {
        "type": "letter",
        "letter": "E"
      },
      {
        "type": "letter",
        "letter": "P"
      },
      {
        "type": "blank"
      },
      {
        "type": "letter",
        "letter": "H"
      },
      {
        "type": "letter",
        "letter": "Q"
      },
      {
        "type": "letter",
        "letter": "T"
      },
      {
        "type": "letter",
        "letter": "R"
      },
      {
        "type": "letter",
        "letter": "S"
      },
      {
        "type": "blank"
      },
      {
        "type": "letter",
        "letter": "S"
      },
      {
        "type": "letter",
        "letter": "N"
      },
      {
        "type": "letter",
        "letter": "I"
      },
      {
        "type": "letter",
        "letter": "T"
      }
    ],
    [
      {
        "type": "blank"
      },
      {
        "type": "blank"
      },
      {
        "type": "blank"
      },
      {
        "type": "letter",
        "letter": "A"
      },
      {
        "type": "letter",
        "letter": "L"
      },
      {
        "type": "letter",
        "letter": "L"
      },
      {
        "type": "blank"
      },
      {
        "type": "letter",
        "letter": "H"
      },
      {
        "type": "letter",
        "letter": "E"
      },
      {
        "type": "letter",
        "letter": "A"
      },
      {
        "type": "letter",
        "letter": "L"
      },
      {
        "type": "blank"
      },
      {
        "type": "blank"
      },
      {
        "type": "blank"
      },
      {
        "type": "blank"
      }
    ],
    [
      {
        "type": "letter",
        "letter": "S"
      },
      {
        "type": "letter",
        "letter": "P"
      },
      {
        "type": "letter",
        "letter": "I"
      },
      {
        "type": "letter",
        "letter": "R"
      },
      {
        "type": "letter",
        "letter": "O"
      },
      {
        "type": "blank"
      },
      {
        "type": "letter",
        "letter": "N"
      },
      {
        "type": "letter",
        "letter": "E"
      },
      {
        "type": "letter",
        "letter": "T"
      },
      {
        "type": "blank"
      },
      {
        "type": "letter",
        "letter": "A"
      },
      {
        "type": "letter",
        "letter": "T"
      },
      {
        "type": "letter",
        "letter": "L"
      },
      {
        "type": "letter",
        "letter": "A"
      },
      {
        "type": "letter",
        "letter": "S"
      }
    ],
    [
      {
        "type": "letter",
        "letter": "T"
      },
      {
        "type": "letter",
        "letter": "A"
      },
      {
        "type": "letter",
        "letter": "R"
      },
      {
        "type": "letter",
        "letter": "T"
      },
      {
        "type": "letter",
        "letter": "S"
      },
      {
        "type": "blank"
      },
      {
        "type": "letter",
        "letter": "E"
      },
      {
        "type": "letter",
        "letter": "T"
      },
      {
        "type": "letter",
        "letter": "A"
      },
      {
        "type": "blank"
      },
      {
        "type": "letter",
        "letter": "D"
      },
      {
        "type": "letter",
        "letter": "O"
      },
      {
        "type": "letter",
        "letter": "O"
      },
      {
        "type": "letter",
        "letter": "N"
      },
      {
        "type": "letter",
        "letter": "E"
      }
    ],
    [
      {
        "type": "letter",
        "letter": "U"
      },
      {
        "type": "letter",
        "letter": "W"
      },
      {
        "type": "letter",
        "letter": "A"
      },
      {
        "type": "letter",
        "letter": "V"
      },
      {
        "type": "letter",
        "letter": "E"
      },
      {
        "type": "blank"
      },
      {
        "type": "letter",
        "letter": "W"
      },
      {
        "type": "letter",
        "letter": "A"
      },
      {
        "type": "letter",
        "letter": "X"
      },
      {
        "type": "blank"
      },
      {
        "type": "blank"
      },
      {
        "type": "letter",
        "letter": "Y"
      },
      {
        "type": "letter",
        "letter": "U"
      },
      {
        "type": "letter",
        "letter": "T"
      },
      {
        "type": "letter",
        "letter": "Z"
      }
    ]
  ],
  "clues": {
    "across": [
      {
        "body": "Captain of the Pequod",
        "answer": "AHAB",
        "number": 1,
        "position": {
          "col": 0,
          "index": 0
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "H"
          },
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "B"
          }
        ],
        "metadata": {
          "body:line": "28",
          "answer:unprocessed": "AHAB"
        },
        "display": [["text", "Captain of the Pequod"]],
        "direction": "across"
      },
      {
        "body": "Food for second chance chewing",
        "answer": "CUD",
        "number": 5,
        "position": {
          "col": 6,
          "index": 0
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "C"
          },
          {
            "type": "letter",
            "letter": "U"
          },
          {
            "type": "letter",
            "letter": "D"
          }
        ],
        "metadata": {
          "body:line": "29",
          "answer:unprocessed": "CUD"
        },
        "display": [["text", "Food for second chance chewing"]],
        "direction": "across"
      },
      {
        "body": "Font feature",
        "answer": "SERIF",
        "number": 8,
        "position": {
          "col": 10,
          "index": 0
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "S"
          },
          {
            "type": "letter",
            "letter": "E"
          },
          {
            "type": "letter",
            "letter": "R"
          },
          {
            "type": "letter",
            "letter": "I"
          },
          {
            "type": "letter",
            "letter": "F"
          }
        ],
        "metadata": {
          "body:line": "30",
          "answer:unprocessed": "SERIF"
        },
        "display": [["text", "Font feature"]],
        "direction": "across"
      },
      {
        "body": "Palindromic address to a female",
        "answer": "MADAM",
        "number": 13,
        "position": {
          "col": 0,
          "index": 1
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "M"
          },
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "D"
          },
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "M"
          }
        ],
        "metadata": {
          "body:line": "31",
          "answer:unprocessed": "MADAM"
        },
        "display": [["text", "Palindromic address to a female"]],
        "direction": "across"
      },
      {
        "body": "___ Way You Want It",
        "answer": "ANY",
        "number": 15,
        "position": {
          "col": 6,
          "index": 1
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "N"
          },
          {
            "type": "letter",
            "letter": "Y"
          }
        ],
        "metadata": {
          "body:line": "32",
          "answer:unprocessed": "ANY"
        },
        "display": [["text", "___ Way You Want It"]],
        "direction": "across"
      },
      {
        "body": "Place often described as humble",
        "answer": "ABODE",
        "number": 16,
        "position": {
          "col": 10,
          "index": 1
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "B"
          },
          {
            "type": "letter",
            "letter": "O"
          },
          {
            "type": "letter",
            "letter": "D"
          },
          {
            "type": "letter",
            "letter": "E"
          }
        ],
        "metadata": {
          "body:line": "33",
          "answer:unprocessed": "ABODE"
        },
        "display": [["text", "Place often described as humble"]],
        "direction": "across"
      },
      {
        "body": "Flat two dimensional surface in geometry",
        "answer": "PLANE",
        "number": 17,
        "position": {
          "col": 0,
          "index": 2
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "P"
          },
          {
            "type": "letter",
            "letter": "L"
          },
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "N"
          },
          {
            "type": "letter",
            "letter": "E"
          }
        ],
        "metadata": {
          "body:line": "34",
          "answer:unprocessed": "PLANE"
        },
        "display": [["text", "Flat two dimensional surface in geometry"]],
        "direction": "across"
      },
      {
        "body": "Grim homophone of 7D",
        "answer": "DIE",
        "number": 18,
        "position": {
          "col": 6,
          "index": 2
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "D"
          },
          {
            "type": "letter",
            "letter": "I"
          },
          {
            "type": "letter",
            "letter": "E"
          }
        ],
        "metadata": {
          "body:line": "35",
          "answer:unprocessed": "DIE"
        },
        "display": [["text", "Grim homophone of 7D"]],
        "direction": "across"
      },
      {
        "body": "Off",
        "answer": "NOTON",
        "number": 19,
        "position": {
          "col": 10,
          "index": 2
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "N"
          },
          {
            "type": "letter",
            "letter": "O"
          },
          {
            "type": "letter",
            "letter": "T"
          },
          {
            "type": "letter",
            "letter": "O"
          },
          {
            "type": "letter",
            "letter": "N"
          }
        ],
        "metadata": {
          "body:line": "36",
          "answer:unprocessed": "NOTON"
        },
        "display": [["text", "Off"]],
        "direction": "across"
      },
      {
        "body": "Heading for some lists",
        "answer": "TODO",
        "number": 20,
        "position": {
          "col": 4,
          "index": 3
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "T"
          },
          {
            "type": "letter",
            "letter": "O"
          },
          {
            "type": "letter",
            "letter": "D"
          },
          {
            "type": "letter",
            "letter": "O"
          }
        ],
        "metadata": {
          "body:line": "37",
          "answer:unprocessed": "TODO"
        },
        "display": [["text", "Heading for some lists"]],
        "direction": "across"
      },
      {
        "body": "Kanye West is famous for his",
        "answer": "EGO",
        "number": 22,
        "position": {
          "col": 9,
          "index": 3
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "E"
          },
          {
            "type": "letter",
            "letter": "G"
          },
          {
            "type": "letter",
            "letter": "O"
          }
        ],
        "metadata": {
          "body:line": "38",
          "answer:unprocessed": "EGO"
        },
        "display": [["text", "Kanye West is famous for his"]],
        "direction": "across"
      },
      {
        "body": "Laceration",
        "answer": "GASH",
        "number": 23,
        "position": {
          "col": 0,
          "index": 4
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "G"
          },
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "S"
          },
          {
            "type": "letter",
            "letter": "H"
          }
        ],
        "metadata": {
          "body:line": "39",
          "answer:unprocessed": "GASH"
        },
        "display": [["text", "Laceration"]],
        "direction": "across"
      },
      {
        "body": "Alias of Twitch star Richard Tyler Blevins",
        "answer": "NINJA",
        "number": 27,
        "position": {
          "col": 5,
          "index": 4
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "N"
          },
          {
            "type": "letter",
            "letter": "I"
          },
          {
            "type": "letter",
            "letter": "N"
          },
          {
            "type": "letter",
            "letter": "J"
          },
          {
            "type": "letter",
            "letter": "A"
          }
        ],
        "metadata": {
          "body:line": "40",
          "answer:unprocessed": "NINJA"
        },
        "display": [["text", "Alias of Twitch star Richard Tyler Blevins"]],
        "direction": "across"
      },
      {
        "body": "Capsize",
        "answer": "KEEL",
        "number": 29,
        "position": {
          "col": 11,
          "index": 4
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "K"
          },
          {
            "type": "letter",
            "letter": "E"
          },
          {
            "type": "letter",
            "letter": "E"
          },
          {
            "type": "letter",
            "letter": "L"
          }
        ],
        "metadata": {
          "body:line": "41",
          "answer:unprocessed": "KEEL"
        },
        "display": [["text", "Capsize"]],
        "direction": "across"
      },
      {
        "body": "Piece of clothing or print",
        "answer": "ARTICLE",
        "number": 33,
        "position": {
          "col": 0,
          "index": 5
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "R"
          },
          {
            "type": "letter",
            "letter": "T"
          },
          {
            "type": "letter",
            "letter": "I"
          },
          {
            "type": "letter",
            "letter": "C"
          },
          {
            "type": "letter",
            "letter": "L"
          },
          {
            "type": "letter",
            "letter": "E"
          }
        ],
        "metadata": {
          "body:line": "42",
          "answer:unprocessed": "ARTICLE"
        },
        "display": [["text", "Piece of clothing or print"]],
        "direction": "across"
      },
      {
        "body": "Evangelical school in Tulsa, OK",
        "answer": "ORU",
        "number": 35,
        "position": {
          "col": 8,
          "index": 5
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "O"
          },
          {
            "type": "letter",
            "letter": "R"
          },
          {
            "type": "letter",
            "letter": "U"
          }
        ],
        "metadata": {
          "body:line": "43",
          "answer:unprocessed": "ORU"
        },
        "display": [["text", "Evangelical school in Tulsa, OK"]],
        "direction": "across"
      },
      {
        "body": "___-eyed",
        "answer": "DOE",
        "number": 37,
        "position": {
          "col": 12,
          "index": 5
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "D"
          },
          {
            "type": "letter",
            "letter": "O"
          },
          {
            "type": "letter",
            "letter": "E"
          }
        ],
        "metadata": {
          "body:line": "44",
          "answer:unprocessed": "DOE"
        },
        "display": [["text", "___-eyed"]],
        "direction": "across"
      },
      {
        "body": "Annual",
        "answer": "YEARLY",
        "number": 38,
        "position": {
          "col": 0,
          "index": 6
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "Y"
          },
          {
            "type": "letter",
            "letter": "E"
          },
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "R"
          },
          {
            "type": "letter",
            "letter": "L"
          },
          {
            "type": "letter",
            "letter": "Y"
          }
        ],
        "metadata": {
          "body:line": "45",
          "answer:unprocessed": "YEARLY"
        },
        "display": [["text", "Annual"]],
        "direction": "across"
      },
      {
        "body": "The stamp with the upside down airplane is a famous one",
        "answer": "MISPRINT",
        "number": 39,
        "position": {
          "col": 7,
          "index": 6
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "M"
          },
          {
            "type": "letter",
            "letter": "I"
          },
          {
            "type": "letter",
            "letter": "S"
          },
          {
            "type": "letter",
            "letter": "P"
          },
          {
            "type": "letter",
            "letter": "R"
          },
          {
            "type": "letter",
            "letter": "I"
          },
          {
            "type": "letter",
            "letter": "N"
          },
          {
            "type": "letter",
            "letter": "T"
          }
        ],
        "metadata": {
          "body:line": "46",
          "answer:unprocessed": "MISPRINT"
        },
        "display": [["text", "The stamp with the upside down airplane is a famous one"]],
        "direction": "across"
      },
      {
        "body": "With 42A and Marcus, a luxury department store chain",
        "answer": "NEI",
        "number": 41,
        "position": {
          "col": 2,
          "index": 7
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "N"
          },
          {
            "type": "letter",
            "letter": "E"
          },
          {
            "type": "letter",
            "letter": "I"
          }
        ],
        "metadata": {
          "body:line": "47",
          "answer:unprocessed": "NEI"
        },
        "display": [["text", "With 42A and Marcus, a luxury department store chain"]],
        "direction": "across"
      },
      {
        "body": "41A continued",
        "answer": "MAN",
        "number": 42,
        "position": {
          "col": 6,
          "index": 7
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "M"
          },
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "N"
          }
        ],
        "metadata": {
          "body:line": "48",
          "answer:unprocessed": "MAN"
        },
        "display": [["text", "41A continued"]],
        "direction": "across"
      },
      {
        "body": "Lush",
        "answer": "SOT",
        "number": 43,
        "position": {
          "col": 10,
          "index": 7
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "S"
          },
          {
            "type": "letter",
            "letter": "O"
          },
          {
            "type": "letter",
            "letter": "T"
          }
        ],
        "metadata": {
          "body:line": "49",
          "answer:unprocessed": "SOT"
        },
        "display": [["text", "Lush"]],
        "direction": "across"
      },
      {
        "body": "The Mayan one ended in 2012",
        "answer": "CALENDAR",
        "number": 44,
        "position": {
          "col": 0,
          "index": 8
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "C"
          },
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "L"
          },
          {
            "type": "letter",
            "letter": "E"
          },
          {
            "type": "letter",
            "letter": "N"
          },
          {
            "type": "letter",
            "letter": "D"
          },
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "R"
          }
        ],
        "metadata": {
          "body:line": "50",
          "answer:unprocessed": "CALENDAR"
        },
        "display": [["text", "The Mayan one ended in 2012"]],
        "direction": "across"
      },
      {
        "body": "What a child often does to their shoes",
        "answer": "RETIES",
        "number": 47,
        "position": {
          "col": 9,
          "index": 8
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "R"
          },
          {
            "type": "letter",
            "letter": "E"
          },
          {
            "type": "letter",
            "letter": "T"
          },
          {
            "type": "letter",
            "letter": "I"
          },
          {
            "type": "letter",
            "letter": "E"
          },
          {
            "type": "letter",
            "letter": "S"
          }
        ],
        "metadata": {
          "body:line": "51",
          "answer:unprocessed": "RETIES"
        },
        "display": [["text", "What a child often does to their shoes"]],
        "direction": "across"
      },
      {
        "body": "Vanilla ___",
        "answer": "ICE",
        "number": 50,
        "position": {
          "col": 0,
          "index": 9
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "I"
          },
          {
            "type": "letter",
            "letter": "C"
          },
          {
            "type": "letter",
            "letter": "E"
          }
        ],
        "metadata": {
          "body:line": "52",
          "answer:unprocessed": "ICE"
        },
        "display": [["text", "Vanilla ___"]],
        "direction": "across"
      },
      {
        "body": "Maligned cigarette ingredient",
        "answer": "TAR",
        "number": 51,
        "position": {
          "col": 4,
          "index": 9
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "T"
          },
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "R"
          }
        ],
        "metadata": {
          "body:line": "53",
          "answer:unprocessed": "TAR"
        },
        "display": [["text", "Maligned cigarette ingredient"]],
        "direction": "across"
      },
      {
        "body": "Frequent cause for a new tire",
        "answer": "POTHOLE",
        "number": 52,
        "position": {
          "col": 8,
          "index": 9
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "P"
          },
          {
            "type": "letter",
            "letter": "O"
          },
          {
            "type": "letter",
            "letter": "T"
          },
          {
            "type": "letter",
            "letter": "H"
          },
          {
            "type": "letter",
            "letter": "O"
          },
          {
            "type": "letter",
            "letter": "L"
          },
          {
            "type": "letter",
            "letter": "E"
          }
        ],
        "metadata": {
          "body:line": "54",
          "answer:unprocessed": "POTHOLE"
        },
        "display": [["text", "Frequent cause for a new tire"]],
        "direction": "across"
      },
      {
        "body": "Los Angeles heavy metal act",
        "answer": "OTEP",
        "number": 53,
        "position": {
          "col": 0,
          "index": 10
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "O"
          },
          {
            "type": "letter",
            "letter": "T"
          },
          {
            "type": "letter",
            "letter": "E"
          },
          {
            "type": "letter",
            "letter": "P"
          }
        ],
        "metadata": {
          "body:line": "55",
          "answer:unprocessed": "OTEP"
        },
        "display": [["text", "Los Angeles heavy metal act"]],
        "direction": "across"
      },
      {
        "body": "Bldgs. such as the Googleplex",
        "answer": "HQTRS",
        "number": 55,
        "position": {
          "col": 5,
          "index": 10
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "H"
          },
          {
            "type": "letter",
            "letter": "Q"
          },
          {
            "type": "letter",
            "letter": "T"
          },
          {
            "type": "letter",
            "letter": "R"
          },
          {
            "type": "letter",
            "letter": "S"
          }
        ],
        "metadata": {
          "body:line": "56",
          "answer:unprocessed": "HQTRS"
        },
        "display": [["text", "Bldgs. such as the Googleplex"]],
        "direction": "across"
      },
      {
        "body": "A fit of irritation",
        "answer": "SNIT",
        "number": 57,
        "position": {
          "col": 11,
          "index": 10
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "S"
          },
          {
            "type": "letter",
            "letter": "N"
          },
          {
            "type": "letter",
            "letter": "I"
          },
          {
            "type": "letter",
            "letter": "T"
          }
        ],
        "metadata": {
          "body:line": "57",
          "answer:unprocessed": "SNIT"
        },
        "display": [["text", "A fit of irritation"]],
        "direction": "across"
      },
      {
        "body": "Lead-in to American or day",
        "answer": "ALL",
        "number": 58,
        "position": {
          "col": 3,
          "index": 11
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "L"
          },
          {
            "type": "letter",
            "letter": "L"
          }
        ],
        "metadata": {
          "body:line": "58",
          "answer:unprocessed": "ALL"
        },
        "display": [["text", "Lead-in to American or day"]],
        "direction": "across"
      },
      {
        "body": "What Pokémon do at a Pokémon Center",
        "answer": "HEAL",
        "number": 60,
        "position": {
          "col": 7,
          "index": 11
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "H"
          },
          {
            "type": "letter",
            "letter": "E"
          },
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "L"
          }
        ],
        "metadata": {
          "body:line": "59",
          "answer:unprocessed": "HEAL"
        },
        "display": [["text", "What Pokémon do at a Pokémon Center"]],
        "direction": "across"
      },
      {
        "body": "Nixon's vice",
        "answer": "SPIRO",
        "number": 62,
        "position": {
          "col": 0,
          "index": 12
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "S"
          },
          {
            "type": "letter",
            "letter": "P"
          },
          {
            "type": "letter",
            "letter": "I"
          },
          {
            "type": "letter",
            "letter": "R"
          },
          {
            "type": "letter",
            "letter": "O"
          }
        ],
        "metadata": {
          "body:line": "60",
          "answer:unprocessed": "SPIRO"
        },
        "display": [["text", "Nixon's vice"]],
        "direction": "across"
      },
      {
        "body": "Nothing but ___",
        "answer": "NET",
        "number": 65,
        "position": {
          "col": 6,
          "index": 12
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "N"
          },
          {
            "type": "letter",
            "letter": "E"
          },
          {
            "type": "letter",
            "letter": "T"
          }
        ],
        "metadata": {
          "body:line": "61",
          "answer:unprocessed": "NET"
        },
        "display": [["text", "Nothing but ___"]],
        "direction": "across"
      },
      {
        "body": "One with the world on his shoulders",
        "answer": "ATLAS",
        "number": 66,
        "position": {
          "col": 10,
          "index": 12
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "T"
          },
          {
            "type": "letter",
            "letter": "L"
          },
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "S"
          }
        ],
        "metadata": {
          "body:line": "62",
          "answer:unprocessed": "ATLAS"
        },
        "display": [["text", "One with the world on his shoulders"]],
        "direction": "across"
      },
      {
        "body": "Filled pastries",
        "answer": "TARTS",
        "number": 71,
        "position": {
          "col": 0,
          "index": 13
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "T"
          },
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "R"
          },
          {
            "type": "letter",
            "letter": "T"
          },
          {
            "type": "letter",
            "letter": "S"
          }
        ],
        "metadata": {
          "body:line": "63",
          "answer:unprocessed": "TARTS"
        },
        "display": [["text", "Filled pastries"]],
        "direction": "across"
      },
      {
        "body": "Age, in Milan",
        "answer": "ETA",
        "number": 72,
        "position": {
          "col": 6,
          "index": 13
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "E"
          },
          {
            "type": "letter",
            "letter": "T"
          },
          {
            "type": "letter",
            "letter": "A"
          }
        ],
        "metadata": {
          "body:line": "64",
          "answer:unprocessed": "ETA"
        },
        "display": [["text", "Age, in Milan"]],
        "direction": "across"
      },
      {
        "body": "Lorna ___, novel or cookie",
        "answer": "DOONE",
        "number": 73,
        "position": {
          "col": 10,
          "index": 13
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "D"
          },
          {
            "type": "letter",
            "letter": "O"
          },
          {
            "type": "letter",
            "letter": "O"
          },
          {
            "type": "letter",
            "letter": "N"
          },
          {
            "type": "letter",
            "letter": "E"
          }
        ],
        "metadata": {
          "body:line": "65",
          "answer:unprocessed": "DOONE"
        },
        "display": [["text", "Lorna ___, novel or cookie"]],
        "direction": "across"
      },
      {
        "body": "Electrocardiogram readout feature",
        "answer": "UWAVE",
        "number": 74,
        "position": {
          "col": 0,
          "index": 14
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "U"
          },
          {
            "type": "letter",
            "letter": "W"
          },
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "V"
          },
          {
            "type": "letter",
            "letter": "E"
          }
        ],
        "metadata": {
          "body:line": "66",
          "answer:unprocessed": "UWAVE"
        },
        "display": [["text", "Electrocardiogram readout feature"]],
        "direction": "across"
      },
      {
        "body": "Hip slang for records",
        "answer": "WAX",
        "number": 75,
        "position": {
          "col": 6,
          "index": 14
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "W"
          },
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "X"
          }
        ],
        "metadata": {
          "body:line": "67",
          "answer:unprocessed": "WAX"
        },
        "display": [["text", "Hip slang for records"]],
        "direction": "across"
      },
      {
        "body": "Yiddish for a foolish person",
        "answer": "YUTZ",
        "number": 76,
        "position": {
          "col": 11,
          "index": 14
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "Y"
          },
          {
            "type": "letter",
            "letter": "U"
          },
          {
            "type": "letter",
            "letter": "T"
          },
          {
            "type": "letter",
            "letter": "Z"
          }
        ],
        "metadata": {
          "body:line": "68",
          "answer:unprocessed": "YUTZ"
        },
        "display": [["text", "Yiddish for a foolish person"]],
        "direction": "across"
      }
    ],
    "down": [
      {
        "body": "Pc. of concert gear",
        "answer": "AMP",
        "number": 1,
        "position": {
          "col": 0,
          "index": 0
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "M"
          },
          {
            "type": "letter",
            "letter": "P"
          }
        ],
        "metadata": {
          "body:line": "70",
          "answer:unprocessed": "AMP"
        },
        "display": [["text", "Pc. of concert gear"]],
        "direction": "down"
      },
      {
        "body": "AI antagonist of 2001",
        "answer": "HAL",
        "number": 2,
        "position": {
          "col": 1,
          "index": 0
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "H"
          },
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "L"
          }
        ],
        "metadata": {
          "body:line": "71",
          "answer:unprocessed": "HAL"
        },
        "display": [["text", "AI antagonist of 2001"]],
        "direction": "down"
      },
      {
        "body": "Programming pioneer Lovelace",
        "answer": "ADA",
        "number": 3,
        "position": {
          "col": 2,
          "index": 0
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "D"
          },
          {
            "type": "letter",
            "letter": "A"
          }
        ],
        "metadata": {
          "body:line": "72",
          "answer:unprocessed": "ADA"
        },
        "display": [["text", "Programming pioneer Lovelace"]],
        "direction": "down"
      },
      {
        "body": "Prohibit",
        "answer": "BAN",
        "number": 4,
        "position": {
          "col": 3,
          "index": 0
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "B"
          },
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "N"
          }
        ],
        "metadata": {
          "body:line": "73",
          "answer:unprocessed": "BAN"
        },
        "display": [["text", "Prohibit"]],
        "direction": "down"
      },
      {
        "body": "Type of person to routinely carry a club",
        "answer": "CADDIE",
        "number": 5,
        "position": {
          "col": 6,
          "index": 0
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "C"
          },
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "D"
          },
          {
            "type": "letter",
            "letter": "D"
          },
          {
            "type": "letter",
            "letter": "I"
          },
          {
            "type": "letter",
            "letter": "E"
          }
        ],
        "metadata": {
          "body:line": "74",
          "answer:unprocessed": "CADDIE"
        },
        "display": [["text", "Type of person to routinely carry a club"]],
        "direction": "down"
      },
      {
        "body": "State of the ___ Address",
        "answer": "UNION",
        "number": 6,
        "position": {
          "col": 7,
          "index": 0
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "U"
          },
          {
            "type": "letter",
            "letter": "N"
          },
          {
            "type": "letter",
            "letter": "I"
          },
          {
            "type": "letter",
            "letter": "O"
          },
          {
            "type": "letter",
            "letter": "N"
          }
        ],
        "metadata": {
          "body:line": "75",
          "answer:unprocessed": "UNION"
        },
        "display": [["text", "State of the ___ Address"]],
        "direction": "down"
      },
      {
        "body": "Colorful homophone of 18A",
        "answer": "DYE",
        "number": 7,
        "position": {
          "col": 8,
          "index": 0
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "D"
          },
          {
            "type": "letter",
            "letter": "Y"
          },
          {
            "type": "letter",
            "letter": "E"
          }
        ],
        "metadata": {
          "body:line": "76",
          "answer:unprocessed": "DYE"
        },
        "display": [["text", "Colorful homophone of 18A"]],
        "direction": "down"
      },
      {
        "body": "Snitched",
        "answer": "SANG",
        "number": 8,
        "position": {
          "col": 10,
          "index": 0
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "S"
          },
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "N"
          },
          {
            "type": "letter",
            "letter": "G"
          }
        ],
        "metadata": {
          "body:line": "77",
          "answer:unprocessed": "SANG"
        },
        "display": [["text", "Snitched"]],
        "direction": "down"
      },
      {
        "body": "Kindle fare",
        "answer": "EBOOK",
        "number": 9,
        "position": {
          "col": 11,
          "index": 0
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "E"
          },
          {
            "type": "letter",
            "letter": "B"
          },
          {
            "type": "letter",
            "letter": "O"
          },
          {
            "type": "letter",
            "letter": "O"
          },
          {
            "type": "letter",
            "letter": "K"
          }
        ],
        "metadata": {
          "body:line": "78",
          "answer:unprocessed": "EBOOK"
        },
        "display": [["text", "Kindle fare"]],
        "direction": "down"
      },
      {
        "body": "Decayed matter",
        "answer": "ROT",
        "number": 10,
        "position": {
          "col": 12,
          "index": 0
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "R"
          },
          {
            "type": "letter",
            "letter": "O"
          },
          {
            "type": "letter",
            "letter": "T"
          }
        ],
        "metadata": {
          "body:line": "79",
          "answer:unprocessed": "ROT"
        },
        "display": [["text", "Decayed matter"]],
        "direction": "down"
      },
      {
        "body": "Type of response you hope to get at the altar",
        "answer": "IDO",
        "number": 11,
        "position": {
          "col": 13,
          "index": 0
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "I"
          },
          {
            "type": "letter",
            "letter": "D"
          },
          {
            "type": "letter",
            "letter": "O"
          }
        ],
        "metadata": {
          "body:line": "80",
          "answer:unprocessed": "IDO"
        },
        "display": [["text", "Type of response you hope to get at the altar"]],
        "direction": "down"
      },
      {
        "body": "Peat-accumulating wetland",
        "answer": "FEN",
        "number": 12,
        "position": {
          "col": 14,
          "index": 0
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "F"
          },
          {
            "type": "letter",
            "letter": "E"
          },
          {
            "type": "letter",
            "letter": "N"
          }
        ],
        "metadata": {
          "body:line": "81",
          "answer:unprocessed": "FEN"
        },
        "display": [["text", "Peat-accumulating wetland"]],
        "direction": "down"
      },
      {
        "body": "The ___, NY art museum",
        "answer": "MET",
        "number": 14,
        "position": {
          "col": 4,
          "index": 1
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "M"
          },
          {
            "type": "letter",
            "letter": "E"
          },
          {
            "type": "letter",
            "letter": "T"
          }
        ],
        "metadata": {
          "body:line": "82",
          "answer:unprocessed": "MET"
        },
        "display": [["text", "The ___, NY art museum"]],
        "direction": "down"
      },
      {
        "body": "___Fans",
        "answer": "ONLY",
        "number": 21,
        "position": {
          "col": 5,
          "index": 3
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "O"
          },
          {
            "type": "letter",
            "letter": "N"
          },
          {
            "type": "letter",
            "letter": "L"
          },
          {
            "type": "letter",
            "letter": "Y"
          }
        ],
        "metadata": {
          "body:line": "83",
          "answer:unprocessed": "ONLY"
        },
        "display": [["text", "___Fans"]],
        "direction": "down"
      },
      {
        "body": "Friends, Romans, countrymen, lend me your...",
        "answer": "EARS",
        "number": 22,
        "position": {
          "col": 9,
          "index": 3
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "E"
          },
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "R"
          },
          {
            "type": "letter",
            "letter": "S"
          }
        ],
        "metadata": {
          "body:line": "84",
          "answer:unprocessed": "EARS"
        },
        "display": [["text", "Friends, Romans, countrymen, lend me your..."]],
        "direction": "down"
      },
      {
        "body": "\"Friend of Dorothy\"",
        "answer": "GAY",
        "number": 23,
        "position": {
          "col": 0,
          "index": 4
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "G"
          },
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "Y"
          }
        ],
        "metadata": {
          "body:line": "85",
          "answer:unprocessed": "GAY"
        },
        "display": [["text", "\"Friend of Dorothy\""]],
        "direction": "down"
      },
      {
        "body": "We ___ the Champions",
        "answer": "ARE",
        "number": 24,
        "position": {
          "col": 1,
          "index": 4
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "R"
          },
          {
            "type": "letter",
            "letter": "E"
          }
        ],
        "metadata": {
          "body:line": "86",
          "answer:unprocessed": "ARE"
        },
        "display": [["text", "We ___ the Champions"]],
        "direction": "down"
      },
      {
        "body": "Father of Spider-Man",
        "answer": "STANLEE",
        "number": 25,
        "position": {
          "col": 2,
          "index": 4
        },
        "tiles": [
          {
            "type": "letter",
            "letter": "S"
          },
          {
            "type": "letter",
            "letter": "T"
          },
          {
            "type": "letter",
            "letter": "A"
          },
          {
            "type": "letter",
            "letter": "N"
          },
          {
            "type": "letter",
            "letter": "L"
          },
          {
            "type": "letter",
            "letter": "E"
          },
          {
            "ty