From 78a753917c752124cd3416fc5fae77b82bebef8a Mon Sep 17 00:00:00 2001 From: Chen Kai <281165273grape@gmail.com> Date: Sat, 11 Oct 2025 13:01:23 +0800 Subject: [PATCH 1/2] refactor: refactor and fix bug for snappy frame lib Signed-off-by: Chen Kai <281165273grape@gmail.com> --- src/frames.zig | 722 ++++++-- src/testdata/alice29.frame | Bin 0 -> 88074 bytes src/testdata/alice29.txt | 3609 ++++++++++++++++++++++++++++++++++++ 3 files changed, 4185 insertions(+), 146 deletions(-) create mode 100644 src/testdata/alice29.frame create mode 100644 src/testdata/alice29.txt diff --git a/src/frames.zig b/src/frames.zig index 8c32fe1..f13e107 100644 --- a/src/frames.zig +++ b/src/frames.zig @@ -1,182 +1,612 @@ +/// Snappy framing encode/decode utilities with compatibility helpers for external producers. const std = @import("std"); +const snappyz = @import("snappyz"); + const Allocator = std.mem.Allocator; -const snappy = @import("snappyz"); +const math = std.math; +const meta = std.meta; -pub fn decode(allocator: Allocator, writer: anytype, data: []const u8) !void { - var i: usize = 0; - // 1 byte chunktype 3 bytes chunk len - while (i + 4 <= data.len) { - const chunk_type = try ChunkType.getChunkType(data[i]); - const chunk_size = getChunkSize(data, i + 1); - if (i + 4 + chunk_size > data.len) { - break; +const FrameError = error{ + UnexpectedEof, + InvalidStreamIdentifier, + UnsupportedUnskippableChunkType, + ChunkTooLarge, + BadChecksum, + NotFramed, + EmptyStream, +}; + +const stream_identifier = "\xff\x06\x00\x00sNaPpY"; // type + length + "sNaPpY" +const identifier_payload = "sNaPpY"; +const masked_crc_constant: u32 = 0xa282ead8; +const max_chunk_len: usize = (1 << 24) - 1; // 24-bit length field +const recommended_chunk: usize = 1 << 16; // 64KiB + +const ChunkType = enum(u8) { + stream_identifier = 0xff, + compressed = 0x00, + uncompressed = 0x01, + + pub const ParseError = error{InvalidValue}; + + pub fn fromByte(value: u8) ParseError!ChunkType { + return meta.intToEnum(ChunkType, value) catch ParseError.InvalidValue; + } + + pub fn toByte(self: ChunkType) u8 { + return @intFromEnum(self); + } +}; + +/// Stateful encoder for emitting Snappy frames chunk-by-chunk. +pub const FrameEncoder = struct { + allocator: Allocator, + wrote_stream_identifier: bool = false, + wrote_data_chunk: bool = false, + checksum_buf: [4]u8 = undefined, + + /// Create a new encoder that writes chunks into the provided allocator-backed writer. + pub fn init(allocator: Allocator) FrameEncoder { + return .{ .allocator = allocator }; + } + + fn ensureStreamIdentifier(self: *FrameEncoder, writer: anytype) !void { + if (self.wrote_stream_identifier) return; + try writer.writeAll(stream_identifier); + self.wrote_stream_identifier = true; + } + + /// Compress and emit a chunk; large chunks may be stored uncompressed per Snappy framing heuristics. + pub fn writeChunk(self: *FrameEncoder, writer: anytype, chunk_input: []const u8) !void { + if (chunk_input.len == 0) return; + + try self.ensureStreamIdentifier(writer); + + const checksum = maskedChecksum(chunk_input); + std.mem.writeInt(u32, self.checksum_buf[0..], checksum, .little); + + const compressed = try snappyz.encode(self.allocator, chunk_input); + defer self.allocator.free(compressed); + + const compress_threshold = chunk_input.len - (chunk_input.len / 8); + const use_uncompressed = compressed.len >= compress_threshold; + const payload_len = if (use_uncompressed) chunk_input.len else compressed.len; + if (payload_len > max_chunk_len - 4) return FrameError.ChunkTooLarge; + + const chunk_type: ChunkType = if (use_uncompressed) .uncompressed else .compressed; + try writeChunkHeader(writer, chunk_type, payload_len + 4); + try writer.writeAll(&self.checksum_buf); + if (use_uncompressed) { + try writer.writeAll(chunk_input); + } else { + try writer.writeAll(compressed); } - switch (chunk_type) { - .IDENTIFIER => { - if (!std.mem.eql(u8, data[i .. i + 4 + chunk_size], &IDENTIFIER_FRAME)) { - return SnappyFrameError.InvalidIdentifierFrame; - } - }, - .UNCOMPRESSED => { - // drop 4 bytes of crc as well - try writer.writeAll(data[i + 4 + 4 .. i + 4 + chunk_size]); - }, - .COMPRESSED => { - // drop 4 bytes of crc as well - const decoded = snappy.decode(allocator, data[i + 4 + 4 .. i + 4 + chunk_size]) catch { - return SnappyFrameError.InvalidSnappyBlockDecode; - }; - defer allocator.free(decoded); - - try writer.writeAll(decoded); - }, - .PADDING => { - // noop - }, + self.wrote_data_chunk = true; + } + + fn writeEmptyChunk(self: *FrameEncoder, writer: anytype) !void { + try self.ensureStreamIdentifier(writer); + const checksum = maskedChecksum(&[_]u8{}); + std.mem.writeInt(u32, self.checksum_buf[0..], checksum, .little); + try writeChunkHeader(writer, .uncompressed, 4); + try writer.writeAll(&self.checksum_buf); + self.wrote_data_chunk = true; + } + + /// Finalize the stream, writing an empty chunk if no data was provided. + pub fn finish(self: *FrameEncoder, writer: anytype) !void { + if (!self.wrote_data_chunk) { + try self.writeEmptyChunk(writer); } + } +}; + +/// Encode all data into a fresh Snappy frame stored in an owned slice. +pub fn encode(allocator: Allocator, data: []const u8) ![]u8 { + var output = std.ArrayListUnmanaged(u8).empty; + errdefer output.deinit(allocator); + + var encoder = FrameEncoder.init(allocator); - i = i + 4 + chunk_size; + var index: usize = 0; + while (index < data.len) { + const end_index = @min(index + recommended_chunk, data.len); + const chunk_input = data[index..end_index]; + try encoder.writeChunk(output.writer(allocator), chunk_input); + index = end_index; } + + try encoder.finish(output.writer(allocator)); + + return output.toOwnedSlice(allocator); } -pub fn encode(allocator: Allocator, writer: anytype, data: []const u8) !void { - // push identifier frame - try writer.writeAll(&IDENTIFIER_FRAME); - var i: usize = 0; - while (i < data.len) { - const chunk = data[i..@min(i + UNCOMPRESSED_CHUNK_SIZE, data.len)]; - const compressed = try snappy.encode(allocator, chunk); - defer allocator.free(compressed); - - if (compressed.len < chunk.len) { - const size = compressed.len + 4; - const frame_header = [_]u8{ @as(u8, @intFromEnum(ChunkType.COMPRESSED)), @as(u8, @truncate(size)), @as(u8, @truncate(size >> 8)), @as(u8, @truncate(size >> 16)) }; - - const crc_hash = snappy.crc(chunk); - const crc_bytes = try allocator.alloc(u8, 4); - defer allocator.free(crc_bytes); - std.mem.writePackedInt(u32, crc_bytes, 0, crc_hash, .little); - - try writer.writeAll(&frame_header); - try writer.writeAll(crc_bytes[0..4]); - try writer.writeAll(compressed); - } else { - const size = chunk.len + 4; - const frame_header = [_]u8{ @as(u8, @intFromEnum(ChunkType.UNCOMPRESSED)), @as(u8, @truncate(size)), @as(u8, @truncate(size >> 8)), @as(u8, @truncate(size >> 16)) }; +/// Stream input from `reader` into the frame writer without buffering the entire payload. +pub fn encodeToWriter(allocator: Allocator, reader: anytype, writer: anytype) !void { + var encoder = FrameEncoder.init(allocator); + + var chunk_input_buffer = try allocator.alloc(u8, recommended_chunk); + defer allocator.free(chunk_input_buffer); + + while (true) { + const read_len = try reader.read(chunk_input_buffer); + if (read_len == 0) break; - const crc_hash = snappy.crc(chunk); - const crc_bytes = try allocator.alloc(u8, 4); - defer allocator.free(crc_bytes); - std.mem.writePackedInt(u32, crc_bytes, 0, crc_hash, .little); + try encoder.writeChunk(writer, chunk_input_buffer[0..read_len]); + } + + try encoder.finish(writer); +} + +/// Decode either a framed Snappy payload or raw Snappy buffer into newly allocated bytes. +pub fn decode(allocator: Allocator, data: []const u8) ![]u8 { + if (data.len == 0) { + return error.EmptyStream; + } + + return decodeFramed(allocator, data) catch |err| switch (err) { + FrameError.NotFramed, FrameError.EmptyStream => snappyz.decode(allocator, data), + else => |e| return e, + }; +} + +/// Decode framed input from `reader`, writing decompressed output into `writer`. +pub fn decodeFromReader(allocator: Allocator, reader: anytype, writer: anytype) !void { + var chunk_buf = std.ArrayListUnmanaged(u8).empty; + defer chunk_buf.deinit(allocator); + + var processed_any_chunk = false; + var saw_stream_identifier = false; + var saw_data_chunk = false; - try writer.writeAll(&frame_header); - try writer.writeAll(crc_bytes[0..4]); - try writer.writeAll(chunk); + var header: [4]u8 = undefined; + + while (true) { + const maybe_first = try readByte(reader); + if (maybe_first == null) break; + + const is_first_chunk = !processed_any_chunk; + processed_any_chunk = true; + header[0] = maybe_first.?; + try readExact(reader, header[1..]); + + const chunk_type_byte = header[0]; + const length = readChunkLength(header[1..4]); + + if (length > max_chunk_len) return FrameError.ChunkTooLarge; + + try chunk_buf.resize(allocator, length); + try readExact(reader, chunk_buf.items); + + const chunk_data = chunk_buf.items; + + const maybe_chunk_type = ChunkType.fromByte(chunk_type_byte) catch null; + + if (maybe_chunk_type) |chunk_type| { + switch (chunk_type) { + .stream_identifier => { + try ensureStreamIdentifier(chunk_data); + saw_stream_identifier = true; + }, + .compressed => { + try writeCompressedChunk(allocator, writer, chunk_data); + saw_data_chunk = true; + }, + .uncompressed => { + try writeUncompressedChunk(writer, chunk_data); + saw_data_chunk = true; + }, + } + } else { + if (chunk_type_byte >= 0x80 and chunk_type_byte <= 0xfd) { + chunk_buf.clearRetainingCapacity(); + continue; + } + if (!saw_stream_identifier and !saw_data_chunk and is_first_chunk) { + return FrameError.NotFramed; + } + return FrameError.UnsupportedUnskippableChunkType; } - i = i + UNCOMPRESSED_CHUNK_SIZE; + + chunk_buf.clearRetainingCapacity(); } + + if (!saw_data_chunk) return FrameError.NotFramed; } -const ChunkType = enum(u8) { - IDENTIFIER = 0xff, - COMPRESSED = 0x00, - UNCOMPRESSED = 0x01, - PADDING = 0xfe, - - pub fn getChunkType(value: u8) !ChunkType { - switch (value) { - @intFromEnum(ChunkType.IDENTIFIER) => { - return ChunkType.IDENTIFIER; - }, - @intFromEnum(ChunkType.COMPRESSED) => { - return ChunkType.COMPRESSED; - }, - @intFromEnum(ChunkType.UNCOMPRESSED) => { - return ChunkType.UNCOMPRESSED; - }, - @intFromEnum(ChunkType.PADDING) => { - return ChunkType.PADDING; - }, - else => { - return SnappyFrameError.InvalidChunkType; - }, +fn decodeFramed(allocator: Allocator, data: []const u8) ![]u8 { + if (data.len < 4) return FrameError.NotFramed; + + var cursor: usize = 0; + var saw_data_chunk = false; + var saw_stream_identifier = false; + + var output = std.ArrayListUnmanaged(u8).empty; + errdefer output.deinit(allocator); + + while (cursor < data.len) { + if (data.len - cursor < 4) return FrameError.UnexpectedEof; + const chunk_start = cursor; + const chunk_type_byte = data[cursor]; + const is_first_chunk = !saw_stream_identifier and !saw_data_chunk and chunk_start == 0; + const maybe_chunk_type = ChunkType.fromByte(chunk_type_byte) catch null; + if (is_first_chunk and maybe_chunk_type == null and !(chunk_type_byte >= 0x80 and chunk_type_byte <= 0xfd)) { + return FrameError.NotFramed; + } + + const length = readChunkLength(data[cursor + 1 .. cursor + 4]); + cursor += 4; + + if (length > max_chunk_len) return FrameError.ChunkTooLarge; + if (cursor + length > data.len) return FrameError.UnexpectedEof; + + const chunk_data = data[cursor .. cursor + length]; + cursor += length; + + if (maybe_chunk_type) |chunk_type| { + switch (chunk_type) { + .stream_identifier => { + try ensureStreamIdentifier(chunk_data); + saw_stream_identifier = true; + }, + .compressed => { + const writer = output.writer(allocator); + try writeCompressedChunk(allocator, writer, chunk_data); + saw_data_chunk = true; + }, + .uncompressed => { + const writer = output.writer(allocator); + try writeUncompressedChunk(writer, chunk_data); + saw_data_chunk = true; + }, + } + continue; } + + if (chunk_type_byte >= 0x80 and chunk_type_byte <= 0xfd) { + continue; // skippable chunk + } + + if (is_first_chunk) return FrameError.NotFramed; + + return FrameError.UnsupportedUnskippableChunkType; } -}; -const SnappyFrameError = error{ - InvalidChunkType, - InvalidIdentifierFrame, - NotImplemented, - InvalidSnappyBlockDecode, -}; + if (!saw_data_chunk) return FrameError.NotFramed; + + // Some producers may omit the identifier. Only enforce when data present with mismatched chunk. + return output.toOwnedSlice(allocator); +} + +fn ensureStreamIdentifier(chunk_payload: []const u8) !void { + if (chunk_payload.len != identifier_payload.len) return FrameError.InvalidStreamIdentifier; + if (!std.mem.eql(u8, chunk_payload, identifier_payload)) { + return FrameError.InvalidStreamIdentifier; + } +} + +fn writeUncompressedChunk(writer: anytype, chunk_payload: []const u8) !void { + if (chunk_payload.len < 4) return FrameError.UnexpectedEof; + const expected_checksum = readU32le(chunk_payload[0..4]); + const raw_payload = chunk_payload[4..]; + try validateChecksum(raw_payload, expected_checksum); + try writer.writeAll(raw_payload); +} + +fn writeCompressedChunk(allocator: Allocator, writer: anytype, chunk_payload: []const u8) !void { + if (chunk_payload.len < 4) return FrameError.UnexpectedEof; + const expected_checksum = readU32le(chunk_payload[0..4]); + const compressed_payload = chunk_payload[4..]; + const decoded = try snappyz.decode(allocator, compressed_payload); + defer allocator.free(decoded); + try validateChecksum(decoded, expected_checksum); + try writer.writeAll(decoded); +} + +fn writeChunkHeader(writer: anytype, chunk_type: ChunkType, payload_len: usize) !void { + if (payload_len > max_chunk_len) return FrameError.ChunkTooLarge; + const chunk_type_byte: u8 = chunk_type.toByte(); + const byte0: u8 = @intCast(payload_len & 0xff); + const byte1: u8 = @intCast((payload_len >> 8) & 0xff); + const byte2: u8 = @intCast((payload_len >> 16) & 0xff); + const header = [_]u8{ + chunk_type_byte, + byte0, + byte1, + byte2, + }; + try writer.writeAll(&header); +} + +fn readChunkLength(bytes: []const u8) usize { + return @as(usize, bytes[0]) | + (@as(usize, bytes[1]) << 8) | + (@as(usize, bytes[2]) << 16); +} + +fn readU32le(bytes: []const u8) u32 { + return @as(u32, bytes[0]) | + (@as(u32, bytes[1]) << 8) | + (@as(u32, bytes[2]) << 16) | + (@as(u32, bytes[3]) << 24); +} + +fn maskedChecksum(data: []const u8) u32 { + const crc = crc32c(data); + const rotated = math.rotr(u32, crc, 15); + return rotated +% masked_crc_constant; +} + +fn validateChecksum(data: []const u8, expected_masked: u32) !void { + const computed = maskedChecksum(data); + if (computed != expected_masked) { + return FrameError.BadChecksum; + } +} + +fn crc32c(data: []const u8) u32 { + return std.hash.crc.Crc32Iscsi.hash(data); +} + +fn readExact(reader: anytype, buffer: []u8) !void { + var index: usize = 0; + while (index < buffer.len) { + const read_len = try reader.read(buffer[index..]); + if (read_len == 0) return FrameError.UnexpectedEof; + index += read_len; + } +} + +fn readByte(reader: anytype) !?u8 { + var byte: [1]u8 = undefined; + const read_len = try reader.read(&byte); + if (read_len == 0) return null; + return byte[0]; +} + +fn loadFileAlloc(allocator: Allocator, path: []const u8) ![]u8 { + var file = try std.fs.cwd().openFile(path, .{}); + defer file.close(); + + const stat = try file.stat(); + const buf = try allocator.alloc(u8, stat.size); + const read_len = try file.readAll(buf); + std.debug.assert(read_len == stat.size); + return buf; +} + +const go_writer_golden_frame = + "\xff\x06\x00\x00sNaPpY" ++ + "\x01\x08\x00\x00" ++ + "\x68\x10\xe6\xb6" ++ + "\x61\x62\x63\x64" ++ + "\x00\x11\x00\x00" ++ + "\x5f\xeb\xf2\x10" ++ + "\x96\x01" ++ + "\x00\x41" ++ + "\xfe\x01\x00" ++ + "\xfe\x01\x00" ++ + "\x52\x01\x00" ++ + "\x00\x18\x00\x00" ++ + "\x30\x85\x69\xeb" ++ + "\x70" ++ + "\x00\x42" ++ + "\xee\x01\x00" ++ + "\x0d\x01" ++ + "\x08\x65\x66\x43" ++ + "\x4e\x01\x00" ++ + "\x4e\x5a\x00" ++ + "\x00\x67"; + +test "encodeToWriter matches encode" { + const allocator = std.testing.allocator; + const sample = "frame-streaming-testframe-streaming-test"; + + const direct = try encode(allocator, sample); + defer allocator.free(direct); + + var reader_stream = std.io.fixedBufferStream(sample); + var encoded_buffer = std.ArrayListUnmanaged(u8).empty; + defer encoded_buffer.deinit(allocator); + + try encodeToWriter(allocator, reader_stream.reader(), encoded_buffer.writer(allocator)); + + try std.testing.expectEqualSlices(u8, direct, encoded_buffer.items); +} + +test "FrameEncoder manual streaming API" { + const allocator = std.testing.allocator; + const parts = [_][]const u8{ "frame-", "encoder-", "stream" }; + + var encoder = FrameEncoder.init(allocator); + var encoded = std.ArrayListUnmanaged(u8).empty; + defer encoded.deinit(allocator); + + var i: usize = 0; + while (i < parts.len) : (i += 1) { + try encoder.writeChunk(encoded.writer(allocator), parts[i]); + } + + try encoder.finish(encoded.writer(allocator)); -fn getChunkSize(data: []const u8, offset: usize) usize { - return (@as(u32, data[offset + 2]) << 16) + (@as(u32, data[offset + 1]) << 9) + data[offset]; -} - -const IDENTIFIER_STRING = [_]u8{ 0x73, 0x4e, 0x61, 0x50, 0x70, 0x59 }; -const IDENTIFIER_FRAME = [_]u8{ 0xff, 0x06, 0x00, 0x00, 0x73, 0x4e, 0x61, 0x50, 0x70, 0x59 }; -const UNCOMPRESSED_CHUNK_SIZE = 65536; - -test "decode" { - const ck = [_]u8{ - // frame - 0xff, 0x06, 0x00, 0x00, 0x73, 0x4e, 0x61, 0x50, 0x70, 0x59, - //compressed - 0x00, 0x0a, 0x00, 0x00, 0x38, 0x93, 0x3e, 0xdb, 0x04, 0x0c, - 't', 'h', 'i', 's', - // uncompressed - 0x01, 0x0a, 0x00, 0x00, 0xc0, 0x80, - 0x04, 0xaa, 0x73, 0x4e, 0x61, 0x50, 0x70, 0x59, - // padding - 0xfe, 0x06, - 0x00, 0x00, 0x73, 0x4e, 0x61, 0x50, 0x70, 0x59, + var combined_builder = std.ArrayListUnmanaged(u8).empty; + defer combined_builder.deinit(allocator); + for (parts) |segment| { + try combined_builder.appendSlice(allocator, segment); + } + const combined = try combined_builder.toOwnedSlice(allocator); + defer allocator.free(combined); + + const decoded_manual = try decode(allocator, encoded.items); + defer allocator.free(decoded_manual); + + try std.testing.expectEqualSlices(u8, combined, decoded_manual); + + try std.testing.expect(std.mem.startsWith(u8, encoded.items, stream_identifier)); +} + +test "decodeFromReader matches decode" { + const allocator = std.testing.allocator; + const sample = "thissNaPpYYYYYYYYYYYYYYYYYYYY"; + + const encoded = try encode(allocator, sample); + defer allocator.free(encoded); + + var reader_stream = std.io.fixedBufferStream(encoded); + var decoded_buffer = std.ArrayListUnmanaged(u8).empty; + defer decoded_buffer.deinit(allocator); + + try decodeFromReader(allocator, reader_stream.reader(), decoded_buffer.writer(allocator)); + + try std.testing.expectEqualSlices(u8, sample, decoded_buffer.items); +} + +test "frame roundtrip samples" { + const allocator = std.testing.allocator; + const cases = [_][]const u8{ + "", + "a", + "hello snappy", + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "0123456789abcdefghijklmnopqrstuvwxyz", }; - var arraylistdata = std.ArrayList(u8).init(std.testing.allocator); - defer arraylistdata.deinit(); - const fbswriter = arraylistdata.writer(); + for (cases) |case_data| { + const encoded = try encode(allocator, case_data); + defer allocator.free(encoded); + + const decoded = decode(allocator, encoded) catch |err| { + std.debug.print("decode failed for case '{s}' with error={any}\n", .{ case_data, err }); + return err; + }; + defer allocator.free(decoded); + + try std.testing.expectEqualSlices(u8, case_data, decoded); + } +} + +test "frame encode splits large payload into multiple chunks" { + const allocator = std.testing.allocator; + const large_len = (recommended_chunk * 2) + 123; + const large_data = try allocator.alloc(u8, large_len); + defer allocator.free(large_data); + + for (large_data, 0..) |*byte, idx| { + byte.* = @intCast((idx * 31) % 251); + } + + const encoded = try encode(allocator, large_data); + defer allocator.free(encoded); - try decode(std.testing.allocator, fbswriter, &ck); - const dumped = arraylistdata.items; + var chunk_count: usize = 0; + var cursor: usize = stream_identifier.len; + while (cursor + 4 <= encoded.len) { + chunk_count += 1; + const length = readChunkLength(encoded[cursor + 1 .. cursor + 4]); + cursor += 4 + length; + } + + try std.testing.expect(chunk_count >= 2); + + const decoded = try decode(allocator, encoded); + defer allocator.free(decoded); + try std.testing.expectEqualSlices(u8, large_data, decoded); +} + +test "decode falls back to raw snappy payloads" { + const allocator = std.testing.allocator; + const sample = "raw snappy payload"; + const raw = try snappyz.encode(allocator, sample); + defer allocator.free(raw); + + const decoded = try decode(allocator, raw); + defer allocator.free(decoded); + + try std.testing.expectEqualSlices(u8, sample, decoded); +} + +test "decode rejects invalid stream identifier" { + const allocator = std.testing.allocator; + const sample = "identifier"; + const encoded = try encode(allocator, sample); + defer allocator.free(encoded); + + var invalid = try allocator.dupe(u8, encoded); + defer allocator.free(invalid); + invalid[4] ^= 0xff; // corrupt the identifier payload - const expected = "thissNaPpY"; - try std.testing.expectEqualSlices(std.meta.Child([]const u8), dumped, expected); + try std.testing.expectError(FrameError.InvalidStreamIdentifier, decode(allocator, invalid)); } -test "encode" { - // this should lead to an uncompressed chunk - const data = "thissNaPpY"; +test "decode detects checksum mismatch" { + const allocator = std.testing.allocator; + const sample = "checksum"; + const encoded = try encode(allocator, sample); + defer allocator.free(encoded); + + var corrupted = try allocator.dupe(u8, encoded); + defer allocator.free(corrupted); + + const first_chunk = stream_identifier.len; + corrupted[first_chunk + 4] ^= 0xff; // flip a checksum byte + + try std.testing.expectError(FrameError.BadChecksum, decode(allocator, corrupted)); +} + +test "decode compatibility with go snappy writer golden output" { + const allocator = std.testing.allocator; + const decoded = try decode(allocator, go_writer_golden_frame); + defer allocator.free(decoded); + + const expected_total_len = 4 + 150 + 68 + 3 + 20 + 20 + 1; + try std.testing.expectEqual(@as(usize, expected_total_len), decoded.len); + try std.testing.expectEqualSlices(u8, "abcd", decoded[0..4]); + + var cursor: usize = 4; + try std.testing.expect(std.mem.allEqual(u8, decoded[cursor .. cursor + 150], 'A')); + cursor += 150; + try std.testing.expect(std.mem.allEqual(u8, decoded[cursor .. cursor + 68], 'B')); + cursor += 68; + try std.testing.expectEqualSlices(u8, "efC", decoded[cursor .. cursor + 3]); + cursor += 3; + try std.testing.expect(std.mem.allEqual(u8, decoded[cursor .. cursor + 20], 'C')); + cursor += 20; + try std.testing.expect(std.mem.allEqual(u8, decoded[cursor .. cursor + 20], 'B')); + cursor += 20; + try std.testing.expectEqual(@as(u8, 'g'), decoded[cursor]); +} + +test "decode compatibility with rust snappy frame alice29" { + const allocator = std.testing.allocator; + const rust_frame_path = "src/testdata/alice29.frame"; + const rust_source_path = "src/testdata/alice29.txt"; + + const frame_bytes = try loadFileAlloc(allocator, rust_frame_path); + defer allocator.free(frame_bytes); - var arraylistdata = std.ArrayList(u8).init(std.testing.allocator); - defer arraylistdata.deinit(); - const fbswriter = arraylistdata.writer(); + const original = try loadFileAlloc(allocator, rust_source_path); + defer allocator.free(original); - try encode(std.testing.allocator, fbswriter, data); - const dumped = arraylistdata.items; - const expected = IDENTIFIER_FRAME ++ [_]u8{ 0x01, 0x0e, 0x00, 0x00, 0x58, 0x09, 0xd7, 0x88 } ++ "thissNaPpY"; + const decoded = try decode(allocator, frame_bytes); + defer allocator.free(decoded); - try std.testing.expectEqualSlices(u8, dumped, expected); + try std.testing.expectEqualSlices(u8, original, decoded); } -test "encode<>decode" { - // this should lead to a compressed chunk - const data = "thissNaPpYYYYYYYYYYYYYYYYYYYY"; +test "encode compatibility with rust snappy frame alice29" { + const allocator = std.testing.allocator; + const rust_frame_path = "src/testdata/alice29.frame"; + const rust_source_path = "src/testdata/alice29.txt"; - var arraylistdata = std.ArrayList(u8).init(std.testing.allocator); - defer arraylistdata.deinit(); - const fbswriter = arraylistdata.writer(); + const original = try loadFileAlloc(allocator, rust_source_path); + defer allocator.free(original); - try encode(std.testing.allocator, fbswriter, data); - const encoded = arraylistdata.items; + const expected_frame = try loadFileAlloc(allocator, rust_frame_path); + defer allocator.free(expected_frame); - var arraylistdata1 = std.ArrayList(u8).init(std.testing.allocator); - defer arraylistdata1.deinit(); - const fbswriter1 = arraylistdata1.writer(); - try decode(std.testing.allocator, fbswriter1, encoded); - const decoded = arraylistdata1.items; + const encoded = try encode(allocator, original); + defer allocator.free(encoded); - try std.testing.expectEqualSlices(u8, data, decoded); + try std.testing.expectEqualSlices(u8, expected_frame, encoded); } diff --git a/src/testdata/alice29.frame b/src/testdata/alice29.frame new file mode 100644 index 0000000000000000000000000000000000000000..259c36f35ed6336606814bb1de5b3366a03f9e35 GIT binary patch literal 88074 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 literal 0 HcmV?d00001 diff --git a/src/testdata/alice29.txt b/src/testdata/alice29.txt new file mode 100644 index 0000000..7033655 --- /dev/null +++ b/src/testdata/alice29.txt @@ -0,0 +1,3609 @@ + + + + + ALICE'S ADVENTURES IN WONDERLAND + + Lewis Carroll + + THE MILLENNIUM FULCRUM EDITION 2.9 + + + + + CHAPTER I + + Down the Rabbit-Hole + + + Alice was beginning to get very tired of sitting by her sister +on the bank, and of having nothing to do: once or twice she had +peeped into the book her sister was reading, but it had no +pictures or conversations in it, `and what is the use of a book,' +thought Alice `without pictures or conversation?' + + So she was considering in her own mind (as well as she could, +for the hot day made her feel very sleepy and stupid), whether +the pleasure of making a daisy-chain would be worth the trouble +of getting up and picking the daisies, when suddenly a White +Rabbit with pink eyes ran close by her. + + There was nothing so VERY remarkable in that; nor did Alice +think it so VERY much out of the way to hear the Rabbit say to +itself, `Oh dear! Oh dear! I shall be late!' (when she thought +it over afterwards, it occurred to her that she ought to have +wondered at this, but at the time it all seemed quite natural); +but when the Rabbit actually TOOK A WATCH OUT OF ITS WAISTCOAT- +POCKET, and looked at it, and then hurried on, Alice started to +her feet, for it flashed across her mind that she had never +before seen a rabbit with either a waistcoat-pocket, or a watch to +take out of it, and burning with curiosity, she ran across the +field after it, and fortunately was just in time to see it pop +down a large rabbit-hole under the hedge. + + In another moment down went Alice after it, never once +considering how in the world she was to get out again. + + The rabbit-hole went straight on like a tunnel for some way, +and then dipped suddenly down, so suddenly that Alice had not a +moment to think about stopping herself before she found herself +falling down a very deep well. + + Either the well was very deep, or she fell very slowly, for she +had plenty of time as she went down to look about her and to +wonder what was going to happen next. First, she tried to look +down and make out what she was coming to, but it was too dark to +see anything; then she looked at the sides of the well, and +noticed that they were filled with cupboards and book-shelves; +here and there she saw maps and pictures hung upon pegs. She +took down a jar from one of the shelves as she passed; it was +labelled `ORANGE MARMALADE', but to her great disappointment it +was empty: she did not like to drop the jar for fear of killing +somebody, so managed to put it into one of the cupboards as she +fell past it. + + `Well!' thought Alice to herself, `after such a fall as this, I +shall think nothing of tumbling down stairs! How brave they'll +all think me at home! Why, I wouldn't say anything about it, +even if I fell off the top of the house!' (Which was very likely +true.) + + Down, down, down. Would the fall NEVER come to an end! `I +wonder how many miles I've fallen by this time?' she said aloud. +`I must be getting somewhere near the centre of the earth. Let +me see: that would be four thousand miles down, I think--' (for, +you see, Alice had learnt several things of this sort in her +lessons in the schoolroom, and though this was not a VERY good +opportunity for showing off her knowledge, as there was no one to +listen to her, still it was good practice to say it over) `--yes, +that's about the right distance--but then I wonder what Latitude +or Longitude I've got to?' (Alice had no idea what Latitude was, +or Longitude either, but thought they were nice grand words to +say.) + + Presently she began again. `I wonder if I shall fall right +THROUGH the earth! How funny it'll seem to come out among the +people that walk with their heads downward! The Antipathies, I +think--' (she was rather glad there WAS no one listening, this +time, as it didn't sound at all the right word) `--but I shall +have to ask them what the name of the country is, you know. +Please, Ma'am, is this New Zealand or Australia?' (and she tried +to curtsey as she spoke--fancy CURTSEYING as you're falling +through the air! Do you think you could manage it?) `And what +an ignorant little girl she'll think me for asking! No, it'll +never do to ask: perhaps I shall see it written up somewhere.' + + Down, down, down. There was nothing else to do, so Alice soon +began talking again. `Dinah'll miss me very much to-night, I +should think!' (Dinah was the cat.) `I hope they'll remember +her saucer of milk at tea-time. Dinah my dear! I wish you were +down here with me! There are no mice in the air, I'm afraid, but +you might catch a bat, and that's very like a mouse, you know. +But do cats eat bats, I wonder?' And here Alice began to get +rather sleepy, and went on saying to herself, in a dreamy sort of +way, `Do cats eat bats? Do cats eat bats?' and sometimes, `Do +bats eat cats?' for, you see, as she couldn't answer either +question, it didn't much matter which way she put it. She felt +that she was dozing off, and had just begun to dream that she +was walking hand in hand with Dinah, and saying to her very +earnestly, `Now, Dinah, tell me the truth: did you ever eat a +bat?' when suddenly, thump! thump! down she came upon a heap of +sticks and dry leaves, and the fall was over. + + Alice was not a bit hurt, and she jumped up on to her feet in a +moment: she looked up, but it was all dark overhead; before her +was another long passage, and the White Rabbit was still in +sight, hurrying down it. There was not a moment to be lost: +away went Alice like the wind, and was just in time to hear it +say, as it turned a corner, `Oh my ears and whiskers, how late +it's getting!' She was close behind it when she turned the +corner, but the Rabbit was no longer to be seen: she found +herself in a long, low hall, which was lit up by a row of lamps +hanging from the roof. + + There were doors all round the hall, but they were all locked; +and when Alice had been all the way down one side and up the +other, trying every door, she walked sadly down the middle, +wondering how she was ever to get out again. + + Suddenly she came upon a little three-legged table, all made of +solid glass; there was nothing on it except a tiny golden key, +and Alice's first thought was that it might belong to one of the +doors of the hall; but, alas! either the locks were too large, or +the key was too small, but at any rate it would not open any of +them. However, on the second time round, she came upon a low +curtain she had not noticed before, and behind it was a little +door about fifteen inches high: she tried the little golden key +in the lock, and to her great delight it fitted! + + Alice opened the door and found that it led into a small +passage, not much larger than a rat-hole: she knelt down and +looked along the passage into the loveliest garden you ever saw. +How she longed to get out of that dark hall, and wander about +among those beds of bright flowers and those cool fountains, but +she could not even get her head though the doorway; `and even if +my head would go through,' thought poor Alice, `it would be of +very little use without my shoulders. Oh, how I wish +I could shut up like a telescope! I think I could, if I only +know how to begin.' For, you see, so many out-of-the-way things +had happened lately, that Alice had begun to think that very few +things indeed were really impossible. + + There seemed to be no use in waiting by the little door, so she +went back to the table, half hoping she might find another key on +it, or at any rate a book of rules for shutting people up like +telescopes: this time she found a little bottle on it, (`which +certainly was not here before,' said Alice,) and round the neck +of the bottle was a paper label, with the words `DRINK ME' +beautifully printed on it in large letters. + + It was all very well to say `Drink me,' but the wise little +Alice was not going to do THAT in a hurry. `No, I'll look +first,' she said, `and see whether it's marked "poison" or not'; +for she had read several nice little histories about children who +had got burnt, and eaten up by wild beasts and other unpleasant +things, all because they WOULD not remember the simple rules +their friends had taught them: such as, that a red-hot poker +will burn you if you hold it too long; and that if you cut your +finger VERY deeply with a knife, it usually bleeds; and she had +never forgotten that, if you drink much from a bottle marked +`poison,' it is almost certain to disagree with you, sooner or +later. + + However, this bottle was NOT marked `poison,' so Alice ventured +to taste it, and finding it very nice, (it had, in fact, a sort +of mixed flavour of cherry-tart, custard, pine-apple, roast +turkey, toffee, and hot buttered toast,) she very soon finished +it off. + + * * * * * * * + + * * * * * * + + * * * * * * * + + `What a curious feeling!' said Alice; `I must be shutting up +like a telescope.' + + And so it was indeed: she was now only ten inches high, and +her face brightened up at the thought that she was now the right +size for going though the little door into that lovely garden. +First, however, she waited for a few minutes to see if she was +going to shrink any further: she felt a little nervous about +this; `for it might end, you know,' said Alice to herself, `in my +going out altogether, like a candle. I wonder what I should be +like then?' And she tried to fancy what the flame of a candle is +like after the candle is blown out, for she could not remember +ever having seen such a thing. + + After a while, finding that nothing more happened, she decided +on going into the garden at once; but, alas for poor Alice! when +she got to the door, she found he had forgotten the little golden +key, and when she went back to the table for it, she found she +could not possibly reach it: she could see it quite plainly +through the glass, and she tried her best to climb up one of the +legs of the table, but it was too slippery; and when she had +tired herself out with trying, the poor little thing sat down and +cried. + + `Come, there's no use in crying like that!' said Alice to +herself, rather sharply; `I advise you to leave off this minute!' +She generally gave herself very good advice, (though she very +seldom followed it), and sometimes she scolded herself so +severely as to bring tears into her eyes; and once she remembered +trying to box her own ears for having cheated herself in a game +of croquet she was playing against herself, for this curious +child was very fond of pretending to be two people. `But it's no +use now,' thought poor Alice, `to pretend to be two people! Why, +there's hardly enough of me left to make ONE respectable +person!' + + Soon her eye fell on a little glass box that was lying under +the table: she opened it, and found in it a very small cake, on +which the words `EAT ME' were beautifully marked in currants. +`Well, I'll eat it,' said Alice, `and if it makes me grow larger, +I can reach the key; and if it makes me grow smaller, I can creep +under the door; so either way I'll get into the garden, and I +don't care which happens!' + + She ate a little bit, and said anxiously to herself, `Which +way? Which way?', holding her hand on the top of her head to +feel which way it was growing, and she was quite surprised to +find that she remained the same size: to be sure, this generally +happens when one eats cake, but Alice had got so much into the +way of expecting nothing but out-of-the-way things to happen, +that it seemed quite dull and stupid for life to go on in the +common way. + + So she set to work, and very soon finished off the cake. + + * * * * * * * + + * * * * * * + + * * * * * * * + + + + + CHAPTER II + + The Pool of Tears + + + `Curiouser and curiouser!' cried Alice (she was so much +surprised, that for the moment she quite forgot how to speak good +English); `now I'm opening out like the largest telescope that +ever was! Good-bye, feet!' (for when she looked down at her +feet, they seemed to be almost out of sight, they were getting so +far off). `Oh, my poor little feet, I wonder who will put on +your shoes and stockings for you now, dears? I'm sure _I_ shan't +be able! I shall be a great deal too far off to trouble myself +about you: you must manage the best way you can; --but I must be +kind to them,' thought Alice, `or perhaps they won't walk the +way I want to go! Let me see: I'll give them a new pair of +boots every Christmas.' + + And she went on planning to herself how she would manage it. +`They must go by the carrier,' she thought; `and how funny it'll +seem, sending presents to one's own feet! And how odd the +directions will look! + + ALICE'S RIGHT FOOT, ESQ. + HEARTHRUG, + NEAR THE FENDER, + (WITH ALICE'S LOVE). + +Oh dear, what nonsense I'm talking!' + + Just then her head struck against the roof of the hall: in +fact she was now more than nine feet high, and she at once took +up the little golden key and hurried off to the garden door. + + Poor Alice! It was as much as she could do, lying down on one +side, to look through into the garden with one eye; but to get +through was more hopeless than ever: she sat down and began to +cry again. + + `You ought to be ashamed of yourself,' said Alice, `a great +girl like you,' (she might well say this), `to go on crying in +this way! Stop this moment, I tell you!' But she went on all +the same, shedding gallons of tears, until there was a large pool +all round her, about four inches deep and reaching half down the +hall. + + After a time she heard a little pattering of feet in the +distance, and she hastily dried her eyes to see what was coming. +It was the White Rabbit returning, splendidly dressed, with a +pair of white kid gloves in one hand and a large fan in the +other: he came trotting along in a great hurry, muttering to +himself as he came, `Oh! the Duchess, the Duchess! Oh! won't she +be savage if I've kept her waiting!' Alice felt so desperate +that she was ready to ask help of any one; so, when the Rabbit +came near her, she began, in a low, timid voice, `If you please, +sir--' The Rabbit started violently, dropped the white kid +gloves and the fan, and skurried away into the darkness as hard +as he could go. + + Alice took up the fan and gloves, and, as the hall was very +hot, she kept fanning herself all the time she went on talking: +`Dear, dear! How queer everything is to-day! And yesterday +things went on just as usual. I wonder if I've been changed in +the night? Let me think: was I the same when I got up this +morning? I almost think I can remember feeling a little +different. But if I'm not the same, the next question is, Who in +the world am I? Ah, THAT'S the great puzzle!' And she began +thinking over all the children she knew that were of the same age +as herself, to see if she could have been changed for any of +them. + + `I'm sure I'm not Ada,' she said, `for her hair goes in such +long ringlets, and mine doesn't go in ringlets at all; and I'm +sure I can't be Mabel, for I know all sorts of things, and she, +oh! she knows such a very little! Besides, SHE'S she, and I'm I, +and--oh dear, how puzzling it all is! I'll try if I know all the +things I used to know. Let me see: four times five is twelve, +and four times six is thirteen, and four times seven is--oh dear! +I shall never get to twenty at that rate! However, the +Multiplication Table doesn't signify: let's try Geography. +London is the capital of Paris, and Paris is the capital of Rome, +and Rome--no, THAT'S all wrong, I'm certain! I must have been +changed for Mabel! I'll try and say "How doth the little--"' +and she crossed her hands on her lap as if she were saying lessons, +and began to repeat it, but her voice sounded hoarse and +strange, and the words did not come the same as they used to do:-- + + `How doth the little crocodile + Improve his shining tail, + And pour the waters of the Nile + On every golden scale! + + `How cheerfully he seems to grin, + How neatly spread his claws, + And welcome little fishes in + With gently smiling jaws!' + + `I'm sure those are not the right words,' said poor Alice, and +her eyes filled with tears again as she went on, `I must be Mabel +after all, and I shall have to go and live in that poky little +house, and have next to no toys to play with, and oh! ever so +many lessons to learn! No, I've made up my mind about it; if I'm +Mabel, I'll stay down here! It'll be no use their putting their +heads down and saying "Come up again, dear!" I shall only look +up and say "Who am I then? Tell me that first, and then, if I +like being that person, I'll come up: if not, I'll stay down +here till I'm somebody else"--but, oh dear!' cried Alice, with a +sudden burst of tears, `I do wish they WOULD put their heads +down! I am so VERY tired of being all alone here!' + + As she said this she looked down at her hands, and was +surprised to see that she had put on one of the Rabbit's little +white kid gloves while she was talking. `How CAN I have done +that?' she thought. `I must be growing small again.' She got up +and went to the table to measure herself by it, and found that, +as nearly as she could guess, she was now about two feet high, +and was going on shrinking rapidly: she soon found out that the +cause of this was the fan she was holding, and she dropped it +hastily, just in time to avoid shrinking away altogether. + +`That WAS a narrow escape!' said Alice, a good deal frightened at +the sudden change, but very glad to find herself still in +existence; `and now for the garden!' and she ran with all speed +back to the little door: but, alas! the little door was shut +again, and the little golden key was lying on the glass table as +before, `and things are worse than ever,' thought the poor child, +`for I never was so small as this before, never! And I declare +it's too bad, that it is!' + + As she said these words her foot slipped, and in another +moment, splash! she was up to her chin in salt water. He first +idea was that she had somehow fallen into the sea, `and in that +case I can go back by railway,' she said to herself. (Alice had +been to the seaside once in her life, and had come to the general +conclusion, that wherever you go to on the English coast you find +a number of bathing machines in the sea, some children digging in +the sand with wooden spades, then a row of lodging houses, and +behind them a railway station.) However, she soon made out that +she was in the pool of tears which she had wept when she was nine +feet high. + + `I wish I hadn't cried so much!' said Alice, as she swam about, +trying to find her way out. `I shall be punished for it now, I +suppose, by being drowned in my own tears! That WILL be a queer +thing, to be sure! However, everything is queer to-day.' + + Just then she heard something splashing about in the pool a +little way off, and she swam nearer to make out what it was: at +first she thought it must be a walrus or hippopotamus, but then +she remembered how small she was now, and she soon made out that +it was only a mouse that had slipped in like herself. + + `Would it be of any use, now,' thought Alice, `to speak to this +mouse? Everything is so out-of-the-way down here, that I should +think very likely it can talk: at any rate, there's no harm in +trying.' So she began: `O Mouse, do you know the way out of +this pool? I am very tired of swimming about here, O Mouse!' +(Alice thought this must be the right way of speaking to a mouse: +she had never done such a thing before, but she remembered having +seen in her brother's Latin Grammar, `A mouse--of a mouse--to a +mouse--a mouse--O mouse!' The Mouse looked at her rather +inquisitively, and seemed to her to wink with one of its little +eyes, but it said nothing. + + `Perhaps it doesn't understand English,' thought Alice; `I +daresay it's a French mouse, come over with William the +Conqueror.' (For, with all her knowledge of history, Alice had +no very clear notion how long ago anything had happened.) So she +began again: `Ou est ma chatte?' which was the first sentence in +her French lesson-book. The Mouse gave a sudden leap out of the +water, and seemed to quiver all over with fright. `Oh, I beg +your pardon!' cried Alice hastily, afraid that she had hurt the +poor animal's feelings. `I quite forgot you didn't like cats.' + + `Not like cats!' cried the Mouse, in a shrill, passionate +voice. `Would YOU like cats if you were me?' + + `Well, perhaps not,' said Alice in a soothing tone: `don't be +angry about it. And yet I wish I could show you our cat Dinah: +I think you'd take a fancy to cats if you could only see her. +She is such a dear quiet thing,' Alice went on, half to herself, +as she swam lazily about in the pool, `and she sits purring so +nicely by the fire, licking her paws and washing her face--and +she is such a nice soft thing to nurse--and she's such a capital +one for catching mice--oh, I beg your pardon!' cried Alice again, +for this time the Mouse was bristling all over, and she felt +certain it must be really offended. `We won't talk about her any +more if you'd rather not.' + + `We indeed!' cried the Mouse, who was trembling down to the end +of his tail. `As if I would talk on such a subject! Our family +always HATED cats: nasty, low, vulgar things! Don't let me hear +the name again!' + + `I won't indeed!' said Alice, in a great hurry to change the +subject of conversation. `Are you--are you fond--of--of dogs?' +The Mouse did not answer, so Alice went on eagerly: `There is +such a nice little dog near our house I should like to show you! +A little bright-eyed terrier, you know, with oh, such long curly +brown hair! And it'll fetch things when you throw them, and +it'll sit up and beg for its dinner, and all sorts of things--I +can't remember half of them--and it belongs to a farmer, you +know, and he says it's so useful, it's worth a hundred pounds! +He says it kills all the rats and--oh dear!' cried Alice in a +sorrowful tone, `I'm afraid I've offended it again!' For the +Mouse was swimming away from her as hard as it could go, and +making quite a commotion in the pool as it went. + + So she called softly after it, `Mouse dear! Do come back +again, and we won't talk about cats or dogs either, if you don't +like them!' When the Mouse heard this, it turned round and swam +slowly back to her: its face was quite pale (with passion, Alice +thought), and it said in a low trembling voice, `Let us get to +the shore, and then I'll tell you my history, and you'll +understand why it is I hate cats and dogs.' + + It was high time to go, for the pool was getting quite crowded +with the birds and animals that had fallen into it: there were a +Duck and a Dodo, a Lory and an Eaglet, and several other curious +creatures. Alice led the way, and the whole party swam to the +shore. + + + + CHAPTER III + + A Caucus-Race and a Long Tale + + + They were indeed a queer-looking party that assembled on the +bank--the birds with draggled feathers, the animals with their +fur clinging close to them, and all dripping wet, cross, and +uncomfortable. + + The first question of course was, how to get dry again: they +had a consultation about this, and after a few minutes it seemed +quite natural to Alice to find herself talking familiarly with +them, as if she had known them all her life. Indeed, she had +quite a long argument with the Lory, who at last turned sulky, +and would only say, `I am older than you, and must know better'; +and this Alice would not allow without knowing how old it was, +and, as the Lory positively refused to tell its age, there was no +more to be said. + + At last the Mouse, who seemed to be a person of authority among +them, called out, `Sit down, all of you, and listen to me! I'LL +soon make you dry enough!' They all sat down at once, in a large +ring, with the Mouse in the middle. Alice kept her eyes +anxiously fixed on it, for she felt sure she would catch a bad +cold if she did not get dry very soon. + + `Ahem!' said the Mouse with an important air, `are you all ready? +This is the driest thing I know. Silence all round, if you please! +"William the Conqueror, whose cause was favoured by the pope, was +soon submitted to by the English, who wanted leaders, and had been +of late much accustomed to usurpation and conquest. Edwin and +Morcar, the earls of Mercia and Northumbria--"' + + `Ugh!' said the Lory, with a shiver. + + `I beg your pardon!' said the Mouse, frowning, but very +politely: `Did you speak?' + + `Not I!' said the Lory hastily. + + `I thought you did,' said the Mouse. `--I proceed. "Edwin and +Morcar, the earls of Mercia and Northumbria, declared for him: +and even Stigand, the patriotic archbishop of Canterbury, found +it advisable--"' + + `Found WHAT?' said the Duck. + + `Found IT,' the Mouse replied rather crossly: `of course you +know what "it" means.' + + `I know what "it" means well enough, when I find a thing,' said +the Duck: `it's generally a frog or a worm. The question is, +what did the archbishop find?' + + The Mouse did not notice this question, but hurriedly went on, +`"--found it advisable to go with Edgar Atheling to meet William +and offer him the crown. William's conduct at first was +moderate. But the insolence of his Normans--" How are you +getting on now, my dear?' it continued, turning to Alice as it +spoke. + + `As wet as ever,' said Alice in a melancholy tone: `it doesn't +seem to dry me at all.' + + `In that case,' said the Dodo solemnly, rising to its feet, `I +move that the meeting adjourn, for the immediate adoption of more +energetic remedies--' + + `Speak English!' said the Eaglet. `I don't know the meaning of +half those long words, and, what's more, I don't believe you do +either!' And the Eaglet bent down its head to hide a smile: +some of the other birds tittered audibly. + + `What I was going to say,' said the Dodo in an offended tone, +`was, that the best thing to get us dry would be a Caucus-race.' + + `What IS a Caucus-race?' said Alice; not that she wanted much +to know, but the Dodo had paused as if it thought that SOMEBODY +ought to speak, and no one else seemed inclined to say anything. + + `Why,' said the Dodo, `the best way to explain it is to do it.' +(And, as you might like to try the thing yourself, some winter +day, I will tell you how the Dodo managed it.) + + First it marked out a race-course, in a sort of circle, (`the +exact shape doesn't matter,' it said,) and then all the party +were placed along the course, here and there. There was no `One, +two, three, and away,' but they began running when they liked, +and left off when they liked, so that it was not easy to know +when the race was over. However, when they had been running half +an hour or so, and were quite dry again, the Dodo suddenly called +out `The race is over!' and they all crowded round it, panting, +and asking, `But who has won?' + + This question the Dodo could not answer without a great deal of +thought, and it sat for a long time with one finger pressed upon +its forehead (the position in which you usually see Shakespeare, +in the pictures of him), while the rest waited in silence. At +last the Dodo said, `EVERYBODY has won, and all must have +prizes.' + + `But who is to give the prizes?' quite a chorus of voices +asked. + + `Why, SHE, of course,' said the Dodo, pointing to Alice with +one finger; and the whole party at once crowded round her, +calling out in a confused way, `Prizes! Prizes!' + + Alice had no idea what to do, and in despair she put her hand +in her pocket, and pulled out a box of comfits, (luckily the salt +water had not got into it), and handed them round as prizes. +There was exactly one a-piece all round. + + `But she must have a prize herself, you know,' said the Mouse. + + `Of course,' the Dodo replied very gravely. `What else have +you got in your pocket?' he went on, turning to Alice. + + `Only a thimble,' said Alice sadly. + + `Hand it over here,' said the Dodo. + + Then they all crowded round her once more, while the Dodo +solemnly presented the thimble, saying `We beg your acceptance of +this elegant thimble'; and, when it had finished this short +speech, they all cheered. + + Alice thought the whole thing very absurd, but they all looked +so grave that she did not dare to laugh; and, as she could not +think of anything to say, she simply bowed, and took the thimble, +looking as solemn as she could. + + The next thing was to eat the comfits: this caused some noise +and confusion, as the large birds complained that they could not +taste theirs, and the small ones choked and had to be patted on +the back. However, it was over at last, and they sat down again +in a ring, and begged the Mouse to tell them something more. + + `You promised to tell me your history, you know,' said Alice, +`and why it is you hate--C and D,' she added in a whisper, half +afraid that it would be offended again. + + `Mine is a long and a sad tale!' said the Mouse, turning to +Alice, and sighing. + + `It IS a long tail, certainly,' said Alice, looking down with +wonder at the Mouse's tail; `but why do you call it sad?' And +she kept on puzzling about it while the Mouse was speaking, so +that her idea of the tale was something like this:-- + + `Fury said to a + mouse, That he + met in the + house, + "Let us + both go to + law: I will + prosecute + YOU. --Come, + I'll take no + denial; We + must have a + trial: For + really this + morning I've + nothing + to do." + Said the + mouse to the + cur, "Such + a trial, + dear Sir, + With + no jury + or judge, + would be + wasting + our + breath." + "I'll be + judge, I'll + be jury," + Said + cunning + old Fury: + "I'll + try the + whole + cause, + and + condemn + you + to + death."' + + + `You are not attending!' said the Mouse to Alice severely. +`What are you thinking of?' + + `I beg your pardon,' said Alice very humbly: `you had got to +the fifth bend, I think?' + + `I had NOT!' cried the Mouse, sharply and very angrily. + + `A knot!' said Alice, always ready to make herself useful, and +looking anxiously about her. `Oh, do let me help to undo it!' + + `I shall do nothing of the sort,' said the Mouse, getting up +and walking away. `You insult me by talking such nonsense!' + + `I didn't mean it!' pleaded poor Alice. `But you're so easily +offended, you know!' + + The Mouse only growled in reply. + + `Please come back and finish your story!' Alice called after +it; and the others all joined in chorus, `Yes, please do!' but +the Mouse only shook its head impatiently, and walked a little +quicker. + + `What a pity it wouldn't stay!' sighed the Lory, as soon as it +was quite out of sight; and an old Crab took the opportunity of +saying to her daughter `Ah, my dear! Let this be a lesson to you +never to lose YOUR temper!' `Hold your tongue, Ma!' said the +young Crab, a little snappishly. `You're enough to try the +patience of an oyster!' + + `I wish I had our Dinah here, I know I do!' said Alice aloud, +addressing nobody in particular. `She'd soon fetch it back!' + + `And who is Dinah, if I might venture to ask the question?' +said the Lory. + + Alice replied eagerly, for she was always ready to talk about +her pet: `Dinah's our cat. And she's such a capital one for +catching mice you can't think! And oh, I wish you could see her +after the birds! Why, she'll eat a little bird as soon as look +at it!' + + This speech caused a remarkable sensation among the party. +Some of the birds hurried off at once: one the old Magpie began +wrapping itself up very carefully, remarking, `I really must be +getting home; the night-air doesn't suit my throat!' and a Canary +called out in a trembling voice to its children, `Come away, my +dears! It's high time you were all in bed!' On various pretexts +they all moved off, and Alice was soon left alone. + + `I wish I hadn't mentioned Dinah!' she said to herself in a +melancholy tone. `Nobody seems to like her, down here, and I'm +sure she's the best cat in the world! Oh, my dear Dinah! I +wonder if I shall ever see you any more!' And here poor Alice +began to cry again, for she felt very lonely and low-spirited. +In a little while, however, she again heard a little pattering of +footsteps in the distance, and she looked up eagerly, half hoping +that the Mouse had changed his mind, and was coming back to +finish his story. + + + + CHAPTER IV + + The Rabbit Sends in a Little Bill + + + It was the White Rabbit, trotting slowly back again, and +looking anxiously about as it went, as if it had lost something; +and she heard it muttering to itself `The Duchess! The Duchess! +Oh my dear paws! Oh my fur and whiskers! She'll get me +executed, as sure as ferrets are ferrets! Where CAN I have +dropped them, I wonder?' Alice guessed in a moment that it was +looking for the fan and the pair of white kid gloves, and she +very good-naturedly began hunting about for them, but they were +nowhere to be seen--everything seemed to have changed since her +swim in the pool, and the great hall, with the glass table and +the little door, had vanished completely. + + Very soon the Rabbit noticed Alice, as she went hunting about, +and called out to her in an angry tone, `Why, Mary Ann, what ARE +you doing out here? Run home this moment, and fetch me a pair of +gloves and a fan! Quick, now!' And Alice was so much frightened +that she ran off at once in the direction it pointed to, without +trying to explain the mistake it had made. + + `He took me for his housemaid,' she said to herself as she ran. +`How surprised he'll be when he finds out who I am! But I'd +better take him his fan and gloves--that is, if I can find them.' +As she said this, she came upon a neat little house, on the door +of which was a bright brass plate with the name `W. RABBIT' +engraved upon it. She went in without knocking, and hurried +upstairs, in great fear lest she should meet the real Mary Ann, +and be turned out of the house before she had found the fan and +gloves. + + `How queer it seems,' Alice said to herself, `to be going +messages for a rabbit! I suppose Dinah'll be sending me on +messages next!' And she began fancying the sort of thing that +would happen: `"Miss Alice! Come here directly, and get ready +for your walk!" "Coming in a minute, nurse! But I've got to see +that the mouse doesn't get out." Only I don't think,' Alice went +on, `that they'd let Dinah stop in the house if it began ordering +people about like that!' + + By this time she had found her way into a tidy little room with +a table in the window, and on it (as she had hoped) a fan and two +or three pairs of tiny white kid gloves: she took up the fan and +a pair of the gloves, and was just going to leave the room, when +her eye fell upon a little bottle that stood near the looking- +glass. There was no label this time with the words `DRINK ME,' +but nevertheless she uncorked it and put it to her lips. `I know +SOMETHING interesting is sure to happen,' she said to herself, +`whenever I eat or drink anything; so I'll just see what this +bottle does. I do hope it'll make me grow large again, for +really I'm quite tired of being such a tiny little thing!' + + It did so indeed, and much sooner than she had expected: +before she had drunk half the bottle, she found her head pressing +against the ceiling, and had to stoop to save her neck from being +broken. She hastily put down the bottle, saying to herself +`That's quite enough--I hope I shan't grow any more--As it is, I +can't get out at the door--I do wish I hadn't drunk quite so +much!' + + Alas! it was too late to wish that! She went on growing, and +growing, and very soon had to kneel down on the floor: in +another minute there was not even room for this, and she tried +the effect of lying down with one elbow against the door, and the +other arm curled round her head. Still she went on growing, and, +as a last resource, she put one arm out of the window, and one +foot up the chimney, and said to herself `Now I can do no more, +whatever happens. What WILL become of me?' + + Luckily for Alice, the little magic bottle had now had its full +effect, and she grew no larger: still it was very uncomfortable, +and, as there seemed to be no sort of chance of her ever getting +out of the room again, no wonder she felt unhappy. + + `It was much pleasanter at home,' thought poor Alice, `when one +wasn't always growing larger and smaller, and being ordered about +by mice and rabbits. I almost wish I hadn't gone down that +rabbit-hole--and yet--and yet--it's rather curious, you know, +this sort of life! I do wonder what CAN have happened to me! +When I used to read fairy-tales, I fancied that kind of thing +never happened, and now here I am in the middle of one! There +ought to be a book written about me, that there ought! And when +I grow up, I'll write one--but I'm grown up now,' she added in a +sorrowful tone; `at least there's no room to grow up any more +HERE.' + + `But then,' thought Alice, `shall I NEVER get any older than I +am now? That'll be a comfort, one way--never to be an old woman- +-but then--always to have lessons to learn! Oh, I shouldn't like +THAT!' + + `Oh, you foolish Alice!' she answered herself. `How can you +learn lessons in here? Why, there's hardly room for YOU, and no +room at all for any lesson-books!' + + And so she went on, taking first one side and then the other, +and making quite a conversation of it altogether; but after a few +minutes she heard a voice outside, and stopped to listen. + + `Mary Ann! Mary Ann!' said the voice. `Fetch me my gloves +this moment!' Then came a little pattering of feet on the +stairs. Alice knew it was the Rabbit coming to look for her, and +she trembled till she shook the house, quite forgetting that she +was now about a thousand times as large as the Rabbit, and had no +reason to be afraid of it. + + Presently the Rabbit came up to the door, and tried to open it; +but, as the door opened inwards, and Alice's elbow was pressed +hard against it, that attempt proved a failure. Alice heard it +say to itself `Then I'll go round and get in at the window.' + + `THAT you won't' thought Alice, and, after waiting till she +fancied she heard the Rabbit just under the window, she suddenly +spread out her hand, and made a snatch in the air. She did not +get hold of anything, but she heard a little shriek and a fall, +and a crash of broken glass, from which she concluded that it was +just possible it had fallen into a cucumber-frame, or something +of the sort. + + Next came an angry voice--the Rabbit's--`Pat! Pat! Where are +you?' And then a voice she had never heard before, `Sure then +I'm here! Digging for apples, yer honour!' + + `Digging for apples, indeed!' said the Rabbit angrily. `Here! +Come and help me out of THIS!' (Sounds of more broken glass.) + + `Now tell me, Pat, what's that in the window?' + + `Sure, it's an arm, yer honour!' (He pronounced it `arrum.') + + `An arm, you goose! Who ever saw one that size? Why, it +fills the whole window!' + + `Sure, it does, yer honour: but it's an arm for all that.' + + `Well, it's got no business there, at any rate: go and take it +away!' + + There was a long silence after this, and Alice could only hear +whispers now and then; such as, `Sure, I don't like it, yer +honour, at all, at all!' `Do as I tell you, you coward!' and at +last she spread out her hand again, and made another snatch in +the air. This time there were TWO little shrieks, and more +sounds of broken glass. `What a number of cucumber-frames there +must be!' thought Alice. `I wonder what they'll do next! As for +pulling me out of the window, I only wish they COULD! I'm sure I +don't want to stay in here any longer!' + + She waited for some time without hearing anything more: at +last came a rumbling of little cartwheels, and the sound of a +good many voice all talking together: she made out the words: +`Where's the other ladder?--Why, I hadn't to bring but one; +Bill's got the other--Bill! fetch it here, lad!--Here, put 'em up +at this corner--No, tie 'em together first--they don't reach half +high enough yet--Oh! they'll do well enough; don't be particular- +-Here, Bill! catch hold of this rope--Will the roof bear?--Mind +that loose slate--Oh, it's coming down! Heads below!' (a loud +crash)--`Now, who did that?--It was Bill, I fancy--Who's to go +down the chimney?--Nay, I shan't! YOU do it!--That I won't, +then!--Bill's to go down--Here, Bill! the master says you're to +go down the chimney!' + + `Oh! So Bill's got to come down the chimney, has he?' said +Alice to herself. `Shy, they seem to put everything upon Bill! +I wouldn't be in Bill's place for a good deal: this fireplace is +narrow, to be sure; but I THINK I can kick a little!' + + She drew her foot as far down the chimney as she could, and +waited till she heard a little animal (she couldn't guess of what +sort it was) scratching and scrambling about in the chimney close +above her: then, saying to herself `This is Bill,' she gave one +sharp kick, and waited to see what would happen next. + + The first thing she heard was a general chorus of `There goes +Bill!' then the Rabbit's voice along--`Catch him, you by the +hedge!' then silence, and then another confusion of voices--`Hold +up his head--Brandy now--Don't choke him--How was it, old fellow? +What happened to you? Tell us all about it!' + + Last came a little feeble, squeaking voice, (`That's Bill,' +thought Alice,) `Well, I hardly know--No more, thank ye; I'm +better now--but I'm a deal too flustered to tell you--all I know +is, something comes at me like a Jack-in-the-box, and up I goes +like a sky-rocket!' + + `So you did, old fellow!' said the others. + + `We must burn the house down!' said the Rabbit's voice; and +Alice called out as loud as she could, `If you do. I'll set +Dinah at you!' + + There was a dead silence instantly, and Alice thought to +herself, `I wonder what they WILL do next! If they had any +sense, they'd take the roof off.' After a minute or two, they +began moving about again, and Alice heard the Rabbit say, `A +barrowful will do, to begin with.' + + `A barrowful of WHAT?' thought Alice; but she had not long to +doubt, for the next moment a shower of little pebbles came +rattling in at the window, and some of them hit her in the face. +`I'll put a stop to this,' she said to herself, and shouted out, +`You'd better not do that again!' which produced another dead +silence. + + Alice noticed with some surprise that the pebbles were all +turning into little cakes as they lay on the floor, and a bright +idea came into her head. `If I eat one of these cakes,' she +thought, `it's sure to make SOME change in my size; and as it +can't possibly make me larger, it must make me smaller, I +suppose.' + + So she swallowed one of the cakes, and was delighted to find +that she began shrinking directly. As soon as she was small +enough to get through the door, she ran out of the house, and +found quite a crowd of little animals and birds waiting outside. +The poor little Lizard, Bill, was in the middle, being held up by +two guinea-pigs, who were giving it something out of a bottle. +They all made a rush at Alice the moment she appeared; but she +ran off as hard as she could, and soon found herself safe in a +thick wood. + + `The first thing I've got to do,' said Alice to herself, as she +wandered about in the wood, `is to grow to my right size again; +and the second thing is to find my way into that lovely garden. +I think that will be the best plan.' + + It sounded an excellent plan, no doubt, and very neatly and +simply arranged; the only difficulty was, that she had not the +smallest idea how to set about it; and while she was peering +about anxiously among the trees, a little sharp bark just over +her head made her look up in a great hurry. + + An enormous puppy was looking down at her with large round +eyes, and feebly stretching out one paw, trying to touch her. +`Poor little thing!' said Alice, in a coaxing tone, and she tried +hard to whistle to it; but she was terribly frightened all the +time at the thought that it might be hungry, in which case it +would be very likely to eat her up in spite of all her coaxing. + + Hardly knowing what she did, she picked up a little bit of +stick, and held it out to the puppy; whereupon the puppy jumped +into the air off all its feet at once, with a yelp of delight, +and rushed at the stick, and made believe to worry it; then Alice +dodged behind a great thistle, to keep herself from being run +over; and the moment she appeared on the other side, the puppy +made another rush at the stick, and tumbled head over heels in +its hurry to get hold of it; then Alice, thinking it was very +like having a game of play with a cart-horse, and expecting every +moment to be trampled under its feet, ran round the thistle +again; then the puppy began a series of short charges at the +stick, running a very little way forwards each time and a long +way back, and barking hoarsely all the while, till at last it sat +down a good way off, panting, with its tongue hanging out of its +mouth, and its great eyes half shut. + + This seemed to Alice a good opportunity for making her escape; +so she set off at once, and ran till she was quite tired and out +of breath, and till the puppy's bark sounded quite faint in the +distance. + + `And yet what a dear little puppy it was!' said Alice, as she +leant against a buttercup to rest herself, and fanned herself +with one of the leaves: `I should have liked teaching it tricks +very much, if--if I'd only been the right size to do it! Oh +dear! I'd nearly forgotten that I've got to grow up again! Let +me see--how IS it to be managed? I suppose I ought to eat or +drink something or other; but the great question is, what?' + + The great question certainly was, what? Alice looked all round +her at the flowers and the blades of grass, but she did not see +anything that looked like the right thing to eat or drink under +the circumstances. There was a large mushroom growing near her, +about the same height as herself; and when she had looked under +it, and on both sides of it, and behind it, it occurred to her +that she might as well look and see what was on the top of it. + + She stretched herself up on tiptoe, and peeped over the edge of +the mushroom, and her eyes immediately met those of a large +caterpillar, that was sitting on the top with its arms folded, +quietly smoking a long hookah, and taking not the smallest notice +of her or of anything else. + + + + CHAPTER V + + Advice from a Caterpillar + + + The Caterpillar and Alice looked at each other for some time in +silence: at last the Caterpillar took the hookah out of its +mouth, and addressed her in a languid, sleepy voice. + + `Who are YOU?' said the Caterpillar. + + This was not an encouraging opening for a conversation. Alice +replied, rather shyly, `I--I hardly know, sir, just at present-- +at least I know who I WAS when I got up this morning, but I think +I must have been changed several times since then.' + + `What do you mean by that?' said the Caterpillar sternly. +`Explain yourself!' + + `I can't explain MYSELF, I'm afraid, sir' said Alice, `because +I'm not myself, you see.' + + `I don't see,' said the Caterpillar. + + `I'm afraid I can't put it more clearly,' Alice replied very +politely, `for I can't understand it myself to begin with; and +being so many different sizes in a day is very confusing.' + + `It isn't,' said the Caterpillar. + + `Well, perhaps you haven't found it so yet,' said Alice; `but +when you have to turn into a chrysalis--you will some day, you +know--and then after that into a butterfly, I should think you'll +feel it a little queer, won't you?' + + `Not a bit,' said the Caterpillar. + + `Well, perhaps your feelings may be different,' said Alice; +`all I know is, it would feel very queer to ME.' + + `You!' said the Caterpillar contemptuously. `Who are YOU?' + + Which brought them back again to the beginning of the +conversation. Alice felt a little irritated at the Caterpillar's +making such VERY short remarks, and she drew herself up and said, +very gravely, `I think, you ought to tell me who YOU are, first.' + + `Why?' said the Caterpillar. + + Here was another puzzling question; and as Alice could not +think of any good reason, and as the Caterpillar seemed to be in +a VERY unpleasant state of mind, she turned away. + + `Come back!' the Caterpillar called after her. `I've something +important to say!' + + This sounded promising, certainly: Alice turned and came back +again. + + `Keep your temper,' said the Caterpillar. + + `Is that all?' said Alice, swallowing down her anger as well as +she could. + + `No,' said the Caterpillar. + + Alice thought she might as well wait, as she had nothing else +to do, and perhaps after all it might tell her something worth +hearing. For some minutes it puffed away without speaking, but +at last it unfolded its arms, took the hookah out of its mouth +again, and said, `So you think you're changed, do you?' + + `I'm afraid I am, sir,' said Alice; `I can't remember things as +I used--and I don't keep the same size for ten minutes together!' + + `Can't remember WHAT things?' said the Caterpillar. + + `Well, I've tried to say "HOW DOTH THE LITTLE BUSY BEE," but it +all came different!' Alice replied in a very melancholy voice. + + `Repeat, "YOU ARE OLD, FATHER WILLIAM,"' said the Caterpillar. + + Alice folded her hands, and began:-- + + `You are old, Father William,' the young man said, + `And your hair has become very white; + And yet you incessantly stand on your head-- + Do you think, at your age, it is right?' + + `In my youth,' Father William replied to his son, + `I feared it might injure the brain; + But, now that I'm perfectly sure I have none, + Why, I do it again and again.' + + `You are old,' said the youth, `as I mentioned before, + And have grown most uncommonly fat; + Yet you turned a back-somersault in at the door-- + Pray, what is the reason of that?' + + `In my youth,' said the sage, as he shook his grey locks, + `I kept all my limbs very supple + By the use of this ointment--one shilling the box-- + Allow me to sell you a couple?' + + `You are old,' said the youth, `and your jaws are too weak + For anything tougher than suet; + Yet you finished the goose, with the bones and the beak-- + Pray how did you manage to do it?' + + `In my youth,' said his father, `I took to the law, + And argued each case with my wife; + And the muscular strength, which it gave to my jaw, + Has lasted the rest of my life.' + + `You are old,' said the youth, `one would hardly suppose + That your eye was as steady as ever; + Yet you balanced an eel on the end of your nose-- + What made you so awfully clever?' + + `I have answered three questions, and that is enough,' + Said his father; `don't give yourself airs! + Do you think I can listen all day to such stuff? + Be off, or I'll kick you down stairs!' + + + `That is not said right,' said the Caterpillar. + + `Not QUITE right, I'm afraid,' said Alice, timidly; `some of the +words have got altered.' + + `It is wrong from beginning to end,' said the Caterpillar +decidedly, and there was silence for some minutes. + + The Caterpillar was the first to speak. + + `What size do you want to be?' it asked. + + `Oh, I'm not particular as to size,' Alice hastily replied; +`only one doesn't like changing so often, you know.' + + `I DON'T know,' said the Caterpillar. + + Alice said nothing: she had never been so much contradicted in +her life before, and she felt that she was losing her temper. + + `Are you content now?' said the Caterpillar. + + `Well, I should like to be a LITTLE larger, sir, if you +wouldn't mind,' said Alice: `three inches is such a wretched +height to be.' + + `It is a very good height indeed!' said the Caterpillar +angrily, rearing itself upright as it spoke (it was exactly three +inches high). + + `But I'm not used to it!' pleaded poor Alice in a piteous tone. +And she thought of herself, `I wish the creatures wouldn't be so +easily offended!' + + `You'll get used to it in time,' said the Caterpillar; and it +put the hookah into its mouth and began smoking again. + + This time Alice waited patiently until it chose to speak again. +In a minute or two the Caterpillar took the hookah out of its +mouth and yawned once or twice, and shook itself. Then it got +down off the mushroom, and crawled away in the grass, merely +remarking as it went, `One side will make you grow taller, and +the other side will make you grow shorter.' + + `One side of WHAT? The other side of WHAT?' thought Alice to +herself. + + `Of the mushroom,' said the Caterpillar, just as if she had +asked it aloud; and in another moment it was out of sight. + + Alice remained looking thoughtfully at the mushroom for a +minute, trying to make out which were the two sides of it; and as +it was perfectly round, she found this a very difficult question. +However, at last she stretched her arms round it as far as they +would go, and broke off a bit of the edge with each hand. + + `And now which is which?' she said to herself, and nibbled a +little of the right-hand bit to try the effect: the next moment +she felt a violent blow underneath her chin: it had struck her +foot! + + She was a good deal frightened by this very sudden change, but +she felt that there was no time to be lost, as she was shrinking +rapidly; so she set to work at once to eat some of the other bit. +Her chin was pressed so closely against her foot, that there was +hardly room to open her mouth; but she did it at last, and +managed to swallow a morsel of the lefthand bit. + + + * * * * * * * + + * * * * * * + + * * * * * * * + + `Come, my head's free at last!' said Alice in a tone of +delight, which changed into alarm in another moment, when she +found that her shoulders were nowhere to be found: all she could +see, when she looked down, was an immense length of neck, which +seemed to rise like a stalk out of a sea of green leaves that lay +far below her. + + `What CAN all that green stuff be?' said Alice. `And where +HAVE my shoulders got to? And oh, my poor hands, how is it I +can't see you?' She was moving them about as she spoke, but no +result seemed to follow, except a little shaking among the +distant green leaves. + + As there seemed to be no chance of getting her hands up to her +head, she tried to get her head down to them, and was delighted +to find that her neck would bend about easily in any direction, +like a serpent. She had just succeeded in curving it down into a +graceful zigzag, and was going to dive in among the leaves, which +she found to be nothing but the tops of the trees under which she +had been wandering, when a sharp hiss made her draw back in a +hurry: a large pigeon had flown into her face, and was beating +her violently with its wings. + + `Serpent!' screamed the Pigeon. + + `I'm NOT a serpent!' said Alice indignantly. `Let me alone!' + + `Serpent, I say again!' repeated the Pigeon, but in a more +subdued tone, and added with a kind of sob, `I've tried every +way, and nothing seems to suit them!' + + `I haven't the least idea what you're talking about,' said +Alice. + + `I've tried the roots of trees, and I've tried banks, and I've +tried hedges,' the Pigeon went on, without attending to her; `but +those serpents! There's no pleasing them!' + + Alice was more and more puzzled, but she thought there was no +use in saying anything more till the Pigeon had finished. + + `As if it wasn't trouble enough hatching the eggs,' said the +Pigeon; `but I must be on the look-out for serpents night and +day! Why, I haven't had a wink of sleep these three weeks!' + + `I'm very sorry you've been annoyed,' said Alice, who was +beginning to see its meaning. + + `And just as I'd taken the highest tree in the wood,' continued +the Pigeon, raising its voice to a shriek, `and just as I was +thinking I should be free of them at last, they must needs come +wriggling down from the sky! Ugh, Serpent!' + + `But I'm NOT a serpent, I tell you!' said Alice. `I'm a--I'm +a--' + + `Well! WHAT are you?' said the Pigeon. `I can see you're +trying to invent something!' + + `I--I'm a little girl,' said Alice, rather doubtfully, as she +remembered the number of changes she had gone through that day. + + `A likely story indeed!' said the Pigeon in a tone of the +deepest contempt. `I've seen a good many little girls in my +time, but never ONE with such a neck as that! No, no! You're a +serpent; and there's no use denying it. I suppose you'll be +telling me next that you never tasted an egg!' + + `I HAVE tasted eggs, certainly,' said Alice, who was a very +truthful child; `but little girls eat eggs quite as much as +serpents do, you know.' + + `I don't believe it,' said the Pigeon; `but if they do, why +then they're a kind of serpent, that's all I can say.' + + This was such a new idea to Alice, that she was quite silent +for a minute or two, which gave the Pigeon the opportunity of +adding, `You're looking for eggs, I know THAT well enough; and +what does it matter to me whether you're a little girl or a +serpent?' + + `It matters a good deal to ME,' said Alice hastily; `but I'm +not looking for eggs, as it happens; and if I was, I shouldn't +want YOURS: I don't like them raw.' + + `Well, be off, then!' said the Pigeon in a sulky tone, as it +settled down again into its nest. Alice crouched down among the +trees as well as she could, for her neck kept getting entangled +among the branches, and every now and then she had to stop and +untwist it. After a while she remembered that she still held the +pieces of mushroom in her hands, and she set to work very +carefully, nibbling first at one and then at the other, and +growing sometimes taller and sometimes shorter, until she had +succeeded in bringing herself down to her usual height. + + It was so long since she had been anything near the right size, +that it felt quite strange at first; but she got used to it in a +few minutes, and began talking to herself, as usual. `Come, +there's half my plan done now! How puzzling all these changes +are! I'm never sure what I'm going to be, from one minute to +another! However, I've got back to my right size: the next +thing is, to get into that beautiful garden--how IS that to be +done, I wonder?' As she said this, she came suddenly upon an +open place, with a little house in it about four feet high. +`Whoever lives there,' thought Alice, `it'll never do to come +upon them THIS size: why, I should frighten them out of their +wits!' So she began nibbling at the righthand bit again, and did +not venture to go near the house till she had brought herself +down to nine inches high. + + + + CHAPTER VI + + Pig and Pepper + + + For a minute or two she stood looking at the house, and +wondering what to do next, when suddenly a footman in livery came +running out of the wood--(she considered him to be a footman +because he was in livery: otherwise, judging by his face only, +she would have called him a fish)--and rapped loudly at the door +with his knuckles. It was opened by another footman in livery, +with a round face, and large eyes like a frog; and both footmen, +Alice noticed, had powdered hair that curled all over their +heads. She felt very curious to know what it was all about, and +crept a little way out of the wood to listen. + + The Fish-Footman began by producing from under his arm a great +letter, nearly as large as himself, and this he handed over to +the other, saying, in a solemn tone, `For the Duchess. An +invitation from the Queen to play croquet.' The Frog-Footman +repeated, in the same solemn tone, only changing the order of the +words a little, `From the Queen. An invitation for the Duchess +to play croquet.' + + Then they both bowed low, and their curls got entangled +together. + + Alice laughed so much at this, that she had to run back into +the wood for fear of their hearing her; and when she next peeped +out the Fish-Footman was gone, and the other was sitting on the +ground near the door, staring stupidly up into the sky. + + Alice went timidly up to the door, and knocked. + + `There's no sort of use in knocking,' said the Footman, `and +that for two reasons. First, because I'm on the same side of the +door as you are; secondly, because they're making such a noise +inside, no one could possibly hear you.' And certainly there was +a most extraordinary noise going on within--a constant howling +and sneezing, and every now and then a great crash, as if a dish +or kettle had been broken to pieces. + + `Please, then,' said Alice, `how am I to get in?' + + `There might be some sense in your knocking,' the Footman went +on without attending to her, `if we had the door between us. For +instance, if you were INSIDE, you might knock, and I could let +you out, you know.' He was looking up into the sky all the time +he was speaking, and this Alice thought decidedly uncivil. `But +perhaps he can't help it,' she said to herself; `his eyes are so +VERY nearly at the top of his head. But at any rate he might +answer questions.--How am I to get in?' she repeated, aloud. + + `I shall sit here,' the Footman remarked, `till tomorrow--' + + At this moment the door of the house opened, and a large plate +came skimming out, straight at the Footman's head: it just +grazed his nose, and broke to pieces against one of the trees +behind him. + + `--or next day, maybe,' the Footman continued in the same tone, +exactly as if nothing had happened. + + `How am I to get in?' asked Alice again, in a louder tone. + + `ARE you to get in at all?' said the Footman. `That's the +first question, you know.' + + It was, no doubt: only Alice did not like to be told so. +`It's really dreadful,' she muttered to herself, `the way all the +creatures argue. It's enough to drive one crazy!' + + The Footman seemed to think this a good opportunity for +repeating his remark, with variations. `I shall sit here,' he +said, `on and off, for days and days.' + + `But what am I to do?' said Alice. + + `Anything you like,' said the Footman, and began whistling. + + `Oh, there's no use in talking to him,' said Alice desperately: +`he's perfectly idiotic!' And she opened the door and went in. + + The door led right into a large kitchen, which was full of +smoke from one end to the other: the Duchess was sitting on a +three-legged stool in the middle, nursing a baby; the cook was +leaning over the fire, stirring a large cauldron which seemed to +be full of soup. + + `There's certainly too much pepper in that soup!' Alice said to +herself, as well as she could for sneezing. + + There was certainly too much of it in the air. Even the +Duchess sneezed occasionally; and as for the baby, it was +sneezing and howling alternately without a moment's pause. The +only things in the kitchen that did not sneeze, were the cook, +and a large cat which was sitting on the hearth and grinning from +ear to ear. + + `Please would you tell me,' said Alice, a little timidly, for +she was not quite sure whether it was good manners for her to +speak first, `why your cat grins like that?' + + `It's a Cheshire cat,' said the Duchess, `and that's why. +Pig!' + + She said the last word with such sudden violence that Alice +quite jumped; but she saw in another moment that it was addressed +to the baby, and not to her, so she took courage, and went on +again:-- + + `I didn't know that Cheshire cats always grinned; in fact, I +didn't know that cats COULD grin.' + + `They all can,' said the Duchess; `and most of 'em do.' + + `I don't know of any that do,' Alice said very politely, +feeling quite pleased to have got into a conversation. + + `You don't know much,' said the Duchess; `and that's a fact.' + + Alice did not at all like the tone of this remark, and thought +it would be as well to introduce some other subject of +conversation. While she was trying to fix on one, the cook took +the cauldron of soup off the fire, and at once set to work +throwing everything within her reach at the Duchess and the baby +--the fire-irons came first; then followed a shower of saucepans, +plates, and dishes. The Duchess took no notice of them even when +they hit her; and the baby was howling so much already, that it +was quite impossible to say whether the blows hurt it or not. + + `Oh, PLEASE mind what you're doing!' cried Alice, jumping up +and down in an agony of terror. `Oh, there goes his PRECIOUS +nose'; as an unusually large saucepan flew close by it, and very +nearly carried it off. + + `If everybody minded their own business,' the Duchess said in a +hoarse growl, `the world would go round a deal faster than it +does.' + + `Which would NOT be an advantage,' said Alice, who felt very +glad to get an opportunity of showing off a little of her +knowledge. `Just think of what work it would make with the day +and night! You see the earth takes twenty-four hours to turn +round on its axis--' + + `Talking of axes,' said the Duchess, `chop off her head!' + + Alice glanced rather anxiously at the cook, to see if she meant +to take the hint; but the cook was busily stirring the soup, and +seemed not to be listening, so she went on again: `Twenty-four +hours, I THINK; or is it twelve? I--' + + `Oh, don't bother ME,' said the Duchess; `I never could abide +figures!' And with that she began nursing her child again, +singing a sort of lullaby to it as she did so, and giving it a +violent shake at the end of every line: + + `Speak roughly to your little boy, + And beat him when he sneezes: + He only does it to annoy, + Because he knows it teases.' + + CHORUS. + + (In which the cook and the baby joined):-- + + `Wow! wow! wow!' + + While the Duchess sang the second verse of the song, she kept +tossing the baby violently up and down, and the poor little thing +howled so, that Alice could hardly hear the words:-- + + `I speak severely to my boy, + I beat him when he sneezes; + For he can thoroughly enjoy + The pepper when he pleases!' + + CHORUS. + + `Wow! wow! wow!' + + `Here! you may nurse it a bit, if you like!' the Duchess said +to Alice, flinging the baby at her as she spoke. `I must go and +get ready to play croquet with the Queen,' and she hurried out of +the room. The cook threw a frying-pan after her as she went out, +but it just missed her. + + Alice caught the baby with some difficulty, as it was a queer- +shaped little creature, and held out its arms and legs in all +directions, `just like a star-fish,' thought Alice. The poor +little thing was snorting like a steam-engine when she caught it, +and kept doubling itself up and straightening itself out again, +so that altogether, for the first minute or two, it was as much +as she could do to hold it. + + As soon as she had made out the proper way of nursing it, +(which was to twist it up into a sort of knot, and then keep +tight hold of its right ear and left foot, so as to prevent its +undoing itself,) she carried it out into the open air. `IF I +don't take this child away with me,' thought Alice, `they're sure +to kill it in a day or two: wouldn't it be murder to leave it +behind?' She said the last words out loud, and the little thing +grunted in reply (it had left off sneezing by this time). `Don't +grunt,' said Alice; `that's not at all a proper way of expressing +yourself.' + + The baby grunted again, and Alice looked very anxiously into +its face to see what was the matter with it. There could be no +doubt that it had a VERY turn-up nose, much more like a snout +than a real nose; also its eyes were getting extremely small for +a baby: altogether Alice did not like the look of the thing at +all. `But perhaps it was only sobbing,' she thought, and looked +into its eyes again, to see if there were any tears. + + No, there were no tears. `If you're going to turn into a pig, +my dear,' said Alice, seriously, `I'll have nothing more to do +with you. Mind now!' The poor little thing sobbed again (or +grunted, it was impossible to say which), and they went on for +some while in silence. + + Alice was just beginning to think to herself, `Now, what am I +to do with this creature when I get it home?' when it grunted +again, so violently, that she looked down into its face in some +alarm. This time there could be NO mistake about it: it was +neither more nor less than a pig, and she felt that it would be +quite absurd for her to carry it further. + + So she set the little creature down, and felt quite relieved to +see it trot away quietly into the wood. `If it had grown up,' +she said to herself, `it would have made a dreadfully ugly child: +but it makes rather a handsome pig, I think.' And she began +thinking over other children she knew, who might do very well as +pigs, and was just saying to herself, `if one only knew the right +way to change them--' when she was a little startled by seeing +the Cheshire Cat sitting on a bough of a tree a few yards off. + + The Cat only grinned when it saw Alice. It looked good- +natured, she thought: still it had VERY long claws and a great +many teeth, so she felt that it ought to be treated with respect. + + `Cheshire Puss,' she began, rather timidly, as she did not at +all know whether it would like the name: however, it only +grinned a little wider. `Come, it's pleased so far,' thought +Alice, and she went on. `Would you tell me, please, which way I +ought to go from here?' + + `That depends a good deal on where you want to get to,' said +the Cat. + + `I don't much care where--' said Alice. + + `Then it doesn't matter which way you go,' said the Cat. + + `--so long as I get SOMEWHERE,' Alice added as an explanation. + + `Oh, you're sure to do that,' said the Cat, `if you only walk +long enough.' + + Alice felt that this could not be denied, so she tried another +question. `What sort of people live about here?' + + `In THAT direction,' the Cat said, waving its right paw round, +`lives a Hatter: and in THAT direction,' waving the other paw, +`lives a March Hare. Visit either you like: they're both mad.' + + `But I don't want to go among mad people,' Alice remarked. + + `Oh, you can't help that,' said the Cat: `we're all mad here. +I'm mad. You're mad.' + + `How do you know I'm mad?' said Alice. + + `You must be,' said the Cat, `or you wouldn't have come here.' + + Alice didn't think that proved it at all; however, she went on +`And how do you know that you're mad?' + + `To begin with,' said the Cat, `a dog's not mad. You grant +that?' + + `I suppose so,' said Alice. + + `Well, then,' the Cat went on, `you see, a dog growls when it's +angry, and wags its tail when it's pleased. Now I growl when I'm +pleased, and wag my tail when I'm angry. Therefore I'm mad.' + + `I call it purring, not growling,' said Alice. + + `Call it what you like,' said the Cat. `Do you play croquet +with the Queen to-day?' + + `I should like it very much,' said Alice, `but I haven't been +invited yet.' + + `You'll see me there,' said the Cat, and vanished. + + Alice was not much surprised at this, she was getting so used +to queer things happening. While she was looking at the place +where it had been, it suddenly appeared again. + + `By-the-bye, what became of the baby?' said the Cat. `I'd +nearly forgotten to ask.' + + `It turned into a pig,' Alice quietly said, just as if it had +come back in a natural way. + + `I thought it would,' said the Cat, and vanished again. + + Alice waited a little, half expecting to see it again, but it +did not appear, and after a minute or two she walked on in the +direction in which the March Hare was said to live. `I've seen +hatters before,' she said to herself; `the March Hare will be +much the most interesting, and perhaps as this is May it won't be +raving mad--at least not so mad as it was in March.' As she said +this, she looked up, and there was the Cat again, sitting on a +branch of a tree. + + `Did you say pig, or fig?' said the Cat. + + `I said pig,' replied Alice; `and I wish you wouldn't keep +appearing and vanishing so suddenly: you make one quite giddy.' + + `All right,' said the Cat; and this time it vanished quite +slowly, beginning with the end of the tail, and ending with the +grin, which remained some time after the rest of it had gone. + + `Well! I've often seen a cat without a grin,' thought Alice; +`but a grin without a cat! It's the most curious thing I ever +say in my life!' + + She had not gone much farther before she came in sight of the +house of the March Hare: she thought it must be the right house, +because the chimneys were shaped like ears and the roof was +thatched with fur. It was so large a house, that she did not +like to go nearer till she had nibbled some more of the lefthand +bit of mushroom, and raised herself to about two feet high: even +then she walked up towards it rather timidly, saying to herself +`Suppose it should be raving mad after all! I almost wish I'd +gone to see the Hatter instead!' + + + + CHAPTER VII + + A Mad Tea-Party + + + There was a table set out under a tree in front of the house, +and the March Hare and the Hatter were having tea at it: a +Dormouse was sitting between them, fast asleep, and the other two +were using it as a cushion, resting their elbows on it, and the +talking over its head. `Very uncomfortable for the Dormouse,' +thought Alice; `only, as it's asleep, I suppose it doesn't mind.' + + The table was a large one, but the three were all crowded +together at one corner of it: `No room! No room!' they cried +out when they saw Alice coming. `There's PLENTY of room!' said +Alice indignantly, and she sat down in a large arm-chair at one +end of the table. + + `Have some wine,' the March Hare said in an encouraging tone. + + Alice looked all round the table, but there was nothing on it +but tea. `I don't see any wine,' she remarked. + + `There isn't any,' said the March Hare. + + `Then it wasn't very civil of you to offer it,' said Alice +angrily. + + `It wasn't very civil of you to sit down without being +invited,' said the March Hare. + + `I didn't know it was YOUR table,' said Alice; `it's laid for a +great many more than three.' + + `Your hair wants cutting,' said the Hatter. He had been +looking at Alice for some time with great curiosity, and this was +his first speech. + + `You should learn not to make personal remarks,' Alice said +with some severity; `it's very rude.' + + The Hatter opened his eyes very wide on hearing this; but all +he SAID was, `Why is a raven like a writing-desk?' + + `Come, we shall have some fun now!' thought Alice. `I'm glad +they've begun asking riddles.--I believe I can guess that,' she +added aloud. + + `Do you mean that you think you can find out the answer to it?' +said the March Hare. + + `Exactly so,' said Alice. + + `Then you should say what you mean,' the March Hare went on. + + `I do,' Alice hastily replied; `at least--at least I mean what +I say--that's the same thing, you know.' + + `Not the same thing a bit!' said the Hatter. `You might just +as well say that "I see what I eat" is the same thing as "I eat +what I see"!' + + `You might just as well say,' added the March Hare, `that "I +like what I get" is the same thing as "I get what I like"!' + + `You might just as well say,' added the Dormouse, who seemed to +be talking in his sleep, `that "I breathe when I sleep" is the +same thing as "I sleep when I breathe"!' + + `It IS the same thing with you,' said the Hatter, and here the +conversation dropped, and the party sat silent for a minute, +while Alice thought over all she could remember about ravens and +writing-desks, which wasn't much. + + The Hatter was the first to break the silence. `What day of +the month is it?' he said, turning to Alice: he had taken his +watch out of his pocket, and was looking at it uneasily, shaking +it every now and then, and holding it to his ear. + + Alice considered a little, and then said `The fourth.' + + `Two days wrong!' sighed the Hatter. `I told you butter +wouldn't suit the works!' he added looking angrily at the March +Hare. + + `It was the BEST butter,' the March Hare meekly replied. + + `Yes, but some crumbs must have got in as well,' the Hatter +grumbled: `you shouldn't have put it in with the bread-knife.' + + The March Hare took the watch and looked at it gloomily: then +he dipped it into his cup of tea, and looked at it again: but he +could think of nothing better to say than his first remark, `It +was the BEST butter, you know.' + + Alice had been looking over his shoulder with some curiosity. +`What a funny watch!' she remarked. `It tells the day of the +month, and doesn't tell what o'clock it is!' + + `Why should it?' muttered the Hatter. `Does YOUR watch tell +you what year it is?' + + `Of course not,' Alice replied very readily: `but that's +because it stays the same year for such a long time together.' + + `Which is just the case with MINE,' said the Hatter. + + Alice felt dreadfully puzzled. The Hatter's remark seemed to +have no sort of meaning in it, and yet it was certainly English. +`I don't quite understand you,' she said, as politely as she +could. + + `The Dormouse is asleep again,' said the Hatter, and he poured +a little hot tea upon its nose. + + The Dormouse shook its head impatiently, and said, without +opening its eyes, `Of course, of course; just what I was going to +remark myself.' + + `Have you guessed the riddle yet?' the Hatter said, turning to +Alice again. + + `No, I give it up,' Alice replied: `what's the answer?' + + `I haven't the slightest idea,' said the Hatter. + + `Nor I,' said the March Hare. + + Alice sighed wearily. `I think you might do something better +with the time,' she said, `than waste it in asking riddles that +have no answers.' + + `If you knew Time as well as I do,' said the Hatter, `you +wouldn't talk about wasting IT. It's HIM.' + + `I don't know what you mean,' said Alice. + + `Of course you don't!' the Hatter said, tossing his head +contemptuously. `I dare say you never even spoke to Time!' + + `Perhaps not,' Alice cautiously replied: `but I know I have to +beat time when I learn music.' + + `Ah! that accounts for it,' said the Hatter. `He won't stand +beating. Now, if you only kept on good terms with him, he'd do +almost anything you liked with the clock. For instance, suppose +it were nine o'clock in the morning, just time to begin lessons: +you'd only have to whisper a hint to Time, and round goes the +clock in a twinkling! Half-past one, time for dinner!' + + (`I only wish it was,' the March Hare said to itself in a +whisper.) + + `That would be grand, certainly,' said Alice thoughtfully: +`but then--I shouldn't be hungry for it, you know.' + + `Not at first, perhaps,' said the Hatter: `but you could keep +it to half-past one as long as you liked.' + + `Is that the way YOU manage?' Alice asked. + + The Hatter shook his head mournfully. `Not I!' he replied. +`We quarrelled last March--just before HE went mad, you know--' +(pointing with his tea spoon at the March Hare,) `--it was at the +great concert given by the Queen of Hearts, and I had to sing + + "Twinkle, twinkle, little bat! + How I wonder what you're at!" + +You know the song, perhaps?' + + `I've heard something like it,' said Alice. + + `It goes on, you know,' the Hatter continued, `in this way:-- + + "Up above the world you fly, + Like a tea-tray in the sky. + Twinkle, twinkle--"' + +Here the Dormouse shook itself, and began singing in its sleep +`Twinkle, twinkle, twinkle, twinkle--' and went on so long that +they had to pinch it to make it stop. + + `Well, I'd hardly finished the first verse,' said the Hatter, +`when the Queen jumped up and bawled out, "He's murdering the +time! Off with his head!"' + + `How dreadfully savage!' exclaimed Alice. + + `And ever since that,' the Hatter went on in a mournful tone, +`he won't do a thing I ask! It's always six o'clock now.' + + A bright idea came into Alice's head. `Is that the reason so +many tea-things are put out here?' she asked. + + `Yes, that's it,' said the Hatter with a sigh: `it's always +tea-time, and we've no time to wash the things between whiles.' + + `Then you keep moving round, I suppose?' said Alice. + + `Exactly so,' said the Hatter: `as the things get used up.' + + `But what happens when you come to the beginning again?' Alice +ventured to ask. + + `Suppose we change the subject,' the March Hare interrupted, +yawning. `I'm getting tired of this. I vote the young lady +tells us a story.' + + `I'm afraid I don't know one,' said Alice, rather alarmed at +the proposal. + + `Then the Dormouse shall!' they both cried. `Wake up, +Dormouse!' And they pinched it on both sides at once. + + The Dormouse slowly opened his eyes. `I wasn't asleep,' he +said in a hoarse, feeble voice: `I heard every word you fellows +were saying.' + + `Tell us a story!' said the March Hare. + + `Yes, please do!' pleaded Alice. + + `And be quick about it,' added the Hatter, `or you'll be asleep +again before it's done.' + + `Once upon a time there were three little sisters,' the +Dormouse began in a great hurry; `and their names were Elsie, +Lacie, and Tillie; and they lived at the bottom of a well--' + + `What did they live on?' said Alice, who always took a great +interest in questions of eating and drinking. + + `They lived on treacle,' said the Dormouse, after thinking a +minute or two. + + `They couldn't have done that, you know,' Alice gently +remarked; `they'd have been ill.' + + `So they were,' said the Dormouse; `VERY ill.' + + Alice tried to fancy to herself what such an extraordinary ways +of living would be like, but it puzzled her too much, so she went +on: `But why did they live at the bottom of a well?' + + `Take some more tea,' the March Hare said to Alice, very +earnestly. + + `I've had nothing yet,' Alice replied in an offended tone, `so +I can't take more.' + + `You mean you can't take LESS,' said the Hatter: `it's very +easy to take MORE than nothing.' + + `Nobody asked YOUR opinion,' said Alice. + + `Who's making personal remarks now?' the Hatter asked +triumphantly. + + Alice did not quite know what to say to this: so she helped +herself to some tea and bread-and-butter, and then turned to the +Dormouse, and repeated her question. `Why did they live at the +bottom of a well?' + + The Dormouse again took a minute or two to think about it, and +then said, `It was a treacle-well.' + + `There's no such thing!' Alice was beginning very angrily, but +the Hatter and the March Hare went `Sh! sh!' and the Dormouse +sulkily remarked, `If you can't be civil, you'd better finish the +story for yourself.' + + `No, please go on!' Alice said very humbly; `I won't interrupt +again. I dare say there may be ONE.' + + `One, indeed!' said the Dormouse indignantly. However, he +consented to go on. `And so these three little sisters--they +were learning to draw, you know--' + + `What did they draw?' said Alice, quite forgetting her promise. + + `Treacle,' said the Dormouse, without considering at all this +time. + + `I want a clean cup,' interrupted the Hatter: `let's all move +one place on.' + + He moved on as he spoke, and the Dormouse followed him: the +March Hare moved into the Dormouse's place, and Alice rather +unwillingly took the place of the March Hare. The Hatter was the +only one who got any advantage from the change: and Alice was a +good deal worse off than before, as the March Hare had just upset +the milk-jug into his plate. + + Alice did not wish to offend the Dormouse again, so she began +very cautiously: `But I don't understand. Where did they draw +the treacle from?' + + `You can draw water out of a water-well,' said the Hatter; `so +I should think you could draw treacle out of a treacle-well--eh, +stupid?' + + `But they were IN the well,' Alice said to the Dormouse, not +choosing to notice this last remark. + + `Of course they were', said the Dormouse; `--well in.' + + This answer so confused poor Alice, that she let the Dormouse +go on for some time without interrupting it. + + `They were learning to draw,' the Dormouse went on, yawning and +rubbing its eyes, for it was getting very sleepy; `and they drew +all manner of things--everything that begins with an M--' + + `Why with an M?' said Alice. + + `Why not?' said the March Hare. + + Alice was silent. + + The Dormouse had closed its eyes by this time, and was going +off into a doze; but, on being pinched by the Hatter, it woke up +again with a little shriek, and went on: `--that begins with an +M, such as mouse-traps, and the moon, and memory, and muchness-- +you know you say things are "much of a muchness"--did you ever +see such a thing as a drawing of a muchness?' + + `Really, now you ask me,' said Alice, very much confused, `I +don't think--' + + `Then you shouldn't talk,' said the Hatter. + + This piece of rudeness was more than Alice could bear: she got +up in great disgust, and walked off; the Dormouse fell asleep +instantly, and neither of the others took the least notice of her +going, though she looked back once or twice, half hoping that +they would call after her: the last time she saw them, they were +trying to put the Dormouse into the teapot. + + `At any rate I'll never go THERE again!' said Alice as she +picked her way through the wood. `It's the stupidest tea-party I +ever was at in all my life!' + + Just as she said this, she noticed that one of the trees had a +door leading right into it. `That's very curious!' she thought. +`But everything's curious today. I think I may as well go in at +once.' And in she went. + + Once more she found herself in the long hall, and close to the +little glass table. `Now, I'll manage better this time,' she +said to herself, and began by taking the little golden key, and +unlocking the door that led into the garden. Then she went to +work nibbling at the mushroom (she had kept a piece of it in her +pocked) till she was about a foot high: then she walked down the +little passage: and THEN--she found herself at last in the +beautiful garden, among the bright flower-beds and the cool +fountains. + + + + CHAPTER VIII + + The Queen's Croquet-Ground + + + A large rose-tree stood near the entrance of the garden: the +roses growing on it were white, but there were three gardeners at +it, busily painting them red. Alice thought this a very curious +thing, and she went nearer to watch them, and just as she came up +to them she heard one of them say, `Look out now, Five! Don't go +splashing paint over me like that!' + + `I couldn't help it,' said Five, in a sulky tone; `Seven jogged +my elbow.' + + On which Seven looked up and said, `That's right, Five! Always +lay the blame on others!' + + `YOU'D better not talk!' said Five. `I heard the Queen say only +yesterday you deserved to be beheaded!' + + `What for?' said the one who had spoken first. + + `That's none of YOUR business, Two!' said Seven. + + `Yes, it IS his business!' said Five, `and I'll tell him--it +was for bringing the cook tulip-roots instead of onions.' + + Seven flung down his brush, and had just begun `Well, of all +the unjust things--' when his eye chanced to fall upon Alice, as +she stood watching them, and he checked himself suddenly: the +others looked round also, and all of them bowed low. + + `Would you tell me,' said Alice, a little timidly, `why you are +painting those roses?' + + Five and Seven said nothing, but looked at Two. Two began in a +low voice, `Why the fact is, you see, Miss, this here ought to +have been a RED rose-tree, and we put a white one in by mistake; +and if the Queen was to find it out, we should all have our heads +cut off, you know. So you see, Miss, we're doing our best, afore +she comes, to--' At this moment Five, who had been anxiously +looking across the garden, called out `The Queen! The Queen!' +and the three gardeners instantly threw themselves flat upon +their faces. There was a sound of many footsteps, and Alice +looked round, eager to see the Queen. + + First came ten soldiers carrying clubs; these were all shaped +like the three gardeners, oblong and flat, with their hands and +feet at the corners: next the ten courtiers; these were +ornamented all over with diamonds, and walked two and two, as the +soldiers did. After these came the royal children; there were +ten of them, and the little dears came jumping merrily along hand +in hand, in couples: they were all ornamented with hearts. Next +came the guests, mostly Kings and Queens, and among them Alice +recognised the White Rabbit: it was talking in a hurried nervous +manner, smiling at everything that was said, and went by without +noticing her. Then followed the Knave of Hearts, carrying the +King's crown on a crimson velvet cushion; and, last of all this +grand procession, came THE KING AND QUEEN OF HEARTS. + + Alice was rather doubtful whether she ought not to lie down on +her face like the three gardeners, but she could not remember +every having heard of such a rule at processions; `and besides, +what would be the use of a procession,' thought she, `if people +had all to lie down upon their faces, so that they couldn't see +it?' So she stood still where she was, and waited. + + When the procession came opposite to Alice, they all stopped +and looked at her, and the Queen said severely `Who is this?' +She said it to the Knave of Hearts, who only bowed and smiled in +reply. + + `Idiot!' said the Queen, tossing her head impatiently; and, +turning to Alice, she went on, `What's your name, child?' + + `My name is Alice, so please your Majesty,' said Alice very +politely; but she added, to herself, `Why, they're only a pack of +cards, after all. I needn't be afraid of them!' + + `And who are THESE?' said the Queen, pointing to the three +gardeners who were lying round the rosetree; for, you see, as +they were lying on their faces, and the pattern on their backs +was the same as the rest of the pack, she could not tell whether +they were gardeners, or soldiers, or courtiers, or three of her +own children. + + `How should I know?' said Alice, surprised at her own courage. +`It's no business of MINE.' + + The Queen turned crimson with fury, and, after glaring at her +for a moment like a wild beast, screamed `Off with her head! +Off--' + + `Nonsense!' said Alice, very loudly and decidedly, and the +Queen was silent. + + The King laid his hand upon her arm, and timidly said +`Consider, my dear: she is only a child!' + + The Queen turned angrily away from him, and said to the Knave +`Turn them over!' + + The Knave did so, very carefully, with one foot. + + `Get up!' said the Queen, in a shrill, loud voice, and the +three gardeners instantly jumped up, and began bowing to the +King, the Queen, the royal children, and everybody else. + + `Leave off that!' screamed the Queen. `You make me giddy.' +And then, turning to the rose-tree, she went on, `What HAVE you +been doing here?' + + `May it please your Majesty,' said Two, in a very humble tone, +going down on one knee as he spoke, `we were trying--' + + `I see!' said the Queen, who had meanwhile been examining the +roses. `Off with their heads!' and the procession moved on, +three of the soldiers remaining behind to execute the unfortunate +gardeners, who ran to Alice for protection. + + `You shan't be beheaded!' said Alice, and she put them into a +large flower-pot that stood near. The three soldiers wandered +about for a minute or two, looking for them, and then quietly +marched off after the others. + + `Are their heads off?' shouted the Queen. + + `Their heads are gone, if it please your Majesty!' the soldiers +shouted in reply. + + `That's right!' shouted the Queen. `Can you play croquet?' + + The soldiers were silent, and looked at Alice, as the question +was evidently meant for her. + + `Yes!' shouted Alice. + + `Come on, then!' roared the Queen, and Alice joined the +procession, wondering very much what would happen next. + + `It's--it's a very fine day!' said a timid voice at her side. +She was walking by the White Rabbit, who was peeping anxiously +into her face. + + `Very,' said Alice: `--where's the Duchess?' + + `Hush! Hush!' said the Rabbit in a low, hurried tone. He +looked anxiously over his shoulder as he spoke, and then raised +himself upon tiptoe, put his mouth close to her ear, and +whispered `She's under sentence of execution.' + + `What for?' said Alice. + + `Did you say "What a pity!"?' the Rabbit asked. + + `No, I didn't,' said Alice: `I don't think it's at all a pity. +I said "What for?"' + + `She boxed the Queen's ears--' the Rabbit began. Alice gave a +little scream of laughter. `Oh, hush!' the Rabbit whispered in a +frightened tone. `The Queen will hear you! You see, she came +rather late, and the Queen said--' + + `Get to your places!' shouted the Queen in a voice of thunder, +and people began running about in all directions, tumbling up +against each other; however, they got settled down in a minute or +two, and the game began. Alice thought she had never seen such a +curious croquet-ground in her life; it was all ridges and +furrows; the balls were live hedgehogs, the mallets live +flamingoes, and the soldiers had to double themselves up and to +stand on their hands and feet, to make the arches. + + The chief difficulty Alice found at first was in managing her +flamingo: she succeeded in getting its body tucked away, +comfortably enough, under her arm, with its legs hanging down, +but generally, just as she had got its neck nicely straightened +out, and was going to give the hedgehog a blow with its head, it +WOULD twist itself round and look up in her face, with such a +puzzled expression that she could not help bursting out laughing: +and when she had got its head down, and was going to begin again, +it was very provoking to find that the hedgehog had unrolled +itself, and was in the act of crawling away: besides all this, +there was generally a ridge or furrow in the way wherever she +wanted to send the hedgehog to, and, as the doubled-up soldiers +were always getting up and walking off to other parts of the +ground, Alice soon came to the conclusion that it was a very +difficult game indeed. + + The players all played at once without waiting for turns, +quarrelling all the while, and fighting for the hedgehogs; and in +a very short time the Queen was in a furious passion, and went +stamping about, and shouting `Off with his head!' or `Off with +her head!' about once in a minute. + + Alice began to feel very uneasy: to be sure, she had not as +yet had any dispute with the Queen, but she knew that it might +happen any minute, `and then,' thought she, `what would become of +me? They're dreadfully fond of beheading people here; the great +wonder is, that there's any one left alive!' + + She was looking about for some way of escape, and wondering +whether she could get away without being seen, when she noticed a +curious appearance in the air: it puzzled her very much at +first, but, after watching it a minute or two, she made it out to +be a grin, and she said to herself `It's the Cheshire Cat: now I +shall have somebody to talk to.' + + `How are you getting on?' said the Cat, as soon as there was +mouth enough for it to speak with. + + Alice waited till the eyes appeared, and then nodded. `It's no +use speaking to it,' she thought, `till its ears have come, or at +least one of them.' In another minute the whole head appeared, +and then Alice put down her flamingo, and began an account of the +game, feeling very glad she had someone to listen to her. The +Cat seemed to think that there was enough of it now in sight, and +no more of it appeared. + + `I don't think they play at all fairly,' Alice began, in rather +a complaining tone, `and they all quarrel so dreadfully one can't +hear oneself speak--and they don't seem to have any rules in +particular; at least, if there are, nobody attends to them--and +you've no idea how confusing it is all the things being alive; +for instance, there's the arch I've got to go through next +walking about at the other end of the ground--and I should have +croqueted the Queen's hedgehog just now, only it ran away when it +saw mine coming!' + + `How do you like the Queen?' said the Cat in a low voice. + + `Not at all,' said Alice: `she's so extremely--' Just then +she noticed that the Queen was close behind her, listening: so +she went on, `--likely to win, that it's hardly worth while +finishing the game.' + + The Queen smiled and passed on. + + `Who ARE you talking to?' said the King, going up to Alice, and +looking at the Cat's head with great curiosity. + + `It's a friend of mine--a Cheshire Cat,' said Alice: `allow me +to introduce it.' + + `I don't like the look of it at all,' said the King: `however, +it may kiss my hand if it likes.' + + `I'd rather not,' the Cat remarked. + + `Don't be impertinent,' said the King, `and don't look at me +like that!' He got behind Alice as he spoke. + + `A cat may look at a king,' said Alice. `I've read that in +some book, but I don't remember where.' + + `Well, it must be removed,' said the King very decidedly, and +he called the Queen, who was passing at the moment, `My dear! I +wish you would have this cat removed!' + + The Queen had only one way of settling all difficulties, great +or small. `Off with his head!' she said, without even looking +round. + + `I'll fetch the executioner myself,' said the King eagerly, and +he hurried off. + + Alice thought she might as well go back, and see how the game +was going on, as she heard the Queen's voice in the distance, +screaming with passion. She had already heard her sentence three +of the players to be executed for having missed their turns, and +she did not like the look of things at all, as the game was in +such confusion that she never knew whether it was her turn or +not. So she went in search of her hedgehog. + + The hedgehog was engaged in a fight with another hedgehog, +which seemed to Alice an excellent opportunity for croqueting one +of them with the other: the only difficulty was, that her +flamingo was gone across to the other side of the garden, where +Alice could see it trying in a helpless sort of way to fly up +into a tree. + + By the time she had caught the flamingo and brought it back, +the fight was over, and both the hedgehogs were out of sight: +`but it doesn't matter much,' thought Alice, `as all the arches +are gone from this side of the ground.' So she tucked it away +under her arm, that it might not escape again, and went back for +a little more conversation with her friend. + + When she got back to the Cheshire Cat, she was surprised to +find quite a large crowd collected round it: there was a dispute +going on between the executioner, the King, and the Queen, who +were all talking at once, while all the rest were quite silent, +and looked very uncomfortable. + + The moment Alice appeared, she was appealed to by all three to +settle the question, and they repeated their arguments to her, +though, as they all spoke at once, she found it very hard indeed +to make out exactly what they said. + + The executioner's argument was, that you couldn't cut off a +head unless there was a body to cut it off from: that he had +never had to do such a thing before, and he wasn't going to begin +at HIS time of life. + + The King's argument was, that anything that had a head could be +beheaded, and that you weren't to talk nonsense. + + The Queen's argument was, that if something wasn't done about +it in less than no time she'd have everybody executed, all round. +(It was this last remark that had made the whole party look so +grave and anxious.) + + Alice could think of nothing else to say but `It belongs to the +Duchess: you'd better ask HER about it.' + + `She's in prison,' the Queen said to the executioner: `fetch +her here.' And the executioner went off like an arrow. + + The Cat's head began fading away the moment he was gone, and, +by the time he had come back with the Dutchess, it had entirely +disappeared; so the King and the executioner ran wildly up and +down looking for it, while the rest of the party went back to the game. + + + + CHAPTER IX + + The Mock Turtle's Story + + + `You can't think how glad I am to see you again, you dear old +thing!' said the Duchess, as she tucked her arm affectionately +into Alice's, and they walked off together. + + Alice was very glad to find her in such a pleasant temper, and +thought to herself that perhaps it was only the pepper that had +made her so savage when they met in the kitchen. + + `When I'M a Duchess,' she said to herself, (not in a very +hopeful tone though), `I won't have any pepper in my kitchen AT +ALL. Soup does very well without--Maybe it's always pepper that +makes people hot-tempered,' she went on, very much pleased at +having found out a new kind of rule, `and vinegar that makes them +sour--and camomile that makes them bitter--and--and barley-sugar +and such things that make children sweet-tempered. I only wish +people knew that: then they wouldn't be so stingy about it, you +know--' + + She had quite forgotten the Duchess by this time, and was a +little startled when she heard her voice close to her ear. +`You're thinking about something, my dear, and that makes you +forget to talk. I can't tell you just now what the moral of that +is, but I shall remember it in a bit.' + + `Perhaps it hasn't one,' Alice ventured to remark. + + `Tut, tut, child!' said the Duchess. `Everything's got a +moral, if only you can find it.' And she squeezed herself up +closer to Alice's side as she spoke. + + Alice did not much like keeping so close to her: first, +because the Duchess was VERY ugly; and secondly, because she was +exactly the right height to rest her chin upon Alice's shoulder, +and it was an uncomfortably sharp chin. However, she did not +like to be rude, so she bore it as well as she could. + + `The game's going on rather better now,' she said, by way of +keeping up the conversation a little. + + `'Tis so,' said the Duchess: `and the moral of that is--"Oh, +'tis love, 'tis love, that makes the world go round!"' + + `Somebody said,' Alice whispered, `that it's done by everybody +minding their own business!' + + `Ah, well! It means much the same thing,' said the Duchess, +digging her sharp little chin into Alice's shoulder as she added, +`and the moral of THAT is--"Take care of the sense, and the +sounds will take care of themselves."' + + `How fond she is of finding morals in things!' Alice thought to +herself. + + `I dare say you're wondering why I don't put my arm round your +waist,' the Duchess said after a pause: `the reason is, that I'm +doubtful about the temper of your flamingo. Shall I try the +experiment?' + + `HE might bite,' Alice cautiously replied, not feeling at all +anxious to have the experiment tried. + + `Very true,' said the Duchess: `flamingoes and mustard both +bite. And the moral of that is--"Birds of a feather flock +together."' + + `Only mustard isn't a bird,' Alice remarked. + + `Right, as usual,' said the Duchess: `what a clear way you +have of putting things!' + + `It's a mineral, I THINK,' said Alice. + + `Of course it is,' said the Duchess, who seemed ready to agree +to everything that Alice said; `there's a large mustard-mine near +here. And the moral of that is--"The more there is of mine, the +less there is of yours."' + + `Oh, I know!' exclaimed Alice, who had not attended to this +last remark, `it's a vegetable. It doesn't look like one, but it +is.' + + `I quite agree with you,' said the Duchess; `and the moral of +that is--"Be what you would seem to be"--or if you'd like it put +more simply--"Never imagine yourself not to be otherwise than +what it might appear to others that what you were or might have +been was not otherwise than what you had been would have appeared +to them to be otherwise."' + + `I think I should understand that better,' Alice said very +politely, `if I had it written down: but I can't quite follow it +as you say it.' + + `That's nothing to what I could say if I chose,' the Duchess +replied, in a pleased tone. + + `Pray don't trouble yourself to say it any longer than that,' +said Alice. + + `Oh, don't talk about trouble!' said the Duchess. `I make you +a present of everything I've said as yet.' + + `A cheap sort of present!' thought Alice. `I'm glad they don't +give birthday presents like that!' But she did not venture to +say it out loud. + + `Thinking again?' the Duchess asked, with another dig of her +sharp little chin. + + `I've a right to think,' said Alice sharply, for she was +beginning to feel a little worried. + + `Just about as much right,' said the Duchess, `as pigs have to +fly; and the m--' + + But here, to Alice's great surprise, the Duchess's voice died +away, even in the middle of her favourite word `moral,' and the +arm that was linked into hers began to tremble. Alice looked up, +and there stood the Queen in front of them, with her arms folded, +frowning like a thunderstorm. + + `A fine day, your Majesty!' the Duchess began in a low, weak +voice. + + `Now, I give you fair warning,' shouted the Queen, stamping on +the ground as she spoke; `either you or your head must be off, +and that in about half no time! Take your choice!' + + The Duchess took her choice, and was gone in a moment. + + `Let's go on with the game,' the Queen said to Alice; and Alice +was too much frightened to say a word, but slowly followed her +back to the croquet-ground. + + The other guests had taken advantage of the Queen's absence, +and were resting in the shade: however, the moment they saw her, +they hurried back to the game, the Queen merely remarking that a +moment's delay would cost them their lives. + + All the time they were playing the Queen never left off +quarrelling with the other players, and shouting `Off with his +head!' or `Off with her head!' Those whom she sentenced were +taken into custody by the soldiers, who of course had to leave +off being arches to do this, so that by the end of half an hour +or so there were no arches left, and all the players, except the +King, the Queen, and Alice, were in custody and under sentence of +execution. + + Then the Queen left off, quite out of breath, and said to +Alice, `Have you seen the Mock Turtle yet?' + + `No,' said Alice. `I don't even know what a Mock Turtle is.' + + `It's the thing Mock Turtle Soup is made from,' said the Queen. + + `I never saw one, or heard of one,' said Alice. + + `Come on, then,' said the Queen, `and he shall tell you his +history,' + + As they walked off together, Alice heard the King say in a low +voice, to the company generally, `You are all pardoned.' `Come, +THAT'S a good thing!' she said to herself, for she had felt quite +unhappy at the number of executions the Queen had ordered. + + They very soon came upon a Gryphon, lying fast asleep in the +sun. (IF you don't know what a Gryphon is, look at the picture.) +`Up, lazy thing!' said the Queen, `and take this young lady to +see the Mock Turtle, and to hear his history. I must go back and +see after some executions I have ordered'; and she walked off, +leaving Alice alone with the Gryphon. Alice did not quite like +the look of the creature, but on the whole she thought it would +be quite as safe to stay with it as to go after that savage +Queen: so she waited. + + The Gryphon sat up and rubbed its eyes: then it watched the +Queen till she was out of sight: then it chuckled. `What fun!' +said the Gryphon, half to itself, half to Alice. + + `What IS the fun?' said Alice. + + `Why, SHE,' said the Gryphon. `It's all her fancy, that: they +never executes nobody, you know. Come on!' + + `Everybody says "come on!" here,' thought Alice, as she went +slowly after it: `I never was so ordered about in all my life, +never!' + + They had not gone far before they saw the Mock Turtle in the +distance, sitting sad and lonely on a little ledge of rock, and, +as they came nearer, Alice could hear him sighing as if his heart +would break. She pitied him deeply. `What is his sorrow?' she +asked the Gryphon, and the Gryphon answered, very nearly in the +same words as before, `It's all his fancy, that: he hasn't got +no sorrow, you know. Come on!' + + So they went up to the Mock Turtle, who looked at them with +large eyes full of tears, but said nothing. + + `This here young lady,' said the Gryphon, `she wants for to +know your history, she do.' + + `I'll tell it her,' said the Mock Turtle in a deep, hollow +tone: `sit down, both of you, and don't speak a word till I've +finished.' + + So they sat down, and nobody spoke for some minutes. Alice +thought to herself, `I don't see how he can EVEN finish, if he +doesn't begin.' But she waited patiently. + + `Once,' said the Mock Turtle at last, with a deep sigh, `I was +a real Turtle.' + + These words were followed by a very long silence, broken only +by an occasional exclamation of `Hjckrrh!' from the Gryphon, and +the constant heavy sobbing of the Mock Turtle. Alice was very +nearly getting up and saying, `Thank you, sir, for your +interesting story,' but she could not help thinking there MUST be +more to come, so she sat still and said nothing. + + `When we were little,' the Mock Turtle went on at last, more +calmly, though still sobbing a little now and then, `we went to +school in the sea. The master was an old Turtle--we used to call +him Tortoise--' + + `Why did you call him Tortoise, if he wasn't one?' Alice asked. + + `We called him Tortoise because he taught us,' said the Mock +Turtle angrily: `really you are very dull!' + + `You ought to be ashamed of yourself for asking such a simple +question,' added the Gryphon; and then they both sat silent and +looked at poor Alice, who felt ready to sink into the earth. At +last the Gryphon said to the Mock Turtle, `Drive on, old fellow! +Don't be all day about it!' and he went on in these words: + + `Yes, we went to school in the sea, though you mayn't believe +it--' + + `I never said I didn't!' interrupted Alice. + + `You did,' said the Mock Turtle. + + `Hold your tongue!' added the Gryphon, before Alice could speak +again. The Mock Turtle went on. + + `We had the best of educations--in fact, we went to school +every day--' + + `I'VE been to a day-school, too,' said Alice; `you needn't be +so proud as all that.' + + `With extras?' asked the Mock Turtle a little anxiously. + + `Yes,' said Alice, `we learned French and music.' + + `And washing?' said the Mock Turtle. + + `Certainly not!' said Alice indignantly. + + `Ah! then yours wasn't a really good school,' said the Mock +Turtle in a tone of great relief. `Now at OURS they had at the +end of the bill, "French, music, AND WASHING--extra."' + + `You couldn't have wanted it much,' said Alice; `living at the +bottom of the sea.' + + `I couldn't afford to learn it.' said the Mock Turtle with a +sigh. `I only took the regular course.' + + `What was that?' inquired Alice. + + `Reeling and Writhing, of course, to begin with,' the Mock +Turtle replied; `and then the different branches of Arithmetic-- +Ambition, Distraction, Uglification, and Derision.' + + `I never heard of "Uglification,"' Alice ventured to say. `What +is it?' + + The Gryphon lifted up both its paws in surprise. `What! Never +heard of uglifying!' it exclaimed. `You know what to beautify +is, I suppose?' + + `Yes,' said Alice doubtfully: `it means--to--make--anything-- +prettier.' + + `Well, then,' the Gryphon went on, `if you don't know what to +uglify is, you ARE a simpleton.' + + Alice did not feel encouraged to ask any more questions about +it, so she turned to the Mock Turtle, and said `What else had you +to learn?' + + `Well, there was Mystery,' the Mock Turtle replied, counting +off the subjects on his flappers, `--Mystery, ancient and modern, +with Seaography: then Drawling--the Drawling-master was an old +conger-eel, that used to come once a week: HE taught us +Drawling, Stretching, and Fainting in Coils.' + + `What was THAT like?' said Alice. + + `Well, I can't show it you myself,' the Mock Turtle said: `I'm +too stiff. And the Gryphon never learnt it.' + + `Hadn't time,' said the Gryphon: `I went to the Classics +master, though. He was an old crab, HE was.' + + `I never went to him,' the Mock Turtle said with a sigh: `he +taught Laughing and Grief, they used to say.' + + `So he did, so he did,' said the Gryphon, sighing in his turn; +and both creatures hid their faces in their paws. + + `And how many hours a day did you do lessons?' said Alice, in a +hurry to change the subject. + + `Ten hours the first day,' said the Mock Turtle: `nine the +next, and so on.' + + `What a curious plan!' exclaimed Alice. + + `That's the reason they're called lessons,' the Gryphon +remarked: `because they lessen from day to day.' + + This was quite a new idea to Alice, and she thought it over a +little before she made her next remark. `Then the eleventh day +must have been a holiday?' + + `Of course it was,' said the Mock Turtle. + + `And how did you manage on the twelfth?' Alice went on eagerly. + + `That's enough about lessons,' the Gryphon interrupted in a +very decided tone: `tell her something about the games now.' + + + + CHAPTER X + + The Lobster Quadrille + + + The Mock Turtle sighed deeply, and drew the back of one flapper +across his eyes. He looked at Alice, and tried to speak, but for +a minute or two sobs choked his voice. `Same as if he had a bone +in his throat,' said the Gryphon: and it set to work shaking him +and punching him in the back. At last the Mock Turtle recovered +his voice, and, with tears running down his cheeks, he went on +again:-- + + `You may not have lived much under the sea--' (`I haven't,' +said Alice)--`and perhaps you were never even introduced to a lobster--' +(Alice began to say `I once tasted--' but checked herself hastily, +and said `No, never') `--so you can have no idea what a delightful +thing a Lobster Quadrille is!' + + `No, indeed,' said Alice. `What sort of a dance is it?' + + `Why,' said the Gryphon, `you first form into a line along the +sea-shore--' + + `Two lines!' cried the Mock Turtle. `Seals, turtles, salmon, +and so on; then, when you've cleared all the jelly-fish out of +the way--' + + `THAT generally takes some time,' interrupted the Gryphon. + + `--you advance twice--' + + `Each with a lobster as a partner!' cried the Gryphon. + + `Of course,' the Mock Turtle said: `advance twice, set to +partners--' + + `--change lobsters, and retire in same order,' continued the +Gryphon. + + `Then, you know,' the Mock Turtle went on, `you throw the--' + + `The lobsters!' shouted the Gryphon, with a bound into the air. + + `--as far out to sea as you can--' + + `Swim after them!' screamed the Gryphon. + + `Turn a somersault in the sea!' cried the Mock Turtle, +capering wildly about. + + `Back to land again, and that's all the first figure,' said the +Mock Turtle, suddenly dropping his voice; and the two creatures, +who had been jumping about like mad things all this time, sat +down again very sadly and quietly, and looked at Alice. + + `It must be a very pretty dance,' said Alice timidly. + + `Would you like to see a little of it?' said the Mock Turtle. + + `Very much indeed,' said Alice. + + `Come, let's try the first figure!' said the Mock Turtle to the +Gryphon. `We can do without lobsters, you know. Which shall +sing?' + + `Oh, YOU sing,' said the Gryphon. `I've forgotten the words.' + + So they began solemnly dancing round and round Alice, every now +and then treading on her toes when they passed too close, and +waving their forepaws to mark the time, while the Mock Turtle +sang this, very slowly and sadly:-- + + +`"Will you walk a little faster?" said a whiting to a snail. +"There's a porpoise close behind us, and he's treading on my + tail. +See how eagerly the lobsters and the turtles all advance! +They are waiting on the shingle--will you come and join the +dance? + +Will you, won't you, will you, won't you, will you join the +dance? +Will you, won't you, will you, won't you, won't you join the +dance? + + +"You can really have no notion how delightful it will be +When they take us up and throw us, with the lobsters, out to + sea!" +But the snail replied "Too far, too far!" and gave a look + askance-- +Said he thanked the whiting kindly, but he would not join the + dance. + Would not, could not, would not, could not, would not join + the dance. + Would not, could not, would not, could not, could not join + the dance. + +`"What matters it how far we go?" his scaly friend replied. +"There is another shore, you know, upon the other side. +The further off from England the nearer is to France-- +Then turn not pale, beloved snail, but come and join the dance. + + Will you, won't you, will you, won't you, will you join the + dance? + Will you, won't you, will you, won't you, won't you join the + dance?"' + + + + `Thank you, it's a very interesting dance to watch,' said +Alice, feeling very glad that it was over at last: `and I do so +like that curious song about the whiting!' + + `Oh, as to the whiting,' said the Mock Turtle, `they--you've +seen them, of course?' + + `Yes,' said Alice, `I've often seen them at dinn--' she +checked herself hastily. + + `I don't know where Dinn may be,' said the Mock Turtle, `but +if you've seen them so often, of course you know what they're +like.' + + `I believe so,' Alice replied thoughtfully. `They have their +tails in their mouths--and they're all over crumbs.' + + `You're wrong about the crumbs,' said the Mock Turtle: +`crumbs would all wash off in the sea. But they HAVE their tails +in their mouths; and the reason is--' here the Mock Turtle +yawned and shut his eyes.--`Tell her about the reason and all +that,' he said to the Gryphon. + + `The reason is,' said the Gryphon, `that they WOULD go with +the lobsters to the dance. So they got thrown out to sea. So +they had to fall a long way. So they got their tails fast in +their mouths. So they couldn't get them out again. That's all.' + + `Thank you,' said Alice, `it's very interesting. I never knew +so much about a whiting before.' + + `I can tell you more than that, if you like,' said the +Gryphon. `Do you know why it's called a whiting?' + + `I never thought about it,' said Alice. `Why?' + + `IT DOES THE BOOTS AND SHOES.' the Gryphon replied very +solemnly. + + Alice was thoroughly puzzled. `Does the boots and shoes!' she +repeated in a wondering tone. + + `Why, what are YOUR shoes done with?' said the Gryphon. `I +mean, what makes them so shiny?' + + Alice looked down at them, and considered a little before she +gave her answer. `They're done with blacking, I believe.' + + `Boots and shoes under the sea,' the Gryphon went on in a deep +voice, `are done with a whiting. Now you know.' + + `And what are they made of?' Alice asked in a tone of great +curiosity. + + `Soles and eels, of course,' the Gryphon replied rather +impatiently: `any shrimp could have told you that.' + + `If I'd been the whiting,' said Alice, whose thoughts were +still running on the song, `I'd have said to the porpoise, "Keep +back, please: we don't want YOU with us!"' + + `They were obliged to have him with them,' the Mock Turtle +said: `no wise fish would go anywhere without a porpoise.' + + `Wouldn't it really?' said Alice in a tone of great surprise. + + `Of course not,' said the Mock Turtle: `why, if a fish came +to ME, and told me he was going a journey, I should say "With +what porpoise?"' + + `Don't you mean "purpose"?' said Alice. + + `I mean what I say,' the Mock Turtle replied in an offended +tone. And the Gryphon added `Come, let's hear some of YOUR +adventures.' + + `I could tell you my adventures--beginning from this morning,' +said Alice a little timidly: `but it's no use going back to +yesterday, because I was a different person then.' + + `Explain all that,' said the Mock Turtle. + + `No, no! The adventures first,' said the Gryphon in an +impatient tone: `explanations take such a dreadful time.' + + So Alice began telling them her adventures from the time when +she first saw the White Rabbit. She was a little nervous about +it just at first, the two creatures got so close to her, one on +each side, and opened their eyes and mouths so VERY wide, but she +gained courage as she went on. Her listeners were perfectly +quiet till she got to the part about her repeating `YOU ARE OLD, +FATHER WILLIAM,' to the Caterpillar, and the words all coming +different, and then the Mock Turtle drew a long breath, and said +`That's very curious.' + + `It's all about as curious as it can be,' said the Gryphon. + + `It all came different!' the Mock Turtle repeated +thoughtfully. `I should like to hear her try and repeat +something now. Tell her to begin.' He looked at the Gryphon as +if he thought it had some kind of authority over Alice. + + `Stand up and repeat "'TIS THE VOICE OF THE SLUGGARD,"' said +the Gryphon. + + `How the creatures order one about, and make one repeat +lessons!' thought Alice; `I might as well be at school at once.' +However, she got up, and began to repeat it, but her head was so +full of the Lobster Quadrille, that she hardly knew what she was +saying, and the words came very queer indeed:-- + + `'Tis the voice of the Lobster; I heard him declare, + "You have baked me too brown, I must sugar my hair." + As a duck with its eyelids, so he with his nose + Trims his belt and his buttons, and turns out his toes.' + + [later editions continued as follows + When the sands are all dry, he is gay as a lark, + And will talk in contemptuous tones of the Shark, + But, when the tide rises and sharks are around, + His voice has a timid and tremulous sound.] + + `That's different from what I used to say when I was a child,' +said the Gryphon. + + `Well, I never heard it before,' said the Mock Turtle; `but it +sounds uncommon nonsense.' + + Alice said nothing; she had sat down with her face in her +hands, wondering if anything would EVER happen in a natural way +again. + + `I should like to have it explained,' said the Mock Turtle. + + `She can't explain it,' said the Gryphon hastily. `Go on with +the next verse.' + + `But about his toes?' the Mock Turtle persisted. `How COULD +he turn them out with his nose, you know?' + + `It's the first position in dancing.' Alice said; but was +dreadfully puzzled by the whole thing, and longed to change the +subject. + + `Go on with the next verse,' the Gryphon repeated impatiently: +`it begins "I passed by his garden."' + + Alice did not dare to disobey, though she felt sure it would +all come wrong, and she went on in a trembling voice:-- + + `I passed by his garden, and marked, with one eye, + How the Owl and the Panther were sharing a pie--' + + [later editions continued as follows + The Panther took pie-crust, and gravy, and meat, + While the Owl had the dish as its share of the treat. + When the pie was all finished, the Owl, as a boon, + Was kindly permitted to pocket the spoon: + While the Panther received knife and fork with a growl, + And concluded the banquet--] + + `What IS the use of repeating all that stuff,' the Mock Turtle +interrupted, `if you don't explain it as you go on? It's by far +the most confusing thing I ever heard!' + + `Yes, I think you'd better leave off,' said the Gryphon: and +Alice was only too glad to do so. + + `Shall we try another figure of the Lobster Quadrille?' the +Gryphon went on. `Or would you like the Mock Turtle to sing you +a song?' + + `Oh, a song, please, if the Mock Turtle would be so kind,' +Alice replied, so eagerly that the Gryphon said, in a rather +offended tone, `Hm! No accounting for tastes! Sing her "Turtle +Soup," will you, old fellow?' + + The Mock Turtle sighed deeply, and began, in a voice sometimes +choked with sobs, to sing this:-- + + + `Beautiful Soup, so rich and green, + Waiting in a hot tureen! + Who for such dainties would not stoop? + Soup of the evening, beautiful Soup! + Soup of the evening, beautiful Soup! + Beau--ootiful Soo--oop! + Beau--ootiful Soo--oop! + Soo--oop of the e--e--evening, + Beautiful, beautiful Soup! + + `Beautiful Soup! Who cares for fish, + Game, or any other dish? + Who would not give all else for two p + ennyworth only of beautiful Soup? + Pennyworth only of beautiful Soup? + Beau--ootiful Soo--oop! + Beau--ootiful Soo--oop! + Soo--oop of the e--e--evening, + Beautiful, beauti--FUL SOUP!' + + `Chorus again!' cried the Gryphon, and the Mock Turtle had +just begun to repeat it, when a cry of `The trial's beginning!' +was heard in the distance. + + `Come on!' cried the Gryphon, and, taking Alice by the hand, +it hurried off, without waiting for the end of the song. + + `What trial is it?' Alice panted as she ran; but the Gryphon +only answered `Come on!' and ran the faster, while more and more +faintly came, carried on the breeze that followed them, the +melancholy words:-- + + `Soo--oop of the e--e--evening, + Beautiful, beautiful Soup!' + + + + CHAPTER XI + + Who Stole the Tarts? + + + The King and Queen of Hearts were seated on their throne when +they arrived, with a great crowd assembled about them--all sorts +of little birds and beasts, as well as the whole pack of cards: +the Knave was standing before them, in chains, with a soldier on +each side to guard him; and near the King was the White Rabbit, +with a trumpet in one hand, and a scroll of parchment in the +other. In the very middle of the court was a table, with a large +dish of tarts upon it: they looked so good, that it made Alice +quite hungry to look at them--`I wish they'd get the trial done,' +she thought, `and hand round the refreshments!' But there seemed +to be no chance of this, so she began looking at everything about +her, to pass away the time. + + Alice had never been in a court of justice before, but she had +read about them in books, and she was quite pleased to find that +she knew the name of nearly everything there. `That's the +judge,' she said to herself, `because of his great wig.' + + The judge, by the way, was the King; and as he wore his crown +over the wig, (look at the frontispiece if you want to see how he +did it,) he did not look at all comfortable, and it was certainly +not becoming. + + `And that's the jury-box,' thought Alice, `and those twelve +creatures,' (she was obliged to say `creatures,' you see, because +some of them were animals, and some were birds,) `I suppose they +are the jurors.' She said this last word two or three times over +to herself, being rather proud of it: for she thought, and +rightly too, that very few little girls of her age knew the +meaning of it at all. However, `jury-men' would have done just +as well. + + The twelve jurors were all writing very busily on slates. +`What are they doing?' Alice whispered to the Gryphon. `They +can't have anything to put down yet, before the trial's begun.' + + `They're putting down their names,' the Gryphon whispered in +reply, `for fear they should forget them before the end of the +trial.' + + `Stupid things!' Alice began in a loud, indignant voice, but +she stopped hastily, for the White Rabbit cried out, `Silence in +the court!' and the King put on his spectacles and looked +anxiously round, to make out who was talking. + + Alice could see, as well as if she were looking over their +shoulders, that all the jurors were writing down `stupid things!' +on their slates, and she could even make out that one of them +didn't know how to spell `stupid,' and that he had to ask his +neighbour to tell him. `A nice muddle their slates'll be in +before the trial's over!' thought Alice. + + One of the jurors had a pencil that squeaked. This of course, +Alice could not stand, and she went round the court and got +behind him, and very soon found an opportunity of taking it +away. She did it so quickly that the poor little juror (it was +Bill, the Lizard) could not make out at all what had become of +it; so, after hunting all about for it, he was obliged to write +with one finger for the rest of the day; and this was of very +little use, as it left no mark on the slate. + + `Herald, read the accusation!' said the King. + + On this the White Rabbit blew three blasts on the trumpet, and +then unrolled the parchment scroll, and read as follows:-- + + `The Queen of Hearts, she made some tarts, + All on a summer day: + The Knave of Hearts, he stole those tarts, + And took them quite away!' + + `Consider your verdict,' the King said to the jury. + + `Not yet, not yet!' the Rabbit hastily interrupted. `There's +a great deal to come before that!' + + `Call the first witness,' said the King; and the White Rabbit +blew three blasts on the trumpet, and called out, `First +witness!' + + The first witness was the Hatter. He came in with a teacup in +one hand and a piece of bread-and-butter in the other. `I beg +pardon, your Majesty,' he began, `for bringing these in: but I +hadn't quite finished my tea when I was sent for.' + + `You ought to have finished,' said the King. `When did you +begin?' + + The Hatter looked at the March Hare, who had followed him into +the court, arm-in-arm with the Dormouse. `Fourteenth of March, I +think it was,' he said. + + `Fifteenth,' said the March Hare. + + `Sixteenth,' added the Dormouse. + + `Write that down,' the King said to the jury, and the jury +eagerly wrote down all three dates on their slates, and then +added them up, and reduced the answer to shillings and pence. + + `Take off your hat,' the King said to the Hatter. + + `It isn't mine,' said the Hatter. + + `Stolen!' the King exclaimed, turning to the jury, who +instantly made a memorandum of the fact. + + `I keep them to sell,' the Hatter added as an explanation; +`I've none of my own. I'm a hatter.' + + Here the Queen put on her spectacles, and began staring at the +Hatter, who turned pale and fidgeted. + + `Give your evidence,' said the King; `and don't be nervous, or +I'll have you executed on the spot.' + + This did not seem to encourage the witness at all: he kept +shifting from one foot to the other, looking uneasily at the +Queen, and in his confusion he bit a large piece out of his +teacup instead of the bread-and-butter. + + Just at this moment Alice felt a very curious sensation, which +puzzled her a good deal until she made out what it was: she was +beginning to grow larger again, and she thought at first she +would get up and leave the court; but on second thoughts she +decided to remain where she was as long as there was room for +her. + + `I wish you wouldn't squeeze so.' said the Dormouse, who was +sitting next to her. `I can hardly breathe.' + + `I can't help it,' said Alice very meekly: `I'm growing.' + + `You've no right to grow here,' said the Dormouse. + + `Don't talk nonsense,' said Alice more boldly: `you know +you're growing too.' + + `Yes, but I grow at a reasonable pace,' said the Dormouse: +`not in that ridiculous fashion.' And he got up very sulkily +and crossed over to the other side of the court. + + All this time the Queen had never left off staring at the +Hatter, and, just as the Dormouse crossed the court, she said to +one of the officers of the court, `Bring me the list of the +singers in the last concert!' on which the wretched Hatter +trembled so, that he shook both his shoes off. + + `Give your evidence,' the King repeated angrily, `or I'll have +you executed, whether you're nervous or not.' + + `I'm a poor man, your Majesty,' the Hatter began, in a +trembling voice, `--and I hadn't begun my tea--not above a week +or so--and what with the bread-and-butter getting so thin--and +the twinkling of the tea--' + + `The twinkling of the what?' said the King. + + `It began with the tea,' the Hatter replied. + + `Of course twinkling begins with a T!' said the King sharply. +`Do you take me for a dunce? Go on!' + + `I'm a poor man,' the Hatter went on, `and most things +twinkled after that--only the March Hare said--' + + `I didn't!' the March Hare interrupted in a great hurry. + + `You did!' said the Hatter. + + `I deny it!' said the March Hare. + + `He denies it,' said the King: `leave out that part.' + + `Well, at any rate, the Dormouse said--' the Hatter went on, +looking anxiously round to see if he would deny it too: but the +Dormouse denied nothing, being fast asleep. + + `After that,' continued the Hatter, `I cut some more bread- +and-butter--' + + `But what did the Dormouse say?' one of the jury asked. + + `That I can't remember,' said the Hatter. + + `You MUST remember,' remarked the King, `or I'll have you +executed.' + + The miserable Hatter dropped his teacup and bread-and-butter, +and went down on one knee. `I'm a poor man, your Majesty,' he +began. + + `You're a very poor speaker,' said the King. + + Here one of the guinea-pigs cheered, and was immediately +suppressed by the officers of the court. (As that is rather a +hard word, I will just explain to you how it was done. They had +a large canvas bag, which tied up at the mouth with strings: +into this they slipped the guinea-pig, head first, and then sat +upon it.) + + `I'm glad I've seen that done,' thought Alice. `I've so often +read in the newspapers, at the end of trials, "There was some +attempts at applause, which was immediately suppressed by the +officers of the court," and I never understood what it meant +till now.' + + `If that's all you know about it, you may stand down,' +continued the King. + + `I can't go no lower,' said the Hatter: `I'm on the floor, as +it is.' + + `Then you may SIT down,' the King replied. + + Here the other guinea-pig cheered, and was suppressed. + + `Come, that finished the guinea-pigs!' thought Alice. `Now we +shall get on better.' + + `I'd rather finish my tea,' said the Hatter, with an anxious +look at the Queen, who was reading the list of singers. + + `You may go,' said the King, and the Hatter hurriedly left the +court, without even waiting to put his shoes on. + + `--and just take his head off outside,' the Queen added to one +of the officers: but the Hatter was out of sight before the +officer could get to the door. + + `Call the next witness!' said the King. + + The next witness was the Duchess's cook. She carried the +pepper-box in her hand, and Alice guessed who it was, even before +she got into the court, by the way the people near the door began +sneezing all at once. + + `Give your evidence,' said the King. + + `Shan't,' said the cook. + + The King looked anxiously at the White Rabbit, who said in a +low voice, `Your Majesty must cross-examine THIS witness.' + + `Well, if I must, I must,' the King said, with a melancholy +air, and, after folding his arms and frowning at the cook till +his eyes were nearly out of sight, he said in a deep voice, `What +are tarts made of?' + + `Pepper, mostly,' said the cook. + + `Treacle,' said a sleepy voice behind her. + + `Collar that Dormouse,' the Queen shrieked out. `Behead that +Dormouse! Turn that Dormouse out of court! Suppress him! Pinch +him! Off with his whiskers!' + + For some minutes the whole court was in confusion, getting the +Dormouse turned out, and, by the time they had settled down +again, the cook had disappeared. + + `Never mind!' said the King, with an air of great relief. +`Call the next witness.' And he added in an undertone to the +Queen, `Really, my dear, YOU must cross-examine the next witness. +It quite makes my forehead ache!' + + Alice watched the White Rabbit as he fumbled over the list, +feeling very curious to see what the next witness would be like, +`--for they haven't got much evidence YET,' she said to herself. +Imagine her surprise, when the White Rabbit read out, at the top +of his shrill little voice, the name `Alice!' + + + + CHAPTER XII + + Alice's Evidence + + + `Here!' cried Alice, quite forgetting in the flurry of the +moment how large she had grown in the last few minutes, and she +jumped up in such a hurry that she tipped over the jury-box with +the edge of her skirt, upsetting all the jurymen on to the heads +of the crowd below, and there they lay sprawling about, reminding +her very much of a globe of goldfish she had accidentally upset +the week before. + + `Oh, I BEG your pardon!' she exclaimed in a tone of great +dismay, and began picking them up again as quickly as she could, +for the accident of the goldfish kept running in her head, and +she had a vague sort of idea that they must be collected at once +and put back into the jury-box, or they would die. + + `The trial cannot proceed,' said the King in a very grave +voice, `until all the jurymen are back in their proper places-- +ALL,' he repeated with great emphasis, looking hard at Alice as +he said do. + + Alice looked at the jury-box, and saw that, in her haste, she +had put the Lizard in head downwards, and the poor little thing +was waving its tail about in a melancholy way, being quite unable +to move. She soon got it out again, and put it right; `not that +it signifies much,' she said to herself; `I should think it +would be QUITE as much use in the trial one way up as the other.' + + As soon as the jury had a little recovered from the shock of +being upset, and their slates and pencils had been found and +handed back to them, they set to work very diligently to write +out a history of the accident, all except the Lizard, who seemed +too much overcome to do anything but sit with its mouth open, +gazing up into the roof of the court. + + `What do you know about this business?' the King said to +Alice. + + `Nothing,' said Alice. + + `Nothing WHATEVER?' persisted the King. + + `Nothing whatever,' said Alice. + + `That's very important,' the King said, turning to the jury. +They were just beginning to write this down on their slates, when +the White Rabbit interrupted: `UNimportant, your Majesty means, +of course,' he said in a very respectful tone, but frowning and +making faces at him as he spoke. + + `UNimportant, of course, I meant,' the King hastily said, and +went on to himself in an undertone, `important--unimportant-- +unimportant--important--' as if he were trying which word +sounded best. + + Some of the jury wrote it down `important,' and some +`unimportant.' Alice could see this, as she was near enough to +look over their slates; `but it doesn't matter a bit,' she +thought to herself. + + At this moment the King, who had been for some time busily +writing in his note-book, cackled out `Silence!' and read out +from his book, `Rule Forty-two. ALL PERSONS MORE THAN A MILE +HIGH TO LEAVE THE COURT.' + + Everybody looked at Alice. + + `I'M not a mile high,' said Alice. + + `You are,' said the King. + + `Nearly two miles high,' added the Queen. + + `Well, I shan't go, at any rate,' said Alice: `besides, +that's not a regular rule: you invented it just now.' + + `It's the oldest rule in the book,' said the King. + + `Then it ought to be Number One,' said Alice. + + The King turned pale, and shut his note-book hastily. +`Consider your verdict,' he said to the jury, in a low, trembling +voice. + + `There's more evidence to come yet, please your Majesty,' said +the White Rabbit, jumping up in a great hurry; `this paper has +just been picked up.' + + `What's in it?' said the Queen. + + `I haven't opened it yet,' said the White Rabbit, `but it seems +to be a letter, written by the prisoner to--to somebody.' + + `It must have been that,' said the King, `unless it was +written to nobody, which isn't usual, you know.' + + `Who is it directed to?' said one of the jurymen. + + `It isn't directed at all,' said the White Rabbit; `in fact, +there's nothing written on the OUTSIDE.' He unfolded the paper +as he spoke, and added `It isn't a letter, after all: it's a set +of verses.' + + `Are they in the prisoner's handwriting?' asked another of +they jurymen. + + `No, they're not,' said the White Rabbit, `and that's the +queerest thing about it.' (The jury all looked puzzled.) + + `He must have imitated somebody else's hand,' said the King. +(The jury all brightened up again.) + + `Please your Majesty,' said the Knave, `I didn't write it, and +they can't prove I did: there's no name signed at the end.' + + `If you didn't sign it,' said the King, `that only makes the +matter worse. You MUST have meant some mischief, or else you'd +have signed your name like an honest man.' + + There was a general clapping of hands at this: it was the +first really clever thing the King had said that day. + + `That PROVES his guilt,' said the Queen. + + `It proves nothing of the sort!' said Alice. `Why, you don't +even know what they're about!' + + `Read them,' said the King. + + The White Rabbit put on his spectacles. `Where shall I begin, +please your Majesty?' he asked. + + `Begin at the beginning,' the King said gravely, `and go on +till you come to the end: then stop.' + + These were the verses the White Rabbit read:-- + + `They told me you had been to her, + And mentioned me to him: + She gave me a good character, + But said I could not swim. + + He sent them word I had not gone + (We know it to be true): + If she should push the matter on, + What would become of you? + + I gave her one, they gave him two, + You gave us three or more; + They all returned from him to you, + Though they were mine before. + + If I or she should chance to be + Involved in this affair, + He trusts to you to set them free, + Exactly as we were. + + My notion was that you had been + (Before she had this fit) + An obstacle that came between + Him, and ourselves, and it. + + Don't let him know she liked them best, + For this must ever be + A secret, kept from all the rest, + Between yourself and me.' + + `That's the most important piece of evidence we've heard yet,' +said the King, rubbing his hands; `so now let the jury--' + + `If any one of them can explain it,' said Alice, (she had +grown so large in the last few minutes that she wasn't a bit +afraid of interrupting him,) `I'll give him sixpence. _I_ don't +believe there's an atom of meaning in it.' + + The jury all wrote down on their slates, `SHE doesn't believe +there's an atom of meaning in it,' but none of them attempted to +explain the paper. + + `If there's no meaning in it,' said the King, `that saves a +world of trouble, you know, as we needn't try to find any. And +yet I don't know,' he went on, spreading out the verses on his +knee, and looking at them with one eye; `I seem to see some +meaning in them, after all. "--SAID I COULD NOT SWIM--" you +can't swim, can you?' he added, turning to the Knave. + + The Knave shook his head sadly. `Do I look like it?' he said. +(Which he certainly did NOT, being made entirely of cardboard.) + + `All right, so far,' said the King, and he went on muttering +over the verses to himself: `"WE KNOW IT TO BE TRUE--" that's +the jury, of course-- "I GAVE HER ONE, THEY GAVE HIM TWO--" why, +that must be what he did with the tarts, you know--' + + `But, it goes on "THEY ALL RETURNED FROM HIM TO YOU,"' said +Alice. + + `Why, there they are!' said the King triumphantly, pointing to +the tarts on the table. `Nothing can be clearer than THAT. +Then again--"BEFORE SHE HAD THIS FIT--" you never had fits, my +dear, I think?' he said to the Queen. + + `Never!' said the Queen furiously, throwing an inkstand at the +Lizard as she spoke. (The unfortunate little Bill had left off +writing on his slate with one finger, as he found it made no +mark; but he now hastily began again, using the ink, that was +trickling down his face, as long as it lasted.) + + `Then the words don't FIT you,' said the King, looking round +the court with a smile. There was a dead silence. + + `It's a pun!' the King added in an offended tone, and +everybody laughed, `Let the jury consider their verdict,' the +King said, for about the twentieth time that day. + + `No, no!' said the Queen. `Sentence first--verdict afterwards.' + + `Stuff and nonsense!' said Alice loudly. `The idea of having +the sentence first!' + + `Hold your tongue!' said the Queen, turning purple. + + `I won't!' said Alice. + + `Off with her head!' the Queen shouted at the top of her voice. +Nobody moved. + + `Who cares for you?' said Alice, (she had grown to her full +size by this time.) `You're nothing but a pack of cards!' + + At this the whole pack rose up into the air, and came flying +down upon her: she gave a little scream, half of fright and half +of anger, and tried to beat them off, and found herself lying on +the bank, with her head in the lap of her sister, who was gently +brushing away some dead leaves that had fluttered down from the +trees upon her face. + + `Wake up, Alice dear!' said her sister; `Why, what a long +sleep you've had!' + + `Oh, I've had such a curious dream!' said Alice, and she told +her sister, as well as she could remember them, all these strange +Adventures of hers that you have just been reading about; and +when she had finished, her sister kissed her, and said, `It WAS a +curious dream, dear, certainly: but now run in to your tea; it's +getting late.' So Alice got up and ran off, thinking while she +ran, as well she might, what a wonderful dream it had been. + + But her sister sat still just as she left her, leaning her +head on her hand, watching the setting sun, and thinking of +little Alice and all her wonderful Adventures, till she too began +dreaming after a fashion, and this was her dream:-- + + First, she dreamed of little Alice herself, and once again the +tiny hands were clasped upon her knee, and the bright eager eyes +were looking up into hers--she could hear the very tones of her +voice, and see that queer little toss of her head to keep back +the wandering hair that WOULD always get into her eyes--and +still as she listened, or seemed to listen, the whole place +around her became alive the strange creatures of her little +sister's dream. + + The long grass rustled at her feet as the White Rabbit hurried +by--the frightened Mouse splashed his way through the +neighbouring pool--she could hear the rattle of the teacups as +the March Hare and his friends shared their never-ending meal, +and the shrill voice of the Queen ordering off her unfortunate +guests to execution--once more the pig-baby was sneezing on the +Duchess's knee, while plates and dishes crashed around it--once +more the shriek of the Gryphon, the squeaking of the Lizard's +slate-pencil, and the choking of the suppressed guinea-pigs, +filled the air, mixed up with the distant sobs of the miserable +Mock Turtle. + + So she sat on, with closed eyes, and half believed herself in +Wonderland, though she knew she had but to open them again, and +all would change to dull reality--the grass would be only +rustling in the wind, and the pool rippling to the waving of the +reeds--the rattling teacups would change to tinkling sheep- +bells, and the Queen's shrill cries to the voice of the shepherd +boy--and the sneeze of the baby, the shriek of the Gryphon, and +all thy other queer noises, would change (she knew) to the +confused clamour of the busy farm-yard--while the lowing of the +cattle in the distance would take the place of the Mock Turtle's +heavy sobs. + + Lastly, she pictured to herself how this same little sister of +hers would, in the after-time, be herself a grown woman; and how +she would keep, through all her riper years, the simple and +loving heart of her childhood: and how she would gather about +her other little children, and make THEIR eyes bright and eager +with many a strange tale, perhaps even with the dream of +Wonderland of long ago: and how she would feel with all their +simple sorrows, and find a pleasure in all their simple joys, +remembering her own child-life, and the happy summer days. + + THE END + \ No newline at end of file From be5fe6f922642428e0e6ef4c5a00986a0e7d30d3 Mon Sep 17 00:00:00 2001 From: Chen Kai <281165273grape@gmail.com> Date: Sat, 11 Oct 2025 13:31:57 +0800 Subject: [PATCH 2/2] fix: fix format Signed-off-by: Chen Kai <281165273grape@gmail.com> --- src/frames.zig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/frames.zig b/src/frames.zig index f13e107..0b758d7 100644 --- a/src/frames.zig +++ b/src/frames.zig @@ -113,11 +113,11 @@ pub fn encode(allocator: Allocator, data: []const u8) ![]u8 { while (index < data.len) { const end_index = @min(index + recommended_chunk, data.len); const chunk_input = data[index..end_index]; - try encoder.writeChunk(output.writer(allocator), chunk_input); + try encoder.writeChunk(output.writer(allocator), chunk_input); index = end_index; } - try encoder.finish(output.writer(allocator)); + try encoder.finish(output.writer(allocator)); return output.toOwnedSlice(allocator); }