From 3195ff1493bb35d571381b8bad389ad964c8a215 Mon Sep 17 00:00:00 2001
From: xuminyui <576362016@qq.com>
Date: Fri, 22 Dec 2023 10:20:00 +0800
Subject: [PATCH] fix
---
App.vue | 1 +
components/mumu-getQrcode/jsQR.js | 10733 -----------------
components/mumu-getQrcode/loadJs.js | 16 +
components/mumu-getQrcode/mumu-getQrcode.vue | 418 -
components/mumu-getQrcode/mumu-oneCode.vue | 408 +
components/mumu-getQrcode/quagga.min.js | 4 +
manifest.json | 3 +-
pages/scan/index.vue | 5 +-
8 files changed, 433 insertions(+), 11155 deletions(-)
delete mode 100644 components/mumu-getQrcode/jsQR.js
create mode 100644 components/mumu-getQrcode/loadJs.js
delete mode 100644 components/mumu-getQrcode/mumu-getQrcode.vue
create mode 100644 components/mumu-getQrcode/mumu-oneCode.vue
create mode 100644 components/mumu-getQrcode/quagga.min.js
diff --git a/App.vue b/App.vue
index 07f4f57..c4d7236 100644
--- a/App.vue
+++ b/App.vue
@@ -5,6 +5,7 @@ export default {
},
onShow: function () {
console.log('App Show')
+ console.log(1111)
},
onHide: function () {
console.log('App Hide')
diff --git a/components/mumu-getQrcode/jsQR.js b/components/mumu-getQrcode/jsQR.js
deleted file mode 100644
index 2614717..0000000
--- a/components/mumu-getQrcode/jsQR.js
+++ /dev/null
@@ -1,10733 +0,0 @@
-(function webpackUniversalModuleDefinition(root, factory) {
- if (typeof exports === "object" && typeof module === "object")
- module.exports = factory();
- else if (typeof define === "function" && define.amd) define([], factory);
- else if (typeof exports === "object") exports["jsQR"] = factory();
- else root["jsQR"] = factory();
-})(typeof self !== "undefined" ? self : this, function () {
- return /******/ (function (modules) {
- // webpackBootstrap
- /******/ // The module cache
- /******/ var installedModules = {};
- /******/
- /******/ // The require function
- /******/ function __webpack_require__(moduleId) {
- /******/
- /******/ // Check if module is in cache
- /******/ if (installedModules[moduleId]) {
- /******/ return installedModules[moduleId].exports;
- /******/
- }
- /******/ // Create a new module (and put it into the cache)
- /******/ var module = (installedModules[moduleId] = {
- /******/ i: moduleId,
- /******/ l: false,
- /******/ exports: {},
- /******/
- });
- /******/
- /******/ // Execute the module function
- /******/ modules[moduleId].call(
- module.exports,
- module,
- module.exports,
- __webpack_require__
- );
- /******/
- /******/ // Flag the module as loaded
- /******/ module.l = true;
- /******/
- /******/ // Return the exports of the module
- /******/ return module.exports;
- /******/
- }
- /******/
- /******/
- /******/ // expose the modules object (__webpack_modules__)
- /******/ __webpack_require__.m = modules;
- /******/
- /******/ // expose the module cache
- /******/ __webpack_require__.c = installedModules;
- /******/
- /******/ // define getter function for harmony exports
- /******/ __webpack_require__.d = function (exports, name, getter) {
- /******/ if (!__webpack_require__.o(exports, name)) {
- /******/ Object.defineProperty(exports, name, {
- /******/ configurable: false,
- /******/ enumerable: true,
- /******/ get: getter,
- /******/
- });
- /******/
- }
- /******/
- };
- /******/
- /******/ // getDefaultExport function for compatibility with non-harmony modules
- /******/ __webpack_require__.n = function (module) {
- /******/ var getter =
- module && module.__esModule
- ? /******/ function getDefault() {
- return module["default"];
- }
- : /******/ function getModuleExports() {
- return module;
- };
- /******/ __webpack_require__.d(getter, "a", getter);
- /******/ return getter;
- /******/
- };
- /******/
- /******/ // Object.prototype.hasOwnProperty.call
- /******/ __webpack_require__.o = function (object, property) {
- return Object.prototype.hasOwnProperty.call(object, property);
- };
- /******/
- /******/ // __webpack_public_path__
- /******/ __webpack_require__.p = "";
- /******/
- /******/ // Load entry module and return exports
- /******/ return __webpack_require__((__webpack_require__.s = 3));
- /******/
- })(
- /************************************************************************/
- /******/ [
- /* 0 */
- /***/ function (module, exports, __webpack_require__) {
- "use strict";
-
- Object.defineProperty(exports, "__esModule", { value: true });
- var BitMatrix = /** @class */ (function () {
- function BitMatrix(data, width) {
- this.width = width;
- this.height = data.length / width;
- this.data = data;
- }
- BitMatrix.createEmpty = function (width, height) {
- return new BitMatrix(new Uint8ClampedArray(width * height), width);
- };
- BitMatrix.prototype.get = function (x, y) {
- if (x < 0 || x >= this.width || y < 0 || y >= this.height) {
- return false;
- }
- return !!this.data[y * this.width + x];
- };
- BitMatrix.prototype.set = function (x, y, v) {
- this.data[y * this.width + x] = v ? 1 : 0;
- };
- BitMatrix.prototype.setRegion = function (
- left,
- top,
- width,
- height,
- v
- ) {
- for (var y = top; y < top + height; y++) {
- for (var x = left; x < left + width; x++) {
- this.set(x, y, !!v);
- }
- }
- };
- return BitMatrix;
- })();
- exports.BitMatrix = BitMatrix;
-
- /***/
- },
- /* 1 */
- /***/ function (module, exports, __webpack_require__) {
- "use strict";
-
- Object.defineProperty(exports, "__esModule", { value: true });
- var GenericGFPoly_1 = __webpack_require__(2);
- function addOrSubtractGF(a, b) {
- return a ^ b; // tslint:disable-line:no-bitwise
- }
- exports.addOrSubtractGF = addOrSubtractGF;
- var GenericGF = /** @class */ (function () {
- function GenericGF(primitive, size, genBase) {
- this.primitive = primitive;
- this.size = size;
- this.generatorBase = genBase;
- this.expTable = new Array(this.size);
- this.logTable = new Array(this.size);
- var x = 1;
- for (var i = 0; i < this.size; i++) {
- this.expTable[i] = x;
- x = x * 2;
- if (x >= this.size) {
- x = (x ^ this.primitive) & (this.size - 1); // tslint:disable-line:no-bitwise
- }
- }
- for (var i = 0; i < this.size - 1; i++) {
- this.logTable[this.expTable[i]] = i;
- }
- this.zero = new GenericGFPoly_1.default(
- this,
- Uint8ClampedArray.from([0])
- );
- this.one = new GenericGFPoly_1.default(
- this,
- Uint8ClampedArray.from([1])
- );
- }
- GenericGF.prototype.multiply = function (a, b) {
- if (a === 0 || b === 0) {
- return 0;
- }
- return this.expTable[
- (this.logTable[a] + this.logTable[b]) % (this.size - 1)
- ];
- };
- GenericGF.prototype.inverse = function (a) {
- if (a === 0) {
- throw new Error("Can't invert 0");
- }
- return this.expTable[this.size - this.logTable[a] - 1];
- };
- GenericGF.prototype.buildMonomial = function (degree, coefficient) {
- if (degree < 0) {
- throw new Error("Invalid monomial degree less than 0");
- }
- if (coefficient === 0) {
- return this.zero;
- }
- var coefficients = new Uint8ClampedArray(degree + 1);
- coefficients[0] = coefficient;
- return new GenericGFPoly_1.default(this, coefficients);
- };
- GenericGF.prototype.log = function (a) {
- if (a === 0) {
- throw new Error("Can't take log(0)");
- }
- return this.logTable[a];
- };
- GenericGF.prototype.exp = function (a) {
- return this.expTable[a];
- };
- return GenericGF;
- })();
- exports.default = GenericGF;
-
- /***/
- },
- /* 2 */
- /***/ function (module, exports, __webpack_require__) {
- "use strict";
-
- Object.defineProperty(exports, "__esModule", { value: true });
- var GenericGF_1 = __webpack_require__(1);
- var GenericGFPoly = /** @class */ (function () {
- function GenericGFPoly(field, coefficients) {
- if (coefficients.length === 0) {
- throw new Error("No coefficients.");
- }
- this.field = field;
- var coefficientsLength = coefficients.length;
- if (coefficientsLength > 1 && coefficients[0] === 0) {
- // Leading term must be non-zero for anything except the constant polynomial "0"
- var firstNonZero = 1;
- while (
- firstNonZero < coefficientsLength &&
- coefficients[firstNonZero] === 0
- ) {
- firstNonZero++;
- }
- if (firstNonZero === coefficientsLength) {
- this.coefficients = field.zero.coefficients;
- } else {
- this.coefficients = new Uint8ClampedArray(
- coefficientsLength - firstNonZero
- );
- for (var i = 0; i < this.coefficients.length; i++) {
- this.coefficients[i] = coefficients[firstNonZero + i];
- }
- }
- } else {
- this.coefficients = coefficients;
- }
- }
- GenericGFPoly.prototype.degree = function () {
- return this.coefficients.length - 1;
- };
- GenericGFPoly.prototype.isZero = function () {
- return this.coefficients[0] === 0;
- };
- GenericGFPoly.prototype.getCoefficient = function (degree) {
- return this.coefficients[this.coefficients.length - 1 - degree];
- };
- GenericGFPoly.prototype.addOrSubtract = function (other) {
- var _a;
- if (this.isZero()) {
- return other;
- }
- if (other.isZero()) {
- return this;
- }
- var smallerCoefficients = this.coefficients;
- var largerCoefficients = other.coefficients;
- if (smallerCoefficients.length > largerCoefficients.length) {
- (_a = [largerCoefficients, smallerCoefficients]),
- (smallerCoefficients = _a[0]),
- (largerCoefficients = _a[1]);
- }
- var sumDiff = new Uint8ClampedArray(largerCoefficients.length);
- var lengthDiff =
- largerCoefficients.length - smallerCoefficients.length;
- for (var i = 0; i < lengthDiff; i++) {
- sumDiff[i] = largerCoefficients[i];
- }
- for (var i = lengthDiff; i < largerCoefficients.length; i++) {
- sumDiff[i] = GenericGF_1.addOrSubtractGF(
- smallerCoefficients[i - lengthDiff],
- largerCoefficients[i]
- );
- }
- return new GenericGFPoly(this.field, sumDiff);
- };
- GenericGFPoly.prototype.multiply = function (scalar) {
- if (scalar === 0) {
- return this.field.zero;
- }
- if (scalar === 1) {
- return this;
- }
- var size = this.coefficients.length;
- var product = new Uint8ClampedArray(size);
- for (var i = 0; i < size; i++) {
- product[i] = this.field.multiply(this.coefficients[i], scalar);
- }
- return new GenericGFPoly(this.field, product);
- };
- GenericGFPoly.prototype.multiplyPoly = function (other) {
- if (this.isZero() || other.isZero()) {
- return this.field.zero;
- }
- var aCoefficients = this.coefficients;
- var aLength = aCoefficients.length;
- var bCoefficients = other.coefficients;
- var bLength = bCoefficients.length;
- var product = new Uint8ClampedArray(aLength + bLength - 1);
- for (var i = 0; i < aLength; i++) {
- var aCoeff = aCoefficients[i];
- for (var j = 0; j < bLength; j++) {
- product[i + j] = GenericGF_1.addOrSubtractGF(
- product[i + j],
- this.field.multiply(aCoeff, bCoefficients[j])
- );
- }
- }
- return new GenericGFPoly(this.field, product);
- };
- GenericGFPoly.prototype.multiplyByMonomial = function (
- degree,
- coefficient
- ) {
- if (degree < 0) {
- throw new Error("Invalid degree less than 0");
- }
- if (coefficient === 0) {
- return this.field.zero;
- }
- var size = this.coefficients.length;
- var product = new Uint8ClampedArray(size + degree);
- for (var i = 0; i < size; i++) {
- product[i] = this.field.multiply(
- this.coefficients[i],
- coefficient
- );
- }
- return new GenericGFPoly(this.field, product);
- };
- GenericGFPoly.prototype.evaluateAt = function (a) {
- var result = 0;
- if (a === 0) {
- // Just return the x^0 coefficient
- return this.getCoefficient(0);
- }
- var size = this.coefficients.length;
- if (a === 1) {
- // Just the sum of the coefficients
- this.coefficients.forEach(function (coefficient) {
- result = GenericGF_1.addOrSubtractGF(result, coefficient);
- });
- return result;
- }
- result = this.coefficients[0];
- for (var i = 1; i < size; i++) {
- result = GenericGF_1.addOrSubtractGF(
- this.field.multiply(a, result),
- this.coefficients[i]
- );
- }
- return result;
- };
- return GenericGFPoly;
- })();
- exports.default = GenericGFPoly;
-
- /***/
- },
- /* 3 */
- /***/ function (module, exports, __webpack_require__) {
- "use strict";
-
- Object.defineProperty(exports, "__esModule", { value: true });
- var binarizer_1 = __webpack_require__(4);
- var decoder_1 = __webpack_require__(5);
- var extractor_1 = __webpack_require__(11);
- var locator_1 = __webpack_require__(12);
- function scan(matrix) {
- var locations = locator_1.locate(matrix);
- if (!locations) {
- return null;
- }
- for (
- var _i = 0, locations_1 = locations;
- _i < locations_1.length;
- _i++
- ) {
- var location_1 = locations_1[_i];
- var extracted = extractor_1.extract(matrix, location_1);
- var decoded = decoder_1.decode(extracted.matrix);
- if (decoded) {
- return {
- binaryData: decoded.bytes,
- data: decoded.text,
- chunks: decoded.chunks,
- version: decoded.version,
- location: {
- topRightCorner: extracted.mappingFunction(
- location_1.dimension,
- 0
- ),
- topLeftCorner: extracted.mappingFunction(0, 0),
- bottomRightCorner: extracted.mappingFunction(
- location_1.dimension,
- location_1.dimension
- ),
- bottomLeftCorner: extracted.mappingFunction(
- 0,
- location_1.dimension
- ),
- topRightFinderPattern: location_1.topRight,
- topLeftFinderPattern: location_1.topLeft,
- bottomLeftFinderPattern: location_1.bottomLeft,
- bottomRightAlignmentPattern: location_1.alignmentPattern,
- },
- };
- }
- }
- return null;
- }
- var defaultOptions = {
- inversionAttempts: "attemptBoth",
- };
- function jsQR(data, width, height, providedOptions) {
- if (providedOptions === void 0) {
- providedOptions = {};
- }
- var options = defaultOptions;
- Object.keys(options || {}).forEach(function (opt) {
- options[opt] = providedOptions[opt] || options[opt];
- });
- var shouldInvert =
- options.inversionAttempts === "attemptBoth" ||
- options.inversionAttempts === "invertFirst";
- var tryInvertedFirst =
- options.inversionAttempts === "onlyInvert" ||
- options.inversionAttempts === "invertFirst";
- var _a = binarizer_1.binarize(data, width, height, shouldInvert),
- binarized = _a.binarized,
- inverted = _a.inverted;
- var result = scan(tryInvertedFirst ? inverted : binarized);
- if (
- !result &&
- (options.inversionAttempts === "attemptBoth" ||
- options.inversionAttempts === "invertFirst")
- ) {
- result = scan(tryInvertedFirst ? binarized : inverted);
- }
- return result;
- }
- jsQR.default = jsQR;
- exports.default = jsQR;
-
- /***/
- },
- /* 4 */
- /***/ function (module, exports, __webpack_require__) {
- "use strict";
-
- Object.defineProperty(exports, "__esModule", { value: true });
- var BitMatrix_1 = __webpack_require__(0);
- var REGION_SIZE = 8;
- var MIN_DYNAMIC_RANGE = 24;
- function numBetween(value, min, max) {
- return value < min ? min : value > max ? max : value;
- }
- // Like BitMatrix but accepts arbitry Uint8 values
- var Matrix = /** @class */ (function () {
- function Matrix(width, height) {
- this.width = width;
- this.data = new Uint8ClampedArray(width * height);
- }
- Matrix.prototype.get = function (x, y) {
- return this.data[y * this.width + x];
- };
- Matrix.prototype.set = function (x, y, value) {
- this.data[y * this.width + x] = value;
- };
- return Matrix;
- })();
- function binarize(data, width, height, returnInverted) {
- if (data.length !== width * height * 4) {
- throw new Error("Malformed data passed to binarizer.");
- }
- // Convert image to greyscale
- var greyscalePixels = new Matrix(width, height);
- for (var x = 0; x < width; x++) {
- for (var y = 0; y < height; y++) {
- var r = data[(y * width + x) * 4 + 0];
- var g = data[(y * width + x) * 4 + 1];
- var b = data[(y * width + x) * 4 + 2];
- greyscalePixels.set(x, y, 0.2126 * r + 0.7152 * g + 0.0722 * b);
- }
- }
- var horizontalRegionCount = Math.ceil(width / REGION_SIZE);
- var verticalRegionCount = Math.ceil(height / REGION_SIZE);
- var blackPoints = new Matrix(
- horizontalRegionCount,
- verticalRegionCount
- );
- for (
- var verticalRegion = 0;
- verticalRegion < verticalRegionCount;
- verticalRegion++
- ) {
- for (
- var hortizontalRegion = 0;
- hortizontalRegion < horizontalRegionCount;
- hortizontalRegion++
- ) {
- var sum = 0;
- var min = Infinity;
- var max = 0;
- for (var y = 0; y < REGION_SIZE; y++) {
- for (var x = 0; x < REGION_SIZE; x++) {
- var pixelLumosity = greyscalePixels.get(
- hortizontalRegion * REGION_SIZE + x,
- verticalRegion * REGION_SIZE + y
- );
- sum += pixelLumosity;
- min = Math.min(min, pixelLumosity);
- max = Math.max(max, pixelLumosity);
- }
- }
- var average = sum / Math.pow(REGION_SIZE, 2);
- if (max - min <= MIN_DYNAMIC_RANGE) {
- // If variation within the block is low, assume this is a block with only light or only
- // dark pixels. In that case we do not want to use the average, as it would divide this
- // low contrast area into black and white pixels, essentially creating data out of noise.
- //
- // Default the blackpoint for these blocks to be half the min - effectively white them out
- average = min / 2;
- if (verticalRegion > 0 && hortizontalRegion > 0) {
- // Correct the "white background" assumption for blocks that have neighbors by comparing
- // the pixels in this block to the previously calculated black points. This is based on
- // the fact that dark barcode symbology is always surrounded by some amount of light
- // background for which reasonable black point estimates were made. The bp estimated at
- // the boundaries is used for the interior.
- // The (min < bp) is arbitrary but works better than other heuristics that were tried.
- var averageNeighborBlackPoint =
- (blackPoints.get(hortizontalRegion, verticalRegion - 1) +
- 2 *
- blackPoints.get(hortizontalRegion - 1, verticalRegion) +
- blackPoints.get(
- hortizontalRegion - 1,
- verticalRegion - 1
- )) /
- 4;
- if (min < averageNeighborBlackPoint) {
- average = averageNeighborBlackPoint;
- }
- }
- }
- blackPoints.set(hortizontalRegion, verticalRegion, average);
- }
- }
- var binarized = BitMatrix_1.BitMatrix.createEmpty(width, height);
- var inverted = null;
- if (returnInverted) {
- inverted = BitMatrix_1.BitMatrix.createEmpty(width, height);
- }
- for (
- var verticalRegion = 0;
- verticalRegion < verticalRegionCount;
- verticalRegion++
- ) {
- for (
- var hortizontalRegion = 0;
- hortizontalRegion < horizontalRegionCount;
- hortizontalRegion++
- ) {
- var left = numBetween(
- hortizontalRegion,
- 2,
- horizontalRegionCount - 3
- );
- var top_1 = numBetween(
- verticalRegion,
- 2,
- verticalRegionCount - 3
- );
- var sum = 0;
- for (var xRegion = -2; xRegion <= 2; xRegion++) {
- for (var yRegion = -2; yRegion <= 2; yRegion++) {
- sum += blackPoints.get(left + xRegion, top_1 + yRegion);
- }
- }
- var threshold = sum / 25;
- for (var xRegion = 0; xRegion < REGION_SIZE; xRegion++) {
- for (var yRegion = 0; yRegion < REGION_SIZE; yRegion++) {
- var x = hortizontalRegion * REGION_SIZE + xRegion;
- var y = verticalRegion * REGION_SIZE + yRegion;
- var lum = greyscalePixels.get(x, y);
- binarized.set(x, y, lum <= threshold);
- if (returnInverted) {
- inverted.set(x, y, !(lum <= threshold));
- }
- }
- }
- }
- }
- if (returnInverted) {
- return { binarized: binarized, inverted: inverted };
- }
- return { binarized: binarized };
- }
- exports.binarize = binarize;
-
- /***/
- },
- /* 5 */
- /***/ function (module, exports, __webpack_require__) {
- "use strict";
-
- Object.defineProperty(exports, "__esModule", { value: true });
- var BitMatrix_1 = __webpack_require__(0);
- var decodeData_1 = __webpack_require__(6);
- var reedsolomon_1 = __webpack_require__(9);
- var version_1 = __webpack_require__(10);
- // tslint:disable:no-bitwise
- function numBitsDiffering(x, y) {
- var z = x ^ y;
- var bitCount = 0;
- while (z) {
- bitCount++;
- z &= z - 1;
- }
- return bitCount;
- }
- function pushBit(bit, byte) {
- return (byte << 1) | bit;
- }
- // tslint:enable:no-bitwise
- var FORMAT_INFO_TABLE = [
- {
- bits: 0x5412,
- formatInfo: { errorCorrectionLevel: 1, dataMask: 0 },
- },
- {
- bits: 0x5125,
- formatInfo: { errorCorrectionLevel: 1, dataMask: 1 },
- },
- {
- bits: 0x5e7c,
- formatInfo: { errorCorrectionLevel: 1, dataMask: 2 },
- },
- {
- bits: 0x5b4b,
- formatInfo: { errorCorrectionLevel: 1, dataMask: 3 },
- },
- {
- bits: 0x45f9,
- formatInfo: { errorCorrectionLevel: 1, dataMask: 4 },
- },
- {
- bits: 0x40ce,
- formatInfo: { errorCorrectionLevel: 1, dataMask: 5 },
- },
- {
- bits: 0x4f97,
- formatInfo: { errorCorrectionLevel: 1, dataMask: 6 },
- },
- {
- bits: 0x4aa0,
- formatInfo: { errorCorrectionLevel: 1, dataMask: 7 },
- },
- {
- bits: 0x77c4,
- formatInfo: { errorCorrectionLevel: 0, dataMask: 0 },
- },
- {
- bits: 0x72f3,
- formatInfo: { errorCorrectionLevel: 0, dataMask: 1 },
- },
- {
- bits: 0x7daa,
- formatInfo: { errorCorrectionLevel: 0, dataMask: 2 },
- },
- {
- bits: 0x789d,
- formatInfo: { errorCorrectionLevel: 0, dataMask: 3 },
- },
- {
- bits: 0x662f,
- formatInfo: { errorCorrectionLevel: 0, dataMask: 4 },
- },
- {
- bits: 0x6318,
- formatInfo: { errorCorrectionLevel: 0, dataMask: 5 },
- },
- {
- bits: 0x6c41,
- formatInfo: { errorCorrectionLevel: 0, dataMask: 6 },
- },
- {
- bits: 0x6976,
- formatInfo: { errorCorrectionLevel: 0, dataMask: 7 },
- },
- {
- bits: 0x1689,
- formatInfo: { errorCorrectionLevel: 3, dataMask: 0 },
- },
- {
- bits: 0x13be,
- formatInfo: { errorCorrectionLevel: 3, dataMask: 1 },
- },
- {
- bits: 0x1ce7,
- formatInfo: { errorCorrectionLevel: 3, dataMask: 2 },
- },
- {
- bits: 0x19d0,
- formatInfo: { errorCorrectionLevel: 3, dataMask: 3 },
- },
- {
- bits: 0x0762,
- formatInfo: { errorCorrectionLevel: 3, dataMask: 4 },
- },
- {
- bits: 0x0255,
- formatInfo: { errorCorrectionLevel: 3, dataMask: 5 },
- },
- {
- bits: 0x0d0c,
- formatInfo: { errorCorrectionLevel: 3, dataMask: 6 },
- },
- {
- bits: 0x083b,
- formatInfo: { errorCorrectionLevel: 3, dataMask: 7 },
- },
- {
- bits: 0x355f,
- formatInfo: { errorCorrectionLevel: 2, dataMask: 0 },
- },
- {
- bits: 0x3068,
- formatInfo: { errorCorrectionLevel: 2, dataMask: 1 },
- },
- {
- bits: 0x3f31,
- formatInfo: { errorCorrectionLevel: 2, dataMask: 2 },
- },
- {
- bits: 0x3a06,
- formatInfo: { errorCorrectionLevel: 2, dataMask: 3 },
- },
- {
- bits: 0x24b4,
- formatInfo: { errorCorrectionLevel: 2, dataMask: 4 },
- },
- {
- bits: 0x2183,
- formatInfo: { errorCorrectionLevel: 2, dataMask: 5 },
- },
- {
- bits: 0x2eda,
- formatInfo: { errorCorrectionLevel: 2, dataMask: 6 },
- },
- {
- bits: 0x2bed,
- formatInfo: { errorCorrectionLevel: 2, dataMask: 7 },
- },
- ];
- var DATA_MASKS = [
- function (p) {
- return (p.y + p.x) % 2 === 0;
- },
- function (p) {
- return p.y % 2 === 0;
- },
- function (p) {
- return p.x % 3 === 0;
- },
- function (p) {
- return (p.y + p.x) % 3 === 0;
- },
- function (p) {
- return (Math.floor(p.y / 2) + Math.floor(p.x / 3)) % 2 === 0;
- },
- function (p) {
- return ((p.x * p.y) % 2) + ((p.x * p.y) % 3) === 0;
- },
- function (p) {
- return (((p.y * p.x) % 2) + ((p.y * p.x) % 3)) % 2 === 0;
- },
- function (p) {
- return (((p.y + p.x) % 2) + ((p.y * p.x) % 3)) % 2 === 0;
- },
- ];
- function buildFunctionPatternMask(version) {
- var dimension = 17 + 4 * version.versionNumber;
- var matrix = BitMatrix_1.BitMatrix.createEmpty(dimension, dimension);
- matrix.setRegion(0, 0, 9, 9, true); // Top left finder pattern + separator + format
- matrix.setRegion(dimension - 8, 0, 8, 9, true); // Top right finder pattern + separator + format
- matrix.setRegion(0, dimension - 8, 9, 8, true); // Bottom left finder pattern + separator + format
- // Alignment patterns
- for (
- var _i = 0, _a = version.alignmentPatternCenters;
- _i < _a.length;
- _i++
- ) {
- var x = _a[_i];
- for (
- var _b = 0, _c = version.alignmentPatternCenters;
- _b < _c.length;
- _b++
- ) {
- var y = _c[_b];
- if (
- !(
- (x === 6 && y === 6) ||
- (x === 6 && y === dimension - 7) ||
- (x === dimension - 7 && y === 6)
- )
- ) {
- matrix.setRegion(x - 2, y - 2, 5, 5, true);
- }
- }
- }
- matrix.setRegion(6, 9, 1, dimension - 17, true); // Vertical timing pattern
- matrix.setRegion(9, 6, dimension - 17, 1, true); // Horizontal timing pattern
- if (version.versionNumber > 6) {
- matrix.setRegion(dimension - 11, 0, 3, 6, true); // Version info, top right
- matrix.setRegion(0, dimension - 11, 6, 3, true); // Version info, bottom left
- }
- return matrix;
- }
- function readCodewords(matrix, version, formatInfo) {
- var dataMask = DATA_MASKS[formatInfo.dataMask];
- var dimension = matrix.height;
- var functionPatternMask = buildFunctionPatternMask(version);
- var codewords = [];
- var currentByte = 0;
- var bitsRead = 0;
- // Read columns in pairs, from right to left
- var readingUp = true;
- for (
- var columnIndex = dimension - 1;
- columnIndex > 0;
- columnIndex -= 2
- ) {
- if (columnIndex === 6) {
- // Skip whole column with vertical alignment pattern;
- columnIndex--;
- }
- for (var i = 0; i < dimension; i++) {
- var y = readingUp ? dimension - 1 - i : i;
- for (var columnOffset = 0; columnOffset < 2; columnOffset++) {
- var x = columnIndex - columnOffset;
- if (!functionPatternMask.get(x, y)) {
- bitsRead++;
- var bit = matrix.get(x, y);
- if (dataMask({ y: y, x: x })) {
- bit = !bit;
- }
- currentByte = pushBit(bit, currentByte);
- if (bitsRead === 8) {
- // Whole bytes
- codewords.push(currentByte);
- bitsRead = 0;
- currentByte = 0;
- }
- }
- }
- }
- readingUp = !readingUp;
- }
- return codewords;
- }
- function readVersion(matrix) {
- var dimension = matrix.height;
- var provisionalVersion = Math.floor((dimension - 17) / 4);
- if (provisionalVersion <= 6) {
- // 6 and under dont have version info in the QR code
- return version_1.VERSIONS[provisionalVersion - 1];
- }
- var topRightVersionBits = 0;
- for (var y = 5; y >= 0; y--) {
- for (var x = dimension - 9; x >= dimension - 11; x--) {
- topRightVersionBits = pushBit(
- matrix.get(x, y),
- topRightVersionBits
- );
- }
- }
- var bottomLeftVersionBits = 0;
- for (var x = 5; x >= 0; x--) {
- for (var y = dimension - 9; y >= dimension - 11; y--) {
- bottomLeftVersionBits = pushBit(
- matrix.get(x, y),
- bottomLeftVersionBits
- );
- }
- }
- var bestDifference = Infinity;
- var bestVersion;
- for (
- var _i = 0, VERSIONS_1 = version_1.VERSIONS;
- _i < VERSIONS_1.length;
- _i++
- ) {
- var version = VERSIONS_1[_i];
- if (
- version.infoBits === topRightVersionBits ||
- version.infoBits === bottomLeftVersionBits
- ) {
- return version;
- }
- var difference = numBitsDiffering(
- topRightVersionBits,
- version.infoBits
- );
- if (difference < bestDifference) {
- bestVersion = version;
- bestDifference = difference;
- }
- difference = numBitsDiffering(
- bottomLeftVersionBits,
- version.infoBits
- );
- if (difference < bestDifference) {
- bestVersion = version;
- bestDifference = difference;
- }
- }
- // We can tolerate up to 3 bits of error since no two version info codewords will
- // differ in less than 8 bits.
- if (bestDifference <= 3) {
- return bestVersion;
- }
- }
- function readFormatInformation(matrix) {
- var topLeftFormatInfoBits = 0;
- for (var x = 0; x <= 8; x++) {
- if (x !== 6) {
- // Skip timing pattern bit
- topLeftFormatInfoBits = pushBit(
- matrix.get(x, 8),
- topLeftFormatInfoBits
- );
- }
- }
- for (var y = 7; y >= 0; y--) {
- if (y !== 6) {
- // Skip timing pattern bit
- topLeftFormatInfoBits = pushBit(
- matrix.get(8, y),
- topLeftFormatInfoBits
- );
- }
- }
- var dimension = matrix.height;
- var topRightBottomRightFormatInfoBits = 0;
- for (var y = dimension - 1; y >= dimension - 7; y--) {
- // bottom left
- topRightBottomRightFormatInfoBits = pushBit(
- matrix.get(8, y),
- topRightBottomRightFormatInfoBits
- );
- }
- for (var x = dimension - 8; x < dimension; x++) {
- // top right
- topRightBottomRightFormatInfoBits = pushBit(
- matrix.get(x, 8),
- topRightBottomRightFormatInfoBits
- );
- }
- var bestDifference = Infinity;
- var bestFormatInfo = null;
- for (
- var _i = 0, FORMAT_INFO_TABLE_1 = FORMAT_INFO_TABLE;
- _i < FORMAT_INFO_TABLE_1.length;
- _i++
- ) {
- var _a = FORMAT_INFO_TABLE_1[_i],
- bits = _a.bits,
- formatInfo = _a.formatInfo;
- if (
- bits === topLeftFormatInfoBits ||
- bits === topRightBottomRightFormatInfoBits
- ) {
- return formatInfo;
- }
- var difference = numBitsDiffering(topLeftFormatInfoBits, bits);
- if (difference < bestDifference) {
- bestFormatInfo = formatInfo;
- bestDifference = difference;
- }
- if (topLeftFormatInfoBits !== topRightBottomRightFormatInfoBits) {
- // also try the other option
- difference = numBitsDiffering(
- topRightBottomRightFormatInfoBits,
- bits
- );
- if (difference < bestDifference) {
- bestFormatInfo = formatInfo;
- bestDifference = difference;
- }
- }
- }
- // Hamming distance of the 32 masked codes is 7, by construction, so <= 3 bits differing means we found a match
- if (bestDifference <= 3) {
- return bestFormatInfo;
- }
- return null;
- }
- function getDataBlocks(codewords, version, ecLevel) {
- var ecInfo = version.errorCorrectionLevels[ecLevel];
- var dataBlocks = [];
- var totalCodewords = 0;
- ecInfo.ecBlocks.forEach(function (block) {
- for (var i = 0; i < block.numBlocks; i++) {
- dataBlocks.push({
- numDataCodewords: block.dataCodewordsPerBlock,
- codewords: [],
- });
- totalCodewords +=
- block.dataCodewordsPerBlock + ecInfo.ecCodewordsPerBlock;
- }
- });
- // In some cases the QR code will be malformed enough that we pull off more or less than we should.
- // If we pull off less there's nothing we can do.
- // If we pull off more we can safely truncate
- if (codewords.length < totalCodewords) {
- return null;
- }
- codewords = codewords.slice(0, totalCodewords);
- var shortBlockSize = ecInfo.ecBlocks[0].dataCodewordsPerBlock;
- // Pull codewords to fill the blocks up to the minimum size
- for (var i = 0; i < shortBlockSize; i++) {
- for (
- var _i = 0, dataBlocks_1 = dataBlocks;
- _i < dataBlocks_1.length;
- _i++
- ) {
- var dataBlock = dataBlocks_1[_i];
- dataBlock.codewords.push(codewords.shift());
- }
- }
- // If there are any large blocks, pull codewords to fill the last element of those
- if (ecInfo.ecBlocks.length > 1) {
- var smallBlockCount = ecInfo.ecBlocks[0].numBlocks;
- var largeBlockCount = ecInfo.ecBlocks[1].numBlocks;
- for (var i = 0; i < largeBlockCount; i++) {
- dataBlocks[smallBlockCount + i].codewords.push(codewords.shift());
- }
- }
- // Add the rest of the codewords to the blocks. These are the error correction codewords.
- while (codewords.length > 0) {
- for (
- var _a = 0, dataBlocks_2 = dataBlocks;
- _a < dataBlocks_2.length;
- _a++
- ) {
- var dataBlock = dataBlocks_2[_a];
- dataBlock.codewords.push(codewords.shift());
- }
- }
- return dataBlocks;
- }
- function decodeMatrix(matrix) {
- var version = readVersion(matrix);
- if (!version) {
- return null;
- }
- var formatInfo = readFormatInformation(matrix);
- if (!formatInfo) {
- return null;
- }
- var codewords = readCodewords(matrix, version, formatInfo);
- var dataBlocks = getDataBlocks(
- codewords,
- version,
- formatInfo.errorCorrectionLevel
- );
- if (!dataBlocks) {
- return null;
- }
- // Count total number of data bytes
- var totalBytes = dataBlocks.reduce(function (a, b) {
- return a + b.numDataCodewords;
- }, 0);
- var resultBytes = new Uint8ClampedArray(totalBytes);
- var resultIndex = 0;
- for (
- var _i = 0, dataBlocks_3 = dataBlocks;
- _i < dataBlocks_3.length;
- _i++
- ) {
- var dataBlock = dataBlocks_3[_i];
- var correctedBytes = reedsolomon_1.decode(
- dataBlock.codewords,
- dataBlock.codewords.length - dataBlock.numDataCodewords
- );
- if (!correctedBytes) {
- return null;
- }
- for (var i = 0; i < dataBlock.numDataCodewords; i++) {
- resultBytes[resultIndex++] = correctedBytes[i];
- }
- }
- try {
- return decodeData_1.decode(resultBytes, version.versionNumber);
- } catch (_a) {
- return null;
- }
- }
- function decode(matrix) {
- if (matrix == null) {
- return null;
- }
- var result = decodeMatrix(matrix);
- if (result) {
- return result;
- }
- // Decoding didn't work, try mirroring the QR across the topLeft -> bottomRight line.
- for (var x = 0; x < matrix.width; x++) {
- for (var y = x + 1; y < matrix.height; y++) {
- if (matrix.get(x, y) !== matrix.get(y, x)) {
- matrix.set(x, y, !matrix.get(x, y));
- matrix.set(y, x, !matrix.get(y, x));
- }
- }
- }
- return decodeMatrix(matrix);
- }
- exports.decode = decode;
-
- /***/
- },
- /* 6 */
- /***/ function (module, exports, __webpack_require__) {
- "use strict";
-
- Object.defineProperty(exports, "__esModule", { value: true });
- // tslint:disable:no-bitwise
- var BitStream_1 = __webpack_require__(7);
- var shiftJISTable_1 = __webpack_require__(8);
- var Mode;
- (function (Mode) {
- Mode["Numeric"] = "numeric";
- Mode["Alphanumeric"] = "alphanumeric";
- Mode["Byte"] = "byte";
- Mode["Kanji"] = "kanji";
- Mode["ECI"] = "eci";
- })((Mode = exports.Mode || (exports.Mode = {})));
- var ModeByte;
- (function (ModeByte) {
- ModeByte[(ModeByte["Terminator"] = 0)] = "Terminator";
- ModeByte[(ModeByte["Numeric"] = 1)] = "Numeric";
- ModeByte[(ModeByte["Alphanumeric"] = 2)] = "Alphanumeric";
- ModeByte[(ModeByte["Byte"] = 4)] = "Byte";
- ModeByte[(ModeByte["Kanji"] = 8)] = "Kanji";
- ModeByte[(ModeByte["ECI"] = 7)] = "ECI";
- // StructuredAppend = 0x3,
- // FNC1FirstPosition = 0x5,
- // FNC1SecondPosition = 0x9,
- })(ModeByte || (ModeByte = {}));
- function decodeNumeric(stream, size) {
- var bytes = [];
- var text = "";
- var characterCountSize = [10, 12, 14][size];
- var length = stream.readBits(characterCountSize);
- // Read digits in groups of 3
- while (length >= 3) {
- var num = stream.readBits(10);
- if (num >= 1000) {
- throw new Error("Invalid numeric value above 999");
- }
- var a = Math.floor(num / 100);
- var b = Math.floor(num / 10) % 10;
- var c = num % 10;
- bytes.push(48 + a, 48 + b, 48 + c);
- text += a.toString() + b.toString() + c.toString();
- length -= 3;
- }
- // If the number of digits aren't a multiple of 3, the remaining digits are special cased.
- if (length === 2) {
- var num = stream.readBits(7);
- if (num >= 100) {
- throw new Error("Invalid numeric value above 99");
- }
- var a = Math.floor(num / 10);
- var b = num % 10;
- bytes.push(48 + a, 48 + b);
- text += a.toString() + b.toString();
- } else if (length === 1) {
- var num = stream.readBits(4);
- if (num >= 10) {
- throw new Error("Invalid numeric value above 9");
- }
- bytes.push(48 + num);
- text += num.toString();
- }
- return { bytes: bytes, text: text };
- }
- var AlphanumericCharacterCodes = [
- "0",
- "1",
- "2",
- "3",
- "4",
- "5",
- "6",
- "7",
- "8",
- "9",
- "A",
- "B",
- "C",
- "D",
- "E",
- "F",
- "G",
- "H",
- "I",
- "J",
- "K",
- "L",
- "M",
- "N",
- "O",
- "P",
- "Q",
- "R",
- "S",
- "T",
- "U",
- "V",
- "W",
- "X",
- "Y",
- "Z",
- " ",
- "$",
- "%",
- "*",
- "+",
- "-",
- ".",
- "/",
- ":",
- ];
- function decodeAlphanumeric(stream, size) {
- var bytes = [];
- var text = "";
- var characterCountSize = [9, 11, 13][size];
- var length = stream.readBits(characterCountSize);
- while (length >= 2) {
- var v = stream.readBits(11);
- var a = Math.floor(v / 45);
- var b = v % 45;
- bytes.push(
- AlphanumericCharacterCodes[a].charCodeAt(0),
- AlphanumericCharacterCodes[b].charCodeAt(0)
- );
- text +=
- AlphanumericCharacterCodes[a] + AlphanumericCharacterCodes[b];
- length -= 2;
- }
- if (length === 1) {
- var a = stream.readBits(6);
- bytes.push(AlphanumericCharacterCodes[a].charCodeAt(0));
- text += AlphanumericCharacterCodes[a];
- }
- return { bytes: bytes, text: text };
- }
- function decodeByte(stream, size) {
- var bytes = [];
- var text = "";
- var characterCountSize = [8, 16, 16][size];
- var length = stream.readBits(characterCountSize);
- for (var i = 0; i < length; i++) {
- var b = stream.readBits(8);
- bytes.push(b);
- }
- try {
- text += decodeURIComponent(
- bytes
- .map(function (b) {
- return "%" + ("0" + b.toString(16)).substr(-2);
- })
- .join("")
- );
- } catch (_a) {
- // failed to decode
- }
- return { bytes: bytes, text: text };
- }
- function decodeKanji(stream, size) {
- var bytes = [];
- var text = "";
- var characterCountSize = [8, 10, 12][size];
- var length = stream.readBits(characterCountSize);
- for (var i = 0; i < length; i++) {
- var k = stream.readBits(13);
- var c = (Math.floor(k / 0xc0) << 8) | k % 0xc0;
- if (c < 0x1f00) {
- c += 0x8140;
- } else {
- c += 0xc140;
- }
- bytes.push(c >> 8, c & 0xff);
- text += String.fromCharCode(shiftJISTable_1.shiftJISTable[c]);
- }
- return { bytes: bytes, text: text };
- }
- function decode(data, version) {
- var _a, _b, _c, _d;
- var stream = new BitStream_1.BitStream(data);
- // There are 3 'sizes' based on the version. 1-9 is small (0), 10-26 is medium (1) and 27-40 is large (2).
- var size = version <= 9 ? 0 : version <= 26 ? 1 : 2;
- var result = {
- text: "",
- bytes: [],
- chunks: [],
- version: version,
- };
- while (stream.available() >= 4) {
- var mode = stream.readBits(4);
- if (mode === ModeByte.Terminator) {
- return result;
- } else if (mode === ModeByte.ECI) {
- if (stream.readBits(1) === 0) {
- result.chunks.push({
- type: Mode.ECI,
- assignmentNumber: stream.readBits(7),
- });
- } else if (stream.readBits(1) === 0) {
- result.chunks.push({
- type: Mode.ECI,
- assignmentNumber: stream.readBits(14),
- });
- } else if (stream.readBits(1) === 0) {
- result.chunks.push({
- type: Mode.ECI,
- assignmentNumber: stream.readBits(21),
- });
- } else {
- // ECI data seems corrupted
- result.chunks.push({
- type: Mode.ECI,
- assignmentNumber: -1,
- });
- }
- } else if (mode === ModeByte.Numeric) {
- var numericResult = decodeNumeric(stream, size);
- result.text += numericResult.text;
- (_a = result.bytes).push.apply(_a, numericResult.bytes);
- result.chunks.push({
- type: Mode.Numeric,
- text: numericResult.text,
- });
- } else if (mode === ModeByte.Alphanumeric) {
- var alphanumericResult = decodeAlphanumeric(stream, size);
- result.text += alphanumericResult.text;
- (_b = result.bytes).push.apply(_b, alphanumericResult.bytes);
- result.chunks.push({
- type: Mode.Alphanumeric,
- text: alphanumericResult.text,
- });
- } else if (mode === ModeByte.Byte) {
- var byteResult = decodeByte(stream, size);
- result.text += byteResult.text;
- (_c = result.bytes).push.apply(_c, byteResult.bytes);
- result.chunks.push({
- type: Mode.Byte,
- bytes: byteResult.bytes,
- text: byteResult.text,
- });
- } else if (mode === ModeByte.Kanji) {
- var kanjiResult = decodeKanji(stream, size);
- result.text += kanjiResult.text;
- (_d = result.bytes).push.apply(_d, kanjiResult.bytes);
- result.chunks.push({
- type: Mode.Kanji,
- bytes: kanjiResult.bytes,
- text: kanjiResult.text,
- });
- }
- }
- // If there is no data left, or the remaining bits are all 0, then that counts as a termination marker
- if (
- stream.available() === 0 ||
- stream.readBits(stream.available()) === 0
- ) {
- return result;
- }
- }
- exports.decode = decode;
-
- /***/
- },
- /* 7 */
- /***/ function (module, exports, __webpack_require__) {
- "use strict";
-
- // tslint:disable:no-bitwise
- Object.defineProperty(exports, "__esModule", { value: true });
- var BitStream = /** @class */ (function () {
- function BitStream(bytes) {
- this.byteOffset = 0;
- this.bitOffset = 0;
- this.bytes = bytes;
- }
- BitStream.prototype.readBits = function (numBits) {
- if (numBits < 1 || numBits > 32 || numBits > this.available()) {
- throw new Error("Cannot read " + numBits.toString() + " bits");
- }
- var result = 0;
- // First, read remainder from current byte
- if (this.bitOffset > 0) {
- var bitsLeft = 8 - this.bitOffset;
- var toRead = numBits < bitsLeft ? numBits : bitsLeft;
- var bitsToNotRead = bitsLeft - toRead;
- var mask = (0xff >> (8 - toRead)) << bitsToNotRead;
- result = (this.bytes[this.byteOffset] & mask) >> bitsToNotRead;
- numBits -= toRead;
- this.bitOffset += toRead;
- if (this.bitOffset === 8) {
- this.bitOffset = 0;
- this.byteOffset++;
- }
- }
- // Next read whole bytes
- if (numBits > 0) {
- while (numBits >= 8) {
- result = (result << 8) | (this.bytes[this.byteOffset] & 0xff);
- this.byteOffset++;
- numBits -= 8;
- }
- // Finally read a partial byte
- if (numBits > 0) {
- var bitsToNotRead = 8 - numBits;
- var mask = (0xff >> bitsToNotRead) << bitsToNotRead;
- result =
- (result << numBits) |
- ((this.bytes[this.byteOffset] & mask) >> bitsToNotRead);
- this.bitOffset += numBits;
- }
- }
- return result;
- };
- BitStream.prototype.available = function () {
- return 8 * (this.bytes.length - this.byteOffset) - this.bitOffset;
- };
- return BitStream;
- })();
- exports.BitStream = BitStream;
-
- /***/
- },
- /* 8 */
- /***/ function (module, exports, __webpack_require__) {
- "use strict";
-
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.shiftJISTable = {
- 0x20: 0x0020,
- 0x21: 0x0021,
- 0x22: 0x0022,
- 0x23: 0x0023,
- 0x24: 0x0024,
- 0x25: 0x0025,
- 0x26: 0x0026,
- 0x27: 0x0027,
- 0x28: 0x0028,
- 0x29: 0x0029,
- 0x2a: 0x002a,
- 0x2b: 0x002b,
- 0x2c: 0x002c,
- 0x2d: 0x002d,
- 0x2e: 0x002e,
- 0x2f: 0x002f,
- 0x30: 0x0030,
- 0x31: 0x0031,
- 0x32: 0x0032,
- 0x33: 0x0033,
- 0x34: 0x0034,
- 0x35: 0x0035,
- 0x36: 0x0036,
- 0x37: 0x0037,
- 0x38: 0x0038,
- 0x39: 0x0039,
- 0x3a: 0x003a,
- 0x3b: 0x003b,
- 0x3c: 0x003c,
- 0x3d: 0x003d,
- 0x3e: 0x003e,
- 0x3f: 0x003f,
- 0x40: 0x0040,
- 0x41: 0x0041,
- 0x42: 0x0042,
- 0x43: 0x0043,
- 0x44: 0x0044,
- 0x45: 0x0045,
- 0x46: 0x0046,
- 0x47: 0x0047,
- 0x48: 0x0048,
- 0x49: 0x0049,
- 0x4a: 0x004a,
- 0x4b: 0x004b,
- 0x4c: 0x004c,
- 0x4d: 0x004d,
- 0x4e: 0x004e,
- 0x4f: 0x004f,
- 0x50: 0x0050,
- 0x51: 0x0051,
- 0x52: 0x0052,
- 0x53: 0x0053,
- 0x54: 0x0054,
- 0x55: 0x0055,
- 0x56: 0x0056,
- 0x57: 0x0057,
- 0x58: 0x0058,
- 0x59: 0x0059,
- 0x5a: 0x005a,
- 0x5b: 0x005b,
- 0x5c: 0x00a5,
- 0x5d: 0x005d,
- 0x5e: 0x005e,
- 0x5f: 0x005f,
- 0x60: 0x0060,
- 0x61: 0x0061,
- 0x62: 0x0062,
- 0x63: 0x0063,
- 0x64: 0x0064,
- 0x65: 0x0065,
- 0x66: 0x0066,
- 0x67: 0x0067,
- 0x68: 0x0068,
- 0x69: 0x0069,
- 0x6a: 0x006a,
- 0x6b: 0x006b,
- 0x6c: 0x006c,
- 0x6d: 0x006d,
- 0x6e: 0x006e,
- 0x6f: 0x006f,
- 0x70: 0x0070,
- 0x71: 0x0071,
- 0x72: 0x0072,
- 0x73: 0x0073,
- 0x74: 0x0074,
- 0x75: 0x0075,
- 0x76: 0x0076,
- 0x77: 0x0077,
- 0x78: 0x0078,
- 0x79: 0x0079,
- 0x7a: 0x007a,
- 0x7b: 0x007b,
- 0x7c: 0x007c,
- 0x7d: 0x007d,
- 0x7e: 0x203e,
- 0x8140: 0x3000,
- 0x8141: 0x3001,
- 0x8142: 0x3002,
- 0x8143: 0xff0c,
- 0x8144: 0xff0e,
- 0x8145: 0x30fb,
- 0x8146: 0xff1a,
- 0x8147: 0xff1b,
- 0x8148: 0xff1f,
- 0x8149: 0xff01,
- 0x814a: 0x309b,
- 0x814b: 0x309c,
- 0x814c: 0x00b4,
- 0x814d: 0xff40,
- 0x814e: 0x00a8,
- 0x814f: 0xff3e,
- 0x8150: 0xffe3,
- 0x8151: 0xff3f,
- 0x8152: 0x30fd,
- 0x8153: 0x30fe,
- 0x8154: 0x309d,
- 0x8155: 0x309e,
- 0x8156: 0x3003,
- 0x8157: 0x4edd,
- 0x8158: 0x3005,
- 0x8159: 0x3006,
- 0x815a: 0x3007,
- 0x815b: 0x30fc,
- 0x815c: 0x2015,
- 0x815d: 0x2010,
- 0x815e: 0xff0f,
- 0x815f: 0x005c,
- 0x8160: 0x301c,
- 0x8161: 0x2016,
- 0x8162: 0xff5c,
- 0x8163: 0x2026,
- 0x8164: 0x2025,
- 0x8165: 0x2018,
- 0x8166: 0x2019,
- 0x8167: 0x201c,
- 0x8168: 0x201d,
- 0x8169: 0xff08,
- 0x816a: 0xff09,
- 0x816b: 0x3014,
- 0x816c: 0x3015,
- 0x816d: 0xff3b,
- 0x816e: 0xff3d,
- 0x816f: 0xff5b,
- 0x8170: 0xff5d,
- 0x8171: 0x3008,
- 0x8172: 0x3009,
- 0x8173: 0x300a,
- 0x8174: 0x300b,
- 0x8175: 0x300c,
- 0x8176: 0x300d,
- 0x8177: 0x300e,
- 0x8178: 0x300f,
- 0x8179: 0x3010,
- 0x817a: 0x3011,
- 0x817b: 0xff0b,
- 0x817c: 0x2212,
- 0x817d: 0x00b1,
- 0x817e: 0x00d7,
- 0x8180: 0x00f7,
- 0x8181: 0xff1d,
- 0x8182: 0x2260,
- 0x8183: 0xff1c,
- 0x8184: 0xff1e,
- 0x8185: 0x2266,
- 0x8186: 0x2267,
- 0x8187: 0x221e,
- 0x8188: 0x2234,
- 0x8189: 0x2642,
- 0x818a: 0x2640,
- 0x818b: 0x00b0,
- 0x818c: 0x2032,
- 0x818d: 0x2033,
- 0x818e: 0x2103,
- 0x818f: 0xffe5,
- 0x8190: 0xff04,
- 0x8191: 0x00a2,
- 0x8192: 0x00a3,
- 0x8193: 0xff05,
- 0x8194: 0xff03,
- 0x8195: 0xff06,
- 0x8196: 0xff0a,
- 0x8197: 0xff20,
- 0x8198: 0x00a7,
- 0x8199: 0x2606,
- 0x819a: 0x2605,
- 0x819b: 0x25cb,
- 0x819c: 0x25cf,
- 0x819d: 0x25ce,
- 0x819e: 0x25c7,
- 0x819f: 0x25c6,
- 0x81a0: 0x25a1,
- 0x81a1: 0x25a0,
- 0x81a2: 0x25b3,
- 0x81a3: 0x25b2,
- 0x81a4: 0x25bd,
- 0x81a5: 0x25bc,
- 0x81a6: 0x203b,
- 0x81a7: 0x3012,
- 0x81a8: 0x2192,
- 0x81a9: 0x2190,
- 0x81aa: 0x2191,
- 0x81ab: 0x2193,
- 0x81ac: 0x3013,
- 0x81b8: 0x2208,
- 0x81b9: 0x220b,
- 0x81ba: 0x2286,
- 0x81bb: 0x2287,
- 0x81bc: 0x2282,
- 0x81bd: 0x2283,
- 0x81be: 0x222a,
- 0x81bf: 0x2229,
- 0x81c8: 0x2227,
- 0x81c9: 0x2228,
- 0x81ca: 0x00ac,
- 0x81cb: 0x21d2,
- 0x81cc: 0x21d4,
- 0x81cd: 0x2200,
- 0x81ce: 0x2203,
- 0x81da: 0x2220,
- 0x81db: 0x22a5,
- 0x81dc: 0x2312,
- 0x81dd: 0x2202,
- 0x81de: 0x2207,
- 0x81df: 0x2261,
- 0x81e0: 0x2252,
- 0x81e1: 0x226a,
- 0x81e2: 0x226b,
- 0x81e3: 0x221a,
- 0x81e4: 0x223d,
- 0x81e5: 0x221d,
- 0x81e6: 0x2235,
- 0x81e7: 0x222b,
- 0x81e8: 0x222c,
- 0x81f0: 0x212b,
- 0x81f1: 0x2030,
- 0x81f2: 0x266f,
- 0x81f3: 0x266d,
- 0x81f4: 0x266a,
- 0x81f5: 0x2020,
- 0x81f6: 0x2021,
- 0x81f7: 0x00b6,
- 0x81fc: 0x25ef,
- 0x824f: 0xff10,
- 0x8250: 0xff11,
- 0x8251: 0xff12,
- 0x8252: 0xff13,
- 0x8253: 0xff14,
- 0x8254: 0xff15,
- 0x8255: 0xff16,
- 0x8256: 0xff17,
- 0x8257: 0xff18,
- 0x8258: 0xff19,
- 0x8260: 0xff21,
- 0x8261: 0xff22,
- 0x8262: 0xff23,
- 0x8263: 0xff24,
- 0x8264: 0xff25,
- 0x8265: 0xff26,
- 0x8266: 0xff27,
- 0x8267: 0xff28,
- 0x8268: 0xff29,
- 0x8269: 0xff2a,
- 0x826a: 0xff2b,
- 0x826b: 0xff2c,
- 0x826c: 0xff2d,
- 0x826d: 0xff2e,
- 0x826e: 0xff2f,
- 0x826f: 0xff30,
- 0x8270: 0xff31,
- 0x8271: 0xff32,
- 0x8272: 0xff33,
- 0x8273: 0xff34,
- 0x8274: 0xff35,
- 0x8275: 0xff36,
- 0x8276: 0xff37,
- 0x8277: 0xff38,
- 0x8278: 0xff39,
- 0x8279: 0xff3a,
- 0x8281: 0xff41,
- 0x8282: 0xff42,
- 0x8283: 0xff43,
- 0x8284: 0xff44,
- 0x8285: 0xff45,
- 0x8286: 0xff46,
- 0x8287: 0xff47,
- 0x8288: 0xff48,
- 0x8289: 0xff49,
- 0x828a: 0xff4a,
- 0x828b: 0xff4b,
- 0x828c: 0xff4c,
- 0x828d: 0xff4d,
- 0x828e: 0xff4e,
- 0x828f: 0xff4f,
- 0x8290: 0xff50,
- 0x8291: 0xff51,
- 0x8292: 0xff52,
- 0x8293: 0xff53,
- 0x8294: 0xff54,
- 0x8295: 0xff55,
- 0x8296: 0xff56,
- 0x8297: 0xff57,
- 0x8298: 0xff58,
- 0x8299: 0xff59,
- 0x829a: 0xff5a,
- 0x829f: 0x3041,
- 0x82a0: 0x3042,
- 0x82a1: 0x3043,
- 0x82a2: 0x3044,
- 0x82a3: 0x3045,
- 0x82a4: 0x3046,
- 0x82a5: 0x3047,
- 0x82a6: 0x3048,
- 0x82a7: 0x3049,
- 0x82a8: 0x304a,
- 0x82a9: 0x304b,
- 0x82aa: 0x304c,
- 0x82ab: 0x304d,
- 0x82ac: 0x304e,
- 0x82ad: 0x304f,
- 0x82ae: 0x3050,
- 0x82af: 0x3051,
- 0x82b0: 0x3052,
- 0x82b1: 0x3053,
- 0x82b2: 0x3054,
- 0x82b3: 0x3055,
- 0x82b4: 0x3056,
- 0x82b5: 0x3057,
- 0x82b6: 0x3058,
- 0x82b7: 0x3059,
- 0x82b8: 0x305a,
- 0x82b9: 0x305b,
- 0x82ba: 0x305c,
- 0x82bb: 0x305d,
- 0x82bc: 0x305e,
- 0x82bd: 0x305f,
- 0x82be: 0x3060,
- 0x82bf: 0x3061,
- 0x82c0: 0x3062,
- 0x82c1: 0x3063,
- 0x82c2: 0x3064,
- 0x82c3: 0x3065,
- 0x82c4: 0x3066,
- 0x82c5: 0x3067,
- 0x82c6: 0x3068,
- 0x82c7: 0x3069,
- 0x82c8: 0x306a,
- 0x82c9: 0x306b,
- 0x82ca: 0x306c,
- 0x82cb: 0x306d,
- 0x82cc: 0x306e,
- 0x82cd: 0x306f,
- 0x82ce: 0x3070,
- 0x82cf: 0x3071,
- 0x82d0: 0x3072,
- 0x82d1: 0x3073,
- 0x82d2: 0x3074,
- 0x82d3: 0x3075,
- 0x82d4: 0x3076,
- 0x82d5: 0x3077,
- 0x82d6: 0x3078,
- 0x82d7: 0x3079,
- 0x82d8: 0x307a,
- 0x82d9: 0x307b,
- 0x82da: 0x307c,
- 0x82db: 0x307d,
- 0x82dc: 0x307e,
- 0x82dd: 0x307f,
- 0x82de: 0x3080,
- 0x82df: 0x3081,
- 0x82e0: 0x3082,
- 0x82e1: 0x3083,
- 0x82e2: 0x3084,
- 0x82e3: 0x3085,
- 0x82e4: 0x3086,
- 0x82e5: 0x3087,
- 0x82e6: 0x3088,
- 0x82e7: 0x3089,
- 0x82e8: 0x308a,
- 0x82e9: 0x308b,
- 0x82ea: 0x308c,
- 0x82eb: 0x308d,
- 0x82ec: 0x308e,
- 0x82ed: 0x308f,
- 0x82ee: 0x3090,
- 0x82ef: 0x3091,
- 0x82f0: 0x3092,
- 0x82f1: 0x3093,
- 0x8340: 0x30a1,
- 0x8341: 0x30a2,
- 0x8342: 0x30a3,
- 0x8343: 0x30a4,
- 0x8344: 0x30a5,
- 0x8345: 0x30a6,
- 0x8346: 0x30a7,
- 0x8347: 0x30a8,
- 0x8348: 0x30a9,
- 0x8349: 0x30aa,
- 0x834a: 0x30ab,
- 0x834b: 0x30ac,
- 0x834c: 0x30ad,
- 0x834d: 0x30ae,
- 0x834e: 0x30af,
- 0x834f: 0x30b0,
- 0x8350: 0x30b1,
- 0x8351: 0x30b2,
- 0x8352: 0x30b3,
- 0x8353: 0x30b4,
- 0x8354: 0x30b5,
- 0x8355: 0x30b6,
- 0x8356: 0x30b7,
- 0x8357: 0x30b8,
- 0x8358: 0x30b9,
- 0x8359: 0x30ba,
- 0x835a: 0x30bb,
- 0x835b: 0x30bc,
- 0x835c: 0x30bd,
- 0x835d: 0x30be,
- 0x835e: 0x30bf,
- 0x835f: 0x30c0,
- 0x8360: 0x30c1,
- 0x8361: 0x30c2,
- 0x8362: 0x30c3,
- 0x8363: 0x30c4,
- 0x8364: 0x30c5,
- 0x8365: 0x30c6,
- 0x8366: 0x30c7,
- 0x8367: 0x30c8,
- 0x8368: 0x30c9,
- 0x8369: 0x30ca,
- 0x836a: 0x30cb,
- 0x836b: 0x30cc,
- 0x836c: 0x30cd,
- 0x836d: 0x30ce,
- 0x836e: 0x30cf,
- 0x836f: 0x30d0,
- 0x8370: 0x30d1,
- 0x8371: 0x30d2,
- 0x8372: 0x30d3,
- 0x8373: 0x30d4,
- 0x8374: 0x30d5,
- 0x8375: 0x30d6,
- 0x8376: 0x30d7,
- 0x8377: 0x30d8,
- 0x8378: 0x30d9,
- 0x8379: 0x30da,
- 0x837a: 0x30db,
- 0x837b: 0x30dc,
- 0x837c: 0x30dd,
- 0x837d: 0x30de,
- 0x837e: 0x30df,
- 0x8380: 0x30e0,
- 0x8381: 0x30e1,
- 0x8382: 0x30e2,
- 0x8383: 0x30e3,
- 0x8384: 0x30e4,
- 0x8385: 0x30e5,
- 0x8386: 0x30e6,
- 0x8387: 0x30e7,
- 0x8388: 0x30e8,
- 0x8389: 0x30e9,
- 0x838a: 0x30ea,
- 0x838b: 0x30eb,
- 0x838c: 0x30ec,
- 0x838d: 0x30ed,
- 0x838e: 0x30ee,
- 0x838f: 0x30ef,
- 0x8390: 0x30f0,
- 0x8391: 0x30f1,
- 0x8392: 0x30f2,
- 0x8393: 0x30f3,
- 0x8394: 0x30f4,
- 0x8395: 0x30f5,
- 0x8396: 0x30f6,
- 0x839f: 0x0391,
- 0x83a0: 0x0392,
- 0x83a1: 0x0393,
- 0x83a2: 0x0394,
- 0x83a3: 0x0395,
- 0x83a4: 0x0396,
- 0x83a5: 0x0397,
- 0x83a6: 0x0398,
- 0x83a7: 0x0399,
- 0x83a8: 0x039a,
- 0x83a9: 0x039b,
- 0x83aa: 0x039c,
- 0x83ab: 0x039d,
- 0x83ac: 0x039e,
- 0x83ad: 0x039f,
- 0x83ae: 0x03a0,
- 0x83af: 0x03a1,
- 0x83b0: 0x03a3,
- 0x83b1: 0x03a4,
- 0x83b2: 0x03a5,
- 0x83b3: 0x03a6,
- 0x83b4: 0x03a7,
- 0x83b5: 0x03a8,
- 0x83b6: 0x03a9,
- 0x83bf: 0x03b1,
- 0x83c0: 0x03b2,
- 0x83c1: 0x03b3,
- 0x83c2: 0x03b4,
- 0x83c3: 0x03b5,
- 0x83c4: 0x03b6,
- 0x83c5: 0x03b7,
- 0x83c6: 0x03b8,
- 0x83c7: 0x03b9,
- 0x83c8: 0x03ba,
- 0x83c9: 0x03bb,
- 0x83ca: 0x03bc,
- 0x83cb: 0x03bd,
- 0x83cc: 0x03be,
- 0x83cd: 0x03bf,
- 0x83ce: 0x03c0,
- 0x83cf: 0x03c1,
- 0x83d0: 0x03c3,
- 0x83d1: 0x03c4,
- 0x83d2: 0x03c5,
- 0x83d3: 0x03c6,
- 0x83d4: 0x03c7,
- 0x83d5: 0x03c8,
- 0x83d6: 0x03c9,
- 0x8440: 0x0410,
- 0x8441: 0x0411,
- 0x8442: 0x0412,
- 0x8443: 0x0413,
- 0x8444: 0x0414,
- 0x8445: 0x0415,
- 0x8446: 0x0401,
- 0x8447: 0x0416,
- 0x8448: 0x0417,
- 0x8449: 0x0418,
- 0x844a: 0x0419,
- 0x844b: 0x041a,
- 0x844c: 0x041b,
- 0x844d: 0x041c,
- 0x844e: 0x041d,
- 0x844f: 0x041e,
- 0x8450: 0x041f,
- 0x8451: 0x0420,
- 0x8452: 0x0421,
- 0x8453: 0x0422,
- 0x8454: 0x0423,
- 0x8455: 0x0424,
- 0x8456: 0x0425,
- 0x8457: 0x0426,
- 0x8458: 0x0427,
- 0x8459: 0x0428,
- 0x845a: 0x0429,
- 0x845b: 0x042a,
- 0x845c: 0x042b,
- 0x845d: 0x042c,
- 0x845e: 0x042d,
- 0x845f: 0x042e,
- 0x8460: 0x042f,
- 0x8470: 0x0430,
- 0x8471: 0x0431,
- 0x8472: 0x0432,
- 0x8473: 0x0433,
- 0x8474: 0x0434,
- 0x8475: 0x0435,
- 0x8476: 0x0451,
- 0x8477: 0x0436,
- 0x8478: 0x0437,
- 0x8479: 0x0438,
- 0x847a: 0x0439,
- 0x847b: 0x043a,
- 0x847c: 0x043b,
- 0x847d: 0x043c,
- 0x847e: 0x043d,
- 0x8480: 0x043e,
- 0x8481: 0x043f,
- 0x8482: 0x0440,
- 0x8483: 0x0441,
- 0x8484: 0x0442,
- 0x8485: 0x0443,
- 0x8486: 0x0444,
- 0x8487: 0x0445,
- 0x8488: 0x0446,
- 0x8489: 0x0447,
- 0x848a: 0x0448,
- 0x848b: 0x0449,
- 0x848c: 0x044a,
- 0x848d: 0x044b,
- 0x848e: 0x044c,
- 0x848f: 0x044d,
- 0x8490: 0x044e,
- 0x8491: 0x044f,
- 0x849f: 0x2500,
- 0x84a0: 0x2502,
- 0x84a1: 0x250c,
- 0x84a2: 0x2510,
- 0x84a3: 0x2518,
- 0x84a4: 0x2514,
- 0x84a5: 0x251c,
- 0x84a6: 0x252c,
- 0x84a7: 0x2524,
- 0x84a8: 0x2534,
- 0x84a9: 0x253c,
- 0x84aa: 0x2501,
- 0x84ab: 0x2503,
- 0x84ac: 0x250f,
- 0x84ad: 0x2513,
- 0x84ae: 0x251b,
- 0x84af: 0x2517,
- 0x84b0: 0x2523,
- 0x84b1: 0x2533,
- 0x84b2: 0x252b,
- 0x84b3: 0x253b,
- 0x84b4: 0x254b,
- 0x84b5: 0x2520,
- 0x84b6: 0x252f,
- 0x84b7: 0x2528,
- 0x84b8: 0x2537,
- 0x84b9: 0x253f,
- 0x84ba: 0x251d,
- 0x84bb: 0x2530,
- 0x84bc: 0x2525,
- 0x84bd: 0x2538,
- 0x84be: 0x2542,
- 0x889f: 0x4e9c,
- 0x88a0: 0x5516,
- 0x88a1: 0x5a03,
- 0x88a2: 0x963f,
- 0x88a3: 0x54c0,
- 0x88a4: 0x611b,
- 0x88a5: 0x6328,
- 0x88a6: 0x59f6,
- 0x88a7: 0x9022,
- 0x88a8: 0x8475,
- 0x88a9: 0x831c,
- 0x88aa: 0x7a50,
- 0x88ab: 0x60aa,
- 0x88ac: 0x63e1,
- 0x88ad: 0x6e25,
- 0x88ae: 0x65ed,
- 0x88af: 0x8466,
- 0x88b0: 0x82a6,
- 0x88b1: 0x9bf5,
- 0x88b2: 0x6893,
- 0x88b3: 0x5727,
- 0x88b4: 0x65a1,
- 0x88b5: 0x6271,
- 0x88b6: 0x5b9b,
- 0x88b7: 0x59d0,
- 0x88b8: 0x867b,
- 0x88b9: 0x98f4,
- 0x88ba: 0x7d62,
- 0x88bb: 0x7dbe,
- 0x88bc: 0x9b8e,
- 0x88bd: 0x6216,
- 0x88be: 0x7c9f,
- 0x88bf: 0x88b7,
- 0x88c0: 0x5b89,
- 0x88c1: 0x5eb5,
- 0x88c2: 0x6309,
- 0x88c3: 0x6697,
- 0x88c4: 0x6848,
- 0x88c5: 0x95c7,
- 0x88c6: 0x978d,
- 0x88c7: 0x674f,
- 0x88c8: 0x4ee5,
- 0x88c9: 0x4f0a,
- 0x88ca: 0x4f4d,
- 0x88cb: 0x4f9d,
- 0x88cc: 0x5049,
- 0x88cd: 0x56f2,
- 0x88ce: 0x5937,
- 0x88cf: 0x59d4,
- 0x88d0: 0x5a01,
- 0x88d1: 0x5c09,
- 0x88d2: 0x60df,
- 0x88d3: 0x610f,
- 0x88d4: 0x6170,
- 0x88d5: 0x6613,
- 0x88d6: 0x6905,
- 0x88d7: 0x70ba,
- 0x88d8: 0x754f,
- 0x88d9: 0x7570,
- 0x88da: 0x79fb,
- 0x88db: 0x7dad,
- 0x88dc: 0x7def,
- 0x88dd: 0x80c3,
- 0x88de: 0x840e,
- 0x88df: 0x8863,
- 0x88e0: 0x8b02,
- 0x88e1: 0x9055,
- 0x88e2: 0x907a,
- 0x88e3: 0x533b,
- 0x88e4: 0x4e95,
- 0x88e5: 0x4ea5,
- 0x88e6: 0x57df,
- 0x88e7: 0x80b2,
- 0x88e8: 0x90c1,
- 0x88e9: 0x78ef,
- 0x88ea: 0x4e00,
- 0x88eb: 0x58f1,
- 0x88ec: 0x6ea2,
- 0x88ed: 0x9038,
- 0x88ee: 0x7a32,
- 0x88ef: 0x8328,
- 0x88f0: 0x828b,
- 0x88f1: 0x9c2f,
- 0x88f2: 0x5141,
- 0x88f3: 0x5370,
- 0x88f4: 0x54bd,
- 0x88f5: 0x54e1,
- 0x88f6: 0x56e0,
- 0x88f7: 0x59fb,
- 0x88f8: 0x5f15,
- 0x88f9: 0x98f2,
- 0x88fa: 0x6deb,
- 0x88fb: 0x80e4,
- 0x88fc: 0x852d,
- 0x8940: 0x9662,
- 0x8941: 0x9670,
- 0x8942: 0x96a0,
- 0x8943: 0x97fb,
- 0x8944: 0x540b,
- 0x8945: 0x53f3,
- 0x8946: 0x5b87,
- 0x8947: 0x70cf,
- 0x8948: 0x7fbd,
- 0x8949: 0x8fc2,
- 0x894a: 0x96e8,
- 0x894b: 0x536f,
- 0x894c: 0x9d5c,
- 0x894d: 0x7aba,
- 0x894e: 0x4e11,
- 0x894f: 0x7893,
- 0x8950: 0x81fc,
- 0x8951: 0x6e26,
- 0x8952: 0x5618,
- 0x8953: 0x5504,
- 0x8954: 0x6b1d,
- 0x8955: 0x851a,
- 0x8956: 0x9c3b,
- 0x8957: 0x59e5,
- 0x8958: 0x53a9,
- 0x8959: 0x6d66,
- 0x895a: 0x74dc,
- 0x895b: 0x958f,
- 0x895c: 0x5642,
- 0x895d: 0x4e91,
- 0x895e: 0x904b,
- 0x895f: 0x96f2,
- 0x8960: 0x834f,
- 0x8961: 0x990c,
- 0x8962: 0x53e1,
- 0x8963: 0x55b6,
- 0x8964: 0x5b30,
- 0x8965: 0x5f71,
- 0x8966: 0x6620,
- 0x8967: 0x66f3,
- 0x8968: 0x6804,
- 0x8969: 0x6c38,
- 0x896a: 0x6cf3,
- 0x896b: 0x6d29,
- 0x896c: 0x745b,
- 0x896d: 0x76c8,
- 0x896e: 0x7a4e,
- 0x896f: 0x9834,
- 0x8970: 0x82f1,
- 0x8971: 0x885b,
- 0x8972: 0x8a60,
- 0x8973: 0x92ed,
- 0x8974: 0x6db2,
- 0x8975: 0x75ab,
- 0x8976: 0x76ca,
- 0x8977: 0x99c5,
- 0x8978: 0x60a6,
- 0x8979: 0x8b01,
- 0x897a: 0x8d8a,
- 0x897b: 0x95b2,
- 0x897c: 0x698e,
- 0x897d: 0x53ad,
- 0x897e: 0x5186,
- 0x8980: 0x5712,
- 0x8981: 0x5830,
- 0x8982: 0x5944,
- 0x8983: 0x5bb4,
- 0x8984: 0x5ef6,
- 0x8985: 0x6028,
- 0x8986: 0x63a9,
- 0x8987: 0x63f4,
- 0x8988: 0x6cbf,
- 0x8989: 0x6f14,
- 0x898a: 0x708e,
- 0x898b: 0x7114,
- 0x898c: 0x7159,
- 0x898d: 0x71d5,
- 0x898e: 0x733f,
- 0x898f: 0x7e01,
- 0x8990: 0x8276,
- 0x8991: 0x82d1,
- 0x8992: 0x8597,
- 0x8993: 0x9060,
- 0x8994: 0x925b,
- 0x8995: 0x9d1b,
- 0x8996: 0x5869,
- 0x8997: 0x65bc,
- 0x8998: 0x6c5a,
- 0x8999: 0x7525,
- 0x899a: 0x51f9,
- 0x899b: 0x592e,
- 0x899c: 0x5965,
- 0x899d: 0x5f80,
- 0x899e: 0x5fdc,
- 0x899f: 0x62bc,
- 0x89a0: 0x65fa,
- 0x89a1: 0x6a2a,
- 0x89a2: 0x6b27,
- 0x89a3: 0x6bb4,
- 0x89a4: 0x738b,
- 0x89a5: 0x7fc1,
- 0x89a6: 0x8956,
- 0x89a7: 0x9d2c,
- 0x89a8: 0x9d0e,
- 0x89a9: 0x9ec4,
- 0x89aa: 0x5ca1,
- 0x89ab: 0x6c96,
- 0x89ac: 0x837b,
- 0x89ad: 0x5104,
- 0x89ae: 0x5c4b,
- 0x89af: 0x61b6,
- 0x89b0: 0x81c6,
- 0x89b1: 0x6876,
- 0x89b2: 0x7261,
- 0x89b3: 0x4e59,
- 0x89b4: 0x4ffa,
- 0x89b5: 0x5378,
- 0x89b6: 0x6069,
- 0x89b7: 0x6e29,
- 0x89b8: 0x7a4f,
- 0x89b9: 0x97f3,
- 0x89ba: 0x4e0b,
- 0x89bb: 0x5316,
- 0x89bc: 0x4eee,
- 0x89bd: 0x4f55,
- 0x89be: 0x4f3d,
- 0x89bf: 0x4fa1,
- 0x89c0: 0x4f73,
- 0x89c1: 0x52a0,
- 0x89c2: 0x53ef,
- 0x89c3: 0x5609,
- 0x89c4: 0x590f,
- 0x89c5: 0x5ac1,
- 0x89c6: 0x5bb6,
- 0x89c7: 0x5be1,
- 0x89c8: 0x79d1,
- 0x89c9: 0x6687,
- 0x89ca: 0x679c,
- 0x89cb: 0x67b6,
- 0x89cc: 0x6b4c,
- 0x89cd: 0x6cb3,
- 0x89ce: 0x706b,
- 0x89cf: 0x73c2,
- 0x89d0: 0x798d,
- 0x89d1: 0x79be,
- 0x89d2: 0x7a3c,
- 0x89d3: 0x7b87,
- 0x89d4: 0x82b1,
- 0x89d5: 0x82db,
- 0x89d6: 0x8304,
- 0x89d7: 0x8377,
- 0x89d8: 0x83ef,
- 0x89d9: 0x83d3,
- 0x89da: 0x8766,
- 0x89db: 0x8ab2,
- 0x89dc: 0x5629,
- 0x89dd: 0x8ca8,
- 0x89de: 0x8fe6,
- 0x89df: 0x904e,
- 0x89e0: 0x971e,
- 0x89e1: 0x868a,
- 0x89e2: 0x4fc4,
- 0x89e3: 0x5ce8,
- 0x89e4: 0x6211,
- 0x89e5: 0x7259,
- 0x89e6: 0x753b,
- 0x89e7: 0x81e5,
- 0x89e8: 0x82bd,
- 0x89e9: 0x86fe,
- 0x89ea: 0x8cc0,
- 0x89eb: 0x96c5,
- 0x89ec: 0x9913,
- 0x89ed: 0x99d5,
- 0x89ee: 0x4ecb,
- 0x89ef: 0x4f1a,
- 0x89f0: 0x89e3,
- 0x89f1: 0x56de,
- 0x89f2: 0x584a,
- 0x89f3: 0x58ca,
- 0x89f4: 0x5efb,
- 0x89f5: 0x5feb,
- 0x89f6: 0x602a,
- 0x89f7: 0x6094,
- 0x89f8: 0x6062,
- 0x89f9: 0x61d0,
- 0x89fa: 0x6212,
- 0x89fb: 0x62d0,
- 0x89fc: 0x6539,
- 0x8a40: 0x9b41,
- 0x8a41: 0x6666,
- 0x8a42: 0x68b0,
- 0x8a43: 0x6d77,
- 0x8a44: 0x7070,
- 0x8a45: 0x754c,
- 0x8a46: 0x7686,
- 0x8a47: 0x7d75,
- 0x8a48: 0x82a5,
- 0x8a49: 0x87f9,
- 0x8a4a: 0x958b,
- 0x8a4b: 0x968e,
- 0x8a4c: 0x8c9d,
- 0x8a4d: 0x51f1,
- 0x8a4e: 0x52be,
- 0x8a4f: 0x5916,
- 0x8a50: 0x54b3,
- 0x8a51: 0x5bb3,
- 0x8a52: 0x5d16,
- 0x8a53: 0x6168,
- 0x8a54: 0x6982,
- 0x8a55: 0x6daf,
- 0x8a56: 0x788d,
- 0x8a57: 0x84cb,
- 0x8a58: 0x8857,
- 0x8a59: 0x8a72,
- 0x8a5a: 0x93a7,
- 0x8a5b: 0x9ab8,
- 0x8a5c: 0x6d6c,
- 0x8a5d: 0x99a8,
- 0x8a5e: 0x86d9,
- 0x8a5f: 0x57a3,
- 0x8a60: 0x67ff,
- 0x8a61: 0x86ce,
- 0x8a62: 0x920e,
- 0x8a63: 0x5283,
- 0x8a64: 0x5687,
- 0x8a65: 0x5404,
- 0x8a66: 0x5ed3,
- 0x8a67: 0x62e1,
- 0x8a68: 0x64b9,
- 0x8a69: 0x683c,
- 0x8a6a: 0x6838,
- 0x8a6b: 0x6bbb,
- 0x8a6c: 0x7372,
- 0x8a6d: 0x78ba,
- 0x8a6e: 0x7a6b,
- 0x8a6f: 0x899a,
- 0x8a70: 0x89d2,
- 0x8a71: 0x8d6b,
- 0x8a72: 0x8f03,
- 0x8a73: 0x90ed,
- 0x8a74: 0x95a3,
- 0x8a75: 0x9694,
- 0x8a76: 0x9769,
- 0x8a77: 0x5b66,
- 0x8a78: 0x5cb3,
- 0x8a79: 0x697d,
- 0x8a7a: 0x984d,
- 0x8a7b: 0x984e,
- 0x8a7c: 0x639b,
- 0x8a7d: 0x7b20,
- 0x8a7e: 0x6a2b,
- 0x8a80: 0x6a7f,
- 0x8a81: 0x68b6,
- 0x8a82: 0x9c0d,
- 0x8a83: 0x6f5f,
- 0x8a84: 0x5272,
- 0x8a85: 0x559d,
- 0x8a86: 0x6070,
- 0x8a87: 0x62ec,
- 0x8a88: 0x6d3b,
- 0x8a89: 0x6e07,
- 0x8a8a: 0x6ed1,
- 0x8a8b: 0x845b,
- 0x8a8c: 0x8910,
- 0x8a8d: 0x8f44,
- 0x8a8e: 0x4e14,
- 0x8a8f: 0x9c39,
- 0x8a90: 0x53f6,
- 0x8a91: 0x691b,
- 0x8a92: 0x6a3a,
- 0x8a93: 0x9784,
- 0x8a94: 0x682a,
- 0x8a95: 0x515c,
- 0x8a96: 0x7ac3,
- 0x8a97: 0x84b2,
- 0x8a98: 0x91dc,
- 0x8a99: 0x938c,
- 0x8a9a: 0x565b,
- 0x8a9b: 0x9d28,
- 0x8a9c: 0x6822,
- 0x8a9d: 0x8305,
- 0x8a9e: 0x8431,
- 0x8a9f: 0x7ca5,
- 0x8aa0: 0x5208,
- 0x8aa1: 0x82c5,
- 0x8aa2: 0x74e6,
- 0x8aa3: 0x4e7e,
- 0x8aa4: 0x4f83,
- 0x8aa5: 0x51a0,
- 0x8aa6: 0x5bd2,
- 0x8aa7: 0x520a,
- 0x8aa8: 0x52d8,
- 0x8aa9: 0x52e7,
- 0x8aaa: 0x5dfb,
- 0x8aab: 0x559a,
- 0x8aac: 0x582a,
- 0x8aad: 0x59e6,
- 0x8aae: 0x5b8c,
- 0x8aaf: 0x5b98,
- 0x8ab0: 0x5bdb,
- 0x8ab1: 0x5e72,
- 0x8ab2: 0x5e79,
- 0x8ab3: 0x60a3,
- 0x8ab4: 0x611f,
- 0x8ab5: 0x6163,
- 0x8ab6: 0x61be,
- 0x8ab7: 0x63db,
- 0x8ab8: 0x6562,
- 0x8ab9: 0x67d1,
- 0x8aba: 0x6853,
- 0x8abb: 0x68fa,
- 0x8abc: 0x6b3e,
- 0x8abd: 0x6b53,
- 0x8abe: 0x6c57,
- 0x8abf: 0x6f22,
- 0x8ac0: 0x6f97,
- 0x8ac1: 0x6f45,
- 0x8ac2: 0x74b0,
- 0x8ac3: 0x7518,
- 0x8ac4: 0x76e3,
- 0x8ac5: 0x770b,
- 0x8ac6: 0x7aff,
- 0x8ac7: 0x7ba1,
- 0x8ac8: 0x7c21,
- 0x8ac9: 0x7de9,
- 0x8aca: 0x7f36,
- 0x8acb: 0x7ff0,
- 0x8acc: 0x809d,
- 0x8acd: 0x8266,
- 0x8ace: 0x839e,
- 0x8acf: 0x89b3,
- 0x8ad0: 0x8acc,
- 0x8ad1: 0x8cab,
- 0x8ad2: 0x9084,
- 0x8ad3: 0x9451,
- 0x8ad4: 0x9593,
- 0x8ad5: 0x9591,
- 0x8ad6: 0x95a2,
- 0x8ad7: 0x9665,
- 0x8ad8: 0x97d3,
- 0x8ad9: 0x9928,
- 0x8ada: 0x8218,
- 0x8adb: 0x4e38,
- 0x8adc: 0x542b,
- 0x8add: 0x5cb8,
- 0x8ade: 0x5dcc,
- 0x8adf: 0x73a9,
- 0x8ae0: 0x764c,
- 0x8ae1: 0x773c,
- 0x8ae2: 0x5ca9,
- 0x8ae3: 0x7feb,
- 0x8ae4: 0x8d0b,
- 0x8ae5: 0x96c1,
- 0x8ae6: 0x9811,
- 0x8ae7: 0x9854,
- 0x8ae8: 0x9858,
- 0x8ae9: 0x4f01,
- 0x8aea: 0x4f0e,
- 0x8aeb: 0x5371,
- 0x8aec: 0x559c,
- 0x8aed: 0x5668,
- 0x8aee: 0x57fa,
- 0x8aef: 0x5947,
- 0x8af0: 0x5b09,
- 0x8af1: 0x5bc4,
- 0x8af2: 0x5c90,
- 0x8af3: 0x5e0c,
- 0x8af4: 0x5e7e,
- 0x8af5: 0x5fcc,
- 0x8af6: 0x63ee,
- 0x8af7: 0x673a,
- 0x8af8: 0x65d7,
- 0x8af9: 0x65e2,
- 0x8afa: 0x671f,
- 0x8afb: 0x68cb,
- 0x8afc: 0x68c4,
- 0x8b40: 0x6a5f,
- 0x8b41: 0x5e30,
- 0x8b42: 0x6bc5,
- 0x8b43: 0x6c17,
- 0x8b44: 0x6c7d,
- 0x8b45: 0x757f,
- 0x8b46: 0x7948,
- 0x8b47: 0x5b63,
- 0x8b48: 0x7a00,
- 0x8b49: 0x7d00,
- 0x8b4a: 0x5fbd,
- 0x8b4b: 0x898f,
- 0x8b4c: 0x8a18,
- 0x8b4d: 0x8cb4,
- 0x8b4e: 0x8d77,
- 0x8b4f: 0x8ecc,
- 0x8b50: 0x8f1d,
- 0x8b51: 0x98e2,
- 0x8b52: 0x9a0e,
- 0x8b53: 0x9b3c,
- 0x8b54: 0x4e80,
- 0x8b55: 0x507d,
- 0x8b56: 0x5100,
- 0x8b57: 0x5993,
- 0x8b58: 0x5b9c,
- 0x8b59: 0x622f,
- 0x8b5a: 0x6280,
- 0x8b5b: 0x64ec,
- 0x8b5c: 0x6b3a,
- 0x8b5d: 0x72a0,
- 0x8b5e: 0x7591,
- 0x8b5f: 0x7947,
- 0x8b60: 0x7fa9,
- 0x8b61: 0x87fb,
- 0x8b62: 0x8abc,
- 0x8b63: 0x8b70,
- 0x8b64: 0x63ac,
- 0x8b65: 0x83ca,
- 0x8b66: 0x97a0,
- 0x8b67: 0x5409,
- 0x8b68: 0x5403,
- 0x8b69: 0x55ab,
- 0x8b6a: 0x6854,
- 0x8b6b: 0x6a58,
- 0x8b6c: 0x8a70,
- 0x8b6d: 0x7827,
- 0x8b6e: 0x6775,
- 0x8b6f: 0x9ecd,
- 0x8b70: 0x5374,
- 0x8b71: 0x5ba2,
- 0x8b72: 0x811a,
- 0x8b73: 0x8650,
- 0x8b74: 0x9006,
- 0x8b75: 0x4e18,
- 0x8b76: 0x4e45,
- 0x8b77: 0x4ec7,
- 0x8b78: 0x4f11,
- 0x8b79: 0x53ca,
- 0x8b7a: 0x5438,
- 0x8b7b: 0x5bae,
- 0x8b7c: 0x5f13,
- 0x8b7d: 0x6025,
- 0x8b7e: 0x6551,
- 0x8b80: 0x673d,
- 0x8b81: 0x6c42,
- 0x8b82: 0x6c72,
- 0x8b83: 0x6ce3,
- 0x8b84: 0x7078,
- 0x8b85: 0x7403,
- 0x8b86: 0x7a76,
- 0x8b87: 0x7aae,
- 0x8b88: 0x7b08,
- 0x8b89: 0x7d1a,
- 0x8b8a: 0x7cfe,
- 0x8b8b: 0x7d66,
- 0x8b8c: 0x65e7,
- 0x8b8d: 0x725b,
- 0x8b8e: 0x53bb,
- 0x8b8f: 0x5c45,
- 0x8b90: 0x5de8,
- 0x8b91: 0x62d2,
- 0x8b92: 0x62e0,
- 0x8b93: 0x6319,
- 0x8b94: 0x6e20,
- 0x8b95: 0x865a,
- 0x8b96: 0x8a31,
- 0x8b97: 0x8ddd,
- 0x8b98: 0x92f8,
- 0x8b99: 0x6f01,
- 0x8b9a: 0x79a6,
- 0x8b9b: 0x9b5a,
- 0x8b9c: 0x4ea8,
- 0x8b9d: 0x4eab,
- 0x8b9e: 0x4eac,
- 0x8b9f: 0x4f9b,
- 0x8ba0: 0x4fa0,
- 0x8ba1: 0x50d1,
- 0x8ba2: 0x5147,
- 0x8ba3: 0x7af6,
- 0x8ba4: 0x5171,
- 0x8ba5: 0x51f6,
- 0x8ba6: 0x5354,
- 0x8ba7: 0x5321,
- 0x8ba8: 0x537f,
- 0x8ba9: 0x53eb,
- 0x8baa: 0x55ac,
- 0x8bab: 0x5883,
- 0x8bac: 0x5ce1,
- 0x8bad: 0x5f37,
- 0x8bae: 0x5f4a,
- 0x8baf: 0x602f,
- 0x8bb0: 0x6050,
- 0x8bb1: 0x606d,
- 0x8bb2: 0x631f,
- 0x8bb3: 0x6559,
- 0x8bb4: 0x6a4b,
- 0x8bb5: 0x6cc1,
- 0x8bb6: 0x72c2,
- 0x8bb7: 0x72ed,
- 0x8bb8: 0x77ef,
- 0x8bb9: 0x80f8,
- 0x8bba: 0x8105,
- 0x8bbb: 0x8208,
- 0x8bbc: 0x854e,
- 0x8bbd: 0x90f7,
- 0x8bbe: 0x93e1,
- 0x8bbf: 0x97ff,
- 0x8bc0: 0x9957,
- 0x8bc1: 0x9a5a,
- 0x8bc2: 0x4ef0,
- 0x8bc3: 0x51dd,
- 0x8bc4: 0x5c2d,
- 0x8bc5: 0x6681,
- 0x8bc6: 0x696d,
- 0x8bc7: 0x5c40,
- 0x8bc8: 0x66f2,
- 0x8bc9: 0x6975,
- 0x8bca: 0x7389,
- 0x8bcb: 0x6850,
- 0x8bcc: 0x7c81,
- 0x8bcd: 0x50c5,
- 0x8bce: 0x52e4,
- 0x8bcf: 0x5747,
- 0x8bd0: 0x5dfe,
- 0x8bd1: 0x9326,
- 0x8bd2: 0x65a4,
- 0x8bd3: 0x6b23,
- 0x8bd4: 0x6b3d,
- 0x8bd5: 0x7434,
- 0x8bd6: 0x7981,
- 0x8bd7: 0x79bd,
- 0x8bd8: 0x7b4b,
- 0x8bd9: 0x7dca,
- 0x8bda: 0x82b9,
- 0x8bdb: 0x83cc,
- 0x8bdc: 0x887f,
- 0x8bdd: 0x895f,
- 0x8bde: 0x8b39,
- 0x8bdf: 0x8fd1,
- 0x8be0: 0x91d1,
- 0x8be1: 0x541f,
- 0x8be2: 0x9280,
- 0x8be3: 0x4e5d,
- 0x8be4: 0x5036,
- 0x8be5: 0x53e5,
- 0x8be6: 0x533a,
- 0x8be7: 0x72d7,
- 0x8be8: 0x7396,
- 0x8be9: 0x77e9,
- 0x8bea: 0x82e6,
- 0x8beb: 0x8eaf,
- 0x8bec: 0x99c6,
- 0x8bed: 0x99c8,
- 0x8bee: 0x99d2,
- 0x8bef: 0x5177,
- 0x8bf0: 0x611a,
- 0x8bf1: 0x865e,
- 0x8bf2: 0x55b0,
- 0x8bf3: 0x7a7a,
- 0x8bf4: 0x5076,
- 0x8bf5: 0x5bd3,
- 0x8bf6: 0x9047,
- 0x8bf7: 0x9685,
- 0x8bf8: 0x4e32,
- 0x8bf9: 0x6adb,
- 0x8bfa: 0x91e7,
- 0x8bfb: 0x5c51,
- 0x8bfc: 0x5c48,
- 0x8c40: 0x6398,
- 0x8c41: 0x7a9f,
- 0x8c42: 0x6c93,
- 0x8c43: 0x9774,
- 0x8c44: 0x8f61,
- 0x8c45: 0x7aaa,
- 0x8c46: 0x718a,
- 0x8c47: 0x9688,
- 0x8c48: 0x7c82,
- 0x8c49: 0x6817,
- 0x8c4a: 0x7e70,
- 0x8c4b: 0x6851,
- 0x8c4c: 0x936c,
- 0x8c4d: 0x52f2,
- 0x8c4e: 0x541b,
- 0x8c4f: 0x85ab,
- 0x8c50: 0x8a13,
- 0x8c51: 0x7fa4,
- 0x8c52: 0x8ecd,
- 0x8c53: 0x90e1,
- 0x8c54: 0x5366,
- 0x8c55: 0x8888,
- 0x8c56: 0x7941,
- 0x8c57: 0x4fc2,
- 0x8c58: 0x50be,
- 0x8c59: 0x5211,
- 0x8c5a: 0x5144,
- 0x8c5b: 0x5553,
- 0x8c5c: 0x572d,
- 0x8c5d: 0x73ea,
- 0x8c5e: 0x578b,
- 0x8c5f: 0x5951,
- 0x8c60: 0x5f62,
- 0x8c61: 0x5f84,
- 0x8c62: 0x6075,
- 0x8c63: 0x6176,
- 0x8c64: 0x6167,
- 0x8c65: 0x61a9,
- 0x8c66: 0x63b2,
- 0x8c67: 0x643a,
- 0x8c68: 0x656c,
- 0x8c69: 0x666f,
- 0x8c6a: 0x6842,
- 0x8c6b: 0x6e13,
- 0x8c6c: 0x7566,
- 0x8c6d: 0x7a3d,
- 0x8c6e: 0x7cfb,
- 0x8c6f: 0x7d4c,
- 0x8c70: 0x7d99,
- 0x8c71: 0x7e4b,
- 0x8c72: 0x7f6b,
- 0x8c73: 0x830e,
- 0x8c74: 0x834a,
- 0x8c75: 0x86cd,
- 0x8c76: 0x8a08,
- 0x8c77: 0x8a63,
- 0x8c78: 0x8b66,
- 0x8c79: 0x8efd,
- 0x8c7a: 0x981a,
- 0x8c7b: 0x9d8f,
- 0x8c7c: 0x82b8,
- 0x8c7d: 0x8fce,
- 0x8c7e: 0x9be8,
- 0x8c80: 0x5287,
- 0x8c81: 0x621f,
- 0x8c82: 0x6483,
- 0x8c83: 0x6fc0,
- 0x8c84: 0x9699,
- 0x8c85: 0x6841,
- 0x8c86: 0x5091,
- 0x8c87: 0x6b20,
- 0x8c88: 0x6c7a,
- 0x8c89: 0x6f54,
- 0x8c8a: 0x7a74,
- 0x8c8b: 0x7d50,
- 0x8c8c: 0x8840,
- 0x8c8d: 0x8a23,
- 0x8c8e: 0x6708,
- 0x8c8f: 0x4ef6,
- 0x8c90: 0x5039,
- 0x8c91: 0x5026,
- 0x8c92: 0x5065,
- 0x8c93: 0x517c,
- 0x8c94: 0x5238,
- 0x8c95: 0x5263,
- 0x8c96: 0x55a7,
- 0x8c97: 0x570f,
- 0x8c98: 0x5805,
- 0x8c99: 0x5acc,
- 0x8c9a: 0x5efa,
- 0x8c9b: 0x61b2,
- 0x8c9c: 0x61f8,
- 0x8c9d: 0x62f3,
- 0x8c9e: 0x6372,
- 0x8c9f: 0x691c,
- 0x8ca0: 0x6a29,
- 0x8ca1: 0x727d,
- 0x8ca2: 0x72ac,
- 0x8ca3: 0x732e,
- 0x8ca4: 0x7814,
- 0x8ca5: 0x786f,
- 0x8ca6: 0x7d79,
- 0x8ca7: 0x770c,
- 0x8ca8: 0x80a9,
- 0x8ca9: 0x898b,
- 0x8caa: 0x8b19,
- 0x8cab: 0x8ce2,
- 0x8cac: 0x8ed2,
- 0x8cad: 0x9063,
- 0x8cae: 0x9375,
- 0x8caf: 0x967a,
- 0x8cb0: 0x9855,
- 0x8cb1: 0x9a13,
- 0x8cb2: 0x9e78,
- 0x8cb3: 0x5143,
- 0x8cb4: 0x539f,
- 0x8cb5: 0x53b3,
- 0x8cb6: 0x5e7b,
- 0x8cb7: 0x5f26,
- 0x8cb8: 0x6e1b,
- 0x8cb9: 0x6e90,
- 0x8cba: 0x7384,
- 0x8cbb: 0x73fe,
- 0x8cbc: 0x7d43,
- 0x8cbd: 0x8237,
- 0x8cbe: 0x8a00,
- 0x8cbf: 0x8afa,
- 0x8cc0: 0x9650,
- 0x8cc1: 0x4e4e,
- 0x8cc2: 0x500b,
- 0x8cc3: 0x53e4,
- 0x8cc4: 0x547c,
- 0x8cc5: 0x56fa,
- 0x8cc6: 0x59d1,
- 0x8cc7: 0x5b64,
- 0x8cc8: 0x5df1,
- 0x8cc9: 0x5eab,
- 0x8cca: 0x5f27,
- 0x8ccb: 0x6238,
- 0x8ccc: 0x6545,
- 0x8ccd: 0x67af,
- 0x8cce: 0x6e56,
- 0x8ccf: 0x72d0,
- 0x8cd0: 0x7cca,
- 0x8cd1: 0x88b4,
- 0x8cd2: 0x80a1,
- 0x8cd3: 0x80e1,
- 0x8cd4: 0x83f0,
- 0x8cd5: 0x864e,
- 0x8cd6: 0x8a87,
- 0x8cd7: 0x8de8,
- 0x8cd8: 0x9237,
- 0x8cd9: 0x96c7,
- 0x8cda: 0x9867,
- 0x8cdb: 0x9f13,
- 0x8cdc: 0x4e94,
- 0x8cdd: 0x4e92,
- 0x8cde: 0x4f0d,
- 0x8cdf: 0x5348,
- 0x8ce0: 0x5449,
- 0x8ce1: 0x543e,
- 0x8ce2: 0x5a2f,
- 0x8ce3: 0x5f8c,
- 0x8ce4: 0x5fa1,
- 0x8ce5: 0x609f,
- 0x8ce6: 0x68a7,
- 0x8ce7: 0x6a8e,
- 0x8ce8: 0x745a,
- 0x8ce9: 0x7881,
- 0x8cea: 0x8a9e,
- 0x8ceb: 0x8aa4,
- 0x8cec: 0x8b77,
- 0x8ced: 0x9190,
- 0x8cee: 0x4e5e,
- 0x8cef: 0x9bc9,
- 0x8cf0: 0x4ea4,
- 0x8cf1: 0x4f7c,
- 0x8cf2: 0x4faf,
- 0x8cf3: 0x5019,
- 0x8cf4: 0x5016,
- 0x8cf5: 0x5149,
- 0x8cf6: 0x516c,
- 0x8cf7: 0x529f,
- 0x8cf8: 0x52b9,
- 0x8cf9: 0x52fe,
- 0x8cfa: 0x539a,
- 0x8cfb: 0x53e3,
- 0x8cfc: 0x5411,
- 0x8d40: 0x540e,
- 0x8d41: 0x5589,
- 0x8d42: 0x5751,
- 0x8d43: 0x57a2,
- 0x8d44: 0x597d,
- 0x8d45: 0x5b54,
- 0x8d46: 0x5b5d,
- 0x8d47: 0x5b8f,
- 0x8d48: 0x5de5,
- 0x8d49: 0x5de7,
- 0x8d4a: 0x5df7,
- 0x8d4b: 0x5e78,
- 0x8d4c: 0x5e83,
- 0x8d4d: 0x5e9a,
- 0x8d4e: 0x5eb7,
- 0x8d4f: 0x5f18,
- 0x8d50: 0x6052,
- 0x8d51: 0x614c,
- 0x8d52: 0x6297,
- 0x8d53: 0x62d8,
- 0x8d54: 0x63a7,
- 0x8d55: 0x653b,
- 0x8d56: 0x6602,
- 0x8d57: 0x6643,
- 0x8d58: 0x66f4,
- 0x8d59: 0x676d,
- 0x8d5a: 0x6821,
- 0x8d5b: 0x6897,
- 0x8d5c: 0x69cb,
- 0x8d5d: 0x6c5f,
- 0x8d5e: 0x6d2a,
- 0x8d5f: 0x6d69,
- 0x8d60: 0x6e2f,
- 0x8d61: 0x6e9d,
- 0x8d62: 0x7532,
- 0x8d63: 0x7687,
- 0x8d64: 0x786c,
- 0x8d65: 0x7a3f,
- 0x8d66: 0x7ce0,
- 0x8d67: 0x7d05,
- 0x8d68: 0x7d18,
- 0x8d69: 0x7d5e,
- 0x8d6a: 0x7db1,
- 0x8d6b: 0x8015,
- 0x8d6c: 0x8003,
- 0x8d6d: 0x80af,
- 0x8d6e: 0x80b1,
- 0x8d6f: 0x8154,
- 0x8d70: 0x818f,
- 0x8d71: 0x822a,
- 0x8d72: 0x8352,
- 0x8d73: 0x884c,
- 0x8d74: 0x8861,
- 0x8d75: 0x8b1b,
- 0x8d76: 0x8ca2,
- 0x8d77: 0x8cfc,
- 0x8d78: 0x90ca,
- 0x8d79: 0x9175,
- 0x8d7a: 0x9271,
- 0x8d7b: 0x783f,
- 0x8d7c: 0x92fc,
- 0x8d7d: 0x95a4,
- 0x8d7e: 0x964d,
- 0x8d80: 0x9805,
- 0x8d81: 0x9999,
- 0x8d82: 0x9ad8,
- 0x8d83: 0x9d3b,
- 0x8d84: 0x525b,
- 0x8d85: 0x52ab,
- 0x8d86: 0x53f7,
- 0x8d87: 0x5408,
- 0x8d88: 0x58d5,
- 0x8d89: 0x62f7,
- 0x8d8a: 0x6fe0,
- 0x8d8b: 0x8c6a,
- 0x8d8c: 0x8f5f,
- 0x8d8d: 0x9eb9,
- 0x8d8e: 0x514b,
- 0x8d8f: 0x523b,
- 0x8d90: 0x544a,
- 0x8d91: 0x56fd,
- 0x8d92: 0x7a40,
- 0x8d93: 0x9177,
- 0x8d94: 0x9d60,
- 0x8d95: 0x9ed2,
- 0x8d96: 0x7344,
- 0x8d97: 0x6f09,
- 0x8d98: 0x8170,
- 0x8d99: 0x7511,
- 0x8d9a: 0x5ffd,
- 0x8d9b: 0x60da,
- 0x8d9c: 0x9aa8,
- 0x8d9d: 0x72db,
- 0x8d9e: 0x8fbc,
- 0x8d9f: 0x6b64,
- 0x8da0: 0x9803,
- 0x8da1: 0x4eca,
- 0x8da2: 0x56f0,
- 0x8da3: 0x5764,
- 0x8da4: 0x58be,
- 0x8da5: 0x5a5a,
- 0x8da6: 0x6068,
- 0x8da7: 0x61c7,
- 0x8da8: 0x660f,
- 0x8da9: 0x6606,
- 0x8daa: 0x6839,
- 0x8dab: 0x68b1,
- 0x8dac: 0x6df7,
- 0x8dad: 0x75d5,
- 0x8dae: 0x7d3a,
- 0x8daf: 0x826e,
- 0x8db0: 0x9b42,
- 0x8db1: 0x4e9b,
- 0x8db2: 0x4f50,
- 0x8db3: 0x53c9,
- 0x8db4: 0x5506,
- 0x8db5: 0x5d6f,
- 0x8db6: 0x5de6,
- 0x8db7: 0x5dee,
- 0x8db8: 0x67fb,
- 0x8db9: 0x6c99,
- 0x8dba: 0x7473,
- 0x8dbb: 0x7802,
- 0x8dbc: 0x8a50,
- 0x8dbd: 0x9396,
- 0x8dbe: 0x88df,
- 0x8dbf: 0x5750,
- 0x8dc0: 0x5ea7,
- 0x8dc1: 0x632b,
- 0x8dc2: 0x50b5,
- 0x8dc3: 0x50ac,
- 0x8dc4: 0x518d,
- 0x8dc5: 0x6700,
- 0x8dc6: 0x54c9,
- 0x8dc7: 0x585e,
- 0x8dc8: 0x59bb,
- 0x8dc9: 0x5bb0,
- 0x8dca: 0x5f69,
- 0x8dcb: 0x624d,
- 0x8dcc: 0x63a1,
- 0x8dcd: 0x683d,
- 0x8dce: 0x6b73,
- 0x8dcf: 0x6e08,
- 0x8dd0: 0x707d,
- 0x8dd1: 0x91c7,
- 0x8dd2: 0x7280,
- 0x8dd3: 0x7815,
- 0x8dd4: 0x7826,
- 0x8dd5: 0x796d,
- 0x8dd6: 0x658e,
- 0x8dd7: 0x7d30,
- 0x8dd8: 0x83dc,
- 0x8dd9: 0x88c1,
- 0x8dda: 0x8f09,
- 0x8ddb: 0x969b,
- 0x8ddc: 0x5264,
- 0x8ddd: 0x5728,
- 0x8dde: 0x6750,
- 0x8ddf: 0x7f6a,
- 0x8de0: 0x8ca1,
- 0x8de1: 0x51b4,
- 0x8de2: 0x5742,
- 0x8de3: 0x962a,
- 0x8de4: 0x583a,
- 0x8de5: 0x698a,
- 0x8de6: 0x80b4,
- 0x8de7: 0x54b2,
- 0x8de8: 0x5d0e,
- 0x8de9: 0x57fc,
- 0x8dea: 0x7895,
- 0x8deb: 0x9dfa,
- 0x8dec: 0x4f5c,
- 0x8ded: 0x524a,
- 0x8dee: 0x548b,
- 0x8def: 0x643e,
- 0x8df0: 0x6628,
- 0x8df1: 0x6714,
- 0x8df2: 0x67f5,
- 0x8df3: 0x7a84,
- 0x8df4: 0x7b56,
- 0x8df5: 0x7d22,
- 0x8df6: 0x932f,
- 0x8df7: 0x685c,
- 0x8df8: 0x9bad,
- 0x8df9: 0x7b39,
- 0x8dfa: 0x5319,
- 0x8dfb: 0x518a,
- 0x8dfc: 0x5237,
- 0x8e40: 0x5bdf,
- 0x8e41: 0x62f6,
- 0x8e42: 0x64ae,
- 0x8e43: 0x64e6,
- 0x8e44: 0x672d,
- 0x8e45: 0x6bba,
- 0x8e46: 0x85a9,
- 0x8e47: 0x96d1,
- 0x8e48: 0x7690,
- 0x8e49: 0x9bd6,
- 0x8e4a: 0x634c,
- 0x8e4b: 0x9306,
- 0x8e4c: 0x9bab,
- 0x8e4d: 0x76bf,
- 0x8e4e: 0x6652,
- 0x8e4f: 0x4e09,
- 0x8e50: 0x5098,
- 0x8e51: 0x53c2,
- 0x8e52: 0x5c71,
- 0x8e53: 0x60e8,
- 0x8e54: 0x6492,
- 0x8e55: 0x6563,
- 0x8e56: 0x685f,
- 0x8e57: 0x71e6,
- 0x8e58: 0x73ca,
- 0x8e59: 0x7523,
- 0x8e5a: 0x7b97,
- 0x8e5b: 0x7e82,
- 0x8e5c: 0x8695,
- 0x8e5d: 0x8b83,
- 0x8e5e: 0x8cdb,
- 0x8e5f: 0x9178,
- 0x8e60: 0x9910,
- 0x8e61: 0x65ac,
- 0x8e62: 0x66ab,
- 0x8e63: 0x6b8b,
- 0x8e64: 0x4ed5,
- 0x8e65: 0x4ed4,
- 0x8e66: 0x4f3a,
- 0x8e67: 0x4f7f,
- 0x8e68: 0x523a,
- 0x8e69: 0x53f8,
- 0x8e6a: 0x53f2,
- 0x8e6b: 0x55e3,
- 0x8e6c: 0x56db,
- 0x8e6d: 0x58eb,
- 0x8e6e: 0x59cb,
- 0x8e6f: 0x59c9,
- 0x8e70: 0x59ff,
- 0x8e71: 0x5b50,
- 0x8e72: 0x5c4d,
- 0x8e73: 0x5e02,
- 0x8e74: 0x5e2b,
- 0x8e75: 0x5fd7,
- 0x8e76: 0x601d,
- 0x8e77: 0x6307,
- 0x8e78: 0x652f,
- 0x8e79: 0x5b5c,
- 0x8e7a: 0x65af,
- 0x8e7b: 0x65bd,
- 0x8e7c: 0x65e8,
- 0x8e7d: 0x679d,
- 0x8e7e: 0x6b62,
- 0x8e80: 0x6b7b,
- 0x8e81: 0x6c0f,
- 0x8e82: 0x7345,
- 0x8e83: 0x7949,
- 0x8e84: 0x79c1,
- 0x8e85: 0x7cf8,
- 0x8e86: 0x7d19,
- 0x8e87: 0x7d2b,
- 0x8e88: 0x80a2,
- 0x8e89: 0x8102,
- 0x8e8a: 0x81f3,
- 0x8e8b: 0x8996,
- 0x8e8c: 0x8a5e,
- 0x8e8d: 0x8a69,
- 0x8e8e: 0x8a66,
- 0x8e8f: 0x8a8c,
- 0x8e90: 0x8aee,
- 0x8e91: 0x8cc7,
- 0x8e92: 0x8cdc,
- 0x8e93: 0x96cc,
- 0x8e94: 0x98fc,
- 0x8e95: 0x6b6f,
- 0x8e96: 0x4e8b,
- 0x8e97: 0x4f3c,
- 0x8e98: 0x4f8d,
- 0x8e99: 0x5150,
- 0x8e9a: 0x5b57,
- 0x8e9b: 0x5bfa,
- 0x8e9c: 0x6148,
- 0x8e9d: 0x6301,
- 0x8e9e: 0x6642,
- 0x8e9f: 0x6b21,
- 0x8ea0: 0x6ecb,
- 0x8ea1: 0x6cbb,
- 0x8ea2: 0x723e,
- 0x8ea3: 0x74bd,
- 0x8ea4: 0x75d4,
- 0x8ea5: 0x78c1,
- 0x8ea6: 0x793a,
- 0x8ea7: 0x800c,
- 0x8ea8: 0x8033,
- 0x8ea9: 0x81ea,
- 0x8eaa: 0x8494,
- 0x8eab: 0x8f9e,
- 0x8eac: 0x6c50,
- 0x8ead: 0x9e7f,
- 0x8eae: 0x5f0f,
- 0x8eaf: 0x8b58,
- 0x8eb0: 0x9d2b,
- 0x8eb1: 0x7afa,
- 0x8eb2: 0x8ef8,
- 0x8eb3: 0x5b8d,
- 0x8eb4: 0x96eb,
- 0x8eb5: 0x4e03,
- 0x8eb6: 0x53f1,
- 0x8eb7: 0x57f7,
- 0x8eb8: 0x5931,
- 0x8eb9: 0x5ac9,
- 0x8eba: 0x5ba4,
- 0x8ebb: 0x6089,
- 0x8ebc: 0x6e7f,
- 0x8ebd: 0x6f06,
- 0x8ebe: 0x75be,
- 0x8ebf: 0x8cea,
- 0x8ec0: 0x5b9f,
- 0x8ec1: 0x8500,
- 0x8ec2: 0x7be0,
- 0x8ec3: 0x5072,
- 0x8ec4: 0x67f4,
- 0x8ec5: 0x829d,
- 0x8ec6: 0x5c61,
- 0x8ec7: 0x854a,
- 0x8ec8: 0x7e1e,
- 0x8ec9: 0x820e,
- 0x8eca: 0x5199,
- 0x8ecb: 0x5c04,
- 0x8ecc: 0x6368,
- 0x8ecd: 0x8d66,
- 0x8ece: 0x659c,
- 0x8ecf: 0x716e,
- 0x8ed0: 0x793e,
- 0x8ed1: 0x7d17,
- 0x8ed2: 0x8005,
- 0x8ed3: 0x8b1d,
- 0x8ed4: 0x8eca,
- 0x8ed5: 0x906e,
- 0x8ed6: 0x86c7,
- 0x8ed7: 0x90aa,
- 0x8ed8: 0x501f,
- 0x8ed9: 0x52fa,
- 0x8eda: 0x5c3a,
- 0x8edb: 0x6753,
- 0x8edc: 0x707c,
- 0x8edd: 0x7235,
- 0x8ede: 0x914c,
- 0x8edf: 0x91c8,
- 0x8ee0: 0x932b,
- 0x8ee1: 0x82e5,
- 0x8ee2: 0x5bc2,
- 0x8ee3: 0x5f31,
- 0x8ee4: 0x60f9,
- 0x8ee5: 0x4e3b,
- 0x8ee6: 0x53d6,
- 0x8ee7: 0x5b88,
- 0x8ee8: 0x624b,
- 0x8ee9: 0x6731,
- 0x8eea: 0x6b8a,
- 0x8eeb: 0x72e9,
- 0x8eec: 0x73e0,
- 0x8eed: 0x7a2e,
- 0x8eee: 0x816b,
- 0x8eef: 0x8da3,
- 0x8ef0: 0x9152,
- 0x8ef1: 0x9996,
- 0x8ef2: 0x5112,
- 0x8ef3: 0x53d7,
- 0x8ef4: 0x546a,
- 0x8ef5: 0x5bff,
- 0x8ef6: 0x6388,
- 0x8ef7: 0x6a39,
- 0x8ef8: 0x7dac,
- 0x8ef9: 0x9700,
- 0x8efa: 0x56da,
- 0x8efb: 0x53ce,
- 0x8efc: 0x5468,
- 0x8f40: 0x5b97,
- 0x8f41: 0x5c31,
- 0x8f42: 0x5dde,
- 0x8f43: 0x4fee,
- 0x8f44: 0x6101,
- 0x8f45: 0x62fe,
- 0x8f46: 0x6d32,
- 0x8f47: 0x79c0,
- 0x8f48: 0x79cb,
- 0x8f49: 0x7d42,
- 0x8f4a: 0x7e4d,
- 0x8f4b: 0x7fd2,
- 0x8f4c: 0x81ed,
- 0x8f4d: 0x821f,
- 0x8f4e: 0x8490,
- 0x8f4f: 0x8846,
- 0x8f50: 0x8972,
- 0x8f51: 0x8b90,
- 0x8f52: 0x8e74,
- 0x8f53: 0x8f2f,
- 0x8f54: 0x9031,
- 0x8f55: 0x914b,
- 0x8f56: 0x916c,
- 0x8f57: 0x96c6,
- 0x8f58: 0x919c,
- 0x8f59: 0x4ec0,
- 0x8f5a: 0x4f4f,
- 0x8f5b: 0x5145,
- 0x8f5c: 0x5341,
- 0x8f5d: 0x5f93,
- 0x8f5e: 0x620e,
- 0x8f5f: 0x67d4,
- 0x8f60: 0x6c41,
- 0x8f61: 0x6e0b,
- 0x8f62: 0x7363,
- 0x8f63: 0x7e26,
- 0x8f64: 0x91cd,
- 0x8f65: 0x9283,
- 0x8f66: 0x53d4,
- 0x8f67: 0x5919,
- 0x8f68: 0x5bbf,
- 0x8f69: 0x6dd1,
- 0x8f6a: 0x795d,
- 0x8f6b: 0x7e2e,
- 0x8f6c: 0x7c9b,
- 0x8f6d: 0x587e,
- 0x8f6e: 0x719f,
- 0x8f6f: 0x51fa,
- 0x8f70: 0x8853,
- 0x8f71: 0x8ff0,
- 0x8f72: 0x4fca,
- 0x8f73: 0x5cfb,
- 0x8f74: 0x6625,
- 0x8f75: 0x77ac,
- 0x8f76: 0x7ae3,
- 0x8f77: 0x821c,
- 0x8f78: 0x99ff,
- 0x8f79: 0x51c6,
- 0x8f7a: 0x5faa,
- 0x8f7b: 0x65ec,
- 0x8f7c: 0x696f,
- 0x8f7d: 0x6b89,
- 0x8f7e: 0x6df3,
- 0x8f80: 0x6e96,
- 0x8f81: 0x6f64,
- 0x8f82: 0x76fe,
- 0x8f83: 0x7d14,
- 0x8f84: 0x5de1,
- 0x8f85: 0x9075,
- 0x8f86: 0x9187,
- 0x8f87: 0x9806,
- 0x8f88: 0x51e6,
- 0x8f89: 0x521d,
- 0x8f8a: 0x6240,
- 0x8f8b: 0x6691,
- 0x8f8c: 0x66d9,
- 0x8f8d: 0x6e1a,
- 0x8f8e: 0x5eb6,
- 0x8f8f: 0x7dd2,
- 0x8f90: 0x7f72,
- 0x8f91: 0x66f8,
- 0x8f92: 0x85af,
- 0x8f93: 0x85f7,
- 0x8f94: 0x8af8,
- 0x8f95: 0x52a9,
- 0x8f96: 0x53d9,
- 0x8f97: 0x5973,
- 0x8f98: 0x5e8f,
- 0x8f99: 0x5f90,
- 0x8f9a: 0x6055,
- 0x8f9b: 0x92e4,
- 0x8f9c: 0x9664,
- 0x8f9d: 0x50b7,
- 0x8f9e: 0x511f,
- 0x8f9f: 0x52dd,
- 0x8fa0: 0x5320,
- 0x8fa1: 0x5347,
- 0x8fa2: 0x53ec,
- 0x8fa3: 0x54e8,
- 0x8fa4: 0x5546,
- 0x8fa5: 0x5531,
- 0x8fa6: 0x5617,
- 0x8fa7: 0x5968,
- 0x8fa8: 0x59be,
- 0x8fa9: 0x5a3c,
- 0x8faa: 0x5bb5,
- 0x8fab: 0x5c06,
- 0x8fac: 0x5c0f,
- 0x8fad: 0x5c11,
- 0x8fae: 0x5c1a,
- 0x8faf: 0x5e84,
- 0x8fb0: 0x5e8a,
- 0x8fb1: 0x5ee0,
- 0x8fb2: 0x5f70,
- 0x8fb3: 0x627f,
- 0x8fb4: 0x6284,
- 0x8fb5: 0x62db,
- 0x8fb6: 0x638c,
- 0x8fb7: 0x6377,
- 0x8fb8: 0x6607,
- 0x8fb9: 0x660c,
- 0x8fba: 0x662d,
- 0x8fbb: 0x6676,
- 0x8fbc: 0x677e,
- 0x8fbd: 0x68a2,
- 0x8fbe: 0x6a1f,
- 0x8fbf: 0x6a35,
- 0x8fc0: 0x6cbc,
- 0x8fc1: 0x6d88,
- 0x8fc2: 0x6e09,
- 0x8fc3: 0x6e58,
- 0x8fc4: 0x713c,
- 0x8fc5: 0x7126,
- 0x8fc6: 0x7167,
- 0x8fc7: 0x75c7,
- 0x8fc8: 0x7701,
- 0x8fc9: 0x785d,
- 0x8fca: 0x7901,
- 0x8fcb: 0x7965,
- 0x8fcc: 0x79f0,
- 0x8fcd: 0x7ae0,
- 0x8fce: 0x7b11,
- 0x8fcf: 0x7ca7,
- 0x8fd0: 0x7d39,
- 0x8fd1: 0x8096,
- 0x8fd2: 0x83d6,
- 0x8fd3: 0x848b,
- 0x8fd4: 0x8549,
- 0x8fd5: 0x885d,
- 0x8fd6: 0x88f3,
- 0x8fd7: 0x8a1f,
- 0x8fd8: 0x8a3c,
- 0x8fd9: 0x8a54,
- 0x8fda: 0x8a73,
- 0x8fdb: 0x8c61,
- 0x8fdc: 0x8cde,
- 0x8fdd: 0x91a4,
- 0x8fde: 0x9266,
- 0x8fdf: 0x937e,
- 0x8fe0: 0x9418,
- 0x8fe1: 0x969c,
- 0x8fe2: 0x9798,
- 0x8fe3: 0x4e0a,
- 0x8fe4: 0x4e08,
- 0x8fe5: 0x4e1e,
- 0x8fe6: 0x4e57,
- 0x8fe7: 0x5197,
- 0x8fe8: 0x5270,
- 0x8fe9: 0x57ce,
- 0x8fea: 0x5834,
- 0x8feb: 0x58cc,
- 0x8fec: 0x5b22,
- 0x8fed: 0x5e38,
- 0x8fee: 0x60c5,
- 0x8fef: 0x64fe,
- 0x8ff0: 0x6761,
- 0x8ff1: 0x6756,
- 0x8ff2: 0x6d44,
- 0x8ff3: 0x72b6,
- 0x8ff4: 0x7573,
- 0x8ff5: 0x7a63,
- 0x8ff6: 0x84b8,
- 0x8ff7: 0x8b72,
- 0x8ff8: 0x91b8,
- 0x8ff9: 0x9320,
- 0x8ffa: 0x5631,
- 0x8ffb: 0x57f4,
- 0x8ffc: 0x98fe,
- 0x9040: 0x62ed,
- 0x9041: 0x690d,
- 0x9042: 0x6b96,
- 0x9043: 0x71ed,
- 0x9044: 0x7e54,
- 0x9045: 0x8077,
- 0x9046: 0x8272,
- 0x9047: 0x89e6,
- 0x9048: 0x98df,
- 0x9049: 0x8755,
- 0x904a: 0x8fb1,
- 0x904b: 0x5c3b,
- 0x904c: 0x4f38,
- 0x904d: 0x4fe1,
- 0x904e: 0x4fb5,
- 0x904f: 0x5507,
- 0x9050: 0x5a20,
- 0x9051: 0x5bdd,
- 0x9052: 0x5be9,
- 0x9053: 0x5fc3,
- 0x9054: 0x614e,
- 0x9055: 0x632f,
- 0x9056: 0x65b0,
- 0x9057: 0x664b,
- 0x9058: 0x68ee,
- 0x9059: 0x699b,
- 0x905a: 0x6d78,
- 0x905b: 0x6df1,
- 0x905c: 0x7533,
- 0x905d: 0x75b9,
- 0x905e: 0x771f,
- 0x905f: 0x795e,
- 0x9060: 0x79e6,
- 0x9061: 0x7d33,
- 0x9062: 0x81e3,
- 0x9063: 0x82af,
- 0x9064: 0x85aa,
- 0x9065: 0x89aa,
- 0x9066: 0x8a3a,
- 0x9067: 0x8eab,
- 0x9068: 0x8f9b,
- 0x9069: 0x9032,
- 0x906a: 0x91dd,
- 0x906b: 0x9707,
- 0x906c: 0x4eba,
- 0x906d: 0x4ec1,
- 0x906e: 0x5203,
- 0x906f: 0x5875,
- 0x9070: 0x58ec,
- 0x9071: 0x5c0b,
- 0x9072: 0x751a,
- 0x9073: 0x5c3d,
- 0x9074: 0x814e,
- 0x9075: 0x8a0a,
- 0x9076: 0x8fc5,
- 0x9077: 0x9663,
- 0x9078: 0x976d,
- 0x9079: 0x7b25,
- 0x907a: 0x8acf,
- 0x907b: 0x9808,
- 0x907c: 0x9162,
- 0x907d: 0x56f3,
- 0x907e: 0x53a8,
- 0x9080: 0x9017,
- 0x9081: 0x5439,
- 0x9082: 0x5782,
- 0x9083: 0x5e25,
- 0x9084: 0x63a8,
- 0x9085: 0x6c34,
- 0x9086: 0x708a,
- 0x9087: 0x7761,
- 0x9088: 0x7c8b,
- 0x9089: 0x7fe0,
- 0x908a: 0x8870,
- 0x908b: 0x9042,
- 0x908c: 0x9154,
- 0x908d: 0x9310,
- 0x908e: 0x9318,
- 0x908f: 0x968f,
- 0x9090: 0x745e,
- 0x9091: 0x9ac4,
- 0x9092: 0x5d07,
- 0x9093: 0x5d69,
- 0x9094: 0x6570,
- 0x9095: 0x67a2,
- 0x9096: 0x8da8,
- 0x9097: 0x96db,
- 0x9098: 0x636e,
- 0x9099: 0x6749,
- 0x909a: 0x6919,
- 0x909b: 0x83c5,
- 0x909c: 0x9817,
- 0x909d: 0x96c0,
- 0x909e: 0x88fe,
- 0x909f: 0x6f84,
- 0x90a0: 0x647a,
- 0x90a1: 0x5bf8,
- 0x90a2: 0x4e16,
- 0x90a3: 0x702c,
- 0x90a4: 0x755d,
- 0x90a5: 0x662f,
- 0x90a6: 0x51c4,
- 0x90a7: 0x5236,
- 0x90a8: 0x52e2,
- 0x90a9: 0x59d3,
- 0x90aa: 0x5f81,
- 0x90ab: 0x6027,
- 0x90ac: 0x6210,
- 0x90ad: 0x653f,
- 0x90ae: 0x6574,
- 0x90af: 0x661f,
- 0x90b0: 0x6674,
- 0x90b1: 0x68f2,
- 0x90b2: 0x6816,
- 0x90b3: 0x6b63,
- 0x90b4: 0x6e05,
- 0x90b5: 0x7272,
- 0x90b6: 0x751f,
- 0x90b7: 0x76db,
- 0x90b8: 0x7cbe,
- 0x90b9: 0x8056,
- 0x90ba: 0x58f0,
- 0x90bb: 0x88fd,
- 0x90bc: 0x897f,
- 0x90bd: 0x8aa0,
- 0x90be: 0x8a93,
- 0x90bf: 0x8acb,
- 0x90c0: 0x901d,
- 0x90c1: 0x9192,
- 0x90c2: 0x9752,
- 0x90c3: 0x9759,
- 0x90c4: 0x6589,
- 0x90c5: 0x7a0e,
- 0x90c6: 0x8106,
- 0x90c7: 0x96bb,
- 0x90c8: 0x5e2d,
- 0x90c9: 0x60dc,
- 0x90ca: 0x621a,
- 0x90cb: 0x65a5,
- 0x90cc: 0x6614,
- 0x90cd: 0x6790,
- 0x90ce: 0x77f3,
- 0x90cf: 0x7a4d,
- 0x90d0: 0x7c4d,
- 0x90d1: 0x7e3e,
- 0x90d2: 0x810a,
- 0x90d3: 0x8cac,
- 0x90d4: 0x8d64,
- 0x90d5: 0x8de1,
- 0x90d6: 0x8e5f,
- 0x90d7: 0x78a9,
- 0x90d8: 0x5207,
- 0x90d9: 0x62d9,
- 0x90da: 0x63a5,
- 0x90db: 0x6442,
- 0x90dc: 0x6298,
- 0x90dd: 0x8a2d,
- 0x90de: 0x7a83,
- 0x90df: 0x7bc0,
- 0x90e0: 0x8aac,
- 0x90e1: 0x96ea,
- 0x90e2: 0x7d76,
- 0x90e3: 0x820c,
- 0x90e4: 0x8749,
- 0x90e5: 0x4ed9,
- 0x90e6: 0x5148,
- 0x90e7: 0x5343,
- 0x90e8: 0x5360,
- 0x90e9: 0x5ba3,
- 0x90ea: 0x5c02,
- 0x90eb: 0x5c16,
- 0x90ec: 0x5ddd,
- 0x90ed: 0x6226,
- 0x90ee: 0x6247,
- 0x90ef: 0x64b0,
- 0x90f0: 0x6813,
- 0x90f1: 0x6834,
- 0x90f2: 0x6cc9,
- 0x90f3: 0x6d45,
- 0x90f4: 0x6d17,
- 0x90f5: 0x67d3,
- 0x90f6: 0x6f5c,
- 0x90f7: 0x714e,
- 0x90f8: 0x717d,
- 0x90f9: 0x65cb,
- 0x90fa: 0x7a7f,
- 0x90fb: 0x7bad,
- 0x90fc: 0x7dda,
- 0x9140: 0x7e4a,
- 0x9141: 0x7fa8,
- 0x9142: 0x817a,
- 0x9143: 0x821b,
- 0x9144: 0x8239,
- 0x9145: 0x85a6,
- 0x9146: 0x8a6e,
- 0x9147: 0x8cce,
- 0x9148: 0x8df5,
- 0x9149: 0x9078,
- 0x914a: 0x9077,
- 0x914b: 0x92ad,
- 0x914c: 0x9291,
- 0x914d: 0x9583,
- 0x914e: 0x9bae,
- 0x914f: 0x524d,
- 0x9150: 0x5584,
- 0x9151: 0x6f38,
- 0x9152: 0x7136,
- 0x9153: 0x5168,
- 0x9154: 0x7985,
- 0x9155: 0x7e55,
- 0x9156: 0x81b3,
- 0x9157: 0x7cce,
- 0x9158: 0x564c,
- 0x9159: 0x5851,
- 0x915a: 0x5ca8,
- 0x915b: 0x63aa,
- 0x915c: 0x66fe,
- 0x915d: 0x66fd,
- 0x915e: 0x695a,
- 0x915f: 0x72d9,
- 0x9160: 0x758f,
- 0x9161: 0x758e,
- 0x9162: 0x790e,
- 0x9163: 0x7956,
- 0x9164: 0x79df,
- 0x9165: 0x7c97,
- 0x9166: 0x7d20,
- 0x9167: 0x7d44,
- 0x9168: 0x8607,
- 0x9169: 0x8a34,
- 0x916a: 0x963b,
- 0x916b: 0x9061,
- 0x916c: 0x9f20,
- 0x916d: 0x50e7,
- 0x916e: 0x5275,
- 0x916f: 0x53cc,
- 0x9170: 0x53e2,
- 0x9171: 0x5009,
- 0x9172: 0x55aa,
- 0x9173: 0x58ee,
- 0x9174: 0x594f,
- 0x9175: 0x723d,
- 0x9176: 0x5b8b,
- 0x9177: 0x5c64,
- 0x9178: 0x531d,
- 0x9179: 0x60e3,
- 0x917a: 0x60f3,
- 0x917b: 0x635c,
- 0x917c: 0x6383,
- 0x917d: 0x633f,
- 0x917e: 0x63bb,
- 0x9180: 0x64cd,
- 0x9181: 0x65e9,
- 0x9182: 0x66f9,
- 0x9183: 0x5de3,
- 0x9184: 0x69cd,
- 0x9185: 0x69fd,
- 0x9186: 0x6f15,
- 0x9187: 0x71e5,
- 0x9188: 0x4e89,
- 0x9189: 0x75e9,
- 0x918a: 0x76f8,
- 0x918b: 0x7a93,
- 0x918c: 0x7cdf,
- 0x918d: 0x7dcf,
- 0x918e: 0x7d9c,
- 0x918f: 0x8061,
- 0x9190: 0x8349,
- 0x9191: 0x8358,
- 0x9192: 0x846c,
- 0x9193: 0x84bc,
- 0x9194: 0x85fb,
- 0x9195: 0x88c5,
- 0x9196: 0x8d70,
- 0x9197: 0x9001,
- 0x9198: 0x906d,
- 0x9199: 0x9397,
- 0x919a: 0x971c,
- 0x919b: 0x9a12,
- 0x919c: 0x50cf,
- 0x919d: 0x5897,
- 0x919e: 0x618e,
- 0x919f: 0x81d3,
- 0x91a0: 0x8535,
- 0x91a1: 0x8d08,
- 0x91a2: 0x9020,
- 0x91a3: 0x4fc3,
- 0x91a4: 0x5074,
- 0x91a5: 0x5247,
- 0x91a6: 0x5373,
- 0x91a7: 0x606f,
- 0x91a8: 0x6349,
- 0x91a9: 0x675f,
- 0x91aa: 0x6e2c,
- 0x91ab: 0x8db3,
- 0x91ac: 0x901f,
- 0x91ad: 0x4fd7,
- 0x91ae: 0x5c5e,
- 0x91af: 0x8cca,
- 0x91b0: 0x65cf,
- 0x91b1: 0x7d9a,
- 0x91b2: 0x5352,
- 0x91b3: 0x8896,
- 0x91b4: 0x5176,
- 0x91b5: 0x63c3,
- 0x91b6: 0x5b58,
- 0x91b7: 0x5b6b,
- 0x91b8: 0x5c0a,
- 0x91b9: 0x640d,
- 0x91ba: 0x6751,
- 0x91bb: 0x905c,
- 0x91bc: 0x4ed6,
- 0x91bd: 0x591a,
- 0x91be: 0x592a,
- 0x91bf: 0x6c70,
- 0x91c0: 0x8a51,
- 0x91c1: 0x553e,
- 0x91c2: 0x5815,
- 0x91c3: 0x59a5,
- 0x91c4: 0x60f0,
- 0x91c5: 0x6253,
- 0x91c6: 0x67c1,
- 0x91c7: 0x8235,
- 0x91c8: 0x6955,
- 0x91c9: 0x9640,
- 0x91ca: 0x99c4,
- 0x91cb: 0x9a28,
- 0x91cc: 0x4f53,
- 0x91cd: 0x5806,
- 0x91ce: 0x5bfe,
- 0x91cf: 0x8010,
- 0x91d0: 0x5cb1,
- 0x91d1: 0x5e2f,
- 0x91d2: 0x5f85,
- 0x91d3: 0x6020,
- 0x91d4: 0x614b,
- 0x91d5: 0x6234,
- 0x91d6: 0x66ff,
- 0x91d7: 0x6cf0,
- 0x91d8: 0x6ede,
- 0x91d9: 0x80ce,
- 0x91da: 0x817f,
- 0x91db: 0x82d4,
- 0x91dc: 0x888b,
- 0x91dd: 0x8cb8,
- 0x91de: 0x9000,
- 0x91df: 0x902e,
- 0x91e0: 0x968a,
- 0x91e1: 0x9edb,
- 0x91e2: 0x9bdb,
- 0x91e3: 0x4ee3,
- 0x91e4: 0x53f0,
- 0x91e5: 0x5927,
- 0x91e6: 0x7b2c,
- 0x91e7: 0x918d,
- 0x91e8: 0x984c,
- 0x91e9: 0x9df9,
- 0x91ea: 0x6edd,
- 0x91eb: 0x7027,
- 0x91ec: 0x5353,
- 0x91ed: 0x5544,
- 0x91ee: 0x5b85,
- 0x91ef: 0x6258,
- 0x91f0: 0x629e,
- 0x91f1: 0x62d3,
- 0x91f2: 0x6ca2,
- 0x91f3: 0x6fef,
- 0x91f4: 0x7422,
- 0x91f5: 0x8a17,
- 0x91f6: 0x9438,
- 0x91f7: 0x6fc1,
- 0x91f8: 0x8afe,
- 0x91f9: 0x8338,
- 0x91fa: 0x51e7,
- 0x91fb: 0x86f8,
- 0x91fc: 0x53ea,
- 0x9240: 0x53e9,
- 0x9241: 0x4f46,
- 0x9242: 0x9054,
- 0x9243: 0x8fb0,
- 0x9244: 0x596a,
- 0x9245: 0x8131,
- 0x9246: 0x5dfd,
- 0x9247: 0x7aea,
- 0x9248: 0x8fbf,
- 0x9249: 0x68da,
- 0x924a: 0x8c37,
- 0x924b: 0x72f8,
- 0x924c: 0x9c48,
- 0x924d: 0x6a3d,
- 0x924e: 0x8ab0,
- 0x924f: 0x4e39,
- 0x9250: 0x5358,
- 0x9251: 0x5606,
- 0x9252: 0x5766,
- 0x9253: 0x62c5,
- 0x9254: 0x63a2,
- 0x9255: 0x65e6,
- 0x9256: 0x6b4e,
- 0x9257: 0x6de1,
- 0x9258: 0x6e5b,
- 0x9259: 0x70ad,
- 0x925a: 0x77ed,
- 0x925b: 0x7aef,
- 0x925c: 0x7baa,
- 0x925d: 0x7dbb,
- 0x925e: 0x803d,
- 0x925f: 0x80c6,
- 0x9260: 0x86cb,
- 0x9261: 0x8a95,
- 0x9262: 0x935b,
- 0x9263: 0x56e3,
- 0x9264: 0x58c7,
- 0x9265: 0x5f3e,
- 0x9266: 0x65ad,
- 0x9267: 0x6696,
- 0x9268: 0x6a80,
- 0x9269: 0x6bb5,
- 0x926a: 0x7537,
- 0x926b: 0x8ac7,
- 0x926c: 0x5024,
- 0x926d: 0x77e5,
- 0x926e: 0x5730,
- 0x926f: 0x5f1b,
- 0x9270: 0x6065,
- 0x9271: 0x667a,
- 0x9272: 0x6c60,
- 0x9273: 0x75f4,
- 0x9274: 0x7a1a,
- 0x9275: 0x7f6e,
- 0x9276: 0x81f4,
- 0x9277: 0x8718,
- 0x9278: 0x9045,
- 0x9279: 0x99b3,
- 0x927a: 0x7bc9,
- 0x927b: 0x755c,
- 0x927c: 0x7af9,
- 0x927d: 0x7b51,
- 0x927e: 0x84c4,
- 0x9280: 0x9010,
- 0x9281: 0x79e9,
- 0x9282: 0x7a92,
- 0x9283: 0x8336,
- 0x9284: 0x5ae1,
- 0x9285: 0x7740,
- 0x9286: 0x4e2d,
- 0x9287: 0x4ef2,
- 0x9288: 0x5b99,
- 0x9289: 0x5fe0,
- 0x928a: 0x62bd,
- 0x928b: 0x663c,
- 0x928c: 0x67f1,
- 0x928d: 0x6ce8,
- 0x928e: 0x866b,
- 0x928f: 0x8877,
- 0x9290: 0x8a3b,
- 0x9291: 0x914e,
- 0x9292: 0x92f3,
- 0x9293: 0x99d0,
- 0x9294: 0x6a17,
- 0x9295: 0x7026,
- 0x9296: 0x732a,
- 0x9297: 0x82e7,
- 0x9298: 0x8457,
- 0x9299: 0x8caf,
- 0x929a: 0x4e01,
- 0x929b: 0x5146,
- 0x929c: 0x51cb,
- 0x929d: 0x558b,
- 0x929e: 0x5bf5,
- 0x929f: 0x5e16,
- 0x92a0: 0x5e33,
- 0x92a1: 0x5e81,
- 0x92a2: 0x5f14,
- 0x92a3: 0x5f35,
- 0x92a4: 0x5f6b,
- 0x92a5: 0x5fb4,
- 0x92a6: 0x61f2,
- 0x92a7: 0x6311,
- 0x92a8: 0x66a2,
- 0x92a9: 0x671d,
- 0x92aa: 0x6f6e,
- 0x92ab: 0x7252,
- 0x92ac: 0x753a,
- 0x92ad: 0x773a,
- 0x92ae: 0x8074,
- 0x92af: 0x8139,
- 0x92b0: 0x8178,
- 0x92b1: 0x8776,
- 0x92b2: 0x8abf,
- 0x92b3: 0x8adc,
- 0x92b4: 0x8d85,
- 0x92b5: 0x8df3,
- 0x92b6: 0x929a,
- 0x92b7: 0x9577,
- 0x92b8: 0x9802,
- 0x92b9: 0x9ce5,
- 0x92ba: 0x52c5,
- 0x92bb: 0x6357,
- 0x92bc: 0x76f4,
- 0x92bd: 0x6715,
- 0x92be: 0x6c88,
- 0x92bf: 0x73cd,
- 0x92c0: 0x8cc3,
- 0x92c1: 0x93ae,
- 0x92c2: 0x9673,
- 0x92c3: 0x6d25,
- 0x92c4: 0x589c,
- 0x92c5: 0x690e,
- 0x92c6: 0x69cc,
- 0x92c7: 0x8ffd,
- 0x92c8: 0x939a,
- 0x92c9: 0x75db,
- 0x92ca: 0x901a,
- 0x92cb: 0x585a,
- 0x92cc: 0x6802,
- 0x92cd: 0x63b4,
- 0x92ce: 0x69fb,
- 0x92cf: 0x4f43,
- 0x92d0: 0x6f2c,
- 0x92d1: 0x67d8,
- 0x92d2: 0x8fbb,
- 0x92d3: 0x8526,
- 0x92d4: 0x7db4,
- 0x92d5: 0x9354,
- 0x92d6: 0x693f,
- 0x92d7: 0x6f70,
- 0x92d8: 0x576a,
- 0x92d9: 0x58f7,
- 0x92da: 0x5b2c,
- 0x92db: 0x7d2c,
- 0x92dc: 0x722a,
- 0x92dd: 0x540a,
- 0x92de: 0x91e3,
- 0x92df: 0x9db4,
- 0x92e0: 0x4ead,
- 0x92e1: 0x4f4e,
- 0x92e2: 0x505c,
- 0x92e3: 0x5075,
- 0x92e4: 0x5243,
- 0x92e5: 0x8c9e,
- 0x92e6: 0x5448,
- 0x92e7: 0x5824,
- 0x92e8: 0x5b9a,
- 0x92e9: 0x5e1d,
- 0x92ea: 0x5e95,
- 0x92eb: 0x5ead,
- 0x92ec: 0x5ef7,
- 0x92ed: 0x5f1f,
- 0x92ee: 0x608c,
- 0x92ef: 0x62b5,
- 0x92f0: 0x633a,
- 0x92f1: 0x63d0,
- 0x92f2: 0x68af,
- 0x92f3: 0x6c40,
- 0x92f4: 0x7887,
- 0x92f5: 0x798e,
- 0x92f6: 0x7a0b,
- 0x92f7: 0x7de0,
- 0x92f8: 0x8247,
- 0x92f9: 0x8a02,
- 0x92fa: 0x8ae6,
- 0x92fb: 0x8e44,
- 0x92fc: 0x9013,
- 0x9340: 0x90b8,
- 0x9341: 0x912d,
- 0x9342: 0x91d8,
- 0x9343: 0x9f0e,
- 0x9344: 0x6ce5,
- 0x9345: 0x6458,
- 0x9346: 0x64e2,
- 0x9347: 0x6575,
- 0x9348: 0x6ef4,
- 0x9349: 0x7684,
- 0x934a: 0x7b1b,
- 0x934b: 0x9069,
- 0x934c: 0x93d1,
- 0x934d: 0x6eba,
- 0x934e: 0x54f2,
- 0x934f: 0x5fb9,
- 0x9350: 0x64a4,
- 0x9351: 0x8f4d,
- 0x9352: 0x8fed,
- 0x9353: 0x9244,
- 0x9354: 0x5178,
- 0x9355: 0x586b,
- 0x9356: 0x5929,
- 0x9357: 0x5c55,
- 0x9358: 0x5e97,
- 0x9359: 0x6dfb,
- 0x935a: 0x7e8f,
- 0x935b: 0x751c,
- 0x935c: 0x8cbc,
- 0x935d: 0x8ee2,
- 0x935e: 0x985b,
- 0x935f: 0x70b9,
- 0x9360: 0x4f1d,
- 0x9361: 0x6bbf,
- 0x9362: 0x6fb1,
- 0x9363: 0x7530,
- 0x9364: 0x96fb,
- 0x9365: 0x514e,
- 0x9366: 0x5410,
- 0x9367: 0x5835,
- 0x9368: 0x5857,
- 0x9369: 0x59ac,
- 0x936a: 0x5c60,
- 0x936b: 0x5f92,
- 0x936c: 0x6597,
- 0x936d: 0x675c,
- 0x936e: 0x6e21,
- 0x936f: 0x767b,
- 0x9370: 0x83df,
- 0x9371: 0x8ced,
- 0x9372: 0x9014,
- 0x9373: 0x90fd,
- 0x9374: 0x934d,
- 0x9375: 0x7825,
- 0x9376: 0x783a,
- 0x9377: 0x52aa,
- 0x9378: 0x5ea6,
- 0x9379: 0x571f,
- 0x937a: 0x5974,
- 0x937b: 0x6012,
- 0x937c: 0x5012,
- 0x937d: 0x515a,
- 0x937e: 0x51ac,
- 0x9380: 0x51cd,
- 0x9381: 0x5200,
- 0x9382: 0x5510,
- 0x9383: 0x5854,
- 0x9384: 0x5858,
- 0x9385: 0x5957,
- 0x9386: 0x5b95,
- 0x9387: 0x5cf6,
- 0x9388: 0x5d8b,
- 0x9389: 0x60bc,
- 0x938a: 0x6295,
- 0x938b: 0x642d,
- 0x938c: 0x6771,
- 0x938d: 0x6843,
- 0x938e: 0x68bc,
- 0x938f: 0x68df,
- 0x9390: 0x76d7,
- 0x9391: 0x6dd8,
- 0x9392: 0x6e6f,
- 0x9393: 0x6d9b,
- 0x9394: 0x706f,
- 0x9395: 0x71c8,
- 0x9396: 0x5f53,
- 0x9397: 0x75d8,
- 0x9398: 0x7977,
- 0x9399: 0x7b49,
- 0x939a: 0x7b54,
- 0x939b: 0x7b52,
- 0x939c: 0x7cd6,
- 0x939d: 0x7d71,
- 0x939e: 0x5230,
- 0x939f: 0x8463,
- 0x93a0: 0x8569,
- 0x93a1: 0x85e4,
- 0x93a2: 0x8a0e,
- 0x93a3: 0x8b04,
- 0x93a4: 0x8c46,
- 0x93a5: 0x8e0f,
- 0x93a6: 0x9003,
- 0x93a7: 0x900f,
- 0x93a8: 0x9419,
- 0x93a9: 0x9676,
- 0x93aa: 0x982d,
- 0x93ab: 0x9a30,
- 0x93ac: 0x95d8,
- 0x93ad: 0x50cd,
- 0x93ae: 0x52d5,
- 0x93af: 0x540c,
- 0x93b0: 0x5802,
- 0x93b1: 0x5c0e,
- 0x93b2: 0x61a7,
- 0x93b3: 0x649e,
- 0x93b4: 0x6d1e,
- 0x93b5: 0x77b3,
- 0x93b6: 0x7ae5,
- 0x93b7: 0x80f4,
- 0x93b8: 0x8404,
- 0x93b9: 0x9053,
- 0x93ba: 0x9285,
- 0x93bb: 0x5ce0,
- 0x93bc: 0x9d07,
- 0x93bd: 0x533f,
- 0x93be: 0x5f97,
- 0x93bf: 0x5fb3,
- 0x93c0: 0x6d9c,
- 0x93c1: 0x7279,
- 0x93c2: 0x7763,
- 0x93c3: 0x79bf,
- 0x93c4: 0x7be4,
- 0x93c5: 0x6bd2,
- 0x93c6: 0x72ec,
- 0x93c7: 0x8aad,
- 0x93c8: 0x6803,
- 0x93c9: 0x6a61,
- 0x93ca: 0x51f8,
- 0x93cb: 0x7a81,
- 0x93cc: 0x6934,
- 0x93cd: 0x5c4a,
- 0x93ce: 0x9cf6,
- 0x93cf: 0x82eb,
- 0x93d0: 0x5bc5,
- 0x93d1: 0x9149,
- 0x93d2: 0x701e,
- 0x93d3: 0x5678,
- 0x93d4: 0x5c6f,
- 0x93d5: 0x60c7,
- 0x93d6: 0x6566,
- 0x93d7: 0x6c8c,
- 0x93d8: 0x8c5a,
- 0x93d9: 0x9041,
- 0x93da: 0x9813,
- 0x93db: 0x5451,
- 0x93dc: 0x66c7,
- 0x93dd: 0x920d,
- 0x93de: 0x5948,
- 0x93df: 0x90a3,
- 0x93e0: 0x5185,
- 0x93e1: 0x4e4d,
- 0x93e2: 0x51ea,
- 0x93e3: 0x8599,
- 0x93e4: 0x8b0e,
- 0x93e5: 0x7058,
- 0x93e6: 0x637a,
- 0x93e7: 0x934b,
- 0x93e8: 0x6962,
- 0x93e9: 0x99b4,
- 0x93ea: 0x7e04,
- 0x93eb: 0x7577,
- 0x93ec: 0x5357,
- 0x93ed: 0x6960,
- 0x93ee: 0x8edf,
- 0x93ef: 0x96e3,
- 0x93f0: 0x6c5d,
- 0x93f1: 0x4e8c,
- 0x93f2: 0x5c3c,
- 0x93f3: 0x5f10,
- 0x93f4: 0x8fe9,
- 0x93f5: 0x5302,
- 0x93f6: 0x8cd1,
- 0x93f7: 0x8089,
- 0x93f8: 0x8679,
- 0x93f9: 0x5eff,
- 0x93fa: 0x65e5,
- 0x93fb: 0x4e73,
- 0x93fc: 0x5165,
- 0x9440: 0x5982,
- 0x9441: 0x5c3f,
- 0x9442: 0x97ee,
- 0x9443: 0x4efb,
- 0x9444: 0x598a,
- 0x9445: 0x5fcd,
- 0x9446: 0x8a8d,
- 0x9447: 0x6fe1,
- 0x9448: 0x79b0,
- 0x9449: 0x7962,
- 0x944a: 0x5be7,
- 0x944b: 0x8471,
- 0x944c: 0x732b,
- 0x944d: 0x71b1,
- 0x944e: 0x5e74,
- 0x944f: 0x5ff5,
- 0x9450: 0x637b,
- 0x9451: 0x649a,
- 0x9452: 0x71c3,
- 0x9453: 0x7c98,
- 0x9454: 0x4e43,
- 0x9455: 0x5efc,
- 0x9456: 0x4e4b,
- 0x9457: 0x57dc,
- 0x9458: 0x56a2,
- 0x9459: 0x60a9,
- 0x945a: 0x6fc3,
- 0x945b: 0x7d0d,
- 0x945c: 0x80fd,
- 0x945d: 0x8133,
- 0x945e: 0x81bf,
- 0x945f: 0x8fb2,
- 0x9460: 0x8997,
- 0x9461: 0x86a4,
- 0x9462: 0x5df4,
- 0x9463: 0x628a,
- 0x9464: 0x64ad,
- 0x9465: 0x8987,
- 0x9466: 0x6777,
- 0x9467: 0x6ce2,
- 0x9468: 0x6d3e,
- 0x9469: 0x7436,
- 0x946a: 0x7834,
- 0x946b: 0x5a46,
- 0x946c: 0x7f75,
- 0x946d: 0x82ad,
- 0x946e: 0x99ac,
- 0x946f: 0x4ff3,
- 0x9470: 0x5ec3,
- 0x9471: 0x62dd,
- 0x9472: 0x6392,
- 0x9473: 0x6557,
- 0x9474: 0x676f,
- 0x9475: 0x76c3,
- 0x9476: 0x724c,
- 0x9477: 0x80cc,
- 0x9478: 0x80ba,
- 0x9479: 0x8f29,
- 0x947a: 0x914d,
- 0x947b: 0x500d,
- 0x947c: 0x57f9,
- 0x947d: 0x5a92,
- 0x947e: 0x6885,
- 0x9480: 0x6973,
- 0x9481: 0x7164,
- 0x9482: 0x72fd,
- 0x9483: 0x8cb7,
- 0x9484: 0x58f2,
- 0x9485: 0x8ce0,
- 0x9486: 0x966a,
- 0x9487: 0x9019,
- 0x9488: 0x877f,
- 0x9489: 0x79e4,
- 0x948a: 0x77e7,
- 0x948b: 0x8429,
- 0x948c: 0x4f2f,
- 0x948d: 0x5265,
- 0x948e: 0x535a,
- 0x948f: 0x62cd,
- 0x9490: 0x67cf,
- 0x9491: 0x6cca,
- 0x9492: 0x767d,
- 0x9493: 0x7b94,
- 0x9494: 0x7c95,
- 0x9495: 0x8236,
- 0x9496: 0x8584,
- 0x9497: 0x8feb,
- 0x9498: 0x66dd,
- 0x9499: 0x6f20,
- 0x949a: 0x7206,
- 0x949b: 0x7e1b,
- 0x949c: 0x83ab,
- 0x949d: 0x99c1,
- 0x949e: 0x9ea6,
- 0x949f: 0x51fd,
- 0x94a0: 0x7bb1,
- 0x94a1: 0x7872,
- 0x94a2: 0x7bb8,
- 0x94a3: 0x8087,
- 0x94a4: 0x7b48,
- 0x94a5: 0x6ae8,
- 0x94a6: 0x5e61,
- 0x94a7: 0x808c,
- 0x94a8: 0x7551,
- 0x94a9: 0x7560,
- 0x94aa: 0x516b,
- 0x94ab: 0x9262,
- 0x94ac: 0x6e8c,
- 0x94ad: 0x767a,
- 0x94ae: 0x9197,
- 0x94af: 0x9aea,
- 0x94b0: 0x4f10,
- 0x94b1: 0x7f70,
- 0x94b2: 0x629c,
- 0x94b3: 0x7b4f,
- 0x94b4: 0x95a5,
- 0x94b5: 0x9ce9,
- 0x94b6: 0x567a,
- 0x94b7: 0x5859,
- 0x94b8: 0x86e4,
- 0x94b9: 0x96bc,
- 0x94ba: 0x4f34,
- 0x94bb: 0x5224,
- 0x94bc: 0x534a,
- 0x94bd: 0x53cd,
- 0x94be: 0x53db,
- 0x94bf: 0x5e06,
- 0x94c0: 0x642c,
- 0x94c1: 0x6591,
- 0x94c2: 0x677f,
- 0x94c3: 0x6c3e,
- 0x94c4: 0x6c4e,
- 0x94c5: 0x7248,
- 0x94c6: 0x72af,
- 0x94c7: 0x73ed,
- 0x94c8: 0x7554,
- 0x94c9: 0x7e41,
- 0x94ca: 0x822c,
- 0x94cb: 0x85e9,
- 0x94cc: 0x8ca9,
- 0x94cd: 0x7bc4,
- 0x94ce: 0x91c6,
- 0x94cf: 0x7169,
- 0x94d0: 0x9812,
- 0x94d1: 0x98ef,
- 0x94d2: 0x633d,
- 0x94d3: 0x6669,
- 0x94d4: 0x756a,
- 0x94d5: 0x76e4,
- 0x94d6: 0x78d0,
- 0x94d7: 0x8543,
- 0x94d8: 0x86ee,
- 0x94d9: 0x532a,
- 0x94da: 0x5351,
- 0x94db: 0x5426,
- 0x94dc: 0x5983,
- 0x94dd: 0x5e87,
- 0x94de: 0x5f7c,
- 0x94df: 0x60b2,
- 0x94e0: 0x6249,
- 0x94e1: 0x6279,
- 0x94e2: 0x62ab,
- 0x94e3: 0x6590,
- 0x94e4: 0x6bd4,
- 0x94e5: 0x6ccc,
- 0x94e6: 0x75b2,
- 0x94e7: 0x76ae,
- 0x94e8: 0x7891,
- 0x94e9: 0x79d8,
- 0x94ea: 0x7dcb,
- 0x94eb: 0x7f77,
- 0x94ec: 0x80a5,
- 0x94ed: 0x88ab,
- 0x94ee: 0x8ab9,
- 0x94ef: 0x8cbb,
- 0x94f0: 0x907f,
- 0x94f1: 0x975e,
- 0x94f2: 0x98db,
- 0x94f3: 0x6a0b,
- 0x94f4: 0x7c38,
- 0x94f5: 0x5099,
- 0x94f6: 0x5c3e,
- 0x94f7: 0x5fae,
- 0x94f8: 0x6787,
- 0x94f9: 0x6bd8,
- 0x94fa: 0x7435,
- 0x94fb: 0x7709,
- 0x94fc: 0x7f8e,
- 0x9540: 0x9f3b,
- 0x9541: 0x67ca,
- 0x9542: 0x7a17,
- 0x9543: 0x5339,
- 0x9544: 0x758b,
- 0x9545: 0x9aed,
- 0x9546: 0x5f66,
- 0x9547: 0x819d,
- 0x9548: 0x83f1,
- 0x9549: 0x8098,
- 0x954a: 0x5f3c,
- 0x954b: 0x5fc5,
- 0x954c: 0x7562,
- 0x954d: 0x7b46,
- 0x954e: 0x903c,
- 0x954f: 0x6867,
- 0x9550: 0x59eb,
- 0x9551: 0x5a9b,
- 0x9552: 0x7d10,
- 0x9553: 0x767e,
- 0x9554: 0x8b2c,
- 0x9555: 0x4ff5,
- 0x9556: 0x5f6a,
- 0x9557: 0x6a19,
- 0x9558: 0x6c37,
- 0x9559: 0x6f02,
- 0x955a: 0x74e2,
- 0x955b: 0x7968,
- 0x955c: 0x8868,
- 0x955d: 0x8a55,
- 0x955e: 0x8c79,
- 0x955f: 0x5edf,
- 0x9560: 0x63cf,
- 0x9561: 0x75c5,
- 0x9562: 0x79d2,
- 0x9563: 0x82d7,
- 0x9564: 0x9328,
- 0x9565: 0x92f2,
- 0x9566: 0x849c,
- 0x9567: 0x86ed,
- 0x9568: 0x9c2d,
- 0x9569: 0x54c1,
- 0x956a: 0x5f6c,
- 0x956b: 0x658c,
- 0x956c: 0x6d5c,
- 0x956d: 0x7015,
- 0x956e: 0x8ca7,
- 0x956f: 0x8cd3,
- 0x9570: 0x983b,
- 0x9571: 0x654f,
- 0x9572: 0x74f6,
- 0x9573: 0x4e0d,
- 0x9574: 0x4ed8,
- 0x9575: 0x57e0,
- 0x9576: 0x592b,
- 0x9577: 0x5a66,
- 0x9578: 0x5bcc,
- 0x9579: 0x51a8,
- 0x957a: 0x5e03,
- 0x957b: 0x5e9c,
- 0x957c: 0x6016,
- 0x957d: 0x6276,
- 0x957e: 0x6577,
- 0x9580: 0x65a7,
- 0x9581: 0x666e,
- 0x9582: 0x6d6e,
- 0x9583: 0x7236,
- 0x9584: 0x7b26,
- 0x9585: 0x8150,
- 0x9586: 0x819a,
- 0x9587: 0x8299,
- 0x9588: 0x8b5c,
- 0x9589: 0x8ca0,
- 0x958a: 0x8ce6,
- 0x958b: 0x8d74,
- 0x958c: 0x961c,
- 0x958d: 0x9644,
- 0x958e: 0x4fae,
- 0x958f: 0x64ab,
- 0x9590: 0x6b66,
- 0x9591: 0x821e,
- 0x9592: 0x8461,
- 0x9593: 0x856a,
- 0x9594: 0x90e8,
- 0x9595: 0x5c01,
- 0x9596: 0x6953,
- 0x9597: 0x98a8,
- 0x9598: 0x847a,
- 0x9599: 0x8557,
- 0x959a: 0x4f0f,
- 0x959b: 0x526f,
- 0x959c: 0x5fa9,
- 0x959d: 0x5e45,
- 0x959e: 0x670d,
- 0x959f: 0x798f,
- 0x95a0: 0x8179,
- 0x95a1: 0x8907,
- 0x95a2: 0x8986,
- 0x95a3: 0x6df5,
- 0x95a4: 0x5f17,
- 0x95a5: 0x6255,
- 0x95a6: 0x6cb8,
- 0x95a7: 0x4ecf,
- 0x95a8: 0x7269,
- 0x95a9: 0x9b92,
- 0x95aa: 0x5206,
- 0x95ab: 0x543b,
- 0x95ac: 0x5674,
- 0x95ad: 0x58b3,
- 0x95ae: 0x61a4,
- 0x95af: 0x626e,
- 0x95b0: 0x711a,
- 0x95b1: 0x596e,
- 0x95b2: 0x7c89,
- 0x95b3: 0x7cde,
- 0x95b4: 0x7d1b,
- 0x95b5: 0x96f0,
- 0x95b6: 0x6587,
- 0x95b7: 0x805e,
- 0x95b8: 0x4e19,
- 0x95b9: 0x4f75,
- 0x95ba: 0x5175,
- 0x95bb: 0x5840,
- 0x95bc: 0x5e63,
- 0x95bd: 0x5e73,
- 0x95be: 0x5f0a,
- 0x95bf: 0x67c4,
- 0x95c0: 0x4e26,
- 0x95c1: 0x853d,
- 0x95c2: 0x9589,
- 0x95c3: 0x965b,
- 0x95c4: 0x7c73,
- 0x95c5: 0x9801,
- 0x95c6: 0x50fb,
- 0x95c7: 0x58c1,
- 0x95c8: 0x7656,
- 0x95c9: 0x78a7,
- 0x95ca: 0x5225,
- 0x95cb: 0x77a5,
- 0x95cc: 0x8511,
- 0x95cd: 0x7b86,
- 0x95ce: 0x504f,
- 0x95cf: 0x5909,
- 0x95d0: 0x7247,
- 0x95d1: 0x7bc7,
- 0x95d2: 0x7de8,
- 0x95d3: 0x8fba,
- 0x95d4: 0x8fd4,
- 0x95d5: 0x904d,
- 0x95d6: 0x4fbf,
- 0x95d7: 0x52c9,
- 0x95d8: 0x5a29,
- 0x95d9: 0x5f01,
- 0x95da: 0x97ad,
- 0x95db: 0x4fdd,
- 0x95dc: 0x8217,
- 0x95dd: 0x92ea,
- 0x95de: 0x5703,
- 0x95df: 0x6355,
- 0x95e0: 0x6b69,
- 0x95e1: 0x752b,
- 0x95e2: 0x88dc,
- 0x95e3: 0x8f14,
- 0x95e4: 0x7a42,
- 0x95e5: 0x52df,
- 0x95e6: 0x5893,
- 0x95e7: 0x6155,
- 0x95e8: 0x620a,
- 0x95e9: 0x66ae,
- 0x95ea: 0x6bcd,
- 0x95eb: 0x7c3f,
- 0x95ec: 0x83e9,
- 0x95ed: 0x5023,
- 0x95ee: 0x4ff8,
- 0x95ef: 0x5305,
- 0x95f0: 0x5446,
- 0x95f1: 0x5831,
- 0x95f2: 0x5949,
- 0x95f3: 0x5b9d,
- 0x95f4: 0x5cf0,
- 0x95f5: 0x5cef,
- 0x95f6: 0x5d29,
- 0x95f7: 0x5e96,
- 0x95f8: 0x62b1,
- 0x95f9: 0x6367,
- 0x95fa: 0x653e,
- 0x95fb: 0x65b9,
- 0x95fc: 0x670b,
- 0x9640: 0x6cd5,
- 0x9641: 0x6ce1,
- 0x9642: 0x70f9,
- 0x9643: 0x7832,
- 0x9644: 0x7e2b,
- 0x9645: 0x80de,
- 0x9646: 0x82b3,
- 0x9647: 0x840c,
- 0x9648: 0x84ec,
- 0x9649: 0x8702,
- 0x964a: 0x8912,
- 0x964b: 0x8a2a,
- 0x964c: 0x8c4a,
- 0x964d: 0x90a6,
- 0x964e: 0x92d2,
- 0x964f: 0x98fd,
- 0x9650: 0x9cf3,
- 0x9651: 0x9d6c,
- 0x9652: 0x4e4f,
- 0x9653: 0x4ea1,
- 0x9654: 0x508d,
- 0x9655: 0x5256,
- 0x9656: 0x574a,
- 0x9657: 0x59a8,
- 0x9658: 0x5e3d,
- 0x9659: 0x5fd8,
- 0x965a: 0x5fd9,
- 0x965b: 0x623f,
- 0x965c: 0x66b4,
- 0x965d: 0x671b,
- 0x965e: 0x67d0,
- 0x965f: 0x68d2,
- 0x9660: 0x5192,
- 0x9661: 0x7d21,
- 0x9662: 0x80aa,
- 0x9663: 0x81a8,
- 0x9664: 0x8b00,
- 0x9665: 0x8c8c,
- 0x9666: 0x8cbf,
- 0x9667: 0x927e,
- 0x9668: 0x9632,
- 0x9669: 0x5420,
- 0x966a: 0x982c,
- 0x966b: 0x5317,
- 0x966c: 0x50d5,
- 0x966d: 0x535c,
- 0x966e: 0x58a8,
- 0x966f: 0x64b2,
- 0x9670: 0x6734,
- 0x9671: 0x7267,
- 0x9672: 0x7766,
- 0x9673: 0x7a46,
- 0x9674: 0x91e6,
- 0x9675: 0x52c3,
- 0x9676: 0x6ca1,
- 0x9677: 0x6b86,
- 0x9678: 0x5800,
- 0x9679: 0x5e4c,
- 0x967a: 0x5954,
- 0x967b: 0x672c,
- 0x967c: 0x7ffb,
- 0x967d: 0x51e1,
- 0x967e: 0x76c6,
- 0x9680: 0x6469,
- 0x9681: 0x78e8,
- 0x9682: 0x9b54,
- 0x9683: 0x9ebb,
- 0x9684: 0x57cb,
- 0x9685: 0x59b9,
- 0x9686: 0x6627,
- 0x9687: 0x679a,
- 0x9688: 0x6bce,
- 0x9689: 0x54e9,
- 0x968a: 0x69d9,
- 0x968b: 0x5e55,
- 0x968c: 0x819c,
- 0x968d: 0x6795,
- 0x968e: 0x9baa,
- 0x968f: 0x67fe,
- 0x9690: 0x9c52,
- 0x9691: 0x685d,
- 0x9692: 0x4ea6,
- 0x9693: 0x4fe3,
- 0x9694: 0x53c8,
- 0x9695: 0x62b9,
- 0x9696: 0x672b,
- 0x9697: 0x6cab,
- 0x9698: 0x8fc4,
- 0x9699: 0x4fad,
- 0x969a: 0x7e6d,
- 0x969b: 0x9ebf,
- 0x969c: 0x4e07,
- 0x969d: 0x6162,
- 0x969e: 0x6e80,
- 0x969f: 0x6f2b,
- 0x96a0: 0x8513,
- 0x96a1: 0x5473,
- 0x96a2: 0x672a,
- 0x96a3: 0x9b45,
- 0x96a4: 0x5df3,
- 0x96a5: 0x7b95,
- 0x96a6: 0x5cac,
- 0x96a7: 0x5bc6,
- 0x96a8: 0x871c,
- 0x96a9: 0x6e4a,
- 0x96aa: 0x84d1,
- 0x96ab: 0x7a14,
- 0x96ac: 0x8108,
- 0x96ad: 0x5999,
- 0x96ae: 0x7c8d,
- 0x96af: 0x6c11,
- 0x96b0: 0x7720,
- 0x96b1: 0x52d9,
- 0x96b2: 0x5922,
- 0x96b3: 0x7121,
- 0x96b4: 0x725f,
- 0x96b5: 0x77db,
- 0x96b6: 0x9727,
- 0x96b7: 0x9d61,
- 0x96b8: 0x690b,
- 0x96b9: 0x5a7f,
- 0x96ba: 0x5a18,
- 0x96bb: 0x51a5,
- 0x96bc: 0x540d,
- 0x96bd: 0x547d,
- 0x96be: 0x660e,
- 0x96bf: 0x76df,
- 0x96c0: 0x8ff7,
- 0x96c1: 0x9298,
- 0x96c2: 0x9cf4,
- 0x96c3: 0x59ea,
- 0x96c4: 0x725d,
- 0x96c5: 0x6ec5,
- 0x96c6: 0x514d,
- 0x96c7: 0x68c9,
- 0x96c8: 0x7dbf,
- 0x96c9: 0x7dec,
- 0x96ca: 0x9762,
- 0x96cb: 0x9eba,
- 0x96cc: 0x6478,
- 0x96cd: 0x6a21,
- 0x96ce: 0x8302,
- 0x96cf: 0x5984,
- 0x96d0: 0x5b5f,
- 0x96d1: 0x6bdb,
- 0x96d2: 0x731b,
- 0x96d3: 0x76f2,
- 0x96d4: 0x7db2,
- 0x96d5: 0x8017,
- 0x96d6: 0x8499,
- 0x96d7: 0x5132,
- 0x96d8: 0x6728,
- 0x96d9: 0x9ed9,
- 0x96da: 0x76ee,
- 0x96db: 0x6762,
- 0x96dc: 0x52ff,
- 0x96dd: 0x9905,
- 0x96de: 0x5c24,
- 0x96df: 0x623b,
- 0x96e0: 0x7c7e,
- 0x96e1: 0x8cb0,
- 0x96e2: 0x554f,
- 0x96e3: 0x60b6,
- 0x96e4: 0x7d0b,
- 0x96e5: 0x9580,
- 0x96e6: 0x5301,
- 0x96e7: 0x4e5f,
- 0x96e8: 0x51b6,
- 0x96e9: 0x591c,
- 0x96ea: 0x723a,
- 0x96eb: 0x8036,
- 0x96ec: 0x91ce,
- 0x96ed: 0x5f25,
- 0x96ee: 0x77e2,
- 0x96ef: 0x5384,
- 0x96f0: 0x5f79,
- 0x96f1: 0x7d04,
- 0x96f2: 0x85ac,
- 0x96f3: 0x8a33,
- 0x96f4: 0x8e8d,
- 0x96f5: 0x9756,
- 0x96f6: 0x67f3,
- 0x96f7: 0x85ae,
- 0x96f8: 0x9453,
- 0x96f9: 0x6109,
- 0x96fa: 0x6108,
- 0x96fb: 0x6cb9,
- 0x96fc: 0x7652,
- 0x9740: 0x8aed,
- 0x9741: 0x8f38,
- 0x9742: 0x552f,
- 0x9743: 0x4f51,
- 0x9744: 0x512a,
- 0x9745: 0x52c7,
- 0x9746: 0x53cb,
- 0x9747: 0x5ba5,
- 0x9748: 0x5e7d,
- 0x9749: 0x60a0,
- 0x974a: 0x6182,
- 0x974b: 0x63d6,
- 0x974c: 0x6709,
- 0x974d: 0x67da,
- 0x974e: 0x6e67,
- 0x974f: 0x6d8c,
- 0x9750: 0x7336,
- 0x9751: 0x7337,
- 0x9752: 0x7531,
- 0x9753: 0x7950,
- 0x9754: 0x88d5,
- 0x9755: 0x8a98,
- 0x9756: 0x904a,
- 0x9757: 0x9091,
- 0x9758: 0x90f5,
- 0x9759: 0x96c4,
- 0x975a: 0x878d,
- 0x975b: 0x5915,
- 0x975c: 0x4e88,
- 0x975d: 0x4f59,
- 0x975e: 0x4e0e,
- 0x975f: 0x8a89,
- 0x9760: 0x8f3f,
- 0x9761: 0x9810,
- 0x9762: 0x50ad,
- 0x9763: 0x5e7c,
- 0x9764: 0x5996,
- 0x9765: 0x5bb9,
- 0x9766: 0x5eb8,
- 0x9767: 0x63da,
- 0x9768: 0x63fa,
- 0x9769: 0x64c1,
- 0x976a: 0x66dc,
- 0x976b: 0x694a,
- 0x976c: 0x69d8,
- 0x976d: 0x6d0b,
- 0x976e: 0x6eb6,
- 0x976f: 0x7194,
- 0x9770: 0x7528,
- 0x9771: 0x7aaf,
- 0x9772: 0x7f8a,
- 0x9773: 0x8000,
- 0x9774: 0x8449,
- 0x9775: 0x84c9,
- 0x9776: 0x8981,
- 0x9777: 0x8b21,
- 0x9778: 0x8e0a,
- 0x9779: 0x9065,
- 0x977a: 0x967d,
- 0x977b: 0x990a,
- 0x977c: 0x617e,
- 0x977d: 0x6291,
- 0x977e: 0x6b32,
- 0x9780: 0x6c83,
- 0x9781: 0x6d74,
- 0x9782: 0x7fcc,
- 0x9783: 0x7ffc,
- 0x9784: 0x6dc0,
- 0x9785: 0x7f85,
- 0x9786: 0x87ba,
- 0x9787: 0x88f8,
- 0x9788: 0x6765,
- 0x9789: 0x83b1,
- 0x978a: 0x983c,
- 0x978b: 0x96f7,
- 0x978c: 0x6d1b,
- 0x978d: 0x7d61,
- 0x978e: 0x843d,
- 0x978f: 0x916a,
- 0x9790: 0x4e71,
- 0x9791: 0x5375,
- 0x9792: 0x5d50,
- 0x9793: 0x6b04,
- 0x9794: 0x6feb,
- 0x9795: 0x85cd,
- 0x9796: 0x862d,
- 0x9797: 0x89a7,
- 0x9798: 0x5229,
- 0x9799: 0x540f,
- 0x979a: 0x5c65,
- 0x979b: 0x674e,
- 0x979c: 0x68a8,
- 0x979d: 0x7406,
- 0x979e: 0x7483,
- 0x979f: 0x75e2,
- 0x97a0: 0x88cf,
- 0x97a1: 0x88e1,
- 0x97a2: 0x91cc,
- 0x97a3: 0x96e2,
- 0x97a4: 0x9678,
- 0x97a5: 0x5f8b,
- 0x97a6: 0x7387,
- 0x97a7: 0x7acb,
- 0x97a8: 0x844e,
- 0x97a9: 0x63a0,
- 0x97aa: 0x7565,
- 0x97ab: 0x5289,
- 0x97ac: 0x6d41,
- 0x97ad: 0x6e9c,
- 0x97ae: 0x7409,
- 0x97af: 0x7559,
- 0x97b0: 0x786b,
- 0x97b1: 0x7c92,
- 0x97b2: 0x9686,
- 0x97b3: 0x7adc,
- 0x97b4: 0x9f8d,
- 0x97b5: 0x4fb6,
- 0x97b6: 0x616e,
- 0x97b7: 0x65c5,
- 0x97b8: 0x865c,
- 0x97b9: 0x4e86,
- 0x97ba: 0x4eae,
- 0x97bb: 0x50da,
- 0x97bc: 0x4e21,
- 0x97bd: 0x51cc,
- 0x97be: 0x5bee,
- 0x97bf: 0x6599,
- 0x97c0: 0x6881,
- 0x97c1: 0x6dbc,
- 0x97c2: 0x731f,
- 0x97c3: 0x7642,
- 0x97c4: 0x77ad,
- 0x97c5: 0x7a1c,
- 0x97c6: 0x7ce7,
- 0x97c7: 0x826f,
- 0x97c8: 0x8ad2,
- 0x97c9: 0x907c,
- 0x97ca: 0x91cf,
- 0x97cb: 0x9675,
- 0x97cc: 0x9818,
- 0x97cd: 0x529b,
- 0x97ce: 0x7dd1,
- 0x97cf: 0x502b,
- 0x97d0: 0x5398,
- 0x97d1: 0x6797,
- 0x97d2: 0x6dcb,
- 0x97d3: 0x71d0,
- 0x97d4: 0x7433,
- 0x97d5: 0x81e8,
- 0x97d6: 0x8f2a,
- 0x97d7: 0x96a3,
- 0x97d8: 0x9c57,
- 0x97d9: 0x9e9f,
- 0x97da: 0x7460,
- 0x97db: 0x5841,
- 0x97dc: 0x6d99,
- 0x97dd: 0x7d2f,
- 0x97de: 0x985e,
- 0x97df: 0x4ee4,
- 0x97e0: 0x4f36,
- 0x97e1: 0x4f8b,
- 0x97e2: 0x51b7,
- 0x97e3: 0x52b1,
- 0x97e4: 0x5dba,
- 0x97e5: 0x601c,
- 0x97e6: 0x73b2,
- 0x97e7: 0x793c,
- 0x97e8: 0x82d3,
- 0x97e9: 0x9234,
- 0x97ea: 0x96b7,
- 0x97eb: 0x96f6,
- 0x97ec: 0x970a,
- 0x97ed: 0x9e97,
- 0x97ee: 0x9f62,
- 0x97ef: 0x66a6,
- 0x97f0: 0x6b74,
- 0x97f1: 0x5217,
- 0x97f2: 0x52a3,
- 0x97f3: 0x70c8,
- 0x97f4: 0x88c2,
- 0x97f5: 0x5ec9,
- 0x97f6: 0x604b,
- 0x97f7: 0x6190,
- 0x97f8: 0x6f23,
- 0x97f9: 0x7149,
- 0x97fa: 0x7c3e,
- 0x97fb: 0x7df4,
- 0x97fc: 0x806f,
- 0x9840: 0x84ee,
- 0x9841: 0x9023,
- 0x9842: 0x932c,
- 0x9843: 0x5442,
- 0x9844: 0x9b6f,
- 0x9845: 0x6ad3,
- 0x9846: 0x7089,
- 0x9847: 0x8cc2,
- 0x9848: 0x8def,
- 0x9849: 0x9732,
- 0x984a: 0x52b4,
- 0x984b: 0x5a41,
- 0x984c: 0x5eca,
- 0x984d: 0x5f04,
- 0x984e: 0x6717,
- 0x984f: 0x697c,
- 0x9850: 0x6994,
- 0x9851: 0x6d6a,
- 0x9852: 0x6f0f,
- 0x9853: 0x7262,
- 0x9854: 0x72fc,
- 0x9855: 0x7bed,
- 0x9856: 0x8001,
- 0x9857: 0x807e,
- 0x9858: 0x874b,
- 0x9859: 0x90ce,
- 0x985a: 0x516d,
- 0x985b: 0x9e93,
- 0x985c: 0x7984,
- 0x985d: 0x808b,
- 0x985e: 0x9332,
- 0x985f: 0x8ad6,
- 0x9860: 0x502d,
- 0x9861: 0x548c,
- 0x9862: 0x8a71,
- 0x9863: 0x6b6a,
- 0x9864: 0x8cc4,
- 0x9865: 0x8107,
- 0x9866: 0x60d1,
- 0x9867: 0x67a0,
- 0x9868: 0x9df2,
- 0x9869: 0x4e99,
- 0x986a: 0x4e98,
- 0x986b: 0x9c10,
- 0x986c: 0x8a6b,
- 0x986d: 0x85c1,
- 0x986e: 0x8568,
- 0x986f: 0x6900,
- 0x9870: 0x6e7e,
- 0x9871: 0x7897,
- 0x9872: 0x8155,
- 0x989f: 0x5f0c,
- 0x98a0: 0x4e10,
- 0x98a1: 0x4e15,
- 0x98a2: 0x4e2a,
- 0x98a3: 0x4e31,
- 0x98a4: 0x4e36,
- 0x98a5: 0x4e3c,
- 0x98a6: 0x4e3f,
- 0x98a7: 0x4e42,
- 0x98a8: 0x4e56,
- 0x98a9: 0x4e58,
- 0x98aa: 0x4e82,
- 0x98ab: 0x4e85,
- 0x98ac: 0x8c6b,
- 0x98ad: 0x4e8a,
- 0x98ae: 0x8212,
- 0x98af: 0x5f0d,
- 0x98b0: 0x4e8e,
- 0x98b1: 0x4e9e,
- 0x98b2: 0x4e9f,
- 0x98b3: 0x4ea0,
- 0x98b4: 0x4ea2,
- 0x98b5: 0x4eb0,
- 0x98b6: 0x4eb3,
- 0x98b7: 0x4eb6,
- 0x98b8: 0x4ece,
- 0x98b9: 0x4ecd,
- 0x98ba: 0x4ec4,
- 0x98bb: 0x4ec6,
- 0x98bc: 0x4ec2,
- 0x98bd: 0x4ed7,
- 0x98be: 0x4ede,
- 0x98bf: 0x4eed,
- 0x98c0: 0x4edf,
- 0x98c1: 0x4ef7,
- 0x98c2: 0x4f09,
- 0x98c3: 0x4f5a,
- 0x98c4: 0x4f30,
- 0x98c5: 0x4f5b,
- 0x98c6: 0x4f5d,
- 0x98c7: 0x4f57,
- 0x98c8: 0x4f47,
- 0x98c9: 0x4f76,
- 0x98ca: 0x4f88,
- 0x98cb: 0x4f8f,
- 0x98cc: 0x4f98,
- 0x98cd: 0x4f7b,
- 0x98ce: 0x4f69,
- 0x98cf: 0x4f70,
- 0x98d0: 0x4f91,
- 0x98d1: 0x4f6f,
- 0x98d2: 0x4f86,
- 0x98d3: 0x4f96,
- 0x98d4: 0x5118,
- 0x98d5: 0x4fd4,
- 0x98d6: 0x4fdf,
- 0x98d7: 0x4fce,
- 0x98d8: 0x4fd8,
- 0x98d9: 0x4fdb,
- 0x98da: 0x4fd1,
- 0x98db: 0x4fda,
- 0x98dc: 0x4fd0,
- 0x98dd: 0x4fe4,
- 0x98de: 0x4fe5,
- 0x98df: 0x501a,
- 0x98e0: 0x5028,
- 0x98e1: 0x5014,
- 0x98e2: 0x502a,
- 0x98e3: 0x5025,
- 0x98e4: 0x5005,
- 0x98e5: 0x4f1c,
- 0x98e6: 0x4ff6,
- 0x98e7: 0x5021,
- 0x98e8: 0x5029,
- 0x98e9: 0x502c,
- 0x98ea: 0x4ffe,
- 0x98eb: 0x4fef,
- 0x98ec: 0x5011,
- 0x98ed: 0x5006,
- 0x98ee: 0x5043,
- 0x98ef: 0x5047,
- 0x98f0: 0x6703,
- 0x98f1: 0x5055,
- 0x98f2: 0x5050,
- 0x98f3: 0x5048,
- 0x98f4: 0x505a,
- 0x98f5: 0x5056,
- 0x98f6: 0x506c,
- 0x98f7: 0x5078,
- 0x98f8: 0x5080,
- 0x98f9: 0x509a,
- 0x98fa: 0x5085,
- 0x98fb: 0x50b4,
- 0x98fc: 0x50b2,
- 0x9940: 0x50c9,
- 0x9941: 0x50ca,
- 0x9942: 0x50b3,
- 0x9943: 0x50c2,
- 0x9944: 0x50d6,
- 0x9945: 0x50de,
- 0x9946: 0x50e5,
- 0x9947: 0x50ed,
- 0x9948: 0x50e3,
- 0x9949: 0x50ee,
- 0x994a: 0x50f9,
- 0x994b: 0x50f5,
- 0x994c: 0x5109,
- 0x994d: 0x5101,
- 0x994e: 0x5102,
- 0x994f: 0x5116,
- 0x9950: 0x5115,
- 0x9951: 0x5114,
- 0x9952: 0x511a,
- 0x9953: 0x5121,
- 0x9954: 0x513a,
- 0x9955: 0x5137,
- 0x9956: 0x513c,
- 0x9957: 0x513b,
- 0x9958: 0x513f,
- 0x9959: 0x5140,
- 0x995a: 0x5152,
- 0x995b: 0x514c,
- 0x995c: 0x5154,
- 0x995d: 0x5162,
- 0x995e: 0x7af8,
- 0x995f: 0x5169,
- 0x9960: 0x516a,
- 0x9961: 0x516e,
- 0x9962: 0x5180,
- 0x9963: 0x5182,
- 0x9964: 0x56d8,
- 0x9965: 0x518c,
- 0x9966: 0x5189,
- 0x9967: 0x518f,
- 0x9968: 0x5191,
- 0x9969: 0x5193,
- 0x996a: 0x5195,
- 0x996b: 0x5196,
- 0x996c: 0x51a4,
- 0x996d: 0x51a6,
- 0x996e: 0x51a2,
- 0x996f: 0x51a9,
- 0x9970: 0x51aa,
- 0x9971: 0x51ab,
- 0x9972: 0x51b3,
- 0x9973: 0x51b1,
- 0x9974: 0x51b2,
- 0x9975: 0x51b0,
- 0x9976: 0x51b5,
- 0x9977: 0x51bd,
- 0x9978: 0x51c5,
- 0x9979: 0x51c9,
- 0x997a: 0x51db,
- 0x997b: 0x51e0,
- 0x997c: 0x8655,
- 0x997d: 0x51e9,
- 0x997e: 0x51ed,
- 0x9980: 0x51f0,
- 0x9981: 0x51f5,
- 0x9982: 0x51fe,
- 0x9983: 0x5204,
- 0x9984: 0x520b,
- 0x9985: 0x5214,
- 0x9986: 0x520e,
- 0x9987: 0x5227,
- 0x9988: 0x522a,
- 0x9989: 0x522e,
- 0x998a: 0x5233,
- 0x998b: 0x5239,
- 0x998c: 0x524f,
- 0x998d: 0x5244,
- 0x998e: 0x524b,
- 0x998f: 0x524c,
- 0x9990: 0x525e,
- 0x9991: 0x5254,
- 0x9992: 0x526a,
- 0x9993: 0x5274,
- 0x9994: 0x5269,
- 0x9995: 0x5273,
- 0x9996: 0x527f,
- 0x9997: 0x527d,
- 0x9998: 0x528d,
- 0x9999: 0x5294,
- 0x999a: 0x5292,
- 0x999b: 0x5271,
- 0x999c: 0x5288,
- 0x999d: 0x5291,
- 0x999e: 0x8fa8,
- 0x999f: 0x8fa7,
- 0x99a0: 0x52ac,
- 0x99a1: 0x52ad,
- 0x99a2: 0x52bc,
- 0x99a3: 0x52b5,
- 0x99a4: 0x52c1,
- 0x99a5: 0x52cd,
- 0x99a6: 0x52d7,
- 0x99a7: 0x52de,
- 0x99a8: 0x52e3,
- 0x99a9: 0x52e6,
- 0x99aa: 0x98ed,
- 0x99ab: 0x52e0,
- 0x99ac: 0x52f3,
- 0x99ad: 0x52f5,
- 0x99ae: 0x52f8,
- 0x99af: 0x52f9,
- 0x99b0: 0x5306,
- 0x99b1: 0x5308,
- 0x99b2: 0x7538,
- 0x99b3: 0x530d,
- 0x99b4: 0x5310,
- 0x99b5: 0x530f,
- 0x99b6: 0x5315,
- 0x99b7: 0x531a,
- 0x99b8: 0x5323,
- 0x99b9: 0x532f,
- 0x99ba: 0x5331,
- 0x99bb: 0x5333,
- 0x99bc: 0x5338,
- 0x99bd: 0x5340,
- 0x99be: 0x5346,
- 0x99bf: 0x5345,
- 0x99c0: 0x4e17,
- 0x99c1: 0x5349,
- 0x99c2: 0x534d,
- 0x99c3: 0x51d6,
- 0x99c4: 0x535e,
- 0x99c5: 0x5369,
- 0x99c6: 0x536e,
- 0x99c7: 0x5918,
- 0x99c8: 0x537b,
- 0x99c9: 0x5377,
- 0x99ca: 0x5382,
- 0x99cb: 0x5396,
- 0x99cc: 0x53a0,
- 0x99cd: 0x53a6,
- 0x99ce: 0x53a5,
- 0x99cf: 0x53ae,
- 0x99d0: 0x53b0,
- 0x99d1: 0x53b6,
- 0x99d2: 0x53c3,
- 0x99d3: 0x7c12,
- 0x99d4: 0x96d9,
- 0x99d5: 0x53df,
- 0x99d6: 0x66fc,
- 0x99d7: 0x71ee,
- 0x99d8: 0x53ee,
- 0x99d9: 0x53e8,
- 0x99da: 0x53ed,
- 0x99db: 0x53fa,
- 0x99dc: 0x5401,
- 0x99dd: 0x543d,
- 0x99de: 0x5440,
- 0x99df: 0x542c,
- 0x99e0: 0x542d,
- 0x99e1: 0x543c,
- 0x99e2: 0x542e,
- 0x99e3: 0x5436,
- 0x99e4: 0x5429,
- 0x99e5: 0x541d,
- 0x99e6: 0x544e,
- 0x99e7: 0x548f,
- 0x99e8: 0x5475,
- 0x99e9: 0x548e,
- 0x99ea: 0x545f,
- 0x99eb: 0x5471,
- 0x99ec: 0x5477,
- 0x99ed: 0x5470,
- 0x99ee: 0x5492,
- 0x99ef: 0x547b,
- 0x99f0: 0x5480,
- 0x99f1: 0x5476,
- 0x99f2: 0x5484,
- 0x99f3: 0x5490,
- 0x99f4: 0x5486,
- 0x99f5: 0x54c7,
- 0x99f6: 0x54a2,
- 0x99f7: 0x54b8,
- 0x99f8: 0x54a5,
- 0x99f9: 0x54ac,
- 0x99fa: 0x54c4,
- 0x99fb: 0x54c8,
- 0x99fc: 0x54a8,
- 0x9a40: 0x54ab,
- 0x9a41: 0x54c2,
- 0x9a42: 0x54a4,
- 0x9a43: 0x54be,
- 0x9a44: 0x54bc,
- 0x9a45: 0x54d8,
- 0x9a46: 0x54e5,
- 0x9a47: 0x54e6,
- 0x9a48: 0x550f,
- 0x9a49: 0x5514,
- 0x9a4a: 0x54fd,
- 0x9a4b: 0x54ee,
- 0x9a4c: 0x54ed,
- 0x9a4d: 0x54fa,
- 0x9a4e: 0x54e2,
- 0x9a4f: 0x5539,
- 0x9a50: 0x5540,
- 0x9a51: 0x5563,
- 0x9a52: 0x554c,
- 0x9a53: 0x552e,
- 0x9a54: 0x555c,
- 0x9a55: 0x5545,
- 0x9a56: 0x5556,
- 0x9a57: 0x5557,
- 0x9a58: 0x5538,
- 0x9a59: 0x5533,
- 0x9a5a: 0x555d,
- 0x9a5b: 0x5599,
- 0x9a5c: 0x5580,
- 0x9a5d: 0x54af,
- 0x9a5e: 0x558a,
- 0x9a5f: 0x559f,
- 0x9a60: 0x557b,
- 0x9a61: 0x557e,
- 0x9a62: 0x5598,
- 0x9a63: 0x559e,
- 0x9a64: 0x55ae,
- 0x9a65: 0x557c,
- 0x9a66: 0x5583,
- 0x9a67: 0x55a9,
- 0x9a68: 0x5587,
- 0x9a69: 0x55a8,
- 0x9a6a: 0x55da,
- 0x9a6b: 0x55c5,
- 0x9a6c: 0x55df,
- 0x9a6d: 0x55c4,
- 0x9a6e: 0x55dc,
- 0x9a6f: 0x55e4,
- 0x9a70: 0x55d4,
- 0x9a71: 0x5614,
- 0x9a72: 0x55f7,
- 0x9a73: 0x5616,
- 0x9a74: 0x55fe,
- 0x9a75: 0x55fd,
- 0x9a76: 0x561b,
- 0x9a77: 0x55f9,
- 0x9a78: 0x564e,
- 0x9a79: 0x5650,
- 0x9a7a: 0x71df,
- 0x9a7b: 0x5634,
- 0x9a7c: 0x5636,
- 0x9a7d: 0x5632,
- 0x9a7e: 0x5638,
- 0x9a80: 0x566b,
- 0x9a81: 0x5664,
- 0x9a82: 0x562f,
- 0x9a83: 0x566c,
- 0x9a84: 0x566a,
- 0x9a85: 0x5686,
- 0x9a86: 0x5680,
- 0x9a87: 0x568a,
- 0x9a88: 0x56a0,
- 0x9a89: 0x5694,
- 0x9a8a: 0x568f,
- 0x9a8b: 0x56a5,
- 0x9a8c: 0x56ae,
- 0x9a8d: 0x56b6,
- 0x9a8e: 0x56b4,
- 0x9a8f: 0x56c2,
- 0x9a90: 0x56bc,
- 0x9a91: 0x56c1,
- 0x9a92: 0x56c3,
- 0x9a93: 0x56c0,
- 0x9a94: 0x56c8,
- 0x9a95: 0x56ce,
- 0x9a96: 0x56d1,
- 0x9a97: 0x56d3,
- 0x9a98: 0x56d7,
- 0x9a99: 0x56ee,
- 0x9a9a: 0x56f9,
- 0x9a9b: 0x5700,
- 0x9a9c: 0x56ff,
- 0x9a9d: 0x5704,
- 0x9a9e: 0x5709,
- 0x9a9f: 0x5708,
- 0x9aa0: 0x570b,
- 0x9aa1: 0x570d,
- 0x9aa2: 0x5713,
- 0x9aa3: 0x5718,
- 0x9aa4: 0x5716,
- 0x9aa5: 0x55c7,
- 0x9aa6: 0x571c,
- 0x9aa7: 0x5726,
- 0x9aa8: 0x5737,
- 0x9aa9: 0x5738,
- 0x9aaa: 0x574e,
- 0x9aab: 0x573b,
- 0x9aac: 0x5740,
- 0x9aad: 0x574f,
- 0x9aae: 0x5769,
- 0x9aaf: 0x57c0,
- 0x9ab0: 0x5788,
- 0x9ab1: 0x5761,
- 0x9ab2: 0x577f,
- 0x9ab3: 0x5789,
- 0x9ab4: 0x5793,
- 0x9ab5: 0x57a0,
- 0x9ab6: 0x57b3,
- 0x9ab7: 0x57a4,
- 0x9ab8: 0x57aa,
- 0x9ab9: 0x57b0,
- 0x9aba: 0x57c3,
- 0x9abb: 0x57c6,
- 0x9abc: 0x57d4,
- 0x9abd: 0x57d2,
- 0x9abe: 0x57d3,
- 0x9abf: 0x580a,
- 0x9ac0: 0x57d6,
- 0x9ac1: 0x57e3,
- 0x9ac2: 0x580b,
- 0x9ac3: 0x5819,
- 0x9ac4: 0x581d,
- 0x9ac5: 0x5872,
- 0x9ac6: 0x5821,
- 0x9ac7: 0x5862,
- 0x9ac8: 0x584b,
- 0x9ac9: 0x5870,
- 0x9aca: 0x6bc0,
- 0x9acb: 0x5852,
- 0x9acc: 0x583d,
- 0x9acd: 0x5879,
- 0x9ace: 0x5885,
- 0x9acf: 0x58b9,
- 0x9ad0: 0x589f,
- 0x9ad1: 0x58ab,
- 0x9ad2: 0x58ba,
- 0x9ad3: 0x58de,
- 0x9ad4: 0x58bb,
- 0x9ad5: 0x58b8,
- 0x9ad6: 0x58ae,
- 0x9ad7: 0x58c5,
- 0x9ad8: 0x58d3,
- 0x9ad9: 0x58d1,
- 0x9ada: 0x58d7,
- 0x9adb: 0x58d9,
- 0x9adc: 0x58d8,
- 0x9add: 0x58e5,
- 0x9ade: 0x58dc,
- 0x9adf: 0x58e4,
- 0x9ae0: 0x58df,
- 0x9ae1: 0x58ef,
- 0x9ae2: 0x58fa,
- 0x9ae3: 0x58f9,
- 0x9ae4: 0x58fb,
- 0x9ae5: 0x58fc,
- 0x9ae6: 0x58fd,
- 0x9ae7: 0x5902,
- 0x9ae8: 0x590a,
- 0x9ae9: 0x5910,
- 0x9aea: 0x591b,
- 0x9aeb: 0x68a6,
- 0x9aec: 0x5925,
- 0x9aed: 0x592c,
- 0x9aee: 0x592d,
- 0x9aef: 0x5932,
- 0x9af0: 0x5938,
- 0x9af1: 0x593e,
- 0x9af2: 0x7ad2,
- 0x9af3: 0x5955,
- 0x9af4: 0x5950,
- 0x9af5: 0x594e,
- 0x9af6: 0x595a,
- 0x9af7: 0x5958,
- 0x9af8: 0x5962,
- 0x9af9: 0x5960,
- 0x9afa: 0x5967,
- 0x9afb: 0x596c,
- 0x9afc: 0x5969,
- 0x9b40: 0x5978,
- 0x9b41: 0x5981,
- 0x9b42: 0x599d,
- 0x9b43: 0x4f5e,
- 0x9b44: 0x4fab,
- 0x9b45: 0x59a3,
- 0x9b46: 0x59b2,
- 0x9b47: 0x59c6,
- 0x9b48: 0x59e8,
- 0x9b49: 0x59dc,
- 0x9b4a: 0x598d,
- 0x9b4b: 0x59d9,
- 0x9b4c: 0x59da,
- 0x9b4d: 0x5a25,
- 0x9b4e: 0x5a1f,
- 0x9b4f: 0x5a11,
- 0x9b50: 0x5a1c,
- 0x9b51: 0x5a09,
- 0x9b52: 0x5a1a,
- 0x9b53: 0x5a40,
- 0x9b54: 0x5a6c,
- 0x9b55: 0x5a49,
- 0x9b56: 0x5a35,
- 0x9b57: 0x5a36,
- 0x9b58: 0x5a62,
- 0x9b59: 0x5a6a,
- 0x9b5a: 0x5a9a,
- 0x9b5b: 0x5abc,
- 0x9b5c: 0x5abe,
- 0x9b5d: 0x5acb,
- 0x9b5e: 0x5ac2,
- 0x9b5f: 0x5abd,
- 0x9b60: 0x5ae3,
- 0x9b61: 0x5ad7,
- 0x9b62: 0x5ae6,
- 0x9b63: 0x5ae9,
- 0x9b64: 0x5ad6,
- 0x9b65: 0x5afa,
- 0x9b66: 0x5afb,
- 0x9b67: 0x5b0c,
- 0x9b68: 0x5b0b,
- 0x9b69: 0x5b16,
- 0x9b6a: 0x5b32,
- 0x9b6b: 0x5ad0,
- 0x9b6c: 0x5b2a,
- 0x9b6d: 0x5b36,
- 0x9b6e: 0x5b3e,
- 0x9b6f: 0x5b43,
- 0x9b70: 0x5b45,
- 0x9b71: 0x5b40,
- 0x9b72: 0x5b51,
- 0x9b73: 0x5b55,
- 0x9b74: 0x5b5a,
- 0x9b75: 0x5b5b,
- 0x9b76: 0x5b65,
- 0x9b77: 0x5b69,
- 0x9b78: 0x5b70,
- 0x9b79: 0x5b73,
- 0x9b7a: 0x5b75,
- 0x9b7b: 0x5b78,
- 0x9b7c: 0x6588,
- 0x9b7d: 0x5b7a,
- 0x9b7e: 0x5b80,
- 0x9b80: 0x5b83,
- 0x9b81: 0x5ba6,
- 0x9b82: 0x5bb8,
- 0x9b83: 0x5bc3,
- 0x9b84: 0x5bc7,
- 0x9b85: 0x5bc9,
- 0x9b86: 0x5bd4,
- 0x9b87: 0x5bd0,
- 0x9b88: 0x5be4,
- 0x9b89: 0x5be6,
- 0x9b8a: 0x5be2,
- 0x9b8b: 0x5bde,
- 0x9b8c: 0x5be5,
- 0x9b8d: 0x5beb,
- 0x9b8e: 0x5bf0,
- 0x9b8f: 0x5bf6,
- 0x9b90: 0x5bf3,
- 0x9b91: 0x5c05,
- 0x9b92: 0x5c07,
- 0x9b93: 0x5c08,
- 0x9b94: 0x5c0d,
- 0x9b95: 0x5c13,
- 0x9b96: 0x5c20,
- 0x9b97: 0x5c22,
- 0x9b98: 0x5c28,
- 0x9b99: 0x5c38,
- 0x9b9a: 0x5c39,
- 0x9b9b: 0x5c41,
- 0x9b9c: 0x5c46,
- 0x9b9d: 0x5c4e,
- 0x9b9e: 0x5c53,
- 0x9b9f: 0x5c50,
- 0x9ba0: 0x5c4f,
- 0x9ba1: 0x5b71,
- 0x9ba2: 0x5c6c,
- 0x9ba3: 0x5c6e,
- 0x9ba4: 0x4e62,
- 0x9ba5: 0x5c76,
- 0x9ba6: 0x5c79,
- 0x9ba7: 0x5c8c,
- 0x9ba8: 0x5c91,
- 0x9ba9: 0x5c94,
- 0x9baa: 0x599b,
- 0x9bab: 0x5cab,
- 0x9bac: 0x5cbb,
- 0x9bad: 0x5cb6,
- 0x9bae: 0x5cbc,
- 0x9baf: 0x5cb7,
- 0x9bb0: 0x5cc5,
- 0x9bb1: 0x5cbe,
- 0x9bb2: 0x5cc7,
- 0x9bb3: 0x5cd9,
- 0x9bb4: 0x5ce9,
- 0x9bb5: 0x5cfd,
- 0x9bb6: 0x5cfa,
- 0x9bb7: 0x5ced,
- 0x9bb8: 0x5d8c,
- 0x9bb9: 0x5cea,
- 0x9bba: 0x5d0b,
- 0x9bbb: 0x5d15,
- 0x9bbc: 0x5d17,
- 0x9bbd: 0x5d5c,
- 0x9bbe: 0x5d1f,
- 0x9bbf: 0x5d1b,
- 0x9bc0: 0x5d11,
- 0x9bc1: 0x5d14,
- 0x9bc2: 0x5d22,
- 0x9bc3: 0x5d1a,
- 0x9bc4: 0x5d19,
- 0x9bc5: 0x5d18,
- 0x9bc6: 0x5d4c,
- 0x9bc7: 0x5d52,
- 0x9bc8: 0x5d4e,
- 0x9bc9: 0x5d4b,
- 0x9bca: 0x5d6c,
- 0x9bcb: 0x5d73,
- 0x9bcc: 0x5d76,
- 0x9bcd: 0x5d87,
- 0x9bce: 0x5d84,
- 0x9bcf: 0x5d82,
- 0x9bd0: 0x5da2,
- 0x9bd1: 0x5d9d,
- 0x9bd2: 0x5dac,
- 0x9bd3: 0x5dae,
- 0x9bd4: 0x5dbd,
- 0x9bd5: 0x5d90,
- 0x9bd6: 0x5db7,
- 0x9bd7: 0x5dbc,
- 0x9bd8: 0x5dc9,
- 0x9bd9: 0x5dcd,
- 0x9bda: 0x5dd3,
- 0x9bdb: 0x5dd2,
- 0x9bdc: 0x5dd6,
- 0x9bdd: 0x5ddb,
- 0x9bde: 0x5deb,
- 0x9bdf: 0x5df2,
- 0x9be0: 0x5df5,
- 0x9be1: 0x5e0b,
- 0x9be2: 0x5e1a,
- 0x9be3: 0x5e19,
- 0x9be4: 0x5e11,
- 0x9be5: 0x5e1b,
- 0x9be6: 0x5e36,
- 0x9be7: 0x5e37,
- 0x9be8: 0x5e44,
- 0x9be9: 0x5e43,
- 0x9bea: 0x5e40,
- 0x9beb: 0x5e4e,
- 0x9bec: 0x5e57,
- 0x9bed: 0x5e54,
- 0x9bee: 0x5e5f,
- 0x9bef: 0x5e62,
- 0x9bf0: 0x5e64,
- 0x9bf1: 0x5e47,
- 0x9bf2: 0x5e75,
- 0x9bf3: 0x5e76,
- 0x9bf4: 0x5e7a,
- 0x9bf5: 0x9ebc,
- 0x9bf6: 0x5e7f,
- 0x9bf7: 0x5ea0,
- 0x9bf8: 0x5ec1,
- 0x9bf9: 0x5ec2,
- 0x9bfa: 0x5ec8,
- 0x9bfb: 0x5ed0,
- 0x9bfc: 0x5ecf,
- 0x9c40: 0x5ed6,
- 0x9c41: 0x5ee3,
- 0x9c42: 0x5edd,
- 0x9c43: 0x5eda,
- 0x9c44: 0x5edb,
- 0x9c45: 0x5ee2,
- 0x9c46: 0x5ee1,
- 0x9c47: 0x5ee8,
- 0x9c48: 0x5ee9,
- 0x9c49: 0x5eec,
- 0x9c4a: 0x5ef1,
- 0x9c4b: 0x5ef3,
- 0x9c4c: 0x5ef0,
- 0x9c4d: 0x5ef4,
- 0x9c4e: 0x5ef8,
- 0x9c4f: 0x5efe,
- 0x9c50: 0x5f03,
- 0x9c51: 0x5f09,
- 0x9c52: 0x5f5d,
- 0x9c53: 0x5f5c,
- 0x9c54: 0x5f0b,
- 0x9c55: 0x5f11,
- 0x9c56: 0x5f16,
- 0x9c57: 0x5f29,
- 0x9c58: 0x5f2d,
- 0x9c59: 0x5f38,
- 0x9c5a: 0x5f41,
- 0x9c5b: 0x5f48,
- 0x9c5c: 0x5f4c,
- 0x9c5d: 0x5f4e,
- 0x9c5e: 0x5f2f,
- 0x9c5f: 0x5f51,
- 0x9c60: 0x5f56,
- 0x9c61: 0x5f57,
- 0x9c62: 0x5f59,
- 0x9c63: 0x5f61,
- 0x9c64: 0x5f6d,
- 0x9c65: 0x5f73,
- 0x9c66: 0x5f77,
- 0x9c67: 0x5f83,
- 0x9c68: 0x5f82,
- 0x9c69: 0x5f7f,
- 0x9c6a: 0x5f8a,
- 0x9c6b: 0x5f88,
- 0x9c6c: 0x5f91,
- 0x9c6d: 0x5f87,
- 0x9c6e: 0x5f9e,
- 0x9c6f: 0x5f99,
- 0x9c70: 0x5f98,
- 0x9c71: 0x5fa0,
- 0x9c72: 0x5fa8,
- 0x9c73: 0x5fad,
- 0x9c74: 0x5fbc,
- 0x9c75: 0x5fd6,
- 0x9c76: 0x5ffb,
- 0x9c77: 0x5fe4,
- 0x9c78: 0x5ff8,
- 0x9c79: 0x5ff1,
- 0x9c7a: 0x5fdd,
- 0x9c7b: 0x60b3,
- 0x9c7c: 0x5fff,
- 0x9c7d: 0x6021,
- 0x9c7e: 0x6060,
- 0x9c80: 0x6019,
- 0x9c81: 0x6010,
- 0x9c82: 0x6029,
- 0x9c83: 0x600e,
- 0x9c84: 0x6031,
- 0x9c85: 0x601b,
- 0x9c86: 0x6015,
- 0x9c87: 0x602b,
- 0x9c88: 0x6026,
- 0x9c89: 0x600f,
- 0x9c8a: 0x603a,
- 0x9c8b: 0x605a,
- 0x9c8c: 0x6041,
- 0x9c8d: 0x606a,
- 0x9c8e: 0x6077,
- 0x9c8f: 0x605f,
- 0x9c90: 0x604a,
- 0x9c91: 0x6046,
- 0x9c92: 0x604d,
- 0x9c93: 0x6063,
- 0x9c94: 0x6043,
- 0x9c95: 0x6064,
- 0x9c96: 0x6042,
- 0x9c97: 0x606c,
- 0x9c98: 0x606b,
- 0x9c99: 0x6059,
- 0x9c9a: 0x6081,
- 0x9c9b: 0x608d,
- 0x9c9c: 0x60e7,
- 0x9c9d: 0x6083,
- 0x9c9e: 0x609a,
- 0x9c9f: 0x6084,
- 0x9ca0: 0x609b,
- 0x9ca1: 0x6096,
- 0x9ca2: 0x6097,
- 0x9ca3: 0x6092,
- 0x9ca4: 0x60a7,
- 0x9ca5: 0x608b,
- 0x9ca6: 0x60e1,
- 0x9ca7: 0x60b8,
- 0x9ca8: 0x60e0,
- 0x9ca9: 0x60d3,
- 0x9caa: 0x60b4,
- 0x9cab: 0x5ff0,
- 0x9cac: 0x60bd,
- 0x9cad: 0x60c6,
- 0x9cae: 0x60b5,
- 0x9caf: 0x60d8,
- 0x9cb0: 0x614d,
- 0x9cb1: 0x6115,
- 0x9cb2: 0x6106,
- 0x9cb3: 0x60f6,
- 0x9cb4: 0x60f7,
- 0x9cb5: 0x6100,
- 0x9cb6: 0x60f4,
- 0x9cb7: 0x60fa,
- 0x9cb8: 0x6103,
- 0x9cb9: 0x6121,
- 0x9cba: 0x60fb,
- 0x9cbb: 0x60f1,
- 0x9cbc: 0x610d,
- 0x9cbd: 0x610e,
- 0x9cbe: 0x6147,
- 0x9cbf: 0x613e,
- 0x9cc0: 0x6128,
- 0x9cc1: 0x6127,
- 0x9cc2: 0x614a,
- 0x9cc3: 0x613f,
- 0x9cc4: 0x613c,
- 0x9cc5: 0x612c,
- 0x9cc6: 0x6134,
- 0x9cc7: 0x613d,
- 0x9cc8: 0x6142,
- 0x9cc9: 0x6144,
- 0x9cca: 0x6173,
- 0x9ccb: 0x6177,
- 0x9ccc: 0x6158,
- 0x9ccd: 0x6159,
- 0x9cce: 0x615a,
- 0x9ccf: 0x616b,
- 0x9cd0: 0x6174,
- 0x9cd1: 0x616f,
- 0x9cd2: 0x6165,
- 0x9cd3: 0x6171,
- 0x9cd4: 0x615f,
- 0x9cd5: 0x615d,
- 0x9cd6: 0x6153,
- 0x9cd7: 0x6175,
- 0x9cd8: 0x6199,
- 0x9cd9: 0x6196,
- 0x9cda: 0x6187,
- 0x9cdb: 0x61ac,
- 0x9cdc: 0x6194,
- 0x9cdd: 0x619a,
- 0x9cde: 0x618a,
- 0x9cdf: 0x6191,
- 0x9ce0: 0x61ab,
- 0x9ce1: 0x61ae,
- 0x9ce2: 0x61cc,
- 0x9ce3: 0x61ca,
- 0x9ce4: 0x61c9,
- 0x9ce5: 0x61f7,
- 0x9ce6: 0x61c8,
- 0x9ce7: 0x61c3,
- 0x9ce8: 0x61c6,
- 0x9ce9: 0x61ba,
- 0x9cea: 0x61cb,
- 0x9ceb: 0x7f79,
- 0x9cec: 0x61cd,
- 0x9ced: 0x61e6,
- 0x9cee: 0x61e3,
- 0x9cef: 0x61f6,
- 0x9cf0: 0x61fa,
- 0x9cf1: 0x61f4,
- 0x9cf2: 0x61ff,
- 0x9cf3: 0x61fd,
- 0x9cf4: 0x61fc,
- 0x9cf5: 0x61fe,
- 0x9cf6: 0x6200,
- 0x9cf7: 0x6208,
- 0x9cf8: 0x6209,
- 0x9cf9: 0x620d,
- 0x9cfa: 0x620c,
- 0x9cfb: 0x6214,
- 0x9cfc: 0x621b,
- 0x9d40: 0x621e,
- 0x9d41: 0x6221,
- 0x9d42: 0x622a,
- 0x9d43: 0x622e,
- 0x9d44: 0x6230,
- 0x9d45: 0x6232,
- 0x9d46: 0x6233,
- 0x9d47: 0x6241,
- 0x9d48: 0x624e,
- 0x9d49: 0x625e,
- 0x9d4a: 0x6263,
- 0x9d4b: 0x625b,
- 0x9d4c: 0x6260,
- 0x9d4d: 0x6268,
- 0x9d4e: 0x627c,
- 0x9d4f: 0x6282,
- 0x9d50: 0x6289,
- 0x9d51: 0x627e,
- 0x9d52: 0x6292,
- 0x9d53: 0x6293,
- 0x9d54: 0x6296,
- 0x9d55: 0x62d4,
- 0x9d56: 0x6283,
- 0x9d57: 0x6294,
- 0x9d58: 0x62d7,
- 0x9d59: 0x62d1,
- 0x9d5a: 0x62bb,
- 0x9d5b: 0x62cf,
- 0x9d5c: 0x62ff,
- 0x9d5d: 0x62c6,
- 0x9d5e: 0x64d4,
- 0x9d5f: 0x62c8,
- 0x9d60: 0x62dc,
- 0x9d61: 0x62cc,
- 0x9d62: 0x62ca,
- 0x9d63: 0x62c2,
- 0x9d64: 0x62c7,
- 0x9d65: 0x629b,
- 0x9d66: 0x62c9,
- 0x9d67: 0x630c,
- 0x9d68: 0x62ee,
- 0x9d69: 0x62f1,
- 0x9d6a: 0x6327,
- 0x9d6b: 0x6302,
- 0x9d6c: 0x6308,
- 0x9d6d: 0x62ef,
- 0x9d6e: 0x62f5,
- 0x9d6f: 0x6350,
- 0x9d70: 0x633e,
- 0x9d71: 0x634d,
- 0x9d72: 0x641c,
- 0x9d73: 0x634f,
- 0x9d74: 0x6396,
- 0x9d75: 0x638e,
- 0x9d76: 0x6380,
- 0x9d77: 0x63ab,
- 0x9d78: 0x6376,
- 0x9d79: 0x63a3,
- 0x9d7a: 0x638f,
- 0x9d7b: 0x6389,
- 0x9d7c: 0x639f,
- 0x9d7d: 0x63b5,
- 0x9d7e: 0x636b,
- 0x9d80: 0x6369,
- 0x9d81: 0x63be,
- 0x9d82: 0x63e9,
- 0x9d83: 0x63c0,
- 0x9d84: 0x63c6,
- 0x9d85: 0x63e3,
- 0x9d86: 0x63c9,
- 0x9d87: 0x63d2,
- 0x9d88: 0x63f6,
- 0x9d89: 0x63c4,
- 0x9d8a: 0x6416,
- 0x9d8b: 0x6434,
- 0x9d8c: 0x6406,
- 0x9d8d: 0x6413,
- 0x9d8e: 0x6426,
- 0x9d8f: 0x6436,
- 0x9d90: 0x651d,
- 0x9d91: 0x6417,
- 0x9d92: 0x6428,
- 0x9d93: 0x640f,
- 0x9d94: 0x6467,
- 0x9d95: 0x646f,
- 0x9d96: 0x6476,
- 0x9d97: 0x644e,
- 0x9d98: 0x652a,
- 0x9d99: 0x6495,
- 0x9d9a: 0x6493,
- 0x9d9b: 0x64a5,
- 0x9d9c: 0x64a9,
- 0x9d9d: 0x6488,
- 0x9d9e: 0x64bc,
- 0x9d9f: 0x64da,
- 0x9da0: 0x64d2,
- 0x9da1: 0x64c5,
- 0x9da2: 0x64c7,
- 0x9da3: 0x64bb,
- 0x9da4: 0x64d8,
- 0x9da5: 0x64c2,
- 0x9da6: 0x64f1,
- 0x9da7: 0x64e7,
- 0x9da8: 0x8209,
- 0x9da9: 0x64e0,
- 0x9daa: 0x64e1,
- 0x9dab: 0x62ac,
- 0x9dac: 0x64e3,
- 0x9dad: 0x64ef,
- 0x9dae: 0x652c,
- 0x9daf: 0x64f6,
- 0x9db0: 0x64f4,
- 0x9db1: 0x64f2,
- 0x9db2: 0x64fa,
- 0x9db3: 0x6500,
- 0x9db4: 0x64fd,
- 0x9db5: 0x6518,
- 0x9db6: 0x651c,
- 0x9db7: 0x6505,
- 0x9db8: 0x6524,
- 0x9db9: 0x6523,
- 0x9dba: 0x652b,
- 0x9dbb: 0x6534,
- 0x9dbc: 0x6535,
- 0x9dbd: 0x6537,
- 0x9dbe: 0x6536,
- 0x9dbf: 0x6538,
- 0x9dc0: 0x754b,
- 0x9dc1: 0x6548,
- 0x9dc2: 0x6556,
- 0x9dc3: 0x6555,
- 0x9dc4: 0x654d,
- 0x9dc5: 0x6558,
- 0x9dc6: 0x655e,
- 0x9dc7: 0x655d,
- 0x9dc8: 0x6572,
- 0x9dc9: 0x6578,
- 0x9dca: 0x6582,
- 0x9dcb: 0x6583,
- 0x9dcc: 0x8b8a,
- 0x9dcd: 0x659b,
- 0x9dce: 0x659f,
- 0x9dcf: 0x65ab,
- 0x9dd0: 0x65b7,
- 0x9dd1: 0x65c3,
- 0x9dd2: 0x65c6,
- 0x9dd3: 0x65c1,
- 0x9dd4: 0x65c4,
- 0x9dd5: 0x65cc,
- 0x9dd6: 0x65d2,
- 0x9dd7: 0x65db,
- 0x9dd8: 0x65d9,
- 0x9dd9: 0x65e0,
- 0x9dda: 0x65e1,
- 0x9ddb: 0x65f1,
- 0x9ddc: 0x6772,
- 0x9ddd: 0x660a,
- 0x9dde: 0x6603,
- 0x9ddf: 0x65fb,
- 0x9de0: 0x6773,
- 0x9de1: 0x6635,
- 0x9de2: 0x6636,
- 0x9de3: 0x6634,
- 0x9de4: 0x661c,
- 0x9de5: 0x664f,
- 0x9de6: 0x6644,
- 0x9de7: 0x6649,
- 0x9de8: 0x6641,
- 0x9de9: 0x665e,
- 0x9dea: 0x665d,
- 0x9deb: 0x6664,
- 0x9dec: 0x6667,
- 0x9ded: 0x6668,
- 0x9dee: 0x665f,
- 0x9def: 0x6662,
- 0x9df0: 0x6670,
- 0x9df1: 0x6683,
- 0x9df2: 0x6688,
- 0x9df3: 0x668e,
- 0x9df4: 0x6689,
- 0x9df5: 0x6684,
- 0x9df6: 0x6698,
- 0x9df7: 0x669d,
- 0x9df8: 0x66c1,
- 0x9df9: 0x66b9,
- 0x9dfa: 0x66c9,
- 0x9dfb: 0x66be,
- 0x9dfc: 0x66bc,
- 0x9e40: 0x66c4,
- 0x9e41: 0x66b8,
- 0x9e42: 0x66d6,
- 0x9e43: 0x66da,
- 0x9e44: 0x66e0,
- 0x9e45: 0x663f,
- 0x9e46: 0x66e6,
- 0x9e47: 0x66e9,
- 0x9e48: 0x66f0,
- 0x9e49: 0x66f5,
- 0x9e4a: 0x66f7,
- 0x9e4b: 0x670f,
- 0x9e4c: 0x6716,
- 0x9e4d: 0x671e,
- 0x9e4e: 0x6726,
- 0x9e4f: 0x6727,
- 0x9e50: 0x9738,
- 0x9e51: 0x672e,
- 0x9e52: 0x673f,
- 0x9e53: 0x6736,
- 0x9e54: 0x6741,
- 0x9e55: 0x6738,
- 0x9e56: 0x6737,
- 0x9e57: 0x6746,
- 0x9e58: 0x675e,
- 0x9e59: 0x6760,
- 0x9e5a: 0x6759,
- 0x9e5b: 0x6763,
- 0x9e5c: 0x6764,
- 0x9e5d: 0x6789,
- 0x9e5e: 0x6770,
- 0x9e5f: 0x67a9,
- 0x9e60: 0x677c,
- 0x9e61: 0x676a,
- 0x9e62: 0x678c,
- 0x9e63: 0x678b,
- 0x9e64: 0x67a6,
- 0x9e65: 0x67a1,
- 0x9e66: 0x6785,
- 0x9e67: 0x67b7,
- 0x9e68: 0x67ef,
- 0x9e69: 0x67b4,
- 0x9e6a: 0x67ec,
- 0x9e6b: 0x67b3,
- 0x9e6c: 0x67e9,
- 0x9e6d: 0x67b8,
- 0x9e6e: 0x67e4,
- 0x9e6f: 0x67de,
- 0x9e70: 0x67dd,
- 0x9e71: 0x67e2,
- 0x9e72: 0x67ee,
- 0x9e73: 0x67b9,
- 0x9e74: 0x67ce,
- 0x9e75: 0x67c6,
- 0x9e76: 0x67e7,
- 0x9e77: 0x6a9c,
- 0x9e78: 0x681e,
- 0x9e79: 0x6846,
- 0x9e7a: 0x6829,
- 0x9e7b: 0x6840,
- 0x9e7c: 0x684d,
- 0x9e7d: 0x6832,
- 0x9e7e: 0x684e,
- 0x9e80: 0x68b3,
- 0x9e81: 0x682b,
- 0x9e82: 0x6859,
- 0x9e83: 0x6863,
- 0x9e84: 0x6877,
- 0x9e85: 0x687f,
- 0x9e86: 0x689f,
- 0x9e87: 0x688f,
- 0x9e88: 0x68ad,
- 0x9e89: 0x6894,
- 0x9e8a: 0x689d,
- 0x9e8b: 0x689b,
- 0x9e8c: 0x6883,
- 0x9e8d: 0x6aae,
- 0x9e8e: 0x68b9,
- 0x9e8f: 0x6874,
- 0x9e90: 0x68b5,
- 0x9e91: 0x68a0,
- 0x9e92: 0x68ba,
- 0x9e93: 0x690f,
- 0x9e94: 0x688d,
- 0x9e95: 0x687e,
- 0x9e96: 0x6901,
- 0x9e97: 0x68ca,
- 0x9e98: 0x6908,
- 0x9e99: 0x68d8,
- 0x9e9a: 0x6922,
- 0x9e9b: 0x6926,
- 0x9e9c: 0x68e1,
- 0x9e9d: 0x690c,
- 0x9e9e: 0x68cd,
- 0x9e9f: 0x68d4,
- 0x9ea0: 0x68e7,
- 0x9ea1: 0x68d5,
- 0x9ea2: 0x6936,
- 0x9ea3: 0x6912,
- 0x9ea4: 0x6904,
- 0x9ea5: 0x68d7,
- 0x9ea6: 0x68e3,
- 0x9ea7: 0x6925,
- 0x9ea8: 0x68f9,
- 0x9ea9: 0x68e0,
- 0x9eaa: 0x68ef,
- 0x9eab: 0x6928,
- 0x9eac: 0x692a,
- 0x9ead: 0x691a,
- 0x9eae: 0x6923,
- 0x9eaf: 0x6921,
- 0x9eb0: 0x68c6,
- 0x9eb1: 0x6979,
- 0x9eb2: 0x6977,
- 0x9eb3: 0x695c,
- 0x9eb4: 0x6978,
- 0x9eb5: 0x696b,
- 0x9eb6: 0x6954,
- 0x9eb7: 0x697e,
- 0x9eb8: 0x696e,
- 0x9eb9: 0x6939,
- 0x9eba: 0x6974,
- 0x9ebb: 0x693d,
- 0x9ebc: 0x6959,
- 0x9ebd: 0x6930,
- 0x9ebe: 0x6961,
- 0x9ebf: 0x695e,
- 0x9ec0: 0x695d,
- 0x9ec1: 0x6981,
- 0x9ec2: 0x696a,
- 0x9ec3: 0x69b2,
- 0x9ec4: 0x69ae,
- 0x9ec5: 0x69d0,
- 0x9ec6: 0x69bf,
- 0x9ec7: 0x69c1,
- 0x9ec8: 0x69d3,
- 0x9ec9: 0x69be,
- 0x9eca: 0x69ce,
- 0x9ecb: 0x5be8,
- 0x9ecc: 0x69ca,
- 0x9ecd: 0x69dd,
- 0x9ece: 0x69bb,
- 0x9ecf: 0x69c3,
- 0x9ed0: 0x69a7,
- 0x9ed1: 0x6a2e,
- 0x9ed2: 0x6991,
- 0x9ed3: 0x69a0,
- 0x9ed4: 0x699c,
- 0x9ed5: 0x6995,
- 0x9ed6: 0x69b4,
- 0x9ed7: 0x69de,
- 0x9ed8: 0x69e8,
- 0x9ed9: 0x6a02,
- 0x9eda: 0x6a1b,
- 0x9edb: 0x69ff,
- 0x9edc: 0x6b0a,
- 0x9edd: 0x69f9,
- 0x9ede: 0x69f2,
- 0x9edf: 0x69e7,
- 0x9ee0: 0x6a05,
- 0x9ee1: 0x69b1,
- 0x9ee2: 0x6a1e,
- 0x9ee3: 0x69ed,
- 0x9ee4: 0x6a14,
- 0x9ee5: 0x69eb,
- 0x9ee6: 0x6a0a,
- 0x9ee7: 0x6a12,
- 0x9ee8: 0x6ac1,
- 0x9ee9: 0x6a23,
- 0x9eea: 0x6a13,
- 0x9eeb: 0x6a44,
- 0x9eec: 0x6a0c,
- 0x9eed: 0x6a72,
- 0x9eee: 0x6a36,
- 0x9eef: 0x6a78,
- 0x9ef0: 0x6a47,
- 0x9ef1: 0x6a62,
- 0x9ef2: 0x6a59,
- 0x9ef3: 0x6a66,
- 0x9ef4: 0x6a48,
- 0x9ef5: 0x6a38,
- 0x9ef6: 0x6a22,
- 0x9ef7: 0x6a90,
- 0x9ef8: 0x6a8d,
- 0x9ef9: 0x6aa0,
- 0x9efa: 0x6a84,
- 0x9efb: 0x6aa2,
- 0x9efc: 0x6aa3,
- 0x9f40: 0x6a97,
- 0x9f41: 0x8617,
- 0x9f42: 0x6abb,
- 0x9f43: 0x6ac3,
- 0x9f44: 0x6ac2,
- 0x9f45: 0x6ab8,
- 0x9f46: 0x6ab3,
- 0x9f47: 0x6aac,
- 0x9f48: 0x6ade,
- 0x9f49: 0x6ad1,
- 0x9f4a: 0x6adf,
- 0x9f4b: 0x6aaa,
- 0x9f4c: 0x6ada,
- 0x9f4d: 0x6aea,
- 0x9f4e: 0x6afb,
- 0x9f4f: 0x6b05,
- 0x9f50: 0x8616,
- 0x9f51: 0x6afa,
- 0x9f52: 0x6b12,
- 0x9f53: 0x6b16,
- 0x9f54: 0x9b31,
- 0x9f55: 0x6b1f,
- 0x9f56: 0x6b38,
- 0x9f57: 0x6b37,
- 0x9f58: 0x76dc,
- 0x9f59: 0x6b39,
- 0x9f5a: 0x98ee,
- 0x9f5b: 0x6b47,
- 0x9f5c: 0x6b43,
- 0x9f5d: 0x6b49,
- 0x9f5e: 0x6b50,
- 0x9f5f: 0x6b59,
- 0x9f60: 0x6b54,
- 0x9f61: 0x6b5b,
- 0x9f62: 0x6b5f,
- 0x9f63: 0x6b61,
- 0x9f64: 0x6b78,
- 0x9f65: 0x6b79,
- 0x9f66: 0x6b7f,
- 0x9f67: 0x6b80,
- 0x9f68: 0x6b84,
- 0x9f69: 0x6b83,
- 0x9f6a: 0x6b8d,
- 0x9f6b: 0x6b98,
- 0x9f6c: 0x6b95,
- 0x9f6d: 0x6b9e,
- 0x9f6e: 0x6ba4,
- 0x9f6f: 0x6baa,
- 0x9f70: 0x6bab,
- 0x9f71: 0x6baf,
- 0x9f72: 0x6bb2,
- 0x9f73: 0x6bb1,
- 0x9f74: 0x6bb3,
- 0x9f75: 0x6bb7,
- 0x9f76: 0x6bbc,
- 0x9f77: 0x6bc6,
- 0x9f78: 0x6bcb,
- 0x9f79: 0x6bd3,
- 0x9f7a: 0x6bdf,
- 0x9f7b: 0x6bec,
- 0x9f7c: 0x6beb,
- 0x9f7d: 0x6bf3,
- 0x9f7e: 0x6bef,
- 0x9f80: 0x9ebe,
- 0x9f81: 0x6c08,
- 0x9f82: 0x6c13,
- 0x9f83: 0x6c14,
- 0x9f84: 0x6c1b,
- 0x9f85: 0x6c24,
- 0x9f86: 0x6c23,
- 0x9f87: 0x6c5e,
- 0x9f88: 0x6c55,
- 0x9f89: 0x6c62,
- 0x9f8a: 0x6c6a,
- 0x9f8b: 0x6c82,
- 0x9f8c: 0x6c8d,
- 0x9f8d: 0x6c9a,
- 0x9f8e: 0x6c81,
- 0x9f8f: 0x6c9b,
- 0x9f90: 0x6c7e,
- 0x9f91: 0x6c68,
- 0x9f92: 0x6c73,
- 0x9f93: 0x6c92,
- 0x9f94: 0x6c90,
- 0x9f95: 0x6cc4,
- 0x9f96: 0x6cf1,
- 0x9f97: 0x6cd3,
- 0x9f98: 0x6cbd,
- 0x9f99: 0x6cd7,
- 0x9f9a: 0x6cc5,
- 0x9f9b: 0x6cdd,
- 0x9f9c: 0x6cae,
- 0x9f9d: 0x6cb1,
- 0x9f9e: 0x6cbe,
- 0x9f9f: 0x6cba,
- 0x9fa0: 0x6cdb,
- 0x9fa1: 0x6cef,
- 0x9fa2: 0x6cd9,
- 0x9fa3: 0x6cea,
- 0x9fa4: 0x6d1f,
- 0x9fa5: 0x884d,
- 0x9fa6: 0x6d36,
- 0x9fa7: 0x6d2b,
- 0x9fa8: 0x6d3d,
- 0x9fa9: 0x6d38,
- 0x9faa: 0x6d19,
- 0x9fab: 0x6d35,
- 0x9fac: 0x6d33,
- 0x9fad: 0x6d12,
- 0x9fae: 0x6d0c,
- 0x9faf: 0x6d63,
- 0x9fb0: 0x6d93,
- 0x9fb1: 0x6d64,
- 0x9fb2: 0x6d5a,
- 0x9fb3: 0x6d79,
- 0x9fb4: 0x6d59,
- 0x9fb5: 0x6d8e,
- 0x9fb6: 0x6d95,
- 0x9fb7: 0x6fe4,
- 0x9fb8: 0x6d85,
- 0x9fb9: 0x6df9,
- 0x9fba: 0x6e15,
- 0x9fbb: 0x6e0a,
- 0x9fbc: 0x6db5,
- 0x9fbd: 0x6dc7,
- 0x9fbe: 0x6de6,
- 0x9fbf: 0x6db8,
- 0x9fc0: 0x6dc6,
- 0x9fc1: 0x6dec,
- 0x9fc2: 0x6dde,
- 0x9fc3: 0x6dcc,
- 0x9fc4: 0x6de8,
- 0x9fc5: 0x6dd2,
- 0x9fc6: 0x6dc5,
- 0x9fc7: 0x6dfa,
- 0x9fc8: 0x6dd9,
- 0x9fc9: 0x6de4,
- 0x9fca: 0x6dd5,
- 0x9fcb: 0x6dea,
- 0x9fcc: 0x6dee,
- 0x9fcd: 0x6e2d,
- 0x9fce: 0x6e6e,
- 0x9fcf: 0x6e2e,
- 0x9fd0: 0x6e19,
- 0x9fd1: 0x6e72,
- 0x9fd2: 0x6e5f,
- 0x9fd3: 0x6e3e,
- 0x9fd4: 0x6e23,
- 0x9fd5: 0x6e6b,
- 0x9fd6: 0x6e2b,
- 0x9fd7: 0x6e76,
- 0x9fd8: 0x6e4d,
- 0x9fd9: 0x6e1f,
- 0x9fda: 0x6e43,
- 0x9fdb: 0x6e3a,
- 0x9fdc: 0x6e4e,
- 0x9fdd: 0x6e24,
- 0x9fde: 0x6eff,
- 0x9fdf: 0x6e1d,
- 0x9fe0: 0x6e38,
- 0x9fe1: 0x6e82,
- 0x9fe2: 0x6eaa,
- 0x9fe3: 0x6e98,
- 0x9fe4: 0x6ec9,
- 0x9fe5: 0x6eb7,
- 0x9fe6: 0x6ed3,
- 0x9fe7: 0x6ebd,
- 0x9fe8: 0x6eaf,
- 0x9fe9: 0x6ec4,
- 0x9fea: 0x6eb2,
- 0x9feb: 0x6ed4,
- 0x9fec: 0x6ed5,
- 0x9fed: 0x6e8f,
- 0x9fee: 0x6ea5,
- 0x9fef: 0x6ec2,
- 0x9ff0: 0x6e9f,
- 0x9ff1: 0x6f41,
- 0x9ff2: 0x6f11,
- 0x9ff3: 0x704c,
- 0x9ff4: 0x6eec,
- 0x9ff5: 0x6ef8,
- 0x9ff6: 0x6efe,
- 0x9ff7: 0x6f3f,
- 0x9ff8: 0x6ef2,
- 0x9ff9: 0x6f31,
- 0x9ffa: 0x6eef,
- 0x9ffb: 0x6f32,
- 0x9ffc: 0x6ecc,
- 0xa1: 0xff61,
- 0xa2: 0xff62,
- 0xa3: 0xff63,
- 0xa4: 0xff64,
- 0xa5: 0xff65,
- 0xa6: 0xff66,
- 0xa7: 0xff67,
- 0xa8: 0xff68,
- 0xa9: 0xff69,
- 0xaa: 0xff6a,
- 0xab: 0xff6b,
- 0xac: 0xff6c,
- 0xad: 0xff6d,
- 0xae: 0xff6e,
- 0xaf: 0xff6f,
- 0xb0: 0xff70,
- 0xb1: 0xff71,
- 0xb2: 0xff72,
- 0xb3: 0xff73,
- 0xb4: 0xff74,
- 0xb5: 0xff75,
- 0xb6: 0xff76,
- 0xb7: 0xff77,
- 0xb8: 0xff78,
- 0xb9: 0xff79,
- 0xba: 0xff7a,
- 0xbb: 0xff7b,
- 0xbc: 0xff7c,
- 0xbd: 0xff7d,
- 0xbe: 0xff7e,
- 0xbf: 0xff7f,
- 0xc0: 0xff80,
- 0xc1: 0xff81,
- 0xc2: 0xff82,
- 0xc3: 0xff83,
- 0xc4: 0xff84,
- 0xc5: 0xff85,
- 0xc6: 0xff86,
- 0xc7: 0xff87,
- 0xc8: 0xff88,
- 0xc9: 0xff89,
- 0xca: 0xff8a,
- 0xcb: 0xff8b,
- 0xcc: 0xff8c,
- 0xcd: 0xff8d,
- 0xce: 0xff8e,
- 0xcf: 0xff8f,
- 0xd0: 0xff90,
- 0xd1: 0xff91,
- 0xd2: 0xff92,
- 0xd3: 0xff93,
- 0xd4: 0xff94,
- 0xd5: 0xff95,
- 0xd6: 0xff96,
- 0xd7: 0xff97,
- 0xd8: 0xff98,
- 0xd9: 0xff99,
- 0xda: 0xff9a,
- 0xdb: 0xff9b,
- 0xdc: 0xff9c,
- 0xdd: 0xff9d,
- 0xde: 0xff9e,
- 0xdf: 0xff9f,
- 0xe040: 0x6f3e,
- 0xe041: 0x6f13,
- 0xe042: 0x6ef7,
- 0xe043: 0x6f86,
- 0xe044: 0x6f7a,
- 0xe045: 0x6f78,
- 0xe046: 0x6f81,
- 0xe047: 0x6f80,
- 0xe048: 0x6f6f,
- 0xe049: 0x6f5b,
- 0xe04a: 0x6ff3,
- 0xe04b: 0x6f6d,
- 0xe04c: 0x6f82,
- 0xe04d: 0x6f7c,
- 0xe04e: 0x6f58,
- 0xe04f: 0x6f8e,
- 0xe050: 0x6f91,
- 0xe051: 0x6fc2,
- 0xe052: 0x6f66,
- 0xe053: 0x6fb3,
- 0xe054: 0x6fa3,
- 0xe055: 0x6fa1,
- 0xe056: 0x6fa4,
- 0xe057: 0x6fb9,
- 0xe058: 0x6fc6,
- 0xe059: 0x6faa,
- 0xe05a: 0x6fdf,
- 0xe05b: 0x6fd5,
- 0xe05c: 0x6fec,
- 0xe05d: 0x6fd4,
- 0xe05e: 0x6fd8,
- 0xe05f: 0x6ff1,
- 0xe060: 0x6fee,
- 0xe061: 0x6fdb,
- 0xe062: 0x7009,
- 0xe063: 0x700b,
- 0xe064: 0x6ffa,
- 0xe065: 0x7011,
- 0xe066: 0x7001,
- 0xe067: 0x700f,
- 0xe068: 0x6ffe,
- 0xe069: 0x701b,
- 0xe06a: 0x701a,
- 0xe06b: 0x6f74,
- 0xe06c: 0x701d,
- 0xe06d: 0x7018,
- 0xe06e: 0x701f,
- 0xe06f: 0x7030,
- 0xe070: 0x703e,
- 0xe071: 0x7032,
- 0xe072: 0x7051,
- 0xe073: 0x7063,
- 0xe074: 0x7099,
- 0xe075: 0x7092,
- 0xe076: 0x70af,
- 0xe077: 0x70f1,
- 0xe078: 0x70ac,
- 0xe079: 0x70b8,
- 0xe07a: 0x70b3,
- 0xe07b: 0x70ae,
- 0xe07c: 0x70df,
- 0xe07d: 0x70cb,
- 0xe07e: 0x70dd,
- 0xe080: 0x70d9,
- 0xe081: 0x7109,
- 0xe082: 0x70fd,
- 0xe083: 0x711c,
- 0xe084: 0x7119,
- 0xe085: 0x7165,
- 0xe086: 0x7155,
- 0xe087: 0x7188,
- 0xe088: 0x7166,
- 0xe089: 0x7162,
- 0xe08a: 0x714c,
- 0xe08b: 0x7156,
- 0xe08c: 0x716c,
- 0xe08d: 0x718f,
- 0xe08e: 0x71fb,
- 0xe08f: 0x7184,
- 0xe090: 0x7195,
- 0xe091: 0x71a8,
- 0xe092: 0x71ac,
- 0xe093: 0x71d7,
- 0xe094: 0x71b9,
- 0xe095: 0x71be,
- 0xe096: 0x71d2,
- 0xe097: 0x71c9,
- 0xe098: 0x71d4,
- 0xe099: 0x71ce,
- 0xe09a: 0x71e0,
- 0xe09b: 0x71ec,
- 0xe09c: 0x71e7,
- 0xe09d: 0x71f5,
- 0xe09e: 0x71fc,
- 0xe09f: 0x71f9,
- 0xe0a0: 0x71ff,
- 0xe0a1: 0x720d,
- 0xe0a2: 0x7210,
- 0xe0a3: 0x721b,
- 0xe0a4: 0x7228,
- 0xe0a5: 0x722d,
- 0xe0a6: 0x722c,
- 0xe0a7: 0x7230,
- 0xe0a8: 0x7232,
- 0xe0a9: 0x723b,
- 0xe0aa: 0x723c,
- 0xe0ab: 0x723f,
- 0xe0ac: 0x7240,
- 0xe0ad: 0x7246,
- 0xe0ae: 0x724b,
- 0xe0af: 0x7258,
- 0xe0b0: 0x7274,
- 0xe0b1: 0x727e,
- 0xe0b2: 0x7282,
- 0xe0b3: 0x7281,
- 0xe0b4: 0x7287,
- 0xe0b5: 0x7292,
- 0xe0b6: 0x7296,
- 0xe0b7: 0x72a2,
- 0xe0b8: 0x72a7,
- 0xe0b9: 0x72b9,
- 0xe0ba: 0x72b2,
- 0xe0bb: 0x72c3,
- 0xe0bc: 0x72c6,
- 0xe0bd: 0x72c4,
- 0xe0be: 0x72ce,
- 0xe0bf: 0x72d2,
- 0xe0c0: 0x72e2,
- 0xe0c1: 0x72e0,
- 0xe0c2: 0x72e1,
- 0xe0c3: 0x72f9,
- 0xe0c4: 0x72f7,
- 0xe0c5: 0x500f,
- 0xe0c6: 0x7317,
- 0xe0c7: 0x730a,
- 0xe0c8: 0x731c,
- 0xe0c9: 0x7316,
- 0xe0ca: 0x731d,
- 0xe0cb: 0x7334,
- 0xe0cc: 0x732f,
- 0xe0cd: 0x7329,
- 0xe0ce: 0x7325,
- 0xe0cf: 0x733e,
- 0xe0d0: 0x734e,
- 0xe0d1: 0x734f,
- 0xe0d2: 0x9ed8,
- 0xe0d3: 0x7357,
- 0xe0d4: 0x736a,
- 0xe0d5: 0x7368,
- 0xe0d6: 0x7370,
- 0xe0d7: 0x7378,
- 0xe0d8: 0x7375,
- 0xe0d9: 0x737b,
- 0xe0da: 0x737a,
- 0xe0db: 0x73c8,
- 0xe0dc: 0x73b3,
- 0xe0dd: 0x73ce,
- 0xe0de: 0x73bb,
- 0xe0df: 0x73c0,
- 0xe0e0: 0x73e5,
- 0xe0e1: 0x73ee,
- 0xe0e2: 0x73de,
- 0xe0e3: 0x74a2,
- 0xe0e4: 0x7405,
- 0xe0e5: 0x746f,
- 0xe0e6: 0x7425,
- 0xe0e7: 0x73f8,
- 0xe0e8: 0x7432,
- 0xe0e9: 0x743a,
- 0xe0ea: 0x7455,
- 0xe0eb: 0x743f,
- 0xe0ec: 0x745f,
- 0xe0ed: 0x7459,
- 0xe0ee: 0x7441,
- 0xe0ef: 0x745c,
- 0xe0f0: 0x7469,
- 0xe0f1: 0x7470,
- 0xe0f2: 0x7463,
- 0xe0f3: 0x746a,
- 0xe0f4: 0x7476,
- 0xe0f5: 0x747e,
- 0xe0f6: 0x748b,
- 0xe0f7: 0x749e,
- 0xe0f8: 0x74a7,
- 0xe0f9: 0x74ca,
- 0xe0fa: 0x74cf,
- 0xe0fb: 0x74d4,
- 0xe0fc: 0x73f1,
- 0xe140: 0x74e0,
- 0xe141: 0x74e3,
- 0xe142: 0x74e7,
- 0xe143: 0x74e9,
- 0xe144: 0x74ee,
- 0xe145: 0x74f2,
- 0xe146: 0x74f0,
- 0xe147: 0x74f1,
- 0xe148: 0x74f8,
- 0xe149: 0x74f7,
- 0xe14a: 0x7504,
- 0xe14b: 0x7503,
- 0xe14c: 0x7505,
- 0xe14d: 0x750c,
- 0xe14e: 0x750e,
- 0xe14f: 0x750d,
- 0xe150: 0x7515,
- 0xe151: 0x7513,
- 0xe152: 0x751e,
- 0xe153: 0x7526,
- 0xe154: 0x752c,
- 0xe155: 0x753c,
- 0xe156: 0x7544,
- 0xe157: 0x754d,
- 0xe158: 0x754a,
- 0xe159: 0x7549,
- 0xe15a: 0x755b,
- 0xe15b: 0x7546,
- 0xe15c: 0x755a,
- 0xe15d: 0x7569,
- 0xe15e: 0x7564,
- 0xe15f: 0x7567,
- 0xe160: 0x756b,
- 0xe161: 0x756d,
- 0xe162: 0x7578,
- 0xe163: 0x7576,
- 0xe164: 0x7586,
- 0xe165: 0x7587,
- 0xe166: 0x7574,
- 0xe167: 0x758a,
- 0xe168: 0x7589,
- 0xe169: 0x7582,
- 0xe16a: 0x7594,
- 0xe16b: 0x759a,
- 0xe16c: 0x759d,
- 0xe16d: 0x75a5,
- 0xe16e: 0x75a3,
- 0xe16f: 0x75c2,
- 0xe170: 0x75b3,
- 0xe171: 0x75c3,
- 0xe172: 0x75b5,
- 0xe173: 0x75bd,
- 0xe174: 0x75b8,
- 0xe175: 0x75bc,
- 0xe176: 0x75b1,
- 0xe177: 0x75cd,
- 0xe178: 0x75ca,
- 0xe179: 0x75d2,
- 0xe17a: 0x75d9,
- 0xe17b: 0x75e3,
- 0xe17c: 0x75de,
- 0xe17d: 0x75fe,
- 0xe17e: 0x75ff,
- 0xe180: 0x75fc,
- 0xe181: 0x7601,
- 0xe182: 0x75f0,
- 0xe183: 0x75fa,
- 0xe184: 0x75f2,
- 0xe185: 0x75f3,
- 0xe186: 0x760b,
- 0xe187: 0x760d,
- 0xe188: 0x7609,
- 0xe189: 0x761f,
- 0xe18a: 0x7627,
- 0xe18b: 0x7620,
- 0xe18c: 0x7621,
- 0xe18d: 0x7622,
- 0xe18e: 0x7624,
- 0xe18f: 0x7634,
- 0xe190: 0x7630,
- 0xe191: 0x763b,
- 0xe192: 0x7647,
- 0xe193: 0x7648,
- 0xe194: 0x7646,
- 0xe195: 0x765c,
- 0xe196: 0x7658,
- 0xe197: 0x7661,
- 0xe198: 0x7662,
- 0xe199: 0x7668,
- 0xe19a: 0x7669,
- 0xe19b: 0x766a,
- 0xe19c: 0x7667,
- 0xe19d: 0x766c,
- 0xe19e: 0x7670,
- 0xe19f: 0x7672,
- 0xe1a0: 0x7676,
- 0xe1a1: 0x7678,
- 0xe1a2: 0x767c,
- 0xe1a3: 0x7680,
- 0xe1a4: 0x7683,
- 0xe1a5: 0x7688,
- 0xe1a6: 0x768b,
- 0xe1a7: 0x768e,
- 0xe1a8: 0x7696,
- 0xe1a9: 0x7693,
- 0xe1aa: 0x7699,
- 0xe1ab: 0x769a,
- 0xe1ac: 0x76b0,
- 0xe1ad: 0x76b4,
- 0xe1ae: 0x76b8,
- 0xe1af: 0x76b9,
- 0xe1b0: 0x76ba,
- 0xe1b1: 0x76c2,
- 0xe1b2: 0x76cd,
- 0xe1b3: 0x76d6,
- 0xe1b4: 0x76d2,
- 0xe1b5: 0x76de,
- 0xe1b6: 0x76e1,
- 0xe1b7: 0x76e5,
- 0xe1b8: 0x76e7,
- 0xe1b9: 0x76ea,
- 0xe1ba: 0x862f,
- 0xe1bb: 0x76fb,
- 0xe1bc: 0x7708,
- 0xe1bd: 0x7707,
- 0xe1be: 0x7704,
- 0xe1bf: 0x7729,
- 0xe1c0: 0x7724,
- 0xe1c1: 0x771e,
- 0xe1c2: 0x7725,
- 0xe1c3: 0x7726,
- 0xe1c4: 0x771b,
- 0xe1c5: 0x7737,
- 0xe1c6: 0x7738,
- 0xe1c7: 0x7747,
- 0xe1c8: 0x775a,
- 0xe1c9: 0x7768,
- 0xe1ca: 0x776b,
- 0xe1cb: 0x775b,
- 0xe1cc: 0x7765,
- 0xe1cd: 0x777f,
- 0xe1ce: 0x777e,
- 0xe1cf: 0x7779,
- 0xe1d0: 0x778e,
- 0xe1d1: 0x778b,
- 0xe1d2: 0x7791,
- 0xe1d3: 0x77a0,
- 0xe1d4: 0x779e,
- 0xe1d5: 0x77b0,
- 0xe1d6: 0x77b6,
- 0xe1d7: 0x77b9,
- 0xe1d8: 0x77bf,
- 0xe1d9: 0x77bc,
- 0xe1da: 0x77bd,
- 0xe1db: 0x77bb,
- 0xe1dc: 0x77c7,
- 0xe1dd: 0x77cd,
- 0xe1de: 0x77d7,
- 0xe1df: 0x77da,
- 0xe1e0: 0x77dc,
- 0xe1e1: 0x77e3,
- 0xe1e2: 0x77ee,
- 0xe1e3: 0x77fc,
- 0xe1e4: 0x780c,
- 0xe1e5: 0x7812,
- 0xe1e6: 0x7926,
- 0xe1e7: 0x7820,
- 0xe1e8: 0x792a,
- 0xe1e9: 0x7845,
- 0xe1ea: 0x788e,
- 0xe1eb: 0x7874,
- 0xe1ec: 0x7886,
- 0xe1ed: 0x787c,
- 0xe1ee: 0x789a,
- 0xe1ef: 0x788c,
- 0xe1f0: 0x78a3,
- 0xe1f1: 0x78b5,
- 0xe1f2: 0x78aa,
- 0xe1f3: 0x78af,
- 0xe1f4: 0x78d1,
- 0xe1f5: 0x78c6,
- 0xe1f6: 0x78cb,
- 0xe1f7: 0x78d4,
- 0xe1f8: 0x78be,
- 0xe1f9: 0x78bc,
- 0xe1fa: 0x78c5,
- 0xe1fb: 0x78ca,
- 0xe1fc: 0x78ec,
- 0xe240: 0x78e7,
- 0xe241: 0x78da,
- 0xe242: 0x78fd,
- 0xe243: 0x78f4,
- 0xe244: 0x7907,
- 0xe245: 0x7912,
- 0xe246: 0x7911,
- 0xe247: 0x7919,
- 0xe248: 0x792c,
- 0xe249: 0x792b,
- 0xe24a: 0x7940,
- 0xe24b: 0x7960,
- 0xe24c: 0x7957,
- 0xe24d: 0x795f,
- 0xe24e: 0x795a,
- 0xe24f: 0x7955,
- 0xe250: 0x7953,
- 0xe251: 0x797a,
- 0xe252: 0x797f,
- 0xe253: 0x798a,
- 0xe254: 0x799d,
- 0xe255: 0x79a7,
- 0xe256: 0x9f4b,
- 0xe257: 0x79aa,
- 0xe258: 0x79ae,
- 0xe259: 0x79b3,
- 0xe25a: 0x79b9,
- 0xe25b: 0x79ba,
- 0xe25c: 0x79c9,
- 0xe25d: 0x79d5,
- 0xe25e: 0x79e7,
- 0xe25f: 0x79ec,
- 0xe260: 0x79e1,
- 0xe261: 0x79e3,
- 0xe262: 0x7a08,
- 0xe263: 0x7a0d,
- 0xe264: 0x7a18,
- 0xe265: 0x7a19,
- 0xe266: 0x7a20,
- 0xe267: 0x7a1f,
- 0xe268: 0x7980,
- 0xe269: 0x7a31,
- 0xe26a: 0x7a3b,
- 0xe26b: 0x7a3e,
- 0xe26c: 0x7a37,
- 0xe26d: 0x7a43,
- 0xe26e: 0x7a57,
- 0xe26f: 0x7a49,
- 0xe270: 0x7a61,
- 0xe271: 0x7a62,
- 0xe272: 0x7a69,
- 0xe273: 0x9f9d,
- 0xe274: 0x7a70,
- 0xe275: 0x7a79,
- 0xe276: 0x7a7d,
- 0xe277: 0x7a88,
- 0xe278: 0x7a97,
- 0xe279: 0x7a95,
- 0xe27a: 0x7a98,
- 0xe27b: 0x7a96,
- 0xe27c: 0x7aa9,
- 0xe27d: 0x7ac8,
- 0xe27e: 0x7ab0,
- 0xe280: 0x7ab6,
- 0xe281: 0x7ac5,
- 0xe282: 0x7ac4,
- 0xe283: 0x7abf,
- 0xe284: 0x9083,
- 0xe285: 0x7ac7,
- 0xe286: 0x7aca,
- 0xe287: 0x7acd,
- 0xe288: 0x7acf,
- 0xe289: 0x7ad5,
- 0xe28a: 0x7ad3,
- 0xe28b: 0x7ad9,
- 0xe28c: 0x7ada,
- 0xe28d: 0x7add,
- 0xe28e: 0x7ae1,
- 0xe28f: 0x7ae2,
- 0xe290: 0x7ae6,
- 0xe291: 0x7aed,
- 0xe292: 0x7af0,
- 0xe293: 0x7b02,
- 0xe294: 0x7b0f,
- 0xe295: 0x7b0a,
- 0xe296: 0x7b06,
- 0xe297: 0x7b33,
- 0xe298: 0x7b18,
- 0xe299: 0x7b19,
- 0xe29a: 0x7b1e,
- 0xe29b: 0x7b35,
- 0xe29c: 0x7b28,
- 0xe29d: 0x7b36,
- 0xe29e: 0x7b50,
- 0xe29f: 0x7b7a,
- 0xe2a0: 0x7b04,
- 0xe2a1: 0x7b4d,
- 0xe2a2: 0x7b0b,
- 0xe2a3: 0x7b4c,
- 0xe2a4: 0x7b45,
- 0xe2a5: 0x7b75,
- 0xe2a6: 0x7b65,
- 0xe2a7: 0x7b74,
- 0xe2a8: 0x7b67,
- 0xe2a9: 0x7b70,
- 0xe2aa: 0x7b71,
- 0xe2ab: 0x7b6c,
- 0xe2ac: 0x7b6e,
- 0xe2ad: 0x7b9d,
- 0xe2ae: 0x7b98,
- 0xe2af: 0x7b9f,
- 0xe2b0: 0x7b8d,
- 0xe2b1: 0x7b9c,
- 0xe2b2: 0x7b9a,
- 0xe2b3: 0x7b8b,
- 0xe2b4: 0x7b92,
- 0xe2b5: 0x7b8f,
- 0xe2b6: 0x7b5d,
- 0xe2b7: 0x7b99,
- 0xe2b8: 0x7bcb,
- 0xe2b9: 0x7bc1,
- 0xe2ba: 0x7bcc,
- 0xe2bb: 0x7bcf,
- 0xe2bc: 0x7bb4,
- 0xe2bd: 0x7bc6,
- 0xe2be: 0x7bdd,
- 0xe2bf: 0x7be9,
- 0xe2c0: 0x7c11,
- 0xe2c1: 0x7c14,
- 0xe2c2: 0x7be6,
- 0xe2c3: 0x7be5,
- 0xe2c4: 0x7c60,
- 0xe2c5: 0x7c00,
- 0xe2c6: 0x7c07,
- 0xe2c7: 0x7c13,
- 0xe2c8: 0x7bf3,
- 0xe2c9: 0x7bf7,
- 0xe2ca: 0x7c17,
- 0xe2cb: 0x7c0d,
- 0xe2cc: 0x7bf6,
- 0xe2cd: 0x7c23,
- 0xe2ce: 0x7c27,
- 0xe2cf: 0x7c2a,
- 0xe2d0: 0x7c1f,
- 0xe2d1: 0x7c37,
- 0xe2d2: 0x7c2b,
- 0xe2d3: 0x7c3d,
- 0xe2d4: 0x7c4c,
- 0xe2d5: 0x7c43,
- 0xe2d6: 0x7c54,
- 0xe2d7: 0x7c4f,
- 0xe2d8: 0x7c40,
- 0xe2d9: 0x7c50,
- 0xe2da: 0x7c58,
- 0xe2db: 0x7c5f,
- 0xe2dc: 0x7c64,
- 0xe2dd: 0x7c56,
- 0xe2de: 0x7c65,
- 0xe2df: 0x7c6c,
- 0xe2e0: 0x7c75,
- 0xe2e1: 0x7c83,
- 0xe2e2: 0x7c90,
- 0xe2e3: 0x7ca4,
- 0xe2e4: 0x7cad,
- 0xe2e5: 0x7ca2,
- 0xe2e6: 0x7cab,
- 0xe2e7: 0x7ca1,
- 0xe2e8: 0x7ca8,
- 0xe2e9: 0x7cb3,
- 0xe2ea: 0x7cb2,
- 0xe2eb: 0x7cb1,
- 0xe2ec: 0x7cae,
- 0xe2ed: 0x7cb9,
- 0xe2ee: 0x7cbd,
- 0xe2ef: 0x7cc0,
- 0xe2f0: 0x7cc5,
- 0xe2f1: 0x7cc2,
- 0xe2f2: 0x7cd8,
- 0xe2f3: 0x7cd2,
- 0xe2f4: 0x7cdc,
- 0xe2f5: 0x7ce2,
- 0xe2f6: 0x9b3b,
- 0xe2f7: 0x7cef,
- 0xe2f8: 0x7cf2,
- 0xe2f9: 0x7cf4,
- 0xe2fa: 0x7cf6,
- 0xe2fb: 0x7cfa,
- 0xe2fc: 0x7d06,
- 0xe340: 0x7d02,
- 0xe341: 0x7d1c,
- 0xe342: 0x7d15,
- 0xe343: 0x7d0a,
- 0xe344: 0x7d45,
- 0xe345: 0x7d4b,
- 0xe346: 0x7d2e,
- 0xe347: 0x7d32,
- 0xe348: 0x7d3f,
- 0xe349: 0x7d35,
- 0xe34a: 0x7d46,
- 0xe34b: 0x7d73,
- 0xe34c: 0x7d56,
- 0xe34d: 0x7d4e,
- 0xe34e: 0x7d72,
- 0xe34f: 0x7d68,
- 0xe350: 0x7d6e,
- 0xe351: 0x7d4f,
- 0xe352: 0x7d63,
- 0xe353: 0x7d93,
- 0xe354: 0x7d89,
- 0xe355: 0x7d5b,
- 0xe356: 0x7d8f,
- 0xe357: 0x7d7d,
- 0xe358: 0x7d9b,
- 0xe359: 0x7dba,
- 0xe35a: 0x7dae,
- 0xe35b: 0x7da3,
- 0xe35c: 0x7db5,
- 0xe35d: 0x7dc7,
- 0xe35e: 0x7dbd,
- 0xe35f: 0x7dab,
- 0xe360: 0x7e3d,
- 0xe361: 0x7da2,
- 0xe362: 0x7daf,
- 0xe363: 0x7ddc,
- 0xe364: 0x7db8,
- 0xe365: 0x7d9f,
- 0xe366: 0x7db0,
- 0xe367: 0x7dd8,
- 0xe368: 0x7ddd,
- 0xe369: 0x7de4,
- 0xe36a: 0x7dde,
- 0xe36b: 0x7dfb,
- 0xe36c: 0x7df2,
- 0xe36d: 0x7de1,
- 0xe36e: 0x7e05,
- 0xe36f: 0x7e0a,
- 0xe370: 0x7e23,
- 0xe371: 0x7e21,
- 0xe372: 0x7e12,
- 0xe373: 0x7e31,
- 0xe374: 0x7e1f,
- 0xe375: 0x7e09,
- 0xe376: 0x7e0b,
- 0xe377: 0x7e22,
- 0xe378: 0x7e46,
- 0xe379: 0x7e66,
- 0xe37a: 0x7e3b,
- 0xe37b: 0x7e35,
- 0xe37c: 0x7e39,
- 0xe37d: 0x7e43,
- 0xe37e: 0x7e37,
- 0xe380: 0x7e32,
- 0xe381: 0x7e3a,
- 0xe382: 0x7e67,
- 0xe383: 0x7e5d,
- 0xe384: 0x7e56,
- 0xe385: 0x7e5e,
- 0xe386: 0x7e59,
- 0xe387: 0x7e5a,
- 0xe388: 0x7e79,
- 0xe389: 0x7e6a,
- 0xe38a: 0x7e69,
- 0xe38b: 0x7e7c,
- 0xe38c: 0x7e7b,
- 0xe38d: 0x7e83,
- 0xe38e: 0x7dd5,
- 0xe38f: 0x7e7d,
- 0xe390: 0x8fae,
- 0xe391: 0x7e7f,
- 0xe392: 0x7e88,
- 0xe393: 0x7e89,
- 0xe394: 0x7e8c,
- 0xe395: 0x7e92,
- 0xe396: 0x7e90,
- 0xe397: 0x7e93,
- 0xe398: 0x7e94,
- 0xe399: 0x7e96,
- 0xe39a: 0x7e8e,
- 0xe39b: 0x7e9b,
- 0xe39c: 0x7e9c,
- 0xe39d: 0x7f38,
- 0xe39e: 0x7f3a,
- 0xe39f: 0x7f45,
- 0xe3a0: 0x7f4c,
- 0xe3a1: 0x7f4d,
- 0xe3a2: 0x7f4e,
- 0xe3a3: 0x7f50,
- 0xe3a4: 0x7f51,
- 0xe3a5: 0x7f55,
- 0xe3a6: 0x7f54,
- 0xe3a7: 0x7f58,
- 0xe3a8: 0x7f5f,
- 0xe3a9: 0x7f60,
- 0xe3aa: 0x7f68,
- 0xe3ab: 0x7f69,
- 0xe3ac: 0x7f67,
- 0xe3ad: 0x7f78,
- 0xe3ae: 0x7f82,
- 0xe3af: 0x7f86,
- 0xe3b0: 0x7f83,
- 0xe3b1: 0x7f88,
- 0xe3b2: 0x7f87,
- 0xe3b3: 0x7f8c,
- 0xe3b4: 0x7f94,
- 0xe3b5: 0x7f9e,
- 0xe3b6: 0x7f9d,
- 0xe3b7: 0x7f9a,
- 0xe3b8: 0x7fa3,
- 0xe3b9: 0x7faf,
- 0xe3ba: 0x7fb2,
- 0xe3bb: 0x7fb9,
- 0xe3bc: 0x7fae,
- 0xe3bd: 0x7fb6,
- 0xe3be: 0x7fb8,
- 0xe3bf: 0x8b71,
- 0xe3c0: 0x7fc5,
- 0xe3c1: 0x7fc6,
- 0xe3c2: 0x7fca,
- 0xe3c3: 0x7fd5,
- 0xe3c4: 0x7fd4,
- 0xe3c5: 0x7fe1,
- 0xe3c6: 0x7fe6,
- 0xe3c7: 0x7fe9,
- 0xe3c8: 0x7ff3,
- 0xe3c9: 0x7ff9,
- 0xe3ca: 0x98dc,
- 0xe3cb: 0x8006,
- 0xe3cc: 0x8004,
- 0xe3cd: 0x800b,
- 0xe3ce: 0x8012,
- 0xe3cf: 0x8018,
- 0xe3d0: 0x8019,
- 0xe3d1: 0x801c,
- 0xe3d2: 0x8021,
- 0xe3d3: 0x8028,
- 0xe3d4: 0x803f,
- 0xe3d5: 0x803b,
- 0xe3d6: 0x804a,
- 0xe3d7: 0x8046,
- 0xe3d8: 0x8052,
- 0xe3d9: 0x8058,
- 0xe3da: 0x805a,
- 0xe3db: 0x805f,
- 0xe3dc: 0x8062,
- 0xe3dd: 0x8068,
- 0xe3de: 0x8073,
- 0xe3df: 0x8072,
- 0xe3e0: 0x8070,
- 0xe3e1: 0x8076,
- 0xe3e2: 0x8079,
- 0xe3e3: 0x807d,
- 0xe3e4: 0x807f,
- 0xe3e5: 0x8084,
- 0xe3e6: 0x8086,
- 0xe3e7: 0x8085,
- 0xe3e8: 0x809b,
- 0xe3e9: 0x8093,
- 0xe3ea: 0x809a,
- 0xe3eb: 0x80ad,
- 0xe3ec: 0x5190,
- 0xe3ed: 0x80ac,
- 0xe3ee: 0x80db,
- 0xe3ef: 0x80e5,
- 0xe3f0: 0x80d9,
- 0xe3f1: 0x80dd,
- 0xe3f2: 0x80c4,
- 0xe3f3: 0x80da,
- 0xe3f4: 0x80d6,
- 0xe3f5: 0x8109,
- 0xe3f6: 0x80ef,
- 0xe3f7: 0x80f1,
- 0xe3f8: 0x811b,
- 0xe3f9: 0x8129,
- 0xe3fa: 0x8123,
- 0xe3fb: 0x812f,
- 0xe3fc: 0x814b,
- 0xe440: 0x968b,
- 0xe441: 0x8146,
- 0xe442: 0x813e,
- 0xe443: 0x8153,
- 0xe444: 0x8151,
- 0xe445: 0x80fc,
- 0xe446: 0x8171,
- 0xe447: 0x816e,
- 0xe448: 0x8165,
- 0xe449: 0x8166,
- 0xe44a: 0x8174,
- 0xe44b: 0x8183,
- 0xe44c: 0x8188,
- 0xe44d: 0x818a,
- 0xe44e: 0x8180,
- 0xe44f: 0x8182,
- 0xe450: 0x81a0,
- 0xe451: 0x8195,
- 0xe452: 0x81a4,
- 0xe453: 0x81a3,
- 0xe454: 0x815f,
- 0xe455: 0x8193,
- 0xe456: 0x81a9,
- 0xe457: 0x81b0,
- 0xe458: 0x81b5,
- 0xe459: 0x81be,
- 0xe45a: 0x81b8,
- 0xe45b: 0x81bd,
- 0xe45c: 0x81c0,
- 0xe45d: 0x81c2,
- 0xe45e: 0x81ba,
- 0xe45f: 0x81c9,
- 0xe460: 0x81cd,
- 0xe461: 0x81d1,
- 0xe462: 0x81d9,
- 0xe463: 0x81d8,
- 0xe464: 0x81c8,
- 0xe465: 0x81da,
- 0xe466: 0x81df,
- 0xe467: 0x81e0,
- 0xe468: 0x81e7,
- 0xe469: 0x81fa,
- 0xe46a: 0x81fb,
- 0xe46b: 0x81fe,
- 0xe46c: 0x8201,
- 0xe46d: 0x8202,
- 0xe46e: 0x8205,
- 0xe46f: 0x8207,
- 0xe470: 0x820a,
- 0xe471: 0x820d,
- 0xe472: 0x8210,
- 0xe473: 0x8216,
- 0xe474: 0x8229,
- 0xe475: 0x822b,
- 0xe476: 0x8238,
- 0xe477: 0x8233,
- 0xe478: 0x8240,
- 0xe479: 0x8259,
- 0xe47a: 0x8258,
- 0xe47b: 0x825d,
- 0xe47c: 0x825a,
- 0xe47d: 0x825f,
- 0xe47e: 0x8264,
- 0xe480: 0x8262,
- 0xe481: 0x8268,
- 0xe482: 0x826a,
- 0xe483: 0x826b,
- 0xe484: 0x822e,
- 0xe485: 0x8271,
- 0xe486: 0x8277,
- 0xe487: 0x8278,
- 0xe488: 0x827e,
- 0xe489: 0x828d,
- 0xe48a: 0x8292,
- 0xe48b: 0x82ab,
- 0xe48c: 0x829f,
- 0xe48d: 0x82bb,
- 0xe48e: 0x82ac,
- 0xe48f: 0x82e1,
- 0xe490: 0x82e3,
- 0xe491: 0x82df,
- 0xe492: 0x82d2,
- 0xe493: 0x82f4,
- 0xe494: 0x82f3,
- 0xe495: 0x82fa,
- 0xe496: 0x8393,
- 0xe497: 0x8303,
- 0xe498: 0x82fb,
- 0xe499: 0x82f9,
- 0xe49a: 0x82de,
- 0xe49b: 0x8306,
- 0xe49c: 0x82dc,
- 0xe49d: 0x8309,
- 0xe49e: 0x82d9,
- 0xe49f: 0x8335,
- 0xe4a0: 0x8334,
- 0xe4a1: 0x8316,
- 0xe4a2: 0x8332,
- 0xe4a3: 0x8331,
- 0xe4a4: 0x8340,
- 0xe4a5: 0x8339,
- 0xe4a6: 0x8350,
- 0xe4a7: 0x8345,
- 0xe4a8: 0x832f,
- 0xe4a9: 0x832b,
- 0xe4aa: 0x8317,
- 0xe4ab: 0x8318,
- 0xe4ac: 0x8385,
- 0xe4ad: 0x839a,
- 0xe4ae: 0x83aa,
- 0xe4af: 0x839f,
- 0xe4b0: 0x83a2,
- 0xe4b1: 0x8396,
- 0xe4b2: 0x8323,
- 0xe4b3: 0x838e,
- 0xe4b4: 0x8387,
- 0xe4b5: 0x838a,
- 0xe4b6: 0x837c,
- 0xe4b7: 0x83b5,
- 0xe4b8: 0x8373,
- 0xe4b9: 0x8375,
- 0xe4ba: 0x83a0,
- 0xe4bb: 0x8389,
- 0xe4bc: 0x83a8,
- 0xe4bd: 0x83f4,
- 0xe4be: 0x8413,
- 0xe4bf: 0x83eb,
- 0xe4c0: 0x83ce,
- 0xe4c1: 0x83fd,
- 0xe4c2: 0x8403,
- 0xe4c3: 0x83d8,
- 0xe4c4: 0x840b,
- 0xe4c5: 0x83c1,
- 0xe4c6: 0x83f7,
- 0xe4c7: 0x8407,
- 0xe4c8: 0x83e0,
- 0xe4c9: 0x83f2,
- 0xe4ca: 0x840d,
- 0xe4cb: 0x8422,
- 0xe4cc: 0x8420,
- 0xe4cd: 0x83bd,
- 0xe4ce: 0x8438,
- 0xe4cf: 0x8506,
- 0xe4d0: 0x83fb,
- 0xe4d1: 0x846d,
- 0xe4d2: 0x842a,
- 0xe4d3: 0x843c,
- 0xe4d4: 0x855a,
- 0xe4d5: 0x8484,
- 0xe4d6: 0x8477,
- 0xe4d7: 0x846b,
- 0xe4d8: 0x84ad,
- 0xe4d9: 0x846e,
- 0xe4da: 0x8482,
- 0xe4db: 0x8469,
- 0xe4dc: 0x8446,
- 0xe4dd: 0x842c,
- 0xe4de: 0x846f,
- 0xe4df: 0x8479,
- 0xe4e0: 0x8435,
- 0xe4e1: 0x84ca,
- 0xe4e2: 0x8462,
- 0xe4e3: 0x84b9,
- 0xe4e4: 0x84bf,
- 0xe4e5: 0x849f,
- 0xe4e6: 0x84d9,
- 0xe4e7: 0x84cd,
- 0xe4e8: 0x84bb,
- 0xe4e9: 0x84da,
- 0xe4ea: 0x84d0,
- 0xe4eb: 0x84c1,
- 0xe4ec: 0x84c6,
- 0xe4ed: 0x84d6,
- 0xe4ee: 0x84a1,
- 0xe4ef: 0x8521,
- 0xe4f0: 0x84ff,
- 0xe4f1: 0x84f4,
- 0xe4f2: 0x8517,
- 0xe4f3: 0x8518,
- 0xe4f4: 0x852c,
- 0xe4f5: 0x851f,
- 0xe4f6: 0x8515,
- 0xe4f7: 0x8514,
- 0xe4f8: 0x84fc,
- 0xe4f9: 0x8540,
- 0xe4fa: 0x8563,
- 0xe4fb: 0x8558,
- 0xe4fc: 0x8548,
- 0xe540: 0x8541,
- 0xe541: 0x8602,
- 0xe542: 0x854b,
- 0xe543: 0x8555,
- 0xe544: 0x8580,
- 0xe545: 0x85a4,
- 0xe546: 0x8588,
- 0xe547: 0x8591,
- 0xe548: 0x858a,
- 0xe549: 0x85a8,
- 0xe54a: 0x856d,
- 0xe54b: 0x8594,
- 0xe54c: 0x859b,
- 0xe54d: 0x85ea,
- 0xe54e: 0x8587,
- 0xe54f: 0x859c,
- 0xe550: 0x8577,
- 0xe551: 0x857e,
- 0xe552: 0x8590,
- 0xe553: 0x85c9,
- 0xe554: 0x85ba,
- 0xe555: 0x85cf,
- 0xe556: 0x85b9,
- 0xe557: 0x85d0,
- 0xe558: 0x85d5,
- 0xe559: 0x85dd,
- 0xe55a: 0x85e5,
- 0xe55b: 0x85dc,
- 0xe55c: 0x85f9,
- 0xe55d: 0x860a,
- 0xe55e: 0x8613,
- 0xe55f: 0x860b,
- 0xe560: 0x85fe,
- 0xe561: 0x85fa,
- 0xe562: 0x8606,
- 0xe563: 0x8622,
- 0xe564: 0x861a,
- 0xe565: 0x8630,
- 0xe566: 0x863f,
- 0xe567: 0x864d,
- 0xe568: 0x4e55,
- 0xe569: 0x8654,
- 0xe56a: 0x865f,
- 0xe56b: 0x8667,
- 0xe56c: 0x8671,
- 0xe56d: 0x8693,
- 0xe56e: 0x86a3,
- 0xe56f: 0x86a9,
- 0xe570: 0x86aa,
- 0xe571: 0x868b,
- 0xe572: 0x868c,
- 0xe573: 0x86b6,
- 0xe574: 0x86af,
- 0xe575: 0x86c4,
- 0xe576: 0x86c6,
- 0xe577: 0x86b0,
- 0xe578: 0x86c9,
- 0xe579: 0x8823,
- 0xe57a: 0x86ab,
- 0xe57b: 0x86d4,
- 0xe57c: 0x86de,
- 0xe57d: 0x86e9,
- 0xe57e: 0x86ec,
- 0xe580: 0x86df,
- 0xe581: 0x86db,
- 0xe582: 0x86ef,
- 0xe583: 0x8712,
- 0xe584: 0x8706,
- 0xe585: 0x8708,
- 0xe586: 0x8700,
- 0xe587: 0x8703,
- 0xe588: 0x86fb,
- 0xe589: 0x8711,
- 0xe58a: 0x8709,
- 0xe58b: 0x870d,
- 0xe58c: 0x86f9,
- 0xe58d: 0x870a,
- 0xe58e: 0x8734,
- 0xe58f: 0x873f,
- 0xe590: 0x8737,
- 0xe591: 0x873b,
- 0xe592: 0x8725,
- 0xe593: 0x8729,
- 0xe594: 0x871a,
- 0xe595: 0x8760,
- 0xe596: 0x875f,
- 0xe597: 0x8778,
- 0xe598: 0x874c,
- 0xe599: 0x874e,
- 0xe59a: 0x8774,
- 0xe59b: 0x8757,
- 0xe59c: 0x8768,
- 0xe59d: 0x876e,
- 0xe59e: 0x8759,
- 0xe59f: 0x8753,
- 0xe5a0: 0x8763,
- 0xe5a1: 0x876a,
- 0xe5a2: 0x8805,
- 0xe5a3: 0x87a2,
- 0xe5a4: 0x879f,
- 0xe5a5: 0x8782,
- 0xe5a6: 0x87af,
- 0xe5a7: 0x87cb,
- 0xe5a8: 0x87bd,
- 0xe5a9: 0x87c0,
- 0xe5aa: 0x87d0,
- 0xe5ab: 0x96d6,
- 0xe5ac: 0x87ab,
- 0xe5ad: 0x87c4,
- 0xe5ae: 0x87b3,
- 0xe5af: 0x87c7,
- 0xe5b0: 0x87c6,
- 0xe5b1: 0x87bb,
- 0xe5b2: 0x87ef,
- 0xe5b3: 0x87f2,
- 0xe5b4: 0x87e0,
- 0xe5b5: 0x880f,
- 0xe5b6: 0x880d,
- 0xe5b7: 0x87fe,
- 0xe5b8: 0x87f6,
- 0xe5b9: 0x87f7,
- 0xe5ba: 0x880e,
- 0xe5bb: 0x87d2,
- 0xe5bc: 0x8811,
- 0xe5bd: 0x8816,
- 0xe5be: 0x8815,
- 0xe5bf: 0x8822,
- 0xe5c0: 0x8821,
- 0xe5c1: 0x8831,
- 0xe5c2: 0x8836,
- 0xe5c3: 0x8839,
- 0xe5c4: 0x8827,
- 0xe5c5: 0x883b,
- 0xe5c6: 0x8844,
- 0xe5c7: 0x8842,
- 0xe5c8: 0x8852,
- 0xe5c9: 0x8859,
- 0xe5ca: 0x885e,
- 0xe5cb: 0x8862,
- 0xe5cc: 0x886b,
- 0xe5cd: 0x8881,
- 0xe5ce: 0x887e,
- 0xe5cf: 0x889e,
- 0xe5d0: 0x8875,
- 0xe5d1: 0x887d,
- 0xe5d2: 0x88b5,
- 0xe5d3: 0x8872,
- 0xe5d4: 0x8882,
- 0xe5d5: 0x8897,
- 0xe5d6: 0x8892,
- 0xe5d7: 0x88ae,
- 0xe5d8: 0x8899,
- 0xe5d9: 0x88a2,
- 0xe5da: 0x888d,
- 0xe5db: 0x88a4,
- 0xe5dc: 0x88b0,
- 0xe5dd: 0x88bf,
- 0xe5de: 0x88b1,
- 0xe5df: 0x88c3,
- 0xe5e0: 0x88c4,
- 0xe5e1: 0x88d4,
- 0xe5e2: 0x88d8,
- 0xe5e3: 0x88d9,
- 0xe5e4: 0x88dd,
- 0xe5e5: 0x88f9,
- 0xe5e6: 0x8902,
- 0xe5e7: 0x88fc,
- 0xe5e8: 0x88f4,
- 0xe5e9: 0x88e8,
- 0xe5ea: 0x88f2,
- 0xe5eb: 0x8904,
- 0xe5ec: 0x890c,
- 0xe5ed: 0x890a,
- 0xe5ee: 0x8913,
- 0xe5ef: 0x8943,
- 0xe5f0: 0x891e,
- 0xe5f1: 0x8925,
- 0xe5f2: 0x892a,
- 0xe5f3: 0x892b,
- 0xe5f4: 0x8941,
- 0xe5f5: 0x8944,
- 0xe5f6: 0x893b,
- 0xe5f7: 0x8936,
- 0xe5f8: 0x8938,
- 0xe5f9: 0x894c,
- 0xe5fa: 0x891d,
- 0xe5fb: 0x8960,
- 0xe5fc: 0x895e,
- 0xe640: 0x8966,
- 0xe641: 0x8964,
- 0xe642: 0x896d,
- 0xe643: 0x896a,
- 0xe644: 0x896f,
- 0xe645: 0x8974,
- 0xe646: 0x8977,
- 0xe647: 0x897e,
- 0xe648: 0x8983,
- 0xe649: 0x8988,
- 0xe64a: 0x898a,
- 0xe64b: 0x8993,
- 0xe64c: 0x8998,
- 0xe64d: 0x89a1,
- 0xe64e: 0x89a9,
- 0xe64f: 0x89a6,
- 0xe650: 0x89ac,
- 0xe651: 0x89af,
- 0xe652: 0x89b2,
- 0xe653: 0x89ba,
- 0xe654: 0x89bd,
- 0xe655: 0x89bf,
- 0xe656: 0x89c0,
- 0xe657: 0x89da,
- 0xe658: 0x89dc,
- 0xe659: 0x89dd,
- 0xe65a: 0x89e7,
- 0xe65b: 0x89f4,
- 0xe65c: 0x89f8,
- 0xe65d: 0x8a03,
- 0xe65e: 0x8a16,
- 0xe65f: 0x8a10,
- 0xe660: 0x8a0c,
- 0xe661: 0x8a1b,
- 0xe662: 0x8a1d,
- 0xe663: 0x8a25,
- 0xe664: 0x8a36,
- 0xe665: 0x8a41,
- 0xe666: 0x8a5b,
- 0xe667: 0x8a52,
- 0xe668: 0x8a46,
- 0xe669: 0x8a48,
- 0xe66a: 0x8a7c,
- 0xe66b: 0x8a6d,
- 0xe66c: 0x8a6c,
- 0xe66d: 0x8a62,
- 0xe66e: 0x8a85,
- 0xe66f: 0x8a82,
- 0xe670: 0x8a84,
- 0xe671: 0x8aa8,
- 0xe672: 0x8aa1,
- 0xe673: 0x8a91,
- 0xe674: 0x8aa5,
- 0xe675: 0x8aa6,
- 0xe676: 0x8a9a,
- 0xe677: 0x8aa3,
- 0xe678: 0x8ac4,
- 0xe679: 0x8acd,
- 0xe67a: 0x8ac2,
- 0xe67b: 0x8ada,
- 0xe67c: 0x8aeb,
- 0xe67d: 0x8af3,
- 0xe67e: 0x8ae7,
- 0xe680: 0x8ae4,
- 0xe681: 0x8af1,
- 0xe682: 0x8b14,
- 0xe683: 0x8ae0,
- 0xe684: 0x8ae2,
- 0xe685: 0x8af7,
- 0xe686: 0x8ade,
- 0xe687: 0x8adb,
- 0xe688: 0x8b0c,
- 0xe689: 0x8b07,
- 0xe68a: 0x8b1a,
- 0xe68b: 0x8ae1,
- 0xe68c: 0x8b16,
- 0xe68d: 0x8b10,
- 0xe68e: 0x8b17,
- 0xe68f: 0x8b20,
- 0xe690: 0x8b33,
- 0xe691: 0x97ab,
- 0xe692: 0x8b26,
- 0xe693: 0x8b2b,
- 0xe694: 0x8b3e,
- 0xe695: 0x8b28,
- 0xe696: 0x8b41,
- 0xe697: 0x8b4c,
- 0xe698: 0x8b4f,
- 0xe699: 0x8b4e,
- 0xe69a: 0x8b49,
- 0xe69b: 0x8b56,
- 0xe69c: 0x8b5b,
- 0xe69d: 0x8b5a,
- 0xe69e: 0x8b6b,
- 0xe69f: 0x8b5f,
- 0xe6a0: 0x8b6c,
- 0xe6a1: 0x8b6f,
- 0xe6a2: 0x8b74,
- 0xe6a3: 0x8b7d,
- 0xe6a4: 0x8b80,
- 0xe6a5: 0x8b8c,
- 0xe6a6: 0x8b8e,
- 0xe6a7: 0x8b92,
- 0xe6a8: 0x8b93,
- 0xe6a9: 0x8b96,
- 0xe6aa: 0x8b99,
- 0xe6ab: 0x8b9a,
- 0xe6ac: 0x8c3a,
- 0xe6ad: 0x8c41,
- 0xe6ae: 0x8c3f,
- 0xe6af: 0x8c48,
- 0xe6b0: 0x8c4c,
- 0xe6b1: 0x8c4e,
- 0xe6b2: 0x8c50,
- 0xe6b3: 0x8c55,
- 0xe6b4: 0x8c62,
- 0xe6b5: 0x8c6c,
- 0xe6b6: 0x8c78,
- 0xe6b7: 0x8c7a,
- 0xe6b8: 0x8c82,
- 0xe6b9: 0x8c89,
- 0xe6ba: 0x8c85,
- 0xe6bb: 0x8c8a,
- 0xe6bc: 0x8c8d,
- 0xe6bd: 0x8c8e,
- 0xe6be: 0x8c94,
- 0xe6bf: 0x8c7c,
- 0xe6c0: 0x8c98,
- 0xe6c1: 0x621d,
- 0xe6c2: 0x8cad,
- 0xe6c3: 0x8caa,
- 0xe6c4: 0x8cbd,
- 0xe6c5: 0x8cb2,
- 0xe6c6: 0x8cb3,
- 0xe6c7: 0x8cae,
- 0xe6c8: 0x8cb6,
- 0xe6c9: 0x8cc8,
- 0xe6ca: 0x8cc1,
- 0xe6cb: 0x8ce4,
- 0xe6cc: 0x8ce3,
- 0xe6cd: 0x8cda,
- 0xe6ce: 0x8cfd,
- 0xe6cf: 0x8cfa,
- 0xe6d0: 0x8cfb,
- 0xe6d1: 0x8d04,
- 0xe6d2: 0x8d05,
- 0xe6d3: 0x8d0a,
- 0xe6d4: 0x8d07,
- 0xe6d5: 0x8d0f,
- 0xe6d6: 0x8d0d,
- 0xe6d7: 0x8d10,
- 0xe6d8: 0x9f4e,
- 0xe6d9: 0x8d13,
- 0xe6da: 0x8ccd,
- 0xe6db: 0x8d14,
- 0xe6dc: 0x8d16,
- 0xe6dd: 0x8d67,
- 0xe6de: 0x8d6d,
- 0xe6df: 0x8d71,
- 0xe6e0: 0x8d73,
- 0xe6e1: 0x8d81,
- 0xe6e2: 0x8d99,
- 0xe6e3: 0x8dc2,
- 0xe6e4: 0x8dbe,
- 0xe6e5: 0x8dba,
- 0xe6e6: 0x8dcf,
- 0xe6e7: 0x8dda,
- 0xe6e8: 0x8dd6,
- 0xe6e9: 0x8dcc,
- 0xe6ea: 0x8ddb,
- 0xe6eb: 0x8dcb,
- 0xe6ec: 0x8dea,
- 0xe6ed: 0x8deb,
- 0xe6ee: 0x8ddf,
- 0xe6ef: 0x8de3,
- 0xe6f0: 0x8dfc,
- 0xe6f1: 0x8e08,
- 0xe6f2: 0x8e09,
- 0xe6f3: 0x8dff,
- 0xe6f4: 0x8e1d,
- 0xe6f5: 0x8e1e,
- 0xe6f6: 0x8e10,
- 0xe6f7: 0x8e1f,
- 0xe6f8: 0x8e42,
- 0xe6f9: 0x8e35,
- 0xe6fa: 0x8e30,
- 0xe6fb: 0x8e34,
- 0xe6fc: 0x8e4a,
- 0xe740: 0x8e47,
- 0xe741: 0x8e49,
- 0xe742: 0x8e4c,
- 0xe743: 0x8e50,
- 0xe744: 0x8e48,
- 0xe745: 0x8e59,
- 0xe746: 0x8e64,
- 0xe747: 0x8e60,
- 0xe748: 0x8e2a,
- 0xe749: 0x8e63,
- 0xe74a: 0x8e55,
- 0xe74b: 0x8e76,
- 0xe74c: 0x8e72,
- 0xe74d: 0x8e7c,
- 0xe74e: 0x8e81,
- 0xe74f: 0x8e87,
- 0xe750: 0x8e85,
- 0xe751: 0x8e84,
- 0xe752: 0x8e8b,
- 0xe753: 0x8e8a,
- 0xe754: 0x8e93,
- 0xe755: 0x8e91,
- 0xe756: 0x8e94,
- 0xe757: 0x8e99,
- 0xe758: 0x8eaa,
- 0xe759: 0x8ea1,
- 0xe75a: 0x8eac,
- 0xe75b: 0x8eb0,
- 0xe75c: 0x8ec6,
- 0xe75d: 0x8eb1,
- 0xe75e: 0x8ebe,
- 0xe75f: 0x8ec5,
- 0xe760: 0x8ec8,
- 0xe761: 0x8ecb,
- 0xe762: 0x8edb,
- 0xe763: 0x8ee3,
- 0xe764: 0x8efc,
- 0xe765: 0x8efb,
- 0xe766: 0x8eeb,
- 0xe767: 0x8efe,
- 0xe768: 0x8f0a,
- 0xe769: 0x8f05,
- 0xe76a: 0x8f15,
- 0xe76b: 0x8f12,
- 0xe76c: 0x8f19,
- 0xe76d: 0x8f13,
- 0xe76e: 0x8f1c,
- 0xe76f: 0x8f1f,
- 0xe770: 0x8f1b,
- 0xe771: 0x8f0c,
- 0xe772: 0x8f26,
- 0xe773: 0x8f33,
- 0xe774: 0x8f3b,
- 0xe775: 0x8f39,
- 0xe776: 0x8f45,
- 0xe777: 0x8f42,
- 0xe778: 0x8f3e,
- 0xe779: 0x8f4c,
- 0xe77a: 0x8f49,
- 0xe77b: 0x8f46,
- 0xe77c: 0x8f4e,
- 0xe77d: 0x8f57,
- 0xe77e: 0x8f5c,
- 0xe780: 0x8f62,
- 0xe781: 0x8f63,
- 0xe782: 0x8f64,
- 0xe783: 0x8f9c,
- 0xe784: 0x8f9f,
- 0xe785: 0x8fa3,
- 0xe786: 0x8fad,
- 0xe787: 0x8faf,
- 0xe788: 0x8fb7,
- 0xe789: 0x8fda,
- 0xe78a: 0x8fe5,
- 0xe78b: 0x8fe2,
- 0xe78c: 0x8fea,
- 0xe78d: 0x8fef,
- 0xe78e: 0x9087,
- 0xe78f: 0x8ff4,
- 0xe790: 0x9005,
- 0xe791: 0x8ff9,
- 0xe792: 0x8ffa,
- 0xe793: 0x9011,
- 0xe794: 0x9015,
- 0xe795: 0x9021,
- 0xe796: 0x900d,
- 0xe797: 0x901e,
- 0xe798: 0x9016,
- 0xe799: 0x900b,
- 0xe79a: 0x9027,
- 0xe79b: 0x9036,
- 0xe79c: 0x9035,
- 0xe79d: 0x9039,
- 0xe79e: 0x8ff8,
- 0xe79f: 0x904f,
- 0xe7a0: 0x9050,
- 0xe7a1: 0x9051,
- 0xe7a2: 0x9052,
- 0xe7a3: 0x900e,
- 0xe7a4: 0x9049,
- 0xe7a5: 0x903e,
- 0xe7a6: 0x9056,
- 0xe7a7: 0x9058,
- 0xe7a8: 0x905e,
- 0xe7a9: 0x9068,
- 0xe7aa: 0x906f,
- 0xe7ab: 0x9076,
- 0xe7ac: 0x96a8,
- 0xe7ad: 0x9072,
- 0xe7ae: 0x9082,
- 0xe7af: 0x907d,
- 0xe7b0: 0x9081,
- 0xe7b1: 0x9080,
- 0xe7b2: 0x908a,
- 0xe7b3: 0x9089,
- 0xe7b4: 0x908f,
- 0xe7b5: 0x90a8,
- 0xe7b6: 0x90af,
- 0xe7b7: 0x90b1,
- 0xe7b8: 0x90b5,
- 0xe7b9: 0x90e2,
- 0xe7ba: 0x90e4,
- 0xe7bb: 0x6248,
- 0xe7bc: 0x90db,
- 0xe7bd: 0x9102,
- 0xe7be: 0x9112,
- 0xe7bf: 0x9119,
- 0xe7c0: 0x9132,
- 0xe7c1: 0x9130,
- 0xe7c2: 0x914a,
- 0xe7c3: 0x9156,
- 0xe7c4: 0x9158,
- 0xe7c5: 0x9163,
- 0xe7c6: 0x9165,
- 0xe7c7: 0x9169,
- 0xe7c8: 0x9173,
- 0xe7c9: 0x9172,
- 0xe7ca: 0x918b,
- 0xe7cb: 0x9189,
- 0xe7cc: 0x9182,
- 0xe7cd: 0x91a2,
- 0xe7ce: 0x91ab,
- 0xe7cf: 0x91af,
- 0xe7d0: 0x91aa,
- 0xe7d1: 0x91b5,
- 0xe7d2: 0x91b4,
- 0xe7d3: 0x91ba,
- 0xe7d4: 0x91c0,
- 0xe7d5: 0x91c1,
- 0xe7d6: 0x91c9,
- 0xe7d7: 0x91cb,
- 0xe7d8: 0x91d0,
- 0xe7d9: 0x91d6,
- 0xe7da: 0x91df,
- 0xe7db: 0x91e1,
- 0xe7dc: 0x91db,
- 0xe7dd: 0x91fc,
- 0xe7de: 0x91f5,
- 0xe7df: 0x91f6,
- 0xe7e0: 0x921e,
- 0xe7e1: 0x91ff,
- 0xe7e2: 0x9214,
- 0xe7e3: 0x922c,
- 0xe7e4: 0x9215,
- 0xe7e5: 0x9211,
- 0xe7e6: 0x925e,
- 0xe7e7: 0x9257,
- 0xe7e8: 0x9245,
- 0xe7e9: 0x9249,
- 0xe7ea: 0x9264,
- 0xe7eb: 0x9248,
- 0xe7ec: 0x9295,
- 0xe7ed: 0x923f,
- 0xe7ee: 0x924b,
- 0xe7ef: 0x9250,
- 0xe7f0: 0x929c,
- 0xe7f1: 0x9296,
- 0xe7f2: 0x9293,
- 0xe7f3: 0x929b,
- 0xe7f4: 0x925a,
- 0xe7f5: 0x92cf,
- 0xe7f6: 0x92b9,
- 0xe7f7: 0x92b7,
- 0xe7f8: 0x92e9,
- 0xe7f9: 0x930f,
- 0xe7fa: 0x92fa,
- 0xe7fb: 0x9344,
- 0xe7fc: 0x932e,
- 0xe840: 0x9319,
- 0xe841: 0x9322,
- 0xe842: 0x931a,
- 0xe843: 0x9323,
- 0xe844: 0x933a,
- 0xe845: 0x9335,
- 0xe846: 0x933b,
- 0xe847: 0x935c,
- 0xe848: 0x9360,
- 0xe849: 0x937c,
- 0xe84a: 0x936e,
- 0xe84b: 0x9356,
- 0xe84c: 0x93b0,
- 0xe84d: 0x93ac,
- 0xe84e: 0x93ad,
- 0xe84f: 0x9394,
- 0xe850: 0x93b9,
- 0xe851: 0x93d6,
- 0xe852: 0x93d7,
- 0xe853: 0x93e8,
- 0xe854: 0x93e5,
- 0xe855: 0x93d8,
- 0xe856: 0x93c3,
- 0xe857: 0x93dd,
- 0xe858: 0x93d0,
- 0xe859: 0x93c8,
- 0xe85a: 0x93e4,
- 0xe85b: 0x941a,
- 0xe85c: 0x9414,
- 0xe85d: 0x9413,
- 0xe85e: 0x9403,
- 0xe85f: 0x9407,
- 0xe860: 0x9410,
- 0xe861: 0x9436,
- 0xe862: 0x942b,
- 0xe863: 0x9435,
- 0xe864: 0x9421,
- 0xe865: 0x943a,
- 0xe866: 0x9441,
- 0xe867: 0x9452,
- 0xe868: 0x9444,
- 0xe869: 0x945b,
- 0xe86a: 0x9460,
- 0xe86b: 0x9462,
- 0xe86c: 0x945e,
- 0xe86d: 0x946a,
- 0xe86e: 0x9229,
- 0xe86f: 0x9470,
- 0xe870: 0x9475,
- 0xe871: 0x9477,
- 0xe872: 0x947d,
- 0xe873: 0x945a,
- 0xe874: 0x947c,
- 0xe875: 0x947e,
- 0xe876: 0x9481,
- 0xe877: 0x947f,
- 0xe878: 0x9582,
- 0xe879: 0x9587,
- 0xe87a: 0x958a,
- 0xe87b: 0x9594,
- 0xe87c: 0x9596,
- 0xe87d: 0x9598,
- 0xe87e: 0x9599,
- 0xe880: 0x95a0,
- 0xe881: 0x95a8,
- 0xe882: 0x95a7,
- 0xe883: 0x95ad,
- 0xe884: 0x95bc,
- 0xe885: 0x95bb,
- 0xe886: 0x95b9,
- 0xe887: 0x95be,
- 0xe888: 0x95ca,
- 0xe889: 0x6ff6,
- 0xe88a: 0x95c3,
- 0xe88b: 0x95cd,
- 0xe88c: 0x95cc,
- 0xe88d: 0x95d5,
- 0xe88e: 0x95d4,
- 0xe88f: 0x95d6,
- 0xe890: 0x95dc,
- 0xe891: 0x95e1,
- 0xe892: 0x95e5,
- 0xe893: 0x95e2,
- 0xe894: 0x9621,
- 0xe895: 0x9628,
- 0xe896: 0x962e,
- 0xe897: 0x962f,
- 0xe898: 0x9642,
- 0xe899: 0x964c,
- 0xe89a: 0x964f,
- 0xe89b: 0x964b,
- 0xe89c: 0x9677,
- 0xe89d: 0x965c,
- 0xe89e: 0x965e,
- 0xe89f: 0x965d,
- 0xe8a0: 0x965f,
- 0xe8a1: 0x9666,
- 0xe8a2: 0x9672,
- 0xe8a3: 0x966c,
- 0xe8a4: 0x968d,
- 0xe8a5: 0x9698,
- 0xe8a6: 0x9695,
- 0xe8a7: 0x9697,
- 0xe8a8: 0x96aa,
- 0xe8a9: 0x96a7,
- 0xe8aa: 0x96b1,
- 0xe8ab: 0x96b2,
- 0xe8ac: 0x96b0,
- 0xe8ad: 0x96b4,
- 0xe8ae: 0x96b6,
- 0xe8af: 0x96b8,
- 0xe8b0: 0x96b9,
- 0xe8b1: 0x96ce,
- 0xe8b2: 0x96cb,
- 0xe8b3: 0x96c9,
- 0xe8b4: 0x96cd,
- 0xe8b5: 0x894d,
- 0xe8b6: 0x96dc,
- 0xe8b7: 0x970d,
- 0xe8b8: 0x96d5,
- 0xe8b9: 0x96f9,
- 0xe8ba: 0x9704,
- 0xe8bb: 0x9706,
- 0xe8bc: 0x9708,
- 0xe8bd: 0x9713,
- 0xe8be: 0x970e,
- 0xe8bf: 0x9711,
- 0xe8c0: 0x970f,
- 0xe8c1: 0x9716,
- 0xe8c2: 0x9719,
- 0xe8c3: 0x9724,
- 0xe8c4: 0x972a,
- 0xe8c5: 0x9730,
- 0xe8c6: 0x9739,
- 0xe8c7: 0x973d,
- 0xe8c8: 0x973e,
- 0xe8c9: 0x9744,
- 0xe8ca: 0x9746,
- 0xe8cb: 0x9748,
- 0xe8cc: 0x9742,
- 0xe8cd: 0x9749,
- 0xe8ce: 0x975c,
- 0xe8cf: 0x9760,
- 0xe8d0: 0x9764,
- 0xe8d1: 0x9766,
- 0xe8d2: 0x9768,
- 0xe8d3: 0x52d2,
- 0xe8d4: 0x976b,
- 0xe8d5: 0x9771,
- 0xe8d6: 0x9779,
- 0xe8d7: 0x9785,
- 0xe8d8: 0x977c,
- 0xe8d9: 0x9781,
- 0xe8da: 0x977a,
- 0xe8db: 0x9786,
- 0xe8dc: 0x978b,
- 0xe8dd: 0x978f,
- 0xe8de: 0x9790,
- 0xe8df: 0x979c,
- 0xe8e0: 0x97a8,
- 0xe8e1: 0x97a6,
- 0xe8e2: 0x97a3,
- 0xe8e3: 0x97b3,
- 0xe8e4: 0x97b4,
- 0xe8e5: 0x97c3,
- 0xe8e6: 0x97c6,
- 0xe8e7: 0x97c8,
- 0xe8e8: 0x97cb,
- 0xe8e9: 0x97dc,
- 0xe8ea: 0x97ed,
- 0xe8eb: 0x9f4f,
- 0xe8ec: 0x97f2,
- 0xe8ed: 0x7adf,
- 0xe8ee: 0x97f6,
- 0xe8ef: 0x97f5,
- 0xe8f0: 0x980f,
- 0xe8f1: 0x980c,
- 0xe8f2: 0x9838,
- 0xe8f3: 0x9824,
- 0xe8f4: 0x9821,
- 0xe8f5: 0x9837,
- 0xe8f6: 0x983d,
- 0xe8f7: 0x9846,
- 0xe8f8: 0x984f,
- 0xe8f9: 0x984b,
- 0xe8fa: 0x986b,
- 0xe8fb: 0x986f,
- 0xe8fc: 0x9870,
- 0xe940: 0x9871,
- 0xe941: 0x9874,
- 0xe942: 0x9873,
- 0xe943: 0x98aa,
- 0xe944: 0x98af,
- 0xe945: 0x98b1,
- 0xe946: 0x98b6,
- 0xe947: 0x98c4,
- 0xe948: 0x98c3,
- 0xe949: 0x98c6,
- 0xe94a: 0x98e9,
- 0xe94b: 0x98eb,
- 0xe94c: 0x9903,
- 0xe94d: 0x9909,
- 0xe94e: 0x9912,
- 0xe94f: 0x9914,
- 0xe950: 0x9918,
- 0xe951: 0x9921,
- 0xe952: 0x991d,
- 0xe953: 0x991e,
- 0xe954: 0x9924,
- 0xe955: 0x9920,
- 0xe956: 0x992c,
- 0xe957: 0x992e,
- 0xe958: 0x993d,
- 0xe959: 0x993e,
- 0xe95a: 0x9942,
- 0xe95b: 0x9949,
- 0xe95c: 0x9945,
- 0xe95d: 0x9950,
- 0xe95e: 0x994b,
- 0xe95f: 0x9951,
- 0xe960: 0x9952,
- 0xe961: 0x994c,
- 0xe962: 0x9955,
- 0xe963: 0x9997,
- 0xe964: 0x9998,
- 0xe965: 0x99a5,
- 0xe966: 0x99ad,
- 0xe967: 0x99ae,
- 0xe968: 0x99bc,
- 0xe969: 0x99df,
- 0xe96a: 0x99db,
- 0xe96b: 0x99dd,
- 0xe96c: 0x99d8,
- 0xe96d: 0x99d1,
- 0xe96e: 0x99ed,
- 0xe96f: 0x99ee,
- 0xe970: 0x99f1,
- 0xe971: 0x99f2,
- 0xe972: 0x99fb,
- 0xe973: 0x99f8,
- 0xe974: 0x9a01,
- 0xe975: 0x9a0f,
- 0xe976: 0x9a05,
- 0xe977: 0x99e2,
- 0xe978: 0x9a19,
- 0xe979: 0x9a2b,
- 0xe97a: 0x9a37,
- 0xe97b: 0x9a45,
- 0xe97c: 0x9a42,
- 0xe97d: 0x9a40,
- 0xe97e: 0x9a43,
- 0xe980: 0x9a3e,
- 0xe981: 0x9a55,
- 0xe982: 0x9a4d,
- 0xe983: 0x9a5b,
- 0xe984: 0x9a57,
- 0xe985: 0x9a5f,
- 0xe986: 0x9a62,
- 0xe987: 0x9a65,
- 0xe988: 0x9a64,
- 0xe989: 0x9a69,
- 0xe98a: 0x9a6b,
- 0xe98b: 0x9a6a,
- 0xe98c: 0x9aad,
- 0xe98d: 0x9ab0,
- 0xe98e: 0x9abc,
- 0xe98f: 0x9ac0,
- 0xe990: 0x9acf,
- 0xe991: 0x9ad1,
- 0xe992: 0x9ad3,
- 0xe993: 0x9ad4,
- 0xe994: 0x9ade,
- 0xe995: 0x9adf,
- 0xe996: 0x9ae2,
- 0xe997: 0x9ae3,
- 0xe998: 0x9ae6,
- 0xe999: 0x9aef,
- 0xe99a: 0x9aeb,
- 0xe99b: 0x9aee,
- 0xe99c: 0x9af4,
- 0xe99d: 0x9af1,
- 0xe99e: 0x9af7,
- 0xe99f: 0x9afb,
- 0xe9a0: 0x9b06,
- 0xe9a1: 0x9b18,
- 0xe9a2: 0x9b1a,
- 0xe9a3: 0x9b1f,
- 0xe9a4: 0x9b22,
- 0xe9a5: 0x9b23,
- 0xe9a6: 0x9b25,
- 0xe9a7: 0x9b27,
- 0xe9a8: 0x9b28,
- 0xe9a9: 0x9b29,
- 0xe9aa: 0x9b2a,
- 0xe9ab: 0x9b2e,
- 0xe9ac: 0x9b2f,
- 0xe9ad: 0x9b32,
- 0xe9ae: 0x9b44,
- 0xe9af: 0x9b43,
- 0xe9b0: 0x9b4f,
- 0xe9b1: 0x9b4d,
- 0xe9b2: 0x9b4e,
- 0xe9b3: 0x9b51,
- 0xe9b4: 0x9b58,
- 0xe9b5: 0x9b74,
- 0xe9b6: 0x9b93,
- 0xe9b7: 0x9b83,
- 0xe9b8: 0x9b91,
- 0xe9b9: 0x9b96,
- 0xe9ba: 0x9b97,
- 0xe9bb: 0x9b9f,
- 0xe9bc: 0x9ba0,
- 0xe9bd: 0x9ba8,
- 0xe9be: 0x9bb4,
- 0xe9bf: 0x9bc0,
- 0xe9c0: 0x9bca,
- 0xe9c1: 0x9bb9,
- 0xe9c2: 0x9bc6,
- 0xe9c3: 0x9bcf,
- 0xe9c4: 0x9bd1,
- 0xe9c5: 0x9bd2,
- 0xe9c6: 0x9be3,
- 0xe9c7: 0x9be2,
- 0xe9c8: 0x9be4,
- 0xe9c9: 0x9bd4,
- 0xe9ca: 0x9be1,
- 0xe9cb: 0x9c3a,
- 0xe9cc: 0x9bf2,
- 0xe9cd: 0x9bf1,
- 0xe9ce: 0x9bf0,
- 0xe9cf: 0x9c15,
- 0xe9d0: 0x9c14,
- 0xe9d1: 0x9c09,
- 0xe9d2: 0x9c13,
- 0xe9d3: 0x9c0c,
- 0xe9d4: 0x9c06,
- 0xe9d5: 0x9c08,
- 0xe9d6: 0x9c12,
- 0xe9d7: 0x9c0a,
- 0xe9d8: 0x9c04,
- 0xe9d9: 0x9c2e,
- 0xe9da: 0x9c1b,
- 0xe9db: 0x9c25,
- 0xe9dc: 0x9c24,
- 0xe9dd: 0x9c21,
- 0xe9de: 0x9c30,
- 0xe9df: 0x9c47,
- 0xe9e0: 0x9c32,
- 0xe9e1: 0x9c46,
- 0xe9e2: 0x9c3e,
- 0xe9e3: 0x9c5a,
- 0xe9e4: 0x9c60,
- 0xe9e5: 0x9c67,
- 0xe9e6: 0x9c76,
- 0xe9e7: 0x9c78,
- 0xe9e8: 0x9ce7,
- 0xe9e9: 0x9cec,
- 0xe9ea: 0x9cf0,
- 0xe9eb: 0x9d09,
- 0xe9ec: 0x9d08,
- 0xe9ed: 0x9ceb,
- 0xe9ee: 0x9d03,
- 0xe9ef: 0x9d06,
- 0xe9f0: 0x9d2a,
- 0xe9f1: 0x9d26,
- 0xe9f2: 0x9daf,
- 0xe9f3: 0x9d23,
- 0xe9f4: 0x9d1f,
- 0xe9f5: 0x9d44,
- 0xe9f6: 0x9d15,
- 0xe9f7: 0x9d12,
- 0xe9f8: 0x9d41,
- 0xe9f9: 0x9d3f,
- 0xe9fa: 0x9d3e,
- 0xe9fb: 0x9d46,
- 0xe9fc: 0x9d48,
- 0xea40: 0x9d5d,
- 0xea41: 0x9d5e,
- 0xea42: 0x9d64,
- 0xea43: 0x9d51,
- 0xea44: 0x9d50,
- 0xea45: 0x9d59,
- 0xea46: 0x9d72,
- 0xea47: 0x9d89,
- 0xea48: 0x9d87,
- 0xea49: 0x9dab,
- 0xea4a: 0x9d6f,
- 0xea4b: 0x9d7a,
- 0xea4c: 0x9d9a,
- 0xea4d: 0x9da4,
- 0xea4e: 0x9da9,
- 0xea4f: 0x9db2,
- 0xea50: 0x9dc4,
- 0xea51: 0x9dc1,
- 0xea52: 0x9dbb,
- 0xea53: 0x9db8,
- 0xea54: 0x9dba,
- 0xea55: 0x9dc6,
- 0xea56: 0x9dcf,
- 0xea57: 0x9dc2,
- 0xea58: 0x9dd9,
- 0xea59: 0x9dd3,
- 0xea5a: 0x9df8,
- 0xea5b: 0x9de6,
- 0xea5c: 0x9ded,
- 0xea5d: 0x9def,
- 0xea5e: 0x9dfd,
- 0xea5f: 0x9e1a,
- 0xea60: 0x9e1b,
- 0xea61: 0x9e1e,
- 0xea62: 0x9e75,
- 0xea63: 0x9e79,
- 0xea64: 0x9e7d,
- 0xea65: 0x9e81,
- 0xea66: 0x9e88,
- 0xea67: 0x9e8b,
- 0xea68: 0x9e8c,
- 0xea69: 0x9e92,
- 0xea6a: 0x9e95,
- 0xea6b: 0x9e91,
- 0xea6c: 0x9e9d,
- 0xea6d: 0x9ea5,
- 0xea6e: 0x9ea9,
- 0xea6f: 0x9eb8,
- 0xea70: 0x9eaa,
- 0xea71: 0x9ead,
- 0xea72: 0x9761,
- 0xea73: 0x9ecc,
- 0xea74: 0x9ece,
- 0xea75: 0x9ecf,
- 0xea76: 0x9ed0,
- 0xea77: 0x9ed4,
- 0xea78: 0x9edc,
- 0xea79: 0x9ede,
- 0xea7a: 0x9edd,
- 0xea7b: 0x9ee0,
- 0xea7c: 0x9ee5,
- 0xea7d: 0x9ee8,
- 0xea7e: 0x9eef,
- 0xea80: 0x9ef4,
- 0xea81: 0x9ef6,
- 0xea82: 0x9ef7,
- 0xea83: 0x9ef9,
- 0xea84: 0x9efb,
- 0xea85: 0x9efc,
- 0xea86: 0x9efd,
- 0xea87: 0x9f07,
- 0xea88: 0x9f08,
- 0xea89: 0x76b7,
- 0xea8a: 0x9f15,
- 0xea8b: 0x9f21,
- 0xea8c: 0x9f2c,
- 0xea8d: 0x9f3e,
- 0xea8e: 0x9f4a,
- 0xea8f: 0x9f52,
- 0xea90: 0x9f54,
- 0xea91: 0x9f63,
- 0xea92: 0x9f5f,
- 0xea93: 0x9f60,
- 0xea94: 0x9f61,
- 0xea95: 0x9f66,
- 0xea96: 0x9f67,
- 0xea97: 0x9f6c,
- 0xea98: 0x9f6a,
- 0xea99: 0x9f77,
- 0xea9a: 0x9f72,
- 0xea9b: 0x9f76,
- 0xea9c: 0x9f95,
- 0xea9d: 0x9f9c,
- 0xea9e: 0x9fa0,
- 0xea9f: 0x582f,
- 0xeaa0: 0x69c7,
- 0xeaa1: 0x9059,
- 0xeaa2: 0x7464,
- 0xeaa3: 0x51dc,
- 0xeaa4: 0x7199,
- };
-
- /***/
- },
- /* 9 */
- /***/ function (module, exports, __webpack_require__) {
- "use strict";
-
- Object.defineProperty(exports, "__esModule", { value: true });
- var GenericGF_1 = __webpack_require__(1);
- var GenericGFPoly_1 = __webpack_require__(2);
- function runEuclideanAlgorithm(field, a, b, R) {
- var _a;
- // Assume a's degree is >= b's
- if (a.degree() < b.degree()) {
- (_a = [b, a]), (a = _a[0]), (b = _a[1]);
- }
- var rLast = a;
- var r = b;
- var tLast = field.zero;
- var t = field.one;
- // Run Euclidean algorithm until r's degree is less than R/2
- while (r.degree() >= R / 2) {
- var rLastLast = rLast;
- var tLastLast = tLast;
- rLast = r;
- tLast = t;
- // Divide rLastLast by rLast, with quotient in q and remainder in r
- if (rLast.isZero()) {
- // Euclidean algorithm already terminated?
- return null;
- }
- r = rLastLast;
- var q = field.zero;
- var denominatorLeadingTerm = rLast.getCoefficient(rLast.degree());
- var dltInverse = field.inverse(denominatorLeadingTerm);
- while (r.degree() >= rLast.degree() && !r.isZero()) {
- var degreeDiff = r.degree() - rLast.degree();
- var scale = field.multiply(
- r.getCoefficient(r.degree()),
- dltInverse
- );
- q = q.addOrSubtract(field.buildMonomial(degreeDiff, scale));
- r = r.addOrSubtract(rLast.multiplyByMonomial(degreeDiff, scale));
- }
- t = q.multiplyPoly(tLast).addOrSubtract(tLastLast);
- if (r.degree() >= rLast.degree()) {
- return null;
- }
- }
- var sigmaTildeAtZero = t.getCoefficient(0);
- if (sigmaTildeAtZero === 0) {
- return null;
- }
- var inverse = field.inverse(sigmaTildeAtZero);
- return [t.multiply(inverse), r.multiply(inverse)];
- }
- function findErrorLocations(field, errorLocator) {
- // This is a direct application of Chien's search
- var numErrors = errorLocator.degree();
- if (numErrors === 1) {
- return [errorLocator.getCoefficient(1)];
- }
- var result = new Array(numErrors);
- var errorCount = 0;
- for (var i = 1; i < field.size && errorCount < numErrors; i++) {
- if (errorLocator.evaluateAt(i) === 0) {
- result[errorCount] = field.inverse(i);
- errorCount++;
- }
- }
- if (errorCount !== numErrors) {
- return null;
- }
- return result;
- }
- function findErrorMagnitudes(field, errorEvaluator, errorLocations) {
- // This is directly applying Forney's Formula
- var s = errorLocations.length;
- var result = new Array(s);
- for (var i = 0; i < s; i++) {
- var xiInverse = field.inverse(errorLocations[i]);
- var denominator = 1;
- for (var j = 0; j < s; j++) {
- if (i !== j) {
- denominator = field.multiply(
- denominator,
- GenericGF_1.addOrSubtractGF(
- 1,
- field.multiply(errorLocations[j], xiInverse)
- )
- );
- }
- }
- result[i] = field.multiply(
- errorEvaluator.evaluateAt(xiInverse),
- field.inverse(denominator)
- );
- if (field.generatorBase !== 0) {
- result[i] = field.multiply(result[i], xiInverse);
- }
- }
- return result;
- }
- function decode(bytes, twoS) {
- var outputBytes = new Uint8ClampedArray(bytes.length);
- outputBytes.set(bytes);
- var field = new GenericGF_1.default(0x011d, 256, 0); // x^8 + x^4 + x^3 + x^2 + 1
- var poly = new GenericGFPoly_1.default(field, outputBytes);
- var syndromeCoefficients = new Uint8ClampedArray(twoS);
- var error = false;
- for (var s = 0; s < twoS; s++) {
- var evaluation = poly.evaluateAt(
- field.exp(s + field.generatorBase)
- );
- syndromeCoefficients[syndromeCoefficients.length - 1 - s] =
- evaluation;
- if (evaluation !== 0) {
- error = true;
- }
- }
- if (!error) {
- return outputBytes;
- }
- var syndrome = new GenericGFPoly_1.default(
- field,
- syndromeCoefficients
- );
- var sigmaOmega = runEuclideanAlgorithm(
- field,
- field.buildMonomial(twoS, 1),
- syndrome,
- twoS
- );
- if (sigmaOmega === null) {
- return null;
- }
- var errorLocations = findErrorLocations(field, sigmaOmega[0]);
- if (errorLocations == null) {
- return null;
- }
- var errorMagnitudes = findErrorMagnitudes(
- field,
- sigmaOmega[1],
- errorLocations
- );
- for (var i = 0; i < errorLocations.length; i++) {
- var position =
- outputBytes.length - 1 - field.log(errorLocations[i]);
- if (position < 0) {
- return null;
- }
- outputBytes[position] = GenericGF_1.addOrSubtractGF(
- outputBytes[position],
- errorMagnitudes[i]
- );
- }
- return outputBytes;
- }
- exports.decode = decode;
-
- /***/
- },
- /* 10 */
- /***/ function (module, exports, __webpack_require__) {
- "use strict";
-
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.VERSIONS = [
- {
- infoBits: null,
- versionNumber: 1,
- alignmentPatternCenters: [],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 7,
- ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 19 }],
- },
- {
- ecCodewordsPerBlock: 10,
- ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 16 }],
- },
- {
- ecCodewordsPerBlock: 13,
- ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 13 }],
- },
- {
- ecCodewordsPerBlock: 17,
- ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 9 }],
- },
- ],
- },
- {
- infoBits: null,
- versionNumber: 2,
- alignmentPatternCenters: [6, 18],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 10,
- ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 34 }],
- },
- {
- ecCodewordsPerBlock: 16,
- ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 28 }],
- },
- {
- ecCodewordsPerBlock: 22,
- ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 22 }],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 16 }],
- },
- ],
- },
- {
- infoBits: null,
- versionNumber: 3,
- alignmentPatternCenters: [6, 22],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 15,
- ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 55 }],
- },
- {
- ecCodewordsPerBlock: 26,
- ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 44 }],
- },
- {
- ecCodewordsPerBlock: 18,
- ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 17 }],
- },
- {
- ecCodewordsPerBlock: 22,
- ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 13 }],
- },
- ],
- },
- {
- infoBits: null,
- versionNumber: 4,
- alignmentPatternCenters: [6, 26],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 20,
- ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 80 }],
- },
- {
- ecCodewordsPerBlock: 18,
- ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 32 }],
- },
- {
- ecCodewordsPerBlock: 26,
- ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 24 }],
- },
- {
- ecCodewordsPerBlock: 16,
- ecBlocks: [{ numBlocks: 4, dataCodewordsPerBlock: 9 }],
- },
- ],
- },
- {
- infoBits: null,
- versionNumber: 5,
- alignmentPatternCenters: [6, 30],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 26,
- ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 108 }],
- },
- {
- ecCodewordsPerBlock: 24,
- ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 43 }],
- },
- {
- ecCodewordsPerBlock: 18,
- ecBlocks: [
- { numBlocks: 2, dataCodewordsPerBlock: 15 },
- { numBlocks: 2, dataCodewordsPerBlock: 16 },
- ],
- },
- {
- ecCodewordsPerBlock: 22,
- ecBlocks: [
- { numBlocks: 2, dataCodewordsPerBlock: 11 },
- { numBlocks: 2, dataCodewordsPerBlock: 12 },
- ],
- },
- ],
- },
- {
- infoBits: null,
- versionNumber: 6,
- alignmentPatternCenters: [6, 34],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 18,
- ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 68 }],
- },
- {
- ecCodewordsPerBlock: 16,
- ecBlocks: [{ numBlocks: 4, dataCodewordsPerBlock: 27 }],
- },
- {
- ecCodewordsPerBlock: 24,
- ecBlocks: [{ numBlocks: 4, dataCodewordsPerBlock: 19 }],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [{ numBlocks: 4, dataCodewordsPerBlock: 15 }],
- },
- ],
- },
- {
- infoBits: 0x07c94,
- versionNumber: 7,
- alignmentPatternCenters: [6, 22, 38],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 20,
- ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 78 }],
- },
- {
- ecCodewordsPerBlock: 18,
- ecBlocks: [{ numBlocks: 4, dataCodewordsPerBlock: 31 }],
- },
- {
- ecCodewordsPerBlock: 18,
- ecBlocks: [
- { numBlocks: 2, dataCodewordsPerBlock: 14 },
- { numBlocks: 4, dataCodewordsPerBlock: 15 },
- ],
- },
- {
- ecCodewordsPerBlock: 26,
- ecBlocks: [
- { numBlocks: 4, dataCodewordsPerBlock: 13 },
- { numBlocks: 1, dataCodewordsPerBlock: 14 },
- ],
- },
- ],
- },
- {
- infoBits: 0x085bc,
- versionNumber: 8,
- alignmentPatternCenters: [6, 24, 42],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 24,
- ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 97 }],
- },
- {
- ecCodewordsPerBlock: 22,
- ecBlocks: [
- { numBlocks: 2, dataCodewordsPerBlock: 38 },
- { numBlocks: 2, dataCodewordsPerBlock: 39 },
- ],
- },
- {
- ecCodewordsPerBlock: 22,
- ecBlocks: [
- { numBlocks: 4, dataCodewordsPerBlock: 18 },
- { numBlocks: 2, dataCodewordsPerBlock: 19 },
- ],
- },
- {
- ecCodewordsPerBlock: 26,
- ecBlocks: [
- { numBlocks: 4, dataCodewordsPerBlock: 14 },
- { numBlocks: 2, dataCodewordsPerBlock: 15 },
- ],
- },
- ],
- },
- {
- infoBits: 0x09a99,
- versionNumber: 9,
- alignmentPatternCenters: [6, 26, 46],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 116 }],
- },
- {
- ecCodewordsPerBlock: 22,
- ecBlocks: [
- { numBlocks: 3, dataCodewordsPerBlock: 36 },
- { numBlocks: 2, dataCodewordsPerBlock: 37 },
- ],
- },
- {
- ecCodewordsPerBlock: 20,
- ecBlocks: [
- { numBlocks: 4, dataCodewordsPerBlock: 16 },
- { numBlocks: 4, dataCodewordsPerBlock: 17 },
- ],
- },
- {
- ecCodewordsPerBlock: 24,
- ecBlocks: [
- { numBlocks: 4, dataCodewordsPerBlock: 12 },
- { numBlocks: 4, dataCodewordsPerBlock: 13 },
- ],
- },
- ],
- },
- {
- infoBits: 0x0a4d3,
- versionNumber: 10,
- alignmentPatternCenters: [6, 28, 50],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 18,
- ecBlocks: [
- { numBlocks: 2, dataCodewordsPerBlock: 68 },
- { numBlocks: 2, dataCodewordsPerBlock: 69 },
- ],
- },
- {
- ecCodewordsPerBlock: 26,
- ecBlocks: [
- { numBlocks: 4, dataCodewordsPerBlock: 43 },
- { numBlocks: 1, dataCodewordsPerBlock: 44 },
- ],
- },
- {
- ecCodewordsPerBlock: 24,
- ecBlocks: [
- { numBlocks: 6, dataCodewordsPerBlock: 19 },
- { numBlocks: 2, dataCodewordsPerBlock: 20 },
- ],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 6, dataCodewordsPerBlock: 15 },
- { numBlocks: 2, dataCodewordsPerBlock: 16 },
- ],
- },
- ],
- },
- {
- infoBits: 0x0bbf6,
- versionNumber: 11,
- alignmentPatternCenters: [6, 30, 54],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 20,
- ecBlocks: [{ numBlocks: 4, dataCodewordsPerBlock: 81 }],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 1, dataCodewordsPerBlock: 50 },
- { numBlocks: 4, dataCodewordsPerBlock: 51 },
- ],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 4, dataCodewordsPerBlock: 22 },
- { numBlocks: 4, dataCodewordsPerBlock: 23 },
- ],
- },
- {
- ecCodewordsPerBlock: 24,
- ecBlocks: [
- { numBlocks: 3, dataCodewordsPerBlock: 12 },
- { numBlocks: 8, dataCodewordsPerBlock: 13 },
- ],
- },
- ],
- },
- {
- infoBits: 0x0c762,
- versionNumber: 12,
- alignmentPatternCenters: [6, 32, 58],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 24,
- ecBlocks: [
- { numBlocks: 2, dataCodewordsPerBlock: 92 },
- { numBlocks: 2, dataCodewordsPerBlock: 93 },
- ],
- },
- {
- ecCodewordsPerBlock: 22,
- ecBlocks: [
- { numBlocks: 6, dataCodewordsPerBlock: 36 },
- { numBlocks: 2, dataCodewordsPerBlock: 37 },
- ],
- },
- {
- ecCodewordsPerBlock: 26,
- ecBlocks: [
- { numBlocks: 4, dataCodewordsPerBlock: 20 },
- { numBlocks: 6, dataCodewordsPerBlock: 21 },
- ],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 7, dataCodewordsPerBlock: 14 },
- { numBlocks: 4, dataCodewordsPerBlock: 15 },
- ],
- },
- ],
- },
- {
- infoBits: 0x0d847,
- versionNumber: 13,
- alignmentPatternCenters: [6, 34, 62],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 26,
- ecBlocks: [{ numBlocks: 4, dataCodewordsPerBlock: 107 }],
- },
- {
- ecCodewordsPerBlock: 22,
- ecBlocks: [
- { numBlocks: 8, dataCodewordsPerBlock: 37 },
- { numBlocks: 1, dataCodewordsPerBlock: 38 },
- ],
- },
- {
- ecCodewordsPerBlock: 24,
- ecBlocks: [
- { numBlocks: 8, dataCodewordsPerBlock: 20 },
- { numBlocks: 4, dataCodewordsPerBlock: 21 },
- ],
- },
- {
- ecCodewordsPerBlock: 22,
- ecBlocks: [
- { numBlocks: 12, dataCodewordsPerBlock: 11 },
- { numBlocks: 4, dataCodewordsPerBlock: 12 },
- ],
- },
- ],
- },
- {
- infoBits: 0x0e60d,
- versionNumber: 14,
- alignmentPatternCenters: [6, 26, 46, 66],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 3, dataCodewordsPerBlock: 115 },
- { numBlocks: 1, dataCodewordsPerBlock: 116 },
- ],
- },
- {
- ecCodewordsPerBlock: 24,
- ecBlocks: [
- { numBlocks: 4, dataCodewordsPerBlock: 40 },
- { numBlocks: 5, dataCodewordsPerBlock: 41 },
- ],
- },
- {
- ecCodewordsPerBlock: 20,
- ecBlocks: [
- { numBlocks: 11, dataCodewordsPerBlock: 16 },
- { numBlocks: 5, dataCodewordsPerBlock: 17 },
- ],
- },
- {
- ecCodewordsPerBlock: 24,
- ecBlocks: [
- { numBlocks: 11, dataCodewordsPerBlock: 12 },
- { numBlocks: 5, dataCodewordsPerBlock: 13 },
- ],
- },
- ],
- },
- {
- infoBits: 0x0f928,
- versionNumber: 15,
- alignmentPatternCenters: [6, 26, 48, 70],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 22,
- ecBlocks: [
- { numBlocks: 5, dataCodewordsPerBlock: 87 },
- { numBlocks: 1, dataCodewordsPerBlock: 88 },
- ],
- },
- {
- ecCodewordsPerBlock: 24,
- ecBlocks: [
- { numBlocks: 5, dataCodewordsPerBlock: 41 },
- { numBlocks: 5, dataCodewordsPerBlock: 42 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 5, dataCodewordsPerBlock: 24 },
- { numBlocks: 7, dataCodewordsPerBlock: 25 },
- ],
- },
- {
- ecCodewordsPerBlock: 24,
- ecBlocks: [
- { numBlocks: 11, dataCodewordsPerBlock: 12 },
- { numBlocks: 7, dataCodewordsPerBlock: 13 },
- ],
- },
- ],
- },
- {
- infoBits: 0x10b78,
- versionNumber: 16,
- alignmentPatternCenters: [6, 26, 50, 74],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 24,
- ecBlocks: [
- { numBlocks: 5, dataCodewordsPerBlock: 98 },
- { numBlocks: 1, dataCodewordsPerBlock: 99 },
- ],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 7, dataCodewordsPerBlock: 45 },
- { numBlocks: 3, dataCodewordsPerBlock: 46 },
- ],
- },
- {
- ecCodewordsPerBlock: 24,
- ecBlocks: [
- { numBlocks: 15, dataCodewordsPerBlock: 19 },
- { numBlocks: 2, dataCodewordsPerBlock: 20 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 3, dataCodewordsPerBlock: 15 },
- { numBlocks: 13, dataCodewordsPerBlock: 16 },
- ],
- },
- ],
- },
- {
- infoBits: 0x1145d,
- versionNumber: 17,
- alignmentPatternCenters: [6, 30, 54, 78],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 1, dataCodewordsPerBlock: 107 },
- { numBlocks: 5, dataCodewordsPerBlock: 108 },
- ],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 10, dataCodewordsPerBlock: 46 },
- { numBlocks: 1, dataCodewordsPerBlock: 47 },
- ],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 1, dataCodewordsPerBlock: 22 },
- { numBlocks: 15, dataCodewordsPerBlock: 23 },
- ],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 2, dataCodewordsPerBlock: 14 },
- { numBlocks: 17, dataCodewordsPerBlock: 15 },
- ],
- },
- ],
- },
- {
- infoBits: 0x12a17,
- versionNumber: 18,
- alignmentPatternCenters: [6, 30, 56, 82],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 5, dataCodewordsPerBlock: 120 },
- { numBlocks: 1, dataCodewordsPerBlock: 121 },
- ],
- },
- {
- ecCodewordsPerBlock: 26,
- ecBlocks: [
- { numBlocks: 9, dataCodewordsPerBlock: 43 },
- { numBlocks: 4, dataCodewordsPerBlock: 44 },
- ],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 17, dataCodewordsPerBlock: 22 },
- { numBlocks: 1, dataCodewordsPerBlock: 23 },
- ],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 2, dataCodewordsPerBlock: 14 },
- { numBlocks: 19, dataCodewordsPerBlock: 15 },
- ],
- },
- ],
- },
- {
- infoBits: 0x13532,
- versionNumber: 19,
- alignmentPatternCenters: [6, 30, 58, 86],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 3, dataCodewordsPerBlock: 113 },
- { numBlocks: 4, dataCodewordsPerBlock: 114 },
- ],
- },
- {
- ecCodewordsPerBlock: 26,
- ecBlocks: [
- { numBlocks: 3, dataCodewordsPerBlock: 44 },
- { numBlocks: 11, dataCodewordsPerBlock: 45 },
- ],
- },
- {
- ecCodewordsPerBlock: 26,
- ecBlocks: [
- { numBlocks: 17, dataCodewordsPerBlock: 21 },
- { numBlocks: 4, dataCodewordsPerBlock: 22 },
- ],
- },
- {
- ecCodewordsPerBlock: 26,
- ecBlocks: [
- { numBlocks: 9, dataCodewordsPerBlock: 13 },
- { numBlocks: 16, dataCodewordsPerBlock: 14 },
- ],
- },
- ],
- },
- {
- infoBits: 0x149a6,
- versionNumber: 20,
- alignmentPatternCenters: [6, 34, 62, 90],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 3, dataCodewordsPerBlock: 107 },
- { numBlocks: 5, dataCodewordsPerBlock: 108 },
- ],
- },
- {
- ecCodewordsPerBlock: 26,
- ecBlocks: [
- { numBlocks: 3, dataCodewordsPerBlock: 41 },
- { numBlocks: 13, dataCodewordsPerBlock: 42 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 15, dataCodewordsPerBlock: 24 },
- { numBlocks: 5, dataCodewordsPerBlock: 25 },
- ],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 15, dataCodewordsPerBlock: 15 },
- { numBlocks: 10, dataCodewordsPerBlock: 16 },
- ],
- },
- ],
- },
- {
- infoBits: 0x15683,
- versionNumber: 21,
- alignmentPatternCenters: [6, 28, 50, 72, 94],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 4, dataCodewordsPerBlock: 116 },
- { numBlocks: 4, dataCodewordsPerBlock: 117 },
- ],
- },
- {
- ecCodewordsPerBlock: 26,
- ecBlocks: [{ numBlocks: 17, dataCodewordsPerBlock: 42 }],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 17, dataCodewordsPerBlock: 22 },
- { numBlocks: 6, dataCodewordsPerBlock: 23 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 19, dataCodewordsPerBlock: 16 },
- { numBlocks: 6, dataCodewordsPerBlock: 17 },
- ],
- },
- ],
- },
- {
- infoBits: 0x168c9,
- versionNumber: 22,
- alignmentPatternCenters: [6, 26, 50, 74, 98],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 2, dataCodewordsPerBlock: 111 },
- { numBlocks: 7, dataCodewordsPerBlock: 112 },
- ],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [{ numBlocks: 17, dataCodewordsPerBlock: 46 }],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 7, dataCodewordsPerBlock: 24 },
- { numBlocks: 16, dataCodewordsPerBlock: 25 },
- ],
- },
- {
- ecCodewordsPerBlock: 24,
- ecBlocks: [{ numBlocks: 34, dataCodewordsPerBlock: 13 }],
- },
- ],
- },
- {
- infoBits: 0x177ec,
- versionNumber: 23,
- alignmentPatternCenters: [6, 30, 54, 74, 102],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 4, dataCodewordsPerBlock: 121 },
- { numBlocks: 5, dataCodewordsPerBlock: 122 },
- ],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 4, dataCodewordsPerBlock: 47 },
- { numBlocks: 14, dataCodewordsPerBlock: 48 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 11, dataCodewordsPerBlock: 24 },
- { numBlocks: 14, dataCodewordsPerBlock: 25 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 16, dataCodewordsPerBlock: 15 },
- { numBlocks: 14, dataCodewordsPerBlock: 16 },
- ],
- },
- ],
- },
- {
- infoBits: 0x18ec4,
- versionNumber: 24,
- alignmentPatternCenters: [6, 28, 54, 80, 106],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 6, dataCodewordsPerBlock: 117 },
- { numBlocks: 4, dataCodewordsPerBlock: 118 },
- ],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 6, dataCodewordsPerBlock: 45 },
- { numBlocks: 14, dataCodewordsPerBlock: 46 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 11, dataCodewordsPerBlock: 24 },
- { numBlocks: 16, dataCodewordsPerBlock: 25 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 30, dataCodewordsPerBlock: 16 },
- { numBlocks: 2, dataCodewordsPerBlock: 17 },
- ],
- },
- ],
- },
- {
- infoBits: 0x191e1,
- versionNumber: 25,
- alignmentPatternCenters: [6, 32, 58, 84, 110],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 26,
- ecBlocks: [
- { numBlocks: 8, dataCodewordsPerBlock: 106 },
- { numBlocks: 4, dataCodewordsPerBlock: 107 },
- ],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 8, dataCodewordsPerBlock: 47 },
- { numBlocks: 13, dataCodewordsPerBlock: 48 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 7, dataCodewordsPerBlock: 24 },
- { numBlocks: 22, dataCodewordsPerBlock: 25 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 22, dataCodewordsPerBlock: 15 },
- { numBlocks: 13, dataCodewordsPerBlock: 16 },
- ],
- },
- ],
- },
- {
- infoBits: 0x1afab,
- versionNumber: 26,
- alignmentPatternCenters: [6, 30, 58, 86, 114],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 10, dataCodewordsPerBlock: 114 },
- { numBlocks: 2, dataCodewordsPerBlock: 115 },
- ],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 19, dataCodewordsPerBlock: 46 },
- { numBlocks: 4, dataCodewordsPerBlock: 47 },
- ],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 28, dataCodewordsPerBlock: 22 },
- { numBlocks: 6, dataCodewordsPerBlock: 23 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 33, dataCodewordsPerBlock: 16 },
- { numBlocks: 4, dataCodewordsPerBlock: 17 },
- ],
- },
- ],
- },
- {
- infoBits: 0x1b08e,
- versionNumber: 27,
- alignmentPatternCenters: [6, 34, 62, 90, 118],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 8, dataCodewordsPerBlock: 122 },
- { numBlocks: 4, dataCodewordsPerBlock: 123 },
- ],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 22, dataCodewordsPerBlock: 45 },
- { numBlocks: 3, dataCodewordsPerBlock: 46 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 8, dataCodewordsPerBlock: 23 },
- { numBlocks: 26, dataCodewordsPerBlock: 24 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 12, dataCodewordsPerBlock: 15 },
- { numBlocks: 28, dataCodewordsPerBlock: 16 },
- ],
- },
- ],
- },
- {
- infoBits: 0x1cc1a,
- versionNumber: 28,
- alignmentPatternCenters: [6, 26, 50, 74, 98, 122],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 3, dataCodewordsPerBlock: 117 },
- { numBlocks: 10, dataCodewordsPerBlock: 118 },
- ],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 3, dataCodewordsPerBlock: 45 },
- { numBlocks: 23, dataCodewordsPerBlock: 46 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 4, dataCodewordsPerBlock: 24 },
- { numBlocks: 31, dataCodewordsPerBlock: 25 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 11, dataCodewordsPerBlock: 15 },
- { numBlocks: 31, dataCodewordsPerBlock: 16 },
- ],
- },
- ],
- },
- {
- infoBits: 0x1d33f,
- versionNumber: 29,
- alignmentPatternCenters: [6, 30, 54, 78, 102, 126],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 7, dataCodewordsPerBlock: 116 },
- { numBlocks: 7, dataCodewordsPerBlock: 117 },
- ],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 21, dataCodewordsPerBlock: 45 },
- { numBlocks: 7, dataCodewordsPerBlock: 46 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 1, dataCodewordsPerBlock: 23 },
- { numBlocks: 37, dataCodewordsPerBlock: 24 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 19, dataCodewordsPerBlock: 15 },
- { numBlocks: 26, dataCodewordsPerBlock: 16 },
- ],
- },
- ],
- },
- {
- infoBits: 0x1ed75,
- versionNumber: 30,
- alignmentPatternCenters: [6, 26, 52, 78, 104, 130],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 5, dataCodewordsPerBlock: 115 },
- { numBlocks: 10, dataCodewordsPerBlock: 116 },
- ],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 19, dataCodewordsPerBlock: 47 },
- { numBlocks: 10, dataCodewordsPerBlock: 48 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 15, dataCodewordsPerBlock: 24 },
- { numBlocks: 25, dataCodewordsPerBlock: 25 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 23, dataCodewordsPerBlock: 15 },
- { numBlocks: 25, dataCodewordsPerBlock: 16 },
- ],
- },
- ],
- },
- {
- infoBits: 0x1f250,
- versionNumber: 31,
- alignmentPatternCenters: [6, 30, 56, 82, 108, 134],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 13, dataCodewordsPerBlock: 115 },
- { numBlocks: 3, dataCodewordsPerBlock: 116 },
- ],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 2, dataCodewordsPerBlock: 46 },
- { numBlocks: 29, dataCodewordsPerBlock: 47 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 42, dataCodewordsPerBlock: 24 },
- { numBlocks: 1, dataCodewordsPerBlock: 25 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 23, dataCodewordsPerBlock: 15 },
- { numBlocks: 28, dataCodewordsPerBlock: 16 },
- ],
- },
- ],
- },
- {
- infoBits: 0x209d5,
- versionNumber: 32,
- alignmentPatternCenters: [6, 34, 60, 86, 112, 138],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [{ numBlocks: 17, dataCodewordsPerBlock: 115 }],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 10, dataCodewordsPerBlock: 46 },
- { numBlocks: 23, dataCodewordsPerBlock: 47 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 10, dataCodewordsPerBlock: 24 },
- { numBlocks: 35, dataCodewordsPerBlock: 25 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 19, dataCodewordsPerBlock: 15 },
- { numBlocks: 35, dataCodewordsPerBlock: 16 },
- ],
- },
- ],
- },
- {
- infoBits: 0x216f0,
- versionNumber: 33,
- alignmentPatternCenters: [6, 30, 58, 86, 114, 142],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 17, dataCodewordsPerBlock: 115 },
- { numBlocks: 1, dataCodewordsPerBlock: 116 },
- ],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 14, dataCodewordsPerBlock: 46 },
- { numBlocks: 21, dataCodewordsPerBlock: 47 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 29, dataCodewordsPerBlock: 24 },
- { numBlocks: 19, dataCodewordsPerBlock: 25 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 11, dataCodewordsPerBlock: 15 },
- { numBlocks: 46, dataCodewordsPerBlock: 16 },
- ],
- },
- ],
- },
- {
- infoBits: 0x228ba,
- versionNumber: 34,
- alignmentPatternCenters: [6, 34, 62, 90, 118, 146],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 13, dataCodewordsPerBlock: 115 },
- { numBlocks: 6, dataCodewordsPerBlock: 116 },
- ],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 14, dataCodewordsPerBlock: 46 },
- { numBlocks: 23, dataCodewordsPerBlock: 47 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 44, dataCodewordsPerBlock: 24 },
- { numBlocks: 7, dataCodewordsPerBlock: 25 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 59, dataCodewordsPerBlock: 16 },
- { numBlocks: 1, dataCodewordsPerBlock: 17 },
- ],
- },
- ],
- },
- {
- infoBits: 0x2379f,
- versionNumber: 35,
- alignmentPatternCenters: [6, 30, 54, 78, 102, 126, 150],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 12, dataCodewordsPerBlock: 121 },
- { numBlocks: 7, dataCodewordsPerBlock: 122 },
- ],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 12, dataCodewordsPerBlock: 47 },
- { numBlocks: 26, dataCodewordsPerBlock: 48 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 39, dataCodewordsPerBlock: 24 },
- { numBlocks: 14, dataCodewordsPerBlock: 25 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 22, dataCodewordsPerBlock: 15 },
- { numBlocks: 41, dataCodewordsPerBlock: 16 },
- ],
- },
- ],
- },
- {
- infoBits: 0x24b0b,
- versionNumber: 36,
- alignmentPatternCenters: [6, 24, 50, 76, 102, 128, 154],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 6, dataCodewordsPerBlock: 121 },
- { numBlocks: 14, dataCodewordsPerBlock: 122 },
- ],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 6, dataCodewordsPerBlock: 47 },
- { numBlocks: 34, dataCodewordsPerBlock: 48 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 46, dataCodewordsPerBlock: 24 },
- { numBlocks: 10, dataCodewordsPerBlock: 25 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 2, dataCodewordsPerBlock: 15 },
- { numBlocks: 64, dataCodewordsPerBlock: 16 },
- ],
- },
- ],
- },
- {
- infoBits: 0x2542e,
- versionNumber: 37,
- alignmentPatternCenters: [6, 28, 54, 80, 106, 132, 158],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 17, dataCodewordsPerBlock: 122 },
- { numBlocks: 4, dataCodewordsPerBlock: 123 },
- ],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 29, dataCodewordsPerBlock: 46 },
- { numBlocks: 14, dataCodewordsPerBlock: 47 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 49, dataCodewordsPerBlock: 24 },
- { numBlocks: 10, dataCodewordsPerBlock: 25 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 24, dataCodewordsPerBlock: 15 },
- { numBlocks: 46, dataCodewordsPerBlock: 16 },
- ],
- },
- ],
- },
- {
- infoBits: 0x26a64,
- versionNumber: 38,
- alignmentPatternCenters: [6, 32, 58, 84, 110, 136, 162],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 4, dataCodewordsPerBlock: 122 },
- { numBlocks: 18, dataCodewordsPerBlock: 123 },
- ],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 13, dataCodewordsPerBlock: 46 },
- { numBlocks: 32, dataCodewordsPerBlock: 47 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 48, dataCodewordsPerBlock: 24 },
- { numBlocks: 14, dataCodewordsPerBlock: 25 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 42, dataCodewordsPerBlock: 15 },
- { numBlocks: 32, dataCodewordsPerBlock: 16 },
- ],
- },
- ],
- },
- {
- infoBits: 0x27541,
- versionNumber: 39,
- alignmentPatternCenters: [6, 26, 54, 82, 110, 138, 166],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 20, dataCodewordsPerBlock: 117 },
- { numBlocks: 4, dataCodewordsPerBlock: 118 },
- ],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 40, dataCodewordsPerBlock: 47 },
- { numBlocks: 7, dataCodewordsPerBlock: 48 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 43, dataCodewordsPerBlock: 24 },
- { numBlocks: 22, dataCodewordsPerBlock: 25 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 10, dataCodewordsPerBlock: 15 },
- { numBlocks: 67, dataCodewordsPerBlock: 16 },
- ],
- },
- ],
- },
- {
- infoBits: 0x28c69,
- versionNumber: 40,
- alignmentPatternCenters: [6, 30, 58, 86, 114, 142, 170],
- errorCorrectionLevels: [
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 19, dataCodewordsPerBlock: 118 },
- { numBlocks: 6, dataCodewordsPerBlock: 119 },
- ],
- },
- {
- ecCodewordsPerBlock: 28,
- ecBlocks: [
- { numBlocks: 18, dataCodewordsPerBlock: 47 },
- { numBlocks: 31, dataCodewordsPerBlock: 48 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 34, dataCodewordsPerBlock: 24 },
- { numBlocks: 34, dataCodewordsPerBlock: 25 },
- ],
- },
- {
- ecCodewordsPerBlock: 30,
- ecBlocks: [
- { numBlocks: 20, dataCodewordsPerBlock: 15 },
- { numBlocks: 61, dataCodewordsPerBlock: 16 },
- ],
- },
- ],
- },
- ];
-
- /***/
- },
- /* 11 */
- /***/ function (module, exports, __webpack_require__) {
- "use strict";
-
- Object.defineProperty(exports, "__esModule", { value: true });
- var BitMatrix_1 = __webpack_require__(0);
- function squareToQuadrilateral(p1, p2, p3, p4) {
- var dx3 = p1.x - p2.x + p3.x - p4.x;
- var dy3 = p1.y - p2.y + p3.y - p4.y;
- if (dx3 === 0 && dy3 === 0) {
- // Affine
- return {
- a11: p2.x - p1.x,
- a12: p2.y - p1.y,
- a13: 0,
- a21: p3.x - p2.x,
- a22: p3.y - p2.y,
- a23: 0,
- a31: p1.x,
- a32: p1.y,
- a33: 1,
- };
- } else {
- var dx1 = p2.x - p3.x;
- var dx2 = p4.x - p3.x;
- var dy1 = p2.y - p3.y;
- var dy2 = p4.y - p3.y;
- var denominator = dx1 * dy2 - dx2 * dy1;
- var a13 = (dx3 * dy2 - dx2 * dy3) / denominator;
- var a23 = (dx1 * dy3 - dx3 * dy1) / denominator;
- return {
- a11: p2.x - p1.x + a13 * p2.x,
- a12: p2.y - p1.y + a13 * p2.y,
- a13: a13,
- a21: p4.x - p1.x + a23 * p4.x,
- a22: p4.y - p1.y + a23 * p4.y,
- a23: a23,
- a31: p1.x,
- a32: p1.y,
- a33: 1,
- };
- }
- }
- function quadrilateralToSquare(p1, p2, p3, p4) {
- // Here, the adjoint serves as the inverse:
- var sToQ = squareToQuadrilateral(p1, p2, p3, p4);
- return {
- a11: sToQ.a22 * sToQ.a33 - sToQ.a23 * sToQ.a32,
- a12: sToQ.a13 * sToQ.a32 - sToQ.a12 * sToQ.a33,
- a13: sToQ.a12 * sToQ.a23 - sToQ.a13 * sToQ.a22,
- a21: sToQ.a23 * sToQ.a31 - sToQ.a21 * sToQ.a33,
- a22: sToQ.a11 * sToQ.a33 - sToQ.a13 * sToQ.a31,
- a23: sToQ.a13 * sToQ.a21 - sToQ.a11 * sToQ.a23,
- a31: sToQ.a21 * sToQ.a32 - sToQ.a22 * sToQ.a31,
- a32: sToQ.a12 * sToQ.a31 - sToQ.a11 * sToQ.a32,
- a33: sToQ.a11 * sToQ.a22 - sToQ.a12 * sToQ.a21,
- };
- }
- function times(a, b) {
- return {
- a11: a.a11 * b.a11 + a.a21 * b.a12 + a.a31 * b.a13,
- a12: a.a12 * b.a11 + a.a22 * b.a12 + a.a32 * b.a13,
- a13: a.a13 * b.a11 + a.a23 * b.a12 + a.a33 * b.a13,
- a21: a.a11 * b.a21 + a.a21 * b.a22 + a.a31 * b.a23,
- a22: a.a12 * b.a21 + a.a22 * b.a22 + a.a32 * b.a23,
- a23: a.a13 * b.a21 + a.a23 * b.a22 + a.a33 * b.a23,
- a31: a.a11 * b.a31 + a.a21 * b.a32 + a.a31 * b.a33,
- a32: a.a12 * b.a31 + a.a22 * b.a32 + a.a32 * b.a33,
- a33: a.a13 * b.a31 + a.a23 * b.a32 + a.a33 * b.a33,
- };
- }
- function extract(image, location) {
- var qToS = quadrilateralToSquare(
- { x: 3.5, y: 3.5 },
- { x: location.dimension - 3.5, y: 3.5 },
- { x: location.dimension - 6.5, y: location.dimension - 6.5 },
- { x: 3.5, y: location.dimension - 3.5 }
- );
- var sToQ = squareToQuadrilateral(
- location.topLeft,
- location.topRight,
- location.alignmentPattern,
- location.bottomLeft
- );
- var transform = times(sToQ, qToS);
- var matrix = BitMatrix_1.BitMatrix.createEmpty(
- location.dimension,
- location.dimension
- );
- var mappingFunction = function (x, y) {
- var denominator =
- transform.a13 * x + transform.a23 * y + transform.a33;
- return {
- x:
- (transform.a11 * x + transform.a21 * y + transform.a31) /
- denominator,
- y:
- (transform.a12 * x + transform.a22 * y + transform.a32) /
- denominator,
- };
- };
- for (var y = 0; y < location.dimension; y++) {
- for (var x = 0; x < location.dimension; x++) {
- var xValue = x + 0.5;
- var yValue = y + 0.5;
- var sourcePixel = mappingFunction(xValue, yValue);
- matrix.set(
- x,
- y,
- image.get(Math.floor(sourcePixel.x), Math.floor(sourcePixel.y))
- );
- }
- }
- return {
- matrix: matrix,
- mappingFunction: mappingFunction,
- };
- }
- exports.extract = extract;
-
- /***/
- },
- /* 12 */
- /***/ function (module, exports, __webpack_require__) {
- "use strict";
-
- Object.defineProperty(exports, "__esModule", { value: true });
- var MAX_FINDERPATTERNS_TO_SEARCH = 4;
- var MIN_QUAD_RATIO = 0.5;
- var MAX_QUAD_RATIO = 1.5;
- var distance = function (a, b) {
- return Math.sqrt(Math.pow(b.x - a.x, 2) + Math.pow(b.y - a.y, 2));
- };
- function sum(values) {
- return values.reduce(function (a, b) {
- return a + b;
- });
- }
- // Takes three finder patterns and organizes them into topLeft, topRight, etc
- function reorderFinderPatterns(pattern1, pattern2, pattern3) {
- var _a, _b, _c, _d;
- // Find distances between pattern centers
- var oneTwoDistance = distance(pattern1, pattern2);
- var twoThreeDistance = distance(pattern2, pattern3);
- var oneThreeDistance = distance(pattern1, pattern3);
- var bottomLeft;
- var topLeft;
- var topRight;
- // Assume one closest to other two is B; A and C will just be guesses at first
- if (
- twoThreeDistance >= oneTwoDistance &&
- twoThreeDistance >= oneThreeDistance
- ) {
- (_a = [pattern2, pattern1, pattern3]),
- (bottomLeft = _a[0]),
- (topLeft = _a[1]),
- (topRight = _a[2]);
- } else if (
- oneThreeDistance >= twoThreeDistance &&
- oneThreeDistance >= oneTwoDistance
- ) {
- (_b = [pattern1, pattern2, pattern3]),
- (bottomLeft = _b[0]),
- (topLeft = _b[1]),
- (topRight = _b[2]);
- } else {
- (_c = [pattern1, pattern3, pattern2]),
- (bottomLeft = _c[0]),
- (topLeft = _c[1]),
- (topRight = _c[2]);
- }
- // Use cross product to figure out whether bottomLeft (A) and topRight (C) are correct or flipped in relation to topLeft (B)
- // This asks whether BC x BA has a positive z component, which is the arrangement we want. If it's negative, then
- // we've got it flipped around and should swap topRight and bottomLeft.
- if (
- (topRight.x - topLeft.x) * (bottomLeft.y - topLeft.y) -
- (topRight.y - topLeft.y) * (bottomLeft.x - topLeft.x) <
- 0
- ) {
- (_d = [topRight, bottomLeft]),
- (bottomLeft = _d[0]),
- (topRight = _d[1]);
- }
- return {
- bottomLeft: bottomLeft,
- topLeft: topLeft,
- topRight: topRight,
- };
- }
- // Computes the dimension (number of modules on a side) of the QR Code based on the position of the finder patterns
- function computeDimension(topLeft, topRight, bottomLeft, matrix) {
- var moduleSize =
- (sum(countBlackWhiteRun(topLeft, bottomLeft, matrix, 5)) / 7 + // Divide by 7 since the ratio is 1:1:3:1:1
- sum(countBlackWhiteRun(topLeft, topRight, matrix, 5)) / 7 +
- sum(countBlackWhiteRun(bottomLeft, topLeft, matrix, 5)) / 7 +
- sum(countBlackWhiteRun(topRight, topLeft, matrix, 5)) / 7) /
- 4;
- if (moduleSize < 1) {
- throw new Error("Invalid module size");
- }
- var topDimension = Math.round(
- distance(topLeft, topRight) / moduleSize
- );
- var sideDimension = Math.round(
- distance(topLeft, bottomLeft) / moduleSize
- );
- var dimension = Math.floor((topDimension + sideDimension) / 2) + 7;
- switch (dimension % 4) {
- case 0:
- dimension++;
- break;
- case 2:
- dimension--;
- break;
- }
- return { dimension: dimension, moduleSize: moduleSize };
- }
- // Takes an origin point and an end point and counts the sizes of the black white run from the origin towards the end point.
- // Returns an array of elements, representing the pixel size of the black white run.
- // Uses a variant of http://en.wikipedia.org/wiki/Bresenham's_line_algorithm
- function countBlackWhiteRunTowardsPoint(origin, end, matrix, length) {
- var switchPoints = [
- { x: Math.floor(origin.x), y: Math.floor(origin.y) },
- ];
- var steep = Math.abs(end.y - origin.y) > Math.abs(end.x - origin.x);
- var fromX;
- var fromY;
- var toX;
- var toY;
- if (steep) {
- fromX = Math.floor(origin.y);
- fromY = Math.floor(origin.x);
- toX = Math.floor(end.y);
- toY = Math.floor(end.x);
- } else {
- fromX = Math.floor(origin.x);
- fromY = Math.floor(origin.y);
- toX = Math.floor(end.x);
- toY = Math.floor(end.y);
- }
- var dx = Math.abs(toX - fromX);
- var dy = Math.abs(toY - fromY);
- var error = Math.floor(-dx / 2);
- var xStep = fromX < toX ? 1 : -1;
- var yStep = fromY < toY ? 1 : -1;
- var currentPixel = true;
- // Loop up until x == toX, but not beyond
- for (var x = fromX, y = fromY; x !== toX + xStep; x += xStep) {
- // Does current pixel mean we have moved white to black or vice versa?
- // Scanning black in state 0,2 and white in state 1, so if we find the wrong
- // color, advance to next state or end if we are in state 2 already
- var realX = steep ? y : x;
- var realY = steep ? x : y;
- if (matrix.get(realX, realY) !== currentPixel) {
- currentPixel = !currentPixel;
- switchPoints.push({ x: realX, y: realY });
- if (switchPoints.length === length + 1) {
- break;
- }
- }
- error += dy;
- if (error > 0) {
- if (y === toY) {
- break;
- }
- y += yStep;
- error -= dx;
- }
- }
- var distances = [];
- for (var i = 0; i < length; i++) {
- if (switchPoints[i] && switchPoints[i + 1]) {
- distances.push(distance(switchPoints[i], switchPoints[i + 1]));
- } else {
- distances.push(0);
- }
- }
- return distances;
- }
- // Takes an origin point and an end point and counts the sizes of the black white run in the origin point
- // along the line that intersects with the end point. Returns an array of elements, representing the pixel sizes
- // of the black white run. Takes a length which represents the number of switches from black to white to look for.
- function countBlackWhiteRun(origin, end, matrix, length) {
- var _a;
- var rise = end.y - origin.y;
- var run = end.x - origin.x;
- var towardsEnd = countBlackWhiteRunTowardsPoint(
- origin,
- end,
- matrix,
- Math.ceil(length / 2)
- );
- var awayFromEnd = countBlackWhiteRunTowardsPoint(
- origin,
- { x: origin.x - run, y: origin.y - rise },
- matrix,
- Math.ceil(length / 2)
- );
- var middleValue = towardsEnd.shift() + awayFromEnd.shift() - 1; // Substract one so we don't double count a pixel
- return (_a = awayFromEnd.concat(middleValue)).concat.apply(
- _a,
- towardsEnd
- );
- }
- // Takes in a black white run and an array of expected ratios. Returns the average size of the run as well as the "error" -
- // that is the amount the run diverges from the expected ratio
- function scoreBlackWhiteRun(sequence, ratios) {
- var averageSize = sum(sequence) / sum(ratios);
- var error = 0;
- ratios.forEach(function (ratio, i) {
- error += Math.pow(sequence[i] - ratio * averageSize, 2);
- });
- return { averageSize: averageSize, error: error };
- }
- // Takes an X,Y point and an array of sizes and scores the point against those ratios.
- // For example for a finder pattern takes the ratio list of 1:1:3:1:1 and checks horizontal, vertical and diagonal ratios
- // against that.
- function scorePattern(point, ratios, matrix) {
- try {
- var horizontalRun = countBlackWhiteRun(
- point,
- { x: -1, y: point.y },
- matrix,
- ratios.length
- );
- var verticalRun = countBlackWhiteRun(
- point,
- { x: point.x, y: -1 },
- matrix,
- ratios.length
- );
- var topLeftPoint = {
- x: Math.max(0, point.x - point.y) - 1,
- y: Math.max(0, point.y - point.x) - 1,
- };
- var topLeftBottomRightRun = countBlackWhiteRun(
- point,
- topLeftPoint,
- matrix,
- ratios.length
- );
- var bottomLeftPoint = {
- x: Math.min(matrix.width, point.x + point.y) + 1,
- y: Math.min(matrix.height, point.y + point.x) + 1,
- };
- var bottomLeftTopRightRun = countBlackWhiteRun(
- point,
- bottomLeftPoint,
- matrix,
- ratios.length
- );
- var horzError = scoreBlackWhiteRun(horizontalRun, ratios);
- var vertError = scoreBlackWhiteRun(verticalRun, ratios);
- var diagDownError = scoreBlackWhiteRun(
- topLeftBottomRightRun,
- ratios
- );
- var diagUpError = scoreBlackWhiteRun(bottomLeftTopRightRun, ratios);
- var ratioError = Math.sqrt(
- horzError.error * horzError.error +
- vertError.error * vertError.error +
- diagDownError.error * diagDownError.error +
- diagUpError.error * diagUpError.error
- );
- var avgSize =
- (horzError.averageSize +
- vertError.averageSize +
- diagDownError.averageSize +
- diagUpError.averageSize) /
- 4;
- var sizeError =
- (Math.pow(horzError.averageSize - avgSize, 2) +
- Math.pow(vertError.averageSize - avgSize, 2) +
- Math.pow(diagDownError.averageSize - avgSize, 2) +
- Math.pow(diagUpError.averageSize - avgSize, 2)) /
- avgSize;
- return ratioError + sizeError;
- } catch (_a) {
- return Infinity;
- }
- }
- function recenterLocation(matrix, p) {
- var leftX = Math.round(p.x);
- while (matrix.get(leftX, Math.round(p.y))) {
- leftX--;
- }
- var rightX = Math.round(p.x);
- while (matrix.get(rightX, Math.round(p.y))) {
- rightX++;
- }
- var x = (leftX + rightX) / 2;
- var topY = Math.round(p.y);
- while (matrix.get(Math.round(x), topY)) {
- topY--;
- }
- var bottomY = Math.round(p.y);
- while (matrix.get(Math.round(x), bottomY)) {
- bottomY++;
- }
- var y = (topY + bottomY) / 2;
- return { x: x, y: y };
- }
- function locate(matrix) {
- var finderPatternQuads = [];
- var activeFinderPatternQuads = [];
- var alignmentPatternQuads = [];
- var activeAlignmentPatternQuads = [];
- var _loop_1 = function (y) {
- var length_1 = 0;
- var lastBit = false;
- var scans = [0, 0, 0, 0, 0];
- var _loop_2 = function (x) {
- var v = matrix.get(x, y);
- if (v === lastBit) {
- length_1++;
- } else {
- scans = [scans[1], scans[2], scans[3], scans[4], length_1];
- length_1 = 1;
- lastBit = v;
- // Do the last 5 color changes ~ match the expected ratio for a finder pattern? 1:1:3:1:1 of b:w:b:w:b
- var averageFinderPatternBlocksize = sum(scans) / 7;
- var validFinderPattern =
- Math.abs(scans[0] - averageFinderPatternBlocksize) <
- averageFinderPatternBlocksize &&
- Math.abs(scans[1] - averageFinderPatternBlocksize) <
- averageFinderPatternBlocksize &&
- Math.abs(scans[2] - 3 * averageFinderPatternBlocksize) <
- 3 * averageFinderPatternBlocksize &&
- Math.abs(scans[3] - averageFinderPatternBlocksize) <
- averageFinderPatternBlocksize &&
- Math.abs(scans[4] - averageFinderPatternBlocksize) <
- averageFinderPatternBlocksize &&
- !v; // And make sure the current pixel is white since finder patterns are bordered in white
- // Do the last 3 color changes ~ match the expected ratio for an alignment pattern? 1:1:1 of w:b:w
- var averageAlignmentPatternBlocksize = sum(scans.slice(-3)) / 3;
- var validAlignmentPattern =
- Math.abs(scans[2] - averageAlignmentPatternBlocksize) <
- averageAlignmentPatternBlocksize &&
- Math.abs(scans[3] - averageAlignmentPatternBlocksize) <
- averageAlignmentPatternBlocksize &&
- Math.abs(scans[4] - averageAlignmentPatternBlocksize) <
- averageAlignmentPatternBlocksize &&
- v; // Is the current pixel black since alignment patterns are bordered in black
- if (validFinderPattern) {
- // Compute the start and end x values of the large center black square
- var endX_1 = x - scans[3] - scans[4];
- var startX_1 = endX_1 - scans[2];
- var line = { startX: startX_1, endX: endX_1, y: y };
- // Is there a quad directly above the current spot? If so, extend it with the new line. Otherwise, create a new quad with
- // that line as the starting point.
- var matchingQuads = activeFinderPatternQuads.filter(function (
- q
- ) {
- return (
- (startX_1 >= q.bottom.startX &&
- startX_1 <= q.bottom.endX) ||
- (endX_1 >= q.bottom.startX &&
- startX_1 <= q.bottom.endX) ||
- (startX_1 <= q.bottom.startX &&
- endX_1 >= q.bottom.endX &&
- scans[2] / (q.bottom.endX - q.bottom.startX) <
- MAX_QUAD_RATIO &&
- scans[2] / (q.bottom.endX - q.bottom.startX) >
- MIN_QUAD_RATIO)
- );
- });
- if (matchingQuads.length > 0) {
- matchingQuads[0].bottom = line;
- } else {
- activeFinderPatternQuads.push({ top: line, bottom: line });
- }
- }
- if (validAlignmentPattern) {
- // Compute the start and end x values of the center black square
- var endX_2 = x - scans[4];
- var startX_2 = endX_2 - scans[3];
- var line = { startX: startX_2, y: y, endX: endX_2 };
- // Is there a quad directly above the current spot? If so, extend it with the new line. Otherwise, create a new quad with
- // that line as the starting point.
- var matchingQuads = activeAlignmentPatternQuads.filter(
- function (q) {
- return (
- (startX_2 >= q.bottom.startX &&
- startX_2 <= q.bottom.endX) ||
- (endX_2 >= q.bottom.startX &&
- startX_2 <= q.bottom.endX) ||
- (startX_2 <= q.bottom.startX &&
- endX_2 >= q.bottom.endX &&
- scans[2] / (q.bottom.endX - q.bottom.startX) <
- MAX_QUAD_RATIO &&
- scans[2] / (q.bottom.endX - q.bottom.startX) >
- MIN_QUAD_RATIO)
- );
- }
- );
- if (matchingQuads.length > 0) {
- matchingQuads[0].bottom = line;
- } else {
- activeAlignmentPatternQuads.push({
- top: line,
- bottom: line,
- });
- }
- }
- }
- };
- for (var x = -1; x <= matrix.width; x++) {
- _loop_2(x);
- }
- finderPatternQuads.push.apply(
- finderPatternQuads,
- activeFinderPatternQuads.filter(function (q) {
- return q.bottom.y !== y && q.bottom.y - q.top.y >= 2;
- })
- );
- activeFinderPatternQuads = activeFinderPatternQuads.filter(
- function (q) {
- return q.bottom.y === y;
- }
- );
- alignmentPatternQuads.push.apply(
- alignmentPatternQuads,
- activeAlignmentPatternQuads.filter(function (q) {
- return q.bottom.y !== y;
- })
- );
- activeAlignmentPatternQuads = activeAlignmentPatternQuads.filter(
- function (q) {
- return q.bottom.y === y;
- }
- );
- };
- for (var y = 0; y <= matrix.height; y++) {
- _loop_1(y);
- }
- finderPatternQuads.push.apply(
- finderPatternQuads,
- activeFinderPatternQuads.filter(function (q) {
- return q.bottom.y - q.top.y >= 2;
- })
- );
- alignmentPatternQuads.push.apply(
- alignmentPatternQuads,
- activeAlignmentPatternQuads
- );
- var finderPatternGroups = finderPatternQuads
- .filter(function (q) {
- return q.bottom.y - q.top.y >= 2;
- }) // All quads must be at least 2px tall since the center square is larger than a block
- .map(function (q) {
- var x =
- (q.top.startX + q.top.endX + q.bottom.startX + q.bottom.endX) /
- 4;
- var y = (q.top.y + q.bottom.y + 1) / 2;
- if (!matrix.get(Math.round(x), Math.round(y))) {
- return;
- }
- var lengths = [
- q.top.endX - q.top.startX,
- q.bottom.endX - q.bottom.startX,
- q.bottom.y - q.top.y + 1,
- ];
- var size = sum(lengths) / lengths.length;
- var score = scorePattern(
- { x: Math.round(x), y: Math.round(y) },
- [1, 1, 3, 1, 1],
- matrix
- );
- return { score: score, x: x, y: y, size: size };
- })
- .filter(function (q) {
- return !!q;
- }) // Filter out any rejected quads from above
- .sort(function (a, b) {
- return a.score - b.score;
- })
- // Now take the top finder pattern options and try to find 2 other options with a similar size.
- .map(function (point, i, finderPatterns) {
- if (i > MAX_FINDERPATTERNS_TO_SEARCH) {
- return null;
- }
- var otherPoints = finderPatterns
- .filter(function (p, ii) {
- return i !== ii;
- })
- .map(function (p) {
- return {
- x: p.x,
- y: p.y,
- score:
- p.score + Math.pow(p.size - point.size, 2) / point.size,
- size: p.size,
- };
- })
- .sort(function (a, b) {
- return a.score - b.score;
- });
- if (otherPoints.length < 2) {
- return null;
- }
- var score =
- point.score + otherPoints[0].score + otherPoints[1].score;
- return {
- points: [point].concat(otherPoints.slice(0, 2)),
- score: score,
- };
- })
- .filter(function (q) {
- return !!q;
- }) // Filter out any rejected finder patterns from above
- .sort(function (a, b) {
- return a.score - b.score;
- });
- if (finderPatternGroups.length === 0) {
- return null;
- }
- var _a = reorderFinderPatterns(
- finderPatternGroups[0].points[0],
- finderPatternGroups[0].points[1],
- finderPatternGroups[0].points[2]
- ),
- topRight = _a.topRight,
- topLeft = _a.topLeft,
- bottomLeft = _a.bottomLeft;
- var alignment = findAlignmentPattern(
- matrix,
- alignmentPatternQuads,
- topRight,
- topLeft,
- bottomLeft
- );
- var result = [];
- if (alignment) {
- result.push({
- alignmentPattern: {
- x: alignment.alignmentPattern.x,
- y: alignment.alignmentPattern.y,
- },
- bottomLeft: { x: bottomLeft.x, y: bottomLeft.y },
- dimension: alignment.dimension,
- topLeft: { x: topLeft.x, y: topLeft.y },
- topRight: { x: topRight.x, y: topRight.y },
- });
- }
- // We normally use the center of the quads as the location of the tracking points, which is optimal for most cases and will account
- // for a skew in the image. However, In some cases, a slight skew might not be real and instead be caused by image compression
- // errors and/or low resolution. For those cases, we'd be better off centering the point exactly in the middle of the black area. We
- // compute and return the location data for the naively centered points as it is little additional work and allows for multiple
- // attempts at decoding harder images.
- var midTopRight = recenterLocation(matrix, topRight);
- var midTopLeft = recenterLocation(matrix, topLeft);
- var midBottomLeft = recenterLocation(matrix, bottomLeft);
- var centeredAlignment = findAlignmentPattern(
- matrix,
- alignmentPatternQuads,
- midTopRight,
- midTopLeft,
- midBottomLeft
- );
- if (centeredAlignment) {
- result.push({
- alignmentPattern: {
- x: centeredAlignment.alignmentPattern.x,
- y: centeredAlignment.alignmentPattern.y,
- },
- bottomLeft: { x: midBottomLeft.x, y: midBottomLeft.y },
- topLeft: { x: midTopLeft.x, y: midTopLeft.y },
- topRight: { x: midTopRight.x, y: midTopRight.y },
- dimension: centeredAlignment.dimension,
- });
- }
- if (result.length === 0) {
- return null;
- }
- return result;
- }
- exports.locate = locate;
- function findAlignmentPattern(
- matrix,
- alignmentPatternQuads,
- topRight,
- topLeft,
- bottomLeft
- ) {
- var _a;
- // Now that we've found the three finder patterns we can determine the blockSize and the size of the QR code.
- // We'll use these to help find the alignment pattern but also later when we do the extraction.
- var dimension;
- var moduleSize;
- try {
- (_a = computeDimension(topLeft, topRight, bottomLeft, matrix)),
- (dimension = _a.dimension),
- (moduleSize = _a.moduleSize);
- } catch (e) {
- return null;
- }
- // Now find the alignment pattern
- var bottomRightFinderPattern = {
- x: topRight.x - topLeft.x + bottomLeft.x,
- y: topRight.y - topLeft.y + bottomLeft.y,
- };
- var modulesBetweenFinderPatterns =
- (distance(topLeft, bottomLeft) + distance(topLeft, topRight)) /
- 2 /
- moduleSize;
- var correctionToTopLeft = 1 - 3 / modulesBetweenFinderPatterns;
- var expectedAlignmentPattern = {
- x:
- topLeft.x +
- correctionToTopLeft * (bottomRightFinderPattern.x - topLeft.x),
- y:
- topLeft.y +
- correctionToTopLeft * (bottomRightFinderPattern.y - topLeft.y),
- };
- var alignmentPatterns = alignmentPatternQuads
- .map(function (q) {
- var x =
- (q.top.startX + q.top.endX + q.bottom.startX + q.bottom.endX) /
- 4;
- var y = (q.top.y + q.bottom.y + 1) / 2;
- if (!matrix.get(Math.floor(x), Math.floor(y))) {
- return;
- }
- var lengths = [
- q.top.endX - q.top.startX,
- q.bottom.endX - q.bottom.startX,
- q.bottom.y - q.top.y + 1,
- ];
- var size = sum(lengths) / lengths.length;
- var sizeScore = scorePattern(
- { x: Math.floor(x), y: Math.floor(y) },
- [1, 1, 1],
- matrix
- );
- var score =
- sizeScore + distance({ x: x, y: y }, expectedAlignmentPattern);
- return { x: x, y: y, score: score };
- })
- .filter(function (v) {
- return !!v;
- })
- .sort(function (a, b) {
- return a.score - b.score;
- });
- // If there are less than 15 modules between finder patterns it's a version 1 QR code and as such has no alignmemnt pattern
- // so we can only use our best guess.
- var alignmentPattern =
- modulesBetweenFinderPatterns >= 15 && alignmentPatterns.length
- ? alignmentPatterns[0]
- : expectedAlignmentPattern;
- return { alignmentPattern: alignmentPattern, dimension: dimension };
- }
-
- /***/
- },
- /******/
- ]
- )["default"];
-});
diff --git a/components/mumu-getQrcode/loadJs.js b/components/mumu-getQrcode/loadJs.js
new file mode 100644
index 0000000..94ce8e6
--- /dev/null
+++ b/components/mumu-getQrcode/loadJs.js
@@ -0,0 +1,16 @@
+function loadJs() {
+ return new Promise((resolve,reject)=>{
+ let script = document.createElement('script');
+ script.type = "text/javascript";
+ script.src= '//h5plugin.mumudev.top/public/getOneCode/quagga.min.js';
+ document.body.appendChild(script);
+ script.onload = ()=>{
+ resolve();
+ }
+ script.onerror = ()=>{
+ reject();
+ }
+ })
+}
+
+export default loadJs
\ No newline at end of file
diff --git a/components/mumu-getQrcode/mumu-getQrcode.vue b/components/mumu-getQrcode/mumu-getQrcode.vue
deleted file mode 100644
index 44acf80..0000000
--- a/components/mumu-getQrcode/mumu-getQrcode.vue
+++ /dev/null
@@ -1,418 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- {{ trackStatus ? '关闭闪光灯' : '打开闪光灯' }}
-
-
-
-
-
-
-
-
-
-
-
- 相机权限被拒绝,请尝试如下操作:
- · 刷新页面后重试;
- · 在系统中检测当前App或浏览器的相机权限是否被禁用;
- · 如果依然不能体验,建议在微信中打开链接;
-
-
-
-
-
-
-
-
-
diff --git a/components/mumu-getQrcode/mumu-oneCode.vue b/components/mumu-getQrcode/mumu-oneCode.vue
new file mode 100644
index 0000000..bd5e261
--- /dev/null
+++ b/components/mumu-getQrcode/mumu-oneCode.vue
@@ -0,0 +1,408 @@
+
+
+
+
+
+
+
+
+
+ {{ trackStatus ? '关闭闪光灯' : '打开闪光灯' }}
+
+
+
+
+
+
+
+
+
+
diff --git a/components/mumu-getQrcode/quagga.min.js b/components/mumu-getQrcode/quagga.min.js
new file mode 100644
index 0000000..87c8d54
--- /dev/null
+++ b/components/mumu-getQrcode/quagga.min.js
@@ -0,0 +1,4 @@
+!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Quagga=e():t.Quagga=e()}(window,(function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/",n(n.s=72)}([function(t,e){t.exports=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e){t.exports=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e){function n(e){return t.exports=n=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},t.exports.__esModule=!0,t.exports.default=t.exports,n(e)}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e){t.exports=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e){function n(t,e){for(var n=0;n0&&(o=1/Math.sqrt(o)),t[0]=e[0]*o,t[1]=e[1]*o,t}function st(t,e){return t[0]*e[0]+t[1]*e[1]}function ft(t,e,n){var r=e[0]*n[1]-e[1]*n[0];return t[0]=t[1]=0,t[2]=r,t}function lt(t,e,n,r){var o=e[0],i=e[1];return t[0]=o+r*(n[0]-o),t[1]=i+r*(n[1]-i),t}function dt(t,e){e=e||1;var n=2*s()*Math.PI;return t[0]=Math.cos(n)*e,t[1]=Math.sin(n)*e,t}function ht(t,e,n){var r=e[0],o=e[1];return t[0]=n[0]*r+n[2]*o,t[1]=n[1]*r+n[3]*o,t}function vt(t,e,n){var r=e[0],o=e[1];return t[0]=n[0]*r+n[2]*o+n[4],t[1]=n[1]*r+n[3]*o+n[5],t}function pt(t,e,n){var r=e[0],o=e[1];return t[0]=n[0]*r+n[3]*o+n[6],t[1]=n[1]*r+n[4]*o+n[7],t}function yt(t,e,n){var r=e[0],o=e[1];return t[0]=n[0]*r+n[4]*o+n[12],t[1]=n[1]*r+n[5]*o+n[13],t}function gt(t,e,n,r){var o=e[0]-n[0],i=e[1]-n[1],a=Math.sin(r),u=Math.cos(r);return t[0]=o*u-i*a+n[0],t[1]=o*a+i*u+n[1],t}function xt(t,e){var n=t[0],r=t[1],o=e[0],i=e[1],a=Math.sqrt(n*n+r*r)*Math.sqrt(o*o+i*i),u=a&&(n*o+r*i)/a;return Math.acos(Math.min(Math.max(u,-1),1))}function mt(t){return t[0]=0,t[1]=0,t}function _t(t){return"vec2("+t[0]+", "+t[1]+")"}function bt(t,e){return t[0]===e[0]&&t[1]===e[1]}function wt(t,e){var n=t[0],r=t[1],o=e[0],i=e[1];return Math.abs(n-o)<=u*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(r-i)<=u*Math.max(1,Math.abs(r),Math.abs(i))}var Ot,Rt=ot,Mt=H,Ct=X,Et=Q,At=nt,St=rt,kt=it,Pt=(Ot=F(),function(t,e,n,r,o,i){var a,u;for(e||(e=2),n||(n=0),u=r?Math.min(r*e+n,t.length):t.length,a=n;a0&&(i=1/Math.sqrt(i)),t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t}function ee(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function ne(t,e,n){var r=e[0],o=e[1],i=e[2],a=n[0],u=n[1],c=n[2];return t[0]=o*c-i*u,t[1]=i*a-r*c,t[2]=r*u-o*a,t}function re(t,e,n,r){var o=e[0],i=e[1],a=e[2];return t[0]=o+r*(n[0]-o),t[1]=i+r*(n[1]-i),t[2]=a+r*(n[2]-a),t}function oe(t,e,n,r,o,i){var a=i*i,u=a*(2*i-3)+1,c=a*(i-2)+i,s=a*(i-1),f=a*(3-2*i);return t[0]=e[0]*u+n[0]*c+r[0]*s+o[0]*f,t[1]=e[1]*u+n[1]*c+r[1]*s+o[1]*f,t[2]=e[2]*u+n[2]*c+r[2]*s+o[2]*f,t}function ie(t,e,n,r,o,i){var a=1-i,u=a*a,c=i*i,s=u*a,f=3*i*u,l=3*c*a,d=c*i;return t[0]=e[0]*s+n[0]*f+r[0]*l+o[0]*d,t[1]=e[1]*s+n[1]*f+r[1]*l+o[1]*d,t[2]=e[2]*s+n[2]*f+r[2]*l+o[2]*d,t}function ae(t,e){e=e||1;var n=2*s()*Math.PI,r=2*s()-1,o=Math.sqrt(1-r*r)*e;return t[0]=Math.cos(n)*o,t[1]=Math.sin(n)*o,t[2]=r*e,t}function ue(t,e,n){var r=e[0],o=e[1],i=e[2],a=n[3]*r+n[7]*o+n[11]*i+n[15];return a=a||1,t[0]=(n[0]*r+n[4]*o+n[8]*i+n[12])/a,t[1]=(n[1]*r+n[5]*o+n[9]*i+n[13])/a,t[2]=(n[2]*r+n[6]*o+n[10]*i+n[14])/a,t}function ce(t,e,n){var r=e[0],o=e[1],i=e[2];return t[0]=r*n[0]+o*n[3]+i*n[6],t[1]=r*n[1]+o*n[4]+i*n[7],t[2]=r*n[2]+o*n[5]+i*n[8],t}function se(t,e,n){var r=n[0],o=n[1],i=n[2],a=n[3],u=e[0],c=e[1],s=e[2],f=o*s-i*c,l=i*u-r*s,d=r*c-o*u,h=o*d-i*l,v=i*f-r*d,p=r*l-o*f,y=2*a;return f*=y,l*=y,d*=y,h*=2,v*=2,p*=2,t[0]=u+f+h,t[1]=c+l+v,t[2]=s+d+p,t}function fe(t,e,n,r){var o=[],i=[];return o[0]=e[0]-n[0],o[1]=e[1]-n[1],o[2]=e[2]-n[2],i[0]=o[0],i[1]=o[1]*Math.cos(r)-o[2]*Math.sin(r),i[2]=o[1]*Math.sin(r)+o[2]*Math.cos(r),t[0]=i[0]+n[0],t[1]=i[1]+n[1],t[2]=i[2]+n[2],t}function le(t,e,n,r){var o=[],i=[];return o[0]=e[0]-n[0],o[1]=e[1]-n[1],o[2]=e[2]-n[2],i[0]=o[2]*Math.sin(r)+o[0]*Math.cos(r),i[1]=o[1],i[2]=o[2]*Math.cos(r)-o[0]*Math.sin(r),t[0]=i[0]+n[0],t[1]=i[1]+n[1],t[2]=i[2]+n[2],t}function de(t,e,n,r){var o=[],i=[];return o[0]=e[0]-n[0],o[1]=e[1]-n[1],o[2]=e[2]-n[2],i[0]=o[0]*Math.cos(r)-o[1]*Math.sin(r),i[1]=o[0]*Math.sin(r)+o[1]*Math.cos(r),i[2]=o[2],t[0]=i[0]+n[0],t[1]=i[1]+n[1],t[2]=i[2]+n[2],t}function he(t,e){var n=t[0],r=t[1],o=t[2],i=e[0],a=e[1],u=e[2],c=Math.sqrt(n*n+r*r+o*o)*Math.sqrt(i*i+a*a+u*u),s=c&&ee(t,e)/c;return Math.acos(Math.min(Math.max(s,-1),1))}function ve(t){return t[0]=0,t[1]=0,t[2]=0,t}function pe(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"}function ye(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}function ge(t,e){var n=t[0],r=t[1],o=t[2],i=e[0],a=e[1],c=e[2];return Math.abs(n-i)<=u*Math.max(1,Math.abs(n),Math.abs(i))&&Math.abs(r-a)<=u*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(o-c)<=u*Math.max(1,Math.abs(o),Math.abs(c))}var xe=Nt,me=Ft,_e=Bt,be=Yt,we=$t,Oe=jt,Re=Zt,Me=function(){var t=Tt();return function(e,n,r,o,i,a){var u,c;for(n||(n=3),r||(r=0),c=o?Math.min(o*n+r,e.length):e.length,u=r;u0;e--){var n=Math.floor(Math.random()*(e+1)),r=[t[n],t[e]];t[e]=r[0],t[n]=r[1]}return t},toPointList:function(t){var e=t.reduce((function(t,e){var n="[".concat(e.join(","),"]");return t.push(n),t}),[]);return"[".concat(e.join(",\r\n"),"]")},threshold:function(t,e,n){return t.reduce((function(r,o){return n.apply(t,[o])>=e&&r.push(o),r}),[])},maxIndex:function(t){for(var e=0,n=0;nt[e]&&(e=n);return e},max:function(t){for(var e=0,n=0;ne&&(e=t[n]);return e},sum:function(t){for(var e=t.length,n=0;e--;)n+=t[e];return n}}},function(t,e,n){"use strict";n.d(e,"h",(function(){return u})),n.d(e,"i",(function(){return s})),n.d(e,"b",(function(){return f})),n.d(e,"j",(function(){return l})),n.d(e,"e",(function(){return d})),n.d(e,"c",(function(){return h})),n.d(e,"f",(function(){return v})),n.d(e,"g",(function(){return p})),n.d(e,"a",(function(){return g})),n.d(e,"d",(function(){return m}));var r=n(5),o=n(9);r.a.setMatrixArrayType(Array);var i=function(t,e){var n=[],o={rad:0,vec:r.c.clone([0,0])},i={};function a(t){i[t.id]=t,n.push(t)}function u(){var t,e=0;for(t=0;te},getPoints:function(){return n},getCenter:function(){return o}}},a=function(t,e,n){return{rad:t[n],point:t,id:e}};function u(t,e){return{x:t,y:e,toVec2:function(){return r.c.clone([this.x,this.y])},toVec3:function(){return r.d.clone([this.x,this.y,1])},round:function(){return this.x=this.x>0?Math.floor(this.x+.5):Math.floor(this.x-.5),this.y=this.y>0?Math.floor(this.y+.5):Math.floor(this.y-.5),this}}}function c(t,e){e||(e=8);for(var n=t.data,r=n.length,o=8-e,i=new Int32Array(1<>o]++;return i}function s(t,e){var n=function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8,r=8-n;function i(t,n){for(var r=0,o=t;o<=n;o++)r+=e[o];return r}function a(t,n){for(var r=0,o=t;o<=n;o++)r+=o*e[o];return r}function u(){var r,u,s,f,l=[0],d=(1<c)for((i=s[u]).score=o,i.item=t[r],c=Number.MAX_VALUE,a=0;a1&&void 0!==arguments[1]?arguments[1]:[0,0,0],n=t[0],r=t[1],o=t[2],i=o*r,a=i*(1-Math.abs(n/60%2-1)),u=o-i,c=0,s=0,f=0;return n<60?(c=i,s=a):n<120?(c=a,s=i):n<180?(s=i,f=a):n<240?(s=a,f=i):n<300?(c=a,f=i):n<360&&(c=i,f=a),e[0]=255*(c+u)|0,e[1]=255*(s+u)|0,e[2]=255*(f+u)|0,e}function y(t){for(var e=[],n=[],r=1;re[r]?r++:n++;return o}(r,o),u=[8,10,15,20,32,60,80],c={"x-small":5,small:4,medium:3,large:2,"x-large":1},s=c[t]||c.medium,f=u[s],l=Math.floor(i/f);function d(t){for(var e=0,n=t[Math.floor(t.length/2)];e0&&(n=Math.abs(t[e]-l)>Math.abs(t[e-1]-l)?t[e-1]:t[e]),l/nu[s-1]/u[s]?{x:n,y:n}:null}return(n=d(a))||(n=d(y(i)))||(n=d(y(l*f))),n}var x={top:function(t,e){return"%"===t.unit?Math.floor(e.height*(t.value/100)):null},right:function(t,e){return"%"===t.unit?Math.floor(e.width-e.width*(t.value/100)):null},bottom:function(t,e){return"%"===t.unit?Math.floor(e.height-e.height*(t.value/100)):null},left:function(t,e){return"%"===t.unit?Math.floor(e.width*(t.value/100)):null}};function m(t,e,n){var r={width:t,height:e},o=Object.keys(n).reduce((function(t,e){var o=function(t){return{value:parseFloat(t),unit:(t.indexOf("%"),t.length,"%")}}(n[e]),i=x[e](o,r);return t[e]=i,t}),{});return{sx:o.left,sy:o.top,sw:o.right-o.left,sh:o.bottom-o.top}}},function(t,e,n){"use strict";var r=n(61),o=n.n(r),i=n(3),a=n.n(i),u=n(4),c=n.n(u),s=n(0),f=n.n(s),l=n(5),d=n(9),h=n(10);function v(t){if(t<0)throw new Error("expected positive number, received ".concat(t))}l.a.setMatrixArrayType(Array);var p=function(){function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Uint8Array,o=arguments.length>3?arguments[3]:void 0;a()(this,t),f()(this,"data",void 0),f()(this,"size",void 0),f()(this,"indexMapping",void 0),n?this.data=n:(this.data=new r(e.x*e.y),o&&d.a.init(this.data,0)),this.size=e}return c()(t,[{key:"inImageWithBorder",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return v(e),t.x>=0&&t.y>=0&&t.x0&&((a=p[r-1]).m00+=1,a.m01+=n,a.m10+=e,a.m11+=e*n,a.m02+=o,a.m20+=e*e);for(i=0;i=0?x:-x)+g,a.theta=(180*f/g+90)%180-90,a.theta<0&&(a.theta+=180),a.rad=f>g?f-g:f,a.vec=l.c.clone([Math.cos(f),Math.sin(f)]),y.push(a));return y}},{key:"getAsRGBA",value:function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=new Uint8ClampedArray(4*this.size.x*this.size.y),n=0;n1&&void 0!==arguments[1]?arguments[1]:1;console.warn("* imagewrapper show getcontext 2d");var n=t.getContext("2d");if(!n)throw new Error("Unable to get canvas context");var r=n.getImageData(0,0,t.width,t.height),o=this.getAsRGBA(e);t.width=this.size.x,t.height=this.size.y;var i=new ImageData(o,r.width,r.height);n.putImageData(i,0,0)}},{key:"overlay",value:function(t,e,n){var r=e<0||e>360?360:e,i=[0,1,1],a=[0,0,0],u=[255,255,255],c=[0,0,0];console.warn("* imagewrapper overlay getcontext 2d");var s=t.getContext("2d");if(!s)throw new Error("Unable to get canvas context");for(var f=s.getImageData(n.x,n.y,this.size.x,this.size.y),l=f.data,d=this.data.length;d--;){i[0]=this.data[d]*r;var v=4*d,p=i[0]<=0?u:i[0]>=360?c:Object(h.g)(i,a),y=o()(p,3);l[v]=y[0],l[v+1]=y[1],l[v+2]=y[2],l[v+3]=255}s.putImageData(f,n.x,n.y)}}]),t}();e.a=p},function(t,e){function n(t,e,n,r,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void n(t)}u.done?e(c):Promise.resolve(c).then(r,o)}t.exports=function(t){return function(){var e=this,r=arguments;return new Promise((function(o,i){var a=t.apply(e,r);function u(t){n(a,o,i,u,c,"next",t)}function c(t){n(a,o,i,u,c,"throw",t)}u(void 0)}))}},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e,n){var r=n(140);function o(){return"undefined"!=typeof Reflect&&Reflect.get?(t.exports=o=Reflect.get.bind(),t.exports.__esModule=!0,t.exports.default=t.exports):(t.exports=o=function(t,e,n){var o=r(t,e);if(o){var i=Object.getOwnPropertyDescriptor(o,e);return i.get?i.get.call(arguments.length<3?t:n):i.value}},t.exports.__esModule=!0,t.exports.default=t.exports),o.apply(this,arguments)}t.exports=o,t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e){t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},function(t,e){var n=Array.isArray;t.exports=n},function(t,e,n){"use strict";e.a={drawRect:function(t,e,n,r){n.strokeStyle=r.color,n.fillStyle=r.color,n.lineWidth=r.lineWidth||1,n.beginPath(),n.strokeRect(t.x,t.y,e.x,e.y)},drawPath:function(t,e,n,r){n.strokeStyle=r.color,n.fillStyle=r.color,n.lineWidth=r.lineWidth,n.beginPath(),n.moveTo(t[0][e.x],t[0][e.y]);for(var o=1;od&&(d=i.box[o][0]),i.box[o][1]v&&(v=i.box[o][1]);for(u=[[s,f],[d,f],[d,v],[s,v]],c=r.halfSample?2:1,a=h.b.invert(a,a),o=0;o<4;o++)h.c.transformMat2(u[o],u[o],a);for(o=0;o<4;o++)h.c.scale(u[o],u[o],c);return u}function M(t,e){l.subImageAsCopy(a,Object(p.h)(t,e)),b.skeletonize()}function C(t,e,n,r){var o,i,u,c,s=[],f=[],l=Math.ceil(d.x/3);if(t.length>=2){for(o=0;ol&&s.push(t[o]);if(s.length>=2){for(u=function(t){var e=Object(p.b)(t,.9),n=Object(p.j)(e,1,(function(t){return t.getPoints().length})),r=[],o=[];if(1===n.length){r=n[0].item.getPoints();for(var i=0;i1&&u.length>=s.length/4*3&&u.length>t.length/4&&(i/=u.length,c={index:e[1]*O.x+e[0],pos:{x:n,y:r},box:[h.c.clone([n,r]),h.c.clone([n+a.size.x,r]),h.c.clone([n+a.size.x,r+a.size.y]),h.c.clone([n,r+a.size.y])],moments:u,rad:i,vec:h.c.clone([Math.cos(i),Math.sin(i)])},f.push(c))}}return f}e.a={init:function(e,n){r=n,_=e,function(){o=r.halfSample?new v.a({x:_.size.x/2|0,y:_.size.y/2|0}):_,d=Object(p.a)(r.patchSize,o.size),O.x=o.size.x/d.x|0,O.y=o.size.y/d.y|0,l=new v.a(o.size,void 0,Uint8Array,!1),u=new v.a(d,void 0,Array,!0);var e=new ArrayBuffer(65536);a=new v.a(d,new Uint8Array(e,0,d.x*d.y)),i=new v.a(d,new Uint8Array(e,d.x*d.y*3,d.x*d.y),void 0,!0),b=Object(m.a)("undefined"!=typeof window?window:"undefined"!=typeof self?self:t,{size:d.x},e),f=new v.a({x:o.size.x/a.size.x|0,y:o.size.y/a.size.y|0},void 0,Array,!0),c=new v.a(f.size,void 0,void 0,!0),s=new v.a(f.size,void 0,Int32Array,!0)}(),function(){if(!r.useWorker&&"undefined"!=typeof document){w.dom.binary=document.createElement("canvas"),w.dom.binary.className="binaryBuffer";var t=!!r.willReadFrequently;console.warn("* initCanvas willReadFrequently",t,r),w.ctx.binary=w.dom.binary.getContext("2d",{willReadFrequently:t}),w.dom.binary.width=l.size.x,w.dom.binary.height=l.size.y}}()},locate:function(){r.halfSample&&Object(p.f)(_,o),Object(p.i)(o,l),l.zeroBorder();var t=function(){var t,e,n,r,o,c,s=[];for(t=0;t.95&&a(i):s.data[i]=Number.MAX_VALUE}for(y.a.init(c.data,0),y.a.init(s.data,0),y.a.init(f.data,null),e=0;e0&&r[s.data[n]-1]++;return(r=r.map((function(t,e){return{val:t,label:e+1}}))).sort((function(t,e){return e.val-t.val})),r.filter((function(t){return t.val>=5}))}(e);return 0===n.length?null:function(t,e){var n,r,o,i,a=[],u=[];for(n=0;n-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991}},function(t,e){function n(e,r){return t.exports=n=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},t.exports.__esModule=!0,t.exports.default=t.exports,n(e,r)}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e,n){var r=n(22),o=n(20);t.exports=function(t){return"symbol"==typeof t||o(t)&&"[object Symbol]"==r(t)}},function(t,e,n){var r=n(41);t.exports=function(t){if("string"==typeof t||r(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}},function(t,e,n){var r=n(34)(n(19),"Map");t.exports=r},function(t,e,n){(function(e){var n="object"==typeof e&&e&&e.Object===Object&&e;t.exports=n}).call(this,n(45))},function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){var r=n(92),o=n(99),i=n(101),a=n(102),u=n(103);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++et.length)&&(e=t.length);for(var n=0,r=new Array(e);n0){a=a-1|0;r[n+a|0]=(r[t+a|0]|0)-(r[e+a|0]|0)|0}}function c(t,e,n){t|=0;e|=0;n|=0;var a=0;a=i(o,o)|0;while((a|0)>0){a=a-1|0;r[n+a|0]=r[t+a|0]|0|(r[e+a|0]|0)|0}}function s(t){t|=0;var e=0;var n=0;n=i(o,o)|0;while((n|0)>0){n=n-1|0;e=(e|0)+(r[t+n|0]|0)|0}return e|0}function f(t,e){t|=0;e|=0;var n=0;n=i(o,o)|0;while((n|0)>0){n=n-1|0;r[t+n|0]=e}}function l(t,e){t|=0;e|=0;var n=0;var i=0;var a=0;var u=0;var c=0;var s=0;var f=0;var l=0;for(n=1;(n|0)<(o-1|0);n=n+1|0){l=l+o|0;for(i=1;(i|0)<(o-1|0);i=i+1|0){u=l-o|0;c=l+o|0;s=i-1|0;f=i+1|0;a=(r[t+u+s|0]|0)+(r[t+u+f|0]|0)+(r[t+l+i|0]|0)+(r[t+c+s|0]|0)+(r[t+c+f|0]|0)|0;if((a|0)>(0|0)){r[e+l+i|0]=1}else{r[e+l+i|0]=0}}}}function d(t,e){t|=0;e|=0;var n=0;n=i(o,o)|0;while((n|0)>0){n=n-1|0;r[e+n|0]=r[t+n|0]|0}}function h(t){t|=0;var e=0;var n=0;for(e=0;(e|0)<(o-1|0);e=e+1|0){r[t+e|0]=0;r[t+n|0]=0;n=n+o-1|0;r[t+n|0]=0;n=n+1|0}for(e=0;(e|0)<(o|0);e=e+1|0){r[t+n|0]=0;n=n+1|0}}function v(){var t=0;var e=0;var n=0;var r=0;var v=0;var p=0;e=i(o,o)|0;n=e+e|0;r=n+e|0;f(r,0);h(t);do{a(t,e);l(e,n);u(t,n,n);c(r,n,r);d(e,t);v=s(t)|0;p=(v|0)==0|0}while(!p)}return{skeletonize:v}}},,,,,,,function(t,e,n){t.exports=n(166)},function(t,e,n){var r=n(74),o=n(47),i=n(104),a=n(106),u=n(14),c=n(55),s=n(53);t.exports=function t(e,n,f,l,d){e!==n&&i(n,(function(i,c){if(d||(d=new r),u(i))a(e,n,c,f,t,l,d);else{var h=l?l(s(e,c),i,c+"",e,n,d):void 0;void 0===h&&(h=i),o(e,c,h)}}),c)}},function(t,e,n){var r=n(24),o=n(80),i=n(81),a=n(82),u=n(83),c=n(84);function s(t){var e=this.__data__=new r(t);this.size=e.size}s.prototype.clear=o,s.prototype.delete=i,s.prototype.get=a,s.prototype.has=u,s.prototype.set=c,t.exports=s},function(t,e){t.exports=function(){this.__data__=[],this.size=0}},function(t,e,n){var r=n(25),o=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=r(e,t);return!(n<0)&&(n==e.length-1?e.pop():o.call(e,n,1),--this.size,!0)}},function(t,e,n){var r=n(25);t.exports=function(t){var e=this.__data__,n=r(e,t);return n<0?void 0:e[n][1]}},function(t,e,n){var r=n(25);t.exports=function(t){return r(this.__data__,t)>-1}},function(t,e,n){var r=n(25);t.exports=function(t,e){var n=this.__data__,o=r(n,t);return o<0?(++this.size,n.push([t,e])):n[o][1]=e,this}},function(t,e,n){var r=n(24);t.exports=function(){this.__data__=new r,this.size=0}},function(t,e){t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},function(t,e){t.exports=function(t){return this.__data__.get(t)}},function(t,e){t.exports=function(t){return this.__data__.has(t)}},function(t,e,n){var r=n(24),o=n(43),i=n(46);t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!o||a.length<199)return a.push([t,e]),this.size=++n.size,this;n=this.__data__=new i(a)}return n.set(t,e),this.size=n.size,this}},function(t,e,n){var r=n(35),o=n(88),i=n(14),a=n(90),u=/^\[object .+?Constructor\]$/,c=Function.prototype,s=Object.prototype,f=c.toString,l=s.hasOwnProperty,d=RegExp("^"+f.call(l).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!i(t)||o(t))&&(r(t)?d:u).test(a(t))}},function(t,e,n){var r=n(27),o=Object.prototype,i=o.hasOwnProperty,a=o.toString,u=r?r.toStringTag:void 0;t.exports=function(t){var e=i.call(t,u),n=t[u];try{t[u]=void 0;var r=!0}catch(t){}var o=a.call(t);return r&&(e?t[u]=n:delete t[u]),o}},function(t,e){var n=Object.prototype.toString;t.exports=function(t){return n.call(t)}},function(t,e,n){var r,o=n(89),i=(r=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";t.exports=function(t){return!!i&&i in t}},function(t,e,n){var r=n(19)["__core-js_shared__"];t.exports=r},function(t,e){var n=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return n.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},function(t,e){t.exports=function(t,e){return null==t?void 0:t[e]}},function(t,e,n){var r=n(93),o=n(24),i=n(43);t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(i||o),string:new r}}},function(t,e,n){var r=n(94),o=n(95),i=n(96),a=n(97),u=n(98);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e1?n[i-1]:void 0,u=i>2?n[2]:void 0;for(a=t.length>3&&"function"==typeof a?(i--,a):void 0,u&&o(n[0],n[1],u)&&(a=i<3?void 0:a,i=1),e=Object(e);++r0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}},function(t,e,n){var r=n(26),o=n(38),i=n(31),a=n(14);t.exports=function(t,e,n){if(!a(n))return!1;var u=typeof e;return!!("number"==u?o(n)&&i(e,n.length):"string"==u&&e in n)&&r(n[e],t)}},function(t,e){"undefined"!=typeof window&&(window.requestAnimationFrame||(window.requestAnimationFrame=window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){window.setTimeout(t,1e3/60)})),"function"!=typeof Math.imul&&(Math.imul=function(t,e){var n=65535&t,r=65535&e;return n*r+((t>>>16&65535)*r+n*(e>>>16&65535)<<16>>>0)|0}),"function"!=typeof Object.assign&&(Object.assign=function(t){"use strict";if(null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n=0;--r){var o=this.tryEntries[r],a=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var u=i.call(o,"catchLoc"),c=i.call(o,"finallyLoc");if(u&&c){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&i.call(r,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),E(n),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;E(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:S(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),v}},e}t.exports=o,t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e,n){var r=n(2);t.exports=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=r(t)););return t},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e,n){var r=n(60);t.exports=function(t){if(Array.isArray(t))return r(t)},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e){t.exports=function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e){t.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e,n){var r=n(145),o=n(155);t.exports=function(t,e){return r(t,e,(function(e,n){return o(t,n)}))}},function(t,e,n){var r=n(146),o=n(154),i=n(32);t.exports=function(t,e,n){for(var a=-1,u=e.length,c={};++a0&&i(f)?n>1?t(f,n-1,i,a,u):r(u,f):a||(u[u.length]=f)}return u}},function(t,e){t.exports=function(t,e){for(var n=-1,r=e.length,o=t.length;++n1&&void 0!==arguments[1]?arguments[1]:0,n=e;n2&&void 0!==arguments[2]?arguments[2]:this.SINGLE_CODE_ERROR||1,r=0,o=0,i=0,a=0,u=0,c=0,s=0,f=0;fn)return Number.MAX_VALUE;r+=o}return r/a}},{key:"_nextSet",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=e;n1&&(t[n[r]]=o)}},{key:"decodePattern",value:function(t){this._row=t;var e=this.decode();return null===e?(this._row.reverse(),(e=this.decode())&&(e.direction=o.Reverse,e.start=this._row.length-e.start,e.end=this._row.length-e.end)):e.direction=o.Forward,e&&(e.format=this.FORMAT),e}},{key:"_matchRange",value:function(t,e,n){var r;for(r=t=t<0?0:t;r0&&void 0!==arguments[0]?arguments[0]:this._nextUnset(this._row),e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._row.length,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=[],o=0;r[o]=0;for(var i=t;i2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=[],i=0,a={error:Number.MAX_VALUE,code:-1,start:0,end:0},u=0,c=0,s=this.AVG_CODE_ERROR;e||(e=this._nextSet(this._row));for(var f=0;f=0&&this._matchRange(r,t.start,0))return t;e=t.end,t=null}return t}},{key:"_verifyTrailingWhitespace",value:function(t){var e=t.end+(t.end-t.start)/2;return er&&(r=o),othis._counters.length)return-1;for(var n=this._computeAlternatingThreshold(t,e),r=this._computeAlternatingThreshold(t+1,e),o=64,i=0,a=0,u=0;u<7;u++)i=0==(1&u)?n:r,this._counters[t+u]>i&&(a|=o),o>>=1;return a}},{key:"_isStartEnd",value:function(t){for(var e=0;e=this._calculatePatternLength(t)/2)&&(e+8>=this._counters.length||this._counters[e+7]>=this._calculatePatternLength(e)/2)}},{key:"_charToPattern",value:function(t){for(var e=t.charCodeAt(0),n=0;n=0;a--){var u=2==(1&a)?r.bar:r.space,c=1==(1&n)?u.wide:u.narrow;c.size+=this._counters[o+a],c.counts++,n>>=1}o+=8}return["space","bar"].forEach((function(t){var e=r[t];e.wide.min=Math.floor((e.narrow.size/e.narrow.counts+e.wide.size/e.wide.counts)/2),e.narrow.max=Math.ceil(e.wide.min),e.wide.max=Math.ceil((2*e.wide.size+1.5)/e.wide.counts)})),r}},{key:"_validateResult",value:function(t,e){for(var n,r=this._thresholdResultPattern(t,e),o=e,i=0;i=0;a--){var u=0==(1&a)?r.bar:r.space,c=1==(1&n)?u.wide:u.narrow,s=this._counters[o+a];if(sc.max)return!1;n>>=1}o+=8}return!0}},{key:"decode",value:function(t,e){if(this._counters=this._fillCounters(),!(e=this._findStart()))return null;var n,r=e.startCounter,o=[];do{if((n=this._toPattern(r))<0)return null;var i=this._patternToChar(n);if(null===i)return null;if(o.push(i),r+=8,o.length>1&&this._isStartEnd(n))break}while(rthis._counters.length?this._counters.length:r;var a=e.start+this._sumCounters(e.startCounter,r-8);return{code:o.join(""),start:e.start,end:a,startInfo:e,decodedCodes:o,format:this.FORMAT}}}]),n}(k);function W(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=C()(t);if(e){var o=C()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return R()(this,n)}}var q=function(t){w()(n,t);var e=W(n);function n(){var t;y()(this,n);for(var r=arguments.length,o=new Array(r),i=0;ithis.AVG_CODE_ERROR?null:(this.CODE_PATTERN[n.code]&&(n.correction.bar=this.calculateCorrection(this.CODE_PATTERN[n.code],r,this.MODULE_INDICES.bar),n.correction.space=this.calculateCorrection(this.CODE_PATTERN[n.code],r,this.MODULE_INDICES.space)),n)}r[++a]=1,i=!i}return null}},{key:"_correct",value:function(t,e){this._correctBars(t,e.bar,this.MODULE_INDICES.bar),this._correctBars(t,e.space,this.MODULE_INDICES.space)}},{key:"_findStart",value:function(){for(var t=[0,0,0,0,0,0],e=this._nextSet(this._row),n={error:Number.MAX_VALUE,code:-1,start:0,end:0,correction:{bar:1,space:1}},r=!1,o=0,i=e;i3;){n=this._findNextWidth(t,n),r=0;for(var i=0,a=0;an&&(i|=1<0;u++)if(t[u]>n&&(r--,2*t[u]>=o))return-1;return i}}return-1}},{key:"_findNextWidth",value:function(t,e){for(var n=Number.MAX_VALUE,r=0;re&&(n=t[r]);return n}},{key:"_patternToChar",value:function(t){for(var e=0;e<$.length;e++)if($[e]===t)return String.fromCharCode(Y[e]);return null}},{key:"_verifyTrailingWhitespace",value:function(t,e,n){var r=S.a.sum(n);return 3*(e-t-r)>=r}},{key:"decode",value:function(){var t=new Uint16Array([0,0,0,0,0,0,0,0,0]),e=[],n=this._findStart();if(!n)return null;var r,o,i=this._nextSet(this._row,n.end);do{t=this._toCounters(i,t);var a=this._toPattern(t);if(a<0)return null;if(null===(r=this._patternToChar(a)))return null;e.push(r),o=i,i+=S.a.sum(t),i=this._nextSet(this._row,i)}while("*"!==r);return e.pop(),e.length&&this._verifyTrailingWhitespace(o,i,t)?{code:e.join(""),start:n.start,end:i,startInfo:n,decodedCodes:e,format:this.FORMAT}:null}}]),n}(k);function K(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=C()(t);if(e){var o=C()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return R()(this,n)}}var J=/[AEIO]/g,tt=function(t){w()(n,t);var e=K(n);function n(){var t;y()(this,n);for(var r=arguments.length,o=new Array(r),i=0;i4)return-1;if(0==(1&o))for(var a=0;a="a"&&o<="d"){if(r>e-2)return null;var i=t[++r],a=i.charCodeAt(0),u=void 0;switch(o){case"a":if(!(i>="A"&&i<="Z"))return null;u=String.fromCharCode(a-64);break;case"b":if(i>="A"&&i<="E")u=String.fromCharCode(a-38);else if(i>="F"&&i<="J")u=String.fromCharCode(a-11);else if(i>="K"&&i<="O")u=String.fromCharCode(a+16);else if(i>="P"&&i<="S")u=String.fromCharCode(a+43);else{if(!(i>="T"&&i<="Z"))return null;u=String.fromCharCode(127)}break;case"c":if(i>="A"&&i<="O")u=String.fromCharCode(a-32);else{if("Z"!==i)return null;u=":"}break;case"d":if(!(i>="A"&&i<="Z"))return null;u=String.fromCharCode(a+32);break;default:return console.warn("* code_93_reader _decodeExtended hit default case, this may be an error",u),null}n.push(u)}else n.push(o)}return n}},{key:"_matchCheckChar",value:function(t,e,n){var r=t.slice(0,e),o=r.length,i=r.reduce((function(t,e,r){return t+((-1*r+(o-1))%n+1)*at.indexOf(e.charCodeAt(0))}),0);return at[i%47]===t[e].charCodeAt(0)}},{key:"_verifyChecksums",value:function(t){return this._matchCheckChar(t,t.length-2,20)&&this._matchCheckChar(t,t.length-1,15)}},{key:"decode",value:function(t,e){if(!(e=this._findStart()))return null;var n,r,o=new Uint16Array([0,0,0,0,0,0]),i=[],a=this._nextSet(this._row,e.end);do{o=this._toCounters(a,o);var u=this._toPattern(o);if(u<0)return null;if(null===(r=this._patternToChar(u)))return null;i.push(r),n=a,a+=S.a.sum(o),a=this._nextSet(this._row,a)}while("*"!==r);return i.pop(),i.length&&this._verifyEnd(n,a)&&this._verifyChecksums(i)?(i=i.slice(0,i.length-2),null===(i=this._decodeExtended(i))?null:{code:i.join(""),start:e.start,end:a,startInfo:e,decodedCodes:i,format:this.FORMAT}):null}}]),n}(k);function st(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ft(t){for(var e=1;e.48?null:o}n[++a]=1,i=!i}return null}},{key:"_findStart",value:function(){for(var t=this._nextSet(this._row),e=null;!e;){if(!(e=this._findPattern(dt,t,!1,!0)))return null;var n=e.start-(e.end-e.start);if(n>=0&&this._matchRange(n,e.start,0))return e;t=e.end,e=null}return null}},{key:"_calculateFirstDigit",value:function(t){for(var e=0;e=10?(r.code-=10,o|=1<<5-i):o|=0<<5-i,e.push(r.code),n.push(r)}var a=this._calculateFirstDigit(o);if(null===a)return null;e.unshift(a);var u=this._findPattern(ht,r.end,!0,!1);if(null===u||!u.end)return null;n.push(u);for(var c=0;c<6;c++){if(!(u=this._decodeCode(u.end,10)))return null;n.push(u),e.push(u.code)}return u}},{key:"_verifyTrailingWhitespace",value:function(t){var e=t.end+(t.end-t.start);return e=0;n-=2)e+=t[n];e*=3;for(var r=t.length-1;r>=0;r-=2)e+=t[r];return e%10==0}},{key:"_decodeExtensions",value:function(t){var e=this._nextSet(this._row,t),n=this._findPattern(vt,e,!1,!1);if(null===n)return null;for(var r=0;r0){var u=this._decodeExtensions(a.end);if(!u)return null;if(!u.decodedCodes)return null;var c=u.decodedCodes[u.decodedCodes.length-1],s={start:c.start+((c.end-c.start)/2|0),end:c.end};if(!this._verifyTrailingWhitespace(s))return null;o={supplement:u,code:n.join("")+u.code}}return ft(ft({code:n.join(""),start:i.start,end:a.end,startInfo:i,decodedCodes:r},o),{},{format:this.FORMAT})}}]),n}(k);function xt(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=C()(t);if(e){var o=C()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return R()(this,n)}}var mt=function(t){w()(n,t);var e=xt(n);function n(){var t;y()(this,n);for(var r=arguments.length,o=new Array(r),i=0;i=10&&(n|=1<<1-c),1!==c&&(r=this._nextSet(this._row,u.end),r=this._nextUnset(this._row,r))}if(2!==i.length||parseInt(i.join(""))%4!==n)return null;var s=this._findStart();return{code:i.join(""),decodedCodes:a,end:u.end,format:this.FORMAT,startInfo:s,start:s.start}}}]),n}(gt);function _t(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=C()(t);if(e){var o=C()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return R()(this,n)}}var bt=[24,20,18,17,12,6,3,10,9,5];var wt=function(t){w()(n,t);var e=_t(n);function n(){var t;y()(this,n);for(var r=arguments.length,o=new Array(r),i=0;i=10&&(n|=1<<4-c),4!==c&&(r=this._nextSet(this._row,i.end),r=this._nextUnset(this._row,r))}if(5!==a.length)return null;if(function(t){for(var e=t.length,n=0,r=e-2;r>=0;r-=2)n+=t[r];n*=3;for(var o=e-1;o>=0;o-=2)n+=t[o];return(n*=3)%10}(a)!==function(t){for(var e=0;e<10;e++)if(t===bt[e])return e;return null}(n))return null;var s=this._findStart();return{code:a.join(""),decodedCodes:u,end:i.end,format:this.FORMAT,startInfo:s,start:s.start}}}]),n}(gt);function Ot(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=C()(t);if(e){var o=C()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return R()(this,n)}}var Rt=function(t){w()(n,t);var e=Ot(n);function n(){var t;y()(this,n);for(var r=arguments.length,o=new Array(r),i=0;i2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=new Array(t.length).fill(0),i=0,a={error:Number.MAX_VALUE,start:0,end:0},u=this.AVG_CODE_ERROR;n=n||!1,r=r||!1,e||(e=this._nextSet(this._row));for(var c=e;c=0&&this._matchRange(t,n.start,0))return n;e=n.end,n=null}return null}},{key:"_verifyTrailingWhitespace",value:function(t){var e=t.end+(t.end-t.start)/2;return e=10&&(r.code=r.code-10,o|=1<<5-i),e.push(r.code),n.push(r)}return this._determineParity(o,e)?r:null}},{key:"_determineParity",value:function(t,e){for(var n=0;nMath.abs(f-c),h=[],v=t.data,p=t.size.x,y=255,g=0;function x(t,e){u=v[e*p+t],y=ug?u:g,h.push(u)}d&&(i=c,c=s,s=i,i=f,f=l,l=i),c>f&&(i=c,c=f,f=i,i=s,s=l,l=i);var m=f-c,_=Math.abs(l-s);r=m/2|0,o=s;var b=sf?Dt.UP:Dt.DOWN,l.push({pos:0,val:s[0]}),i=0;id&&s[i+1]>.5*f?Dt.UP:r)&&(l.push({pos:i,val:s[i]}),r=o);for(l.push({pos:s.length,val:s[s.length-1]}),a=l[0].pos;af?0:1;for(i=1;il[i].val?l[i].val+(l[i+1].val-l[i].val)/3*2|0:l[i+1].val+(l[i].val-l[i+1].val)/3|0,a=l[i].pos;ad?0:1;return{line:s,threshold:d}},Tt.debug={printFrequency:function(t,e){var n,r=e.getContext("2d");for(e.width=t.length,e.height=256,r.beginPath(),r.strokeStyle="blue",n=0;n=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw i}}}}function zt(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&(!e.inImageWithBorder(t[0])||!e.inImageWithBorder(t[1]));)o(-(r-=Math.ceil(r/2)));return t}(r,u,Math.floor(.1*a)))?null:(null===(o=i(r))&&(o=function(t,e,n){var r,o,a,u=Math.sqrt(Math.pow(t[1][0]-t[0][0],2)+Math.pow(t[1][1]-t[0][1],2)),c=null,s=Math.sin(n),f=Math.cos(n);for(r=1;r<16&&null===c;r++)a={y:(o=u/16*r*(r%2==0?-1:1))*s,x:o*f},e[0].y+=a.x,e[0].x-=a.y,e[1].y+=a.x,e[1].x-=a.y,c=i(e);return c}(t,r,u)),null===o?null:{codeResult:o.codeResult,line:r,angle:u,pattern:o.barcodeLine.line,threshold:o.barcodeLine.threshold})}return o(),{decodeFromBoundingBox:function(t){return s(t)},decodeFromBoundingBoxes:function(e){var n,r,o=[],i=t.multiple;for(n=0;n2&&void 0!==arguments[2]&&arguments[2];r(t,{callback:e,async:n,once:!0})},unsubscribe:function(n,r){if(n){var o=e(n);o.subscribers=o&&r?o.subscribers.filter((function(t){return t.callback!==r})):[]}else t={}}}}(),Ft=n(62),Bt=n.n(Ft),Wt=n(63);function qt(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=C()(t);if(e){var o=C()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return R()(this,n)}}var Vt,Gt=function(t){w()(n,t);var e=qt(n);function n(t,r){var o;return y()(this,n),o=e.call(this,t),A()(_()(o),"code",void 0),o.code=r,Object.setPrototypeOf(_()(o),n.prototype),o}return x()(n)}(n.n(Wt)()(Error)),Ht="This may mean that the user has declined camera access, or the browser does not support media APIs. If you are running in iOS, you must use Safari.";function Xt(){try{return navigator.mediaDevices.enumerateDevices()}catch(e){var t=new Gt("enumerateDevices is not defined. ".concat(Ht),-1);return Promise.reject(t)}}function Qt(t){try{return navigator.mediaDevices.getUserMedia(t)}catch(t){var e=new Gt("getUserMedia is not defined. ".concat(Ht),-1);return Promise.reject(e)}}function Yt(t){return new Promise((function(e,n){var r=10;!function o(){r>0?t.videoWidth>10&&t.videoHeight>10?e():window.setTimeout(o,500):n(new Gt("Unable to play video stream. Is webcam working?",-1)),r--}()}))}function $t(t,e){return Zt.apply(this,arguments)}function Zt(){return(Zt=l()(h.a.mark((function t(e,n){var r;return h.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Qt(n);case 2:if(r=t.sent,Vt=r,!e){t.next=11;break}return e.setAttribute("autoplay","true"),e.setAttribute("muted","true"),e.setAttribute("playsinline","true"),e.srcObject=r,e.addEventListener("loadedmetadata",(function(){e.play().catch((function(t){console.warn("* Error while trying to play video stream:",t)}))})),t.abrupt("return",Yt(e));case 11:return t.abrupt("return",Promise.resolve());case 12:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function Kt(t){var e=Bt()(t,["width","height","facingMode","aspectRatio","deviceId"]);return void 0!==t.minAspectRatio&&t.minAspectRatio>0&&(e.aspectRatio=t.minAspectRatio,console.log("WARNING: Constraint 'minAspectRatio' is deprecated; Use 'aspectRatio' instead")),void 0!==t.facing&&(e.facingMode=t.facing,console.log("WARNING: Constraint 'facing' is deprecated. Use 'facingMode' instead'")),e}function Jt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=Kt(t);return e&&e.deviceId&&e.facingMode&&delete e.facingMode,Promise.resolve({audio:!1,video:e})}function te(){return(te=l()(h.a.mark((function t(){var e;return h.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Xt();case 2:return e=t.sent,t.abrupt("return",e.filter((function(t){return"videoinput"===t.kind})));case 4:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function ee(){if(!Vt)return null;var t=Vt.getVideoTracks();return t&&null!=t&&t.length?t[0]:null}var ne={requestedVideoElement:null,request:function(t,e){return l()(h.a.mark((function n(){var r;return h.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return ne.requestedVideoElement=t,n.next=3,Jt(e);case 3:return r=n.sent,n.abrupt("return",$t(t,r));case 5:case"end":return n.stop()}}),n)})))()},release:function(){var t=Vt&&Vt.getVideoTracks();return null!==ne.requestedVideoElement&&ne.requestedVideoElement.pause(),new Promise((function(e){setTimeout((function(){t&&t.length&&t.forEach((function(t){return t.stop()})),Vt=null,ne.requestedVideoElement=null,e()}),0)}))},enumerateVideoDevices:function(){return te.apply(this,arguments)},getActiveStreamLabel:function(){var t=ee();return t?t.label:""},getActiveTrack:ee,disableTorch:function(){return l()(h.a.mark((function t(){var e;return h.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(e=ee())){t.next=11;break}return t.prev=2,t.next=5,e.applyConstraints({advanced:[{torch:!1}]});case 5:t.next=11;break;case 7:throw t.prev=7,t.t0=t.catch(2),t.t0 instanceof OverconstrainedError&&console.warn("quagga2/CameraAccess: Torch not supported on this device"),t.t0;case 11:case"end":return t.stop()}}),t,null,[[2,7]])})))()},enableTorch:function(){return l()(h.a.mark((function t(){var e;return h.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(e=ee())){t.next=11;break}return t.prev=2,t.next=5,e.applyConstraints({advanced:[{torch:!0}]});case 5:t.next=11;break;case 7:throw t.prev=7,t.t0=t.catch(2),t.t0 instanceof OverconstrainedError&&console.warn("quagga2/CameraAccess: Torch not supported on this device"),t.t0;case 11:case"end":return t.stop()}}),t,null,[[2,7]])})))()}},re=ne;var oe={create:function(t){var e,n=document.createElement("canvas"),r=n.getContext("2d",{willReadFrequently:!!t.willReadFrequently}),o=[],i=null!==(e=t.capacity)&&void 0!==e?e:20,a=!0===t.capture;function u(e){return!!i&&e&&!function(t,e){return e&&e.some((function(e){return Object.keys(e).every((function(n){return e[n]===t[n]}))}))}(e,t.blacklist)&&function(t,e){return"function"!=typeof e||e(t)}(e,t.filter)}return{addResult:function(t,e,c){var s={};u(c)&&(i--,s.codeResult=c,a&&(n.width=e.x,n.height=e.y,v.a.drawImage(t,e,r),s.frame=n.toDataURL()),o.push(s))},getResults:function(){return o}}}},ie={inputStream:{name:"Live",type:"LiveStream",constraints:{width:640,height:480,facingMode:"environment"},area:{top:"0%",right:"0%",left:"0%",bottom:"0%"},singleChannel:!1},locate:!0,numOfWorkers:4,decoder:{readers:["code_128_reader"]},locator:{halfSample:!0,patchSize:"medium"}},ae=n(5),ue=n(10),ce=Math.PI/180;var se={create:function(t,e){var n,r={},o=t.getConfig(),i=(Object(ue.h)(t.getRealWidth(),t.getRealHeight()),t.getCanvasSize()),a=Object(ue.h)(t.getWidth(),t.getHeight()),u=t.getTopRight(),c=u.x,s=u.y,f=null,l=null,d=o.willReadFrequently;return(n=e||document.createElement("canvas")).width=i.x,n.height=i.y,console.warn("*** frame_grabber_browser: willReadFrequently=",d,"canvas=",n),f=n.getContext("2d",{willReadFrequently:!!d}),l=new Uint8Array(a.x*a.y),r.attachData=function(t){l=t},r.getData=function(){return l},r.grab=function(){var e,r=o.halfSample,u=t.getFrame(),d=u,h=0;if(d){if(function(t,e){t.width!==e.x&&(t.width=e.x),t.height!==e.y&&(t.height=e.y)}(n,i),"ImageStream"===o.type&&(d=u.img,u.tags&&u.tags.orientation))switch(u.tags.orientation){case 6:h=90*ce;break;case 8:h=-90*ce}return 0!==h?(f.translate(i.x/2,i.y/2),f.rotate(h),f.drawImage(d,-i.y/2,-i.x/2,i.y,i.x),f.rotate(-h),f.translate(-i.x/2,-i.y/2)):f.drawImage(d,0,0,i.x,i.y),e=f.getImageData(c,s,a.x,a.y).data,r?Object(ue.e)(e,a,l):Object(ue.c)(e,l,o),!0}return!1},r.getSize=function(){return a},r}},fe=se,le={274:"orientation"},de=Object.keys(le).map((function(t){return le[t]}));function he(t){return new Promise((function(e){var n=new FileReader;n.onload=function(t){return e(t.target.result)},n.readAsArrayBuffer(t)}))}function ve(t){return new Promise((function(e,n){var r=new XMLHttpRequest;r.open("GET",t,!0),r.responseType="blob",r.onreadystatechange=function(){r.readyState!==XMLHttpRequest.DONE||200!==r.status&&0!==r.status||e(this.response)},r.onerror=n,r.send()}))}function pe(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:de,n=new DataView(t),r=t.byteLength,o=e.reduce((function(t,e){var n=Object.keys(le).filter((function(t){return le[t]===e}))[0];return n&&(t[n]=e),t}),{}),i=2;if(255!==n.getUint8(0)||216!==n.getUint8(1))return!1;for(;i1&&void 0!==arguments[1]?arguments[1]:de;return/^blob:/i.test(t)?ve(t).then(he).then((function(t){return pe(t,e)})):Promise.resolve(null)}(t,["orientation"]).then((function(t){s[0].tags=t,e(s)})).catch((function(t){console.log(t),e(s)})):e(s))},i=0;i0&&n.forEach((function(n){t.removeEventListener(e,n)}))}))},trigger:function(o,a){var s,f,l,d,h,v=i[o];if("canrecord"===o&&(d=t.videoWidth,h=t.videoHeight,e=null!==(f=r)&&void 0!==f&&f.size?d/h>1?r.size:Math.floor(d/h*r.size):d,n=null!==(l=r)&&void 0!==l&&l.size?d/h>1?Math.floor(h/d*r.size):r.size:h,u.x=e,u.y=n),v&&v.length>0)for(s=0;s0)for(n=0;n1?n.size:Math.floor(r/o*n.size):r,e=null!==(f=n)&&void 0!==f&&f.size?r/o>1?Math.floor(o/r*n.size):n.size:o,p.x=t,p.y=e,u=!0,i=0,setTimeout((function(){y("canrecord",[])}),0)}),1,s,null===(l=n)||void 0===l?void 0:l.sequence)},ended:function(){return l},setAttribute:function(){},getConfig:function(){return n},pause:function(){a=!0},play:function(){a=!1},setCurrentTime:function(t){i=t},addEventListener:function(t,e){-1!==d.indexOf(t)&&(h[t]||(h[t]=[]),h[t].push(e))},clearEventHandlers:function(){Object.keys(h).forEach((function(t){return delete h[t]}))},setTopRight:function(t){v.x=t.x,v.y=t.y},getTopRight:function(){return v},setCanvasSize:function(t){p.x=t.x,p.y=t.y},getCanvasSize:function(){return p},getFrame:function(){var t,e;if(!u)return null;a||(t=null===(e=c)||void 0===e?void 0:e[i],i=t&&r&&r()};if(e)for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:"LiveStream",e=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0;switch(t){case"VideoStream":var r=document.createElement("video");return{video:r,inputStream:n.createVideoStream(r)};case"ImageStream":return{inputStream:n.createImageStream()};case"LiveStream":var o=null;return e&&((o=e.querySelector("video"))||(o=document.createElement("video"),e.appendChild(o))),{video:o,inputStream:n.createLiveStream(o)};default:return console.error("* setupInputStream invalid type ".concat(t)),{video:null,inputStream:null}}}(n,this.getViewPort(),we),i=o.video,a=o.inputStream;"LiveStream"===n&&i&&re.request(i,r).then((function(){return a.trigger("canrecord")})).catch((function(e){return t(e)})),a&&(a.setAttribute("preload","auto"),a.setInputStream(this.context.config.inputStream),a.addEventListener("canrecord",this.canRecord.bind(void 0,t))),this.context.inputStream=a}}},{key:"getBoundingBoxes",value:function(){var t;return null!==(t=this.context.config)&&void 0!==t&&t.locate?Oe.a.locate():[[ae.c.clone(this.context.boxSize[0]),ae.c.clone(this.context.boxSize[1]),ae.c.clone(this.context.boxSize[2]),ae.c.clone(this.context.boxSize[3])]]}},{key:"transformResult",value:function(t){var e=this,n=this.context.inputStream.getTopRight(),r=n.x,o=n.y;if((0!==r||0!==o)&&(t.barcodes&&t.barcodes.forEach((function(t){return e.transformResult(t)})),t.line&&2===t.line.length&&function(t,e,n){t[0].x+=e,t[0].y+=n,t[1].x+=e,t[1].y+=n}(t.line,r,o),t.box&&Ue(t.box,r,o),t.boxes&&t.boxes.length>0))for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1?arguments[1]:void 0,n=t;t&&this.context.onUIThread&&(this.transformResult(t),this.addResult(t,e),n=t.barcodes||t),Nt.publish("processed",n),this.hasCodeResult(t)&&Nt.publish("detected",n)}},{key:"locateAndDecode",value:(n=l()(h.a.mark((function t(){var e,n,r,o,i;return h.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(e=this.getBoundingBoxes())){t.next=12;break}return t.next=4,this.context.decoder.decodeFromBoundingBoxes(e);case 4:if(t.t0=t.sent,t.t0){t.next=7;break}t.t0={};case 7:(r=t.t0).boxes=e,this.publishResult(r,null===(n=this.context.inputImageWrapper)||void 0===n?void 0:n.data),t.next=16;break;case 12:return t.next=14,this.context.decoder.decodeFromImage(this.context.inputImageWrapper);case 14:(o=t.sent)?this.publishResult(o,null===(i=this.context.inputImageWrapper)||void 0===i?void 0:i.data):this.publishResult();case 16:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"startContinuousUpdate",value:function(){var t,e=this,n=null,r=1e3/((null===(t=this.context.config)||void 0===t?void 0:t.frequency)||60);this.context.stopped=!1;var o=this.context;!function t(i){n=n||i,o.stopped||(i>=n&&(n+=r,e.update()),window.requestAnimationFrame(t))}(performance.now())}},{key:"start",value:function(){var t,e;this.context.onUIThread&&"LiveStream"===(null===(t=this.context.config)||void 0===t||null===(e=t.inputStream)||void 0===e?void 0:e.type)?this.startContinuousUpdate():this.update()}},{key:"stop",value:(e=l()(h.a.mark((function t(){var e;return h.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.context.stopped=!0,ze(0),null===(e=this.context.config)||void 0===e||!e.inputStream||"LiveStream"!==this.context.config.inputStream.type){t.next=6;break}return t.next=5,re.release();case 5:this.context.inputStream.clearEventHandlers();case 6:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"setReaders",value:function(t){this.context.decoder&&this.context.decoder.setReaders(t),function(t){Te.forEach((function(e){return e.worker.postMessage({cmd:"setReaders",readers:t})}))}(t)}},{key:"registerReader",value:function(t,e){Lt.registerReader(t,e),this.context.decoder&&this.context.decoder.registerReader(t,e),function(t,e){Te.forEach((function(n){return n.worker.postMessage({cmd:"registerReader",name:t,reader:e})}))}(t,e)}}]),t}(),Ne=new Le,Fe=Ne.context,Be={init:function(t,e,n){var r,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Ne;return e||(r=new Promise((function(t,n){e=function(e){e?n(e):t()}}))),o.context.config=c()({},ie,t),o.context.config.numOfWorkers>0&&(o.context.config.numOfWorkers=0),n?(o.context.onUIThread=!1,o.initializeData(n),e&&e()):o.initInputStream(e),r},start:function(){return Ne.start()},stop:function(){return Ne.stop()},pause:function(){Fe.stopped=!0},onDetected:function(t){t&&("function"==typeof t||"object"===a()(t)&&t.callback)?Nt.subscribe("detected",t):console.trace("* warning: Quagga.onDetected called with invalid callback, ignoring")},offDetected:function(t){Nt.unsubscribe("detected",t)},onProcessed:function(t){t&&("function"==typeof t||"object"===a()(t)&&t.callback)?Nt.subscribe("processed",t):console.trace("* warning: Quagga.onProcessed called with invalid callback, ignoring")},offProcessed:function(t){Nt.unsubscribe("processed",t)},setReaders:function(t){t?Ne.setReaders(t):console.trace("* warning: Quagga.setReaders called with no readers, ignoring")},registerReader:function(t,e){t?e?Ne.registerReader(t,e):console.trace("* warning: Quagga.registerReader called with no reader, ignoring"):console.trace("* warning: Quagga.registerReader called with no name, ignoring")},registerResultCollector:function(t){t&&"function"==typeof t.addResult&&(Fe.resultCollector=t)},get canvas(){return Fe.canvasContainer},decodeSingle:function(t,e){var n=this,r=new Le;return(t=c()({inputStream:{type:"ImageStream",sequence:!1,size:800,src:t.src},numOfWorkers:1,locator:{halfSample:!1}},t)).numOfWorkers>0&&(t.numOfWorkers=0),t.numOfWorkers>0&&("undefined"==typeof Blob||"undefined"==typeof Worker)&&(console.warn("* no Worker and/or Blob support - forcing numOfWorkers to 0"),t.numOfWorkers=0),new Promise((function(o,i){try{n.init(t,(function(){Nt.once("processed",(function(t){r.stop(),e&&e.call(null,t),o(t)}),!0),r.start()}),null,r)}catch(t){i(t)}}))},get default(){return Be},Readers:r,CameraAccess:re,ImageDebug:v.a,ImageWrapper:s.a,ResultCollector:oe};e.default=Be}]).default}));
\ No newline at end of file
diff --git a/manifest.json b/manifest.json
index afbf249..f0035c2 100644
--- a/manifest.json
+++ b/manifest.json
@@ -5,7 +5,6 @@
"versionName" : "1.0.0",
"versionCode" : "100",
"transformPx" : false,
-
/* 5+App特有相关 */
"app-plus" : {
"usingComponents" : true,
@@ -72,7 +71,7 @@
"vueVersion" : "3",
"h5" : {
"devServer" : {
- "https" : true
+ "https" : false
}
}
}
diff --git a/pages/scan/index.vue b/pages/scan/index.vue
index 7012252..009bd1b 100644
--- a/pages/scan/index.vue
+++ b/pages/scan/index.vue
@@ -1,14 +1,15 @@
-
+