[
  {
    "path": "OfflineGridUBytePicture.h",
    "content": "#include <iostream>\n#include <string.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <string>\n#include <fstream>\n#include <vector>\n#include <map>\n#include <sstream>\n#include <new>\n#include <cmath>\nusing namespace std;\n\n#define nCharacters 3755\n#define characterWidth  112\n#define characterHeight 112\n#define maskWidth  120\n#define maskHeight 120\n\nclass OfflineGridUBytePicture {\n\npublic:\n\tint label; //for character recognition\n\tshort int width;\n\tshort int height;\n\tvector<unsigned char> bitmap; //row major order\n\n\tOfflineGridUBytePicture(int width, int height, int label_) :\n\t\t\twidth(width), height(height) {\n\t\tlabel = label_;\n\t\tbitmap.resize(height * width);\n\t}\n\t~OfflineGridUBytePicture() {\n\t}\n};\n\nstruct gntCharacterHeader {\n\tunsigned int sampleSize;\n\tunsigned short label;\n\tunsigned short width;\n\tunsigned short height;\n};\n\n"
  },
  {
    "path": "README.md",
    "content": "### High Performance Offline Handwritten Chinese Character Recognition Using GoogLeNet and Feature Maps\n\nby Zhuoyao Zhong, Lianwen Jin, Zecheng Xie, South China University of Technology (SCUT), Published in ICDAR 2015.\n\n### Details of our paper\n\n* We designed a deep, powerful but with less parameters convolutional neural network, nemaly HCCR-GoogLeNet, for offline handwritten Chinese character recognition\n* We were the first to propose to incorporate directional features (e.g., Gabor, HoG and gradient feature) as domain knowledge into deep convolutional neural network to boost performance on offline HCCR\n* Our single HCCR-GoogLeNet was superior to all previous best single and ensemble CNN models in terms of both accuracy and storage performance on the ICDAR 2013 offline HCCR competition dataset. Our ensemble HCCR-GoogLeNet models achieved a better recognition result of 96.74%.\n\n### Introduction of this repository\nThis repository is the source codes on our paper, inculding the prototxt file of HCCR-GoogLeNet CNN architecture definition for caffe framework and codes for directional feature extraction. For more information, please refer to our paper: http://arxiv.org/abs/1505.04925.\n\n### Citing HCCR-GoogLeNet\n\nIf our codes are useful for your work, please cite our paper:\n```\n@inproceedings{HCCR-GoogLeNet, \n\t\ttitle = {High Performance Offline Handwritten Chinese Character Recognition Using GoogLeNet and Feature Maps}, \n\t\tauthor = {Zhuoyao Zhong, Lianwen Jin, Zecheng Xie}, \n\t\tbooktitle = {International Conference on Document Analysis and Recognition ({ICDAR})}}, \n\t\tyear = {2015} \n}\n```\n"
  },
  {
    "path": "casia_googleNet_train_val.prototxt",
    "content": "name: \"GoogleNet\"\nlayers {\n  name: \"data\"\n  type: DATA\n  top: \"data\"\n  top: \"label\"\n  data_param {\n    source: \"/home/dplearning03/zhongzhuoyao/offline_inception_baseline/leveldb3/offline-train-leveldb\"\n    mean_file: \"/home/dplearning03/zhongzhuoyao/offline_inception_baseline/leveldb3/casia_mean.binaryproto\"\n    batch_size: 128\n  }\n  include: { phase: TRAIN }\n}\nlayers {\n  name: \"data\"\n  type: DATA\n  top: \"data\"\n  top: \"label\"\n  data_param {\n    source: \"/home/dplearning03/zhongzhuoyao/offline_inception_baseline/leveldb3/offline-cmp-leveldb\"\n    mean_file: \"/home/dplearning03/zhongzhuoyao/offline_inception_baseline/leveldb3/casia_mean.binaryproto\"\n    batch_size: 490\n  }\n  include: { phase: TEST }\n}\nlayers {\n  name: \"conv1\"\n  type: CONVOLUTION\n  bottom: \"data\"\n  top: \"conv1\"\n  blobs_lr: 1\n  blobs_lr: 2\n  weight_decay: 1\n  weight_decay: 0\n  convolution_param {\n    num_output: 64\n    kernel_size: 7\n    stride: 2\n    pad: 0\n    weight_filler {\n      type: \"gaussian\"\n      std: 0.015\n    }\n    bias_filler {\n      type: \"constant\"\n      value: 0\n    }\n  }\n}\nlayers {\n  name: \"relu1\"\n  type: RELU\n  bottom: \"conv1\"\n  top: \"conv1\"\n}\nlayers {\n  name: \"pool1\"\n  type: POOLING\n  bottom: \"conv1\"\n  top: \"pool1\"\n  pooling_param {\n    pool: MAX\n    kernel_size: 3\n    stride: 2\n    pad: 0\n  }\n}\nlayers {\n  name: \"norm1\"\n  type: LRN\n  bottom: \"pool1\"\n  top: \"norm1\"\n  lrn_param {\n    local_size: 5\n    alpha: 0.0001\n    beta: 0.75\n  }\n}\nlayers {\n  name: \"reduction2\"\n  type: CONVOLUTION\n  bottom: \"norm1\"\n  top: \"reduction2\"\n  blobs_lr: 1\n  blobs_lr: 2\n  weight_decay: 1\n  weight_decay: 0\n  convolution_param {\n    num_output: 64\n    pad: 0\n    kernel_size: 1\n    group: 1\n    weight_filler {\n      type: \"xavier\"\n    }\n    bias_filler {\n      type: \"constant\"\n      value: 0\n    }\n  }\n}\nlayers {\n  name: \"relu_reduction2\"\n  type: RELU\n  bottom: \"reduction2\"\n  top: \"reduction2\"\n}\nlayers {\n  name: \"conv2\"\n  type: CONVOLUTION\n  bottom: \"reduction2\"\n  top: \"conv2\"\n  blobs_lr: 1\n  blobs_lr: 2\n  weight_decay: 1\n  weight_decay: 0\n  convolution_param {\n    num_output: 192\n    pad: 1\n    kernel_size: 3\n    group: 1\n    weight_filler {\n      type: \"gaussian\"\n      std: 0.02\n    }\n    bias_filler {\n      type: \"constant\"\n      value: 0\n    }\n  }\n}\nlayers {\n  name: \"relu2\"\n  type: RELU\n  bottom: \"conv2\"\n  top: \"conv2\"\n}\nlayers {\n  name: \"norm2\"\n  type: LRN\n  bottom: \"conv2\"\n  top: \"norm2\"\n  lrn_param {\n    local_size: 5\n    alpha: 0.0001\n    beta: 0.75\n  }\n}\nlayers {\n  name: \"pool2\"\n  type: POOLING\n  bottom: \"norm2\"\n  top: \"pool2\"\n  pooling_param {\n    pool: MAX\n    kernel_size: 3\n    stride: 2\n    pad: 0\n  }\n}\n# Inception module 1 ***************\nlayers {\n  name: \"icp1_reduction1\"\n  type: CONVOLUTION\n  bottom: \"pool2\"\n  top: \"icp1_reduction1\"\n  blobs_lr: 1\n  blobs_lr: 2\n  weight_decay: 1\n  weight_decay: 0\n  convolution_param {\n    num_output: 96\n    pad: 0\n    kernel_size: 1\n    weight_filler {\n      type: \"xavier\"\n    }\n    bias_filler {\n      type: \"constant\"\n      value: 0\n    }\n  }\n}\nlayers {\n  name: \"relu_icp1_reduction1\"\n  type: RELU\n  bottom: \"icp1_reduction1\"\n  top: \"icp1_reduction1\"\n}\nlayers {\n  name: \"icp1_reduction2\"\n  type: CONVOLUTION\n  bottom: \"pool2\"\n  top: \"icp1_reduction2\"\n  blobs_lr: 1\n  blobs_lr: 2\n  weight_decay: 1\n  weight_decay: 0\n  convolution_param {\n    num_output: 16\n    pad: 0\n    kernel_size: 1\n    weight_filler {\n      type: \"xavier\"\n    }\n    bias_filler {\n      type: \"constant\"\n      value: 0\n    }\n  }\n}\nlayers {\n  name: \"relu_icp1_reduction2\"\n  type: RELU\n  bottom: \"icp1_reduction2\"\n  top: \"icp1_reduction2\"\n}\nlayers {\n  name: \"icp1_pool\"\n  type: POOLING\n  bottom: \"pool2\"\n  top: \"icp1_pool\"\n  pooling_param {\n    pool: MAX\n    kernel_size: 3\n    stride: 1\n    pad: 1\n  }\n}\n# ***********\nlayers {\n  name: \"icp1_out0\"\n  type: CONVOLUTION\n  bottom: \"pool2\"\n  top: \"icp1_out0\"\n  blobs_lr: 1\n  blobs_lr: 2\n  weight_decay: 1\n  weight_decay: 0\n  convolution_param {\n    num_output: 64\n    pad: 0\n    kernel_size: 1\n    weight_filler {\n      type: \"xavier\"\n    }\n    bias_filler {\n      type: \"constant\"\n      value: 0\n    }\n  }\n}\nlayers {\n  name: \"relu_icp1_out0\"\n  type: RELU\n  bottom: \"icp1_out0\"\n  top: \"icp1_out0\"\n}\nlayers {\n  name: \"icp1_out1\"\n  type: CONVOLUTION\n  bottom: \"icp1_reduction1\"\n  top: \"icp1_out1\"\n  blobs_lr: 1\n  blobs_lr: 2\n  weight_decay: 1\n  weight_decay: 0\n  convolution_param {\n    num_output: 128\n    pad: 1\n    kernel_size: 3\n    weight_filler {\n      type: \"gaussian\"\n      std: 0.04\n    }\n    bias_filler {\n      type: \"constant\"\n      value: 0\n    }\n  }\n}\nlayers {\n  name: \"relu_icp1_out1\"\n  type: RELU\n  bottom: \"icp1_out1\"\n  top: \"icp1_out1\"\n}\nlayers {\n  name: \"icp1_out2\"\n  type: CONVOLUTION\n  bottom: \"icp1_reduction2\"\n  top: \"icp1_out2\"\n  blobs_lr: 1\n  blobs_lr: 2\n  weight_decay: 1\n  weight_decay: 0\n  convolution_param {\n    num_output: 32\n    pad: 2\n    kernel_size: 5\n    weight_filler {\n      type: \"gaussian\"\n      std: 0.08\n    }\n    bias_filler {\n      type: \"constant\"\n      value: 0\n    }\n  }\n}\nlayers {\n  name: \"relu_icp1_out2\"\n  type: RELU\n  bottom: \"icp1_out2\"\n  top: \"icp1_out2\"\n}\nlayers {\n  name: \"icp1_out3\"\n  type: CONVOLUTION\n  bottom: \"icp1_pool\"\n  top: \"icp1_out3\"\n  blobs_lr: 1\n  blobs_lr: 2\n  weight_decay: 1\n  weight_decay: 0\n  convolution_param {\n    num_output: 32\n    pad: 0\n    kernel_size: 1\n    weight_filler {\n      type: \"xavier\"\n    }\n    bias_filler {\n      type: \"constant\"\n      value: 0\n    }\n  }\n}\nlayers {\n  name: \"relu_icp1_out3\"\n  type: RELU\n  bottom: \"icp1_out3\"\n  top: \"icp1_out3\"\n}\n# Concat them together\nlayers {\n  name: \"icp2_in\"\n  type: CONCAT\n  bottom: \"icp1_out0\"\n  bottom: \"icp1_out1\"\n  bottom: \"icp1_out2\"\n  bottom: \"icp1_out3\"\n  top: \"icp2_in\"\n}\n# Inception module 2 ***************\nlayers {\n  name: \"icp2_reduction1\"\n  type: CONVOLUTION\n  bottom: \"icp2_in\"\n  top: \"icp2_reduction1\"\n  blobs_lr: 1\n  blobs_lr: 2\n  weight_decay: 1\n  weight_decay: 0\n  convolution_param {\n    num_output: 128\n    pad: 0\n    kernel_size: 1\n    weight_filler {\n      type: \"xavier\"\n    }\n    bias_filler {\n      type: \"constant\"\n      value: 0\n    }\n  }\n}\nlayers {\n  name: \"relu_icp2_reduction1\"\n  type: RELU\n  bottom: \"icp2_reduction1\"\n  top: \"icp2_reduction1\"\n}\nlayers {\n  name: \"icp2_reduction2\"\n  type: CONVOLUTION\n  bottom: \"icp2_in\"\n  top: \"icp2_reduction2\"\n  blobs_lr: 1\n  blobs_lr: 2\n  weight_decay: 1\n  weight_decay: 0\n  convolution_param {\n    num_output: 32\n    pad: 0\n    kernel_size: 1\n    weight_filler {\n      type: \"xavier\"\n    }\n    bias_filler {\n      type: \"constant\"\n      value: 0\n    }\n  }\n}\nlayers {\n  name: \"relu_icp2_reduction2\"\n  type: RELU\n  bottom: \"icp2_reduction2\"\n  top: \"icp2_reduction2\"\n}\nlayers {\n  name: \"icp2_pool\"\n  type: POOLING\n  bottom: \"icp2_in\"\n  top: \"icp2_pool\"\n  pooling_param {\n    pool: MAX\n    kernel_size: 3\n    stride: 1\n    pad: 1\n  }\n}\n# ***********\nlayers {\n  name: \"icp2_out0\"\n  type: CONVOLUTION\n  bottom: \"icp2_in\"\n  top: \"icp2_out0\"\n  blobs_lr: 1\n  blobs_lr: 2\n  weight_decay: 1\n  weight_decay: 0\n  convolution_param {\n    num_output: 128\n    pad: 0\n    kernel_size: 1\n    weight_filler {\n      type: \"xavier\"\n    }\n    bias_filler {\n      type: \"constant\"\n      value: 0\n    }\n  }\n}\nlayers {\n  name: \"relu_icp2_out0\"\n  type: RELU\n  bottom: \"icp2_out0\"\n  top: \"icp2_out0\"\n}\nlayers {\n  name: \"icp2_out1\"\n  type: CONVOLUTION\n  bottom: \"icp2_reduction1\"\n  top: \"icp2_out1\"\n  blobs_lr: 1\n  blobs_lr: 2\n  weight_decay: 1\n  weight_decay: 0\n  convolution_param {\n    num_output: 192\n    pad: 1\n    kernel_size: 3\n    weight_filler {\n      type: \"gaussian\"\n      std: 0.04\n    }\n    bias_filler {\n      type: \"constant\"\n      value: 0\n    }\n  }\n}\nlayers {\n  name: \"relu_icp2_out1\"\n  type: RELU\n  bottom: \"icp2_out1\"\n  top: \"icp2_out1\"\n}\nlayers {\n  name: \"icp2_out2\"\n  type: CONVOLUTION\n  bottom: \"icp2_reduction2\"\n  top: \"icp2_out2\"\n  blobs_lr: 1\n  blobs_lr: 2\n  weight_decay: 1\n  weight_decay: 0\n  convolution_param {\n    num_output: 96\n    pad: 2\n    kernel_size: 5\n    weight_filler {\n      type: \"gaussian\"\n      std: 0.08\n    }\n    bias_filler {\n      type: \"constant\"\n      value: 0\n    }\n  }\n}\nlayers {\n  name: \"relu_icp2_out2\"\n  type: RELU\n  bottom: \"icp2_out2\"\n  top: \"icp2_out2\"\n}\nlayers {\n  name: \"icp2_out3\"\n  type: CONVOLUTION\n  bottom: \"icp2_pool\"\n  top: \"icp2_out3\"\n  blobs_lr: 1\n  blobs_lr: 2\n  weight_decay: 1\n  weight_decay: 0\n  convolution_param {\n    num_output: 64\n    pad: 0\n    kernel_size: 1\n    weight_filler {\n      type: \"xavier\"\n    }\n    bias_filler {\n      type: \"constant\"\n      value: 0\n    }\n  }\n}\nlayers {\n  name: \"relu_icp2_out3\"\n  type: RELU\n  bottom: \"icp2_out3\"\n  top: \"icp2_out3\"\n}\n# Concat them together\nlayers {\n  name: \"icp2_out\"\n  type: CONCAT\n  bottom: \"icp2_out0\"\n  bottom: \"icp2_out1\"\n  bottom: \"icp2_out2\"\n  bottom: \"icp2_out3\"\n  top: \"icp2_out\"\n}\nlayers {\n  name: \"icp3_in\"\n  type: POOLING\n  bottom: \"icp2_out\"\n  top: \"icp3_in\"\n  pooling_param {\n    pool: MAX\n    kernel_size: 3\n    stride: 2\n    pad: 0\n  }\n}\n# Inception module 3 ***************\nlayers {\n  name: \"icp3_reduction1\"\n  type: CONVOLUTION\n  bottom: \"icp3_in\"\n  top: \"icp3_reduction1\"\n  blobs_lr: 1\n  blobs_lr: 2\n  weight_decay: 1\n  weight_decay: 0\n  convolution_param {\n    num_output: 112\n    pad: 0\n    kernel_size: 1\n    weight_filler {\n      type: \"xavier\"\n    }\n    bias_filler {\n      type: \"constant\"\n      value: 0\n    }\n  }\n}\nlayers {\n  name: \"relu_icp3_reduction1\"\n  type: RELU\n  bottom: \"icp3_reduction1\"\n  top: \"icp3_reduction1\"\n}\nlayers {\n  name: \"icp3_reduction2\"\n  type: CONVOLUTION\n  bottom: \"icp3_in\"\n  top: \"icp3_reduction2\"\n  blobs_lr: 1\n  blobs_lr: 2\n  weight_decay: 1\n  weight_decay: 0\n  convolution_param {\n    num_output: 24\n    pad: 0\n    kernel_size: 1\n    weight_filler {\n      type: \"xavier\"\n    }\n    bias_filler {\n      type: \"constant\"\n      value: 0\n    }\n  }\n}\nlayers {\n  name: \"relu_icp3_reduction2\"\n  type: RELU\n  bottom: \"icp3_reduction2\"\n  top: \"icp3_reduction2\"\n}\nlayers {\n  name: \"icp3_pool\"\n  type: POOLING\n  bottom: \"icp3_in\"\n  top: \"icp3_pool\"\n  pooling_param {\n    pool: MAX\n    kernel_size: 3\n    stride: 1\n    pad: 1\n  }\n}\n# ***********\nlayers {\n  name: \"icp3_out0\"\n  type: CONVOLUTION\n  bottom: \"icp3_in\"\n  top: \"icp3_out0\"\n  blobs_lr: 1\n  blobs_lr: 2\n  weight_decay: 1\n  weight_decay: 0\n  convolution_param {\n    num_output: 160\n    pad: 0\n    kernel_size: 1\n    weight_filler {\n      type: \"xavier\"\n    }\n    bias_filler {\n      type: \"constant\"\n      value: 0\n    }\n  }\n}\nlayers {\n  name: \"relu_icp3_out0\"\n  type: RELU\n  bottom: \"icp3_out0\"\n  top: \"icp3_out0\"\n}\nlayers {\n  name: \"icp3_out1\"\n  type: CONVOLUTION\n  bottom: \"icp3_reduction1\"\n  top: \"icp3_out1\"\n  blobs_lr: 1\n  blobs_lr: 2\n  weight_decay: 1\n  weight_decay: 0\n  convolution_param {\n    num_output: 224\n    pad: 1\n    kernel_size: 3\n    weight_filler {\n      type: \"gaussian\"\n      std: 0.04\n    }\n    bias_filler {\n      type: \"constant\"\n      value: 0\n    }\n  }\n}\nlayers {\n  name: \"relu_icp3_out1\"\n  type: RELU\n  bottom: \"icp3_out1\"\n  top: \"icp3_out1\"\n}\nlayers {\n  name: \"icp3_out2\"\n  type: CONVOLUTION\n  bottom: \"icp3_reduction2\"\n  top: \"icp3_out2\"\n  blobs_lr: 1\n  blobs_lr: 2\n  weight_decay: 1\n  weight_decay: 0\n  convolution_param {\n    num_output: 64\n    pad: 2\n    kernel_size: 5\n    weight_filler {\n      type: \"gaussian\"\n      std: 0.08\n    }\n    bias_filler {\n      type: \"constant\"\n      value: 0\n    }\n  }\n}\nlayers {\n  name: \"relu_icp3_out2\"\n  type: RELU\n  bottom: \"icp3_out2\"\n  top: \"icp3_out2\"\n}\nlayers {\n  name: \"icp3_out3\"\n  type: CONVOLUTION\n  bottom: \"icp3_pool\"\n  top: \"icp3_out3\"\n  blobs_lr: 1\n  blobs_lr: 2\n  weight_decay: 1\n  weight_decay: 0\n  convolution_param {\n    num_output: 64\n    pad: 0\n    kernel_size: 1\n    weight_filler {\n      type: \"xavier\"\n    }\n    bias_filler {\n      type: \"constant\"\n      value: 0\n    }\n  }\n}\nlayers {\n  name: \"relu_icp3_out3\"\n  type: RELU\n  bottom: \"icp3_out3\"\n  top: \"icp3_out3\"\n}\n# Concat them together\nlayers {\n  name: \"icp3_out\"\n  type: CONCAT\n  bottom: \"icp3_out0\"\n  bottom: \"icp3_out1\"\n  bottom: \"icp3_out2\"\n  bottom: \"icp3_out3\"\n  top: \"icp3_out\"\n}\n# Inception module 4 ***************\nlayers {\n  name: \"icp4_reduction1\"\n  type: CONVOLUTION\n  bottom: \"icp3_out\"\n  top: \"icp4_reduction1\"\n  blobs_lr: 1\n  blobs_lr: 2\n  weight_decay: 1\n  weight_decay: 0\n  convolution_param {\n    num_output: 160\n    pad: 0\n    kernel_size: 1\n    weight_filler {\n      type: \"xavier\"\n    }\n    bias_filler {\n      type: \"constant\"\n      value: 0\n    }\n  }\n}\nlayers {\n  name: \"relu_icp4_reduction1\"\n  type: RELU\n  bottom: \"icp4_reduction1\"\n  top: \"icp4_reduction1\"\n}\nlayers {\n  name: \"icp4_reduction2\"\n  type: CONVOLUTION\n  bottom: \"icp3_out\"\n  top: \"icp4_reduction2\"\n  blobs_lr: 1\n  blobs_lr: 2\n  weight_decay: 1\n  weight_decay: 0\n  convolution_param {\n    num_output: 32\n    pad: 0\n    kernel_size: 1\n    weight_filler {\n      type: \"xavier\"\n    }\n    bias_filler {\n      type: \"constant\"\n      value: 0\n    }\n  }\n}\nlayers {\n  name: \"relu_icp4_reduction2\"\n  type: RELU\n  bottom: \"icp4_reduction2\"\n  top: \"icp4_reduction2\"\n}\nlayers {\n  name: \"icp4_pool\"\n  type: POOLING\n  bottom: \"icp3_out\"\n  top: \"icp4_pool\"\n  pooling_param {\n    pool: MAX\n    kernel_size: 3\n    stride: 1\n    pad: 1\n  }\n}\n# ***********\nlayers {\n  name: \"icp4_out0\"\n  type: CONVOLUTION\n  bottom: \"icp3_out\"\n  top: \"icp4_out0\"\n  blobs_lr: 1\n  blobs_lr: 2\n  weight_decay: 1\n  weight_decay: 0\n  convolution_param {\n    num_output: 256\n    pad: 0\n    kernel_size: 1\n    weight_filler {\n      type: \"xavier\"\n    }\n    bias_filler {\n      type: \"constant\"\n      value: 0\n    }\n  }\n}\nlayers {\n  name: \"relu_icp4_out0\"\n  type: RELU\n  bottom: \"icp4_out0\"\n  top: \"icp4_out0\"\n}\nlayers {\n  name: \"icp4_out1\"\n  type: CONVOLUTION\n  bottom: \"icp4_reduction1\"\n  top: \"icp4_out1\"\n  blobs_lr: 1\n  blobs_lr: 2\n  weight_decay: 1\n  weight_decay: 0\n  convolution_param {\n    num_output: 320\n    pad: 1\n    kernel_size: 3\n    weight_filler {\n      type: \"gaussian\"\n      std: 0.04\n    }\n    bias_filler {\n      type: \"constant\"\n      value: 0\n    }\n  }\n}\nlayers {\n  name: \"relu_icp4_out1\"\n  type: RELU\n  bottom: \"icp4_out1\"\n  top: \"icp4_out1\"\n}\nlayers {\n  name: \"icp4_out2\"\n  type: CONVOLUTION\n  bottom: \"icp4_reduction2\"\n  top: \"icp4_out2\"\n  blobs_lr: 1\n  blobs_lr: 2\n  weight_decay: 1\n  weight_decay: 0\n  convolution_param {\n    num_output: 128\n    pad: 2\n    kernel_size: 5\n    weight_filler {\n      type: \"gaussian\"\n      std: 0.08\n    }\n    bias_filler {\n      type: \"constant\"\n      value: 0\n    }\n  }\n}\nlayers {\n  name: \"relu_icp4_out2\"\n  type: RELU\n  bottom: \"icp4_out2\"\n  top: \"icp4_out2\"\n}\nlayers {\n  name: \"icp4_out3\"\n  type: CONVOLUTION\n  bottom: \"icp4_pool\"\n  top: \"icp4_out3\"\n  blobs_lr: 1\n  blobs_lr: 2\n  weight_decay: 1\n  weight_decay: 0\n  convolution_param {\n    num_output: 128\n    pad: 0\n    kernel_size: 1\n    weight_filler {\n      type: \"xavier\"\n    }\n    bias_filler {\n      type: \"constant\"\n      value: 0\n    }\n  }\n}\nlayers {\n  name: \"relu_icp4_out3\"\n  type: RELU\n  bottom: \"icp4_out3\"\n  top: \"icp4_out3\"\n}\n# Concat them together\nlayers {\n  name: \"icp4_out\"\n  type: CONCAT\n  bottom: \"icp4_out0\"\n  bottom: \"icp4_out1\"\n  bottom: \"icp4_out2\"\n  bottom: \"icp4_out3\"\n  top: \"icp4_out\"\n}\n# classification branch\nlayers {\n  name: \"cls3_pool\"\n  type: POOLING\n  bottom: \"icp4_out\"\n  top: \"cls3_pool\"\n  pooling_param {\n    pool: AVE\n    kernel_size: 5\n    stride: 3\n    pad: 0\n    # This padding is somewhat special\n  }\n}\nlayers {\n  name: \"cls3_reduction\"\n  type: CONVOLUTION\n  bottom: \"cls3_pool\"\n  top: \"cls3_reduction\"\n  blobs_lr: 1\n  blobs_lr: 2\n  weight_decay: 1\n  weight_decay: 0\n  convolution_param {\n    num_output: 128\n    pad: 0\n    kernel_size: 1\n    weight_filler {\n      type: \"xavier\"\n    }\n    bias_filler {\n      type: \"constant\"\n      value: 0\n    }\n  }\n}\nlayers {\n  name: \"relu_cls3_reduction\"\n  type: RELU\n  bottom: \"cls3_reduction\"\n  top: \"cls3_reduction\"\n}\nlayers {\n  name: \"cls3_fc1\"\n  type: INNER_PRODUCT\n  bottom: \"cls3_reduction\"\n  top: \"cls3_fc1\"\n  blobs_lr: 1\n  blobs_lr: 2\n  weight_decay: 1\n  weight_decay: 0\n  inner_product_param {\n    num_output: 1024\n    weight_filler {\n      type: \"gaussian\"\n      std: 0.01\n    }\n    bias_filler {\n      type: \"constant\"\n      value: 0\n    }\n  }\n}\nlayers {\n  name: \"relu_cls3_fc1\"\n  type: RELU\n  bottom: \"cls3_fc1\"\n  top: \"cls3_fc1\"\n}\nlayers {\n  name: \"cls3_drop\"\n  type: DROPOUT\n  bottom: \"cls3_fc1\"\n  top: \"cls3_fc1\"\n  dropout_param {\n    dropout_ratio: 0.4\n  }\n}\nlayers {\n  name: \"cls3_fc2\"\n  type: INNER_PRODUCT\n  bottom: \"cls3_fc1\"\n  top: \"cls3_fc2\"\n  blobs_lr: 1\n  blobs_lr: 2\n  weight_decay: 1\n  weight_decay: 0\n  inner_product_param {\n    num_output: 3755\n    weight_filler {\n      type: \"gaussian\"\n      std: 0.01\n    }\n    bias_filler {\n      type: \"constant\"\n      value: 0\n    }\n  }\n}\nlayers {\n  name: \"loss\"\n  type: SOFTMAX_LOSS\n  bottom: \"cls3_fc2\"\n  bottom: \"label\"\n  top: \"loss\"\n}\nlayers {\n  name: \"accuracy1\"\n  type: ACCURACY\n  bottom: \"cls3_fc2\"\n  bottom: \"label\"\n  top: \"accuracy1\"\n  include: { phase: TEST }\n}\nlayers {\n  name: \"accuracy2\"\n  type: ACCURACY\n  bottom: \"cls3_fc2\"\n  bottom: \"label\"\n  top: \"accuracy2\"\n  include: { phase: TEST }\n  accuracy_param {\n    top_k: 2\n  }\n}\nlayers {\n  name: \"accuracy5\"\n  type: ACCURACY\n  bottom: \"cls3_fc2\"\n  bottom: \"label\"\n  top: \"accuracy5\"\n  include: { phase: TEST }\n  accuracy_param {\n    top_k: 5\n  }\n}\nlayers {\n  name: \"accuracy10\"\n  type: ACCURACY\n  bottom: \"cls3_fc2\"\n  bottom: \"label\"\n  top: \"accuracy10\"\n  include: { phase: TEST }\n  accuracy_param {\n    top_k: 10\n  }\n}\n"
  },
  {
    "path": "casia_solver.prototxt",
    "content": "net: \"casia_googleNet_train_val.prototxt\"\ntest_iter: 458\ntest_interval: 5000\nbase_lr: 0.01\nlr_policy: \"step\"\ngamma: 0.1\nstepsize: 100000\ndisplay: 100\nmax_iter: 350000\nmomentum: 0.9\nweight_decay: 0.0005\nsnapshot: 5000\nsnapshot_prefix: \"/home/dplearning03/zhongzhuoyao/offline_inception_baseline/leveldb3/snapshot/casia_train\"\nsolver_mode: GPU\ndevice_id :0\n"
  },
  {
    "path": "gabor.cpp",
    "content": "#include \"gabor.h\"\n\ncv::Mat getMyGabor(int width, int height, int U, int V, double Kmax, double f,\n\t\t\t   double sigma, int ktype, const string kernel_name)\n{\n\tint half_width = width / 2;\n\tint half_height = height / 2;\n\tdouble Qu = PI*U/8;\n\tdouble sqsigma = sigma*sigma;\n\tdouble Kv = Kmax/pow(f,V);\n\tdouble postmean = exp(-sqsigma/2);\n\n\tcv::Mat kernel_re(width, height, ktype);\n\tcv::Mat kernel_im(width, height, ktype);\n\tcv::Mat kernel_mag(width, height, ktype);\n\n\tdouble tmp1, tmp2, tmp3;\n\tfor(int j = -half_height; j <= half_height; j++){\n\t\tfor(int i = -half_width; i <= half_width; i++){\n\t\t\ttmp1 = exp(-(Kv*Kv*(j*j+i*i))/(2*sqsigma));\n\t\t\ttmp2 = cos(Kv*cos(Qu)*i + Kv*sin(Qu)*j) - postmean;\n\t\t\ttmp3 = sin(Kv*cos(Qu)*i + Kv*sin(Qu)*j);\n\n\t\t\tkernel_re.at<float>(j+half_height, i+half_width) =\n\t\t\t\t(float)(Kv*Kv*tmp1*tmp2/sqsigma);\n\n\t\t\tkernel_im.at<float>(j+half_height, i+half_width) =\n\t\t\t\t(float)(Kv*Kv*tmp1*tmp3/sqsigma);\n\t\t}\n\t}\n\n\tmagnitude(kernel_re, kernel_im, kernel_mag);\n\n\tif(kernel_name.compare(\"real\") == 0)\n\t\treturn kernel_re;\n\telse if(kernel_name.compare(\"imag\") == 0)\n\t\treturn kernel_im;\n\telse{\n\t\tprintf(\"Invalid kernel name!\\n\");\n\t\treturn kernel_mag;\n\t}\n}\n\nvoid gabor_filter(cv::Mat& img,vector<cv::Mat> &featureMaps)\n{\n\t//cv::Mat img input character image\n\tconst int kernel_size = 7; // should be odd\n\t// variables for gabor filter\n\tdouble Kmax = PI/2;\n\tdouble f = sqrt(2.0);\n\tdouble sigma = 2*PI;\n\tint U = 0;\n\tint V = 0;\n\tint GaborH = kernel_size;\n\tint GaborW = kernel_size;\n\tint UStart = 0, UEnd = 8;\n\tint VStart = 1, VEnd = 2;\n\t// variables for filter2D\n\tcv::Point archor(-1,-1);\n\tint ddepth = CV_32F;//CV_64F\n\t//double delta = 0;\n\t//eight orientation in terms of one frequnecy\n\tfor(V = VStart; V < VEnd; V++){\n\t\tfor(U = UStart; U < UEnd; U++){\n\t\t\tcv::Mat kernel_re, kernel_im;\n\t\t\tcv::Mat dst_re, dst_im, dst_mag;\n\t\t\tkernel_re = getMyGabor(GaborW, GaborH, U, V,\n\t\t\t\tKmax, f, sigma, CV_32F, \"real\");\n\t\t\tkernel_im = getMyGabor(GaborW, GaborH, U, V,\n\t\t\t\tKmax, f, sigma, CV_32F, \"imag\");\n\t\t\t// flip kernel\n\t\t\t// Gabor kernel is symmetric, so do not need flip\n\t\t\tfilter2D(img, dst_re, ddepth, kernel_re);\n\t\t\tfilter2D(img, dst_im, ddepth, kernel_im);\n\n\t\t\tdst_mag.create(img.rows, img.cols, CV_32FC1);\n\t\t\tmagnitude(cv::Mat(dst_re),cv::Mat(dst_im),\n\t\t\t\tdst_mag);\n\t\t\t//normalize gabor kernel\n\t\t\tcv::normalize(dst_mag, dst_mag, 0, 255, CV_MINMAX);\n\t\t\tdst_mag.convertTo(dst_mag,CV_8U);\t\t\n\t\t\tfeatureMaps.push_back(dst_mag);\n\t\t\tkernel_re.release();\n\t\t\tkernel_im.release();\n\t\t\tdst_re.release();\n\t\t\tdst_im.release();\n\t\t\tdst_mag.release();\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "gabor.h",
    "content": "#include <string>\n#include <vector>\n#include <opencv2/highgui/highgui.hpp>\n#include <opencv2/highgui/highgui_c.h>\n#include <opencv2/imgproc/imgproc.hpp>\n\nusing namespace cv;\nusing namespace std;\n\nconst double PI = 3.14159265;\n\ncv::Mat getMyGabor(int width, int height, int U, int V, double Kmax, double f,\n\t\t\t   double sigma, int ktype, const string kernel_name);\n\nvoid gabor_filter(cv::Mat& img,vector<cv::Mat> &featureMaps);\n"
  },
  {
    "path": "gbcodes3755.h",
    "content": "//CASIA: To read  a POT file, use gbcodesPOT: A1B0 on disk is read to hex integer 0xb0a1\n//                                            Use for printing in hex as well.\n//       To write a CRO file, use gbcodesCRO: 0xa1b0 is written to file as B0A1\n//       To write a GNT file, use gbcodesCRO: B0A1 on disk is read as 0xa1b0\n#include<iostream>\nusing namespace std;\n\nint gbcodesCRO[]={ //c3755 labelDictionary\n  0xa1b0, 0xa2b0, 0xa3b0, 0xa4b0, 0xa5b0, 0xa6b0, 0xa7b0, 0xa8b0, 0xa9b0, 0xaab0,\n  0xabb0, 0xacb0, 0xadb0, 0xaeb0, 0xafb0, 0xb0b0, 0xb1b0, 0xb2b0, 0xb3b0, 0xb4b0,\n  0xb5b0, 0xb6b0, 0xb7b0, 0xb8b0, 0xb9b0, 0xbab0, 0xbbb0, 0xbcb0, 0xbdb0, 0xbeb0,\n  0xbfb0, 0xc0b0, 0xc1b0, 0xc2b0, 0xc3b0, 0xc4b0, 0xc5b0, 0xc6b0, 0xc7b0, 0xc8b0,\n  0xc9b0, 0xcab0, 0xcbb0, 0xccb0, 0xcdb0, 0xceb0, 0xcfb0, 0xd0b0, 0xd1b0, 0xd2b0,\n  0xd3b0, 0xd4b0, 0xd5b0, 0xd6b0, 0xd7b0, 0xd8b0, 0xd9b0, 0xdab0, 0xdbb0, 0xdcb0,\n  0xddb0, 0xdeb0, 0xdfb0, 0xe0b0, 0xe1b0, 0xe2b0, 0xe3b0, 0xe4b0, 0xe5b0, 0xe6b0,\n  0xe7b0, 0xe8b0, 0xe9b0, 0xeab0, 0xebb0, 0xecb0, 0xedb0, 0xeeb0, 0xefb0, 0xf0b0,\n  0xf1b0, 0xf2b0, 0xf3b0, 0xf4b0, 0xf5b0, 0xf6b0, 0xf7b0, 0xf8b0, 0xf9b0, 0xfab0,\n  0xfbb0, 0xfcb0, 0xfdb0, 0xfeb0, 0xa1b1, 0xa2b1, 0xa3b1, 0xa4b1, 0xa5b1, 0xa6b1,\n  0xa7b1, 0xa8b1, 0xa9b1, 0xaab1, 0xabb1, 0xacb1, 0xadb1, 0xaeb1, 0xafb1, 0xb0b1,\n  0xb1b1, 0xb2b1, 0xb3b1, 0xb4b1, 0xb5b1, 0xb6b1, 0xb7b1, 0xb8b1, 0xb9b1, 0xbab1,\n  0xbbb1, 0xbcb1, 0xbdb1, 0xbeb1, 0xbfb1, 0xc0b1, 0xc1b1, 0xc2b1, 0xc3b1, 0xc4b1,\n  0xc5b1, 0xc6b1, 0xc7b1, 0xc8b1, 0xc9b1, 0xcab1, 0xcbb1, 0xccb1, 0xcdb1, 0xceb1,\n  0xcfb1, 0xd0b1, 0xd1b1, 0xd2b1, 0xd3b1, 0xd4b1, 0xd5b1, 0xd6b1, 0xd7b1, 0xd8b1,\n  0xd9b1, 0xdab1, 0xdbb1, 0xdcb1, 0xddb1, 0xdeb1, 0xdfb1, 0xe0b1, 0xe1b1, 0xe2b1,\n  0xe3b1, 0xe4b1, 0xe5b1, 0xe6b1, 0xe7b1, 0xe8b1, 0xe9b1, 0xeab1, 0xebb1, 0xecb1,\n  0xedb1, 0xeeb1, 0xefb1, 0xf0b1, 0xf1b1, 0xf2b1, 0xf3b1, 0xf4b1, 0xf5b1, 0xf6b1,\n  0xf7b1, 0xf8b1, 0xf9b1, 0xfab1, 0xfbb1, 0xfcb1, 0xfdb1, 0xfeb1, 0xa1b2, 0xa2b2,\n  0xa3b2, 0xa4b2, 0xa5b2, 0xa6b2, 0xa7b2, 0xa8b2, 0xa9b2, 0xaab2, 0xabb2, 0xacb2,\n  0xadb2, 0xaeb2, 0xafb2, 0xb0b2, 0xb1b2, 0xb2b2, 0xb3b2, 0xb4b2, 0xb5b2, 0xb6b2,\n  0xb7b2, 0xb8b2, 0xb9b2, 0xbab2, 0xbbb2, 0xbcb2, 0xbdb2, 0xbeb2, 0xbfb2, 0xc0b2,\n  0xc1b2, 0xc2b2, 0xc3b2, 0xc4b2, 0xc5b2, 0xc6b2, 0xc7b2, 0xc8b2, 0xc9b2, 0xcab2,\n  0xcbb2, 0xccb2, 0xcdb2, 0xceb2, 0xcfb2, 0xd0b2, 0xd1b2, 0xd2b2, 0xd3b2, 0xd4b2,\n  0xd5b2, 0xd6b2, 0xd7b2, 0xd8b2, 0xd9b2, 0xdab2, 0xdbb2, 0xdcb2, 0xddb2, 0xdeb2,\n  0xdfb2, 0xe0b2, 0xe1b2, 0xe2b2, 0xe3b2, 0xe4b2, 0xe5b2, 0xe6b2, 0xe7b2, 0xe8b2,\n  0xe9b2, 0xeab2, 0xebb2, 0xecb2, 0xedb2, 0xeeb2, 0xefb2, 0xf0b2, 0xf1b2, 0xf2b2,\n  0xf3b2, 0xf4b2, 0xf5b2, 0xf6b2, 0xf7b2, 0xf8b2, 0xf9b2, 0xfab2, 0xfbb2, 0xfcb2,\n  0xfdb2, 0xfeb2, 0xa1b3, 0xa2b3, 0xa3b3, 0xa4b3, 0xa5b3, 0xa6b3, 0xa7b3, 0xa8b3,\n  0xa9b3, 0xaab3, 0xabb3, 0xacb3, 0xadb3, 0xaeb3, 0xafb3, 0xb0b3, 0xb1b3, 0xb2b3,\n  0xb3b3, 0xb4b3, 0xb5b3, 0xb6b3, 0xb7b3, 0xb8b3, 0xb9b3, 0xbab3, 0xbbb3, 0xbcb3,\n  0xbdb3, 0xbeb3, 0xbfb3, 0xc0b3, 0xc1b3, 0xc2b3, 0xc3b3, 0xc4b3, 0xc5b3, 0xc6b3,\n  0xc7b3, 0xc8b3, 0xc9b3, 0xcab3, 0xcbb3, 0xccb3, 0xcdb3, 0xceb3, 0xcfb3, 0xd0b3,\n  0xd1b3, 0xd2b3, 0xd3b3, 0xd4b3, 0xd5b3, 0xd6b3, 0xd7b3, 0xd8b3, 0xd9b3, 0xdab3,\n  0xdbb3, 0xdcb3, 0xddb3, 0xdeb3, 0xdfb3, 0xe0b3, 0xe1b3, 0xe2b3, 0xe3b3, 0xe4b3,\n  0xe5b3, 0xe6b3, 0xe7b3, 0xe8b3, 0xe9b3, 0xeab3, 0xebb3, 0xecb3, 0xedb3, 0xeeb3,\n  0xefb3, 0xf0b3, 0xf1b3, 0xf2b3, 0xf3b3, 0xf4b3, 0xf5b3, 0xf6b3, 0xf7b3, 0xf8b3,\n  0xf9b3, 0xfab3, 0xfbb3, 0xfcb3, 0xfdb3, 0xfeb3, 0xa1b4, 0xa2b4, 0xa3b4, 0xa4b4,\n  0xa5b4, 0xa6b4, 0xa7b4, 0xa8b4, 0xa9b4, 0xaab4, 0xabb4, 0xacb4, 0xadb4, 0xaeb4,\n  0xafb4, 0xb0b4, 0xb1b4, 0xb2b4, 0xb3b4, 0xb4b4, 0xb5b4, 0xb6b4, 0xb7b4, 0xb8b4,\n  0xb9b4, 0xbab4, 0xbbb4, 0xbcb4, 0xbdb4, 0xbeb4, 0xbfb4, 0xc0b4, 0xc1b4, 0xc2b4,\n  0xc3b4, 0xc4b4, 0xc5b4, 0xc6b4, 0xc7b4, 0xc8b4, 0xc9b4, 0xcab4, 0xcbb4, 0xccb4,\n  0xcdb4, 0xceb4, 0xcfb4, 0xd0b4, 0xd1b4, 0xd2b4, 0xd3b4, 0xd4b4, 0xd5b4, 0xd6b4,\n  0xd7b4, 0xd8b4, 0xd9b4, 0xdab4, 0xdbb4, 0xdcb4, 0xddb4, 0xdeb4, 0xdfb4, 0xe0b4,\n  0xe1b4, 0xe2b4, 0xe3b4, 0xe4b4, 0xe5b4, 0xe6b4, 0xe7b4, 0xe8b4, 0xe9b4, 0xeab4,\n  0xebb4, 0xecb4, 0xedb4, 0xeeb4, 0xefb4, 0xf0b4, 0xf1b4, 0xf2b4, 0xf3b4, 0xf4b4,\n  0xf5b4, 0xf6b4, 0xf7b4, 0xf8b4, 0xf9b4, 0xfab4, 0xfbb4, 0xfcb4, 0xfdb4, 0xfeb4,\n  0xa1b5, 0xa2b5, 0xa3b5, 0xa4b5, 0xa5b5, 0xa6b5, 0xa7b5, 0xa8b5, 0xa9b5, 0xaab5,\n  0xabb5, 0xacb5, 0xadb5, 0xaeb5, 0xafb5, 0xb0b5, 0xb1b5, 0xb2b5, 0xb3b5, 0xb4b5,\n  0xb5b5, 0xb6b5, 0xb7b5, 0xb8b5, 0xb9b5, 0xbab5, 0xbbb5, 0xbcb5, 0xbdb5, 0xbeb5,\n  0xbfb5, 0xc0b5, 0xc1b5, 0xc2b5, 0xc3b5, 0xc4b5, 0xc5b5, 0xc6b5, 0xc7b5, 0xc8b5,\n  0xc9b5, 0xcab5, 0xcbb5, 0xccb5, 0xcdb5, 0xceb5, 0xcfb5, 0xd0b5, 0xd1b5, 0xd2b5,\n  0xd3b5, 0xd4b5, 0xd5b5, 0xd6b5, 0xd7b5, 0xd8b5, 0xd9b5, 0xdab5, 0xdbb5, 0xdcb5,\n  0xddb5, 0xdeb5, 0xdfb5, 0xe0b5, 0xe1b5, 0xe2b5, 0xe3b5, 0xe4b5, 0xe5b5, 0xe6b5,\n  0xe7b5, 0xe8b5, 0xe9b5, 0xeab5, 0xebb5, 0xecb5, 0xedb5, 0xeeb5, 0xefb5, 0xf0b5,\n  0xf1b5, 0xf2b5, 0xf3b5, 0xf4b5, 0xf5b5, 0xf6b5, 0xf7b5, 0xf8b5, 0xf9b5, 0xfab5,\n  0xfbb5, 0xfcb5, 0xfdb5, 0xfeb5, 0xa1b6, 0xa2b6, 0xa3b6, 0xa4b6, 0xa5b6, 0xa6b6,\n  0xa7b6, 0xa8b6, 0xa9b6, 0xaab6, 0xabb6, 0xacb6, 0xadb6, 0xaeb6, 0xafb6, 0xb0b6,\n  0xb1b6, 0xb2b6, 0xb3b6, 0xb4b6, 0xb5b6, 0xb6b6, 0xb7b6, 0xb8b6, 0xb9b6, 0xbab6,\n  0xbbb6, 0xbcb6, 0xbdb6, 0xbeb6, 0xbfb6, 0xc0b6, 0xc1b6, 0xc2b6, 0xc3b6, 0xc4b6,\n  0xc5b6, 0xc6b6, 0xc7b6, 0xc8b6, 0xc9b6, 0xcab6, 0xcbb6, 0xccb6, 0xcdb6, 0xceb6,\n  0xcfb6, 0xd0b6, 0xd1b6, 0xd2b6, 0xd3b6, 0xd4b6, 0xd5b6, 0xd6b6, 0xd7b6, 0xd8b6,\n  0xd9b6, 0xdab6, 0xdbb6, 0xdcb6, 0xddb6, 0xdeb6, 0xdfb6, 0xe0b6, 0xe1b6, 0xe2b6,\n  0xe3b6, 0xe4b6, 0xe5b6, 0xe6b6, 0xe7b6, 0xe8b6, 0xe9b6, 0xeab6, 0xebb6, 0xecb6,\n  0xedb6, 0xeeb6, 0xefb6, 0xf0b6, 0xf1b6, 0xf2b6, 0xf3b6, 0xf4b6, 0xf5b6, 0xf6b6,\n  0xf7b6, 0xf8b6, 0xf9b6, 0xfab6, 0xfbb6, 0xfcb6, 0xfdb6, 0xfeb6, 0xa1b7, 0xa2b7,\n  0xa3b7, 0xa4b7, 0xa5b7, 0xa6b7, 0xa7b7, 0xa8b7, 0xa9b7, 0xaab7, 0xabb7, 0xacb7,\n  0xadb7, 0xaeb7, 0xafb7, 0xb0b7, 0xb1b7, 0xb2b7, 0xb3b7, 0xb4b7, 0xb5b7, 0xb6b7,\n  0xb7b7, 0xb8b7, 0xb9b7, 0xbab7, 0xbbb7, 0xbcb7, 0xbdb7, 0xbeb7, 0xbfb7, 0xc0b7,\n  0xc1b7, 0xc2b7, 0xc3b7, 0xc4b7, 0xc5b7, 0xc6b7, 0xc7b7, 0xc8b7, 0xc9b7, 0xcab7,\n  0xcbb7, 0xccb7, 0xcdb7, 0xceb7, 0xcfb7, 0xd0b7, 0xd1b7, 0xd2b7, 0xd3b7, 0xd4b7,\n  0xd5b7, 0xd6b7, 0xd7b7, 0xd8b7, 0xd9b7, 0xdab7, 0xdbb7, 0xdcb7, 0xddb7, 0xdeb7,\n  0xdfb7, 0xe0b7, 0xe1b7, 0xe2b7, 0xe3b7, 0xe4b7, 0xe5b7, 0xe6b7, 0xe7b7, 0xe8b7,\n  0xe9b7, 0xeab7, 0xebb7, 0xecb7, 0xedb7, 0xeeb7, 0xefb7, 0xf0b7, 0xf1b7, 0xf2b7,\n  0xf3b7, 0xf4b7, 0xf5b7, 0xf6b7, 0xf7b7, 0xf8b7, 0xf9b7, 0xfab7, 0xfbb7, 0xfcb7,\n  0xfdb7, 0xfeb7, 0xa1b8, 0xa2b8, 0xa3b8, 0xa4b8, 0xa5b8, 0xa6b8, 0xa7b8, 0xa8b8,\n  0xa9b8, 0xaab8, 0xabb8, 0xacb8, 0xadb8, 0xaeb8, 0xafb8, 0xb0b8, 0xb1b8, 0xb2b8,\n  0xb3b8, 0xb4b8, 0xb5b8, 0xb6b8, 0xb7b8, 0xb8b8, 0xb9b8, 0xbab8, 0xbbb8, 0xbcb8,\n  0xbdb8, 0xbeb8, 0xbfb8, 0xc0b8, 0xc1b8, 0xc2b8, 0xc3b8, 0xc4b8, 0xc5b8, 0xc6b8,\n  0xc7b8, 0xc8b8, 0xc9b8, 0xcab8, 0xcbb8, 0xccb8, 0xcdb8, 0xceb8, 0xcfb8, 0xd0b8,\n  0xd1b8, 0xd2b8, 0xd3b8, 0xd4b8, 0xd5b8, 0xd6b8, 0xd7b8, 0xd8b8, 0xd9b8, 0xdab8,\n  0xdbb8, 0xdcb8, 0xddb8, 0xdeb8, 0xdfb8, 0xe0b8, 0xe1b8, 0xe2b8, 0xe3b8, 0xe4b8,\n  0xe5b8, 0xe6b8, 0xe7b8, 0xe8b8, 0xe9b8, 0xeab8, 0xebb8, 0xecb8, 0xedb8, 0xeeb8,\n  0xefb8, 0xf0b8, 0xf1b8, 0xf2b8, 0xf3b8, 0xf4b8, 0xf5b8, 0xf6b8, 0xf7b8, 0xf8b8,\n  0xf9b8, 0xfab8, 0xfbb8, 0xfcb8, 0xfdb8, 0xfeb8, 0xa1b9, 0xa2b9, 0xa3b9, 0xa4b9,\n  0xa5b9, 0xa6b9, 0xa7b9, 0xa8b9, 0xa9b9, 0xaab9, 0xabb9, 0xacb9, 0xadb9, 0xaeb9,\n  0xafb9, 0xb0b9, 0xb1b9, 0xb2b9, 0xb3b9, 0xb4b9, 0xb5b9, 0xb6b9, 0xb7b9, 0xb8b9,\n  0xb9b9, 0xbab9, 0xbbb9, 0xbcb9, 0xbdb9, 0xbeb9, 0xbfb9, 0xc0b9, 0xc1b9, 0xc2b9,\n  0xc3b9, 0xc4b9, 0xc5b9, 0xc6b9, 0xc7b9, 0xc8b9, 0xc9b9, 0xcab9, 0xcbb9, 0xccb9,\n  0xcdb9, 0xceb9, 0xcfb9, 0xd0b9, 0xd1b9, 0xd2b9, 0xd3b9, 0xd4b9, 0xd5b9, 0xd6b9,\n  0xd7b9, 0xd8b9, 0xd9b9, 0xdab9, 0xdbb9, 0xdcb9, 0xddb9, 0xdeb9, 0xdfb9, 0xe0b9,\n  0xe1b9, 0xe2b9, 0xe3b9, 0xe4b9, 0xe5b9, 0xe6b9, 0xe7b9, 0xe8b9, 0xe9b9, 0xeab9,\n  0xebb9, 0xecb9, 0xedb9, 0xeeb9, 0xefb9, 0xf0b9, 0xf1b9, 0xf2b9, 0xf3b9, 0xf4b9,\n  0xf5b9, 0xf6b9, 0xf7b9, 0xf8b9, 0xf9b9, 0xfab9, 0xfbb9, 0xfcb9, 0xfdb9, 0xfeb9,\n  0xa1ba, 0xa2ba, 0xa3ba, 0xa4ba, 0xa5ba, 0xa6ba, 0xa7ba, 0xa8ba, 0xa9ba, 0xaaba,\n  0xabba, 0xacba, 0xadba, 0xaeba, 0xafba, 0xb0ba, 0xb1ba, 0xb2ba, 0xb3ba, 0xb4ba,\n  0xb5ba, 0xb6ba, 0xb7ba, 0xb8ba, 0xb9ba, 0xbaba, 0xbbba, 0xbcba, 0xbdba, 0xbeba,\n  0xbfba, 0xc0ba, 0xc1ba, 0xc2ba, 0xc3ba, 0xc4ba, 0xc5ba, 0xc6ba, 0xc7ba, 0xc8ba,\n  0xc9ba, 0xcaba, 0xcbba, 0xccba, 0xcdba, 0xceba, 0xcfba, 0xd0ba, 0xd1ba, 0xd2ba,\n  0xd3ba, 0xd4ba, 0xd5ba, 0xd6ba, 0xd7ba, 0xd8ba, 0xd9ba, 0xdaba, 0xdbba, 0xdcba,\n  0xddba, 0xdeba, 0xdfba, 0xe0ba, 0xe1ba, 0xe2ba, 0xe3ba, 0xe4ba, 0xe5ba, 0xe6ba,\n  0xe7ba, 0xe8ba, 0xe9ba, 0xeaba, 0xebba, 0xecba, 0xedba, 0xeeba, 0xefba, 0xf0ba,\n  0xf1ba, 0xf2ba, 0xf3ba, 0xf4ba, 0xf5ba, 0xf6ba, 0xf7ba, 0xf8ba, 0xf9ba, 0xfaba,\n  0xfbba, 0xfcba, 0xfdba, 0xfeba, 0xa1bb, 0xa2bb, 0xa3bb, 0xa4bb, 0xa5bb, 0xa6bb,\n  0xa7bb, 0xa8bb, 0xa9bb, 0xaabb, 0xabbb, 0xacbb, 0xadbb, 0xaebb, 0xafbb, 0xb0bb,\n  0xb1bb, 0xb2bb, 0xb3bb, 0xb4bb, 0xb5bb, 0xb6bb, 0xb7bb, 0xb8bb, 0xb9bb, 0xbabb,\n  0xbbbb, 0xbcbb, 0xbdbb, 0xbebb, 0xbfbb, 0xc0bb, 0xc1bb, 0xc2bb, 0xc3bb, 0xc4bb,\n  0xc5bb, 0xc6bb, 0xc7bb, 0xc8bb, 0xc9bb, 0xcabb, 0xcbbb, 0xccbb, 0xcdbb, 0xcebb,\n  0xcfbb, 0xd0bb, 0xd1bb, 0xd2bb, 0xd3bb, 0xd4bb, 0xd5bb, 0xd6bb, 0xd7bb, 0xd8bb,\n  0xd9bb, 0xdabb, 0xdbbb, 0xdcbb, 0xddbb, 0xdebb, 0xdfbb, 0xe0bb, 0xe1bb, 0xe2bb,\n  0xe3bb, 0xe4bb, 0xe5bb, 0xe6bb, 0xe7bb, 0xe8bb, 0xe9bb, 0xeabb, 0xebbb, 0xecbb,\n  0xedbb, 0xeebb, 0xefbb, 0xf0bb, 0xf1bb, 0xf2bb, 0xf3bb, 0xf4bb, 0xf5bb, 0xf6bb,\n  0xf7bb, 0xf8bb, 0xf9bb, 0xfabb, 0xfbbb, 0xfcbb, 0xfdbb, 0xfebb, 0xa1bc, 0xa2bc,\n  0xa3bc, 0xa4bc, 0xa5bc, 0xa6bc, 0xa7bc, 0xa8bc, 0xa9bc, 0xaabc, 0xabbc, 0xacbc,\n  0xadbc, 0xaebc, 0xafbc, 0xb0bc, 0xb1bc, 0xb2bc, 0xb3bc, 0xb4bc, 0xb5bc, 0xb6bc,\n  0xb7bc, 0xb8bc, 0xb9bc, 0xbabc, 0xbbbc, 0xbcbc, 0xbdbc, 0xbebc, 0xbfbc, 0xc0bc,\n  0xc1bc, 0xc2bc, 0xc3bc, 0xc4bc, 0xc5bc, 0xc6bc, 0xc7bc, 0xc8bc, 0xc9bc, 0xcabc,\n  0xcbbc, 0xccbc, 0xcdbc, 0xcebc, 0xcfbc, 0xd0bc, 0xd1bc, 0xd2bc, 0xd3bc, 0xd4bc,\n  0xd5bc, 0xd6bc, 0xd7bc, 0xd8bc, 0xd9bc, 0xdabc, 0xdbbc, 0xdcbc, 0xddbc, 0xdebc,\n  0xdfbc, 0xe0bc, 0xe1bc, 0xe2bc, 0xe3bc, 0xe4bc, 0xe5bc, 0xe6bc, 0xe7bc, 0xe8bc,\n  0xe9bc, 0xeabc, 0xebbc, 0xecbc, 0xedbc, 0xeebc, 0xefbc, 0xf0bc, 0xf1bc, 0xf2bc,\n  0xf3bc, 0xf4bc, 0xf5bc, 0xf6bc, 0xf7bc, 0xf8bc, 0xf9bc, 0xfabc, 0xfbbc, 0xfcbc,\n  0xfdbc, 0xfebc, 0xa1bd, 0xa2bd, 0xa3bd, 0xa4bd, 0xa5bd, 0xa6bd, 0xa7bd, 0xa8bd,\n  0xa9bd, 0xaabd, 0xabbd, 0xacbd, 0xadbd, 0xaebd, 0xafbd, 0xb0bd, 0xb1bd, 0xb2bd,\n  0xb3bd, 0xb4bd, 0xb5bd, 0xb6bd, 0xb7bd, 0xb8bd, 0xb9bd, 0xbabd, 0xbbbd, 0xbcbd,\n  0xbdbd, 0xbebd, 0xbfbd, 0xc0bd, 0xc1bd, 0xc2bd, 0xc3bd, 0xc4bd, 0xc5bd, 0xc6bd,\n  0xc7bd, 0xc8bd, 0xc9bd, 0xcabd, 0xcbbd, 0xccbd, 0xcdbd, 0xcebd, 0xcfbd, 0xd0bd,\n  0xd1bd, 0xd2bd, 0xd3bd, 0xd4bd, 0xd5bd, 0xd6bd, 0xd7bd, 0xd8bd, 0xd9bd, 0xdabd,\n  0xdbbd, 0xdcbd, 0xddbd, 0xdebd, 0xdfbd, 0xe0bd, 0xe1bd, 0xe2bd, 0xe3bd, 0xe4bd,\n  0xe5bd, 0xe6bd, 0xe7bd, 0xe8bd, 0xe9bd, 0xeabd, 0xebbd, 0xecbd, 0xedbd, 0xeebd,\n  0xefbd, 0xf0bd, 0xf1bd, 0xf2bd, 0xf3bd, 0xf4bd, 0xf5bd, 0xf6bd, 0xf7bd, 0xf8bd,\n  0xf9bd, 0xfabd, 0xfbbd, 0xfcbd, 0xfdbd, 0xfebd, 0xa1be, 0xa2be, 0xa3be, 0xa4be,\n  0xa5be, 0xa6be, 0xa7be, 0xa8be, 0xa9be, 0xaabe, 0xabbe, 0xacbe, 0xadbe, 0xaebe,\n  0xafbe, 0xb0be, 0xb1be, 0xb2be, 0xb3be, 0xb4be, 0xb5be, 0xb6be, 0xb7be, 0xb8be,\n  0xb9be, 0xbabe, 0xbbbe, 0xbcbe, 0xbdbe, 0xbebe, 0xbfbe, 0xc0be, 0xc1be, 0xc2be,\n  0xc3be, 0xc4be, 0xc5be, 0xc6be, 0xc7be, 0xc8be, 0xc9be, 0xcabe, 0xcbbe, 0xccbe,\n  0xcdbe, 0xcebe, 0xcfbe, 0xd0be, 0xd1be, 0xd2be, 0xd3be, 0xd4be, 0xd5be, 0xd6be,\n  0xd7be, 0xd8be, 0xd9be, 0xdabe, 0xdbbe, 0xdcbe, 0xddbe, 0xdebe, 0xdfbe, 0xe0be,\n  0xe1be, 0xe2be, 0xe3be, 0xe4be, 0xe5be, 0xe6be, 0xe7be, 0xe8be, 0xe9be, 0xeabe,\n  0xebbe, 0xecbe, 0xedbe, 0xeebe, 0xefbe, 0xf0be, 0xf1be, 0xf2be, 0xf3be, 0xf4be,\n  0xf5be, 0xf6be, 0xf7be, 0xf8be, 0xf9be, 0xfabe, 0xfbbe, 0xfcbe, 0xfdbe, 0xfebe,\n  0xa1bf, 0xa2bf, 0xa3bf, 0xa4bf, 0xa5bf, 0xa6bf, 0xa7bf, 0xa8bf, 0xa9bf, 0xaabf,\n  0xabbf, 0xacbf, 0xadbf, 0xaebf, 0xafbf, 0xb0bf, 0xb1bf, 0xb2bf, 0xb3bf, 0xb4bf,\n  0xb5bf, 0xb6bf, 0xb7bf, 0xb8bf, 0xb9bf, 0xbabf, 0xbbbf, 0xbcbf, 0xbdbf, 0xbebf,\n  0xbfbf, 0xc0bf, 0xc1bf, 0xc2bf, 0xc3bf, 0xc4bf, 0xc5bf, 0xc6bf, 0xc7bf, 0xc8bf,\n  0xc9bf, 0xcabf, 0xcbbf, 0xccbf, 0xcdbf, 0xcebf, 0xcfbf, 0xd0bf, 0xd1bf, 0xd2bf,\n  0xd3bf, 0xd4bf, 0xd5bf, 0xd6bf, 0xd7bf, 0xd8bf, 0xd9bf, 0xdabf, 0xdbbf, 0xdcbf,\n  0xddbf, 0xdebf, 0xdfbf, 0xe0bf, 0xe1bf, 0xe2bf, 0xe3bf, 0xe4bf, 0xe5bf, 0xe6bf,\n  0xe7bf, 0xe8bf, 0xe9bf, 0xeabf, 0xebbf, 0xecbf, 0xedbf, 0xeebf, 0xefbf, 0xf0bf,\n  0xf1bf, 0xf2bf, 0xf3bf, 0xf4bf, 0xf5bf, 0xf6bf, 0xf7bf, 0xf8bf, 0xf9bf, 0xfabf,\n  0xfbbf, 0xfcbf, 0xfdbf, 0xfebf, 0xa1c0, 0xa2c0, 0xa3c0, 0xa4c0, 0xa5c0, 0xa6c0,\n  0xa7c0, 0xa8c0, 0xa9c0, 0xaac0, 0xabc0, 0xacc0, 0xadc0, 0xaec0, 0xafc0, 0xb0c0,\n  0xb1c0, 0xb2c0, 0xb3c0, 0xb4c0, 0xb5c0, 0xb6c0, 0xb7c0, 0xb8c0, 0xb9c0, 0xbac0,\n  0xbbc0, 0xbcc0, 0xbdc0, 0xbec0, 0xbfc0, 0xc0c0, 0xc1c0, 0xc2c0, 0xc3c0, 0xc4c0,\n  0xc5c0, 0xc6c0, 0xc7c0, 0xc8c0, 0xc9c0, 0xcac0, 0xcbc0, 0xccc0, 0xcdc0, 0xcec0,\n  0xcfc0, 0xd0c0, 0xd1c0, 0xd2c0, 0xd3c0, 0xd4c0, 0xd5c0, 0xd6c0, 0xd7c0, 0xd8c0,\n  0xd9c0, 0xdac0, 0xdbc0, 0xdcc0, 0xddc0, 0xdec0, 0xdfc0, 0xe0c0, 0xe1c0, 0xe2c0,\n  0xe3c0, 0xe4c0, 0xe5c0, 0xe6c0, 0xe7c0, 0xe8c0, 0xe9c0, 0xeac0, 0xebc0, 0xecc0,\n  0xedc0, 0xeec0, 0xefc0, 0xf0c0, 0xf1c0, 0xf2c0, 0xf3c0, 0xf4c0, 0xf5c0, 0xf6c0,\n  0xf7c0, 0xf8c0, 0xf9c0, 0xfac0, 0xfbc0, 0xfcc0, 0xfdc0, 0xfec0, 0xa1c1, 0xa2c1,\n  0xa3c1, 0xa4c1, 0xa5c1, 0xa6c1, 0xa7c1, 0xa8c1, 0xa9c1, 0xaac1, 0xabc1, 0xacc1,\n  0xadc1, 0xaec1, 0xafc1, 0xb0c1, 0xb1c1, 0xb2c1, 0xb3c1, 0xb4c1, 0xb5c1, 0xb6c1,\n  0xb7c1, 0xb8c1, 0xb9c1, 0xbac1, 0xbbc1, 0xbcc1, 0xbdc1, 0xbec1, 0xbfc1, 0xc0c1,\n  0xc1c1, 0xc2c1, 0xc3c1, 0xc4c1, 0xc5c1, 0xc6c1, 0xc7c1, 0xc8c1, 0xc9c1, 0xcac1,\n  0xcbc1, 0xccc1, 0xcdc1, 0xcec1, 0xcfc1, 0xd0c1, 0xd1c1, 0xd2c1, 0xd3c1, 0xd4c1,\n  0xd5c1, 0xd6c1, 0xd7c1, 0xd8c1, 0xd9c1, 0xdac1, 0xdbc1, 0xdcc1, 0xddc1, 0xdec1,\n  0xdfc1, 0xe0c1, 0xe1c1, 0xe2c1, 0xe3c1, 0xe4c1, 0xe5c1, 0xe6c1, 0xe7c1, 0xe8c1,\n  0xe9c1, 0xeac1, 0xebc1, 0xecc1, 0xedc1, 0xeec1, 0xefc1, 0xf0c1, 0xf1c1, 0xf2c1,\n  0xf3c1, 0xf4c1, 0xf5c1, 0xf6c1, 0xf7c1, 0xf8c1, 0xf9c1, 0xfac1, 0xfbc1, 0xfcc1,\n  0xfdc1, 0xfec1, 0xa1c2, 0xa2c2, 0xa3c2, 0xa4c2, 0xa5c2, 0xa6c2, 0xa7c2, 0xa8c2,\n  0xa9c2, 0xaac2, 0xabc2, 0xacc2, 0xadc2, 0xaec2, 0xafc2, 0xb0c2, 0xb1c2, 0xb2c2,\n  0xb3c2, 0xb4c2, 0xb5c2, 0xb6c2, 0xb7c2, 0xb8c2, 0xb9c2, 0xbac2, 0xbbc2, 0xbcc2,\n  0xbdc2, 0xbec2, 0xbfc2, 0xc0c2, 0xc1c2, 0xc2c2, 0xc3c2, 0xc4c2, 0xc5c2, 0xc6c2,\n  0xc7c2, 0xc8c2, 0xc9c2, 0xcac2, 0xcbc2, 0xccc2, 0xcdc2, 0xcec2, 0xcfc2, 0xd0c2,\n  0xd1c2, 0xd2c2, 0xd3c2, 0xd4c2, 0xd5c2, 0xd6c2, 0xd7c2, 0xd8c2, 0xd9c2, 0xdac2,\n  0xdbc2, 0xdcc2, 0xddc2, 0xdec2, 0xdfc2, 0xe0c2, 0xe1c2, 0xe2c2, 0xe3c2, 0xe4c2,\n  0xe5c2, 0xe6c2, 0xe7c2, 0xe8c2, 0xe9c2, 0xeac2, 0xebc2, 0xecc2, 0xedc2, 0xeec2,\n  0xefc2, 0xf0c2, 0xf1c2, 0xf2c2, 0xf3c2, 0xf4c2, 0xf5c2, 0xf6c2, 0xf7c2, 0xf8c2,\n  0xf9c2, 0xfac2, 0xfbc2, 0xfcc2, 0xfdc2, 0xfec2, 0xa1c3, 0xa2c3, 0xa3c3, 0xa4c3,\n  0xa5c3, 0xa6c3, 0xa7c3, 0xa8c3, 0xa9c3, 0xaac3, 0xabc3, 0xacc3, 0xadc3, 0xaec3,\n  0xafc3, 0xb0c3, 0xb1c3, 0xb2c3, 0xb3c3, 0xb4c3, 0xb5c3, 0xb6c3, 0xb7c3, 0xb8c3,\n  0xb9c3, 0xbac3, 0xbbc3, 0xbcc3, 0xbdc3, 0xbec3, 0xbfc3, 0xc0c3, 0xc1c3, 0xc2c3,\n  0xc3c3, 0xc4c3, 0xc5c3, 0xc6c3, 0xc7c3, 0xc8c3, 0xc9c3, 0xcac3, 0xcbc3, 0xccc3,\n  0xcdc3, 0xcec3, 0xcfc3, 0xd0c3, 0xd1c3, 0xd2c3, 0xd3c3, 0xd4c3, 0xd5c3, 0xd6c3,\n  0xd7c3, 0xd8c3, 0xd9c3, 0xdac3, 0xdbc3, 0xdcc3, 0xddc3, 0xdec3, 0xdfc3, 0xe0c3,\n  0xe1c3, 0xe2c3, 0xe3c3, 0xe4c3, 0xe5c3, 0xe6c3, 0xe7c3, 0xe8c3, 0xe9c3, 0xeac3,\n  0xebc3, 0xecc3, 0xedc3, 0xeec3, 0xefc3, 0xf0c3, 0xf1c3, 0xf2c3, 0xf3c3, 0xf4c3,\n  0xf5c3, 0xf6c3, 0xf7c3, 0xf8c3, 0xf9c3, 0xfac3, 0xfbc3, 0xfcc3, 0xfdc3, 0xfec3,\n  0xa1c4, 0xa2c4, 0xa3c4, 0xa4c4, 0xa5c4, 0xa6c4, 0xa7c4, 0xa8c4, 0xa9c4, 0xaac4,\n  0xabc4, 0xacc4, 0xadc4, 0xaec4, 0xafc4, 0xb0c4, 0xb1c4, 0xb2c4, 0xb3c4, 0xb4c4,\n  0xb5c4, 0xb6c4, 0xb7c4, 0xb8c4, 0xb9c4, 0xbac4, 0xbbc4, 0xbcc4, 0xbdc4, 0xbec4,\n  0xbfc4, 0xc0c4, 0xc1c4, 0xc2c4, 0xc3c4, 0xc4c4, 0xc5c4, 0xc6c4, 0xc7c4, 0xc8c4,\n  0xc9c4, 0xcac4, 0xcbc4, 0xccc4, 0xcdc4, 0xcec4, 0xcfc4, 0xd0c4, 0xd1c4, 0xd2c4,\n  0xd3c4, 0xd4c4, 0xd5c4, 0xd6c4, 0xd7c4, 0xd8c4, 0xd9c4, 0xdac4, 0xdbc4, 0xdcc4,\n  0xddc4, 0xdec4, 0xdfc4, 0xe0c4, 0xe1c4, 0xe2c4, 0xe3c4, 0xe4c4, 0xe5c4, 0xe6c4,\n  0xe7c4, 0xe8c4, 0xe9c4, 0xeac4, 0xebc4, 0xecc4, 0xedc4, 0xeec4, 0xefc4, 0xf0c4,\n  0xf1c4, 0xf2c4, 0xf3c4, 0xf4c4, 0xf5c4, 0xf6c4, 0xf7c4, 0xf8c4, 0xf9c4, 0xfac4,\n  0xfbc4, 0xfcc4, 0xfdc4, 0xfec4, 0xa1c5, 0xa2c5, 0xa3c5, 0xa4c5, 0xa5c5, 0xa6c5,\n  0xa7c5, 0xa8c5, 0xa9c5, 0xaac5, 0xabc5, 0xacc5, 0xadc5, 0xaec5, 0xafc5, 0xb0c5,\n  0xb1c5, 0xb2c5, 0xb3c5, 0xb4c5, 0xb5c5, 0xb6c5, 0xb7c5, 0xb8c5, 0xb9c5, 0xbac5,\n  0xbbc5, 0xbcc5, 0xbdc5, 0xbec5, 0xbfc5, 0xc0c5, 0xc1c5, 0xc2c5, 0xc3c5, 0xc4c5,\n  0xc5c5, 0xc6c5, 0xc7c5, 0xc8c5, 0xc9c5, 0xcac5, 0xcbc5, 0xccc5, 0xcdc5, 0xcec5,\n  0xcfc5, 0xd0c5, 0xd1c5, 0xd2c5, 0xd3c5, 0xd4c5, 0xd5c5, 0xd6c5, 0xd7c5, 0xd8c5,\n  0xd9c5, 0xdac5, 0xdbc5, 0xdcc5, 0xddc5, 0xdec5, 0xdfc5, 0xe0c5, 0xe1c5, 0xe2c5,\n  0xe3c5, 0xe4c5, 0xe5c5, 0xe6c5, 0xe7c5, 0xe8c5, 0xe9c5, 0xeac5, 0xebc5, 0xecc5,\n  0xedc5, 0xeec5, 0xefc5, 0xf0c5, 0xf1c5, 0xf2c5, 0xf3c5, 0xf4c5, 0xf5c5, 0xf6c5,\n  0xf7c5, 0xf8c5, 0xf9c5, 0xfac5, 0xfbc5, 0xfcc5, 0xfdc5, 0xfec5, 0xa1c6, 0xa2c6,\n  0xa3c6, 0xa4c6, 0xa5c6, 0xa6c6, 0xa7c6, 0xa8c6, 0xa9c6, 0xaac6, 0xabc6, 0xacc6,\n  0xadc6, 0xaec6, 0xafc6, 0xb0c6, 0xb1c6, 0xb2c6, 0xb3c6, 0xb4c6, 0xb5c6, 0xb6c6,\n  0xb7c6, 0xb8c6, 0xb9c6, 0xbac6, 0xbbc6, 0xbcc6, 0xbdc6, 0xbec6, 0xbfc6, 0xc0c6,\n  0xc1c6, 0xc2c6, 0xc3c6, 0xc4c6, 0xc5c6, 0xc6c6, 0xc7c6, 0xc8c6, 0xc9c6, 0xcac6,\n  0xcbc6, 0xccc6, 0xcdc6, 0xcec6, 0xcfc6, 0xd0c6, 0xd1c6, 0xd2c6, 0xd3c6, 0xd4c6,\n  0xd5c6, 0xd6c6, 0xd7c6, 0xd8c6, 0xd9c6, 0xdac6, 0xdbc6, 0xdcc6, 0xddc6, 0xdec6,\n  0xdfc6, 0xe0c6, 0xe1c6, 0xe2c6, 0xe3c6, 0xe4c6, 0xe5c6, 0xe6c6, 0xe7c6, 0xe8c6,\n  0xe9c6, 0xeac6, 0xebc6, 0xecc6, 0xedc6, 0xeec6, 0xefc6, 0xf0c6, 0xf1c6, 0xf2c6,\n  0xf3c6, 0xf4c6, 0xf5c6, 0xf6c6, 0xf7c6, 0xf8c6, 0xf9c6, 0xfac6, 0xfbc6, 0xfcc6,\n  0xfdc6, 0xfec6, 0xa1c7, 0xa2c7, 0xa3c7, 0xa4c7, 0xa5c7, 0xa6c7, 0xa7c7, 0xa8c7,\n  0xa9c7, 0xaac7, 0xabc7, 0xacc7, 0xadc7, 0xaec7, 0xafc7, 0xb0c7, 0xb1c7, 0xb2c7,\n  0xb3c7, 0xb4c7, 0xb5c7, 0xb6c7, 0xb7c7, 0xb8c7, 0xb9c7, 0xbac7, 0xbbc7, 0xbcc7,\n  0xbdc7, 0xbec7, 0xbfc7, 0xc0c7, 0xc1c7, 0xc2c7, 0xc3c7, 0xc4c7, 0xc5c7, 0xc6c7,\n  0xc7c7, 0xc8c7, 0xc9c7, 0xcac7, 0xcbc7, 0xccc7, 0xcdc7, 0xcec7, 0xcfc7, 0xd0c7,\n  0xd1c7, 0xd2c7, 0xd3c7, 0xd4c7, 0xd5c7, 0xd6c7, 0xd7c7, 0xd8c7, 0xd9c7, 0xdac7,\n  0xdbc7, 0xdcc7, 0xddc7, 0xdec7, 0xdfc7, 0xe0c7, 0xe1c7, 0xe2c7, 0xe3c7, 0xe4c7,\n  0xe5c7, 0xe6c7, 0xe7c7, 0xe8c7, 0xe9c7, 0xeac7, 0xebc7, 0xecc7, 0xedc7, 0xeec7,\n  0xefc7, 0xf0c7, 0xf1c7, 0xf2c7, 0xf3c7, 0xf4c7, 0xf5c7, 0xf6c7, 0xf7c7, 0xf8c7,\n  0xf9c7, 0xfac7, 0xfbc7, 0xfcc7, 0xfdc7, 0xfec7, 0xa1c8, 0xa2c8, 0xa3c8, 0xa4c8,\n  0xa5c8, 0xa6c8, 0xa7c8, 0xa8c8, 0xa9c8, 0xaac8, 0xabc8, 0xacc8, 0xadc8, 0xaec8,\n  0xafc8, 0xb0c8, 0xb1c8, 0xb2c8, 0xb3c8, 0xb4c8, 0xb5c8, 0xb6c8, 0xb7c8, 0xb8c8,\n  0xb9c8, 0xbac8, 0xbbc8, 0xbcc8, 0xbdc8, 0xbec8, 0xbfc8, 0xc0c8, 0xc1c8, 0xc2c8,\n  0xc3c8, 0xc4c8, 0xc5c8, 0xc6c8, 0xc7c8, 0xc8c8, 0xc9c8, 0xcac8, 0xcbc8, 0xccc8,\n  0xcdc8, 0xcec8, 0xcfc8, 0xd0c8, 0xd1c8, 0xd2c8, 0xd3c8, 0xd4c8, 0xd5c8, 0xd6c8,\n  0xd7c8, 0xd8c8, 0xd9c8, 0xdac8, 0xdbc8, 0xdcc8, 0xddc8, 0xdec8, 0xdfc8, 0xe0c8,\n  0xe1c8, 0xe2c8, 0xe3c8, 0xe4c8, 0xe5c8, 0xe6c8, 0xe7c8, 0xe8c8, 0xe9c8, 0xeac8,\n  0xebc8, 0xecc8, 0xedc8, 0xeec8, 0xefc8, 0xf0c8, 0xf1c8, 0xf2c8, 0xf3c8, 0xf4c8,\n  0xf5c8, 0xf6c8, 0xf7c8, 0xf8c8, 0xf9c8, 0xfac8, 0xfbc8, 0xfcc8, 0xfdc8, 0xfec8,\n  0xa1c9, 0xa2c9, 0xa3c9, 0xa4c9, 0xa5c9, 0xa6c9, 0xa7c9, 0xa8c9, 0xa9c9, 0xaac9,\n  0xabc9, 0xacc9, 0xadc9, 0xaec9, 0xafc9, 0xb0c9, 0xb1c9, 0xb2c9, 0xb3c9, 0xb4c9,\n  0xb5c9, 0xb6c9, 0xb7c9, 0xb8c9, 0xb9c9, 0xbac9, 0xbbc9, 0xbcc9, 0xbdc9, 0xbec9,\n  0xbfc9, 0xc0c9, 0xc1c9, 0xc2c9, 0xc3c9, 0xc4c9, 0xc5c9, 0xc6c9, 0xc7c9, 0xc8c9,\n  0xc9c9, 0xcac9, 0xcbc9, 0xccc9, 0xcdc9, 0xcec9, 0xcfc9, 0xd0c9, 0xd1c9, 0xd2c9,\n  0xd3c9, 0xd4c9, 0xd5c9, 0xd6c9, 0xd7c9, 0xd8c9, 0xd9c9, 0xdac9, 0xdbc9, 0xdcc9,\n  0xddc9, 0xdec9, 0xdfc9, 0xe0c9, 0xe1c9, 0xe2c9, 0xe3c9, 0xe4c9, 0xe5c9, 0xe6c9,\n  0xe7c9, 0xe8c9, 0xe9c9, 0xeac9, 0xebc9, 0xecc9, 0xedc9, 0xeec9, 0xefc9, 0xf0c9,\n  0xf1c9, 0xf2c9, 0xf3c9, 0xf4c9, 0xf5c9, 0xf6c9, 0xf7c9, 0xf8c9, 0xf9c9, 0xfac9,\n  0xfbc9, 0xfcc9, 0xfdc9, 0xfec9, 0xa1ca, 0xa2ca, 0xa3ca, 0xa4ca, 0xa5ca, 0xa6ca,\n  0xa7ca, 0xa8ca, 0xa9ca, 0xaaca, 0xabca, 0xacca, 0xadca, 0xaeca, 0xafca, 0xb0ca,\n  0xb1ca, 0xb2ca, 0xb3ca, 0xb4ca, 0xb5ca, 0xb6ca, 0xb7ca, 0xb8ca, 0xb9ca, 0xbaca,\n  0xbbca, 0xbcca, 0xbdca, 0xbeca, 0xbfca, 0xc0ca, 0xc1ca, 0xc2ca, 0xc3ca, 0xc4ca,\n  0xc5ca, 0xc6ca, 0xc7ca, 0xc8ca, 0xc9ca, 0xcaca, 0xcbca, 0xccca, 0xcdca, 0xceca,\n  0xcfca, 0xd0ca, 0xd1ca, 0xd2ca, 0xd3ca, 0xd4ca, 0xd5ca, 0xd6ca, 0xd7ca, 0xd8ca,\n  0xd9ca, 0xdaca, 0xdbca, 0xdcca, 0xddca, 0xdeca, 0xdfca, 0xe0ca, 0xe1ca, 0xe2ca,\n  0xe3ca, 0xe4ca, 0xe5ca, 0xe6ca, 0xe7ca, 0xe8ca, 0xe9ca, 0xeaca, 0xebca, 0xecca,\n  0xedca, 0xeeca, 0xefca, 0xf0ca, 0xf1ca, 0xf2ca, 0xf3ca, 0xf4ca, 0xf5ca, 0xf6ca,\n  0xf7ca, 0xf8ca, 0xf9ca, 0xfaca, 0xfbca, 0xfcca, 0xfdca, 0xfeca, 0xa1cb, 0xa2cb,\n  0xa3cb, 0xa4cb, 0xa5cb, 0xa6cb, 0xa7cb, 0xa8cb, 0xa9cb, 0xaacb, 0xabcb, 0xaccb,\n  0xadcb, 0xaecb, 0xafcb, 0xb0cb, 0xb1cb, 0xb2cb, 0xb3cb, 0xb4cb, 0xb5cb, 0xb6cb,\n  0xb7cb, 0xb8cb, 0xb9cb, 0xbacb, 0xbbcb, 0xbccb, 0xbdcb, 0xbecb, 0xbfcb, 0xc0cb,\n  0xc1cb, 0xc2cb, 0xc3cb, 0xc4cb, 0xc5cb, 0xc6cb, 0xc7cb, 0xc8cb, 0xc9cb, 0xcacb,\n  0xcbcb, 0xcccb, 0xcdcb, 0xcecb, 0xcfcb, 0xd0cb, 0xd1cb, 0xd2cb, 0xd3cb, 0xd4cb,\n  0xd5cb, 0xd6cb, 0xd7cb, 0xd8cb, 0xd9cb, 0xdacb, 0xdbcb, 0xdccb, 0xddcb, 0xdecb,\n  0xdfcb, 0xe0cb, 0xe1cb, 0xe2cb, 0xe3cb, 0xe4cb, 0xe5cb, 0xe6cb, 0xe7cb, 0xe8cb,\n  0xe9cb, 0xeacb, 0xebcb, 0xeccb, 0xedcb, 0xeecb, 0xefcb, 0xf0cb, 0xf1cb, 0xf2cb,\n  0xf3cb, 0xf4cb, 0xf5cb, 0xf6cb, 0xf7cb, 0xf8cb, 0xf9cb, 0xfacb, 0xfbcb, 0xfccb,\n  0xfdcb, 0xfecb, 0xa1cc, 0xa2cc, 0xa3cc, 0xa4cc, 0xa5cc, 0xa6cc, 0xa7cc, 0xa8cc,\n  0xa9cc, 0xaacc, 0xabcc, 0xaccc, 0xadcc, 0xaecc, 0xafcc, 0xb0cc, 0xb1cc, 0xb2cc,\n  0xb3cc, 0xb4cc, 0xb5cc, 0xb6cc, 0xb7cc, 0xb8cc, 0xb9cc, 0xbacc, 0xbbcc, 0xbccc,\n  0xbdcc, 0xbecc, 0xbfcc, 0xc0cc, 0xc1cc, 0xc2cc, 0xc3cc, 0xc4cc, 0xc5cc, 0xc6cc,\n  0xc7cc, 0xc8cc, 0xc9cc, 0xcacc, 0xcbcc, 0xcccc, 0xcdcc, 0xcecc, 0xcfcc, 0xd0cc,\n  0xd1cc, 0xd2cc, 0xd3cc, 0xd4cc, 0xd5cc, 0xd6cc, 0xd7cc, 0xd8cc, 0xd9cc, 0xdacc,\n  0xdbcc, 0xdccc, 0xddcc, 0xdecc, 0xdfcc, 0xe0cc, 0xe1cc, 0xe2cc, 0xe3cc, 0xe4cc,\n  0xe5cc, 0xe6cc, 0xe7cc, 0xe8cc, 0xe9cc, 0xeacc, 0xebcc, 0xeccc, 0xedcc, 0xeecc,\n  0xefcc, 0xf0cc, 0xf1cc, 0xf2cc, 0xf3cc, 0xf4cc, 0xf5cc, 0xf6cc, 0xf7cc, 0xf8cc,\n  0xf9cc, 0xfacc, 0xfbcc, 0xfccc, 0xfdcc, 0xfecc, 0xa1cd, 0xa2cd, 0xa3cd, 0xa4cd,\n  0xa5cd, 0xa6cd, 0xa7cd, 0xa8cd, 0xa9cd, 0xaacd, 0xabcd, 0xaccd, 0xadcd, 0xaecd,\n  0xafcd, 0xb0cd, 0xb1cd, 0xb2cd, 0xb3cd, 0xb4cd, 0xb5cd, 0xb6cd, 0xb7cd, 0xb8cd,\n  0xb9cd, 0xbacd, 0xbbcd, 0xbccd, 0xbdcd, 0xbecd, 0xbfcd, 0xc0cd, 0xc1cd, 0xc2cd,\n  0xc3cd, 0xc4cd, 0xc5cd, 0xc6cd, 0xc7cd, 0xc8cd, 0xc9cd, 0xcacd, 0xcbcd, 0xcccd,\n  0xcdcd, 0xcecd, 0xcfcd, 0xd0cd, 0xd1cd, 0xd2cd, 0xd3cd, 0xd4cd, 0xd5cd, 0xd6cd,\n  0xd7cd, 0xd8cd, 0xd9cd, 0xdacd, 0xdbcd, 0xdccd, 0xddcd, 0xdecd, 0xdfcd, 0xe0cd,\n  0xe1cd, 0xe2cd, 0xe3cd, 0xe4cd, 0xe5cd, 0xe6cd, 0xe7cd, 0xe8cd, 0xe9cd, 0xeacd,\n  0xebcd, 0xeccd, 0xedcd, 0xeecd, 0xefcd, 0xf0cd, 0xf1cd, 0xf2cd, 0xf3cd, 0xf4cd,\n  0xf5cd, 0xf6cd, 0xf7cd, 0xf8cd, 0xf9cd, 0xfacd, 0xfbcd, 0xfccd, 0xfdcd, 0xfecd,\n  0xa1ce, 0xa2ce, 0xa3ce, 0xa4ce, 0xa5ce, 0xa6ce, 0xa7ce, 0xa8ce, 0xa9ce, 0xaace,\n  0xabce, 0xacce, 0xadce, 0xaece, 0xafce, 0xb0ce, 0xb1ce, 0xb2ce, 0xb3ce, 0xb4ce,\n  0xb5ce, 0xb6ce, 0xb7ce, 0xb8ce, 0xb9ce, 0xbace, 0xbbce, 0xbcce, 0xbdce, 0xbece,\n  0xbfce, 0xc0ce, 0xc1ce, 0xc2ce, 0xc3ce, 0xc4ce, 0xc5ce, 0xc6ce, 0xc7ce, 0xc8ce,\n  0xc9ce, 0xcace, 0xcbce, 0xccce, 0xcdce, 0xcece, 0xcfce, 0xd0ce, 0xd1ce, 0xd2ce,\n  0xd3ce, 0xd4ce, 0xd5ce, 0xd6ce, 0xd7ce, 0xd8ce, 0xd9ce, 0xdace, 0xdbce, 0xdcce,\n  0xddce, 0xdece, 0xdfce, 0xe0ce, 0xe1ce, 0xe2ce, 0xe3ce, 0xe4ce, 0xe5ce, 0xe6ce,\n  0xe7ce, 0xe8ce, 0xe9ce, 0xeace, 0xebce, 0xecce, 0xedce, 0xeece, 0xefce, 0xf0ce,\n  0xf1ce, 0xf2ce, 0xf3ce, 0xf4ce, 0xf5ce, 0xf6ce, 0xf7ce, 0xf8ce, 0xf9ce, 0xface,\n  0xfbce, 0xfcce, 0xfdce, 0xfece, 0xa1cf, 0xa2cf, 0xa3cf, 0xa4cf, 0xa5cf, 0xa6cf,\n  0xa7cf, 0xa8cf, 0xa9cf, 0xaacf, 0xabcf, 0xaccf, 0xadcf, 0xaecf, 0xafcf, 0xb0cf,\n  0xb1cf, 0xb2cf, 0xb3cf, 0xb4cf, 0xb5cf, 0xb6cf, 0xb7cf, 0xb8cf, 0xb9cf, 0xbacf,\n  0xbbcf, 0xbccf, 0xbdcf, 0xbecf, 0xbfcf, 0xc0cf, 0xc1cf, 0xc2cf, 0xc3cf, 0xc4cf,\n  0xc5cf, 0xc6cf, 0xc7cf, 0xc8cf, 0xc9cf, 0xcacf, 0xcbcf, 0xcccf, 0xcdcf, 0xcecf,\n  0xcfcf, 0xd0cf, 0xd1cf, 0xd2cf, 0xd3cf, 0xd4cf, 0xd5cf, 0xd6cf, 0xd7cf, 0xd8cf,\n  0xd9cf, 0xdacf, 0xdbcf, 0xdccf, 0xddcf, 0xdecf, 0xdfcf, 0xe0cf, 0xe1cf, 0xe2cf,\n  0xe3cf, 0xe4cf, 0xe5cf, 0xe6cf, 0xe7cf, 0xe8cf, 0xe9cf, 0xeacf, 0xebcf, 0xeccf,\n  0xedcf, 0xeecf, 0xefcf, 0xf0cf, 0xf1cf, 0xf2cf, 0xf3cf, 0xf4cf, 0xf5cf, 0xf6cf,\n  0xf7cf, 0xf8cf, 0xf9cf, 0xfacf, 0xfbcf, 0xfccf, 0xfdcf, 0xfecf, 0xa1d0, 0xa2d0,\n  0xa3d0, 0xa4d0, 0xa5d0, 0xa6d0, 0xa7d0, 0xa8d0, 0xa9d0, 0xaad0, 0xabd0, 0xacd0,\n  0xadd0, 0xaed0, 0xafd0, 0xb0d0, 0xb1d0, 0xb2d0, 0xb3d0, 0xb4d0, 0xb5d0, 0xb6d0,\n  0xb7d0, 0xb8d0, 0xb9d0, 0xbad0, 0xbbd0, 0xbcd0, 0xbdd0, 0xbed0, 0xbfd0, 0xc0d0,\n  0xc1d0, 0xc2d0, 0xc3d0, 0xc4d0, 0xc5d0, 0xc6d0, 0xc7d0, 0xc8d0, 0xc9d0, 0xcad0,\n  0xcbd0, 0xccd0, 0xcdd0, 0xced0, 0xcfd0, 0xd0d0, 0xd1d0, 0xd2d0, 0xd3d0, 0xd4d0,\n  0xd5d0, 0xd6d0, 0xd7d0, 0xd8d0, 0xd9d0, 0xdad0, 0xdbd0, 0xdcd0, 0xddd0, 0xded0,\n  0xdfd0, 0xe0d0, 0xe1d0, 0xe2d0, 0xe3d0, 0xe4d0, 0xe5d0, 0xe6d0, 0xe7d0, 0xe8d0,\n  0xe9d0, 0xead0, 0xebd0, 0xecd0, 0xedd0, 0xeed0, 0xefd0, 0xf0d0, 0xf1d0, 0xf2d0,\n  0xf3d0, 0xf4d0, 0xf5d0, 0xf6d0, 0xf7d0, 0xf8d0, 0xf9d0, 0xfad0, 0xfbd0, 0xfcd0,\n  0xfdd0, 0xfed0, 0xa1d1, 0xa2d1, 0xa3d1, 0xa4d1, 0xa5d1, 0xa6d1, 0xa7d1, 0xa8d1,\n  0xa9d1, 0xaad1, 0xabd1, 0xacd1, 0xadd1, 0xaed1, 0xafd1, 0xb0d1, 0xb1d1, 0xb2d1,\n  0xb3d1, 0xb4d1, 0xb5d1, 0xb6d1, 0xb7d1, 0xb8d1, 0xb9d1, 0xbad1, 0xbbd1, 0xbcd1,\n  0xbdd1, 0xbed1, 0xbfd1, 0xc0d1, 0xc1d1, 0xc2d1, 0xc3d1, 0xc4d1, 0xc5d1, 0xc6d1,\n  0xc7d1, 0xc8d1, 0xc9d1, 0xcad1, 0xcbd1, 0xccd1, 0xcdd1, 0xced1, 0xcfd1, 0xd0d1,\n  0xd1d1, 0xd2d1, 0xd3d1, 0xd4d1, 0xd5d1, 0xd6d1, 0xd7d1, 0xd8d1, 0xd9d1, 0xdad1,\n  0xdbd1, 0xdcd1, 0xddd1, 0xded1, 0xdfd1, 0xe0d1, 0xe1d1, 0xe2d1, 0xe3d1, 0xe4d1,\n  0xe5d1, 0xe6d1, 0xe7d1, 0xe8d1, 0xe9d1, 0xead1, 0xebd1, 0xecd1, 0xedd1, 0xeed1,\n  0xefd1, 0xf0d1, 0xf1d1, 0xf2d1, 0xf3d1, 0xf4d1, 0xf5d1, 0xf6d1, 0xf7d1, 0xf8d1,\n  0xf9d1, 0xfad1, 0xfbd1, 0xfcd1, 0xfdd1, 0xfed1, 0xa1d2, 0xa2d2, 0xa3d2, 0xa4d2,\n  0xa5d2, 0xa6d2, 0xa7d2, 0xa8d2, 0xa9d2, 0xaad2, 0xabd2, 0xacd2, 0xadd2, 0xaed2,\n  0xafd2, 0xb0d2, 0xb1d2, 0xb2d2, 0xb3d2, 0xb4d2, 0xb5d2, 0xb6d2, 0xb7d2, 0xb8d2,\n  0xb9d2, 0xbad2, 0xbbd2, 0xbcd2, 0xbdd2, 0xbed2, 0xbfd2, 0xc0d2, 0xc1d2, 0xc2d2,\n  0xc3d2, 0xc4d2, 0xc5d2, 0xc6d2, 0xc7d2, 0xc8d2, 0xc9d2, 0xcad2, 0xcbd2, 0xccd2,\n  0xcdd2, 0xced2, 0xcfd2, 0xd0d2, 0xd1d2, 0xd2d2, 0xd3d2, 0xd4d2, 0xd5d2, 0xd6d2,\n  0xd7d2, 0xd8d2, 0xd9d2, 0xdad2, 0xdbd2, 0xdcd2, 0xddd2, 0xded2, 0xdfd2, 0xe0d2,\n  0xe1d2, 0xe2d2, 0xe3d2, 0xe4d2, 0xe5d2, 0xe6d2, 0xe7d2, 0xe8d2, 0xe9d2, 0xead2,\n  0xebd2, 0xecd2, 0xedd2, 0xeed2, 0xefd2, 0xf0d2, 0xf1d2, 0xf2d2, 0xf3d2, 0xf4d2,\n  0xf5d2, 0xf6d2, 0xf7d2, 0xf8d2, 0xf9d2, 0xfad2, 0xfbd2, 0xfcd2, 0xfdd2, 0xfed2,\n  0xa1d3, 0xa2d3, 0xa3d3, 0xa4d3, 0xa5d3, 0xa6d3, 0xa7d3, 0xa8d3, 0xa9d3, 0xaad3,\n  0xabd3, 0xacd3, 0xadd3, 0xaed3, 0xafd3, 0xb0d3, 0xb1d3, 0xb2d3, 0xb3d3, 0xb4d3,\n  0xb5d3, 0xb6d3, 0xb7d3, 0xb8d3, 0xb9d3, 0xbad3, 0xbbd3, 0xbcd3, 0xbdd3, 0xbed3,\n  0xbfd3, 0xc0d3, 0xc1d3, 0xc2d3, 0xc3d3, 0xc4d3, 0xc5d3, 0xc6d3, 0xc7d3, 0xc8d3,\n  0xc9d3, 0xcad3, 0xcbd3, 0xccd3, 0xcdd3, 0xced3, 0xcfd3, 0xd0d3, 0xd1d3, 0xd2d3,\n  0xd3d3, 0xd4d3, 0xd5d3, 0xd6d3, 0xd7d3, 0xd8d3, 0xd9d3, 0xdad3, 0xdbd3, 0xdcd3,\n  0xddd3, 0xded3, 0xdfd3, 0xe0d3, 0xe1d3, 0xe2d3, 0xe3d3, 0xe4d3, 0xe5d3, 0xe6d3,\n  0xe7d3, 0xe8d3, 0xe9d3, 0xead3, 0xebd3, 0xecd3, 0xedd3, 0xeed3, 0xefd3, 0xf0d3,\n  0xf1d3, 0xf2d3, 0xf3d3, 0xf4d3, 0xf5d3, 0xf6d3, 0xf7d3, 0xf8d3, 0xf9d3, 0xfad3,\n  0xfbd3, 0xfcd3, 0xfdd3, 0xfed3, 0xa1d4, 0xa2d4, 0xa3d4, 0xa4d4, 0xa5d4, 0xa6d4,\n  0xa7d4, 0xa8d4, 0xa9d4, 0xaad4, 0xabd4, 0xacd4, 0xadd4, 0xaed4, 0xafd4, 0xb0d4,\n  0xb1d4, 0xb2d4, 0xb3d4, 0xb4d4, 0xb5d4, 0xb6d4, 0xb7d4, 0xb8d4, 0xb9d4, 0xbad4,\n  0xbbd4, 0xbcd4, 0xbdd4, 0xbed4, 0xbfd4, 0xc0d4, 0xc1d4, 0xc2d4, 0xc3d4, 0xc4d4,\n  0xc5d4, 0xc6d4, 0xc7d4, 0xc8d4, 0xc9d4, 0xcad4, 0xcbd4, 0xccd4, 0xcdd4, 0xced4,\n  0xcfd4, 0xd0d4, 0xd1d4, 0xd2d4, 0xd3d4, 0xd4d4, 0xd5d4, 0xd6d4, 0xd7d4, 0xd8d4,\n  0xd9d4, 0xdad4, 0xdbd4, 0xdcd4, 0xddd4, 0xded4, 0xdfd4, 0xe0d4, 0xe1d4, 0xe2d4,\n  0xe3d4, 0xe4d4, 0xe5d4, 0xe6d4, 0xe7d4, 0xe8d4, 0xe9d4, 0xead4, 0xebd4, 0xecd4,\n  0xedd4, 0xeed4, 0xefd4, 0xf0d4, 0xf1d4, 0xf2d4, 0xf3d4, 0xf4d4, 0xf5d4, 0xf6d4,\n  0xf7d4, 0xf8d4, 0xf9d4, 0xfad4, 0xfbd4, 0xfcd4, 0xfdd4, 0xfed4, 0xa1d5, 0xa2d5,\n  0xa3d5, 0xa4d5, 0xa5d5, 0xa6d5, 0xa7d5, 0xa8d5, 0xa9d5, 0xaad5, 0xabd5, 0xacd5,\n  0xadd5, 0xaed5, 0xafd5, 0xb0d5, 0xb1d5, 0xb2d5, 0xb3d5, 0xb4d5, 0xb5d5, 0xb6d5,\n  0xb7d5, 0xb8d5, 0xb9d5, 0xbad5, 0xbbd5, 0xbcd5, 0xbdd5, 0xbed5, 0xbfd5, 0xc0d5,\n  0xc1d5, 0xc2d5, 0xc3d5, 0xc4d5, 0xc5d5, 0xc6d5, 0xc7d5, 0xc8d5, 0xc9d5, 0xcad5,\n  0xcbd5, 0xccd5, 0xcdd5, 0xced5, 0xcfd5, 0xd0d5, 0xd1d5, 0xd2d5, 0xd3d5, 0xd4d5,\n  0xd5d5, 0xd6d5, 0xd7d5, 0xd8d5, 0xd9d5, 0xdad5, 0xdbd5, 0xdcd5, 0xddd5, 0xded5,\n  0xdfd5, 0xe0d5, 0xe1d5, 0xe2d5, 0xe3d5, 0xe4d5, 0xe5d5, 0xe6d5, 0xe7d5, 0xe8d5,\n  0xe9d5, 0xead5, 0xebd5, 0xecd5, 0xedd5, 0xeed5, 0xefd5, 0xf0d5, 0xf1d5, 0xf2d5,\n  0xf3d5, 0xf4d5, 0xf5d5, 0xf6d5, 0xf7d5, 0xf8d5, 0xf9d5, 0xfad5, 0xfbd5, 0xfcd5,\n  0xfdd5, 0xfed5, 0xa1d6, 0xa2d6, 0xa3d6, 0xa4d6, 0xa5d6, 0xa6d6, 0xa7d6, 0xa8d6,\n  0xa9d6, 0xaad6, 0xabd6, 0xacd6, 0xadd6, 0xaed6, 0xafd6, 0xb0d6, 0xb1d6, 0xb2d6,\n  0xb3d6, 0xb4d6, 0xb5d6, 0xb6d6, 0xb7d6, 0xb8d6, 0xb9d6, 0xbad6, 0xbbd6, 0xbcd6,\n  0xbdd6, 0xbed6, 0xbfd6, 0xc0d6, 0xc1d6, 0xc2d6, 0xc3d6, 0xc4d6, 0xc5d6, 0xc6d6,\n  0xc7d6, 0xc8d6, 0xc9d6, 0xcad6, 0xcbd6, 0xccd6, 0xcdd6, 0xced6, 0xcfd6, 0xd0d6,\n  0xd1d6, 0xd2d6, 0xd3d6, 0xd4d6, 0xd5d6, 0xd6d6, 0xd7d6, 0xd8d6, 0xd9d6, 0xdad6,\n  0xdbd6, 0xdcd6, 0xddd6, 0xded6, 0xdfd6, 0xe0d6, 0xe1d6, 0xe2d6, 0xe3d6, 0xe4d6,\n  0xe5d6, 0xe6d6, 0xe7d6, 0xe8d6, 0xe9d6, 0xead6, 0xebd6, 0xecd6, 0xedd6, 0xeed6,\n  0xefd6, 0xf0d6, 0xf1d6, 0xf2d6, 0xf3d6, 0xf4d6, 0xf5d6, 0xf6d6, 0xf7d6, 0xf8d6,\n  0xf9d6, 0xfad6, 0xfbd6, 0xfcd6, 0xfdd6, 0xfed6, 0xa1d7, 0xa2d7, 0xa3d7, 0xa4d7,\n  0xa5d7, 0xa6d7, 0xa7d7, 0xa8d7, 0xa9d7, 0xaad7, 0xabd7, 0xacd7, 0xadd7, 0xaed7,\n  0xafd7, 0xb0d7, 0xb1d7, 0xb2d7, 0xb3d7, 0xb4d7, 0xb5d7, 0xb6d7, 0xb7d7, 0xb8d7,\n  0xb9d7, 0xbad7, 0xbbd7, 0xbcd7, 0xbdd7, 0xbed7, 0xbfd7, 0xc0d7, 0xc1d7, 0xc2d7,\n  0xc3d7, 0xc4d7, 0xc5d7, 0xc6d7, 0xc7d7, 0xc8d7, 0xc9d7, 0xcad7, 0xcbd7, 0xccd7,\n  0xcdd7, 0xced7, 0xcfd7, 0xd0d7, 0xd1d7, 0xd2d7, 0xd3d7, 0xd4d7, 0xd5d7, 0xd6d7,\n  0xd7d7, 0xd8d7, 0xd9d7, 0xdad7, 0xdbd7, 0xdcd7, 0xddd7, 0xded7, 0xdfd7, 0xe0d7,\n  0xe1d7, 0xe2d7, 0xe3d7, 0xe4d7, 0xe5d7, 0xe6d7, 0xe7d7, 0xe8d7, 0xe9d7, 0xead7,\n  0xebd7, 0xecd7, 0xedd7, 0xeed7, 0xefd7, 0xf0d7, 0xf1d7, 0xf2d7, 0xf3d7, 0xf4d7,\n  0xf5d7, 0xf6d7, 0xf7d7, 0xf8d7, 0xf9d7};\nint gbcodesPOT[3755]={    //c3755le POT\n  0xb0a1, 0xb0a2, 0xb0a3, 0xb0a4, 0xb0a5, 0xb0a6, 0xb0a7, 0xb0a8, 0xb0a9, 0xb0aa,\n  0xb0ab, 0xb0ac, 0xb0ad, 0xb0ae, 0xb0af, 0xb0b0, 0xb0b1, 0xb0b2, 0xb0b3, 0xb0b4,\n  0xb0b5, 0xb0b6, 0xb0b7, 0xb0b8, 0xb0b9, 0xb0ba, 0xb0bb, 0xb0bc, 0xb0bd, 0xb0be,\n  0xb0bf, 0xb0c0, 0xb0c1, 0xb0c2, 0xb0c3, 0xb0c4, 0xb0c5, 0xb0c6, 0xb0c7, 0xb0c8,\n  0xb0c9, 0xb0ca, 0xb0cb, 0xb0cc, 0xb0cd, 0xb0ce, 0xb0cf, 0xb0d0, 0xb0d1, 0xb0d2,\n  0xb0d3, 0xb0d4, 0xb0d5, 0xb0d6, 0xb0d7, 0xb0d8, 0xb0d9, 0xb0da, 0xb0db, 0xb0dc,\n  0xb0dd, 0xb0de, 0xb0df, 0xb0e0, 0xb0e1, 0xb0e2, 0xb0e3, 0xb0e4, 0xb0e5, 0xb0e6,\n  0xb0e7, 0xb0e8, 0xb0e9, 0xb0ea, 0xb0eb, 0xb0ec, 0xb0ed, 0xb0ee, 0xb0ef, 0xb0f0,\n  0xb0f1, 0xb0f2, 0xb0f3, 0xb0f4, 0xb0f5, 0xb0f6, 0xb0f7, 0xb0f8, 0xb0f9, 0xb0fa,\n  0xb0fb, 0xb0fc, 0xb0fd, 0xb0fe, 0xb1a1, 0xb1a2, 0xb1a3, 0xb1a4, 0xb1a5, 0xb1a6,\n  0xb1a7, 0xb1a8, 0xb1a9, 0xb1aa, 0xb1ab, 0xb1ac, 0xb1ad, 0xb1ae, 0xb1af, 0xb1b0,\n  0xb1b1, 0xb1b2, 0xb1b3, 0xb1b4, 0xb1b5, 0xb1b6, 0xb1b7, 0xb1b8, 0xb1b9, 0xb1ba,\n  0xb1bb, 0xb1bc, 0xb1bd, 0xb1be, 0xb1bf, 0xb1c0, 0xb1c1, 0xb1c2, 0xb1c3, 0xb1c4,\n  0xb1c5, 0xb1c6, 0xb1c7, 0xb1c8, 0xb1c9, 0xb1ca, 0xb1cb, 0xb1cc, 0xb1cd, 0xb1ce,\n  0xb1cf, 0xb1d0, 0xb1d1, 0xb1d2, 0xb1d3, 0xb1d4, 0xb1d5, 0xb1d6, 0xb1d7, 0xb1d8,\n  0xb1d9, 0xb1da, 0xb1db, 0xb1dc, 0xb1dd, 0xb1de, 0xb1df, 0xb1e0, 0xb1e1, 0xb1e2,\n  0xb1e3, 0xb1e4, 0xb1e5, 0xb1e6, 0xb1e7, 0xb1e8, 0xb1e9, 0xb1ea, 0xb1eb, 0xb1ec,\n  0xb1ed, 0xb1ee, 0xb1ef, 0xb1f0, 0xb1f1, 0xb1f2, 0xb1f3, 0xb1f4, 0xb1f5, 0xb1f6,\n  0xb1f7, 0xb1f8, 0xb1f9, 0xb1fa, 0xb1fb, 0xb1fc, 0xb1fd, 0xb1fe, 0xb2a1, 0xb2a2,\n  0xb2a3, 0xb2a4, 0xb2a5, 0xb2a6, 0xb2a7, 0xb2a8, 0xb2a9, 0xb2aa, 0xb2ab, 0xb2ac,\n  0xb2ad, 0xb2ae, 0xb2af, 0xb2b0, 0xb2b1, 0xb2b2, 0xb2b3, 0xb2b4, 0xb2b5, 0xb2b6,\n  0xb2b7, 0xb2b8, 0xb2b9, 0xb2ba, 0xb2bb, 0xb2bc, 0xb2bd, 0xb2be, 0xb2bf, 0xb2c0,\n  0xb2c1, 0xb2c2, 0xb2c3, 0xb2c4, 0xb2c5, 0xb2c6, 0xb2c7, 0xb2c8, 0xb2c9, 0xb2ca,\n  0xb2cb, 0xb2cc, 0xb2cd, 0xb2ce, 0xb2cf, 0xb2d0, 0xb2d1, 0xb2d2, 0xb2d3, 0xb2d4,\n  0xb2d5, 0xb2d6, 0xb2d7, 0xb2d8, 0xb2d9, 0xb2da, 0xb2db, 0xb2dc, 0xb2dd, 0xb2de,\n  0xb2df, 0xb2e0, 0xb2e1, 0xb2e2, 0xb2e3, 0xb2e4, 0xb2e5, 0xb2e6, 0xb2e7, 0xb2e8,\n  0xb2e9, 0xb2ea, 0xb2eb, 0xb2ec, 0xb2ed, 0xb2ee, 0xb2ef, 0xb2f0, 0xb2f1, 0xb2f2,\n  0xb2f3, 0xb2f4, 0xb2f5, 0xb2f6, 0xb2f7, 0xb2f8, 0xb2f9, 0xb2fa, 0xb2fb, 0xb2fc,\n  0xb2fd, 0xb2fe, 0xb3a1, 0xb3a2, 0xb3a3, 0xb3a4, 0xb3a5, 0xb3a6, 0xb3a7, 0xb3a8,\n  0xb3a9, 0xb3aa, 0xb3ab, 0xb3ac, 0xb3ad, 0xb3ae, 0xb3af, 0xb3b0, 0xb3b1, 0xb3b2,\n  0xb3b3, 0xb3b4, 0xb3b5, 0xb3b6, 0xb3b7, 0xb3b8, 0xb3b9, 0xb3ba, 0xb3bb, 0xb3bc,\n  0xb3bd, 0xb3be, 0xb3bf, 0xb3c0, 0xb3c1, 0xb3c2, 0xb3c3, 0xb3c4, 0xb3c5, 0xb3c6,\n  0xb3c7, 0xb3c8, 0xb3c9, 0xb3ca, 0xb3cb, 0xb3cc, 0xb3cd, 0xb3ce, 0xb3cf, 0xb3d0,\n  0xb3d1, 0xb3d2, 0xb3d3, 0xb3d4, 0xb3d5, 0xb3d6, 0xb3d7, 0xb3d8, 0xb3d9, 0xb3da,\n  0xb3db, 0xb3dc, 0xb3dd, 0xb3de, 0xb3df, 0xb3e0, 0xb3e1, 0xb3e2, 0xb3e3, 0xb3e4,\n  0xb3e5, 0xb3e6, 0xb3e7, 0xb3e8, 0xb3e9, 0xb3ea, 0xb3eb, 0xb3ec, 0xb3ed, 0xb3ee,\n  0xb3ef, 0xb3f0, 0xb3f1, 0xb3f2, 0xb3f3, 0xb3f4, 0xb3f5, 0xb3f6, 0xb3f7, 0xb3f8,\n  0xb3f9, 0xb3fa, 0xb3fb, 0xb3fc, 0xb3fd, 0xb3fe, 0xb4a1, 0xb4a2, 0xb4a3, 0xb4a4,\n  0xb4a5, 0xb4a6, 0xb4a7, 0xb4a8, 0xb4a9, 0xb4aa, 0xb4ab, 0xb4ac, 0xb4ad, 0xb4ae,\n  0xb4af, 0xb4b0, 0xb4b1, 0xb4b2, 0xb4b3, 0xb4b4, 0xb4b5, 0xb4b6, 0xb4b7, 0xb4b8,\n  0xb4b9, 0xb4ba, 0xb4bb, 0xb4bc, 0xb4bd, 0xb4be, 0xb4bf, 0xb4c0, 0xb4c1, 0xb4c2,\n  0xb4c3, 0xb4c4, 0xb4c5, 0xb4c6, 0xb4c7, 0xb4c8, 0xb4c9, 0xb4ca, 0xb4cb, 0xb4cc,\n  0xb4cd, 0xb4ce, 0xb4cf, 0xb4d0, 0xb4d1, 0xb4d2, 0xb4d3, 0xb4d4, 0xb4d5, 0xb4d6,\n  0xb4d7, 0xb4d8, 0xb4d9, 0xb4da, 0xb4db, 0xb4dc, 0xb4dd, 0xb4de, 0xb4df, 0xb4e0,\n  0xb4e1, 0xb4e2, 0xb4e3, 0xb4e4, 0xb4e5, 0xb4e6, 0xb4e7, 0xb4e8, 0xb4e9, 0xb4ea,\n  0xb4eb, 0xb4ec, 0xb4ed, 0xb4ee, 0xb4ef, 0xb4f0, 0xb4f1, 0xb4f2, 0xb4f3, 0xb4f4,\n  0xb4f5, 0xb4f6, 0xb4f7, 0xb4f8, 0xb4f9, 0xb4fa, 0xb4fb, 0xb4fc, 0xb4fd, 0xb4fe,\n  0xb5a1, 0xb5a2, 0xb5a3, 0xb5a4, 0xb5a5, 0xb5a6, 0xb5a7, 0xb5a8, 0xb5a9, 0xb5aa,\n  0xb5ab, 0xb5ac, 0xb5ad, 0xb5ae, 0xb5af, 0xb5b0, 0xb5b1, 0xb5b2, 0xb5b3, 0xb5b4,\n  0xb5b5, 0xb5b6, 0xb5b7, 0xb5b8, 0xb5b9, 0xb5ba, 0xb5bb, 0xb5bc, 0xb5bd, 0xb5be,\n  0xb5bf, 0xb5c0, 0xb5c1, 0xb5c2, 0xb5c3, 0xb5c4, 0xb5c5, 0xb5c6, 0xb5c7, 0xb5c8,\n  0xb5c9, 0xb5ca, 0xb5cb, 0xb5cc, 0xb5cd, 0xb5ce, 0xb5cf, 0xb5d0, 0xb5d1, 0xb5d2,\n  0xb5d3, 0xb5d4, 0xb5d5, 0xb5d6, 0xb5d7, 0xb5d8, 0xb5d9, 0xb5da, 0xb5db, 0xb5dc,\n  0xb5dd, 0xb5de, 0xb5df, 0xb5e0, 0xb5e1, 0xb5e2, 0xb5e3, 0xb5e4, 0xb5e5, 0xb5e6,\n  0xb5e7, 0xb5e8, 0xb5e9, 0xb5ea, 0xb5eb, 0xb5ec, 0xb5ed, 0xb5ee, 0xb5ef, 0xb5f0,\n  0xb5f1, 0xb5f2, 0xb5f3, 0xb5f4, 0xb5f5, 0xb5f6, 0xb5f7, 0xb5f8, 0xb5f9, 0xb5fa,\n  0xb5fb, 0xb5fc, 0xb5fd, 0xb5fe, 0xb6a1, 0xb6a2, 0xb6a3, 0xb6a4, 0xb6a5, 0xb6a6,\n  0xb6a7, 0xb6a8, 0xb6a9, 0xb6aa, 0xb6ab, 0xb6ac, 0xb6ad, 0xb6ae, 0xb6af, 0xb6b0,\n  0xb6b1, 0xb6b2, 0xb6b3, 0xb6b4, 0xb6b5, 0xb6b6, 0xb6b7, 0xb6b8, 0xb6b9, 0xb6ba,\n  0xb6bb, 0xb6bc, 0xb6bd, 0xb6be, 0xb6bf, 0xb6c0, 0xb6c1, 0xb6c2, 0xb6c3, 0xb6c4,\n  0xb6c5, 0xb6c6, 0xb6c7, 0xb6c8, 0xb6c9, 0xb6ca, 0xb6cb, 0xb6cc, 0xb6cd, 0xb6ce,\n  0xb6cf, 0xb6d0, 0xb6d1, 0xb6d2, 0xb6d3, 0xb6d4, 0xb6d5, 0xb6d6, 0xb6d7, 0xb6d8,\n  0xb6d9, 0xb6da, 0xb6db, 0xb6dc, 0xb6dd, 0xb6de, 0xb6df, 0xb6e0, 0xb6e1, 0xb6e2,\n  0xb6e3, 0xb6e4, 0xb6e5, 0xb6e6, 0xb6e7, 0xb6e8, 0xb6e9, 0xb6ea, 0xb6eb, 0xb6ec,\n  0xb6ed, 0xb6ee, 0xb6ef, 0xb6f0, 0xb6f1, 0xb6f2, 0xb6f3, 0xb6f4, 0xb6f5, 0xb6f6,\n  0xb6f7, 0xb6f8, 0xb6f9, 0xb6fa, 0xb6fb, 0xb6fc, 0xb6fd, 0xb6fe, 0xb7a1, 0xb7a2,\n  0xb7a3, 0xb7a4, 0xb7a5, 0xb7a6, 0xb7a7, 0xb7a8, 0xb7a9, 0xb7aa, 0xb7ab, 0xb7ac,\n  0xb7ad, 0xb7ae, 0xb7af, 0xb7b0, 0xb7b1, 0xb7b2, 0xb7b3, 0xb7b4, 0xb7b5, 0xb7b6,\n  0xb7b7, 0xb7b8, 0xb7b9, 0xb7ba, 0xb7bb, 0xb7bc, 0xb7bd, 0xb7be, 0xb7bf, 0xb7c0,\n  0xb7c1, 0xb7c2, 0xb7c3, 0xb7c4, 0xb7c5, 0xb7c6, 0xb7c7, 0xb7c8, 0xb7c9, 0xb7ca,\n  0xb7cb, 0xb7cc, 0xb7cd, 0xb7ce, 0xb7cf, 0xb7d0, 0xb7d1, 0xb7d2, 0xb7d3, 0xb7d4,\n  0xb7d5, 0xb7d6, 0xb7d7, 0xb7d8, 0xb7d9, 0xb7da, 0xb7db, 0xb7dc, 0xb7dd, 0xb7de,\n  0xb7df, 0xb7e0, 0xb7e1, 0xb7e2, 0xb7e3, 0xb7e4, 0xb7e5, 0xb7e6, 0xb7e7, 0xb7e8,\n  0xb7e9, 0xb7ea, 0xb7eb, 0xb7ec, 0xb7ed, 0xb7ee, 0xb7ef, 0xb7f0, 0xb7f1, 0xb7f2,\n  0xb7f3, 0xb7f4, 0xb7f5, 0xb7f6, 0xb7f7, 0xb7f8, 0xb7f9, 0xb7fa, 0xb7fb, 0xb7fc,\n  0xb7fd, 0xb7fe, 0xb8a1, 0xb8a2, 0xb8a3, 0xb8a4, 0xb8a5, 0xb8a6, 0xb8a7, 0xb8a8,\n  0xb8a9, 0xb8aa, 0xb8ab, 0xb8ac, 0xb8ad, 0xb8ae, 0xb8af, 0xb8b0, 0xb8b1, 0xb8b2,\n  0xb8b3, 0xb8b4, 0xb8b5, 0xb8b6, 0xb8b7, 0xb8b8, 0xb8b9, 0xb8ba, 0xb8bb, 0xb8bc,\n  0xb8bd, 0xb8be, 0xb8bf, 0xb8c0, 0xb8c1, 0xb8c2, 0xb8c3, 0xb8c4, 0xb8c5, 0xb8c6,\n  0xb8c7, 0xb8c8, 0xb8c9, 0xb8ca, 0xb8cb, 0xb8cc, 0xb8cd, 0xb8ce, 0xb8cf, 0xb8d0,\n  0xb8d1, 0xb8d2, 0xb8d3, 0xb8d4, 0xb8d5, 0xb8d6, 0xb8d7, 0xb8d8, 0xb8d9, 0xb8da,\n  0xb8db, 0xb8dc, 0xb8dd, 0xb8de, 0xb8df, 0xb8e0, 0xb8e1, 0xb8e2, 0xb8e3, 0xb8e4,\n  0xb8e5, 0xb8e6, 0xb8e7, 0xb8e8, 0xb8e9, 0xb8ea, 0xb8eb, 0xb8ec, 0xb8ed, 0xb8ee,\n  0xb8ef, 0xb8f0, 0xb8f1, 0xb8f2, 0xb8f3, 0xb8f4, 0xb8f5, 0xb8f6, 0xb8f7, 0xb8f8,\n  0xb8f9, 0xb8fa, 0xb8fb, 0xb8fc, 0xb8fd, 0xb8fe, 0xb9a1, 0xb9a2, 0xb9a3, 0xb9a4,\n  0xb9a5, 0xb9a6, 0xb9a7, 0xb9a8, 0xb9a9, 0xb9aa, 0xb9ab, 0xb9ac, 0xb9ad, 0xb9ae,\n  0xb9af, 0xb9b0, 0xb9b1, 0xb9b2, 0xb9b3, 0xb9b4, 0xb9b5, 0xb9b6, 0xb9b7, 0xb9b8,\n  0xb9b9, 0xb9ba, 0xb9bb, 0xb9bc, 0xb9bd, 0xb9be, 0xb9bf, 0xb9c0, 0xb9c1, 0xb9c2,\n  0xb9c3, 0xb9c4, 0xb9c5, 0xb9c6, 0xb9c7, 0xb9c8, 0xb9c9, 0xb9ca, 0xb9cb, 0xb9cc,\n  0xb9cd, 0xb9ce, 0xb9cf, 0xb9d0, 0xb9d1, 0xb9d2, 0xb9d3, 0xb9d4, 0xb9d5, 0xb9d6,\n  0xb9d7, 0xb9d8, 0xb9d9, 0xb9da, 0xb9db, 0xb9dc, 0xb9dd, 0xb9de, 0xb9df, 0xb9e0,\n  0xb9e1, 0xb9e2, 0xb9e3, 0xb9e4, 0xb9e5, 0xb9e6, 0xb9e7, 0xb9e8, 0xb9e9, 0xb9ea,\n  0xb9eb, 0xb9ec, 0xb9ed, 0xb9ee, 0xb9ef, 0xb9f0, 0xb9f1, 0xb9f2, 0xb9f3, 0xb9f4,\n  0xb9f5, 0xb9f6, 0xb9f7, 0xb9f8, 0xb9f9, 0xb9fa, 0xb9fb, 0xb9fc, 0xb9fd, 0xb9fe,\n  0xbaa1, 0xbaa2, 0xbaa3, 0xbaa4, 0xbaa5, 0xbaa6, 0xbaa7, 0xbaa8, 0xbaa9, 0xbaaa,\n  0xbaab, 0xbaac, 0xbaad, 0xbaae, 0xbaaf, 0xbab0, 0xbab1, 0xbab2, 0xbab3, 0xbab4,\n  0xbab5, 0xbab6, 0xbab7, 0xbab8, 0xbab9, 0xbaba, 0xbabb, 0xbabc, 0xbabd, 0xbabe,\n  0xbabf, 0xbac0, 0xbac1, 0xbac2, 0xbac3, 0xbac4, 0xbac5, 0xbac6, 0xbac7, 0xbac8,\n  0xbac9, 0xbaca, 0xbacb, 0xbacc, 0xbacd, 0xbace, 0xbacf, 0xbad0, 0xbad1, 0xbad2,\n  0xbad3, 0xbad4, 0xbad5, 0xbad6, 0xbad7, 0xbad8, 0xbad9, 0xbada, 0xbadb, 0xbadc,\n  0xbadd, 0xbade, 0xbadf, 0xbae0, 0xbae1, 0xbae2, 0xbae3, 0xbae4, 0xbae5, 0xbae6,\n  0xbae7, 0xbae8, 0xbae9, 0xbaea, 0xbaeb, 0xbaec, 0xbaed, 0xbaee, 0xbaef, 0xbaf0,\n  0xbaf1, 0xbaf2, 0xbaf3, 0xbaf4, 0xbaf5, 0xbaf6, 0xbaf7, 0xbaf8, 0xbaf9, 0xbafa,\n  0xbafb, 0xbafc, 0xbafd, 0xbafe, 0xbba1, 0xbba2, 0xbba3, 0xbba4, 0xbba5, 0xbba6,\n  0xbba7, 0xbba8, 0xbba9, 0xbbaa, 0xbbab, 0xbbac, 0xbbad, 0xbbae, 0xbbaf, 0xbbb0,\n  0xbbb1, 0xbbb2, 0xbbb3, 0xbbb4, 0xbbb5, 0xbbb6, 0xbbb7, 0xbbb8, 0xbbb9, 0xbbba,\n  0xbbbb, 0xbbbc, 0xbbbd, 0xbbbe, 0xbbbf, 0xbbc0, 0xbbc1, 0xbbc2, 0xbbc3, 0xbbc4,\n  0xbbc5, 0xbbc6, 0xbbc7, 0xbbc8, 0xbbc9, 0xbbca, 0xbbcb, 0xbbcc, 0xbbcd, 0xbbce,\n  0xbbcf, 0xbbd0, 0xbbd1, 0xbbd2, 0xbbd3, 0xbbd4, 0xbbd5, 0xbbd6, 0xbbd7, 0xbbd8,\n  0xbbd9, 0xbbda, 0xbbdb, 0xbbdc, 0xbbdd, 0xbbde, 0xbbdf, 0xbbe0, 0xbbe1, 0xbbe2,\n  0xbbe3, 0xbbe4, 0xbbe5, 0xbbe6, 0xbbe7, 0xbbe8, 0xbbe9, 0xbbea, 0xbbeb, 0xbbec,\n  0xbbed, 0xbbee, 0xbbef, 0xbbf0, 0xbbf1, 0xbbf2, 0xbbf3, 0xbbf4, 0xbbf5, 0xbbf6,\n  0xbbf7, 0xbbf8, 0xbbf9, 0xbbfa, 0xbbfb, 0xbbfc, 0xbbfd, 0xbbfe, 0xbca1, 0xbca2,\n  0xbca3, 0xbca4, 0xbca5, 0xbca6, 0xbca7, 0xbca8, 0xbca9, 0xbcaa, 0xbcab, 0xbcac,\n  0xbcad, 0xbcae, 0xbcaf, 0xbcb0, 0xbcb1, 0xbcb2, 0xbcb3, 0xbcb4, 0xbcb5, 0xbcb6,\n  0xbcb7, 0xbcb8, 0xbcb9, 0xbcba, 0xbcbb, 0xbcbc, 0xbcbd, 0xbcbe, 0xbcbf, 0xbcc0,\n  0xbcc1, 0xbcc2, 0xbcc3, 0xbcc4, 0xbcc5, 0xbcc6, 0xbcc7, 0xbcc8, 0xbcc9, 0xbcca,\n  0xbccb, 0xbccc, 0xbccd, 0xbcce, 0xbccf, 0xbcd0, 0xbcd1, 0xbcd2, 0xbcd3, 0xbcd4,\n  0xbcd5, 0xbcd6, 0xbcd7, 0xbcd8, 0xbcd9, 0xbcda, 0xbcdb, 0xbcdc, 0xbcdd, 0xbcde,\n  0xbcdf, 0xbce0, 0xbce1, 0xbce2, 0xbce3, 0xbce4, 0xbce5, 0xbce6, 0xbce7, 0xbce8,\n  0xbce9, 0xbcea, 0xbceb, 0xbcec, 0xbced, 0xbcee, 0xbcef, 0xbcf0, 0xbcf1, 0xbcf2,\n  0xbcf3, 0xbcf4, 0xbcf5, 0xbcf6, 0xbcf7, 0xbcf8, 0xbcf9, 0xbcfa, 0xbcfb, 0xbcfc,\n  0xbcfd, 0xbcfe, 0xbda1, 0xbda2, 0xbda3, 0xbda4, 0xbda5, 0xbda6, 0xbda7, 0xbda8,\n  0xbda9, 0xbdaa, 0xbdab, 0xbdac, 0xbdad, 0xbdae, 0xbdaf, 0xbdb0, 0xbdb1, 0xbdb2,\n  0xbdb3, 0xbdb4, 0xbdb5, 0xbdb6, 0xbdb7, 0xbdb8, 0xbdb9, 0xbdba, 0xbdbb, 0xbdbc,\n  0xbdbd, 0xbdbe, 0xbdbf, 0xbdc0, 0xbdc1, 0xbdc2, 0xbdc3, 0xbdc4, 0xbdc5, 0xbdc6,\n  0xbdc7, 0xbdc8, 0xbdc9, 0xbdca, 0xbdcb, 0xbdcc, 0xbdcd, 0xbdce, 0xbdcf, 0xbdd0,\n  0xbdd1, 0xbdd2, 0xbdd3, 0xbdd4, 0xbdd5, 0xbdd6, 0xbdd7, 0xbdd8, 0xbdd9, 0xbdda,\n  0xbddb, 0xbddc, 0xbddd, 0xbdde, 0xbddf, 0xbde0, 0xbde1, 0xbde2, 0xbde3, 0xbde4,\n  0xbde5, 0xbde6, 0xbde7, 0xbde8, 0xbde9, 0xbdea, 0xbdeb, 0xbdec, 0xbded, 0xbdee,\n  0xbdef, 0xbdf0, 0xbdf1, 0xbdf2, 0xbdf3, 0xbdf4, 0xbdf5, 0xbdf6, 0xbdf7, 0xbdf8,\n  0xbdf9, 0xbdfa, 0xbdfb, 0xbdfc, 0xbdfd, 0xbdfe, 0xbea1, 0xbea2, 0xbea3, 0xbea4,\n  0xbea5, 0xbea6, 0xbea7, 0xbea8, 0xbea9, 0xbeaa, 0xbeab, 0xbeac, 0xbead, 0xbeae,\n  0xbeaf, 0xbeb0, 0xbeb1, 0xbeb2, 0xbeb3, 0xbeb4, 0xbeb5, 0xbeb6, 0xbeb7, 0xbeb8,\n  0xbeb9, 0xbeba, 0xbebb, 0xbebc, 0xbebd, 0xbebe, 0xbebf, 0xbec0, 0xbec1, 0xbec2,\n  0xbec3, 0xbec4, 0xbec5, 0xbec6, 0xbec7, 0xbec8, 0xbec9, 0xbeca, 0xbecb, 0xbecc,\n  0xbecd, 0xbece, 0xbecf, 0xbed0, 0xbed1, 0xbed2, 0xbed3, 0xbed4, 0xbed5, 0xbed6,\n  0xbed7, 0xbed8, 0xbed9, 0xbeda, 0xbedb, 0xbedc, 0xbedd, 0xbede, 0xbedf, 0xbee0,\n  0xbee1, 0xbee2, 0xbee3, 0xbee4, 0xbee5, 0xbee6, 0xbee7, 0xbee8, 0xbee9, 0xbeea,\n  0xbeeb, 0xbeec, 0xbeed, 0xbeee, 0xbeef, 0xbef0, 0xbef1, 0xbef2, 0xbef3, 0xbef4,\n  0xbef5, 0xbef6, 0xbef7, 0xbef8, 0xbef9, 0xbefa, 0xbefb, 0xbefc, 0xbefd, 0xbefe,\n  0xbfa1, 0xbfa2, 0xbfa3, 0xbfa4, 0xbfa5, 0xbfa6, 0xbfa7, 0xbfa8, 0xbfa9, 0xbfaa,\n  0xbfab, 0xbfac, 0xbfad, 0xbfae, 0xbfaf, 0xbfb0, 0xbfb1, 0xbfb2, 0xbfb3, 0xbfb4,\n  0xbfb5, 0xbfb6, 0xbfb7, 0xbfb8, 0xbfb9, 0xbfba, 0xbfbb, 0xbfbc, 0xbfbd, 0xbfbe,\n  0xbfbf, 0xbfc0, 0xbfc1, 0xbfc2, 0xbfc3, 0xbfc4, 0xbfc5, 0xbfc6, 0xbfc7, 0xbfc8,\n  0xbfc9, 0xbfca, 0xbfcb, 0xbfcc, 0xbfcd, 0xbfce, 0xbfcf, 0xbfd0, 0xbfd1, 0xbfd2,\n  0xbfd3, 0xbfd4, 0xbfd5, 0xbfd6, 0xbfd7, 0xbfd8, 0xbfd9, 0xbfda, 0xbfdb, 0xbfdc,\n  0xbfdd, 0xbfde, 0xbfdf, 0xbfe0, 0xbfe1, 0xbfe2, 0xbfe3, 0xbfe4, 0xbfe5, 0xbfe6,\n  0xbfe7, 0xbfe8, 0xbfe9, 0xbfea, 0xbfeb, 0xbfec, 0xbfed, 0xbfee, 0xbfef, 0xbff0,\n  0xbff1, 0xbff2, 0xbff3, 0xbff4, 0xbff5, 0xbff6, 0xbff7, 0xbff8, 0xbff9, 0xbffa,\n  0xbffb, 0xbffc, 0xbffd, 0xbffe, 0xc0a1, 0xc0a2, 0xc0a3, 0xc0a4, 0xc0a5, 0xc0a6,\n  0xc0a7, 0xc0a8, 0xc0a9, 0xc0aa, 0xc0ab, 0xc0ac, 0xc0ad, 0xc0ae, 0xc0af, 0xc0b0,\n  0xc0b1, 0xc0b2, 0xc0b3, 0xc0b4, 0xc0b5, 0xc0b6, 0xc0b7, 0xc0b8, 0xc0b9, 0xc0ba,\n  0xc0bb, 0xc0bc, 0xc0bd, 0xc0be, 0xc0bf, 0xc0c0, 0xc0c1, 0xc0c2, 0xc0c3, 0xc0c4,\n  0xc0c5, 0xc0c6, 0xc0c7, 0xc0c8, 0xc0c9, 0xc0ca, 0xc0cb, 0xc0cc, 0xc0cd, 0xc0ce,\n  0xc0cf, 0xc0d0, 0xc0d1, 0xc0d2, 0xc0d3, 0xc0d4, 0xc0d5, 0xc0d6, 0xc0d7, 0xc0d8,\n  0xc0d9, 0xc0da, 0xc0db, 0xc0dc, 0xc0dd, 0xc0de, 0xc0df, 0xc0e0, 0xc0e1, 0xc0e2,\n  0xc0e3, 0xc0e4, 0xc0e5, 0xc0e6, 0xc0e7, 0xc0e8, 0xc0e9, 0xc0ea, 0xc0eb, 0xc0ec,\n  0xc0ed, 0xc0ee, 0xc0ef, 0xc0f0, 0xc0f1, 0xc0f2, 0xc0f3, 0xc0f4, 0xc0f5, 0xc0f6,\n  0xc0f7, 0xc0f8, 0xc0f9, 0xc0fa, 0xc0fb, 0xc0fc, 0xc0fd, 0xc0fe, 0xc1a1, 0xc1a2,\n  0xc1a3, 0xc1a4, 0xc1a5, 0xc1a6, 0xc1a7, 0xc1a8, 0xc1a9, 0xc1aa, 0xc1ab, 0xc1ac,\n  0xc1ad, 0xc1ae, 0xc1af, 0xc1b0, 0xc1b1, 0xc1b2, 0xc1b3, 0xc1b4, 0xc1b5, 0xc1b6,\n  0xc1b7, 0xc1b8, 0xc1b9, 0xc1ba, 0xc1bb, 0xc1bc, 0xc1bd, 0xc1be, 0xc1bf, 0xc1c0,\n  0xc1c1, 0xc1c2, 0xc1c3, 0xc1c4, 0xc1c5, 0xc1c6, 0xc1c7, 0xc1c8, 0xc1c9, 0xc1ca,\n  0xc1cb, 0xc1cc, 0xc1cd, 0xc1ce, 0xc1cf, 0xc1d0, 0xc1d1, 0xc1d2, 0xc1d3, 0xc1d4,\n  0xc1d5, 0xc1d6, 0xc1d7, 0xc1d8, 0xc1d9, 0xc1da, 0xc1db, 0xc1dc, 0xc1dd, 0xc1de,\n  0xc1df, 0xc1e0, 0xc1e1, 0xc1e2, 0xc1e3, 0xc1e4, 0xc1e5, 0xc1e6, 0xc1e7, 0xc1e8,\n  0xc1e9, 0xc1ea, 0xc1eb, 0xc1ec, 0xc1ed, 0xc1ee, 0xc1ef, 0xc1f0, 0xc1f1, 0xc1f2,\n  0xc1f3, 0xc1f4, 0xc1f5, 0xc1f6, 0xc1f7, 0xc1f8, 0xc1f9, 0xc1fa, 0xc1fb, 0xc1fc,\n  0xc1fd, 0xc1fe, 0xc2a1, 0xc2a2, 0xc2a3, 0xc2a4, 0xc2a5, 0xc2a6, 0xc2a7, 0xc2a8,\n  0xc2a9, 0xc2aa, 0xc2ab, 0xc2ac, 0xc2ad, 0xc2ae, 0xc2af, 0xc2b0, 0xc2b1, 0xc2b2,\n  0xc2b3, 0xc2b4, 0xc2b5, 0xc2b6, 0xc2b7, 0xc2b8, 0xc2b9, 0xc2ba, 0xc2bb, 0xc2bc,\n  0xc2bd, 0xc2be, 0xc2bf, 0xc2c0, 0xc2c1, 0xc2c2, 0xc2c3, 0xc2c4, 0xc2c5, 0xc2c6,\n  0xc2c7, 0xc2c8, 0xc2c9, 0xc2ca, 0xc2cb, 0xc2cc, 0xc2cd, 0xc2ce, 0xc2cf, 0xc2d0,\n  0xc2d1, 0xc2d2, 0xc2d3, 0xc2d4, 0xc2d5, 0xc2d6, 0xc2d7, 0xc2d8, 0xc2d9, 0xc2da,\n  0xc2db, 0xc2dc, 0xc2dd, 0xc2de, 0xc2df, 0xc2e0, 0xc2e1, 0xc2e2, 0xc2e3, 0xc2e4,\n  0xc2e5, 0xc2e6, 0xc2e7, 0xc2e8, 0xc2e9, 0xc2ea, 0xc2eb, 0xc2ec, 0xc2ed, 0xc2ee,\n  0xc2ef, 0xc2f0, 0xc2f1, 0xc2f2, 0xc2f3, 0xc2f4, 0xc2f5, 0xc2f6, 0xc2f7, 0xc2f8,\n  0xc2f9, 0xc2fa, 0xc2fb, 0xc2fc, 0xc2fd, 0xc2fe, 0xc3a1, 0xc3a2, 0xc3a3, 0xc3a4,\n  0xc3a5, 0xc3a6, 0xc3a7, 0xc3a8, 0xc3a9, 0xc3aa, 0xc3ab, 0xc3ac, 0xc3ad, 0xc3ae,\n  0xc3af, 0xc3b0, 0xc3b1, 0xc3b2, 0xc3b3, 0xc3b4, 0xc3b5, 0xc3b6, 0xc3b7, 0xc3b8,\n  0xc3b9, 0xc3ba, 0xc3bb, 0xc3bc, 0xc3bd, 0xc3be, 0xc3bf, 0xc3c0, 0xc3c1, 0xc3c2,\n  0xc3c3, 0xc3c4, 0xc3c5, 0xc3c6, 0xc3c7, 0xc3c8, 0xc3c9, 0xc3ca, 0xc3cb, 0xc3cc,\n  0xc3cd, 0xc3ce, 0xc3cf, 0xc3d0, 0xc3d1, 0xc3d2, 0xc3d3, 0xc3d4, 0xc3d5, 0xc3d6,\n  0xc3d7, 0xc3d8, 0xc3d9, 0xc3da, 0xc3db, 0xc3dc, 0xc3dd, 0xc3de, 0xc3df, 0xc3e0,\n  0xc3e1, 0xc3e2, 0xc3e3, 0xc3e4, 0xc3e5, 0xc3e6, 0xc3e7, 0xc3e8, 0xc3e9, 0xc3ea,\n  0xc3eb, 0xc3ec, 0xc3ed, 0xc3ee, 0xc3ef, 0xc3f0, 0xc3f1, 0xc3f2, 0xc3f3, 0xc3f4,\n  0xc3f5, 0xc3f6, 0xc3f7, 0xc3f8, 0xc3f9, 0xc3fa, 0xc3fb, 0xc3fc, 0xc3fd, 0xc3fe,\n  0xc4a1, 0xc4a2, 0xc4a3, 0xc4a4, 0xc4a5, 0xc4a6, 0xc4a7, 0xc4a8, 0xc4a9, 0xc4aa,\n  0xc4ab, 0xc4ac, 0xc4ad, 0xc4ae, 0xc4af, 0xc4b0, 0xc4b1, 0xc4b2, 0xc4b3, 0xc4b4,\n  0xc4b5, 0xc4b6, 0xc4b7, 0xc4b8, 0xc4b9, 0xc4ba, 0xc4bb, 0xc4bc, 0xc4bd, 0xc4be,\n  0xc4bf, 0xc4c0, 0xc4c1, 0xc4c2, 0xc4c3, 0xc4c4, 0xc4c5, 0xc4c6, 0xc4c7, 0xc4c8,\n  0xc4c9, 0xc4ca, 0xc4cb, 0xc4cc, 0xc4cd, 0xc4ce, 0xc4cf, 0xc4d0, 0xc4d1, 0xc4d2,\n  0xc4d3, 0xc4d4, 0xc4d5, 0xc4d6, 0xc4d7, 0xc4d8, 0xc4d9, 0xc4da, 0xc4db, 0xc4dc,\n  0xc4dd, 0xc4de, 0xc4df, 0xc4e0, 0xc4e1, 0xc4e2, 0xc4e3, 0xc4e4, 0xc4e5, 0xc4e6,\n  0xc4e7, 0xc4e8, 0xc4e9, 0xc4ea, 0xc4eb, 0xc4ec, 0xc4ed, 0xc4ee, 0xc4ef, 0xc4f0,\n  0xc4f1, 0xc4f2, 0xc4f3, 0xc4f4, 0xc4f5, 0xc4f6, 0xc4f7, 0xc4f8, 0xc4f9, 0xc4fa,\n  0xc4fb, 0xc4fc, 0xc4fd, 0xc4fe, 0xc5a1, 0xc5a2, 0xc5a3, 0xc5a4, 0xc5a5, 0xc5a6,\n  0xc5a7, 0xc5a8, 0xc5a9, 0xc5aa, 0xc5ab, 0xc5ac, 0xc5ad, 0xc5ae, 0xc5af, 0xc5b0,\n  0xc5b1, 0xc5b2, 0xc5b3, 0xc5b4, 0xc5b5, 0xc5b6, 0xc5b7, 0xc5b8, 0xc5b9, 0xc5ba,\n  0xc5bb, 0xc5bc, 0xc5bd, 0xc5be, 0xc5bf, 0xc5c0, 0xc5c1, 0xc5c2, 0xc5c3, 0xc5c4,\n  0xc5c5, 0xc5c6, 0xc5c7, 0xc5c8, 0xc5c9, 0xc5ca, 0xc5cb, 0xc5cc, 0xc5cd, 0xc5ce,\n  0xc5cf, 0xc5d0, 0xc5d1, 0xc5d2, 0xc5d3, 0xc5d4, 0xc5d5, 0xc5d6, 0xc5d7, 0xc5d8,\n  0xc5d9, 0xc5da, 0xc5db, 0xc5dc, 0xc5dd, 0xc5de, 0xc5df, 0xc5e0, 0xc5e1, 0xc5e2,\n  0xc5e3, 0xc5e4, 0xc5e5, 0xc5e6, 0xc5e7, 0xc5e8, 0xc5e9, 0xc5ea, 0xc5eb, 0xc5ec,\n  0xc5ed, 0xc5ee, 0xc5ef, 0xc5f0, 0xc5f1, 0xc5f2, 0xc5f3, 0xc5f4, 0xc5f5, 0xc5f6,\n  0xc5f7, 0xc5f8, 0xc5f9, 0xc5fa, 0xc5fb, 0xc5fc, 0xc5fd, 0xc5fe, 0xc6a1, 0xc6a2,\n  0xc6a3, 0xc6a4, 0xc6a5, 0xc6a6, 0xc6a7, 0xc6a8, 0xc6a9, 0xc6aa, 0xc6ab, 0xc6ac,\n  0xc6ad, 0xc6ae, 0xc6af, 0xc6b0, 0xc6b1, 0xc6b2, 0xc6b3, 0xc6b4, 0xc6b5, 0xc6b6,\n  0xc6b7, 0xc6b8, 0xc6b9, 0xc6ba, 0xc6bb, 0xc6bc, 0xc6bd, 0xc6be, 0xc6bf, 0xc6c0,\n  0xc6c1, 0xc6c2, 0xc6c3, 0xc6c4, 0xc6c5, 0xc6c6, 0xc6c7, 0xc6c8, 0xc6c9, 0xc6ca,\n  0xc6cb, 0xc6cc, 0xc6cd, 0xc6ce, 0xc6cf, 0xc6d0, 0xc6d1, 0xc6d2, 0xc6d3, 0xc6d4,\n  0xc6d5, 0xc6d6, 0xc6d7, 0xc6d8, 0xc6d9, 0xc6da, 0xc6db, 0xc6dc, 0xc6dd, 0xc6de,\n  0xc6df, 0xc6e0, 0xc6e1, 0xc6e2, 0xc6e3, 0xc6e4, 0xc6e5, 0xc6e6, 0xc6e7, 0xc6e8,\n  0xc6e9, 0xc6ea, 0xc6eb, 0xc6ec, 0xc6ed, 0xc6ee, 0xc6ef, 0xc6f0, 0xc6f1, 0xc6f2,\n  0xc6f3, 0xc6f4, 0xc6f5, 0xc6f6, 0xc6f7, 0xc6f8, 0xc6f9, 0xc6fa, 0xc6fb, 0xc6fc,\n  0xc6fd, 0xc6fe, 0xc7a1, 0xc7a2, 0xc7a3, 0xc7a4, 0xc7a5, 0xc7a6, 0xc7a7, 0xc7a8,\n  0xc7a9, 0xc7aa, 0xc7ab, 0xc7ac, 0xc7ad, 0xc7ae, 0xc7af, 0xc7b0, 0xc7b1, 0xc7b2,\n  0xc7b3, 0xc7b4, 0xc7b5, 0xc7b6, 0xc7b7, 0xc7b8, 0xc7b9, 0xc7ba, 0xc7bb, 0xc7bc,\n  0xc7bd, 0xc7be, 0xc7bf, 0xc7c0, 0xc7c1, 0xc7c2, 0xc7c3, 0xc7c4, 0xc7c5, 0xc7c6,\n  0xc7c7, 0xc7c8, 0xc7c9, 0xc7ca, 0xc7cb, 0xc7cc, 0xc7cd, 0xc7ce, 0xc7cf, 0xc7d0,\n  0xc7d1, 0xc7d2, 0xc7d3, 0xc7d4, 0xc7d5, 0xc7d6, 0xc7d7, 0xc7d8, 0xc7d9, 0xc7da,\n  0xc7db, 0xc7dc, 0xc7dd, 0xc7de, 0xc7df, 0xc7e0, 0xc7e1, 0xc7e2, 0xc7e3, 0xc7e4,\n  0xc7e5, 0xc7e6, 0xc7e7, 0xc7e8, 0xc7e9, 0xc7ea, 0xc7eb, 0xc7ec, 0xc7ed, 0xc7ee,\n  0xc7ef, 0xc7f0, 0xc7f1, 0xc7f2, 0xc7f3, 0xc7f4, 0xc7f5, 0xc7f6, 0xc7f7, 0xc7f8,\n  0xc7f9, 0xc7fa, 0xc7fb, 0xc7fc, 0xc7fd, 0xc7fe, 0xc8a1, 0xc8a2, 0xc8a3, 0xc8a4,\n  0xc8a5, 0xc8a6, 0xc8a7, 0xc8a8, 0xc8a9, 0xc8aa, 0xc8ab, 0xc8ac, 0xc8ad, 0xc8ae,\n  0xc8af, 0xc8b0, 0xc8b1, 0xc8b2, 0xc8b3, 0xc8b4, 0xc8b5, 0xc8b6, 0xc8b7, 0xc8b8,\n  0xc8b9, 0xc8ba, 0xc8bb, 0xc8bc, 0xc8bd, 0xc8be, 0xc8bf, 0xc8c0, 0xc8c1, 0xc8c2,\n  0xc8c3, 0xc8c4, 0xc8c5, 0xc8c6, 0xc8c7, 0xc8c8, 0xc8c9, 0xc8ca, 0xc8cb, 0xc8cc,\n  0xc8cd, 0xc8ce, 0xc8cf, 0xc8d0, 0xc8d1, 0xc8d2, 0xc8d3, 0xc8d4, 0xc8d5, 0xc8d6,\n  0xc8d7, 0xc8d8, 0xc8d9, 0xc8da, 0xc8db, 0xc8dc, 0xc8dd, 0xc8de, 0xc8df, 0xc8e0,\n  0xc8e1, 0xc8e2, 0xc8e3, 0xc8e4, 0xc8e5, 0xc8e6, 0xc8e7, 0xc8e8, 0xc8e9, 0xc8ea,\n  0xc8eb, 0xc8ec, 0xc8ed, 0xc8ee, 0xc8ef, 0xc8f0, 0xc8f1, 0xc8f2, 0xc8f3, 0xc8f4,\n  0xc8f5, 0xc8f6, 0xc8f7, 0xc8f8, 0xc8f9, 0xc8fa, 0xc8fb, 0xc8fc, 0xc8fd, 0xc8fe,\n  0xc9a1, 0xc9a2, 0xc9a3, 0xc9a4, 0xc9a5, 0xc9a6, 0xc9a7, 0xc9a8, 0xc9a9, 0xc9aa,\n  0xc9ab, 0xc9ac, 0xc9ad, 0xc9ae, 0xc9af, 0xc9b0, 0xc9b1, 0xc9b2, 0xc9b3, 0xc9b4,\n  0xc9b5, 0xc9b6, 0xc9b7, 0xc9b8, 0xc9b9, 0xc9ba, 0xc9bb, 0xc9bc, 0xc9bd, 0xc9be,\n  0xc9bf, 0xc9c0, 0xc9c1, 0xc9c2, 0xc9c3, 0xc9c4, 0xc9c5, 0xc9c6, 0xc9c7, 0xc9c8,\n  0xc9c9, 0xc9ca, 0xc9cb, 0xc9cc, 0xc9cd, 0xc9ce, 0xc9cf, 0xc9d0, 0xc9d1, 0xc9d2,\n  0xc9d3, 0xc9d4, 0xc9d5, 0xc9d6, 0xc9d7, 0xc9d8, 0xc9d9, 0xc9da, 0xc9db, 0xc9dc,\n  0xc9dd, 0xc9de, 0xc9df, 0xc9e0, 0xc9e1, 0xc9e2, 0xc9e3, 0xc9e4, 0xc9e5, 0xc9e6,\n  0xc9e7, 0xc9e8, 0xc9e9, 0xc9ea, 0xc9eb, 0xc9ec, 0xc9ed, 0xc9ee, 0xc9ef, 0xc9f0,\n  0xc9f1, 0xc9f2, 0xc9f3, 0xc9f4, 0xc9f5, 0xc9f6, 0xc9f7, 0xc9f8, 0xc9f9, 0xc9fa,\n  0xc9fb, 0xc9fc, 0xc9fd, 0xc9fe, 0xcaa1, 0xcaa2, 0xcaa3, 0xcaa4, 0xcaa5, 0xcaa6,\n  0xcaa7, 0xcaa8, 0xcaa9, 0xcaaa, 0xcaab, 0xcaac, 0xcaad, 0xcaae, 0xcaaf, 0xcab0,\n  0xcab1, 0xcab2, 0xcab3, 0xcab4, 0xcab5, 0xcab6, 0xcab7, 0xcab8, 0xcab9, 0xcaba,\n  0xcabb, 0xcabc, 0xcabd, 0xcabe, 0xcabf, 0xcac0, 0xcac1, 0xcac2, 0xcac3, 0xcac4,\n  0xcac5, 0xcac6, 0xcac7, 0xcac8, 0xcac9, 0xcaca, 0xcacb, 0xcacc, 0xcacd, 0xcace,\n  0xcacf, 0xcad0, 0xcad1, 0xcad2, 0xcad3, 0xcad4, 0xcad5, 0xcad6, 0xcad7, 0xcad8,\n  0xcad9, 0xcada, 0xcadb, 0xcadc, 0xcadd, 0xcade, 0xcadf, 0xcae0, 0xcae1, 0xcae2,\n  0xcae3, 0xcae4, 0xcae5, 0xcae6, 0xcae7, 0xcae8, 0xcae9, 0xcaea, 0xcaeb, 0xcaec,\n  0xcaed, 0xcaee, 0xcaef, 0xcaf0, 0xcaf1, 0xcaf2, 0xcaf3, 0xcaf4, 0xcaf5, 0xcaf6,\n  0xcaf7, 0xcaf8, 0xcaf9, 0xcafa, 0xcafb, 0xcafc, 0xcafd, 0xcafe, 0xcba1, 0xcba2,\n  0xcba3, 0xcba4, 0xcba5, 0xcba6, 0xcba7, 0xcba8, 0xcba9, 0xcbaa, 0xcbab, 0xcbac,\n  0xcbad, 0xcbae, 0xcbaf, 0xcbb0, 0xcbb1, 0xcbb2, 0xcbb3, 0xcbb4, 0xcbb5, 0xcbb6,\n  0xcbb7, 0xcbb8, 0xcbb9, 0xcbba, 0xcbbb, 0xcbbc, 0xcbbd, 0xcbbe, 0xcbbf, 0xcbc0,\n  0xcbc1, 0xcbc2, 0xcbc3, 0xcbc4, 0xcbc5, 0xcbc6, 0xcbc7, 0xcbc8, 0xcbc9, 0xcbca,\n  0xcbcb, 0xcbcc, 0xcbcd, 0xcbce, 0xcbcf, 0xcbd0, 0xcbd1, 0xcbd2, 0xcbd3, 0xcbd4,\n  0xcbd5, 0xcbd6, 0xcbd7, 0xcbd8, 0xcbd9, 0xcbda, 0xcbdb, 0xcbdc, 0xcbdd, 0xcbde,\n  0xcbdf, 0xcbe0, 0xcbe1, 0xcbe2, 0xcbe3, 0xcbe4, 0xcbe5, 0xcbe6, 0xcbe7, 0xcbe8,\n  0xcbe9, 0xcbea, 0xcbeb, 0xcbec, 0xcbed, 0xcbee, 0xcbef, 0xcbf0, 0xcbf1, 0xcbf2,\n  0xcbf3, 0xcbf4, 0xcbf5, 0xcbf6, 0xcbf7, 0xcbf8, 0xcbf9, 0xcbfa, 0xcbfb, 0xcbfc,\n  0xcbfd, 0xcbfe, 0xcca1, 0xcca2, 0xcca3, 0xcca4, 0xcca5, 0xcca6, 0xcca7, 0xcca8,\n  0xcca9, 0xccaa, 0xccab, 0xccac, 0xccad, 0xccae, 0xccaf, 0xccb0, 0xccb1, 0xccb2,\n  0xccb3, 0xccb4, 0xccb5, 0xccb6, 0xccb7, 0xccb8, 0xccb9, 0xccba, 0xccbb, 0xccbc,\n  0xccbd, 0xccbe, 0xccbf, 0xccc0, 0xccc1, 0xccc2, 0xccc3, 0xccc4, 0xccc5, 0xccc6,\n  0xccc7, 0xccc8, 0xccc9, 0xccca, 0xcccb, 0xcccc, 0xcccd, 0xccce, 0xcccf, 0xccd0,\n  0xccd1, 0xccd2, 0xccd3, 0xccd4, 0xccd5, 0xccd6, 0xccd7, 0xccd8, 0xccd9, 0xccda,\n  0xccdb, 0xccdc, 0xccdd, 0xccde, 0xccdf, 0xcce0, 0xcce1, 0xcce2, 0xcce3, 0xcce4,\n  0xcce5, 0xcce6, 0xcce7, 0xcce8, 0xcce9, 0xccea, 0xcceb, 0xccec, 0xcced, 0xccee,\n  0xccef, 0xccf0, 0xccf1, 0xccf2, 0xccf3, 0xccf4, 0xccf5, 0xccf6, 0xccf7, 0xccf8,\n  0xccf9, 0xccfa, 0xccfb, 0xccfc, 0xccfd, 0xccfe, 0xcda1, 0xcda2, 0xcda3, 0xcda4,\n  0xcda5, 0xcda6, 0xcda7, 0xcda8, 0xcda9, 0xcdaa, 0xcdab, 0xcdac, 0xcdad, 0xcdae,\n  0xcdaf, 0xcdb0, 0xcdb1, 0xcdb2, 0xcdb3, 0xcdb4, 0xcdb5, 0xcdb6, 0xcdb7, 0xcdb8,\n  0xcdb9, 0xcdba, 0xcdbb, 0xcdbc, 0xcdbd, 0xcdbe, 0xcdbf, 0xcdc0, 0xcdc1, 0xcdc2,\n  0xcdc3, 0xcdc4, 0xcdc5, 0xcdc6, 0xcdc7, 0xcdc8, 0xcdc9, 0xcdca, 0xcdcb, 0xcdcc,\n  0xcdcd, 0xcdce, 0xcdcf, 0xcdd0, 0xcdd1, 0xcdd2, 0xcdd3, 0xcdd4, 0xcdd5, 0xcdd6,\n  0xcdd7, 0xcdd8, 0xcdd9, 0xcdda, 0xcddb, 0xcddc, 0xcddd, 0xcdde, 0xcddf, 0xcde0,\n  0xcde1, 0xcde2, 0xcde3, 0xcde4, 0xcde5, 0xcde6, 0xcde7, 0xcde8, 0xcde9, 0xcdea,\n  0xcdeb, 0xcdec, 0xcded, 0xcdee, 0xcdef, 0xcdf0, 0xcdf1, 0xcdf2, 0xcdf3, 0xcdf4,\n  0xcdf5, 0xcdf6, 0xcdf7, 0xcdf8, 0xcdf9, 0xcdfa, 0xcdfb, 0xcdfc, 0xcdfd, 0xcdfe,\n  0xcea1, 0xcea2, 0xcea3, 0xcea4, 0xcea5, 0xcea6, 0xcea7, 0xcea8, 0xcea9, 0xceaa,\n  0xceab, 0xceac, 0xcead, 0xceae, 0xceaf, 0xceb0, 0xceb1, 0xceb2, 0xceb3, 0xceb4,\n  0xceb5, 0xceb6, 0xceb7, 0xceb8, 0xceb9, 0xceba, 0xcebb, 0xcebc, 0xcebd, 0xcebe,\n  0xcebf, 0xcec0, 0xcec1, 0xcec2, 0xcec3, 0xcec4, 0xcec5, 0xcec6, 0xcec7, 0xcec8,\n  0xcec9, 0xceca, 0xcecb, 0xcecc, 0xcecd, 0xcece, 0xcecf, 0xced0, 0xced1, 0xced2,\n  0xced3, 0xced4, 0xced5, 0xced6, 0xced7, 0xced8, 0xced9, 0xceda, 0xcedb, 0xcedc,\n  0xcedd, 0xcede, 0xcedf, 0xcee0, 0xcee1, 0xcee2, 0xcee3, 0xcee4, 0xcee5, 0xcee6,\n  0xcee7, 0xcee8, 0xcee9, 0xceea, 0xceeb, 0xceec, 0xceed, 0xceee, 0xceef, 0xcef0,\n  0xcef1, 0xcef2, 0xcef3, 0xcef4, 0xcef5, 0xcef6, 0xcef7, 0xcef8, 0xcef9, 0xcefa,\n  0xcefb, 0xcefc, 0xcefd, 0xcefe, 0xcfa1, 0xcfa2, 0xcfa3, 0xcfa4, 0xcfa5, 0xcfa6,\n  0xcfa7, 0xcfa8, 0xcfa9, 0xcfaa, 0xcfab, 0xcfac, 0xcfad, 0xcfae, 0xcfaf, 0xcfb0,\n  0xcfb1, 0xcfb2, 0xcfb3, 0xcfb4, 0xcfb5, 0xcfb6, 0xcfb7, 0xcfb8, 0xcfb9, 0xcfba,\n  0xcfbb, 0xcfbc, 0xcfbd, 0xcfbe, 0xcfbf, 0xcfc0, 0xcfc1, 0xcfc2, 0xcfc3, 0xcfc4,\n  0xcfc5, 0xcfc6, 0xcfc7, 0xcfc8, 0xcfc9, 0xcfca, 0xcfcb, 0xcfcc, 0xcfcd, 0xcfce,\n  0xcfcf, 0xcfd0, 0xcfd1, 0xcfd2, 0xcfd3, 0xcfd4, 0xcfd5, 0xcfd6, 0xcfd7, 0xcfd8,\n  0xcfd9, 0xcfda, 0xcfdb, 0xcfdc, 0xcfdd, 0xcfde, 0xcfdf, 0xcfe0, 0xcfe1, 0xcfe2,\n  0xcfe3, 0xcfe4, 0xcfe5, 0xcfe6, 0xcfe7, 0xcfe8, 0xcfe9, 0xcfea, 0xcfeb, 0xcfec,\n  0xcfed, 0xcfee, 0xcfef, 0xcff0, 0xcff1, 0xcff2, 0xcff3, 0xcff4, 0xcff5, 0xcff6,\n  0xcff7, 0xcff8, 0xcff9, 0xcffa, 0xcffb, 0xcffc, 0xcffd, 0xcffe, 0xd0a1, 0xd0a2,\n  0xd0a3, 0xd0a4, 0xd0a5, 0xd0a6, 0xd0a7, 0xd0a8, 0xd0a9, 0xd0aa, 0xd0ab, 0xd0ac,\n  0xd0ad, 0xd0ae, 0xd0af, 0xd0b0, 0xd0b1, 0xd0b2, 0xd0b3, 0xd0b4, 0xd0b5, 0xd0b6,\n  0xd0b7, 0xd0b8, 0xd0b9, 0xd0ba, 0xd0bb, 0xd0bc, 0xd0bd, 0xd0be, 0xd0bf, 0xd0c0,\n  0xd0c1, 0xd0c2, 0xd0c3, 0xd0c4, 0xd0c5, 0xd0c6, 0xd0c7, 0xd0c8, 0xd0c9, 0xd0ca,\n  0xd0cb, 0xd0cc, 0xd0cd, 0xd0ce, 0xd0cf, 0xd0d0, 0xd0d1, 0xd0d2, 0xd0d3, 0xd0d4,\n  0xd0d5, 0xd0d6, 0xd0d7, 0xd0d8, 0xd0d9, 0xd0da, 0xd0db, 0xd0dc, 0xd0dd, 0xd0de,\n  0xd0df, 0xd0e0, 0xd0e1, 0xd0e2, 0xd0e3, 0xd0e4, 0xd0e5, 0xd0e6, 0xd0e7, 0xd0e8,\n  0xd0e9, 0xd0ea, 0xd0eb, 0xd0ec, 0xd0ed, 0xd0ee, 0xd0ef, 0xd0f0, 0xd0f1, 0xd0f2,\n  0xd0f3, 0xd0f4, 0xd0f5, 0xd0f6, 0xd0f7, 0xd0f8, 0xd0f9, 0xd0fa, 0xd0fb, 0xd0fc,\n  0xd0fd, 0xd0fe, 0xd1a1, 0xd1a2, 0xd1a3, 0xd1a4, 0xd1a5, 0xd1a6, 0xd1a7, 0xd1a8,\n  0xd1a9, 0xd1aa, 0xd1ab, 0xd1ac, 0xd1ad, 0xd1ae, 0xd1af, 0xd1b0, 0xd1b1, 0xd1b2,\n  0xd1b3, 0xd1b4, 0xd1b5, 0xd1b6, 0xd1b7, 0xd1b8, 0xd1b9, 0xd1ba, 0xd1bb, 0xd1bc,\n  0xd1bd, 0xd1be, 0xd1bf, 0xd1c0, 0xd1c1, 0xd1c2, 0xd1c3, 0xd1c4, 0xd1c5, 0xd1c6,\n  0xd1c7, 0xd1c8, 0xd1c9, 0xd1ca, 0xd1cb, 0xd1cc, 0xd1cd, 0xd1ce, 0xd1cf, 0xd1d0,\n  0xd1d1, 0xd1d2, 0xd1d3, 0xd1d4, 0xd1d5, 0xd1d6, 0xd1d7, 0xd1d8, 0xd1d9, 0xd1da,\n  0xd1db, 0xd1dc, 0xd1dd, 0xd1de, 0xd1df, 0xd1e0, 0xd1e1, 0xd1e2, 0xd1e3, 0xd1e4,\n  0xd1e5, 0xd1e6, 0xd1e7, 0xd1e8, 0xd1e9, 0xd1ea, 0xd1eb, 0xd1ec, 0xd1ed, 0xd1ee,\n  0xd1ef, 0xd1f0, 0xd1f1, 0xd1f2, 0xd1f3, 0xd1f4, 0xd1f5, 0xd1f6, 0xd1f7, 0xd1f8,\n  0xd1f9, 0xd1fa, 0xd1fb, 0xd1fc, 0xd1fd, 0xd1fe, 0xd2a1, 0xd2a2, 0xd2a3, 0xd2a4,\n  0xd2a5, 0xd2a6, 0xd2a7, 0xd2a8, 0xd2a9, 0xd2aa, 0xd2ab, 0xd2ac, 0xd2ad, 0xd2ae,\n  0xd2af, 0xd2b0, 0xd2b1, 0xd2b2, 0xd2b3, 0xd2b4, 0xd2b5, 0xd2b6, 0xd2b7, 0xd2b8,\n  0xd2b9, 0xd2ba, 0xd2bb, 0xd2bc, 0xd2bd, 0xd2be, 0xd2bf, 0xd2c0, 0xd2c1, 0xd2c2,\n  0xd2c3, 0xd2c4, 0xd2c5, 0xd2c6, 0xd2c7, 0xd2c8, 0xd2c9, 0xd2ca, 0xd2cb, 0xd2cc,\n  0xd2cd, 0xd2ce, 0xd2cf, 0xd2d0, 0xd2d1, 0xd2d2, 0xd2d3, 0xd2d4, 0xd2d5, 0xd2d6,\n  0xd2d7, 0xd2d8, 0xd2d9, 0xd2da, 0xd2db, 0xd2dc, 0xd2dd, 0xd2de, 0xd2df, 0xd2e0,\n  0xd2e1, 0xd2e2, 0xd2e3, 0xd2e4, 0xd2e5, 0xd2e6, 0xd2e7, 0xd2e8, 0xd2e9, 0xd2ea,\n  0xd2eb, 0xd2ec, 0xd2ed, 0xd2ee, 0xd2ef, 0xd2f0, 0xd2f1, 0xd2f2, 0xd2f3, 0xd2f4,\n  0xd2f5, 0xd2f6, 0xd2f7, 0xd2f8, 0xd2f9, 0xd2fa, 0xd2fb, 0xd2fc, 0xd2fd, 0xd2fe,\n  0xd3a1, 0xd3a2, 0xd3a3, 0xd3a4, 0xd3a5, 0xd3a6, 0xd3a7, 0xd3a8, 0xd3a9, 0xd3aa,\n  0xd3ab, 0xd3ac, 0xd3ad, 0xd3ae, 0xd3af, 0xd3b0, 0xd3b1, 0xd3b2, 0xd3b3, 0xd3b4,\n  0xd3b5, 0xd3b6, 0xd3b7, 0xd3b8, 0xd3b9, 0xd3ba, 0xd3bb, 0xd3bc, 0xd3bd, 0xd3be,\n  0xd3bf, 0xd3c0, 0xd3c1, 0xd3c2, 0xd3c3, 0xd3c4, 0xd3c5, 0xd3c6, 0xd3c7, 0xd3c8,\n  0xd3c9, 0xd3ca, 0xd3cb, 0xd3cc, 0xd3cd, 0xd3ce, 0xd3cf, 0xd3d0, 0xd3d1, 0xd3d2,\n  0xd3d3, 0xd3d4, 0xd3d5, 0xd3d6, 0xd3d7, 0xd3d8, 0xd3d9, 0xd3da, 0xd3db, 0xd3dc,\n  0xd3dd, 0xd3de, 0xd3df, 0xd3e0, 0xd3e1, 0xd3e2, 0xd3e3, 0xd3e4, 0xd3e5, 0xd3e6,\n  0xd3e7, 0xd3e8, 0xd3e9, 0xd3ea, 0xd3eb, 0xd3ec, 0xd3ed, 0xd3ee, 0xd3ef, 0xd3f0,\n  0xd3f1, 0xd3f2, 0xd3f3, 0xd3f4, 0xd3f5, 0xd3f6, 0xd3f7, 0xd3f8, 0xd3f9, 0xd3fa,\n  0xd3fb, 0xd3fc, 0xd3fd, 0xd3fe, 0xd4a1, 0xd4a2, 0xd4a3, 0xd4a4, 0xd4a5, 0xd4a6,\n  0xd4a7, 0xd4a8, 0xd4a9, 0xd4aa, 0xd4ab, 0xd4ac, 0xd4ad, 0xd4ae, 0xd4af, 0xd4b0,\n  0xd4b1, 0xd4b2, 0xd4b3, 0xd4b4, 0xd4b5, 0xd4b6, 0xd4b7, 0xd4b8, 0xd4b9, 0xd4ba,\n  0xd4bb, 0xd4bc, 0xd4bd, 0xd4be, 0xd4bf, 0xd4c0, 0xd4c1, 0xd4c2, 0xd4c3, 0xd4c4,\n  0xd4c5, 0xd4c6, 0xd4c7, 0xd4c8, 0xd4c9, 0xd4ca, 0xd4cb, 0xd4cc, 0xd4cd, 0xd4ce,\n  0xd4cf, 0xd4d0, 0xd4d1, 0xd4d2, 0xd4d3, 0xd4d4, 0xd4d5, 0xd4d6, 0xd4d7, 0xd4d8,\n  0xd4d9, 0xd4da, 0xd4db, 0xd4dc, 0xd4dd, 0xd4de, 0xd4df, 0xd4e0, 0xd4e1, 0xd4e2,\n  0xd4e3, 0xd4e4, 0xd4e5, 0xd4e6, 0xd4e7, 0xd4e8, 0xd4e9, 0xd4ea, 0xd4eb, 0xd4ec,\n  0xd4ed, 0xd4ee, 0xd4ef, 0xd4f0, 0xd4f1, 0xd4f2, 0xd4f3, 0xd4f4, 0xd4f5, 0xd4f6,\n  0xd4f7, 0xd4f8, 0xd4f9, 0xd4fa, 0xd4fb, 0xd4fc, 0xd4fd, 0xd4fe, 0xd5a1, 0xd5a2,\n  0xd5a3, 0xd5a4, 0xd5a5, 0xd5a6, 0xd5a7, 0xd5a8, 0xd5a9, 0xd5aa, 0xd5ab, 0xd5ac,\n  0xd5ad, 0xd5ae, 0xd5af, 0xd5b0, 0xd5b1, 0xd5b2, 0xd5b3, 0xd5b4, 0xd5b5, 0xd5b6,\n  0xd5b7, 0xd5b8, 0xd5b9, 0xd5ba, 0xd5bb, 0xd5bc, 0xd5bd, 0xd5be, 0xd5bf, 0xd5c0,\n  0xd5c1, 0xd5c2, 0xd5c3, 0xd5c4, 0xd5c5, 0xd5c6, 0xd5c7, 0xd5c8, 0xd5c9, 0xd5ca,\n  0xd5cb, 0xd5cc, 0xd5cd, 0xd5ce, 0xd5cf, 0xd5d0, 0xd5d1, 0xd5d2, 0xd5d3, 0xd5d4,\n  0xd5d5, 0xd5d6, 0xd5d7, 0xd5d8, 0xd5d9, 0xd5da, 0xd5db, 0xd5dc, 0xd5dd, 0xd5de,\n  0xd5df, 0xd5e0, 0xd5e1, 0xd5e2, 0xd5e3, 0xd5e4, 0xd5e5, 0xd5e6, 0xd5e7, 0xd5e8,\n  0xd5e9, 0xd5ea, 0xd5eb, 0xd5ec, 0xd5ed, 0xd5ee, 0xd5ef, 0xd5f0, 0xd5f1, 0xd5f2,\n  0xd5f3, 0xd5f4, 0xd5f5, 0xd5f6, 0xd5f7, 0xd5f8, 0xd5f9, 0xd5fa, 0xd5fb, 0xd5fc,\n  0xd5fd, 0xd5fe, 0xd6a1, 0xd6a2, 0xd6a3, 0xd6a4, 0xd6a5, 0xd6a6, 0xd6a7, 0xd6a8,\n  0xd6a9, 0xd6aa, 0xd6ab, 0xd6ac, 0xd6ad, 0xd6ae, 0xd6af, 0xd6b0, 0xd6b1, 0xd6b2,\n  0xd6b3, 0xd6b4, 0xd6b5, 0xd6b6, 0xd6b7, 0xd6b8, 0xd6b9, 0xd6ba, 0xd6bb, 0xd6bc,\n  0xd6bd, 0xd6be, 0xd6bf, 0xd6c0, 0xd6c1, 0xd6c2, 0xd6c3, 0xd6c4, 0xd6c5, 0xd6c6,\n  0xd6c7, 0xd6c8, 0xd6c9, 0xd6ca, 0xd6cb, 0xd6cc, 0xd6cd, 0xd6ce, 0xd6cf, 0xd6d0,\n  0xd6d1, 0xd6d2, 0xd6d3, 0xd6d4, 0xd6d5, 0xd6d6, 0xd6d7, 0xd6d8, 0xd6d9, 0xd6da,\n  0xd6db, 0xd6dc, 0xd6dd, 0xd6de, 0xd6df, 0xd6e0, 0xd6e1, 0xd6e2, 0xd6e3, 0xd6e4,\n  0xd6e5, 0xd6e6, 0xd6e7, 0xd6e8, 0xd6e9, 0xd6ea, 0xd6eb, 0xd6ec, 0xd6ed, 0xd6ee,\n  0xd6ef, 0xd6f0, 0xd6f1, 0xd6f2, 0xd6f3, 0xd6f4, 0xd6f5, 0xd6f6, 0xd6f7, 0xd6f8,\n  0xd6f9, 0xd6fa, 0xd6fb, 0xd6fc, 0xd6fd, 0xd6fe, 0xd7a1, 0xd7a2, 0xd7a3, 0xd7a4,\n  0xd7a5, 0xd7a6, 0xd7a7, 0xd7a8, 0xd7a9, 0xd7aa, 0xd7ab, 0xd7ac, 0xd7ad, 0xd7ae,\n  0xd7af, 0xd7b0, 0xd7b1, 0xd7b2, 0xd7b3, 0xd7b4, 0xd7b5, 0xd7b6, 0xd7b7, 0xd7b8,\n  0xd7b9, 0xd7ba, 0xd7bb, 0xd7bc, 0xd7bd, 0xd7be, 0xd7bf, 0xd7c0, 0xd7c1, 0xd7c2,\n  0xd7c3, 0xd7c4, 0xd7c5, 0xd7c6, 0xd7c7, 0xd7c8, 0xd7c9, 0xd7ca, 0xd7cb, 0xd7cc,\n  0xd7cd, 0xd7ce, 0xd7cf, 0xd7d0, 0xd7d1, 0xd7d2, 0xd7d3, 0xd7d4, 0xd7d5, 0xd7d6,\n  0xd7d7, 0xd7d8, 0xd7d9, 0xd7da, 0xd7db, 0xd7dc, 0xd7dd, 0xd7de, 0xd7df, 0xd7e0,\n  0xd7e1, 0xd7e2, 0xd7e3, 0xd7e4, 0xd7e5, 0xd7e6, 0xd7e7, 0xd7e8, 0xd7e9, 0xd7ea,\n  0xd7eb, 0xd7ec, 0xd7ed, 0xd7ee, 0xd7ef, 0xd7f0, 0xd7f1, 0xd7f2, 0xd7f3, 0xd7f4,\n  0xd7f5, 0xd7f6, 0xd7f7, 0xd7f8, 0xd7f9};\n\nint gblookup[]={\n  0xb0a1, 0xb0a2, 0xb0a3, 0xb0a4, 0xb0a5, 0xb0a6, 0xb0a7, 0xb0a8, 0xb0a9, 0xb0aa,\n  0xb0ab, 0xb0ac, 0xb0ad, 0xb0ae, 0xb0af, 0xb0b0, 0xb0b1, 0xb0b2, 0xb0b3, 0xb0b4,\n  0xb0b5, 0xb0b6, 0xb0b7, 0xb0b8, 0xb0b9, 0xb0ba, 0xb0bb, 0xb0bc, 0xb0bd, 0xb0be,\n  0xb0bf, 0xb0c0, 0xb0c1, 0xb0c2, 0xb0c3, 0xb0c4, 0xb0c5, 0xb0c6, 0xb0c7, 0xb0c8,\n  0xb0c9, 0xb0ca, 0xb0cb, 0xb0cc, 0xb0cd, 0xb0ce, 0xb0cf, 0xb0d0, 0xb0d1, 0xb0d2,\n  0xb0d3, 0xb0d4, 0xb0d5, 0xb0d6, 0xb0d7, 0xb0d8, 0xb0d9, 0xb0da, 0xb0db, 0xb0dc,\n  0xb0dd, 0xb0de, 0xb0df, 0xb0e0, 0xb0e1, 0xb0e2, 0xb0e3, 0xb0e4, 0xb0e5, 0xb0e6,\n  0xb0e7, 0xb0e8, 0xb0e9, 0xb0ea, 0xb0eb, 0xb0ec, 0xb0ed, 0xb0ee, 0xb0ef, 0xb0f0,\n  0xb0f1, 0xb0f2, 0xb0f3, 0xb0f4, 0xb0f5, 0xb0f6, 0xb0f7, 0xb0f8, 0xb0f9, 0xb0fa,\n  0xb0fb, 0xb0fc, 0xb0fd, 0xb0fe, 0xb1a1, 0xb1a2, 0xb1a3, 0xb1a4, 0xb1a5, 0xb1a6,\n  0xb1a7, 0xb1a8, 0xb1a9, 0xb1aa, 0xb1ab, 0xb1ac, 0xb1ad, 0xb1ae, 0xb1af, 0xb1b0,\n  0xb1b1, 0xb1b2, 0xb1b3, 0xb1b4, 0xb1b5, 0xb1b6, 0xb1b7, 0xb1b8, 0xb1b9, 0xb1ba,\n  0xb1bb, 0xb1bc, 0xb1bd, 0xb1be, 0xb1bf, 0xb1c0, 0xb1c1, 0xb1c2, 0xb1c3, 0xb1c4,\n  0xb1c5, 0xb1c6, 0xb1c7, 0xb1c8, 0xb1c9, 0xb1ca, 0xb1cb, 0xb1cc, 0xb1cd, 0xb1ce,\n  0xb1cf, 0xb1d0, 0xb1d1, 0xb1d2, 0xb1d3, 0xb1d4, 0xb1d5, 0xb1d6, 0xb1d7, 0xb1d8,\n  0xb1d9, 0xb1da, 0xb1db, 0xb1dc, 0xb1dd, 0xb1de, 0xb1df, 0xb1e0, 0xb1e1, 0xb1e2,\n  0xb1e3, 0xb1e4, 0xb1e5, 0xb1e6, 0xb1e7, 0xb1e8, 0xb1e9, 0xb1ea, 0xb1eb, 0xb1ec,\n  0xb1ed, 0xb1ee, 0xb1ef, 0xb1f0, 0xb1f1, 0xb1f2, 0xb1f3, 0xb1f4, 0xb1f5, 0xb1f6,\n  0xb1f7, 0xb1f8, 0xb1f9, 0xb1fa, 0xb1fb, 0xb1fc, 0xb1fd, 0xb1fe, 0xb2a1, 0xb2a2,\n  0xb2a3, 0xb2a4, 0xb2a5, 0xb2a6, 0xb2a7, 0xb2a8, 0xb2a9, 0xb2aa, 0xb2ab, 0xb2ac,\n  0xb2ad, 0xb2ae, 0xb2af, 0xb2b0, 0xb2b1, 0xb2b2, 0xb2b3, 0xb2b4, 0xb2b5, 0xb2b6,\n  0xb2b7, 0xb2b8, 0xb2b9, 0xb2ba, 0xb2bb, 0xb2bc, 0xb2bd, 0xb2be, 0xb2bf, 0xb2c0,\n  0xb2c1, 0xb2c2, 0xb2c3, 0xb2c4, 0xb2c5, 0xb2c6, 0xb2c7, 0xb2c8, 0xb2c9, 0xb2ca,\n  0xb2cb, 0xb2cc, 0xb2cd, 0xb2ce, 0xb2cf, 0xb2d0, 0xb2d1, 0xb2d2, 0xb2d3, 0xb2d4,\n  0xb2d5, 0xb2d6, 0xb2d7, 0xb2d8, 0xb2d9, 0xb2da, 0xb2db, 0xb2dc, 0xb2dd, 0xb2de,\n  0xb2df, 0xb2e0, 0xb2e1, 0xb2e2, 0xb2e3, 0xb2e4, 0xb2e5, 0xb2e6, 0xb2e7, 0xb2e8,\n  0xb2e9, 0xb2ea, 0xb2eb, 0xb2ec, 0xb2ed, 0xb2ee, 0xb2ef, 0xb2f0, 0xb2f1, 0xb2f2,\n  0xb2f3, 0xb2f4, 0xb2f5, 0xb2f6, 0xb2f7, 0xb2f8, 0xb2f9, 0xb2fa, 0xb2fb, 0xb2fc,\n  0xb2fd, 0xb2fe, 0xb3a1, 0xb3a2, 0xb3a3, 0xb3a4, 0xb3a5, 0xb3a6, 0xb3a7, 0xb3a8,\n  0xb3a9, 0xb3aa, 0xb3ab, 0xb3ac, 0xb3ad, 0xb3ae, 0xb3af, 0xb3b0, 0xb3b1, 0xb3b2,\n  0xb3b3, 0xb3b4, 0xb3b5, 0xb3b6, 0xb3b7, 0xb3b8, 0xb3b9, 0xb3ba, 0xb3bb, 0xb3bc,\n  0xb3bd, 0xb3be, 0xb3bf, 0xb3c0, 0xb3c1, 0xb3c2, 0xb3c3, 0xb3c4, 0xb3c5, 0xb3c6,\n  0xb3c7, 0xb3c8, 0xb3c9, 0xb3ca, 0xb3cb, 0xb3cc, 0xb3cd, 0xb3ce, 0xb3cf, 0xb3d0,\n  0xb3d1, 0xb3d2, 0xb3d3, 0xb3d4, 0xb3d5, 0xb3d6, 0xb3d7, 0xb3d8, 0xb3d9, 0xb3da,\n  0xb3db, 0xb3dc, 0xb3dd, 0xb3de, 0xb3df, 0xb3e0, 0xb3e1, 0xb3e2, 0xb3e3, 0xb3e4,\n  0xb3e5, 0xb3e6, 0xb3e7, 0xb3e8, 0xb3e9, 0xb3ea, 0xb3eb, 0xb3ec, 0xb3ed, 0xb3ee,\n  0xb3ef, 0xb3f0, 0xb3f1, 0xb3f2, 0xb3f3, 0xb3f4, 0xb3f5, 0xb3f6, 0xb3f7, 0xb3f8,\n  0xb3f9, 0xb3fa, 0xb3fb, 0xb3fc, 0xb3fd, 0xb3fe, 0xb4a1, 0xb4a2, 0xb4a3, 0xb4a4,\n  0xb4a5, 0xb4a6, 0xb4a7, 0xb4a8, 0xb4a9, 0xb4aa, 0xb4ab, 0xb4ac, 0xb4ad, 0xb4ae,\n  0xb4af, 0xb4b0, 0xb4b1, 0xb4b2, 0xb4b3, 0xb4b4, 0xb4b5, 0xb4b6, 0xb4b7, 0xb4b8,\n  0xb4b9, 0xb4ba, 0xb4bb, 0xb4bc, 0xb4bd, 0xb4be, 0xb4bf, 0xb4c0, 0xb4c1, 0xb4c2,\n  0xb4c3, 0xb4c4, 0xb4c5, 0xb4c6, 0xb4c7, 0xb4c8, 0xb4c9, 0xb4ca, 0xb4cb, 0xb4cc,\n  0xb4cd, 0xb4ce, 0xb4cf, 0xb4d0, 0xb4d1, 0xb4d2, 0xb4d3, 0xb4d4, 0xb4d5, 0xb4d6,\n  0xb4d7, 0xb4d8, 0xb4d9, 0xb4da, 0xb4db, 0xb4dc, 0xb4dd, 0xb4de, 0xb4df, 0xb4e0,\n  0xb4e1, 0xb4e2, 0xb4e3, 0xb4e4, 0xb4e5, 0xb4e6, 0xb4e7, 0xb4e8, 0xb4e9, 0xb4ea,\n  0xb4eb, 0xb4ec, 0xb4ed, 0xb4ee, 0xb4ef, 0xb4f0, 0xb4f1, 0xb4f2, 0xb4f3, 0xb4f4,\n  0xb4f5, 0xb4f6, 0xb4f7, 0xb4f8, 0xb4f9, 0xb4fa, 0xb4fb, 0xb4fc, 0xb4fd, 0xb4fe,\n  0xb5a1, 0xb5a2, 0xb5a3, 0xb5a4, 0xb5a5, 0xb5a6, 0xb5a7, 0xb5a8, 0xb5a9, 0xb5aa,\n  0xb5ab, 0xb5ac, 0xb5ad, 0xb5ae, 0xb5af, 0xb5b0, 0xb5b1, 0xb5b2, 0xb5b3, 0xb5b4,\n  0xb5b5, 0xb5b6, 0xb5b7, 0xb5b8, 0xb5b9, 0xb5ba, 0xb5bb, 0xb5bc, 0xb5bd, 0xb5be,\n  0xb5bf, 0xb5c0, 0xb5c1, 0xb5c2, 0xb5c3, 0xb5c4, 0xb5c5, 0xb5c6, 0xb5c7, 0xb5c8,\n  0xb5c9, 0xb5ca, 0xb5cb, 0xb5cc, 0xb5cd, 0xb5ce, 0xb5cf, 0xb5d0, 0xb5d1, 0xb5d2,\n  0xb5d3, 0xb5d4, 0xb5d5, 0xb5d6, 0xb5d7, 0xb5d8, 0xb5d9, 0xb5da, 0xb5db, 0xb5dc,\n  0xb5dd, 0xb5de, 0xb5df, 0xb5e0, 0xb5e1, 0xb5e2, 0xb5e3, 0xb5e4, 0xb5e5, 0xb5e6,\n  0xb5e7, 0xb5e8, 0xb5e9, 0xb5ea, 0xb5eb, 0xb5ec, 0xb5ed, 0xb5ee, 0xb5ef, 0xb5f0,\n  0xb5f1, 0xb5f2, 0xb5f3, 0xb5f4, 0xb5f5, 0xb5f6, 0xb5f7, 0xb5f8, 0xb5f9, 0xb5fa,\n  0xb5fb, 0xb5fc, 0xb5fd, 0xb5fe, 0xb6a1, 0xb6a2, 0xb6a3, 0xb6a4, 0xb6a5, 0xb6a6,\n  0xb6a7, 0xb6a8, 0xb6a9, 0xb6aa, 0xb6ab, 0xb6ac, 0xb6ad, 0xb6ae, 0xb6af, 0xb6b0,\n  0xb6b1, 0xb6b2, 0xb6b3, 0xb6b4, 0xb6b5, 0xb6b6, 0xb6b7, 0xb6b8, 0xb6b9, 0xb6ba,\n  0xb6bb, 0xb6bc, 0xb6bd, 0xb6be, 0xb6bf, 0xb6c0, 0xb6c1, 0xb6c2, 0xb6c3, 0xb6c4,\n  0xb6c5, 0xb6c6, 0xb6c7, 0xb6c8, 0xb6c9, 0xb6ca, 0xb6cb, 0xb6cc, 0xb6cd, 0xb6ce,\n  0xb6cf, 0xb6d0, 0xb6d1, 0xb6d2, 0xb6d3, 0xb6d4, 0xb6d5, 0xb6d6, 0xb6d7, 0xb6d8,\n  0xb6d9, 0xb6da, 0xb6db, 0xb6dc, 0xb6dd, 0xb6de, 0xb6df, 0xb6e0, 0xb6e1, 0xb6e2,\n  0xb6e3, 0xb6e4, 0xb6e5, 0xb6e6, 0xb6e7, 0xb6e8, 0xb6e9, 0xb6ea, 0xb6eb, 0xb6ec,\n  0xb6ed, 0xb6ee, 0xb6ef, 0xb6f0, 0xb6f1, 0xb6f2, 0xb6f3, 0xb6f4, 0xb6f5, 0xb6f6,\n  0xb6f7, 0xb6f8, 0xb6f9, 0xb6fa, 0xb6fb, 0xb6fc, 0xb6fd, 0xb6fe, 0xb7a1, 0xb7a2,\n  0xb7a3, 0xb7a4, 0xb7a5, 0xb7a6, 0xb7a7, 0xb7a8, 0xb7a9, 0xb7aa, 0xb7ab, 0xb7ac,\n  0xb7ad, 0xb7ae, 0xb7af, 0xb7b0, 0xb7b1, 0xb7b2, 0xb7b3, 0xb7b4, 0xb7b5, 0xb7b6,\n  0xb7b7, 0xb7b8, 0xb7b9, 0xb7ba, 0xb7bb, 0xb7bc, 0xb7bd, 0xb7be, 0xb7bf, 0xb7c0,\n  0xb7c1, 0xb7c2, 0xb7c3, 0xb7c4, 0xb7c5, 0xb7c6, 0xb7c7, 0xb7c8, 0xb7c9, 0xb7ca,\n  0xb7cb, 0xb7cc, 0xb7cd, 0xb7ce, 0xb7cf, 0xb7d0, 0xb7d1, 0xb7d2, 0xb7d3, 0xb7d4,\n  0xb7d5, 0xb7d6, 0xb7d7, 0xb7d8, 0xb7d9, 0xb7da, 0xb7db, 0xb7dc, 0xb7dd, 0xb7de,\n  0xb7df, 0xb7e0, 0xb7e1, 0xb7e2, 0xb7e3, 0xb7e4, 0xb7e5, 0xb7e6, 0xb7e7, 0xb7e8,\n  0xb7e9, 0xb7ea, 0xb7eb, 0xb7ec, 0xb7ed, 0xb7ee, 0xb7ef, 0xb7f0, 0xb7f1, 0xb7f2,\n  0xb7f3, 0xb7f4, 0xb7f5, 0xb7f6, 0xb7f7, 0xb7f8, 0xb7f9, 0xb7fa, 0xb7fb, 0xb7fc,\n  0xb7fd, 0xb7fe, 0xb8a1, 0xb8a2, 0xb8a3, 0xb8a4, 0xb8a5, 0xb8a6, 0xb8a7, 0xb8a8,\n  0xb8a9, 0xb8aa, 0xb8ab, 0xb8ac, 0xb8ad, 0xb8ae, 0xb8af, 0xb8b0, 0xb8b1, 0xb8b2,\n  0xb8b3, 0xb8b4, 0xb8b5, 0xb8b6, 0xb8b7, 0xb8b8, 0xb8b9, 0xb8ba, 0xb8bb, 0xb8bc,\n  0xb8bd, 0xb8be, 0xb8bf, 0xb8c0, 0xb8c1, 0xb8c2, 0xb8c3, 0xb8c4, 0xb8c5, 0xb8c6,\n  0xb8c7, 0xb8c8, 0xb8c9, 0xb8ca, 0xb8cb, 0xb8cc, 0xb8cd, 0xb8ce, 0xb8cf, 0xb8d0,\n  0xb8d1, 0xb8d2, 0xb8d3, 0xb8d4, 0xb8d5, 0xb8d6, 0xb8d7, 0xb8d8, 0xb8d9, 0xb8da,\n  0xb8db, 0xb8dc, 0xb8dd, 0xb8de, 0xb8df, 0xb8e0, 0xb8e1, 0xb8e2, 0xb8e3, 0xb8e4,\n  0xb8e5, 0xb8e6, 0xb8e7, 0xb8e8, 0xb8e9, 0xb8ea, 0xb8eb, 0xb8ec, 0xb8ed, 0xb8ee,\n  0xb8ef, 0xb8f0, 0xb8f1, 0xb8f2, 0xb8f3, 0xb8f4, 0xb8f5, 0xb8f6, 0xb8f7, 0xb8f8,\n  0xb8f9, 0xb8fa, 0xb8fb, 0xb8fc, 0xb8fd, 0xb8fe, 0xb9a1, 0xb9a2, 0xb9a3, 0xb9a4,\n  0xb9a5, 0xb9a6, 0xb9a7, 0xb9a8, 0xb9a9, 0xb9aa, 0xb9ab, 0xb9ac, 0xb9ad, 0xb9ae,\n  0xb9af, 0xb9b0, 0xb9b1, 0xb9b2, 0xb9b3, 0xb9b4, 0xb9b5, 0xb9b6, 0xb9b7, 0xb9b8,\n  0xb9b9, 0xb9ba, 0xb9bb, 0xb9bc, 0xb9bd, 0xb9be, 0xb9bf, 0xb9c0, 0xb9c1, 0xb9c2,\n  0xb9c3, 0xb9c4, 0xb9c5, 0xb9c6, 0xb9c7, 0xb9c8, 0xb9c9, 0xb9ca, 0xb9cb, 0xb9cc,\n  0xb9cd, 0xb9ce, 0xb9cf, 0xb9d0, 0xb9d1, 0xb9d2, 0xb9d3, 0xb9d4, 0xb9d5, 0xb9d6,\n  0xb9d7, 0xb9d8, 0xb9d9, 0xb9da, 0xb9db, 0xb9dc, 0xb9dd, 0xb9de, 0xb9df, 0xb9e0,\n  0xb9e1, 0xb9e2, 0xb9e3, 0xb9e4, 0xb9e5, 0xb9e6, 0xb9e7, 0xb9e8, 0xb9e9, 0xb9ea,\n  0xb9eb, 0xb9ec, 0xb9ed, 0xb9ee, 0xb9ef, 0xb9f0, 0xb9f1, 0xb9f2, 0xb9f3, 0xb9f4,\n  0xb9f5, 0xb9f6, 0xb9f7, 0xb9f8, 0xb9f9, 0xb9fa, 0xb9fb, 0xb9fc, 0xb9fd, 0xb9fe,\n  0xbaa1, 0xbaa2, 0xbaa3, 0xbaa4, 0xbaa5, 0xbaa6, 0xbaa7, 0xbaa8, 0xbaa9, 0xbaaa,\n  0xbaab, 0xbaac, 0xbaad, 0xbaae, 0xbaaf, 0xbab0, 0xbab1, 0xbab2, 0xbab3, 0xbab4,\n  0xbab5, 0xbab6, 0xbab7, 0xbab8, 0xbab9, 0xbaba, 0xbabb, 0xbabc, 0xbabd, 0xbabe,\n  0xbabf, 0xbac0, 0xbac1, 0xbac2, 0xbac3, 0xbac4, 0xbac5, 0xbac6, 0xbac7, 0xbac8,\n  0xbac9, 0xbaca, 0xbacb, 0xbacc, 0xbacd, 0xbace, 0xbacf, 0xbad0, 0xbad1, 0xbad2,\n  0xbad3, 0xbad4, 0xbad5, 0xbad6, 0xbad7, 0xbad8, 0xbad9, 0xbada, 0xbadb, 0xbadc,\n  0xbadd, 0xbade, 0xbadf, 0xbae0, 0xbae1, 0xbae2, 0xbae3, 0xbae4, 0xbae5, 0xbae6,\n  0xbae7, 0xbae8, 0xbae9, 0xbaea, 0xbaeb, 0xbaec, 0xbaed, 0xbaee, 0xbaef, 0xbaf0,\n  0xbaf1, 0xbaf2, 0xbaf3, 0xbaf4, 0xbaf5, 0xbaf6, 0xbaf7, 0xbaf8, 0xbaf9, 0xbafa,\n  0xbafb, 0xbafc, 0xbafd, 0xbafe, 0xbba1, 0xbba2, 0xbba3, 0xbba4, 0xbba5, 0xbba6,\n  0xbba7, 0xbba8, 0xbba9, 0xbbaa, 0xbbab, 0xbbac, 0xbbad, 0xbbae, 0xbbaf, 0xbbb0,\n  0xbbb1, 0xbbb2, 0xbbb3, 0xbbb4, 0xbbb5, 0xbbb6, 0xbbb7, 0xbbb8, 0xbbb9, 0xbbba,\n  0xbbbb, 0xbbbc, 0xbbbd, 0xbbbe, 0xbbbf, 0xbbc0, 0xbbc1, 0xbbc2, 0xbbc3, 0xbbc4,\n  0xbbc5, 0xbbc6, 0xbbc7, 0xbbc8, 0xbbc9, 0xbbca, 0xbbcb, 0xbbcc, 0xbbcd, 0xbbce,\n  0xbbcf, 0xbbd0, 0xbbd1, 0xbbd2, 0xbbd3, 0xbbd4, 0xbbd5, 0xbbd6, 0xbbd7, 0xbbd8,\n  0xbbd9, 0xbbda, 0xbbdb, 0xbbdc, 0xbbdd, 0xbbde, 0xbbdf, 0xbbe0, 0xbbe1, 0xbbe2,\n  0xbbe3, 0xbbe4, 0xbbe5, 0xbbe6, 0xbbe7, 0xbbe8, 0xbbe9, 0xbbea, 0xbbeb, 0xbbec,\n  0xbbed, 0xbbee, 0xbbef, 0xbbf0, 0xbbf1, 0xbbf2, 0xbbf3, 0xbbf4, 0xbbf5, 0xbbf6,\n  0xbbf7, 0xbbf8, 0xbbf9, 0xbbfa, 0xbbfb, 0xbbfc, 0xbbfd, 0xbbfe, 0xbca1, 0xbca2,\n  0xbca3, 0xbca4, 0xbca5, 0xbca6, 0xbca7, 0xbca8, 0xbca9, 0xbcaa, 0xbcab, 0xbcac,\n  0xbcad, 0xbcae, 0xbcaf, 0xbcb0, 0xbcb1, 0xbcb2, 0xbcb3, 0xbcb4, 0xbcb5, 0xbcb6,\n  0xbcb7, 0xbcb8, 0xbcb9, 0xbcba, 0xbcbb, 0xbcbc, 0xbcbd, 0xbcbe, 0xbcbf, 0xbcc0,\n  0xbcc1, 0xbcc2, 0xbcc3, 0xbcc4, 0xbcc5, 0xbcc6, 0xbcc7, 0xbcc8, 0xbcc9, 0xbcca,\n  0xbccb, 0xbccc, 0xbccd, 0xbcce, 0xbccf, 0xbcd0, 0xbcd1, 0xbcd2, 0xbcd3, 0xbcd4,\n  0xbcd5, 0xbcd6, 0xbcd7, 0xbcd8, 0xbcd9, 0xbcda, 0xbcdb, 0xbcdc, 0xbcdd, 0xbcde,\n  0xbcdf, 0xbce0, 0xbce1, 0xbce2, 0xbce3, 0xbce4, 0xbce5, 0xbce6, 0xbce7, 0xbce8,\n  0xbce9, 0xbcea, 0xbceb, 0xbcec, 0xbced, 0xbcee, 0xbcef, 0xbcf0, 0xbcf1, 0xbcf2,\n  0xbcf3, 0xbcf4, 0xbcf5, 0xbcf6, 0xbcf7, 0xbcf8, 0xbcf9, 0xbcfa, 0xbcfb, 0xbcfc,\n  0xbcfd, 0xbcfe, 0xbda1, 0xbda2, 0xbda3, 0xbda4, 0xbda5, 0xbda6, 0xbda7, 0xbda8,\n  0xbda9, 0xbdaa, 0xbdab, 0xbdac, 0xbdad, 0xbdae, 0xbdaf, 0xbdb0, 0xbdb1, 0xbdb2,\n  0xbdb3, 0xbdb4, 0xbdb5, 0xbdb6, 0xbdb7, 0xbdb8, 0xbdb9, 0xbdba, 0xbdbb, 0xbdbc,\n  0xbdbd, 0xbdbe, 0xbdbf, 0xbdc0, 0xbdc1, 0xbdc2, 0xbdc3, 0xbdc4, 0xbdc5, 0xbdc6,\n  0xbdc7, 0xbdc8, 0xbdc9, 0xbdca, 0xbdcb, 0xbdcc, 0xbdcd, 0xbdce, 0xbdcf, 0xbdd0,\n  0xbdd1, 0xbdd2, 0xbdd3, 0xbdd4, 0xbdd5, 0xbdd6, 0xbdd7, 0xbdd8, 0xbdd9, 0xbdda,\n  0xbddb, 0xbddc, 0xbddd, 0xbdde, 0xbddf, 0xbde0, 0xbde1, 0xbde2, 0xbde3, 0xbde4,\n  0xbde5, 0xbde6, 0xbde7, 0xbde8, 0xbde9, 0xbdea, 0xbdeb, 0xbdec, 0xbded, 0xbdee,\n  0xbdef, 0xbdf0, 0xbdf1, 0xbdf2, 0xbdf3, 0xbdf4, 0xbdf5, 0xbdf6, 0xbdf7, 0xbdf8,\n  0xbdf9, 0xbdfa, 0xbdfb, 0xbdfc, 0xbdfd, 0xbdfe, 0xbea1, 0xbea2, 0xbea3, 0xbea4,\n  0xbea5, 0xbea6, 0xbea7, 0xbea8, 0xbea9, 0xbeaa, 0xbeab, 0xbeac, 0xbead, 0xbeae,\n  0xbeaf, 0xbeb0, 0xbeb1, 0xbeb2, 0xbeb3, 0xbeb4, 0xbeb5, 0xbeb6, 0xbeb7, 0xbeb8,\n  0xbeb9, 0xbeba, 0xbebb, 0xbebc, 0xbebd, 0xbebe, 0xbebf, 0xbec0, 0xbec1, 0xbec2,\n  0xbec3, 0xbec4, 0xbec5, 0xbec6, 0xbec7, 0xbec8, 0xbec9, 0xbeca, 0xbecb, 0xbecc,\n  0xbecd, 0xbece, 0xbecf, 0xbed0, 0xbed1, 0xbed2, 0xbed3, 0xbed4, 0xbed5, 0xbed6,\n  0xbed7, 0xbed8, 0xbed9, 0xbeda, 0xbedb, 0xbedc, 0xbedd, 0xbede, 0xbedf, 0xbee0,\n  0xbee1, 0xbee2, 0xbee3, 0xbee4, 0xbee5, 0xbee6, 0xbee7, 0xbee8, 0xbee9, 0xbeea,\n  0xbeeb, 0xbeec, 0xbeed, 0xbeee, 0xbeef, 0xbef0, 0xbef1, 0xbef2, 0xbef3, 0xbef4,\n  0xbef5, 0xbef6, 0xbef7, 0xbef8, 0xbef9, 0xbefa, 0xbefb, 0xbefc, 0xbefd, 0xbefe,\n  0xbfa1, 0xbfa2, 0xbfa3, 0xbfa4, 0xbfa5, 0xbfa6, 0xbfa7, 0xbfa8, 0xbfa9, 0xbfaa,\n  0xbfab, 0xbfac, 0xbfad, 0xbfae, 0xbfaf, 0xbfb0, 0xbfb1, 0xbfb2, 0xbfb3, 0xbfb4,\n  0xbfb5, 0xbfb6, 0xbfb7, 0xbfb8, 0xbfb9, 0xbfba, 0xbfbb, 0xbfbc, 0xbfbd, 0xbfbe,\n  0xbfbf, 0xbfc0, 0xbfc1, 0xbfc2, 0xbfc3, 0xbfc4, 0xbfc5, 0xbfc6, 0xbfc7, 0xbfc8,\n  0xbfc9, 0xbfca, 0xbfcb, 0xbfcc, 0xbfcd, 0xbfce, 0xbfcf, 0xbfd0, 0xbfd1, 0xbfd2,\n  0xbfd3, 0xbfd4, 0xbfd5, 0xbfd6, 0xbfd7, 0xbfd8, 0xbfd9, 0xbfda, 0xbfdb, 0xbfdc,\n  0xbfdd, 0xbfde, 0xbfdf, 0xbfe0, 0xbfe1, 0xbfe2, 0xbfe3, 0xbfe4, 0xbfe5, 0xbfe6,\n  0xbfe7, 0xbfe8, 0xbfe9, 0xbfea, 0xbfeb, 0xbfec, 0xbfed, 0xbfee, 0xbfef, 0xbff0,\n  0xbff1, 0xbff2, 0xbff3, 0xbff4, 0xbff5, 0xbff6, 0xbff7, 0xbff8, 0xbff9, 0xbffa,\n  0xbffb, 0xbffc, 0xbffd, 0xbffe, 0xc0a1, 0xc0a2, 0xc0a3, 0xc0a4, 0xc0a5, 0xc0a6,\n  0xc0a7, 0xc0a8, 0xc0a9, 0xc0aa, 0xc0ab, 0xc0ac, 0xc0ad, 0xc0ae, 0xc0af, 0xc0b0,\n  0xc0b1, 0xc0b2, 0xc0b3, 0xc0b4, 0xc0b5, 0xc0b6, 0xc0b7, 0xc0b8, 0xc0b9, 0xc0ba,\n  0xc0bb, 0xc0bc, 0xc0bd, 0xc0be, 0xc0bf, 0xc0c0, 0xc0c1, 0xc0c2, 0xc0c3, 0xc0c4,\n  0xc0c5, 0xc0c6, 0xc0c7, 0xc0c8, 0xc0c9, 0xc0ca, 0xc0cb, 0xc0cc, 0xc0cd, 0xc0ce,\n  0xc0cf, 0xc0d0, 0xc0d1, 0xc0d2, 0xc0d3, 0xc0d4, 0xc0d5, 0xc0d6, 0xc0d7, 0xc0d8,\n  0xc0d9, 0xc0da, 0xc0db, 0xc0dc, 0xc0dd, 0xc0de, 0xc0df, 0xc0e0, 0xc0e1, 0xc0e2,\n  0xc0e3, 0xc0e4, 0xc0e5, 0xc0e6, 0xc0e7, 0xc0e8, 0xc0e9, 0xc0ea, 0xc0eb, 0xc0ec,\n  0xc0ed, 0xc0ee, 0xc0ef, 0xc0f0, 0xc0f1, 0xc0f2, 0xc0f3, 0xc0f4, 0xc0f5, 0xc0f6,\n  0xc0f7, 0xc0f8, 0xc0f9, 0xc0fa, 0xc0fb, 0xc0fc, 0xc0fd, 0xc0fe, 0xc1a1, 0xc1a2,\n  0xc1a3, 0xc1a4, 0xc1a5, 0xc1a6, 0xc1a7, 0xc1a8, 0xc1a9, 0xc1aa, 0xc1ab, 0xc1ac,\n  0xc1ad, 0xc1ae, 0xc1af, 0xc1b0, 0xc1b1, 0xc1b2, 0xc1b3, 0xc1b4, 0xc1b5, 0xc1b6,\n  0xc1b7, 0xc1b8, 0xc1b9, 0xc1ba, 0xc1bb, 0xc1bc, 0xc1bd, 0xc1be, 0xc1bf, 0xc1c0,\n  0xc1c1, 0xc1c2, 0xc1c3, 0xc1c4, 0xc1c5, 0xc1c6, 0xc1c7, 0xc1c8, 0xc1c9, 0xc1ca,\n  0xc1cb, 0xc1cc, 0xc1cd, 0xc1ce, 0xc1cf, 0xc1d0, 0xc1d1, 0xc1d2, 0xc1d3, 0xc1d4,\n  0xc1d5, 0xc1d6, 0xc1d7, 0xc1d8, 0xc1d9, 0xc1da, 0xc1db, 0xc1dc, 0xc1dd, 0xc1de,\n  0xc1df, 0xc1e0, 0xc1e1, 0xc1e2, 0xc1e3, 0xc1e4, 0xc1e5, 0xc1e6, 0xc1e7, 0xc1e8,\n  0xc1e9, 0xc1ea, 0xc1eb, 0xc1ec, 0xc1ed, 0xc1ee, 0xc1ef, 0xc1f0, 0xc1f1, 0xc1f2,\n  0xc1f3, 0xc1f4, 0xc1f5, 0xc1f6, 0xc1f7, 0xc1f8, 0xc1f9, 0xc1fa, 0xc1fb, 0xc1fc,\n  0xc1fd, 0xc1fe, 0xc2a1, 0xc2a2, 0xc2a3, 0xc2a4, 0xc2a5, 0xc2a6, 0xc2a7, 0xc2a8,\n  0xc2a9, 0xc2aa, 0xc2ab, 0xc2ac, 0xc2ad, 0xc2ae, 0xc2af, 0xc2b0, 0xc2b1, 0xc2b2,\n  0xc2b3, 0xc2b4, 0xc2b5, 0xc2b6, 0xc2b7, 0xc2b8, 0xc2b9, 0xc2ba, 0xc2bb, 0xc2bc,\n  0xc2bd, 0xc2be, 0xc2bf, 0xc2c0, 0xc2c1, 0xc2c2, 0xc2c3, 0xc2c4, 0xc2c5, 0xc2c6,\n  0xc2c7, 0xc2c8, 0xc2c9, 0xc2ca, 0xc2cb, 0xc2cc, 0xc2cd, 0xc2ce, 0xc2cf, 0xc2d0,\n  0xc2d1, 0xc2d2, 0xc2d3, 0xc2d4, 0xc2d5, 0xc2d6, 0xc2d7, 0xc2d8, 0xc2d9, 0xc2da,\n  0xc2db, 0xc2dc, 0xc2dd, 0xc2de, 0xc2df, 0xc2e0, 0xc2e1, 0xc2e2, 0xc2e3, 0xc2e4,\n  0xc2e5, 0xc2e6, 0xc2e7, 0xc2e8, 0xc2e9, 0xc2ea, 0xc2eb, 0xc2ec, 0xc2ed, 0xc2ee,\n  0xc2ef, 0xc2f0, 0xc2f1, 0xc2f2, 0xc2f3, 0xc2f4, 0xc2f5, 0xc2f6, 0xc2f7, 0xc2f8,\n  0xc2f9, 0xc2fa, 0xc2fb, 0xc2fc, 0xc2fd, 0xc2fe, 0xc3a1, 0xc3a2, 0xc3a3, 0xc3a4,\n  0xc3a5, 0xc3a6, 0xc3a7, 0xc3a8, 0xc3a9, 0xc3aa, 0xc3ab, 0xc3ac, 0xc3ad, 0xc3ae,\n  0xc3af, 0xc3b0, 0xc3b1, 0xc3b2, 0xc3b3, 0xc3b4, 0xc3b5, 0xc3b6, 0xc3b7, 0xc3b8,\n  0xc3b9, 0xc3ba, 0xc3bb, 0xc3bc, 0xc3bd, 0xc3be, 0xc3bf, 0xc3c0, 0xc3c1, 0xc3c2,\n  0xc3c3, 0xc3c4, 0xc3c5, 0xc3c6, 0xc3c7, 0xc3c8, 0xc3c9, 0xc3ca, 0xc3cb, 0xc3cc,\n  0xc3cd, 0xc3ce, 0xc3cf, 0xc3d0, 0xc3d1, 0xc3d2, 0xc3d3, 0xc3d4, 0xc3d5, 0xc3d6,\n  0xc3d7, 0xc3d8, 0xc3d9, 0xc3da, 0xc3db, 0xc3dc, 0xc3dd, 0xc3de, 0xc3df, 0xc3e0,\n  0xc3e1, 0xc3e2, 0xc3e3, 0xc3e4, 0xc3e5, 0xc3e6, 0xc3e7, 0xc3e8, 0xc3e9, 0xc3ea,\n  0xc3eb, 0xc3ec, 0xc3ed, 0xc3ee, 0xc3ef, 0xc3f0, 0xc3f1, 0xc3f2, 0xc3f3, 0xc3f4,\n  0xc3f5, 0xc3f6, 0xc3f7, 0xc3f8, 0xc3f9, 0xc3fa, 0xc3fb, 0xc3fc, 0xc3fd, 0xc3fe,\n  0xc4a1, 0xc4a2, 0xc4a3, 0xc4a4, 0xc4a5, 0xc4a6, 0xc4a7, 0xc4a8, 0xc4a9, 0xc4aa,\n  0xc4ab, 0xc4ac, 0xc4ad, 0xc4ae, 0xc4af, 0xc4b0, 0xc4b1, 0xc4b2, 0xc4b3, 0xc4b4,\n  0xc4b5, 0xc4b6, 0xc4b7, 0xc4b8, 0xc4b9, 0xc4ba, 0xc4bb, 0xc4bc, 0xc4bd, 0xc4be,\n  0xc4bf, 0xc4c0, 0xc4c1, 0xc4c2, 0xc4c3, 0xc4c4, 0xc4c5, 0xc4c6, 0xc4c7, 0xc4c8,\n  0xc4c9, 0xc4ca, 0xc4cb, 0xc4cc, 0xc4cd, 0xc4ce, 0xc4cf, 0xc4d0, 0xc4d1, 0xc4d2,\n  0xc4d3, 0xc4d4, 0xc4d5, 0xc4d6, 0xc4d7, 0xc4d8, 0xc4d9, 0xc4da, 0xc4db, 0xc4dc,\n  0xc4dd, 0xc4de, 0xc4df, 0xc4e0, 0xc4e1, 0xc4e2, 0xc4e3, 0xc4e4, 0xc4e5, 0xc4e6,\n  0xc4e7, 0xc4e8, 0xc4e9, 0xc4ea, 0xc4eb, 0xc4ec, 0xc4ed, 0xc4ee, 0xc4ef, 0xc4f0,\n  0xc4f1, 0xc4f2, 0xc4f3, 0xc4f4, 0xc4f5, 0xc4f6, 0xc4f7, 0xc4f8, 0xc4f9, 0xc4fa,\n  0xc4fb, 0xc4fc, 0xc4fd, 0xc4fe, 0xc5a1, 0xc5a2, 0xc5a3, 0xc5a4, 0xc5a5, 0xc5a6,\n  0xc5a7, 0xc5a8, 0xc5a9, 0xc5aa, 0xc5ab, 0xc5ac, 0xc5ad, 0xc5ae, 0xc5af, 0xc5b0,\n  0xc5b1, 0xc5b2, 0xc5b3, 0xc5b4, 0xc5b5, 0xc5b6, 0xc5b7, 0xc5b8, 0xc5b9, 0xc5ba,\n  0xc5bb, 0xc5bc, 0xc5bd, 0xc5be, 0xc5bf, 0xc5c0, 0xc5c1, 0xc5c2, 0xc5c3, 0xc5c4,\n  0xc5c5, 0xc5c6, 0xc5c7, 0xc5c8, 0xc5c9, 0xc5ca, 0xc5cb, 0xc5cc, 0xc5cd, 0xc5ce,\n  0xc5cf, 0xc5d0, 0xc5d1, 0xc5d2, 0xc5d3, 0xc5d4, 0xc5d5, 0xc5d6, 0xc5d7, 0xc5d8,\n  0xc5d9, 0xc5da, 0xc5db, 0xc5dc, 0xc5dd, 0xc5de, 0xc5df, 0xc5e0, 0xc5e1, 0xc5e2,\n  0xc5e3, 0xc5e4, 0xc5e5, 0xc5e6, 0xc5e7, 0xc5e8, 0xc5e9, 0xc5ea, 0xc5eb, 0xc5ec,\n  0xc5ed, 0xc5ee, 0xc5ef, 0xc5f0, 0xc5f1, 0xc5f2, 0xc5f3, 0xc5f4, 0xc5f5, 0xc5f6,\n  0xc5f7, 0xc5f8, 0xc5f9, 0xc5fa, 0xc5fb, 0xc5fc, 0xc5fd, 0xc5fe, 0xc6a1, 0xc6a2,\n  0xc6a3, 0xc6a4, 0xc6a5, 0xc6a6, 0xc6a7, 0xc6a8, 0xc6a9, 0xc6aa, 0xc6ab, 0xc6ac,\n  0xc6ad, 0xc6ae, 0xc6af, 0xc6b0, 0xc6b1, 0xc6b2, 0xc6b3, 0xc6b4, 0xc6b5, 0xc6b6,\n  0xc6b7, 0xc6b8, 0xc6b9, 0xc6ba, 0xc6bb, 0xc6bc, 0xc6bd, 0xc6be, 0xc6bf, 0xc6c0,\n  0xc6c1, 0xc6c2, 0xc6c3, 0xc6c4, 0xc6c5, 0xc6c6, 0xc6c7, 0xc6c8, 0xc6c9, 0xc6ca,\n  0xc6cb, 0xc6cc, 0xc6cd, 0xc6ce, 0xc6cf, 0xc6d0, 0xc6d1, 0xc6d2, 0xc6d3, 0xc6d4,\n  0xc6d5, 0xc6d6, 0xc6d7, 0xc6d8, 0xc6d9, 0xc6da, 0xc6db, 0xc6dc, 0xc6dd, 0xc6de,\n  0xc6df, 0xc6e0, 0xc6e1, 0xc6e2, 0xc6e3, 0xc6e4, 0xc6e5, 0xc6e6, 0xc6e7, 0xc6e8,\n  0xc6e9, 0xc6ea, 0xc6eb, 0xc6ec, 0xc6ed, 0xc6ee, 0xc6ef, 0xc6f0, 0xc6f1, 0xc6f2,\n  0xc6f3, 0xc6f4, 0xc6f5, 0xc6f6, 0xc6f7, 0xc6f8, 0xc6f9, 0xc6fa, 0xc6fb, 0xc6fc,\n  0xc6fd, 0xc6fe, 0xc7a1, 0xc7a2, 0xc7a3, 0xc7a4, 0xc7a5, 0xc7a6, 0xc7a7, 0xc7a8,\n  0xc7a9, 0xc7aa, 0xc7ab, 0xc7ac, 0xc7ad, 0xc7ae, 0xc7af, 0xc7b0, 0xc7b1, 0xc7b2,\n  0xc7b3, 0xc7b4, 0xc7b5, 0xc7b6, 0xc7b7, 0xc7b8, 0xc7b9, 0xc7ba, 0xc7bb, 0xc7bc,\n  0xc7bd, 0xc7be, 0xc7bf, 0xc7c0, 0xc7c1, 0xc7c2, 0xc7c3, 0xc7c4, 0xc7c5, 0xc7c6,\n  0xc7c7, 0xc7c8, 0xc7c9, 0xc7ca, 0xc7cb, 0xc7cc, 0xc7cd, 0xc7ce, 0xc7cf, 0xc7d0,\n  0xc7d1, 0xc7d2, 0xc7d3, 0xc7d4, 0xc7d5, 0xc7d6, 0xc7d7, 0xc7d8, 0xc7d9, 0xc7da,\n  0xc7db, 0xc7dc, 0xc7dd, 0xc7de, 0xc7df, 0xc7e0, 0xc7e1, 0xc7e2, 0xc7e3, 0xc7e4,\n  0xc7e5, 0xc7e6, 0xc7e7, 0xc7e8, 0xc7e9, 0xc7ea, 0xc7eb, 0xc7ec, 0xc7ed, 0xc7ee,\n  0xc7ef, 0xc7f0, 0xc7f1, 0xc7f2, 0xc7f3, 0xc7f4, 0xc7f5, 0xc7f6, 0xc7f7, 0xc7f8,\n  0xc7f9, 0xc7fa, 0xc7fb, 0xc7fc, 0xc7fd, 0xc7fe, 0xc8a1, 0xc8a2, 0xc8a3, 0xc8a4,\n  0xc8a5, 0xc8a6, 0xc8a7, 0xc8a8, 0xc8a9, 0xc8aa, 0xc8ab, 0xc8ac, 0xc8ad, 0xc8ae,\n  0xc8af, 0xc8b0, 0xc8b1, 0xc8b2, 0xc8b3, 0xc8b4, 0xc8b5, 0xc8b6, 0xc8b7, 0xc8b8,\n  0xc8b9, 0xc8ba, 0xc8bb, 0xc8bc, 0xc8bd, 0xc8be, 0xc8bf, 0xc8c0, 0xc8c1, 0xc8c2,\n  0xc8c3, 0xc8c4, 0xc8c5, 0xc8c6, 0xc8c7, 0xc8c8, 0xc8c9, 0xc8ca, 0xc8cb, 0xc8cc,\n  0xc8cd, 0xc8ce, 0xc8cf, 0xc8d0, 0xc8d1, 0xc8d2, 0xc8d3, 0xc8d4, 0xc8d5, 0xc8d6,\n  0xc8d7, 0xc8d8, 0xc8d9, 0xc8da, 0xc8db, 0xc8dc, 0xc8dd, 0xc8de, 0xc8df, 0xc8e0,\n  0xc8e1, 0xc8e2, 0xc8e3, 0xc8e4, 0xc8e5, 0xc8e6, 0xc8e7, 0xc8e8, 0xc8e9, 0xc8ea,\n  0xc8eb, 0xc8ec, 0xc8ed, 0xc8ee, 0xc8ef, 0xc8f0, 0xc8f1, 0xc8f2, 0xc8f3, 0xc8f4,\n  0xc8f5, 0xc8f6, 0xc8f7, 0xc8f8, 0xc8f9, 0xc8fa, 0xc8fb, 0xc8fc, 0xc8fd, 0xc8fe,\n  0xc9a1, 0xc9a2, 0xc9a3, 0xc9a4, 0xc9a5, 0xc9a6, 0xc9a7, 0xc9a8, 0xc9a9, 0xc9aa,\n  0xc9ab, 0xc9ac, 0xc9ad, 0xc9ae, 0xc9af, 0xc9b0, 0xc9b1, 0xc9b2, 0xc9b3, 0xc9b4,\n  0xc9b5, 0xc9b6, 0xc9b7, 0xc9b8, 0xc9b9, 0xc9ba, 0xc9bb, 0xc9bc, 0xc9bd, 0xc9be,\n  0xc9bf, 0xc9c0, 0xc9c1, 0xc9c2, 0xc9c3, 0xc9c4, 0xc9c5, 0xc9c6, 0xc9c7, 0xc9c8,\n  0xc9c9, 0xc9ca, 0xc9cb, 0xc9cc, 0xc9cd, 0xc9ce, 0xc9cf, 0xc9d0, 0xc9d1, 0xc9d2,\n  0xc9d3, 0xc9d4, 0xc9d5, 0xc9d6, 0xc9d7, 0xc9d8, 0xc9d9, 0xc9da, 0xc9db, 0xc9dc,\n  0xc9dd, 0xc9de, 0xc9df, 0xc9e0, 0xc9e1, 0xc9e2, 0xc9e3, 0xc9e4, 0xc9e5, 0xc9e6,\n  0xc9e7, 0xc9e8, 0xc9e9, 0xc9ea, 0xc9eb, 0xc9ec, 0xc9ed, 0xc9ee, 0xc9ef, 0xc9f0,\n  0xc9f1, 0xc9f2, 0xc9f3, 0xc9f4, 0xc9f5, 0xc9f6, 0xc9f7, 0xc9f8, 0xc9f9, 0xc9fa,\n  0xc9fb, 0xc9fc, 0xc9fd, 0xc9fe, 0xcaa1, 0xcaa2, 0xcaa3, 0xcaa4, 0xcaa5, 0xcaa6,\n  0xcaa7, 0xcaa8, 0xcaa9, 0xcaaa, 0xcaab, 0xcaac, 0xcaad, 0xcaae, 0xcaaf, 0xcab0,\n  0xcab1, 0xcab2, 0xcab3, 0xcab4, 0xcab5, 0xcab6, 0xcab7, 0xcab8, 0xcab9, 0xcaba,\n  0xcabb, 0xcabc, 0xcabd, 0xcabe, 0xcabf, 0xcac0, 0xcac1, 0xcac2, 0xcac3, 0xcac4,\n  0xcac5, 0xcac6, 0xcac7, 0xcac8, 0xcac9, 0xcaca, 0xcacb, 0xcacc, 0xcacd, 0xcace,\n  0xcacf, 0xcad0, 0xcad1, 0xcad2, 0xcad3, 0xcad4, 0xcad5, 0xcad6, 0xcad7, 0xcad8,\n  0xcad9, 0xcada, 0xcadb, 0xcadc, 0xcadd, 0xcade, 0xcadf, 0xcae0, 0xcae1, 0xcae2,\n  0xcae3, 0xcae4, 0xcae5, 0xcae6, 0xcae7, 0xcae8, 0xcae9, 0xcaea, 0xcaeb, 0xcaec,\n  0xcaed, 0xcaee, 0xcaef, 0xcaf0, 0xcaf1, 0xcaf2, 0xcaf3, 0xcaf4, 0xcaf5, 0xcaf6,\n  0xcaf7, 0xcaf8, 0xcaf9, 0xcafa, 0xcafb, 0xcafc, 0xcafd, 0xcafe, 0xcba1, 0xcba2,\n  0xcba3, 0xcba4, 0xcba5, 0xcba6, 0xcba7, 0xcba8, 0xcba9, 0xcbaa, 0xcbab, 0xcbac,\n  0xcbad, 0xcbae, 0xcbaf, 0xcbb0, 0xcbb1, 0xcbb2, 0xcbb3, 0xcbb4, 0xcbb5, 0xcbb6,\n  0xcbb7, 0xcbb8, 0xcbb9, 0xcbba, 0xcbbb, 0xcbbc, 0xcbbd, 0xcbbe, 0xcbbf, 0xcbc0,\n  0xcbc1, 0xcbc2, 0xcbc3, 0xcbc4, 0xcbc5, 0xcbc6, 0xcbc7, 0xcbc8, 0xcbc9, 0xcbca,\n  0xcbcb, 0xcbcc, 0xcbcd, 0xcbce, 0xcbcf, 0xcbd0, 0xcbd1, 0xcbd2, 0xcbd3, 0xcbd4,\n  0xcbd5, 0xcbd6, 0xcbd7, 0xcbd8, 0xcbd9, 0xcbda, 0xcbdb, 0xcbdc, 0xcbdd, 0xcbde,\n  0xcbdf, 0xcbe0, 0xcbe1, 0xcbe2, 0xcbe3, 0xcbe4, 0xcbe5, 0xcbe6, 0xcbe7, 0xcbe8,\n  0xcbe9, 0xcbea, 0xcbeb, 0xcbec, 0xcbed, 0xcbee, 0xcbef, 0xcbf0, 0xcbf1, 0xcbf2,\n  0xcbf3, 0xcbf4, 0xcbf5, 0xcbf6, 0xcbf7, 0xcbf8, 0xcbf9, 0xcbfa, 0xcbfb, 0xcbfc,\n  0xcbfd, 0xcbfe, 0xcca1, 0xcca2, 0xcca3, 0xcca4, 0xcca5, 0xcca6, 0xcca7, 0xcca8,\n  0xcca9, 0xccaa, 0xccab, 0xccac, 0xccad, 0xccae, 0xccaf, 0xccb0, 0xccb1, 0xccb2,\n  0xccb3, 0xccb4, 0xccb5, 0xccb6, 0xccb7, 0xccb8, 0xccb9, 0xccba, 0xccbb, 0xccbc,\n  0xccbd, 0xccbe, 0xccbf, 0xccc0, 0xccc1, 0xccc2, 0xccc3, 0xccc4, 0xccc5, 0xccc6,\n  0xccc7, 0xccc8, 0xccc9, 0xccca, 0xcccb, 0xcccc, 0xcccd, 0xccce, 0xcccf, 0xccd0,\n  0xccd1, 0xccd2, 0xccd3, 0xccd4, 0xccd5, 0xccd6, 0xccd7, 0xccd8, 0xccd9, 0xccda,\n  0xccdb, 0xccdc, 0xccdd, 0xccde, 0xccdf, 0xcce0, 0xcce1, 0xcce2, 0xcce3, 0xcce4,\n  0xcce5, 0xcce6, 0xcce7, 0xcce8, 0xcce9, 0xccea, 0xcceb, 0xccec, 0xcced, 0xccee,\n  0xccef, 0xccf0, 0xccf1, 0xccf2, 0xccf3, 0xccf4, 0xccf5, 0xccf6, 0xccf7, 0xccf8,\n  0xccf9, 0xccfa, 0xccfb, 0xccfc, 0xccfd, 0xccfe, 0xcda1, 0xcda2, 0xcda3, 0xcda4,\n  0xcda5, 0xcda6, 0xcda7, 0xcda8, 0xcda9, 0xcdaa, 0xcdab, 0xcdac, 0xcdad, 0xcdae,\n  0xcdaf, 0xcdb0, 0xcdb1, 0xcdb2, 0xcdb3, 0xcdb4, 0xcdb5, 0xcdb6, 0xcdb7, 0xcdb8,\n  0xcdb9, 0xcdba, 0xcdbb, 0xcdbc, 0xcdbd, 0xcdbe, 0xcdbf, 0xcdc0, 0xcdc1, 0xcdc2,\n  0xcdc3, 0xcdc4, 0xcdc5, 0xcdc6, 0xcdc7, 0xcdc8, 0xcdc9, 0xcdca, 0xcdcb, 0xcdcc,\n  0xcdcd, 0xcdce, 0xcdcf, 0xcdd0, 0xcdd1, 0xcdd2, 0xcdd3, 0xcdd4, 0xcdd5, 0xcdd6,\n  0xcdd7, 0xcdd8, 0xcdd9, 0xcdda, 0xcddb, 0xcddc, 0xcddd, 0xcdde, 0xcddf, 0xcde0,\n  0xcde1, 0xcde2, 0xcde3, 0xcde4, 0xcde5, 0xcde6, 0xcde7, 0xcde8, 0xcde9, 0xcdea,\n  0xcdeb, 0xcdec, 0xcded, 0xcdee, 0xcdef, 0xcdf0, 0xcdf1, 0xcdf2, 0xcdf3, 0xcdf4,\n  0xcdf5, 0xcdf6, 0xcdf7, 0xcdf8, 0xcdf9, 0xcdfa, 0xcdfb, 0xcdfc, 0xcdfd, 0xcdfe,\n  0xcea1, 0xcea2, 0xcea3, 0xcea4, 0xcea5, 0xcea6, 0xcea7, 0xcea8, 0xcea9, 0xceaa,\n  0xceab, 0xceac, 0xcead, 0xceae, 0xceaf, 0xceb0, 0xceb1, 0xceb2, 0xceb3, 0xceb4,\n  0xceb5, 0xceb6, 0xceb7, 0xceb8, 0xceb9, 0xceba, 0xcebb, 0xcebc, 0xcebd, 0xcebe,\n  0xcebf, 0xcec0, 0xcec1, 0xcec2, 0xcec3, 0xcec4, 0xcec5, 0xcec6, 0xcec7, 0xcec8,\n  0xcec9, 0xceca, 0xcecb, 0xcecc, 0xcecd, 0xcece, 0xcecf, 0xced0, 0xced1, 0xced2,\n  0xced3, 0xced4, 0xced5, 0xced6, 0xced7, 0xced8, 0xced9, 0xceda, 0xcedb, 0xcedc,\n  0xcedd, 0xcede, 0xcedf, 0xcee0, 0xcee1, 0xcee2, 0xcee3, 0xcee4, 0xcee5, 0xcee6,\n  0xcee7, 0xcee8, 0xcee9, 0xceea, 0xceeb, 0xceec, 0xceed, 0xceee, 0xceef, 0xcef0,\n  0xcef1, 0xcef2, 0xcef3, 0xcef4, 0xcef5, 0xcef6, 0xcef7, 0xcef8, 0xcef9, 0xcefa,\n  0xcefb, 0xcefc, 0xcefd, 0xcefe, 0xcfa1, 0xcfa2, 0xcfa3, 0xcfa4, 0xcfa5, 0xcfa6,\n  0xcfa7, 0xcfa8, 0xcfa9, 0xcfaa, 0xcfab, 0xcfac, 0xcfad, 0xcfae, 0xcfaf, 0xcfb0,\n  0xcfb1, 0xcfb2, 0xcfb3, 0xcfb4, 0xcfb5, 0xcfb6, 0xcfb7, 0xcfb8, 0xcfb9, 0xcfba,\n  0xcfbb, 0xcfbc, 0xcfbd, 0xcfbe, 0xcfbf, 0xcfc0, 0xcfc1, 0xcfc2, 0xcfc3, 0xcfc4,\n  0xcfc5, 0xcfc6, 0xcfc7, 0xcfc8, 0xcfc9, 0xcfca, 0xcfcb, 0xcfcc, 0xcfcd, 0xcfce,\n  0xcfcf, 0xcfd0, 0xcfd1, 0xcfd2, 0xcfd3, 0xcfd4, 0xcfd5, 0xcfd6, 0xcfd7, 0xcfd8,\n  0xcfd9, 0xcfda, 0xcfdb, 0xcfdc, 0xcfdd, 0xcfde, 0xcfdf, 0xcfe0, 0xcfe1, 0xcfe2,\n  0xcfe3, 0xcfe4, 0xcfe5, 0xcfe6, 0xcfe7, 0xcfe8, 0xcfe9, 0xcfea, 0xcfeb, 0xcfec,\n  0xcfed, 0xcfee, 0xcfef, 0xcff0, 0xcff1, 0xcff2, 0xcff3, 0xcff4, 0xcff5, 0xcff6,\n  0xcff7, 0xcff8, 0xcff9, 0xcffa, 0xcffb, 0xcffc, 0xcffd, 0xcffe, 0xd0a1, 0xd0a2,\n  0xd0a3, 0xd0a4, 0xd0a5, 0xd0a6, 0xd0a7, 0xd0a8, 0xd0a9, 0xd0aa, 0xd0ab, 0xd0ac,\n  0xd0ad, 0xd0ae, 0xd0af, 0xd0b0, 0xd0b1, 0xd0b2, 0xd0b3, 0xd0b4, 0xd0b5, 0xd0b6,\n  0xd0b7, 0xd0b8, 0xd0b9, 0xd0ba, 0xd0bb, 0xd0bc, 0xd0bd, 0xd0be, 0xd0bf, 0xd0c0,\n  0xd0c1, 0xd0c2, 0xd0c3, 0xd0c4, 0xd0c5, 0xd0c6, 0xd0c7, 0xd0c8, 0xd0c9, 0xd0ca,\n  0xd0cb, 0xd0cc, 0xd0cd, 0xd0ce, 0xd0cf, 0xd0d0, 0xd0d1, 0xd0d2, 0xd0d3, 0xd0d4,\n  0xd0d5, 0xd0d6, 0xd0d7, 0xd0d8, 0xd0d9, 0xd0da, 0xd0db, 0xd0dc, 0xd0dd, 0xd0de,\n  0xd0df, 0xd0e0, 0xd0e1, 0xd0e2, 0xd0e3, 0xd0e4, 0xd0e5, 0xd0e6, 0xd0e7, 0xd0e8,\n  0xd0e9, 0xd0ea, 0xd0eb, 0xd0ec, 0xd0ed, 0xd0ee, 0xd0ef, 0xd0f0, 0xd0f1, 0xd0f2,\n  0xd0f3, 0xd0f4, 0xd0f5, 0xd0f6, 0xd0f7, 0xd0f8, 0xd0f9, 0xd0fa, 0xd0fb, 0xd0fc,\n  0xd0fd, 0xd0fe, 0xd1a1, 0xd1a2, 0xd1a3, 0xd1a4, 0xd1a5, 0xd1a6, 0xd1a7, 0xd1a8,\n  0xd1a9, 0xd1aa, 0xd1ab, 0xd1ac, 0xd1ad, 0xd1ae, 0xd1af, 0xd1b0, 0xd1b1, 0xd1b2,\n  0xd1b3, 0xd1b4, 0xd1b5, 0xd1b6, 0xd1b7, 0xd1b8, 0xd1b9, 0xd1ba, 0xd1bb, 0xd1bc,\n  0xd1bd, 0xd1be, 0xd1bf, 0xd1c0, 0xd1c1, 0xd1c2, 0xd1c3, 0xd1c4, 0xd1c5, 0xd1c6,\n  0xd1c7, 0xd1c8, 0xd1c9, 0xd1ca, 0xd1cb, 0xd1cc, 0xd1cd, 0xd1ce, 0xd1cf, 0xd1d0,\n  0xd1d1, 0xd1d2, 0xd1d3, 0xd1d4, 0xd1d5, 0xd1d6, 0xd1d7, 0xd1d8, 0xd1d9, 0xd1da,\n  0xd1db, 0xd1dc, 0xd1dd, 0xd1de, 0xd1df, 0xd1e0, 0xd1e1, 0xd1e2, 0xd1e3, 0xd1e4,\n  0xd1e5, 0xd1e6, 0xd1e7, 0xd1e8, 0xd1e9, 0xd1ea, 0xd1eb, 0xd1ec, 0xd1ed, 0xd1ee,\n  0xd1ef, 0xd1f0, 0xd1f1, 0xd1f2, 0xd1f3, 0xd1f4, 0xd1f5, 0xd1f6, 0xd1f7, 0xd1f8,\n  0xd1f9, 0xd1fa, 0xd1fb, 0xd1fc, 0xd1fd, 0xd1fe, 0xd2a1, 0xd2a2, 0xd2a3, 0xd2a4,\n  0xd2a5, 0xd2a6, 0xd2a7, 0xd2a8, 0xd2a9, 0xd2aa, 0xd2ab, 0xd2ac, 0xd2ad, 0xd2ae,\n  0xd2af, 0xd2b0, 0xd2b1, 0xd2b2, 0xd2b3, 0xd2b4, 0xd2b5, 0xd2b6, 0xd2b7, 0xd2b8,\n  0xd2b9, 0xd2ba, 0xd2bb, 0xd2bc, 0xd2bd, 0xd2be, 0xd2bf, 0xd2c0, 0xd2c1, 0xd2c2,\n  0xd2c3, 0xd2c4, 0xd2c5, 0xd2c6, 0xd2c7, 0xd2c8, 0xd2c9, 0xd2ca, 0xd2cb, 0xd2cc,\n  0xd2cd, 0xd2ce, 0xd2cf, 0xd2d0, 0xd2d1, 0xd2d2, 0xd2d3, 0xd2d4, 0xd2d5, 0xd2d6,\n  0xd2d7, 0xd2d8, 0xd2d9, 0xd2da, 0xd2db, 0xd2dc, 0xd2dd, 0xd2de, 0xd2df, 0xd2e0,\n  0xd2e1, 0xd2e2, 0xd2e3, 0xd2e4, 0xd2e5, 0xd2e6, 0xd2e7, 0xd2e8, 0xd2e9, 0xd2ea,\n  0xd2eb, 0xd2ec, 0xd2ed, 0xd2ee, 0xd2ef, 0xd2f0, 0xd2f1, 0xd2f2, 0xd2f3, 0xd2f4,\n  0xd2f5, 0xd2f6, 0xd2f7, 0xd2f8, 0xd2f9, 0xd2fa, 0xd2fb, 0xd2fc, 0xd2fd, 0xd2fe,\n  0xd3a1, 0xd3a2, 0xd3a3, 0xd3a4, 0xd3a5, 0xd3a6, 0xd3a7, 0xd3a8, 0xd3a9, 0xd3aa,\n  0xd3ab, 0xd3ac, 0xd3ad, 0xd3ae, 0xd3af, 0xd3b0, 0xd3b1, 0xd3b2, 0xd3b3, 0xd3b4,\n  0xd3b5, 0xd3b6, 0xd3b7, 0xd3b8, 0xd3b9, 0xd3ba, 0xd3bb, 0xd3bc, 0xd3bd, 0xd3be,\n  0xd3bf, 0xd3c0, 0xd3c1, 0xd3c2, 0xd3c3, 0xd3c4, 0xd3c5, 0xd3c6, 0xd3c7, 0xd3c8,\n  0xd3c9, 0xd3ca, 0xd3cb, 0xd3cc, 0xd3cd, 0xd3ce, 0xd3cf, 0xd3d0, 0xd3d1, 0xd3d2,\n  0xd3d3, 0xd3d4, 0xd3d5, 0xd3d6, 0xd3d7, 0xd3d8, 0xd3d9, 0xd3da, 0xd3db, 0xd3dc,\n  0xd3dd, 0xd3de, 0xd3df, 0xd3e0, 0xd3e1, 0xd3e2, 0xd3e3, 0xd3e4, 0xd3e5, 0xd3e6,\n  0xd3e7, 0xd3e8, 0xd3e9, 0xd3ea, 0xd3eb, 0xd3ec, 0xd3ed, 0xd3ee, 0xd3ef, 0xd3f0,\n  0xd3f1, 0xd3f2, 0xd3f3, 0xd3f4, 0xd3f5, 0xd3f6, 0xd3f7, 0xd3f8, 0xd3f9, 0xd3fa,\n  0xd3fb, 0xd3fc, 0xd3fd, 0xd3fe, 0xd4a1, 0xd4a2, 0xd4a3, 0xd4a4, 0xd4a5, 0xd4a6,\n  0xd4a7, 0xd4a8, 0xd4a9, 0xd4aa, 0xd4ab, 0xd4ac, 0xd4ad, 0xd4ae, 0xd4af, 0xd4b0,\n  0xd4b1, 0xd4b2, 0xd4b3, 0xd4b4, 0xd4b5, 0xd4b6, 0xd4b7, 0xd4b8, 0xd4b9, 0xd4ba,\n  0xd4bb, 0xd4bc, 0xd4bd, 0xd4be, 0xd4bf, 0xd4c0, 0xd4c1, 0xd4c2, 0xd4c3, 0xd4c4,\n  0xd4c5, 0xd4c6, 0xd4c7, 0xd4c8, 0xd4c9, 0xd4ca, 0xd4cb, 0xd4cc, 0xd4cd, 0xd4ce,\n  0xd4cf, 0xd4d0, 0xd4d1, 0xd4d2, 0xd4d3, 0xd4d4, 0xd4d5, 0xd4d6, 0xd4d7, 0xd4d8,\n  0xd4d9, 0xd4da, 0xd4db, 0xd4dc, 0xd4dd, 0xd4de, 0xd4df, 0xd4e0, 0xd4e1, 0xd4e2,\n  0xd4e3, 0xd4e4, 0xd4e5, 0xd4e6, 0xd4e7, 0xd4e8, 0xd4e9, 0xd4ea, 0xd4eb, 0xd4ec,\n  0xd4ed, 0xd4ee, 0xd4ef, 0xd4f0, 0xd4f1, 0xd4f2, 0xd4f3, 0xd4f4, 0xd4f5, 0xd4f6,\n  0xd4f7, 0xd4f8, 0xd4f9, 0xd4fa, 0xd4fb, 0xd4fc, 0xd4fd, 0xd4fe, 0xd5a1, 0xd5a2,\n  0xd5a3, 0xd5a4, 0xd5a5, 0xd5a6, 0xd5a7, 0xd5a8, 0xd5a9, 0xd5aa, 0xd5ab, 0xd5ac,\n  0xd5ad, 0xd5ae, 0xd5af, 0xd5b0, 0xd5b1, 0xd5b2, 0xd5b3, 0xd5b4, 0xd5b5, 0xd5b6,\n  0xd5b7, 0xd5b8, 0xd5b9, 0xd5ba, 0xd5bb, 0xd5bc, 0xd5bd, 0xd5be, 0xd5bf, 0xd5c0,\n  0xd5c1, 0xd5c2, 0xd5c3, 0xd5c4, 0xd5c5, 0xd5c6, 0xd5c7, 0xd5c8, 0xd5c9, 0xd5ca,\n  0xd5cb, 0xd5cc, 0xd5cd, 0xd5ce, 0xd5cf, 0xd5d0, 0xd5d1, 0xd5d2, 0xd5d3, 0xd5d4,\n  0xd5d5, 0xd5d6, 0xd5d7, 0xd5d8, 0xd5d9, 0xd5da, 0xd5db, 0xd5dc, 0xd5dd, 0xd5de,\n  0xd5df, 0xd5e0, 0xd5e1, 0xd5e2, 0xd5e3, 0xd5e4, 0xd5e5, 0xd5e6, 0xd5e7, 0xd5e8,\n  0xd5e9, 0xd5ea, 0xd5eb, 0xd5ec, 0xd5ed, 0xd5ee, 0xd5ef, 0xd5f0, 0xd5f1, 0xd5f2,\n  0xd5f3, 0xd5f4, 0xd5f5, 0xd5f6, 0xd5f7, 0xd5f8, 0xd5f9, 0xd5fa, 0xd5fb, 0xd5fc,\n  0xd5fd, 0xd5fe, 0xd6a1, 0xd6a2, 0xd6a3, 0xd6a4, 0xd6a5, 0xd6a6, 0xd6a7, 0xd6a8,\n  0xd6a9, 0xd6aa, 0xd6ab, 0xd6ac, 0xd6ad, 0xd6ae, 0xd6af, 0xd6b0, 0xd6b1, 0xd6b2,\n  0xd6b3, 0xd6b4, 0xd6b5, 0xd6b6, 0xd6b7, 0xd6b8, 0xd6b9, 0xd6ba, 0xd6bb, 0xd6bc,\n  0xd6bd, 0xd6be, 0xd6bf, 0xd6c0, 0xd6c1, 0xd6c2, 0xd6c3, 0xd6c4, 0xd6c5, 0xd6c6,\n  0xd6c7, 0xd6c8, 0xd6c9, 0xd6ca, 0xd6cb, 0xd6cc, 0xd6cd, 0xd6ce, 0xd6cf, 0xd6d0,\n  0xd6d1, 0xd6d2, 0xd6d3, 0xd6d4, 0xd6d5, 0xd6d6, 0xd6d7, 0xd6d8, 0xd6d9, 0xd6da,\n  0xd6db, 0xd6dc, 0xd6dd, 0xd6de, 0xd6df, 0xd6e0, 0xd6e1, 0xd6e2, 0xd6e3, 0xd6e4,\n  0xd6e5, 0xd6e6, 0xd6e7, 0xd6e8, 0xd6e9, 0xd6ea, 0xd6eb, 0xd6ec, 0xd6ed, 0xd6ee,\n  0xd6ef, 0xd6f0, 0xd6f1, 0xd6f2, 0xd6f3, 0xd6f4, 0xd6f5, 0xd6f6, 0xd6f7, 0xd6f8,\n  0xd6f9, 0xd6fa, 0xd6fb, 0xd6fc, 0xd6fd, 0xd6fe, 0xd7a1, 0xd7a2, 0xd7a3, 0xd7a4,\n  0xd7a5, 0xd7a6, 0xd7a7, 0xd7a8, 0xd7a9, 0xd7aa, 0xd7ab, 0xd7ac, 0xd7ad, 0xd7ae,\n  0xd7af, 0xd7b0, 0xd7b1, 0xd7b2, 0xd7b3, 0xd7b4, 0xd7b5, 0xd7b6, 0xd7b7, 0xd7b8,\n  0xd7b9, 0xd7ba, 0xd7bb, 0xd7bc, 0xd7bd, 0xd7be, 0xd7bf, 0xd7c0, 0xd7c1, 0xd7c2,\n  0xd7c3, 0xd7c4, 0xd7c5, 0xd7c6, 0xd7c7, 0xd7c8, 0xd7c9, 0xd7ca, 0xd7cb, 0xd7cc,\n  0xd7cd, 0xd7ce, 0xd7cf, 0xd7d0, 0xd7d1, 0xd7d2, 0xd7d3, 0xd7d4, 0xd7d5, 0xd7d6,\n  0xd7d7, 0xd7d8, 0xd7d9, 0xd7da, 0xd7db, 0xd7dc, 0xd7dd, 0xd7de, 0xd7df, 0xd7e0,\n  0xd7e1, 0xd7e2, 0xd7e3, 0xd7e4, 0xd7e5, 0xd7e6, 0xd7e7, 0xd7e8, 0xd7e9, 0xd7ea,\n  0xd7eb, 0xd7ec, 0xd7ed, 0xd7ee, 0xd7ef, 0xd7f0, 0xd7f1, 0xd7f2, 0xd7f3, 0xd7f4,\n  0xd7f5, 0xd7f6, 0xd7f7, 0xd7f8, 0xd7f9, 0xd8a1, 0xd8a2, 0xd8a3, 0xd8a4, 0xd8a5,\n  0xd8a6, 0xd8a7, 0xd8a8, 0xd8a9, 0xd8aa, 0xd8ab, 0xd8ac, 0xd8ad, 0xd8ae, 0xd8af,\n  0xd8b0, 0xd8b1, 0xd8b2, 0xd8b3, 0xd8b4, 0xd8b5, 0xd8b6, 0xd8b7, 0xd8b8, 0xd8b9,\n  0xd8ba, 0xd8bb, 0xd8bc, 0xd8bd, 0xd8be, 0xd8bf, 0xd8c0, 0xd8c1, 0xd8c2, 0xd8c3,\n  0xd8c4, 0xd8c5, 0xd8c6, 0xd8c7, 0xd8c8, 0xd8c9, 0xd8ca, 0xd8cb, 0xd8cc, 0xd8cd,\n  0xd8ce, 0xd8cf, 0xd8d0, 0xd8d1, 0xd8d2, 0xd8d3, 0xd8d4, 0xd8d5, 0xd8d6, 0xd8d7,\n  0xd8d8, 0xd8d9, 0xd8da, 0xd8db, 0xd8dc, 0xd8dd, 0xd8de, 0xd8df, 0xd8e0, 0xd8e1,\n  0xd8e2, 0xd8e3, 0xd8e4, 0xd8e5, 0xd8e6, 0xd8e7, 0xd8e8, 0xd8e9, 0xd8ea, 0xd8eb,\n  0xd8ec, 0xd8ed, 0xd8ee, 0xd8ef, 0xd8f0, 0xd8f1, 0xd8f2, 0xd8f3, 0xd8f4, 0xd8f5,\n  0xd8f6, 0xd8f7, 0xd8f8, 0xd8f9, 0xd8fa, 0xd8fb, 0xd8fc, 0xd8fd, 0xd8fe, 0xd9a1,\n  0xd9a2, 0xd9a3, 0xd9a4, 0xd9a5, 0xd9a6, 0xd9a7, 0xd9a8, 0xd9a9, 0xd9aa, 0xd9ab,\n  0xd9ac, 0xd9ad, 0xd9ae, 0xd9af, 0xd9b0, 0xd9b1, 0xd9b2, 0xd9b3, 0xd9b4, 0xd9b5,\n  0xd9b6, 0xd9b7, 0xd9b8, 0xd9b9, 0xd9ba, 0xd9bb, 0xd9bc, 0xd9bd, 0xd9be, 0xd9bf,\n  0xd9c0, 0xd9c1, 0xd9c2, 0xd9c3, 0xd9c4, 0xd9c5, 0xd9c6, 0xd9c7, 0xd9c8, 0xd9c9,\n  0xd9ca, 0xd9cb, 0xd9cc, 0xd9cd, 0xd9ce, 0xd9cf, 0xd9d0, 0xd9d1, 0xd9d2, 0xd9d3,\n  0xd9d4, 0xd9d5, 0xd9d6, 0xd9d7, 0xd9d8, 0xd9d9, 0xd9da, 0xd9db, 0xd9dc, 0xd9dd,\n  0xd9de, 0xd9df, 0xd9e0, 0xd9e1, 0xd9e2, 0xd9e3, 0xd9e4, 0xd9e5, 0xd9e6, 0xd9e7,\n  0xd9e8, 0xd9e9, 0xd9ea, 0xd9eb, 0xd9ec, 0xd9ed, 0xd9ee, 0xd9ef, 0xd9f0, 0xd9f1,\n  0xd9f2, 0xd9f3, 0xd9f4, 0xd9f5, 0xd9f6, 0xd9f7, 0xd9f8, 0xd9f9, 0xd9fa, 0xd9fb,\n  0xd9fc, 0xd9fd, 0xd9fe, 0xdaa1, 0xdaa2, 0xdaa3, 0xdaa4, 0xdaa5, 0xdaa6, 0xdaa7,\n  0xdaa8, 0xdaa9, 0xdaaa, 0xdaab, 0xdaac, 0xdaad, 0xdaae, 0xdaaf, 0xdab0, 0xdab1,\n  0xdab2, 0xdab3, 0xdab4, 0xdab5, 0xdab6, 0xdab7, 0xdab8, 0xdab9, 0xdaba, 0xdabb,\n  0xdabc, 0xdabd, 0xdabe, 0xdabf, 0xdac0, 0xdac1, 0xdac2, 0xdac3, 0xdac4, 0xdac5,\n  0xdac6, 0xdac7, 0xdac8, 0xdac9, 0xdaca, 0xdacb, 0xdacc, 0xdacd, 0xdace, 0xdacf,\n  0xdad0, 0xdad1, 0xdad2, 0xdad3, 0xdad4, 0xdad5, 0xdad6, 0xdad7, 0xdad8, 0xdad9,\n  0xdada, 0xdadb, 0xdadc, 0xdadd, 0xdade, 0xdadf, 0xdae0, 0xdae1, 0xdae2, 0xdae3,\n  0xdae4, 0xdae5, 0xdae6, 0xdae7, 0xdae8, 0xdae9, 0xdaea, 0xdaeb, 0xdaec, 0xdaed,\n  0xdaee, 0xdaef, 0xdaf0, 0xdaf1, 0xdaf2, 0xdaf3, 0xdaf4, 0xdaf5, 0xdaf6, 0xdaf7,\n  0xdaf8, 0xdaf9, 0xdafa, 0xdafb, 0xdafc, 0xdafd, 0xdafe, 0xdba1, 0xdba2, 0xdba3,\n  0xdba4, 0xdba5, 0xdba6, 0xdba7, 0xdba8, 0xdba9, 0xdbaa, 0xdbab, 0xdbac, 0xdbad,\n  0xdbae, 0xdbaf, 0xdbb0, 0xdbb1, 0xdbb2, 0xdbb3, 0xdbb4, 0xdbb5, 0xdbb6, 0xdbb7,\n  0xdbb8, 0xdbb9, 0xdbba, 0xdbbb, 0xdbbc, 0xdbbd, 0xdbbe, 0xdbbf, 0xdbc0, 0xdbc1,\n  0xdbc2, 0xdbc3, 0xdbc4, 0xdbc5, 0xdbc6, 0xdbc7, 0xdbc8, 0xdbc9, 0xdbca, 0xdbcb,\n  0xdbcc, 0xdbcd, 0xdbce, 0xdbcf, 0xdbd0, 0xdbd1, 0xdbd2, 0xdbd3, 0xdbd4, 0xdbd5,\n  0xdbd6, 0xdbd7, 0xdbd8, 0xdbd9, 0xdbda, 0xdbdb, 0xdbdc, 0xdbdd, 0xdbde, 0xdbdf,\n  0xdbe0, 0xdbe1, 0xdbe2, 0xdbe3, 0xdbe4, 0xdbe5, 0xdbe6, 0xdbe7, 0xdbe8, 0xdbe9,\n  0xdbea, 0xdbeb, 0xdbec, 0xdbed, 0xdbee, 0xdbef, 0xdbf0, 0xdbf1, 0xdbf2, 0xdbf3,\n  0xdbf4, 0xdbf5, 0xdbf6, 0xdbf7, 0xdbf8, 0xdbf9, 0xdbfa, 0xdbfb, 0xdbfc, 0xdbfd,\n  0xdbfe, 0xdca1, 0xdca2, 0xdca3, 0xdca4, 0xdca5, 0xdca6, 0xdca7, 0xdca8, 0xdca9,\n  0xdcaa, 0xdcab, 0xdcac, 0xdcad, 0xdcae, 0xdcaf, 0xdcb0, 0xdcb1, 0xdcb2, 0xdcb3,\n  0xdcb4, 0xdcb5, 0xdcb6, 0xdcb7, 0xdcb8, 0xdcb9, 0xdcba, 0xdcbb, 0xdcbc, 0xdcbd,\n  0xdcbe, 0xdcbf, 0xdcc0, 0xdcc1, 0xdcc2, 0xdcc3, 0xdcc4, 0xdcc5, 0xdcc6, 0xdcc7,\n  0xdcc8, 0xdcc9, 0xdcca, 0xdccb, 0xdccc, 0xdccd, 0xdcce, 0xdccf, 0xdcd0, 0xdcd1,\n  0xdcd2, 0xdcd3, 0xdcd4, 0xdcd5, 0xdcd6, 0xdcd7, 0xdcd8, 0xdcd9, 0xdcda, 0xdcdb,\n  0xdcdc, 0xdcdd, 0xdcde, 0xdcdf, 0xdce0, 0xdce1, 0xdce2, 0xdce3, 0xdce4, 0xdce5,\n  0xdce6, 0xdce7, 0xdce8, 0xdce9, 0xdcea, 0xdceb, 0xdcec, 0xdced, 0xdcee, 0xdcef,\n  0xdcf0, 0xdcf1, 0xdcf2, 0xdcf3, 0xdcf4, 0xdcf5, 0xdcf6, 0xdcf7, 0xdcf8, 0xdcf9,\n  0xdcfa, 0xdcfb, 0xdcfc, 0xdcfd, 0xdcfe, 0xdda1, 0xdda2, 0xdda3, 0xdda4, 0xdda5,\n  0xdda6, 0xdda7, 0xdda8, 0xdda9, 0xddaa, 0xddab, 0xddac, 0xddad, 0xddae, 0xddaf,\n  0xddb0, 0xddb1, 0xddb2, 0xddb3, 0xddb4, 0xddb5, 0xddb6, 0xddb7, 0xddb8, 0xddb9,\n  0xddba, 0xddbb, 0xddbc, 0xddbd, 0xddbe, 0xddbf, 0xddc0, 0xddc1, 0xddc2, 0xddc3,\n  0xddc4, 0xddc5, 0xddc6, 0xddc7, 0xddc8, 0xddc9, 0xddca, 0xddcb, 0xddcc, 0xddcd,\n  0xddce, 0xddcf, 0xddd0, 0xddd1, 0xddd2, 0xddd3, 0xddd4, 0xddd5, 0xddd6, 0xddd7,\n  0xddd8, 0xddd9, 0xddda, 0xdddb, 0xdddc, 0xdddd, 0xddde, 0xdddf, 0xdde0, 0xdde1,\n  0xdde2, 0xdde3, 0xdde4, 0xdde5, 0xdde6, 0xdde7, 0xdde8, 0xdde9, 0xddea, 0xddeb,\n  0xddec, 0xdded, 0xddee, 0xddef, 0xddf0, 0xddf1, 0xddf2, 0xddf3, 0xddf4, 0xddf5,\n  0xddf6, 0xddf7, 0xddf8, 0xddf9, 0xddfa, 0xddfb, 0xddfc, 0xddfd, 0xddfe, 0xdea1,\n  0xdea2, 0xdea3, 0xdea4, 0xdea5, 0xdea6, 0xdea7, 0xdea8, 0xdea9, 0xdeaa, 0xdeab,\n  0xdeac, 0xdead, 0xdeae, 0xdeaf, 0xdeb0, 0xdeb1, 0xdeb2, 0xdeb3, 0xdeb4, 0xdeb5,\n  0xdeb6, 0xdeb7, 0xdeb8, 0xdeb9, 0xdeba, 0xdebb, 0xdebc, 0xdebd, 0xdebe, 0xdebf,\n  0xdec0, 0xdec1, 0xdec2, 0xdec3, 0xdec4, 0xdec5, 0xdec6, 0xdec7, 0xdec8, 0xdec9,\n  0xdeca, 0xdecb, 0xdecc, 0xdecd, 0xdece, 0xdecf, 0xded0, 0xded1, 0xded2, 0xded3,\n  0xded4, 0xded5, 0xded6, 0xded7, 0xded8, 0xded9, 0xdeda, 0xdedb, 0xdedc, 0xdedd,\n  0xdede, 0xdedf, 0xdee0, 0xdee1, 0xdee2, 0xdee3, 0xdee4, 0xdee5, 0xdee6, 0xdee7,\n  0xdee8, 0xdee9, 0xdeea, 0xdeeb, 0xdeec, 0xdeed, 0xdeee, 0xdeef, 0xdef0, 0xdef1,\n  0xdef2, 0xdef3, 0xdef4, 0xdef5, 0xdef6, 0xdef7, 0xdef8, 0xdef9, 0xdefa, 0xdefb,\n  0xdefc, 0xdefd, 0xdefe, 0xdfa1, 0xdfa2, 0xdfa3, 0xdfa4, 0xdfa5, 0xdfa6, 0xdfa7,\n  0xdfa8, 0xdfa9, 0xdfaa, 0xdfab, 0xdfac, 0xdfad, 0xdfae, 0xdfaf, 0xdfb0, 0xdfb1,\n  0xdfb2, 0xdfb3, 0xdfb4, 0xdfb5, 0xdfb6, 0xdfb7, 0xdfb8, 0xdfb9, 0xdfba, 0xdfbb,\n  0xdfbc, 0xdfbd, 0xdfbe, 0xdfbf, 0xdfc0, 0xdfc1, 0xdfc2, 0xdfc3, 0xdfc4, 0xdfc5,\n  0xdfc6, 0xdfc7, 0xdfc8, 0xdfc9, 0xdfca, 0xdfcb, 0xdfcc, 0xdfcd, 0xdfce, 0xdfcf,\n  0xdfd0, 0xdfd1, 0xdfd2, 0xdfd3, 0xdfd4, 0xdfd5, 0xdfd6, 0xdfd7, 0xdfd8, 0xdfd9,\n  0xdfda, 0xdfdb, 0xdfdc, 0xdfdd, 0xdfde, 0xdfdf, 0xdfe0, 0xdfe1, 0xdfe2, 0xdfe3,\n  0xdfe4, 0xdfe5, 0xdfe6, 0xdfe7, 0xdfe8, 0xdfe9, 0xdfea, 0xdfeb, 0xdfec, 0xdfed,\n  0xdfee, 0xdfef, 0xdff0, 0xdff1, 0xdff2, 0xdff3, 0xdff4, 0xdff5, 0xdff6, 0xdff7,\n  0xdff8, 0xdff9, 0xdffa, 0xdffb, 0xdffc, 0xdffd, 0xdffe, 0xe0a1, 0xe0a2, 0xe0a3,\n  0xe0a4, 0xe0a5, 0xe0a6, 0xe0a7, 0xe0a8, 0xe0a9, 0xe0aa, 0xe0ab, 0xe0ac, 0xe0ad,\n  0xe0ae, 0xe0af, 0xe0b0, 0xe0b1, 0xe0b2, 0xe0b3, 0xe0b4, 0xe0b5, 0xe0b6, 0xe0b7,\n  0xe0b8, 0xe0b9, 0xe0ba, 0xe0bb, 0xe0bc, 0xe0bd, 0xe0be, 0xe0bf, 0xe0c0, 0xe0c1,\n  0xe0c2, 0xe0c3, 0xe0c4, 0xe0c5, 0xe0c6, 0xe0c7, 0xe0c8, 0xe0c9, 0xe0ca, 0xe0cb,\n  0xe0cc, 0xe0cd, 0xe0ce, 0xe0cf, 0xe0d0, 0xe0d1, 0xe0d2, 0xe0d3, 0xe0d4, 0xe0d5,\n  0xe0d6, 0xe0d7, 0xe0d8, 0xe0d9, 0xe0da, 0xe0db, 0xe0dc, 0xe0dd, 0xe0de, 0xe0df,\n  0xe0e0, 0xe0e1, 0xe0e2, 0xe0e3, 0xe0e4, 0xe0e5, 0xe0e6, 0xe0e7, 0xe0e8, 0xe0e9,\n  0xe0ea, 0xe0eb, 0xe0ec, 0xe0ed, 0xe0ee, 0xe0ef, 0xe0f0, 0xe0f1, 0xe0f2, 0xe0f3,\n  0xe0f4, 0xe0f5, 0xe0f6, 0xe0f7, 0xe0f8, 0xe0f9, 0xe0fa, 0xe0fb, 0xe0fc, 0xe0fd,\n  0xe0fe, 0xe1a1, 0xe1a2, 0xe1a3, 0xe1a4, 0xe1a5, 0xe1a6, 0xe1a7, 0xe1a8, 0xe1a9,\n  0xe1aa, 0xe1ab, 0xe1ac, 0xe1ad, 0xe1ae, 0xe1af, 0xe1b0, 0xe1b1, 0xe1b2, 0xe1b3,\n  0xe1b4, 0xe1b5, 0xe1b6, 0xe1b7, 0xe1b8, 0xe1b9, 0xe1ba, 0xe1bb, 0xe1bc, 0xe1bd,\n  0xe1be, 0xe1bf, 0xe1c0, 0xe1c1, 0xe1c2, 0xe1c3, 0xe1c4, 0xe1c5, 0xe1c6, 0xe1c7,\n  0xe1c8, 0xe1c9, 0xe1ca, 0xe1cb, 0xe1cc, 0xe1cd, 0xe1ce, 0xe1cf, 0xe1d0, 0xe1d1,\n  0xe1d2, 0xe1d3, 0xe1d4, 0xe1d5, 0xe1d6, 0xe1d7, 0xe1d8, 0xe1d9, 0xe1da, 0xe1db,\n  0xe1dc, 0xe1dd, 0xe1de, 0xe1df, 0xe1e0, 0xe1e1, 0xe1e2, 0xe1e3, 0xe1e4, 0xe1e5,\n  0xe1e6, 0xe1e7, 0xe1e8, 0xe1e9, 0xe1ea, 0xe1eb, 0xe1ec, 0xe1ed, 0xe1ee, 0xe1ef,\n  0xe1f0, 0xe1f1, 0xe1f2, 0xe1f3, 0xe1f4, 0xe1f5, 0xe1f6, 0xe1f7, 0xe1f8, 0xe1f9,\n  0xe1fa, 0xe1fb, 0xe1fc, 0xe1fd, 0xe1fe, 0xe2a1, 0xe2a2, 0xe2a3, 0xe2a4, 0xe2a5,\n  0xe2a6, 0xe2a7, 0xe2a8, 0xe2a9, 0xe2aa, 0xe2ab, 0xe2ac, 0xe2ad, 0xe2ae, 0xe2af,\n  0xe2b0, 0xe2b1, 0xe2b2, 0xe2b3, 0xe2b4, 0xe2b5, 0xe2b6, 0xe2b7, 0xe2b8, 0xe2b9,\n  0xe2ba, 0xe2bb, 0xe2bc, 0xe2bd, 0xe2be, 0xe2bf, 0xe2c0, 0xe2c1, 0xe2c2, 0xe2c3,\n  0xe2c4, 0xe2c5, 0xe2c6, 0xe2c7, 0xe2c8, 0xe2c9, 0xe2ca, 0xe2cb, 0xe2cc, 0xe2cd,\n  0xe2ce, 0xe2cf, 0xe2d0, 0xe2d1, 0xe2d2, 0xe2d3, 0xe2d4, 0xe2d5, 0xe2d6, 0xe2d7,\n  0xe2d8, 0xe2d9, 0xe2da, 0xe2db, 0xe2dc, 0xe2dd, 0xe2de, 0xe2df, 0xe2e0, 0xe2e1,\n  0xe2e2, 0xe2e3, 0xe2e4, 0xe2e5, 0xe2e6, 0xe2e7, 0xe2e8, 0xe2e9, 0xe2ea, 0xe2eb,\n  0xe2ec, 0xe2ed, 0xe2ee, 0xe2ef, 0xe2f0, 0xe2f1, 0xe2f2, 0xe2f3, 0xe2f4, 0xe2f5,\n  0xe2f6, 0xe2f7, 0xe2f8, 0xe2f9, 0xe2fa, 0xe2fb, 0xe2fc, 0xe2fd, 0xe2fe, 0xe3a1,\n  0xe3a2, 0xe3a3, 0xe3a4, 0xe3a5, 0xe3a6, 0xe3a7, 0xe3a8, 0xe3a9, 0xe3aa, 0xe3ab,\n  0xe3ac, 0xe3ad, 0xe3ae, 0xe3af, 0xe3b0, 0xe3b1, 0xe3b2, 0xe3b3, 0xe3b4, 0xe3b5,\n  0xe3b6, 0xe3b7, 0xe3b8, 0xe3b9, 0xe3ba, 0xe3bb, 0xe3bc, 0xe3bd, 0xe3be, 0xe3bf,\n  0xe3c0, 0xe3c1, 0xe3c2, 0xe3c3, 0xe3c4, 0xe3c5, 0xe3c6, 0xe3c7, 0xe3c8, 0xe3c9,\n  0xe3ca, 0xe3cb, 0xe3cc, 0xe3cd, 0xe3ce, 0xe3cf, 0xe3d0, 0xe3d1, 0xe3d2, 0xe3d3,\n  0xe3d4, 0xe3d5, 0xe3d6, 0xe3d7, 0xe3d8, 0xe3d9, 0xe3da, 0xe3db, 0xe3dc, 0xe3dd,\n  0xe3de, 0xe3df, 0xe3e0, 0xe3e1, 0xe3e2, 0xe3e3, 0xe3e4, 0xe3e5, 0xe3e6, 0xe3e7,\n  0xe3e8, 0xe3e9, 0xe3ea, 0xe3eb, 0xe3ec, 0xe3ed, 0xe3ee, 0xe3ef, 0xe3f0, 0xe3f1,\n  0xe3f2, 0xe3f3, 0xe3f4, 0xe3f5, 0xe3f6, 0xe3f7, 0xe3f8, 0xe3f9, 0xe3fa, 0xe3fb,\n  0xe3fc, 0xe3fd, 0xe3fe, 0xe4a1, 0xe4a2, 0xe4a3, 0xe4a4, 0xe4a5, 0xe4a6, 0xe4a7,\n  0xe4a8, 0xe4a9, 0xe4aa, 0xe4ab, 0xe4ac, 0xe4ad, 0xe4ae, 0xe4af, 0xe4b0, 0xe4b1,\n  0xe4b2, 0xe4b3, 0xe4b4, 0xe4b5, 0xe4b6, 0xe4b7, 0xe4b8, 0xe4b9, 0xe4ba, 0xe4bb,\n  0xe4bc, 0xe4bd, 0xe4be, 0xe4bf, 0xe4c0, 0xe4c1, 0xe4c2, 0xe4c3, 0xe4c4, 0xe4c5,\n  0xe4c6, 0xe4c7, 0xe4c8, 0xe4c9, 0xe4ca, 0xe4cb, 0xe4cc, 0xe4cd, 0xe4ce, 0xe4cf,\n  0xe4d0, 0xe4d1, 0xe4d2, 0xe4d3, 0xe4d4, 0xe4d5, 0xe4d6, 0xe4d7, 0xe4d8, 0xe4d9,\n  0xe4da, 0xe4db, 0xe4dc, 0xe4dd, 0xe4de, 0xe4df, 0xe4e0, 0xe4e1, 0xe4e2, 0xe4e3,\n  0xe4e4, 0xe4e5, 0xe4e6, 0xe4e7, 0xe4e8, 0xe4e9, 0xe4ea, 0xe4eb, 0xe4ec, 0xe4ed,\n  0xe4ee, 0xe4ef, 0xe4f0, 0xe4f1, 0xe4f2, 0xe4f3, 0xe4f4, 0xe4f5, 0xe4f6, 0xe4f7,\n  0xe4f8, 0xe4f9, 0xe4fa, 0xe4fb, 0xe4fc, 0xe4fd, 0xe4fe, 0xe5a1, 0xe5a2, 0xe5a3,\n  0xe5a4, 0xe5a5, 0xe5a6, 0xe5a7, 0xe5a8, 0xe5a9, 0xe5aa, 0xe5ab, 0xe5ac, 0xe5ad,\n  0xe5ae, 0xe5af, 0xe5b0, 0xe5b1, 0xe5b2, 0xe5b3, 0xe5b4, 0xe5b5, 0xe5b6, 0xe5b7,\n  0xe5b8, 0xe5b9, 0xe5ba, 0xe5bb, 0xe5bc, 0xe5bd, 0xe5be, 0xe5bf, 0xe5c0, 0xe5c1,\n  0xe5c2, 0xe5c3, 0xe5c4, 0xe5c5, 0xe5c6, 0xe5c7, 0xe5c8, 0xe5c9, 0xe5ca, 0xe5cb,\n  0xe5cc, 0xe5cd, 0xe5ce, 0xe5cf, 0xe5d0, 0xe5d1, 0xe5d2, 0xe5d3, 0xe5d4, 0xe5d5,\n  0xe5d6, 0xe5d7, 0xe5d8, 0xe5d9, 0xe5da, 0xe5db, 0xe5dc, 0xe5dd, 0xe5de, 0xe5df,\n  0xe5e0, 0xe5e1, 0xe5e2, 0xe5e3, 0xe5e4, 0xe5e5, 0xe5e6, 0xe5e7, 0xe5e8, 0xe5e9,\n  0xe5ea, 0xe5eb, 0xe5ec, 0xe5ed, 0xe5ee, 0xe5ef, 0xe5f0, 0xe5f1, 0xe5f2, 0xe5f3,\n  0xe5f4, 0xe5f5, 0xe5f6, 0xe5f7, 0xe5f8, 0xe5f9, 0xe5fa, 0xe5fb, 0xe5fc, 0xe5fd,\n  0xe5fe, 0xe6a1, 0xe6a2, 0xe6a3, 0xe6a4, 0xe6a5, 0xe6a6, 0xe6a7, 0xe6a8, 0xe6a9,\n  0xe6aa, 0xe6ab, 0xe6ac, 0xe6ad, 0xe6ae, 0xe6af, 0xe6b0, 0xe6b1, 0xe6b2, 0xe6b3,\n  0xe6b4, 0xe6b5, 0xe6b6, 0xe6b7, 0xe6b8, 0xe6b9, 0xe6ba, 0xe6bb, 0xe6bc, 0xe6bd,\n  0xe6be, 0xe6bf, 0xe6c0, 0xe6c1, 0xe6c2, 0xe6c3, 0xe6c4, 0xe6c5, 0xe6c6, 0xe6c7,\n  0xe6c8, 0xe6c9, 0xe6ca, 0xe6cb, 0xe6cc, 0xe6cd, 0xe6ce, 0xe6cf, 0xe6d0, 0xe6d1,\n  0xe6d2, 0xe6d3, 0xe6d4, 0xe6d5, 0xe6d6, 0xe6d7, 0xe6d8, 0xe6d9, 0xe6da, 0xe6db,\n  0xe6dc, 0xe6dd, 0xe6de, 0xe6df, 0xe6e0, 0xe6e1, 0xe6e2, 0xe6e3, 0xe6e4, 0xe6e5,\n  0xe6e6, 0xe6e7, 0xe6e8, 0xe6e9, 0xe6ea, 0xe6eb, 0xe6ec, 0xe6ed, 0xe6ee, 0xe6ef,\n  0xe6f0, 0xe6f1, 0xe6f2, 0xe6f3, 0xe6f4, 0xe6f5, 0xe6f6, 0xe6f7, 0xe6f8, 0xe6f9,\n  0xe6fa, 0xe6fb, 0xe6fc, 0xe6fd, 0xe6fe, 0xe7a1, 0xe7a2, 0xe7a3, 0xe7a4, 0xe7a5,\n  0xe7a6, 0xe7a7, 0xe7a8, 0xe7a9, 0xe7aa, 0xe7ab, 0xe7ac, 0xe7ad, 0xe7ae, 0xe7af,\n  0xe7b0, 0xe7b1, 0xe7b2, 0xe7b3, 0xe7b4, 0xe7b5, 0xe7b6, 0xe7b7, 0xe7b8, 0xe7b9,\n  0xe7ba, 0xe7bb, 0xe7bc, 0xe7bd, 0xe7be, 0xe7bf, 0xe7c0, 0xe7c1, 0xe7c2, 0xe7c3,\n  0xe7c4, 0xe7c5, 0xe7c6, 0xe7c7, 0xe7c8, 0xe7c9, 0xe7ca, 0xe7cb, 0xe7cc, 0xe7cd,\n  0xe7ce, 0xe7cf, 0xe7d0, 0xe7d1, 0xe7d2, 0xe7d3, 0xe7d4, 0xe7d5, 0xe7d6, 0xe7d7,\n  0xe7d8, 0xe7d9, 0xe7da, 0xe7db, 0xe7dc, 0xe7dd, 0xe7de, 0xe7df, 0xe7e0, 0xe7e1,\n  0xe7e2, 0xe7e3, 0xe7e4, 0xe7e5, 0xe7e6, 0xe7e7, 0xe7e8, 0xe7e9, 0xe7ea, 0xe7eb,\n  0xe7ec, 0xe7ed, 0xe7ee, 0xe7ef, 0xe7f0, 0xe7f1, 0xe7f2, 0xe7f3, 0xe7f4, 0xe7f5,\n  0xe7f6, 0xe7f7, 0xe7f8, 0xe7f9, 0xe7fa, 0xe7fb, 0xe7fc, 0xe7fd, 0xe7fe, 0xe8a1,\n  0xe8a2, 0xe8a3, 0xe8a4, 0xe8a5, 0xe8a6, 0xe8a7, 0xe8a8, 0xe8a9, 0xe8aa, 0xe8ab,\n  0xe8ac, 0xe8ad, 0xe8ae, 0xe8af, 0xe8b0, 0xe8b1, 0xe8b2, 0xe8b3, 0xe8b4, 0xe8b5,\n  0xe8b6, 0xe8b7, 0xe8b8, 0xe8b9, 0xe8ba, 0xe8bb, 0xe8bc, 0xe8bd, 0xe8be, 0xe8bf,\n  0xe8c0, 0xe8c1, 0xe8c2, 0xe8c3, 0xe8c4, 0xe8c5, 0xe8c6, 0xe8c7, 0xe8c8, 0xe8c9,\n  0xe8ca, 0xe8cb, 0xe8cc, 0xe8cd, 0xe8ce, 0xe8cf, 0xe8d0, 0xe8d1, 0xe8d2, 0xe8d3,\n  0xe8d4, 0xe8d5, 0xe8d6, 0xe8d7, 0xe8d8, 0xe8d9, 0xe8da, 0xe8db, 0xe8dc, 0xe8dd,\n  0xe8de, 0xe8df, 0xe8e0, 0xe8e1, 0xe8e2, 0xe8e3, 0xe8e4, 0xe8e5, 0xe8e6, 0xe8e7,\n  0xe8e8, 0xe8e9, 0xe8ea, 0xe8eb, 0xe8ec, 0xe8ed, 0xe8ee, 0xe8ef, 0xe8f0, 0xe8f1,\n  0xe8f2, 0xe8f3, 0xe8f4, 0xe8f5, 0xe8f6, 0xe8f7, 0xe8f8, 0xe8f9, 0xe8fa, 0xe8fb,\n  0xe8fc, 0xe8fd, 0xe8fe, 0xe9a1, 0xe9a2, 0xe9a3, 0xe9a4, 0xe9a5, 0xe9a6, 0xe9a7,\n  0xe9a8, 0xe9a9, 0xe9aa, 0xe9ab, 0xe9ac, 0xe9ad, 0xe9ae, 0xe9af, 0xe9b0, 0xe9b1,\n  0xe9b2, 0xe9b3, 0xe9b4, 0xe9b5, 0xe9b6, 0xe9b7, 0xe9b8, 0xe9b9, 0xe9ba, 0xe9bb,\n  0xe9bc, 0xe9bd, 0xe9be, 0xe9bf, 0xe9c0, 0xe9c1, 0xe9c2, 0xe9c3, 0xe9c4, 0xe9c5,\n  0xe9c6, 0xe9c7, 0xe9c8, 0xe9c9, 0xe9ca, 0xe9cb, 0xe9cc, 0xe9cd, 0xe9ce, 0xe9cf,\n  0xe9d0, 0xe9d1, 0xe9d2, 0xe9d3, 0xe9d4, 0xe9d5, 0xe9d6, 0xe9d7, 0xe9d8, 0xe9d9,\n  0xe9da, 0xe9db, 0xe9dc, 0xe9dd, 0xe9de, 0xe9df, 0xe9e0, 0xe9e1, 0xe9e2, 0xe9e3,\n  0xe9e4, 0xe9e5, 0xe9e6, 0xe9e7, 0xe9e8, 0xe9e9, 0xe9ea, 0xe9eb, 0xe9ec, 0xe9ed,\n  0xe9ee, 0xe9ef, 0xe9f0, 0xe9f1, 0xe9f2, 0xe9f3, 0xe9f4, 0xe9f5, 0xe9f6, 0xe9f7,\n  0xe9f8, 0xe9f9, 0xe9fa, 0xe9fb, 0xe9fc, 0xe9fd, 0xe9fe, 0xeaa1, 0xeaa2, 0xeaa3,\n  0xeaa4, 0xeaa5, 0xeaa6, 0xeaa7, 0xeaa8, 0xeaa9, 0xeaaa, 0xeaab, 0xeaac, 0xeaad,\n  0xeaae, 0xeaaf, 0xeab0, 0xeab1, 0xeab2, 0xeab3, 0xeab4, 0xeab5, 0xeab6, 0xeab7,\n  0xeab8, 0xeab9, 0xeaba, 0xeabb, 0xeabc, 0xeabd, 0xeabe, 0xeabf, 0xeac0, 0xeac1,\n  0xeac2, 0xeac3, 0xeac4, 0xeac5, 0xeac6, 0xeac7, 0xeac8, 0xeac9, 0xeaca, 0xeacb,\n  0xeacc, 0xeacd, 0xeace, 0xeacf, 0xead0, 0xead1, 0xead2, 0xead3, 0xead4, 0xead5,\n  0xead6, 0xead7, 0xead8, 0xead9, 0xeada, 0xeadb, 0xeadc, 0xeadd, 0xeade, 0xeadf,\n  0xeae0, 0xeae1, 0xeae2, 0xeae3, 0xeae4, 0xeae5, 0xeae6, 0xeae7, 0xeae8, 0xeae9,\n  0xeaea, 0xeaeb, 0xeaec, 0xeaed, 0xeaee, 0xeaef, 0xeaf0, 0xeaf1, 0xeaf2, 0xeaf3,\n  0xeaf4, 0xeaf5, 0xeaf6, 0xeaf7, 0xeaf8, 0xeaf9, 0xeafa, 0xeafb, 0xeafc, 0xeafd,\n  0xeafe, 0xeba1, 0xeba2, 0xeba3, 0xeba4, 0xeba5, 0xeba6, 0xeba7, 0xeba8, 0xeba9,\n  0xebaa, 0xebab, 0xebac, 0xebad, 0xebae, 0xebaf, 0xebb0, 0xebb1, 0xebb2, 0xebb3,\n  0xebb4, 0xebb5, 0xebb6, 0xebb7, 0xebb8, 0xebb9, 0xebba, 0xebbb, 0xebbc, 0xebbd,\n  0xebbe, 0xebbf, 0xebc0, 0xebc1, 0xebc2, 0xebc3, 0xebc4, 0xebc5, 0xebc6, 0xebc7,\n  0xebc8, 0xebc9, 0xebca, 0xebcb, 0xebcc, 0xebcd, 0xebce, 0xebcf, 0xebd0, 0xebd1,\n  0xebd2, 0xebd3, 0xebd4, 0xebd5, 0xebd6, 0xebd7, 0xebd8, 0xebd9, 0xebda, 0xebdb,\n  0xebdc, 0xebdd, 0xebde, 0xebdf, 0xebe0, 0xebe1, 0xebe2, 0xebe3, 0xebe4, 0xebe5,\n  0xebe6, 0xebe7, 0xebe8, 0xebe9, 0xebea, 0xebeb, 0xebec, 0xebed, 0xebee, 0xebef,\n  0xebf0, 0xebf1, 0xebf2, 0xebf3, 0xebf4, 0xebf5, 0xebf6, 0xebf7, 0xebf8, 0xebf9,\n  0xebfa, 0xebfb, 0xebfc, 0xebfd, 0xebfe, 0xeca1, 0xeca2, 0xeca3, 0xeca4, 0xeca5,\n  0xeca6, 0xeca7, 0xeca8, 0xeca9, 0xecaa, 0xecab, 0xecac, 0xecad, 0xecae, 0xecaf,\n  0xecb0, 0xecb1, 0xecb2, 0xecb3, 0xecb4, 0xecb5, 0xecb6, 0xecb7, 0xecb8, 0xecb9,\n  0xecba, 0xecbb, 0xecbc, 0xecbd, 0xecbe, 0xecbf, 0xecc0, 0xecc1, 0xecc2, 0xecc3,\n  0xecc4, 0xecc5, 0xecc6, 0xecc7, 0xecc8, 0xecc9, 0xecca, 0xeccb, 0xeccc, 0xeccd,\n  0xecce, 0xeccf, 0xecd0, 0xecd1, 0xecd2, 0xecd3, 0xecd4, 0xecd5, 0xecd6, 0xecd7,\n  0xecd8, 0xecd9, 0xecda, 0xecdb, 0xecdc, 0xecdd, 0xecde, 0xecdf, 0xece0, 0xece1,\n  0xece2, 0xece3, 0xece4, 0xece5, 0xece6, 0xece7, 0xece8, 0xece9, 0xecea, 0xeceb,\n  0xecec, 0xeced, 0xecee, 0xecef, 0xecf0, 0xecf1, 0xecf2, 0xecf3, 0xecf4, 0xecf5,\n  0xecf6, 0xecf7, 0xecf8, 0xecf9, 0xecfa, 0xecfb, 0xecfc, 0xecfd, 0xecfe, 0xeda1,\n  0xeda2, 0xeda3, 0xeda4, 0xeda5, 0xeda6, 0xeda7, 0xeda8, 0xeda9, 0xedaa, 0xedab,\n  0xedac, 0xedad, 0xedae, 0xedaf, 0xedb0, 0xedb1, 0xedb2, 0xedb3, 0xedb4, 0xedb5,\n  0xedb6, 0xedb7, 0xedb8, 0xedb9, 0xedba, 0xedbb, 0xedbc, 0xedbd, 0xedbe, 0xedbf,\n  0xedc0, 0xedc1, 0xedc2, 0xedc3, 0xedc4, 0xedc5, 0xedc6, 0xedc7, 0xedc8, 0xedc9,\n  0xedca, 0xedcb, 0xedcc, 0xedcd, 0xedce, 0xedcf, 0xedd0, 0xedd1, 0xedd2, 0xedd3,\n  0xedd4, 0xedd5, 0xedd6, 0xedd7, 0xedd8, 0xedd9, 0xedda, 0xeddb, 0xeddc, 0xeddd,\n  0xedde, 0xeddf, 0xede0, 0xede1, 0xede2, 0xede3, 0xede4, 0xede5, 0xede6, 0xede7,\n  0xede8, 0xede9, 0xedea, 0xedeb, 0xedec, 0xeded, 0xedee, 0xedef, 0xedf0, 0xedf1,\n  0xedf2, 0xedf3, 0xedf4, 0xedf5, 0xedf6, 0xedf7, 0xedf8, 0xedf9, 0xedfa, 0xedfb,\n  0xedfc, 0xedfd, 0xedfe, 0xeea1, 0xeea2, 0xeea3, 0xeea4, 0xeea5, 0xeea6, 0xeea7,\n  0xeea8, 0xeea9, 0xeeaa, 0xeeab, 0xeeac, 0xeead, 0xeeae, 0xeeaf, 0xeeb0, 0xeeb1,\n  0xeeb2, 0xeeb3, 0xeeb4, 0xeeb5, 0xeeb6, 0xeeb7, 0xeeb8, 0xeeb9, 0xeeba, 0xeebb,\n  0xeebc, 0xeebd, 0xeebe, 0xeebf, 0xeec0, 0xeec1, 0xeec2, 0xeec3, 0xeec4, 0xeec5,\n  0xeec6, 0xeec7, 0xeec8, 0xeec9, 0xeeca, 0xeecb, 0xeecc, 0xeecd, 0xeece, 0xeecf,\n  0xeed0, 0xeed1, 0xeed2, 0xeed3, 0xeed4, 0xeed5, 0xeed6, 0xeed7, 0xeed8, 0xeed9,\n  0xeeda, 0xeedb, 0xeedc, 0xeedd, 0xeede, 0xeedf, 0xeee0, 0xeee1, 0xeee2, 0xeee3,\n  0xeee4, 0xeee5, 0xeee6, 0xeee7, 0xeee8, 0xeee9, 0xeeea, 0xeeeb, 0xeeec, 0xeeed,\n  0xeeee, 0xeeef, 0xeef0, 0xeef1, 0xeef2, 0xeef3, 0xeef4, 0xeef5, 0xeef6, 0xeef7,\n  0xeef8, 0xeef9, 0xeefa, 0xeefb, 0xeefc, 0xeefd, 0xeefe, 0xefa1, 0xefa2, 0xefa3,\n  0xefa4, 0xefa5, 0xefa6, 0xefa7, 0xefa8, 0xefa9, 0xefaa, 0xefab, 0xefac, 0xefad,\n  0xefae, 0xefaf, 0xefb0, 0xefb1, 0xefb2, 0xefb3, 0xefb4, 0xefb5, 0xefb6, 0xefb7,\n  0xefb8, 0xefb9, 0xefba, 0xefbb, 0xefbc, 0xefbd, 0xefbe, 0xefbf, 0xefc0, 0xefc1,\n  0xefc2, 0xefc3, 0xefc4, 0xefc5, 0xefc6, 0xefc7, 0xefc8, 0xefc9, 0xefca, 0xefcb,\n  0xefcc, 0xefcd, 0xefce, 0xefcf, 0xefd0, 0xefd1, 0xefd2, 0xefd3, 0xefd4, 0xefd5,\n  0xefd6, 0xefd7, 0xefd8, 0xefd9, 0xefda, 0xefdb, 0xefdc, 0xefdd, 0xefde, 0xefdf,\n  0xefe0, 0xefe1, 0xefe2, 0xefe3, 0xefe4, 0xefe5, 0xefe6, 0xefe7, 0xefe8, 0xefe9,\n  0xefea, 0xefeb, 0xefec, 0xefed, 0xefee, 0xefef, 0xeff0, 0xeff1, 0xeff2, 0xeff3,\n  0xeff4, 0xeff5, 0xeff6, 0xeff7, 0xeff8, 0xeff9, 0xeffa, 0xeffb, 0xeffc, 0xeffd,\n  0xeffe, 0xf0a1, 0xf0a2, 0xf0a3, 0xf0a4, 0xf0a5, 0xf0a6, 0xf0a7, 0xf0a8, 0xf0a9,\n  0xf0aa, 0xf0ab, 0xf0ac, 0xf0ad, 0xf0ae, 0xf0af, 0xf0b0, 0xf0b1, 0xf0b2, 0xf0b3,\n  0xf0b4, 0xf0b5, 0xf0b6, 0xf0b7, 0xf0b8, 0xf0b9, 0xf0ba, 0xf0bb, 0xf0bc, 0xf0bd,\n  0xf0be, 0xf0bf, 0xf0c0, 0xf0c1, 0xf0c2, 0xf0c3, 0xf0c4, 0xf0c5, 0xf0c6, 0xf0c7,\n  0xf0c8, 0xf0c9, 0xf0ca, 0xf0cb, 0xf0cc, 0xf0cd, 0xf0ce, 0xf0cf, 0xf0d0, 0xf0d1,\n  0xf0d2, 0xf0d3, 0xf0d4, 0xf0d5, 0xf0d6, 0xf0d7, 0xf0d8, 0xf0d9, 0xf0da, 0xf0db,\n  0xf0dc, 0xf0dd, 0xf0de, 0xf0df, 0xf0e0, 0xf0e1, 0xf0e2, 0xf0e3, 0xf0e4, 0xf0e5,\n  0xf0e6, 0xf0e7, 0xf0e8, 0xf0e9, 0xf0ea, 0xf0eb, 0xf0ec, 0xf0ed, 0xf0ee, 0xf0ef,\n  0xf0f0, 0xf0f1, 0xf0f2, 0xf0f3, 0xf0f4, 0xf0f5, 0xf0f6, 0xf0f7, 0xf0f8, 0xf0f9,\n  0xf0fa, 0xf0fb, 0xf0fc, 0xf0fd, 0xf0fe, 0xf1a1, 0xf1a2, 0xf1a3, 0xf1a4, 0xf1a5,\n  0xf1a6, 0xf1a7, 0xf1a8, 0xf1a9, 0xf1aa, 0xf1ab, 0xf1ac, 0xf1ad, 0xf1ae, 0xf1af,\n  0xf1b0, 0xf1b1, 0xf1b2, 0xf1b3, 0xf1b4, 0xf1b5, 0xf1b6, 0xf1b7, 0xf1b8, 0xf1b9,\n  0xf1ba, 0xf1bb, 0xf1bc, 0xf1bd, 0xf1be, 0xf1bf, 0xf1c0, 0xf1c1, 0xf1c2, 0xf1c3,\n  0xf1c4, 0xf1c5, 0xf1c6, 0xf1c7, 0xf1c8, 0xf1c9, 0xf1ca, 0xf1cb, 0xf1cc, 0xf1cd,\n  0xf1ce, 0xf1cf, 0xf1d0, 0xf1d1, 0xf1d2, 0xf1d3, 0xf1d4, 0xf1d5, 0xf1d6, 0xf1d7,\n  0xf1d8, 0xf1d9, 0xf1da, 0xf1db, 0xf1dc, 0xf1dd, 0xf1de, 0xf1df, 0xf1e0, 0xf1e1,\n  0xf1e2, 0xf1e3, 0xf1e4, 0xf1e5, 0xf1e6, 0xf1e7, 0xf1e8, 0xf1e9, 0xf1ea, 0xf1eb,\n  0xf1ec, 0xf1ed, 0xf1ee, 0xf1ef, 0xf1f0, 0xf1f1, 0xf1f2, 0xf1f3, 0xf1f4, 0xf1f5,\n  0xf1f6, 0xf1f7, 0xf1f8, 0xf1f9, 0xf1fa, 0xf1fb, 0xf1fc, 0xf1fd, 0xf1fe, 0xf2a1,\n  0xf2a2, 0xf2a3, 0xf2a4, 0xf2a5, 0xf2a6, 0xf2a7, 0xf2a8, 0xf2a9, 0xf2aa, 0xf2ab,\n  0xf2ac, 0xf2ad, 0xf2ae, 0xf2af, 0xf2b0, 0xf2b1, 0xf2b2, 0xf2b3, 0xf2b4, 0xf2b5,\n  0xf2b6, 0xf2b7, 0xf2b8, 0xf2b9, 0xf2ba, 0xf2bb, 0xf2bc, 0xf2bd, 0xf2be, 0xf2bf,\n  0xf2c0, 0xf2c1, 0xf2c2, 0xf2c3, 0xf2c4, 0xf2c5, 0xf2c6, 0xf2c7, 0xf2c8, 0xf2c9,\n  0xf2ca, 0xf2cb, 0xf2cc, 0xf2cd, 0xf2ce, 0xf2cf, 0xf2d0, 0xf2d1, 0xf2d2, 0xf2d3,\n  0xf2d4, 0xf2d5, 0xf2d6, 0xf2d7, 0xf2d8, 0xf2d9, 0xf2da, 0xf2db, 0xf2dc, 0xf2dd,\n  0xf2de, 0xf2df, 0xf2e0, 0xf2e1, 0xf2e2, 0xf2e3, 0xf2e4, 0xf2e5, 0xf2e6, 0xf2e7,\n  0xf2e8, 0xf2e9, 0xf2ea, 0xf2eb, 0xf2ec, 0xf2ed, 0xf2ee, 0xf2ef, 0xf2f0, 0xf2f1,\n  0xf2f2, 0xf2f3, 0xf2f4, 0xf2f5, 0xf2f6, 0xf2f7, 0xf2f8, 0xf2f9, 0xf2fa, 0xf2fb,\n  0xf2fc, 0xf2fd, 0xf2fe, 0xf3a1, 0xf3a2, 0xf3a3, 0xf3a4, 0xf3a5, 0xf3a6, 0xf3a7,\n  0xf3a8, 0xf3a9, 0xf3aa, 0xf3ab, 0xf3ac, 0xf3ad, 0xf3ae, 0xf3af, 0xf3b0, 0xf3b1,\n  0xf3b2, 0xf3b3, 0xf3b4, 0xf3b5, 0xf3b6, 0xf3b7, 0xf3b8, 0xf3b9, 0xf3ba, 0xf3bb,\n  0xf3bc, 0xf3bd, 0xf3be, 0xf3bf, 0xf3c0, 0xf3c1, 0xf3c2, 0xf3c3, 0xf3c4, 0xf3c5,\n  0xf3c6, 0xf3c7, 0xf3c8, 0xf3c9, 0xf3ca, 0xf3cb, 0xf3cc, 0xf3cd, 0xf3ce, 0xf3cf,\n  0xf3d0, 0xf3d1, 0xf3d2, 0xf3d3, 0xf3d4, 0xf3d5, 0xf3d6, 0xf3d7, 0xf3d8, 0xf3d9,\n  0xf3da, 0xf3db, 0xf3dc, 0xf3dd, 0xf3de, 0xf3df, 0xf3e0, 0xf3e1, 0xf3e2, 0xf3e3,\n  0xf3e4, 0xf3e5, 0xf3e6, 0xf3e7, 0xf3e8, 0xf3e9, 0xf3ea, 0xf3eb, 0xf3ec, 0xf3ed,\n  0xf3ee, 0xf3ef, 0xf3f0, 0xf3f1, 0xf3f2, 0xf3f3, 0xf3f4, 0xf3f5, 0xf3f6, 0xf3f7,\n  0xf3f8, 0xf3f9, 0xf3fa, 0xf3fb, 0xf3fc, 0xf3fd, 0xf3fe, 0xf4a1, 0xf4a2, 0xf4a3,\n  0xf4a4, 0xf4a5, 0xf4a6, 0xf4a7, 0xf4a8, 0xf4a9, 0xf4aa, 0xf4ab, 0xf4ac, 0xf4ad,\n  0xf4ae, 0xf4af, 0xf4b0, 0xf4b1, 0xf4b2, 0xf4b3, 0xf4b4, 0xf4b5, 0xf4b6, 0xf4b7,\n  0xf4b8, 0xf4b9, 0xf4ba, 0xf4bb, 0xf4bc, 0xf4bd, 0xf4be, 0xf4bf, 0xf4c0, 0xf4c1,\n  0xf4c2, 0xf4c3, 0xf4c4, 0xf4c5, 0xf4c6, 0xf4c7, 0xf4c8, 0xf4c9, 0xf4ca, 0xf4cb,\n  0xf4cc, 0xf4cd, 0xf4ce, 0xf4cf, 0xf4d0, 0xf4d1, 0xf4d2, 0xf4d3, 0xf4d4, 0xf4d5,\n  0xf4d6, 0xf4d7, 0xf4d8, 0xf4d9, 0xf4da, 0xf4db, 0xf4dc, 0xf4dd, 0xf4de, 0xf4df,\n  0xf4e0, 0xf4e1, 0xf4e2, 0xf4e3, 0xf4e4, 0xf4e5, 0xf4e6, 0xf4e7, 0xf4e8, 0xf4e9,\n  0xf4ea, 0xf4eb, 0xf4ec, 0xf4ed, 0xf4ee, 0xf4ef, 0xf4f0, 0xf4f1, 0xf4f2, 0xf4f3,\n  0xf4f4, 0xf4f5, 0xf4f6, 0xf4f7, 0xf4f8, 0xf4f9, 0xf4fa, 0xf4fb, 0xf4fc, 0xf4fd,\n  0xf4fe, 0xf5a1, 0xf5a2, 0xf5a3, 0xf5a4, 0xf5a5, 0xf5a6, 0xf5a7, 0xf5a8, 0xf5a9,\n  0xf5aa, 0xf5ab, 0xf5ac, 0xf5ad, 0xf5ae, 0xf5af, 0xf5b0, 0xf5b1, 0xf5b2, 0xf5b3,\n  0xf5b4, 0xf5b5, 0xf5b6, 0xf5b7, 0xf5b8, 0xf5b9, 0xf5ba, 0xf5bb, 0xf5bc, 0xf5bd,\n  0xf5be, 0xf5bf, 0xf5c0, 0xf5c1, 0xf5c2, 0xf5c3, 0xf5c4, 0xf5c5, 0xf5c6, 0xf5c7,\n  0xf5c8, 0xf5c9, 0xf5ca, 0xf5cb, 0xf5cc, 0xf5cd, 0xf5ce, 0xf5cf, 0xf5d0, 0xf5d1,\n  0xf5d2, 0xf5d3, 0xf5d4, 0xf5d5, 0xf5d6, 0xf5d7, 0xf5d8, 0xf5d9, 0xf5da, 0xf5db,\n  0xf5dc, 0xf5dd, 0xf5de, 0xf5df, 0xf5e0, 0xf5e1, 0xf5e2, 0xf5e3, 0xf5e4, 0xf5e5,\n  0xf5e6, 0xf5e7, 0xf5e8, 0xf5e9, 0xf5ea, 0xf5eb, 0xf5ec, 0xf5ed, 0xf5ee, 0xf5ef,\n  0xf5f0, 0xf5f1, 0xf5f2, 0xf5f3, 0xf5f4, 0xf5f5, 0xf5f6, 0xf5f7, 0xf5f8, 0xf5f9,\n  0xf5fa, 0xf5fb, 0xf5fc, 0xf5fd, 0xf5fe, 0xf6a1, 0xf6a2, 0xf6a3, 0xf6a4, 0xf6a5,\n  0xf6a6, 0xf6a7, 0xf6a8, 0xf6a9, 0xf6aa, 0xf6ab, 0xf6ac, 0xf6ad, 0xf6ae, 0xf6af,\n  0xf6b0, 0xf6b1, 0xf6b2, 0xf6b3, 0xf6b4, 0xf6b5, 0xf6b6, 0xf6b7, 0xf6b8, 0xf6b9,\n  0xf6ba, 0xf6bb, 0xf6bc, 0xf6bd, 0xf6be, 0xf6bf, 0xf6c0, 0xf6c1, 0xf6c2, 0xf6c3,\n  0xf6c4, 0xf6c5, 0xf6c6, 0xf6c7, 0xf6c8, 0xf6c9, 0xf6ca, 0xf6cb, 0xf6cc, 0xf6cd,\n  0xf6ce, 0xf6cf, 0xf6d0, 0xf6d1, 0xf6d2, 0xf6d3, 0xf6d4, 0xf6d5, 0xf6d6, 0xf6d7,\n  0xf6d8, 0xf6d9, 0xf6da, 0xf6db, 0xf6dc, 0xf6dd, 0xf6de, 0xf6df, 0xf6e0, 0xf6e1,\n  0xf6e2, 0xf6e3, 0xf6e4, 0xf6e5, 0xf6e6, 0xf6e7, 0xf6e8, 0xf6e9, 0xf6ea, 0xf6eb,\n  0xf6ec, 0xf6ed, 0xf6ee, 0xf6ef, 0xf6f0, 0xf6f1, 0xf6f2, 0xf6f3, 0xf6f4, 0xf6f5,\n  0xf6f6, 0xf6f7, 0xf6f8, 0xf6f9, 0xf6fa, 0xf6fb, 0xf6fc, 0xf6fd, 0xf6fe, 0xf7a1,\n  0xf7a2, 0xf7a3, 0xf7a4, 0xf7a5, 0xf7a6, 0xf7a7, 0xf7a8, 0xf7a9, 0xf7aa, 0xf7ab,\n  0xf7ac, 0xf7ad, 0xf7ae, 0xf7af, 0xf7b0, 0xf7b1, 0xf7b2, 0xf7b3, 0xf7b4, 0xf7b5,\n  0xf7b6, 0xf7b7, 0xf7b8, 0xf7b9, 0xf7ba, 0xf7bb, 0xf7bc, 0xf7bd, 0xf7be, 0xf7bf,\n  0xf7c0, 0xf7c1, 0xf7c2, 0xf7c3, 0xf7c4, 0xf7c5, 0xf7c6, 0xf7c7, 0xf7c8, 0xf7c9,\n  0xf7ca, 0xf7cb, 0xf7cc, 0xf7cd, 0xf7ce, 0xf7cf, 0xf7d0, 0xf7d1, 0xf7d2, 0xf7d3,\n  0xf7d4, 0xf7d5, 0xf7d6, 0xf7d7, 0xf7d8, 0xf7d9, 0xf7da, 0xf7db, 0xf7dc, 0xf7dd,\n  0xf7de, 0xf7df, 0xf7e0, 0xf7e1, 0xf7e2, 0xf7e3, 0xf7e4, 0xf7e5, 0xf7e6, 0xf7e7,\n  0xf7e8, 0xf7e9, 0xf7ea, 0xf7eb, 0xf7ec, 0xf7ed, 0xf7ee, 0xf7ef, 0xf7f0, 0xf7f1,\n  0xf7f2, 0xf7f3, 0xf7f4, 0xf7f5, 0xf7f6, 0xf7f7, 0xf7f8, 0xf7f9, 0xf7fa, 0xf7fb,\n  0xf7fc, 0xf7fd, 0xf7fe};\n"
  },
  {
    "path": "gradient.cpp",
    "content": "#include \"gradient.h\"\n#include \"OfflineGridUBytePicture.h\"\n//judge the gradient area in terms of (x,y)\ntemplate <typename _T>\nint Judge( _T x, _T y)    //\n{\n if( x==0&&y==0 )\n   return 0;\n if ( x>0&&y==0 )\n   return 0;\n if ( y>0&&x>y )\n   return 1;\n if ( x>0&&y==x )\n   return 2;\n if ( x>0&&x<y )\n   return 3;\n if ( x==0&&y>0 )\n   return 4;\n if ( x<0&&y>(abs(x)) )\n   return 5;\n if ( x<0&&y==(abs(x)))\n   return 6;\n if ( x<0&&y<(abs(x))&&y>0 )\n   return 7;\n if ( y==0&&x<0 )\n   return 8;\n if ( y<0&&y>x )\n   return 9;\n if ( x<0&&y==x )\n   return 10;\n if ( x<0&&y<x )\n   return 11;\n if ( x==0&&y<0 )\n   return 12;\n if ( y<0&&x<(abs(y))&&x>0 )\n   return 13;\n if ( y<0&&x==(abs(y)) )\n   return 14;\n if ( y<0&&x>(abs(y)) )\n   return 15;\n else\n   return 0;\n}\n\nvoid FeaExtractByGradient(cv::Mat img, vector<cv::Mat> &featureMaps)\n{\n\tfloat Gx;\n\tfloat Gy;\n\tint us_direction=8;\n\tint imgHeight=img.rows;\n\tint imgWidth=img.cols;\n\tint v_gx [maskHeight][maskWidth]={};\n\tint v_gy [maskHeight][maskWidth]={};\n\tint image[maskHeight][maskWidth]={};\n\t//make some confirm\n\tfor(int i=0;i<maskHeight;i++){\n\t\tfor(int j=0;j<maskWidth;j++){\n\t\t\timage[i][j]=img.at<uchar>(i,j);\n\t\t}\n\t}\n\t//Use Sobel to compute the gradient value of each pixel\n\tfor(int i=0;i<maskHeight;i++)\n\t{\n\t\tfor(int j=0;j<maskWidth;j++)\n\t\t{\n\t\t\tif((i==maskHeight-1)||(j==maskWidth-1)||(i==0)||(j==0))\n\t\t\t{\n\t\t\t\tv_gx[i][j]=image[i][j];\n\t\t\t\tv_gy[i][j]=image[i][j];\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tv_gx[i][j]=image[i-1][j-1]+2*image[i-1][j]+image[i-1][j+1]-image[i+1][j-1]-2*image[i+1][j]-image[i+1][j+1];\n\t\t\t\tv_gy[i][j]=image[i-1][j-1]+2*image[i][j-1]+image[i+1][j-1]-image[i-1][j+1]-2*image[i][j+1]-image[i+1][j+1];\n\t\t\t}\n\t\t}\n\t}\n\tfloat * v_G=new float[maskHeight*maskWidth*us_direction];\n\t//Decompose each gradient value vector to eight directions\n\tfor(int i=0;i<maskHeight;i++)\n\t{\n\t\tfor(int j=0;j<maskWidth;j++)\n\t\t{\n\t\t\tGx=(float)v_gx[i][j];\n\t\t\tGy=(float)v_gy[i][j];\n\t\t\tint us_index=i*maskWidth+j;\n\t\t\tint Dec_Pos=Judge(Gx,Gy);\n\t\t\tswitch(Dec_Pos)\n\t\t\t{\n\t\t\tcase 0: v_G[us_index]=Gx;break;\n\t\t\tcase 1: v_G[us_index]=Gx-Gy;v_G[maskHeight*maskWidth+us_index]=(float)1.414214*Gy;break;\n\t\t\tcase 2: v_G[maskHeight*maskWidth+us_index]=(float)1.414214*Gy;break;\n\t\t\tcase 3: v_G[maskHeight*maskWidth+us_index]=(float)1.414214*Gx;v_G[maskHeight*maskWidth*2+us_index]=Gy-Gx;break;\n\t\t\tcase 4: v_G[maskHeight*maskWidth*2+us_index]=Gy;break;\n\t\t\tcase 5: v_G[maskHeight*maskWidth*2+us_index]=Gx+Gy;v_G[maskHeight*maskWidth*3+us_index]=(float)1.414214*abs(Gx);break;//abs(1.414214*Gx);break;\n\t\t\tcase 6: v_G[maskHeight*maskWidth*3+us_index]=(float)1.414214*Gy;break;\n\t\t\tcase 7: v_G[maskHeight*maskWidth*3+us_index]=(float)1.414214*Gy;v_G[maskHeight*maskWidth*4+us_index]=abs(Gx+Gy);break;\n\t\t\tcase 8: v_G[maskHeight*maskWidth*4+us_index]=abs(Gx);break;\n\t\t\tcase 9: v_G[maskHeight*maskWidth*4+us_index]=Gy-Gx;v_G[maskHeight*maskWidth*5+us_index]=(float)1.414214*abs(Gy);break;\n\t\t\tcase 10:v_G[maskHeight*maskWidth*5+us_index]=(float)1.414214*abs(Gy);break;\n\t\t\tcase 11:v_G[maskHeight*maskWidth*5+us_index]=(float)1.414214*abs(Gx);v_G[maskHeight*maskWidth*6+us_index]=Gx-Gy;break;\n\t\t\tcase 12:v_G[maskHeight*maskWidth*6+us_index]=abs(Gy);break;\n\t\t\tcase 13:v_G[maskHeight*maskWidth*6+us_index]=abs(Gx+Gy);v_G[maskHeight*maskWidth*7+us_index]=(float)1.414214*abs(Gx);break;\n\t\t\tcase 14:v_G[maskHeight*maskWidth*7+us_index]=(float)1.414214*Gx;break;\n\t\t\tcase 15:v_G[maskHeight*maskWidth*7+us_index]=(float)1.414214*abs(Gy);v_G[us_index]=abs(Gx+Gy);break;\n\t\t\t}\n\t\t}\n\t}\n\tfor(int c=0;c<us_direction;c++)\n\t{\n\t\tfloat min=9999999;\n\t\tfloat max=-1;\n\t\tcv::Mat graFeaMap(maskHeight,maskHeight,CV_8UC1);\n\t\tfor(int i=0;i<maskHeight;i++)\n\t\t{\n\t\t\tfor(int j=0;j<maskWidth;j++)\n\t\t\t{\n\t\t\t\t//make some confirm\n\t\t\t\tif(v_G[c*maskHeight*maskWidth+i*maskWidth+j]<0)\n\t\t\t\t{\n\t\t\t\t\tv_G[c*maskHeight*maskWidth+i*maskWidth+j]=0;\n\t\t\t\t}\n\t\t\t\tif(max<v_G[c*maskHeight*maskWidth+i*maskWidth+j])\n\t\t\t\t{\n\t\t\t\t\tmax=v_G[c*maskHeight*maskWidth+i*maskWidth+j];\n\t\t\t\t}\n\t\t\t\tif(min>v_G[c*maskHeight*maskWidth+i*maskWidth+j])\n\t\t\t\t{\n\t\t\t\t\tmin=v_G[c*maskHeight*maskWidth+i*maskWidth+j];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tfor(int i=0;i<maskHeight;i++)\n\t\t{\n\t\t\tfor(int j=0;j<maskWidth;j++)\n\t\t\t{\n\t\t\t\tv_G[c*maskHeight*maskWidth+i*maskWidth+j]=255*((float)(v_G[c*maskHeight*maskWidth+i*maskWidth+j]-min))/(max-min);// confirm 0-255\n\t\t\t\tgraFeaMap.at<uchar>(i,j)=(uchar)v_G[c*maskHeight*maskWidth+i*maskWidth+j];\n\t\t\t}\n\t\t}\n\t\tGaussianBlur(graFeaMap,graFeaMap,Size(3, 3),0,0);\n\t\tfeatureMaps.push_back(graFeaMap);\n\t\tgraFeaMap.release();\n\t}\n\tdelete[]v_G;\n}\n"
  },
  {
    "path": "gradient.h",
    "content": "#include <string>\n#include <vector>\n#include <opencv2/highgui/highgui.hpp>\n#include <opencv2/highgui/highgui_c.h>\n#include <opencv2/imgproc/imgproc.hpp>\n\nusing namespace cv;\nusing namespace std;\n\n//judge the gradient area in terms of (x,y)\ntemplate <typename _T>\nint Judge( _T x, _T y);\n\nvoid FeaExtractByGradient(cv::Mat img,vector<cv::Mat> &featureMaps);\n"
  },
  {
    "path": "main.cpp",
    "content": "#include \"gbcodes3755.h\"\n#include \"OfflineGridUBytePicture.h\"\n#include \"gabor.h\"\n#include \"gradient.h\"\n\n#define gradient\n//#define gabor\n\nvoid readGNTFile(vector<OfflineGridUBytePicture*> &characters,\n\t\tconst char* filename) {\n\tifstream file(filename, ios::in | ios::binary);\n\tif (!file) {\n\t\tcout << \"Cannot find \" << filename << endl;\n\t\texit (EXIT_FAILURE);\n\t}\n\tcout << \"\\n\" << filename << endl;\n\tgntCharacterHeader gCH;\n\twhile (file.read((char*) &gCH,\n\t\t\t(sizeof(gCH.sampleSize) + sizeof(gCH.height) + sizeof(gCH.width)\n\t\t\t\t\t+ sizeof(gCH.label)))) {\n\t\tOfflineGridUBytePicture* character = new OfflineGridUBytePicture(\n\t\t\t\tgCH.width, gCH.height, gCH.label);\n\t\tunsigned char *bitmap;\n\t\ttry {\n\t\t\tbitmap = new unsigned char[gCH.width * gCH.height];\n\t\t} catch (bad_alloc ex) {\n\t\t\tcout << \"\\nException:\" << ex.what() << \" \" << filename << endl;\n\t\t\tcout << gCH.width << \" \" << gCH.height << endl;\n\t\t\texit(-1);\n\n\t\t}\n\t\tfile.read((char *) bitmap, gCH.width * gCH.height);\n\t\tfor (int i = 0; i < gCH.width * gCH.height; i++) { //Black (0) background, white (255) ink\n\t\t\t//opposite the color\n\t\t\tcharacter->bitmap[i] = 255 - bitmap[i];\n\t\t}\t\n\t\tcharacter->label = find(gbcodesCRO, gbcodesCRO + 3755,\n\t\t\tcharacter->label) - gbcodesCRO;\n\t\tif (character->label < nCharacters)\n\t\t{\n\t\t\tcharacters.push_back(character);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tdelete character;\n\t\t}\t\n\t\tdelete[] bitmap;\n\t}\n\tfile.close();\n}\n\ncv::Mat maskCharacter(cv::Mat ResizedwordImg, int temp, bool flag) {\n\tcv::Mat maskImg=cv::Mat::zeros(maskHeight,maskWidth,CV_8UC1);\n\tint row = 0;\n\tint col = 0;\n\tif (flag == true) {\n\t\trow = int((maskHeight - characterHeight) / 2);\n\t\tcol = int(std::floor((maskWidth - temp) / 2))+1;\n\t} else {\n\t\trow = int(std::floor((maskHeight - temp) / 2))+1;\n\t\tcol = int((maskWidth - characterWidth) / 2);\n\t}\n\tfor (int i = row; i < (maskHeight - row); i++) {\n\t\tfor (int j = col; j < (maskWidth - col); j++) {\n\t\t\tmaskImg.at<uchar>(i,j) = ResizedwordImg.at<uchar>(i - row, j - col);\n\t\t}\n\t}\n\treturn maskImg;\n}\n\ncv::Mat resizeCharacter(OfflineGridUBytePicture *character) {\n\n\tint srcwidth = character->width;\n\tint srcheight = character->height;\n\n\tcv::Mat img=cv::Mat::zeros(srcheight,srcwidth,CV_8U);\n\tfor (int m = 0; m < srcheight; m++) {\n\t\tfor (int n = 0; n < srcwidth; n++) {\n\t\t\timg.at<uchar>(m,n) = character->bitmap[m * srcwidth + n];\n\t\t}\n\t}\n\tif(srcheight>srcwidth)\n\t{\n\t\tdouble ratio = (double) characterHeight / srcheight;\n\t\tint width = min(int(std::floor(ratio * srcwidth)), characterWidth);\n\t\tcv::Mat img_resize=cv::Mat::zeros(characterHeight,width,CV_8UC1);\n\t\tresize(img, img_resize, cvSize(width,characterHeight),0,0,CV_INTER_LINEAR);\n\t\tcv::Mat maskImg=maskCharacter(img_resize, width, true);\n\t\timg.release();\n\t\timg_resize.release();\n\t\treturn maskImg;\n\t}\n\telse\n\t{\n\t\tdouble ratio = (double) characterWidth / srcwidth;\n\t\tint height = min(int(std::floor(ratio * srcheight)), characterHeight);\n\t\tcv::Mat img_resize=cv::Mat::zeros(characterWidth,height,CV_8UC1);\n\t\tresize(img, img_resize, cvSize(characterWidth,height),0,0,CV_INTER_LINEAR);\n\t\tcv::Mat maskImg = maskCharacter(img_resize, height, false);\n\t\timg.release();\n\t\timg_resize.release();\n\t\treturn maskImg;\n\t}\n}\n\nint main()\n{\n\tconst char* filename=\"1001-c.gnt\";\n\tvector<OfflineGridUBytePicture*> characters;\n\treadGNTFile(characters,filename);\n\tint characterNum=characters.size();\n\tchar outfilename[100];\n\tchar filenameAFormat[]=\".\\\\featureMap\\\\%04d_%01d.png\";\n\tcout<<\" character number: \"<<characterNum<<endl;\n\tfor(int i=0;i<characterNum;i++)\n\t{\n\t\tcv::Mat img=resizeCharacter(characters[i]);\n\t\tvector<cv::Mat> featureMaps;\n#ifdef gabor\n\t\tgabor_filter(img,featureMaps);\n#endif\n#ifdef gradient\n\t\t FeaExtractByGradient(img,featureMaps);\n#endif\n\t\tint featureMapNum=featureMaps.size();\n\t\tfor(int c=0;c<featureMapNum;c++)\n\t\t{\n\t\t\tsprintf(outfilename,filenameAFormat,characters[i]->label,c);\n\t\t\timwrite(outfilename,featureMaps[c]);\n\t\t\tfeatureMaps[c].release();\n\t\t}\n\t\tfeatureMaps.clear();\n\t\timg.release();\n\t\tcharacters[i]->bitmap.clear();\n\t\tcout<<i<<\"th character has done, total character number is: \"<<characterNum<<endl;\n\t}\n\tcharacters.clear();\n}\n\n\n\n"
  }
]