{"version":3,"sources":["../src/constants.ts"],"names":[],"mappings":";AAOO,IAAM,cAAA,GAAiB;AACvB,IAAM,eAAA,GAAkB;AAGxB,IAAM,gBAAA,GAAmB;AACzB,IAAM,eAAA,GAAkB;AAaxB,IAAM,gBAAA,GAAmB;AACzB,IAAM,gBAAA,GAAmB;AACzB,IAAM,gBAAA,GAAmB;AAEzB,IAAM,gBAAA,GAAmB;AAGzB,IAAM,qBAAA,GAAwB","file":"chunk-GKUILQIP.mjs","sourcesContent":["/**\n * Shared constants for all parsers\n */\n\n// Maximum grid dimensions to prevent excessive memory usage\n// Most crosswords are 15x15 to 21x21, with Sunday puzzles typically 21x21\n// 100x100 provides plenty of headroom while preventing abuse\nexport const MAX_GRID_WIDTH = 100;\nexport const MAX_GRID_HEIGHT = 100;\n\n// PUZ format constants\nexport const PUZ_MAGIC_STRING = 'ACROSS&DOWN';\nexport const PUZ_HEADER_SIZE = 52;\n\n// PUZ header offsets\nexport const PUZ_CHECKSUM_OFFSET = 0x00;\nexport const PUZ_FILE_MAGIC_OFFSET = 0x02;\nexport const PUZ_HEADER_CHECKSUM_OFFSET = 0x0e;\nexport const PUZ_VERSION_OFFSET = 0x14;\nexport const PUZ_WIDTH_OFFSET = 0x2c;\nexport const PUZ_HEIGHT_OFFSET = 0x2d;\nexport const PUZ_NUM_CLUES_OFFSET = 0x2e;\nexport const PUZ_SCRAMBLED_TAG_OFFSET = 0x32;\n\n// PUZ section types\nexport const PUZ_SECTION_GEXT = 'GEXT';\nexport const PUZ_SECTION_LTIM = 'LTIM';\nexport const PUZ_SECTION_RTBL = 'RTBL';\nexport const PUZ_SECTION_RUSR = 'RUSR';\nexport const PUZ_SECTION_GRBS = 'GRBS';\n\n// PUZ flags\nexport const PUZ_CIRCLED_CELL_FLAG = 0x80;\n"]}