/* * 86Box A hypervisor and IBM PC system emulator that specializes in * running old operating systems and software designed for IBM * PC systems and compatibles from 1981 through fairly recent * system designs based on the PCI bus. * * This file is part of the 86Box distribution. * * Voodoo Graphics and 2 specific emulation. * * * * Authors: Sarah Walker, * leilei * * Copyright 2008-2020 Sarah Walker. */ #ifndef VIDEO_VOODOO_DITHER_H #define VIDEO_VOODOO_DITHER_H static const uint8_t dither_rb[256][4][4] = { { {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, }, { {0, 0, 0, 0}, {0, 0, 1, 0}, {0, 0, 0, 0}, {1, 0, 0, 0}, }, { {0, 0, 0, 0}, {1, 0, 1, 0}, {0, 0, 0, 0}, {1, 0, 1, 0}, }, { {0, 0, 0, 1}, {1, 0, 1, 0}, {0, 1, 0, 0}, {1, 0, 1, 0}, }, { {0, 1, 0, 1}, {1, 0, 1, 0}, {0, 1, 0, 1}, {1, 0, 1, 0}, }, { {0, 1, 0, 1}, {1, 0, 1, 1}, {0, 1, 0, 1}, {1, 1, 1, 0}, }, { {0, 1, 0, 1}, {1, 1, 1, 1}, {0, 1, 0, 1}, {1, 1, 1, 1}, }, { {0, 1, 1, 1}, {1, 1, 1, 1}, {1, 1, 0, 1}, {1, 1, 1, 1}, }, { {1, 1, 1, 1}, {1, 1, 1, 1}, {1, 1, 1, 1}, {1, 1, 1, 1}, }, { {1, 1, 1, 1}, {1, 1, 2, 1}, {1, 1, 1, 1}, {2, 1, 1, 1}, }, { {1, 1, 1, 1}, {2, 1, 2, 1}, {1, 1, 1, 1}, {2, 1, 2, 1}, }, { {1, 1, 1, 2}, {2, 1, 2, 1}, {1, 2, 1, 1}, {2, 1, 2, 1}, }, { {1, 2, 1, 2}, {2, 1, 2, 1}, {1, 2, 1, 2}, {2, 1, 2, 1}, }, { {1, 2, 1, 2}, {2, 1, 2, 2}, {1, 2, 1, 2}, {2, 2, 2, 1}, }, { {1, 2, 1, 2}, {2, 2, 2, 2}, {1, 2, 1, 2}, {2, 2, 2, 2}, }, { {1, 2, 2, 2}, {2, 2, 2, 2}, {2, 2, 1, 2}, {2, 2, 2, 2}, }, { {1, 2, 2, 2}, {2, 2, 2, 2}, {2, 2, 2, 2}, {2, 2, 2, 2}, }, { {2, 2, 2, 2}, {2, 2, 2, 2}, {2, 2, 2, 2}, {3, 2, 2, 2}, }, { {2, 2, 2, 2}, {2, 2, 3, 2}, {2, 2, 2, 2}, {3, 2, 3, 2}, }, { {2, 2, 2, 2}, {3, 2, 3, 2}, {2, 3, 2, 2}, {3, 2, 3, 2}, }, { {2, 2, 2, 3}, {3, 2, 3, 2}, {2, 3, 2, 3}, {3, 2, 3, 2}, }, { {2, 3, 2, 3}, {3, 2, 3, 2}, {2, 3, 2, 3}, {3, 3, 3, 2}, }, { {2, 3, 2, 3}, {3, 2, 3, 3}, {2, 3, 2, 3}, {3, 3, 3, 3}, }, { {2, 3, 2, 3}, {3, 3, 3, 3}, {3, 3, 2, 3}, {3, 3, 3, 3}, }, { {2, 3, 3, 3}, {3, 3, 3, 3}, {3, 3, 3, 3}, {3, 3, 3, 3}, }, { {3, 3, 3, 3}, {3, 3, 3, 3}, {3, 3, 3, 3}, {4, 3, 3, 3}, }, { {3, 3, 3, 3}, {3, 3, 4, 3}, {3, 3, 3, 3}, {4, 3, 4, 3}, }, { {3, 3, 3, 3}, {4, 3, 4, 3}, {3, 4, 3, 3}, {4, 3, 4, 3}, }, { {3, 3, 3, 4}, {4, 3, 4, 3}, {3, 4, 3, 4}, {4, 3, 4, 3}, }, { {3, 4, 3, 4}, {4, 3, 4, 3}, {3, 4, 3, 4}, {4, 4, 4, 3}, }, { {3, 4, 3, 4}, {4, 3, 4, 4}, {3, 4, 3, 4}, {4, 4, 4, 4}, }, { {3, 4, 3, 4}, {4, 4, 4, 4}, {4, 4, 3, 4}, {4, 4, 4, 4}, }, { {3, 4, 4, 4}, {4, 4, 4, 4}, {4, 4, 3, 4}, {4, 4, 4, 4}, }, { {4, 4, 4, 4}, {4, 4, 4, 4}, {4, 4, 4, 4}, {4, 4, 4, 4}, }, { {4, 4, 4, 4}, {4, 4, 5, 4}, {4, 4, 4, 4}, {5, 4, 4, 4}, }, { {4, 4, 4, 4}, {5, 4, 5, 4}, {4, 4, 4, 4}, {5, 4, 5, 4}, }, { {4, 4, 4, 5}, {5, 4, 5, 4}, {4, 5, 4, 4}, {5, 4, 5, 4}, }, { {4, 5, 4, 5}, {5, 4, 5, 4}, {4, 5, 4, 5}, {5, 4, 5, 4}, }, { {4, 5, 4, 5}, {5, 4, 5, 5}, {4, 5, 4, 5}, {5, 5, 5, 4}, }, { {4, 5, 4, 5}, {5, 5, 5, 5}, {4, 5, 4, 5}, {5, 5, 5, 5}, }, { {4, 5, 5, 5}, {5, 5, 5, 5}, {5, 5, 4, 5}, {5, 5, 5, 5}, }, { {5, 5, 5, 5}, {5, 5, 5, 5}, {5, 5, 5, 5}, {5, 5, 5, 5}, }, { {5, 5, 5, 5}, {5, 5, 6, 5}, {5, 5, 5, 5}, {6, 5, 5, 5}, }, { {5, 5, 5, 5}, {6, 5, 6, 5}, {5, 5, 5, 5}, {6, 5, 6, 5}, }, { {5, 5, 5, 6}, {6, 5, 6, 5}, {5, 6, 5, 5}, {6, 5, 6, 5}, }, { {5, 6, 5, 6}, {6, 5, 6, 5}, {5, 6, 5, 6}, {6, 5, 6, 5}, }, { {5, 6, 5, 6}, {6, 5, 6, 6}, {5, 6, 5, 6}, {6, 6, 6, 5}, }, { {5, 6, 5, 6}, {6, 6, 6, 6}, {5, 6, 5, 6}, {6, 6, 6, 6}, }, { {5, 6, 5, 6}, {6, 6, 6, 6}, {6, 6, 5, 6}, {6, 6, 6, 6}, }, { {5, 6, 6, 6}, {6, 6, 6, 6}, {6, 6, 6, 6}, {6, 6, 6, 6}, }, { {6, 6, 6, 6}, {6, 6, 6, 6}, {6, 6, 6, 6}, {7, 6, 6, 6}, }, { {6, 6, 6, 6}, {6, 6, 7, 6}, {6, 6, 6, 6}, {7, 6, 7, 6}, }, { {6, 6, 6, 6}, {7, 6, 7, 6}, {6, 7, 6, 6}, {7, 6, 7, 6}, }, { {6, 6, 6, 7}, {7, 6, 7, 6}, {6, 7, 6, 7}, {7, 6, 7, 6}, }, { {6, 7, 6, 7}, {7, 6, 7, 6}, {6, 7, 6, 7}, {7, 7, 7, 6}, }, { {6, 7, 6, 7}, {7, 6, 7, 7}, {6, 7, 6, 7}, {7, 7, 7, 7}, }, { {6, 7, 6, 7}, {7, 7, 7, 7}, {7, 7, 6, 7}, {7, 7, 7, 7}, }, { {6, 7, 7, 7}, {7, 7, 7, 7}, {7, 7, 7, 7}, {7, 7, 7, 7}, }, { {7, 7, 7, 7}, {7, 7, 7, 7}, {7, 7, 7, 7}, {8, 7, 7, 7}, }, { {7, 7, 7, 7}, {7, 7, 8, 7}, {7, 7, 7, 7}, {8, 7, 8, 7}, }, { {7, 7, 7, 7}, {8, 7, 8, 7}, {7, 8, 7, 7}, {8, 7, 8, 7}, }, { {7, 7, 7, 8}, {8, 7, 8, 7}, {7, 8, 7, 8}, {8, 7, 8, 7}, }, { {7, 8, 7, 8}, {8, 7, 8, 7}, {7, 8, 7, 8}, {8, 8, 8, 7}, }, { {7, 8, 7, 8}, {8, 7, 8, 8}, {7, 8, 7, 8}, {8, 8, 8, 8}, }, { {7, 8, 7, 8}, {8, 8, 8, 8}, {7, 8, 7, 8}, {8, 8, 8, 8}, }, { {7, 8, 8, 8}, {8, 8, 8, 8}, {8, 8, 7, 8}, {8, 8, 8, 8}, }, { {8, 8, 8, 8}, {8, 8, 8, 8}, {8, 8, 8, 8}, {8, 8, 8, 8}, }, { {8, 8, 8, 8}, {8, 8, 9, 8}, {8, 8, 8, 8}, {9, 8, 8, 8}, }, { {8, 8, 8, 8}, {9, 8, 9, 8}, {8, 8, 8, 8}, {9, 8, 9, 8}, }, { {8, 8, 8, 9}, {9, 8, 9, 8}, {8, 9, 8, 8}, {9, 8, 9, 8}, }, { {8, 9, 8, 9}, {9, 8, 9, 8}, {8, 9, 8, 9}, {9, 8, 9, 8}, }, { {8, 9, 8, 9}, {9, 8, 9, 9}, {8, 9, 8, 9}, {9, 9, 9, 8}, }, { {8, 9, 8, 9}, {9, 9, 9, 9}, {8, 9, 8, 9}, {9, 9, 9, 9}, }, { {8, 9, 9, 9}, {9, 9, 9, 9}, {9, 9, 8, 9}, {9, 9, 9, 9}, }, { {9, 9, 9, 9}, {9, 9, 9, 9}, {9, 9, 9, 9}, {9, 9, 9, 9}, }, { {9, 9, 9, 9}, {9, 9, 10, 9}, {9, 9, 9, 9}, {10, 9, 9, 9}, }, { {9, 9, 9, 9}, {10, 9, 10, 9}, {9, 9, 9, 9}, {10, 9, 10, 9}, }, { {9, 9, 9, 10}, {10, 9, 10, 9}, {9, 10, 9, 9}, {10, 9, 10, 9}, }, { {9, 10, 9, 10}, {10, 9, 10, 9}, {9, 10, 9, 10}, {10, 9, 10, 9}, }, { {9, 10, 9, 10}, {10, 9, 10, 10}, {9, 10, 9, 10}, {10, 10, 10, 9}, }, { {9, 10, 9, 10}, {10, 9, 10, 10}, {9, 10, 9, 10}, {10, 10, 10, 10}, }, { {9, 10, 9, 10}, {10, 10, 10, 10}, {10, 10, 9, 10}, {10, 10, 10, 10}, }, { {9, 10, 10, 10}, {10, 10, 10, 10}, {10, 10, 10, 10}, {10, 10, 10, 10}, }, { {10, 10, 10, 10}, {10, 10, 10, 10}, {10, 10, 10, 10}, {11, 10, 10, 10}, }, { {10, 10, 10, 10}, {10, 10, 11, 10}, {10, 10, 10, 10}, {11, 10, 11, 10}, }, { {10, 10, 10, 10}, {11, 10, 11, 10}, {10, 11, 10, 10}, {11, 10, 11, 10}, }, { {10, 10, 10, 11}, {11, 10, 11, 10}, {10, 11, 10, 11}, {11, 10, 11, 10}, }, { {10, 11, 10, 11}, {11, 10, 11, 10}, {10, 11, 10, 11}, {11, 11, 11, 10}, }, { {10, 11, 10, 11}, {11, 10, 11, 11}, {10, 11, 10, 11}, {11, 11, 11, 11}, }, { {10, 11, 10, 11}, {11, 11, 11, 11}, {11, 11, 10, 11}, {11, 11, 11, 11}, }, { {10, 11, 11, 11}, {11, 11, 11, 11}, {11, 11, 11, 11}, {11, 11, 11, 11}, }, { {11, 11, 11, 11}, {11, 11, 11, 11}, {11, 11, 11, 11}, {12, 11, 11, 11}, }, { {11, 11, 11, 11}, {11, 11, 12, 11}, {11, 11, 11, 11}, {12, 11, 12, 11}, }, { {11, 11, 11, 11}, {12, 11, 12, 11}, {11, 12, 11, 11}, {12, 11, 12, 11}, }, { {11, 11, 11, 12}, {12, 11, 12, 11}, {11, 12, 11, 12}, {12, 11, 12, 11}, }, { {11, 12, 11, 12}, {12, 11, 12, 11}, {11, 12, 11, 12}, {12, 12, 12, 11}, }, { {11, 12, 11, 12}, {12, 11, 12, 12}, {11, 12, 11, 12}, {12, 12, 12, 11}, }, { {11, 12, 11, 12}, {12, 12, 12, 12}, {11, 12, 11, 12}, {12, 12, 12, 12}, }, { {11, 12, 12, 12}, {12, 12, 12, 12}, {12, 12, 11, 12}, {12, 12, 12, 12}, }, { {12, 12, 12, 12}, {12, 12, 12, 12}, {12, 12, 12, 12}, {12, 12, 12, 12}, }, { {12, 12, 12, 12}, {12, 12, 13, 12}, {12, 12, 12, 12}, {13, 12, 12, 12}, }, { {12, 12, 12, 12}, {13, 12, 13, 12}, {12, 12, 12, 12}, {13, 12, 13, 12}, }, { {12, 12, 12, 13}, {13, 12, 13, 12}, {12, 13, 12, 12}, {13, 12, 13, 12}, }, { {12, 13, 12, 13}, {13, 12, 13, 12}, {12, 13, 12, 13}, {13, 12, 13, 12}, }, { {12, 13, 12, 13}, {13, 12, 13, 13}, {12, 13, 12, 13}, {13, 13, 13, 12}, }, { {12, 13, 12, 13}, {13, 13, 13, 13}, {12, 13, 12, 13}, {13, 13, 13, 13}, }, { {12, 13, 13, 13}, {13, 13, 13, 13}, {13, 13, 12, 13}, {13, 13, 13, 13}, }, { {13, 13, 13, 13}, {13, 13, 13, 13}, {13, 13, 13, 13}, {13, 13, 13, 13}, }, { {13, 13, 13, 13}, {13, 13, 14, 13}, {13, 13, 13, 13}, {14, 13, 13, 13}, }, { {13, 13, 13, 13}, {14, 13, 14, 13}, {13, 13, 13, 13}, {14, 13, 14, 13}, }, { {13, 13, 13, 14}, {14, 13, 14, 13}, {13, 14, 13, 13}, {14, 13, 14, 13}, }, { {13, 14, 13, 14}, {14, 13, 14, 13}, {13, 14, 13, 14}, {14, 13, 14, 13}, }, { {13, 14, 13, 14}, {14, 13, 14, 13}, {13, 14, 13, 14}, {14, 14, 14, 13}, }, { {13, 14, 13, 14}, {14, 13, 14, 14}, {13, 14, 13, 14}, {14, 14, 14, 14}, }, { {13, 14, 13, 14}, {14, 14, 14, 14}, {14, 14, 13, 14}, {14, 14, 14, 14}, }, { {13, 14, 14, 14}, {14, 14, 14, 14}, {14, 14, 14, 14}, {14, 14, 14, 14}, }, { {14, 14, 14, 14}, {14, 14, 14, 14}, {14, 14, 14, 14}, {15, 14, 14, 14}, }, { {14, 14, 14, 14}, {14, 14, 15, 14}, {14, 14, 14, 14}, {15, 14, 15, 14}, }, { {14, 14, 14, 14}, {15, 14, 15, 14}, {14, 15, 14, 14}, {15, 14, 15, 14}, }, { {14, 14, 14, 15}, {15, 14, 15, 14}, {14, 15, 14, 15}, {15, 14, 15, 14}, }, { {14, 15, 14, 15}, {15, 14, 15, 14}, {14, 15, 14, 15}, {15, 15, 15, 14}, }, { {14, 15, 14, 15}, {15, 14, 15, 15}, {14, 15, 14, 15}, {15, 15, 15, 15}, }, { {14, 15, 14, 15}, {15, 15, 15, 15}, {15, 15, 14, 15}, {15, 15, 15, 15}, }, { {14, 15, 15, 15}, {15, 15, 15, 15}, {15, 15, 15, 15}, {15, 15, 15, 15}, }, { {15, 15, 15, 15}, {15, 15, 15, 15}, {15, 15, 15, 15}, {16, 15, 15, 15}, }, { {15, 15, 15, 15}, {15, 15, 16, 15}, {15, 15, 15, 15}, {16, 15, 16, 15}, }, { {15, 15, 15, 15}, {16, 15, 16, 15}, {15, 16, 15, 15}, {16, 15, 16, 15}, }, { {15, 15, 15, 16}, {16, 15, 16, 15}, {15, 16, 15, 16}, {16, 15, 16, 15}, }, { {15, 16, 15, 16}, {16, 15, 16, 15}, {15, 16, 15, 16}, {16, 16, 16, 15}, }, { {15, 16, 15, 16}, {16, 15, 16, 16}, {15, 16, 15, 16}, {16, 16, 16, 16}, }, { {15, 16, 15, 16}, {16, 16, 16, 16}, {16, 16, 15, 16}, {16, 16, 16, 16}, }, { {15, 16, 16, 16}, {16, 16, 16, 16}, {16, 16, 16, 16}, {16, 16, 16, 16}, }, { {16, 16, 16, 16}, {16, 16, 16, 16}, {16, 16, 16, 16}, {17, 16, 16, 16}, }, { {16, 16, 16, 16}, {16, 16, 17, 16}, {16, 16, 16, 16}, {17, 16, 17, 16}, }, { {16, 16, 16, 16}, {17, 16, 17, 16}, {16, 17, 16, 16}, {17, 16, 17, 16}, }, { {16, 16, 16, 17}, {17, 16, 17, 16}, {16, 17, 16, 17}, {17, 16, 17, 16}, }, { {16, 17, 16, 17}, {17, 16, 17, 16}, {16, 17, 16, 17}, {17, 17, 17, 16}, }, { {16, 17, 16, 17}, {17, 16, 17, 17}, {16, 17, 16, 17}, {17, 17, 17, 17}, }, { {16, 17, 16, 17}, {17, 17, 17, 17}, {17, 17, 16, 17}, {17, 17, 17, 17}, }, { {16, 17, 17, 17}, {17, 17, 17, 17}, {17, 17, 17, 17}, {17, 17, 17, 17}, }, { {17, 17, 17, 17}, {17, 17, 17, 17}, {17, 17, 17, 17}, {18, 17, 17, 17}, }, { {17, 17, 17, 17}, {17, 17, 18, 17}, {17, 17, 17, 17}, {18, 17, 18, 17}, }, { {17, 17, 17, 17}, {18, 17, 18, 17}, {17, 18, 17, 17}, {18, 17, 18, 17}, }, { {17, 17, 17, 18}, {18, 17, 18, 17}, {17, 18, 17, 18}, {18, 17, 18, 17}, }, { {17, 18, 17, 18}, {18, 17, 18, 17}, {17, 18, 17, 18}, {18, 17, 18, 17}, }, { {17, 18, 17, 18}, {18, 17, 18, 18}, {17, 18, 17, 18}, {18, 18, 18, 17}, }, { {17, 18, 17, 18}, {18, 18, 18, 18}, {17, 18, 17, 18}, {18, 18, 18, 18}, }, { {17, 18, 18, 18}, {18, 18, 18, 18}, {18, 18, 17, 18}, {18, 18, 18, 18}, }, { {18, 18, 18, 18}, {18, 18, 18, 18}, {18, 18, 18, 18}, {18, 18, 18, 18}, }, { {18, 18, 18, 18}, {18, 18, 19, 18}, {18, 18, 18, 18}, {19, 18, 18, 18}, }, { {18, 18, 18, 18}, {19, 18, 19, 18}, {18, 18, 18, 18}, {19, 18, 19, 18}, }, { {18, 18, 18, 19}, {19, 18, 19, 18}, {18, 19, 18, 18}, {19, 18, 19, 18}, }, { {18, 19, 18, 19}, {19, 18, 19, 18}, {18, 19, 18, 19}, {19, 18, 19, 18}, }, { {18, 19, 18, 19}, {19, 18, 19, 19}, {18, 19, 18, 19}, {19, 19, 19, 18}, }, { {18, 19, 18, 19}, {19, 19, 19, 19}, {18, 19, 18, 19}, {19, 19, 19, 19}, }, { {18, 19, 19, 19}, {19, 19, 19, 19}, {19, 19, 18, 19}, {19, 19, 19, 19}, }, { {19, 19, 19, 19}, {19, 19, 19, 19}, {19, 19, 19, 19}, {19, 19, 19, 19}, }, { {19, 19, 19, 19}, {19, 19, 20, 19}, {19, 19, 19, 19}, {20, 19, 19, 19}, }, { {19, 19, 19, 19}, {20, 19, 20, 19}, {19, 19, 19, 19}, {20, 19, 20, 19}, }, { {19, 19, 19, 20}, {20, 19, 20, 19}, {19, 20, 19, 19}, {20, 19, 20, 19}, }, { {19, 19, 19, 20}, {20, 19, 20, 19}, {19, 20, 19, 20}, {20, 19, 20, 19}, }, { {19, 20, 19, 20}, {20, 19, 20, 19}, {19, 20, 19, 20}, {20, 20, 20, 19}, }, { {19, 20, 19, 20}, {20, 19, 20, 20}, {19, 20, 19, 20}, {20, 20, 20, 20}, }, { {19, 20, 19, 20}, {20, 20, 20, 20}, {20, 20, 19, 20}, {20, 20, 20, 20}, }, { {19, 20, 20, 20}, {20, 20, 20, 20}, {20, 20, 20, 20}, {20, 20, 20, 20}, }, { {20, 20, 20, 20}, {20, 20, 20, 20}, {20, 20, 20, 20}, {21, 20, 20, 20}, }, { {20, 20, 20, 20}, {20, 20, 21, 20}, {20, 20, 20, 20}, {21, 20, 21, 20}, }, { {20, 20, 20, 20}, {21, 20, 21, 20}, {20, 21, 20, 20}, {21, 20, 21, 20}, }, { {20, 20, 20, 21}, {21, 20, 21, 20}, {20, 21, 20, 21}, {21, 20, 21, 20}, }, { {20, 21, 20, 21}, {21, 20, 21, 20}, {20, 21, 20, 21}, {21, 21, 21, 20}, }, { {20, 21, 20, 21}, {21, 20, 21, 21}, {20, 21, 20, 21}, {21, 21, 21, 21}, }, { {20, 21, 20, 21}, {21, 21, 21, 21}, {21, 21, 20, 21}, {21, 21, 21, 21}, }, { {20, 21, 21, 21}, {21, 21, 21, 21}, {21, 21, 21, 21}, {21, 21, 21, 21}, }, { {21, 21, 21, 21}, {21, 21, 21, 21}, {21, 21, 21, 21}, {22, 21, 21, 21}, }, { {21, 21, 21, 21}, {21, 21, 22, 21}, {21, 21, 21, 21}, {22, 21, 22, 21}, }, { {21, 21, 21, 21}, {22, 21, 22, 21}, {21, 22, 21, 21}, {22, 21, 22, 21}, }, { {21, 21, 21, 22}, {22, 21, 22, 21}, {21, 22, 21, 21}, {22, 21, 22, 21}, }, { {21, 22, 21, 22}, {22, 21, 22, 21}, {21, 22, 21, 22}, {22, 21, 22, 21}, }, { {21, 22, 21, 22}, {22, 21, 22, 22}, {21, 22, 21, 22}, {22, 22, 22, 21}, }, { {21, 22, 21, 22}, {22, 22, 22, 22}, {21, 22, 21, 22}, {22, 22, 22, 22}, }, { {21, 22, 22, 22}, {22, 22, 22, 22}, {22, 22, 21, 22}, {22, 22, 22, 22}, }, { {22, 22, 22, 22}, {22, 22, 22, 22}, {22, 22, 22, 22}, {22, 22, 22, 22}, }, { {22, 22, 22, 22}, {22, 22, 23, 22}, {22, 22, 22, 22}, {23, 22, 22, 22}, }, { {22, 22, 22, 22}, {23, 22, 23, 22}, {22, 22, 22, 22}, {23, 22, 23, 22}, }, { {22, 22, 22, 23}, {23, 22, 23, 22}, {22, 23, 22, 22}, {23, 22, 23, 22}, }, { {22, 23, 22, 23}, {23, 22, 23, 22}, {22, 23, 22, 23}, {23, 22, 23, 22}, }, { {22, 23, 22, 23}, {23, 22, 23, 23}, {22, 23, 22, 23}, {23, 23, 23, 22}, }, { {22, 23, 22, 23}, {23, 23, 23, 23}, {22, 23, 22, 23}, {23, 23, 23, 23}, }, { {22, 23, 23, 23}, {23, 23, 23, 23}, {23, 23, 22, 23}, {23, 23, 23, 23}, }, { {23, 23, 23, 23}, {23, 23, 23, 23}, {23, 23, 23, 23}, {23, 23, 23, 23}, }, { {23, 23, 23, 23}, {23, 23, 24, 23}, {23, 23, 23, 23}, {24, 23, 23, 23}, }, { {23, 23, 23, 23}, {24, 23, 24, 23}, {23, 23, 23, 23}, {24, 23, 24, 23}, }, { {23, 23, 23, 23}, {24, 23, 24, 23}, {23, 24, 23, 23}, {24, 23, 24, 23}, }, { {23, 23, 23, 24}, {24, 23, 24, 23}, {23, 24, 23, 24}, {24, 23, 24, 23}, }, { {23, 24, 23, 24}, {24, 23, 24, 23}, {23, 24, 23, 24}, {24, 24, 24, 23}, }, { {23, 24, 23, 24}, {24, 23, 24, 24}, {23, 24, 23, 24}, {24, 24, 24, 24}, }, { {23, 24, 23, 24}, {24, 24, 24, 24}, {24, 24, 23, 24}, {24, 24, 24, 24}, }, { {23, 24, 24, 24}, {24, 24, 24, 24}, {24, 24, 24, 24}, {24, 24, 24, 24}, }, { {24, 24, 24, 24}, {24, 24, 24, 24}, {24, 24, 24, 24}, {25, 24, 24, 24}, }, { {24, 24, 24, 24}, {24, 24, 25, 24}, {24, 24, 24, 24}, {25, 24, 25, 24}, }, { {24, 24, 24, 24}, {25, 24, 25, 24}, {24, 25, 24, 24}, {25, 24, 25, 24}, }, { {24, 24, 24, 25}, {25, 24, 25, 24}, {24, 25, 24, 25}, {25, 24, 25, 24}, }, { {24, 25, 24, 25}, {25, 24, 25, 24}, {24, 25, 24, 25}, {25, 25, 25, 24}, }, { {24, 25, 24, 25}, {25, 24, 25, 25}, {24, 25, 24, 25}, {25, 25, 25, 25}, }, { {24, 25, 24, 25}, {25, 25, 25, 25}, {25, 25, 24, 25}, {25, 25, 25, 25}, }, { {24, 25, 25, 25}, {25, 25, 25, 25}, {25, 25, 25, 25}, {25, 25, 25, 25}, }, { {25, 25, 25, 25}, {25, 25, 25, 25}, {25, 25, 25, 25}, {26, 25, 25, 25}, }, { {25, 25, 25, 25}, {25, 25, 26, 25}, {25, 25, 25, 25}, {26, 25, 26, 25}, }, { {25, 25, 25, 25}, {26, 25, 26, 25}, {25, 25, 25, 25}, {26, 25, 26, 25}, }, { {25, 25, 25, 26}, {26, 25, 26, 25}, {25, 26, 25, 25}, {26, 25, 26, 25}, }, { {25, 26, 25, 26}, {26, 25, 26, 25}, {25, 26, 25, 26}, {26, 25, 26, 25}, }, { {25, 26, 25, 26}, {26, 25, 26, 26}, {25, 26, 25, 26}, {26, 26, 26, 25}, }, { {25, 26, 25, 26}, {26, 26, 26, 26}, {25, 26, 25, 26}, {26, 26, 26, 26}, }, { {25, 26, 26, 26}, {26, 26, 26, 26}, {26, 26, 25, 26}, {26, 26, 26, 26}, }, { {26, 26, 26, 26}, {26, 26, 26, 26}, {26, 26, 26, 26}, {26, 26, 26, 26}, }, { {26, 26, 26, 26}, {26, 26, 27, 26}, {26, 26, 26, 26}, {27, 26, 26, 26}, }, { {26, 26, 26, 26}, {27, 26, 27, 26}, {26, 26, 26, 26}, {27, 26, 27, 26}, }, { {26, 26, 26, 27}, {27, 26, 27, 26}, {26, 27, 26, 26}, {27, 26, 27, 26}, }, { {26, 27, 26, 27}, {27, 26, 27, 26}, {26, 27, 26, 27}, {27, 26, 27, 26}, }, { {26, 27, 26, 27}, {27, 26, 27, 27}, {26, 27, 26, 27}, {27, 27, 27, 26}, }, { {26, 27, 26, 27}, {27, 27, 27, 27}, {26, 27, 26, 27}, {27, 27, 27, 27}, }, { {26, 27, 27, 27}, {27, 27, 27, 27}, {27, 27, 26, 27}, {27, 27, 27, 27}, }, { {27, 27, 27, 27}, {27, 27, 27, 27}, {27, 27, 27, 27}, {27, 27, 27, 27}, }, { {27, 27, 27, 27}, {27, 27, 28, 27}, {27, 27, 27, 27}, {28, 27, 27, 27}, }, { {27, 27, 27, 27}, {27, 27, 28, 27}, {27, 27, 27, 27}, {28, 27, 28, 27}, }, { {27, 27, 27, 27}, {28, 27, 28, 27}, {27, 28, 27, 27}, {28, 27, 28, 27}, }, { {27, 27, 27, 28}, {28, 27, 28, 27}, {27, 28, 27, 28}, {28, 27, 28, 27}, }, { {27, 28, 27, 28}, {28, 27, 28, 27}, {27, 28, 27, 28}, {28, 28, 28, 27}, }, { {27, 28, 27, 28}, {28, 27, 28, 28}, {27, 28, 27, 28}, {28, 28, 28, 28}, }, { {27, 28, 27, 28}, {28, 28, 28, 28}, {28, 28, 27, 28}, {28, 28, 28, 28}, }, { {27, 28, 28, 28}, {28, 28, 28, 28}, {28, 28, 28, 28}, {28, 28, 28, 28}, }, { {28, 28, 28, 28}, {28, 28, 28, 28}, {28, 28, 28, 28}, {29, 28, 28, 28}, }, { {28, 28, 28, 28}, {28, 28, 29, 28}, {28, 28, 28, 28}, {29, 28, 29, 28}, }, { {28, 28, 28, 28}, {29, 28, 29, 28}, {28, 29, 28, 28}, {29, 28, 29, 28}, }, { {28, 28, 28, 29}, {29, 28, 29, 28}, {28, 29, 28, 29}, {29, 28, 29, 28}, }, { {28, 29, 28, 29}, {29, 28, 29, 28}, {28, 29, 28, 29}, {29, 29, 29, 28}, }, { {28, 29, 28, 29}, {29, 28, 29, 29}, {28, 29, 28, 29}, {29, 29, 29, 29}, }, { {28, 29, 28, 29}, {29, 29, 29, 29}, {29, 29, 28, 29}, {29, 29, 29, 29}, }, { {28, 29, 29, 29}, {29, 29, 29, 29}, {29, 29, 29, 29}, {29, 29, 29, 29}, }, { {29, 29, 29, 29}, {29, 29, 29, 29}, {29, 29, 29, 29}, {30, 29, 29, 29}, }, { {29, 29, 29, 29}, {29, 29, 30, 29}, {29, 29, 29, 29}, {30, 29, 29, 29}, }, { {29, 29, 29, 29}, {30, 29, 30, 29}, {29, 29, 29, 29}, {30, 29, 30, 29}, }, { {29, 29, 29, 30}, {30, 29, 30, 29}, {29, 30, 29, 29}, {30, 29, 30, 29}, }, { {29, 30, 29, 30}, {30, 29, 30, 29}, {29, 30, 29, 30}, {30, 29, 30, 29}, }, { {29, 30, 29, 30}, {30, 29, 30, 30}, {29, 30, 29, 30}, {30, 30, 30, 29}, }, { {29, 30, 29, 30}, {30, 30, 30, 30}, {29, 30, 29, 30}, {30, 30, 30, 30}, }, { {29, 30, 30, 30}, {30, 30, 30, 30}, {30, 30, 29, 30}, {30, 30, 30, 30}, }, { {30, 30, 30, 30}, {30, 30, 30, 30}, {30, 30, 30, 30}, {30, 30, 30, 30}, }, { {30, 30, 30, 30}, {30, 30, 31, 30}, {30, 30, 30, 30}, {31, 30, 30, 30}, }, { {30, 30, 30, 30}, {31, 30, 31, 30}, {30, 30, 30, 30}, {31, 30, 31, 30}, }, { {30, 30, 30, 31}, {31, 30, 31, 30}, {30, 31, 30, 30}, {31, 30, 31, 30}, }, { {30, 31, 30, 31}, {31, 30, 31, 30}, {30, 31, 30, 31}, {31, 30, 31, 30}, }, { {30, 31, 30, 31}, {31, 30, 31, 31}, {30, 31, 30, 31}, {31, 31, 31, 30}, }, { {30, 31, 30, 31}, {31, 31, 31, 31}, {30, 31, 30, 31}, {31, 31, 31, 31}, }, { {30, 31, 31, 31}, {31, 31, 31, 31}, {31, 31, 30, 31}, {31, 31, 31, 31}, }, { {31, 31, 31, 31}, {31, 31, 31, 31}, {31, 31, 31, 31}, {31, 31, 31, 31}, }, }; static const uint8_t dither_g[256][4][4] = { { {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, }, { {0, 0, 0, 0}, {1, 0, 1, 0}, {0, 0, 0, 0}, {1, 0, 1, 0}, }, { {0, 1, 0, 1}, {1, 0, 1, 0}, {0, 1, 0, 1}, {1, 0, 1, 0}, }, { {0, 1, 0, 1}, {1, 1, 1, 1}, {0, 1, 0, 1}, {1, 1, 1, 1}, }, { {1, 1, 1, 1}, {1, 1, 1, 1}, {1, 1, 1, 1}, {1, 1, 1, 1}, }, { {1, 1, 1, 1}, {2, 1, 2, 1}, {1, 1, 1, 1}, {2, 1, 2, 1}, }, { {1, 2, 1, 2}, {2, 1, 2, 1}, {1, 2, 1, 2}, {2, 1, 2, 1}, }, { {1, 2, 1, 2}, {2, 2, 2, 2}, {1, 2, 1, 2}, {2, 2, 2, 2}, }, { {2, 2, 2, 2}, {2, 2, 2, 2}, {2, 2, 2, 2}, {2, 2, 2, 2}, }, { {2, 2, 2, 2}, {3, 2, 3, 2}, {2, 2, 2, 2}, {3, 2, 3, 2}, }, { {2, 3, 2, 3}, {3, 2, 3, 2}, {2, 3, 2, 3}, {3, 2, 3, 2}, }, { {2, 3, 2, 3}, {3, 3, 3, 3}, {2, 3, 2, 3}, {3, 3, 3, 3}, }, { {3, 3, 3, 3}, {3, 3, 3, 3}, {3, 3, 3, 3}, {3, 3, 3, 3}, }, { {3, 3, 3, 3}, {4, 3, 4, 3}, {3, 3, 3, 3}, {4, 3, 4, 3}, }, { {3, 4, 3, 4}, {4, 3, 4, 3}, {3, 4, 3, 4}, {4, 3, 4, 3}, }, { {3, 4, 3, 4}, {4, 4, 4, 4}, {3, 4, 3, 4}, {4, 4, 4, 4}, }, { {3, 4, 4, 4}, {4, 4, 4, 4}, {4, 4, 4, 4}, {4, 4, 4, 4}, }, { {4, 4, 4, 4}, {4, 4, 5, 4}, {4, 4, 4, 4}, {5, 4, 5, 4}, }, { {4, 4, 4, 5}, {5, 4, 5, 4}, {4, 5, 4, 5}, {5, 4, 5, 4}, }, { {4, 5, 4, 5}, {5, 4, 5, 5}, {4, 5, 4, 5}, {5, 5, 5, 5}, }, { {4, 5, 5, 5}, {5, 5, 5, 5}, {5, 5, 5, 5}, {5, 5, 5, 5}, }, { {5, 5, 5, 5}, {5, 5, 6, 5}, {5, 5, 5, 5}, {6, 5, 6, 5}, }, { {5, 5, 5, 6}, {6, 5, 6, 5}, {5, 6, 5, 6}, {6, 5, 6, 5}, }, { {5, 6, 5, 6}, {6, 5, 6, 6}, {5, 6, 5, 6}, {6, 6, 6, 6}, }, { {5, 6, 6, 6}, {6, 6, 6, 6}, {6, 6, 6, 6}, {6, 6, 6, 6}, }, { {6, 6, 6, 6}, {6, 6, 7, 6}, {6, 6, 6, 6}, {7, 6, 7, 6}, }, { {6, 6, 6, 7}, {7, 6, 7, 6}, {6, 7, 6, 7}, {7, 6, 7, 6}, }, { {6, 7, 6, 7}, {7, 6, 7, 7}, {6, 7, 6, 7}, {7, 7, 7, 7}, }, { {6, 7, 7, 7}, {7, 7, 7, 7}, {7, 7, 7, 7}, {7, 7, 7, 7}, }, { {7, 7, 7, 7}, {7, 7, 8, 7}, {7, 7, 7, 7}, {8, 7, 8, 7}, }, { {7, 7, 7, 8}, {8, 7, 8, 7}, {7, 8, 7, 8}, {8, 7, 8, 7}, }, { {7, 8, 7, 8}, {8, 7, 8, 8}, {7, 8, 7, 8}, {8, 8, 8, 8}, }, { {7, 8, 8, 8}, {8, 8, 8, 8}, {8, 8, 7, 8}, {8, 8, 8, 8}, }, { {8, 8, 8, 8}, {8, 8, 9, 8}, {8, 8, 8, 8}, {9, 8, 8, 8}, }, { {8, 8, 8, 9}, {9, 8, 9, 8}, {8, 9, 8, 8}, {9, 8, 9, 8}, }, { {8, 9, 8, 9}, {9, 8, 9, 9}, {8, 9, 8, 9}, {9, 9, 9, 8}, }, { {8, 9, 9, 9}, {9, 9, 9, 9}, {9, 9, 8, 9}, {9, 9, 9, 9}, }, { {9, 9, 9, 9}, {9, 9, 10, 9}, {9, 9, 9, 9}, {10, 9, 9, 9}, }, { {9, 9, 9, 10}, {10, 9, 10, 9}, {9, 10, 9, 9}, {10, 9, 10, 9}, }, { {9, 10, 9, 10}, {10, 9, 10, 10}, {9, 10, 9, 10}, {10, 10, 10, 9}, }, { {9, 10, 10, 10}, {10, 10, 10, 10}, {10, 10, 9, 10}, {10, 10, 10, 10}, }, { {10, 10, 10, 10}, {10, 10, 11, 10}, {10, 10, 10, 10}, {11, 10, 10, 10}, }, { {10, 10, 10, 11}, {11, 10, 11, 10}, {10, 11, 10, 10}, {11, 10, 11, 10}, }, { {10, 11, 10, 11}, {11, 10, 11, 11}, {10, 11, 10, 11}, {11, 11, 11, 10}, }, { {10, 11, 11, 11}, {11, 11, 11, 11}, {11, 11, 10, 11}, {11, 11, 11, 11}, }, { {11, 11, 11, 11}, {11, 11, 12, 11}, {11, 11, 11, 11}, {12, 11, 11, 11}, }, { {11, 11, 11, 12}, {12, 11, 12, 11}, {11, 12, 11, 11}, {12, 11, 12, 11}, }, { {11, 12, 11, 12}, {12, 11, 12, 12}, {11, 12, 11, 12}, {12, 12, 12, 11}, }, { {11, 12, 11, 12}, {12, 12, 12, 12}, {12, 12, 11, 12}, {12, 12, 12, 12}, }, { {12, 12, 12, 12}, {12, 12, 12, 12}, {12, 12, 12, 12}, {13, 12, 12, 12}, }, { {12, 12, 12, 12}, {13, 12, 13, 12}, {12, 13, 12, 12}, {13, 12, 13, 12}, }, { {12, 13, 12, 13}, {13, 12, 13, 12}, {12, 13, 12, 13}, {13, 13, 13, 12}, }, { {12, 13, 12, 13}, {13, 13, 13, 13}, {13, 13, 12, 13}, {13, 13, 13, 13}, }, { {13, 13, 13, 13}, {13, 13, 13, 13}, {13, 13, 13, 13}, {14, 13, 13, 13}, }, { {13, 13, 13, 13}, {14, 13, 14, 13}, {13, 14, 13, 13}, {14, 13, 14, 13}, }, { {13, 14, 13, 14}, {14, 13, 14, 13}, {13, 14, 13, 14}, {14, 14, 14, 13}, }, { {13, 14, 13, 14}, {14, 14, 14, 14}, {14, 14, 13, 14}, {14, 14, 14, 14}, }, { {14, 14, 14, 14}, {14, 14, 14, 14}, {14, 14, 14, 14}, {15, 14, 14, 14}, }, { {14, 14, 14, 14}, {15, 14, 15, 14}, {14, 15, 14, 14}, {15, 14, 15, 14}, }, { {14, 15, 14, 15}, {15, 14, 15, 14}, {14, 15, 14, 15}, {15, 15, 15, 14}, }, { {14, 15, 14, 15}, {15, 15, 15, 15}, {15, 15, 14, 15}, {15, 15, 15, 15}, }, { {15, 15, 15, 15}, {15, 15, 15, 15}, {15, 15, 15, 15}, {16, 15, 15, 15}, }, { {15, 15, 15, 15}, {16, 15, 16, 15}, {15, 16, 15, 15}, {16, 15, 16, 15}, }, { {15, 16, 15, 16}, {16, 15, 16, 15}, {15, 16, 15, 16}, {16, 16, 16, 15}, }, { {15, 16, 15, 16}, {16, 16, 16, 16}, {16, 16, 15, 16}, {16, 16, 16, 16}, }, { {16, 16, 16, 16}, {16, 16, 16, 16}, {16, 16, 16, 16}, {17, 16, 16, 16}, }, { {16, 16, 16, 16}, {17, 16, 17, 16}, {16, 17, 16, 16}, {17, 16, 17, 16}, }, { {16, 17, 16, 17}, {17, 16, 17, 16}, {16, 17, 16, 17}, {17, 17, 17, 16}, }, { {16, 17, 16, 17}, {17, 17, 17, 17}, {17, 17, 16, 17}, {17, 17, 17, 17}, }, { {17, 17, 17, 17}, {17, 17, 17, 17}, {17, 17, 17, 17}, {18, 17, 17, 17}, }, { {17, 17, 17, 17}, {18, 17, 18, 17}, {17, 18, 17, 17}, {18, 17, 18, 17}, }, { {17, 18, 17, 18}, {18, 17, 18, 17}, {17, 18, 17, 18}, {18, 18, 18, 17}, }, { {17, 18, 17, 18}, {18, 18, 18, 18}, {18, 18, 17, 18}, {18, 18, 18, 18}, }, { {18, 18, 18, 18}, {18, 18, 18, 18}, {18, 18, 18, 18}, {19, 18, 18, 18}, }, { {18, 18, 18, 18}, {19, 18, 19, 18}, {18, 19, 18, 18}, {19, 18, 19, 18}, }, { {18, 19, 18, 19}, {19, 18, 19, 18}, {18, 19, 18, 19}, {19, 19, 19, 18}, }, { {18, 19, 18, 19}, {19, 19, 19, 19}, {19, 19, 18, 19}, {19, 19, 19, 19}, }, { {19, 19, 19, 19}, {19, 19, 19, 19}, {19, 19, 19, 19}, {20, 19, 19, 19}, }, { {19, 19, 19, 19}, {20, 19, 20, 19}, {19, 20, 19, 19}, {20, 19, 20, 19}, }, { {19, 20, 19, 20}, {20, 19, 20, 19}, {19, 20, 19, 20}, {20, 20, 20, 19}, }, { {19, 20, 19, 20}, {20, 20, 20, 20}, {19, 20, 19, 20}, {20, 20, 20, 20}, }, { {20, 20, 20, 20}, {20, 20, 20, 20}, {20, 20, 20, 20}, {20, 20, 20, 20}, }, { {20, 20, 20, 20}, {21, 20, 21, 20}, {20, 20, 20, 20}, {21, 20, 21, 20}, }, { {20, 21, 20, 21}, {21, 20, 21, 20}, {20, 21, 20, 21}, {21, 20, 21, 20}, }, { {20, 21, 20, 21}, {21, 21, 21, 21}, {20, 21, 20, 21}, {21, 21, 21, 21}, }, { {21, 21, 21, 21}, {21, 21, 21, 21}, {21, 21, 21, 21}, {21, 21, 21, 21}, }, { {21, 21, 21, 21}, {22, 21, 22, 21}, {21, 21, 21, 21}, {22, 21, 22, 21}, }, { {21, 22, 21, 22}, {22, 21, 22, 21}, {21, 22, 21, 22}, {22, 21, 22, 21}, }, { {21, 22, 21, 22}, {22, 22, 22, 22}, {21, 22, 21, 22}, {22, 22, 22, 22}, }, { {22, 22, 22, 22}, {22, 22, 22, 22}, {22, 22, 22, 22}, {22, 22, 22, 22}, }, { {22, 22, 22, 22}, {23, 22, 23, 22}, {22, 22, 22, 22}, {23, 22, 23, 22}, }, { {22, 23, 22, 23}, {23, 22, 23, 22}, {22, 23, 22, 23}, {23, 22, 23, 22}, }, { {22, 23, 22, 23}, {23, 23, 23, 23}, {22, 23, 22, 23}, {23, 23, 23, 23}, }, { {23, 23, 23, 23}, {23, 23, 23, 23}, {23, 23, 23, 23}, {23, 23, 23, 23}, }, { {23, 23, 23, 23}, {24, 23, 24, 23}, {23, 23, 23, 23}, {24, 23, 24, 23}, }, { {23, 24, 23, 24}, {24, 23, 24, 23}, {23, 24, 23, 24}, {24, 23, 24, 23}, }, { {23, 24, 23, 24}, {24, 23, 24, 24}, {23, 24, 23, 24}, {24, 24, 24, 24}, }, { {23, 24, 24, 24}, {24, 24, 24, 24}, {24, 24, 24, 24}, {24, 24, 24, 24}, }, { {24, 24, 24, 24}, {24, 24, 25, 24}, {24, 24, 24, 24}, {25, 24, 25, 24}, }, { {24, 24, 24, 25}, {25, 24, 25, 24}, {24, 25, 24, 25}, {25, 24, 25, 24}, }, { {24, 25, 24, 25}, {25, 24, 25, 25}, {24, 25, 24, 25}, {25, 25, 25, 25}, }, { {24, 25, 25, 25}, {25, 25, 25, 25}, {25, 25, 25, 25}, {25, 25, 25, 25}, }, { {25, 25, 25, 25}, {25, 25, 26, 25}, {25, 25, 25, 25}, {26, 25, 26, 25}, }, { {25, 25, 25, 26}, {26, 25, 26, 25}, {25, 26, 25, 26}, {26, 25, 26, 25}, }, { {25, 26, 25, 26}, {26, 25, 26, 26}, {25, 26, 25, 26}, {26, 26, 26, 26}, }, { {25, 26, 26, 26}, {26, 26, 26, 26}, {26, 26, 26, 26}, {26, 26, 26, 26}, }, { {26, 26, 26, 26}, {26, 26, 27, 26}, {26, 26, 26, 26}, {27, 26, 27, 26}, }, { {26, 26, 26, 27}, {27, 26, 27, 26}, {26, 27, 26, 27}, {27, 26, 27, 26}, }, { {26, 27, 26, 27}, {27, 26, 27, 27}, {26, 27, 26, 27}, {27, 27, 27, 27}, }, { {26, 27, 27, 27}, {27, 27, 27, 27}, {27, 27, 27, 27}, {27, 27, 27, 27}, }, { {27, 27, 27, 27}, {27, 27, 28, 27}, {27, 27, 27, 27}, {28, 27, 28, 27}, }, { {27, 27, 27, 28}, {28, 27, 28, 27}, {27, 28, 27, 28}, {28, 27, 28, 27}, }, { {27, 28, 27, 28}, {28, 27, 28, 28}, {27, 28, 27, 28}, {28, 28, 28, 27}, }, { {27, 28, 28, 28}, {28, 28, 28, 28}, {28, 28, 27, 28}, {28, 28, 28, 28}, }, { {28, 28, 28, 28}, {28, 28, 29, 28}, {28, 28, 28, 28}, {29, 28, 28, 28}, }, { {28, 28, 28, 29}, {29, 28, 29, 28}, {28, 29, 28, 28}, {29, 28, 29, 28}, }, { {28, 29, 28, 29}, {29, 28, 29, 29}, {28, 29, 28, 29}, {29, 29, 29, 28}, }, { {28, 29, 29, 29}, {29, 29, 29, 29}, {29, 29, 28, 29}, {29, 29, 29, 29}, }, { {29, 29, 29, 29}, {29, 29, 30, 29}, {29, 29, 29, 29}, {30, 29, 29, 29}, }, { {29, 29, 29, 30}, {30, 29, 30, 29}, {29, 30, 29, 29}, {30, 29, 30, 29}, }, { {29, 30, 29, 30}, {30, 29, 30, 30}, {29, 30, 29, 30}, {30, 30, 30, 29}, }, { {29, 30, 30, 30}, {30, 30, 30, 30}, {30, 30, 29, 30}, {30, 30, 30, 30}, }, { {30, 30, 30, 30}, {30, 30, 31, 30}, {30, 30, 30, 30}, {31, 30, 30, 30}, }, { {30, 30, 30, 31}, {31, 30, 31, 30}, {30, 31, 30, 30}, {31, 30, 31, 30}, }, { {30, 31, 30, 31}, {31, 30, 31, 31}, {30, 31, 30, 31}, {31, 31, 31, 30}, }, { {30, 31, 31, 31}, {31, 31, 31, 31}, {31, 31, 30, 31}, {31, 31, 31, 31}, }, { {31, 31, 31, 31}, {31, 31, 32, 31}, {31, 31, 31, 31}, {32, 31, 31, 31}, }, { {31, 31, 31, 32}, {32, 31, 32, 31}, {31, 32, 31, 31}, {32, 31, 32, 31}, }, { {31, 32, 31, 32}, {32, 31, 32, 32}, {31, 32, 31, 32}, {32, 32, 32, 31}, }, { {31, 32, 32, 32}, {32, 32, 32, 32}, {32, 32, 31, 32}, {32, 32, 32, 32}, }, { {32, 32, 32, 32}, {32, 32, 33, 32}, {32, 32, 32, 32}, {33, 32, 32, 32}, }, { {32, 32, 32, 33}, {33, 32, 33, 32}, {32, 33, 32, 32}, {33, 32, 33, 32}, }, { {32, 33, 32, 33}, {33, 32, 33, 33}, {32, 33, 32, 33}, {33, 33, 33, 32}, }, { {32, 33, 33, 33}, {33, 33, 33, 33}, {33, 33, 32, 33}, {33, 33, 33, 33}, }, { {33, 33, 33, 33}, {33, 33, 34, 33}, {33, 33, 33, 33}, {34, 33, 33, 33}, }, { {33, 33, 33, 34}, {34, 33, 34, 33}, {33, 34, 33, 33}, {34, 33, 34, 33}, }, { {33, 34, 33, 34}, {34, 33, 34, 34}, {33, 34, 33, 34}, {34, 34, 34, 33}, }, { {33, 34, 34, 34}, {34, 34, 34, 34}, {34, 34, 33, 34}, {34, 34, 34, 34}, }, { {34, 34, 34, 34}, {34, 34, 35, 34}, {34, 34, 34, 34}, {35, 34, 34, 34}, }, { {34, 34, 34, 35}, {35, 34, 35, 34}, {34, 35, 34, 34}, {35, 34, 35, 34}, }, { {34, 35, 34, 35}, {35, 34, 35, 35}, {34, 35, 34, 35}, {35, 35, 35, 34}, }, { {34, 35, 35, 35}, {35, 35, 35, 35}, {35, 35, 34, 35}, {35, 35, 35, 35}, }, { {35, 35, 35, 35}, {35, 35, 36, 35}, {35, 35, 35, 35}, {36, 35, 35, 35}, }, { {35, 35, 35, 36}, {36, 35, 36, 35}, {35, 36, 35, 35}, {36, 35, 36, 35}, }, { {35, 36, 35, 36}, {36, 35, 36, 35}, {35, 36, 35, 36}, {36, 36, 36, 35}, }, { {35, 36, 35, 36}, {36, 36, 36, 36}, {36, 36, 35, 36}, {36, 36, 36, 36}, }, { {36, 36, 36, 36}, {36, 36, 36, 36}, {36, 36, 36, 36}, {37, 36, 36, 36}, }, { {36, 36, 36, 36}, {37, 36, 37, 36}, {36, 37, 36, 36}, {37, 36, 37, 36}, }, { {36, 37, 36, 37}, {37, 36, 37, 36}, {36, 37, 36, 37}, {37, 37, 37, 36}, }, { {36, 37, 36, 37}, {37, 37, 37, 37}, {37, 37, 36, 37}, {37, 37, 37, 37}, }, { {37, 37, 37, 37}, {37, 37, 37, 37}, {37, 37, 37, 37}, {38, 37, 37, 37}, }, { {37, 37, 37, 37}, {38, 37, 38, 37}, {37, 38, 37, 37}, {38, 37, 38, 37}, }, { {37, 38, 37, 38}, {38, 37, 38, 37}, {37, 38, 37, 38}, {38, 38, 38, 37}, }, { {37, 38, 37, 38}, {38, 38, 38, 38}, {38, 38, 37, 38}, {38, 38, 38, 38}, }, { {38, 38, 38, 38}, {38, 38, 38, 38}, {38, 38, 38, 38}, {39, 38, 38, 38}, }, { {38, 38, 38, 38}, {39, 38, 39, 38}, {38, 39, 38, 38}, {39, 38, 39, 38}, }, { {38, 39, 38, 39}, {39, 38, 39, 38}, {38, 39, 38, 39}, {39, 39, 39, 38}, }, { {38, 39, 38, 39}, {39, 39, 39, 39}, {39, 39, 38, 39}, {39, 39, 39, 39}, }, { {39, 39, 39, 39}, {39, 39, 39, 39}, {39, 39, 39, 39}, {40, 39, 39, 39}, }, { {39, 39, 39, 39}, {40, 39, 40, 39}, {39, 40, 39, 39}, {40, 39, 40, 39}, }, { {39, 40, 39, 40}, {40, 39, 40, 39}, {39, 40, 39, 40}, {40, 39, 40, 39}, }, { {39, 40, 39, 40}, {40, 40, 40, 40}, {39, 40, 39, 40}, {40, 40, 40, 40}, }, { {40, 40, 40, 40}, {40, 40, 40, 40}, {40, 40, 40, 40}, {40, 40, 40, 40}, }, { {40, 40, 40, 40}, {41, 40, 41, 40}, {40, 40, 40, 40}, {41, 40, 41, 40}, }, { {40, 41, 40, 41}, {41, 40, 41, 40}, {40, 41, 40, 41}, {41, 40, 41, 40}, }, { {40, 41, 40, 41}, {41, 41, 41, 41}, {40, 41, 40, 41}, {41, 41, 41, 41}, }, { {41, 41, 41, 41}, {41, 41, 41, 41}, {41, 41, 41, 41}, {41, 41, 41, 41}, }, { {41, 41, 41, 41}, {42, 41, 42, 41}, {41, 41, 41, 41}, {42, 41, 42, 41}, }, { {41, 42, 41, 42}, {42, 41, 42, 41}, {41, 42, 41, 42}, {42, 41, 42, 41}, }, { {41, 42, 41, 42}, {42, 42, 42, 42}, {41, 42, 41, 42}, {42, 42, 42, 42}, }, { {42, 42, 42, 42}, {42, 42, 42, 42}, {42, 42, 42, 42}, {42, 42, 42, 42}, }, { {42, 42, 42, 42}, {43, 42, 43, 42}, {42, 42, 42, 42}, {43, 42, 43, 42}, }, { {42, 43, 42, 43}, {43, 42, 43, 42}, {42, 43, 42, 43}, {43, 42, 43, 42}, }, { {42, 43, 42, 43}, {43, 43, 43, 43}, {42, 43, 42, 43}, {43, 43, 43, 43}, }, { {43, 43, 43, 43}, {43, 43, 43, 43}, {43, 43, 43, 43}, {43, 43, 43, 43}, }, { {43, 43, 43, 43}, {44, 43, 44, 43}, {43, 43, 43, 43}, {44, 43, 44, 43}, }, { {43, 43, 43, 44}, {44, 43, 44, 43}, {43, 44, 43, 44}, {44, 43, 44, 43}, }, { {43, 44, 43, 44}, {44, 43, 44, 44}, {43, 44, 43, 44}, {44, 44, 44, 44}, }, { {43, 44, 44, 44}, {44, 44, 44, 44}, {44, 44, 44, 44}, {44, 44, 44, 44}, }, { {44, 44, 44, 44}, {44, 44, 45, 44}, {44, 44, 44, 44}, {45, 44, 45, 44}, }, { {44, 44, 44, 45}, {45, 44, 45, 44}, {44, 45, 44, 45}, {45, 44, 45, 44}, }, { {44, 45, 44, 45}, {45, 44, 45, 45}, {44, 45, 44, 45}, {45, 45, 45, 45}, }, { {44, 45, 45, 45}, {45, 45, 45, 45}, {45, 45, 45, 45}, {45, 45, 45, 45}, }, { {45, 45, 45, 45}, {45, 45, 46, 45}, {45, 45, 45, 45}, {46, 45, 46, 45}, }, { {45, 45, 45, 46}, {46, 45, 46, 45}, {45, 46, 45, 46}, {46, 45, 46, 45}, }, { {45, 46, 45, 46}, {46, 45, 46, 46}, {45, 46, 45, 46}, {46, 46, 46, 46}, }, { {45, 46, 46, 46}, {46, 46, 46, 46}, {46, 46, 46, 46}, {46, 46, 46, 46}, }, { {46, 46, 46, 46}, {46, 46, 47, 46}, {46, 46, 46, 46}, {47, 46, 47, 46}, }, { {46, 46, 46, 47}, {47, 46, 47, 46}, {46, 47, 46, 47}, {47, 46, 47, 46}, }, { {46, 47, 46, 47}, {47, 46, 47, 47}, {46, 47, 46, 47}, {47, 47, 47, 47}, }, { {46, 47, 47, 47}, {47, 47, 47, 47}, {47, 47, 47, 47}, {47, 47, 47, 47}, }, { {47, 47, 47, 47}, {47, 47, 48, 47}, {47, 47, 47, 47}, {48, 47, 48, 47}, }, { {47, 47, 47, 48}, {48, 47, 48, 47}, {47, 48, 47, 48}, {48, 47, 48, 47}, }, { {47, 48, 47, 48}, {48, 47, 48, 48}, {47, 48, 47, 48}, {48, 48, 48, 48}, }, { {47, 48, 48, 48}, {48, 48, 48, 48}, {48, 48, 48, 48}, {48, 48, 48, 48}, }, { {48, 48, 48, 48}, {48, 48, 49, 48}, {48, 48, 48, 48}, {49, 48, 49, 48}, }, { {48, 48, 48, 49}, {49, 48, 49, 48}, {48, 49, 48, 49}, {49, 48, 49, 48}, }, { {48, 49, 48, 49}, {49, 48, 49, 49}, {48, 49, 48, 49}, {49, 49, 49, 49}, }, { {48, 49, 49, 49}, {49, 49, 49, 49}, {49, 49, 49, 49}, {49, 49, 49, 49}, }, { {49, 49, 49, 49}, {49, 49, 50, 49}, {49, 49, 49, 49}, {50, 49, 50, 49}, }, { {49, 49, 49, 50}, {50, 49, 50, 49}, {49, 50, 49, 50}, {50, 49, 50, 49}, }, { {49, 50, 49, 50}, {50, 49, 50, 50}, {49, 50, 49, 50}, {50, 50, 50, 50}, }, { {49, 50, 50, 50}, {50, 50, 50, 50}, {50, 50, 50, 50}, {50, 50, 50, 50}, }, { {50, 50, 50, 50}, {50, 50, 51, 50}, {50, 50, 50, 50}, {51, 50, 51, 50}, }, { {50, 50, 50, 51}, {51, 50, 51, 50}, {50, 51, 50, 51}, {51, 50, 51, 50}, }, { {50, 51, 50, 51}, {51, 50, 51, 51}, {50, 51, 50, 51}, {51, 51, 51, 51}, }, { {50, 51, 51, 51}, {51, 51, 51, 51}, {51, 51, 51, 51}, {51, 51, 51, 51}, }, { {51, 51, 51, 51}, {51, 51, 52, 51}, {51, 51, 51, 51}, {52, 51, 52, 51}, }, { {51, 51, 51, 52}, {52, 51, 52, 51}, {51, 52, 51, 51}, {52, 51, 52, 51}, }, { {51, 52, 51, 52}, {52, 51, 52, 52}, {51, 52, 51, 52}, {52, 52, 52, 51}, }, { {51, 52, 52, 52}, {52, 52, 52, 52}, {52, 52, 51, 52}, {52, 52, 52, 52}, }, { {52, 52, 52, 52}, {52, 52, 53, 52}, {52, 52, 52, 52}, {53, 52, 52, 52}, }, { {52, 52, 52, 53}, {53, 52, 53, 52}, {52, 53, 52, 52}, {53, 52, 53, 52}, }, { {52, 53, 52, 53}, {53, 52, 53, 53}, {52, 53, 52, 53}, {53, 53, 53, 52}, }, { {52, 53, 53, 53}, {53, 53, 53, 53}, {53, 53, 52, 53}, {53, 53, 53, 53}, }, { {53, 53, 53, 53}, {53, 53, 54, 53}, {53, 53, 53, 53}, {54, 53, 53, 53}, }, { {53, 53, 53, 54}, {54, 53, 54, 53}, {53, 54, 53, 53}, {54, 53, 54, 53}, }, { {53, 54, 53, 54}, {54, 53, 54, 54}, {53, 54, 53, 54}, {54, 54, 54, 53}, }, { {53, 54, 54, 54}, {54, 54, 54, 54}, {54, 54, 53, 54}, {54, 54, 54, 54}, }, { {54, 54, 54, 54}, {54, 54, 55, 54}, {54, 54, 54, 54}, {55, 54, 54, 54}, }, { {54, 54, 54, 55}, {55, 54, 55, 54}, {54, 55, 54, 54}, {55, 54, 55, 54}, }, { {54, 55, 54, 55}, {55, 54, 55, 55}, {54, 55, 54, 55}, {55, 55, 55, 54}, }, { {54, 55, 55, 55}, {55, 55, 55, 55}, {55, 55, 54, 55}, {55, 55, 55, 55}, }, { {55, 55, 55, 55}, {55, 55, 56, 55}, {55, 55, 55, 55}, {56, 55, 55, 55}, }, { {55, 55, 55, 55}, {56, 55, 56, 55}, {55, 56, 55, 55}, {56, 55, 56, 55}, }, { {55, 56, 55, 56}, {56, 55, 56, 55}, {55, 56, 55, 56}, {56, 56, 56, 55}, }, { {55, 56, 55, 56}, {56, 56, 56, 56}, {56, 56, 55, 56}, {56, 56, 56, 56}, }, { {56, 56, 56, 56}, {56, 56, 56, 56}, {56, 56, 56, 56}, {57, 56, 56, 56}, }, { {56, 56, 56, 56}, {57, 56, 57, 56}, {56, 57, 56, 56}, {57, 56, 57, 56}, }, { {56, 57, 56, 57}, {57, 56, 57, 56}, {56, 57, 56, 57}, {57, 57, 57, 56}, }, { {56, 57, 56, 57}, {57, 57, 57, 57}, {57, 57, 56, 57}, {57, 57, 57, 57}, }, { {57, 57, 57, 57}, {57, 57, 57, 57}, {57, 57, 57, 57}, {58, 57, 57, 57}, }, { {57, 57, 57, 57}, {58, 57, 58, 57}, {57, 58, 57, 57}, {58, 57, 58, 57}, }, { {57, 58, 57, 58}, {58, 57, 58, 57}, {57, 58, 57, 58}, {58, 58, 58, 57}, }, { {57, 58, 57, 58}, {58, 58, 58, 58}, {58, 58, 57, 58}, {58, 58, 58, 58}, }, { {58, 58, 58, 58}, {58, 58, 58, 58}, {58, 58, 58, 58}, {59, 58, 58, 58}, }, { {58, 58, 58, 58}, {59, 58, 59, 58}, {58, 59, 58, 58}, {59, 58, 59, 58}, }, { {58, 59, 58, 59}, {59, 58, 59, 58}, {58, 59, 58, 59}, {59, 59, 59, 58}, }, { {58, 59, 58, 59}, {59, 59, 59, 59}, {59, 59, 58, 59}, {59, 59, 59, 59}, }, { {59, 59, 59, 59}, {59, 59, 59, 59}, {59, 59, 59, 59}, {60, 59, 59, 59}, }, { {59, 59, 59, 59}, {60, 59, 60, 59}, {59, 59, 59, 59}, {60, 59, 60, 59}, }, { {59, 60, 59, 60}, {60, 59, 60, 59}, {59, 60, 59, 60}, {60, 59, 60, 59}, }, { {59, 60, 59, 60}, {60, 60, 60, 60}, {59, 60, 59, 60}, {60, 60, 60, 60}, }, { {60, 60, 60, 60}, {60, 60, 60, 60}, {60, 60, 60, 60}, {60, 60, 60, 60}, }, { {60, 60, 60, 60}, {61, 60, 61, 60}, {60, 60, 60, 60}, {61, 60, 61, 60}, }, { {60, 61, 60, 61}, {61, 60, 61, 60}, {60, 61, 60, 61}, {61, 60, 61, 60}, }, { {60, 61, 60, 61}, {61, 61, 61, 61}, {60, 61, 60, 61}, {61, 61, 61, 61}, }, { {61, 61, 61, 61}, {61, 61, 61, 61}, {61, 61, 61, 61}, {61, 61, 61, 61}, }, { {61, 61, 61, 61}, {62, 61, 62, 61}, {61, 61, 61, 61}, {62, 61, 62, 61}, }, { {61, 62, 61, 62}, {62, 61, 62, 61}, {61, 62, 61, 62}, {62, 61, 62, 61}, }, { {61, 62, 61, 62}, {62, 62, 62, 62}, {61, 62, 61, 62}, {62, 62, 62, 62}, }, { {62, 62, 62, 62}, {62, 62, 62, 62}, {62, 62, 62, 62}, {62, 62, 62, 62}, }, { {62, 62, 62, 62}, {63, 62, 63, 62}, {62, 62, 62, 62}, {63, 62, 63, 62}, }, { {62, 63, 62, 63}, {63, 62, 63, 62}, {62, 63, 62, 63}, {63, 62, 63, 62}, }, { {62, 63, 62, 63}, {63, 63, 63, 63}, {62, 63, 62, 63}, {63, 63, 63, 63}, }, { {63, 63, 63, 63}, {63, 63, 63, 63}, {63, 63, 63, 63}, {63, 63, 63, 63}, }, }; static const uint8_t dither_rb2x2[256][2][2] = { { {0, 0}, {0, 0}, }, { {0, 0}, {1, 0}, }, { {0, 0}, {1, 0}, }, { {0, 1}, {1, 0}, }, { {0, 1}, {1, 0}, }, { {0, 1}, {1, 1}, }, { {0, 1}, {1, 1}, }, { {1, 1}, {1, 1}, }, { {1, 1}, {1, 1}, }, { {1, 1}, {2, 1}, }, { {1, 1}, {2, 1}, }, { {1, 2}, {2, 1}, }, { {1, 2}, {2, 1}, }, { {1, 2}, {2, 2}, }, { {1, 2}, {2, 2}, }, { {2, 2}, {2, 2}, }, { {2, 2}, {2, 2}, }, { {2, 2}, {2, 2}, }, { {2, 2}, {3, 2}, }, { {2, 2}, {3, 2}, }, { {2, 3}, {3, 2}, }, { {2, 3}, {3, 2}, }, { {2, 3}, {3, 3}, }, { {2, 3}, {3, 3}, }, { {3, 3}, {3, 3}, }, { {3, 3}, {3, 3}, }, { {3, 3}, {4, 3}, }, { {3, 3}, {4, 3}, }, { {3, 4}, {4, 3}, }, { {3, 4}, {4, 3}, }, { {3, 4}, {4, 4}, }, { {3, 4}, {4, 4}, }, { {4, 4}, {4, 4}, }, { {4, 4}, {4, 4}, }, { {4, 4}, {5, 4}, }, { {4, 4}, {5, 4}, }, { {4, 5}, {5, 4}, }, { {4, 5}, {5, 4}, }, { {4, 5}, {5, 5}, }, { {4, 5}, {5, 5}, }, { {5, 5}, {5, 5}, }, { {5, 5}, {5, 5}, }, { {5, 5}, {6, 5}, }, { {5, 5}, {6, 5}, }, { {5, 6}, {6, 5}, }, { {5, 6}, {6, 5}, }, { {5, 6}, {6, 6}, }, { {5, 6}, {6, 6}, }, { {5, 6}, {6, 6}, }, { {6, 6}, {6, 6}, }, { {6, 6}, {6, 6}, }, { {6, 6}, {7, 6}, }, { {6, 6}, {7, 6}, }, { {6, 7}, {7, 6}, }, { {6, 7}, {7, 6}, }, { {6, 7}, {7, 7}, }, { {6, 7}, {7, 7}, }, { {7, 7}, {7, 7}, }, { {7, 7}, {7, 7}, }, { {7, 7}, {8, 7}, }, { {7, 7}, {8, 7}, }, { {7, 8}, {8, 7}, }, { {7, 8}, {8, 7}, }, { {7, 8}, {8, 8}, }, { {7, 8}, {8, 8}, }, { {8, 8}, {8, 8}, }, { {8, 8}, {8, 8}, }, { {8, 8}, {9, 8}, }, { {8, 8}, {9, 8}, }, { {8, 9}, {9, 8}, }, { {8, 9}, {9, 8}, }, { {8, 9}, {9, 9}, }, { {8, 9}, {9, 9}, }, { {9, 9}, {9, 9}, }, { {9, 9}, {9, 9}, }, { {9, 9}, {10, 9}, }, { {9, 9}, {10, 9}, }, { {9, 10}, {10, 9}, }, { {9, 10}, {10, 9}, }, { {9, 10}, {10, 10}, }, { {9, 10}, {10, 10}, }, { {9, 10}, {10, 10}, }, { {10, 10}, {10, 10}, }, { {10, 10}, {10, 10}, }, { {10, 10}, {11, 10}, }, { {10, 10}, {11, 10}, }, { {10, 11}, {11, 10}, }, { {10, 11}, {11, 10}, }, { {10, 11}, {11, 11}, }, { {10, 11}, {11, 11}, }, { {11, 11}, {11, 11}, }, { {11, 11}, {11, 11}, }, { {11, 11}, {12, 11}, }, { {11, 11}, {12, 11}, }, { {11, 12}, {12, 11}, }, { {11, 12}, {12, 11}, }, { {11, 12}, {12, 12}, }, { {11, 12}, {12, 12}, }, { {12, 12}, {12, 12}, }, { {12, 12}, {12, 12}, }, { {12, 12}, {13, 12}, }, { {12, 12}, {13, 12}, }, { {12, 13}, {13, 12}, }, { {12, 13}, {13, 12}, }, { {12, 13}, {13, 13}, }, { {12, 13}, {13, 13}, }, { {13, 13}, {13, 13}, }, { {13, 13}, {13, 13}, }, { {13, 13}, {14, 13}, }, { {13, 13}, {14, 13}, }, { {13, 14}, {14, 13}, }, { {13, 14}, {14, 13}, }, { {13, 14}, {14, 13}, }, { {13, 14}, {14, 14}, }, { {13, 14}, {14, 14}, }, { {14, 14}, {14, 14}, }, { {14, 14}, {14, 14}, }, { {14, 14}, {15, 14}, }, { {14, 14}, {15, 14}, }, { {14, 15}, {15, 14}, }, { {14, 15}, {15, 14}, }, { {14, 15}, {15, 15}, }, { {14, 15}, {15, 15}, }, { {15, 15}, {15, 15}, }, { {15, 15}, {15, 15}, }, { {15, 15}, {16, 15}, }, { {15, 15}, {16, 15}, }, { {15, 16}, {16, 15}, }, { {15, 16}, {16, 15}, }, { {15, 16}, {16, 16}, }, { {15, 16}, {16, 16}, }, { {16, 16}, {16, 16}, }, { {16, 16}, {16, 16}, }, { {16, 16}, {17, 16}, }, { {16, 16}, {17, 16}, }, { {16, 17}, {17, 16}, }, { {16, 17}, {17, 16}, }, { {16, 17}, {17, 17}, }, { {16, 17}, {17, 17}, }, { {17, 17}, {17, 17}, }, { {17, 17}, {17, 17}, }, { {17, 17}, {18, 17}, }, { {17, 17}, {18, 17}, }, { {17, 18}, {18, 17}, }, { {17, 18}, {18, 17}, }, { {17, 18}, {18, 18}, }, { {17, 18}, {18, 18}, }, { {18, 18}, {18, 18}, }, { {18, 18}, {18, 18}, }, { {18, 18}, {19, 18}, }, { {18, 18}, {19, 18}, }, { {18, 19}, {19, 18}, }, { {18, 19}, {19, 18}, }, { {18, 19}, {19, 19}, }, { {18, 19}, {19, 19}, }, { {19, 19}, {19, 19}, }, { {19, 19}, {19, 19}, }, { {19, 19}, {20, 19}, }, { {19, 19}, {20, 19}, }, { {19, 20}, {20, 19}, }, { {19, 20}, {20, 19}, }, { {19, 20}, {20, 19}, }, { {19, 20}, {20, 20}, }, { {19, 20}, {20, 20}, }, { {20, 20}, {20, 20}, }, { {20, 20}, {20, 20}, }, { {20, 20}, {21, 20}, }, { {20, 20}, {21, 20}, }, { {20, 21}, {21, 20}, }, { {20, 21}, {21, 20}, }, { {20, 21}, {21, 21}, }, { {20, 21}, {21, 21}, }, { {21, 21}, {21, 21}, }, { {21, 21}, {21, 21}, }, { {21, 21}, {22, 21}, }, { {21, 21}, {22, 21}, }, { {21, 22}, {22, 21}, }, { {21, 22}, {22, 21}, }, { {21, 22}, {22, 22}, }, { {21, 22}, {22, 22}, }, { {22, 22}, {22, 22}, }, { {22, 22}, {22, 22}, }, { {22, 22}, {23, 22}, }, { {22, 22}, {23, 22}, }, { {22, 23}, {23, 22}, }, { {22, 23}, {23, 22}, }, { {22, 23}, {23, 23}, }, { {22, 23}, {23, 23}, }, { {23, 23}, {23, 23}, }, { {23, 23}, {23, 23}, }, { {23, 23}, {24, 23}, }, { {23, 23}, {24, 23}, }, { {23, 23}, {24, 23}, }, { {23, 24}, {24, 23}, }, { {23, 24}, {24, 23}, }, { {23, 24}, {24, 24}, }, { {23, 24}, {24, 24}, }, { {24, 24}, {24, 24}, }, { {24, 24}, {24, 24}, }, { {24, 24}, {25, 24}, }, { {24, 24}, {25, 24}, }, { {24, 25}, {25, 24}, }, { {24, 25}, {25, 24}, }, { {24, 25}, {25, 25}, }, { {24, 25}, {25, 25}, }, { {25, 25}, {25, 25}, }, { {25, 25}, {25, 25}, }, { {25, 25}, {26, 25}, }, { {25, 25}, {26, 25}, }, { {25, 26}, {26, 25}, }, { {25, 26}, {26, 25}, }, { {25, 26}, {26, 26}, }, { {25, 26}, {26, 26}, }, { {26, 26}, {26, 26}, }, { {26, 26}, {26, 26}, }, { {26, 26}, {27, 26}, }, { {26, 26}, {27, 26}, }, { {26, 27}, {27, 26}, }, { {26, 27}, {27, 26}, }, { {26, 27}, {27, 27}, }, { {26, 27}, {27, 27}, }, { {27, 27}, {27, 27}, }, { {27, 27}, {27, 27}, }, { {27, 27}, {28, 27}, }, { {27, 27}, {28, 27}, }, { {27, 27}, {28, 27}, }, { {27, 28}, {28, 27}, }, { {27, 28}, {28, 27}, }, { {27, 28}, {28, 28}, }, { {27, 28}, {28, 28}, }, { {28, 28}, {28, 28}, }, { {28, 28}, {28, 28}, }, { {28, 28}, {29, 28}, }, { {28, 28}, {29, 28}, }, { {28, 29}, {29, 28}, }, { {28, 29}, {29, 28}, }, { {28, 29}, {29, 29}, }, { {28, 29}, {29, 29}, }, { {29, 29}, {29, 29}, }, { {29, 29}, {29, 29}, }, { {29, 29}, {30, 29}, }, { {29, 29}, {30, 29}, }, { {29, 30}, {30, 29}, }, { {29, 30}, {30, 29}, }, { {29, 30}, {30, 30}, }, { {29, 30}, {30, 30}, }, { {30, 30}, {30, 30}, }, { {30, 30}, {30, 30}, }, { {30, 30}, {31, 30}, }, { {30, 30}, {31, 30}, }, { {30, 31}, {31, 30}, }, { {30, 31}, {31, 30}, }, { {30, 31}, {31, 31}, }, { {30, 31}, {31, 31}, }, { {31, 31}, {31, 31}, }, { {31, 31}, {31, 31}, }, }; static const uint8_t dither_g2x2[256][2][2] = { { {0, 0}, {0, 0}, }, { {0, 0}, {1, 0}, }, { {0, 1}, {1, 0}, }, { {0, 1}, {1, 1}, }, { {1, 1}, {1, 1}, }, { {1, 1}, {2, 1}, }, { {1, 2}, {2, 1}, }, { {1, 2}, {2, 2}, }, { {2, 2}, {2, 2}, }, { {2, 2}, {3, 2}, }, { {2, 3}, {3, 2}, }, { {2, 3}, {3, 3}, }, { {3, 3}, {3, 3}, }, { {3, 3}, {4, 3}, }, { {3, 4}, {4, 3}, }, { {3, 4}, {4, 4}, }, { {4, 4}, {4, 4}, }, { {4, 4}, {5, 4}, }, { {4, 5}, {5, 4}, }, { {4, 5}, {5, 5}, }, { {5, 5}, {5, 5}, }, { {5, 5}, {6, 5}, }, { {5, 6}, {6, 5}, }, { {5, 6}, {6, 6}, }, { {6, 6}, {6, 6}, }, { {6, 6}, {7, 6}, }, { {6, 7}, {7, 6}, }, { {6, 7}, {7, 7}, }, { {7, 7}, {7, 7}, }, { {7, 7}, {8, 7}, }, { {7, 8}, {8, 7}, }, { {7, 8}, {8, 8}, }, { {8, 8}, {8, 8}, }, { {8, 8}, {9, 8}, }, { {8, 9}, {9, 8}, }, { {8, 9}, {9, 9}, }, { {9, 9}, {9, 9}, }, { {9, 9}, {10, 9}, }, { {9, 10}, {10, 9}, }, { {9, 10}, {10, 10}, }, { {10, 10}, {10, 10}, }, { {10, 10}, {11, 10}, }, { {10, 11}, {11, 10}, }, { {10, 11}, {11, 11}, }, { {11, 11}, {11, 11}, }, { {11, 11}, {12, 11}, }, { {11, 12}, {12, 11}, }, { {11, 12}, {12, 12}, }, { {11, 12}, {12, 12}, }, { {12, 12}, {12, 12}, }, { {12, 12}, {13, 12}, }, { {12, 13}, {13, 12}, }, { {12, 13}, {13, 13}, }, { {13, 13}, {13, 13}, }, { {13, 13}, {14, 13}, }, { {13, 14}, {14, 13}, }, { {13, 14}, {14, 14}, }, { {14, 14}, {14, 14}, }, { {14, 14}, {15, 14}, }, { {14, 15}, {15, 14}, }, { {14, 15}, {15, 15}, }, { {15, 15}, {15, 15}, }, { {15, 15}, {16, 15}, }, { {15, 16}, {16, 15}, }, { {15, 16}, {16, 16}, }, { {16, 16}, {16, 16}, }, { {16, 16}, {17, 16}, }, { {16, 17}, {17, 16}, }, { {16, 17}, {17, 17}, }, { {17, 17}, {17, 17}, }, { {17, 17}, {18, 17}, }, { {17, 18}, {18, 17}, }, { {17, 18}, {18, 18}, }, { {18, 18}, {18, 18}, }, { {18, 18}, {19, 18}, }, { {18, 19}, {19, 18}, }, { {18, 19}, {19, 19}, }, { {19, 19}, {19, 19}, }, { {19, 19}, {20, 19}, }, { {19, 20}, {20, 19}, }, { {19, 20}, {20, 20}, }, { {20, 20}, {20, 20}, }, { {20, 20}, {21, 20}, }, { {20, 21}, {21, 20}, }, { {20, 21}, {21, 21}, }, { {21, 21}, {21, 21}, }, { {21, 21}, {22, 21}, }, { {21, 22}, {22, 21}, }, { {21, 22}, {22, 22}, }, { {22, 22}, {22, 22}, }, { {22, 22}, {23, 22}, }, { {22, 23}, {23, 22}, }, { {22, 23}, {23, 23}, }, { {23, 23}, {23, 23}, }, { {23, 23}, {24, 23}, }, { {23, 24}, {24, 23}, }, { {23, 24}, {24, 24}, }, { {24, 24}, {24, 24}, }, { {24, 24}, {25, 24}, }, { {24, 25}, {25, 24}, }, { {24, 25}, {25, 25}, }, { {25, 25}, {25, 25}, }, { {25, 25}, {26, 25}, }, { {25, 26}, {26, 25}, }, { {25, 26}, {26, 26}, }, { {26, 26}, {26, 26}, }, { {26, 26}, {27, 26}, }, { {26, 27}, {27, 26}, }, { {26, 27}, {27, 27}, }, { {27, 27}, {27, 27}, }, { {27, 27}, {28, 27}, }, { {27, 28}, {28, 27}, }, { {27, 28}, {28, 28}, }, { {28, 28}, {28, 28}, }, { {28, 28}, {29, 28}, }, { {28, 29}, {29, 28}, }, { {28, 29}, {29, 29}, }, { {29, 29}, {29, 29}, }, { {29, 29}, {30, 29}, }, { {29, 30}, {30, 29}, }, { {29, 30}, {30, 30}, }, { {30, 30}, {30, 30}, }, { {30, 30}, {31, 30}, }, { {30, 31}, {31, 30}, }, { {30, 31}, {31, 31}, }, { {31, 31}, {31, 31}, }, { {31, 31}, {32, 31}, }, { {31, 32}, {32, 31}, }, { {31, 32}, {32, 32}, }, { {32, 32}, {32, 32}, }, { {32, 32}, {33, 32}, }, { {32, 33}, {33, 32}, }, { {32, 33}, {33, 33}, }, { {33, 33}, {33, 33}, }, { {33, 33}, {34, 33}, }, { {33, 34}, {34, 33}, }, { {33, 34}, {34, 34}, }, { {34, 34}, {34, 34}, }, { {34, 34}, {35, 34}, }, { {34, 35}, {35, 34}, }, { {34, 35}, {35, 35}, }, { {35, 35}, {35, 35}, }, { {35, 35}, {36, 35}, }, { {35, 36}, {36, 35}, }, { {35, 36}, {36, 35}, }, { {35, 36}, {36, 36}, }, { {36, 36}, {36, 36}, }, { {36, 36}, {37, 36}, }, { {36, 37}, {37, 36}, }, { {36, 37}, {37, 37}, }, { {37, 37}, {37, 37}, }, { {37, 37}, {38, 37}, }, { {37, 38}, {38, 37}, }, { {37, 38}, {38, 38}, }, { {38, 38}, {38, 38}, }, { {38, 38}, {39, 38}, }, { {38, 39}, {39, 38}, }, { {38, 39}, {39, 39}, }, { {39, 39}, {39, 39}, }, { {39, 39}, {40, 39}, }, { {39, 40}, {40, 39}, }, { {39, 40}, {40, 40}, }, { {40, 40}, {40, 40}, }, { {40, 40}, {41, 40}, }, { {40, 41}, {41, 40}, }, { {40, 41}, {41, 41}, }, { {41, 41}, {41, 41}, }, { {41, 41}, {42, 41}, }, { {41, 42}, {42, 41}, }, { {41, 42}, {42, 42}, }, { {42, 42}, {42, 42}, }, { {42, 42}, {43, 42}, }, { {42, 43}, {43, 42}, }, { {42, 43}, {43, 43}, }, { {43, 43}, {43, 43}, }, { {43, 43}, {44, 43}, }, { {43, 44}, {44, 43}, }, { {43, 44}, {44, 44}, }, { {44, 44}, {44, 44}, }, { {44, 44}, {45, 44}, }, { {44, 45}, {45, 44}, }, { {44, 45}, {45, 45}, }, { {45, 45}, {45, 45}, }, { {45, 45}, {46, 45}, }, { {45, 46}, {46, 45}, }, { {45, 46}, {46, 46}, }, { {46, 46}, {46, 46}, }, { {46, 46}, {47, 46}, }, { {46, 47}, {47, 46}, }, { {46, 47}, {47, 47}, }, { {47, 47}, {47, 47}, }, { {47, 47}, {48, 47}, }, { {47, 48}, {48, 47}, }, { {47, 48}, {48, 48}, }, { {48, 48}, {48, 48}, }, { {48, 48}, {49, 48}, }, { {48, 49}, {49, 48}, }, { {48, 49}, {49, 49}, }, { {49, 49}, {49, 49}, }, { {49, 49}, {50, 49}, }, { {49, 50}, {50, 49}, }, { {49, 50}, {50, 50}, }, { {50, 50}, {50, 50}, }, { {50, 50}, {51, 50}, }, { {50, 51}, {51, 50}, }, { {50, 51}, {51, 51}, }, { {51, 51}, {51, 51}, }, { {51, 51}, {52, 51}, }, { {51, 52}, {52, 51}, }, { {51, 52}, {52, 52}, }, { {52, 52}, {52, 52}, }, { {52, 52}, {53, 52}, }, { {52, 53}, {53, 52}, }, { {52, 53}, {53, 53}, }, { {53, 53}, {53, 53}, }, { {53, 53}, {54, 53}, }, { {53, 54}, {54, 53}, }, { {53, 54}, {54, 54}, }, { {54, 54}, {54, 54}, }, { {54, 54}, {55, 54}, }, { {54, 55}, {55, 54}, }, { {54, 55}, {55, 55}, }, { {55, 55}, {55, 55}, }, { {55, 55}, {56, 55}, }, { {55, 55}, {56, 55}, }, { {55, 56}, {56, 55}, }, { {55, 56}, {56, 56}, }, { {56, 56}, {56, 56}, }, { {56, 56}, {57, 56}, }, { {56, 57}, {57, 56}, }, { {56, 57}, {57, 57}, }, { {57, 57}, {57, 57}, }, { {57, 57}, {58, 57}, }, { {57, 58}, {58, 57}, }, { {57, 58}, {58, 58}, }, { {58, 58}, {58, 58}, }, { {58, 58}, {59, 58}, }, { {58, 59}, {59, 58}, }, { {58, 59}, {59, 59}, }, { {59, 59}, {59, 59}, }, { {59, 59}, {60, 59}, }, { {59, 60}, {60, 59}, }, { {59, 60}, {60, 60}, }, { {60, 60}, {60, 60}, }, { {60, 60}, {61, 60}, }, { {60, 61}, {61, 60}, }, { {60, 61}, {61, 61}, }, { {61, 61}, {61, 61}, }, { {61, 61}, {62, 61}, }, { {61, 62}, {62, 61}, }, { {61, 62}, {62, 62}, }, { {62, 62}, {62, 62}, }, { {62, 62}, {63, 62}, }, { {62, 63}, {63, 62}, }, { {62, 63}, {63, 63}, }, { {63, 63}, {63, 63}, }, }; /* Dither subtraction */ static const uint8_t dithersub_rb[256][4][4] = { { {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, }, { {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, }, { {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, }, { {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, }, { {9, 5, 8, 4}, {3, 7, 2, 6}, {7, 3, 8, 4}, {1, 5, 2, 6}, }, { {10, 6, 9, 5}, {4, 8, 3, 7}, {8, 4, 9, 5}, {2, 6, 3, 7}, }, { {11, 7, 10, 6}, {5, 9, 4, 8}, {9, 5, 10, 6}, {3, 7, 4, 8}, }, { {12, 8, 11, 7}, {6, 10, 5, 9}, {10, 6, 11, 7}, {4, 8, 5, 9}, }, { {13, 9, 12, 8}, {7, 11, 6, 10}, {11, 7, 12, 8}, {5, 9, 6, 10}, }, { {14, 10, 13, 9}, {8, 12, 7, 11}, {12, 8, 13, 9}, {6, 10, 7, 11}, }, { {15, 11, 14, 10}, {9, 13, 8, 12}, {13, 9, 14, 10}, {7, 11, 8, 12}, }, { {16, 12, 15, 11}, {10, 14, 9, 13}, {14, 10, 15, 11}, {8, 12, 9, 13}, }, { {17, 13, 16, 12}, {11, 15, 10, 14}, {15, 11, 16, 12}, {9, 13, 10, 14}, }, { {18, 14, 17, 13}, {12, 16, 11, 15}, {16, 12, 17, 13}, {10, 14, 11, 15}, }, { {19, 15, 18, 14}, {13, 17, 12, 16}, {17, 13, 18, 14}, {11, 15, 12, 16}, }, { {20, 16, 19, 15}, {14, 18, 13, 17}, {18, 14, 19, 15}, {12, 16, 13, 17}, }, { {21, 17, 20, 16}, {15, 19, 14, 18}, {19, 15, 20, 16}, {13, 17, 14, 18}, }, { {22, 18, 21, 17}, {16, 20, 15, 19}, {20, 16, 21, 17}, {14, 18, 15, 19}, }, { {23, 19, 22, 18}, {17, 21, 16, 20}, {21, 17, 22, 18}, {15, 19, 16, 20}, }, { {24, 20, 23, 19}, {18, 22, 17, 21}, {22, 18, 23, 19}, {16, 20, 17, 21}, }, { {25, 21, 24, 20}, {19, 23, 18, 22}, {23, 19, 24, 20}, {17, 21, 18, 22}, }, { {26, 22, 25, 21}, {20, 24, 19, 23}, {24, 20, 25, 21}, {18, 22, 19, 23}, }, { {27, 23, 26, 22}, {21, 25, 20, 24}, {25, 21, 26, 22}, {19, 23, 20, 24}, }, { {28, 24, 27, 23}, {22, 26, 21, 25}, {26, 22, 27, 23}, {20, 24, 21, 25}, }, { {29, 25, 28, 24}, {23, 27, 22, 26}, {27, 23, 28, 24}, {21, 25, 22, 26}, }, { {30, 26, 29, 25}, {24, 28, 23, 27}, {28, 24, 29, 25}, {22, 26, 23, 27}, }, { {31, 27, 30, 26}, {25, 29, 24, 28}, {29, 25, 30, 26}, {23, 27, 24, 28}, }, { {32, 28, 31, 27}, {26, 30, 25, 29}, {30, 26, 31, 27}, {24, 28, 25, 29}, }, { {33, 29, 32, 28}, {27, 31, 26, 30}, {31, 27, 32, 28}, {25, 29, 26, 30}, }, { {34, 30, 33, 29}, {28, 32, 27, 31}, {32, 28, 33, 29}, {26, 30, 27, 31}, }, { {35, 31, 34, 30}, {29, 33, 28, 32}, {33, 29, 34, 30}, {27, 31, 28, 32}, }, { {36, 32, 35, 31}, {30, 34, 29, 33}, {34, 30, 35, 31}, {28, 32, 29, 33}, }, { {37, 33, 36, 32}, {31, 35, 30, 34}, {35, 31, 36, 32}, {29, 33, 30, 34}, }, { {38, 34, 37, 33}, {32, 36, 31, 35}, {36, 32, 37, 33}, {30, 34, 31, 35}, }, { {39, 35, 38, 34}, {33, 37, 32, 36}, {37, 33, 38, 34}, {31, 35, 32, 36}, }, { {40, 36, 39, 35}, {34, 38, 33, 37}, {38, 34, 39, 35}, {32, 36, 33, 37}, }, { {41, 37, 40, 36}, {35, 39, 34, 38}, {39, 35, 40, 36}, {33, 37, 34, 38}, }, { {42, 38, 41, 37}, {36, 40, 35, 39}, {40, 36, 41, 37}, {34, 38, 35, 39}, }, { {43, 39, 42, 38}, {37, 41, 36, 40}, {41, 37, 42, 38}, {35, 39, 36, 40}, }, { {44, 40, 43, 39}, {38, 42, 37, 41}, {42, 38, 43, 39}, {36, 40, 37, 41}, }, { {45, 41, 44, 40}, {39, 43, 38, 42}, {43, 39, 44, 40}, {37, 41, 38, 42}, }, { {46, 42, 45, 41}, {40, 44, 39, 43}, {44, 40, 45, 41}, {38, 42, 39, 43}, }, { {47, 43, 46, 42}, {41, 45, 40, 44}, {45, 41, 46, 42}, {39, 43, 40, 44}, }, { {48, 44, 47, 43}, {42, 46, 41, 45}, {46, 42, 47, 43}, {40, 44, 41, 45}, }, { {49, 45, 48, 44}, {43, 47, 42, 46}, {47, 43, 48, 44}, {41, 45, 42, 46}, }, { {50, 46, 49, 45}, {44, 48, 43, 47}, {48, 44, 49, 45}, {42, 46, 43, 47}, }, { {51, 47, 50, 46}, {45, 49, 44, 48}, {49, 45, 50, 46}, {43, 47, 44, 48}, }, { {52, 48, 51, 47}, {46, 50, 45, 49}, {50, 46, 51, 47}, {44, 48, 45, 49}, }, { {53, 49, 52, 48}, {47, 51, 46, 50}, {51, 47, 52, 48}, {45, 49, 46, 50}, }, { {54, 50, 53, 49}, {48, 52, 47, 51}, {52, 48, 53, 49}, {46, 50, 47, 51}, }, { {55, 51, 54, 50}, {49, 53, 48, 52}, {53, 49, 54, 50}, {47, 51, 48, 52}, }, { {56, 52, 55, 51}, {50, 54, 49, 53}, {54, 50, 55, 51}, {48, 52, 49, 53}, }, { {57, 53, 56, 52}, {51, 55, 50, 54}, {55, 51, 56, 52}, {49, 53, 50, 54}, }, { {58, 54, 57, 53}, {52, 56, 51, 55}, {56, 52, 57, 53}, {50, 54, 51, 55}, }, { {59, 55, 58, 54}, {53, 57, 52, 56}, {57, 53, 58, 54}, {51, 55, 52, 56}, }, { {60, 56, 59, 55}, {54, 58, 53, 57}, {58, 54, 59, 55}, {52, 56, 53, 57}, }, { {61, 57, 60, 56}, {55, 59, 54, 58}, {59, 55, 60, 56}, {53, 57, 54, 58}, }, { {62, 58, 61, 57}, {56, 60, 55, 59}, {60, 56, 61, 57}, {54, 58, 55, 59}, }, { {63, 59, 62, 58}, {57, 61, 56, 60}, {61, 57, 62, 58}, {55, 59, 56, 60}, }, { {64, 60, 63, 59}, {58, 62, 57, 61}, {62, 58, 63, 59}, {56, 60, 57, 61}, }, { {65, 61, 64, 60}, {59, 63, 58, 62}, {63, 59, 64, 60}, {57, 61, 58, 62}, }, { {66, 62, 65, 61}, {60, 64, 59, 63}, {64, 60, 65, 61}, {58, 62, 59, 63}, }, { {67, 63, 66, 62}, {61, 65, 60, 64}, {65, 61, 66, 62}, {59, 63, 60, 64}, }, { {68, 64, 67, 63}, {62, 66, 61, 65}, {66, 62, 67, 63}, {60, 64, 61, 65}, }, { {69, 65, 68, 64}, {63, 67, 62, 66}, {67, 63, 68, 64}, {61, 65, 62, 66}, }, { {70, 66, 69, 65}, {64, 68, 63, 67}, {68, 64, 69, 65}, {62, 66, 63, 67}, }, { {71, 67, 70, 66}, {65, 69, 64, 68}, {69, 65, 70, 66}, {63, 67, 64, 68}, }, { {72, 68, 71, 67}, {66, 70, 65, 69}, {70, 66, 71, 67}, {64, 68, 65, 69}, }, { {73, 69, 72, 68}, {67, 71, 66, 70}, {71, 67, 72, 68}, {65, 69, 66, 70}, }, { {74, 70, 73, 69}, {68, 72, 67, 71}, {72, 68, 73, 69}, {66, 70, 67, 71}, }, { {75, 71, 74, 70}, {69, 73, 68, 72}, {73, 69, 74, 70}, {67, 71, 68, 72}, }, { {76, 72, 75, 71}, {70, 74, 69, 73}, {74, 70, 75, 71}, {68, 72, 69, 73}, }, { {77, 73, 76, 72}, {71, 75, 70, 74}, {75, 71, 76, 72}, {69, 73, 70, 74}, }, { {78, 74, 77, 73}, {72, 76, 71, 75}, {76, 72, 77, 73}, {70, 74, 71, 75}, }, { {79, 75, 78, 74}, {73, 77, 72, 76}, {77, 73, 78, 74}, {71, 75, 72, 76}, }, { {80, 76, 79, 75}, {74, 78, 73, 77}, {78, 74, 79, 75}, {72, 76, 73, 77}, }, { {81, 77, 80, 76}, {75, 79, 74, 78}, {79, 75, 80, 76}, {73, 77, 74, 78}, }, { {82, 78, 81, 77}, {76, 80, 75, 79}, {80, 76, 81, 77}, {74, 78, 75, 79}, }, { {83, 79, 82, 78}, {77, 81, 76, 80}, {81, 77, 82, 78}, {75, 79, 76, 80}, }, { {84, 80, 83, 79}, {78, 82, 77, 81}, {82, 78, 83, 79}, {76, 80, 77, 81}, }, { {85, 81, 84, 80}, {79, 83, 78, 82}, {83, 79, 84, 80}, {77, 81, 78, 82}, }, { {86, 82, 85, 81}, {80, 84, 79, 83}, {84, 80, 85, 81}, {78, 82, 79, 83}, }, { {87, 83, 86, 82}, {81, 85, 80, 84}, {85, 81, 86, 82}, {79, 83, 80, 84}, }, { {88, 84, 87, 83}, {82, 86, 81, 85}, {86, 82, 87, 83}, {80, 84, 81, 85}, }, { {89, 85, 88, 84}, {83, 87, 82, 86}, {87, 83, 88, 84}, {81, 85, 82, 86}, }, { {90, 86, 89, 85}, {84, 88, 83, 87}, {88, 84, 89, 85}, {82, 86, 83, 87}, }, { {91, 87, 90, 86}, {85, 89, 84, 88}, {89, 85, 90, 86}, {83, 87, 84, 88}, }, { {92, 88, 91, 87}, {86, 90, 85, 89}, {90, 86, 91, 87}, {84, 88, 85, 89}, }, { {93, 89, 92, 88}, {87, 91, 86, 90}, {91, 87, 92, 88}, {85, 89, 86, 90}, }, { {94, 90, 93, 89}, {88, 92, 87, 91}, {92, 88, 93, 89}, {86, 90, 87, 91}, }, { {95, 91, 94, 90}, {89, 93, 88, 92}, {93, 89, 94, 90}, {87, 91, 88, 92}, }, { {96, 92, 95, 91}, {90, 94, 89, 93}, {94, 90, 95, 91}, {88, 92, 89, 93}, }, { {97, 93, 96, 92}, {91, 95, 90, 94}, {95, 91, 96, 92}, {89, 93, 90, 94}, }, { {98, 94, 97, 93}, {92, 96, 91, 95}, {96, 92, 97, 93}, {90, 94, 91, 95}, }, { {99, 95, 98, 94}, {93, 97, 92, 96}, {97, 93, 98, 94}, {91, 95, 92, 96}, }, { {100, 96, 99, 95}, {94, 98, 93, 97}, {98, 94, 99, 95}, {92, 96, 93, 97}, }, { {101, 97, 100, 96}, {95, 99, 94, 98}, {99, 95, 100, 96}, {93, 97, 94, 98}, }, { {102, 98, 101, 97}, {96, 100, 95, 99}, {100, 96, 101, 97}, {94, 98, 95, 99}, }, { {103, 99, 102, 98}, {97, 101, 96, 100}, {101, 97, 102, 98}, {95, 99, 96, 100}, }, { {104, 100, 103, 99}, {98, 102, 97, 101}, {102, 98, 103, 99}, {96, 100, 97, 101}, }, { {105, 101, 104, 100}, {99, 103, 98, 102}, {103, 99, 104, 100}, {97, 101, 98, 102}, }, { {106, 102, 105, 101}, {100, 104, 99, 103}, {104, 100, 105, 101}, {98, 102, 99, 103}, }, { {107, 103, 106, 102}, {101, 105, 100, 104}, {105, 101, 106, 102}, {99, 103, 100, 104}, }, { {108, 104, 107, 103}, {102, 106, 101, 105}, {106, 102, 107, 103}, {100, 104, 101, 105}, }, { {109, 105, 108, 104}, {103, 107, 102, 106}, {107, 103, 108, 104}, {101, 105, 102, 106}, }, { {110, 106, 109, 105}, {104, 108, 103, 107}, {108, 104, 109, 105}, {102, 106, 103, 107}, }, { {111, 107, 110, 106}, {105, 109, 104, 108}, {109, 105, 110, 106}, {103, 107, 104, 108}, }, { {112, 108, 111, 107}, {106, 110, 105, 109}, {110, 106, 111, 107}, {104, 108, 105, 109}, }, { {113, 109, 112, 108}, {107, 111, 106, 110}, {111, 107, 112, 108}, {105, 109, 106, 110}, }, { {114, 110, 113, 109}, {108, 112, 107, 111}, {112, 108, 113, 109}, {106, 110, 107, 111}, }, { {115, 111, 114, 110}, {109, 113, 108, 112}, {113, 109, 114, 110}, {107, 111, 108, 112}, }, { {116, 112, 115, 111}, {110, 114, 109, 113}, {114, 110, 115, 111}, {108, 112, 109, 113}, }, { {117, 113, 116, 112}, {111, 115, 110, 114}, {115, 111, 116, 112}, {109, 113, 110, 114}, }, { {118, 114, 117, 113}, {112, 116, 111, 115}, {116, 112, 117, 113}, {110, 114, 111, 115}, }, { {119, 115, 118, 114}, {113, 117, 112, 116}, {117, 113, 118, 114}, {111, 115, 112, 116}, }, { {120, 116, 119, 115}, {114, 118, 113, 117}, {118, 114, 119, 115}, {112, 116, 113, 117}, }, { {121, 117, 120, 116}, {115, 119, 114, 118}, {119, 115, 120, 116}, {113, 117, 114, 118}, }, { {122, 118, 121, 117}, {116, 120, 115, 119}, {120, 116, 121, 117}, {114, 118, 115, 119}, }, { {123, 119, 122, 118}, {117, 121, 116, 120}, {121, 117, 122, 118}, {115, 119, 116, 120}, }, { {124, 120, 123, 119}, {118, 122, 117, 121}, {122, 118, 123, 119}, {116, 120, 117, 121}, }, { {125, 121, 124, 120}, {119, 123, 118, 122}, {123, 119, 124, 120}, {117, 121, 118, 122}, }, { {126, 122, 125, 121}, {120, 124, 119, 123}, {124, 120, 125, 121}, {118, 122, 119, 123}, }, { {127, 123, 126, 122}, {121, 125, 120, 124}, {125, 121, 126, 122}, {119, 123, 120, 124}, }, { {128, 124, 127, 123}, {122, 126, 121, 125}, {126, 122, 127, 123}, {120, 124, 121, 125}, }, { {129, 125, 128, 124}, {123, 127, 122, 126}, {127, 123, 128, 124}, {121, 125, 122, 126}, }, { {130, 126, 129, 125}, {124, 128, 123, 127}, {128, 124, 129, 125}, {122, 126, 123, 127}, }, { {131, 127, 130, 126}, {125, 129, 124, 128}, {129, 125, 130, 126}, {123, 127, 124, 128}, }, { {132, 128, 131, 127}, {126, 130, 125, 129}, {130, 126, 131, 127}, {124, 128, 125, 129}, }, { {133, 129, 132, 128}, {127, 131, 126, 130}, {131, 127, 132, 128}, {125, 129, 126, 130}, }, { {134, 130, 133, 129}, {128, 132, 127, 131}, {132, 128, 133, 129}, {126, 130, 127, 131}, }, { {135, 131, 134, 130}, {129, 133, 128, 132}, {133, 129, 134, 130}, {127, 131, 128, 132}, }, { {136, 132, 135, 131}, {130, 134, 129, 133}, {134, 130, 135, 131}, {128, 132, 129, 133}, }, { {137, 133, 136, 132}, {131, 135, 130, 134}, {135, 131, 136, 132}, {129, 133, 130, 134}, }, { {138, 134, 137, 133}, {132, 136, 131, 135}, {136, 132, 137, 133}, {130, 134, 131, 135}, }, { {139, 135, 138, 134}, {133, 137, 132, 136}, {137, 133, 138, 134}, {131, 135, 132, 136}, }, { {140, 136, 139, 135}, {134, 138, 133, 137}, {138, 134, 139, 135}, {132, 136, 133, 137}, }, { {141, 137, 140, 136}, {135, 139, 134, 138}, {139, 135, 140, 136}, {133, 137, 134, 138}, }, { {142, 138, 141, 137}, {136, 140, 135, 139}, {140, 136, 141, 137}, {134, 138, 135, 139}, }, { {143, 139, 142, 138}, {137, 141, 136, 140}, {141, 137, 142, 138}, {135, 139, 136, 140}, }, { {144, 140, 143, 139}, {138, 142, 137, 141}, {142, 138, 143, 139}, {136, 140, 137, 141}, }, { {145, 141, 144, 140}, {139, 143, 138, 142}, {143, 139, 144, 140}, {137, 141, 138, 142}, }, { {146, 142, 145, 141}, {140, 144, 139, 143}, {144, 140, 145, 141}, {138, 142, 139, 143}, }, { {147, 143, 146, 142}, {141, 145, 140, 144}, {145, 141, 146, 142}, {139, 143, 140, 144}, }, { {148, 144, 147, 143}, {142, 146, 141, 145}, {146, 142, 147, 143}, {140, 144, 141, 145}, }, { {149, 145, 148, 144}, {143, 147, 142, 146}, {147, 143, 148, 144}, {141, 145, 142, 146}, }, { {150, 146, 149, 145}, {144, 148, 143, 147}, {148, 144, 149, 145}, {142, 146, 143, 147}, }, { {151, 147, 150, 146}, {145, 149, 144, 148}, {149, 145, 150, 146}, {143, 147, 144, 148}, }, { {152, 148, 151, 147}, {146, 150, 145, 149}, {150, 146, 151, 147}, {144, 148, 145, 149}, }, { {153, 149, 152, 148}, {147, 151, 146, 150}, {151, 147, 152, 148}, {145, 149, 146, 150}, }, { {154, 150, 153, 149}, {148, 152, 147, 151}, {152, 148, 153, 149}, {146, 150, 147, 151}, }, { {155, 151, 154, 150}, {149, 153, 148, 152}, {153, 149, 154, 150}, {147, 151, 148, 152}, }, { {156, 152, 155, 151}, {150, 154, 149, 153}, {154, 150, 155, 151}, {148, 152, 149, 153}, }, { {157, 153, 156, 152}, {151, 155, 150, 154}, {155, 151, 156, 152}, {149, 153, 150, 154}, }, { {158, 154, 157, 153}, {152, 156, 151, 155}, {156, 152, 157, 153}, {150, 154, 151, 155}, }, { {159, 155, 158, 154}, {153, 157, 152, 156}, {157, 153, 158, 154}, {151, 155, 152, 156}, }, { {160, 156, 159, 155}, {154, 158, 153, 157}, {158, 154, 159, 155}, {152, 156, 153, 157}, }, { {161, 157, 160, 156}, {155, 159, 154, 158}, {159, 155, 160, 156}, {153, 157, 154, 158}, }, { {162, 158, 161, 157}, {156, 160, 155, 159}, {160, 156, 161, 157}, {154, 158, 155, 159}, }, { {163, 159, 162, 158}, {157, 161, 156, 160}, {161, 157, 162, 158}, {155, 159, 156, 160}, }, { {164, 160, 163, 159}, {158, 162, 157, 161}, {162, 158, 163, 159}, {156, 160, 157, 161}, }, { {165, 161, 164, 160}, {159, 163, 158, 162}, {163, 159, 164, 160}, {157, 161, 158, 162}, }, { {166, 162, 165, 161}, {160, 164, 159, 163}, {164, 160, 165, 161}, {158, 162, 159, 163}, }, { {167, 163, 166, 162}, {161, 165, 160, 164}, {165, 161, 166, 162}, {159, 163, 160, 164}, }, { {168, 164, 167, 163}, {162, 166, 161, 165}, {166, 162, 167, 163}, {160, 164, 161, 165}, }, { {169, 165, 168, 164}, {163, 167, 162, 166}, {167, 163, 168, 164}, {161, 165, 162, 166}, }, { {170, 166, 169, 165}, {164, 168, 163, 167}, {168, 164, 169, 165}, {162, 166, 163, 167}, }, { {171, 167, 170, 166}, {165, 169, 164, 168}, {169, 165, 170, 166}, {163, 167, 164, 168}, }, { {172, 168, 171, 167}, {166, 170, 165, 169}, {170, 166, 171, 167}, {164, 168, 165, 169}, }, { {173, 169, 172, 168}, {167, 171, 166, 170}, {171, 167, 172, 168}, {165, 169, 166, 170}, }, { {174, 170, 173, 169}, {168, 172, 167, 171}, {172, 168, 173, 169}, {166, 170, 167, 171}, }, { {175, 171, 174, 170}, {169, 173, 168, 172}, {173, 169, 174, 170}, {167, 171, 168, 172}, }, { {176, 172, 175, 171}, {170, 174, 169, 173}, {174, 170, 175, 171}, {168, 172, 169, 173}, }, { {177, 173, 176, 172}, {171, 175, 170, 174}, {175, 171, 176, 172}, {169, 173, 170, 174}, }, { {178, 174, 177, 173}, {172, 176, 171, 175}, {176, 172, 177, 173}, {170, 174, 171, 175}, }, { {179, 175, 178, 174}, {173, 177, 172, 176}, {177, 173, 178, 174}, {171, 175, 172, 176}, }, { {180, 176, 179, 175}, {174, 178, 173, 177}, {178, 174, 179, 175}, {172, 176, 173, 177}, }, { {181, 177, 180, 176}, {175, 179, 174, 178}, {179, 175, 180, 176}, {173, 177, 174, 178}, }, { {182, 178, 181, 177}, {176, 180, 175, 179}, {180, 176, 181, 177}, {174, 178, 175, 179}, }, { {183, 179, 182, 178}, {177, 181, 176, 180}, {181, 177, 182, 178}, {175, 179, 176, 180}, }, { {184, 180, 183, 179}, {178, 182, 177, 181}, {182, 178, 183, 179}, {176, 180, 177, 181}, }, { {185, 181, 184, 180}, {179, 183, 178, 182}, {183, 179, 184, 180}, {177, 181, 178, 182}, }, { {186, 182, 185, 181}, {180, 184, 179, 183}, {184, 180, 185, 181}, {178, 182, 179, 183}, }, { {187, 183, 186, 182}, {181, 185, 180, 184}, {185, 181, 186, 182}, {179, 183, 180, 184}, }, { {188, 184, 187, 183}, {182, 186, 181, 185}, {186, 182, 187, 183}, {180, 184, 181, 185}, }, { {189, 185, 188, 184}, {183, 187, 182, 186}, {187, 183, 188, 184}, {181, 185, 182, 186}, }, { {190, 186, 189, 185}, {184, 188, 183, 187}, {188, 184, 189, 185}, {182, 186, 183, 187}, }, { {191, 187, 190, 186}, {185, 189, 184, 188}, {189, 185, 190, 186}, {183, 187, 184, 188}, }, { {192, 188, 191, 187}, {186, 190, 185, 189}, {190, 186, 191, 187}, {184, 188, 185, 189}, }, { {193, 189, 192, 188}, {187, 191, 186, 190}, {191, 187, 192, 188}, {185, 189, 186, 190}, }, { {194, 190, 193, 189}, {188, 192, 187, 191}, {192, 188, 193, 189}, {186, 190, 187, 191}, }, { {195, 191, 194, 190}, {189, 193, 188, 192}, {193, 189, 194, 190}, {187, 191, 188, 192}, }, { {196, 192, 195, 191}, {190, 194, 189, 193}, {194, 190, 195, 191}, {188, 192, 189, 193}, }, { {197, 193, 196, 192}, {191, 195, 190, 194}, {195, 191, 196, 192}, {189, 193, 190, 194}, }, { {198, 194, 197, 193}, {192, 196, 191, 195}, {196, 192, 197, 193}, {190, 194, 191, 195}, }, { {199, 195, 198, 194}, {193, 197, 192, 196}, {197, 193, 198, 194}, {191, 195, 192, 196}, }, { {200, 196, 199, 195}, {194, 198, 193, 197}, {198, 194, 199, 195}, {192, 196, 193, 197}, }, { {201, 197, 200, 196}, {195, 199, 194, 198}, {199, 195, 200, 196}, {193, 197, 194, 198}, }, { {202, 198, 201, 197}, {196, 200, 195, 199}, {200, 196, 201, 197}, {194, 198, 195, 199}, }, { {203, 199, 202, 198}, {197, 201, 196, 200}, {201, 197, 202, 198}, {195, 199, 196, 200}, }, { {204, 200, 203, 199}, {198, 202, 197, 201}, {202, 198, 203, 199}, {196, 200, 197, 201}, }, { {205, 201, 204, 200}, {199, 203, 198, 202}, {203, 199, 204, 200}, {197, 201, 198, 202}, }, { {206, 202, 205, 201}, {200, 204, 199, 203}, {204, 200, 205, 201}, {198, 202, 199, 203}, }, { {207, 203, 206, 202}, {201, 205, 200, 204}, {205, 201, 206, 202}, {199, 203, 200, 204}, }, { {208, 204, 207, 203}, {202, 206, 201, 205}, {206, 202, 207, 203}, {200, 204, 201, 205}, }, { {209, 205, 208, 204}, {203, 207, 202, 206}, {207, 203, 208, 204}, {201, 205, 202, 206}, }, { {210, 206, 209, 205}, {204, 208, 203, 207}, {208, 204, 209, 205}, {202, 206, 203, 207}, }, { {211, 207, 210, 206}, {205, 209, 204, 208}, {209, 205, 210, 206}, {203, 207, 204, 208}, }, { {212, 208, 211, 207}, {206, 210, 205, 209}, {210, 206, 211, 207}, {204, 208, 205, 209}, }, { {213, 209, 212, 208}, {207, 211, 206, 210}, {211, 207, 212, 208}, {205, 209, 206, 210}, }, { {214, 210, 213, 209}, {208, 212, 207, 211}, {212, 208, 213, 209}, {206, 210, 207, 211}, }, { {215, 211, 214, 210}, {209, 213, 208, 212}, {213, 209, 214, 210}, {207, 211, 208, 212}, }, { {216, 212, 215, 211}, {210, 214, 209, 213}, {214, 210, 215, 211}, {208, 212, 209, 213}, }, { {217, 213, 216, 212}, {211, 215, 210, 214}, {215, 211, 216, 212}, {209, 213, 210, 214}, }, { {218, 214, 217, 213}, {212, 216, 211, 215}, {216, 212, 217, 213}, {210, 214, 211, 215}, }, { {219, 215, 218, 214}, {213, 217, 212, 216}, {217, 213, 218, 214}, {211, 215, 212, 216}, }, { {220, 216, 219, 215}, {214, 218, 213, 217}, {218, 214, 219, 215}, {212, 216, 213, 217}, }, { {221, 217, 220, 216}, {215, 219, 214, 218}, {219, 215, 220, 216}, {213, 217, 214, 218}, }, { {222, 218, 221, 217}, {216, 220, 215, 219}, {220, 216, 221, 217}, {214, 218, 215, 219}, }, { {223, 219, 222, 218}, {217, 221, 216, 220}, {221, 217, 222, 218}, {215, 219, 216, 220}, }, { {224, 220, 223, 219}, {218, 222, 217, 221}, {222, 218, 223, 219}, {216, 220, 217, 221}, }, { {225, 221, 224, 220}, {219, 223, 218, 222}, {223, 219, 224, 220}, {217, 221, 218, 222}, }, { {226, 222, 225, 221}, {220, 224, 219, 223}, {224, 220, 225, 221}, {218, 222, 219, 223}, }, { {227, 223, 226, 222}, {221, 225, 220, 224}, {225, 221, 226, 222}, {219, 223, 220, 224}, }, { {228, 224, 227, 223}, {222, 226, 221, 225}, {226, 222, 227, 223}, {220, 224, 221, 225}, }, { {229, 225, 228, 224}, {223, 227, 222, 226}, {227, 223, 228, 224}, {221, 225, 222, 226}, }, { {230, 226, 229, 225}, {224, 228, 223, 227}, {228, 224, 229, 225}, {222, 226, 223, 227}, }, { {231, 227, 230, 226}, {225, 229, 224, 228}, {229, 225, 230, 226}, {223, 227, 224, 228}, }, { {232, 228, 231, 227}, {226, 230, 225, 229}, {230, 226, 231, 227}, {224, 228, 225, 229}, }, { {233, 229, 232, 228}, {227, 231, 226, 230}, {231, 227, 232, 228}, {225, 229, 226, 230}, }, { {234, 230, 233, 229}, {228, 232, 227, 231}, {232, 228, 233, 229}, {226, 230, 227, 231}, }, { {235, 231, 234, 230}, {229, 233, 228, 232}, {233, 229, 234, 230}, {227, 231, 228, 232}, }, { {236, 232, 235, 231}, {230, 234, 229, 233}, {234, 230, 235, 231}, {228, 232, 229, 233}, }, { {237, 233, 236, 232}, {231, 235, 230, 234}, {235, 231, 236, 232}, {229, 233, 230, 234}, }, { {238, 234, 237, 233}, {232, 236, 231, 235}, {236, 232, 237, 233}, {230, 234, 231, 235}, }, { {239, 235, 238, 234}, {233, 237, 232, 236}, {237, 233, 238, 234}, {231, 235, 232, 236}, }, { {240, 236, 239, 235}, {234, 238, 233, 237}, {238, 234, 239, 235}, {232, 236, 233, 237}, }, { {241, 237, 240, 236}, {235, 239, 234, 238}, {239, 235, 240, 236}, {233, 237, 234, 238}, }, { {242, 238, 241, 237}, {236, 240, 235, 239}, {240, 236, 241, 237}, {234, 238, 235, 239}, }, { {243, 239, 242, 238}, {237, 241, 236, 240}, {241, 237, 242, 238}, {235, 239, 236, 240}, }, { {244, 240, 243, 239}, {238, 242, 237, 241}, {242, 238, 243, 239}, {236, 240, 237, 241}, }, { {245, 241, 244, 240}, {239, 243, 238, 242}, {243, 239, 244, 240}, {237, 241, 238, 242}, }, { {246, 242, 245, 241}, {240, 244, 239, 243}, {244, 240, 245, 241}, {238, 242, 239, 243}, }, { {247, 243, 246, 242}, {241, 245, 240, 244}, {245, 241, 246, 242}, {239, 243, 240, 244}, }, { {248, 244, 247, 243}, {242, 246, 241, 245}, {246, 242, 247, 243}, {240, 244, 241, 245}, }, { {249, 245, 248, 244}, {243, 247, 242, 246}, {247, 243, 248, 244}, {241, 245, 242, 246}, }, { {250, 246, 249, 245}, {244, 248, 243, 247}, {248, 244, 249, 245}, {242, 246, 243, 247}, }, { {251, 247, 250, 246}, {245, 249, 244, 248}, {249, 245, 250, 246}, {243, 247, 244, 248}, }, { {252, 248, 251, 247}, {246, 250, 245, 249}, {250, 246, 251, 247}, {244, 248, 245, 249}, }, { {253, 249, 252, 248}, {247, 251, 246, 250}, {251, 247, 252, 248}, {245, 249, 246, 250}, }, { {254, 250, 253, 249}, {248, 252, 247, 251}, {252, 248, 253, 249}, {246, 250, 247, 251}, }, { {255, 251, 254, 250}, {249, 253, 248, 252}, {253, 249, 254, 250}, {247, 251, 248, 252}, }, { {255, 252, 255, 251}, {250, 254, 249, 253}, {254, 250, 255, 251}, {248, 252, 249, 253}, }, { {255, 253, 255, 252}, {251, 255, 250, 254}, {255, 251, 255, 252}, {249, 253, 250, 254}, }, { {255, 254, 255, 253}, {252, 255, 251, 255}, {255, 252, 255, 253}, {250, 254, 251, 255}, }, { {255, 255, 255, 254}, {253, 255, 252, 255}, {255, 253, 255, 254}, {251, 255, 252, 255}, }, { {255, 255, 255, 255}, {254, 255, 253, 255}, {255, 254, 255, 255}, {252, 255, 253, 255}, }, }; static const uint8_t dithersub_g[256][4][4] = { { {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, }, { {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, }, { {5, 3, 4, 2}, {2, 4, 1, 3}, {4, 2, 4, 2}, {1, 3, 1, 3}, }, { {6, 4, 5, 3}, {3, 5, 2, 4}, {5, 3, 5, 3}, {2, 4, 2, 4}, }, { {7, 5, 6, 4}, {4, 6, 3, 5}, {6, 4, 6, 4}, {3, 5, 3, 5}, }, { {8, 6, 7, 5}, {5, 7, 4, 6}, {7, 5, 7, 5}, {4, 6, 4, 6}, }, { {9, 7, 8, 6}, {6, 8, 5, 7}, {8, 6, 8, 6}, {5, 7, 5, 7}, }, { {10, 8, 9, 7}, {7, 9, 6, 8}, {9, 7, 9, 7}, {6, 8, 6, 8}, }, { {11, 9, 10, 8}, {8, 10, 7, 9}, {10, 8, 10, 8}, {7, 9, 7, 9}, }, { {12, 10, 11, 9}, {9, 11, 8, 10}, {11, 9, 11, 9}, {8, 10, 8, 10}, }, { {13, 11, 12, 10}, {10, 12, 9, 11}, {12, 10, 12, 10}, {9, 11, 9, 11}, }, { {14, 12, 13, 11}, {11, 13, 10, 12}, {13, 11, 13, 11}, {10, 12, 10, 12}, }, { {15, 13, 14, 12}, {12, 14, 11, 13}, {14, 12, 14, 12}, {11, 13, 11, 13}, }, { {16, 14, 15, 13}, {13, 15, 12, 14}, {15, 13, 15, 13}, {12, 14, 12, 14}, }, { {17, 15, 16, 14}, {14, 16, 13, 15}, {16, 14, 16, 14}, {13, 15, 13, 15}, }, { {18, 16, 17, 15}, {15, 17, 14, 16}, {17, 15, 17, 15}, {14, 16, 14, 16}, }, { {19, 17, 18, 16}, {16, 18, 15, 17}, {18, 16, 18, 16}, {15, 17, 15, 17}, }, { {20, 18, 19, 17}, {17, 19, 16, 18}, {19, 17, 19, 17}, {16, 18, 16, 18}, }, { {21, 19, 20, 18}, {18, 20, 17, 19}, {20, 18, 20, 18}, {17, 19, 17, 19}, }, { {22, 20, 21, 19}, {19, 21, 18, 20}, {21, 19, 21, 19}, {18, 20, 18, 20}, }, { {23, 21, 22, 20}, {20, 22, 19, 21}, {22, 20, 22, 20}, {19, 21, 19, 21}, }, { {24, 22, 23, 21}, {21, 23, 20, 22}, {23, 21, 23, 21}, {20, 22, 20, 22}, }, { {25, 23, 24, 22}, {22, 24, 21, 23}, {24, 22, 24, 22}, {21, 23, 21, 23}, }, { {26, 24, 25, 23}, {23, 25, 22, 24}, {25, 23, 25, 23}, {22, 24, 22, 24}, }, { {27, 25, 26, 24}, {24, 26, 23, 25}, {26, 24, 26, 24}, {23, 25, 23, 25}, }, { {28, 26, 27, 25}, {25, 27, 24, 26}, {27, 25, 27, 25}, {24, 26, 24, 26}, }, { {29, 27, 28, 26}, {26, 28, 25, 27}, {28, 26, 28, 26}, {25, 27, 25, 27}, }, { {30, 28, 29, 27}, {27, 29, 26, 28}, {29, 27, 29, 27}, {26, 28, 26, 28}, }, { {31, 29, 30, 28}, {28, 30, 27, 29}, {30, 28, 30, 28}, {27, 29, 27, 29}, }, { {32, 30, 31, 29}, {29, 31, 28, 30}, {31, 29, 31, 29}, {28, 30, 28, 30}, }, { {33, 31, 32, 30}, {30, 32, 29, 31}, {32, 30, 32, 30}, {29, 31, 29, 31}, }, { {34, 32, 33, 31}, {31, 33, 30, 32}, {33, 31, 33, 31}, {30, 32, 30, 32}, }, { {35, 33, 34, 32}, {32, 34, 31, 33}, {34, 32, 34, 32}, {31, 33, 31, 33}, }, { {36, 34, 35, 33}, {33, 35, 32, 34}, {35, 33, 35, 33}, {32, 34, 32, 34}, }, { {37, 35, 36, 34}, {34, 36, 33, 35}, {36, 34, 36, 34}, {33, 35, 33, 35}, }, { {38, 36, 37, 35}, {35, 37, 34, 36}, {37, 35, 37, 35}, {34, 36, 34, 36}, }, { {39, 37, 38, 36}, {36, 38, 35, 37}, {38, 36, 38, 36}, {35, 37, 35, 37}, }, { {40, 38, 39, 37}, {37, 39, 36, 38}, {39, 37, 39, 37}, {36, 38, 36, 38}, }, { {41, 39, 40, 38}, {38, 40, 37, 39}, {40, 38, 40, 38}, {37, 39, 37, 39}, }, { {42, 40, 41, 39}, {39, 41, 38, 40}, {41, 39, 41, 39}, {38, 40, 38, 40}, }, { {43, 41, 42, 40}, {40, 42, 39, 41}, {42, 40, 42, 40}, {39, 41, 39, 41}, }, { {44, 42, 43, 41}, {41, 43, 40, 42}, {43, 41, 43, 41}, {40, 42, 40, 42}, }, { {45, 43, 44, 42}, {42, 44, 41, 43}, {44, 42, 44, 42}, {41, 43, 41, 43}, }, { {46, 44, 45, 43}, {43, 45, 42, 44}, {45, 43, 45, 43}, {42, 44, 42, 44}, }, { {47, 45, 46, 44}, {44, 46, 43, 45}, {46, 44, 46, 44}, {43, 45, 43, 45}, }, { {48, 46, 47, 45}, {45, 47, 44, 46}, {47, 45, 47, 45}, {44, 46, 44, 46}, }, { {49, 47, 48, 46}, {46, 48, 45, 47}, {48, 46, 48, 46}, {45, 47, 45, 47}, }, { {50, 48, 49, 47}, {47, 49, 46, 48}, {49, 47, 49, 47}, {46, 48, 46, 48}, }, { {51, 49, 50, 48}, {48, 50, 47, 49}, {50, 48, 50, 48}, {47, 49, 47, 49}, }, { {52, 50, 51, 49}, {49, 51, 48, 50}, {51, 49, 51, 49}, {48, 50, 48, 50}, }, { {53, 51, 52, 50}, {50, 52, 49, 51}, {52, 50, 52, 50}, {49, 51, 49, 51}, }, { {54, 52, 53, 51}, {51, 53, 50, 52}, {53, 51, 53, 51}, {50, 52, 50, 52}, }, { {55, 53, 54, 52}, {52, 54, 51, 53}, {54, 52, 54, 52}, {51, 53, 51, 53}, }, { {56, 54, 55, 53}, {53, 55, 52, 54}, {55, 53, 55, 53}, {52, 54, 52, 54}, }, { {57, 55, 56, 54}, {54, 56, 53, 55}, {56, 54, 56, 54}, {53, 55, 53, 55}, }, { {58, 56, 57, 55}, {55, 57, 54, 56}, {57, 55, 57, 55}, {54, 56, 54, 56}, }, { {59, 57, 58, 56}, {56, 58, 55, 57}, {58, 56, 58, 56}, {55, 57, 55, 57}, }, { {60, 58, 59, 57}, {57, 59, 56, 58}, {59, 57, 59, 57}, {56, 58, 56, 58}, }, { {61, 59, 60, 58}, {58, 60, 57, 59}, {60, 58, 60, 58}, {57, 59, 57, 59}, }, { {62, 60, 61, 59}, {59, 61, 58, 60}, {61, 59, 61, 59}, {58, 60, 58, 60}, }, { {63, 61, 62, 60}, {60, 62, 59, 61}, {62, 60, 62, 60}, {59, 61, 59, 61}, }, { {64, 62, 63, 61}, {61, 63, 60, 62}, {63, 61, 63, 61}, {60, 62, 60, 62}, }, { {65, 63, 64, 62}, {62, 64, 61, 63}, {64, 62, 64, 62}, {61, 63, 61, 63}, }, { {66, 64, 65, 63}, {63, 65, 62, 64}, {65, 63, 65, 63}, {62, 64, 62, 64}, }, { {67, 65, 66, 64}, {64, 66, 63, 65}, {66, 64, 66, 64}, {63, 65, 63, 65}, }, { {68, 66, 67, 65}, {65, 67, 64, 66}, {67, 65, 67, 65}, {64, 66, 64, 66}, }, { {69, 67, 68, 66}, {66, 68, 65, 67}, {68, 66, 68, 66}, {65, 67, 65, 67}, }, { {70, 68, 69, 67}, {67, 69, 66, 68}, {69, 67, 69, 67}, {66, 68, 66, 68}, }, { {71, 69, 70, 68}, {68, 70, 67, 69}, {70, 68, 70, 68}, {67, 69, 67, 69}, }, { {72, 70, 71, 69}, {69, 71, 68, 70}, {71, 69, 71, 69}, {68, 70, 68, 70}, }, { {73, 71, 72, 70}, {70, 72, 69, 71}, {72, 70, 72, 70}, {69, 71, 69, 71}, }, { {74, 72, 73, 71}, {71, 73, 70, 72}, {73, 71, 73, 71}, {70, 72, 70, 72}, }, { {75, 73, 74, 72}, {72, 74, 71, 73}, {74, 72, 74, 72}, {71, 73, 71, 73}, }, { {76, 74, 75, 73}, {73, 75, 72, 74}, {75, 73, 75, 73}, {72, 74, 72, 74}, }, { {77, 75, 76, 74}, {74, 76, 73, 75}, {76, 74, 76, 74}, {73, 75, 73, 75}, }, { {78, 76, 77, 75}, {75, 77, 74, 76}, {77, 75, 77, 75}, {74, 76, 74, 76}, }, { {79, 77, 78, 76}, {76, 78, 75, 77}, {78, 76, 78, 76}, {75, 77, 75, 77}, }, { {80, 78, 79, 77}, {77, 79, 76, 78}, {79, 77, 79, 77}, {76, 78, 76, 78}, }, { {81, 79, 80, 78}, {78, 80, 77, 79}, {80, 78, 80, 78}, {77, 79, 77, 79}, }, { {82, 80, 81, 79}, {79, 81, 78, 80}, {81, 79, 81, 79}, {78, 80, 78, 80}, }, { {83, 81, 82, 80}, {80, 82, 79, 81}, {82, 80, 82, 80}, {79, 81, 79, 81}, }, { {84, 82, 83, 81}, {81, 83, 80, 82}, {83, 81, 83, 81}, {80, 82, 80, 82}, }, { {85, 83, 84, 82}, {82, 84, 81, 83}, {84, 82, 84, 82}, {81, 83, 81, 83}, }, { {86, 84, 85, 83}, {83, 85, 82, 84}, {85, 83, 85, 83}, {82, 84, 82, 84}, }, { {87, 85, 86, 84}, {84, 86, 83, 85}, {86, 84, 86, 84}, {83, 85, 83, 85}, }, { {88, 86, 87, 85}, {85, 87, 84, 86}, {87, 85, 87, 85}, {84, 86, 84, 86}, }, { {89, 87, 88, 86}, {86, 88, 85, 87}, {88, 86, 88, 86}, {85, 87, 85, 87}, }, { {90, 88, 89, 87}, {87, 89, 86, 88}, {89, 87, 89, 87}, {86, 88, 86, 88}, }, { {91, 89, 90, 88}, {88, 90, 87, 89}, {90, 88, 90, 88}, {87, 89, 87, 89}, }, { {92, 90, 91, 89}, {89, 91, 88, 90}, {91, 89, 91, 89}, {88, 90, 88, 90}, }, { {93, 91, 92, 90}, {90, 92, 89, 91}, {92, 90, 92, 90}, {89, 91, 89, 91}, }, { {94, 92, 93, 91}, {91, 93, 90, 92}, {93, 91, 93, 91}, {90, 92, 90, 92}, }, { {95, 93, 94, 92}, {92, 94, 91, 93}, {94, 92, 94, 92}, {91, 93, 91, 93}, }, { {96, 94, 95, 93}, {93, 95, 92, 94}, {95, 93, 95, 93}, {92, 94, 92, 94}, }, { {97, 95, 96, 94}, {94, 96, 93, 95}, {96, 94, 96, 94}, {93, 95, 93, 95}, }, { {98, 96, 97, 95}, {95, 97, 94, 96}, {97, 95, 97, 95}, {94, 96, 94, 96}, }, { {99, 97, 98, 96}, {96, 98, 95, 97}, {98, 96, 98, 96}, {95, 97, 95, 97}, }, { {100, 98, 99, 97}, {97, 99, 96, 98}, {99, 97, 99, 97}, {96, 98, 96, 98}, }, { {101, 99, 100, 98}, {98, 100, 97, 99}, {100, 98, 100, 98}, {97, 99, 97, 99}, }, { {102, 100, 101, 99}, {99, 101, 98, 100}, {101, 99, 101, 99}, {98, 100, 98, 100}, }, { {103, 101, 102, 100}, {100, 102, 99, 101}, {102, 100, 102, 100}, {99, 101, 99, 101}, }, { {104, 102, 103, 101}, {101, 103, 100, 102}, {103, 101, 103, 101}, {100, 102, 100, 102}, }, { {105, 103, 104, 102}, {102, 104, 101, 103}, {104, 102, 104, 102}, {101, 103, 101, 103}, }, { {106, 104, 105, 103}, {103, 105, 102, 104}, {105, 103, 105, 103}, {102, 104, 102, 104}, }, { {107, 105, 106, 104}, {104, 106, 103, 105}, {106, 104, 106, 104}, {103, 105, 103, 105}, }, { {108, 106, 107, 105}, {105, 107, 104, 106}, {107, 105, 107, 105}, {104, 106, 104, 106}, }, { {109, 107, 108, 106}, {106, 108, 105, 107}, {108, 106, 108, 106}, {105, 107, 105, 107}, }, { {110, 108, 109, 107}, {107, 109, 106, 108}, {109, 107, 109, 107}, {106, 108, 106, 108}, }, { {111, 109, 110, 108}, {108, 110, 107, 109}, {110, 108, 110, 108}, {107, 109, 107, 109}, }, { {112, 110, 111, 109}, {109, 111, 108, 110}, {111, 109, 111, 109}, {108, 110, 108, 110}, }, { {113, 111, 112, 110}, {110, 112, 109, 111}, {112, 110, 112, 110}, {109, 111, 109, 111}, }, { {114, 112, 113, 111}, {111, 113, 110, 112}, {113, 111, 113, 111}, {110, 112, 110, 112}, }, { {115, 113, 114, 112}, {112, 114, 111, 113}, {114, 112, 114, 112}, {111, 113, 111, 113}, }, { {116, 114, 115, 113}, {113, 115, 112, 114}, {115, 113, 115, 113}, {112, 114, 112, 114}, }, { {117, 115, 116, 114}, {114, 116, 113, 115}, {116, 114, 116, 114}, {113, 115, 113, 115}, }, { {118, 116, 117, 115}, {115, 117, 114, 116}, {117, 115, 117, 115}, {114, 116, 114, 116}, }, { {119, 117, 118, 116}, {116, 118, 115, 117}, {118, 116, 118, 116}, {115, 117, 115, 117}, }, { {120, 118, 119, 117}, {117, 119, 116, 118}, {119, 117, 119, 117}, {116, 118, 116, 118}, }, { {121, 119, 120, 118}, {118, 120, 117, 119}, {120, 118, 120, 118}, {117, 119, 117, 119}, }, { {122, 120, 121, 119}, {119, 121, 118, 120}, {121, 119, 121, 119}, {118, 120, 118, 120}, }, { {123, 121, 122, 120}, {120, 122, 119, 121}, {122, 120, 122, 120}, {119, 121, 119, 121}, }, { {124, 122, 123, 121}, {121, 123, 120, 122}, {123, 121, 123, 121}, {120, 122, 120, 122}, }, { {125, 123, 124, 122}, {122, 124, 121, 123}, {124, 122, 124, 122}, {121, 123, 121, 123}, }, { {126, 124, 125, 123}, {123, 125, 122, 124}, {125, 123, 125, 123}, {122, 124, 122, 124}, }, { {127, 125, 126, 124}, {124, 126, 123, 125}, {126, 124, 126, 124}, {123, 125, 123, 125}, }, { {128, 126, 127, 125}, {125, 127, 124, 126}, {127, 125, 127, 125}, {124, 126, 124, 126}, }, { {129, 127, 128, 126}, {126, 128, 125, 127}, {128, 126, 128, 126}, {125, 127, 125, 127}, }, { {130, 128, 129, 127}, {127, 129, 126, 128}, {129, 127, 129, 127}, {126, 128, 126, 128}, }, { {131, 129, 130, 128}, {128, 130, 127, 129}, {130, 128, 130, 128}, {127, 129, 127, 129}, }, { {132, 130, 131, 129}, {129, 131, 128, 130}, {131, 129, 131, 129}, {128, 130, 128, 130}, }, { {133, 131, 132, 130}, {130, 132, 129, 131}, {132, 130, 132, 130}, {129, 131, 129, 131}, }, { {134, 132, 133, 131}, {131, 133, 130, 132}, {133, 131, 133, 131}, {130, 132, 130, 132}, }, { {135, 133, 134, 132}, {132, 134, 131, 133}, {134, 132, 134, 132}, {131, 133, 131, 133}, }, { {136, 134, 135, 133}, {133, 135, 132, 134}, {135, 133, 135, 133}, {132, 134, 132, 134}, }, { {137, 135, 136, 134}, {134, 136, 133, 135}, {136, 134, 136, 134}, {133, 135, 133, 135}, }, { {138, 136, 137, 135}, {135, 137, 134, 136}, {137, 135, 137, 135}, {134, 136, 134, 136}, }, { {139, 137, 138, 136}, {136, 138, 135, 137}, {138, 136, 138, 136}, {135, 137, 135, 137}, }, { {140, 138, 139, 137}, {137, 139, 136, 138}, {139, 137, 139, 137}, {136, 138, 136, 138}, }, { {141, 139, 140, 138}, {138, 140, 137, 139}, {140, 138, 140, 138}, {137, 139, 137, 139}, }, { {142, 140, 141, 139}, {139, 141, 138, 140}, {141, 139, 141, 139}, {138, 140, 138, 140}, }, { {143, 141, 142, 140}, {140, 142, 139, 141}, {142, 140, 142, 140}, {139, 141, 139, 141}, }, { {144, 142, 143, 141}, {141, 143, 140, 142}, {143, 141, 143, 141}, {140, 142, 140, 142}, }, { {145, 143, 144, 142}, {142, 144, 141, 143}, {144, 142, 144, 142}, {141, 143, 141, 143}, }, { {146, 144, 145, 143}, {143, 145, 142, 144}, {145, 143, 145, 143}, {142, 144, 142, 144}, }, { {147, 145, 146, 144}, {144, 146, 143, 145}, {146, 144, 146, 144}, {143, 145, 143, 145}, }, { {148, 146, 147, 145}, {145, 147, 144, 146}, {147, 145, 147, 145}, {144, 146, 144, 146}, }, { {149, 147, 148, 146}, {146, 148, 145, 147}, {148, 146, 148, 146}, {145, 147, 145, 147}, }, { {150, 148, 149, 147}, {147, 149, 146, 148}, {149, 147, 149, 147}, {146, 148, 146, 148}, }, { {151, 149, 150, 148}, {148, 150, 147, 149}, {150, 148, 150, 148}, {147, 149, 147, 149}, }, { {152, 150, 151, 149}, {149, 151, 148, 150}, {151, 149, 151, 149}, {148, 150, 148, 150}, }, { {153, 151, 152, 150}, {150, 152, 149, 151}, {152, 150, 152, 150}, {149, 151, 149, 151}, }, { {154, 152, 153, 151}, {151, 153, 150, 152}, {153, 151, 153, 151}, {150, 152, 150, 152}, }, { {155, 153, 154, 152}, {152, 154, 151, 153}, {154, 152, 154, 152}, {151, 153, 151, 153}, }, { {156, 154, 155, 153}, {153, 155, 152, 154}, {155, 153, 155, 153}, {152, 154, 152, 154}, }, { {157, 155, 156, 154}, {154, 156, 153, 155}, {156, 154, 156, 154}, {153, 155, 153, 155}, }, { {158, 156, 157, 155}, {155, 157, 154, 156}, {157, 155, 157, 155}, {154, 156, 154, 156}, }, { {159, 157, 158, 156}, {156, 158, 155, 157}, {158, 156, 158, 156}, {155, 157, 155, 157}, }, { {160, 158, 159, 157}, {157, 159, 156, 158}, {159, 157, 159, 157}, {156, 158, 156, 158}, }, { {161, 159, 160, 158}, {158, 160, 157, 159}, {160, 158, 160, 158}, {157, 159, 157, 159}, }, { {162, 160, 161, 159}, {159, 161, 158, 160}, {161, 159, 161, 159}, {158, 160, 158, 160}, }, { {163, 161, 162, 160}, {160, 162, 159, 161}, {162, 160, 162, 160}, {159, 161, 159, 161}, }, { {164, 162, 163, 161}, {161, 163, 160, 162}, {163, 161, 163, 161}, {160, 162, 160, 162}, }, { {165, 163, 164, 162}, {162, 164, 161, 163}, {164, 162, 164, 162}, {161, 163, 161, 163}, }, { {166, 164, 165, 163}, {163, 165, 162, 164}, {165, 163, 165, 163}, {162, 164, 162, 164}, }, { {167, 165, 166, 164}, {164, 166, 163, 165}, {166, 164, 166, 164}, {163, 165, 163, 165}, }, { {168, 166, 167, 165}, {165, 167, 164, 166}, {167, 165, 167, 165}, {164, 166, 164, 166}, }, { {169, 167, 168, 166}, {166, 168, 165, 167}, {168, 166, 168, 166}, {165, 167, 165, 167}, }, { {170, 168, 169, 167}, {167, 169, 166, 168}, {169, 167, 169, 167}, {166, 168, 166, 168}, }, { {171, 169, 170, 168}, {168, 170, 167, 169}, {170, 168, 170, 168}, {167, 169, 167, 169}, }, { {172, 170, 171, 169}, {169, 171, 168, 170}, {171, 169, 171, 169}, {168, 170, 168, 170}, }, { {173, 171, 172, 170}, {170, 172, 169, 171}, {172, 170, 172, 170}, {169, 171, 169, 171}, }, { {174, 172, 173, 171}, {171, 173, 170, 172}, {173, 171, 173, 171}, {170, 172, 170, 172}, }, { {175, 173, 174, 172}, {172, 174, 171, 173}, {174, 172, 174, 172}, {171, 173, 171, 173}, }, { {176, 174, 175, 173}, {173, 175, 172, 174}, {175, 173, 175, 173}, {172, 174, 172, 174}, }, { {177, 175, 176, 174}, {174, 176, 173, 175}, {176, 174, 176, 174}, {173, 175, 173, 175}, }, { {178, 176, 177, 175}, {175, 177, 174, 176}, {177, 175, 177, 175}, {174, 176, 174, 176}, }, { {179, 177, 178, 176}, {176, 178, 175, 177}, {178, 176, 178, 176}, {175, 177, 175, 177}, }, { {180, 178, 179, 177}, {177, 179, 176, 178}, {179, 177, 179, 177}, {176, 178, 176, 178}, }, { {181, 179, 180, 178}, {178, 180, 177, 179}, {180, 178, 180, 178}, {177, 179, 177, 179}, }, { {182, 180, 181, 179}, {179, 181, 178, 180}, {181, 179, 181, 179}, {178, 180, 178, 180}, }, { {183, 181, 182, 180}, {180, 182, 179, 181}, {182, 180, 182, 180}, {179, 181, 179, 181}, }, { {184, 182, 183, 181}, {181, 183, 180, 182}, {183, 181, 183, 181}, {180, 182, 180, 182}, }, { {185, 183, 184, 182}, {182, 184, 181, 183}, {184, 182, 184, 182}, {181, 183, 181, 183}, }, { {186, 184, 185, 183}, {183, 185, 182, 184}, {185, 183, 185, 183}, {182, 184, 182, 184}, }, { {187, 185, 186, 184}, {184, 186, 183, 185}, {186, 184, 186, 184}, {183, 185, 183, 185}, }, { {188, 186, 187, 185}, {185, 187, 184, 186}, {187, 185, 187, 185}, {184, 186, 184, 186}, }, { {189, 187, 188, 186}, {186, 188, 185, 187}, {188, 186, 188, 186}, {185, 187, 185, 187}, }, { {190, 188, 189, 187}, {187, 189, 186, 188}, {189, 187, 189, 187}, {186, 188, 186, 188}, }, { {191, 189, 190, 188}, {188, 190, 187, 189}, {190, 188, 190, 188}, {187, 189, 187, 189}, }, { {192, 190, 191, 189}, {189, 191, 188, 190}, {191, 189, 191, 189}, {188, 190, 188, 190}, }, { {193, 191, 192, 190}, {190, 192, 189, 191}, {192, 190, 192, 190}, {189, 191, 189, 191}, }, { {194, 192, 193, 191}, {191, 193, 190, 192}, {193, 191, 193, 191}, {190, 192, 190, 192}, }, { {195, 193, 194, 192}, {192, 194, 191, 193}, {194, 192, 194, 192}, {191, 193, 191, 193}, }, { {196, 194, 195, 193}, {193, 195, 192, 194}, {195, 193, 195, 193}, {192, 194, 192, 194}, }, { {197, 195, 196, 194}, {194, 196, 193, 195}, {196, 194, 196, 194}, {193, 195, 193, 195}, }, { {198, 196, 197, 195}, {195, 197, 194, 196}, {197, 195, 197, 195}, {194, 196, 194, 196}, }, { {199, 197, 198, 196}, {196, 198, 195, 197}, {198, 196, 198, 196}, {195, 197, 195, 197}, }, { {200, 198, 199, 197}, {197, 199, 196, 198}, {199, 197, 199, 197}, {196, 198, 196, 198}, }, { {201, 199, 200, 198}, {198, 200, 197, 199}, {200, 198, 200, 198}, {197, 199, 197, 199}, }, { {202, 200, 201, 199}, {199, 201, 198, 200}, {201, 199, 201, 199}, {198, 200, 198, 200}, }, { {203, 201, 202, 200}, {200, 202, 199, 201}, {202, 200, 202, 200}, {199, 201, 199, 201}, }, { {204, 202, 203, 201}, {201, 203, 200, 202}, {203, 201, 203, 201}, {200, 202, 200, 202}, }, { {205, 203, 204, 202}, {202, 204, 201, 203}, {204, 202, 204, 202}, {201, 203, 201, 203}, }, { {206, 204, 205, 203}, {203, 205, 202, 204}, {205, 203, 205, 203}, {202, 204, 202, 204}, }, { {207, 205, 206, 204}, {204, 206, 203, 205}, {206, 204, 206, 204}, {203, 205, 203, 205}, }, { {208, 206, 207, 205}, {205, 207, 204, 206}, {207, 205, 207, 205}, {204, 206, 204, 206}, }, { {209, 207, 208, 206}, {206, 208, 205, 207}, {208, 206, 208, 206}, {205, 207, 205, 207}, }, { {210, 208, 209, 207}, {207, 209, 206, 208}, {209, 207, 209, 207}, {206, 208, 206, 208}, }, { {211, 209, 210, 208}, {208, 210, 207, 209}, {210, 208, 210, 208}, {207, 209, 207, 209}, }, { {212, 210, 211, 209}, {209, 211, 208, 210}, {211, 209, 211, 209}, {208, 210, 208, 210}, }, { {213, 211, 212, 210}, {210, 212, 209, 211}, {212, 210, 212, 210}, {209, 211, 209, 211}, }, { {214, 212, 213, 211}, {211, 213, 210, 212}, {213, 211, 213, 211}, {210, 212, 210, 212}, }, { {215, 213, 214, 212}, {212, 214, 211, 213}, {214, 212, 214, 212}, {211, 213, 211, 213}, }, { {216, 214, 215, 213}, {213, 215, 212, 214}, {215, 213, 215, 213}, {212, 214, 212, 214}, }, { {217, 215, 216, 214}, {214, 216, 213, 215}, {216, 214, 216, 214}, {213, 215, 213, 215}, }, { {218, 216, 217, 215}, {215, 217, 214, 216}, {217, 215, 217, 215}, {214, 216, 214, 216}, }, { {219, 217, 218, 216}, {216, 218, 215, 217}, {218, 216, 218, 216}, {215, 217, 215, 217}, }, { {220, 218, 219, 217}, {217, 219, 216, 218}, {219, 217, 219, 217}, {216, 218, 216, 218}, }, { {221, 219, 220, 218}, {218, 220, 217, 219}, {220, 218, 220, 218}, {217, 219, 217, 219}, }, { {222, 220, 221, 219}, {219, 221, 218, 220}, {221, 219, 221, 219}, {218, 220, 218, 220}, }, { {223, 221, 222, 220}, {220, 222, 219, 221}, {222, 220, 222, 220}, {219, 221, 219, 221}, }, { {224, 222, 223, 221}, {221, 223, 220, 222}, {223, 221, 223, 221}, {220, 222, 220, 222}, }, { {225, 223, 224, 222}, {222, 224, 221, 223}, {224, 222, 224, 222}, {221, 223, 221, 223}, }, { {226, 224, 225, 223}, {223, 225, 222, 224}, {225, 223, 225, 223}, {222, 224, 222, 224}, }, { {227, 225, 226, 224}, {224, 226, 223, 225}, {226, 224, 226, 224}, {223, 225, 223, 225}, }, { {228, 226, 227, 225}, {225, 227, 224, 226}, {227, 225, 227, 225}, {224, 226, 224, 226}, }, { {229, 227, 228, 226}, {226, 228, 225, 227}, {228, 226, 228, 226}, {225, 227, 225, 227}, }, { {230, 228, 229, 227}, {227, 229, 226, 228}, {229, 227, 229, 227}, {226, 228, 226, 228}, }, { {231, 229, 230, 228}, {228, 230, 227, 229}, {230, 228, 230, 228}, {227, 229, 227, 229}, }, { {232, 230, 231, 229}, {229, 231, 228, 230}, {231, 229, 231, 229}, {228, 230, 228, 230}, }, { {233, 231, 232, 230}, {230, 232, 229, 231}, {232, 230, 232, 230}, {229, 231, 229, 231}, }, { {234, 232, 233, 231}, {231, 233, 230, 232}, {233, 231, 233, 231}, {230, 232, 230, 232}, }, { {235, 233, 234, 232}, {232, 234, 231, 233}, {234, 232, 234, 232}, {231, 233, 231, 233}, }, { {236, 234, 235, 233}, {233, 235, 232, 234}, {235, 233, 235, 233}, {232, 234, 232, 234}, }, { {237, 235, 236, 234}, {234, 236, 233, 235}, {236, 234, 236, 234}, {233, 235, 233, 235}, }, { {238, 236, 237, 235}, {235, 237, 234, 236}, {237, 235, 237, 235}, {234, 236, 234, 236}, }, { {239, 237, 238, 236}, {236, 238, 235, 237}, {238, 236, 238, 236}, {235, 237, 235, 237}, }, { {240, 238, 239, 237}, {237, 239, 236, 238}, {239, 237, 239, 237}, {236, 238, 236, 238}, }, { {241, 239, 240, 238}, {238, 240, 237, 239}, {240, 238, 240, 238}, {237, 239, 237, 239}, }, { {242, 240, 241, 239}, {239, 241, 238, 240}, {241, 239, 241, 239}, {238, 240, 238, 240}, }, { {243, 241, 242, 240}, {240, 242, 239, 241}, {242, 240, 242, 240}, {239, 241, 239, 241}, }, { {244, 242, 243, 241}, {241, 243, 240, 242}, {243, 241, 243, 241}, {240, 242, 240, 242}, }, { {245, 243, 244, 242}, {242, 244, 241, 243}, {244, 242, 244, 242}, {241, 243, 241, 243}, }, { {246, 244, 245, 243}, {243, 245, 242, 244}, {245, 243, 245, 243}, {242, 244, 242, 244}, }, { {247, 245, 246, 244}, {244, 246, 243, 245}, {246, 244, 246, 244}, {243, 245, 243, 245}, }, { {248, 246, 247, 245}, {245, 247, 244, 246}, {247, 245, 247, 245}, {244, 246, 244, 246}, }, { {249, 247, 248, 246}, {246, 248, 245, 247}, {248, 246, 248, 246}, {245, 247, 245, 247}, }, { {250, 248, 249, 247}, {247, 249, 246, 248}, {249, 247, 249, 247}, {246, 248, 246, 248}, }, { {251, 249, 250, 248}, {248, 250, 247, 249}, {250, 248, 250, 248}, {247, 249, 247, 249}, }, { {252, 250, 251, 249}, {249, 251, 248, 250}, {251, 249, 251, 249}, {248, 250, 248, 250}, }, { {253, 251, 252, 250}, {250, 252, 249, 251}, {252, 250, 252, 250}, {249, 251, 249, 251}, }, { {254, 252, 253, 251}, {251, 253, 250, 252}, {253, 251, 253, 251}, {250, 252, 250, 252}, }, { {255, 253, 254, 252}, {252, 254, 251, 253}, {254, 252, 254, 252}, {251, 253, 251, 253}, }, { {255, 254, 255, 253}, {253, 255, 252, 254}, {255, 253, 255, 253}, {252, 254, 252, 254}, }, { {255, 255, 255, 254}, {254, 255, 253, 255}, {255, 254, 255, 254}, {253, 255, 253, 255}, }, { {255, 255, 255, 255}, {255, 255, 254, 255}, {255, 255, 255, 255}, {254, 255, 254, 255}, }, }; static const uint8_t dithersub_g2x2[256][2][2] = { { {0, 0}, {0, 0}, }, { {0, 0}, {0, 0}, }, { {4, 2}, {1, 3}, }, { {5, 3}, {2, 4}, }, { {6, 4}, {3, 5}, }, { {7, 5}, {4, 6}, }, { {8, 6}, {5, 7}, }, { {9, 7}, {6, 8}, }, { {10, 8}, {7, 9}, }, { {11, 9}, {8, 10}, }, { {12, 10}, {9, 11}, }, { {13, 11}, {10, 12}, }, { {14, 12}, {11, 13}, }, { {15, 13}, {12, 14}, }, { {16, 14}, {13, 15}, }, { {17, 15}, {14, 16}, }, { {18, 16}, {15, 17}, }, { {19, 17}, {16, 18}, }, { {20, 18}, {17, 19}, }, { {21, 19}, {18, 20}, }, { {22, 20}, {19, 21}, }, { {23, 21}, {20, 22}, }, { {24, 22}, {21, 23}, }, { {25, 23}, {22, 24}, }, { {26, 24}, {23, 25}, }, { {27, 25}, {24, 26}, }, { {28, 26}, {25, 27}, }, { {29, 27}, {26, 28}, }, { {30, 28}, {27, 29}, }, { {31, 29}, {28, 30}, }, { {32, 30}, {29, 31}, }, { {33, 31}, {30, 32}, }, { {34, 32}, {31, 33}, }, { {35, 33}, {32, 34}, }, { {36, 34}, {33, 35}, }, { {37, 35}, {34, 36}, }, { {38, 36}, {35, 37}, }, { {39, 37}, {36, 38}, }, { {40, 38}, {37, 39}, }, { {41, 39}, {38, 40}, }, { {42, 40}, {39, 41}, }, { {43, 41}, {40, 42}, }, { {44, 42}, {41, 43}, }, { {45, 43}, {42, 44}, }, { {46, 44}, {43, 45}, }, { {47, 45}, {44, 46}, }, { {48, 46}, {45, 47}, }, { {49, 47}, {46, 48}, }, { {50, 48}, {47, 49}, }, { {51, 49}, {48, 50}, }, { {52, 50}, {49, 51}, }, { {53, 51}, {50, 52}, }, { {54, 52}, {51, 53}, }, { {55, 53}, {52, 54}, }, { {56, 54}, {53, 55}, }, { {57, 55}, {54, 56}, }, { {58, 56}, {55, 57}, }, { {59, 57}, {56, 58}, }, { {60, 58}, {57, 59}, }, { {61, 59}, {58, 60}, }, { {62, 60}, {59, 61}, }, { {63, 61}, {60, 62}, }, { {64, 62}, {61, 63}, }, { {65, 63}, {62, 64}, }, { {66, 64}, {63, 65}, }, { {67, 65}, {64, 66}, }, { {68, 66}, {65, 67}, }, { {69, 67}, {66, 68}, }, { {70, 68}, {67, 69}, }, { {71, 69}, {68, 70}, }, { {72, 70}, {69, 71}, }, { {73, 71}, {70, 72}, }, { {74, 72}, {71, 73}, }, { {75, 73}, {72, 74}, }, { {76, 74}, {73, 75}, }, { {77, 75}, {74, 76}, }, { {78, 76}, {75, 77}, }, { {79, 77}, {76, 78}, }, { {80, 78}, {77, 79}, }, { {81, 79}, {78, 80}, }, { {82, 80}, {79, 81}, }, { {83, 81}, {80, 82}, }, { {84, 82}, {81, 83}, }, { {85, 83}, {82, 84}, }, { {86, 84}, {83, 85}, }, { {87, 85}, {84, 86}, }, { {88, 86}, {85, 87}, }, { {89, 87}, {86, 88}, }, { {90, 88}, {87, 89}, }, { {91, 89}, {88, 90}, }, { {92, 90}, {89, 91}, }, { {93, 91}, {90, 92}, }, { {94, 92}, {91, 93}, }, { {95, 93}, {92, 94}, }, { {96, 94}, {93, 95}, }, { {97, 95}, {94, 96}, }, { {98, 96}, {95, 97}, }, { {99, 97}, {96, 98}, }, { {100, 98}, {97, 99}, }, { {101, 99}, {98, 100}, }, { {102, 100}, {99, 101}, }, { {103, 101}, {100, 102}, }, { {104, 102}, {101, 103}, }, { {105, 103}, {102, 104}, }, { {106, 104}, {103, 105}, }, { {107, 105}, {104, 106}, }, { {108, 106}, {105, 107}, }, { {109, 107}, {106, 108}, }, { {110, 108}, {107, 109}, }, { {111, 109}, {108, 110}, }, { {112, 110}, {109, 111}, }, { {113, 111}, {110, 112}, }, { {114, 112}, {111, 113}, }, { {115, 113}, {112, 114}, }, { {116, 114}, {113, 115}, }, { {117, 115}, {114, 116}, }, { {118, 116}, {115, 117}, }, { {119, 117}, {116, 118}, }, { {120, 118}, {117, 119}, }, { {121, 119}, {118, 120}, }, { {122, 120}, {119, 121}, }, { {123, 121}, {120, 122}, }, { {124, 122}, {121, 123}, }, { {125, 123}, {122, 124}, }, { {126, 124}, {123, 125}, }, { {127, 125}, {124, 126}, }, { {128, 126}, {125, 127}, }, { {129, 127}, {126, 128}, }, { {130, 128}, {127, 129}, }, { {131, 129}, {128, 130}, }, { {132, 130}, {129, 131}, }, { {133, 131}, {130, 132}, }, { {134, 132}, {131, 133}, }, { {135, 133}, {132, 134}, }, { {136, 134}, {133, 135}, }, { {137, 135}, {134, 136}, }, { {138, 136}, {135, 137}, }, { {139, 137}, {136, 138}, }, { {140, 138}, {137, 139}, }, { {141, 139}, {138, 140}, }, { {142, 140}, {139, 141}, }, { {143, 141}, {140, 142}, }, { {144, 142}, {141, 143}, }, { {145, 143}, {142, 144}, }, { {146, 144}, {143, 145}, }, { {147, 145}, {144, 146}, }, { {148, 146}, {145, 147}, }, { {149, 147}, {146, 148}, }, { {150, 148}, {147, 149}, }, { {151, 149}, {148, 150}, }, { {152, 150}, {149, 151}, }, { {153, 151}, {150, 152}, }, { {154, 152}, {151, 153}, }, { {155, 153}, {152, 154}, }, { {156, 154}, {153, 155}, }, { {157, 155}, {154, 156}, }, { {158, 156}, {155, 157}, }, { {159, 157}, {156, 158}, }, { {160, 158}, {157, 159}, }, { {161, 159}, {158, 160}, }, { {162, 160}, {159, 161}, }, { {163, 161}, {160, 162}, }, { {164, 162}, {161, 163}, }, { {165, 163}, {162, 164}, }, { {166, 164}, {163, 165}, }, { {167, 165}, {164, 166}, }, { {168, 166}, {165, 167}, }, { {169, 167}, {166, 168}, }, { {170, 168}, {167, 169}, }, { {171, 169}, {168, 170}, }, { {172, 170}, {169, 171}, }, { {173, 171}, {170, 172}, }, { {174, 172}, {171, 173}, }, { {175, 173}, {172, 174}, }, { {176, 174}, {173, 175}, }, { {177, 175}, {174, 176}, }, { {178, 176}, {175, 177}, }, { {179, 177}, {176, 178}, }, { {180, 178}, {177, 179}, }, { {181, 179}, {178, 180}, }, { {182, 180}, {179, 181}, }, { {183, 181}, {180, 182}, }, { {184, 182}, {181, 183}, }, { {185, 183}, {182, 184}, }, { {186, 184}, {183, 185}, }, { {187, 185}, {184, 186}, }, { {188, 186}, {185, 187}, }, { {189, 187}, {186, 188}, }, { {190, 188}, {187, 189}, }, { {191, 189}, {188, 190}, }, { {192, 190}, {189, 191}, }, { {193, 191}, {190, 192}, }, { {194, 192}, {191, 193}, }, { {195, 193}, {192, 194}, }, { {196, 194}, {193, 195}, }, { {197, 195}, {194, 196}, }, { {198, 196}, {195, 197}, }, { {199, 197}, {196, 198}, }, { {200, 198}, {197, 199}, }, { {201, 199}, {198, 200}, }, { {202, 200}, {199, 201}, }, { {203, 201}, {200, 202}, }, { {204, 202}, {201, 203}, }, { {205, 203}, {202, 204}, }, { {206, 204}, {203, 205}, }, { {207, 205}, {204, 206}, }, { {208, 206}, {205, 207}, }, { {209, 207}, {206, 208}, }, { {210, 208}, {207, 209}, }, { {211, 209}, {208, 210}, }, { {212, 210}, {209, 211}, }, { {213, 211}, {210, 212}, }, { {214, 212}, {211, 213}, }, { {215, 213}, {212, 214}, }, { {216, 214}, {213, 215}, }, { {217, 215}, {214, 216}, }, { {218, 216}, {215, 217}, }, { {219, 217}, {216, 218}, }, { {220, 218}, {217, 219}, }, { {221, 219}, {218, 220}, }, { {222, 220}, {219, 221}, }, { {223, 221}, {220, 222}, }, { {224, 222}, {221, 223}, }, { {225, 223}, {222, 224}, }, { {226, 224}, {223, 225}, }, { {227, 225}, {224, 226}, }, { {228, 226}, {225, 227}, }, { {229, 227}, {226, 228}, }, { {230, 228}, {227, 229}, }, { {231, 229}, {228, 230}, }, { {232, 230}, {229, 231}, }, { {233, 231}, {230, 232}, }, { {234, 232}, {231, 233}, }, { {235, 233}, {232, 234}, }, { {236, 234}, {233, 235}, }, { {237, 235}, {234, 236}, }, { {238, 236}, {235, 237}, }, { {239, 237}, {236, 238}, }, { {240, 238}, {237, 239}, }, { {241, 239}, {238, 240}, }, { {242, 240}, {239, 241}, }, { {243, 241}, {240, 242}, }, { {244, 242}, {241, 243}, }, { {245, 243}, {242, 244}, }, { {246, 244}, {243, 245}, }, { {247, 245}, {244, 246}, }, { {248, 246}, {245, 247}, }, { {249, 247}, {246, 248}, }, { {250, 248}, {247, 249}, }, { {251, 249}, {248, 250}, }, { {252, 250}, {249, 251}, }, { {253, 251}, {250, 252}, }, { {254, 252}, {251, 253}, }, { {255, 253}, {252, 254}, }, { {255, 254}, {253, 255}, }, { {255, 255}, {254, 255}, }, }; static const uint8_t dithersub_rb2x2[256][2][2] = { { {0, 0}, {0, 0}, }, { {0, 0}, {0, 0}, }, { {0, 0}, {0, 0}, }, { {0, 0}, {0, 0}, }, { {8, 4}, {2, 6}, }, { {9, 5}, {3, 7}, }, { {10, 6}, {4, 8}, }, { {11, 7}, {5, 9}, }, { {12, 8}, {6, 10}, }, { {13, 9}, {7, 11}, }, { {14, 10}, {8, 12}, }, { {15, 11}, {9, 13}, }, { {16, 12}, {10, 14}, }, { {17, 13}, {11, 15}, }, { {18, 14}, {12, 16}, }, { {19, 15}, {13, 17}, }, { {20, 16}, {14, 18}, }, { {21, 17}, {15, 19}, }, { {22, 18}, {16, 20}, }, { {23, 19}, {17, 21}, }, { {24, 20}, {18, 22}, }, { {25, 21}, {19, 23}, }, { {26, 22}, {20, 24}, }, { {27, 23}, {21, 25}, }, { {28, 24}, {22, 26}, }, { {29, 25}, {23, 27}, }, { {30, 26}, {24, 28}, }, { {31, 27}, {25, 29}, }, { {32, 28}, {26, 30}, }, { {33, 29}, {27, 31}, }, { {34, 30}, {28, 32}, }, { {35, 31}, {29, 33}, }, { {36, 32}, {30, 34}, }, { {37, 33}, {31, 35}, }, { {38, 34}, {32, 36}, }, { {39, 35}, {33, 37}, }, { {40, 36}, {34, 38}, }, { {41, 37}, {35, 39}, }, { {42, 38}, {36, 40}, }, { {43, 39}, {37, 41}, }, { {44, 40}, {38, 42}, }, { {45, 41}, {39, 43}, }, { {46, 42}, {40, 44}, }, { {47, 43}, {41, 45}, }, { {48, 44}, {42, 46}, }, { {49, 45}, {43, 47}, }, { {50, 46}, {44, 48}, }, { {51, 47}, {45, 49}, }, { {52, 48}, {46, 50}, }, { {53, 49}, {47, 51}, }, { {54, 50}, {48, 52}, }, { {55, 51}, {49, 53}, }, { {56, 52}, {50, 54}, }, { {57, 53}, {51, 55}, }, { {58, 54}, {52, 56}, }, { {59, 55}, {53, 57}, }, { {60, 56}, {54, 58}, }, { {61, 57}, {55, 59}, }, { {62, 58}, {56, 60}, }, { {63, 59}, {57, 61}, }, { {64, 60}, {58, 62}, }, { {65, 61}, {59, 63}, }, { {66, 62}, {60, 64}, }, { {67, 63}, {61, 65}, }, { {68, 64}, {62, 66}, }, { {69, 65}, {63, 67}, }, { {70, 66}, {64, 68}, }, { {71, 67}, {65, 69}, }, { {72, 68}, {66, 70}, }, { {73, 69}, {67, 71}, }, { {74, 70}, {68, 72}, }, { {75, 71}, {69, 73}, }, { {76, 72}, {70, 74}, }, { {77, 73}, {71, 75}, }, { {78, 74}, {72, 76}, }, { {79, 75}, {73, 77}, }, { {80, 76}, {74, 78}, }, { {81, 77}, {75, 79}, }, { {82, 78}, {76, 80}, }, { {83, 79}, {77, 81}, }, { {84, 80}, {78, 82}, }, { {85, 81}, {79, 83}, }, { {86, 82}, {80, 84}, }, { {87, 83}, {81, 85}, }, { {88, 84}, {82, 86}, }, { {89, 85}, {83, 87}, }, { {90, 86}, {84, 88}, }, { {91, 87}, {85, 89}, }, { {92, 88}, {86, 90}, }, { {93, 89}, {87, 91}, }, { {94, 90}, {88, 92}, }, { {95, 91}, {89, 93}, }, { {96, 92}, {90, 94}, }, { {97, 93}, {91, 95}, }, { {98, 94}, {92, 96}, }, { {99, 95}, {93, 97}, }, { {100, 96}, {94, 98}, }, { {101, 97}, {95, 99}, }, { {102, 98}, {96, 100}, }, { {103, 99}, {97, 101}, }, { {104, 100}, {98, 102}, }, { {105, 101}, {99, 103}, }, { {106, 102}, {100, 104}, }, { {107, 103}, {101, 105}, }, { {108, 104}, {102, 106}, }, { {109, 105}, {103, 107}, }, { {110, 106}, {104, 108}, }, { {111, 107}, {105, 109}, }, { {112, 108}, {106, 110}, }, { {113, 109}, {107, 111}, }, { {114, 110}, {108, 112}, }, { {115, 111}, {109, 113}, }, { {116, 112}, {110, 114}, }, { {117, 113}, {111, 115}, }, { {118, 114}, {112, 116}, }, { {119, 115}, {113, 117}, }, { {120, 116}, {114, 118}, }, { {121, 117}, {115, 119}, }, { {122, 118}, {116, 120}, }, { {123, 119}, {117, 121}, }, { {124, 120}, {118, 122}, }, { {125, 121}, {119, 123}, }, { {126, 122}, {120, 124}, }, { {127, 123}, {121, 125}, }, { {128, 124}, {122, 126}, }, { {129, 125}, {123, 127}, }, { {130, 126}, {124, 128}, }, { {131, 127}, {125, 129}, }, { {132, 128}, {126, 130}, }, { {133, 129}, {127, 131}, }, { {134, 130}, {128, 132}, }, { {135, 131}, {129, 133}, }, { {136, 132}, {130, 134}, }, { {137, 133}, {131, 135}, }, { {138, 134}, {132, 136}, }, { {139, 135}, {133, 137}, }, { {140, 136}, {134, 138}, }, { {141, 137}, {135, 139}, }, { {142, 138}, {136, 140}, }, { {143, 139}, {137, 141}, }, { {144, 140}, {138, 142}, }, { {145, 141}, {139, 143}, }, { {146, 142}, {140, 144}, }, { {147, 143}, {141, 145}, }, { {148, 144}, {142, 146}, }, { {149, 145}, {143, 147}, }, { {150, 146}, {144, 148}, }, { {151, 147}, {145, 149}, }, { {152, 148}, {146, 150}, }, { {153, 149}, {147, 151}, }, { {154, 150}, {148, 152}, }, { {155, 151}, {149, 153}, }, { {156, 152}, {150, 154}, }, { {157, 153}, {151, 155}, }, { {158, 154}, {152, 156}, }, { {159, 155}, {153, 157}, }, { {160, 156}, {154, 158}, }, { {161, 157}, {155, 159}, }, { {162, 158}, {156, 160}, }, { {163, 159}, {157, 161}, }, { {164, 160}, {158, 162}, }, { {165, 161}, {159, 163}, }, { {166, 162}, {160, 164}, }, { {167, 163}, {161, 165}, }, { {168, 164}, {162, 166}, }, { {169, 165}, {163, 167}, }, { {170, 166}, {164, 168}, }, { {171, 167}, {165, 169}, }, { {172, 168}, {166, 170}, }, { {173, 169}, {167, 171}, }, { {174, 170}, {168, 172}, }, { {175, 171}, {169, 173}, }, { {176, 172}, {170, 174}, }, { {177, 173}, {171, 175}, }, { {178, 174}, {172, 176}, }, { {179, 175}, {173, 177}, }, { {180, 176}, {174, 178}, }, { {181, 177}, {175, 179}, }, { {182, 178}, {176, 180}, }, { {183, 179}, {177, 181}, }, { {184, 180}, {178, 182}, }, { {185, 181}, {179, 183}, }, { {186, 182}, {180, 184}, }, { {187, 183}, {181, 185}, }, { {188, 184}, {182, 186}, }, { {189, 185}, {183, 187}, }, { {190, 186}, {184, 188}, }, { {191, 187}, {185, 189}, }, { {192, 188}, {186, 190}, }, { {193, 189}, {187, 191}, }, { {194, 190}, {188, 192}, }, { {195, 191}, {189, 193}, }, { {196, 192}, {190, 194}, }, { {197, 193}, {191, 195}, }, { {198, 194}, {192, 196}, }, { {199, 195}, {193, 197}, }, { {200, 196}, {194, 198}, }, { {201, 197}, {195, 199}, }, { {202, 198}, {196, 200}, }, { {203, 199}, {197, 201}, }, { {204, 200}, {198, 202}, }, { {205, 201}, {199, 203}, }, { {206, 202}, {200, 204}, }, { {207, 203}, {201, 205}, }, { {208, 204}, {202, 206}, }, { {209, 205}, {203, 207}, }, { {210, 206}, {204, 208}, }, { {211, 207}, {205, 209}, }, { {212, 208}, {206, 210}, }, { {213, 209}, {207, 211}, }, { {214, 210}, {208, 212}, }, { {215, 211}, {209, 213}, }, { {216, 212}, {210, 214}, }, { {217, 213}, {211, 215}, }, { {218, 214}, {212, 216}, }, { {219, 215}, {213, 217}, }, { {220, 216}, {214, 218}, }, { {221, 217}, {215, 219}, }, { {222, 218}, {216, 220}, }, { {223, 219}, {217, 221}, }, { {224, 220}, {218, 222}, }, { {225, 221}, {219, 223}, }, { {226, 222}, {220, 224}, }, { {227, 223}, {221, 225}, }, { {228, 224}, {222, 226}, }, { {229, 225}, {223, 227}, }, { {230, 226}, {224, 228}, }, { {231, 227}, {225, 229}, }, { {232, 228}, {226, 230}, }, { {233, 229}, {227, 231}, }, { {234, 230}, {228, 232}, }, { {235, 231}, {229, 233}, }, { {236, 232}, {230, 234}, }, { {237, 233}, {231, 235}, }, { {238, 234}, {232, 236}, }, { {239, 235}, {233, 237}, }, { {240, 236}, {234, 238}, }, { {241, 237}, {235, 239}, }, { {242, 238}, {236, 240}, }, { {243, 239}, {237, 241}, }, { {244, 240}, {238, 242}, }, { {245, 241}, {239, 243}, }, { {246, 242}, {240, 244}, }, { {247, 243}, {241, 245}, }, { {248, 244}, {242, 246}, }, { {249, 245}, {243, 247}, }, { {250, 246}, {244, 248}, }, { {251, 247}, {245, 249}, }, { {252, 248}, {246, 250}, }, { {253, 249}, {247, 251}, }, { {254, 250}, {248, 252}, }, { {255, 251}, {249, 253}, }, { {255, 252}, {250, 254}, }, { {255, 253}, {251, 255}, }, { {255, 254}, {252, 255}, }, { {255, 255}, {253, 255}, }, }; #endif /* VIDEO_VOODOO_DITHER_H*/