/*
 * openchemlib-utils v8.13.1
 * Various utilities that extends openchemlib-js like HOSE codes or diastereotopic IDs
 * https://github.com/cheminfo/openchemlib-utils#readme
 *
 * Licensed under the MIT license.
 */
let xAtomicNumber = 0;
/**
 * Returns the atomic number of the X atom
 * @param {import('openchemlib').Molecule} molecule - An instance of a molecule
 * @returns
 */
function getXAtomicNumber(molecule) {
  if (!xAtomicNumber) {
    const OCL = molecule.getOCL();
    xAtomicNumber = OCL.Molecule.getAtomicNoFromLabel('X', OCL.Molecule.cPseudoAtomX);
  }
  return xAtomicNumber;
}

/**
 * Check if a specific atom is a sp3 carbon
 * @param {import('openchemlib').Molecule} molecule
 * @param {number} atomID
 */
function isCsp3(molecule, atomID) {
  if (molecule.getAtomicNo(atomID) !== 6) return false;
  if (molecule.getAtomCharge(atomID) !== 0) return false;
  if (molecule.getImplicitHydrogens(atomID) + molecule.getConnAtoms(atomID) !== 4) {
    return false;
  }
  return true;
}

/**
 * This method put all the chiral centers in the molecule in the same group and racemic
 * @param {import('openchemlib').Molecule} molecule - An instance of a molecule
 * @param {object} [options={}]
 * @param {object} [options.OCL] - openchemlib library
 */
function makeRacemic(molecule) {
  const {
    Molecule
  } = molecule.getOCL();
  // if we don't calculate this we have 2 epimers
  molecule.ensureHelperArrays(Molecule.cHelperCIP);
  // we need to make one group "AND" for chiral (to force to racemic, this means diastereotopic and not enantiotopic)
  for (let i = 0; i < molecule.getAllAtoms(); i++) {
    if (molecule.getAtomParity(i) !== Molecule.cAtomParityNone) {
      molecule.setAtomESR(i, Molecule.cESRTypeAnd, 0); // changed to group 0; TLS 9.Nov.2015
    }
  }
  // after the change we need to recalculate the CIP
  molecule.ensureHelperArrays(Molecule.cHelperCIP);
}

/**
 * Tag an atom to be able to visualize it
 * @param molecule
 * @param iAtom
 */
function tagAtom(molecule, iAtom) {
  const customLabel = `${molecule.getAtomLabel(iAtom)}*`;
  molecule.setAtomCustomLabel(iAtom, customLabel);
  if (molecule.getAtomicNo(iAtom) === 1) {
    molecule.setAtomicNo(iAtom, getXAtomicNumber(molecule));
  } else {
    // we can not use X because we would have problems with valencies if it is
    // expanded hydrogens or not
    // we can not only use a custom label because it does not count for the canonisation
    molecule.setAtomMass(iAtom, molecule.getAtomMass(iAtom) + 5);
  }
  return customLabel;
}

const FULL_HOSE_CODE$1 = 1;
const HOSE_CODE_CUT_C_SP3_SP3$1 = 2;
/**
 * Returns an array of hose code fragments for the specified molecule.
 * @param molecule - The OCL molecule to process.
 * @param options - Options for generating hose codes.
 * @returns An array of hose code fragments.
 */
function getHoseCodesForAtomsAsFragments(molecule, options = {}) {
  const OCL = molecule.getOCL();
  const {
    allowedCustomLabels,
    minSphereSize = 0,
    maxSphereSize = 4,
    kind = FULL_HOSE_CODE$1,
    tagAtoms = [],
    tagAtomFct = tagAtom
  } = options;
  const rootAtoms = options.rootAtoms ? options.rootAtoms.slice() : [];
  molecule = molecule.getCompactCopy();
  if (tagAtoms.length > 0) {
    internalTagAtoms(molecule, tagAtoms, rootAtoms, tagAtomFct);
  } else {
    // this force reordering of atoms in order to have hydrogens at the end
    molecule.ensureHelperArrays(OCL.Molecule.cHelperNeighbours);
  }
  if (rootAtoms.length === 0) {
    for (let j = 0; j < molecule.getAllAtoms(); j++) {
      if (allowedCustomLabels?.includes(molecule.getAtomCustomLabel(j) ?? '') || molecule.getAtomCustomLabel(j)) {
        rootAtoms.push(j);
      }
    }
  }
  const fragments = [];
  // keep track of the atoms when creating the fragment
  const mappings = [];
  let min = 0;
  let max = 0;
  const atomMask = new Array(molecule.getAllAtoms()).fill(false);
  const atomList = new Array(molecule.getAllAtoms());
  for (let sphere = 0; sphere <= maxSphereSize; sphere++) {
    if (max === 0) {
      for (const rootAtom of rootAtoms) {
        atomList[max] = rootAtom;
        atomMask[rootAtom] = true;
        max++;
      }
    } else {
      let newMax = max;
      for (let i = min; i < max; i++) {
        const atom = atomList[i];
        for (let j = 0; j < molecule.getAllConnAtoms(atom); j++) {
          const connAtom = molecule.getConnAtom(atom, j);
          if (!atomMask[connAtom]) {
            switch (kind) {
              case FULL_HOSE_CODE$1:
                atomMask[connAtom] = true;
                atomList[newMax++] = connAtom;
                break;
              case HOSE_CODE_CUT_C_SP3_SP3$1:
                if (!(isCsp3(molecule, atom) && isCsp3(molecule, connAtom))) {
                  atomMask[connAtom] = true;
                  atomList[newMax++] = connAtom;
                }
                break;
              default:
                throw new Error('getHoseCoesForAtom unknown kind');
            }
          }
        }
      }
      min = max;
      max = newMax;
    }
    if (sphere >= minSphereSize) {
      const fragment = new OCL.Molecule(0, 0);
      molecule.copyMoleculeByAtoms(fragment, atomMask, true, mappings);
      // we using atomMapNo field in order to keep track of the original atom number even if we remove hydrogens
      for (let i = 0; i < fragment.getAllAtoms(); i++) {
        fragment.setAtomMapNo(i, mappings.indexOf(i) + 1);
      }
      fragment.removeExplicitHydrogens();
      makeRacemic(fragment);
      // we encode atom characteristics in the query features
      addQueryFeaturesAndRemoveMapNo(fragment, molecule);
      fragments.push(fragment);
    }
  }
  return fragments;
}
/**
 * If the atom is not an halogen, X or an hydrogen
 * we add query features to the atom
 * This includes aromaticity, ring size, number of hydrogens
 * @param fragment
 * @param molecule
 */
function addQueryFeaturesAndRemoveMapNo(fragment, molecule) {
  const Molecule = molecule.getOCL().Molecule;
  for (let i = 0; i < fragment.getAllAtoms(); i++) {
    const mapping = fragment.getAtomMapNo(i) - 1;
    fragment.setAtomMapNo(i, 0);
    if ([1, 9, 17, 35, 53, getXAtomicNumber(molecule)].includes(fragment.getAtomicNo(i))) {
      continue;
    }
    // aromaticity
    const isAromatic = molecule.isAromaticAtom(mapping);
    if (isAromatic) {
      fragment.setAtomQueryFeature(i, Molecule.cAtomQFAromatic, true);
      fragment.setAtomQueryFeature(i, Molecule.cAtomQFNotAromatic, false);
    } else {
      fragment.setAtomQueryFeature(i, Molecule.cAtomQFAromatic, false);
      fragment.setAtomQueryFeature(i, Molecule.cAtomQFNotAromatic, true);
    }
    // cycles
    const smallestRing = molecule.getAtomRingSize(mapping);
    switch (smallestRing) {
      case 0:
        break;
      case 3:
        fragment.setAtomQueryFeature(i, Molecule.cAtomQFRingSize3, true);
        break;
      case 4:
        fragment.setAtomQueryFeature(i, Molecule.cAtomQFRingSize4, true);
        break;
      case 5:
        fragment.setAtomQueryFeature(i, Molecule.cAtomQFRingSize5, true);
        break;
      case 6:
        fragment.setAtomQueryFeature(i, Molecule.cAtomQFRingSize6, true);
        break;
      case 7:
        fragment.setAtomQueryFeature(i, Molecule.cAtomQFRingSize7, true);
        break;
      default:
        fragment.setAtomQueryFeature(i, Molecule.cAtomQFRingSizeLarge, true);
    }
    const nbHydrogens = molecule.getAllHydrogens(mapping);
    if (nbHydrogens === 0) {
      fragment.setAtomQueryFeature(i, Molecule.cAtomQFNot0Hydrogen, false);
    } else {
      fragment.setAtomQueryFeature(i, Molecule.cAtomQFNot0Hydrogen, true);
    }
    if (nbHydrogens === 1) {
      fragment.setAtomQueryFeature(i, Molecule.cAtomQFNot1Hydrogen, false);
    } else {
      fragment.setAtomQueryFeature(i, Molecule.cAtomQFNot1Hydrogen, true);
    }
    if (nbHydrogens === 2) {
      fragment.setAtomQueryFeature(i, Molecule.cAtomQFNot2Hydrogen, false);
    } else {
      fragment.setAtomQueryFeature(i, Molecule.cAtomQFNot2Hydrogen, true);
    }
    if (nbHydrogens === 3) {
      fragment.setAtomQueryFeature(i, Molecule.cAtomQFNot3Hydrogen, false);
    } else {
      fragment.setAtomQueryFeature(i, Molecule.cAtomQFNot3Hydrogen, true);
    }
  }
}
// tagging atoms may change the order of the atoms because hydrogens must be at the end of the file
// in order to remember the rootAtoms we will tag before
function internalTagAtoms(molecule, tagAtoms, rootAtoms, tagAtomFct) {
  const OCL = molecule.getOCL();
  if (tagAtoms) {
    for (let i = 0; i < molecule.getAllAtoms(); i++) {
      molecule.setAtomMapNo(i, i + 1);
    }
    if (tagAtoms.length > 0) {
      for (const atom of tagAtoms) {
        tagAtomFct(molecule, atom);
      }
    }
  }
  // this force reordering of atoms in order to have hydrogens at the end
  molecule.ensureHelperArrays(OCL.Molecule.cHelperNeighbours);
  if (rootAtoms.length > 0) {
    const mapping = new Int32Array(molecule.getAllAtoms());
    for (let i = 0; i < molecule.getAllAtoms(); i++) {
      mapping[molecule.getAtomMapNo(i) - 1] = i;
    }
    for (let i = 0; i < rootAtoms.length; i++) {
      rootAtoms[i] = mapping[rootAtoms[i]];
    }
  }
}

/**
 * We need to create an array of atoms
 * that contains an array of pathLength
 * that contains an array of object
 * @param molecule
 * @param options
 * @returns
 */
function getAllAtomsPaths(molecule, options = {}) {
  const {
    maxPathLength = 5
  } = options;
  const allAtomsPaths = [];
  for (let i = 0; i < molecule.getAllAtoms(); i++) {
    const oneAtomPaths = [];
    allAtomsPaths.push(oneAtomPaths);
    let atomPaths = [{
      path: [i],
      pathLength: 0
    }];
    oneAtomPaths.push(atomPaths);
    let nextIndexes = [0];
    let nextAtoms = [i];
    for (let sphere = 1; sphere <= maxPathLength; sphere++) {
      atomPaths = [];
      oneAtomPaths.push(atomPaths);
      const currentIndexes = nextIndexes;
      const currentAtoms = nextAtoms;
      nextIndexes = [];
      nextAtoms = [];
      for (let i = 0; i < currentIndexes.length; i++) {
        const atom = currentAtoms[i];
        const index = currentIndexes[i];
        const previousPath = oneAtomPaths[sphere - 1]?.[index]?.path;
        if (!previousPath) {
          throw new Error(`Unexpected missing previousPath for sphere ${sphere - 1} and index ${index}`);
        }
        for (let conn = 0; conn < molecule.getAllConnAtoms(atom); conn++) {
          const connectedAtom = molecule.getConnAtom(atom, conn);
          if (previousPath.includes(connectedAtom)) continue;
          nextIndexes.push(atomPaths.length);
          nextAtoms.push(connectedAtom);
          atomPaths.push({
            path: [...previousPath, connectedAtom],
            pathLength: sphere
          });
        }
      }
    }
  }
  return allAtomsPaths;
}

function getDefaultExportFromCjs (x) {
	return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
}

function getAugmentedNamespace(n) {
  if (Object.prototype.hasOwnProperty.call(n, '__esModule')) return n;
  var f = n.default;
	if (typeof f == "function") {
		var a = function a () {
			var isInstance = false;
      try {
        isInstance = this instanceof a;
      } catch {}
			if (isInstance) {
        return Reflect.construct(f, arguments, this.constructor);
			}
			return f.apply(this, arguments);
		};
		a.prototype = f.prototype;
  } else a = {};
  Object.defineProperty(a, '__esModule', {value: true});
	Object.keys(n).forEach(function (k) {
		var d = Object.getOwnPropertyDescriptor(n, k);
		Object.defineProperty(a, k, d.get ? d : {
			enumerable: true,
			get: function () {
				return n[k];
			}
		});
	});
	return a;
}

var matrix = {};

// eslint-disable-next-line @typescript-eslint/unbound-method
const toString = Object.prototype.toString;
/**
 * Checks if an object is an instance of an Array (array or typed array, except those that contain bigint values).
 *
 * @param value - Object to check.
 * @returns True if the object is an array or a typed array.
 */
function isAnyArray$1(value) {
  const tag = toString.call(value);
  return tag.endsWith('Array]') && !tag.includes('Big');
}

var libEsm = /*#__PURE__*/Object.freeze({
    __proto__: null,
    isAnyArray: isAnyArray$1
});

var require$$0 = /*@__PURE__*/getAugmentedNamespace(libEsm);

function max(input) {
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  if (!isAnyArray$1(input)) {
    throw new TypeError('input must be an array');
  }
  if (input.length === 0) {
    throw new TypeError('input must not be empty');
  }
  var _options$fromIndex = options.fromIndex,
    fromIndex = _options$fromIndex === void 0 ? 0 : _options$fromIndex,
    _options$toIndex = options.toIndex,
    toIndex = _options$toIndex === void 0 ? input.length : _options$toIndex;
  if (fromIndex < 0 || fromIndex >= input.length || !Number.isInteger(fromIndex)) {
    throw new Error('fromIndex must be a positive integer smaller than length');
  }
  if (toIndex <= fromIndex || toIndex > input.length || !Number.isInteger(toIndex)) {
    throw new Error('toIndex must be an integer greater than fromIndex and at most equal to length');
  }
  var maxValue = input[fromIndex];
  for (var i = fromIndex + 1; i < toIndex; i++) {
    if (input[i] > maxValue) maxValue = input[i];
  }
  return maxValue;
}

function min(input) {
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  if (!isAnyArray$1(input)) {
    throw new TypeError('input must be an array');
  }
  if (input.length === 0) {
    throw new TypeError('input must not be empty');
  }
  var _options$fromIndex = options.fromIndex,
    fromIndex = _options$fromIndex === void 0 ? 0 : _options$fromIndex,
    _options$toIndex = options.toIndex,
    toIndex = _options$toIndex === void 0 ? input.length : _options$toIndex;
  if (fromIndex < 0 || fromIndex >= input.length || !Number.isInteger(fromIndex)) {
    throw new Error('fromIndex must be a positive integer smaller than length');
  }
  if (toIndex <= fromIndex || toIndex > input.length || !Number.isInteger(toIndex)) {
    throw new Error('toIndex must be an integer greater than fromIndex and at most equal to length');
  }
  var minValue = input[fromIndex];
  for (var i = fromIndex + 1; i < toIndex; i++) {
    if (input[i] < minValue) minValue = input[i];
  }
  return minValue;
}

function rescale$1(input) {
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  if (!isAnyArray$1(input)) {
    throw new TypeError('input must be an array');
  } else if (input.length === 0) {
    throw new TypeError('input must not be empty');
  }
  var output;
  if (options.output !== undefined) {
    if (!isAnyArray$1(options.output)) {
      throw new TypeError('output option must be an array if specified');
    }
    output = options.output;
  } else {
    output = new Array(input.length);
  }
  var currentMin = min(input);
  var currentMax = max(input);
  if (currentMin === currentMax) {
    throw new RangeError('minimum and maximum input values are equal. Cannot rescale a constant array');
  }
  var _options$min = options.min,
    minValue = _options$min === void 0 ? options.autoMinMax ? currentMin : 0 : _options$min,
    _options$max = options.max,
    maxValue = _options$max === void 0 ? options.autoMinMax ? currentMax : 1 : _options$max;
  if (minValue >= maxValue) {
    throw new RangeError('min option must be smaller than max option');
  }
  var factor = (maxValue - minValue) / (currentMax - currentMin);
  for (var i = 0; i < input.length; i++) {
    output[i] = (input[i] - currentMin) * factor + minValue;
  }
  return output;
}

var libEs6 = /*#__PURE__*/Object.freeze({
    __proto__: null,
    default: rescale$1
});

var require$$1 = /*@__PURE__*/getAugmentedNamespace(libEs6);

Object.defineProperty(matrix, '__esModule', {
  value: true
});
var isAnyArray = require$$0;
var rescale = require$$1;
const indent = ' '.repeat(2);
const indentData = ' '.repeat(4);

/**
 * @this {Matrix}
 * @returns {string}
 */
function inspectMatrix() {
  return inspectMatrixWithOptions(this);
}
function inspectMatrixWithOptions(matrix, options = {}) {
  const {
    maxRows = 15,
    maxColumns = 10,
    maxNumSize = 8,
    padMinus = 'auto'
  } = options;
  return `${matrix.constructor.name} {
${indent}[
${indentData}${inspectData(matrix, maxRows, maxColumns, maxNumSize, padMinus)}
${indent}]
${indent}rows: ${matrix.rows}
${indent}columns: ${matrix.columns}
}`;
}
function inspectData(matrix, maxRows, maxColumns, maxNumSize, padMinus) {
  const {
    rows,
    columns
  } = matrix;
  const maxI = Math.min(rows, maxRows);
  const maxJ = Math.min(columns, maxColumns);
  const result = [];
  if (padMinus === 'auto') {
    padMinus = false;
    loop: for (let i = 0; i < maxI; i++) {
      for (let j = 0; j < maxJ; j++) {
        if (matrix.get(i, j) < 0) {
          padMinus = true;
          break loop;
        }
      }
    }
  }
  for (let i = 0; i < maxI; i++) {
    let line = [];
    for (let j = 0; j < maxJ; j++) {
      line.push(formatNumber(matrix.get(i, j), maxNumSize, padMinus));
    }
    result.push(`${line.join(' ')}`);
  }
  if (maxJ !== columns) {
    result[result.length - 1] += ` ... ${columns - maxColumns} more columns`;
  }
  if (maxI !== rows) {
    result.push(`... ${rows - maxRows} more rows`);
  }
  return result.join(`\n${indentData}`);
}
function formatNumber(num, maxNumSize, padMinus) {
  return (num >= 0 && padMinus ? ` ${formatNumber2(num, maxNumSize - 1)}` : formatNumber2(num, maxNumSize)).padEnd(maxNumSize);
}
function formatNumber2(num, len) {
  // small.length numbers should be as is
  let str = num.toString();
  if (str.length <= len) return str;

  // (7)'0.00123' is better then (7)'1.23e-2'
  // (8)'0.000123' is worse then (7)'1.23e-3',
  let fix = num.toFixed(len);
  if (fix.length > len) {
    fix = num.toFixed(Math.max(0, len - (fix.length - len)));
  }
  if (fix.length <= len && !fix.startsWith('0.000') && !fix.startsWith('-0.000')) {
    return fix;
  }

  // well, if it's still too long the user should've used longer numbers
  let exp = num.toExponential(len);
  if (exp.length > len) {
    exp = num.toExponential(Math.max(0, len - (exp.length - len)));
  }
  return exp.slice(0);
}
function installMathOperations(AbstractMatrix, Matrix) {
  AbstractMatrix.prototype.add = function add(value) {
    if (typeof value === 'number') return this.addS(value);
    return this.addM(value);
  };
  AbstractMatrix.prototype.addS = function addS(value) {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) + value);
      }
    }
    return this;
  };
  AbstractMatrix.prototype.addM = function addM(matrix) {
    matrix = Matrix.checkMatrix(matrix);
    if (this.rows !== matrix.rows || this.columns !== matrix.columns) {
      throw new RangeError('Matrices dimensions must be equal');
    }
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) + matrix.get(i, j));
      }
    }
    return this;
  };
  AbstractMatrix.add = function add(matrix, value) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.add(value);
  };
  AbstractMatrix.prototype.sub = function sub(value) {
    if (typeof value === 'number') return this.subS(value);
    return this.subM(value);
  };
  AbstractMatrix.prototype.subS = function subS(value) {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) - value);
      }
    }
    return this;
  };
  AbstractMatrix.prototype.subM = function subM(matrix) {
    matrix = Matrix.checkMatrix(matrix);
    if (this.rows !== matrix.rows || this.columns !== matrix.columns) {
      throw new RangeError('Matrices dimensions must be equal');
    }
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) - matrix.get(i, j));
      }
    }
    return this;
  };
  AbstractMatrix.sub = function sub(matrix, value) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.sub(value);
  };
  AbstractMatrix.prototype.subtract = AbstractMatrix.prototype.sub;
  AbstractMatrix.prototype.subtractS = AbstractMatrix.prototype.subS;
  AbstractMatrix.prototype.subtractM = AbstractMatrix.prototype.subM;
  AbstractMatrix.subtract = AbstractMatrix.sub;
  AbstractMatrix.prototype.mul = function mul(value) {
    if (typeof value === 'number') return this.mulS(value);
    return this.mulM(value);
  };
  AbstractMatrix.prototype.mulS = function mulS(value) {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) * value);
      }
    }
    return this;
  };
  AbstractMatrix.prototype.mulM = function mulM(matrix) {
    matrix = Matrix.checkMatrix(matrix);
    if (this.rows !== matrix.rows || this.columns !== matrix.columns) {
      throw new RangeError('Matrices dimensions must be equal');
    }
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) * matrix.get(i, j));
      }
    }
    return this;
  };
  AbstractMatrix.mul = function mul(matrix, value) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.mul(value);
  };
  AbstractMatrix.prototype.multiply = AbstractMatrix.prototype.mul;
  AbstractMatrix.prototype.multiplyS = AbstractMatrix.prototype.mulS;
  AbstractMatrix.prototype.multiplyM = AbstractMatrix.prototype.mulM;
  AbstractMatrix.multiply = AbstractMatrix.mul;
  AbstractMatrix.prototype.div = function div(value) {
    if (typeof value === 'number') return this.divS(value);
    return this.divM(value);
  };
  AbstractMatrix.prototype.divS = function divS(value) {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) / value);
      }
    }
    return this;
  };
  AbstractMatrix.prototype.divM = function divM(matrix) {
    matrix = Matrix.checkMatrix(matrix);
    if (this.rows !== matrix.rows || this.columns !== matrix.columns) {
      throw new RangeError('Matrices dimensions must be equal');
    }
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) / matrix.get(i, j));
      }
    }
    return this;
  };
  AbstractMatrix.div = function div(matrix, value) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.div(value);
  };
  AbstractMatrix.prototype.divide = AbstractMatrix.prototype.div;
  AbstractMatrix.prototype.divideS = AbstractMatrix.prototype.divS;
  AbstractMatrix.prototype.divideM = AbstractMatrix.prototype.divM;
  AbstractMatrix.divide = AbstractMatrix.div;
  AbstractMatrix.prototype.mod = function mod(value) {
    if (typeof value === 'number') return this.modS(value);
    return this.modM(value);
  };
  AbstractMatrix.prototype.modS = function modS(value) {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) % value);
      }
    }
    return this;
  };
  AbstractMatrix.prototype.modM = function modM(matrix) {
    matrix = Matrix.checkMatrix(matrix);
    if (this.rows !== matrix.rows || this.columns !== matrix.columns) {
      throw new RangeError('Matrices dimensions must be equal');
    }
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) % matrix.get(i, j));
      }
    }
    return this;
  };
  AbstractMatrix.mod = function mod(matrix, value) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.mod(value);
  };
  AbstractMatrix.prototype.modulus = AbstractMatrix.prototype.mod;
  AbstractMatrix.prototype.modulusS = AbstractMatrix.prototype.modS;
  AbstractMatrix.prototype.modulusM = AbstractMatrix.prototype.modM;
  AbstractMatrix.modulus = AbstractMatrix.mod;
  AbstractMatrix.prototype.and = function and(value) {
    if (typeof value === 'number') return this.andS(value);
    return this.andM(value);
  };
  AbstractMatrix.prototype.andS = function andS(value) {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) & value);
      }
    }
    return this;
  };
  AbstractMatrix.prototype.andM = function andM(matrix) {
    matrix = Matrix.checkMatrix(matrix);
    if (this.rows !== matrix.rows || this.columns !== matrix.columns) {
      throw new RangeError('Matrices dimensions must be equal');
    }
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) & matrix.get(i, j));
      }
    }
    return this;
  };
  AbstractMatrix.and = function and(matrix, value) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.and(value);
  };
  AbstractMatrix.prototype.or = function or(value) {
    if (typeof value === 'number') return this.orS(value);
    return this.orM(value);
  };
  AbstractMatrix.prototype.orS = function orS(value) {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) | value);
      }
    }
    return this;
  };
  AbstractMatrix.prototype.orM = function orM(matrix) {
    matrix = Matrix.checkMatrix(matrix);
    if (this.rows !== matrix.rows || this.columns !== matrix.columns) {
      throw new RangeError('Matrices dimensions must be equal');
    }
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) | matrix.get(i, j));
      }
    }
    return this;
  };
  AbstractMatrix.or = function or(matrix, value) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.or(value);
  };
  AbstractMatrix.prototype.xor = function xor(value) {
    if (typeof value === 'number') return this.xorS(value);
    return this.xorM(value);
  };
  AbstractMatrix.prototype.xorS = function xorS(value) {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) ^ value);
      }
    }
    return this;
  };
  AbstractMatrix.prototype.xorM = function xorM(matrix) {
    matrix = Matrix.checkMatrix(matrix);
    if (this.rows !== matrix.rows || this.columns !== matrix.columns) {
      throw new RangeError('Matrices dimensions must be equal');
    }
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) ^ matrix.get(i, j));
      }
    }
    return this;
  };
  AbstractMatrix.xor = function xor(matrix, value) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.xor(value);
  };
  AbstractMatrix.prototype.leftShift = function leftShift(value) {
    if (typeof value === 'number') return this.leftShiftS(value);
    return this.leftShiftM(value);
  };
  AbstractMatrix.prototype.leftShiftS = function leftShiftS(value) {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) << value);
      }
    }
    return this;
  };
  AbstractMatrix.prototype.leftShiftM = function leftShiftM(matrix) {
    matrix = Matrix.checkMatrix(matrix);
    if (this.rows !== matrix.rows || this.columns !== matrix.columns) {
      throw new RangeError('Matrices dimensions must be equal');
    }
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) << matrix.get(i, j));
      }
    }
    return this;
  };
  AbstractMatrix.leftShift = function leftShift(matrix, value) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.leftShift(value);
  };
  AbstractMatrix.prototype.signPropagatingRightShift = function signPropagatingRightShift(value) {
    if (typeof value === 'number') return this.signPropagatingRightShiftS(value);
    return this.signPropagatingRightShiftM(value);
  };
  AbstractMatrix.prototype.signPropagatingRightShiftS = function signPropagatingRightShiftS(value) {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) >> value);
      }
    }
    return this;
  };
  AbstractMatrix.prototype.signPropagatingRightShiftM = function signPropagatingRightShiftM(matrix) {
    matrix = Matrix.checkMatrix(matrix);
    if (this.rows !== matrix.rows || this.columns !== matrix.columns) {
      throw new RangeError('Matrices dimensions must be equal');
    }
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) >> matrix.get(i, j));
      }
    }
    return this;
  };
  AbstractMatrix.signPropagatingRightShift = function signPropagatingRightShift(matrix, value) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.signPropagatingRightShift(value);
  };
  AbstractMatrix.prototype.rightShift = function rightShift(value) {
    if (typeof value === 'number') return this.rightShiftS(value);
    return this.rightShiftM(value);
  };
  AbstractMatrix.prototype.rightShiftS = function rightShiftS(value) {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) >>> value);
      }
    }
    return this;
  };
  AbstractMatrix.prototype.rightShiftM = function rightShiftM(matrix) {
    matrix = Matrix.checkMatrix(matrix);
    if (this.rows !== matrix.rows || this.columns !== matrix.columns) {
      throw new RangeError('Matrices dimensions must be equal');
    }
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) >>> matrix.get(i, j));
      }
    }
    return this;
  };
  AbstractMatrix.rightShift = function rightShift(matrix, value) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.rightShift(value);
  };
  AbstractMatrix.prototype.zeroFillRightShift = AbstractMatrix.prototype.rightShift;
  AbstractMatrix.prototype.zeroFillRightShiftS = AbstractMatrix.prototype.rightShiftS;
  AbstractMatrix.prototype.zeroFillRightShiftM = AbstractMatrix.prototype.rightShiftM;
  AbstractMatrix.zeroFillRightShift = AbstractMatrix.rightShift;
  AbstractMatrix.prototype.not = function not() {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, ~this.get(i, j));
      }
    }
    return this;
  };
  AbstractMatrix.not = function not(matrix) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.not();
  };
  AbstractMatrix.prototype.abs = function abs() {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, Math.abs(this.get(i, j)));
      }
    }
    return this;
  };
  AbstractMatrix.abs = function abs(matrix) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.abs();
  };
  AbstractMatrix.prototype.acos = function acos() {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, Math.acos(this.get(i, j)));
      }
    }
    return this;
  };
  AbstractMatrix.acos = function acos(matrix) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.acos();
  };
  AbstractMatrix.prototype.acosh = function acosh() {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, Math.acosh(this.get(i, j)));
      }
    }
    return this;
  };
  AbstractMatrix.acosh = function acosh(matrix) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.acosh();
  };
  AbstractMatrix.prototype.asin = function asin() {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, Math.asin(this.get(i, j)));
      }
    }
    return this;
  };
  AbstractMatrix.asin = function asin(matrix) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.asin();
  };
  AbstractMatrix.prototype.asinh = function asinh() {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, Math.asinh(this.get(i, j)));
      }
    }
    return this;
  };
  AbstractMatrix.asinh = function asinh(matrix) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.asinh();
  };
  AbstractMatrix.prototype.atan = function atan() {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, Math.atan(this.get(i, j)));
      }
    }
    return this;
  };
  AbstractMatrix.atan = function atan(matrix) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.atan();
  };
  AbstractMatrix.prototype.atanh = function atanh() {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, Math.atanh(this.get(i, j)));
      }
    }
    return this;
  };
  AbstractMatrix.atanh = function atanh(matrix) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.atanh();
  };
  AbstractMatrix.prototype.cbrt = function cbrt() {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, Math.cbrt(this.get(i, j)));
      }
    }
    return this;
  };
  AbstractMatrix.cbrt = function cbrt(matrix) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.cbrt();
  };
  AbstractMatrix.prototype.ceil = function ceil() {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, Math.ceil(this.get(i, j)));
      }
    }
    return this;
  };
  AbstractMatrix.ceil = function ceil(matrix) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.ceil();
  };
  AbstractMatrix.prototype.clz32 = function clz32() {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, Math.clz32(this.get(i, j)));
      }
    }
    return this;
  };
  AbstractMatrix.clz32 = function clz32(matrix) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.clz32();
  };
  AbstractMatrix.prototype.cos = function cos() {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, Math.cos(this.get(i, j)));
      }
    }
    return this;
  };
  AbstractMatrix.cos = function cos(matrix) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.cos();
  };
  AbstractMatrix.prototype.cosh = function cosh() {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, Math.cosh(this.get(i, j)));
      }
    }
    return this;
  };
  AbstractMatrix.cosh = function cosh(matrix) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.cosh();
  };
  AbstractMatrix.prototype.exp = function exp() {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, Math.exp(this.get(i, j)));
      }
    }
    return this;
  };
  AbstractMatrix.exp = function exp(matrix) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.exp();
  };
  AbstractMatrix.prototype.expm1 = function expm1() {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, Math.expm1(this.get(i, j)));
      }
    }
    return this;
  };
  AbstractMatrix.expm1 = function expm1(matrix) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.expm1();
  };
  AbstractMatrix.prototype.floor = function floor() {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, Math.floor(this.get(i, j)));
      }
    }
    return this;
  };
  AbstractMatrix.floor = function floor(matrix) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.floor();
  };
  AbstractMatrix.prototype.fround = function fround() {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, Math.fround(this.get(i, j)));
      }
    }
    return this;
  };
  AbstractMatrix.fround = function fround(matrix) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.fround();
  };
  AbstractMatrix.prototype.log = function log() {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, Math.log(this.get(i, j)));
      }
    }
    return this;
  };
  AbstractMatrix.log = function log(matrix) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.log();
  };
  AbstractMatrix.prototype.log1p = function log1p() {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, Math.log1p(this.get(i, j)));
      }
    }
    return this;
  };
  AbstractMatrix.log1p = function log1p(matrix) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.log1p();
  };
  AbstractMatrix.prototype.log10 = function log10() {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, Math.log10(this.get(i, j)));
      }
    }
    return this;
  };
  AbstractMatrix.log10 = function log10(matrix) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.log10();
  };
  AbstractMatrix.prototype.log2 = function log2() {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, Math.log2(this.get(i, j)));
      }
    }
    return this;
  };
  AbstractMatrix.log2 = function log2(matrix) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.log2();
  };
  AbstractMatrix.prototype.round = function round() {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, Math.round(this.get(i, j)));
      }
    }
    return this;
  };
  AbstractMatrix.round = function round(matrix) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.round();
  };
  AbstractMatrix.prototype.sign = function sign() {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, Math.sign(this.get(i, j)));
      }
    }
    return this;
  };
  AbstractMatrix.sign = function sign(matrix) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.sign();
  };
  AbstractMatrix.prototype.sin = function sin() {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, Math.sin(this.get(i, j)));
      }
    }
    return this;
  };
  AbstractMatrix.sin = function sin(matrix) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.sin();
  };
  AbstractMatrix.prototype.sinh = function sinh() {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, Math.sinh(this.get(i, j)));
      }
    }
    return this;
  };
  AbstractMatrix.sinh = function sinh(matrix) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.sinh();
  };
  AbstractMatrix.prototype.sqrt = function sqrt() {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, Math.sqrt(this.get(i, j)));
      }
    }
    return this;
  };
  AbstractMatrix.sqrt = function sqrt(matrix) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.sqrt();
  };
  AbstractMatrix.prototype.tan = function tan() {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, Math.tan(this.get(i, j)));
      }
    }
    return this;
  };
  AbstractMatrix.tan = function tan(matrix) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.tan();
  };
  AbstractMatrix.prototype.tanh = function tanh() {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, Math.tanh(this.get(i, j)));
      }
    }
    return this;
  };
  AbstractMatrix.tanh = function tanh(matrix) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.tanh();
  };
  AbstractMatrix.prototype.trunc = function trunc() {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, Math.trunc(this.get(i, j)));
      }
    }
    return this;
  };
  AbstractMatrix.trunc = function trunc(matrix) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.trunc();
  };
  AbstractMatrix.pow = function pow(matrix, arg0) {
    const newMatrix = new Matrix(matrix);
    return newMatrix.pow(arg0);
  };
  AbstractMatrix.prototype.pow = function pow(value) {
    if (typeof value === 'number') return this.powS(value);
    return this.powM(value);
  };
  AbstractMatrix.prototype.powS = function powS(value) {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) ** value);
      }
    }
    return this;
  };
  AbstractMatrix.prototype.powM = function powM(matrix) {
    matrix = Matrix.checkMatrix(matrix);
    if (this.rows !== matrix.rows || this.columns !== matrix.columns) {
      throw new RangeError('Matrices dimensions must be equal');
    }
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) ** matrix.get(i, j));
      }
    }
    return this;
  };
}

/**
 * @private
 * Check that a row index is not out of bounds
 * @param {Matrix} matrix
 * @param {number} index
 * @param {boolean} [outer]
 */
function checkRowIndex(matrix, index, outer) {
  let max = outer ? matrix.rows : matrix.rows - 1;
  if (index < 0 || index > max) {
    throw new RangeError('Row index out of range');
  }
}

/**
 * @private
 * Check that a column index is not out of bounds
 * @param {Matrix} matrix
 * @param {number} index
 * @param {boolean} [outer]
 */
function checkColumnIndex(matrix, index, outer) {
  let max = outer ? matrix.columns : matrix.columns - 1;
  if (index < 0 || index > max) {
    throw new RangeError('Column index out of range');
  }
}

/**
 * @private
 * Check that the provided vector is an array with the right length
 * @param {Matrix} matrix
 * @param {Array|Matrix} vector
 * @return {Array}
 * @throws {RangeError}
 */
function checkRowVector(matrix, vector) {
  if (vector.to1DArray) {
    vector = vector.to1DArray();
  }
  if (vector.length !== matrix.columns) {
    throw new RangeError('vector size must be the same as the number of columns');
  }
  return vector;
}

/**
 * @private
 * Check that the provided vector is an array with the right length
 * @param {Matrix} matrix
 * @param {Array|Matrix} vector
 * @return {Array}
 * @throws {RangeError}
 */
function checkColumnVector(matrix, vector) {
  if (vector.to1DArray) {
    vector = vector.to1DArray();
  }
  if (vector.length !== matrix.rows) {
    throw new RangeError('vector size must be the same as the number of rows');
  }
  return vector;
}
function checkRowIndices(matrix, rowIndices) {
  if (!isAnyArray.isAnyArray(rowIndices)) {
    throw new TypeError('row indices must be an array');
  }
  for (let i = 0; i < rowIndices.length; i++) {
    if (rowIndices[i] < 0 || rowIndices[i] >= matrix.rows) {
      throw new RangeError('row indices are out of range');
    }
  }
}
function checkColumnIndices(matrix, columnIndices) {
  if (!isAnyArray.isAnyArray(columnIndices)) {
    throw new TypeError('column indices must be an array');
  }
  for (let i = 0; i < columnIndices.length; i++) {
    if (columnIndices[i] < 0 || columnIndices[i] >= matrix.columns) {
      throw new RangeError('column indices are out of range');
    }
  }
}
function checkRange(matrix, startRow, endRow, startColumn, endColumn) {
  if (arguments.length !== 5) {
    throw new RangeError('expected 4 arguments');
  }
  checkNumber('startRow', startRow);
  checkNumber('endRow', endRow);
  checkNumber('startColumn', startColumn);
  checkNumber('endColumn', endColumn);
  if (startRow > endRow || startColumn > endColumn || startRow < 0 || startRow >= matrix.rows || endRow < 0 || endRow >= matrix.rows || startColumn < 0 || startColumn >= matrix.columns || endColumn < 0 || endColumn >= matrix.columns) {
    throw new RangeError('Submatrix indices are out of range');
  }
}
function newArray(length, value = 0) {
  let array = [];
  for (let i = 0; i < length; i++) {
    array.push(value);
  }
  return array;
}
function checkNumber(name, value) {
  if (typeof value !== 'number') {
    throw new TypeError(`${name} must be a number`);
  }
}
function checkNonEmpty(matrix) {
  if (matrix.isEmpty()) {
    throw new Error('Empty matrix has no elements to index');
  }
}
function sumByRow(matrix) {
  let sum = newArray(matrix.rows);
  for (let i = 0; i < matrix.rows; ++i) {
    for (let j = 0; j < matrix.columns; ++j) {
      sum[i] += matrix.get(i, j);
    }
  }
  return sum;
}
function sumByColumn(matrix) {
  let sum = newArray(matrix.columns);
  for (let i = 0; i < matrix.rows; ++i) {
    for (let j = 0; j < matrix.columns; ++j) {
      sum[j] += matrix.get(i, j);
    }
  }
  return sum;
}
function sumAll(matrix) {
  let v = 0;
  for (let i = 0; i < matrix.rows; i++) {
    for (let j = 0; j < matrix.columns; j++) {
      v += matrix.get(i, j);
    }
  }
  return v;
}
function productByRow(matrix) {
  let sum = newArray(matrix.rows, 1);
  for (let i = 0; i < matrix.rows; ++i) {
    for (let j = 0; j < matrix.columns; ++j) {
      sum[i] *= matrix.get(i, j);
    }
  }
  return sum;
}
function productByColumn(matrix) {
  let sum = newArray(matrix.columns, 1);
  for (let i = 0; i < matrix.rows; ++i) {
    for (let j = 0; j < matrix.columns; ++j) {
      sum[j] *= matrix.get(i, j);
    }
  }
  return sum;
}
function productAll(matrix) {
  let v = 1;
  for (let i = 0; i < matrix.rows; i++) {
    for (let j = 0; j < matrix.columns; j++) {
      v *= matrix.get(i, j);
    }
  }
  return v;
}
function varianceByRow(matrix, unbiased, mean) {
  const rows = matrix.rows;
  const cols = matrix.columns;
  const variance = [];
  for (let i = 0; i < rows; i++) {
    let sum1 = 0;
    let sum2 = 0;
    let x = 0;
    for (let j = 0; j < cols; j++) {
      x = matrix.get(i, j) - mean[i];
      sum1 += x;
      sum2 += x * x;
    }
    if (unbiased) {
      variance.push((sum2 - sum1 * sum1 / cols) / (cols - 1));
    } else {
      variance.push((sum2 - sum1 * sum1 / cols) / cols);
    }
  }
  return variance;
}
function varianceByColumn(matrix, unbiased, mean) {
  const rows = matrix.rows;
  const cols = matrix.columns;
  const variance = [];
  for (let j = 0; j < cols; j++) {
    let sum1 = 0;
    let sum2 = 0;
    let x = 0;
    for (let i = 0; i < rows; i++) {
      x = matrix.get(i, j) - mean[j];
      sum1 += x;
      sum2 += x * x;
    }
    if (unbiased) {
      variance.push((sum2 - sum1 * sum1 / rows) / (rows - 1));
    } else {
      variance.push((sum2 - sum1 * sum1 / rows) / rows);
    }
  }
  return variance;
}
function varianceAll(matrix, unbiased, mean) {
  const rows = matrix.rows;
  const cols = matrix.columns;
  const size = rows * cols;
  let sum1 = 0;
  let sum2 = 0;
  let x = 0;
  for (let i = 0; i < rows; i++) {
    for (let j = 0; j < cols; j++) {
      x = matrix.get(i, j) - mean;
      sum1 += x;
      sum2 += x * x;
    }
  }
  if (unbiased) {
    return (sum2 - sum1 * sum1 / size) / (size - 1);
  } else {
    return (sum2 - sum1 * sum1 / size) / size;
  }
}
function centerByRow(matrix, mean) {
  for (let i = 0; i < matrix.rows; i++) {
    for (let j = 0; j < matrix.columns; j++) {
      matrix.set(i, j, matrix.get(i, j) - mean[i]);
    }
  }
}
function centerByColumn(matrix, mean) {
  for (let i = 0; i < matrix.rows; i++) {
    for (let j = 0; j < matrix.columns; j++) {
      matrix.set(i, j, matrix.get(i, j) - mean[j]);
    }
  }
}
function centerAll(matrix, mean) {
  for (let i = 0; i < matrix.rows; i++) {
    for (let j = 0; j < matrix.columns; j++) {
      matrix.set(i, j, matrix.get(i, j) - mean);
    }
  }
}
function getScaleByRow(matrix) {
  const scale = [];
  for (let i = 0; i < matrix.rows; i++) {
    let sum = 0;
    for (let j = 0; j < matrix.columns; j++) {
      sum += matrix.get(i, j) ** 2 / (matrix.columns - 1);
    }
    scale.push(Math.sqrt(sum));
  }
  return scale;
}
function scaleByRow(matrix, scale) {
  for (let i = 0; i < matrix.rows; i++) {
    for (let j = 0; j < matrix.columns; j++) {
      matrix.set(i, j, matrix.get(i, j) / scale[i]);
    }
  }
}
function getScaleByColumn(matrix) {
  const scale = [];
  for (let j = 0; j < matrix.columns; j++) {
    let sum = 0;
    for (let i = 0; i < matrix.rows; i++) {
      sum += matrix.get(i, j) ** 2 / (matrix.rows - 1);
    }
    scale.push(Math.sqrt(sum));
  }
  return scale;
}
function scaleByColumn(matrix, scale) {
  for (let i = 0; i < matrix.rows; i++) {
    for (let j = 0; j < matrix.columns; j++) {
      matrix.set(i, j, matrix.get(i, j) / scale[j]);
    }
  }
}
function getScaleAll(matrix) {
  const divider = matrix.size - 1;
  let sum = 0;
  for (let j = 0; j < matrix.columns; j++) {
    for (let i = 0; i < matrix.rows; i++) {
      sum += matrix.get(i, j) ** 2 / divider;
    }
  }
  return Math.sqrt(sum);
}
function scaleAll(matrix, scale) {
  for (let i = 0; i < matrix.rows; i++) {
    for (let j = 0; j < matrix.columns; j++) {
      matrix.set(i, j, matrix.get(i, j) / scale);
    }
  }
}
class AbstractMatrix {
  static from1DArray(newRows, newColumns, newData) {
    let length = newRows * newColumns;
    if (length !== newData.length) {
      throw new RangeError('data length does not match given dimensions');
    }
    let newMatrix = new Matrix$1(newRows, newColumns);
    for (let row = 0; row < newRows; row++) {
      for (let column = 0; column < newColumns; column++) {
        newMatrix.set(row, column, newData[row * newColumns + column]);
      }
    }
    return newMatrix;
  }
  static rowVector(newData) {
    let vector = new Matrix$1(1, newData.length);
    for (let i = 0; i < newData.length; i++) {
      vector.set(0, i, newData[i]);
    }
    return vector;
  }
  static columnVector(newData) {
    let vector = new Matrix$1(newData.length, 1);
    for (let i = 0; i < newData.length; i++) {
      vector.set(i, 0, newData[i]);
    }
    return vector;
  }
  static zeros(rows, columns) {
    return new Matrix$1(rows, columns);
  }
  static ones(rows, columns) {
    return new Matrix$1(rows, columns).fill(1);
  }
  static rand(rows, columns, options = {}) {
    if (typeof options !== 'object') {
      throw new TypeError('options must be an object');
    }
    const {
      random = Math.random
    } = options;
    let matrix = new Matrix$1(rows, columns);
    for (let i = 0; i < rows; i++) {
      for (let j = 0; j < columns; j++) {
        matrix.set(i, j, random());
      }
    }
    return matrix;
  }
  static randInt(rows, columns, options = {}) {
    if (typeof options !== 'object') {
      throw new TypeError('options must be an object');
    }
    const {
      min = 0,
      max = 1000,
      random = Math.random
    } = options;
    if (!Number.isInteger(min)) throw new TypeError('min must be an integer');
    if (!Number.isInteger(max)) throw new TypeError('max must be an integer');
    if (min >= max) throw new RangeError('min must be smaller than max');
    let interval = max - min;
    let matrix = new Matrix$1(rows, columns);
    for (let i = 0; i < rows; i++) {
      for (let j = 0; j < columns; j++) {
        let value = min + Math.round(random() * interval);
        matrix.set(i, j, value);
      }
    }
    return matrix;
  }
  static eye(rows, columns, value) {
    if (columns === undefined) columns = rows;
    if (value === undefined) value = 1;
    let min = Math.min(rows, columns);
    let matrix = this.zeros(rows, columns);
    for (let i = 0; i < min; i++) {
      matrix.set(i, i, value);
    }
    return matrix;
  }
  static diag(data, rows, columns) {
    let l = data.length;
    if (rows === undefined) rows = l;
    if (columns === undefined) columns = rows;
    let min = Math.min(l, rows, columns);
    let matrix = this.zeros(rows, columns);
    for (let i = 0; i < min; i++) {
      matrix.set(i, i, data[i]);
    }
    return matrix;
  }
  static min(matrix1, matrix2) {
    matrix1 = this.checkMatrix(matrix1);
    matrix2 = this.checkMatrix(matrix2);
    let rows = matrix1.rows;
    let columns = matrix1.columns;
    let result = new Matrix$1(rows, columns);
    for (let i = 0; i < rows; i++) {
      for (let j = 0; j < columns; j++) {
        result.set(i, j, Math.min(matrix1.get(i, j), matrix2.get(i, j)));
      }
    }
    return result;
  }
  static max(matrix1, matrix2) {
    matrix1 = this.checkMatrix(matrix1);
    matrix2 = this.checkMatrix(matrix2);
    let rows = matrix1.rows;
    let columns = matrix1.columns;
    let result = new this(rows, columns);
    for (let i = 0; i < rows; i++) {
      for (let j = 0; j < columns; j++) {
        result.set(i, j, Math.max(matrix1.get(i, j), matrix2.get(i, j)));
      }
    }
    return result;
  }
  static checkMatrix(value) {
    return AbstractMatrix.isMatrix(value) ? value : new Matrix$1(value);
  }
  static isMatrix(value) {
    return value != null && value.klass === 'Matrix';
  }
  get size() {
    return this.rows * this.columns;
  }
  apply(callback) {
    if (typeof callback !== 'function') {
      throw new TypeError('callback must be a function');
    }
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        callback.call(this, i, j);
      }
    }
    return this;
  }
  to1DArray() {
    let array = [];
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        array.push(this.get(i, j));
      }
    }
    return array;
  }
  to2DArray() {
    let copy = [];
    for (let i = 0; i < this.rows; i++) {
      copy.push([]);
      for (let j = 0; j < this.columns; j++) {
        copy[i].push(this.get(i, j));
      }
    }
    return copy;
  }
  toJSON() {
    return this.to2DArray();
  }
  isRowVector() {
    return this.rows === 1;
  }
  isColumnVector() {
    return this.columns === 1;
  }
  isVector() {
    return this.rows === 1 || this.columns === 1;
  }
  isSquare() {
    return this.rows === this.columns;
  }
  isEmpty() {
    return this.rows === 0 || this.columns === 0;
  }
  isSymmetric() {
    if (this.isSquare()) {
      for (let i = 0; i < this.rows; i++) {
        for (let j = 0; j <= i; j++) {
          if (this.get(i, j) !== this.get(j, i)) {
            return false;
          }
        }
      }
      return true;
    }
    return false;
  }
  isDistance() {
    if (!this.isSymmetric()) return false;
    for (let i = 0; i < this.rows; i++) {
      if (this.get(i, i) !== 0) return false;
    }
    return true;
  }
  isEchelonForm() {
    let i = 0;
    let j = 0;
    let previousColumn = -1;
    let isEchelonForm = true;
    let checked = false;
    while (i < this.rows && isEchelonForm) {
      j = 0;
      checked = false;
      while (j < this.columns && checked === false) {
        if (this.get(i, j) === 0) {
          j++;
        } else if (this.get(i, j) === 1 && j > previousColumn) {
          checked = true;
          previousColumn = j;
        } else {
          isEchelonForm = false;
          checked = true;
        }
      }
      i++;
    }
    return isEchelonForm;
  }
  isReducedEchelonForm() {
    let i = 0;
    let j = 0;
    let previousColumn = -1;
    let isReducedEchelonForm = true;
    let checked = false;
    while (i < this.rows && isReducedEchelonForm) {
      j = 0;
      checked = false;
      while (j < this.columns && checked === false) {
        if (this.get(i, j) === 0) {
          j++;
        } else if (this.get(i, j) === 1 && j > previousColumn) {
          checked = true;
          previousColumn = j;
        } else {
          isReducedEchelonForm = false;
          checked = true;
        }
      }
      for (let k = j + 1; k < this.rows; k++) {
        if (this.get(i, k) !== 0) {
          isReducedEchelonForm = false;
        }
      }
      i++;
    }
    return isReducedEchelonForm;
  }
  echelonForm() {
    let result = this.clone();
    let h = 0;
    let k = 0;
    while (h < result.rows && k < result.columns) {
      let iMax = h;
      for (let i = h; i < result.rows; i++) {
        if (result.get(i, k) > result.get(iMax, k)) {
          iMax = i;
        }
      }
      if (result.get(iMax, k) === 0) {
        k++;
      } else {
        result.swapRows(h, iMax);
        let tmp = result.get(h, k);
        for (let j = k; j < result.columns; j++) {
          result.set(h, j, result.get(h, j) / tmp);
        }
        for (let i = h + 1; i < result.rows; i++) {
          let factor = result.get(i, k) / result.get(h, k);
          result.set(i, k, 0);
          for (let j = k + 1; j < result.columns; j++) {
            result.set(i, j, result.get(i, j) - result.get(h, j) * factor);
          }
        }
        h++;
        k++;
      }
    }
    return result;
  }
  reducedEchelonForm() {
    let result = this.echelonForm();
    let m = result.columns;
    let n = result.rows;
    let h = n - 1;
    while (h >= 0) {
      if (result.maxRow(h) === 0) {
        h--;
      } else {
        let p = 0;
        let pivot = false;
        while (p < n && pivot === false) {
          if (result.get(h, p) === 1) {
            pivot = true;
          } else {
            p++;
          }
        }
        for (let i = 0; i < h; i++) {
          let factor = result.get(i, p);
          for (let j = p; j < m; j++) {
            let tmp = result.get(i, j) - factor * result.get(h, j);
            result.set(i, j, tmp);
          }
        }
        h--;
      }
    }
    return result;
  }
  set() {
    throw new Error('set method is unimplemented');
  }
  get() {
    throw new Error('get method is unimplemented');
  }
  repeat(options = {}) {
    if (typeof options !== 'object') {
      throw new TypeError('options must be an object');
    }
    const {
      rows = 1,
      columns = 1
    } = options;
    if (!Number.isInteger(rows) || rows <= 0) {
      throw new TypeError('rows must be a positive integer');
    }
    if (!Number.isInteger(columns) || columns <= 0) {
      throw new TypeError('columns must be a positive integer');
    }
    let matrix = new Matrix$1(this.rows * rows, this.columns * columns);
    for (let i = 0; i < rows; i++) {
      for (let j = 0; j < columns; j++) {
        matrix.setSubMatrix(this, this.rows * i, this.columns * j);
      }
    }
    return matrix;
  }
  fill(value) {
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, value);
      }
    }
    return this;
  }
  neg() {
    return this.mulS(-1);
  }
  getRow(index) {
    checkRowIndex(this, index);
    let row = [];
    for (let i = 0; i < this.columns; i++) {
      row.push(this.get(index, i));
    }
    return row;
  }
  getRowVector(index) {
    return Matrix$1.rowVector(this.getRow(index));
  }
  setRow(index, array) {
    checkRowIndex(this, index);
    array = checkRowVector(this, array);
    for (let i = 0; i < this.columns; i++) {
      this.set(index, i, array[i]);
    }
    return this;
  }
  swapRows(row1, row2) {
    checkRowIndex(this, row1);
    checkRowIndex(this, row2);
    for (let i = 0; i < this.columns; i++) {
      let temp = this.get(row1, i);
      this.set(row1, i, this.get(row2, i));
      this.set(row2, i, temp);
    }
    return this;
  }
  getColumn(index) {
    checkColumnIndex(this, index);
    let column = [];
    for (let i = 0; i < this.rows; i++) {
      column.push(this.get(i, index));
    }
    return column;
  }
  getColumnVector(index) {
    return Matrix$1.columnVector(this.getColumn(index));
  }
  setColumn(index, array) {
    checkColumnIndex(this, index);
    array = checkColumnVector(this, array);
    for (let i = 0; i < this.rows; i++) {
      this.set(i, index, array[i]);
    }
    return this;
  }
  swapColumns(column1, column2) {
    checkColumnIndex(this, column1);
    checkColumnIndex(this, column2);
    for (let i = 0; i < this.rows; i++) {
      let temp = this.get(i, column1);
      this.set(i, column1, this.get(i, column2));
      this.set(i, column2, temp);
    }
    return this;
  }
  addRowVector(vector) {
    vector = checkRowVector(this, vector);
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) + vector[j]);
      }
    }
    return this;
  }
  subRowVector(vector) {
    vector = checkRowVector(this, vector);
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) - vector[j]);
      }
    }
    return this;
  }
  mulRowVector(vector) {
    vector = checkRowVector(this, vector);
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) * vector[j]);
      }
    }
    return this;
  }
  divRowVector(vector) {
    vector = checkRowVector(this, vector);
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) / vector[j]);
      }
    }
    return this;
  }
  addColumnVector(vector) {
    vector = checkColumnVector(this, vector);
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) + vector[i]);
      }
    }
    return this;
  }
  subColumnVector(vector) {
    vector = checkColumnVector(this, vector);
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) - vector[i]);
      }
    }
    return this;
  }
  mulColumnVector(vector) {
    vector = checkColumnVector(this, vector);
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) * vector[i]);
      }
    }
    return this;
  }
  divColumnVector(vector) {
    vector = checkColumnVector(this, vector);
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        this.set(i, j, this.get(i, j) / vector[i]);
      }
    }
    return this;
  }
  mulRow(index, value) {
    checkRowIndex(this, index);
    for (let i = 0; i < this.columns; i++) {
      this.set(index, i, this.get(index, i) * value);
    }
    return this;
  }
  mulColumn(index, value) {
    checkColumnIndex(this, index);
    for (let i = 0; i < this.rows; i++) {
      this.set(i, index, this.get(i, index) * value);
    }
    return this;
  }
  max(by) {
    if (this.isEmpty()) {
      return NaN;
    }
    switch (by) {
      case 'row':
        {
          const max = new Array(this.rows).fill(Number.NEGATIVE_INFINITY);
          for (let row = 0; row < this.rows; row++) {
            for (let column = 0; column < this.columns; column++) {
              if (this.get(row, column) > max[row]) {
                max[row] = this.get(row, column);
              }
            }
          }
          return max;
        }
      case 'column':
        {
          const max = new Array(this.columns).fill(Number.NEGATIVE_INFINITY);
          for (let row = 0; row < this.rows; row++) {
            for (let column = 0; column < this.columns; column++) {
              if (this.get(row, column) > max[column]) {
                max[column] = this.get(row, column);
              }
            }
          }
          return max;
        }
      case undefined:
        {
          let max = this.get(0, 0);
          for (let row = 0; row < this.rows; row++) {
            for (let column = 0; column < this.columns; column++) {
              if (this.get(row, column) > max) {
                max = this.get(row, column);
              }
            }
          }
          return max;
        }
      default:
        throw new Error(`invalid option: ${by}`);
    }
  }
  maxIndex() {
    checkNonEmpty(this);
    let v = this.get(0, 0);
    let idx = [0, 0];
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        if (this.get(i, j) > v) {
          v = this.get(i, j);
          idx[0] = i;
          idx[1] = j;
        }
      }
    }
    return idx;
  }
  min(by) {
    if (this.isEmpty()) {
      return NaN;
    }
    switch (by) {
      case 'row':
        {
          const min = new Array(this.rows).fill(Number.POSITIVE_INFINITY);
          for (let row = 0; row < this.rows; row++) {
            for (let column = 0; column < this.columns; column++) {
              if (this.get(row, column) < min[row]) {
                min[row] = this.get(row, column);
              }
            }
          }
          return min;
        }
      case 'column':
        {
          const min = new Array(this.columns).fill(Number.POSITIVE_INFINITY);
          for (let row = 0; row < this.rows; row++) {
            for (let column = 0; column < this.columns; column++) {
              if (this.get(row, column) < min[column]) {
                min[column] = this.get(row, column);
              }
            }
          }
          return min;
        }
      case undefined:
        {
          let min = this.get(0, 0);
          for (let row = 0; row < this.rows; row++) {
            for (let column = 0; column < this.columns; column++) {
              if (this.get(row, column) < min) {
                min = this.get(row, column);
              }
            }
          }
          return min;
        }
      default:
        throw new Error(`invalid option: ${by}`);
    }
  }
  minIndex() {
    checkNonEmpty(this);
    let v = this.get(0, 0);
    let idx = [0, 0];
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        if (this.get(i, j) < v) {
          v = this.get(i, j);
          idx[0] = i;
          idx[1] = j;
        }
      }
    }
    return idx;
  }
  maxRow(row) {
    checkRowIndex(this, row);
    if (this.isEmpty()) {
      return NaN;
    }
    let v = this.get(row, 0);
    for (let i = 1; i < this.columns; i++) {
      if (this.get(row, i) > v) {
        v = this.get(row, i);
      }
    }
    return v;
  }
  maxRowIndex(row) {
    checkRowIndex(this, row);
    checkNonEmpty(this);
    let v = this.get(row, 0);
    let idx = [row, 0];
    for (let i = 1; i < this.columns; i++) {
      if (this.get(row, i) > v) {
        v = this.get(row, i);
        idx[1] = i;
      }
    }
    return idx;
  }
  minRow(row) {
    checkRowIndex(this, row);
    if (this.isEmpty()) {
      return NaN;
    }
    let v = this.get(row, 0);
    for (let i = 1; i < this.columns; i++) {
      if (this.get(row, i) < v) {
        v = this.get(row, i);
      }
    }
    return v;
  }
  minRowIndex(row) {
    checkRowIndex(this, row);
    checkNonEmpty(this);
    let v = this.get(row, 0);
    let idx = [row, 0];
    for (let i = 1; i < this.columns; i++) {
      if (this.get(row, i) < v) {
        v = this.get(row, i);
        idx[1] = i;
      }
    }
    return idx;
  }
  maxColumn(column) {
    checkColumnIndex(this, column);
    if (this.isEmpty()) {
      return NaN;
    }
    let v = this.get(0, column);
    for (let i = 1; i < this.rows; i++) {
      if (this.get(i, column) > v) {
        v = this.get(i, column);
      }
    }
    return v;
  }
  maxColumnIndex(column) {
    checkColumnIndex(this, column);
    checkNonEmpty(this);
    let v = this.get(0, column);
    let idx = [0, column];
    for (let i = 1; i < this.rows; i++) {
      if (this.get(i, column) > v) {
        v = this.get(i, column);
        idx[0] = i;
      }
    }
    return idx;
  }
  minColumn(column) {
    checkColumnIndex(this, column);
    if (this.isEmpty()) {
      return NaN;
    }
    let v = this.get(0, column);
    for (let i = 1; i < this.rows; i++) {
      if (this.get(i, column) < v) {
        v = this.get(i, column);
      }
    }
    return v;
  }
  minColumnIndex(column) {
    checkColumnIndex(this, column);
    checkNonEmpty(this);
    let v = this.get(0, column);
    let idx = [0, column];
    for (let i = 1; i < this.rows; i++) {
      if (this.get(i, column) < v) {
        v = this.get(i, column);
        idx[0] = i;
      }
    }
    return idx;
  }
  diag() {
    let min = Math.min(this.rows, this.columns);
    let diag = [];
    for (let i = 0; i < min; i++) {
      diag.push(this.get(i, i));
    }
    return diag;
  }
  norm(type = 'frobenius') {
    switch (type) {
      case 'max':
        return this.max();
      case 'frobenius':
        return Math.sqrt(this.dot(this));
      default:
        throw new RangeError(`unknown norm type: ${type}`);
    }
  }
  cumulativeSum() {
    let sum = 0;
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        sum += this.get(i, j);
        this.set(i, j, sum);
      }
    }
    return this;
  }
  dot(vector2) {
    if (AbstractMatrix.isMatrix(vector2)) vector2 = vector2.to1DArray();
    let vector1 = this.to1DArray();
    if (vector1.length !== vector2.length) {
      throw new RangeError('vectors do not have the same size');
    }
    let dot = 0;
    for (let i = 0; i < vector1.length; i++) {
      dot += vector1[i] * vector2[i];
    }
    return dot;
  }
  mmul(other) {
    other = Matrix$1.checkMatrix(other);
    let m = this.rows;
    let n = this.columns;
    let p = other.columns;
    let result = new Matrix$1(m, p);
    let Bcolj = new Float64Array(n);
    for (let j = 0; j < p; j++) {
      for (let k = 0; k < n; k++) {
        Bcolj[k] = other.get(k, j);
      }
      for (let i = 0; i < m; i++) {
        let s = 0;
        for (let k = 0; k < n; k++) {
          s += this.get(i, k) * Bcolj[k];
        }
        result.set(i, j, s);
      }
    }
    return result;
  }
  mpow(scalar) {
    if (!this.isSquare()) {
      throw new RangeError('Matrix must be square');
    }
    if (!Number.isInteger(scalar) || scalar < 0) {
      throw new RangeError('Exponent must be a non-negative integer');
    }
    // Russian Peasant exponentiation, i.e. exponentiation by squaring
    let result = Matrix$1.eye(this.rows);
    let bb = this;
    // Note: Don't bit shift. In JS, that would truncate at 32 bits
    for (let e = scalar; e >= 1; e /= 2) {
      if ((e & 1) !== 0) {
        result = result.mmul(bb);
      }
      bb = bb.mmul(bb);
    }
    return result;
  }
  strassen2x2(other) {
    other = Matrix$1.checkMatrix(other);
    let result = new Matrix$1(2, 2);
    const a11 = this.get(0, 0);
    const b11 = other.get(0, 0);
    const a12 = this.get(0, 1);
    const b12 = other.get(0, 1);
    const a21 = this.get(1, 0);
    const b21 = other.get(1, 0);
    const a22 = this.get(1, 1);
    const b22 = other.get(1, 1);

    // Compute intermediate values.
    const m1 = (a11 + a22) * (b11 + b22);
    const m2 = (a21 + a22) * b11;
    const m3 = a11 * (b12 - b22);
    const m4 = a22 * (b21 - b11);
    const m5 = (a11 + a12) * b22;
    const m6 = (a21 - a11) * (b11 + b12);
    const m7 = (a12 - a22) * (b21 + b22);

    // Combine intermediate values into the output.
    const c00 = m1 + m4 - m5 + m7;
    const c01 = m3 + m5;
    const c10 = m2 + m4;
    const c11 = m1 - m2 + m3 + m6;
    result.set(0, 0, c00);
    result.set(0, 1, c01);
    result.set(1, 0, c10);
    result.set(1, 1, c11);
    return result;
  }
  strassen3x3(other) {
    other = Matrix$1.checkMatrix(other);
    let result = new Matrix$1(3, 3);
    const a00 = this.get(0, 0);
    const a01 = this.get(0, 1);
    const a02 = this.get(0, 2);
    const a10 = this.get(1, 0);
    const a11 = this.get(1, 1);
    const a12 = this.get(1, 2);
    const a20 = this.get(2, 0);
    const a21 = this.get(2, 1);
    const a22 = this.get(2, 2);
    const b00 = other.get(0, 0);
    const b01 = other.get(0, 1);
    const b02 = other.get(0, 2);
    const b10 = other.get(1, 0);
    const b11 = other.get(1, 1);
    const b12 = other.get(1, 2);
    const b20 = other.get(2, 0);
    const b21 = other.get(2, 1);
    const b22 = other.get(2, 2);
    const m1 = (a00 + a01 + a02 - a10 - a11 - a21 - a22) * b11;
    const m2 = (a00 - a10) * (-b01 + b11);
    const m3 = a11 * (-b00 + b01 + b10 - b11 - b12 - b20 + b22);
    const m4 = (-a00 + a10 + a11) * (b00 - b01 + b11);
    const m5 = (a10 + a11) * (-b00 + b01);
    const m6 = a00 * b00;
    const m7 = (-a00 + a20 + a21) * (b00 - b02 + b12);
    const m8 = (-a00 + a20) * (b02 - b12);
    const m9 = (a20 + a21) * (-b00 + b02);
    const m10 = (a00 + a01 + a02 - a11 - a12 - a20 - a21) * b12;
    const m11 = a21 * (-b00 + b02 + b10 - b11 - b12 - b20 + b21);
    const m12 = (-a02 + a21 + a22) * (b11 + b20 - b21);
    const m13 = (a02 - a22) * (b11 - b21);
    const m14 = a02 * b20;
    const m15 = (a21 + a22) * (-b20 + b21);
    const m16 = (-a02 + a11 + a12) * (b12 + b20 - b22);
    const m17 = (a02 - a12) * (b12 - b22);
    const m18 = (a11 + a12) * (-b20 + b22);
    const m19 = a01 * b10;
    const m20 = a12 * b21;
    const m21 = a10 * b02;
    const m22 = a20 * b01;
    const m23 = a22 * b22;
    const c00 = m6 + m14 + m19;
    const c01 = m1 + m4 + m5 + m6 + m12 + m14 + m15;
    const c02 = m6 + m7 + m9 + m10 + m14 + m16 + m18;
    const c10 = m2 + m3 + m4 + m6 + m14 + m16 + m17;
    const c11 = m2 + m4 + m5 + m6 + m20;
    const c12 = m14 + m16 + m17 + m18 + m21;
    const c20 = m6 + m7 + m8 + m11 + m12 + m13 + m14;
    const c21 = m12 + m13 + m14 + m15 + m22;
    const c22 = m6 + m7 + m8 + m9 + m23;
    result.set(0, 0, c00);
    result.set(0, 1, c01);
    result.set(0, 2, c02);
    result.set(1, 0, c10);
    result.set(1, 1, c11);
    result.set(1, 2, c12);
    result.set(2, 0, c20);
    result.set(2, 1, c21);
    result.set(2, 2, c22);
    return result;
  }
  mmulStrassen(y) {
    y = Matrix$1.checkMatrix(y);
    let x = this.clone();
    let r1 = x.rows;
    let c1 = x.columns;
    let r2 = y.rows;
    let c2 = y.columns;
    if (c1 !== r2) {
      // eslint-disable-next-line no-console
      console.warn(`Multiplying ${r1} x ${c1} and ${r2} x ${c2} matrix: dimensions do not match.`);
    }

    // Put a matrix into the top left of a matrix of zeros.
    // `rows` and `cols` are the dimensions of the output matrix.
    function embed(mat, rows, cols) {
      let r = mat.rows;
      let c = mat.columns;
      if (r === rows && c === cols) {
        return mat;
      } else {
        let resultat = AbstractMatrix.zeros(rows, cols);
        resultat = resultat.setSubMatrix(mat, 0, 0);
        return resultat;
      }
    }

    // Make sure both matrices are the same size.
    // This is exclusively for simplicity:
    // this algorithm can be implemented with matrices of different sizes.

    let r = Math.max(r1, r2);
    let c = Math.max(c1, c2);
    x = embed(x, r, c);
    y = embed(y, r, c);

    // Our recursive multiplication function.
    function blockMult(a, b, rows, cols) {
      // For small matrices, resort to naive multiplication.
      if (rows <= 512 || cols <= 512) {
        return a.mmul(b); // a is equivalent to this
      }

      // Apply dynamic padding.
      if (rows % 2 === 1 && cols % 2 === 1) {
        a = embed(a, rows + 1, cols + 1);
        b = embed(b, rows + 1, cols + 1);
      } else if (rows % 2 === 1) {
        a = embed(a, rows + 1, cols);
        b = embed(b, rows + 1, cols);
      } else if (cols % 2 === 1) {
        a = embed(a, rows, cols + 1);
        b = embed(b, rows, cols + 1);
      }
      let halfRows = parseInt(a.rows / 2, 10);
      let halfCols = parseInt(a.columns / 2, 10);
      // Subdivide input matrices.
      let a11 = a.subMatrix(0, halfRows - 1, 0, halfCols - 1);
      let b11 = b.subMatrix(0, halfRows - 1, 0, halfCols - 1);
      let a12 = a.subMatrix(0, halfRows - 1, halfCols, a.columns - 1);
      let b12 = b.subMatrix(0, halfRows - 1, halfCols, b.columns - 1);
      let a21 = a.subMatrix(halfRows, a.rows - 1, 0, halfCols - 1);
      let b21 = b.subMatrix(halfRows, b.rows - 1, 0, halfCols - 1);
      let a22 = a.subMatrix(halfRows, a.rows - 1, halfCols, a.columns - 1);
      let b22 = b.subMatrix(halfRows, b.rows - 1, halfCols, b.columns - 1);

      // Compute intermediate values.
      let m1 = blockMult(AbstractMatrix.add(a11, a22), AbstractMatrix.add(b11, b22), halfRows, halfCols);
      let m2 = blockMult(AbstractMatrix.add(a21, a22), b11, halfRows, halfCols);
      let m3 = blockMult(a11, AbstractMatrix.sub(b12, b22), halfRows, halfCols);
      let m4 = blockMult(a22, AbstractMatrix.sub(b21, b11), halfRows, halfCols);
      let m5 = blockMult(AbstractMatrix.add(a11, a12), b22, halfRows, halfCols);
      let m6 = blockMult(AbstractMatrix.sub(a21, a11), AbstractMatrix.add(b11, b12), halfRows, halfCols);
      let m7 = blockMult(AbstractMatrix.sub(a12, a22), AbstractMatrix.add(b21, b22), halfRows, halfCols);

      // Combine intermediate values into the output.
      let c11 = AbstractMatrix.add(m1, m4);
      c11.sub(m5);
      c11.add(m7);
      let c12 = AbstractMatrix.add(m3, m5);
      let c21 = AbstractMatrix.add(m2, m4);
      let c22 = AbstractMatrix.sub(m1, m2);
      c22.add(m3);
      c22.add(m6);

      // Crop output to the desired size (undo dynamic padding).
      let result = AbstractMatrix.zeros(2 * c11.rows, 2 * c11.columns);
      result = result.setSubMatrix(c11, 0, 0);
      result = result.setSubMatrix(c12, c11.rows, 0);
      result = result.setSubMatrix(c21, 0, c11.columns);
      result = result.setSubMatrix(c22, c11.rows, c11.columns);
      return result.subMatrix(0, rows - 1, 0, cols - 1);
    }
    return blockMult(x, y, r, c);
  }
  scaleRows(options = {}) {
    if (typeof options !== 'object') {
      throw new TypeError('options must be an object');
    }
    const {
      min = 0,
      max = 1
    } = options;
    if (!Number.isFinite(min)) throw new TypeError('min must be a number');
    if (!Number.isFinite(max)) throw new TypeError('max must be a number');
    if (min >= max) throw new RangeError('min must be smaller than max');
    let newMatrix = new Matrix$1(this.rows, this.columns);
    for (let i = 0; i < this.rows; i++) {
      const row = this.getRow(i);
      if (row.length > 0) {
        rescale(row, {
          min,
          max,
          output: row
        });
      }
      newMatrix.setRow(i, row);
    }
    return newMatrix;
  }
  scaleColumns(options = {}) {
    if (typeof options !== 'object') {
      throw new TypeError('options must be an object');
    }
    const {
      min = 0,
      max = 1
    } = options;
    if (!Number.isFinite(min)) throw new TypeError('min must be a number');
    if (!Number.isFinite(max)) throw new TypeError('max must be a number');
    if (min >= max) throw new RangeError('min must be smaller than max');
    let newMatrix = new Matrix$1(this.rows, this.columns);
    for (let i = 0; i < this.columns; i++) {
      const column = this.getColumn(i);
      if (column.length) {
        rescale(column, {
          min,
          max,
          output: column
        });
      }
      newMatrix.setColumn(i, column);
    }
    return newMatrix;
  }
  flipRows() {
    const middle = Math.ceil(this.columns / 2);
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < middle; j++) {
        let first = this.get(i, j);
        let last = this.get(i, this.columns - 1 - j);
        this.set(i, j, last);
        this.set(i, this.columns - 1 - j, first);
      }
    }
    return this;
  }
  flipColumns() {
    const middle = Math.ceil(this.rows / 2);
    for (let j = 0; j < this.columns; j++) {
      for (let i = 0; i < middle; i++) {
        let first = this.get(i, j);
        let last = this.get(this.rows - 1 - i, j);
        this.set(i, j, last);
        this.set(this.rows - 1 - i, j, first);
      }
    }
    return this;
  }
  kroneckerProduct(other) {
    other = Matrix$1.checkMatrix(other);
    let m = this.rows;
    let n = this.columns;
    let p = other.rows;
    let q = other.columns;
    let result = new Matrix$1(m * p, n * q);
    for (let i = 0; i < m; i++) {
      for (let j = 0; j < n; j++) {
        for (let k = 0; k < p; k++) {
          for (let l = 0; l < q; l++) {
            result.set(p * i + k, q * j + l, this.get(i, j) * other.get(k, l));
          }
        }
      }
    }
    return result;
  }
  kroneckerSum(other) {
    other = Matrix$1.checkMatrix(other);
    if (!this.isSquare() || !other.isSquare()) {
      throw new Error('Kronecker Sum needs two Square Matrices');
    }
    let m = this.rows;
    let n = other.rows;
    let AxI = this.kroneckerProduct(Matrix$1.eye(n, n));
    let IxB = Matrix$1.eye(m, m).kroneckerProduct(other);
    return AxI.add(IxB);
  }
  transpose() {
    let result = new Matrix$1(this.columns, this.rows);
    for (let i = 0; i < this.rows; i++) {
      for (let j = 0; j < this.columns; j++) {
        result.set(j, i, this.get(i, j));
      }
    }
    return result;
  }
  sortRows(compareFunction = compareNumbers) {
    for (let i = 0; i < this.rows; i++) {
      this.setRow(i, this.getRow(i).sort(compareFunction));
    }
    return this;
  }
  sortColumns(compareFunction = compareNumbers) {
    for (let i = 0; i < this.columns; i++) {
      this.setColumn(i, this.getColumn(i).sort(compareFunction));
    }
    return this;
  }
  subMatrix(startRow, endRow, startColumn, endColumn) {
    checkRange(this, startRow, endRow, startColumn, endColumn);
    let newMatrix = new Matrix$1(endRow - startRow + 1, endColumn - startColumn + 1);
    for (let i = startRow; i <= endRow; i++) {
      for (let j = startColumn; j <= endColumn; j++) {
        newMatrix.set(i - startRow, j - startColumn, this.get(i, j));
      }
    }
    return newMatrix;
  }
  subMatrixRow(indices, startColumn, endColumn) {
    if (startColumn === undefined) startColumn = 0;
    if (endColumn === undefined) endColumn = this.columns - 1;
    if (startColumn > endColumn || startColumn < 0 || startColumn >= this.columns || endColumn < 0 || endColumn >= this.columns) {
      throw new RangeError('Argument out of range');
    }
    let newMatrix = new Matrix$1(indices.length, endColumn - startColumn + 1);
    for (let i = 0; i < indices.length; i++) {
      for (let j = startColumn; j <= endColumn; j++) {
        if (indices[i] < 0 || indices[i] >= this.rows) {
          throw new RangeError(`Row index out of range: ${indices[i]}`);
        }
        newMatrix.set(i, j - startColumn, this.get(indices[i], j));
      }
    }
    return newMatrix;
  }
  subMatrixColumn(indices, startRow, endRow) {
    if (startRow === undefined) startRow = 0;
    if (endRow === undefined) endRow = this.rows - 1;
    if (startRow > endRow || startRow < 0 || startRow >= this.rows || endRow < 0 || endRow >= this.rows) {
      throw new RangeError('Argument out of range');
    }
    let newMatrix = new Matrix$1(endRow - startRow + 1, indices.length);
    for (let i = 0; i < indices.length; i++) {
      for (let j = startRow; j <= endRow; j++) {
        if (indices[i] < 0 || indices[i] >= this.columns) {
          throw new RangeError(`Column index out of range: ${indices[i]}`);
        }
        newMatrix.set(j - startRow, i, this.get(j, indices[i]));
      }
    }
    return newMatrix;
  }
  setSubMatrix(matrix, startRow, startColumn) {
    matrix = Matrix$1.checkMatrix(matrix);
    if (matrix.isEmpty()) {
      return this;
    }
    let endRow = startRow + matrix.rows - 1;
    let endColumn = startColumn + matrix.columns - 1;
    checkRange(this, startRow, endRow, startColumn, endColumn);
    for (let i = 0; i < matrix.rows; i++) {
      for (let j = 0; j < matrix.columns; j++) {
        this.set(startRow + i, startColumn + j, matrix.get(i, j));
      }
    }
    return this;
  }
  selection(rowIndices, columnIndices) {
    checkRowIndices(this, rowIndices);
    checkColumnIndices(this, columnIndices);
    let newMatrix = new Matrix$1(rowIndices.length, columnIndices.length);
    for (let i = 0; i < rowIndices.length; i++) {
      let rowIndex = rowIndices[i];
      for (let j = 0; j < columnIndices.length; j++) {
        let columnIndex = columnIndices[j];
        newMatrix.set(i, j, this.get(rowIndex, columnIndex));
      }
    }
    return newMatrix;
  }
  trace() {
    let min = Math.min(this.rows, this.columns);
    let trace = 0;
    for (let i = 0; i < min; i++) {
      trace += this.get(i, i);
    }
    return trace;
  }
  clone() {
    return this.constructor.copy(this, new Matrix$1(this.rows, this.columns));
  }

  /**
   * @template {AbstractMatrix} M
   * @param {AbstractMatrix} from
   * @param {M} to
   * @return {M}
   */
  static copy(from, to) {
    for (const [row, column, value] of from.entries()) {
      to.set(row, column, value);
    }
    return to;
  }
  sum(by) {
    switch (by) {
      case 'row':
        return sumByRow(this);
      case 'column':
        return sumByColumn(this);
      case undefined:
        return sumAll(this);
      default:
        throw new Error(`invalid option: ${by}`);
    }
  }
  product(by) {
    switch (by) {
      case 'row':
        return productByRow(this);
      case 'column':
        return productByColumn(this);
      case undefined:
        return productAll(this);
      default:
        throw new Error(`invalid option: ${by}`);
    }
  }
  mean(by) {
    const sum = this.sum(by);
    switch (by) {
      case 'row':
        {
          for (let i = 0; i < this.rows; i++) {
            sum[i] /= this.columns;
          }
          return sum;
        }
      case 'column':
        {
          for (let i = 0; i < this.columns; i++) {
            sum[i] /= this.rows;
          }
          return sum;
        }
      case undefined:
        return sum / this.size;
      default:
        throw new Error(`invalid option: ${by}`);
    }
  }
  variance(by, options = {}) {
    if (typeof by === 'object') {
      options = by;
      by = undefined;
    }
    if (typeof options !== 'object') {
      throw new TypeError('options must be an object');
    }
    const {
      unbiased = true,
      mean = this.mean(by)
    } = options;
    if (typeof unbiased !== 'boolean') {
      throw new TypeError('unbiased must be a boolean');
    }
    switch (by) {
      case 'row':
        {
          if (!isAnyArray.isAnyArray(mean)) {
            throw new TypeError('mean must be an array');
          }
          return varianceByRow(this, unbiased, mean);
        }
      case 'column':
        {
          if (!isAnyArray.isAnyArray(mean)) {
            throw new TypeError('mean must be an array');
          }
          return varianceByColumn(this, unbiased, mean);
        }
      case undefined:
        {
          if (typeof mean !== 'number') {
            throw new TypeError('mean must be a number');
          }
          return varianceAll(this, unbiased, mean);
        }
      default:
        throw new Error(`invalid option: ${by}`);
    }
  }
  standardDeviation(by, options) {
    if (typeof by === 'object') {
      options = by;
      by = undefined;
    }
    const variance = this.variance(by, options);
    if (by === undefined) {
      return Math.sqrt(variance);
    } else {
      for (let i = 0; i < variance.length; i++) {
        variance[i] = Math.sqrt(variance[i]);
      }
      return variance;
    }
  }
  center(by, options = {}) {
    if (typeof by === 'object') {
      options = by;
      by = undefined;
    }
    if (typeof options !== 'object') {
      throw new TypeError('options must be an object');
    }
    const {
      center = this.mean(by)
    } = options;
    switch (by) {
      case 'row':
        {
          if (!isAnyArray.isAnyArray(center)) {
            throw new TypeError('center must be an array');
          }
          centerByRow(this, center);
          return this;
        }
      case 'column':
        {
          if (!isAnyArray.isAnyArray(center)) {
            throw new TypeError('center must be an array');
          }
          centerByColumn(this, center);
          return this;
        }
      case undefined:
        {
          if (typeof center !== 'number') {
            throw new TypeError('center must be a number');
          }
          centerAll(this, center);
          return this;
        }
      default:
        throw new Error(`invalid option: ${by}`);
    }
  }
  scale(by, options = {}) {
    if (typeof by === 'object') {
      options = by;
      by = undefined;
    }
    if (typeof options !== 'object') {
      throw new TypeError('options must be an object');
    }
    let scale = options.scale;
    switch (by) {
      case 'row':
        {
          if (scale === undefined) {
            scale = getScaleByRow(this);
          } else if (!isAnyArray.isAnyArray(scale)) {
            throw new TypeError('scale must be an array');
          }
          scaleByRow(this, scale);
          return this;
        }
      case 'column':
        {
          if (scale === undefined) {
            scale = getScaleByColumn(this);
          } else if (!isAnyArray.isAnyArray(scale)) {
            throw new TypeError('scale must be an array');
          }
          scaleByColumn(this, scale);
          return this;
        }
      case undefined:
        {
          if (scale === undefined) {
            scale = getScaleAll(this);
          } else if (typeof scale !== 'number') {
            throw new TypeError('scale must be a number');
          }
          scaleAll(this, scale);
          return this;
        }
      default:
        throw new Error(`invalid option: ${by}`);
    }
  }
  toString(options) {
    return inspectMatrixWithOptions(this, options);
  }
  [Symbol.iterator]() {
    return this.entries();
  }

  /**
   * iterator from left to right, from top to bottom
   * yield [row, column, value]
   * @returns {Generator<[number, number, number], void, void>}
   */
  *entries() {
    for (let row = 0; row < this.rows; row++) {
      for (let col = 0; col < this.columns; col++) {
        yield [row, col, this.get(row, col)];
      }
    }
  }

  /**
   * iterator from left to right, from top to bottom
   * yield value
   * @returns {Generator<number, void, void>}
   */
  *values() {
    for (let row = 0; row < this.rows; row++) {
      for (let col = 0; col < this.columns; col++) {
        yield this.get(row, col);
      }
    }
  }
}
AbstractMatrix.prototype.klass = 'Matrix';
if (typeof Symbol !== 'undefined') {
  AbstractMatrix.prototype[Symbol.for('nodejs.util.inspect.custom')] = inspectMatrix;
}
function compareNumbers(a, b) {
  return a - b;
}
function isArrayOfNumbers(array) {
  return array.every(element => {
    return typeof element === 'number';
  });
}

// Synonyms
AbstractMatrix.random = AbstractMatrix.rand;
AbstractMatrix.randomInt = AbstractMatrix.randInt;
AbstractMatrix.diagonal = AbstractMatrix.diag;
AbstractMatrix.prototype.diagonal = AbstractMatrix.prototype.diag;
AbstractMatrix.identity = AbstractMatrix.eye;
AbstractMatrix.prototype.negate = AbstractMatrix.prototype.neg;
AbstractMatrix.prototype.tensorProduct = AbstractMatrix.prototype.kroneckerProduct;
let Matrix$1 = class Matrix extends AbstractMatrix {
  /**
   * @type {Float64Array[]}
   */
  data;

  /**
   * Init an empty matrix
   * @param {number} nRows
   * @param {number} nColumns
   */
  #initData(nRows, nColumns) {
    this.data = [];
    if (Number.isInteger(nColumns) && nColumns >= 0) {
      for (let i = 0; i < nRows; i++) {
        this.data.push(new Float64Array(nColumns));
      }
    } else {
      throw new TypeError('nColumns must be a positive integer');
    }
    this.rows = nRows;
    this.columns = nColumns;
  }
  constructor(nRows, nColumns) {
    super();
    if (Matrix.isMatrix(nRows)) {
      this.#initData(nRows.rows, nRows.columns);
      Matrix.copy(nRows, this);
    } else if (Number.isInteger(nRows) && nRows >= 0) {
      this.#initData(nRows, nColumns);
    } else if (isAnyArray.isAnyArray(nRows)) {
      // Copy the values from the 2D array
      const arrayData = nRows;
      nRows = arrayData.length;
      nColumns = nRows ? arrayData[0].length : 0;
      if (typeof nColumns !== 'number') {
        throw new TypeError('Data must be a 2D array with at least one element');
      }
      this.data = [];
      for (let i = 0; i < nRows; i++) {
        if (arrayData[i].length !== nColumns) {
          throw new RangeError('Inconsistent array dimensions');
        }
        if (!isArrayOfNumbers(arrayData[i])) {
          throw new TypeError('Input data contains non-numeric values');
        }
        this.data.push(Float64Array.from(arrayData[i]));
      }
      this.rows = nRows;
      this.columns = nColumns;
    } else {
      throw new TypeError('First argument must be a positive number or an array');
    }
  }
  set(rowIndex, columnIndex, value) {
    this.data[rowIndex][columnIndex] = value;
    return this;
  }
  get(rowIndex, columnIndex) {
    return this.data[rowIndex][columnIndex];
  }
  removeRow(index) {
    checkRowIndex(this, index);
    this.data.splice(index, 1);
    this.rows -= 1;
    return this;
  }
  addRow(index, array) {
    if (array === undefined) {
      array = index;
      index = this.rows;
    }
    checkRowIndex(this, index, true);
    array = Float64Array.from(checkRowVector(this, array));
    this.data.splice(index, 0, array);
    this.rows += 1;
    return this;
  }
  removeColumn(index) {
    checkColumnIndex(this, index);
    for (let i = 0; i < this.rows; i++) {
      const newRow = new Float64Array(this.columns - 1);
      for (let j = 0; j < index; j++) {
        newRow[j] = this.data[i][j];
      }
      for (let j = index + 1; j < this.columns; j++) {
        newRow[j - 1] = this.data[i][j];
      }
      this.data[i] = newRow;
    }
    this.columns -= 1;
    return this;
  }
  addColumn(index, array) {
    if (typeof array === 'undefined') {
      array = index;
      index = this.columns;
    }
    checkColumnIndex(this, index, true);
    array = checkColumnVector(this, array);
    for (let i = 0; i < this.rows; i++) {
      const newRow = new Float64Array(this.columns + 1);
      let j = 0;
      for (; j < index; j++) {
        newRow[j] = this.data[i][j];
      }
      newRow[j++] = array[i];
      for (; j < this.columns + 1; j++) {
        newRow[j] = this.data[i][j - 1];
      }
      this.data[i] = newRow;
    }
    this.columns += 1;
    return this;
  }
};
installMathOperations(AbstractMatrix, Matrix$1);

/**
 * @typedef {0 | 1 | number | boolean} Mask
 */

class SymmetricMatrix extends AbstractMatrix {
  /** @type {Matrix} */
  #matrix;
  get size() {
    return this.#matrix.size;
  }
  get rows() {
    return this.#matrix.rows;
  }
  get columns() {
    return this.#matrix.columns;
  }
  get diagonalSize() {
    return this.rows;
  }

  /**
   * not the same as matrix.isSymmetric()
   * Here is to check if it's instanceof SymmetricMatrix without bundling issues
   *
   * @param value
   * @returns {boolean}
   */
  static isSymmetricMatrix(value) {
    return Matrix$1.isMatrix(value) && value.klassType === 'SymmetricMatrix';
  }

  /**
   * @param diagonalSize
   * @return {SymmetricMatrix}
   */
  static zeros(diagonalSize) {
    return new this(diagonalSize);
  }

  /**
   * @param diagonalSize
   * @return {SymmetricMatrix}
   */
  static ones(diagonalSize) {
    return new this(diagonalSize).fill(1);
  }

  /**
   * @param {number | AbstractMatrix | ArrayLike<ArrayLike<number>>} diagonalSize
   * @return {this}
   */
  constructor(diagonalSize) {
    super();
    if (Matrix$1.isMatrix(diagonalSize)) {
      if (!diagonalSize.isSymmetric()) {
        throw new TypeError('not symmetric data');
      }
      this.#matrix = Matrix$1.copy(diagonalSize, new Matrix$1(diagonalSize.rows, diagonalSize.rows));
    } else if (Number.isInteger(diagonalSize) && diagonalSize >= 0) {
      this.#matrix = new Matrix$1(diagonalSize, diagonalSize);
    } else {
      this.#matrix = new Matrix$1(diagonalSize);
      if (!this.isSymmetric()) {
        throw new TypeError('not symmetric data');
      }
    }
  }
  clone() {
    const matrix = new SymmetricMatrix(this.diagonalSize);
    for (const [row, col, value] of this.upperRightEntries()) {
      matrix.set(row, col, value);
    }
    return matrix;
  }
  toMatrix() {
    return new Matrix$1(this);
  }
  get(rowIndex, columnIndex) {
    return this.#matrix.get(rowIndex, columnIndex);
  }
  set(rowIndex, columnIndex, value) {
    // symmetric set
    this.#matrix.set(rowIndex, columnIndex, value);
    this.#matrix.set(columnIndex, rowIndex, value);
    return this;
  }
  removeCross(index) {
    // symmetric remove side
    this.#matrix.removeRow(index);
    this.#matrix.removeColumn(index);
    return this;
  }
  addCross(index, array) {
    if (array === undefined) {
      array = index;
      index = this.diagonalSize;
    }
    const row = array.slice();
    row.splice(index, 1);
    this.#matrix.addRow(index, row);
    this.#matrix.addColumn(index, array);
    return this;
  }

  /**
   * @param {Mask[]} mask
   */
  applyMask(mask) {
    if (mask.length !== this.diagonalSize) {
      throw new RangeError('Mask size do not match with matrix size');
    }

    // prepare sides to remove from matrix from mask
    /** @type {number[]} */
    const sidesToRemove = [];
    for (const [index, passthroughs] of mask.entries()) {
      if (passthroughs) continue;
      sidesToRemove.push(index);
    }
    // to remove from highest to lowest for no mutation shifting
    sidesToRemove.reverse();

    // remove sides
    for (const sideIndex of sidesToRemove) {
      this.removeCross(sideIndex);
    }
    return this;
  }

  /**
   * Compact format upper-right corner of matrix
   * iterate from left to right, from top to bottom.
   *
   * ```
   *   A B C D
   * A 1 2 3 4
   * B 2 5 6 7
   * C 3 6 8 9
   * D 4 7 9 10
   * ```
   *
   * will return compact 1D array `[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]`
   *
   * length is S(i=0, n=sideSize) => 10 for a 4 sideSized matrix
   *
   * @returns {number[]}
   */
  toCompact() {
    const {
      diagonalSize
    } = this;

    /** @type {number[]} */
    const compact = new Array(diagonalSize * (diagonalSize + 1) / 2);
    for (let col = 0, row = 0, index = 0; index < compact.length; index++) {
      compact[index] = this.get(row, col);
      if (++col >= diagonalSize) col = ++row;
    }
    return compact;
  }

  /**
   * @param {number[]} compact
   * @return {SymmetricMatrix}
   */
  static fromCompact(compact) {
    const compactSize = compact.length;
    // compactSize = (sideSize * (sideSize + 1)) / 2
    // https://mathsolver.microsoft.com/fr/solve-problem/y%20%3D%20%20x%20%60cdot%20%20%20%60frac%7B%20%20%60left(%20x%2B1%20%20%60right)%20%20%20%20%7D%7B%202%20%20%7D
    // sideSize = (Sqrt(8 × compactSize + 1) - 1) / 2
    const diagonalSize = (Math.sqrt(8 * compactSize + 1) - 1) / 2;
    if (!Number.isInteger(diagonalSize)) {
      throw new TypeError(`This array is not a compact representation of a Symmetric Matrix, ${JSON.stringify(compact)}`);
    }
    const matrix = new SymmetricMatrix(diagonalSize);
    for (let col = 0, row = 0, index = 0; index < compactSize; index++) {
      matrix.set(col, row, compact[index]);
      if (++col >= diagonalSize) col = ++row;
    }
    return matrix;
  }

  /**
   * half iterator upper-right-corner from left to right, from top to bottom
   * yield [row, column, value]
   *
   * @returns {Generator<[number, number, number], void, void>}
   */
  *upperRightEntries() {
    for (let row = 0, col = 0; row < this.diagonalSize; void 0) {
      const value = this.get(row, col);
      yield [row, col, value];

      // at the end of row, move cursor to next row at diagonal position
      if (++col >= this.diagonalSize) col = ++row;
    }
  }

  /**
   * half iterator upper-right-corner from left to right, from top to bottom
   * yield value
   *
   * @returns {Generator<[number, number, number], void, void>}
   */
  *upperRightValues() {
    for (let row = 0, col = 0; row < this.diagonalSize; void 0) {
      const value = this.get(row, col);
      yield value;

      // at the end of row, move cursor to next row at diagonal position
      if (++col >= this.diagonalSize) col = ++row;
    }
  }
}
SymmetricMatrix.prototype.klassType = 'SymmetricMatrix';
class DistanceMatrix extends SymmetricMatrix {
  /**
   * not the same as matrix.isSymmetric()
   * Here is to check if it's instanceof SymmetricMatrix without bundling issues
   *
   * @param value
   * @returns {boolean}
   */
  static isDistanceMatrix(value) {
    return SymmetricMatrix.isSymmetricMatrix(value) && value.klassSubType === 'DistanceMatrix';
  }
  constructor(sideSize) {
    super(sideSize);
    if (!this.isDistance()) {
      throw new TypeError('Provided arguments do no produce a distance matrix');
    }
  }
  set(rowIndex, columnIndex, value) {
    // distance matrix diagonal is 0
    if (rowIndex === columnIndex) value = 0;
    return super.set(rowIndex, columnIndex, value);
  }
  addCross(index, array) {
    if (array === undefined) {
      array = index;
      index = this.diagonalSize;
    }

    // ensure distance
    array = array.slice();
    array[index] = 0;
    return super.addCross(index, array);
  }
  toSymmetricMatrix() {
    return new SymmetricMatrix(this);
  }
  clone() {
    const matrix = new DistanceMatrix(this.diagonalSize);
    for (const [row, col, value] of this.upperRightEntries()) {
      if (row === col) continue;
      matrix.set(row, col, value);
    }
    return matrix;
  }

  /**
   * Compact format upper-right corner of matrix
   * no diagonal (only zeros)
   * iterable from left to right, from top to bottom.
   *
   * ```
   *   A B C D
   * A 0 1 2 3
   * B 1 0 4 5
   * C 2 4 0 6
   * D 3 5 6 0
   * ```
   *
   * will return compact 1D array `[1, 2, 3, 4, 5, 6]`
   *
   * length is S(i=0, n=sideSize-1) => 6 for a 4 side sized matrix
   *
   * @returns {number[]}
   */
  toCompact() {
    const {
      diagonalSize
    } = this;
    const compactLength = (diagonalSize - 1) * diagonalSize / 2;

    /** @type {number[]} */
    const compact = new Array(compactLength);
    for (let col = 1, row = 0, index = 0; index < compact.length; index++) {
      compact[index] = this.get(row, col);
      if (++col >= diagonalSize) col = ++row + 1;
    }
    return compact;
  }

  /**
   * @param {number[]} compact
   */
  static fromCompact(compact) {
    const compactSize = compact.length;
    if (compactSize === 0) {
      return new this(0);
    }

    // compactSize in Natural integer range ]0;∞]
    // compactSize = (sideSize * (sideSize - 1)) / 2
    // sideSize = (Sqrt(8 × compactSize + 1) + 1) / 2
    const diagonalSize = (Math.sqrt(8 * compactSize + 1) + 1) / 2;
    if (!Number.isInteger(diagonalSize)) {
      throw new TypeError(`This array is not a compact representation of a DistanceMatrix, ${JSON.stringify(compact)}`);
    }
    const matrix = new this(diagonalSize);
    for (let col = 1, row = 0, index = 0; index < compactSize; index++) {
      matrix.set(col, row, compact[index]);
      if (++col >= diagonalSize) col = ++row + 1;
    }
    return matrix;
  }
}
DistanceMatrix.prototype.klassSubType = 'DistanceMatrix';
class BaseView extends AbstractMatrix {
  constructor(matrix, rows, columns) {
    super();
    this.matrix = matrix;
    this.rows = rows;
    this.columns = columns;
  }
}
class MatrixColumnView extends BaseView {
  constructor(matrix, column) {
    checkColumnIndex(matrix, column);
    super(matrix, matrix.rows, 1);
    this.column = column;
  }
  set(rowIndex, columnIndex, value) {
    this.matrix.set(rowIndex, this.column, value);
    return this;
  }
  get(rowIndex) {
    return this.matrix.get(rowIndex, this.column);
  }
}
class MatrixColumnSelectionView extends BaseView {
  constructor(matrix, columnIndices) {
    checkColumnIndices(matrix, columnIndices);
    super(matrix, matrix.rows, columnIndices.length);
    this.columnIndices = columnIndices;
  }
  set(rowIndex, columnIndex, value) {
    this.matrix.set(rowIndex, this.columnIndices[columnIndex], value);
    return this;
  }
  get(rowIndex, columnIndex) {
    return this.matrix.get(rowIndex, this.columnIndices[columnIndex]);
  }
}
class MatrixFlipColumnView extends BaseView {
  constructor(matrix) {
    super(matrix, matrix.rows, matrix.columns);
  }
  set(rowIndex, columnIndex, value) {
    this.matrix.set(rowIndex, this.columns - columnIndex - 1, value);
    return this;
  }
  get(rowIndex, columnIndex) {
    return this.matrix.get(rowIndex, this.columns - columnIndex - 1);
  }
}
class MatrixFlipRowView extends BaseView {
  constructor(matrix) {
    super(matrix, matrix.rows, matrix.columns);
  }
  set(rowIndex, columnIndex, value) {
    this.matrix.set(this.rows - rowIndex - 1, columnIndex, value);
    return this;
  }
  get(rowIndex, columnIndex) {
    return this.matrix.get(this.rows - rowIndex - 1, columnIndex);
  }
}
class MatrixRowView extends BaseView {
  constructor(matrix, row) {
    checkRowIndex(matrix, row);
    super(matrix, 1, matrix.columns);
    this.row = row;
  }
  set(rowIndex, columnIndex, value) {
    this.matrix.set(this.row, columnIndex, value);
    return this;
  }
  get(rowIndex, columnIndex) {
    return this.matrix.get(this.row, columnIndex);
  }
}
class MatrixRowSelectionView extends BaseView {
  constructor(matrix, rowIndices) {
    checkRowIndices(matrix, rowIndices);
    super(matrix, rowIndices.length, matrix.columns);
    this.rowIndices = rowIndices;
  }
  set(rowIndex, columnIndex, value) {
    this.matrix.set(this.rowIndices[rowIndex], columnIndex, value);
    return this;
  }
  get(rowIndex, columnIndex) {
    return this.matrix.get(this.rowIndices[rowIndex], columnIndex);
  }
}
class MatrixSelectionView extends BaseView {
  constructor(matrix, rowIndices, columnIndices) {
    checkRowIndices(matrix, rowIndices);
    checkColumnIndices(matrix, columnIndices);
    super(matrix, rowIndices.length, columnIndices.length);
    this.rowIndices = rowIndices;
    this.columnIndices = columnIndices;
  }
  set(rowIndex, columnIndex, value) {
    this.matrix.set(this.rowIndices[rowIndex], this.columnIndices[columnIndex], value);
    return this;
  }
  get(rowIndex, columnIndex) {
    return this.matrix.get(this.rowIndices[rowIndex], this.columnIndices[columnIndex]);
  }
}
class MatrixSubView extends BaseView {
  constructor(matrix, startRow, endRow, startColumn, endColumn) {
    checkRange(matrix, startRow, endRow, startColumn, endColumn);
    super(matrix, endRow - startRow + 1, endColumn - startColumn + 1);
    this.startRow = startRow;
    this.startColumn = startColumn;
  }
  set(rowIndex, columnIndex, value) {
    this.matrix.set(this.startRow + rowIndex, this.startColumn + columnIndex, value);
    return this;
  }
  get(rowIndex, columnIndex) {
    return this.matrix.get(this.startRow + rowIndex, this.startColumn + columnIndex);
  }
}
class MatrixTransposeView extends BaseView {
  constructor(matrix) {
    super(matrix, matrix.columns, matrix.rows);
  }
  set(rowIndex, columnIndex, value) {
    this.matrix.set(columnIndex, rowIndex, value);
    return this;
  }
  get(rowIndex, columnIndex) {
    return this.matrix.get(columnIndex, rowIndex);
  }
}
class WrapperMatrix1D extends AbstractMatrix {
  constructor(data, options = {}) {
    const {
      rows = 1
    } = options;
    if (data.length % rows !== 0) {
      throw new Error('the data length is not divisible by the number of rows');
    }
    super();
    this.rows = rows;
    this.columns = data.length / rows;
    this.data = data;
  }
  set(rowIndex, columnIndex, value) {
    let index = this._calculateIndex(rowIndex, columnIndex);
    this.data[index] = value;
    return this;
  }
  get(rowIndex, columnIndex) {
    let index = this._calculateIndex(rowIndex, columnIndex);
    return this.data[index];
  }
  _calculateIndex(row, column) {
    return row * this.columns + column;
  }
}
class WrapperMatrix2D extends AbstractMatrix {
  constructor(data) {
    super();
    this.data = data;
    this.rows = data.length;
    this.columns = data[0].length;
  }
  set(rowIndex, columnIndex, value) {
    this.data[rowIndex][columnIndex] = value;
    return this;
  }
  get(rowIndex, columnIndex) {
    return this.data[rowIndex][columnIndex];
  }
}
function wrap(array, options) {
  if (isAnyArray.isAnyArray(array)) {
    if (array[0] && isAnyArray.isAnyArray(array[0])) {
      return new WrapperMatrix2D(array);
    } else {
      return new WrapperMatrix1D(array, options);
    }
  } else {
    throw new Error('the argument is not an array');
  }
}
class LuDecomposition {
  constructor(matrix) {
    matrix = WrapperMatrix2D.checkMatrix(matrix);
    let lu = matrix.clone();
    let rows = lu.rows;
    let columns = lu.columns;
    let pivotVector = new Float64Array(rows);
    let pivotSign = 1;
    let i, j, k, p, s, t, v;
    let LUcolj, kmax;
    for (i = 0; i < rows; i++) {
      pivotVector[i] = i;
    }
    LUcolj = new Float64Array(rows);
    for (j = 0; j < columns; j++) {
      for (i = 0; i < rows; i++) {
        LUcolj[i] = lu.get(i, j);
      }
      for (i = 0; i < rows; i++) {
        kmax = Math.min(i, j);
        s = 0;
        for (k = 0; k < kmax; k++) {
          s += lu.get(i, k) * LUcolj[k];
        }
        LUcolj[i] -= s;
        lu.set(i, j, LUcolj[i]);
      }
      p = j;
      for (i = j + 1; i < rows; i++) {
        if (Math.abs(LUcolj[i]) > Math.abs(LUcolj[p])) {
          p = i;
        }
      }
      if (p !== j) {
        for (k = 0; k < columns; k++) {
          t = lu.get(p, k);
          lu.set(p, k, lu.get(j, k));
          lu.set(j, k, t);
        }
        v = pivotVector[p];
        pivotVector[p] = pivotVector[j];
        pivotVector[j] = v;
        pivotSign = -pivotSign;
      }
      if (j < rows && lu.get(j, j) !== 0) {
        for (i = j + 1; i < rows; i++) {
          lu.set(i, j, lu.get(i, j) / lu.get(j, j));
        }
      }
    }
    this.LU = lu;
    this.pivotVector = pivotVector;
    this.pivotSign = pivotSign;
  }
  isSingular() {
    let data = this.LU;
    let col = data.columns;
    for (let j = 0; j < col; j++) {
      if (data.get(j, j) === 0) {
        return true;
      }
    }
    return false;
  }
  solve(value) {
    value = Matrix$1.checkMatrix(value);
    let lu = this.LU;
    let rows = lu.rows;
    if (rows !== value.rows) {
      throw new Error('Invalid matrix dimensions');
    }
    if (this.isSingular()) {
      throw new Error('LU matrix is singular');
    }
    let count = value.columns;
    let X = value.subMatrixRow(this.pivotVector, 0, count - 1);
    let columns = lu.columns;
    let i, j, k;
    for (k = 0; k < columns; k++) {
      for (i = k + 1; i < columns; i++) {
        for (j = 0; j < count; j++) {
          X.set(i, j, X.get(i, j) - X.get(k, j) * lu.get(i, k));
        }
      }
    }
    for (k = columns - 1; k >= 0; k--) {
      for (j = 0; j < count; j++) {
        X.set(k, j, X.get(k, j) / lu.get(k, k));
      }
      for (i = 0; i < k; i++) {
        for (j = 0; j < count; j++) {
          X.set(i, j, X.get(i, j) - X.get(k, j) * lu.get(i, k));
        }
      }
    }
    return X;
  }
  get determinant() {
    let data = this.LU;
    if (!data.isSquare()) {
      throw new Error('Matrix must be square');
    }
    let determinant = this.pivotSign;
    let col = data.columns;
    for (let j = 0; j < col; j++) {
      determinant *= data.get(j, j);
    }
    return determinant;
  }
  get lowerTriangularMatrix() {
    let data = this.LU;
    let rows = data.rows;
    let columns = data.columns;
    let X = new Matrix$1(rows, columns);
    for (let i = 0; i < rows; i++) {
      for (let j = 0; j < columns; j++) {
        if (i > j) {
          X.set(i, j, data.get(i, j));
        } else if (i === j) {
          X.set(i, j, 1);
        } else {
          X.set(i, j, 0);
        }
      }
    }
    return X;
  }
  get upperTriangularMatrix() {
    let data = this.LU;
    let rows = data.rows;
    let columns = data.columns;
    let X = new Matrix$1(rows, columns);
    for (let i = 0; i < rows; i++) {
      for (let j = 0; j < columns; j++) {
        if (i <= j) {
          X.set(i, j, data.get(i, j));
        } else {
          X.set(i, j, 0);
        }
      }
    }
    return X;
  }
  get pivotPermutationVector() {
    return Array.from(this.pivotVector);
  }
}
function hypotenuse(a, b) {
  let r = 0;
  if (Math.abs(a) > Math.abs(b)) {
    r = b / a;
    return Math.abs(a) * Math.sqrt(1 + r * r);
  }
  if (b !== 0) {
    r = a / b;
    return Math.abs(b) * Math.sqrt(1 + r * r);
  }
  return 0;
}
class QrDecomposition {
  constructor(value) {
    value = WrapperMatrix2D.checkMatrix(value);
    let qr = value.clone();
    let m = value.rows;
    let n = value.columns;
    let rdiag = new Float64Array(n);
    let i, j, k, s;
    for (k = 0; k < n; k++) {
      let nrm = 0;
      for (i = k; i < m; i++) {
        nrm = hypotenuse(nrm, qr.get(i, k));
      }
      if (nrm !== 0) {
        if (qr.get(k, k) < 0) {
          nrm = -nrm;
        }
        for (i = k; i < m; i++) {
          qr.set(i, k, qr.get(i, k) / nrm);
        }
        qr.set(k, k, qr.get(k, k) + 1);
        for (j = k + 1; j < n; j++) {
          s = 0;
          for (i = k; i < m; i++) {
            s += qr.get(i, k) * qr.get(i, j);
          }
          s = -s / qr.get(k, k);
          for (i = k; i < m; i++) {
            qr.set(i, j, qr.get(i, j) + s * qr.get(i, k));
          }
        }
      }
      rdiag[k] = -nrm;
    }
    this.QR = qr;
    this.Rdiag = rdiag;
  }
  solve(value) {
    value = Matrix$1.checkMatrix(value);
    let qr = this.QR;
    let m = qr.rows;
    if (value.rows !== m) {
      throw new Error('Matrix row dimensions must agree');
    }
    if (!this.isFullRank()) {
      throw new Error('Matrix is rank deficient');
    }
    let count = value.columns;
    let X = value.clone();
    let n = qr.columns;
    let i, j, k, s;
    for (k = 0; k < n; k++) {
      for (j = 0; j < count; j++) {
        s = 0;
        for (i = k; i < m; i++) {
          s += qr.get(i, k) * X.get(i, j);
        }
        s = -s / qr.get(k, k);
        for (i = k; i < m; i++) {
          X.set(i, j, X.get(i, j) + s * qr.get(i, k));
        }
      }
    }
    for (k = n - 1; k >= 0; k--) {
      for (j = 0; j < count; j++) {
        X.set(k, j, X.get(k, j) / this.Rdiag[k]);
      }
      for (i = 0; i < k; i++) {
        for (j = 0; j < count; j++) {
          X.set(i, j, X.get(i, j) - X.get(k, j) * qr.get(i, k));
        }
      }
    }
    return X.subMatrix(0, n - 1, 0, count - 1);
  }
  isFullRank() {
    let columns = this.QR.columns;
    for (let i = 0; i < columns; i++) {
      if (this.Rdiag[i] === 0) {
        return false;
      }
    }
    return true;
  }
  get upperTriangularMatrix() {
    let qr = this.QR;
    let n = qr.columns;
    let X = new Matrix$1(n, n);
    let i, j;
    for (i = 0; i < n; i++) {
      for (j = 0; j < n; j++) {
        if (i < j) {
          X.set(i, j, qr.get(i, j));
        } else if (i === j) {
          X.set(i, j, this.Rdiag[i]);
        } else {
          X.set(i, j, 0);
        }
      }
    }
    return X;
  }
  get orthogonalMatrix() {
    let qr = this.QR;
    let rows = qr.rows;
    let columns = qr.columns;
    let X = new Matrix$1(rows, columns);
    let i, j, k, s;
    for (k = columns - 1; k >= 0; k--) {
      for (i = 0; i < rows; i++) {
        X.set(i, k, 0);
      }
      X.set(k, k, 1);
      for (j = k; j < columns; j++) {
        if (qr.get(k, k) !== 0) {
          s = 0;
          for (i = k; i < rows; i++) {
            s += qr.get(i, k) * X.get(i, j);
          }
          s = -s / qr.get(k, k);
          for (i = k; i < rows; i++) {
            X.set(i, j, X.get(i, j) + s * qr.get(i, k));
          }
        }
      }
    }
    return X;
  }
}
class SingularValueDecomposition {
  constructor(value, options = {}) {
    value = WrapperMatrix2D.checkMatrix(value);
    if (value.isEmpty()) {
      throw new Error('Matrix must be non-empty');
    }
    let m = value.rows;
    let n = value.columns;
    const {
      computeLeftSingularVectors = true,
      computeRightSingularVectors = true,
      autoTranspose = false
    } = options;
    let wantu = Boolean(computeLeftSingularVectors);
    let wantv = Boolean(computeRightSingularVectors);
    let swapped = false;
    let a;
    if (m < n) {
      if (!autoTranspose) {
        a = value.clone();
        // eslint-disable-next-line no-console
        console.warn('Computing SVD on a matrix with more columns than rows. Consider enabling autoTranspose');
      } else {
        a = value.transpose();
        m = a.rows;
        n = a.columns;
        swapped = true;
        let aux = wantu;
        wantu = wantv;
        wantv = aux;
      }
    } else {
      a = value.clone();
    }
    let nu = Math.min(m, n);
    let ni = Math.min(m + 1, n);
    let s = new Float64Array(ni);
    let U = new Matrix$1(m, nu);
    let V = new Matrix$1(n, n);
    let e = new Float64Array(n);
    let work = new Float64Array(m);
    let si = new Float64Array(ni);
    for (let i = 0; i < ni; i++) si[i] = i;
    let nct = Math.min(m - 1, n);
    let nrt = Math.max(0, Math.min(n - 2, m));
    let mrc = Math.max(nct, nrt);
    for (let k = 0; k < mrc; k++) {
      if (k < nct) {
        s[k] = 0;
        for (let i = k; i < m; i++) {
          s[k] = hypotenuse(s[k], a.get(i, k));
        }
        if (s[k] !== 0) {
          if (a.get(k, k) < 0) {
            s[k] = -s[k];
          }
          for (let i = k; i < m; i++) {
            a.set(i, k, a.get(i, k) / s[k]);
          }
          a.set(k, k, a.get(k, k) + 1);
        }
        s[k] = -s[k];
      }
      for (let j = k + 1; j < n; j++) {
        if (k < nct && s[k] !== 0) {
          let t = 0;
          for (let i = k; i < m; i++) {
            t += a.get(i, k) * a.get(i, j);
          }
          t = -t / a.get(k, k);
          for (let i = k; i < m; i++) {
            a.set(i, j, a.get(i, j) + t * a.get(i, k));
          }
        }
        e[j] = a.get(k, j);
      }
      if (wantu && k < nct) {
        for (let i = k; i < m; i++) {
          U.set(i, k, a.get(i, k));
        }
      }
      if (k < nrt) {
        e[k] = 0;
        for (let i = k + 1; i < n; i++) {
          e[k] = hypotenuse(e[k], e[i]);
        }
        if (e[k] !== 0) {
          if (e[k + 1] < 0) {
            e[k] = 0 - e[k];
          }
          for (let i = k + 1; i < n; i++) {
            e[i] /= e[k];
          }
          e[k + 1] += 1;
        }
        e[k] = -e[k];
        if (k + 1 < m && e[k] !== 0) {
          for (let i = k + 1; i < m; i++) {
            work[i] = 0;
          }
          for (let i = k + 1; i < m; i++) {
            for (let j = k + 1; j < n; j++) {
              work[i] += e[j] * a.get(i, j);
            }
          }
          for (let j = k + 1; j < n; j++) {
            let t = -e[j] / e[k + 1];
            for (let i = k + 1; i < m; i++) {
              a.set(i, j, a.get(i, j) + t * work[i]);
            }
          }
        }
        if (wantv) {
          for (let i = k + 1; i < n; i++) {
            V.set(i, k, e[i]);
          }
        }
      }
    }
    let p = Math.min(n, m + 1);
    if (nct < n) {
      s[nct] = a.get(nct, nct);
    }
    if (m < p) {
      s[p - 1] = 0;
    }
    if (nrt + 1 < p) {
      e[nrt] = a.get(nrt, p - 1);
    }
    e[p - 1] = 0;
    if (wantu) {
      for (let j = nct; j < nu; j++) {
        for (let i = 0; i < m; i++) {
          U.set(i, j, 0);
        }
        U.set(j, j, 1);
      }
      for (let k = nct - 1; k >= 0; k--) {
        if (s[k] !== 0) {
          for (let j = k + 1; j < nu; j++) {
            let t = 0;
            for (let i = k; i < m; i++) {
              t += U.get(i, k) * U.get(i, j);
            }
            t = -t / U.get(k, k);
            for (let i = k; i < m; i++) {
              U.set(i, j, U.get(i, j) + t * U.get(i, k));
            }
          }
          for (let i = k; i < m; i++) {
            U.set(i, k, -U.get(i, k));
          }
          U.set(k, k, 1 + U.get(k, k));
          for (let i = 0; i < k - 1; i++) {
            U.set(i, k, 0);
          }
        } else {
          for (let i = 0; i < m; i++) {
            U.set(i, k, 0);
          }
          U.set(k, k, 1);
        }
      }
    }
    if (wantv) {
      for (let k = n - 1; k >= 0; k--) {
        if (k < nrt && e[k] !== 0) {
          for (let j = k + 1; j < n; j++) {
            let t = 0;
            for (let i = k + 1; i < n; i++) {
              t += V.get(i, k) * V.get(i, j);
            }
            t = -t / V.get(k + 1, k);
            for (let i = k + 1; i < n; i++) {
              V.set(i, j, V.get(i, j) + t * V.get(i, k));
            }
          }
        }
        for (let i = 0; i < n; i++) {
          V.set(i, k, 0);
        }
        V.set(k, k, 1);
      }
    }
    let pp = p - 1;
    let eps = Number.EPSILON;
    while (p > 0) {
      let k, kase;
      for (k = p - 2; k >= -1; k--) {
        if (k === -1) {
          break;
        }
        const alpha = Number.MIN_VALUE + eps * Math.abs(s[k] + Math.abs(s[k + 1]));
        if (Math.abs(e[k]) <= alpha || Number.isNaN(e[k])) {
          e[k] = 0;
          break;
        }
      }
      if (k === p - 2) {
        kase = 4;
      } else {
        let ks;
        for (ks = p - 1; ks >= k; ks--) {
          if (ks === k) {
            break;
          }
          let t = (ks !== p ? Math.abs(e[ks]) : 0) + (ks !== k + 1 ? Math.abs(e[ks - 1]) : 0);
          if (Math.abs(s[ks]) <= eps * t) {
            s[ks] = 0;
            break;
          }
        }
        if (ks === k) {
          kase = 3;
        } else if (ks === p - 1) {
          kase = 1;
        } else {
          kase = 2;
          k = ks;
        }
      }
      k++;
      switch (kase) {
        case 1:
          {
            let f = e[p - 2];
            e[p - 2] = 0;
            for (let j = p - 2; j >= k; j--) {
              let t = hypotenuse(s[j], f);
              let cs = s[j] / t;
              let sn = f / t;
              s[j] = t;
              if (j !== k) {
                f = -sn * e[j - 1];
                e[j - 1] = cs * e[j - 1];
              }
              if (wantv) {
                for (let i = 0; i < n; i++) {
                  t = cs * V.get(i, j) + sn * V.get(i, p - 1);
                  V.set(i, p - 1, -sn * V.get(i, j) + cs * V.get(i, p - 1));
                  V.set(i, j, t);
                }
              }
            }
            break;
          }
        case 2:
          {
            let f = e[k - 1];
            e[k - 1] = 0;
            for (let j = k; j < p; j++) {
              let t = hypotenuse(s[j], f);
              let cs = s[j] / t;
              let sn = f / t;
              s[j] = t;
              f = -sn * e[j];
              e[j] = cs * e[j];
              if (wantu) {
                for (let i = 0; i < m; i++) {
                  t = cs * U.get(i, j) + sn * U.get(i, k - 1);
                  U.set(i, k - 1, -sn * U.get(i, j) + cs * U.get(i, k - 1));
                  U.set(i, j, t);
                }
              }
            }
            break;
          }
        case 3:
          {
            const scale = Math.max(Math.abs(s[p - 1]), Math.abs(s[p - 2]), Math.abs(e[p - 2]), Math.abs(s[k]), Math.abs(e[k]));
            const sp = s[p - 1] / scale;
            const spm1 = s[p - 2] / scale;
            const epm1 = e[p - 2] / scale;
            const sk = s[k] / scale;
            const ek = e[k] / scale;
            const b = ((spm1 + sp) * (spm1 - sp) + epm1 * epm1) / 2;
            const c = sp * epm1 * (sp * epm1);
            let shift = 0;
            if (b !== 0 || c !== 0) {
              if (b < 0) {
                shift = 0 - Math.sqrt(b * b + c);
              } else {
                shift = Math.sqrt(b * b + c);
              }
              shift = c / (b + shift);
            }
            let f = (sk + sp) * (sk - sp) + shift;
            let g = sk * ek;
            for (let j = k; j < p - 1; j++) {
              let t = hypotenuse(f, g);
              if (t === 0) t = Number.MIN_VALUE;
              let cs = f / t;
              let sn = g / t;
              if (j !== k) {
                e[j - 1] = t;
              }
              f = cs * s[j] + sn * e[j];
              e[j] = cs * e[j] - sn * s[j];
              g = sn * s[j + 1];
              s[j + 1] = cs * s[j + 1];
              if (wantv) {
                for (let i = 0; i < n; i++) {
                  t = cs * V.get(i, j) + sn * V.get(i, j + 1);
                  V.set(i, j + 1, -sn * V.get(i, j) + cs * V.get(i, j + 1));
                  V.set(i, j, t);
                }
              }
              t = hypotenuse(f, g);
              if (t === 0) t = Number.MIN_VALUE;
              cs = f / t;
              sn = g / t;
              s[j] = t;
              f = cs * e[j] + sn * s[j + 1];
              s[j + 1] = -sn * e[j] + cs * s[j + 1];
              g = sn * e[j + 1];
              e[j + 1] = cs * e[j + 1];
              if (wantu && j < m - 1) {
                for (let i = 0; i < m; i++) {
                  t = cs * U.get(i, j) + sn * U.get(i, j + 1);
                  U.set(i, j + 1, -sn * U.get(i, j) + cs * U.get(i, j + 1));
                  U.set(i, j, t);
                }
              }
            }
            e[p - 2] = f;
            break;
          }
        case 4:
          {
            if (s[k] <= 0) {
              s[k] = s[k] < 0 ? -s[k] : 0;
              if (wantv) {
                for (let i = 0; i <= pp; i++) {
                  V.set(i, k, -V.get(i, k));
                }
              }
            }
            while (k < pp) {
              if (s[k] >= s[k + 1]) {
                break;
              }
              let t = s[k];
              s[k] = s[k + 1];
              s[k + 1] = t;
              if (wantv && k < n - 1) {
                for (let i = 0; i < n; i++) {
                  t = V.get(i, k + 1);
                  V.set(i, k + 1, V.get(i, k));
                  V.set(i, k, t);
                }
              }
              if (wantu && k < m - 1) {
                for (let i = 0; i < m; i++) {
                  t = U.get(i, k + 1);
                  U.set(i, k + 1, U.get(i, k));
                  U.set(i, k, t);
                }
              }
              k++;
            }
            p--;
            break;
          }
        // no default
      }
    }
    if (swapped) {
      let tmp = V;
      V = U;
      U = tmp;
    }
    this.m = m;
    this.n = n;
    this.s = s;
    this.U = U;
    this.V = V;
  }
  solve(value) {
    let Y = value;
    let e = this.threshold;
    let scols = this.s.length;
    let Ls = Matrix$1.zeros(scols, scols);
    for (let i = 0; i < scols; i++) {
      if (Math.abs(this.s[i]) <= e) {
        Ls.set(i, i, 0);
      } else {
        Ls.set(i, i, 1 / this.s[i]);
      }
    }
    let U = this.U;
    let V = this.rightSingularVectors;
    let VL = V.mmul(Ls);
    let vrows = V.rows;
    let urows = U.rows;
    let VLU = Matrix$1.zeros(vrows, urows);
    for (let i = 0; i < vrows; i++) {
      for (let j = 0; j < urows; j++) {
        let sum = 0;
        for (let k = 0; k < scols; k++) {
          sum += VL.get(i, k) * U.get(j, k);
        }
        VLU.set(i, j, sum);
      }
    }
    return VLU.mmul(Y);
  }
  solveForDiagonal(value) {
    return this.solve(Matrix$1.diag(value));
  }
  inverse() {
    let V = this.V;
    let e = this.threshold;
    let vrows = V.rows;
    let vcols = V.columns;
    let X = new Matrix$1(vrows, this.s.length);
    for (let i = 0; i < vrows; i++) {
      for (let j = 0; j < vcols; j++) {
        if (Math.abs(this.s[j]) > e) {
          X.set(i, j, V.get(i, j) / this.s[j]);
        }
      }
    }
    let U = this.U;
    let urows = U.rows;
    let ucols = U.columns;
    let Y = new Matrix$1(vrows, urows);
    for (let i = 0; i < vrows; i++) {
      for (let j = 0; j < urows; j++) {
        let sum = 0;
        for (let k = 0; k < ucols; k++) {
          sum += X.get(i, k) * U.get(j, k);
        }
        Y.set(i, j, sum);
      }
    }
    return Y;
  }
  get condition() {
    return this.s[0] / this.s[Math.min(this.m, this.n) - 1];
  }
  get norm2() {
    return this.s[0];
  }
  get rank() {
    let tol = Math.max(this.m, this.n) * this.s[0] * Number.EPSILON;
    let r = 0;
    let s = this.s;
    for (let i = 0, ii = s.length; i < ii; i++) {
      if (s[i] > tol) {
        r++;
      }
    }
    return r;
  }
  get diagonal() {
    return Array.from(this.s);
  }
  get threshold() {
    return Number.EPSILON / 2 * Math.max(this.m, this.n) * this.s[0];
  }
  get leftSingularVectors() {
    return this.U;
  }
  get rightSingularVectors() {
    return this.V;
  }
  get diagonalMatrix() {
    return Matrix$1.diag(this.s);
  }
}
function inverse(matrix, useSVD = false) {
  matrix = WrapperMatrix2D.checkMatrix(matrix);
  if (useSVD) {
    return new SingularValueDecomposition(matrix).inverse();
  } else {
    return solve(matrix, Matrix$1.eye(matrix.rows));
  }
}
function solve(leftHandSide, rightHandSide, useSVD = false) {
  leftHandSide = WrapperMatrix2D.checkMatrix(leftHandSide);
  rightHandSide = WrapperMatrix2D.checkMatrix(rightHandSide);
  if (useSVD) {
    return new SingularValueDecomposition(leftHandSide).solve(rightHandSide);
  } else {
    return leftHandSide.isSquare() ? new LuDecomposition(leftHandSide).solve(rightHandSide) : new QrDecomposition(leftHandSide).solve(rightHandSide);
  }
}
function determinant(matrix) {
  matrix = Matrix$1.checkMatrix(matrix);
  if (matrix.isSquare()) {
    if (matrix.columns === 0) {
      return 1;
    }
    let a, b, c, d;
    if (matrix.columns === 2) {
      // 2 x 2 matrix
      a = matrix.get(0, 0);
      b = matrix.get(0, 1);
      c = matrix.get(1, 0);
      d = matrix.get(1, 1);
      return a * d - b * c;
    } else if (matrix.columns === 3) {
      // 3 x 3 matrix
      let subMatrix0, subMatrix1, subMatrix2;
      subMatrix0 = new MatrixSelectionView(matrix, [1, 2], [1, 2]);
      subMatrix1 = new MatrixSelectionView(matrix, [1, 2], [0, 2]);
      subMatrix2 = new MatrixSelectionView(matrix, [1, 2], [0, 1]);
      a = matrix.get(0, 0);
      b = matrix.get(0, 1);
      c = matrix.get(0, 2);
      return a * determinant(subMatrix0) - b * determinant(subMatrix1) + c * determinant(subMatrix2);
    } else {
      // general purpose determinant using the LU decomposition
      return new LuDecomposition(matrix).determinant;
    }
  } else {
    throw Error('determinant can only be calculated for a square matrix');
  }
}
function xrange(n, exception) {
  let range = [];
  for (let i = 0; i < n; i++) {
    if (i !== exception) {
      range.push(i);
    }
  }
  return range;
}
function dependenciesOneRow(error, matrix, index, thresholdValue = 10e-10, thresholdError = 10e-10) {
  if (error > thresholdError) {
    return new Array(matrix.rows + 1).fill(0);
  } else {
    let returnArray = matrix.addRow(index, [0]);
    for (let i = 0; i < returnArray.rows; i++) {
      if (Math.abs(returnArray.get(i, 0)) < thresholdValue) {
        returnArray.set(i, 0, 0);
      }
    }
    return returnArray.to1DArray();
  }
}
function linearDependencies(matrix, options = {}) {
  const {
    thresholdValue = 10e-10,
    thresholdError = 10e-10
  } = options;
  matrix = Matrix$1.checkMatrix(matrix);
  let n = matrix.rows;
  let results = new Matrix$1(n, n);
  for (let i = 0; i < n; i++) {
    let b = Matrix$1.columnVector(matrix.getRow(i));
    let Abis = matrix.subMatrixRow(xrange(n, i)).transpose();
    let svd = new SingularValueDecomposition(Abis);
    let x = svd.solve(b);
    let error = Matrix$1.sub(b, Abis.mmul(x)).abs().max();
    results.setRow(i, dependenciesOneRow(error, x, i, thresholdValue, thresholdError));
  }
  return results;
}
function pseudoInverse(matrix, threshold = Number.EPSILON) {
  matrix = Matrix$1.checkMatrix(matrix);
  if (matrix.isEmpty()) {
    // with a zero dimension, the pseudo-inverse is the transpose, since all 0xn and nx0 matrices are singular
    // (0xn)*(nx0)*(0xn) = 0xn
    // (nx0)*(0xn)*(nx0) = nx0
    return matrix.transpose();
  }
  let svdSolution = new SingularValueDecomposition(matrix, {
    autoTranspose: true
  });
  let U = svdSolution.leftSingularVectors;
  let V = svdSolution.rightSingularVectors;
  let s = svdSolution.diagonal;
  for (let i = 0; i < s.length; i++) {
    if (Math.abs(s[i]) > threshold) {
      s[i] = 1.0 / s[i];
    } else {
      s[i] = 0.0;
    }
  }
  return V.mmul(Matrix$1.diag(s).mmul(U.transpose()));
}
function covariance(xMatrix, yMatrix = xMatrix, options = {}) {
  xMatrix = new Matrix$1(xMatrix);
  let yIsSame = false;
  if (typeof yMatrix === 'object' && !Matrix$1.isMatrix(yMatrix) && !isAnyArray.isAnyArray(yMatrix)) {
    options = yMatrix;
    yMatrix = xMatrix;
    yIsSame = true;
  } else {
    yMatrix = new Matrix$1(yMatrix);
  }
  if (xMatrix.rows !== yMatrix.rows) {
    throw new TypeError('Both matrices must have the same number of rows');
  }
  const {
    center = true
  } = options;
  if (center) {
    xMatrix = xMatrix.center('column');
    if (!yIsSame) {
      yMatrix = yMatrix.center('column');
    }
  }
  const cov = xMatrix.transpose().mmul(yMatrix);
  for (let i = 0; i < cov.rows; i++) {
    for (let j = 0; j < cov.columns; j++) {
      cov.set(i, j, cov.get(i, j) * (1 / (xMatrix.rows - 1)));
    }
  }
  return cov;
}
function correlation(xMatrix, yMatrix = xMatrix, options = {}) {
  xMatrix = new Matrix$1(xMatrix);
  let yIsSame = false;
  if (typeof yMatrix === 'object' && !Matrix$1.isMatrix(yMatrix) && !isAnyArray.isAnyArray(yMatrix)) {
    options = yMatrix;
    yMatrix = xMatrix;
    yIsSame = true;
  } else {
    yMatrix = new Matrix$1(yMatrix);
  }
  if (xMatrix.rows !== yMatrix.rows) {
    throw new TypeError('Both matrices must have the same number of rows');
  }
  const {
    center = true,
    scale = true
  } = options;
  if (center) {
    xMatrix.center('column');
    if (!yIsSame) {
      yMatrix.center('column');
    }
  }
  if (scale) {
    xMatrix.scale('column');
    if (!yIsSame) {
      yMatrix.scale('column');
    }
  }
  const sdx = xMatrix.standardDeviation('column', {
    unbiased: true
  });
  const sdy = yIsSame ? sdx : yMatrix.standardDeviation('column', {
    unbiased: true
  });
  const corr = xMatrix.transpose().mmul(yMatrix);
  for (let i = 0; i < corr.rows; i++) {
    for (let j = 0; j < corr.columns; j++) {
      corr.set(i, j, corr.get(i, j) * (1 / (sdx[i] * sdy[j])) * (1 / (xMatrix.rows - 1)));
    }
  }
  return corr;
}
class EigenvalueDecomposition {
  constructor(matrix, options = {}) {
    const {
      assumeSymmetric = false
    } = options;
    matrix = WrapperMatrix2D.checkMatrix(matrix);
    if (!matrix.isSquare()) {
      throw new Error('Matrix is not a square matrix');
    }
    if (matrix.isEmpty()) {
      throw new Error('Matrix must be non-empty');
    }
    let n = matrix.columns;
    let V = new Matrix$1(n, n);
    let d = new Float64Array(n);
    let e = new Float64Array(n);
    let value = matrix;
    let i, j;
    let isSymmetric = false;
    if (assumeSymmetric) {
      isSymmetric = true;
    } else {
      isSymmetric = matrix.isSymmetric();
    }
    if (isSymmetric) {
      for (i = 0; i < n; i++) {
        for (j = 0; j < n; j++) {
          V.set(i, j, value.get(i, j));
        }
      }
      tred2(n, e, d, V);
      tql2(n, e, d, V);
    } else {
      let H = new Matrix$1(n, n);
      let ort = new Float64Array(n);
      for (j = 0; j < n; j++) {
        for (i = 0; i < n; i++) {
          H.set(i, j, value.get(i, j));
        }
      }
      orthes(n, H, ort, V);
      hqr2(n, e, d, V, H);
    }
    this.n = n;
    this.e = e;
    this.d = d;
    this.V = V;
  }
  get realEigenvalues() {
    return Array.from(this.d);
  }
  get imaginaryEigenvalues() {
    return Array.from(this.e);
  }
  get eigenvectorMatrix() {
    return this.V;
  }
  get diagonalMatrix() {
    let n = this.n;
    let e = this.e;
    let d = this.d;
    let X = new Matrix$1(n, n);
    let i, j;
    for (i = 0; i < n; i++) {
      for (j = 0; j < n; j++) {
        X.set(i, j, 0);
      }
      X.set(i, i, d[i]);
      if (e[i] > 0) {
        X.set(i, i + 1, e[i]);
      } else if (e[i] < 0) {
        X.set(i, i - 1, e[i]);
      }
    }
    return X;
  }
}
function tred2(n, e, d, V) {
  let f, g, h, i, j, k, hh, scale;
  for (j = 0; j < n; j++) {
    d[j] = V.get(n - 1, j);
  }
  for (i = n - 1; i > 0; i--) {
    scale = 0;
    h = 0;
    for (k = 0; k < i; k++) {
      scale = scale + Math.abs(d[k]);
    }
    if (scale === 0) {
      e[i] = d[i - 1];
      for (j = 0; j < i; j++) {
        d[j] = V.get(i - 1, j);
        V.set(i, j, 0);
        V.set(j, i, 0);
      }
    } else {
      for (k = 0; k < i; k++) {
        d[k] /= scale;
        h += d[k] * d[k];
      }
      f = d[i - 1];
      g = Math.sqrt(h);
      if (f > 0) {
        g = -g;
      }
      e[i] = scale * g;
      h = h - f * g;
      d[i - 1] = f - g;
      for (j = 0; j < i; j++) {
        e[j] = 0;
      }
      for (j = 0; j < i; j++) {
        f = d[j];
        V.set(j, i, f);
        g = e[j] + V.get(j, j) * f;
        for (k = j + 1; k <= i - 1; k++) {
          g += V.get(k, j) * d[k];
          e[k] += V.get(k, j) * f;
        }
        e[j] = g;
      }
      f = 0;
      for (j = 0; j < i; j++) {
        e[j] /= h;
        f += e[j] * d[j];
      }
      hh = f / (h + h);
      for (j = 0; j < i; j++) {
        e[j] -= hh * d[j];
      }
      for (j = 0; j < i; j++) {
        f = d[j];
        g = e[j];
        for (k = j; k <= i - 1; k++) {
          V.set(k, j, V.get(k, j) - (f * e[k] + g * d[k]));
        }
        d[j] = V.get(i - 1, j);
        V.set(i, j, 0);
      }
    }
    d[i] = h;
  }
  for (i = 0; i < n - 1; i++) {
    V.set(n - 1, i, V.get(i, i));
    V.set(i, i, 1);
    h = d[i + 1];
    if (h !== 0) {
      for (k = 0; k <= i; k++) {
        d[k] = V.get(k, i + 1) / h;
      }
      for (j = 0; j <= i; j++) {
        g = 0;
        for (k = 0; k <= i; k++) {
          g += V.get(k, i + 1) * V.get(k, j);
        }
        for (k = 0; k <= i; k++) {
          V.set(k, j, V.get(k, j) - g * d[k]);
        }
      }
    }
    for (k = 0; k <= i; k++) {
      V.set(k, i + 1, 0);
    }
  }
  for (j = 0; j < n; j++) {
    d[j] = V.get(n - 1, j);
    V.set(n - 1, j, 0);
  }
  V.set(n - 1, n - 1, 1);
  e[0] = 0;
}
function tql2(n, e, d, V) {
  let g, h, i, j, k, l, m, p, r, dl1, c, c2, c3, el1, s, s2;
  for (i = 1; i < n; i++) {
    e[i - 1] = e[i];
  }
  e[n - 1] = 0;
  let f = 0;
  let tst1 = 0;
  let eps = Number.EPSILON;
  for (l = 0; l < n; l++) {
    tst1 = Math.max(tst1, Math.abs(d[l]) + Math.abs(e[l]));
    m = l;
    while (m < n) {
      if (Math.abs(e[m]) <= eps * tst1) {
        break;
      }
      m++;
    }
    if (m > l) {
      do {
        g = d[l];
        p = (d[l + 1] - g) / (2 * e[l]);
        r = hypotenuse(p, 1);
        if (p < 0) {
          r = -r;
        }
        d[l] = e[l] / (p + r);
        d[l + 1] = e[l] * (p + r);
        dl1 = d[l + 1];
        h = g - d[l];
        for (i = l + 2; i < n; i++) {
          d[i] -= h;
        }
        f = f + h;
        p = d[m];
        c = 1;
        c2 = c;
        c3 = c;
        el1 = e[l + 1];
        s = 0;
        s2 = 0;
        for (i = m - 1; i >= l; i--) {
          c3 = c2;
          c2 = c;
          s2 = s;
          g = c * e[i];
          h = c * p;
          r = hypotenuse(p, e[i]);
          e[i + 1] = s * r;
          s = e[i] / r;
          c = p / r;
          p = c * d[i] - s * g;
          d[i + 1] = h + s * (c * g + s * d[i]);
          for (k = 0; k < n; k++) {
            h = V.get(k, i + 1);
            V.set(k, i + 1, s * V.get(k, i) + c * h);
            V.set(k, i, c * V.get(k, i) - s * h);
          }
        }
        p = -s * s2 * c3 * el1 * e[l] / dl1;
        e[l] = s * p;
        d[l] = c * p;
      } while (Math.abs(e[l]) > eps * tst1);
    }
    d[l] = d[l] + f;
    e[l] = 0;
  }
  for (i = 0; i < n - 1; i++) {
    k = i;
    p = d[i];
    for (j = i + 1; j < n; j++) {
      if (d[j] < p) {
        k = j;
        p = d[j];
      }
    }
    if (k !== i) {
      d[k] = d[i];
      d[i] = p;
      for (j = 0; j < n; j++) {
        p = V.get(j, i);
        V.set(j, i, V.get(j, k));
        V.set(j, k, p);
      }
    }
  }
}
function orthes(n, H, ort, V) {
  let low = 0;
  let high = n - 1;
  let f, g, h, i, j, m;
  let scale;
  for (m = low + 1; m <= high - 1; m++) {
    scale = 0;
    for (i = m; i <= high; i++) {
      scale = scale + Math.abs(H.get(i, m - 1));
    }
    if (scale !== 0) {
      h = 0;
      for (i = high; i >= m; i--) {
        ort[i] = H.get(i, m - 1) / scale;
        h += ort[i] * ort[i];
      }
      g = Math.sqrt(h);
      if (ort[m] > 0) {
        g = -g;
      }
      h = h - ort[m] * g;
      ort[m] = ort[m] - g;
      for (j = m; j < n; j++) {
        f = 0;
        for (i = high; i >= m; i--) {
          f += ort[i] * H.get(i, j);
        }
        f = f / h;
        for (i = m; i <= high; i++) {
          H.set(i, j, H.get(i, j) - f * ort[i]);
        }
      }
      for (i = 0; i <= high; i++) {
        f = 0;
        for (j = high; j >= m; j--) {
          f += ort[j] * H.get(i, j);
        }
        f = f / h;
        for (j = m; j <= high; j++) {
          H.set(i, j, H.get(i, j) - f * ort[j]);
        }
      }
      ort[m] = scale * ort[m];
      H.set(m, m - 1, scale * g);
    }
  }
  for (i = 0; i < n; i++) {
    for (j = 0; j < n; j++) {
      V.set(i, j, i === j ? 1 : 0);
    }
  }
  for (m = high - 1; m >= low + 1; m--) {
    if (H.get(m, m - 1) !== 0) {
      for (i = m + 1; i <= high; i++) {
        ort[i] = H.get(i, m - 1);
      }
      for (j = m; j <= high; j++) {
        g = 0;
        for (i = m; i <= high; i++) {
          g += ort[i] * V.get(i, j);
        }
        g = g / ort[m] / H.get(m, m - 1);
        for (i = m; i <= high; i++) {
          V.set(i, j, V.get(i, j) + g * ort[i]);
        }
      }
    }
  }
}
function hqr2(nn, e, d, V, H) {
  let n = nn - 1;
  let low = 0;
  let high = nn - 1;
  let eps = Number.EPSILON;
  let exshift = 0;
  let norm = 0;
  let p = 0;
  let q = 0;
  let r = 0;
  let s = 0;
  let z = 0;
  let iter = 0;
  let i, j, k, l, m, t, w, x, y;
  let ra, sa, vr, vi;
  let notlast, cdivres;
  for (i = 0; i < nn; i++) {
    if (i < low || i > high) {
      d[i] = H.get(i, i);
      e[i] = 0;
    }
    for (j = Math.max(i - 1, 0); j < nn; j++) {
      norm = norm + Math.abs(H.get(i, j));
    }
  }
  while (n >= low) {
    l = n;
    while (l > low) {
      s = Math.abs(H.get(l - 1, l - 1)) + Math.abs(H.get(l, l));
      if (s === 0) {
        s = norm;
      }
      if (Math.abs(H.get(l, l - 1)) < eps * s) {
        break;
      }
      l--;
    }
    if (l === n) {
      H.set(n, n, H.get(n, n) + exshift);
      d[n] = H.get(n, n);
      e[n] = 0;
      n--;
      iter = 0;
    } else if (l === n - 1) {
      w = H.get(n, n - 1) * H.get(n - 1, n);
      p = (H.get(n - 1, n - 1) - H.get(n, n)) / 2;
      q = p * p + w;
      z = Math.sqrt(Math.abs(q));
      H.set(n, n, H.get(n, n) + exshift);
      H.set(n - 1, n - 1, H.get(n - 1, n - 1) + exshift);
      x = H.get(n, n);
      if (q >= 0) {
        z = p >= 0 ? p + z : p - z;
        d[n - 1] = x + z;
        d[n] = d[n - 1];
        if (z !== 0) {
          d[n] = x - w / z;
        }
        e[n - 1] = 0;
        e[n] = 0;
        x = H.get(n, n - 1);
        s = Math.abs(x) + Math.abs(z);
        p = x / s;
        q = z / s;
        r = Math.sqrt(p * p + q * q);
        p = p / r;
        q = q / r;
        for (j = n - 1; j < nn; j++) {
          z = H.get(n - 1, j);
          H.set(n - 1, j, q * z + p * H.get(n, j));
          H.set(n, j, q * H.get(n, j) - p * z);
        }
        for (i = 0; i <= n; i++) {
          z = H.get(i, n - 1);
          H.set(i, n - 1, q * z + p * H.get(i, n));
          H.set(i, n, q * H.get(i, n) - p * z);
        }
        for (i = low; i <= high; i++) {
          z = V.get(i, n - 1);
          V.set(i, n - 1, q * z + p * V.get(i, n));
          V.set(i, n, q * V.get(i, n) - p * z);
        }
      } else {
        d[n - 1] = x + p;
        d[n] = x + p;
        e[n - 1] = z;
        e[n] = -z;
      }
      n = n - 2;
      iter = 0;
    } else {
      x = H.get(n, n);
      y = 0;
      w = 0;
      if (l < n) {
        y = H.get(n - 1, n - 1);
        w = H.get(n, n - 1) * H.get(n - 1, n);
      }
      if (iter === 10) {
        exshift += x;
        for (i = low; i <= n; i++) {
          H.set(i, i, H.get(i, i) - x);
        }
        s = Math.abs(H.get(n, n - 1)) + Math.abs(H.get(n - 1, n - 2));
        // eslint-disable-next-line no-multi-assign
        x = y = 0.75 * s;
        w = -0.4375 * s * s;
      }
      if (iter === 30) {
        s = (y - x) / 2;
        s = s * s + w;
        if (s > 0) {
          s = Math.sqrt(s);
          if (y < x) {
            s = -s;
          }
          s = x - w / ((y - x) / 2 + s);
          for (i = low; i <= n; i++) {
            H.set(i, i, H.get(i, i) - s);
          }
          exshift += s;
          // eslint-disable-next-line no-multi-assign
          x = y = w = 0.964;
        }
      }
      iter = iter + 1;
      m = n - 2;
      while (m >= l) {
        z = H.get(m, m);
        r = x - z;
        s = y - z;
        p = (r * s - w) / H.get(m + 1, m) + H.get(m, m + 1);
        q = H.get(m + 1, m + 1) - z - r - s;
        r = H.get(m + 2, m + 1);
        s = Math.abs(p) + Math.abs(q) + Math.abs(r);
        p = p / s;
        q = q / s;
        r = r / s;
        if (m === l) {
          break;
        }
        if (Math.abs(H.get(m, m - 1)) * (Math.abs(q) + Math.abs(r)) < eps * (Math.abs(p) * (Math.abs(H.get(m - 1, m - 1)) + Math.abs(z) + Math.abs(H.get(m + 1, m + 1))))) {
          break;
        }
        m--;
      }
      for (i = m + 2; i <= n; i++) {
        H.set(i, i - 2, 0);
        if (i > m + 2) {
          H.set(i, i - 3, 0);
        }
      }
      for (k = m; k <= n - 1; k++) {
        notlast = k !== n - 1;
        if (k !== m) {
          p = H.get(k, k - 1);
          q = H.get(k + 1, k - 1);
          r = notlast ? H.get(k + 2, k - 1) : 0;
          x = Math.abs(p) + Math.abs(q) + Math.abs(r);
          if (x !== 0) {
            p = p / x;
            q = q / x;
            r = r / x;
          }
        }
        if (x === 0) {
          break;
        }
        s = Math.sqrt(p * p + q * q + r * r);
        if (p < 0) {
          s = -s;
        }
        if (s !== 0) {
          if (k !== m) {
            H.set(k, k - 1, -s * x);
          } else if (l !== m) {
            H.set(k, k - 1, -H.get(k, k - 1));
          }
          p = p + s;
          x = p / s;
          y = q / s;
          z = r / s;
          q = q / p;
          r = r / p;
          for (j = k; j < nn; j++) {
            p = H.get(k, j) + q * H.get(k + 1, j);
            if (notlast) {
              p = p + r * H.get(k + 2, j);
              H.set(k + 2, j, H.get(k + 2, j) - p * z);
            }
            H.set(k, j, H.get(k, j) - p * x);
            H.set(k + 1, j, H.get(k + 1, j) - p * y);
          }
          for (i = 0; i <= Math.min(n, k + 3); i++) {
            p = x * H.get(i, k) + y * H.get(i, k + 1);
            if (notlast) {
              p = p + z * H.get(i, k + 2);
              H.set(i, k + 2, H.get(i, k + 2) - p * r);
            }
            H.set(i, k, H.get(i, k) - p);
            H.set(i, k + 1, H.get(i, k + 1) - p * q);
          }
          for (i = low; i <= high; i++) {
            p = x * V.get(i, k) + y * V.get(i, k + 1);
            if (notlast) {
              p = p + z * V.get(i, k + 2);
              V.set(i, k + 2, V.get(i, k + 2) - p * r);
            }
            V.set(i, k, V.get(i, k) - p);
            V.set(i, k + 1, V.get(i, k + 1) - p * q);
          }
        }
      }
    }
  }
  if (norm === 0) {
    return;
  }
  for (n = nn - 1; n >= 0; n--) {
    p = d[n];
    q = e[n];
    if (q === 0) {
      l = n;
      H.set(n, n, 1);
      for (i = n - 1; i >= 0; i--) {
        w = H.get(i, i) - p;
        r = 0;
        for (j = l; j <= n; j++) {
          r = r + H.get(i, j) * H.get(j, n);
        }
        if (e[i] < 0) {
          z = w;
          s = r;
        } else {
          l = i;
          if (e[i] === 0) {
            H.set(i, n, w !== 0 ? -r / w : -r / (eps * norm));
          } else {
            x = H.get(i, i + 1);
            y = H.get(i + 1, i);
            q = (d[i] - p) * (d[i] - p) + e[i] * e[i];
            t = (x * s - z * r) / q;
            H.set(i, n, t);
            H.set(i + 1, n, Math.abs(x) > Math.abs(z) ? (-r - w * t) / x : (-s - y * t) / z);
          }
          t = Math.abs(H.get(i, n));
          if (eps * t * t > 1) {
            for (j = i; j <= n; j++) {
              H.set(j, n, H.get(j, n) / t);
            }
          }
        }
      }
    } else if (q < 0) {
      l = n - 1;
      if (Math.abs(H.get(n, n - 1)) > Math.abs(H.get(n - 1, n))) {
        H.set(n - 1, n - 1, q / H.get(n, n - 1));
        H.set(n - 1, n, -(H.get(n, n) - p) / H.get(n, n - 1));
      } else {
        cdivres = cdiv(0, -H.get(n - 1, n), H.get(n - 1, n - 1) - p, q);
        H.set(n - 1, n - 1, cdivres[0]);
        H.set(n - 1, n, cdivres[1]);
      }
      H.set(n, n - 1, 0);
      H.set(n, n, 1);
      for (i = n - 2; i >= 0; i--) {
        ra = 0;
        sa = 0;
        for (j = l; j <= n; j++) {
          ra = ra + H.get(i, j) * H.get(j, n - 1);
          sa = sa + H.get(i, j) * H.get(j, n);
        }
        w = H.get(i, i) - p;
        if (e[i] < 0) {
          z = w;
          r = ra;
          s = sa;
        } else {
          l = i;
          if (e[i] === 0) {
            cdivres = cdiv(-ra, -sa, w, q);
            H.set(i, n - 1, cdivres[0]);
            H.set(i, n, cdivres[1]);
          } else {
            x = H.get(i, i + 1);
            y = H.get(i + 1, i);
            vr = (d[i] - p) * (d[i] - p) + e[i] * e[i] - q * q;
            vi = (d[i] - p) * 2 * q;
            if (vr === 0 && vi === 0) {
              vr = eps * norm * (Math.abs(w) + Math.abs(q) + Math.abs(x) + Math.abs(y) + Math.abs(z));
            }
            cdivres = cdiv(x * r - z * ra + q * sa, x * s - z * sa - q * ra, vr, vi);
            H.set(i, n - 1, cdivres[0]);
            H.set(i, n, cdivres[1]);
            if (Math.abs(x) > Math.abs(z) + Math.abs(q)) {
              H.set(i + 1, n - 1, (-ra - w * H.get(i, n - 1) + q * H.get(i, n)) / x);
              H.set(i + 1, n, (-sa - w * H.get(i, n) - q * H.get(i, n - 1)) / x);
            } else {
              cdivres = cdiv(-r - y * H.get(i, n - 1), -s - y * H.get(i, n), z, q);
              H.set(i + 1, n - 1, cdivres[0]);
              H.set(i + 1, n, cdivres[1]);
            }
          }
          t = Math.max(Math.abs(H.get(i, n - 1)), Math.abs(H.get(i, n)));
          if (eps * t * t > 1) {
            for (j = i; j <= n; j++) {
              H.set(j, n - 1, H.get(j, n - 1) / t);
              H.set(j, n, H.get(j, n) / t);
            }
          }
        }
      }
    }
  }
  for (i = 0; i < nn; i++) {
    if (i < low || i > high) {
      for (j = i; j < nn; j++) {
        V.set(i, j, H.get(i, j));
      }
    }
  }
  for (j = nn - 1; j >= low; j--) {
    for (i = low; i <= high; i++) {
      z = 0;
      for (k = low; k <= Math.min(j, high); k++) {
        z = z + V.get(i, k) * H.get(k, j);
      }
      V.set(i, j, z);
    }
  }
}
function cdiv(xr, xi, yr, yi) {
  let r, d;
  if (Math.abs(yr) > Math.abs(yi)) {
    r = yi / yr;
    d = yr + r * yi;
    return [(xr + r * xi) / d, (xi - r * xr) / d];
  } else {
    r = yr / yi;
    d = yi + r * yr;
    return [(r * xr + xi) / d, (r * xi - xr) / d];
  }
}
class CholeskyDecomposition {
  constructor(value) {
    value = WrapperMatrix2D.checkMatrix(value);
    if (!value.isSymmetric()) {
      throw new Error('Matrix is not symmetric');
    }
    let a = value;
    let dimension = a.rows;
    let l = new Matrix$1(dimension, dimension);
    let positiveDefinite = true;
    let i, j, k;
    for (j = 0; j < dimension; j++) {
      let d = 0;
      for (k = 0; k < j; k++) {
        let s = 0;
        for (i = 0; i < k; i++) {
          s += l.get(k, i) * l.get(j, i);
        }
        s = (a.get(j, k) - s) / l.get(k, k);
        l.set(j, k, s);
        d = d + s * s;
      }
      d = a.get(j, j) - d;
      positiveDefinite &&= d > 0;
      l.set(j, j, Math.sqrt(Math.max(d, 0)));
      for (k = j + 1; k < dimension; k++) {
        l.set(j, k, 0);
      }
    }
    this.L = l;
    this.positiveDefinite = positiveDefinite;
  }
  isPositiveDefinite() {
    return this.positiveDefinite;
  }
  solve(value) {
    value = WrapperMatrix2D.checkMatrix(value);
    let l = this.L;
    let dimension = l.rows;
    if (value.rows !== dimension) {
      throw new Error('Matrix dimensions do not match');
    }
    if (this.isPositiveDefinite() === false) {
      throw new Error('Matrix is not positive definite');
    }
    let count = value.columns;
    let B = value.clone();
    let i, j, k;
    for (k = 0; k < dimension; k++) {
      for (j = 0; j < count; j++) {
        for (i = 0; i < k; i++) {
          B.set(k, j, B.get(k, j) - B.get(i, j) * l.get(k, i));
        }
        B.set(k, j, B.get(k, j) / l.get(k, k));
      }
    }
    for (k = dimension - 1; k >= 0; k--) {
      for (j = 0; j < count; j++) {
        for (i = k + 1; i < dimension; i++) {
          B.set(k, j, B.get(k, j) - B.get(i, j) * l.get(i, k));
        }
        B.set(k, j, B.get(k, j) / l.get(k, k));
      }
    }
    return B;
  }
  get lowerTriangularMatrix() {
    return this.L;
  }
}
class nipals {
  constructor(X, options = {}) {
    X = WrapperMatrix2D.checkMatrix(X);
    let {
      Y
    } = options;
    const {
      scaleScores = false,
      maxIterations = 1000,
      terminationCriteria = 1e-10
    } = options;
    let u;
    if (Y) {
      if (isAnyArray.isAnyArray(Y) && typeof Y[0] === 'number') {
        Y = Matrix$1.columnVector(Y);
      } else {
        Y = WrapperMatrix2D.checkMatrix(Y);
      }
      if (Y.rows !== X.rows) {
        throw new Error('Y should have the same number of rows as X');
      }
      u = Y.getColumnVector(0);
    } else {
      u = X.getColumnVector(0);
    }
    let diff = 1;
    let t, q, w, tOld;
    for (let counter = 0; counter < maxIterations && diff > terminationCriteria; counter++) {
      w = X.transpose().mmul(u).div(u.transpose().mmul(u).get(0, 0));
      w = w.div(w.norm());
      t = X.mmul(w).div(w.transpose().mmul(w).get(0, 0));
      if (counter > 0) {
        diff = t.clone().sub(tOld).pow(2).sum();
      }
      tOld = t.clone();
      if (Y) {
        q = Y.transpose().mmul(t).div(t.transpose().mmul(t).get(0, 0));
        q = q.div(q.norm());
        u = Y.mmul(q).div(q.transpose().mmul(q).get(0, 0));
      } else {
        u = t;
      }
    }
    if (Y) {
      let p = X.transpose().mmul(t).div(t.transpose().mmul(t).get(0, 0));
      p = p.div(p.norm());
      let xResidual = X.clone().sub(t.clone().mmul(p.transpose()));
      let residual = u.transpose().mmul(t).div(t.transpose().mmul(t).get(0, 0));
      let yResidual = Y.clone().sub(t.clone().mulS(residual.get(0, 0)).mmul(q.transpose()));
      this.t = t;
      this.p = p.transpose();
      this.w = w.transpose();
      this.q = q;
      this.u = u;
      this.s = t.transpose().mmul(t);
      this.xResidual = xResidual;
      this.yResidual = yResidual;
      this.betas = residual;
    } else {
      this.w = w.transpose();
      this.s = t.transpose().mmul(t).sqrt();
      if (scaleScores) {
        this.t = t.clone().div(this.s.get(0, 0));
      } else {
        this.t = t;
      }
      this.xResidual = X.sub(t.mmul(w.transpose()));
    }
  }
}
matrix.AbstractMatrix = AbstractMatrix;
matrix.CHO = CholeskyDecomposition;
matrix.CholeskyDecomposition = CholeskyDecomposition;
matrix.DistanceMatrix = DistanceMatrix;
matrix.EVD = EigenvalueDecomposition;
matrix.EigenvalueDecomposition = EigenvalueDecomposition;
matrix.LU = LuDecomposition;
matrix.LuDecomposition = LuDecomposition;
var Matrix_1 = matrix.Matrix = Matrix$1;
matrix.MatrixColumnSelectionView = MatrixColumnSelectionView;
matrix.MatrixColumnView = MatrixColumnView;
matrix.MatrixFlipColumnView = MatrixFlipColumnView;
matrix.MatrixFlipRowView = MatrixFlipRowView;
matrix.MatrixRowSelectionView = MatrixRowSelectionView;
matrix.MatrixRowView = MatrixRowView;
matrix.MatrixSelectionView = MatrixSelectionView;
matrix.MatrixSubView = MatrixSubView;
matrix.MatrixTransposeView = MatrixTransposeView;
matrix.NIPALS = nipals;
matrix.Nipals = nipals;
matrix.QR = QrDecomposition;
matrix.QrDecomposition = QrDecomposition;
matrix.SVD = SingularValueDecomposition;
matrix.SingularValueDecomposition = SingularValueDecomposition;
matrix.SymmetricMatrix = SymmetricMatrix;
matrix.WrapperMatrix1D = WrapperMatrix1D;
matrix.WrapperMatrix2D = WrapperMatrix2D;
matrix.correlation = correlation;
matrix.covariance = covariance;
var _default = matrix.default = Matrix$1;
matrix.determinant = determinant;
matrix.inverse = inverse;
matrix.linearDependencies = linearDependencies;
matrix.pseudoInverse = pseudoInverse;
matrix.solve = solve;
matrix.wrap = wrap;

const Matrix = Matrix_1;
_default.Matrix ? _default.Matrix : Matrix_1;

/**
 * Algorithm that finds the shortest distance from one node to the other
 * @param {Matrix} adjMatrix - A squared adjacency matrix
 * @return {Matrix} - Distance from a node to the other, -1 if the node is unreachable
 */
function floydWarshall(adjMatrix) {
  if (Matrix.isMatrix(adjMatrix) && adjMatrix.columns !== adjMatrix.rows) {
    throw new TypeError('The adjacency matrix should be squared');
  }
  const numVertices = adjMatrix.columns;
  let distMatrix = new Matrix(numVertices, numVertices);
  distMatrix.apply((row, column) => {
    // principal diagonal is 0
    if (row === column) {
      distMatrix.set(row, column, 0);
    } else {
      let val = adjMatrix.get(row, column);
      if (val || Object.is(val, -0)) {
        // edges values remain the same
        distMatrix.set(row, column, val);
      } else {
        // 0 values become infinity
        distMatrix.set(row, column, Number.POSITIVE_INFINITY);
      }
    }
  });
  for (let k = 0; k < numVertices; ++k) {
    for (let i = 0; i < numVertices; ++i) {
      for (let j = 0; j < numVertices; ++j) {
        let dist = distMatrix.get(i, k) + distMatrix.get(k, j);
        if (distMatrix.get(i, j) > dist) {
          distMatrix.set(i, j, dist);
        }
      }
    }
  }
  // When there's no connection the value is -1
  distMatrix.apply((row, column) => {
    if (distMatrix.get(row, column) === Number.POSITIVE_INFINITY) {
      distMatrix.set(row, column, -1);
    }
  });
  return distMatrix;
}

/**
 * Returns a connectivity matrix
 * @param {import('openchemlib').Molecule} molecule
 * @param {object} [options={}]
 * @param {boolean} [options.pathLength=false] - get the path length between atoms
 * @param {boolean} [options.mass=false] - set the nominal mass of the atoms on diagonal
 * @param {boolean} [options.atomicNo=false] - set the atomic number of the atom on diagonal
 * @param {boolean} [options.negativeAtomicNo=false] - set the atomic number * -1 of the atom on diagonal
 * @param {boolean} [options.sdt=false] - set 1, 2 or 3 depending if single, double or triple bond
 * @param {boolean} [options.sdta=false] - set 1, 2, 3 or 4 depending if single, double, triple or aromatic  bond
 */
function getConnectivityMatrix(molecule, options = {}) {
  const OCL = molecule.getOCL();
  molecule.ensureHelperArrays(OCL.Molecule.cHelperNeighbours);
  const nbAtoms = molecule.getAllAtoms();
  let result = new Array(nbAtoms).fill();
  result = result.map(() => new Array(nbAtoms).fill(0));
  if (!options.pathLength) {
    if (options.atomicNo) {
      for (let i = 0; i < nbAtoms; i++) {
        result[i][i] = molecule.getAtomicNo(i);
      }
    } else if (options.negativeAtomicNo) {
      for (let i = 0; i < nbAtoms; i++) {
        result[i][i] = -molecule.getAtomicNo(i);
      }
    } else if (options.mass) {
      for (let i = 0; i < nbAtoms; i++) {
        result[i][i] = OCL.Molecule.cRoundedMass[molecule.getAtomicNo(i)];
      }
    } else {
      for (let i = 0; i < nbAtoms; i++) {
        result[i][i] = 1;
      }
    }
  }
  if (options.sdt) {
    for (let i = 0; i < nbAtoms; i++) {
      const l = molecule.getAllConnAtoms(i);
      for (let j = 0; j < l; j++) {
        result[i][molecule.getConnAtom(i, j)] = molecule.getConnBondOrder(i, j);
      }
    }
  } else if (options.sdta) {
    for (let i = 0; i < nbAtoms; i++) {
      const l = molecule.getAllConnAtoms(i);
      for (let j = 0; j < l; j++) {
        const bondNumber = molecule.getConnBond(i, j);
        if (molecule.isAromaticBond(bondNumber)) {
          result[i][molecule.getConnAtom(i, j)] = 4;
        } else {
          result[i][molecule.getConnAtom(i, j)] = molecule.getConnBondOrder(i, j);
        }
      }
    }
  } else {
    for (let i = 0; i < nbAtoms; i++) {
      const l = molecule.getAllConnAtoms(i);
      for (let j = 0; j < l; j++) {
        result[i][molecule.getConnAtom(i, j)] = 1;
      }
    }
  }
  if (options.pathLength) {
    result = floydWarshall(new Matrix(result)).to2DArray();
  }
  return result;
}

/**
 * Creates a compact copy of the molecule without custom labels.
 * We don't want that custom labels interfere with hose code and diaID generation.
 * @param molecule
 * @returns
 */
function getCompactCopyWithoutCustomLabels(molecule) {
  const tempMolecule = molecule.getCompactCopy();
  for (let i = 0; i < tempMolecule.getAllAtoms(); i++) {
    tempMolecule.setAtomCustomLabel(i, '');
  }
  return tempMolecule;
}

function getCanonizedDiaIDs(diaMol, options) {
  const {
    logger,
    maxNbAtoms
  } = options;
  const moleculeWithH = diaMol.moleculeWithH;
  if (moleculeWithH.getAllAtoms() > maxNbAtoms) {
    logger.warn(`too many atoms to evaluate heterotopic chiral bonds: ${moleculeWithH.getAllAtoms()} > ${maxNbAtoms}`);
    return [];
  }
  const heterotopicSymmetryRanks = diaMol.heterotopicSymmetryRanks;
  const finalRanks = diaMol.finalRanks;
  const canonizedDiaIDs = new Array(moleculeWithH.getAllAtoms());
  moleculeWithH.ensureHelperArrays(diaMol.molecule.getOCL().Molecule.cHelperSymmetryStereoHeterotopicity);
  const cache = {};
  for (let i = 0; i < diaMol.moleculeWithH.getAllAtoms(); i++) {
    const rank = heterotopicSymmetryRanks[i];
    if (rank && cache[rank]) {
      canonizedDiaIDs[finalRanks[i]] = cache[rank].diaID;
      continue;
    }
    const tempMolecule = getCompactCopyWithoutCustomLabels(diaMol.moleculeWithH);
    tagAtom(tempMolecule, i);
    makeRacemic(tempMolecule);
    const diaID = tempMolecule.getCanonizedIDCode(diaMol.molecule.getOCL().Molecule.CANONIZER_ENCODE_ATOM_CUSTOM_LABELS);
    canonizedDiaIDs[finalRanks[i]] = diaID;
  }
  return canonizedDiaIDs;
}

/**
 * Returns an array of strings (idCodes) specified molecule. Each string corresponds to a
 * hose code. By default it will calculate the hose codes for sphere 0 to 4 and will reuse
 * the existing tagged atoms.
 * @param molecule - The OCL molecule to process.
 * @param options - Options for generating hose codes.
 * @returns An array of hose code strings.
 */
function getHoseCodesForAtomsAsStrings(molecule, options = {}) {
  const fragments = getHoseCodesForAtomsAsFragments(molecule, options);
  const OCL = molecule.getOCL();
  const hoses = [];
  for (const fragment of fragments) {
    hoses.push(fragment.getCanonizedIDCode(OCL.Molecule.CANONIZER_ENCODE_ATOM_CUSTOM_LABELS));
  }
  return hoses;
}

/**
 * Get the canonized hose codes for a topic molecule. It will use the moleculeWithH
 * @param topicMolecule - The topic molecule to get the hose codes for.
 * @returns The canonized hose codes.
 */
function getCanonizedHoseCodes(topicMolecule) {
  const options = topicMolecule.options;
  const heterotopicSymmetryRanks = topicMolecule.heterotopicSymmetryRanks;
  const moleculeWithH = topicMolecule.moleculeWithH;
  const finalRanks = topicMolecule.finalRanks;
  const canonizedHoseCodes = new Array(moleculeWithH.getAllAtoms());
  moleculeWithH.ensureHelperArrays(topicMolecule.molecule.getOCL().Molecule.cHelperSymmetryStereoHeterotopicity);
  const cache = {};
  for (let i = 0; i < topicMolecule.moleculeWithH.getAllAtoms(); i++) {
    const rank = heterotopicSymmetryRanks[i];
    if (rank && cache[rank]) {
      canonizedHoseCodes[finalRanks[i]] = cache[rank].diaID;
      continue;
    }
    const tempMolecule = getCompactCopyWithoutCustomLabels(moleculeWithH);
    tagAtom(tempMolecule, i);
    const hoses = getHoseCodesForAtomsAsStrings(tempMolecule, options);
    canonizedHoseCodes[finalRanks[i]] = hoses;
  }
  return canonizedHoseCodes;
}

/**
 * For each atom we will return an array of objects
 * @param topicMolecule
 * @param options
 * @returns
 */
function getCanonizedHoseCodesForPath(topicMolecule, options = {}) {
  const {
    minPathLength = 0,
    maxPathLength = topicMolecule.options.maxPathLength,
    toAtomicNo,
    fromAtomicNo
  } = options;
  if (maxPathLength > topicMolecule.options.maxPathLength) {
    throw new Error(`maxPathLength cannot be larger than the one defined in topicMolecule: ${topicMolecule.options.maxPathLength}`);
  }
  const atomsPaths = topicMolecule.atomsPaths;
  const molecule = topicMolecule.moleculeWithH;
  const results = new Array(molecule.getAllAtoms());
  for (let fromAtom = 0; fromAtom < molecule.getAllAtoms(); fromAtom++) {
    results[fromAtom] = {
      fromDiaID: topicMolecule.diaIDs[fromAtom],
      paths: []
    };
    if (fromAtomicNo && molecule.getAtomicNo(fromAtom) !== fromAtomicNo) {
      continue;
    }
    for (let pathLength = minPathLength; pathLength <= maxPathLength; pathLength++) {
      const pathOfSpecificLength = atomsPaths[fromAtom][pathLength];
      for (const path of pathOfSpecificLength) {
        const toAtom = path.path.at(-1);
        if (toAtomicNo && molecule.getAtomicNo(toAtom) !== toAtomicNo) {
          continue;
        }
        results[fromAtom].paths.push({
          toDiaID: topicMolecule.diaIDs[toAtom],
          pathLength: path.pathLength,
          path: path.path,
          hoses: getHoseCodesForAtomsAsStrings(topicMolecule.moleculeWithH, {
            ...options,
            rootAtoms: path.path,
            tagAtoms: [fromAtom, toAtom]
          })
        });
      }
    }
  }
  return results;
}

function getDiaIDsAndInfo(diaMol, canonizedDiaIDs) {
  const newDiaIDs = [];
  const molecule = diaMol.moleculeWithH;
  const counts = {};
  for (const diaID of canonizedDiaIDs) {
    if (!counts[diaID]) {
      counts[diaID] = 0;
    }
    counts[diaID]++;
  }
  for (let i = 0; i < canonizedDiaIDs.length; i++) {
    const diaID = canonizedDiaIDs[diaMol.finalRanks[i]];
    if (!diaID) {
      throw new Error(`Unexpected missing canonized diaID for atom ${i}`);
    }
    const count = counts[diaID];
    if (!count) {
      throw new Error(`Unexpected missing count for diaID ${diaID}`);
    }
    const newDiaID = {
      idCode: diaID,
      attachedHydrogensIDCodes: [],
      attachedHydrogens: [],
      nbAttachedHydrogens: 0,
      atomLabel: molecule.getAtomLabel(i),
      nbEquivalentAtoms: count,
      heavyAtom: undefined,
      atomMapNo: molecule.getAtomMapNo(i)
    };
    if (molecule.getAtomicNo(i) === 1) {
      const atom = molecule.getConnAtom(i, 0);
      newDiaID.heavyAtom = canonizedDiaIDs[diaMol.finalRanks[atom]];
    }
    for (let j = 0; j < molecule.getAllConnAtoms(i); j++) {
      const atom = molecule.getConnAtom(i, j);
      if (molecule.getAtomicNo(atom) === 1) {
        newDiaID.nbAttachedHydrogens++;
        newDiaID.attachedHydrogens.push(atom);
        const hydrogenDiaID = canonizedDiaIDs[diaMol.finalRanks[atom]];
        if (!hydrogenDiaID) {
          throw new Error(`Unexpected missing canonized diaID for atom ${atom}`);
        }
        if (!newDiaID.attachedHydrogensIDCodes.includes(hydrogenDiaID)) {
          newDiaID.attachedHydrogensIDCodes.push(hydrogenDiaID);
        }
      }
    }
    newDiaIDs.push(newDiaID);
  }
  return newDiaIDs;
}

/**
 * Get a unique atomic number for a X
 * @param xMolecule
 * @returns
 */
function getHeterotopicSymmetryRanks(xMolecule) {
  xMolecule.ensureHelperArrays(xMolecule.getOCL().Molecule.cHelperSymmetryStereoHeterotopicity);
  const symmetryRanks = [];
  for (let i = 0; i < xMolecule.getAllAtoms(); i++) {
    symmetryRanks.push(xMolecule.getSymmetryRank(i));
  }
  return symmetryRanks;
}
function getFinalRanks(xMolecule) {
  xMolecule.ensureHelperArrays(xMolecule.getOCL().Molecule.cHelperSymmetryStereoHeterotopicity);
  return xMolecule.getFinalRanks(0).map(rank => rank - 1);
}

/**
 * Returns the atoms that are chiral or pseudo chiral.
 * There could be some issues if the original molecule lacks chiral bonds.
 * The function will add them and this could lead to some issues in the case of pseudochiral atoms.
 * @param {import('openchemlib').Molecule} molecule
 * @returns {number[]}
 */
function getChiralOrHeterotopicCarbons(molecule) {
  const {
    Molecule
  } = molecule.getOCL();
  const xAtomicNumber = getXAtomicNumber(molecule);
  const internalMolecule = molecule.getCompactCopy();
  // hydrogens may be diastereotopic, we need to add them
  internalMolecule.addImplicitHydrogens();
  for (let i = 0; i < internalMolecule.getAllAtoms(); i++) {
    // hydrogens are not taken into account during canonization, we need to change them with an atom with a valence of 1
    if (internalMolecule.getAtomicNo(i) === 1) {
      internalMolecule.setAtomicNo(i, xAtomicNumber);
    }
  }
  addPossibleChiralBonds(internalMolecule);
  internalMolecule.ensureHelperArrays(Molecule.cHelperSymmetryStereoHeterotopicity);
  const atoms = [];
  for (let i = 0; i < molecule.getAllAtoms(); i++) {
    if (internalMolecule.getAtomicNo(i) === xAtomicNumber) {
      continue;
    }
    if (molecule.getAtomicNo(i) !== internalMolecule.getAtomicNo(i)) {
      throw new Error('getChiralOrHeterotopicCarbons: mismatching atomic numbers');
    }
    if (internalMolecule.getAtomicNo(i) !== 6) {
      continue;
    }
    const neighbourSymmetries = getNeighbourSymmetries(internalMolecule, i);
    if (neighbourSymmetries.length === 4) {
      atoms.push(i);
    }
  }
  return atoms;
}
function addPossibleChiralBonds(molecule) {
  const {
    Molecule
  } = molecule.getOCL();
  molecule.ensureHelperArrays(Molecule.cHelperSymmetryStereoHeterotopicity);
  for (let i = 0; i < molecule.getAtoms(); i++) {
    if (molecule.getAtomicNo(i) !== 6) continue;
    if (molecule.getStereoBond(i) >= 0) continue;
    const neighbourSymmetries = getNeighbourSymmetries(molecule, i);
    if (neighbourSymmetries.length <= 2) continue;
    const stereoBond = molecule.getAtomPreferredStereoBond(i);
    if (stereoBond !== -1) {
      molecule.setBondType(stereoBond, Molecule.cBondTypeUp);
      if (molecule.getBondAtom(1, stereoBond) === i) {
        const connAtom = molecule.getBondAtom(0, stereoBond);
        molecule.setBondAtom(0, stereoBond, i);
        molecule.setBondAtom(1, stereoBond, connAtom);
      }
      // To me it seems that we have to add all stereo centers into AND group 0. TLS 9.Nov.2015
      molecule.setAtomESR(i, Molecule.cESRTypeAnd, 0);
    }
  }
}
function getNeighbourSymmetries(molecule, iAtom) {
  const neighbourSymmetries = [];
  for (let j = 0; j < molecule.getAllConnAtoms(iAtom); j++) {
    const connAtom = molecule.getConnAtom(iAtom, j);
    const symmetryRank = molecule.getSymmetryRank(connAtom);
    if (!neighbourSymmetries.includes(symmetryRank)) {
      neighbourSymmetries.push(molecule.getSymmetryRank(connAtom));
    }
  }
  return neighbourSymmetries;
}

/**
 * This function will add missing chiral bonds on carbons ensure that all enantiotopic
 * or diastereotopic atoms can be identified uniquely
 * @param {import('openchemlib').Molecule} molecule
 * @param {object} [options={}]
 * @param {number} [options.esrType=Molecule.cESRTypeAnd]
 * @param {boolean} [options.atLeastThreeAtoms=true] - if true, only carbons with at least three atoms will be considered
 */
function ensureHeterotopicChiralBonds(molecule, options = {}) {
  const {
    Molecule
  } = molecule.getOCL();
  const {
    esrType = Molecule.cESRTypeAnd,
    atLeastThreeAtoms = true
  } = options;
  molecule.ensureHelperArrays(Molecule.cHelperBitNeighbours);
  const heterotopicCarbons = getChiralOrHeterotopicCarbons(molecule);
  for (const i of heterotopicCarbons) {
    if (atLeastThreeAtoms && molecule.getAllConnAtoms(i) < 3) continue;
    if (molecule.getStereoBond(i) === -1) {
      const stereoBond = molecule.getAtomPreferredStereoBond(i);
      if (stereoBond !== -1) {
        molecule.setBondType(stereoBond, Molecule.cBondTypeUp);
        if (molecule.getBondAtom(1, stereoBond) === i) {
          const connAtom = molecule.getBondAtom(0, stereoBond);
          molecule.setBondAtom(0, stereoBond, i);
          molecule.setBondAtom(1, stereoBond, connAtom);
        }
        // To me it seems that we have to add all stereo centers into AND group 0. TLS 9.Nov.2015
        molecule.setAtomESR(i, esrType, 0);
      }
    }
  }
}

/**
 * Expand all the implicit hydrogens and ensure chiral bonds on heterotopic bonds
 * @param molecule
 * @param options
 * @returns
 */
function getMoleculeWithH(molecule, options) {
  const {
    logger,
    maxNbAtoms
  } = options;
  const moleculeWithH = molecule.getCompactCopy();
  moleculeWithH.addImplicitHydrogens();
  if (moleculeWithH.getAllAtoms() > maxNbAtoms) {
    logger.warn(`too many atoms to evaluate heterotopic chiral bonds: ${moleculeWithH.getAllAtoms()} > ${maxNbAtoms}`);
  } else {
    ensureHeterotopicChiralBonds(moleculeWithH);
  }
  return moleculeWithH;
}

/**
 * In order to be able to give a unique ID to all the atoms we are replacing the H by X
 * @param moleculeWithH
 * @returns
 */
function getXMolecule(moleculeWithH) {
  const xAtomNumber = getXAtomicNumber(moleculeWithH);
  const xMolecule = moleculeWithH.getCompactCopy();
  for (let i = 0; i < xMolecule.getAllAtoms(); i++) {
    // hydrogens are not taken into account during canonization, we need to change them with an atom with a valence of 1
    if (xMolecule.getAtomicNo(i) === 1) {
      xMolecule.setAtomicNo(i, xAtomNumber);
    }
  }
  return xMolecule;
}

/**
 * This class deals with topicity information and hose codes
 * It is optimized to avoid recalculation of the same information
 */
class TopicMolecule {
  originalMolecule;
  molecule;
  idCode;
  options;
  cache;
  constructor(molecule, options = {}) {
    this.originalMolecule = molecule;
    this.options = {
      maxPathLength: 5,
      maxNbAtoms: 250,
      logger: console,
      ...options
    };
    this.idCode = molecule.getIDCode();
    this.molecule = this.originalMolecule.getCompactCopy();
    this.molecule.ensureHelperArrays(molecule.getOCL().Molecule.cHelperNeighbours);
    this.molecule.ensureHelperArrays(this.molecule.getOCL().Molecule.cHelperNeighbours);
    this.cache = {};
  }
  /**
   * This method ensures that all the atoms have a mapNo corresponding to the atom number.
   * It will enforce mapNo in molecule and moleculeWithH
   * We start numbering the atoms at 1
   */
  setAtomNoInMapNo() {
    const molecules = [this.molecule, this.moleculeWithH];
    for (const molecule of molecules) {
      for (let i = 0; i < molecule.getAllAtoms(); i++) {
        molecule.setAtomMapNo(i, i + 1, false);
      }
    }
  }
  /**
   * This method ensures that all the atoms have a mapNo in the molecule (and not the moleculeWithH! )
   */
  ensureMapNo() {
    const existingMapNo = {};
    for (let i = 0; i < this.molecule.getAllAtoms(); i++) {
      const mapNo = this.molecule.getAtomMapNo(i);
      if (mapNo) {
        if (existingMapNo[mapNo]) {
          throw new Error('The molecule contains several atoms with the same mapNo');
        }
        existingMapNo[mapNo] = true;
      }
    }
    let nextMapNo = 1;
    for (let i = 0; i < this.molecule.getAllAtoms(); i++) {
      const mapNo = this.molecule.getAtomMapNo(i);
      if (!mapNo) {
        while (existingMapNo[nextMapNo]) {
          nextMapNo++;
        }
        existingMapNo[nextMapNo] = true;
        this.molecule.setAtomMapNo(i, nextMapNo, false);
      }
    }
  }
  /**
   * For each atom we will return an array of objects that contains the
   * different possible path as well as the canonic hose codes
   * @param options
   * @returns
   */
  getHoseCodesForPath(options = {}) {
    return getCanonizedHoseCodesForPath(this, options);
  }
  /**
   * Return one fragment for a specific sphere size and specific root atoms
   * @param rootAtoms
   * @param options
   * @returns
   */
  getHoseFragment(rootAtoms, options = {}) {
    const {
      sphereSize = 2,
      tagAtoms = rootAtoms,
      tagAtomFct
    } = options;
    const fragments = getHoseCodesForAtomsAsFragments(this.moleculeWithH, {
      rootAtoms,
      minSphereSize: sphereSize,
      maxSphereSize: sphereSize,
      tagAtoms,
      tagAtomFct
    });
    return fragments[0];
  }
  getAtomPathsFrom(atom, options = {}) {
    const {
      minPathLength = 1,
      maxPathLength = this.options.maxPathLength,
      toAtomicNo
    } = options;
    if (maxPathLength > this.options.maxPathLength) {
      throw new Error('The maxPathLength is too long, you should increase the maxPathLength when instantiating the TopicMolecule');
    }
    const atomPaths = this.atomsPaths[atom];
    if (!atomPaths) {
      throw new Error('Unexpected missing atom path');
    }
    const paths = [];
    for (let i = minPathLength; i <= maxPathLength; i++) {
      const atomPathValue = atomPaths[i];
      if (!atomPathValue) {
        throw new Error(`Unexpected missing atom path at index ${i}`);
      }
      for (const atomPath of atomPathValue) {
        if (!toAtomicNo || this.moleculeWithH.getAtomicNo(atomPath.path.at(-1)) === toAtomicNo) {
          paths.push(atomPath.path);
        }
      }
    }
    return paths;
  }
  getAtomPaths(atom1, atom2, options = {}) {
    const {
      pathLength
    } = options;
    if (pathLength !== undefined && pathLength > this.options.maxPathLength) {
      throw new Error('The distance is too long, you should increase the maxPathLength when instantiating the TopicMolecule');
    }
    const atomPaths = this.atomsPaths[atom1];
    if (!atomPaths) {
      throw new Error('Unexpected missing atom path');
    }
    const minDistance = pathLength || 0;
    const maxDistance = pathLength || this.options.maxPathLength;
    const paths = [];
    for (let i = minDistance; i <= maxDistance; i++) {
      const atomPathValue = atomPaths[i];
      if (!atomPathValue) {
        throw new Error(`Unexpected missing atom path at index ${i}`);
      }
      for (const atomPath of atomPathValue) {
        if (atomPath.path.at(-1) === atom2) {
          paths.push(atomPath.path);
        }
      }
    }
    return paths;
  }
  get atomsPaths() {
    if (this.cache.atomsPaths) return this.cache.atomsPaths;
    this.cache.atomsPaths = getAllAtomsPaths(this.moleculeWithH, {
      maxPathLength: this.options.maxPathLength
    });
    return this.cache.atomsPaths;
  }
  toMolfile(options = {}) {
    const {
      version = 2
    } = options;
    if (version === 2) {
      return this.molecule.toMolfile();
    }
    return this.molecule.toMolfileV3();
  }
  getMolecule() {
    return this.molecule;
  }
  /**
   * Returns a new TopicMolecule but will copy precalculated information
   * if possible (same idCode). This is very practical when expanding hydrogens
   * for example.
   * @param molecule
   * @returns
   */
  fromMolecule(molecule) {
    const idCode = molecule.getIDCode();
    if (idCode !== this.idCode) {
      // no way for optimisation
      return new TopicMolecule(molecule);
    }
    const topicMolecule = new TopicMolecule(molecule);
    topicMolecule.cache = {
      canonizedDiaIDs: this.cache.canonizedDiaIDs,
      canonizedHoseCodes: this.cache.canonizedHoseCodes
    };
    return topicMolecule;
  }
  /**
   * Returns a molecule with all the hydrogens added. The order is NOT canonized
   */
  get moleculeWithH() {
    if (this.cache.moleculeWithH) return this.cache.moleculeWithH;
    this.cache.moleculeWithH = getMoleculeWithH(this.molecule, {
      maxNbAtoms: this.options.maxNbAtoms,
      logger: this.options.logger
    });
    return this.cache.moleculeWithH;
  }
  get xMolecule() {
    if (this.cache.xMolecule) return this.cache.xMolecule;
    this.cache.xMolecule = getXMolecule(this.moleculeWithH);
    return this.cache.xMolecule;
  }
  /**
   * This is related to the current moleculeWithH. The order is NOT canonized
   */
  get diaIDs() {
    if (this.cache.diaIDs) return this.cache.diaIDs;
    const diaIDs = [];
    if (this.moleculeWithH.getAllAtoms() > this.options.maxNbAtoms) {
      this.options.logger.warn(`too many atoms to evaluate heterotopicity: ${this.moleculeWithH.getAllAtoms()} > ${this.options.maxNbAtoms}`);
    } else {
      for (let i = 0; i < this.moleculeWithH.getAllAtoms(); i++) {
        diaIDs.push(this.canonizedDiaIDs[this.finalRanks[i]]);
      }
    }
    this.cache.diaIDs = diaIDs;
    return diaIDs;
  }
  /**
   * We return the atomIDs corresponding to the specified diaID as well has the attached hydrogens or heavy atoms
   * @param diaID
   * @returns
   */
  getDiaIDsObject() {
    return groupDiastereotopicAtomIDsAsObject(this.diaIDs, this.molecule, this.moleculeWithH);
  }
  /**
   * This is related to the current moleculeWithH. The order is NOT canonized
   */
  get hoseCodes() {
    if (this.cache.hoseCodes) return this.cache.hoseCodes;
    const hoseCodes = [];
    for (let i = 0; i < this.moleculeWithH.getAllAtoms(); i++) {
      hoseCodes.push(this.canonizedHoseCodes[this.finalRanks[i]]);
    }
    this.cache.hoseCodes = hoseCodes;
    return hoseCodes;
  }
  get canonizedDiaIDs() {
    if (this.cache.canonizedDiaIDs) return this.cache.canonizedDiaIDs;
    this.cache.canonizedDiaIDs = getCanonizedDiaIDs(this, {
      maxNbAtoms: this.options.maxNbAtoms,
      logger: this.options.logger
    });
    return this.cache.canonizedDiaIDs;
  }
  get canonizedHoseCodes() {
    if (this.cache.canonizedHoseCodes) {
      return this.cache.canonizedHoseCodes;
    }
    this.cache.canonizedHoseCodes = getCanonizedHoseCodes(this);
    return this.cache.canonizedHoseCodes;
  }
  /**
   * Returns the distance matrix for the current moleculeWithH
   */
  get distanceMatrix() {
    return getConnectivityMatrix(this.moleculeWithH, {
      pathLength: true
    });
  }
  get diaIDsAndInfo() {
    if (this.cache.diaIDsAndInfo) {
      return this.cache.diaIDsAndInfo;
    }
    this.cache.diaIDsAndInfo = getDiaIDsAndInfo(this, this.canonizedDiaIDs);
    return this.cache.diaIDsAndInfo;
  }
  /**
   * Returns symmetryRanks for all the atoms including hydrogens. Those ranks
   * deals with topicity and is related to the current moleculeWithH.
   * In order to calculate the ranks we replace all the
   * hydrogens with a X atom.
   */
  get heterotopicSymmetryRanks() {
    if (this.cache.heterotopicSymmetryRanks) {
      return this.cache.heterotopicSymmetryRanks;
    }
    this.cache.heterotopicSymmetryRanks = getHeterotopicSymmetryRanks(this.xMolecule);
    return [...this.cache.heterotopicSymmetryRanks];
  }
  /**
   * Returns finalRanks for all the atoms including hydrogens. Those ranks
   * deals with topicity and is related to the current moleculeWithH.
   * All the atoms have a unique identifier.j
   * In order to calculate the ranks we replace all the
   * hydrogens with a X atom.
   */
  get finalRanks() {
    if (this.cache.finalRanks) return this.cache.finalRanks;
    this.cache.finalRanks = getFinalRanks(this.xMolecule);
    return this.cache.finalRanks;
  }
  toMolfileWithH(options = {}) {
    const {
      version = 2
    } = options;
    if (version === 2) {
      return this.moleculeWithH.toMolfile();
    }
    return this.moleculeWithH.toMolfileV3();
  }
  toMolfileWithoutH(options = {}) {
    const molecule = this.molecule.getCompactCopy();
    molecule.ensureHelperArrays(molecule.getOCL().Molecule.cHelperNeighbours);
    const atomsToDelete = [];
    for (let atomID = 0; atomID < molecule.getAtoms(); atomID++) {
      if (molecule.getExplicitHydrogens(atomID) > 0) {
        for (let i = 0; i < molecule.getAllConnAtoms(atomID); i++) {
          const connectedAtom = molecule.getConnAtom(atomID, i);
          if (molecule.getAtomicNo(connectedAtom) === 1) {
            atomsToDelete.push(connectedAtom);
          }
        }
      }
    }
    molecule.deleteAtoms(atomsToDelete);
    const {
      version = 2
    } = options;
    if (version === 2) {
      return molecule.toMolfile();
    }
    return molecule.toMolfileV3();
  }
  /**
   * Returns an array of objects containing the oclID and the corresponding hydrogens and atoms
   * for the specified atomLabel (if any)
   * This always applied to the molecule with expanded hydrogens and chirality
   * @param options
   * @returns
   */
  getGroupedDiastereotopicAtomIDs(options = {}) {
    if (!this.diaIDs) return undefined;
    return groupDiastereotopicAtomIDs$1(this.diaIDs, this.moleculeWithH, options);
  }
  /**
   * This method returns a mapping between the diaIDs of the current molecule.
   * It expects that the initial molfile and the final molfile contains atomMapNo
   * in order to track which atom becomes which one.
   * @param molecule
   */
  getDiaIDsMapping(molecule) {
    const topicMolecule = new TopicMolecule(molecule);
    const originalDiaIDs = this.diaIDsAndInfo.filter(diaID => diaID.atomMapNo);
    const destinationDiaIDs = topicMolecule.diaIDsAndInfo.filter(diaID => diaID.atomMapNo);
    const mapping = {};
    // we first check all the atoms present in the molfile
    for (const destinationDiaID of destinationDiaIDs) {
      const originalDiaID = originalDiaIDs.find(diaID => diaID.atomMapNo === destinationDiaID.atomMapNo);
      const newIDCode = destinationDiaID.idCode;
      const oldIDCode = originalDiaID.idCode;
      if (oldIDCode in mapping) {
        if (mapping[oldIDCode] !== newIDCode) {
          mapping[oldIDCode] = undefined;
        }
      } else {
        mapping[oldIDCode] = newIDCode;
      }
    }
    // we now check all the attached hydrogens that are not defined in the molfile and were not yet mapped
    for (const destinationDiaID of destinationDiaIDs) {
      const originalDiaID = originalDiaIDs.find(diaID => diaID.atomMapNo === destinationDiaID.atomMapNo);
      for (let i = 0; i < originalDiaID.attachedHydrogensIDCodes.length; i++) {
        const oldHydrogenIDCode = originalDiaID.attachedHydrogensIDCodes.at(i);
        if (mapping[oldHydrogenIDCode]) continue;
        const newHydrogenIDCode = destinationDiaID.attachedHydrogensIDCodes[i];
        if (oldHydrogenIDCode && newHydrogenIDCode) {
          if (oldHydrogenIDCode in mapping) {
            if (mapping[oldHydrogenIDCode] !== newHydrogenIDCode) {
              mapping[oldHydrogenIDCode] = undefined;
            }
          } else {
            mapping[oldHydrogenIDCode] = newHydrogenIDCode;
          }
        }
      }
    }
    return mapping;
  }
}
function groupDiastereotopicAtomIDs$1(diaIDs, molecule, options = {}) {
  const diaIDsObject = groupDiastereotopicAtomIDsAsObject(diaIDs, molecule, molecule, options);
  return Object.values(diaIDsObject);
}
function groupDiastereotopicAtomIDsAsObject(diaIDs, molecule, moleculeWithH, options = {}) {
  const {
    atomLabel
  } = options;
  const diaIDsObject = {};
  for (let i = 0; i < diaIDs.length; i++) {
    if (!atomLabel || moleculeWithH.getAtomLabel(i) === atomLabel) {
      const diaID = diaIDs[i];
      if (!diaIDsObject[diaID]) {
        diaIDsObject[diaID] = {
          counter: 0,
          oclID: diaID,
          atomLabel: moleculeWithH.getAtomLabel(i),
          atoms: [],
          existingAtoms: [],
          heavyAtoms: [],
          attachedHydrogens: [],
          customLabels: [],
          attachedHydrogensCustomLabels: [],
          heavyAtomsCustomLabels: []
        };
      }
      const customLabel = moleculeWithH.getAtomCustomLabel(i)?.replace(/^\]/, '');
      if (customLabel && !diaIDsObject[diaID].customLabels.includes(customLabel)) {
        diaIDsObject[diaID].customLabels.push(customLabel);
      }
      if (moleculeWithH.getAtomicNo(i) === 1) {
        const connected = moleculeWithH.getConnAtom(i, 0);
        if (!diaIDsObject[diaID].heavyAtoms.includes(connected)) {
          diaIDsObject[diaID].heavyAtoms.push(connected);
        }
        const heavyAtomCustomLabel = molecule.getAtomCustomLabel(connected)?.replace(/^\]/, '');
        if (heavyAtomCustomLabel && !diaIDsObject[diaID].heavyAtomsCustomLabels.includes(heavyAtomCustomLabel)) {
          diaIDsObject[diaID].heavyAtomsCustomLabels.push(heavyAtomCustomLabel);
        }
        if (molecule.getAtomicNo(i)) {
          diaIDsObject[diaID].existingAtoms.push(i);
        } else if (!diaIDsObject[diaID].existingAtoms.includes(connected)) {
          diaIDsObject[diaID].existingAtoms.push(connected);
        }
      } else {
        for (let j = 0; j < moleculeWithH.getAllConnAtoms(i); j++) {
          const connected = moleculeWithH.getConnAtom(i, j);
          if (moleculeWithH.getAtomicNo(connected) === 1) {
            const attachedHydrogenCustomLabel = molecule.getAtomCustomLabel(connected)?.replace(/^\]/, '');
            if (attachedHydrogenCustomLabel && !diaIDsObject[diaID].attachedHydrogensCustomLabels.includes(attachedHydrogenCustomLabel)) {
              diaIDsObject[diaID].attachedHydrogensCustomLabels.push(attachedHydrogenCustomLabel);
            }
            diaIDsObject[diaID].attachedHydrogens.push(connected);
          }
        }
        diaIDsObject[diaID].existingAtoms.push(i);
      }
      diaIDsObject[diaID].counter++;
      diaIDsObject[diaID].atoms.push(i);
    }
  }
  for (const diaIDObject of Object.values(diaIDsObject)) {
    diaIDObject.existingAtoms.sort((a, b) => a - b);
    diaIDObject.attachedHydrogens.sort((a, b) => a - b);
  }
  return diaIDsObject;
}

/**
 * Returns an array of symmetry ranks.
 * @param {import('openchemlib').Molecule} molecule - An instance of a molecule
 * @returns
 */
function getSymmetryRanks(molecule) {
  const {
    Molecule
  } = molecule.getOCL();
  const xAtomNumber = getXAtomicNumber(molecule);
  // most of the molecules have some symmetry
  const internalMolecule = molecule.getCompactCopy();
  for (let i = 0; i < internalMolecule.getAllAtoms(); i++) {
    // hydrogens are not taken into account during canonization, we need to change them with an atom with a valence of 1
    if (internalMolecule.getAtomicNo(i) === 1) {
      internalMolecule.setAtomicNo(i, xAtomNumber);
    }
  }
  internalMolecule.ensureHelperArrays(Molecule.cHelperSymmetryStereoHeterotopicity);
  const symmetryRanks = [];
  for (let i = 0; i < molecule.getAllAtoms(); i++) {
    symmetryRanks.push(internalMolecule.getSymmetryRank(i));
  }
  return symmetryRanks;
}

/**
 * Returns an array of diastereotopic ID (as idCode)
 * @param {import('openchemlib').Molecule} molecule
 */
function getDiastereotopicAtomIDs(molecule) {
  const {
    Molecule
  } = molecule.getOCL();
  ensureHeterotopicChiralBonds(molecule);
  const symmetryRanks = getSymmetryRanks(molecule);
  const numberAtoms = molecule.getAllAtoms();
  const ids = [];
  const cache = {};
  for (let iAtom = 0; iAtom < numberAtoms; iAtom++) {
    const rank = symmetryRanks[iAtom];
    if (rank && cache[rank]) {
      ids[iAtom] = cache[rank];
      continue;
    }
    const tempMolecule = getCompactCopyWithoutCustomLabels(molecule);
    tagAtom(tempMolecule, iAtom);
    makeRacemic(tempMolecule);
    // We need to ensure the helper array in order to get correctly the result of racemisation
    ids[iAtom] = tempMolecule.getCanonizedIDCode(Molecule.CANONIZER_ENCODE_ATOM_CUSTOM_LABELS);
    cache[rank] = ids[iAtom];
  }
  return ids;
}

/**
 *
 * @param {import('openchemlib').Molecule} molecule
 */
function getDiastereotopicAtomIDsAndH(molecule) {
  const OCL = molecule.getOCL();
  molecule = molecule.getCompactCopy();
  molecule.addImplicitHydrogens();
  molecule.ensureHelperArrays(OCL.Molecule.cHelperNeighbours);
  const diaIDs = getDiastereotopicAtomIDs(molecule);
  const newDiaIDs = [];
  for (let i = 0; i < diaIDs.length; i++) {
    const diaID = diaIDs[i];
    const newDiaID = {
      oclID: diaID,
      hydrogenOCLIDs: [],
      nbHydrogens: 0
    };
    if (molecule.getAtomicNo(i) === 1) {
      const atom = molecule.getConnAtom(i, 0);
      newDiaID.heavyAtom = diaIDs[atom];
    }
    for (let j = 0; j < molecule.getAllConnAtoms(i); j++) {
      const atom = molecule.getConnAtom(i, j);
      if (molecule.getAtomicNo(atom) === 1) {
        newDiaID.nbHydrogens++;
        if (!newDiaID.hydrogenOCLIDs.includes(diaIDs[atom])) {
          newDiaID.hydrogenOCLIDs.push(diaIDs[atom]);
        }
      }
    }
    newDiaIDs.push(newDiaID);
  }
  return newDiaIDs;
}

function groupDiastereotopicAtomIDs(diaIDs, molecule, options = {}) {
  const {
    atomLabel
  } = options;
  const diaIDsObject = {};
  for (let i = 0; i < diaIDs.length; i++) {
    if (!atomLabel || molecule.getAtomLabel(i) === atomLabel) {
      const diaID = diaIDs[i];
      if (!diaIDsObject[diaID]) {
        diaIDsObject[diaID] = {
          counter: 0,
          atoms: [],
          oclID: diaID,
          atomLabel: molecule.getAtomLabel(i)
        };
      }
      diaIDsObject[diaID].counter++;
      diaIDsObject[diaID].atoms.push(i);
    }
  }
  return Object.keys(diaIDsObject).map(key => diaIDsObject[key]);
}

/**
 * This function groups the diasterotopic atomIds of the molecule based on equivalence of atoms. The output object contains
 * a set of chemically equivalent atoms(element.atoms) and the groups of magnetically equivalent atoms (element.magneticGroups)
 * @param {import('openchemlib').Molecule} molecule
 * @param {object} [options={}]
 * @param {string} [options.atomLabel] - Select atoms of the given atomLabel. By default it returns all the explicit atoms in the molecule
 * @returns {Array}
 */
function getGroupedDiastereotopicAtomIDs(molecule, options = {}) {
  const diaIDs = getDiastereotopicAtomIDs(molecule);
  return groupDiastereotopicAtomIDs(diaIDs, molecule, options);
}

/**
 * Parse a molfile and returns an object containing the molecule, the map and the diaIDs
 * The map allows to reload properties assigned to the atom molfile
 * Please take care than numbering of atoms starts at 0 !
 * @param {typeof import('openchemlib')} OCL - openchemlib library
 * @param {string} molfile
 * @returns
 */
function getDiastereotopicAtomIDsFromMolfile(OCL, molfile) {
  const {
    map,
    molecule
  } = OCL.Molecule.fromMolfileWithAtomMap(molfile);
  const diaIDsArray = getDiastereotopicAtomIDsAndH(molecule);
  const diaIDs = {};
  for (let i = 0; i < map.length; i++) {
    diaIDs[map[i]] = {
      source: map[i],
      destination: i,
      ...diaIDsArray[i]
    };
  }
  return {
    map: diaIDs,
    molecule,
    diaIDs: diaIDsArray
  };
}

/**
 * Returns a SVG
 * @param {*} molecule
 * @param {*} [options={}]
 */
function toDiastereotopicSVG(molecule, options = {}) {
  const {
    width = 300,
    height = 200,
    prefix = 'ocl',
    heavyAtomHydrogen = false
  } = options;
  let svg = options.svg;
  let diaIDs = [];
  const hydrogenInfo = {};
  for (const line of getDiastereotopicAtomIDsAndH(molecule)) {
    hydrogenInfo[line.oclID] = line;
  }
  if (heavyAtomHydrogen) {
    for (let i = 0; i < molecule.getAtoms(); i++) {
      diaIDs.push([]);
    }
    const groupedDiaIDs = molecule.getGroupedDiastereotopicAtomIDs();
    for (const diaID of groupedDiaIDs) {
      if (hydrogenInfo[diaID.oclID] && hydrogenInfo[diaID.oclID].nbHydrogens > 0) {
        for (const atom of diaID.atoms) {
          for (const id of hydrogenInfo[diaID.oclID].hydrogenOCLIDs) {
            if (!diaIDs[atom * 1].includes(id)) diaIDs[atom].push(id);
          }
        }
      }
    }
  } else {
    diaIDs = molecule.getDiastereotopicAtomIDs().map(a => [a]);
  }
  if (!svg) svg = molecule.toSVG(width, height, prefix);
  svg = svg.replaceAll(/Atom:\d+"/g, value => {
    const atom = value.replaceAll(/\D/g, '');
    return `${value} data-diaid="${diaIDs[atom].join(',')}"`;
  });
  return svg;
}

/**
 * Returns the hose codes for all atoms in the molecule
 * @param {*} molecule
 * @param {object} [options={}]
 * @param {string[]} [options.atomLabels]
 * @param {number} [options.minSphereSize=0]
 * @param {number} [options.maxSphereSize=4]
 * @returns
 */
function getHoseCodes(molecule, options = {}) {
  const {
    atomLabels,
    minSphereSize,
    maxSphereSize
  } = options;
  const {
    Molecule
  } = molecule.getOCL();
  const atomicNumbers = atomLabels?.map(label => Molecule.getAtomicNoFromLabel(label));
  const internalMolecule = getCompactCopyWithoutCustomLabels(molecule);
  internalMolecule.addImplicitHydrogens();
  ensureHeterotopicChiralBonds(internalMolecule);
  const hoses = [];
  for (let i = 0; i < internalMolecule.getAllAtoms(); i++) {
    if (atomicNumbers && !atomicNumbers.includes(internalMolecule.getAtomicNo(i))) {
      hoses.push(undefined);
    } else {
      const tempMolecule = internalMolecule.getCompactCopy();
      tagAtom(tempMolecule, i);
      hoses.push(getHoseCodesForAtomsAsStrings(tempMolecule, {
        minSphereSize,
        maxSphereSize
      }));
    }
  }
  return hoses;
}

/**
 * Returns an object containing a molfile, molfile with hydrogens, hoses codes and optionally the diaIDs
 * and the diaIDs
 * The map allows to reload properties assigned to the atom molfile
 * Please take care than numbering of atoms starts at 0 !
 * @param {import('openchemlib').Molecule} molecule
 * @param {object} [options={}]
 * @param {string[]} [options.atomLabels]
 * @param {boolean} [options.calculateDiastereotopicIDs=true]
 * @param {number} [options.minSphereSize=0]
 * @param {number} [options.maxSphereSize=4]
 * @returns
 */
function getHoseCodesAndInfo(molecule, options = {}) {
  const {
    minSphereSize,
    maxSphereSize,
    calculateDiastereotopicIDs = true
  } = options;
  const {
    Molecule
  } = molecule.getOCL();
  molecule = molecule.getCompactCopy();
  // this will force reordering of the hydrogens to the end, just to have the same order as in the molfile
  molecule.ensureHelperArrays(Molecule.cHelperNeighbours);
  const newMolfile = molecule.toMolfile();
  molecule.addImplicitHydrogens();
  ensureHeterotopicChiralBonds(molecule);
  molecule.ensureHelperArrays(Molecule.cHelperSymmetryStereoHeterotopicity);
  const newMolfileWithH = molecule.toMolfile();
  const symmetryRanks = getSymmetryRanks(molecule);
  const cache = {};
  const hoses = [];
  const diaIDs = [];
  for (let i = 0; i < molecule.getAllAtoms(); i++) {
    const rank = symmetryRanks[i];
    if (rank && cache[rank]) {
      diaIDs.push(cache[rank].diaID);
      hoses.push(cache[rank].hose);
      continue;
    }
    const tempMolecule = getCompactCopyWithoutCustomLabels(molecule);
    tagAtom(tempMolecule, i);
    let diaID;
    if (calculateDiastereotopicIDs) {
      makeRacemic(tempMolecule);
      diaID = tempMolecule.getCanonizedIDCode(Molecule.CANONIZER_ENCODE_ATOM_CUSTOM_LABELS);
      diaIDs.push(diaID);
    }
    const hose = getHoseCodesForAtomsAsStrings(tempMolecule, {
      minSphereSize,
      maxSphereSize
    });
    hoses.push(hose);
    cache[rank] = {
      diaID,
      hose
    };
  }
  const distanceMatrix = getConnectivityMatrix(molecule, {
    pathLength: true
  });
  return {
    molfile: newMolfile,
    molfileWithH: newMolfileWithH,
    hoses,
    diaIDs: calculateDiastereotopicIDs ? diaIDs : undefined,
    moleculeWithHydrogens: molecule,
    distanceMatrix
  };
}

const FULL_HOSE_CODE = 1;
const HOSE_CODE_CUT_C_SP3_SP3 = 2;
/**
 * Returns the hose code for specific atom numbers
 * @param {import('openchemlib').Molecule} originalMolecule - The OCL molecule to be fragmented
 * @param {number[]} rootAtoms
 * @param {object} [options={}]
 * @param {number} [options.minSphereSize=0] - Smallest hose code sphere
 * @param {number} [options.maxSphereSize=4] - Largest hose code sphere
 * @param {number} [options.kind=FULL_HOSE_CODE] - Kind of hose code, default usual sphere
 */
function getHoseCodesForAtoms(originalMolecule, rootAtoms = [], options = {}) {
  const {
    minSphereSize = 0,
    maxSphereSize = 4,
    kind = FULL_HOSE_CODE
  } = options;
  const molecule = getCompactCopyWithoutCustomLabels(originalMolecule);
  // those 2 lines should be done only once
  molecule.addImplicitHydrogens();
  ensureHeterotopicChiralBonds(molecule);
  const allowedCustomLabels = [];
  for (const rootAtom of rootAtoms) {
    allowedCustomLabels.push(tagAtom(molecule, rootAtom));
  }
  return getHoseCodesForAtomsAsStrings(molecule, {
    minSphereSize,
    maxSphereSize,
    allowedCustomLabels,
    kind
  });
}

/**
 * Returns the hose code for a specific atom number
 * @param {import('openchemlib').Molecule} originalMolecule
 * @param {number} rootAtom
 * @param {object} [options={}]
 * @param {boolean} [options.isTagged] - Specify is the atom is already tagged
 * @param {number} [options.minSphereSize=0] - Smallest hose code sphere
 * @param {number} [options.maxSphereSize=4] - Largest hose code sphere
 * @param {number} [options.kind=FULL_HOSE_CODE] - Kind of hose code, default usual sphere
 */
function getHoseCodesForAtom(originalMolecule, rootAtom, options = {}) {
  return getHoseCodesForAtoms(originalMolecule, [rootAtom], options);
}

/**
 * Returns an array of strings (idCodes) specified molecule. Each string corresponds to a
 * hose code. By default it will calculate the hose codes for sphere 0 to 4 and will reuse
 * the existing tagged atoms.
 * This method ensure implicity hydrogens and possible missing chiral bonds.
 * @param {import('openchemlib').Molecule} molecule - The OCL molecule to process.
 * @param {object} options - Options for generating hose codes.
 * @param {string[]} [options.allowedCustomLabels] - Array of the custom labels that are considered as root atoms. By default all atoms having a customLabel
 * @param {number} [options.minSphereSize=0] - Smallest hose code sphere
 * @param {number} [options.maxSphereSize=4] - Largest hose code sphere
 * @param {number} [options.kind=FULL_HOSE_CODE] - Kind of hose code, default usual sphere
 *  @param {number[]} [options.rootAtoms=[]] - Array of atom from which we should start to create the HOSE. By default we will used the taggedAtoms
 * @param {number[]} [options.tagAtoms=[]] - Array of atom indices to tag as root atoms
 * @param {Function} [options.tagAtomFct=tagAtom] - Function to tag an atom as root atom. By default it is defined internal
 * @returns {Array} - An array of hose code fragments.
 */
function getHoseCodesFromDiastereotopicID(molecule, options = {}) {
  molecule.addImplicitHydrogens();
  ensureHeterotopicChiralBonds(molecule);
  return getHoseCodesForAtomsAsStrings(molecule, options);
}

let fragment$1;
/**
 * Returns the hose code for a specific atom number
 * @param {import('openchemlib').Molecule} molecule
 * @param from
 * @param to
 * @param maxLength
 */
function getHoseCodesForPath(molecule, from, to, maxLength) {
  const OCL = molecule.getOCL();
  const originalFrom = from;
  const originalTo = to;
  molecule = getCompactCopyWithoutCustomLabels(molecule);
  const originalAtoms = []; // path before renumbering
  molecule.getPath(originalAtoms, from, to, maxLength + 1);
  let torsion;
  if (originalAtoms.length === 4) {
    torsion = molecule.calculateTorsion(originalAtoms);
  }
  const tag1 = tagAtom(molecule, from);
  const tag2 = tagAtom(molecule, to);
  molecule.addImplicitHydrogens();
  ensureHeterotopicChiralBonds(molecule);
  molecule.ensureHelperArrays(OCL.Molecule.cHelperNeighbours);
  from = -1;
  to = -1;
  for (let i = 0; i < molecule.getAllAtoms(); i++) {
    if (tag1 === tag2) {
      if (molecule.getAtomCustomLabel(i) === tag1) {
        if (from === -1) {
          from = i;
        } else {
          to = i;
        }
      }
    } else {
      if (tag1 === molecule.getAtomCustomLabel(i)) {
        from = i;
      }
      if (tag2 === molecule.getAtomCustomLabel(i)) {
        to = i;
      }
    }
  }
  if (!fragment$1) fragment$1 = new OCL.Molecule(0, 0);
  const atoms = [];
  molecule.getPath(atoms, from, to, maxLength + 1);
  let min = 0;
  let max = 0;
  const atomMask = new Array(molecule.getAllAtoms()).fill(false);
  const atomList = new Array(molecule.getAllAtoms()).fill(-1);
  const hoses = [];
  for (let sphere = 0; sphere <= 2; sphere++) {
    if (max === 0) {
      for (const atom of atoms) {
        atomMask[atom] = true;
        atomList[max++] = atom;
      }
    } else {
      let newMax = max;
      for (let i = min; i < max; i++) {
        const atom = atomList[i];
        for (let j = 0; j < molecule.getAllConnAtoms(atom); j++) {
          const connAtom = molecule.getConnAtom(atom, j);
          if (!atomMask[connAtom]) {
            atomMask[connAtom] = true;
            atomList[newMax++] = connAtom;
          }
        }
      }
      min = max;
      max = newMax;
    }
    const atomMap = [];
    molecule.copyMoleculeByAtoms(fragment$1, atomMask, true, atomMap);
    makeRacemic(fragment$1);
    const oclID = fragment$1.getCanonizedIDCode(OCL.Molecule.CANONIZER_ENCODE_ATOM_CUSTOM_LABELS);
    hoses.push({
      sphere,
      oclID
    });
  }
  return {
    atoms: originalAtoms,
    from: originalFrom,
    to: originalTo,
    torsion,
    hoses,
    length: originalAtoms.length - 1
  };
}

/**
 * Create a polymer from a unit, alpha and omega groups
 * A unit must contain a R1 and a R2
 * An alpha end group must contain a R1
 * An omega end group must contain a R2
 * @param {import('openchemlib').Molecule} unit - an instance of OCL.Molecule
 * @param {object} options
 * @param {number} [options.count=10] - number of units
 * @param {boolean} [options.markMonomer=false] - mark the different units of the polymer in the atom map
 * @param {import('openchemlib').Molecule} [options.alpha] - alpha end group, default is an hydrogen
 * @param {import('openchemlib').Molecule} [options.gamma] - omega end group, default is an hydrogen
 */
function createPolymer(unit, options = {}) {
  const {
    count = 10
  } = options;
  checkEntity(unit, 'unit');
  const {
    Molecule
  } = unit.getOCL();
  const {
    alpha,
    gamma
  } = getAlphaGamma(unit, options);
  checkEntity(alpha, 'alpha');
  checkEntity(gamma, 'gamma');
  const {
    r1AtomicNo,
    r2AtomicNo
  } = getR1R2AtomicNo(Molecule);
  const polymer = alpha.getCompactCopy();
  polymer.addMolecule(getUnit(unit, 1, options));
  addBond(polymer, r1AtomicNo, r1AtomicNo);
  for (let i = 0; i < count - 1; i++) {
    polymer.addMolecule(getUnit(unit, i + 2, options));
    addBond(polymer, r2AtomicNo, r1AtomicNo);
  }
  polymer.addMolecule(gamma);
  addBond(polymer, r2AtomicNo, r2AtomicNo);
  polymer.ensureHelperArrays(Molecule.cHelperNeighbours);
  // encoding directly in atomNapNo didn't work out because it was removed when deleting atoms
  for (let i = 0; i < polymer.getAtoms(); i++) {
    polymer.setAtomMapNo(i, (polymer.getAtomCustomLabel(i) || '').replace(/monomer_/, ''));
    polymer.setAtomCustomLabel(i, '');
  }
  return polymer;
}
function getUnit(unit, index, options) {
  const {
    markMonomer = false
  } = options;
  if (markMonomer) {
    unit = unit.getCompactCopy();
    unit.ensureHelperArrays(unit.getOCL().Molecule.cHelperNeighbours);
    for (let j = 0; j < unit.getAtoms(); j++) {
      unit.setAtomCustomLabel(j, `monomer_${index}`);
    }
  }
  return unit;
}
function addBond(molecule, firstAtomicNo, secondAtomicNo) {
  molecule.ensureHelperArrays(molecule.getOCL().Molecule.cHelperNeighbours);
  let i, j;
  loop: for (i = 0; i < molecule.getAtoms(); i++) {
    if (molecule.getAtomicNo(i) === firstAtomicNo) {
      for (j = i + 1; j < molecule.getAtoms(); j++) {
        if (molecule.getAtomicNo(j) === secondAtomicNo) {
          molecule.addBond(molecule.getConnAtom(i, 0), molecule.getConnAtom(j, 0), 1);
          break loop;
        }
      }
    }
  }
  molecule.deleteAtoms([i, j]);
}
function checkEntity(unit, kind) {
  let nbR1 = 1;
  let nbR2 = 1;
  switch (kind) {
    case 'unit':
      break;
    case 'alpha':
      nbR2 = 0;
      break;
    case 'gamma':
      nbR1 = 0;
      break;
    default:
      throw new Error('Unknown kind');
  }
  if (!unit) {
    throw new Error('unit is required');
  }
  const {
    Molecule
  } = unit.getOCL();
  // unit must contain ONE R1 and ONE R2
  const {
    r1AtomicNo,
    r2AtomicNo
  } = getR1R2AtomicNo(Molecule);
  let r1Count = 0;
  let r2Count = 0;
  for (let i = 0; i < unit.getAtoms(); i++) {
    if (unit.getAtomicNo(i) === r1AtomicNo) {
      r1Count++;
    }
    if (unit.getAtomicNo(i) === r2AtomicNo) {
      r2Count++;
    }
  }
  if (r1Count !== nbR1) {
    throw new Error(`${kind} must contain ${nbR1} R1`);
  }
  if (r2Count !== nbR2) {
    throw new Error(`${kind} must contain ${nbR2} R2`);
  }
}
function getAlphaGamma(unit, options) {
  let {
    alpha,
    gamma
  } = options;
  const {
    Molecule
  } = unit.getOCL();
  const {
    r1AtomicNo,
    r2AtomicNo
  } = getR1R2AtomicNo(Molecule);
  if (!alpha) {
    alpha = Molecule.fromSmiles('CC');
    alpha.setAtomicNo(0, r1AtomicNo);
    alpha.setAtomicNo(1, 1);
  }
  if (!gamma) {
    gamma = Molecule.fromSmiles('CC');
    gamma.setAtomicNo(0, r2AtomicNo);
    gamma.setAtomicNo(1, 1);
  }
  return {
    alpha,
    gamma
  };
}
function getR1R2AtomicNo(Molecule) {
  const r1AtomicNo = Molecule.getAtomicNoFromLabel('R1', Molecule.cPseudoAtomsRGroups);
  const r2AtomicNo = Molecule.getAtomicNoFromLabel('R2', Molecule.cPseudoAtomsRGroups);
  return {
    r1AtomicNo,
    r2AtomicNo
  };
}

var Cl=class{copyMolecule(Z){let Bt=Z.getIDCodeAndCoordinates();navigator.clipboard.writeText(`${Bt.idCode} ${Bt.coordinates}`);}pasteMolecule(){return null;}};var DS="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",JU=new Uint8Array(256);for(let w=0;w<DS.length;w++)JU[DS.charCodeAt(w)]=w;function uS(w){let Z=w.length*.75,Bt=w.length,ot,Ft=0,H1,bt,y1,i1;w.at(-1)==="="&&(Z--,w.at(-2)==="="&&Z--);let L1=new ArrayBuffer(Z),u1=new Uint8Array(L1);for(ot=0;ot<Bt;ot+=4)H1=JU[w.charCodeAt(ot)],bt=JU[w.charCodeAt(ot+1)],y1=JU[w.charCodeAt(ot+2)],i1=JU[w.charCodeAt(ot+3)],u1[Ft++]=H1<<2|bt>>4,u1[Ft++]=(bt&15)<<4|y1>>2,u1[Ft++]=(y1&3)<<6|i1&63;return L1;}function Ml(w){return w.toString(16).padStart(2,"0");}var hr=globalThis.devicePixelRatio||1;var z2=class{constructor(Z){this.ctx=Z,this.ctx.textAlign="left",this.ctx.textBaseline="top",this.currentFontSize=12,this.currentFont="12px sans-serif",this.ctx.font=this.currentFont,this.currentColor="#000000",this.currentLineWidth=1,this.canvasCache=new Map();}clearRect(Z,Bt,ot,Ft){this.ctx.clearRect(Z,Bt,ot,Ft);}getBackgroundRGB(){return 16777215;}getForegroundRGB(){return 0;}getSelectionBackgroundRGB(){return 12310268;}getLineWidth(){return this.currentLineWidth;}setRGB(Z){let Bt=Z>>>16&255,ot=Z>>>8&255,Ft=Z>>>0&255;this.currentColor=`#${Ml(Bt)}${Ml(ot)}${Ml(Ft)}`,this.ctx.fillStyle=this.currentColor,this.ctx.strokeStyle=this.currentColor;}setFont(Z,Bt,ot){this.currentFontSize=Z,this.currentFont=`${Bt?"bold":""} ${ot?"italic":""} ${Z}px sans-serif`,this.ctx.font=this.currentFont;}getFontSize(){return this.currentFontSize;}getBounds(Z){let Bt=this.ctx.measureText(Z);return {x:Bt.actualBoundingBoxLeft,y:Bt.actualBoundingBoxAscent,width:Bt.actualBoundingBoxRight,height:Bt.actualBoundingBoxAscent};}drawString(Z,Bt,ot){this.ctx.fillText(ot,Z,Bt);}drawCenteredString(Z,Bt,ot){this.ctx.textAlign="center",this.ctx.textBaseline="middle",this.ctx.fillText(ot,Z,Bt),this.ctx.textAlign="left",this.ctx.textBaseline="top";}setLineWidth(Z){this.currentLineWidth=Z,this.ctx.lineWidth=Z;}fillRectangle(Z,Bt,ot,Ft){this.ctx.fillRect(Z,Bt,ot,Ft);}fillCircle(Z,Bt,ot){let Ft=ot/2;this.ctx.beginPath(),this.ctx.arc(Z+Ft,Bt+Ft,Ft,0,2*Math.PI),this.ctx.fill();}drawLine(Z,Bt,ot,Ft){this.ctx.beginPath(),this.ctx.moveTo(Z,Bt),this.ctx.lineTo(ot,Ft),this.ctx.stroke();}drawPolygon(Z){this.ctx.beginPath(),this.ctx.moveTo(Z.getX(0),Z.getY(0));for(let Bt=1;Bt<Z.getSize();Bt++)this.ctx.lineTo(Z.getX(Bt),Z.getY(Bt));this.ctx.stroke();}drawRectangle(Z,Bt,ot,Ft){this.ctx.strokeRect(Z,Bt,ot,Ft);}fillPolygon(Z){this.ctx.beginPath(),this.ctx.moveTo(Z.getX(0),Z.getY(0));for(let Bt=1;Bt<Z.getSize();Bt++)this.ctx.lineTo(Z.getX(Bt),Z.getY(Bt));this.ctx.fill();}drawImage(Z,Bt,ot,Ft,H1,bt,y1,i1,L1){if(arguments.length!==9)throw new Error(`drawImage call with ${arguments.length} arguments unimplemented`);let u1=this.canvasCache.get(Z);if(!u1){u1=document.createElement("canvas");let n0=Z.imageData;u1.width=n0.width,u1.height=n0.height;let N0=u1.getContext("2d");N0.globalAlpha=0,N0.putImageData(n0,0,0),this.canvasCache.set(Z,u1);}this.ctx.drawImage(u1,Bt,ot,Ft,H1,bt,y1,i1,L1);}isDarkBackground(){return  false;}};var Hl=class{constructor(Z,Bt){this.canvasElement=Z,this.changeListener=Bt,this.drawContext=new z2(this.canvasElement.getContext("2d"));}getBackgroundRGB(){return 16777215;}getCanvasWidth(){return this.canvasElement.width;}getCanvasHeight(){return this.canvasElement.height;}getDrawContext(){return this.drawContext;}onChange(Z,Bt){this.changeListener?.({what:Z,isUserEvent:Bt});}getClipboardHandler(){return new Cl();}};var BPt=`
/* We can customize editor styles here. */
`,Gc;function QS(){if(Gc)return Gc;let w=new CSSStyleSheet();return w.replaceSync(BPt),Gc=w,w;}function Jc(w,Z,Bt){let ot=-1;function Ft(bt,y1,i1=0){y1.button>0||Z.fireMouseEvent(bt,y1.button+1,i1,Math.round(y1.offsetX*hr),Math.round(y1.offsetY*hr),y1.shiftKey,y1.ctrlKey,y1.altKey,y1.button===2);}w.addEventListener("pointerdown",bt=>{ot===-1&&(ot=bt.pointerId,Ft(Bt.MOUSE_EVENT_PRESSED,bt));});function H1(bt){ot===bt.pointerId&&(ot=-1,Ft(Bt.MOUSE_EVENT_RELEASED,bt));}return document.addEventListener("pointerup",H1),w.addEventListener("click",bt=>{Ft(Bt.MOUSE_EVENT_CLICKED,bt,bt.detail);}),w.addEventListener("pointerenter",bt=>{Ft(Bt.MOUSE_EVENT_ENTERED,bt);}),w.addEventListener("pointerleave",bt=>{Ft(Bt.MOUSE_EVENT_EXITED,bt);}),w.addEventListener("pointermove",bt=>{ot!==-1?ot===bt.pointerId&&Ft(Bt.MOUSE_EVENT_DRAGGED,bt):Ft(Bt.MOUSE_EVENT_MOVED,bt);}),()=>{document.removeEventListener("pointerup",H1);};}function US(w,Z,Bt,ot,Ft){let H1=typeof navigator<"u"&&navigator.platform==="MacIntel",bt=i1=>H1&&i1.metaKey||!H1&&i1.ctrlKey;function y1(i1,L1){let u1=vPt(L1,ot);u1!==null&&Bt.fireKeyEvent(i1,u1,L1.altKey,L1.ctrlKey,L1.shiftKey,bt(L1));}Z.addEventListener("keydown",i1=>{bt(i1)&&i1.key==="c"||bt(i1)&&i1.key==="v"||y1(ot.KEY_EVENT_PRESSED,i1);}),Z.addEventListener("keyup",i1=>{y1(ot.KEY_EVENT_RELEASED,i1);}),w.addEventListener("paste",i1=>{let L1=i1.clipboardData.getData("text"),u1=Ft.fromText(L1);u1&&u1.getAllAtoms()>0&&Bt.addPastedOrDropped(u1);});}function vPt(w,Z){switch(w.key){case "Control":return Z.KEY_CTRL;case "Alt":return Z.KEY_ALT;case "Shift":return Z.KEY_SHIFT;case "Delete":case "Backspace":return Z.KEY_DELETE;case "F1":return Z.KEY_HELP;case "Escape":return Z.KEY_ESCAPE;case "Enter":return Z.KEY_ENTER;default:return w.key.length===1?w.key.codePointAt(0):null;}}var Vl=class{constructor(Z){this.canvasElement=Z,this.drawContext=new z2(this.canvasElement.getContext("2d"));}setDimensions(Z,Bt){this.canvasElement.width=Z,this.canvasElement.style.width=`${Z/hr}px`,this.canvasElement.height=Bt,this.canvasElement.style.height=`${Bt/hr}px`;}getDrawContext(){return this.drawContext;}getBackgroundRGB(){return 16777215;}getForegroundRGB(){return 0;}};var oS={"chain.png":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAQAAABKfvVzAAAB2UlEQVR4XmNgGJmAkYGJgQULZGXAhCygIGICQg4GdjTIARRDh5xAEQwNKYzXeK4xY1Oez3SNfz8TmoYUxq+6m9bfqLjDI4tmfhzLff9VR17FoWhwZXpkOm2v1C+79+cbD4gga8lneuhrfdv6/+ItSBpSGB+bTDos9IfzP9N/k3cX6+7wwByWz/TWR/E1w/+kO+8j4BpSGL9rz9wh+Efs14TF3heY/tu/vlF2hxtkSxzLY2/FVyz/om69jT0G8kM6QyNDM9MT41nbZX9y/J/ct1/4iU7aIYb/9q8uVx0UbmF64mV7i/1/0s0HSVM5dRgYrjB84/8U+bh80iH+34z/17Xc51ZhUGX8qpkK1GL6+krltyClVyz/c+69C57CwQsK1v+Sl9rdvgr8Z/7P9WvKxNs8fsD44ABqeWLkdYHhv9sL8e+s/xJuv4k4yajEAI6H/+6llxn+g6DUh75gSXhgugEdmXIUJB5150HSFA59oHKIBteGSyBhpv+q9wsVQaZDICdDKuNnneRjCY9exU3l5AUrh2gQelAQ/8Tgve2Tb25NjIgYBkmnMl5Sumi+hQmiGKqhgaGB57Pts4Bfek0sjkjmIxQhs8BpiZFBh0EPCLGlTnQxcGod8gAAp9es6fCW8G8AAAAASUVORK5CYII=)","eraser.png":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAQAAABKfvVzAAAC1UlEQVR4XnWU309SYRjHn8OYTTM3zTmjC8NFFBR10dJu27wx11VX/QNdeGebTsvua93mRbUmLhURzYgKRZRJUJLibLPpRDCZC3/b1AMc4Tw97+EAR2e8FzD4fr7v53nPOQDCDkT/s2KAKiwROOXvFP8JLnDDGHhgArzgg28wCQGYgiDMw6E+1pY2rsECLEIIIrAC1O2CV/AWzPAOLGCFQbDDJ/hC+CQktU5bXWJoMGlaVv0iPAy/GeCmeBf0QB/YYECKO6kkzAl6Z/+t+BmsSJotgmmN4lFYZcA4tfdQez+1D8Fnio+S1oHe5TAcFuJHVBNit4nGLYrHGOCBbin+ntodMEzxKMkMWy8LpfgSEUN4niC7TTBtqzYYMCG3Z9xHadgD/bC1hi+U4uw1TkhFsqs3adpngJdGHSAZB8VHYAZ4vdt+RSjED3KcvYWYWMJuFY0E+MjdQe5MZgYE7YhFL8soCJzDU1iKwdcE+HOjBoG/NNJbq5DJI40EPNiIPCLgO/Wzk4lS3D2kPyaTQe5hETZsLDfxRRQLkLuLDjJd7u8wJs/mRs22J7CR4re3Qq3xIpENPUUHG+biuqX2UVsVX41epTp9ZjINm0ttqTIEZECQboK0ztd/Ya951t+nRi2GFYgksxluSlO7BMTYLVblMVcmOOTEZ9N+i4YvkREmAySz2JaNE4CqtM5jvrZHcbbE5lmLU8NrJTEmc3drsT1VlmmXdsCbgTdSu7wKUi2zPqsaq7GWZCjeJBZnwxlAN9dRyecBtsvzH/4+DV+MNdsLT4/GJSU0jHde3T2KtMxYnA8X5tvT5cp2eehDLnVxrPPoLgWpx4Hd+8Lp/Zx7boYoe/g40eDtViIF6Se+xPX8qPl96DqECImrRMOY2fg3e1atwd16UX1cR75wEXr4VmGdxL52atbpX2HnxfTenfiJcelKr9CjvQp/IMWJ57AO62ndOKk7890/iSWBU4XaZc0AAAAASUVORK5CYII=)","fist.png":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAQAAABKfvVzAAABj0lEQVR4Xu2S3yuDYRTHz7IZsfdCUrYLG4VCpJV6d0mS/A1zg79ArRArP4q5s4ulVousFCn/gX/g5WK7wkZMzIXMxjZ793XeMdn7vpM/wDn1PD1P53PO95znIfq3rwmYyU5tZPr7PJYoTjGaZ8xB1t+xZQqyP60iAEeWsThFGKpqbiE9CRECrnCHLnTAj17QbLV4E3mFXALbcOAGSXRiClnMgZLkZR/QYg0UEpDBDuxI4IHzT6OADdRiEK2gE12gBWmWE8Yj7weQIGOT650zaoiqAVtjDx2KeEWR8xZ4lUt+jEWkWJxJBYgkWa7NLy5WXWl5FilzhfoKwEAzzkwYI3DhTQUoVYpYR10FYCTPaDbJ2heQUwGfR0kFELmt6Utu9Jmz6dmFpmmR7v141w1XBiCBNFNacyKmCxT59kgHGBIQ4g7UkpRzESuwaCoQ+YZxqwGUGaUwrvvStqazLeRLj/bTZUTQB5rQfg1jjac9e8qAzFgZKbDMALpj1Kz3Z0WKjiGIfex++x6H98PgK4d/APiDpdwStyBoAAAAAElFTkSuQmCC)","hand.png":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAQAAABKfvVzAAAB50lEQVR4Xq2TwUsUcRzF3yy52TboHiKVLBCElb1479g5kgKPCkKs4ME6eAiiP0GELileStew6NLJq5Sihw6BG2VlECymB2PVXd10Zl7vN+OuOjNLl35fZhiY+fzee9/vb4D/tAow9fafu90BsqrvnXzNBwSTTBAZ2I3BkSbeYBMzLHNRn9/nEFHCvYZAutDHDfb5wDvanOVnoozBhkBzIUeHOQEHfO8DW0QV0xjC3VjoUh2onAC/ZPAme4giemMQo+BKoaeusCmdSa41MmYL8HxLgUKe27q/UKLzSSxcwUOMwk7VgTKX6sBz7oeA61hJHSUP8ST1raZQA7Z8hb0QkO1WE+d5lZdlx+UbTsjSR95i0bc0E7GUzfIHdziouRqFPzwU5ii4IzOP+SFiqe3i8jyP1A1bgKPyVGa5/M2S7iaDdWZ8KUwNe1Uus923FHx8ujwZPA9YGO48+CK/Ywp4un8N8SIZgG78fCTvFV1n9w+ePe6GFMzMJ7u4zuOInQDYYaKcDB3Ba63FGQWPLk8mt2MAWKv96kk0sKM2TBFfkQ4fvkx6fyHSH9NalwO0PkXPaktirt8rhRpqelblbV6IASzkmivP9NrEdE9AM/FXbCPG4v+6p+3VcZ2ql5zTZSqv+XcQ6+gKgL8a/RiIJPdySgAAAABJRU5ErkJggg==)","handPlus.png":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAQAAABKfvVzAAACAUlEQVR4Xq2Tz0sUcRjGn1lytW2wPUQamSAIK3vp7kk6i1LgMUGIFTqUBw9BiPsPhNAlpUtuKhpdOnVUKqlDh6CNsh+CsJQdjC13ddOZeXq+M7uTzu7SpXmZLwvzfr7P8/5Y4D89eZh48s/bhoC04nMXH/EmwThjRAp2c/B6C7vZwhRLXFP6NY4RRVxpCiTzw/zCYR94RpsP+Z4oYbQp0JbP0GFGwB6f+8A2UcF9jOFyQ+hkCJSrwDcZ7GcfUcDFBohRcKXQFyp8lc4s3zYzZgvwfEuBwgK/65xXRccrsXAGE7gBOxECJb4IgQfcjQAX8DJxEN/HVOJTTaEGbPsKvyJAuldNXOZZnpIdl485I0tveIkF31KuzlI6zU3ucFRzNQq/uS/MUeGOzNzm6zpLHa3ryzxQN2wBjsIT4JE6f7Co09RgHRlfAnPjXoXr7PQtmdSsNqn2eDJ4HLAw3rX3QX4nVaC534sA0bYCvdi6Je9lveb+mkLw2+PPiIKZ+WwPN3ioj9MyczQMsMNYKR5ZwfOnCzkVTq7KTpYDgrKCp5XuyGw9AOvViHoSmPhryaS7nCM+IhldvlRy92nYmaBLQWtdXqX1rn5X22OLI16xihhjBjA9q3CQJxoAFjJt5Xv6bBLdKmgmvsIOYrLxv+5uZ+WOtmqJi3pNLGj+54gN9ATAH0reBFwT+FQbAAAAAElFTkSuQmCC)","invisible.png":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAQAAABKfvVzAAACjUlEQVR4XnWTS09TURSF178wMUExvhIfiY+0Q6MThwwEHYk6MODAqHHgzD9gHDgWYhQBAUWMqY/SogSkCGJJNAiFUiyV2qqURkFa7cPvnJZiBXMH7Tl3rbXX2ntf5bWgyH+emPI8v8reAn8nj3r0Qr3qU78GNKghDWtEfk3ot2LKKq6AphTUjGYF26ObuqU7alabOvRQj/VEz6APKS23jvI/rY/6AD2ksCH0AG9Sq9r1QJ0W/hyREFbcOqQNcqiL/3FuIpozhJeot6J+H/VHegrci60lSA7t0VVtlRNqTvPAY4bQqxYL70LdxSsvd2l164B2qVHLVN4L0U2VhL4aQl9RveDdS9gl4IcBNWpRUShNUJxUT3OG0E/UTo4u4N0a1U9SHdRu3QOQIOw8N+0Yc/A2ZwgDeHfh3ZgZpbBH+zDTAPy7Jok6qU/K0Jht2k91CL5SVD9aHh1BvYHiCxYe1nV9w9h5bVcdk4DwGn3TmYg1Y9Rb8P2FQYVQbOM+qjPaDDwMguMw3j00Mst0narUDaUgBICPI5VgAhe5rUVguZBhhMaGOEzrrU6pQpfpdoqeB8k2hvoF7UB9mhxmsyD4WYIs0c/ifEKnoVxSEsptQke5rdQ5vGdRt4SYXTEf2lWq1l1s1GojlDiAgpmTLN4KHEKegw+NKvsco8oglApd0XtoOzEzhZmCuq2QJ7RRX3lqmO84xjaxGltUj/dVcJEwhuIqwVRptsZMZwL/wG2FPIHryijVVBnUNdJlS1ZKlmJEzkApr1JDj5KsyeJaQsR+fDlW8G/KCWyl1tgpziEIxczwVcnYcT6p5LpwO7gZ5jzH7mT0hmbW0+IO/UBixXX5L4RZlmpOn8u6vT7Y3P4BKLGmkBK1qvgAAAAASUVORK5CYII=)","lasso.png":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAQAAABKfvVzAAADg0lEQVR4Xk2UXWxTZRjHn7XYfWhh4DKlIFLRdlucImbGr2gEwYwsAjGRXXihRlTOFrOoF0RcdWwhEVnQdgOmbgzoliEhAZJlvZwdMQg6No/U2IYOWVrK1q1d19q1Pef8fU7bsy3/nIvznv/ved/n47xEZKDivNpK8RoE6XC4J9gX7A/2hXukwxCwta1UcxhUu4PcLFHnqZnaf+/E0FhTqDpiiaqqjjSFhsbvnZja76kRdarLQRzbTSjAuozgczaHVoJYhShX1krlSmH2bSWaQz5nRsA6MJQDrHMtx0Y3y4QS7Eo0eTpG3K5rP7tdHSNNnl2JNQxtlo+NzrXAmgXEDcnWA/5ihbAtOeyKtKf3wmIvs6+2l8GS3hv51u3aliQUKwf8yVZxA2GNIvSIBCNaJmPt/jrR6KZfyL6omQdQF2tvmTTyPt2iIhDq/f1mth/1LtjCVTa9QAIN8dEl8tK8mgJBj6oF21GvEWb4+wlft08Sds+FHbPmDl2A/mOl2Ran7SQylkV0MIcdu+cI7J3utUb0aL2q1DZSlDiRvObpKdpCZymVf1dqW6/qYY1QsM8SXYULw3jcq8XLWlSghOrJpYUwXxpeDUuUZn6smNWheUx6l7uxGD8HrKXz9A2doQidJnnPoWt6VEQItm4/4aX0LSd2wLCEqMB6+otmqYt8K1LVd3+oTRA6/yXUTXe+mCHsjE048QbWw8R6EHoNAMlGbA+d/PSOAZXKZC9tKbr19m+DFZztc/E/B2/3jp//x5logyC/8oyBd9DBIjeODj4/X8hTcO4PZZ/a6RKpYfBKWb6CuTQ+i41elD5A5cLHga7jPjOvWDIDv6e/EE25WXo49N0mPmF21OR3wm/FTahMf3/dNtLoe4GPa1LeC9y4xGUxacNnvHnykfTG+IWxJzOlyhnPzHH7bUJRvgINiSuu+CE8i2Jw8NwORq/jidRDktMz4COU46twnVyEx+brwxfFQDc+weu4P0drQFHq/Z+uP73UZq7vh8FAV6oeL2OTZl4OFMCUaZw4NXDjyNTBWENylaLDwXFpH+5Tm5mku4sN1XZQFwrkR+OvyjvxpvT5kTuEHcmpDh5i/qIQ/1l5LQd4RifUOS1A1XTnRq76r5dhzRlTPBxx7vlSDstmiA0r8NGXUcLZm6jJARkGZvnJAtqtod4JmhJbT/9tiZ4bS9QsX83dGv8DIrFVpnd+f4UAAAAASUVORK5CYII=)","lassoPlus.png":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAQAAABKfvVzAAADiklEQVR4XlVUbWxTVRh+12K3oYWBy9SCSAHbbXGRaGb8SoygmJFFICayH/5AIyrdYhb1BxFXHWswQRa03WVM3RzYjaEhYcZl/Tk6QhB0bN62xjV0yNJStm7tutbetvfex3N7e3XmyUnuOXme9+O8zz1EZKDyIhwVeBE28VisLzIQGYwMxPrEY7Bhh6NCYxgUuou8DLwuUD936G736GRrtC5uSSioi7dGR6fuds8dCtTzOoXlIhbbSyjBhrwt6G6LrgExlKJKfkiskksLuzVoiwbdeRs2gIlUgXWp/eTEdomwGnvSrYGuca/n2g9eT9d4a2BPej0TbZdOTiy1w1oQ8JsyHYdD5TJhZ2bME+/M7YfFWelc56yEJbc//oXXszNDKJcPhzId/CbCetnWxxOMaJ9NdoYaeaOXLpHg8HOCw0lOWrgPjcnO9lkjy9PLyzZCU2jQzOgnpgV7rNaut5GNRsnPEXzcstICQY9awX5i2ggzQoOEzzpnCXuXYq5Fc5cuTH8z5IoCnkRVooM55tq7RGDc+X5rXI+Oq3JDCyVILhTj54bPEYbPKV+CoyAhuaHjqh7WOEUGLIm1uDCGbdOFeEoxK+Hjilvz8Ng6WBK08E31og5tk+IBNg3GFBw+zlfMoHwJjrMUpzMk7Tt6TY/qOMHeGyI8l7vpxi4YtOBq0xvJR4vUQ8FV2bo7XzekCdxfhMZ57tk8YXdyxo1XsBEmhvv93ZoAJBnxcvT0B7cNqJFn++mJspuv/zJSzcb2VOr3kVv9Uz/+6U47BI/vZ+FzlkEHi9QyMfL0cilzwfnf5IPKpFeLzSOXK4s3qDb8YXLiovg2aoT3wj2ngmZ2YskP/Zr7mDepXnow+uVWVmHBatIbsddSJtTkvrpuH28JPsPKNclvhm8Ms2sxaeYz+k8/nNucujD5WL5CPhtYOOW8RSgr3kBz+rIndRRPohwsuJrBOO16NPuA6A4MBQlV+DTWKJVhy3JT7CIf7sX7eAn3qmpNUJZ969vrj7PGNRjwTiTck23C89iqkVcKSmDKt8x8N3Tj+NyRZHNmrazDkSnxIO5RhpmhO/9G0jIoByXSI6kXpN14Vfzo+G3CrsxcFzOx4iJif1YRKwXMozNssZi189xmdutXfoJVJWaZOVJs5v/18H+/rcK7nyQI3/tRrwryTLDIVkGgvRrKm6AhvePMH5bE+cl0/cpT9dX4B08ibwJFFp9KAAAAAElFTkSuQmCC)","pointingHand.png":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAADe0lEQVR4Xq2V+yvrYRzHnWwuaaUst9mY21iyHcVySghxJJLLDy7L2Y9S4geHThx+5ISc0vCDf0AS6fj1rPxkRJ2dJjvtjNolt1y+NMY+5/N5yonZbIunvm179nyf1/N+fy5PSMgLo6OjwxAWFgaxsbHQ2NhonJiYELy0Pqj/CgoKPqSmpjoGBgZgfHwciouLna2tre+D2uSlxXK5XJ2UlMTt7e2B2WyGjIwMiImJ+fhmADy9OjMzk7PZbHB0dAT4HXp6en6+GSA5OVktk8k4u90Ox8fHTEF3d/fvNwNIpVKm4AFACgYHB//Mzc0pUZ3o1SBPgEKhgKysLFd5ebkdlekTExMLUKUU56VVVVVhQQM9AdnZ2dDe3g5bW1tQU1MDKSkpNrTtr0qlsvT3939/NSA9PR2mp6fh7u4OhoaGWG2gXdDZ2Qnx8fFWBH3CR4P1IvMFe4feqoqKir7k5OQoSQEF2Wq1siwiwMzMDLjdbhgeHoa8vDw4OztjiiIiIqCyshLq6uoA39mRSCSKZ5DQ0FAxnuQXeutG+Yb8/Hwt1gIDHB4eMsDs7Czc399TsAFPCxzHwe7uLojFYlhdXQWDwQBKpZLDfdTeVMhra2vBaDRCV1cX2zAtLQ0IcHp6yuYWFxeZRfPz89DX18cAVIgYbNje3oaTkxPAJODwsN4BLS0tTPbGxgagTBCJRECFdnt7C+fn53B9fc0UXF1dweXlJbhcLnA4HAxmsVhYvVRUVHA8Hu85IDIyUl5SUgImk4mduKmp6T+ANiXvHz+Ag+ZJEYHpkxTgHt4VCIVCCTY009TUFNzc3MDk5CTlPRwcHLCN/A2CE6C0tNQ7IDw8nI8Z8LWhoeGWFGxubkJvby+THSyAz+d7jUEIpp46ISGB0+l0zHeKh9PpDAhACimd0QUuKirKO4BSC3uOTqPRwMXFBQvig/+BWER9C+8RLjo62jcAPayhvqPX6xmAgkf++hu0huKF2cdhivsGjIyMCAsLC81jY2PMHgIEMgiwvr4OcXFxHNaCbwDZ1NbW9q2srAz29/fZ6QOB0LrR0VHAdPd/ZwgEAhF6uaPVap/EwbMOHpTRPGUbKgfsBv5vPawJXn19/WfsR04qPMoozzg8hlEirK2tMUBzc3Pg93Zubq6uurqa9aCVlZUnz/LyMvu9tLQECwsLgPVD1f/Ds8n9AyubuM4FiwqZAAAAAElFTkSuQmCC)","rect.png":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAQAAABKfvVzAAACc0lEQVR4Xo2UT0hUURTGf7uipMy8GbUwigx0WbiwpCgQKmgl1CYj3Plahtg/eguFUIoamNxUCEFCGlIgEhSORmQRNeVMSkhpWcSU1KSOQ9i8vvfmpiMZOB8Xzjv3fPPd8+dertPHQICX/OAVnTRTz1GOaNXL7pQvSdTG9KHwCVJMyzlMFw1UsJFC8lmtVSi7Qr4u7SUVk1KsmCkyZtJETchUmTKh3NSYk6ZBq0a276nSXtRMGc+kfMIkiRY3shQkWiZ9wjjxMN5SEAuPQ5qegBALe07a+eiMCj9lxZ0ZJ+N483A9oQf6qbWED6rITW4IcQGaGJuT/Y0f7rm1cJliS+jnLjNkAviEDXTwVbZ/2gwjobLESKgY6iiwhI5gyw/N/T2zKtljF0CN6p39SAZbCVyhTpwVLKOUM8wGmn4lEy35yGH+Jp1TKF9nrRp3mzbOMcp9m0MhtLPrvwRDr/6/mwda6cZ4ON24Hd5z1RISfGNIAdmDnWabtHtlzxLjtY1pgucM2o8rPOUhj+UZY0qDWGEJad5y0ca8mO90LLyKA+yjkirN6QWeaO0kwjvucZw8m0MwGinLzmelUi1nP3vYQrUCH3GNY5Qp+UpbpelcQjNnWcchVWRQhc2jiPWsYTl7aZRetvTBtP5VaJW7la0c5g4npFbCbk5xSzlNKPGRUKk6vYCwScIH2ax2lagH1VJ6wxdbNVUumKUFhGFNaMxiyEk4v3Jn1VmE4LluBK804W/5zdDA/+OxCtk58dzeNjcS7vYJ/v1bzGMJnm7rPDLmkzlvdph2E5/zRs13M2BS/p3OvhoLkVSBi7jE5zn/VPCy+K/GH86K+gV5WsL6AAAAAElFTkSuQmCC)","rectPlus.png":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAQAAABKfvVzAAACi0lEQVR4Xo2UT0hUQRzHP6c2KmrTnYoKjCAP+45FB0uKAqECT0FdMsKbr2OIUdE76EUpamHzUmoEGWmIgUnQn9UOWURp7ksJKSuLeCW1qesStq/fvB11lzr4vgzM/Ob3md+b3/xmuEYfA4Fe8ZMhOmmklmMclVYr/U6xpRg0Pn2I+yRpZsQ4Shd1lLGJCGHWSItIv0xsXTKXEp+0+AqZJqum1KCKqQpliXaqKnVK1Umrkr62VMjcoJpWvkprYAqvyUksRV7TlAYmcOP4S1EyPgEZegMgGfftjP3JHhf9kp5rz9pZ21+U44t6oZ9qA3yUjNygReSKoIEPC2H/oN19pxouUWKAfrqZJRtIAxvp4Jv09d9mGYtZ3lisBGooMkBHMKVd5QsRlSbfcxMl99tFUCX5zg1SwZSHI6qJ4q+wNHWGuSCmzqTXFEYMan7TeYlyBSi2ItymjXOMc9/sIQLt7C4AMiE36ka7K/HDlUXR1uh0qIcH9JCpd+OZ+u3wnisG8PjOCEOydr6S1hxJXhufBnjBsBlc5hkPeRS6bt2zbuUiWK1WJpThLReMz8vFk07GV3OQ/ZRTIXWqN11t7SLBO+5yglVmD0FppA0dZqWkcScH2MtmAVqsJ1zlOJZUbbnJ0kw+0MhZ1lEpGRnGCS2zVGgDa1nOPup5ahYNqnU+QrOYm9nGEe5wUqKVsofT3JRdTspZjMWictIFwBYJfIitcsClFHNYIr3hq7iapAW1VACMSoUmjUZsz/6dX6t2rvgKAN9xEvhRT0/oZaXg/7EYIFcnvvO4zUnEezSg79//LAbw5bYuKqs+q/Nqh2pX7oJ1UP1QAyqt73Tu1ShUShK8not8WbBPBy+LfjX+AjC0Avv8MQHTAAAAAElFTkSuQmCC)","zoom.png":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAQAAABKfvVzAAACiUlEQVR4XpVTTUgUYRh+nJWCxUsNevBiYGm7UjAnFyoI9ORKSxt4a71Ei9I10EPg0VO7hOE1ikQSofXiYv6QRX9bkTAjbbM/B2mz8id3Z2f/ZvbtndR0NYn9XuYbPuZ55n3f730efMQCZjCLOX4/xyJe4BXe4C3e4QNi0JDCBu8JRPkURxIMm8BjjOMJJvEUU8jadUn36D79Zs5X8JhSyb6AX/iBzxxfLMIMwx/gIcYwXRMTNa86Mhrp23QXOwx3sW9zNKKOaF5NzAlrnCWBFXAx43jE8PeC0b4U9KstJmh/tJh+dSlotJeEDYZ/Bea5GAtudoZDkm5jcCP1poejd+XhaG+6kc82kvRwiDpLwha+A1RX8K4OaDfCU038UTQGk/GA2qO4lDbFpfbEA4NJ0QA1UThktOeFDBPOLd+/qF9PtOZBDi30LNU91FBfgz+rvmaoIdUVmnZo4CxLQU3cYsLJ7G1HebvqC7nIhHJ6G7y7mmsNKTQtGjbyq5p3Dnzv2au31i24QK35cEhpriQAzbUp92AS1GKqI7odL5F1jM9bzV7KzoyVLvfbDhKAoYZ4wGp/NFKU8Br6scS9VrM7Fw8a56/8A271ovb0pkF9m2UPy2AWGd/k4sYdpal/7+fH4cTxvaPsGo6C3EXysWYWQafIR2cqSnFyV237CM6ADOowyM8Si+xkkCsztB2RIYZCFT2QB1mYVdwSSSza/N85nD1qDl27cyA76EQ1k6bqtESiRagrXFsdyBxQq+ySnfIhtbJ6gHX2bBprQvmAHwKH/GDBmRCDyibP4Od/HLcNZ0KcCSnkmLQsKEd4mmvfgTMhybGCb0zI4RPb1bSbUtnDUvHz4yGJ7BUWx2+5Iu7Rc33AhQAAAABJRU5ErkJggg==)"};var zc=Object.create(null),LS=3/4,El=class{constructor(Z){this.HOTSPOT_32=Z.HOTSPOT_32,this.IMAGE_NAME_32=Z.IMAGE_NAME_32,this.cPointerCursor=Z.cPointerCursor,this.cTextCursor=Z.cTextCursor;}getCursor(Z){if(zc[Z])return zc[Z];if(this.IMAGE_NAME_32[Z])return this.buildCursor(Z);switch(Z){case this.cPointerCursor:return "default";case this.cTextCursor:return "text";default:throw new Error(`Unknown cursor: ${Z}`);}}buildCursor(Z){let Bt=this.IMAGE_NAME_32[Z],Ft=`${oS[Bt]} ${this.HOTSPOT_32[Z*2]*LS} ${this.HOTSPOT_32[Z*2+1]*LS}, default`;return zc[Z]=Ft,Ft;}};var Sl=class{constructor(Z,Bt){this.title=Z,this.rootElement=Bt,this.elements=[],this.dialogElement=null;}setLayout(Z,Bt){this.hLayout=sS(Z),this.vLayout=`${sS(Bt)} auto`;}add(Z,Bt,ot,Ft,H1){this.elements.push({component:Z,x:Bt,y:ot,x2:Ft,y2:H1});}createTextField(Z,Bt){return new Kc(Z,Bt);}createLabel(Z){return new Yc(Z);}createComboBox(){return new Xc();}createCheckBox(Z){return new Zc(Z);}setEventConsumer(Z){this.consumer=Z;}showMessage(Z){window.alert(Z);}showDialog(Z){let Bt=document.createElement("dialog"),ot=this.rootElement.getBoundingClientRect();Object.assign(Bt.style,{position:"absolute",marginBlock:0,left:`${ot.left}px`,right:`${document.body.parentElement.clientWidth-ot.right}px`,top:`${this.rootElement.offsetTop+30}px`}),this.dialogElement=Bt,this.rootElement.getRootNode().append(Bt);let Ft=document.createElement("form");Ft.style.display="grid",Ft.style.gridTemplateColumns=this.hLayout,Ft.style.gridTemplateRows=this.vLayout,Ft.addEventListener("submit",i1=>{i1.preventDefault(),this.consumer.fireOk(),Z();}),Bt.append(Ft);for(let{component:i1,x:L1,y:u1,x2:n0,y2:N0}of this.elements){let H0=document.createElement("div");n0===void 0?(H0.style.gridColumn=`${L1+1} / ${L1+2}`,H0.style.gridRow=`${u1+1} / ${u1+2}`):(H0.style.gridColumn=`${L1+1} / ${n0+2}`,H0.style.gridRow=`${u1+1} / ${N0+2}`),H0.append(i1.getElement()),Ft.append(H0);}let H1=document.createElement("div");Object.assign(H1.style,{display:"flex",flexDirection:"row-reverse",gap:"15px",gridColumn:"1 / -1",gridRow:"-1"}),Ft.append(H1);let bt=document.createElement("button");bt.type="submit",bt.textContent="OK",H1.append(bt);let y1=document.createElement("button");y1.type="button",y1.textContent="Cancel",y1.addEventListener("click",()=>{this.consumer.fireCancel(),Z();}),H1.append(y1),Bt.showModal(),Bt.addEventListener("cancel",()=>{this.consumer.fireCancel(),Z();});}disposeDialog(){this.dialogElement!==null&&(this.dialogElement.remove(),this.dialogElement=null);}},Y2=class{setEventHandler(Z){this.eventHandler=Z;}fireEvent(Z,Bt){this.eventHandler(Z,Bt);}},Yc=class extends Y2{constructor(Z){super(),this.element=document.createElement("label"),this.setText(Z);}setText(Z){this.element.textContent=Z;}getElement(){return this.element;}},Kc=class extends Y2{constructor(){super(),this.element=document.createElement("input"),this.element.type="text";}setText(Z){this.element.value=Z;}getText(){return this.element.value;}getElement(){return this.element;}},Xc=class extends Y2{constructor(){super(),this.element=document.createElement("select"),this.element.addEventListener("change",()=>{this.fireEvent(2,this.element.selectedIndex);});}setEnabled(Z){this.element.disabled=!Z;}addItem(Z){let Bt=document.createElement("option");Bt.textContent=Z,this.element.append(Bt);}getSelectedIndex(){return this.element.selectedIndex;}setSelectedIndex(Z){this.element.selectedIndex=Z;}setSelectedItem(Z){let Bt=this.element.options;for(let ot=0;ot<Bt.length;ot++)Bt[ot].textContent===Z&&(this.element.selectedIndex=ot);}getSelectedItem(){return this.element.options[this.element.selectedIndex].textContent;}removeAllItems(){this.element.innerHTML="";}setEditable(){}getElement(){return this.element;}},Zc=class extends Y2{constructor(Z){super();let Bt=document.createElement("label"),ot=document.createElement("input");ot.type="checkbox",ot.addEventListener("change",()=>{this.fireEvent(3,ot.checked?1:0);}),Bt.append(ot),Bt.append(Z),this.element=Bt,this.checkBox=ot;}setEnabled(Z){this.checkBox.disabled=!Z;}isSelected(){return this.checkBox.checked;}setSelected(Z){this.checkBox.checked=Z;}getElement(){return this.element;}};function sS(w){return w.map(Z=>Z>0?`${Z}px`:"auto").join(" ");}var zU=class{constructor(Z){this.imageData=Z,this.dataView=new DataView(Z.data.buffer);}getWidth(){return this.imageData.width;}getHeight(){return this.imageData.height;}getRGB(Z,Bt){let ot=this.dataView.getInt32((Bt*this.imageData.width+Z)*4,false);return (ot&255)<<24|ot>>>8;}setRGB(Z,Bt,ot){let Ft=ot>>>24&255,H1=ot<<8|Ft;this.dataView.setInt32((Bt*this.imageData.width+Z)*4,H1,false);}toDataURL(){let Z=document.createElement("canvas"),Bt=Z.getContext("2d");return Z.width=this.imageData.width,Z.height=this.imageData.height,Bt.putImageData(this.imageData,0,0),Z.toDataURL("image/png");}};var ql=class{constructor(Z,Bt,ot){this.canvasElement=Z,this.dialogRoot=Bt,this.JavaEditorArea=ot;}register(Z){this.javaUiHelper=Z,this.cursorManager=new El(this.JavaEditorArea,Z);}grabFocus(){this.canvasElement.focus({preventScroll:true});}setCursor(Z){this.canvasElement.style.cursor=this.cursorManager.getCursor(Z);}showHelpDialog(){}createImage(Z,Bt){let ot=new ImageData(Z,Bt);return new zU(ot);}createImageFromBase64(Z,Bt,ot){ot=ot.replaceAll(/%\d+%/g,y1=>"A".repeat(Number(y1.slice(1,-1))));let Ft=uS(ot),H1=new Uint8ClampedArray(Ft),bt=new ImageData(H1,Z,Bt);return new zU(bt);}createDialog(Z){return new Sl(Z,this.dialogRoot);}runLater(Z){typeof requestAnimationFrame=="function"?requestAnimationFrame(Z):typeof setImmediate=="function"?setImmediate(Z):setTimeout(Z,0);}};function yS(w,Z,Bt,ot,Ft,H1,bt,y1){let{readOnly:i1=false,initialMode:L1="molecule",initialFragment:u1=false}=Z,n0=document.createElement("div");n0.dataset.openchemlibCanvasEditor="true",Object.assign(n0.style,{width:"100%",height:"100%",display:"flex",flexDirection:"row",alignItems:"start",backgroundColor:"white",touchAction:"none",userSelect:"none",webkitUserSelect:"none"});let N0=n0.attachShadow({mode:"open"});N0.adoptedStyleSheets=[QS()];let H0=null;i1||(H0=document.createElement("canvas"),N0.append(H0));let Se=document.createElement("div");Object.assign(Se.style,{width:"100%",height:"100%"}),N0.append(Se);let Xe=document.createElement("canvas");Xe.tabIndex=0,Object.assign(Xe.style,{outline:"none"}),Se.append(Xe),w.append(n0);let j8=new H1(new ql(Xe,Se,ot)),GP=new ot(FPt(L1,ot),new Hl(Xe,Bt),j8);if(u1)if(L1==="molecule"){let jA=new bt(0,0);jA.setFragment(true),GP.setMolecule(jA);}else {let jA=y1.create();jA.setFragment(true),GP.setReaction(jA);}j8.setEditorArea(GP);let Nn=i1?null:new Ft(GP,new Vl(H0),j8);function K2(jA){Xe.style.width=`${jA.width}px`,Xe.width=Math.floor(jA.width*hr),Xe.style.height=`${jA.height}px`,Xe.height=Math.floor(jA.height*hr),jA.width>0&&jA.height>0&&GP.repaint();}let YU=Se.getBoundingClientRect();K2(YU);let X2=new ResizeObserver(([jA])=>{K2(jA.contentRect);});X2.observe(Se);let Z2=null,W2=null,_2=null;i1||(Z2=Jc(Xe,GP,ot),W2=US(Se,Xe,GP,ot,bt),_2=Jc(H0,Nn,ot));function KU(){n0.remove(),X2.disconnect(),Z2?.(),W2?.(),_2?.();}return {editorArea:GP,toolbar:Nn,uiHelper:j8,destroy:KU};}function FPt(w,Z){switch(w){case "molecule":return 0;case "reaction":return Z.MODE_REACTION|Z.MODE_MULTIPLE_FRAGMENTS;default:throw new Error(`Invalid initial mode: ${w}`);}}function lS(w,Z,Bt,ot,Ft){class H1{#t;#e;#P;#n;#f;#r;constructor(y1,i1={}){let{editorArea:L1,toolbar:u1,uiHelper:n0,destroy:N0}=yS(y1,i1,H0=>this.#i(H0),w,Z,Bt,ot,Ft);this.#t=L1,this.#e=u1,this.#P=n0,this.#n=null,this.#f={[w.EDITOR_EVENT_MOLECULE_CHANGED]:"molecule",[w.EDITOR_EVENT_SELECTION_CHANGED]:"selection",[w.EDITOR_EVENT_HIGHLIGHT_ATOM_CHANGED]:"highlight-atom",[w.EDITOR_EVENT_HIGHLIGHT_BOND_CHANGED]:"highlight-bond"},this.#r=N0;}getMode(){return this.#A(),this.#t.getMode()&w.MODE_REACTION!==0?"reaction":"molecule";}setMolecule(y1){this.#A(),this.#t.setMolecule(y1);}getMolecule(){return this.#A(),this.#t.getMolecule();}setReaction(y1){this.#A(),this.#t.setReaction(y1);}getReaction(){return this.#A(),this.#t.getReaction();}setOnChangeListener(y1){this.#A(),this.#n=y1;}removeOnChangeListener(){this.#A(),this.#n=null;}clearAll(){this.#A(),this.#t.clearAll();}destroy(){this.#A(),this.#r(),this.#t=null,this.#e=null,this.#P=null,this.#n=null,this.#r=null;}get isDestroyed(){return !this.#t;}moleculeChanged(){this.#A(),this.#t.moleculeChanged();}#A(){if(this.isDestroyed)throw new Error("CanvasEditor has been destroyed");}#i(y1){if(!this.#n)return;let{what:i1,isUserEvent:L1}=y1;this.#n({type:this.#f[i1],isUserEvent:L1});}}return H1;}function TS(w,Z,Bt,ot){class Ft extends HTMLElement{static MODE=Object.freeze(Object.create({MOLECULE:"molecule",REACTION:"reaction"}));static observedAttributes=Object.freeze(["idcode","fragment","mode","readonly"]);#t={idcode:"",fragment:false,mode:Ft.MODE_MOLECULE,readonly:false};get idcode(){return this.#t.idcode;}set idcode(bt){this.#t.idcode=String(bt),this.setAttribute("idcode",this.#t.idcode);}get fragment(){return this.#t.fragment;}set fragment(bt){this.#t.fragment=!!bt,this.#t.fragment?this.setAttribute("fragment",""):this.removeAttribute("fragment");}get mode(){return this.#t.mode;}set mode(bt){this.#t.mode=String(bt),this.setAttribute("mode",this.#t.mode);}get readonly(){return this.#t.readonly;}set readonly(bt){this.#t.readonly=!!bt,this.#t.readonly?this.setAttribute("readonly",""):this.removeAttribute("readonly");}setMolecule(bt){this.fragment=bt.isFragment(),this.idcode=`${bt.getIDCode()} ${bt.getIDCoordinates()}`,this.#e.setMolecule(bt);}getMolecule(){return this.#e.getMolecule();}setReaction(bt){this.fragment=bt.isFragment(),this.idcode=ot.encode(bt,{keepAbsoluteCoordinates:true,mode:ot.INCLUDE_MAPPING|ot.INCLUDE_COORDS|ot.RETAIN_REACTANT_AND_PRODUCT_ORDER})??"",this.#e.setReaction(bt);}getReaction(){return this.#e.getReaction();}clearAll(){this.#e.clearAll(),this.idcode="";}moleculeChanged(){this.#e.moleculeChanged();}#e;#P(){this.#e||(this.#e=new w(this,{readOnly:this.readonly,initialMode:this.mode}),this.#e.setOnChangeListener(this.#U),requestIdleCallback(()=>this.#n()));}#n(){switch(this.mode){case Ft.MODE.MOLECULE:return this.#r();case Ft.MODE.REACTION:return this.#A();default:throw new Error(`Mode ${this.mode} is not supported`);}}#f(bt){let y1=bt.indexOf(" ");if(y1===-1)return Z.fromIDCode(bt);let i1=bt.slice(0,y1),L1=bt.slice(y1+1);return Z.fromIDCode(i1,L1);}#r(){let bt=this.#f(this.idcode);bt.setFragment(this.fragment),this.#e.setMolecule(bt);}#A(){let bt=ot.decode(this.idcode,{ensureCoordinates:true})??Bt.create();bt.setFragment(this.fragment),this.#e.setReaction(bt);}#i=false;#Q(bt){this.#i=true;try{bt();}finally{this.#i=false;}}#U=bt=>{let y1=this.idcode,i1=this.fragment;this.#Q(()=>{if(bt.type==="molecule")switch(this.mode){case Ft.MODE.MOLECULE:{let u1=this.getMolecule();this.idcode=`${u1.getIDCode()} ${u1.getIDCoordinates()}`,this.fragment=u1.isFragment();break;}case Ft.MODE.REACTION:{let u1=this.getReaction();this.idcode=ot.encode(u1,{keepAbsoluteCoordinates:true,mode:ot.INCLUDE_MAPPING|ot.INCLUDE_COORDS|ot.RETAIN_REACTANT_AND_PRODUCT_ORDER}),this.fragment=u1.isFragment();break;}default:throw new Error(`Unsupported mode ${this.mode}`);}});let L1=new CustomEvent("change",{detail:bt,bubbles:true});if(this.dispatchEvent(L1),bt.mode==="molecule"){if(this.idcode!==y1){let u1=new CustomEvent("idcode-changed",{detail:this.idcode,bubbles:true});this.dispatchEvent(u1);}if(this.fragment!==i1){let u1=new CustomEvent("fragment-changed",{detail:this.fragment,bubbles:true});this.dispatchEvent(u1);}}};#D(){this.#e&&(this.#e.destroy(),this.#e=void 0);}#u(){this.#D(),this.#P();}connectedCallback(){this.#t={idcode:this.getAttribute("idcode")||"",fragment:this.hasAttribute("fragment"),mode:this.getAttribute("mode")||Ft.MODE.MOLECULE,readonly:this.hasAttribute("readonly")},this.#P();}disconnectedCallback(){this.#D();}adoptedCallback(){this.connectedCallback();}attributeChangedCallback(bt,y1,i1){if(!this.#e||this.#i)return;(()=>{switch(bt){case "idcode":return this.#t.idcode=String(i1),()=>this.#n();case "fragment":return this.#t.fragment=i1!==null,()=>this.#n();case "mode":return this.#t.mode=String(i1),()=>this.#u();case "readonly":return this.#t.readonly=i1!==null,()=>this.#u();default:throw new Error("unsupported attribute change");}})()();}}return Ft;}function Wc(w){let{GenericEditorArea:Z,GenericEditorToolbar:Bt,GenericUIHelper:ot,Molecule:Ft,Reaction:H1,ReactionEncoder:bt}=w,y1=lS(Z,Bt,ot,Ft,H1);function i1(){let L1=customElements.get("openchemlib-editor");if(L1)return L1;let u1=TS(y1,Ft,H1,bt);customElements.define("openchemlib-editor",u1);let n0=document.createElement("style");return n0.id="openchemlib-editor-default-style",n0.innerHTML=`
    /* dynamicaly added from openchemlib registerCustomElement with low priority */
    openchemlib-editor:defined {
      display: block;
      height: 400px;
      width: 600px;
    }
    `,document.head.prepend(n0),u1;}w.CanvasEditor=y1,w.registerCustomElement=i1,delete w.GenericEditorArea,delete w.GenericEditorToolbar,delete w.GenericUIHelper;}function hS(w){w.prototype.changeCustomLabelPosition=function(Bt){switch(Bt){case "superscript":for(let ot=0;ot<this.getAllAtoms();ot++){let Ft=this.getAtomCustomLabel(ot);Ft&&!Ft.startsWith("]")&&this.setAtomCustomLabel(ot,`]${Ft}`);}break;case "normal":for(let ot=0;ot<this.getAllAtoms();ot++){let Ft=this.getAtomCustomLabel(ot);Ft?.startsWith("]")&&this.setAtomCustomLabel(ot,Ft.slice(1));}break;case "auto":for(let ot=0;ot<this.getAllAtoms();ot++){let Ft=this.getAtomCustomLabel(ot);Ft&&(this.getAtomLabel(ot)==="C"?Ft.startsWith("]")&&this.setAtomCustomLabel(ot,Ft.slice(1)):Ft.startsWith("]")||this.setAtomCustomLabel(ot,`]${Ft}`));}break;}};}function cS(w){w.prototype.getNextCustomAtomLabel=function(Bt){let ot=Bt||"1",Ft=new Set();for(let bt=0;bt<this.getAllAtoms();bt++){let y1=this.getAtomCustomLabel(bt);y1&&Ft.add(y1);}let H1=0;for(;Ft.has(ot)&&H1++<100;)ot=mPt(ot);return ot;};}function mPt(w){let Z=w.match(/(\d+)/);if(Z){let ot=Number.parseInt(Z[1],10);return w.replace(/(\d+)/,(ot+1).toString());}let Bt=w.match(/([a-yA-Y])([^a-zA-Z]*)$/);if(Bt){let ot=Bt[1],Ft=String.fromCodePoint(ot.codePointAt(0)+1);return Ft==="Z"||Ft==="z"?"1":w.replace(/([a-yA-Y])([^a-zA-Z]*)$/,`${Ft}$2`);}return "1";}function wS(w){let Z=w.fromMolfile;w.fromMolfile=function(ot,Ft={}){let{customLabelPosition:H1}=Ft,bt=Z.call(this,ot),y1=ot.includes(`\r
`)?`\r
`:`
`,i1=ot.split(y1);if(i1.length<4||!i1[3].includes("V2000"))return bt;let L1=i1.slice(4+bt.getAllAtoms()+bt.getAllBonds());for(let u1=0;u1<L1.length;u1++){let n0=L1[u1];if(n0.startsWith("A  ")){let N0=Number(n0.slice(3)),H0=L1[u1+1]?.trim();u1++,!Number.isNaN(N0)&&N0<=bt.getAllAtoms()&&H0&&!bt.getAtomCustomLabel(N0-1)&&bt.setAtomCustomLabel(N0-1,H0);}if(n0.startsWith("V  ")){let N0=n0.split(" ").filter(Boolean);if(N0.length>=3){let H0=Number(N0[1]),Se=N0.slice(2).join(" ");!Number.isNaN(H0)&&H0<=bt.getAllAtoms()&&!bt.getAtomCustomLabel(H0-1)&&bt.setAtomCustomLabel(H0-1,Se);}}if(n0.startsWith("M  ZZC")){let N0=Number(n0.slice(7,10).trim()),H0=n0.slice(10).trim();N0&&H0&&bt.setAtomCustomLabel(N0-1,H0);}}return bt.changeCustomLabelPosition(H1),bt;};}var kPt=["M  STY","M  SLB","M  SAL","M  SDT","M  SDD","M  SED"];function gS(w){let Z=w.prototype.toMolfile;w.prototype.toMolfile=function(ot={}){let Ft=this.getCompactCopy(),{includeCustomAtomLabelsAsALines:H1=false,includeCustomAtomLabelsAsVLines:bt=false,customLabelPosition:y1,removeCustomAtomLabels:i1=false}=ot;Ft.changeCustomLabelPosition(y1);let L1=Z.call(Ft);if(!H1&&!bt&&!i1)return L1;let u1=L1.includes(`\r
`)?`\r
`:`
`,n0=L1.split(u1);if(i1&&(n0=n0.filter(Se=>!kPt.some(Xe=>Se.startsWith(Xe)))),n0.length<4||!n0[3].includes("V2000"))return L1;let N0=[];for(let Se=0;Se<Ft.getAllAtoms();Se++){let Xe=Ft.getAtomCustomLabel(Se);if(Xe){let j8=String(Se+1).padStart(3," ");H1&&N0.push(`A  ${j8}`,Xe),bt&&N0.push(`V  ${j8} ${Xe}`);}}let H0=n0.findIndex(Se=>Se.startsWith("M  END"));return H0===-1?L1:(n0.splice(H0,0,...N0),n0.join(u1));};}function BS(w){let Z=w.prototype.toRxn,Bt=w.prototype.toRxnV3;w.prototype.toRxn=function(Ft={}){return dS(this,Z,Ft);},w.prototype.toRxnV3=function(Ft={}){return dS(this,Bt,Ft);};}function dS(w,Z,Bt){let{programName:ot="",keepIdCode:Ft=false}=Bt,H1=Z.call(w,ot);return Ft?H1:H1.replace(/^OCL_RXN_V1.0:.*$/m,"");}function vS(w){let Z=w.prototype.toSVG;w.prototype.toSVG=function(ot,Ft,H1,bt){if(typeof ot!="number"||typeof Ft!="number")throw new Error("Molecule#toSVG requires width and height to be specified");bt=bt||{};let y1=bt.factorTextSize||1,i1=bt.autoCrop===true,L1=bt.autoCropMargin===void 0?5:bt.autoCropMargin,u1=Z.call(this,ot,Ft,y1,i1,L1,H1,bt),n0=/svg id="(.*)" xmlns/.exec(u1)[1];return u1=u1.replace("<style>",`<style> #${n0} text {font-family: sans-serif;}`),u1=u1.replace("line {",`#${n0} line {`),u1=u1.replace("polygon {",`#${n0} polygon {`),bt.fontWeight&&(u1=u1.replaceAll("font-size=",`font-weight="${bt.fontWeight}" font-size=`)),bt.strokeWidth&&(u1=u1.replaceAll(/stroke-width="[^"]+"/g,`stroke-width="${bt.strokeWidth}"`)),u1;};}function FS(w){let{ConformerGenerator:Z,ForceFieldMMFF94:Bt,Molecule:ot,Reaction:Ft}=w;Z.prototype.molecules=function*(){let L1;for(;(L1=this.getNextConformerAsMolecule())!==null;)yield L1;};let H1={maxIts:4e3,gradTol:1e-4,funcTol:1e-6},bt=Bt.prototype._minimise;delete Bt.prototype._minimise,Bt.prototype.minimise=function(L1){return L1={...H1,...L1},bt.call(this,L1.maxIts,L1.gradTol,L1.funcTol);},hS(ot),cS(ot),wS(ot),gS(ot),BS(Ft),vS(ot);function y1(i1){if(!i1)return null;if(i1.includes("V2000")||i1.includes("V3000"))return ot.fromMolfile(i1);try{return ot.fromSmiles(i1);}catch{}try{return ot.fromIDCode(i1);}catch{}return null;}ot.fromText=function(L1){let u1=y1(L1);return u1&&u1.getAllAtoms()>0?u1:null;},ot.prototype.getOCL=function(){return w;};}function eD(){}function bPt(w){let Z=w.document,Bt={},Ft=eD;Ft.__moduleStartupDone=eD;function i1(){}function L1(){}function u1(){}function n0(){}function N0(){}function H0(){}function Se(){}function Xe(){}function j8(){}function GP(){}function Nn(){}function K2(){}function YU(){}function X2(){}function Z2(){}function W2(){}function _2(){}function KU(){}function jA(){}function _c(){}function Il(){}function xl(){}function AD(){}function $c(){}function c9(){}function nD(){}function ac(){}function tw(){}function ew(){}function Aw(){}function Nl(){}function vi(){}function PD(){}function B1(){}function kS(){}function nw(){}function Pw(){}function rw(){}function u0(){}function iw(){}function fw(){}function XU(){}function Dw(){}function uw(){}function Qw(){}function Uw(){}function ow(){}function Lw(){}function sw(){}function Ol(){}function yw(){}function lw(){}function Tw(){}function hw(){}function cw(){}function ww(){}function gw(){}function dw(){}function Bw(){}function vw(){}function Fw(){}function mw(){}function kw(){}function bS(t,e){t.S=e;}function Gl(t,e){t.I=e;}function RS(t,e){t.T=e;}function jS(t,e){t.O=e;}function $2(t,e){t.P=e;}function pS(t,e){t.G=e;}function CS(t,e){t.d=e;}function MS(t,e){t.f=e;}function HS(t,e){t.i=e;}function VS(t,e){t.i=e;}function ES(t,e){t.f=e;}function SS(t,e){t.n=e;}function bw(t,e){t.p=e;}function qS(t,e){t.b=e;}function IS(t,e){t.e=e;}function xS(t,e){t.r=e;}function NS(t){t.a=t.b;}function ZU(t){this.a=t;}function cr(t){this.j=t;}function GA(t){this.b=t;}function Rw(t){this.e=t;}function jw(t){this.e=t;}function pw(t){this.a=t;}function Cw(t){this.a=t;}function Mw(t){this.a=t;}function Hw(t){this.a=t;}function Vw(t){this.a=t;}function Ew(t){this.a=t;}function Sw(t){this.a=t;}function qw(t){this.a=t;}function Iw(t){this.a=t;}function a2(t){this.a=t;}function WU(t){this.a=t;}function rD(t){this.a=t;}function xw(t){this.b=t;}function tu(){this.i=0;}function Nw(){this.i=1;}function Ow(){this.a=-1;}function Jl(){this.b=-1;}function Fi(t){this.a=t;}function eu(t){this.a=t;}function zl(t){this.a=t;}function Yl(t){this.a=t;}function Kl(t){this.a=t;}function iD(t){this.a=t;}function Xl(t){this.a=t;}function Zl(t){this.a=t;}function fD(t){this.a=t;}function DD(t){this.a=t;}function Wl(t){this.c=t;}function _l(t){this.b=t;}function w9(t){this.a=t;}function g9(t){this.a=t;}function Wt(t){this.c=t;}function _U(t){this.b=t;}function Gw(t){this.a=t;}function Jw(t){this.a=t;}function $l(t){this.a=t;}function zw(t){this.c=t;}function Yw(t){this.c=t;}function Kw(t){this.a=t;}function Xw(t){this.a=t;}function OS(t,e){t.a=e;}function GS(t,e){t.a=e;}function JS(t,e){t.d=e;}function zS(t,e){t.e=e;}function $U(t,e){t.n=e;}function YS(t,e){t.T&=~e;}function Zw(t,e){t.C[e]=-1;}function al(t,e){mt(t.a,e);}function KS(t,e){mt(t.S,e);}function XS(t,e){DO(t.a,e);}function ZS(t,e){fO(t.a,e);}function WS(t,e){au(t.a,e);}function t3(t,e){mt(t.a,e);}function JP(t,e){mt(t.a,e);}function aU(t,e){LA(t.d,e);}function _S(t,e){XS(e,t.B);}function $S(t,e){ZS(e,t.v);}function aS(t,e){Wq(e,t.f);}function tq(t,e){t.H[e]=512;}function eq(t,e,A){t.k[e]=A;}function Au(){fo(this);}function f1(){cu(this);}function LP(){Cu(this);}function Ww(t){XK(this,t);}function to(){f1.call(this);}function _w(){f1.call(this);}function $w(){mr.call(this);}function aw(){e7.call(this);}function e3(){e7.call(this);}function A3(){mr.call(this);}function d9(){mr.call(this);}function Aq(){return ++pV;}function nq(t){return t>>>0;}function Pq(t){return cK(t);}function rq(t){return FK(t);}function iq(t){t.a>0&&--t.a;}function sP(t,e){t.u[e]|=Q0;}function n3(t,e){t.F[e]|=I0;}function fq(t,e){t.q=e,t.T=0;}function Dq(t,e){t.r=e,t.T=0;}function mi(t,e){t.length=e;}function uq(t,e){mt(t.c,e);}function rA(t,e){Si(t.a,e);}function Qq(t){IE=t,pU=true;}function Uq(t){return $r(t);}function oq(){return kf(),sr;}function t7(){this.a=new vo();}function uD(){this.a=new f1();}function e7(){this.a=new f1();}function A7(){this.a=new f1();}function nu(){this.c=new f1();}function n7(){this.b=new k9();}function c0(){c0=B1,JD();}function P3(){mr.call(this);}function P7(){mr.call(this);}function dA(){mr.call(this);}function r3(){mr.call(this);}function r7(){mr.call(this);}function i3(){LQ.call(this,0);}function i7(){Y8.call(this,2);}function f7(){A3.call(this);}function f3(){this.a=new TD();}function QD(){this.a=new LP();}function D3(){this.a=new lP();}function D7(){this.a=new lP();}function Pu(t){this.a=GJ(t);}function Lq(t){this.a=t,Qi(t);}function sq(t,e){rA(e,t.a.a);}function eo(t,e,A){t.k[e].a=A;}function Ao(t,e,A){t.k[e].b=A;}function no(t,e,A){t.k[e].c=A;}function yq(t){_A(),Y1(),wn=t;}function ki(t){SL(t),t.d=null;}function u7(){wp(),this.b=It;}function wr(t){V1.call(this,t);}function p1(t,e){return t.s[e];}function Q7(t,e){return t.J[e];}function UD(t,e){return t.e[e];}function Mt(t,e){return t.e[e];}function a1(t,e){return t.o[e];}function lq(t,e){return t.o[e];}function Tq(t,e){return t.X[e];}function hq(t,e){return t.Y[e];}function ye(t,e){return t.A[e];}function o0(t,e){return t.B[e];}function K(t,e){return t.C[e];}function ee(t,e){return t.G[e];}function l1(t,e){return t.H[e];}function O(t,e){return t.j[e];}function cq(t,e){return t.d[e];}function u3(t,e){return t.e[e];}function wq(t,e){return t.f[e];}function B9(t,e){return t.a[e];}function ru(t,e){return t.a[e];}function iu(t,e){return t.b[e];}function oD(t,e){return t.e[e];}function J0(t,e){return t.k[e];}function gq(t,e){return t.a[e];}function U7(t,e){return t.b[e];}function o7(t,e){return t.c[e];}function dq(t,e,A){t8(t.a,A,e);}function Bq(t){bJ(t.a,t.c,t.b);}function L7(t){wr.call(this,t);}function s7(t){fa.call(this,t);}function y7(t){No.call(this,t);}function l7(t){No.call(this,t);}function T7(t){No.call(this,t);}function h7(t){No.call(this,t);}function gr(t){wr.call(this,t);}function c7(t){wr.call(this,t);}function w7(t){zL.call(this,t);}function bi(t){t.b=null,t.c=0;}function Ri(t){return U1(t),t;}function LD(t){return U1(t),t;}function vq(t){return nP*t*t;}function Fq(t){return is(t,t.i);}function mq(t,e){return oz(t,e);}function kq(t,e){return tJ(t,e);}function bq(t,e){return t.db[e];}function Rq(t){return Ui(t),t.B;}function jq(t){return Ui(t),t.H;}function ji(){ji=B1,ul=new LP();}function g7(){g7=B1,$4=new i1();}function Q3(){Q3=B1,a4=new tw();}function pq(t,e){t.g=new zr(e);}function sD(t,e){t.T|=248&(8|e);}function yD(t,e,A){bD(t.k[e],A);}function Cq(t){lx(t,t.length);}function Mq(t){ux(t,t.length);}function Hq(t){Qx(t,t.length);}function Vq(t){Tx(t,t.length);}function U3(t){Hu(t,t.length);}function Po(t){U1(t),this.a=t;}function o3(t){new f1(),this.a=t;}function p8(t){wr.call(this,t);}function C8(t){wr.call(this,t);}function ro(t){wr.call(this,t);}function d7(t){wr.call(this,t);}function lD(t){wr.call(this,t);}function L3(t){gr.call(this,t);}function BA(t){EA.call(this,t,0);}function B7(t){return Iu(t,t.jb);}function zP(t){return !!t&&t.b;}function v7(t){return t.b==t.c;}function vA(t,e){return t.J[e].c;}function kt(t,e){return t.J[e].a;}function jt(t,e){return t.J[e].b;}function d0(t,e){return t.u[e]&3;}function qe(t,e){return t.F[e]&3;}function Bn(t,e){return t.w[e]<0;}function s3(t,e){return t.a[e];}function v9(t,e){return t.k[e].a;}function F9(t,e){return t.k[e].b;}function m9(t,e){return t.k[e].c;}function d(t,e){return RB(t,e);}function F7(t){return 4e3*t*t;}function Eq(t){return 8e3*t*t;}function Sq(t){return t.c||cQ(t);}function qq(t){return _A(),ar(t);}function Iq(t){return _A(),ei(t);}function JA(){Y1(),$3.call(this);}function m7(t){gr.call(this,t);}function YP(t){C8.call(this,t);}function TD(){eu.call(this,"");}function fu(){eu.call(this,"");}function V0(){eu.call(this,"");}function k9(){eu.call(this,"");}function y3(t){Pu.call(this,t);}function io(t){_U.call(this,t);}function k7(t){Co.call(this,t);}function b7(t){io.call(this,t);}function R7(t){yB.call(this,t);}function l3(t){M8.call(this,t);}function j7(t){hD.call(this,t,0);}function p7(t){Lq.call(this,t.a);}function T3(t){Xw.call(this,t);}function C7(t){C9.call(this,t);}function pi(){M3.call(this,null);}function M7(){this.a=0,this.b=0;}function H7(t){this.b=t,this.a=1;}function fo(t){t.a=0,t.b=0,t.c=1;}function xq(t,e){t.c=e,t.T&=-144;}function E0(t,e,A){t.s[e]=A,t.T=0;}function w0(t,e,A){t.H[e]=A,t.T=0;}function Du(t,e){return t.A[e]==0;}function FA(t,e){return t.u[e]&48;}function Do(t,e){return t<e?t:t-e;}function X1(t,e){return e*t.c+t.b;}function Z1(t,e){return e*t.c+t.a;}function h3(t,e){return N(t.j,e);}function V7(t,e){return N(t.k,e);}function c3(t,e){return bq(t.d,e);}function Nq(t,e){return lq(t.d,e);}function R0(t,e){return Ho(t.d,e);}function Oq(t,e){return N(t.a,e);}function w3(t,e){return N(t.f,e);}function dr(t,e){return N(t.g,e);}function uu(t,e){return pv(t,e);}function Gq(t,e){return ff(t.d,e);}function Qu(t){return yb(t,N5(t));}function E7(t){return t.l|t.m<<22;}function Jq(t,e){cI(t.b,t.a,e);}function S7(t,e){mt(t.f,e),t.d=-1;}function q7(t,e){mt(t.g,e),t.d=-1;}function zq(t,e){return t.a+=e,t;}function g3(t,e){return t.a+=e,t;}function Uu(t){return Mo(t),t.n;}function On(t){return ut(t,7),t.p;}function I7(t){this.a=new s7(t.a);}function uo(t){this.a=new Ji(t);}function M8(t){this.a=(U1(t),t);}function b9(t){this.b=t,this.a=0;}function R9(){R9=B1,wU=false;}function d3(){d3=B1,LE=(Wh(),kU);}function Yq(){CU!=0&&(CU=0),MU=-1;}function x7(){nl==null&&(nl=[]);}function Kq(){throw At(new dA());}function B3(){throw At(new dA());}function hD(t,e){this.k=t,this.j=e;}function u(t,e){this.b=t,this.a=e;}function Qo(t,e){ha.call(this,t,e);}function cD(t){GK.call(this,t,t.o);}function Uo(){gO.call(this,new c9());}function oo(){oo=B1,H4=SA("X",32);}function N7(t,e,A){Dn(t,A),Ln(t,e);}function Ci(t,e){return X0[t.C[e]];}function ou(t,e){return t.u[e]&448;}function Lu(t,e){return t.H[e]&127;}function iA(t,e){return t.a[e]&w1;}function yP(t,e){return t.c[e]&w1;}function Xq(t,e){return t.C[e]==-1;}function Ze(t,e,A,n){t.w[e]=n?-A:A;}function wD(t,e){su.call(this,t,e);}function Mi(t,e){su.call(this,t,e);}function Lo(t,e){this.b=t,this.a=e;}function gD(t,e){this.b=t,this.a=e;}function O7(t,e){this.b=t,this.a=e;}function KP(t,e){this.a=t,this.b=e;}function su(t,e){this.a=t,this.b=e;}function G7(t,e){this.a=t,this.b=e;}function J7(t,e){this.a=t,this.b=e;}function z7(t,e){this.a=t,this.b=e;}function Y7(t,e){this.a=t,this.b=e;}function We(t,e){this.a=t,this.b=e;}function K7(t,e){this.a=t,this.b=e;}function X7(t,e){this.a=t,this.b=e;}function v3(t,e){this.a=t,this.b=e;}function so(t,e){this.k=e,this.j=t;}function nn(t){this.b=t,this.a=-2;}function Z7(t){pD.call(this,t,0);}function W7(){yB.call(this,null);}function lP(){Ji.call(this,null);}function _7(){C9.call(this,null);}function $7(){d3(),pU||gL(),new Rj();}function x1(){x1=B1,gi=new rw();}function yo(){yo=B1,vl=new Aw();}function Zq(t,e){UL(t.c,new Hw(e));}function Wq(t,e){uG(t.a,t.b,t.c,e);}function _q(t,e){ox(t),t.b._c(e);}function a7(t,e){return mt(t.a,e);}function tg(t,e){return ff(t.a,e);}function F3(t,e){return N(t.a,e).a;}function eg(t,e){return N(t.a,e).b;}function z(t,e,A){return t.D[e][A];}function _(t,e,A){return t.i[e][A];}function Ot(t,e,A){return t.k[e][A];}function pA(t,e,A){return t.n[e][A];}function $q(t,e){return t.H[e]==512;}function dD(t){return t.a.c+t.c.c;}function Ag(t){return sn(t,1,t.c)>0;}function S1(t,e){return G(t,e)>0;}function Hi(t,e){return G(t,e)<0;}function yu(t,e){return wg(e,t.a);}function ng(t,e){return wg(e,t.a);}function j9(t,e){su.call(this,t,e);}function Pg(t){sp(),pa.call(this,t);}function Br(t){return t.b=WB(t.a);}function rg(t,e){return t.a.get(e);}function lo(t,e){return So(t.a,e);}function lu(t,e){su.call(this,t,e);}function To(t,e){su.call(this,t,e);}function TP(t,e){this.a=t,this.b=e;}function ig(t,e){this.a=t,this.b=e;}function fg(t,e){this.a=t,this.b=e;}function Dg(t,e){this.b=t,this.a=e;}function ug(t,e){this.b=t,this.a=e;}function ho(t,e){this.c=t,this.d=e;}function Qg(t,e){this.a=t,this.c=e;}function co(t,e){V9(t,t.length,e);}function aq(t){return t.B?t.B.u:1;}function tI(t){return Array.from(t);}function eI(){return new _P(new P8());}function Tu(t){return typeof t===w2;}function Vi(t){return typeof t===nr;}function H8(t){return typeof t===bf;}function J1(t){return t??null;}function m3(t,e){return t==e-1?0:t+1;}function AI(t,e){return _A(),Je(t,e);}function nI(t,e){return _A(),SA(t,e);}function P0(t,e){return G(t,e)==0;}function hu(t,e){return G(t,e)>=0;}function Ug(t,e){return G(t,e)<=0;}function gt(t,e){return G(t,e)!=0;}function PI(t,e){i6.call(this,t,0,e);}function rI(t){w.clearTimeout(t);}function og(t){this.b=t,this.c=false;}function Lg(){pU||gL(),this.a=new Fm();}function sg(){sg=B1,zf=(x1(),$A);}function yg(){yg=B1,B8=(x1(),$A);}function lg(t,e){return J1(t)===J1(e);}function k3(t,e,A){return t.e[e][A];}function b3(t,e,A){return t.f[e][A];}function Ei(t,e){return (t.u[e]&4)!=0;}function wo(t,e){return (t.F[e]&4)!=0;}function De(t,e){return t.i[e].length;}function R3(t,e){return t.e[e]-t.j[e];}function go(t,e){return (t.u[e]&8)!=0;}function Tg(t){return parseInt(t)||-1;}function cu(t){t.a=h(uP,A0,1,0,5,1);}function Si(t,e){return t.a+=""+e,t;}function hg(t,e){return t.a+=""+e,t;}function J(t,e){return t.a+=""+e,t;}function Ie(t,e,A){t.J[e].b=A,t.T&=7;}function Be(t,e,A){t.J[e].a=A,t.T&=7;}function hP(t,e,A){t.J[e].c=A,t.T&=7;}function iI(t,e,A){t8(t.f,A,e),t.d=-1;}function fI(t,e,A){t8(t.g,A,e),t.d=-1;}function DI(t,e,A){return M5(t.a,e,A);}function cg(t){return S0(t.l,t.m,t.h);}function XP(t){return t?t.ed():null;}function wg(t,e){return t.toFixed(e);}function p9(t){return t.a<t.c.size();}function U0(t){return typeof t===nr;}function gg(t,e){return e==0?t.i:t.j;}function wu(t,e){Wi(t,0,t.length,e);}function j3(t,e){yx(t.a,t.a.length,e);}function Bo(t,e,A,n){t.a=e,t.b=A,t.c=n;}function BD(t,e,A,n){t.D[e][A]=n,t.T=0;}function uI(t,e){return t.j[e]-EL(t,e);}function fA(t,e){return (t.F[e]&64)!=0;}function gu(t,e){return (t.F[e]&48)>>4;}function V8(t){return wP(t,t.q,t.r,wn);}function du(t){a5(),sB.call(this,t,0);}function p3(t){PI.call(this,t,new k9());}function dg(t){WX.call(this,t,new k9());}function C3(t){P8.call(this),this.e=t;}function M3(t){this.d=new f1(),this.c=t;}function Bg(){this.c=new lP(),this.b=0;}function vg(t,e){this.b=AP(e),this.a=t;}function Fg(t,e){this.b=AP(e),this.a=t;}function C9(t){this.f=t,this.g=true;}function mg(){Xw.call(this,"UTF-8");}function vo(){kf(),this.g=new Ni(),_J();}function ZP(t,e,A){mt(t.a,new We(e,A));}function kg(t,e,A,n){t.e=e,t.c=A,t.d=n;}function QI(t,e){return j0(t.a[e][3]);}function UI(t,e){return j0(t.a[e][2]);}function bg(t,e){return j0(t.a[e][2]);}function Rg(t,e){return j0(t.a[e][1]);}function oI(t){return t.e==null?"":t.e;}function Fo(t){return t!=null?a8(t):0;}function jg(t){ke(),QG.call(this,t);}function pg(t){XO.call(this,t,hN());}function Cg(){lu.call(this,"Head",1);}function Mg(){lu.call(this,"Tail",3);}function Hg(t){Wi(t,0,t.length,null);}function H3(t){ut(t,31),t.d&&CY(t.d);}function LI(){return _A(),Y1(),Y1(),wn;}function Pn(t,e){return wP(t,t.q,t.r,e);}function Vg(t,e){return (t.u[e]&Q0)!=0;}function vr(t,e){return (t.F[e]&Q0)!=0;}function V3(t,e){return (t.F[e]&s8)!=0;}function E3(t,e){return (t.F[e]&I0)!=0;}function z0(t,e){return (t.u[e]&I0)!=0;}function Fr(t,e){return (t.u[e]&nU)!=0;}function E8(t,e){return (t.u[e]&Tn)!=0;}function qi(t,e){return (t.u[e]&hn)!=0;}function sI(t,e){return (t.u[e]&C0)!=0;}function yI(t,e){return (t.u[e]&ge)!=0;}function i0(t,e){return (t.a[e]&Q0)!=0;}function Re(t,e){return (t.c[e]&Q0)!=0;}function S8(t,e){return (t.c[e]&I0)!=0;}function lI(t,e){return (t.a[e]&I0)!=0;}function S3(t,e){return (t.a[e]&T8)!=0;}function Bu(t,e){return (t.G[e]&y8)!=0;}function r0(t,e){return (t.u[e]&512)!=0;}function WP(t,e){return (t.F[e]&128)!=0;}function cP(t,e){return (t.F[e]&768)>>8;}function q3(t,e){return t<e?-1:t>e?1:0;}function S0(t,e,A){return {l:t,m:e,h:A};}function mo(t,e,A){return t.j=e,f6(t,A);}function Eg(t,e){return t.a+=Te(e),t;}function TI(t,e){t.H[e]=512,mf(t),t.T=0;}function ko(t,e){LL(t,e),t.d&&(e.T=0);}function zA(t,e){Y1(),Fv.call(this,t,e);}function CA(t){_A(),AL.call(this,0,0,t);}function vu(t){xe.call(this,t.a,t.b,t.c);}function Sg(){dL.call(this,"#","","");}function qg(){lu.call(this,"Range",2);}function q8(t){return tP(t,0,t.length);}function hI(t,e,A){return FI(t.a,e,A);}function cI(t,e,A){GS(t,hI(e,t.a,A));}function wI(t,e){e.Nb(t.c),WO(e,t.a,t.b);}function I3(t,e){GB(e,t.c),CL(e,t.a,t.b);}function vn(t,e){return e<t.f&&i0(t.p,e);}function gI(t,e){return e<t.f&&S3(t.p,e);}function _e(t,e){return e<t.g&&Re(t.p,e);}function Zt(t,e){return t!=null&&Tz(t,e);}function Ae(t,e){return (t.u[e]&m1)>>18;}function x3(t,e){return (t.G[e]&7680)>>9;}function dI(t,e){return j0(t.b[e-1][2]);}function Ig(t,e,A){return j0(t.a[e][A]);}function N3(t,e){return N(t.k,e).length;}function BI(t,e){return {type:e,value:t};}function O3(t,e,A){return e.kd(t.kd(A));}function vI(t,e,A,n){t.a.nd(A,e.kd(n));}function FI(t,e,A){return t.a.nd(e,A),e;}function mt(t,e){return t.a.push(e),true;}function xg(t,e,A){t.i[0].a=e,t.i[0].b=A;}function mI(t,e,A){t.a=e^1502,t.b=A^el;}function kI(t,e){t.q=Eh(new kB(t.o,e),t);}function ue(t,e){t.d[t.c]=O1(t.d[t.c],e);}function G3(t){t.g=h(dE,h0,115,0,0,1);}function Ng(){this.a=h(uP,A0,1,8,5,1);}function bo(t){this.d=h(NA,a0,6,t,14,1);}function Og(t){this.c=t,this.b=t.length;}function Ro(){this.a=0,this.b=0,this.c=0;}function Gg(){this.b=new Jl(),this.a=this.b;}function Jg(t,e){this.a=new EA(t.a,VW(e));}function zg(t,e,A){this.a=new sj(t.a,e.a);}function Yg(t){pU||gL(),this.a=new pg(t);}function Kg(){pi.call(this),this.b=new f1();}function mr(){G3(this),qT(this),this.jc();}function At(t){return t.backingJsObject;}function vD(t){return t.$H||(t.$H=++pV);}function bI(t){return A1(nr,typeof t);}function RI(t){return A1(bf,typeof t);}function J3(t){return t.p==null?t.o.P:t.p;}function jI(t){return t.l+t.m*fP+t.h*DP;}function pI(t){return t>=56320&&t<=57343;}function Ii(t,e){return le(t.a,J3(e.c));}function I8(t,e,A,n){t.a+=e,t.b+=A,t.c+=n;}function FD(t,e,A){t.u[e]&=-449,t.u[e]|=A;}function mD(t,e,A){return lF(t,e,e,A),t;}function Fu(t,e,A){return WA(t,e,A,t.C[e]);}function jo(t,e){return (t.u[e]&49152)>>14;}function CI(t,e){return {molecule:t,map:e};}function MI(t,e,A){return vY(rp(t.a,e,A));}function kr(t,e){return e<0?null:N(t.d,e);}function po(t){t.e=Ve,t.a=null,t.d=null;}function x8(t){this.a=t,_l.call(this,t);}function Xg(t){this.a=h(rt,ft,6,t,16,1);}function Zg(){this.a=h(F,k,6,0,15,1);}function Co(t){_U.call(this,t),this.a=t;}function mu(t){ZF.call(this,t),this.e=NaN;}function Fn(t){eu.call(this,(U1(t),t));}function Wg(t){if(!t)throw At(new P3());}function HI(t){if(!t)throw At(new P3());}function kD(t){if(!t)throw At(new r7());}function ku(t){if(!t)throw At(new P7());}function _g(t){if(!t)throw At(new r3());}function VI(t,e){ze(t.a,J3(e.c),new nd());}function bD(t,e){return Bo(t,e.a,e.b,e.c),t;}function Mo(t){t.n==null&&fX(t);}function $g(t,e){t.t=w.Math.min(e,t.u);}function ag(t,e,A){t.Q=-6,t.F=e,t.D=A,Mb(t);}function td(t,e,A){t.F[e]&=-49,t.F[e]|=A<<4;}function EI(t,e,A,n,P){jk(e,A,t.i[n][P]);}function SI(t,e,A,n,P){return RX(t,e,A,n,P);}function wP(t,e,A,n){return kR(t,e,A,n,t.J);}function Ho(t,e){return t.g==null?-1:t.g[e];}function ed(t,e){return t.j==null?-1:t.j[e];}function Ad(t,e){return t&&e&&t instanceof e;}function qI(t,e){return uu(new Array(e),t);}function II(t){return t<0?t+36:t>=36?t-36:t;}function xI(t,e){return R9(),t==e?0:t?1:-1;}function z3(t,e){this.c=1,this.a=t,this.b=e;}function Gn(t,e){this.a=0,this.b=t,this.c=e;}function nd(){this.b=new V0(),this.c=new f1();}function Pd(){this.e=new LP(),this.c=5e5;}function Y3(){_A(),AL.call(this,32,32,null);}function rd(t){cD.call(this,t),lh(this,t);}function K3(t,e){ji(),hB(ul,t)||SD(ul,t,e);}function NI(t,e){t.backingJsObject=e,Ub(t,e);}function $e(t,e){t.a=e,t.c=0,t.b=63,Mq(t.d);}function OI(t,e,A){t.ub(e-t.V/2,A-t.V/2,t.V);}function GI(t,e,A){return t.apply(e,A);}function RD(t,e){return l5(t,e,e.q,e.r,true);}function id(t,e){return xN(t,e,t.a.length-1);}function xi(t,e){return t.i[e].length-t.e[e];}function fd(t,e){return U1(e),new TP(t,e);}function Dd(t,e){return U1(e),new TP(t,e);}function JI(t){return zt(DA(t,32))^zt(t);}function rn(t){return q8(h2(t,0,t.length));}function ud(t){return t.d.length-t.c.length;}function Qd(t){return t.c==1&&t.a==0&&t.b==0;}function A1(t,e){return U1(t),J1(t)===J1(e);}function br(t,e){return ((t.u[e]&g8)>>>27)-1;}function X3(t,e){return t.t==null?null:t.t[e];}function MA(t,e){return t.v==null?null:t.v[e];}function C1(t,e){return w.Math.abs(t.w[e]);}function Ud(t){this.a=new w.Map(),this.b=t;}function od(t){this.a=new w.Map(),this.b=t;}function xe(t,e,A){this.a=t,this.b=e,this.c=A;}function bu(t,e,A){this.b=t,this.c=e,this.a=A;}function Z3(t,e,A){this.c=t,this.a=e,this.b=A;}function W3(t,e,A){this.c=t,this.a=e,this.b=A;}function gP(t,e,A){this.a=t,this.b=e,this.c=A;}function Ld(t,e,A){this.a=t,this.b=e,this.c=A;}function sd(t,e,A){this.a=t,this.c=e,this.b=A;}function yd(t,e,A){this.a=t,this.c=e,this.b=A;}function Vo(t,e,A){so.call(this,e,t),this.a=A;}function q1(t,e,A){so.call(this,e,t),this.a=A;}function N8(t){sG.call(this,t,(JT(),Lc));}function Ni(){this.c=8,this.O=new uo(new AD());}function ld(t,e){this.a=new mv(new b9(t),e);}function Td(t,e){return t.e[e]-t.j[e]+xt(t,e);}function Eo(t,e){return OF(e,KN(t,dT(e)));}function zI(t,e,A){return t.indexOf(k0(e),A);}function YI(t,e,A,n){return _A(),kA(t,e,A,n);}function So(t,e){var A;return A=e,!!G9(t,A);}function hd(t,e){var A;return A=t.d,t.d=e,A;}function cd(t,e){return t.a*=e,t.b*=e,t.c*=e,t;}function _3(t,e){t.u=new V0(),t.t=6,t.v=0,t.r=e;}function qo(t,e){Eu(e,t.R),Nu(e,t.v),pd(e,t.w);}function KI(t,e){z1(t),ER(t,OQ(e,true,null));}function XI(t,e){zi(t.e,e)&&uL(t.d,e);}function Qe(t,e){return gt(V(t.B[e],Pe),0);}function wd(t,e){return t.e[e]-e0(t,e)+xt(t,e);}function j0(t){return Vi(t)?(U1(t),t):t.Xc();}function Rr(t){var e=t.Ic();e.disposeDialog();}function ZI(t,e){t.B=false,UL(t.v,new J7(t,e));}function WI(t,e){t.v=false,UL(t.s,new z7(t,e));}function _I(t,e){t.f=false,UL(t.c,new G7(t,e));}function $I(t){t.b=false,Ja(t.a,new a2(ad(t)));}function jD(t){this.c=t,this.O=new uo(new AD());}function gd(t,e,A){this.a=t,this.b=e,this.c=A;}function Oi(t,e){this.a=t>e?t:e,this.b=t>e?e:t;}function jr(t,e,A){t.A[e]=A,t.T&=t.C[e]==1?0:7;}function aI(t,e){return t.d==null&&Rb(t,e),t.d;}function tx(){var t;return t=qL(null),t.f=2,t;}function dd(t){QL(t.a),vv(t.c,t.b),t.b=null;}function Io(t,e){if(!t)throw At(new C8(e));}function Bd(t,e){if(t!=e)throw At(new r3());}function vd(t){ji(),K5.call(this,t,Sy,new LP());}function $3(){Y1(),this.M=this.N=256,FR(this);}function Fd(t){this.a=t.a,this.b=t.b,this.c=t.c;}function ex(t){return t.g.a.length+t.f.a.length;}function md(t,e,A){P5(A,0,t,e,A.length,false);}function kd(t,e,A,n,P){D6(t,e,A,0,A.length,n,P);}function Ax(t,e,A){return _0(t,e)||_0(t,A)?16:1;}function Ne(t,e,A){t.u[e]&=-49,t.u[e]|=A,t.T&=7;}function bd(t,e,A){t.u[e]&=-49153,t.u[e]|=A<<14;}function pD(t,e){this.e=e,yh(this,(U1(t),t));}function Rd(t,e){this.a=t,this.c=e,this.b=true;}function a3(t){this.f=t,this.e=2,this.a=vs(t);}function tT(t){var e;return e=t.slice(),pv(e,t);}function H(t){var e;return e=qL(t),Kv(t,e),e;}function Gi(t){var e=t.Ec();return e.getText();}function xo(t){var e=t.Kc();return e.getWidth();}function CD(t,e){var A=t.Ic();A.showMessage(e);}function jd(t,e){return mF(e,t.c)||mF(e,t.a);}function Jn(t){return pn(px(U0(t)?pe(t):t));}function nx(t){return R9(),A1(w2,typeof t);}function Px(t){return _A(),new CA(KB(new tu(),t));}function rx(t){return !_4&&(_4=new vo()),Ts(_4,t);}function N(t,e){return ve(e,t.a.length),t.a[e];}function pd(t,e){e.a=e.a*t.c+t.a,e.b=e.b*t.c+t.b;}function ix(t,e){return e==1?t.a+t.f++:t.i+t.g++;}function M9(t,e){return t.p&&e<t.f?iA(t.p,e):0;}function pr(t,e){return t.p&&e<t.g?yP(t.p,e):0;}function Cr(t,e){return t.H[e]==257||t.H[e]==129;}function zn(t,e,A){A?t.u[e]|=I0:t.u[e]&=gy;}function Cd(t,e){e?this.a=e:this.a=new C3(t);}function No(t){this.b=t,this.a=new f1(),CN(this,t);}function Ru(t){return t.p==null&&(t.p=hW(t)),t.p;}function fx(t){return t.d==null&&Rb(t,10240),t.d;}function Dx(t){return dD(new iD(t.e).a)<t.c;}function ju(t,e){return U1(t),t+(""+(U1(e),e));}function le(t,e){var A;return A=e,XP(G9(t,A));}function ae(t,e){var A=t.Jc();return A.setRGB(e);}function Oo(t){var e=t.Kc();return e.getHeight();}function Md(t){var e=t.Bc();return e.grabFocus();}function YA(t){var e=t.Ec();return e.isSelected();}function Gt(t,e){var A=t.Ec();return A.addItem(e);}function Go(t,e){var A=t.Ec();return A.setText(e);}function O8(t,e){var A=t.Ec();return A.setText(e);}function Jo(t,e,A,n){var P=t.Kc();P.setRGB(e,A,n);}function ux(t,e){var A;for(A=0;A<e;++A)t[A]=0;}function Qx(t,e){var A;for(A=0;A<e;++A)t[A]=2;}function je(t,e){t.K!=e&&(t.K=e,e||Yb(t),t.T=0);}function Hd(t,e){this.c=t,this.a=e,this.b=false;}function eT(t){oj(),this.a="Helvetica",this.b=t;}function _P(t){t?this.a=t:this.a=new C3(null);}function Vd(){fF(),XD.call(this,4,(e9(),Bl));}function Ed(){Ed=B1,rc=h(yPt,Ye,143,256,0,1);}function Sd(){Sd=B1,Pc=h(sPt,Ye,142,256,0,1);}function qd(){qd=B1,nc=h(LPt,Ye,141,128,0,1);}function R1(t,e,A,n,P,r){return kk(t,e,A,n,P,0,r);}function Id(t,e,A,n){return (n[t]&n[e]&~n[A])!=0;}function dP(t,e,A){A?t.u[e]|=512:t.u[e]&=-513;}function Ux(t,e){!t.b&&(t.b=new pi()),X8(t.b,k1(e));}function ox(t){t.b||(t.b=t.a.Tb(),t.a.size());}function Yn(t){return Vi(t)?vt((U1(t),t)):t.Yc();}function AT(t){return Array.isArray(t)&&t.ud===PD;}function H9(t){return t.length==0?0:c1(t,o1,It);}function Lx(){return B(d(NV,1),k,6,15,[0,1,2]);}function sx(t,e,A){Zq(new iv(t._,e),new sd(t,e,A));}function yx(t,e,A){rm(0,e,t.length),Wi(t,0,e,A);}function BP(t,e,A){mQ(),jL.call(this,t,e,A,255);}function V9(t,e,A){var n;for(n=0;n<e;++n)t[n]=A;}function lx(t,e){var A;for(A=0;A<e;++A)t[A]=-1;}function Tx(t,e){var A;for(A=0;A<e;++A)t[A]=-1;}function nT(t){var e;for(e=0;e<t.q;e++)t.u[e]&=gy;}function xd(t){var e;for(e=0;e<t.q;e++)t.u[e]&=-449;}function hx(t){var e;for(e=0;e<t.q;e++)t.u[e]&=-513;}function Nd(t){var e;return e=t.a[0],t.e>0?e:-e|0;}function Mr(t){var e;return e=qL(t),e.k=t,e.f=1,e;}function cx(t,e){return !t&&(t=[]),t[t.length]=e,t;}function Od(t,e){return hA(0,t,0,e.a.length,true,e);}function Gd(t,e,A,n){return hA(1,e,0,A,n,new ZU(t));}function zt(t){return U0(t)?t|0:E7(t);}function Jd(t){return t.N==null&&(Ui(t),lZ(t)),t.N;}function n1(t){t.b||(t.b=true,sL(t.f,new Ew(t)));}function MD(t){t.a||(t.a=true,sL(t.e,new qw(t)));}function V1(t){G3(this),this.f=t,qT(this),this.jc();}function PT(t){return !Array.isArray(t)&&t.ud===PD;}function $P(t,e){return t.a.get(e)!==void 0;}function M1(t,e){return pn(Xk(U0(t)?pe(t):t,e));}function q0(t,e){return pn(u5(U0(t)?pe(t):t,e));}function DA(t,e){return pn(nK(U0(t)?pe(t):t,e));}function zd(t,e,A){return t.c?$8(e.b,A.b):Qm(e,A);}function wx(t,e){return S0(t.l&e.l,t.m&e.m,t.h&e.h);}function gx(t,e){return S0(t.l|e.l,t.m|e.m,t.h|e.h);}function dx(t,e){return S0(t.l^e.l,t.m^e.m,t.h^e.h);}function zo(t,e){return t==null?e:e==null?t:t+","+e;}function Bx(t,e,A){return A<0?-1:t.lastIndexOf(e,A);}function vx(t,e,A){A?t.F[e]|=s8:t.F[e]&=-32769;}function Fx(t,e,A){A?t.F[e]|=Q0:t.F[e]&=-65537;}function pu(t,e){if(t<0||t>=e)throw At(new f7());}function rT(t,e){if(t==null)throw At(new c7(e));}function Cu(t){t.a=new Ud(t),t.c=new od(t),++t.b;}function Hr(t,e){return t.a+=e.a,t.b+=e.b,t.c+=e.c,t;}function mx(t,e){return t.a-=e.a,t.b-=e.b,t.c-=e.c,t;}function Yd(t,e){var A=t.Bc();return A.setCursor(e);}function vP(t,e){var A=t.Ec();return A.setEnabled(e);}function Kd(t,e,A){var n=t.Kc();return n.getRGB(e,A);}function kx(t){var e;return e=ri(gn,t),e?Os(e):null;}function bx(t){var e;return e=ri(gn,t),e?Zj(e):null;}function Rx(t){var e;return e=ri(gn,t),e?bj(e):null;}function Te(t){return U0(t)?""+t:fR(t);}function Ji(t){this.b=null,this.a=(yo(),t||vl);}function iT(t){this.c=0,this.d=0,this.b=t,this.a=0;}function Xd(t,e){this.k=t,this.c=0,this.g=e,Fs(this);}function Ue(t,e,A){ke(),this.e=t,this.d=e,this.a=A;}function Zd(t,e){$5(),Me.call(this,t),o_(this,e);}function Wd(t,e,A){C9.call(this,e),Ca(this,t,e,A);}function jx(t,e,A,n,P){for(;e<A;)n[P++]=Yi(t,e++);}function Mu(t,e){return H8(e)?hB(t,e):!!Eo(t.a,e);}function G8(t,e){return e<t.g&&(S8(t.p,e)||t.H[e]==8);}function px(t){return S0(~t.l&x0,~t.m&x0,~t.h&aA);}function _d(t,e,A){return D8(t,e,e.D[0][A],e.D[1][A]);}function Cx(t,e,A){t.u[e]&=-67108865,A&&(t.u[e]|=Tn);}function $d(t){var e;for(e=0;e<t.r;e++)t.F[e]&=-98305;}function Hu(t,e){var A;for(A=0;A<e;++A)t[A]=false;}function Mx(t,e){return G(t,e)<0?-1:G(t,e)>0?1:0;}function FP(t){return t.e==0?t:new Ue(-t.e,t.d,t.a);}function Kn(t,e){for(U1(e);t.ad();)Jq(e,t.bd());}function aP(t,e){var A;return A=Sr(t.a,e,t),A==null;}function zi(t,e){return ze(t.a,e,(R9(),wU))==null;}function fT(t,e){VL.call(this,t,true,e),this.a=true;}function HD(t,e){return Xt(e,t.length+1),t.substr(e);}function uA(t,e){var A=t.Ec();return A.setSelected(e);}function Hx(t,e){var A=t.Jc();return A.drawPolygon(e);}function Yo(t,e){var A=t.Jc();return A.fillPolygon(e);}function ad(t){var e=t.zc();return e.getDrawContext();}function tB(t){var e=t.Ac();return e.getDrawContext();}function VD(t){var e=t.zc();return e.getCanvasWidth();}function Vx(t,e,A){var n=t.zc();return n.onChange(e,A);}function Vr(t){var e=t.zc();return e.getCanvasHeight();}function eB(t,e){var A=t.Bc();return A.createDialog(e);}function Ko(t,e){var A=t.Jc();return A.setLineWidth(e);}function AB(t){var e;e=NK(t),this.a=e,this.b=new jD(e);}function J8(t){var e;for(e=0;t>0;)t>>=1,++e;return e;}function nB(t,e){return t.a+=String.fromCharCode(e),t;}function Oe(t,e){return t.a+=String.fromCharCode(e),t;}function U1(t){if(t==null)throw At(new d9());return t;}function Er(t,e){J(t.c,"  "),J(t.c,e),J(t.c,$A);}function z8(t,e){return new xe(t.a-e.a,t.b-e.b,t.c-e.c);}function DT(t,e){return t.f[e]&&(t.o[e]==1||t.o[e]==2);}function Ex(t,e){var A;A=e+1,A>t.length&&(t.length=A);}function t8(t,e,A){DL(e,t.a.length),t.a.splice(e,0,A);}function Sx(t,e,A,n,P,r){t.F=e,t.B=A,t.D=n,t.C=P,t.A=r;}function Xo(t,e,A){A?t.u[e]|=nU:t.u[e]&=dy,t.T&=7;}function uT(t,e,A){t.H[e]=A==1?1:A==2?2:A==3?4:16,t.T=0;}function Zo(t,e){return t.j[e]==2&&t.o[e]==2&&t.C[e]<=7;}function PB(t,e){return new gP(e.a-t.a,e.b-t.b,e.c-t.c);}function Xn(t){var e;return e=new zA(t.q,t.r),uf(t,e),e;}function rB(t){z1(t),t.eb=w.Math.max(t.eb,3),n1(t.k);}function QT(){QT=B1,lE=(n6(),Zf),sE=$V,yE=aV,TE=tE;}function qx(t){w.setTimeout(function(){throw t;},0);}function iB(t,e){return t.c==null?null:t.c[e];}function Wo(t){if(t==null)throw At(new d9());return t;}function fB(){nu.call(this),this.b=new f1(),this.a=new f1();}function Y8(t){this.e=t,(t&1)==0&&!mU&&!mU&&(mU=new yk());}function B0(t){var e=t.Ec();return e.getSelectedIndex();}function DB(t){var e=t.Jc();return e.getForegroundRGB();}function UT(t){var e=t.Jc();return e.getBackgroundRGB();}function _o(t,e,A){var n=t.Ic();return n.setLayout(e,A);}function Ix(t,e){var A;return A=Cj(t),A?es(A,e):null;}function xx(t){var e;return e=t-10,(e<0?48+t:97+e)&w1;}function Yi(t,e){return Xt(e,t.length),t.charCodeAt(e);}function Nx(t,e){t.c=e,t.e*w.Math.pow(10,-t.b/1.36);}function $o(t,e,A){t.d=6,t.e=A,t.c=e,t.f=(e[t.e]&63)<<11;}function uB(t,e,A){this.i=t,this.d=e,this.f=iX(A,t,e);}function QA(t,e,A,n){this.c=t,this.d=e,this.b=A,this.a=n;}function qt(t,e,A,n){this.c=t,this.b=e,this.d=A,this.a=n;}function Ki(t,e,A,n){this.b=t,this.a=e,this.c=A,this.d=n;}function oT(t,e){this.a=l4,this.d=t,this.b=e,this.c=-1;}function ao(t){this.d=t,this.a=this.d.b,this.b=this.d.c;}function QB(t,e,A,n){so.call(this,t,n),this.b=e,this.a=A;}function UB(t,e,A){KO.call(this,t,e,e.D[0][A],e.D[1][A]);}function Ox(t,e,A,n){return {x:t,y:e,width:A,height:n};}function Sr(t,e,A){return H8(e)?SD(t,e,A):Pb(t.a,e,A);}function qr(t,e){return H8(e)?xu(t,e):XP(Eo(t.a,e));}function LT(t,e){return new Su(t.d,t.a,t.b,t.c.jd(e));}function Zn(t){return /\d/.test(String.fromCharCode(t));}function Gx(t){return String.fromCharCode.apply(null,t);}function sT(t,e){return J1(t)===J1(e)||t!=null&&VP(t,e);}function K8(t,e){return J1(t)===J1(e)||t!=null&&VP(t,e);}function tL(t,e,A){return O0(t,e,A,_0(t,e)||_0(t,A)?16:1);}function Vu(t,e,A,n){return A<n?t.a[e][n][A]:t.a[e][A][n];}function Jx(t,e,A,n){for(var P=0;P<=n;P++)t[P]=e[A+P];}function eL(t,e,A,n){var P=t.Jc();return P.setFont(e,A,n);}function zx(t,e){var A=t.Ec();return A.setSelectedItem(e);}function yT(t,e){var A;return A=t.C[e],A==7||A==15||A==33;}function Yx(t,e){var A;return A=TK(t,e),A?es(A,e):null;}function Kx(t,e){var A;return A=lY(t.a,e),t.a=gq(t.a,A),A;}function oB(t,e){return t.c!=e.c?t.c>e.c?1:-1:0;}function Xx(t){return t.a==t.b?-1:t.c[t.a++];}function lT(t,e){var A;return A=Cn(t,e),A+WA(t,e,A,t.C[e]);}function Zx(t,e){var A;for(A=0;A<e.q;A++)bD(t.k[A],e.J[A]);}function Wx(t,e){t.H=e,t.eb=w.Math.max(t.eb,1),n1(t.k);}function Eu(t,e){e.c*=t.c,e.a=e.a*t.c+t.a,e.b=e.b*t.c+t.b;}function LB(t,e,A){e<A?t.u[A][e]=true:t.u[e][A]=true;}function AL(t,e,A){_A(),A?this.a=A:this.a=new zA(t,e);}function Su(t,e,A,n){this.d=t,this.a=e,this.b=A,this.c=n;}function sB(t,e){this.v=new nD(),this.L=t,this.G=e,this.xb();}function yB(t){this.b=new wL(11),this.a=(yo(),t||vl);}function lB(t,e){return new Su(e.d,new fg(e,t),e.b,e.c);}function TB(t){return qr((!j4&&(j4=new hp()),j4).b,k1(t));}function _x(t){return String.fromCodePoint(t).trim()==="";}function mn(t,e){return t.a[hA(0,e,0,t.a.length,true,t)][2];}function HA(t,e){return t.a[hA(0,e,0,t.a.length,true,t)][5];}function Ir(t,e){return t.a[hA(0,e,0,t.a.length,true,t)][4];}function e8(t,e){return t.a[hA(0,e,0,t.a.length,true,t)][3];}function hB(t,e){return e==null?!!Eo(t.a,null):$P(t.c,e);}function TT(t,e){Wl.call(this,t),DL(e,t.size()),this.a=e;}function E9(t,e){var A;return A=qL(t),Kv(t,A),A.f=e?8:0,A;}function ED(t,e,A){var n;return n=new xw(eB(t,e)),aJ(n,A),n;}function $x(t,e){return t.b!=e.b?t.b<e.b?-1:1:0;}function UA(t,e,A){return pt(e,A,t.length),t.substr(e,A-e);}function cB(t,e,A){var n=t.Ac();return n.setDimensions(e,A);}function _t(t,e){var A=t.Ec();return A.setSelectedIndex(e);}function wB(t,e){var A;return A=Uu(t.sd),e==null?A:A+": "+e;}function hT(t,e,A){var n=t.Bc();return n.showHelpDialog(e,A);}function cT(t,e,A,n){var P=t.Jc();return P.drawString(e,A,n);}function nL(t,e,A,n){var P=t.Jc();return P.fillCircle(e,A,n);}function wT(t,e,A){Fd.call(this,PB(new FT(t,e),new FT(t,A)));}function v0(t,e,A){Fd.call(this,PB(new Xi(t,e),new Xi(t,A)));}function ax(t){var e;for(e=aj(t);e;)aT(t,e,fU),e=aj(t);}function tN(t){var e;for(e=Cv(t);e;)aT(t,e,TC),e=Cv(t);}function eN(t){var e;for(e=0;e<t.R.f;e++)Cx(t.R,e,t.M[e]);}function AN(t,e){var A;for(A=0;A<e;++A)t[A]=new $l(t[A]);}function gB(t){var e;this.a=t,e=this.Bc(),e.register(this);}function qu(t){var e;e=t.a,t.a=t.b,t.b=e,e=t.c,t.c=t.d,t.d=e;}function nN(t,e){return Nr(t,e.c,e.d)&&Nr(t,e.c+e.b,e.d+e.a);}function PN(t,e){return Kr(t.toLowerCase(),e.toLowerCase());}function dB(t){return /[A-Z]/i.test(String.fromCharCode(t));}function BB(t){return /[A-Z]/i.test(String.fromCharCode(t));}function rN(t){return ET(t.$c().Vb(),oO(new iw(),new fw()));}function iN(t,e){return qr(t.a,e)!=null?qr(t.a,e):(X9(),x2);}function gT(t,e){return ((t.G[e]&7680)>>9)+((t.G[e]&wy)>>13);}function fN(t,e){return Cr(t.V,e)&&(bs(t,e)!=-1||XL(t,e)!=-1);}function vt(t){return Math.max(Math.min(t,It),-2147483648)|0;}function kn(t){return w.Math.sqrt(t.a*t.a+t.b*t.b+t.c*t.c);}function DN(t){return t>=5&&t<=9||t>=15&&t<=17||t==35||t==53;}function uN(t){return t==2||t==10||t==18||t==36||t==54||t==86;}function PL(t,e){return t.a[hA(0,e,0,t.a.length,true,t)][5].a;}function rL(t,e){return t.a[hA(0,e,0,t.a.length,true,t)][6]>0;}function vB(t,e){return t.a[hA(0,e,0,t.a.length,true,t)][8]>0;}function A8(t,e,A,n){t.F[e]&=-131080,t.F[e]|=A,n&&(t.F[e]|=4);}function W0(t,e,A,n){var P;return P=W9(t,6),Bo(t.J[P],e,A,n),P;}function FB(t,e,A,n){var P;return P=ZA(t,e,A),P!=-1&&oh(t,P,n);}function dT(t){var e;return t==null?0:(e=a8(t),e|0);}function QN(t){if(t.Wc())return null;var e=t.k;return cU[e];}function mB(t,e){return Zt(e,84)?dk(t.a,e):false;}function Iu(t,e){return t.s==null&&(Ui(t),z$(t,e,t.R.J)),t.s;}function BT(t,e){var A,n;return A=e,n=new XU(),kj(t,A,n),n.d;}function iL(t,e){var A;A=t.b,t.b=e.b,e.b=A,A=t.d,t.d=e.d,e.d=A;}function kB(t,e){Bs(),this.b=t,ut(this.b,63),this.d=e,$R(this);}function Xi(t,e){this.a=t[3*e],this.b=t[3*e+1],this.c=t[3*e+2];}function bB(t,e,A){pU||gL(),XZ(e),this.a=new K5(t.a,e,new LP());}function xr(t,e,A,n,P){var r=t.Jc();return r.drawLine(e,A,n,P);}function UN(t,e){return bF(t,e)?(eF(t),true):false;}function RB(t,e){var A=t.a=t.a||[];return A[e]||(A[e]=t.Rc(e));}function mP(t,e){return (t.u[t.D[0][e]]&t.u[t.D[1][e]]&512)!=0;}function xu(t,e){return e==null?XP(Eo(t.a,null)):rg(t.c,e);}function jB(t,e){return e===t?"(this Map)":e==null?Pr:$D(e);}function oN(t,e){t.b.a.length!=0&&J(t.b,"<NL>"),J(t.b,e);}function LN(t,e,A){t.b=null,t.a=e,A==null?t.c=Ts(t,e):t.c=A;}function sN(t,e,A){t.e=null,t.d=e,A==null?t.f=Ts(t,e):t.f=A;}function pB(t,e,A){this.k=t,this.c=2,this.g=A,this.j=e,Fs(this);}function yN(t,e,A,n,P){var r=t.Jc();return r.clearRect(e,A,n,P);}function SD(t,e,A){return e==null?Pb(t.a,null,A):sm(t.c,e,A);}function lN(t){var e;return q8(h2(t,0,(e=t.length,JD(),e)));}function TN(t,e){return n8(e),RP(t,h(q,I,6,e,15,1),0,e);}function qD(t,e){return n8(e),RP(t,h(yt,wt,6,e,15,1),0,e);}function bn(t,e){return n8(e),RP(t,h(F,k,6,e,15,1),0,e);}function fL(t,e){return n8(e),RP(t,h(Yt,at,6,e,15,1),0,e);}function hN(){return IU||(!IU&&(IU=new Pd()),IU);}function vT(t){if(t<0)throw At(new gr("bitIndex < 0: "+t));}function DL(t,e){if(t<0||t>e)throw At(new gr(L6+t+s6+e));}function ve(t,e){if(t<0||t>=e)throw At(new gr(L6+t+s6+e));}function Xt(t,e){if(t<0||t>=e)throw At(new L3(L6+t+s6+e));}function FT(t,e){this.a=t.J[e].a,this.b=t.J[e].b,this.c=t.J[e].c;}function CB(t){Bs(),this.b=t,ut(this.b,63),this.d=xk(t),$R(this);}function cN(t){return /[A-Z\d]/i.test(String.fromCharCode(t));}function wN(t){return t.r?"Unresolved SMARTS features:"+t.r:"";}function gN(t){throw new Error("missing static resource: "+t);}function MB(t){var e,A;for(e=0,A=t-1;A>0;)A>>=1,++e;return e;}function ID(t){var e=t.Jc();return e.getSelectionBackgroundRGB();}function HB(){this.a=lk("/resources/forcefield/mmff94/def.csv");}function VB(){this.a=AP("/resources/forcefield/mmff94/dfsb.csv");}function EB(){this.a=AP("/resources/forcefield/mmff94/bndk.csv");}function SB(){this.a=lk("/resources/forcefield/mmff94/atom.csv");}function qB(t){g7(),zL.call(this,t),this.a="",this.b=t,this.a="";}function IB(t,e){Ue.call(this,1,2,B(d(F,1),k,6,15,[t,e]));}function dN(){return iQ(),B(d(Fl,1),Ye,95,0,[qE,qU,sc]);}function BN(){return X9(),B(d(Ltt,1),Ye,107,0,[J4,Y4,z4,Ti,x2]);}function xB(t,e){return j0(t.a[hA(0,e,0,t.a.length,true,t)][1]);}function NB(t,e){return j0(t.a[hA(0,e,0,t.a.length,true,t)][4]);}function OB(t,e){return j0(t.a[hA(0,e,0,t.a.length,true,t)][2]);}function vN(t,e){return r0(t.u,z(t.u,0,e))&&r0(t.u,z(t.u,1,e));}function Nr(t,e,A){return e>=t.c&&e<=t.c+t.b&&A>=t.d&&A<=t.d+t.a;}function Y0(t,e,A){return kA(t.J[e].a,t.J[e].b,t.J[A].a,t.J[A].b);}function FN(t,e,A){return gt(V(e.c[t.d[A]],M1(1,t.b[A])),0);}function V(t,e){return pn(wx(U0(t)?pe(t):t,U0(e)?pe(e):e));}function Y(t,e){return pn(gx(U0(t)?pe(t):t,U0(e)?pe(e):e));}function Or(t,e){return pn(dx(U0(t)?pe(t):t,U0(e)?pe(e):e));}function kP(t){return ke(),G(t,0)>=0?we(t):FP(we(p0(t)));}function Zi(t,e){var A;return A=Cn(t,e),A+WA(t,e,A,t.C[e])-G1(t,e);}function mN(t,e){return e<t.g&&(S8(t.p,e)||t.H[e]==8)?1.5:dt(t,e);}function Gr(t,e,A){return (t.H[e]==257||t.H[e]==129)&&t.D[0][e]==A;}function GB(t,e){var A;for(A=0;A<t.q;A++)t.J[A].a*=e,t.J[A].b*=e;}function mT(t,e,A,n,P){t.i[0].a=e,t.i[0].b=A,t.i[1].a=n,t.i[1].b=P;}function uL(t,e){U1(e),t.a[t.c]=e,t.c=t.c+1&t.a.length-1,qz(t);}function t1(t){return kD(t.a<t.c.a.length),t.b=t.a++,t.c.a[t.b];}function Nu(t,e){e.c=e.c*t.c+t.a,e.d=e.d*t.c+t.b,e.b*=t.c,e.a*=t.c;}function QL(t){ku(t.b!=-1),t.c.removeAtIndex(t.b),t.a=t.b,t.b=-1;}function xD(t,e,A){lm(e,A,t.size()),this.c=t,this.a=e,this.b=A-e;}function JB(t,e,A){var n;lm(e,A,t.a.length),n=A-e,t.a.splice(e,n);}function f0(t,e,A,n){var P=t.Ic(),r=e.Ec();return P.add(r,A,n);}function zB(t,e){var A;return A=1-e,t.a[A]=_u(t.a[A],A),_u(t,e);}function S9(t,e){var A,n;return n=V(t,h1),A=M1(e,32),Y(A,n);}function kT(t,e){if(e==null)throw At(new d9());return Mu(t.e,e);}function YB(t,e){if(e==null)throw At(new d9());return qr(t.e,e);}function KB(t,e){return t.j=null,f6(t,new nn(new b9(e)))?t.j:null;}function bT(t,e,A){return A=wK(A),t.replace(new RegExp(e,"g"),A);}function kN(t,e){var A;return e==null?null:_5(t,KA((A=e,c0(),A)));}function XB(t,e){var A;return A=e.C[t],A<(c2(),IA).length?IA[A]:2;}function bN(t,e){var A;return A=n$(t,e),A?new _P(A):null;}function RT(t,e,A,n,P){var r=t.Jc();return r.fillRectangle(e,A,n,P);}function UL(t,e){var A=t.Ic();function n(){e.nc();}A.showDialog(n);}function RN(t,e,A){var n;n=nz();try{return GI(t,e,A);}finally{$N(n);}}function Jr(t){var e;return U0(t)?(e=t,e==-0?0:e):cO(t);}function ZB(t,e){var A;return A=YB(t,e),++t.a,A&&(++A.b,++t.b),A;}function ND(t,e){var A;return A=t.b?le(t.b,k1(e)):null,A?A.a:e-1;}function oL(t,e){var A;return A=t.c?le(t.c,k1(e)):null,A?A.a:e-1;}function jN(t){var e,A;for(A=Fj(t);A;)e=UY(A),aT(t,e,uU),A=Fj(t);}function pN(t){Ms();var e,A;for(ut(t,1),A=t.f,e=0;e<A;e++)yp(t,e);}function CN(t,e){var A=t;e.setEventHandler(function(n,P){A.Dc(n,P);});}function jT(t,e,A,n){var P=t.Jc();return P.drawCenteredString(e,A,n);}function MN(t,e,A,n,P){var r=t.Jc();return r.drawDottedLine(e,A,n,P);}function pT(t,e,A,n,P){this.a=t,this.b=e,this.g=A,this.f=n,this.e=P;}function LL(t,e){e.K=t.K,e.L=t.L,e.S=t.S,e.I=t.I,e.P=t.P,e.T=t.T&24;}function Rn(t){for(;t.d>0&&t.a[--t.d]==0;);t.a[t.d++]==0&&(t.e=0);}function WB(t){return kD(t.a<t.c.size()),t.c.getAtIndex(t.b=t.a++);}function HN(t){return function(){return RN(t,this,arguments);};}function VN(t){if(!("stack"in t))try{throw t;}catch{}return t;}function EN(){return t9(),B(d(stt,1),Ye,97,0,[yl,sl,Ll,ll,bU,Tl]);}function SN(){return JT(),B(d(cPt,1),Ye,80,0,[Lc,VE,EE,SE]);}function CT(){CT=B1,JE=B(d(F,1),k,6,15,[40,20,20,100,20]);}function mA(t,e){ke(),Ue.call(this,t,1,B(d(F,1),k,6,15,[e]));}function MT(t){this.a=h(F,k,6,t,15,1),this.b=h(F,k,6,t,15,1);}function _B(){this.a=AP("/resources/forcefield/mmff94/covrad.csv");}function qN(){throw new Error("drug likeness must be assessed first");}function oA(t){var e=t.Ic(),A=e.createComboBox();return new l7(A);}function oe(t,e){var A=t.Ic(),n=A.createLabel(e);return new T7(n);}function sL(t,e){var A=t,n=t.Bc();n.runLater(function(){A.Cc(e);});}function bP(t,e){return e.e==0||t.e==0?y9:(P9(),Hs(t,e));}function Ou(t,e){t.e&&(!t.r&&(t.r=new V0()),J(t.r," "),J(t.r,e));}function n8(t){if(t<0)throw At(new d7("Negative array size: "+t));}function $B(t,e,A){return dD(new iD(t.e).a)<t.c?Hv(t,e,A):null;}function OD(t,e,A){var n;return n=new uB(e,A,t.D),zS(n,Bz(t,n)),n;}function aB(t,e){var A;return A=t-e,A>=Q1?A-=F0:A<b6&&(A+=F0),A;}function X8(t,e){var A;return A=a9(t,e),A<0&&(A=-(A+1),t8(t.d,A,e)),A;}function IN(t,e){var A;for(A=t.d-1;A>=0&&t.a[A]==e[A];A--);return A<0;}function q9(t,e,A){var n;return n=(ve(e,t.a.length),t.a[e]),t.a[e]=A,n;}function xN(t,e,A){for(;A>=0;--A)if(K8(e,t.a[A]))return A;return  -1;}function NN(t,e){var A=t.Fc(),n=new CA(e);return A.copyMolecule(n);}function HT(t,e){var A;return A=t.u[e]&hn,A==0?0:A==re?2:A==I1?3:4;}function VT(t,e){var A;return A=t.C[e],A==8||A==16||A==34||A==52||A==84;}function ON(t,e){var A;return A=t.C[e],A==9||A==17||A==35||A==53||A==85;}function tv(t,e,A){var n;for(n=0;n<t.e.length;n++)t.a[n]+=e,t.b[n]+=A;}function ev(t,e,A,n){var P=t.Bc();return P.createImageFromBase64(e,A,n);}function Av(t,e,A){t.b=e,t.a=A,t.c&&t.e*w.Math.pow(10,-e/1.36);}function nv(t){mi(t.g.a,0),mi(t.f.a,0),mi(t.a.a,0),t.b=null,t.d=-1;}function Pv(t,e){return e<t.g.a.length?N(t.g,e):N(t.f,e-t.g.a.length);}function GN(t,e){return P9(),e<Qc.length?aX(t,Qc[e]):bP(t,ii(e));}function ET(t,e){var A;return e.c.kd(aO(t,e.d.pc(),(A=new Kw(e),A)));}function JN(t){var e,A;return A=_5(new i3(),KA((e=t,JD(),e))),new _P(A);}function yL(t){var e;for(e=t.length-1;e>=0&&(t[e]|0)==0;--e);return e;}function Wn(t){var e,A;e=Um(t);do A=e,dW(t),e=Um(t);while(A!=e);return e;}function rv(t,e){var A;return A=new n7(),A.c=e,ut(t,15),cp(A,t,true),A.b.a;}function iv(t,e){Nk(),this.c=ED(t,"Edit Text",this),this.e=e,v_(this);}function ST(t){this.d=t,this.b=this.d.a.entries(),this.a=this.b.next();}function fv(){this.a=AP("/resources/forcefield/mmff94/vanderwaals.csv");}function zr(t){Sh(),mI(this,zt(V(q0(t,24),oi)),zt(V(t,oi)));}function Yr(t){Y1(),Fv.call(this,t?t.M:256,t?t.N:256),t&&uf(t,this);}function Dv(t){t.cb&&(uf(t.cb,t.V),t.I=t.bb?new us(t.bb):null);}function qT(t){return t.j&&(t.backingJsObject!==vp&&t.jc(),t.g=null),t;}function zN(t,e){return t.a=(t.a+e.a)/2,t.b=(t.b+e.b)/2,t.c=(t.c+e.c)/2,t;}function lL(t,e){return e[0]!=-1&&e[3]!=-1?IQ(t,e):P_(t.o,t,e);}function YN(t,e){var A;return A=OQ(t,e,null),A?new _P(A):null;}function fn(t,e){var A=t.Ic(),n=A.createCheckBox(e);return new y7(n);}function KN(t,e){var A;return A=t.a.get(e),A??h(uP,A0,1,0,5,1);}function Dn(t,e){if(!e||e.q==0){t.H=null;return;}t.H=e,t.L=false,ut(t.H,1);}function Ge(t,e,A,n){n?t.G[e]|=A:t.G[e]&=~A,t.T=0,n&&A!=0&&(t.K=true);}function uv(t,e,A){return t.f.k.D[0][e]==A?t.f.k.D[1][e]:t.f.k.D[0][e];}function XN(t,e){return w.Math.pow(10,w.Math.log10(2e3)*t/(e-1)-1);}function ZN(t){t.eb=w.Math.max(t.eb,4),n1(t.k),N1(t,new q1(t,1,false));}function Qv(t,e){var A;t.b&&(z1(t),A=new Xm(t._,t.V,e),WI(A,new Cw(t)));}function N1(t,e){var A;A=e.j,(A&t.J)==0&&(sL(t._,new yd(t,A,e)),t.J|=A);}function TL(t,e,A){var n,P;n=e>>4,P=2*(e&15),t.a[n]&=~(3<<P),t.a[n]|=A<<P;}function hL(t,e,A,n){var P;return P=h(F,k,6,e,15,1),jY(P,t,e,A,n),P;}function Uv(t,e,A){var n=t.Bc(),P=n.createImage(e,A);return new WU(P);}function ov(t,e){var A,n;return A=e.dd(),n=G9(t,A),!!n&&K8(n.d,e.ed());}function Kr(t,e){var A,n;return A=(U1(t),t),n=(U1(e),e),A==n?0:A<n?-1:1;}function WN(t){var e,A;return e=t.c.e.length,A=t.c.e.length,A<e?-1:A>e?1:0;}function _N(t){var e,A;return e=t.c.e.length,A=t.c.e.length,e<A?-1:e>A?1:0;}function cL(t){var e,A,n;return e=t&x0,A=t>>22&x0,n=t<0?aA:0,S0(e,A,n);}function Lv(t){var e;return !!(t.r&&(e=AG(t.r),YR(t,e)));}function $N(t){t&&mO((Q3(),a4)),--CU,t&&MU!=-1&&(rI(MU),MU=-1);}function sv(t){return t==5||t==6||t==7||t==8||t==15||t==16||t==33||t==34;}function wL(t){cu(this),Io(t>=0,"Initial capacity must not be negative");}function gL(){throw new Error("static resources must be registered first");}function yv(t){this.b=AP("/resources/forcefield/mmff94/stbn.csv"),this.a=t;}function lv(t){this.b=AP("/resources/forcefield/mmff94/bond.csv"),this.a=t;}function dL(t,e,A){this.b=t,this.d=e,this.e=A,this.c=this.d+(""+this.e);}function I9(t,e){return e==0||t.e==0?t:e>0?Im(t,e):Xb(t,-e);}function IT(t,e){return e==0||t.e==0?t:e>0?Xb(t,e):Im(t,-e);}function BL(t,e){return H8(e)?e==null?i5(t.a,null):pF(t.c,e):i5(t.a,e);}function Tv(t,e){return t.a?J(t.a,t.b):t.a=new Fn(t.d),hg(t.a,e),t;}function vL(t,e){var A;return A=h(F,k,6,e,15,1),sA(t,0,A,0,t.length),A;}function FL(t,e){var A;for(A=t-e;A<b6;)A+=F0;for(;A>Q1;)A-=F0;return A;}function hv(t,e){var A;vT(e),A=e/31|0,Ex(t.a,A),t.a[A]=t.a[A]|0|1<<e%31;}function GD(t){var e;return e=(c2(),IA)[t<IA.length?t:6],e*(.9);}function cv(t,e){var A,n;return n=t.j.k[e],A=t.j.j[e],n==0?t.b:n==1?A:t.a+A;}function he(t,e,A,n,P,r){var i=t.Ic(),f=e.Ec();return i.add(f,A,n,P,r);}function xT(t,e,A,n,P){C9.call(this,e),this.c=GX(this,t,n,e,A),this.b=P;}function mL(t,e,A,n){var P;return P=h(F,k,6,e+1,15,1),vW(P,t,e,A,n),P;}function h(t,e,A,n,P,r){var i;return i=Uk(P,n),P!=10&&B(d(t,r),e,A,P,i),i;}function kL(t,e){t.eb=w.Math.max(t.eb,e),n1(t.k),N1(t,new q1(t,1,true));}function LA(t,e){var A;return A=(ve(e,t.a.length),t.a[e]),t.a.splice(e,1),A;}function wv(){return x1(),""+null.vd(),null;}function gv(){gv=B1,yc=B(d(NA,1),a0,6,14,[0,1,3,7,15,31,63,127]);}function JD(){JD=B1,new mg(),new T3("ISO-LATIN-1"),new T3("ISO-8859-1");}function aN(t){if(!t)throw At(new ro("Unable to add element to queue"));}function pt(t,e,A){if(t<0||e>A||e<t)throw At(new L3(YQ+t+o6+e+mp+A));}function tO(t,e){return t.a[e]>-1?t.a[e]:t.C[e]==1?c$(t,e):u6(t,e);}function ce(t,e,A,n){t.u[e]&=-8,A!=3&&(t.u[e]&=dy),t.u[e]|=A,n&&(t.u[e]|=4);}function dv(t,e){return e<t.g&&(S8(t.p,e)||t.H[e]==8)?0:t.H[e]&127;}function Bv(t,e){return e<t.g&&(S8(t.p,e)||t.H[e]==8)?0:t.H[e]&127;}function vv(t,e){var A;return A=new XU(),A.c=true,A.d=e.ed(),kj(t,e.dd(),A);}function Z8(t,e){var A;return A=x9(t,e,0),A==-1?false:(LA(t,A),true);}function bL(t){var e;return e=-1,t.a!=-2?(e=t.a,t.a=-2):e=t.b.Oc(),e;}function eO(t){var e;for(ut(t,15),e=0;e<t.q;e++)(t.u[e]&3)!=0&&He(t,e,1,0);}function zD(t,e){var A;return A=hA(0,e,0,t.a.length,true,t),A>=0&&t.a[A][7]>0;}function YD(t){this.b=h(yt,wt,6,t,15,1),this.c=h(yt,wt,6,t,15,1),this.a=0;}function NT(t){this.e=t,this.d=h(F,k,6,0,15,1),this.c=h(F,k,6,0,15,1);}function OT(t){this.e=t,this.b=this.e.a.entries(),this.a=h(uP,A0,1,0,5,1);}function RL(t,e){ho.call(this,t,e),this.a=h(hPt,A0,123,2,0,1),this.b=true;}function Fv(t,e){this.M=w.Math.max(1,t),this.N=w.Math.max(1,e),FR(this);}function AO(t){return A1(nr,typeof t)||Ad(t,w.java.lang.Number$impl);}function nO(t,e){try{t.c=Qn(e);}catch(A){if(A=t0(A),!Zt(A,40))throw At(A);}}function Gu(t,e,A){var n=t.Ic(),P=n.createTextField(e,A);return new h7(P);}function Ju(t,e){var A;for(A=e;A<t.length;A++)if(t[A]==62)return A;return  -1;}function GT(t){var e;for(e=0;e<t.q;e++)if(t.J[e].c!=0)return  true;return  false;}function z1(t){!t.cb&&(t.cb=new $3()),uf(t.V,t.cb),t.bb=t.I?new us(t.I):null;}function W8(t,e,A,n,P,r,i){i.a=e.a+P,i.c=e.c+r,i.b=e.b+P,i.d=e.d+r,Hn(t,i,A,n);}function jL(t,e,A,n){mQ(),this.a=(n&255)<<24|(t&255)<<16|(e&255)<<8|A&255;}function mv(t,e){mm(),this.d=e,this.i=new nn(t),this.g=new k9(),this.b=new k9();}function P8(){this.g=new f1(),this.f=new f1(),this.a=new f1(),this.d=-1,this.c=false;}function kv(t,e,A){this.b=w.Math.max(t,e),this.c=w.Math.min(t,e),this.a=A;}function bv(){this.b=h(yt,wt,6,64,15,1),this.c=h(yt,wt,6,64,15,1),this.a=0;}function Rv(t){this.b=AP("/resources/forcefield/mmff94/angle.csv"),this.a=t;}function jv(){this.a=AP("/resources/forcefield/mmff94/herschbachlaurie.csv");}function pv(t,e){return Sv(e)!=10&&B(_L(e),e.td,e.__elementTypeId$,Sv(e),t),t;}function PO(t,e){var A;for(A=Dl[e]/2;t<-A;)t+=F0;for(;t>=A;)t-=Dl[e];return t;}function r8(t,e){var A;for(A=0;A<t.e.length;A++)if(e==t.e[A])return A;return  -1;}function x9(t,e,A){for(;A<t.a.length;++A)if(K8(e,t.a[A]))return A;return  -1;}function pL(t){return t.a.d!=t.c?rg(t.a,t.b.value[0]):t.b.value[1];}function rO(t){return G(t,0)==0&&2<VU.length?VU[2]:new nf(t,2);}function Cv(t){return t.d.a.length<2?null:new Kb(N(t.d,0),N(t.d,1));}function Mv(t,e,A,n){return U1(t),U1(e),U1(A),U1(n),new Su(t,e,A,new Dw());}function Wi(t,e,A,n){var P;n=(yo(),n||vl),P=t.slice(e,A),_h(P,t,e,A,-e,n);}function iO(t,e,A,n,P){pt(e,A,t.length),pt(P,P+(A-e),n.length),jx(t,e,A,n,P);}function Hv(t,e,A){if(e==null||A==null)throw At(new d9());return Sr(t.e,e,A);}function JT(){JT=B1,Lc=new lu("All",0),VE=new Cg(),EE=new qg(),SE=new Mg();}function zT(t,e){return new gP(t.b*e.c-t.c*e.b,t.c*e.a-t.a*e.c,t.a*e.b-t.b*e.a);}function _i(t,e){var A;return e==null||e.length==0?null:vh(t,KA((A=e,c0(),A)));}function Vv(t,e){return ut(t,7),t.o[e]==2&&t.j[e]==2?ib(t,e):Ns(t,e,false);}function fO(t,e){e&&(t.eb=w.Math.max(t.eb,1),n1(t.k),N1(t,new q1(t,1,true)));}function DO(t,e){e&&(t.eb=w.Math.max(t.eb,1),n1(t.k),N1(t,new q1(t,1,true)));}function uO(t,e){var A,n;for(n=new f1(),A=0;A<e.r;A++)mt(n,new UB(t,e,A));return n;}function YT(t,e){var A,n;for(n=new Wt(t.a);n.a<n.c.a.length;)A=t1(n),A.mc(e);}function QO(t,e){var A,n;for(n=new Wt(t.a);n.a<n.c.a.length;)A=t1(n),A.mc(e);}function UO(t){var e,A;return new _P((e=new P8(),A=new nn(new b9(t)),cY(e,A),e));}function oO(t,e){return LT(nG(fd(t,new Ol()),Dd(e,new Ol()),new Lw()),new sw());}function p0(t){var e;return U0(t)&&(e=0-t,!isNaN(e))?e:pn(Wr(t));}function KT(t,e,A,n){if(A==null||A.length==0){SL(e),e.d=null;return;}gp(t,e,A,n,0);}function Ev(t,e){var A;for(A=0;A<e.length;A++)if(e[A]==t)return  true;return  false;}function CL(t,e,A){var n;for(n=0;n<t.q;n++)t.J[n].a+=e,t.J[n].b+=A;t.U+=e,t.V+=A;}function Je(t,e){Y1();var A;for(A=t-e;A<b6;)A+=F0;for(;A>Q1;)A-=F0;return A;}function LO(t,e){var A;return A=t.C[e],A==3||A==11||A==19||A==37||A==55||A==87;}function sO(t,e){var A;return A=t.C[e],A==4||A==12||A==20||A==38||A==56||A==88;}function yO(t){return t==1||t>=5&&t<=9||t>=14&&t<=17||t>=32&&t<=35||t>=52&&t<=53;}function Sv(t){return t.__elementTypeCategory$==null?10:t.__elementTypeCategory$;}function ML(t){return t.v<<=t.t,(!t.r||t.v!=63)&&(t.v+=64),Oe(t.u,t.v&w1),t.u.a;}function XT(t){var e;return e=t.b.a.length==0?null:N(t.b,0),e!=null&&$T(t,0),e;}function lO(t,e){var A,n;for(A=0,n=0;n<t.b;n++)t.e[n][e]&&t.c[n]==-3&&++A;return A;}function TO(t,e){return new xe(t.b*e.c-t.c*e.b,-(t.a*e.c-t.c*e.a),t.a*e.b-t.b*e.a);}function qv(t,e){this.a=j0(t.b[e][5]),this.b=j0(t.b[e][6]),this.c=j0(t.b[e][7]);}function $i(t,e){return (t.F[e]&768)>>8!=1&&(t.F[e]&768)>>8!=2?-1:(t.F[e]&ln)>>10;}function Iv(t,e,A){t8(t.g,A,e),t.b[e.a]=true,e.g!=-1&&(t.c[D1(t.k,e.a,e.g)]=true);}function hO(t,e){t.L||(o$(t,e),t.L=true),t.r||(y_(t,e),x$(t),fY(t),t.r=true);}function xv(t,e){return t.V.q!=0&&t.r?NN(t.r,e?qb(t.V):Xn(t.V)):false;}function cO(t){return jh(t,(Xr(),Ac))<0?-jI(Wr(t)):t.l+t.m*fP+t.h*DP;}function wO(t,e,A,n,P){return U1(t),U1(e),U1(A),U1(n),U1(P),new Su(t,e,A,n);}function Nv(t,e,A,n,P,r){this.c=t,this.e=e,this.d=A,this.f=n,this.b=P,this.a=r;}function gO(t){this.e="",this.c=9,this.d=0,this.i=h(X4,A0,56,1,0,1),this.i[0]=t;}function KD(){this.i=h(X4,A0,56,2,0,1),this.i[0]=new c9(),this.i[1]=new c9(),this.a=0;}function Xr(){Xr=B1,tc=S0(x0,x0,524287),cE=S0(0,0,l8),ec=cL(1),cL(2),Ac=cL(0);}function dO(){return e9(),B(d(lPt,1),Ye,72,0,[ME,RE,bE,jE,Bl,pE,se,CE]);}function ZT(t,e){return t.o[e]==2&&t.j[e]==2&&t.n[e][0]==2&&t.n[e][1]==2&&t.C[e]<=7;}function BO(t){var e,A;for(A=t.a,e=0;e<t.b.length;e++)A+=t.b[e]*m4[t.c[e]];return A;}function vO(t){var e,A;for(A=t.d,e=0;e<t.b.length;e++)A+=t.b[e]*k4[t.c[e]];return A;}function FO(t){var e,A,n;for(e=jF(t),n=0,A=0;A<xP.length;A++)n+=e[A]*xP[A];return n;}function WT(t,e,A){var n;for(n=N(t.k,e).length;A>=n;)A-=n;for(;A<0;)A+=n;return A;}function zu(t,e){var A,n;for(n=yu(t.b,e),A=n.length;A<10;A++)Oe(t.a,32);J(t.a,n);}function Ov(t,e){var A,n;for(n=yu(t.a,e),A=n.length;A<10;A++)Oe(t.b,32);J(t.b,n);}function mO(t){var e,A;if(t.b){A=null;do e=t.b,t.b=null,A=Yk(e,A);while(t.b);t.b=A;}}function kO(t){var e,A;if(t.a){A=null;do e=t.a,t.a=null,A=Yk(e,A);while(t.a);t.a=A;}}function HL(t,e){return e?(ut(t,1),wP(t,t.f,t.g,wn)):wP(t,t.q,t.r,wn);}function bO(t,e){if(t.N!=0){t.C!=-4&&(t.C=-4,t.Bb(t.N));return;}t.C=-5,t.P=e,t.Bb(e);}function RO(t,e){try{t.i[0].a=Qn(e);}catch(A){if(A=t0(A),!Zt(A,40))throw At(A);}}function jO(t,e){try{t.i[0].b=Qn(e);}catch(A){if(A=t0(A),!Zt(A,40))throw At(A);}}function pO(t,e){try{t.d=c1(e,o1,It);}catch(A){if(A=t0(A),!Zt(A,40))throw At(A);}}function VL(t,e,A){fp.call(this,t),this.b=e,this.c=G(A,0)==0?new aD():new zr(A);}function Gv(t,e,A,n){var P;return P=0,e&&(P|=1),A&&(P|=2),n&&(P|=4),Ru(new hD(t.a,P));}function N9(t,e){var A;for(A=0;A<t.e.length;A++)if(e==t.e[A])return  true;return  false;}function Zr(t,e,A){var n,P;for(n=0,P=0;P<t.j[e];P++)K(t,t.i[e][P])==A&&++n;return n;}function Jv(t,e){var A,n;for(A=t.o[e],n=0;n<t.j[e];n++)tA(t,t.i[e][n])&&++A;return A;}function CO(t,e){var A;return vT(e),A=e/31|0,A<t.a.length&&((t.a[A]|0)>>>e%31&1)==1;}function zv(t,e,A,n,P){var r;return r=Sb(t,e,A,n,P),r<0?Gb(t,e,A,n,P):j0(t.b[r][5]);}function MO(t){var e,A;return e=h(F,k,6,t.q,15,1),A=n9(t,e,false,false),Aj(t,e,A);}function EL(t,e){var A,n;if(A=0,t.K)for(n=0;n<t.j[e];n++)Qe(t,t.i[e][n])&&++A;return A;}function e0(t,e){var A,n;for(A=t.j[e],n=0;n<t.j[e];n++)t.C[t.i[e][n]]==1&&--A;return A;}function _T(t,e){var A,n,P,r;return n=e/2|0,P=t>=n,P&&(t-=n),r=e/32,A=r*t/(n-t),P?-A:A;}function _n(t,e){var A;return t.t==null||t.t[e]==null?null:rn((A=t.t[e],c0(),A));}function VA(t,e){return (t.u[e]&m1)>>18!=1&&(t.u[e]&m1)>>18!=2?-1:(t.u[e]&RA)>>20;}function Yv(t){return t!=null&&(typeof t===fy||typeof t=="function")&&t.ud!==PD;}function Yu(t){return Y1(),t>=0&&t<Lr.length&&Lr[t]!=null?Lr[t]:t>=171&&t<=190?HV:VV;}function SL(t){t.q=0,t.r=0,t.K=false,t.L=false,t.I=0,t.v=null,t.t=null,t.P=null,t.T=0;}function qL(t){var e;return e=new Uh(),e.n="Class$"+(t?"S"+t:""+e.i),e.b=e.n,e.j=e.n,e;}function HO(t){var e,A;for(ut(t,7),e=0,A=0;A<t.p.j.a.length;A++)u3(t.p,A)&&++e;return e;}function IL(t,e,A){var n,P;for(n=0,P=0;P<Mt(t.f,A);P++)N9(e,_(t.f,A,P))&&++n;return n;}function VO(t,e,A){var n,P;for(P=0;P<t.j[A];P++)if(n=t.i[A][P],n!=e)return n;return  -1;}function EO(t,e,A){var n;return n=eK(t,e,A),n&&A==386&&(ut(t,7),n=n&(t.F[e]&128)==0),n;}function Fe(t,e,A){var n=function(){return t.apply(n,arguments);};return e.apply(n,A),n;}function Kv(t,e){if(t){e.k=t;var n=QN(e);if(!n){cU[t]=[e];return;}n.sd=e;}}function Xv(t,e){var A;if(t.i!=null)for(A=0;A<t.i.length;A++)t.i[A].a*=e,t.i[A].b*=e;}function SO(){x7();for(var t=nl,e=0;e<arguments.length;e++)t.push(arguments[e]);}function XD(t,e){Io(t>=0,"Digits < 0"),rT(e,"null RoundingMode"),this.a=t,this.b=e;}function xL(t,e,A,n,P,r){C9.call(this,n),this.e=t,this.b=e,this.c=A,this.a=P,this.d=r;}function Zv(t,e,A,n,P,r,i,f){this.e=t,this.a=e,this.b=A,this.f=n,this.d=i,this.c=P*r/f;}function Wv(t,e){t&&(this.k=h(o9,or,26,1,0,1),this.k[0]=t),this.c=0,this.g=e,Fs(this);}function qO(t,e,A){t.a==null&&(t.a=h(q,I,6,t.R.f,15,1),Cq(t.a)),t.a[e]=A<<24>>24;}function Ku(t,e,A){if(!t.c){if(t.e.a.length==4){t.c=true;return;}mt(t.e,new Z3(t,e,A));}}function IO(t,e){var A;return A=t.C[e]<Lr.length?Lr[t.C[e]]:null,A==null?6:A[A.length-1];}function xO(t,e){var A;for(A=0;A<t.j[e];A++)if(t.s[t.i[e][A]]<0)return  true;return  false;}function _v(t,e){var A;for(A=0;A<t.j[e];A++)if(t.s[t.i[e][A]]>0)return  true;return  false;}function $v(t,e){return t.b!=e.b?t.b>e.b?-1:1:t.c!=e.c?t.c>e.c?-1:1:0;}function NO(t){var e,A;if(t.K)return 0;for(ut(t,1),A=0,e=0;e<t.f;e++)A+=xt(t,e);return A;}function NL(t){var e;return e=t.e[t.d++]-48,Zn(t.e[t.d]&w1)&&(e=10*e+(t.e[t.d++]-48)),e;}function OO(t){var e,A;return e=yL(t.a),e==-1?0:(A=t.a[e]|0,e*31+(32-$9(A)));}function av(t,e){var A;for(A=0;A<t.j[e];A++)if(p1(t,t.i[e][A])<0)return  true;return  false;}function GO(t){var e,A;for(A=0,e=0;e<t.a.q;e++)(K(t.a,e)==7||K(t.a,e)==8)&&++A;return A;}function JO(t,e){return t.d!=e.d?t.d<e.d?-1:1:t.e!=e.e?t.e<e.e?-1:1:0;}function $n(t,e){for(var A in e)e[A].configurable=true;Object.defineProperties(t,e);}function zO(t,e){typeof window===fy&&typeof window.$gwt===fy&&(window.$gwt[t]=e);}function tF(t,e,A){var n,P,r;for(r=t.a.length-1,P=t.b,n=0;n<A;P=P+1&r,++n)e[n]=t.a[P];}function YO(t,e){var A,n,P,r;if(t.e!=null)for(n=t.e,P=0,r=n.length;P<r;++P)A=n[P],A.J=e;}function $T(t,e){var A;A=LA(t.b,t.b.a.length-1),e<t.b.a.length&&(q9(t.b,e,A),ub(t,e));}function eF(t){ku(t.c>=0),ZJ(t.d,t.c)<0&&(t.a=t.a-1&t.d.a.length-1,t.b=t.d.c),t.c=-1;}function me(t){return t.J==null&&(Ui(t),(t.Q&I1)==0&&(M$(t),cj(t,1),cj(t,2)),aa(t)),t.J;}function OL(t){var e,A;if(t==0)return 32;for(A=0,e=1;(e&t)==0;e<<=1)++A;return A;}function AF(t){var e;return e=h(yt,wt,6,2,15,1),e[0]=dn*(t/17|0)+v8,e[1]=dn*(t%17)+v8,e;}function aT(t,e,A){var n;a$(e,A,(t.e&12)!=0),n=k5(t,e.b[0],e.b[1],0),dF(t,e.b[0],e.b[1],n);}function Xu(t,e,A,n){return vt(w.Math.round((t.a[e]*t.c[e]+n*t.c[A])/(t.c[e]+t.c[A])));}function T1(t,e,A,n){n?t.B[e]=Y(t.B[e],A):t.B[e]=V(t.B[e],Jn(A)),t.T=0,t.K=true;}function KO(t,e,A,n){this.d=e,this.a=A,this.b=n,this.e=y2(t.d,e,A,n),this.c=H_(t.d,e,A,n);}function XO(t,e){Nm(),this.o=t,this.n=G(t,0)==0?new aD():new zr(t),this.r=new Hd(t,e);}function nF(t,e){var A,n;t.b&&(z1(t),n=(t.U&4)!=0,A=new jm(t._,t.V,e,n),ZI(A,new pw(t)));}function PF(t){var e;t.a=false,e=new a2(tB(t)),yN(e,0,0,t.b.o,t.b.e),P$(t.b,new a2(tB(t)));}function ZO(t,e,A){var n,P;for(t.J&=~e,P=new Wt(t.S);P.a<P.c.a.length;)n=t1(P),n.mc(A);}function WO(t,e,A){var n;if(t.i!=null)for(n=0;n<t.i.length;n++)t.i[n].a+=e,t.i[n].b+=A;}function rF(t,e,A){var n,P;for(P=N(t.j,e),n=0;n<P.length;n++)if(A==P[n])return n;return  -1;}function _O(t,e,A){var n,P;for(P=N(t.k,e),n=0;n<P.length;n++)if(A==P[n])return n;return  -1;}function iF(t,e){var A;for(Vz(t),A=0;A<t.b.length;A++)if(e[t.b[A]])return  true;return  false;}function $O(t,e){var A;for(A=0;A<t.j[e];A++)if(K(t,t.i[e][A])!=6)return  true;return  false;}function Zu(t,e){var A;for(A=0;A<t.q;A++)w.Math.abs(t.w[A])==w.Math.abs(e)&&(t.w[A]=0);}function Wu(t,e,A,n){var P,r;this.a=on(t,e,A,n),P=A-t,r=n-e,this.b=w.Math.sqrt(P*P+r*r);}function _u(t,e){var A,n;return A=1-e,n=t.a[A],t.a[A]=n.a[e],n.a[e]=t,t.b=true,n.b=false,n;}function aO(t,e,A){var n;return wG(t),t.b=true,n=new Bw(),n.a=e,_q(t.a,new Dg(n,A)),n.a;}function _8(t,e){var A;return A=h(F,k,6,e,15,1),sA(t,0,A,0,w.Math.min(t.length,e)),A;}function ai(t,e){var A;return A=h(F,k,6,e,15,1),sA(t,0,A,0,w.Math.min(t.length,e)),A;}function tG(t,e){var A;return A=h(NA,a0,6,e,14,1),sA(t,0,A,0,w.Math.min(t.length,e)),A;}function eG(t,e){var A;for(A=0;A<O(t.k,e);A++)if(!t.b[_(t.k,e,A)])return  true;return  false;}function AG(t){var e=t.Fc(),A=e.pasteMolecule();return A?A.vc():null;}function GL(t,e){var A=t.Jc(),n=A.getBounds(e);return new QA(n.x,n.y,n.width,n.height);}function JL(t,e){var A;return A=h(rt,ft,6,e,16,1),sA(t,0,A,0,w.Math.min(t.length,e)),A;}function RP(t,e,A,n){var P,r;return r=t.length,P=w.Math.min(n,r)-A,P5(t,A,e,0,P,true),e;}function nG(t,e,A){return Mv(A,new Rd(t,e),new ww(),B(d(Fl,1),Ye,95,0,[(iQ(),qU)]));}function fF(){fF=B1,new XD(34,(e9(),se)),new XD(7,se),new XD(16,se),new XD(0,Bl);}function jn(t){return Rs(t,26)*14901161193847656e-24+Rs(t,27)*11102230246251565e-32;}function PG(t){return t>=21&&t<=30||t>=39&&t<=48||t==57||t>=72&&t<=80||t==89||t>=104&&t<=112;}function DF(t){return vt(w.Math.round((de==-1&&(de=globalThis.devicePixelRatio||1),de*t)));}function zL(t){G3(this),qT(this),this.backingJsObject=t,Ub(this,t),this.f=t==null?Pr:$D(t);}function YL(t,e,A,n,P,r){this.f=e,this.d=A,this.a=n,this.b=P,this.c=r,this.e=vZ(t.k,e,A,n,P,r);}function uF(t,e,A){var n,P,r;for(n=0,P=0;P<A;P++)r=e[P],t[P]=r<<1|n,n=r>>>31;n!=0&&(t[A]=n);}function QF(t,e,A){var n,P,r;for(P=0,r=0;r<t.j[e];r++)n=t.i[e][r],n!=A&&t.j[n]>2&&++P;return P;}function D1(t,e,A){var n;for(n=0;n<t.i[e].length;n++)if(t.i[e][n]==A)return t.k[e][n];return  -1;}function KL(t,e,A){var n;for(n=0;n<t.k.a.length;n++)if(Af(t,n,e)&&Af(t,n,A))return n;return  -1;}function tf(t,e){var A;for(A=0;A<O(t.j,e);A++)if(_0(t.j,_(t.j,e,A)))return  true;return  false;}function XL(t,e){var A;return A=Us(t.V,z(t.V,0,e)),A!=-1&&qe(t.V,A)!=1&&qe(t.V,A)!=2&&(A=-1),A;}function O9(t,e){var A;return A=h(F,k,6,2,15,1),t>e?(A[0]=t,A[1]=e):(A[0]=e,A[1]=t),A;}function UF(t,e){var A,n,P;for(U1(e),A=false,P=e.Tb();P.ad();)n=P.bd(),A=A|t.add(n);return A;}function oF(t){var e,A;for(ut(t,31),A=0,e=0;e<t.f;e++)(t.u[e]&3)!=0&&(t.u[e]&4)==0&&++A;return A;}function rG(t){var e,A;if(e=t.q,t.t)for(A=0;A<t.q;A++)t.e[A]&&--e;return t.i>0&&e>t.i&&(e=t.i),e;}function LF(t){var e;if(t.b==-2){if(t.e==0)e=-1;else for(e=0;t.a[e]==0;e++);t.b=e;}return t.b;}function iG(t){var e={};return t!=null&&(e=t&&t.prototype,!e&&(e=cU[t])),Object.create(e);}function sF(t,e){var A;(!t.q||!e.q)&&(A=new CB(t.o),!t.q&&(t.q=Eh(A,t)),!e.q&&(e.q=Eh(A,e)));}function fG(t,e){var A,n;if(t.g)for(n=new Wt(t.g);n.a<n.c.a.length;)A=t1(n),A.Ib(e,t.p);}function DG(t,e,A){var n;return n=N(t.I,0),bQ(n,kt(t.V,e),jt(t.V,e))==bQ(n,kt(t.V,A),jt(t.V,A));}function yF(t,e,A){var n,P,r;n=vt(Z6*V8(t.V)),P=vt(kt(t.V,A)),r=vt(jt(t.V,A)),nL(e,P-n,r-n,2*n);}function lF(t,e,A,n){var P;P=t.a.length,A>P?A=P:Xt(e,A+1),t.a=UA(t.a,0,e)+(""+n)+HD(t.a,A);}function uG(t,e,A,n){n&&e!=-1&&(t.eb=w.Math.max(t.eb,1),n1(t.k),N1(t,new q1(t,1,true))),A.nc();}function th(t,e,A,n){C9.call(this,t),this.a=h(yt,wt,6,1,15,1),this.a[0]=A,this.b=e,this.c=n;}function TF(t,e){C9.call(this,t),this.a=h(yt,wt,6,2,15,1),this.a[0]=e,this.a[1]=Ve,this.c=-1;}function hF(t){this.f=t,this.e=new ST(this.f.c),this.a=this.e,this.b=ih(this),this.d=this.f.b;}function QG(t){if(U1(t),t.length==0)throw At(new YP("Zero length BigInteger"));_Z(this,t);}function cF(t){return t.a<54?t.f<0?-1:t.f>0?1:0:(!t.c&&(t.c=kP(E1(t.f))),t.c).e;}function pn(t){var e;return e=t.h,e==0?t.l+t.m*fP:e==aA?t.l+t.m*fP-DP:t;}function UG(t){var e,A;for(A=true,e=0;e<t.i.f;e++)if(t.o[e]!=0&&!t.e[e]){A=false;break;}return A;}function eh(t,e){var A,n;for(A=0,n=0;n<t.j[e];n++)tA(t,t.i[e][n])&&!Bu(t,t.k[e][n])&&++A;return A;}function $u(t,e){var A,n;for(n=0,A=0;A<t.r;A++)(t.D[0][A]==e||t.D[1][A]==e)&&(n+=dt(t,A));return n;}function oG(t){var e;for(e=0;e<t.g;e++)if(t.H[e]==8)return Ff(new cr(t),null,false);return  false;}function LG(t){var e;for(e=0;e<t.o.q;e++)if((t.a==null?NaN:t.a[e])>2.72)return  false;return  true;}function wF(t,e){var A,n;for(A=0,n=t.size();A<n;++A)if(K8(e,t.getAtIndex(A)))return A;return  -1;}function gF(t){var e,A,n;for(n=0,A=t.Tb();A.ad();)e=A.bd(),n=n+(e!=null?a8(e):0),n=n|0;return n;}function Ah(t,e){var A,n;for(n=t.o.Ec(),n.removeAllItems(),A=0;A<16;A++)Gt(t.o,""+(e+A));return 16;}function un(t,e){var A;A=t.a.length,e<A?t.a=UA(t.a,0,e):e>A&&(t.a+=q8(h(l9,a0,6,e-A,15,1)));}function sG(t,e){var A;this.c=t,A=new f1(),bh(t,A,e,t.b,null,false,null),this.a=new TT(A,0);}function yG(t,e,A){var n,P;return e==null?null:Ls(t,KA((P=e,c0(),P)),A==null?null:KA((n=A,n)),0);}function dF(t,e,A,n){var P;P=w.Math.min(x9(t.d,e,0),x9(t.d,A,0)),t8(t.d,P,n),Z8(t.d,e),Z8(t.d,A);}function BF(t,e){return w.Math.sqrt((t.a-e.a)*(t.a-e.a)+(t.b-e.b)*(t.b-e.b)+(t.c-e.c)*(t.c-e.c));}function nh(t,e){return w.Math.sqrt((e.a-t.a)*(e.a-t.a)+(e.b-t.b)*(e.b-t.b)+(e.c-t.c)*(e.c-t.c));}function lG(t,e){return t.C[e]==1&&t.A[e]==0&&t.s[e]==0&&(t.u[e]&g8)==0&&(t.t==null||t.t[e]==null);}function Ph(t,e){return !!(a1(t.b,e)==1&&K(t.b,e)<10||vn(t.b,e)||EP(t.b,e,true));}function TG(t,e,A){var n;for(n=0;n<t.j.g.length;n++)if(t.e[e][n]&&t.e[A][n])return  true;return  false;}function hG(t,e){var A;for(A=0;A<t.b;A++)if(t.e[A][e]&&t.c[A]==-3)return A<t.a?1:A<t.b?2:0;return  -1;}function vF(t,e){return e>=t.f?0:e<t.f&&i0(t.p,e)&&t.C[e]==6&&t.s[e]!=0?1:t.o[e];}function E1(t){return M2<t&&t<DP?t<0?w.Math.ceil(t):w.Math.floor(t):pn(EX(t));}function cG(t){return t==null?false:t.$implements__java_lang_Cloneable||Array.isArray(t);}function wG(t){if(t.b)throw At(new ro("Stream already terminated, can't be modified or used"));}function au(t,e){t.w!=e&&(t.w==19||e==19?(t.w=e,t.eb=w.Math.max(t.eb,1),n1(t.k)):t.w=e);}function FF(t){return ut(t,15),!t.d&&(t.f<2||!Ds(t.J[0],t.J[1]))&&(t.d=new BA(t)),t.d?me(t.d):null;}function gG(t){return ut(t,15),!t.d&&(t.f<2||!Ds(t.J[0],t.J[1]))&&(t.d=new BA(t)),t.d?B7(t.d):null;}function mF(t,e){var A,n;for(n=e.Tb();n.ad();)if(A=n.bd(),sT(t,A.ed()))return  true;return  false;}function dG(t){var e,A,n;for(n=1,A=t.Tb();A.ad();)e=A.bd(),n=31*n+(e!=null?a8(e):0),n=n|0;return n;}function BG(t,e){var A,n,P;for(P=(ut(t,7),t.p),n=0,A=0;A<P.j.a.length;A++)rF(P,A,e)>=0&&++n;return n;}function pe(t){var e,A,n,P;return P=t,n=0,P<0&&(P+=DP,n=aA),A=vt(P/fP),e=vt(P-A*fP),S0(e,A,n);}function vG(t,e){var A,n,P;return A=t.l+e.l,n=t.m+e.m+(A>>22),P=t.h+e.h+(n>>22),S0(A&x0,n&x0,P&aA);}function kF(t,e){var A,n,P;return A=t.l-e.l,n=t.m-e.m+(A>>22),P=t.h-e.h+(n>>22),S0(A&x0,n&x0,P&aA);}function rh(t){var e,A;return e=vt(t.i[1].a-t.i[0].a),A=vt(t.i[1].b-t.i[0].b),w.Math.sqrt(e*e+A*A);}function FG(t){var e;return t<128?(e=(qd(),nc)[t],!e&&(e=nc[t]=new zl(t)),e):new zl(t);}function t0(t){var e;return Zt(t,27)?t:(e=t&&t.__java$exception,e||(e=new qB(t),void 0),e);}function ih(t){return t.a.ad()?true:t.a!=t.e?false:(t.a=new OT(t.f.a),t.a.ad());}function bF(t,e){if(e==null)return  false;for(;t.a!=t.b;)if(VP(e,nm(t)))return  true;return  false;}function RF(t){return t.n==null&&(t.n=bn(t.e,t.e.length),t.n.sort(Fe(u0.prototype.gd,u0,[]))),t.n;}function mG(t){return t.includes("ATOMS=(")?R2:t.includes("BONDS=(")?"BONDS":null;}function fh(t){var e;return G(t,0)<0&&(t=Jn(t)),e=zt(DA(t,32)),64-(e!=0?$9(e):$9(zt(t))+32);}function kG(t){var e,A;for(A=0,e=0;e<t.a.q;e++)(K(t.a,e)==7||K(t.a,e)==8)&&wd(t.a,e)>0&&++A;return A;}function jF(t){var e,A;for(A=h(F,k,6,xP.length+2,15,1),ut(t,7),e=0;e<t.f;e++)++A[Ma(t,e)];return A;}function pF(t,e){var A;return A=t.a.get(e),A===void 0?++t.d:(t.a.delete(e),--t.c,++t.b.b),A;}function bG(t){var e;return e=t.a[t.b],e==null?null:(t.a[t.b]=null,t.b=t.b+1&t.a.length-1,e);}function CF(t,e){var A;return e>0?(t[e]+t[e-1])/2:(A=Q1+(t[0]+t[t.length-1])/2,A>Q1?A-F0:A);}function RG(t,e){var A;for(A=0;A<t.j.g;A++)t.e[A]&&ps(e,A)&&(Pf(t,z(t.j,0,A)),Pf(t,z(t.j,1,A)));}function MF(t){var e,A;for(A=new Wt(t.U);A.a<A.c.a.length;)e=t1(A),W1(t,e.a),OI(t,e.b,e.c);W1(t,t.Q);}function ZL(t,e,A,n,P,r,i,f,D,Q){var U=t.Jc(),L=e.pc();return U.drawImage(L,A,n,P,r,i,f,D,Q);}function sA(t,e,A,n,P){x1(),rT(t,"src"),rT(A,"dest"),qG(t,e,A,n,P),P5(t,e,A,n,P,true);}function B(t,e,A,n,P){return P.sd=t,P.td=e,P.ud=PD,P.__elementTypeId$=A,P.__elementTypeCategory$=n,P;}function HF(t,e,A,n){return Xa(n,t,e),A!=null&&(A[0]=n.f[0],A[1]=n.b[0],A[2]=n.b[1],A[3]=n.f[1]),n.d;}function jG(t,e){var A,n;return A=js(t,e),A==-1?-1:(n=t.b.a.length,mt(t.b,e),t8(t.a,A,k1(n)),n);}function pG(t){var e,A,n;for(n=w.Math.max(t.d.length,t.c.length),A=1,e=n-t.a+1;e<=n;e++)A*=e;return A;}function Wr(t){var e,A,n;return e=~t.l+1&x0,A=~t.m+(e==0?1:0)&x0,n=~t.h+(e==0&&A==0?1:0)&aA,S0(e,A,n);}function CG(t){var e;if(t<0)return o1;if(t==0)return 0;for(e=cn;(e&t)==0;e>>=1);return e;}function MG(t,e){var A;for(A=0;A<t.b;A++)if(t.e[A][e]&&t.c[A]==-3)return A<t.a?A:A<t.b?A-t.a:-1;return  -1;}function tQ(t,e){var A;for(A=0;A<t.j[e];A++)if(t.n[e][A]==2&&K(t,t.i[e][A])>6)return  true;return  false;}function jP(t,e){var A,n;return A=e.toArray(),n=A.length,n==0?false:(md(t.a,t.a.length,A),true);}function VF(t,e,A,n){var P,r;for(r=0;r<O(t.f,A);r++)if(P=_(t.f,A,r),P!=n&&P<e)return  false;return  true;}function Dh(t,e,A){var n,P,r,i;for(P=e,r=0,i=P.length;r<i;++r)n=P[r],t.f[n&1073741823]=(n&cn)!=0^A?2:1;}function HG(t,e,A,n){mt(t.$,new QA(e-t.V,A-t.V,2*t.V,2*t.V)),t.K||mt(t.U,new bu(e,A,UQ(t,n)?-3:t.p[n]));}function Ce(t,e,A){t.a==t.b.length&&(t.b=qD(t.b,2*t.a),t.c=qD(t.c,2*t.a)),t.b[t.a]=e,t.c[t.a]=A,++t.a;}function eQ(t,e){t.D[0]=_8(t.D[0],e),t.D[1]=_8(t.D[1],e),t.H=_8(t.H,e),t.F=_8(t.F,e),t.G=_8(t.G,e),t.N=e;}function WL(t){var e,A,n;e=~t.l+1&x0,A=~t.m+(e==0?1:0)&x0,n=~t.h+(e==0&&A==0?1:0)&aA,t.l=e,t.m=A,t.h=n;}function EF(t){var e,A;return A=$9(t.h),A==32?(e=$9(t.m),e==32?$9(t.l)+32:e+20-10):A-12;}function ze(t,e,A){var n,P;return n=new RL(e,A),P=new XU(),t.b=tR(t,t.b,n,P),P.b||++t.c,t.b.b=false,P.d;}function SF(t,e,A,n){var P;return L2(t,e,A,n),Qd(t.R)?null:(P=t.R,I3(t.R,t.L),t.R=new Au(),P);}function VG(t,e){var A;if(t.c!=null){for(A=0;A<t.c.length;A++)if(e==t.c[A]&&t.d[A])return  true;}return  false;}function EG(t,e){var A,n;for(A=h(E2,b2,29,e,0,1),n=0;n<t.length;n++)t[n]&&(A[n]=new vu(t[n]));return A;}function SG(t,e,A){var n,P,r;for(ut(e,1),P=N(t.a,A),n=0;n<t.d.d.a.length;n++)r=kr(t.d,n),sZ(r,e,P);Pi(e);}function qG(t,e,A,n,P){var r,i;if(i=t.length,r=A.length,e<0||n<0||P<0||e+P>i||n+P>r)throw At(new A3());}function IG(t){JF();var e;e=Ky,(e.startsWith(Xy)||e.startsWith(Zy)||e.startsWith(Wy))&&AY(t,nE);}function qF(t,e,A){var n;for(n=0;n<t.j[e];n++)if(K(t,t.i[e][n])!=6&&t.i[e][n]!=A)return  true;return  false;}function xG(t,e,A,n,P){var r;return r=u5(t,e),A&&WL(r),P&&(t=jz(t,e),n?In=Wr(t):In=S0(t.l,t.m,t.h)),r;}function NG(t,e){return SA(e,t.c)!=0?1:(t.j=FZ(e),t.j==null?rJ(e)?3:4:t.j.length==0?3:2);}function OG(t,e){return r9(t)==-1||r9(e)==-1||((r9(t)|r9(e))&1)!=0?3:r9(t)==r9(e)?1:2;}function uh(t){var e,A;return A=(t[1]+t[0])/2,e=w.Math.abs(t[1]-t[0]),e>Q1?A:A<0?A+Q1:A-Q1;}function IF(t,e,A){var n;return t.B.d.a.length!=0&&(n=kr(t.B,0),n.a<e)?(aU(t.B,0),n.b):t.od(A);}function GG(t,e){var A,n;for(A=t.a.length-1;e!=t.b;)n=e-1&A,t.a[e]=t.a[n],e=n;t.a[t.b]=null,t.b=t.b+1&A;}function JG(t,e){var A,n;for(A=t.a.length-1,t.c=t.c-1&A;e!=t.c;)n=e+1&A,t.a[e]=t.a[n],e=n;t.a[t.c]=null;}function Qh(t){var e,A;for(e=0,A=0;A<t.length;A++)e=(e<<5)-e+(Xt(A,t.length),t.charCodeAt(A))|0;return e;}function AQ(t,e){var A,n;for(U1(e),n=e.Tb();n.ad();)if(A=n.bd(),!t.contains(A))return  false;return  true;}function zG(t,e){return t.a>e.a?1:t.a<e.a?-1:t.b>e.b?1:t.b<e.b?-1:0;}function YG(t,e){return t.c<e.c?-1:t.c>e.c?1:t.d<e.d?-1:t.d>e.d?1:0;}function ZD(t,e,A,n){var P;return (t.G&1)!=0?false:(P=N(t.$,n),e>P.c&&e<P.c+P.b&&A>P.d&&A<P.d+P.a);}function G9(t,e){var A,n,P;for(P=t.b;P;){if(A=t.a.Rb(e,P.c),A==0)return P;n=A<0?0:1,P=P.a[n];}return null;}function xF(t,e){Bp();var A,n;for(n=e-t,A=0;A<rl[t].length;A++)if(rl[t][A].b==n)return rl[t][A].a;return NaN;}function KG(t){Ms();var e,A;for(ut(t,1),A=0,e=0;e<t.q;e++)t.C[e]==1?++A:A+=t.e[e]-t.j[e]+xt(t,e);return A;}function NF(t,e,A,n){var P,r,i;for(P=h(q,I,6,n,15,1),i=DJ(t.a,P),r=0;r<i;r++)e[A+r]=P[r]&w1;return i;}function OF(t,e){var A,n,P,r;for(n=e,P=0,r=n.length;P<r;++P)if(A=n[P],sT(t,A.dd()))return A;return null;}function XG(t,e,A){var n,P;for(P=0;P<t.g[e].length;P++)n=t.g[e][P],t.k[n]==2&&(t.k[n]=1,t.j[n]=A<<24>>24);}function nQ(t){var e,A;for(A=false,e=0;e<t.q;e++)(t.u[e]&512)!=0&&(t.C[e]=-1,A=true);return A&&Pi(t)!=null;}function ef(t,e){var A;return A=bT(e,"([/\\\\\\.\\*\\+\\?\\|\\(\\)\\[\\]\\{\\}$^])","\\\\$1"),bT(t,A,"");}function GF(t,e){var A;return A=hA(0,e,0,t.a.length,true,t),j0(t.a[A][3])*w.Math.pow(j0(t.a[A][1]),.25);}function PQ(t,e){var A;e*2+1>=t.b.a.length||(PQ(t,2*e+1),A=2*e+2,A<t.b.a.length&&PQ(t,A),ub(t,e));}function ZG(t){return A1(typeof t,bf)?true:t!=null&&t.$implements__java_lang_CharSequence;}function i8(){i8=B1,ml=B(d(it,1),Dt,2,6,["distance","plane","line","torsion","stereo","binap"]);}function J9(){J9=B1,wi=B(d(it,1),Dt,2,6,["","0","00","000","0000","00000","000000","0000000","00000000"]);}function _r(){_r=B1,xA=B(d(Ee,1),PA,6,15,[.29899999499320984,.5870000123977661,.11400000005960464]);}function JF(){JF=B1,Z4=B(d(F,1),k,6,15,[5258420,0]),nE=B(d(F,1),k,6,15,[11837695,14737632]);}function WG(t){return t>=3&&t<=4||t>=11&&t<=13||t>=19&&t<=31||t>=37&&t<=51||t>=55&&t<=84||t>=87&&t<=112;}function _L(t){return H8(t)?it:Vi(t)?ntt:Tu(t)?Att:PT(t)||AT(t)?t.sd:t.sd||Array.isArray(t)&&d(CV,1)||CV;}function _G(t,e){var A;if(O(t.L,e)!=2)return  false;for(A=0;A<2;A++)if(pA(t.L,e,A)!=2)return  false;return  true;}function $G(t,e){var A;for(A=0;A<O(t.R,e);A++)if(t.o[Ot(t.R,e,A)]==3&&pA(t.R,e,A)==1)return  true;return  false;}function yA(t,e,A){var n,P,r,i;for(P=N(t.j,e),r=0,i=P.length;r<i;++r)if(n=P[r],A==n)return  true;return  false;}function Af(t,e,A){var n,P,r,i;for(P=N(t.k,e),r=0,i=P.length;r<i;++r)if(n=P[r],A==n)return  true;return  false;}function aG(t,e){var A,n,P;for(P=0,n=new Wt(e);n.a<n.c.a.length;)A=t1(n),P+=$F(t,A.c,A.b)?t.b:0;return P;}function tJ(t,e){kf();var A,n,P;for(P=0,A=0,n=0;n<t.length;n++)P+=$r(t[n]&e[n]),A+=$r(t[n]|e[n]);return P/A;}function zF(t,e,A){var n;if(t.i!=null)for(n=0;n<t.i.length;n++)t.i[n].a=t.o[n]+e-t.k,t.i[n].b=t.p[n]+A-t.n;}function YF(t,e){var A;for(A=0;A<t.f.length;A++)if(gt(t.f[A],e.f[A]))return Hi(t.f[A],e.f[A])?-1:1;return 0;}function KF(t,e){var A,n;for(n=h(F,k,6,e.length+1,15,1),A=0;A<e.length;A++)n[A]=e[A];return n[e.length]=t,n;}function eJ(t,e,A){var n,P;for(++t.b,n=new cD(t),n.p=A,P=t.g.length-1;P>=0;P--)EI(t,n,t.g[P],P,e[P]);return n;}function rQ(t,e,A){var n;for(n=A-1;n>=0&&t[n]==e[n];n--);return n<0?0:Hi(V(t[n],h1),V(e[n],h1))?-1:1;}function AJ(t,e){var A;for(A=0;A<e.length;A++){if(e[A]<t.g[A].a.length-1)return ++e[A],true;e[A]=0;}return  false;}function WD(t,e){var A;for(A=0;A<e.k.length;A++)bD(t.k[A],e.k[A]);e.j==null?t.j=null:t.j=fL(e.j,e.j.length);}function XF(t,e,A){var n;z1(t),n=e==-1?new bm(t._,t,t.F,t.B,t.D,t.C,t.A):new qk(t._,t,t.V,e),_I(n,new Ld(t,e,A));}function nJ(t){var e,A;if(A=e$(t),r0(t.A,t.a))for(e=0;e<t.A.q;e++)r0(t.A,e)&&lp(t,e,A);else lp(t,t.a,A);Bj(t.A);}function ZF(t){var e;for(this.o=t,this.k=h(E2,b2,29,t.q,0,1),e=0;e<t.q;e++)this.k[e]=new vu(t.J[e]);this.n=NaN;}function $L(t,e,A,n,P){C9.call(this,t),this.a=h(yt,wt,6,2,15,1),this.a[0]=A,this.a[1]=n,this.b=e,this.c=P;}function WF(t,e){this.n=t,this.k=e,this.j=(e&16)==0,this.d=-1,this.e=0,this.o=0,this.a=-1,this.g=-1,this.c=0;}function Uh(){this.i=ett++,this.n=null,this.j=null,this.g=null,this.d=null,this.b=null,this.k=null,this.a=null;}function _F(t){t.J=1,t.R=new Au(),t.$=new f1(),t.U=new f1(),t.s=h(rt,ft,6,t.L.q,16,1),t.w=new c9(),t.Q=0,t.C=-1,Mb(t);}function iQ(){iQ=B1,qE=new To("CONCURRENT",0),qU=new To("IDENTITY_FINISH",1),sc=new To("UNORDERED",2);}function PJ(t){var e;return t!=null&&(e=t.__java$exception,e)?e:Ad(t,TypeError)?new w7(t):new zL(t);}function rJ(t){var e;if(t.length<3){for(e=1;e<(Y1(),X0).length;e++)if(X0[e].startsWith(t))return  true;}return  false;}function iJ(t,e){var A;for(A=0;A<O(t.i,e);A++)if(pA(t.i,e,A)==2&&K(t.i,_(t.i,e,A))==8)return  true;return  false;}function $F(t,e,A){var n;for(n=0;n<e.length;n++)if(gt(V(t.f[n],e[n]),V(A[n],e[n])))return  false;return  true;}function fJ(t){var e,A,n,P,r;for(r=1,A=t,n=0,P=A.length;n<P;++n)e=A[n],r=31*r+(e!=null?a8(e):0),r=r|0;return r;}function fQ(t){var e,A,n;for(n=t.a.a.length,e=new Array(n),A=0;A<n;A++)e[A]=BI(N(t.a,A).a,N(t.a,A).b);return e;}function DJ(t,e){var A;return t.a==t.b?-1:(A=w.Math.min(e.length,t.b-t.a),Jx(e,t.c,t.a,A),t.a+=A,A);}function aF(t,e){var A;return t===e?true:Zt(e,160)?(A=e,t.Mc()==A.Mc()&&t.Nc()==A.Nc()):t===e;}function aL(t,e){return (t.u[e]&g8)!=0?true:t.C[e]<=1?false:bb(t,e)||t.C[e]==13||t.C[e]>=171;}function tm(t,e){return !(t.C[e]!=6||t.s[e]!=0||xt(t,e)+t.j[e]!=4);}function ts(t,e){var A,n,P;for(U1(e),A=false,n=t.Tb();n.ad();)P=n.bd(),e.contains(P)&&(n.cd(),A=true);return A;}function uJ(t,e){var A,n,P;for(n=false,A=1;A<4;A++)for(P=0;P<A;P++)t[P]>t[A]&&(n=!n),e[P]>e[A]&&(n=!n);return n;}function QJ(t){var e,A,n;for(n=t.a.length,e=new Array(n),A=0;A<n;A++)e[A]=tI((ve(A,t.a.length),t.a[A]));return e;}function es(t,e){var A;for(!e&&(e=Xn(t.o)),e.T&=-249,A=0;A<e.q;A++)bD(e.J[A],t.k[A]);return t.p!=null&&$2(e,t.p),e;}function em(t){var e;for(t.q=h(rt,ft,6,t.L.q,16,1),e=0;e<t.L.r;e++)t.q[z(t.L,0,e)]=true,t.q[z(t.L,1,e)]=true;}function UJ(t,e){var A,n,P;for(n=0,A=0;A<t.V.q;A++)r0(t.V,A)&&++n;P=n!=0&&n!=t.V.q,(t.U&1)!=0?j$(t,e,P):$z(t,e,P);}function oJ(t,e){var A,n;for(A=jF(t),n=0;n<xP.length;n++)A[n]!=0&&ZP(e,""+A[n]+" * "+xP[n]+"   AtomType: "+zV[n],2);}function Am(t,e){var A,n,P;for(U1(e),A=false,n=t.Tb();n.ad();)P=n.bd(),e.contains(P)||(n.cd(),A=true);return A;}function nm(t){var e;return kD(t.a!=t.b),e=t.d.a[t.a],_g(t.b==t.d.c&&e!=null),t.c=t.a,t.a=t.a+1&t.d.a.length-1,e;}function Pm(t){var e;if(t.c!=0)return t.c;for(e=0;e<t.a.length;e++)t.c=t.c*33+(t.a[e]&-1);return t.c=t.c*t.e,t.c;}function z9(t,e){var A;return A=le(t.b,e),A||(A=new Tj(t.k,t.q,t.s,e,t.n),ze(t.b,bn(e,e.length),A),A);}function G(t,e){var A;return U0(t)&&U0(e)&&(A=t-e,!isNaN(A))?A:jh(U0(t)?pe(t):t,U0(e)?pe(e):e);}function rm(t,e,A){if(t>e)throw At(new C8(YQ+t+Fp+e));if(t<0||e>A)throw At(new m7(YQ+t+o6+e+mp+A));}function oh(t,e,A){if(A){if(t.s[e]>8)return  false;++t.s[e];}else {if(t.s[e]<-8)return  false;--t.s[e];}return t.T=0,true;}function im(t,e,A){var n,P;return DL(e,t.a.length),n=A.toArray(),P=n.length,P==0?false:(md(t.a,e,n),true);}function LJ(t,e){var A,n;for(n=h(o9,or,26,t.length,0,1),A=0;A<t.length;A++)n[A]=t[A].a;return new _P(new Bh(n,e));}function Lh(){dp();var t,e,A,n;if(!Yf&&!Yf)for(Yf=new pi(),e=JV,A=0,n=e.length;A<n;++A)t=oQ(e[A]),X8(Yf,t);}function sJ(t,e){var A,n,P,r;if(e.length==0)return null;for(n=e,P=0,r=n.length;P<r;++P)A=n[P],t.C[A]=-1;return Pi(t);}function yJ(t,e,A,n,P){e==0||n==0||(e==1?P[n]=Qs(P,A,n,t[0]):n==1?P[e]=Qs(P,t,e,A[0]):YK(t,A,P,e,n));}function DQ(t,e,A,n,P,r,i){return er(t,e,A,n,P,r==null?t.D[0][A]:r[t.D[0][A]],r==null?t.D[1][A]:r[t.D[1][A]],i);}function lJ(t,e,A,n,P,r,i,f){var D;for(D=A;r<i;)D>=n||e<A&&f.Rb(t[e],t[D])<=0?P[r++]=t[e++]:P[r++]=t[D++];}function As(t,e,A,n,P){A<n?(this.a=t,this.b=e,this.c=A,this.d=n):(this.a=e,this.b=t,this.c=n,this.d=A),this.e=P;}function fm(t,e,A,n){this.c=h(NA,a0,6,n.c,14,1),this.b=h(NA,a0,6,n.c,14,1),az(n,t,e,this.c,this.b),this.a=A;}function Dm(t,e,A,n){this.a=(n8(e),RP(t,h(F,k,6,e,15,1),0,e)),this.b=(n8(n),RP(A,h(F,k,6,n,15,1),0,n));}function sh(t,e,A){t.v==null&&(t.v=h(F,D0,7,t.M,0,2)),A.sort(Fe(u0.prototype.gd,u0,[])),t.v[e]=A,t.T=0,t.K=true;}function TJ(t,e,A){var n,P;for(n=R1(it,[nA,Dt],[13,2],6,[t.f,e],2),ut(t,7),P=0;P<t.f;P++)n[P]=zR(t,P,e,A);return n;}function hJ(t,e,A){var n,P,r;return r=1.02*XB(t.f[1],e)+XB(t.f[0],e),n=A/r,P=w.Math.pow(n,-6),n>=1?0:2*(P*P-P);}function cJ(t,e,A){var n,P;if(t.I){for(P=new Wt(t.I);P.a<P.c.a.length;)if(n=t1(P),n.Hb(e,A))return n;}return null;}function pP(t,e){var A,n;for(n=new Wt(t);n.a<n.c.a.length;)if(A=t1(n),uz(A,e))return  false;return t.a.push(e),true;}function wJ(t){var e,A;for(e=new TD(),A=0;A<t.b.length;A++)Si(e,(Y1(),X0)[t.c[A]]),t.b[A]>1&&zq(e,t.b[A]);return e.a;}function k1(t){var e,A;return t>-129&&t<128?(Sd(),e=t+128,A=Pc[e],!A&&(A=Pc[e]=new Yl(t)),A):new Yl(t);}function Qn(t){var e;return e=Le(t),e>Hp?1/0:e<-34028234663852886e22?-1/0:e;}function uQ(t,e){return t.e[e]-e0(t,e)+xt(t,e)<=0?false:tA(t,e)?true:t.o[e]==0;}function um(t,e,A){var n;for(n=0;n<t.j[e];n++)if(t.n[e][n]==2&&K(t,t.i[e][n])>6&&t.i[e][n]!=A)return  true;return  false;}function gJ(t,e,A,n){var P,r,i;for(P=e+1;P<A;++P)for(r=P;r>e&&n.Rb(t[r-1],t[r])>0;--r)i=t[r],t[r]=t[r-1],t[r-1]=i;}function yh(t,e){var A;t.c=e,t.a=wh(e),t.a<54&&(t.f=(A=e.d>1?S9(e.a[0],e.a[1]):S9(e.a[0],0),Jr(e.e>0?A:p0(A))));}function nf(t,e){this.e=e,this.a=fh(t),this.a<54?this.f=Jr(t):this.c=(ke(),G(t,0)>=0?we(t):FP(we(p0(t))));}function Qm(t,e){return R9(),H8(t)?Kr(t,e):Vi(t)?$8((U1(t),t),(U1(e),e)):Tu(t)?xI((U1(t),t),(U1(e),e)):t.Sb(e);}function $8(t,e){return t<e?-1:t>e?1:t==e?t==0?$8(1/t,1/e):0:isNaN(t)?isNaN(e)?0:1:-1;}function dJ(t,e){t.V!=e&&(z1(t),t.V=e,t.U=0,t.I=null,t.eb=w.Math.max(t.eb,4),n1(t.k),N1(t,new q1(t,1,false)));}function lh(t,e){t.e=e.e,t.c=e.c,t.b=e.b,t.a=e.a==null?null:qD(e.a,e.a.length),t.d=e.d==null?null:qD(e.d,e.d.length);}function QQ(t,e,A){var n,P;return n=N(t.g,t.q[e]),n.g==A?false:(P=N(t.g,t.q[A]),P.g==e?true:VG(P,e));}function BJ(t,e){return t.a!=e.a?t.a<e.a?-1:1:t.b!=e.b?t.b<e.b?-1:1:t.c!=e.c?t.c<e.c?-1:1:0;}function Th(t,e){var A;return J1(t)===J1(e)?true:Zt(e,23)?(A=e,t.e==A.e&&t.d==A.d&&IN(t,A.a)):false;}function Um(t){var e,A;for(e=0,Hg(t.e),A=0;A<t.e.length;A++)(A==0||os(t.e[A],t.e[A-1])!=0)&&++e,t.f[t.e[A].a]=e;return e;}function vJ(t){var e,A;if(t.$!=null)for(e=0;e<t.R.f;e++)bd(t.R,e,t.$[e]);if(t.i!=null)for(A=0;A<t.R.g;A++)td(t.R,A,t.i[A]);}function FJ(t){var e,A,n,P;for(t.a=15,P=(A=new fD(t.c).a.$c().Tb(),new DD(A));P.a.ad();)n=(e=P.a.bd(),e.ed()),Ba(n);}function mJ(t){var e,A,n,P;for(e=(t.g==null&&(t.g=(P=hY(t),QY(P))),t.g),A=0,n=e.length;A<n;++A);}function om(t){var e,A,n,P;return t.e==0?t:(e=t.d,A=e+1,n=h(F,k,6,A,15,1),uF(n,t.a,e),P=new Ue(t.e,A,n),Rn(P),P);}function hh(t,e){var A,n,P,r;return A=t.D[0][e],n=t.D[1][e],P=t.J[n].a-t.J[A].a,r=t.J[n].b-t.J[A].b,w.Math.sqrt(P*P+r*r);}function Lm(t,e,A,n,P,r){var i;this.a=A,this.b=n,this.c=P,this.d=r,i=za(t.o,e,A,n,P,r),this.e=i.a,this.f=i.b,this.g=i.c;}function sm(t,e,A){var n;return n=t.a.get(e),t.a.set(e,A===void 0?null:A),n===void 0?(++t.c,++t.b.b):++t.d,n;}function $r(t){return t-=t>>1&1431655765,t=(t>>2&858993459)+(t&858993459),t=(t>>4)+t&252645135,t+=t>>8,t+=t>>16,t&63;}function ym(t){if(t<o1)throw At(new p8("Overflow"));if(t>It)throw At(new p8("Underflow"));return vt(t);}function lm(t,e,A){if(t<0||e>A)throw At(new gr(YQ+t+o6+e+", size: "+A));if(t>e)throw At(new C8(YQ+t+Fp+e));}function O1(t,e){var A;return U0(t)&&U0(e)&&(A=t+e,M2<A&&A<DP)?A:pn(vG(U0(t)?pe(t):t,U0(e)?pe(e):e));}function Un(t,e){var A;return U0(t)&&U0(e)&&(A=t*e,M2<A&&A<DP)?A:pn(V_(U0(t)?pe(t):t,U0(e)?pe(e):e));}function l0(t,e){var A;return U0(t)&&U0(e)&&(A=t-e,M2<A&&A<DP)?A:pn(kF(U0(t)?pe(t):t,U0(e)?pe(e):e));}function kJ(t,e,A,n){return (t.U&6)!=0&&A[1]!=n[1]?A[1]==0?-1:1:$8(e[A[0]].a+e[A[0]].b,e[n[0]].a+e[n[0]].b);}function Tm(t,e,A){var n,P;for(n=e;t.j[A]==2&&t.o[A]==2&&A!=n;)P=A,A=t.i[A][0]==e?t.i[A][1]:t.i[A][0],e=P;return A==n?-1:A;}function bJ(t,e,A){var n,P;for(P=false,n=0;n<e.e.length;n++)if(!_x(Yi(e.e,n))){P=true;break;}P||Z8(t.I,e),n1(t.k),rB(A.a);}function Pf(t,e){var A,n;for(t.d[e]&&(t.d[e]=false,--t.b),n=0;n<O(t.j,e);n++)A=Ot(t.j,e,n),t.e[A]&&(t.e[A]=false,--t.c);}function UQ(t,e){var A;if(Mt(t.L,e)==0)return  false;for(A=0;A<Mt(t.L,e);A++)if(!vr(t.L,Ot(t.L,e,A)))return  false;return  true;}function rf(t,e){var A,n;for(n=h(F,k,6,t==null?1:t.length+1,15,1),A=0;A<n.length-1;A++)n[A]=t[A];return n[n.length-1]=e,n;}function RJ(t,e){var A,n,P,r;for(P=0,r=0;P<t.length&&r<e.length;){if(A=t[P],n=e[r],A==n)return  true;A<n?++P:++r;}return  false;}function _D(t){var e,A;return t.includes("/csd/")?null:(e=(A=IE[t],typeof A===fy?A:null),!e&&gN(t),new Og(e));}function hm(t){var e,A;return t.A.d.a.length==0?null:(e=Zt(t,117)?yQ(t.c,t.A.d.a.length):0,A=kr(t.A,e),aU(t.A,e),A);}function jJ(t,e){var A;if(t.i==null)return  false;for(A=0;A<t.i.length;A++)if(!e.Hb(t.i[A].a,t.i[A].b))return  false;return  true;}function $D(t){var e;return Array.isArray(t)&&t.ud===PD?Uu(_L(t))+"@"+(e=a8(t)>>>0,e.toString(16)):t.toString();}function pJ(t,e){return t.h==l8&&t.m==0&&t.l==0?(e&&(In=S0(0,0,0)),cg((Xr(),ec))):(e&&(In=S0(t.l,t.m,t.h)),S0(0,0,0));}function cm(){this.b=AP("/resources/forcefield/mmff94/pbci.csv"),this.a=AP("/resources/forcefield/mmff94/bci.csv");}function wm(t,e,A,n,P){this.f=e,this.a=A,this.b=n,this.c=P,this.d=zD(t.b,e.a[n]),this.g=zv(t.a,e,A,n,P),this.e=eY(t.a,e,A,n,P);}function gm(t,e,A,n,P){var r,i,f;for(wf(t,e,t.k[A],n,P),f=t.o,i=0;i<f.e[e];i++)r=f.i[e][i],f.e[r]==1&&wf(t,r,t.k[A],n,P);}function dm(t,e,A,n,P){var r,i;return r=D8(t,e,A,n)+D8(t,e,n,P),i=r,U2(e,A,n,P,3)?i+=r>0?4:3:U2(e,A,n,P,4)&&(i+=r>0?6:4),i;}function CJ(t,e,A,n,P){var r;return r=e.a[n],!(zD(t.b,r)||A==P||D1(e,A,n)==-1||D1(e,n,P)==-1);}function ns(t,e,A){var n;for(n=0;n<t.f;n++)if(t.C[n]==A&&t.s[n]==0&&t.j[n]==0&&(t.s[n]=-1,t.T=0,--e,e==0))return 0;return e;}function MJ(t){var e;for(e=0;e<t.o.q;e++)if((t.a==null?NaN:t.a[e])>1e3||(t.a==null?NaN:t.a[e])>2e3)return  true;return  false;}function HJ(t,e){var A,n,P;for(A=0,Hg(t.b),n=0;n<e.length;n++)(n==0||os(t.b[n],t.b[n-1])!=0)&&++A,P=t.b[n].a,e[P]=A;return A;}function KA(t){var e,A,n,P;for(P=t.length,e=h(q,I,6,0,15,1),n=0;n<P;)A=Lk(t,n,t.length),n+=A>=Q0?2:1,N_(e,A);return e;}function VJ(t){var e,A,n;for(w$(t),n=h(o9,nA,74,rG(t),0,2),e=0,A=0;A<t.q&&e<t.i;A++)(!t.t||!t.e[A])&&(n[e++]=t.n[A]);return n;}function Bm(t){var e,A;ut(t.V,15),e=h(F,k,6,t.V.q,15,1),A=n9(t.V,e,false,true),A=K_(t,e,A),JW(t,e,A),t.M=e,t.L=Aj(t.V,e,A);}function EJ(t){var e;if(vN(t,t.a))for(e=0;e<t.u.r;e++)r0(t.u,z(t.u,0,e))&&r0(t.u,z(t.u,1,e))&&fj(t,e);else fj(t,t.a);_b(t.u);}function vm(t,e){var A;return A=e?NJ(t):dh(t),A&&t.r?(x1(),""+null.vd(),true):false;}function Fm(){if(!Ql)try{hi=new LR(),Ql=!0;}catch(t){if(t=t0(t),Zt(t,19))x1();else throw At(t);}}function mm(){mm=B1,GV=B(d(it,1),Dt,2,6,["Idorsia No","Actelion No","ID","IDNUMBER","COMPOUND_ID","NAME","COMPND"]);}function km(){km=B1,AE=B(d(it,1),Dt,2,6,["none","pressed","released","clicked","entered","exited","moved","dragged"]);}function aD(){Sh();var t,e,A;A=TPt+++Date.now(),t=vt(w.Math.floor(A*vV))&oi,e=vt(A-t*h4),this.a=t^1502,this.b=e^el;}function K0(t,e,A){A>=0&&A<=190&&(A==151||A==152?(t.C[e]=1,t.A[e]=A-149):(t.C[e]=A,t.A[e]=0),t.u[e]&=-2013265921,t.T=0);}function bm(t,e,A,n,P,r,i){gh(),this.c=ED(t,oV,this),this.d=e,this.a=-1,this.k=A,this.g=n,this.j=P,this.i=r,this.n=i,$j(this);}function ch(t,e,A,n,P,r,i,f,D,Q){km(),so.call(this,t,Q),this.b=e,this.c=A,this.g=n,this.i=P,this.f=r,this.d=i,this.a=f,this.e=D;}function Rm(t,e,A){this.b=new Zb(this,t.a),this.c=e,this.e=A,this.d=new e3(),t3(this.d,this.b),cB(this,this.b.o,this.b.e),PF(this);}function jm(t,e,A,n){X5(),this.v=ED(t,(e.u[A]&512)!=0?"Atom Query Features (Multiple)":"Atom Query Features",this),Wa(this,e,A,n);}function an(t){return t<3?0:t<11?1:t<19?2:t<37?3:t<55?4:0;}function wh(t){var e,A,n;return t.e==0?0:(e=t.d<<5,A=t.a[t.d-1],t.e<0&&(n=LF(t),n==t.d-1&&(--A,A=A|0)),e-=$9(A),e);}function SJ(t){var e,A,n;for(A=false,n=false,e=0;e<t.q;e++)t.A[e]!=0&&(t.A[e]=0,A=true,t.C[e]==1&&(n=true));return n&&(t.T=0),A;}function pm(t,e){var A,n;return n=t.d.a.length,A=X8(t,e),t.d.a.length!=n?(mt(t.b,e),t.a=null,n):(t.a==null&&sz(t),t.a[A]);}function qJ(t,e){var A,n;for(n=0;n<t.b.length;n++)if(A=w.Math.abs(t.b[n]-e.b[n]),A>Cy&&A<t.a[n]-Cy)return  false;return  true;}function Cm(t,e){var A,n;for(n=0;n<t.$.a.length;n++)t.v=dQ(t.v,N(t.$,n));eZ(t,e),A=.1*e,t.v.c-=A,t.v.d-=A,t.v.b+=2*A,t.v.a+=2*A;}function IJ(t,e,A){var n,P,r;for(P=0,r=0;r<t.a.length;r++)if(n=(1-A)*t.a[r]+A/t.a.length,P+=n,e<=P)return r;return t.a.length-1;}function Mm(t,e,A){var n,P;for(P=t.Tb();P.ad();)if(n=P.bd(),J1(e)===J1(n)||e!=null&&VP(e,n))return A&&P.cd(),true;return  false;}function xJ(t,e,A){var n,P;for(n=V(A,h1),P=0;G(n,0)!=0&&P<e;P++)n=O1(n,V(t[P],h1)),t[P]=zt(n),n=q0(n,32);return zt(n);}function Hm(t,e){var A,n;for(n=0,Wi(t,0,t.length,null),A=0;A<t.length;A++)(A==0||os(t[A],t[A-1])!=0)&&++n,e[t[A].a]=n;return n;}function Vm(t,e,A,n){var P,r;for(ut(t,1),P=0;P<n;P++)for(r=0;r<t.e[e[P]];r++)if(t.i[e[P]][r]==e[P+1]){A[P]=t.k[e[P]][r];break;}}function on(t,e,A,n){var P,r,i;return r=A-t,i=n-e,i!=0?(P=w.Math.atan(r/i),i<0&&(r<0?P-=Q1:P+=Q1)):P=r>0?bA:eU,P;}function tP(t,e,A){var n,P,r,i;for(r=e+A,pt(e,r,t.length),i="",P=e;P<r;)n=w.Math.min(P+nP,r),i+=Gx(t.slice(P,n)),P=n;return i;}function NJ(t){var e,A,n;for(A=new P8(),e=0;e<t.L.length;e++)n=qb(t.L[e]),n&&(e<t.Y?(mt(A.g,n),A.d=-1):(mt(A.f,n),A.d=-1));return A;}function Em(t){var e,A;for(A=0,e=0;e<t.length;e++)A<(Xt(e,t.length),t.charCodeAt(e))&&(A=(Xt(e,t.length),t.charCodeAt(e)));return A;}function Sm(t){var e,A,n;for(n=new V0(),A=new Wt(t);A.a<A.c.a.length;)e=t1(A),J(J(n,B6+e.Lb()+'"'+e.Kb()+v6),$A);return n.a;}function nt(t,e){var A,n;for(A=e,n=0;e!=0;)t.d==0&&(t.f=(t.c[++t.e]&63)<<11,t.d=6),n|=(Q0&t.f)>>16-A+e,t.f<<=1,--e,--t.d;return n;}function Cn(t,e){var A,n;return A=((t.u[e]&g8)>>>27)-1,A==-1&&(A=(n=t.C[e]<Lr.length?Lr[t.C[e]]:null,n==null?6:n[n.length-1])),A;}function t2(t,e){var A;if(t.f==null)e.a+=" atoms:<null>";else for(J(e," atoms:"+t.f[0]),A=1;A<t.f.length;A++)J(e,","+t.f[A]);}function qm(t,e,A){var n,P;for(t.U=e,n=0;n<t.R.f;n++)t.f[n]=A[n],t.db[n]=0,t.ib[n]=false;for(P=0;P<t.R.g;P++)t.o[P]=0,t.q[P]=false;}function OJ(t){var e,A,n;return t<SU.length?SU[t]:(A=t>>5,e=t&31,n=h(F,k,6,A+1,15,1),n[A]=1<<e,new Ue(1,A+1,n));}function Im(t,e){var A,n,P,r;return A=e>>5,e&=31,P=t.d+A+(e==0?0:1),n=h(F,k,6,P,15,1),qh(n,t.a,A,e),r=new Ue(t.e,P,n),Rn(r),r;}function Ps(t,e){for(var A=0;!e[A]||e[A]=="";)A++;for(var n=e[A++];A<e.length;A++)!e[A]||e[A]==""||(n+=t+e[A]);return n;}function we(t){ke();var e,A;return A=zt(t),e=zt(DA(t,32)),e!=0?new IB(A,e):A>10||A<0?new mA(1,A):FE[A];}function Y9(t,e){var A;return U0(t)&&U0(e)&&(A=t%e,M2<A&&A<DP)?A:pn((G5(U0(t)?pe(t):t,U0(e)?pe(e):e,true),In));}function gh(){gh=B1,ZV=B(d(it,1),Dt,2,6,["None","One electron (duplet)","Two electrons (triplet)","Two electrons (singulet)"]);}function xm(t,e,A,n,P,r,i,f,D,Q){this.i=t,this.a=e,this.f=A,this.o=n,this.c=P,this.k=r,this.j=i,this.p=f,this.d=D,this.n=Q,Z_(this);}function GJ(t){var e=/^#?0\.(0+)$/.exec(t);if(!e)throw new Error("unimplemented DecimalFormat with pattern "+t);return e[1].length;}function Nm(){var t;!gn&&(gn=new Bg()),(gn.b&1)!=0&&gn.a!=15&&x1(),t=1&~gn.b,t!=0&&(Qa(gn,t),t==1&&FJ(gn));}function JJ(t){_A();var e,A,n;return n=new Nw(),A=(n.j=null,f6(n,new nn(new b9(t)))?n.j:null),e=n.f==null?Qu(n.j):n.f,CI(new CA(A),e);}function Om(t,e,A){var n;for(n=0;n<t.r;n++)if((t.D[0][n]==e&&t.D[1][n]==A||t.D[0][n]==A&&t.D[1][n]==e)&&t.H[n]!=512)return n;return  -1;}function Gm(t,e){var A,n;for(n=0;n<t.g[e].length;n++)if(A=t.g[e][n],t.f[A]&&(t.o[A]==1||t.o[A]==2)&&t.k[A]==0)return  true;return  false;}function ff(t,e){var A,n;for(n=t.a.length,e.length<n&&(e=uu(new Array(n),e)),A=0;A<n;++A)e[A]=t.a[A];return e.length>n&&(e[n]=null),e;}function zJ(t,e,A){var n,P,r;for(r=0,n=h(F,k,6,O(t.c,e)-1,15,1),P=0;P<O(t.c,e);P++)_(t.c,e,P)!=A&&(n[r++]=_(t.c,e,P));return n;}function Jm(t,e,A){var n,P,r;for(r=0,n=h(F,k,6,O(t.b,e)-1,15,1),P=0;P<O(t.b,e);P++)_(t.b,e,P)!=A&&(n[r++]=_(t.b,e,P));return n;}function dh(t){var e,A;if((t.U&4)==0||t.L==null)return null;for(A=new P8(),e=0;e<t.L.length;e++)e<t.Y?q7(A,t.L[e]):S7(A,t.L[e]);return A;}function oQ(t){var e,A;return G(t,-129)>0&&G(t,128)<0?(Ed(),e=zt(t)+128,A=rc[e],!A&&(A=rc[e]=new Kl(t)),A):new Kl(t);}function zm(t,e,A){for(t.j==null&&(t.j=h(Yt,at,6,t.o.r,15,1),Vq(t.j));A<0;)A=A+360<<16>>16;for(;A>=360;)A=A-360<<16>>16;t.j[e]=A;}function kA(t,e,A,n){Y1();var P,r,i;return r=A-t,i=n-e,i!=0?(P=w.Math.atan(r/i),i<0&&(r<0?P-=Q1:P+=Q1)):P=r>0?bA:eU,P;}function YJ(t){var e;try{return VY((new Lh(),t.a));}catch(A){if(A=t0(A),Zt(A,19))return e=A,Z9(e,(x1(),gi)),-999;throw At(A);}}function Bh(t,e){P8.call(this),t!=null&&(jP(this.g,new xD(new Po(t),0,e)),jP(this.f,new xD(new Po(t),e,t.length))),this.c=cQ(this);}function rs(t,e){return t.e>e.e?1:t.e<e.e?-1:t.d>e.d?t.e:t.d<e.d?-e.e:t.e*rQ(t.a,e.a,t.d);}function KJ(t){return t>=48&&t<48+w.Math.min(10,10)?t-48:t>=97&&t<97?t-97+10:t>=65&&t<65?t-65+10:-1;}function XJ(t,e){var A,n;for(A=e;A<t.length;A++){if(n=(Xt(A,t.length),t.charCodeAt(A)),n==32||n==9)return  -1;if(n==61)return A;}return  -1;}function ZJ(t,e){var A,n,P,r;return n=t.a.length-1,A=e-t.b&n,r=t.c-e&n,P=t.c-t.b&n,_g(A<P),A>=r?(JG(t,e),-1):(GG(t,e),1);}function Ym(t,e){var A,n;for(n=t.a.length,e.length<n&&(e=uu(new Array(n),e)),A=0;A<n;++A)e[A]=t.a[A];return e.length>n&&(e[n]=null),e;}function vh(t,e){var A;if(e==null||e.length==0)return null;for(A=2;A<e.length-2;A++)if(e[A]==32)return Ls(t,e,e,A+1);return Ls(t,e,null,0);}function WJ(t){var e;return e=typeof t,A1(e,w2)||A1(e,nr)||A1(e,bf)?true:t!=null&&t.$implements__java_lang_Comparable;}function K9(t,e){return U1(t),e==null?false:A1(t,e)?true:t.length==e.length&&A1(t.toLowerCase(),e.toLowerCase());}function _J(){var t,e;if(q2==null)for(e=new GA(false),q2=h(o9,or,26,sr.length,0,1),t=0;t<sr.length;t++)q2[t]=_i(e,sr[t]),ut(q2[t],1);}function Km(){Km=B1,qV=B(d(F,2),D0,7,0,[B(d(F,1),k,6,15,[0,0,1]),B(d(F,1),k,6,15,[0,2,3]),B(d(F,1),k,6,15,[1,3,3])]);}function X9(){X9=B1,J4=new wD("ONE_ONE",0),Y4=new wD("ONE_TWO",1),z4=new wD("ONE_THREE",2),Ti=new wD("ONE_FOUR",3),x2=new wD("ONE_X",4);}function Xm(t,e,A){this.s=ED(t,r0(e,e.D[0][A])&&r0(e,e.D[1][A])?"Bond Query Features (Multiple)":"Bond Query Features",this),ba(this,e,A);}function $J(t,e){e=e||{};var A=(typeof e.maxSphereSize===TU?5:e.maxSphereSize)|0,n=(typeof e.type===TU?0:e.type)|0;return SK(t,A,n);}function aJ(t,e){t.a=e;var A=t.Ic(),n=t;function P(){n.Hc();}function r(){n.Gc();}var i={fireOk:P,fireCancel:r};A.setEventConsumer(i);}function Me(t){$5();var e;if(!isNaN(t)&&!isFinite(t)||isNaN(t))throw At(new YP("Infinite or NaN"));ga(this,(e=t,e.toPrecision(20)));}function tz(t){var e;return ET(t.Vb(),(e=lB(new Uw(),Mv(new Qw(),new uw(),new cw(),B(d(Fl,1),Ye,95,0,[(iQ(),qU)]))),LT(e,new ow())));}function Zm(t){ke(),t.length==0?(this.e=0,this.d=1,this.a=B(d(F,1),k,6,15,[0])):(this.e=1,this.d=t.length,this.a=t,Rn(this));}function LQ(t){this.j=t&-4,this.q=t&3,this.o=(t&32)!=0,this.e=(t&64)!=0,this.i=(t&8)!=0,this.d=2,(t&4)!=0&&(this.d|=1),this.i&&(this.d&=-3);}function Df(t,e){var A,n;for(A=0,n=0;n<t.j[e];n++)t.n[e][n]==2&&(K(t,t.i[e][n])==7||K(t,t.i[e][n])==8||K(t,t.i[e][n])==16)&&++A;return A;}function Wm(t,e,A){var n,P,r,i,f;for(P=0,i=0,f=0;f<t.g[e].length;f++)n=t.g[e][f],t.k[n]==A&&(r=1<<t.j[n],(i&r)==0&&(i|=r,++P));return P;}function is(t,e){var A,n,P,r,i;for(i=0,n=1,r=new Wt(t.a);r.a<r.c.a.length;)P=t1(r),A=P.cc(e,null,""+n,false),A!=0&&(i+=A,++n);return i;}function ez(t,e,A,n){var P,r;if(t.d.length>t.c.length)for(P=0;P<t.a;P++)A[n+P]=t.c[P];else for(r=N(t.b,e),P=0;P<t.a;P++)A[n+P]=t.c[r[P]];}function Az(t,e,A,n){var P,r;if(t.d.length<=t.c.length)for(P=0;P<t.a;P++)A[n+P]=t.d[P];else for(r=N(t.b,e),P=0;P<t.a;P++)A[n+P]=t.d[r[P]];}function _m(t,e,A){var n,P,r,i;for(i=i=h(rt,ft,6,t.q,16,1),r=vX(t,e,A,i),P=h(F,k,6,r,15,1),r=0,n=0;n<t.q;n++)i[n]&&(P[r++]=n);return P;}function nz(){var t;return CU!=0&&(t=Date.now(),t-hE>2e3&&(hE=t,MU=w.setTimeout(Yq,10))),CU++==0?(kO((Q3(),a4)),true):false;}function ar(t){switch(Y1(),t){case 7:case 8:case 9:case 15:case 16:case 17:case 33:case 34:case 35:case 52:case 53:return  true;}return  false;}function Pz(t,e){var A,n,P;if(n=r9(t),P=r9(e),n==-1||P==-1||(n+P&1)==0)return 3;switch(A=0,n+P){case 3:case 7:A=2;break;case 5:A=1;}return A;}function rz(t,e){var A,n,P;if(n=r9(t),P=r9(e),n==-1||P==-1||(n+P&1)==0)return 3;switch(A=0,n+P){case 3:case 7:A=1;break;case 5:A=2;}return A;}function iz(t,e,A){A!=null&&A.length==0&&(A=null),A==null?t.t!=null&&(t.t[e]=null):(t.t==null&&(t.t=h(q,w8,10,t.M,0,2)),t.t[e]=A);}function $m(t,e,A,n){var P;P=new fs(t,e),TL(P,A,dt(e,A)==1?2:3),TL(P,n,dt(e,n)==2?1:2),t.g[A]=true,t.g[n]=true,zi(t.e,P)&&uL(t.d,P);}function fz(){var t,e;if(hl==null&&hl==null){for(t=h(ytt,A0,199,RU.length,0,1),e=0;e<RU.length;e++)t[e]=new Up(RU[e][0],RU[e][1]);hl=t;}}function Dz(t,e){var A,n,P;_A(),e=e||{};var r=!e.noCoordinates,i=!e.noStereo;return A=new i3(),n=new Y3(),kd(A,n.a,KA((P=t,JD(),P)),r,i),n;}function CP(t){var e;if(t<wi.length)return wi[t];for(e=new V0();t>=wi.length;)J(e,wi[wi.length-1]),t-=wi.length-1;return J(e,wi[t]),e.a;}function uz(t,e){var A,n,P;if(e.e.length!=t.e.length)return  false;for(n=RF(t),P=RF(e),A=0;A<n.length;A++)if(n[A]!=P[A])return  false;return  true;}function am(t,e){var A,n,P;for(P=0,n=0;n<t.length;n++){for(A=t[n];e[P]<A;)if(++P,P==e.length)return  false;if(e[P]>A)return  false;}return  true;}function Qz(t,e){var A,n;for(n=true,A=0;A<t.c.length;A++)(gt(V(Jn(e.c[A]),t.c[A]),0)||gt(V(e.b[A],t.c[A]),t.b[A]))&&(n=false);return n;}function Uz(t,e){var A,n;for(n=true,A=0;A<t.c.length;A++)(gt(V(Jn(t.c[A]),e.c[A]),0)||gt(V(t.b[A],e.c[A]),e.b[A]))&&(n=false);return n;}function oz(t,e){kf();var A,n,P,r;for(r=0,n=0,P=0,A=0;A<t.length;A++)r+=$r(t[A]&e[A]),n+=$r(t[A]),P+=$r(e[A]);return r/w.Math.sqrt(n*P);}function tk(t,e){var A,n,P,r;for(n=0,P=0,r=0,A=0;A<t.V.q;A++)(!e||r0(t.V,A))&&(P+=kt(t.V,A),r+=jt(t.V,A),++n);return n>1?new ig(P/n,r/n):null;}function fs(t,e){var A;for(this.b=t,this.a=h(F,k,6,(t.i.g+15)/16|0,15,1),A=0;A<t.i.g;A++)this.a[A>>4]|=w.Math.min(3,dt(e,A))<<2*(A&15);}function MP(t,e,A){this.j=t,this.i=A,this.e=h(F,k,6,e,15,1),this.k=h(F,k,6,e,15,1),this.a=h(yt,wt,6,e,15,1),this.b=h(yt,wt,6,e,15,1);}function Lz(t){var e,A,n,P,r;for(A=qX(new BP(238,238,238)),n=oi&A.a,P=0;P<xo(t);P++)for(r=0;r<Oo(t);r++)e=Kd(t,P,r),Jo(t,P,r,(qn&e)+n);}function sz(t){var e,A,n,P;for(t.a=h(F,k,6,t.d.a.length,15,1),e=0,P=new Wt(t.b);P.a<P.c.a.length;)n=t1(P),t.a[A=a9(t,n),A<0?-1:A]=e++;}function yz(t,e){var A,n,P;for(t.c=e,P=new Wt(t.g);P.a<P.c.a.length;)A=t1(P),je(A,e);for(n=new Wt(t.f);n.a<n.c.a.length;)A=t1(n),je(A,e);}function ek(t,e,A,n){var P;for(P=0;P<A.length;P++)A[P]||(A[P]=true,n[e]=P,e+1==n.length?mt(t.b,bn(n,n.length)):ek(t,e+1,A,n),A[P]=false);}function lz(t,e,A,n){var P,r,i;for(r=0,i=0;i<t.i[e].length;i++)if(P=(1-n)*t.e[e][i]+n/t.i[e].length,r+=P,A<=r)return i;return t.i[e].length-1;}function Fh(t,e){var A,n,P,r;return A=e/2|0,P=t<0,t=w.Math.abs(t),r=e/32|0,n=w.Math.min(A-1,zt(E1(w.Math.round(t*A/(t+r))))),P?A+n:n;}function Ak(t,e,A){var n;return n=e==0?F0+t[0]-t[t.length-1]:t[e]-t[e-1],A>d6&&A<AA?n-=2*w.Math.cos(A+m2):n-=.5*w.Math.cos(A+m2),n;}function Ds(t,e){var A;return e==null||!Zt(e,29)?false:(A=e,w.Math.abs(A.a-t.a)+w.Math.abs(A.b-t.b)+w.Math.abs(A.c-t.c)<1e-6);}function nk(){nk=B1,BU=B(d(rt,1),ft,6,16,[false,false,false,false,false,true,true,true,true,false,false,false,false,false,false,true,true]);}function Tz(t,e){return H8(t)?!!jV[e]:t.td?!!t.td[e]:Vi(t)?!!RV[e]:Tu(t)?!!bV[e]:false;}function sQ(t,e){switch(e){case 0:return HY(t,false);case 1:return hz(t);case 2:return JY(t);case 3:return Hz(t);case 4:return LY(t);}return null;}function Pk(t){var e;e=t.R.c*(t.r!=0?t.r:V8(t.L)),t.Y=e*rtt,t.T=e*Ptt,t.S=e*.38,t.W=e*.47,t.X=vt(e*t.J*itt+.5),t.V=e*.12,t.Z=e*.4,t.A=e*.5+.5;}function hz(t){try{return t=Xn(t),ds(t),me(new BA(t));}catch(e){if(e=t0(e),Zt(e,27))return x1(),null;throw At(e);}}function cz(t,e){var A,n;for(n=0;n<t.b.i.g;n++)t.b.g[n]&&(A=3&t.a[n>>4]>>2*(n&15),w0(e,n,A==1?1:A==2?t.b.g[n]&&!WP(t.b.i,n)?386:2:A==3?4:16));}function wz(t,e,A){var n,P;for(n=new BA(es(A,null)),me(n),Iu(n,n.jb),t.d=h(F,k,6,e.g.length,15,1),P=0;P<t.d.length;P++)t.d[P]=ed(A,e.g[P].a);}function a8(t){return H8(t)?Qh(t):Vi(t)?vt((U1(t),t)):Tu(t)?(U1(t),t?1231:1237):PT(t)?t.ob():AT(t)?vD(t):t&&t.hashCode?t.hashCode():vD(t);}function gz(t){var e,A;for(e=0;e<t.R.f;e++)(!t.M[e]||t.db[e]==3)&&(t.bb[e]=0);for(A=0;A<t.R.g;A++)(l1(t.R,A)!=1||t.o[A]==0||t.o[A]==3)&&(t.n[A]=0);}function dz(t,e){var A,n;if((t.u[e]&hn)!=0){for(n=(ut(t,7),t.p),A=0;A<n.j.a.length;A++)if(N(n.k,A).length==6&&yA(n,A,e))return  true;}return  false;}function e2(t,e){var A,n;if(t.C[e]==7&&t.e[e]+xt(t,e)>=3){for(A=0;A<t.e[e];A++)if(n=t.i[e][A],t.C[n]==8&&t.e[n]+xt(t,n)==1)return  true;}return  false;}function yQ(t,e){var A,n;if(Wg(e>0),(e&-e)==e)return vt(e*Rs(t,31)*4656612873077393e-25);do A=Rs(t,31),n=A%e;while(A-n+(e-1)<0);return vt(n);}function us(t){var e,A;cu(this);try{if(t)for(A=new Wt(t);A.a<A.c.a.length;)e=t1(A),mt(this,e.Gb());}catch(n){if(n=t0(n),!Zt(n,19))throw At(n);}}function XA(t,e,A){A>=-1&&A<=14&&(t.u[e]&=-2013265921,t.u[e]|=1+A<<27,t.C[e]==6&&(A==-1||A==0||A==2||A==4)&&(t.u[e]&=-49,A==2&&(t.u[e]|=16)));}function rk(t,e,A,n){var P,r,i,f;for(r=-1,i=-1,f=0;f<Mt(t.e,e);f++)if(P=_(t.e,e,f),P==A||P==n)if(i==-1)i=f;else {r=f;break;}return t.a[e][r][i];}function ik(t,e){var A,n,P,r,i;for(A=-1,n=-1,r=0;r<O(t.k,e);r++)P=_(t.k,e,r),i=(pA(t.k,e,r)<<24)+t.a[P],!t.b[P]&&(A==-1||n<i)&&(A=r,n=i);return A;}function Bz(t,e){var A,n,P,r;for(n=1,r=0;r<t.v.length;r++)n*=s3(t.v[r],e.d[r]);for(A=z9(t.i,e.d),P=0;P<t.w.length;P++)n*=k3(A,P,e.i[P]);return n;}function fk(t,e){var A,n,P,r;for(r=t.size(),e.length<r&&(e=uu(new Array(r),e)),P=e,n=t.Tb(),A=0;A<r;++A)P[A]=n.bd();return e.length>r&&(e[r]=null),e;}function Dk(t,e){return w.Math.acos((t.a*e.a+t.b*e.b+t.c*e.c)/(w.Math.sqrt(t.a*t.a+t.b*t.b+t.c*t.c)*w.Math.sqrt(e.a*e.a+e.b*e.b+e.c*e.c)));}function Qs(t,e,A,n){P9();var P,r;for(P=0,r=0;r<A;r++)P=O1(Un(V(e[r],h1),V(n,h1)),V(zt(P),h1)),t[r]=zt(P),P=DA(P,32);return zt(P);}function eP(t,e){var A;for(A=0;A<t.w;A++)e-=16;for(e<0&&x1();e>15;)Jt(t,1,1),Jt(t,15,4),e-=16,++t.w;Jt(t,1,1),Jt(t,e,4);}function mh(){Km(),this.c=new zA(24,29),this.i=h(F,k,6,24,15,1),this.b=h(F,k,6,2,15,1),this.e=h(F,k,6,2,15,1),this.f=h(F,k,6,2,15,1);}function vz(t,e,A){return HI(t>=0&&t<=1114111),t>=Q0?(e[A++]=55296+(t-Q0>>10&1023)&w1,e[A]=56320+(t-Q0&1023)&w1,2):(e[A]=t&w1,1);}function Fz(t){var e;if(t.q==1)return  true;for(e=1;e<t.q;e++)if(t.J[e].a!=t.J[0].a||t.J[e].b!=t.J[0].b||t.J[e].c!=t.J[0].c)return  true;return  false;}function mz(t,e,A){var n,P;for(P=0;P<O(t.j,e);P++)if(n=_(t.j,e,P),K(t.j,n)==8&&O(t.j,n)==1)return A&&p1(t.j,n)==0&&E0(t.j,n,-1),true;return  false;}function uk(t,e){var A,n;for(n=0;n<t.b.length;n++)if(A=w.Math.abs(t.b[n]-e.b[n]),A>Cy&&A<t.a[n]-Cy)return A<t.a[n]/2^t.b[n]<e.b[n]?1:-1;return 0;}function kh(t,e,A,n){var P,r;for(r=0;r<t.g[e].length;r++)P=t.g[e][r],t.f[P]&&(t.o[P]==1||t.o[P]==2)&&t.k[P]==0&&(t.k[P]=n<<24>>24,t.j[P]=A<<24>>24);}function kz(t){var e;return ET(t.Vb(),(e=lB(new Tw(),wO(new yw(),new lw(),new gw(),new dw(),B(d(Fl,1),Ye,95,0,[(iQ(),sc),qU]))),LT(e,new hw())));}function Us(t,e){var A;if(t.j[e]==3&&e<t.f&&i0(t.p,e)&&(t.p&&e<t.f?iA(t.p,e):0)>=5){for(A=0;A<t.j[e];A++)if(fi(t,t.k[e][A]))return t.k[e][A];}return  -1;}function bz(t){var e,A,n;for(A=false,e=1;e<t.e.a.length;e++)for(n=0;n<e;n++)N(t.e,n).a>N(t.e,e).a&&(A=!A),N(t.e,n).b>N(t.e,e).b&&(A=!A);return A;}function Rz(t){var e,A;for(e=0;e<t.f.q;e++)!t.b[e]&&Mt(t.f,e)==0&&(A=new MP(t.f,1,false),t.b[e]=true,A.e[0]=e,A.a[0]=0,A.b[0]=0,A.k[0]=0,pP(t.d,A));}function jz(t,e){var A,n,P;return e<=22?(A=t.l&(1<<e)-1,n=P=0):e<=44?(A=t.l,n=t.m&(1<<e-22)-1,P=0):(A=t.l,n=t.m,P=t.h&(1<<e-44)-1),S0(A,n,P);}function bh(t,e,A,n,P,r,i,f){var D,Q;n&&(D=n.a[0],D&&bh(t,e,A,D,P,r,i),Nz(t,A,n.c,P,r,i)&&e.add(n),Q=n.a[1],Q&&bh(t,e,A,Q,P,r,i));}function os(t,e){var A;for(A=0;A<t.c;A++)if(gt(t.d[A],e.d[A]))return Hi(t.d[A],e.d[A])?-1:1;return P0(t.d[t.c],e.d[t.c])?0:Hi(t.d[t.c],e.d[t.c])?-1:1;}function Qk(t,e,A){var n,P,r;for(r=e.length,n=new MP(t.f,r,false),n.a[0]=0,n.b[0]=0,P=0;P<r;P++)n.k[P]=128-r,n.e[P]=e[P];r<8?TQ(n):xa(t,n,e,A),pP(t.d,n);}function Uk(t,e){var A=new Array(e),n;switch(t){case 14:case 15:n=0;break;case 16:n=false;break;default:return A;}for(var P=0;P<e;++P)A[P]=n;return A;}function ok(t){var e;return e=new nD(),t.a<=t.b?(e.c=t.a,e.b=t.b-t.a):(e.c=t.b,e.b=t.a-t.b),t.c<=t.d?(e.d=t.c,e.a=t.d-t.c):(e.d=t.d,e.a=t.c-t.d),e;}function Jt(t,e,A){for(;A!=0;)t.t==0&&((!t.r||t.v!=63)&&(t.v+=64),Oe(t.u,t.v&w1),t.t=6,t.v=0),t.v<<=1,t.v=zt(Y(t.v,V(e,1))),e=q0(e,1),--A,--t.t;}function pz(t,e,A,n,P,r,i,f,D,Q){var U;return U=Rh(T5(t,e,A,n,P,r,i,f,D)),U==-1&&(U=Rh(T5(t,e,A,n,P,r,i,7,7)),U==-1&&(U=Rh(T5(t,e,A,n,P,3,3,7,7)))),U;}function Rh(t){var e,A,n,P;for(M4||i_(),P=C0,n=I1,A=0;A<13;A++){if(e=P>=dU.length||t<dU[P]?-1:t==dU[P]?0:1,e==0)return P;P=e<0?P-n:P+n,n=n/2|0;}return  -1;}function Cz(t,e){_A();var A;return typeof e===TU&&(e=true),typeof e===w2?A=new CA(_i(new GA(e),t)):typeof e===bf&&(A=new CA(yG(new GA(false),t,e))),A;}function Lk(t,e,A){var n,P;return n=Yi(t,e++),n>=55296&&n<=56319&&e<A&&pI(P=(Xt(e,t.length),t.charCodeAt(e)))?Q0+((n&1023)<<10)+(P&1023):n;}function Mz(t){var e;return t==null?false:(e=typeof t,A1(e,w2)||A1(e,nr)||A1(e,bf)||t.$implements__java_io_Serializable||Array.isArray(t));}function Hz(t){var e;try{return e=XR(new r5(t)),me(new EA(e,8));}catch(A){if(A=t0(A),Zt(A,27))return x1(),null;throw At(A);}}function lQ(t,e){var A,n,P;return A=t.a,n=t.b,P=t.c,t.a=A*e[0][0]+n*e[1][0]+P*e[2][0],t.b=A*e[0][1]+n*e[1][1]+P*e[2][1],t.c=A*e[0][2]+n*e[1][2]+P*e[2][2],t;}function Ls(t,e,A,n){var P,r,i,f,D;return e==null?null:($o(t,e,0),P=nt(t,4),f=nt(t,4),P>8&&(P=f),r=nt(t,P),i=nt(t,f),D=new zA(r,i),gp(t,D,e,A,n),D);}function sk(t,e,A){var n,P,r;if(t.i!=null)for(n=0;n<t.i.length;n++)r=t.p[n]*e,P=t.o[n]-A,t.i[n].a=t.k+r*w.Math.sin(P),t.i[n].b=t.n+r*w.Math.cos(P);}function Vz(t){var e,A,n,P,r,i;for(A=0,P=t.a,r=0,i=P.length;r<i;++r)n=P[r],n&&++A;for(t.b=h(F,k,6,A,15,1),A=0,e=0;e<t.a.length;e++)t.a[e]&&(t.b[A++]=e);}function m0(t,e){t.b!=e&&e>=0&&e<34&&(e!=t.b||e==20||e==33)&&(e!=19||(t.a.U&4)!=0)&&(e!=21||(t.a.U&8)!=0)&&!(e==0||e==17||e==1)&&(t.b=e,au(t.a,e),MD(t.n));}function Ez(t,e){switch(e){default:case 0:return sQ(t.a,0);case 1:return sQ(t.a,1);case 2:return sQ(t.a,2);case 3:return sQ(t.a,3);case 4:return sQ(t.a,4);}}function Sz(t){switch(typeof t){case bf:return Qh(t);case nr:return vt((U1(t),t));case w2:return U1(t),t?1231:1237;default:return t==null?0:vD(t);}}function qz(t){var e,A,n;t.b==t.c&&(n=t.a.length,A=CG(w.Math.max(8,n))<<1,t.b!=0?(e=qI(t.a,A),tF(t,e,n),t.a=e,t.b=0):mi(t.a,A),t.c=n);}function HP(t,e,A,n,P){var r,i,f;P&&(r=t.vb(n),i=r/2+(t.wb()/8|0),f=t.wb()/2|0,(n=="+"||n=="-")&&(f=f*2/3),mt(t.$,new QA(e-i,A-f,2*i,2*f))),t.K||t.tb(n,e,A);}function yk(){op();var t,e,A,n,P,r,i;for(cu(this),r=new vo(),A=xV,n=0,P=A.length;n<P;++n)e=A[n],t=_i(new Z2(),e),DK(r,t),i=new og(t),i.a=V8(i.b),this.a.push(i);}function Iz(t){var e,A;for(A=false,e=0;e<t.V.f;e++)C1(t.V,e)!=0&&Bn(t.V,e)&&(A||(z1(t),A=true),Ze(t.V,e,C1(t.V,e),false));A&&kL(t,w.Math.max(t.eb,1));}function xz(t,e){var A,n,P;return P=t.h-e.h,P<0||(A=t.l-e.l,n=t.m-e.m+(A>>22),P+=n>>22,P<0)?false:(t.l=A&x0,t.m=n&x0,t.h=P&aA,true);}function Nz(t,e,A,n,P,r,i){var f,D;return !(e.ld()&&(D=t.a.Rb(A,n),D<0||D==0)||e.md()&&(f=t.a.Rb(A,r),f>0||f==0));}function A2(t,e,A,n){var P;return P=h(yt,wt,6,3,15,1),P[0]=t.k[n].a-t.k[A].a,P[1]=t.k[n].b-t.k[A].b,P[2]=t.k[n].c-t.k[A].c,P[0]*e[0]+P[1]*e[1]+P[2]*e[2]>0;}function Oz(t,e){var A;for(A=0;A<t.j.f;A++)t.d[A]&&gQ(t.j,A)==0&&(!e||K(t.j,A)==5&&p1(t.j,A)<0||K(t.j,A)==6||K(t.j,A)==14||tA(t.j,A)&&p1(t.j,A)>0)&&Pf(t,A);}function ti(t){var e;return e=w.Math.sqrt(t.a*t.a+t.b*t.b+t.c*t.c),e==0?(x1(),t.a=1,t.b=0,t.c=0,t):(t.a/=e,t.b/=e,t.c/=e,t);}function ei(t){return Y1(),!(t==1||t==6||ar(t)||t==2||t==10||t==18||t==36||t==54||t==86||t>103);}function lk(t){var e,A,n,P,r,i;for(i=AP(t),r=i.length,e=i[0].length,P=R1(F,[D0,k],[7,6],15,[r,e],2),A=0;A<r;A++)for(n=0;n<e;n++)P[A][n]=i[A][n].a;return P;}function Tk(t){var e;return e=0,t==2?e=1:t>=3&&t<=10?e=2:t>=11&&t<=18?e=3:t>=19&&t<=36?e=4:t>=37&&t<=54&&(e=5),(t>=21&&t<=30||t>=39&&t<=48)&&(e*=10),e;}function Gz(t,e){e.j==1?(t.a!=-1&&(K0(t.e,t.a,t.k),jr(t.e,t.a,t.g),XA(t.e,t.a,t.j),Ne(t.e,t.a,t.i),u8(t.e,t.a,t.n)),Rr(t.c)):e.j==0&&(R$(t),Rr(t.c));}function ss(t){var e,A;return isNaN(t)?{l:0,m:0,h:524160}:(e=(A=new ArrayBuffer(8),new Float64Array(A)[0]=t,new Uint32Array(A)),S9(e[0]|0,e[1]|0));}function hk(t){var e,A;if(t.K){for(e=0;e<t.q;e++)if(gt(V(t.B[e],Pe),0)){for(t=new Yr(t),A=e;A<t.q;A++)gt(V(t.B[A],Pe),0)&&(t.C[A]=-1);Pi(t);}}return t;}function ck(t,e,A,n,P,r){this.f=t,P!=0&&P!=1?this.c=true:(this.a=e,this.b=A,this.d=r,this.e=new f1(),n!=-1&&Ku(this,n,A-1),n!=-1&&P==1&&Ku(this,iU,A+1));}function f8(t,e){z1(t),Jh(t.V,t.hb,t.kb,e,0,-1,0,null)&&(t.t!=-1&&(t.t=-1,N1(t,new q1(t,4,true))),t.eb=w.Math.max(t.eb,3),n1(t.k),N1(t,new q1(t,1,true)));}function Jz(t){var e,A,n,P,r,i;for(r=-1,i=Ve,e=0;e<t.V.q;e++)n=t.hb-kt(t.V,e),P=t.kb-jt(t.V,e),A=w.Math.sqrt(n*n+P*P),A<24&&i>A&&(i=A,r=t.M[e]);return r;}function zz(t,e){var A,n,P;for(n=0;n<t.j[e];n++)if(t.n[e][n]!=1){for(A=t.i[e][n],P=0;P<t.j[A];P++)if(t.n[A][P]==1&&Df(t,t.i[A][P])!=0)return  true;}return  false;}function uf(t,e){var A,n;for(e.v=null,e.t=null,e.K=t.K,e.q=0,A=0;A<t.q;A++)En(t,e,A,0,0);for(e.r=0,n=0;n<t.r;n++)er(t,e,n,0,0,t.D[0][n],t.D[1][n],false);t.Yb(e);}function Yz(t,e){var A,n;for(A=h(F,D0,7,e,0,2),n=0;n<t.length;n++)t[n]!=null&&(A[n]=h(F,k,6,t[n].length,15,1),sA(t[n],0,A[n],0,t[n].length));return A;}function Kz(t,e){var A,n;for(A=h(q,w8,10,e,0,2),n=0;n<t.length;n++)t[n]!=null&&(A[n]=h(q,I,6,t[n].length,15,1),sA(t[n],0,A[n],0,t[n].length));return A;}function wk(t,e,A){var n,P,r,i,f;if(r=G1(t,e),n=WA(t,e,r,A),i=((t.u[e]&g8)>>>27)-1,i==-1){for(f=Yu(t.C[e]),P=0;P<f.length-1&&r>f[P]+n;)++P;i=f[P];}return i+n-r;}function Xz(t,e){var A;if(t.b.length!=e.b.length)return t.b.length<e.b.length?-1:1;for(A=0;A<t.b.length;A++)if(t.b[A]!=e.b[A])return t.b[A]<e.b[A]?-1:1;return 0;}function Zz(t,e){var A,n,P;t.j||e.startsWith("COUNTS")&&(A=lA(e,ne(e,7)),n=c1(UA(e,7,ne(e,7)),o1,It),P=c1(UA(e,A,ne(e,A)),o1,It),t.j=new zA(n,P));}function Wz(t,e){var A,n,P,r,i,f;for(i=new Nn(),f=t.c.length==2?t.c:t.b,n=f,P=0,r=n.length;P<r;++P)A=n[P],Hr(i,e.k[A]);return cd(i,.5),ti(mx(i,J0(e,t.f[4]))),i;}function _z(t,e){var A,n;if(n=false,t.f.t==null)for(t.f.t=h(F,k,6,e.length,15,1),A=t.f.t.length;--A>=0;)t.f.t[e[A]]=A;return n=Yj(t,e,0,n),n=Yj(t,e,1,n),n;}function $z(t,e,A){var n;if(t.eb==6){if(A)for(n=0;n<t.V.q;n++)zn(t.V,n,!r0(t.V,n));Ar(new Y8(A?4:0),t.V),A&&nT(t.V);}j5(t.G,e,new QA(0,0,VD(t.k),Vr(t.k)),Q0|t.T);}function gk(t,e){var A,n,P;if(vT(e),A=e/31|0,n=t.a.length,A>=n)return  -1;for(P=(t.a[A]|0)&It<<e%31;P==0;){if(++A>=n)return  -1;P=t.a[A]|0;}return A*31+OL(P);}function jh(t,e){var A,n,P,r,i,f,D,Q;return D=t.h>>19,Q=e.h>>19,D!=Q?Q-D:(P=t.h,f=e.h,P!=f?P-f:(n=t.m,i=e.m,n!=i?n-i:(A=t.l,r=e.l,A-r)));}function Qf(t,e,A,n){var P;if(e==0){A<0?n.a=t.T:n.a=-t.T,n.b=0;return;}P=w.Math.atan(A/e),e<0&&(P+=Q1),n.a=-(t.T*w.Math.sin(P)),n.b=t.T*w.Math.cos(P);}function az(t,e,A,n,P){var r,i,f,D;for(i=A,f=0,D=i.length;f<D;++f)r=i[f],P[t.d[r]]=O1(P[t.d[r]],e[r]<<t.b[r]),n[t.d[r]]=O1(n[t.d[r]],M1(yc[t.a[r]],t.b[r]));}function tY(t){var e=t.backingJsObject;if(e&&e.stack){var A=e.stack,n=e+$A;return A.substring(0,n.length)==n&&(A=A.substring(n.length)),A.split($A);}return [];}function TQ(t){var e,A;for(e=Q1-Q1*(t.e.length-2)/t.e.length,A=1;A<t.e.length;A++)t.a[A]=t.a[A-1]+w.Math.sin(e*(A-1)),t.b[A]=t.b[A-1]+w.Math.cos(e*(A-1));}function eY(t,e,A,n,P){var r;return r=Sb(t,e,A,n,P),r<0?jj(t,e,A,n,P,Gb(t,e,A,n,P)):w.Math.abs(j0(t.b[r][4]))<.001?jj(t,e,A,n,P,j0(t.b[r][5])):j0(t.b[r][4]);}function AY(t,e){var A,n,P,r,i;for(r=0;r<xo(t);r++)for(i=0;i<Oo(t);i++)for(A=Kd(t,r,i),P=A&oi,n=0;n<Z4.length;n++)if(P==Z4[n]){Jo(t,r,i,(qn&A)+e[n]);break;}}function nY(t,e,A){var n,P;if(t.k=e,t.n=A,t.i!=null)for(P=t.i.length,t.o=h(yt,wt,6,P,15,1),t.p=h(yt,wt,6,P,15,1),n=0;n<P;n++)t.o[n]=t.i[n].a,t.p[n]=t.i[n].b;}function ys(t,e){var A,n,P;if(a1(t.R,e)<2)return  false;if(O(t.R,e)==2)return  true;for(A=0,P=0;P<O(t.R,e);P++)n=Ot(t.R,e,P),_e(t.R,n)&&(A+=dt(t.R,n)-1);return A>1;}function t9(){t9=B1,yl=new Mi("CREATE",0),sl=new Mi("CHANGE_DIF",1),Ll=new Mi("CHANGE_ABS",2),ll=new Mi("REMOVE",3),bU=new Mi("NO_CHANGE",4),Tl=new Mi("UNKNOWN",5);}function dk(t,e){var A,n,P;return A=e.dd(),P=e.ed(),n=t.get(A),!(!(J1(P)===J1(n)||P!=null&&VP(P,n))||n==null&&!t.containsKey(A));}function PY(t,e,A){var n,P,r,i,f,D,Q;if(t.e!=null)for(r=t.e,f=0,Q=r.length;f<Q;++f)n=r[f],ag(n,e,A);if(t.b!=null)for(P=t.b,i=0,D=P.length;i<D;++i)n=P[i],ag(n,e,A);}function Bk(t,e,A){var n,P,r,i,f;for(r=true,f=N(t.g,e).a,i=ik(t,f);i!=-1;)n=_(t.k,f,i),P=Ot(t.k,f,i),i=ik(t,n),Iv(t,new pT(n,P,f,A&&r,A&&i==-1),++e),f=n,r=false;}function vk(t,e){var A,n;if(e!=null)for(ut(t.j,1),A=0;A<t.j.f;A++)e[A]!=0&&(n=Fu(t.j,A,G1(t.j,A)),e[A]==15?n>=0&&XA(t.j,A,0):e[A]!=lT(t.j,A)&&XA(t.j,A,e[A]-n));}function ph(t){var e,A,n;if(A=new f1(),e=t.e.indexOf(k0(10)),e==-1)mt(A,t.e);else {for(n=0;e!=-1;)mt(A,UA(t.e,n,e)),n=e+1,e=zI(t.e,10,n);mt(A,HD(t.e,n));}return A;}function VP(t,e){return H8(t)?A1(t,e):Vi(t)||Tu(t)?(U1(t),J1(t)===J1(e)):PT(t)?t.mb(e):AT(t)?lg(t,e):t&&t.equals?t.equals(e):J1(t)===J1(e);}function rY(t,e,A){var n,P;return n=h(F,k,6,4,15,1),n[0]=e.b,n[1]=e.a,n[2]=A.a,n[3]=A.b,P=qQ(t.R,n),w.Math.abs(P)<.3||w.Math.abs(P)>kp?3:P<0?2:1;}function iY(t,e,A){var n,P;return n=h(F,k,6,4,15,1),n[0]=e.b,n[1]=e.a,n[2]=A.a,n[3]=A.b,P=qQ(t.R,n),w.Math.abs(P)<.3||w.Math.abs(P)>kp?3:P<0?1:2;}function lA(t,e){var A;if(e==-1)return  -1;for(A=e+1;A<t.length;A++)if(Xt(A,t.length),t.charCodeAt(A)!=32&&(Xt(A,t.length),t.charCodeAt(A)!=9))return A;return  -1;}function fY(t){var e,A;for(t.b=null,e=0;e<t.g.g;e++)Bu(t.g,e)&&(!t.b&&(t.b=new f1()),A=new KU(),A.a=z(t.g,0,e),A.b=z(t.g,1,e),A.d=x3(t.g,e),A.c=gT(t.g,e),mt(t.b,A));}function hQ(t){var e,A,n;for(Bm(t),Aa(new u7(),dh(t)),n=h(F,k,6,t.L.length,15,1),e=0;e<t.V.q;e++)A=t.M[e],Ze(t.V,e,C1(t.L[A],n[A]),C1(t.V,e)==0||Bn(t.V,e)),++n[A];}function DY(t,r){var A=wE;A||(A=Z.createElement("canvas"),wE=A);var n=""+t.b+"px "+t.a,P=A.getContext("2d");P.font=n;var r=P.measureText(r);return r.width;}function Fk(t,e){var A,n,P,r,i;for(r=Vb(t,t.D[0][e])||Vb(t,t.D[1][e])?5:3,n=0;n<2;n++)A=t.D[n][e],P=dt(t,e)+(i=Cn(t,A),i+WA(t,A,i,t.C[A]))-G1(t,A),r>P&&(r=P);return r;}function uY(t,e,A){var n,P,r,i,f;if(n=Ot(t.k,e,A),i=_(t.k,e,A),t.e[n]!=0){for(f=8*t.q[e]+1,P=N(t.g,t.q[e]).c,r=0;r<P.length&&i!=P[r];r++)++f;return f;}return 8*t.q[i];}function QY(t){var e,A,n,P;for(e="o3",A="YA",P=w.Math.min(t.length,5),n=P-1;n>=0;n--)if(A1(t[n].d,e)||A1(t[n].d,A)){t.length>=n+1&&t.splice(0,n+1);break;}return t;}function UY(t){var e,A,n,P;for(P=0,n=null,A=new Wt(t);A.a<A.c.a.length;)e=t1(A),P<e.b[0].e.length*e.b[1].e.length&&(P=e.b[0].e.length*e.b[1].e.length,n=e);return n;}function cQ(t){var e,A,n;for(n=new Wt(t.g);n.a<n.c.a.length;)if(e=t1(n),e.K)return  true;for(A=new Wt(t.f);A.a<A.c.a.length;)if(e=t1(A),e.K)return  true;return  false;}function Mn(t,e){var A;return U0(t)&&U0(e)&&(A=t/e,M2<A&&A<DP)?A<0?w.Math.ceil(A):w.Math.floor(A):pn(G5(U0(t)?pe(t):t,U0(e)?pe(e):e,false));}function oY(t,e){var A,n,P;for(t.g=h(F,k,6,t.k.q,15,1),A=Wb(t.k,t.g,e,true),t.q=h(wPt,A0,177,A,0,1),P=true,n=0;n<A;n++)P=P&!!(t.q[n]=Ga(t.r,t.k,t.g,n));return P;}function LY(t){var e;try{return t=Xn(t),ds(t),e=XR(new r5(t)),me(new EA(e,8));}catch(A){if(A=t0(A),Zt(A,27))return x1(),null;throw At(A);}}function Uf(t,e,A){var n,P,r;if(P=G1(t,e),P-=WA(t,e,P,t.C[e]),A&&(P-=t.e[e]-t.j[e]),r=Yu(t.C[e]),P<=r[0])return  -1;for(n=1;n<r.length;n++)if(r[n]>=P)return r[n];return P;}function mk(t,e,A,n,P){this.f=e,this.a=A,this.b=n,this.c=P,this.j=zv(t.a,e,A,n,P),this.g=y2(t.d,e,A,n),this.i=y2(t.d,e,P,n),this.d=oR(t.n,e,A,n,P),this.e=oR(t.n,e,P,n,A);}function kk(t,e,A,n,P,r,i){var f,D,Q,U,L;if(U=P[r],Q=r==i-1,f=Q?n:0,L=Uk(f,U),n!=10&&B(d(t,i-r),e[r],A[r],f,L),!Q)for(++r,D=0;D<U;++D)L[D]=kk(t,e,A,n,P,r,i);return L;}function wQ(t,e){var A,n;for(A=0;A<t.r;A++)for(n=0;n<2;n++)t.D[n][A]==e&&(t.H[A]=512);Zu(t,t.w[e]),t.C[e]=-1,t.v!=null&&(t.v[e]=null),t.t!=null&&(t.t[e]=null),mf(t),t.T=0;}function sY(t,e){var A,n,P,r;for(A=t.e[e],r=h(F,k,6,A,15,1),P=0;P<A;P++)r[P]=(t.i[e][P]<<16)+P;for(r.sort(Fe(u0.prototype.gd,u0,[])),n=0;n<A;n++)r[n]&=w1;return r;}function yY(t,e){var A,n,P;for(P=new V0(),n=0;n<t.a.a.length;n++)P.a.length!=0&&(P.a+="+"),A=new BA(N(t.a,n)),J(P,me(A)),e&&(P.a+=" ",J(P,Iu(A,true)));return P.a;}function lY(t,e){if(t.b==-1)t.a=h(Ttt,A0,170,e,0,1),t.b=e,t.c=e-1;else do t.c=t.c==0?t.b-1:t.c-1;while(t.a[t.c]&&Mh(t.a[t.c]));return !t.a[t.c]&&(t.a[t.c]=new Jl()),t.c;}function Ch(t,e,A){var n,P,r;for(P=t.$c().Tb();P.ad();)if(n=P.bd(),r=n.dd(),J1(e)===J1(r)||e!=null&&VP(e,r))return A&&(n=new ho(n.dd(),n.ed()),P.cd()),n;return null;}function Hn(t,e,A,n){vr(t.L,D1(t.L,A,n))?(W1(t,-3),t.qb(e),W1(t,t.Q)):t.p[A]!=t.p[n]?PK(t,e,A,n):t.p[A]!=0?(W1(t,t.p[A]),t.qb(e),W1(t,t.Q)):t.qb(e);}function gQ(t,e){var A,n,P,r,i;if(!t.K||t.v==null||t.v[e]==null)return wk(t,e,t.C[e]);for(i=0,n=t.v[e],P=0,r=n.length;P<r;++P)A=n[P],i=w.Math.max(i,wk(t,e,A));return i;}function bk(){bk=B1,v8=vt(w.Math.round(vt(w.Math.round((de==-1&&(de=globalThis.devicePixelRatio||1),de*2))))),dn=(de==-1&&(de=globalThis.devicePixelRatio||1),de*21);}function dQ(t,e){var A,n,P,r;return P=w.Math.min(t.c,e.c),r=w.Math.min(t.d,e.d),n=w.Math.max(t.c+t.b,e.c+e.b)-P,A=w.Math.max(t.d+t.a,e.d+e.a)-r,new QA(P,r,n,A);}function TY(t,e,A,n){x7();var P=nl;function r(){for(var i=0;i<P.length;i++)P[i]();}if(t)try{KE(r)();}catch(i){t(e,i);}else KE(r)();}function Rk(t,e,A,n){var P,r,i;for(P=0;P<t.q;P++)(!n||(t.u[P]&512)!=0)&&(i=t.R[P]*e,r=t.Q[P]-A,t.J[P].a=t.U+i*w.Math.sin(r),t.J[P].b=t.V+i*w.Math.cos(r));n&&(t.T&=7);}function Mh(t){var e,A,n,P,r;if(!t.d)if(t.b==-1)t.d=true;else {for(r=false,A=t.a,n=0,P=A.length;n<P;++n)if(e=A[n],!e)r=true;else if(!Mh(e))return  false;t.d=!r;}return t.d;}function hY(t){var e,A,n,P,r,i;if(P=tY(t),r=h(dE,h0,115,0,0,1),e=0,n=P.length,n==0)return r;for(i=Vj(P[0]),A1(i.d,y4)||(r[e++]=i),A=1;A<n;A++)r[e++]=Vj(P[A]);return r;}function jk(t,e,A){for(var n,P;A<0;)A=A+360<<16>>16;for(;A>=360;)A=A-360<<16>>16;n=e.a,A!=(t.j==null?-1:t.j[n])&&(P=A-(t.j==null?-1:t.j[n]),kZ(t,e,Q1*P/180),zm(t,n,A));}function BQ(t){var e,A,n;if(!t.a)return null;for(t.e||xR(t,1),e=null,n=new Wt(t.a);n.a<n.c.a.length;)A=t1(n),!A.b&&(!e||e.e>A.e)&&(e=A);return e?e.b=true:t.a=null,e;}function pk(t){var e,A,n,P;for(n=-1,P=It,e=0;e<t.k.f;e++)t.b[e]||(A=t.a[e],Qe(t.k,e)&&(A+=cn),O(t.k,e)==0?A+=1056964608:A+=O(t.k,e)<<24,P>A&&(P=A,n=e));return n;}function of(t,e,A){var n,P;if(e<t.f&&i0(t.p,e)){for(P=(ut(t,7),t.p),n=0;n<P.j.a.length;n++)if(!(N(P.k,n).length!=A||!yA(P,n,e))&&t.b[n]==0)return  true;}return  false;}function cY(t,e){var A,n;if(n=K1(e),A=false,n==null||!n.startsWith("$RXN"))throw At(new V1("'$RXN' tag not found"));return A1(n,nM)?A=g$(t,e):A=O$(t,e),A;}function Ck(t,e,A){if(t.f[e])return 0;if(t.a){if(Mt(t.j,e)!=3)return 0;}else if(Mt(t.j,e)>3)return 0;return K(t.j,e)==6?(A&&E0(t.j,e,1),2):K(t.j,e)==5?4:0;}function ZA(t,e,A){var n,P,r,i,f,D,Q,U;for(i=-1,P=wP(t,t.q,t.r,wn),f=Ve,D=P*P/12,n=0;n<t.q;n++)Q=t.J[n].a,U=t.J[n].b,r=(e-Q)*(e-Q)+(A-U)*(A-U),r<D&&r<f&&(f=r,i=n);return i;}function Mk(t,e){var A,n,P,r,i,f;for(n=t,P=0,r=n.length;P<r;++P)if(A=n[P],e.j[A]!=0)return  false;for(i=p1(e,t[0]),f=1;f<t.length;f++)if(p1(e,t[f])!=i)return  false;return  true;}function Hk(t,e,A){var n,P;return t.L.q==0?null:(t.v=UR(t),n=t.R.c*V8(t.L),P=new Ws(t.v,e,n,A),P.c==1&&P.a==0&&P.b==0?P=null:(Eu(P,t.R),Nu(P,t.v)),c5(t,e,n,A),P);}function wY(t){var e,A,n,P;for(ut(t,1),P=0,e=0;e<t.q;e++)n=t.A[e]!=0?t.A[e]:U9[t.C[e]],P+=n+xt(t,e)*U9[1],t.C[e]>=171&&t.C[e]<=190&&(A=t.e[e],A>2&&(P-=(A-2)*U9[1]));return P;}function Vk(t,e,A){var n,P,r,i,f,D;for(P=0,r=0;r<t.j[e];r++)if(n=t.i[e][r],n!=A){for(i=0,f=0;f<t.j[n];f++)D=t.i[n][f],D!=e&&_e(t,t.k[n][f])&&t.j[D]>2&&++i;i==2&&++P;}return P;}function gY(t,e){var A,n,P,r,i,f,D,Q;for(D=-1,n=0,i=0;i<2;i++)for(A=t.D[i][e],f=0;f<t.e[A];f++)P=t.i[A][f],P!=t.D[1-i][e]&&(r=t.k[A][f],Q=CQ(t,r,P),n<Q&&(n=Q,D=r));return D;}function dY(t,e){var A,n,P,r,i,f;for(A=new f1(),n=0;n<e.q;n++)if(e.e[n]>1)for(P=0;P<e.e[n];P++)for(i=e.i[n][P],r=P+1;r<e.e[n];r++)f=e.i[n][r],mt(A,new wm(t,e,i,n,f));return A;}function BY(t,e){var A,n,P,r;for(A=1;A<e.q;A++)for(n=0;n<A;n++)!t[A][n]&&(t[A][n]=new TF(O9(A,n),(r=e.C[A],(r<(c2(),IA).length?IA[r]:2)+(P=e.C[n],P<IA.length?IA[P]:2))));}function vY(t){var e,A,n,P,r;for(r=new Sg(),A=t,n=0,P=A.length;n<P;++n)e=A[n],r.a?J(r.a,r.b):r.a=new Fn(r.d),hg(r.a,e);return r.a?r.e.length==0?r.a.a:r.a.a+(""+r.e):r.c;}function Hh(t,e){var A,n,P;return P=-1,n=-1,(t.G&128)!=0||(E8(t.L,e)&&(P=Ae(t.L,e),n=VA(t.L,e)),A=Us(t.L,e),A!=-1&&(P=cP(t.L,A),n=$i(t.L,A)),P!=-1&&P!=0&&(P|=n<<8)),P;}function Vh(t,e,A,n,P,r,i,f){var D,Q;for(Q=1;Q<f;Q++){for(D=i[Q];D<i[Q+1];D++)A[D]=r[P[D]]+(A[n[D]]<<8);if(NR(t,e,A,n,P,i,Q),A[1]!=A[2])return  true;Q>1&&iR(A,n,i,Q);}return  false;}function Ek(t,e,A){var n,P;if(A[0]=0,t[e]==43||t[e]==45){for(P=t[e],n=1,++A[0];t[e+A[0]]==P;)++n,++A[0];return n==1&&Zn(t[e+1]&w1)&&(n=t[e+1]-48,++A[0]),P==43?n:-n;}return 0;}function Z9(t,e,A){var n,P,r,i,f;for(mJ(t),P=(t.i==null&&(t.i=h(MV,h0,27,0,0,1)),t.i),r=0,i=P.length;r<i;++r)n=P[r],Z9(n);f=t.e,f&&Z9(f);}function Eh(t,e){var A,n,P;for(P=h(Ee,PA,6,t.d.length,15,1),n=h(Ee,PA,6,t.d.length,15,1),A=0;A<t.d.length;A++)P[A]=PO(lL(e,t.a[A]),t.e[A]),n[A]=Dl[t.e[A]];return new O7(P,n);}function Sh(){Sh=B1;var t,e,A,n;for(Uc=h(yt,wt,6,25,15,1),oc=h(yt,wt,6,33,15,1),n=152587890625e-16,e=32;e>=0;e--)oc[e]=n,n*=.5;for(A=1,t=24;t>=0;t--)Uc[t]=A,A*=.5;}function Sk(t,e){var A,n,P,r,i;for(P=-1,r=Ve,n=0;n<t.e.length;n++)i=Q1*t.e[n]/180,A=w.Math.abs(e-i),A>Q1&&(A=F0-A),A/=10+w.Math.sqrt(t.b[n]),r>A&&(r=A,P=n);return P;}function FY(t,e,A){var n,P,r;if(n=A[e],n!=-1&&d0(t.a,n)!=0&&yK(t,e,n,A)){if(r=d0(t.b,e),P=d0(t.a,n),r==3){if(P==1||P==2)return 5;}else if(P==3||qY(t,e,A)==(r==P))return 5;}return 0;}function mY(t){var e,A,n;return G(t,0)>=0?(A=Mn(t,Of),n=Y9(t,Of)):(e=DA(t,1),A=Mn(e,5e8),n=Y9(e,5e8),n=O1(M1(n,1),V(t,1))),Y(M1(n,32),V(A,h1));}function kY(t,e){P9();var A,n;for(n=(ke(),N2),A=t;e>1;e>>=1)(e&1)!=0&&(n=bP(n,A)),A.d==1?A=bP(A,A):A=new Zm(MR(A.a,A.d,h(F,k,6,A.d<<1,15,1)));return n=bP(n,A),n;}function ls(t,e){var A,n;for(U1(e),n=t.b.a.length,mt(t.b,e);n>0;){if(A=n,n=(n-1)/2|0,t.a.Rb(N(t.b,n),e)<=0)return q9(t.b,A,e),true;q9(t.b,A,N(t.b,n));}return q9(t.b,n,e),true;}function n2(t,e){var A,n,P,r;for(l1(t.j,e)==1&&(w0(t.j,e,2),t.k+=2),P=0;P<2;P++)for(A=z(t.j,P,e),t.d[A]=false,r=0;r<O(t.j,A);r++)n=Ot(t.j,A,r),t.e[n]&&(t.e[n]=false,--t.c);}function bY(t){var e,A,n,P,r;for(A=0;A<t.j.g;A++)if(dt(t.j,A)==2){for(P=0;P<2;P++)if(e=z(t.j,P,A),K(t.j,e)<=8){for(r=0;r<O(t.j,e);r++)if(n=Ot(t.j,e,r),t.e[n]){Pf(t,e);break;}}}}function RY(t,e){var A,n,P,r,i,f;if(!(e.length<=0||e[0]<64))for($o(t,e,0),f=nt(t,4),P=nt(t,1)==1,r=nt(t,1)==1,A=0;A<t.g.f;A++)i=nt(t,f),n=P,P&&r&&(n=nt(t,1)==1),Ze(t.g,A,i,n);}function jY(t,e,A,n,P){var r,i;for(r=0,i=0;i<P;i++)r=O1(r,l0(V(e[i],h1),V(n[i],h1))),t[i]=zt(r),r=q0(r,32);for(;i<A;i++)r=O1(r,V(e[i],h1)),t[i]=zt(r),r=q0(r,32);}function pY(t,e,A,n,P){var r,i;if(r=O3(t.a,t.b,P),i=Wo(O3(e.a,e.b,P)),n.containsKey(r)){if(A)throw At(new ro("Duplicate key "+r));n.put(r,null.vd(n.get(r)));}else n.put(r,i);}function CY(t){var e,A,n;for(e=0;e<t.R.f;e++)!Fr(t.R,e)&&t.db[e]==3&&Xo(t.R,e,true);for(A=0;A<t.R.g;A++)t.o[A]==3&&(n=dt(t.R,A),n==1?Xo(t.R,z(t.R,0,A),true):n==2&&w0(t.R,A,386));}function qh(t,e,A,n){var P,r,i;if(n==0)sA(e,0,t,A,t.length-A);else for(i=32-n,t[t.length-1]=0,r=t.length-1;r>A;r--)t[r]|=e[r-A-1]>>>i,t[r-1]=e[r-A-1]<<n;for(P=0;P<A;P++)t[P]=0;}function g0(t,e){var A,n,P;if(e<0||e>999){J(t.a,"  ?");return;}for(A=false,n=0;n<3;n++)P=e/100|0,P==0?n==2||A?Oe(t.a,48):Oe(t.a,32):(Oe(t.a,48+P&w1),A=true),e=10*(e%100);}function qk(t,e,A,n){gh(),this.c=ED(t,oV,this),this.d=e,this.e=A,this.a=n,this.k=K(this.e,n),this.g=ye(this.e,n),this.j=br(this.e,n),this.i=FA(this.e,n),this.n=_n(this.e,n),$j(this);}function Ih(t,e,A,n,P){var r,i,f,D;for(r=-1,i=-1,D=0;D<Mt(t.e,e);D++)if(f=Ot(t.e,e,D),f==A||f==n)if(r==-1)r=D;else {i=D;break;}t.a[e][i][r]==0&&(t.a[e][i][r]=P,t.d[e]+=P,++t.c[e]);}function MY(t,e){var A,n,P;return P=h(F,k,6,2,15,1),D1(t,e[1],e[2])!=-1?(P[0]=e[2],P[1]=e[1]):(A=h(F,k,6,16,15,1),n=l2(t,A,e[1],e[2],15,null,null),P[0]=A[1],P[1]=A[n-1]),P;}function HY(t,e){try{return e?(t=Xn(t),VR(t,!0),wa(t),me(new BA(t))):me(new BA(t));}catch(A){if(A=t0(A),Zt(A,27))return x1(),null;throw At(A);}}function Ik(t,e,A){a5(),sB.call(this,t,e),this.j=1,this.k=10,this.n=400,this.f=400,this.i=true,this.d="black",this.b=new f1(),this.a=new f1(),this.c=new V0(),this.e=new eT(12),this.g=A,++I2;}function VY(t){var e,A,n,P,r;for(A=0,Qi(t),ut(t,7),e=0;e<t.f;e++)try{r=ny(t,e,6241),P=(n=a9(Yf,oQ(r)),n<0?-1:n),P!=-1&&(A+=K4[P]);}catch(i){if(i=t0(i),!Zt(i,19))throw At(i);}return A;}function k0(t){var e,A;return t>=Q0?(e=55296+(t-Q0>>10&1023)&w1,A=56320+(t-Q0&1023)&w1,String.fromCharCode(e)+(""+String.fromCharCode(A))):String.fromCharCode(t&w1);}function P2(t,e){var A;return w.Math.abs(t)>w.Math.abs(e)?(A=e/t,A=w.Math.abs(t)*w.Math.sqrt(1+A*A)):e!=0?(A=t/e,A=w.Math.abs(e)*w.Math.sqrt(1+A*A)):A=0,A;}function tA(t,e){var A,n,P,r;if(t.K){if(gt(V(t.B[e],1),0))return  false;if(t.v!=null&&t.v[e]!=null){for(n=t.v[e],P=0,r=n.length;P<r;++P)if(A=n[P],!ar(A))return  false;}}return ar(t.C[e]);}function EY(t,e){var A,n,P,r;if(t.K){if(gt(V(t.B[e],1),0))return  false;if(t.v!=null&&t.v[e]!=null){for(n=t.v[e],P=0,r=n.length;P<r;++P)if(A=n[P],!ei(A))return  false;}}return ei(t.C[e]);}function SY(){iy();var t,e,A,n,P,r,i,f,D;for(il=new lP(),i=b4,f=0,D=i.length;f<D;++f)for(r=i[f],P=o8(r[0],";"),e=P,A=0,n=e.length;A<n;++A)t=e[A],ze(il,ef(t.toLowerCase(),"-"),r[1]);}function xk(t){Bs();var e,A,n,P,r;for(ut(t,7),P=h(rt,ft,6,t.g,16,1),n=0,A=0;A<t.g;A++)W_(t,A)&&(P[A]=true,++n);for(r=h(F,k,6,n,15,1),n=0,e=0;e<t.g;e++)P[e]&&(r[n++]=e);return r;}function qY(t,e,A){var n,P,r,i,f,D,Q;if(D=false,a1(t.b,e)==0)for(f=1;f<O(t.b,e);f++)for(Q=0;Q<f;Q++)n=_(t.b,e,f),P=_(t.b,e,Q),r=A[n],i=A[P],r!=-1&&i!=-1&&r>i^n>P&&(D=!D);return D;}function xh(t,e,A){var n,P;for(P=false,n=0;n<t.V.f;n++)C1(t.V,n)!=0&&(A&&!Bn(t.V,n)||e&&Bn(t.V,n))&&(P||(z1(t),P=true),Ze(t.V,n,0,false));P&&(e||hQ(t),kL(t,w.Math.max(t.eb,1)));}function Nk(){Nk=B1,cl=B(d(F,1),k,6,15,[0,2,1,3]),_V=B(d(it,1),Dt,2,6,["plain","italic","bold","italics & bold"]),WV=B(d(it,1),Dt,2,6,["8","9","10","12","14","18","24","32"]);}function Ts(t,e){var A,n;if(!e)return null;for(n=h(F,k,6,(sr.length+31)/32|0,15,1),e=hk(e),Dn(t.g,e),A=0;A<sr.length;A++)Ln(t.g,q2[A]),sn(t.g,1,4)>0&&(n[A/32|0]|=1<<31-A%32);return n;}function Ok(t,e){var A,n,P,r;for(A=h(F,k,6,t.j[e]-EL(t,e),15,1),r=0,P=0;P<t.j[e];P++)n=t.i[e][P],gt(V(t.B[n],Pe),0)||(A[r++]=t.C[n]);return A.sort(Fe(u0.prototype.gd,u0,[])),A;}function hs(t,e){var A;if(t==null)return e==null?0:1;if(e==null)return  -1;for(A=0;A<t.length;A++){if(e.length==A)return 1;if(t[A]!=e[A])return t[A]<e[A]?-1:1;}return e.length>t.length?-1:0;}function cs(t,e){var A;if(t==null)return e==null?0:1;if(e==null)return  -1;for(A=0;A<t.length;A++){if(e.length==A)return 1;if(t[A]!==e[A])return t[A]<e[A]?-1:1;}return e.length>t.length?-1:0;}function IY(t,e,A,n){var P,r;for(r=e,P=r.c==null||t.a.Rb(A.c,r.c)>0?1:0;r.a[P]!=A;)r=r.a[P],P=t.a.Rb(A.c,r.c)>0?1:0;r.a[P]=n,n.b=A.b,n.a[0]=A.a[0],n.a[1]=A.a[1],A.a[0]=null,A.a[1]=null;}function xY(t){var e,A;try{return A=new vd(t),xb(A,4e3,LU),is(A,A.i);}catch(n){if(n=t0(n),Zt(n,185))return NaN;if(Zt(n,19))return e=n,Z9(e,(x1(),gi)),NaN;throw At(n);}}function Gk(t,e){var A,n,P,r,i;for(r=e.length,i=h(F,k,6,r,15,1),n=0;n<r;n++)for(A=n==r-1?e[0]:e[n+1],P=0;P<O(t.i,e[n]);P++)if(_(t.i,e[n],P)==A){i[n]=Ot(t.i,e[n],P);break;}return i;}function ws(t,e,A){var n,P;if((t.u[e]&hn)==0||(t.u[A]&hn)==0)return  false;for(P=(ut(t,7),t.p),n=0;n<P.j.a.length;n++)if(N(P.k,n).length==5&&yA(P,n,e)&&yA(P,n,A))return  true;return  false;}function NY(t){var e,A;return t.f||(A=new tu(),t.a&&(A.a=true),t.f=KB(A,(e=t.g.a,e)),t.f&&(t.f.P==null||t.f.P.length==0)&&$2(t.f,t.e!=-1&&t.c!=null?t.c[t.e]:t.f?t.f.P:null)),t.f;}function OY(t,e,A){var n,P,r,i,f,D,Q;if(D=false,a1(t.g,e)==0)for(f=1;f<O(t.g,e);f++)for(Q=0;Q<f;Q++)n=_(t.g,e,f),P=_(t.g,e,Q),r=C1(t.g,n),i=C1(t.g,P),A[r]>A[i]^n>P&&(D=!D);return D;}function GY(t,e){var A;for(A=0;e<t.length&&(t[e]!=93||A!=0);)t[e]==91?++A:t[e]==93&&--A,++e;if(e==t.length)throw At(new V1("SmilesParser: No matching closing bracket found."));return e+1;}function Jk(t,e,A){return t.L!=null&&t.L[e]!=null&&t.L[e][A]?null:t.I[e]==0&&t.B[A]==0?(O(t.u,A)!=0&&(t.H[t.G[e]]=true),O(t.D,e)!=0&&(t.A[t.w[A]]=true),new gD(e,A)):null;}function zk(t){var e,A,n;for(n=new dL(", ","[","]"),A=t.Tb();A.ad();)e=A.bd(),Tv(n,J1(e)===J1(t)?"(this Collection)":e==null?Pr:$D(e));return n.a?n.e.length==0?n.a.a:n.a.a+(""+n.e):n.c;}function r2(t){var e,A,n;if(fl==null){if(e=_D("/resources/csd/"+t),e)return fl="csd/",new nn(new Fi((n=e,c0(),n)));fl="cod/";}return new nn(new Fi((A=_D("/resources/"+fl+t),c0(),A)));}function JY(t){var e,A;try{for(t=Xn(t),ds(t),e=t.r,A=0;A<e;A++)t.H[A]=1,t.T=0;return me(new BA(t));}catch(n){if(n=t0(n),Zt(n,27))return x1(),null;throw At(n);}}function Yk(t,e){var A,n,P,r;for(n=0,P=t.length;n<P;n++){r=t[n];try{r[1]?r[0].vd()&&(e=cx(e,r)):r[0].vd();}catch(i){if(i=t0(i),Zt(i,27))A=i,qx(Zt(A,163)?A.Lc():A);else throw At(i);}}return e;}function Kk(t){var e,A,n,P,r,i,f,D;for(f=h(F,k,6,t.f,15,1),D=(ut(t,7),t.p),r=0;r<w.Math.min(32,D.j.a.length);r++)for(i=N(D.j,r),A=i,n=0,P=A.length;n<P;++n)e=A[n],f[e]|=1<<r;return f;}function Nh(t){var e,A,n,P;if(A=zt(DA(t,32)),A==0)return n=zt(t)>>>0,n.toString(16);e=h(l9,a0,6,17,15,1),P=17;do e[--P]=xx(zt(t)&15),t=DA(t,4);while(G(t,0)!=0);return tP(e,P,17-P);}function G1(t,e){var A,n,P,r,i,f;for(t.$b(1),i=false,n=false,f=0,P=0;P<t.e[e];P++)(!t.K||!Qe(t,t.i[e][P]))&&(r=t.n[e][P],f+=r,r>1&&(i=true),A=t.k[e][P],t.H[A]==8&&(n=true));return n&&!i&&++f,f;}function vQ(t,e){var A,n,P,r;for(l1(t.k,e)==1&&w0(t.k,e,2),P=0;P<2;P++)for(A=z(t.k,P,e),z0(t.k,A)&&(zn(t.k,A,false),--t.b),r=0;r<O(t.k,A);r++)n=Ot(t.k,A,r),t.g[n]&&(t.g[n]=false,--t.c);}function Oh(t,e,A){var n,P,r,i,f;for(P=0,i=new Wt(A);i.a<i.c.a.length;)r=t1(i),r.length!=0&&(f=GL(e,r).b,P<f&&(P=f));return n=t.c*fU*(A.a.length-1)+t.c,new QA(t.i[0].a,t.i[0].b-t.c/2,P,n);}function Le(t){if(g4==null&&(g4=new RegExp("^\\s*[+-]?(NaN|Infinity|((\\d+\\.?\\d*)|(\\.\\d+))([eE][+-]?\\d+)?[dDfF]?)\\s*$")),!g4.test(t))throw At(new YP(g2+t+'"'));return parseFloat(t);}function Gh(t){var e,A;for(A=R1(F,[nA,D0],[28,7],0,[2,32],2),e=0;e<t.R.f;e++)t.M[e]&&(t.bb[e]==1?A[0][t.ab[e]]=rf(A[0][t.ab[e]],e):t.bb[e]==2&&(A[1][t.ab[e]]=rf(A[0][t.ab[e]],e)));return A;}function gs(t){var e,A,n,P;for(P=new nn(new Fi((A=_D(t),c0(),A))),n=new nu();;)try{if(e=K1(P),e!=null)js(n,e);else break;}catch(r){if(r=t0(r),Zt(r,75))break;throw At(r);}return n;}function Xk(t,e){var A,n,P;return e&=63,e<22?(A=t.l<<e,n=t.m<<e|t.l>>22-e,P=t.h<<e|t.m>>22-e):e<44?(A=0,n=t.l<<e-22,P=t.m<<e-22|t.l>>44-e):(A=0,n=0,P=t.l<<e-44),S0(A&x0,n&x0,P&aA);}function Zk(t,e){var A,n,P,r,i;if(A1(t.a,"Helvetica")){for(r=0,n=0,P=e.length;n<P;n++)A=(Xt(n,e.length),e.charCodeAt(n)),r+=(A<128?i=gE[A]:i=wA,i*t.b/20);return r;}else return DY(t,e);}function Wk(t,e,A){var n,P,r,i;return P=t.c[A][0]*Q1/180,r=t.c[A][1]*Q1/180,i=t.e[A]*Q1/180,e<i-Q1?e+=F0:e>i+Q1&&(e-=F0),n=(i-e)/(i-(e<i?P:r)),n<1?0:n<2?(n-=1,n*n):1;}function zY(t,e){var A,n,P,r,i;if(t.e!=null)for(A=C5(t)/t.p.c,P=t.e,r=0,i=P.length;r<i;++r)n=P[r],pS(n,t.f),n.r=A/n.R.c,W5(n,e);if(t.b!=null)for(P=t.b,r=0,i=P.length;r<i;++r)n=P[r],W5(n,e);}function ne(t,e){var A,n,P,r;for(A=false,P=false,n=e;n<t.length;n++)if(r=(Xt(n,t.length),t.charCodeAt(n)),r==40?A=true:r==41?A=false:r==34&&(P=!P),!A&&!P&&(r==32||r==9))return n;return  -1;}function YY(t){oo();var e,A,n,P;for(h5(t,1),n=t.q,A=h(it,Dt,2,n,6,1),e=0;e<n;e++)P=Xn(t),u8(P,e,(Y1(),X0)[P.C[e]]+"*"),P.C[e]==1?K0(P,e,H4):jr(P,e,P.A[e]+5),eO(P),A[e]=me(new EA(P,8));return A;}function ds(t){var e,A;for(ut(t,15),t.L=false,e=0;e<t.q;e++)t.u[e]&=By,(t.u[e]&3)!=0?t.u[e]|=nU:t.u[e]&=dy;for(A=0;A<t.r;A++)(t.F[A]&3)!=0&&dt(t,A)==2?t.H[A]=386:t.H[A]&=-385;t.T&=-249;}function FQ(t,e,A,n,P){var r;n|=o1,r=AF(A),n!=-1&&(ae(e,n),RT(e,r[0],r[1],dn,dn)),A==20?ZL(e,t.c,0,t.d*84,84,84,r[0],r[1],dn,dn):ZL(e,P?t.g:t.i,(r[0]-v8)*t.j,(r[1]-v8)*t.j,84,84,r[0],r[1],dn,dn);}function i2(t,e){var A,n,P,r;for(P=false,n=0;n<t.R.g;n++)JQ(t,n,1)&&(t.q[n]=t.L,e&&YZ(t,n),P=true);for(r=false,A=0;A<t.R.f;A++)ey(t,A,1)&&(t.ib[A]=t.L,e&&R_(t,A),r=true);return r&&(t.L=!t.L),P||r;}function W9(t,e){return t.q>=t.M&&kQ(t,t.M*2),t.C[t.q]=0,K0(t,t.q,e),t.s[t.q]=0,t.u[t.q]=0,t.B[t.q]=0,t.w[t.q]=0,Bo(t.J[t.q],0,0,0),t.v!=null&&(t.v[t.q]=null),t.t!=null&&(t.t[t.q]=null),t.T=0,t.q++;}function KY(t){var e,A,n,P,r;for(r=new Lo(t.g,t.f),P=h(F,k,6,t.g.q,15,1),A=0;A<t.g.q;A++)P[A]=C1(t.g,A);for(n=h(F,k,6,t.f.q,15,1),e=0;e<t.f.q;e++)n[e]=C1(t.f,e);return -Ks(r,ah(r,P,n))*.25;}function Ai(t){var e,A,n,P;for(P=new nn(new Fi((n=_D(t),c0(),n))),e=new f1();;)try{if(A=K1(P),A!=null)e.a.push(A);else break;}catch(r){if(r=t0(r),Zt(r,75))break;throw At(r);}return e;}function XY(t,e){var A,n,P;for(A=h(F,k,6,t.e.length,15,1),P=0;P<t.e.length;P++)n=M1(yc[t.a[P]],t.b[P]),gt(V(e.c[t.d[P]],n),0)?A[P]=zt(q0(V(e.b[t.d[P]],n),t.b[P])):A[P]=-1;return A;}function ZY(t,e){i8();var A,n,P,r;for(n=h(rt,ft,6,e.q,16,1),A=0;A<e.f;A++)if(!n[A]&&e.o[A]==2&&e.C[A]<=8){for(P=NZ(A,e),r=0;r<P.length;r++)n[P[r]]=true;P[0]!=P[P.length-1]&&mt(t,new C7(P));}}function Jh(t,e,A,n,P,r,i,f){var D,Q;return D=ZA(t,e,A),D==-1?(t.q>=t.M&&kQ(t,t.M*2),D=W9(t,n),Bo(t.J[D],e,A,0),t.A[D]=P,XA(t,D,r),Ne(t,D,i),u8(t,D,f),true):(Q=Bf(t,D,n,P,r,i),Q=Q|u8(t,D,f),Q);}function _k(t,e,A,n){var P,r,i,f;for(ut(e,1),r=0;r<A;r++)n[r]!=-1&&t.C[r]!=1&&t.e[r]!=Mt(e,n[r])&&(P=Uf(t,r,false),P!=-1&&(f=Uf(e,n[r],false),P!=f&&(i=br(e,n[r]),(i==-1||i<P)&&XA(e,n[r],P))));}function WY(t,e,A){var n,P,r;for(r=0;r<t.e.length;r++)P=w.Math.sqrt((t.a[r]-e)*(t.a[r]-e)+(t.b[r]-A)*(t.b[r]-A)),n=0-on(e,A,t.a[r],t.b[r]),t.a[r]=e+P*w.Math.sin(n),t.b[r]=A+P*w.Math.cos(n);}function _Y(t,e,A){var n,P,r,i,f;return r=(P=t/e,P>0?w.Math.floor(P):w.Math.ceil(P)),i=t%e,f=$8(t*e,0),i!=0&&(n=$8(w.Math.abs(i)*2,w.Math.abs(e)),r+=EQ(vt(r)&1,f*(5+n),A)),new a3(r);}function zh(t,e){var A,n,P;for(C9.call(this,t),A=0,P=0;P<t.length;P++)e.j[t[P]]!=1&&++A;if(A>2)for(this.a=h(F,k,6,A,15,1),A=0,n=0;n<t.length;n++)e.j[t[n]]!=1&&(this.a[A++]=t[n]);else this.a=t;}function ni(t,e,A,n,P,r){var i,f,D,Q;for(D=0,f=0;f<t.R.g;f++)(ee(t.R,t.C[f])&n)!=0&&++D;if(D!=0)for(eP(t,e),Jt(t,D,A),i=0;i<t.R.g;i++)Q=ee(t.R,t.C[i])&n,Q!=0&&(Jt(t,i,A),P!=1&&Jt(t,Q>>r,P));}function Yh(t,e){var A,n,P;if(t.v==null||t.v[e]==null)return gt(V(t.B[e],1),0)?"":X0[t.C[e]];for(P="",n=0;n<t.v[e].length;n++)n>0&&(P=(U1(P),P+(U1(","),","))),A=t.v[e][n],P=ju(P,X0[A]);return P;}function Lf(t){var e,A,n,P;for(ut(t,7),n=0;n<t.g;n++)(t.H[n]==257||t.H[n]==129)&&(t.H[n]=1);for(e=0;e<t.f;e++)Ay(t,e);for(P=0;P<t.g;P++)Nj(t,P);for(A=0;A<t.g;A++)t.H[A]==2&&(t.F[A]&3)==3&&(t.H[A]=386);}function $Y(t,e,A){var n,P,r;if(e.c!=null)for(P=0;P<e.c.length;P++)for(r=0;r<O(t.k,e.a);r++)e.c[P]==_(t.k,e.a,r)&&(n=Ot(t.k,e.a,r),e.d[P]||Gj(t,n,e.a,A),t.e[n]>9&&(A.a+="%"),g3(A,t.e[n]));}function aY(t,e){var A,n,P,r,i;if(t.i.K){if(gt(V(o0(t.i,e),1),0))return  false;if(A=MA(t.i,e),A!=null){for(P=A,r=0,i=P.length;r<i;++r)if(n=P[r],!ar(n))return  false;return  true;}}return ar(K(t.i,e));}function $k(t,e,A,n,P){var r,i,f;for(r=true,i=0;i<n;i++)r=r&A[i]==0;if(P==0)sA(A,n,t,0,e),i=e;else {for(f=32-P,r=r&A[i]<<f==0,i=0;i<e-1;i++)t[i]=A[i+n]>>>P|A[i+n+1]<<f;t[i]=A[i+n]>>>P,++i;}return r;}function tK(t){var e,A;(t.G&32)==0&&(A=vR(t.L),A!=null&&(t.w.a==0&&t.w.b==0&&(e=t.R.c*V8(t.L),t.v=UR(t),Cm(t,e),c5(t,null,e,0)),t.Cb(vt(t.A)),t.L.O!=1&&W1(t,448),t.tb(A,t.w.a,t.w.b+jf*t.A)));}function ak(t){var e,A,n;if(cu(this),!(t==null||t.length==0))for(e=0,A=t.indexOf(k0(10));A!=-1;)n=MX((pt(e,A,t.length),t.substr(e,A-e))),n&&this.a.push(n),e=A+1,A=t.indexOf(k0(10),e);}function eK(t,e,A){var n,P;switch(P=A&127,n=Fk(t,e),P){case 1:case 8:return n>=1;case 2:return n>=2;case 4:return n>=3;case 32:return n>=4;case 64:return n>=5;case 16:return  true;default:return  false;}}function sf(t,e,A,n){var P,r,i;for(i=0;i<t.e.length;i++)r=w.Math.sqrt((t.a[i]-e)*(t.a[i]-e)+(t.b[i]-A)*(t.b[i]-A)),P=on(e,A,t.a[i],t.b[i])+n,t.a[i]=e+r*w.Math.sin(P),t.b[i]=A+r*w.Math.cos(P);}function Kh(t,e){var A,n,P;return n=e.g-v8,P=e.i-v8,n<0||n>=2*dn||P<0||P>=17*dn?-1:(A=17*vt(n/dn)+vt(P/dn),A>=0&&A<34&&(A!=t.b||A==20||A==33)&&(A!=19||(t.a.U&4)!=0)&&(A!=21||(t.a.U&8)!=0)?A:-1);}function AK(t){var e;t.c==null&&(e=J1(t.b)===J1($4)?null:t.b,t.d=e==null?Pr:Yv(e)?e==null?null:e.name:H8(e)?"String":Uu(_L(e)),t.a=t.a+": "+(Yv(e)?e==null?null:e.message:e+""),t.c="("+t.d+") "+t.a);}function nK(t,e){var A,n,P,r;return e&=63,A=t.h&aA,e<22?(r=A>>>e,P=t.m>>e|A<<22-e,n=t.l>>e|t.m<<22-e):e<44?(r=0,P=A>>>e-22,n=t.m>>e-22|t.h<<44-e):(r=0,P=0,n=A>>>e-44),S0(n&x0,P&x0,r&aA);}function PK(t,e,A,n){var P,r;P=new L1(),r=new L1(),P.a=e.a,P.c=e.c,P.b=(e.a+e.b)/2,P.d=(e.c+e.d)/2,r.a=P.b,r.c=P.d,r.b=e.b,r.d=e.d,cA(t,P)&&(W1(t,t.p[A]),t.qb(P)),cA(t,r)&&(W1(t,t.p[n]),t.qb(r)),W1(t,t.Q);}function tb(t,e,A){var n,P;return n=ZA(t,e,A),n!=-1?((t.u[n]&512)!=0?nQ(t):wQ(t,n),t.T=0,true):(P=df(t,e,A),P!=-1?((t.u[t.D[0][P]]&t.u[t.D[1][P]]&512)!=0?nQ(t):Zh(t,P),t.T=0,true):false);}function eb(t,e,A){var n,P,r;for(t.U=e,t.V=A,t.Q=h(yt,wt,6,t.q,15,1),t.R=h(yt,wt,6,t.q,15,1),n=0;n<t.q;n++)P=e-t.J[n].a,r=A-t.J[n].b,t.R[n]=w.Math.sqrt(P*P+r*r),t.Q[n]=kA(e,A,t.J[n].a,t.J[n].b);}function Ab(t,e){var A,n,P,r;for(r=h(F,k,6,t.j[e]-EL(t,e),15,1),P=0,n=0;n<t.j[e];n++)A=t.i[e][n],gt(V(t.B[A],Pe),0)||(r[P++]=w.Math.abs(t.w[A]));return r.sort(Fe(u0.prototype.gd,u0,[])),r;}function nb(t,e){var A,n,P,r,i;if(A=-1,t.o[e]==1){for(r=0;r<t.j[e];r++)if(t.n[e][r]==2){if(n=t.i[e][r],t.j[n]==2&&t.o[n]==2){for(i=0;i<2;i++)if(P=t.i[n][i],P!=e&&t.o[P]==1){A=n;break;}}break;}}return A;}function rK(t,e){var A,n,P,r,i;for(i=new f1(),r=0;r<e.q;r++)e.e[r]==3&&(A=e.i[r][0],n=e.i[r][1],P=e.i[r][2],mt(i,new YL(t,e,r,A,n,P)),mt(i,new YL(t,e,r,A,P,n)),mt(i,new YL(t,e,r,n,P,A)));return i;}function K1(t){var e,A,n;if(A=bL(t),A==-1)return null;for(n=new V0(),e=false;!e;)if(A==10?e=true:A==13&&(e=true,A=bL(t),A!=10&&(t.a=A)),!e){if(A==-1)break;Oe(n,A&w1),A=bL(t);}return n.a;}function iK(t,e,A){var n,P,r,i,f,D;if(D=N(t.b,e),t.d.length<=t.c.length)for(f=0;f<t.a;f++)A[t.d[f]]=t.c[D[f]];else {for(P=t.d,r=0,i=P.length;r<i;++r)n=P[r],A[n]=-1;for(f=0;f<t.a;f++)A[t.d[D[f]]]=t.c[f];}}function fK(t){return t.K++==64?false:t.i?Mh(t.i.b)?false:(co(t.I,0),co(t.B,0),U3(t.H),U3(t.A),rb(t),NS(t.i),t.q=gR(t),t.g=7,t.c=0,t.d=0,t.e=0,t.f=0,true):(t.i=new Gg(),true);}function Pb(t,e,A){var n,P,r,i;if(i=dT(e),P=(n=t.a.get(i),n??h(uP,A0,1,0,5,1)),P.length==0)t.a.set(i,P);else if(r=OF(e,P),r)return r.fd(A);return P[P.length]=new ho(e,A),++t.c,++t.b.b,null;}function M(t,e,A){var n=cU,P=n[t],r=P instanceof Array?P[0]:null;P&&!r?o=P:(o=iG(e),o.td=A,!e&&(o.ud=PD),n[t]=o);for(var i=3;i<arguments.length;++i)arguments[i].prototype=o;r&&(o.sd=r);}function Xh(t,e){var A,n;if((t.G&4224)!=0||(n=Hh(t,e),n==-1&&(A=nb(t.L,e),A!=-1&&(e=A,n=Hh(t,e))),n==-1))return t.p[e];switch(n&255){case 1:return 384;case 2:return 64;default:return 448;}}function Zh(t,e){var A,n,P;for(n=0;n<2;n++){for(A=0,P=0;P<t.r;P++)P!=e&&(t.D[0][P]==t.D[n][e]||t.D[1][P]==t.D[n][e])&&++A;A==0&&(Zu(t,t.w[t.D[n][e]]),t.C[t.D[n][e]]=-1);}t.H[e]=512,mf(t),t.T=0;}function DK(t,e){var A,n;if(!e)return null;for(n=h(NA,a0,6,(sr.length+63)/64|0,14,1),e=hk(e),Dn(t.g,e),A=0;A<sr.length;A++)Ln(t.g,q2[A]),sn(t.g,1,4)>0&&(n[A/64|0]=Y(n[A/64|0],M1(1,63-A%64)));return n;}function uK(t,e,A,n){var P,r,i,f;for(f=h(F,k,6,t.o[e].f,15,1),V9(f,f.length,-1),r=dr(t.c,e),P=0;P<r.f;P++)A[P]!=-1&&(f[A[P]]=w.Math.abs(r.w[P]));for(i=0;i<f.length;i++)f[i]==-1&&(f[i]=n++);return f;}function rb(t){var e,A,n,P,r,i,f,D,Q;for(Q=t.F.g,t.J=bn(Q,Q.length),e=t.v.g,t.C=bn(e,e.length),P=t.J,i=0,D=P.length;i<D;++i)A=P[i],t.o<A&&(t.o=A);for(n=t.C,r=0,f=n.length;r<f;++r)A=n[r],t.n<A&&(t.n=A);}function QK(t,e){var A,n,P,r,i,f,D,Q,U;if(t==null)return e;for(U=h(F,k,6,t.length+e.length,15,1),Q=0,P=t,i=0,D=P.length;i<D;++i)A=P[i],U[Q++]=A;for(n=e,r=0,f=n.length;r<f;++r)A=n[r],U[Q++]=A;return U;}function UK(t,e){switch(e){case 0:sb(t);return;case 1:z1(t),t.eb=w.Math.max(t.eb,6),n1(t.k),N1(t,new q1(t,1,true));return;case 17:Dv(t),t.eb=w.Math.max(t.eb,2),n1(t.k),N1(t,new q1(t,1,true));return;}}function ib(t,e,A){var n,P,r,i,f,D,Q,U;for(Q=-1,P=0,f=0;f<2;f++)for(n=t.i[e][f],D=0;D<t.e[n];D++)r=t.i[n][D],r!=e&&(i=t.k[n][D],U=CQ(t,i,r),P<U&&(true)&&(P=U,Q=i));return Q;}function fb(t){var e,A,n,P;for(A=0,e=0,n=0;n<t.g.a.length+t.f.a.length;n++)P=n<t.g.a.length?N(t.g,n):N(t.f,n-t.g.a.length),P.r!=0&&(A+=P.r,e+=wP(P,P.q,P.r,(Y1(),wn))*P.r);return A==0?(Y1(),Y1(),wn):e/A;}function oK(t,e,A,n){var P,r,i,f,D;for(i=h(rt,ft,6,t.length+1,16,1),D=h(F,k,6,n,15,1),f=0;f<n;f++)P=A==null?f:A[f],P!=-1&&(D[f]=t[P],i[D[f]]=true);for(r=0;r<e.length;r++)i[e[r]]||(e[r]=0);return D;}function LK(t,e,A){var n,P,r,i,f,D,Q,U,L,s;for(n=0,A*=A,f=0;f<e.q;f++){for(Q=e.J[f].a,L=e.J[f].b,i=false,D=0;D<t.V.q;D++)if(U=kt(t.V,D),s=jt(t.V,D),P=U-Q,r=s-L,P*P+r*r<A){i=true;break;}i&&++n;}return n==e.q;}function mQ(){mQ=B1,new BP(255,255,255),new BP(128,128,128),new BP(0,0,0),new BP(0,255,0),new BP(255,255,0),new BP(255,200,0),new BP(255,0,0),new BP(0,255,255),new BP(0,0,255),new BP(255,0,255);}function sK(t,e,A){var n;return tb(t.V,e,A)?(t.eb=w.Math.max(t.eb,1),n1(t.k),N1(t,new q1(t,1,true)),true):(n=cJ(t,e,A),n?(Z8(t.I,n),t.v=null,t.eb=w.Math.max(t.eb,1),n1(t.k),true):false);}function yK(t,e,A,n){var P,r,i,f;if(O(t.b,e)!=O(t.a,A))return  false;for(r=0;r<O(t.b,e);r++){for(f=_(t.b,e,r),P=false,i=0;i<O(t.a,A);i++)if(n[f]==_(t.a,A,i)){P=true;break;}if(!P)return  false;}return  true;}function Db(t,e){var A,n,P,r,i,f,D,Q,U;for(U=0,P=t,i=0,D=P.length;i<D;++i)A=P[i],e[A]==0&&++U;if(U==0)return null;for(Q=h(F,k,6,U,15,1),U=0,n=t,r=0,f=n.length;r<f;++r)A=n[r],e[A]==0&&(Q[U++]=A);return Q;}function lK(t,e){var A,n,P,r;for(t.j=new JA(),n=0;n<e.g.a.length;n++)r=N(e.g,n),ut(r,1),l5(t.j,r,r.f,r.g,!r.K);for(t.d=new JA(),A=0;A<e.f.a.length;A++)P=N(e.f,A),ut(P,1),l5(t.d,P,P.f,P.g,!P.K);Qi(t.j),Qi(t.d);}function TK(t,e){var A,n;return _j(t,e,false)?t.s!=null?(t.B=new fT(t,t.o),$g(t.B,400),t.b=new Ji(new AD()),Cj(t)):(n=new NQ(e),$U(n,t.v),A=yX(n,t.o),_s(t,A),A.p="SO#1",A):null;}function ub(t,e){var A,n,P,r,i,f;for(A=t.b.a.length,P=N(t.b,e);e*2+1<A&&(n=(r=2*e+1,i=r+1,f=r,i<A&&t.a.Rb(N(t.b,i),N(t.b,r))<0&&(f=i),f),!(t.a.Rb(P,N(t.b,n))<0));)q9(t.b,e,N(t.b,n)),e=n;q9(t.b,e,P);}function v1(t){var e,A,n;for(A=t.length,n=0;n<A&&(Xt(n,t.length),t.charCodeAt(n)<=32);)++n;for(e=A;e>n&&(Xt(e-1,t.length),t.charCodeAt(e-1)<=32);)--e;return n>0||e<A?(pt(n,e,t.length),t.substr(n,e-n)):t;}function Wh(){Wh=B1,YV=B(d(it,1),Dt,2,6,["mutagenic","tumorigenic","irritant","reproductive effective"]),kU=B(d(it,1),Dt,2,6,["Mutagenicity","Tumorigenicity","Irritating effects","Reproductive effects"]);}function Qb(t,e,A,n,P){var r,i,f,D,Q;for(r=A[n],Q=false,f=0;f<e.f;f++)if(f!=n&&A[f]==r){Q=true;break;}if(!Q)return P;for(i=0;i<e.f;i++)(i==n||A[i]>r)&&++A[i];++P;do D=P,d_(t,e,A),P=HJ(t,A);while(D!=P);return P;}function _h(t,e,A,n,P,r){var i,f,D,Q;if(i=n-A,i<7){gJ(e,A,n,r);return;}if(D=A+P,f=n+P,Q=D+(f-D>>1),_h(e,t,D,Q,-P,r),_h(e,t,Q,f,-P,r),r.Rb(t[Q-1],t[Q])<=0){for(;A<n;)e[A++]=t[D++];return;}lJ(t,D,Q,f,e,A,n,r);}function Ub(t,e){if(e instanceof Object)try{e.__java$exception=t;var A=t;Object.defineProperties(e,{cause:{get:function(){var n=A.hc();return n&&n.fc();}},suppressed:{get:function(){return A.gc();}}});}catch{}}function ob(t,e){var A,n,P;return n=t.a*t.a+t.b*t.b+t.c*t.c,P=e.a*e.a+e.b*e.b+e.c*e.c,n==0||P==0||(A=(t.a*e.a+t.b*e.b+t.c*e.c)/w.Math.sqrt(n*P),A>=1)?0:A<=-1?Q1:w.Math.acos(A);}function $h(t,e){var A,n,P,r;if(r=t.c.a.length,r==0)return  -1;for(P=1;2*P<=r;)P<<=1;for(n=P,--P;n!=0;){if(n>>=1,P>=r){P-=n;continue;}if(A=Kr(e,N(t.c,P)),A==0)return P;if(n==0)break;A<0?P-=n:P+=n;}return  -1;}function ah(t,e,A){var n,P,r,i;for(r=h(F,k,6,t.b.f+1,15,1),V9(r,r.length,-1),P=0;P<A.length;P++)A[P]!=0&&(r[A[P]]=P);for(i=h(F,k,6,t.b.f,15,1),V9(i,i.length,-1),n=0;n<e.length;n++)i[n]=r[e[n]];return i;}function Lb(t){var e,A;return t.d>0||(e=1,A=1,t.a<54?(t.a>=1&&(A=t.f),e+=w.Math.log10(w.Math.abs(A))):(e+=(t.a-1)*hU,x5((!t.c&&(t.c=kP(E1(t.f))),t.c),ii(e)).e!=0&&++e),t.d=vt(e)),t.d;}function hK(t){var e;for(e=0;e<t.q;e++)switch(t.C[e]){case 1:case 5:case 6:case 7:case 8:case 9:case 14:case 15:case 16:case 17:case 33:case 34:case 35:case 52:case 53:continue;default:return  false;}return  true;}function cK(t){kf();var e,A,n,P,r,i;if(t==null)return null;for(e=h(q,I,6,t.length*8,15,1),n=0;n<t.length;n++)for(i=t[n],P=7;P>=0;P--)A=i&15,A>9&&(A+=7),e[n*8+P]=48+A<<24>>24,i>>=4;return rn((r=e,c0(),r));}function L0(t,e,A,n,P){var r,i,f,D,Q,U;for(r=Mt(t.e,e),D=O(t.e,e),Q=1;Q<r;Q++)for(i=Q<D?t.f[Ot(t.e,e,Q)]:0,U=0;U<Q;U++)t.a[e][Q][U]==0&&(f=U<D?t.f[Ot(t.e,e,U)]:0,(i==A&&f==n||i==n&&f==A)&&(t.a[e][Q][U]=P));}function wK(t){var e;for(e=0;0<=(e=t.indexOf("\\",e));)Xt(e+1,t.length),t.charCodeAt(e+1)==36?t=(pt(0,e,t.length),t.substr(0,e)+"$"+HD(t,++e)):t=(pt(0,e,t.length),t.substr(0,e)+(""+HD(t,++e)));return t;}function gK(t,e,A,n){var P,r,i,f,D;for(D=new f1(),r=0;r<e.q;r++)for(i=r+1;i<e.q;i++)P=new Oi(r,i),f=qr(A.a,P)!=null?qr(A.a,P):(X9(),x2),(f==(X9(),Ti)||f==x2)&&kn(new wT(e,r,i))<n&&mt(D,new Dj(t,e,r,i));return D;}function t5(t,e,A){var n;n=t.D[0][e],t.D[0][e]=t.D[0][A],t.D[0][A]=n,n=t.D[1][e],t.D[1][e]=t.D[1][A],t.D[1][A]=n,n=t.H[e],t.H[e]=t.H[A],t.H[A]=n,n=t.F[e],t.F[e]=t.F[A],t.F[A]=n,n=t.G[e],t.G[e]=t.G[A],t.G[A]=n,t.T=0;}function dK(t,e){var A,n,P;if(e.j==0){try{A=c1((P=t.b.Ec(),P.getSelectedItem()),o1,It);}catch(r){if(r=t0(r),Zt(r,40)){CD(t.c,"Illegal text size.");return;}else throw At(r);}n=cl[B0(t.a)],kg(t.e,Gi(t.d),A,n);}Rr(t.c);}function BK(t){var e,A,n,P;for(t.Ab(2*t.S),P=new L1(),n=0;n<t.L.r;n++)e=z(t.L,0,n),A=z(t.L,1,n),V3(t.L,n)&&(P.a=Z1(t.R,kt(t.L,e)),P.c=X1(t.R,jt(t.L,e)),P.b=Z1(t.R,kt(t.L,A)),P.d=X1(t.R,jt(t.L,A)),W1(t,-2),t.qb(P));}function Bs(){Bs=B1,Dl=B(d(yt,1),wt,6,15,[F0,Q1,p2,AA]),SV=B(d(F,2),D0,7,0,[B(d(F,1),k,6,15,[0,0,0,2]),B(d(F,1),k,6,15,[0,0,1,2]),B(d(F,1),k,6,15,[0,1,1,3]),B(d(F,1),k,6,15,[2,2,3,2])]);}function vK(t){var e,A,n,P;for(n=-0.5299999713897705,Qi(t),ut(t,7),e=0;e<t.f;e++){P=-1;try{P=ny(t,e,2144);}catch(r){if(r=t0(r),!Zt(r,19))throw At(r);}for(A=0;A<Kf.length;A++)if(P0(Ul[A],P)){n+=Kf[A];break;}}return n;}function sb(t){var e;t.I&&(t.I.a.length=0,t.eb=w.Math.max(t.eb,1),n1(t.k)),z1(t),e=t.V.K,ki(t.V),je(t.V,e),t.cb.q!=0?(t.eb=w.Math.max(t.eb,1),n1(t.k),N1(t,new q1(t,1,true))):(t.eb=w.Math.max(t.eb,1),n1(t.k));}function yb(t,e){var A,n,P,r,i,f;for(r=h(F,k,6,t.q,15,1),n=0;n<t.q;n++)r[n]=n;P=t.q;do--P;while(P>=0&&e[P]);for(A=0;A<P;A++)if(e[r[A]]){f=r[A],r[A]=r[P],r[P]=f,i=e[A],e[A]=e[P],e[P]=i;do--P;while(e[P]);}return r;}function FK(t){kf();var e,A,n,P;if(t.length==0||(t.length&7)!=0)return null;for(n=h(F,k,6,t.length/8|0,15,1),A=0;A<t.length;A++)P=A/8|0,e=(Xt(A,t.length),t.charCodeAt(A)-48),e>16&&(e-=7),n[P]<<=4,n[P]+=e;return n;}function _9(t,e,A){var n,P,r;if(t.length!=e.length)return  -1;for(r=0,n=A.lc(),P=0;P<t.length-1;P++)if(r=hA(t[P],e[P],r,n+1,true,A),n=hA(t[P],e[P],r,n+1,false,A),r==-1||n==-1)return  -1;return hA(t[P],e[P],r,n+1,true,A);}function mK(t,e,A){var n,P,r,i,f,D,Q;P=vt(Z6*V8(t.V)),r=vt(kt(t.V,z(t.V,0,A))),f=vt(jt(t.V,z(t.V,0,A))),i=vt(kt(t.V,z(t.V,1,A))),D=vt(jt(t.V,z(t.V,1,A))),n=(Q=e.Jc(),Q.getLineWidth()),Ko(e,P),xr(e,r,f,i,D),Ko(e,n);}function lb(t){switch(t){case 6:return 1;case 53:return 2;case 33:return 3;case 34:return 4;case 35:return 5;case 15:return 6;case 16:return 7;case 17:return 8;case 7:return 9;case 8:return 10;case 9:return 11;}return 0;}function kK(t){var e;for(t.e=new D3(),t.d=new Ng(),XI(t,new fs(t,t.i)),e=Xn(t.i);!v7(t.d);)if(cz(bG(t.d),e),p$(t,e),t.e.a.c>=ott){x1(),""+me(new BA(t.i));break;}}function vs(t){var e,A;return t>-140737488355328&&t<0x800000000000?t==0?0:(e=t<0,e&&(t=-t),A=vt(w.Math.floor(w.Math.log(t)/.6931471805599453)),(!e||t!=w.Math.pow(2,A))&&++A,A):fh(E1(t));}function bK(t,e){var A,n,P,r,i,f;if(t.s[e]==0)return  false;for(f=true,A=t.s[e],r=t.j[e],i=0,n=0;n<r;n++)P=t.i[e][n],i+=t.s[P];return w.Math.abs(A)<=w.Math.abs(i)&&w.Math.sign(A)!=w.Math.sign(i)&&(f=false),f;}function RK(t,e){var A,n,P,r,i,f;for(ut(t,1),i=0;i<2;i++)if(A=t.D[i][e],t.C[A]==7){for(n=t.D[1-i][e],f=0;f<t.j[n];f++)if(P=t.i[n][f],r=t.k[n][f],(t.C[P]==7||t.C[P]==8||t.C[P]==16)&&dt(t,r)>=2)return  true;}return  false;}function jK(t){var e;if(t.f!=null){for(e=0;e<t.f.length;e++)if((t.c[e]&~t.f[e])!=0)return  false;}else return  false;return !t.d&&(t.d=vh(new GA(false),t.e)),!t.a&&(t.a=vh(new GA(false),t.b)),Dn(t.g,t.d),Ln(t.g,t.a),Ag(t.g);}function Tb(t){var e;e=YA(t.d),vP(t.k,!e),vP(t.c,!e),vP(t.n,!e),vP(t.i,!e),vP(t.j,!e),vP(t.b,!e),vP(t.g,!e),vP(t.f,!e&&dt(t.u,t.a)==2&&qe(t.u,t.a)!=0&&qe(t.u,t.a)!=3),vP(t.q,!e),vP(t.r,!e&&B0(t.q)!=1),vP(t.p,e),vP(t.o,e);}function e9(){e9=B1,ME=new j9("UP",0),RE=new j9("DOWN",1),bE=new j9("CEILING",2),jE=new j9("FLOOR",3),Bl=new j9("HALF_UP",4),pE=new j9("HALF_DOWN",5),se=new j9("HALF_EVEN",6),CE=new j9("UNNECESSARY",7);}function e5(t,e,A){var n,P,r;for(n=false,r=0;r<t.j[e];r++)if(!_e(t,t.k[e][r])&&t.n[e][r]==1&&(P=t.i[e][r],!(P<t.f&&i0(t.p,P))&&(t.C[P]==6&&Df(t,P)==1||t.C[P]==16&&Df(t,P)==2))){if(n||!A)return  true;n=true;}return  false;}function pK(t,e){var A,n,P,r,i;for(A=h(yt,wt,6,t.w.length+t.v.length,15,1),n=z9(t.i,e.d).c,r=new Wt(n);r.a<r.c.a.length;)if(P=t1(r),($F(e,P.c,P.b)?e.b:0)!=0)for(i=0;i<A.length;i++)FN(t.D,P,i)&&(A[i]+=P.a);return A;}function TA(t,e,A,n,P,r){var i,f,D,Q;for(D=0,f=0;f<t.R.f;f++)gt(V(o0(t.R,t.B[f]),n),0)&&++D;if(D!=0)for(eP(t,e),Jt(t,D,A),i=0;i<t.R.f;i++)Q=V(o0(t.R,t.B[i]),n),G(Q,0)!=0&&(Jt(t,i,A),P!=1&&Jt(t,q0(Q,r),P));}function CK(t,e){var A,n,P,r,i,f,D;for(i=Mt(t.R,e),f=h(F,k,6,i,15,1),P=0;P<i;P++)f[P]=_(t.R,e,P);for(n=i;n>1;n--){for(A=false,r=1;r<n;r++)A6(t,e,f[r-1],f[r])&&(A=true,D=f[r-1],f[r-1]=f[r],f[r]=D);if(!A)break;}return f;}function MK(t){var e,A,n,P,r,i,f;for(i=h(q,Ny,58,8,0,3),f=0;f<=7;f++)for(i[f]=h(q,w8,10,t[f].c,0,2),n=0,r=(A=new N8(new x8(new w9(t[f]).a).b),new g9(A));p9(r.a.a);)P=(e=Br(r.a),e.dd()),i[f][n++]=P;return i;}function kQ(t,e){var A,n;for(t.C=_8(t.C,e),t.s=_8(t.s,e),t.w=_8(t.w,e),n=t.J.length,t.J=EG(t.J,e),A=n;A<e;A++)t.J[A]=new Nn();t.A=_8(t.A,e),t.u=_8(t.u,e),t.B=tG(t.B,e),t.v!=null&&(t.v=Yz(t.v,e)),t.t!=null&&(t.t=Kz(t.t,e)),t.M=e;}function hb(t,e,A){var n,P,r,i;if(t.k=e,t.n=A,t.i!=null)for(i=t.i.length,t.o=h(yt,wt,6,i,15,1),t.p=h(yt,wt,6,i,15,1),r=0;r<i;r++)n=e-t.i[r].a,P=A-t.i[r].b,t.p[r]=w.Math.sqrt(n*n+P*P),t.o[r]=kA(e,A,t.i[r].a,t.i[r].b);}function HK(t,e){var A,n,P,r,i,f,D;for(n=h(rt,ft,6,O(t.e,e),16,1),D=0,P=0;P<O(t.e,e);P++){for(f=0,i=-1,r=0;r<O(t.e,e);r++)n[r]||(A=Ot(t.e,e,r),f<t.f[A]&&(f=t.f[A],i=r));if(f==0)return D;D<<=8,D+=f,n[i]=true;}return D;}function Vn(t){return w.Math.sqrt(t.a*t.a+t.b*t.b+t.c*t.c)>0?new gP(t.a/w.Math.sqrt(t.a*t.a+t.b*t.b+t.c*t.c),t.b/w.Math.sqrt(t.a*t.a+t.b*t.b+t.c*t.c),t.c/w.Math.sqrt(t.a*t.a+t.b*t.b+t.c*t.c)):new gP(0,0,0);}function Fs(t){var e;if(t.p=new Au(),t.k!=null)for(t.e=h(eE,A0,104,t.k.length,0,1),e=0;e<t.k.length;e++)t.e[e]=new du(t.k[e]);if(t.a!=null)for(t.b=h(eE,A0,104,t.a.length,0,1),e=0;e<t.a.length;e++)t.b[e]=new du(t.a[e]);t.d=24;}function VK(t,e,A){var n,P;if(P=N(t.b,e),t.d.length<=t.c.length){for(n=0;n<t.a;n++)if(A[t.d[n]]!=null&&A[t.d[n]][t.c[P[n]]])return  true;}else for(n=0;n<t.a;n++)if(A[t.d[P[n]]]!=null&&A[t.d[P[n]]][t.c[n]])return  true;return  false;}function EK(t,e){n6();var A,n,P,r;if(Zf[e]!=null){for(n=0;n<Zf[e].length;n++)for(r=Zf[e][n],P=15;P>=0;P--)(r&3)==0&&Jo(t,P,n,-1),r>>=2;for(A=0;A<Zf[e].length;A++)for(r=Zf[e][A],P=15;P>=0;P--)(r&3)==1&&Jo(t,P,A,qn),r>>=2;}}function $9(t){var e,A,n;return t<0?0:t==0?32:(n=-(t>>16),e=n>>16&16,A=16-e,t=t>>e,n=t-256,e=n>>16&8,A+=e,t<<=e,n=t-C0,e=n>>16&4,A+=e,t<<=e,n=t-Sn,e=n>>16&2,A+=e,t<<=e,n=t>>14,e=n&~(n>>1),A+2-e);}function s0(t,e){var A=w;if(t==="")return A;var n=t.split(".");if(!(n[0]in A)&&A.execScript&&A.execScript("var "+n[0]),e){var P=e.prototype.sd;P.e=e;}for(var r;n.length&&(r=n.shift());)A=A[r]=A[r]||!n.length&&e||{};return A;}function A5(t,e,A,n,P,r,i){var f,D;return f=_(t.g,t.s[e],n),f<t.D.length&&(!t.D[f]||t.f[f]==i)&&f!=t.u[e]&&(D=Ot(t.g,t.s[e],n),!r[D]&&!Bu(t.g,D)&&(t.s[++A]=f,t.u[A]=t.s[e],t.v[A]=D,r[D]=true,P[f]?t.t[A]=true:P[f]=true)),A;}function f2(t,e){var A,n,P,r,i;for(i=0,A=0,n=0;n<e;n++)i+=t[n].b*w.Math.sin(t[n].a),A+=t[n].b*w.Math.cos(t[n].a);return A==0?r=i>0?bA:eU:(r=w.Math.atan(i/A),A<0&&(r+=Q1)),P=w.Math.sqrt(i*i+A*A)/e,new KP(r,P);}function ms(t){var e,A,n;if(t.d!=-1)return t.d;for(t.d=0,A=0;A<t.g.a.length+t.f.a.length;A++)for(n=A<t.g.a.length?N(t.g,A):N(t.f,A-t.g.a.length),e=0;e<n.q;e++)t.d<w.Math.abs(n.w[e])&&(t.d=w.Math.abs(n.w[e]));return t.d;}function n5(t,e){_r();var A;return A=h(Ee,PA,6,4,15,1),A[0]=s4*((t&iP)>>16),A[1]=s4*((t&PP)>>8),A[2]=s4*(t&255),GZ(A,e),t&qn|vt(w.Math.round(A[0]*255))<<16|vt(w.Math.round(A[1]*255))<<8|vt(w.Math.round(A[2]*255));}function P5(t,e,A,n,P,r){var i,f,D,Q,U;if(P!=0)for(J1(t)===J1(A)&&(t=t.slice(e,e+P),e=0),D=A,f=e,Q=e+P;f<Q;)i=w.Math.min(f+nP,Q),P=i-f,U=t.slice(f,i),U.splice(0,0,n,r?P:0),Array.prototype.splice.apply(D,U),f=i,n+=P;}function SK(t,e,A){var n,P,r,i,f;for(f=_i(new GA(true),t),P=-1,r=0;r<f.q;r++)if(n=f.t==null||f.t[r]==null?null:rn((i=f.t[r],c0(),i)),n!=null&&n.endsWith("*")){P=r;break;}return P>=0?zR(f,P,e,A):h(it,Dt,2,0,6,1);}function D2(t,e){var A;if(e<0)throw At(new p8("Negative exponent"));if(e==0)return N2;if(e==1||Th(t,N2)||Th(t,y9))return t;if(!RQ(t,0)){for(A=1;!RQ(t,A);)++A;return bP(OJ(A*e),D2(IT(t,A),e));}return kY(t,e);}function cb(t,e,A,n,P){var r,i,f,D,Q;for(Q=-1,i=0;i<O(t.j,A);i++)if(_(t.j,A,i)==e){Q=i;break;}for(f=-1,r=0;r<O(t.d,P);r++)if(_(t.d,P,r)==n){f=r;break;}for(D=0;D<8;D++)if(cs(t.k[A][Q][D],t.e[P][f][D])!=0)return D<<8;return I1;}function wb(t,e,A,n){var P;for(P=0;P<t.r;P++)if(t.D[0][P]==e&&t.D[1][P]==A||t.D[0][P]==A&&t.D[1][P]==e)return Q8(t,P,n),t.T=0,P;return t.r>=t.N&&eQ(t,t.N*2),t.D[0][t.r]=e,t.D[1][t.r]=A,t.H[t.r]=n,t.F[t.r]=0,t.G[t.r]=0,t.T=0,t.r++;}function gb(t,e,A){var n,P,r,i,f,D,Q,U,L,s;for(s=e.length,P=e,r=0,i=P.length;r<i;++r)n=P[r],L=t.a[n]&w1,(L==0||L>s)&&(t.a[n]&=qP,t.a[n]|=s);for(D=A,Q=0,U=D.length;Q<U;++Q)f=D[Q],L=t.c[f]&w1,(L==0||L>s)&&(t.c[f]&=qP,t.c[f]|=s);}function ks(t,e){this.a=new Rv(this),this.e=new cm(),this.b=new SB(),this.c=new EB(),this.d=new lv(this),this.f=new _B(),this.i=new VB(),this.g=new HB(),this.j=new jv(),this.k=new vg(this,t),this.n=new yv(this),this.o=new Fg(this,e),this.p=new fv();}function bQ(t,e,A){var n,P,r,i,f,D;return n=t.i[1].a-t.i[0].a,P=t.i[1].b-t.i[0].b,i=(t.i[0].a+t.i[1].a)/2,f=(t.i[0].b+t.i[1].b)/2,n==0?P<0^A>f:P==0?n<0^e>i:(r=-n/P,D=(t.i[0].a+r*r*e-r*A+r*t.i[0].b)/(1+r*r),n<0^D>i);}function qK(t,e,A){var n,P,r,i,f;for(f=h(oPt,h0,159,A,0,1),i=h(F,k,6,A,15,1),r=0;r<A;r++)f[r]=new Pw();for(n=0;n<t.V.q;n++)f[e[n]].a+=kt(t.V,n),f[e[n]].b+=jt(t.V,n),++i[e[n]];for(P=0;P<A;P++)f[P].a/=i[P],f[P].b/=i[P];return f;}function Pi(t){var e,A,n;for(n=false,e=0;e<t.q;e++)t.C[e]==-1&&(n=true,Zu(t,t.w[e]));for(A=0;A<t.r;A++)t.H[A]==512?n=true:(t.C[t.D[0][A]]==-1||t.C[t.D[1][A]]==-1)&&(t.H[A]=512,n=true);return n?(t.T=0,mf(t)):null;}function IK(t,e,A){var n,P,r,i,f,D;for(f=h(rt,ft,6,t.f,16,1),A[0]=e,D=1,f[e]=true,r=0;r<D;r++)for(i=0;i<t.j[A[r]];i++)P=t.k[A[r]][i],((t.F[P]&64)!=0||dt(t,P)==2||fi(t,P))&&(n=t.i[A[r]][i],f[n]||(A[D++]=n,f[n]=true));return D;}function xK(t){var e,A,n,P;for(P=false,A=0;A<t.V.q;A++)if(r0(t.V,A)){P=true;break;}if(n=tk(t,P),n){for(z1(t),e=0;e<t.V.q;e++)(!P||r0(t.V,e))&&(Be(t.V,e,2*n.a-kt(t.V,e)),Ie(t.V,e,2*n.b-jt(t.V,e)));t.eb=w.Math.max(t.eb,1),n1(t.k);}}function db(t,e,A){var n;QT();var P;this.a=new KR(new JA(),t,A,this),KS(this.a,new Vw(this)),this.c=e,this.f=A,this.e=new e3(),t3(this.e,this.a),this.d=new aw(),t3(this.d,this.a),P=(n=this.zc(),n.getClipboardHandler()),xS(this.a,new Iw(P));}function Bb(t){fp.call(this,t),this.d=h(F,k,6,this.w.length,15,1),this.c=h(F,k,6,this.v.length,15,1),this.a=h(GE,k2,165,1,0,1),this.a[0]=OD(this,h(F,k,6,this.w.length,15,1),h(F,k,6,this.v.length,15,1)),this.b=-1;}function r5(t){var e,A;for(this.i=Xn(t),yW(this),ut(this.i,7),this.g=h(rt,ft,6,this.i.g,16,1),this.f=h(rt,ft,6,this.i.f,16,1),e=0;e<this.i.f;e++)A=Yu(K(this.i,e))[0],this.f[e]=e0(this.i,e)<A;kK(this),BW(this),QZ(this),VX(this);}function NK(t){t=t||{};var e=0;return t.matchAtomCharge===true&&(e|=1),t.matchAtomMass===true&&(e|=2),t.matchDBondToDelocalized===true&&(e|=4),(t.matchAromDBondToDelocalized===true||t.matchAromDBondToDelocalized===void 0)&&(e|=8),e;}function vb(t,e){var A,n,P,r,i,f,D;for(D=On(t.R),A=0;A<D.j.a.length;A++)if(D.e[A]&&yA(D,A,e)){for(P=N(D.j,A),r=0,i=P.length;r<i;++r)if(n=P[r],n!=e){for(f=0;f<O(t.R,n);f++)if(fi(t.R,Ot(t.R,n,f)))return  true;}return  false;}return  false;}function yf(t,e,A){var n,P,r;if(n=K(t.j,e),n>=5&&n<=8||n==15||n==16||n==33||n==34||n==52){if(r=gQ(t.j,e),r!=0)return  true;if(P=p1(t.j,e),n==5&&P>=0)return A&&E0(t.j,e,P-1),true;if(n!=5&&P<=0)return A&&E0(t.j,e,P+1),true;}return  false;}function OK(t,e,A){var n,P,r,i,f;for(f=false,i=1,e[A]=i,n=true;n;){for(n=false,P=0;P<t.b;P++)if(e[P]==i)for(r=0;r<t.b;r++)e[r]==0&&TG(t,P,r)&&(t.c[r]==-2?(e[r]=i+1,n=true):t.c[r]!=t.c[A]&&(e[r]=i+1,f=true));++i;}return f;}function GK(t,e){var A;for(this.o=e,this.k=h(E2,b2,29,t.k.length,0,1),A=0;A<this.k.length;A++)this.k[A]=new vu(t.k[A]);t.j!=null&&(this.j=fL(t.j,t.j.length)),this.p=t.p==null||t.p.endsWith(" (copy)")?t.p:ju(t.p," (copy)"),this.n=NaN;}function Fb(t,e){var A,n,P,r,i;for(r=h(HE,h0,44,8,0,1),i=0;i<=7;i++)for(r[i]=new Ji(new Il()),A=0;A<t.f;A++)P=e[A][i],P!=null&&(n=le(r[i],P),n=n==null?h(F,k,6,1,15,1):bn(n,n.length+1),n[n.length-1]=A,ze(r[i],P,n));return r;}function JK(t,e){var A,n,P;if(t.t!=-1&&(ae(e,(P=ID(e),P!=0?P:Yy)),yF(t,e,t.t),t.w==19&&(n=C1(t.V,t.t),n!=0)))for(A=0;A<t.V.f;A++)A!=t.t&&C1(t.V,A)==n&&yF(t,e,A);t.u!=-1&&(ae(e,(P=ID(e),P!=0?P:Yy)),mK(t,e,t.u)),t.v&&t.v.Mb(e);}function i5(t,e){var A,n,P,r,i;for(r=dT(e),n=(A=t.a.get(r),A??h(uP,A0,1,0,5,1)),i=0;i<n.length;i++)if(P=n[i],sT(e,P.dd()))return n.length==1?(n.length=0,t.a.delete(r)):n.splice(i,1),--t.c,++t.b.b,P.ed();return null;}function zK(t,e){var A,n,P,r,i;if(t.C[e]!=8||t.j[e]!=1)return  false;if(A=t.i[e][0],t.C[A]==15){for(i=t.j[A],n=0;n<i;n++)if(P=t.i[A][n],P!=e&&t.C[P]==8&&(r=D1(t,A,P),t.H[r]==2))return  true;}return  false;}function f5(t,e){var A,n;if(t==null)return e==null?0:1;if(e==null)return  -1;for(A=w.Math.min(t.length,e.length),n=0;n<A;n++)if((t[n]&qP)!=(e[n]&qP))return (t[n]&qP)<(e[n]&qP)?-1:1;return t.length==e.length?0:t.length<e.length?-1:1;}function YK(t,e,A,n,P){var r,i,f,D;if(J1(t)===J1(e)&&n==P){MR(t,n,A);return;}for(f=0;f<n;f++){for(i=0,r=t[f],D=0;D<P;D++)i=O1(O1(Un(V(r,h1),V(e[D],h1)),V(A[f+D],h1)),V(zt(i),h1)),A[f+D]=zt(i),i=DA(i,32);A[f+P]=zt(i);}}function KK(t){var e,A,n,P,r;for(A=0;A<t.R.f;A++)$e(t.e[A],A),_1(t.e[A],t.c+1,Un(2,t.f[A]));for(r=h(F,k,6,t.U+1,15,1),n=0;n<t.R.f;n++)++r[t.f[n]];for(P=1;r[P]==1;)++P;for(e=0;e<t.R.f;e++)if(t.f[e]==P){ue(t.e[e],1);break;}t.U=Wn(t);}function D5(t,e){var A,n,P;if(t.a==null){for(t.a=h(yt,wt,6,t.o.q,15,1),t.d=h(yt,wt,6,(i8(),ml).length,15,1),P=new Wt(e);P.a<P.c.a.length;)n=t1(P),n.g&&(t.d[n.rd()]+=n.pd(t,t.a));for(t.e=0,A=0;A<t.o.q;A++)t.e+=t.a[A];t.c=-1;}}function XK(t,e){e=e||{};var A=e.smartsMode||"smiles",n=e.skipCoordinateTemplates||false,P=e.makeHydrogenExplicit||false,r=e.noCactvs||false,i=e.singleDotSeparator||false,f=e.createSmartsWarnings||false;t.xc(A,n,P,r,i,f);}function RQ(t,e){var A,n,P;if(e==0)return (t.a[0]&1)!=0;if(e<0)throw At(new p8("Negative bit address"));if(P=e>>5,P>=t.d)return t.e<0;if(A=t.a[P],e=1<<(e&31),t.e<0){if(n=LF(t),P<n)return  false;n==P?A=-A:A=~A;}return (A&e)!=0;}function mb(t,e,A,n,P,r,i){var f,D,Q;f=A==-1?(i[e].a-i[t.B[0]].a)/8:i[e].a-i[A].a,D=A==-1?(i[e].b-i[t.B[0]].b)/8:i[e].b-i[A].b,Jt(t,vt((n+f)/P),r),Jt(t,vt((n+D)/P),r),t.jb&&(Q=A==-1?(i[e].c-i[t.B[0]].c)/8:i[e].c-i[A].c,Jt(t,vt((n+Q)/P),r));}function kb(t,e){var A,n,P,r;if(t.d!=e.d)return t.d>e.d?1:-1;for(P=t.a.length,r=e.a.length,A=w.Math.min(P,r),n=0;n<A;n++)if(--P,--r,t.a[P]!=e.a[r])return t.a[P]>e.a[r]?1:-1;return P!=r?P>r?1:-1:t.b!=e.b?t.b>e.b?1:-1:0;}function bb(t,e){var A,n,P,r;if(t.K){if(gt(V(t.B[e],1),0))return  false;if(t.v!=null&&t.v[e]!=null){for(n=t.v[e],P=0,r=n.length;P<r;++P)if(A=n[P],!(A==1||A>=5&&A<=9||A>=14&&A<=17||A>=32&&A<=35||A>=52&&A<=53))return  false;}}return yO(t.C[e]);}function ZK(t){var e,A,n,P,r,i;if(!Ql)return aH;for(r=0,n=0,i=new jD(1),A=new JA(),P=0;P<hi.a.a.length;P++)u2(new GA(false),A,F3(hi,P)),Dn(i,t),Ln(i,A),sn(i,1,i.c)>0&&(r+=eg(hi,P),++n);return e=n==0?-1:r/w.Math.sqrt(n),e+"	"+n+"	"+t.f;}function Rb(t,e){var A,n,P,r;for(r=0,n=new fB();r<e;){try{P=K1(t.i);}catch(i){if(i=t0(i),Zt(i,75))break;throw At(i);}if(P==null)break;P.startsWith(PU)&&++r,P.startsWith(">")&&(A=aR(P),A!=null&&jG(n,A));}t.d=ff(n.b,h(it,Dt,2,0,6,1));}function u5(t,e){var A,n,P,r,i;return e&=63,A=t.h,n=(A&l8)!=0,n&&(A|=-1048576),e<22?(i=A>>e,r=t.m>>e|A<<22-e,P=t.l>>e|t.m<<22-e):e<44?(i=n?aA:0,r=A>>e-22,P=t.m>>e-22|A<<44-e):(i=n?aA:0,r=n?x0:0,P=A>>e-44),S0(P&x0,r&x0,i&aA);}function lf(t,e,A,n,P,r){for(var i,f,D;t.q+n>t.M;)kQ(t,t.M*2);for(;t.r+n>t.N;)eQ(t,t.N*2);return i=ZA(t,e,A),i!=-1?mR(t,i,n,P,r):(f=df(t,e,A),f!=-1?GQ(t,f,n,P,r):(i=W0(t,e,A,0),D=Q1*(n-2)/n,J5(t,i,n,i,P,0,Q1-D,r),t.T=0,true));}function jb(t){var e,A,n,P,r,i,f,D,Q,U;for(D=0,n=t,r=0,f=n.length;r<f;++r)e=n[r],e==-1&&++D;if(D!=0)for(U=t,t=h(F,k,6,U.length-D,15,1),Q=0,A=U,P=0,i=A.length;P<i;++P)e=A[P],e!=-1&&(t[Q++]=e);return t.sort(Fe(u0.prototype.gd,u0,[])),t;}function WK(t){var e,A,n,P;if(A=new P8(),t.g.a.length!=0){for(P=new Yr(N(t.g,0)),e=1;e<t.g.a.length;e++)RD(P,N(t.g,e));mt(A.g,P),A.d=-1;}if(t.f.a.length!=0){for(n=new Yr(N(t.f,0)),e=1;e<t.f.a.length;e++)RD(n,N(t.f,e));mt(A.f,n),A.d=-1;}return A;}function _K(t,e){var A,n,P,r,i;for(t.i=h(F,k,6,t.g.f,15,1),n=0;n<t.f.f;n++)C1(t.f,n)!=0&&(t.i[e[C1(t.f,n)]]=R0(t.f,n));if(i=h(F,k,6,t.g.q,15,1),r=n9(t.g,i,false,false),r>1)for(P=h(F,k,6,r,15,1),A=0;A<t.g.f;A++)t.i[A]|=P[i[A]]++<<5;}function $K(t,e){return !e&&(e={mode:3}),e=Object.assign({},e),"ensureCoordinates"in e?(e.ensureCoordinates=!!e.ensureCoordinates,YN(t,e.ensureCoordinates)):(typeof e.mode!==nr&&(e.mode=3),e.mode=Math.trunc(e.mode),bN(t,e.mode));}function Tf(t,e,A,n){var P;if(A==null){t.v!=null&&(t.v[e]=null);return;}if(A.length==1&&!n){P=A[0],t.C[e]!=P&&Bf(t,e,P,0,-1,0),t.v!=null&&(t.v[e]=null);return;}t.v==null&&(t.v=h(F,D0,7,t.M,0,2)),t.v[e]=A,n&&(t.B[e]=Y(t.B[e],1)),t.T=0,t.K=true;}function aK(t,e){var A,n,P,r,i,f,D;for(A=h(yt,wt,6,Mt(t.L,e),15,1),P=0;P<Mt(t.L,e);P++)A[P]=Y0(t.L,e,_(t.L,e,P));for(A.sort(Fe(vi.prototype.gd,vi,[])),r=CF(A,0),i=Ak(A,0,r),n=1;n<A.length;n++)f=CF(A,n),D=Ak(A,n,f),i<D&&(i=D,r=f);return r;}function tX(t,e,A){var n,P,r,i,f,D,Q,U,L,s;for(s=new uo(new AD()),Q=e,U=0,L=Q.length;U<L;++U)for(D=Q[U],P=A,r=0,i=P.length;r<i;++r)n=P[r],f=h(F,k,6,2,15,1),f[0]=t.J[D],f[1]=t.C[n],ze(s.a,f,(R9(),wU))==null;return fk(s,h(F,D0,7,0,0,2));}function a9(t,e){var A,n,P,r;if(r=t.d.a.length,r==0)return  -1;for(P=1;2*P<=r;)P<<=1;for(n=P,--P;n!=0;){if(n>>=1,P>=r){P-=n;continue;}if(A=zd(t,e,N(t.d,P)),A==0)return P;if(n==0)break;A<0?P-=n:P+=n;}return P<r&&zd(t,e,N(t.d,P))>0&&++P,-(P+1);}function eX(t,e,A,n){var P,r,i,f,D,Q;if(P=t.e[e],f=h(F,k,6,P,15,1),Q=R5(t,e,A,n,f),Q==3)return  false;for(i=(t.u[e]&3)==Q?257:129,D=0;D<P;D++)(f[D]&1)==1&&(r=t.k[e][A[D]],t.H[r]=i,t.D[0][r]!=e&&(t.D[1][r]=t.D[0][r],t.D[0][r]=e));return  true;}function AX(t){var e,A,n,P;for(n=new Wt(t.g);n.a<n.c.a.length;)if(e=t1(n),e.q!=0)return  false;for(P=new Wt(t.f);P.a<P.c.a.length;)if(e=t1(P),e.q!=0)return  false;for(A=new Wt(t.a);A.a<A.c.a.length;)if(e=t1(A),e.q!=0)return  false;return  true;}function nX(t,e){var A,n,P;if(t.f=e,N7(t.e,t.c,t.f),sn(t.e,4,8)==0)return t.a=null,0;for(t.a=t.e.F,A=t.a.a.length-1;A>=0;A--)for(P=N(t.a,A),n=0;n<P.length;n++)if(P[n]!=-1&&t.b[n]>0&&t.b[n]>Zi(t.f,P[n])){LA(t.a,A);break;}return t.a.a.length;}function pb(t,e,A){var n,P,r,i,f;for(this.a=h(F,k,6,t.f,15,1),this.a[0]=e,A[e]=true,r=0,i=0;r<=i;){for(P=O(t,this.a[r]),f=0;f<P;f++)n=_(t,this.a[r],f),w.Math.abs(t.w[n])==0&&P0(V(t.B[n],Pe),0)&&!A[n]&&(this.a[++i]=n,A[n]=true);++r;}}function PX(t,e,A,n,P){var r,i,f,D,Q,U,L,s;return r=an(e.C[A]),i=an(e.C[P]),f=r>i?4:3,D=(Q=an(e.C[A]),U=an(e.C[n]),L=an(e.C[P]),Q>L&&(Q=(s=k1(L),k1(L=Q),s).a),_9(B(d(F,1),k,6,15,[1,0,2]),B(d(F,1),k,6,15,[U,Q,L]),t)),D>=0?j0(t.a[D][f]):0;}function Cb(t,e,A){var n,P,r;if(t.o[e]==2||(t.o[e]==1||EP(t,e,true))&&t.j[e]!=3||t.o[e]==0&&t.j[e]!=4)return 1;for(r=-2,P=0;P<t.j[e];P++)if(n=t.i[e][P],n!=A){if(r==-2)r=Ho(t.d,n);else if(r!=Ho(t.d,n))return 1;}return t.j[e]-1;}function rX(t,e){var A,n,P,r,i;if(t.i.K){if(gt(V(o0(t.i,e),1),0))return  true;if(i=MA(t.i,e),i!=null){for(n=i,P=0,r=n.length;P<r;++P)if(A=n[P],A==5||A==6||A==7||A==8||A==15||A==16||A==33||A==34)return  true;return  false;}}return sv(K(t.i,e));}function iX(t,e,A){var n,P,r,i,f,D,Q,U,L;for(L=h(NA,a0,6,1+t.d[t.d.length-1],14,1),n=0,i=e,D=0,U=i.length;D<U;++D)P=i[D],L[t.d[n]]=O1(L[t.d[n]],P<<t.b[n]),++n;for(r=A,f=0,Q=r.length;f<Q;++f)P=r[f],L[t.d[n]]=O1(L[t.d[n]],P<<t.b[n]),++n;return L;}function Q5(t,e){var A,n,P;this.a=t.D[0][e],this.b=t.D[1][e],n=C1(t,this.a),P=C1(t,this.b),n<P?(this.d=n,this.e=P):(this.d=P,this.e=n),this.c=t.G[e]&31,A=t.H[e]&127,A==16?this.c|=16:A==2?this.c|=2:A==4?this.c|=4:this.c|=1,this.i=(t9(),Tl);}function bs(t,e){var A,n,P;if(A=z(t.V,0,e),d0(t.V,A)!=0)return Ei(t.V,A)||d0(t.V,A)!=1&&d0(t.V,A)!=2?-1:A;if(a1(t.V,A)==1){for(P=0;P<O(t.V,A);P++)if(pA(t.V,A,P)==2&&(n=_(t.V,A,P),a1(t.V,n)==2&&(d0(t.V,n)==1||d0(t.V,n)==2)))return n;}return  -1;}function fX(t){if(t.Vc()){var e=t.c;e.Wc()?t.n="["+e.k:e.Vc()?t.n="["+e.Tc():t.n="[L"+e.Tc()+";",t.b=e.Sc()+"[]",t.j=e.Uc()+"[]";return;}var A=t.g,n=t.d;n=n.split("/"),t.n=Ps(".",[A,Ps("$",n)]),t.b=Ps(".",[A,Ps(".",n)]),t.j=n[n.length-1];}function Mb(t){var e,A,n,P;e=t.M!=0?t.M:t.D!=0?t.D:-1,t.t=(_r(),A=(e&iP)>>16,n=(e&PP)>>8,P=e&255,(A+vt(w.Math.round(jf*(92-A)))<<16)+(n+vt(w.Math.round(jf*(160-n)))<<8)+P+vt(w.Math.round(jf*(255-P)))),t.u=Gs(yy,e),t.H=-24321,t.I=-6291392;}function jQ(t){var e,A,n,P,r,i,f;do for(f=false,A=0;A<t.j.g;A++)if(t.e[A]){for(r=false,P=0;P<2;P++){for(n=z(t.j,P,A),e=false,i=0;i<O(t.j,n);i++)if(A!=Ot(t.j,n,i)&&t.e[Ot(t.j,n,i)]){e=true;break;}if(!e){r=true;break;}}r&&(f=true,n2(t,A));}while(f);}function U5(t){var e,A,n,P,r,i,f;do for(f=false,A=0;A<t.k.g;A++)if(t.g[A]){for(r=false,P=0;P<2;P++){for(e=false,n=z(t.k,P,A),i=0;i<O(t.k,n);i++)if(A!=Ot(t.k,n,i)&&t.g[Ot(t.k,n,i)]){e=true;break;}if(!e){r=true;break;}}r&&(f=true,vQ(t,A));}while(f);}function Hb(t){var e,A,n,P,r,i;for(t.e=h(yt,wt,6,t.d,15,1),A=new Wt(t.a);A.a<A.c.a.length;)e=t1(A),e.dc(t.i,t.e);for(i=-1e8,n=.1,r=0;r<t.d;r++)t.e[r]*=n,t.e[r]>i&&(i=t.e[r]);if(i>10){for(;i*n>10;)n*=.5;for(P=0;P<t.d;P++)t.e[P]*=n;}return n;}function DX(t){t=t||{};var e=t.countMode||wV;switch(e){case wV:return 4;case "existence":return 1;case "firstMatch":return 2;case "separated":return 3;case "rigorous":return 5;case "unique":return 6;default:throw new Error("invalid count mode: "+e);}}function Rs(t,e){var A,n,P,r,i,f;return r=t.a*el+t.b*1502,f=t.b*el+11,A=w.Math.floor(f*vV),r+=A,f-=A*h4,r%=h4,t.a=r,t.b=f,e<=24?w.Math.floor(t.a*Uc[e]):(P=t.a*(1<<e-24),i=w.Math.floor(t.b*oc[e]),n=P+i,n>=lU&&(n-=L8),n);}function Vb(t,e){var A,n,P,r;if(t.K){if(gt(V(t.B[e],1),0))return  false;if(t.v!=null&&t.v[e]!=null){for(n=t.v[e],P=0,r=n.length;P<r;++P)if(A=n[P],!(A>=21&&A<=30||A>=39&&A<=48||A==57||A>=72&&A<=80||A==89||A>=104&&A<=112))return  false;}}return PG(t.C[e]);}function uX(t,e,A,n,P,r){var i,f,D,Q,U,L,s;for(I8(t.k[A],n,P,r),s=t.o,L=h(rt,ft,6,s.q,16,1),D=h(F,k,6,s.q,15,1),D[0]=A,L[e]=true,L[A]=true,f=0,Q=0;f<=Q;){for(U=0;U<s.e[D[f]];U++)i=s.i[D[f]][U],L[i]||(L[i]=true,D[++Q]=i,I8(t.k[i],n,P,r));++f;}}function O0(t,e,A,n){var P;if(e==A)return  -1;for(P=0;P<t.r;P++)if(t.D[0][P]==e&&t.D[1][P]==A||t.D[0][P]==A&&t.D[1][P]==e)return t.H[P]<n&&(t.H[P]=n),P;return t.r>=t.N&&eQ(t,t.N*2),t.D[0][t.r]=e,t.D[1][t.r]=A,t.H[t.r]=n,t.F[t.r]=0,t.G[t.r]=0,t.T=0,t.r++;}function o5(t,e,A){var n,P,r,i,f,D;if(e==A)return 0;for(ut(t,1),i=h(F,k,6,t.q,15,1),r=h(F,k,6,t.q,15,1),r[0]=e,i[e]=1,P=0,f=0;P<=f;){for(D=0;D<t.e[r[P]];D++){if(n=t.i[r[P]][D],n==A)return i[r[P]];i[n]==0&&(r[++f]=n,i[n]=i[r[P]]+1);}++P;}return  -1;}function pQ(t,e){var A,n;if(ut(t,1),t.j[e]==2&&t.n[e][0]==2&&t.n[e][1]==2){for(A=0;A<2;A++)for(n=0;n<t.e[t.i[e][A]];n++)if(Gr(t,t.k[t.i[e][A]][n],t.i[e][A]))return t.k[t.i[e][A]][n];}else for(A=0;A<t.e[e];A++)if(Gr(t,t.k[e][A],e))return t.k[e][A];return  -1;}function L5(t,e,A){var n,P,r,i,f,D;for(ut(t,1),r=h(F,k,6,t.f,15,1),D=h(rt,ft,6,t.f,16,1),r[0]=e,r[1]=A,D[e]=true,D[A]=true,P=1,i=1;P<=i;){for(f=0;f<t.j[r[P]];f++){if(n=t.i[r[P]][f],n==e&&P!=1)return  -1;D[n]||(D[n]=true,r[++i]=n);}++P;}return i;}function ri(t,e){var A;return e==null?null:(A=le(t.c,e),A||((e.endsWith("<")||e.endsWith("-"))&&(A=le(t.c,e.endsWith("<")?UA(e,0,e.length-1)+">":e.endsWith("-")?UA(e,0,e.length-1)+"+":e),A)?(A=new Lj(A),ze(t.c,e,A),A):null));}function QX(t,e,A,n,P,r){var i,f,D,Q,U;for(f=new f1(),i=NW(t,e),D=0;D<e.q;D++)for(Q=0;Q<D+1;Q++)U=iN(A,new Oi(D,Q)),(U==(X9(),Ti)||U==x2)&&w.Math.abs(i[D])>yU&&w.Math.abs(i[Q])>yU&&kn(new wT(e,D,Q))<n&&mt(f,new Zv(e,D,Q,U,i[D],i[Q],P,r));return f;}function UX(t,e,A,n,P){var r,i,f,D,Q;for(Q=-1,i=0;i<O(t.j,A);i++)if(_(t.j,A,i)==e){Q=i;break;}for(f=-1,r=0;r<O(t.d,P);r++)if(_(t.d,P,r)==n){f=r;break;}for(D=2;D<8;D++)if(t.p[A][Q][D]==null||cs(t.p[A][Q][D],t.i[P][f][D])!=0)return D-2<<8;return 1536;}function oX(t,e,A,n){var P,r,i,f,D,Q,U;for(U=n.a.length,0<U?n.a=UA(n.a,0,0):0>U&&(n.a+=q8(h(l9,a0,6,-U,15,1))),D=vn(t.k,e)&&(t.j&4)==0,r=A,i=0,f=r.length;i<f;++i)P=r[i],n.a.length!=0&&(n.a+=","),Q=(Y1(),X0)[P],J(n,D?Q.toLowerCase():Q);return n.a;}function LX(t){var e,A;for(A=new TD(),e=0;e<t.length;e++)switch(Xt(e,t.length),t.charCodeAt(e)){case 38:A.a+="&&";break;case 9:A.a+="&09";break;case 10:A.a+="&0A";break;case 32:A.a+="&20";break;default:nB(A,(Xt(e,t.length),t.charCodeAt(e)));}return A.a;}function sX(t,e,A,n,P){var r,i,f,D;if(t.j.length==0||t.n.a.length==0)return null;for(D=h(rt,h0,12,e,0,2),f=h(rt,ft,6,n,16,1),i=0;i<P.length;i++)P[i]!=-1&&C1(t.f,i)==0&&(f[P[i]]=true);for(r=0;r<A.length;r++)A[r]!=-1&&C1(t.g,r)==0&&(D[A[r]]=f);return D;}function s5(t,e,A,n,P,r){var i,f,D,Q,U;for(I8(t.k[e],n,P,r),U=t.o,D=0;D<U.e[e];D++){if(i=U.i[e][D],f=false,A!=null){for(Q=0;Q<A.length;Q++)if(i==A[Q]){f=true;break;}}f||(U.e[i]==1?I8(t.k[i],n,P,r):fA(U,U.k[e][D])?I8(t.k[i],n/3,P/3,r/3):uX(t,e,i,n,P,r));}}function u2(t,e,A){var n,P,r,i;if(A==null||A.length==0){KT(t,e,null,null);return;}n=A.indexOf(k0(32)),n>0&&n<A.length-1?KT(t,e,KA((r=(pt(0,n,A.length),A.substr(0,n)),c0(),r)),KA((i=(Xt(n+1,A.length+1),A.substr(n+1)),i))):KT(t,e,KA((P=A,c0(),P)),null);}function yX(t,e){var A,n,P,r;for(t.f=G(e,0)==0?new aD():new zr(e),n=new mu(t.d),A=null,P=0;P<12&&!(gt(t.n,0)&&(x1(),S1(E1(Date.now()),t.n)));P++){if(sR(t,n)||G(e,0)!=0)return n;A?A.e>n.e&&(r=A,A=n,n=r):(A=n,n=new mu(t.d));}return A;}function Q2(t,e){var A,n,P,r,i,f;if(!t.b)return  false;for(P=false,r=t.b.a.length-1;r>=0;r--)if(n=false,i=N(t.b,r),i.a==2?n=CW(t,i.b,i.c,i.d,e):i.a==1&&(n=gW(t,i.b,e)),n){for(Z8(t.b,i),f=0;f<t.g[i.b].length;f++)A=t.g[i.b][f],t.n[A]=false;P=true;}return P;}function CQ(t,e,A){return dt(t,e)!=1?0:16-t.e[A]+16*w.Math.max(0,w.Math.min(9,t.p&&e<t.g?yP(t.p,e):0)-2)+((t.H[e]&384)==0||t.D[0][e]!=A?s8:0)+((t.u[A]&3)==0?C0:0)+(t.C[A]==1?I1:0)+(t.e[A]==1?re:0)+((t.F[e]&64)!=0?0:512)+(t.C[A]!=6?256:0);}function Eb(t,e,A,n){var P,r,i,f,D,Q,U;for(P=h(F,k,6,O(t.i,A),15,1),f=0,i=0;i<O(t.i,A);i++)P[f]=_(t.i,A,i),!n[P[f]]&&Xs(t,e,P[f])&&++f;if(f==0)return  -1;if(f==1)return P[0];for(D=-1,Q=It,r=0;r<f;r++)U=AR(t.i,e,P[r],It,n),U<Q&&(Q=U,D=P[r]);return D;}function lX(t,e){var A,n,P;e.j==1?Rr(t.s):e.j==0?(EJ(t),t.v=true,Rr(t.s)):J1(e.k)===J1(t.d)||J1(e.k)===J1(t.q)?Tb(t):J1(e.k)===J1(t.p)&&(P=B0(t.p),t.t!=P&&(n=t.t+B0(t.o),A=Ah(t,P),n<P?_t(t.o,0):n<P+A?_t(t.o,n-P):_t(t.o,A-1),t.t=P));}function TX(t,e){var A,n,P,r;return A=br(t.R,e),n=Uf(t.R,e,false),P=Uf(t.R,e,true),r=-1,n!=P?A!=-1&&A>n?r=A<<24>>24:r=n<<24>>24:A!=-1?(A>P||A<P&&A>=G1(t.R,e))&&(r=A<<24>>24):!aL(t.R,e)&&R3(t.R,e)!=0&&(r=G1(t.R,e),r-=Fu(t.R,e,r)),qO(t,e,r),r;}function hX(t){var e,A,n;for(e=0,A=0,n=0;n<t.g.a.length+t.f.a.length;n++)e+=V8(n<t.g.a.length?N(t.g,n):N(t.f,n-t.g.a.length))*(n<t.g.a.length?N(t.g,n):N(t.f,n-t.g.a.length)).r,A+=(n<t.g.a.length?N(t.g,n):N(t.f,n-t.g.a.length)).r;return A!=0?A/e:1;}function cX(t){var e,A,n;for(e=0,A=0,n=0;n<t.g.a.length+t.f.a.length;n++)e+=V8(n<t.g.a.length?N(t.g,n):N(t.f,n-t.g.a.length))*(n<t.g.a.length?N(t.g,n):N(t.f,n-t.g.a.length)).r,A+=(n<t.g.a.length?N(t.g,n):N(t.f,n-t.g.a.length)).r;return A!=0?A/e:1;}function _0(t,e){var A,n,P,r;if(t.K){if(gt(V(t.B[e],1),0))return  false;if(t.v!=null&&t.v[e]!=null){for(n=t.v[e],P=0,r=n.length;P<r;++P)if(A=n[P],!(A>=3&&A<=4||A>=11&&A<=13||A>=19&&A<=31||A>=37&&A<=51||A>=55&&A<=84||A>=87&&A<=112))return  false;}}return WG(t.C[e]);}function js(t,e){var A,n,P,r;if(r=t.c.a.length,r==0)return t8(t.c,0,e),0;for(P=1;2*P<=r;)P<<=1;for(n=P,--P;n!=0;){if(n>>=1,P>=r){P-=n;continue;}if(A=Kr(e,N(t.c,P)),A==0)return  -1;if(n==0)break;A<0?P-=n:P+=n;}return P<r&&Kr(e,N(t.c,P))>0&&++P,t8(t.c,P,e),P;}function wX(t){var e,A,n,P,r,i,f,D,Q;if(Q=1,n=wP(t,t.q,t.r,(Y1(),wn)),n!=0)(n<1||n>3)&&(Q=1.5/n);else {for(D=Hp,e=1;e<t.q;e++)for(A=0;A<e;A++)r=t.J[A].a-t.J[e].a,i=t.J[A].b-t.J[e].b,f=t.J[A].c-t.J[e].c,P=r*r+i*i+f*f,D>P&&(D=P);Q=3/w.Math.max(.75,D);}return Q;}function gX(t){var e,A,n,P;for(A=0;A<t.R.f;A++)$e(t.e[A],A),_1(t.e[A],2*t.c+4,M1(t.f[A],t.c+4));for(P=false,e=0;e<t.R.f;e++)P=P|ey(t,e,3);for(n=0;n<t.R.g;n++)P=P|JQ(t,n,3);if(!P)return  false;for(;t.U<t.R.f&&(P=a_(t),!!P);)s2(t),t.P&&Q2(t.P,t.f);return  true;}function Sb(t,e,A,n,P){var r,i,f,D,Q,U,L,s,y;for(r=e.a[A],f=e.a[n],D=e.a[P],U=dm(t.a,e,A,n,P),s=-1,L=0;L<5&&s<0;L++)i=t.a.g.a[r-1][L],Q=t.a.g.a[D-1][L],i>Q&&(i=(y=k1(Q),k1(Q=i),y).a),s=_9(B(d(F,1),k,6,15,[2,1,3,0]),B(d(F,1),k,6,15,[f,i,Q,U]),t);return s;}function dX(t,e,A,n,P){var r,i,f;for(r=0,i=0,f=0;f<n;f++)r=(P9(),O1(Un(V(A[f],h1),V(P,h1)),V(zt(r),h1))),i=O1(l0(V(t[e+f],h1),V(r,h1)),i),t[e+f]=zt(i),i=q0(i,32),r=DA(r,32);return i=O1(l0(V(t[e+n],h1),r),i),t[e+n]=zt(i),zt(q0(i,32));}function BX(t,e,A,n){var P,r,i,f,D,Q;for(i=h(F,k,6,t.f.q,15,1),f=h(F,k,6,t.f.q,15,1),i[0]=A,i[1]=e,f[A]=1,f[e]=2,r=1,D=1;r<=D;){for(Q=0;Q<O(t.f,i[r]);Q++){if(P=_(t.f,i[r],Q),P==n)return 1+f[i[r]];f[P]==0&&qi(t.f,P)&&(i[++D]=P,f[P]=f[i[r]]+1);}++r;}return 0;}function vX(t,e,A,n){var P,r,i,f,D,Q,U;for(ut(t,1),n==null&&(n=h(rt,ft,6,t.q,16,1)),D=h(F,k,6,t.q,15,1),D[0]=e,n[e]=true,i=0,Q=0,f=1;i<=Q;){for(r=A?t.i[D[i]].length:t.e[D[i]],U=0;U<r;U++)P=t.i[D[i]][U],P<n.length&&!n[P]&&(D[++Q]=P,n[P]=true,++f);++i;}return f;}function ps(t,e){var A,n,P,r,i,f;for(i=0;i<2;i++)if(A=z(t.i,i,e),K(t.i,A)==7&&O(t.i,A)==2&&(n=z(t.i,1-i,e),K(t.i,n)==6)){for(f=0;f<O(t.i,n);f++)if(P=_(t.i,n,f),r=Ot(t.i,n,f),(K(t.i,P)==8||K(t.i,P)==16)&&dt(t.i,r)==2&&O(t.i,P)==1)return  true;}return  false;}function FX(t){var e,A,n;return A=t.l,(A&A-1)!=0||(n=t.m,(n&n-1)!=0)||(e=t.h,(e&e-1)!=0)||e==0&&n==0&&A==0?-1:e==0&&n==0&&A!=0?OL(A):e==0&&n!=0&&A==0?OL(n)+22:e!=0&&n==0&&A==0?OL(e)+44:-1;}function MQ(t,e,A,n,P){t[e[0]][e[1]]?t[e[0]][e[1]].a.length==2||t[e[0]][e[1]].c<P?t[e[0]][e[1]]=new th(e,A,n,P):t[e[0]][e[1]].c==P&&(t[e[0]][e[1]].a[0]=(t[e[0]][e[1]].a[0]+n)/2,t[e[0]][e[1]].b=QK(t[e[0]][e[1]].b,A)):t[e[0]][e[1]]=new th(e,A,n,P);}function mX(t,e,A){var n,P,r,i,f,D,Q;if(Mt(t.d,A)==1&&(r=_(t.d,A,0),go(t.d,r))){for(n=e.k[A],P=e.k[r],D=new xe(P.a-n.a,P.b-n.b,P.c-n.c),i=0;i<O(t.d,r);i++)if(f=_(t.d,r,i),qi(t.d,f)&&(Q=z8(P,e.k[f]),ob(D,Q)>bA))return  false;return Hr(Hr(n,D),D),true;}return  false;}function kX(t){var e,A,n,P,r,i;for(e=0;e<t.k.g;e++)if(t.g[e]){for(r=true,P=0;P<2&&r;P++)for(A=z(t.k,P,e),i=0;i<O(t.k,A)&&r;i++)e!=Ot(t.k,A,i)&&t.g[Ot(t.k,A,i)]&&(r=false);if(r)for(w0(t.k,e,8),--t.c,n=0;n<2;n++)A=z(t.k,n,e),z0(t.k,A)&&(zn(t.k,A,false),--t.b);}}function bX(t,e){e.j==0?(nJ(t),t.B=true,Rr(t.v)):e.j==1?Rr(t.v):J1(e.k)===J1(t.b)?e.a==1?(O8(t.D,""),Go(t.w,n4)):(O8(t.D,Ci(t.A,t.a)),Go(t.w,UV)):J1(e.k)===J1(t.c)?(uA(t.f,false),_t(t.n,0),_t(t.j,0)):J1(e.k)===J1(t.f)&&uA(t.c,false);}function RX(t,e,A,n,P){var r,i,f,D,Q,U;for(r=1/(1+w.Math.exp(t-5)),U=1-1/(1+w.Math.exp(e+5)),Q=1/(1+w.Math.exp(.012*A-6)),i=1-1/(1+w.Math.exp(n)),f=(.5+r/2)*(.5+U/2)*(.5+Q/2)*(.5+i/2),D=0;P!=null&&D<P.length;D++)P[D]==2?f*=.8:P[D]==3&&(f*=.6);return f;}function qb(t){var e,A,n,P,r,i,f;for(n=0,A=0;A<t.q;A++)(t.u[A]&512)!=0&&++n;if(n==0)return null;for(r=0,P=0;P<t.r;P++)(t.u[t.D[0][P]]&t.u[t.D[1][P]]&512)!=0&&++r;for(f=h(rt,ft,6,t.q,16,1),e=0;e<t.q;e++)f[e]=(t.u[e]&512)!=0;return i=new zA(n,r),ui(t,i,f,false,null),i;}function jX(t,e){var A,n,P,r,i,f,D,Q;for(i=0,n=e,P=0,r=n.length;P<r;++P)A=n[P],A==-1&&++i;for(Q=h(F,k,6,e.length-i,15,1),D=0,f=0;f<e.length;f++)e[f]!=-1&&(Q[D]=R0(t.g,f)<<16|R0(t.H,e[f]),t.i!=null&&(Q[D]|=t.i[f]<<24),++D);return Q.sort(Fe(u0.prototype.gd,u0,[])),Q;}function Cs(t,e){var A,n;A=-1,n=0,(t.G[e]&16)!=0&&(A=16,++n),(t.G[e]&64)!=0&&(A=64,++n),(t.G[e]&32)!=0&&(A=32,++n),(t.G[e]&4)!=0&&(A=4,++n),(t.G[e]&2)!=0&&(A=2,++n),(t.G[e]&8)!=0&&(A=8,++n),(t.G[e]&1)!=0&&(A=1,++n),A!=-1&&A!=(t.H[e]&127)&&(t.H[e]=A),n<2&&(t.G[e]&=-128);}function pX(t,e){var A,n;t.c==e.c?t.i=(t9(),bU):$r(e.c)==1?(t.g=e.c==1?1:e.c==2?386:e.c==4?4:e.c==16?16:8,t.i=(t9(),Ll)):(A=(t.c&16)!=0?0:(t.c&1)!=0?1:(t.c&2)!=0?2:3,n=(e.c&16)!=0?0:(e.c&1)!=0?1:(e.c&2)!=0?2:3,n==A?t.i=(t9(),bU):(t.f=n-A,t.i=(t9(),sl)));}function CX(t,e,A,n,P,r){var i,f,D,Q,U,L;return Q=D1(e,n,P),i=D8(t,e,A,n),f=D8(t,e,n,P),D=D8(t,e,P,r),L=f,f==0&&dt(e,Q)==1&&(i==1||D==1)&&(L=2),U=IZ(e,A,n,P,r),U==4&&D1(e,A,P)==-1&&D1(e,n,r)==-1?40+L:U==5&&(e.a[A]==1||e.a[n]==1||e.a[P]==1||e.a[r]==1)?50+L:L;}function MX(t){var e,A,n;return !t.startsWith(B6)||!t.endsWith(v6)||(A=t.indexOf(k0(34),21),A==-1)?null:(n=(pt(21,A,t.length),t.substr(21,A-21)),e=UA(t,21+n.length+1,t.length-17),A1(n,"arrow")?new lj(e):A1(n,"text")?new BR(e):null);}function HX(t){var e,A,n,P,r,i,f,D;for(ut(t,1),f=h(Ee,PA,6,t.f,15,1),n=h(F,k,6,t.f,15,1),D=0;D<t.f;D++){for(n[0]=D,P=h(F,k,6,t.f,15,1),P[D]=1,A=0,r=0;A<=r;){for(i=0;i<t.j[n[A]];i++)e=t.i[n[A]][i],P[e]==0&&(P[e]=P[n[A]]+1,n[++r]=e,f[D]+=P[e]-1);++A;}f[D]/=r;}return f;}function VX(t){var e,A,n;for(t.n=h(F,k,6,t.j,15,1),t.k=h(F,k,6,t.j,15,1),t.o=h(F,k,6,t.j,15,1),e=0;e<t.i.f;e++)t.b[e]!=0&&(n=t.b[e]-1,t.a!=null&&(t.k[n]+=t.a[e]),t.c!=null&&(t.o[n]+=t.c[e]));for(A=0;A<t.i.g;A++)t.g[A]&&dt(t.i,A)==2&&(t.n[t.b[z(t.i,0,A)]-1]+=2);}function Ms(){Ms=B1,V4=w.Math.cos(m2),I4=w.Math.sin(m2),S4=w.Math.cos(e4),N4=w.Math.sin(e4),vU=w.Math.cos(AA),FU=w.Math.sin(AA),E4=w.Math.cos(oU),x4=w.Math.sin(oU),q4=w.Math.cos(R6),O4=w.Math.sin(R6),w.Math.cos(xC),w.Math.sin(xC);}function EX(t){var e,A,n,P,r;return isNaN(t)?(Xr(),Ac):t<-9223372036854776e3?(Xr(),cE):t>=9223372036854776e3?(Xr(),tc):(P=false,t<0&&(P=true,t=-t),n=0,t>=DP&&(n=vt(t/DP),t-=n*DP),A=0,t>=fP&&(A=vt(t/fP),t-=A*fP),e=vt(t),r=S0(e,A,n),P&&WL(r),r);}function y5(t,e){_r();var A,n,P,r,i;return A=t&qn,i=(t&iP)>>16,P=(t&PP)>>8,n=t&255,r=vt(1/(1-e)),i==0&&P==0&&n==0?A|r<<16|r<<8|r:(i>0&&i<r&&(i=r),P>0&&P<r&&(P=r),n>0&&n<r&&(n=r),A|w.Math.min(vt(i/e),255)<<16|w.Math.min(vt(P/e),255)<<8|w.Math.min(vt(n/e),255));}function SX(t,e){var A,n,P,r,i,f,D,Q,U;for(D=On(t.e),Q=N(D.k,e).length,f=N(D.k,e),U=false,P=0;P<Q;P++)if(t.f[f[P]]==0){U=true;break;}if(U){for(A=(180*Q-360)/Q*.01745329238474369,i=N(D.j,e),r=0;r<Q;r++)Ih(t,i[r],f[r==0?Q-1:r-1],f[r],A);if(Q<=4)for(n=0;n<Q;n++)t.f[f[n]]+=Q;}}function HQ(t,e,A,n){this.b=h(G4,A0,48,2,0,1),this.b[0]=t,this.b[1]=e,this.c=h(yt,wt,6,2,15,1),this.d=h(yt,wt,6,2,15,1),this.c[0]=ru(this.b[0],A),this.d[0]=iu(this.b[0],A),this.c[1]=ru(this.b[1],n),this.d[1]=iu(this.b[1],n),this.a=h(F,k,6,2,15,1),this.a[0]=1,this.a[1]=1;}function qX(t){_r();var e,A,n,P;return P=t.a>>16&255,n=t.a>>8&255,A=t.a&255,e=t.a>>24&255,P==0&&n==0&&A==0?new jL(5,5,5,e):(P>0&&P<5&&(P=5),n>0&&n<5&&(n=5),A>0&&A<5&&(A=5),new jL(w.Math.min(vt(P/xf),255),w.Math.min(vt(n/xf),255),w.Math.min(vt(A/xf),255),e));}function Hs(t,e){P9();var A,n,P,r,i,f,D,Q,U;return e.d>t.d&&(f=t,t=e,e=f),e.d<63?tZ(t,e):(i=(t.d&-2)<<4,Q=IT(t,i),U=IT(e,i),n=xs(t,I9(Q,i)),P=xs(e,I9(U,i)),D=Hs(Q,U),A=Hs(n,P),r=Hs(xs(Q,n),xs(P,U)),r=T2(T2(r,D),A),r=I9(r,i),D=I9(D,i<<1),T2(T2(D,r),A));}function D8(t,e,A,n){var P,r,i,f,D,Q,U,L,s,y;for(P=e.a[A],r=e.a[n],U=D1(e,A,n),L=true,y=(ut(e,7),e.p),s=0;s<y.j.a.length&&L;s++)for(f=N(y.k,s),D=0,Q=f.length;D<Q;++D)if(i=f[D],i==U&&e.b[s]==0){L=false;break;}return dt(e,U)==1&&L&&(rL(t.b,P)&&rL(t.b,r)||vB(t.b,P)&&vB(t.b,r))?1:0;}function tr(t,e){J9();var A,n,P,r;if(isNaN(t))return "NaN";if(!isNaN(t)&&!isFinite(t))return "Infinity";if(t==0)return "0";for(P=1,n=1;n<e;n++)P*=10;for(r=P*10,A=0;w.Math.abs(t)+.5<P;)t*=10,--A;for(;w.Math.abs(t)+.5>=r;)t/=10,++A;return La(E1(t+(t<0?-0.5:.5)),A,e);}function IX(t){var e,A,n,P,r,i;for(n=0,r=0;r<t.e.length;r++)for(e=t.e[r],A=Mt(t.j,e),i=0;i<A;i++)_(t.j,e,i)>e&&++n;for(t.f=h(F,k,6,n,15,1),t.g=h(F,k,6,t.j.q,15,1),n=0,P=0;P<t.e.length;P++)for(e=t.e[P],A=Mt(t.j,e),t.g[e]=P,i=0;i<A;i++)_(t.j,e,i)>e&&(t.f[n++]=Ot(t.j,e,i));}function xX(t){for(var e,A,n,P,r,i;;){for(r=h(rt,ft,6,t.U+1,16,1),n=-1,A=0;A<t.R.f;A++)gQ(t.R,A)!=0&&(r[t.f[A]]&&n<t.f[A]&&(n=t.f[A]),r[t.f[A]]=true);if(n==-1)break;for(P=0,e=0;e<t.R.f;e++)i=0,t.f[e]==n&&(i=++P),$e(t.e[e],e),_1(t.e[e],t.c,t.f[e]),_1(t.e[e],8,i);t.U=Wn(t);}}function Ib(t,e){var A,n,P,r,i;if(t.q==0)return null;for(n=t.J[0].a,r=t.J[0].b,P=t.J[0].a,i=t.J[0].b,A=1;A<t.q;A++)n>t.J[A].a?n=t.J[A].a:P<t.J[A].a&&(P=t.J[A].a),r>t.J[A].b?r=t.J[A].b:i<t.J[A].b&&(i=t.J[A].b);return e?(e.c=n,e.d=r,e.b=P-n,e.a=i-r):e=new QA(n,r,P-n,i-r),e;}function xb(t,e,A){var n,P,r,i;for(i=1,P=0;P<t.g.q;P++)t.i[3*P]=kt(t.g,P),t.i[3*P+1]=jt(t.g,P),t.i[3*P+2]=vA(t.g,P);if(i=da(t,e,A),i==0)for(n=0;n<t.g.q;n++)Be(t.g,n,t.i[3*n]),Ie(t.g,n,t.i[3*n+1]),hP(t.g,n,t.i[3*n+2]);for(r=new Wt(t.c);r.a<r.c.a.length;)t1(r),null.vd();return i;}function NX(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y;for(r=false,P=0;P<2;P++)if(A=z(t.g,P,e),U=t.G[A],O(t.H,U)>2){for(s=z(t.g,1-P,e),D=It,f=0;f<O(t.g,A);f++)n=_(t.g,A,f),n!=s&&D>n&&(D=n);for(y=t.G[s],Q=It,i=0;i<O(t.H,U);i++)L=_(t.H,U,i),L!=y&&Q>L&&(Q=L);t.G[D]!=Q&&(r=!r);}return r;}function OX(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y;for(Q=new Wt(e);Q.a<Q.c.a.length;)if(D=t1(Q),D.rd()==1){for(f=D.f,L=t,s=0,y=L.length;s<y;++s){if(U=L[s],U==-1)return  false;for(A=false,P=f,r=0,i=P.length;r<i;++r)if(n=P[r],U==n){A=true;break;}if(!A)return  false;}return  true;}return  false;}function GX(t,e,A,n,P){var r,i,f,D,Q,U,L;if(A)return aW(e,n[1],n[2]);for(Q=R1(rt,[h0,ft],[12,6],16,[2,e.q],2),i=h(F,k,6,2,15,1),f=0;f<2;f++)i[f]=SQ(e,n[1+f],P[f],Q[f],null,null);for(L=i[0]<i[1]?0:1,U=h(F,k,6,i[L],15,1),D=0,r=0;r<e.q;r++)Q[L][r]&&(U[D++]=r);return t.a=L==1,U;}function Nb(t,e){var A,n,P,r,i,f;for(P=0;P<t.b;P++)if(t.e[P][e]&&t.c[P]!=-3){for(n=0;n<=t.j.g.length;n++)if(n!=e&&t.e[P][n])for(t.e[P][e]=false,f=P<t.a?P:P<t.b?P-t.a:-1,i=ix(t,P<t.a?1:P<t.b?2:0),r=0;r<t.j.g[e].length;r++)A=t.j.g[e][r],DT(t.j,A)&&t.j.j[A]==f&&(t.j.j[A]=i<<24>>24);}}function hf(t){var e,A,n,P,r;for(r=new V0(),P=t.length,n=0;n<P;n++)switch(e=Lk(t,n,t.length),A=e&w1,e){case 38:r.a+="&amp;";break;case 60:r.a+="&lt;";break;case 62:r.a+="&gt;";break;case 34:r.a+="&quot;";break;case 39:r.a+="&apos;";break;default:r.a+=String.fromCharCode(A);}return r.a;}function JX(t){var e,A,n,P;for(e=0;e<t.k.f;e++)if(K(t.k,e)==7&&p1(t.k,e)==0&&G1(t.k,e)>3&&a1(t.k,e)>0){for(P=0;P<O(t.k,e);P++)if(A=_(t.k,e,P),n=Ot(t.k,e,P),dt(t.k,n)>1&&tA(t.k,A)){l1(t.k,n)==4?w0(t.k,n,2):w0(t.k,n,1),E0(t.k,e,p1(t.k,e)+1),E0(t.k,A,p1(t.k,A)-1),XA(t.k,e,-1);break;}}}function zX(t,e){var A,n,P,r,i,f;for(r=t.indexOf(e+"=(")+e.length+2,i=t.indexOf(k0(41),r),P=ne(t,r),A=c1((pt(r,P,t.length),t.substr(r,P-r)),o1,It),f=h(F,k,6,A,15,1),n=0;n<A;n++)r=lA(t,P),P=ne(t,r),(P==-1||P>i)&&(P=i),f[n]=c1((pt(r,P,t.length),t.substr(r,P-r)),o1,It);return f;}function Ob(t,e){var A;if(A=0,e<t.g&&(S8(t.p,e)||t.H[e]==8)||t.H[e]==8)A|=8;else switch(dt(t,e)){case 0:A|=16;break;case 1:A|=1;break;case 2:A|=2;break;case 3:A|=4;break;case 4:A|=32;break;case 5:A|=64;}return (t.F[e]&64)!=0?A|=256:t.K||(A|=128),e<t.g&&Re(t.p,e)?A|=qA:t.K||(A|=fP),A;}function Gb(t,e,A,n,P){var r;if(U2(e,A,n,P,3))return 60;if(U2(e,A,n,P,4))return 90;switch(r=e.a[n],mn(t.a.b,r)){case 2:if(e.C[n]==8)return 105;if(zD(t.a.b,r))return 180;break;case 3:if(e8(t.a.b,r)==3&&HA(t.a.b,r)==0)return e.C[n]==7?107:92;break;case 4:return 109.45;}return 120;}function YX(t,e,A){var n,P,r,i,f,D,Q,U;for(n=false,D=0;D<e.j.a.length;D++)if(N(e.k,D).length==6){for(f=true,Q=N(e.j,D),U=N(e.k,D),r=0;r<6;r++)if(!yf(t,Q[r],false)||!t.e[U[r]]){f=false;break;}if(f){if(A)for(i=0;i<6;i++)yf(t,Q[i],true);for(P=0;P<6;P+=2)n2(t,U[P]);n=true;break;}}return n;}function _1(t,e,A){t.b==0&&(++t.c,t.b=63),t.b==63?(t.d[t.c]=Y(t.d[t.c],A),t.b-=e):t.b>=e?(t.d[t.c]=M1(t.d[t.c],e),t.d[t.c]=Y(t.d[t.c],A),t.b-=e):(t.d[t.c]=M1(t.d[t.c],t.b),t.d[t.c]=Y(t.d[t.c],q0(A,e-t.b)),e-=t.b,++t.c,t.b=63-e,t.d[t.c]=Y(t.d[t.c],V(A,(1<<e)-1)));}function Jb(t,e,A,n){var P,r,i,f;if(n==1&&!Ph(t,e)){if(O(t.b,e)==3)return  -1;if(O(t.b,e)==3)return P=Jm(t,e,A),R0(t.b,P[0])==R0(t.b,P[1])?P[2]:R0(t.b,P[0])==R0(t.b,P[2])?P[1]:P[0];}for(i=-1,f=-1,r=0;r<O(t.b,e);r++)P=_(t.b,e,r),P!=A&&i<R0(t.b,P)&&(i=R0(t.b,P),f=P);return f;}function zb(t){var e,A,n,P,r,i,f,D;for(t.c=0,A=new f1(),P=1;P<t.e.length;P++)for(r=0;r<P;r++)f=w.Math.abs(t.a[P]-t.a[r]),D=w.Math.abs(t.b[P]-t.b[r]),n=w.Math.sqrt(f*f+D*D),n<.8&&(e=h(F,k,6,2,15,1),e[0]=t.e[P],e[1]=t.e[r],A.a.push(e)),i=1-w.Math.min(n,1),t.c+=i*i;return A;}function KX(t){var e;return e=new uD(),mt(e.a,new We("The polar surface area prediction is based on an atom-type based",2)),mt(e.a,new We("increment system, published by P. Ertl, B. Rohde, P. Selzer",2)),mt(e.a,new We("in J. Med. Chem. 2000, 43, 3714-3717",2)),mt(e.a,new We(A4,2)),oJ(t,e),e;}function XX(t){var e,A,n,P,r,i,f;for(f=t.T&248,ut(t,1),i=h(F,k,6,t.f,15,1),A=0;A<t.f;A++)i[A]=xt(t,A);for(n=0;n<i.length;n++)if(i[n]!=0)for(r=0;r<i[n];r++)O0(t,n,W9(t,1),1);for(ut(t,1),P=.8*wP(t,t.q,t.r,(Y1(),wn)),e=0;e<i.length;e++)i[e]!=0&&t$(t,e,i[e],P);(f&8)!=0&&(t.T|=248&(8|f));}function Yb(t){var e,A,n,P;for(P=false,A=0;A<t.q;A++)gt(V(t.B[A],Pe),0)&&(t.C[A]=-1,P=true);for(P&&Pi(t),t.v!=null&&(t.v=null,P=true),e=0;e<t.q;e++)gt(t.B[e],0)&&(t.B[e]=0,P=true);for(n=0;n<t.r;n++)t.G[n]!=0&&(t.G[n]=0,P=true),t.H[n]==8&&(t.H[n]=1,P=true);return P&&(t.T=0),P;}function ZX(t,e,A,n,P){var r,i,f,D,Q,U,L,s;for(i=h(F,k,6,P,15,1),r=0;r<t.f.q;r++){for(D=0;D<Mt(t.f,r);D++){for(s=A[_(t.f,r,D)],Q=0;Q<D&&!(s<i[Q]);Q++);for(U=D;U>Q;U--)i[U]=i[U-1];i[Q]=s;}for(L=Mt(t.f,r),$e(e[r],r),_1(e[r],n,A[r]),_1(e[r],(P-L)*(n+1),0),f=0;f<L;f++)_1(e[r],n+1,i[f]);}}function Kb(t,e){var A,n;for(this.b=h(G4,A0,48,2,0,1),this.b[0]=t,this.b[1]=e,this.c=h(yt,wt,6,2,15,1),this.d=h(yt,wt,6,2,15,1),this.a=h(F,k,6,2,15,1),A=0;A<2;A++){for(n=0;n<this.b[A].e.length;n++)this.c[A]+=ru(this.b[A],n),this.d[A]+=iu(this.b[A],n);this.a[A]=this.b[A].e.length;}}function WX(t,e){var A,n,P,r;this.a=new y3((n=ky,n)),ut(t,15),r=(x1(),$A),this.b=e,P=t.P!=null?t.P:"",J(this.b,P+r),J(this.b,"Actelion Java MolfileCreator 2.0"+r+r),J(this.b,"  0  0  0  0  0  0              0 V3000"+r),this.c=1,A=Fz(t),A&&(this.c=wX(t)),cp(this,t,A),J(this.b,D9+r);}function _X(t,e){var A,n,P;if(A=z(t.R,0,e),A>=t.R.f)return  false;if(t.db[A]==1||t.db[A]==2)return  true;if(t.db[A]==3)return  false;if(n=Us(t.R,A),n!=-1)return t.o[n]==1||t.o[n]==2;for(P=0;P<O(t.R,A);P++)if(pA(t.R,A,P)==2&&(t.db[_(t.R,A,P)]==1||t.db[_(t.R,A,P)]==2))return  true;return  false;}function l5(t,e,A,n,P){var r,i,f,D,Q;for(t.K=t.K|e.K,i=h(F,k,6,e.q,15,1),D=$0(t,1),Q=$0(t,2),r=0;r<A;r++)(P||P0(V(e.B[r],Pe),0))&&(i[r]=En(e,t,r,D,Q));for(f=0;f<n;f++)(P||!Qe(e,e.D[0][f])&&!Qe(e,e.D[1][f]))&&er(e,t,f,D,Q,i[e.D[0][f]],i[e.D[1][f]],false);return t.L=t.L&&e.L,t.I=0,t.T=0,i;}function $X(t,e,A){var n,P;if(e<3||(n=e-1,(t[n]==43||t[n]==45)&&--n,!Zn(t[n]&w1))||(--n,t[n]!=68&&t[n]!=82&&t[n]!=88&&t[n]!=122))return  false;for(A[0]=0;n>0&&dB(t[n-1]);)--n,++A[0];for(P=e+1;dB(t[n]);){if(t.length<=P||t[n]!==t[P])return  false;++n,++P;}return  true;}function aX(t,e){var A,n,P,r,i,f,D,Q,U;return Q=t.e,Q==0?(ke(),y9):(n=t.d,A=t.a,n==1?(P=Un(V(A[0],h1),V(e,h1)),D=zt(P),i=zt(DA(P,32)),i==0?new mA(Q,D):new Ue(Q,2,B(d(F,1),k,6,15,[D,i]))):(f=n+1,r=h(F,k,6,f,15,1),r[n]=Qs(r,A,n,e),U=new Ue(Q,f,r),Rn(U),U));}function tZ(t,e){var A,n,P,r,i,f,D,Q,U,L,s;return n=t.d,r=e.d,f=n+r,D=t.e!=e.e?-1:1,f==2?(U=Un(V(t.a[0],h1),V(e.a[0],h1)),s=zt(U),L=zt(DA(U,32)),L==0?new mA(D,s):new Ue(D,2,B(d(F,1),k,6,15,[s,L]))):(A=t.a,P=e.a,i=h(F,k,6,f,15,1),yJ(A,n,P,r,i),Q=new Ue(D,f,i),Rn(Q),Q);}function Xb(t,e){var A,n,P,r,i;if(n=e>>5,e&=31,n>=t.d)return t.e<0?(ke(),uc):(ke(),y9);if(r=t.d-n,P=h(F,k,6,r+1,15,1),$k(P,r,t.a,n,e),t.e<0){for(A=0;A<n&&t.a[A]==0;A++);if(A<n||e>0&&t.a[A]<<32-e!=0){for(A=0;A<r&&P[A]==-1;A++)P[A]=0;A==r&&++r,++P[A];}}return i=new Ue(t.e,r,P),Rn(i),i;}function eZ(t,e){var A,n,P,r,i,f,D;for(P=h(rt,ft,6,t.L.q,16,1),n=0;n<t.L.r;n++)V3(t.L,n)&&(P[z(t.L,0,n)]=true,P[z(t.L,1,n)]=true);for(i=new nD(),A=0;A<t.L.q;A++)r=Qe(t.L,A)?e*.47:P[A]?e*.38:0,r!=0&&(f=Z1(t.R,kt(t.L,A)),D=X1(t.R,jt(t.L,A)),i.c=f-r,i.d=D-r,i.b=r*2,i.a=r*2,t.v=dQ(t.v,i));}function AZ(t){var e,A,n,P;for(P=new V0(),A=0;A<t.g.a.length;A++)A!=0&&(P.a+="."),J(P,Ru(new hD(N(t.g,A),2)));for(P.a+=">",n=0;n<t.a.a.length;n++)n!=0&&(P.a+="."),J(P,Ru(new j7(N(t.a,n))));for(P.a+=">",e=0;e<t.f.a.length;e++)e!=0&&(P.a+="."),J(P,Ru(new hD(N(t.f,e),2)));return P.a;}function Zb(t,e){bk(),this.n=t,this.a=e,this.i=U6(this.a._,D4),IG(this.i),this.g=U6(this.a._,D4),Lz(this.g),this.o=2*v8+DF(xo(this.i)/4|0),this.e=2*v8+DF(Oo(this.i)/4|0),this.c=U6(this.a._,TV),this.j=(de==-1&&(de=globalThis.devicePixelRatio||1),4/de),this.b=5,this.k=-1,this.f=-1,this.a.db=this;}function nZ(t,e,A,n,P){if(!_j(t,e,P))return  false;if(t.s==null)t.t=new NQ(e),$U(t.t,t.v),d5(t.t,t.o,-1);else {switch(t.b=new Ji(new AD()),A){case 2:t.B=new VL(t,false,t.o);break;case 3:t.B=new VL(t,true,t.o);break;case 4:t.B=new fT(t,t.o);break;case 1:t.B=new Bb(t);}$g(t.B,n);}return  true;}function U2(t,e,A,n,P){var r,i,f,D,Q,U,L,s;if(s=(ut(t,7),t.p),Q=new QD(),aP(Q,k1(e)),aP(Q,k1(A)),aP(Q,k1(n)),D1(t,e,A)>=0&&D1(t,A,n)>=0){for(U=0;U<s.j.a.length;U++)if(N(s.k,U).length==P){for(L=new QD(),i=N(s.j,U),f=0,D=i.length;f<D;++f)r=i[f],aP(L,k1(r));if(AQ(L,Q))return  true;}}return  false;}function Wb(t,e,A,n){var P,r,i,f,D,Q,U,L,s;for(ut(t,1),r=0;r<t.q;r++)e[r]=-1;for(Q=0,P=0;P<t.q;P++)if(e[P]==-1){for(e[P]=Q,U=h(F,k,6,t.q,15,1),U[0]=P,D=0,L=0;D<=L;){for(f=n?t.i[U[D]].length:t.e[U[D]],s=0;s<f;s++)i=t.i[U[D]][s],e[i]==-1&&!A[t.k[U[D]][s]]&&(U[++L]=i,e[i]=Q);++D;}++Q;}return Q;}function _b(t){var e,A,n;if(t.K)for(ut(t,7),e=0;e<t.g;e++)n=$r(t.G[e]&127),(e<t.g&&(S8(t.p,e)||t.H[e]==8))&(t.G[e]&8)!=0&&(t.G[e]&=-9,--n),n!=0&&(A=t.H[e]&127,A==1?t.G[e]|=1:A==2?t.G[e]|=2:A==4?t.G[e]|=4:A==32?t.G[e]|=32:A==64?t.G[e]|=64:A==16?t.G[e]|=16:A==8&&(t.G[e]|=8));}function T5(t,e,A,n,P,r,i,f,D){var Q,U,L,s,y;return s=n<BU.length&&BU[n]?w.Math.min(3,r):0,y=P<BU.length&&BU[P]?w.Math.min(3,i):0,f=w.Math.min(7,f),D=w.Math.min(7,D),Q=f+(s<<3)+(w.Math.min(127,n)<<5),U=D+(y<<3)+(w.Math.min(127,P)<<5),L=A?8:e?8+t:t,(L<<24)+(Q<U?(Q<<12)+U:(U<<12)+Q);}function $b(t,e){var A,n,P,r,i,f;if(dt(t,e)!=1)return  false;for(r=0;r<2;r++){for(A=t.D[r][e],f=t.D[1-r][e];t.o[A]==2&&t.j[A]==2&&t.C[A]<10;)for(i=0;i<2;i++)if(n=t.i[A][i],n!=f){if(t.j[n]==1||(P=t.k[A][i],dt(t,P)==1&&P<e))return  true;f=A,A=n;break;}if(t.j[A]==1)return  true;}return  false;}function ab(t,e,A,n,P){var r,i,f,D,Q,U,L,s,y;for(y=h(rt,ft,6,n.length,16,1),f=t,Q=0,L=f.length;Q<L;++Q)if(r=f[Q],e[r]==0){if(n[A[r]]||y[A[r]])return  false;y[A[r]]=true;}for(s=-1,i=t,D=0,U=i.length;D<U;++D)if(r=i[D],e[r]==0){if(s==-1)s=P[r];else if(P[r]!=s)return  false;}return  true;}function tR(t,e,A,n){var P,r;if(e){if(P=t.a.Rb(A.c,e.c),P==0)return n.d=hd(e,A.d),n.b=true,e;r=P<0?0:1,e.a[r]=tR(t,e.a[r],A,n),zP(e.a[r])&&(zP(e.a[1-r])?(e.b=true,e.a[0].b=false,e.a[1].b=false):zP(e.a[r].a[r])?e=_u(e,1-r):zP(e.a[r].a[1-r])&&(e=zB(e,1-r)));}else return A;return e;}function eR(t,e,A,n,P){var r,i,f;return r=A==-1?w.Math.abs(P[e].a-P[t.B[0]].a)/8:w.Math.abs(P[e].a-P[A].a),n<r&&(n=r),i=A==-1?w.Math.abs(P[e].b-P[t.B[0]].b)/8:w.Math.abs(P[e].b-P[A].b),n<i&&(n=i),t.jb&&(f=A==-1?w.Math.abs(P[e].c-P[t.B[0]].c)/8:w.Math.abs(P[e].c-P[A].c),n<f&&(n=f)),n;}function AR(t,e,A,n,P){var r,i,f,D,Q,U;if(e==A)return 0;for(t.$b(1),D=h(F,k,6,t.q,15,1),f=h(F,k,6,t.q,15,1),f[0]=e,D[e]=1,i=0,Q=0;i<=Q&&D[f[i]]<=n;){for(U=0;U<t.e[f[i]];U++){if(r=t.i[f[i]][U],r==A)return D[f[i]];D[r]==0&&(P==null||P.length<=r||!P[r])&&(f[++Q]=r,D[r]=D[f[i]]+1);}++i;}return  -1;}function PZ(t,e,A){var n,P,r,i,f;return r=XJ(e,A),r==-1?-1:(P=(n=ne(e,r+1),n==-1?e.length:n),i=(pt(A,r,e.length),e.substr(A,r-A)),f=(pt(r+1,P,e.length),e.substr(r+1,P-(r+1))),(f.startsWith("(")&&f.endsWith(")")||f.startsWith('"')&&f.endsWith('"'))&&(f=UA(f,1,f.length-1)),ze(t,i,f),lA(e,P));}function eA(t,e){var A;return U1(e),A=2-t.e,A==0?t:A>0?A<di.length&&t.a+dl[vt(A)]<54?new a3(t.f*di[vt(A)]):new pD(GN((!t.c&&(t.c=kP(E1(t.f))),t.c),vt(A)),2):t.a<54&&-A<di.length?_Y(t.f,di[vt(-A)],e):f$((!t.c&&(t.c=kP(E1(t.f))),t.c),ii(-A),e);}function h5(t,e){oo();var A,n,P,r,i;for(P=0;P<t.q;P++)for(i=Xn(t),K0(i,P,H4),ut(i,15),n=0;n<i.f;n++)(i.u[n]&Tn)!=0&&pQ(i,n)==-1&&(r=(ut(i,7),i.o[n]==2&&i.j[n]==2?ib(i,n):Ns(i,n,false)),r!=-1&&(t.H[r]=257,t.T=0,t.D[1][r]==n&&(A=t.D[0][r],t.D[0][r]=n,t.T=0,t.D[1][r]=A,t.T=0),He(t,n,e,0)));}function rZ(t,e,A,n,P,r){i8();var i,f,D,Q,U,L,s,y,l,T,c;for(s=t.o,i=h(rt,ft,6,s.q,16,1),Q=h(F,k,6,s.q,15,1),Q[0]=e,i[e]=true,l=A,T=0,c=l.length;T<c;++T)y=l[T],i[y]=true;for(wf(t,e,n,P,r),D=0,U=0;D<=U;){for(L=0;L<s.e[Q[D]];L++)f=s.i[Q[D]][L],i[f]||(i[f]=true,Q[++U]=f,wf(t,f,n,P,r));++D;}}function iZ(t){var e,A,n,P;if(t.g.K)for(e=0;e<t.g.r;e++)n=ee(t.g,e),(n&127)!=0&&(A=-1,P=0,(n&16)!=0&&(A=16,++P),(n&64)!=0&&(A=64,++P),(n&32)!=0&&(A=32,++P),(n&4)!=0&&(A=4,++P),(n&2)!=0&&(A=2,++P),(n&8)!=0&&(A=8,++P),(n&1)!=0&&(A=1,++P),A!=-1&&(w0(t.g,e,A),P==1&&Ge(t.g,e,127,false)));}function nR(t,e,A,n,P){var r,i,f,D,Q,U;if(ut(t,7),!((t.u[e]&hn)==0||A&&!(e<t.f&&i0(t.p,e))))for(D=h(F,k,6,t.f,15,1),D[0]=e,n[e]=true,f=0,Q=0;f<=Q;){for(U=0;U<t.j[D[f]];U++)i=t.k[D[f]][U],!P[i]&&(t.F[i]&64)!=0&&(!A||i<t.g&&Re(t.p,i))&&(P[i]=true,r=t.i[D[f]][U],n[r]||(n[r]=true,D[++Q]=r));++f;}}function cf(t,e,A,n,P,r){var i,f,D,Q,U,L;for(t.a[A]=e<<16>>16,t.c[A]=t.c[A]+t.c[n]<<16>>16,t.d[A][0]=P<<16>>16,t.d[A][1]=r<<16>>16,L=t.a.length-1,D=h(Yt,at,6,L,15,1),Q=h(Yt,at,6,L,15,1),U=h(Yt,te,16,L,0,2),f=0,i=0;i<t.a.length;i++)i!=n&&(D[f]=t.a[i],Q[f]=t.c[i],U[f]=t.d[i],++f);t.a=D,t.c=Q,t.d=U;}function A9(t){var e;switch(e=-1,t.w){case 18:e=9;break;case 2:t.t!=-1&&r0(t.V,t.t)||t.u!=-1&&mP(t.V,t.u)?e=t.W?4:t.Z?3:2:t.t!=-1||t.u!=-1?e=11:t.v?e=t.W?4:t.Z&&!Zt(t.v,62)?3:2:e=t.Z?t.d?8:6:t.d?7:5;break;case 4:e=1;break;case 22:e=0;break;case 21:e=12;break;default:e=11;}t.s!=e&&(t.s=e,Yd(t._,e));}function wf(t,e,A,n,P){var r,i,f,D,Q,U,L,s,y;L=n.a,s=n.b,y=n.c,r=w.Math.cos(P),Q=w.Math.sin(P),U=1-r,i=t.k[e].a-A.a,f=t.k[e].b-A.b,D=t.k[e].c-A.c,eo(t,e,A.a+(U*L*L+r)*i+(U*L*s+Q*y)*f+(U*L*y-Q*s)*D),Ao(t,e,A.b+(U*L*s-Q*y)*i+(U*s*s+r)*f+(U*s*y+Q*L)*D),no(t,e,A.c+(U*L*y+Q*s)*i+(U*y*s-Q*L)*f+(U*y*y+r)*D);}function fZ(t,e){var A,n,P,r,i,f,D,Q;for(Q=new f1(),A=0;A<e.q;A++)if(n=e.a[A],!(e.e[A]<=1&&zD(t.b,n)))for(r=0;r<e.e[A];r++)for(f=e.i[A][r],i=0;i<e.e[A];i++)D=e.i[A][i],!(f>D)&&CJ(t,e,f,A,D)&&(P=new mk(t,e,f,A,D),(w.Math.abs(P.d)>LU||w.Math.abs(P.e)>LU)&&Q.a.push(P));return Q;}function DZ(t,e,A,n,P){var r,i,f,D,Q,U,L;switch(r=e.a[A],i=e.a[P],Q=D8(t,e,A,n),L=D8(t,e,n,P),D=r<=i?Q:L,U=r<i?L:Q,f=dm(t,e,A,n,P),f){case 1:return D>0||D==U?1:2;case 2:return 3;case 3:return 5;case 4:return 4;case 5:return D>0||D==U?6:7;case 6:return 8;case 7:return D>0||D==U?9:10;case 8:return 11;}return 0;}function uZ(t,e){var A,n,P;if(t.c)return 3;for(P=new Wt(t.e);P.a<P.c.a.length;)n=t1(P),n.a!=iU&&n.a!=It&&(n.a=e[n.a]);switch(A=false,t.e.a.length){case 2:if(N(t.e,0).a>=iU||N(t.e,1).a>=iU)return 3;A=_z(t,e);break;case 3:mt(t.e,new Z3(t,It,t.b));case 4:A=bz(t);break;default:return 3;}return t.d^A?1:2;}function PR(t,e,A){var n,P;if(dt(t,e)!=1)return  false;if((t.u[A]&3)!=0)return  true;for(P=0;P<t.r;P++)if(P!=e&&t.H[P]==2&&(t.D[0][P]==A&&(t.u[t.D[1][P]]&3)!=0||t.D[1][P]==A&&(t.u[t.D[0][P]]&3)!=0))return  true;for(n=0;n<t.r;n++)if(n!=e&&t.H[n]==1&&(t.D[0][n]==A||t.D[1][n]==A)&&(t.F[n]&3)!=0)return  true;return  false;}function QZ(t){var e,A,n,P;for(n=0;n<t.i.r;n++)for(P=0;P<2;P++)e=z(t.i,P,n),A=z(t.i,1-P,n),K(t.i,e)==1&&ye(t.i,e)>1&&K(t.i,A)>1&&t.b[A]!=0&&(ye(t.i,e)==2?(t.a==null&&(t.a=h(F,k,6,t.i.q,15,1)),++t.a[A]):(t.c==null&&(t.c=h(F,k,6,t.i.q,15,1)),++t.c[A]),Zw(t.i,e));(t.a!=null||t.c!=null)&&Pi(t.i);}function UZ(t){var e,A,n,P,r,i,f,D,Q;if(t.b){for(e=h(F,k,6,t.F.a.length,15,1),n=0;n<e.length;n++)for(e[n]=n,r=N(t.a,n),i=0,f=r.length;i<f;++i)P=r[i],P&&(e[n]+=Q0);for(e.sort(Fe(u0.prototype.gd,u0,[])),Q=new f1(),D=new f1(),A=0;A<e.length;A++)mt(Q,N(t.F,e[A]&w1)),mt(D,N(t.a,e[A]&w1));t.F=Q,t.a=D;}}function oZ(t){return t.t!=-1?(wQ(t.V,t.t),t.t=-1,t.eb=w.Math.max(t.eb,1),n1(t.k),N1(t,new q1(t,1,true)),true):t.u!=-1?(Zh(t.V,t.u),t.u=-1,t.eb=w.Math.max(t.eb,1),n1(t.k),N1(t,new q1(t,1,true)),true):t.v&&!t.v.j?(Z8(t.I,t.v),t.v=null,t.eb=w.Math.max(t.eb,1),n1(t.k),true):false;}function LZ(t,e){var A,n,P,r;for(P=2+2*w.Math.sqrt(t.d.q),n=0;n<t.d.q;n++)Mt(t.d,n)!=1&&(eo(e,n,P*jn(t.f)-P/2),Ao(e,n,P*jn(t.f)-P/2),no(e,n,P*jn(t.f)-P/2));for(A=0;A<t.d.q;A++)Mt(t.d,A)==1&&(r=_(t.d,A,0),eo(e,A,e.k[r].a+4*jn(t.f)-2),Ao(e,A,e.k[r].b+4*jn(t.f)-2),no(e,A,e.k[r].c+4*jn(t.f)-2));po(e);}function sZ(t,e,A){var n,P,r,i;if(n=A[t.a],P=A[t.b],t.i==(t9(),yl))return O0(e,n,P,t.g),true;if(r=D1(e,n,P),t.i==Ll)return w0(e,r,t.g),true;if(t.i==sl){if(i=dt(e,r)+t.f,i>=0&&i<=3)return w0(e,r,(Y1(),i==0?16:i==1?1:i==2?386:i==3?4:i==4?32:64)),true;}else if(t.i==ll)return e.H[r]=512,true;return  false;}function c5(t,e,A,n){var P;switch(P=A/2,n&m1){case m1:if(e){t.w.a=e.c+e.b/2,t.w.b=e.d+e.a-P;break;}case 0:t.w.a=t.v.c+t.v.b/2,t.w.b=t.v.d+t.v.a+P,e&&t.w.b>e.d+e.a-P&&(t.w.b=e.d+e.a-P);break;case l8:if(e){t.w.a=e.c+e.b/2,t.w.b=e.d+P;break;}case T8:t.w.a=t.v.c+t.v.b/2,t.w.b=t.v.d-P,e&&t.w.b<e.d+P&&(t.w.b=e.d+P);}}function rR(t,e){var A,n;for(this.k=h(o9,or,26,t.g.a.length+t.f.a.length,0,1),n=0;n<t.g.a.length+t.f.a.length;n++)this.k[n]=n<t.g.a.length?N(t.g,n):N(t.f,n-t.g.a.length);for(this.n=t.g.a.length,this.a=h(o9,or,26,t.a.a.length,0,1),A=0;A<t.a.a.length;A++)this.a[A]=N(t.a,A);this.o=false,this.c=1,this.g=e,Fs(this);}function yZ(t,e){var A,n,P,r,i,f,D,Q;for(Q=On(t.H),f=0;f<Q.j.a.length;f++)if(Af(Q,f,e)){for(D=h(F,k,6,2,15,1),P=0;P<2;P++)for(D[P]=It,n=z(t.H,P,e),r=0;r<O(t.H,n);r++)A=_(t.H,n,r),A!=z(t.H,1-P,e)&&D[P]>A&&(D[P]=A);return i=0,yA(Q,f,D[0])&&++i,yA(Q,f,D[1])&&++i,i==2?2:i==1?1:2;}return 0;}function iR(t,e,A,n){var P,r,i,f,D,Q,U,L,s;for(L=A[n],i=A[n+1]-L,s=h(Dtt,A0,175,i,0,1),D=0;D<i;D++)s[D]=new H0(),s[D].c=t[D+L],s[D].b=e[D+L],s[D].a=D+L;for(P=new N0(),U=n;U>1;U--){for(Q=0;Q<i;Q++)s[Q].c+=t[s[Q].b]<<16,s[Q].b=e[s[Q].b];for(Wi(s,0,s.length,P),r=1,f=0;f<i;f++)t[s[f].a]=r,f!=i-1&&oB(s[f],s[f+1])!=0&&++r;}}function lZ(t){var e,A,n,P,r,i;if(t.R.f==0){t.N="";return;}for(r=0,n=false,P=false,A=0;A<t.R.f;A++)r<C1(t.R,A)&&(r=C1(t.R,A)),Bn(t.R,A)?n=true:P=true;if(r==0){t.N="";return;}for(i=J8(r),_3(t,true),Jt(t,i,4),Jt(t,n?1:0,1),Jt(t,P?1:0,1),e=0;e<t.R.f;e++)Jt(t,C1(t.R,t.B[e]),i),n&&P&&Jt(t,Bn(t.R,t.B[e])?1:0,1);t.N=ML(t);}function w5(t,e,A,n){var P,r,i;for(P=0;P<2;P++)if(r=t.i[A[1]][P],r!=A[0])return r==e||(i=t.k[A[1]][P],A[0]=A[1],A[1]=r,t.j[r]==1)?false:(n!=null&&(t.u[A[0]]&I0)==0&&(t.u[A[1]]&I0)==0&&(n[0]=w.Math.max(n[0],i)),t.j[r]==2&&t.o[r]==2&&t.C[r]<=7?w5(t,e,A,n):true);return  false;}function TZ(t){var e;for(t.S=h(rt,ft,6,t.R.f,16,1),e=0;e<t.R.f;e++)if(K(t.R,e)==7){if(O(t.R,e)==4){t.S[e]=true;continue;}if(O(t.R,e)==3){if(M9(t.R,e)==3){t.S[e]=true;continue;}if(p1(t.R,e)==1){t.S[e]=true;continue;}if(EP(t.R,e,true))continue;if((t.Q&32)!=0){t.S[e]=true;continue;}if(Ss(t.R,e)){t.S[e]=true;continue;}}}}function Vs(t){var e,A,n,P,r,i;for(P8.call(this),i=t&&t.g?t.g.a.length:0,r=t&&t.f?t.f.a.length:0,e=t&&t.a?t.a.a.length:0,n=0;n<i;n++)mt(this.g,new Yr(N(t.g,n)));for(P=0;P<r;P++)mt(this.f,new Yr(N(t.f,P)));for(A=0;A<e;A++)mt(this.a,new Yr(N(t.a,A)));this.b=new us(t.b),t.e!=null&&(this.e=t.e),this.c=t.c||cQ(t);}function hZ(t,e,A,n,P){var r,i,f,D,Q,U,L,s;for(s=0,L=-1,i=0;i<t.j.f;i++){U=N(e.g,s),ut(U,1);do++L==U.f&&(L=0,U=dr(e,++s));while(U.K&&gt(V(U.B[L],Pe),0));Ze(U,L,A[i],A[i]<=P);}for(Q=0,D=-1,r=0;r<t.d.f;r++){f=N(e.f,Q),ut(f,1);do++D==f.f&&(D=0,f=w3(e,++Q));while(f.K&&gt(V(f.B[D],Pe),0));Ze(f,D,n[r],n[r]<=P);}}function fR(t){var e,A,n,P,r;if(t.l==0&&t.m==0&&t.h==0)return "0";if(t.h==l8&&t.m==0&&t.l==0)return "-9223372036854775808";if(t.h>>19!=0)return "-"+fR(Wr(t));for(A=t,n="";!(A.l==0&&A.m==0&&A.h==0);){if(P=cL(Of),A=G5(A,P,true),e=""+E7(In),!(A.l==0&&A.m==0&&A.h==0))for(r=9-e.length;r>0;r--)e="0"+e;n=e+n;}return n;}function cZ(t,e){var A,n,P,r;if(!ol)return 0;if(Xf[e].bc(me(new BA(t)))!=-1)return 3;for(r=new jD(1),A=new JA(),P=0;P<L9[e].a.length;P++)if(u2(new GA(false),A,N(L9[e],P)),Dn(r,t),Ln(r,A),sn(r,1,r.c)>0)return 3;for(n=0;n<s9[e].a.length;n++)if(u2(new GA(false),A,N(s9[e],n)),Dn(r,t),Ln(r,A),sn(r,1,r.c)>0)return 2;return 1;}function o2(t,e){var A,n,P,r;return r=w.Math.sin(e),A=w.Math.cos(e),n=1-A,P=R1(yt,[h0,wt],[15,6],15,[3,3],2),P[0][0]=t.a*t.a*n+A,P[1][1]=t.b*t.b*n+A,P[2][2]=t.c*t.c*n+A,P[0][1]=t.a*t.b*n-t.c*r,P[1][2]=t.b*t.c*n-t.a*r,P[2][0]=t.c*t.a*n-t.b*r,P[0][2]=t.a*t.c*n+t.b*r,P[1][0]=t.b*t.a*n+t.c*r,P[2][1]=t.c*t.b*n+t.a*r,P;}function DR(t,e,A){var n;if(O(t.b,e)==2)return 1;if(n=Jm(t,e,A),O(t.b,e)==3)return R0(t.b,n[0])==R0(t.b,n[1])?Ph(t,e)?2:1:Ph(t,e)?1:0;if(O(t.b,e)==4){if(R0(t.b,n[0])==R0(t.b,n[1])&&R0(t.b,n[0])==R0(t.b,n[2]))return 3;if(R0(t.b,n[0])==R0(t.b,n[1])||R0(t.b,n[0])==R0(t.b,n[2])||R0(t.b,n[1])==R0(t.b,n[2]))return 1;}return 0;}function wZ(t,e){var A,n,P,r,i;return n=V(e,h1),G(t,0)>=0?(r=Mn(t,n),i=Y9(t,n)):(A=DA(t,1),P=e>>>1,r=Mn(A,P),i=Y9(A,P),i=O1(M1(i,1),V(t,1)),(e&1)!=0&&(G(r,i)<=0?i=l0(i,r):Ug(l0(r,i),n)?(i=O1(i,l0(n,r)),r=l0(r,1)):(i=O1(i,l0(M1(n,1),r)),r=l0(r,2)))),Y(M1(i,32),V(r,h1));}function uR(t,e){var A,n,P;for(A=R1(yt,[h0,wt],[15,6],15,[2,3],2),n=0;n<2;n++)A[n][0]=v9(e,t.f[n])-v9(e,t.f[4]),A[n][1]=F9(e,t.f[n])-F9(e,t.f[4]),A[n][2]=m9(e,t.f[n])-m9(e,t.f[4]);return P=h(yt,wt,6,3,15,1),P[0]=A[0][1]*A[1][2]-A[0][2]*A[1][1],P[1]=A[0][2]*A[1][0]-A[0][0]*A[1][2],P[2]=A[0][0]*A[1][1]-A[0][1]*A[1][0],P;}function gZ(t){var e,A,n,P;for(t.L=true,t.$=h(q,I,6,t.R.f,15,1),t.i=h(q,I,6,t.R.g,15,1),P=i2(t,true);t.U<t.R.f&&P;){for(e=0;e<t.R.f;e++)$e(t.e[e],e),_1(t.e[e],t.c+4,Y(M1(t.f[e],4),t.db[e]<<2));for(A=0;A<t.R.g;A++)ue(t.e[z(t.R,0,A)],t.o[A]),ue(t.e[z(t.R,1,A)],t.o[A]);if(n=Wn(t),t.U==n)break;t.U=n,P=i2(t,true);}}function g5(t,e){var A,n,P,r,i,f;for(ut(t,e?15:1),t.q=t.f,t.r=t.g,f=h(rt,ft,6,t.f,16,1),P=0;P<t.f;P++)t.e[P]!=t.j[P]&&(A=Uf(t,P,false),f[P]=t.e[P]==t.j[P]+1&&Cr(t,t.k[P][t.j[P]]),t.e[P]=t.j[P],A!=-1&&(i=Uf(t,P,true),A!=i&&(r=((t.u[P]&g8)>>>27)-1,(r==-1||r<A)&&XA(t,P,A))));if(e)for(n=0;n<t.f;n++)f[n]&&Ay(t,n);t.T=0;}function dZ(t,e){var A,n;return !sv(K(t.k,e))||K(t.k,e)==6&&(!z0(t.k,e)||p1(t.k,e)>0)||(A=_n(t.k,e)==null||X3(t.k,e)[0]==9?0:X3(t.k,e)[0],n=Zi(t.k,e)-A,n<1)?false:K(t.k,e)==16||K(t.k,e)==34||K(t.k,e)==52?O(t.k,e)==2&&p1(t.k,e)<=0?false:n!=2:true;}function dt(t,e){if(t.K&&(t.G[e]&127)!=0){if((t.G[e]&9)!=0)return 1;if((t.G[e]&2)!=0)return 2;if((t.G[e]&4)!=0)return 3;if((t.G[e]&32)!=0)return 4;if((t.G[e]&64)!=0)return 5;if((t.G[e]&16)!=0)return 0;}switch(t.H[e]&127){case 1:case 8:return 1;case 2:return 2;case 4:return 3;case 32:return 4;case 64:return 5;default:return 0;}}function n9(t,e,A,n){var P,r,i,f,D,Q,U,L,s;for(ut(t,1),r=0;r<t.q;r++)e[r]=-1;for(Q=0,P=0;P<t.q;P++)if(e[P]==-1&&(!A||(t.u[P]&I0)!=0)){for(e[P]=Q,U=h(F,k,6,t.q,15,1),U[0]=P,D=0,L=0;D<=L;){for(f=n?t.i[U[D]].length:t.e[U[D]],s=0;s<f;s++)i=t.i[U[D]][s],e[i]==-1&&(!A||(t.u[i]&I0)!=0)&&(U[++L]=i,e[i]=Q);++D;}++Q;}return Q;}function QR(t,e,A){var n,P,r;return r=w.Math.sqrt((t.i[0].a-e)*(t.i[0].a-e)+(t.i[0].b-A)*(t.i[0].b-A)),r<8?1:(P=w.Math.sqrt((t.i[1].a-e)*(t.i[1].a-e)+(t.i[1].b-A)*(t.i[1].b-A)),P<8?2:(n=w.Math.sqrt((t.i[1].a-t.i[0].a)*(t.i[1].a-t.i[0].a)+(t.i[1].b-t.i[0].b)*(t.i[1].b-t.i[0].b)),r+P<n+5?3:0));}function d5(t,e,A){var n,P,r;for(t.f=G(e,0)==0?new aD():new zr(e),t.a=new f1(),new f1(),t.c=h(yt,wt,6,2,15,1),t.c[0]=Ve,t.c[1]=Ve,t.e=false,P=0,r=0,n=0;n<t.d.g;n++)!_e(t.d,n)&&dt(t.d,n)==1&&Mt(t.d,z(t.d,0,n))>1&&Mt(t.d,z(t.d,1,n))>1&&(fA(t.d,n)?pr(t.d,n)>4&&++r:++P);t.b=A==-1?1<<1+P+(r/2|0):A,xR(t,w.Math.min(8,t.b));}function UR(t){var e,A,n,P,r;for(P=Z1(t.R,kt(t.L,0)),A=Z1(t.R,kt(t.L,0)),r=X1(t.R,jt(t.L,0)),n=X1(t.R,jt(t.L,0)),e=0;e<t.L.q;e++)P>Z1(t.R,kt(t.L,e))&&(P=Z1(t.R,kt(t.L,e))),A<Z1(t.R,kt(t.L,e))&&(A=Z1(t.R,kt(t.L,e))),r>X1(t.R,jt(t.L,e))&&(r=X1(t.R,jt(t.L,e))),n<X1(t.R,jt(t.L,e))&&(n=X1(t.R,jt(t.L,e)));return new QA(P,r,A-P,n-r);}function oR(t,e,A,n,P){var r,i,f,D,Q,U,L,s,y,l,T;return r=e.a[A],i=e.a[P],D=D8(t.a,e,A,n),Q=D8(t.a,e,n,P),U=(L=e.a[A],s=e.a[n],y=e.a[P],l=DZ(t.a,e,A,n,P),L>y&&(L=(T=k1(y),k1(y=L),T).a),_9(B(d(F,1),k,6,15,[2,1,3,0]),B(d(F,1),k,6,15,[s,L,y,l]),t)),f=r>i||r==i&&D<Q?1:0,U>=0?j0(t.b[U][4+f]):PX(t.a.i,e,A,n,P);}function LR(){var t,e,A,n,P,r;for(r=new nn(new Fi((A=_D("/resources/druglikenessNoIndex.txt"),c0(),A))),this.a=new f1();P=K1(r),P!=null;){if(n=P.indexOf(k0(9)),n==-1)throw At(new V1("line without TAB"));t=(pt(0,n,P.length),P.substr(0,n)),e=LD(Le((Xt(n+1,P.length+1),P.substr(n+1)))),mt(this.a,new Y7(t,e));}}function sR(t,e){var A,n,P,r,i;if(t.d.q<2)return  true;for(i=new Wt(t.j);i.a<i.c.a.length;)r=t1(i),r.g=true;for(P=0;P<t.k.length;P++)t.k[P]=false;for(LZ(t,e),A=new rd(e),zs(t,e,A,0),n=0;MJ(e)&&n<3&&!(gt(t.n,0)&&(x1(),S1(E1(Date.now()),t.n)))&&E_(t,e)!=0;n++)zs(t,e,A,2);return zs(t,e,A,3),zs(t,e,A,4),LG(e);}function BZ(t,e,A,n){var P,r,i,f,D,Q;return r=n==e.length-1?0:n+1,f=n==0?e.length-1:n-1,i=r==e.length-1?0:r+1,dt(t.f,A[n])==2&&(P=qe(t.f,A[n]),P==1||P==2)?(VF(t,e[f],e[n],e[r])^VF(t,e[i],e[r],e[n])&&(P=P==1?2:1),P):WP(t.f,A[n])?(D=KL(On(t.f),A[f],A[n]),Q=KL(On(t.f),A[r],A[n]),D!=-1||Q!=-1?D==Q?2:1:2):0;}function vZ(t,e,A,n,P,r){var i,f,D,Q,U,L;for(i=e.a[A],U=B(d(F,1),k,6,15,[e.a[n],e.a[P],e.a[r]]),f=0;f<4;f++){for(L=h(F,k,6,3,15,1),Q=0;Q<3;Q++)L[Q]=t.a.g.a[U[Q]-1][f+1];if(L.sort(Fe(u0.prototype.gd,u0,[])),D=_9(B(d(F,1),k,6,15,[1,0,2,3]),B(d(F,1),k,6,15,[i,L[0],L[1],L[2]]),t),D>=0)return j0(t.b[D][4]);}return 0;}function FZ(t){iy();var e,A,n,P,r,i,f,D,Q,U;if(t==null||t.length==0)return null;for(i=null,t=ef(t.toLowerCase(),"-"),D=b4,Q=0,U=D.length;Q<U;++Q)for(f=D[Q],r=o8(f[0],";"),A=r,n=0,P=A.length;n<P;++n){if(e=A[n],A1(ef(e.toLowerCase(),"-"),t))return e;if(ef(e.toLowerCase(),"-").startsWith(t))if(i==null)i=e;else return "";}return i;}function B5(t,e){var A,n,P,r,i,f,D,Q;if(i=false,a1(t.g,e)==0)for(r=1;r<O(t.g,e);r++)for(f=0;f<r;f++)n=_(t.g,e,r),P=_(t.g,e,f),t.G[n]>t.G[P]^n>P&&(i=!i);else for(r=0;r<O(t.g,e);r++){for(A=_(t.g,e,r),Q=0,D=h(F,k,6,3,15,1),f=0;f<O(t.g,A);f++)D[Q]=_(t.g,A,f),D[Q]!=e&&++Q;Q==2&&t.G[D[0]]>t.G[D[1]]^D[0]>D[1]&&(i=!i);}return i;}function mZ(t){var e,A,n,P,r;for(r=w.Math.max(t.D.f,t.u.f),t.a=J8(r),t.s=2,A=0;A<t.D.f;A++)t.s=w.Math.max(t.s,O(t.D,A)+xi(t.D,A));for(n=0;n<t.u.f;n++)t.s=w.Math.max(t.s,O(t.u,n)+xi(t.u,n));for(P=w.Math.max(2,(62+t.a+t.s*(t.a+5))/63|0),t.b=h(B4,k2,100,r,0,1),e=0;e<r;e++)t.b[e]=new bo(P);t.F=new EA(t.D,1),t.v=new EA(t.u,1);}function v5(t,e){var A,n,P,r,i;for(i=false,n=0;n<t.V.q;n++)if(r0(t.V,n)){i=true;break;}if(r=tk(t,i),r){for(z1(t),A=0;A<t.V.q;A++)(!i||r0(t.V,A))&&(e?Be(t.V,A,2*r.a-kt(t.V,A)):Ie(t.V,A,2*r.b-jt(t.V,A)));for(P=0;P<t.V.r;P++)(!i||mP(t.V,P))&&(l1(t.V,P)==257?w0(t.V,P,129):l1(t.V,P)==129&&w0(t.V,P,257));t.eb=w.Math.max(t.eb,1),n1(t.k);}}function yR(t){var e,A,n,P,r;for(n=Kj(t);n;){for(r=false,A=0;A<O(t.D,n.b);A++)t.I[_(t.D,n.b,A)]==0&&(r=true);for(P=false,e=0;e<O(t.u,n.a);e++)t.B[_(t.u,n.a,e)]==0&&(P=true);if(r&&P)break;t.I[n.b]=Oy,t.B[n.a]=Oy,n=Kj(t);}if(!n){for(A=0;A<t.I.length;A++)t.I[A]==Oy&&(t.I[A]=0);for(e=0;e<t.B.length;e++)t.B[e]==Oy&&(t.B[e]=0);}return n;}function kZ(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l;for(U=e.p,D=e.n,Q=J0(t,U[2]),L=ti(z8(Q,J0(t,U[1]))),f=o2(L,D==U[1]?A:-A),P=e.o,r=0,i=P.length;r<i;++r)n=P[r],n!=D&&(s=t.k[n].a-Q.a,y=t.k[n].b-Q.b,l=t.k[n].c-Q.c,eo(t,n,s*f[0][0]+y*f[0][1]+l*f[0][2]+Q.a),Ao(t,n,s*f[1][0]+y*f[1][1]+l*f[1][2]+Q.b),no(t,n,s*f[2][0]+y*f[2][1]+l*f[2][2]+Q.c));}function u8(t,e,A){var n,P,r;if(A!=null&&(A.length==0?A=null:(n=SA(A,321),(n!=0&&n==t.C[e]||A1(A,"?"))&&(K0(t,e,n),A=null))),A==null){if(t.t!=null&&t.t[e]!=null)return t.t[e]=null,true;}else if(t.t==null&&(t.t=h(q,w8,10,t.M,0,2)),t.t[e]==null||!A1(rn((r=t.t[e],c0(),r)),A))return t.t[e]=KA((P=A,c0(),P)),true;return  false;}function bZ(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c;for(ut(e,1),l=t.k,T=0,c=l.length;T<c;++T)y=l[T],Q=A[y.a],U=A[y.b],L=D1(e,Q,U),L==-1?O0(e,Q,U,y.e):y.e==-1?e.H[L]=512:y.e!=-2&&w0(e,L,y.e);if(f=Pi(e),t.a.length!=0)for(ut(e,7),P=t.a,r=0,i=P.length;r<i;++r)n=P[r],D=f==null?A[n]:f[A[n]],s=e.u[D]&3,ce(e,D,s==1?2:1,false),Ay(e,D);return f;}function RZ(t,e,A){var n,P,r,i,f;if(t.V.K){if(Qe(t.V,e)||Qe(t.V,A)||(n=MA(t.V,e),P=MA(t.V,A),n==null^P==null))return  false;if(n!=null){if(n.length!=P.length)return  false;for(r=0;r<n.length;r++)if(n[r]!=P[r])return  false;}if(i=gt(V(o0(t.V,e),1),0),f=gt(V(o0(t.V,A),1),0),i!=f)return  false;}return K(t.V,e)==K(t.V,A);}function lR(){lR=B1,OE=B(d(Yt,1),at,6,15,[0,60,120,180,240,300]),xE=B(d(Yt,1),at,6,15,[17,17,17,17,17,17]),NE=B(d(Yt,2),te,16,0,[B(d(Yt,1),at,6,15,[-20,20]),B(d(Yt,1),at,6,15,[40,80]),B(d(Yt,1),at,6,15,[100,140]),B(d(Yt,1),at,6,15,[160,200]),B(d(Yt,1),at,6,15,[220,260]),B(d(Yt,1),at,6,15,[280,320])]);}function F5(t,e){var A,n,P,r;return A=t.D[0][e],n=t.D[1][e],P=tA(t,A),r=tA(t,n),!P&&!r?e<t.g&&Re(t.p,e)?mC:J6+dt(t,e)/10:P&&r||P&&_0(t,n)||r&&_0(t,A)?UU:P&&um(t,n,A)||r&&um(t,A,n)?py:P&&qF(t,n,A)||r&&qF(t,A,n)?$6:P&&n<t.f&&i0(t.p,n)||r&&A<t.f&&i0(t.p,A)?1.9500000476837158:J6;}function jZ(t){var e,A;for(t=V(t,rr),A=0;A<(X5(),ci).length;A++)if(P0(t,ci[A]))return XV[A];return e=new Fn("R"),gt(V(t,L8),0)&&(e.a+="0"),gt(V(t,ir),0)&&(e.a+="3"),gt(V(t,fr),0)&&(e.a+="4"),gt(V(t,Dr),0)&&(e.a+="5"),gt(V(t,ur),0)&&(e.a+="6"),gt(V(t,Qr),0)&&(e.a+="7"),gt(V(t,pf),0)&&(e.a+="8"),e.a;}function pZ(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y;for(L=vj(t.D),f=vj(t.u),i=h(HE,h0,44,8,0,1),y=Fb(t.D,L),Q=Fb(t.u,f),U=0;U<=7;U++)for(i[U]=new Ji(new Il()),r=(n=new N8(new x8(new w9(y[U]).a).b),new g9(n));p9(r.a.a);)P=(A=Br(r.a),A.dd()),s=le(y[U],P),D=le(Q[U],P),D!=null&&(e=h(F,D0,7,2,0,2),e[0]=s,e[1]=D,ze(i[U],P,e));return i;}function CZ(t,e){var A,n,P,r,i,f,D,Q,U,L,s;for(A=e.a,s=e.i,i=1;i<A.length;i++)if(A[i]!=null){for(f=0;f<i;f++)if(A[i][f]!=0){for(U=t.f[i][f],L=new fm(s,U,A[i][f],t.D),D=false,Q=null,n=z9(t.i,e.d).c,r=new Wt(n);r.a<r.c.a.length;){if(P=t1(r),Qz(P,L)){D=true;break;}Uz(P,L)&&(!Q&&(Q=new f1()),Q.a.push(P));}D||(Q&&ts(n,Q),n.a.push(L));}}}function m5(t,e){var A,n,P,r;if(t.o[e]==2&&t.j[e]==2&&t.n[e][0]==2){for(P=0;P<2;P++)if(A=Tm(t,e,t.i[e][P]),A!=-1)for(r=0;r<t.j[A];r++)n=t.k[A][r],(t.H[n]==257||t.H[n]==129)&&t.D[0][n]==A&&(t.H[t.k[A][r]]=1);return;}if(t.o[e]==0||t.C[e]>=15)for(P=0;P<t.e[e];P++)n=t.k[e][P],(t.H[n]==257||t.H[n]==129)&&t.D[0][n]==e&&t.D[0][n]==e&&(t.H[n]=1);}function TR(t,e,A){var n,P,r,i,f;if(t.b){for(t.C=h(rt,ft,6,e.length,16,1),P=new Wt(t.b);P.a<P.c.a.length;)if(n=t1(P),t.f==null||A==-1&&t.f[n.a]==-1&&t.f[n.b]==-1||A!=-1&&(t.f[n.a]==A||t.f[n.b]==A)){if(f=h(F,k,6,n.c+2,15,1),r=l2(t.H,f,t.G[n.a],t.G[n.b],n.c+1,e,null)-1,r<n.d||r>n.c)return  false;for(i=1;i<=r;i++)t.C[f[i]]=true;}}return  true;}function MZ(t){var e,A,n,P,r,i;if(t.L.K){for(i=t.W,W1(t,-7),e=0;e<t.L.f;e++)Qe(t.L,e)&&t.ub(Z1(t.R,kt(t.L,e))-i,X1(t.R,jt(t.L,e))-i,2*i);for(t.Ab(2*t.W),r=new L1(),P=0;P<t.L.r;P++)A=z(t.L,0,P),n=z(t.L,1,P),gt(V(V(o0(t.L,A),o0(t.L,n)),Pe),0)&&(r.a=Z1(t.R,kt(t.L,A)),r.c=X1(t.R,jt(t.L,A)),r.b=Z1(t.R,kt(t.L,n)),r.d=X1(t.R,jt(t.L,n)),t.qb(r));}}function HZ(t,e){var A,n,P,r,i,f,D,Q,U;for(U=new f1(),A=0;A<e.q;A++)for(i=0;i<e.e[A];i++)for(n=e.i[A][i],f=0;f<e.e[n];f++)if(P=e.i[n][f],A!=P)for(D=0;D<e.e[P];D++)r=e.i[P][D],!(n==r||A==r)&&r>A&&(Q=new Lm(t,e,A,n,P,r),(w.Math.abs(Q.e)>.001||w.Math.abs(Q.f)>.001||w.Math.abs(Q.g)>.001)&&U.a.push(Q));return U;}function hR(t){var e,A,n,P,r,i,f,D,Q;for(Q=0,ut(t,7),n=0;n<t.g;n++)if(dt(t,n)==1&&(t.F[n]&64)==0){for(f=true,i=0;i<2;i++){if(e=t.D[i][n],t.j[e]==1){f=false;break;}if(t.C[e]==7&&!(e<t.f&&i0(t.p,e))){for(A=t.D[1-i][n],D=0;D<t.j[A];D++)if(P=t.i[A][D],r=t.k[A][D],r!=n&&dt(t,r)>1&&!(P<t.f&&i0(t.p,P))&&tA(t,P)){f=false;break;}}}f&&!$b(t,n)&&++Q;}return Q;}function hA(t,e,A,n,P,r){var i,f,D,Q;if(A=w.Math.max(0,A),n=w.Math.min(r.lc(),n),i=(n-A)/2|0,D=A,f=n,r.kc(D,t)>e||r.kc(f-1,t)<e)return  -1;for(;n>=A;){if(i=A+((n-A)/2|0),Q=r.kc(i,t),Q==e){if(P&&i>D&&r.kc(i-1,t)==e)n=i;else if(!P&&i<f-1&&r.kc(i+1,t)==e)A=i;else return i;}else Q>e?n=i:Q<e&&(A=i);if(n-A==1&&r.kc(A,t)<e&&r.kc(n,t)>e)break;}return  -1;}function cR(t,e,A){var n,P,r,i;if(O(t.c,e)==2)return 1;if(n=zJ(t,e,A),O(t.c,e)==3)return R0(t.c,n[0])==R0(t.c,n[1])?a1(t.c,e)==1&&K(t.c,e)<10||vn(t.c,e)||EP(t.c,e,true)?2:1:a1(t.c,e)==1&&K(t.c,e)<10||vn(t.c,e)||EP(t.c,e,true)?1:0;if(O(t.c,e)==4){for(P=0;P<n.length;P++)for(i=R0(t.c,n[P]),r=P+1;r<n.length;r++)if(i==R0(t.c,n[r]))return 1;}return 0;}function k5(t,e,A,n){var P,r,i,f,D;for(r=new MP(t.f,e.e.length+A.e.length-n,e.i|A.i),P=0,f=0;f<e.e.length;f++)r.e[P]=e.e[f],r.k[P]=e.k[f],r.a[P]=e.a[f],r.b[P++]=e.b[f];for(i=0;i<A.e.length;i++)D=r8(e,A.e[i]),D==-1?(r.e[P]=A.e[i],r.k[P]=A.k[i],r.a[P]=A.a[i],r.b[P++]=A.b[i]):r.k[D]<A.k[i]&&(r.k[D]=A.k[i],r.a[D]=A.a[i],r.b[D]=A.b[i]);return r;}function b5(t,e,A,n){var P,r,i,f;if(f=new L1(),!(e.a==e.b&&e.c==e.d)){for(f.a=e.a,f.c=e.c,f.b=e.b,f.d=e.d,i=ok(f),P=0;P<t.$.a.length;P++)if(r=N(t.$,P),!(r.c>i.c+i.b||r.d>i.d+i.a||i.c>r.c+r.b||i.d>r.d+r.a)){if(ZD(t,f.a,f.c,P)){if(ZD(t,f.b,f.d,P))return;qs(t,f,0,P),b5(t,f,A,n);return;}if(ZD(t,f.b,f.d,P)){qs(t,f,1,P),b5(t,f,A,n);return;}}sW(t,f,A,n);}}function VZ(t){var e,A,n,P,r,i,f,D,Q;for(D=h(F,k,6,t.j.q,15,1),n=0;n<t.j.r;n++)if(l1(t.j,n)==8)for(i=0;i<2;i++)D[z(t.j,i,n)]=1;for(P=0;P<t.j.r;P++)for(Q=dt(t.j,P),r=0;r<2;r++)D[z(t.j,r,P)]+=Q;for(A=0;A<t.j.r;A++)if(dt(t.j,A)==1){for(r=0;r<2;r++)if(f=z(t.j,1-r,A),_0(t.j,f)&&(e=z(t.j,r,A),tA(t.j,e)&&D[e]>lT(t.j,e))){w0(t.j,A,16);continue;}}}function ut(t,e){var A,n,P,r;if(qj(t,e),(e&~t.T)!=0){for((t.T&15)!=0&&t.q>1&&Ds(t.J[0],t.J[1])&&Ar(new Y8(0),t),t.c&&(e|=128),A=0;A<t.q;A++)t.u[A]&=-67223560;for(n=0;n<t.g;n++)t.F[n]&=-64;P=0,r=0,(e&32)!=0?(P=32,r=1):(e&64)!=0&&(P=64,r=3),(e&128)!=0&&(P|=128,r|=32),t.d=new EA(t,r),Z5(t.d),eN(t.d),vJ(t.d),D_(t)&&(t.d=new EA(t,r)),t.T|=24|P;}}function EZ(t,e,A){var n,P,r,i,f,D,Q;for(U3(t.q),t.p[0]=e,t.q[e]=true,r=0,i=0;r<=i;){for(f=0;f<t.j[t.p[r]].length;f++){if(P=t.j[t.p[r]][f],P==A){for(n=1,D=r;D!=0;)++n,D=t.r[D];for(Q=h(F,k,6,n,15,1),Q[0]=t.k[t.p[r]][f],n=1;r!=0;)Q[n++]=t.o[r],r=t.r[r];return Q;}t.q[P]||(t.q[P]=true,++i,t.p[i]=P,t.o[i]=t.k[t.p[r]][f],t.r[i]=r);}++r;}return null;}function SZ(t,e,A,n){var P,r,i,f,D,Q,U,L,s,y,l,T;for(L=e.b-e.a,l=e.d-e.c,D=w.Math.sqrt(L*L+l*l),Q=2*zt(E1(w.Math.round(D/(4*t.Y)))),s=L/(Q-1),T=l/(Q-1),vr(t.L,D1(t.L,A,n))?(P=-3,r=-3):(P=t.p[A],r=t.p[n]),U=e.a-t.Y/2,y=e.c-t.Y/2,W1(t,P),f=0;f<(Q/2|0);f++)t.ub(U,y,t.Y),U+=s,y+=T;for(W1(t,r),i=0;i<(Q/2|0);i++)t.ub(U,y,t.Y),U+=s,y+=T;W1(t,t.Q);}function qZ(t){for((t.Q&1)!=0&&(t.Q&2)==0&&(t.g=bn(t.f,t.R.f)),(t.Q&I1)==0&&(t.W=h(rt,ft,6,t.R.f,16,1),t.V=h(rt,ft,6,t.R.g,16,1),t.U<t.R.f&&(gX(t),(t.Q&I1)==0&&(s2(t),t.P&&Q2(t.P,t.f)))),t.g==null&&(t.Q&1)!=0&&(t.Q&2)!=0&&(t.g=bn(t.f,t.R.f));t.U<t.R.f;)KK(t),(t.Q&I1)==0&&(s2(t),t.P&&Q2(t.P,t.f));(t.Q&I1)==0&&(s2(t),Ra(t),$_(t));}function IZ(t,e,A,n,P){var r,i,f,D,Q,U,L,s;if(D1(t,e,A)==-1||D1(t,A,n)==-1||D1(t,n,P)==-1)return 0;if(D1(t,P,e)>=0)return 4;for(L=(ut(t,7),t.p),s=new QD(),aP(s,k1(e)),aP(s,k1(A)),aP(s,k1(n)),aP(s,k1(P)),Q=0;Q<L.j.a.length;Q++)if(N(L.k,Q).length==5){for(U=new QD(),i=N(L.j,Q),f=0,D=i.length;f<D;++f)r=i[f],aP(U,k1(r));if(AQ(U,s))return 5;}return 0;}function xZ(t,e,A){var n,P,r,i,f,D,Q,U,L;for(U=h(rt,ft,6,A.q,16,1),U[t[0]]=true,i=0,f=0;i<=f&&A.o[t[i]]<2;){for(Q=0;Q<A.j[t[i]];Q++)n=A.i[t[i]][Q],P=A.k[t[i]][Q],e[P]&&(U[n]||(t[++f]=n,U[n]=true),e[P]=false);++i;}for(D=f;D>=0;D--)if(A.C[t[D]]<=8)for(L=0;L<A.e[t[D]];L++)r=A.i[t[D]][L],!U[r]&&A.n[t[D]][L]!=0&&(t[++f]=r,U[r]=true);return f+1;}function NZ(t,e){var A,n,P,r,i,f,D,Q;for(r=t,n=e.i[r][0];e.e[r]!=1&&e.o[r]==2&&(Q=n,n=r,r=e.i[r][0]==Q?e.i[r][1]:e.i[r][0],r!=t););for(D=r,i=n,P=2;e.e[i]!=1&&e.o[i]==2&&(Q=D,D=i,i=e.i[i][0]==Q?e.i[i][1]:e.i[i][0],++P,i!=r););for(A=h(F,k,6,P,15,1),A[0]=r,A[1]=n,f=2;f<P;f++)A[f]=e.i[A[f-1]][0]==A[f-2]?e.i[A[f-1]][1]:e.i[A[f-1]][0];return A;}function OZ(t){var e,A;if(t.indexOf("[")>=0){if(e=t.indexOf(" NOT["),A=t.indexOf("]",e),e>=0&&A>0)return -(A+1);if(e=t.indexOf(" ["),A=t.indexOf("]",e),e>=0&&A>0)return A+1;if(e=t.indexOf(" 'NOT["),A=t.indexOf("]'",e),e>=0&&A>0)return -(A+2);if(e=t.indexOf(" '["),A=t.indexOf("]'",e),e>=0&&A>0)return A+2;x1();}return 0;}function GZ(t,e){var A,n,P,r,i,f,D,Q;if(i=xA[0]*t[0]+xA[1]*t[1]+xA[2]*t[2],i==0){t[0]=0,t[1]=0,t[2]=0;return;}for(A=e/i,Q=0,D=0,P=0;P<3;P++)t[P]*=A,t[P]<1?D+=xA[P]:(Q+=(t[P]-1)*xA[P],t[P]=1);if(Q!=0){for(f=0,r=0;r<3;r++)t[r]<1&&(t[r]+=Q/D,t[r]>1&&(f+=(t[r]-1)*xA[r],t[r]=1));if(f!=0)for(n=0;n<3;n++)t[n]<1&&(t[n]+=f/xA[n],t[n]>1&&(t[n]=1));}}function Es(t,e,A,n){var P,r,i,f,D,Q,U,L;for(P=0;P<t.f;P++)if(t.C[P]==A&&t.s[P]==0&&xt(t,P)>0)for(f=false,Q=0;Q<t.j[P];Q++){if(t.n[P][Q]==1&&(r=t.i[P][Q],t.C[r]==n)){for(L=false,D=false,U=0;U<t.j[r];U++){if(i=t.i[r][U],t.s[i]<0){D=true;break;}i!=P&&t.C[i]==8&&t.n[r][U]==2&&(L=true);}if(!D&&L){if(t.s[P]=-1,t.T=0,--e,e==0)return 0;f=true;}}if(f)break;}return e;}function JZ(t,e,A,n,P){var r,i,f,D;if((e.u[A]&3)!=0&&(e.u[A]&4)==0&&P0(V(e.B[A],c8),0)&&(f=w.Math.abs(e.w[A]),f!=0)){for(i=0;i<t.c.g.a.length;i++)for(r=dr(t.c,i),D=0;D<r.f;D++)if(w.Math.abs(r.w[D])==f)return !!(e.j[A]==n.j[P]||gt(V(r.B[D],ge),0)||(r.u[D]&m1)>>18!=(e.u[A]&m1)>>18);}return  false;}function VQ(t,e,A,n){var P,r,i,f,D;f=(e.b-e.a)/10,D=(e.d-e.c)/10,P=new L1(),vr(t.L,D1(t.L,A,n))?(r=-3,i=-3):(r=t.p[A],i=t.p[n]),W1(t,r),P.a=e.a,P.c=e.c,P.b=e.a+f*2,P.d=e.c+D*2,t.qb(P),P.a=e.a+f*4,P.c=e.c+D*4,P.b=e.a+f*5,P.d=e.c+D*5,t.qb(P),W1(t,i),P.a=e.a+f*5,P.c=e.c+D*5,P.b=e.a+f*6,P.d=e.c+D*6,t.qb(P),P.a=e.a+f*8,P.c=e.c+D*8,P.b=e.b,P.d=e.d,t.qb(P),W1(t,t.Q);}function R5(t,e,A,n,P){var r,i,f,D,Q,U,L,s;if((t.p&&e<t.f?iA(t.p,e):0)>24||(r=t.e[e],P==null&&(P=h(F,k,6,r,15,1)),!UW(t,e,A,n,P)))return 3;for(D=-1,Q=0;Q<r;Q++)if((P[Q]&1)==1){if(i=t.H[t.k[e][A[Q]]],D!=-1&&D!=i)return 3;D=i;}return U=w.Math.abs(P[0]-P[1])==2?1:0,f=P[U]-P[U+1],s=w.Math.abs(f)==3^P[U]<P[U+1],L=r==3||(P[3]&1)==1,s^L^D==129?1:2;}function L2(t,e,A,n){var P,r,i,f;if(t.L.q==0)return null;for(i=t.Db(A,n),ut(t.L,(t.G&256)!=0?63:(t.G&512)!=0?95:31),em(t),t.U.a.length=0,t.$.a.length=0,t.B=e,Pk(t),t.Cb(t.X),t.K=true,r=0;r<t.L.q;r++)zQ(t,r,null);return t.K=false,P=t.R.c*V8(t.L),Cm(t,P),c5(t,A,P,n),!A||nN(A,t.v)?i:(f=new Ws(t.v,A,P,n),Eu(f,t.R),Nu(f,t.v),pd(f,t.w),i?(Eu(f,i),i):f);}function zZ(t,e,A,n){var P,r,i,f,D,Q,U,L,s,y;for(P=h(F,k,6,n,15,1),r=0,i=0;i<e.e.length;i++)for(f=0;f<A.e.length;f++)e.e[i]==A.e[f]&&(P[r++]=e.e[i]);D=n==1?(Q=r8(e,P[0]),U=r8(A,P[0]),tv(A,e.a[Q]-A.a[U],e.b[Q]-A.b[U]),L=dj(t,e,P[0]),s=dj(t,A,P[0]),y=0,IL(t,e,P[0])==1&&IL(t,A,P[0])==1&&(y=AA),sf(A,A.a[U],A.b[U],L-s+y+Q1),k5(t,e,A,1)):ca(t,e,A,P,n),dF(t,e,A,D);}function YZ(t,e){var A,n,P,r,i,f;if((t.o[e]==1||t.o[e]==2)&&!WP(t.R,e)){i=false;try{for(r=0;r<2;r++)if(A=z(t.R,r,e),O(t.R,A)==3){for(n=h(F,k,6,2,15,1),P=0,f=0;f<O(t.R,A);f++)Ot(t.R,A,f)!=e&&(n[P++]=_(t.R,A,f));t.f[n[0]]>t.f[n[1]]^A6(t,A,n[0],n[1])&&(i=!i);}}catch(D){if(D=t0(D),Zt(D,19)){t.i[e]=3;return;}else throw At(D);}t.o[e]==1^i?t.i[e]=1:t.i[e]=2;}}function KZ(t){var e,A,n;for(this.c=new f1(),n=0,e=0;e<t.f;e++)n+=xt(t,e);if(n>0)throw At(new C8("molecule needs explicit hydrogen atoms for force field calculations"));for(this.g=t,this.d=3*t.q,this.e=h(yt,wt,6,this.d,15,1),this.i=h(yt,wt,6,this.d,15,1),this.f=false,this.j=20,A=0;A<t.q;A++)this.i[3*A]=t.J[A].a,this.i[3*A+1]=t.J[A].b,this.i[3*A+2]=t.J[A].c;}function wR(t){var e,A,n,P,r,i,f,D,Q,U;for(this.a=new LP(),e=0;e<t.q;e++)for(Sr(this.a,new Oi(e,e),(X9(),J4)),A=0;A<t.e[e];A++)for(D=t.i[e][A],f=new Oi(e,D),Sr(this.a,f,Y4),n=0;n<t.e[D];n++)for(Q=t.i[D][n],i=new Oi(e,Q),(!Mu(this.a,i)||J1(qr(this.a,i))===J1(Ti))&&Sr(this.a,i,z4),P=0;P<t.e[Q];P++)U=t.i[Q][P],r=new Oi(e,U),Mu(this.a,r)||Sr(this.a,r,Ti);}function XZ(t){A1(t,U4)&&!PE?(ji(),K3(U4,new ks("/resources/forcefield/mmff94/outofplane.csv","/resources/forcefield/mmff94/torsion.csv")),PE=true):A1(t,o4)&&!rE?(ji(),K3(o4,new ks(hV,"/resources/forcefield/mmff94/94s/torsion.csv")),rE=true):A1(t,Sy)&&!iE&&(ji(),K3(Sy,new ks(hV,"/resources/forcefield/mmff94/94s/torsionPlus.csv")),iE=true);}function ZZ(t,e){return !e&&(e={keepAbsoluteCoordinates:false,mode:3}),e=Object.assign({},e),e.keepAbsoluteCoordinates=!!e.keepAbsoluteCoordinates,"sortByIDCode"in e?(e.sortByIDCode=!!e.sortByIDCode,MI(t,e.keepAbsoluteCoordinates,e.sortByIDCode)):(typeof e.mode!==nr&&(e.mode=3),e.mode=Math.trunc(e.mode),DI(t,e.keepAbsoluteCoordinates,e.mode));}function gf(t,e,A,n){var P,r,i,f;for(this.e=t,this.g=A,this.a=n,i=-1,f=0;f<Mt(this.e,this.a);f++){if(P=_(this.e,this.a,f),r=Ot(this.e,this.a,f),P==this.g){l1(this.e,r)==386&&(this.j=-1);continue;}Gr(this.e,r,this.a)&&(this.i&&(t.u[n]|=Q0),this.i=true),i==e[P]?(this.d=P,this.f=true,this.c=fA(this.e,r)):i<e[P]?(i=e[P],this.d=this.b,this.b=P):this.d=P;}}function gR(t){var e,A,n,P,r,i,f,D;for(t.t=new f1(),n=1,r=0,A=0;A<t.u.f;A++)C1(t.u,A)!=0&&!Bn(t.u,A)&&(r=w.Math.max(r,C1(t.u,A)));if(r!=0){for(P=h(F,k,6,r+1,15,1),e=0;e<t.u.f;e++)C1(t.u,e)!=0&&!Bn(t.u,e)&&(P[C1(t.u,e)]=e+1);for(f=0;f<t.D.f;f++)D=C1(t.D,f),D!=0&&D<=r&&!Bn(t.D,f)&&P[D]!=0&&(i=P[D]-1,t.I[f]=n,t.B[i]=n++,mt(t.t,new gD(f,i)));}return t.t.a.length;}function ke(){ke=B1;var t;for(N2=new mA(1,1),EU=new mA(1,10),new mA(1,2),y9=new mA(0,0),uc=new mA(-1,1),FE=B(d(Bi,1),Ye,23,0,[y9,N2,new mA(1,2),new mA(1,3),new mA(1,4),new mA(1,5),new mA(1,6),new mA(1,7),new mA(1,8),new mA(1,9),EU]),SU=h(Bi,Ye,23,32,0,1),t=0;t<SU.length;t++)SU[t]=hu(M1(1,t),0)?we(M1(1,t)):FP(we(p0(M1(1,t))));}function dR(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T;if(r=e.e,r==0)throw At(new p8(gV));return P=e.d,n=e.a,P==1?pW(t,n[0],r):(y=t.a,l=t.d,A=l!=P?l>P?1:-1:rQ(y,n,l),A<0?B(d(Bi,1),Ye,23,0,[y9,t]):(T=t.e,f=l-P+1,U=P,D=T==r?1:-1,i=h(F,k,6,f,15,1),Q=Sj(i,f,y,l,n,P),L=new Ue(D,f,i),s=new Ue(T,U,Q),Rn(L),Rn(s),B(d(Bi,1),Ye,23,0,[L,s])));}function j5(t,e,A,n){var P,r,i,f,D,Q,U,L,s,y,l,T,c,g;if(Uj(t,e,A,n),Qd(t.p))return null;if(t.k!=null)for(s=t.k,y=0,l=s.length;y<l;++y)L=s[y],I3(t.p,L);if(t.g)for(c=new Wt(t.g);c.a<c.c.a.length;)T=t1(c),wI(t.p,T);if(t.e!=null)for(i=t.e,D=0,U=i.length;D<U;++D)P=i[D],fo(P.R);if(t.b!=null)for(r=t.b,f=0,Q=r.length;f<Q;++f)P=r[f],fo(P.R);return g=t.p,t.p=new Au(),g;}function Q8(t,e,A){var n,P,r,i,f;return r=false,i=t.H[e],A==511?r=F_(t,e):EO(t,e,A)&&(A==257||A==129?(n=PR(t,e,t.D[0][e]),P=PR(t,e,t.D[1][e]),A==i?(n==P||P)&&(f=t.D[0][e],t.D[0][e]=t.D[1][e],t.D[1][e]=f,r=true):(!n&&P&&(f=t.D[0][e],t.D[0][e]=t.D[1][e],t.D[1][e]=f),t.H[e]=A,r=true)):(t.H[e]=A,r=true)),r&&(t.T=(i&127)==(A&127)?t.T&7:0,t.G[e]=0),r;}function WZ(t){var e,A,n,P,r,i,f,D;if(f=null,A=t.indexOf("["),n=t.indexOf("]",A),A>=0&&n>0){for(e=h(F,k,6,16,15,1),D=(pt(A+1,n,t.length),t.substr(A+1,n-(A+1))),P=0,i=true;i&&P<16;)A=D.indexOf(","),r=null,A==-1?(r=D,i=false):(r=(pt(0,A,D.length),D.substr(0,A)),D=(Xt(A+1,D.length+1),D.substr(A+1))),e[P++]=SA(r,1);f=h(F,k,6,P,15,1),sA(e,0,f,0,P);}return f;}function BR(t){var e,A,n,P;for(Uo.call(this),e=0;e!=-1&&(A=t.indexOf('="',e),A!=-1);)n=(pt(e+1,A,t.length),t.substr(e+1,A-(e+1))),e=t.indexOf('"',A+2),P=e==-1?(Xt(A+1,t.length+1),t.substr(A+1)):(pt(A+1,e,t.length),t.substr(A+1,e-(A+1))),A1(n,"text")?this.e=RW(P):A1(n,"x")?RO(this,P):A1(n,"y")?jO(this,P):A1(n,"size")?nO(this,P):A1(n,"style")&&pO(this,P);}function _Z(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c;for(y=e.length,D=y,Xt(0,e.length),e.charCodeAt(0)==45?(L=-1,s=1,--y):(L=1,s=0),r=(Is(),kE)[10],P=y/r|0,c=y%r,c!=0&&++P,f=h(F,k,6,P,15,1),A=mE[8],i=0,l=s+(c==0?r:c),T=s;T<D;T=l,l=T+r)n=c1((pt(T,l,e.length),e.substr(T,l-T)),o1,It),Q=(P9(),Qs(f,f,i,A)),Q+=xJ(f,i,n),f[i++]=Q;U=i,t.e=L,t.d=U,t.a=f,Rn(t);}function vR(t){var e;switch(ut(t,31),e=t.I&w1,t.I&qP){case Q0:return null;case I0:return e==1?"meso":""+e+" meso diastereomers";case 0:return "unknown chirality";case ly:return "both enantiomers";case T8:return "this enantiomer";case 327680:return "this or other enantiomer";case yi:return "two epimers";default:return e==1?"one stereo isomer":""+e+" stereo isomers";}}function FR(t){var e;for(t.T=0,t.C=h(F,k,6,t.M,15,1),t.s=h(F,k,6,t.M,15,1),t.w=h(F,k,6,t.M,15,1),t.J=h(E2,b2,29,t.M,0,1),e=0;e<t.M;e++)t.J[e]=new Nn();t.A=h(F,k,6,t.M,15,1),t.u=h(F,k,6,t.M,15,1),t.B=h(NA,a0,6,t.M,14,1),t.v=null,t.t=null,t.D=R1(F,[D0,k],[7,6],15,[2,t.N],2),t.H=h(F,k,6,t.N,15,1),t.F=h(F,k,6,t.N,15,1),t.G=h(F,k,6,t.N,15,1);}function $Z(t,e,A,n,P,r,i){var f,D,Q,U,L;if(O(t.j,A)==3&&(d0(t.j,A)==1||d0(t.j,A)==2)&&O(t.d,r)==3&&(d0(t.d,r)==1||d0(t.d,r)==2)){for(L=e>n,Q=-1,D=0;D<O(t.j,A);D++)if(Q=_(t.j,A,D),Q!=e&&Q!=n){(Q>n&&Q<e||Q<n&&Q>e)&&(L=!L);break;}for(U=P>i,f=0;f<O(t.d,r);f++)if(Q=_(t.d,r,f),Q!=P&&Q!=i){(Q>i&&Q<P||Q<i&&Q>P)&&(U=!U);break;}return L==U==(d0(t.j,A)==d0(t.d,r));}return  true;}function p5(t,e){var A,n,P,r,i,f;for(i=(t.U&4)!=0,f=false,P=false,r=false,A=null,n=0;n<t.V.q;n++)if(r0(t.V,n))if(f){if(r!=bQ(A,kt(t.V,n),jt(t.V,n))){P=true;break;}}else {if(f=true,!i)break;A=N(t.I,0),r=bQ(A,kt(t.V,n),jt(t.V,n));}return e?i?P?(vm(t,true),true):f?(xv(t,true),false):(vm(t,false),true):(xv(t,f),false):i&&(P||!f);}function aZ(t,e,A,n){var P,r,i,f,D,Q,U,L,s,y,l,T,c;for(f=0,s=0;s<A.c.length;s++)for(P=A.e[A.c[s]],c=GD(K(t.k,P)),y=0;y<n.c.length;y++)r=n.e[n.c[y]],l=c+GD(K(t.k,r)),Q=w.Math.abs(e.k[P].a-e.k[r].a),Q<l&&(U=w.Math.abs(e.k[P].b-e.k[r].b),U<l&&(L=w.Math.abs(e.k[P].c-e.k[r].c),L<l&&(D=w.Math.sqrt(Q*Q+U*U+L*L),D<l&&(T=(l-D)/l,i=T*T,f+=i))));return 20*f;}function tW(t){var e,A,n,P,r;for(t.a=t.d.f,t.b=h(rt,ft,6,t.k.f,16,1),t.c=h(rt,ft,6,t.k.g,16,1),t.g=new f1(),e=pk(t);e!=-1;){if(A=t.g.a.length,Iv(t,new pT(e,-1,-1,false,false),A),O(t.k,e)!=0)for(Bk(t,A,false);A<t.g.a.length-1;){for(;eG(t,N(t.g,A).a);)Bk(t,A,true);++A;}e=pk(t);}for(t.q=h(F,k,6,t.k.f,15,1),n=0,r=new Wt(t.g);r.a<r.c.a.length;)P=t1(r),t.q[P.a]=n++;}function mR(t,e,A,n,P){var r,i,f,D,Q,U;if(n&&G1(t,e)>1||!n&&G1(t,e)>2)return  false;for(i=0,r=h(yt,wt,6,4,15,1),D=0;D<t.r;D++){for(Q=0;Q<2;Q++)if(t.D[Q][D]==e){if(i==2){i=3;break;}r[i++]=Y0(t,e,t.D[1-Q][D]);}if(i==3)break;}return i==3?false:(U=i==1?r[0]+Q1:w.Math.abs(r[0]-r[1])>Q1?(r[0]+r[1])/2:(r[0]+r[1])/2+Q1,f=Q1*(A-2)/A,J5(t,e,A,e,n,U-f/2,Q1-f,P),t.T=0,true);}function C5(t){var e,A,n,P,r;if(P=new R7(new K2()),r=new W7(),t.k!=null)for(n=0;n<t.k.length;n++)for(e=0;e<t.k[n].r;e++)ls(P,t.e[n].R.c*hh(t.k[n],e)),ls(r,XT(P)),P.b.a.length<r.b.a.length&&ls(P,XT(r));return A=P.b.a.length+r.b.a.length,A==0?rW(t):t.p.c*(A%2==0?(LD(P.b.a.length==0?null:N(P.b,0))+LD(r.b.a.length==0?null:N(r.b,0)))/2:LD(P.b.a.length==0?null:N(P.b,0)));}function kR(t,e,A,n,P){var r,i,f,D,Q,U,L,s,y,l;for(L=false,s=0,Q=0;Q<A;Q++)t.H[Q]!=16&&(t.G[Q]&y8)==0&&++s;if(s==0){for(U=0;U<A;U++)(t.G[U]&y8)==0&&++s;L=true;}if(s==0){if(e<2)return n;for(l=Ve,r=1;r<e;r++)for(i=0;i<r;i++)y=nh(P[r],P[i]),y>0&&y<l&&(l=y);return l!=Ve?.6*l:n;}for(f=0,D=0;D<A;D++)(L||t.H[D]!=16)&&(t.G[D]&y8)==0&&(f+=nh(P[t.D[1][D]],P[t.D[0][D]]));return f/s;}function bR(t,e){var A,n,P,r,i,f,D,Q;for(t.p=new Qo(t,e),n=h(F,k,6,t.f,15,1),P=0;P<t.g;P++)yP(t.p,P)!=0&&(t.F[P]|=64,++n[t.D[0][P]],++n[t.D[1][P]]);for(A=0;A<t.f;A++)n[A]==2?t.u[A]|=re:n[A]==3?t.u[A]|=I1:n[A]>3&&(t.u[A]|=hn);for(Q=0;Q<t.p.j.a.length;Q++)for(i=h3(t.p,Q),D=V7(t.p,Q),f=i.length,r=0;r<f;r++)t.u[i[r]]|=8,t.F[D[r]]|=128,t.H[D[r]]==386&&(t.H[D[r]]=2);}function RR(t,e,A){var n,P,r,i,f,D,Q,U,L,s;for(U=-1,L=-1,s=-1,r=h(rt,ft,6,O(t.c,e),16,1),D=0;D<O(t.c,e);D++)if(!r[D]&&(P=_(t.c,e,D),P!=A&&(i=R0(t.c,P),L<i))){for(f=false,Q=D+1;Q<O(t.c,e);Q++)if(n=_(t.c,e,Q),n!=A&&R0(t.c,n)==i){if(r[Q]=true,f)return P;f=true;}f?s=P:(L=i,U=P);}return U==-1&&(a1(t.c,e)==1&&K(t.c,e)<10||vn(t.c,e)||EP(t.c,e,true))?s:U;}function eW(t){var e,A,n,P,r,i,f,D,Q,U,L;for(n=J8(t.f.f),D=2,A=0;A<t.f.f;A++)D=w.Math.max(D,Mt(t.f,A));for(r=(62+2*n+D*(n+1))/63|0,P=h(B4,k2,100,t.f.q,0,1),e=0;e<t.f.q;e++)P[e]=new bo(r),$e(P[e],e);for(L=h(F,k,6,t.f.q,15,1),i=0;i<t.f.g;i++)f=qe(t.f,i),(f==1||f==2)&&(ue(P[z(t.f,0,i)],f),ue(P[z(t.f,1,i)],f));Q=Hm(P,L);do U=Q,ZX(t,P,L,n,D),Q=Hm(P,L);while(U!=Q);return L;}function jR(t,e,A,n){mQ();var P,r,i,f,D,Q;if(i=0,Q=0,P=0,n==null&&(n=h(Ee,PA,6,3,15,1)),D=w.Math.min(t,w.Math.min(e,A)),f=w.Math.max(t,w.Math.max(e,A)),P=f,r=f-D,r==0)return P=D,i=0,n[0]=i,n[1]=Q,n[2]=P,n;if(f!=0)Q=r/f;else return Q=0,i=0,n[0]=i,n[1]=Q,n[2]=P,n;return t==f?i=(e-A)/r:e==f?i=2+(A-t)/r:i=4+(t-e)/r,i*=60,i<0&&(i+=360),n[0]=i/360,n[1]=Q,n[2]=P,n;}function AW(t,e,A,n,P,r){var i,f,D,Q,U,L,s;for(Q=EF(e)-EF(t),i=Xk(e,Q),D=S0(0,0,0);Q>=0&&(f=xz(t,i),!(f&&(Q<22?D.l|=1<<Q:Q<44?D.m|=1<<Q-22:D.h|=1<<Q-44,t.l==0&&t.m==0&&t.h==0)));)U=i.m,L=i.h,s=i.l,i.h=L>>>1,i.m=U>>>1|(L&1)<<21,i.l=s>>>1|(U&1)<<21,--Q;return A&&WL(D),r&&(n?(In=Wr(t),P&&(In=kF(In,(Xr(),ec)))):In=S0(t.l,t.m,t.h)),D;}function c1(t,e,A){var n,P,r,i,f;if(t==null)throw At(new YP(Pr));for(r=t.length,i=r>0&&(Xt(0,t.length),t.charCodeAt(0)==45||(Xt(0,t.length),t.charCodeAt(0)==43))?1:0,n=i;n<r;n++)if(KJ((Xt(n,t.length),t.charCodeAt(n)))==-1)throw At(new YP(g2+t+'"'));if(f=parseInt(t,10),P=f<e,isNaN(f))throw At(new YP(g2+t+'"'));if(P||f>A)throw At(new YP(g2+t+'"'));return f;}function nW(t,e){var A,n,P,r;if(e>0&&(e=ns(t,e,9)),e>0&&(e=ns(t,e,17)),e>0&&(e=ns(t,e,35)),e>0&&(e=ns(t,e,53)),e>0){for(A=0;A<t.f;A++)if(t.s[A]>0){for(P=false,r=0;r<t.j[A];r++)if(n=t.i[A][r],t.s[n]==0&&tA(t,n)&&xt(t,n)>0){if(t.s[n]=-1,t.T=0,--e,e==0)return 0;P=true;break;}if(P)continue;}}return e>0&&(e=Es(t,e,8,16)),e>0&&(e=Es(t,e,8,15)),e>0&&(e=Es(t,e,8,6)),e>0&&(e=Es(t,e,7,16)),e;}function pR(t,e){var A,n,P,r,i,f,D,Q;for(P=0;P<t.g.g;P++)if((ee(t.g,P)&h8)!=0){if(r=qe(t.g,P),r==0)continue;if(A=z(t.g,0,P),n=z(t.g,1,P),t.f==null||e==-1&&t.f[A]==-1&&t.f[n]==-1||e!=-1&&(t.f[A]==e||t.f[n]==e)){if(i=t.G[A],f=t.G[n],D=D1(t.H,i,f),Q=qe(t.H,D),Q==0&&(WP(t.H,D)&&(Q=yZ(t,D)),Q==0)||r==3||Q==3)continue;if(NX(t,P)==(r==Q))return  false;}}return  true;}function PW(t,e,A){var n,P,r,i,f,D;f=E1(di[A]),i=l0(E1(t.e),A),D=E1(t.f),r=Mn(D,f),P=Y9(D,f),G(P,0)!=0&&(n=Hi(M1(G(P,0)<0?p0(P):P,1),f)?-1:S1(M1(G(P,0)<0?p0(P):P,1),f)?1:0,r=O1(r,EQ(zt(r)&1,(G(P,0)==0?0:G(P,0)<0?-1:1)*(5+n),e.b)),w.Math.log10(Jr(G(r,0)<0?p0(r):r))>=e.a&&(r=Mn(r,10),i=l0(i,1))),t.e=ym(Jr(i)),t.d=e.a,t.f=Jr(r),t.a=fh(r),t.c=null;}function CR(t,e,A,n){var P,r,i,f,D,Q,U;for(Q=0,r=V(n,h1),f=A-1;f>=0;f--)U=Y(M1(Q,32),V(e[f],h1)),G(U,0)>=0?(D=Mn(U,r),Q=Y9(U,r)):(P=DA(U,1),i=n>>>1,D=Mn(P,i),Q=Y9(P,i),Q=O1(M1(Q,1),V(U,1)),(n&1)!=0&&(G(D,Q)<=0?Q=l0(Q,D):Ug(l0(D,Q),r)?(Q=O1(Q,l0(r,D)),D=l0(D,1)):(Q=O1(Q,l0(M1(r,1),D)),D=l0(D,2)))),t[f]=zt(V(D,h1));return zt(Q);}function rW(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y,l,T;if(L=Ve,s=k6,l=Ve,T=k6,P=0,t.k!=null)for(f=0;f<t.k.length;f++)for(A=0;A<t.k[f].q;A++)U=Z1(t.e[f].R,Q7(t.k[f],A).a),y=X1(t.e[f].R,Q7(t.k[f],A).b),L=w.Math.min(L,U),s=w.Math.max(s,U),l=w.Math.min(l,y),T=w.Math.max(T,y),++P;return P<=1?t.d:(r=s-L,i=T-l,D=(r+i)/2,Q=3*P,e=r*i,n=D/(1-Q),w.Math.sqrt(n*n-e/(1-Q))-n);}function iW(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T;for(Q=t.i.M,U=0,r=0;r<A;r++)Q>e[r]&&(Q=e[r],U=r);for(T=h(F,k,6,A,15,1),D=U>0?U-1:A-1,L=U<A-1?U+1:0,i=e[D]<e[L],P=0;P<A;P++)T[P]=e[U],i?--U<0&&(U=A-1):++U==A&&(U=0);for(l=new Wt(t.j);l.a<l.c.a.length;)if(y=t1(l),y.length==A){for(n=true,f=0;f<A;f++)if(y[f]!=T[f]){n=false;break;}if(n)return;}mt(t.j,T),s=Gk(t,T),mt(t.k,s),gb(t,T,s);}function fW(t,e,A,n,P,r,i){return !(K(t.j,A)==8&&a1(t.j,A)==0&&tQ(t.j,e)&&tQ(t.d,n)&&r!=I1||K(t.j,A)==8&&O(t.j,A)==2&&tQ(t.j,VO(t.j,e,A))&&r<768||K(t.j,e)==8&&(tQ(t.j,A)||tQ(t.d,P))&&r<512||!i&&(K(t.j,A)!=6||!$O(t.j,e))||K(t.j,A)==8&&K(t.j,e)!=6&&r!=I1||K(t.j,e)==5&&K(t.j,A)==6&&r<768);}function M5(t,e,A){var n,P;return P=rp(t,e,(A&16)==0),P==null?null:(n=new Fn(P[0]),A!=0&&(n.a+="#",(A&1)!=0&&P.length>1&&P[1]!=null&&(n.a+=""+P[1])),A&=-2,A!=0&&(n.a+="#",(A&2)!=0&&P.length>2&&P[2]!=null&&(n.a+=""+P[2])),A&=-3,A!=0&&(n.a+="#",(A&4)!=0&&P.length>3&&P[3]!=null&&(n.a+=""+P[3])),A&=-5,A!=0&&(n.a+="#",(A&8)!=0&&P.length>4&&P[4]!=null&&(n.a+=""+P[4])),n.a);}function P9(){P9=B1;var t,e;for(yr=h(Bi,Ye,23,32,0,1),Wf=h(Bi,Ye,23,32,0,1),Qc=B(d(F,1),k,6,15,[1,10,100,1e3,nP,jy,1e6,1e7,1e8,Of]),t=1,e=0;e<=18;e++)yr[e]=(ke(),G(t,0)>=0?we(t):FP(we(p0(t)))),Wf[e]=hu(M1(t,e),0)?we(M1(t,e)):FP(we(p0(M1(t,e)))),t=Un(t,5);for(;e<Wf.length;e++)yr[e]=bP(yr[e-1],yr[1]),Wf[e]=bP(Wf[e-1],(ke(),EU));}function MR(t,e,A){var n,P,r,i,f;for(r=0;r<e;r++){for(n=0,f=r+1;f<e;f++)n=O1(O1(Un(V(t[r],h1),V(t[f],h1)),V(A[r+f],h1)),V(zt(n),h1)),A[r+f]=zt(n),n=DA(n,32);A[r+e]=zt(n);}for(uF(A,A,e<<1),n=0,P=0,i=0;P<e;++P,i++)n=O1(O1(Un(V(t[P],h1),V(t[P],h1)),V(A[i],h1)),V(zt(n),h1)),A[i]=zt(n),n=DA(n,32),++i,n=O1(n,V(A[i],h1)),A[i]=zt(n),n=DA(n,32);return A;}function HR(t){var e,A,n,P,r,i,f,D,Q,U;i=N5(t),D=t.q;do--D;while(D>=0&&i[D]);for(e=0;e<D;e++)if(i[e]){S5(t,e,D),U=i[e],i[e]=i[D],i[D]=U;do--D;while(i[D]);}if(t.f=D+1,t.q==t.f){t.g=t.r;return;}for(f=h(rt,ft,6,t.r,16,1),r=0;r<t.r;r++)A=t.D[0][r],n=t.D[1][r],(i[A]||i[n])&&(f[r]=true);Q=t.r;do--Q;while(Q>=0&&f[Q]);for(P=0;P<Q;P++)if(f[P]){t5(t,P,Q),f[P]=false;do--Q;while(f[Q]);}t.g=Q+1;}function DW(t,e,A){var n,P,r,i,f,D,Q;for(D=h(F,k,6,t.g,15,1),i=h(F,k,6,t.g,15,1),Q=h(rt,ft,6,t.i.f,16,1),n=z(t.i,0,e),P=z(t.i,1,e),D[0]=n,D[1]=P,i[1]=-1,Q[P]=true,f=1;f>=1;){if(++i[f],i[f]==O(t.i,D[f])){Q[D[f]]=false,--f;continue;}if(r=_(t.i,D[f],i[f]),!(Q[r]||A[r])){if(r==n&&f>1){if(iW(t,D,f+1),t.j.a.length>=re)return;continue;}f+1<t.g&&(++f,D[f]=r,Q[r]=true,i[f]=-1);}}}function uW(t,e){var A,n,P,r,i,f,D,Q,U,L;if(U=ud(t.f)!=1?1:Cb(e,t.p[1],t.k[0]),L=ud(t.g)!=1?1:Cb(e,t.p[2],t.k[1]),!(U==1&&L==1)){for(i=360/w.Math.max(U,L)|0,A=0,n=0,r=0;r<t.d.length&&t.d[r]<i;r++)n+=t.c[r],++A;if(A!=0){for(Q=h(Yt,at,6,A,15,1),f=h(Yt,at,6,A,15,1),D=h(Yt,te,16,A,0,2),P=0;P<A;P++)Q[P]=t.d[P],f[P]=(t.c[P]*100/n|0)<<16>>16,D[P]=t.e[P];t.d=Q,t.c=f,t.e=D;}}}function VR(t,e){var A,n,P,r,i,f,D,Q,U,L;if(f=h(F,k,6,t.q,15,1),i=n9(t,f,false,e),i<=1)return null;for(D=h(F,k,6,i,15,1),n=0;n<t.f;n++)++D[f[n]];for(U=0,L=D[0],Q=1;Q<i;Q++)L<D[Q]&&(L=D[Q],U=Q);for(A=0;A<t.q;A++)f[A]!=U&&(t.C[A]=-1);for(r=0;r<t.r;r++)(!e&&t.H[r]==16||f[t.D[0][r]]!=U)&&(t.H[r]=512);P=mf(t),t.T=0;try{Pp(t,!0,!0);}catch(s){if(s=t0(s),!Zt(s,19))throw At(s);}return P;}function QW(t){for(var e,A,n,P,r,i,f;;){for(r=null,e=0;e<t.f.q;e++){for(f=0,P=0;P<Mt(t.f,e);P++)t.c[Ot(t.f,e,P)]||++f;f==1&&(i=SW(t,e),(!r||i.a.length>r.a.length)&&(r=i));}if(!r)break;for(A=new MP(t.f,r.a.length,false),n=0;n<r.a.length;n++)t.b[r.a[n]]=true,n<r.a.length-1&&(t.c[r.b[n]]=true),A.e[n]=r.a[n],A.a[n]=w.Math.cos(m2)*n,A.b[n]=(n&1)==1?0:.5,A.k[n]=128+r.a.length;pP(t.d,A);}}function UW(t,e,A,n,P){var r,i,f,D;if(i=t.e[e],t.o[e]!=0||e<t.f&&i0(t.p,e)||t.j[e]<3||i>4)return  false;for(D=h(rt,ft,6,4,16,1),f=0;f<i;f++){if(r=3.9269908169872414-n[f],w.Math.abs(R6-r%bA)>.0872664675116539||(P[f]=3&vt(r/bA),D[P[f]]))return  false;if(D[P[f]]=true,(P[f]&1)==0){if(t.H[t.k[e][A[f]]]!=1)return  false;}else if(!Gr(t,t.k[e][A[f]],e))return  false;}return D[0]&&D[2];}function oW(t,e,A,n){var P,r,i,f,D,Q,U,L,s,y;for(s=h(F,k,6,t.f,15,1),y=IK(t,e,s),i=false,r=false,L=new f1(),P=0;P<y;P++)(t.u[s[P]]&4)!=0&&(Q=H5(t,s[P],n),(Q==1||Q==2)&&(f=A.u[n[s[P]]]&3,(f==1||f==2)&&(Q==f?i=true:r=true)),D=h(F,k,6,2,15,1),D[0]=s[P],D[1]=Q,L.a.push(D));if(!i||!r)for(U=new Wt(L);U.a<U.c.a.length;)Q=t1(U),D=Q[1],(D==1||D==2)&&r&&(D=D==1?2:1),ce(A,n[Q[0]],D,true);}function EQ(t,e,A){var n;switch(n=0,A.b){case 7:if(e!=0)throw At(new p8("Rounding necessary"));break;case 0:n=e==0?0:e<0?-1:1;break;case 2:n=w.Math.max(e==0?0:e<0?-1:1,0);break;case 3:n=w.Math.min(e==0?0:e<0?-1:1,0);break;case 4:w.Math.abs(e)>=5&&(n=e==0?0:e<0?-1:1);break;case 5:w.Math.abs(e)>5&&(n=e==0?0:e<0?-1:1);break;case 6:w.Math.abs(e)+t>5&&(n=e==0?0:e<0?-1:1);}return n;}function LW(t,e){var A,n;if(A=nh(J0(e,t.f[1]),J0(e,t.f[0])),t.a.length==2){if(A<1.02*t.a[0])return hJ(t,e.o,A);if(A>t.a[1])return F7((A-t.a[1])/A);}else if(n=t.c==10?vq(w.Math.abs(t.a[0]-A)/w.Math.max(t.a[0],A)):t.c==5?Eq(w.Math.abs(t.a[0]-A)/w.Math.max(t.a[0],A)):F7(w.Math.abs(t.a[0]-A)/w.Math.max(t.a[0],A)),w.Math.abs(n)>.009999999776482582)return n;return 0;}function Ss(t,e){var A,n,P,r,i;if(e<t.f&&i0(t.p,e)||t.o[e]!=0||gt(V(t.B[e],Ur),0)||(n=t.u[e]&hn,(n==0?0:n==re?2:n==I1?3:4)<3)||(i=t.p&&e<t.f?iA(t.p,e):0,i>7))return  false;for(r=0;r<t.p.j.a.length&&!(N3(t.p,r)==i&&yA(t.p,r,e));)++r;if(r>=re&&r==t.p.j.a.length)return  false;for(P=0;P<t.j[e];P++)if(A=t.k[e][P],!Af(t.p,r,A)&&Y$(t,e,r,t.i[e][P],A))return  true;return  false;}function sW(t,e,A,n){var P,r,i,f,D,Q,U,L,s,y,l,T,c,g;D=(e.c-e.d)/9,y=(e.b-e.a)/9,Q=e.b+D,l=e.d+y,U=e.b-D,T=e.d-y,L=(e.a+Q)/2,c=(e.c+l)/2,s=(e.a+U)/2,g=(e.c+T)/2,i=new YD(3),f=new YD(4),Ce(i,e.a,e.c),Ce(i,L,c),Ce(i,s,g),Ce(f,s,g),Ce(f,L,c),Ce(f,Q,l),Ce(f,U,T),vr(t.L,D1(t.L,A,n))?(P=-3,r=-3):(P=t.p[A],r=t.p[n],t.L.O!=1&&(r=Xh(t,A),P==ou(t.L,A)&&(P=r))),W1(t,P),t.sb(i),W1(t,r),t.sb(f),W1(t,t.Q);}function yW(t){var e,A,n,P,r,i,f,D;ut(t.i,1),f=t.i.f;do--f;while(f>=0&&K(t.i,f)==1);for(e=0;e<f;e++)if(K(t.i,e)==1){S5(t.i,e,f);do--f;while(K(t.i,f)==1);}if(f!=t.i.f-1){for(i=h(rt,ft,6,t.i.g,16,1),r=0;r<t.i.g;r++)A=z(t.i,0,r),n=z(t.i,1,r),(K(t.i,A)==1||K(t.i,n)==1)&&(i[r]=true);D=t.i.g;do--D;while(D>=0&&i[D]);for(P=0;P<D;P++)if(i[P]){t5(t.i,P,D),i[P]=false;do--D;while(i[D]);}}}function lW(t,e,A){var n,P,r,i,f,D;for(f=new V0(),n=XY(t,e),f.a+=" rb:",D=f.a.length,r=0;r<n.length;r++)n[r]!=-1&&(f.a.length!=D&&(f.a+=","),f.a+=r);for(f.a+=" ti:",D=f.a.length,i=0;i<n.length;i++)n[i]!=-1&&(f.a.length!=D&&(f.a+=","),f.a+=n[i]);for(f.a+=" (",D=f.a.length,P=0;P<n.length;P++)n[P]!=-1&&(f.a.length!=D&&(f.a+=","),g3(f,A.i[P][n[P]]));return J(f,(J9(),") "+tr(e.a,3))),f.a;}function qs(t,e,A,n){var P,r,i,f,D,Q,U,L,s,y,l;A==0?(L=e.a,y=e.c,s=e.b,l=e.d):(L=e.b,y=e.d,s=e.a,l=e.c),U=N(t.$,n),D=s>L?U.c+U.b:U.c,Q=l>y?U.d+U.a:U.d,P=s-L,r=l-y,w.Math.abs(P)>w.Math.abs(r)?y==l?(i=D,f=y):(i=L+P*(Q-y)/r,s>L==D>i?f=Q:(i=D,f=y+r*(D-L)/P)):L==s?(i=L,f=Q):(f=y+r*(D-L)/P,l>y==Q>f?i=D:(i=L+P*(Q-y)/r,f=Q)),A==0?(e.a=i,e.c=f):(e.b=i,e.d=f);}function H5(t,e,A){var n,P,r,i,f,D,Q,U,L;if(L=t.u[e]&3,L==1||L==2){if(f=false,t.o[e]==2&&t.j[e]==2&&t.n[e][0]==2&&t.n[e][1]==2&&t.C[e]<=7)for(i=0;i<t.j[e];i++){for(n=t.i[e][i],U=0,Q=h(F,k,6,3,15,1),D=0;D<t.j[n];D++)Q[U]=t.i[n][D],Q[U]!=e&&++U;U==2&&Q[0]<Q[1]^A[Q[0]]<A[Q[1]]&&(f=!f);}else for(i=1;i<t.j[e];i++)for(D=0;D<i;D++)P=t.i[e][i],r=t.i[e][D],P<r^A[P]<A[r]&&(f=!f);f&&(L=L==1?2:1);}return L;}function TW(t){var e,A,n,P,r,i,f,D,Q,U,L,s;for(t.u=h(rt,h0,12,t.k.q,0,2),A=1;A<t.k.q;A++)t.u[A]=h(rt,ft,6,A,16,1);for(U=t.q,L=0,s=U.length;L<s;++L)for(Q=U[L],i=1;i<Q.d.length;i++)for(D=0;D<i;D++)LB(t,Q.e[Q.d[i]],Q.e[Q.d[D]]);for(e=0;e<t.k.f;e++)for(r=1;r<Mt(t.k,e);r++)for(f=0;f<r;f++)LB(t,_(t.k,e,r),_(t.k,e,f));if(t.e!=null)for(n=1;n<t.k.q;n++)for(P=0;P<n;P++)t.e[n]!=t.e[P]&&(t.u[n][P]=true);}function hW(t){var e,A,n,P,r,i,f,D;if(!t.k||t.k.q==0)return "";for(ut(t.k,15),t.d=new EA(t.k,129),P=t.d.T,t.o=h(rt,ft,6,P+1,16,1),t.n=h(rt,ft,6,P+1,16,1),t.i=R1(F,[D0,k],[7,6],15,[2,32],2),e=0;e<t.k.f;e++)D=Ae(t.k,e)-1,D!=-1&&++t.i[D][VA(t.k,e)];for(tW(t),D$(t),ma(t),n=new V0(),A=new V0(),r=true,f=new Wt(t.g);f.a<f.c.a.length;)i=t1(f),i.g==-1&&(r?r=false:n.a+="."),oa(t,i,n,A);return n.a;}function ER(t,e){var A,n,P,r;for(ki(t.V),t.L=h(o9,or,26,e.g.a.length+e.f.a.length,0,1),t.Y=e.g.a.length,P=0;P<e.g.a.length+e.f.a.length;P++)t.L[P]=P<e.g.a.length?N(e.g,P):N(e.f,P-e.g.a.length),RD(t.V,t.L[P]);for(je(t.V,e.c||cQ(e)),z1(t),t.M=h(F,k,6,t.V.q,15,1),A=0,n=0;n<t.L.length;n++)for(r=0;r<t.L[n].q;r++)t.M[A++]=n;t.I=new to(),t.U=5,t.eb=w.Math.max(t.eb,5),n1(t.k),N1(t,new q1(t,1,false));}function cW(t){var e,A,n,P,r,i;if(t.L.K){for(W1(t,320),e=0;e<t.L.f;e++)P=o0(t.L,e),G(P,0)!=0&&((t.G&8)!=0||gt(V(P,{l:ge,m:896,h:1048448}),0))&&t.ub(Z1(t.R,kt(t.L,e))-t.Z/2,X1(t.R,jt(t.L,e))-t.Z/2,t.Z);for(r=0;r<t.L.g;r++)i=ee(t.L,r),i!=0&&((t.G&8)!=0||(i&-8388481)!=0)&&(A=z(t.L,0,r),n=z(t.L,1,r),t.ub((Z1(t.R,kt(t.L,A))+Z1(t.R,kt(t.L,n))-t.Z)/2,(X1(t.R,jt(t.L,A))+X1(t.R,jt(t.L,n))-t.Z)/2,t.Z));}}function SR(t){t.r&&(p5(t,false),null.vd(),null.vd(),(t.U&4)!=0&&(null.vd(),null.vd()),(t.U&4)!=0&&null.vd()),(t.U&4)!=0&&t.w==19&&(null.vd(),null.vd(),null.vd(),null.vd(),null.vd(),null.vd()),t.w==18&&(null.vd(),null.vd(),null.vd()),t.g&&t.t!=-1&&(ou(t.V,t.t),null.vd(),null.vd(),null.vd(),null.vd(),null.vd(),null.vd(),null.vd(),null.vd(),null.vd(),null.vd()),null.vd();}function SQ(t,e,A,n,P,r){var i,f,D,Q,U;for(ut(t,1),P&&(SL(P),P.d=null,P.K=false),D=h(F,k,6,t.q,15,1),n==null?n=h(rt,ft,6,t.q,16,1):Hu(n,n.length),D[0]=e,D[1]=A,n[e]=true,n[A]=true,f=1,Q=1;f<=Q;){for(U=0;U<t.e[D[f]];U++){if(i=t.i[D[f]][U],i==e&&f!=1)return  -1;n[i]||(n[i]=true,D[++Q]=i);}++f;}return P&&(r==null&&(r=h(F,k,6,n.length,15,1)),ui(t,P,n,false,r),Bf(P,r[e],0,0,-1,0)),n[e]=false,Q;}function wW(t){var e,A,n,P,r,i,f,D;for(A=0;A<t.j.g;A++)if(t.e[A])for(P=0;P<2;P++){for(f=z(t.j,P,A),e=false,i=0;i<O(t.j,f);i++)if(A!=Ot(t.j,f,i)&&t.e[Ot(t.j,f,i)]){e=true;break;}if(!e){for(D=A,n=z(t.j,1-P,A);D!=-1;)for(t.d[f]=false,t.e[D]=false,--t.c,w0(t.j,D,8),D=-1,f=n,r=0;r<O(t.j,f);r++)if(t.e[Ot(t.j,f,r)])if(D==-1)D=Ot(t.j,f,r),n=_(t.j,f,r);else {f=-1,D=-1;break;}f!=-1&&(t.d[n]=false);break;}}}function gW(t,e,A){var n,P,r,i,f,D,Q,U;for(r=t.g[e],P=1,D=0;D<r.length;D++)if(n=r[D],t.f[n]&&t.k[n]==2){P=2;break;}for(i=h(F,D0,7,32,0,2),Q=0;Q<r.length;Q++)n=r[Q],t.f[n]&&t.k[n]==P&&(i[t.j[n]]=rf(i[t.j[n]],(A[n]<<16)+n));for(U=0;U<32;U++)i[U]!=null&&i[U].sort(Fe(u0.prototype.gd,u0,[]));if(wu(i,new GP()),f5(i[0],i[1])==0)return  false;for(f=0;f<i[0].length;f++)n=i[0][f]&w1,t.k[n]=0,t.j[n]=-1;return  true;}function dW(t){var e,A,n,P,r,i,f,D,Q,U,L;for(n=h(F,k,6,t.O,15,1),e=0;e<t.R.f;e++){for(U=O(t.R,e)+xi(t.R,e),Q=0,r=0;r<De(t.R,e);r++)if(r<O(t.R,e)||r>=Mt(t.R,e)){for(L=2*t.f[_(t.R,e,r)],A=Ot(t.R,e,r),dt(t.R,A)==2&&(_e(t.R,A)||++L),f=0;f<Q&&!(L<n[f]);f++);for(D=Q;D>f;D--)n[D]=n[D-1];n[f]=L,++Q;}for($e(t.e[e],e),_1(t.e[e],t.c,t.f[e]),i=U;i<t.O;i++)_1(t.e[e],t.c+1,0);for(P=0;P<U;P++)_1(t.e[e],t.c+1,n[P]);}}function qR(t,e){var A,n,P,r,i,f;return P=cF(t),f=cF(e),P==f?t.e==e.e&&t.a<54&&e.a<54?t.f<e.f?-1:t.f>e.f?1:0:(n=t.e-e.e,A=(t.d>0?t.d:w.Math.floor((t.a-1)*hU)+1)-(e.d>0?e.d:w.Math.floor((e.a-1)*hU)+1),A>n+1?P:A<n-1?-P:(r=(!t.c&&(t.c=kP(E1(t.f))),t.c),i=(!e.c&&(e.c=kP(E1(e.f))),e.c),n<0?r=bP(r,ii(-n)):n>0&&(i=bP(i,ii(n))),rs(r,i))):P<f?-1:1;}function BW(t){var e,A,n,P,r,i,f,D,Q,U,L;for(t.b=h(F,k,6,t.i.f,15,1),f=h(F,k,6,t.i.f,15,1),n=h(rt,ft,6,t.i.g,16,1),L=0,A=0;A<t.i.g;A++)if(!n[A]&&t.g[A])for(++L,t.b[z(t.i,0,A)]=L,t.b[z(t.i,1,A)]=L,n[A]=true,Q=0;Q<2;Q++)for(e=z(t.i,Q,A),t.b[e]=L,i=0,D=0,f[0]=e;i<=D;){for(U=0;U<O(t.i,f[i]);U++)r=Ot(t.i,f[i],U),!n[r]&&t.g[r]&&(n[r]=true,P=_(t.i,f[i],U),t.b[P]==0&&(t.b[P]=L,f[++D]=P));++i;}t.j=L;}function vW(t,e,A,n,P){var r,i;if(r=O1(V(e[0],h1),V(n[0],h1)),t[0]=zt(r),r=q0(r,32),A>=P){for(i=1;i<P;i++)r=O1(r,O1(V(e[i],h1),V(n[i],h1))),t[i]=zt(r),r=q0(r,32);for(;i<A;i++)r=O1(r,V(e[i],h1)),t[i]=zt(r),r=q0(r,32);}else {for(i=1;i<A;i++)r=O1(r,O1(V(e[i],h1),V(n[i],h1))),t[i]=zt(r),r=q0(r,32);for(;i<P;i++)r=O1(r,V(n[i],h1)),t[i]=zt(r),r=q0(r,32);}G(r,0)!=0&&(t[i]=zt(r));}function V5(t,e,A,n,P){i8();var r,i,f,D,Q,U,L,s,y,l,T;for(D=0;D<e.length;D++)Hr(A,t.k[e[D]]);for(cd(A,1/e.length),Q=0;Q<e.length;Q++)P[Q][0]=t.k[e[Q]].a-A.a,P[Q][1]=t.k[e[Q]].b-A.b,P[Q][2]=t.k[e[Q]].c-A.c;for(l=R1(yt,[h0,wt],[15,6],15,[3,3],2),U=0;U<e.length;U++)for(L=0;L<3;L++)for(s=0;s<3;s++)l[L][s]+=P[U][L]*P[U][s];for(T=new ry(l),r=T.e,y=0,f=1;f<3;f++)r[f]<r[y]&&(y=f);i=T.a,n.a=i[0][y],n.b=i[1][y],n.c=i[2][y];}function FW(t,e,A,n){var P,r,i,f,D,Q,U,L,s,y,l;if(U=h(rt,ft,6,e.q,16,1),s=SQ(e,t.k[0],t.p[1],U,null,null),P=0,t.k[0]!=t.p[2]&&(P=o5(e,t.k[0],t.p[2])),Q=false,s>n-P-s&&(s=n-P-s,Q=true),Q&&P!=0){for(l=t.k[0],i=t.p[1];e.o[l]==2&&e.j[l]==2&&e.C[l]<10;)for(U[l]=true,L=0;L<2;L++)if(f=e.i[l][L],f!=i){i=l,l=f;break;}}for(y=0,D=A[t.p[1]],t.o=h(F,k,6,s,15,1),r=0;r<e.q;r++)A[r]==D&&U[r]^Q&&(t.o[y++]=r);t.n=t.p[Q?2:1];}function IR(t,e){sg();var A,n,P,r;n=new Vs(t);try{for(r=new f3(),rA(r,"$RXN"+zf),Si(r.a,e??""),rA(r,zf+(""+zf)),rA(r,qy+M5(t,!0,27)),rA(r,zf),rA(r,"  "+n.g.a.length+"  "+n.f.a.length+zf),P=hX(n),A=0;A<n.g.a.length+n.f.a.length;A++)rA(r,"$MOL"+zf),sq(new i6(A<n.g.a.length?N(n.g,A):N(n.f,A-n.g.a.length),P,null),r);this.a=r.a;}catch(i){if(i=t0(i),Zt(i,19))x1();else throw At(i);}}function mW(t){var e,A,n,P,r,i,f,D,Q,U;for(r=wP(t,t.q,t.r,wn),i=r*r/16,n=1;n<t.q;n++)for(P=0;P<n;P++)if(D=t.J[P].a-t.J[n].a,Q=t.J[P].b-t.J[n].b,U=t.J[P].c-t.J[n].c,D*D+Q*Q+U*U<i)throw At(new V1("The distance between two atoms is too close."));for(ut(t,1),e=0,A=0;A<t.f;A++){if(G1(t,A)>(f=Cn(t,A),f+WA(t,A,f,t.C[A])))throw At(new V1("atom valence exceeded"));e+=t.s[A];}if(e!=0)throw At(new V1("unbalanced atom charge"));}function qQ(t,e){var A,n,P,r,i,f,D,Q,U;return A=t.J[e[0]],n=t.J[e[1]],P=t.J[e[2]],r=t.J[e[3]],D=new xe(n.a-A.a,n.b-A.b,n.c-A.c),Q=new xe(P.a-n.a,P.b-n.b,P.c-n.c),U=new xe(r.a-P.a,r.b-P.b,r.c-P.c),i=new xe(D.b*Q.c-D.c*Q.b,-(D.a*Q.c-D.c*Q.a),D.a*Q.b-D.b*Q.a),f=new xe(Q.b*U.c-Q.c*U.b,-(Q.a*U.c-Q.c*U.a),Q.a*U.b-Q.b*U.a),-w.Math.atan2(w.Math.sqrt(Q.a*Q.a+Q.b*Q.b+Q.c*Q.c)*(D.a*f.a+D.b*f.b+D.c*f.c),i.a*f.a+i.b*f.b+i.c*f.c);}function IQ(t,e){var A,n,P,r,i,f,D,Q,U;return A=J0(t,e[0]),n=J0(t,e[1]),P=J0(t,e[2]),r=J0(t,e[3]),D=new xe(n.a-A.a,n.b-A.b,n.c-A.c),Q=new xe(P.a-n.a,P.b-n.b,P.c-n.c),U=new xe(r.a-P.a,r.b-P.b,r.c-P.c),i=new xe(D.b*Q.c-D.c*Q.b,-(D.a*Q.c-D.c*Q.a),D.a*Q.b-D.b*Q.a),f=new xe(Q.b*U.c-Q.c*U.b,-(Q.a*U.c-Q.c*U.a),Q.a*U.b-Q.b*U.a),-w.Math.atan2(w.Math.sqrt(Q.a*Q.a+Q.b*Q.b+Q.c*Q.c)*(D.a*f.a+D.b*f.b+D.c*f.c),i.a*f.a+i.b*f.b+i.c*f.c);}function xR(t,e){var A,n,P,r,i,f;for(P=null,r=t.a.a.length+e,f=e*12,n=new f1(),i=0;i<f&&t.a.a.length<r&&!(gt(t.n,0)&&(x1(),S1(E1(Date.now()),t.n)));i++)!P&&(P=new mu(t.d)),sR(t,P)?JR(t,P,t.a,0)&&(P=null):JR(t,P,n,1)&&(P=null);t.a.a.length==0&&n.a.length!=0&&(A=ff(n,h(YE,mV,96,0,0,1)),wu(A,new kw()),jP(t.a,new xD(new Po(A),0,w.Math.min(e,A.length))),t.e=true),(t.a.a.length<r||t.a.a.length==t.b)&&(t.e=true);}function df(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m;for(s=-1,l=wP(t,t.q,t.r,wn),y=Ve,n=0;n<t.r;n++)T=t.J[t.D[0][n]].a,g=t.J[t.D[0][n]].b,c=t.J[t.D[1][n]].a,m=t.J[t.D[1][n]].b,U=c-T,L=m-g,P=w.Math.sqrt(U*U+L*L),r=(T+c)/2,i=(g+m)/2,U=e-r,L=A-i,!(w.Math.sqrt(U*U+L*L)>P/2)&&(c==T?Q=w.Math.abs(T-e):(f=(m-g)/(T-c),D=-f*T-g,Q=w.Math.abs((f*e+A+D)/w.Math.sqrt(f*f+1))),Q<l&&Q<y&&(y=Q,s=n));return s;}function kW(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l;for(P=z(t.i,0,e),r=z(t.i,1,e),D=h(F,k,6,t.i.f,15,1),Q=h(F,k,6,t.i.f,15,1),U=h(F,k,6,t.i.f,15,1),D[0]=P,D[1]=r,Q[P]=1,Q[r]=2,U[P]=-1,U[r]=P,f=1,L=1;f<=L;){for(s=0;s<O(t.i,D[f]);s++){if(i=_(t.i,D[f],s),f>1&&i==P){for(l=h(F,k,6,Q[D[f]],15,1),n=D[f],y=0;y<l.length;y++)l[y]=n,n=U[n];return l;}Q[i]==0&&!A[i]&&(D[++L]=i,Q[i]=Q[D[f]]+1,U[i]=D[f]);}++f;}return null;}function bW(t,e){var A,n,P,r,i,f,D,Q,U,L;for(U=It,D=-1,L=-1,Q=-1,n=0;n<t.j.i.f;n++)if(DT(t.j,n)&&t.j.k[n]!=0)for(f=0;f<e.length;f++)P=e[f]<t.a?e[f]:e[f]<t.b?e[f]-t.a:-1,r=e[f]<t.a?1:e[f]<t.b?2:0,t.j.k[n]==r&&t.j.j[n]==P&&U>t.j.a[n]+(r==1?Q0:0)&&(U=t.j.a[n]+(r==1?Q0:0),D=P,L=r,Q=e[f]);for(A=0;A<t.j.i.f;A++)DT(t.j,A)&&t.j.k[A]==L&&t.j.j[A]==D&&(t.j.k[A]=0,t.j.j[A]=-1);for(i=0;i<t.j.g.length;i++)t.e[Q][i]=false;}function RW(t){var e,A,n,P,r;if(A=t.indexOf(k0(38)),A==-1)return t;for(P=0,r=new TD();A!=-1;)Si(r,(pt(P,A,t.length),t.substr(P,A-P))),Xt(A+1,t.length),t.charCodeAt(A+1)==38?(r.a+="&",P=A+2):(e=(Xt(A+1,t.length),t.charCodeAt(A+1)),e=e-(e<65?48:e<97?65:97),n=(Xt(A+2,t.length),t.charCodeAt(A+2)),n=n-(n<65?48:n<97?65:97),nB(r,16*e+n&w1),P=A+3),A=t.indexOf(k0(38),P);return Si(r,(Xt(P,t.length+1),t.substr(P))),r.a;}function jW(t){var e,A,n,P,r,i;for(t.L=true,r=i2(t,false);t.U<t.R.f&&r;){for(e=0;e<t.R.f;e++)$e(t.e[e],e),_1(t.e[e],t.c,t.f[e]),i=t.db[e]<<7,(t.db[e]==1||t.db[e]==2)&&t.bb[e]!=0&&(i|=t.bb[e]<<5,i|=t.ab[e]),_1(t.e[e],18,M1(i,9));for(A=0;A<t.R.g;A++)n=t.o[A]<<7,(t.o[A]==1||t.o[A]==2)&&l1(t.R,A)==1&&t.n[A]!=0&&(n|=t.n[A]<<5,n|=t.k[A]),ue(t.e[z(t.R,0,A)],n),ue(t.e[z(t.R,1,A)],n);if(P=Wn(t),t.U==P)break;t.U=P,r=i2(t,false);}}function Bf(t,e,A,n,P,r){var i;return (A==1||A==151||A==152)&&G1(t,e)>1?false:(i=t.K&&gt(V(t.B[e],-2),0),t.B[e]=V(t.B[e],-2),t.v!=null&&t.v[e]!=null&&(t.v[e]=null,i=true),t.t!=null&&t.t[e]!=null&&(t.t[e]=null,i=true),A==t.C[e]&&n==t.A[e]&&P==((t.u[e]&g8)>>>27)-1&&r==(t.u[e]&48)?i:((A==151||A==152)&&(n=A-149,A=1),t.u[e]&=960,t.C[e]=A,t.A[e]=n,t.s[e]=0,t.B[e]=0,XA(t,e,P),Ne(t,e,r),Zu(t,t.w[e]),t.T=0,true));}function pW(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T;return y=t.a,l=t.d,T=t.e,l==1?(n=V(y[0],h1),P=V(e,h1),r=Mn(n,P),Q=Y9(n,P),T!=A&&(r=p0(r)),T<0&&(Q=p0(Q)),B(d(Bi,1),Ye,23,0,[(ke(),G(r,0)>=0?we(r):FP(we(p0(r)))),G(Q,0)>=0?we(Q):FP(we(p0(Q)))])):(f=l,D=T==A?1:-1,i=h(F,k,6,f,15,1),U=B(d(F,1),k,6,15,[CR(i,y,l,e)]),L=new Ue(D,f,i),s=new Ue(T,1,U),Rn(L),Rn(s),B(d(Bi,1),Ye,23,0,[L,s]));}function EA(t,e){this.R=t,this.Q=e,ut(this.R,7),this.c=J8(this.R.f),(this.Q&I1)==0&&TZ(this),this.jb=(e&64)!=0||GT(this.R),this.b=NO(this.R)==0,(this.Q&I1)==0&&(this.db=h(q,I,6,this.R.f,15,1),this.fb=h(rt,ft,6,this.R.f,16,1),this.ib=h(rt,ft,6,this.R.f,16,1),this.o=h(q,I,6,this.R.g,15,1),this.q=h(rt,ft,6,this.R.g,16,1),this.p=h(rt,ft,6,this.R.g,16,1)),this.d=false,qa(this),(this.Q&I1)==0&&r$(this),qZ(this);}function CW(t,e,A,n,P){var r,i,f,D,Q,U;for(D=null,r=null,U=0;U<t.g[e].length;U++)i=t.g[e][U],t.f[i]&&(t.o[i]==1||t.o[i]==2)&&(t.k[i]==0?r=rf(r,(P[i]<<16)+i):t.k[i]==n&&t.j[i]==A&&(D=rf(D,(P[i]<<16)+i)));if(f=f5(D,r),f==0)return  false;if(f<0)for(Q=0;Q<t.g[e].length;Q++)i=t.g[e][Q],t.f[i]&&(t.o[i]==1||t.o[i]==2)&&(t.k[i]==0?(t.k[i]=n<<24>>24,t.j[i]=A<<24>>24):t.k[i]==n&&t.j[i]==A&&(t.k[i]=0,t.j[i]=-1));return  true;}function MW(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l;for(f=h(F,k,6,t.f.q,15,1),D=h(F,k,6,t.f.q,15,1),Q=h(F,k,6,t.f.q,15,1),U=h(F,k,6,t.f.q,15,1),f[0]=A,Q[A]=1,U[0]=-1,i=0,L=0;i<=L;){for(s=0;s<Mt(t.f,f[i]);s++){if(P=_(t.f,f[i],s),l=Ot(t.f,f[i],s),P==e){for(r=Q[f[i]],n=h(F,k,6,r,15,1),n[0]=l,y=1;y<r;y++)n[y]=D[i],i=U[i];return n;}Q[P]==0&&(f[++L]=P,D[L]=l,Q[P]=Q[f[i]]+1,U[L]=i);}if(i==L)return null;++i;}return null;}function HW(t,e,A){var n,P,r,i,f;return !fi(t.R,e)||(n=z(t.R,0,e),P=z(t.R,1,e),i=new gf(t.R,t.f,n,P),i.f&&A==1)||(f=new gf(t.R,t.f,P,n),f.f&&A==1)||i.f&&f.f?false:(A==3&&(i.f&&(t.V[e]=vb(t,P)),f.f&&(t.V[e]=vb(t,n))),r=t.jb?iY(t,i,f):rz(i,f),A==1?t.o[e]=r:A==2&&(i.f&&(r==2?ue(t.e[i.b],t.f[P]):ue(t.e[i.d],t.f[P])),f.f&&(r==2?ue(t.e[f.b],t.f[n]):ue(t.e[f.d],t.f[n]))),true);}function VW(t){t=t||{};var e=0;return t.createSymmetryRank&&(e|=1),t.considerStereoheterotopicity&&(e|=2),t.encodeAtomCustomLabels&&(e|=8),t.encodeAtomSelection&&(e|=16),t.assignParitiesToTetrahedralN&&(e|=32),t.coordsAre3d&&(e|=64),t.createPseudoStereoGroups&&(e|=128),t.distinguishRacemicOrGroups&&(e|=256),t.tieBreakFreeValenceAtoms&&(e|=512),t.encodeAtomCustomLabelsWithoutRanking&&(e|=re),t.neglectAnyStereoInformation&&(e|=I1),e;}function NR(t,e,A,n,P,r,i){var f,D,Q,U,L,s,y,l,T,c,g;for(L=i;L>1;L--){for(T=r[L]-r[L-1],g=h(ftt,A0,174,T,0,1),f=r[L],l=0;l<T;l++){for(c=r[L-1]+l,s=f;s<r[L+1]&&n[s]==c;)++s;for(g[l]=new n0(),g[l].c=c,g[l].d=A[c],g[l].b=e[c]?0:Td(t.R,P[c]),g[l].a=h(F,k,6,s-f,15,1),U=f;U<s;U++)g[l].a[U-f]=A[U];g[l].a.sort(Fe(u0.prototype.gd,u0,[])),f=s;}for(D=new u1(),Wi(g,0,g.length,D),Q=1,y=0;y<T;y++)A[g[y].c]=Q,y!=T-1&&kb(g[y],g[y+1])!=0&&++Q;}}function EW(t,e,A){var n,P,r,i,f,D,Q,U,L,s;for(r=0;r<t.f.r;r++)if(n=z(t.f,0,r),P=z(t.f,1,r),!(fA(t.f,r)||dt(t.f,r)!=1||Mt(t.f,n)==1||Mt(t.f,P)==1)&&!((t.e&4)!=0&&z0(t.f,n)&&z0(t.f,P))){for(L=false,Q=0;Q<2;Q++)if(i=z(t.f,Q,r),Mt(t.f,i)>2){for(s=true,D=-1,U=0;U<Mt(t.f,i);U++)f=_(t.f,i,U),f!=z(t.f,1-Q,r)&&(D==-1?D=A[f]:D!=A[f]&&(s=false));if(s){L=true;break;}}L||((t.e&8)!=0&&z0(t.f,n)&&z0(t.f,P)?e[r]=1:e[r]=2);}}function s2(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y;for(f=false,D=0;D<t.hb.a.length;D++){for(i=N(t.hb,D),e=true,y=-1,Q=false,L=0;L<i.length;L++){if(A=i[L],t.db[A]==0){e=false;break;}if(t.db[A]!=3){for(U=true,s=0;s<i.length;s++)if(s!=L&&t.f[A]==t.f[i[s]]){U=false;break;}U&&y<t.f[A]&&(y=t.f[A],Q=t.db[A]==1);}}if(e&&y!=-1){for(n=i,P=0,r=n.length;P<r;++P)A=n[P],(t.db[A]==1||t.db[A]==2)&&(t.eb[A]=Q),t.gb[A]=false;Z8(t.hb,i),f=true,--D;}}return f;}function OR(t,e,A,n){var P,r,i,f,D,Q,U,L,s;for(ut(e,1),n==null&&(n=h(F,k,6,e.q,15,1)),f=$0(t,1),D=$0(t,2),s=h(rt,ft,6,e.q,16,1),Q=h(F,k,6,e.q,15,1),Q[0]=A,s[A]=true,n[A]=En(e,t,A,f,D),i=0,U=0;i<=U;){for(L=0;L<e.e[Q[i]];L++)r=e.i[Q[i]][L],s[r]||(Q[++U]=r,s[r]=true,n[r]=En(e,t,r,f,D));++i;}for(P=0;P<e.r;P++)s[e.D[0][P]]&&er(e,t,P,f,D,n==null?e.D[0][P]:n[e.D[0][P]],n==null?e.D[1][P]:n[e.D[1][P]],false);$0(t,1),$0(t,2),t.T=0;}function E5(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l;for(ut(t,7),r=h(rt,ft,6,t.g,16,1),L=h(rt,ft,6,t.g,16,1),l=h(F,k,6,t.f,15,1),i=0,f=1;f<t.j[e];f++)if(n=t.k[e][f],(t.F[n]&64)!=0){for(Q=0;Q<f;Q++)if(P=t.k[e][Q],(t.F[P]&64)!=0&&(L[n]=true,L[P]=true,y=l2(t,l,t.i[e][f],t.i[e][Q],A-2,null,L),L[n]=false,L[P]=false,y!=-1)){for(D=false,s=h(F,k,6,y,15,1),Vm(t,l,s,y),U=0;U<y;U++)r[s[U]]||(r[s[U]]=true,D=true);D&&++i;}}return i;}function GR(t,e,A,n,P,r){var i,f,D,Q;switch(Q=1,f=false,P){case 1:Q=257;break;case 3:Q=386;break;case 4:Q=257,f=true;break;case 6:Q=129;break;default:switch(n){case 1:Q=1;break;case 2:Q=2;break;case 3:Q=4;break;case 4:Q=8;break;case 9:Q=16;}}if(i=O0(t.j,e,A,Q),D=0,f&&He(t.j,e,1,-1),n>4)switch(n){case 5:D|=3;break;case 6:D|=9;break;case 7:D|=10;break;case 8:Q!=16&&(D|=127);}return r==1&&(D|=256),r==2&&(D|=128),D!=0&&Ge(t.j,i,D,true),i;}function y2(t,e,A,n){var P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m;return U=_d(t.a,e,D1(e,A,n)),i=e.a[A],Q=e.a[n],i>Q&&(i=(c=k1(Q),k1(Q=i),c).a),l=_9(B(d(F,1),k,6,15,[1,2,0]),B(d(F,1),k,6,15,[i,Q,U]),t),l>=0?j0(t.b[l][4]):(r=e.C[A],D=e.C[n],r>D&&(r=(T=k1(D),k1(D=r),T).a),P=Od(r,t.a.f),f=Od(D,t.a.f),g=Rg(t.a.f,P),m=Rg(t.a.f,f),s=bg(t.a.f,P),y=bg(t.a.f,f),L=r==1||D==1?.05:.085,g+m-L*w.Math.pow(w.Math.abs(s-y),1.4));}function xt(t,e){var A,n,P,r,i,f,D;if(t.K&&P0(V(t.B[e],I1),0)||!aL(t,e))return 0;if(t.C[e]==0||A1("*",t.t==null||t.t[e]==null?null:rn((r=t.t[e],c0(),r))))return t.e[e]==0?1:0;for(ut(t,1),f=0,P=0;P<t.e[e];P++)f+=t.n[e][P];if(t.K){for(A=1,n=0;n<t.j[e];n++)t.H[t.k[e][n]]==8&&++A;f+=A>>1;}if(f-=WA(t,e,f,t.C[e]),i=((t.u[e]&g8)>>>27)-1,i==-1)for(D=Yu(t.C[e]),i=D[0],n=1;i<f&&n<D.length;n++)i=D[n];return w.Math.max(0,i-f);}function JR(t,e,A,n){var P,r,i,f;if(t.g==null&&(t.g=xk(t.d)),i=w.Math.max(t.c[n]+2.72,t.c[n]*2),e.e>i)return  false;for(kI(e,t.g),r=A.a.length-1;r>=0;r--)if(f=(ve(r,A.a.length),A.a[r]),sF(e,f),qJ(e.q,f.q))return f.e>e.e?(ve(r,A.a.length),A.a.splice(r,1),A.a.push(e),t.c[n]>e.e&&(t.c[n]=e.e),true):false;if(A.a.push(e),t.c[n]>e.e)for(t.c[n]=e.e,P=A.a.length-1;P>=0;P--)f=(ve(P,A.a.length),A.a[P]),f.e>i&&LA(A,P);return  true;}function WA(t,e,A,n){var P,r;return n>=171&&n<=190?0:(r=0,(t.u[e]&48)==32&&(r-=1),((t.u[e]&48)==16||(t.u[e]&48)==48)&&(r-=2),P=t.s[e],P==0&&t.K&&(P0(V(t.B[e],i9),Mf)&&(P=-1),P0(V(t.B[e],i9),Cf)&&(P=1)),n==7||n==8||n==9?r+=P:n==6||n==14||n==32?r-=w.Math.abs(P):n==15||n==33?A-r-P<=3?r+=P:r-=P:n==16||n==34||n==52?A-r-P<=4?r+=P:r-=w.Math.abs(P):n==17||n==35||n==53?A-r-P<=5?r+=P:r-=w.Math.abs(P):r-=P,r);}function SW(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y;for(P=h(F,k,6,t.f.q,15,1),r=h(F,k,6,t.f.q,15,1),i=h(F,k,6,t.f.q,15,1),f=h(F,k,6,t.f.q,15,1),P[0]=e,i[e]=1,f[0]=-1,n=0,D=0;n<=D;){if(n==0||!t.b[P[n]])for(Q=0;Q<Mt(t.f,P[n]);Q++)A=_(t.f,P[n],Q),s=Ot(t.f,P[n],Q),i[A]==0&&!t.c[s]&&(P[++D]=A,r[D]=s,i[A]=i[P[n]]+1,f[D]=n);if(n==D){for(y=new MT(i[P[n]]),U=n,L=0;L<y.a.length;L++)y.a[L]=P[U],y.b[L]=r[U],U=f[U];return y;}++n;}return null;}function qW(t,e,A,n){var P,r,i,f,D,Q,U;return U=A>n?1:-1,Q=A>n?n:A,D=A>n?A:n,r=Gd(t,Q,t.a.length,true),P=Gd(t,Q,t.a.length,false),r==-1||P==-1||(f=hA(2,D,r,P+1,true,new ZU(t)),i=hA(2,D,r,P+1,false,new ZU(t)),f==-1||i==-1)?j0(t.b[A-1][1])-j0(t.b[n-1][1]):e==0&&Yn(t.a[f][0])==0?U*j0(t.a[f][3]):e==1&&Yn(t.a[i][0])==1?U*j0(t.a[i][3]):j0(t.b[A-1][1])-j0(t.b[n-1][1]);}function IW(t,e,A,n,P){var r,i,f,D,Q,U,L,s;for(r=h(F,k,6,n,15,1),s=h(F,k,6,4,15,1),s[0]=_(t,A,t.i[A][0]==e?1:0),s[1]=A,s[2]=e,s[3]=_(t,e,t.i[e][0]==A?1:0),D=0,Q=0;Q<t.e[e];Q++)i=t.i[e][Q],i!=A&&(r[D++]=i);L=h(Yt,at,6,3,15,1),f=h(Yt,at,6,3,15,1),U=R1(Yt,[te,at],[16,6],15,[3,2],2),L[0]=60,L[1]=180,L[2]=300,f[0]=33,f[1]=33,f[2]=33,U[0][0]=45,U[0][1]=75,U[1][0]=165,U[1][1]=195,U[2][0]=285,U[2][1]=315,mt(P,new xL(L,f,U,s,r,1));}function S5(t,e,A){var n,P,r,i,f,D;for(i=t.C[e],t.C[e]=t.C[A],t.C[A]=i,i=t.s[e],t.s[e]=t.s[A],t.s[A]=i,i=t.A[e],t.A[e]=t.A[A],t.A[A]=i,i=t.u[e],t.u[e]=t.u[A],t.u[A]=i,D=t.B[e],t.B[e]=t.B[A],t.B[A]=D,i=t.w[e],t.w[e]=t.w[A],t.w[A]=i,r=t.J[e],t.J[e]=t.J[A],t.J[A]=r,t.v!=null&&(f=t.v[e],t.v[e]=t.v[A],t.v[A]=f),t.t!=null&&(f=t.t[e],t.t[e]=t.t[A],t.t[A]=f),n=0;n<t.r;n++)for(P=0;P<2;P++)t.D[P][n]==e?t.D[P][n]=A:t.D[P][n]==A&&(t.D[P][n]=e);t.T=0;}function l2(t,e,A,n,P,r,i){var f,D,Q,U,L,s,y,l,T;if(A==n)return e[0]=A,0;for(t.$b(1),U=h(F,k,6,t.q,15,1),Q=h(F,k,6,t.q,15,1),T=h(F,k,6,t.q,15,1),Q[0]=A,U[A]=1,D=0,L=0;D<=L&&U[Q[D]]<=P;){for(l=Q[D],s=0;s<t.e[l];s++)if(i==null||i.length<=t.k[l][s]||!i[t.k[l][s]]){if(f=t.i[l][s],f==n){for(y=U[l],e[y]=f,e[--y]=l;y>0;)e[y-1]=T[e[y]],--y;return U[l];}U[f]==0&&(r==null||r.length<=f||!r[f])&&(Q[++L]=f,U[f]=U[l]+1,T[f]=l);}++D;}return  -1;}function xW(t,e){var A,n,P,r,i,f;for(r=0;r<2;r++){for(A=z(e,r,t.a),f=z(e,1-r,t.a);e.o[A]==2&&e.j[A]==2&&e.C[A]<10;)for(i=0;i<2;i++)if(n=e.i[A][i],n!=f){f=A,A=n;break;}t.p[r+1]=A,t.k[r]=f;}if(a1(e,t.p[1])==0&&O(e,t.p[1])==3)t.p[0]=-1;else for(P=0;P<O(e,t.p[1]);P++)if(n=_(e,t.p[1],P),n!=t.p[2]){t.p[0]=n;break;}if(a1(e,t.p[2])==0&&O(e,t.p[2])==3)t.p[3]=-1;else for(P=0;P<O(e,t.p[2]);P++)if(n=_(e,t.p[2],P),n!=t.p[1]){t.p[3]=n;break;}}function NW(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g;for(f=ka(e),i=h(yt,wt,6,f.length,15,1),n=0;n<f.length;n++){if(c=e.a[n],y=f[n],g=dI(t.e,c),A=mn(t.b,c),l=0,T=0,w.Math.abs(g)<LU)for(Q=0;Q<e.e[n];Q++)L=e.i[n][Q],f[L]<0&&(y+=f[L]/(2*e.e[L]));if(c==62)for(U=0;U<e.e[n];U++)L=e.i[n][U],f[L]>0&&(y-=f[L]/2);for(D=0;D<e.e[n];D++)L=e.i[n][D],P=D1(e,n,L),s=e.a[L],r=D8(t,e,e.D[0][P],e.D[1][P]),T+=qW(t.e,r,c,s),l+=f[L];i[n]=(1-A*g)*y+g*l+T;}return i;}function q5(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m;for(L=e.f,s=e.g,P=e.a,g=0,r=z(t.o,0,P),i=z(t.o,1,P),y=0;y<L.c.length;y++)if(A=L.e[L.c[y]],A!=r&&A!=i)for(m=GD(K(t.o,A)),l=0;l<s.c.length;l++)n=s.e[s.c[l]],n!=r&&n!=i&&(T=m+GD(K(t.o,n)),D=w.Math.abs(t.k[A].a-t.k[n].a),D<T&&(Q=w.Math.abs(t.k[A].b-t.k[n].b),Q<T&&(U=w.Math.abs(t.k[A].c-t.k[n].c),U<T&&(f=w.Math.sqrt(D*D+Q*Q+U*U),f<T&&(c=(T-f)/T,g+=c*c)))));return g;}function OW(t,e,A,n){var P,r,i,f,D,Q,U,L,s,y,l,T,c;if(L=e[n==0?4:n-1],c=e[n==4?0:n+1],O(t.j,L)==3&&O(t.j,c)==3){for(y=h(F,k,6,t.j.f,15,1),s=h(rt,ft,6,t.j.g,16,1),r=A,i=0,f=r.length;i<f;++i)D=r[i],s[D]=true;for(P=0;P<t.j.g;P++)t.e[P]||(s[P]=true);if(l=l2(t.j,y,L,c,14,null,s),l==14){for(T=true,U=2;U<=12;U++)if((U&3)!=1^M9(t.j,y[U])==5){T=false;break;}if(T)for(Pf(t,y[7]),Q=1;Q<=5;Q+=2)n2(t,D1(t.j,y[Q],y[Q+1])),n2(t,D1(t.j,y[Q+7],y[Q+8]));}}}function zR(t,e,A,n){var P,r,i,f,D,Q,U,L,s,y,l,T;for(D=new zA(t.f,t.g),U=new A7(),y=0,s=0,i=h(rt,ft,6,t.f,16,1),r=h(F,k,6,t.f,15,1),T=0;T<A&&s<t.f;T++){if(s==0)r[0]=e,i[e]=true,s=1;else {for(l=s,Q=y;Q<s;Q++)for(P=r[Q],L=0;L<t.j[P];L++)if(f=t.i[P][L],!i[f])switch(n){case 0:i[f]=true,r[l++]=f;break;case 1:tm(t,P)&&tm(t,f)||(i[f]=true,r[l++]=f);}y=s,s=l;}ui(t,D,i,true,null),a7(U,me(new EA(D,8)));}return tg(U,h(it,Dt,2,U.a.a.length,6,1));}function YR(t,e){var A,n,P,r;if(!e||e.q==0)return  false;if(e.r!=0)for(n=Pn(t.V,24*t.ab),SF(new du(e),new a2(ad(t.k)),new QA(0,0,VD(t.k),Vr(t.k)),Q0+vt(n));LK(t,e,.2*n);)CL(e,.5*n,.5*n);if(z1(t),xd(e),$d(e),P=t.V.K,t.V.q==0)uf(e,t.V),t.a||je(t.V,P),t.eb=w.Math.max(t.eb,4),n1(t.k),N1(t,new q1(t,1,true));else {for(r=t.V.q,RD(t.V,e),t.a||je(t.V,P),A=0;A<t.V.q;A++)dP(t.V,A,A>=r);t.eb=w.Math.max(t.eb,3),n1(t.k),N1(t,new q1(t,1,true));}return  true;}function KR(t,e,A,n){this.V=t,this.U=e,this._=A,this.k=n,this.S=new f1(),this.w=5,this.t=-1,this.u=-1,this.v=null,this.e=-1,this.F=6,this.B=0,this.D=-1,this.C=0,this.A=null,this.b=true,this.a=false,this.X=0,this.s=11,this.i=new V0(),this.c=331,this.$=1,this.ab=(de==-1&&(de=globalThis.devicePixelRatio||1),de),this.T=vt(w.Math.round((de==-1&&(de=globalThis.devicePixelRatio||1),de*24))),(this.U&6)!=0&&(this.U|=1),(this.U&12)!=0&&(this.I=new to()),this.eb=4;}function XR(t){var e,A,n,P,r,i,f,D,Q,U;if(t.e.a.c==1)return t.i;for(Q=Xn(t.i),je(Q,true),ut(Q,7),P=0;P<Q.g;P++)t.g[P]&&(Q.H[P]=1,Q.T=0,Ge(Q,P,3,true));for(A=0;A<Q.f;A++)t.b[A]!=0&&e0(t.i,A)<4&&(m5(Q,A),Q.u[A]&=dy,Q.T&=7,He(Q,A,0,-1));for(f=h(F,k,6,t.j,15,1),D=h(F,k,6,t.j,15,1),n=new BA(Q).f,e=0;e<Q.f;e++)t.b[e]!=0&&(U=t.b[e]-1,D[U]<n[e]&&(D[U]=n[e],f[U]=e));for(r=0;r<t.j;r++)i=""+t.n[r]+"|"+t.k[r]+"|"+t.o[r],u8(Q,f[r],i);return Q;}function GW(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y;for(i=h(F,k,6,t.j.q,15,1),A=0;A<t.j.q;A++)i[A]=-p1(t.j,A);for(Ff(new cr(t.j),null,true),n=0;n<t.j.q;n++)i[n]+=p1(t.j,n);for(e=0;e<t.j.q;e++)if(i[e]!=0)for(f=-i[e],P=0;P<t.j.r;P++)for(Q=0;Q<2;Q++)f>0&&l1(t.j,P)==16&&z(t.j,1-Q,P)==e&&(L=z(t.j,Q,P),_0(t.j,L)&&(U=(s=K(t.j,L),y=s<(Y1(),F4).length?F4[s]:null,y==null?0:y[y.length-1]),r=p1(t.j,L),r<U&&(D=w.Math.min(f,U-r),E0(t.j,L,r+D),f-=D)));}function ZR(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T;if(T=Db(e,t.I),T==null||(l=Db(A,t.B),l==null))return null;if(T.length==1&&l.length==1)return new gD(T[0],l[0]);if(y=tX(t,T,l),y.length==1)return new gD(T[0],l[0]);for(U=Kx(t.i,y.length),s=-1,r=T,f=0,Q=r.length;f<Q;++f)if(n=r[f],t.J[n]==y[U][0]){s=n;break;}for(L=-1,P=l,i=0,D=P.length;i<D;++i)if(n=P[i],t.C[n]==y[U][1]){L=n;break;}return t.o=Qb(t,t.D,t.J,s,t.o),t.n=Qb(t,t.u,t.C,L,t.n),new gD(s,L);}function er(t,e,A,n,P,r,i,f){var D,Q,U,L;return Q=e.r,Q>=e.N&&eQ(e,e.N*2),L=(t.F[A]&768)>>8,U=-1,L==1&&(n==-1?U=$0(e,L):U=w.Math.min(32,n+((t.F[A]&768)>>8!=1&&(t.F[A]&768)>>8!=2?-1:(t.F[A]&ln)>>10))),L==2&&(P==-1?U=$0(e,L):U=w.Math.min(32,P+((t.F[A]&768)>>8!=1&&(t.F[A]&768)>>8!=2?-1:(t.F[A]&ln)>>10))),e.D[0][Q]=r,e.D[1][Q]=i,D=f&&t.Zb(A)?8:t.H[A],e.H[Q]=D,e.F[Q]=t.F[A],e.G[Q]=e.K?t.G[A]:0,U!=-1&&(e.F[Q]&=-31745,e.F[Q]|=U<<10),++e.r,e.T=0,Q;}function ii(t){P9();var e,A,n,P;if(e=vt(t),t<Wf.length)return Wf[e];if(t<=50)return D2((ke(),EU),e);if(t<=1e3)return I9(D2(yr[1],e),e);if(t>1e6)throw At(new p8("power of ten too big"));if(t<=It)return I9(D2(yr[1],e),e);for(n=D2(yr[1],It),P=n,A=E1(t-It),e=vt(t%It);G(A,It)>0;)P=bP(P,n),A=l0(A,It);for(P=bP(P,D2(yr[1],e)),P=I9(P,It),A=E1(t-It);G(A,It)>0;)P=I9(P,It),A=l0(A,It);return P=I9(P,e),P;}function r9(t){var e,A,n,P,r,i;if(t.j!=0)return t.j;if(t.i&&K(t.e,t.a)!=15&&K(t.e,t.a)!=16){for(i=0;i<Mt(t.e,t.a);i++)if(r=Ot(t.e,t.a,i),Gr(t.e,r,t.a))return _(t.e,t.a,i)==t.b?t.j=l1(t.e,r)==257?3:1:t.j=l1(t.e,r)==257?1:3,t.j;}return e=Y0(t.e,t.a,t.g),n=Y0(t.e,t.a,t.b),n<e&&(n+=F0),Mt(t.e,t.a)==2?(A=n-e,A>3.0915926535897933&&A<3.191592653589793?(t.j=-1,t.j):(t.j=A<Q1?4:2,t.j)):(P=Y0(t.e,t.a,t.d),P<e&&(P+=F0),t.j=P<n?2:4,t.j);}function JW(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y;for(L=R1(F,[D0,k],[7,6],15,[A,(t.U&6)!=0?2:1],2),D=0;D<A;D++)L[D][0]=D;if(U=qK(t,e,A),(t.U&4)!=0)for(t.Y=0,n=(t.U&4)!=0?N(t.I,0):null,Q=0;Q<A;Q++)L[Q][1]=bQ(n,U[Q].a,U[Q].b)?1:0,L[Q][1]==0&&++t.Y;else if((t.U&2)!=0)for(t.Y=A,P=0;P<t.V.q;P++)K(t.V,P)==0&&L[e[P]][1]==0&&(L[e[P]][1]=1,--t.Y);for(i=U,wu(L,new K7(t,i)),s=h(F,k,6,A,15,1),f=0;f<A;f++)y=L[f][0],s[y]=f;for(r=0;r<t.V.q;r++)e[r]=s[e[r]];}function zW(t){var e,A,n,P,r,i,f,D,Q,U,L,s;if(!t.A){for(t.A=new f1(),U=0,L=h(F,k,6,t.R.f,15,1),i=h(F,k,6,t.R.f,15,1),D=h(F,k,6,t.R.g,15,1),e=0;e<t.R.f;e++)if(L[e]==0&&(qi(t.R,e)||a1(t.R,e)==1)){for(i[0]=e,f=1,Q=0,L[e]=++U,A=h(rt,ft,6,t.R.g,16,1),r=0;r<f;r++)for(s=0;s<O(t.R,i[r]);s++)P=Ot(t.R,i[r],s),(fA(t.R,P)||dt(t.R,P)==2||fi(t.R,P))&&(n=_(t.R,i[r],s),A[P]||(D[Q++]=P,A[P]=true),L[n]==0&&(i[f++]=n,L[n]=U));mt(t.A,new Dm(i,f,D,Q));}}}function YW(t,e){i8();var A,n,P,r,i,f,D,Q,U,L;for(A=0;A<e.f;A++)if(e.e[A]>=3&&(U=e.u[A]&3,(U==1||U==2)&&!(e.o[A]==2&&e.j[A]==2&&e.n[A][0]==2&&e.n[A][1]==2&&e.C[A]<=7))){for(n=h(F,k,6,5,15,1),P=h(F,k,6,4,15,1),f=0;f<e.e[A];f++){for(r=e.i[A][f],i=e.k[A][f],D=0;D<f&&r>n[D];)++D;for(Q=f-1;Q>=D;Q--)n[Q+1]=n[Q],P[Q+1]=P[Q];n[D]=r,P[D]=i;}e.e[A]==3&&(n[3]=-1,P[3]=-1),n[4]=A,U==1&&(L=n[1],n[1]=n[0],n[0]=L,L=P[1],P[1]=P[0],P[0]=L),mt(t,new Wd(e,n,P));}}function KW(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c;for(l=0;l<e.j.a.length;l++)if(N(e.k,l).length!=6&&t.i[l]){for(L=true,c=N(e.k,l),U=0;U<c.length;U++)if(!t.e[c[U]]){L=false;break;}if(L){for(f=-1,D=0,T=N(e.j,l),Q=0;Q<T.length;Q++)n=T[Q],y=t.g[n]?ej(t,n,false):Ck(t,n,false),D<y&&(D=y,f=Q);if(f!=-1){if(s=T[f],A){for(P=T,r=0,i=P.length;r<i;++r)n=P[r],n!=s&&yf(t,n,true);t.g[s]?ej(t,s,true):Ck(t,s,true);}return Pf(t,s),t.g[s]&&OW(t,T,c,f),true;}}}return  false;}function WR(t,e,A,n){var P,r,i,f,D;if(e[A+1]!=40)throw At(new V1("SmilesParser: '$' for recursive SMARTS must be followed by '('. position:"+A));for(f=1,r=A+2;r<e.length&&f>0;)e[r]==40?++f:e[r]==41&&--f,++r;if(f>0)throw At(new V1("SmilesParser: Missing closing ')' for recursive SMARTS. '('-position:"+(A+1)));if(i=new zA(16,16),D=new LQ(t.k),ES(D,t.n.f),D6(D,i,e,A+2,r-1,true,true),je(i,true),n.a.push(i),e[A-1]==33)for(P=0;P<i.q;P++)T1(i,P,Pe,true);return r-A;}function I5(t){var e,A;for(this.j=t.j,this.i=t.i,this.e=h(F,k,6,t.e.length,15,1),this.k=h(F,k,6,t.e.length,15,1),this.a=h(yt,wt,6,t.e.length,15,1),this.b=h(yt,wt,6,t.e.length,15,1),A=0;A<t.e.length;A++)this.e[A]=t.e[A],this.k[A]=t.k[A],this.a[A]=t.a[A],this.b[A]=t.b[A];if(t.f!=null)for(this.f=h(F,k,6,t.f.length,15,1),e=0;e<t.f.length;e++)this.f[e]=t.f[e];if(t.g!=null)for(this.g=h(F,k,6,t.g.length,15,1),e=0;e<t.g.length;e++)this.g[e]=t.g[e];}function xQ(t){var e,A,n,P,r,i,f,D,Q,U,L;if(t.F.d.a.length==t.u)return null;U=h(F,k,6,t.w.length,15,1),A=h(F,k,6,t.v.length,15,1),n=0;do{if(n++==64)return null;if(t.b){for(f=n/64,Q=0;Q<t.v.length;Q++)A[Q]=IJ(t.v[Q],jn(t.c),f);for(e=z9(t.i,A),D=0;D<t.w.length;D++)U[D]=lz(e,D,jn(t.c),f);}else {for(i=0;i<t.v.length;i++)A[i]=yQ(t.c,t.v[i].b.length);for(r=0;r<t.w.length;r++)U[r]=yQ(t.c,t.w[r].d.length);}L=OD(t,U,A);}while(P=a9(t.F,L),(P<0?-1:P)!=-1);return L;}function cA(t,e){var A,n,P,r,i,f;if(e.a==e.b&&e.c==e.d){for(i=new Wt(t.$);i.a<i.c.a.length;)if(r=t1(i),Nr(r,e.a,e.c))return  false;return  true;}for(f=ok(e),A=false,e.a>e.b&&(qu(e),A=true),n=0;n<t.$.a.length;n++)if(r=N(t.$,n),!(r.c>f.c+f.b||r.d>f.d+f.a||f.c>r.c+r.b||f.d>r.d+r.a)){if(ZD(t,e.a,e.c,n))return ZD(t,e.b,e.d,n)?(A&&qu(e),false):(qs(t,e,0,n),P=cA(t,e),A&&qu(e),P);if(ZD(t,e.b,e.d,n))return qs(t,e,1,n),P=cA(t,e),A&&qu(e),P;}return A&&qu(e),true;}function XW(t,e){var A,n,P,r,i,f,D;if(t.C[e]!=8||t.s[e]!=0||t.j[e]!=1||t.n[e][0]!=1)return  false;if(A=t.i[e][0],t.C[A]==6){for(i=t.j[A],n=0;n<i;n++)if(P=t.i[A][n],P!=e&&t.C[P]==8&&(r=D1(t,A,P),t.H[r]==2))return  true;}else if(t.C[A]==7){if(t.s[A]==1)return  true;}else if(t.C[A]==16){for(f=t.j[A],D=0,n=0;n<f;n++)P=t.i[A][n],P!=e&&t.C[P]==8&&(r=D1(t,A,P),t.H[r]==2&&++D);if(D==2)return  true;}else if(zK(t,e))return  true;return  false;}function ZW(t,e,A){var n,P,r,i,f,D,Q,U;if(t.o[e]=A,t.n=null,P=dr(t.c,e),N7(t.s,P,t.o[e]),D=8+(t.a?0:1),sn(t.s,5,D)==0)return t.g[e]=new f1(),t.q=0,false;for(t.g[e]=t.s.F,i=t.g[e].a.length-1;i>=0;i--)for(Q=N(t.g[e],i),f=0;f<Q.length;f++)if(Q[f]!=-1&&(n=0,t.a&&P.s[f]==0&&p1(t.o[e],Q[f])!=0&&(U=Cn(t.o[e],Q[f]),n=Fu(t.o[e],Q[f],U)),t.k[e][f]>0&&t.k[e][f]>Zi(t.o[e],Q[f])-n)){LA(t.g[e],i);break;}for(t.q=1,r=0;r<t.o.length;r++)t.q*=t.g[r]?t.g[r].a.length:0;return  true;}function WW(t){t=t||{};var e=0;if(t.maxAVBL){if(!Number.isInteger(t.maxAVBL)||t.maxAVBL<0||t.maxAVBL>w1)throw new Error("maxAVBL must be an integer between 0 and 65535");e|=t.maxAVBL;}return (t.inflateToMaxAVBL===true||t.inflateToMaxAVBL===void 0&&t.inflateToHighResAVBL!==true)&&(e|=Q0),t.inflateToHighResAVBL&&(e|=I0),t.chiralTextBelowMolecule!==false&&(e|=0),t.chiralTextAboveMolecule&&(e|=T8),t.chiralTextOnFrameTop&&(e|=l8),t.chiralTextOnFrameBottom&&(e|=m1),e;}function _W(t,e,A,n){var P,r,i,f,D,Q,U,L;for(L=h(F,k,6,t.g,15,1),D=h(rt,ft,6,t.g,16,1),i=0;i<t.g;i++)L[i]=t.H[i],e[i]&&(D[i]=true,t.H[i]=1,t.T=0);for(P=0;P<t.f;P++)if(P!=n&&t.o[P]==0&&D[t.k[n][0]])for(U=0;U<t.j[P];U++)f=t.k[P][U],t.H[f]=1,t.T=0,D[f]=false;for(Q=0;Q<t.j[A];Q++)f=t.k[A][Q],t.H[f]=1,t.T=0,D[f]=false;if(Ff(new cr(t),D,false))return t.s[A]=0,t.T=0,t.j[n]!=t.e[n]&&wQ(t,_(t,n,t.e[n]-1)),ut(t,7),true;for(r=0;r<t.g;r++)w0(t,r,L[r]);return  false;}function vf(t,e,A){var n,P,r,i,f;if(t.a=false,t.d=e,Zn(t.e[e]&w1)){for(f=NL(t),t.c=t.b=f,n=e-1;n>1&&cN(t.e[n-1]);)--n;for(;t.e[t.d]==44;){for(i=true,r=e-n,P=0;P<r;P++)if(t.e[n+P]!==t.e[t.d+1+P]){i=false;break;}if(!i)break;t.d+=1+r,f=NL(t),t.c>f?t.c=f:t.b<f&&(t.b=f);}return t.d-e;}return t.e[e]==123&&Zn(t.e[e+1]&w1)?(++t.d,t.c=NL(t),t.e[t.d++]!=45||!Zn(t.e[t.d]&w1)||(t.b=NL(t),t.e[t.d++]!=125)?0:t.d-e):(t.c=1,t.b=A,t.a=true,0);}function _R(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y;if(dt(t,A)!=2&&!(A<t.g&&Re(t.p,A))||(y=t.F[A]&3,y!=1&&y!=2))return  -1;for(D=0;D<2;D++){for(n=t.D[D][A],P=t.D[1-D][A],s=-1,i=false,U=0;U<t.j[n];U++)r=t.i[n][U],r!=P&&(r==e?i=true:s=r);if(i){for(L=-1,f=-1,Q=0;Q<t.j[P];Q++)r=t.i[P][Q],r!=n&&(L==-1?L=r:r>L?f=r:(f=L,L=r));return t.j[n]==2?t.j[P]==2?y==2?L:-1:y==2?L:f:t.j[P]==2?y==2^e<s?-1:L:y==2^e<s?f:L;}}return  -1;}function x5(t,e){var A,n,P,r,i,f,D,Q,U,L;if(e.e==0)throw At(new p8(gV));return P=e.e,e.d==1&&e.a[0]==1?e.e>0||t.e==0?t:new Ue(-t.e,t.d,t.a):(U=t.e,Q=t.d,n=e.d,Q+n==2?(L=Mn(V(t.a[0],h1),V(e.a[0],h1)),U!=P&&(L=p0(L)),G(L,0)>=0?we(L):FP(we(p0(L)))):(A=Q!=n?Q>n?1:-1:rQ(t.a,e.a,Q),A==0?U==P?N2:uc:A==-1?y9:(i=Q-n+1,r=h(F,k,6,i,15,1),f=U==P?1:-1,n==1?CR(r,t.a,Q,e.a[0]):Sj(r,i,t.a,Q,e.a,n),D=new Ue(f,i,r),Rn(D),D)));}function $R(t){var e,A,n,P,r;for(t.a=R1(F,[D0,k],[7,6],15,[t.d.length,4],2),t.c=R1(F,[D0,k],[7,6],15,[t.d.length,2],2),t.e=h(F,k,6,t.d.length,15,1),e=h(F,k,6,2,15,1),P=0;P<t.d.length;P++){for(r=0;r<2;r++)e[0]=z(t.b,1-r,t.d[P]),e[1]=z(t.b,r,t.d[P]),Zo(t.b,e[1])&&w5(t.b,e[0],e,null),t.a[P][1+r]=e[1],t.c[P][r]=e[0];A=DR(t,t.a[P][1],t.c[P][0]),n=DR(t,t.a[P][2],t.c[P][1]),t.e[P]=SV[A][n],t.a[P][0]=Jb(t,t.a[P][1],t.c[P][0],A),t.a[P][3]=Jb(t,t.a[P][2],t.c[P][1],n);}}function $W(t){var e,A,n,P,r,i;for(mW(t),ut(t,31),n=0;n<t.f;n++){if(((t.u[n]&m1)>>18==1||(t.u[n]&m1)>>18==2)&&((t.u[n]&Tn)==0||(t.u[n]&3)==3))throw At(new V1(E6));if((t.u[n]&Q0)!=0)throw At(new V1(S6));if(((t.u[n]&3)==1||(t.u[n]&3)==2)&&t.o[n]==0){for(e=h(yt,wt,6,t.j[n],15,1),r=0;r<t.j[n];r++)e[r]=Y0(t,n,t.i[n][r]);for(P=1;P<t.j[n];P++)if(!Gr(t,t.k[n][P],n)){for(i=0;i<P;i++)if(!Gr(t,t.k[n][i],n)&&(A=w.Math.abs(Je(e[P],e[i])),A<.08||A>Rp))throw At(new V1(q6));}}}}function aW(t,e,A){var n,P,r,i,f,D,Q,U,L,s;for(n=h(F,k,6,t.f,15,1),L=h(rt,ft,6,t.f,16,1),L[A]=true,L[e]=true,n[0]=e,i=0,f=1;i<=f;){for(Q=0;Q<t.j[n[i]];Q++)_e(t,t.k[n[i]][Q])&&(r=t.i[n[i]][Q],L[r]||(n[++f]=r,L[r]=true));++i;}for(U=0;U<=f;U++)for(s=0;s<t.j[n[U]];s++)r=t.i[n[U]][s],!L[r]&&!fA(t,t.k[n[U]][s])&&SQ(t,n[U],r,L,null,null);for(L[A]=false,D=0;D<=f;D++)L[n[D]]=false;for(P=0;P<L.length;P++)L[P]&&(n[++f]=P);return n8(f+1),RP(n,h(F,k,6,f+1,15,1),0,f+1);}function Is(){Is=B1,mE=B(d(F,1),k,6,15,[o1,1162261467,cn,1220703125,362797056,1977326743,cn,387420489,Of,214358881,429981696,815730721,1475789056,170859375,Ur,410338673,612220032,893871739,128e7,1801088541,113379904,148035889,191102976,244140625,308915776,387420489,481890304,594823321,729e6,887503681,cn,1291467969,1544804416,1838265625,60466176]),kE=B(d(F,1),k,6,15,[-1,-1,31,19,15,13,11,11,10,9,9,8,8,8,8,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5]);}function t_(t,e){var A,n,P,r,i;if(t.i!=0&&t.k!=null){for(n=C5(t)/t.p.c,ae(e,t.i),eL(e,vt(1.6*n),true,false),r=0;r<t.k.length;r++)if(t.k[r].q!=0){for(P=new M7(),A=0;A<t.k[r].q;A++)P.a=vt(P.a+kt(t.k[r],A)),P.b=vt(P.b+jt(t.k[r],A));P.a=P.a/t.k[r].q|0,P.b=P.b/t.k[r].q|0,P.a=vt(Z1(t.e[r].R,P.a)),P.b=vt(X1(t.e[r].R,P.b)),i=t.c==0?""+(r+1):t.c==2?r<t.j?""+String.fromCharCode(65+r&w1):"R"+(r+1-t.j):t.c==1?r<t.n?""+String.fromCharCode(65+r&w1):"P"+(r+1-t.n):"?"+(r+1),jT(e,P.a,P.b,i);}}}function e_(t){var e,A,n,P,r,i,f,D,Q,U;for(r=0,A=0;A<t.R.f;A++)t.bb[A]!=0&&(t.bb[A]!=2||(t.Q&256)==0)&&++r;if(r!=0){for(U=h(F,k,6,r,15,1),r=0,n=0;n<t.R.f;n++)t.bb[n]!=0&&(t.bb[n]!=2||(t.Q&256)==0)&&(U[r]=t.bb[n]<<29|t.ab[n]<<24|t.f[n]<<12|n,++r);for(U.sort(Fe(u0.prototype.gd,u0,[])),i=0,Q=0,f=U[0]&qn;;)if(++Q,Q==U.length||f!=(U[Q]&qn)){for(P=h(F,k,6,Q-i,15,1),D=i;D<Q;D++)e=U[D]&4095,P[D-i]=e,t.gb[e]=true;if(mt(t.hb,P),Q==U.length)break;f=U[Q]&qn,i=Q;}}}function aR(t){var e,A,n,P;if(t.length==0||(Xt(0,t.length),t.charCodeAt(0)!=62))return null;for(n=1,P=0,e=0;n<t.length;){if(Xt(n,t.length),t.charCodeAt(n)==60){if(P!=0)return null;P=n;}else if(Xt(n,t.length),t.charCodeAt(n)==62){if(e!=0)return null;e=n;}++n;}if(P!=0&&P<e)return pt(P+1,e,t.length),t.substr(P+1,e-(P+1));if(n=t.indexOf("DT",1),n==-1)return null;for(A=n+2;t.length>A&&Zn((Xt(A,t.length),t.charCodeAt(A)));)++A;return A==n+2?null:(pt(n,A,t.length),t.substr(n,A-n));}function A_(t,e,A,n,P,r,i,f,D,Q){var U,L,s,y,l,T,c,g,m,v;t!=e&&(U=O9(t,e),!(D[U[0]][U[1]]&&D[U[0]][U[1]].a.length==1)&&(s=f.a[i]-f.a[A]*w.Math.cos(P)-f.a[n]*w.Math.cos(r),m=f.a[A]*w.Math.sin(P),v=f.a[n]*w.Math.sin(r),y=m+v,l=m-v,c=w.Math.sqrt(s*s+l*l),T=w.Math.sqrt(s*s+y*y),g=h(F,k,6,2,15,1),g[0]=Q.D[0][i],g[1]=Q.D[1][i],L=D[U[0]][U[1]],L?(L.a[0]=w.Math.min(L.a[0],c),L.a[1]=w.Math.min(L.a[1],T)):D[U[0]][U[1]]=new $L(U,g,c,T,3)));}function n_(t,e,A,n,P){if(e[A-1]==42)t.d=6,t.c=Y(t.c,1);else if(e[A-1]==63)t.d=0;else if((e[A-1]==65||e[A-1]==97)&&P)t.d=6,t.c=Y(t.c,1),t.c=Y(t.c,e[A-1]==65?4:2),t.r=true;else switch(String.fromCharCode(e[A-1]).toUpperCase().charCodeAt(0)){case 66:A<n&&e[A]==114?(t.d=35,++A):t.d=5;break;case 67:A<n&&e[A]==108?(t.d=17,++A):t.d=6;break;case 70:t.d=9;break;case 73:t.d=53;break;case 78:t.d=7;break;case 79:t.d=8;break;case 80:t.d=15;break;case 83:t.d=16;}return A;}function P_(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c;for(n=h(yt,wt,6,2,15,1),y=MY(t,A),D=0;D<2;D++)if(A[3*D]!=-1){for(r=2-D,l=3-3*D,Q=0,s=0;s<3;s++)i=t.i[A[r]][s],i!=y[1-D]&&t.C[i]!=1&&(A[l]=i,e?n[Q++]=IQ(e,A):n[Q++]=qQ(t,A));return A[l]=-1,uh(n);}for(P=h(yt,wt,6,2,15,1),U=0,f=0;f<3;f++)if(T=t.i[A[1]][f],T!=y[0]&&t.C[T]!=1){for(A[0]=T,L=0,s=0;s<3;s++)c=t.i[A[2]][s],c!=y[1]&&t.C[c]!=1&&(A[3]=c,e?P[L++]=IQ(e,A):P[L++]=qQ(t,A));n[U++]=uh(P);}return A[0]=-1,A[3]=-1,uh(n);}function tj(t,e){gv();var A,n,P,r,i,f,D,Q,U,L,s,y;for(this.e=e,this.a=h(F,k,6,e.length+t.length,15,1),this.b=h(F,k,6,e.length+t.length,15,1),this.d=h(F,k,6,e.length+t.length,15,1),A=0,r=0,P=0,f=e,D=0,Q=f.length;D<Q;++D)i=f[D],n=MB(i.d.length),A+n<=64?(this.b[P]=A,A+=n):(++r,this.b[P]=0,A=0),this.a[P]=n,this.d[P]=r,++P;for(L=t,s=0,y=L.length;s<y;++s)U=L[s],n=MB(U.b.length),A+n<=64?(this.b[P]=A,A+=n):(++r,this.b[P]=0,A=0),this.a[P]=n,this.d[P]=r,++P;this.c=r+1;}function r_(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l;for(Q=h(F,k,6,t.k.f,15,1),f=h(F,k,6,t.k.f,15,1),D=h(F,k,6,t.k.f,15,1),U=h(F,k,6,t.k.f,15,1),A=z(t.k,0,e),n=z(t.k,1,e),f[0]=A,f[1]=n,D[0]=-1,D[1]=e,Q[A]=1,Q[n]=2,U[A]=-1,U[n]=A,i=1,L=1;i<=L&&Q[f[i]]<15;){for(l=f[i],s=0;s<O(t.k,l);s++)if(P=_(t.k,l,s),P!=U[l]){if(r=Ot(t.k,l,s),P==A){for(D[0]=r,y=0;y<=L;y++)t.g[D[s]]||(t.g[D[s]]=true,++t.c);return;}z0(t.k,P)&&Q[P]==0&&(++L,f[L]=P,D[L]=r,Q[P]=Q[l]+1,U[P]=l);}++i;}}function xs(t,e){var A,n,P,r,i,f,D,Q,U,L;if(i=t.e,D=e.e,D==0)return t;if(i==0)return e.e==0?e:new Ue(-e.e,e.d,e.a);if(r=t.d,f=e.d,r+f==2)return A=V(t.a[0],h1),n=V(e.a[0],h1),i<0&&(A=p0(A)),D<0&&(n=p0(n)),ke(),hu(l0(A,n),0)?we(l0(A,n)):FP(we(p0(l0(A,n))));if(P=r!=f?r>f?1:-1:rQ(t.a,e.a,r),P==-1)L=-D,U=i==D?hL(e.a,f,t.a,r):mL(e.a,f,t.a,r);else if(L=i,i==D){if(P==0)return ke(),y9;U=hL(t.a,r,e.a,f);}else U=mL(t.a,r,e.a,f);return Q=new Ue(L,U.length,U),Rn(Q),Q;}function i_(){var t,e,A,n,P,r,i;if(!M4)try{for(t=r2("bondLengthData.txt"),A=K1(t),e=A==null?0:c1(A,o1,It),dU=h(F,k,6,e,15,1),p4=h(Ee,PA,6,e,15,1),C4=h(Ee,PA,6,e,15,1),EV=h(F,k,6,e,15,1),P=0;P<e;P++)if(i=K1(t),i!=null&&(r=o8(i,"\\t"),r.length==4))try{dU[P]=c1(r[0],o1,It),p4[P]=Qn(r[1]),C4[P]=Qn(r[2]),EV[P]=c1(r[3],o1,It);}catch(f){if(f=t0(f),Zt(f,40))break;throw At(f);}M4=!0;}catch(f){if(f=t0(f),Zt(f,75))n=f,Z9(n,(x1(),gi));else throw At(f);}}function f_(t,e){var A,n;return n={},A=t.G[e],n.single=S1(V(A,1),0),n.double=S1(V(A,2),0),n.triple=S1(V(A,4),0),n.delocalized=S1(V(A,8),0),n.metalLigand=S1(V(A,16),0),n.quadruple=S1(V(A,32),0),n.quintuple=S1(V(A,64),0),n.notRing=S1(V(A,128),0),n.ring=S1(V(A,256),0),n.aromatic=S1(V(A,qA),0),n.nonAromatic=S1(V(A,fP),0),n.ringSize=zt(V(A,SP))>>17,n.brigdeMin=zt(V(A,7680))>>9,n.brigdeSpan=zt(V(A,wy))>>13,n;}function ej(t,e,A){if(t.f[e])return 0;if(K(t.j,e)==7){if(Mt(t.j,e)==3)return 6;if(O(t.j,e)==2)return t.a?0:4;}else {if(K(t.j,e)==8)return 10;if(K(t.j,e)==15||K(t.j,e)==33){if(O(t.j,e)==3)return 8;}else if(K(t.j,e)==16||K(t.j,e)==34||K(t.j,e)==52){if(O(t.j,e)==2)return 11;if(O(t.j,e)==3)return p1(t.j,e)==1?12:(A&&E0(t.j,e,1),5);}else if(K(t.j,e)==6)return p1(t.j,e)==-1?Mt(t.j,e)==3?16:De(t.j,e)==3?15:14:(A&&E0(t.j,e,-1),Mt(t.j,e)!=De(t.j,e)?2:3);}return 0;}function D_(t){var e,A,n,P,r,i,f;for(f=false,A=0;A<t.f;A++)((t.u[A]&Tn)==0||(t.u[A]&3)==3)&&(t.u[A]&=By);for(r=0;r<t.g;r++)(dt(t,r)!=1||(t.F[r]&3)==0||(t.F[r]&3)==3)&&(t.F[r]&=-32513);if(t.L){if((t.I&qP)!=I0){for(i=h(rt,ft,6,t.f,16,1),n=0;n<t.f;n++)(t.u[n]&Tn)!=0&&(t.u[n]&3)!=3&&(t.u[n]&m1)>>18==1&&(i[n]=true);for(P=0;P<t.f;P++)(t.u[P]&Tn)!=0&&(t.u[P]&3)!=3&&(He(t,P,1,0),f=true);for(e=0;e<t.f;e++)i[e]&&(ce(t,e,1,false),He(t,e,1,-1),f=true);}t.L=false;}return $0(t,1),$0(t,2),f;}function u_(t){var e,A,n;if(t.a==0)return  true;if(t.d.length==1&&t.c.length==1)return (t.e.i==null||t.e.i[t.d[0]]==null||!t.e.i[t.d[0]][t.c[0]])&&(++t.e.b,t.e.f[t.d[0]]=t.e.b,t.e.d[t.c[0]]=t.e.b),true;if(Mk(t.d,t.e.e)||Mk(t.c,t.e.c)){for(e=w.Math.min(t.d.length,t.c.length),n=0;e!=0&&n<t.d.length;n++)for(A=0;A<t.c.length;A++)if(t.e.d[t.c[A]]==0&&(t.e.i==null||t.e.i[t.d[n]]==null||!t.e.i[t.d[n]][t.c[A]])){--e,++t.e.b,t.e.f[t.d[n]]=t.e.b,t.e.d[t.c[A]]=t.e.b;break;}return  true;}return  false;}function Q_(t,e,A,n){var P,r,i,f,D,Q,U,L,s,y,l;for(D=n+1;D<t.j.g.length;D++)if(D!=n&&t.e[e][D]&&t.e[A][D])return i=h(F,k,6,2,15,1),i[0]=A,i[1]=e,i;for(l=h(F,k,6,t.b,15,1),U=h(F,k,6,t.b,15,1),Q=h(F,k,6,t.b,15,1),r=0,L=0,Q[0]=e,U[e]=1;r<=L;){for(s=0;s<t.d[Q[r]].length;s++){if(P=t.d[Q[r]][s],P==A){if(r==0)continue;for(f=U[Q[r]]+1,i=h(F,k,6,f,15,1),i[0]=P,i[1]=Q[r],y=2;y<f;y++)i[y]=l[i[y-1]];return i;}U[P]==0&&t.c[P]!=-3&&(U[P]=U[Q[r]]+1,Q[++L]=P,l[P]=Q[r]);}++r;}return null;}function U_(t){var e,A,n,P;if(t.g.a.length+t.f.a.length<=1)return  false;for(e=fb(t),P=h(wl,A0,35,t.g.a.length+t.f.a.length,0,1),A=0;A<t.g.a.length+t.f.a.length;A++)if(P[A]=Ib(A<t.g.a.length?N(t.g,A):N(t.f,A-t.g.a.length),null),P[A]){for(n=0;n<A;n++)if(P[n]&&(P[A].c+P[A].b>=P[n].c&&P[A].c<=P[n].c+P[n].b||P[A].d+P[A].a>=P[n].d&&P[A].d<=P[n].d+P[n].a))return  true;if(A!=0&&P[A-1]&&(P[A].c-P[A-1].c-P[A].b>5*e||P[A].d-P[A-1].d-P[A].a>5*e))return  true;}return  false;}function He(t,e,A,n){var P,r,i;if(A==0)t.u[e]&=By,t.u[e]|=A<<18;else {if(n>=32)return;if(n==-1){for(i=-1,r=0;r<t.q;r++)r!=e&&A==(t.u[r]&m1)>>18&&i<((t.u[r]&m1)>>18!=1&&(t.u[r]&m1)>>18!=2?-1:(t.u[r]&RA)>>20)&&(i=(t.u[r]&m1)>>18!=1&&(t.u[r]&m1)>>18!=2?-1:(t.u[r]&RA)>>20);for(P=0;P<t.r;P++)A==(t.F[P]&768)>>8&&i<((t.F[P]&768)>>8!=1&&(t.F[P]&768)>>8!=2?-1:(t.F[P]&ln)>>10)&&(i=(t.F[P]&768)>>8!=1&&(t.F[P]&768)>>8!=2?-1:(t.F[P]&ln)>>10);if(n=i+1,n>=32)return;}t.u[e]&=By,t.u[e]|=A<<18|n<<20;}t.T&=7;}function U8(t,e,A,n){var P,r,i;if(A==0)t.F[e]&=-32513,t.F[e]|=A<<8;else {if(n>=32)return;if(n==-1){for(i=-1,r=0;r<t.q;r++)A==(t.u[r]&m1)>>18&&i<((t.u[r]&m1)>>18!=1&&(t.u[r]&m1)>>18!=2?-1:(t.u[r]&RA)>>20)&&(i=(t.u[r]&m1)>>18!=1&&(t.u[r]&m1)>>18!=2?-1:(t.u[r]&RA)>>20);for(P=0;P<t.r;P++)P!=e&&A==(t.F[P]&768)>>8&&i<((t.F[P]&768)>>8!=1&&(t.F[P]&768)>>8!=2?-1:(t.F[P]&ln)>>10)&&(i=(t.F[P]&768)>>8!=1&&(t.F[P]&768)>>8!=2?-1:(t.F[P]&ln)>>10);if(n=i+1,n>=32)return;}t.F[e]&=-32513,t.F[e]|=A<<8|n<<10;}t.T&=7;}function o_(t,e){var A,n,P,r,i,f,D;if(r=e.a,!((t.d>0?t.d:w.Math.floor((t.a-1)*hU)+1)-r<0||r==0)&&(n=Lb(t)-r,!(n<=0))){if(t.a<54){PW(t,e,n);return;}f=ii(n),P=dR((!t.c&&(t.c=kP(E1(t.f))),t.c),f),i=t.e-n,P[1].e!=0&&(A=rs(om(P[1].e<0?P[1].e==0?P[1]:new Ue(-P[1].e,P[1].d,P[1].a):P[1]),f),A=EQ(RQ(P[0],0)?1:0,P[1].e*(5+A),e.b),A!=0&&(P[0]=T2(P[0],(ke(),G(A,0)>=0?we(A):FP(we(p0(A)))))),D=new Z7(P[0]),Lb(D)>r&&(P[0]=x5(P[0],(ke(),EU)),--i)),t.e=ym(i),t.d=r,yh(t,P[0]);}}function Aj(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g;for(c=h(o9,or,26,A,0,1),i=h(F,k,6,A,15,1),Q=h(F,k,6,A,15,1),r=h(F,k,6,t.q,15,1),P=0;P<t.q;P++)e[P]!=-1&&(r[P]=i[e[P]]++);for(D=0;D<t.r;D++)l=e[t.D[0][D]],T=e[t.D[1][D]],l==T&&l!=-1&&++Q[l];for(g=0;g<A;g++)c[g]=new zA(i[g],Q[g]),ko(t,c[g]);for(n=0;n<t.q;n++)e[n]!=-1&&En(t,c[e[n]],n,0,0);for(f=0;f<t.r;f++)l=e[t.D[0][f]],T=e[t.D[1][f]],l==T&&l!=-1&&DQ(t,c[l],f,0,0,r,false);for(L=c,s=0,y=L.length;s<y;++s)U=L[s],$0(U,1),$0(U,2);return c;}function L_(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l;for(A=z(t.f,0,e),n=z(t.f,1,e),i=h(F,k,6,t.f.q,15,1),f=h(F,k,6,t.f.q,15,1),D=h(F,k,6,t.f.q,15,1),Q=h(F,k,6,t.f.q,15,1),i[0]=A,i[1]=n,f[1]=e,D[A]=1,D[n]=2,Q[0]=-1,Q[1]=0,r=1,U=1;r<=U;){for(L=0;L<O(t.f,i[r]);L++){if(P=_(t.f,i[r],L),r>1&&P==A){for(l=new MT(D[i[r]]),f[0]=Ot(t.f,i[r],L),s=r,y=0;y<l.a.length;y++)l.a[y]=i[s],l.b[y]=f[s],s=Q[s];return l;}D[P]==0&&qi(t.f,P)&&(i[++U]=P,f[U]=Ot(t.f,i[r],L),D[P]=D[i[r]]+1,Q[U]=r);}++r;}return null;}function s_(t,e){var A,n,P,r,i,f,D,Q,U,L,s;for(A=0;A<t.k.f;A++)if(z0(t.k,A))for(D=h(F,k,6,t.k.f,15,1),f=h(F,k,6,t.k.f,15,1),Q=h(F,k,6,t.k.f,15,1),f[0]=A,D[A]=1,Q[A]=-1,i=0,U=0;i<=U;){for(P=(D[f[i]]&1)==1?1:2,L=0;L<O(t.k,f[i]);L++)if(n=Ot(t.k,f[i],L),dt(t.k,n)==P&&e[n]&&(r=_(t.k,f[i],L),D[r]==0)){if(P==1&&z0(t.k,r)){for(s=f[i];s!=-1;)w0(t.k,D1(t.k,r,s),P==1?2:1),P=3-P,r=s,s=Q[s];return zn(t.k,A,false),zn(t.k,r,false),t.b-=2,true;}f[++U]=r,Q[r]=f[i],D[r]=D[f[i]]+1;}++i;}return  false;}function nj(t,e,A,n,P,r){var i,f,D,Q,U,L;for(t.j=e,t.d=A,t.n=h(F,k,6,n.length,15,1),t.f=h(F,k,6,P.length,15,1),t.k=ty(t.j,false),t.p=ty(t.j,true),t.e=ty(t.d,false),t.i=ty(t.d,true),t.o=Kk(t.j),t.g=Kk(t.d),t.q=xy,Q=new Qj(e,A,t.n,t.f,r),t.a=0;fK(Q);){for(++t.a,t.c=Q.q,f=Q.r,D=yR(Q);D;)Ua(t,D),D=yR(Q);t.b=t.c,t.c<f?(i=new ij(t.j,t.d,t.n,t.f,t.c,r),U=Da(i),t.c+=i.b-i.g):(L=new Lo(t.j,t.d),U=Ks(L,ah(L,t.n,t.f))),t.q<U&&(t.q=U,sA(t.n,0,n,0,n.length),sA(t.f,0,P,0,P.length));}return t.q!=xy;}function y_(t,e){var A,n,P,r,i,f,D,Q,U,L;for(r=null,D=null,i=null,ut(t.g,t.N),t.o=h(F,k,6,t.g.f,15,1),n=0;n<t.g.f;n++)t.o[n]=O(t.g,n);if(t.p!=0){for(Q=new zA(t.g.q,t.g.r),L=h(rt,ft,6,t.g.q,16,1),P=0;P<t.g.q;P++)L[P]=!t.D[P];for(ui(t.g,Q,L,true,null),ut(Q,t.N),Oj(t,Q,e),r=t.j,D=t.n,i=t.k,U=0,A=0;A<t.g.f;A++)t.D[A]||(t.o[A]=O(Q,U++));}if(Oj(t,t.g,e),t.p!=0){for(U=0,A=0;A<t.g.q;A++)t.D[A]||(t.j[A]=r[U],t.k[A]=i[U++]);for(U=0,f=0;f<t.g.r;f++)!t.D[z(t.g,0,f)]&&!t.D[z(t.g,1,f)]&&(t.n[f]=D[U++]);}}function l_(t,e){var A,n,P,r,i,f,D,Q,U;if(A=new uD(),!Ql)return mt(A.a,new We(aH,2)),-999;for(mt(A.a,new We("Found sub-structure fragments and their contributions:",2)),mt(A.a,new We("(yellow atoms carry at least one more substituent)",2)),Q=0,D=0,r=0,U=new jD(1),P=new JA(),i=0;i<hi.a.a.length;i++)u2(new GA(false),P,F3(hi,i)),Dn(U,e),Ln(U,P),sn(U,1,U.c)>0&&(f=eg(hi,i),f<-1?Q+=f:(D+=f,++r),ZP(A,F3(hi,i),1),mt(A.a,new We(""+f,3)));return r==0?-1:(n=Q+D/w.Math.sqrt(r),n=n+.0625*(r-40),t.a=A,n);}function Pj(t){Y1();var e,A,n,P,r;for(Yr.call(this,t),yb(this,N5(this)),r=(ut(this,7),this.p),this.b=h(NV,k,6,r.j.a.length,15,1),Hq(this.b),e=false,A=true;!e&&A;)for(e=true,A=false,P=0;P<r.j.a.length;P++)this.b[P]==2&&(this.b[P]=T$(this,P),this.b[P]!=2&&(A=true)),this.b[P]==2&&(e=false);if(!e)throw At(new $w());for(this.a=h(F,k,6,this.q,15,1),n=0;n<this.a.length;n++)if(this.a[n]=-1,this.a[n]=tO(this,n),this.a[n]==0)throw At(new L7("Couldn't assign an atom type to atom "+n+" ("+X0[this.C[n]]+")"));}function T_(t,e){var A,n,P,r,i,f,D,Q,U,L,s;for(r=R1(F,[D0,k],[7,6],15,[2,32],2),i=0;i<2;i++){for(A=h(F,D0,7,32,0,2),s=0,P=0;P<32;P++)if(e[i][P]!=null){for(U=e[i][P].length,A[P]=h(F,k,6,U,15,1),f=0;f<U;f++)A[P][f]=t.f[e[i][P][f]];A[P].sort(Fe(u0.prototype.gd,u0,[])),++s;}for(L=s;L>0;L--){for(Q=0,D=null,n=0;n<32;n++)if(A[n]!=null){if(D==null||D.length<A[n].length)D=A[n],Q=n;else if(D.length==A[n].length){for(f=D.length-1;f>=0;f--)if(D[f]<A[n][f]){D=A[n],Q=n;break;}}}r[i][Q]=L,A[Q]=null;}}return r;}function h_(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y,l;for(r=0,A=0;A<t.V.q;A++)r0(t.V,A)&&++r;for(y=t.V.q,l=t.V.r,t.gb=qD(t.gb,t.gb.length+r),t.jb=qD(t.jb,t.jb.length+r),i=h(F,k,6,t.V.q,15,1),D=$0(t.V,1),Q=$0(t.V,2),n=0;n<y;n++)r0(t.V,n)&&(L=t.V.q,t.gb[L]=t.gb[n],t.jb[L]=t.jb[n],i[n]=L,En(t.V,t.V,n,D,Q));for(f=0;f<l;f++)mP(t.V,f)&&DQ(t.V,t.V,f,D,Q,i,false);for(P=0;P<y;P++)dP(t.V,P,false);for(e=y;e<t.V.q;e++)Ze(t.V,e,0,false);if(t.I)for(U=t.I.a.length-1;U>=0;U--)s=N(t.I,U),s.g&&!Zt(s,62)&&mt(t.I,s.Gb());}function c_(t){var e,A,n,P,r,i,f,D;if(t.g!=null)for(i=new Dp(t),t.b=new f1(),P=0;P<t.g.length;P++)n=lO(i,P),n==0?(Nb(i,P),f=Wm(t,P,2),e=Wm(t,P,1),A=Gm(t,P),f==1&&e==1&&!A&&(XG(t,P,i.a+i.f++),mt(t.b,new Ki(P,1,-1,-1))),f>0?(A&&(kh(t,P,i.i+i.g++,2),++f),mt(t.b,new Ki(P,1,-1,-1))):e>0?(A&&kh(t,P,i.a+i.f++,1),mt(t.b,new Ki(P,1,-1,-1))):A&&(kh(t,P,i.a+i.f++,1),mt(t.b,new Ki(P,1,-1,-1)))):n==1&&(Gm(t,P)?(r=MG(i,P),D=hG(i,P),mt(t.b,new Ki(P,2,r,D))):(Nb(i,P),mt(t.b,new Ki(P,1,-1,-1))));}function NQ(t){CT(),this.d=t,ut(this.d,15),this.j=new f1(),this.k=h(rt,ft,6,(i8(),ml).length,16,1),this.i=h(F,k,6,ml.length,15,1),Za(this.j,t),this.i[0]=this.j.a.length,this.i[1]=-this.j.a.length,la(this.j,t),this.i[1]+=this.j.a.length,this.i[2]=-this.j.a.length,ZY(this.j,t),this.i[2]+=this.j.a.length,this.i[4]=-this.j.a.length,YW(this.j,t),this.i[4]+=this.j.a.length,this.i[5]=-this.j.a.length,y$(this.j,t),this.i[5]+=this.j.a.length,this.i[3]=-this.j.a.length,G$(this.j,t),this.i[3]+=this.j.a.length;}function w_(t,e,A,n){var P,r,i,f,D,Q,U,L,s,y,l;for(i=h(F,k,6,A.q,15,1),U=h(F,k,6,A.q,15,1),Q=h(yt,wt,6,A.q,15,1),U[0]=e,D=0,L=0;D<=L;){for(l=U[D],s=0;s<A.e[l];s++)f=A.i[l][s],i[f]==0&&f!=e&&(U[++L]=f,i[f]=i[l]+1,i[f]==2?Q[f]=f<e?t[e][f].a[0]:t[f][e].a[0]:i[f]>2&&(Q[f]=Q[l]+B9(n,A.k[l][s]),f<e&&!t[e][f]&&(i[f]==3?t[e][f]=new _7():(y=h(F,k,6,2,15,1),y[0]=U[1],y[1]=l,t[e][f]=new $L(O9(e,f),y,(r=A.C[e],(r<(c2(),IA).length?IA[r]:2)+(P=A.C[f],P<IA.length?IA[P]:2)),Q[f],0)))));++D;}}function o8(t,e){var A,n,P,r,i,f,D,Q;for(A=new RegExp(e,"g"),D=h(it,Dt,2,0,6,1),n=0,Q=t,r=null;;)if(f=A.exec(Q),f==null||Q==""){D[n]=Q;break;}else {if(i=f.index,r==null&&i==0&&f[0].length==0){Q=UA(Q,i+f[0].length,Q.length),A.lastIndex=0,r=Q;continue;}D[n]=(pt(0,i,Q.length),Q.substr(0,i)),Q=UA(Q,i+f[0].length,Q.length),A.lastIndex=0,r==Q&&(D[n]=(pt(0,1,Q.length),Q.substr(0,1)),Q=(Xt(1,Q.length+1),Q.substr(1))),r=Q,++n;}if(t.length>0){for(P=D.length;P>0&&D[P-1]=="";)--P;P<D.length&&(D.length=P);}return D;}function Ns(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m;for(n=t.e[e],P=h(yt,wt,6,n,15,1),y=0;y<n;y++)P[y]=Y0(t,e,t.i[e][y]);for(l=1;l<n;l++)for(T=0;T<l;T++)if(r=w.Math.abs(Je(P[l],P[T])),r<.08||r>Rp){for(i=0,f=0,c=0;c<n;c++)c!=l&&c!=T&&(i+=w.Math.abs(aB(P[l],P[c])),f+=w.Math.abs(aB(P[T],P[c])));if(Q=i<f?t.k[e][l]:t.k[e][T],dt(t,Q)==1&&(!A||!(t.H[Q]==257||t.H[Q]==129)))return Q;}for(g=-1,D=0,s=0;s<n;s++)U=t.i[e][s],L=t.k[e][s],m=CQ(t,L,U),D<m&&(!A||!(t.H[L]==257||t.H[L]==129))&&(D=m,g=L);return g;}function g_(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T;if(dt(e,t.a)==1&&(qe(e,t.a)==1||qe(e,t.a)==2)){for(Q=false,f=0;f<2;f++)for(n=t.p[3*f],A=t.p[1+f],T=t.p[2-f],U=0;U<e.j[A];U++)if(l=e.i[A][U],l!=T&&l!=n){l<n&&(Q=!Q);break;}for(qe(e,t.a)==1&&(Q=!Q),P=0,r=0,D=0;D<t.d.length;D++)t.d[D]<180^Q&&(r+=t.c[D],++P);if(P<t.d.length){for(y=h(Yt,at,6,P,15,1),L=h(Yt,at,6,P,15,1),s=h(Yt,te,16,P,0,2),P=0,i=0;i<t.d.length;i++)t.d[i]<180^Q&&(y[P]=t.d[i],L[P]=(t.c[i]*100/r|0)<<16>>16,s[P]=t.e[i],++P);t.d=y,t.c=L,t.e=s;}}}function d_(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l;for(i=h(F,k,6,t.s,15,1),P=0;P<e.f;P++){for(y=e.j[P]+(e.i[P].length-e.e[P]),s=0,D=0;D<e.i[P].length;D++)if(D<e.j[P]||D>=e.e[P]){for(l=2*A[e.i[P][D]],r=e.k[P][D],dt(e,r)==2&&(r<e.g&&Re(e.p,r)||++l),U=0;U<s&&!(l<i[U]);U++);for(L=s;L>U;L--)i[L]=i[L-1];i[U]=l,++s;}for($e(t.b[P],P),_1(t.b[P],t.a,A[P]),Q=y;Q<t.s;Q++)_1(t.b[P],t.a+1,0);for(f=0;f<y;f++)_1(t.b[P],t.a+1,i[f]);}for(n=e.f;n<t.b.length;n++)for($e(t.b[n],n),_1(t.b[n],t.a,e.f+1),f=0;f<t.s;f++)_1(t.b[n],t.a+1,0);}function Os(t){var e,A,n,P,r,i,f,D,Q,U;switch(e=null,U=t.c.length,t.e){case 1:for(e=h(Yt,at,6,2*U,15,1),n=0;n<U;n++)e[n]=t.c[n],e[U+n]=t.c[n];return e;case 2:for(P=t.a[0]==0?1:0,r=t.a[U-1]==180?U-1:U,Q=r-P,e=h(Yt,at,6,U+Q,15,1),i=0;i<U;i++)e[i]=t.c[i];for(f=P;f<r;f++)e[e.length-1-f+P]=t.c[f];return e;case 3:for(P=t.a[0]==0?1:0,r=t.a[U-1]==90?U-1:U,Q=r-P,e=h(Yt,at,6,2*U+2*Q,15,1),D=0;D<U;D++)e[D]=t.c[D],e[U+Q+D]=t.c[D];for(A=P;A<r;A++)e[U+Q-1-A+P]=t.c[A],e[e.length-1-A+P]=t.c[A];return e;default:return t.c;}}function Ln(t,e){var A,n,P,r,i;if(!e||e.q==0||!e.K){t.g=null;return;}for(t.g=e,t.r=false,ut(t.g,1),t.N=7,n=0;n<t.g.f;n++)gt(V(o0(t.g,n),{l:ge,m:0,h:3}),0)&&(t.N=15);for(i=0;i<t.g.g;i++)(ee(t.g,i)&h8)!=0&&(t.N=15);for(t.L&&t.N!=7&&ut(t.H,t.N),t.p=0,t.q=0,t.D=h(rt,ft,6,t.g.f,16,1),P=0;P<t.g.f;P++)t.D[P]=Qe(t.g,P),t.D[P]&&++t.p;if(t.d=0,t.f=null,t.i=null,t.p!=0){for(r=0;r<t.g.g;r++)(t.D[z(t.g,0,r)]||t.D[z(t.g,1,r)])&&++t.q;for(A=0;A<t.g.q;A++)zn(t.g,A,t.D[A]);t.f=h(F,k,6,t.g.q,15,1),t.d=n9(t.g,t.f,true,false);}}function rj(t,e){yg();var A,n,P,r,i,f;r=new Vs(t);try{if(f=new f3(),rA(f,nM+B8),Si(f.a,e??""),rA(f,B8+(""+B8)),rA(f,qy+M5(t,!0,11)),rA(f,B8),P=r.g.a.length,n=r.f.a.length,rA(f,pp+P+" "+n+B8),i=cX(r),P>0){for(rA(f,iM+B8),A=0;A<r.g.a.length;A++)rA(f,rv(N(r.g,A),i));rA(f,"M  V30 END REACTANT"+B8);}if(n>0){for(rA(f,DM+B8),A=0;A<r.f.a.length;A++)rA(f,rv(N(r.f,A),i));rA(f,"M  V30 END PRODUCT"+B8);}rA(f,D9+B8),this.a=f.a;}catch(D){if(D=t0(D),Zt(D,19))x1();else throw At(D);}}function B_(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y,l;for(D=null,l=On(t.R),L=0;L<l.j.a.length;L++)if(l.f[L]){for(r=0,s=N(l.j,L),A=s,n=0,P=A.length;n<P;++n)e=A[n],ys(t,e)&&++r;if(r!=0)if(y=N(l.k,L),D==null&&(D=h(rt,ft,6,t.R.g,16,1)),r==s.length){for(Q=-1,U=It,i=0;i<s.length;i++)U>t.B[y[i]]&&(U=t.B[y[i]],Q=i);for(;r>0;)D[y[Q]]=true,Q=Do(Q+2,s.length),r-=2;}else {for(f=0;ys(t,s[f]);)++f;for(;!ys(t,s[f]);)f=Do(f+1,s.length);for(;r>0;)for(D[y[f]]=true,f=Do(f+2,s.length),r-=2;!ys(t,s[f]);)f=Do(f+1,s.length);}}return D;}function v_(t){var e,A,n,P,r,i,f,D,Q,U,L,s;for(t.b=oA(t.c),r=WV,f=0,Q=r.length;f<Q;++f)n=r[f],Gt(t.b,n);for(s=t.b.Ec(),s.setEditable(true),zx(t.b,""+vt(t.e.c)),t.a=oA(t.c),P=_V,i=0,D=P.length;i<D;++i)n=P[i],Gt(t.a,n);for(U=0,A=0;A<cl.length;A++)if(t.e.d==cl[A]){U=A;break;}_t(t.a,U),e=B(d(F,1),k,6,15,[8,-2,4,-2,8]),L=B(d(F,1),k,6,15,[8,-2,4,-2,8,-2,8]),_o(t.c,e,L),f0(t.c,oe(t.c,"Text size:"),1,1),f0(t.c,t.b,3,1),f0(t.c,oe(t.c,"Text style:"),1,3),f0(t.c,t.a,3,3),t.d=Gu(t.c,20,3),O8(t.d,t.e.e),he(t.c,t.d,1,5,3,5);}function F_(t,e){var A,n,P;return n=Fk(t,e),A=_0(t,t.D[0][e])||_0(t,t.D[1][e]),P=A?16:1,t.H[e]==64?(t.H[e]=P,t.T=0,true):t.H[e]==32?(t.H[e]=n>4?64:P,t.T=0,true):t.H[e]==4?(t.H[e]=n>3?32:P,t.T=0,true):t.H[e]==2&&(t.H[e]=386,t.T&=7,(t.F[e]&128)==0)?true:t.H[e]==386?(n>2?t.H[e]=4:t.H[e]=P,t.T=0,true):(384&t.H[e])!=0?(t.H[e]=1,t.T&=7,true):!A&&n<2?false:t.H[e]==1?(t.H[e]=2,t.T=0,true):n<1?false:t.H[e]==16?(t.H[e]=1,t.T=0,true):false;}function m_(t,e){var A,n;if(e.j==1){if(A=Kh(t,e),!(A>=0&&A<34&&(A!=t.b||A==20||A==33)&&(A!=19||(t.a.U&4)!=0)&&(A!=21||(t.a.U&8)!=0)))return;A==20&&A==t.b&&(t.d=++t.d%3),t.k=A,MD(t.n);}else if(e.j==2){if(t.k==-1)return;if(n=Kh(t,e),n!=t.k||t.k==19&&(t.a.U&4)==0||t.k==21&&(t.a.U&8)==0){t.k=-1,MD(t.n);return;}if(t.k=-1,n==0||n==1||n==17){MD(t.n),UK(t.a,n);return;}t.b=n,MD(t.n),t.b==20?au(t.a,t.d==0?101:t.d==1?103:102):t.b==33?XF(t.a,-1,new X7(t,n)):au(t.a,n);}else (e.j==6||e.j==5)&&(A=Kh(t,e),A==t.k&&(A=-1),A!=t.f&&(t.f=A,MD(t.n)));}function fi(t,e){var A,n,P,r,i,f;return t.H[e]!=1||e<t.g&&Re(t.p,e)||(t.F[e]&64)!=0&&(t.p&&e<t.g?yP(t.p,e):0)<7||(A=t.D[0][e],!(A<t.f&&i0(t.p,A))||(t.p&&A<t.f?iA(t.p,A):0)<5)||(n=t.D[1][e],!(n<t.f&&i0(t.p,n))||(t.p&&n<t.f?iA(t.p,n):0)<5)?false:(P=QF(t,A,n),r=QF(t,n,A),(t.p&&A<t.f?iA(t.p,A):0)>5&&(t.p&&n<t.f?iA(t.p,n):0)>5?P+r>2:(i=Vk(t,A,n),f=Vk(t,n,A),P==2&&f>=1||r==2&&i>=1||i==2&&(r>=1||f>=1)||f==2&&(P>=1||i>=1)));}function k_(t){var e,A,n,P,r,i,f;for(t.L=true,n=Gh(t),t.P&&Q2(t.P,t.f)&&(n=Gh(t)),i2(t,false)&&s2(t),i=true;t.U<t.R.f&&i;){for(P=T_(t,n),e=0;e<t.R.f;e++)$e(t.e[e],e),_1(t.e[e],t.c,t.f[e]),_1(t.e[e],20,0),!t.cb[e]&&t.bb[e]!=0&&ue(t.e[e],O1(t.bb[e]<<18,M1(P[t.bb[e]==1?0:1][t.ab[e]],8))),f=t.db[e],t.eb[e]&&(f==1?f=2:f==2&&(f=1)),ue(t.e[e],f<<4);for(A=0;A<t.R.g;A++)ue(t.e[z(t.R,0,A)],t.o[A]),ue(t.e[z(t.R,1,A)],t.o[A]);if(r=Wn(t),t.U==r)break;t.U=r,i=false,t.P&&Q2(t.P,t.f)&&(i=true,n=Gh(t)),i2(t,false)&&(i=true,s2(t));}}function b_(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y,l;for(e=0;e<t.j.f;e++)if(t.d[e])for(i=false,f=h(F,k,6,t.j.f,15,1),l=h(F,k,6,t.j.f,15,1),D=h(F,k,6,t.j.f,15,1),f[0]=e,l[e]=-1,D[e]=1,P=0,Q=0;P<=Q&&!i;){for(r=f[P],U=0;U<O(t.j,r)&&!i;U++)if(L=(D[r]&1)==1^dt(t.j,Ot(t.j,r,U))>1,n=_(t.j,r,U),D[n]==0&&L)if(t.d[n]){if((D[r]&1)==1){for(t.d[e]=false,t.d[n]=false,t.k+=2,y=r,s=0;s<D[r];s++)A=D1(t.j,n,y),t.e[A]&&(t.e[A]=false,--t.c),uT(t.j,A,dt(t.j,A)==1?2:dt(t.j,A)-1),n=y,y=l[n];i=true;}}else f[++Q]=n,l[n]=r,D[n]=D[r]+1;++P;}}function SA(t,e){Y1();var A,n,P,r,i;if((e&256)!=0&&A1(t,"?"))return 0;for(n=1;n<=128;n++)if(!A1(t,$1)&&K9(t,X0[n]))return n;if((e&2)!=0){for(P=129;P<=144;P++)if(K9(t,X0[P]))return P;}if((e&4)!=0){for(r=146;r<=148;r++)if(K9(t,X0[r]))return r;}if((e&1)!=0){for(i=151;i<=152;i++)if(K9(t,X0[i]))return i;}if((e&32)!=0&&K9(t,X0[153]))return 153;if((e&8)!=0&&K9(t,X0[154]))return 154;if((e&16)!=0&&K9(t,X0[145]))return 145;if((e&128)!=0&&K9(t,X0[159]))return 159;if((e&64)!=0){for(A=171;A<=190;A++)if(K9(t,X0[A]))return A;}return 0;}function R_(t,e){var A,n,P,r,i,f,D;if(t.db[e]==1||t.db[e]==2){if(f=false,a1(t.R,e)==2&&O(t.R,e)==2)try{for(i=0;i<2;i++)if(A=_(t.R,e,i),O(t.R,A)==3){for(P=h(F,k,6,2,15,1),r=0,D=0;D<O(t.R,A);D++)pA(t.R,A,D)==1&&(P[r++]=_(t.R,A,D));t.f[P[0]]>t.f[P[1]]^A6(t,A,P[0],P[1])&&(f=!f);}}catch(Q){if(Q=t0(Q),Zt(Q,19)){t.$[e]=3;return;}else throw At(Q);}else {try{n=CK(t,e);}catch(Q){if(Q=t0(Q),Zt(Q,19)){t.$[e]=3;return;}else throw At(Q);}for(i=1;i<n.length;i++)for(D=0;D<i;D++)t.f[n[i]]<t.f[n[D]]&&(f=!f);}t.db[e]==1^f?t.$[e]=1:t.$[e]=2;}}function j_(t,e,A,n,P){var r,i,f,D,Q,U,L,s,y,l,T;for(L=-1,U=0;U<t.j[A];U++)t.n[A][U]==2&&(L=t.i[A][U]);for(r=h(F,k,6,n,15,1),T=h(F,k,6,4,15,1),T[0]=L,T[1]=A,T[2]=e,D=0,Q=0;Q<t.e[e];Q++)i=t.i[e][Q],t.C[i]==1&&(D==0&&(T[3]=i),r[D++]=i);y=!(A<t.f&&i0(t.p,A))&&n==1?1:2,l=h(Yt,at,6,y,15,1),f=h(Yt,at,6,y,15,1),s=R1(Yt,[te,at],[16,6],15,[y,2],2),!(A<t.f&&i0(t.p,A))&&n==1?(l[0]=0,f[0]=100,s[0][0]=-15,s[0][1]=15):(l[0]=0,l[1]=180,f[0]=50,f[1]=50,s[0][0]=-15,s[0][1]=15,s[1][0]=165,s[1][1]=195),mt(P,new xL(l,f,s,T,r,1));}function be(t){var e,A,n,P,r;return t.g!=null?t.g:t.a<32?(t.g=ta(E1(t.f),vt(t.e)),t.g):(P=t6((!t.c&&(t.c=kP(E1(t.f))),t.c),0),t.e==0?P:(e=(!t.c&&(t.c=kP(E1(t.f))),t.c).e<0?2:1,A=P.length,n=-t.e+A-e,r=new V0(),r.a+=""+P,t.e>0&&n>=-6?n>=0?mD(r,A-vt(t.e),"."):(lF(r,e-1,e-1,"0."),mD(r,e+1,tP(HU,0,-vt(n)-1))):(A-e>=1&&(mD(r,e,"."),++A),mD(r,A,"E"),n>0&&mD(r,++A,"+"),mD(r,++A,""+Te(E1(n)))),t.g=r.a,t.g));}function p_(t){var e,A,n,P,r,i,f;if(n=new uD(),mt(n.a,new We("Solubility values are estimated applying an atom-type based increment system.",2)),mt(n.a,new We($H,2)),mt(n.a,new We(A4,2)),mt(n.a,new We("Base value = -0.530",2)),A=h(F,k,6,Kf.length,15,1),t)for(Qi(t),ut(t,7),e=0;e<t.f;e++){f=-1;try{f=ny(t,e,2144);}catch(D){if(D=t0(D),!Zt(D,19))throw At(D);}for(i=0;i<Kf.length;i++)if(P0(Ul[i],f)){++A[i];break;}}for(P=new Pu("#0.000"),r=0;r<Kf.length;r++)A[r]!=0&&ZP(n,""+A[r]+" * "+ng(P,Kf[r])+"   AtomType: 0x"+Nh(Ul[r]),2);return n;}function N5(t){var e,A,n,P,r,i,f,D;for(f=h(rt,ft,6,t.q,16,1),A=0;A<t.q;A++)f[A]=t.C[A]==1&&t.A[A]==0&&t.s[A]==0&&(t.u[A]&g8)==0&&(t.t==null||t.t[A]==null);for(D=h(rt,ft,6,t.q,16,1),i=0;i<t.r;i++){if(n=t.D[0][i],P=t.D[1][i],dt(t,i)!=1){f[n]=false,f[P]=false;continue;}D[n]&&(f[n]=false),D[P]&&(f[P]=false),f[n]&&_0(t,P)&&t.C[P]!=13&&(f[n]=false),f[P]&&_0(t,n)&&t.C[n]!=13&&(f[P]=false),D[n]=true,D[P]=true;}for(r=0;r<t.r;r++)f[t.D[0][r]]&&f[t.D[1][r]]&&(f[t.D[0][r]]=false,f[t.D[1][r]]=false);for(e=0;e<t.q;e++)D[e]||(f[e]=false);return f;}function C_(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g;for(g=0;g<t.e.length;g++)if(t.e[g]){for(c=false,n=N(t.j,g),r=0,f=n.length;r<f;++r)e=n[r],t.a[e]|=Q0,aY(t,e)&&(c=true);for(U=N(t.k,g),s=0,T=U.length;s<T;++s)D=U[s],t.c[D]|=Q0;if(t.f[g]){for(A=N(t.j,g),P=0,i=A.length;P<i;++P)e=A[P],t.a[e]|=I0;for(Q=N(t.k,g),L=0,l=Q.length;L<l;++L)D=Q[L],t.c[D]|=I0;}if(c){for(A=N(t.j,g),P=0,i=A.length;P<i;++P)e=A[P],t.a[e]|=T8;for(Q=N(t.k,g),L=0,l=Q.length;L<l;++L)D=Q[L],t.c[D]|=T8;}}for(y=new Wt(t.b);y.a<y.c.a.length;)D=t1(y).a,t.c[D]=0;}function AP(t){var e,A,n,P,r,i,f,D,Q;e=null;try{for(e=new nn(new Fi((P=_D(t),c0(),P))),D=c1(v1(K1(e)),o1,It),n=o8(v1(K1(e)),","),Q=R1(uP,[nA,A0],[8,1],5,[D,n.length],2),i=0;(r=K1(e))!=null&&i<D;i++)for(f=o8(v1(r),","),A=0;A<n.length;A++)switch(Yi(n[A],0)){case 105:Q[i][A]=k1(c1(v1(f[A]),o1,It));break;case 102:Q[i][A]=Le(v1(f[A]));break;case 99:Q[i][A]=FG(Yi(ef(ef(v1(f[A]),"'"),'"'),0));}return Q;}catch(U){if(U=t0(U),Zt(U,75))x1();else throw At(U);}return R1(uP,[nA,A0],[8,1],5,[1,1],2);}function M_(t,e,A,n,P){var r,i;return !(K(t.j,A)==6&&w.Math.abs(O(t.j,A)-O(t.d,P))>1||K(t.j,A)==8&&O(t.j,A)==2&&Zr(t.j,e,8)>Zr(t.d,n,8)||K(t.d,P)==8&&O(t.d,P)==2&&Zr(t.j,e,8)<Zr(t.d,n,8)||K(t.j,A)==8&&O(t.j,A)==2&&O(t.d,P)==2&&(i=_(t.j,A,0)==e?0:1,r=_(t.d,P,0)==n?0:1,cs(t.p[A][i][3],t.i[P][r][3])!=0)||K(t.j,A)==7&&Zr(t.j,e,7)<Zr(t.d,n,7)||K(t.d,P)==7&&Zr(t.j,e,7)>Zr(t.d,n,7)||pr(t.j,D1(t.j,e,A))==3^pr(t.d,D1(t.d,n,P))==3);}function Gs(t,e){_r();var A,n,P,r,i,f,D,Q,U,L,s;return A=(xA[0]*((e&iP)>>16)+xA[1]*((e&PP)>>8)+xA[2]*(e&255))/255,i=(xA[0]*((t&iP)>>16)+xA[1]*((t&PP)>>8)+xA[2]*(t&255))/255,P=w.Math.abs(A-i),P>jf||(f=(mQ(),jR(((e&iP)>>16)/255,((e&PP)>>8)/255,(e&255)/255,null)),D=jR(((t&iP)>>16)/255,((t&PP)>>8)/255,(t&255)/255,null),Q=w.Math.abs(D[0]-f[0]),Q>.5&&(Q=1-Q),s=1-w.Math.max(D[1],f[1]),n=w.Math.abs(i+A-1),U=w.Math.cos(Q1*Q*3),L=jf*w.Math.max(s,w.Math.max(n,U)),P>L)?t:(r=i>A?i+L>1:i-L>0,n5(t,r?A-L:A+L));}function Ff(t,e,A){var n,P,r,i;if(ut(t.j,1),i=new Qo(t.j,1),Q$(t,e,i),t.c==0)return  true;if(A)for(P=0;P<t.j.f;P++)t.d[P]&&K(t.j,P)==7&&(t.f[P]||O(t.j,P)==3&&!t.g[P])&&E0(t.j,P,1);for(t.a=false,Oz(t,A),t.j.K&&wW(t),Ta(t,i),RG(t,i),bY(t),A&&K$(t),jQ(t);A$(t,i,A);)jQ(t);for(;YX(t,i,A);)jQ(t);for(;KW(t,i,A);)jQ(t);for(;t.c!=0;)for(r=0;r<t.j.g;r++)t.e[r]&&(n2(t,r),jQ(t));for(A&&x_(t,A),t.b-t.k>=2&&b_(t),n=0;n<t.j.f;n++)t.d[n]&&xt(t.j,n)!=0&&(A&&(p1(t.j,n)==1&&tA(t.j,n)||p1(t.j,n)==-1&&K(t.j,n)==5)?E0(t.j,n,0):Ne(t.j,n,32),++t.k);return t.b==t.k;}function ij(t,e,A,n,P,r){var i,f,D,Q,U,L,s,y;for(this.e=t,this.c=e,this.f=A,this.d=n,this.g=P,this.b=P,this.i=r,Q=new lP(),f=0;f<t.f;f++)A[f]==0&&(D=t.C[f]+(t.A[f]<<16),s=le(Q,k1(D)),s||(s=new NT(this),ze(Q,k1(D),s)),s.d=KF(f,s.d),s.d.length<=s.c.length&&(s.a=s.d.length));for(i=0;i<e.f;i++)n[i]==0&&(D=e.C[i]+(e.A[i]<<16),s=le(Q,k1(D)),s||(s=new NT(this),ze(Q,k1(D),s)),s.c=KF(i,s.c),s.c.length<=s.d.length&&(s.a=s.c.length));for(this.a=new f1(),y=(L=new fD(Q).a.$c().Tb(),new DD(L));y.a.ad();)s=(U=y.a.bd(),U.ed()),u_(s)||mt(this.a,s);}function fj(t,e){var A,n,P,r,i;r=0,YA(t.d)?(P=B0(t.p),A=B0(t.o),r|=P<<9,r|=A<<13,r&=-128,w0(t.u,e,1)):(YA(t.k)&&(r|=1),YA(t.c)&&(r|=2),YA(t.n)&&(r|=4),YA(t.i)&&(r|=32),YA(t.j)&&(r|=64),YA(t.b)&&(r|=8),YA(t.g)&&(r|=16),B0(t.q)!=0&&(B0(t.q)==1?fA(t.u,e)||(r|=128):B0(t.q)==2?fA(t.u,e)||(r|=256):B0(t.q)==3?_e(t.u,e)||(r|=4194560):B0(t.q)==4?_e(t.u,e)||(r|=qA):B0(t.q)==5&&(_e(t.u,e)||(r|=fP))),B0(t.r)!=0&&(i=B0(t.r)+2,i>7&&(i-=7),n=pr(t.u,e),(i<=2||i!=n)&&(r|=i<<17)),YA(t.e)&&(r|=Ef),YA(t.f)&&(r|=h8)),Ge(t.u,e,oi,false),Ge(t.u,e,r,true),Cs(t.u,e);}function Js(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T;for(P=h(F,k,6,e.q,15,1),D=$0(t,1),Q=$0(t,2),n=0;n<e.q;n++)if(e.C[n]!=0||(e.t==null||e.t[n]==null?null:rn((y=e.t[n],c0(),y)))!=null)P[n]=En(e,t,n,D,Q);else if(P[n]=A,(e.T&8)!=0){for(f=0;f<e.r;f++)for(U=0;U<2;U++)if(e.D[U][f]==n){if(l=e.D[1-U][f],T=e.u[l]&3,L=false,T==1||T==2){for(r=0;r<e.r;r++)if(r!=f)for(s=0;s<2;s++)e.D[s][r]==l&&e.D[1-s][r]<n&&(L=!L);}L&&ce(e,l,T==1?2:1,(e.u[l]&4)!=0);}}for(i=0;i<e.r;i++)er(e,t,i,D,Q,P[e.D[0][i]],P[e.D[1][i]],false);return t.L=t.L&&e.L,t.I=0,t.T=0,P;}function Dj(t,e,A,n){var P,r,i,f,D,Q,U,L,s,y,l,T,c,g;this.g=e,this.b=e.a[A],this.d=e.a[n],this.a=A,this.c=n,P=(i=GF(t.p,this.b),f=GF(t.p,this.d),D=PL(t.p,this.b),Q=PL(t.p,this.d),U=(i-f)/(i+f),.5*(i+f)*(1+(D==68||Q==68?0:.2*(1-w.Math.exp(-12*U*U))))),r=(L=NB(t.p,this.b),s=NB(t.p,this.d),y=xB(t.p,this.b),l=xB(t.p,this.d),T=OB(t.p,this.b),c=OB(t.p,this.d),g=P*P,181.16*L*s*y*l/((w.Math.sqrt(y/T)+w.Math.sqrt(l/c))*g*g*g)),this.e=PL(t.p,this.b),this.f=PL(t.p,this.d),(this.e==68&&this.f==65||this.e==65&&this.f==68)&&(P=P*.8,r*=.5),this.i=P,this.j=r;}function H_(t,e,A,n){var P,r,i,f,D,Q,U,L,s,y,l,T;return U=_d(t.a,e,D1(e,A,n)),r=e.a[A],f=e.a[n],r>f&&(r=(l=k1(f),k1(f=r),l).a),s=_9(B(d(F,1),k,6,15,[1,2,0]),B(d(F,1),k,6,15,[r,f,U]),t),s>=0?j0(t.b[s][3]):(P=e.C[A],i=e.C[n],P>i&&(P=(y=k1(i),k1(i=P),y).a),T=y2(t,e,A,n),Q=_9(B(d(F,1),k,6,15,[0,1]),B(d(F,1),k,6,15,[P,i]),t.a.c),Q>=0?(L=w.Math.pow(UI(t.a.c,Q)/T,6),QI(t.a.c,Q)*L):(D=_9(B(d(F,1),k,6,15,[0,1]),B(d(F,1),k,6,15,[Tk(P),Tk(i)]),t.a.j),w.Math.pow(10,-(T-Ig(t.a.j,D,2))/Ig(t.a.j,D,3))));}function V_(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a,E;return A=t.l&8191,n=t.l>>13|(t.m&15)<<9,P=t.m>>4&8191,r=t.m>>17|(t.h&255)<<5,i=(t.h&1048320)>>8,f=e.l&8191,D=e.l>>13|(e.m&15)<<9,Q=e.m>>4&8191,U=e.m>>17|(e.h&255)<<5,L=(e.h&1048320)>>8,S=A*f,p=n*f,x=P*f,a=r*f,E=i*f,D!=0&&(p+=A*D,x+=n*D,a+=P*D,E+=r*D),Q!=0&&(x+=A*Q,a+=n*Q,E+=P*Q),U!=0&&(a+=A*U,E+=n*U),L!=0&&(E+=A*L),y=S&x0,l=(p&511)<<13,s=y+l,c=S>>22,g=p>>9,m=(x&262143)<<4,v=(a&31)<<17,T=c+g+m+v,b=x>>18,j=a>>5,C=(E&4095)<<8,R=b+j+C,T+=s>>22,s&=x0,R+=T>>22,T&=x0,R&=aA,S0(s,T,R);}function E_(t,e){var A,n,P,r,i,f,D,Q,U,L,s;for(D5(e,t.j),r=0,n=0;n<t.d.q;n++)i=e.a==null?NaN:e.a[n],i>1e3&&mX(t,e,n)&&++r;if(r==0){for(s=16,P=0;P<t.d.q;P++)s>Mt(t.d,P)&&(e.a==null?NaN:e.a[P])>(U=w.Math.min(4,Mt(t.d,P)),400+U*2e3/5)&&(s=Mt(t.d,P));if(s!=16)for(A=0;A<t.d.q;A++)s==Mt(t.d,A)&&(e.a==null?NaN:e.a[A])>(Q=w.Math.min(4,Mt(t.d,A)),400+Q*2e3/5)&&(f=e.k[A],Mt(t.d,A)==1?(D=J0(e,_(t.d,A,0)),I8(f,2*(D.a-f.a),2*(D.b-f.b),2*(D.c-f.c))):(L=Mt(t.d,A)==0?16:8,I8(f,L*jn(t.f)-L/2,L*jn(t.f)-L/2,L*jn(t.f)-L/2)),++r);}return r!=0&&po(e),r;}function uj(t){var e,A,n,P,r,i,f;for(i=h(F,k,6,t.U+1,15,1),A=0;A<t.R.f;A++)Ae(t.R,A)==0&&(t.db[A]==1?++i[t.f[A]]:t.db[A]==2&&--i[t.f[A]]);for(P=0;P<t.R.g;P++)dt(t.R,P)==1&&cP(t.R,P)==0&&(t.o[P]==1?(++i[t.f[z(t.R,0,P)]],++i[t.f[z(t.R,1,P)]]):t.o[P]==2&&(--i[t.f[z(t.R,0,P)]],--i[t.f[z(t.R,1,P)]]));for(f=1;f<=t.U;f++)if(i[f]!=0){if(r=i[f]<0,r){for(e=0;e<t.R.f;e++)Ae(t.R,e)==0&&(t.db[e]==1?t.db[e]=2:t.db[e]==2&&(t.db[e]=1));for(n=0;n<t.R.g;n++)dt(t.R,n)==1&&cP(t.R,n)==0&&(t.o[n]==1?t.o[n]=2:t.o[n]==2&&(t.o[n]=1));}return r;}return  false;}function S_(t,e){var A,n,P,r,i,f,D,Q,U,L;for(t.j=0,P=0;P<e.g.a.length+e.f.a.length;P++)for(D=Pv(t.c,P),A=0;A<D.f;A++)gt(V(D.B[A],Pe),0)?D.w[A]=0:t.j<w.Math.abs(D.w[A])&&(t.j=w.Math.abs(D.w[A]));for(L=h(rt,ft,6,t.j+1,16,1),r=0;r<e.g.a.length;r++)for(U=N(e.g,r),A=0;A<U.f;A++)f=w.Math.abs(U.w[A]),f!=0&&(L[f]=true);for(i=0;i<e.f.a.length;i++)for(Q=N(e.f,i),A=0;A<Q.f;A++)f=w.Math.abs(Q.w[A]),f!=0&&(L[f]?L[f]=false:Q.w[A]=0);for(n=0;n<e.g.a.length;n++)for(U=N(e.g,n),A=0;A<U.f;A++)f=w.Math.abs(U.w[A]),f!=0&&L[f]&&(U.w[A]=0);}function q_(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m;for(l=null,l=new Ni(),Dn(l,t.f),i=h(rt,ft,6,t.f.f,16,1),c=e.Tb();c.ad();)if(T=c.bd(),y=null,m=T.b,Ln(l,m),sn(l,4,8)!=0&&(y=l.F),y)for(s=new Wt(y);s.a<s.c.a.length;){for(L=t1(s),g=0,n=L,P=0,r=n.length;P<r;++P)A=n[P],i[A]&&++g;if(g<=1){for(D=T.c,t.a?D=false:t.a=true,Q=new MP(t.f,L.length,D),U=0;U<L.length;U++)A=L[U],D&&zn(t.f,A,true),Q.k[U]=256,Q.e[U]=A,Q.a[U]=kt(T.b,U)/T.a,Q.b[U]=jt(T.b,U)/T.a,i[A]=true,t.b[A]=true;for(f=0;f<m.g;f++)t.c[D1(t.f,L[m.D[0][f]],L[m.D[1][f]])]=true;pP(t.d,Q);}}return i;}function Qj(t,e,A,n,P){var r,i,f,D,Q;for(this.D=t,this.u=e,this.I=A,this.B=n,this.L=P,mZ(this),rb(this),this.k=pZ(this),this.j=MK(this.k),this.r=0,Q=(f=new N8(new x8(new w9(this.k[0]).a).b),new g9(f));p9(Q.a.a);)D=(i=Br(Q.a),i.dd()),r=le(this.k[0],D),this.r+=w.Math.min(r[0].length,r[1].length);this.p=this.r==this.D.f&&this.D.f==this.u.f,this.G=h(F,k,6,this.D.f,15,1),this.w=h(F,k,6,this.u.f,15,1),this.H=h(rt,ft,6,n9(this.D,this.G,false,false),16,1),this.A=h(rt,ft,6,n9(this.u,this.w,false,false),16,1),this.q=gR(this),this.g=7,this.K=0;}function Uj(t,e,A,n){var P,r,i,f,D,Q,U,L,s,y,l,T,c;if(t.o&&I$(t,e),r=null,t.e!=null)for(f=t.e,Q=0,L=f.length;Q<L;++Q)i=f[Q],L2(i,e,null,0),r=r?dQ(r,i.v):i.v;if(t.b!=null)for(f=t.b,Q=0,L=f.length;Q<L;++Q)i=f[Q],L2(i,e,null,0),r=r?dQ(r,i.v):i.v;if(t.g)for(l=new Wt(t.g);l.a<l.c.a.length;)y=t1(l),T=y.Jb(e),Nu(t.p,T),r=r?dQ(r,T):T;if(!r)return null;if(P=C5(t),c=new Ws(r,A,P,n),!(c.c==1&&c.a==0&&c.b==0)){if(Eu(c,t.p),t.e!=null)for(D=t.e,U=0,s=D.length;U<s;++U)i=D[U],qo(i,c);if(t.b!=null)for(f=t.b,Q=0,L=f.length;Q<L;++Q)i=f[Q],qo(i,c);return c;}return null;}function zs(t,e,A,n){var P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m;for(D=JE[n],f=1,y=n==4?w.Math.exp(w.Math.log(.01)/D):1,P=t.d.q*t.d.q,s=h(yt,wt,6,10,15,1),L=0,U=0;U<D&&!(gt(t.n,0)&&(x1(),S1(E1(Date.now()),t.n)));U++){for(n!=0&&U%10==0&&na(t,e),Q=0;Q<P&&!(gt(t.n,0)&&(x1(),S1(E1(Date.now()),t.n)));Q++)l=null,l=N(t.j,vt(jn(t.f)*t.j.a.length)),l.g&&!t.k[l.rd()]&&(i=l.qd(e,f),i&&po(e));if(D5(e,t.j),s[L++]=e.e,L==10&&(L=0),U>10){for(r=0,c=s,g=0,m=c.length;g<m;++g)T=c[g],r+=T;if(r/=10,e.e>r)break;}A.e>e.e&&(WD(A,e),lh(A,e)),f*=y;}e.e>A.e&&(WD(e,A),lh(e,A));}function oj(){oj=B1,gE=B(d(yt,1),wt,6,15,[5.55,15,15,15,15,15,15,15,15,wA,wA,wA,wA,wA,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,wA,wA,7.1,ie,ie,17.78,Q9,3.82,6.66,6.66,7.78,11.68,wA,6.66,wA,wA,ie,ie,ie,ie,ie,ie,ie,ie,ie,ie,wA,wA,11.68,11.68,11.68,ie,20.3,Q9,Q9,Gf,Gf,Q9,12.22,15.56,Gf,wA,10,Q9,ie,16.66,Gf,15.56,Q9,15.56,Gf,Q9,12.22,Gf,Q9,18.88,Q9,Q9,12.22,wA,wA,wA,9.38,ie,6.66,ie,ie,10,ie,ie,wA,ie,ie,4.44,4.44,10,4.44,16.66,ie,ie,ie,ie,6.66,10,wA,ie,10,Gf,10,10,10,6.68,5.2,6.68,11.68,10.5]);}function I_(t,e){var A,n,P,r,i,f,D,Q,U,L;if(uN(t.C[e]))return 0;if(t.C[e]==1)return t.j[e]==0?0:ei(t.C[t.i[e][0]])?-1:1;if(L=t.s[e],D=t.e[e]-e0(t,e)+xt(t,e),t.C[e]!=1&&t.C[e]!=15&&(ei(t.C[e])?L+=D:L-=D),t.j[e]==0)return L;for(U=0;U<t.j[e];U++)r=t.i[e][U],A=G8(t,t.k[e][U])?1:t.n[e][U],ei(t.C[e])?ei(t.C[r])||(L+=A):ei(t.C[r])?L-=A:t.C[e]!=t.C[r]&&(TB(t.C[e]).a<TB(t.C[r]).a?L+=A:L-=A);if(e<t.f&&lI(t.p,e)){for(n=0,P=0,f=0,Q=0;Q<t.j[e];Q++)G8(t,t.k[e][Q])&&(i=t.C[t.i[e][Q]],i==6?++P:ar(i)?++f:++n);t.C[e]==6?n>1?--L:f>1&&++L:tA(t,e)?n+P>1&&--L:f+P>1&&++L;}return L;}function O5(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l;for(l=h(F,k,6,16,15,1),A=h(yt,wt,6,16,15,1),r=h(yt,wt,6,2,15,1),n=0,U=0;U<2;U++)for(P=t.D[U][e],L=0;L<t.j[P];L++)if(D=t.k[P][L],D!=e){if(n==4)return 0;f=t.i[P][L],l[n]=16,t.o[f]!=0&&(l[n]+=(t.u[f]&hn)!=0?1:4),(t.F[e]&64)!=0&&(t.F[D]&64)!=0&&(s=KL(t.p,e,D),s!=-1&&(l[n]+=u3(t.p,s)?64:6)),A[n++]=kA(t.J[P].a,t.J[P].b,t.J[f].a,t.J[f].b);}for(r[0]=Y0(t,t.D[0][e],t.D[1][e]),r[0]<0?(r[1]=r[0]+Q1,i=false):(r[1]=r[0],r[0]=r[1]-Q1,i=true),y=0,Q=0;Q<n;Q++)A[Q]>r[0]&&A[Q]<r[1]?y-=l[Q]:y+=l[Q];return i?-y:y;}function Lj(t){var e;if(this.e=t.e,t.a!=null)for(this.a=h(Yt,at,6,t.a.length,15,1),e=0;e<this.a.length;e++)this.a[e]=360-t.a[this.a.length-e-1]<<16>>16;if(t.d!=null)for(this.d=R1(Yt,[te,at],[16,6],15,[t.d.length,2],2),e=0;e<this.d.length;e++)this.d[e][0]=360-t.d[this.a.length-e-1][1]<<16>>16,this.d[e][1]=360-t.d[this.a.length-e-1][0]<<16>>16;if(t.c!=null)for(this.c=h(Yt,at,6,t.c.length,15,1),e=0;e<this.c.length;e++)this.c[e]=t.c[this.c.length-e-1];if(t.b!=null)for(this.b=h(q,I,6,t.b.length,15,1),e=0;e<this.b.length;e++)this.b[e]=t.b[this.b.length-e-1];}function x_(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T;for(A=0;A<t.j.f;A++)if(ut(t.j,1),K(t.j,A)==7&&p1(t.j,A)==1&&a1(t.j,A)==1&&!mz(t,A,e))for(f=false,D=h(F,k,6,t.j.f,15,1),T=h(F,k,6,t.j.f,15,1),Q=h(F,k,6,t.j.f,15,1),D[0]=A,T[A]=-1,Q[A]=1,r=0,U=0;r<=U&&!f;){for(i=D[r],L=0;L<O(t.j,i)&&!f;L++)if(s=(Q[i]&1)==0^dt(t.j,Ot(t.j,i,L))>1,P=_(t.j,i,L),Q[P]==0&&s)if(K(t.j,P)==7&&a1(t.j,P)==0&&O(t.j,P)==2){if((Q[i]&1)==0){for(E0(t.j,A,0),l=i,y=0;y<Q[i];y++)n=D1(t.j,P,l),uT(t.j,n,dt(t.j,n)==1?2:dt(t.j,n)-1),P=l,l=T[P];f=true;}}else D[++U]=P,T[P]=i,Q[P]=Q[i]+1;++r;}}function N_(t,e){if(e<128)t.push((e&127)<<24>>24);else if(e<I1)t.push((e>>6&31|192)<<24>>24),t.push((e&63|128)<<24>>24);else if(e<Q0)t.push((e>>12&15|224)<<24>>24),t.push((e>>6&63|128)<<24>>24),t.push((e&63|128)<<24>>24);else if(e<qA)t.push((e>>18&7|240)<<24>>24),t.push((e>>12&63|128)<<24>>24),t.push((e>>6&63|128)<<24>>24),t.push((e&63|128)<<24>>24);else if(e<Tn)t.push((e>>24&3|248)<<24>>24),t.push((e>>18&63|128)<<24>>24),t.push((e>>12&63|128)<<24>>24),t.push((e>>6&63|128)<<24>>24),t.push((e&63|128)<<24>>24);else throw At(new C8("Character out of range: "+e));}function O_(t,e,A){var n,P,r,i,f;return K(t.R,e)!=6&&K(t.R,e)!=7||(P=_(t.R,e,0),r=_(t.R,e,1),a1(t.R,P)!=1||a1(t.R,r)!=1)||O(t.R,P)==1||O(t.R,r)==1||Mt(t.R,P)>3||Mt(t.R,r)>3||(i=new gf(t.R,t.f,e,P),i.f&&A==1)||(f=new gf(t.R,t.f,e,r),f.f&&A==1)||i.f&&f.f?false:(A==3&&(i.f&&i.c&&(t.W[e]=true),f.f&&f.c&&(t.W[e]=true)),n=t.jb?rY(t,i,f):Pz(i,f),A==1?t.db[e]=n:A==2&&(i.f&&(n==1?ue(t.e[i.b],t.f[P]):ue(t.e[i.d],t.f[P])),f.f&&(n==2?ue(t.e[f.b],t.f[r]):ue(t.e[f.d],t.f[r]))),true);}function Ys(t,e,A){var n,P,r,i,f,D,Q,U,L,s;if(Q=t.K[e],i=t.n[A],(ee(t.g,A)&Ef)!=0){if(D=Lu(t.H,e),P=Lu(t.g,A),r=ee(t.g,A)&127,D!=P&&!(D==1&&(r&1)!=0)&&!(D==2&&(r&2)!=0)&&!(D==4&&(r&4)!=0)&&!(D==32&&(r&32)!=0)&&!(D==64&&(r&64)!=0)&&!(D==16&&(r&16)!=0)&&!(D==8&&(r&8)!=0))return  false;Q&=-128,i&=-128;}if((Q&~i)!=0)return  false;if(s=(ee(t.g,A)&SP)>>17,s!=0){if(t.H.K&&s==(ee(t.H,A)&SP)>>17)return  true;if(s<=2)return U=pr(t.H,e),s==1?U>=8&&U<=12:U>=12;for(n=false,L=On(t.H),f=0;f<L.j.a.length;f++)if(N(L.k,f).length==s&&Af(L,f,e)){n=true;break;}if(!n)return  false;}return  true;}function G_(t,e,A,n,P,r,i,f,D,Q){var U,L,s,y,l,T,c,g,m,v,R,b,j,C;t!=e&&(U=O9(t,e),!(D[U[0]][U[1]]&&D[U[0]][U[1]].a.length==1)&&(C=.866,L=.5,(Q.F[i]&64)!=0&&(R=Q.p&&i<Q.g?yP(Q.p,i):0,R<6&&(C=0,L=1)),y=f.a[i]-f.a[A]*w.Math.cos(P)-f.a[n]*w.Math.cos(r),b=f.a[A]*w.Math.sin(P),j=f.a[n]*w.Math.sin(r),l=b+j,T=b-j*L,c=j*C,m=w.Math.sqrt(y*y+T*T+c*c),g=w.Math.sqrt(y*y+l*l),v=h(F,k,6,2,15,1),v[0]=Q.D[0][i],v[1]=Q.D[1][i],s=D[U[0]][U[1]],s?(s.a[0]=w.Math.min(s.a[0],m),s.a[1]=w.Math.min(s.a[1],g)):D[U[0]][U[1]]=new $L(U,v,m,g,3)));}function Ar(t,e){var A,n,P,r,i,f,D;for(f=(e.T&15)!=0,D=e.T&248,!t.g&&(t.g=new aD()),(t.e&2)!=0&&g5(e,false),t.f=e,ut(t.f,7),t.d=new _w(),t.b=h(rt,ft,6,t.f.q,16,1),t.c=h(rt,ft,6,t.f.r,16,1),t.i=h(F,k,6,t.f.q,15,1),A=0;A<t.f.q;A++)t.i[A]=p1(t.f,A);for((t.e&12)!=0&&h$(t),(t.e&1)==0&&mU&&q_(t,mU),Ka(t),wj(t),QW(t),wj(t),r=new Wt(t.d);r.a<r.c.a.length;)n=t1(r),IX(n);for(i$(t),H$(t),Rz(t),jN(t),ax(t),tN(t),P=new Wt(t.d);P.a<P.c.a.length;)for(n=t1(P),i=0;i<n.e.length;i++)Be(t.f,n.e[i],n.a[i]),Ie(t.f,n.e[i],n.b[i]),hP(t.f,n.e[i],0);f&&(sD(t.f,D),Lf(t.f)),t.a&&nT(t.f);}function Ks(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c;for(L=0,i=h(rt,ft,6,t.a.f,16,1),n=e,P=0,r=n.length;P<r;++P)A=n[P],A!=-1&&(i[A]=true);for(s=h(rt,ft,6,t.a.g,16,1),c=0;c<t.b.g;c++)if(l=z(t.b,0,c),T=z(t.b,1,c),!(t.b.K&&(Qe(t.b,l)||Qe(t.b,T)))){if(f=e[l],D=e[T],mN(t.b,c),f==-1||D==-1){(f!=-1||D!=-1)&&(L+=F5(t.b,c));continue;}if(U=D1(t.a,f,D),U==-1){L+=F5(t.b,c);continue;}s[U]=true,L+=dv(t.b,c)==dv(t.a,U)?0:1;}for(Q=0;Q<t.a.g;Q++)t.a.K&&(Qe(t.a,z(t.a,0,Q))||Qe(t.a,z(t.a,1,Q)))||s[Q]||(L+=F5(t.a,Q));for(y=0;y<t.b.f;y++)d0(t.b,y)!=0&&(L+=FY(t,y,e));return -L;}function J_(t){if(!t)return 0;var e=0;return t.noTabus&&(e|=1),t.showAtomNumber&&(e|=2),t.showBondNumber&&(e|=4),t.highlightQueryFeatures&&(e|=8),t.showMapping&&(e|=16),t.suppressChiralText&&(e|=32),t.suppressCIPParity&&(e|=64),t.suppressESR&&(e|=128),t.noCarbonLabelWithCustomLabel&&(e|=s8),t.noAtomCustomLabels&&(e|=Q0),t.showSymmetryAny&&(e|=768),t.showSymmetrySimple&&(e|=256),t.showSymmetryStereoHeterotopicity&&(e|=512),t.noImplicitAtomLabelColors&&(e|=re),t.noStereoProblem&&(e|=I1),t.noColorOnESRAndCIP&&(e|=C0),t.noImplicitHydrogen&&(e|=ge),t.drawBondsInGray&&(e|=Sn),e;}function Di(t,e,A,n,P){var r,i,f,D,Q,U,L,s,y,l;for(s=false,P.a=0,P.b=0,n>0?r=y6:r=l6,l=Y0(t.L,e,A),U=0;U<O(t.L,e);U++)i=Ot(t.L,e,U),f=l,z(t.L,0,i)==e?L=z(t.L,1,i):L=z(t.L,0,i),L!=A&&(y=Y0(t.L,e,L),f<y&&(f+=F0),D=f-y,n>0?(D<Q1&&(s=true),D>y6&&(D=y6),D<.523598776&&(D=.523598776),D<=r&&(r=D,Q=t.T*w.Math.tan(r-bA)/2,P.a=-(Q*w.Math.sin(f)),P.b=-(Q*w.Math.cos(f)))):(D>=Q1&&(s=true),D<l6&&(D=l6),D>5.759586531&&(D=5.759586531),D>=r&&(r=D,Q=t.T*w.Math.tan(4.712388981-r)/2,P.a=-(Q*w.Math.sin(f)),P.b=-(Q*w.Math.cos(f)))));return s;}function z_(t,e,A){var n,P,r,i,f,D;for(n=h(F,k,6,4,15,1),f=0;f<Mt(t.R,e);f++)n[f]=_(t.R,e,A[f]);for(Mt(t.R,e)==3&&(n[3]=e),P=R1(yt,[h0,wt],[15,6],15,[3,3],2),i=0;i<3;i++)P[i][0]=kt(t.R,n[i+1])-kt(t.R,n[0]),P[i][1]=jt(t.R,n[i+1])-jt(t.R,n[0]),P[i][2]=vA(t.R,n[i+1])-vA(t.R,n[0]);return D=h(yt,wt,6,3,15,1),D[0]=P[0][1]*P[1][2]-P[0][2]*P[1][1],D[1]=P[0][2]*P[1][0]-P[0][0]*P[1][2],D[2]=P[0][0]*P[1][1]-P[0][1]*P[1][0],r=(P[2][0]*D[0]+P[2][1]*D[1]+P[2][2]*D[2])/(w.Math.sqrt(P[2][0]*P[2][0]+P[2][1]*P[2][1]+P[2][2]*P[2][2])*w.Math.sqrt(D[0]*D[0]+D[1]*D[1]+D[2]*D[2])),r>0?1:2;}function sj(t,e){var A,n,P,r,i,f,D,Q,U,L,s;for(ut(t,7),ut(e,7),this.c=t,this.d=new pi(),n=0;n<t.g;n++)X8(this.d,new Q5(t,n));for(A=0;A<e.g;A++)U=new Q5(e,A),D=(f=a9(this.d,U),f<0?-1:f),D==-1?(U.i=(t9(),yl),X8(this.d,U)):pX(kr(this.d,D),U);for(i=this.d.d.a.length-1;i>=0;i--)U=kr(this.d,i),U.i!=(t9(),Tl)?kr(this.d,i).i==bU&&aU(this.d,i):U.i=ll;for(this.b=h(F,k,6,t.f,15,1),r=0;r<t.f;r++)for(Q=0;Q<e.f;Q++)if(w.Math.abs(e.w[Q])==w.Math.abs(t.w[r])){P=(s=Cn(t,r),s+WA(t,r,s,t.C[r])-G1(t,r)-(L=Cn(e,Q),L+WA(e,Q,L,e.C[Q])-G1(e,Q))),this.b[r]=P>0?P:0;break;}this.e=new Ni();}function yj(t,e,A,n,P){var r,i,f,D,Q,U,L,s,y,l,T;for(f=0;f<A;f++)if(n[f]!=-1&&t.e[f]>3&&(t.u[f]&Tn)!=0){for(T=0,s=-1,L=-1,U=0;U<t.e[f];U++)P[t.k[f][U]]!=-1?++T:t.n[f][U]==1&&Cr(t,t.k[f][U])&&t.D[0][t.k[f][U]]==f&&(s=t.k[f][U],L=t.i[f][U]);if(s!=-1&&T>=3){for(r=kA(t.J[f].a,t.J[f].b,t.J[L].a,t.J[L].b),y=10,l=-1,Q=0;Q<t.e[f];Q++)t.n[f][Q]==1&&(!Cr(t,t.k[f][Q])||t.D[0][t.k[f][Q]]==f)&&P[t.k[f][Q]]!=-1&&(i=w.Math.abs(Je(r,Y0(t,f,t.i[f][Q]))),y>i&&(y=i,l=t.k[f][Q]));l!=-1&&(D=P[l],w0(e,D,t.H[l]==257?129:257),t.D[0][l]!=f&&(BD(e,1,D,n[t.D[0][l]]),BD(e,0,D,n[f])));}}}function lj(t){var e,A,n,P;for(KD.call(this),e=0;e!=-1&&(A=t.indexOf('="',e),A!=-1);)if(n=(pt(e+1,A,t.length),t.substr(e+1,A-(e+1))),e=t.indexOf('"',A+2),P=e==-1?(Xt(A+1,t.length+1),t.substr(A+1)):(pt(A+1,e,t.length),t.substr(A+1,e-(A+1))),A1(n,"x1"))try{this.i[0].a=Qn(P);}catch(r){if(r=t0(r),!Zt(r,40))throw At(r);}else if(A1(n,"y1"))try{this.i[0].b=Qn(P);}catch(r){if(r=t0(r),!Zt(r,40))throw At(r);}else if(A1(n,"x2"))try{this.i[1].a=Qn(P);}catch(r){if(r=t0(r),!Zt(r,40))throw At(r);}else if(A1(n,"y2"))try{this.i[1].b=Qn(P);}catch(r){if(r=t0(r),!Zt(r,40))throw At(r);}}function G5(t,e,A){var n,P,r,i,f,D;if(e.l==0&&e.m==0&&e.h==0)throw At(new p8("divide by zero"));if(t.l==0&&t.m==0&&t.h==0)return A&&(In=S0(0,0,0)),S0(0,0,0);if(e.h==l8&&e.m==0&&e.l==0)return pJ(t,A);if(D=false,e.h>>19!=0&&(e=Wr(e),D=!D),i=FX(e),r=false,P=false,n=false,t.h==l8&&t.m==0&&t.l==0){if(P=true,r=true,i==-1)t=cg((Xr(),tc)),n=true,D=!D;else return f=u5(t,i),D&&WL(f),A&&(In=S0(0,0,0)),f;}else t.h>>19!=0&&(r=true,t=Wr(t),n=true,D=!D);return i!=-1?xG(t,i,D,r,A):jh(t,e)<0?(A&&(r?In=Wr(t):In=S0(t.l,t.m,t.h)),S0(0,0,0)):AW(n?t:S0(t.l,t.m,t.h),e,D,r,P,A);}function T2(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l;if(i=t.e,D=e.e,i==0)return e;if(D==0)return t;if(r=t.d,f=e.d,r+f==2)return A=V(t.a[0],h1),n=V(e.a[0],h1),i==D?(U=O1(A,n),l=zt(U),y=zt(DA(U,32)),y==0?new mA(i,l):new Ue(i,2,B(d(F,1),k,6,15,[l,y]))):(ke(),hu(i<0?l0(n,A):l0(A,n),0)?we(i<0?l0(n,A):l0(A,n)):FP(we(p0(i<0?l0(n,A):l0(A,n)))));if(i==D)s=i,L=r>=f?mL(t.a,r,e.a,f):mL(e.a,f,t.a,r);else {if(P=r!=f?r>f?1:-1:rQ(t.a,e.a,r),P==0)return ke(),y9;P==1?(s=i,L=hL(t.a,r,e.a,f)):(s=D,L=hL(e.a,f,t.a,r));}return Q=new Ue(s,L.length,L),Rn(Q),Q;}function Xs(t,e,A){var n,P,r,i,f;if(e==A||t.a[e]!=t.a[A]||t.o[e]!=0&&(t.o[e]==3||t.o[A]==3||t.p[e]^t.o[e]!==t.o[A]||t.k[e]!==t.k[A]||t.j[e]!==t.j[A])||(n=D1(t.i,e,A),n!=-1&&(dt(t.i,n)==1&&t.c[n]!=0||dt(t.i,n)==2&&t.c[n]==1)))return  false;if(a1(t.i,e)==1&&!vn(t.i,e)){for(P=-1,f=0;f<O(t.i,e);f++)if(_(t.i,e,f)!=A&&pA(t.i,e,f)==2){P=Ot(t.i,e,f);break;}for(r=-1,i=0;i<O(t.i,A);i++)if(_(t.i,A,i)!=e&&pA(t.i,A,i)==2){r=Ot(t.i,A,i);break;}if(P!=-1&&t.c[P]!=0&&t.d[P]^t.c[P]===t.c[r])return  false;}return  true;}function Y_(t){var e,A,n,P,r,i,f;r=ee(t.u,t.a),n=l1(t.u,t.a)==8||G8(t.u,t.a)?6:dt(t.u,t.a),((r&1)!=0||n==1)&&uA(t.k,true),((r&2)!=0||n==2)&&uA(t.c,true),((r&4)!=0||n==3)&&uA(t.n,true),((r&32)!=0||n==4)&&uA(t.i,true),((r&64)!=0||n==5)&&uA(t.j,true),((r&8)!=0||n==6)&&uA(t.b,true),((r&16)!=0||n==0)&&uA(t.g,true),(r&Ef)!=0&&uA(t.e,true),(r&h8)!=0&&uA(t.f,true),f=r&384,e=r&AU,f==128?_t(t.q,1):e==qA?_t(t.q,4):f==256?_t(t.q,e==0?2:3):_t(t.q,e==0?0:5),i=(r&SP)>>17,_t(t.r,i==0?0:i<=2?i+5:i-2),(r&y8)!=0?(uA(t.d,true),P=(r&7680)>>9,A=(r&wy)>>13,_t(t.p,P),Ah(t,P),_t(t.o,A)):_t(t.o,0),Tb(t);}function Tj(t,e,A,n,P){var r,i,f,D,Q,U,L,s;for(ZF.call(this,t),this.f=P,this.g=A,this.i=h(Yt,te,16,A.length,0,2),this.d=h(Yt,te,16,A.length,0,2),this.e=h(yt,h0,15,A.length,0,2),f=h(Yt,nA,37,A.length,0,3),i=0;i<A.length;i++)s=A[i].d,this.i[i]=fL(s,s.length),D=A[i].c,this.d[i]=fL(D,D.length),this.e[i]=h(yt,wt,6,this.i[i].length,15,1),f[i]=A[i].e;for(this.a=h(F,k,6,A.length,15,1),U=h(rt,ft,6,e.length,16,1),r=0;r<A.length;r++)Oa(this,A[r],r,U,n,f[r]);for(Q=0;Q<e.length;Q++)if(!U[Q])for(L=0;L<e[Q].c.length;L++)yD(this,e[Q].e[e[Q].c[L]],J0(e[Q].b[n[Q]],e[Q].c[L]));this.c=new f1();}function Zs(t,e,A,n,P){var r,i,f,D,Q,U,L,s,y,l,T,c;for(r=h(F,D0,7,t.j.a.length,0,2),Q=0;Q<t.j.a.length;Q++)for(r[Q]=h(F,k,6,N(t.j,Q).length,15,1),U=0;U<N(t.j,Q).length;U++)r[Q][U]=-1;for(T=h(F,k,6,t.i.g,15,1),y=0;y<t.k.a.length;y++)if(l=N(t.k,y),l.length==3||l.length>=5&&l.length<=7)for(D=0;D<l.length;D++)f=l[D],O(t.i,z(t.i,0,f))==3&&O(t.i,z(t.i,1,f))==3&&(T[f]>0?(r[T[f]>>>16][T[f]&32767]=y,r[y][D]=T[f]>>>16):T[f]=(y<<16)+s8+D);for(i=h(rt,ft,6,t.j.a.length,16,1),c=0,L=-1;c>L;)for(L=c,s=0;s<t.j.a.length;s++)i[s]||ja(t,s,r,i,e,A,n,P)&&(i[s]=true,++c);}function K_(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C;if(A<2)return A;for(b=h(rt,h0,12,A,0,2),l=1;l<A;l++)b[l]=h(rt,ft,6,l,16,1);for(i=Pn(t.V,24*t.ab),P=1;P<t.V.q;P++)for(r=0;r<P;r++)D=kt(t.V,r)-kt(t.V,P),Q=jt(t.V,r)-jt(t.V,P),f=w.Math.sqrt(D*D+Q*Q),f<UU*i&&(L=e[P],s=e[r],L!=s&&(L>s?b[L][s]=true:b[s][L]=true));for(C=h(F,k,6,A,15,1),U=0;U<A;U++)C[U]=U;for(R=0,y=1;y<A;y++)for(g=0;g<y;g++)if(b[y][g]&&(T=C[y],c=C[g],T!=c))for(++R,j=w.Math.min(T,c),v=w.Math.max(T,c),m=0;m<A;m++)C[m]==v?C[m]=j:C[m]>v&&--C[m];for(n=0;n<t.V.q;n++)e[n]=C[e[n]];return A-R;}function OQ(t,e,A){var n,P,r,i,f,D,Q,U,L;return t==null?null:(D=t,U=null,Q=null,L=null,f=null,n=t.indexOf(k0(35)),n==-1?D=t:(D=(pt(0,n,t.length),t.substr(0,n)),P=t.indexOf(k0(35),n+1),P==-1?U=(Xt(n+1,t.length+1),t.substr(n+1)):(U=(pt(n+1,P,t.length),t.substr(n+1,P-(n+1))),r=t.indexOf(k0(35),P+1),r==-1?Q=(Xt(P+1,t.length+1),t.substr(P+1)):(Q=(pt(P+1,r,t.length),t.substr(P+1,r-(P+1))),i=t.indexOf(k0(35),r+1),i==-1?L=(Xt(r+1,t.length+1),t.substr(r+1)):(L=(pt(r+1,i,t.length),t.substr(r+1,i-(r+1))),f=(Xt(i+1,t.length+1),t.substr(i+1)))))),ep(D,U,Q,L,f,e,A));}function J5(t,e,A,n,P,r,i,f){var D,Q,U,L,s,y,l,T,c,g;for(e!=n&&(c=t.J[e].a-t.J[n].a,g=t.J[e].b-t.J[n].b,f=w.Math.sqrt(c*c+g*g)),D=e,U=$u(t,e)!=3,T=1;T<A;T++){for(s=t.J[D].a+f*w.Math.sin(r),y=t.J[D].b+f*w.Math.cos(r),l=-1,L=0;L<t.q;L++)if(w.Math.abs(s-t.J[L].a)<4&&w.Math.abs(y-t.J[L].b)<4){l=L;break;}l==-1&&(l=W0(t,s,y,0),t.J[l].a=s,t.J[l].b=y,t.J[l].c=0),Q=Om(t,D,l),Q==-1&&(Q=O0(t,D,l,_0(t,D)||_0(t,l)?16:1),P&&(U&&$u(t,t.D[0][Q])<4&&$u(t,t.D[1][Q])<3&&(t.H[Q]=2),U=!U)),D=l,r+=i;}Q=Om(t,D,n),Q==-1&&(Q=O0(t,D,n,_0(t,D)||_0(t,n)?16:1)),P&&U&&$u(t,t.D[0][Q])<4&&$u(t,t.D[1][Q])<4&&(t.H[Q]=2);}function hj(t){var e,A,n,P,r,i,f,D,Q,U;nk();var L,s;for(ut(t,7),this.a=h(Ee,PA,6,t.r,15,1),this.b=h(Ee,PA,6,t.r,15,1),L=0;L<t.r;L++)s=(e=t.D[0][L],A=t.D[1][L],n=t.C[e],P=t.C[A],r=t.j[e],i=t.j[A],pz(dt(t,L),L<t.g&&Re(t.p,L),L<t.g&&(S8(t.p,L)||t.H[L]==8),n,P,vF(t,e),vF(t,A),r,i)),s==-1?(this.a[L]=(f=K(t,t.D[0][L]),D=K(t,t.D[1][L]),(f<(c2(),Jf).length?Jf[f]:f<IA.length?DU*IA[f]:py)+(D<Jf.length?Jf[D]:D<IA.length?DU*IA[D]:py)),this.b[L]=(Q=K(t,t.D[0][L]),U=K(t,t.D[1][L]),(Q<Jf.length?N6:.125)+(U<Jf.length?N6:.125))):(this.a[L]=s==-1?2.000499963760376:p4[s],this.b[L]=s==-1?1:C4[s]);}function Ws(t,e,A,n){var P,r,i,f;fo(this),e?(n&ly)==0?Nr(e,t.c,t.d)&&Nr(e,t.c+t.b,t.d+t.a)||((t.b>e.b||t.a>e.a)&&(r=e.b/t.b,f=e.a/t.a,this.c=w.Math.min(r,f)),t.c*this.c<e.c?this.a=e.c-t.c*this.c:(t.c+t.b)*this.c>e.c+e.b&&(this.a=e.c+e.b-(t.c+t.b)*this.c),t.d*this.c<e.d?this.b=e.d-t.d*this.c:(t.d+t.a)*this.c>e.d+e.a&&(this.b=e.d+e.a-(t.d+t.a)*this.c)):(r=e.b/t.b,f=e.a/t.a,i=n&w1,i==0?i=24:(n&I0)!=0&&(i/=256),P=i/A,this.c=w.Math.min(P,w.Math.min(r,f)),this.a=e.c+e.b/2-this.c*(t.c+t.b/2),this.b=e.d+e.a/2-this.c*(t.d+t.a/2)):(n&Q0)!=0&&(i=(n&w1)!=0?n&w1:24,this.c=i/A);}function z5(t,e){var A,n,P,r,i,f,D,Q,U,L,s;if(L=p2,e!=-1){for(A=h(yt,wt,6,9,15,1),i=0;i<De(t.V,e);i++)A[i]=Y0(t.V,e,_(t.V,e,i));if(De(t.V,e)==1)A[0]<-2.6179938779914944?L=AA:A[0]<eU?L=p2:A[0]<e4?L=AA:A[0]<0?L=p2:A[0]<m2?L=d6:A[0]<bA?L=oU:A[0]<2.6179938779914944?L=d6:L=oU;else {for(f=De(t.V,e)-1;f>0;f--)for(D=0;D<f;D++)A[D]>A[D+1]&&(s=A[D],A[D]=A[D+1],A[D+1]=s);for(A[De(t.V,e)]=A[0]+F0,U=0,Q=0,r=0;r<De(t.V,e);r++)n=A[r+1]-A[r],Q<n&&(Q=n,U=r);L=(A[U]+A[U+1])/2;}}P=Pn(t.V,24*t.ab),t.ib=(e==-1?t.hb:kt(t.V,e))+P*w.Math.sin(L),t.lb=(e==-1?t.kb:jt(t.V,e))+P*w.Math.cos(L);}function X_(t,e){var A,n,P,r,i,f,D,Q,U;for(Ui(t),Q=new zA(t.R.f,t.R.g),je(Q,t.R.K),i=0;i<t.R.f;i++)En(t.R,Q,t.B[i],0,0),He(Q,i,t.bb[t.B[i]],t.ab[t.B[i]]);for(f=0;f<t.R.g;f++)DQ(t.R,Q,t.C[f],0,0,t.H,false),!(Q.H[f]==257||Q.H[f]==129)&&Q.D[0][f]>Q.D[1][f]&&(U=Q.D[0][f],BD(Q,0,f,Q.D[1][f]),Q.D[1][f]=U,Q.T=0),U8(Q,f,t.n[t.C[f]],t.k[t.C[f]]);if(e)for(r=0;r<t.R.f;r++)for(A=t.B[r],D=O(t.R,A);D<Mt(t.R,A);D++)P=En(t.R,Q,_(t.R,A,D),0,0),er(t.R,Q,Ot(t.R,A,D),0,0,t.H[A],P,false);for(n=0;n<Q.r;n++)A=Q.D[0][n],t.eb[t.B[A]]&&(Q.H[n]==257?(Q.H[n]=129,Q.T=0):Q.H[n]==129&&(Q.H[n]=257,Q.T=0));return ko(t.R,Q),Q.T&=-9,Q;}function GQ(t,e,A,n,P){var r,i,f,D,Q,U,L,s,y,l,T;if(Q=h(F,k,6,2,15,1),D=h(yt,wt,6,2,15,1),Q[0]=t.D[0][e],Q[1]=t.D[1][e],G1(t,Q[0])>3||G1(t,Q[1])>3)return  false;for(i=0,r=h(yt,wt,6,4,15,1),s=0;s<t.r;s++)if(s!=e){for(y=0;y<2;y++){for(l=0;l<2;l++)if(t.D[y][s]==Q[l]){if(i==4){i=5;break;}r[i++]=Y0(t,Q[l],t.D[1-y][s]);}if(i==5)break;}if(i==5)break;}if(i==5)return  false;for(D[0]=Y0(t,Q[0],Q[1]),D[0]<0?(D[1]=D[0]+Q1,f=0):(D[1]=D[0],D[0]=D[1]-Q1,f=1),T=0,L=0;L<i;L++)r[L]>D[0]&&r[L]<D[1]?--T:++T;return f=T>0?1-f:f,U=Q1*(A-2)/A,J5(t,Q[f],A-1,Q[1-f],n,D[T>0?0:1]+Q1-U,Q1-U,P),t.T=0,true;}function Y5(t,e){var A;Zt(e,137)?m_(t,e):Zt(e,156)&&(A=e.b,e.j==1&&(A==-9&&t.b>=17?m0(t,t.b-17):A==-10&&t.b<17?m0(t,t.b+17):A==-11&&t.b%17>0?m0(t,t.b-1):A==-12&&t.b%17<16?m0(t,t.b+1):A==122?m0(t,18):A==32?m0(t,2):A==48?m0(t,4):A==116?m0(t,21):A==49?m0(t,5):A==50?m0(t,22):A==109?m0(t,19):A==51?m0(t,7):A==52?m0(t,24):A==53?m0(t,8):A==54?m0(t,25):A==55?m0(t,9):A==97?m0(t,26):A==45?m0(t,27):A==43?m0(t,10):A==117?m0(t,6):A==100?m0(t,23):A==99?m0(t,11):A==110?m0(t,12):A==112?m0(t,29):A==111?m0(t,13):A==115?m0(t,30):A==102?m0(t,14):A==108?m0(t,31):A==98?m0(t,15):A==105?m0(t,32):A==104?m0(t,16):A==46&&m0(t,33)));}function W1(t,e){if(!t.K&&(e==-10&&(t.C=-999,e=t.Q),e!=-2&&e!=-7&&t.N!=0&&(e=-4),e!=t.C&&!(t.C==-8&&e!=-9)))switch(e==-8&&(t.O=t.C),e==-9&&(e=t.O),t.C=e,e){case 0:t.Bb(t.F==0?qn:t.F);break;case  -6:t.Bb(t.F);break;case  -4:t.Bb(t.N);break;case  -2:t.Bb(t.t);break;case  -3:t.Bb(t.u);break;case  -7:t.Bb(t.H);break;case  -8:t.Bb(t.I);break;case  -5:t.Bb(t.P);break;case 64:t.Bb(-14655233);break;case 128:t.Bb(qP);break;case 256:t.Bb(-4194049);break;case 192:t.Bb(-16711936);break;case 320:t.Bb(-24576);break;case 384:t.Bb(-16744448);break;case 448:t.Bb(-6291456);break;case 1:t.Bb(Dy);break;default:t.Bb(qn);}}function Z_(t){var e,A,n,P,r,i,f,D,Q,U,L,s;for(U=new D3(),L=0;L<t.i.f;L++)if(a1(t.i,L)<2||O(t.i,L)>2)for(i=1;i<O(t.i,L);i++)for(e=_(t.i,L,i),f=0;f<i;f++)A=_(t.i,L,f),Xs(t,e,A)&&(D=Qp(t,e,A),D&&iF(D,t.f)&&ze(U.a,D,(R9(),wU))==null);for(s=0;s<t.i.g;s++)t.c[s]!=0&&(dt(t.i,s)!=2||t.c[s]!=2)||(e=z(t.i,0,s),A=z(t.i,1,s),Xs(t,e,A)&&(D=Qp(t,e,A),D&&iF(D,t.f)&&ze(U.a,D,(R9(),wU))==null));for(t.g=h(F,D0,7,U.a.c,0,2),t.e=h(rt,ft,6,t.i.f,16,1),r=0,Q=(P=new N8(new x8(new w9(U.a).a).b),new g9(P));p9(Q.a.a);)for(D=(n=Br(Q.a),n.dd()),t.g[r++]=D.b,i=0;i<D.b.length;i++)t.e[D.b[i]]=true;}function W_(t,e){var A,n,P,r,i,f,D,Q,U,L,s;if(dt(t,e)!=1||e<t.g&&Re(t.p,e)||(t.p&&e<t.g?yP(t.p,e):0)==3)return  false;for(A=h(F,k,6,2,15,1),f=0;f<2;f++)if(A[f]=t.D[f][e],(t.u[A[f]]&I0)!=0||e0(t,A[f])<=1)return  false;if(Zo(t,A[0])||Zo(t,A[1])){for(L=h(F,k,6,1,15,1),L[0]=e,n=h(F,D0,7,2,0,2),D=0;D<2;D++)if(Zo(t,A[D])&&(n[D]=h(F,k,6,2,15,1),n[D][0]=A[1-D],n[D][1]=A[D],!w5(t,A[1-D],n[D],L)))return  false;if(e!=L[0])return  false;for(Q=0;Q<2;Q++)n[Q]!=null&&(A[Q]=n[Q][1]);}for(i=0;i<2;i++){if(r=t.j[A[i]],r==1)return  false;for(s=0,U=0;U<r;U++)P=t.i[A[i]][U],(t.u[P]&I0)!=0||++s;if(s<2)return  false;}return  true;}function cj(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l;for(D=h(F,k,6,32,15,1),Q=0,n=0;n<t.R.f;n++)(t._[n]==1||t._[n]==2)&&t.bb[n]==e&&(f=t.ab[n],D[f]<t.f[n]&&(D[f]==0&&++Q,D[f]=t.f[n]));for(r=0;r<t.R.g;r++)(t.j[r]==1||t.j[r]==2)&&t.n[r]==e&&l1(t.R,r)==1&&(f=t.k[r],l=w.Math.max(t.f[z(t.R,0,r)],t.f[z(t.R,1,r)]),D[f]<l&&(D[f]==0&&++Q,D[f]=l));for(i=h(q,I,6,32,15,1),U=0;U<Q;U++){for(s=-1,y=0,L=0;L<32;L++)y<D[L]&&(y=D[L],s=L);D[s]=0,i[s]=U<<24>>24;}for(A=0;A<t.R.f;A++)(t._[A]==1||t._[A]==2)&&t.bb[A]==e&&(t.ab[A]=i[t.ab[A]]);for(P=0;P<t.R.g;P++)(t.j[P]==1||t.j[P]==2)&&t.n[P]==e&&l1(t.R,P)==1&&(t.k[P]=i[t.k[P]]);}function __(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y;for(ut(t.k,7),L=false,s=h(F,k,6,2,15,1),y=h(F,k,6,2,15,1),U=h(F,k,6,2,15,1),n=0;n<t.k.g;n++)if(!WP(t.k,n)&&l1(t.k,n)==2){for(i=0;i<2;i++){for(s[i]=-1,U[i]=-1,e=z(t.k,i,n),Q=0;Q<O(t.k,e);Q++)P=Ot(t.k,e,Q),P!=n&&(s[i]==-1&&(l1(t.k,P)==257||l1(t.k,P)==129)?(s[i]=_(t.k,e,Q),y[i]=P):U[i]=_(t.k,e,Q));if(s[i]==-1)break;}if(s[0]!=-1&&s[1]!=-1){for(D=l1(t.k,y[0])==l1(t.k,y[1]),f=0;f<2;f++)s[f]==z(t.k,0,y[f])&&(D=!D);for(r=0;r<2;r++)U[r]!=-1&&U[r]<s[r]&&(D=!D);A8(t.k,n,D?2:1,false),L=true;}}for(A=0;A<t.k.g;A++)(l1(t.k,A)==257||l1(t.k,A)==129)&&w0(t.k,A,1);return L;}function wj(t){for(var e,A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m;;){for(m=0,y=0,c=null,g=null,i=1;i<t.d.a.length;i++)for(n=N(t.d,i),f=0;f<i;f++){for(P=N(t.d,f),e=0,A=0,l=0,T=0,U=0;U<n.e.length;U++)for(s=0;s<P.e.length;s++)n.e[U]==P.e[s]&&(++A,e=n.e[U],l<n.k[U]&&(l=n.k[U]),T<P.k[s]&&(T=P.k[s]));if(A>0&&(r=A==1&&IL(t,n,e)==1&&IL(t,P,e)==1?0:1,l>T?D=(r<<24)+(l<<16)+(T<<8)+A:D=(r<<24)+(T<<16)+(l<<8)+A,m<D)){for(m=D,y=A,l=0,T=0,L=0;L<n.e.length;L++)l<n.k[L]&&(l=n.k[L]);for(Q=0;Q<P.e.length;Q++)T<P.k[Q]&&(T=P.k[Q]);l>T?(c=n,g=P):(c=P,g=n);}}if(m==0)break;y==c.e.length?Z8(t.d,c):y==g.e.length?Z8(t.d,g):zZ(t,c,g,y);}}function _s(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l;if(t.d>1){for(Q=h(yt,wt,6,t.d,15,1),U=h(yt,wt,6,t.d,15,1),L=h(yt,wt,6,t.d,15,1),D=h(yt,wt,6,t.d,15,1),i=0;i<t.d;i++)L[i]=Of,D[i]=-1e9;for(n=0;n<e.k.length;n++)Q[t.e[n]]+=e.k[n].a,U[t.e[n]]+=e.k[n].b,L[t.e[n]]>e.k[n].c&&(L[t.e[n]]=e.k[n].c),D[t.e[n]]<e.k[n].c&&(D[t.e[n]]=e.k[n].c);for(f=0;f<t.d;f++)Q[f]/=t.f[f],U[f]/=t.f[f];for(s=h(yt,wt,6,t.d,15,1),y=h(yt,wt,6,t.d,15,1),l=h(yt,wt,6,t.d,15,1),r=1;r<t.d;r++)s[r]=Q[0]-Q[r],y[r]=U[0]-U[r],l[r]=l[r-1]+D[r-1]-L[r]+3;for(A=0;A<e.k.length;A++)t.e[A]!=0&&(P=e.k[A],P.a+=s[t.e[A]],P.b+=y[t.e[A]],P.c+=l[t.e[A]]);}}function mf(t){var e,A,n,P,r,i,f,D;for(i=0;i<t.r;i++)t.H[i]==512&&(A=t.D[0][i],n=t.D[1][i],t.C[A]==-1^t.C[n]==-1&&t.s[A]!=0&&t.s[n]!=0&&t.s[A]<0^t.s[n]<0&&(t.s[A]<0?(++t.s[A],--t.s[n]):(--t.s[A],++t.s[n])));for(D=h(F,k,6,t.q,15,1),P=0,e=0;e<t.q;e++){if(t.C[e]==-1){D[e]=-1;continue;}P<e&&(t.C[P]=t.C[e],t.s[P]=t.s[e],t.A[P]=t.A[e],t.u[P]=t.u[e],t.B[P]=t.B[e],t.w[P]=t.w[e],bD(t.J[P],t.J[e]),t.v!=null&&(t.v[P]=t.v[e]),t.t!=null&&(t.t[P]=t.t[e])),D[e]=P,++P;}for(t.q=P,f=0,r=0;r<t.r;r++)t.H[r]!=512&&(t.H[f]=t.H[r],t.F[f]=t.F[r],t.G[f]=t.G[r],t.D[0][f]=D[t.D[0][r]],t.D[1][f]=D[t.D[1][r]],++f);return t.r=f,D;}function gj(t,e,A,n,P,r,i){lR();var f,D,Q,U;(U=ri(gn,kV),U?Os(U):null)[0]==-1&&x1(),this.a=e,this.p=h(F,k,6,4,15,1),this.k=h(F,k,6,2,15,1),f=new mh(),HF(t,e,this.p,f)!=null?(this.k[0]=f.e[0],this.k[1]=f.e[1]):xW(this,t),this.i=A[this.p[1]],this.j=A[this.p[2]],this.f=r[this.i],this.g=r[this.j],this.b=A[t.D[0][e]]==this.i,(Q=ri(gn,kV),Q?Os(Q):null)[0]==-1&&x1(),i?(this.d=OE,this.c=xE,this.e=NE):(this.d=Rx(f.d),this.d==null?(D=new r6(t,this.p),this.d=D.b,this.c=D.a,this.e=D.c):(this.c=kx(f.d),this.e=bx(f.d))),g_(this,t),uW(this,t),FW(this,t,n,P);}function dj(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v;for(P=h(yt,wt,6,Mt(t.f,A)+1,15,1),i=h(F,k,6,Mt(t.f,A)+1,15,1),f=h(F,k,6,Mt(t.f,A)+1,15,1),c=r8(e,A),r=0,Q=0;Q<Mt(t.f,A);Q++)i[r]=_(t.f,A,Q),f[r]=Ot(t.f,A,Q),L=r8(e,i[r]),L!=-1&&(P[r++]=on(e.a[c],e.b[c],e.a[L],e.b[L]));if(r==1)return P[0]+Q1;for(U=r-1;U>0;U--)for(s=0;s<U;s++)P[s]>P[s+1]&&(g=P[s],P[s]=P[s+1],P[s+1]=g,m=i[s],i[s]=i[s+1],i[s+1]=m,v=f[s],f[s]=f[s+1],f[s+1]=v);for(P[r]=P[0]+F0,i[r]=i[0],f[r]=f[0],y=-100,l=0,D=0;D<r;D++)n=P[D+1]-P[D],r>2&&fA(t.f,f[D])&&fA(t.f,f[D+1])&&(T=BX(t,i[D],A,i[D+1]),T!=0&&(n-=100-T)),y<n&&(y=n,l=D);return (P[l]+P[l+1])/2;}function $_(t){var e,A,n;for(e=0;e<t.R.f;e++)t.db[e]==3&&!Fr(t.R,e)&&sP(t.R,e),(Ae(t.R,e)==1||Ae(t.R,e)==2)&&t.db[e]==3&&sP(t.R,e),Fr(t.R,e)&&t.db[e]!=3&&!$G(t,e)&&sP(t.R,e);for(n=0;n<t.R.r;n++)Cr(t.R,n)&&!_X(t,n)&&sP(t.R,z(t.R,0,n));for(A=0;A<t.R.g;A++)dt(t.R,A)==2&&(E3(t.R,A)&&(t.o[A]==1||t.o[A]==2)&&(t.o[A]=3,w0(t.R,A,386)),t.o[A]==3&&!t.p[A]&&l1(t.R,A)!=386&&(sP(t.R,z(t.R,0,A)),sP(t.R,z(t.R,1,A)))),l1(t.R,A)==1&&t.o[A]==3&&!Fr(t.R,z(t.R,0,A))&&!Fr(t.R,z(t.R,1,A))&&(sP(t.R,z(t.R,0,A)),sP(t.R,z(t.R,1,A))),(cP(t.R,A)==1||cP(t.R,A)==2)&&(l1(t.R,A)!=1||t.o[A]!=1&&t.o[A]!=2)&&(sP(t.R,z(t.R,0,A)),sP(t.R,z(t.R,1,A)));}function a_(t){var e,A,n,P,r,i,f,D,Q;for(A=0;A<t.R.f;A++)$e(t.e[A],A),_1(t.e[A],2*t.c+4,M1(t.f[A],t.c+4));for(D=1;D<=t.U;D++){for(P=false,n=0;n<t.R.f;n++)t.f[n]==D&&(P=P|ey(t,n,2));if(P){if(f=t.U,t.U=Wn(t),t.U!=f)return  true;for(e=0;e<t.R.f;e++)$e(t.e[e],e),_1(t.e[e],2*t.c+4,M1(t.f[e],t.c+4));}}for(Q=h(utt,k2,173,t.R.g,0,1),i=0;i<Q.length;i++)Q[i]=new kv(t.f[z(t.R,0,i)],t.f[z(t.R,1,i)],i);for(Wi(Q,0,Q.length,null),r=0;r<Q.length;r++)if(JQ(t,Q[r].a,2)){for(;r+1<Q.length&&$v(Q[r],Q[r+1])==0;)JQ(t,Q[++r].a,2);if(f=t.U,t.U=Wn(t),t.U!=f)return  true;for(e=0;e<t.R.f;e++)$e(t.e[e],e),_1(t.e[e],2*t.c+4,M1(t.f[e],t.c+4));}return  false;}function t$(t,e,A,n){var P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R;for(L=t.e[e]-A,R=-1,m=NaN,l=0;l<L;l++)if(Gr(t,t.k[e][l],e)){R=l,m=Y0(t,e,t.i[e][l]);break;}if(v=R==-1?0:1,i=null,v<L){for(i=h(yt,wt,6,L-v,15,1),Q=0,T=0;T<L;T++)T!=R&&(i[Q++]=Y0(t,e,t.i[e][T]));i.sort(Fe(vi.prototype.gd,vi,[]));}if(f=F0/w.Math.max(A,3),g=0,i!=null)if(i.length==1&&A==1)g=i[0];else {for(D=0,T=0;T<i.length;T++)P=T==0?i[i.length-1]-F0:i[T-1],r=i[T],D<r-P&&(D=r-P,g=P);f=D/(A+1);}for(y=0;y<A;y++)g+=f,s=g,v!=0&&(U=Je(s,m),w.Math.abs(U)<f/2&&(U<0?s=m-f/2:s=m+f/2)),c=t.i[e][L+y],Be(t,c,t.J[e].a+n*w.Math.sin(s)),Ie(t,c,t.J[e].b+n*w.Math.cos(s));}function Bj(t){var e,A;if(t.K)for(ut(t,7),e=0;e<t.f;e++)(t.u[e]&hn)!=0&&(P0(V(t.B[e],120),8)&&(t.B[e]=V(t.B[e],-9)),t.B[e]=V(t.B[e],-4294967297)),e<t.f&&i0(t.p,e)?t.B[e]=V(t.B[e],{l:4194297,m:x0,h:1048571}):gt(V(t.B[e],2),0)&&(t.B[e]=V(t.B[e],-5)),(gt(V(t.B[e],f9),0)||gt(V(t.B[e],rr),0)&&P0(V(t.B[e],L8),0))&&P0(V(t.B[e],120),8)&&(t.B[e]=V(t.B[e],-9)),t.s[e]!=0&&(t.B[e]=V(t.B[e],-234881025)),G1(t,e)==(A=Cn(t,e),A+WA(t,e,A,t.C[e]))&&(t.B[e]=V(t.B[e],-4063233),t.B[e]=V(t.B[e],-17042430230529),t.B[e]=V(t.B[e],-1921),t.B[e]=V(t.B[e],-114689)),gt(V(t.B[e],Pe),0)&&t.w[e]!=0&&Zu(t,t.w[e]);}function vj(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c;for(ut(t,7),D=new zA(t.f,t.g),f=R1(q,[Ny,w8],[58,10],0,[t.f,8],2),n=h(F,k,6,t.f,15,1),P=h(rt,ft,6,t.f,16,1),r=h(rt,ft,6,t.g,16,1),T=0;T<t.f;T++){for(T!=0&&(Hu(P,P.length),Hu(r,r.length)),f[T][0]=h(q,I,6,2,15,1),f[T][0][0]=t.C[T]<<24>>24,f[T][0][1]=t.A[T]<<24>>24,n[0]=T,P[T]=true,y=0,s=1,t.u[T]|=512,c=1;c<=7&&s<t.f;c++){for(l=s,Q=y;Q<s;Q++)for(A=n[Q],U=0;U<t.j[A];U++)i=t.i[A][U],P[i]||(P[i]=true,n[l++]=i),r[t.k[A][U]]=true;if(l==s)break;for(y=s,s=l,Mj(t,D,r,true,null),e=0;e<D.q;e++)D.s[e]=0,D.T=0,Ne(D,e,0);f[T][c]=KA((L=me(new EA(D,16)),c0(),L));}t.u[T]&=-513;}return f;}function e$(t){var e,A,n,P,r,i,f,D,Q;for(f=null,D=v1(Gi(t.D));D.length!=0;){if(A=D.indexOf(k0(44)),A==-1?(i=v1(D),D=""):(i=v1((pt(0,A,D.length),D.substr(0,A))),D=v1((Xt(A+1,D.length+1),D.substr(A+1)))),A1(i,"X")){D.length!=0&&(D=","),D=(U1(D),D+(U1("F,Cl,Br,I"),"F,Cl,Br,I"));continue;}if(e=(Y1(),SA(i,321)),e!=0)if(e==1)CD(t.v,"'H' cannot be part of an atom list and is removed.");else if(f==null)f=h(F,k,6,1,15,1),f[0]=e;else {for(n=false,r=0;r<f.length;r++)if(e==f[r]){n=true;break;}if(!n){for(Q=h(F,k,6,f.length+1,15,1),P=0;P<f.length;P++)Q[P]=f[P];Q[f.length]=e,f=Q;}}}return f?.sort(Fe(u0.prototype.gd,u0,[])),f;}function h2(t,e,A){var n,P,r,i,f,D,Q,U,L;for(r=0,Q=0;Q<A;){if(++r,P=t[e+Q],(P&192)==128)throw At(new C8(c4));if((P&128)==0)++Q;else if((P&224)==192)Q+=2;else if((P&240)==224)Q+=3;else if((P&248)==240)Q+=4;else throw At(new C8(c4));if(Q>A)throw At(new gr(c4));}for(i=h(l9,a0,6,r,15,1),L=0,f=0,D=0;D<A;){for(P=t[e+D++],(P&128)==0?(f=1,P&=127):(P&224)==192?(f=2,P&=31):(P&240)==224?(f=3,P&=15):(P&248)==240?(f=4,P&=7):(P&252)==248&&(f=5,P&=3);--f>0;){if(n=t[e+D++],(n&192)!=128)throw At(new C8("Invalid UTF8 sequence at "+(e+D-1)+", byte="+(U=n>>>0,U.toString(16))));P=P<<6|n&63;}L+=vz(P,i,L);}return i;}function Fj(t){var e,A,n,P,r,i,f,D,Q,U;for(e=null,Q=null,i=0;i<t.f.g;i++)if(l1(t.f,i)==16){for(A=z(t.f,0,i),P=-1,f=0;f<t.d.a.length&&(P=r8(N(t.d,f),A),P==-1);f++);for(n=z(t.f,1,i),r=-1,D=0;D<t.d.a.length&&(r=r8(N(t.d,D),n),r==-1);D++);f!=D&&(f>D&&(U=f,f=D,D=U,U=P,P=r,r=U),Q==null&&(Q=h(IV,nA,457,t.d.a.length,0,2)),Q[D]==null&&(Q[D]=h(IV,{457:1,4:1,5:1,8:1},105,D,0,1)),Q[D][f]?(Q[D][f].c[0]+=ru(Q[D][f].b[0],P),Q[D][f].d[0]+=iu(Q[D][f].b[0],P),Q[D][f].c[1]+=ru(Q[D][f].b[1],r),Q[D][f].d[1]+=iu(Q[D][f].b[1],r),++Q[D][f].a[0],++Q[D][f].a[1]):(Q[D][f]=new HQ(N(t.d,f),N(t.d,D),P,r),!e&&(e=new f1()),e.a.push(Q[D][f])));}return e;}function A$(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m;for(m=h(F,k,6,t.j.g,15,1),T=0;T<e.j.a.length;T++){for(g=N(e.k,T),L=true,D=0;D<g.length;D++)if(!t.e[g[D]]){L=false;break;}if(L)for(f=0;f<g.length;f++)++m[g[f]];}for(P=t.c,l=0;l<e.j.a.length;l++)for(i=false,c=N(e.j,l),g=N(e.k,l),f=0;f<g.length&&!i;f++)if(m[g[f]]>1&&(r=m3(f,g.length),m[g[r]]==1)){for(Q=false,y=m3(r,g.length);m[g[y]]==1;)(!yf(t,c[y],false)||g.length!=6&&K(t.j,c[y])!=6)&&(Q=true),y=m3(y,g.length);if(!Q&&(n=y>r?y-r:y+g.length-r,n>2&&(n&1)==1)){for(s=1;s<n;s+=2)U=r+s<g.length?r+s:r+s-g.length,A&&(yf(t,c[U],true),yf(t,c[U==c.length-1?0:U+1],true)),n2(t,g[U]);i=true;}}return P!=t.c;}function n$(t,e){var A,n,P,r,i,f,D,Q,U;return t==null?null:(f=t,Q=null,D=null,U=null,i=null,A=t.indexOf(k0(35)),A==-1?f=t:(f=(pt(0,A,t.length),t.substr(0,A)),n=t.indexOf(k0(35),A+1),n==-1?Q=(Xt(A+1,t.length+1),t.substr(A+1)):(Q=(pt(A+1,n,t.length),t.substr(A+1,n-(A+1))),P=t.indexOf(k0(35),n+1),P==-1?D=(Xt(n+1,t.length+1),t.substr(n+1)):(D=(pt(n+1,P,t.length),t.substr(n+1,P-(n+1))),r=t.indexOf(k0(35),P+1),r==-1?U=(Xt(P+1,t.length+1),t.substr(P+1)):(U=(pt(P+1,r,t.length),t.substr(P+1,r-(P+1))),i=(Xt(r+1,t.length+1),t.substr(r+1)))))),ep(f,(e&1)!=0?Q:null,(e&2)!=0?D:null,(e&4)!=0?U:null,(e&8)!=0?i:null,false,null));}function mj(t,e,A){var n,P,r,i,f,D,Q;if(e&&e.g&&++t.C,e&&t.s>e.b&&(t.s=e.b),t.G)return hm(t);if(t.F.d.a.length==t.t)return null;if(e&&e.b>3){if(n=A?z9(t.i,e.d):null,i=A?n.c:null,r=A?i.a.length:0,CZ(t,e),A)for(f=r;f<i.a.length;f++)uq(le(A.a,J3(e.c)),lW(t.D,(ve(f,i.a.length),i.a[f]),n));e.g||(e.b<6?X8(t.A,e):(!t.e||t.e.b>e.b)&&(t.e=e)),++t.g;}for(D=t.s+3,Q=IF(t,D,e);Q&&(P=aG(Q,z9(t.i,Q.d).c),!(P<D));){if(P<6&&X8(t.B,new ug(Q,P)),++t.g,pm(t.F,Q),t.F.d.a.length==t.t)return null;D=t.s+3,Q=IF(t,D,Q);}if(!Q){if(t.A.d.a.length!=0){for(t.G=true;t.A.d.a.length!=0&&kr(t.A,t.A.d.a.length-1).b>t.s+3;)aU(t.A,t.A.d.a.length-1);Q=hm(t);}return Q;}return pm(t.F,Q),Q;}function P$(t,e){var A,n,P,r,i,f,D,Q;A=(Q=t.n.Ac(),Q.getBackgroundRGB()),P=(_r(),(xA[0]*((A&iP)>>16)+xA[1]*((A&PP)>>8)+xA[2]*(A&255))/255<.5),n=P?y5(A,jf):A&qn|vt(w.Math.round(DU*((A&iP)>>16)))<<16|vt(w.Math.round(DU*((A&PP)>>8)))<<8|vt(w.Math.round(DU*(A&255))),i=P?y5(A,.5):A&qn|vt(w.Math.round(xf*((A&iP)>>16)))<<16|vt(w.Math.round(xf*((A&PP)>>8)))<<8|vt(w.Math.round(xf*(A&255))),D=xo(t.i),f=Oo(t.i),ZL(e,t.i,0,0,D,f,v8,v8,D/t.j,f/t.j),r=AF(20),ZL(e,t.c,0,t.d*84,84,84,r[0],r[1],dn,dn),(t.a.U&4)==0&&FQ(t,e,19,-1,true),(t.a.U&8)==0&&FQ(t,e,21,-1,true),FQ(t,e,t.b,i,false),t.f!=-1&&t.f!=t.k&&FQ(t,e,t.f,n,false),t.k!=-1&&FQ(t,e,t.k,7167924,false);}function kj(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y;if(!t.b)return  false;for(i=null,s=null,D=new RL(null,null),P=1,D.a[1]=t.b,L=D;L.a[P];)Q=P,f=s,s=L,L=L.a[P],n=t.a.Rb(e,L.c),P=n<0?0:1,n==0&&(!A.c||K8(L.d,A.d))&&(i=L),!(L&&L.b)&&!zP(L.a[P])&&(zP(L.a[1-P])?s=s.a[Q]=_u(L,P):zP(L.a[1-P])||(y=s.a[1-Q],y&&(!zP(y.a[1-Q])&&!zP(y.a[Q])?(s.b=false,y.b=true,L.b=true):(r=f.a[1]==s?1:0,zP(y.a[Q])?f.a[r]=zB(s,Q):zP(y.a[1-Q])&&(f.a[r]=_u(s,Q)),L.b=f.a[r].b=true,f.a[r].a[0].b=false,f.a[r].a[1].b=false))));return i&&(A.b=true,A.d=i.d,L!=i&&(U=new RL(L.c,L.d),IY(t,D,i,U),s==i&&(s=U)),s.a[s.a[1]==L?1:0]=L.a[L.a[0]?0:1],--t.c),t.b=D.a[1],t.b&&(t.b.b=false),A.b;}function K5(t,e,A){ji();var n,P,r,i,f;KZ.call(this,t),this.a=new f1(),this.b=new Pj(t),ut(this.g,7),f=xu(ul,e),r=$P(A.c,JC)?LD(A.c.a.get(JC)):100,n=$P(A.c,zC)?LD(A.c.a.get(zC)):1,P=$P(A.c,YC)&&VP(A.c.a.get(YC),"distance"),i=new wR(this.b),(!$P(A.c,KC)||Ri(A.c.a.get(KC)))&&jP(this.a,dY(f,this.b)),(!$P(A.c,XC)||Ri(A.c.a.get(XC)))&&jP(this.a,uO(f,this.b)),(!$P(A.c,ZC)||Ri(A.c.a.get(ZC)))&&jP(this.a,QX(f,this.b,i,r,P,n)),(!$P(A.c,WC)||Ri(A.c.a.get(WC)))&&jP(this.a,rK(f,this.b)),(!$P(A.c,_C)||Ri(A.c.a.get(_C)))&&jP(this.a,fZ(f,this.b)),(!$P(A.c,$C)||Ri(A.c.a.get($C)))&&jP(this.a,HZ(f,this.b)),(!$P(A.c,aC)||Ri(A.c.a.get(aC)))&&jP(this.a,gK(f,this.b,i,r));}function r$(t){var e,A,n,P,r;for(r=t.U,P=bn(t.f,t.R.f),t.R.K||(gZ(t),qm(t,r,P)),t.bb=h(q,I,6,t.R.f,15,1),t.ab=h(q,I,6,t.R.f,15,1),A=0;A<t.R.f;A++)t.bb[A]=Ae(t.R,A)<<24>>24,t.ab[A]=VA(t.R,A)<<24>>24;for(t.n=h(q,I,6,t.R.g,15,1),t.k=h(q,I,6,t.R.g,15,1),n=0;n<t.R.g;n++)t.n[n]=cP(t.R,n)<<24>>24,t.k[n]=$i(t.R,n)<<24>>24;for(jW(t),t.Z=false,t.M=h(rt,ft,6,t.R.f,16,1),e=0;e<t.R.f;e++)t.db[e]!=0&&(t.M[e]=true,t.Z=true);gz(t),t.P=null,t.cb=h(rt,ft,6,t.R.f,16,1),t.Z&&(t.P=new xm(t.R,P,t.M,t.db,t.o,t.bb,t.ab,t.ib,t.q,t.cb),c_(t.P)),t.eb=h(rt,ft,6,t.R.f,16,1),t.gb=h(rt,ft,6,t.R.f,16,1),t.hb=new f1(),t.P&&Q2(t.P,t.f),e_(t),qm(t,r,P),k_(t),t.P&&(t.K=UG(t.P)),Z$(t);}function i$(t){var e,A,n,P,r,i,f,D,Q,U,L,s;for(D=new Wt(t.d);D.a<D.c.a.length;)for(f=t1(D),Q=0;Q<f.f.length;Q++)if(n=f.f[Q],dt(t.f,n)==2&&(!WP(t.f,n)&&(qe(t.f,n)==3||qe(t.f,n)==0)&&n3(t.f,n),!fA(t.f,n)&&O(t.f,z(t.f,0,n))>1&&O(t.f,z(t.f,1,n))>1&&(qe(t.f,n)==1||qe(t.f,n)==2))){for(s=h(F,k,6,2,15,1),P=h(F,k,6,2,15,1),U=0;U<2;U++)for(s[U]=t.f.M,P[U]=z(t.f,U,n),L=0;L<Mt(t.f,P[U]);L++)r=_(t.f,P[U],L),r!=z(t.f,1-U,n)&&s[U]>r&&(s[U]=r);i=on(f.a[f.g[P[0]]],f.b[f.g[P[0]]],f.a[f.g[P[1]]],f.b[f.g[P[1]]]),e=on(f.a[f.g[s[0]]],f.b[f.g[s[0]]],f.a[f.g[P[0]]],f.b[f.g[P[0]]]),A=on(f.a[f.g[P[1]]],f.b[f.g[P[1]]],f.a[f.g[s[1]]],f.b[f.g[s[1]]]),FL(i,e)<0^FL(i,A)<0^qe(t.f,n)==2&&Xj(f,n);}}function f$(t,e,A){var n,P,r,i,f,D,Q,U,L;return r=dR(t,e),i=r[0],D=r[1],D.e==0?new pD(i,2):(Q=t.e*e.e,wh(e)<54?(f=(L=D.d>1?S9(D.a[0],D.a[1]):S9(D.a[0],0),D.e>0?L:p0(L)),P=(U=e.d>1?S9(e.a[0],e.a[1]):S9(e.a[0],0),e.e>0?U:p0(U)),n=Hi(M1(G(f,0)<0?p0(f):f,1),G(P,0)<0?p0(P):P)?-1:S1(M1(G(f,0)<0?p0(f):f,1),G(P,0)<0?p0(P):P)?1:0,n=EQ(RQ(i,0)?1:0,Q*(5+n),A)):(n=rs(om(D.e<0?D.e==0?D:new Ue(-D.e,D.d,D.a):D),e.e<0?e.e==0?e:new Ue(-e.e,e.d,e.a):e),n=EQ(RQ(i,0)?1:0,Q*(5+n),A)),n!=0?wh(i)<54?rO((U=i.d>1?S9(i.a[0],i.a[1]):S9(i.a[0],0),O1(i.e>0?U:p0(U),n))):(i=T2(i,(ke(),G(n,0)>=0?we(n):FP(we(p0(n))))),new pD(i,2)):new pD(i,2));}function bj(t){var e,A,n,P,r,i,f,D,Q;switch(e=null,t.e){case 1:for(e=h(Yt,at,6,2*t.a.length,15,1),n=0;n<t.a.length;n++)e[n]=t.a[n],e[t.a.length+n]=180+t.a[n]<<16>>16;return e;case 2:for(P=t.a[0]==0?1:0,r=t.a[t.a.length-1]==180?t.a.length-1:t.a.length,Q=r-P,e=h(Yt,at,6,t.a.length+Q,15,1),i=0;i<t.a.length;i++)e[i]=t.a[i];for(f=P;f<r;f++)e[e.length-1-f+P]=360-t.a[f]<<16>>16;return e;case 3:for(P=t.a[0]==0?1:0,r=t.a[t.a.length-1]==90?t.a.length-1:t.a.length,Q=r-P,e=h(Yt,at,6,2*t.a.length+2*Q,15,1),D=0;D<t.a.length;D++)e[D]=t.a[D],e[t.a.length+Q+D]=180+t.a[D]<<16>>16;for(A=P;A<r;A++)e[t.a.length+Q-1-A+P]=180-t.a[A]<<16>>16,e[e.length-1-A+P]=360-t.a[A]<<16>>16;return e;default:return t.a;}}function D$(t){var e,A,n,P,r,i,f,D,Q,U,L;for(L=new Wt(t.g);L.a<L.c.a.length;){for(Q=t1(L),A=0,r=0;r<O(t.k,Q.a);r++)t.c[Ot(t.k,Q.a,r)]||++A;if(A!=0){for(Q.c=h(F,k,6,A,15,1),A=0,i=0;i<O(t.k,Q.a);i++)t.c[Ot(t.k,Q.a,i)]||(D=_(t.k,Q.a,i),Q.c[A++]=t.q[D]<<16|D);for(Q.c.sort(Fe(u0.prototype.gd,u0,[])),P=0;P<Q.c.length;P++)Q.c[P]=w1&Q.c[P];}}for(n=h(rt,ft,6,t.k.g,16,1),t.e=h(F,k,6,t.k.g,15,1),U=new Wt(t.g);U.a<U.c.a.length;)if(Q=t1(U),Q.c!=null){for(Q.d=h(rt,ft,6,Q.c.length,16,1),P=0;P<Q.c.length;P++)for(f=0;f<O(t.k,Q.a);f++)if(Q.c[P]==_(t.k,Q.a,f))if(e=Ot(t.k,Q.a,f),t.c[e])n[t.e[e]]=false;else {for(t.c[e]=true,Q.d[P]=true,t.e[e]=1;n[t.e[e]];)++t.e[e];n[t.e[e]]=true;}}}function Rj(){if(Wh(),!ol)try{Xf=h(Utt,h0,101,4,0,1),L9=h(v4,h0,20,4,0,1),s9=h(v4,h0,20,4,0,1),L9[0]=Ai("/resources/toxpredictor/m1.txt"),L9[1]=Ai("/resources/toxpredictor/t1.txt"),L9[2]=Ai("/resources/toxpredictor/i1.txt"),L9[3]=Ai("/resources/toxpredictor/r1.txt"),s9[0]=Ai("/resources/toxpredictor/m2.txt"),s9[1]=Ai("/resources/toxpredictor/t2.txt"),s9[2]=Ai("/resources/toxpredictor/i2.txt"),s9[3]=Ai("/resources/toxpredictor/r2.txt"),Xf[0]=gs("/resources/toxpredictor/m3.txt"),Xf[1]=gs("/resources/toxpredictor/t3.txt"),Xf[2]=gs("/resources/toxpredictor/i3.txt"),Xf[3]=gs("/resources/toxpredictor/r3.txt"),ol=!0;}catch(t){if(t=t0(t),Zt(t,19))x1();else throw At(t);}}function u$(t,e){var A,n,P,r,i,f,D;if(D=new uD(),!ol)return mt(D.a,new We("Toxicity predictor not properly initialized.",2)),D;if(i=me(new BA(t)),Xf[e].bc(i)!=-1)return ZP(D,"This molecule is known to be "+YV[e]+":",2),mt(D.a,new We(i,1)),D;for(f=new jD(1),A=false,n=new JA(),r=0;r<L9[e].a.length;r++)u2(new GA(false),n,N(L9[e],r)),Dn(f,t),Ln(f,n),sn(f,1,f.c)>0&&(A||ZP(D,"High-risk fragments indicating "+kU[e]+":",2),A=true,ZP(D,N(L9[e],r),1));for(A=false,P=0;P<s9[e].a.length;P++)u2(new GA(false),n,N(s9[e],P)),Dn(f,t),Ln(f,n),sn(f,1,f.c)>0&&(A||ZP(D,"Medium-risk fragments indicating "+kU[e]+":",2),A=true,ZP(D,N(s9[e],P),1));return D.a.a.length==0&&ZP(D,"No indication for "+kU[e]+" found.",2),D;}function jj(t,e,A,n,P,r){var i,f,D,Q,U,L,s,y,l;for(l=B(d(yt,1),wt,6,15,[0,0,0]),Q=B(d(yt,1),wt,6,15,[0,0,0]),f=B(d(F,1),k,6,15,[e.C[A],e.C[n],e.C[P]]),D=1.75,U=0;U<3;U++)switch(f[U]){case 1:l[U]=1.395;break;case 6:l[U]=2.494,Q[U]=1.016;break;case 7:l[U]=2.711,Q[U]=1.113;break;case 8:l[U]=3.045,Q[U]=1.337;break;case 9:l[U]=2.847;break;case 14:l[U]=2.35,Q[U]=.811;break;case 15:l[U]=2.35,Q[U]=1.068;break;case 16:l[U]=2.98,Q[U]=1.249;break;case 17:l[U]=2.909,Q[U]=1.078;break;case 35:l[U]=3.017;break;case 53:l[U]=3.086;}return L=y2(t.a.d,e,A,n),s=y2(t.a.d,e,n,P),i=(L-s)*(L-s)/((L+s)*(L+s)),y=NC*r,U2(e,A,n,P,4)?D*=.85:U2(e,A,n,P,3)&&(D*=.05),D*l[0]*Q[1]*l[2]/((L+s)*y*y*w.Math.exp(2*i));}function Q$(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g;if(e!=null)t.e=e;else for(t.e=h(rt,ft,6,t.j.g,16,1),s=0;s<t.j.g;s++)l1(t.j,s)==8&&(t.e[s]=true,w0(t.j,s,1));for(y=0;y<t.j.g;y++)t.e[y]&&++t.c;for(t.d=h(rt,ft,6,t.j.f,16,1),t.f=h(rt,ft,6,t.j.f,16,1),f=0;f<t.j.f;f++){for(l=0,T=0;T<O(t.j,f);T++)t.e[Ot(t.j,f,T)]&&++l;l>0&&(t.d[f]=true,++t.b,l==3&&(t.f[f]=true));}for(t.i=h(rt,ft,6,A.j.a.length,16,1),g=0;g<A.j.a.length;g++)for(t.i[g]=true,Q=N(A.k,g),U=0,L=Q.length;U<L;++U)if(D=Q[U],!t.e[D]){t.i[g]=false;break;}for(t.g=h(rt,ft,6,t.j.f,16,1),c=0;c<A.j.a.length;c++)if(t.i[c]&&N(A.k,c).length!=6)for(P=N(A.j,c),r=0,i=P.length;r<i;++r)n=P[r],N(A.k,c).length==5&&(t.g[n]=true);t.k=0;}function $s(t,e,A,n,P,r,i){var f,D,Q,U,L,s,y,l,T,c,g,m;for(y=0;y<e.j[A];y++)if(f=e.i[A][y],!r[f]&&(U=e.k[A][y],g=dt(e,U),n&&g>=2||!n&&g<=2)){for(r[f]=true,i.add(k1(U)),l=0;l<e.j[f];l++)if(D=e.i[f][l],!r[D]&&(L=e.k[f][l],m=dt(e,L),e.o[f]+2==g+m&&(n&&m<=2||!n&&m>=2))){if(r[D]=true,i.add(k1(L)),t.f[D]&&(K(t.i,D)==5||K(t.i,D)==6||K(t.i,D)==7||K(t.i,D)==8||K(t.i,D)==16||K(t.i,D)==34||K(t.i,D)==52)&&(!n||uQ(e,D))){for(s=new fs(t,e),T=0;T<i.a.length;T++)Q=(ve(T,i.a.length),i.a[T]).a,c=T<2?n^(T&1)==0:P^(T&1)==0,c?TL(s,Q,dt(e,Q)==1?2:3):TL(s,Q,dt(e,Q)==2?1:2),t.g[Q]=true;zi(t.e,s)&&uL(t.d,s);}else $s(t,e,D,n,P,r,i);LA(i,i.a.length-1),r[D]=false;}LA(i,i.a.length-1),r[f]=false;}return  false;}function $0(t,e){var A,n,P,r,i,f,D,Q,U;if(e==0)return 0;for(f=null,n=0;n<t.q;n++)(t.u[n]&m1)>>18==e&&(f==null&&(f=h(rt,ft,6,32,16,1)),f[(t.u[n]&m1)>>18!=1&&(t.u[n]&m1)>>18!=2?-1:(t.u[n]&RA)>>20]=true);for(r=0;r<t.r;r++)(t.F[r]&768)>>8==e&&(f==null&&(f=h(rt,ft,6,32,16,1)),f[(t.F[r]&768)>>8!=1&&(t.F[r]&768)>>8!=2?-1:(t.F[r]&ln)>>10]=true);if(U=0,f!=null){for(Q=h(F,k,6,32,15,1),D=0;D<32;D++)f[D]&&(Q[D]=U++);for(A=0;A<t.q;A++)(t.u[A]&m1)>>18==e&&(i=Q[(t.u[A]&m1)>>18!=1&&(t.u[A]&m1)>>18!=2?-1:(t.u[A]&RA)>>20],t.u[A]&=-32505857,t.u[A]|=i<<20);for(P=0;P<t.r;P++)(t.F[P]&768)>>8==e&&(i=Q[(t.F[P]&768)>>8!=1&&(t.F[P]&768)>>8!=2?-1:(t.F[P]&ln)>>10],t.F[P]&=-31745,t.F[P]|=i<<10);}return U;}function ui(t,e,A,n,P){var r,i,f,D,Q,U,L,s;for(ut(t,n?7:1),e.v=null,t.K&&je(e,true),D=A.length,P==null&&(P=h(F,k,6,D,15,1)),e.q=0,r=0;r<D;r++)if(A[r]){if(P[r]=En(t,e,r,0,0),t.C[r]==1&&(s=G1(t,r),s>1)){for(L=0;L<t.e[r];L++)if(!A[t.i[r][L]]){XA(e,P[r],s);break;}}}else P[r]=-1;for(U=h(F,k,6,t.r,15,1),V9(U,U.length,-1),e.r=0,Q=0;Q<t.r;Q++)i=t.D[0][Q],f=t.D[1][Q],i<D&&f<D&&(A[i]&&A[f]?U[Q]=er(t,e,Q,0,0,P==null?t.D[0][Q]:P[t.D[0][Q]],P==null?t.D[1][Q]:P[t.D[1][Q]],n):t.s[i]!=0&&t.s[f]!=0&&t.s[i]<0^t.s[f]<0&&(A[i]&&(e.s[P[i]]+=t.s[i]<0?1:-1),A[f]&&(e.s[P[f]]+=t.s[f]<0?1:-1)));LL(t,e),t.d&&(e.T=0),e.T=0,$0(e,1),$0(e,2),e.q!=D&&je(e,true),yj(t,e,D,P,U),_k(t,e,D,P),n&&Ff(new cr(e),null,false);}function U$(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l;if(D=false,a1(t.k,e)!=0&&O(t.k,e)==2&&pA(t.k,e,0)==2&&pA(t.k,e,1)==2){for(i=0;i<O(t.k,e);i++)if(n=_(t.k,e,i),n!=A&&O(t.k,n)==2){D=true;break;}for(r=0;r<O(t.k,e);r++){for(n=_(t.k,e,r),l=0,y=h(F,k,6,3,15,1),U=0;U<O(t.k,n);U++)y[l]=_(t.k,n,U),y[l]!=e&&++l;l==2&&t.q[y[0]]<t.q[y[1]]^y[0]<y[1]&&(D=!D);}}else {for(L=h(F,k,6,4,15,1),s=h(F,k,6,4,15,1),f=0,A!=-1&&(L[f]=A,s[f++]=8*t.q[A]),(xt(t.k,e)!=0||O(t.k,e)==3)&&(L[f]=It,s[f++]=8*t.q[e]),r=0;r<O(t.k,e);r++)n=_(t.k,e,r),n!=A&&(L[f]=n,s[f++]=uY(t,e,r));D=uJ(L,s);}return Q=d0(t.k,e)==1^D,Ei(t.k,e)&&(P=hq(t.d,e),t.n[P]||(t.n[P]=true,t.o[P]=Q),t.o[P]&&(Q=!Q)),Q?"@@":"@";}function o$(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y;for(ut(t.H,t.N),U=t.H.f,t.J=h(F,k,6,U,15,1),t.I=h(NA,a0,6,U,14,1),i=0;i<U;i++)t.I[i]=Or(V(Y(up(t.H,i),o0(t.H,i)),C6),Vp),t.J[i]=K(t.H,i),(e&1)!=0&&(t.J[i]+=p1(t.H,i)+16<<8),(e&2)!=0&&(t.J[i]+=ye(t.H,i)<<16);for(t.M=h(NA,a0,6,U,14,1),s=On(t.H),Q=0;Q<s.j.a.length;Q++)for(y=N(s.k,Q).length,n=N(s.j,Q),P=0,r=n.length;P<r;++P)f=n[P],y==3?t.M[f]=Y(t.M[f],ir):y==4?t.M[f]=Y(t.M[f],fr):y==5?t.M[f]=Y(t.M[f],Dr):y==6?t.M[f]=Y(t.M[f],ur):y==7&&(t.M[f]=Y(t.M[f],Qr));for(A=0;A<U;A++)y=M9(t.H,A),y==0?t.M[A]=Y(t.M[A],L8):y>7&&(t.M[A]=Y(t.M[A],pf));for(L=t.H.g,t.K=h(F,k,6,L,15,1),D=0;D<L;D++)t.K[D]=(Ob(t.H,D)|ee(t.H,D))&6422527^6291840;}function as(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l;if(un(t.i,0),n=SA(e,t.c),n!=0){if(z1(t),L=n==1^K(t.V,t.t)==1,Bf(t.V,t.t,n,0,-1,0)){L&&(t.t=-1,N1(t,new q1(t,4,true))),t.eb=w.Math.max(t.eb,3),n1(t.k),N1(t,new q1(t,1,true));return;}t.eb=w.Math.max(t.eb,0),n1(t.k);}if(t.j!=null&&t.j.length!=0&&(e=t.j),y=(iy(),U=(!il&&SY(),le(il,ef(e.toLowerCase(),"-"))),U==null?null:_i(new GA(false),U)),y){for(z1(t),D=new JA(),OR(D,t.V,t.t,null),s=Pn(D,t.ab*24),i=D.q,A=0;A<D.q;A++)D.u[A]|=I0;for(Js(D,y,0),Ar(new Y8(4),D),P=kt(t.V,t.t)-s*D.J[0].a,r=jt(t.V,t.t)-s*D.J[0].b,f=t.V.q,Js(t.V,y,t.t),l=t.V.q-f,Q=0;Q<l;Q++)Be(t.V,f+Q,s*D.J[i+Q].a+P),Ie(t.V,f+Q,s*D.J[i+Q].b+r);Lf(t.V),t.eb=w.Math.max(t.eb,3),n1(t.k),N1(t,new q1(t,1,true));}}function pj(t,e,A){if(p1(t.j,e)!=0)return 0;if(t.a){if(K(t.j,e)==5)return G1(t.j,e)!=2?0:(A&&E0(t.j,e,1),1);if(K(t.j,e)==7)return G1(t.j,e)!=2?0:(A&&E0(t.j,e,-1),tf(t,e)?6:3);if(K(t.j,e)==8)return G1(t.j,e)!=1?0:(A&&E0(t.j,e,-1),tf(t,e)?7:4);if(K(t.j,e)==16)return G1(t.j,e)!=1?0:(A&&E0(t.j,e,-1),tf(t,e)?5:2);if(K(t.j,e)==34)return G1(t.j,e)!=1?0:(A&&E0(t.j,e,-1),tf(t,e)?4:1);}else {if(K(t.j,e)==5)return G1(t.j,e)>2?0:(A&&E0(t.j,e,1),1);if(K(t.j,e)==7)return G1(t.j,e)>2?0:(A&&E0(t.j,e,-1),tf(t,e)?5:3);if(K(t.j,e)==8)return G1(t.j,e)>1?0:(A&&E0(t.j,e,-1),tf(t,e)?7:4);if(K(t.j,e)==16)return G1(t.j,e)>1?0:(A&&E0(t.j,e,-1),tf(t,e)?5:2);}return 0;}function Cj(t){var e,A;if(t.s==null&&!t.t)return null;if(t.t)return A=BQ(t.t),A?(_s(t,A),++t.p,bw(A,"SO#"+ ++t.a),A):null;if(t.j)return null;for(t.b.c==0&&z9(t,h(F,k,6,t.q.length,15,1)),t.A=mj(t.B,t.A,t.c);t.A&&!(gt(t.v,0)&&(x1(),S1(E1(Date.now()),t.v)));){if(e=z9(t,t.A.d),t.A.c||(Nx(t.A,eJ(e,t.A.i,"#"+ ++t.a)),t.i&&VI(t.c,t.A)),t.A.b==0&&(Hj(t,t.A,t.A.c),t.A.b!=0&&_$(t,t.A),t.i&&(wz(Ii(t.c,t.A),e,t.A.c),Ii(t.c,t.A))),t.A.b>t.B.s+3){if(t.A=mj(t.B,t.A,t.c),t.A||t.p!=0)continue;if(t.C&&(t.t=new NQ(t.k),$U(t.t,t.v),d5(t.t,t.o,-1),A=BQ(t.t),A))return _s(t,A),++t.p,bw(A,"SO#"+ ++t.a),A;t.A=t.B.e,t.j=true;}if(t.A)return _s(t,t.A.c),t.A.g=true,++t.p,t.i&&Ii(t.c,t.A),t.A.c;}return null;}function L$(t,e,A,n){var P,r,i,f,D,Q;if(P=W9(e,t.d),E0(e,P,t.e),Ze(e,P,t.o,false),XA(e,P,t.a),gt(t.c,0)&&(gt(V(t.c,2),0)?(t.c=V(t.c,-3),e.u[P]|=I0):e.u[P]&=gy,T1(e,P,t.c,true)),t.b){for(Q=h(F,k,6,t.b.d.a.length,15,1),D=0;D<t.b.d.a.length;D++)Q[D]=kr(t.b,D).a;sh(e,P,Q),t.b.d.a.length=0;}else if(String.fromCharCode(A).toLowerCase().charCodeAt(0)==A&&BB(A)){if(t.d!=5&&t.d!=6&&t.d!=7&&t.d!=8&&t.d!=15&&t.d!=16&&t.d!=33&&t.d!=34)throw At(new V1("SmilesParser: atomicNo "+t.d+" must not be aromatic. Position:"+(n-1)));e.u[P]|=I0;}else e.u[P]&=gy;if(t.f)for(f=new Wt(t.f);f.a<f.c.a.length;)i=t1(f),t.r=true,K0(i,0,0),je(e,true),Js(e,i,P);return t.g!=-1&&t.d!=1&&(r=h(q,I,6,1,15,1),r[0]=t.g<<24>>24,iz(e,P,r)),P;}function s$(t,e){var A,n,P,r,i,f,D,Q,U,L,s;if(e==2||e==5)mt(t.F,ai(t.G,t.G.length)),t.b&&mt(t.a,JL(t.C,t.C.length));else if(e==4)s=jb(ai(t.G,t.G.length)),lo(t.O,s)||(zi(t.O,s),mt(t.F,ai(t.G,t.G.length)),t.b&&mt(t.a,JL(t.C,t.C.length)));else if(e==3){if(s=jb(ai(t.G,t.G.length)),!lo(t.O,s)){for(L=false,Q=(f=new N8(new x8(new w9(t.O.a).a).b),new g9(f));p9(Q.a.a);){for(D=(i=Br(Q.a),i.dd()),U=0,n=s,P=0,r=n.length;P<r;++P){for(A=n[P];U<D.length&&D[U]<A;)++U;if(U<D.length&&A==D[U]){L=true;break;}}if(L)break;}L||(zi(t.O,s),mt(t.F,ai(t.G,t.G.length)),t.b&&mt(t.a,JL(t.C,t.C.length)));}}else e==6&&(s=jX(t,ai(t.G,t.G.length)),lo(t.O,s)||(zi(t.O,s),mt(t.F,ai(t.G,t.G.length)),t.b&&mt(t.a,JL(t.C,t.C.length))));}function En(t,e,A,n,P){var r,i,f;return r=e.q,r>=e.M&&kQ(e,e.M*2),f=(t.u[A]&m1)>>18,i=-1,f==1?n==-1?i=$0(e,f):i=w.Math.min(31,n+((t.u[A]&m1)>>18!=1&&(t.u[A]&m1)>>18!=2?-1:(t.u[A]&RA)>>20)):f==2&&(P==-1?i=$0(e,f):i=w.Math.min(31,P+((t.u[A]&m1)>>18!=1&&(t.u[A]&m1)>>18!=2?-1:(t.u[A]&RA)>>20))),e.C[r]=t.C[A],e.s[r]=t.s[A],e.A[r]=t.A[A],e.u[r]=t.u[A],e.B[r]=e.K?t.B[A]:0,bD(e.J[r],t.J[A]),e.w[r]=t.w[A],e.v!=null&&(e.v[r]=null),t.v!=null&&t.v[A]!=null&&e.K&&(e.v==null&&(e.v=h(F,D0,7,e.C.length,0,2)),e.v[r]=bn(t.v[A],t.v[A].length)),e.t!=null&&(e.t[r]=null),t.t!=null&&t.t[A]!=null&&(e.t==null&&(e.t=h(q,w8,10,e.C.length,0,2)),e.t[r]=TN(t.t[A],t.t[A].length)),i!=-1&&(e.u[r]&=-32505857,e.u[r]|=i<<20),++e.q,e.T=0,r;}function X5(){X5=B1,XV=B(d(it,1),Dt,2,6,["","r0","r","r3","r3-4","r3-5","r3-6","r3-7","r4","r4-5","r4-6","r4-7","r>3","r5","r5-6","r5-7","r>4","r6","r6-7","r>5","r7","r>6","r>7"]),KV=B(d(it,1),Dt,2,6,[d8,fV,"is in any ring","3 members","3-4 members","3-5 members","3-6 members","3-7 members","4 members","4-5 members","4-6 members","4-7 members","> 3 members","5 members","5-6 members","5-7 members","> 4 members","6 members","6-7 members","> 5 members","7 members","> 6 members","> 7 members"]),ci=B(d(NA,1),a0,6,14,[0,L8,jp,ir,25769803776,60129542144,128849018880,266287972352,fr,51539607552,120259084288,257698037760,532575944704,Dr,103079215104,240518168576,515396075520,ur,206158430208,481036337152,Qr,412316860416,pf]);}function y$(t,e){i8();var A,n,P,r,i,f,D,Q,U,L,s;for(r=0;r<e.f;r++)if(e.o[r]==2&&e.j[r]==2&&e.n[r][0]==2&&e.n[r][1]==2&&e.C[r]<=7&&(U=e.u[r]&3,U==1||U==2)){for(n=h(F,k,6,4,15,1),s=h(F,k,6,2,15,1),f=0;f<e.j[r];f++){for(A=e.i[r][f],Q=It,D=0;D<e.j[A];D++)i=e.i[A][D],i!=r&&Q>i&&(Q=i);n[3*f]=Q,n[1+f]=A,s[f]=r;}if(n[0]==It||n[3]==It){x1(),""+me(new BA(e));break;}mt(t,new xT(e,n,s,(e.u[r]&hn)!=0,U==1));}for(P=0;P<e.g;P++)if(U=e.F[P]&3,(U==1||U==2)&&dt(e,P)!=2){for(n=h(F,k,6,4,15,1),s=h(F,k,6,2,15,1),f=0;f<2;f++){for(A=e.D[f][P],L=e.D[1-f][P],Q=It,D=0;D<e.j[A];D++)i=e.i[A][D],i!=L&&Q>i&&(Q=i);n[3*f]=Q,n[1+f]=A,s[f]=e.D[1-f][P];}mt(t,new xT(e,n,s,(e.F[P]&64)!=0,U==2));}}function l$(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y,l;for(f=ms(t),i=h(rt,ft,6,f+1,16,1),l=new Wt(t.g);l.a<l.c.a.length;)for(s=t1(l),A=0;A<s.q;A++)if(P=w.Math.abs(s.w[A]),P!=0){if(i[P])throw At(new V1("Duplicate mapping no in reactants: "+P));i[P]=true;}for(r=h(rt,ft,6,f+1,16,1),L=new Wt(t.f);L.a<L.c.a.length;)for(Q=t1(L),A=0;A<Q.q;A++)if(P=w.Math.abs(Q.w[A]),P!=0){if(r[P])throw At(new V1("Duplicate mapping no in products: "+P));r[P]=true;}for(D=h(F,k,6,f+1,15,1),n=0,e=1;e<=f;e++)i[e]&&r[e]&&(D[e]=++n);if(n!=f){for(y=new Wt(t.g);y.a<y.c.a.length;)for(s=t1(y),A=0;A<s.q;A++)Ze(s,A,D[w.Math.abs(s.w[A])],s.w[A]<0);for(U=new Wt(t.f);U.a<U.c.a.length;)for(Q=t1(U),A=0;A<Q.q;A++)Ze(Q,A,D[w.Math.abs(Q.w[A])],Q.w[A]<0);}}function T$(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g;if(g=(ut(t,7),t.p),!g.e[e])return 1;if(N(g.k,e).length==6){for(n=N(g.j,e),P=0,r=n.length;P<r;++P)if(A=n[P],G1(t,A)+xt(t,A)!=t.e[A]+xt(t,A)+1)return 1;for(D=N(g.k,e),Q=0,U=D.length;Q<U;++Q)if(f=D[Q],L=B(d(F,1),k,6,15,[-1,-1]),dt(t,f)==1){for(y=0;y<=1;y++)for(i=t.D[y][f],s=0;s<t.e[i];s++)if(l=t.i[i][s],!yA(g,e,l)&&dt(t,D1(t,i,l))==2){L[y]=l;break;}if(L[0]>-1&&L[1]>-1)for(c=0;c<g.j.a.length;c++){if(yA(g,c,L[0])&&yA(g,c,L[1])&&t.b[c]==2)return 2;if(yA(g,c,L[0])&&yA(g,c,L[1])&&t.b[c]!=0)return 1;}}}if(N(g.k,e).length==5)for(T=1,n=N(g.j,e),P=0,r=n.length;P<r;++P){if(A=n[P],G1(t,A)+xt(t,A)==t.e[A]+xt(t,A)&&T>0){--T;continue;}if(G1(t,A)+xt(t,A)!=t.e[A]+xt(t,A)+1)return 1;}return 0;}function Z5(t){var e,A,n,P,r,i,f,D,Q,U,L;for(e=0;e<t.R.f;e++)if(t.db[e]==1||t.db[e]==2){if(D=false,ZT(t.R,e))for(f=0;f<O(t.R,e);f++){for(P=_(t.R,e,f),L=0,U=h(F,k,6,3,15,1),Q=0;Q<O(t.R,P);Q++)U[L]=_(t.R,P,Q),U[L]!=e&&++L;L==2&&t.f[U[0]]>t.f[U[1]]^U[0]<U[1]&&(D=!D);}else for(f=1;f<O(t.R,e);f++)for(Q=0;Q<f;Q++)r=_(t.R,e,f),i=_(t.R,e,Q),t.f[r]>t.f[i]&&(D=!D),r<i&&(D=!D);ce(t.R,e,t.db[e]==1^D?1:2,t.fb[e]);}else ce(t.R,e,t.db[e],t.fb[e]);for(A=0;A<t.R.g;A++)if(t.o[A]==1||t.o[A]==2){for(D=false,f=0;f<2;f++)if(n=z(t.R,f,A),O(t.R,n)==3){for(U=h(F,k,6,2,15,1),L=0,Q=0;Q<3;Q++)_(t.R,n,Q)!=z(t.R,1-f,A)&&(U[L++]=_(t.R,n,Q));t.f[U[0]]>t.f[U[1]]&&(D=!D),U[0]<U[1]&&(D=!D);}A8(t.R,A,t.o[A]==1^D?1:2,t.p[A]);}else A8(t.R,A,t.o[A],t.p[A]);}function Mj(t,e,A,n,P){var r,i,f,D,Q,U,L,s;for(ut(t,n?7:1),e.v=null,t.K&&je(e,true),P==null&&(P=h(F,k,6,t.q,15,1)),e.q=0,r=0;r<t.q;r++)for(P[r]=-1,U=0;U<t.j[r];U++)if(A[t.k[r][U]]){if(P[r]=En(t,e,r,0,0),t.C[r]==1&&(s=G1(t,r),s>1)){for(L=0;L<t.e[r];L++)if(!A[t.k[r][L]]){XA(e,P[r],s);break;}}break;}for(Q=h(F,k,6,t.r,15,1),e.r=0,D=0;D<t.r;D++)A[D]?Q[D]=er(t,e,D,0,0,P==null?t.D[0][D]:P[t.D[0][D]],P==null?t.D[1][D]:P[t.D[1][D]],n):(Q[D]=-1,i=t.D[0][D],f=t.D[1][D],P[i]==-1^P[f]==-1&&t.s[i]!=0&&t.s[f]!=0&&t.s[i]<0^t.s[f]<0&&(P[i]!=-1&&(e.s[P[i]]+=t.s[i]<0?1:-1),P[f]!=-1&&(e.s[P[f]]+=t.s[f]<0?1:-1)));return LL(t,e),t.d&&(e.T=0),e.T=0,$0(e,1),$0(e,2),e.q!=t.q&&je(e,true),yj(t,e,t.q,P,Q),_k(t,e,t.q,P),n&&Ff(new cr(e),null,false),P;}function h$(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b;for(f=0,A=0;A<t.f.q;A++)z0(t.f,A)&&++f;if(!(f<2)){for(L=0,Q=0,U=0;U<t.f.r;U++)n=z(t.f,0,U),P=z(t.f,1,U),z0(t.f,n)&&z0(t.f,P)&&(t.c[U]=true,t.b[n]=true,t.b[P]=true,Q+=hh(t.f,U),++L);for(L!=0&&Q!=0?Q/=L:Q=V8(t.f),r=0;r<t.f.q;r++)z0(t.f,r)&&!t.b[r]&&--f;if(!(f<2)){for(v=h(F,k,6,t.f.q,15,1),s=n9(t.f,v,true,true),m=h(F,k,6,s,15,1),i=0;i<t.f.q;i++)v[i]!=-1&&++m[v[i]];for(g=h(G4,A0,48,s,0,1),l=0;l<s;l++)g[l]=new MP(t.f,m[l],true);for(D=h(F,k,6,s,15,1),e=0;e<t.f.q;e++)T=v[e],T!=-1&&(g[T].k[D[T]]=re,g[T].e[D[T]]=e,g[T].a[D[T]]=kt(t.f,e)/Q,g[T].b[D[T]]=jt(t.f,e)/Q,++D[T]);for(R=-1,b=0,c=0;c<s;c++)b<m[c]&&(b=m[c],R=c);for(pP(t.d,g[R]),y=0;y<s;y++)y!=R&&pP(t.d,g[y]);}}}function c$(t,e){var A,n,P,r,i,f,D,Q,U,L,s;for(n=0;n<t.e[e];n++)switch(U=t.i[e][n],t.C[U]){case 6:return 5;case 7:switch(u6(t,U)){case 8:case 39:case 62:case 67:case 68:return 23;case 34:case 54:case 55:case 56:case 58:case 81:return 36;case 9:return 27;default:return 28;}case 8:switch(u6(t,U)){case 49:return 50;case 51:return 52;case 70:return 31;case 6:for(P=false,r=false,i=false,f=false,D=0;D<t.e[U];D++){if(L=t.i[U][D],t.C[L]==6)for(Q=0;Q<t.e[L];Q++)s=t.i[L][Q],s!=U&&(A=D1(t,L,s),(t.C[s]==6||t.C[s]==7)&&(dt(t,A)==2||A<t.g&&Re(t.p,A))&&(P=true),t.C[s]==8&&dt(t,A)==2&&(r=true));t.C[L]==15&&(i=true),t.C[L]==16&&(f=true);}if(r||i)return 24;if(P)return 29;if(f)return 33;default:return 21;}case 14:return 5;case 16:case 15:return 71;}return 0;}function w$(t){var e,A,n,P,r,i,f,D,Q,U,L;if(t.n==null){if(t.b)for(n=t.j+1,t.p=h(F,nA,28,t.o.length,0,3),r=0;r<t.o.length;r++){for(t.p[r]=h(F,D0,7,t.g[r].a.length,0,2),f=0;f<t.g[r].a.length;f++)t.p[r][f]=uK(t,r,N(t.g[r],f),n);for(n+=t.o[r].f,P=dr(t.c,r),e=0;e<P.f;e++)gt(V(P.B[e],Pe),0)||--n;}if(t.n=R1(o9,[nA,or],[74,26],0,[t.q,t.c.f.a.length],2),t.d=R1(it,[nA,Dt],[13,2],6,[t.q,t.c.f.a.length],2),t.e=h(rt,ft,6,t.q,16,1),L=new nu(),U=new V0(),i=0,A=0,t.q!=0){D=h(F,k,6,t.o.length,15,1);do{for(Q=U.a.length,0<Q?U.a=UA(U.a,0,0):0>Q&&(U.a+=q8(h(l9,a0,6,-Q,15,1))),r=0;r<t.c.f.a.length;r++)t.n[i][r]=_a(t,t.g,D,r),t.d[i][r]=me(new BA(t.n[i][r])),J(U,t.d[i][r]);t.e[i]=js(L,U.a)==-1,(!t.t||!t.e[i])&&++A,++i;}while(AJ(t,D)&&A<t.i);}}}function Hj(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m;for(t.i&&(Ii(t.c,e).a=null),D=0,f=null,c=A.o,n=1;n<c.q;n++)for(m=GD(c.C[n]),P=0;P<n;P++)t.u[n][P]||(T=m+GD(c.C[P]),U=w.Math.abs(A.k[n].a-A.k[P].a),U<T&&(L=w.Math.abs(A.k[n].b-A.k[P].b),L<T&&(s=w.Math.abs(A.k[n].c-A.k[P].c),s<T&&(Q=w.Math.sqrt(U*U+L*L+s*s),Q<T&&(g=(T-Q)/T,i=20*g*g,D+=i,t.i&&(oN(Ii(t.c,e),"a1:"+n+" f1:"+t.g[n]+" a2:"+P+" f2:"+t.g[P]+FV+(J9(),tr(Q,5))+" min:"+tr(T,5)),Ii(t.c,e).a==null&&(r=h(F,k,6,2,15,1),r[0]=n,r[1]=P,OS(Ii(t.c,e),r))),f==null&&(f=h(yt,h0,15,t.q.length,0,2)),y=t.g[n],l=t.g[P],y<l?(f[l]==null&&(f[l]=h(yt,wt,6,l,15,1)),f[l][y]+=i):(f[y]==null&&(f[y]=h(yt,wt,6,y,15,1)),f[y][l]+=i))))));return Av(e,D,f),D!=0;}function g$(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l;if(Q=v1(K1(e)),Q.length==0||(t.e=Q),K1(e),n=K1(e),n.startsWith(qy)&&(P=(Xt(13,n.length+1),n.substr(13)),OQ(P,true,t)))return  true;if(l=K1(e),i=new tu(),l!=null&&l.startsWith("M  V30 COUNTS")){if(y=v1((Xt(13,l.length+1),l.substr(13))),U=o8(y," "),s=c1(U[0],o1,It),L=c1(U[1],o1,It),s>0){if(l=K1(e),A1(iM,l))for(r=0;r<s;r++){f=new JA(),D=new fu(),D.a+=fM;do l=K1(e),D.a+=""+l,D.a+=$A;while(l!=null&&!l.startsWith(j6));mo(i,f,new nn(new b9(D.a))),mt(t.g,f),t.d=-1;}l=K1(e);}if(L>0&&(l=K1(e),A1(DM,l))){for(r=0;r<L;r++){f=new JA(),D=new fu(),D.a+=fM;do l=K1(e),D.a+=""+l,D.a+=$A;while(l!=null&&!l.startsWith(j6));mo(i,f,new nn(new b9(D.a))),mt(t.f,f),t.d=-1;}l=K1(e);}return  true;}return  false;}function Vj(t){var e,A,n,P,r,i,f;return i="",t.length==0?new oT(y4,l4):(f=v1(t),f.startsWith("at ")&&(f=(Xt(3,f.length+1),f.substr(3))),f=f.replace(/\[.*?\]/g,""),P=f.indexOf("("),P==-1?(P=f.indexOf("@"),P==-1?(i=f,f=""):(i=v1((Xt(P+1,f.length+1),f.substr(P+1))),f=v1((pt(0,P,f.length),f.substr(0,P))))):(e=f.indexOf(")",P),i=(pt(P+1,e,f.length),f.substr(P+1,e-(P+1))),f=v1((pt(0,P,f.length),f.substr(0,P)))),P=f.indexOf(k0(46)),P!=-1&&(f=(Xt(P+1,f.length+1),f.substr(P+1))),(f.length==0||A1(f,"Anonymous function"))&&(f=y4),r=i.lastIndexOf(k0(58)),A=Bx(i,k0(58),r-1),n=l4,r!=-1&&A!=-1&&(n=(pt(0,A,i.length),i.substr(0,A)),Tg((pt(A+1,r,i.length),i.substr(A+1,r-(A+1)))),Tg((Xt(r+1,i.length+1),i.substr(r+1)))),new oT(f,n));}function Ej(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c;for(l=false,n=0;n<t.L.g;n++)Q=null,Bu(t.L,n)?(L=x3(t.L,n),U=gT(t.L,n),Q=L==U?"["+L+"]":"["+L+":"+U+"]"):(ee(t.L,n)&AU)!=0?Q=(ee(t.L,n)&AU)==qA?"a":(ee(t.L,n)&384)==256?"!ar":"!a":(ee(t.L,n)&384)!=0&&(Q=(ee(t.L,n)&384)==256?"r":"!r"),s=(ee(t.L,n)&SP)>>17,s!=0&&(y=s==1?"8-11":s==2?">11":""+s,Q=(Q==null?"":Q.endsWith("r")?Q:Q+"r")+y),Q!=null&&(e=z(t.L,0,n),A=z(t.L,1,n),l||(t.Cb((t.X*2+1)/3|0),l=true),T=(Z1(t.R,kt(t.L,e))+Z1(t.R,kt(t.L,A)))/2,c=(X1(t.R,jt(t.L,e))+X1(t.R,jt(t.L,A)))/2,r=Z1(t.R,kt(t.L,A))-Z1(t.R,kt(t.L,e)),i=X1(t.R,jt(t.L,A))-X1(t.R,jt(t.L,e)),P=w.Math.sqrt(r*r+i*i),D=.6*t.vb(Q),f=.55*t.wb(),P!=0&&(r>0?HP(t,T+D*i/P,c-f*r/P,Q,true):HP(t,T-D*i/P,c+f*r/P,Q,true)));l&&t.Cb(t.X);}function Qi(t){var e,A,n,P,r,i,f,D,Q,U,L;for(ut(t,1),oG(t),Q=false,A=0;A<t.f;A++)if(t.C[A]==7&&t.s[A]==0){if(L=G1(t,A),L==4){for(U=0;U<t.j[A];U++)if(f=t.i[A][U],t.n[A][U]==1&&t.C[f]==8&&t.j[f]==1&&t.s[f]==0){Q=true,++t.s[A],--t.s[f];break;}}else if(L==5)for(U=0;U<t.j[A];U++){if(f=t.i[A][U],D=t.k[A][U],t.n[A][U]==2&&t.C[f]==8){Q=true,++t.s[A],--t.s[f],t.H[D]=1;break;}if(t.n[A][U]==3&&t.C[f]==7){Q=true,++t.s[A],--t.s[f],t.H[D]=2;break;}}}for(i=false,r=0;r<t.g;r++)for(U=0;U<2;U++)if(tA(t,t.D[U][r])){e=t.D[1-U][r],P=t.C[e],(P==3||P==11||P==19||P==37||P==55||P==87||(n=t.C[e],n==4||n==12||n==20||n==38||n==56||n==88))&&(dt(t,r)==1?(++t.s[e],--t.s[t.D[U][r]],t.H[r]=512,i=true):t.H[r]==16&&(t.H[r]=512,i=true));break;}return i&&(mf(t),Q=true),Q&&(t.T=0),Q;}function W5(t,e){var A,n,P,r,i,f;if(t.L.q!=0){for(ut(t.L,(t.G&256)!=0?63:(t.G&512)!=0?95:31),t.B=e,Pk(t),P=d$(t.L),r=false,t.p=h(F,k,6,t.L.q,15,1),A=0;A<t.L.q;A++)t.p[A]=ou(t.L,A),t.p[A]!=0&&(r=true),r0(t.L,A)&&(t.p[A]=128),Vg(t.L,A)&&(t.G&I1)==0&&(t.p[A]=256);for(W1(t,-10),MZ(t),BK(t),cW(t),tK(t),t.Cb(t.X),t.Ab(t.Y),W1(t,t.Q),em(t),t.U.a.length=0,t.$.a.length=0,(t.G&1)!=0&&(np(t,P),MF(t),Ej(t)),i=0;i<t.L.q;i++)UQ(t,i)?(W1(t,-3),zQ(t,i,P),W1(t,t.Q)):t.p[i]!=0?(W1(t,t.p[i]),zQ(t,i,P),W1(t,t.Q)):!r&&t.L.O!=1&&K(t.L,i)!=1&&K(t.L,i)!=6&&(t.G&re)==0&&MA(t.L,i)==null&&K(t.L,i)<Pl.length&&Pl[K(t.L,i)]!=0?(f=Pl[K(t.L,i)],bO(t,(n=t.M!=0?t.M:t.D!=0?t.D:-1,Gs(f,n))),zQ(t,i,P),W1(t,t.Q)):zQ(t,i,P);(t.G&1)==0&&(MF(t),Ej(t),np(t,P));}}function Sj(t,e,A,n,P,r){var i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C;for(c=h(F,k,6,n+1,15,1),g=h(F,k,6,r+1,15,1),m=r,D=$9(P[r-1]),D!=0?(qh(g,P,0,D),qh(c,A,0,D)):(sA(A,0,c,0,n),sA(P,0,g,0,r)),Q=g[m-1],L=e-1,s=n;L>=0;){if(U=0,c[s]==Q)U=-1;else if(v=O1(M1(V(c[s],h1),32),V(c[s-1],h1)),j=wZ(v,Q),U=zt(j),b=zt(q0(j,32)),U!=0){l=0,C=0,R=false,++U;do{if(--U,R)break;l=Un(V(U,h1),V(g[m-2],h1)),C=O1(M1(b,32),V(c[s-2],h1)),T=O1(V(b,h1),V(Q,h1)),$9(zt(DA(T,32)))<32?R=true:b=zt(T);}while(S1(Or(l,dV),Or(C,dV)));}if(U!=0&&(i=dX(c,s-m,g,m,U),i!=0))for(--U,f=0,y=0;y<m;y++)f=O1(f,O1(V(c[s-m+y],h1),V(g[y],h1))),c[s-m+y]=zt(f),f=DA(f,32);t[L]=U,--s,--L;}return D!=0?($k(g,m,c,0,D),g):(sA(c,0,g,0,r),c);}function d$(t){var e,A,n,P,r,i,f;for(ut(t,15),i=h(F,k,6,3,15,1),A=0;A<t.f;A++)(t.u[A]&Tn)!=0&&(f=(t.u[A]&m1)>>18,f!=0&&(i[f]=w.Math.max(i[f],(t.u[A]&m1)>>18!=1&&(t.u[A]&m1)>>18!=2?-1:(t.u[A]&RA)>>20)));for(P=0;P<t.g;P++)((t.F[P]&3)==1||(t.F[P]&3)==2)&&t.H[P]==1&&(f=(t.F[P]&768)>>8,f!=0&&(i[f]=w.Math.max(i[f],(t.F[P]&768)>>8!=1&&(t.F[P]&768)>>8!=2?-1:(t.F[P]&ln)>>10)));for(r=h(F,D0,7,3,0,2),r[1]=h(F,k,6,1+i[1],15,1),r[2]=h(F,k,6,1+i[2],15,1),e=0;e<t.f;e++)(t.u[e]&Tn)!=0&&(f=(t.u[e]&m1)>>18,f!=0&&++r[f][(t.u[e]&m1)>>18!=1&&(t.u[e]&m1)>>18!=2?-1:(t.u[e]&RA)>>20]);for(n=0;n<t.g;n++)((t.F[n]&3)==1||(t.F[n]&3)==2)&&t.H[n]==1&&(f=(t.F[n]&768)>>8,f!=0&&++r[f][(t.F[n]&768)>>8!=1&&(t.F[n]&768)>>8!=2?-1:(t.F[n]&ln)>>10]);return r;}function B$(t,e){var A,n,P,r;for(t.b&&bi(t.b),t.c&&bi(t.c),P=0,n=K1(e);n!=null&&n.startsWith(rU);){for(n=v1((Xt(7,n.length+1),n.substr(7)));n.endsWith("-");){if(A=K1(e),!A.startsWith(rU))return  false;n=v1(ju(UA(n,0,n.length-1),(Xt(7,A.length+1),A.substr(7))));}if(n.startsWith("BEGIN")){if(r=v1((Xt(6,n.length+1),n.substr(6))),r.startsWith("CTAB"))P=1;else if(r.startsWith("ATOM"))P=2;else if(r.startsWith("BOND"))P=3;else if(r.startsWith("SGROUP"))P=4;else if(r.startsWith("COLLECTION"))P=5;else return  false;}else if(n.startsWith("END"))P=0;else if(P==1)Zz(t,n);else if(P==2)Ha(t,n);else if(P==3)N$(t,n);else if(P==4)X$(t,n);else if(P==5)v$(t,n);else return  false;n=K1(e);}for(;n!=null&&!(n.startsWith(D9)||A1(n,PU));)n=K1(e);return  true;}function v$(t,e){var A,n,P,r,i,f;if(f=mG(e),f!=null){if(i=zX(e,f),e.startsWith("MDLV30/STEABS")){if(A1(f,R2))for(r=0;r<i.length;r++)He(t.j,ND(t,i[r]),0,-1);else for(P=0;P<i.length;P++)U8(t.j,oL(t,i[P]),0,-1);}else if(e.startsWith("MDLV30/STERAC")){if(n=c1(UA(e,13,ne(e,13)),o1,It),A1(f,R2))for(r=0;r<i.length;r++)He(t.j,ND(t,i[r]),1,n-1);else for(P=0;P<i.length;P++)U8(t.j,oL(t,i[P]),1,n-1);}else if(e.startsWith("MDLV30/STEREL")){if(n=c1(UA(e,13,ne(e,13)),o1,It),A1(f,R2))for(r=0;r<i.length;r++)He(t.j,ND(t,i[r]),2,n-1);else for(P=0;P<i.length;P++)U8(t.j,oL(t,i[P]),2,n-1);}else if(e.startsWith("MDLV30/HILITE"))if(A1(f,R2))for(P=0;P<i.length;P++)FD(t.j,ND(t,i[P]),448);else for(P=0;P<i.length;P++)A=oL(t,i[P]),FD(t.j,z(t.j,0,A),448),FD(t.j,z(t.j,1,A),448);}}function F$(t){var e,A,n,P,r,i,f,D,Q;if(!t.i)return  false;un(t.g,0),un(t.b,0),t.f=null,Q=false,A=-1,n=null,t.c=t.d==null?null:h(it,Dt,2,t.d.length,6,1),t.e=-1;do{try{if(D=K1(t.i),D==null)return un(t.g,0),!1;}catch(U){if(U=t0(U),Zt(U,75))return un(t.g,0),false;throw At(U);}if(Q)J(t.b,D),Oe(t.b,10);else if(D.startsWith(">"))Q=true,J(t.g,D9),Oe(t.g,10),J(t.b,D),Oe(t.b,10);else {J(t.g,D),Oe(t.g,10),D.startsWith(D9)&&(Q=true);continue;}if(t.d!=null)if(D.length==0)A=-1;else if(A==-1){if(n=aR(D),n!=null){for(A=-1,e=0;e<t.d.length;e++)if(A1(n,t.d[e])){A=e;break;}if(t.e==-1){for(r=GV,i=0,f=r.length;i<f;++i)if(P=r[i],A1(n,P)){t.e=A;break;}}}}else t.c[A]==null?t.c[A]=D:t.c[A]=ju(ju(t.c[A],$A),D);}while(!D.startsWith(PU));return  true;}function m$(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y;for(A=0;A<t.q;A++)y=Cn(t,A),y+WA(t,A,y,t.C[A])-G1(t,A)<=0&&!(t.s[A]==0&&(t.C[A]==5||(P=t.C[A],P==7||P==15||P==33)||(n=t.C[A],n==8||n==16||n==34||n==52||n==84)))&&(t.B[A]=V(t.B[A],-6145));if(t.S)return  false;for(i=false,e=0;e<t.f;e++)if(f=t.e[e]-t.j[e],f>0)for(P0(V(t.B[e],I1),0)&&(U=P0(V(t.B[e],rP),896)?3:P0(V(t.B[e],rP),384)?2:P0(V(t.B[e],128),128)?1:0,D=(y=Cn(t,e),y+WA(t,e,y,t.C[e])-G1(t,e)),t.s[e]==0&&P0(V(t.B[e],i9),0)&&t.C[e]!=6&&++D,L=f,L>3-U&&(L=3-U),L>D+f-U&&(L=D+f-U),L>0&&(s=U==0?0:M1(V(t.B[e],rP),L),s=Y(s,(L==3?7:f==2?3:1)<<7),t.B[e]=V(t.B[e],-1921),t.B[e]=Y(t.B[e],V(rP,s)))),Q=t.j[e];Q<t.e[e];Q++)r=t.k[e][Q],t.H[r]==1&&(t.C[t.i[e][Q]]=-1,t.H[r]=512,i=true);return i&&mf(t),i;}function qj(t,e){var A,n,P,r,i,f,D,Q,U,L;if((e&~t.T)!=0&&((t.T&1)==0&&(HR(t),tp(t),t.T|=1,t.K&&!GT(t)&&m$(t)&&(HR(t),tp(t),t.T|=1)),(e&~t.T)!=0)){if((t.T&-7)!=0){for(n=0;n<t.f;n++)t.u[n]&=-15369;for(r=0;r<t.g;r++)t.F[r]&=-705;if((e&4)==0){bR(t,1),t.T|=2;return;}for(bR(t,7),P=0;P<t.f;P++)for(U=0;U<t.j[P];U++)if(D=t.k[P][U],!(D<t.g&&Re(t.p,D)))for(f=t.i[P][U],L=0;L<t.j[f];L++)t.k[f][L]!=D&&t.n[f][L]>1&&(t.C[t.i[f][L]]==6?t.u[P]|=C0:!_e(t,t.k[f][L])&&tA(t,t.i[f][L])&&(t.u[P]|=ge));for(;;){for(Q=false,A=0;A<t.f;A++)if(t.o[A]>0&&(t.u[A]&ge)!=0&&!i0(t.p,A)){for(U=0;U<t.j[A];U++)if(t.n[A][U]>1)for(f=t.i[A][U],D=t.k[A][U],L=0;L<t.j[f];L++)t.k[f][L]!=D&&(i=t.i[f][L],(t.u[i]&ge)==0&&(t.u[i]|=ge,Q=true));}if(!Q)break;}}t.T|=6;}}function Ij(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g;for(ut(t,7),Q=0,P=0;P<t.g;P++)dt(t,P)==1&&!(P<t.g&&Re(t.p,P))&&e0(t,t.D[0][P])>1&&e0(t,t.D[1][P])>1&&(t.F[P]&64)==0&&!((t.F[P]&128)!=0&&(t.p&&P<t.g?yP(t.p,P):0)<=5)&&(e[P]=true,++Q);for(i=h(F,k,6,2,15,1),y=h(F,k,6,2,15,1),r=null,n=0;n<t.g;n++)if(e[n]&&(r==null||!r[n])){for(A=0,L=0;L<2;L++)for(i[L]=t.D[L][n],y[L]=t.D[1-L][n],T=y[L];t.o[i[L]]==2&&e0(t,i[L])==2&&t.C[i[L]]<10;){for(s=0;s<2;s++)if(f=t.i[i[L]][s],f!=y[L]){D=t.k[i[L]][s],e[D]&&dt(t,D)==1&&(e[D]=false,--Q),y[L]=i[L],i[L]=f,++A;break;}if(i[L]==T){A=0;break;}}A!=0&&(e[n]=false,--Q,e0(t,i[0])>1&&e0(t,i[1])>1&&(c=L5(t,y[0],i[0]),g=L5(t,y[1],i[1]),U=c<g?0:1,l=D1(t,y[U],i[U]),r==null&&(r=h(rt,ft,6,t.g,16,1)),r[l]=true,e[l]=true,++Q));}return Q;}function JQ(t,e,A){var n,P,r,i,f,D,Q,U;if(t.o[e]!=0)return  false;if(t.R.K){for(Q=0;Q<2;Q++)for(n=z(t.R,Q,e),U=0;U<Mt(t.R,n);U++)if(Qe(t.R,_(t.R,n,U)))return  false;}return dt(t.R,e)==1?HW(t,e,A):dt(t.R,e)!=2||_e(t.R,e)||(r=z(t.R,0,e),i=z(t.R,1,e),O(t.R,r)==1||O(t.R,i)==1)||O(t.R,r)>3||O(t.R,i)>3||a1(t.R,r)==2||a1(t.R,i)==2||(f=new gf(t.R,t.f,i,r),f.f&&A==1)||(D=new gf(t.R,t.f,r,i),D.f&&A==1)||f.f&&D.f?false:(A==3&&(f.f&&f.c&&(t.V[e]=true),D.f&&D.c&&(t.V[e]=true)),P=E3(t.R,e)?3:t.jb?J$(t,f,D):OG(f,D),A==1?t.o[e]=P:A==2&&(f.f&&(P==1?ue(t.e[f.b],t.f[r]):P==2&&ue(t.e[f.d],t.f[r])),D.f&&(P==1?ue(t.e[D.b],t.f[i]):P==2&&ue(t.e[D.d],t.f[i]))),true);}function k$(t){var e,A,n,P,r,i,f,D,Q,U,L;for(A=0,L=new Wt(t.g);L.a<L.c.a.length;)if(Q=t1(L),ut(Q,1),Q.K){for(e=0;e<Q.f;e++)if(gt(V(Q.B[e],Pe),0)){if(w.Math.abs(Q.w[e])!=0)return  false;}else ++A;}else A+=Q.f;for(D=new Wt(t.f);D.a<D.c.a.length;)if(i=t1(D),ut(i,1),i.K){for(e=0;e<i.f;e++)if(gt(V(i.B[e],Pe),0)){if(w.Math.abs(i.w[e])!=0)return  false;}else --A;}else A-=i.f;if(A!=0)return  false;for(r=ms(t),n=h(rt,ft,6,r+1,16,1),U=new Wt(t.g);U.a<U.c.a.length;)for(Q=t1(U),e=0;e<Q.f;e++)if(!Q.K||P0(V(Q.B[e],Pe),0)){if(P=w.Math.abs(Q.w[e]),n[P])return  false;n[P]=true;}for(f=new Wt(t.f);f.a<f.c.a.length;)for(i=t1(f),ut(i,1),e=0;e<i.f;e++)if(!i.K||P0(V(i.B[e],Pe),0)){if(P=w.Math.abs(i.w[e]),P>=r||!n[P])return  false;n[P]=false;}return  true;}function b$(t,e,A,n){var P,r,i,f,D,Q,U,L;for(f=t.e[n],D=f+1;D<t.A&&t.f[t.s[D]]==n;)++D;for(U=f;U<D;U++)A[U]=-1;for(i=f;;){if(L=t.u[i]==-1?t.H.f:De(t.H,t.G[t.u[i]]),++A[i],A[i]==L){if(A[i]=-1,i==f)break;--i,t.t[i]||(e[t.G[t.s[i]]]=false,t.G[t.s[i]]=-1);continue;}if(t.u[i]==-1)e[A[i]]||Py(t,A[i],t.s[i])&&(t.G[t.s[i]]=A[i],e[A[i]]=true,++i);else {if(_(t.H,t.G[t.u[i]],A[i])>=t.H.f)continue;r=_(t.H,t.G[t.u[i]],A[i]),t.t[i]?r==t.G[t.s[i]]&&Ys(t,Ot(t.H,t.G[t.u[i]],A[i]),t.v[i])&&++i:e[r]||Py(t,r,t.s[i])&&Ys(t,Ot(t.H,t.G[t.u[i]],A[i]),t.v[i])&&(e[r]=true,t.G[t.s[i]]=r,++i);}if(i==D){if(zj(t,n)&&pR(t,n)&&TR(t,e,n)){for(Q=f;Q<D;Q++)t.t[Q]||(P=t.s[Q],e[t.G[P]]=false,t.G[P]=-1);return  true;}--i,t.t[i]||(e[t.G[t.s[i]]]=false,t.G[t.s[i]]=-1);}}return  false;}function R$(t){var e,A,n,P,r,i,f;if(i=Gi(t.o),A=null,i.length!=0&&(n=i.indexOf(k0(64)),n!=-1&&(A=(pt(0,n,i.length),i.substr(0,n)),i=(Xt(n+1,i.length+1),i.substr(n+1)))),i.length!=0&&(e=SA(i,t.d.c),e!=0||A1(i,"?"))){if(P=0,Gi(t.p).length!=0)try{if(P=c1(Gi(t.p),o1,It),P<(Y1(),U9)[e]-18||P>U9[e]+12){CD(t.c,"Your mass is out of range!");return;}}catch(D){if(D=t0(D),Zt(D,40)){CD(t.c,"Your mass is not a number!");return;}else throw At(D);}if(f=-1,Gi(t.q).length!=0)try{if(f=c1(Gi(t.q),o1,It),f<0||f>15){CD(t.c,"Your valence is out of range!");return;}}catch(D){if(D=t0(D),Zt(D,40)){CD(t.c,"Your valence is not a number!");return;}else throw At(D);}r=B0(t.b)==1?32:B0(t.b)==2?48:B0(t.b)==3?16:0,Sx(t.d,e,P,f,r,A),t.a!=-1&&(Bf(t.e,t.a,e,P,f,r),u8(t.e,t.a,A)),t.f=true,Rr(t.c);}}function j$(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m;if(A&&t.eb==6)for(c=h(F,k,6,t.L.length,15,1),r=0;r<t.V.q;r++)s=t.M[r],zn(t.L[s],c[s],!r0(t.V,r)),++c[s];for(f=h(wl,A0,35,t.L.length,0,1),y=0;y<t.L.length;y++)t.eb==6&&(Ar(new Y8(A?4:0),t.L[y]),Lf(t.L[y])),D=new du(t.L[y]),SF(D,e,null,Q0|t.T),f[y]=D.v;for(m=1.8000000715255737*t.T,i=Pn(t.V,24*t.ab),n=(t.U&4)==0?0:t.eb==5?WH*VD(t.k):rh(N(t.I,0))*t.T/i,g=.5*m,l=0;l<=t.L.length&&((t.U&4)!=0&&l==t.Y&&(mT(N(t.I,0),g-m/2,Vr(t.k)/2,g-m/2+n,Vr(t.k)/2),g+=n),l!=t.L.length);l++)Q=g-f[l].c,U=.5*(Vr(t.k)-f[l].a)-f[l].d,CL(t.L[l],Q,U),g+=m+f[l].b;for(j5(t.G,e,new QA(0,0,VD(t.k),Vr(t.k)),Q0|t.T),T=h(F,k,6,t.L.length,15,1),P=0;P<t.V.q;P++)L=t.M[P],Be(t.V,P,kt(t.L[L],T[L])),Ie(t.V,P,jt(t.L[L],T[L])),++T[L];Lf(t.V);}function p$(t,e){var A,n,P,r,i,f,D,Q,U,L,s;for(f=new f1(),ut(e,1),Q=h(rt,ft,6,e.f,16,1),A=0;A<e.f;A++)if(t.f[A]&&(K(t.i,A)==7||K(t.i,A)==8||K(t.i,A)==16||K(t.i,A)==34||K(t.i,A)==52)){for(Q[A]=true,D=0;D<e.j[A];D++)if(n=e.i[A][D],r=e.k[A][D],L=e.n[A][D],e.o[n]!=0&&e.o[A]<L){for(Q[n]=true,mt(f,k1(r)),U=0;U<e.j[n];U++)P=e.i[n][U],Q[P]||(Q[P]=true,i=e.k[n][U],s=e.n[n][U],e.o[n]+2==L+s&&(mt(f,k1(i)),L>=s&&(e.o[P]<s?uQ(e,P)&&$s(t,e,P,true,false,Q,f):$s(t,e,P,true,true,Q,f)),s>=L&&uQ(e,A)&&$s(t,e,P,false,false,Q,f),t.f[P]&&(K(t.i,P)==5||K(t.i,P)==6||K(t.i,P)==7||K(t.i,P)==8||K(t.i,P)==16||K(t.i,P)==34||K(t.i,P)==52)&&e.o[P]<s&&(L<=2&&s>=2&&uQ(e,A)&&$m(t,e,r,i),L>=2&&s<=2&&uQ(e,P)&&$m(t,e,i,r)),LA(f,f.a.length-1)),Q[P]=false);LA(f,f.a.length-1),Q[n]=false;}Q[A]=false;}}function C$(t,e,A,n,P,r){var i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a;for(v=-1,C=0,j=0,p=0,c=0,g=0,m=0,x=0,a=0,C=0,U=0;U<t.d;U++)C+=n[U]*n[U];if(C=w.Math.sqrt(C),C>r)for(L=0;L<t.d;L++)n[L]*=r/C;for(j=0,s=0;s<t.d;s++)j+=n[s]*t.e[s];if(j>=0)return v;for(p=0,y=0;y<t.d;y++)S=w.Math.abs(n[y])/w.Math.max(w.Math.abs(e[y]),1),S>p&&(p=S);for(m=1e-7/p,c=1,T=0;T<1e3;){if(c<m){v=1;break;}for(l=0;l<t.d;l++)P[l]=e[l]+c*n[l];if(t.k=is(t,P),t.k-A<=LU*c*j)return 0;T==0?x=-j/(2*(t.k-A-j)):(R=t.k-A-c*j,b=a-A-g*j,i=(R/(c*c)-b/(g*g))/(c-g),f=(-g*R/(c*c)+c*b/(g*g))/(c-g),i==0?x=-j/(2*f):(D=f*f-3*i*j,D<0?x=.5*c:f<=0?x=(-f+w.Math.sqrt(D))/(3*i):x=-j/(f+w.Math.sqrt(D))),x>.5*c&&(x=.5*c)),g=c,a=t.k,c=w.Math.max(x,.1*c),++T;}for(Q=0;Q<t.d;Q++)P[Q]=e[Q];return v;}function M$(t){var e,A,n,P,r,i,f,D,Q,U,L;for(t._=h(q,I,6,t.R.f,15,1),e=0;e<t.R.f;e++)if(t.db[e]==1||t.db[e]==2){if(D=t.eb[e],ZT(t.R,e))for(f=0;f<O(t.R,e);f++){for(P=_(t.R,e,f),L=0,U=h(F,k,6,3,15,1),Q=0;Q<O(t.R,P);Q++)U[L]=_(t.R,P,Q),U[L]!=e&&++L;L==2&&t.f[U[0]]>t.f[U[1]]^t.H[U[0]]<t.H[U[1]]&&(D=!D);}else for(f=1;f<O(t.R,e);f++)for(Q=0;Q<f;Q++)r=_(t.R,e,f),i=_(t.R,e,Q),t.f[r]>t.f[i]&&(D=!D),t.H[r]<t.H[i]&&(D=!D);t._[e]=t.db[e]==1^D?1:2;}else t._[e]=t.db[e];for(t.j=h(q,I,6,t.R.g,15,1),A=0;A<t.R.g;A++)if(t.o[A]==1||t.o[A]==2){for(D=false,f=0;f<2;f++)if(n=z(t.R,f,A),O(t.R,n)==3){for(U=h(F,k,6,2,15,1),L=0,Q=0;Q<3;Q++)_(t.R,n,Q)!=z(t.R,1-f,A)&&(U[L++]=_(t.R,n,Q));t.f[U[0]]>t.f[U[1]]&&(D=!D),t.H[U[0]]<t.H[U[1]]&&(D=!D);}t.j[A]=t.o[A]==1^D?1:2;}else t.j[A]=t.o[A];}function H$(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R;for(e=eW(t),r=h(q,I,6,t.f.r,15,1),EW(t,r,e),P=0;P<t.f.r;P++)r[P]==2&&(qi(t.f,z(t.f,0,P))||qi(t.f,z(t.f,1,P)))&&(r[P]=3);for(y=0;y<t.d.a.length;y++){for(L=N(t.d,y),D=zb(L),g=L.c,c=new I5(L),T=-1,s=0;s<224&&D.a.length!=0;s++){if(Q=yQ(t.g,D.a.length),f=(ve(Q,D.a.length),D.a[Q]),i=MW(t,f[0],f[1]),A=h(F,k,6,i.length,15,1),n=0,s<32)for(l=1;l<i.length-1;l++)r[i[l]]==3&&(A[n++]=i[l]);else if(s<96)for(l=1;l<i.length-1;l++)r[i[l]]>=2&&(A[n++]=i[l]);else for(l=1;l<i.length-1;l++)r[i[l]]>=1&&(A[n++]=i[l]);if(n!=0){if(v=A[0],n>1)do v=A[yQ(t.g,n)];while(v==T);v!=T&&(T=v,Xj(L,v),D=zb(L),g>L.c&&(g=L.c,c=new I5(L)));}}q9(t.d,y,c),L=c,U=1;do{for(m=9999,l=0;l<L.e.length;l++)R=e[L.e[l]],R==U?Pa(L,l):R>U&&R<m&&(m=R);U=m;}while(m!=9999);}}function xj(t,e,A,n,P){var r,i;if(P.d=true,P.c=true,e[A]==35){for(++A,t.r=true,P.a=0,P.b=1;A<n&&Zn(e[A]&w1);)P.a=10*P.a+e[A]-48,++P.b,++A;if(P.a==0||P.a>=(Y1(),X0).length)throw At(new V1("SmilesParser: Atomic number out of range. position:"+(A-1)));return  true;}if(e[A]>=65&&e[A]<=90){if(P.b=e[A+1]>=97&&e[A+1]<=122?2:1,P.a=(Y1(),SA(q8(h2(e,A,(i=P.b,c0(),i))),321)),P.b==2&&P.a==0&&(P.b=1,P.a=SA(q8(h2(e,A,(r=P.b,r))),321)),P.d=false,P.a==0)throw At(new V1("SmilesParser: Unknown atom label. position:"+(A-1)));return  true;}return e[A]==65&&e[A+1]==115||e[A]==83&&e[A+1]==101?(P.b=2,P.a=(Y1(),SA(q8(h2(e,A,(r=P.b,c0(),r))),321)),P.c=false,true):e[A]==99||e[A]==110||e[A]==111||e[A]==112||e[A]==115?(P.b=1,P.a=(Y1(),SA(q8(h2(e,A,(r=P.b,c0(),r))),321)),P.c=false,true):false;}function V$(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m;for(A=-1,Q=false,y=Ve,e=z9(t.i,t.c),T=0;T<t.d.length;T++)t.d[T]<t.w[T].d.length-1&&(s=k3(e,T,t.d[T])/k3(e,T,t.d[T]+1),y>s&&(y=s,A=T));for(c=0;c<t.c.length;c++)t.c[c]<t.v[c].b.length-1&&(s=s3(t.v[c],t.c[c])/s3(t.v[c],t.c[c]+1),y>s&&(y=s,A=c,Q=true));if(A==-1){t.a=null;return;}for(r=1,f=0;f<t.d.length;f++)(Q||f!=A)&&(r*=t.d[f]+1);for(D=0;D<t.c.length;D++)(!Q||D!=A)&&(r*=t.c[D]+1);for(t.a=h(GE,k2,165,r,0,1),Q?++t.c[A]:++t.d[A],i=0;i<r;i++){for(l=i,m=h(F,k,6,t.d.length,15,1),L=0;L<t.d.length;L++)(Q||L!=A)&&(g=t.d[L]+1,g!=1&&(m[L]=l%g,l=l/g|0));for(P=h(F,k,6,t.c.length,15,1),U=0;U<t.c.length;U++)(!Q||U!=A)&&(n=t.c[U]+1,n!=1&&(P[U]=l%n,l=l/n|0));Q?P[A]=t.c[A]:m[A]=t.d[A],t.a[i]=OD(t,m,P);}wu(t.a,new vw()),t.b=-1;}function Nj(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C;if(!((t.F[e]&3)==0||(t.F[e]&3)==3||!fi(t,e))){for(b=-1,v=-1,R=-1,m=-1,P=0,L=0;L<2;L++)for(n=t.D[L][e],l=0;l<t.e[n];l++)f=t.k[n][l],f!=e&&dt(t,f)==1&&(i=t.i[n][l],j=CQ(t,f,i),P<j&&(P=j,v=i,b=f,R=n,m=t.D[1-L][e]));if(v!=-1){for(s=0;s<2;s++)for(l=0;l<t.e[t.D[s][e]];l++)f=t.k[t.D[s][e]][l],f!=e&&dt(t,f)==1&&(t.H[f]=1);for(t.D[1][b]!=v&&(t.D[0][b]=t.D[1][b],t.D[1][b]=v),D=It,y=0;y<t.j[R];y++)i=t.i[R][y],t.k[R][y]!=e&&D>i&&(D=i);for(c=h(F,k,6,2,15,1),g=0,U=0;U<t.j[m];U++)t.k[m][U]!=e&&(c[g++]=t.i[m][U]);r=kA(t.J[R].a,t.J[R].b,t.J[m].a,t.J[m].b),A=0,g==2?(c[0]>c[1]&&(C=c[0],c[0]=c[1],c[1]=C),Q=Je(r,Y0(t,m,c[0])),T=Je(r,Y0(t,m,c[1])),A=Q-T):A=Je(r,Y0(t,m,c[0])),A<0^(t.F[e]&3)==2^D==v?t.H[b]=257:t.H[b]=129;}}}function E$(t){var e,A,n;if(null.vd()||null.vd())p5(t,true);else if(null.vd())t.r&&wv();else if(null.vd())KI(t,null.vd());else if(null.vd())Lv(t);else if(!null.vd())if(null.vd())hQ(t),kL(t,w.Math.max(t.eb,1));else if(null.vd())xh(t,true,true);else if(null.vd())xh(t,false,true);else if(null.vd())xh(t,true,false);else if(null.vd())Iz(t);else if(null.vd())jU=!jU,jU&&hQ(t);else if(null.vd())v5(t,true);else if(null.vd())v5(t,false);else if(null.vd())xK(t);else if(null.vd())hT(t._,LV,sV);else if(null.vd()){if(null.vd(),e=c1(null.vd(),o1,It),A=c1(null.vd(),o1,It),r0(t.V,e))for(n=0;n<t.V.f;n++)r0(t.V,n)&&FD(t.V,n,A);else FD(t.V,e,A);}else null.vd()?(t.H=6,t.eb=w.Math.max(t.eb,1),n1(t.k)):null.vd()?(t.H=256,t.eb=w.Math.max(t.eb,1),n1(t.k)):null.vd()&&Wx(t,t.w==19?16:0);}function S$(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y,l,T;if(P=new uD(),mt(P.a,new We("cLogP Values are estimated applying an atom-type based increment system.",2)),mt(P.a,new We($H,2)),mt(P.a,new We(A4,2)),t){for(Qi(t),ut(t,7),f=0,n=new lP(),D=new Pu("#0.000"),e=0;e<t.f;e++)try{A=ny(t,e,6241),T=le(n,oQ(A)),T?ze(n,oQ(A),k1(T.a+1)):ze(n,oQ(A),k1(1));}catch(c){if(c=t0(c),Zt(c,19))++f;else throw At(c);}for(f!=0&&mt(P.a,new We("Warning: "+f+" atom type(s) could not be determined.",2)),l=(i=new N8(new x8(new w9(n).a).b),new g9(i));p9(l.a.a);)y=(r=Br(l.a),r.dd()),U=a9(Yf,y),(U<0?-1:U)!=-1?ZP(P,(s=y,XP(G9(n,s))+" * "+ng(D,K4[Q=a9(Yf,y),Q<0?-1:Q])+" AtomType: 0x"+Nh(y.a)),2):ZP(P,"Warning: For atom type 0x"+Nh(y.a)+" ("+(L=y,XP(G9(n,L)))+" times found) is no increment available.",2);}return P;}function Oj(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m;for(T=e.f,t.j=h(NA,a0,6,e.f,14,1),t.k=h(F,k,6,e.f,15,1),f=0;f<T;f++)t.j[f]=Or(V(Y(up(e,f),e.B[f]),C6),Vp),t.k[f]=e.C[f],(A&1)!=0&&(t.k[f]+=e.s[f]+16<<8),(A&2)!=0&&(t.k[f]+=e.A[f]<<16);for(t.B=h(NA,a0,6,e.f,14,1),g=(ut(e,7),e.p),l=0;l<g.j.a.length;l++){for(y=false,Q=N(g.k,l),U=0,L=Q.length;U<L;++U)if(s=Q[U],(e.G[s]&y8)!=0){y=true;break;}if(!y)for(m=N(g.k,l).length,P=N(g.j,l),r=0,i=P.length;r<i;++r)n=P[r],m==3?t.B[n]=Y(t.B[n],ir):m==4?t.B[n]=Y(t.B[n],fr):m==5?t.B[n]=Y(t.B[n],Dr):m==6?t.B[n]=Y(t.B[n],ur):m==7&&(t.B[n]=Y(t.B[n],Qr));}for(c=e.g,t.n=h(F,k,6,e.g,15,1),D=0;D<c;D++)t.n[D]=(Ob(e,D)|e.G[D])&6291967^6291840,(A&4)!=0?(t.n[D]&2)!=0&&(t.n[D]|=8):(A&8)!=0&&(t.n[D]&2)!=0&&D<e.g&&Re(e.p,D)&&(t.n[D]|=8);}function q$(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l;if(f=-1,P=bs(t,e),i=P==-1?XL(t,e):-1,A!=0){for(y=-1,U=0;U<t.V.f;U++)U!=P&&Ae(t.V,U)==A&&(!mP(t.V,e)||!r0(t.V,U))&&(D=VA(t.V,U),y<D&&(y=D));for(L=0;L<t.V.g;L++)L!=i&&cP(t.V,L)==A&&(!mP(t.V,e)||!mP(t.V,L))&&(D=$i(t.V,L),y<D&&(y=D));if((P==-1?cP(t.V,i):Ae(t.V,P))!=A)f=w.Math.min(y+1,31);else if(f=P==-1?$i(t.V,i):VA(t.V,P),mP(t.V,e)){for(l=true,s=0;s<t.V.f;s++)if(s!=P&&r0(t.V,s)&&Ae(t.V,s)==A&&VA(t.V,s)!=f){l=false;break;}for(Q=0;Q<t.V.g;Q++)if(Q!=i&&mP(t.V,Q)&&cP(t.V,Q)==A&&$i(t.V,Q)!=f){l=false;break;}l&&(f<=y?(++f,f==32&&(f=0)):f=0);}else f<=y?(++f,f==32&&(f=0)):f=0;}if(mP(t.V,e))for(Q=0;Q<t.V.g;Q++)mP(t.V,Q)&&Cr(t.V,Q)&&(n=bs(t,Q),r=XL(t,Q),n!=-1?He(t.V,n,A,f):r!=-1&&U8(t.V,r,A,f));else P!=-1?He(t.V,P,A,f):i!=-1&&U8(t.V,i,A,f);}function I$(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b;for(P=h(wl,A0,35,t.k.length,0,1),b=0,R=0,y=0;y<t.k.length;y++)L2(t.e[y],e,null,Q0),P[y]=t.e[y].v,b+=P[y].b,R=w.Math.max(R,P[y].a);for(f=h(wl,A0,35,t.a.length,0,1),v=0,m=0,l=0;l<t.a.length;l++)L2(t.b[l],e,null,65552),f[l]=t.b[l].v,v=w.Math.max(v,f[l].b),m+=f[l].a+12;if(n=w.Math.max(48,v+24),R=w.Math.max(R,24+2*m),A=-1,!t.g)t.g=new to(),mt(t.g,new KD()),A=0;else {for(T=0;T<t.g.a.length;T++)if(Zt(N(t.g,T),62)){A=T;break;}A==-1&&(A=t.g.a.length,mt(t.g,new KD()));}for(g=18,s=0;s<t.k.length;s++){if(s==t.n){for(mT(N(t.g,A),g-18,R/2,g-18+n,R/2),r=g+-6,i=.5*(R-12)-m,c=0;c<t.a.length;c++)Q=r+.5*(v-f[c].b)-f[c].c,L=i-f[c].d,qo(t.b[c],new z3(Q,L)),i+=12+f[c].a;g+=n;}D=g-P[s].c,U=.5*(R-P[s].a)-P[s].d,qo(t.e[s],new z3(D,U)),g+=36+P[s].b;}t.o=false;}function x$(t){var e,A,n,P,r,i,f,D,Q,U,L,s;for(ut(t.g,t.N),D=w.Math.max(t.g.f,t.g.g)+16,t.s=h(F,k,6,D,15,1),t.u=h(F,k,6,D,15,1),t.v=h(F,k,6,D,15,1),t.t=h(rt,ft,6,D+1,16,1),i=h(rt,ft,6,t.g.f,16,1),f=h(rt,ft,6,t.g.g,16,1),n=0,A=0;A<t.g.f;A++)if(!t.D[A]&&!i[A])for(t.s[n]=A,t.v[n]=-1,t.u[n]=-1,Q=n;n<=Q;){for(U=0;U<De(t.g,t.s[n]);U++)Q=A5(t,n,Q,U,i,f,-1);for(;t.t[++n];);}if(t.w=n,t.p!=0){for(Q=t.w-1,r=0;r<t.d;r++)for(n=0;n<=Q;){for(L=0;L<De(t.g,t.s[n]);L++)Q=A5(t,n,Q,L,i,f,r);for(;t.t[++n];);}for(e=0;e<t.g.f;e++)if(t.D[e]&&!i[e])for(t.s[n]=e,t.v[n]=-1,t.u[n]=-1,Q=n;n<=Q;){for(L=0;L<De(t.g,t.s[n]);L++)_(t.g,t.s[n],L)<t.g.f&&(Q=A5(t,n,Q,L,i,f,t.f[e]));for(;t.t[++n];);}for(t.e=h(F,k,6,t.d,15,1),s=0;s<t.d;s++)t.e[s]=-1;for(U=t.w;U<n;U++)P=t.f[t.s[U]],t.e[P]==-1&&(t.e[P]=U);}t.A=n;}function N$(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v;for(l=0,T=(D=ne(e,l),D==-1?e.length:D),r=c1((pt(l,T,e.length),e.substr(l,T-l)),o1,It),l=lA(e,T),T=(Q=ne(e,l),Q==-1?e.length:Q),i=c1((pt(l,T,e.length),e.substr(l,T-l)),o1,It),l=lA(e,T),T=(U=ne(e,l),U==-1?e.length:U),A=ND(t,c1((pt(l,T,e.length),e.substr(l,T-l)),o1,It)),l=lA(e,T),T=(L=ne(e,l),L==-1?e.length:L),n=ND(t,c1((pt(l,T,e.length),e.substr(l,T-l)),o1,It)),g=0,m=0;(l=lA(e,T))!=-1;)if(T=(f=ne(e,l),f==-1?e.length:f),c=(pt(l,T,e.length),e.substr(l,T-l)),y=c.indexOf(k0(61)),s=(pt(0,y,c.length),c.substr(0,y)),v=c1((Xt(y+1,c.length+1),c.substr(y+1)),o1,It),A1(s,"CFG"))switch(v){case 1:g=1;break;case 2:g=i==2?3:4;break;case 3:g=6;}else A1(s,"TOPO")&&(m=v);P=GR(t,A,n,i,g,m),P+1!=r&&(!t.c&&(t.c=new lP()),ze(t.c,k1(r),k1(P)));}function O$(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l;if(Q=v1(K1(e)),Q.length==0||(t.e=Q),K1(e),n=K1(e),n.startsWith(qy)&&(P=(Xt(13,n.length+1),n.substr(13)),OQ(P,true,t)))return  true;for(l=K1(e),y=c1(v1((pt(0,3,l.length),l.substr(0,3))),o1,It),L=c1(v1((pt(3,6,l.length),l.substr(3,3))),o1,It),f=new tu(),i=0;i<y;i++){if(l=K1(e),l==null||!l.startsWith("$MOL"))throw At(new V1(PM));s=new JA(),D=new fu();do l=K1(e),D.a+=""+l,D.a+=$A;while(l!=null&&!l.startsWith(D9));if(l==null)throw At(new V1(rM));mo(f,s,new nn(new b9(D.a))),mt(t.g,s),t.d=-1;}for(r=0;r<L;r++){if(l=K1(e),l==null||!l.startsWith("$MOL"))throw At(new V1(PM));U=new JA(),D=new fu();do l=K1(e),D.a+=""+l,D.a+=$A;while(l!=null&&!l.startsWith(D9));if(l==null)throw At(new V1(rM));mo(f,U,new nn(new b9(D.a))),mt(t.f,U),t.d=-1;}return  true;}function G$(t,e){i8();var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x;for(Nm(),l=h(rt,ft,6,e.r,16,1),Ij(e,l),i=0;i<e.g;i++)if(l[i]&&(S=h(F,k,6,4,15,1),p=new mh(),x=HF(e,i,S,p),x!=null&&!OX(S,t)&&(C=(b=ri(gn,x),b?bj(b):null),Q=(j=ri(gn,x),j?Os(j):null),g=(R=ri(gn,x),R?Zj(R):null),C==null&&(c=new r6(e,S),C=c.b,Q=c.a,g=c.c),C!=null))){if(n=null,v=0,(e.F[i]&64)==0){for(y=R1(rt,[h0,ft],[12,6],16,[2,e.q],2),D=h(F,k,6,2,15,1),L=0;L<2;L++)D[L]=SQ(e,p.e[L],p.b[L],y[L],null,null);for(v=D[0]<D[1]?0:1,n=h(F,k,6,D[v],15,1),s=0,A=0;A<e.q;A++)y[v][A]&&(n[s++]=A);}mt(t,new xL(C,Q,g,S,n,v));}for(r=0;r<e.g;r++)if(e.H[r]==1&&(e.F[r]&64)==0){for(L=0;L<2;L++)if(f=e.D[L][r],T=e0(e,f),U=e.e[f]-T,T==1&&U!=0){m=e.D[1-L][r],P=e.C[f],P>6&&e.o[m]==1?j_(e,f,m,U,t):e.o[m]!=2&&e.e[m]>1&&IW(e,f,m,U,t);break;}}}function J$(t,e,A){var n,P,r,i,f,D,Q;return r=h(yt,wt,6,3,15,1),r[0]=kt(t.R,A.a)-kt(t.R,e.a),r[1]=jt(t.R,A.a)-jt(t.R,e.a),r[2]=vA(t.R,A.a)-vA(t.R,e.a),D=h(yt,wt,6,3,15,1),D[0]=kt(t.R,e.b)-kt(t.R,e.a),D[1]=jt(t.R,e.b)-jt(t.R,e.a),D[2]=vA(t.R,e.b)-vA(t.R,e.a),Q=h(yt,wt,6,3,15,1),Q[0]=kt(t.R,A.b)-kt(t.R,A.a),Q[1]=jt(t.R,A.b)-jt(t.R,A.a),Q[2]=vA(t.R,A.b)-vA(t.R,A.a),i=h(yt,wt,6,3,15,1),i[0]=r[1]*D[2]-r[2]*D[1],i[1]=r[2]*D[0]-r[0]*D[2],i[2]=r[0]*D[1]-r[1]*D[0],f=h(yt,wt,6,3,15,1),f[0]=r[1]*i[2]-r[2]*i[1],f[1]=r[2]*i[0]-r[0]*i[2],f[2]=r[0]*i[1]-r[1]*i[0],n=(D[0]*f[0]+D[1]*f[1]+D[2]*f[2])/(w.Math.sqrt(D[0]*D[0]+D[1]*D[1]+D[2]*D[2])*w.Math.sqrt(f[0]*f[0]+f[1]*f[1]+f[2]*f[2])),P=(Q[0]*f[0]+Q[1]*f[1]+Q[2]*f[2])/(w.Math.sqrt(Q[0]*Q[0]+Q[1]*Q[1]+Q[2]*Q[2])*w.Math.sqrt(f[0]*f[0]+f[1]*f[1]+f[2]*f[2])),n<0^P<0?1:2;}function Gj(t,e,A,n){var P,r,i,f,D;D=n.a.length,t.f[e]!=0&&Oe(n,t.f[e]==1?47:92),t.j==1&&(P=ee(t.k,e)&127,P!=0&&((P&1)!=0&&t.f[e]==0&&(n.a+="-"),(P&2)!=0&&(n.a.length!=D&&(n.a+=","),n.a+="="),(P&4)!=0&&(n.a.length!=D&&(n.a+=","),n.a+="#"),(P&32)!=0&&(n.a.length!=D&&(n.a+=","),n.a+="$"),(P&64)!=0&&(n.a.length!=D&&(n.a+=","),n.a+="$"),(P&8)!=0&&(n.a.length!=D&&(n.a+=","),n.a+=":"),(P&16)!=0&&(n.a.length!=D&&(n.a+=","),J(n,_0(t.k,A)?"<-":"->")))),D==n.a.length&&(!_e(t.k,e)||(t.j&4)!=0)&&(r=l1(t.k,e)&127,r==1?vn(t.k,z(t.k,0,e))&&vn(t.k,z(t.k,1,e))&&(t.j&4)==0&&t.f[e]==0&&(n.a+="-"):r==2?n.a+="=":r==4?n.a+="#":r==32||r==64?n.a+="$":r==8?n.a+=":":r==16&&J(n,_0(t.k,A)?"<-":"->")),t.j==1&&(i=D==n.a.length?"":";",f=ee(t.k,e)&384,f==256?n.a+=i+"@":f==128&&(n.a+=i+"!@"));}function z$(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c;if(t.R.f==0){t.s="";return;}for(L=t.jb&t.b,c=t.jb?16:8,_3(t,true),Oe(t.u,L?35:33),Jt(t,t.jb?1:0,1),Jt(t,e?1:0,1),Jt(t,c>>1,4),l=0,D=1;D<t.R.f;D++)l=eR(t,t.B[D],t.F[D]==-1?-1:t.B[t.F[D]],l,A);if(L)for(Q=0;Q<t.R.f;Q++)for(n=t.B[Q],y=O(t.R,n);y<Mt(t.R,n);y++)l=eR(t,_(t.R,n,y),n,l,A);if(t.R.f>1&&l==0){t.s="";return;}for(i=1<<c,s=l/((i>>1)-1),T=l+.5*s,U=1;U<t.R.f;U++)mb(t,t.B[U],t.F[U]==-1?-1:t.B[t.F[U]],T,s,c,A);if(L)for(f=0;f<t.R.f;f++)for(n=t.B[f],y=O(t.R,n);y<Mt(t.R,n);y++)mb(t,_(t.R,n,y),n,T,s,c,A);e&&(r=t.jb?1.5:(Y1(),Y1(),wn),P=kR(t.R,L?t.R.q:t.R.f,L?t.R.r:t.R.g,r,A),Jt(t,w.Math.min(i-1,w.Math.max(0,vt(.5+w.Math.log10(P/.1)/w.Math.log10(2e3)*(i-1)))),c),Jt(t,Fh(A[t.B[0]].a/P,i),c),Jt(t,Fh(A[t.B[0]].b/P,i),c),t.jb&&Jt(t,Fh(A[t.B[0]].c/P,i),c)),t.s=ML(t);}function _5(t,e){var A,n,P,r,i,f,D,Q,U,L;for(P=Ju(e,0);P>0&&e[P-1]==45;)P=Ju(e,P+1);for(r=P==-1?-1:Ju(e,P+1);r>0&&e[r-1]==45;)r=Ju(e,r+1);if(r==-1)throw At(new V1("Missing one or both separators ('>')."));if(Ju(e,r+1)!=-1)throw At(new V1("Found more than 2 separators ('>')."));for(L=new P8(),U=0,n=0;n<e.length;){for(;n<e.length&&e[n]==46;)++n;if(n==e.length)break;for(Q=n,D=-1,i=0,A=n;A<e.length;A++){if(e[A]==40){++i;continue;}if(e[A]==41){if(--i<0)throw At(new V1("Found closing bracket without matching opening one."));continue;}if(i==0&&(e[A]==46&&(t.o||A+1<e.length&&e[A+1]==46)||e[A]==62&&(A==0||e[A-1]!=45))){D=A;break;}}if(D==-1&&(D=e.length),Q<D){if(f=new JA(),D6(t,f,e,Q,D,true,true),t.q==1&&t.p)return _5(new LQ(t.j|2),e);U==0?(mt(L.g,f),L.d=-1):U==1?mt(L.a,f):(mt(L.f,f),L.d=-1);}for(n=D;n<e.length&&e[n]==62;)++n,++U;}return L;}function $5(){$5=B1;var t,e,A;for(new nf(1,0),new nf(10,0),new nf(0,0),BE=h(vE,Ye,31,11,0,1),HU=h(l9,a0,6,100,15,1),ic=B(d(yt,1),wt,6,15,[1,5,25,125,625,3125,15625,78125,390625,1953125,9765625,48828125,244140625,1220703125,6103515625,30517578125,152587890625,762939453125,3814697265625,19073486328125,95367431640625,476837158203125,0x878678326eac9]),fc=h(F,k,6,ic.length,15,1),di=B(d(yt,1),wt,6,15,[1,10,100,1e3,nP,jy,1e6,1e7,1e8,Of,1e10,1e11,1e12,1e13,1e14,1e15,1e16]),dl=h(F,k,6,di.length,15,1),VU=h(vE,Ye,31,11,0,1),t=0;t<VU.length;t++)BE[t]=new nf(t,0),VU[t]=new nf(0,t),HU[t]=48;for(;t<HU.length;t++)HU[t]=48;for(A=0;A<fc.length;A++)fc[A]=vs(ic[A]);for(e=0;e<dl.length;e++)dl[e]=vs(di[e]);P9();}function Jj(t){var e,A,n,P,r,i;if(r='<svg id="'+hf(t.g!=null?t.g:"mol"+I2)+M0+'xmlns="http://www.w3.org/2000/svg" version="1.1" width="'+t.n+'px" height="'+t.f+'px" viewBox="0 0 '+t.n+" "+t.f+`">
`,i=t.i?"<style> #"+hf(t.g!=null?t.g:"mol"+I2)+" { pointer-events:none; } #"+hf(t.g!=null?t.g:"mol"+I2)+` .event  { pointer-events:all; } line { stroke-linecap:round; } polygon { stroke-linejoin:round; } </style>
`:'<g style="font-size:'+t.k+'px; fill-opacity:1; stroke-opacity:1; fill:black; stroke:black; font-weight:normal; text-rendering:optimizeLegibility; font-family:sans-serif; stroke-linejoin:round; stroke-linecap:round; stroke-dashoffset:0;">',r+="  ",r+=i,t.i){for(P=new Wt(t.b);P.a<P.c.a.length;)n=t1(P),Er(t,n);for(A=new Wt(t.a);A.a<A.c.a.length;)e=t1(A),Er(t,e);}return t.i||Er(t,"</g>"),r+t.c.a+"</svg>";}function Y$(t,e,A,n,P){var r,i,f,D,Q,U,L,s,y,l,T,c,g,m;if(s=h(rt,ft,6,t.g,16,1),s[P]=true,y=h(F,k,6,11,15,1),l=l2(t,y,n,e,10,null,s),l==-1)return  false;for(i=1;!yA(t.p,A,y[i]);)++i;if(r=l-i,f=y[i],m=N3(t.p,A),m==6&&r==2&&i==3&&HT(t,y[1])>=3){for(g=h3(t.p,A),L=0;L<6;L++)if(e==g[L]){if(c=WT(t.p,A,f==g[WT(t.p,A,L+2)]?L-2:L+2),T=g[c],U=t.u[T]&hn,(U==0?0:U==re?2:U==I1?3:4)>=3&&AR(t,y[1],T,2,null)==2)return  true;break;}}if(D=t.o[f]==1||f<t.f&&i0(t.p,f)||EP(t,f,false),Q=!D&&t.C[f]==7&&t.s[f]!=1,r==1)return !D&&!Q&&m<=4&&i<=3;switch(m){case 4:if(!D&&!Q&&i<=4)return  true;break;case 5:if(Q){if(i<=3)return  true;}else if(!D&&i<=4)return  true;break;case 6:if(r==2){if(D){if(i<=4)return  true;}else if(!Q&&i<=3)return  true;}else if(r==3){if(D){if(i<=6)return  true;}else if(i<=4)return  true;}break;case 7:if(r==3&&i<=3)return  true;}return  false;}function K$(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g;for(e=0;e<t.j.f;e++){for(i=0,f=false,Q=false,s=0;s<O(t.j,e)&&!f;s++)if(P=Ot(t.j,e,s),t.e[P]){for(++i,n=_(t.j,e,s),tA(t.j,n)&&(Q=true),T=0;T<O(t.j,n);T++)if(c=_(t.j,n,T),g=Ot(t.j,n,T),c!=e&&t.e[g]){f=true;break;}}if(i>=2&&!f){for(r=h(F,k,6,i,15,1),U=gQ(t.j,e),U==0&&(U=2),l=0,y=0;y<O(t.j,e);y++)P=Ot(t.j,e,y),t.e[P]&&(n=_(t.j,e,y),r[l++]=(A=K(t.j,n),((A==8?14+(O(t.j,n)==1?1:0):A==7?12+(O(t.j,n)==1?1:0):A==16?10+(O(t.j,n)==1?1:0):A==34?8+(O(t.j,n)==1?1:0):A==15?6+(O(t.j,n)==1?1:0):A==33?4+(O(t.j,n)==1?1:0):A==6?2+(O(t.j,n)==1?0:1):O(t.j,n)==1?0:1)<<16)+y));for(r.sort(Fe(u0.prototype.gd,u0,[])),t.b-=1+i,t.d[e]=false,D=w.Math.min(i-1,U),L=0;L<r.length;L++)n=_(t.j,e,r[L]&w1),P=Ot(t.j,e,r[L]&w1),t.d[n]=false,t.e[P]=false,--t.c,L<r.length-D?E0(t.j,n,Q?-1:1):w0(t.j,P,2);}}}function zj(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T;for(i=0,D=0;D<t.g.f;D++)if((t.f==null||t.f[D]==e)&&gt(V(o0(t.g,D),ge),0)){if(s=t.G[D],L=d0(t.g,D),l=d0(t.H,s),L==0||L==3)continue;if(l==0||l==3)return  false;if(Ae(t.g,D)==1){++i;continue;}if(Ae(t.H,s)==1)return  false;if(Ae(t.g,D)==2){++i;continue;}if(Ae(t.H,s)==2||B5(t,D)==(L==l))return  false;}if(i!=0){for(P=h(F,k,6,i,15,1),r=0,Q=0;Q<t.g.f;Q++)(t.f==null||t.f[Q]==e)&&gt(V(o0(t.g,Q),ge),0)&&(L=d0(t.g,Q),L!=0&&L!=3&&(P[r++]=VA(t.g,Q)<<24|Ae(t.g,Q)<<22|Q));for(P.sort(Fe(u0.prototype.gd,u0,[])),r=0;r<P.length;)for(U=P[r]&x0,y=t.G[U],A=P[r]&-4194304,n=B5(t,U)^d0(t.g,U)==d0(t.H,y),++r;r<P.length&&(P[r]&-4194304)==A;r++)if(f=P[r]&x0,s=t.G[f],Ae(t.H,s)!=Ae(t.H,y)||VA(t.H,s)!=VA(t.H,y)||(T=B5(t,f)^d0(t.g,f)==d0(t.H,s),T!=n))return  false;}return  true;}function X$(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v;if(s=0,y=(r=ne(e,s),r==-1?e.length:r),v=(pt(s,y,e.length),e.substr(s,y-s)),A1("DEFAULT",v)&&(s=lA(e,y),y=(i=ne(e,s),i==-1?e.length:i),v=(pt(s,y,e.length),e.substr(s,y-s)),v.startsWith("CLASS")&&(s=lA(e,y),y=(f=ne(e,s),f==-1?e.length:f),v=(pt(s,y,e.length),e.substr(s,y-s)),A1("-",v)&&(s=lA(e,y),y=(D=ne(e,s),D==-1?e.length:D),v=(pt(s,y,e.length),e.substr(s,y-s))))),c1(v,o1,It),s=lA(e,y),y=(Q=ne(e,s),Q==-1?e.length:Q),m=(pt(s,y,e.length),e.substr(s,y-s)),!!A1("DAT",m)){for(s=lA(e,y),y=(P=ne(e,s),P==-1?e.length:P),c1((pt(s,y,e.length),e.substr(s,y-s)),o1,It),g=new lP(),s=lA(e,y);s!=-1;)s=PZ(g,e,s);n=(T=R2,XP(G9(g,T))),L=(c="FIELDNAME",XP(G9(g,c))),U=(l="FIELDDATA",XP(G9(g,l))),!(!A1(by,L)||n==null||U==null)&&(A=o8(n," "),A.length==2&&u8(t.j,c1(A[1],o1,It)-1,U));}}function Yj(t,e,A,n){var P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a,E,X;if(v=t.f.k,P=N(t.e,A),X=P.a,L=e[t.a],c=xt(v,X)>0&&v.j[X]==v.e[X],T=CO(t.f.a,t.f.t[X]),!c&&!T)return i=v.i[X][2],v.C[i]==1&&(i=t.f.t[i],(A==0?i>X:t.f.t[v.i[X][1]]>i)&&(n=!n)),n;if(c&&(r=v.i[X][A],i=t.f.t[r],i>X&&(n=!n,v.C[r]==1&&(n=!n))),T){for(R=v.e[X],y=h(F,k,6,R-1,15,1),l=h(F,k,6,R-1,15,1),b=0,g=0,C=0;g<R;g++)i=v.i[X][g],i!=L&&(y[C]=i,Q=D1(v,X,i),x=xu(t.f.s,t.f.t[X]+"_"+t.f.t[i]),l[C++]=x==null?-1:Q,x!=null&&++b);if(c)y[0]<X&&(n=!n);else switch(b){case 1:if(xt(v,X)>0)break;m=l[0]>=0,s=y[m?0:1],j=y[m?1:0],j>X?s>X&&v.C[j]!=1&&(n=!n):s<X&&(n=!n);break;case 2:f=uv(t,l[0],X),D=uv(t,l[1],X),a=xu(t.f.s,X+"_"+t.f.t[f]),E=xu(t.f.s,X+"_"+t.f.t[D]),U=t.b,A==0?(S=a[1]<U?a[1]:a[0],p=E[1]<U?E[1]:E[0]):(S=a[0]<U?a[1]:a[0],p=E[0]<U?E[1]:E[0]),S<p!=f<D&&(n=!n);}}return n;}function Z$(t){var e,A,n,P,r,i,f,D,Q,U,L,s;for(r=0,U=0,i=0,f=0,D=0,Q=0,L=0,s=false,e=h(rt,ft,6,32,16,1),A=0;A<t.R.f;A++)t.db[A]!=0&&(++r,t.db[A]==3?++U:t.bb[A]==0?(++i,t.P&&UD(t.P,A)&&++f):t.bb[A]==2?t.ab[A]==0&&++Q:t.bb[A]==1&&(P=t.ab[A],e[P]||(++L,e[P]=true),t.ab[A]==0&&++D,t.P&&UD(t.P,A)&&(s=true)));for(n=0;n<t.R.g;n++)t.o[n]!=0&&l1(t.R,n)==1&&(++r,t.o[n]==3?++U:t.n[n]==0?(++i,t.P&&UD(t.P,z(t.R,0,n))&&UD(t.P,z(t.R,1,n))&&++f):t.n[n]==2?t.k[n]==0&&++Q:t.n[n]==1&&(P=t.k[n],e[P]||(++L,e[P]=true),t.k[n]==0&&++D,t.P&&UD(t.P,z(t.R,0,n))&&UD(t.P,z(t.R,1,n))&&(s=true)));if(r==0){t.R.I=Q0;return;}if(U!=0){t.R.I=0;return;}if(t.K){Gl(t.R,I0+(1<<L));return;}D+f==r&&!s?t.R.I=ly:i==r?t.R.I=T8:Q==r?t.R.I=327680:i==r-1&&D==1?t.R.I=yi:Gl(t.R,458752+(1<<L));}function W$(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C;if(t.j[e]!=2||t.n[e][0]!=2||t.n[e][1]!=2||t.j[t.i[e][0]]<2||t.j[t.i[e][1]]<2||t.o[t.i[e][0]]!=1||t.o[t.i[e][1]]!=1){ce(t,e,0,false);return;}for(b=-1,R=-1,v=-1,c=-1,r=0,L=0;L<2;L++)for(n=t.i[e][L],l=0;l<t.e[n];l++)i=t.i[n][l],i!=e&&(f=t.k[n][l],j=CQ(t,f,i),r<j&&(r=j,R=i,b=f,v=n,c=t.i[e][1-L]));if(R!=-1){for(s=0;s<2;s++)for(n=t.i[e][s],l=0;l<t.e[n];l++)i=t.i[n][l],f=t.k[n][l],i!=e&&t.D[0][f]==n&&(t.H[f]=1);for(t.D[1][b]!=R&&(t.D[0][b]=t.D[1][b],t.D[1][b]=R),D=It,y=0;y<t.j[v];y++)i=t.i[v][y],i!=e&&D>i&&(D=i);for(g=h(F,k,6,2,15,1),m=0,U=0;U<t.j[c];U++)i=t.i[c][U],i!=e&&(g[m++]=i);A=kA(t.J[e].a,t.J[e].b,t.J[c].a,t.J[c].b),P=0,m==2?(g[0]>g[1]&&(C=g[0],g[0]=g[1],g[1]=C),Q=Je(A,Y0(t,c,g[0])),T=Je(A,Y0(t,c,g[1])),P=Q-T):P=Je(A,Y0(t,c,g[0])),P<0^(t.u[e]&3)==1^D==R?t.H[b]=257:t.H[b]=129;}}function _$(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C;if(gt(t.v,0)&&(x1(),S1(E1(Date.now()),t.v)))return  false;for(y=e.a,m=0,i=1;i<y.length;i++)if(y[i]!=null)for(D=0;D<i;D++)y[i][D]!=0&&b3(t.B,i,D).length!=2&&(m+=y[i][D]);if(m>6)return  false;for(P=null,s=null,Q=null,A=Ve,l=e.b,r=1;r<y.length;r++)if(y[r]!=null){for(f=0;f<r;f++)if(y[r][f]>1&&b3(t.B,r,f).length==2){for(g=b3(t.B,r,f),R=h(F,k,6,2,15,1),L=0;L<2;L++)v=t.s[g[L]],R[L]=ed(e.c,v.a);for(C=h(F,k,6,2,15,1),T=-1;T<=1;T+=2)for(C[0]=T*8,c=-1;c<=1;c+=2){for(C[1]=c*8,n=y[r][f],b=1;b<=3;b++){for(P?WD(P,e.c):P=new cD(e.c),U=0;U<2;U++)jk(P,t.s[g[U]],R[U]+b*C[U]<<16>>16);if(j=aZ(t,P,t.q[r],t.q[f]),j<n-1){if(n=j,s?WD(s,P):s=new cD(P),n<1)break;}else break;}n<y[r][f]&&n<A&&(A=n,Q?WD(Q,s):Q=new cD(s));}}}return Q?(Hj(t,e,Q),e.b>=l?(Av(e,l,y),false):(WD(e.c,Q),true)):false;}function $$(t,e,A,n,P){var r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a,E;if(t.e.length==1)return 0;for(p=P+w.Math.sqrt(n),U=h(yt,wt,6,36,15,1),l=0;l<t.e.length;l++)r=on(e,A,t.a[l],t.b[l]),f=II(zt(E1(w.Math.round(r*36/F0)))),L=e-t.a[l],s=A-t.b[l],a=L*L+s*s,U[f]<a&&(U[f]=a);for(b=-1,R=-1,T=0;T<36;T++)U[T]=w.Math.sqrt(U[T]),b<U[T]&&(b=U[T],R=T);for(x=R-18<0?R-18+36:R-18>=36?R-18-36:R-18,c=0;c<=18;c++)U[x+c<0?x+c+36:x+c>=36?x+c-36:x+c]+=.01*c,U[x-c<0?x-c+36:x-c>=36?x-c-36:x-c]+=.01*c;for(E=h(yt,wt,6,9,15,1),D=h(yt,wt,6,9,15,1),g=1;g<9;g++)E[g]=w.Math.sin(g*OC),D[g]=w.Math.cos(g*OC);for(C=Ve,j=-1,i=0;i<36;i++)if(!(U[i]>=C)){for(v=U[i],y=1;y<9;y++){for(m=-1;m<=1&&(S=i+m*y<0?i+m*y+36:i+m*y>=36?i+m*y-36:i+m*y,!(!(U[S]*D[y]<=v)&&(Q=D[y]*w.Math.min(U[S],p/E[y]),v<Q&&(v=Q,C<=v))));m+=2);if(C<=v)break;}C>v&&(C=v,j=i);}return F0*j/36;}function Kj(t){for(var e,A,n,P,r;t.t.a.length!=0;)if(n=LA(t.t,0),t.I[n.b]==0&&t.B[n.a]==0)return n;for(;t.g>=0;){for(;t.g>=2&&t.c<t.j[t.g].length;){if(A=t.j[t.g][t.c],e=le(t.k[t.g],A),K(t.D,e[0][0])==6&&(n=ZR(t,e[0],e[1]),n))return n;++t.c;}for(;t.g>=2&&t.d<t.j[t.g].length;){if(A=t.j[t.g][t.d],e=le(t.k[t.g],A),K(t.D,e[0][0])!=6&&(n=ZR(t,e[0],e[1]),n))return n;++t.d;}for(;t.p&&t.g==0&&t.e<t.j[0].length;)if(A=t.j[0][t.e++],e=le(t.k[t.g],A),e[0].length==1&&e[1].length==1&&(n=Jk(t,e[0][0],e[1][0]),n))return n;for(;t.g==0&&t.f<t.j[t.g].length;)if(A=t.j[t.g][t.f++],e=le(t.k[t.g],A),e[0].length>=e[1].length&&ab(e[0],t.I,t.G,t.H,t.J)||e[1].length>=e[0].length&&ab(e[1],t.B,t.w,t.A,t.C)){for(r=0,P=0;r<e[0].length&&t.I[e[0][r]]!=0;)++r;for(;P<e[1].length&&t.B[e[1][P]]!=0;)++P;if(r<e[0].length&&P<e[1].length&&(n=Jk(t,e[0][r],e[1][P]),n))return n;}--t.g,t.c=0,t.d=0,t.e=0,t.f=0;}return null;}function EP(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T;if(t.C[e]!=7||t.j[e]==4)return  false;if(e<t.f&&i0(t.p,e)||t.o[e]!=0||gt(V(t.B[e],Ur),0))return  true;if(t.s[e]==1)return  false;for(D=0;D<t.j[e];D++)if(pr(t,t.k[e][D])==3)return  false;for(i=0,Q=0;Q<t.j[e];Q++)t.n[e][Q]==1&&(n=t.C[t.i[e][Q]],(n==8||n==9||n==17)&&++i);if(i==0){for(f=0;f<t.j[e];f++)if(P=t.i[e][f],t.o[P]!=0){if(P<t.f&&i0(t.p,P)){if((t.p&&P<t.f?iA(t.p,P):0)>=5){for(T=0,s=0;s<t.j[P];s++)l=t.i[P][s],l!=e&&e0(t,l)>=3&&++T;if(y=e0(t,e),T==2&&y>=2||T==1&&y==3)continue;}return !A||!Ss(t,e);}for(L=0;L<t.j[P];L++)if(t.n[P][L]==2||_e(t,t.k[P][L]))return !A||!Ss(t,e);}}if(i<2)for(f=0;f<t.j[e];f++){for(P=t.i[e][f],U=false,r=false,L=0;L<t.j[P];L++)t.i[P][L]!=e&&(t.n[P][L]!=1&&(t.C[t.i[P][L]]==7||t.C[t.i[P][L]]==8||t.C[t.i[P][L]]==16)&&(U=true),t.n[P][L]==1&&t.C[t.i[P][L]]==7&&(r=true));if(U&&(!r||i==0))return !A||!Ss(t,e);}return  false;}function a$(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j;for(n=h(yt,wt,6,2,15,1),Q=0;Q<2;Q++)t.c[Q]/=t.a[Q],t.d[Q]/=t.a[Q],n[Q]=$$(t.b[Q],t.c[Q],t.d[Q],t.b[1-Q].e.length,e);for(sf(t.b[0],t.c[0],t.d[0],bA-n[0]),sf(t.b[1],t.c[1],t.d[1],4.71238898038469-n[1]),j=Ve,b=k6,i=t.d[0]-t.d[1],U=0;U<t.b[1].b.length;U++)t.b[1].b[U]+=i,j>t.b[1].b[U]&&(j=t.b[1].b[U]),b<t.b[1].b[U]&&(b=t.b[1].b[U]);for(v=b-j+2*e,P=vt(w.Math.ceil(v)),j+=(v-P)/2-e,g=h(yt,wt,6,P,15,1),L=0;L<P;L++)g[L]=t.c[1]+e;for(s=0;s<t.b[1].b.length;s++)for(R=t.b[1].b[s]-j,m=vt(R-e),f=w.Math.min(vt(R+e),P-1),c=m;c<=f;c++)g[c]>t.b[1].a[s]&&(g[c]=t.b[1].a[s]);for(y=0;y<P;y++)g[y]-=e;for(r=t.c[0]-t.c[1],l=0;l<t.b[0].a.length;l++)T=vt(t.b[0].b[l]-j),T>=0&&T<g.length&&r<t.b[0].a[l]-g[T]&&(r=t.b[0].a[l]-g[T]);for(D=0;D<t.b[1].a.length;D++)t.b[1].a[D]+=r;A&&(sf(t.b[0],t.c[0],t.d[0],n[0]-bA),sf(t.b[1],t.c[0],t.d[0],n[0]-bA));}function Xj(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j;if(t.d==null&&(t.d=h(F,D0,7,t.j.r,0,2)),t.d[e]==null){for(y=h(F,k,6,t.e.length,15,1),v=h(rt,ft,6,t.j.q,16,1),P=z(t.j,0,e),r=z(t.j,1,e),y[0]=P,v[P]=true,U=0,l=0;U<=l;){for(c=0;c<Mt(t.j,y[U]);c++)i=_(t.j,y[U],c),!v[i]&&i!=r&&(y[++l]=i,v[i]=true);if(U==l)break;++U;}if(s=l+1>(t.e.length/2|0),t.i){for(D=false,f=false,c=0;c<t.e.length;c++)n=t.e[c],z0(t.j,n)&&n!=P&&n!=r&&(v[t.e[c]]?D=true:f=true);D!=f&&(s=D);}for(Q=2,t.d[e]=h(F,k,6,s?t.e.length-l:l+2,15,1),g=0;g<t.e.length;g++)t.e[g]==P?t.d[e][s?0:1]=g:t.e[g]==r?t.d[e][s?1:0]=g:s^v[t.e[g]]&&(t.d[e][Q++]=g);}for(b=t.a[t.d[e][0]],j=t.b[t.d[e][0]],R=on(b,j,t.a[t.d[e][1]],t.b[t.d[e][1]]),T=2;T<t.d[e].length;T++)m=t.d[e][T],L=w.Math.sqrt((t.a[m]-b)*(t.a[m]-b)+(t.b[m]-j)*(t.b[m]-j)),A=2*R-on(b,j,t.a[m],t.b[m]),t.a[m]=b+L*w.Math.sin(A),t.b[m]=j+L*w.Math.cos(A);}function Zj(t){var e,A,n,P,r,i,f,D,Q,U;switch(e=null,U=t.d.length,t.e){case 1:for(e=R1(Yt,[te,at],[16,6],15,[2*U,2],2),n=0;n<U;n++)e[n][0]=t.d[n][0],e[n][1]=t.d[n][1],e[U+n][0]=180+t.d[n][0]<<16>>16,e[U+n][1]=180+t.d[n][1]<<16>>16;return e;case 2:for(P=t.a[0]==0?1:0,r=t.a[U-1]==180?U-1:U,Q=r-P,e=R1(Yt,[te,at],[16,6],15,[U+Q,2],2),i=0;i<U;i++)e[i][0]=t.d[i][0],e[i][1]=t.d[i][1];for(f=P;f<r;f++)e[e.length-1-f+P][0]=360-t.d[f][1]<<16>>16,e[e.length-1-f+P][1]=360-t.d[f][0]<<16>>16;return e;case 3:for(P=t.a[0]==0?1:0,r=t.a[U-1]==90?U-1:U,Q=r-P,e=R1(Yt,[te,at],[16,6],15,[2*U+2*Q,2],2),D=0;D<U;D++)e[D][0]=t.d[D][0],e[D][1]=t.d[D][1],e[U+Q+D][0]=180+t.d[D][0]<<16>>16,e[U+Q+D][1]=180+t.d[D][1]<<16>>16;for(A=P;A<r;A++)e[U+Q-1-A+P][0]=180-t.d[A][1]<<16>>16,e[U+Q-1-A+P][1]=180-t.d[A][0]<<16>>16,e[e.length-1-A+P][0]=360-t.d[A][1]<<16>>16,e[e.length-1-A+P][1]=360-t.d[A][0]<<16>>16;return e;default:return t.d;}}function Wj(t,e,A,n){var P,r,i,f,D,Q;if(i=ZA(t.V,e,A),f=-1,n&&t.X==8&&i!=-1&&(!RZ(t,t.e,i)||C1(t.V,t.e)!=0&&C1(t.V,t.e)==C1(t.V,i)&&!Bn(t.V,t.e)||DG(t,t.e,i))&&(i=-1),i!=-1&&(t.w==101||t.w==103||t.w==102?(f=pQ(t.V,i),i=-1):t.w==19&&i>=t.V.f&&(i=-1)),f==-1&&i==-1&&t.w!=22&&t.w!=19&&t.w!=3&&t.w!=10&&t.w!=27&&t.w!=16&&t.w!=11&&t.w!=12&&t.w!=13&&t.w!=28&&t.w!=29&&t.w!=30&&t.w!=14&&t.w!=31&&t.w!=15&&t.w!=32&&t.w!=33&&(f=df(t.V,e,A)),f!=-1&&(t.w==101||t.w==103||t.w==102)&&!(Cr(t.V,f)&&(bs(t,f)!=-1||XL(t,f)!=-1))&&(f=-1),P=t.v,!n&&t.I&&(P=null,i==-1&&f==-1&&(t.w==2||t.w==4||t.w==21))){for(Q=new Wt(t.I);Q.a<Q.c.a.length;)if(D=t1(Q),(t.w==2||t.w==4&&!Zt(D,62)||t.w==21&&Zt(D,93))&&D.Eb(e,A)){P=D,t.v&&t.v!=D&&t.v.Fb();break;}}return r=t.t!=i||t.u!=f||t.v!=P||!!P,t.t!=i&&(t.t!=-1&&t.i.a.length!=0?as(t,t.i.a):(t.t=i,un(t.i,0),N1(t,new q1(t,4,true)))),t.u!=f&&(t.u=f,N1(t,new q1(t,8,true))),t.v=P,r;}function ty(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R;for(ut(t,7),U=new zA(t.f,t.g),Q=R1(q,[nA,Ny],[204,58],0,[t.f,8],2),n=h(F,k,6,t.f,15,1),P=h(F,k,6,t.f,15,1),r=h(rt,ft,6,t.f,16,1),v=0;v<t.f;v++)if(Q[v]=R1(q,[Ny,w8],[58,10],0,[t.j[v],8],2),!(e&&t.C[v]!=6))for(D=0;D<t.j[v];D++){for(L=t.i[v][D],Hu(r,r.length),g=1,c=2,t.u[L]|=512,R=0;R<8&&c<t.f;R++){if(R==0)n[0]=L,r[L]=true,n[1]=v,r[v]=true;else {for(m=c,y=g;y<c;y++)for(A=n[y],l=0;l<t.j[A];l++)f=t.i[A][l],!r[f]&&(!e||t.C[f]==6)&&(r[f]=true,n[m++]=f);if(m==c){if(!e)for(s=R;s<8;s++)Q[v][D][s]=Q[v][D][s-1];break;}g=c,c=m;}if(R==0)Q[v][D][R]=h(q,I,6,2,15,1),Q[v][D][R][0]=t.C[v]<<24>>24,Q[v][D][R][1]=t.A[v]<<24>>24;else {for(ui(t,U,r,true,P),E0(U,P[L],0),Ne(U,P[L],0),A=0;A<t.f;A++)P[A]!=-1&&t.j[A]>U.j[P[A]]&&T1(U,P[A],C0,true);if(e)for(i=0;i<U.g;i++)U.H[i]=1,U.T=0;Q[v][D][R]=KA((T=me(new EA(U,16)),c0(),T));}}t.u[L]&=-513;}return Q;}function ta(t,e){Is();var A,n,P,r,i,f,D,Q,U,L,s,y,l,T;if(D=G(t,0)<0,D&&(t=p0(t)),G(t,0)==0)switch(e){case 0:return "0";case 1:return "0.0";case 2:return "0.00";case 3:return "0.000";case 4:return ky;case 5:return "0.00000";case 6:return "0.000000";default:return y=new V0(),e<0?y.a+="0E+":y.a+="0E",y.a+=e==o1?"2147483648":""+-e,y.a;}U=18,L=h(l9,a0,6,U+1,15,1),A=U,T=t;do Q=T,T=Mn(T,10),L[--A]=zt(O1(48,l0(Q,Un(T,10))))&w1;while(G(T,0)!=0);if(P=l0(l0(l0(U,A),e),1),e==0)return D&&(L[--A]=45),tP(L,A,U-A);if(e>0&&G(P,-6)>=0){if(G(P,0)>=0){for(r=A+zt(P),f=U-1;f>=r;f--)L[f+1]=L[f];return L[++r]=46,D&&(L[--A]=45),tP(L,A,U-A+1);}for(i=2;Hi(i,O1(p0(P),1));i++)L[--A]=48;return L[--A]=46,L[--A]=48,D&&(L[--A]=45),tP(L,A,U-A);}return l=A+1,n=U,s=new k9(),D&&(s.a+="-"),n-l>=1?(Oe(s,L[A]),s.a+=".",s.a+=tP(L,A+1,U-A-1)):s.a+=tP(L,A,U-A),s.a+="E",G(P,0)>0&&(s.a+="+"),s.a+=""+Te(P),s.a;}function ea(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g;if(e==0||(e&A)!=0){TQ(t);return;}for(c=-1,g=0,r=1<<t.e.length-2,P=1<<t.e.length-1,f=1,i=2,Q=0;Q<t.e.length;Q++)(A&(P|f))==0&&(e&(P|f))!=0&&(e&r)==0&&(l=0,(A&r)!=0&&(l+=4),(e&P)!=0&&(l+=2),(e&f)!=0&&(l+=1),g<l&&(g=l,c=Q)),r=P,P=f,f=i,i=1<<(Q+2<t.e.length?Q+2:Q+2-t.e.length);if(c==-1){TQ(t);return;}for(s=0,s|=1<<c,y=2;y<t.e.length-1;){if(L=c+y<t.e.length?c+y:c+y-t.e.length,P=1<<(L==0?t.e.length-1:L-1),(A&P)!=0){++y;continue;}if(f=1<<L,(e&P)!=0){if((A&f)!=0){TQ(t);return;}s|=f,y+=2;continue;}if(i=1<<(L+1<t.e.length?L+1:L+1-t.e.length),(e&f)!=0&&(A&i)!=0){s|=f,y+=3;continue;}++y;}if(s==0){TQ(t);return;}for(n=Q1-Q1*(t.e.length-2)/t.e.length,U=1;U<t.e.length;U++)t.a[U]=t.a[U-1]+w.Math.sin(n*(U-1)),t.b[U]=t.b[U-1]+w.Math.cos(n*(U-1));for(f=1,T=2*w.Math.sin(n/2),D=0;D<t.e.length;D++)(s&f)!=0&&(t.a[D]+=T*w.Math.cos(n*(D-.5)),t.b[D]-=T*w.Math.sin(n*(D-.5))),f<<=1;}function _j(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T;for(t.v=P0(t.w,0)?0:(x1(),O1(E1(Date.now()),t.w)),JS(t.r,t.v),t.t=null,ut(e,1),P=0;P<e.f;P++)if(G1(e,P)>(T=Cn(e,P),T+WA(e,P,T,e.C[P])))return  false;if(XX(e),e.S=true,i=null,U=null,f=null,L=null,(e.T&8)!=0){for(i=h(F,k,6,e.f,15,1),f=h(rt,ft,6,e.f,16,1),r=0;r<e.f;r++)i[r]=e.u[r]&3,f[r]=(e.u[r]&4)!=0;for(U=h(F,k,6,e.g,15,1),L=h(rt,ft,6,e.g,16,1),Q=0;Q<e.g;Q++)U[Q]=e.F[Q]&3,L[Q]=(e.F[Q]&4)!=0;}if(ut(e,63),i!=null){for(r=0;r<e.f;r++)ce(e,r,i[r],f[r]);for(Q=0;Q<e.g;Q++)A8(e,Q,U[Q],L[Q]);}for(t.k=e,t.a=0,t.p=0,t.A=null,t.s=null,t.e=h(F,k,6,e.q,15,1),t.d=n9(e,t.e,false,true),t.f=h(F,k,6,t.d,15,1),n=0;n<e.q;n++)++t.f[t.e[n]];if(y=h(rt,ft,6,e.r,16,1),s=Ij(e,y),s==0)return  true;if(!oY(t,y))return  false;for(t.s=h(gPt,A0,176,s,0,1),l=0,D=0;D<e.g;D++)y[D]&&(t.s[l++]=new gj(e,D,t.g,t.e,t.f[t.e[e.D[0][D]]],t.q,A));return wu(t.s,new mw()),t.i&&(t.c=new D7()),TW(t),true;}function Aa(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a;for(fz(),D=new jA(),lK(D,e),c=D.j,L=D.d,ut(c,1),ut(L,1),R=new Ni(),T=new Ni(),Dn(R,c),Dn(T,L),t.c=o1,i=null,r=null,P=0,p=0,t.a=new V0(),A=new JA(),j=hl,C=0,S=j.length;C<S&&(b=j[C],p++!=t.b);++C)if(Ln(R,b.g),VS(R,b.i),sn(R,6,8)!=0&&(Ln(T,b.f),sn(T,2,8)!=0&&R.F.a.length<=512)){for(f=-1e4,l=N(T.F,0),v=new Wt(R.F);v.a<v.c.a.length&&(m=t1(v),!(p++>=t.b));)uf(c,A),Q=bZ(b,A,m),a=sX(b,c.f,m,L.f,l),ut(A,1),n=h(F,k,6,A.f,15,1),y=h(F,k,6,L.f,15,1),nj(D,A,L,n,y,a)&&(x=D.q-b.e,f<x&&(f=x),t.c<x&&(t.c=x,i=oK(n,y,Q,c.f),r=y,P=D.b));U=D.a<=1?"":iV+D.a+")",J(t.a,b.d+(b.b?"_S":b.j.length==0?"_L":b.n.a.length==0?"_I":"_U")+(J9(),tr(f,5))+U+$A);}return g=h(F,k,6,c.f,15,1),s=h(F,k,6,L.f,15,1),nj(D,c,L,g,s,null)&&(x=D.q,t.c<=x&&(t.c=x,i=g,r=s,P=D.b),U=D.a<=1?"":iV+D.a+")",J(t.a,(J9(),"no rule:"+tr(x,5)+U+$A))),t.c==o1?false:(hZ(D,e,i,r,P),true);}function na(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x;for(r=false,S=On(t.d),m=0;m<S.j.a.length;m++)if(C=N(S.j,m),C.length==6&&!S.f[m]){for(y=true,R=N(S.k,m),b=0,j=R.length;b<j;++b)if(v=R[b],dt(t.d,v)!=1||G8(t.d,v)){y=false;break;}if(y){for(i=new Nn(),T=new Nn(),D=R1(yt,[h0,wt],[15,6],15,[6,3],2),V5(e,C,i,T,D),Q=h(yt,wt,6,C.length,15,1),p=0,L=0;L<C.length;L++)Q[L]=-(T.a*D[L][0]+T.b*D[L][1]+T.c*D[L][2]),Q[L]<0^(L&1)==1&&++p;if(p!=0&&p!=6){for(U=0;U<C.length;U++)if(Q[U]<0^(U&1)==1^p>=3){if(c=h(F,k,6,2,15,1),c[0]=C[U==0?5:U-1],c[1]=C[U==5?0:U+1],g=e.k[C[U]],n=ti(TO(z8(e.k[C[U]],i),T)),A=.6+w.Math.asin(w.Math.abs(Q[U])/w.Math.sqrt((i.a-g.a)*(i.a-g.a)+(i.b-g.b)*(i.b-g.b)+(i.c-g.c)*(i.c-g.c))),x=Q[U]<0?A:-A,P=zN(new vu(g),i),s=false,O(t.d,C[U])>2){for(l=0;l<O(t.d,C[U]);l++)if(f=_(t.d,C[U],l),f!=c[0]&&f!=c[1]&&fA(t.d,Ot(t.d,C[U],l))){s=true;break;}}s||rZ(e,C[U],c,P,n,x);}r=true;}}}return r&&(po(e),D5(e,t.j)),r;}function Pa(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b;for(l=t.a[e],m=t.b[e],r=h(li,A0,41,4,0,1),U=0,L=0;L<t.f.length&&!(U>=4);L++)if(!(e==t.g[z(t.j,0,t.f[L])]||e==t.g[z(t.j,1,t.f[L])])){if(T=t.a[t.g[z(t.j,0,t.f[L])]],v=t.b[t.g[z(t.j,0,t.f[L])]],c=t.a[t.g[z(t.j,1,t.f[L])]],R=t.b[t.g[z(t.j,1,t.f[L])]],f=w.Math.sqrt((T-l)*(T-l)+(v-m)*(v-m)),D=w.Math.sqrt((c-l)*(c-l)+(R-m)*(R-m)),P=w.Math.sqrt((c-T)*(c-T)+(R-v)*(R-v)),f<P&&D<P){T==c?(i=w.Math.abs(l-T),i<.5&&(r[U++]=new KP(on(T,m,l,m),(.5-i)/2))):v==R?(i=w.Math.abs(m-v),i<.5&&(r[U++]=new KP(on(l,v,l,m),(.5-i)/2))):(s=(R-v)/(c-T),y=-1/s,A=v-s*T,n=m-y*l,g=(n-A)/(s-y),b=s*g+A,i=w.Math.sqrt((g-l)*(g-l)+(b-m)*(b-m)),i<.5&&(r[U++]=new KP(on(g,b,l,m),(.5-i)/2)));continue;}if(f<.5){r[U++]=new KP(on(T,v,l,m),(.5-f)/2);continue;}if(D<.5){r[U++]=new KP(on(c,R,l,m),(.5-D)/2);continue;}}U>0&&(Q=f2(r,U),t.a[e]+=Q.b*w.Math.sin(Q.a),t.b[e]+=Q.b*w.Math.cos(Q.a));}function $j(t){var e,A,n,P,r,i,f,D,Q;for(A=B(d(F,1),k,6,15,[8,-2,8,-2,8]),Q=B(d(F,1),k,6,15,[8,-2,4,-2,12,-2,4,-2,12,-2,4,-2,12,-2,8]),_o(t.c,A,Q),t.o=Gu(t.c,1,1),JP(t.o,t),f0(t.c,oe(t.c,"Atom Label:"),1,1),f0(t.c,t.o,3,1),he(t.c,oe(t.c,"(examples: 'D', 'Li', 'Cys', 'R12', 'R3@C')"),1,3,3,3),t.p=Gu(t.c,1,1),JP(t.p,t),f0(t.c,oe(t.c,"Atom Mass:"),1,5),f0(t.c,t.p,3,5),he(t.c,oe(t.c,"(empty for natural abundance)"),1,7,3,7),t.q=Gu(t.c,1,1),JP(t.q,t),f0(t.c,oe(t.c,"Abnormal Valence:"),1,9),f0(t.c,t.q,3,9),he(t.c,oe(t.c,"(empty for default valence)"),1,11,3,11),t.a==-1?(n=(Y1(),X0)[t.k],O8(t.o,t.n==null?n:t.n+"@"+n),t.g!=0&&O8(t.p,""+t.g),t.j!=-1&&O8(t.q,""+t.j)):(n=Ci(t.e,t.a),e=_n(t.e,t.a),O8(t.o,e==null?n:e+"@"+n),ye(t.e,t.a)!=0&&O8(t.p,""+ye(t.e,t.a)),br(t.e,t.a)!=-1&&O8(t.q,""+br(t.e,t.a))),t.b=oA(t.c),r=ZV,i=0,f=r.length;i<f;++i)P=r[i],Gt(t.b,P);D=t.a==-1?t.i:FA(t.e,t.a),_t(t.b,D==32?1:D==48?2:D==16?3:0),f0(t.c,oe(t.c,"Radical State:"),1,13),f0(t.c,t.b,3,13);}function ra(t,e,A){var n,P,r,i,f,D,Q,U,L,s;for(s=B(d(F,2),D0,7,0,[B(d(F,1),k,6,15,[2,1,2,1]),B(d(F,1),k,6,15,[1,2,2,1]),B(d(F,1),k,6,15,[1,1,2,2]),B(d(F,1),k,6,15,[2,1,1,2]),B(d(F,1),k,6,15,[2,2,1,1]),B(d(F,1),k,6,15,[1,2,1,2])]),n=h(yt,wt,6,Mt(t.R,e),15,1),i=0;i<Mt(t.R,e);i++)n[i]=Y0(t.R,_(t.R,e,A[i]),e);if(Q=R5(t.R,e,A,n,null)<<24>>24,Q!=3)return Q;for(U=0,L=0,f=0;f<Mt(t.R,e);f++)P=Ot(t.R,e,A[f]),z(t.R,0,P)==e&&(l1(t.R,P)==129&&(L!=0&&sP(t.R,e),U=f,L=1),l1(t.R,P)==257&&(L!=0&&sP(t.R,e),U=f,L=2));if(L==0)return 3;for(r=1;r<Mt(t.R,e);r++)n[r]<n[0]&&(n[r]+=F0);if(Mt(t.R,e)==3){switch(U){case 0:(n[1]<n[2]&&n[2]-n[1]<Q1||n[1]>n[2]&&n[1]-n[2]>Q1)&&(L=3-L);break;case 1:n[2]-n[0]>Q1&&(L=3-L);break;case 2:n[1]-n[0]<Q1&&(L=3-L);}return L==1?2:1;}return D=0,n[1]<=n[2]&&n[2]<=n[3]?D=0:n[1]<=n[3]&&n[3]<=n[2]?D=1:n[2]<=n[1]&&n[1]<=n[3]?D=2:n[2]<=n[3]&&n[3]<=n[1]?D=3:n[3]<=n[1]&&n[1]<=n[2]?D=4:n[3]<=n[2]&&n[2]<=n[1]&&(D=5),s[D][U]==L?2:1;}function ia(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v;if(t.g.a.length==0||t.f.a.length==0||(s=ms(t),s==0))return null;for(L=h(F,D0,7,t.f.a.length,0,2),r=0;r<t.f.a.length;r++)for(T=N(t.f,r),ut(T,15),L[r]=h(F,k,6,s+1,15,1),co(L[r],-1),e=0;e<T.q;e++){if(U=w.Math.abs(T.w[e]),U!=0&&L[r][U]!=-1)return null;L[r][U]=e;}for(i=h(rt,ft,6,s+1,16,1),P=0;P<t.g.a.length;P++)for(v=N(t.g,P),ut(v,15),g=0;g<v.q;g++)if(U=w.Math.abs(v.w[g]),U!=0&&!i[U]){for(f=0;f<t.f.a.length;f++)if(y=L[f][U],y!=-1){if(T=N(t.f,f),v.j[g]!=T.j[y]){i[U]=true;break;}if((v.u[g]&3)!=(T.u[y]&3)){i[U]=true;break;}for(D=0;D<v.j[g];D++)if(A=C1(v,v.i[g][D]),A==0)i[U]=true;else {for(m=v.k[g][D],n=false,Q=0;Q<T.j[y];Q++){if(c=C1(T,T.i[y][Q]),c==0){i[U]=true;break;}if(c==A){if(n=true,l=T.k[y][Q],(m<v.g&&(S8(v.p,m)||v.H[m]==8))^(l<T.g&&(S8(T.p,l)||T.H[l]==8))||!(m<v.g&&(S8(v.p,m)||v.H[m]==8))&&(dt(v,m)!=dt(T,l)||(v.F[m]&3)!=(T.F[l]&3))){i[U]=true,i[A]=true;break;}break;}}n||(i[U]=true);}}}return i;}function fa(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y;for(this.r=true,this.b=false,this.t=true,this.a=false,this.i=It,this.c=t,this.o=h(o9,or,26,t.g.a.length,0,1),n=0;n<t.g.a.length;n++)je(N(t.g,n),true),ut(N(t.g,n),15);for(P=0;P<t.f.a.length;P++)ut(N(t.f,P),15);for(S_(this,t),this.k=h(F,D0,7,t.g.a.length,0,2),r=0;r<t.g.a.length;r++)for(L=N(t.g,r),this.k[r]=h(F,k,6,L.f,15,1),i=0;i<L.f;i++)if(Q=w.Math.abs(L.w[i]),Q!=0)for(f=0;f<t.f.a.length;f++)for(U=N(t.f,f),D=0;D<U.f;D++)w.Math.abs(U.w[D])==Q&&(e=(y=Cn(L,i),y+WA(L,i,y,L.C[i])-G1(L,i)-(s=Cn(U,D),s+WA(U,D,s,U.C[D])-G1(U,D))),this.k[r][i]=w.Math.max(e,0));for(this.f=h(rt,h0,12,t.f.a.length,0,2),A=0;A<t.f.a.length;A++)for(U=N(t.f,A),this.f[A]=h(rt,ft,6,U.f,16,1),i=0;i<U.f;i++)if(Q=w.Math.abs(U.w[i]),Q!=0)for(f=0;f<t.g.a.length;f++)for(L=N(t.g,f),D=0;D<L.f;D++)w.Math.abs(L.w[D])==Q&&(hs(Ab(U,i),Ab(L,D))!=0||hs(Ok(U,i),Ok(L,D))!=0)&&(this.f[A][i]=true);this.s=new Ni(),this.g=h(v4,h0,20,this.o.length,0,1);}function Da(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C;if(g=new Lo(t.e,t.c),T=ah(g,t.f,t.d),t.a.a.length==0)return Ks(g,T);for(m=1,R=new Wt(t.a);R.a<R.c.a.length;)v=t1(R),m*=pG(v);if(m>4e6)return x1(),-m;for(e=0,i=h(F,k,6,t.a.a.length,15,1),y=h(F,k,6,t.a.a.length,15,1),D=0;D<t.a.a.length;D++)v=N(t.a,D),y[D]=(v.b=new f1(),j=h(F,k,6,v.a,15,1),C=h(rt,ft,6,w.Math.max(v.d.length,v.c.length),16,1),ek(v,0,C,j),v.b.a.length),i[D]=e,e+=v.a;for(r=xy,P=null,n=null,l=h(F,k,6,t.a.a.length,15,1),s=t.a.a.length!=0;s;){if(b=false,t.i!=null){for(Q=0;Q<t.a.a.length;Q++)if(VK(N(t.a,Q),l[Q],t.i)){b=true;break;}}if(!b){for(Q=0;Q<t.a.a.length;Q++)iK(N(t.a,Q),l[Q],T);if(c=Ks(g,T),r<c)for(r=c,P=h(F,k,6,e,15,1),n=h(F,k,6,e,15,1),A=0,U=0;U<t.a.a.length;U++)v=N(t.a,U),Az(v,l[U],P,A),ez(v,l[U],n,A),A+=v.a;}for(s=false,f=0;f<l.length;f++){if(++l[f],l[f]<y[f]){s=true;break;}l[f]=0;}}if(r!=xy)for(L=t.b,f=0;f<e;f++)++L,t.f[P[f]]=L,t.d[n[f]]=L;return r;}function aj(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g;for(s=new f1(),g=new f1(),n=new f1(),r=new Wt(t.d);r.a<r.c.a.length;){for(P=t1(r),i=0,n.a.length=0,f=0;f<P.e.length;f++)e=P.e[f],A=t.i[e],A!=0&&(mt(n,new W3(P,f,A)),i+=A);if(i!=0)for(j3(n,new j8()),Q=new Wt(n);Q.a<Q.c.a.length&&(D=t1(Q),!(i*D.b>0&&(A=w.Math.abs(i)>=w.Math.abs(D.b)?D.b:i,i-=A,mt(A<0?s:g,new W3(P,D.a,A)),i==0))););}if(s.a.length==0||g.a.length==0)return null;for(j3(g,new Xe()),j3(s,new Se()),T=new Wt(g);T.a<T.c.a.length;)for(y=t1(T),L=new Wt(s);L.a<L.c.a.length;)if(U=t1(L),y.b==-U.b)return t.i[oD(y.c,y.a)]-=y.b,t.i[oD(U.c,U.a)]-=U.b,new HQ(y.c,U.c,y.a,U.a);for(c=new Wt(g);c.a<c.c.a.length;)for(y=t1(c),L=new Wt(s);L.a<L.c.a.length;)if(U=t1(L),y.b>-U.b)return t.i[oD(y.c,y.a)]+=U.b,t.i[oD(U.c,U.a)]-=U.b,new HQ(y.c,U.c,y.a,U.a);for(l=new Wt(g);l.a<l.c.a.length;)for(y=t1(l),L=new Wt(s);L.a<L.c.a.length;)if(U=t1(L),y.b<-U.b)return t.i[oD(y.c,y.a)]-=y.b,t.i[oD(U.c,U.a)]+=y.b,new HQ(y.c,U.c,y.a,U.a);return null;}function sn(t,e,A){var n,P,r,i,f,D,Q;if(t.P=false,t.F=new f1(),t.a=new f1(),bi(t.O.a),!t.H||!t.g||t.g.f-t.p>t.H.f||t.g.g-t.q>t.H.g||t.g.f==0)return 0;for(e==6&&(t.N=63),hO(t,A),n=h(rt,ft,6,t.H.f,16,1),t.G=h(F,k,6,t.g.f,15,1),co(t.G,-1),f=h(F,k,6,t.A,15,1),V9(f,f.length,-1),r=0;!t.P;){if(t.w!=0){if(Q=t.u[r]==-1?t.H.f:De(t.H,t.G[t.u[r]]),++f[r],f[r]==Q){if(f[r]=-1,r==0)break;--r,t.t[r]||(n[t.G[t.s[r]]]=false);continue;}if(t.u[r]==-1)n[f[r]]||Py(t,f[r],t.s[r])&&(t.G[t.s[r]]=f[r],n[f[r]]=true,++r);else {if(_(t.H,t.G[t.u[r]],f[r])>=t.H.f)continue;P=_(t.H,t.G[t.u[r]],f[r]),t.t[r]?P==t.G[t.s[r]]&&Ys(t,Ot(t.H,t.G[t.u[r]],f[r]),t.v[r])&&++r:n[P]||Py(t,P,t.s[r])&&Ys(t,Ot(t.H,t.G[t.u[r]],f[r]),t.v[r])&&(n[P]=true,t.G[t.s[r]]=P,++r);}}if(r==t.w){if(zj(t,-1)&&pR(t,-1)&&TR(t,n,-1)){for(D=false,i=0;i<t.d;i++)if(b$(t,n,f,i)){D=true;break;}if(e==1&&!D||!D&&(s$(t,e),e==2))return 1;}if(r==0)break;--r,t.t[r]||(n[t.G[t.s[r]]]=false);}}return UZ(t),t.F.a.length;}function ua(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a,E,X,tt,W,$,et,lt,st;for($=On(t.e),et=N($.k,e).length,tt=N($.j,e),W=N($.k,e),p=true,g=1;g<et;g++)if(B9(t.b,W[g])!=B9(t.b,W[0])){p=false;break;}if(p){for(r=(et-2)*j2/et,m=0;m<et;m++)Ih(t,tt[m],W[m],W[m==0?et-1:m-1],r);return;}for(E=h(Ee,PA,6,et,15,1),P=0,v=0;v<et;v++)E[v]=a1(t.e,tt[v])==0?1.9106119386631804:a1(t.e,tt[v])==1?2.094499897810209:j2,P+=E[v];for(n=((et-2)*j2-P)/et,R=0;R<et;R++)E[R]+=n;for(U=h(Ee,PA,6,et,15,1),b=1;b<et;b++)U[b]=U[b-1]+j2-E[b];for(f=h(Ee,PA,6,et,15,1),i=0;i<100;i++){for(lt=0,st=0,m=0;m<et;m++)lt+=B9(t.b,W[m])*w.Math.sin(U[m]),st+=B9(t.b,W[m])*w.Math.cos(U[m]);for(y=kA(0,0,lt,st),T=w.Math.sqrt(lt*lt+st*st),a=-1,x=0,j=0;j<et;j++)C=j==0?et-1:j-1,S=j+1==et?0:j+1,D=Je(U[j],U[C]),Q=Je(U[S],U[j]),X=Je(E[j],E[S]),f[j]=2*D-2*Q+2*X,l=w.Math.cos(U[j]-I6-y),s=T*l-Yp*f[j],w.Math.abs(s)>w.Math.abs(x)&&(x=s,a=j);L=w.Math.exp(-5*i/100),U[a]+=L*x;}for(c=0;c<et;c++)C=c==0?et-1:c-1,A=U[C]+j2-U[c],A>F0&&(A-=F0),Ih(t,tt[c],W[C],W[c],A);}function tp(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y;for(t.j=h(F,k,6,t.q,15,1),t.e=h(F,k,6,t.q,15,1),t.i=h(F,D0,7,t.q,0,2),t.k=h(F,D0,7,t.q,0,2),t.n=h(F,D0,7,t.q,0,2),t.o=h(F,k,6,t.f,15,1),U=h(F,k,6,t.q,15,1),i=0;i<t.r;i++)++U[t.D[0][i]],++U[t.D[1][i]];for(n=0;n<t.q;n++)t.i[n]=h(F,k,6,U[n],15,1),t.k[n]=h(F,k,6,U[n],15,1),t.n[n]=h(F,k,6,U[n],15,1);for(s=false,Q=0;Q<t.g;Q++){if(y=dt(t,Q),y==0){s=true;continue;}for(L=0;L<2;L++)A=t.D[L][Q],e=t.e[A],t.n[A][e]=y,t.i[A][e]=t.D[1-L][Q],t.k[A][e]=Q,++t.e[A],++t.j[A],A<t.f&&y>1&&(t.o[A]+=y-1);}for(D=0;D<t.g;D++)if(t.H[D]==8)for(L=0;L<2;L++)A=t.D[L][D],A<t.f&&t.o[A]==0&&(t.o[A]=1);for(f=t.g;f<t.r;f++){if(y=dt(t,f),y==0){s=true;continue;}for(L=0;L<2;L++)A=t.D[L][f],e=t.e[A],t.n[A][e]=y,t.i[A][e]=t.D[1-L][f],t.k[A][e]=f,++t.e[A],t.D[1-L][f]<t.f&&++t.j[A];}if(s){for(e=h(F,k,6,t.q,15,1),P=0;P<t.q;P++)e[P]=t.e[P];for(r=0;r<t.r;r++)if(y=dt(t,r),y==0)for(L=0;L<2;L++)A=t.D[L][r],t.n[A][e[A]]=y,t.i[A][e[A]]=t.D[1-L][r],t.k[A][e[A]]=r,++e[A];}}function Qa(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T;t.b|=e;try{for(l=r2("torsionID.txt"),n=(e&1)==0?null:r2("torsionAngle.txt"),s=(e&1)==0?null:r2("torsionRange.txt"),f=(e&1)==0?null:r2("torsionFrequency.txt"),r=(e&2)==0?null:r2("torsionBins.txt"),T=K1(l);T!=null;){if(y=le(t.c,T),y||(y=new jw(T.endsWith("<")||T.endsWith(">")?0:T.endsWith("-")||T.endsWith("+")?1:T.endsWith("=")?3:2),ze(t.c,T,y)),n)for(A=o8(K1(n),","),y.a=h(Yt,at,6,A.length,15,1),Q=0;Q<A.length;Q++)y.a[Q]=c1(A[Q],yy,32767)<<16>>16;if(s)for(L=o8(K1(s),","),y.d=R1(Yt,[te,at],[16,6],15,[L.length,2],2),Q=0;Q<L.length;Q++)U=L[Q].indexOf(k0(45),1),y.d[Q][0]=c1(UA(L[Q],0,U),yy,32767)<<16>>16,y.d[Q][1]=c1(HD(L[Q],U+1),yy,32767)<<16>>16;if(f)for(D=o8(K1(f),","),y.c=h(Yt,at,6,D.length,15,1),Q=0;Q<D.length;Q++)y.c[Q]=c1(D[Q],-128,127)<<24>>24;if(r)for(P=o8(K1(r),","),y.b=h(q,I,6,P.length,15,1),Q=0;Q<P.length;Q++)y.b[Q]=c1(P[Q],-128,127)<<24>>24;T=K1(l);}}catch(c){if(c=t0(c),Zt(c,75))i=c,Z9(i,(x1(),gi));else throw At(c);}}function Ui(t){var e,A,n,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b;if(t.R.f!=0&&!t.G){for(t.I=0,b=0,A=1;A<t.R.f;A++)t.f[A]>t.f[b]&&(b=A);for(n=h(rt,ft,6,t.R.f,16,1),i=h(rt,ft,6,t.R.g,16,1),t.H=h(F,k,6,t.R.f,15,1),t.B=h(F,k,6,t.R.f,15,1),t.F=h(F,k,6,t.R.f,15,1),t.C=h(F,k,6,t.R.g,15,1),t.B[0]=b,t.H[b]=0,n[b]=true,D=0,Q=1,U=0;D<t.R.f;)if(D<Q){for(;;){for(l=0,T=0,s=-1,e=t.B[D],c=0;c<De(t.R,e);c++)(c<O(t.R,e)||c>=Mt(t.R,e))&&(f=_(t.R,e,c),!n[f]&&t.f[f]>s&&(l=f,T=Ot(t.R,e,c),s=t.f[f]));if(s==-1)break;t.H[l]=Q,t.F[Q]=D,t.B[Q++]=l,t.C[U++]=T,n[l]=true,i[T]=true;}++D;}else {for(y=0,s=-1,e=0;e<t.R.f;e++)!n[e]&&t.f[e]>s&&(y=e,s=t.f[e]);t.H[y]=Q,t.F[Q]=-1,t.B[Q++]=y,n[y]=true;}for(t.D=h(F,k,6,2*(t.R.g-U),15,1);;){for(m=t.R.M,v=t.R.M,R=-1,r=0;r<t.R.g;r++)i[r]||(t.H[z(t.R,0,r)]<t.H[z(t.R,1,r)]?(g=t.H[z(t.R,0,r)],L=t.H[z(t.R,1,r)]):(g=t.H[z(t.R,1,r)],L=t.H[z(t.R,0,r)]),(g<m||g==m&&L<v)&&(m=g,v=L,R=r));if(R==-1)break;i[R]=true,t.C[U++]=R,t.D[2*t.I]=m,t.D[2*t.I+1]=v,++t.I;}t.G=true;}}function ep(t,e,A,n,P,r,i){var f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j;if(t==null||t.length==0||(j=t.indexOf(k0(33)),j==-1))return null;for(l=false,L=j!=0?0:t.length==1?-1:1,v=0,D=0,i?nv(i):i=new P8();L!=-1;)L>j&&(l=true),Q=t.indexOf(k0(32),L),j>L&&(Q>j||Q==-1)&&(Q=j),U=Q==-1?(Xt(L,t.length+1),t.substr(L)):(pt(L,Q,t.length),t.substr(L,Q-L)),L=Q==-1||Q==t.length-1?-1:Q+1,m=null,e!=null&&e.length!=0&&(Q=e.indexOf(k0(32),v),Q==-1?m=(Xt(v,e.length+1),e.substr(v)):(m=(pt(v,Q,e.length),e.substr(v,Q-v)),v=Q+1)),f=null,A!=null&&A.length!=0&&(Q=A.indexOf(k0(32),D),Q==-1?f=(Xt(D,A.length+1),A.substr(D)):(f=(pt(D,Q,A.length),A.substr(D,Q-D)),D=Q+1)),b=new GA(r),R=U==null?null:Ls(b,KA((c=U,c0(),c)),f==null?null:KA((g=f,g)),0),m!=null&&RY(b,KA((T=m,c0(),T))),l?(mt(i.f,R),i.d=-1):(mt(i.g,R),i.d=-1);if(n!=null&&n.length!=0&&qS(i,new ak(n)),P!=null&&P.length!=0){for(b=new GA(r),s=0,y=P.indexOf(k0(43));y!=-1;)al(i,_i(b,(pt(s,y,P.length),P.substr(s,y-s)))),s=y+1,y=P.indexOf(k0(43),s);al(i,_i(b,(Xt(s,P.length+1),P.substr(s))));}return i;}function Ua(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S;for(Q=h(F,k,6,t.j.f,15,1),g=h(F,k,6,t.d.f,15,1),U=h(F,k,6,t.j.f,15,1),v=h(F,k,6,t.d.f,15,1),Q[0]=e.b,U[e.b]=e.b,g[0]=e.a,v[e.a]=e.a,t.n[e.b]==0&&(++t.c,t.n[e.b]=t.c,t.f[e.a]=t.c),f=0,L=0;f<=L;){for(j=Q[f],R=g[f],c=R1(F,[D0,k],[7,6],15,[O(t.j,j),O(t.d,R)],2),y=0;y<O(t.j,j);y++)if(b=_(t.j,j,y),t.n[b]==0)for(r=Bv(t.j,Ot(t.j,j,y)),T=0;T<O(t.d,R);T++)m=_(t.d,R,T),t.f[m]==0&&K(t.j,b)==K(t.d,m)&&(i=Ot(t.d,R,T),S=UX(t,j,b,R,m),r==Bv(t.d,i)||S!=0?M_(t,j,b,R,m)&&(D=cb(t,j,b,R,m),C=w.Math.max(S,D),C!=0&&(l=$Z(t,U[j],j,b,v[R],R,m),fW(t,j,b,R,m,C,l)&&(c[y][T]=C,l&&(c[y][T]+=64),Id(U[j],j,b,t.o)==Id(v[R],R,m,t.g)&&(c[y][T]+=128),Jv(t.j,b)==Jv(t.d,m)&&(c[y][T]+=1)))):cb(t,j,b,R,m)==I1&&(c[y][T]=768));for(;;){for(A=0,P=-1,n=-1,s=0;s<c.length;s++)if(b=_(t.j,j,s),t.n[b]==0)for(T=0;T<c[s].length;T++)m=_(t.d,R,T),t.f[m]==0&&A<c[s][T]&&(A=c[s][T],P=b,n=m);if(A==0)break;++L,Q[L]=P,U[P]=Q[f],g[L]=n,v[n]=g[f],++t.c,t.n[P]=t.c,t.f[n]=t.c;}++f;}return L+1;}function Ap(){Ap=B1,gU=B(d(Yt,1),at,6,15,[-1,-1,-1,0,0,1,2,3,4,5,-1,0,0,0,6,7,8,9,-1,0,0,10,10,10,10,10,10,10,10,10,10,1,11,11,12,13,-1,0,0,10,10,10,10,10,10,10,10,10,10,0,0,0,11,14,-1,0,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,10,10,10,10,10,10,10,10,1,1,1,1,-1,-1,-1,-1,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]),d4=B(d(Yt,1),at,6,15,[-1,-1,-1,0,0,0,2,5,5,5,-1,0,0,0,0,9,9,9,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]);}function oa(t,e,A,n){var P,r,i,f,D,Q,U,L,s,y,l,T,c,g;P=e.a,y=e.g,Q=gt(V(o0(t.k,P),1),0),r=MA(t.k,P),L=r!=null?oX(t,P,r,n):Q?"*":Ci(t.k,P),!Q&&r==null&&vn(t.k,P)&&(t.j&4)==0&&(a1(t.k,P)!=0||br(t.k,P)==-1&&FA(t.k,P)==0)&&(L=L.toLowerCase()),e.f&&(A.a+="("),y!=-1&&Gj(t,D1(t.k,e.a,e.g),e.g,A),i=p1(t.k,P),i==0&&(t.j&1)!=0&&(f=V(o0(t.k,P),i9),G(f,Mf)==0?i=-1:G(f,Cf)==0&&(i=1)),U=ye(t.k,P),s=(t.j&2)!=0?C1(t.k,P):0,l=(t.j&1)!=0?Ea(t,P,n):null,g=!Q&&!DN(K(t.k,P))||r!=null||(d0(t.k,P)==1||d0(t.k,P)==2)&&(c=Ae(t.k,P)-1,!(c!=-1&&t.i[c][VA(t.k,P)]<=1))&&(K(t.k,P)!=7||p1(t.k,P)>0)||vn(t.k,P)&&a1(t.k,P)==0&&(t.j&4)==0||i!=0||U!=0||s!=0||br(t.k,P)!=-1||FA(t.k,P)!=0||l!=null,g&&(A.a+="["),U!=0&&(A.a+=U),A.a+=""+L,(d0(t.k,P)==1||d0(t.k,P)==2)&&(T=Ae(t.k,P)-1,!(T!=-1&&t.i[T][VA(t.k,P)]<=1))&&(K(t.k,P)!=7||p1(t.k,P)>0)&&J(A,U$(t,P,y)),(t.j&1)==0&&g&&(D=Td(t.k,P),D==1?A.a+="H":D>1&&(A.a+="H"+D)),i!=0&&(A.a+=String.fromCharCode(i>0?43:45),w.Math.abs(i)>1&&g3(A,w.Math.abs(i))),l!=null&&(A.a+=""+l),s!=0&&(A.a+=":",A.a+=s),g&&(A.a+="]"),$Y(t,e,A),e.e&&(A.a+=")");}function La(t,e,A,n){var P,r,i,f,Q;if(i=1,G(t,0)==0)return "0";if(G(t,0)!=0){for(;P0(Y9(t,10),0);)t=Mn(t,10),++e;for(i=0,f=t;G(f,0)!=0;f=Mn(f,10))++i;}return r=new V0(),G(t,0)<0&&(r.a+="-"),w.Math.max(0,A-i),P=""+Te(G(t,0)<0?p0(t):t),e==0?(r.a+=P,false):e>0?(Q=e>4,Q?(i==1?(r.a+=P,A>1&&(r.a+=".",r.a+="0")):(J(r,(pt(0,1,P.length),P.substr(0,1))),r.a+=".",J(r,(Xt(1,P.length+1),P.substr(1))),false),r.a+="e",r.a+=""+(e+i-1)):(r.a+=P,J(r,CP(e)),false)):-e<i?(J(r,(pt(0,i+e,P.length),P.substr(0,i+e))),r.a+=".",J(r,(Xt(i+e,P.length+1),P.substr(i+e))),false):-e==i?(r.a+="0.",r.a+=P,false):e+i<-2?(i==1?(r.a+=P,A>1&&(r.a+=".",r.a+="0")):(Oe(r,(Xt(0,P.length),P.charCodeAt(0))),r.a+=".",J(r,(Xt(1,P.length+1),P.substr(1))),false),r.a+="e-",r.a+=""+(1-e-i)):(r.a+="0.",J(r,CP(-e-i)),r.a+=P,false),r.a;}function sa(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g;if(r=ZA(t.V,e,A),i=df(t.V,e,A),t.w==2){if(t.V.K){if(r!=-1)nF(t,r);else if(i!=-1)Qv(t,i);else if(t.v){if(!t.Z){for(s=0;s<t.V.q;s++)dP(t.V,s,false);for(P=new Wt(t.I);P.a<P.c.a.length;)n=t1(P),n.g=false;}t.v.g=true,t.eb=w.Math.max(t.eb,1),n1(t.k);}}else if(g=-1,r!=-1?g=r:i!=-1&&(g=z(t.V,0,i)),g!=-1||t.v){if(!t.Z){for(s=0;s<t.V.q;s++)dP(t.V,s,false);if(t.I)for(Q=new Wt(t.I);Q.a<Q.c.a.length;)D=t1(Q),D.g=false;}if(g!=-1){if((t.U&1)!=0)for(U=t.M[g],s=0;s<t.V.q;s++)t.M[s]==U&&dP(t.V,s,true);else for(L=_m(t.V,g,false),s=0;s<L.length;s++)dP(t.V,L[s],true);}else t.v.g=true;t.eb=w.Math.max(t.eb,1),n1(t.k);}}else if(t.w==18&&(U=-2,(t.U&1)!=0&&(U=Jz(t)),U!=-1)){for(c=It,T=o1,y=0;y<t.V.q;y++)(U==-2||t.M[y]==U)&&(c>kt(t.V,y)&&(c=kt(t.V,y)),T<kt(t.V,y)&&(T=kt(t.V,y)));if(T>c){for(f=(T+c)/2,l=0;l<t.V.q;l++)(U==-2||t.M[l]==U)&&Be(t.V,l,2*f-kt(t.V,l));for(s=0;s<t.V.r;s++)if(U==-2||t.M[z(t.V,0,s)]==U)switch(l1(t.V,s)){case 257:w0(t.V,s,129);break;case 129:w0(t.V,s,257);}}t.eb=w.Math.max(t.eb,1),n1(t.k),N1(t,new q1(t,1,true));}}function np(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l;for(U=t.Q,L=t.F,(t.G&Sn)!=0&&(t.Q=-6,t.F=Dy,W1(t,1)),t.o=h(X4,A0,56,t.L.q,0,1),D=0;D<t.L.r;D++)(l1(t.L,D)==2||l1(t.L,D)==386||l1(t.L,D)==8)&&Lp(t,D);for(Q=0;Q<t.L.r;Q++)l1(t.L,Q)!=2&&l1(t.L,Q)!=386&&l1(t.L,Q)!=8&&Lp(t,Q);if((t.G&64)==0)for(f=0;f<t.L.r;f++)gu(t.L,f)!=0&&(P=null,gu(t.L,f)==1||gu(t.L,f)==2?(dt(t.L,f)==2||cP(t.L,f)==0||e[cP(t.L,f)][$i(t.L,f)]>1)&&(gu(t.L,f)==1?P=dt(t.L,f)==2?"E":wo(t.L,f)?"p":"P":P=dt(t.L,f)==2?"Z":wo(t.L,f)?"m":"M"):P="?",P!=null&&(t.Cb((t.X*2+1)/3|0),W1(t,vr(t.L,f)?-3:t.L.O==1||(t.G&C0)!=0?t.Q:448),A=z(t.L,0,f),n=z(t.L,1,f),y=(Z1(t.R,kt(t.L,A))+Z1(t.R,kt(t.L,n)))/2,l=(X1(t.R,jt(t.L,A))+X1(t.R,jt(t.L,n)))/2,r=(Z1(t.R,kt(t.L,A))-Z1(t.R,kt(t.L,n)))/3,i=(X1(t.R,jt(t.L,A))-X1(t.R,jt(t.L,n)))/3,HP(t,y+i,l-r,P,true),W1(t,t.Q),t.Cb(t.X)));if((t.G&4)!=0){for(t.Cb((t.X*2+1)/3|0),W1(t,384),f=0;f<t.L.r;f++)A=z(t.L,0,f),n=z(t.L,1,f),s=G8(t.L,f)?"d":_e(t.L,f)?"a":"",y=(Z1(t.R,kt(t.L,A))+Z1(t.R,kt(t.L,n)))/2,l=(X1(t.R,jt(t.L,A))+X1(t.R,jt(t.L,n)))/2,HP(t,y,l,s+(""+f),true);W1(t,t.Q),t.Cb(t.X);}(t.G&Sn)!=0&&(t.Q=U,t.F=L);}function Pp(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j;for(ut(t,1),A&&(e=true),D=0;D<t.r;D++)if(Q=dt(t,D),Q==1||Q==2){if(t.s[t.D[0][D]]>0&&t.s[t.D[1][D]]<0)r=t.D[0][D],i=t.D[1][D];else if(t.s[t.D[0][D]]<0&&t.s[t.D[1][D]]>0)r=t.D[1][D],i=t.D[0][D];else continue;if(_0(t,r)||_0(t,i)||t.C[r]<9&&G1(t,r)>3||t.C[i]<9&&G1(t,i)>3)continue;L=xt(t,r)!=0,t.s[r]-=1,t.s[i]+=1,L||(m=t.H[D],Q==1?t.H[D]=2:t.H[D]=4,(m==129||m==257)&&(j=t.D[0][D],g=Ns(t,j,false),t.D[0][g]!=j&&(t.D[1][g]=t.D[0][g],t.D[0][g]=j))),t.T=0;}for(v=0,T=0,y=0,P=0;P<t.q;P++)v+=t.s[P],t.s[P]<0&&!_v(t,P)&&(++T,tA(t,P)&&(y-=t.s[P]));if(!e&&v!=0)throw At(new V1("molecule's overall charges are not balanced"));for(ut(t,1),R=0,b=A?v+y:y,f=0;f<t.q;f++)t.s[f]>0&&!xO(t,f)&&tA(t,f)&&(U=w.Math.min(xt(t,f),t.s[f]),U!=0&&b>=U&&(v-=U,R-=U,b-=U,t.s[f]-=U,t.T&=1));if(c=A?v:R,c<0){for(l=h(F,k,6,T,15,1),T=0,r=0;r<t.q;r++)t.s[r]<0&&!_v(t,r)&&(l[T++]=(t.C[r]<<22)+r);for(l.sort(Fe(u0.prototype.gd,u0,[])),s=l.length-1;c<0&&s>=l.length-T;s--)n=l[s]&x0,tA(t,n)&&(U=w.Math.min(-c,-t.s[n]),v+=U,c+=U,t.s[n]+=U,t.T&=1);}return v;}function rp(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m;for(U=h(it,Dt,2,t.g.a.length+t.f.a.length,6,1),l=h(it,Dt,2,t.g.a.length+t.f.a.length,6,1),r=h(it,Dt,2,t.g.a.length+t.f.a.length,6,1),D=0;D<t.g.a.length+t.f.a.length;D++){if(g=D<t.g.a.length?N(t.g,D):N(t.f,D-t.g.a.length),g.K&&D<t.g.a.length)for(n=0;n<g.q;n++)T1(g,n,c8,false);if(P=new BA(g),U[D]=me(P),U[D]==null)return null;l[D]=Jd(P),r[D]=Iu(P,e);}for(L=new V0(),i=new V0(),T=new V0(),Q=0;Q<t.g.a.length;Q++){if(s=Q,A)for(c="",s=-1,y=0;y<t.g.a.length;y++)Kr(c,U[y])<0&&(c=U[y],s=y);Q>0&&(L.a+=" ",T.a+=" ",i.a+=" "),L.a+=""+U[s],T.a+=""+l[s],i.a+=""+r[s],U[s]="";}for(L.a+="!",t.f.a.length!=0&&t.g.a.length!=0&&(T.a+=" ",i.a+=" "),f=t.g.a.length;f<t.g.a.length+t.f.a.length;f++){if(s=f,A)for(c="",s=-1,y=t.g.a.length;y<t.g.a.length+t.f.a.length;y++)Kr(c,U[y])<0&&(c=U[y],s=y);f>t.g.a.length&&(L.a+=" ",T.a+=" ",i.a+=" "),L.a+=""+U[s],T.a+=""+l[s],i.a+=""+r[s],U[s]="";}return m=h(it,Dt,2,5,6,1),m[0]=L.a,T.a.length>t.g.a.length+t.f.a.length-1&&(m[1]=T.a),i.a.length>t.g.a.length+t.f.a.length-1&&(m[2]=i.a),t.b&&(m[3]=Sm(t.b)),t.a.a.length!=0&&(m[4]=yY(t,e)),m;}function ya(t,e){var A,n;return n={},A=t.B[e],n.aromatic=S1(V(A,2),0),n.notAromatic=S1(V(A,4),0),n.notChain=S1(V(A,8),0),n.not2RingBonds=S1(V(A,16),0),n.not3RingBonds=S1(V(A,32),0),n.not4RingBonds=S1(V(A,64),0),n.noMoreNeighbours=S1(V(A,I1),0),n.moreNeighbours=S1(V(A,C0),0),n.matchStereo=S1(V(A,ge),0),n.not0PiElectrons=S1(V(A,Sn),0),n.not1PiElectron=S1(V(A,s8),0),n.not2PiElectrons=S1(V(A,Q0),0),n.not0Hydrogen=S1(V(A,128),0),n.not1Hydrogen=S1(V(A,256),0),n.not2Hydrogen=S1(V(A,512),0),n.not3Hydrogen=S1(V(A,re),0),n.not0Neighbours=S1(V(A,I0),0),n.not1Neighbour=S1(V(A,T8),0),n.not2Neighbours=S1(V(A,l8),0),n.not3Neighbours=S1(V(A,h8),0),n.not4Neighbours=S1(V(A,qA),0),n.notChargeNeg=S1(V(A,nU),0),n.notCharge0=S1(V(A,Tn),0),n.noChargePos=S1(V(A,134217728),0),n.ringSize0=S1(V(A,L8),0),n.ringSize3=S1(V(A,ir),0),n.ringSize4=S1(V(A,fr),0),n.ringSize5=S1(V(A,Dr),0),n.ringSize6=S1(V(A,ur),0),n.ringSize7=S1(V(A,Qr),0),n.ringSizeLarge=S1(V(A,pf),0),n;}function la(t,e){i8();var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b;for(g=h(rt,ft,6,e.g,16,1),b=(ut(e,7),e.p),c=h(rt,ft,6,b.j.a.length,16,1),Zs(b,c,h(rt,ft,6,b.j.a.length,16,1),h(F,k,6,b.j.a.length,15,1),true),R=0;R<b.j.a.length;R++)if(c[R])for(T=0;T<N(b.k,R).length;T++)g[N(b.k,R)[T]]=true;for(P=h(F,k,6,2,15,1),i=0;i<e.g;i++)if(D=e.D[0][i],Q=e.D[1][i],P[0]=e.C[D],P[1]=e.C[Q],g[i]=g[i]|(i<e.g&&Re(e.p,i)||dt(e,i)==2&&P[0]<=8&&P[1]<=8&&e.o[D]==1&&e.o[Q]==1&&e.e[D]>1&&e.e[Q]>1),!g[i]&&dt(e,i)==1){for(l=0;l<2;l++)if((P[l]==7||P[l]==8)&&P[1-l]==6){for(U=e.D[1-l][i],v=0;v<e.j[U];v++)if(e.n[U][v]==2&&(L=e.i[U][v],e.C[L]==7||e.C[L]==8||e.C[L]==16)){g[i]=true;break;}}}for(m=h(rt,ft,6,e.f,16,1),f=0;f<e.g;f++)g[f]&&(m[e.D[0][f]]=true,m[e.D[1][f]]=true);for(y=h(F,k,6,e.q,15,1),r=0;r<e.g;r++)if(g[r]){for(y[0]=e.D[0][r],s=xZ(y,g,e),n=h(F,k,6,s,15,1),l=0;l<s;l++)n[l]=y[l];mt(t,new zh(n,e));}for(A=0;A<e.f;A++)if(!m[A]&&(e.C[A]==5&&e.s[A]==0&&e.e[A]<=3||e.C[A]<=8&&e.o[A]==1&&e.e[A]>1||EP(e,A,true)&&e.o[A]!=2&&e.e[A]>1)){for(n=h(F,k,6,1+e.e[A],15,1),l=0;l<e.e[A];l++)n[l]=e.i[A][l];n[e.e[A]]=A,mt(t,new zh(n,e));}}function Ta(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a,E;for(v=h(rt,ft,6,t.j.f,16,1),p=0;p<e.j.a.length;p++)if(x=N(e.k,p).length,(x==3||x==5||x==6||x==7)&&t.i[p])for(n=N(e.j,p),P=0,r=n.length;P<r;++P)A=n[P],v[A]=true;for(s=h(F,k,6,t.j.f,15,1),l=h(rt,ft,6,t.j.f,16,1),Q=0;Q<t.j.g;Q++)i=z(t.j,0,Q),f=z(t.j,1,Q),!v[i]&&!v[f]&&(t.e[Q]&&(++s[i],++s[f]),l1(t.j,Q)==16&&(l[i]=true,l[f]=true));for(S=h(F,k,6,t.j.f,15,1),y=h(F,k,6,t.j.f,15,1),E=0;E<t.j.f;E++)if(s[E]==1)for(y[0]=E,L=0,T=0;L<=T;){for(c=0;c<O(t.j,y[L]);c++)if(t.e[Ot(t.j,y[L],c)]&&(U=_(t.j,y[L],c),(L==0||U!=y[L-1])&&s[U]!=0)){if(y[++T]=U,(s[U]&1)!=0){for(b=1;b<T;b+=2)S[y[b]]=-1;T=0;}break;}++L;}for(D=h(rt,ft,6,t.j.f,16,1),a=0;a<t.j.f;a++)if(!D[a]&&s[a]!=0){for(y[0]=a,D[a]=true,L=0,T=0;L<=T;){for(c=0;c<O(t.j,y[L]);c++)t.e[Ot(t.j,y[L],c)]&&(U=_(t.j,y[L],c),D[U]||(y[++T]=U,D[U]=true));++L;}if((T&1)==0){for(g=0;g<=T;g++)S[y[g]]==0&&(S[y[g]]=pj(t,y[g],false));for(R=true,m=0;m<=T;m++)if(S[y[m]]<=0&&!yf(t,y[m],false)){R=false;break;}if(R){for(C=0,j=-1,c=0;c<=T;c++)C<S[y[c]]&&(C=S[y[c]],j=y[c]);C>0&&(pj(t,j,true),Pf(t,j));}}}}function ip(t,e,A,n){var P,r,i,f,D,Q,U,L,s,y,l,T;P=new L1(),D=new L1(),U=new c9(),Q=new c9(),i=z(t.L,0,A),f=z(t.L,1,A),n&&(s=e.a,e.a=e.b,e.b=s,s=e.c,e.c=e.d,e.d=s,y=i,i=f,f=y),cA(t,e)&&(fA(t.L,A)?(P.a=e.a,P.c=e.c,P.b=e.b,P.d=e.d,L=n?-O5(t.L,A):O5(t.L,A),L==0&&(L=1),Qf(t,e.b-e.a,e.d-e.c,U),L>0?(D.a=e.a+U.a,D.c=e.c+U.b,D.b=e.b+U.a,D.d=e.d+U.b,(Di(t,i,f,1,Q)||O(t.L,i)>1)&&(D.a+=Q.a+U.b,D.c+=Q.b-U.a)):(D.a=e.a-U.a,D.c=e.c-U.b,D.b=e.b-U.a,D.d=e.d-U.b,(Di(t,i,f,-1,Q)||O(t.L,i)>1)&&(D.a+=Q.a+U.b,D.c+=Q.b-U.a)),l1(t.L,A)==386&&iL(P,D),cA(t,P)&&Hn(t,P,i,f),l1(t.L,A)==8?cA(t,D)&&VQ(t,D,i,f):cA(t,D)&&Hn(t,D,i,f)):(Qf(t,e.b-e.a,e.d-e.c,U),l=U.a/2,T=U.b/2,r=false,P.a=e.a+l,P.c=e.c+T,P.b=e.b+l,P.d=e.d+T,O(t.L,i)>1&&(Di(t,i,f,1,Q)?(P.a+=Q.a,P.c+=Q.b,O(t.L,i)==2&&(Q.a!=0||Q.b!=0)&&(P.a+=U.b,P.c-=U.a)):t.o[i]=new v3(P.a,P.c)),D.a=e.a-l,D.c=e.c-T,D.b=e.b-l,D.d=e.d-T,O(t.L,i)>1&&(Di(t,i,f,0,Q)?(D.a+=Q.a,D.c+=Q.b,O(t.L,i)==2&&(Q.a!=0||Q.b!=0)&&(D.a+=U.b,D.c-=U.a)):(t.o[i]=new v3(D.a,D.c),r=true)),l1(t.L,A)==386&&iL(P,D),l1(t.L,A)==8?r?(VQ(t,P,i,f),Hn(t,D,i,f)):(Hn(t,P,i,f),VQ(t,D,i,f)):(Hn(t,P,i,f),Hn(t,D,i,f))));}function ha(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m;this.i=t,this.g=7,this.j=new f1(),this.k=new f1(),this.b=new f1(),this.a=h(F,k,6,this.i.f,15,1),this.c=h(F,k,6,this.i.g,15,1),this.i.$b(1),s=h(rt,ft,6,this.i.f,16,1),y=h(rt,ft,6,this.i.g,16,1);do for(i=false,A=0;A<this.i.f;A++)if(!s[A]){for(c=0,L=0;L<O(this.i,A);L++)s[_(this.i,A,L)]||++c;if(c<2){for(s[A]=true,U=0;U<O(this.i,A);U++)y[Ot(this.i,A,U)]=true;i=true;}}while(i);for(m=0;m<this.i.f&&s[m];)++m;if(m!=this.i.f){for(D=h(F,k,6,this.i.f,15,1),D[0]=m,T=h(F,k,6,this.i.f,15,1),T[0]=-1,f=h(F,k,6,this.i.f,15,1),f[m]=1,r=0,Q=0,l=1;r<=Q;){for(U=0;U<O(this.i,D[r]);U++)if(P=_(this.i,D[r],U),P!=T[D[r]]){if(f[P]!=0){DW(this,Ot(this.i,D[r],U),s);continue;}s[P]||(f[P]=l,T[P]=D[r],D[++Q]=P);}if(++r,r>Q){for(A=0;A<this.i.f;A++)if(f[A]==0&&!s[A]){f[A]=++l,D[++Q]=A,T[A]=-1;break;}}}if((e&4)!=0&&(this.e=h(rt,ft,6,this.j.a.length,16,1),this.f=h(rt,ft,6,this.j.a.length,16,1),this.d=h(F,k,6,this.j.a.length,15,1),Zs(this,this.e,this.f,this.d,(e&8)!=0),C_(this)),(e&2)!=0)for(n=0;n<this.i.g;n++)!y[n]&&dt(this.i,n)!=0&&(g=kW(this,n,s),g!=null&&gb(this,g,Gk(this,g)));}}function ca(t,e,A,n,P){var r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a,E,X,tt,W,$,et;for(v=h(F,k,6,P,15,1),R=h(F,k,6,P,15,1),T=0;T<P;T++)v[T]=r8(e,n[T]),R[T]=r8(A,n[T]);for(a=0,X=0,E=0,tt=0,c=0;c<P;c++)a+=e.a[v[c]],X+=e.b[v[c]],E+=A.a[R[c]],tt+=A.b[R[c]];for(a/=P,X/=P,E/=P,tt/=P,tv(A,a-E,X-tt),Q=h(li,A0,41,P,0,1),L=h(li,A0,41,P,0,1),r=h(li,A0,41,P,0,1),i=h(li,A0,41,P,0,1),g=0;g<P;g++)Q[g]=new Wu(a,X,e.a[v[g]],e.b[v[g]]),L[g]=new Wu(a,X,A.a[R[g]],A.b[R[g]]),r[g]=new KP(Q[g].a-L[g].a,Q[g].b*L[g].b),i[g]=new KP(Q[g].a+L[g].a,Q[g].b*L[g].b);for(j=f2(r,P),C=f2(i,P),$=0,et=0,m=0;m<P;m++)for(b=0;b<Mt(t.f,n[m]);b++)f=_(t.f,n[m],b),N9(e,f)&&!N9(A,f)&&++$,!N9(e,f)&&N9(A,f)&&++et;for(U=h(li,A0,41,$,0,1),s=h(li,A0,41,et,0,1),y=h(li,A0,41,et,0,1),$=0,et=0,l=0;l<P;l++)for(b=0;b<Mt(t.f,n[l]);b++)f=_(t.f,n[l],b),N9(e,f)&&!N9(A,f)&&(D=r8(e,f),U[$]=new Wu(e.a[v[l]],e.b[v[l]],e.a[D],e.b[D]),++$),!N9(e,f)&&N9(A,f)&&(D=r8(A,f),W=new Wu(A.a[R[l]],A.b[R[l]],A.a[D],A.b[D]),s[et]=new KP(j.a+W.a,W.b),y[et]=new KP(C.a-W.a,W.b),++et);return S=f2(U,$),p=f2(s,et),x=f2(y,et),w.Math.abs(FL(S.a,p.a))>w.Math.abs(FL(S.a,x.a))?sf(A,a,X,j.a):(WY(A,a,X),sf(A,a,X,C.a)),k5(t,e,A,P);}function fp(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R;for(this.i=t,this.w=t.s,this.v=t.q,this.D=new tj(this.v,this.w),this.n=0,Q=this.w,s=0,T=Q.length;s<T;++s)f=Q[s],this.n=w.Math.max(this.n,w.Math.max(1+f.i,1+f.j));for(e=h(F,k,6,this.n,15,1),U=this.w,y=0,c=U.length;y<c;++y)f=U[y],++e[f.i],++e[f.j];for(this.j=h(F,D0,7,e.length,0,2),this.k=h(F,D0,7,e.length,0,2),i=0;i<e.length;i++)this.j[i]=h(F,k,6,e[i],15,1),this.k[i]=h(F,k,6,e[i],15,1);for(V9(e,e.length,0),r=0;r<this.w.length;r++)n=gg(this.w[r],0),P=gg(this.w[r],1),this.j[n][e[n]]=P,this.j[P][e[P]]=n,this.k[n][e[n]]=r,this.k[P][e[P]]=r,++e[n],++e[P];for(this.p=h(F,k,6,this.n,15,1),this.o=h(F,k,6,this.n,15,1),this.r=h(F,k,6,this.n,15,1),this.q=h(rt,ft,6,this.n,16,1),this.f=h(F,nA,28,this.n,0,3),A=1;A<this.n;A++)for(this.f[A]=h(F,D0,7,A,0,2),P=0;P<A;P++)this.f[A][P]=EZ(this,A,P);for(this.u=1,D=this.w,L=0,l=D.length;L<l;++L)f=D[L],this.u*=f.d.length;for(m=this.v,v=0,R=m.length;v<R;++v)g=m[v],this.u*=g.b.length;this.u<=0&&(this.u=It),this.F=new Kg(),this.A=new M3((U1(new Fw()),new ew())),this.B=new pi(),this.g=0,this.C=0,this.s=3,this.G=false,this.t=w.Math.min(nP,this.u);}function wa(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p;for(ut(t,7),S=0,y=h(rt,ft,6,t.f,16,1),p=h(F,k,6,t.f,15,1),r=0;r<t.g;r++)A=t.D[0][r],n=t.D[1][r],i=t.s[A],f=t.s[n],i!=0&&f!=0&&i<0^f<0&&(y[A]=true,y[n]=true),p[A]+=dt(t,r),p[n]+=dt(t,r);for(D=0;D<t.f;D++)if(S+=t.s[D],t.s[D]==1){if(t.C[D]==7&&!y[D]){if(p[D]<=3)S-=1,t.s[D]=0,t.T=0,t.j[D]!=t.e[D]&&(wQ(t,_(t,D,t.e[D]-1)),ut(t,7));else if(D<t.f&&i0(t.p,D)){for(g=h(rt,ft,6,t.f,16,1),m=h(rt,ft,6,t.g,16,1),nR(t,D,true,g,m),U=0;U<t.f;U++)if(g[U]&&t.C[U]==7&&t.s[U]==0&&p[U]==2&&_W(t,m,D,U)){S-=1;break;}}}}else if(t.s[D]<0&&(t.C[D]==6||t.C[D]==7||t.C[D]==8||t.C[D]==16))if(y[D]){for(b=h(F,k,6,16,15,1),b[0]=D,C=1,j=0;j<C;){for(P=0;P<t.r;P++)if(e=-1,t.D[0][P]==b[j]?e=t.D[1][P]:t.D[1][P]==b[j]&&(e=t.D[0][P]),e!=-1&&t.s[e]!=0){for(L=false,T=0;T<C;T++)if(e==b[T]){L=true;break;}L||(C==b.length&&(Q=h(F,k,6,2*b.length,15,1),sA(b,0,Q,0,b.length),b=Q),b[C++]=e);}++j;}for(s=0,c=0;c<C;c++)s+=t.s[b[c]];if(s<0){for(v=-1,R=99,l=0;l<C;l++)t.s[b[l]]<0&&R>lb(t.C[b[l]])&&(R=lb(t.C[b[l]]),v=b[l]);v!=-1&&(S-=t.s[v],t.s[v]=0,t.T=0);}}else S-=t.s[D],t.s[D]=0,t.T=0;return S>0&&(S=nW(t,S)),S;}function a5(){a5=B1,Pl=B(d(F,1),k,6,15,[0,oi,14286847,13402367,12779264,16758197,9474192,3166456,16715021,9494608,11789301,11230450,9109248,12560038,1578e4,16744448,16777008,2093087,8442339,9388244,4062976,15132390,12567239,10921643,9083335,10255047,14706227,15765664,5296208,13140019,8224944,12750735,6721423,12419299,16752896,10889513,6076625,7351984,PP,9764863,9756896,7586505,5551541,3907230,2396047,687500,27013,12632256,16767375,10909043,6717568,10380213,13924864,9699476,4366e3,5707663,51456,7394559,16777159,14286791,13107143,10747847,9437127,6422471,4587463,3211207,2097095,65436,58997,54354,48952,43812,5096191,5089023,2200790,2522539,2516630,1528967,13684960,16765219,12105936,10900557,5724513,10375093,11230208,7688005,4358806,4325478,32e3,7384058,47871,41471,36863,33023,27647,5528818,7888099,9064419,10565332,11739092,11739066,11734438,12389767,13041766,13369433,13697103,14221381,14680120,15073326,15400998,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13158600,1334015,56540,15075850,15132160,56540,15075850,15461355,8553170,1016335,1016335,1334015,15132160,3289770,14456450,16422400,16422400,11819700,3289770,1016335]);}function ey(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T;if(t.db[e]!=0||K(t.R,e)!=5&&K(t.R,e)!=6&&K(t.R,e)!=7&&K(t.R,e)!=14&&K(t.R,e)!=15&&K(t.R,e)!=16||(t.Q&C0)!=0&&K(t.R,e)>=14)return  false;if(a1(t.R,e)!=0){if(ZT(t.R,e))return O_(t,e,A);if(K(t.R,e)!=15&&K(t.R,e)!=16)return  false;}if(O(t.R,e)<3||Mt(t.R,e)>4||p1(t.R,e)>0&&K(t.R,e)==6||K(t.R,e)==5&&Mt(t.R,e)!=4)return  false;if(t.R.K){if(Qe(t.R,e))return  false;for(f=0;f<Mt(t.R,e);f++)if(Qe(t.R,_(t.R,e,f)))return  false;}if(K(t.R,e)==7&&!t.S[e])return  false;for(l=h(F,k,6,4,15,1),T=h(F,k,6,4,15,1),U=h(rt,ft,6,4,16,1),D=0;D<Mt(t.R,e);D++){for(r=-1,P=0,Q=0;Q<Mt(t.R,e);Q++)U[Q]||r<t.f[_(t.R,e,Q)]&&(r=t.f[_(t.R,e,Q)],P=Q);l[D]=P,T[D]=r,U[P]=true;}if(Mt(t.R,e)==4&&T[0]==T[1]&&T[2]==T[3]||Mt(t.R,e)==4&&(T[0]==T[2]||T[1]==T[3])||Mt(t.R,e)==3&&T[0]==T[2])return  false;for(L=0,s=0,y=false,i=1;i<Mt(t.R,e);i++)if(T[i-1]==T[i]){if(A==1||T[i]==0)return  false;L=_(t.R,e,l[i-1]),s=_(t.R,e,l[i]),A==3&&fA(t.R,Ot(t.R,e,l[i]))&&(t.W[e]=true),y=true;}return A!=1&&!y?false:(n=t.jb?z_(t,e,l):ra(t,e,l),A==1?t.db[e]=n:A==2&&(n==1?ue(t.e[L],t.f[e]):n==2&&ue(t.e[s],t.f[e])),true);}function Ay(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c;if(m5(t,e),!((t.u[e]&3)==0||(t.u[e]&3)==3)){if(t.o[e]==2&&t.j[e]==2){W$(t,e);return;}if(t.j[e]<3||t.j[e]>4){ce(t,e,0,false);return;}for(A=t.e[e],l=false,i=0;i<A;i++)if(dt(t,t.k[e][i])==1){l=true;break;}if(l){for(T=sY(t,e),n=h(yt,wt,6,A,15,1),f=0;f<A;f++)n[f]=Y0(t,t.i[e][T[f]],e);for(D=0;D<A;D++)t.D[0][t.k[e][D]]==e&&dt(t,t.k[e][D])==1&&(t.H[t.k[e][D]]=1);if(!((t.p&&e<t.f?iA(t.p,e):0)<=24&&eX(t,e,T,n))&&(s=Ns(t,e,true),s!=-1)){for(t.D[0][s]!=e&&(t.D[1][s]=t.D[0][s],t.D[0][s]=e),y=-1,Q=0;Q<A;Q++)if(s==t.k[e][T[Q]]){y=Q;break;}for(c=B(d(F,2),D0,7,0,[B(d(F,1),k,6,15,[2,1,2,1]),B(d(F,1),k,6,15,[1,2,2,1]),B(d(F,1),k,6,15,[1,1,2,2]),B(d(F,1),k,6,15,[2,1,1,2]),B(d(F,1),k,6,15,[2,2,1,1]),B(d(F,1),k,6,15,[1,2,1,2])]),r=1;r<A;r++)n[r]<n[0]&&(n[r]+=F0);if(A==3){switch(U=false,y){case 0:U=n[1]<n[2]&&n[2]-n[1]<Q1||n[1]>n[2]&&n[1]-n[2]>Q1;break;case 1:U=n[2]-n[0]>Q1;break;case 2:U=n[1]-n[0]<Q1;}P=(t.u[e]&3)==1^U?257:129;}else L=0,n[1]<=n[2]&&n[2]<=n[3]?L=0:n[1]<=n[3]&&n[3]<=n[2]?L=1:n[2]<=n[1]&&n[1]<=n[3]?L=2:n[2]<=n[3]&&n[3]<=n[1]?L=3:n[3]<=n[1]&&n[1]<=n[2]?L=4:n[3]<=n[2]&&n[2]<=n[1]&&(L=5),P=(t.u[e]&3)==1^c[L][y]==1?129:257;t.H[s]=P;}}}}function ny(t,e,A){Ap();var n,P,r,i,f,D,Q,U,L,s,y,l,T,c;for(ut(t,7),y=h(NA,a0,6,t.j[e],14,1),s=0,D=0;D<t.j[e];D++)if(P=t.i[e][D],t.C[P]!=1){if(i=0,(A&32)!=0&&(r=t.n[e][D],A==32190?G(r,3)<0&&G8(t,t.k[e][D])&&t.o[e]==1&&(r=0):G(r,3)<0&&_e(t,t.k[e][D])&&(r=0),i=Y(i,M1(r,4))),(A&128)!=0){if(gU[t.C[P]]==-1)throw At(new V1(F6+t.C[P]));i=O1(i,gU[t.C[P]]);}else if((A&64)!=0){if(d4[t.C[P]]==-1)throw At(new V1(F6+t.C[P]));i=O1(i,d4[t.C[P]]);}for((A&256)!=0&&(l=t.j[P]-1,l>3&&(l=3),(A&512)==0&&l>1&&(l=1),i=Y(i,l<<6)),(A&re)!=0&&(t.u[P]&8)!=0&&(i=Y(i,256)),(A&I1)!=0&&P<t.f&&i0(t.p,P)&&(i=Y(i,512)),(A&Sn)!=0&&(t.u[P]&ge)!=0&&(i=Y(i,re)),U=0;G(i,y[U])<0;)++U;for(L=D;L>U;L--)y[L]=y[L-1];y[U]=i,++s;}for(s>4&&(s=4),n=0,Q=0;Q<s;Q++)n=M1(n,11),n=Y(n,y[Q]);if(n=M1(n,15),gU[t.C[e]]==-1)throw At(new V1(F6+t.C[e]));if(n=Y(n,gU[t.C[e]]),(A&2)!=0?(c=t.p&&e<t.f?iA(t.p,e):0,c>9&&(c=9),c>2&&(c-=2),n=Y(n,c<<4)):(A&1)!=0&&(t.u[e]&8)!=0&&(n=Y(n,64)),(A&4)!=0&&e<t.f&&i0(t.p,e)&&(n=Y(n,re)),(A&8)!=0&&(t.u[e]&C0)!=0&&(n=Y(n,I1)),(A&16)!=0&&(t.u[e]&ge)!=0&&(n=Y(n,C0)),(A&C0)!=0&&(bK(t,e)&&(n=Y(n,ge)),Sa(t,e))){for(f=0;f<t.f;f++)if(XW(t,f)){n=Y(n,Sn);break;}}return (A&ge)!=0&&(T=E5(t,e,10),n=Y(n,M1(T,7))),n;}function t6(t,e){Is();var A,n,P,f,D,Q,L,y,l,T,c,g,m,v,R,j,C,S,x,a,E,X;if(S=t.e,l=t.d,P=t.a,S==0)switch(e){case 0:return "0";case 1:return "0.0";case 2:return "0.00";case 3:return "0.000";case 4:return ky;case 5:return "0.00000";case 6:return "0.000000";default:return j=new V0(),j.a+="0E",j.a+=-e,j.a;}if(v=l*10+1+7,R=h(l9,a0,6,v+1,15,1),A=v,l==1){if(f=P[0],f<0){X=V(f,h1);do T=X,X=Mn(X,10),R[--A]=48+zt(l0(T,Un(X,10)))&w1;while(G(X,0)!=0);}else {X=f;do T=X,X=X/10|0,R[--A]=48+(T-X*10)&w1;while(X!=0);}}else {x=h(F,k,6,l,15,1),E=l,sA(P,0,x,0,E);t:for(;;){for(C=0,Q=E-1;Q>=0;Q--)a=O1(M1(C,32),V(x[Q],h1)),g=mY(a),x[Q]=zt(g),C=zt(q0(g,32));m=zt(C),c=A;do R[--A]=48+m%10&w1;while((m=m/10|0)!=0&&A!=0);for(n=9-c+A,D=0;D<n&&A>0;D++)R[--A]=48;for(L=E-1;x[L]==0;L--)if(L==0)break t;E=L+1;}for(;R[A]==48;)++A;}if(y=S<0,e==0)return y&&(R[--A]=45),tP(R,A,v-A);}function Py(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y;if(f=O(t.H,e),n=t.o[A],n>f)return  false;if(Q=o0(t.H,e),r=o0(t.g,A),P=MA(t.g,A),D=MA(t.H,e),gt(V(r,1),0)){if(P!=null){if(gt(V(Q,1),0)){if(D==null||!am(P,D))return  false;}else if(D!=null){if(RJ(D,P))return  false;}else if(Ev(K(t.H,e),P))return  false;}}else {if(gt(V(Q,1),0))return  false;if(P!=null){if(D!=null){if(!am(D,P))return  false;}else if(!Ev(K(t.H,e),P))return  false;}else if(D!=null||t.J[e]!=t.k[A])return  false;}if(gt(Y(Q,r),0)){if(gt(V(r,I1),0)){if(t.H.K&&P0(V(Q,I1),0))return  false;if(n!=f)return  false;}if(gt(V(r,C0),0)&&n>=f&&P0(V(Q,C0),0))return  false;}if(gt(V(t.I[e],Jn(t.j[A])),0)||gt(V(t.B[A],Jn(t.M[e])),0))return  false;if(i=V(r,rr),t.H.K){if(U=V(r,rr),G(U,0)!=0&&(G(i,0)==0||gt(V(i,Jn(U)),0)))return  false;}else if(G(i,0)!=0&&P0(V(i,t.M[e]),0))return  false;return p1(t.g,A)!=0&&p1(t.g,A)!=p1(t.H,e)||ye(t.g,A)!=0&&ye(t.g,A)!=ye(t.H,e)||FA(t.g,A)!=0&&FA(t.g,A)!=FA(t.H,e)||(L=V(r,F2),G(L,0)!=0&&I_(t.H,e)!=zt(q0(L,47))-7)?false:(s=V(r,f9),G(s,0)!=0?(s=q0(s,22),t.H.K?(y=zt(q0(V(o0(t.H,e),f9),22)),zt(s)==y):M9(t.H,e)==zt(s)):true);}function ga(t,e){var A,n,P,r,i,f,D,Q;if(A=0,i=0,r=e.length,f=null,Q=new k9(),i<r&&(Xt(i,e.length),e.charCodeAt(i)==43)&&(++i,++A,i<r&&(Xt(i,e.length),e.charCodeAt(i)==43||(Xt(i,e.length),e.charCodeAt(i)==45))))throw At(new YP(g2+e+'"'));for(;i<r&&(Xt(i,e.length),e.charCodeAt(i)!=46)&&(Xt(i,e.length),e.charCodeAt(i)!=101)&&(Xt(i,e.length),e.charCodeAt(i)!=69);)++i;if(Q.a+=""+(pt(A,i,(e??Pr).length),(e??Pr).substr(A,i-A)),i<r&&(Xt(i,e.length),e.charCodeAt(i)==46)){for(++i,A=i;i<r&&(Xt(i,e.length),e.charCodeAt(i)!=101)&&(Xt(i,e.length),e.charCodeAt(i)!=69);)++i;t.e=i-A,Q.a+=""+(pt(A,i,(e??Pr).length),(e??Pr).substr(A,i-A));}else t.e=0;if(i<r&&(Xt(i,e.length),e.charCodeAt(i)==101||(Xt(i,e.length),e.charCodeAt(i)==69))&&(++i,A=i,i<r&&(Xt(i,e.length),e.charCodeAt(i)==43)&&(++i,i<r&&(Xt(i,e.length),e.charCodeAt(i)!=45)&&++A),f=(pt(A,r,e.length),e.substr(A,r-A)),t.e=t.e-c1(f,o1,It),t.e!=vt(t.e)))throw At(new YP("Scale out of range."));if(D=Q.a,D.length<16){if(t.f=(Dc==null&&(Dc=new RegExp("^[+-]?\\d*$","i")),Dc.test(D)?parseInt(D,10):NaN),isNaN(t.f))throw At(new YP(g2+e+'"'));t.a=vs(t.f);}else yh(t,new jg(D));for(t.d=Q.a.length,P=0;P<Q.a.length&&(n=Yi(Q.a,P),!(n!=45&&n!=48));++P)--t.d;t.d==0&&(t.d=1);}function Dp(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c;for(this.j=t,n=0;n<t.i.f;n++)t.f[n]&&(t.o[n]==1||t.o[n]==2)&&(t.k[n]==1?this.a<=t.j[n]&&(this.a=1+t.j[n]):t.k[n]==2&&this.i<=t.j[n]&&(this.i=1+t.j[n]));for(this.b=this.a+this.i,this.e=R1(rt,[h0,ft],[12,6],16,[this.b+1,t.g.length+1],2),P=0;P<t.i.f;P++)t.f[P]&&(t.o[P]==1||t.o[P]==2)&&!t.e[P]&&(this.e[cv(this,P)][t.g.length]=true);for(D=0;D<t.g.length;D++)for(c=0;c<t.g[D].length;c++)A=t.g[D][c],t.f[A]&&(t.o[A]==1||t.o[A]==2)&&(this.e[cv(this,A)][D]=true);for(this.d=h(F,D0,7,this.b,0,2),Q=0;Q<t.g.length;Q++)for(y=1;y<this.b;y++)if(this.e[y][Q])for(l=0;l<y;l++)this.e[l][Q]&&(this.d[y]=rf(this.d[y],l),this.d[l]=rf(this.d[l],y));for(this.c=h(F,k,6,this.b+1,15,1),s=0;s<this.b;s++)this.e[s][t.g.length]?this.c[s]=-1:this.c[s]=-2;for(U=0;U<t.g.length;U++)if(this.e[this.b][U])for(L=0;L<this.b;L++)this.e[L][U]&&this.c[L]!=U&&(this.c[L]==-2?this.c[L]=U:this.c[L]=-3);for(e=0;e<this.b;e++)if(this.c[e]>=-1&&(r=h(F,k,6,this.b,15,1),OK(this,r,e)))for(L=0;L<this.b;L++)r[L]!=0&&(this.c[L]=-3);for(f=0;f<t.g.length-1;f++)for(y=1;y<this.b;y++)if(this.e[y][f]&&this.c[y]!=-3){for(l=0;l<y;l++)if(this.e[l][f]&&this.c[l]!=-3&&(i=Q_(this,y,l,f),i!=null)){for(T=0;T<i.length;T++)this.c[i[T]]=-3;bW(this,i);break;}}}function da(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a,E,X,tt,W,$,et,lt,st,ct;for(t.e=h(yt,wt,6,t.d,15,1),n=h(yt,wt,6,t.d,15,1),Q=h(yt,wt,6,t.d,15,1),S=h(yt,wt,6,t.d,15,1),ct=h(yt,wt,6,t.d,15,1),m=h(yt,wt,6,t.d*t.d,15,1),L=0;L<t.d;L++)S[L]=t.i[L];for(f=is(t,t.i),Hb(t),x=0,s=0;s<t.d;s++)m[s*t.d+s]=1,ct[s]=-t.e[s],x+=t.i[s]*t.i[s];for(C=100*w.Math.max(w.Math.sqrt(x),t.d),X=(x1(),E1(Date.now())),R=1;R<=e&&!t.f;R++){if(p=C$(t,t.i,f,ct,S,C),p<0)return 2;for(f=t.k,et=0,y=0;y<t.d;y++)ct[y]=S[y]-t.i[y],t.i[y]=S[y],W=w.Math.abs(ct[y])/w.Math.max(w.Math.abs(t.i[y]),1),W>et&&(et=W),n[y]=t.e[y];if(et<12e-8)return 0;for(D=Hb(t),et=0,$=w.Math.max(t.k*D,1),l=0;l<t.d;l++)st=w.Math.abs(t.e[l])*w.Math.max(w.Math.abs(t.i[l]),1),et=w.Math.max(et,st),n[l]=t.e[l]-n[l];if(et/=$,et<A)return 0;for(P=0,i=0,a=0,E=0,T=0;T<t.d;T++){for(v=T*t.d,Q[T]=0,b=0;b<t.d;b++)Q[T]+=m[v+b]*n[b];P+=n[T]*ct[T],i+=n[T]*Q[T],a+=n[T]*n[T],E+=ct[T]*ct[T];}if(P>w.Math.sqrt(3e-8*a*E)){for(P=1/P,r=1/i,c=0;c<t.d;c++)n[c]=P*ct[c]-r*Q[c];for(g=0;g<t.d;g++)for(v=g*t.d,b=g;b<t.d;b++)m[v+b]+=P*ct[g]*ct[b]-r*Q[g]*Q[b]+i*n[g]*n[b],m[b*t.d+g]=m[v+b];}for(U=0;U<t.d;U++)for(v=U*t.d,ct[U]=0,b=0;b<t.d;b++)ct[U]-=m[v+b]*t.e[b];if(tt=E1(Date.now()),lt=l0(tt,X),hu(lt,t.j)){for(j=new Wt(t.c);j.a<j.c.a.length;)t1(j),null.vd();X=tt;}}return 1;}function Ba(t){var e,A,n,P,r,i,f,D,Q,U,L,s;for(e=0;t.a.length!=0;){if(t.a.length==1){if(t.e==1||t.e==0)break;if(t.e==2&&(t.a[0]==0||t.a[0]==180))break;if(t.e==3&&(t.a[0]==0||t.a[0]==90))break;}for(s=t.a[0]!=0&&(t.e==2||t.e==3)?-1:0,L=-1,U=It,i=s;i<t.a.length;i++)D=i+1,A=i>=0?t.a[i]:-t.a[0],n=D<t.a.length?t.a[D]:t.e==1?t.a[0]+180:t.e==2?360-t.a[t.a[i]==180?i-1:i]:t.e==3?180-t.a[t.a[i]==90?i-1:i]:t.a[0]+360,U>n-A&&(U=n-A,L=i);if(U>15)break;r=L,f=r+1,r==-1?(e+=t.c[0],t.a[0]=0,t.c[0]=t.c[0]*2<<16>>16,t.d[0][0]=-t.d[0][1]):f<t.a.length?(Q=Xu(t,r,f,t.a[f]),cf(t,Q,r,f,t.d[r][0],t.d[f][1])):t.e==1?(f=0,Q=Xu(t,r,f,t.a[f]+180),Q<=180?cf(t,Q,r,f,t.d[r][0],t.d[f][1]+180):cf(t,Q-180,f,r,t.d[f][0],t.d[r][1]-180)):t.e==2?(f=t.a[r]==180?r-1:r,t.a[r]<180?(e+=t.c[r],t.a[r]=180,t.c[r]=t.c[r]*2<<16>>16,t.d[r][1]=360-t.d[r][0]<<16>>16):(x1(),Q=Xu(t,r,f,t.a[f]),cf(t,Q,f,r,t.d[f][0],t.d[r][1]))):t.e==3?(f=t.a[r]==90?r-1:r,t.a[r]<90?(e+=t.c[r],t.a[r]=90,t.c[r]=t.c[r]*2<<16>>16,t.d[r][1]=180-t.d[r][0]<<16>>16):(x1(),Q=Xu(t,r,f,t.a[f]),cf(t,Q,f,r,t.d[f][0],t.d[r][1]))):(f=0,Q=Xu(t,r,f,t.a[f]+360),Q<=360?cf(t,Q,r,f,t.d[r][0],t.d[f][1]+360):cf(t,Q-360,f,r,t.d[f][0],t.d[r][1]-360));}if(e!=0)for(P=0;P<t.c.length;P++)t.c[P]=vt(w.Math.round(100*t.c[P]/(100+e)))<<16>>16;}function up(t,e){var A,n,P,r,i,f,D,Q;if(D=0,t.K){switch(e<t.f&&S3(t.p,e)?D=Y(D,p6):e<t.f&&i0(t.p,e)&&(D=Y(D,2)),Q=(P=t.u[e]&hn,P==0?0:P==re?2:P==I1?3:4),Q!=0&&(D=Y(D,8),Q>2&&(D=Y(D,16)),Q>3&&(D=Y(D,32))),A=t.s[e],A<0?D=Y(D,Mf):A>0&&(D=Y(D,Cf)),i=t.j[e],i){case 0:break;case 1:D=Y(D,I0);break;case 2:D=Y(D,yi);break;case 3:D=Y(D,SP);break;default:D=Y(D,Hf);}switch(n=eh(t,e),n){case 0:break;case 1:D=Y(D,v2);break;case 2:D=Y(D,Ly);break;case 3:D=Y(D,sy);break;default:D=Y(D,tU);}f=t.o[e],f>0&&(D=Y(D,Sn)),f>1&&(D=Y(D,s8));}else {switch(e<t.f&&S3(t.p,e)?D=Y(D,p6):e<t.f&&i0(t.p,e)?D=Y(D,2):D=Y(D,4),(t.u[e]&Tn)!=0?D=Y(D,KQ):D=Y(D,XQ),Q=(P=t.u[e]&hn,P==0?0:P==re?2:P==I1?3:4),Q==0?D=Y(D,112):Q==2?D=Y(D,104):Q==3?D=Y(D,88):D=Y(D,56),A=t.s[e],A==0?D=Y(D,WQ):A<0?D=Y(D,Mf):D=Y(D,Cf),r=t.e[e]-e0(t,e)+xt(t,e),r){case 0:D=Y(D,1792);break;case 1:D=Y(D,1664);break;case 2:D=Y(D,1408);break;default:D=Y(D,896);}switch(i=t.j[e],i){case 0:D=Y(D,3932160);break;case 1:D=Y(D,_Q);break;case 2:D=Y(D,d2);break;case 3:D=Y(D,B2);break;default:D=Y(D,Hf);}switch(n=eh(t,e),n){case 0:D=Y(D,uy);break;case 1:D=Y(D,Qy);break;case 2:D=Y(D,Uy);break;case 3:D=Y(D,oy);break;default:D=Y(D,tU);}switch(f=t.o[e],f){case 0:D=Y(D,98304);break;case 1:D=Y(D,81920);break;default:D=Y(D,49152);}}return D;}function Qp(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b;for(D=h(F,k,6,t.i.f,15,1),g=h(F,k,6,t.i.f,15,1),l=h(rt,ft,6,t.i.f,16,1),Q=h(rt,ft,6,t.i.f,16,1),m=new Xg(t.i.f),D[0]=e,g[e]=A,g[A]=-2,m.a[e]=true,m.a[A]=true,r=0,U=0;r<=U;){if(i=D[r],g[i]==i){for(L=0;L<O(t.i,i);L++)if(n=_(t.i,i,L),!m.a[n]){if(pA(t.i,i,L)==2&&K(t.i,n)<10)D[++U]=n,g[n]=n,Q[n]=Q[i]||a1(t.i,n)==2,l[n]=Q[i]&&!l[i],m.a[n]=true;else if(Q[i]&&l[i]){if(v=Eb(t,n,g[i],m.a),v==-1)return null;D[++U]=n,g[n]=v,g[v]=-2,Q[n]=false,m.a[n]=true,m.a[v]=true;}else if(fA(t.i,Ot(t.i,i,L))&&(D[++U]=n,g[n]=n,Q[n]=false,m.a[n]=true,(K(t.i,n)==6&&a1(t.i,n)==0||K(t.i,n)==7&&p1(t.i,n)==1||K(t.i,n)==14||K(t.i,n)==15&&O(t.i,n)>2||K(t.i,n)==16&&O(t.i,n)>2)&&O(t.i,n)>2)){for(f=false,T=1;T<O(t.i,n);T++)if(R=_(t.i,n,T),!m.a[R])for(c=0;c<T;c++)b=_(t.i,n,c),m.a[b]||Xs(t,R,b)&&(D[++U]=R,g[R]=b,g[b]=-2,Q[R]=false,m.a[R]=true,m.a[b]=true,f=true);if(!f)return null;}}}else {for(P=h(rt,ft,6,O(t.i,i),16,1),s=0;s<O(t.i,i);s++)if(n=_(t.i,i,s),m.a[n])P[s]=g[n]==n;else for(T=0;T<O(t.i,n);T++)if(_(t.i,n,T)==g[i]){P[s]=true;break;}for(y=0;y<O(t.i,i);y++)if(P[y])if(n=_(t.i,i,y),m.a[n]){if(D1(t.i,n,g[i])==-1)return null;}else D[++U]=n,g[n]=n,l[n]=false,Q[n]=true,m.a[n]=true;for(L=0;L<O(t.i,i);L++)if(!P[L]&&(n=_(t.i,i,L),!m.a[n])){if(v=Eb(t,n,g[i],m.a),v==-1)return null;D[++U]=n,g[n]=v,g[v]=-2,Q[n]=false,m.a[n]=true,m.a[v]=true;}}++r;}return m;}function va(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y,l,T;switch(s=t.X,t.X=0,s){case 1:if(l=ZA(t.V,t.ib,t.lb),l!=-1&&De(t.V,l)==8)return;z1(t),t.e==-1&&(t.e=W0(t.V,t.hb,t.kb,0)),l==-1&&(l=W0(t.V,t.ib,t.lb,0)),t.e!=-1&&l!=-1&&(P=_0(t.V,t.e)||_0(t.V,l)?16:1,t.w==6&&(P=257),t.w==23&&(P=129),wb(t.V,t.e,l,P)),t.eb=w.Math.max(t.eb,3),n1(t.k),N1(t,new q1(t,1,true));break;case 2:if(z1(t),t.q>0&&(t.e==-1&&(t.e=W0(t.V,t.hb,t.kb,0)),t.n[0]==-1&&(t.n[0]=W0(t.V,t.o[0],t.p[0],0)),t.n[0]!=-1&&tL(t.V,t.e,t.n[0])),t.q>1)for(f=1;f<t.q;f++)t.n[f]==-1&&(t.n[f]=W0(t.V,t.o[f],t.p[f],0)),t.n[f]!=-1&&tL(t.V,t.n[f-1],t.n[f]);t.eb=w.Math.max(t.eb,3),n1(t.k),N1(t,new q1(t,1,true));break;case 3:case 4:case 7:t.eb=w.Math.max(t.eb,3),n1(t.k),N1(t,new q1(t,1,true));break;case 10:t.eb=w.Math.max(t.eb,3),n1(t.k);break;case 5:case 6:for(y=false,i=0;i<t.V.q;i++)if(t.P[i]!=r0(t.V,i)){y=true;break;}n1(t.k),y&&N1(t,new q1(t,2,true));break;case 8:if(L=false,n=t.t,n!=-1&&t.V.K&&Qe(t.V,n)&&(n=-1),Q=C1(t.V,t.e),n==-1){if(z1(t),Q!=0){for(L=true,T=false,e=0;e<t.V.f;e++)C1(t.V,e)==Q&&(T=T|Bn(t.V,e),Ze(t.V,e,0,false));jU&&!T&&hQ(t);}}else {if(z1(t),L=true,T=false,t.e==n)for(D=C1(t.V,t.e),e=0;e<t.V.f;e++)C1(t.V,e)==D&&(T=T|Bn(t.V,e),Ze(t.V,e,0,false));else {for(U=C1(t.V,n),A=0;A<t.V.f;A++)(C1(t.V,A)==Q||C1(t.V,A)==U)&&Ze(t.V,A,0,false);for(r=1,e=0;e<t.V.f;e++)C1(t.V,e)==r&&(++r,e=-1);Ze(t.V,t.e,r,false),Ze(t.V,n,r,false);}jU&&!T&&hQ(t);}L&&kL(t,w.Math.max(t.eb,1)),n1(t.k);}}function Fa(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R;if(v=kA(t.hb,t.kb,t.ib,t.lb),g=t.ib-t.hb,m=t.lb-t.kb,L=t.q,s=0,l=0,y=0,T=0,L>0&&(s=zt(E1(w.Math.round(t.o[0]))),l=zt(E1(w.Math.round(t.p[0])))),L>1&&(y=zt(E1(w.Math.round(t.o[1]))),T=zt(E1(w.Math.round(t.p[1])))),D=0,t.e==-1||De(t.V,t.e)==0)D=AA*Jr(E1(w.Math.round(v*3/Q1)));else if(De(t.V,t.e)==1)A=Y0(t.V,_(t.V,t.e,0),t.e),n=A-AA,P=A+AA,D=w.Math.abs(Je(v,n))<w.Math.abs(Je(v,P))?n:P;else {for(r=h(yt,wt,6,De(t.V,t.e),15,1),U=0;U<De(t.V,t.e);U++)r[U]=Y0(t.V,t.e,_(t.V,t.e,U));for(r.sort(Fe(vi.prototype.gd,vi,[])),Q=0;Q<r.length;Q++){if(c=Q==0?r[r.length-1]-F0:r[Q-1],c<v&&v<r[Q]){D=(r[Q]+c)/2;break;}if(c<v-F0&&v-F0<r[Q]){D=(r[Q]+c)/2;break;}}}if(e=Pn(t.V,24*t.ab),t.q=w.Math.abs(Je(v,D))>AA?0:vt(w.Math.sqrt(g*g+m*m)/e),t.q>0){for((t.o==null||t.o.length<t.q)&&(t.o=h(yt,wt,6,t.q,15,1),t.p=h(yt,wt,6,t.q,15,1)),i=h(yt,wt,6,2,15,1),f=h(yt,wt,6,2,15,1),R=Je(v,D)<0?D-AA:D+AA,i[0]=e*w.Math.sin(D),f[0]=e*w.Math.cos(D),i[1]=e*w.Math.sin(R),f[1]=e*w.Math.cos(R),U=0;U<t.q;U++)t.o[U]=(U==0?t.hb:t.o[U-1])+i[U&1],t.p[U]=(U==0?t.kb:t.p[U-1])+f[U&1];for(t.n=h(F,k,6,t.q,15,1),Q=0;Q<t.q;Q++)t.n[Q]=ZA(t.V,t.o[Q],t.p[Q]),t.n[Q]!=-1&&(t.o[Q]=kt(t.V,t.n[Q]),t.p[Q]=jt(t.V,t.n[Q]));}return L!=t.q||t.q!=0&&(s!=zt(E1(w.Math.round(t.o[0])))||l!=zt(E1(w.Math.round(t.p[0]))))||t.q>1&&(y!=zt(E1(w.Math.round(t.o[1])))||T!=zt(E1(w.Math.round(t.p[1]))));}function ma(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a,E,X,tt,W,$,et,lt,st,ct;for(lt=new f1(),g=new Wt(t.g);g.a<g.c.a.length;)if(c=t1(g),c.g!=-1&&(v=D1(t.k,c.a,c.g),!fi(t.k,v)&&!WP(t.k,v)&&(qe(t.k,v)==1||qe(t.k,v)==2))){if($=N(t.g,t.q[c.g]),A=h(F,k,6,O(t.k,c.a)+O(t.k,$.a)-2,15,1),S=0,et=false,$.g!=-1)A[S++]=$.b;else {for(R=-1,st=-1,b=It,x=0;x<O(t.k,$.a);x++)L=_(t.k,$.a,x),L!=c.a&&(R==-1?(R=x,b=t.q[L]):b<t.q[L]?st=x:(st=R,R=x));st==-1?(X=_(t.k,$.a,R),tt=Ot(t.k,$.a,R),A[S++]=tt|(QQ(t,$.a,X)?cn:0)):(s=_(t.k,$.a,R),l=Ot(t.k,$.a,R),y=_(t.k,$.a,st),T=Ot(t.k,$.a,st),A[S++]=l|(QQ(t,$.a,s)?cn:0),A[S++]=T|(QQ(t,$.a,y)?0:cn));}if(O(t.k,$.a)==3&&$.g!=-1){for(x=0;x<O(t.k,$.a);x++)if(L=_(t.k,$.a,x),L!=$.g&&L!=c.a){n=Ot(t.k,$.a,x),A[S++]=n|(QQ(t,$.a,L)?cn:0),L<$.g&&(et=!et);break;}}for(qe(t.k,v)==2&&(et=!et),p=0;p<O(t.k,c.a);p++)if(D=_(t.k,c.a,p),D!=c.g){if(C=et,O(t.k,c.a)==3){for(E=0;E<O(t.k,c.a);E++)if(L=_(t.k,c.a,E),L!=c.g&&L!=D){L<D&&(C=!C);break;}}wo(t.k,v)&&(j=Tq(t.d,v),t.n[j]||(t.n[j]=true,t.o[j]=C),t.o[j]&&(C=!C)),Q=D1(t.k,c.a,D),A[S++]=Q|(C^QQ(t,c.a,D)?0:cn);}lt.a.push(A);}for(t.f=h(F,k,6,t.k.g,15,1),lt.a.length!=0&&Dh(t,LA(lt,0),false);lt.a.length!=0;){for(ct=lt.a.length,p=lt.a.length-1;p>=0;p--){for(A=(ve(p,lt.a.length),lt.a[p]),W=0,a=false,U=false,r=A,i=0,f=r.length;i<f;++i)P=r[i],e=P&1073741823,t.f[e]!=0&&(m=(P&cn)!=0^t.f[e]==2,W==0?a=m:a!=m&&(U=true),++W);W!=0&&(A=LA(lt,p),U||Dh(t,A,a));}ct==lt.a.length&&Dh(t,LA(lt,0),false);}}function Up(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p;for(this.d=t,p=OQ(e,false,null),(p.g.a.length!=1||p.f.a.length!=1)&&x1(),p.c||cQ(p)||x1(),this.g=N(p.g,0),this.f=N(p.f,0),ut(this.g,1),ut(this.f,63),Q=new pi(),this.c=h(F,k,6,this.g.f+1,15,1),this.c[0]=-1,n=0;n<this.g.f;n++)C1(this.g,n)!=0&&(this.c[C1(this.g,n)]=n);for(_K(this,this.c),j=h(rt,ft,6,this.g.g,16,1),g=0;g<this.f.g;g++)T=z(this.f,0,g),c=z(this.f,1,g),s=C1(this.f,T),y=C1(this.f,c),s!=0&&y!=0&&(P=this.c[s],r=this.c[y],m=Lu(this.f,g),b=D1(this.g,P,r),b==-1?X8(Q,new As(P,r,s,y,m)):((ee(this.g,b)&31)==0&&(C=Lu(this.g,b),C!=m&&X8(Q,new As(P,r,s,y,m))),j[b]=true));for(D=0;D<this.g.g;D++)j[D]||(P=z(this.g,0,D),r=z(this.g,1,D),!Qe(this.g,P)&&!Qe(this.g,r)&&(s=C1(this.g,P),y=C1(this.g,r),(s!=0||y!=0)&&X8(Q,new As(P,r,s,y,-1))));for(this.k=Gq(Q,h(ltt,{471:1,4:1,5:1,11:1,8:1},148,0,0,1)),U=0,i=0;i<this.g.f;i++)C1(this.g,i)==0&&!Qe(this.g,i)&&++U;for(this.j=h(F,k,6,U,15,1),U=0,f=0;f<this.g.f;f++)C1(this.g,f)==0&&!Qe(this.g,f)&&(this.j[U++]=f);for(this.n=new f1(),L=h(rt,ft,6,this.f.f,16,1),A=0;A<this.f.f;A++)C1(this.f,A)==0&&!Qe(this.f,A)&&!L[A]&&mt(this.n,new pb(this.f,A,L));for(this.b=this.j.length==0&&this.n.a.length==0,this.a=h(F,k,6,0,15,1),l=0;l<this.f.f;l++)v=d0(this.f,l),(v==1||v==2)&&(R=this.c[C1(this.f,l)],R!=-1&&(S=d0(this.g,R),OY(this,l,this.c)==(S==v)&&(this.a=bn(this.a,this.a.length+1),this.a[this.a.length-1]=R)));this.e=KY(this);}function e6(){e6=B1,zV=B(d(it,1),Dt,2,6,["[N](-*)(-*)-*","[N](-*)=*","[N]#*","[N](-*)(=*)=* as in nitro","[N](=*)#* middle atom of azide","[N]1(-*)-*-*-1 3-membered ring","[NH](-*)-*","[NH]1-*-*-1 3-membered ring","[NH]=*","[NH2]-*","[N+](-*)(-*)(-*)-*","[N+](-*)(-*)=*","[N+](-*)#* N in isocyano","[NH+](-*)(-*)-*","[NH+](-*)=*","[NH2+](-*)-*","[NH2+]=*","[NH3+]-*","[n](:*):*","[n](:*)(:*):*","[n](-*)(:*):*","[n](=*)(:*):* as in pyridine-N-oxid","[nH](:*):*","[n+](:*)(:*):*","[n+](-*)(:*):*","[nH+](:*):*","[O](-*)-*","[O]1-*-*-1 3-membered ring","[O]=*","[OH]-*","[O-]-*","[o](:*):*","[S](-*)-*","[S]=*","[S](-*)(-*)=*","[S](-*)(-*)(=*)=*","[SH]-*","[s](:*):*","[s](=*)(:*):*","[P](-*)(-*)-*","[P](-*)=*","[P](-*)(-*)(-*)=*","[PH](-*)(-*)=*"]),xP=B(d(Ee,1),PA,6,15,[3.240000009536743,12.359999656677246,23.790000915527344,11.680000305175781,13.600000381469727,tV,12.029999732971191,21.940000534057617,23.850000381469727,26.020000457763672,0,tV,4.360000133514404,4.440000057220459,13.970000267028809,16.610000610351562,25.59000015258789,27.639999389648438,12.890000343322754,4.409999847412109,4.929999828338623,8.390000343322754,15.789999961853027,4.099999904632568,3.880000114440918,14.140000343322754,9.229999542236328,12.529999732971191,17.06999969482422,20.229999542236328,23.059999465942383,13.140000343322754,25.299999237060547,32.09000015258789,19.209999084472656,8.380000114440918,38.79999923706055,28.239999771118164,21.700000762939453,13.59000015258789,34.13999938964844,9.8100004196167,23.469999313354492]);}function ka(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p;i=h(yt,wt,6,t.q,15,1);t:for(r=0;r<i.length;r++){switch(p=t.a[r],i[r]=0,p){case 32:case 72:for(Q=0;Q<t.e[r];Q++){for(g=t.i[r][Q],R=t.a[g],T=0,c=0,L=0;L<t.e[g];L++)m=t.i[g][L],t.C[m]==7&&t.e[m]+xt(t,m)==2&&!(m<t.f&&i0(t.p,m))&&++T,(t.C[m]==8||t.C[m]==16)&&t.e[m]+xt(t,m)==1&&++c;if(t.C[g]==16&&c==2&&T==1&&(T=0),t.C[g]==6&&c>0){i[r]=c==1?-1:-(c-1)/c;continue t;}if(R==45&&c==3){i[r]=-0.3333333333333333;continue t;}if(R==25&&c>0){i[r]=c==1?0:-(c-1)/c;continue t;}if(R==18&&c>0){i[r]=T+c==2?0:-(T+c-2)/c;continue t;}if(R==73&&c>0){i[r]=c==1?0:-(c-1)/c;continue t;}if(R==77&&c>0){i[r]=-1/c;continue t;}}break;case 76:for(C=0,S=(ut(t,7),t.p),j=0;j<S.j.a.length;j++)if(yA(S,j,r)){C=j;break;}if(C<S.j.a.length){for(l=0,A=N(S.j,C),n=0,P=A.length;n<P;++n)e=A[n],e>-1&&t.a[e]==76&&++l;if(l>0){i[r]=-1/l;continue t;}}break;case 55:case 56:case 81:for(i[r]=t.s[r],y=1,b=0,f=h(rt,ft,6,t.q,16,1),f[r]=true;y>b;)for(b=y,U=0;U<t.q;U++)if(f[U]){for(L=0;L<t.e[U];L++)if(g=t.i[U][L],R=t.a[g],!(R!=57&&R!=80))for(s=0;s<t.e[g];s++)m=t.i[g][s],v=t.a[m],!(v!=55&&v!=56&&v!=81)&&(f[m]||(f[m]=true,i[r]+=t.s[m],++y));}i[r]/=y;continue t;case 61:for(D=0;D<t.e[r];D++)if(g=t.i[r][D],t.a[g]==42){i[r]=1;continue t;}continue t;case 34:case 49:case 51:case 54:case 58:case 92:case 93:case 94:case 97:i[r]=1;continue t;case 87:case 95:case 96:case 98:case 99:i[r]=2;continue t;case 88:i[r]=3;continue t;case 35:case 62:case 89:case 90:case 91:i[r]=-1;continue t;}i[r]=0;}return i;}function ba(t,e,A){var n,P,r,i;for(t.u=e,t.a=A,n=vt(w.Math.round((de==-1&&(de=globalThis.devicePixelRatio||1),de*8))),P=B(d(F,1),k,6,15,[n,-1,-2,-2,n]),i=B(d(F,1),k,6,15,[n,-2,n,-2,-2,-2,-2,-2,-2,-2,n,-2,n,-2,n,-2,n,-2,2*n,-2,n/2|0,-2,n/2|0,-2,2*n]),_o(t.s,P,i),he(t.s,oe(t.s,"Desired Bond type(s):"),1,1,3,1),t.k=fn(t.s,"Single"),he(t.s,t.k,1,3,3,3),t.c=fn(t.s,"Double"),he(t.s,t.c,1,4,3,4),t.n=fn(t.s,"Triple"),he(t.s,t.n,1,5,3,5),t.i=fn(t.s,"Quadruple"),he(t.s,t.i,1,6,3,6),t.j=fn(t.s,"Quintuple"),he(t.s,t.j,1,7,3,7),t.b=fn(t.s,"Delocalized"),he(t.s,t.b,1,8,3,8),t.g=fn(t.s,"Coordinate (0-order)"),he(t.s,t.g,1,9,3,9),t.q=oA(t.s),Gt(t.q,"any ring state"),Gt(t.q,fV),Gt(t.q,"is any ring bond"),Gt(t.q,"is non-aromatic ring bond"),Gt(t.q,"is aromatic bond"),Gt(t.q,"is any non-aromatic bond"),JP(t.q,t),he(t.s,t.q,1,11,3,11),t.r=oA(t.s),Gt(t.r,"any ring size"),Gt(t.r,"is in 3-membered ring"),Gt(t.r,"is in 4-membered ring"),Gt(t.r,"is in 5-membered ring"),Gt(t.r,"is in 6-membered ring"),Gt(t.r,"is in 7-membered ring"),Gt(t.r,"smallest ring 8 to 11"),Gt(t.r,"smallest ring >= 12"),he(t.s,t.r,1,13,3,13),t.e=fn(t.s,"Match formal bond order"),uA(t.e,(e.G[A]&Ef)!=0),JP(t.e,t),he(t.s,t.e,1,15,3,15),t.f=fn(t.s,"Match Stereo Configuration"),uA(t.f,(e.G[A]&h8)!=0),JP(t.f,t),he(t.s,t.f,1,17,3,17),t.d=fn(t.s,"Is atom bridge between"),JP(t.d,t),he(t.s,t.d,1,19,3,19),t.p=oA(t.s),r=0;r<16;r++)Gt(t.p,""+r);f0(t.s,t.p,2,21),f0(t.s,oe(t.s," and"),3,21),JP(t.p,t),t.o=oA(t.s),Ah(t,0),f0(t.s,t.o,2,23),f0(t.s,oe(t.s," atoms"),3,23),ut(t.u,7),Y_(t);}function op(){op=B1,xV=B(d(it,1),Dt,2,6,["gkvt@@@@LddTTTrbTRTRTRRRRRRRRRRRRRrVRrIh\\IAaQxlY@gRHdJCJcRXlv_CfJx|A\\hRHejiLaQjTje^kSjtFcIhvXmVKMjt{lN{Kavy\\^wGjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjh@@vo@HBC@PhLN@bPhtFKCcpDbILaRhtzCIbsX\\nOO`JDbqDjSKdJeJmQjtz}Ahr[LVkMnpz\\nwGj{PBhBdBlBBBjBfBnBaBiBeBmBcBkBgBoB`bhbdblbbbjbfbnbabibebmbcbkbgbob`RhRdRlRbRjRfRnRaRiReRmRcRkRgRoR`rhrdrlrbrjrfrnrarirermrcrkrgror`JhJdJlJbJjJfJnJaJiJeJmJcJkJgJoJ`jhjdjljbjjjfjnjajijej` !BnkjyVwsVr|iQn|Q|goTZWPIJwbudnRkVYBez]siZymNJZUqNFBqZWxS~iCXVU]SeRjwrtSPAjkvXLpBAZauDPzq]PfMlecrMnkv|@\\SFD`m|mWiEoCXp`SIe_J[l|[XCbloTV`[Gc@FJGopyyoOlFQfUy^w\\Bgz|","gcrt@@@@LdbbbbTRbRbRbRRRRRRRRRRRRVRrVQIA`HtRGAaIxZAHfShTjCIbqylQGKgqdBaXeQJeruBiPitZmFoPZLFSYbvZlVGMnsZ]vWSmr{]UUUUUUUUUUUUUUUUUUUUUUUUUUUUUT@@[G`DAA`HTFG@QHTZCEaqxBQDfPiTZ]AdqYlNWGgpEBQXbUIerEReVhuZ]^`tYMfKUfwX]NW[jkPBhBdBlBbBjBfBnBaBiBeBmBcBkBgBoB`bhbdblbbbjbfbnbabibebmbcbkbgbob`RhRdRlRbRjRfRnRaRiReRmRcRkRgRoR`rhrdrlrbrjrfrnrarirermrcrkrgror`JhJdJlJbJjJfJnJaJiJeJmJcJkJgJoJ`jhjdjljbjjjfjnjajij` !B^cR]`]Fm]QkfljE\\p\x7FUVfgOmFXsQe_gXPyXis_wF|vUUX_XbxpzU]HUFgYViwFo~@uemc@}~T\x7FIEPioYVwr]JnM~[ZEC\\g}~o_pUfdo~irsklTLiyVJshnw^iVAsZ`_~}PYkckURH{FYMImFaRaccUlCZSHMfP","dml@@Dje^VGiyZjjjh@vtHSBinFU@ !BPTCTy[skMzUPF`AJbBixEZHS[Il","dml@@DjYVvGiyZjjjh@vtHSBinFU@ !BwLo~BJ~UquhXBinZ\\ykA@F_eMrT","dml@@LdfbbQX^fUZjjj`C[PaLJfxYT !BzxIHVc{OiJVRpprePho~]}y\x7FwLl","deL@@DjUYkfEijjjj@MeBDpj[ad !B\x7FaA\x7FMVr[AvkKzm_jKvVbD{sk","dil@@LddTQRl[NX^Fjjjj@MiBDpj[a@ !BPfL@\x7Fox@M~T@\x7Fox@\x7F`C~@@","daL@@DjYtKJqjynjjjj@MaBDpj[` !B`bL@_gx@@Gy~@Gx@_`@"]);}function Ra(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S;for(m=h(rt,ft,6,t.R.f,16,1),v=h(rt,ft,6,t.R.g,16,1),e=0,b=false,(t.Q&128)!=0&&(t.Y=h(F,k,6,t.R.f,15,1),t.X=h(F,k,6,t.R.g,15,1)),n=0;n<t.R.f;n++)t.W[n]&&(t.fb[n]||ey(t,n,1)&&(t.fb[n]=true,m[n]=true,++e));for(r=0;r<t.R.g;r++)t.V[r]&&(t.p[r]||JQ(t,r,1)&&(t.p[r]=true,v[r]=true,++e));if(e==1){for(A=0;A<t.R.f;A++)if(m[A]){t.db[A]=0;break;}for(P=0;P<t.R.g;P++)if(v[P]){t.o[P]=0;break;}}else if(e>1)for(zW(t),t.T=0,f=new Wt(t.A);f.a<f.c.a.length;){for(i=t1(f),R=0,j=0,U=0,Q=0,L=-1,D=-1,l=0;l<i.a.length;l++)m[i.a[l]]&&(++R,(t.db[i.a[l]]==1||t.db[i.a[l]]==2)&&(++j,b=true,L<t.f[i.a[l]]&&(L=t.f[i.a[l]],U=i.a[l])));for(T=0;T<i.b.length;T++)v[i.b[T]]&&(++R,C=t.f[z(t.R,0,i.b[T])],S=t.f[z(t.R,1,i.b[T])],s=C>S?(C<<16)+S:(S<<16)+C,(t.o[i.b[T]]==1||t.o[i.b[T]]==2)&&(++j,b=true,D<s&&(D=s,Q=i.b[T])));if(R!=0)if(R==1){for(c=0;c<i.a.length;c++)m[i.a[c]]&&(t.db[i.a[c]]=0);for(y=0;y<i.b.length;y++)v[i.b[y]]&&(t.o[i.b[y]]=0);}else if(j==1){for(c=0;c<i.a.length;c++)m[i.a[c]]&&(t.db[i.a[c]]=3);for(y=0;y<i.b.length;y++)v[i.b[y]]&&(t.o[i.b[y]]=3);}else {if((t.Q&128)!=0){for(++t.T,c=0;c<i.a.length;c++)m[i.a[c]]&&(t.Y[i.a[c]]=t.T);for(y=0;y<i.b.length;y++)v[i.b[y]]&&(t.X[i.b[y]]=t.T);}if(g=false,L!=-1?t.db[U]==2&&(g=true):t.o[Q]==2&&(g=true),g){for(c=0;c<i.a.length;c++)if(m[i.a[c]])switch(t.db[i.a[c]]){case 1:t.db[i.a[c]]=2;break;case 2:t.db[i.a[c]]=1;}for(y=0;y<i.b.length;y++)if(v[i.b[y]])switch(t.o[i.b[y]]){case 1:t.o[i.b[y]]=2;break;case 2:t.o[i.b[y]]=1;}}}}return b;}function ja(t,e,A,n,P,r,i,f){var D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a,E,X,tt,W,$,et,lt,st,ct,Pt;for(tt=N(t.j,e),L=tt,s=0,y=L.length;s<y;++s)if(U=L[s],!rX(t,U))return  true;for(W=N(t.k,e),$=W.length,T=0,Q=0,Pt=false,C=0;C<$;C++)T<<=1,Q<<=1,dt(t.i,W[C])>1||l1(t.i,W[C])==8?T|=1:f&&ps(t,W[C])?(T|=1,Q|=1):(D=A[e][C],D!=-1&&(n[D]?P[D]&&(T|=1,r[D]||(Q|=1)):Pt=true));switch(b=false,$){case 3:for(c=B(d(F,1),k,6,15,[2,1,4]),b=true,R=0;R<3;R++)(T&c[R])==c[R]&&(K(t.i,tt[R])==6&&p1(t.i,tt[R])==1||K(t.i,tt[R])==5&&p1(t.i,tt[R])==0)&&(P[e]=true,i[e]=R,(Q&c[R])==0&&(b=false));break;case 5:for(g=B(d(F,1),k,6,15,[10,5,18,9,20]),b=true,X=0;X<5;X++)if((T&g[X])==g[X])switch(K(t.i,tt[X])){case 6:p1(t.i,tt[X])==-1&&(P[e]=true,i[e]=X,(Q&g[X])==0&&(b=false));break;case 7:p1(t.i,tt[X])<=0&&(P[e]=true,i[e]=X);break;case 8:P[e]=true,i[e]=X;break;case 16:case 34:case 52:O(t.i,tt[X])==2&&(P[e]=true,i[e]=X);}break;case 6:b=true,(T&21)==21&&(P[e]=true,(Q&21)==0&&(b=false)),(T&42)==42&&(P[e]=true,(Q&42)==0&&(b=false));break;case 7:for(m=B(d(F,1),k,6,15,[42,21,74,37,82,41,84]),b=true,v=0;v<7;v++)if((T&m[v])==m[v]){if(K(t.i,tt[v])==6&&(p1(t.i,tt[v])==1||f&&iJ(t,tt[v]))||K(t.i,tt[v])==5&&p1(t.i,tt[v])==0)P[e]=true,i[e]=v,(Q&m[v])==0&&(b=false);else for(j=0;j<2;j++)if(lt=(v+6+j)%7,et=W[lt],st=A[e][lt],st!=-1&&!P[st]&&N(t.k,st).length==5){for(ct=N(t.k,st),S=0;ct[S]!=et;)++S;for(p=false,E=0,x=1;x<=4;x++){if(l=ct[(S+x)%5],a=dt(t.i,l)>1||l1(t.i,l)==8||f&&ps(t,l),a&&p){E=0;break;}p=a,p&&++E;}if(E==2){P[e]=true,P[st]=true,r[e]=true,r[st]=true,mt(t.b,k1(et));break;}}}}return P[e]&&!b&&(r[e]=true),P[e]?true:!Pt;}function pa(t){var e,A,n,P,r,i,f,D,Q,U,L;for(ut(t,1),P=h(F,k,6,191,15,1),A=0;A<t.q;A++)switch(t.C[A]){case 171:P[1]+=5,P[6]+=3,P[7]+=1,P[8]+=1;break;case 172:P[1]+=12,P[6]+=6,P[7]+=4,P[8]+=1;break;case 173:P[1]+=6,P[6]+=4,P[7]+=2,P[8]+=2;break;case 174:P[1]+=5,P[6]+=4,P[7]+=1,P[8]+=3;break;case 175:P[1]+=5,P[6]+=3,P[7]+=1,P[8]+=1,P[16]+=1;break;case 176:P[1]+=8,P[6]+=5,P[7]+=2,P[8]+=2;break;case 177:P[1]+=7,P[6]+=5,P[7]+=1,P[8]+=3;break;case 178:P[1]+=3,P[6]+=2,P[7]+=1,P[8]+=1;break;case 179:P[1]+=7,P[6]+=6,P[7]+=3,P[8]+=1;break;case 181:case 180:P[1]+=11,P[6]+=6,P[7]+=1,P[8]+=1;break;case 182:P[1]+=12,P[6]+=6,P[7]+=2,P[8]+=1;break;case 183:P[1]+=9,P[6]+=5,P[7]+=1,P[8]+=1,P[16]+=1;break;case 184:P[1]+=9,P[6]+=9,P[7]+=1,P[8]+=1;break;case 185:P[1]+=7,P[6]+=5,P[7]+=1,P[8]+=1;break;case 186:P[1]+=5,P[6]+=3,P[7]+=1,P[8]+=2;break;case 187:P[1]+=7,P[6]+=4,P[7]+=1,P[8]+=2;break;case 188:P[1]+=10,P[6]+=11,P[7]+=2,P[8]+=1;break;case 189:P[1]+=9,P[6]+=9,P[7]+=1,P[8]+=2;break;case 190:P[1]+=9,P[6]+=5,P[7]+=1,P[8]+=1;break;case 1:switch(t.A[A]){case 0:case 1:++P[1];break;case 2:++P[151];break;case 3:++P[152];}break;default:++P[t.C[A]];}for(n=0;n<t.q;n++)t.C[n]>=171&&t.C[n]<=190?P[1]+=2-G1(t,n):P[1]+=xt(t,n);for(f=0,Q=1;Q<=190;Q++)P[Q]!=0&&++f;for(this.b=h(F,k,6,f,15,1),this.c=h(F,k,6,f,15,1),f=0,D=0;D<S2.length;D++)P[S2[D]]!=0&&(this.b[f]=P[S2[D]],this.c[f]=S2[D],++f,P[S2[D]]=0);for(;;){for(L="zzz",U=-1,i=1;i<=190;i++)P[i]>0&&Kr(L,(Y1(),X0)[i])>0&&(L=(Y1(),X0)[i],U=i);if(U==-1)break;this.b[f]=P[U],this.c[f]=U,++f,P[U]=0;}for(this.a=0,this.d=0,e=0;e<t.f;e++)t.C[e]!=1&&t.A[e]!=0&&(i=t.C[e],r=t.A[e],this.a+=xF(i,r)-m4[i],this.d+=xF(i,r)-k4[i]);}function Ca(t,e,A,n){var P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a,E,X,tt,W,$,et,lt,st,ct,Pt,Tt,Kt,Ct,$t,Ut,Ht,Qt,Nt,b1,e1,Rt,Lt,j1,St,g1,y0;for(y0=A[4],Nt=A[3]==-1?3:4,l=h(F,k,6,e.q,15,1),Ct=h(rt,ft,6,e.r,16,1),g=0;g<Nt;g++)Ct[n[g]]=true;for(y=Wb(e,l,Ct,false),T=h(F,k,6,y,15,1),Q=l,U=0,L=Q.length;U<L;++U)s=Q[U],++T[s];for(Ut=0,C=h(rt,ft,6,y,16,1),m=0;m<Nt;m++)s=l[A[m]],C[s]||(C[s]=true,++Ut);for(Ht=h(F,k,6,Ut,15,1),Qt=h(F,k,6,Ut,15,1),$t=h(F,k,6,Ut,15,1),j=0,D=0;D<y;D++)if(C[D]){for(Ht[j]=D,Qt[j]=T[D],v=0;v<Nt;v++)D==l[A[v]]&&++$t[j];++j;}if(S=h(rt,ft,6,e.q,16,1),e1=0,g1=2,Ut==Nt)for(Kt=-1,v=0;v<Nt-2;v++){for(Lt=-1,j1=It,x=0;x<Ut;x++)x!=Kt&&Qt[x]<j1&&(Lt=x,j1=Qt[x]);for(P=0;P<e.q;P++)l[P]==Ht[Lt]&&(S[P]=true,++e1);Kt=Lt;}else for(v=0;v<Ht.length;v++){if($t[v]==1&&Nt==3){for(p=2*Qt[v]<e.q,p||(g1=1),P=0;P<e.q;P++)P!=y0&&l[P]==Ht[v]==p&&(S[P]=true,++e1);break;}if($t[v]==2&&Nt==4){for(p=2*Qt[v]<e.q,P=0;P<e.q;P++)P!=y0&&l[P]==Ht[v]==p&&(S[P]=true,++e1);break;}}if(e1==0){for(v=0;v<Ht.length;v++)if($t[v]==1){for(P=0;P<e.q;P++)l[P]==Ht[v]&&(S[P]=true,++e1);break;}for(b1=Nt-2-(e1==0?0:1),R=0;R<b1;R++)for(x=0;x<Nt;x++)if(!S[A[x]]){S[A[x]]=true,++e1;break;}}for(j=0,t.a=h(F,k,6,e1,15,1),b=0;b<S.length;b++)S[b]&&(t.a[j++]=b);for(St=0,Rt=0,t.c=h(F,k,6,g1,15,1),t.b=h(F,k,6,Nt-g1,15,1),c=0;c<Nt;c++)if(S[A[c]]){if(Rt>=t.b.length){for(x1(),""+new p3(e).a.a,E=A,$=0,ct=E.length;$<ct;++$);for(X=n,et=0,Pt=X.length;et<Pt;++et);for(tt=l,lt=0,Tt=tt.length;lt<Tt;++lt);for(a=C,W=0,st=a.length;W<st;++W);for(r=S,i=0,f=r.length;i<f;++i);}t.b[Rt++]=A[c];}else t.c[St++]=A[c];}function Ma(t,e){var A;switch(t.C[e]){case 7:if(e<t.f&&i0(t.p,e)){if(t.s[e]==0){if(t.e[e]-e0(t,e)+xt(t,e)==0){if(e0(t,e)==2)return 18;for(A=0;A<e0(t,e);A++)if(!_e(t,t.k[e][A]))return 20;return 19;}else return 22;}else if(t.s[e]==1)if(t.e[e]-e0(t,e)+xt(t,e)==0){for(A=0;A<e0(t,e);A++)if(!_e(t,t.k[e][A]))return p1(t,t.i[e][A])<0?21:24;return 23;}else return 25;}else if(t.s[e]==0)switch(t.e[e]-e0(t,e)+xt(t,e)){case 0:switch(t.o[e]){case 0:return (t.p&&e<t.f?iA(t.p,e):0)==3?5:0;case 1:return 1;case 2:return 2;}break;case 1:switch(t.o[e]){case 0:return (t.p&&e<t.f?iA(t.p,e):0)==3?7:6;case 1:return 8;}break;case 2:return 9;}else if(t.s[e]==1)switch(t.e[e]-e0(t,e)+xt(t,e)){case 0:switch(t.o[e]){case 0:return 10;case 1:return av(t,e)?3:11;case 2:return t.n[e][0]==2?av(t,e)?4:xP.length+1:12;}break;case 1:switch(t.o[e]){case 0:return 13;case 1:return 14;}break;case 2:return t.o[e]==0?15:16;case 3:return 17;}return xP.length+1;case 8:if(e<t.f&&i0(t.p,e)){if(t.s[e]==0)return 31;}else {if(t.s[e]==0)return t.o[e]>0?28:e0(t,e)==1?29:(t.p&&e<t.f?iA(t.p,e):0)==3?27:26;if(t.s[e]==-1)return e0(t,e)==1&&p1(t,t.i[e][0])>0?28:30;}return xP.length+1;case 15:if(t.s[e]==0){if(t.e[e]-e0(t,e)+xt(t,e)==0){if(e0(t,e)==3&&t.o[e]==0)return 39;if(e0(t,e)==2&&t.o[e]==1)return 40;if(e0(t,e)==4&&t.o[e]==1)return 41;}else if(t.e[e]-e0(t,e)+xt(t,e)==1&&e0(t,e)==3&&t.o[e]==1)return 42;}return xP.length+1;case 16:if(t.s[e]==0){if(e<t.f&&i0(t.p,e))return e0(t,e)==2?37:38;if(t.e[e]-e0(t,e)+xt(t,e)==0){if(e0(t,e)==2&&t.o[e]==0)return 32;if(e0(t,e)==1&&t.o[e]==1)return 33;if(e0(t,e)==3&&t.o[e]==1)return 34;if(e0(t,e)==4&&t.o[e]==2)return 35;}else if(t.e[e]-e0(t,e)+xt(t,e)==1&&e0(t,e)==1)return 36;}return xP.length+1;}return xP.length;}function Ha(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a;for(T=0,c=(f=ne(e,T),f==-1?e.length:f),n=c1((pt(T,c,e.length),e.substr(T,c-T)),o1,It),T=lA(e,c),c=(D=ne(e,T),D==-1?e.length:D),m=(pt(T,c,e.length),e.substr(T,c-T)),C=null,P=false,g=OZ(e),g!=0&&(C=WZ(e),g<0&&(P=true),c=w.Math.abs(g)),T=lA(e,c),c=(Q=ne(e,T),Q==-1?e.length:Q),p=Qn((pt(T,c,e.length),e.substr(T,c-T))),T=lA(e,c),c=(U=ne(e,T),U==-1?e.length:U),x=Qn((pt(T,c,e.length),e.substr(T,c-T))),T=lA(e,c),c=(L=ne(e,T),L==-1?e.length:L),a=Qn((pt(T,c,e.length),e.substr(T,c-T))),T=lA(e,c),c=(s=ne(e,T),s==-1?e.length:s),R=c1((pt(T,c,e.length),e.substr(T,c-T)),o1,It),A=W0(t.j,p,-x,-a),A+1!=n&&(!t.b&&(t.b=new lP()),ze(t.b,k1(n),k1(A))),C!=null&&(K0(t.j,A,6),Tf(t.j,A,C,P)),R!=0&&Ze(t.j,A,R,false),A1(m,"A")||A1(m,"*")?T1(t.j,A,1,true):A1(m,"Q")?(v=h(F,k,6,1,15,1),v[0]=6,Tf(t.j,A,v,true)):K0(t.j,A,SA(m,67));(T=lA(e,c))!=-1;)if(c=(i=ne(e,T),i==-1?e.length:i),b=(pt(T,c,e.length),e.substr(T,c-T)),l=b.indexOf(k0(61)),y=(pt(0,l,b.length),b.substr(0,l)),S=c1((Xt(l+1,b.length+1),b.substr(l+1)),o1,It),A1(y,"CHG"))E0(t.j,A,S);else if(A1(y,"RAD"))switch(S){case 1:Ne(t.j,A,16);break;case 2:Ne(t.j,A,32);break;case 3:Ne(t.j,A,48);}else if(!A1(y,"CFG")){if(A1(y,"MASS"))jr(t.j,A,S);else if(A1(y,"VAL"))XA(t.j,A,S==-1?0:S==0?-1:S);else if(A1(y,"HCOUNT"))switch(S){case 0:break;case  -1:T1(t.j,A,1792,true);break;case 1:T1(t.j,A,128,true);break;case 2:T1(t.j,A,384,true);break;default:T1(t.j,A,896,true);}else if(A1(y,"SUBST")){if(S==-1)T1(t.j,A,I1,true);else if(S>0){for(j=0,r=0;r<t.j.r;r++)(z(t.j,0,r)==A||z(t.j,1,r)==A)&&++j;S>j&&T1(t.j,A,C0,true);}}else if(A1(y,"RBCNT"))switch(S){case 3:case  -1:T1(t.j,A,112,true);break;case 1:T1(t.j,A,8,true);break;case 2:T1(t.j,A,104,true);break;case 4:T1(t.j,A,56,true);}}}function Va(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a,E,X,tt,W,$,et,lt,st,ct,Pt,Tt,Kt,Ct,$t,Ut;for(ut(t.k,1),t.g=h(rt,ft,6,t.k.g,16,1),t.c=0,L=0;L<t.k.g;L++)l1(t.k,L)==8&&(w0(t.k,L,1),t.g[L]=true,++t.c);for(v=h(rt,ft,6,t.k.f,16,1),Ut=new Qo(t.k,3),m=h(rt,ft,6,Ut.j.a.length,16,1),Tt=0;Tt<Ut.j.a.length;Tt++){for(Ct=N(Ut.j,Tt),m[Tt]=true,C=Ct,x=0,X=C.length;x<X;++x)if(b=C[x],!z0(t.k,b)){m[Tt]=false;break;}if(m[Tt]){for(S=Ct,a=0,tt=S.length;a<tt;++a)b=S[a],v[b]=true;for($t=N(Ut.k,Tt),j=$t,p=0,E=j.length;p<E;++p)b=j[p],t.g[b]||(t.g[b]=true,++t.c);}}for(s=0;s<t.k.g;s++)!t.g[s]&&(Ut.c[s]&w1)!=0&&z0(t.k,z(t.k,0,s))&&z0(t.k,z(t.k,1,s))&&r_(t,s);for(y=0;y<t.k.g;y++)t.g[y]||(r=z(t.k,0,y),i=z(t.k,1,y),!v[r]&&!v[i]&&z0(t.k,r)&&z0(t.k,i)&&(t.g[y]=true,++t.c));for(ut(t.k,7),(t.q==2||t.q==1&&t.p)&&kX(t),g=h(rt,ft,6,t.k.g,16,1),t.k.g>=0&&sA(t.g,0,g,0,t.k.g),Kt=0;Kt<Ut.j.a.length;Kt++)if(m[Kt]){for(Ct=N(Ut.j,Kt),$=Ct,et=0,lt=$.length;et<lt;++et)if(W=$[et],!dZ(t,W))for(z0(t.k,W)&&(zn(t.k,W,false),--t.b),b=0;b<O(t.k,W);b++)T=Ot(t.k,W,b),t.g[T]&&(t.g[T]=false,--t.c);}for(U5(t),Pt=0;Pt<Ut.j.a.length;Pt++)if(m[Pt]&&N(Ut.k,Pt).length==6){for($t=N(Ut.k,Pt),R=true,D=$t,Q=0,U=D.length;Q<U;++Q)if(f=D[Q],!t.g[f]){R=false;break;}R&&(vQ(t,$t[0]),vQ(t,$t[2]),vQ(t,$t[4]),U5(t));}for(ct=5;ct>=4;ct--)do for(st=false,f=0;f<t.k.g;f++)if(t.g[f]){for(n=0,c=0;c<2;c++)for(l=z(t.k,c,f),b=0;b<O(t.k,l);b++)t.g[Ot(t.k,l,b)]&&++n;if(n==ct){vQ(t,f),U5(t),st=true;break;}}while(st);for(;t.b>=2&&s_(t,g););if(e){if(t.b!=0)for(P=0;P<t.k.f;P++)z0(t.k,P)&&(zn(t.k,P,false),T1(t.k,P,2,true),--t.b,A=true);if(t.c!=0)for(f=0;f<t.k.g;f++)t.g[f]&&(t.g[f]=false,w0(t.k,f,8),--t.c,A=true);}else for(P=0;P<t.k.f;P++)z0(t.k,P)&&xt(t.k,P)!=0&&(zn(t.k,P,false),Ne(t.k,P,32),--t.b);if(t.q==0||t.q==1&&!A){if(t.b!=0)throw At(new V1(Gp));if(t.c!=0)throw At(new V1(Gp));}}function c2(){c2=B1,IA=B(d(Ee,1),PA,6,15,[1,uU,O6,2.119999885559082,1.9800000190734863,1.909999966621399,1.7699999809265137,My,1.5,G6,1.5800000429153442,2.5,2.509999990463257,2.25,2.190000057220459,J6,1.8899999856948853,eC,1.8300000429153442,2.7300000190734863,2.619999885559082,2.5799999237060547,AC,nC,Hy,Hy,z6,PC,PC,2.380000114440918,2.390000104904175,Y6,K6,1.8799999952316284,eC,rC,2.25,3.2100000381469727,2.8399999141693115,2.75,2.5199999809265137,2.559999942779541,Hy,z6,AC,z6,2.1500000953674316,iC,fC,2.430000066757202,nC,DC,1.9900000095367432,2.0399999618530273,2.059999942779541,3.4800000190734863,3.0299999713897705,2.9800000190734863,uC,QC,2.950000047683716,QC,2.9000000953674316,UC,X6,oC,UC,LC,X6,oC,sC,2.740000009536743,2.630000114440918,iC,2.569999933242798,fC,2.4800000190734863,2.4100000858306885,K6,Y6,Hy,DC,2.5999999046325684,2.5399999618530273,2.5,2.5,2.5,2.5,2.5,sC,2.930000066757202,uC,2.7100000381469727,2.819999933242798,LC,X6,yC,3.4000000953674316,yC,2.700000047683716]),Jf=B(d(Ee,1),PA,6,15,[.25,Z6,.46000000834465027,lC,1.0199999809265137,QU,.75,.7099999785423279,.6299999952316284,.6399999856948853,.9599999785423279,TC,hC,1.2599999904632568,W6,cC,1.0299999713897705,.9900000095367432,wC,gC,dC,1.4800000190734863,_6,BC,vC,1.190000057220459,W6,cC,1.100000023841858,uU,uU,FC,Vy,Vy,W6,1.1399999856948853,Vy,mC,$6,a6,1.5399999618530273,kC,1.3799999952316284,bC,1.25,1.25,uU,hC,RC,G6,fU,fU,_6,lC,1.350000023841858,Y6,gC,py,a6,jC,1.7400000095367432,pC,CC,Ey,MC,Ey,HC,My,t4,1.6399999856948853,UU,VC,1.5199999809265137,G6,EC,1.309999942779541,SC,vC,1.2300000190734863,FC,1.4199999570846558,1.5,RC,1.5099999904632568,qC,kC,qC,2.2300000190734863,2.009999990463257,rC,1.75,MC,UU,dC,CC,My,My,Ey,Ey,t4,HC,pC,jC,1.6100000143051147,IC,1.4900000095367432,O6,1.409999966621399,BC,SC,bC,Vy,EC,_6,O6,VC,1.75,t4,IC]);}function Ea(t,e,A){var n,P,r,i,f,D,Q,U;switch(f=A.a.length,0<f?A.a=UA(A.a,0,0):0>f&&(A.a+=q8(h(l9,a0,6,-f,15,1))),D=o0(t.k,e),P=zt(q0(V(D,i9),3)),P){case 20971520:A.a+="+0";break;case 25165824:p1(t.k,e)==0&&(A.a+="-");break;case 12582912:p1(t.k,e)==0&&(A.a+="+");}return n=V(D,Ty),G(n,2)==0?A.a+=";a":G(n,4)==0&&(A.a+=";A"),r=V(D,rP),G(r,0)!=0&&(G(r,1792)==0?A.a+=";H0":G(r,1664)==0?A.a+=";H1":G(r,1408)==0?A.a+=";H2":G(r,896)==0?A.a+=";H3":G(r,128)==0?A.a+=";!H0":G(r,384)==0?A.a+=";!H0;!H1":G(r,1536)==0?A.a+=";!H2;!H3":G(r,re)==0&&(A.a+=";!H3")),U=V(D,120),G(U,8)==0?A.a+=";!R0":G(U,16)==0?A.a+=";!R1":G(U,32)==0?A.a+=";!R2":G(U,64)==0?A.a+=";!R3":G(U,112)==0?A.a+=";R0":G(U,104)==0?A.a+=";R1":G(U,88)==0?A.a+=";R2":G(U,56)==0&&(A.a+=";R3"),Q=V(D,rr),G(Q,L8)==0?A.a+=";!r"+Te(Q):G(Q,jp)==0?A.a+=";r"+Te(Q):G(Q,0)!=0&&(gt(V(Q,pf),0)?(P0(V(Q,L8),0)&&(A.a+=";!r0"+Te(Q)),P0(V(Q,ir),0)&&(A.a+=";!r3"+Te(Q)),P0(V(Q,fr),0)&&(A.a+=";!r4"+Te(Q)),P0(V(Q,Dr),0)&&(A.a+=";!r5"+Te(Q)),P0(V(Q,ur),0)&&(A.a+=";!r6"+Te(Q)),P0(V(Q,Qr),0)&&(A.a+=";!r7"+Te(Q))):(A.a+=";",gt(V(Q,L8),0)&&(A.a+="r0,"+Te(Q)),gt(V(Q,ir),0)&&(A.a+="r3,"+Te(Q)),gt(V(Q,fr),0)&&(A.a+="r4,"+Te(Q)),gt(V(Q,Dr),0)&&(A.a+="r5,"+Te(Q)),gt(V(Q,ur),0)&&(A.a+="r6,"+Te(Q)),gt(V(Q,Qr),0)&&(A.a+="r7,"+Te(Q)),un(A,A.a.length-1))),G(Q,0)==0&&(Q=q0(V(D,f9),22),G(Q,0)!=0&&(A.a+=";r"+Te(Q))),i=V(D,si),G(i,_Q)==0&&(A.a+=";D1"),G(i,d2)==0&&(A.a+=";D2"),G(i,B2)==0&&(A.a+=";D3"),G(i,$Q)==0&&(A.a+=";!D3;!D4"),G(i,qA)==0&&(A.a+=";!D4"),G(i,yi)==0&&(A.a+=";!D0;!D1"),G(i,SP)==0&&(A.a+=";!D0;!D1;!D2"),G(i,Hf)==0&&(A.a+=";!D0;!D1;!D2;!D3"),gt(V(D,I1),0)&&J(A,";D"+O(t.k,e)),gt(V(D,C0),0)&&J(A,";!D"+O(t.k,e)),A.a.length==0?null:A.a;}function Sa(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C;if(t.C[e]!=7||t.s[e]!=0||t.j[e]+t.o[e]>3)return  false;if(e<t.f&&i0(t.p,e)){if(t.o[e]!=1||E5(t,e,7)!=1)return  false;for(R=(ut(t,7),t.p),m=0;m<R.j.a.length;m++)if(yA(R,m,e)){if(N(R.k,m).length==5||N(R.k,m).length==6){for(b=N(R.j,m),c=-1,D=0;D<b.length;D++)if(b[D]==e){c=D;break;}for(P=0,g=null,T=null,b.length==5&&(g=h(F,k,6,2,15,1),g[0]=b[c-1<0?c+4:c-1],g[1]=b[c-4<0?c+1:c-4],T=h(F,k,6,2,15,1),T[0]=b[c-2<0?c+3:c-2],T[1]=b[c-3<0?c+2:c-3]),b.length==6&&(g=h(F,k,6,3,15,1),g[0]=b[c-1<0?c+5:c-1],g[1]=b[c-3<0?c+3:c-3],g[2]=b[c-5<0?c+1:c-5],T=h(F,k,6,2,15,1),T[0]=b[c-2<0?c+4:c-2],T[1]=b[c-4<0?c+2:c-4]),Q=0;Q<b.length;Q++)e!=b[Q]&&t.C[b[Q]]==7&&t.o[b[Q]]==1&&--P;for(U=0;U<g.length;U++){for(r=-1,i=-1,l=0;l<t.j[g[U]];l++)if(!_e(t,t.k[g[U]][l])){r=t.i[g[U]][l],i=t.k[g[U]][l];break;}if(r!=-1){if(t.C[r]==7&&t.o[r]==0&&t.j[r]+t.o[r]<=3&&!e5(t,r,false)){++P;continue;}if(t.C[r]==8&&t.j[r]==1){P+=2;continue;}if(i<t.g&&Re(t.p,i)){for(j=0;j<R.j.a.length;j++)if(R.e[j]&&yA(R,j,r)){for(v=N(R.j,j),y=0;y<v.length;y++)if(t.C[v[y]]==7&&t.o[v[y]]==1){--P;break;}break;}}}}for(L=0;L<T.length;L++){for(r=-1,y=0;y<t.j[T[L]];y++)_e(t,t.k[T[L]][y])||(r=t.i[T[L]][y]);t.C[T[L]]==6?r!=-1&&Df(t,r)!=0&&--P:t.C[T[L]]==7&&t.o[T[L]]==0&&(r==-1||!(r<t.f&&i0(t.p,r))&&Df(t,r)==0)&&++P;}return P>0;}break;}return  false;}if(t.o[e]>1)return  false;if(t.o[e]==1){for(s=-1,C=0,D=0;D<t.j[e];D++){if(n=t.i[e][D],t.n[e][D]==2){if(t.C[n]!=6)return  false;s=n;continue;}if(t.C[n]==8)return  false;if(t.C[n]==7){--C,e5(t,n,false)&&--C;continue;}n<t.f&&i0(t.p,n)&&--C;}if(s==-1)return  false;for(A=0,Q=0;Q<t.j[s];Q++)if(t.n[s][Q]==1){if(n=t.i[s][Q],Df(t,n)!=0)return  false;n<t.f&&i0(t.p,n)&&++A,t.C[n]==7&&!e5(t,n,true)&&++C,(t.C[n]==8||t.C[n]==16)&&--C;}return A==2&&--C,C>=0;}for(f=0;f<t.j[e];f++)if(n=t.i[e][f],n<t.f&&i0(t.p,n)||t.C[n]!=6||Df(t,n)!=0||t.o[n]!=0&&zz(t,n))return  false;return  true;}function A6(t,e,A,n){var P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a,E,X,tt,W,$,et,lt;if(K(t.R,A)!=K(t.R,n))return K(t.R,A)>K(t.R,n);if(ye(t.R,A)!=ye(t.R,n))return X=Du(t.R,A)?(Y1(),U9)[K(t.R,A)]:ye(t.R,A),tt=Du(t.R,n)?(Y1(),U9)[K(t.R,n)]:ye(t.R,n),X>tt;for(j=t.R.f,m=h(F,k,6,j,15,1),R=h(F,k,6,j,15,1),b=h(F,k,6,j,15,1),v=h(rt,ft,6,j,16,1),D=h(rt,ft,6,t.R.q,16,1),m[0]=e,m[1]=A,m[2]=n,R[0]=-1,R[1]=0,R[2]=0,D[e]=true,D[A]=true,D[n]=true,s=1,C=2,E=h(F,k,6,64,15,1),E[1]=1,E[2]=3,l=2;s<=C;){for(;s<E[l];){if(y=m[s],!v[s]){for(T=0,c=0,p=0;p<O(t.R,y);p++){if(U=_(t.R,y,p),C+pA(t.R,y,p)+1>=j&&(j+=t.R.f,m=vL(m,j),R=vL(R,j),b=vL(b,j),v=(lt=h(rt,ft,6,j,16,1),sA(v,0,lt,0,v.length),lt)),G8(t.R,Ot(t.R,y,p)))++T,c+=K(t.R,U);else if(U!=e)for(a=1;a<pA(t.R,y,p);a++)++C,m[C]=U,R[C]=s,v[C]=true;if($=R[s],U!=m[$]){if(f=false,D[U])for(W=R[$];W!=-1;){if(U==m[W]){f=true;break;}W=R[W];}f?(++C,m[C]=U,R[C]=s,v[C]=true):(++C,m[C]=U,R[C]=s,D[U]=true);}}T!=0&&(++C,b[C]=(c<<2)/T|0,R[C]=s,v[C]=true);}if(++s,s==nP)throw At(new V1("Emergency break in while loop."));}for(E.length==l+1&&(E=vL(E,E.length+64)),E[l+1]=C+1,S=E[l];S<E[l+1];S++)b[S]==0&&(b[S]=(K(t.R,m[S])==151||K(t.R,m[S])==152?1:K(t.R,m[S]))<<2),b[S]+=b[R[S]]<<16;if(NR(t,v,b,R,m,E,l),b[1]!=b[2])return b[1]>b[2];l>1&&iR(b,R,E,l),++l;}for(L=h(F,k,6,t.R.f,15,1),x=false,r=0;r<t.R.f;r++)if(D[r]&&!Du(t.R,r)){x=true;break;}if(x){for(i=0;i<t.R.f;i++)L[i]=Du(t.R,i)?(Y1(),U9)[K(t.R,i)]:ye(t.R,i);if(Vh(t,v,b,R,m,L,E,l))return b[1]>b[2];}for(V9(L,L.length,0),g=false,Q=0;Q<t.R.g;Q++)(D[z(t.R,0,Q)]||D[z(t.R,1,Q)])&&(t.i[Q]==1?(L[z(t.R,0,Q)]=1,L[z(t.R,1,Q)]=1,g=true):t.i[Q]==2&&(L[z(t.R,0,Q)]=2,L[z(t.R,1,Q)]=2,g=true));if(g&&Vh(t,v,b,R,m,L,E,l))return b[1]>b[2];for(V9(L,L.length,0),et=false,P=0;P<t.R.f;P++)D[P]&&(t.$[P]==2?(L[P]=1,et=true):t.$[P]==1&&(L[P]=2,et=true));if(et&&Vh(t,v,b,R,m,L,E,l))return b[1]>b[2];throw t.d=true,At(new V1("no distinction applying CIP rules"));}function n6(){n6=B1,Zf=B(d(F,2),D0,7,0,[B(d(F,1),k,6,15,[-1432180054,-1434146134,-1441453406,-1471067516,-1589095916,-2060839854,1420461386,1454022954,1454024874]),B(d(F,1),k,6,15,[-1431677611,-1431764987,-1432092655,-1433403327,-1438646015,-1459616762,-1543499750,-1879031702,1431634346,1073809066,1073814186,1073834666,1431677610]),B(d(F,1),k,6,15,[-1431737686,-1453057622,-1542187926,-1542188954,-1459351471,-1459351487,u4,1094713345,1077936134,-1879048186,-1543503866,-1543503846,-1459617766,Q4,C2,C2]),B(d(F,1),k,6,15,[-1431737686,-1453057622,-1542187926,-1542188954,-1459351471,-1459351487,u4,1094713345,1077952518,-1879031802,-1543154682,-1543487462,-1459601382,Q4,C2,C2]),B(d(F,1),k,6,15,[_y,_y,-1431741782,-1437330070,-1459351462,-1459351482,u4,-1858076671,-1874853882,-1879048186,-1543503866,-1543503846,-1459617766,Q4,C2,C2]),B(d(F,1),k,6,15,[_y,-1432005270,-1454374890,-1543503871,-1879048191,1073741825,1073741846,1073743210,-1795073366,1079421610,1147841194,-1783977302,$y,$y,-1498764630]),B(d(F,1),k,6,15,[_y,-1432005270,-1454374890,-1543438335,-1878982655,1075138561,1073807382,1073808746,-1795073366,1079421610,1147841194,-1783977302,$y,$y,-1498764630]),B(d(F,1),k,6,15,[1431655786,u9,Nf,u9,Nf,u9,Nf,u9,Nf,u9,Nf,u9,1145324650]),B(d(F,1),k,6,15,[1431655786,u9,Nf,u9,Nf,u9,1073758314,1073758250,1074091114,1073758250,1073758314,u9,1145324650]),B(d(F,1),k,6,15,[-1432003926,-1437248086,1767548266,1437248090,1437248086,1433053846,1433037477,-1431672155,-1432004955,1433037477,1433037462,1437248086,1437248090,1767548266,-1437248086,-1432003926]),null]),$V=B(d(F,1),k,6,15,[1,7,7,5,8,7,8,7,8,7,2,14,2,14,0,0,0,0,8,8,0,0]),aV=B(d(F,1),k,6,15,[4,20,10,29,18,18,18,18,18,18,16,11,16,11,4,5,4,5,16,16,16,16,0,0,0,0,12,2]),tE=B(d(it,1),Dt,2,6,["chain.png","eraser.png","hand.png","handPlus.png","fist.png","lasso.png","lassoPlus.png","rect.png","rectPlus.png","zoom.png","invisible.png",null,null,"pointingHand.png"]);}function qa(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v;if(L=false,t.R.K){for(Q=0;Q<t.R.g;Q++)if(ee(t.R,Q)!=0){L=true;break;}}for(t.O=2,A=0;A<t.R.f;A++)t.O=w.Math.max(t.O,O(t.R,A)+xi(t.R,A));for(D=w.Math.max(2,L?(62+t.c+t.O*(t.c+23))/63|0:(62+t.c+t.O*(t.c+5))/63|0),t.f=h(F,k,6,t.R.q,15,1),t.e=h(B4,k2,100,t.R.f,0,1),n=0;n<t.R.f;n++)t.e[n]=new bo(D);for(f=false,P=0;P<t.R.f;P++)$e(t.e[P],P),gt(V(o0(t.R,P),1),0)||MA(t.R,P)!=null?_1(t.e[P],8,6):_1(t.e[P],8,K(t.R,P)),_1(t.e[P],8,ye(t.R,P)),_1(t.e[P],2,a1(t.R,P)),_1(t.e[P],4,O(t.R,P)+xi(t.R,P)),gt(V(o0(t.R,P),1),0)?_1(t.e[P],4,8):_1(t.e[P],4,8+p1(t.R,P)),_1(t.e[P],5,w.Math.min(31,M9(t.R,P))),_1(t.e[P],4,TX(t,P)+1),_1(t.e[P],2,FA(t.R,P)>>4),t.R.K&&(_1(t.e[P],51,o0(t.R,P)),MA(t.R,P)!=null&&(f=true));if(t.U=Wn(t),t.U<t.R.f){for(e=0;e<t.R.f;e++){for($e(t.e[e],e),_1(t.e[e],t.c,t.f[e]),s=h(F,k,6,O(t.R,e),15,1),l=0;l<O(t.R,e);l++)s[l]=t.f[_(t.R,e,l)]<<5,s[l]|=w.Math.min(31,pr(t.R,Ot(t.R,e,l)));for(s.sort(Fe(u0.prototype.gd,u0,[])),T=t.O;T>s.length;T--)_1(t.e[e],t.c+5,0);for(y=s.length-1;y>=0;y--)_1(t.e[e],t.c+5,s[y]);}t.U=Wn(t);}if(f&&t.U<t.R.f){for(e=0;e<t.R.f;e++){for($e(t.e[e],e),_1(t.e[e],t.c,t.f[e]),i=MA(t.R,e),m=i==null?0:w.Math.min(12,i.length),l=12;l>m;l--)_1(t.e[e],8,0);for(y=m-1;y>=0;y--)_1(t.e[e],8,i[y]);}t.U=Wn(t);}if(L&&t.U<t.R.f){for(e=0;e<t.R.f;e++){for($e(t.e[e],e),_1(t.e[e],t.c,t.f[e]),U=h(NA,a0,6,O(t.R,e)+xi(t.R,e),14,1),c=0,l=0;l<De(t.R,e);l++)(l<O(t.R,e)||l>=Mt(t.R,e))&&(U[c]=t.f[_(t.R,e,l)],U[c]=M1(U[c],23),U[c]=Y(U[c],ee(t.R,Ot(t.R,e,l))),++c);for(U.sort(Fe(Nl.prototype.hd,Nl,[])),T=t.O;T>U.length;T--)_1(t.e[e],t.c+23,0);for(y=U.length-1;y>=0;y--)_1(t.e[e],t.c+23,U[y]);}t.U=Wn(t);}if((t.Q&8)!=0&&t.U<t.R.f){for(g=new nu(),r=0;r<t.R.f;r++)_n(t.R,r)!=null&&js(g,_n(t.R,r));for(e=0;e<t.R.f;e++)v=_n(t.R,e)==null?0:1+$h(g,_n(t.R,e)),$e(t.e[e],e),_1(t.e[e],t.c,t.f[e]),_1(t.e[e],t.c,v);t.U=Wn(t);}if((t.Q&16)!=0&&t.U<t.R.f){for(e=0;e<t.R.f;e++)$e(t.e[e],e),_1(t.e[e],t.c,t.f[e]),_1(t.e[e],1,r0(t.R,e)?1:0);t.U=Wn(t);}(t.Q&512)!=0&&t.R.K&&xX(t);}function Ia(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m;if(e.j==1){if(t.t!=-1&&t.i.a.length!=0&&as(t,t.i.a),un(t.i,0),e.e){SR(t);return;}if(e.b==1){if(e.c==2)return;t.W=true,A9(t),$a(t,e);}}if(e.j==2){if(e.e){SR(t);return;}e.b==1&&(t.W=false,A9(t),va(t));}if(e.j==3&&e.b==1&&e.c==2){sa(t,e.g,e.i);return;}if(e.j==4&&(Md(t._),A9(t)),e.j==6&&(t.W=false,g=e.g,m=e.i,Wj(t,g,m,false)&&n1(t.k),A9(t)),e.j==7){switch(t.W=true,t.ib=e.g,t.lb=e.i,s=Wj(t,t.ib,t.lb,true),t.X){case 2:Fa(t)&&(s=true);break;case 1:(t.ib-t.hb)*(t.ib-t.hb)+(t.lb-t.kb)*(t.lb-t.kb)<100&&z5(t,t.e),s=true;break;case 3:Be(t.V,t.e,t.gb[t.e]+t.ib-t.hb),Ie(t.V,t.e,t.jb[t.e]+t.lb-t.kb),t.f!=-1&&(Be(t.V,t.f,t.gb[t.f]+t.ib-t.hb),Ie(t.V,t.f,t.jb[t.f]+t.lb-t.kb)),t.eb=w.Math.max(t.eb,2),n1(t.k);break;case 9:h_(t),t.X=4;case 4:if(t.I)for(r=new Wt(t.I);r.a<r.c.a.length;)P=t1(r),P.g&&P.Ob(t.ib,t.lb);for(f=0;f<t.V.q;f++)r0(t.V,f)&&(Be(t.V,f,t.gb[f]+t.ib-t.hb),Ie(t.V,f,t.jb[f]+t.lb-t.kb));t.eb=w.Math.max(t.eb,2),n1(t.k);break;case 11:mt(t.I,t.v.Gb()),t.X=10;case 10:t.v.Ob(t.ib,t.lb),t.eb=w.Math.max(t.eb,2),n1(t.k);break;case 7:for(y=false,n=0;n<t.V.q&&!y;n++)y=r0(t.V,n);if(l=false,t.I)for(D=0;D<t.I.a.length&&!l;D++)l=N(t.I,D).g;if(U=w.Math.abs(t.lb-t.kb)<20?1:w.Math.exp((t.lb-t.kb)/100),A=w.Math.abs(t.ib-t.hb)<20?0:(t.ib-t.hb)/50,T=y||l,t.I&&(!T||l)){for(D=0;D<t.I.a.length;D++)(!T||N(t.I,D).g)&&N(t.I,D).Pb(U,A);t.eb=w.Math.max(t.eb,2),n1(t.k);}(!T||y)&&(Rk(t.V,U,A,T),t.eb=w.Math.max(t.eb,2),n1(t.k));break;case 5:case 6:if(c=null,t.X==5){if(w.Math.abs(t.ib-U7(t.R,t.R.a-1))<3&&w.Math.abs(t.lb-o7(t.R,t.R.a-1))<3)break;iq(t.R),Ce(t.R,t.ib,t.lb),Ce(t.R,t.hb,t.kb),c=t.R;}else c=new QA(w.Math.min(t.hb,t.ib),w.Math.min(t.kb,t.lb),w.Math.abs(t.ib-t.hb),w.Math.abs(t.lb-t.kb));if(t.I)for(D=0;D<t.I.a.length;D++)L=N(t.I,D),Q=jJ(L,c),(!t.O||!t.Q[D])&&Q!=L.g&&(L.g=Q,t.eb=w.Math.max(t.eb,1));for(i=0;i<t.V.q;i++)Q=c.Hb(vt(kt(t.V,i)),vt(jt(t.V,i))),(!t.O||!t.P[i])&&Q!=r0(t.V,i)&&(dP(t.V,i,Q),t.eb=w.Math.max(t.eb,1));s=true;break;case 8:s=true;}s&&n1(t.k);}}function xa(t,e,A,n){var P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p;if(U=B(d(yt,2),h0,15,0,[B(d(yt,1),wt,6,15,[20]),null,null,B(d(yt,1),wt,6,15,[0,10]),null,null,B(d(yt,1),wt,6,15,[-4,12]),B(d(yt,1),wt,6,15,[0,0,-7.5]),null,null,null,null,B(d(yt,1),wt,6,15,[8.571428571428571,-8.571428571428571]),null,null,null,B(d(yt,1),wt,6,15,[-2.4])]),L=B(d(F,2),D0,7,0,[B(d(F,1),k,6,15,[146]),B(d(F,1),k,6,15,[627]),null,B(d(F,1),k,6,15,[2457,1170]),null,B(d(F,1),k,6,15,[2451,8643,2519]),B(d(F,1),k,6,15,[9362,14798]),B(d(F,1),k,6,15,[34377,-2147448999,26214]),null,B(d(F,1),k,6,15,[37449,137313,95703,34371,37815,54891,132867,-2147309741,54857,55129,-2147449005,-2147449065]),null,B(d(F,1),k,6,15,[530697,531819,899169,137289,694617,-2146951863,-2146952797,-2146939175,-2146929547,-2146929564,-2146625111,-2146931799,-2146940503,-2146931935]),B(d(F,1),k,6,15,[1007293,610915]),B(d(F,1),k,6,15,[542985,137283,2122017,530691,2206773,-2144711351,219209,2840841,137555,-2146871031,-2147264167,613705,-2145360543,-2146625271,694611,2454837,-2145356703,-2147345133,-2146928951,-2146931805,-2144641719,-2146951869,-2146625237,-2146624183,2841963,1074905,-2146625117,2799955,-2144723645,138583,859225,-2145264843,-2145216253,-2146624149,-2144700727,-2146928917,-2143905527,-2144045771,-2146789097,2288547,544407,2104323,-2146911977,-2144479405,3633737,-2146870089,-2146952169]),null,B(d(F,1),k,6,15,[8487297,2172633,2116611,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8829813]),B(d(F,1),k,6,15,[14071213])]),m=1<<e.e.length,i=0,D=0,e.e.length>7)for(y=0;y<e.e.length;y++)f=BZ(t,A,n,y),f==1?i+=m:f==2&&(D+=m),i>>>=1,D>>>=1;if(b=e.e.length-9,e.e.length>=9&&e.e.length<=25&&L[b]!=null)for(p=0;p<L[b].length;p++)for(g=(o1&L[b][p])==0,Q=It&L[b][p],T=false;!T;T=!T){if(T){if(g)break;for(v=0,P=1;P!=m;P<<=1)v<<=1,(Q&P)!=0&&(v|=1);Q=v;}for(j=0;j<e.e.length;j++){if((Q&i)==0&&(~Q&D)==0){for(r=0,s=NC*(U[b]==null?0:U[b][p]),R=0,C=Q,c=true,l=0;l<e.e.length;l++)c&&++R,(C&1)==0&&(c=!c),C>>>=1;for(S=R>(e.e.length/2|0),y=1;y<e.e.length;y++)e.a[y]=e.a[y-1]+w.Math.sin(r),e.b[y]=e.b[y-1]+w.Math.cos(r),(Q&1)==0&&(S=!S),r+=s+(S?AA:oU),Q>>>=1;return;}(Q&1)!=0&&(Q|=m),Q>>>=1;}}ea(e,i,D);}function Na(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c;for(U=o0(t.A,t.a),gt(V(U,1),0)?(uA(t.b,true),Go(t.w,n4)):Go(t.w,UV),O8(t.D,MA(t.A,t.a)==null?"":Yh(t.A,t.a)),e=V(U,Ty),gt(V(e,ZQ),0)?_t(t.g,2):G(e,2)==0?_t(t.g,1):G(e,4)==0?_t(t.g,3):_t(t.g,0),y=V(U,120),G(y,112)==0?_t(t.s,1):G(y,96)==0?_t(t.s,2):G(y,8)==0?_t(t.s,3):G(y,104)==0?_t(t.s,4):G(y,88)==0?_t(t.s,5):G(y,56)==0?_t(t.s,6):_t(t.s,0),T=zt(q0(V(U,f9),22)),_t(t.t,T==0?0:T-2),s=V(U,rr),f=-1,i=0;i<ci.length;i++)if(P0(s,ci[i])){f=i;break;}f!=-1?_t(t.r,f):(n=new Fn("Custom:"),gt(V(s,L8),0)&&(n.a+=" 0"),gt(V(s,ir),0)&&(n.a+=" 3"),gt(V(s,fr),0)&&(n.a+=" 4"),gt(V(s,Dr),0)&&(n.a+=" 5"),gt(V(s,ur),0)&&(n.a+=" 6"),gt(V(s,Qr),0)&&(n.a+=" 7"),gt(V(s,pf),0)&&(n.a+=" >=8"),t.C=s,Gt(t.r,n.a),_t(t.r,ci.length)),D=V(U,si),G(D,_Q)==0?_t(t.n,1):G(D,d2)==0?_t(t.n,2):G(D,B2)==0?_t(t.n,3):G(D,$Q)==0?_t(t.n,4):G(D,qA)==0?_t(t.n,5):G(D,I0)==0?_t(t.n,6):G(D,yi)==0?_t(t.n,7):G(D,SP)==0?_t(t.n,8):G(D,Hf)==0?_t(t.n,9):G(D,3276800)==0?_t(t.n,10):G(D,2228224)==0?_t(t.n,11):G(D,2490368)==0?_t(t.n,12):_t(t.n,0),P=V(U,Vf),G(P,uy)==0?_t(t.j,1):G(P,Qy)==0?_t(t.j,2):G(P,Uy)==0?_t(t.j,3):G(P,oy)==0?_t(t.j,4):G(P,T6)==0?_t(t.j,5):G(P,h6)==0?_t(t.j,6):G(P,aQ)==0?_t(t.j,7):G(P,v2)==0?_t(t.j,8):G(P,Ly)==0?_t(t.j,9):G(P,sy)==0?_t(t.j,10):G(P,tU)==0?_t(t.j,11):G(P,c6)==0?_t(t.j,12):G(P,w6)==0?_t(t.j,13):G(P,g6)==0?_t(t.j,14):_t(t.j,0),A=V(U,i9),G(A,WQ)==0?_t(t.i,1):G(A,Mf)==0?_t(t.i,2):G(A,Cf)==0?_t(t.i,3):_t(t.i,0),r=V(U,rP),G(r,1792)==0?_t(t.k,1):G(r,1664)==0?_t(t.k,2):G(r,1408)==0?_t(t.k,3):G(r,128)==0?_t(t.k,4):G(r,384)==0?_t(t.k,5):G(r,896)==0?_t(t.k,6):G(r,1536)==0?_t(t.k,7):G(r,re)==0?_t(t.k,8):G(r,1152)==0?_t(t.k,9):_t(t.k,0),Q=V(U,Li),G(Q,98304)==0?_t(t.p,1):G(Q,81920)==0?_t(t.p,2):G(Q,49152)==0?_t(t.p,3):G(Q,Sn)==0?_t(t.p,4):_t(t.p,0),L=q0(V(U,F2),47),_t(t.o,zt(L)),gt(V(U,I1),0)&&uA(t.c,true),gt(V(U,C0),0)&&uA(t.f,true),c=V(U,m6),P0(c,KQ)?_t(t.u,1):P0(c,XQ)?_t(t.u,2):_t(t.u,0),gt(V(U,ge),0)&&uA(t.e,true),gt(V(U,Pe),0)&&uA(t.d,true),t.q&&(l=V(U,c8),G(l,cn)==0?_t(t.q,1):G(l,lU)==0?_t(t.q,2):G(l,c8)==0?_t(t.q,3):_t(t.q,0));}function Lp(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b;if(v=new L1(),A=new L1(),i=new L1(),c=new c9(),T=new c9(),P=z(t.L,0,e),r=z(t.L,1,e),t.zb(e,Z1(t.R,kt(t.L,P)),X1(t.R,jt(t.L,P)),Z1(t.R,kt(t.L,r)),X1(t.R,jt(t.L,r))),!r0(t.L,P)&&!r0(t.L,r)&&gt(V(Y(o0(t.L,P),o0(t.L,r)),Pe),0)&&W1(t,-8),t.o[P]?(v.a=t.o[P].a,v.c=t.o[P].b):(v.a=Z1(t.R,kt(t.L,P)),v.c=X1(t.R,jt(t.L,P))),t.o[r]?(v.b=t.o[r].a,v.d=t.o[r].b):(v.b=Z1(t.R,kt(t.L,r)),v.d=X1(t.R,jt(t.L,r))),(ee(t.L,e)&y8)!=0){cA(t,v)&&t.rb(v),W1(t,-9);return;}switch(f=l1(t.L,e)==8?0:l1(t.L,e)==16?1:dt(t.L,e),f){case 1:if(D=l1(t.L,e),(t.G&128)!=0&&(D==257||D==129)&&(m=z(t.L,0,e),y=Ae(t.L,m),y!=0)){for(s=VA(t.L,m),L=0,n=0;n<t.L.f;n++)Ae(t.L,n)==y&&VA(t.L,n)==s&&++L;L==1&&(D=1);}switch(D){case 1:cA(t,v)&&Hn(t,v,P,r);break;case 257:b5(t,v,P,r);break;case 129:for(R=v.b-v.a,b=v.d-v.c,vr(t.L,D1(t.L,P,r))?(Q=-3,U=-3):(Q=t.p[P],U=Xh(t,P),Q==ou(t.L,P)&&(Q=U)),l=2;l<17;l+=2)A.a=v.a+l*R/17-l*b/128,A.c=v.c+l*b/17+l*R/128,A.b=v.a+l*R/17+l*b/128,A.d=v.c+l*b/17-l*R/128,cA(t,A)&&(W1(t,l<9?Q:U),t.qb(A),W1(t,t.Q));break;case 16:cA(t,v)&&SZ(t,v,P,r);}break;case 0:case 2:if((t.s[P]||a1(t.L,P)==2)&&(t.s[r]||a1(t.L,r)==2)&&!fA(t.L,e)&&f==2){if(!cA(t,v))break;Qf(t,v.b-v.a,v.d-v.c,c),R=c.a/2,b=c.b/2,A.a=v.a+R,A.c=v.c+b,A.b=v.b+R,A.d=v.d+b,i.a=v.a-R,i.c=v.c-b,i.b=v.b-R,i.d=v.d-b,l1(t.L,e)==386&&iL(A,i),Hn(t,A,P,r),f==2?Hn(t,i,P,r):VQ(t,i,P,r);}else (t.s[r]||a1(t.L,r)==2)&&f==2?ip(t,v,e,false):(t.s[P]||a1(t.L,P)==2)&&f==2?ip(t,v,e,true):(g=O5(t.L,e),g==0&&(g=1),A.a=v.a,A.c=v.c,A.b=v.b,A.d=v.d,Qf(t,v.b-v.a,v.d-v.c,c),g>0?(i.a=v.a+c.a,i.c=v.c+c.b,i.b=v.b+c.a,i.d=v.d+c.b,(Di(t,P,r,1,T)||O(t.L,P)>1)&&(i.a+=T.a+c.b,i.c+=T.b-c.a),(Di(t,r,P,-1,T)||O(t.L,r)>1)&&(i.b+=T.a-c.b,i.d+=T.b+c.a)):(i.a=v.a-c.a,i.c=v.c-c.b,i.b=v.b-c.a,i.d=v.d-c.b,(Di(t,P,r,-1,T)||O(t.L,P)>1)&&(i.a+=T.a+c.b,i.c+=T.b-c.a),(Di(t,r,P,1,T)||O(t.L,r)>1)&&(i.b+=T.a-c.b,i.d+=T.b+c.a)),l1(t.L,e)==386&&iL(A,i),cA(t,A)&&Hn(t,A,P,r),f==2?cA(t,i)&&Hn(t,i,P,r):cA(t,i)&&VQ(t,i,P,r));break;case 3:cA(t,v)&&(Hn(t,v,P,r),Qf(t,v.b-v.a,v.d-v.c,c),W8(t,v,P,r,c.a,c.b,A),W8(t,v,P,r,-c.a,-c.b,A));break;case 4:cA(t,v)&&(Qf(t,v.b-v.a,v.d-v.c,c),W8(t,v,P,r,1.5*c.a,1.5*c.b,A),W8(t,v,P,r,.5*c.a,.5*c.b,A),W8(t,v,P,r,-0.5*c.a,-0.5*c.b,A),W8(t,v,P,r,-1.5*c.a,-1.5*c.b,A));break;case 5:cA(t,v)&&(Hn(t,v,P,r),Qf(t,v.b-v.a,v.d-v.c,c),W8(t,v,P,r,2*c.a,2*c.b,A),W8(t,v,P,r,c.a,c.b,A),W8(t,v,P,r,-c.a,-c.b,A),W8(t,v,P,r,-2*c.a,-2*c.b,A));}t.C==-8&&W1(t,-9);}function Oa(t,e,A,n,P,r){var i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a,E,X,tt,W,$,et,lt,st,ct,Pt,Tt,Kt,Ct,$t,Ut,Ht,Qt,Nt,b1,e1,Rt,Lt,j1,St,g1,y0,F1;if(E=e.i,X=e.j,C=e.f,S=e.g,!n[E]&&!n[X])for(st=C.c.length>S.c.length?C:S,ct=C.c.length>S.c.length?E:X,n[ct]=true,x=P==null?0:P[ct],et=0;et<st.d.length;et++)D=st.e[st.d[et]],yD(t,D,J0(st.b[x],st.d[et]));if(n[E]?(a=X,j=S,s=e.b?1:0):(a=E,j=C,s=e.b?0:1),L=e.a,Ht=z(t.o,s,L),Ct=z(t.o,1-s,L),p=P==null?0:P[a],R=j.f[Ht],v=j.f[Ct],tt=J0(j.b[p],j.d[R]),Ut=t.k[Ht],W=ti(z8(tt,J0(j.b[p],j.d[v]))),F1=ti(z8(Ut,t.k[Ct])),i=ob(W,F1),b=h(E2,b2,29,j.d.length,0,1),i<.0010000000474974513)for(et=0;et<j.d.length;et++)D=j.e[j.d[et]],D!=Ht&&D!=Ct&&(b[et]=i>bA?z8(tt,J0(j.b[p],j.d[et])):z8(J0(j.b[p],j.d[et]),tt));else for(i<3.1405926535422957?Qt=new xe(F1.b*W.c-F1.c*W.b,-(F1.a*W.c-F1.c*W.a),F1.a*W.b-F1.b*W.a):w.Math.abs(F1.a)>=w.Math.abs(F1.b)&&w.Math.abs(F1.a)>=w.Math.abs(F1.c)?Qt=new xe(-(F1.b+F1.c)/F1.a,1,1):w.Math.abs(F1.b)>=w.Math.abs(F1.a)&&w.Math.abs(F1.b)>=w.Math.abs(F1.c)?Qt=new xe(1,-(F1.a+F1.c)/F1.b,1):Qt=new xe(1,1,-(F1.a+F1.b)/F1.c),Pt=o2(ti(Qt),i),et=0;et<j.d.length;et++)D=j.e[j.d[et]],D!=Ht&&D!=Ct&&(b[et]=lQ(z8(J0(j.b[p],j.d[et]),tt),Pt));for(n[a]=true,lt=0;lt<O(t.o,Ht);lt++)T=_(t.o,Ht,lt),T!=Ct&&(m=j.f[T],eq(t,T,new xe(b[m].a+Ut.a,b[m].b+Ut.b,b[m].c+Ut.c)));for(Nt=lL(t,e.p),c=-1,Q=0,U=0,Rt=0;Rt<t.i[A].length;Rt++){for(c=t.i[A][Rt],Pt=o2(F1,Q1*c/180-Nt),et=0;et<j.d.length;et++)D=j.e[j.d[et]],D!=Ht&&D!=Ct&&(yD(t,D,b[et]),Hr(lQ(t.k[D],Pt),Ut));if(y=q5(t,e),y0=y,j1=0,y<N6)$t=y/w4,t.e[A][Rt]=t.d[A][Rt]*(1-$t*$t);else {for(l=t.i[A][Rt],g1=Ve,Tt=0;Tt<2;Tt++)if(c=r[Rt][Tt],c!=l){for(Pt=o2(F1,Q1*c/180-Nt),$=0;$<j.d.length;$++)D=j.e[j.d[$]],D!=Ht&&D!=Ct&&(yD(t,D,b[$]),Hr(lQ(t.k[D],Pt),Ut));Kt=q5(t,e),Kt<y*xf&&Kt<g1&&(t.i[A][Rt]=r[Rt][Tt],$t=Kt/.16000000476837162,t.e[A][Rt]=t.d[A][Rt]*(1-$t*$t),y0=Kt,j1=Tt+1,g1=Kt);}g1==Ve&&y<w4&&($t=y/w4,t.e[A][Rt]=t.d[A][Rt]*(1-$t*$t));}t.e[A][t.a[A]]<t.e[A][Rt]&&(t.a[A]=Rt,Q=j1,U=y0);}for(St=0,Lt=0;Lt<t.i[A].length;Lt++)t.e[A][Lt]>0&&(St+=t.e[A][Lt]);if(t.e[A][t.a[A]]<=0)for(t.e[A][t.a[A]]=1,f=Q==1?-8:Q==2?8:jn(t.f)<.5?-8:8,b1=1;b1<=4;b1++){for(c=t.i[A][t.a[A]]+f*b1<<16>>16,Pt=o2(F1,Q1*c/180-Nt),$=0;$<j.d.length;$++)D=j.e[j.d[$]],D!=Ht&&D!=Ct&&(yD(t,D,b[$]),Hr(lQ(t.k[D],Pt),Ut));if(g=q5(t,e),U-g<.05)break;t.i[A][t.a[A]]=c;}else for(e1=0;e1<t.i[A].length;e1++)t.e[A][e1]/=St;if(c!=t.i[A][t.a[A]])for(Pt=o2(F1,Q1*t.i[A][t.a[A]]/180-Nt),$=0;$<j.d.length;$++)D=j.e[j.d[$]],D!=Ht&&D!=Ct&&(yD(t,D,b[$]),Hr(lQ(t.k[D],Pt),Ut));zm(t,L,t.i[A][t.a[A]]);}function sp(){sp=B1,k4=B(d(yt,1),wt,6,15,[0,1.00794,4.0026,6.941,9.0122,10.811,12.011,14.007,15.999,18.998,20.18,22.99,24.305,26.982,28.086,30.974,32.066,35.453,39.948,39.098,40.078,44.956,47.867,50.942,51.996,54.938,55.845,58.933,58.693,63.546,65.39,69.723,72.61,74.922,78.96,79.904,83.8,85.468,87.62,88.906,91.224,92.906,95.94,98.906,101.07,102.91,106.42,107.87,112.41,114.82,118.71,121.76,127.6,126.9,131.29,132.91,137.33,138.91,140.12,140.91,144.24,146.92,150.36,151.96,157.25,158.93,162.5,164.93,167.26,168.93,173.04,174.97,178.49,180.95,183.84,186.21,190.23,192.22,195.08,196.97,200.59,204.38,207.2,208.98,209.98,209.99,222.02,223.02,226.03,227.03,232.04,231.04,238.03,237.05,239.05,241.06,244.06,249.08,252.08,252.08,257.1,258.1,259.1,262.11,267.12,268.13,271.13,270.13,277.15,276.15,vy,vy,283.17,285.18,Fy,Fy,293.2,my,my,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0141,3.016,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71.0787,156.18828,114.10364,115.0877,103.1447,128.13052,129.11458,57.05182,137.14158,113.15934,113.15934,128.17428,131.19846,147.17646,97.11658,87.0777,101.10458,186.2134,163.17546,99.13246]),m4=B(d(yt,1),wt,6,15,[0,1.007825,4.0026,7.016003,9.012182,11.009305,12,14.003074,15.994915,18.998403,19.992435,22.989767,23.985042,26.98153,27.976927,30.973762,31.97207,34.968852,39.962384,38.963707,39.962591,44.95591,47.947947,50.943962,51.940509,54.938047,55.934939,58.933198,57.935346,62.939598,63.929145,68.92558,73.921177,74.921594,79.91652,78.918336,83.911507,84.911794,87.905619,88.905849,89.904703,92.906377,97.905406,89.92381,101.904348,102.9055,105.903478,106.905092,113.903357,114.90388,119.9022,120.903821,129.906229,126.904473,131.904144,132.905429,137.905232,138.906346,139.905433,140.907647,141.907719,135.92398,151.919729,152.921225,157.924099,158.925342,163.929171,164.930319,165.93029,168.934212,173.938859,174.94077,179.946545,180.947992,183.950928,186.955744,191.961467,192.962917,194.964766,196.966543,201.970617,204.974401,207.976627,208.980374,193.98818,195.99573,199.9957,201.00411,206.0038,210.00923,232.038054,216.01896,238.050784,229.03623,232.041169,237.05005,238.05302,242.06194,240.06228,243.06947,243.07446,248.08275,251.08887,253.09515,257.10295,257.10777,271.13,270.13,277.15,276.15,vy,vy,283.17,285.18,Fy,Fy,291.2,my,my,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.014,3.01605,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),S2=B(d(F,1),k,6,15,[6,1,7,8]);}function Ga(t,e,A,n){var P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a,E,X,tt,W,$,et,lt,st,ct,Pt,Tt,Kt,Ct,$t,Ut,Ht,Qt,Nt,b1,e1,Rt,Lt,j1,St,g1,y0,F1,s1,T0,G0,OA,b0,d1,fe,Ke,gA;for(X=0,Q=0,lt=0,Nt=h(rt,ft,6,e.q,16,1),Lt=h(rt,ft,6,e.q,16,1),Rt=h(rt,ft,6,e.q,16,1),r=0;r<e.q;r++)A[r]==n&&(Rt[r]=true,Nt[r]=true,++Q,++X);for(i=0;i<e.q;i++)if(Rt[i])for(Ct=0;Ct<e.j[i];Ct++)C=e.i[i][Ct],Nt[C]||(Nt[C]=true,++Q,++lt);for(f=0;f<e.q;f++)if(Nt[f]&&!Rt[f]&&!Lt[f])for(Ct=0;Ct<e.e[f];Ct++)C=e.i[f][Ct],Nt[C]||(Lt[C]=true,Nt[C]=true,++Q);for(y=0,s=0;s<e.r;s++)Nt[e.D[0][s]]&&Nt[e.D[1][s]]&&++y;for(ct=new zA(Q,y),ui(e,ct,Nt,false,null),je(ct,true),tt=h(F,k,6,X,15,1),Tt=h(F,k,6,Q,15,1),st=h(F,k,6,X+lt,15,1),T0=h(F,k,6,e.q,15,1),E=0,Pt=0,et=0,D=0;D<e.q;D++)Nt[D]&&(EP(e,D,true)&&T1(ct,Pt,Ur,true),Rt[D]||(ct.u[Pt]|=I0),(Rt[D]||!Lt[D])&&(st[et]=Pt,T0[D]=et,++et),Rt[D]&&(tt[E]=Pt,++E),Tt[Pt]=D,ct.C[Pt]==1&&(ct.A[Pt]=2,ct.T&=ct.C[Pt]==1?0:7),++Pt);if(j=null,g1=null,c=null,St=null,e1=false,fe=!!t.a&&Dx(t.a)&&Q<=32,fe){for(c=new EA(ct,512),P=0;P<ct.f;P++)if(c.db[P]==3){fe=false;break;}for(L=0;L<ct.g;L++)if(c.o[L]==3){fe=false;break;}fe&&Z5(c);}if(t.a&&!fe&&++t.a.d,ct.T|=8,fe&&(e1=uj(c),St=me(c),T=ZB(t.a,St),T)){for(Kt=(Ui(c),c.H),j=new f1(),p=T.a,x=0,a=p.length;x<a;++x){for(S=p[x],j1=0;j1<ct.q;j1++)l=S[Kt[j1]],Be(ct,j1,l.a),Ie(ct,j1,l.b),hP(ct,j1,e1?-l.c:l.c);mt(j,new mu(ct));}g1=T.c;}if(!j){for(b0=new NQ(ct),$U(b0,t.d),d5(b0,t.c,16),j=new f1(),U=BQ(b0),j.a.push(U),b=BQ(b0);b;)j.a.push(b),b=BQ(b0);for(s1=Ve,v=new Wt(j);v.a<v.c.a.length;)g=t1(v),s1=w.Math.min(s1,g.e);for(d1=2*s1,$t=j.a.length-1;$t>=0;$t--)(ve($t,j.a.length),j.a[$t]).e>d1&&LA(j,$t);for(g1=h(yt,wt,6,j.a.length,15,1),y0=0,b1=0,Ut=0;Ut<j.a.length;Ut++)g=(ve(Ut,j.a.length),j.a[Ut]),g1[Ut]=w.Math.pow(10,(s1-g.e)/13.600000000000001),y0+=g1[Ut];for(Ht=0;Ht<j.a.length;Ht++)g1[Ht]/=y0;if(t.b){for(Ke=0,F1=Ve,R=new Wt(j);R.a<R.c.a.length;)g=t1(R),W=xY(es(g,g.o)),g.n=W,isNaN(W)||(F1=w.Math.min(F1,W),++Ke),Zx(g,ct);for($=F1+2.72,m=new Wt(j);m.a<m.c.a.length;)g=t1(m),!isNaN(g.n)&&g.n>$&&(g.n=NaN,--Ke);if(Ke!=0){for(G0=h(yt,wt,6,Ke,15,1),OA=0,b1=0,Qt=j.a.length-1;Qt>=0;Qt--)g=(ve(Qt,j.a.length),j.a[Qt]),isNaN(g.n)?LA(j,Qt):(G0[b1]=w.Math.pow(10,(F1-g.n)/1.36),OA+=G0[b1],++b1);for(g1=h(yt,wt,6,Ke,15,1),Ct=0;Ct<Ke;Ct++)g1[Ct]=G0[Ct]/OA;}}if(fe){for(Kt=(Ui(c),c.H),S=R1(E2,[nA,b2],[128,29],0,[j.a.length,Kt.length],2),Ct=0;Ct<S.length;Ct++)for(j1=0;j1<Kt.length;j1++)gA=J0((ve(Ct,j.a.length),j.a[Ct]),j1),S[Ct][Kt[j1]]=new xe(gA.a,gA.b,e1?-gA.c:gA.c);$B(t.a,St,new Qg(S,g1));}}return new Nv(tt,Tt,st,T0,ff(j,h(YE,mV,96,0,0,1)),g1);}function yp(t,e){Ms();var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a,E,X,tt,W;switch(C=xt(t,e),tt=t.J[e].a,W=t.J[e].b,C){case 1:{if(p=t.j[e],p==0?(U=HL(t,true),y=0):(U=tt-kt(t,t.i[e][0]),y=W-jt(t,t.i[e][0])),p==1)v=W0(t,tt+q4*U+O4*y,W-O4*U+q4*y,0);else if(p==2)U=tt-.5*(kt(t,t.i[e][0])+kt(t,t.i[e][1])),y=W-.5*(jt(t,t.i[e][0])+jt(t,t.i[e][1])),v=W0(t,tt+U,W+y,0);else if(p==3){for(a=t.i[e][0],g=1;g<3;g++)f=t.k[e][g],(t.H[f]==129||t.H[f]==257)&&(a=t.i[e][g]);if(A=w.Math.abs(Je(kA(t.J[e].a,t.J[e].b,kt(t,t.i[e][0]),jt(t,t.i[e][0])),kA(t.J[e].a,t.J[e].b,kt(t,t.i[e][1]),jt(t,t.i[e][1])))),n=w.Math.abs(Je(kA(t.J[e].a,t.J[e].b,kt(t,t.i[e][0]),jt(t,t.i[e][0])),kA(t.J[e].a,t.J[e].b,kt(t,t.i[e][2]),jt(t,t.i[e][2])))),P=w.Math.abs(Je(kA(t.J[e].a,t.J[e].b,kt(t,t.i[e][1]),jt(t,t.i[e][1])),kA(t.J[e].a,t.J[e].b,kt(t,t.i[e][2]),jt(t,t.i[e][2])))),x=true,A>n&&A>P?n+P<Q1&&(x=false,U=tt-.5*(kt(t,t.i[e][0])+kt(t,t.i[e][1])),y=W-.5*(jt(t,t.i[e][0])+jt(t,t.i[e][1]))):n>A&&n>P?A+P<Q1&&(x=false,U=tt-.5*(kt(t,t.i[e][0])+kt(t,t.i[e][2])),y=W-.5*(jt(t,t.i[e][0])+jt(t,t.i[e][2]))):A+n<Q1&&(x=false,U=tt-.5*(kt(t,t.i[e][1])+kt(t,t.i[e][2])),y=W-.5*(jt(t,t.i[e][1])+jt(t,t.i[e][2]))),x){for(E=t.i[e][0],Q=Ve,c=0;c<3;c++)r=t.i[e][c],r!=a&&(D=w.Math.pow(t.J[e].a-t.J[r].a,2)+w.Math.pow(t.J[e].b-t.J[r].b,2),D<Q&&(E=r,Q=D,x1()));v=W0(t,(t.J[a].a+t.J[E].a)/2,(t.J[a].b+t.J[E].b)/2,0);}else v=W0(t,tt+U,W+y,0);}else v=W0(t,tt+U,W+y,0);K0(t,v,1),O0(t,e,v,1);}break;case 2:if(S=t.j[e],S==1)U=tt-kt(t,t.i[e][0]),y=W-jt(t,t.i[e][0]),v=W0(t,tt+(vU*U-FU*y)*.7,W+(FU*U+vU*y)*.7,0),K0(t,v,1),O0(t,e,v,1),v=W0(t,tt+(E4*U-x4*y)*.7,W+(x4*U+E4*y)*.7,0),K0(t,v,1),O0(t,e,v,1);else if(S==2)L=tt-kt(t,t.i[e][0]),l=W-jt(t,t.i[e][0]),s=tt-kt(t,t.i[e][1]),T=W-jt(t,t.i[e][1]),b=w.Math.sqrt(L*L+l*l)*.7,j=w.Math.sqrt(s*s+T*T)*.7,U=L+s,y=l+T,R=w.Math.sqrt(U*U+y*y),i=(b+j)/2,U=U/R*i,y=y/R*i,X=pQ(t,e),v=W0(t,tt+V4*U-I4*y,W+I4*U+V4*y,0),K0(t,v,1),X>-1?O0(t,e,v,1):O0(t,e,v,257),v=W0(t,tt+S4*U-N4*y,W+N4*U+S4*y,0),K0(t,v,1),O0(t,e,v,1);else for(m=0;m<C;m++)v=W0(t,tt,W,0),K0(t,v,1),O0(t,e,v,1);break;case 3:t.i[e][0]>0?(U=(tt-kt(t,t.i[e][0]))*.7,y=(W-jt(t,t.i[e][0]))*.7,v=W0(t,tt+U,W+y,0),K0(t,v,1),O0(t,e,v,1),v=W0(t,tt-y,W+U,0),K0(t,v,1),O0(t,e,v,1),v=W0(t,tt+y,W-U,0),K0(t,v,1),O0(t,e,v,1)):(U=HL(t,true),y=HL(t,true),v=W0(t,tt+U,W+y,0),K0(t,v,1),O0(t,e,v,1),v=W0(t,tt-y*vU,W+U*FU,0),K0(t,v,1),O0(t,e,v,1),v=W0(t,tt-y*vU,W-U*FU,0),K0(t,v,1),O0(t,e,v,1));break;default:{for(m=0;m<C;m++)v=W0(t,tt,W,0),K0(t,v,1),O0(t,e,v,1);break;}}}function Ja(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a,E,X,tt,W,$,et,lt,st,ct,Pt,Tt;if((t.fb!=VD(t.k)||t.N!=Vr(t.k))&&(t.fb=VD(t.k),t.N=Vr(t.k),t.eb<3&&(t.eb=3)),P=UT(e),f=DB(e),ae(e,P),RT(e,0,0,t.fb,t.N),(t.U&4)!=0&&t.I.a.length==0&&(y=.5*t.fb,l=.5*t.N,r=.03999999910593033*t.fb,A=new KD(),mT(A,y-r,l,y+r,l),A.j=true,mt(t.I,A)),U=false,t.eb!=0){switch((t.U&1)!=0&&t.eb!=5&&Bm(t),t.G=(t.U&4)!=0?new rR(new Bh(t.L,t.Y),t.I):(t.U&2)!=0?new pB(t.L,t.Y,t.I):(t.U&1)!=0?new Xd(t.L,t.I):new Wv(t.V,t.I),PY(t.G,f,P),CS(t.G,t.T),HS(t.G,(t.U&1)==0?0:(L=Ky,L.startsWith(Xy)||L.startsWith(Zy)||L.startsWith(Wy)?y5(P,QU):(_r(),P&qn|vt(w.Math.round(QU*((P&iP)>>16)))<<16|vt(w.Math.round(QU*((P&PP)>>8)))<<8|vt(w.Math.round(QU*(P&255)))))),YO(t.G,t.$),MS(t.G,t.H|8|(t.w==19?80:0)),t.eb){case 6:case 4:case 5:UJ(t,e);break;case 3:b=j5(t.G,e,new QA(0,0,t.fb,t.N),0),b&&(t.U&1)!=0&&I3(b,t.V);break;case 2:j=Uj(t.G,e,new QA(0,0,t.fb,t.N),0),U=!!j&&!(j.c==1&&j.a==0&&j.b==0);}t.eb=0;}switch(t.G&&t_(t.G,e),U||JK(t,e),t.G&&(zY(t.G,e),fG(t.G,e)),t.t!=-1&&t.i.a.length!=0&&(p=vt(kt(t.V,t.t)),W=vt(jt(t.V,t.t)),c=t.i.a,C=NG(t,c),ae(e,C==1?f:C==2?-16776961:Dy),C==1?c=(Y1(),X0)[SA(c,t.c)]:C==2&&(c=UA(t.j,0,c.length)),i=3*(Pt=e.Jc(),Pt.getFontSize())/2|0,eL(e,i,false,false),cT(e,p,W,c),C==4&&(ae(e,qP),jT(e,p+GL(e,c).b/2,W+i,"<unknown>")),C==2&&(ae(e,Dy),cT(e,p+GL(e,c).b,W,HD(t.j,c.length)))),ae(e,f),t.X){case 1:switch(x=vt(t.hb),$=vt(t.kb),t.t==-1||t.t==t.e?(a=vt(t.ib),et=vt(t.lb)):(a=vt(kt(t.V,t.t)),et=vt(jt(t.V,t.t))),t.w){case 5:xr(e,x,$,a,et);break;case 6:E=($-et)/9|0,lt=(a-x)/9|0,T=new YD(3),Ce(T,x,$),Ce(T,a+E,et+lt),Ce(T,a-E,et-lt),Yo(e,new rD(T));break;case 23:for(E=a-x,lt=et-$,Q=2;Q<17;Q+=2)X=x+(Q*E/17|0)-(Q*lt/128|0),st=$+(Q*lt/17|0)+(Q*E/128|0),tt=x+(Q*E/17|0)+(Q*lt/128|0),ct=$+(Q*lt/17|0)-(Q*E/128|0),xr(e,X,st,tt,ct);}break;case 2:if(t.q>0&&xr(e,vt(t.hb),vt(t.kb),vt(t.o[0]),vt(t.p[0])),t.q>1)for(Q=1;Q<t.q;Q++)xr(e,vt(t.o[Q-1]),vt(t.p[Q-1]),vt(t.o[Q]),vt(t.p[Q]));break;case 5:ae(e,(m=(v=ID(e),v!=0?v:Yy),n5(m,(s=Ky,s.startsWith(Xy)||s.startsWith(Zy)||s.startsWith(Wy)?yV:lV)))),Hx(e,new rD(t.R)),ae(e,f);break;case 6:p=t.hb<t.ib?vt(t.hb):vt(t.ib),W=t.kb<t.lb?vt(t.kb):vt(t.lb),S=vt(w.Math.abs(t.ib-t.hb)),D=vt(w.Math.abs(t.lb-t.kb)),ae(e,(R=(g=ID(e),g!=0?g:Yy),n5(R,(L=Ky,L.startsWith(Xy)||L.startsWith(Zy)||L.startsWith(Wy)?yV:lV)))),Tt=e.Jc(),Tt.drawRectangle(p,W,S,D),ae(e,f);break;case 8:x=vt(t.hb),$=vt(t.kb),t.t==-1||t.t==t.e?(a=vt(t.ib),et=vt(t.lb)):(a=vt(kt(t.V,t.t)),et=vt(jt(t.V,t.t))),ae(e,(n=UT(e),Gs(-8388608,n))),xr(e,x,$,a,et),ae(e,f);}}function lp(t,e,A){var n,P,r,i,f,D;for(r=0,YA(t.b)?(r=Y(r,1),Tf(t.A,e,A,true)):Tf(t.A,e,A,false),B0(t.g)==2?gI(t.A,e)||(r=Y(r,p6)):vn(t.A,e)||(B0(t.g)==1?r=Y(r,2):B0(t.g)==3&&(r=Y(r,4))),f=0,P=0;P<O(t.A,e);P++)gt(V(o0(t.A,_(t.A,e,P)),Pe),0)&&fA(t.A,Ot(t.A,e,P))&&++f;switch(B0(t.s)){case 1:f==0&&(r=Y(r,112));break;case 2:f<=2&&(r=Y(r,96));break;case 3:r=Y(r,8);break;case 4:f<3&&(r=Y(r,104));break;case 5:f<4&&(r=Y(r,88));break;case 6:r=Y(r,56);}switch(B0(t.t)!=0&&(r=Y(r,M1(B0(t.t)+2,22))),D=B0(t.r),D==ci.length?r=Y(r,t.C):D!=0&&(r=Y(r,ci[D])),B0(t.i)){case 1:r=Y(r,WQ);break;case 2:r=Y(r,Mf);break;case 3:r=Y(r,Cf);}switch(i=uI(t.A,e),B0(t.n)){case 1:i==1?r=Y(r,I1):i<1&&(r=Y(r,_Q));break;case 2:i==2?r=Y(r,I1):i<2&&(r=Y(r,d2));break;case 3:i==3?r=Y(r,I1):i<3&&(r=Y(r,B2));break;case 4:i==2?r=Y(r,I1):i<2&&(r=Y(r,$Q));break;case 5:i==3?r=Y(r,I1):i<3&&(r=Y(r,qA));break;case 6:i==0&&(r=Y(r,C0));break;case 7:i==1?r=Y(r,C0):i<1&&(r=Y(r,yi));break;case 8:i==2?r=Y(r,C0):i<2&&(r=Y(r,SP));break;case 9:i==3?r=Y(r,C0):i<3&&(r=Y(r,Hf));break;case 10:i==0?r=Y(r,3276800):r=Y(r,$Q);break;case 11:i==0?r=Y(r,2228224):r=Y(r,qA);break;case 12:i<=1?r=Y(r,1099513856e3):i<=3&&(r=Y(r,qA));}switch(n=eh(t.A,e),B0(t.j)){case 1:n==0&&(r=Y(r,uy));break;case 2:n<=1&&(r=Y(r,Qy));break;case 3:n<=2&&(r=Y(r,Uy));break;case 4:n<=3&&(r=Y(r,oy));break;case 5:n<2&&(r=Y(r,T6));break;case 6:n<3&&(r=Y(r,h6));break;case 7:n<4&&(r=Y(r,aQ));break;case 8:n==0&&(r=Y(r,v2));break;case 9:n<2&&(r=Y(r,Ly));break;case 10:n<3&&(r=Y(r,sy));break;case 11:n<4&&(r=Y(r,tU));break;case 12:n<2&&(r=Y(r,c6));break;case 13:n<3&&(r=Y(r,w6));break;case 14:n<3&&(r=Y(r,g6));}switch(B0(t.k)){case 1:r=Y(r,1792);break;case 2:r=Y(r,1664);break;case 3:r=Y(r,1408);break;case 4:r=Y(r,128);break;case 5:r=Y(r,384);break;case 6:r=Y(r,896);break;case 7:r=Y(r,1536);break;case 8:r=Y(r,re);break;case 9:r=Y(r,1152);}switch(B0(t.p)){case 1:r=Y(r,98304);break;case 2:r=Y(r,81920);break;case 3:r=Y(r,49152);break;case 4:r=Y(r,Sn);}switch(B0(t.o)!=0&&(r=Y(r,M1(B0(t.o),47))),YA(t.c)&&(Zi(t.A,e)>0||p1(t.A,e)==0&&(K(t.A,e)==5||yT(t.A,e)||VT(t.A,e)))&&(r=Y(r,I1)),YA(t.f)&&(Zi(t.A,e)>0||p1(t.A,e)==0&&(K(t.A,e)==5||yT(t.A,e)||VT(t.A,e)))&&(r=Y(r,C0)),B0(t.u)){case 1:r=Y(r,KQ);break;case 2:r=Y(r,XQ);}if(YA(t.e)&&(r=Y(r,ge)),YA(t.d)&&(r=Y(r,Pe)),t.q)switch(B0(t.q)){case 1:r=Y(r,cn);break;case 2:r=Y(r,lU);break;case 3:r=Y(r,c8);}T1(t.A,e,-1,false),T1(t.A,e,r,true);}function za(t,e,A,n,P,r){var i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a,E,X,tt,W,$,et;for(U=e.a[A],L=e.a[n],s=e.a[P],y=e.a[r],W=CX(t.a,e,A,n,P,r),$=W>10?W/10|0:W,et=W>10?W-$*10:0,S=-1,p=0,C=0,x=0,b=$,X=5;(p<X&&(S==-1||X==4)||p==4&&$==5&&et>0)&&(X==5&&p==4&&(X=4,p=0,b=et),p==1?(C=1,x=3):p==2?(C=3,x=1):(C=p,x=p),g=t.a.g.a[U-1][w.Math.min(C+1,4)],m=L,v=s,R=t.a.g.a[y-1][w.Math.min(x+1,4)],m>v?(v=(E=k1(m),k1(m=v),E).a,R=(a=k1(g),k1(g=R),a).a):m==v&&g>R&&(R=(a=k1(g),k1(g=R),a).a),S=_9(B(d(F,1),k,6,15,[2,3,1,4,0]),B(d(F,1),k,6,15,[m,v,g,R,b]),t),!(S!=-1&&X==4));)++p;if(S>=0)return new qv(t,S);for(c=D1(e,n,P),f=B(d(yt,1),wt,6,15,[0,0]),D=B(d(yt,1),wt,6,15,[0,0]),Q=B(d(yt,1),wt,6,15,[0,0]),l=B(d(F,1),k,6,15,[e.C[n],e.C[P]]),i=(mn(t.a.b,L)-1)*(mn(t.a.b,s)-1),j=0;j<2;j++)switch(l[j]){case 6:f[j]=2,D[j]=2.12;break;case 7:f[j]=2,D[j]=1.5;break;case 8:f[j]=2,D[j]=.2,Q[j]=2;break;case 14:f[j]=1.25,D[j]=1.22;break;case 15:f[j]=1.25,D[j]=2.4;break;case 16:f[j]=1.25,D[j]=.49,Q[j]=8;}return zD(t.a.b,L)||zD(t.a.b,s)?new Gn(0,0):rL(t.a.b,L)&&rL(t.a.b,s)&&c<e.g&&Re(e.p,c)?(T=e8(t.a.b,L)==3&&e8(t.a.b,s)==4||e8(t.a.b,L)==4&&e8(t.a.b,s)==3?3:6,tt=Ir(t.a.b,L)==0&&Ir(t.a.b,s)==0?.5:.3,new Gn(T*tt*w.Math.sqrt(f[0]*f[1]),0)):dt(e,c)==2?(tt=HA(t.a.b,L)==2&&HA(t.a.b,s)==2?1:.4,new Gn(6*tt*w.Math.sqrt(f[0]*f[1]),0)):mn(t.a.b,L)==4&&mn(t.a.b,s)==4?new Gn(0,w.Math.sqrt(D[0]*D[1])/i):mn(t.a.b,L)==4&&mn(t.a.b,s)!=4?mn(t.a.b,s)==3&&(e8(t.a.b,s)==4||e8(t.a.b,s)==34||HA(t.a.b,s)>0)||mn(t.a.b,s)==2&&(e8(t.a.b,s)==3||HA(t.a.b,s)>0)?new Ro():new Gn(0,w.Math.sqrt(D[0]*D[1])/i):mn(t.a.b,s)==4&&mn(t.a.b,L)!=4?mn(t.a.b,L)==3&&(e8(t.a.b,L)==4||e8(t.a.b,L)==34||HA(t.a.b,L)>0)||mn(t.a.b,L)==2&&(e8(t.a.b,L)==3||HA(t.a.b,L)>0)?new Ro():new Gn(0,w.Math.sqrt(D[0]*D[1])/i):dt(e,c)==1&&HA(t.a.b,L)>0&&HA(t.a.b,s)>0||HA(t.a.b,L)>0&&Ir(t.a.b,s)>0||Ir(t.a.b,L)>0&&HA(t.a.b,s)>0?Ir(t.a.b,L)>0&&Ir(t.a.b,s)>0?new Ro():Ir(t.a.b,L)>0&&HA(t.a.b,s)>0?(tt=0,HA(t.a.b,L)==1?tt=.5:an(l[0])==2&&an(l[1])==2?tt=.3:(an(l[0])!=2||an(l[1])!=2)&&(tt=.15),new Gn(6*tt*w.Math.sqrt(f[0]*f[1]),0)):Ir(t.a.b,s)>0&&HA(t.a.b,L)>0?(tt=0,HA(t.a.b,s)==1?tt=.5:an(l[0])==2&&an(l[1])==2?tt=.3:(an(l[0])!=2||an(l[1])!=2)&&(tt=.15),new Gn(6*tt*w.Math.sqrt(f[0]*f[1]),0)):(HA(t.a.b,L)==1||HA(t.a.b,s)==1)&&(l[0]!=6||l[1]!=6)?new Gn(2.4000000000000004*w.Math.sqrt(f[0]*f[1]),0):new Gn(.8999999999999999*w.Math.sqrt(f[0]*f[1]),0):(l[0]==8||l[0]==16)&&(l[1]==8||l[1]==16)?new Gn(-w.Math.sqrt(Q[0]*Q[1]),0):new Gn(0,w.Math.sqrt(D[0]*D[1])/i);}function Ya(t,e){var A,n,P,r,i,f,D,Q,U,L;if(!t.W){if(Q=e.b,e.j==1)if(Q==-3)t.Z=true,A9(t);else if(Q==-2)t.d=true,A9(t);else if(Q==-1)A9(t);else if(e.a)Q==122?(Dv(t),t.eb=w.Math.max(t.eb,2),n1(t.k),N1(t,new q1(t,1,true))):Q==99?p5(t,true):Q==118&&((t.U&4)!=0&&t.r&&wv(),Lv(t));else if(Q==-4)t.w!=19&&(z1(t),oZ(t)||nQ(t.V)&&(t.eb=w.Math.max(t.eb,1),n1(t.k),N1(t,new q1(t,1,true))));else if(Q==-6||t.t==-1&&Q==63){hT(t._,LV,sV);return;}else if(Q==-8)t.i.a.length!=0&&(as(t,t.i.a),un(t.i,0));else if(t.u!=-1)Q==113&&t.V.K?Qv(t,t.u):Q==118?GQ(t.V,t.u,3,false,Pn(t.V,24*t.ab))&&(t.eb=w.Math.max(t.eb,3),n1(t.k),N1(t,new q1(t,1,true))):Q>=52&&Q<=55?GQ(t.V,t.u,Q-48,false,Pn(t.V,24*t.ab))&&(t.eb=w.Math.max(t.eb,3),n1(t.k),N1(t,new q1(t,1,true))):Q==97||Q==98?GQ(t.V,t.u,6,true,Pn(t.V,24*t.ab))&&(t.eb=w.Math.max(t.eb,3),n1(t.k),N1(t,new q1(t,1,true))):(P=Q==48?(z1(t),Q8(t.V,t.u,16)):Q==49?(z1(t),Q8(t.V,t.u,1)):Q==50?(z1(t),Q8(t.V,t.u,2)):Q==51?(z1(t),Q8(t.V,t.u,4)):Q==117?(z1(t),Q8(t.V,t.u,257)):Q==100?(z1(t),Q8(t.V,t.u,129)):Q==99?(z1(t),Q8(t.V,t.u,386)):Q==109&&(z1(t),Q8(t.V,t.u,16)),P&&(t.eb=w.Math.max(t.eb,1),n1(t.k),N1(t,new q1(t,1,true))));else if(t.t!=-1){if(D=t.i.a.length==0,D?t.K=Q:(t.K==108&&(un(t.i,0),Oe(t.i,76)),t.K=-1),D&&Q==108)J(t.i,"Cl"),t.eb=w.Math.max(t.eb,1),n1(t.k);else if(D&&(Q==43||Q==45))z1(t),oh(t.V,t.t,Q==43)&&(t.eb=w.Math.max(t.eb,3),n1(t.k),N1(t,new q1(t,1,true)));else if(D&&Q==46)z1(t),L=FA(t.V,t.t)==32?0:32,Ne(t.V,t.t,L),t.eb=w.Math.max(t.eb,3),n1(t.k),N1(t,new q1(t,1,true));else if(D&&Q==58)z1(t),L=FA(t.V,t.t)==48?16:FA(t.V,t.t)==16?0:48,Ne(t.V,t.t,L),t.eb=w.Math.max(t.eb,3),n1(t.k),N1(t,new q1(t,1,true));else if(D&&Q==113&&t.V.K)nF(t,t.t);else if(D&&t.V.K&&(Q==120||Q==88))U=B(d(F,1),k,6,15,[9,17,35,53]),sh(t.V,t.t,U),t.eb=w.Math.max(t.eb,3),n1(t.k),N1(t,new q1(t,1,true));else if(D&&Q==63)z1(t),Bf(t.V,t.t,0,0,-1,0)&&(t.eb=w.Math.max(t.eb,3),n1(t.k),N1(t,new q1(t,1,true)));else if(D&&Q>48&&Q<=57){if(Zi(t.V,t.t)>0){for(z1(t),r=Q-47,A=t.t,i=t.V.q-t.V.f,f=1;f<r&&(z5(t,A),n=W0(t.V,t.ib,t.lb,0),n!=-1);f++)tL(t.V,A,n),A=n-i,ut(t.V,1);t.eb=w.Math.max(t.eb,3),n1(t.k),N1(t,new q1(t,1,true));}}else !D&&Q==-7?(un(t.i,0),t.eb=w.Math.max(t.eb,1),n1(t.k)):!D&&Q==-5?(un(t.i,t.i.a.length-1),t.eb=w.Math.max(t.eb,1),n1(t.k)):Q>=65&&Q<=90||Q>=97&&Q<=122||Q>=48&&Q<=57||Q==45?(Oe(t.i,Q&w1),t.eb=w.Math.max(t.eb,1),n1(t.k)):(Q==10||Q==13)&&as(t,t.i.a);}else Q==104||Q==118?(t.U&7)==0&&v5(t,Q==104):t.db&&Y5(t.db,e);e.j==2&&(Q==-3?(t.Z=false,A9(t)):Q==-2?(t.d=false,A9(t)):Q==-1?A9(t):t.db&&Y5(t.db,e));}}function Ka(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a,E,X,tt,W,$,et,lt;for(n=0;n<t.f.f;n++)if(Mt(t.f,n)>4){for(s=new MP(t.f,1+Mt(t.f,n),false),s.a[Mt(t.f,n)]=0,s.b[Mt(t.f,n)]=0,s.k[Mt(t.f,n)]=32,s.e[Mt(t.f,n)]=n,t.b[n]=true,l=0;l<Mt(t.f,n);l++)Q=_(t.f,n,l),s.a[l]=w.Math.sin(AA*l-p2),s.b[l]=w.Math.cos(AA*l-p2),s.k[l]=32,s.e[l]=Q,t.b[Q]=true,t.c[Ot(t.f,n,l)]=true;pP(t.d,s);}for(tt=On(t.f),X=0;X<tt.j.a.length;X++){if(W=N(tt.k,X).length,a=N(tt.j,X),$=false,(t.e&12)!=0){for($=true,l=0;l<W;l++)if(!z0(t.f,a[l])){$=false;break;}}if(!$){for(g=false,T=0;T<W;T++)if(M9(t.f,a[T])==W){g=true;break;}if(g)for(E=N(tt.k,X),Qk(t,a,E),l=0;l<W;l++)t.b[a[l]]=true,t.c[E[l]]=true;}}for(f=0;f<t.f.g;f++)if(fA(t.f,f)&&!t.c[f])for(lt=L_(t,f),a=lt.a,E=lt.b,Qk(t,a,E),l=0;l<lt.a.length;l++)t.b[a[l]]=true,t.c[E[l]]=true;for(D=0;D<t.f.r;D++)if(!t.c[D]&&dt(t.f,D)==3&&(P=z(t.f,0,D),r=z(t.f,1,D),j=Mt(t.f,P)+Mt(t.f,r),j>2)){for(s=new MP(t.f,j,false),U=0,T=0;T<Mt(t.f,P);T++)Q=_(t.f,P,T),Q!=r&&(s.e[U++]=Q,t.b[Q]=true,t.c[Ot(t.f,P,T)]=true);for(s.e[U++]=P,s.e[U++]=r,c=0;c<Mt(t.f,r);c++)Q=_(t.f,r,c),Q!=P&&(s.e[U++]=Q,t.b[Q]=true,t.c[Ot(t.f,r,c)]=true);for(l=0;l<j;l++)s.a[l]=l,s.b[l]=0,s.k[l]=1;t.b[P]=true,t.b[r]=true,t.c[D]=true,pP(t.d,s);}for(i=0;i<t.f.r;i++)if(!t.c[i]&&dt(t.f,i)==2){for(e=h(F,k,6,t.f.q,15,1),l=0;l<2;l++)if(e[0]=z(t.f,l,i),e[1]=z(t.f,1-l,i),a1(t.f,e[0])==1&&a1(t.f,e[1])==2&&Mt(t.f,e[1])==2){t.b[e[0]]=true,t.b[e[1]]=true,t.c[i]=true,b=1;do{if(C=_(t.f,e[b],0)==e[b-1]?1:0,e[b+1]=_(t.f,e[b],C),a1(t.f,e[b+1])==2&&Mt(t.f,e[b+1])>2)break;t.b[e[b+1]]=true,t.c[Ot(t.f,e[b],C)]=true,++b;}while(a1(t.f,e[b])==2&&Mt(t.f,e[b])==2);for(j=Mt(t.f,e[0])+Mt(t.f,e[b])+b-1,s=new MP(t.f,j,false),v=0;v<=b;v++)s.a[v]=v,s.b[v]=0,s.k[v]=64,s.e[v]=e[v];for(L=b+1,y=false,R=0;R<Mt(t.f,e[0]);R++)Q=_(t.f,e[0],R),Q!=e[1]&&(s.a[L]=-0.5,s.b[L]=y?w.Math.sin(AA):-w.Math.sin(AA),s.k[L]=64,s.e[L]=Q,++L,y=true);for(y=false,m=0;m<Mt(t.f,e[b]);m++)Q=_(t.f,e[b],m),Q!=e[b-1]&&(s.a[L]=b+.5,s.b[L]=y?-w.Math.sin(AA):w.Math.sin(AA),s.k[L]=64,s.e[L]=Q,++L,y=true);pP(t.d,s);}}for(A=0;A<t.f.q;A++)if(Mt(t.f,A)==4){for(S=h(F,k,6,4,15,1),p=h(F,k,6,4,15,1),x=0,T=0;T<4;T++)S[x]=_(t.f,A,T),p[x]=Ot(t.f,A,T),Mt(t.f,S[x])==1&&!t.c[p[x]]&&++x;if(x==2){for(s=new MP(t.f,3,false),l=0;l<2;l++)t.b[S[l]]=true,t.c[p[l]]=true,s.e[l]=S[l],s.k[l]=32;s.a[0]=-0.5,s.b[0]=.866,s.a[1]=.5,s.b[1]=.866,s.a[2]=0,s.b[2]=0,s.k[2]=32,s.e[2]=A,pP(t.d,s);}if(x==3){for(c=0;c<2;c++)dt(t.f,p[c])==1&&(et=S[c],S[c]=S[2],S[2]=et,et=p[c],p[c]=p[2],p[2]=et);for(s=new MP(t.f,4,false),l=0;l<3;l++)t.b[S[l]]=true,t.c[p[l]]=true,s.e[l]=S[l],s.k[l]=32;s.a[0]=-1,s.b[0]=0,s.a[1]=1,s.b[1]=0,s.a[2]=0,s.b[2]=1,s.a[3]=0,s.b[3]=0,s.k[3]=32,s.e[3]=A,pP(t.d,s);}}}function Xa(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a,E,X,tt,W,$,et,lt,st,ct,Pt,Tt,Kt,Ct,$t,Ut,Ht;if(ki(t.c),t.d=null,ut(e,63),dt(e,A)!=1||A<e.g&&Re(e.p,A)||K(e,e.D[0][A])==1||K(e,e.D[1][A])==1||(tt=(e.F[A]&128)!=0,tt&&(e.p&&A<e.g?yP(e.p,A):0)<6))return  false;for(P=h(rt,ft,6,e.f,16,1),t.a=0,C=0;C<2;C++){for(t.b[C]=e.D[C][A],t.e[C]=e.D[1-C][A];a1(e,t.b[C])==2&&e0(e,t.b[C])==2&&K(e,t.b[C])<10;)for(W=0;W<O(e,t.b[C]);W++)if(i=_(e,t.b[C],W),i!=t.e[C]&&e.C[i]!=1){if(e.j[i]==1||t.a==16)return  false;P[t.b[C]]=true,t.e[C]=t.b[C],t.b[C]=i,++t.a;break;}if($=e0(e,t.b[C]),$>4||$==1)return  false;P[t.b[C]]=true;}for(S=0;S<2;S++)for(W=0;W<O(e,t.b[S]);W++)i=_(e,t.b[S],W),e.C[i]!=1&&(P[i]=true);for(t.g=h(F,k,6,e.f,15,1),ui(e,t.c,P,true,t.g),p=0;p<t.g.length;p++)t.g[p]!=-1&&(t.i[t.g[p]]=p);if(je(t.c,true),tt&&(r=D1(t.c,t.g[t.b[0]],t.g[t.b[1]]),r!=-1)){for(Ge(t.c,r,256,true),Kt=(ut(e,7),e.p),Tt=0;Tt<Kt.j.a.length;Tt++)if(Af(Kt,Tt,A)){for(x=0;x<2;x++)for(W=0;W<O(e,t.b[x]);W++)if(i=_(e,t.b[x],W),i!=t.e[x]&&yA(Kt,Tt,i)&&e.C[i]!=1){Ge(t.c,D1(t.c,t.g[t.b[x]],t.g[i]),256,true);break;}}}for(a=0;a<2;a++){for(EP(e,t.b[a],true)&&T1(t.c,t.g[t.b[a]],Ur,true),D=false,W=0;W<O(e,t.b[a]);W++)i=_(e,t.b[a],W),i!=t.e[a]&&e.C[i]!=1&&(g=D1(t.c,t.g[t.b[a]],t.g[i]),l1(t.c,g)==8?D=true:e.C[i]==6&&!vn(e,t.b[a])&&(c=i<e.f&&i0(e.p,i)?2:4,T1(t.c,t.g[i],c,true)),f=Ot(e,t.b[a],W),Ct=e.p&&f<e.g?yP(e.p,f):0,(Ct==3||Ct==4)&&Ge(t.c,g,Ct<<17,true),(f<e.g&&Re(e.p,f)||pA(e,t.b[a],W)==2)&&($=e0(e,i),b=$==3,!b&&$==2&&(e.u[i]&hn)==0&&(b=_R(e,t.b[1-a],f)!=-1),b?T1(t.c,t.g[i],B2,true):f<e.g&&Re(e.p,f)&&T1(t.c,t.g[i],d2,true)),pA(e,t.b[a],W)==1&&(e0(e,i)==4?T1(t.c,t.g[i],Hf,true):e.C[i]==6&&T1(t.c,t.g[i],qA,true)));D||(vn(e,t.b[a])?T1(t.c,t.g[t.b[a]],2,true):T1(t.c,t.g[t.b[a]],4,true));}for(ut(t.c,191),j=0;j<2;j++)if(m=t.g[t.b[j]],d0(t.c,m)==3){if(d0(e,t.b[j])==3)return  false;et=Vv(t.c,m),w0(t.c,et,257),z(t.c,0,et)!=m&&(BD(t.c,1,et,z(t.c,0,et)),BD(t.c,0,et,m)),ut(t.c,191);}if(s=t.g[t.b[0]],y=t.g[t.b[1]],ct=t.g[t.e[0]],Pt=t.g[t.e[1]],Q=Ae(t.c,s),U=Ae(t.c,y),E8(t.c,s)&&E8(t.c,y)&&(Q!=0||U!=0)&&(Q!=U||VA(t.c,s)!=VA(t.c,y)))return  false;if(L=false,E8(t.c,s)&&Q!=0&&(He(t.c,s,0,-1),L=true),E8(t.c,y)&&U!=0&&(He(t.c,y,0,-1),L=true),L&&ut(t.c,191),lt=R0(t.c,s),st=R0(t.c,y),lt<st&&(Ht=t.b[0],t.b[0]=t.b[1],t.b[1]=Ht,Ht=t.e[0],t.e[0]=t.e[1],t.e[1]=Ht,Ht=s,s=y,y=Ht,Ht=ct,ct=Pt,Pt=Ht),X=false,(E8(t.c,s)||E8(t.c,y))&&(E8(t.c,s)?X=c3(t.c,s)==1:E8(t.c,y)&&(X=c3(t.c,y)==1),X)){for(n=0;n<t.c.q;n++)Be(t.c,n,-kt(t.c,n));ut(t.c,191);}return l=RR(t,s,ct),T=RR(t,y,Pt),t.f[0]=l==-1?-1:t.i[l],t.f[1]=T==-1?-1:t.i[T],E=FF(t.c),E==null?false:(v=cR(t,s,ct),R=cR(t,y,Pt),v==0&&R==0&&(t.c.I&qP)==I0?Ut=2:Ut=qV[v][R],$t=Ut==0?X?"<":">":Ut==1?X?"-":"+":Ut==3?"=":"",t.d=E+$t,true);}function Za(t,e){var A,n,P;i8();var r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a,E,X,tt,W,$,et,lt,st,ct,Pt,Tt,Kt,Ct,$t,Ut,Ht,Qt,Nt,b1,e1;for(v=new hj(e),c=new Tp(e,v),e1=h(zE,nA,461,e.q,0,2),ct=1;ct<e.q;ct++)e1[ct]=h(zE,{4:1,5:1,8:1,462:1,461:1},81,ct,0,1);for(T=0;T<e.r;T++)Q=O9(e.D[0][T],e.D[1][T]),MQ(e1,Q,Q,v.a[T],10);for(s=0;s<e.f;s++)for(Pt=1;Pt<e.e[s];Pt++)for(S=e.i[s][Pt],a=e.k[s][Pt],g=v.a[a],Ut=0;Ut<Pt;Ut++)p=e.i[s][Ut],E=e.k[s][Ut],r=Pt<Ut?c.a[s][Ut][Pt]:c.a[s][Pt][Ut],m=v.a[E],tt=w.Math.sqrt(g*g+m*m-2*g*m*w.Math.cos(r)),Qt=h(F,k,6,1,15,1),Qt[0]=s,MQ(e1,O9(S,p),Qt,tt,5);for(l=0;l<e.r;l++)if(!(l<e.g&&Re(e.p,l)||(e.F[l]&64)!=0&&(e.p&&l<e.g?yP(e.p,l):0)<=5)){for(Q=h(F,k,6,2,15,1),Pt=0;Pt<2;Pt++)Q[Pt]=e.D[Pt][l];if(e.e[Q[0]]>1&&e.e[Q[1]]>1){if(dt(e,l)==3){for(tt=v.a[l],b1=h(F,k,6,2,15,1),Tt=0;Tt<2;Tt++)for(Ut=0;Ut<e.e[Q[Tt]];Ut++)if(x=e.k[Q[Tt]][Ut],x!=l){tt+=v.a[x],b1[Tt]=e.i[Q[Tt]][Ut];break;}Qt=h(F,k,6,2,15,1),Qt[0]=Q[0],Qt[1]=Q[1],MQ(e1,O9(b1[0],b1[1]),Qt,tt,3);}else if(dt(e,l)==2&&e.o[Q[0]]==1&&e.o[Q[1]]==1&&(e.F[l]&3)!=3){for(C=h(F,D0,7,2,0,2),x=h(F,D0,7,2,0,2),j=h(yt,h0,15,2,0,2),Tt=0;Tt<2;Tt++){for(C[Tt]=h(F,k,6,e.e[Q[Tt]]-1,15,1),x[Tt]=h(F,k,6,e.e[Q[Tt]]-1,15,1),j[Tt]=h(yt,wt,6,e.e[Q[Tt]]-1,15,1),W=-1,Ut=0;Ut<e.e[Q[Tt]];Ut++)if(e.i[Q[Tt]][Ut]==Q[1-Tt]){W=Ut;break;}for(X=0,Ht=0;Ht<e.e[Q[Tt]];Ht++)Ht!=W&&(C[Tt][X]=e.i[Q[Tt]][Ht],x[Tt][X]=e.k[Q[Tt]][Ht],j[Tt][X]=Vu(c,Q[Tt],W,Ht),++X);}for(Kt=0;Kt<C[0].length;Kt++)for(Ut=0;Ut<C[1].length;Ut++)Ct=(e.F[l]&3)==1,C[0].length==2&&C[0][Kt]>C[0][1-Kt]&&(Ct=!Ct),C[1].length==2&&C[1][Ut]>C[1][1-Ut]&&(Ct=!Ct),A=v.a[l]-v.a[x[0][Kt]]*w.Math.cos(j[0][Kt])-v.a[x[1][Ut]]*w.Math.cos(j[1][Ut]),n=v.a[x[0][Kt]]*w.Math.sin(j[0][Kt]),Ct?n+=v.a[x[1][Ut]]*w.Math.sin(j[1][Ut]):n-=v.a[x[1][Ut]]*w.Math.sin(j[1][Ut]),P=h(F,k,6,2,15,1),P[0]=e.D[0][l],P[1]=e.D[1][l],MQ(e1,O9(C[0][Kt],C[1][Ut]),P,w.Math.sqrt(A*A+n*n),3);}else if(dt(e,l)!=0){for(Nt=h(F,k,6,2,15,1),Tt=0;Tt<2;Tt++)for(Ut=0;Ut<e.e[Q[Tt]];Ut++)if(e.i[Q[Tt]][Ut]==Q[1-Tt]){Nt[Tt]=Ut;break;}for(Kt=0;Kt<e.e[Q[0]];Kt++)if(Kt!=Nt[0])for(Ut=0;Ut<e.e[Q[1]];Ut++)Ut!=Nt[1]&&(e.o[Q[0]]==0&&e.o[Q[1]]==0?G_(e.i[Q[0]][Kt],e.i[Q[1]][Ut],e.k[Q[0]][Kt],e.k[Q[1]][Ut],Vu(c,Q[0],Nt[0],Kt),Vu(c,Q[1],Nt[1],Ut),l,v,e1,e):A_(e.i[Q[0]][Kt],e.i[Q[1]][Ut],e.k[Q[0]][Kt],e.k[Q[1]][Ut],Vu(c,Q[0],Nt[0],Kt),Vu(c,Q[1],Nt[1],Ut),l,v,e1,e));}}}for(y=0;y<e.f;y++)if(e.o[y]==2&&e.j[y]==2&&e.n[y][0]==2&&e.n[y][1]==2){for(U=e.i[y][0],L=e.i[y][1],Pt=0;Pt<e.e[U];Pt++)if(R=e.i[U][Pt],R!=y)for(Ut=0;Ut<e.e[L];Ut++)b=e.i[L][Ut],b!=y&&(i=rk(c,U,y,R),f=rk(c,L,y,b),g=B9(v,e.k[U][Pt]),m=B9(v,e.k[L][Ut]),$=B9(v,e.k[y][0])+B9(v,e.k[y][1])-g*w.Math.cos(i)-m*w.Math.cos(f),et=g*w.Math.sin(i),lt=m*w.Math.sin(f),Qt=h(F,k,6,2,15,1),Qt[0]=U,Qt[1]=L,MQ(e1,O9(R,b),Qt,w.Math.sqrt($*$+et*et+lt*lt),3));}for(D=0;D<e.q;D++)w_(e1,D,e,v);for(BY(e1,e),st=1;st<e.q;st++)for($t=0;$t<st;$t++)e1[st][$t].a!=null&&t.a.push(e1[st][$t]);}function Tp(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C;for(this.b=e,this.e=t,this.a=h(Ee,nA,464,this.e.f,0,3),P=0;P<this.e.f;P++)for(this.a[P]=h(Ee,{464:1,4:1,9:1,5:1,8:1},46,Mt(this.e,P),0,2),D=1;D<Mt(this.e,P);D++)this.a[P][D]=h(Ee,PA,6,D,15,1);for(this.c=h(F,k,6,this.e.f,15,1),this.d=h(Ee,PA,6,this.e.f,15,1),this.f=h(F,k,6,this.e.g,15,1),j=On(this.e),s=h(rt,ft,6,j.j.a.length,16,1),Zs(j,s,h(rt,ft,6,j.j.a.length,16,1),h(F,k,6,j.j.a.length,15,1),true),f=3;f<=7;f++)for(g=0;g<j.j.a.length;g++)C=N(j.k,g).length,C==f&&(s[g]?ua(this,g):C<=4&&SX(this,g));for(L=h(rt,ft,6,this.e.f,16,1),c=0;c<j.j.a.length;c++)if(s[c])for(v=N(j.j,c),R=0,b=v.length;R<b;++R)m=v[R],L[m]=true;for(r=B(d(F,1),k,6,15,[0,0,1,3,6,10,15,21]),n=0;n<this.e.f;n++){if(i=Mt(this.e,n),i>4){for(D=1;D<i;D++)for(l=0;l<D;l++)this.a[n][D][l]=I6;this.c[n]=r[i];continue;}if(this.c[n]!=r[i])if(go(this.e,n)&&(L[n]||M9(this.e,n)<=4&&a1(this.e,n)>0)){if(i>2){if(this.c[n]==1)K(this.e,n)<=14?A=(Kp-this.d[n])/2:A=Xp+(Xp-this.d[n])*.18000000715255737;else if(A=Kp-this.d[n],i>3){if(this.c[n]==2){for(y=h(rt,ft,6,Mt(this.e,n),16,1),Q=1;Q<i;Q++)for(T=0;T<Q;T++)this.a[n][Q][T]!=0&&(y[Q]=!y[Q],y[T]=!y[T]);for(U=0;U<i;U++)if(y[U]){for(T=U+1;T<i;T++)if(y[T]){this.a[n][T][U]=A;break;}break;}}A=I6;}for(D=1;D<i;D++)for(l=0;l<D;l++)this.a[n][D][l]==0&&(this.a[n][D][l]=A);}}else if(go(this.e,n)&&M9(this.e,n)<=4)switch(HK(this,n)){case 771:L0(this,n,0,3,2.0653998851776123),L0(this,n,0,0,1.9814722631346626);break;case 1028:L0(this,n,0,4,1.9797999858856201),L0(this,n,0,0,1.94691481878138);break;case 393987:L0(this,n,0,3,Zp),L0(this,n,0,6,Zp),L0(this,n,3,3,1.7229016938441077);break;case 459779:L0(this,n,0,3,x6),L0(this,n,0,4,x6),L0(this,n,0,7,x6),L0(this,n,3,4,1.9322539839360076);break;case 525316:L0(this,n,0,4,Wp),L0(this,n,0,8,Wp),L0(this,n,4,4,1.99944913298566);case 394758:L0(this,n,0,6,2.526099920272827);break;case 460550:L0(this,n,0,6,_p),L0(this,n,0,7,_p);break;case 526087:L0(this,n,0,7,$p),L0(this,n,0,8,$p);break;case 526344:L0(this,n,0,8,2.186300039291382);break;case 50529027:L0(this,n,3,3,2.4189000129699707);break;case 67371779:L0(this,n,3,4,2.2298998832702637);break;case 67372036:L0(this,n,4,4,2.094399929046631);break;case 101057283:L0(this,n,3,6,1.839926051241747),L0(this,n,3,3,2.9061476191098734);break;case 117834755:L0(this,n,3,4,2.812249087174905),L0(this,n,3,7,1.7910569124592968),L0(this,n,4,6,2.1224948975613245);break;case 134677507:L0(this,n,3,4,2.642428360523752),L0(this,n,3,8,2.027723514585844),L0(this,n,4,7,2.251474717631936);break;case 117900035:L0(this,n,3,7,2.109753935530918),L0(this,n,3,3,3.1052897491356646);break;case 117900292:L0(this,n,4,7,2.090729910747413),L0(this,n,4,4,2.551671293386306);break;case 134743044:L0(this,n,4,8,2.139250042271712),L0(this,n,4,4,2.3520055858942612);}else for(A=K(this.e,n)>10?ap:a1(this.e,n)==2?j2:EP(this.e,n,true)?tC:a1(this.e,n)==0?ap:tC,D=1;D<i;D++)for(l=0;l<D;l++)this.a[n][D][l]=A;}}function Wa(t,e,A,n){var P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b;for(t.A=e,t.a=A,L=vt(w.Math.round((de==-1&&(de=globalThis.devicePixelRatio||1),de*8))),s=B(d(F,1),k,6,15,[L,L/2|0,L*3/2|0,L/2|0,L/2|0,L/2|0,L/2|0,L/2|0,L/2|0,L/2|0,L/2|0,L/2|0,L*3/2|0,L/4|0,L/2|0,L/2|0,L/4|0]),y=B(d(F,1),k,6,15,[L*3/2|0,L/2|0]),l=B(d(F,1),k,6,15,[L,-2,L,-2,L]),b=h(F,k,6,1+2*s.length+(n?2*y.length:0),15,1),c=0,i=s,D=0,U=i.length;D<U;++D)P=i[D],b[c++]=P,b[c++]=-2;if(n)for(r=y,f=0,Q=r.length;f<Q;++f)P=r[f],b[c++]=P,b[c++]=-2;for(b[c++]=L,_o(t.v,l,b),t.b=fn(t.v,"Any atomic number"),JP(t.b,t),he(t.v,t.b,1,1,3,1),t.w=oe(t.v,n4),t.D=Gu(t.v,16,1),f0(t.v,t.w,1,3),f0(t.v,t.D,3,3),t.g=oA(t.v),Gt(t.g,d8),Gt(t.g,"is aromatic"),Gt(t.g,"is hetero-aromatic"),Gt(t.g,"is not aromatic"),f0(t.v,oe(t.v,"Aromaticity:"),1,5),f0(t.v,t.g,3,5),t.s=oA(t.v),Gt(t.s,d8),Gt(t.s,"0 (not in a ring)"),Gt(t.s,"0 or 2 (0 or 1 ring)"),Gt(t.s,">=2 (any ring count)"),Gt(t.s,"2 (in 1 ring)"),Gt(t.s,"3 (bridge head; 2 rings)"),Gt(t.s,">3 (in more than 2 rings)"),f0(t.v,oe(t.v,"Ring bonds:"),1,7),f0(t.v,t.s,3,7),t.t=oA(t.v),Gt(t.t,d8),Gt(t.t,"3 members"),Gt(t.t,"4 members"),Gt(t.t,"5 members"),Gt(t.t,"6 members"),Gt(t.t,"7 members"),f0(t.v,oe(t.v,"Smallest ring size:"),1,9),f0(t.v,t.t,3,9),t.r=oA(t.v),m=KV,v=0,R=m.length;v<R;++v)g=m[v],Gt(t.r,g);for(f0(t.v,oe(t.v,"Any ring size:"),1,11),f0(t.v,t.r,3,11),t.i=oA(t.v),Gt(t.i,d8),Gt(t.i,"not charged"),Gt(t.i,"has negative charge"),Gt(t.i,"has positive charge"),f0(t.v,oe(t.v,"Charge:"),1,13),f0(t.v,t.i,3,13),t.n=oA(t.v),Gt(t.n,d8),Gt(t.n,Gy),Gt(t.n,Jy),Gt(t.n,"exactly 3"),Gt(t.n,P4),Gt(t.n,DV),Gt(t.n,zy),Gt(t.n,r4),Gt(t.n,i4),Gt(t.n,uV),Gt(t.n,f4),Gt(t.n,"1,2, or 3"),Gt(t.n,"2 or 3"),f0(t.v,oe(t.v,"Non-H neighbours:"),1,15),f0(t.v,t.n,3,15),t.j=oA(t.v),Gt(t.j,d8),Gt(t.j,"exactly 0"),Gt(t.j,Gy),Gt(t.j,Jy),Gt(t.j,"exactly 3"),Gt(t.j,QV),Gt(t.j,P4),Gt(t.j,DV),Gt(t.j,zy),Gt(t.j,r4),Gt(t.j,i4),Gt(t.j,uV),Gt(t.j,f4),Gt(t.j,"1,2, or 3"),Gt(t.j,"2 or 3"),f0(t.v,oe(t.v,"Electroneg. neighbours:"),1,17),f0(t.v,t.j,3,17),t.k=oA(t.v),Gt(t.k,d8),Gt(t.k,"none"),Gt(t.k,Gy),Gt(t.k,Jy),Gt(t.k,zy),Gt(t.k,r4),Gt(t.k,i4),Gt(t.k,QV),Gt(t.k,P4),Gt(t.k,f4),f0(t.v,oe(t.v,"Hydrogen count:"),1,19),f0(t.v,t.k,3,19),t.p=oA(t.v),Gt(t.p,d8),Gt(t.p,"none"),Gt(t.p,Gy),Gt(t.p,Jy),Gt(t.p,zy),f0(t.v,oe(t.v,"Pi-electron count:"),1,21),f0(t.v,t.p,3,21),t.o=oA(t.v),Gt(t.o,d8),T=1;T<15;T++)Gt(t.o,""+(T-7));f0(t.v,oe(t.v,"Oxidation state:"),1,23),f0(t.v,t.o,3,23),t.c=fn(t.v,"prohibit further substitution"),JP(t.c,t),he(t.v,t.c,1,25,3,25),t.f=fn(t.v,"require further substitution"),JP(t.f,t),he(t.v,t.f,1,27,3,27),t.u=oA(t.v),Gt(t.u,d8),Gt(t.u,"is a stereo center"),Gt(t.u,"is not a stereo center"),f0(t.v,oe(t.v,"Stereo center:"),1,29),f0(t.v,t.u,3,29),t.e=fn(t.v,"match stereo center"),he(t.v,t.e,1,31,3,31),t.d=fn(t.v,"is part of exclude group"),he(t.v,t.d,1,33,3,33),n&&(he(t.v,oe(t.v,"Stereo center hint for product:"),1,35,3,35),t.q=oA(t.v),Gt(t.q,"Copy from generic product"),Gt(t.q,"Keep reactant configuration"),Gt(t.q,"Invert reactant configuration"),Gt(t.q,"Racemise configuration"),he(t.v,t.q,1,37,3,37)),ut(t.A,31),Na(t);}function hp(){var t,e,A,n;for(this.b=new LP(),this.c=new LP(),this.d=new LP(),R4=B(d(Qtt,1),A0,18,0,[new qt(1,"Hydrogen","H",2.2),new qt(2,"Helium","He",0),new qt(3,"Lithium","Li",.98),new qt(4,"Beryllium","Be",1.57),new qt(5,"Boron","B",2.04),new qt(6,"Carbon","C",2.55),new qt(7,"Nitrogen","N",3.04),new qt(8,"Oxygen","O",3.44),new qt(9,"Fluorine","F",3.98),new qt(10,"Neon","Ne",0),new qt(11,"Sodium","Na",.93),new qt(12,"Magnesium","Mg",1.31),new qt(13,"Aluminum","Al",1.61),new qt(14,"Silicon","Si",1.9),new qt(15,"Phosphorus","P",2.19),new qt(16,"Sulfur","S",2.58),new qt(17,"Chlorine","Cl",3.16),new qt(18,"Argon","Ar",0),new qt(19,"Potassium","K",1),new qt(20,"Calcium","Ca",1.36),new qt(21,"Scandium","Sc",1.54),new qt(22,"Titanium","Ti",1.63),new qt(23,"Vanadium","V",1.66),new qt(24,"Chromium","Cr",1.55),new qt(25,"Manganese","Mn",1.83),new qt(26,"Iron","Fe",1.88),new qt(27,"Cobalt","Co",1.91),new qt(28,"Nickel","Ni",1.9),new qt(29,"Copper","Cu",1.65),new qt(30,"Zinc","Zn",1.81),new qt(31,"Gallium","Ga",2.01),new qt(32,"Germanium","Ge",0),new qt(33,"Arsenic","As",2.18),new qt(34,"Selenium","Se",2.55),new qt(35,"Bromine","Br",0),new qt(36,"Krypton","Kr",2.96),new qt(37,"Rubidium","Rb",0),new qt(38,"Strontium","Sr",.82),new qt(39,"Yttrium","Y",.95),new qt(40,"Zirconium","Zr",1.22),new qt(41,"Niobium","Nb",1.33),new qt(42,"Molybdenum","Mo",1.6),new qt(43,"Technetium","Tc",2.16),new qt(44,"Ruthenium","Ru",1.9),new qt(45,"Rhodium","Rh",2.2),new qt(46,"Palladium","Pd",2.28),new qt(47,"Silver","Ag",2.2),new qt(48,"Cadmium","Cd",1.93),new qt(49,"Indium","In",1.69),new qt(50,"Tin","Sn",1.78),new qt(51,"Antimony","Sb",1.96),new qt(52,"Tellurium","Te",0),new qt(53,"Iodine","I",2.05),new qt(54,"Xenon","Xe",2.1),new qt(55,"Cesium","Cs",2.66),new qt(56,"Barium","Ba",2.6),new qt(57,"Lanthanum","La",.79),new qt(58,"Cerium","Ce",.89),new qt(59,"Praesodymium","Pr",1.1),new qt(60,"Neodymium","Nd",1.12),new qt(61,"Promethium","Pm",1.13),new qt(62,"Samarium","Sm",1.14),new qt(63,"Europium","Eu",0),new qt(64,"Gadolinium","Gd",1.17),new qt(65,"Terbium","Tb",0),new qt(66,"Dyprosium","Dy",1.2),new qt(67,"Holmium","Ho",0),new qt(68,"Erbium","Er",1.22),new qt(69,"Thulium","Tm",1.23),new qt(70,"Ytterbium","Yb",1.24),new qt(71,"Lutetium","Lu",1.25),new qt(72,"Hafnium","Hf",0),new qt(73,"Tantalium","Ta",1.27),new qt(74,"Wolfram","W",1.3),new qt(75,"Rhenium","Re",1.5),new qt(76,"Osmium","Os",2.36),new qt(77,"Iridium","Ir",1.9),new qt(78,"Platinum","Pt",2.2),new qt(79,"Gold","Au",2.2),new qt(80,"Mercury","Hg",2.28),new qt(81,"Thallium","Tl",2.54),new qt(82,"Lead","Pb",2),new qt(83,"Bismuth","Bi",1.62),new qt(84,"Polonium","Po",2.33),new qt(85,"Astatine","At",2.02),new qt(86,"Radon","Rn",2),new qt(87,"Francium","Fr",2.2),new qt(88,"Radium","Ra",0),new qt(89,"Actinium","Ac",.7),new qt(90,"Thorium","Th",.89),new qt(91,"Protactinium","Pa",1.1),new qt(92,"Uranium","U",1.3),new qt(93,"Neptunium","Np",1.5),new qt(94,"Plutonium","Pu",1.38),new qt(95,"Americium","Am",1.36),new qt(96,"Curium","Cm",1.28),new qt(97,"Berkelium","Bk",1.3),new qt(98,"Californium","Cf",1.3),new qt(99,"Einsteinium","E",1.3),new qt(100,"Fermium","Fm",1.3),new qt(101,"Mendelevium","Mv",1.3)]),e=R4,A=0,n=e.length;A<n;++A)t=e[A],Sr(this.b,k1(t.c),t),SD(this.c,t.b,t),SD(this.d,t.d.toLowerCase(),t);this.a=h(rt,ft,6,R4.length,16,1),this.a[3]=true,this.a[11]=true,this.a[19]=true,this.a[37]=true,this.a[55]=true,this.a[87]=true;}function _a(t,e,A,n){var P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a,E,X,tt,W,$,et,lt,st,ct,Pt,Tt,Kt,Ct,$t,Ut,Ht,Qt,Nt,b1,e1,Rt,Lt,j1,St,g1,y0,F1,s1,T0,G0,OA,b0,d1,fe,Ke,gA,T9,F8,QP,UP,tn,h9,xn,en;for(S=w3(t.c,n),d1=new JA(),T=0,c=0,xn=null,st=0;st<t.o.length;st++){for(p=dr(t.c,st),ut(t.o[st],1),F1=N(e[st],A[st]),y0=h(F,k,6,t.o[st].f,15,1),v=h(rt,ft,6,t.o[st].f,16,1),R=h(rt,ft,6,t.o[st].g,16,1),Ut=0;Ut<p.f;Ut++)if(F1[Ut]!=-1)if(w.Math.abs(p.w[Ut])==0){for(b=F1[Ut],v[b]=true,j1=0;j1<O(t.o[st],b);j1++)R[Ot(t.o[st],b,j1)]=true;for(Lt=Mt(t.o[st],b);Lt<De(t.o[st],b);Lt++)R[Ot(t.o[st],b,Lt)]=true;}else y0[F1[Ut]]=w.Math.abs(p.w[Ut]);for(Ht=0;Ht<p.g;Ht++)if(L=p.D[0][Ht],s=p.D[1][Ht],w.Math.abs(p.w[L])!=0&&w.Math.abs(p.w[s])!=0&&(f=F1[L],D=F1[s],f!=-1&&D!=-1)){for(Lt=0;Lt<t.o[st].g;Lt++)if(z(t.o[st],0,Lt)==f&&z(t.o[st],1,Lt)==D||z(t.o[st],0,Lt)==D&&z(t.o[st],1,Lt)==f){R[Lt]=true;break;}}for(G0=h(F,k,6,t.o[st].f,15,1),Qt=0;Qt<t.o[st].f;Qt++)if(!v[Qt]&&(G0[Qt]=En(t.o[st],d1,Qt,T,c),t.b&&Ze(d1,G0[Qt],t.p[st][A[st]][Qt],false),y0[Qt]!=0)){for(Ze(d1,G0[Qt],y0[Qt],false),Lt=0;Lt<S.f;Lt++)if(w.Math.abs(S.w[Lt])==y0[Qt]){if(E0(d1,G0[Qt],S.s[Lt]),Ne(d1,G0[Qt],S.u[Lt]&48),t.f[n][Lt])if(b0=d0(t.o[st],Qt),Ke=V(S.B[Lt],c8),G(Ke,0)==0)ce(d1,G0[Qt],3,false);else if(G(Ke,c8)==0)!xn&&(xn=new f1()),mt(xn,k1(G0[Qt]));else if(b0==1||b0==2){for(Pt=G(Ke,lU)==0,St=0;St<O(t.o[st],Qt);St++)if(y=_(t.o[st],Qt,St),v[y])for(g1=0;g1<O(t.o[st],Qt);g1++)OA=_(t.o[st],Qt,g1),!v[OA]&&OA>y&&(Pt=!Pt);Pt&&(b0=b0==1?2:1),ce(d1,G0[Qt],b0,false);}else ce(d1,G0[Qt],0,false);break;}}for(Nt=0;Nt<t.o[st].g;Nt++)R[Nt]||DQ(t.o[st],d1,Nt,T,c,G0,true);T=$0(d1,1),c=$0(d1,2);}for(T0=h(F,k,6,S.f,15,1),b1=0;b1<S.f;b1++)if(y0=w.Math.abs(S.w[b1]),y0==0)T0[b1]=En(S,d1,b1,T,c);else for(Lt=0;Lt<d1.q;Lt++)if(w.Math.abs(d1.w[Lt])==y0){T0[b1]=Lt;break;}if(t.r)for(Ut=0;Ut<S.f;Ut++)zn(d1,T0[Ut],true),Be(d1,T0[Ut],S.J[Ut].a),Ie(d1,T0[Ut],S.J[Ut].b);for(x=0;x<S.g;x++)if((S.G[x]&y8)==0&&(fe=er(S,d1,x,T,c,T0[S.D[0][x]],T0[S.D[1][x]],false),gA=S.G[x]&31,gA!=0))for(C=false,Ge(d1,fe,31,false),a=C1(S,S.D[0][x]),E=C1(S,S.D[1][x]),lt=0;!C&&lt<t.c.g.a.length;lt++)for(p=dr(t.c,lt),W=0;!C&&W<p.g;W++)X=p.D[0][W],tt=p.D[1][W],$=w.Math.abs(p.w[X]),et=w.Math.abs(p.w[tt]),$!=0&&et!=0&&($==a&&et==E||$==E&&et==a)&&(C=true,en=p.G[W]&31,en!=0&&(F1=N(e[lt],A[lt]),F8=F1[X],QP=F1[tt],UP=D1(t.o[lt],F8,QP),h9=l1(t.o[lt],UP),tn=dt(t.o[lt],UP),en&=7,gA&=7,en==3&&gA==6?(d1.H[fe]=tn<=1?2:4,d1.T=0):en==6&&gA==3?(d1.H[fe]=tn==3?2:1,d1.T=0):(d1.H[fe]=h9,d1.T=0)));for(ut(d1,1),g=false,e1=0;e1<S.f;e1++)w.Math.abs(S.w[e1])==0?(b0=H5(S,e1,T0),ce(d1,T0[e1],b0,false)):t.f[n][e1]&&JZ(t,S,e1,d1,T0[e1])&&(b0=H5(S,e1,T0),ce(d1,T0[e1],b0,false),(b0==1||b0==2)&&(m=(S.u[e1]&m1)>>18,l=(S.u[e1]&m1)>>18!=1&&(S.u[e1]&m1)>>18!=2?-1:(S.u[e1]&RA)>>20,m==1?l+=T:m==2&&(l+=c),He(d1,T0[e1],m,l),g=true));for(g&&(T=$0(d1,1),c=$0(d1,2)),T9=h(rt,ft,6,S.q,16,1),Rt=0;Rt<S.f;Rt++)t.f[n][Rt]&&!T9[Rt]&&(S.u[Rt]&4)!=0&&P0(V(S.B[Rt],c8),0)&&S.j[Rt]==d1.j[T0[Rt]]&&oW(S,Rt,d1,T0);for(ct=h(rt,ft,6,d1.q,16,1),Kt=T0,Ct=0,$t=Kt.length;Ct<$t;++Ct)Tt=Kt[Ct],ct[Tt]=true;for(j=true;j;)for(j=false,U=0;U<d1.r;U++)f=d1.D[0][U],D=d1.D[1][U],ct[f]&&!ct[D]?(ct[D]=true,j=true):ct[D]&&!ct[f]&&(ct[f]=true,j=true);for(i=0;i<d1.q;i++)dP(d1,i,!ct[i]);if(nQ(d1),!t.b)for(Q=0;Q<d1.q;Q++)d1.w[Q]=0;if(Ff(new cr(d1),null,false),d1.T|=8,s1=2|(t.r?8:0),Ar(new Y8(s1),d1),xn)for(ut(d1,15),r=new Wt(xn);r.a<r.c.a.length;)P=t1(r).a,(d1.u[P]&Tn)!=0&&(ce(d1,P,1,false),He(d1,P,1,T++));return d1;}function $a(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l;switch(t.hb=e.g,t.kb=e.i,t.w){case 18:if(y=t.hb,l=t.kb,t.e=ZA(t.V,t.hb,t.kb),t.e!=-1&&(t.hb=kt(t.V,t.e),t.kb=jt(t.V,t.e)),eb(t.V,y,l),t.I)for(f=new Wt(t.I);f.a<f.c.a.length;)i=t1(f),i.Qb(y,l);z1(t),t.X=7;break;case 2:if(t.X=0,t.e=ZA(t.V,t.hb,t.kb),t.e!=-1&&(t.f=-1,t.hb=kt(t.V,t.e),t.kb=jt(t.V,t.e),r0(t.V,t.e)?t.X=t.Z?9:4:t.X=3),t.X==0&&(P=df(t.V,t.hb,t.kb),P!=-1&&(t.e=z(t.V,0,P),t.f=z(t.V,1,P),mP(t.V,P)?t.X=t.Z?9:4:t.X=3)),t.X==0&&t.v&&(t.v.g?t.X=t.Z?9:4:t.X=t.Z&&!Zt(t.v,62)?11:10),t.X!=0){for(t.gb=h(yt,wt,6,t.V.q,15,1),t.jb=h(yt,wt,6,t.V.q,15,1),D=0;D<t.V.q;D++)t.gb[D]=kt(t.V,D),t.jb[D]=jt(t.V,D);if(t.I)for(f=new Wt(t.I);f.a<f.c.a.length;)i=t1(f),nY(i,t.hb,t.kb);z1(t);break;}if(e.a?t.X=6:(t.R=new bv(),Ce(t.R,t.hb,t.kb),Ce(t.R,t.hb,t.kb),t.X=5),t.P=h(rt,ft,6,t.V.q,16,1),t.I&&(t.Q=h(rt,ft,6,t.I.a.length,16,1)),t.O=e.f,t.O){for(Q=0;Q<t.V.q;Q++)t.P[Q]=r0(t.V,Q);if(t.I)for(D=0;D<t.I.a.length;D++)t.Q[D]=N(t.I,D).g;}else {for(L=false,Q=0;Q<t.V.q;Q++)r0(t.V,Q)&&(dP(t.V,Q,false),L=true);if(t.I)for(D=0;D<t.I.a.length;D++)N(t.I,D).g&&(N(t.I,D).g=false,L=true);L&&(t.eb=1,n1(t.k));}break;case 4:z1(t),sK(t,t.hb,t.kb);break;case 3:s=ZA(t.V,t.hb,t.kb),s!=-1&&(z1(t),Xo(t.V,s,!Fr(t.V,s)),t.eb=w.Math.max(t.eb,1),n1(t.k),N1(t,new q1(t,1,true)));break;case 101:case 103:case 102:t.u!=-1&&fN(t,t.u)&&(z1(t),q$(t,t.u,t.w==101?0:t.w==103?1:2),t.eb=w.Math.max(t.eb,1),n1(t.k),N1(t,new q1(t,1,true)));break;case 5:case 6:case 23:if(t.e=ZA(t.V,t.hb,t.kb),t.e==-1){if(n=df(t.V,t.hb,t.kb),n!=-1){z1(t),r=511,t.w==6?r=257:t.w==23&&(r=129),Q8(t.V,n,r)&&(t.eb=w.Math.max(t.eb,1),n1(t.k),N1(t,new q1(t,1,true)));break;}}else {if(De(t.V,t.e)==8)return;t.hb=kt(t.V,t.e),t.kb=jt(t.V,t.e);}t.X=1,z5(t,t.e),n1(t.k);break;case 22:if(t.e=ZA(t.V,t.hb,t.kb),t.e!=-1){if(De(t.V,t.e)==8)return;t.hb=kt(t.V,t.e),t.kb=jt(t.V,t.e);}t.X=2,t.q=0;break;case 7:z1(t),lf(t.V,t.hb,t.kb,3,false,Pn(t.V,24*t.ab))&&(t.eb=w.Math.max(t.eb,3),n1(t.k),N1(t,new q1(t,1,true)));break;case 24:z1(t),lf(t.V,t.hb,t.kb,4,false,Pn(t.V,24*t.ab))&&(t.eb=w.Math.max(t.eb,3),n1(t.k),N1(t,new q1(t,1,true)));break;case 8:z1(t),lf(t.V,t.hb,t.kb,5,false,Pn(t.V,24*t.ab))&&(t.eb=w.Math.max(t.eb,3),n1(t.k),N1(t,new q1(t,1,true)));break;case 25:z1(t),lf(t.V,t.hb,t.kb,6,false,Pn(t.V,24*t.ab))&&(t.eb=w.Math.max(t.eb,3),n1(t.k),N1(t,new q1(t,1,true)));break;case 9:z1(t),lf(t.V,t.hb,t.kb,7,false,Pn(t.V,24*t.ab))&&(t.eb=w.Math.max(t.eb,3),n1(t.k),N1(t,new q1(t,1,true)));break;case 26:z1(t),lf(t.V,t.hb,t.kb,6,true,Pn(t.V,24*t.ab))&&(t.eb=w.Math.max(t.eb,3),n1(t.k),N1(t,new q1(t,1,true)));break;case 10:z1(t),FB(t.V,t.hb,t.kb,true)&&(t.eb=w.Math.max(t.eb,3),n1(t.k),N1(t,new q1(t,1,true)));break;case 27:z1(t),FB(t.V,t.hb,t.kb,false)&&(t.eb=w.Math.max(t.eb,3),n1(t.k),N1(t,new q1(t,1,true)));break;case 16:f8(t,1);break;case 11:f8(t,6);break;case 12:f8(t,7);break;case 13:f8(t,8);break;case 28:f8(t,14);break;case 29:f8(t,15);break;case 30:f8(t,16);break;case 14:f8(t,9);break;case 31:f8(t,17);break;case 15:f8(t,35);break;case 32:f8(t,53);break;case 33:e.d||e.a?(A=ZA(t.V,t.hb,t.kb),A!=-1&&XF(t,A,new _c())):(z1(t),Jh(t.V,t.hb,t.kb,t.F,t.B,t.D,t.C,t.A)&&(t.t=-1,t.eb=w.Math.max(t.eb,3),n1(t.k),N1(t,new q1(t,1,true))));break;case 19:t.e=ZA(t.V,t.hb,t.kb),t.e!=-1&&t.e<t.V.f&&(!t.V.K||!Qe(t.V,t.e))&&(t.hb=kt(t.V,t.e),t.kb=jt(t.V,t.e),t.X=8);break;case 21:U=null,t.v?Zt(t.v,93)&&(U=t.v):(U=new Uo(),xg(U,t.hb,t.kb),mt(t.I,U)),sx(t,U,new Mw(t));}}function ry(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y,T,c,g,m,v,R,b,j,C,S,p,x,a,E,X,tt,W,$,et,lt,st,ct,Pt,Tt;for(this.c=t.length,this.d=t[0].length,E=w.Math.min(this.c,this.d),this.e=h(yt,wt,6,w.Math.min(this.c+1,this.d),15,1),this.a=R1(yt,[h0,wt],[15,6],15,[this.c,E],2),this.b=R1(yt,[h0,wt],[15,6],15,[this.d,this.d],2),P=h(yt,wt,6,this.d,15,1),Tt=h(yt,wt,6,this.c,15,1),x=w.Math.min(this.c-1,this.d),a=w.Math.max(0,w.Math.min(this.d-2,this.c)),b=0;b<w.Math.max(x,a);b++){if(b<x){for(this.e[b]=0,L=b;L<this.c;L++)this.e[b]=P2(this.e[b],t[L][b]);if(this.e[b]!=0){for(t[b][b]<0&&(this.e[b]=-this.e[b]),U=b;U<this.c;U++)t[U][b]/=this.e[b];t[b][b]+=1;}this.e[b]=-this.e[b];}for(c=b+1;c<this.d;c++){if(b<x&this.e[b]!=0){for(Pt=0,L=b;L<this.c;L++)Pt+=t[L][b]*t[L][c];for(Pt=-Pt/t[b][b],U=b;U<this.c;U++)t[U][c]+=Pt*t[U][b];}P[c]=t[b][c];}if(true&b<x)for(U=b;U<this.c;U++)this.a[U][b]=t[U][b];if(b<a){for(P[b]=0,L=b+1;L<this.d;L++)P[b]=P2(P[b],P[L]);if(P[b]!=0){for(P[b+1]<0&&(P[b]=-P[b]),s=b+1;s<this.d;s++)P[s]/=P[b];P[b+1]+=1;}if(P[b]=-P[b],b+1<this.c&P[b]!=0){for(s=b+1;s<this.c;s++)Tt[s]=0;for(g=b+1;g<this.d;g++)for(y=b+1;y<this.c;y++)Tt[y]+=P[g]*t[y][g];for(m=b+1;m<this.d;m++)for(Pt=-P[m]/P[b+1],y=b+1;y<this.c;y++)t[y][m]+=Pt*Tt[y];}for(U=b+1;U<this.d;U++)this.b[U][b]=P[U];}}for(X=w.Math.min(this.d,this.c+1),x<this.d&&(this.e[x]=t[x][x]),this.c<X&&(this.e[X-1]=0),a+1<X&&(P[a]=t[a][X-1]),P[X-1]=0,v=x;v<E;v++){for(U=0;U<this.c;U++)this.a[U][v]=0;this.a[v][v]=1;}for(j=x-1;j>=0;j--)if(this.e[j]!=0){for(T=j+1;T<E;T++){for(Pt=0,L=j;L<this.c;L++)Pt+=this.a[L][j]*this.a[L][T];for(Pt=-Pt/this.a[j][j],s=j;s<this.c;s++)this.a[s][T]+=Pt*this.a[s][j];}for(y=j;y<this.c;y++)this.a[y][j]=-this.a[y][j];for(this.a[j][j]=1+this.a[j][j],U=0;U<j-1;U++)this.a[U][j]=0;}else {for(U=0;U<this.c;U++)this.a[U][j]=0;this.a[j][j]=1;}for(C=this.d-1;C>=0;C--){if(C<a&P[C]!=0)for(T=C+1;T<E;T++){for(Pt=0,L=C+1;L<this.d;L++)Pt+=this.b[L][C]*this.b[L][T];for(Pt=-Pt/this.b[C+1][C],s=C+1;s<this.d;s++)this.b[s][T]+=Pt*this.b[s][C];}for(U=0;U<this.d;U++)this.b[U][C]=0;this.b[C][C]=1;}for(tt=X-1,f=w.Math.pow(2,-52);X>0;){for(R=X-2;R>=-1&&R!=-1;R--)if(w.Math.abs(P[R])<=f*(w.Math.abs(this.e[R])+w.Math.abs(this.e[R+1]))){P[R]=0;break;}if(R==X-2)S=4;else {for(p=X-1;p>=R&&p!=R;p--)if(Pt=(p!=X?w.Math.abs(P[p]):0)+(p!=R+1?w.Math.abs(P[p-1]):0),w.Math.abs(this.e[p])<=f*Pt){this.e[p]=0;break;}p==R?S=3:p==X-1?S=1:(S=2,R=p);}switch(++R,S){case 1:for(D=P[X-2],P[X-2]=0,T=X-2;T>=R;T--)for(Pt=P2(this.e[T],D),n=this.e[T]/Pt,lt=D/Pt,this.e[T]=Pt,T!=R&&(D=-lt*P[T-1],P[T-1]=n*P[T-1]),U=0;U<this.d;U++)Pt=n*this.b[U][T]+lt*this.b[U][X-1],this.b[U][X-1]=-lt*this.b[U][T]+n*this.b[U][X-1],this.b[U][T]=Pt;break;case 2:for(D=P[R-1],P[R-1]=0,T=R;T<X;T++)for(Pt=P2(this.e[T],D),n=this.e[T]/Pt,lt=D/Pt,this.e[T]=Pt,D=-lt*P[T],P[T]=n*P[T],U=0;U<this.c;U++)Pt=n*this.a[U][T]+lt*this.a[U][R-1],this.a[U][R-1]=-lt*this.a[U][T]+n*this.a[U][R-1],this.a[U][T]=Pt;break;case 3:{for(W=w.Math.max(w.Math.max(w.Math.max(w.Math.max(w.Math.abs(this.e[X-1]),w.Math.abs(this.e[X-2])),w.Math.abs(P[X-2])),w.Math.abs(this.e[R])),w.Math.abs(P[R])),st=this.e[X-1]/W,ct=this.e[X-2]/W,i=P[X-2]/W,et=this.e[R]/W,r=P[R]/W,e=((ct+st)*(ct-st)+i*i)/2,A=st*i*(st*i),$=0,e!=0|A!=0&&($=w.Math.sqrt(e*e+A),e<0&&($=-$),$=A/(e+$)),D=(et+st)*(et-st)+$,Q=et*r,T=R;T<X-1;T++){for(Pt=P2(D,Q),n=D/Pt,lt=Q/Pt,T!=R&&(P[T-1]=Pt),D=n*this.e[T]+lt*P[T],P[T]=n*P[T]-lt*this.e[T],Q=lt*this.e[T+1],this.e[T+1]=n*this.e[T+1],L=0;L<this.d;L++)Pt=n*this.b[L][T]+lt*this.b[L][T+1],this.b[L][T+1]=-lt*this.b[L][T]+n*this.b[L][T+1],this.b[L][T]=Pt;if(Pt=P2(D,Q),n=D/Pt,lt=Q/Pt,this.e[T]=Pt,D=n*P[T]+lt*this.e[T+1],this.e[T+1]=-lt*P[T]+n*this.e[T+1],Q=lt*P[T+1],P[T+1]=n*P[T+1],T<this.c-1)for(U=0;U<this.c;U++)Pt=n*this.a[U][T]+lt*this.a[U][T+1],this.a[U][T+1]=-lt*this.a[U][T]+n*this.a[U][T+1],this.a[U][T]=Pt;}P[X-2]=D;}break;case 4:{if(this.e[R]<=0)for(this.e[R]=this.e[R]<0?-this.e[R]:0,U=0;U<=tt;U++)this.b[U][R]=-this.b[U][R];for(;R<tt&&!(this.e[R]>=this.e[R+1]);){if(Pt=this.e[R],this.e[R]=this.e[R+1],this.e[R+1]=Pt,R<this.d-1)for(U=0;U<this.d;U++)Pt=this.b[U][R+1],this.b[U][R+1]=this.b[U][R],this.b[U][R]=Pt;if(R<this.c-1)for(U=0;U<this.c;U++)Pt=this.a[U][R+1],this.a[U][R+1]=this.a[U][R],this.a[U][R]=Pt;++R;}--X;}}}}function iy(){iy=B1,b4=B(d(it,2),nA,13,0,[B(d(it,1),Dt,2,6,["Acyl","gCaHA`AIf`@"]),B(d(it,1),Dt,2,6,["Alloc","gNph@l@ILzuR@@"]),B(d(it,1),Dt,2,6,["Allyl","Al"]),B(d(it,1),Dt,2,6,["Benzyl;Bn","daD@`F@DjUZxHH@@"]),B(d(it,1),Dt,2,6,["Boc","daxD`@S@AIgijj@@"]),B(d(it,1),Dt,2,6,["BOM;BzOM","deTH`@H@Re[TYj`@@@"]),B(d(it,1),Dt,2,6,["Bs","dmtDpAdLS`aPAIe]jf`@e`@@"]),B(d(it,1),Dt,2,6,["Bt","dew@`@aJ@DiY]paej`@@@"]),B(d(it,1),Dt,2,6,["Btm","did@P@BJ@Die_ahH@@@"]),B(d(it,1),Dt,2,6,["Butyl;nButyl","gJPHB@IRuP@"]),B(d(it,1),Dt,2,6,["Benzoyl;Bz","didH`@p@RYm^Eh@@@@"]),B(d(it,1),Dt,2,6,["Bzh","dg|@`N@LdbRbtJUB]aAP@@@@"]),B(d(it,1),Dt,2,6,["Cbz","dmtD`@S@AIgYVUZh@@@@"]),B(d(it,1),Dt,2,6,["cButyl","gKPHL@IThuT@@"]),B(d(it,1),Dt,2,6,["cHeptyl","daD@`L@DjWVzjj`@"]),B(d(it,1),Dt,2,6,["cHexyl","gOpHL@IToWUU@@"]),B(d(it,1),Dt,2,6,["cOctyl","did@`L@DjWWajjj@@"]),B(d(it,1),Dt,2,6,["cPentyl","gFpHL@ITimUP@"]),B(d(it,1),Dt,2,6,["cPropyl","gBPHL@Qxjh@"]),B(d(it,1),Dt,2,6,["COOH","gC`h@l@ILt@@ !Bb@K~@Hc}"]),B(d(it,1),Dt,2,6,["DEAE","daz@`@x@RiUjj`@"]),B(d(it,1),Dt,2,6,["DEIPS","diD@P@\\B@DjfVjj`@"]),B(d(it,1),Dt,2,6,["DMIPS","gNpD@xD@RjZjh@"]),B(d(it,1),Dt,2,6,["DMPM","dcLD`@kPCIEMDdcttDDT@@"]),B(d(it,1),Dt,2,6,["DMPS","deT@P@\\B@LddTjPsU@@@@"]),B(d(it,1),Dt,2,6,["DMTr","fak@b@@Mt@ISZ{SMjo{NQKfm@AU@@@E@@@@"]),B(d(it,1),Dt,2,6,["DNP","dkmB`hdDt~@HeNfS{HihheCAUhBHX@@"]),B(d(it,1),Dt,2,6,["DNS;Dan","fhi`a@KPP@HH@YIHYheEhYKQgKP@@QP@@@"]),B(d(it,1),Dt,2,6,["DPIPS","fdyAA@H@\\B@FRRIQSQIHzp_Qjh@h@@@@@"]),B(d(it,1),Dt,2,6,["DPTBS","fleAA@H@\\B@FRRIQSRIIWNbEMU@EP@@@@@"]),B(d(it,1),Dt,2,6,["DTBMS","dmT@P@\\B@Djffjjjh@@"]),B(d(it,1),Dt,2,6,["Ethyl","eMBD@ch@"]),B(d(it,1),Dt,2,6,["Fmoc","fde@b@@Hp@IL{LrjxeVCzKUT@@@P@@@"]),B(d(it,1),Dt,2,6,["iAmyl","gGPHJ@YIDZj@@"]),B(d(it,1),Dt,2,6,["iButyl","gJPHB@ITuP@"]),B(d(it,1),Dt,2,6,["Im","gFtHAj@IRnKSP@"]),B(d(it,1),Dt,2,6,["iPropyl","gC`HL@Qz`@"]),B(d(it,1),Dt,2,6,["MDIPS","diD@P@\\B@DjfZjj`@"]),B(d(it,1),Dt,2,6,["MDPS","foA@A@@NA@CIIEEBdeeVLzj@@@@@@"]),B(d(it,1),Dt,2,6,["Methyl","eFBH@c@@"]),B(d(it,1),Dt,2,6,["MEM","gNphAR@IRoUT@@"]),B(d(it,1),Dt,2,6,["Mes","deT@`J@DjY{[`bB`@@"]),B(d(it,1),Dt,2,6,["MMTr","ffcAB@@Z@Dim]ifuWYrI\\uh@Jh@@@@@@"]),B(d(it,1),Dt,2,6,["MOM","gCaHA`AJZ`@"]),B(d(it,1),Dt,2,6,["MPM;PMB","deTH`@d@Rfuunh@J@@"]),B(d(it,1),Dt,2,6,["Ms","gJPdH`DD@cuh@"]),B(d(it,1),Dt,2,6,["MTM","gC`D@DX@Rfh@"]),B(d(it,1),Dt,2,6,["mTolyl","daD@`N@DjWjXHB@@"]),B(d(it,1),Dt,2,6,["N3","gClHaE`@RnReX@"]),B(d(it,1),Dt,2,6,["nAmyl;Amyl","gGPHJ@IRmU@@"]),B(d(it,1),Dt,2,6,["neoAm","gGPHJ@IUMU@@"]),B(d(it,1),Dt,2,6,["NO2,Nitro","gChhhE`BRnRYh@"]),B(d(it,1),Dt,2,6,["Np","deVDaHAI@HeNR[e_aZ@B@@"]),B(d(it,1),Dt,2,6,["nPropyl;Propyl","gC`HL@IST@@"]),B(d(it,1),Dt,2,6,["oTolyl","daD@`J@DjYvxH`@@"]),B(d(it,1),Dt,2,6,["Phenyl","gOpHL@IToVD@@@"]),B(d(it,1),Dt,2,6,["Pht","dcLL`@RU@Dfyed]ZBA`@@"]),B(d(it,1),Dt,2,6,["Piv;Pv","gNqHA`AIffj`@"]),B(d(it,1),Dt,2,6,["PMBM","dcLD`@T`AJUm]FZh@J@@"]),B(d(it,1),Dt,2,6,["PNB","dcNLaHAEt@bTyInUvxV`@f@@"]),B(d(it,1),Dt,2,6,["Poc","didD`@S@AIgexVjj`@"]),B(d(it,1),Dt,2,6,["PPi","diDFsHSB[`|J|A@Lxn{lddqdZih@@"]),B(d(it,1),Dt,2,6,["pTolyl","daD@`N@DjWzXHB@@"]),B(d(it,1),Dt,2,6,["sAmyl","gGPHL@YIDZj@@"]),B(d(it,1),Dt,2,6,["sButyl","gJPHL@ITuP@"]),B(d(it,1),Dt,2,6,["SEM","diDHPFApD@rRQUJjj`@"]),B(d(it,1),Dt,2,6,["SES","dedDpHP@``AgCIICeHmUT@@"]),B(d(it,1),Dt,2,6,["SO3H","gJQdHl@``D^m@@"]),B(d(it,1),Dt,2,6,["tAmyl","gGPHB@IUMU@@"]),B(d(it,1),Dt,2,6,["TBDMS;TBS","dax@P@\\B@Djfjjh@@"]),B(d(it,1),Dt,2,6,["TBDPS","fdy@A@@NA@CIIEEEIde]XOhuPAT@@@@@"]),B(d(it,1),Dt,2,6,["TBMPS","dg\\HPHApH@rRQJJPjg]UAT@@@"]),B(d(it,1),Dt,2,6,["tButyl,tBu","gJPHB@Q}T@@"]),B(d(it,1),Dt,2,6,["TDS","ded@P@\\B@LddTeeUUP@@"]),B(d(it,1),Dt,2,6,["Tf","daxDhHP@``BiAiCiCIICHmU@@"]),B(d(it,1),Dt,2,6,["TFA","gNqBJIARFdF@YEHYUL@@"]),B(d(it,1),Dt,2,6,["Thexyl","gNpHB@IUMUT@@"]),B(d(it,1),Dt,2,6,["THF","gFqH@PAJYujj@@"]),B(d(it,1),Dt,2,6,["THP","gOqH@PAJYZzjh@"]),B(d(it,1),Dt,2,6,["TIPS","dmT@P@\\B@DjfYjjjh@@"]),B(d(it,1),Dt,2,6,["TMS","gJPD@xD@czh@"]),B(d(it,1),Dt,2,6,["Tosyl;Ts","dmtDPHP@``CIICLeaeZ@B@@"]),B(d(it,1),Dt,2,6,["Troc","diDDHJxHaHcH`PCHiBeJjf@@"]),B(d(it,1),Dt,2,6,["Trt","fbm@B@A@FRQIRKQPiIZdoIcdHJ`@@@@@@"]),B(d(it,1),Dt,2,6,["Xyl","did@`J@DjYynBHH@@"])]);}function P6(t,e,A,n,P,r){var i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j;if(e[A-1]==36){if(t.r=true,t.q=new f1(),A+=WR(t,e,A-1,t.q)-1,e[A++]!=93){if(!r)throw At(new V1("SmilesParser: A positive recursive SMARTS followed by another one or by atom query features is not supported. Position:"+(A-1)));(t.k&128)==0&&(A=GY(e,A));}return A;}if(e[A-1]==42)t.d=6,t.c=Y(t.c,1);else if(e[A-1]==63)t.d=0;else if(Q=e[A-1]==33,Q&&(t.r=true,t.c=Y(t.c,1),++A),e[A-1]==82&&P&&(Zn(e[A]&w1)||t.j&&e[A]==123))t.d=6,t.c=Y(t.c,1),--A,Q&&--A;else {if(U=new Ow(),!xj(t,e,A-1,n,U))throw At(new V1("SmilesParser: Unexpected character in atom definition:'"+String.fromCharCode(e[A-1]&w1)+qp+(A-1)));if(t.d=U.a,A+=U.b-1,(t.k&3)!=2&&(t.g=9),P&&(e[A]==44||Q)){for(y=U.d,s=U.c,v=A-U.b;v<n;){if(!xj(t,e,v,n,U)){if(!Q)throw At(new V1("SmilesParser: Unexpected character in atom list:'"+String.fromCharCode(e[v]&w1)+Ip+v));break;}if(U.a==1){if(!Q)throw At(new V1("SmilesParser: Hydrogen is not supported in positive atom lists:'"+lN((Io(v<=n,v+" > "+n),j=e.length,rm(v,v,j),RP(e,h(q,I,6,n-v,15,1),v,n)))+Ip+v));}else Ux(t,U.a),y=y|U.d,s=s|U.c;if(v+=U.b,Q&&e[v]!=59&&e[v]!=38||!Q&&e[v]!=44||Q&&e[v+1]!=33)break;++v,e[v]==33&&++v;}t.b&&t.b.d.a.length>1&&(t.g=-1,s?y||(t.c=Y(t.c,4)):t.c=Y(t.c,2)),A=v;}}for(T=new Rw(e),g=h(F,k,6,1,15,1),m=true;m;){if(e[A]==64){++A,e[A]==64&&(t.i=true,++A),t.p=true;continue;}if(e[A]==58){for(++A;Zn(e[A]&w1);)t.o=10*t.o+e[A]-48,++A;continue;}if(e[A]==91)throw At(new V1("SmilesParser: nested square brackets found. Position:"+A));if(e[A]==93){++A,m=false;continue;}if(t.e=Ek(e,A,g),g[0]!=0){A+=g[0],t.e==0&&(t.c=Y(t.c,WQ));continue;}if(D=e[A]==33,D&&++A,e[A]==72){++A,A+=vf(T,A,1),i=0,T.c<=0&&T.b>=0&&(i=Y(i,128)),T.c<=1&&T.b>=1&&(i=Y(i,256)),T.c<=2&&T.b>=2&&(i=Y(i,512)),T.c<=3&&T.b>=3&&(i=Y(i,re)),D?(t.c=Y(t.c,i),t.g=-1):T.b==T.c?t.g=T.c:(t.c=Y(t.c,V(rP,Jn(i))),t.g=-1);continue;}if(e[A]==68||e[A]==100){++A,A+=vf(T,A,1),i=0,T.c<=0&&T.b>=0&&(i=Y(i,I0)),T.c<=1&&T.b>=1&&(i=Y(i,T8)),T.c<=2&&T.b>=2&&(i=Y(i,l8)),T.c<=3&&T.b>=3&&(i=Y(i,h8)),T.c<=4&&T.b>=4&&(i=Y(i,qA)),G(i,0)!=0&&(D?t.c=Y(t.c,i):gt(V(t.c,si),0)?t.c=V(t.c,Jn(i)):(i=Or(i,si),t.c=Y(t.c,i)));continue;}if(e[A]==122&&t.j){++A,A+=vf(T,A,4),i=0,T.c<=0&&T.b>=0&&(i=Y(i,v2)),T.c<=1&&T.b>=1&&(i=Y(i,xp)),T.c<=2&&T.b>=2&&(i=Y(i,Np)),T.c<=3&&T.b>=3&&(i=Y(i,Op)),T.c<=4&&T.b>=4&&(i=Y(i,aQ)),G(i,0)!=0&&(D?t.c=Y(t.c,i):gt(V(t.c,Vf),0)?t.c=V(t.c,Jn(i)):(i=Or(i,Vf),t.c=Y(t.c,i)));continue;}if(e[A]==88){if(++A,A+=vf(T,A,1),b=(Y1(),Lr)[t.d],b==null)continue;R=b[0],L=Ek(e,A,g),g[0]!=0&&(ar(t.d)?R+=L:t.d==6?R-=w.Math.abs(L):R-=L),i=0,R-T.c<=0&&R-T.b>=0&&(i=Y(i,Sn)),R-T.c<=1&&R-T.b>=1&&(i=Y(i,s8)),R-T.c<=2&&R-T.b>=2&&(i=Y(i,Q0)),G(i,0)!=0&&(D?t.c=Y(t.c,i):gt(V(t.c,Li),0)?t.c=V(t.c,Jn(i)):(i=Or(i,Li),t.c=Y(t.c,i)));continue;}if(e[A]==65||e[A]==97){t.c=Y(t.c,D^e[A]==65?4:2),++A;continue;}if(e[A]==82){++A,A+=vf(T,A,3),i=0,T.c<=0&&T.b>=0&&(i=Y(i,8)),T.c<=1&&T.b>=1&&(i=Y(i,16)),T.c<=2&&T.b>=2&&(i=Y(i,32)),T.c<=3&&T.b>=3&&(i=Y(i,64)),T.b>3&&Ou(t.n,(D?"!R":"R")+T.b),G(i,0)!=0&&(D?t.c=Y(t.c,i):gt(V(t.c,120),0)?t.c=V(t.c,Jn(i)):(i=Or(i,120),t.c=Y(t.c,i)));continue;}if(e[A]==114){if(++A,A+=vf(T,A,1),T.a){D?t.c=Y(t.c,384):t.c=Y(t.c,8);continue;}c=T.c,T.b>T.c&&Ou(t.n,(D?"!r":"r")+("{"+T.c+"-"+T.b+"}")),!D&&c>=3&&c<=7?t.c=Y(t.c,c<<22):T.b>T.c||Ou(t.n,(D?"!r":"r")+c);continue;}if(e[A]==118){++A,A+=vf(T,A,1),R=T.c,T.b>T.c&&Ou(t.n,(D?"!v":"v")+("{"+T.c+"-"+T.b+"}")),!D&&R<=14?t.a=R:T.b>T.c||Ou(t.n,(D?"!v":"v")+R);continue;}if(e[A]==94){if(++A,f=e[A++]-48,f<1||f>3)throw At(new V1("SmilesParser: Unsupported hybridization. Position:"+A));l=f==1?Q0:f==2?s8:Sn,D||(l=V(Li,Jn(l))),t.c=Y(t.c,l);continue;}if(e[A]==36){if(!D)throw At(new V1("SmilesParser: non-negated recursive SMARTS relating to preceding atom are not supported yet. Position:"+A));!t.f&&(t.f=new f1()),t.r=true,A+=WR(t,e,A,t.f);continue;}if(P&&(e[A]==59||e[A]==38)){t.r=true,++A;continue;}if(P&&e[A]==44&&$X(e,A,g)){t.r=true,A+=g[0]+1;continue;}if(P&&e[A]==44&&(t.k&128)!=0){t.r=true,A+=1;break;}throw e[A]==44?At(new V1("SmilesParser: alternative atom definitions not supported. (Tip: enumerate SMARTS): '"+String.fromCharCode(e[A]&w1)+V6+A)):At(new V1("SmilesParser: unexpected character inside brackets: '"+String.fromCharCode(e[A]&w1)+V6+A));}return A;}function r6(t,e){var A,n,P,r;A=e[1],n=e[2],P=t.j[A]-1,r=t.j[n]-1,P>3||r>3?(this.b=h(Yt,at,6,4,15,1),this.b[0]=45,this.b[1]=135,this.b[2]=225,this.b[2]=315,this.c=R1(Yt,[te,at],[16,6],15,[4,2],2),this.c[0][0]=30,this.c[0][1]=60,this.c[1][0]=120,this.c[1][1]=150,this.c[2][0]=210,this.c[2][1]=240,this.c[2][0]=300,this.c[2][1]=330,this.a=h(Yt,at,6,4,15,1),this.a[0]=25,this.a[1]=25,this.a[2]=25,this.a[3]=25):(t.o[A]==0||t.C[A]>9)&&(t.o[n]==0||t.C[n]>9)?P==3&&r==3||P==3&&r==2||P==3&&r==1||P==2&&r==3||P==1&&r==3||P==2&&r==2&&(e[0]!=-1||e[3]!=-1)?(this.b=h(Yt,at,6,3,15,1),this.b[0]=60,this.b[1]=180,this.b[2]=300,this.c=R1(Yt,[te,at],[16,6],15,[3,2],2),this.c[0][0]=45,this.c[0][1]=75,this.c[1][0]=165,this.c[1][1]=195,this.c[2][0]=285,this.c[2][1]=315,this.a=h(Yt,at,6,3,15,1),this.a[0]=33,this.a[1]=33,this.a[2]=33):P==1&&r==2&&e[3]==-1||P==2&&r==1&&e[0]==-1?(this.b=h(Yt,at,6,3,15,1),this.b[0]=60,this.b[1]=180,this.b[2]=300,this.c=R1(Yt,[te,at],[16,6],15,[3,2],2),this.c[0][0]=45,this.c[0][1]=75,this.c[1][0]=165,this.c[1][1]=195,this.c[2][0]=285,this.c[2][1]=315,this.a=h(Yt,at,6,3,15,1),this.a[0]=40,this.a[1]=20,this.a[2]=40):(P==1&&r==1||P==1&&r==2&&e[3]!=-1||P==2&&r==1&&e[0]!=-1||P==2&&r==2&&e[0]==-1&&e[3]==-1)&&(this.b=h(Yt,at,6,3,15,1),this.b[0]=60,this.b[1]=180,this.b[2]=300,this.c=R1(Yt,[te,at],[16,6],15,[3,2],2),this.c[0][0]=45,this.c[0][1]=75,this.c[1][0]=165,this.c[1][1]=195,this.c[2][0]=285,this.c[2][1]=315,this.a=h(Yt,at,6,3,15,1),this.a[0]=25,this.a[1]=50,this.a[2]=25):(t.o[A]==0||t.C[A]>9)&&t.o[n]==1||(t.o[n]==0||t.C[n]>9)&&t.o[A]==1?P==3||r==3?(this.b=h(Yt,at,6,6,15,1),this.b[0]=0,this.b[1]=60,this.b[2]=120,this.b[3]=180,this.b[4]=240,this.b[5]=300,this.c=R1(Yt,[te,at],[16,6],15,[6,2],2),this.c[0][0]=-15,this.c[0][1]=15,this.c[1][0]=45,this.c[1][1]=75,this.c[2][0]=105,this.c[2][1]=135,this.c[3][0]=165,this.c[3][1]=195,this.c[4][0]=225,this.c[4][1]=255,this.c[5][0]=285,this.c[5][1]=315,this.a=h(Yt,at,6,6,15,1),this.a[0]=16,this.a[1]=16,this.a[2]=16,this.a[3]=16,this.a[4]=16,this.a[5]=16):P==1&&r==1?(this.b=h(Yt,at,6,2,15,1),this.b[0]=120,this.b[1]=240,this.c=R1(Yt,[te,at],[16,6],15,[2,2],2),this.c[0][0]=105,this.c[0][1]=135,this.c[1][0]=225,this.c[1][1]=255,this.a=h(Yt,at,6,2,15,1),this.a[0]=50,this.a[1]=50):t.o[A]==1&&P==2&&r==1||t.o[n]==1&&r==2&&P==1?(this.b=h(Yt,at,6,2,15,1),this.b[0]=90,this.b[1]=270,this.c=R1(Yt,[te,at],[16,6],15,[2,2],2),this.c[0][0]=75,this.c[0][1]=105,this.c[1][0]=255,this.c[1][1]=285,this.a=h(Yt,at,6,2,15,1),this.a[0]=50,this.a[1]=50):t.o[A]==1&&P==1&&r==2&&e[3]==-1||t.o[n]==1&&r==1&&P==2&&e[0]==-1?(this.b=h(Yt,at,6,3,15,1),this.b[0]=0,this.b[1]=120,this.b[2]=240,this.c=R1(Yt,[te,at],[16,6],15,[3,2],2),this.c[0][0]=-15,this.c[0][1]=15,this.c[1][0]=105,this.c[1][1]=135,this.c[2][0]=225,this.c[2][1]=255,this.a=h(Yt,at,6,3,15,1),this.a[0]=60,this.a[1]=20,this.a[2]=20):t.o[A]==1&&P==1&&r==2&&e[3]!=-1||t.o[n]==1&&r==1&&P==2&&e[0]!=-1?(this.b=h(Yt,at,6,3,15,1),this.b[0]=0,this.b[1]=120,this.b[2]=240,this.c=R1(Yt,[te,at],[16,6],15,[3,2],2),this.c[0][0]=-15,this.c[0][1]=15,this.c[1][0]=105,this.c[1][1]=135,this.c[2][0]=225,this.c[2][1]=255,this.a=h(Yt,at,6,3,15,1),this.a[0]=20,this.a[1]=40,this.a[2]=40):P==2&&r==2&&(e[0]==-1||e[3]==-1?(this.b=h(Yt,at,6,2,15,1),this.b[0]=0,this.b[1]=180,this.c=R1(Yt,[te,at],[16,6],15,[2,2],2),this.c[0][0]=-15,this.c[0][1]=15,this.c[1][0]=165,this.c[1][1]=195,this.a=h(Yt,at,6,2,15,1),this.a[0]=50,this.a[1]=50):(this.b=h(Yt,at,6,2,15,1),this.b[0]=90,this.b[1]=270,this.c=R1(Yt,[te,at],[16,6],15,[2,2],2),this.c[0][0]=75,this.c[0][1]=105,this.c[1][0]=255,this.c[1][1]=285,this.a=h(Yt,at,6,2,15,1),this.a[0]=50,this.a[1]=50)):t.o[A]==1&&t.o[n]==1?P==1&&r==1?(this.b=h(Yt,at,6,2,15,1),this.b[0]=0,this.b[1]=180,this.c=R1(Yt,[te,at],[16,6],15,[2,2],2),this.c[0][0]=-15,this.c[0][1]=15,this.c[1][0]=165,this.c[1][1]=195,this.a=h(Yt,at,6,2,15,1),this.a[0]=10,this.a[1]=90):(this.b=h(Yt,at,6,6,15,1),this.b[0]=0,this.b[1]=50,this.b[2]=130,this.b[3]=180,this.b[4]=230,this.b[5]=310,this.c=R1(Yt,[te,at],[16,6],15,[6,2],2),this.c[0][0]=-15,this.c[0][1]=15,this.c[1][0]=35,this.c[1][1]=65,this.c[2][0]=115,this.c[2][1]=145,this.c[3][0]=165,this.c[3][1]=195,this.c[4][0]=215,this.c[4][1]=245,this.c[5][0]=295,this.c[5][1]=325,this.a=h(Yt,at,6,6,15,1),this.a[0]=40,this.a[1]=5,this.a[2]=5,this.a[3]=40,this.a[4]=5,this.a[5]=5):(this.b=h(Yt,at,6,1,15,1),this.b[0]=180,this.c=R1(Yt,[te,at],[16,6],15,[1,2],2),this.c[0][0]=165,this.c[0][1]=195,this.a=h(Yt,at,6,1,15,1),this.a[0]=100);}function cp(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a,E,X,tt,W,$,et,lt,st,ct,Pt,Tt;for(x=(x1(),$A),J(t.b,"M  V30 BEGIN CTAB"+x),J(t.b,pp+e.q+" "+e.r+" 0 0 0"+x),J(t.b,"M  V30 BEGIN ATOM"+x),D=0;D<e.q;D++){if(J(t.b,rU+(D+1)),(e.v==null?null:e.v[D])!=null){for(s=e.v==null?null:e.v[D],a=gt(V(e.B[D],1),0),J(t.b,a?" NOT[":" ["),j=0;j<s.length;j++)switch(j>0&&J(t.b,","),C=(Y1(),X0)[s[j]],C.length){case 2:case 3:case 1:J(t.b,C);break;default:J(t.b,"?");}J(t.b,"]");}else gt(V(e.B[D],1),0)?J(t.b," A"):e.C[D]>=129&&e.C[D]<=144||e.C[D]==154?J(t.b," R#"):J(t.b," "+(Y1(),X0)[e.C[D]]);if(A?(J(t.b," "+vt(nP*t.c*e.J[D].a)/nP),J(t.b," "+vt(nP*t.c*-e.J[D].b)/nP),J(t.b," "+vt(nP*t.c*-e.J[D].c)/nP)):J(t.b," 0 0 0"),J(t.b," "+w.Math.abs(e.w[D])),e.s[D]!=0&&J(t.b," CHG="+e.s[D]),(e.u[D]&48)!=0)switch(J(t.b," RAD="),e.u[D]&48){case 16:J(t.b,"1");break;case 32:J(t.b,"2");break;case 48:J(t.b,"3");}((e.u[D]&3)==1||(e.u[D]&3)==2)&&(J(t.b," CFG="),(e.u[D]&3)==1?J(t.b,"1"):J(t.b,"2")),e.A[D]!=0&&J(t.b," MASS="+e.A[D]),Tt=((e.u[D]&g8)>>>27)-1,Tt!=-1&&J(t.b," VAL="+(Tt==0?"-1":k1(Tt))),y=e.C[D],(y>=129&&y<=144||y==154)&&J(t.b," RGROUPS=(1 "+(y==154?0:y>=142?y-141:y-125)+")"),b=V(rP,e.B[D]),G(b,384)==0?J(t.b," HCOUNT=2"):G(b,128)==0?J(t.b," HCOUNT=1"):G(b,1792)==0?J(t.b," HCOUNT=-1"):G(b,1664)==0&&J(t.b," HCOUNT=1"),st=V(e.B[D],6144),G(st,0)!=0&&(gt(V(st,C0),0)?J(t.b," SUBST="+(e.e[D]+1)):J(t.b," SUBST=-1")),$=V(e.B[D],120),G($,0)!=0&&(G($,112)==0?J(t.b," RBCNT=-1"):G($,8)==0||G($,104)==0?J(t.b," RBCNT=2"):G($,88)==0?J(t.b," RBCNT=3"):G($,56)==0&&J(t.b," RBCNT=4")),J(t.b,x);}for(J(t.b,"M  V30 END ATOM"+x),J(t.b,"M  V30 BEGIN BOND"+x),T=0;T<e.r;T++){switch(J(t.b,rU+(T+1)),e.H[T]){case 1:tt=1,lt=0;break;case 2:tt=2,lt=0;break;case 4:tt=3,lt=0;break;case 129:tt=1,lt=3;break;case 257:tt=1,lt=1;break;case 386:tt=2,lt=2;break;case 8:tt=4,lt=0;break;case 16:tt=9,lt=0;break;default:tt=1,lt=0;}g=e.G[T]&31,g!=0&&(g==8?tt=4:g==3?tt=5:g==9?tt=6:g==10?tt=7:tt=8),J(t.b," "+tt+" "+(e.D[0][T]+1)+" "+(e.D[1][T]+1)),lt!=0&&J(t.b," CFG="+lt),et=e.G[T]&384,ct=et==0?0:et==256?1:2,ct!=0&&J(t.b," TOPO="+ct),J(t.b,x);}for(J(t.b,"M  V30 END BOND"+x),v=false,Q=0;Q<e.q;Q++)if((e.t==null||e.t[Q]==null?null:rn((S=e.t[Q],c0(),S)))!=null){v=true;break;}if(v){for(J(t.b,"M  V30 BEGIN SGROUP"+x),m=0,U=0;U<e.q;U++)(e.t==null||e.t[U]==null?null:rn((p=e.t[U],c0(),p)))!=null&&(++m,J(t.b,rU+m+" DAT "+m+" ATOMS=(1 "+(U+1)+') FIELDNAME="'+by+'" -'+x),J(t.b,'M  V30 FIELDDISP="'),Ov(t,A?t.c*e.J[U].a:0),Ov(t,A?t.c*e.J[U].b:0),J(t.b,'    DA    ALL  1       5" FIELDDATA="'+(e.t==null||e.t[U]==null?null:rn((S=e.t[U],c0(),S)))+'"'+x));J(t.b,"M  V30 END SGROUP"+x);}for(W=false,n=0,E=h(F,k,6,32,15,1),r=h(F,k,6,32,15,1),L=0;L<e.f;L++)((e.u[L]&3)==1||(e.u[L]&3)==2)&&(W=true,Pt=(e.u[L]&m1)>>18,Pt==1?++r[(e.u[L]&m1)>>18!=1&&(e.u[L]&m1)>>18!=2?-1:(e.u[L]&RA)>>20]:Pt==2?++E[(e.u[L]&m1)>>18!=1&&(e.u[L]&m1)>>18!=2?-1:(e.u[L]&RA)>>20]:++n);for(P=0,X=h(F,k,6,32,15,1),i=h(F,k,6,32,15,1),c=0;c<e.g;c++)dt(e,c)!=2&&((e.F[c]&3)==1||(e.F[c]&3)==2)&&(W=true,Pt=(e.F[c]&768)>>8,Pt==1?++i[(e.F[c]&768)>>8!=1&&(e.F[c]&768)>>8!=2?-1:(e.F[c]&ln)>>10]:Pt==2?++X[(e.F[c]&768)>>8!=1&&(e.F[c]&768)>>8!=2?-1:(e.F[c]&ln)>>10]:++P);if(W){if(J(t.b,"M  V30 BEGIN COLLECTION"+x),n!=0){for(J(t.b,"M  V30 MDLV30/STEABS ATOMS=("+n),f=0;f<e.f;f++)((e.u[f]&3)==1||(e.u[f]&3)==2)&&(e.u[f]&m1)>>18==0&&J(t.b," "+(f+1));J(t.b,")"+x);}if(P!=0){for(J(t.b,"M  V30 MDLV30/STEABS BONDS=("+P),l=0;l<e.g;l++)dt(e,l)!=2&&((e.F[l]&3)==1||(e.F[l]&3)==2)&&(e.F[l]&768)>>8==0&&J(t.b," "+(l+1));J(t.b,")"+x);}for(R=0;R<32;R++){if(E[R]!=0){for(J(t.b,Cp+(R+1)+" ATOMS=("+E[R]),f=0;f<e.f;f++)((e.u[f]&3)==1||(e.u[f]&3)==2)&&(e.u[f]&m1)>>18==2&&((e.u[f]&m1)>>18!=1&&(e.u[f]&m1)>>18!=2?-1:(e.u[f]&RA)>>20)==R&&J(t.b," "+(f+1));J(t.b,")"+x);}if(r[R]!=0){for(J(t.b,Mp+(R+1)+" ATOMS=("+r[R]),f=0;f<e.f;f++)((e.u[f]&3)==1||(e.u[f]&3)==2)&&(e.u[f]&m1)>>18==1&&((e.u[f]&m1)>>18!=1&&(e.u[f]&m1)>>18!=2?-1:(e.u[f]&RA)>>20)==R&&J(t.b," "+(f+1));J(t.b,")"+x);}if(X[R]!=0){for(J(t.b,Cp+(R+1)+" BONDS=("+X[R]),l=0;l<e.g;l++)dt(e,l)!=2&&((e.F[l]&3)==1||(e.F[l]&3)==2)&&(e.F[l]&768)>>8==2&&((e.F[l]&768)>>8!=1&&(e.F[l]&768)>>8!=2?-1:(e.F[l]&ln)>>10)==R&&J(t.b," "+(l+1));J(t.b,")"+x);}if(i[R]!=0){for(J(t.b,Mp+(R+1)+" BONDS=("+i[R]),l=0;l<e.g;l++)dt(e,l)!=2&&((e.F[l]&3)==1||(e.F[l]&3)==2)&&(e.F[l]&768)>>8==1&&((e.F[l]&768)>>8!=1&&(e.F[l]&768)>>8!=2?-1:(e.F[l]&ln)>>10)==R&&J(t.b," "+(l+1));J(t.b,")"+x);}}J(t.b,"M  V30 END COLLECTION"+x);}J(t.b,j6+x);}function aa(t){var e,A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a,E,X,tt,W,$,et,lt,st,ct,Pt,Tt,Kt,Ct,$t,Ut,Ht,Qt,Nt,b1,e1,Rt,Lt,j1,St,g1,y0,F1,s1;if(_3(t,false),Jt(t,9,4),St=w.Math.max(J8(t.R.f),J8(t.R.g)),Jt(t,St,4),St==0){Jt(t,t.R.K?1:0,1),Jt(t,0,1),t.J=ML(t);return;}for(g1=F1=y0=X=0,D=0;D<t.R.f;D++)if(P0(V(o0(t.R,D),1),0)){switch(K(t.R,D)){case 6:break;case 7:++g1;break;case 8:++F1;break;default:++y0;}p1(t.R,D)!=0&&++X;}for(Jt(t,t.R.f,St),Jt(t,t.R.g,St),Jt(t,g1,St),Jt(t,F1,St),Jt(t,y0,St),Jt(t,X,St),Q=0;Q<t.R.f;Q++)K(t.R,t.B[Q])==7&&P0(V(o0(t.R,t.B[Q]),1),0)&&Jt(t,Q,St);for(s=0;s<t.R.f;s++)K(t.R,t.B[s])==8&&P0(V(o0(t.R,t.B[s]),1),0)&&Jt(t,s,St);for(y=0;y<t.R.f;y++)K(t.R,t.B[y])!=6&&K(t.R,t.B[y])!=7&&K(t.R,t.B[y])!=8&&P0(V(o0(t.R,t.B[y]),1),0)&&(Jt(t,y,St),Jt(t,K(t.R,t.B[y]),8));for(l=0;l<t.R.f;l++)p1(t.R,t.B[l])!=0&&P0(V(o0(t.R,t.B[l]),1),0)&&(Jt(t,l,St),Jt(t,8+p1(t.R,t.B[l]),4));for(Lt=0,b=0,T=1;T<t.R.f;T++)t.F[T]==-1?st=0:(st=1+t.F[T]-b,b=t.F[T]),Lt<st&&(Lt=st);for(lt=J8(Lt),Jt(t,lt,4),b=0,c=1;c<t.R.f;c++)t.F[c]==-1?st=0:(st=1+t.F[c]-b,b=t.F[c]),Jt(t,st,lt);for($t=0;$t<2*t.I;$t++)Jt(t,t.D[$t],St);for(C=0;C<t.R.g;C++)E=(ee(t.R,t.C[C])&y8)!=0||l1(t.R,t.C[C])==16?1:G8(t.R,t.C[C])?0:w.Math.min(3,dt(t.R,t.C[C])),Jt(t,E,2);if(A=0,(t.Q&I1)==0)for(g=0;g<t.R.f;g++)t._[t.B[g]]!=0&&t._[t.B[g]]!=3&&++A;if(Jt(t,A,St),(t.Q&I1)==0)for(g=0;g<t.R.f;g++)t._[t.B[g]]!=0&&t._[t.B[g]]!=3&&(Jt(t,g,St),t.bb[t.B[g]]==0?Jt(t,t._[t.B[g]],3):(s1=t._[t.B[g]]==1?t.bb[t.B[g]]==1?4:6:t.bb[t.B[g]]==1?5:7,Jt(t,s1,3),Jt(t,t.ab[t.B[g]],3)));if(e=0,(t.Q&I1)==0)for(S=0;S<t.R.g;S++)t.j[t.C[S]]!=0&&t.j[t.C[S]]!=3&&(!WP(t.R,t.C[S])||l1(t.R,t.C[S])==1)&&++e;if(Jt(t,e,St),(t.Q&I1)==0)for(S=0;S<t.R.g;S++)t.j[t.C[S]]!=0&&t.j[t.C[S]]!=3&&(!WP(t.R,t.C[S])||l1(t.R,t.C[S])==1)&&(Jt(t,S,St),l1(t.R,t.C[S])==1?t.n[t.C[S]]==0?Jt(t,t.j[t.C[S]],3):(s1=t.j[t.C[S]]==1?t.n[t.C[S]]==1?4:6:t.n[t.C[S]]==1?5:7,Jt(t,s1,3),Jt(t,t.k[t.C[S]],3)):Jt(t,t.j[t.C[S]],2));for(Jt(t,t.R.K?1:0,1),$=0,m=0;m<t.R.f;m++)ye(t.R,t.B[m])!=0&&++$;if($!=0)for(eP(t,1),Jt(t,$,St),g=0;g<t.R.f;g++)ye(t.R,t.B[g])!=0&&(Jt(t,g,St),Jt(t,ye(t.R,t.B[g]),8));if(t.w=0,t.R.K){for(TA(t,0,St,I1,1,-1),TA(t,3,St,C0,1,-1),TA(t,4,St,120,4,3),TA(t,5,St,Ty,2,1),TA(t,6,St,1,1,-1),TA(t,7,St,rP,4,7),$=0,g=0;g<t.R.f;g++)MA(t.R,t.B[g])!=null&&++$;if($>0){for(eP(t,8),Jt(t,$,St),v=0;v<t.R.f;v++)if(R=MA(t.R,t.B[v]),R!=null)for(Jt(t,v,St),Jt(t,R.length,4),P=R,r=0,i=P.length;r<i;++r)n=P[r],Jt(t,n,8);}ni(t,9,St,384,2,7),ni(t,10,St,31,5,0),TA(t,11,St,ge,1,-1),ni(t,12,St,y8,8,9),TA(t,13,St,Li,3,14),TA(t,14,St,si,5,17),TA(t,16,St,f9,3,22);}for($=0,U=0;U<t.R.f;U++)t.a!=null&&t.a[t.B[U]]!=-1&&++$;if($!=0)for(eP(t,17),Jt(t,$,St),g=0;g<t.R.f;g++)t.a!=null&&t.a[t.B[g]]!=-1&&(Jt(t,g,St),Jt(t,t.a[t.B[g]],4));if(Tt=0,Pt=0,ct=0,(t.Q&8)!=0||(t.Q&re)!=0){for($=0,Rt=0,g=0;g<t.R.f;g++)if(Qt=_n(t.R,t.B[g]),Qt!=null){if(e1=Em(Qt),Qt.length>15||e1>127){Tt<Qt.length&&(Tt=w.Math.min(63,Qt.length)),Pt<e1&&(Pt=e1),++ct;continue;}++$,Rt=w.Math.max(Rt,Qt.length);}if($!=0){for(Nt=J8(Rt),eP(t,18),Jt(t,$,St),Jt(t,Nt,4),v=0;v<t.R.f;v++)if(Qt=_n(t.R,t.B[v]),Qt!=null&&Qt.length<=15&&Em(Qt)<=127)for(Jt(t,v,St),Jt(t,Qt.length,Nt),Ct=0;Ct<Qt.length;Ct++)Jt(t,(Xt(Ct,Qt.length),Qt.charCodeAt(Ct)),7);}}for(t.R.K&&(TA(t,19,St,i9,3,25),ni(t,20,St,SP,3,17)),$=0,L=0;L<t.R.f;L++)FA(t.R,t.B[L])!=0&&++$;if($!=0)for(eP(t,21),Jt(t,$,St),f=0;f<t.R.f;f++)FA(t.R,t.B[f])!=0&&(Jt(t,f,St),Jt(t,FA(t.R,t.B[f])>>4,2));if(t.R.K&&(TA(t,22,St,Ur,1,-1),ni(t,23,St,h8,1,-1),ni(t,24,St,AU,2,21)),(t.Q&16)!=0){for(f=0;f<t.R.f;f++)if(r0(t.R,t.B[f])){for(eP(t,25),n=0;n<t.R.f;n++)Jt(t,r0(t.R,t.B[n])?1:0,1);break;}}if(Ut=B_(t),Ut!=null){for($=0,S=0;S<t.R.g;S++)Ut[t.C[S]]&&++$;for(eP(t,26),Jt(t,$,St),p=0;p<t.R.g;p++)Ut[t.C[p]]&&Jt(t,p,St);}for(t.R.K&&TA(t,27,St,Pe,1,-1),$=0,x=0;x<t.R.g;x++)l1(t.R,t.C[x])==16&&++$;if($!=0)for(eP(t,28),Jt(t,$,St),S=0;S<t.R.g;S++)l1(t.R,t.C[S])==16&&Jt(t,S,St);for(t.R.K&&(TA(t,29,St,c8,2,30),TA(t,30,St,rr,7,32),TA(t,32,St,m6,2,44),TA(t,33,St,Vf,5,39),TA(t,34,St,ZQ,1,-1),ni(t,35,St,Ef,1,-1),ni(t,36,St,96,2,5)),$=0,a=0;a<t.R.g;a++)(l1(t.R,t.C[a])==32||l1(t.R,t.C[a])==64)&&++$;if($!=0)for(eP(t,37),Jt(t,$,St),j=0;j<t.R.g;j++)(l1(t.R,t.C[j])==32||l1(t.R,t.C[j])==64)&&(Jt(t,j,St),Jt(t,l1(t.R,t.C[j])==32?0:1,1));if(t.b&&(t.Q&16)!=0){for($=0,tt=0,g=0;g<t.R.f;g++){for(W=0,Ht=O(t.R,t.B[g]);Ht<Mt(t.R,t.B[g]);Ht++)r0(t.R,_(t.R,t.B[g],Ht))&&(Kt=Ht-O(t.R,t.B[g]),W|=1<<Kt,tt=w.Math.max(tt,Kt+1));W!=0&&++$;}if($!=0)for(eP(t,38),Jt(t,$,St),Jt(t,tt,3),f=0;f<t.R.f;f++){for(W=0,Ht=O(t.R,t.B[f]);Ht<Mt(t.R,t.B[f]);Ht++)r0(t.R,_(t.R,t.B[f],Ht))&&(Kt=Ht-O(t.R,t.B[f]),W|=1<<Kt);W!=0&&(Jt(t,f,St),Jt(t,W,tt));}}if(t.R.K&&TA(t,39,St,F2,4,47),ct!=0){for(Nt=J8(Tt),j1=J8(Pt),eP(t,40),Jt(t,ct,St),Jt(t,Nt,6),Jt(t,j1,16),f=0;f<t.R.f;f++)if(et=_n(t.R,t.B[f]),et!=null)for(Jt(t,f,St),b1=w.Math.min(63,et.length),Jt(t,b1,Nt),Ct=0;Ct<b1;Ct++)Jt(t,(Xt(Ct,et.length),et.charCodeAt(Ct)),j1);}Jt(t,0,1),t.J=ML(t);}function i6(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a,E,X,tt,W,$,et,lt,st,ct,Pt,Tt,Kt,Ct,$t,Ut,Ht,Qt,Nt,b1,e1,Rt,Lt,j1,St,g1;for(this.b=new y3((Pt=ky,Pt)),Ht=(x1(),$A),ut(t,15),lt=true,P=0;P<t.f;P++)if((t.u[P]&3)!=0&&(t.u[P]&3)!=3&&(t.u[P]&m1)>>18!=1){lt=false;break;}if(Kt=-1,lt){for(E=h(F,k,6,32,15,1),Ct=0,r=0;r<t.f;r++)if((t.u[r]&3)!=0&&(t.u[r]&3)!=3&&(t.u[r]&m1)>>18==1){tt=(t.u[r]&m1)>>18!=1&&(t.u[r]&m1)>>18!=2?-1:(t.u[r]&RA)>>20,++E[tt],Ct<E[tt]&&(Ct=E[tt],Kt=tt);break;}}for(this.a=A||new V0(),Ut=t.P!=null?t.P:"",J(this.a,Ut+Ht),J(this.a,"Actelion Java MolfileCreator 1.0"+Ht+Ht),g0(this,t.q),g0(this,t.r),J(this.a,"  0  0"),g0(this,lt?0:1),J(this.a,"  0  0  0  0  0999 V2000"+Ht),W=t.q==1,Q=1;Q<t.q;Q++)if(t.J[Q].a!=t.J[0].a||t.J[Q].b!=t.J[0].b||t.J[Q].c!=t.J[0].c){W=true;break;}if(X=1,W)if(e!=0)X=e;else if(v=wP(t,t.q,t.r,(Y1(),wn)),v!=0)(v<1||v>3)&&(X=1.5/v);else {for($t=Ve,r=1;r<t.q;r++)for(D=0;D<r;D++)p=t.J[D].a-t.J[r].a,x=t.J[D].b-t.J[r].b,a=t.J[D].c-t.J[r].c,S=p*p+x*x+a*a,$t>S&&($t=S);X=3/$t;}for(U=0;U<t.q;U++)W?(zu(this,X*t.J[U].a),zu(this,X*-t.J[U].b),zu(this,X*-t.J[U].c)):J(this.a,"    0.0000    0.0000    0.0000"),(t.v==null?null:t.v[U])!=null?J(this.a," L  "):gt(V(t.B[U],1),0)?J(this.a," A  "):t.C[U]>=129&&t.C[U]<=144||t.C[U]==154?J(this.a," R# "):(c=(Y1(),X0)[t.C[U]],J(this.a," "+c),c.length==1?J(this.a,"  "):c.length==2&&J(this.a," ")),J(this.a," 0  0  0"),$=V(rP,t.B[U]),G($,0)==0?J(this.a,"  0"):G($,384)==0?J(this.a,"  3"):G($,128)==0?J(this.a,"  2"):G($,1792)==0?J(this.a,"  1"):G($,1664)==0&&J(this.a,"  2"),J(this.a,gt(V(t.B[U],ge),0)?"  1":"  0"),g1=((t.u[U]&g8)>>>27)-1,g1==-1?J(this.a,"  0"):g1==0?J(this.a," 15"):g0(this,g1),J(this.a,"  0  0  0"),g0(this,w.Math.abs(t.w[U])),J(this.a,"  0  0"+Ht);for(R=0;R<t.r;R++){switch(t.H[R]){case 1:Nt=1,Lt=0;break;case 2:Nt=2,Lt=0;break;case 4:Nt=3,Lt=0;break;case 129:Nt=1,Lt=6;break;case 257:Nt=1,Lt=1;break;case 386:Nt=2,Lt=3;break;case 8:Nt=4,Lt=0;break;case 16:Nt=8,Lt=0;break;default:Nt=1,Lt=0;}lt&&(Lt==1||Lt==6)&&(r=t.D[0][R],(t.u[r]&m1)>>18==2?Lt=0:(t.u[r]&m1)>>18==1&&((t.u[r]&m1)>>18!=1&&(t.u[r]&m1)>>18!=2?-1:(t.u[r]&RA)>>20)!=Kt&&(Lt=4)),b=t.G[R]&31,b!=0&&(b==8?Nt=4:b==3?Nt=5:b==9?Nt=6:b==10?Nt=7:Nt=8),e1=t.G[R]&384,St=e1==0?0:e1==256?1:2,g0(this,1+t.D[0][R]),g0(this,1+t.D[1][R]),g0(this,Nt),g0(this,Lt),J(this.a,"  0"),g0(this,St),J(this.a,"  0"+Ht);}for(Qt=0,L=0;L<t.q;L++)t.s[L]!=0&&++Qt;if(Qt!=0)for(C=0,r=0;r<t.q;r++)t.s[r]!=0&&(C==0&&(J(this.a,"M  CHG"),g0(this,w.Math.min(8,Qt))),J(this.a," "),g0(this,r+1),j=t.s[r],j<0?(J(this.a,"  -"),j=-j):J(this.a,"   "),Oe(this.a,48+j&w1),--Qt,(++C==8||Qt==0)&&(C=0,J(this.a,Ht)));for(Qt=0,s=0;s<t.q;s++)t.A[s]==0||++Qt;if(Qt!=0)for(C=0,r=0;r<t.q;r++)t.A[r]!=0&&(C==0&&(J(this.a,"M  ISO"),g0(this,w.Math.min(8,Qt))),J(this.a," "),g0(this,r+1),J(this.a," "),g0(this,t.A[r]),--Qt,(++C==8||Qt==0)&&(C=0,J(this.a,Ht)));for(Qt=0,y=0;y<t.q;y++)(t.u[y]&48)!=0&&++Qt;if(Qt!=0){for(C=0,r=0;r<t.q;r++)if((t.u[r]&48)!=0){switch(C==0&&(J(this.a,"M  RAD"),g0(this,w.Math.min(8,Qt))),J(this.a," "),g0(this,r+1),t.u[r]&48){case 16:J(this.a,"   1");break;case 32:J(this.a,"   2");break;case 48:J(this.a,"   3");}--Qt,(++C==8||Qt==0)&&(C=0,J(this.a,Ht));}}for(Qt=0,l=0;l<t.q;l++)(t.C[l]>=129&&t.C[l]<=144||t.C[l]==154)&&++Qt;if(Qt!=0)for(C=0,r=0;r<t.q;r++)m=t.C[r],(m>=129&&m<=144||m==154)&&(C==0&&(J(this.a,"M  RGP"),g0(this,w.Math.min(8,Qt))),J(this.a," "),g0(this,r+1),J(this.a," "),g0(this,m==154?0:m>=142?m-141:m-125),--Qt,(++C==8||Qt==0)&&(C=0,J(this.a,Ht)));if(t.K){for(Qt=0,r=0;r<t.q;r++)gt(V(t.B[r],120),0)&&++Qt;if(Qt!=0)for(C=0,D=0;D<t.q;D++)b1=V(t.B[D],120),G(b1,0)!=0&&(C==0&&(J(this.a,"M  RBC"),g0(this,w.Math.min(8,Qt))),J(this.a," "),g0(this,D+1),G(b1,112)==0?J(this.a,"  -1"):G(b1,8)==0?J(this.a,"   1"):G(b1,104)==0?J(this.a,"   2"):G(b1,88)==0?J(this.a,"   3"):G(b1,56)==0&&J(this.a,"   4"),--Qt,(++C==8||Qt==0)&&(C=0,J(this.a,Ht)));for(T=0;T<t.q;T++)if(g=t.v==null?null:t.v[T],g!=null){for(J(this.a,"M  ALS "),g0(this,T+1),g0(this,g.length),J(this.a,gt(V(t.B[T],1),0)?" T ":" F "),et=0;et<g.length;et++)switch(st=(Y1(),X0)[g[et]],st.length){case 1:J(this.a,st+"   ");break;case 2:J(this.a,st+"  ");break;case 3:J(this.a,st+" ");break;default:J(this.a,"   ?");}J(this.a,Ht);}for(Qt=0,i=0;i<t.q;i++)gt(V(t.B[i],6144),0)&&++Qt;if(Qt!=0)for(C=0,D=0;D<t.q;D++)j1=V(t.B[D],6144),G(j1,0)!=0&&(C==0&&(J(this.a,"M  SUB"),g0(this,w.Math.min(8,Qt))),J(this.a," "),g0(this,D+1),gt(V(j1,C0),0)?J(this.a,"   "+(t.e[D]+1)):J(this.a,"  -2"),--Qt,(++C==8||Qt==0)&&(C=0,J(this.a,Ht)));}for(Qt=0,f=0;f<t.q;f++)(t.t==null||t.t[f]==null?null:rn((Tt=t.t[f],c0(),Tt)))!=null&&++Qt;if(Qt!=0)for(Rt=0,n=0;n<t.q;n++)st=t.t==null||t.t[n]==null?null:rn((ct=t.t[n],c0(),ct)),st!=null&&(++Rt,J(this.a,"M  STY  1 "),g0(this,Rt),J(this.a," DAT"),J(this.a,Ht),J(this.a,"M  SLB  1 "),g0(this,Rt),J(this.a," "),g0(this,Rt),J(this.a,Ht),J(this.a,"M  SAL "),g0(this,Rt),J(this.a,"  1 "),g0(this,n+1),J(this.a,Ht),J(this.a,"M  SDT "),g0(this,Rt),J(this.a," "),J(this.a,by),J(this.a,Ht),J(this.a,"M  SDD "),g0(this,Rt),J(this.a," "),zu(this,t.J[n].a),zu(this,t.J[n].b),J(this.a,"    DA    ALL  1       5"),J(this.a,Ht),J(this.a,"M  SED "),g0(this,Rt),J(this.a," "),J(this.a,st),J(this.a,Ht));J(this.a,D9+Ht);}function f6(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a,E,X,tt,W,$,et,lt,st,ct,Pt,Tt,Kt,Ct,$t,Ut,Ht,Qt,Nt,b1,e1,Rt,Lt,j1,St;e1=null,l=null;try{if(t.f=null,t.j&&(ki(t.j),je(t.j,!1)),tt=p=K1(e),tt==null||(p=K1(e))==null||(p=K1(e))==null||(t.k=p.includes("From CSD data. Using bond type 'Any'"),t.e=p.includes("From CSD data."),(p=K1(e))==null))return !1;t.g=!1,t.d=t.a;try{W=c1(v1((pt(0,3,p.length),p.substr(0,3))),o1,It),$=c1(v1((pt(3,6,p.length),p.substr(3,3))),o1,It),et=H9(v1((pt(6,9,p.length),p.substr(6,3)))),t.d=t.d|H9(v1((pt(12,15,p.length),p.substr(12,3))))==1,t.g=p.length>=39&&p.startsWith("V3000",34);}catch(g1){if(g1=t0(g1),Zt(g1,19))return !1;throw At(g1);}if(t.g)return Pt=B$(t,e),$2(t.j,tt),Pt;if(!t.j&&(t.j=new zA(W,$)),$2(t.j,tt),t.d||(t.j.L=!0),W==0){for(;p!=null&&!(A1(p,D9)||A1(p,PU)||A1((Xt(1,p.length+1),p.substr(1)),"$"));)p=K1(e);return !0;}for(v=0;v<W;v++){if((p=K1(e))==null)return !1;switch(Lt=Qn(v1((pt(0,10,p.length),p.substr(0,10)))),j1=Qn(v1((pt(10,20,p.length),p.substr(10,10)))),St=Qn(v1((pt(20,30,p.length),p.substr(20,10)))),n=W0(t.j,Lt,-j1,-St),S=v1((pt(31,34,p.length),p.substr(31,3))),A1(S,"A")||A1(S,"*")?T1(t.j,n,1,!0):A1(S,"Q")?(x=h(F,k,6,1,15,1),x[0]=6,Tf(t.j,n,x,!0)):(i=SA(S,67),K0(t.j,n,i)),X=H9(v1((pt(34,36,p.length),p.substr(34,2)))),X!=0&&jr(t.j,n,(Y1(),U9)[K(t.j,n)]+X),L=H9(v1((pt(36,39,p.length),p.substr(36,3)))),L!=0&&(L==4?Ne(t.j,n,32):E0(t.j,n,4-L)),a=p.length<63?0:H9(v1((pt(60,63,p.length),p.substr(60,3)))),Ze(t.j,n,a,!1),g=p.length<45?0:H9(v1((pt(42,45,p.length),p.substr(42,3)))),g){case 0:break;case 1:T1(t.j,n,768,!0);break;case 2:T1(t.j,n,128,!0);break;case 3:T1(t.j,n,384,!0);break;default:T1(t.j,n,896,!0);}p.length>=48&&(Xt(47,p.length),p.charCodeAt(47)==49)&&T1(t.j,n,ge,!0),b1=p.length<51?0:H9(v1((pt(48,51,p.length),p.substr(48,3)))),b1!=0&&(e1==null&&(e1=h(F,k,6,W,15,1)),e1[n]=b1);}for(R=0;R<$;R++){if((p=K1(e))==null)return !1;P=c1(v1((pt(0,3,p.length),p.substr(0,3))),o1,It)-1,r=c1(v1((pt(3,6,p.length),p.substr(3,3))),o1,It)-1,Q=c1(v1((pt(6,9,p.length),p.substr(6,3))),o1,It),$t=p.length<12?0:H9(v1((pt(9,12,p.length),p.substr(9,3)))),Nt=p.length<18?0:H9(v1((pt(15,18,p.length),p.substr(15,3)))),Q==8&&(t.k||_0(t.j,P)||_0(t.j,r))&&(Q=9),GR(t,P,r,Q,$t,Nt);}for(m=0;m<et;m++)if((p=K1(e))==null)return !1;if((p=K1(e))==null)return (t.i&1)!=0&&(t.f=Qu(t.j)),vk(t,e1),t.d||ut(t.j,15),!0;for(;p!=null&&!(A1(p,D9)||A1(p,PU));){if(p.startsWith("M  CHG")&&(b=c1(v1((pt(6,9,p.length),p.substr(6,3))),o1,It),b>0))for(A=10,Rt=14,j=1;j<=b;++j,A+=8,Rt+=8)n=c1(v1((pt(A,A+3,p.length),p.substr(A,A+3-A))),o1,It)-1,U=c1(v1((pt(Rt,Rt+3,p.length),p.substr(Rt,Rt+3-Rt))),o1,It),E0(t.j,n,U);if(p.startsWith("M  ISO")&&(b=c1(v1((pt(6,9,p.length),p.substr(6,3))),o1,It),b>0))for(A=10,Rt=14,j=1;j<=b;++j,A+=8,Rt+=8)n=c1(v1((pt(A,A+3,p.length),p.substr(A,A+3-A))),o1,It)-1,E=c1(v1((pt(Rt,Rt+3,p.length),p.substr(Rt,Rt+3-Rt))),o1,It),jr(t.j,n,E);if(p.startsWith("M  RAD")&&(b=c1(v1((pt(6,9,p.length),p.substr(6,3))),o1,It),b>0))for(A=10,Rt=14,j=1;j<=b;++j,A+=8,Rt+=8)switch(n=c1(v1((pt(A,A+3,p.length),p.substr(A,A+3-A))),o1,It)-1,ct=c1(v1((pt(Rt,Rt+3,p.length),p.substr(Rt,Rt+3-Rt))),o1,It),ct){case 1:Ne(t.j,n,16);break;case 2:Ne(t.j,n,32);break;case 3:Ne(t.j,n,48);}if((p.startsWith("M  RBC")||p.startsWith("M  RBD"))&&(b=c1(v1((pt(6,9,p.length),p.substr(6,3))),o1,It),b>0))for(A=10,Rt=14,j=1;j<=b;++j,A+=8,Rt+=8)switch(n=c1(v1((pt(A,A+3,p.length),p.substr(A,A+3-A))),o1,It)-1,Tt=c1(v1((pt(Rt,Rt+3,p.length),p.substr(Rt,Rt+3-Rt))),o1,It),Tt){case 3:case -1:T1(t.j,n,112,!0);break;case 1:T1(t.j,n,8,!0);break;case 2:T1(t.j,n,104,!0);break;case 4:T1(t.j,n,56,!0);}if(p.startsWith("M  ALS")&&(n=c1(v1((pt(7,10,p.length),p.substr(7,3))),o1,It)-1,n>=0)){for(lt=c1(v1((pt(10,13,p.length),p.substr(10,3))),o1,It),f=(Xt(14,p.length),p.charCodeAt(14)==84),b1=h(F,k,6,lt,15,1),A=16,j=0;j<lt;++j,A+=4)Qt=v1((pt(A,A+4,p.length),p.substr(A,A+4-A))),b1[j]=SA(Qt,1);K0(t.j,n,6),Tf(t.j,n,b1,f);}if(p.startsWith("M  SUB")&&(b=c1(v1((pt(6,9,p.length),p.substr(6,3))),o1,It),b>0)){for(A=10,Rt=14,j=1;j<=b;++j,A+=8,Rt+=8)if(n=c1(v1((pt(A,A+3,p.length),p.substr(A,A+3-A))),o1,It)-1,Ut=c1(v1((pt(Rt,Rt+3,p.length),p.substr(Rt,Rt+3-Rt))),o1,It),Ut==-2)T1(t.j,n,I1,!0);else if(Ut>0){for(Ht=0,D=0;D<t.j.r;D++)(z(t.j,0,D)==n||z(t.j,1,D)==n)&&++Ht;Ut>Ht&&T1(t.j,n,C0,!0);}}if(p.startsWith("M  RGP")&&(b=c1(v1((pt(6,9,p.length),p.substr(6,3))),o1,It),b>0))for(A=10,Rt=14,j=1;j<=b;++j,A+=8,Rt+=8)n=c1(v1((pt(A,A+3,p.length),p.substr(A,A+3-A))),o1,It)-1,Kt=c1(v1((pt(Rt,Rt+3,p.length),p.substr(Rt,Rt+3-Rt))),o1,It),Kt>=1&&Kt<=20&&K0(t.j,n,SA("R"+Kt,2));(p.startsWith("M  SAL")&&p.length>=17||p.startsWith("M  SDT")&&p.length>=12||p.startsWith("M  SED")&&p.length>=12)&&(!l&&(l=new lP()),Ct=(pt(7,10,p.length),p.substr(7,3)),s=(C=Ct,XP(G9(l,C))),s||(s=new W2(),ze(l,Ct,s)),p.startsWith("M  SAL")&&p.startsWith("  1",10)?s.a=c1(v1((pt(13,17,p.length),p.substr(13,4))),o1,It):p.startsWith("M  SDT")?s.b=(Xt(11,p.length+1),p.substr(11)).startsWith(by):p.startsWith("M  SED")&&(s.c=v1((Xt(11,p.length+1),p.substr(11))))),p=K1(e);}}catch(g1){if(g1=t0(g1),Zt(g1,19))return T=g1,Z9(T,(x1(),gi)),false;throw At(g1);}if(l)for(y=(st=new fD(l).a.$c().Tb(),new DD(st));y.a.ad();)s=(c=y.a.bd(),c.ed()),s.b&&s.a!=0&&s.c!=null&&u8(t.j,s.a-1,s.c);return t.e&&(VZ(t),GW(t)),(t.i&1)!=0&&(t.f=Qu(t.j)),vk(t,e1),ut(t.j,15),true;}function D6(t,e,A,n,P,r,i){var f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a,E,X,tt,W,$,et,lt,st,ct,Pt,Tt,Kt,Ct,$t,Ut,Ht,Qt,Nt,b1,e1,Rt,Lt,j1,St,g1,y0,F1,s1,T0;for(t.k=e,ki(t.k),t.s=new LP(),t.a=new Zg(),t.r&&un(t.r,0),t.b=0,t.p=false,Q=t.q!=0,Ht=null,l=h(F,k,6,32,15,1),l[0]=-1,Qt=h(F,k,6,16,15,1),e1=h(F,k,6,16,15,1),b1=h(F,k,6,16,15,1),Nt=h(F,k,6,16,15,1),W=0;W<16;W++)Qt[W]=-1;for(s=0,p=-1,Rt=false,st=false,E=false,v=0,g=1,c=0;A[n]<=32;)++n;for(;n<P;){if(Lt=A[n++]&w1,BB(Lt)||Lt==42||Lt==63||Lt==33&&Q&&Rt||Lt==35&&Q&&Rt||Lt==36&&Q&&Rt){if(y=new WF(t,t.j|t.q),Rt){if((t.j&128)!=0){if(j=new H7(n-1),n=P6(y,A,n,P,true,true),A[n-1]!=93){for(;A[n-1]!=93;)n=P6(y,A,n+1,P,true,true),++j.a;t.f.add(j);}}else n=P6(y,A,n,P,Q,false);}else n=n_(y,A,n,P,Q);if(Rt=false,y.q&&N(y.q,0)){p=l[v],l[v]=e.q,RD(e,y.q?N(y.q,0):null),p!=-1&&g!=512&&(T=O0(t.k,p,p,g),c!=0&&(t.p=true,Ge(t.k,T,c,true),Cs(t.k,T))),g=1,c=0;continue;}if(y.d==-1&&Lt!=63)throw At(new V1("SmilesParser: unknown element label found. Position:"+(n-1)));y.r&&(t.p=true),L=L$(y,t.k,Lt,n),z0(t.k,L)&&++t.b,p=l[v],p!=-1&&g!=512&&(T=O0(t.k,p,L,g),c!=0&&(t.p=true,Ge(t.k,T,c,true),Cs(t.k,T))),g=1,c=0,l[v]=L,s!=0&&(jr(t.k,L,s),s=0),i&&($t=Ht?le(Ht,k1(p)):null,$t&&Ku($t,L,(ct=n,y.d==1&&ye(t.k,L)==0,ct)),y.p&&(!Ht&&(Ht=new lP()),X=y.g==9?0:y.g,ze(Ht,k1(L),new ck(t,L,n-2,p,X,y.i))));continue;}if(Lt==46){l[v]=-1,g=512;continue;}if(Lt==45||Lt==61||Lt==35||Lt==36||Lt==58||Lt==47||Lt==92||Lt==60||Lt==126||Lt==33||Lt==64){if(Rt)throw At(new V1("SmilesParser: unexpected bond symbol inside square brackets: '"+String.fromCharCode(Lt)+V6+(n-1)));for(C=0;Lt==45||Lt==61||Lt==35||Lt==36||Lt==58||Lt==47||Lt==92||Lt==60||Lt==126||Lt==33||Lt==64;){if(Lt==33){if(Lt=A[n++]&w1,Lt==64)c|=128;else if(Lt==45&&A[n]==62||Lt==60&&A[n]==45)C|=16,++n;else if(Lt==45)C|=1;else if(Lt==61)C|=2;else if(Lt==35)C|=4;else if(Lt==36)C|=32;else if(Lt==58)C|=8;else throw At(new V1("SmilesParser: bond symbol '"+String.fromCharCode(Lt)+"' not allowed after '!'. Position:"+(n-1)));}else if(Lt==64?c|=256:Lt==61?g=2:Lt==35?g=4:Lt==36?g=32:Lt==58?g=8:Lt==126?c|=15:Lt==47?i&&(g=257):Lt==92?i&&(g=129):(Lt==45&&A[n]==62||Lt==60&&A[n]==45)&&(g=16,++n),A[n]==44)for(c|=(g==16?62:Lt)==61?2:(g==16?62:Lt)==35?4:(g==16?62:Lt)==36?32:(g==16?62:Lt)==58?8:(g==16?62:Lt)==62?16:(g==16?62:Lt)==126?127:1;A[n]==44;)A[n+1]==60&&A[n+2]==45||A[n+1]==45&&A[n+2]==62?(c|=16,n+=3):(c|=(A[n+1]&w1)==61?2:(A[n+1]&w1)==35?4:(A[n+1]&w1)==36?32:(A[n+1]&w1)==58?8:(A[n+1]&w1)==62?16:(A[n+1]&w1)==126?127:1,n+=2);if(A[n]==59){++n,Lt=A[n++]&w1;continue;}C!=0&&(c|=127&~C);break;}continue;}if(Lt<=32){n=P;continue;}if(Zn(Lt)){if(Tt=Lt-48,Rt){for(;n<P&&Zn(A[n]&w1);)Tt=10*Tt+A[n]-48,++n;s=Tt;}else {if(m=st?n-3:n-2,a=A[m]==45||A[m]==47||A[m]==92||A[m]==61||A[m]==35||A[m]==36||A[m]==58||A[m]==62||A[m]==126,st&&n<P&&Zn(A[n]&w1)&&(Tt=10*Tt+A[n]-48,st=false,++n),Tt>=Qt.length){if(Tt>=100)throw At(new V1("SmilesParser: ringClosureAtom number out of range: "+Tt));for(Kt=Qt.length,Pt=Qt.length;Pt<=Tt;)Pt=w.Math.min(100,Pt+16);for(Qt=(n8(Pt),RP(Qt,h(F,k,6,Pt,15,1),0,Pt)),e1=(n8(Pt),RP(e1,h(F,k,6,Pt,15,1),0,Pt)),b1=(n8(Pt),RP(b1,h(F,k,6,Pt,15,1),0,Pt)),Nt=(n8(Pt),RP(Nt,h(F,k,6,Pt,15,1),0,Pt)),$=Kt;$<Pt;$++)Qt[$]=-1;}if(Qt[Tt]==-1)Qt[Tt]=l[v],e1[Tt]=n-1,b1[Tt]=a?g:-1,Nt[Tt]=a?c:0;else {if(Qt[Tt]==l[v])throw At(new V1("SmilesParser: ring closure to same atom"));i&&Ht&&($t=le(Ht,k1(Qt[Tt])),$t&&Ku($t,l[v],e1[Tt]),$t=le(Ht,k1(l[v])),$t&&Ku($t,Qt[Tt],n-1)),b1[Tt]!=-1?g=b1[Tt]:g==257?g=129:g==129&&(g=257),f=Qt[Tt],D=l[v],T=(T0=O0(t.k,f,D,g),SD(t.s,f+"_"+D,B(d(F,1),k,6,15,[e1[Tt],n-1])),SD(t.s,D+"_"+f,B(d(F,1),k,6,15,[e1[Tt],n-1])),hv(t.a,f),hv(t.a,D),T0),Nt[Tt]!=0&&(c=Nt[Tt]),c!=0&&(t.p=true,Ge(t.k,T,Nt[Tt],true),Cs(t.k,T)),Qt[Tt]=-1;}g=1,c=0;}continue;}if(Lt==43)throw At(new V1("SmilesParser: '+' found outside brackets. Position:"+(n-1)));if(Lt==40){if(l[v]==-1){E=true;continue;}++v,l.length==v&&(l=bn(l,l.length+32)),l[v]=l[v-1];continue;}if(Lt==41){if(v==0){if(!E)throw At(new V1("SmilesParser: Closing ')' without opening counterpart. Position:"+(n-1)));l[0]=-1,E=false;continue;}--v;continue;}if(Lt==91){Rt=true;continue;}if(Lt==93)throw At(new V1("SmilesParser: closing bracket at unexpected position:"+(n-1)));if(Lt==37){st=true;continue;}throw At(new V1("SmilesParser: unexpected character outside brackets: '"+String.fromCharCode(Lt)+qp+(n-1)));}if(g!=1)throw At(new V1("SmilesParser: dangling open bond; position:"+n));for(et=0;et<Qt.length;et++)if(Qt[et]!=-1)throw At(new V1("SmilesParser: dangling ring closure: "+et+"; position:"+n));for(x=Qu(t.k),t.k.S=true,ut(t.k,1),U=0;U<t.k.q;U++)if(_n(t.k,U)!=null){if(S=X3(t.k,U)[0],t.p||t.q==2){if(S!=9)if(t.i)for(tt=0;tt<S;tt++)O0(t.k,U,W9(t.k,1),1);else S==0&&T1(t.k,U,1792,true),S==1&&T1(t.k,U,1664,true),S==2&&T1(t.k,U,1408,true),S==3&&T1(t.k,U,896,true);}else {if(S==9&&(S=0),!_0(t.k,U)&&(!z0(t.k,U)||K(t.k,U)==6&&p1(t.k,U)==0)){for(s1=Yu(K(t.k,U)),R=false,j1=G1(t.k,U),j1-=Fu(t.k,U,j1),j1+=S,z0(t.k,U)&&++j1,g1=s1,y0=0,F1=g1.length;y0<F1;++y0)if(St=g1[y0],j1<=St){R=true,St==j1+2?Ne(t.k,U,48):St==j1+1?Ne(t.k,U,32):(St!=j1||St!=s1[0])&&XA(t.k,U,j1);break;}R||XA(t.k,U,j1);}if(t.i||!aL(t.k,U))for(tt=0;tt<S;tt++)O0(t.k,U,W9(t.k,1),1);}}else !t.i&&(t.p||t.q==2)&&(S=R3(t.k,U),S>=1&&T1(t.k,U,128,true),S>=2&&T1(t.k,U,256,true),S>=3&&T1(t.k,U,512,true),S>=4&&T1(t.k,U,re,true));if(!t.i&&(t.p||t.q==2)&&g5(t.k,false),ut(t.k,1),JX(t),Va(t,Q,t.p),t.k.t=null,t.k.S=false,i&&(__(t),Ht)){for(Ut=(Ct=new fD(Ht).a.$c().Tb(),new DD(Ct));Ut.a.ad();)$t=(b=Ut.a.bd(),b.ed()),ce(t.k,x[$t.a],uZ($t,x),false);sD(t.k,0);}sD(t.k,0),r&&(lt=new Y8(t.d),gt(t.n,0)&&pq(lt,t.n),Ar(lt,t.k),i&&H3(t.k)),(t.p||t.q==2)&&(je(t.k,true),Bj(t.k),_b(t.k));}function wp(){wp=B1,RU=B(d(it,2),nA,13,0,[B(d(it,1),Dt,2,6,["e","daXJ@@PjyITuiX@`!dahJ@@SJYIMMfPB#IaLJfxP IaAhl[`#!BDpAl@AL@[@Be}aL@[@@ !B|Osp?QZR?O_}}zGze`@##"]),B(d(it,1),Dt,2,6,["g","gBa`@lde@XS@!gCA`@mDPOdku`#qbq qJt#!B[G|S_qgq !BjW}q]cga##"]),B(d(it,1),Dt,2,6,["o","gGQHDDqIUjdB!gGQHHDqAeMjhB#qbqk qfQ]#!B@AL@[@@S@Fp@Dp !BFQ{~_q|ZGvUSYp##"]),B(d(it,1),Dt,2,6,["r","gOQdEjHbAFQRBrtAaJ!gNQdEbHbABCTKPFDH#qbMwX qbM~X#!BNDm`ra?UjW~YBYX@ !Ba[zw?_x@?g~H?XO~##"]),B(d(it,1),Dt,2,6,["s","gOp`ATigujj`H!gOp`ATiVKjj`H#qnyS` qY~eP#!BTLtk^sE?BOs|]pc} !BbOvw?_y??g~H?[_}##"]),B(d(it,1),Dt,2,6,["t","gOP`@dcUZdB!gNp`@tiTMjj@`#q{ir` qkLrx#!Be`Bzr_wp?OC}|Osp !B?g~w@k_}m?vw@n[a##"]),B(d(it,1),Dt,2,6,["u","daXB`Hrn@HrPEILt`D!daXB`DJn@HRUMjV@H#IxVaLJ` IylJhPP#!B[G}l@OKyDpAl@AL@[@@ !B@Fp@DpAl@AN]?`Al@AL##"]),B(d(it,1),Dt,2,6,["Sakurai","gOQH@wAINvZ@pdcFe@x@!gOQH@wAIgJi@pdcFe@x@#qreKx qrLkx#!BDpAl@IknDw|S@Fp@ !Bb@JH?_x@b@JH?Ven##"]),B(d(it,1),Dt,2,6,["Mitsunobu","gFP`ATfRhdPp`}KEYg]d@!gFP`ATfRhd`pekL{l`#qrLk qZLn#!B@hc}b@C~@h`YM` !B@hc}b@C~@h`YM`##"]),B(d(it,1),Dt,2,6,["Aldol-Addition","gOQ@AdTAcS@[Q^crJTLES`DJsL?vH!gGQ@@dsuRAcJg@HUaX#qYEbp qYub#!BxOyBzLKg`dG~xG~{ !Bb@K~@Hc}FBIA@@##"]),B(d(it,1),Dt,2,6,["Aldol-Condensation","gOQ@AdTAcS@[Q^crJTLES`DJsL?vH!gFQ@@`rrpdlHHpipBEXf@#qYEbp q^aU#!B{ZRRqA?AQfyA@L_C !B}QFw@h`B_tnH_P##"]),B(d(it,1),Dt,2,6,["Acetal-Aldol-Addition","dmdB@@serQS@sJjfd@p`Xir\\@`j\\@aUJXK@!daxL@@[df[ZjT@qQdxACdxABjTqf@#qB@`OuX qBtM{#!B_]]}rHKWw?y}uy[~GJbBu{wWqG| !BfJK~TIa]fJJghg{`pP@##"]),B(d(it,1),Dt,2,6,["Acetal-Aldol-Condensation","dmdB@@serQS@sJjfd@p`Xir\\@`j\\@aUJXK@!gNp`CTjUiV@qQS`DJg@HUVXV@#qB@`OuX qqj{`#!B?[_}b@Jw_?{}m~[~[N@Bm?vwkN| !BfsK~yzPrw}m?rzQM##"]),B(d(it,1),Dt,2,6,["Acetal-Aldol-Condensation-Cyclization","dkLB@@ZURYUvUjljh@paHpr\\@`!didD@@yIfUXXHL@CFNS`D@#IXljNPY@@@ IXljIyA#!BbOw~_x`Bm?vH?[_}b@JH?_y?b@Jw?Xc} !BbOvH?Oy??`BH?Xa}?`C~_p##"]),B(d(it,1),Dt,2,6,["Enolester-Cleavage","gOQ`@fdscT`_Qp!gOQ`@cdTASS@P#q}Kr` q}cNP#!B@k]}mpC~@k]}mqdY !Bb@K~@Hc}BfzH@hc}##"]),B(d(it,1),Dt,2,6,["propargylEnone","gCa@@dmXFD@!gCa@@dkHD#qNT qLV#!BbOw~_?y? !B@AL@[@@S##"]),B(d(it,1),Dt,2,6,["Arndt-Eistert","daiDaJYBBHj^{HhAYMpAaA@!daiD`FzLBHPVsZl@p`@#IyHHZ[@ IzDGBi`#!B?`Bw?H`Bn]{~\\g?~@Ox !B@rzH?_y?b@JH?_n~bOt##"]),B(d(it,1),Dt,2,6,["Curtius","gO]IcVaDF[s{HhCIe@`!gN]HMWADHJfm`XP@#q~Jk` qytUX#!B@O{|b@Jw\\o{~_?x@ !Bj]y??g?~?[^G_hc}##"]),B(d(it,1),Dt,2,6,["diazomethanHomologation","gFU@lQioIIs\\AyH!gFU@CPdimXD#qbM^ qbqk#!B?X`BbFZN?`C~_p !B@AL@[@@Su[x@Dp##"]),B(d(it,1),Dt,2,6,[PV,"deD@@LdbEdSTu@FqHWSDda`JFChXIa`?tdKi@!deD@@Ldb`\\SUM@FqHPsDda`JF@XXIa`?tdHY@#qTEApX qQECf@#!BQzK~}ubbW`BEgcb]?a@gg[zO !BQzK~}ubbW`Ag{VVAQzJ~c?xP##"]),B(d(it,1),Dt,2,6,[PV,"deD@@LdbEdSTu@FqHWSDda`JFChXIa`?tdKi@!gC`@DiZDE@#qPDA@p qQf#!BmpK~_x`Bm?tAs[]}?`BH_[_| !B_vp@[G|S##"]),B(d(it,1),Dt,2,6,["yne-Metathesis","daX@@LdPLWWPAlRXwQIHXLa`ZFChXO}IL[`!daX@@LdPLWWPAlRXwQIHXLa`ZFChXO}IL[`#qT@q@ qt@Q@#!BZmoi@Fjo|SFe|IkGiU@ !BZmoi@Fjo|SFe|IkGiU@##"]),B(d(it,1),Dt,2,6,["ene-yne-Metathesis","dcd@@LdPLPLWSSPAlrXwKlVRFCHXFa`zFAXXMa`?udqnWP!dcT@@LdbbplTsTt@[MeMr{Ela`jFAhXNa`VFCXXO}[J[et#qe@N@S@ qeHP@s@#!B?g?~@Oy?^gG}bOvw?H`E@PJw@hc}mp !B?`BH?[_}mpJH@oy??`AuC`Jw@hc}mp##"]),B(d(it,1),Dt,2,6,["Alkyne-Cyclisation","gG`@DcO|CFAFC`@!gFp@DiTt@@CFAFC`@#qi\\V qiSt#!B_y[qA`Biu^zV@@ !B?g~w@k_}m?vw@`##"]),B(d(it,1),Dt,2,6,["Elimination-Claisen","gNp`AldTQji@~a`!gGQ@@djmRA@#qtHUX qtSi#!Bm?vH?[\\B?g~H@hc} !B@AL@[@@S@Fp@Dp##"]),B(d(it,1),Dt,2,6,["imineFormationAzaCope","daZH@LAIMUjd@pRL@!daZH@HAAn]jd@p`@#IGfaLJ` IFDzfK@#!BDpAl@IkqDpAl@AL@[@@ !BFaFw@h`BbOw~@H`BbOt##"]),B(d(it,1),Dt,2,6,["didehydroCopeWithAromatisation","gNp@Di]ejDcjcr|wK`!gOp@DjWkB@@H#qrLkx q\\oQp#!B?g~H?K_}bGvH?H`B !Bm?w~@Hc}mpJw@ox@##"]),B(d(it,1),Dt,2,6,["symAldolNitrogenRing","dovJ@GBfttf\\v\\qjViPCADGbDodnGp!doNJ@JCSmtefWTCaYjje@H#IlZXi]]yL~C IqMVCzaIim?#!BQtl_riY?Qtl_rfuvNCQ`uZd@NCQ`uVVu}?sA]P !B?`BH@ox@bGvH@k\\Bb@JH_Xa}b@K~_rYltUr|W@##"]),B(d(it,1),Dt,2,6,["Diels-Alder","gFP@LdPLjA@!gFp@DiTujhB#qiZf qMSf#!B?_C}}?spIPFV@@ !B?g~w@k_}m?vw@`##"]),B(d(it,1),Dt,2,6,["Claisen-RA","gGQ@@eKtRA@!gGQ@@djqRA@#qMsT qM\\V#!B_qL@Dw}l@Fp@Dp !B@AL@[@@S@Fp@Dp##"]),B(d(it,1),Dt,2,6,["Cope","gGQ@DeZmRAbhcApIF@P@!gGQ@HeZmRAbhc@HIFC`@#qkNT qi\\V#!B_vp@[@@S@Fp@Dp !B_vp@[@@S@Fp@Dp##"]),B(d(it,1),Dt,2,6,["OxyCope","gNq@@dr}SHFD@!gNq@@djkUHD#qynZ` qykbp#!B?g~w?Xc}mpJH@hc} !B@Fp@DpAl@AL@[@@S##"]),B(d(it,1),Dt,2,6,["Vinylcyclopropane","gKP@DklVj@`!gKP@Di\\Vj@`#qaVh qTqh#!Bm?vH?PC~?K\\ !B?g|_Fa}eTv\\##"]),B(d(it,1),Dt,2,6,["Furan-CH2-OH-Rearrangement","gOp`@tiguif`H!gOp`@tfWMZZ`H#qZna@ qZtM@#!BTLtk^sE?BOs|]pc} !BBOuPtdy?UGm@V]Ho##"]),B(d(it,1),Dt,2,6,["rearrangement1032","gOp`ATieMji`H!gOp`ATeekZj`H#qaSnx qa]~P#!BTLtk^pc|LW?|]pc} !BBOpH?UCRSg}T^tAY##"]),B(d(it,1),Dt,2,6,["Pinacol-Rearrangement","gNp`ATffjj@pPh!gOP`@tfXZhCAA`#qb^ix qb^oH#!B@k^H@k_}@k_~@Hc} !BbOvH@oy??`BH?PFf##"]),B(d(it,1),Dt,2,6,["1,3-WaterEliminationWith12Shift","gJQ@@dmU@_SP!gKa@@`vtA}A@#qiTp qjap#!BbOvH@ox@bOt !BJdE?[@Al@AL##"]),B(d(it,1),Dt,2,6,["Epoxydation","gB``ADcdCB@!gC``AhtUPGtt@#qqb qtQ#!BjW}Y\\YX@ !B?g~w?^Va##"]),B(d(it,1),Dt,2,6,["oxydativePropargylAmine13Shift","gKi@HDEZpLHOQP!gJY@BDeVXB#qMr` qNTh#!BqiXTy{U?mW| !B@Fp@DpAl@AL##"]),B(d(it,1),Dt,2,6,["Baeyer-Villiger","gFQ`@[dTAZ`LHP!gFQ`@jdrMPGtl@#qrak qrlK#!B_?{}mwvHs^FVP@ !BbOvH@oy?bOuQzP##"]),B(d(it,1),Dt,2,6,[rV,"gGa@@dYs@XHFJIBDQbUeHPbLRl@!gFQ@@eNUPFJIBDQbUeHPbLRls@`#qbq] qfQk#!B@AOIDW}l@tD@Dp !B_qL@Dw}l_qNcDP##"]),B(d(it,1),Dt,2,6,[rV,"gBa@@d\\`XP@!gJQ@@eOU@XpdHQFIVY`P#qbq qfQ@#!B@AOIDW}l !B_qL@Dw}l_qL##"]),B(d(it,1),Dt,2,6,["Hantzsch Thiazol","daZHPDp@chaIMefh@ppDzTD~hYmC^bhbcPp]dQbUg~pp!gKXHL@aJWFe`H#qNPe@ qNj`#!BvuK[KUxv_yS[k_zhvuH !BTqa`FbpX?`@##"]),B(d(it,1),Dt,2,6,["Oxadiazole","gOX`BEdTASW@XQ@!gOu@HPeKNMKTA@#qrDMX qpULX#!BmpK~@K_}Mlx@?`C~ !BZ?`C}v|m_rYR[z?\\##"]),B(d(it,1),Dt,2,6,["Imidazole","dmeHPNg@qJqLbTtATijZ@LLJnuDmhWtSDXUFC`?rIoTAP!gOt@ATieuej`H#qDPpM_@ q~ZM`#!BqvKGg_yOqvKGg_xphrGkLcz@_sD !BTMHkACD@BOw|B@QT##"]),B(d(it,1),Dt,2,6,["1,2,3-Triazole","gB`HAbIGXFDWiM@!gF|@ADeKXmT`P#QIp Q@v#!B_vpU?g}l !BTv]`YRqg?g|XK@##"]),B(d(it,1),Dt,2,6,["1,2,4-Triazole","deFD@NALbbfASUW@FD]YJZLUCAVJ}?nES@!gO|@ABeKNLuRA@#qDB@FM q@LuP#!BY?r~@F_]jDJW`j`}Iaxx[UC] !BTv]@IPqgog|hCBT_##"])]);}function _A(){_A=B1,oE=new nD(),DE=B(d(it,1),Dt,2,6,["?","H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og",$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,"R4","R5","R6","R7","R8","R9","R10","R11","R12","R13","R14","R15","R16","R1","R2","R3","A","A1","A2","A3",$1,$1,"D","T","X","R","H2","H+","Nnn","HYD","Pol",$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,"Ala","Arg","Asn","Asp","Cys","Gln","Glu","Gly","His","Ile","Leu","Lys","Met","Phe","Pro","Ser","Thr","Trp","Tyr","Val"]),UE=B(d(Yt,1),at,6,15,[0,1,4,7,9,11,12,14,16,19,20,23,24,27,28,31,32,35,40,39,40,45,48,51,52,55,56,59,58,63,64,69,74,75,80,79,84,85,88,89,90,93,98,0,102,103,106,107,114,115,120,121,130,127,132,133,138,139,140,141,142,0,152,153,158,159,164,165,166,169,174,175,180,181,184,187,192,193,195,197,202,205,208,209,209,210,222,223,226,227,232,231,238,237,244,243,247,247,251,252,257,258,259,262,267,268,271,270,277,276,281,281,283,285,289,289,293,294,294,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,156,114,115,103,128,129,57,137,113,113,128,131,147,97,87,101,186,163,99]),uE=B(d(q,2),w8,10,0,[null,B(d(q,1),I,6,15,[1]),B(d(q,1),I,6,15,[0]),B(d(q,1),I,6,15,[1]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[4]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[1]),B(d(q,1),I,6,15,[0]),B(d(q,1),I,6,15,[1]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[4]),B(d(q,1),I,6,15,[3,5]),B(d(q,1),I,6,15,[2,4,6]),B(d(q,1),I,6,15,[1,3,5,7]),B(d(q,1),I,6,15,[0]),B(d(q,1),I,6,15,[1]),B(d(q,1),I,6,15,[2]),null,null,null,null,null,null,null,null,null,null,B(d(q,1),I,6,15,[2,3]),B(d(q,1),I,6,15,[2,4]),B(d(q,1),I,6,15,[3,5]),B(d(q,1),I,6,15,[2,4,6]),B(d(q,1),I,6,15,[1,3,5,7]),B(d(q,1),I,6,15,[0,2]),B(d(q,1),I,6,15,[1]),B(d(q,1),I,6,15,[2]),null,null,null,null,null,null,null,null,null,null,B(d(q,1),I,6,15,[1,2,3]),B(d(q,1),I,6,15,[2,4]),B(d(q,1),I,6,15,[3,5]),B(d(q,1),I,6,15,[2,4,6]),B(d(q,1),I,6,15,[1,3,5,7]),B(d(q,1),I,6,15,[0,2,4,6]),B(d(q,1),I,6,15,[1]),B(d(q,1),I,6,15,[2]),null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2])]),QE=B(d(q,2),w8,10,0,[null,B(d(q,1),I,6,15,[1]),null,B(d(q,1),I,6,15,[1]),B(d(q,1),I,6,15,[2]),null,null,B(d(q,1),I,6,15,[-3]),B(d(q,1),I,6,15,[-2]),B(d(q,1),I,6,15,[-1]),null,B(d(q,1),I,6,15,[1]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[3]),null,B(d(q,1),I,6,15,[-3]),B(d(q,1),I,6,15,[-2]),B(d(q,1),I,6,15,[-1]),null,B(d(q,1),I,6,15,[1]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[2,3,4]),B(d(q,1),I,6,15,[2,3,4,5]),B(d(q,1),I,6,15,[2,3,6]),B(d(q,1),I,6,15,[2,3,4,7]),B(d(q,1),I,6,15,[2,3]),B(d(q,1),I,6,15,[2,3]),B(d(q,1),I,6,15,[2,3]),B(d(q,1),I,6,15,[1,2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[2,4]),B(d(q,1),I,6,15,[-3,3,5]),B(d(q,1),I,6,15,[-2]),B(d(q,1),I,6,15,[-1]),null,B(d(q,1),I,6,15,[1]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[4]),B(d(q,1),I,6,15,[3,5]),B(d(q,1),I,6,15,[6]),B(d(q,1),I,6,15,[4,6,7]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[2,4]),B(d(q,1),I,6,15,[1]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[2,4]),B(d(q,1),I,6,15,[-3,3,5]),B(d(q,1),I,6,15,[-2,4,6]),B(d(q,1),I,6,15,[-1]),null,B(d(q,1),I,6,15,[1]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[3,4]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[2,3]),B(d(q,1),I,6,15,[2,3]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[2,3]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[4]),B(d(q,1),I,6,15,[5]),B(d(q,1),I,6,15,[6]),B(d(q,1),I,6,15,[4,6,7]),B(d(q,1),I,6,15,[3,4]),B(d(q,1),I,6,15,[3,4]),B(d(q,1),I,6,15,[2,4]),B(d(q,1),I,6,15,[1,3]),B(d(q,1),I,6,15,[1,2]),B(d(q,1),I,6,15,[1,3]),B(d(q,1),I,6,15,[2,4]),B(d(q,1),I,6,15,[3,5]),B(d(q,1),I,6,15,[-2,2,4]),B(d(q,1),I,6,15,[-1,1]),null,B(d(q,1),I,6,15,[1]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[4]),B(d(q,1),I,6,15,[4,5]),B(d(q,1),I,6,15,[3,4,5,6]),B(d(q,1),I,6,15,[3,4,5,6]),B(d(q,1),I,6,15,[3,4,5,6]),B(d(q,1),I,6,15,[3,4,5,6]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[3,4]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[2,3]),B(d(q,1),I,6,15,[2,3]),B(d(q,1),I,6,15,[3])]),fE=B(d(it,1),Dt,2,6,[E6,S6,q6]);}function Y1(){Y1=B1,X0=B(d(it,1),Dt,2,6,["?","H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og",$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,"R4","R5","R6","R7","R8","R9","R10","R11","R12","R13","R14","R15","R16","R1","R2","R3","A","A1","A2","A3",$1,$1,"D","T","X","R","H2","H+","Nnn","HYD","Pol",$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,"Ala","Arg","Asn","Asp","Cys","Gln","Glu","Gly","His","Ile","Leu","Lys","Met","Phe","Pro","Ser","Thr","Trp","Tyr","Val"]),U9=B(d(Yt,1),at,6,15,[0,1,4,7,9,11,12,14,16,19,20,23,24,27,28,31,32,35,40,39,40,45,48,51,52,55,56,59,58,63,64,69,74,75,80,79,84,85,88,89,90,93,98,0,102,103,106,107,114,115,120,121,130,127,132,133,138,139,140,141,142,0,152,153,158,159,164,165,166,169,174,175,180,181,184,187,192,193,195,197,202,205,208,209,209,210,222,223,226,227,232,231,238,237,244,243,247,247,251,252,257,258,259,262,267,268,271,270,277,276,281,281,283,285,289,289,293,294,294,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,156,114,115,103,128,129,57,137,113,113,128,131,147,97,87,101,186,163,99]),VV=B(d(q,1),I,6,15,[6]),HV=B(d(q,1),I,6,15,[2]),Lr=B(d(q,2),w8,10,0,[null,B(d(q,1),I,6,15,[1]),B(d(q,1),I,6,15,[0]),B(d(q,1),I,6,15,[1]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[4]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[1]),B(d(q,1),I,6,15,[0]),B(d(q,1),I,6,15,[1]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[4]),B(d(q,1),I,6,15,[3,5]),B(d(q,1),I,6,15,[2,4,6]),B(d(q,1),I,6,15,[1,3,5,7]),B(d(q,1),I,6,15,[0]),B(d(q,1),I,6,15,[1]),B(d(q,1),I,6,15,[2]),null,null,null,null,null,null,null,null,null,null,B(d(q,1),I,6,15,[2,3]),B(d(q,1),I,6,15,[2,4]),B(d(q,1),I,6,15,[3,5]),B(d(q,1),I,6,15,[2,4,6]),B(d(q,1),I,6,15,[1,3,5,7]),B(d(q,1),I,6,15,[0,2]),B(d(q,1),I,6,15,[1]),B(d(q,1),I,6,15,[2]),null,null,null,null,null,null,null,null,null,null,B(d(q,1),I,6,15,[1,2,3]),B(d(q,1),I,6,15,[2,4]),B(d(q,1),I,6,15,[3,5]),B(d(q,1),I,6,15,[2,4,6]),B(d(q,1),I,6,15,[1,3,5,7]),B(d(q,1),I,6,15,[0,2,4,6]),B(d(q,1),I,6,15,[1]),B(d(q,1),I,6,15,[2]),null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[2])]),F4=B(d(q,2),w8,10,0,[null,B(d(q,1),I,6,15,[1]),null,B(d(q,1),I,6,15,[1]),B(d(q,1),I,6,15,[2]),null,null,B(d(q,1),I,6,15,[-3]),B(d(q,1),I,6,15,[-2]),B(d(q,1),I,6,15,[-1]),null,B(d(q,1),I,6,15,[1]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[3]),null,B(d(q,1),I,6,15,[-3]),B(d(q,1),I,6,15,[-2]),B(d(q,1),I,6,15,[-1]),null,B(d(q,1),I,6,15,[1]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[2,3,4]),B(d(q,1),I,6,15,[2,3,4,5]),B(d(q,1),I,6,15,[2,3,6]),B(d(q,1),I,6,15,[2,3,4,7]),B(d(q,1),I,6,15,[2,3]),B(d(q,1),I,6,15,[2,3]),B(d(q,1),I,6,15,[2,3]),B(d(q,1),I,6,15,[1,2]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[2,4]),B(d(q,1),I,6,15,[-3,3,5]),B(d(q,1),I,6,15,[-2]),B(d(q,1),I,6,15,[-1]),null,B(d(q,1),I,6,15,[1]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[4]),B(d(q,1),I,6,15,[3,5]),B(d(q,1),I,6,15,[6]),B(d(q,1),I,6,15,[4,6,7]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[2,4]),B(d(q,1),I,6,15,[1]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[2,4]),B(d(q,1),I,6,15,[-3,3,5]),B(d(q,1),I,6,15,[-2,4,6]),B(d(q,1),I,6,15,[-1]),null,B(d(q,1),I,6,15,[1]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[3,4]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[2,3]),B(d(q,1),I,6,15,[2,3]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[2,3]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[4]),B(d(q,1),I,6,15,[5]),B(d(q,1),I,6,15,[6]),B(d(q,1),I,6,15,[4,6,7]),B(d(q,1),I,6,15,[3,4]),B(d(q,1),I,6,15,[3,4]),B(d(q,1),I,6,15,[2,4]),B(d(q,1),I,6,15,[1,3]),B(d(q,1),I,6,15,[1,2]),B(d(q,1),I,6,15,[1,3]),B(d(q,1),I,6,15,[2,4]),B(d(q,1),I,6,15,[3,5]),B(d(q,1),I,6,15,[-2,2,4]),B(d(q,1),I,6,15,[-1,1]),null,B(d(q,1),I,6,15,[1]),B(d(q,1),I,6,15,[2]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[4]),B(d(q,1),I,6,15,[4,5]),B(d(q,1),I,6,15,[3,4,5,6]),B(d(q,1),I,6,15,[3,4,5,6]),B(d(q,1),I,6,15,[3,4,5,6]),B(d(q,1),I,6,15,[3,4,5,6]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[3,4]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[3]),B(d(q,1),I,6,15,[2,3]),B(d(q,1),I,6,15,[2,3]),B(d(q,1),I,6,15,[3])]);}function zQ(t,e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a,E,X,tt,W,$,et,lt,st,ct,Pt,Tt,Kt,Ct,$t,Ut,Ht,Qt,Nt;if(t.K||t.yb(e,Ci(t.L,e),Z1(t.R,kt(t.L,e)),X1(t.R,jt(t.L,e))),st=null,p1(t.L,e)!=0&&($t=w.Math.abs(p1(t.L,e))==1?"":""+w.Math.abs(p1(t.L,e)),st=p1(t.L,e)<0?$t+"-":$t+"+"),E=null,ct=o0(t.L,e),G(ct,0)!=0&&(gt(V(ct,KQ),0)&&(E=E==null?"*":E+",*"),gt(V(ct,XQ),0)&&(E=E==null?"!*":E+",!*"),gt(V(ct,ZQ),0)?E=E==null?"ha":E+",ha":gt(V(ct,2),0)?E=E==null?"a":E+",a":gt(V(ct,4),0)&&(E=E==null?"!a":E+",!a"),gt(V(ct,C0),0)&&(E=E==null?"s":E+",s"),gt(V(ct,rP),0)&&(j=V(ct,rP),G(j,1792)==0?E=E==null?"h0":E+",h0":G(j,1664)==0?E=E==null?"h1":E+",h1":G(j,1408)==0?E=E==null?"h2":E+",h2":G(j,128)==0?E=E==null?"h>0":E+",h>0":G(j,384)==0?E=E==null?"h>1":E+",h>1":G(j,896)==0?E=E==null?"h>2":E+",h>2":G(j,re)==0?E=E==null?"h<3":E+",h<3":G(j,1536)==0?E=E==null?"h<2":E+",h<2":G(j,1152)==0&&(E=E==null?"h1-2":E+",h1-2")),gt(V(ct,i9),0)&&(D=V(ct,i9),G(D,WQ)==0?E=E==null?"c0":E+",c0":G(D,Cf)==0?E=E==null?"c+":E+",c+":G(D,Mf)==0&&(E=E==null?"c-":E+",c-")),gt(V(ct,Li),0)&&(lt=V(ct,Li),G(lt,98304)==0?E=E==null?"pi0":E+",pi0":G(lt,81920)==0?E=E==null?"pi1":E+",pi1":G(lt,49152)==0?E=E==null?"pi2":E+",pi2":G(lt,Sn)==0&&(E=E==null?"pi>0":E+",pi>0")),gt(V(ct,si),0)&&(et=V(ct,si),G(et,_Q)==0?E=E==null?"n1":E+",n1":G(et,d2)==0?E=E==null?"n2":E+",n2":G(et,B2)==0?E=E==null?"n3":E+",n3":G(et,$Q)==0?E=E==null?"n<3":E+",n<3":G(et,qA)==0?E=E==null?"n<4":E+",n<4":G(et,yi)==0?E=E==null?"n>1":E+",n>1":G(et,SP)==0?E=E==null?"n>2":E+",n>2":G(et,Hf)==0?E=E==null?"n>3":E+",n>3":G(et,3276800)==0?E=E==null?"n1-2":E+",n1-2":G(et,2228224)==0?E=E==null?"n1-3":E+",n1-3":G(et,2490368)==0&&(E=E==null?"n2-3":E+",n2-3")),gt(V(ct,Vf),0)&&(l=V(ct,Vf),G(l,uy)==0?E=E==null?"e0":E+",e0":G(l,Qy)==0?E=E==null?"e1":E+",e1":G(l,Uy)==0?E=E==null?"e2":E+",e2":G(l,oy)==0?E=E==null?"e3":E+",e3":G(l,T6)==0?E=E==null?"e<2":E+",e<2":G(l,h6)==0?E=E==null?"e<3":E+",e<3":G(l,aQ)==0?E=E==null?"e<4":E+",e<4":G(l,v2)==0?E=E==null?"e>0":E+",e>0":G(l,Ly)==0?E=E==null?"e>1":E+",e>1":G(l,sy)==0?E=E==null?"e>2":E+",e>2":G(l,tU)==0?E=E==null?"e>3":E+",e>3":G(l,c6)==0?E=E==null?"e1-2":E+",e1-2":G(l,w6)==0?E=E==null?"e1-3":E+",e1-3":G(l,g6)==0&&(E=E==null?"e2-3":E+",e2-3")),gt(V(ct,120),0)&&(Pt=V(ct,120),G(Pt,112)==0?E=E==null?"!r":E+",!r":G(Pt,8)==0?E=E==null?"r":E+",r":G(Pt,96)==0?E=E==null?"rb<3":E+",rb<3":G(Pt,104)==0?E=E==null?"rb2":E+",rb2":G(Pt,88)==0?E=E==null?"rb3":E+",rb3":G(Pt,56)==0&&(E=E==null?"rb4":E+",rb4")),gt(V(ct,f9),0)&&(E=E==null?"r"+Te(q0(V(ct,f9),22)):E+","+("r"+Te(q0(V(ct,f9),22)))),gt(V(ct,rr),0)&&(E=zo(E,jZ(ct))),gt(V(ct,F2),0)&&(E=E==null?"ox"+Te(l0(q0(V(ct,F2),47),7)):E+","+("ox"+Te(l0(q0(V(ct,F2),47),7)))),gt(V(ct,Ur),0)&&(E=E==null?"f":E+",f")),ye(t.L,e)!=0&&(E=zo(E,""+ye(t.L,e))),Ct=0,FA(t.L,e)!=0)switch(FA(t.L,e)){case 16:st=st==null?"|":st+",|";break;case 32:Ct=1;break;case 48:Ct=2;}if(L=null,(t.G&64)==0){if(Fr(t.L,e))L="?";else if(jo(t.L,e)!=0&&(Ae(t.L,e)==0||A==null||A[Ae(t.L,e)][VA(t.L,e)]>1))if(O(t.L,e)==2)switch(jo(t.L,e)){case 2:L=Ei(t.L,e)?"p":"P";break;case 1:L=Ei(t.L,e)?"m":"M";break;default:L="*";}else switch(jo(t.L,e)){case 1:L=Ei(t.L,e)?"r":"R";break;case 2:L=Ei(t.L,e)?"s":"S";break;default:L="*";}}if((t.G&768)!=0&&(L=zo(L,""+R0(t.L,e))),W=null,(t.G&16)!=0&&C1(t.L,e)!=0&&(W=""+C1(t.L,e)),c=null,pQ(t.L,e)!=-1&&(T=Hh(t,e),T!=-1&&(c=T==0?"abs":((T&255)==1?"&":"or")+(1+(T>>8)))),C=0,(t.G&ge)==0&&(t.L.K?gt(V(o0(t.L,e),I1),0)&&(C=xt(t.L,e)):(K(t.L,e)!=6||ye(t.L,e)!=0||!t.q[e]||FA(t.L,e)!=0)&&(C=xt(t.L,e))),a=false,x=false,r=(t.G&Q0)!=0?null:_n(t.L,e),r!=null&&r.startsWith("]")&&(a=E==null,x=true,E=zo((Xt(1,r.length+1),r.substr(1)),E),r=null),r!=null?C=0:MA(t.L,e)!=null?(P=gt(V(o0(t.L,e),1),0)?"[!":"[",r=P+Yh(t.L,e)+"]",r.length>5&&(r=P+MA(t.L,e).length+"]"),gt(V(o0(t.L,e),I1),0)&&(C=-1)):gt(V(o0(t.L,e),1),0)?(r="?",gt(V(o0(t.L,e),I1),0)&&(C=-1)):(K(t.L,e)!=6||st!=null||E!=null&&(!a||(t.G&s8)==0)||C>0||!t.q[e])&&(r=Ci(t.L,e)),tt=0,!r0(t.L,e)&Qe(t.L,e)&&W1(t,-8),r!=null?(tt=t.vb(r),HP(t,Z1(t.R,kt(t.L,e)),X1(t.R,jt(t.L,e)),r,true),t.s[e]=true):_G(t,e)&&HG(t,Z1(t.R,kt(t.L,e)),X1(t.R,jt(t.L,e)),e),st!=null&&(t.Cb((t.X*2+1)/3|0),Ut=Z1(t.R,kt(t.L,e))+((tt+t.vb(st))/2+1),Qt=X1(t.R,jt(t.L,e))-((t.wb()*4-4)/8|0),HP(t,Ut,Qt,st,true),t.Cb(t.X)),(t.G&2)!=0&&(E=""+e),E!=null&&(x?t.Cb((t.X*5+1)/6|0):t.Cb((t.X*2+1)/3|0),Ut=Z1(t.R,kt(t.L,e))-(tt+t.vb(E))/2,Qt=X1(t.R,jt(t.L,e))-((t.wb()*4-4)/8|0),HP(t,Ut,Qt,E,true),t.Cb(t.X)),L!=null&&(t.Cb((t.X*2+1)/3|0),Ut=Z1(t.R,kt(t.L,e))-(tt+t.vb(L))/2,Qt=X1(t.R,jt(t.L,e))+((t.wb()*4+4)/8|0),Kt=t.C,t.L.O!=1&&(t.G&C0)==0&&W1(t,448),HP(t,Ut,Qt,L,false),W1(t,Kt),t.Cb(t.X)),W!=null&&(t.Cb((t.X*2+1)/3|0),Ut=Z1(t.R,kt(t.L,e))+((tt+t.vb(W))/2+1),Qt=X1(t.R,jt(t.L,e))+((t.wb()*4+4)/8|0),Kt=t.C,W1(t,Bn(t.L,e)?384:448),HP(t,Ut,Qt,W,true),W1(t,Kt),t.Cb(t.X)),c!=null&&(n=aK(t,e),t.Cb((t.X*2+1)/3|0),Ut=Z1(t.R,kt(t.L,e))+.7*t.wb()*w.Math.sin(n),Qt=X1(t.R,jt(t.L,e))+.7*t.wb()*w.Math.cos(n),Kt=t.C,!t.K&&t.L.O!=1&&W1(t,Xh(t,e)),HP(t,Ut,Qt,c,false),W1(t,Kt),t.Cb(t.X)),C==0&&Ct==0){t.C==-8&&W1(t,-9);return;}for(R=h(yt,wt,6,4,15,1),p=0;p<De(t.L,e);p++)for(f=Ot(t.L,e,p),X=0;X<2;X++)z(t.L,X,f)==e&&(Tt=Y0(t.L,z(t.L,X,f),z(t.L,1-X,f)),Tt<eU?(R[0]-=Tt+bA,R[3]+=Tt+Q1):Tt<0?(R[2]+=Tt+bA,R[3]-=Tt):Tt<bA?(R[1]+=Tt,R[2]+=bA-Tt):(R[0]+=Tt-bA,R[1]+=Q1-Tt));if(O(t.L,e)==0?tA(t.L,e)?R[3]-=.2:R[1]-=.2:R[1]-=.1,(st!=null||W!=null)&&(R[1]+=10),(E!=null||L!=null)&&(R[3]+=10),m="",C!=0&&(b=t.vb("H"),v=0,g=t.wb(),C==-1?(m="n",t.Cb((t.X*2+1)/3|0),v=t.vb(m)):C>1&&(m=""+C,t.Cb((t.X*2+1)/3|0),v=t.vb(m)),R[1]<.6||R[3]<.6?(U=X1(t.R,jt(t.L,e)),R[1]<=R[3]?(R[1]+=10,Q=Z1(t.R,kt(t.L,e))+(tt+b)/2):(R[3]+=10,Q=Z1(t.R,kt(t.L,e))-(tt+b)/2-v)):(Q=Z1(t.R,kt(t.L,e)),R[0]<R[2]?(R[0]+=10,U=X1(t.R,jt(t.L,e))-g):(R[2]+=10,U=X1(t.R,jt(t.L,e))+g)),v>0&&(Ut=Q+(b+v)/2,Qt=U+((t.wb()*4+4)/8|0),HP(t,Ut,Qt,m,true),t.Cb(t.X)),HP(t,Q,U,"H",true)),i=0,Ct!=0){for($=50,s=0,S=0;S<4;S++)y=S>1?S-2:S+2,R[S]<$?(i=S,$=R[S],s=R[y]):R[S]==$&&R[y]>s&&(i=S,s=R[y]);switch(i){case 0:Q=Z1(t.R,kt(t.L,e)),U=X1(t.R,jt(t.L,e))-t.V-tt/2;break;case 1:Q=Z1(t.R,kt(t.L,e))+t.V+tt/2,U=X1(t.R,jt(t.L,e));break;case 2:Q=Z1(t.R,kt(t.L,e)),U=X1(t.R,jt(t.L,e))+t.V+tt/2;break;default:Q=Z1(t.R,kt(t.L,e))-t.V-tt/2,U=X1(t.R,jt(t.L,e));}if(Ct==1)mt(t.$,new QA(Q-t.V,U-t.V,2*t.V,2*t.V)),t.K||mt(t.U,new bu(Q,U,UQ(t,e)?-3:t.p[e]));else {switch(i){case 2:case 0:Ht=2*t.V,Nt=0,Q-=t.V;break;case 1:Ht=0,Nt=2*t.V,U-=t.V;break;default:Ht=0,Nt=2*t.V,U-=t.V;}mt(t.$,new QA(Q-t.V,U-t.V,2*t.V,2*t.V)),t.K||mt(t.U,new bu(Q,U,UQ(t,e)?-3:t.p[e])),mt(t.$,new QA(Q+Ht-t.V,U+Nt-t.V,2*t.V,2*t.V)),t.K||mt(t.U,new bu(Q+Ht,U+Nt,UQ(t,e)?-3:t.p[e]));}}t.C==-8&&W1(t,-9);}function u6(t,e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a,E,X,tt,W,$,et,lt,st,ct,Pt,Tt,Kt,Ct,$t,Ut,Ht,Qt,Nt,b1,e1,Rt,Lt,j1,St,g1,y0,F1,s1,T0,G0,OA,b0,d1,fe,Ke,gA,T9,F8,QP,UP,tn,h9,xn,en,lr,_f,ht,P1,m8,$f,af,tD;if(e<t.f&&i0(t.p,e)){if(of(t,e,5)){if(T=new wL(t.q),m=new wL(t.q),l=false,x=false,a=false,t.C[e]==6||t.C[e]==7){for(C=0;C<t.e[e];C++)if(ht=t.i[e][C],!!of(t,ht,5))for(ws(t,e,ht)&&(t.C[ht]==8||t.C[ht]==16||t.C[ht]==7&&t.e[ht]+xt(t,ht)==3&&!e2(t,ht))&&mt(T,k1(ht)),T0=0;T0<t.e[ht];T0++)P1=t.i[ht][T0],P1!=e&&of(t,P1,5)&&ws(t,e,P1)&&(t.C[P1]==8||t.C[P1]==16||t.C[P1]==7&&t.e[P1]+xt(t,P1)==3&&!e2(t,P1))&&mt(m,k1(P1));for(y=new Wt(T);y.a<y.c.a.length;)if(s=t1(y).a,t.C[s]==8||t.C[s]==16){x=true;break;}for(g=new Wt(m);g.a<g.c.a.length;)if(c=t1(g).a,t.C[c]==8||t.C[c]==16){a=true;break;}for(j=0;j<T.a.length;j++)for(s1=j;s1<m.a.length;s1++)if(ws(t,(ve(j,T.a.length),T.a[j]).a,(ve(s1,m.a.length),m.a[s1]).a)){l=true;break;}}switch(t.C[e]){case 6:if(m.a.length==0){for(Ke=0,OA=0,d1=0,fe=0,j=0;j<t.e[e];j++)ht=t.i[e][j],t.C[ht]==7&&t.e[ht]+xt(t,ht)==3&&(++Ke,t.s[ht]>0&&!e2(t,ht)&&++OA,of(t,ht,5)&&++d1,of(t,ht,6)&&++fe);if((Ke==2&&d1>0||Ke==3&&d1==2)&&OA>0&&fe==0)return 80;}if(!(T.a.length==0^m.a.length==0)){for(tD=true,af=true,j=0;j<t.e[e];j++)ht=t.i[e][j],(t.C[ht]!=6||!dz(t,ht))&&(tD=false),ws(t,e,ht)&&!(ht<t.f&&i0(t.p,ht))&&(af=false);if(T.a.length==0&&m.a.length==0&&!tD&&af||T.a.length!=0&&T.a.length!=0&&(!l||!x&&!a))return 78;}if(T.a.length!=0&&(m.a.length==0||x))return 63;if(m.a.length!=0&&(T.a.length==0||a))return 64;break;case 7:if(e2(t,e))return 82;if(T.a.length==0&&m.a.length==0)return t.e[e]+xt(t,e)==3?39:76;if(t.e[e]+xt(t,e)==3&&T.a.length==0^m.a.length==0)return 81;if(T.a.length!=0&&(m.a.length==0||x))return 65;if(m.a.length!=0&&(T.a.length==0||a))return 66;if(T.a.length!=0&&m.a.length!=0)return 79;break;case 8:return 59;case 16:return 44;}}if(of(t,e,6))switch(t.C[e]){case 6:return 37;case 7:return e2(t,e)?69:t.e[e]+xt(t,e)==3?58:38;}}switch(t.C[e]){case 3:if(t.j[e]==0)return 92;break;case 6:if(t.e[e]+xt(t,e)==4)return (t.p&&e<t.f?iA(t.p,e):0)==3?22:(t.p&&e<t.f?iA(t.p,e):0)==4?20:1;if(t.e[e]+xt(t,e)==3){for(gA=0,T9=0,QP=0,xn=0,R=0,C=0;C<t.e[e];C++)ht=t.i[e][C],dt(t,D1(t,e,ht))==2&&(R=t.C[ht]),t.e[ht]+xt(t,ht)==1?(t.C[ht]==8&&++QP,t.C[ht]==16&&++xn):t.C[ht]==7&&(t.e[ht]+xt(t,ht)==3?++T9:t.e[ht]+xt(t,ht)==2&&dt(t,D1(t,e,ht))==2&&++gA);return T9>=2&&gA==0&&R==7?57:QP==2||xn==2?41:(t.p&&e<t.f?iA(t.p,e):0)==4&&R==6?30:R==7||R==8||R==15||R==16?3:2;}if(t.e[e]+xt(t,e)==2)return 4;if(t.e[e]+xt(t,e)==1)return 60;break;case 7:for(lr=0,g1=false,S=0;S<t.e[e];S++)if(ht=t.i[e][S],t.C[ht]==8&&t.e[ht]+xt(t,ht)==1&&++lr,G1(t,e)+xt(t,e)>=3&&(t.C[ht]==15||t.C[ht]==16)){for(h9=0,s1=0;s1<t.e[ht];s1++)P1=t.i[ht][s1],t.C[P1]==8&&t.e[P1]+xt(t,P1)==1&&++h9;g1||(g1=h9>=2);}if(t.e[e]+xt(t,e)==4)return e2(t,e)?68:34;if(t.e[e]+xt(t,e)==3){if(G1(t,e)+xt(t,e)>=4){for(b=false,j=0;j<t.e[e];j++)if(ht=t.i[e][j],dt(t,D1(t,e,ht))==2&&(b=t.C[ht]==7||t.C[ht]==6,t.C[ht]==6))for(s1=0;b&&s1<t.e[ht];s1++)P1=t.i[ht][s1],P1!=e&&(b=!(t.C[P1]==7&&t.e[P1]+xt(t,P1)==3));if(lr==1)return 67;if(lr>=2)return 45;if(b)return 54;}if(G1(t,e)+xt(t,e)>=3){for(st=false,lt=false,ct=false,Pt=false,Ut=false,$t=false,A=0,n=0,P=0,r=0,f=0,U=0,j=0;j<t.e[e];j++)if(ht=t.i[e][j],t.C[ht]==6){for(Ut=true,ht<t.f&&i0(t.p,ht)&&(t.p&&ht<t.f?iA(t.p,ht):0)==6&&($t=true),P=0,r=0,f=0,U=0,OA=0,p=0,s1=0;s1<t.e[ht];s1++){if(P1=t.i[ht][s1],v=D1(t,ht,P1),dt(t,v)==2&&(t.C[P1]==8||t.C[P1]==16)&&(st=true),(dt(t,v)==2||v<t.g&&Re(t.p,v)&&(t.C[P1]==6||t.C[P1]==7&&BG(t,P1)==1))&&(A=t.C[P1]),dt(t,v)==3&&(n=t.C[P1]),t.C[P1]==7&&t.e[P1]+xt(t,P1)==3){for(t.s[P1]==1&&++OA,of(t,ht,6)&&++p,Q=0,G0=0;G0<t.e[P1];G0++)m8=t.i[P1][G0],t.C[m8]==8&&++Q;Q<2&&++r;}t.C[P1]==7&&t.e[P1]+xt(t,P1)==2&&(dt(t,v)==2||v<t.g&&Re(t.p,v))&&++P,P1<t.f&&i0(t.p,P1)&&(t.C[P1]==8&&++f,t.C[P1]==16&&++U);}A==7&&(r==2&&P==0&&OA>0&&p==0&&t.e[ht]+xt(t,ht)<4&&(lt=true),r==3&&(ct=true));}else if(t.C[ht]==7){for(i=0,D=0,L=0,s1=0;s1<t.e[ht];s1++)if(P1=t.i[ht][s1],v=D1(t,ht,P1),dt(t,v)==2){if(t.C[P1]==6){for(G0=0;G0<t.e[P1];G0++)m8=t.i[P1][G0],m8!=e&&(t.C[m8]==7?++i:t.C[m8]==8?++D:t.C[m8]==16&&++L);i==0&&D==0&&L==0&&!$t&&(Pt=true);}t.C[P1]==7&&!$t&&(Pt=true);}}if(Ut){if(n==7&&(g1=true),lt)return 55;if(ct)return 56;if(!st&&!g1&&(f==0&&U==0&&$t||A==6||A==7||A==15||n==6))return 40;}if(!g1&&(st||Pt))return 10;}}if(t.e[e]+xt(t,e)==2){if(G1(t,e)+xt(t,e)==4){for($=false,j=0;!$&&j<t.e[e];j++)ht=t.i[e][j],$=dt(t,D1(t,e,ht))==3;return $?61:53;}if(G1(t,e)+xt(t,e)==3){for(Qt=false,W=false,j=0;j<t.e[e];j++)ht=t.i[e][j],dt(t,D1(t,e,ht))==2&&(Qt=t.C[ht]==8&&lr==1,W=t.C[ht]==6||t.C[ht]==7);if(Qt&&!W)return 46;if(W)return 9;}if(G1(t,e)+xt(t,e)>=2){for(Kt=false,j=0;j<t.e[e];j++)if(ht=t.i[e][j],t.C[ht]==16){for(_f=0,s1=0;s1<t.e[ht];s1++)P1=t.i[ht][s1],t.C[P1]==8&&t.e[P1]+xt(t,P1)==1&&++_f;Kt=_f==1;}if(Kt)return 48;if(!g1)return 62;}}if(g1)return 43;if(t.e[e]+xt(t,e)==1){for(Ct=false,et=false,j=0;!Ct&&!et&&j<t.e[e];j++)if(ht=t.i[e][j],Ct=dt(t,D1(t,e,ht))==3,t.C[ht]==7&&t.e[ht]+xt(t,ht)==2)for(s1=0;!et&&s1<t.e[ht];s1++)P1=t.i[ht][s1],et=t.C[P1]==7&&t.e[P1]+xt(t,P1)==2||t.C[P1]==6&&t.e[P1]+xt(t,P1)==3;if(Ct)return 42;if(et)return 47;}return 8;case 8:if(t.e[e]+xt(t,e)==3)return 49;if(t.e[e]+xt(t,e)==2){if(G1(t,e)+xt(t,e)==3)return 51;for(b0=0,j=0;j<t.e[e];j++)ht=t.i[e][j],t.C[ht]==1&&++b0;return b0+xt(t,e)==2?70:6;}if(t.j[e]<=1){for(F8=0,tn=0,en=0,Rt=t.e[e]-t.j[e]+xt(t,e)>0,X=false,E=false,e1=false,Nt=false,Lt=false,Tt=false,Ht=false,F1=false,St=false,y0=false,j1=false,j=0;j<t.e[e]&&!(Rt||X||E||e1||Nt||Lt||Tt||Ht||F1||St||y0||j1);j++){if(ht=t.i[e][j],t.C[ht]==6||t.C[ht]==7||t.C[ht]==16)for(s1=0;s1<t.e[ht];s1++)P1=t.i[ht][s1],t.C[P1]==7&&t.e[P1]+xt(t,P1)==2&&++F8,t.C[P1]==8&&t.e[P1]+xt(t,P1)==1&&++tn,t.C[P1]==16&&t.e[P1]+xt(t,P1)==1&&++en;Rt=t.C[ht]==1,t.C[ht]==6&&(X=tn==2,E=dt(t,D1(t,e,ht))==2,e1=dt(t,D1(t,e,ht))==1&&tn==1),t.C[ht]==7&&(Nt=dt(t,D1(t,e,ht))==2,dt(t,D1(t,e,ht))==1&&tn==1&&(Lt=t.e[ht]+xt(t,ht)==2||G1(t,ht)+xt(t,ht)==3,Tt=G1(t,ht)+xt(t,ht)==4),Ht=tn>=2),t.C[ht]==16&&(F1=en==1,St=dt(t,D1(t,e,ht))==1||dt(t,D1(t,e,ht))==2&&tn+F8>1,y0=dt(t,D1(t,e,ht))==2&&tn+F8==1),j1=t.C[ht]==15||t.C[ht]==17;}if(e1||Lt||Rt)return 35;if(X||Ht||Tt||F1||St||j1)return 32;if(E||Nt||y0)return 7;}break;case 9:if(t.j[e]==1)return 11;if(t.j[e]==0)return 89;break;case 11:if(t.j[e]==0)return 93;break;case 12:if(t.j[e]==0)return 99;break;case 14:return 19;case 15:if(t.e[e]+xt(t,e)==4)return 25;if(t.e[e]+xt(t,e)==3)return 26;if(t.e[e]+xt(t,e)==2)return 75;break;case 16:if(t.e[e]+xt(t,e)==3||t.e[e]+xt(t,e)==4){for(UP=0,en=0,tt=false,j=0;j<t.e[e];j++)ht=t.i[e][j],t.C[ht]==6&&dt(t,D1(t,e,ht))==2&&(tt=true),(t.j[ht]==1&&t.C[ht]==8||t.e[ht]+xt(t,ht)==2&&t.C[ht]==7)&&++UP,t.j[ht]==1&&t.C[ht]==16&&++en;return t.e[e]+xt(t,e)==3&&UP==2&&tt||t.e[e]+xt(t,e)==4?18:UP>0&&en>0||UP==2&&!tt?73:17;}if(t.e[e]+xt(t,e)==2){for(b1=false,j=0;j<t.e[e];j++)ht=t.i[e][j],t.C[ht]==8&&dt(t,D1(t,e,ht))==2&&(b1=true);return b1?74:15;}if(t.e[e]+xt(t,e)==1){for($f=0,tt=false,j=0;j<t.e[e];j++){for(ht=t.i[e][j],s1=0;s1<t.e[ht];s1++)P1=t.i[ht][s1],t.C[P1]==16&&t.e[P1]+xt(t,P1)==1&&++$f;t.C[ht]==6&&dt(t,D1(t,e,ht))==2&&(tt=true);}return tt&&$f!=2?16:72;}break;case 17:if(t.j[e]==4){for(QP=0,j=0;j<t.e[e];j++)ht=t.i[e][j],t.C[ht]==8&&++QP;if(QP==4)return 77;}if(t.j[e]==1)return 12;if(t.j[e]==0)return 90;break;case 19:if(t.j[e]==0)return 94;break;case 20:if(t.j[e]==0)return 96;break;case 26:if(t.j[e]==0){if(t.s[e]==2)return 87;if(t.s[e]==3)return 88;}break;case 29:if(t.j[e]==0){if(t.s[e]==1)return 97;if(t.s[e]==2)return 98;}break;case 30:if(t.j[e]==0)return 95;break;case 35:if(t.j[e]==1)return 13;if(t.j[e]==0)return 91;break;case 53:if(t.j[e]==1)return 14;}return 0;}function Q6(){Q6=B1,Ul=B(d(NA,1),a0,6,14,[524290,524292,524297,524301,589826,589827,589828,589829,589832,589833,589837,589838,688130,688131,688132,688137,688141,819202,819203,819204,819205,819208,819209,1114114,1114115,1114116,1114120,1212420,1343492,1343496,1638402,1638403,17367042,17367043,17367044,17367045,17367048,17367049,17367053,17367054,17465346,1074266116,1208483842,1208483844,1208549378,1208549379,1208549380,1208549384,1208549388,1409810434,1409875970,1409875971,1409875972,1409875976,1409974274,1409974280,1409974284,1678311426,1678311427,1678311428,1678311432,1678311436,1678409730,1678409731,1678409732,1678540802,1678540803,1678540804,1678540808,2282291202,2282291203,2282389506,2282389507,2282520578,2282520579,2483617794,2483617795,2483716098,2483716099,2752675842,3356033026,3557359618,3557457922,3557588994,34510798850,34510798851,34510798852,34510798856,34712125442,34712125443,34712125444,34712125448,34712223746,34712223747,34712223748,34980560898,34980560899,34980659202,35568287746,35568287747,35568287748,35568287752,35568386050,35568386051,35568386052,35568517122,35568517123,35568517124,35568517128,35568812034,35568812035,35568910338,35568910339,35568910350,35569336322,35585064962,35585064963,35585064964,35585064968,35769548802,35769614338,35769712642,35769843714,35786391554,uM,QM,UM,oM,LM,sM,yM,lM,TM,hM,cM,wM,gM,3437652377603,dM,BM,4674334294019,vM,FM,4674602827778,mM,kM,bM,RM,5086651154435,jM,5086651252739,pM,5086651252744,CM,5086919589896,MM,5086919819266,HM,VM,EM,5636675633154,{l:589826,m:73760,h:4},{l:589827,m:73760,h:4},{l:688130,m:73760,h:4},{l:819202,m:73760,h:4},{l:65538,m:73764,h:4},{l:65539,m:73764,h:4},{l:589826,m:172064,h:4},{l:589827,m:172064,h:4},{l:688130,m:172064,h:4},{l:819202,m:172064,h:4},{l:819203,m:172064,h:4},{l:65538,m:172068,h:4},{l:65539,m:172068,h:4},{l:589826,m:172112,h:4},{l:589827,m:172112,h:4},{l:688130,m:172112,h:4},{l:819202,m:172112,h:4},{l:65538,m:172116,h:4},{l:163842,m:172116,h:4},{l:589826,m:303136,h:4},{l:688130,m:303136,h:4},{l:819202,m:303136,h:4},{l:65538,m:303140,h:4},{l:589826,m:303184,h:4},{l:688130,m:303184,h:4},{l:819202,m:303184,h:4},{l:65538,m:303188,h:4},SM,qM,IM,xM,NM,OM,GM,{l:688130,m:590224,h:4},{l:819202,m:590224,h:4},JM,zM,YM,KM,XM,ZM,WM,_M,{l:688135,m:590416,h:4},$M,{l:1212430,m:590416,h:4},{l:65538,m:598052,h:4},{l:65538,m:598100,h:4},{l:65539,m:598100,h:4},{l:163842,m:598100,h:4},{l:163843,m:598100,h:4},aM,tH,eH,{l:688131,m:598304,h:4},AH,nH,PH,rH,iH,{l:589826,m:688672,h:4},fH,DH,uH,QH,{l:589827,m:590112,h:336},UH,oH,LH,sH,yH,lH,TH,hH,cH,{l:688130,m:819536,h:400},wH,gH,dH,{l:589831,m:590112,h:592},BH,vH,FH,mH,kH,bH,{l:819207,m:819600,h:592},RH,jH,pH,{l:589832,m:1212816,h:592},{l:688136,m:1212816,h:592},CH,MH,HH,VH,EH,{l:589826,m:819488,h:8480},SH,qH,IH,xH,{l:819208,m:1213008,h:8480},NH,OH,{l:688130,m:590160,h:8484},{l:589826,m:598304,h:8484},GH,{l:819202,m:598304,h:8484}]),Kf=B(d(Ee,1),PA,6,15,[-0.1899999976158142,1.2699999809265137,-0.7009999752044678,2.690999984741211,-0.22699999809265137,Yp,.10599999874830246,-0.47600001096725464,-0.44699999690055847,-0.19099999964237213,-0.3330000042915344,.0860000029206276,.24699999392032623,-0.06199999898672104,.01600000075995922,.3869999945163727,.23499999940395355,-0.4320000112056732,-0.902999997138977,.38999998569488525,.5809999704360962,4.52400016784668,-0.6349999904632568,-0.2800000011920929,.7699999809265137,-0.05000000074505806,1.0870000123977661,.19200000166893005,.19599999487400055,-0.5199999809265137,.5419999957084656,.3630000054836273,.7919999957084656,.5920000076293945,.9639999866485596,KH,-0.6850000023841858,-0.3149999976158142,-0.4129999876022339,-0.5950000286102295,.2199999988079071,-1.4320000410079956,-2.253999948501587,.4399999976158142,-0.27000001072883606,-0.13300000131130219,-0.26899999380111694,.2669999897480011,.5720000267028809,-0.5680000185966492,.17399999499320984,-0.1850000023841858,-0.23499999940395355,eV,AV,-0.34200000762939453,-0.3479999899864197,-0.43700000643730164,-0.8040000200271606,-0.41200000047683716,-0.2150000035762787,-0.625,-0.8309999704360962,.4970000088214874,-0.4309999942779541,-1.3309999704360962,.5070000290870667,-0.6320000290870667,-0.5989999771118164,-0.15600000321865082,-0.3529999852180481,-0.164000004529953,-0.4410000145435333,-0.4970000088214874,-1.059999942779541,.11500000208616257,-0.22499999403953552,-0.15399999916553497,-0.03099999949336052,-1.5740000009536743,-1.093000054359436,_H,-0.44999998807907104,-0.5559999942779541,AV,2.384000062942505,1.75,-1.6660000085830688,-1.065999984741211,1.3270000219345093,.8029999732971191,-1.5049999952316284,-2.5369999408721924,eV,.14900000393390656,.5210000276565552,2.9049999713897705,-0.25200000405311584,.8600000143051147,.3610000014305115,.40299999713897705,.004999999888241291,1.1460000276565552,.9359999895095825,-0.30000001192092896,.20900000631809235,-0.5830000042915344,-0.024000000208616257,-0.009999999776482582,.6110000014305115,.4860000014305115,.8619999885559082,-0.03500000014901161,-0.5960000157356262,1.1610000133514404,1.6469999551773071,.843999981880188,.125,.1420000046491623,-0.17100000381469727,.44200000166893005,.08799999952316284,3.065999984741211,1.6519999504089355,nV,-0.017999999225139618,.023000000044703484,.0729999989271164,.2540000081062317,.5540000200271606,.5950000286102295,-0.4059999883174896,-0.6370000243186951,-0.17399999499320984,-0.10100000351667404,-0.5429999828338623,-2.4059998989105225,-3.2920000553131104,-0.05299999937415123,-0.19300000369548798,$6,-1.2610000371932983,-0.656000018119812,-0.7300000190734863,-0.9380000233650208,.12800000607967377,1.1540000438690186,.24199999868869781,-0.5289999842643738,-0.27799999713897705,-0.8019999861717224,.9120000004768372,-1.38100004196167,.46299999952316284,1.0740000009536743,-0.628000020980835,-0.9620000123977661,-1.8320000171661377,-1.4989999532699585,-2.115999937057495,-2.2070000171661377,-1.3170000314712524,2.500999927520752,-0.8489999771118164,ZH,-0.621999979019165,2.121999979019165,-2.2260000705718994,.9129999876022339,-2.259000062942505,-1.25,1.3940000534057617,-1.4019999504089355,2.072999954223633,-2.9570000171661377,.29100000858306885,-3.4760000705718994,-2.7269999980926514,-3.131999969482422,-2.119999885559082,-0.7250000238418579,-0.296999990940094,.08299999684095383,.34700000286102295,-1.4249999523162842,-1.659999966621399,-1.281999945640564,-1.2649999856948853,.718999981880188,.1379999965429306,1.3020000457763672,.859000027179718,1.3589999675750732,.6589999794960022,-0.9399999976158142,.8999999761581421,.3190000057220459,-2.571000099182129,1.1089999675750732,.972000002861023,1.652999997138977,2.6019999980926514,.7289999723434448,1.065999984741211,1.0670000314712524,-0.3109999895095825,.03099999949336052,nV,-0.6809999942779541,-1.2580000162124634,wC,-3.0959999561309814,-0.2280000001192093,1.9329999685287476,.11900000274181366,2.1080000400543213,.11299999803304672,1.628000020980835,1.3079999685287476,3.3359999656677246,.7540000081062317,-0.4650000035762787,-0.3970000147819519,.07699999958276749,-0.4790000021457672,-0.15299999713897705,.14100000262260437,2.134999990463257,.23399999737739563,.460999995470047,.6700000166893005,-0.3610000014305115,-1.0390000343322754,-0.4830000102519989,.13699999451637268,-0.7680000066757202,-0.5109999775886536,3.4240000247955322,-0.8550000190734863,-0.5849999785423279,-1.5670000314712524,3.3429999351501465,1.840000033378601,.3889999985694885,1.121999979019165,a6,1.3350000381469727,.3659999966621399,-0.5569999814033508,.4320000112056732,.20399999618530273,.8820000290870667,.4659999907016754,-0.4580000042915344,.40400001406669617,.6570000052452087,1.1150000095367432,1.9759999513626099,1.7860000133514404,-0.035999998450279236,-1.0499999523162842,1.0449999570846558,.04399999976158142,1.0329999923706055,-1.0800000429153442,2.5390000343322754,2.234999895095825,K6,3.121000051498413,3.931999921798706,2.75]);}function gp(t,e,A,n,P){var r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x,a,E,X,tt,W,$,et,lt,st,ct,Pt,Tt,Kt,Ct,$t,Ut,Ht,Qt,Nt,b1,e1,Rt,Lt,j1,St,g1,y0,F1,s1,T0,G0,OA,b0,d1,fe,Ke,gA,T9,F8,QP,UP,tn,h9,xn,en,lr,_f,ht,P1,m8,$f,af,tD,lc,Tc,hc,cc,wc,gc,dc,Bc,kl,bl,vc,Fc,mc,kc,bc,Rc,An,jc,pc,Cc,Mc,Hc,Vc,Ec,Sc,qc,Ic,xc,NP,Nc,k8,O2,G2,ZE,Rl,WE,_E,$E,aE,r1,Oc,tS,eS,AS,Tr,nS,OP,J2,jl,xU,PS,oP,pl,rS,NU,iS,OU,fS,GU;if(SL(e),e.d=null,!(A==null||0>=A.length)){if(t.g=e,pl=8,n!=null&&(P<0||P>=n.length)&&(n=null),$o(t,A,0),f=nt(t,4),C=nt(t,4),f>8&&(pl=f,f=C),f==0){je(t.g,nt(t,1)==1);return;}for(D=nt(t,f),Q=nt(t,C),aE=nt(t,f),AS=nt(t,f),tS=nt(t,f),st=nt(t,f),y=0;y<D;y++)W9(t.g,6);for(Ke=0;Ke<aE;Ke++)K0(t.g,nt(t,f),7);for(gA=0;gA<AS;gA++)K0(t.g,nt(t,f),8);for(ht=0;ht<tS;ht++)K0(t.g,nt(t,f),nt(t,8));for(gc=0;gc<st;gc++)E0(t.g,nt(t,f),nt(t,4)-8);for(ct=1+Q-D,Qt=nt(t,4),j=0,Be(t.g,0,0),Ie(t.g,0,0),hP(t.g,0,0),Nt=n!=null&&n[P]>=39,oP=0,NU=0,OU=0,GU=0,Ct=false,$t=false,Nt&&(n.length>2*D-2&&n[2*D-2]==39||n.length>3*D-3&&n[3*D-3]==39?($t=true,Ct=n.length==3*D-3+9,NP=Ct?3*D-3:2*D-2,b=86*(n[NP+1]-40)+n[NP+2]-40,oP=w.Math.pow(10,b/2e3-1),NP+=2,rS=86*(n[NP+1]-40)+n[NP+2]-40,NU=w.Math.pow(10,rS/1500-1),NP+=2,iS=86*(n[NP+1]-40)+n[NP+2]-40,OU=w.Math.pow(10,iS/1500-1),Ct&&(NP+=2,fS=86*(n[NP+1]-40)+n[NP+2]-40,GU=w.Math.pow(10,fS/1500-1))):Ct=n.length==3*D-3),t._b()&&Ct&&(n=null,Nt=false),An=1;An<D;An++){if(Rt=nt(t,Qt),Rt==0){Nt&&(Be(t.g,An,t.g.J[0].a+8*(n[An*2-2]-83)),Ie(t.g,An,t.g.J[0].b+8*(n[An*2-1]-83)),Ct&&hP(t.g,An,t.g.J[0].c+8*(n[2*D-3+An]-83))),++ct;continue;}j+=Rt-1,Nt&&(Be(t.g,An,kt(t.g,j)+n[An*2-2]-83),Ie(t.g,An,jt(t.g,j)+n[An*2-1]-83),Ct&&hP(t.g,An,vA(t.g,j)+(n[2*D-3+An]-83))),O0(t.g,j,An,1);}for(Ec=0;Ec<ct;Ec++)O0(t.g,nt(t,f),nt(t,f),1);for(Nc=h(rt,ft,6,Q,16,1),X=0;X<Q;X++)switch(tt=nt(t,2),tt){case 0:Nc[X]=true;break;case 2:w0(t.g,X,2);break;case 3:w0(t.g,X,4);}for(i=nt(t,f),Sc=0;Sc<i;Sc++)if(s=nt(t,f),pl==8)Tr=nt(t,2),Tr==3?(He(t.g,s,1,0),ce(t.g,s,1,false)):ce(t.g,s,Tr,false);else switch(Tr=nt(t,3),Tr){case 4:ce(t.g,s,1,false),He(t.g,s,1,nt(t,3));break;case 5:ce(t.g,s,2,false),He(t.g,s,1,nt(t,3));break;case 6:ce(t.g,s,1,false),He(t.g,s,2,nt(t,3));break;case 7:ce(t.g,s,2,false),He(t.g,s,2,nt(t,3));break;default:ce(t.g,s,Tr,false);}for(pl==8&&nt(t,1)==0&&(t.g.L=true),r=nt(t,C),qc=0;qc<r;qc++)if(p=nt(t,C),l1(t.g,p)==1)switch(Tr=nt(t,3),Tr){case 4:A8(t.g,p,1,false),U8(t.g,p,1,nt(t,3));break;case 5:A8(t.g,p,2,false),U8(t.g,p,1,nt(t,3));break;case 6:A8(t.g,p,1,false),U8(t.g,p,2,nt(t,3));break;case 7:A8(t.g,p,2,false),U8(t.g,p,2,nt(t,3));break;default:A8(t.g,p,Tr,false);}else A8(t.g,p,nt(t,2),false);for(je(t.g,nt(t,1)==1),L=null,xU=null,Oc=0;nt(t,1)==1;)switch(Ht=Oc+nt(t,4),Ht){case 0:for(r1=nt(t,f),Ic=0;Ic<r1;Ic++)s=nt(t,f),T1(t.g,s,I1,true);break;case 1:for(r1=nt(t,f),xc=0;xc<r1;xc++)s=nt(t,f),WE=nt(t,8),jr(t.g,s,WE);break;case 2:for(r1=nt(t,C),T9=0;T9<r1;T9++)nt(t,C);break;case 3:for(r1=nt(t,f),F8=0;F8<r1;F8++)s=nt(t,f),T1(t.g,s,C0,true);break;case 4:for(r1=nt(t,f),QP=0;QP<r1;QP++)s=nt(t,f),jl=M1(nt(t,4),3),T1(t.g,s,jl,true);break;case 5:for(r1=nt(t,f),UP=0;UP<r1;UP++)s=nt(t,f),U=M1(nt(t,2),1),T1(t.g,s,U,true);break;case 6:for(r1=nt(t,f),tn=0;tn<r1;tn++)s=nt(t,f),T1(t.g,s,1,true);break;case 7:for(r1=nt(t,f),h9=0;h9<r1;h9++)s=nt(t,f),b0=M1(nt(t,4),7),T1(t.g,s,b0,true);break;case 8:for(r1=nt(t,f),xn=0;xn<r1;xn++){for(s=nt(t,f),m=nt(t,4),c=h(F,k,6,m,15,1),k8=0;k8<m;k8++)g=nt(t,8),c[k8]=g;sh(t.g,s,c);}break;case 9:for(r1=nt(t,C),en=0;en<r1;en++)p=nt(t,C),jl=nt(t,2)<<7,Ge(t.g,p,jl,true);break;case 10:for(r1=nt(t,C),lr=0;lr<r1;lr++)p=nt(t,C),$=nt(t,5),Ge(t.g,p,$,true);break;case 11:for(r1=nt(t,f),_f=0;_f<r1;_f++)s=nt(t,f),T1(t.g,s,ge,true);break;case 12:for(r1=nt(t,C),P1=0;P1<r1;P1++)p=nt(t,C),et=nt(t,8)<<9,Ge(t.g,p,et,true);break;case 13:for(r1=nt(t,f),m8=0;m8<r1;m8++)s=nt(t,f),nS=M1(nt(t,3),14),T1(t.g,s,nS,true);break;case 14:for(r1=nt(t,f),$f=0;$f<r1;$f++)s=nt(t,f),$E=M1(nt(t,5),17),T1(t.g,s,$E,true);break;case 15:case 31:Oc+=16;break;case 16:for(r1=nt(t,f),af=0;af<r1;af++)s=nt(t,f),J2=M1(nt(t,3),22),T1(t.g,s,J2,true);break;case 17:for(r1=nt(t,f),tD=0;tD<r1;tD++)s=nt(t,f),XA(t.g,s,nt(t,4));break;case 18:for(r1=nt(t,f),Rl=nt(t,4),lc=0;lc<r1;lc++){for(s=nt(t,f),Ut=nt(t,Rl),O2=h(q,I,6,Ut,15,1),k8=0;k8<Ut;k8++)O2[k8]=nt(t,7)<<24>>24;u8(t.g,s,rn((G2=O2,c0(),G2)));}break;case 19:for(r1=nt(t,f),Tc=0;Tc<r1;Tc++)s=nt(t,f),lt=M1(nt(t,3),25),T1(t.g,s,lt,true);break;case 20:for(r1=nt(t,C),hc=0;hc<r1;hc++)p=nt(t,C),J2=nt(t,3)<<17,Ge(t.g,p,J2,true);break;case 21:for(r1=nt(t,f),cc=0;cc<r1;cc++)s=nt(t,f),Ne(t.g,s,nt(t,2)<<4);break;case 22:for(r1=nt(t,f),wc=0;wc<r1;wc++)s=nt(t,f),T1(t.g,s,Ur,true);break;case 23:for(r1=nt(t,C),dc=0;dc<r1;dc++)p=nt(t,C),Ge(t.g,p,h8,true);break;case 24:for(r1=nt(t,C),Bc=0;Bc<r1;Bc++)p=nt(t,C),U=nt(t,2)<<21,Ge(t.g,p,U,true);break;case 25:for(kl=0;kl<D;kl++)nt(t,1)==1&&dP(t.g,kl,true);break;case 26:for(r1=nt(t,C),L=h(F,k,6,r1,15,1),bl=0;bl<r1;bl++)L[bl]=nt(t,C);break;case 27:for(r1=nt(t,f),vc=0;vc<r1;vc++)s=nt(t,f),T1(t.g,s,Pe,true);break;case 28:for(r1=nt(t,C),Fc=0;Fc<r1;Fc++)w0(t.g,nt(t,C),16);break;case 29:for(r1=nt(t,f),mc=0;mc<r1;mc++)s=nt(t,f),OA=M1(nt(t,2),30),T1(t.g,s,OA,true);break;case 30:for(r1=nt(t,f),kc=0;kc<r1;kc++)s=nt(t,f),J2=M1(nt(t,7),32),T1(t.g,s,J2,true);break;case 32:for(r1=nt(t,f),bc=0;bc<r1;bc++)s=nt(t,f),PS=M1(nt(t,2),44),T1(t.g,s,PS,true);break;case 33:for(r1=nt(t,f),Rc=0;Rc<r1;Rc++)s=nt(t,f),y0=M1(nt(t,5),39),T1(t.g,s,y0,true);break;case 34:for(r1=nt(t,f),jc=0;jc<r1;jc++)s=nt(t,f),T1(t.g,s,ZQ,true);break;case 35:for(r1=nt(t,C),pc=0;pc<r1;pc++)p=nt(t,C),Ge(t.g,p,Ef,true);break;case 36:for(r1=nt(t,C),Cc=0;Cc<r1;Cc++)p=nt(t,C),W=nt(t,2)<<5,Ge(t.g,p,W,true);break;case 37:for(r1=nt(t,C),Mc=0;Mc<r1;Mc++)p=nt(t,C),W=nt(t,1)==0?32:64,w0(t.g,p,W);break;case 38:for(r1=nt(t,f),Pt=nt(t,3),xU=h(F,k,6,D,15,1),Hc=0;Hc<r1;Hc++)s=nt(t,f),Tt=nt(t,Pt),xU[s]=Tt;break;case 39:for(r1=nt(t,f),Vc=0;Vc<r1;Vc++)s=nt(t,f),eS=M1(nt(t,4),47),T1(t.g,s,eS,true);break;case 40:for(r1=nt(t,f),Rl=nt(t,6),_E=nt(t,16),fe=0;fe<r1;fe++){for(s=nt(t,f),Ut=nt(t,Rl),O2=new V0(),k8=0;k8<Ut;k8++)Oe(O2,nt(t,_E)&w1);u8(t.g,s,O2.a);}}if(Ff(new cr(t.g),Nc,false),L!=null)for(x=L,a=0,E=x.length;a<E;++a)p=x[a],w0(t.g,p,l1(t.g,p)==2?4:2);if(n==null&&!t.i&&A.length>t.e+1&&(A[t.e+1]==32||A[t.e+1]==9)&&(n=A,P=t.e+2),n!=null)try{if(n[P]==33||n[P]==35){for($o(t,n,P+1),Ct=nt(t,1)==1,$t=nt(t,1)==1,OP=2*nt(t,4),S=1<<OP,T0=0,p=0,l=1;l<D;l++)p<Q&&z(t.g,1,p)==l?(T0=z(t.g,0,p++),s1=1):(T0=0,s1=8),b1=s1*(nt(t,OP)+1-(S>>1)),e1=s1*(nt(t,OP)+1-(S>>1)),Be(t.g,l,kt(t.g,T0)+b1),Ie(t.g,l,jt(t.g,T0)+e1),Ct&&hP(t.g,l,vA(t.g,T0)+s1*(nt(t,OP)+1-(S>>1)));if(n[P]==35){for(d1=0,G0=h(F,k,6,D,15,1),T=0;T<D;T++)d1+=G0[T]=xt(t.g,T);for(s=0;s<D;s++)for(fe=0;fe<G0[s];fe++)b0=W9(t.g,1),O0(t.g,s,b0,1),Be(t.g,b0,kt(t.g,s)+(nt(t,OP)+1-(S>>1))),Ie(t.g,b0,jt(t.g,s)+(nt(t,OP)+1-(S>>1))),Ct&&hP(t.g,b0,vA(t.g,s)+(nt(t,OP)+1-(S>>1))),xU!=null&&(xU[s]&1<<fe)!=0&&dP(t.g,b0,!0);D+=d1,Q+=d1;}if(R=Ct?1.5:(Y1(),Y1(),wn),v=wP(t.g,D,Q,R),$t)for(oP=XN(nt(t,OP),S),NU=oP*_T(nt(t,OP),S),OU=oP*_T(nt(t,OP),S),Ct&&(GU=oP*_T(nt(t,OP),S)),s1=oP/v,s=0;s<D;s++)Be(t.g,s,NU+s1*kt(t.g,s)),Ie(t.g,s,OU+s1*jt(t.g,s)),Ct&&hP(t.g,s,GU+s1*vA(t.g,s));else for(oP=1.5,s1=oP/v,s=0;s<D;s++)Be(t.g,s,s1*kt(t.g,s)),Ie(t.g,s,s1*jt(t.g,s)),Ct&&hP(t.g,s,s1*vA(t.g,s));}else if(Ct&&!$t&&oP==0&&(oP=1.5),oP!=0&&t.g.r!=0){for(v=0,p=0;p<t.g.r;p++)Lt=kt(t.g,z(t.g,0,p))-kt(t.g,z(t.g,1,p)),j1=jt(t.g,z(t.g,0,p))-jt(t.g,z(t.g,1,p)),St=Ct?vA(t.g,z(t.g,0,p))-vA(t.g,z(t.g,1,p)):0,v+=w.Math.sqrt(Lt*Lt+j1*j1+St*St);for(v/=t.g.r,F1=oP/v,s=0;s<t.g.q;s++)Be(t.g,s,kt(t.g,s)*F1+NU),Ie(t.g,s,jt(t.g,s)*F1+OU),Ct&&hP(t.g,s,vA(t.g,s)*F1+GU);}}catch(b8){if(b8=t0(b8),Zt(b8,19))g1=b8,Z9(g1,(x1(),gi)),""+g1+rn((ZE=A,c0(),ZE))+rn((G2=n,G2)),n=null,Ct=false;else throw At(b8);}if(Kt=n!=null&&!Ct,iZ(t),Kt||t._b())for(ut(t.g,7),p=0;p<t.g.g;p++)dt(t.g,p)==2&&!WP(t.g,p)&&qe(t.g,p)==0&&n3(t.g,p);if(sD(t.g,0),!Kt&&t._b())try{t.ac(t.g),Kt=!0;}catch(b8){if(b8=t0(b8),Zt(b8,19))g1=b8,Z9(g1,(x1(),gi)),""+g1+rn((G2=A,c0(),G2));else throw At(b8);}Kt?(Lf(t.g),H3(t.g)):Ct||sD(t.g,0);}}function kf(){kf=B1,sr=B(d(it,1),Dt,2,6,["QM@HzAmdqjF@","RF@Q``","qC`@ISTAlQE`","`J@H","QM@HzAmdqbF@","qC`@ISTAlQEhqPp@","sJP@DiZhAmQEb","RF@QPvR@","QM@HzA@","qC`@ISTAlQEhpPp@","qC`@Qz`MbHl","sJP@DiZhAmQEcFZF@","RFPDXH","qC`@IVtAlQE`","QM@HvAmdqfF@","sGP@DiVj`FsDVM@","`L@H","sJP@DizhAmQEcFBF@","sJP@DjvhAmQEb","sFp@DiTt@@AlqEcP","sGP@LdbMU@MfHlZ","QMHAIhD","QM@HzAy@","sJP@DkVhAmQEb","sNp@DiUjj@[\\QXu`","sJP@DiZhAmQEcFBF@","sGP@DjVj`FsDVM@","RFPDTH","RG@DXOH@","sGP@Divj`FsDVMcAC@","sGP@Dj}j`FsDVM@","qC`@Qz`MbHmFRF@","sNp@LdbJjj@[\\QXu`","QMHAIhGe@","QM@HzAyd`","QM`AIhD","qC`@ISTA@","sGP@DkUj`FsDVM@","qC`@IVtAlQEhqPp@","sNp@DiUjj@[\\QXuqea`@","KAx@@IRjuUPAlHPfES\\","QM`BN`P","sJP@DjZhAmQEcFJF@","Hid@@DjU^nBBH@FtaBXUMp`","sNp@Diujj@[\\QXuq`a`@","sJP@DjvhAmQEcFZF@","sJP@DjZhAmQEcFFF@","sOp@DjWkB@@FwDVM\\YhX@","sNp@Dj}Zj@[\\QXu`","sNp@DiWjj@[\\QXuq`a`@","sOp@DjWkB@@D","KAx@@ITouUPAlHPfES\\","KAx@@YIDTjjh@vDHSBin@","sNp@DkUZj@[\\QXu`","RFPDXOH@","QM`BN`^L`","qC`@ISTAy@","sGP@LdbMU@MfHl[FVF@","qCb@AIZ`H","KAx@@IRjuUPAlHPfES]FFa`@","KAx@@ITnuUPAlHPfES\\","HiD@@DiUVjj`AmHPfES\\H","sNp@DjUjj@[\\QXu`","sJP@DkVhAmQEcFJF@","sGP@DjVj`FsDVMcCC@","qC`@Qz`MbHmFBF@","sJP@DkfhAmQEb","qC`@IVtAlQEhsPp@","sGP@Djuj`FsDVM@","sGP@Dj}j`FsDVMcMC@","sJP@DiZhA@","KAx@@ISjuUPAlHPfES]F@a`@","sJP@DjZhAmQEcFRF@","KAx@@IRnuUPAlHPfES]F@a`@","HiD@@DjWvjj`AmHPfES\\H","QMHAIhGd@","sNp@DiUjj@[\\QXuq`a`@","KAx@@IVjmUPAlHPfES\\","sGP@DjVj`FsDVMcMC@","QM`AIhGe@","HiD@@LdbJRjjh@[RDIaTwB","qCp@AIZ`H","sGP@LdbMU@MfHl[FFF@","QMDARVA@","sNp@LdbJjj@[\\QXuqba`@","sNp@LdbJjj@[\\QXuqca`@","sGP@Dkej`FsDVM@","qCb@AIZ`OI@","HaD@@DjUZxHH@AlHPfES]FLa`@","sGP@DkYj`FsDVM@","qCb@AIV`H","sNp@LdbJjj@[\\QXuqea`@","sGP@DkUj`FsDVMcEC@","sFp@DiTt@@Axa@","Hmt@@DjU_ZxHHj@AmhPfES\\Lj","QM`BN`^P","qCb@AIZ`OH`","sFp@DiTt@@AxaP","sGP@Djuj`FsDVMcEC@","sGP@Djuj`FsDVMcIC@","sGP@DkUj`FsDVMcKC@","sJP@DkfhAmQEcFRF@","sGP@DjVj`FsDVMcIC@","HaD@@DjUZxHH@AlHPfES]FFa`@","qC`@IRtDVqDV@","sNp@Dj}Zj@[\\QXuqfa`@","KAx@@ITnuUPAlHPfES]FFa`@","HiD@@DkUUjj`AmHPfES\\H","sJQ@@dkU@H","qC`@Qz`H","KAx@@IUkmUPAlHPfES\\","KAx@@ITouUPAlHPfES]FJa`@","sJP@H~j@[TQX`","sGP@DjZj`FsDVM@","sJP@DkVhAmQEcFFF@","sJX@@eKU@H","sJP@DizhAy@","QMHAIhGbP","KAx@@ITouUPAlHPfES]FNa`@","HaD@@DjUZxHD@AlHPfES\\","HaD@@DjUZxHH@A@","sNp@LdbJjj@[\\QXuqaa`@","Hed@@LdbRQUUUP@vTHSBinFP","KAx@@ITouUPAlHPfES]FLa`@","sNp@DkUZj@[\\QXuqba`@","KAx@@ITjuUPAlHPfES]FNa`@","KAx@@YIDTjjh@vDHSBincGPp@","HaD@@DjYvxH`@AlHPfES]FLa`@","RF@QP`","qCb@AIj`H","sNp@DjUjj@[\\QXuqaa`@","sNp@DkVZj@[\\QXu`","KAx@@YIDUJjh@vDHSBin@","sGP@DkYj`FsDVMcIC@","sGP@DjVj`FsDVMcAC@","sGP@DiVj`D","sJP@DkVhAmQEcFZF@","sNp@LdbLjj@[\\QXu`","QM@HvAmdqbF@","HaD@@DjWjXHB@AlHPfES\\","sNp@DjwZj@[\\QXuqba`@","sNp@LdbJjj@[\\QXuqda`@","sFp@DiTt@@Axa`","HiD@@Djuujj`AmHPfES\\H","sNp@DkUZj@[\\QXuqca`@","sJP@DiZhAy@","KAx@@YIDTjjh@vDHSBincCPp@","KAx@@IWNmUPAlHPfES\\","KAx@@IVkMUPAlHPfES\\","sJQ@@dju@H","qCb@AIZ`OH@","qC`@ISTAxa@","sNp@DjyZj@[\\QXu`","Hid@@DjUfaBB`@FtaBXUMp`","HiD@@DiUVjj`AmHPfES\\LXBF@","KAx@@IUjmUPAlHPfES\\","HiD@@DjWvjj`AmHPfES\\LXjF@","sJP@DjVhAmQEb","qCb@AIV`OH`","HiD@@LdbJRjjh@[RDIaTwCFDa`@","KAx@@YIDTjjh@vDHSBinc@Pp@","sNp@DjUjj@[\\QXuqda`@","qC`@Qz`OED","sJP@DkfhAmQEcFZF@","KAx@@YIDbjjh@vDHSBincDPp@","sGP@Djyj`FsDVMcMC@","KAx@@IVrmUPAlHPfES\\","qCp@AIZ`OI@","sJX@@dkU@H","sJQ@@dkU@OH`","sNp@Di]ZjBBvxbqk@","Hkl@@DjU_Uk``bj`@[VDIaTwCJzX","sGP@DjZj`FsDVMcEC@","Hid@@DjU^nBBH@FtaBXUMpqcHX@","sNp@DkeZj@[\\QXu`","sNp@DjYjj@[\\QXuqca`@","sGQ@@djuT@`","HiD@@LdbJTjjh@[RDIaTwB","sOp@DjWkB@@Gd`","HeT@@LdbbRKBDQD@CYPaLJfxY@","qCr@XIKTA@","HiD@@DjW^jj`AmHPfES\\LXJF@","HeT@@DjU]k``b`@[JDIaTwCH","sGP@Djuj`FsDVMcCC@","`IH`B","sOp@DjWkB@@GdX","sJQ@@eKU@H","KAx@@YIDUJjh@vDHSBincBPp@","sJX@@eKU@OH@","KAx@@YIDTjjh@vDHSBincAPp@","sOq@@drm\\@@@`","KAx@@IUkMUPAlHPfES\\","qCp@AIj`H","Hed@@DjUUjjj@FraBXUMpr","sGX@@eJuT@`","sGP@DkUj`FsDVMcCC@","HiD@@Dj}Ujj`AmHPfES\\LXrF@","KAx@@ITouUPAlHPfES]FHa`@","Hed@@DjWujjj@FraBXUMpsFIa`@","sGP@DiUj``mfHlZ","sFp@DiTvjhAlqEcP","Hid@@DjU^nBBH@FtaBXUMpq`XX@","sJP@DkVdAmQEb","qCp@AIZ`OH`","QMhDRVA@","qC`@ISJAlQE`","qCp@BOTAyhl","sJX@@eOU@ODB","sFp@DiTt@@AyaB","sGP@DkUj`FsDVMcMC@","Hid@@DjYUaBH`@FtaBXUMpqcHX@","qC`@Qz`OH@","HiD@@DjUVjj`AmHPfES\\LXZF@","sJP@H~j@[TQXqda`@","sJX@@eKU@OI@","sNp@Djejj@[\\QXu`","sJQ@@dsU@H","sJQ@@dkU@OI`","KAx@@YIMDVjh@vDHSBin@","Hid@@DjU^nBBD@FtaBXUMp`","sNp@DkgZj@[\\QXuqca`@","qC`@IRtDVqDVcEC@","Hed@@LdbRQeUUP@vTHSBinFP","sNp@DiUjj@P","qC`@IRtDT","sNp@DkYZj@[\\QXuqca`@","KAx@@IUkmUPAlHPfES]FDa`@","KAx@@IVjmUPAlHPfES]FNa`@","sOx@@drm\\@@@`","KAx@@ITjuUPAlHPfES]FBa`@","QMDARVAyH","sJP`@dfvhA@","HeT@@DjU_k``b`@[JDIaTwCLXfF@","KAx@@IToUUPAlHPfES]FJa`@","sGP@DkYj`FsDVMcEC@","qCb@AIZ`ODH","`I@`B","KAx@@IUzmUPAlHPfES]FFa`@","sNp@DkfZj@[\\QXu`","KAx@@ITnuUPAlHPfES]F@a`@","HiD@@LddURjjh@[RDIaTwB","sNp@Dj~Zj@[\\QXuqfa`@","Hed@@Dj{uZjj@FraBXUMpr","KAx@@ITsUUPAlHPfES\\","Hid@@LdbRQk``b@AmHPfES\\LXrF@","sOp@DjWkB@@GdH","sJQ@@dkU@OH@","Hid@@DjU^nBBH@FtaBXUMpqahX@","sGP@DiYj``mfHlZ","KAx@@IToUUPAlHPfES]FLa`@","qCp@AJZ`ODH","Hmt@@DjU]ZxHHj@AmhPfES\\Lj","sGP@DkUjPFsDVM@","qC`@IVtA@","Hed@@LdbJReUUP@vTHSBinFP","sNp@DjuZj@[\\QXuqea`@","KAx@@IUkmUPAlHPfES]FNa`@","HiD@@DkVUjj`AmHPfES\\H","Hed@@DkUeZjj@FraBXUMpr","sNp@DkVZj@[\\QXuqea`@","sJP@DiVhHKZbKFLLL@","HiD@@Djuyjj`AmHPfES\\H","sNp@DjUjj@[\\QXuq`a`@","HeT@@DjYUXPbH`@[JDIaTwCH","HiD@@DjwUjj`AmHPfES\\LXRF@","sNq@@djmUPB","KAx@@YIEEZjh@vDHSBincCPp@","sGP@Di^V`dmfHlZ","Hid@@DjYUaBHP@FtaBXUMp`","sNp@DjYjj@[\\QXuqba`@","sGP@Dkej`FsDVMcKC@","HeT@@DjU^k``b`@[JDIaTwCH","qC`@Qv`MbHmFBF@","sGQ@@djmT@`","qCr@XIKTAyH","qC`@IVtAlQEhpPp@","Hid@@LdbbQxXF@@AmHPfES\\LXjF@","sGP@DkYj`FsDVMcCC@","KAx@@IVsMUPAlHPfES\\","qCp@AIj`ODl","HiD@@DkeUjj`AmHPfES\\H","deT@@DjU[k``b`@vTHSBinFP","sJP@DkVdAmQEcFRF@","HiD@@LdbJTjjh@[RDIaTwCFDa`@","HiD@@DkYyjj`AmHPfES\\H","sJP@DjZhAyH","KAx@@IVkMUPAlHPfES]FDa`@","sJX@@dkU@OI@","Hed@@LdbRQUUUP@vTHSBinFXpLL@","Hed@@DjuUZjj@FraBXUMpr","sGP@Djfj`FsDVMcKC@","sNp@DkVZj@[\\QXuqba`@","sNp@DjyZj@[\\QXuqfa`@","qCb@AIj`OH@","sNp@DjUZj@[\\QXu`","KAx@@IWOMUPAlHPfES\\","Hid@@DjU^nBBH@D","Hed@@DjuvZjj@FraBXUMpr","sJP@DiVhHKZbKFLtL@","dmt@@DjU_ZxHHj@C[PaLJfxYVLKC@","sNp@DjuZj@[\\QXuqca`@","sJP@DkfhAmQEcFJF@","sNp@LdbJZj@[\\QXu`","HeT@@DjU_k``b`@[JDIaTwCLXFF@","KAx@@IVlmUPAlHPfES]FNa`@","HeT@@LdbbRKBDQD@CYPaLJfxYcEPp@","Hid@@DjUZnBBH@FtaBXUMpqcHX@","qCa@CIKTA@","HiD@@Dj~]jj`AmHPfES\\LXFF@","sKP@Di\\Zj@[TQX`","sGP@Djfj`FsDVMcEC@","HiD@@DkgYjj`AmHPfES\\H","sNp@DjuZj@[\\QXuqaa`@","KAx@@YIMDVjh@vDHSBincDPp@","sJP@DjVhHKZbKFLTL@","Hid@@LdbRQk``b@AmHPfES\\LXZF@","HiD@@Dj}Ujj`AmHPfES\\LXzF@","HeT@@DjU_k``bP@[JDIaTwCH","sNp@DkUZi@[\\QXu`","HiD@@DjYfjj`AmHPfES\\H","sGP@DjZj`FsDVMcAC@","Hmt@@DjU_jxHHj@AmhPfES\\Lj","Hid@@LdbRQk``R@AmHPfES\\H","KAx@@YIDUJjh@vDHSBincDPp@","qCr@XIKTAyD","sOq@@drm\\@@@|`@","Hed@@DjW^jjj@FraBXUMpsFBa`@","HeT@@DjY]zXFB@@[JDIaTwCH","Hkl@@DjU_Vk``bj`@[VDIaTwCJzX","Hid@@DjY}nBHH@FtaBXUMpqcHX@","sGX@@eKuT@|d@","sGP@Dj^Y`FsDVM@","HcL@@DjU_ZnBBJh@FqaBXUMprn`","sJP@DkVdAmQEcFJF@","sOq@@drm\\@@@|b@","sNp@DjyZj@[\\QXuqaa`@","HaD@@DjUZxHH@AyD@","qC`@Qv`H","dmt@@DjU_ZxHHj@C[PaLJfxYVLYC@","sGP@Dkej`FsDVMcMC@","Hed@@DjUUjjj@FraBXUMpsFHa`@","HeT@@LdbbRkBDQD@CYPaLJfxY@","KAx@@IU{MUPAlHPfES]FLa`@","RG@DTH","sJY@DDeVhA@","KAx@@YIDUJjh@vDHSBinc@Pp@","sJX@@dkU@OI`","sJQ@@dju@OI`","HeT@@LdbbRKBDQD@CYPaLJfxYcFPp@","sFp@DiTvjhAlqEcXpPp@","HaD@@DjUZxHH@AyG@","sNx@@eJ}UPB","sNp@LddUjj@[\\QXuqca`@","HaDH@@RVU[j@@@D","sNp@DkgZi@[\\QXu`","sGY@LDeVj`D","sNp@LdbJfZBZvxbqk@","sJP`@dfvhAyL","sGX@AddQjhAxe`","Hmt@@DjU_ZxHHj@AmhPfES\\LkFIa`@","qCh@CIKTA@","sNp@LdbLjj@[\\QXuq`a`@","sOq@@drm\\@@@|a@","KAx@@IUzmUPAlHPfES]FJa`@","sNx@AddQUUPB","sGP@Di]jP`mfHlZ","sJP`@TeZhA@","KAx@@IRjmUPHKXPaLJfx","HeT@@LdbRTM\\DDT@CYPaLJfxY@","HaF@@@Rfu[j@@@D","Hid@@DjYUaBH`@FtaBXUMpqchX@","KAx@@IUjmTpAlHPfES\\","Hid@@DjU^nBBD@FtaBXUMpqcHX@","sGP@DiUj``mfHl[FFF@","KAx@@IUvmUPAlHPfES]FLa`@","Hed@@LdbQTUUUP@vTHSBinFXqDL@","sJP@DkVhA@","sOx@@drm\\@@@|b@","KAx@@IUkMUPAlHPfES]FDa`@","HeT@@LdbRQU\\DDT@CYPaLJfxY@","HiD@@Dj}Yjj`AmHPfES\\LXrF@","HiD@@Dj{ujj`AmHPfES\\LXFF@","KAx@@IWNmUPAlHPfES]FFa`@","KAx@@IRkMUPHKXPaLJfx","sJP@DjYdAmQEcFZF@","sJY@LDeZhAyL","HaDH@@RVU[f@@@D","sJP`@deVhAyB","HaD@@DjWjZjj`AlHPfES\\","sGP@DkYj`FsDVMcMC@","sNp@DkgZj@[\\QXuqea`@","sJQ@@dlu@H","HeT@@DjU]k``b`@[JDIaTwCLXrF@","sJX@@dkU@OH`","RFDDQFCr`","sJP@DiYXIKZbKFLLL@","KAx@@YIHjjjh@vDHSBincGPp@","Hk\\@@DjU^ukmLHH@@@AmXPfES\\Lki`","sGQ@@djmT@|b@","Hid@@DjUfaBB`@FtaBXUMpqahX@","sNx@@eRmUPB","Hmt@@LdbRVak``ah@FvaBXUMprh","qCr@XIJtA@","KAx@@IWMmUPAlHPfES]FNa`@","HeT@@DjYYZPbJ@@[JDIaTwCH","sNp@DkfZj@[\\QXuqea`@","Hid@@DjU^nBAHAEVtaBXUMp`","dmt@@DjUgZDHJJ@C[PaLJfxYT","sGP@DkejPFsDVM@","sNx@@eJmUPB","qCb@AIf`H","HcL@@DjU_VnBBJh@FqaBXUMprnqcXX@","Hid@@DjUZnBBH@FtaBXUMpqahX@","sNp@LdbQZjBBvxbqkcGC@","sOx@@drm\\@@@|c@","sJP@H~j@^R@","KAx@@YIDcFjhDElHPfES\\","Hid@@DjUZnBAH@FtaBXUMp`","sNp@LddUji@[\\QXu`","sGP@DjfjPFsDVM@","HeT@@DjYUXPbD`@[JDIaTwCH","KAx@@IUoMUPAlHPfES]FDa`@","sFp@DiTt@@AyaD","Hed@@DjuuZjj@FraBXUMpsFIa`@","HeT@@DjUghP`h`@[JDIaTwCLXfF@","sOp@DjWkjj`FwDVM\\YhX@","sGP@Djfj`FsDVMcIC@","KAx@@IRkmUPHKXPaLJfzL]C@","sNx@@djmUPB","QM`AIdD","sOp@DjWkB@@Gbe@","sNp@DjyZj@[\\QXuqca`@","QM@HuAmd`","sNp@LddUjj@[\\QXuqea`@","daD@@DjUZxHD@CXPaLJfzLYC@","qCb@AIZPH","HiD@@LdbJTjjh@[RDIaTwCF@a`@","Hmt@@DjU_ZxHHi@AmhPfES\\Lj","HaDH@@RYWih@H@D","HiD@@LdbJTjjh@[RDIaTwCFHa`@","sGX@@djuT@|a@","sNp@DkfZj@[\\QXuqaa`@","Hid@@DjU^nBBH@GdL","KAx@@IVkMUPAlHPfES]FJa`@","qCr@XIKTAy@","HmT@@Dj{uVjjh@[ZDIaTwCJqaXX@","dmt@@DjYWVDHbJ@C[PaLJfxYT","Hif@@@RUe^Fh@@@P","HaDH@@Rfu[j@@@GdH","KAx@@IVsMUPAlHPfES]FDa`@","sKP@Di\\Zj@[TQXq`a`@","sJX@@eMU@OH@","HeT@@DjU^k``b`@[JDIaTwCLXFF@","Hmt@@LdbbRJXPbHh@FvaBXUMprh","sJP@DjvhAmQEcFBF@","dmt@@LdbbRNXPbHh@MmBDpj[aeXplL@","sJP`@dfvhAyD","sGP@Di^V`dmfHl[FVF@","KAx@@IVsmUPAlHPfES]FBa`@","sOq@@drm\\@@@|PP","sJY@BDeZhA@","HeT@@LdbRbmBDED@CYPaLJfxY@","Hed@@Djy[Zjj@FraBXUMpr","HeT@@DjU]k``b`@[JDIaTwCLXFF@","Hid@@DjUfaBB`@D","qCa@CIJtA@","QMPARVA@","Hid@@DjUfaBB`@FtaBXUMpqcHX@","sJY@BDfZhA@","HeT@@DjUghP`hP@[JDIaTwCH","Hed@@Dj{uZjj@FraBXUMpsFIa`@","dmt@@DjYUvDHbJ@C[PaLJfxYVLUC@","sNp`@dfuZj@P","sJQ@@dmU@OH@","sJX@@dmU@H","HeT@@DjU]k``b`@[JDIaTwCLXZF@","HiD@@LdfbJZjh@[RDIaTwCFAa`@","sOx@@drm\\@@@|a@","deT@@DjUfhP`h`@vTHSBinFP","dmt@@DjU]ZxHHj@C[PaLJfxYVLKC@","sOp@DjWkjj`FwDVM\\XHX@","HcL@@LdbbRNSBDQEP@McBDpj[ae]cFpp@","HiD@@Dj}Yji`AmHPfES\\H","HaDH@@RYe[hB@@D","Hid@@DjU^njjj@FtaBXUMpq`XX@","deT@@LdbbRKBDQB@FraBXUMpr","QMPARZA@","sOq@@drm\\@@@|QX","HaD@@DjYvxH`@A@","HcL@@LdbbRNcBDQEP@McBDpj[ae]@","QMhDRZA@","RG@DXLHmP","QM`BN`XQYd","RG@DTLHmP","QMHAIXFEVd","QMDARVAaH","RFPDXLHmP","RF@Q`vRbdLEC@","RF@QpvR@","QO@HyjAmd`","`II@B","`II@CFspqJp","`II@CF[@hM@prB`","`H@[T[|B`XN@PdM@p|@bHrBcDk@","RG@DXMj}F@","QM`BN`[L~b@","RG@DTMj}D@","QMHAIXFt~j@","QMDARVA}L@","RFPDXMj}D@","sKP@Di\\YZ@[TQXqaa`@","eF`BHD"]);}function dp(){dp=B1,JV=B(d(NA,1),a0,6,14,[524290,524292,589826,589827,589828,589829,589832,589833,589837,589838,598019,598020,598024,606211,688130,688131,688132,688137,688142,696324,819202,819203,819204,819205,819214,827396,1048580,1114114,1114115,1114116,1114120,1212420,1220611,1343492,1343496,1638402,1638403,17367042,17367043,17367044,17367045,17367048,17367049,17367053,17367054,17375236,17465346,17465348,17465353,17473540,1208483842,1208483848,1208483912,1208549378,1208549379,1208549380,1208549384,1208549388,1208549442,1208549443,1208549444,1208549448,1208557571,1208565763,1208565827,1409875970,1409875971,1409875972,1409875976,1409876034,1409876035,1409876036,1409876040,1409884163,1409974274,1409974280,1409974338,1678245892,1678311426,1678311427,1678311428,1678311432,1678311490,1678311491,1678311492,1678311496,1678409730,1678409731,1678409732,1678409794,1678540802,1678540808,1678540810,1678540866,2282291202,2282291203,2282291266,2282291267,2282389506,2282389507,2282389570,2282389571,2282389572,2282520578,2282520579,2282520642,2282520643,2282537027,2483617794,2483617795,2483617858,2483617859,2483617860,2483617864,2483716098,2483716099,2483716162,2483716163,2484150275,2484248579,2752675842,3356033026,3356139523,3557359618,3557457922,3557588994,34510798914,34510798915,34510798916,34510798920,34510807107,34510815299,34712125506,34712125507,34712125508,34712125512,34712223810,34712223811,34712223812,34712223816,34980560962,34980560963,34980659266,34980659267,34980659268,35568287746,35568287747,35568287748,35568287752,35568287756,35568287810,35568287811,35568287812,35568287816,35568287820,35568386050,35568386051,35568386052,35568386114,35568386120,35568517122,35568517123,35568517124,35568517128,35568517186,35568517187,35568517188,35568517192,35568812034,35568812035,35568812098,35568812099,35568910338,35568910339,35568910403,35569336322,35569434626,35585064962,35585064963,35585064964,35585064968,35585065026,35585065027,35585065028,35585065032,35769614338,35769614340,35769614402,35769712642,35770138626,35770236930,35786391554,35786391555,2475109646403,uM,QM,2475109711938,2475109711939,2475109720067,2475109720131,2475109728259,2475109728323,UM,oM,2887426572354,2887426572355,LM,sM,2887627898946,yM,2887627997250,lM,TM,3437182386242,3437182386243,hM,3437383712771,3437383712834,cM,wM,gM,dM,4674132967490,4674132967491,4674132975619,BM,4674334294082,4674334294083,4674334302211,4674334302275,vM,4674334392386,FM,4674602729538,4674602827842,mM,4674602958914,kM,bM,5086449827906,5086449827907,5086449827912,RM,5086651154498,5086651162627,jM,pM,5086651252802,5086651252808,5086651260931,CM,5086919589954,MM,5086919688258,5086919819330,5636205641794,HM,5636406968386,VM,5636407066690,5636675403842,EM,5636675502146,{l:589890,m:73760,h:4},{l:589891,m:73760,h:4},{l:598083,m:73760,h:4},{l:688194,m:73760,h:4},{l:688195,m:73760,h:4},{l:696387,m:73760,h:4},{l:819266,m:73760,h:4},{l:65602,m:73764,h:4},{l:65603,m:73764,h:4},{l:589890,m:172064,h:4},{l:589891,m:172064,h:4},{l:598083,m:172064,h:4},{l:688194,m:172064,h:4},{l:688195,m:172064,h:4},{l:696387,m:172064,h:4},{l:819266,m:172064,h:4},{l:65602,m:172068,h:4},{l:65603,m:172068,h:4},{l:589890,m:172112,h:4},{l:589891,m:172112,h:4},{l:688194,m:172112,h:4},{l:819266,m:172112,h:4},{l:65602,m:172116,h:4},{l:65608,m:172116,h:4},{l:163906,m:172116,h:4},{l:589890,m:303136,h:4},{l:688194,m:303136,h:4},{l:819266,m:303136,h:4},{l:65602,m:303140,h:4},{l:589890,m:303184,h:4},{l:688194,m:303184,h:4},{l:819266,m:303184,h:4},{l:65602,m:303188,h:4},{l:65602,m:303252,h:4},SM,qM,{l:589890,m:590112,h:4},{l:589891,m:590112,h:4},IM,xM,{l:589890,m:590160,h:4},{l:589891,m:590160,h:4},NM,{l:688194,m:590160,h:4},OM,GM,{l:589890,m:590224,h:4},{l:589891,m:590224,h:4},{l:688131,m:590224,h:4},{l:688194,m:590224,h:4},JM,zM,{l:589890,m:590368,h:4},YM,{l:688194,m:590368,h:4},{l:696323,m:590368,h:4},KM,XM,{l:819266,m:590368,h:4},ZM,WM,{l:589890,m:590416,h:4},{l:589891,m:590416,h:4},{l:589896,m:590416,h:4},_M,{l:688136,m:590416,h:4},{l:688194,m:590416,h:4},{l:696323,m:590416,h:4},$M,{l:819266,m:590416,h:4},{l:688130,m:590480,h:4},{l:688194,m:590480,h:4},{l:65602,m:598052,h:4},{l:65603,m:598052,h:4},{l:65602,m:598100,h:4},{l:65603,m:598100,h:4},{l:73795,m:598100,h:4},{l:163906,m:598100,h:4},{l:163907,m:598100,h:4},{l:65602,m:598164,h:4},{l:163906,m:598164,h:4},aM,tH,{l:589890,m:598304,h:4},{l:589891,m:598304,h:4},eH,{l:688194,m:598304,h:4},AH,{l:1114178,m:598304,h:4},nH,{l:1212424,m:598304,h:4},{l:1212482,m:598304,h:4},PH,rH,{l:589890,m:688416,h:4},iH,{l:589890,m:688464,h:4},{l:589890,m:688528,h:4},fH,DH,{l:688130,m:688784,h:4},{l:65602,m:696356,h:4},{l:65602,m:696404,h:4},{l:163906,m:696404,h:4},{l:589826,m:696608,h:4},{l:1114178,m:696608,h:4},{l:1212418,m:696608,h:4},{l:589826,m:696612,h:4},{l:524355,m:590112,h:288},{l:589825,m:590112,h:288},uH,{l:589890,m:590112,h:288},{l:598019,m:590112,h:288},{l:598083,m:590112,h:288},QH,{l:589890,m:590112,h:336},{l:598019,m:590112,h:336},{l:598083,m:590112,h:336},UH,{l:589890,m:688416,h:336},oH,{l:589890,m:688464,h:336},LH,sH,{l:589827,m:590112,h:400},{l:589890,m:590112,h:400},{l:589891,m:590112,h:400},yH,lH,TH,hH,{l:589890,m:819488,h:400},cH,wH,gH,dH,{l:589827,m:819488,h:544},BH,vH,FH,{l:688199,m:688464,h:592},mH,kH,bH,{l:688202,m:819600,h:592},RH,{l:589896,m:1212704,h:592},jH,pH,{l:688200,m:1212752,h:592},CH,{l:688135,m:688464,h:656},{l:688135,m:819536,h:656},{l:589891,m:65936,h:8228},MH,{l:589890,m:590112,h:8480},{l:598019,m:590112,h:8480},HH,{l:589890,m:688416,h:8480},VH,{l:589890,m:688464,h:8480},EH,SH,qH,IH,{l:589896,m:1213008,h:8480},xH,{l:688200,m:1213008,h:8480},{l:688135,m:1343824,h:8480},NH,{l:589890,m:590112,h:8484},OH,{l:589890,m:590160,h:8484},{l:1212424,m:590416,h:8484},{l:1212488,m:590416,h:8484},GH,{l:688194,m:598304,h:8484},{l:589826,m:590112,h:8528},{l:589890,m:590112,h:8528}]),K4=B(d(Ee,1),PA,6,15,[.6966999769210815,0,.4885999858379364,-0.47269999980926514,-0.07490000128746033,JH,.273499995470047,.5699999928474426,.7009999752044678,.9534000158309937,-3.6435000896453857,-2.150899887084961,.4975000023841858,-2.19950008392334,-0.2809000015258789,-0.8259999752044678,-0.1784999966621399,-1.620300054550171,-1.0959999561309814,-0.3619999885559082,.13950000703334808,-0.29750001430511475,-1.2907999753952026,1.0161999464035034,zH,-2.5383999347686768,Iy,.4291999936103821,-0.5824000239372253,-0.1834000051021576,.1306000053882599,-0.5015000104904175,JH,-0.5257999897003174,.4244000017642975,-0.16099999845027924,-0.2777999937534332,.5110999941825867,-0.435699999332428,-0.10409999638795853,.3424000144004822,-0.061500001698732376,.6035000085830688,.7226999998092651,.43459999561309814,-1.6821000576019287,-0.3310000002384186,-0.49799999594688416,YH,-0.3650999963283539,.45969998836517334,.3384000062942505,.6632999777793884,.4544000029563904,.15970000624656677,.633899986743927,.35040000081062317,.04490000009536743,.34200000762939453,.26109999418258667,.40459999442100525,.5218999981880188,-1.065000057220459,-1.2314000129699707,-1.802299976348877,-0.36320000886917114,-0.4108000099658966,.30570000410079956,-0.14560000598430634,-0.27129998803138733,-0.5192999839782715,.45260000228881836,.5539000034332275,.8374000191688538,-0.7070000171661377,-0.48809999227523804,-0.4099999964237213,0,.14790000021457672,.3447999954223633,.42980000376701355,.5579000115394592,-0.1264999955892563,-0.042500000447034836,.07670000195503235,.6635000109672546,-0.38119998574256897,-0.8367999792098999,1.0286999940872192,-0.10209999978542328,.3587000072002411,-0.5945000052452087,.16920000314712524,-0.121799997985363,.32829999923706055,.22390000522136688,.20430000126361847,.05900000035762787,-0.48350000381469727,.6165000200271606,-0.4011000096797943,.5577999949455261,-0.21639999747276306,-0.017500000074505806,.29809999465942383,.10999999940395355,.27149999141693115,-0.2994999885559082,-0.46700000762939453,.1565999984741211,.046799998730421066,-0.13210000097751617,1.3686000108718872,0,-0.4115999937057495,1.0185999870300293,-0.3935000002384186,.5223000049591064,.3684999942779541,.25769999623298645,1.5192999839782715,.2705000042915344,.3790999948978424,.012000000104308128,-0.33970001339912415,.14830000698566437,.2766000032424927,.35929998755455017,.7714999914169312,.3149999976158142,-1.618499994277954,.18889999389648438,-0.2651999890804291,-0.09650000184774399,.420199990272522,.18709999322891235,-0.3684000074863434,-0.07779999822378159,.8942999839782715,.3693999946117401,.28790000081062317,.4489000141620636,-0.26010000705718994,.4771000146865845,.1923000067472458,.43810001015663147,.16949999332427979,.45249998569488525,.3352000117301941,.1582999974489212,.4036000072956085,-0.04800000041723251,.5023000240325928,-0.26489999890327454,.76910001039505,-0.35519999265670776,1.0300999879837036,-0.11410000175237656,-0.5932000279426575,.17489999532699585,.13130000233650208,-0.18039999902248383,.399399995803833,.22910000383853912,.31690001487731934,.35989999771118164,-0.0038999998942017555,-0.2955999970436096,.4408999979496002,-0.16089999675750732,.3774999976158142,-0.13459999859333038,.2838999927043915,.5128999948501587,.1265999972820282,.4293999969959259,.28060001134872437,.49070000648498535,KH,.219200000166893,.15649999678134918,.6934999823570251,.3617999851703644,.6735000014305115,.5777999758720398,-0.5636000037193298,.5569000244140625,.30379998683929443,-0.32760000228881836,-0.6991999745368958,.010300000198185444,-0.4659000039100647,XH,Iy,.18410000205039978,.707099974155426,.12269999831914902,.7949000000953674,-0.6592000126838684,-1.3148000240325928,-0.4066999852657318,-0.1316000074148178,-0.4925000071525574,-0.09290000051259995,-0.4352000057697296,-0.2206999957561493,-0.9959999918937683,-0.723800003528595,-0.5468999743461609,-1.2939000129699707,-0.01360000018030405,.065700002014637,.7189000248908997,.05700000002980232,.661899983882904,-0.6381000280380249,-0.8072999715805054,.23549999296665192,.30480000376701355,-0.019899999722838402,-0.07519999891519547,.44609999656677246,.1559000015258789,1.1167999505996704,-1.8039000034332275,.23649999499320984,-0.22059999406337738,.4480000138282776,-1.1339999437332153,-0.5652999877929688,-0.40529999136924744,-0.13609999418258667,.2198999971151352,.053599998354911804,-0.020999999716877937,.6984999775886536,.9642999768257141,-0.41519999504089355,-1.0369000434875488,-0.18299999833106995,.5882999897003174,-0.29179999232292175,-0.5293999910354614,-0.6541000008583069,.9473000168800354,-0.19059999287128448,-0.8483999967575073,-0.3456999957561493,.9541000127792358,1.4230999946594238,-0.7924000024795532,ZH,WH,-0.2596000134944916,.8381999731063843,-0.4415999948978424,-0.37040001153945923,-0.7487000226974487,-0.10790000110864639,-0.29919999837875366,-0.3276999890804291,.025100000202655792,-0.9187999963760376,.10939999669790268,.8230999708175659,-3.233299970626831,.03500000014901161,XH,_H,.2791000008583069,.3206000030040741,.5662000179290771,-0.3783999979496002,.4032000005245209,-1.794800043106079,-0.15539999306201935,.3785000145435333,.05339999869465828,-0.16529999673366547,-0.09870000183582306,-0.10050000250339508,-0.6460999846458435,.8034999966621399,-0.24050000309944153,-0.12380000203847885,-0.35760000348091125,.09610000252723694,-0.6401000022888184,.2029000073671341,.23589999973773956,.4950999915599823,.19210000336170197,-0.37450000643730164,.34630000591278076,.289900004863739,-0.15330000221729279,-0.4169999957084656,.37700000405311584,.6998000144958496,.593999981880188,.5911999940872192,-0.5570999979972839,.023800000548362732,-0.2475000023841858,.030700000002980232,-0.38749998807907104,-0.7437000274658203,.5144000053405762,.00570000009611249,.765500009059906,.1720000058412552,-2.5624001026153564,-0.30660000443458557,.36469998955726624,.17270000278949738,-0.03290000185370445,-0.18930000066757202,.07020000368356705,-1.2453999519348145,.14959999918937683,zH,.4146000146865845,-0.2667999863624573,-0.11060000211000443,.03620000183582306,-0.3188999891281128,-0.7278000116348267,-0.08940000087022781,-0.22769999504089355,-0.2393999993801117,1.011199951171875,-0.2962000072002411,.7775999903678894,.2944999933242798,-0.22339999675750732,.27639999985694885,.8011000156402588,-0.17440000176429749,.15809999406337738,-1.7552000284194946,-0.384799987077713,.5993000268936157,.5267999768257141,-0.04170000180602074,.4733000099658966,-0.3400999903678894,-0.14499999582767487,.7088000178337097,-0.13179999589920044,.04259999841451645,-0.5027999877929688,.3831999897956848,-0.011800000444054604,-0.4357999861240387,.3749000132083893,-0.12030000239610672,-0.5648000240325928,-0.1972000002861023,-0.8769000172615051,-0.3675000071525574,-0.2003999948501587,-0.6069999933242798,-0.18569999933242798,.3467999994754791,-0.36239999532699585,.5357999801635742,-0.3700999915599823,.13359999656677246,.9545000195503235,.11389999836683273,-0.16990000009536743,Iy,.2890999913215637,.2612999975681305,-0.03440000116825104,-1.9498000144958496,-2.024899959564209,-0.6004999876022339,-0.6258000135421753,-1.2348999977111816,.328000009059906,-0.54339998960495,-0.7712000012397766,-0.9057000279426575,-0.16680000722408295,-0.9904999732971191,-0.03720000013709068,-1.1638000011444092,.12620000541210175,-0.5248000025749207,-0.15379999577999115,-0.36820000410079956,.3249000012874603,.06499999761581421,.051100000739097595,-0.46070000529289246,.22310000658035278,.28220000863075256,.1396999955177307,-0.49380001425743103,.39480000734329224,-0.4074999988079071,-0.6410999894142151,-0.009100000374019146,-0.13330000638961792,-0.5192000269889832,-0.16609999537467957,Iy,-0.07069999724626541,.4805999994277954,.38280001282691956,.22290000319480896,.6159999966621399,.33709999918937683,.188400000333786,.13809999823570251,YH,.2833000123500824,-0.1225999966263771,-3.9189000129699707,-0.459199994802475,-0.3434999883174896,-0.6654000282287598,-0.5055999755859375,-0.863099992275238,.15360000729560852,-0.6427000164985657,-0.08839999884366989,-0.0471000000834465,.11060000211000443,.382099986076355,-0.23919999599456787,-0.4050999879837036,.08910000324249268,-0.6972000002861023,-0.4699000120162964,.09220000356435776,.08060000091791153,-0.6773999929428101,-0.062199998646974564,-0.9300000071525574,.13369999825954437]);}function Bp(){Bp=B1,rl=B(d(Vt,2),nA,17,0,[null,B(d(Vt,1),Et,3,0,[new u(0,1.007825032),new u(1,2.014101778),new u(2,3.016049268),new u(3,4.027834627),new u(4,5.039542911),new u(5,6.044942608)]),B(d(Vt,1),Et,3,0,[new u(1,3.01602931),new u(2,4.00260325),new u(3,5.012223628),new u(4,6.018888072),new u(5,7.028030527),new u(6,8.033921838),new u(7,9.043820323),new u(8,10.052399713)]),B(d(Vt,1),Et,3,0,[new u(1,4.027182329),new u(2,5.012537796),new u(3,6.015122281),new u(4,7.016004049),new u(5,8.02248667),new u(6,9.026789122),new u(7,10.035480884),new u(8,11.043796166),new u(9,12.05378)]),B(d(Vt,1),Et,3,0,[new u(1,5.04079),new u(2,6.019725804),new u(3,7.016929246),new u(4,8.005305094),new u(5,9.012182135),new u(6,10.01353372),new u(7,11.021657653),new u(8,12.026920631),new u(9,13.036133834),new u(10,14.042815522)]),B(d(Vt,1),Et,3,0,[new u(2,7.029917389),new u(3,8.024606713),new u(4,9.013328806),new u(5,10.012937027),new u(6,11.009305466),new u(7,12.014352109),new u(8,13.017780267),new u(9,14.025404064),new u(10,15.031097291),new u(11,16.039808836),new u(12,17.046931399),new u(13,18.05617),new u(14,19.06373)]),B(d(Vt,1),Et,3,0,[new u(2,8.037675026),new u(3,9.031040087),new u(4,10.01685311),new u(5,11.011433818),new u(6,12),new u(7,13.003354838),new u(8,14.003241988),new u(9,15.010599258),new u(10,16.014701243),new u(11,17.022583712),new u(12,18.026757058),new u(13,19.035248094),new u(14,20.040322395),new u(15,21.04934),new u(16,22.05645)]),B(d(Vt,1),Et,3,0,[new u(3,10.042618),new u(4,11.026796226),new u(5,12.018613202),new u(6,13.005738584),new u(7,14.003074005),new u(8,15.000108898),new u(9,16.006101417),new u(10,17.008449673),new u(11,18.014081827),new u(12,19.017026896),new u(13,20.023367295),new u(14,21.027087574),new u(15,22.034440259),new u(16,23.04051),new u(17,24.0505)]),B(d(Vt,1),Et,3,0,[new u(4,12.034404776),new u(5,13.0248104),new u(6,14.008595285),new u(7,15.003065386),new u(8,15.994914622),new u(9,16.999131501),new u(10,17.999160419),new u(11,19.00357873),new u(12,20.00407615),new u(13,21.008654631),new u(14,22.009967157),new u(15,23.015691325),new u(16,24.020369922),new u(17,25.02914),new u(18,26.03775)]),B(d(Vt,1),Et,3,0,[new u(5,14.03608),new u(6,15.018010856),new u(7,16.01146573),new u(8,17.002095238),new u(9,18.000937667),new u(10,18.998403205),new u(11,19.999981324),new u(12,20.999948921),new u(13,22.00299925),new u(14,23.003574385),new u(15,24.008099371),new u(16,25.012094963),new u(17,26.019633157),new u(18,27.026892316),new u(19,28.03567),new u(20,29.04326)]),B(d(Vt,1),Et,3,0,[new u(6,16.025756907),new u(7,17.017697565),new u(8,18.005697066),new u(9,19.001879839),new u(10,19.992440176),new u(11,20.993846744),new u(12,21.99138551),new u(13,22.994467337),new u(14,23.993615074),new u(15,24.997789899),new u(16,26.000461498),new u(17,27.0076152),new u(18,28.012108072),new u(19,29.019345902),new u(20,30.023872),new u(21,31.03311),new u(22,32.03991)]),B(d(Vt,1),Et,3,0,[new u(7,18.02718),new u(8,19.01387945),new u(9,20.00734826),new u(10,20.997655099),new u(11,21.994436782),new u(12,22.989769675),new u(13,23.990963332),new u(14,24.989954352),new u(15,25.992589898),new u(16,26.994008702),new u(17,27.99889041),new u(18,29.002811301),new u(19,30.009226487),new u(20,31.013595108),new u(21,32.019649792),new u(22,33.027386),new u(23,34.0349),new u(24,35.04418)]),B(d(Vt,1),Et,3,0,[new u(8,20.018862744),new u(9,21.011714174),new u(10,21.999574055),new u(11,22.99412485),new u(12,23.985041898),new u(13,24.985837023),new u(14,25.98259304),new u(15,26.984340742),new u(16,27.983876703),new u(17,28.988554743),new u(18,29.990464529),new u(19,30.996548459),new u(20,31.999145889),new u(21,33.005586975),new u(22,34.00907244),new u(23,35.018669),new u(24,36.02245),new u(25,37.03124)]),B(d(Vt,1),Et,3,0,[new u(8,21.02804),new u(9,22.01952),new u(10,23.0072649),new u(11,23.999940911),new u(12,24.990428555),new u(13,25.986891659),new u(14,26.981538441),new u(15,27.981910184),new u(16,28.980444848),new u(17,29.982960304),new u(18,30.983946023),new u(19,31.988124379),new u(20,32.990869587),new u(21,33.996927255),new u(22,34.99993765),new u(23,36.006351501),new u(24,37.01031),new u(25,38.0169),new u(26,39.0219)]),B(d(Vt,1),Et,3,0,[new u(8,22.03453),new u(9,23.02552),new u(10,24.011545711),new u(11,25.00410664),new u(12,25.992329935),new u(13,26.986704764),new u(14,27.976926533),new u(15,28.976494719),new u(16,29.973770218),new u(17,30.975363275),new u(18,31.974148129),new u(19,32.97800052),new u(20,33.978575745),new u(21,34.984584158),new u(22,35.986687363),new u(23,36.99299599),new u(24,37.99598),new u(25,39.0023),new u(26,40.0058),new u(27,41.0127),new u(28,42.0161)]),B(d(Vt,1),Et,3,0,[new u(9,24.03435),new u(10,25.02026),new u(11,26.01178),new u(12,26.999191645),new u(13,27.99231233),new u(14,28.981801376),new u(15,29.978313807),new u(16,30.973761512),new u(17,31.973907163),new u(18,32.971725281),new u(19,33.973636381),new u(20,34.973314249),new u(21,35.978259824),new u(22,36.979608338),new u(23,37.98447),new u(24,38.98642),new u(25,39.99105),new u(26,40.9948),new u(27,42.00009),new u(28,43.00331),new u(29,44.00988),new u(30,45.01514),new u(31,46.02383)]),B(d(Vt,1),Et,3,0,[new u(10,26.02788),new u(11,27.018795),new u(12,28.004372661),new u(13,28.996608805),new u(14,29.984902954),new u(15,30.979554421),new u(16,31.97207069),new u(17,32.971458497),new u(18,33.967866831),new u(19,34.96903214),new u(20,35.96708088),new u(21,36.971125716),new u(22,37.971163443),new u(23,38.975135275),new u(24,39.97547),new u(25,40.98003),new u(26,41.98149),new u(27,42.9866),new u(28,43.98832),new u(29,44.99482),new u(30,45.99957),new u(31,47.00762),new u(32,48.01299),new u(33,49.02201)]),B(d(Vt,1),Et,3,0,[new u(11,28.02851),new u(12,29.01411),new u(13,30.00477),new u(14,30.992416014),new u(15,31.985688908),new u(16,32.977451798),new u(17,33.973761967),new u(18,34.968852707),new u(19,35.968306945),new u(20,36.9659026),new u(21,37.96801055),new u(22,38.968007677),new u(23,39.970415555),new u(24,40.970650212),new u(25,41.973174994),new u(26,42.974203385),new u(27,43.978538712),new u(28,44.9797),new u(29,45.98412),new u(30,46.98795),new u(31,47.99485),new u(32,48.99989),new u(33,50.00773),new u(34,51.01353)]),B(d(Vt,1),Et,3,0,[new u(12,30.02156),new u(13,31.012126),new u(14,31.99766066),new u(15,32.989928719),new u(16,33.980270118),new u(17,34.975256726),new u(18,35.967546282),new u(19,36.966775912),new u(20,37.962732161),new u(21,38.964313413),new u(22,39.962383123),new u(23,40.964500828),new u(24,41.963046386),new u(25,42.965670701),new u(26,43.965365269),new u(27,44.968094979),new u(28,45.968093467),new u(29,46.972186238),new u(30,47.97507),new u(31,48.98218),new u(32,49.98594),new u(33,50.99324),new u(34,51.99817),new u(35,53.006227)]),B(d(Vt,1),Et,3,0,[new u(13,32.02192),new u(14,33.00726),new u(15,33.99841),new u(16,34.988011615),new u(17,35.981293405),new u(18,36.973376915),new u(19,37.969080107),new u(20,38.963706861),new u(21,39.963998672),new u(22,40.961825972),new u(23,41.962403059),new u(24,42.960715746),new u(25,43.961556146),new u(26,44.960699658),new u(27,45.961976203),new u(28,46.961677807),new u(29,47.965512946),new u(30,48.967450084),new u(31,49.972782832),new u(32,50.97638),new u(33,51.98261),new u(34,52.98712),new u(35,53.99399),new u(36,54.999388)]),B(d(Vt,1),Et,3,0,[new u(14,34.01412),new u(15,35.004765),new u(16,35.993087234),new u(17,36.985871505),new u(18,37.976318637),new u(19,38.970717729),new u(20,39.962591155),new u(21,40.962278349),new u(22,41.958618337),new u(23,42.958766833),new u(24,43.955481094),new u(25,44.956185938),new u(26,45.953692759),new u(27,46.954546459),new u(28,47.952533512),new u(29,48.955673302),new u(30,49.957518286),new u(31,50.961474238),new u(32,51.9651),new u(33,52.97005),new u(34,53.97468),new u(35,54.98055),new u(36,55.98579),new u(37,56.992356)]),B(d(Vt,1),Et,3,0,[new u(15,36.01492),new u(16,37.00305),new u(17,37.9947),new u(18,38.984790009),new u(19,39.977964014),new u(20,40.969251316),new u(21,41.965516761),new u(22,42.96115098),new u(23,43.959403048),new u(24,44.955910243),new u(25,45.95517025),new u(26,46.952408027),new u(27,47.952234991),new u(28,48.950024065),new u(29,49.952187008),new u(30,50.9536027),new u(31,51.95665),new u(32,52.95817),new u(33,53.963),new u(34,54.9694),new u(35,55.97266),new u(36,56.97704),new u(37,57.98307),new u(38,58.988041)]),B(d(Vt,1),Et,3,0,[new u(16,38.00977),new u(17,39.001323),new u(18,39.990498907),new u(19,40.983131),new u(20,41.973031622),new u(21,42.968523342),new u(22,43.959690235),new u(23,44.958124349),new u(24,45.952629491),new u(25,46.951763792),new u(26,47.947947053),new u(27,48.947870789),new u(28,49.944792069),new u(29,50.946616017),new u(30,51.946898175),new u(31,52.949731709),new u(32,53.95087),new u(33,54.95512),new u(34,55.95799),new u(35,56.9643),new u(36,57.96611),new u(37,58.97196),new u(38,59.97564),new u(39,60.982018)]),B(d(Vt,1),Et,3,0,[new u(17,40.01109),new u(18,40.99974),new u(19,41.99123),new u(20,42.98065),new u(21,43.9744),new u(22,44.965782286),new u(23,45.960199491),new u(24,46.954906918),new u(25,47.95225448),new u(26,48.948516914),new u(27,49.947162792),new u(28,50.943963675),new u(29,51.944779658),new u(30,52.944342517),new u(31,53.946444381),new u(32,54.947238194),new u(33,55.95036),new u(34,56.95236),new u(35,57.95665),new u(36,58.9593),new u(37,59.9645),new u(38,60.96741),new u(39,61.97314),new u(40,62.97675)]),B(d(Vt,1),Et,3,0,[new u(18,42.00643),new u(19,42.997707),new u(20,43.98547),new u(21,44.97916),new u(22,45.968361649),new u(23,46.962906512),new u(24,47.954035861),new u(25,48.951341135),new u(26,49.946049607),new u(27,50.944771767),new u(28,51.940511904),new u(29,52.940653781),new u(30,53.938884921),new u(31,54.940844164),new u(32,55.940645238),new u(33,56.9437538),new u(34,57.94425),new u(35,58.94863),new u(36,59.94973),new u(37,60.95409),new u(38,61.9558),new u(39,62.96186),new u(40,63.9642),new u(41,64.97037)]),B(d(Vt,1),Et,3,0,[new u(19,44.00687),new u(20,44.99451),new u(21,45.98672),new u(22,46.9761),new u(23,47.96887),new u(24,48.959623415),new u(25,49.95424396),new u(26,50.948215487),new u(27,51.945570079),new u(28,52.941294702),new u(29,53.940363247),new u(30,54.938049636),new u(31,55.938909366),new u(32,56.938287458),new u(33,57.939986451),new u(34,58.940447166),new u(35,59.943193998),new u(36,60.94446),new u(37,61.94797),new u(38,62.94981),new u(39,63.95373),new u(40,64.9561),new u(41,65.96082),new u(42,66.96382)]),B(d(Vt,1),Et,3,0,[new u(19,45.01456),new u(20,46.00081),new u(21,46.99289),new u(22,47.98056),new u(23,48.97361),new u(24,49.962993316),new u(25,50.956824936),new u(26,51.948116526),new u(27,52.945312282),new u(28,53.939614836),new u(29,54.938298029),new u(30,55.934942133),new u(31,56.935398707),new u(32,57.933280458),new u(33,58.934880493),new u(34,59.934076943),new u(35,60.936749461),new u(36,61.936770495),new u(37,62.940118442),new u(38,63.94087),new u(39,64.94494),new u(40,65.94598),new u(41,66.95),new u(42,67.95251),new u(43,68.9577)]),B(d(Vt,1),Et,3,0,[new u(21,48.00176),new u(22,48.98972),new u(23,49.98154),new u(24,50.97072),new u(25,51.96359),new u(26,52.954224985),new u(27,53.948464147),new u(28,54.942003149),new u(29,55.939843937),new u(30,56.936296235),new u(31,57.935757571),new u(32,58.933200194),new u(33,59.933822196),new u(34,60.932479381),new u(35,61.934054212),new u(36,62.933615218),new u(37,63.935813523),new u(38,64.936484581),new u(39,65.939825412),new u(40,66.94061),new u(41,67.94436),new u(42,68.9452),new u(43,69.94981),new u(44,70.95173),new u(45,71.95641)]),B(d(Vt,1),Et,3,0,[new u(22,49.99593),new u(23,50.98772),new u(24,51.97568),new u(25,52.96846),new u(26,53.957910508),new u(27,54.951336329),new u(28,55.942136339),new u(29,56.939800489),new u(30,57.935347922),new u(31,58.934351553),new u(32,59.930790633),new u(33,60.931060442),new u(34,61.928348763),new u(35,62.929672948),new u(36,63.927969574),new u(37,64.930088013),new u(38,65.929115232),new u(39,66.931569638),new u(40,67.931844932),new u(41,68.935181837),new u(42,69.93614),new u(43,70.94),new u(44,71.9413),new u(45,72.94608),new u(46,73.94791),new u(47,74.95297),new u(48,75.95533),new u(49,76.96083),new u(50,77.9638)]),B(d(Vt,1),Et,3,0,[new u(23,51.99718),new u(24,52.98555),new u(25,53.97671),new u(26,54.96605),new u(27,55.95856),new u(28,56.949215695),new u(29,57.944540734),new u(30,58.939504114),new u(31,59.937368123),new u(32,60.933462181),new u(33,61.932587299),new u(34,62.929601079),new u(35,63.929767865),new u(36,64.927793707),new u(37,65.928873041),new u(38,66.927750294),new u(39,67.929637875),new u(40,68.929425281),new u(41,69.932409287),new u(42,70.932619818),new u(43,71.93552),new u(44,72.93649),new u(45,73.9402),new u(46,74.9417),new u(47,75.94599),new u(48,76.94795),new u(49,77.95281),new u(50,78.95528),new u(51,79.96189)]),B(d(Vt,1),Et,3,0,[new u(24,53.99295),new u(25,54.98398),new u(26,55.97238),new u(27,56.96491),new u(28,57.954596465),new u(29,58.949267074),new u(30,59.941832031),new u(31,60.939513907),new u(32,61.934334132),new u(33,62.933215563),new u(34,63.929146578),new u(35,64.929245079),new u(36,65.926036763),new u(37,66.927130859),new u(38,67.924847566),new u(39,68.926553538),new u(40,69.92532487),new u(41,70.927727195),new u(42,71.926861122),new u(43,72.929779469),new u(44,73.929458261),new u(45,74.932937379),new u(46,75.933394207),new u(47,76.937085857),new u(48,77.938569576),new u(49,78.942095175),new u(50,79.944414722),new u(51,80.95048),new u(52,81.95484)]),B(d(Vt,1),Et,3,0,[new u(25,55.99491),new u(26,56.98293),new u(27,57.97425),new u(28,58.96337),new u(29,59.95706),new u(30,60.94917),new u(31,61.944179608),new u(32,62.939141527),new u(33,63.936838307),new u(34,64.932739322),new u(35,65.931592355),new u(36,66.928204915),new u(37,67.927983497),new u(38,68.925580912),new u(39,69.926027741),new u(40,70.92470501),new u(41,71.92636935),new u(42,72.925169832),new u(43,73.926940999),new u(44,74.926500645),new u(45,75.928928262),new u(46,76.929281189),new u(47,77.93165595),new u(48,78.932916371),new u(49,79.936588154),new u(50,80.937752955),new u(51,81.94316),new u(52,82.94687),new u(53,83.95234)]),B(d(Vt,1),Et,3,0,[new u(26,57.99101),new u(27,58.98175),new u(28,59.97019),new u(29,60.96379),new u(30,61.95465),new u(31,62.94964),new u(32,63.941572638),new u(33,64.939440762),new u(34,65.933846798),new u(35,66.932738415),new u(36,67.928097266),new u(37,68.927972002),new u(38,69.924250365),new u(39,70.924953991),new u(40,71.922076184),new u(41,72.923459361),new u(42,73.921178213),new u(43,74.922859494),new u(44,75.921402716),new u(45,76.923548462),new u(46,77.922852886),new u(47,78.92540156),new u(48,79.925444764),new u(49,80.928821065),new u(50,81.929550326),new u(51,82.93451),new u(52,83.93731),new u(53,84.94269),new u(54,85.94627)]),B(d(Vt,1),Et,3,0,[new u(27,59.99313),new u(28,60.98062),new u(29,61.9732),new u(30,62.96369),new u(31,63.957572),new u(32,64.949484),new u(33,65.944099147),new u(34,66.939190417),new u(35,67.936792976),new u(36,68.932280154),new u(37,69.930927811),new u(38,70.927114724),new u(39,71.926752647),new u(40,72.923825288),new u(41,73.923929076),new u(42,74.921596417),new u(43,75.922393933),new u(44,76.920647703),new u(45,77.921828577),new u(46,78.920948498),new u(47,79.922578162),new u(48,80.922132884),new u(49,81.924504668),new u(50,82.924980625),new u(51,83.92906),new u(52,84.93181),new u(53,85.93623),new u(54,86.93958),new u(55,87.94456),new u(56,88.94923)]),B(d(Vt,1),Et,3,0,[new u(31,64.96466),new u(32,65.95521),new u(33,66.95009),new u(34,67.94187),new u(35,68.939562155),new u(36,69.933504),new u(37,70.931868378),new u(38,71.927112313),new u(39,72.9267668),new u(40,73.922476561),new u(41,74.922523571),new u(42,75.919214107),new u(43,76.91991461),new u(44,77.917309522),new u(45,78.918499802),new u(46,79.916521828),new u(47,80.917992931),new u(48,81.9167),new u(49,82.919119072),new u(50,83.918464523),new u(51,84.922244678),new u(52,85.924271165),new u(53,86.928520749),new u(54,87.931423982),new u(55,88.93602),new u(56,89.93942),new u(57,90.94537),new u(58,91.94933)]),B(d(Vt,1),Et,3,0,[new u(32,66.96479),new u(33,67.958248),new u(34,68.950178),new u(35,69.944208),new u(36,70.939246),new u(37,71.936496876),new u(38,72.931794889),new u(39,73.929891152),new u(40,74.92577641),new u(41,75.924541974),new u(42,76.921380123),new u(43,77.92114613),new u(44,78.918337647),new u(45,79.918529952),new u(46,80.91629106),new u(47,81.916804666),new u(48,82.915180219),new u(49,83.916503685),new u(50,84.915608027),new u(51,85.918797162),new u(52,86.920710713),new u(53,87.924065908),new u(54,88.92638726),new u(55,89.930634988),new u(56,90.9339653),new u(57,91.939255258),new u(58,92.9431),new u(59,93.94868)]),B(d(Vt,1),Et,3,0,[new u(33,68.96532),new u(34,69.95601),new u(35,70.95051),new u(36,71.94190754),new u(37,72.938931115),new u(38,73.933258225),new u(39,74.931033794),new u(40,75.925948304),new u(41,76.92466788),new u(42,77.920386271),new u(43,78.920082992),new u(44,79.91637804),new u(45,80.916592419),new u(46,81.913484601),new u(47,82.914135952),new u(48,83.911506627),new u(49,84.912526954),new u(50,85.910610313),new u(51,86.913354251),new u(52,87.914446951),new u(53,88.917632505),new u(54,89.919523803),new u(55,90.923442418),new u(56,91.926152752),new u(57,92.931265246),new u(58,93.934362),new u(59,94.93984),new u(60,95.94307),new u(61,96.94856)]),B(d(Vt,1),Et,3,0,[new u(34,70.96532),new u(35,71.95908),new u(36,72.950366),new u(37,73.944470376),new u(38,74.938569199),new u(39,75.935071448),new u(40,76.930406599),new u(41,77.928141485),new u(42,78.923996719),new u(43,79.922519322),new u(44,80.918994165),new u(45,81.918207691),new u(46,82.915111951),new u(47,83.914384676),new u(48,84.911789341),new u(49,85.91116708),new u(50,86.909183465),new u(51,87.911318556),new u(52,88.912279939),new u(53,89.914808941),new u(54,90.91653416),new u(55,91.919725442),new u(56,92.922032765),new u(57,93.926407326),new u(58,94.92931926),new u(59,95.934283962),new u(60,96.937342863),new u(61,97.941703557),new u(62,98.945420616),new u(63,99.94987),new u(64,100.953195994),new u(65,101.95921)]),B(d(Vt,1),Et,3,0,[new u(35,72.96597),new u(36,73.95631),new u(37,74.94992),new u(38,75.94161),new u(39,76.937761511),new u(40,77.932179362),new u(41,78.929707076),new u(42,79.924524588),new u(43,80.923213095),new u(44,81.918401258),new u(45,82.917555029),new u(46,83.913424778),new u(47,84.912932689),new u(48,85.909262351),new u(49,86.908879316),new u(50,87.905614339),new u(51,88.907452906),new u(52,89.907737596),new u(53,90.910209845),new u(54,91.911029895),new u(55,92.91402241),new u(56,93.915359856),new u(57,94.919358213),new u(58,95.921680473),new u(59,96.926148757),new u(60,97.928471177),new u(61,98.933315038),new u(62,99.935351729),new u(63,100.940517434),new u(64,101.943018795),new u(65,102.94895),new u(66,103.95233)]),B(d(Vt,1),Et,3,0,[new u(38,76.94962),new u(39,77.9435),new u(40,78.937350712),new u(41,79.931982402),new u(42,80.929128719),new u(43,81.926792071),new u(44,82.922352572),new u(45,83.920387768),new u(46,84.916427076),new u(47,85.914887724),new u(48,86.910877833),new u(49,87.909503361),new u(50,88.905847902),new u(51,89.907151443),new u(52,90.907303415),new u(53,91.908946832),new u(54,92.909581582),new u(55,93.911594008),new u(56,94.912823709),new u(57,95.915897787),new u(58,96.918131017),new u(59,97.922219525),new u(60,98.924634736),new u(61,99.927756402),new u(62,100.930313395),new u(63,101.933555501),new u(64,102.93694),new u(65,103.94145),new u(66,104.94509),new u(67,105.95022)]),B(d(Vt,1),Et,3,0,[new u(39,78.94916),new u(40,79.94055),new u(41,80.936815296),new u(42,81.931086249),new u(43,82.92865213),new u(44,83.92325),new u(45,84.92146522),new u(46,85.916472851),new u(47,86.914816578),new u(48,87.910226179),new u(49,88.908888916),new u(50,89.904703679),new u(51,90.905644968),new u(52,91.905040106),new u(53,92.906475627),new u(54,93.906315765),new u(55,94.908042739),new u(56,95.908275675),new u(57,96.910950716),new u(58,97.912746366),new u(59,98.916511084),new u(60,99.917761704),new u(61,100.921139958),new u(62,101.922981089),new u(63,102.926597062),new u(64,103.92878),new u(65,104.93305),new u(66,105.93591),new u(67,106.94086),new u(68,107.94428)]),B(d(Vt,1),Et,3,0,[new u(40,80.94905),new u(41,81.94313),new u(42,82.936703713),new u(43,83.93357),new u(44,84.927906486),new u(45,85.925037588),new u(46,86.920361435),new u(47,87.91833144),new u(48,88.913495503),new u(49,89.911264109),new u(50,90.906990538),new u(51,91.907193214),new u(52,92.906377543),new u(53,93.907283457),new u(54,94.906835178),new u(55,95.908100076),new u(56,96.908097144),new u(57,97.91033069),new u(58,98.911617864),new u(59,99.914181434),new u(60,100.915251567),new u(61,101.918037417),new u(62,102.919141297),new u(63,103.922459464),new u(64,104.923934023),new u(65,105.92819),new u(66,106.93031),new u(67,107.93501),new u(68,108.93763),new u(69,109.94268)]),B(d(Vt,1),Et,3,0,[new u(41,82.94874),new u(42,83.94009),new u(43,84.93659),new u(44,85.930695167),new u(45,86.92732683),new u(46,87.921952728),new u(47,88.919480562),new u(48,89.913936161),new u(49,90.911750754),new u(50,91.90681048),new u(51,92.906812213),new u(52,93.905087578),new u(53,94.905841487),new u(54,95.904678904),new u(55,96.906021033),new u(56,97.905407846),new u(57,98.907711598),new u(58,99.907477149),new u(59,100.910346543),new u(60,101.910297162),new u(61,102.913204596),new u(62,103.913758387),new u(63,104.916972087),new u(64,105.918134284),new u(65,106.921694724),new u(66,107.923973837),new u(67,108.92781),new u(68,109.92973),new u(69,110.93451),new u(70,111.93684),new u(71,112.94203)]),B(d(Vt,1),Et,3,0,[new u(42,84.94894),new u(43,85.94288),new u(44,86.93653),new u(45,87.93283),new u(46,88.92754288),new u(47,89.92355583),new u(48,90.9184282),new u(49,91.915259655),new u(50,92.910248473),new u(51,93.909656309),new u(52,94.907656454),new u(53,95.907870803),new u(54,96.906364843),new u(55,97.907215692),new u(56,98.906254554),new u(57,99.907657594),new u(58,100.90731438),new u(59,101.909212938),new u(60,102.909178805),new u(61,103.911444898),new u(62,104.911658043),new u(63,105.914355408),new u(64,106.915081691),new u(65,107.918479973),new u(66,108.919980998),new u(67,109.92339),new u(68,110.92505),new u(69,111.92924),new u(70,112.93133),new u(71,113.93588),new u(72,114.93828)]),B(d(Vt,1),Et,3,0,[new u(43,86.94918),new u(44,87.94042),new u(45,88.93611),new u(46,89.92978),new u(47,90.926377434),new u(48,91.92012),new u(49,92.917051523),new u(50,93.911359569),new u(51,94.910412729),new u(52,95.907597681),new u(53,96.907554546),new u(54,97.905287111),new u(55,98.905939307),new u(56,99.904219664),new u(57,100.905582219),new u(58,101.904349503),new u(59,102.906323677),new u(60,103.905430145),new u(61,104.907750341),new u(62,105.907326913),new u(63,106.909907207),new u(64,107.910192211),new u(65,108.913201565),new u(66,109.913966185),new u(67,110.91756),new u(68,111.918821673),new u(69,112.92254),new u(70,113.923891981),new u(71,114.92831),new u(72,115.93016),new u(73,116.93479),new u(74,117.93703)]),B(d(Vt,1),Et,3,0,[new u(44,88.94938),new u(45,89.94287),new u(46,90.93655),new u(47,91.93198),new u(48,92.92574),new u(49,93.921698),new u(50,94.915898541),new u(51,95.914518212),new u(52,96.911336643),new u(53,97.910716431),new u(54,98.908132101),new u(55,99.90811663),new u(56,100.906163526),new u(57,101.906842845),new u(58,102.905504182),new u(59,103.906655315),new u(60,104.905692444),new u(61,105.907284615),new u(62,106.90675054),new u(63,107.908730768),new u(64,108.908735621),new u(65,109.910949525),new u(66,110.91166),new u(67,111.913969253),new u(68,112.91542),new u(69,113.91734336),new u(70,114.920124676),new u(71,115.922746643),new u(72,116.92535),new u(73,117.92943),new u(74,118.93136),new u(75,119.93578),new u(76,120.93808)]),B(d(Vt,1),Et,3,0,[new u(45,90.94948),new u(46,91.94042),new u(47,92.93591),new u(48,93.92877),new u(49,94.92469),new u(50,95.91822194),new u(51,96.916478921),new u(52,97.912720751),new u(53,98.911767757),new u(54,99.908504596),new u(55,100.908289144),new u(56,101.905607716),new u(57,102.906087204),new u(58,103.904034912),new u(59,104.905084046),new u(60,105.903483087),new u(61,106.905128453),new u(62,107.903894451),new u(63,108.905953535),new u(64,109.905152385),new u(65,110.907643952),new u(66,111.907313277),new u(67,112.910151346),new u(68,113.910365322),new u(69,114.91368341),new u(70,115.914158288),new u(71,116.91784),new u(72,117.918983915),new u(73,118.92268),new u(74,119.92403),new u(75,120.92818),new u(76,121.9298),new u(77,122.93426)]),B(d(Vt,1),Et,3,0,[new u(47,93.94278),new u(48,94.93548),new u(49,95.93068),new u(50,96.924),new u(51,97.921759995),new u(52,98.917597103),new u(53,99.916069387),new u(54,100.912802135),new u(55,101.911999996),new u(56,102.908972453),new u(57,103.908628228),new u(58,104.906528234),new u(59,105.906666431),new u(60,106.90509302),new u(61,107.905953705),new u(62,108.904755514),new u(63,109.90611046),new u(64,110.905294679),new u(65,111.907004132),new u(66,112.906565708),new u(67,113.908807907),new u(68,114.908762282),new u(69,115.911359558),new u(70,116.911684187),new u(71,117.914582383),new u(72,118.915666045),new u(73,119.918788609),new u(74,120.919851074),new u(75,121.92332),new u(76,122.9249),new u(77,123.92853),new u(78,124.93054),new u(79,125.9345),new u(80,126.93688)]),B(d(Vt,1),Et,3,0,[new u(48,95.93977),new u(49,96.93494),new u(50,97.927579),new u(51,98.92501),new u(52,99.920230232),new u(53,100.918681442),new u(54,101.914777255),new u(55,102.913418952),new u(56,103.909848091),new u(57,104.909467818),new u(58,105.906458007),new u(59,106.906614232),new u(60,107.904183403),new u(61,108.904985569),new u(62,109.903005578),new u(63,110.904181628),new u(64,111.902757226),new u(65,112.904400947),new u(66,113.903358121),new u(67,114.905430553),new u(68,115.904755434),new u(69,116.907218242),new u(70,117.906914144),new u(71,118.909922582),new u(72,119.909851352),new u(73,120.91298039),new u(74,121.9135),new u(75,122.917003675),new u(76,123.917648302),new u(77,124.92124717),new u(78,125.922353996),new u(79,126.926434822),new u(80,127.927760617),new u(81,128.93226),new u(82,129.93398)]),B(d(Vt,1),Et,3,0,[new u(49,97.94224),new u(50,98.93461),new u(51,99.931149033),new u(52,100.92656),new u(53,101.924707541),new u(54,102.919913896),new u(55,103.918338416),new u(56,104.914673434),new u(57,105.913461134),new u(58,106.910292195),new u(59,107.909719683),new u(60,108.907154078),new u(61,109.907168783),new u(62,110.905110677),new u(63,111.905533338),new u(64,112.904061223),new u(65,113.904916758),new u(66,114.903878328),new u(67,115.905259995),new u(68,116.904515731),new u(69,117.906354623),new u(70,118.905846334),new u(71,119.907961505),new u(72,120.907848847),new u(73,121.910277103),new u(74,122.910438951),new u(75,123.913175916),new u(76,124.913601387),new u(77,125.916464532),new u(78,126.917344048),new u(79,127.920170658),new u(80,128.921657958),new u(81,129.924854941),new u(82,130.926767408),new u(83,131.932919005),new u(84,132.93834),new u(85,133.94466)]),B(d(Vt,1),Et,3,0,[new u(50,99.938954),new u(51,100.93606),new u(52,101.93049),new u(53,102.92813),new u(54,103.923185469),new u(55,104.921390409),new u(56,105.916880472),new u(57,106.915666702),new u(58,107.911965339),new u(59,108.911286879),new u(60,109.907852688),new u(61,110.907735404),new u(62,111.90482081),new u(63,112.905173373),new u(64,113.902781816),new u(65,114.903345973),new u(66,115.901744149),new u(67,116.902953765),new u(68,117.901606328),new u(69,118.90330888),new u(70,119.902196571),new u(71,120.904236867),new u(72,121.903440138),new u(73,122.905721901),new u(74,123.90527463),new u(75,124.907784924),new u(76,125.907653953),new u(77,126.91035098),new u(78,127.910534953),new u(79,128.913439976),new u(80,129.913852185),new u(81,130.916919144),new u(82,131.917744455),new u(83,132.923814085),new u(84,133.928463576),new u(85,134.93473),new u(86,135.93934),new u(87,136.94579)]),B(d(Vt,1),Et,3,0,[new u(52,102.94012),new u(53,103.936287),new u(54,104.931528593),new u(55,105.928183134),new u(56,106.92415),new u(57,107.92216),new u(58,108.918136092),new u(59,109.917533911),new u(60,110.912534147),new u(61,111.91239464),new u(62,112.909377941),new u(63,113.909095876),new u(64,114.906598812),new u(65,115.906797235),new u(66,116.90483959),new u(67,117.905531885),new u(68,118.90394646),new u(69,119.905074315),new u(70,120.903818044),new u(71,121.905175415),new u(72,122.904215696),new u(73,123.905937525),new u(74,124.905247804),new u(75,125.907248153),new u(76,126.906914564),new u(77,127.90916733),new u(78,128.909150092),new u(79,129.911546459),new u(80,130.911946487),new u(81,131.914413247),new u(82,132.915236466),new u(83,133.920551554),new u(84,134.925167962),new u(85,135.93066),new u(86,136.93531),new u(87,137.94096),new u(88,138.94571)]),B(d(Vt,1),Et,3,0,[new u(54,105.937702),new u(55,106.935036),new u(56,107.929486838),new u(57,108.927456483),new u(58,109.922407164),new u(59,110.921120589),new u(60,111.917061617),new u(61,112.915452551),new u(62,113.912498025),new u(63,114.911578627),new u(64,115.908420253),new u(65,116.90863418),new u(66,117.905825187),new u(67,118.90640811),new u(68,119.904019891),new u(69,120.904929815),new u(70,121.903047064),new u(71,122.904272951),new u(72,123.902819466),new u(73,124.904424718),new u(74,125.903305543),new u(75,126.90521729),new u(76,127.904461383),new u(77,128.906595593),new u(78,129.906222753),new u(79,130.90852188),new u(80,131.908523782),new u(81,132.910939068),new u(82,133.911540546),new u(83,134.916450782),new u(84,135.920103155),new u(85,136.925324769),new u(86,137.92922),new u(87,138.93473),new u(88,139.9387),new u(89,140.94439),new u(90,141.9485)]),B(d(Vt,1),Et,3,0,[new u(55,107.943291),new u(56,108.938191658),new u(57,109.934634181),new u(58,110.930276),new u(59,111.92797),new u(60,112.923644245),new u(61,113.92185),new u(62,114.918272),new u(63,115.916735014),new u(64,116.913647692),new u(65,117.91337523),new u(66,118.910180837),new u(67,119.910047843),new u(68,120.907366063),new u(69,121.907592451),new u(70,122.905597944),new u(71,123.906211423),new u(72,124.90462415),new u(73,125.905619387),new u(74,126.90446842),new u(75,127.905805254),new u(76,128.904987487),new u(77,129.906674018),new u(78,130.906124168),new u(79,131.907994525),new u(80,132.907806465),new u(81,133.909876552),new u(82,134.91005031),new u(83,135.914655105),new u(84,136.917872653),new u(85,137.922383666),new u(86,138.926093402),new u(87,139.93121),new u(88,140.93483),new u(89,141.94018),new u(90,142.94407),new u(91,143.94961)]),B(d(Vt,1),Et,3,0,[new u(56,109.944476),new u(57,110.941632),new u(58,111.93566535),new u(59,112.933382836),new u(60,113.928145),new u(61,114.926979032),new u(62,115.921394197),new u(63,116.920564355),new u(64,117.91657092),new u(65,118.915554295),new u(66,119.91215199),new u(67,120.911386497),new u(68,121.908548396),new u(69,122.908470748),new u(70,123.905895774),new u(71,124.906398236),new u(72,125.904268868),new u(73,126.905179581),new u(74,127.903530436),new u(75,128.904779458),new u(76,129.903507903),new u(77,130.90508192),new u(78,131.904154457),new u(79,132.90590566),new u(80,133.905394504),new u(81,134.907207499),new u(82,135.907219526),new u(83,136.911562939),new u(84,137.913988549),new u(85,138.918786859),new u(86,139.921635665),new u(87,140.926646282),new u(88,141.929702981),new u(89,142.93489),new u(90,143.93823),new u(91,144.94367),new u(92,145.9473),new u(93,146.95301)]),B(d(Vt,1),Et,3,0,[new u(57,111.950331),new u(58,112.944535512),new u(59,113.940841319),new u(60,114.935939),new u(61,115.932914152),new u(62,116.928639484),new u(63,117.926554883),new u(64,118.922370879),new u(65,119.920678219),new u(66,120.917183637),new u(67,121.916121946),new u(68,122.912990168),new u(69,123.912245731),new u(70,124.909724871),new u(71,125.909447953),new u(72,126.9074176),new u(73,127.907747919),new u(74,128.906063369),new u(75,129.906706163),new u(76,130.905460232),new u(77,131.906429799),new u(78,132.90544687),new u(79,133.906713419),new u(80,134.905971903),new u(81,135.907305741),new u(82,136.907083505),new u(83,137.911010537),new u(84,138.913357921),new u(85,139.917277075),new u(86,140.920043984),new u(87,141.924292317),new u(88,142.927330292),new u(89,143.932027373),new u(90,144.935388226),new u(91,145.940162028),new u(92,146.943864435),new u(93,147.948899539),new u(94,148.95272),new u(95,149.95797),new u(96,150.962)]),B(d(Vt,1),Et,3,0,[new u(58,113.950941),new u(59,114.94771),new u(60,115.94168),new u(61,116.937700229),new u(62,117.93344),new u(63,118.931051927),new u(64,119.926045941),new u(65,120.924485908),new u(66,121.92026),new u(67,122.91885),new u(68,123.915088437),new u(69,124.914620234),new u(70,125.911244146),new u(71,126.911121328),new u(72,127.90830887),new u(73,128.908673749),new u(74,129.906310478),new u(75,130.906930798),new u(76,131.905056152),new u(77,132.906002368),new u(78,133.904503347),new u(79,134.905682749),new u(80,135.904570109),new u(81,136.905821414),new u(82,137.905241273),new u(83,138.908835384),new u(84,139.910599485),new u(85,140.914406439),new u(86,141.916448175),new u(87,142.920617184),new u(88,143.922940468),new u(89,144.926923807),new u(90,145.930106645),new u(91,146.933992519),new u(92,147.937682377),new u(93,148.94246),new u(94,149.94562),new u(95,150.9507),new u(96,151.95416),new u(97,152.95961)]),B(d(Vt,1),Et,3,0,[new u(60,116.95001),new u(61,117.94657),new u(62,118.94099),new u(63,119.93807),new u(64,120.93301),new u(65,121.93071),new u(66,122.92624),new u(67,123.92453),new u(68,124.92067),new u(69,125.91937),new u(70,126.91616),new u(71,127.91544794),new u(72,128.912667334),new u(73,129.91232),new u(74,130.910108489),new u(75,131.910110399),new u(76,132.908396372),new u(77,133.908489607),new u(78,134.906971003),new u(79,135.907651181),new u(80,136.906465656),new u(81,137.907106826),new u(82,138.90634816),new u(83,139.909472552),new u(84,140.910957016),new u(85,141.914074489),new u(86,142.916058646),new u(87,143.919591666),new u(88,144.92163837),new u(89,145.925700146),new u(90,146.927819639),new u(91,147.932191197),new u(92,148.93437),new u(93,149.93857),new u(94,150.94156),new u(95,151.94611),new u(96,152.94945),new u(97,153.9544),new u(98,154.95813)]),B(d(Vt,1),Et,3,0,[new u(61,118.95276),new u(62,119.94664),new u(63,120.94367),new u(64,121.93801),new u(65,122.93551),new u(66,123.93052),new u(67,124.92854),new u(68,125.9241),new u(69,126.92275),new u(70,127.91887),new u(71,128.918679183),new u(72,129.914339361),new u(73,130.914424137),new u(74,131.91149),new u(75,132.91155),new u(76,133.909026379),new u(77,134.909145555),new u(78,135.907143574),new u(79,136.907777634),new u(80,137.905985574),new u(81,138.906646605),new u(82,139.905434035),new u(83,140.908271103),new u(84,141.909239733),new u(85,142.912381158),new u(86,143.913642686),new u(87,144.917227871),new u(88,145.918689722),new u(89,146.922510962),new u(90,147.924394738),new u(91,148.928289207),new u(92,149.930226399),new u(93,150.93404),new u(94,151.93638),new u(95,152.94058),new u(96,153.94332),new u(97,154.94804),new u(98,155.95126),new u(99,156.95634)]),B(d(Vt,1),Et,3,0,[new u(62,120.955364),new u(63,121.95165),new u(64,122.94596),new u(65,123.94296),new u(66,124.93783),new u(67,125.93531),new u(68,126.93083),new u(69,127.9288),new u(70,128.92486),new u(71,129.92338),new u(72,130.920060245),new u(73,131.91912),new u(74,132.9162),new u(75,133.915672),new u(76,134.91313914),new u(77,135.912646935),new u(78,136.910678351),new u(79,137.910748891),new u(80,138.908932181),new u(81,139.909071204),new u(82,140.907647726),new u(83,141.910039865),new u(84,142.910812233),new u(85,143.913300595),new u(86,144.914506897),new u(87,145.917588016),new u(88,146.918979001),new u(89,147.922183237),new u(90,148.923791056),new u(91,149.926995031),new u(92,150.928227869),new u(93,151.9316),new u(94,152.93365),new u(95,153.93739),new u(96,154.93999),new u(97,155.94412),new u(98,156.94717),new u(99,157.95178),new u(100,158.95523)]),B(d(Vt,1),Et,3,0,[new u(66,125.94307),new u(67,126.9405),new u(68,127.93539),new u(69,128.932385),new u(70,129.92878),new u(71,130.927102697),new u(72,131.92312),new u(73,132.92221),new u(74,133.918645),new u(75,134.91824),new u(76,135.915020542),new u(77,136.91463973),new u(78,137.91291745),new u(79,138.91192415),new u(80,139.909309824),new u(81,140.9096048),new u(82,141.907718643),new u(83,142.909809626),new u(84,143.910082629),new u(85,144.912568847),new u(86,145.913112139),new u(87,146.916095794),new u(88,147.916888516),new u(89,148.92014419),new u(90,149.920886563),new u(91,150.923824739),new u(92,151.924682428),new u(93,152.927694534),new u(94,153.929483295),new u(95,154.932629551),new u(96,155.9352),new u(97,156.93927),new u(98,157.94187),new u(99,158.94639),new u(100,159.94939),new u(101,160.95433)]),B(d(Vt,1),Et,3,0,[new u(67,127.94826),new u(68,128.94316),new u(69,129.94045),new u(70,130.9358),new u(71,131.93375),new u(72,132.92972),new u(73,133.92849),new u(74,134.924617),new u(75,135.923447865),new u(76,136.920713),new u(77,137.920432261),new u(78,138.916759814),new u(79,139.915801649),new u(80,140.913606636),new u(81,141.912950738),new u(82,142.910927571),new u(83,143.912585768),new u(84,144.912743879),new u(85,145.914692165),new u(86,146.915133898),new u(87,147.917467786),new u(88,148.918329195),new u(89,149.920979477),new u(90,150.921202693),new u(91,151.923490557),new u(92,152.924113189),new u(93,153.926547019),new u(94,154.928097047),new u(95,155.931060357),new u(96,156.9332),new u(97,157.93669),new u(98,158.93913),new u(99,159.94299),new u(100,160.94586),new u(101,161.95029),new u(102,162.95352)]),B(d(Vt,1),Et,3,0,[new u(68,129.94863),new u(69,130.94589),new u(70,131.94082),new u(71,132.93873),new u(72,133.93402),new u(73,134.93235),new u(74,135.9283),new u(75,136.927046709),new u(76,137.92354),new u(77,138.922302),new u(78,139.918991),new u(79,140.918468512),new u(80,141.915193274),new u(81,142.914623555),new u(82,143.91199473),new u(83,144.913405611),new u(84,145.91303676),new u(85,146.914893275),new u(86,147.914817914),new u(87,148.917179521),new u(88,149.917271454),new u(89,150.919928351),new u(90,151.919728244),new u(91,152.922093907),new u(92,153.922205303),new u(93,154.92463594),new u(94,155.925526236),new u(95,156.928354506),new u(96,157.929987938),new u(97,158.9332),new u(98,159.93514),new u(99,160.93883),new u(100,161.94122),new u(101,162.94536),new u(102,163.94828),new u(103,164.95298)]),B(d(Vt,1),Et,3,0,[new u(69,131.95416),new u(70,132.9489),new u(71,133.94632),new u(72,134.94172),new u(73,135.9395),new u(74,136.93521),new u(75,137.93345),new u(76,138.92882915),new u(77,139.928083921),new u(78,140.924885867),new u(79,141.923400033),new u(80,142.920286634),new u(81,143.918774116),new u(82,144.916261285),new u(83,145.917199714),new u(84,146.916741206),new u(85,147.918153775),new u(86,148.917925922),new u(87,149.919698294),new u(88,150.919846022),new u(89,151.921740399),new u(90,152.921226219),new u(91,153.922975386),new u(92,154.922889429),new u(93,155.924750855),new u(94,156.925419435),new u(95,157.927841923),new u(96,158.9290845),new u(97,159.931460406),new u(98,160.93368),new u(99,161.93704),new u(100,162.93921),new u(101,163.94299),new u(102,164.94572),new u(103,165.94997),new u(104,166.95305)]),B(d(Vt,1),Et,3,0,[new u(72,135.94707),new u(73,136.94465),new u(74,137.93997),new u(75,138.93808),new u(76,139.933236934),new u(77,140.93221),new u(78,141.927908919),new u(79,142.926738636),new u(80,143.923390357),new u(81,144.921687498),new u(82,145.918305344),new u(83,146.919089446),new u(84,147.918109771),new u(85,148.919336427),new u(86,149.918655455),new u(87,150.920344273),new u(88,151.919787882),new u(89,152.921746283),new u(90,153.920862271),new u(91,154.922618801),new u(92,155.922119552),new u(93,156.923956686),new u(94,157.924100533),new u(95,158.926385075),new u(96,159.927050616),new u(97,160.929665688),new u(98,161.930981211),new u(99,162.93399),new u(100,163.93586),new u(101,164.93938),new u(102,165.9416),new u(103,166.94557),new u(104,167.94836),new u(105,168.95287)]),B(d(Vt,1),Et,3,0,[new u(73,137.95287),new u(74,138.94803),new u(75,139.945367985),new u(76,140.94116),new u(77,141.939073781),new u(78,142.93475),new u(79,143.93253),new u(80,144.92888),new u(81,145.927180629),new u(82,146.924037176),new u(83,147.924298636),new u(84,148.92324163),new u(85,149.923654158),new u(86,150.923098169),new u(87,151.924071324),new u(88,152.923430858),new u(89,153.924686236),new u(90,154.923500411),new u(91,155.924743749),new u(92,156.924021155),new u(93,157.92541026),new u(94,158.925343135),new u(95,159.927164021),new u(96,160.927566289),new u(97,161.929484803),new u(98,162.930643942),new u(99,163.933347253),new u(100,164.93488),new u(101,165.93805),new u(102,166.94005),new u(103,167.94364),new u(104,168.94622),new u(105,169.95025),new u(106,170.9533)]),B(d(Vt,1),Et,3,0,[new u(74,139.95379),new u(75,140.95119),new u(76,141.946695946),new u(77,142.94383),new u(78,143.93907),new u(79,144.936717),new u(80,145.932720118),new u(81,146.930878496),new u(82,147.927177882),new u(83,148.927333981),new u(84,149.925579728),new u(85,150.92617963),new u(86,151.924713874),new u(87,152.925760865),new u(88,153.924422046),new u(89,154.92574895),new u(90,155.924278273),new u(91,156.925461256),new u(92,157.924404637),new u(93,158.92573566),new u(94,159.925193718),new u(95,160.926929595),new u(96,161.926794731),new u(97,162.928727532),new u(98,163.929171165),new u(99,164.931699828),new u(100,165.932803241),new u(101,166.935649025),new u(102,167.93723),new u(103,168.940303648),new u(104,169.94267),new u(105,170.94648),new u(106,171.94911),new u(107,172.95344)]),B(d(Vt,1),Et,3,0,[new u(75,141.95986),new u(76,142.95469),new u(77,143.95164),new u(78,144.94688),new u(79,145.9441),new u(80,146.93984),new u(81,147.937269),new u(82,148.933789944),new u(83,149.932760914),new u(84,150.931680791),new u(85,151.931740598),new u(86,152.930194506),new u(87,153.930596268),new u(88,154.929079084),new u(89,155.929001869),new u(90,156.928188059),new u(91,157.92894573),new u(92,158.927708537),new u(93,159.928725679),new u(94,160.927851662),new u(95,161.92909242),new u(96,162.928730286),new u(97,163.930230577),new u(98,164.930319169),new u(99,165.932281267),new u(100,166.933126195),new u(101,167.935496424),new u(102,168.936868306),new u(103,169.939614951),new u(104,170.941461227),new u(105,171.94482),new u(106,172.94729),new u(107,173.95115),new u(108,174.95405)]),B(d(Vt,1),Et,3,0,[new u(76,143.96059),new u(77,144.95746),new u(78,145.95212),new u(79,146.94931),new u(80,147.94444),new u(81,148.942780527),new u(82,149.937171034),new u(83,150.93746),new u(84,151.935078452),new u(85,152.935093125),new u(86,153.932777294),new u(87,154.933204273),new u(88,155.931015001),new u(89,156.931945517),new u(90,157.929912),new u(91,158.930680718),new u(92,159.929078924),new u(93,160.930001348),new u(94,161.928774923),new u(95,162.930029273),new u(96,163.929196996),new u(97,164.9307228),new u(98,165.93028997),new u(99,166.932045448),new u(100,167.932367781),new u(101,168.934588082),new u(102,169.935460334),new u(103,170.938025885),new u(104,171.939352149),new u(105,172.9424),new u(106,173.94434),new u(107,174.94793),new u(108,175.95029),new u(109,176.95437)]),B(d(Vt,1),Et,3,0,[new u(77,145.966495),new u(78,146.961081),new u(79,147.95755),new u(80,148.95265),new u(81,149.94967),new u(82,150.944842),new u(83,151.9443),new u(84,152.942027631),new u(85,153.940832325),new u(86,154.939191562),new u(87,155.939006895),new u(88,156.936756069),new u(89,157.936996),new u(90,158.934808966),new u(91,159.935090772),new u(92,160.933398042),new u(93,161.933970147),new u(94,162.932647648),new u(95,163.933450972),new u(96,164.932432463),new u(97,165.933553133),new u(98,166.932848844),new u(99,167.934170375),new u(100,168.934211117),new u(101,169.935797877),new u(102,170.936425817),new u(103,171.938396118),new u(104,172.939600336),new u(105,173.942164618),new u(106,174.943832897),new u(107,175.946991412),new u(108,176.94904),new u(109,177.95264),new u(110,178.95534)]),B(d(Vt,1),Et,3,0,[new u(78,147.96676),new u(79,148.96348),new u(80,149.95799),new u(81,150.954657965),new u(82,151.950167),new u(83,152.94921),new u(84,153.945651145),new u(85,154.945792),new u(86,155.942847109),new u(87,156.94265865),new u(88,157.939857897),new u(89,158.940153735),new u(90,159.93756),new u(91,160.937357719),new u(92,161.93575),new u(93,162.936265492),new u(94,163.93452),new u(95,164.935397592),new u(96,165.933879623),new u(97,166.934946862),new u(98,167.933894465),new u(99,168.93518712),new u(100,169.934758652),new u(101,170.936322297),new u(102,171.936377696),new u(103,172.938206756),new u(104,173.938858101),new u(105,174.941272494),new u(106,175.942568409),new u(107,176.945257126),new u(108,177.946643396),new u(109,178.95017),new u(110,179.95233),new u(111,180.95615)]),B(d(Vt,1),Et,3,0,[new u(79,149.972668),new u(80,150.967147),new u(81,151.96361),new u(82,152.95869),new u(83,153.9571),new u(84,154.953641324),new u(85,155.952907),new u(86,156.950101536),new u(87,157.948577981),new u(88,158.946615113),new u(89,159.945383),new u(90,160.943047504),new u(91,161.943222),new u(92,162.941203796),new u(93,163.941215),new u(94,164.939605886),new u(95,165.939762646),new u(96,166.938307056),new u(97,167.938698576),new u(98,168.937648757),new u(99,169.93847219),new u(100,170.937909903),new u(101,171.939082239),new u(102,172.938926901),new u(103,173.940333522),new u(104,174.940767904),new u(105,175.942682399),new u(106,176.943754987),new u(107,177.945951366),new u(108,178.947324216),new u(109,179.949879968),new u(110,180.95197),new u(111,181.95521),new u(112,182.95757),new u(113,183.96117)]),B(d(Vt,1),Et,3,0,[new u(82,153.96425),new u(83,154.96276),new u(84,155.959247),new u(85,156.958127),new u(86,157.95405528),new u(87,158.954003),new u(88,159.950713588),new u(89,160.950330852),new u(90,161.947202977),new u(91,162.947057),new u(92,163.944422),new u(93,164.94454),new u(94,165.94225),new u(95,166.9426),new u(96,167.94063),new u(97,168.941158567),new u(98,169.93965),new u(99,170.94049),new u(100,171.93945798),new u(101,172.94065),new u(102,173.940040159),new u(103,174.941502991),new u(104,175.941401828),new u(105,176.943220013),new u(106,177.943697732),new u(107,178.945815073),new u(108,179.94654876),new u(109,180.949099124),new u(110,181.950552893),new u(111,182.953531012),new u(112,183.95544788),new u(113,184.95878),new u(114,185.96092)]),B(d(Vt,1),Et,3,0,[new u(83,155.971689),new u(84,156.968145),new u(85,157.966368),new u(86,158.96232309),new u(87,159.961358),new u(88,160.958372992),new u(89,161.956556553),new u(90,162.95431665),new u(91,163.95357),new u(92,164.950817),new u(93,165.95047),new u(94,166.948639),new u(95,167.947787),new u(96,168.94592),new u(97,169.94609),new u(98,170.94446),new u(99,171.944739818),new u(100,172.94459),new u(101,173.944167937),new u(102,174.94365),new u(103,175.944740551),new u(104,176.944471766),new u(105,177.945750349),new u(106,178.945934113),new u(107,179.947465655),new u(108,180.947996346),new u(109,181.950152414),new u(110,182.951373188),new u(111,183.954009331),new u(112,184.955559086),new u(113,185.9585501),new u(114,186.96041),new u(115,187.96371)]),B(d(Vt,1),Et,3,0,[new u(84,157.973939),new u(85,158.97228),new u(86,159.968369),new u(87,160.967089),new u(88,161.962750303),new u(89,162.962532),new u(90,163.95898381),new u(91,164.958335962),new u(92,165.955019896),new u(93,166.954672),new u(94,167.951863),new u(95,168.951759),new u(96,169.948473988),new u(97,170.94946),new u(98,171.948228837),new u(99,172.948884),new u(100,173.94616),new u(101,174.94677),new u(102,175.94559),new u(103,176.94662),new u(104,177.945848364),new u(105,178.947071733),new u(106,179.946705734),new u(107,180.948198054),new u(108,181.948205519),new u(109,182.950224458),new u(110,183.950932553),new u(111,184.953420586),new u(112,185.954362204),new u(113,186.957158365),new u(114,187.958486954),new u(115,188.96191222),new u(116,189.963179541)]),B(d(Vt,1),Et,3,0,[new u(85,159.981485),new u(86,160.977661),new u(87,161.975707),new u(88,162.971375872),new u(89,163.970319),new u(90,164.967050268),new u(91,165.965211372),new u(92,166.962564),new u(93,167.961609),new u(94,168.95883),new u(95,169.958163),new u(96,170.955547),new u(97,171.955285),new u(98,172.953062),new u(99,173.952114),new u(100,174.951393),new u(101,175.95157),new u(102,176.95027),new u(103,177.950851081),new u(104,178.949981038),new u(105,179.95078768),new u(106,180.950064596),new u(107,181.951211444),new u(108,182.950821349),new u(109,183.952524289),new u(110,184.952955747),new u(111,185.954986529),new u(112,186.955750787),new u(113,187.958112287),new u(114,188.959228359),new u(115,189.961816139),new u(116,190.963123592),new u(117,191.96596)]),B(d(Vt,1),Et,3,0,[new u(86,161.983819),new u(87,162.982048),new u(88,163.977927),new u(89,164.976475),new u(90,165.971934911),new u(91,166.971554),new u(92,167.967832911),new u(93,168.967076205),new u(94,169.963569716),new u(95,170.96304),new u(96,171.960078),new u(97,172.959791),new u(98,173.956307704),new u(99,174.95708),new u(100,175.953757941),new u(101,176.955045),new u(102,177.953348225),new u(103,178.953951),new u(104,179.952308241),new u(105,180.953274494),new u(106,181.952186222),new u(107,182.95311),new u(108,183.952490808),new u(109,184.954043023),new u(110,185.953838355),new u(111,186.955747928),new u(112,187.955835993),new u(113,188.958144866),new u(114,189.95844521),new u(115,190.960927951),new u(116,191.961479047),new u(117,192.964148083),new u(118,193.965179314),new u(119,194.968123889),new u(120,195.96962255)]),B(d(Vt,1),Et,3,0,[new u(88,164.98758),new u(89,165.985506),new u(90,166.980951577),new u(91,167.979966),new u(92,168.976390868),new u(93,169.974441697),new u(94,170.971779),new u(95,171.970643),new u(96,172.967707),new u(97,173.966804),new u(98,174.964279),new u(99,175.963511),new u(100,176.96117),new u(101,177.960084944),new u(102,178.95915),new u(103,179.958555615),new u(104,180.957642156),new u(105,181.958127689),new u(106,182.956814),new u(107,183.957388318),new u(108,184.95659),new u(109,185.957951104),new u(110,186.95736083),new u(111,187.958851962),new u(112,188.958716473),new u(113,189.960592299),new u(114,190.960591191),new u(115,191.962602198),new u(116,192.9629237),new u(117,193.96507561),new u(118,194.9659768),new u(119,195.968379906),new u(120,196.969636496),new u(121,197.97228),new u(122,198.973787159)]),B(d(Vt,1),Et,3,0,[new u(90,167.988035),new u(91,168.986421),new u(92,169.981734918),new u(93,170.981251),new u(94,171.977376138),new u(95,172.976499642),new u(96,173.972811276),new u(97,174.972276),new u(98,175.969),new u(99,176.968453),new u(100,177.964894223),new u(101,178.965475),new u(102,179.962023729),new u(103,180.963177),new u(104,181.961267637),new u(105,182.961729),new u(106,183.959851685),new u(107,184.960753782),new u(108,185.959432346),new u(109,186.960697),new u(110,187.959395697),new u(111,188.9608319),new u(112,189.959930073),new u(113,190.961684653),new u(114,191.961035158),new u(115,192.962984504),new u(116,193.962663581),new u(117,194.964774449),new u(118,195.964934884),new u(119,196.967323401),new u(120,197.967876009),new u(121,198.970576213),new u(122,199.971423885),new u(123,200.974496467),new u(124,201.97574)]),B(d(Vt,1),Et,3,0,[new u(92,170.991183),new u(93,171.990109),new u(94,172.986398138),new u(95,173.984325861),new u(96,174.981552),new u(97,175.980269),new u(98,176.977215),new u(99,177.975975),new u(100,178.973412),new u(101,179.972396),new u(102,180.969948),new u(103,181.968621416),new u(104,182.96762),new u(105,183.966776046),new u(106,184.965806956),new u(107,185.965997671),new u(108,186.964562),new u(109,187.965321662),new u(110,188.9642243),new u(111,189.964698757),new u(112,190.963649239),new u(113,191.964810107),new u(114,192.964131745),new u(115,193.96533889),new u(116,194.965017928),new u(117,195.966551315),new u(118,196.966551609),new u(119,197.968225244),new u(120,198.968748016),new u(121,199.970717886),new u(122,200.971640839),new u(123,201.973788431),new u(124,202.975137256),new u(125,203.977705),new u(126,204.97961)]),B(d(Vt,1),Et,3,0,[new u(95,174.991411),new u(96,175.987413248),new u(97,176.986336874),new u(98,177.982476325),new u(99,178.981783),new u(100,179.978322),new u(101,180.977806),new u(102,181.97393546),new u(103,182.974561),new u(104,183.970705219),new u(105,184.971983),new u(106,185.969460021),new u(107,186.969785),new u(108,187.967511693),new u(109,188.968733187),new u(110,189.966958568),new u(111,190.96706311),new u(112,191.965921572),new u(113,192.966644169),new u(114,193.965381832),new u(115,194.966638981),new u(116,195.965814846),new u(117,196.967195333),new u(118,197.96675183),new u(119,198.968262489),new u(120,199.968308726),new u(121,200.970285275),new u(122,201.970625604),new u(123,202.972857096),new u(124,203.97347564),new u(125,204.976056104),new u(126,205.977498672),new u(127,206.982577025),new u(128,207.98594)]),B(d(Vt,1),Et,3,0,[new u(96,176.996881),new u(97,177.994637),new u(98,178.991466),new u(99,179.990194),new u(100,180.986904),new u(101,181.98561),new u(102,182.982697),new u(103,183.98176),new u(104,184.9791),new u(105,185.977549881),new u(106,186.97617),new u(107,187.97592),new u(108,188.974290451),new u(109,189.974473379),new u(110,190.972261952),new u(111,191.972770785),new u(112,192.970548),new u(113,193.971053),new u(114,194.96965),new u(115,195.970515),new u(116,196.9695362),new u(117,197.970466294),new u(118,198.969813837),new u(119,199.970945394),new u(120,200.97080377),new u(121,201.972090569),new u(122,202.972329088),new u(123,203.973848646),new u(124,204.97441227),new u(125,205.976095321),new u(126,206.977407908),new u(127,207.982004653),new u(128,208.985349125),new u(129,209.990065574)]),B(d(Vt,1),Et,3,0,[new u(99,180.996714),new u(100,181.992676101),new u(101,182.99193),new u(102,183.988198),new u(103,184.98758),new u(104,185.983485388),new u(105,186.98403),new u(106,187.979869108),new u(107,188.98088),new u(108,189.978180008),new u(109,190.9782),new u(110,191.975719811),new u(111,192.97608),new u(112,193.974648056),new u(113,194.975920279),new u(114,195.97271),new u(115,196.97338),new u(116,197.97198),new u(117,198.972909384),new u(118,199.97181556),new u(119,200.972846589),new u(120,201.972143786),new u(121,202.973375491),new u(122,203.973028761),new u(123,204.974467112),new u(124,205.974449002),new u(125,206.975880605),new u(126,207.97663585),new u(127,208.981074801),new u(128,209.984173129),new u(129,210.988731474),new u(130,211.991887495),new u(131,212.9965),new u(132,213.999798147)]),B(d(Vt,1),Et,3,0,[new u(102,184.997708),new u(103,185.99648),new u(104,186.993458),new u(105,187.992173),new u(106,188.989505),new u(107,189.987520007),new u(108,190.986053),new u(109,191.985368),new u(110,192.983662229),new u(111,193.983430186),new u(112,194.98112697),new u(113,195.981236107),new u(114,196.978934287),new u(115,197.979024396),new u(116,198.977576953),new u(117,199.978141983),new u(118,200.976970721),new u(119,201.977674504),new u(120,202.976868118),new u(121,203.977805161),new u(122,204.977374688),new u(123,205.978482854),new u(124,206.978455217),new u(125,207.979726699),new u(126,208.980383241),new u(127,209.984104944),new u(128,210.987258139),new u(129,211.991271542),new u(130,212.994374836),new u(131,213.998698664),new u(132,215.001832349),new u(133,216.006199)]),B(d(Vt,1),Et,3,0,[new u(106,189.994293888),new u(107,190.994653),new u(108,191.99033039),new u(109,192.991102),new u(110,193.988284107),new u(111,194.988045),new u(112,195.985469432),new u(113,196.985567),new u(114,197.984024384),new u(115,198.985044507),new u(116,199.981735),new u(117,200.982209),new u(118,201.980704),new u(119,202.981412863),new u(120,203.980307113),new u(121,204.981165396),new u(122,205.980465241),new u(123,206.981578228),new u(124,207.981231059),new u(125,208.982415788),new u(126,209.982857396),new u(127,210.986636869),new u(128,211.988851755),new u(129,212.992842522),new u(130,213.995185949),new u(131,214.999414609),new u(132,216.001905198),new u(133,217.006253),new u(134,218.008965773)]),B(d(Vt,1),Et,3,0,[new u(108,193.000188),new u(109,193.997973),new u(110,194.996554),new u(111,195.995702),new u(112,196.993891293),new u(113,197.99343368),new u(114,198.991008569),new u(115,199.990920883),new u(116,200.988486908),new u(117,201.988448629),new u(118,202.986847216),new u(119,203.987261559),new u(120,204.986036352),new u(121,205.986599242),new u(122,206.985775861),new u(123,207.986582508),new u(124,208.986158678),new u(125,209.987131308),new u(126,210.987480806),new u(127,211.990734657),new u(128,212.99292115),new u(129,213.996356412),new u(130,214.998641245),new u(131,216.002408839),new u(132,217.004709619),new u(133,218.008681458),new u(134,219.011296478),new u(135,220.015301),new u(136,221.01814),new u(137,222.02233),new u(138,223.02534)]),B(d(Vt,1),Et,3,0,[new u(110,196.001117268),new u(111,197.001661),new u(112,197.998779978),new u(113,198.998309),new u(114,199.995634148),new u(115,200.995535),new u(116,201.993899382),new u(117,202.994765192),new u(118,203.991365),new u(119,204.991668),new u(120,205.99016),new u(121,206.990726826),new u(122,207.989631237),new u(123,208.990376634),new u(124,209.989679862),new u(125,210.99058541),new u(126,211.990688899),new u(127,212.993868354),new u(128,213.995346275),new u(129,214.998729195),new u(130,216.000258153),new u(131,217.003914555),new u(132,218.005586315),new u(133,219.009474831),new u(134,220.011384149),new u(135,221.015455),new u(136,222.017570472),new u(137,223.02179),new u(138,224.02409),new u(139,225.02844),new u(140,226.03089),new u(141,227.035407),new u(142,228.038084)]),B(d(Vt,1),Et,3,0,[new u(113,200.006499),new u(114,201.00458692),new u(115,202.00396885),new u(116,203.001423829),new u(117,204.001221209),new u(118,204.998663961),new u(119,205.998486886),new u(120,206.996859385),new u(121,207.997133849),new u(122,208.995915421),new u(123,209.996398327),new u(124,210.995529332),new u(125,211.996194988),new u(126,212.996174845),new u(127,213.99895474),new u(128,215.000326029),new u(129,216.003187873),new u(130,217.004616452),new u(131,218.007563326),new u(132,219.009240843),new u(133,220.012312978),new u(134,221.014245654),new u(135,222.017543957),new u(136,223.019730712),new u(137,224.023235513),new u(138,225.025606914),new u(139,226.029343423),new u(140,227.031833167),new u(141,228.034776087),new u(142,229.038426),new u(143,230.04251),new u(144,231.045407),new u(145,232.049654)]),B(d(Vt,1),Et,3,0,[new u(115,203.00921),new u(116,204.006434513),new u(117,205.006187),new u(118,206.004463814),new u(119,207.005176607),new u(120,208.001776),new u(121,209.001944),new u(122,210.000446),new u(123,211.000893996),new u(124,211.999783492),new u(125,213.000345847),new u(126,214.000091141),new u(127,215.002704195),new u(128,216.003518402),new u(129,217.00630601),new u(130,218.007123948),new u(131,219.010068787),new u(132,220.011014669),new u(133,221.013907762),new u(134,222.01536182),new u(135,223.01849714),new u(136,224.020202004),new u(137,225.023604463),new u(138,226.025402555),new u(139,227.029170677),new u(140,228.031064101),new u(141,229.034820309),new u(142,230.037084774),new u(143,231.04122),new u(144,232.043693),new u(145,233.047995),new u(146,234.050547)]),B(d(Vt,1),Et,3,0,[new u(118,207.012469754),new u(119,208.012112949),new u(120,209.009568736),new u(121,210.009256802),new u(122,211.007648196),new u(123,212.007811441),new u(124,213.006573689),new u(125,214.006893072),new u(126,215.006450832),new u(127,216.008721268),new u(128,217.009332676),new u(129,218.011625045),new u(130,219.012404918),new u(131,220.014752105),new u(132,221.015575746),new u(133,222.017828852),new u(134,223.01912603),new u(135,224.021708435),new u(136,225.023220576),new u(137,226.026089848),new u(138,227.027746979),new u(139,228.031014825),new u(140,229.032930871),new u(141,230.036025144),new u(142,231.038551503),new u(143,232.042022474),new u(144,233.04455),new u(145,234.04842),new u(146,235.051102),new u(147,236.055178)]),B(d(Vt,1),Et,3,0,[new u(120,210.015711883),new u(121,211.016306912),new u(122,212.012916),new u(123,213.012962),new u(124,214.011451),new u(125,215.011726597),new u(126,216.011050963),new u(127,217.013066169),new u(128,218.013267744),new u(129,219.015521253),new u(130,220.015733126),new u(131,221.018171499),new u(132,222.018454131),new u(133,223.020795153),new u(134,224.02145925),new u(135,225.023941441),new u(136,226.024890681),new u(137,227.027698859),new u(138,228.028731348),new u(139,229.03175534),new u(140,230.033126574),new u(141,231.03629706),new u(142,232.03805036),new u(143,233.041576923),new u(144,234.043595497),new u(145,235.04750442),new u(146,236.04971),new u(147,237.053894),new u(148,238.056243)]),B(d(Vt,1),Et,3,0,[new u(122,213.021183209),new u(123,214.02073923),new u(124,215.019097612),new u(125,216.019109649),new u(126,217.018288571),new u(127,218.020007906),new u(128,219.019880348),new u(129,220.021876493),new u(130,221.021863742),new u(131,222.023726),new u(132,223.023963748),new u(133,224.025614854),new u(134,225.026115172),new u(135,226.02793275),new u(136,227.028793151),new u(137,228.031036942),new u(138,229.032088601),new u(139,230.034532562),new u(140,231.035878898),new u(141,232.03858172),new u(142,233.040240235),new u(143,234.043302325),new u(144,235.045436759),new u(145,236.048675176),new u(146,237.05113943),new u(147,238.054497046),new u(148,239.05713),new u(149,240.06098)]),B(d(Vt,1),Et,3,0,[new u(126,218.023487),new u(127,219.024915423),new u(128,220.024712),new u(129,221.026351),new u(130,222.02607),new u(131,223.027722956),new u(132,224.027590139),new u(133,225.029384369),new u(134,226.02933975),new u(135,227.031140069),new u(136,228.031366357),new u(137,229.033496137),new u(138,230.033927392),new u(139,231.036289158),new u(140,232.03714628),new u(141,233.039628196),new u(142,234.040945606),new u(143,235.043923062),new u(144,236.045561897),new u(145,237.048723955),new u(146,238.050782583),new u(147,239.054287777),new u(148,240.056585734),new u(149,241.06033),new u(150,242.062925)]),B(d(Vt,1),Et,3,0,[new u(132,225.033899689),new u(133,226.035129),new u(134,227.034958261),new u(135,228.03618),new u(136,229.036246866),new u(137,230.037812591),new u(138,231.038233161),new u(139,232.040099),new u(140,233.04073235),new u(141,234.042888556),new u(142,235.044055876),new u(143,236.046559724),new u(144,237.048167253),new u(145,238.050940464),new u(146,239.052931399),new u(147,240.056168828),new u(148,241.058246266),new u(149,242.061635),new u(150,243.064273),new u(151,244.06785)]),B(d(Vt,1),Et,3,0,[new u(134,228.038727686),new u(135,229.040138934),new u(136,230.039645603),new u(137,231.041258),new u(138,232.041179445),new u(139,233.04298757),new u(140,234.043304681),new u(141,235.0452815),new u(142,236.046048088),new u(143,237.048403774),new u(144,238.0495534),new u(145,239.052156519),new u(146,240.05380746),new u(147,241.056845291),new u(148,242.058736847),new u(149,243.061997013),new u(150,244.06419765),new u(151,245.067738657),new u(152,246.070198429),new u(153,247.07407)]),B(d(Vt,1),Et,3,0,[new u(136,231.04556),new u(137,232.04659),new u(138,233.046472),new u(139,234.047794),new u(140,235.048029),new u(141,236.049569),new u(142,237.049970748),new u(143,238.051977839),new u(144,239.053018481),new u(145,240.055287826),new u(146,241.056822944),new u(147,242.059543039),new u(148,243.061372686),new u(149,244.064279429),new u(150,245.066445398),new u(151,246.069768438),new u(152,247.072086),new u(153,248.075745),new u(154,249.07848)]),B(d(Vt,1),Et,3,0,[new u(137,233.0508),new u(138,234.05024),new u(139,235.051591),new u(140,236.051405),new u(141,237.052891),new u(142,238.053016298),new u(143,239.054951),new u(144,240.055519046),new u(145,241.057646736),new u(146,242.058829326),new u(147,243.061382249),new u(148,244.062746349),new u(149,245.065485586),new u(150,246.067217551),new u(151,247.070346811),new u(152,248.072342247),new u(153,249.075947062),new u(154,250.078350687),new u(155,251.082277873),new u(156,252.08487)]),B(d(Vt,1),Et,3,0,[new u(138,235.05658),new u(139,236.05733),new u(140,237.057127),new u(141,238.058266),new u(142,239.058362),new u(143,240.059749),new u(144,241.060223),new u(145,242.06205),new u(146,243.06300157),new u(147,244.065167882),new u(148,245.066355386),new u(149,246.068666836),new u(150,247.070298533),new u(151,248.07308),new u(152,249.074979937),new u(153,250.078310529),new u(154,251.08075344),new u(155,252.084303),new u(156,253.08688),new u(157,254.0906)]),B(d(Vt,1),Et,3,0,[new u(139,237.06207),new u(140,238.06141),new u(141,239.062579),new u(142,240.062295),new u(143,241.063716),new u(144,242.063688713),new u(145,243.065421),new u(146,244.06599039),new u(147,245.068039),new u(148,246.068798807),new u(149,247.070992043),new u(150,248.07217808),new u(151,249.074846818),new u(152,250.076399951),new u(153,251.079580056),new u(154,252.081619582),new u(155,253.085126791),new u(156,254.087316198),new u(157,255.091039),new u(158,256.09344)]),B(d(Vt,1),Et,3,0,[new u(141,240.06892),new u(142,241.068662),new u(143,242.069699),new u(144,243.069631),new u(145,244.070969),new u(146,245.071317),new u(147,246.072965),new u(148,247.07365),new u(149,248.075458),new u(150,249.076405),new u(151,250.078654),new u(152,251.079983592),new u(153,252.082972247),new u(154,253.084817974),new u(155,254.088016026),new u(156,255.090266386),new u(157,256.093592),new u(158,257.095979)]),B(d(Vt,1),Et,3,0,[new u(142,242.07343),new u(143,243.07451),new u(144,244.074077),new u(145,245.075375),new u(146,246.075281634),new u(147,247.076819),new u(148,248.077184411),new u(149,249.079024),new u(150,250.079514759),new u(151,251.081566467),new u(152,252.082460071),new u(153,253.085176259),new u(154,254.086847795),new u(155,255.089955466),new u(156,256.091766522),new u(157,257.095098635),new u(158,258.097069),new u(159,259.100588)]),B(d(Vt,1),Et,3,0,[new u(144,245.081017),new u(145,246.081933),new u(146,247.081804),new u(147,248.082909),new u(148,249.083002),new u(149,250.084488),new u(150,251.084919),new u(151,252.08663),new u(152,253.08728),new u(153,254.089725),new u(154,255.091075196),new u(155,256.094052757),new u(156,257.095534643),new u(157,258.098425321),new u(158,259.100503),new u(159,260.103645)]),B(d(Vt,1),Et,3,0,[new u(147,249.087823),new u(148,250.087493),new u(149,251.08896),new u(150,252.088965909),new u(151,253.090649),new u(152,254.090948746),new u(153,255.093232449),new u(154,256.094275879),new u(155,257.096852778),new u(156,258.0982),new u(157,259.101024),new u(158,260.102636),new u(159,261.105743),new u(160,262.10752)]),B(d(Vt,1),Et,3,0,[new u(148,251.09436),new u(149,252.09533),new u(150,253.095258),new u(151,254.096587),new u(152,255.096769),new u(153,256.098763),new u(154,257.099606),new u(155,258.101883),new u(156,259.10299),new u(157,260.105572),new u(158,261.106941),new u(159,262.109692),new u(160,263.111394)]),B(d(Vt,1),Et,3,0,[new u(149,253.100679),new u(150,254.100166),new u(151,255.101492),new u(152,256.101179573),new u(153,257.103072),new u(154,258.103568),new u(155,259.105628),new u(156,260.106434),new u(157,261.108752),new u(158,262.109918),new u(159,263.11254),new u(160,264.113978)]),B(d(Vt,1),Et,3,0,[new u(150,255.107398),new u(151,256.10811),new u(152,257.107858),new u(153,258.109438),new u(154,259.109721),new u(155,260.111427),new u(156,261.112106),new u(157,262.114153),new u(158,263.115078),new u(159,264.117473),new u(160,265.118659)]),B(d(Vt,1),Et,3,0,[new u(152,258.113151),new u(153,259.114652),new u(154,260.114435447),new u(155,261.116199),new u(156,262.116477),new u(157,263.118313),new u(158,264.118924),new u(159,265.121066),new u(160,266.121928)]),B(d(Vt,1),Et,3,0,[new u(153,260.121803),new u(154,261.1218),new u(155,262.123009),new u(156,263.123146),new u(157,264.12473),new u(158,265.125198),new u(159,266.127009),new u(160,267.12774)]),B(d(Vt,1),Et,3,0,[new u(155,263.12871),new u(156,264.128408258),new u(157,265.130001),new u(158,266.130042),new u(159,267.131774),new u(160,268.132156),new u(161,269.134114)]),B(d(Vt,1),Et,3,0,[new u(156,265.136567),new u(157,266.13794),new u(158,267.137526),new u(159,268.138816),new u(160,269.139106),new u(161,270.140723),new u(162,271.141229)])]);}function U6(t,e){return A1(e,D4)?new WU(ev(t,168,1428,"%5968%UDy0ClA8tJ9QPLT6UDy08FA8tJVQPLQK%858%BQPLQdUDy0yVA8tP9QPLT/UDy0/1A8tP9QPLSW%362%D4BwYC+AYGAvgHBgE%303%D/AAAB/wAAAQ%159%FA8tC1QPLThUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTl%330%D5BgcB+AcGBPkHBhX5BwdN+QYHefgHB2/5Bwc8+AYGFfgGBgj5BgcF+AYGAvkHBgE%245%/wAAAf8AAAL/AAAG/wAAEP8AACP/AAA7/wAAP/8AAD3/AAAg/wAABw%154%UDy0RFA8tPJQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT5%325%PkFCAT4BgZE+QcHo/gHB+X5Bwb/+QcH//kHB//4Bwf9+QYH1vgHB5X5BwZD+QcGDvkHBwb5BgYD+QcGAQ%228%D/AAAS/wAARP8AAIL/AAC4/wAA2/8AAPf/AAD//wAA//8AAPj/AAB+/wAADw%148%BQPLRnUDy0+1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%314%D5BwYC+AYHK/kHBrb4Bwf4+AcH//gHB//5Bwf/+AcG//kHBv/5Bwf/+AYH//gHB/75Bwf3+AYHs/kHBkH5BgcR+QYGB/kFBgL6BgYB%197%P8AAAH/AAAI/wAAKP8AAIj/AADh/wAA9/8AAP3/AAD//wAA//8AAP//AAD6/wAAzv8AAGH/AAAq/wAAEw%143%FA8tI9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%304%+QYHAfoIBwX4BgZu+QcH6fkGB//5Bgf/+QYH//kHB//5Bwf/+QcG//kHBv/4Bwb/+AcH//gHB//5Bgf/+AcH//kHBvT5Bwas+QYGO/kGBgr5BgUG+gUFAQ%175%P8AAAE%5%/wAACv8AAFX/AACy/wAA8P8AAP//AAD//wAA//8AAP//AAD//wAA//8AANP/AACD/wAARf8AACz/AAAZ/wAACQ%132%BQPLQJUDy0qlA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%304%+QcGBPkGB374Bwf5+AcH//kHB//5Bwf/+QcH//kHBv/4Bwf/+AcH//gHB//5Bwf/+QcG//gHB//5Bwf/+QcG//gGB//4Bwb/+QYG8PkGBoD5BgYg+gYFCvoFBQQ%165%/wAAAf8AAA7/AABV/wAAzf8AAPv/AAD//wAA//8AAP//AAD//wAA//8AAPz/AADo/wAAkf8AAEr/AAAz/wAAH/8AAA//AAAG/wAAAQ%127%FA8tBNQPLTDUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%304%+QYGUvgHBvn4Bwf/+AcH//kHB//5Bwf/+QcH//kHB//4Bgf/+QcH//gHB//4Bwb/+AcH//gHB//4Bgf/+QcG//gGB//5Bwf/+QYG//kGBv76BgbL+gYFTfoFBQ76BQUH+gUEAQ%148%D/AAAG/wAAWf8AAMb/AAD9/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA7P8AAJ3/AABW/wAANP8AACL/AAAS/wAAB/8AAAI%133%UDy0I1A8tNtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%293%PkHBwH4BwYD+AYHwfgHB//4Bwb/+QYH//gGBv/4Bwf/+QYH//kGB//5Bwf/+AcH//gHB//5Bwb/+AcH//kGB//4Bwf/+AYG//kHB//4Bwb/+AYG//kHB//5BQb/+QYF8/oFBX76BQUd+wQFCfsEBAI%133%/wAABv8AADj/AAC5/wAA/P8AAP//AAD//wAA//8AAP//AAD//wAA//8AAPP/AAC6/wAAXv8AADn/AAAm/wAAE/8AAAj/AAAC/wAAAQ%132%BQPLQ7UDy06FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%293%PgGBgH4BggD+QcGqPgHB//4Bwf/+AcH//gHB//4Bwf/+AcG//gHB//4Bgf/+QYG//gGBv/5Bgb/+AcH//kHB//4Bgb/+QcH//gHB//5Bwf/+QcH//kHBv/5Bgb/+gYG//oFBfz6BQW++wQFMfoFBAz7BAQE%112%/wAAAQ%4%D/AAAf/wAAo/8AAPD/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA0P8AAHL/AABB/wAAKf8AABb/AAAJ/wAAA/8AAAE%138%FA8tFNQPLT2UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%293%PgGBwH4BwcE+AcHJ/gHB8j4Bgf/+AcH//kHBv/4Bwf/+QcH//gHB//5Bgb/+AcG//gHB//4Bwf/+AYH//gHB//4Bwb/+QcH//kGB//5Bwf/+AYH//kHBv/5Bgb/+QYG//oFBv/6BQX/+gQF3foEBVL7BAQR+wMEBvwDAwE%101%/wAAEP8AAGj/AADm/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAOj/AACX/wAASP8AADD/AAAb/wAADP8AAAT/AAAB%144%UDy0blA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0LlA8tAI%287%D5BgcC+QcGC/gGBir5Bwea+QcH9vkHB//4Bwb/+QYG//gHB//4Bwf/+QYG//gGB//4Bwf/+AcH//gGBv/4Bwf/+QYH//kGB//4Bgf/+QcH//gHBv/5Bgb/+QUG//kGBf/6BQX/+gUF//oEBfD7BAR0/AQEFPsDAwj8BAMC%80%/wAAAf8AAAL/AAA1/wAAyv8AAPr/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD8/wAAwv8AAGD/AAA5/wAAI/8AABD/AAAG/wAAAg%143%FA8tAFQPLSRUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTmUDy0yFA8tJpQPLR4UDy0UFA8tCI%261%+AYHA/gGBw35BwYa+AYHWPkHBr75Bwf4+AcH//kHB//4Bwf/+AYH//gHB//5Bwf/+QcH//gHB//4Bwb/+QcG//kHBv/4Bwf/+QcG//gHBv/5Bgb/+QYG//oGBv/6BQX/+gUF//sEBf/7BAT+/AQEkvwDAx38AwMK/QMDAg%74%/wAAFP8AAIP/AADy/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAO7/AACX/wAAR/8AAC7/AAAX/wAACf8AAAI%149%UDy0B1A8tKpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTzUDy0v1A8tI1QPLRSUDy0Fw%239%PkHBwL4BwcI+AYGFPgHByf5Bgdh+AYHzPkHB/v5Bwf/+QcG//kHBv/4Bwb/+QcG//kHB//5Bwf/+QYG//gHBv/4Bwf/+QcH//gGB//5Bwb/+QYG//oGBv/6BgX/+gQF//oFBP/7BAT/+wQE/fwEBK/8BAMk/AMDDPwCAgM%53%/wAAAf8AAAP/AAA5/wAA0v8AAP3/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD+/wAA3P8AAGz/AAA8/wAAIv8AAA//AAAF/wAAAQ%148%BQPLQTUDy0xlA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNdQPLSTUDy0TlA8tAw%223%D4BgYB+QcHBPkHBgv4BwcV+AYGK/gHB3H4BwfM+AcH/vgHB//4Bgf/+QYG//gHB//4Bwb/+AYH//gHBv/5Bwf/+QcH//gHB//4Bwb/+QYG//kGBv/6Bgb/+gUF//sEBf/7BAT/+wQE//wEBP78AwS7/AMDLP0DAgz9AgID%37%P8AAAE%5%/wAAEP8AAIL/AADx/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAC5/wAAVv8AADH/AAAa/wAACf8AAAI%154%FA8tCBQPLTZUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPxQPLS3UDy0aVA8tBg%218%PkHBwH5BwcF+QYHDPgHBxn5Bwct+QYHd/kHBt/5Bwb8+AcG//gHB//4Bwf/+QcG//gGBv/4Bwf/+AcG//gHB//5Bgb/+QcH//kGBv/6BgX/+gYF//oFBf/7BAX/+wUE//sEBP/7AwT//AMDy/0DAzP8AwIO/QIDB%32%P8AAAP/AAAr/wAAx/8AAP3/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA9v8AAJz/AABG/wAAK/8AABP/AAAG/wAAAQ%154%UDy0NVA8tONQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLS2UDy0XlA8tAg%213%+QYGAfgHBgX4BwcN+QcHGPgHBzf4BgeF+QcH4/gGBv/4Bwb/+AcH//gHB//5Bwf/+QcG//gHB//5Bwb/+QYG//kGBv/5Bgb/+QYF//oFBf/7BQX/+gUE//sEBP/8BAP//AMD//wDAtD9AgI3/QICDv0CAgQ%21%/wAAAv8AAG7/AADo/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADq/wAAgf8AAD7/AAAk/wAADv8AAAQ%159%BQPLRJUDy09VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOxQPLSSUDy0L%213%D5BwcB+QYHBfgGBg/5Bgcb+AcGOfgHB6D5Bwfv+QcH//kGBv/5Bwb/+AcH//gGB//5Bwf/+QYG//kGBv/5Bgb/+gUG//oGBf/6BAX/+gQF//sEBP/7BAP/+wMD//wDA//9AwPW/QMCOf0CAg/9AQIE%5%P4BAQH/AQEd/wEApv8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AANz/AABo/wAAOP8AAB7/AAAL/wAAAw%159%FA8tGZQPLT5UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tLxQPLRB%213%PgHBwL5BgcH+AcHEPkHBh/5BgZN+AYHsfgGB/v4Bwf/+AYG//gHBv/4Bgf/+QYH//kGBv/5Bgb/+gYG//oFBf/6BQX/+gQF//sEBP/7BAP//AQE//wDA//8AwP//QID0/0CAjP9AgEP/QEBAv4BAUf+AQDX/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAx/8AAFz/AAAz/wAAGP8AAAj/AAAB%160%UDy0elA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0zFA8tEQ%207%D5BgcB+QcHAvgHBwj4BwYT+AYGIfgHB2j5BgfW+QcH/PkHBv/5Bwf/+AYH//gHBv/5Bgb/+QUF//oFBv/7BQX/+gUF//sFBP/7BAT//AME//wDA//8AwL//AMD//wCAsv+AgI8/QEBfP4BAfb+AQH//wEA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAPv/AAC6/wAAUP8AAC7/AAAV/wAABv8AAAE%159%BQPLSYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTAUDy0Mw%207%PkHBwH4BwcD+QcHCvgHBhb5Bwcy+QYHh/kHB/H4Bwf/+AcH//kGBv/5Bgb/+QYG//oFBv/6BQX/+gUF//oFBP/7BAT/+wQD//sDA//8AwP//QMD//0DAv79AgLp/gIC+/4CAf/+AQH//wAB//8AAP//AAD//wAA//8AAP//AAD//wAA+f8AAKL/AABJ/wAAKf8AABH/AAAF%165%FA8tJdQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/lA8tJZQPLQO%208%+AYGAfkHBwT4BgYO+QYGGfgHB0n5Bwe7+QcH+vkHBv/5Bgb/+gYF//kGBv/6BgX/+wUF//oEBf/7BAT/+wME//wDA//8AwP//AMD//wCAv/9AgL//QIC//4BAf/+AQH//gAA//8AAf//AAD//wAA//8AAP//AAD1/wAAmf8AAEP/AAAm/wAADv8AAAQ%170%FA8tPNQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLToUDy0VQ%212%D4BwcC+AcHB/kHBxL5BgYm+QcHb/kGB+n5Bwf++QYG//kFBv/5BgX/+wUF//sFBf/7BAT/+wME//wDA//8AwT//AMD//0DAv/9AgL//QIC//4CAf/+AgH//gAB//4AAP//AAD//wAA//8AAPT/AACF/wAAQP8AACL/AAAN/wAAAw%175%FA8tPRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tK1QPLQP%208%+AcHAfkHBwT4BwcL+QcHF/gHBj/5Bgau+QYG+/oFBv/6BQX/+gUF//sFBf/7BQT/+wQE//sEBP/8AwP//AMD//wCA//9AgL//gEC//4CAf/+AQH//gEA//4BAf//AAD//wAA6/8AAHz/AAA7/wAAH/8AAAv/AAAC%181%FA8tHVQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTgUDy0Mw%212%D5BwYB+QcHBvgHBhH5Bwci+QYHbPoGBuX5Bgb++gUG//oFBf/7BAT/+wUE//sEBP/8AwT//AMD//0CAv/9AgL//QIC//4BAf/+AgL//gEB//8AAP/+AADs/wAAcv8AADr/AAAd/wAACv8AAAI%191%BQPLSNUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09VA8tFs%213%+AcHAfgHBwP4BwcK+QYGFfkGBkD5BQWz+gUF/PoFBf/7BAT/+wQE//sEBP/7BAP//AME//wDA//8AgL//QIC//0CAv/9AgL//gEB//8BAPf/AAB5/wAAPP8AABz/AAAI/wAAAQ%202%UDy0f1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLRt%218%D5BwYB+AYGBfkGBhH6BQYk+gUFqfsEBf77BAX/+wUF//sEBP/7BAP//AMD//wDA//9AwL//QMD//0BAv/+AQL//gEB//4BAf/+AAG//wAANP8AABH/AAAD%213%FA8tGhQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0iw%218%+AcGAfkGBgn6BgaD+QUF8foFBf/7BQX/+wUE//sEBP/7BAT//AMD//wDBP/9AwP//QMC//4CAv/+AQL//gIB//4BAf//AAD8/wAAjf8AABr/AAAI/wAAAQ%212%BQPLRSUDy09VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tHM%213%+AcHEfkGB5X6BgX7+gYF//oFBf/6BAX/+wUE//sEBP/7AwT//AMD//wDA//8AwL//AMD//0CAv/+AgL//gIB//4BAf/+AQD//wAA9/8AAGH/AAAU/wAABg%218%UDy0OlA8tO9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLRf%202%D5BwcZ+AYHvfkGB/75Bgb/+gYG//oFBf/6BQX/+gQE//sEBP/7BAT//AQE//wDA//9AwP//AMD//0CAv/9AgL//gIB//4BAf/+AAD//wAA//8AAOT/AABE/wAAEf8AAAQ%218%FA8tCJQPLTfUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT2UDy0O%187%9wcIAfkHByz5BgfN+QcH//kGBv/5Bgb/+QYG//oFBf/6BQX/+gUE//sEBP/7BAT//AQE//wEA//9AwP//QID//0CAv/9AgL//QIC//4BAf//AQH//gAB//8AAf//AADB/wAAKP8AAAz/AAAC%218%BQPLQXUDy0yVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy031A8tAw%175%D4BwcB+AcGPPgHB9/4Bwb/+AcH//kHBv/5Bgb/+gYG//kGBf/6BQX/+gUE//oFBP/7BAX/+wQE//wDA/38AwP//AMD//0CA//9AgL//QIB//4CAv/+AQH//wEB//8AAP//AAD+/wAAn/8AAB3/AAAI/wAAAQ%218%UDy0ClA8tLFQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tKM%165%+AcGAfgGBwP5BwdU+AcH7fgGB//5Bgf/+AcH//kHB//5Bgb/+QYG//kFBv/6BQX/+wUF//oFBP/7BAT/+wQE5fwDBIr8AwPM/AMD//0DA//9AgL//QIC//0BAv/+AQH//gEA//8BAP//AAD//wAA9f8AAGb/AAAV/wAABQ%223%FA8tAFQPLSXUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLQ7%160%+QcGAvkHB2D5Bgfx+AYH//kGBv/4Bwf/+QYH//kHBv/4Bgb/+QYG//oGBv/6Bgb/+gUF//sEBP/7BATp+wQEbPwDBD78AwM6/AMDuP0DA/79AgL//gIC//0CAf/+AQL//gEB//8AAP//AAD//wAA//8AAOX/AAA8/wAAEP8AAAQ%229%UDy0cVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%10%BQPLQRUDy0MVA8tFJQPLRvUDy0lVA8tMdQPLTwUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTI%149%PgGBgH4BwYE+AYGcvgHB/r4Bwb/+QcG//kHB//5Bwb/+AcG//gHB//4Bwb/+QYG//kGBv/6BgX/+gUF//oEBev7BARy+wQENvsEBBz8AwQU/AMDKP0DA6b8AgL//QIC//4CAv/+AgH//gAB//4AAP//AAD//wAA//8AAP//AAC8/wAAJv8AAAz/AAAB%229%FA8tFNQPLT2UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%48%UDy0LFA8tGFQPLSgUDy05FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0Pw%138%+QcHAfkGBgT4Bgd5+QcG/PkHB//5Bwb/+AYH//gGB//5Bwf/+AcH//kGBv/5Bwf/+QYG//oGBv/5Bgb/+gUF8/oFBX/6BQU6+wQEGvwEBAj7AwQD/AMDDP0DAx39AgKV/QIC+f4CAv/9AQH//gEB//8AAf//AAD//wAA//8AAP//AAD7/wAAe/8AABj/AAAH/wAAAQ%228%BQPLQ7UDy051A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%69%FA8tClQPLSAUDy0z1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0rg%132%D4BgcB+QcGA/gGB3/5Bgf8+QcH//kHB//4Bwf/+QYH//gGBv/5Bgf/+AcG//gHBv/5Bwb/+AYG//kGBv/5Bgb8+gYGlfoFBT37BQQe+wUECfsEBAE%5%/AMDAvwCAwr8AwIb/QICi/4CAvn+AgH//gEB//4BAP/+AAD//wAA//8AAP//AAD//wAA7v8AAEz/AAAS/wAAAw%234%UDy0IlA8tNxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%85%FA8tCdQPLSEUDy05lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/FA8tBU%122%PkHBgH5BQcG+QcHfPgHB/75Bgb/+AYH//kGB//4Bwf/+QcG//gHB//5Bwf/+QcH//gHBv/5Bgf/+AcG//kGB/75Bgax+gUGRPkFBSL6BQQK+wQFAg%15%PwDAwL8AgIJ/QMCGP4CAYD+AQL2/gEB//4BAP//AQH//wAB//8AAP//AAD//wAA//8AAML/AAAp/wAADP8AAAI%234%FA8tBRQPLTCUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%96%UDy0CFA8tFpQPLTQUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tF4%117%+QcGAfkHBwP5Bwd8+QcG+/gHB//4Bwf/+QcH//kGB//5Bwf/+AcH//kHBv/5Bwf/+AcH//kHB//5Bwf/+QcH//kGBtD6BgZR+gYGKPoFBg36BQUC%26%D9AwMB/QIDCP0CAhf9AgJ5/gIB9/4BAf//AQH//wAA//8AAP//AAD//wAA//8AAPv/AAB7/wAAF/8AAAc%239%BQPLQJUDy0rVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%112%UDy0UVA8tNlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tJ8%117%+QcGBPkHBm34Bwf7+QYH//gGB//4Bwf/+AcH//kHB//5Bwf/+AcH//kHB//4Bwb/+AcH//gHB//4Bgf/+AcG5/gGB2D5BgYv+gUFEvoFBgM%37%/QICAf0CAgj+AgEW/gEBgP4BAfn+AQH//wAB//8AAP//AAD//wAA//8AAP//AADt/wAARP8AABH/AAAD%245%FA8tI5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%122%BQPLRoUDy08FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMw%111%D5BwcB+QcHXPgHB/T4Bwb/+QcG//kHB//5Bwf/+AcH//kHBv/5Bwf/+QcG//kHBv/4Bgb/+QcH//kHBv/5Bgf7+AcHhPkGBjj5BgYX+QYGBQ%47%P0DAgH9AgII/QECGP4BAYP+AQD7/wEA//4AAP//AAD//wAA//8AAP//AAD//wAAsv8AACP/AAAK/wAAAQ%244%BQPLRmUDy0+1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%128%UDy0HFA8tMBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tO4%106%PkJBQH5BgdD+AcG7/gHBv/5Bgf/+QcG//gHB//4Bgf/+AcG//kHB//5Bwf/+AcH//gHB//4Bwf/+QcG//gGB/75Bwen+QcHPvkHBh75BgYI+QYGAQ%52%D+AgIB/QEBCf4BARj+AQGX/gEB/v8AAf//AAD//wAA//8AAP//AAD//wAA9/8AAGL/AAAV/wAABg%250%UDy0RFA8tPFQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT2%133%FA8tARQPLSVUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%101%+QcGAfkHByv4Bgfg+QcG//kHB//4Bwb/+QYG//kHB//4Bgb/+QcG//gHBv/5Bwf/+AcH//gGBv/5Bwf/+QcG//kHB9D4BwZP+QcGJ/gHBgv5BwcC%64%/QICAf0BAgn+AQEc/gEBo/8AAP//AAD//wAA//8AAP//AAD//wAA//8AANv/AAAx/wAADv8AAAI%250%FA8tCtQPLTgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTd%144%UDy0i1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%95%D6BwcB+AcHFPgGB8j4Bwf/+AcG//gHB//4Bgf/+QcG//kHB//4Bwb/+QcG//kHB//4Bwf/+AYH//gHB//4Bgf/+QcH7vgHBmr5BwYw+AYHEfgHBgM%74%P4CAQH+AQEK/gEBJP8BALz/AAD//wAA//8AAP//AAD//wAA//8AAP3/AACQ/wAAHP8AAAc%255%BQPLQRUDy0wlA8tP9QPLT/UDy0/1A8tP9QPLSb%149%FA8tItQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%90%PkHBwH4BgcJ+AYHp/kHBv/4Bgf/+QYG//gHB//4Bgb/+AcH//kHBv/4Bwf/+QYH//kHB//4Bwf/+QYH//kHB//4Bgf7+QcHjPkGBzn5BwcY+QYGBQ%84%D9AQEC/gEBC/4AASv/AQDT/wAA//8AAP//AAD//wAA//8AAP//AADq/wAAQ/8AABL/AAAD%256%UDy0B1A8tIlQPLT8UDy0+1A8tKFQPLQK%154%BQPLSnUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPs%95%D5Bwdk+QcH+fgGB//4Bwf/+QcH//kHBv/4Bgf/+QcG//kHBv/4Bwf/+QcH//gHB//4Bwf/+AcH//kGB//5BwbA+QcHR/gHByL5BgcJ+AcHAQ%90%/gEBA/8BAAz/AABD/wAA5v8AAP//AAD//wAA//8AAP//AAD//wAAt/8AACP/AAAK/wAAAQ%436%BQPLQLUDy03lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tN0%85%+AcGAfkGBy35Bgbw+QcH//kHB//5Bwf/+QYH//gGB//5Bgf/+AcG//kHB//4Bwb/+AcH//gGB//4Bgf/+QcH//kHBuf5Bwdb+AcGK/gHBg75BwcC%101%P4AAAT/AQEO/wAAZP8AAPn/AAD//wAA//8AAP//AAD//wAA9v8AAGP/AAAW/wAAB%443%UDy0UFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tL%80%D4BwYB+AcHC/gHBrb4Bwf/+QcH//gHB//5Bwf/+QcG//gGB//4Bgf/+QcH//gHB//4Bwf/+AYH//kHB//4Bwb/+AYH9/kHB4H4Bwc2+QcHFfgHBgU%111%D+AQEF/wAAEv8AAIb/AAD7/wAA//8AAP//AAD//wAA//8AAMb/AAAp/wAADf8AAAE%442%FA8tNJQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tHk%85%+AcGWfkHBvz5Bwb/+QYG//kHBv/4Bwb/+QYG//gHBv/4Bgf/+AcH//gHB//5Bgf/+QcH//gHB//4Bwf/+AcHu/gHBkT5BwYf+AYHB/gGBwE%111%D/AAAB/wEAB/8AAB3/AAC8/wAA//8AAP//AAD//wAA//8AAP//AABu/wAAFv8AAAU%442%FA8tHZQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tCo%74%PgHBwH5BwcV+AcH4PgHB//4Bgf/+QcH//kGB//5Bwb/+QcH//kHB//5Bwb/+QcH//gHB//5Bwb/+QYH//gHB//5Bwfh+QcHV/gHByn4BwcN+AcHAg%122%/wEAAf8AAAn/AAAu/wAA2/8AAP//AAD//wAA//8AAP//AADW/wAAMP8AAA3/AAAC%437%FA8tDFQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy01%80%PgHBwL5BgZ2+AYG/fgGB//5Bwf/+AYH//gHB//4Bwf/+AcG//gHB//4Bwf/+AcG//kHB//4Bwf/+AcH//gHB/j4BwaB+QcHNfkGBxT5BwcD%133%P8AAAP/AAAN/wAAWf8AAPT/AAD//wAA//8AAP//AAD4/wAAcf8AABn/AAAF%442%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0ag%79%PgHBw/4BwbO+QYH//kHBv/5Bwb/+AYH//kHBv/5Bwf/+QcG//gGB//4Bgb/+QYH//gHB//5Bgf/+QYH//gHB7r5BwdD+QcGHvkHBgf5BwcB%138%D/AAAE/wAAEf8AAJP/AAD//wAA//8AAP//AAD//wAAyP8AACn/AAAN/wAAAQ%436%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTmUDy0Cg%79%PkHBkb4Bgf9+QcH//gGBv/5Bwb/+AYH//gHB//4Bwb/+AcG//kHB//4Bwf/+AcG//kHBv/4Bwb/+QcG4/kHB1j4BwYp+AcGDfkGBwE%143%D/AAAB/wAAB/8AAB7/AADO/wAA//8AAP//AAD//wAA/v8AAGT/AAAX/wAABQ%436%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLRs%85%PkHB6H4Bgb/+QYH//kHBv/4Bwf/+QYH//kHBv/4Bwb/+AYH//kHBv/4Bgb/+QYH//gHBv/4Bwf5+QYGifkGBzj5BwYV+QcHB%155%/wAAAf8AAAv/AABW/wAA9v8AAP//AAD//wAA//8AAMH/AAAp/wAACv8AAAE%426%FA8tBdQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNRQPLQE%80%+QcHGPgGB+j4Bgb/+AcH//gHB//4Bgf/+AcG//kGBv/5Bwb/+QYH//kGBv/5Bwf/+AcH//gGB//5Bwbw+AcHWPgGByT5BwYJ%165%P8AAAT/AAAP/wAAnv8AAP//AAD//wAA//8AAO7/AABN/wAAFP8AAAM%426%FA8tExQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+lA8tDU%79%D5BgcB+AcHQ/gGBvj4Bwf/+AcH//gHB//5Bwb/+QcH//kHB//5Bwf/+QcH//kHB//4Bwf/+QcH//kHBv/5Bwfs+QcGS/kHBhn5BwcE%170%D/AAAH/wAAJf8AANj/AAD//wAA//8AAP7/AACL/wAAHv8AAAc%426%FA8tKNQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0dw%84%D4BwcC+QcHZ/kHB/v5Bwf/+AcH//gGBv/4Bwb/+AcH//kHBv/5Bwf/+AYH//kHB//4Bgf/+QcG//gHB//5Bwfs+AYHR/gGBhb5BgYD%170%D/AAAC/wAADP8AAGf/AAD8/wAA//8AAP//AADR/wAALf8AAA7/AAAC%416%UDy0FlA8tPZQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSq%90%D4BgYC+AcHe/gHB/35Bwf/+QYH//kHBv/4Bgb/+QcH//kHBv/5Bgf/+AcG//kGB//4Bwb/+AcH//gGB//4Bwfs+AcGR/kHBhb5BwcD%176%/wAABP8AABL/AACz/wAA//8AAP//AAD8/wAAVP8AABX/AAAD%416%UDy0kVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMNQPLQJ%90%D5BwcD+AcHgPkGB/35Bwf/+QcH//gHB//4Bgb/+QcG//gGB//5Bwf/+QcH//gGBv/5Bwb/+QYH//kHB//4Bwbs+QcHR/kHBxX4BwcD%176%/wAAAf8AAAj/AAAy/wAA4/8AAP//AAD//wAAjf8AAB//AAAG%410%BQPLQ0UDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy00lA8tAs%95%D5BgcE+AYHePkGBvz5Bwf/+AcH//kGB//5Bwb/+QcH//gHB//4Bgf/+QcH//kGBv/4Bwf/+QYH//gGB//5Bwbm+QYHQPgGBxX4BwYD%181%P8AAAP/AAAO/wAAfP8AAP3/AAD//wAAvP8AACr/AAAL%405%FA8tBBQPLTeUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTDUDy0EQ%100%D4BwcD+AcHXfgGB/r4Bwb/+QcH//kGB//4Bwf/+QcH//kHB//5Bwf/+AYH//gHB//4Bwb/+AcH//kHB//4BwfQ+QYHOPkHBhL5BwYC%186%D/AAAF/wAAF/8AALz/AAD//wAA1v8AADb/AAAP/wAAAQ%394%UDy0ClA8tMJQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tLVQPLQK%106%D4BgcC+QYGNfkGB/b4Bwf/+QcH//gHBv/4Bwb/+QcH//gGB//5Bwf/+QcH//gGB//4Bwf/+AYG//kGB//4Bwem+AcGLfgHBw75BgYB%186%D/AAAB/wAACf8AADr/AADp/wAA3v8AADz/AAAS/wAAAg%388%BQPLQKUDy0uVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0hVA8tAI%111%D4BwcC+AYGEPgHB9P5Bgf/+AcG//gHBv/4Bwf/+AcG//gHB//5Bgf/+AcH//gGB//5Bwb/+QcH//kHB/34BwZt+AcHJvkHBgn4BwcB%192%/wAAA/8AAA7/AAB2/wAA0v8AADH/AAAR/wAAAg%383%FA8tBxQPLTKUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOtQPLRL%128%9wgHA/kGB275Bwf/+QYG//kHBv/4Bgf/+AcH//kHB//5Bwf/+QcH//gHB//4Bwb/+AcH//kHB9H5BwdF+QcHG/gHBgU%202%P8AAAb/AAAT/wAAOv8AABz/AAAK/wAAAQ%378%UDy0PlA8tOhQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0s1A8tBc%133%+QYHBPkGBxv5BwfO+AYG//gHB//5Bwf/+QcH//kGB//4Bwf/+QcG//kHB//5Bwf/+AcH+fkHB4T5Bwcx+AcHD/kHBwI%202%P8AAAH/AAAG/wAACv8AAAr/AAAE%373%FA8tA9QPLSWUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOJQPLRS%144%+QcGAfgHBgr5BwZS+QYH8/kHBv/5Bwf/+QcH//gHBv/5Bwb/+QYH//gGB//4Bwf/+AcHs/gHB0H4Bwcd+QYHBw%212%D/AAAB/wAAAf8AAAH/AAAB%368%UDy0W1A8tOdQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT0UDy0ilA8tAs%154%PkHBgT5BgYO+QYHYvgHB+n5Bgb/+AYH//gHBv/4Bgb/+AYG//kHB/n5Bwa5+AcHSvkHBif5BgcN+QcHAQ%591%FA8tFFQPLTSUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+lA8tJZQPLQb%165%PkHBwH5BwcG+QcGEvkHBkj5Bweq+QcG5fgHB/v4Bwbx+AYHzfgGB4b5BwdE+AcHJ/gGBxD4BgcD%592%UDy0blA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPJQPLSNUDy0Gw%186%+AcHBfkGBxH4Bwce+QcGOPgHBkz5BwdL+AcHPPkHBy/5Bwce+QYHDfgGBwM%597%UDy0mFA8tP9QPLT/UDy0/1A8tP9QPLTeUDy0clA8tA4%202%PkHBwP5BwcJ+QYHEPgGBxb4BgcY+AcGFfgHBg75BwYH+QcHAg%602%UDy0PlA8tOtQPLTtUDy0nlA8tERQPLQB%10133%FA8tEFQPLTPUDy0/1A8tOhQPLR3%128%UDy0Z1A8tOhQPLT/UDy01lA8tEQ%709%UDy0LFA8tPhQPLT/UDy0/1A8tP9QPLT/UDy0ag%116%BQPLRiUDy0/1A8tP9QPLT/UDy0/1A8tPhQPLQ0%704%UDy0kFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy06FA9tAM%106%FI+tQFQPLTgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSY%704%UDy0nVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tFg%106%FA8tExQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSe%704%UDy0c1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tL0%106%FA8tLNQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLR3%704%UDy0D1A8tPhQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLQo%96%UDy0IlA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPxQPLQZ%709%FA8tJpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSU%96%UDy0h1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tKg%714%FA8tDRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT0UDy0D%85%BQPLQHUDy061A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tE%720%BQPLTIUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0a%85%BQPLRbUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy00Q%724%BQPLRjUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy00g%84%BQPLTJUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0aw%724%BQPLQIUDy071A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tDg%74%FA8tDFQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTwUDy0Dg%730%UDy0ilA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tKY%74%FA8tJxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSa%736%UDy0JFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPtQPLQV%64%UDy0DVA8tPNQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLQt%741%FA8tLlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLR9%64%UDy0blA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMM%746%FA8tExQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTgUj+1AQ%58%UDy02VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tFs%746%FE+tAFQPLTlUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0U%53%BQPLRAUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy06FA8tAc%751%BQPLR6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0tQ%52%BQPLSrUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0h%757%BQPLQTUDy0+1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tBk%42%FA8tApQPLT8UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT+UDy0Hg%762%UDy0olA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tDI%42%FA8tCpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSv%768%UDy0O1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy07lA8tAk%42%FJAtQFQPLTnUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLQ/%506%BRPrQBUDy0IVE9tAM%111%BQPLQsUDy0kFA8tJ5QPLR/UDy0GQ%111%FA8tJhQPLT/UDy0/1A8tP9QPLT+UDy0Xw%52%BQPLRVUDy0/lA8tP9QPLT/UDy0/1A8tJs%111%BQPLQUUDy0eFA8tJ5QPLSYUDy0N%357%BQPLQBUDy0I1A8tHFQPLTNUDy0/FA8tJ1QPLQD%101%FA8tEFQPLT4UDy0/1A8tP9QPLT/UDy0/FA8tKhQPLRB%106%BQPLRQUDy0mFA8tI9QPLQ2%64%UDy0MFA8tI9QPLSYUDy0Ww%106%UDy0PVA8tKdQPLT4UDy0/1A8tP9QPLT/UDy0+FA8tEQ%335%BQPLQBUDy0I1A8tHFQPLTNUDy0/FA8tP9QPLT/UDy0/1A8tP9QPLSdUT20Aw%95%FA8tM9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy01lA8tGtQPLQR%288%UDy0DlA8tGpQPLTRUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNY%319%BQPLQBUDy0I1A8tHFQPLTNUDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0nVE9tAM%90%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT1UDy0mlA8tC8%266%FA8tCxQPLSTUDy071A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%303%BQPLQBUDy0I1A8tHFQPLTNUDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tJ1RPbQD%85%FA8tOVQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTDUDy0XFA8tAc%234%FA8tAdQPLRUUDy0wFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOg%287%BQPLQBUDy0I1A8tHFQPLTNUDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSdUDy0Aw%79%FA8tGFQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOxQPLSIUDy0Hg%212%BQPLQYUDy0glA8tOhQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tGc%271%BQPLQBUDy0I1A8tHFQPLTNUDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0nVE9tAM%79%BQPLRZUDy02VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/lA8tK9QPLRH%192%UDy0PVA8tK9QPLT7UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTgUDy0Yg%260%BQPLQBUDy0I1A8tHFQPLTNUDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tJ1RPbQD%80%Uj61AVA8tEVQPLSzUDy0/lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0qw%74%UDy0EFA8tEBQPLRkUDy0ZFA8tEJQPLQT%74%BQPLSbUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0tVA8tE9SP7UB%250%BQPLQBUDy0I1A8tHFQPLTNUDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSdUT20Aw%90%UDy0HFA8tIZQPLTrUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tGI%58%FA8tEpQPLS6UDy0/VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0xFA8tFY%58%FA8tFtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy07FA8tI5QPLQk%250%BQPLQBUDy0I1A8tHFQPLTNUDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0nVA8tAM%95%BQPLQHUDy0W1A8tMRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tKE%47%BQPLQYUDy0t1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTAUDy0Hw%47%FA8tJhQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMlQPLReUDy0CQ%244%BQPLQBUDy0I1A8tHFQPLTNUDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tJ1RPbQD%106%BQPLQwUDy0mlA8tPRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tJ0%42%FA8tCFQPLTgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy07VA8tD%43%FA8tI9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPRQPLSdUDy0Mg%244%BQPLQBUDy0I1A8tHFQPLTNUDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSdUT20Aw%111%FA8tA1QPLRuUDy02FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/lA8tDY%37%UDy0EVA8tOBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOdQPLQf%37%FA8tDBQPLT+UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTaUDy0cFA8tBQ%245%UDy0HVA8tGxQPLTHUDy091A8tPpQPLT6UDy0+lA8tPpQPLT6UDy0+lA8tPpQPLT6UDy0+lA8tPpQPLT6UDy0+lA8tPpQPLT8UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT+UDy0+lA8tPpQPLT6UDy0+lA8tPpQPLT6UDy0+lA8tPpQPLT6UDy0+lA8tPpQPLT6UDy0+lA8tPpQPLT6UDy0mFI+tQE%122%FA8tD9QPLSrUDy0/FA8tP9QPLTuUDy0Xw%42%UDy0r1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLS/%42%BQPLRVUDy051A8tP9QPLT9UDy0rVA8tEc%261%UT20A1A8tAVQPLQFUDy0BVA8tAVQPLQFUDy0BVA8tAVQPLQFUDy0BVA8tAVQPLQFUDy0BVA8tAVQPLQFUDy0BVA8tDhQPLTgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPxQPLRiUDy0BVA8tAVQPLQFUDy0BVA8tAVQPLQFUDy0BVA8tAVQPLQFUDy0BVA8tAVQPLQFUDy0BVA8tAVQPLQFUDy0BQ%138%UDy0ClA8tC1RPrUB%42%BQPLRAUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0V%43%UkC1AVA8tCpQPLQO%352%UDy0UlA8tOxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tI8%287%BQPLStUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0x%400%FA8tANQPLRwUDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0rVE9tAM%282%FA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tBM%389%UDy0BFA8tJ1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTNUDy0Ew%287%FA8tDVQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tEo%383%BQPLQTUDy0y1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOxQPLQj%293%FA8tF9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tGU%378%FA8tDJQPLTcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+1A8tDQ%298%FA8tGRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tGY%373%UDy0UlA8tOxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT8UDy0Yg%303%FA8tFRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tGU%362%FA8tANQPLRwUDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLR/%309%FA8tClQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tDo%357%UDy0BFA8tJ1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tJ5RPbQD%309%FJAtQFQPLTpUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09FA8tAo%351%BQPLQUUDy0y1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0zVA8tBE%261%UDy0E1A8tDJQPLQJ%42%BQPLSPUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0og%42%UDy0CFA8tDJQPLQZ%293%FA8tDJQPLTrUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTrUDy0F%251%Uj+1AVA8tEdQPLS0UDy0/VA8tP9QPLTyUDy0Yw%36%BQPLQfUDy09lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT9UDy0Kw%36%BQPLRfUDy07lA8tP9QPLT/UDy0tFA8tFBSP7UB%272%UDy0YVA8tO5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tO5QPLQy%245%FA8tBRQPLR0UDy031A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tD0%37%UDy0fVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSO%37%FA8tDBQPLT+UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTgUDy0d1A8tBU%250%FA8tANQPLR/UDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/FA8tGE%239%BQPLQ3UDy0oFA8tPRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tJ0%37%UT60AVA8tLdQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMFQPLQJ%37%FA8tI9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPtQPLSkUDy0O%235%UDy0EVA8tJ5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0fw%228%BQPLQMUDy0Y1A8tMpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tKE%42%FA8tAlQPLSyUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vlA8tAs%42%FA8tJhQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNJQPLRmUDy0D%213%BQPLQ0UDy0zVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSdUDy0Aw%218%UDy0JFA8tI5QPLTtUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tFs%53%UDy0dlA8tPFQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPJQPLR7UT20Aw%47%FA8tFBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09FA8tJNQPLQo%85%FA8tAVQPLQFUDy0BVA8tAVQPLQFUDy0BVA8tAVQPLQFUDy0BVA8tAVQPLQFUDy0BVA8tAVQPLQFUDy0BVA8tAVQPLQFUDy0BVA8tAVQPLQFUDy0BVA8tGJQPLT7UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tM9QPLQJUDy0BVA8tAVQPLQFUDy0BVA8tAVQPLQFUDy0BVA8tAVQPLQFUDy0BVA8tAVQPLQFUDy0BVA8tAVQPLQFUDy0BVA8tAVQPLQFUDy0BVA8tAVRPrUB%96%UD20A1A8tE9QPLS7UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0mw%63%FA8tA9QPLRyUDy0vlA8tPlQPLT/UDy0/1A8tPxQPLTFUDy0fVA8tBQ%63%BQPLSYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vVA8tFhQPbQD%64%UT60AVA8tJhQPLT6UDy0+lA8tPpQPLT6UDy0+lA8tPpQPLT6UDy0+lA8tPpQPLT6UDy0+lA8tPpQPLT6UDy0+lA8tPpQPLT6UDy0+lA8tPpQPLT6UDy0+lA8tP5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPxQPLT6UDy0+lA8tPpQPLT6UDy0+lA8tPpQPLT6UDy0+lA8tPpQPLT6UDy0+lA8tPpQPLT6UDy0+lA8tPpQPLT6UDy0+lA8tPpQPLT0UDy0q1A8tFpQPLQP%90%BQPLRiUDy05lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+1A8tKpQPLQ9%90%BRPbQBUDy0Bg%90%UDy0O1A8tKdQPLT7UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLToUDy0ag%63%FE9tANQPLSdUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT6UDy0sVA8tGBQPLQU%101%FA8tGFQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOVQPLSCUDy0G%213%BQPLQTUDy0elA8tOVQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tHs%63%BRPbQDUDy0nVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT6UDy0sVA8tGBQPLQU%117%FA8tOVQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLS+UDy0VFE+tQE%234%FE+tAFQPLRMUDy0uVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOo%69%UT20A1A8tJ1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT6UDy0sVA8tGBQPLQU%133%FA8tP5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTvUDy0klA8tCw%266%FA8tCRQPLSMUDy071A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%74%FE9tANQPLSdUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT6UDy0sVA8tGBQPLQU%149%FA8tMhQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy00FA8tGRQPLQM%288%UDy0CFA8tGNQPLTJUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNY%79%BRPbQDUDy0nVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT6UDy0sVA8tGBQPLQU%165%FA8tDlQPLT1UDy0/1A8tP9QPLT/UDy0+FA8tKJQPLQ5%106%BQPLRbUDy0oVA8tJ1QPLQ9%64%UDy0NlA8tJNQPLShUDy0Yg%106%UDy0NVA8tKBQPLT4UDy0/1A8tP9QPLT/UDy0+FA8tEQ%85%UT20A1A8tJ1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT6UDy0sVA8tGBQPLQU%186%BQPLQkUDy0jlA8tJ5QPLR4UDy0FQ%111%FA8tJtQPLT/UDy0/1A8tP9QPLT/UDy0Yw%52%BQPLRVUDy0/lA8tP9QPLT/UDy0/1A8tKs%111%BQPLQPUDy0c1A8tJ1QPLSQUDy0L%96%FE9tANQPLSdUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT6UDy0sVA8tGBQPLQU%336%UDy0PFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy08lA8tAk%42%FJAtQFQPLTnUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLRH%234%BRPbQDUDy0nVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT6UDy0sVA8tGBQPLQU%352%UDy0p1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tDI%42%FA8tCpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLS3%240%UT20A1A8tJ1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT6UDy0sVA8tGBQPLQU%362%BQPLQWUDy0+1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tBk%42%FA8tApQPLT8UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT+UDy0Hg%239%FE9tANQPLSdUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT6UDy0sVA8tGBQPLQU%378%BQPLR5UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0t%53%BQPLSoUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0ig%244%BRPbQDUDy0nVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT6UDy0sVA8tGBQPLQU%389%FE+tAFQPLTlUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0T%53%BQPLQ/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy07FA8tAc%245%UT20A1A8tJ1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT6UDy0sVA8tGBQPLQU%405%FA8tFBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTfUj+1AQ%58%UDy02FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tFw%250%FE9tANQPLSdUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT6UDy0sVA8tGBQPLQU%421%FA8tLxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLR0%64%UDy0bFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMM%255%BRPbQDUDy0nVA8tP9QPLT/UDy0/1A8tP9QPLT6UDy0sVA8tGBQPLQU%432%UDy0JlA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPpQPLQV%64%UDy0DVA8tPRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLQv%256%UT20A1A8tJ1QPLT6UDy0sVA8tGBQPLQU%448%UDy0jFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tKQ%74%FA8tJRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSb%261%FE9tANQPLQT%458%BQPLQIUDy071A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tDg%74%FA8tC9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT1UDy0EQ%724%BQPLRjUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy00Q%84%BQPLTEUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0bQ%724%BQPLTQUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0Zg%84%BQPLRbUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy01g%719%FA8tDVQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTtUDy0D%85%BQPLQHUDy061A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tEE%714%FA8tKFQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLST%96%UDy0hlA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tK0%709%UDy0EFA8tPhQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLQo%96%UDy0HFA8tP5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPxQPLQZ%704%UDy0c1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tLw%106%FA8tLJQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSB%704%UDy0nVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tFQ%106%FA8tEVQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSe%704%UDy0jlA8tP9QPLT/UDy0/1A8tP9QPLT/UDy05lA9tAM%106%FI+tQFQPLTZUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSY%704%UDy0JFA8tPVQPLT/UDy0/1A8tP9QPLT/UDy0Yw%116%BQPLRZUDy0/1A8tP9QPLT/UDy0/1A8tPhQPLQ0%709%FA8tDlQPLTIUDy0/lA8tOhQPLRn%128%UDy0YVA8tOVQPLT/UDy0z1A8tEE%7914%FA8tAJQPLQNUDy0RVA8tG9QPLSFUDy0vFA8tMFQPLTgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy04FA8tMFQPLS3UDy0g1A8tG1QPLRFUDy0DVA8tAI%762%FA8tBlQPLRaUDy0nFA8tNdQPLT9UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/VA8tNZQPLSdUDy0W1A8tBk%730%FA8tBpQPLRtUDy0vFA8tP1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP1QPLS8UDy0bVA8tBo%485%UDy0P1A8tJZQPLTWUDy0+VA8tPlQPLTWUDy0llA8tD8%170%FA8tAJQPLREUDy0rFA8tPdQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPhQPLSrUDy0Q1A8tAI%458%FA8tBpQPLSTUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSTUDy0Gg%148%BQPLQCUDy0SlA8tMdQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMdQPLRKUDy0Ag%442%UDy0GlA8tKdQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0p1A8tBo%138%FA8tD9QPLTJUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy03VA8tLFQPLSUUDy0XVA8tFlQPLQjUDy0HFA8tBxQPLQcUDy0HFA8tBxQPLQcUDy0JFA8tFhQPLRdUDy0lFA8tLBQPLTeUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0yVA8tD4%437%UDy0k1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tJM%127%BQPLQWUDy0plA8tPtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTeUDy0nFA8tFVQPLQXUDy0Ag%84%BQPLQCUDy0FlA8tFRQPLScUDy031A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPtQPLSlUDy0Fw%420%BQPLQ/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLQ/%117%FA8tExQPLTmUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLToUDy0j1A8tDFQPLQE%128%UDy0BFA8tDFQPLSPUDy06FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy05lA8tEw%415%BQPLSWUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSW%106%BQPLQEUDy0j1A8tPxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0z1A8tFpQPLQJ%160%UDy0CVA8tFlQPLTPUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPxQPLSPUDy0Aw%404%BQPLTWUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTW%101%FA8tA1QPLTBUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tM9QPLRRUDy0Ag%180%BQPLQCUDy0UVA8tM9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0wVA8tA0%399%BQPLT5UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT5%96%UDy0EFA8tMNQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTwUDy0a1A8tAQ%202%FA8tAVQPLRsUDy071A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMNQPLQQ%394%BQPLT5UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT5%90%BQPLQOUDy0yVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tLlQPLQf%224%UDy0HVA8tLlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTHUDy0Dg%388%BQPLTWUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTW%85%FA8tA9QPLTFUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT4UDy0ew%244%BQPLR7UDy0+FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0xVA8tA8%383%BQPLSWUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSW%80%UDy0AlA8tKxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPhQPLRN%256%UDy0TVA8tPhQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tKtQPLQC%378%BQPLQ/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLQ/%80%UDy0cVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy091A8tEs%266%FA8tEtQPLT3UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLRx%384%UDy0k1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tJM%79%BQPLQsUDy0+FA8tP9QPLT/UDy0/1A8tP9QPLT3UDy0Sg%276%BQPLRKUDy091A8tP9QPLT/UDy0/1A8tP9QPLT3UDy0LQ%378%UDy0GlA8tKdQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0p1A8tBo%74%FA8tANQPLTCUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLRc%288%UDy0XFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0wlA8tAM%378%FA8tBpQPLSTUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSTUDy0Gg%79%FA8tE9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tJpQPLUB%288%UDy1AVA8tJpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tE8%389%UDy0P1A8tJZQPLTWUDy0+VA8tPlQPLTWUDy0llA8tD8%85%UDy0A1A8tNFQPLT/UDy0/1A8tP9QPLT/UDy03VA8tA0%298%FA8tA1QPLTdUDy0/1A8tP9QPLT/UDy0/1A8tNFQPLQD%277%FE9tAJQPLSlUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%149%UDy0SlA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0W%309%BQPLRYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLRK%282%BQPLQFUDy0plA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%149%UDy0qVA8tP9QPLT/UDy0/1A8tP9QPLTSUDy0BQ%308%BQPLQFUDy00lA8tP9QPLT/UDy0/1A8tP9QPLSp%288%UDy0BVA8tKZQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%143%BQPLQLUDy081A8tP9QPLT/UDy0/1A8tP9QPLRe%320%UDy0XlA8tP9QPLT/UDy0/1A8tP9QPLT0UDy0Cw%287%FA8tAVQPLSmUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%143%BQPLRNUDy0/1A8tP9QPLT/UDy0/1A8tO9QPLQM%320%UDy0DFA8tO9QPLT/UDy0/1A8tP9QPLT/UDy0Tg%292%BQPLQFUDy0plA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%143%BQPLSHUDy0/1A8tP9QPLT/UDy0/1A8tLM%330%FA8tLFQPLT/UDy0/1A8tP9QPLT/UDy0hw%298%UDy0BVA8tLpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%143%BQPLS+UDy0/1A8tP9QPLT/UDy0/1A8tH%331%FA8tG9QPLT/UDy0/1A8tP9QPLT/UDy0vg%298%UDy0fFA8tP5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%143%BQPLTVUDy0/1A8tP9QPLT/UDy0/1A8tEQ%330%FA8tEVQPLT/UDy0/1A8tP9QPLT/UDy01w%292%BQPLQIUDy0+FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%143%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tCQ%330%FA8tCRQPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLQOUDy0/lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%143%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tCQ%330%FA8tCRQPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLQEUDy06FA8tP9QPLT/UDy0/1A8tP5QPLS6UDy0/1A8tP9QPLT/UDy0/1A8tP8%143%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tCQ%330%FA8tCRQPLT/UDy0/1A8tP9QPLT/UDy0/w%271%FNAtQJQPLRlUDy01VA8tNVQPLRlUDy0N1A8tOhQPLT+UDy0+FA8tHxQPLQFUDy0plA8tP9QPLT/UDy0/1A8tP8%143%BQPLT9UDy0/1A8tP9QPLT/UDy0/1A8tCU%330%FA8tCRQPLT/UDy0/1A8tP9QPLT/UDy0/g%271%FA8tGVQPLT+UDy0/1A8tP9QPLT+UDy0ZVA8tARQPLQOUDy0C%11%UDy0BVA8tKZQPLT/UDy0/1A8tP8%143%BQPLTGUDy0/1A8tP9QPLT/UDy0/1A8tFs%330%FA8tFRQPLT/UDy0/1A8tP9QPLT/UDy0y%272%FA8tNVQPLT/UDy0/1A8tP9QPLT/UDy01Q%31%FA8tAVQPLSmUDy0/1A8tP8%143%BQPLSsUDy0/1A8tP9QPLT/UDy0/1A8tI0%213%UDy0BQ%111%FA8tIBQPLT/UDy0/1A8tP9QPLT/UDy0sw%271%FA8tNVQPLT/UDy0/1A8tP9QPLT/UDy01Q%36%BQPLQFUDy0plA8tP8%143%BQPLRvUDy0/1A8tP9QPLT/UDy0/1A8tNxQPLQC%208%UDy0n1A8tFNQPLQB%101%FA8tMNQPLT/UDy0/1A8tP9QPLT/UDy0f%256%FA9tAhQPLQOUT20BFA8tGVQPLT+UDy0/1A8tP9QPLT+UDy0ZQ%42%UD20BVA8tKU%143%BQPLQtUDy0/lA8tP9QPLT/UDy0/1A8tP9QPLQ9%208%UDy0sFA8tP9QPLSTUDy0Cg%90%UDy0HFA8tPdQPLT/UDy0/1A8tP9QPLT/UDy0P%251%UDy0fFA8tPhQPLT+UDy06FA8tDdQPLRlUDy01VA8tNVQPLRlUDy0Ag%47%FE9tAI%143%BQPLQDUDy01lA8tP9QPLT/UDy0/1A8tP9QPLSx%208%UDy0sFA8tP9QPLT/UDy0y1A8tCM%85%UDy0d1A8tP9QPLT/UDy0/1A8tP9QPLTmUDy0B%245%BQPLQ1UDy0/lA8tP9QPLT/UDy0/1A8tOhRPbQE%224%UDy0b1A8tP9QPLT/UDy0/1A8tP9QPLT9UDy0T%203%UDy0sFA8tP9QPLT/UDy0/1A8tPNQPLRY%74%BQPLQLUDy06FA8tP9QPLT/UDy0/1A8tP9QPLSb%250%BQPLSGUDy0/1A8tP9QPLT/UDy0/1A8tP5QPLQO%224%UDy0CVA8tOZQPLT/UDy0/1A8tP9QPLT/UDy02FA8tAw%197%UDy0sFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0mFA8tAo%63%BQPLR1UDy0/1A8tP9QPLT/UDy0/1A8tP5QPLQv%250%BQPLRaUDy0/1A8tP9QPLT/UDy0/1A8tPhQPLQI%229%FA8tG9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tKdQPLQD%192%UDy0sFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNBQPLQk%53%FA8tCBQPLTzUDy0/1A8tP9QPLT/UDy0/1A8tLI%239%BQPLQ1UDy0hlA8tFpQPLQIUDy0zFA8tP9QPLT/UDy0/lA8tHw%234%FA8tAVQPLTMUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLRz%192%UDy0sFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT2UDy0XFA8tQE%37%UDy0BlA8tL5QPLT/UDy0/1A8tP9QPLT/UDy0/VA8tD%235%FA8tHxQPLT+UDy0/1A8tP9QPLTMUDy0CFA8tFpQPLSGUDy0NQ%244%BQPLQyUDy081A8tP9QPLT/UDy0/1A8tP9QPLT+UDy0d%187%UDy0sFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tJxQPLQJ%32%UDy0ilA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0n%235%UDy0CFA8tPhQPLT/UDy0/1A8tP9QPLT/UDy0Wg%266%UDy0a1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tHU%181%UDy0sFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTUUDy0Jw%20%BQPLQqUDy09lA8tP9QPLT/UDy0/1A8tP9QPLTlUDy0FQ%234%UDy0DlA8tP5QPLT/UDy0/1A8tP9QPLT/UDy0hg%266%UDy0BFA8tKBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP5QPLR3%176%UDy0sFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy091A8tGFQPLQB%16%UDy0LlA8tNRQPLT/UDy0/1A8tPxQPLRJ%240%UDy0BFA8tOhQPLT/UDy0/1A8tP9QPLT+UDy0NQ%271%FA8tANQPLSuUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT+UDy0kFA8tAc%165%UDy0sFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLShUDy0EQ%15%FA8tBBQPLShUDy0/1A8tHw%170%FE9tAI%47%BTQLUCUDy0ZVA8tNVQPLTVUDy0ZVA8tDdQPLToUDy0/lA8tPhQPLR8%282%BQPLQRUDy0zFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tLJQPLQV%160%UDy0sFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy04FA8tDs%15%BQPLQDUDy0PFA8tAM%170%FA8tKVQPLQF%42%BQPLRlUDy0/lA8tP9QPLT/UDy0/lA8tGVQPLQEUDy0DlA8tAg%293%UDy0ElA8tLtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTbUDy0Lw%4%BQPLQRUDy0M1A8tGpQPLRzUDy0qVA8tKpQPLSqUDy0qlA8tJBQPLRsUDy0UlA8tCk%85%UDy0sFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPdQPLR1%197%FA8tP9QPLSmUDy0BQ%36%BQPLTVUDy0/1A8tP9QPLT/UDy0/1A8tNU%314%FA8tARQPLSbUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09FA8tMlQPLT1UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP5QPLTnUDy0oVA8tFJQPLQF%64%UDy0sFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT+UDy0tVA8tAk%186%FA8tP9QPLT/UDy0plA8tAU%31%BQPLTVUDy0/1A8tP9QPLT/UDy0/1A8tNU%319%BQPLQCUDy0ilA8tPxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTkUDy0eFA8tAY%53%UDy0sFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tL9QPLQi%181%FA8tP9QPLT/UDy0/1A8tKZQPLQF%10%BQPLQIUDy0DlA8tARQPLRlUDy0/lA8tP9QPLT/UDy0/lA8tGU%330%FA8tGZQPLT+UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNlQPLQ2%48%UDy0sFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTgUDy0Qg%175%FA8tP9QPLT/UDy0/1A8tP9QPLSmUDy0BVA8tHxQPLT4UDy0/lA8tOhQPLQ3UDy0ZVA8tNVQPLTVUDy0ZVA8tAI%325%UDy0E1A8tMxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT2UDy0ZQ%42%UDy0sFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT8UDy0ig%175%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0ulA8tP5QPLT/UDy0/1A8tP9QPLToUDy0B%341%BQPLQDUDy0t1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy08VA8tHlQPLRyUDy0clA8tHtQPLSwUDy01FA8tPhQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+1A8tDo%37%UDy0sFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/lA8tMZQPLQs%181%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT+UDy0Dg%340%BQPLRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMpQPLQc%21%FA8tBhQPLRTUDy0vFA8tP1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNxQPLRVUDy0alA8tJNQPLSZUDy0T%11%UDy0sFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTcUDy0Ug%191%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT4UDy0C%341%BQPLTLUDy0/1A8tP9QPLT/UDy0/1A8tPlQPLSIUDy0SVA8tOlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTpUDy0Qw%31%FA8tDxQPLTUUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0Xw%10%UDy0sFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy08FA8tIJQPLQI%197%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP5QPLR8%341%FA8tAZQPLTxUDy0/1A8tP9QPLT/UDy0/lA8tFw%10%FA8tBdQPLTAUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09lA8tHI%31%BQPLQTUDy021A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0Xw%10%UDy0sFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0YQ%207%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tLpQPLQF%341%FA8tBJQPLT2UDy0/1A8tP9QPLT/UDy0+lA8tB8%15%BQPLQCUDy0g1A8tPxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP5QPLSKUDy0Bw%26%UDy0qVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0Xw%10%UDy0sFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy04FA8tAw%202%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSmUDy0BQ%340%BQPLToUDy0/1A8tP9QPLT/UDy0/1A8tMBQPLQh%21%FA8tExQPLTrUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0slA8tAc%15%BQPLRzUDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0Xw%10%UDy0sFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tIM%202%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0plA8tAU%335%BQPLSUUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTzUDy0hFA8tBc%15%BQPLQmUDy0y1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tLNQPLQJUDy0SVA8tMdQPLT+UDy0/1A8tP9QPLT/UDy0/1A8tPxQPLTGUDy0lVA8tIlQPLR9UDy0H%11%UDy0sFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPlQPLQ1%197%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tKZQPLQF%330%BQPLQcUDy06lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPpQPLS8UDy0fFA8tEJQPLQoUDy0FlA8tKxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT3UDy0/lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tIc%37%UDy0sFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tO5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTCUDy0AQ%191%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSmUD20BQ%330%UDy0V1A8tPtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT9UDy0+lA8tPtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0xlA8tAY%37%UDy0sFA8tP9QPLT/UDy0/1A8tP9QPLTUUDy0VVA8tDdQPLT+UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0d%192%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0pVE9tAI%330%FA8tFJQPLTpUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSkUDy0Dw%42%UDy0sFA8tP9QPLT/UDy091A8tHRQPLQM%10%BQPLSWUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy091A8tBs%122%FA8tD9QPLSWUDy01lA8tPlQPLT5UDy01lA8tJZQPLQ/%442%BQPLQaUDy0sFA8tPtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy05VA8tFxQPLQC%48%UDy0sFA8tPtQPLSfUDy0Gg%20%BQPLQeUDy08VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tLVQPLQD%106%BQPLQaUDy0k1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0k1A8tBo%442%FA8tDNQPLSWUDy071A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0Uw%58%UDy0glA8tDY%37%UDy0dFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLRi%101%FA8tBpQPLSnUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tKdQPLQa%448%UDy0C1A8tD9QPLR9UDy0rVA8tOBQPLTnUDy0/1A8tP9QPLT/UDy0/1A8tPVQPLTgUDy03FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy04lA8tB%102%UDy0A1A8tNBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTmUDy0F%96%FA8tJNQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLST%474%BQPLQFUDy0HFA8tBxQPLQcUDy0HFA8tBI%5%UDy0AVA8tJJQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tKJQPLQB%101%FA8tE1QPLT8UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0p%91%UDy0P1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0Pw%511%FA8tAlQPLTIUDy0/1A8tP9QPLT/UDy0/1A8tP5QPLQ7%106%BQPLSzUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/VA8tEE%85%UDy0llA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0lg%516%BQPLQoUDy09FA8tP9QPLT/UDy0/1A8tP9QPLS/UDy0AQ%100%BQPLQrUDy091A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNhQPLQL%80%UDy01lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy01g%522%UDy0dlA8tP9QPLT/UDy0/1A8tP9QPLT+UDy0Pw%106%UDy0klA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSR%80%UDy0+VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+Q%522%UDy0CVA8tN1QPLT/UDy0/1A8tP9QPLT/UDy0sg%106%UDy0DlA8tOVQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTyUDy0HQ%74%UDy0+VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+Q%527%FA8tGVQPLT/UDy0/1A8tP9QPLT/UDy0+1A8tB8%106%FA8tG9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMZQPLQ5%80%UDy01lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy01g%527%FA8tAxQPLTuUDy0/1A8tP9QPLT/UDy0/1A8tG0%106%FA8tAFQPLTQUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTwUDy0ZFA8tAY%85%UDy0llA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0lg%532%BQPLSXUDy0/1A8tP9QPLT/UDy0/1A8tLQ%111%BQPLQ0UDy0/VA8tP9QPLT/UDy0+VA8tIxQPLQS%96%UDy0P1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0Pw%532%BQPLRIUDy0/1A8tP9QPLT/UDy0/1A8tPFQPLQB%106%BQPLUBUDy0qVA8tP5QPLS+UDy0Jw%111%FA8tJNQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLST%538%BQPLQRUDy09lA8tP9QPLT/UDy0/1A8tP5QPLQu%112%UDy0GVA8tFo%122%FA8tBpQPLSnUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tKdQPLQa%544%UDy02FA8tP9QPLT/UDy0/1A8tP9QPLRM%250%BQPLQaUDy0k1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0k1A8tBo%549%UDy0sVA8tP9QPLT/UDy0/1A8tP9QPLRz%261%FA8tD9QPLSWUDy01lA8tPlQPLT5UDy01lA8tJZQPLQ/%560%UDy0qlA8tP9QPLT/UDy0/1A8tP9QPLRz%864%UDy0eVA8tP9QPLT/UDy0/1A8tP9QPLRz%14133%FA8tAZQPLRgUDy0r1A8tLdQPLR8UDy0Fw%308%BQPLQGUDy0MVA8tDhQPLQO%528%UDy0BlA8tK1QPLT+UDy0/1A8tP9QPLT/UDy07VA8tH9QPLQT%288%UDy0AVA8tExQPLTZUDy0/lA8tP5QPLTtUDy0a1A8tAE%517%UDy0YFA8tP5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTsUDy0f1A8tBM%266%FA8tAFQPLRBUDy0vlA8tP5QPLT/UDy0/1A8tP9QPLT/UDy0/VA8tFo%517%UDy0r1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOtQPLRgUDy0B%245%BQPLQDUDy0TlA8tL5QPLT+UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tM9QPLQC%512%UDy0t1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy021A8tGBQPLQE%224%UDy0AVA8tEFQPLS+UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPZQPLQF%512%UDy0fFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTbUDy0YFA8tAM%202%FA8tAFQPLRBUDy0vlA8tP5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOBQPLQD%512%UDy0ElA8tNdQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tL5QPLRBUDy0AQ%186%UDy0MlA8tL5QPLT+UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tH4%522%FA8tBtQPLSkUDy0+1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT+UDy0vlA8tEFQPLQB%165%FA8tCRQPLSfUDy0+1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT9UDy0qFA8tAk%533%UDy0JFA8tJ9QPLT7UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP5QPLS+UDy0Mg%148%BQPLQkUDy0n1A8tPtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/lA8tK1QPLQ+UDy0Ag%548%BQPLQkUDy0rVA8tP5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+1A8tJ9QPLQk%128%UDy0JFA8tJ9QPLT7UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP5QPLS+UDy0QVA8tAE%565%UDy0AVA8tEFQPLS+UDy0/lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT7UDy0n1A8tCQ%106%FA8tCRQPLSfUDy0+1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT+UDy0vlA8tEFQPLQB%586%BQPLQBUDy0QVA8tL5QPLT+UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPtQPLSRUDy0F%85%BQPLQkUDy0n1A8tPtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tM1QPLRBUDy0AQ%607%FA8tAFQPLRCUDy021A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+lA8tIFQPLQT%64%UDy0JFA8tJ9QPLT7UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTbUDy0YFA8tAQ%629%UDy0BFA8tGBQPLTbUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTsUDy0f1A8tBM%42%FA8tCRQPLSfUDy0+1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy021A8tGBQPLQE%650%BQPLQEUDy0YFA8tNtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOtQPLRgUDy0B%21%BQPLQTUDy0kVA8tPtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNxQPLRgUDy0B%672%FA8tARQPLR+UDy07FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy021A8tGBQPLQEUDy0E1A8tH9QPLTsUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTsUDy0f1A8tBE%693%UDy0E1A8tH9QPLTsUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTdUDy07FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy07FA8tH9QPLQT%714%BQPLQTUDy0f1A8tOxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOxQPLR/UDy0Ew%735%FA8tBRQPLSfUDy0+1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT7UDy0n1A8tBQ%757%UDy0JFA8tJ9QPLT7UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+1A8tJ9QPLQk%730%D/AAAD/wAAKP8AAE3/AABg/wAAYf8AAE3/AAAm/wAAAw%4%BQPLQnUDy0olA8tPxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPtQPLSfUDy0J%16%FA8tARQPLR6UDy0fVA8tH1QPLR9UDy0Jg%682%/wAAC/8AAHH/AADZ/wAA/f8AAP//AAD//wAA//8AAP//AAD9/wAA2/8AAHX/AAAN/wAAAlA8tEFQPLS+UDy0/lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT+UDy0vlA8tDI%26%FA8tAhQPLT6UDy0/1A8tP9QPLT/UDy0Tw%676%D/AAAs/wAA1f8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADe/wAAPQ%4%BQPLQBUDy0QVA8tL5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/lA8tL5QPLRBUDy0AQ%31%FA8tAhQPLT6UDy0/1A8tP9QPLT/UDy0Tw%671%P8AACH/AADm/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA9P8AAEM%10%FA8tAdQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0wVA8tAE%42%FA8tAhQPLT6UDy0/1A8tP9QPLT/UDy0Tw%666%/wAAAf8AALP/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD8/wAA+/8AAP7/AAD//wAA//8AAP//AAD//wAA//8AAOj/AAAZ%5%FA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%47%FA8tAhQPLT6UDy0/1A8tP9QPLT/UDy0Tw%666%/wAAMP8AAPz/AAD//wAA//8AAP//AAD//wAA7P8AAGj/AAAa/wAAEv8AAEn/AADP/wAA//8AAP//AAD//wAA//8AAP//AACR%5%FA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%15%FA8tGhQPLRYUDy0E%16%FA8tAhQPLT6UDy0/1A8tP9QPLT/UDy0Tw%15%FA8tAZQPLQ/UDy0hlA8tAU%629%/wAAiP8AAP//AAD//wAA//8AAP//AAD0/wAANQ%20%D/AAAR/wAA0v8AAP//AAD//wAA//8AAP//AADr/wAACFA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%10%UDy0B1A8tOdQPLT/UDy08lA8tK5QPLRaUDy0ElA8tAhQPLT6UDy0/1A8tP9QPLT/UDy0T1A8tAdQPLRCUDy0lVA8tONQPLT+UDy0/lA8tDs%623%D/AAAB/wAAx/8AAP//AAD//wAA//8AAP//AACI%32%/wAATP8AAP7/AAD//wAA//8AAP//AAD+/wAAMlA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%10%UDy0QVA8tP5QPLT/UDy0/1A8tP9QPLT/UDy081A8tLRQPLT9UDy0/1A8tP9QPLT/UDy0wVA8tOVQPLT+UDy0/1A8tP9QPLT/UDy0/1A8tIo%623%D/AAAF/wAA7/8AAP//AAD//wAA//8AAP3/AAAw%32%/wAAC/8AAPf/AAD//wAA//8AAP//AAD//wAAUFA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%10%UDy0kVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNdQPLQD%618%D/AAAS/wAA+/8AAP//AAD//wAA//8AAPr/AAAM%32%/wAABP8AAPD/AAD//wAA//8AAP//AAD//wAAVVA8tAhQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%4%BQPLQBUDy0e1A8tOFQPLT+UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09lA8tLdQPLQP%618%D/AAAM/wAAdP8AAHb/AAB2/wAAdv8AAHP/AAAC%32%/wAAIv8AAPz/AAD//wAA//8AAP//AAD//wAAQFA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%15%FA8tAVQPLQ9UDy0kFA8tN9QPLT+UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy08lA8tLBQPLReUDy0FVA8tAE%687%D/AAAB/wAAlP8AAP//AAD//wAA//8AAP//AAD5/wAAGFA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%31%FA8tARQPLQ6UDy0uFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOJQPLRVUDy0Dw%708%D/AABh/wAA/P8AAP//AAD//wAA//8AAP//AAC2/wAAAVA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%36%BQPLQVUDy04VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPtQPLRH%704%/wAAAv8AAHj/AAD7/wAA//8AAP//AAD//wAA//8AAPT/AAAx%5%FA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%31%FA8tAJQPLSrUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTiUDy0Fw%692%D/AAAG/wAAmv8AAP7/AAD//wAA//8AAP//AAD//wAA9v8AAFE%10%FA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%31%FA8tGVQPLT+UDy0/1A8tP9QPLT/UDy03FA8tKpQPLT/UDy0/1A8tP9QPLT/UDy0rVA8tAI%682%P8AAAH/AACc/wAA//8AAP//AAD//wAA//8AAP//AADn/wAAQw%15%FA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%26%UDy0KVA8tPFQPLT/UDy0/1A8tP9QPLT5UDy0PVA8tBBQPLTaUDy0/1A8tP9QPLT/UDy0/lA8tGc%682%P8AAE//AAD+/wAA//8AAP//AAD//wAA//8AALz/AAAe%21%FA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%20%BQPLQIUDy0yFA8tP9QPLT/UDy0/1A8tP9QPLS%11%BQPLQ7UDy0+FA8tP9QPLT/UDy0/1A8tPJQPLQq%672%/wAAAv8AAMf/AAD//wAA//8AAP//AAD+/wAAkf8AAAY%26%FA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%20%BQPLQdUDy001A8tP9QPLT/UDy0/1A8tMNQPLQG%16%UDy0fVA8tP9QPLT/UDy0/1A8tPBQPLRL%672%/wAAHP8AAPv/AAD//wAA//8AAP//AAC6/wAAAw%31%FA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%26%UDy0DlA8tJ1QPLT+UDy07lA8tCQ%21%UDy0BlA8tMBQPLT/UDy0zFA8tCk%677%/wAAQf8AAP//AAD//wAA//8AAP//AABv%37%FA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%31%FA8tAFQPLReUDy0W%32%FA8tCJQPLSKUDy0Cw%682%/wAASv8AAPH/AADx/wAA8f8AAPH/AABU%37%FA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%778%/wAAAf8AAAT/AAAE/wAABP8AAAT/AAAC%37%FA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%778%/wAAA/8AAAX/AAAF/wAABf8AAAX/AAAE%37%FA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%778%/wAAqP8AAPT/AAD0/wAA9P8AAPT/AADh/wAAB%32%FA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%778%/wAAr/8AAP//AAD//wAA//8AAP//AADr/wAAB%32%FA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%778%/wAAr/8AAP//AAD//wAA//8AAP//AADr/wAAB%32%FA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%778%/wAAr/8AAP//AAD//wAA//8AAP//AADr/wAAB%32%FA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%778%/wAAr/8AAP//AAD//wAA//8AAP//AADr/wAAB%32%FA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%778%/wAAWP8AAH//AAB//wAAf/8AAH//AAB2/wAAAg%31%FA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%847%FA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%847%FA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%847%FA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%847%FA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%847%FA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%847%FA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%847%FA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%847%FA8tAVQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vw%847%FA8tARQPLTrUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0rw%852%BQPLSfUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT+UDy0Y%853%BQPLQbUDy011A8tP9QPLT/UDy0/1A8tP5QPLStUDy0Bg%858%UDy0ElA8tHxQPLS3UDy0r1A8tGBQPLQG%19749%FA8tCxQPLTgUDy0/FA8tHk%869%UDy0K1A8tOlQPLT/UDy0/1A8tP9QPLSE%858%BQPLQqUDy06FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0dw%847%FA8tClQPLToUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tHU%837%UDy0KFA8tOdQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSB%826%BQPLQnUDy05lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT9UDy0e%816%FA8tCZQPLTlUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/lA8tH%806%UDy0JVA8tOVQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP5QPLR1UDy0AQ%788%BQPLQkUDy05FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTvUDy0uVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0bw%783%FA8tCNQPLTjUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPBQPLQ2UDy0CFA8tKVQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/lA8tGtQPLQB%768%UDy0IlA8tONQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy08VA8tDc%10%FA8tAZQPLSqUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLRz%762%BQPLQhUDy04lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTxUDy0O%21%BQPLQFUDy0rFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT+UDy0bg%751%FA8tCBQPLTcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPJQPLQ5%32%UDy0AlA8tLZQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/lA8tGY%741%UDy0H1A8tOBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy08lA8tDo%42%FA8tANQPLStUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP5QPLR1%730%BQPLQfUDy031A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTzUDy0Ow%52%BQPLQDUDy0rlA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT5UDy0Yw%719%FA8tB5QPLTeUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPNQPLQ9%64%UDy0ClA8tKpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/lA8tGI%709%UDy0HVA8tN1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09FA8tD4%74%FA8tAtQPLSvUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP5QPLRk%698%BQPLQcUDy03FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT0UDy0Pw%84%BQPLQFUDy0sFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0Yg%79%FE9tXVQPbSgUD20oFA9tKBQPbSgUD20oFA9tKBQPbSgUD20oFA9tKBQPbSgUD20oFA9tKBQPbSgUD20oFA9tKBQPbSgUD20oFA9tKBQPbSgUD20oFA9tKBQPbSgUD20oFA7tH0%474%FA8tBxQPLTbUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPVQPLR%97%UDy0ClA8tLRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/VA8tF0%74%FA8tLxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMg%469%UDy0G1A8tNpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09VA8tEE%106%FA8tAVQPLTAUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP1QPLRc%69%FA8tLxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMg%218%Es8tBFQPbNQUD2zUFA9s1BQPbNQUD2zUE47tTQ%207%BQPLQaUDy02VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT2UDy0Qw%116%BQPLQEUDy0uFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT8UDy0WQ%63%FA8tLxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMg%218%FI7tjhQPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%202%FA8tBpQPLTYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPZQPLRE%128%UDy0BVA8tMlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+Q%63%FA8tLxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMg%218%FI7tjhQPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%197%UDy0GVA8tNdQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09lA8tEY%133%UDy0SFA8tPVQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0w%64%FE9tXVQPbSgUD20oFA9tKBQPbSgUD20oFA9tKBQPbSgUD20oFA8tMtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPFQPbSgUD20oFA9tKBQPbSgUD20oFA9tKBQPbSgUD20oFA7tH0%218%FI7tjhQPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%191%BQPLQYUDy01lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT3UDy0Rw%132%BQPLRHUDy09VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTPUDy0Gw%111%E87tHRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8s9g%266%FI7tjhQPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%186%FA8tBdQPLTVUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPdQPLRI%133%FA8tD9QPLT1UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tN1QPLQc%117%E87tHRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8s9g%69%gACAAk0zswo%186%FI7tjhQPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%181%UDy0FlA8tM9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+FA8tEo%133%UDy0PlA8tPRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy03lA8tB0%122%E87tHRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8s9g%47%BVQLUYUDu0cFA7s71QPLToUDy0/VA8tP9QPLT5UDy00FA9tI9SPbMy%26%BgQL8ITz20pFA7tLBQO7SwUDu0sFA7tLBQO7SwUTy0q1VAqgw%26%FUrqgZQPLSmUDu0sFA7tLBQO7SwUDu0sFA7tLBQPLSpTjuxDUlJtgdSO7Y4Uju2OFA7tGNQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tLtSO7Y4Uju2OE47tTQ%159%BQPLQWUDy01FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT4UDy0Sw%132%BQPLRBUDy081A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTeUDy0GQ%127%E87tHRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8s9g%37%QEC/BFA7s3lQPLTzUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy1r0w5sxs%21%UD20bVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tX8%26%FE8tW5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLV8%5%FBAtyBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP%155%FA8tBVQPLTTUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPlQPLRM%133%FA8tEFQPLTzUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tN9QPLQa%133%E87tHRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8s9g%31%BJSbYHUDu0sFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOtOPrU+%18%D/AVA8tMNQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPJVPbYV%16%VUCqDFA8tOpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tM9AQL8E%5%FBAtyBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP%150%UDy0FFA8tNJQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+VA8tE0%133%UDy0OlA8tPNQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy04FA8tC%139%E87tHRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8s9g%31%BRPLSrUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTyUj2zMg%15%FM+syVQPLT2UDy0/1A8tP9QPLT/UDy0/1A8tP9QO7SS%16%UDy1f1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+04+tjE%10%FBAtyBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP%144%BQPLQTUDy00VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT6UDy0Tw%132%BQPLQ5UDy08lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTbUDy0IQ%143%E87tHRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8s9g%26%FA8tV1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QO7O9UT20flA7s3lQPLSmUDy0+FA8tP9QPLT/UDy0/1A8tP9QPLT/UTy01GYzzAU%15%BRPbV1UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT5Uzy0Ig%4%BNQLMUUDy08lA8tP9QPLT/UDy0/1A8tP9QPLT/Tzy0h%16%FE6uRZQO7SwUDu0sFE7tMFQPLT/UDy0/1A8tP9QPLT/UDy0/1E8tORQO7SwUDu0sFA8s6U%143%BQPLSIUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPpQPLRQ%133%FA8tDhQPLTxUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tN1QPLQi%149%E87tHRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8s9g%21%ZjPMBU88tOdQPLT/UDy0/1A8tP9QPLT/UDy0/FE8tFU%21%Uz6zJVA8tN5QPLT/UDy0/1A8tP9QPLT/UDy0/088tGo%15%BVVaoDUDy0yVA8tP9QPLT/UDy0/1A8tP9QPLT/UDyzpQ%4%BQPLWQUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTVSUm2Bw%31%FI7tjhQPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%159%BQPLSGUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPVQPLRX%128%UDy0N1A8tPFQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy04lA8tCM%154%E87tHRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8s9g%21%UT20WFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0j%32%FI7tjhQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tM8%21%TTuyK1A8tPlQPLT/UDy0/1A8tP9QPLT/UDy0/lA9s1BQPLT5UDy0/1A8tP9QPLT/UDy0/1A8tP1PPLU3%37%FI7tjhQPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%159%BQPLQQUDy0y1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT8UDy0VQ%116%BQPLQ2UDy08FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTjUDy0J%160%E87tHRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8s9g%21%UDu0sFA8tP9QPLT/UDy0/1A8tP9QPLT/UkC2H%37%BQPLTDUDy0/1A8tP9QPLT/UDy0/1A8tP9TObMo%21%FA7tH1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tIw%42%FI7tjhQPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%143%D/AAAK/wAAC%11%UDy0EVA8tMxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+1A8tFQ%106%FA8tDVQPLTvUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tORQPLQf%165%E87tHRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8s9g%21%UDy06FA8tP9QPLT/UDy0/1A8tP9RPLTU%42%BQPLV/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPbVg%21%GYzzAVQPLTQUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD2021U5qgk%42%FI7tjhQPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%133%/wAABv8AAKb/AAD//wAA+/8AAIM%10%FA8tBFQPLTNUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPtQPLRT%96%UDy0OVA8tO9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy05FA8tC%171%E87tHRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8s9g%15%BSQLYcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTPTz21ZE89tWRPPbVkTz21ZE89tWRPPbVkTz21ZE89tWRQPLSdUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSV%26%BOPrYxUDy0+1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT+Tj61Pg%47%FI7tjhQPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%127%D/AAAF/wAAtf8AAP//AAD//wAA//8AAP//AACI%10%BQPLQSUDy0z1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT6UDy0UQ%84%BQPLQ5UDy07lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTeUDy0Iw%175%E87tHRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8s9g%15%BQPLQzUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QO7Sw%32%UD21hlA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSV%53%FI7tjhQPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%122%P8AAAX/AAC5/wAA//8AAP//AAD//wAA//8AAP//AAD//wAAhg%10%UDy0E1A8tNBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+lA8tEs%74%FA8tDFQPLTyUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOFQPLQn%181%E87tHRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8s9g%15%BPPLREUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLX%33%YEC/CFA8tPJQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPlLPLQR%53%FI7tjhQPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%117%/wAABf8AAK3/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAIQ%10%FA8tBRQPLTRUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPlQPLRP%64%UDy0MFA8tPJQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy051A8tCg%186%E87tHRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8s9g%15%BSPbRLUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTM%32%UD20bVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9RPLR7%53%FI7tjhQPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%111%D/AAAF/wAAq/8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AACD%10%BQPLQUUDy00lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT5UDy0Tg%52%BQPLQzUDy07VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLToUDy0KQ%191%E87tHRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8s9g%15%BSPbY7UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTLTzy0hE88tIRPPLSETzy0hE88tIRPPLSETzy0hE88tIRPPLSETzy0hE88tIRPPLSETzy0hE88tIRQPLRm%26%BNPrIhUDy09FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT5TTuyKw%47%FI7tjhQPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%106%P8AAAT/AACq/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAgQ%10%UDy0FVA8tNNQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+FA8tEw%42%FA8tDRQPLTrUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOlQPLQq%197%E87tHRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8s9g%15%BRPrQpUDy0/1A8tP9QPLT/UDy0/1A8tP9RPLWh%104%/wFRPLS+UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD21ylVVqgM%42%FI7tjhQPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%101%/wAABP8AAKj/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAH8%10%FA8tBZQPLTUUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPhQPLRL%32%UDy0LVA8tOpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy06VA8tCY%202%E87tHRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8s9g%15%BVK6oGTzy091A8tP9QPLT/UDy0/1A8tP9QPLTC%101%FA9tGlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9s3Y%42%FI7tjhQPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%95%D/AAAE/wAAp/8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAB+%10%BQPLQXUDy01VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT4UDy0SQ%20%BQPLQyUDy06lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTqUDy0Jw%207%E87tHRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8s9g%21%Tzy0xFA8tP9QPLT/UDy0/1A8tP9PPLT3Rka5Cw%36%BTPLQiTz21ZE89tWRPPbVkTz21ZE89tWRRPLMv%16%Ujq1H1A8tPJQPLT/UDy0/1A8tP9QPLT/UDy0/087tWdQPLT8UDy0/1A8tP9QPLT/UDy0/088tPdTObMo%37%FI7tjhQPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%90%P8AAAP/AACl/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAf%11%UDy0F1A8tNZQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy091A8tEg%10%FA8tC9QPLTpUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOtQPLQo%213%E87tHRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8s9g%21%UT21dVA8tP9QPLT/UDy0/1A8tP9QPLT/Tz21cQ%34%/wFQO7O9UDy0/1A8tP9QPLT/UDy0/1A8tP9QPbM2%16%UDy0u1A8tP9QPLT/UDy0/1A8tP9QPLT/UT20sQ%4%BRO7ObUDy0/1A8tP9QPLT/UDy0/1A8tP9QPbTGgACAAg%31%FI7tjhQPLT/UDy0/1A8tP9QPLT/UDy0/1A7s6w%85%/wAAA/8AAKT/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAHo%10%FA8tBhQPLTXUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPdQPLRHUDy0L1A8tOlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy06FA8tC0%218%E87tHRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8s9g%21%Szy0EVA8tPVQPLT/UDy0/1A8tP9QPLT/UDy09lE8tUw%21%TjuxDVE8taFQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMU%15%BQPLRmUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT8UT60KQ%4%BOO7EaUDy09lA8tP9QPLT/UDy0/1A8tP9QPLT/UTyzcg%31%FA9szZQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNI%79%D/AAAD/wAAo/8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAB4%10%BQPLQZUDy02FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT3UDy06FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTnUDy0Lw%223%E87tHRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8s9g%26%FE9tH5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QO7POTzy0mlA8tZBQPLStUDy08lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+lI9szI%10%E8+sB1QPLTxUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSZ%16%UD21hlA8tP9QPLT/UDy0/1A8tP9QPLT/UDy09lM+syU%26%FM5syhQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLO2UD20gk88tIQ%63%D/AACM/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAdw%10%UDy0GlA8tNlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOdQPLQw%229%E87tHRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8s9g%26%FVVqgNQPLTFUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UTu0Xw%15%E88tLdQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPRVQLUY%16%VUS7D1A9tOxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMIAAP8B%21%GYzzAVQPLT0UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP%64%D/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAHU%10%FA8tBpQPLTaUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy07FA8tDI%234%E87tHRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8s9g%31%BQQK8QUDy0wlA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPZQO7VW%16%UTy0YlA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/087tIE%26%FA7tHBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPbRt%26%BRPLSYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP%64%D/AADW/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AABz%10%BQPLQbUDy021A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTuUDy0Lw%239%E87tHRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8s9g%37%YEC/CFA9tIJQPLT1UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT+UDu0sFA6tiM%15%BMObMbUDy08FA8tP9QPLT/UDy0/1A8tP9QPLT/UDyz6VVAqgw%26%FUrqgZQPLTeUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT0Uzy0Ig%20%BVRLsPUDy0zFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP%64%D/AAAu/wAA6/8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAcQ%10%UDy0HFA8tNxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tO9QPLQ0%330%BON7EXUD20aVE9tLFPPLTXUD207FA8tPBQPLTeTzy0t1A8tXxQOrYj%176%SUm2B1E8tWtQO7O9Tzy051A8tPRQPLPpUDy00E88s5E%69%/wAAL/8AAOv/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAG8%10%FA8tBxQPLTdUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy071A8tC8%682%P8AADD/AADs/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AABu%10%BQPLQdUDy03lA8tP9QPLT/UDy0/1A8tP9QPLTwUDy0Ng%692%D/AAAx/wAA7f8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAb%11%UDy0HlA8tN9QPLT/UDy0/1A8tOxQPLQ3%704%/wAAMv8AAO7/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAGo%10%FA8tB9QPLSzUDy0v1A8tC0%714%P8AADP/AADu/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AABp%746%D/AAA0/wAA7/8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD+/wAAZ%747%/wAANf8AAPD/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA8v8AAB%747%P8AADb/AADw/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AACU%751%D/AAA4/wAA8f8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAxQ%762%/wAAOf8AAPH/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADW/wAAFw%767%P8AADr/AADy/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AANf/AAAY%778%D/AAA7/wAA8/8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA2P8AABg%789%/wAAPP8AAPP/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADZ/wAAGQ%799%P8AAD3/AAD0/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AANr/AAAa%810%D/AAA//wAA9P8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA2/8AABs%821%/wAAQP8AAOT/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAC8/wAAGw%24986%UDy0GFA8tI5QPLTHUDy0tVA8tFFQPLQB%858%BQPLQWUDy021A8tP9QPLT/UDy0/1A8tP1QPLRz%858%BQPLSFUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTzUDy0K%853%BQPLS3UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy071A8tD0%847%BQPLShUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPJQPLQ9%842%BQPLQ9UDy0+VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTzUDy0Pg%842%UDy0aVA8tPVQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy081A8tD4%842%FA8tIxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPNQPLQ/%842%BQPLSLUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTzUDy0Pw%431%FA8tANQPLRvUDy0cFA8tAM%229%UDy0D1A8tH9QPLRY%144%UDy0i1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09FA8tE%422%UDy0BFA8tK1QPLT/UDy0/1A8tLBQPLQG%218%BQPLQXUDy011A8tP9QPLT/UDy0Uw%143%FA8tIpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPRQPLR%411%BQPLQDUDy0pFA8tP9QPLT/UDy0/1A8tP9QPLSqUDy0BQ%207%FA8tBJQPLTQUDy0/1A8tP9QPLT/UDy0xQ%148%BQPLSJUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT0UDy0QQ%399%FA8tAFQPLScUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0o1A8tAI%197%UDy0EFA8tMxQPLT/UDy0/1A8tP9QPLT/UDy0/lA8tAI%149%UDy0iFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09FA8tEI%394%FA8tJRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tJ0%191%BQPLQMUDy0x1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tAQ%154%FA8tIhQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPVQPLRC%384%UDy0jFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSWUDy0AQ%175%FA8tApQPLTBUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tAI%159%BQPLSHUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTkUDy0HQ%372%BQPLSDUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0jQ%170%UDy0CFA8tLpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0zQ%170%UDy0hlA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy021A8tB0%362%FA8tHpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tIQ%159%BQPLQGUDy0s1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0Xw%175%FA8tIVQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNtQPLQe%352%UDy0clA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLR7%149%FA8tARQPLSrUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSZ%186%BQPLSLUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTcUDy0Hg%340%BQPLRqUDy0/lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTPUDy0yVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0cg%138%UDy0AlA8tKRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tKFQPLQC%186%BQPLQKUDy0ulA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy03FA8tB4%330%FA8tGRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNFQPLQSUDy0EVA8tM9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tGk%127%BQPLQBUDy0nVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0p1A8tAQ%197%UDy0CVA8tLpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tN1QPLQf%320%UDy0W1A8tP5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy01FA8tBg%10%FA8tBVQPLTUUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP5QPLRi%117%FA8tAFQPLSVUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSuUDy0BQ%207%FA8tAlQPLS5UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTdUDy0Hw%308%BQPLRbUDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTcUDy0Fg%20%BQPLQYUDy02VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT9UDy0Wg%111%FA8tI9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tLdQPLQD%218%BQPLQJUDy0uFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy03VA8tC%299%FA8tFdQPLT5UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNxQPLQb%32%UDy0GlA8tN5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+lA8tFQ%101%UDy0h1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0u1A8tAc%229%UDy0CVA8tLhQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tN5QPLQg%288%UDy0S1A8tPdQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy03lA8tBw%42%FA8tCBQPLTgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPlQPLRN%90%BQPLR7UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLS8UDy0Cg%239%FA8tAhQPLS3UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTeUDy0I%277%BQPLRHUDy0+1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTmUDy0I%53%BQPLQiUDy05VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT3UDy0RQ%79%FA8tHlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMVQPLQL%250%BQPLQIUDy0t1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy031A8tCE%266%FA8tEVQPLT4UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOZQPLQl%64%UDy0JFA8tOtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+FA8tEI%69%UDy0c1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0yFA8tA4%261%UDy0CFA8tLZQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tN9QPLQh%256%UDy0QFA8tPRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy05VA8tCY%74%FA8tCtQPLTqUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPRQPLRB%58%BQPLRqUDy0/lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTJUDy0D%272%FA8tAhQPLS2UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTfUDy0Ig%244%BQPLQ8UDy08lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTpUDy0Lg%84%BQPLQtUDy06FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTzUDy0Nw%47%FA8tGRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNFQPLQR%282%BQPLQHUDy0tVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy031A8tAk%234%FA8tDRQPLT0UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tO9QPLQx%96%UDy0L1A8tO5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy08FA8tDU%37%UDy0YFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy001A8tBc%293%UDy0B1A8tLRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tLpQPLQJ%224%UDy0MVA8tPFQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy08FA8tDQ%106%FA8tDdQPLT0UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPJQPLQ0%26%BQPLRdUDy0/VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTVUDy0Fg%303%FA8tAdQPLTMUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLS6UDy0CQ%212%BQPLQvUDy07FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT0UDy0Ow%116%BQPLQ4UDy08lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTsUDy0L%16%FA8tFlQPLT5UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNxQPLQb%314%BQPLQeUDy03FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0u1A8tAo%202%FA8tCpQPLTpUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPVQPLR%129%UDy0O1A8tPVQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy05lA8tCo%5%UDy0TVA8tPxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy03lA8tBs%325%UDy0HlA8tNtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tLtQPLQK%192%UDy0JFA8tOVQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy091A8tEY%138%FA8tERQPLT1UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOdQPLRtUDy0+1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLThUDy0IQ%335%FA8tB1QPLTbUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLS8UDy0Cg%180%BQPLQfUDy04lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT6UDy0Tg%148%BQPLRHUDy0+VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOZQPLQm%346%BQPLQdUDy021A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vFA8tAo%170%FA8tANQPLTWUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPxQPLRV%160%UDy0TFA8tPxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy06VA8tCk%357%UDy0HVA8tNpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tL1QPLQK%165%FA8tFZQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/VA8tFw%170%FA8tFRQPLT7UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTsUDy0Lg%367%FA8tBxQPLTaUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLS9UDy0Cw%159%FA8tJRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT+UDy0Z%181%BQPLRcUDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPBQPLQ0%378%BQPLQcUDy02VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vlA8tAs%154%FA8tJpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP5QPLRs%192%UDy0ZFA8tP5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy081A8tDo%389%UDy0HFA8tNlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tL9QPLQL%149%FA8tJpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tHM%202%FA8tGtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT1UDy0Q%400%FA8tBtQPLTZUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLS/UDy0Cw%143%FA8tGxQPLT/UDy0/1A8tP9QPLT/UDy0fg%212%BQPLR0UDy0/1A8tP9QPLT/UDy0/1A8tPhQPLRG%410%BQPLQbUDy02FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0wFA8tAw%138%FA8tBNQPLTvUDy0/1A8tP9QPLSG%224%UDy0fVA8tP9QPLT/UDy0+lA8tE0%421%UDy0GlA8tNhQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMBQPLQM%138%BQPLRBUDy0tFA8tGg%234%FA8tHNQPLS0UDy0Tg%431%FA8tBtQPLTyUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSh%842%BQPLQ+UDy081A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0jg%842%UDy0PVA8tPJQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tI4%842%FA8tD1QPLTyUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSP%842%BQPLQ8UDy08lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0k%843%UDy0PFA8tPJQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tJE%842%FA8tDtQPLTxUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSHUDy0BQ%836%BQPLQ7UDy08VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0jg%842%UDy0OlA8tPFQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+VA8tBk%842%FA8tDpQPLTxUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tD8%847%BQPLQ5UDy07lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+1A8tB4%853%UDy0L1A8tPJQPLT/UDy0/1A8tP9QPLT/UDy0nQ%863%FA8tDxQPLTHUDy0+FA8tOlQPLSKUDy0Cg%868%BQPLQCUDy0CVA8tAY%22101%UDy0SFA8tNpQPLTsUDy0Xg%442%UDy0MlA8tLdQPLT/UDy0mFA8tCo%405%UDy04FA8tP9QPLT/UDy0/1A8tJFQPLQH%426%BQPLRGUDy0/FA8tP9QPLT/UDy0/1A8tO5QPLQO%400%UDy07FA8tP9QPLT/UDy0/1A8tP9QPLTVUDy0Kw%415%FA8tEZQPLT8UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLR6%400%UDy0XlA8tP9QPLT/UDy0/1A8tP9QPLT/UDy071A8tFw%405%UDy0R1A8tPxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLR8%405%FA8tJFQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPJQPLRi%400%UDy01lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLRE%405%FA8tAZQPLS9UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT8UDy0lVE9tAM%389%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tItQPLQB%410%BQPLQYUDy03VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMNQPLQV%384%UDy07FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0i1A8tAE%421%UDy0N1A8tPFQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTkUDy0Mw%378%UDy0a1A8tP9QPLT/UDy0/1A8tP9QPLSLUDy0AQ%431%FA8tGJQPLT8UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy091A8tF8%378%FA8tDhQPLSyUDy0vVA8tERQPLQB%37%FA8tBdQPLSxUDy051A8tOVQPLRd%378%BQPLSVUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP5QPLSRUDy0BQ%426%UDy0F1A8tN1QPLT/UDy0/1A8tP9QPLT/UDy0Uw%372%BRPbQDUDy0w1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vVA8tBc%415%BQPLQXUDy03VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0q%379%UDy0FVA8tORQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tN5QPLQ1%405%FA8tBdQPLTdUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0r%384%FA8tDNQPLT3UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTyUDy0Y%395%UDy0F1A8tN1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0cw%388%BQPLRfUDy0/lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/FA8tJRQPLQE%378%BQPLQXUDy03VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSF%400%UDy0kVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTCUDy0Fg%367%FA8tAFQPLTSUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tIU%405%UDy0BVA8tL1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy041A8tDQ%362%FA8tC9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0hQ%42%UDy0AlA8tAhQPLQIUDy0AQ%351%FA8tBdQPLTeUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPdQPLRf%357%FA8tC1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSF%42%BQPLQgUDy0qVA8tP9QPLT/UDy0sFA8tAw%351%BQPLQ1UDy08lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT+UDy0kVA8tAU%351%BQPLS9UDy0/1A8tP9QPLT/UDy0/1A8tIU%42%FA8tCBQPLTdUDy0/1A8tP9QPLT/UDy0/1A8tLw%357%UDy0YFA8tPxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tL5QPLQX%346%BQPLQMUDy0oVA8tP5QPLT0UDy0cg%42%UDy0IFA8tN1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPNQPLQT%357%FA8tJRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTgUDy0N%405%BQPLQhUDy03FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPFQPLQS%357%FA8tARQPLTCUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09FA8tF8%394%FA8tCFQPLTcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tJ4%367%BQPLQWUDy041A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP1QPLSTUDy0Bg%378%UDy0IFA8tNxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0x1A8tAo%373%UDy0NFA8tPdQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0wVA8tBc%367%BQPLQgUDy03VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTIUDy0CQ%383%FA8tF9QPLT+UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOJQPLQ1%357%FA8tB9QPLTdUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMhQPLQJ%42%BQPLQ1UDy0R1A8tBQ%335%BQPLSRUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT3UDy0Xw%346%UDy0AlA8tMhQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0yFA8tAg%37%UDy0A1A8tK1QPLT9UDy0/1A8tPhQPLR%331%BQPLQFUDy0vlA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tJFQPLQF%336%UDy0QVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTIUDy0C%37%BQPLQDUDy0rFA8tP9QPLT/UDy0/1A8tP9QPLT5UDy0F%331%UDy0F1A8tOBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLS/UDy0Fg%330%UDy0WlA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMhQPLQJ%37%FA8tARQPLSsUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0WQ%335%FA8tDRQPLT0UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy04FA8tDM%325%UDy0B1A8tPVQPLT/UDy0/1A8tP9QPLT/UDy0x1A8tAk%37%UDy0BFA8tKxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0S%341%BQPLRfUDy0/VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPVQPLRdUj+1AQ%319%FA8tD1QPLTpUDy0/1A8tP9QPLS3UDy0Cg%36%BQPLQEUDy0q1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT%353%UDy0k1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT+UDy0kVA8tAc%319%BQPLQLUDy0HVA8tB0%42%FA8tARQPLSrUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMBQPLQJ%352%UDy0BlA8tMFQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMBQPLQY%368%UDy0BFA8tKtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0v1A8tAk%362%FA8tBdQPLTiUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLThUDy0NQ%356%BQPLQEUDy0rFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLS/UDy0Cg%42%UDy0LlA8tH1QPLQgUDy0Ag%308%BQPLQ1UDy091A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09lA8tF8%346%FA8tANQPLSsUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tL5QPLQK%37%FA8tARQPLSMUDy0/lA8tP9QPLT/UDy0mFA8tAI%309%UDy0X1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSRUDy0BQ%330%UDy0A1A8tKxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vlA8tAs%37%UDy0BFA8tLRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tGo%314%FA8tJFQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0v1A8tBU%325%UDy0rVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLS+UDy0Cw%36%BQPLQDUDy0tFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tKQ%314%FA8tAVQPLS/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOFQPLQy%314%BQPLQ1UDy0/VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tL9QPLQK%37%FA8tANQPLS1UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tHo%319%BQPLQWUDy04FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT3UDy0XFE+tAE%303%BQPLR8UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0v1A8tAo%37%UDy0AlA8tLVQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy07VA8tA8%325%UDy0M1A8tPVQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tI9QPLQJ%298%BQPLRGUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTAUDy0CQ%36%BQPLQCUDy0tVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTsUDy0Kw%335%FA8tF1QPLT+UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLS+UDy0GQ%298%UDy0klA8tP9QPLT/UDy0/1A8tMBQPLQJ%37%FA8tAJQPLS2UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOtQPLQs%341%FI/tQFQPLSRUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy04FA8tDY%298%FA8tFRQPLSdUDy0X1A8tAg%37%UDy0AlA8tLVQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy06lA8tC0%42%FA8tClQPLSSUDy0dFA8tB8%287%BQPLQHUDy0wFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPZQPLRf%346%BQPLQDUDy0tVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTpUDy0Lg%42%UDy0aVA8tP9QPLT/UDy0/1A8tNpQPLQe%288%UDy0GFA8tOFQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0kVA8tAQ%330%FA8tANQPLS1UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOlQPLQu%42%BQPLRpUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLS/%293%FA8tDVQPLT2UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMBQPLQU%320%UDy0BFA8tLRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy06VA8tC8%42%FA8tGpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%298%BQPLRfUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTiUDy0MQ%308%BQPLQEUDy0tFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTpUDy0Lw%42%UDy0alA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTJ%304%UDy0kVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+FA8tFtRPbQB%298%BQPLSmUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOlQPLQu%42%BQPLRqUDy0/lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLQp%304%UDy0BVA8tL9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSE%293%FA8tE5QPLT+UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy06lA8tC4%42%FA8tGtQPLT+UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tGU%314%FA8tBVQPLThUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT8%293%FA8tHxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTrUDy0LQ%42%UDy0a1A8tP5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0ZQ%324%BQPLQyUDy091A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTo%293%FA8tGlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOxQPLQs%42%BQPLRrUDy0/lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP5QPLRm%336%UDy0XFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPRQPLRB%293%FA8tAtQPLTbUDy0/1A8tP9QPLT/UDy07FA8tCs%42%FA8tGtQPLT+UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/lA8tGY%341%UT60AVA8tI9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09FA8tEE%303%BQPLQVUDy0q1A8tNxQPLSzUDy0L%43%UDy0a1A8tP5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT+UDy0Zg%351%FA8tAlQPLS+UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT0UDy0QQ%372%BQPLRqUDy0/lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP1QPLRn%362%BQPLQZUDy04FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPRQPLRB%373%FA8tGpQPLT+UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/VA8tGc%373%UDy0NlA8tPZQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09FA8tEE%373%UDy0alA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT9UDy0Zw%383%FA8tF9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT0UDy0QQ%372%BQPLRpUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP5QPLRn%394%BQPLSRUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPRQPLRB%373%FA8tGlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/lA8tGY%399%BQPLQEUDy0wFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09FA8tEE%373%UDy0SFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT+UDy0Zg%410%UDy0FFA8tOJQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT0UDy0QQ%378%UDy0p1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLRm%421%FA8tDFQPLT4UDy0/1A8tP9QPLT/UDy0/1A8tPRQPLRB%384%UDy0pVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tGU%431%BQPLRbUDy0/1A8tP9QPLT/UDy09FA8tEE%389%UDy0OVA8tP5QPLT/UDy0/1A8tP9QPLT/UDy0ZQ%436%BRPbQBUDy0hFA8tPxQPLToUDy0QQ%399%FA8tFFQPLT+UDy0/1A8tOVQPLRE%32549%FA8tAlQPLQ2UDy0K%421%BQPLQOUDy0I1A8tCNQPLQjUDy0I1A8tCNQPLQjUDy0I1A8tCNQPLQjUDy0I1A8tCNQPLQjUDy0I1A8tCNQPLQjUDy0I1A8tCNQPLQjUDy0I1A8tCNQPLQjUDy0I1A8tCNQPLQjUDy0I1A8tCNQPLQjUDy0I1A8tCNQPLQjUDy0Cg%282%UDy0E1A8tNpQPLT/UDy0/lA8tK1QPLQj%405%FA8tDFQPLTsUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy04lA8tCE%277%UDy0ZlA8tP9QPLT/UDy0/1A8tP9QPLT7UDy0g1A8tAs%394%FA8tKNQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tIc%277%UDy0aFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tN9QPLRbUT20Ag%383%FA8tKlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tI0%277%UDy0aFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0ylA8tDM%378%FA8tKlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tI0%277%UDy0aFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSjUDy0H%368%FA8tKlQPLT/UDy0/1A8tP9QPLT0UDy0QFA8tEFQPLRBUDy0QVA8tEFQPLRBUDy0QVA8tEFQPLRBUDy0QVA8tEFQPLRBUDy0QVA8tEFQPLRBUDy0QVA8tEFQPLRBUDy0QVA8tEFQPLRBUDy0QVA8tEFQPLRBUDy03lA8tP9QPLT/UDy0/1A8tI0%277%UDy0aFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy07VA8tHpQPLQG%357%FA8tKlQPLT/UDy0/1A8tP9QPLTx%128%UDy001A8tP9QPLT/UDy0/1A8tI0%277%UDy0aFA8tP9QPLT/UDy0/1A8tPpQPLQ8UDy001A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTbUDy0UFJAtQE%346%FA8tKlQPLT/UDy0/1A8tP9QPLTx%128%UDy001A8tP9QPLT/UDy0/1A8tI0%277%UDy0aFA8tP9QPLT/UDy0/1A8tPpSPrUBUD20A1A8tG9QPLToUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMJQPLQq%341%FA8tKlQPLT/UDy0/1A8tP9QPLTx%128%UDy001A8tP9QPLT/UDy0/1A8tI0%277%UDy0aFA8tP9QPLT/UDy0/1A8tPpSPrUB%10%BQPLQWUDy0jVA8tP1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT9UDy0j1A8tBY%330%FA8tKlQPLT/UDy0/1A8tP9QPLTx%128%UDy001A8tP9QPLT/UDy0/1A8tI0%277%UDy0aFA8tP9QPLT/UDy0/1A8tPpSPrUB%21%FA8tCpQPLTAUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOlQPLRwUT20Ag%319%FA8tKlQPLT/UDy0/1A8tP9QPLTx%128%UDy001A8tP9QPLT/UDy0/1A8tI0%277%UDy0aFA8tP9QPLT/UDy0/1A8tPpSPrUB%26%BRPrQBUDy0UFA8tNhQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy01VA8tD0%314%FA8tKlQPLT/UDy0/1A8tP9QPLTx%128%UDy001A8tP9QPLT/UDy0/1A8tI0%277%UDy0aFA8tP9QPLT/UDy0/1A8tPpSPrUB%37%FA8tAdQPLR5UDy07FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP5QPLSvUDy0J%304%FA8tKlQPLT/UDy0/1A8tP9QPLTx%128%UDy001A8tP9QPLT/UDy0/1A8tI0%277%UDy0aFA8tP9QPLT/UDy0/1A8tPpSPrUB%48%UDy0HFA8tKJQPLT9UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+VA8tIVQPLQS%293%FA8tKlQPLT/UDy0/1A8tP9QPLTx%128%UDy001A8tP9QPLT/UDy0/1A8tI0%277%UDy0aFA8tP9QPLT/UDy0/1A8tPpSPrUB%58%BQPLQzUDy0yFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTjUDy0X%288%FA8tKlQPLT/UDy0/1A8tP9QPLTx%128%UDy001A8tP9QPLT/UDy0/1A8tI0%277%UDy0aFA8tP9QPLT/UDy0/1A8tPpSPrUB%64%UT60AVA8tFxQPLTcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tM1QPLQ5%277%FA8tKlQPLT/UDy0/1A8tP9QPLTx%128%UDy001A8tP9QPLT/UDy0/1A8tI0%277%UDy0aFA8tP9QPLT/UDy0/1A8tPpSPrUB%74%BQPLQNUDy0g1A8tPlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTI%277%FA8tKlQPLT/UDy0/1A8tP9QPLTx%128%UDy001A8tP9QPLT/UDy0/1A8tI0%277%UDy0aFA8tP9QPLT/UDy0/1A8tPpSPrUB%80%Uj+1AVA8tGFQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTxUDy0Bw%271%FA8tKlQPLT/UDy0/1A8tP9QPLTx%128%UDy001A8tP9QPLT/UDy0/1A8tI0%277%UDy0aFA8tP9QPLT/UDy0/1A8tPpSPrUB%74%BQPLQnUDy0sVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLS0%277%FA8tKlQPLT/UDy0/1A8tP9QPLTx%128%UDy001A8tP9QPLT/UDy0/1A8tI0%277%UDy0aFA8tP9QPLT/UDy0/1A8tPpSPrUB%64%UDy0C1A8tIlQPLT9UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/lA8tJ5QPLQN%277%FA8tKlQPLT/UDy0/1A8tP9QPLTx%128%UDy001A8tP9QPLT/UDy0/1A8tI0%277%UDy0aFA8tP9QPLT/UDy0/1A8tPpSPrUB%53%FE9tAJQPLRfUDy05FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTGUDy0Lg%287%FA8tKlQPLT/UDy0/1A8tP9QPLTx%128%UDy001A8tP9QPLT/UDy0/1A8tI0%277%UDy0aFA8tP9QPLT/UDy0/1A8tPpSPrUB%48%UDy0N1A8tM9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy04VA8tGBRPrUB%293%FA8tKlQPLT/UDy0/1A8tP9QPLTx%128%UDy001A8tP9QPLT/UDy0/1A8tI0%277%UDy0aFA8tP9QPLT/UDy0/1A8tPpSPrUB%37%FA8tB5QPLSdUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPpQPLR+UDy0Dw%303%FA8tKlQPLT/UDy0/1A8tP9QPLTx%128%UDy001A8tP9QPLT/UDy0/1A8tI0%277%UDy0aFA8tP9QPLT/UDy0/1A8tPpSPrUB%26%BQPLQGUDy0f1A8tO9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0p1A8tB8%314%FA8tKlQPLT/UDy0/1A8tP9QPLTx%128%UDy001A8tP9QPLT/UDy0/1A8tI0%277%UDy0aFA8tP9QPLT/UDy0/1A8tPpSPrUB%21%FA8tFZQPLTfUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tM1QPLRC%325%FA8tKlQPLT/UDy0/1A8tP9QPLTx%128%UDy001A8tP9QPLT/UDy0/1A8tI0%277%UDy0aFA8tP9QPLT/UDy0/1A8tPpSPrUB%10%BQPLQvUDy0vFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTmUDy0a1A9tAM%330%FA8tKlQPLT/UDy0/1A8tP9QPLTx%128%UDy001A8tP9QPLT/UDy0/1A8tI0%277%UDy0aFA8tP9QPLT/UDy0/1A8tPpSPrUBUDy0GFA8tJRQPLT9UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/FA8tIhQPLQT%341%FA8tKlQPLT/UDy0/1A8tP9QPLTx%128%UDy001A8tP9QPLT/UDy0/1A8tI0%277%UDy0aFA8tP9QPLT/UDy0/1A8tPtQPLR3UDy061A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP5QPLS8UDy0Jw%351%FA8tKlQPLT/UDy0/1A8tP9QPLTx%128%UDy001A8tP9QPLT/UDy0/1A8tI0%277%UDy0aFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy00lA8tE0%362%FA8tKlQPLT/UDy0/1A8tP9QPLTx%128%UDy001A8tP9QPLT/UDy0/1A8tI0%277%UDy0aFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPVQPLR1UDy0Bw%367%FA8tKlQPLT/UDy0/1A8tP9QPLT3UDy0d1A8tHhQPLR4UDy0eFA8tHhQPLR4UDy0eFA8tHhQPLR4UDy0eFA8tHhQPLR4UDy0eFA8tHhQPLR4UDy0eFA8tHhQPLR4UDy0eFA8tHhQPLR4UDy0eFA8tHhQPLR3UDy06FA8tP9QPLT/UDy0/1A8tI0%277%UDy0aFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT7UDy0nlA8tBg%378%FA8tKlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tI0%277%UDy0aFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/lA8tMJQPLQx%389%FA8tKlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tI0%277%UDy0XlA8tP9QPLT/UDy0/1A8tP9QPLTiUDy0WQ%399%FA8tJhQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tIc%277%UDy0DFA8tL5QPLT/UDy091A8tH9QPLQO%405%FA8tCZQPLTeUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy03lA8tCE%282%FE9tAJQPLQQUDy0Cw%420%BQPLQHUDy0I1A8tCNQPLQjUDy0I1A8tCNQPLQjUDy0I1A8tCNQPLQjUDy0I1A8tCNQPLQjUDy0I1A8tCNQPLQjUDy0I1A8tCNQPLQjUDy0I1A8tCNQPLQjUDy0I1A8tCNQPLQjUDy0I1A8tCNQPLQjUDy0I1A8tCNQPLQjUT20Ag%33967%FA8tBhQPLQd%874%BQPLQYUDy0n1A8tPxQPLT/UDy0xlA8tC4%853%UT20AlA8tHZQPLTrUDy0/1A8tP9QPLT/UDy0/1A8tP1QPLSTUDy0G%837%BQPLRNUDy02FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy06lA8tHRRPbQC%816%UDy0KlA8tLFQPLT+UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTXUDy0QQ%420%BQPLQlUDy0TFA8tCU%362%FA8tBRQPLSKUDy0+VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPtQPLT2UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/lA8tLJQPLQn%394%BQPLQjUDy0d1A8tMpQPLT+UDy0/1A8tPhQPLRM%346%BRPbQDUDy0a1A8tOVQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT+UDy0wVA8tDJQPLQaUDy0n1A8tPxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT6UDy0iFA8tBQ%362%FNAtQFQPLQgUDy0elA8tMhQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTlUDy0Gw%335%FA8tDtQPLTOUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNlQPLRZ%21%FA8tDFQPLTEUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOVQPLRgUj+1AQ%340%BQPLQ2UDy0hFA8tNNQPLT+UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0wlE9tAM%319%BQPLQmUDy0plA8tP5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT2UDy0gFA8tA0%31%BSP7UBUDy0WVA8tOJQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0z1A8tDg%319%BQPLQ0UDy0hlA8tNxQPLT+UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tIc%309%UDy0CFA8tH9QPLTzUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/VA8tKtQPLQb%53%FA8tA9QPLSAUDy091A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP1QPLSnUDy0Iw%287%FA8tAZQPLQuUDy0ilA8tNlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPpQPLTaUDy0/1A8tP9QPLT/UDy0/1A8tPpQPLQ+%293%FE9tANQPLRUUDy04VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTIUDy0Ow%74%UDy0HlA8tKtQPLT8UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09VA8tH9QPLQG%261%FA9tANQPLRFUDy0lVA8tOpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPtQPLS+UDy0bVA8tBhRPbQCUDy0wlA8tP9QPLT/UDy0/1A8tP9QPLTeUDy0Cw%282%UDy0NVA8tMNQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy07FA8tGI%95%BQPLQ8UDy0y1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTeUDy0VVE9tAE%234%FE9tAJQPLRGUDy0llA8tOhQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPVQPLSxUDy0V1A8tA8%21%UDy0HVA8tO9QPLT/UDy0/1A8tP9QPLT/UDy0qlI/tQE%266%FA8tBVQPLSbUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPlQPLSLUDy0E%107%UDy0B1A8tGdQPLTqUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMRQPLQy%213%FA8tAxQPLRLUDy0mFA8tOdQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPRQPLSyUDy0WVA8tA4%42%FA8tFZQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tGY%255%BQPLQHUDy0c1A8tO1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0tFA8tC%128%BQPLQSUDy0jFA8tPhQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT6UDy0k1A8tBc%186%FA8tAZQPLRUUDy0pVA8tPVQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tO5QPLSnUDy0XVA8tAw%63%BQPLSfUDy0/1A8tP9QPLT/UDy0/1A8tPFQPLQo%240%UT60AVA8tElQPLTeUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNVQPLRD%149%FA8tCFQPLS2UDy0/lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOtQPLRzUDy0BQ%175%FA8tK9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tO1QPLSgUDy0RVA8tAg%79%BQPLQOUDy00lA8tP9QPLT/UDy0/1A8tP9QPLTTUDy0Bw%228%BQPLQeUDy0ulA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTyUDy0a1A8tAk%165%UDy0UFA8tNRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy02lA8tEg%165%UDy0HFA8tP1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOxQPLShUDy0R1A8tAg%101%UDy0NVA8tPtQPLT/UDy0/1A8tP9QPLT/UDy0kQ%228%BQPLTNUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/VA8tJRQPLQU%181%FA8tApQPLRsUDy08lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPtQPLQY%160%UDy0IlA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOJQPLSLUDy0TVA8tAQ%122%FA8tG9QPLT/UDy0/1A8tP9QPLT/UDy0/FA8tE4%223%BQPLT2UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLS9UDy0Jw%202%UDy0FVA8tJZQPLT8UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLRb%160%UDy0IlA8tP9QPLT/UDy0/1A8tP9QPLS3UDy0NlA9tAM%143%BQPLS0UDy0/1A8tP9QPLT/UDy0/1A8tOtQPLQV%218%BQPLT2UDy0/1A8tP9QPLT/UDy03FA8tFhSP7UB%218%BQPLQzUDy0xFA8tP9QPLT/UDy0/1A8tP9QPLRb%160%UDy0IlA8tP9QPLT/UDy0/1A8tP9QPLR2%154%BQPLQZUDy05lA8tP9QPLT/UDy0/1A8tP9QPLS8UDy0BQ%212%BQPLT2UDy0/1A8tP9QPLT/UDy0bg%234%UDy0PVA8tP9QPLT/UDy0/1A8tP9QPLRb%160%UDy0IlA8tP9QPLT/UDy0/1A8tP9QPLR2%160%UDy0QlA8tP1QPLT/UDy0/1A8tP9QPLT/UDy0dw%212%BQPLT2UDy0/1A8tP9QPLT/UDy0bg%234%UDy0PVA8tP9QPLT/UDy0/1A8tP9QPLRb%160%UDy0IlA8tP9QPLT/UDy0/1A8tP9QPLR2%165%FA8tIlQPLT/UDy0/1A8tP9QPLT/UDy0+FA8tDc%207%BQPLT2UDy0/1A8tP9QPLT/UDy0bg%234%UDy0PVA8tP9QPLT/UDy0/1A8tP9QPLRb%160%UDy0IlA8tP9QPLT/UDy0/1A8tP9QPLR2%165%FA8tAlQPLTGUDy0/1A8tP9QPLT/UDy0/1A8tOJQPLQQ%202%BQPLT2UDy0/1A8tP9QPLT/UDy0bg%234%UDy0PVA8tP9QPLT/UDy0/1A8tP9QPLRb%160%UDy0IlA8tP9QPLT/UDy0/1A8tP9QPLR2%170%BQPLQlUDy09FA8tP9QPLT/UDy0/1A8tP9QPLSj%202%BQPLT2UDy0/1A8tP9QPLT/UDy0bg%234%UDy0PVA8tP9QPLT/UDy0/1A8tP9QPLRb%160%UDy0IlA8tP9QPLT/UDy0/1A8tP9QPLR2%176%UDy0WlA8tP5QPLT/UDy0/1A8tP9QPLT+UDy0YQ%196%BQPLT2UDy0/1A8tP9QPLT/UDy0bg%234%UDy0PVA8tP9QPLT/UDy0/1A8tP9QPLRb%160%UDy0IlA8tP9QPLT/UDy0/1A8tP9QPLR2%181%FA8tKRQPLT/UDy0/1A8tP9QPLT/UDy09FA8tCI%191%BQPLT2UDy0/1A8tP9QPLT/UDy0bg%234%UDy0PVA8tP9QPLT/UDy0/1A8tP9QPLRb%160%UDy0IlA8tP9QPLT/UDy0/1A8tP9QPLR2%181%FA8tA9QPLTbUDy0/1A8tP9QPLT/UDy0/1A8tMxQPLQM%186%BQPLT2UDy0/1A8tP9QPLT/UDy0bg%234%UDy0PVA8tP9QPLT/UDy0/1A8tP9QPLRb%160%UDy0IlA8tP9QPLT/UDy0/1A8tP9QPLR2%186%BQPLQxUDy091A8tP9QPLT/UDy0/1A8tP9QPLSI%186%BQPLT2UDy0/1A8tP9QPLT/UDy0bg%234%UDy0PVA8tP9QPLT/UDy0/1A8tP9QPLRb%160%UDy0IlA8tP9QPLT/UDy0/1A8tP9QPLR2%192%UDy0dlA8tP9QPLT/UDy0/1A8tP9QPLT9UDy0SQ%180%BQPLT2UDy0/1A8tP9QPLT/UDy0bg%234%UDy0PVA8tP9QPLT/UDy0/1A8tP9QPLRb%160%UDy0IlA8tP9QPLT/UDy0/1A8tP9QPLR2%192%UDy0BVA8tLZQPLT/UDy0/1A8tP9QPLT/UDy07VA8tBs%175%BQPLT2UDy0/1A8tP9QPLT/UDy0bg%234%UDy0PVA8tP9QPLT/UDy0/1A8tP9QPLRb%160%UDy0IlA8tP9QPLT/UDy0/1A8tP9QPLR2%197%FA8tBlQPLTrUDy0/1A8tP9QPLT/UDy0/1A8tJ4%175%BQPLT2UDy0/1A8tP9QPLT/UDy0bg%234%UDy0PVA8tP9QPLT/UDy0/1A8tP9QPLRb%160%UDy0IlA8tP9QPLT/UDy0/1A8tP9QPLR2%202%BQPLSrUDy0/1A8tP9QPLT/UDy0/1A8tLg%175%BQPLT2UDy0/1A8tP9QPLT/UDy0bg%234%UDy0PVA8tP9QPLT/UDy0/1A8tP9QPLRb%160%UDy0IlA8tP9QPLT/UDy0/1A8tP9QPLR2%197%FA8tFJQPLT+UDy0/1A8tP9QPLT/UDy0/1A8tF4%175%BQPLT2UDy0/1A8tP9QPLT/UDy0bg%234%UDy0PVA8tP9QPLT/UDy0/1A8tP9QPLRb%160%UDy0IlA8tP9QPLT/UDy0/1A8tP9QPLR2%192%UDy0HlA8tPJQPLT/UDy0/1A8tP9QPLT/UDy0rVA9tAM%175%BQPLT2UDy0/1A8tP9QPLT/UDy0bg%234%UDy0PVA8tP9QPLT/UDy0/1A8tP9QPLRb%160%UDy0IlA8tP9QPLT/UDy0/1A8tP9QPLR2%186%BSPrUBUDy0vlA8tP9QPLT/UDy0/1A8tP9QPLTmUDy0Ew%180%BQPLT2UDy0/1A8tP9QPLT/UDy0bg%234%UDy0PVA8tP9QPLT/UDy0/1A8tP9QPLRb%160%UDy0IlA8tP9QPLT/UDy0/1A8tP9QPLR2%186%BQPLSBUDy0/1A8tP9QPLT/UDy0/1A8tPhQPLR%187%BQPLT2UDy0/1A8tP9QPLT/UDy0bg%234%UDy0PVA8tP9QPLT/UDy0/1A8tP9QPLRb%160%UDy0IlA8tP9QPLT/UDy0/1A8tP9QPLR2%181%FA8tDpQPLT9UDy0/1A8tP9QPLT/UDy0/1A8tIk%191%BQPLT2UDy0/1A8tP9QPLT/UDy0bg%234%UDy0PVA8tP9QPLT/UDy0/1A8tP9QPLRb%160%UDy0IlA8tP9QPLT/UDy0/1A8tP9QPLR2%176%UDy0FlA8tN5QPLT/UDy0/1A8tP9QPLT/UDy0xFA8tAU%191%BQPLT2UDy0/1A8tP9QPLT/UDy0bg%234%UDy0PVA8tP9QPLT/UDy0/1A8tP9QPLRb%160%UDy0IlA8tP9QPLT/UDy0/1A8tP9QPLR2%176%UDy0plA8tP9QPLT/UDy0/1A8tP9QPLTtUDy0HQ%196%BQPLT2UDy0/1A8tP9QPLT/UDy0bg%234%UDy0PVA8tP9QPLT/UDy0/1A8tP9QPLRb%160%UDy0IlA8tP9QPLT/UDy0/1A8tP9QPLR2%170%BQPLRnUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLRa%202%BQPLT2UDy0/1A8tP9QPLT/UDy0bg%234%UDy0PVA8tP9QPLT/UDy0/1A8tP9QPLRb%160%UDy0IlA8tP9QPLT/UDy0/1A8tP9QPLR2%165%FA8tChQPLT5UDy0/1A8tP9QPLT/UDy0/1A8tJk%207%BQPLT2UDy0/1A8tP9QPLT/UDy0bg%234%UDy0PVA8tP9QPLT/UDy0/1A8tP9QPLRb%160%UDy0IlA8tP9QPLT/UDy0/1A8tP9QPLR2%160%UDy0BVA8tNBQPLT/UDy0/1A8tP9QPLT/UDy02FA8tAo%207%BQPLT2UDy0/1A8tP9QPLT/UDy0bg%234%UDy0PVA8tP9QPLT/UDy0/1A8tP9QPLRb%160%UDy0IlA8tP9QPLT/UDy0/1A8tP9QPLR2%160%UDy0l1A8tP9QPLT/UDy0/1A8tP9QPLTyUDy0MQ%212%BQPLT2UDy0/1A8tP9QPLT/UDy0bg%234%UDy0PVA8tP9QPLT/UDy0/1A8tP9QPLRb%160%UDy0IlA8tP9QPLT/UDy0/1A8tP9QPLR3%154%BQPLRNUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLR1%218%BQPLT2UDy0/1A8tP9QPLT/UDy0bg%234%UDy0PVA8tP9QPLT/UDy0/1A8tP9QPLRb%160%UDy0IlA8tP9QPLT/UDy0/1A8tP9QPLT3UDy0rlA8tFlQPLQQ%133%FA8tB9QPLTnUDy0/1A8tP9QPLT/UDy0/1A8tLJSP7UB%218%BQPLT2UDy0/1A8tP9QPLT/UDy0bg%234%UDy0PVA8tP9QPLT/UDy0/1A8tP9QPLRb%160%UDy0IlA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT4UDy0q1A8tFtQPLQO%112%UD20A1A8tLpQPLT/UDy0/1A8tP9QPLT/UDy05lA8tBI%223%BQPLT2UDy0/1A8tP9QPLT/UDy08VA8tHRQPLQI%213%FA9tANQPLRRUDy03VA8tP9QPLT/UDy0/1A8tP9QPLRb%160%UDy0CVA8tPBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT1UDy0ulA8tGhQPLQa%96%UDy0fVA8tP9QPLT/UDy0/1A8tP9QPLT+UDy0RQ%228%BQPLT2UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTeUDy0T%203%UDy0KVA8tLlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLRY%165%FA8tElQPLTdUDy0/lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT7UDy0wVA8tGpQPLQa%74%BQPLQ2UDy0/FA8tP9QPLT/UDy0/1A8tP9QPLSE%234%BQPLTEUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tLJQPLQq%181%FA8tBFQPLSVUDy0+FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOtQPLQV%176%UDy0NFA8tIRQPLTdUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT+UDy0u1A8tGxQPLQY%53%FA8tAxQPLTgUDy0/1A8tP9QPLT/UDy0/1A8tMhQPLQE%234%BQPLQWUDy0mlA8tPlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT4UDy0lFA8tA8%159%BQPLQGUDy0alA8tO9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0u1A8tCk%191%BRPbQCUDy0MFA8tIpQPLTTUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT8UDy01FA8tHhQPLQp%32%UT20AlA8tK1QPLT/UDy0/1A8tP9QPLT/UDy07FA8tCY%250%FA8tDZQPLS6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tO1QPLRpUDy0Bw%143%FA8tEVQPLTUUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tN9QPLRMUT20AQ%218%UDy0I1A8tHRQPLTNUDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT9UDy001A8tHhQPLQo%16%UDy0X1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0Xw%260%BQPbQDUDy0TlA8tN9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0yVA8tEU%127%BQPLQgUDy0sVA8tPxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTxUDy0dVA8tAY%245%UDy0JVA8tHJQPLTQUDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0zVA8tIRQPLRZUDy08FA8tP9QPLT/UDy0/1A8tP9QPLSd%277%FA8tAhQPLR2UDy08VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPxQPLStUDy0IQ%106%UDy0DlA8tIlQPLT3UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/lA8tJ1QPLQe%272%UDy0I1A8tHhQPLS2UDy0/VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNxQPLQL%288%UDy0HlA8tJ5QPLT9UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09VA8tIlQPLQN%85%FE9tAJQPLRhUDy07FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTGUDy0Og%298%UDy0FlA8tGVQPLS7UDy0+lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+lA8tDI%303%BQPLQ8UDy0xVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTiUDy0XFA9tAQ%69%UDy0OlA8tMNQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy05lA8tFdSPrUB%320%UDy0FlA8tGNQPLTAUDy0+FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0bQ%314%UD20A1A8tFdQPLTnUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMFQPLQ7%53%FA8tBhQPLSoUDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPRQPLSLUDy0CQ%346%UDy0FlA8tFtQPLSnUDy09lA8tP9QPLT/UDy0/1A8tP9QPLS4UT20Ag%324%BQPLQKUDy0i1A8tPZQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT6UDy0qFA8tBg%31%BQPLQJUDy0dFA8tPVQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0qVA8tCQ%373%UDy0DVA8tFRQPLSpUDy0w1A8tKtQPLQa%341%FA8tCRQPLSoUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPNQPLRzUDy0CQ%15%FA8tFdQPLTbUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tM1QPLRD%768%UDy0RFA8tNlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy02lA8tFZQPLQxUDy0u1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTrUDy0a1A9tAM%778%FA9tANQPLRtUDy07FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT9UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09lA8tJVQPLQO%800%UDy0DlA8tJZQPLT4UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSxUDy0L%821%BQPLQrUDy0vlA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy031A8tEtRPrUB%837%FA8tE5QPLTgUDy0/1A8tP9QPLT/UDy0/1A8tO5QPLR1UDy0Bw%852%BQPLQGUDy0dlA8tOhQPLT4UDy0p1A8tBU%874%FA8tARQPLQI%13829%FE9tANQPbQD%880%UDy0ZlA8tOVQPLTrUDy0u1A8tH5QPLRAUDy0EQ%847%FA8tAZQPLSMUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+1A8tM1QPLSaUDy0V1A8tCE%821%UDy0FlA8tLpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTjUDy0pFA8tHBQPLQxUDy0Cw%788%BQPLQxUDy03FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy08lA8tMFQPLSDUDy0T1A8tA4%383%BQPLQvUDy0VlA8tBM%362%FA8tFhQPLTyUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLToUDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP1QPLTUUDy0llA8tGRQPLQmUT20AQ%346%UDy0JFA8tKlQPLT9UDy0/1A8tPNQPLRtUD20Aw%340%BQPLQIUDy0ilA8tP5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tL5QPLQeUT20AlA8tDpQPLR6UDy0rVA8tOZQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT+UDy05FA8tLJQPLR0UDy0QlA8tAs%314%FA8tAZQPLSBUDy09lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy00VA8tEU%330%FA8tBpQPLTAUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0lFA8tAo%26%FA9tARQPLQpUDy0XVA8tJxQPLTPUDy0+lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPhQPLTEUDy0kFA8tCk%287%BRPbQBUDy0WFA8tOBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSrUDy0IQ%314%UDy0N1A8tOBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPlQPLRiUT20AQ%58%UDy0EVA8tEpQPLSDUDy0u1A8tPNQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tO5QPLQl%277%FA8tDRQPLTHUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+lA8tIJQPLQR%293%FI+tQFQPLRgUDy09VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy041A8tDY%90%FA8tAZQPLQ3UDy0alA8tKhQPLTnUDy0/VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSb%266%BQPLQZUDy0nVA8tP5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT4UDy011A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTiUDy0Yw%282%UDy0ClA8tJJQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTDUDy0Gg%122%UDy0HlA8tFlQPLSMUDy0zFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT0UDy0Fg%250%UDy0BlA8tHZQPLTsUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/lA8tLRQPLQgUT20AlA8tF1QPLTgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMpQPLQx%266%BQPLQdUDy0vVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tJdQPLQH%149%FA8tAdQPLRFUDy0hFA8tMxQPLT/UDy0/1A8tP9QPLT/UDy0hw%239%FE9tAJQPLRMUDy021A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTRUDy0Qw%20%BQPLQMUDy0g1A8tPJQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT9UDy0olA8tBw%250%FA8tDpQPLTdUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT7UDy0ZVI/tQE%170%FA8tB1QPLT3UDy0/1A8tP9QPLT/UDy09FA8tBU%229%UDy0LlA8tLtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy08FA8tGpQPLQK%37%FA8tCVQPLSuUDy0/lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPVQPLR4UDy0Dg%234%UDy0YlA8tPNQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOpQPLQ2%186%BQPLSXUDy0/1A8tP9QPLT/UDy0/1A8tIk%218%FA8tBFQPLSQUDy09lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPtQPLSUUDy0F%21%BQPLQ8UDy0vlA8tMlQPLRuUDy0BQ%10%UDy0P1A8tNFQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy02lA8tF%219%FE9tAJQPLSTUDy0/lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vFA8tBY%191%BQPLQeUDy0/1A8tP9QPLT/UDy0/1A8tPJQPLQU%202%BQPLQFUDy0alA8tOlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0vFA8tDI%26%FA8tA5QPLTzUDy0/1A8tP9QPLT/UDy021A8tEU%10%FE9tANQPLRpUDy06lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP5QPLTBUDy0Kw%202%UDy0FlA8tMNQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSPUDy0BQ%202%UDy0rlA8tP9QPLT/UDy0/1A8tP9QPLR2%192%Uj+1AVA8tD9QPLTNUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNpQPLRW%37%FA8tD9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLS3UDy0Jw%10%UDy0F1A8tJBQPLT7UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+1A8tJdQPLQV%186%BQPLQ0UDy04lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+VA8tFw%213%UDy0M1A8tP5QPLT/UDy0/1A8tP9QPLTlUDy0C%181%BQPLQmUDy0p1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT2UDy0dFA8tAs%42%FA8tAZQPLThUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09FA8tI9QPLQL%10%BQPLQpUDy0u1A8tP5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTnUDy0b1E9tAI%170%FA8tF5QPLT2UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTmUDy0Lw%223%FA8tLBQPLT/UDy0/1A8tP9QPLT/UDy0bg%170%UDy0ClA8tIpQPLTyUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/lA8tKhQPLQY%58%BQPLQrUDy0wVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLToUDy0ZVE+tAE%10%FA8tEtQPLTWUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNNQPLRG%154%BRPbQCUDy0kVA8tP5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMBQPLQS%229%FA8tDJQPLT9UDy0/1A8tP9QPLT/UDy041A8tAc%154%FE9tAJQPLRVUDy05VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTFUDy0OQ%74%Uj61AVA8tF1QPLTfUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNRQPLQ9%10%BQPLQMUDy0dlA8tPJQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT+UDy0tVA8tB8%138%FA8tBBQPLTAUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0kVA9tAQ%239%BQPLSzUDy0/1A8tP9QPLT/UDy0/1A8tG8%149%UDy0I1A8tNBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy04VA8tGBRPrQB%90%BQPLQMUDy0elA8tPdQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT+UDy0olA8tC%11%FA8tBtQPLSdUDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPdQPLSIUD20Aw%127%FA8tI1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPdQPLRf%250%BQPLRCUDy0/1A8tP9QPLT/UDy0/1A8tOJQPLQI%144%UDy0r1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPpQPLSJUDy0Dg%111%FA8tBxQPLSuUDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPJQPLSEUDy0Bg%10%UDy0LlA8tMVQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0Sw%127%FA8tLFQPLT/UDy0/1A8tP9QPLT/UDy05VA8tDQ%255%BRPrQBUDy0y1A8tP9QPLT/UDy0/1A8tP9QPLRQ%144%UDy09VA8tP9QPLT/UDy0/1A8tP9QPLT+UDy0sVA8tB8%133%UDy0QFA8tMdQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy04lA8tFFSP7UB%10%BQPLRgUDy03lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0X%128%FA8tLFQPLT/UDy0/1A8tP9QPLTwUDy0F%267%UDy0S1A8tP9QPLT/UDy0/1A8tP9QPLTPUT61AQ%138%UDy09VA8tP9QPLT/UDy0/1A8tN1QPLRC%149%FA9tARQPLRlUDy05VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTAUDy0NQ%10%UDy0D1A8tH5QPLT/UDy0/1A8tP9QPLT/UDy0X%128%FA8tLFQPLT/UDy0/1A8tP9QPLTp%272%UT20A1A8tMxQPLT/UDy0/1A8tP9QPLT/UDy0Ug%138%UDy09VA8tP9QPLT/UDy0/1A8tKQ%165%UDy0EVA8tJBQPLT4UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/VA8tEw%10%FA8tAZQPLT/UDy0/1A8tP9QPLT/UDy0X%128%FA8tLFQPLT/UDy0/1A8tP9QPLTp%277%FA8tExQPLT/UDy0/1A8tP9QPLT/UDy0zQ%138%UDy09VA8tP9QPLT/UDy0/1A8tKQ%10%FA8tC9QPLTTUDy06VA8tK1QPLQL%138%BQPLQlUDy0tlA8tP1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tLw%10%FA8tAZQPLT/UDy0/1A8tP9QPLT/UDy0X%128%FA8tLFQPLT/UDy0/1A8tP9QPLTp%277%FE9tAJQPLTMUDy0/1A8tP9QPLT/UDy0/1A8tFI%133%UDy09VA8tP9QPLT/UDy0/1A8tKQ%10%FA8tNNQPLT/UDy0/1A8tP9QPLR1%149%FA8tEtQPLTOUDy0/1A8tP9QPLT/UDy0/1A8tLM%10%FA8tAZQPLT/UDy0/1A8tP9QPLT/UDy0X%128%FA8tLFQPLT/UDy0/1A8tP9QPLTp%282%BQPLRpUDy0/1A8tP9QPLT/UDy0/1A8tMM%133%UDy09VA8tP9QPLT/UDy0/1A8tKQ%5%UDy0DlA8tP9QPLT/UDy0/1A8tP9QPLSH%154%BQPLQJUDy0cFA8tPFQPLT/UDy06lA8tDc%10%FA8tAZQPLT/UDy0/1A8tP9QPLT/UDy0X%128%FA8tLFQPLT/UDy0/1A8tP9QPLTp%282%BQPLQIUDy04lA8tP9QPLT/UDy0/1A8tP9QPLQ3%128%UDy09VA8tP9QPLT/UDy0/1A8tKQ%5%UDy0DlA8tP9QPLT/UDy0/1A8tP9QPLSH%165%FA8tAhQPLQ6UD20Aw%15%FA8tAZQPLT/UDy0/1A8tP9QPLT/UDy0X%128%FA8tLFQPLT/UDy0/1A8tP9QPLTp%288%UDy0ZlA8tP9QPLT/UDy0/1A8tP9QPLSz%128%UDy09VA8tP9QPLT/UDy0/1A8tKQ%5%UDy0DlA8tP9QPLT/UDy0/1A8tP9QPLSH%197%FA8tAZQPLT/UDy0/1A8tP9QPLT/UDy0X%128%FA8tLFQPLT/UDy0/1A8tP9QPLTp%288%UDy0CVA8tOJQPLT/UDy0/1A8tP9QPLT/UDy0Ng%122%UDy09VA8tP9QPLT/UDy0/1A8tKQ%5%UDy0DlA8tP9QPLT/UDy0/1A8tP9QPLSH%197%FA8tAZQPLT/UDy0/1A8tP9QPLT/UDy0X%128%FA8tLFQPLT/UDy0/1A8tP9QPLTp%293%FA8tGhQPLT/UDy0/1A8tP9QPLT/UDy0tQ%122%UDy09VA8tP9QPLT/UDy0/1A8tKQ%5%UDy0DlA8tP9QPLT/UDy0/1A8tP9QPLSH%197%FA8tAZQPLT/UDy0/1A8tP9QPLT/UDy0X%128%FA8tLFQPLT/UDy0/1A8tP9QPLTp%293%FA8tAdQPLTsUDy0/1A8tP9QPLT/UDy0/VA8tDU%117%UDy09VA8tP9QPLT/UDy0/1A8tKQ%5%UDy0DlA8tP9QPLT/UDy0/1A8tP9QPLSH%197%FA8tAZQPLT/UDy0/1A8tP9QPLT/UDy0X%128%FA8tLFQPLT/UDy0/1A8tP9QPLTp%298%BQPLSDUDy0/1A8tP9QPLT/UDy0/1A8tJ8%117%UDy09VA8tP9QPLT/UDy0/1A8tKQ%5%UDy0DlA8tP9QPLT/UDy0/1A8tP9QPLSH%197%FA8tAZQPLT/UDy0/1A8tP9QPLT/UDy0X%128%FA8tLFQPLT/UDy0/1A8tP9QPLTp%298%BQPLQUUDy08lA8tP9QPLT/UDy0/1A8tPpQPLQg%112%UDy09VA8tP9QPLT/UDy0/1A8tKQ%5%UDy0DlA8tP9QPLT/UDy0/1A8tP9QPLSH%197%FA8tAZQPLT/UDy0/1A8tP9QPLT/UDy0X%128%FA8tLFQPLT/UDy0/1A8tP9QPLTp%304%UDy0hFA8tP9QPLT/UDy0/1A8tP9QPLSX%112%UDy09VA8tP9QPLT/UDy0/1A8tKQ%5%UDy0DlA8tP9QPLT/UDy0/1A8tP9QPLSH%197%FA8tAZQPLT/UDy0/1A8tP9QPLT/UDy0X%128%FA8tLFQPLT/UDy0/1A8tP9QPLTp%304%UDy0GFA8tP5QPLT/UDy0/1A8tP9QPLTI%112%UDy09VA8tP9QPLT/UDy0/1A8tKQ%5%UDy0DlA8tP9QPLT/UDy0/1A8tP9QPLSH%197%FA8tAZQPLT/UDy0/1A8tP9QPLT/UDy0X%128%FA8tLFQPLT/UDy0/1A8tP9QPLTp%304%UDy0X1A8tP9QPLT/UDy0/1A8tP9QPLS8%112%UDy09VA8tP9QPLT/UDy0/1A8tKQ%5%UDy0DlA8tP9QPLT/UDy0/1A8tP9QPLSH%197%FA8tAZQPLT/UDy0/1A8tP9QPLT/UDy0X%128%FA8tLFQPLT/UDy0/1A8tP9QPLTp%298%BRPbQCUDy0zFA8tP9QPLT/UDy0/1A8tP9QPLRT%112%UDy09VA8tP9QPLT/UDy0/1A8tKQ%5%UDy0DlA8tP9QPLT/UDy0/1A8tP9QPLSH%197%FA8tAZQPLT/UDy0/1A8tP9QPLT/UDy0X%128%FA8tLFQPLT/UDy0/1A8tP9QPLTp%298%BQPLRKUDy0/1A8tP9QPLT/UDy0/1A8tM9SP7UB%112%UDy09VA8tP9QPLT/UDy0/1A8tKQ%5%UDy0DlA8tP9QPLT/UDy0/1A8tP9QPLSH%197%FA8tAZQPLT/UDy0/1A8tP9QPLT/UDy0X%128%FA8tLFQPLT/UDy0/1A8tP9QPLTp%293%FE9tAJQPLTLUDy0/1A8tP9QPLT/UDy0/1A8tFE%117%UDy09VA8tP9QPLT/UDy0/1A8tKQ%5%UDy0DlA8tP9QPLT/UDy0/1A8tP9QPLSH%197%FA8tAZQPLT/UDy0/1A8tP9QPLT/UDy0X%128%FA8tLFQPLT/UDy0/1A8tP9QPLTp%293%FA8tExQPLT/UDy0/1A8tP9QPLT/UDy00FE9tAM%117%UDy09VA8tP9QPLT/UDy0/1A8tKQ%5%UDy0DlA8tP9QPLT/UDy0/1A8tP9QPLSH%197%FA8tAZQPLT/UDy0/1A8tP9QPLT/UDy0X%128%FA8tLFQPLT/UDy0/1A8tP9QPLTp%293%FA8tMpQPLT/UDy0/1A8tP9QPLT/UDy0Zg%122%UDy09VA8tP9QPLT/UDy0/1A8tKQ%5%UDy0DlA8tP9QPLT/UDy0/1A8tP9QPLSH%197%FA8tAZQPLT/UDy0/1A8tP9QPLT/UDy0X%128%FA8tLFQPLT/UDy0/1A8tP9QPLTp%288%UDy0OlA8tP9QPLT/UDy0/1A8tP9QPLTjUDy0Bw%122%UDy09VA8tP9QPLT/UDy0/1A8tKQ%5%UDy0DlA8tP9QPLT/UDy0/1A8tP9QPLSH%197%FA8tAZQPLT/UDy0/1A8tP9QPLT/UDy0X%128%FA8tLFQPLT/UDy0/1A8tP9QPLTp%288%UDy0sFA8tP9QPLT/UDy0/1A8tP9QPLRv%128%UDy09VA8tP9QPLT/UDy0/1A8tKQ%5%UDy0DlA8tP9QPLT/UDy0/1A8tP9QPLSH%197%FA8tAZQPLT/UDy0/1A8tP9QPLT/UDy0X%128%FA8tLFQPLT/UDy0/1A8tP9QPLTp%282%BQPLQyUDy0/lA8tP9QPLT/UDy0/1A8tOVQPLQI%128%UDy09VA8tP9QPLT/UDy0/1A8tKQ%5%UDy0DlA8tP9QPLT/UDy0/1A8tP9QPLSH%160%UDy0BlA8tGVQPLSaUDy0blI/tQE%10%FA8tAZQPLT/UDy0/1A8tP9QPLT/UDy0X%128%FA8tLFQPLT/UDy0/1A8tP9QPLTp%282%BQPLStUDy0/1A8tP9QPLT/UDy0/1A8tGw%133%UDy09VA8tP9QPLT/UDy0/1A8tKQ%5%UDy0CVA8tPNQPLT/UDy0/1A8tP9QPLSI%154%BQPLRMUDy04FA8tP9QPLT/UDy0/1A8tHE%10%FA8tAZQPLT/UDy0/1A8tP9QPLT/UDy0X%128%FA8tLFQPLT/UDy0/1A8tP9QPLTp%277%FA8tDJQPLT/UDy0/1A8tP9QPLT/UDy05lA8tAo%133%UDy09VA8tP9QPLT/UDy0/1A8tKQ%10%FA8tJ9QPLT/UDy0/1A8tP5QPLQ4%144%UDy0K1A8tL1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMM%10%FA8tAZQPLT/UDy0/1A8tP9QPLT/UDy0X%128%FA8tLFQPLT/UDy0/1A8tP9QPLTp%277%FA8tK5QPLT/UDy0/1A8tP9QPLT/UDy0ig%138%UDy09VA8tP9QPLT/UDy0/1A8tKQ%10%FA8tAdQPLRnUDy0iFA8tDg%138%FA8tA1QPLSVUDy09lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tJQ%10%FA8tAZQPLT/UDy0/1A8tP9QPLT/UDy0X%128%FA8tLFQPLT/UDy0/1A8tP9QPLTrUT61AQ%266%UDy0HFA8tPZQPLT/UDy0/1A8tP9QPLT0UDy0FQ%138%UDy09VA8tP9QPLT/UDy0/1A8tK9SP7UB%154%BRPbQCUDy0a1A8tOxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0sVA8tB0%10%FA8tBNQPLT/UDy0/1A8tP9QPLT/UDy0X%128%FA8tLFQPLT/UDy0/1A8tP9QPLT/UDy0mlA8tAw%261%UDy0k1A8tP9QPLT/UDy0/1A8tP9QPLSI%144%UDy09VA8tP9QPLT/UDy0/1A8tP9QPLS1UDy0Lw%143%FA8tENQPLTYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNtQPLRY%10%BQPLQEUDy0YVA8tOtQPLT/UDy0/1A8tP9QPLT/UDy0X%128%FA8tJtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMNQPLQi%250%BQPLQdUDy0+FA8tP9QPLT/UDy0/1A8tPRQPLQX%144%UDy05FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+VA8tI1QPLQL%122%BQPLQjUDy0p1A8tP5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT1UDy0dFA8tAk%10%FA8tD1QPLTDUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0X%128%FA8tDpQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLThUDy0QQ%244%BQPLSRUDy0/1A8tP9QPLT/UDy0/1A8tIg%149%UDy0h1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLToUDy0ZFA9tAQ%101%UDy0CVA8tIpQPLT1UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+1A8tJ5QPLQY%10%BQPLQaUDy0qlA8tPpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTyUDy0Iw%132%BQPLQvUDy02FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy09VA8tGs%234%FA8tBxQPLT4UDy0/1A8tP9QPLT/UDy0+1A8tBk%149%UD20BFA8tFhQPLThUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNJQPLQ/%85%FE9tAJQPLRhUDy05lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTCUDy0Ow%10%UDy0ClA8tHZQPLT0UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/lA8tKVQPLQi%144%UDy0E1A8tLRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP5QPLSdUDy0Bg%223%FA8tIhQPLT/UDy0/1A8tP9QPLT/UDy0pQ%164%BQPLQMUDy0e1A8tPRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT9UDy0olA8tB8%69%UDy0OlA8tMRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy04lA8tF9QPbQD%5%FI/tQFQPLRYUDy03FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTMUDy0Qg%159%FA8tARQPLSFUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0yVA8tCc%213%UDy0DlA8tOtQPLT/UDy0/1A8tP9QPLT9UDy0KQ%175%FA8tBhQPLSmUDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPNQPLSDUDy0Cg%52%BQPLSDUDy0/VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPZQPLSKUDy0Dg%10%UDy0M1A8tLxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy061A8tGpRPbQC%176%UDy0VFA8tPdQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOVQPLRI%208%UDy0dlA8tP9QPLT/UDy0/1A8tP9QPLSj%192%UDy0QlA8tMhQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy05VA8tFhQPbQE%37%FA8tBtQPLT9UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT8UDy0sFA8tCE%10%FA8tBNQPLSUUDy0+lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPdQPLSTUDy0D%192%FA8tChQPLTeUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT3UDy0cw%196%BQPLQNUDy061A8tP9QPLT/UDy0/1A8tP1QPLQr%197%FA8tAZQPLRdUDy06lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLS8UDy0O%32%FA8tChQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMpQPLRG%10%BQPLQGUDy0bFA8tPJQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0sFA8tCk%207%BQPLQPUDy0uFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/lA8tKZQPLQJ%186%BQPLR4UDy0/1A8tP9QPLT/UDy0/1A8tKU%213%UDy0DlA8tIZQPLT4UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+VA8tJ5QPLQX%21%FE9tAJQPLS7UDy0/1A8tP9QPLTvUDy0alA8tAc%10%FA8tE9QPLTWUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tN9QPLRL%224%UD20A1A8tIhQPLT+UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTPUDy0I%176%FA8tAxQPLTqUDy0/1A8tP9QPLT/UDy0/1A8tDw%223%BQPLQoUDy0rlA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTvUDy0eFA8tAg%15%BQPLQMUDy0VVA8tGVQPLQR%10%BQPLQgUDy0s1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTvUDy0dFA8tAU%239%BQPLRWUDy09VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy06VA8tEM%159%BRPbQCUDy0H1A8tIhQPLT/UDy0/1A8tP9QPLT/UDy0w%240%FA8tEpQPLTRUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNdQPLRMUT20AQ%26%UDy0DlA8tIpQPLT6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+FA8tJ5QPLQS%256%UDy0LVA8tOFQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPpQPLRw%133%FA8tAZQPLQ6UDy0eFA8tKtQPLTnUDy0/lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0Qg%244%BQPLQHUDy0clA8tPBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0s1A8tC4%10%FA8tAVQPLRhUDy07VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTEUDy0Mg%271%FA8tA5QPLSxUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0o1A8tAY%101%UDy0FVA8tFFQPLSJUDy0yVA8tPZQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT%262%FA8tBFQPLSaUDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPZQPLSNUDy0RVA8tM5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy05VA8tFRRPbQC%282%BRPbQCUDy0f1A8tP1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNBQPLQZ%69%FA8tAVQPLQrUDy0YFA8tJ9QPLTdUDy0+lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLRB%272%UDy0L1A8tLhQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPJQPLR+UDy0CQ%303%FA8tE5QPLTyUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTtUDy0Pw%42%UDy0C1A8tD9QPLR+UDy0u1A8tOhQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT+UDy041A8tHxRPrQB%282%BQPLRUUDy05FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0pVA8tCU%319%BQPLQnUDy03FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+1A8tG4%15%BQPLQiUDy0U1A8tJBQPLTCUDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP5QPLTPUDy0lFA8tFVQPLQk%304%UDy0CFA8tHxQPLT0UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMxQPLQ/Uj+1AQ%330%UDy0C1A8tLRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSrUDy0oVA8tOBQPLT9UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy06lA8tL5QPLSAUDy0QVA8tA4%335%BQPLQWUDy0pVA8tPxQPLT/UDy0/1A8tP9QPLToUDy0XlA8tAQ%346%FE+tQFQPLSCUDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPtQPLTgUDy0oVA8tG5QPLQuUDy0Bg%367%FA8tDdQPLS1UDy0yVA8tJBQPLQQ%368%UDy0UlA8tO9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy091A8tMxQPLSMUDy0V1A8tBY%794%FA8tC1QPLTXUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP5QPLTqUDy0rVA8tHpQPLQ9UDy0C%821%BQPLQSUDy0tFA8tP9QPLT/UDy0/1A8tNFQPLSdUDy0X1A8tCxRPbQC%848%UT20A1A8tDpQPLRBUDy0Fg%31375%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%853%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%853%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%853%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%853%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%853%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%853%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%853%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%853%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%853%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%853%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%853%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%789%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%277%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%277%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%277%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%277%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%277%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%277%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%277%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%277%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%277%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%277%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%277%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%277%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%277%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%277%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%277%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%341%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%853%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%853%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%853%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%853%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%853%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%853%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%853%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%853%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%853%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%853%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%853%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%41162%BOO7cnUT21T1E8tW5QPLV8UDyzg087tHRRPLRiTzyzTUw5sxs%357%UECvEFE+tkJRO7RfUDyzb1E9tH5PPLSEUTy0e088tGpRPbVPUz6zJQAA/wE%415%BPPLREUTy1oVA8tOpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTgUDu0n1I7tjg%325%Tz22KlA8tY1QPbTbUDy0/lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tO9PPLSnUTu0UkBAvwQ%63%BQPbVTUDy06FA8tOhQPLToUDy06FA8tOhQPLToUDy01Q%282%UTy1SFA8tM9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTJUD2zQw%303%FM+syVQPLS8UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOBRPLVrVVWqAw%52%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%272%EZGuQtQPLOiUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/k88s5RNM7MK%288%UDuzbE88tPdQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0xU0+siE%47%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%267%Uj24GVA8tNBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTMVUS7Dw%276%BQPLRzUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tONNPLMe%42%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%261%BROrkWTzy011A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0yE47sQ0%266%FE9tU9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTWVSuqBg%36%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%256%EBAvwRQPLTCUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8s6U%261%YEC/CFA7tN9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTvUDy0yFA8tLhRPLS+UDy0z1A8tPZQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/Tzu0d%37%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%256%FA8s4NQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT5UDyzs088s2FQPLNATju3J049sS5QO7ZJUDyzg1A8tOBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QOrNG%256%Tzu1Z1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UTy0q1I7tjg%26%IAAgAJROrM5UTy1nlA8tP1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy08FVAqgw%31%BQPbM2UTy0mFE8tJhRPLSYUTy0mFE8tJhRPLSYUDy0j%251%UzmzKFA8tPpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tblNPLMe%37%FVVqgNQPLRzUDy0+VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTW%256%Tzy0t1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9RPbNl%53%E87tD1QPLTwUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tV0%325%UDy0qlA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0j%59%UT21T1A8tPxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/Uju2O%245%BmM8wFUDy0+FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tKY%63%BOO7ROUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A7tKM%319%BQOrYjUDy0/VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9PPbSkAAD/AQ%63%FE9tItQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0lQ%244%BMObMbUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1E8tUw%69%UD21ylA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1E8tdE%31%BJSbYHTUCzFE1AsxRNQLMUTUCzFE1AsxRNQLMUVTm4Eg%244%BQPLODUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOpQQK8Q%69%Ek3tg5QPLTyUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/Tzy01w%244%BSPbMyUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9szY%69%UTy0e1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tO0%31%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%245%BQPLTZUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tGk%79%BQPLSZUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+1UrqgY%239%BSO7Y4UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/087s1c%69%UTqzOU89tKRPPbSkTz20pE89tKRPPbSkTz20pFE8tZ4%31%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%240%FI6tR9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09k47sQ0%79%BRPLVMUDy08FA8tPBQPLTwUDy08FA8tPBQPLTwUDy08FM5syg%239%BRPLUmUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMKAAIAC%138%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%240%E88tVpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0qQ%372%BNM7MKUDy0+lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLWvUkC2H%133%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%240%FA8tYlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UTuza%379%UDy0xVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+lA8ta9QPLVdVUC1G%117%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%240%FE8tK5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UTqzOQ%378%Tzu1Z1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tN1QPLSmTzu0dFE+tkJVObgS%90%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%240%FA8tMlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/TjuxDQ%378%VSuqBlA8tNxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy04FE8tK5QO7N5Tz60OmYzzAU%63%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%240%FA8tNxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT7%389%FE6tCxQPLTyUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPNRPLWhUDyzQ%53%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%240%FA8tOVQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTt%394%BRPrQpUDy01VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tcBOPrYx%42%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%240%FA8tOpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTj%400%VSuqBk88tGpQPLTjUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT5TzyzYQ%36%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%240%FA8tONQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTt%410%CAAIACUD2zQ088tJpQPLTeUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1E8tFU%31%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%240%FA8tNlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT7%432%Uj24GVA9tVNQPbWGUDy0uFA8s+lQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPJROrkW%26%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%240%FA8tMNQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/STe2Dg%452%BSQLYcTzyzTVE7tIVQPLS/UDy0+lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9PPLSE%26%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%240%E88tKdQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/Tz60Og%474%VUS7D1A8tGZQPLTaUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTc%26%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%240%FA8tX9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD20aQ%484%BVK6oGUTy0mFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/Uj24GQ%20%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%240%FE9tU9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0rQ%84%BRPrZCUDy09FA8tPRQPLT0UDy09FA8tPRQPLT0UDy09FE7tFI%359%D/AU88tMRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UTqzOQ%20%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%240%FU5uBJQPLT9UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+FVEuw8%79%BPPbVxUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tDM%239%BRPbVPUT20WFE9tFhRPbRYUT20WFE9tFhRPbRYTzu0PQ%79%E88tVpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/Uj20Sw%20%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%245%BPPLPHUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/089tXE%79%BQO7O9UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1VEuw8%239%BQO7POUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0z%80%E4+tjFQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UTy1T%21%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%245%BQPbRtUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tO5RNq4T%69%E47tydQPLT8UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDyz2%245%BQPLSqUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+VU5uBI%74%FI9tjtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/Uj22Ow%20%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%245%BRNq4TUDy09VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9RPbSxVVWqAw%58%gACAAlA8tLtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD20gg%244%BQPLV/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/089tHo%74%FE8tHtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UTq5Fg%20%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%251%UDy1jVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UTy1nmYzzAU%47%BVVaoDUTy0mFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/TTuyKw%244%BOPbEuUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/088tPdSO7Y4%64%TTyzHlA8tO1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTa%26%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%251%UTauE1A8tOtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1E8tdFPPrQ6%37%FA8tDNRO7TBUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QO7Os%256%UDy01VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT0UT2zZYAAgAI%47%BQPLNAUDy041A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9PPLSE%26%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%256%FA8tVlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy02k88s5FPO7R0UD21YFE8tW5QPbSPUDy0zVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPVNPLMe%256%UD20XFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tN1QPbWGUTy1TE45sSRVPbYVUECvEFJAthxRPLM8UDyzb1A8tMJQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/088tPdMObMb%26%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%261%BQPLSWUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/087tWc%266%FE8tL5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1E8tHs%31%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%261%BAQL8EUDy0rVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy1f%272%FI6tR9QPLThUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/Tzy0tFVVqgM%31%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%267%ZjPMBVA8tJxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPxPPbR6%282%BTPLQiUDy04VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9RPbSxVTmqCQ%36%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%277%BPPLNhUDy071A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy03lE6szk%293%VT22FU89tKRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy08FE7s2gAAP8B%42%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%283%UTq5FlA8tY1QPLTzUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNpRPLVrTTOzCg%308%BQPbNDUD20tVA8tPxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOpQPLWNVUC1G%53%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD207%293%BGRrkLUTuzW1A8s6JQPLTcUDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy09VE7tMFPPLSEUD2zQ4AAgAI%330%E47sRpQPbRtUDu0o1A8tNZQPLT9UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy08VA8tcBQPLWNTju0TmYzzAU%421%ZjPMBVBAtyBROrQsTj2xLk08sx5GRrkL%378%BVVaoDVTm4Ek0+siFRPLMvUT60KU47sRpGRrkL%40704%UDy0w1A8tOhQPLToUDy06FA8tOhQPLToUDy06FA8tOhRPbNl%74%BQPLS4UDy06FA8tOhQPLToUDy06FA8tOhQPLToUDy06%293%BQPLTDUDy06FA8tOhQPLToUDy06FA8tOhQPLToUDy06FA8tOhQPLToUDy06FA8tOhQPLToUDy06FA8tOhQPLToTzy051A8tN1QPLTLUDy0uFA9tYZSPbRLVUCqD%315%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPbTsSzy0EQ%68%BQPLTMUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy071E8tIhVPbYV%304%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDu0kg%68%BQPLTMUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9PPLTnUDyzQ%299%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+007sis%63%BQPLTMUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/FE8tUw%293%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tLw%63%BQPLTMUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPFTObMo%288%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9RO7RS%58%BQPLTMUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLWy%288%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QO7TfYEC/C%53%BQPLTMUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+1E8tJhRPLSYUTy0mFE8tJhRPLSYUTy0mFE8tJhQPLScUTy0rlA8tNpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UTyzLw%282%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy1f%53%BQPLTMUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%53%BPPrUtUTy0vlA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD20gg%282%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09VJAthw%47%BQPLTMUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%59%QEC/BFE8tL5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0wg%282%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tKY%47%BQPLTMUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%64%E49sS5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy08g%282%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9RPLM8%42%BQPLTMUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%69%BQO7TfUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1UrqgY%277%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP5QPLT+UDy0/1A8tP9QPLT/UDy0/1A8tP9QO7POgACAAg%36%BQPLTMUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%69%BQPLS7UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1VAtRg%277%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPRQO7SjUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0Zg%36%BQPLTMUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%69%BRPbSxUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1E2rhM%277%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPROO7EaUDy081A8tP9QPLT/UDy0/1A8tP9QPLT/UDy061BArx%32%BQPLTMUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%69%BQPLTFUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/oAAgAI%277%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%5%UDuzeVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tZ%32%BQPLTMUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%64%ElJtgdQPLT1UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy06w%282%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%5%SUm2B1A8tN1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPtPPbYq%26%BQPLTMUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%64%FE7s2hQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD20tQ%282%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%10%FE9tU9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLS6%26%BQPLTMUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%59%UTyzPFA8tPRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UTy1e%283%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%15%BQPLS6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UT21Tw%20%BQPLTMUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09EBAvwRAQL8EQEC/BEBAvwRAQL8EQEC/BEBAvwRgQL8IUj24GVE8tUhQO7SfUDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT9UDq2Iw%282%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%15%BPPbYqUDy0+1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy03UlJtgc%15%BQPLTMUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSt%288%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%21%UDy1kFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/089tHo%15%BQPLTMUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPZPPbYq%288%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%21%UECvEFA8tOtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPRMObMb%10%BQPLTMUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tGY%293%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%26%FA8tGZQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9PPbSk%10%BQPLTMUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy1fw%298%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%26%IAAgAJQO7POUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/Tz60Og%4%BQPLTMUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tO5PPLNe%304%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%31%BPO7Q9UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0zIAAgAJQPLTMUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTgUTy0iEs8tBE%309%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%37%Tzy0p1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/089tWRQPLTMUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+VA8tXxQPLV8UDy1fFA8tXxQPLV8UDy1fFA8tXxQPLV8UDy1fFE8tHtPPLRqTz2zVE07sis%325%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%37%Tz6wHVA8tPVQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOpQPLTaUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%395%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%42%FA7tH1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%395%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%42%GBAvwhQO7TfUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%395%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%47%BQPbVTUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%395%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%53%UTy0vlA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%395%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%53%Tz61LVA8tPxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%395%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%58%E88s5RQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%395%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%58%FU5uBJQPLTtUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%395%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%63%BPPLRqUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%395%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%63%BVVaoDUDy00lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%395%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%69%UDyzQFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%395%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%FE8tKtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%395%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%FI6tR9QPLT2UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%292%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%39872%EBAvwRQOrUwUTy0VVE8s3JRPbR+Tzy0hFA7s3lRO7NoUDqzRkw5sxs%389%UECvEFE+tkJRO7RfUDyzb1E9tH5PPLSEUTy0e088tGpRPbVPUz6zJQAA/wE%378%FU5qglPPLVaUDyzs1A8tPNQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTeTzyzkVI6sjU%357%Tz22KlA8tY1QPbTbUDy0/lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tO9PPLSnUTu0UkBAvwQ%351%BmM8wFUTyzclA8tOhQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9RO7TBTzu0PQ%335%FM+syVQPLS8UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOBRPLVrVVWqAw%335%FI9szJQPLTTUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/lE7s5tNM7MK%320%UDuzbE88tPdQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0xU0+siE%325%UDy1WVA8tPZQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9RPLXRUjq1Hw%308%BQPLRzUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tONNPLMe%314%BPPLNhUDy0/lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy04E0+siE%298%FE9tU9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTWVSuqBg%303%FE8tUxQPLT9UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tNtLPLQR%288%YEC/CFA7tN9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTvUDy0yFA8tLhRPLS+UDy0z1A8tPZQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/Tzu0d%299%UDq2I1A8tPFQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLThUDy0jFE9tU9QPbM2Tju3J1E9sj9QPLVdUDy0qVA8tPRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLS4%288%Tzu1Z1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UTy0q1I7tjg%26%IAAgAJROrM5UTy1nlA8tP1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy08FVAqgw%290%P8BUTu0wVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy07k89tWQAAP8B%37%FVEuw9PPLSaUDy0/lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/Tzu1Zw%282%Tzy0t1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9RPbNl%53%E87tD1QPLTwUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tV0%287%BQPbRcUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTaTDmzGw%58%TzyzUVA8tPtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy07lBArx%272%BmM8wFUDy0+FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tKY%63%BOO7ROUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A7tKM%282%FVVqgNQPLTdUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOBSQLYc%69%FE8tFVQPLT+UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8s4M%271%BMObMbUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1E8tUw%69%UD21ylA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1E8tdE%282%FE9tU9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/047tEE%79%BPPLSaUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOpVK6oG%266%BSPbMyUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9szY%69%UTy0e1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tO0%282%FE9tLFQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UTy1ng%84%BQQK8QUDy06lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPbVT%266%BSO7Y4UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/087s1c%69%UTqzOU89tKRPPbSkTz20pE89tKRPPbSkTz20pFE8tZ4%277%VTmqCVA8tPZQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/Tz22Kg%90%Tzyzh1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9RPLWh%266%BRPLUmUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMKAAIAC%384%UTu1RVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9PPLTE%96%TjmxJFA8tP5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTm%266%BNM7MKUDy0+lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLWvUkC2H%379%Tz20elA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QO7N5%101%FA8tNVQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/TjuxGg%266%UDy0xVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+lA8ta9QPLVdVUC1G%363%UDyzpVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPbND%101%FA8s6JQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/Tz20Rw%266%Tzu1Z1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tN1QPLSmTzu0dFE+tkJVObgS%336%Tzy0xFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9LPLQR%101%FA8s29QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UT2zZQ%266%VSuqBlA8tNxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy04FE8tK5QO7N5Tz60OmYzzAU%309%UDy02lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPw%106%FA8tVlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UT20fg%271%FE6tCxQPLTyUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPNRPLWhUDyzQ%299%UTy05FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tO0%106%FA7tklQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy1iQ%276%BRPrQpUDy01VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tcBOPrYx%288%UDyz6VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1E8tOQ%106%FE8szxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/TzyzkQ%282%VSuqBk88tGpQPLTjUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT5TzyzYQ%282%UDy14lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPI%106%FE8tUhQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UT20iw%292%CAAIACUD2zQ088tJpQPLTeUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1E8tFU%277%UDy01lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP5VVaoD%101%FA8tVlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDyzg%315%Uj24GVA9tVNQPbWGUDy0uFA8s+lQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPJROrkW%272%UDy0u1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9NPLMe%101%FA8tHNQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0Zg%340%BSQLYcTzyzTVE7tIVQPLS/UDy0+lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9PPLSE%272%Tzy0mlA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9PPbNU%101%FA8tKlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDqzRg%362%VUS7D1A8tGZQPLTaUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTc%272%Tzy0alA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSM%101%FA8tOFQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UTq5Fg%372%BVK6oGUTy0mFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/Uj24GQ%266%Uj2zMlA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLXigACAAg%90%Tz60OlA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTe%386%D/AU88tMRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UTqzOQ%268%D/AVA8tOZQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/TzuzSg%90%UDu0o1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9PPLOU%266%BRPbVPUT20WFE9tFhRPbRYUT20WFE9tFhRPbRYTzu0PQ%79%E88tVpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/Uj20Sw%271%E88s5RQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0zFVVqgM%79%BOPbEuUDy0+lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLN%267%BQO7POUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0z%80%E4+tjFQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UTy1T%272%FE8sy9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/087tHQ%74%FVVqgNQPLTMUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8s9g%271%BQPLSqUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+VU5uBI%74%FI9tjtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/Uj22Ow%276%BQPbW5UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPpPPLNN%64%gACAAlA7tKNQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/088s2E%271%BQPLV/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/089tHo%74%FE8tHtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UTq5Fg%276%BOO7U0UDy0/VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT5UTuzWw%52%BOO7ENUDyzpVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UTy01FVVqgM%271%BOPbEuUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/088tPdSO7Y4%64%TTyzHlA8tO1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTa%288%UDu0klA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tLVSOrI1%32%VTmqCVE7s1tQPLTjUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT9Uju2O%283%UDy01VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT0UT2zZYAAgAI%47%BQPLNAUDy041A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9PPLSE%288%TTOzClA8tNJQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy03VA8s6JRPLSIUTy0e088s5FRPbSxUDy09FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLO%289%UD20XFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tN1QPbWGUTy1TE45sSRVPbYVUECvEFJAthxRPLM8UDyzb1A8tMJQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/088tPdMObMb%293%E0+siFQPLPpUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tK0AAP8B%293%FE8tL5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1E8tHs%303%BNO7IrUDyz6VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/Tzy0tFUrqgY%298%FI6tR9QPLThUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/Tzy0tFVVqgM%309%TT6yIVE8tdFQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9PPbWXZjPMBQ%308%BTPLQiUDy04VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9RPbSxVTmqCQ%319%FU5qglRPbSLUDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/Tzy051A9tVM%325%VT22FU89tKRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy08FE7s2gAAP8B%336%Tju3J1A9tKBQPLT4UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOZRPLV4TjuxDQ%340%BQPbNDUD20tVA8tPxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOpQPLWNVUC1G%357%BQQK8QTzyzYU89tKRQPLTcUDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy09VA8tMxQPLWQUDqzRlVVqgM%362%E47sRpQPbRtUDu0o1A8tNZQPLT9UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy08VA8tcBQPLWNTju0TmYzzAU%389%ZjPMBVI6tR9NO7IrTj62MU47tydON7EX%410%BVVaoDVTm4Ek0+siFRPLMvUT60KU47sRpGRrkL%39354%BOO7cnUT21T1E8tW5QPLV8UDyzg087tHRRPLRiTzyzTUw5sxs%831%BPPLREUTy1oVA8tOpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTgUDu0n1I7tjg%69%TzyzkVA8tOhQPLToUDy06FA8tOhQPLToUDy06FE8tJg%255%BQPLTDUDy06FA8tOhQPLToUDy06FA8tOhQPLToUDy06FA8tOhQPLToUDy06FA8tOhQPLToUDy06FA8tOhQPLToUDy06FA8tOhQPLToUDy06FA8tOhQPLToUDy06FA8tOhQPLToUDy06FA9tLU%293%UTy1SFA8tM9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTJUD2zQw%58%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMg%282%EZGuQtQPLOiUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/k88s5RNM7MK%48%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMg%277%Uj24GVA8tNBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTMVUS7Dw%42%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMg%271%BROrkWTzy011A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0yE47sQ0%37%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMg%266%EBAvwRQPLTCUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8s6U%37%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMg%266%FA8s4NQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT5UDyzs088s2FQPLNATju3J049sS5QO7ZJUDyzg1A8tOBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QOrNG%32%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+1E8tJhRPLSYUTy0mFE8tJhRPLSYUTy0mFE8tJhRPLSYUTy0mFE8tJhRPLSYUTy0mFE8tJhRPLSYUTy0mFE8tJhRPLSYUTy0mFA9s3Y%261%UzmzKFA8tPpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tblNPLMe%37%FVVqgNQPLRzUDy0+VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTW%32%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%363%UDy0qlA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0j%59%UT21T1A8tPxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/Uju2O%27%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%357%BQOrYjUDy0/VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9PPbSkAAD/AQ%63%FE9tItQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0lQ%26%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%357%BQPLODUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOpQQK8Q%69%Ek3tg5QPLTyUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/Tzy01w%26%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%357%BQPLTZUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tGk%79%BQPLSZUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+1UrqgY%21%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%352%FI6tR9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09k47sQ0%79%BRPLVMUDy08FA8tPBQPLTwUDy08FA8tPBQPLTwUDy08FM5syg%21%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%352%E88tVpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0qQ%154%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%352%FA8tYlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UTuza%155%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%352%FE8tK5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UTqzOQ%154%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/VE8tNRRPLTUUTy01FE8tNRRPLTUUTy01FE8tNRRPLTUUTy01FE8tNRRPLTUUTy01FE8tNRRPLTUUTy01FE8tNRQPLRz%261%FA8tMlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/TjuxDQ%154%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSM%261%FA8tNxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT7%160%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSM%261%FA8tOVQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTt%160%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSM%261%FA8tOpQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTj%160%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSM%261%FA8tONQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTt%160%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSM%261%FA8tNlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT7%160%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/FA7s6xQO7OsUDuzrFA7s6xQO7OsUDuzrFA7s6xQO7OsUDuzrFA7s6xQO7OsUDuzrFA7s6xQO7OsUDuzrFA7s6xPPLNe%261%FA8tMNQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/STe2Dg%154%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%352%E88tKdQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/Tz60Og%154%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%352%FA8tX9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD20aQ%154%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%352%FE9tU9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0rQ%84%BRPrZCUDy09FA8tPRQPLT0UDy09FA8tPRQPLT0UDy09FE7tFI%21%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%352%FU5uBJQPLT9UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+FVEuw8%79%BPPbVxUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tDM%21%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%357%BPPLPHUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/089tXE%79%BQO7O9UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1VEuw8%21%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%357%BQPbRtUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tO5RNq4T%69%E47tydQPLT8UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDyz2%27%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%357%BRNq4TUDy09VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9RPbSxVVWqAw%58%gACAAlA8tLtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD20gg%26%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%363%UDy1jVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UTy1nmYzzAU%47%BVVaoDUTy0mFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/TTuyKw%26%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%363%UTauE1A8tOtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1E8tdFPPrQ6%37%FA8tDNRO7TBUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QO7Os%32%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%368%FA8tVlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy02k88s5FPO7R0UD21YFE8tW5QPbSPUDy0zVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPVNPLMe%32%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%373%BQPLSWUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/087tWc%37%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%373%BAQL8EUDy0rVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy1f%43%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%379%ZjPMBVA8tJxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPxPPbR6%48%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%389%BPPLNhUDy071A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy03lE6szk%53%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%395%UTq5FlA8tY1QPLTzUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNpRPLVrTTOzCg%58%UD20oFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tag%255%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%405%BGRrkLUTuzW1A8s6JQPLTcUDy0/FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy09VE7tMFPPLSEUD2zQ4AAgAI%837%ZjPMBVBAtyBROrQsTj2xLk08sx5GRrkL%40650%BQPLTDUDy06FA8tOhQPLToUDy06FA8tOhQPLToUDy06FA8tOhQPLToUDy06FA8tOhQPLToUDy06FA8tOhQPLToUDy06FA8tONQPLPYUDy0v1E7s5tRPLRiVUC1G%443%UDy0w1A8tOhQPLToUDy06FA8tOhQPLToUDy06FA8tN0%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/U88tLRROrM5%432%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT+UTy0mFUrqgY%421%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tLVVVaoD%416%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9RPLR7%416%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT5UTy1Jg%410%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+1E8tJhRPLSYUTy0mFE8tJhRPLSYUTy0mFE8tJhRPLSYTzy0mlA9tahQPLTNUDy0/VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UTy1ng%410%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%59%UkC2HFA8tKlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09mBAvwg%405%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%67%/wFQPbS1UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/047tEE%405%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%69%BOO7RBUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/088s2E%31%BVQKoMTUCzFE1AsxRNQLMUTUCzFE1AsxRNQLMUTjuxDQ%20%BAQL8EUD2zQ1A9s3ZPPLOHUTq0L%283%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%69%BVPbYVUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1E7s2g%31%BQPbSgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD21q%16%E88s2FRPLTkUDy0/1A8tP9QPLT/UT20W%283%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%69%BOO7EaUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/047tE4%31%BQPbSgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD21q%5%BVK6oGUDyzpVA8tP9QPLT/UDy0/1A8tP9QPLT/UT20W%283%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%69%BRO7RSUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/FE6uRY%31%BQPbSgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD21q%5%BRPLWhUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UT20W%283%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%64%FVAqgxRPLXRUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDuzr%37%BQPbSgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD21qFE9tFhQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UT20W%283%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%53%BGRrkLUD21U1A8tNVQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTxUzy0Ig%36%BQPbSgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0rVA8teJQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UT20W%283%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/VE8tNRRPLTUUTy01FE8tNRRPLTUUTy01FE8tNRRPLTUUDy01VA8tONQPLT9UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/088tPdQOrNG%42%BQPbSgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UT20W%283%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDyz6VE8szw%47%BQPbSgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPxRPLXRUDy0ulA9tLVQPLTJUTy1T%283%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLS4VUC1G%53%BQPbSgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTyUDu0cEk3tg4%309%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9RPLTkTzyzTQ%52%BQPbSgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPFNO7Ir%320%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tIyAAIAC%42%BQPbSgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/088tGo%325%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLOlVVWqAw%36%BQPbSgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+U0zswo%325%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/FA7s6xQO7OsUDuzrFA7s6xQO7OsUDuzrFA7s6xQO7OsUDuzrFA7tLBRO7TBUD207FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UT20iw%36%BQPbSgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0yQ%330%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%61%D/AVA9s0NQPLTSUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/087tD0%31%BQPbSgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UT20sQ%330%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%69%BJN7YOUDy01lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tMI%31%BQPbSgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD21q%331%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%75%Tz2zVFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9TPLQi%26%BQPbSgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD21q%331%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%75%UECvEFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9PPLNe%26%BQPbSgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD21q%331%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%80%FA8tPlQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLV8%26%BQPbSgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD21q%331%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%75%YEC/CFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9RPbR+%26%BQPbSgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD21q%331%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%75%Tju0QVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPbRp%26%BQPbSgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD21q%331%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%69%CAAIACUDuzvVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9ROrM5%26%BQPbSgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD21q%331%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy09%64%FI9uBlRPLSuUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPBAQL8E%26%BQPbSgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD21q%331%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+lA8s4BQPLOAUDyzgFA8s4BQPLOAUDyzgFA8s4BQPLOAUDyzgFA8s4NQPbSTUDy1wFA8tPtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1E9tIs%31%BQPbSgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD21q%331%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy08k47sRo%31%BQPbSgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD21q%331%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDu0Yw%36%BQPbSgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD21q%331%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLSd%42%BQPbSgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD21q%331%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0+087tIGAAIAC%42%BQPbSgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD21q%331%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPpQPLSmTz22Kg%52%BQPbSgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD21q%331%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%287%BQPLPYUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP1QPLT1UDy041A8tMVPPbWXUD20XEs8tBE%63%BQPbSgUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UD21q%331%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%41055%BLPLQRUD21U1A8s4BQPLSdUDy0qlA8s6VPPLORUTy0e1E7tUVNM7MK%448%UDy0w1A8tOhQPLToUDy06FA8tOhQPLToUDy06FA8tN0%74%Ek3tg5QPLToUDy06FA8tOhQPLToUDy06FA8tOhQPLToUD20tQ%218%Tj61PlA7tLBQPLT8UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT6UDu0sFI7tjg%437%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%FBArxBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%208%FE6uRZQPbWoUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QO7SwVTm4Eg%426%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%FBArxBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%203%Uzy0IlA8tN1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy04VI9szI%421%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%FBArxBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%197%BRNq4TUDy04VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOpQOrYj%416%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%FBArxBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%197%BQO7SfUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTZYEC/C%411%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%FBArxBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%192%FE8tSZQPLT9UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP1QPLS7UTu0hVE9tH5PPLSnUDy08lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UTy1e%411%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%FBArxBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%192%FE7tI5QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy03FA8tDM%21%VT22FVA8tbJQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy08UZGuQs%405%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%FBArxBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%192%FA7tN9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLToUkC2H%32%FVVqgNQPLS6UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1E9tU8%405%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%FBArxBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%187%UkC2HFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9PO7NX%42%BNPLMeUDy0+lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tJk%405%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%FBArxBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%187%UT20WFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8teKAAIAC%48%Tzy0tFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1E8tL4%405%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%FBArxBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%187%Tz20elA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1E8tZ4%53%UDyzgFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNU%405%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%FBArxBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%187%UTu0jlA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1E8tXg%53%UDy0c1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tOM%405%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%FBArxBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%187%UDu0n1A8tPxQPLT8UDy0/FA8tPxQPLT8UDy0/E87tWc%53%UD20k1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tNY%405%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%FBArxBQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%277%CAAIACUDy02VA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tLU%405%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPxQPLS4UDy0uFA8tLhQPLS4UDy0uFA8tLhQPLS4UDy0uFA8tLhQPLS4UDy0uFA8tLhQPLS4UDy0uFA8tLxQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%277%BPPLNeUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8s4%406%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%272%E8+tS1QPLTzUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1E6tCw%405%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%267%Tju1NFA8tOtQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDu0s%411%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%261%BRPLVMUDy09FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLPpUj24GQ%410%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%256%FA9tG1QPLT8UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tO9QOrUw%416%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%251%Tzy0d1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy04VE6tCw%421%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP1QPLTIUDy0yFA8tMhQPLTIUDy0yFA8tMhQPLTIUDy0yFA8tMhQPLTIUDy0yFA8tMhQPLTIUDy0yFA8tMhQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%245%BRPbVPUDy0/lA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLS7TjexFw%426%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%EBAvwRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%240%FU5qglQPLThUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/FA7tH2AAIAC%432%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%EBAvwRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%240%FA9tG1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLTvUD2zQw%442%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%EBAvwRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%240%FA8tMJQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPZQPLQz%448%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%EBAvwRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%235%Rka5C1A8tP1QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tZ%454%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%EBAvwRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%235%Uz6zJVA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A9tVM%453%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%EBAvwRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%235%UTyzPFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1E6szk%453%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%EBAvwRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%235%Uz6zJVA8tIxQPLSMUDy0jFA8tIxQPLSMUDy0jEw5sxs%453%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%EBAvwRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%731%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%EBAvwRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%731%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%EBAvwRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%235%UD2zdlE8tJhRPLSYUTy0mFE8tJhRPLSYUTy0mFE8tJiAAIAC%69%E87tD1RPLSYUTy0mFE8tJhRPLSYUTy0mFE8tJhRPLSYTzu0PQ%20%BPO7Q9UTy0mFE8tJhRPLSYUTy0mFE8tJhRPLSYUTy0mE87tD0%21%Tzu0PVE8tJhRPLSYUTy0mFE8tJhRPLSYUTy0mFE8tJhPO7Q9%192%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%EBAvwRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%235%UDy0yFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9AQL8E%69%FE7s2hQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UTuza%21%BRO7NoUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1E7s2g%21%UTuzaFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9RO7No%192%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%EBAvwRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%235%UDy0yFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9AQL8E%69%FE7s2hQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UTuza%21%BRO7NoUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1E7s2g%21%UTuzaFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9RO7No%192%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%EBAvwRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%235%UDy0yFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9AQL8E%69%FE7s2hQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UTuza%21%BRO7NoUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1E7s2g%21%UTuzaFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9RO7No%192%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%EBAvwRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%235%UDy0yFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9AQL8E%69%FE7s2hQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UTuza%21%BRO7NoUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1E7s2g%21%UTuzaFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9RO7No%192%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%EBAvwRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%235%UDy0yFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9AQL8E%69%FE7s2hQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UTuza%21%BRO7NoUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1E7s2g%21%UTuzaFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9RO7No%192%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%EBAvwRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%235%UDy0yFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9AQL8E%69%FE7s2hQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UTuza%21%BRO7NoUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1E7s2g%21%UTuzaFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9RO7No%192%UDyz2FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tPQ%74%EBAvwRQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0y%235%UDy0yFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9AQL8E%69%FE7s2hQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UTuza%21%BRO7NoUDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1E7s2g%21%UTuzaFA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9RO7No%20656%")):A1(e,TV)?new WU(ev(t,84,252,"%2549%P8AAO7/AAD/%432%/wAA3P8AAP//AAD//wAA/w%420%D/AACt/wAA//8AAP//AAD//wAA//8AAP8%163%D/%250%D/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD/%158%D/%4%/w%239%P8AAPz/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA/w%152%D/%4%/wAAAP8%229%/wAA6/8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP8%147%D/%4%/wAAAP8AAAD/%218%D/AAC9/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD/%142%D/%4%/wAAAP8AAAD/%4%/w%207%P8AAI//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA/w%136%D/%4%/wAAAP8AAAD/%4%/wAAAP8%202%P8AAPz/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP8%131%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%192%/wAA7P8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD/%126%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/w%180%D/AADN/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA/w%120%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8%170%P8AAJ7/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP8%115%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%165%P8AAP7/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD/%110%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/w%154%/wAA7v8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA/w%104%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8%143%D/AADc/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP8%99%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%133%P8AAK3/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD/%94%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/w%127%P8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA/w%88%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%128%/wAA/P8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP8%83%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8%127%D/AADr/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD/%78%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/w%127%P8AAL3/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA/w%72%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%133%P8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA6w%72%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8%133%/wAA/P8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP7/AACt%78%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/w%132%D/AADs/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA3%89%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%133%P8AAM3/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAPw%99%D/%4%/wAAAP8AAAD/%4%/wAAAP8%138%P8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA3%105%D/%4%/wAAAP8AAAD/%4%/w%138%/wAA/v8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAPs%115%D/%4%/wAAAP8AAAD/%138%D/AADu/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAzQ%120%D/%4%/wAAAP8%138%P8AANz/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAPs%131%D/%4%/w%138%/wAArf8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAvg%136%D/%144%/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAO4%287%D/AAD8/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAvQ%287%P8AAOv/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAOs%293%/wAAvf8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD+%304%/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAOs%303%D/AAD8/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD8%309%P8AAOz/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AANw%309%/wAAzf8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD7%320%/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAM0%319%D/AAD+/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD7%325%P8AAO7/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAL4%325%/wAA3P8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADu%336%/wAA//8AAP//AAD//wAA//8AAP//AAD/UDy0/1A8tP9QPLT/UDy0/1A8tP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAL0%335%D/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD/UDy0/1A8tP9QPLT/UDy0/1A8tP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADr%341%P8AAPz/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD/UDy0/1A8tP9QPLT/UDy0/1A8tP//AAD//wAA//8AAP//AAD//wAA/g%346%/wAA6/8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD/UDy0/1A8tP9QPLT/UDy0/1A8tP//AAD//wAA//8AAP//AADr%352%/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD/UDy0/1A8tP9QPLT/UDy0/1A8tP//AAD//wAA/%357%D/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD/UDy0/1A8tP9QPLT/UDy0/1A8tP//AADc%357%P8AAPz/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD/UDy0/1A8tP9QPLT/UDy0/1A8tP8%325%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD/UDy0/1A8tP9QPLT/UDy0/1A8tP8%15%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%79%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%144%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD/UDy0/1A8tP9QPLT/UDy0/1A8tP8%10%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%58%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%122%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADNUDy0/1A8tP9QPLT/UDy0/1A8tP8%5%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%47%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%111%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP//AAD//wAA//8AAP//AAD//wAA7g%10%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%37%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%106%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT//wAA//8AAP8%21%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%32%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%5%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%96%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%5%P8AABH/AAD//wAA//8AAP//AAD/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT//wAA7%27%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%21%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%26%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%32%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%96%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%5%P8AABH/AAD//wAA//8AAP//AAD//wAA/1A8tP9QPLT/UDy0/1A8tP9QPLT/%32%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%31%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%26%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%37%FA8tP9QPLT/UDy0/1A8tP9QPLT/%96%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%10%D/AAAD/wAA//8AAP//AAD//wAA/1A8tP9QPLT/UDy0/1A8tP9QPLT/%32%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%42%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%21%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%208%/wAAA/8AAP//AAD/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%32%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%42%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%21%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%181%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%32%UDy0/1A8tP9QPLT/UDy0/1A8tP8%47%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%21%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%144%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%32%UDy0/1A8tP9QPLT/UDy0/1A8tP8%53%UDy0/1A8tP9QPLT/UDy0/1A8tP8%26%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%116%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%32%UDy0/1A8tP9QPLT/UDy0/1A8tP8%53%UDy0/1A8tP9QPLT/UDy0/1A8tP8%31%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%106%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%15%FA8tP9QPLT/UDy0/1A8tP9QPLT/%32%UDy0/1A8tP9QPLT/UDy0/1A8tP8%53%UDy0/1A8tP9QPLT/UDy0/1A8tP8%42%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%96%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%31%FA8tP9QPLT/UDy0/1A8tP9QPLT/%32%UDy0/1A8tP9QPLT/UDy0/1A8tP8%47%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%63%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%90%UDy0/1A8tP9QPLT/UDy0/1A8tP8%42%FA8tP9QPLT/UDy0/1A8tP9QPLT/%32%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%42%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%79%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%90%UDy0/1A8tP9QPLT/UDy0/1A8tP8%37%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%32%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%42%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%90%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%90%UDy0/1A8tP9QPLT/UDy0/1A8tP8%37%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%32%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%31%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%20%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%42%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%90%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%26%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%32%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%21%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%20%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%37%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%90%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%32%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%32%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%96%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%32%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%32%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%101%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%5%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%26%UDy0/1A8tP9QPLT/UDy0/1A8tP8%5%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%42%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%111%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%10%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%26%UDy0/1A8tP9QPLT/UDy0/1A8tP8%10%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%52%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%127%FA8tP9QPLT/UDy0/1A8tP9QPLT/%122%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%79%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%6208%D/AP8A/wD/%433%P8A/wD/AP8A/wD/AP8A/w%422%/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8%163%D/%252%/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/%158%D/%4%/w%240%D/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/w%152%D/%4%/wAAAP8%230%P8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8%147%D/%4%/wAAAP8AAAD/%220%/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/%142%D/%4%/wAAAP8AAAD/%4%/w%208%D/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/w%136%D/%4%/wAAAP8AAAD/%4%/wAAAP8%203%D/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8%131%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%193%P8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/%126%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/w%182%/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/w%120%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8%171%D/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8%115%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%166%D/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/%110%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/w%155%P8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/w%104%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8%145%/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8%99%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%134%D/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/%94%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/w%128%D/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/w%88%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%129%P8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8%83%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8%129%/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/%78%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/w%128%D/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/w%72%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%134%D/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/w%72%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8%134%P8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/%78%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/w%134%/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/w%88%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%134%D/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8%99%D/%4%/wAAAP8AAAD/%4%/wAAAP8%139%D/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/w%104%D/%4%/wAAAP8AAAD/%4%/w%139%P8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8%115%D/%4%/wAAAP8AAAD/%140%/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/w%120%D/%4%/wAAAP8%139%D/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8%131%D/%4%/w%139%P8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/w%136%D/%145%P8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8%289%/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/w%288%D/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8%294%P8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/%305%P8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8%305%/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/%310%D/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8%310%P8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/%321%P8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8%321%/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/%326%D/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8%326%P8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/%337%P8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8%63%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%241%/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/%64%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%224%D/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/w%68%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%214%P8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/%69%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%214%P8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/w%79%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%4%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%204%/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/%80%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%21%FA8tP9QPLT/UDy0/1A8tP9QPLT/%198%D/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/w%90%UDy0/1A8tP9QPLT/UDy0/1A8tP8%26%FA8tP9QPLT/UDy0/1A8tP9QPLT/%193%P8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/%96%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%21%FA8tP9QPLT/UDy0/1A8tP9QPLT/%188%/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/w%106%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%21%FA8tP9QPLT/UDy0/1A8tP9QPLT/%188%/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/%117%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%10%UDy0/1A8tP9QPLT/UDy0/1A8tP8%187%D/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/w%127%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%187%P8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8%143%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%182%/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/w%154%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%193%/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8%159%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%203%P8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/w%159%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%26%FA8tP9QPLT/UDy0/1A8tP9QPLT/%150%D/AP8A/wD/AP8A/wD/AP8%165%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%21%FA8tP9QPLT/UDy0/1A8tP9QPLT/%156%/wD/AP8A/w%164%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%15%FA8tP9QPLT/UDy0/1A8tP8%330%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%15%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%5%UDy0/1A8tP9QPLT/UDy0/1A8tP8%330%FA8tP9QPLT/UDy0/1A8tP9QPLT/%26%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%5%UDy0/1A8tP9QPLT/UDy0/1A8tP8%325%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%32%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%325%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%37%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%330%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%37%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%330%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%42%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%336%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%36%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%341%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%21%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%335%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%335%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%336%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%5%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%335%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%21%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%351%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%6242%//8AAP//%434%D//wAA//8AAP//AAD//w%423%P//AAD//wAA//8AAP//AAD//wAA//8%163%D/%253%P//AAD//wAA//8AAP//AAD//wAA//8AAP//%158%D/%4%/w%242%//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//w%152%D/%4%/wAAAP8%231%D//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8%147%D/%4%/wAAAP8AAAD/%221%P//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//%142%D/%4%/wAAAP8AAAD/%4%/w%210%//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//w%136%D/%4%/wAAAP8AAAD/%4%/wAAAP8%205%//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8%131%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%194%D//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//%126%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/w%183%P//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//w%120%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8%173%//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8%115%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%168%//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//%110%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/w%156%D//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//w%104%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8%146%P//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8%99%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%136%//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//%94%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/w%130%//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//w%88%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%130%D//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8%83%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8%130%P//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//%78%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/w%130%//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//w%72%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%136%//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//w%72%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/wAAAP8%135%D//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//%78%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%4%/w%135%P//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//w%88%D/%4%/wAAAP8AAAD/%4%/wAAAP8AAAD/%136%//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8%99%D/%4%/wAAAP8AAAD/%4%/wAAAP8%141%//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//w%104%D/%4%/wAAAP8AAAD/%4%/w%140%D//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8%115%D/%4%/wAAAP8AAAD/%141%P//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//w%120%D/%4%/wAAAP8%141%//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8%131%D/%4%/w%140%D//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//w%136%D/%146%D//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8%290%P//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//w%290%//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8%295%D//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//%306%D//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8%306%P//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//%312%//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8%311%D//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//%322%D//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8%322%P//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//%328%//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8%327%D//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//%338%D//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8%338%P//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//%344%//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//w%348%D//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//%354%D//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//w%359%P//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//%360%//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//w%364%D//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//%48%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%63%FA8tP9QPLT/UDy0/1A8tP9QPLT/%21%FA8tP9QPLT/UDy0/w%151%P//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//w%42%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%53%FA8tP9QPLT/UDy0/1A8tP9QPLT/%10%BQPLT/UDy0/1A8tP9QPLT/UDy0/w%151%P//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//%42%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%47%FA8tP9QPLT/UDy0/1A8tP9QPLT/%5%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%146%//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//w%47%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%42%FA8tP9QPLT/UDy0/1A8tP9QPLT/%5%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%140%D//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8%53%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%37%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%135%P//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//w%58%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%26%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%31%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%135%P//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8%63%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%37%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%31%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%167%D//wAA//8AAP//AAD//wAA//8AAP//AAD//w%68%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%47%BQPLT/UDy0/1A8tP9QPLT/UDy0/w%31%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%178%//8AAP//AAD//wAA//8%79%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%47%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%26%FA8tP9QPLT/UDy0/1A8tP9QPLT/%189%P//AAD//w%84%BQPLT/UDy0/1A8tP9QPLT/UDy0/w%52%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%26%FA8tP9QPLT/UDy0/1A8tP9QPLT/%282%BQPLT/UDy0/1A8tP9QPLT/UDy0/w%52%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%26%FA8tP9QPLT/UDy0/1A8tP9QPLT/%282%BQPLT/UDy0/1A8tP9QPLT/UDy0/w%52%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%26%FA8tP9QPLT/UDy0/1A8tP9QPLT/%282%BQPLT/UDy0/1A8tP9QPLT/UDy0/w%52%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%26%FA8tP9QPLT/UDy0/1A8tP9QPLT/%282%BQPLT/UDy0/1A8tP9QPLT/UDy0/w%52%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%26%FA8tP9QPLT/UDy0/1A8tP9QPLT/%282%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%47%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%26%FA8tP9QPLT/UDy0/1A8tP9QPLT/%282%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%47%BQPLT/UDy0/1A8tP9QPLT/UDy0/w%31%FA8tP9QPLT/UDy0/1A8tP9QPLT/%282%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%37%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%31%FA8tP9QPLT/UDy0/1A8tP9QPLT/%288%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%26%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%31%FA8tP9QPLT/UDy0/1A8tP9QPLT/%288%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%37%FA8tP9QPLT/UDy0/1A8tP9QPLT/%293%FA8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP8%42%FA8tP9QPLT/UDy0/1A8tP9QPLT/%298%BQPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%47%FA8tP9QPLT/UDy0/1A8tP9QPLT/%304%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/%53%FA8tP9QPLT/UDy0/1A8tP9QPLT/%320%UDy0/1A8tP9QPLT/UDy0/1A8tP9QPLT/UDy0/w%3754%")):null;}var fy="object",$A=`
`,w2="boolean",nr="number",bf="string",It=2147483647,g2='For input string: "',Pr="null",h0={4:1,9:1,5:1,8:1},vp="__noinit__",A0={4:1,5:1,8:1},yn={4:1,19:1,33:1,27:1},Dt={4:1,9:1,14:1,5:1,11:1,8:1,13:1},Q0=65536,w1=65535,nP=1e4,YQ="fromIndex: ",Fp=" > toIndex: ",o6=", toIndex: ",mp=", length: ",L6="Index: ",s6=", Size: ",wt={15:1,4:1,5:1},Rf={4:1},k={7:1,4:1,5:1},oi=16777215,PP=65280,jf=.30000001192092896,rr=545460846592,L8=4294967296,ir=8589934592,fr=17179869184,Dr=34359738368,ur=68719476736,Qr=137438953472,pf=274877906944,ft={12:1,4:1,5:1},Pe=536870912,ge=8192,y6=2.617993878,l6=3.665191429,F0=6.283185307179586,Q1=3.141592653589793,bA=1.5707963267948966,Sn=16384,Dy=-8355712,C0=4096,KQ={l:0,m:0,h:1},XQ={l:0,m:0,h:2},ZQ={l:0,m:0,h:4},rP=1920,re=1024,i9=234881024,WQ=167772160,Cf=100663296,Mf=201326592,Li=114688,si=4063232,_Q=3801088,d2=3538944,B2=3014656,$Q=3145728,qA=2097152,yi=393216,SP=917504,Hf=1966080,Vf=0xf8000000000,uy=0xf0000000000,Qy=0xe8000000000,Uy=0xd8000000000,oy=0xb8000000000,T6=0xe0000000000,h6=0xc0000000000,aQ=8796093022208,v2=549755813888,Ly=1649267441664,sy=3848290697216,tU=8246337208320,c6=0xc8000000000,w6=9345848836096,g6=0x98000000000,f9=29360128,F2={l:0,m:0,h:120},Ur=268435456,I1=2048,s8=32768,eU=-1.5707963267948966,y8=130560,AU=6291456,d6=-2.0943951023931953,AA=1.0471975511965976,m2=.5235987755982988,m1=786432,l8=524288,T8=262144,qn=-16777216,qP=-65536,iP=16711680,yy=-32768,B6='<DrawingObject type="',v6="></DrawingObject>",at={4:1,5:1,16:1},a0={4:1,5:1},F6="unsupported atomicNo:",kp=2.8415926535897933,D0={28:1,4:1,9:1,5:1,8:1},k2={4:1,5:1,11:1,8:1},I={10:1,4:1,5:1},nA={4:1,9:1,5:1,8:1,30:1},I0=131072,ly=196608,Ty={l:6,m:0,h:4},h8=1048576,c8=3221225472,m6={l:0,m:0,h:3},Ef=8388608,hy={36:1,43:1,38:1},Ye={4:1,9:1,5:1,11:1,8:1},bp={36:1,43:1,94:1,38:1,83:1},cy={4:1,5:1,36:1,43:1,94:1,20:1,38:1,83:1,126:1},Ve=17976931348623157e292,k6=-17976931348623157e292,or={87:1,73:1,74:1,4:1,9:1,5:1,8:1},$1="??",w8={58:1,4:1,9:1,5:1,8:1},g8=2013265920,RA=32505856,ln=31744,wy=122880,b2={128:1,4:1,9:1,5:1,11:1,8:1},nU=33554432,Tn=67108864,gy=-131073,dy=-33554433,By=-33292289,b6=-3.141592653589793,x0=4194303,hn=3072,PA={46:1,4:1,5:1},R6=.7853981633974483,Rp=3.061592653589793,cn=1073741824,jp=541165879296,Et={17:1,4:1,5:1,8:1},vy=281.17,Fy=289.19,my=294.21,ky="0.0000",by="NOSEARCH_OCL_CUSTOM_LABEL",D9="M  END",R2="ATOMS",o1=-2147483648,PU="$$$$",rU="M  V30 ",pp="M  V30 COUNTS ",Cp="M  V30 MDLV30/STEREL",Mp="M  V30 MDLV30/STERAC",j6="M  V30 END CTAB",Hp=34028234663852886e22,p6={l:2,m:0,h:4},fP=4194304,C6={l:4179966,m:4063288,h:7},Vp={l:4194302,m:4193343,h:127},M0='" ',M6='stroke="',H6='stroke-width="',Ry='" />',Ep='class="event" ',Sp='opacity="0" />',qp="' position:",Ip="'. Position:",xp=1099511627776,Np=2199023255552,Op=4398046511104,V6="', position:",Gp="Assignment of aromatic double bonds failed",iU=2147483646,Jp={101:1,4:1},E6="Members of ESR groups must only be stereo centers with known configuration.",S6="Over- or under-specified stereo feature or more than one racemic type bond",q6="Ambiguous configuration at stereo center because of 2 parallel bonds",zp={113:1,88:1,26:1,4:1},jy=1e5,fU=1.399999976158142,j2=3.1415927410125732,I6=1.5707963705062866,Yp=.029999999329447746,Kp=6.2831854820251465,Xp=1.9106119871139526,Zp=2.2639999389648438,x6=2.16759991645813,Wp=2.0662999153137207,_p=2.3561999797821045,$p=2.2844998836517334,ap=1.9106120066311025,tC=2.094395160675049,DU=.6000000238418579,py=1.7999999523162842,N6=.05000000074505806,te={4:1,9:1,5:1,8:1,37:1},Cy=.2617993950843811,p2=2.0943951023931953,uU=1.2000000476837158,O6=1.4299999475479126,My=1.659999966621399,G6=1.4600000381469727,J6=1.899999976158142,eC=1.8200000524520874,AC=2.4600000381469727,nC=2.4200000762939453,Hy=2.450000047683716,z6=2.440000057220459,PC=2.4000000953674316,Y6=2.319999933242798,K6=2.2899999618530273,rC=1.8600000143051147,iC=2.5299999713897705,fC=2.490000009536743,DC=2.4700000286102295,uC=2.880000114440918,QC=2.9200000762939453,UC=2.869999885559082,X6=2.8299999237060547,oC=2.7899999618530273,LC=2.809999942779541,sC=2.799999952316284,yC=3.049999952316284,Z6=.3199999928474426,lC=1.3300000429153442,QU=.8500000238418579,TC=1.600000023841858,hC=1.3899999856948853,W6=1.159999966621399,cC=1.1100000143051147,wC=1.0700000524520874,gC=1.9600000381469727,dC=1.7100000381469727,_6=1.3600000143051147,BC=1.340000033378601,vC=1.2200000286102295,FC=1.2400000095367432,Vy=1.2100000381469727,mC=2.0999999046325684,$6=1.850000023841858,a6=1.6299999952316284,kC=1.4700000286102295,bC=1.2799999713897705,RC=1.440000057220459,jC=1.7599999904632568,pC=1.7300000190734863,CC=1.7200000286102295,Ey=1.6799999475479126,MC=1.690000057220459,HC=1.6699999570846558,t4=1.649999976158142,UU=1.7000000476837158,VC=1.6200000047683716,EC=1.3700000047683716,SC=1.2899999618530273,qC=1.4500000476837158,IC=1.5700000524520874,e4=-0.5235987755982988,oU=-1.0471975511965976,xC=-0.7853981633974483,NC=.017453292519943295,OC=.17453292519943295,LU=1e-4,Sf={149:1},qf=57.29577951308232,GC=.021922173386725217,sU=1e-8,IP=2.5120960256267386,yU=1e-5,Sy="MMFF94s+",JC="nonbonded cutoff",zC="dielectric constant",YC="dielectric model",KC="angle bend",XC="bond stretch",ZC="electrostatic",WC="out of plane",_C="stretch bend",$C="torsion angle",aC="van der waals",tM=.07000000000000006,eM=.1200000000000001,AM=-7.840000000000001,qy="OCL_RXN_V1.0:",nM="$RXN V3000",PM="'$MOL' tag not found",rM="'M  END' not found",iM="M  V30 BEGIN REACTANT",fM=`
Actelion Java MolfileCreator 2.0

  0  0  0  0  0  0              0 V3000
`,DM="M  V30 BEGIN PRODUCT",uM=2475109711874,QM=2475109711875,UM=2887426572290,oM=2887426572291,LM=2887627898882,sM=2887627898883,yM=2887627997186,lM=3437182386178,TM=3437182386179,hM=3437383712770,cM=3437383811074,wM=3437652148226,gM=3437652377602,dM=4674132967426,BM=4674334294018,vM=4674334392322,FM=4674602729474,mM=4674602958850,kM=5086449827842,bM=5086449827848,RM=5086651154434,jM=5086651252738,pM=5086651252743,CM=5086919589890,MM=5086919688194,HM=5636406968322,VM=5636407066626,EM=5636675502082,SM={l:589826,m:590112,h:4},qM={l:589827,m:590112,h:4},IM={l:589826,m:590160,h:4},xM={l:589827,m:590160,h:4},NM={l:688130,m:590160,h:4},OM={l:589826,m:590224,h:4},GM={l:589827,m:590224,h:4},JM={l:819203,m:590224,h:4},zM={l:589826,m:590368,h:4},YM={l:688130,m:590368,h:4},KM={l:819202,m:590368,h:4},XM={l:819208,m:590368,h:4},ZM={l:589826,m:590416,h:4},WM={l:589832,m:590416,h:4},_M={l:688130,m:590416,h:4},$M={l:819202,m:590416,h:4},aM={l:589826,m:598304,h:4},tH={l:589827,m:598304,h:4},eH={l:688130,m:598304,h:4},AH={l:1114114,m:598304,h:4},nH={l:1212418,m:598304,h:4},PH={l:589826,m:598308,h:4},rH={l:589826,m:688416,h:4},iH={l:589826,m:688464,h:4},fH={l:589826,m:688720,h:4},DH={l:688130,m:688720,h:4},uH={l:589826,m:590112,h:288},QH={l:589826,m:590112,h:336},UH={l:589826,m:688416,h:336},oH={l:589826,m:688464,h:336},LH={l:688130,m:688464,h:336},sH={l:589826,m:590112,h:400},yH={l:589826,m:688416,h:400},lH={l:589826,m:688464,h:400},TH={l:688130,m:688464,h:400},hH={l:589826,m:819488,h:400},cH={l:589826,m:819536,h:400},wH={l:589826,m:819600,h:400},gH={l:688130,m:819600,h:400},dH={l:819202,m:819600,h:400},BH={l:589831,m:688416,h:592},vH={l:589831,m:688464,h:592},FH={l:688135,m:688464,h:592},mH={l:589831,m:819536,h:592},kH={l:688135,m:819536,h:592},bH={l:688135,m:819600,h:592},RH={l:589832,m:1212704,h:592},jH={l:589832,m:1212752,h:592},pH={l:688136,m:1212752,h:592},CH={l:589831,m:688464,h:656},MH={l:589826,m:590112,h:8480},HH={l:589826,m:688416,h:8480},VH={l:589826,m:688464,h:8480},EH={l:688130,m:688464,h:8480},SH={l:819202,m:819600,h:8480},qH={l:688135,m:1212752,h:8480},IH={l:589832,m:1213008,h:8480},xH={l:688136,m:1213008,h:8480},NH={l:589826,m:590112,h:8484},OH={l:589826,m:590160,h:8484},GH={l:688130,m:598304,h:8484},JH=.6262000203132629,zH=-1.3825000524520874,Iy=.33169999718666077,YH=-1.4915000200271606,KH=.3540000021457672,XH=.38179999589920044,ZH=-0.6019999980926514,WH=.07999999821186066,_H=-0.7379999756813049,$H="Atom-types are 64-bit numbers describing atoms and their near surrounding.",A4="Recognized atom types and their contributions are:",aH="Druglikeness predictor not properly initialized.",tV=3.009999990463257,eV=-0.17000000178813934,AV=-0.1809999942779541,nV=-0.2029999941587448,lU=2147483648,PV="ene-Metathesis",rV="Halogenation ring closure",iV=" (rootPairSets:",xy=-1e10,Ny={204:1,4:1,9:1,5:1,8:1,30:1},Oy=-99999,d8="any",fV="is not in a ring",n4="Excluded atoms:",Gy="exactly 1",Jy="exactly 2",P4="less than 3",DV="less than 4",zy="at least 1",r4="at least 2",i4="at least 3",uV="at least 4",f4="1 or 2",QV="less than 2",UV="Allowed atoms:",If={138:1},oV="Atom Properties",Yy=-8346432,LV="/html/editor/editor.html",sV="Structure Editor Help",Ky="Dummy look and feel",Xy="Substance Graphite",Zy="Radiance Graphite",Wy="Radiance Night",yV=.6499999761581421,lV=.3499999940395355,xf=.800000011920929,D4="editorButtons.png",TV="esrButtons.png",u4=-1774190527,Q4=-1438646166,C2=-1433403286,_y=-1431655766,$y=-1448432982,u9=1073741866,Nf=1073741930,U4="MMFF94",o4="MMFF94s",hV="/resources/forcefield/mmff94/94s/outofplane.csv",TU="undefined",L4={172:1,4:1,5:1,8:1},cV=.08726646502812703,wV="overlapping",s4=.003921568859368563,y4="anonymous",l4="Unknown",aA=1048575,DP=17592186044416,Of=1e9,M2=-17592186044416,wA=5.56,ie=11.12,Q9=13.34,Gf=14.44,hU=.3010299956639812,gV="BigInteger divide by zero",h1=4294967295,dV={l:0,m:0,h:524288},ay={32:1,114:1},T4={106:1,109:1},H2={36:1,43:1,38:1,85:1},tl=16777619,BV={36:1,38:1,85:1},el=15525485,vV=5960464477539063e-23,h4=16777216,Al={4:1,32:1,55:1,80:1},c4="Invalid UTF8 sequence",w4=.20000000298023224,FV=" distance:",mV={4:1,5:1,11:1,8:1,459:1},kV="gGP`@dfyjidNcGI[WQCP`<",V2={50:1},o,cU,nl;w.goog=w.goog||{},w.goog.global=w.goog.global||w,cU={},M(1,null,{},i1),o.mb=function(e){return lg(this,e);},o.nb=function(){return this.sd;},o.ob=function(){return vD(this);},o.pb=function(){var e;return Uu(_L(this))+"@"+(e=a8(this)>>>0,e.toString(16));},o.equals=function(t){return this.mb(t);},o.hashCode=function(){return this.ob();},o.toString=function(){return this.pb();};var bV,RV,jV;bV={4:1,308:1,32:1};var wU;M(207,1,{},Uh),o.Rc=function(e){var A;return A=new Uh(),A.f=4,e>1?A.c=RB(this,e-1):A.c=this,A;},o.Sc=function(){return Mo(this),this.b;},o.Tc=function(){return Uu(this);},o.Uc=function(){return Mo(this),this.j;},o.Vc=function(){return (this.f&4)!=0;},o.Wc=function(){return (this.f&1)!=0;},o.pb=function(){return ((this.f&2)!=0?"interface ":(this.f&1)!=0?"":"class ")+(Mo(this),this.n);},o.f=0,o.i=0;var ett=1;M(120,1,{4:1,120:1});var g4;RV={4:1,32:1,309:1,120:1},M(27,1,{4:1,27:1}),o.ec=function(e){return new Error(e);},o.fc=function(){return this.backingJsObject;},o.gc=function(){var e,A,n;for(n=(this.i==null&&(this.i=h(MV,h0,27,0,0,1)),this.i),A=h(uP,A0,1,n.length,5,1),e=0;e<n.length;e++)A[e]=n[e].backingJsObject;return A;},o.hc=function(){return this.e;},o.ic=function(){return this.f;},o.jc=function(){NI(this,VN(this.ec(wB(this,this.f))));},o.pb=function(){return wB(this,this.ic());},o.backingJsObject=vp,o.j=true,M(19,27,{4:1,19:1,27:1},V1),M(33,19,yn),M(79,33,yn,A3,gr),M(129,33,yn,zL),M(70,129,yn,d9,w7,c7),o.ec=function(e){return new TypeError(e);},jV={4:1,206:1,32:1,2:1},M(231,79,yn,L3),M(511,1,{}),M(443,1,{},nw);var pV=0;M(444,1,{});var uP=H(1),CV=H(0),Att=H(308);H(207);H(120);var ntt=H(309),MV=H(27);H(19);H(33);H(79);H(129);H(70);var it=H(2);H(231);H(443);H(444);M(200,1,Rf,ry),o.c=0,o.d=0;H(200);M(121,1,{121:1}),o.xb=function(){_F(this);},o.yb=function(e,A,n,P){},o.zb=function(e,A,n,P,r){},o.Db=function(e,A){return Hk(this,e,A);},o.r=0,o.t=0,o.u=0,o.A=0,o.C=0,o.D=0,o.F=0,o.G=0,o.H=0,o.I=0,o.J=0,o.K=false,o.M=0,o.N=0,o.O=0,o.P=0,o.Q=0,o.S=0,o.T=0,o.V=0,o.W=0,o.X=0,o.Y=0,o.Z=0;var Pl,Ptt=.15,rtt=.06,itt=.6;H(121);M(144,1,{144:1},bu),o.a=0,o.b=0,o.c=0;H(144);M(68,1,{},L1),o.a=0,o.b=0,o.c=0,o.d=0;H(68);M(193,1,{193:1}),o.Jb=function(e){var A,n;if(this.i==null)return null;for(A=new QA(this.i[0].a,this.i[0].b,0,0),n=1;n<this.i.length;n++)A.c>this.i[n].a?(A.b+=A.c-this.i[n].a,A.c=this.i[n].a):A.b<this.i[n].a-A.c&&(A.b=this.i[n].a-A.c),A.d>this.i[n].b?(A.a+=A.d-this.i[n].b,A.d=this.i[n].b):A.a<this.i[n].b-A.d&&(A.a=this.i[n].b-A.d);return A;},o.Nb=function(e){Xv(this,e);},o.pb=function(){var e;return e=new TD(),Si(e,B6+this.Lb()+'"'+this.Kb()+v6),e.a;},o.Ob=function(e,A){zF(this,e,A);},o.Pb=function(e,A){sk(this,e,A);},o.Qb=function(e,A){hb(this,e,A);},o.g=false,o.j=false,o.k=0,o.n=0;H(193);M(89,1,{},cr),o.a=false,o.b=0,o.c=0,o.k=0;H(89);var gU,d4;M(34,1,{},BA,EA),o.b=false,o.c=0,o.d=false,o.r=false,o.t=0,o.v=0,o.w=0,o.G=false,o.I=0,o.K=false,o.L=false,o.O=0,o.Q=0,o.T=0,o.U=0,o.Z=false,o.jb=false;H(34);M(267,1,{},u1),o.Rb=function(e,A){return kb(e,A);},o.mb=function(e){return this===e;};H(267);M(174,1,{174:1},n0),o.b=0,o.c=0,o.d=0;var ftt=H(174);M(268,1,{},N0),o.Rb=function(e,A){return oB(e,A);},o.mb=function(e){return this===e;};H(268);M(175,1,{175:1},H0),o.a=0,o.b=0,o.c=0;var Dtt=H(175);M(100,1,{100:1,32:1},bo),o.Sb=function(e){return os(this,e);},o.a=0,o.b=0,o.c=0;var B4=H(100);M(173,1,{173:1,32:1},kv),o.Sb=function(e){return $v(this,e);},o.a=0,o.b=0,o.c=0;var utt=H(173);M(208,1,{208:1},Dm);H(208);M(266,1,{},xm);H(266);M(365,1,{},Dp),o.a=0,o.b=0,o.f=0,o.g=0,o.i=0;H(365);M(366,1,{},GP),o.Rb=function(e,A){return f5(e,A);},o.mb=function(e){return this===e;};H(366);M(29,1,{29:1,4:1,32:1},Nn,xe,vu),o.Sb=function(e){return BJ(this,e);},o.mb=function(e){return Ds(this,e);},o.pb=function(){var e;return e=new Pu("0.00"),"["+yu(e,this.a)+", "+yu(e,this.b)+", "+yu(e,this.c)+"]";},o.a=0,o.b=0,o.c=0;var E2=H(29);M(78,1,{},Au,z3,Ws),o.pb=function(){return "DepictorTransformation Offset: "+this.a+","+this.b+" Scaling: "+this.c;},o.a=0,o.b=0,o.c=0;H(78);M(43,1,hy),o.Ub=function(){return new M8(this);},o.Vb=function(){return new o3(this.Ub());},o.add=function(e){throw At(new lD("Add not supported on this collection"));},o.addAll=function(e){return UF(this,e);},o.clear=function(){var e;for(e=this.Tb();e.ad();)e.bd(),e.cd();},o.contains=function(e){return Mm(this,e,false);},o.containsAll=function(e){return AQ(this,e);},o.isEmpty=function(){return this.size()==0;},o.remove=function(e){return Mm(this,e,true);},o.removeAll=function(e){return ts(this,e);},o.retainAll=function(e){return Am(this,e);},o.toArray=function(){return this.Wb(h(uP,A0,1,this.size(),5,1));},o.Wb=function(e){return fk(this,e);},o.pb=function(){return zk(this);};H(43);M(94,43,bp),o.Ub=function(){return new M8(this);},o.addAtIndex=function(e,A){throw At(new lD("Add not supported on this list"));},o.add=function(e){return this.addAtIndex(this.size(),e),true;},o.addAllAtIndex=function(e,A){var n,P,r;for(U1(A),n=false,r=A.Tb();r.ad();)P=r.bd(),this.addAtIndex(e++,P),n=true;return n;},o.clear=function(){this.Xb(0,this.size());},o.mb=function(e){var A,n,P,r,i;if(e===this)return  true;if(!Zt(e,83)||(i=e,this.size()!=i.size()))return  false;for(r=i.Tb(),n=this.Tb();n.ad();)if(A=n.bd(),P=r.bd(),!(J1(A)===J1(P)||A!=null&&VP(A,P)))return  false;return  true;},o.ob=function(){return dG(this);},o.indexOf=function(e){return wF(this,e);},o.Tb=function(){return new Wl(this);},o.lastIndexOf=function(e){var A;for(A=this.size()-1;A>-1;--A)if(K8(e,this.getAtIndex(A)))return A;return  -1;},o.removeAtIndex=function(e){throw At(new lD("Remove not supported on this list"));},o.Xb=function(e,A){var n,P;for(P=new TT(this,e),n=e;n<A;++n)kD(P.a<P.c.size()),P.c.getAtIndex(P.b=P.a++),QL(P);},o.setAtIndex=function(e,A){throw At(new lD("Set not supported on this list"));},o.subList=function(e,A){return new xD(this,e,A);};H(94);M(20,94,cy,f1,wL),o.addAtIndex=function(e,A){t8(this,e,A);},o.add=function(e){return mt(this,e);},o.addAllAtIndex=function(e,A){return im(this,e,A);},o.addAll=function(e){return jP(this,e);},o.clear=function(){this.a.length=0;},o.contains=function(e){return x9(this,e,0)!=-1;},o.getAtIndex=function(e){return N(this,e);},o.indexOf=function(e){return x9(this,e,0);},o.isEmpty=function(){return this.a.length==0;},o.Tb=function(){return new Wt(this);},o.lastIndexOf=function(e){return id(this,e);},o.removeAtIndex=function(e){return LA(this,e);},o.remove=function(e){return Z8(this,e);},o.Xb=function(e,A){JB(this,e,A);},o.setAtIndex=function(e,A){return q9(this,e,A);},o.size=function(){return this.a.length;},o.toArray=function(){return tT(this.a);},o.Wb=function(e){return ff(this,e);};var v4=H(20);M(102,20,cy,to,us,ak),o.pb=function(){return Sm(this);};H(102);M(108,1,{108:1},Ki),o.a=0,o.b=0,o.c=0,o.d=0;H(108);M(116,1,{},gf),o.a=0,o.b=0,o.c=false,o.d=0,o.f=false,o.g=0,o.i=false,o.j=0;H(116);M(18,1,{18:1},qt),o.pb=function(){return this.d;},o.a=0,o.c=0;var Qtt=H(18);M(158,1,{},Wv,rR,pB,Xd),o.c=0,o.d=0,o.f=0,o.i=0,o.j=0,o.n=0,o.o=false;H(158);M(363,1,{},K2),o.Rb=function(e,A){return U1(e),e>(U1(A),A)?-1:(U1(e),e<(U1(A),A)?1:0);},o.mb=function(e){return this===e;};H(363);M(88,1,{88:1,4:1},$3),o.Yb=function(e){LL(this,e);},o.Zb=function(e){return this.H[e]==8;},o.q=0,o.r=0,o.I=0,o.K=false,o.L=false,o.M=0,o.N=0,o.O=0,o.S=false,o.T=0,o.U=0,o.V=0;var HV,X0,Lr,F4,VV,U9,wn=24;H(88);M(113,88,{113:1,88:1,4:1}),o.$b=function(e){qj(this,e);},o.Zb=function(e){return G8(this,e);},o.f=0,o.g=0;H(113);M(333,1,{},Z2),o._b=function(){return  false;},o.ac=function(e){throw At(new V1("Unexpected request to invent coordinates. Check source code logic!"));},o.d=0,o.e=0,o.f=0,o.i=false;H(333);M(52,333,{},GA),o._b=function(){return this.b;},o.ac=function(e){var A;A=new Y8(this.a),A.g=new zr(78187493520),Ar(A,e);},o.a=2,o.b=false;H(52);M(110,1,{},j7,hD),o.j=0;H(110);M(3,1,{3:1},u),o.a=0,o.b=0;var Vt=H(3),rl;M(240,1,{240:1,32:1},Xg),o.Sb=function(e){return Xz(this,e);};H(240);M(153,1,{153:1}),o.mb=function(e){var A;if(e===this)return  true;if(!Zt(e,153))return  false;for(A=0;A<this.b.length;A++)if(this.b[A]!=e.b[A])return  false;return  true;},o.a=0,o.d=0;var m4,S2,k4;H(153);M(111,1,{},p3,i6);H(111);M(127,1,{},tu,Nw),o.a=false,o.d=false,o.e=false,o.g=false,o.i=0,o.k=false;H(127);M(225,1,{225:1},W2),o.a=0,o.b=false;H(225);M(150,1,{},n7,dg),o.c=1;H(150);var b4,il=null;M(399,1,{},hp),o.pb=function(){return "";};var R4,j4;H(399);M(151,1,{},Qo),o.g=0;H(151);M(64,1,{},Ni,jD),o.c=0,o.d=0,o.p=0,o.q=0,o.r=false,o.w=0,o.A=0,o.L=false,o.N=0,o.P=false;H(64);M(215,1,{215:1},KU),o.a=0,o.b=0,o.c=0,o.d=0;H(215);M(180,1,{},vo);var sr,q2;H(180);M(259,121,{121:1},Ik),o.qb=function(e){var A;A='<line x1="'+Le(be(eA(new Me(e.a),(e9(),se))))+M0+'y1="'+Le(be(eA(new Me(e.c),se)))+M0+'x2="'+Le(be(eA(new Me(e.b),se)))+M0+'y2="'+Le(be(eA(new Me(e.d),se)))+M0+M6+this.d+M0+H6+this.j+Ry,Er(this,A);},o.rb=function(e){var A,n;A=Le(be(eA(new Me(3*this.j),(e9(),se)))),n='<line stroke-dasharray="'+A+","+A+M0+'x1="'+Le(be(eA(new Me(e.a),se)))+M0+'y1="'+Le(be(eA(new Me(e.c),se)))+M0+'x2="'+Le(be(eA(new Me(e.b),se)))+M0+'y2="'+Le(be(eA(new Me(e.d),se)))+M0+M6+this.d+M0+"stroke-width:"+this.j+Ry,Er(this,n);},o.sb=function(e){var A,n;for(n=new Fn('<polygon points="'),A=0;A<e.a;A++)Eg(n,E1(w.Math.round(e.b[A]))),n.a+=",",Eg(n,E1(w.Math.round(e.c[A]))),n.a+=" ";J(n,'" fill="'+this.d+M0+M6+this.d+M0+H6+this.j+Ry),Er(this,n.a);},o.tb=function(e,A,n){var P,r,i,f;i=(P=(f=Zk(this.e,e),new iT(f)).b,P),r='<text x="'+Le(be(eA(new Me(A-i/2),(e9(),se))))+M0+'y="'+Le(be(eA(new Me(n+this.k/3),se)))+M0+'stroke="none" font-size="'+this.e.b+M0+'fill="'+hf(this.d)+'">'+hf(e)+"</text>",Er(this,r);},o.ub=function(e,A,n){var P;P='<circle cx="'+Le(be(eA(new Me(e+n/2),(e9(),se))))+M0+'cy="'+Le(be(eA(new Me(A+n/2),se)))+M0+'r="'+Le(be(eA(new Me(n/2),se)))+M0+'fill="'+this.d+Ry,Er(this,P);},o.vb=function(e){var A;return (A=Zk(this.e,e),new iT(A)).b;},o.wb=function(){return this.k;},o.yb=function(e,A,n,P){var r,i;r=C1(this.L,e),i='<circle id="'+hf(this.g!=null?this.g:"mol"+I2)+":Atom:"+e+M0+Ep+(r==0?"":'data-atom-map-no="'+r+M0)+'cx="'+Le(be(eA(new Me(n),(e9(),se))))+M0+'cy="'+Le(be(eA(new Me(P),se)))+M0+'r="8'+M0+Sp,mt(this.a,i);},o.zb=function(e,A,n,P,r){var i;i='<line id="'+hf(this.g!=null?this.g:"mol"+I2)+":Bond:"+e+M0+Ep+'x1="'+Le(be(eA(new Me(A),(e9(),se))))+M0+'y1="'+Le(be(eA(new Me(n),se)))+M0+'x2="'+Le(be(eA(new Me(P),se)))+M0+'y2="'+Le(be(eA(new Me(r),se)))+M0+H6+8+M0+Sp,mt(this.b,i);},o.Ab=function(e){this.j=Jr(E1(w.Math.round(100*w.Math.max(e,1))))/100;},o.Bb=function(e){this.d="rgb("+((e&iP)>>16)+","+((e&PP)>>8)+","+(e&255)+")";},o.Cb=function(e){this.k!=e&&(this.k=e,this.e=new eT(e));},o.Db=function(e,A){return this.n=zt(E1(w.Math.round(e.b))),this.f=zt(E1(w.Math.round(e.a))),Hk(this,e,A);},o.pb=function(){return Jj(this);},o.f=0,o.i=false,o.j=0,o.k=0,o.n=0;var I2=0;H(259);M(184,1,{184:1},pT),o.a=0,o.b=0,o.e=false,o.f=false,o.g=0;H(184);M(284,1,{},WF),o.a=0,o.c=0,o.d=0,o.e=0,o.g=0,o.i=false,o.j=false,o.k=0,o.o=0,o.p=false,o.r=false;H(284);M(368,1,{},Ow),o.a=0,o.b=0,o.c=false,o.d=false;H(368);M(369,1,{},Rw),o.pb=function(){return "{"+this.c+"-"+this.b+"}";},o.a=false,o.b=0,o.c=0,o.d=0;H(369);M(112,1,{},i3,LQ),o.b=0,o.c=0,o.d=0,o.e=false,o.i=false,o.j=0,o.n=0,o.o=false,o.p=false,o.q=0;H(112);M(216,1,{216:1,32:1},H7),o.Sb=function(e){return q3(e.b,this.b);},o.a=0,o.b=0;H(216);M(217,1,{217:1},ck),o.a=0,o.b=0,o.c=false,o.d=false;H(217);M(182,1,{182:1},Z3),o.pb=function(){return "["+(this.a==iU?"h":this.a==It?"lp":Ci(this.c.f.k,this.a))+this.b+"]";},o.a=0,o.b=0;H(182);M(101,1,Jp,nu),o.bc=function(e){return $h(this,e);};var Utt=H(101);M(26,113,zp,JA,zA,Yr),o.Yb=function(e){ko(this,e);},o.$b=function(e){ut(this,e);},o.c=false;var o9=H(26);M(241,1,{},r5),o.j=0;var ott=jy;H(241);M(167,1,{167:1,32:1},fs),o.Sb=function(e){return hs(this.a,e.a);};H(167);M(93,193,{193:1,93:1},Uo,BR),o.Eb=function(e,A){return this.a=!!this.b&&Nr(this.b,e,A),this.a;},o.Fb=function(){this.a=false;},o.Gb=function(){var e;return e=new Uo(),kg(e,this.e,this.c,this.d),xg(e,this.i[0].a,this.i[0].b),e.g=this.g,e;},o.Hb=function(e,A){return !!this.b&&Nr(this.b,e,A);},o.Ib=function(e,A){var n,P,r,i;for(P=A?A.c*this.c:this.c,eL(e,vt(w.Math.round(P)),(this.d&1)!=0,(this.d&2)!=0),ae(e,this.g?qP:(i=e.Jc(),i.isDarkBackground()?-1:qn)),r=ph(this),this.b=Oh(this,e,r),A&&Nu(A,this.b),n=0;n<r.a.length;n++)cT(e,this.b.c,this.b.d+1+P*5/6+P*fU*n,(ve(n,r.a.length),r.a[n]));},o.Jb=function(e){var A;return A=ph(this),Oh(this,e,A);},o.Kb=function(){var e;return e=new V0(),J(e,' text="'+LX(this.e)+'"'),J(e,' x="'+this.i[0].a+'"'),J(e,' y="'+this.i[0].b+'"'),this.c!=9&&J(e,' size="'+be(new Zd(this.c,new Vd()))+'"'),this.d!=0&&J(e,' style="'+this.d+'"'),e.a;},o.Lb=function(){return "text";},o.Mb=function(e){var A,n;A=(n=ph(this),Oh(this,e,n)),ae(e,ID(e)),RT(e,A.c,A.d,A.b,A.a);},o.Nb=function(e){Xv(this,e),this.c*=e;},o.Pb=function(e,A){sk(this,e,A),this.c=this.f*e;},o.Qb=function(e,A){hb(this,e,A),this.f=this.c;},o.a=false,o.c=0,o.d=0,o.f=0;H(93);M(283,101,Jp,fB),o.bc=function(e){var A;return A=$h(this,e),A==-1?-1:N(this.a,A).a;};H(283);M(380,1,{},Tp);H(380);M(379,1,{},hj);var EV,dU,p4,C4,BU,M4=false;H(379);M(63,1,{63:1,32:1},cD),o.Sb=function(e){return sF(this,e),uk(this.q,e.q);},o.n=0;H(63);M(370,1,{},Bg),o.a=0,o.b=0;var fl,gn;H(370);M(256,1,{256:1,32:1},O7),o.Sb=function(e){return uk(this,e);},o.pb=function(){var e,A;for(A=new V0(),e=0;e<this.b.length;e++)A.a+=e==0?"Torsions: ":", ",J(A,(J9(),tr(this.b[e],3)+"("+vt(w.Math.round(this.a[e]+.5))+")"));return A.a;};H(256);M(254,1,{},CB,kB);var SV,Dl;H(254);M(250,1,{},mh),o.a=0;var qV;H(250);M(194,1,{194:1},jw,Lj),o.e=0;H(194);M(251,1,{},r6);H(251);var Jf,IA,H4=0,V4=0,E4=0,S4=0,q4=0,vU=0,I4=0,x4=0,N4=0,O4=0,FU=0;M(69,1,{},i7,Y8),o.a=false,o.e=0;var mU;H(69);M(329,20,cy,_w),o.add=function(e){return pP(this,e);};H(329);M(331,1,{},Xe),o.Rb=function(e,A){var n;return WN((n=e,n));},o.mb=function(e){return this===e;};H(331);M(332,1,{},Se),o.Rb=function(e,A){var n;return _N((n=e,n));},o.mb=function(e){return this===e;};H(332);M(330,1,{},j8),o.Rb=function(e,A){var n,P;return n=w.Math.abs(e.b),P=w.Math.abs(A.b),n<P?-1:n>P?1:0;},o.mb=function(e){return this===e;};H(330);M(105,1,{105:1},Kb,HQ);var IV=H(105);M(41,1,{41:1},KP,Wu),o.a=0,o.b=0;var li=H(41);M(247,1,{},MT);H(247);M(197,1,{197:1},W3),o.a=0,o.b=0;H(197);M(364,20,cy,yk);var xV;H(364);M(48,1,{48:1},MP,I5),o.c=0,o.i=false;var G4=H(48);M(246,1,{246:1},og),o.a=0,o.c=false;H(246);M(276,1,{}),o.d=0,o.f=false,o.j=0,o.k=0;H(276);M(358,1,Sf,wm),o.cc=function(e,A,n,P){var r,i,f;return P&&(K(this.f,this.a)==1||K(this.f,this.c)==1)?0:(f=Dk(new v0(e,this.b,this.a),new v0(e,this.b,this.c)),r=f*qf-this.g,i=this.d?143.9325*this.e*(1+w.Math.cos(f)):GC*this.e*r*r*(1+-6981317e-9*r),i);},o.dc=function(e,A){var n,P,r,i,f,D,Q,U,L,s;Q=Vn(new v0(e,this.b,this.a)),U=Vn(new v0(e,this.b,this.c)),f=kn(new v0(e,this.b,this.a)),D=kn(new v0(e,this.b,this.c)),P=(Q.a*U.a+Q.b*U.b+Q.c*U.c)/(w.Math.sqrt(Q.a*Q.a+Q.b*Q.b+Q.c*Q.c)*w.Math.sqrt(U.a*U.a+U.b*U.b+U.c*U.c)),s=1-P*P,L=sU,s>0&&(L=w.Math.sqrt(s)),n=qf*w.Math.acos(P)-this.g,i=IP*this.e*n*(1+-0.0104719755*n),this.d&&(i=-143.9325*this.e*L),r=B(d(yt,1),wt,6,15,[1/f*(U.a-P*Q.a),1/f*(U.b-P*Q.b),1/f*(U.c-P*Q.c),1/D*(Q.a-P*U.a),1/D*(Q.b-P*U.b),1/D*(Q.c-P*U.c)]),A[3*this.a]+=i*r[0]/-L,A[3*this.a+1]+=i*r[1]/-L,A[3*this.a+2]+=i*r[2]/-L,A[3*this.b]+=i*(-r[0]-r[3])/-L,A[3*this.b+1]+=i*(-r[1]-r[4])/-L,A[3*this.b+2]+=i*(-r[2]-r[5])/-L,A[3*this.c]+=i*r[3]/-L,A[3*this.c+1]+=i*r[4]/-L,A[3*this.c+2]+=i*r[5]/-L;},o.a=0,o.b=0,o.c=0,o.d=false,o.e=0,o.g=0;H(358);M(185,33,{185:1,4:1,19:1,33:1,27:1},L7);H(185);M(336,33,yn,$w);H(336);M(237,1,Sf,UB),o.cc=function(e,A,n,P){var r,i,f;return P&&(K(this.d,this.a)==1||K(this.d,this.b)==1)?0:(i=BF(new Xi(e,this.a),new Xi(e,this.b)),r=(i-this.e)*(i-this.e),f=71.96625*this.c*r*(1+-2*(i-this.e)+2.3333333333333335*r),f);},o.dc=function(e,A){var n,P,r,i;if(P=BF(new Xi(e,this.a),new Xi(e,this.b)),r=P-this.e,n=143.9325*this.c*r*(1+-3*r+4.666666666666667*r*r),P>0)for(i=0;i<3;i++)A[3*this.a+i]+=n*(e[3*this.a+i]-e[3*this.b+i])/P,A[3*this.b+i]-=n*(e[3*this.a+i]-e[3*this.b+i])/P;},o.a=0,o.b=0,o.c=0,o.e=0;H(237);M(359,1,Sf,Zv),o.cc=function(e,A,n,P){var r,i,f;return P&&(K(this.e,this.a)==1||K(this.e,this.b)==1)?0:(i=kn(new v0(e,this.a,this.b)),r=i+.05,this.d&&(r*=r),f=332.0716*this.c/r*(this.f==(X9(),Ti)?.75:1),f);},o.dc=function(e,A){var n,P,r,i,f;for(i=kn(new v0(e,this.a,this.b)),n=i+.05,n*=this.d?n*n:n,P=-332.0716*(this.d?2:1)*this.c/n*(this.f==(X9(),Ti)?.75:1),f=0;f<3;f++)r=.02,i>0&&(r=P*(e[3*this.a+f]-e[3*this.b+f])/i),A[3*this.a+f]+=r,A[3*this.b+f]-=r;},o.a=0,o.b=0,o.c=0,o.d=false;H(359);M(178,276,{},vd,K5);var ul;H(178);M(277,26,zp,Pj);H(277);M(192,1,Sf,YL),o.cc=function(e,A,n,P){var r,i,f,D,Q,U;return P&&(K(this.f,this.a)==1||K(this.f,this.b)==1||K(this.f,this.c)==1)?0:(D=Vn(new v0(e,this.d,this.a)),Q=Vn(new v0(e,this.d,this.b)),U=Vn(new v0(e,this.d,this.c)),f=Vn(new gP(D.b*Q.c-D.c*Q.b,D.c*Q.a-D.a*Q.c,D.a*Q.b-D.b*Q.a)),r=qf*w.Math.asin(f.a*U.a+f.b*U.b+f.c*U.c),i=GC*this.e*r*r,i);},o.dc=function(e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p,x;for(y=new v0(e,this.d,this.a),l=new v0(e,this.d,this.b),T=new v0(e,this.d,this.c),D=w.Math.sqrt(y.a*y.a+y.b*y.b+y.c*y.c),Q=w.Math.sqrt(l.a*l.a+l.b*l.b+l.c*l.c),U=w.Math.sqrt(T.a*T.a+T.b*T.b+T.c*T.c),y=Vn(y),l=Vn(l),T=Vn(T),s=Vn(zT(new gP(-y.a,-y.b,-y.c),l)),c=T.a*s.a+T.b*s.b+T.c*s.c,r=1-c*c,P=w.Math.max(r>0?w.Math.sqrt(r):0,sU),n=qf*w.Math.asin(c),i=y.a*l.a+y.b*l.b+y.c*l.c,m=w.Math.max(1-i*i,sU),g=w.Math.max(m>0?w.Math.sqrt(m):0,sU),f=IP*this.e*n,v=new gP(T.b*l.c-T.c*l.b,T.c*l.a-T.a*l.c,T.a*l.b-T.b*l.a),R=new gP(y.b*T.c-y.c*T.b,y.c*T.a-y.a*T.c,y.a*T.b-y.b*T.a),b=new gP(l.b*y.c-l.c*y.b,l.c*y.a-l.a*y.c,l.a*y.b-l.b*y.a),j=P*g,C=c/(P*m),S=B(d(yt,1),wt,6,15,[(v.a/j-(y.a-l.a*i)*C)/D,(v.b/j-(y.b-l.b*i)*C)/D,(v.c/j-(y.c-l.c*i)*C)/D]),p=B(d(yt,1),wt,6,15,[(R.a/j-(l.a-y.a*i)*C)/Q,(R.b/j-(l.b-y.b*i)*C)/Q,(R.c/j-(l.c-y.c*i)*C)/Q]),x=B(d(yt,1),wt,6,15,[(b.a/j-T.a*c/P)/U,(b.b/j-T.b*c/P)/U,(b.c/j-T.c*c/P)/U]),L=0;L<3;L++)A[3*this.a+L]+=f*S[L],A[3*this.d+L]+=-f*(S[L]+p[L]+x[L]),A[3*this.b+L]+=f*p[L],A[3*this.c+L]+=f*x[L];},o.a=0,o.b=0,o.c=0,o.d=0,o.e=0;H(192);M(55,1,{4:1,32:1,55:1}),o.Sb=function(e){return this.b-e.b;},o.compareTo=function(e){return this.b-e.b;},o.equals=function(e){return this===e;},o.mb=function(t){return this.equals(t);},o.hashCode=function(){return vD(this);},o.ob=function(){return this.hashCode();},o.name=function(){return this.a!=null?this.a:""+this.b;},o.ordinal=function(){return this.b;},o.toString=function(){return this.a!=null?this.a:""+this.b;},o.pb=function(){return this.toString();},o.b=0;H(55);var NV=E9(null,Lx);M(278,1,{},wR);H(278);M(107,55,{107:1,4:1,32:1,55:1},wD);var Ti,J4,z4,Y4,x2,Ltt=E9(107,BN);M(98,1,{98:1,32:1},Oi),o.Sb=function(e){return zG(this,e);},o.mb=function(e){var A;return e===this?true:Zt(e,98)?(A=e,this.a==A.a&&this.b==A.b):false;},o.ob=function(){return this.a^this.b;},o.pb=function(){return this.a+","+this.b;},o.a=0,o.b=0;H(98);M(360,1,Sf,mk),o.cc=function(e,A,n,P){var r,i,f,D,Q;return P&&(K(this.f,this.a)==1||K(this.f,this.c)==1)?0:(r=kn(new v0(e,this.b,this.a)),i=kn(new v0(e,this.b,this.c)),Q=Dk(new v0(e,this.b,this.a),new v0(e,this.b,this.c)),D=IP*(Q*qf-this.j),f=D*(r-this.g)*this.d+D*(i-this.i)*this.e,f);},o.dc=function(e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g;L=kn(new v0(e,this.b,this.a)),s=kn(new v0(e,this.b,this.c)),l=Vn(new v0(e,this.b,this.a)),T=Vn(new v0(e,this.b,this.c)),P=l.a*T.a+l.b*T.b+l.c*T.c,g=1-P*P,c=w.Math.max(g>0?w.Math.sqrt(g):0,sU),n=qf*w.Math.acos(P)-this.j,y=qf*(this.d*(L-this.g)+this.e*(s-this.i)),r=1/L*(T.a-P*l.a),i=1/L*(T.b-P*l.b),f=1/L*(T.c-P*l.c),D=1/s*(l.a-P*T.a),Q=1/s*(l.b-P*T.b),U=1/s*(l.c-P*T.c),A[3*this.a]+=IP*(l.a*this.d*n+r/-c*y),A[3*this.a+1]+=IP*(l.b*this.d*n+i/-c*y),A[3*this.a+2]+=IP*(l.c*this.d*n+f/-c*y),A[3*this.b]+=IP*((-l.a*this.d-T.a*this.e)*n+(-r-D)/-c*y),A[3*this.b+1]+=IP*((-l.b*this.d-T.b*this.e)*n+(-i-Q)/-c*y),A[3*this.b+2]+=IP*((-l.c*this.d-T.c*this.e)*n+(-f-U)/-c*y),A[3*this.c]+=IP*(T.a*this.e*n+D/-c*y),A[3*this.c+1]+=IP*(T.b*this.e*n+Q/-c*y),A[3*this.c+2]+=IP*(T.c*this.e*n+U/-c*y);},o.a=0,o.b=0,o.c=0,o.d=0,o.e=0,o.g=0,o.i=0,o.j=0;H(360);M(155,1,{155:1},ks);H(155);M(361,1,Sf,Lm),o.cc=function(e,A,n,P){var r,i,f,D,Q,U,L,s,y,l;return Q=new v0(e,this.a,this.b),U=new v0(e,this.c,this.b),L=new v0(e,this.b,this.c),s=new v0(e,this.d,this.c),y=new gP(Q.b*U.c-Q.c*U.b,Q.c*U.a-Q.a*U.c,Q.a*U.b-Q.b*U.a),l=new gP(L.b*s.c-L.c*s.b,L.c*s.a-L.a*s.c,L.a*s.b-L.b*s.a),f=(y.a*l.a+y.b*l.b+y.c*l.c)/(w.Math.sqrt(y.a*y.a+y.b*y.b+y.c*y.c)*w.Math.sqrt(l.a*l.a+l.b*l.b+l.c*l.c)),r=2*f*f-1,i=f*(2*r-1),D=.5*(this.e*(1+f)+this.f*(1-r)+this.g*(1+i)),D;},o.dc=function(e,A){var n,P,r,i,f,D,Q,U,L,s,y;f=B(d(OV,1),A0,22,0,[new v0(e,this.b,this.a),new v0(e,this.b,this.c),new v0(e,this.c,this.b),new v0(e,this.c,this.d)]),y=B(d(OV,1),A0,22,0,[zT(f[0],f[1]),zT(f[2],f[3])]),P=B(d(yt,1),wt,6,15,[kn(y[0]),kn(y[1])]),!(w.Math.abs(P[0])<yU||w.Math.abs(P[1])<yU)&&(y[0]=Vn(y[0]),y[1]=Vn(y[1]),n=y[0].a*y[1].a+y[0].b*y[1].b+y[0].c*y[1].c,L=1-n*n,U=L>0?w.Math.sqrt(L):0,D=2*U*n,Q=3*U-4*U*L,i=.5*(-this.e*U+2*this.f*D-3*this.g*Q),s=-i*(w.Math.abs(U)<yU?1/n:1/U),r=B(d(yt,1),wt,6,15,[1/P[0]*(y[1].a-n*y[0].a),1/P[0]*(y[1].b-n*y[0].b),1/P[0]*(y[1].c-n*y[0].c),1/P[1]*(y[0].a-n*y[1].a),1/P[1]*(y[0].b-n*y[1].b),1/P[1]*(y[0].c-n*y[1].c)]),A[3*this.a]+=s*(r[2]*f[1].b-r[1]*f[1].c),A[3*this.a+1]+=s*(r[0]*f[1].c-r[2]*f[1].a),A[3*this.a+2]+=s*(r[1]*f[1].a-r[0]*f[1].b),A[3*this.b]+=s*(r[1]*(f[1].c-f[0].c)+r[2]*(f[0].b-f[1].b)+r[4]*-f[3].c+r[5]*f[3].b),A[3*this.b+1]+=s*(r[0]*(f[0].c-f[1].c)+r[2]*(f[1].a-f[0].a)+r[3]*f[3].c+r[5]*-f[3].a),A[3*this.b+2]+=s*(r[0]*(f[1].b-f[0].b)+r[1]*(f[0].a-f[1].a)+r[3]*-f[3].b+r[4]*f[3].a),A[3*this.c]+=s*(r[1]*f[0].c+r[2]*-f[0].b+r[4]*(f[3].c-f[2].c)+r[5]*(f[2].b-f[3].b)),A[3*this.c+1]+=s*(r[0]*-f[0].c+r[2]*f[0].a+r[3]*(f[2].c-f[3].c)+r[5]*(f[3].a-f[2].a)),A[3*this.c+2]+=s*(r[0]*f[0].b+r[1]*-f[0].a+r[3]*(f[3].b-f[2].b)+r[4]*(f[2].a-f[3].a)),A[3*this.d]+=s*(r[4]*f[2].c-r[5]*f[2].b),A[3*this.d+1]+=s*(r[5]*f[2].a-r[3]*f[2].c),A[3*this.d+2]+=s*(r[3]*f[2].b-r[4]*f[2].a));},o.a=0,o.b=0,o.c=0,o.d=0,o.e=0,o.f=0,o.g=0;H(361);M(362,1,Sf,Dj),o.cc=function(e,A,n,P){var r,i,f,D,Q,U,L,s,y,l;return P&&(K(this.g,this.a)==1||K(this.g,this.c)==1)?0:(Q=kn(new v0(e,this.a,this.c)),U=Q*Q,L=U*U*U*Q,r=1.07*this.i/(Q+tM*this.i),i=r*r,f=i*i*i*r,y=this.i*this.i,l=y*y*y*this.i,D=1.12*l/(L+eM*l)-2,s=f*D*this.j,s);},o.dc=function(e,A){var n,P,r,i,f,D,Q,U,L,s,y,l;for(r=kn(new v0(e,this.a,this.c)),f=r/this.i,D=f*f,Q=D*D*D,U=Q*f,L=U+eM,s=1.07/(f+1.07-1),y=s*s,l=y*y*y*s,n=this.j/this.i*l*(AM*Q/(L*L)+(AM/L+14)/(f+tM)),i=0;i<3;i++)P=.01*this.i,r>0&&(P=n*(e[3*this.a+i]-e[3*this.c+i])/r),A[3*this.a+i]+=P,A[3*this.c+i]-=P;},o.a=0,o.b=0,o.c=0,o.d=0,o.e=0,o.f=0,o.i=0,o.j=0;H(362);M(22,1,{22:1},gP,FT,wT,Xi,v0),o.mb=function(e){var A;return e===this?true:Zt(e,22)?(A=e,w.Math.abs(this.a-A.a)<.01&&w.Math.abs(this.b-A.b)<.01&&w.Math.abs(this.c-A.c)<.01):false;},o.ob=function(){return vt(this.a)+vt(this.b)+vt(this.c);},o.a=0,o.b=0,o.c=0;var OV=H(22);M(383,1,{},Rv),o.kc=function(e,A){return Yn(this.b[e][A]);},o.lc=function(){return this.b.length;};H(383);M(377,1,{},SB),o.kc=function(e,A){return this.a[e][A];},o.lc=function(){return this.a.length;};H(377);M(390,1,{},EB),o.kc=function(e,A){return Yn(this.a[e][A]);},o.lc=function(){return this.a.length;};H(390);M(386,1,{},lv),o.kc=function(e,A){return Yn(this.b[e][A]);},o.lc=function(){return this.b.length;};H(386);M(384,1,{},cm);H(384);M(196,1,{},ZU),o.kc=function(e,A){return Yn(this.a.a[e][A]);},o.lc=function(){return this.a.a.length;};H(196);M(391,1,{},_B),o.kc=function(e,A){return Yn(this.a[e][A]);},o.lc=function(){return this.a.length;};H(391);M(393,1,{},HB);H(393);M(392,1,{},VB),o.kc=function(e,A){return Yn(this.a[e][A]);},o.lc=function(){return this.a.length;};H(392);M(394,1,{},jv),o.kc=function(e,A){return Yn(this.a[e][A]);},o.lc=function(){return this.a.length;};H(394);M(385,1,{},vg),o.kc=function(e,A){return Yn(this.b[e][A]);},o.lc=function(){return this.b.length;};H(385);M(387,1,{},yv),o.kc=function(e,A){return Yn(this.b[e][A]);},o.lc=function(){return this.b.length;};H(387);M(388,1,{},Fg),o.kc=function(e,A){return Yn(this.b[e][A]);},o.lc=function(){return this.b.length;};H(388);M(51,1,{},Ro,Gn,qv),o.pb=function(){return this.a+","+this.b+","+this.c;},o.a=0,o.b=0,o.c=0;H(51);M(389,1,{},fv),o.kc=function(e,A){return Yn(this.a[e][A]);},o.lc=function(){return this.a.length;};H(389);M(424,1,{});H(424);M(280,1,{},IR),o.a=null;var zf;H(280);M(281,1,{},rj),o.a=null;var B8;H(281);M(282,424,{},mv),o.a=false,o.e=0;var GV;H(282);M(213,1,{},Lh);var JV,K4,Yf;H(213);M(274,1,{},Fm);var hi,Ql=false;H(274);M(275,1,{},LR);H(275);M(236,1,{236:1},Y7),o.b=0;H(236);M(45,1,{45:1},We),o.b=0;H(45);M(132,1,{},uD);H(132);var zV,xP;M(279,1,{});H(279);var Ul,Kf;M(285,1,{},Rj);var YV,kU,L9,ol=false,s9,Xf;H(285);M(49,1,Rf,P8,Vs,C3,Bh),o.c=false,o.d=0;H(49);M(62,193,{193:1,62:1,4:1},KD,lj),o.Eb=function(e,A){return this.a=QR(this,e,A),this.a!=0;},o.Fb=function(){this.a=0;},o.Gb=function(){var e;return e=new KD(),e.i[0].a=this.i[0].a,e.i[0].b=this.i[0].b,e.i[1].a=this.i[1].a,e.i[1].b=this.i[1].b,e.g=this.g,e;},o.Hb=function(e,A){return QR(this,e,A)!=0;},o.Ib=function(e,A){var n,P,r,i,f,D,Q;ae(e,this.g?Gs(iP,UT(e)):DB(e)),i=A?Z1(A,this.i[0].a):this.i[0].a,D=A?X1(A,this.i[0].b):this.i[0].b,f=A?Z1(A,this.i[1].a):this.i[1].a,Q=A?X1(A,this.i[1].b):this.i[1].b,n=f-i,P=Q-D,Ko(e,w.Math.max(1,.019999999552965164*w.Math.sqrt(n*n+P*P))),xr(e,i,D,f,Q),r=new YD(4),Ce(r,f+n/40,Q+P/40),Ce(r,f-n/5+P/10,Q-P/5-n/10),Ce(r,f-n/20,Q-P/20),Ce(r,f-n/5-P/10,Q-P/5+n/10),Yo(e,new rD(r));},o.Jb=function(e){var A,n,P,r,i,f;return f=rh(this),i=w.Math.max(f/8,3),A=kA(this.i[0].a,this.i[0].b,this.i[1].a,this.i[1].b),P=w.Math.abs(i*w.Math.cos(A)),r=w.Math.abs(i*w.Math.sin(A)),n=new nD(),this.i[0].a<this.i[1].a?(n.c=this.i[0].a-P,n.b=this.i[1].a-this.i[0].a+2*P):(n.c=this.i[1].a-P,n.b=this.i[0].a-this.i[1].a+2*P),this.i[0].b<this.i[1].b?(n.d=this.i[0].b-r,n.a=this.i[1].b-this.i[0].b+2*r):(n.d=this.i[1].b-r,n.a=this.i[0].b-this.i[1].b+2*r),n;},o.Kb=function(){var e;return e=new V0(),J(e,' x1="'+this.i[0].a+'"'),J(e,' y1="'+this.i[0].b+'"'),J(e,' x2="'+this.i[1].a+'"'),J(e,' y2="'+this.i[1].b+'"'),e.a;},o.Lb=function(){return "arrow";},o.Mb=function(e){var A,n,P,r,i,f;switch(ae(e,ID(e)),this.a){case 1:nL(e,this.i[0].a-8,this.i[0].b-8,16);break;case 2:nL(e,this.i[1].a-8,this.i[1].b-8,16);break;case 3:i=rh(this),r=w.Math.max(i/8,3),A=kA(this.i[0].a,this.i[0].b,this.i[1].a,this.i[1].b),n=r*w.Math.cos(A),P=-r*w.Math.sin(A),f=new YD(4),Ce(f,this.i[0].a+n,this.i[0].b+P),Ce(f,this.i[1].a+n,this.i[1].b+P),Ce(f,this.i[1].a-n,this.i[1].b-P),Ce(f,this.i[0].a-n,this.i[0].b-P),Yo(e,new rD(f));}},o.Ob=function(e,A){switch(this.a){case 1:this.i[0].a=this.o[0]+e-this.k,this.i[0].b=this.p[0]+A-this.n;break;case 2:this.i[1].a=this.o[1]+e-this.k,this.i[1].b=this.p[1]+A-this.n;break;default:zF(this,e,A);}},o.a=0;H(62);M(214,1,{},s7),o.a=false,o.b=false,o.i=0,o.j=0,o.q=0,o.r=false,o.t=false;H(214);M(286,1,{},sj);H(286);M(183,1,{183:1,32:1},Q5),o.Sb=function(e){return JO(this,e);},o.mb=function(e){return this.d==e.d&&this.e==e.e;},o.a=0,o.b=0,o.c=0,o.d=0,o.e=0,o.f=0,o.g=0;H(183);M(97,55,{97:1,4:1,32:1,55:1},Mi);var Ll,sl,yl,bU,ll,Tl,stt=E9(97,EN);M(199,1,{199:1},Up),o.b=false,o.e=0;var ytt=H(199);M(148,1,{148:1,32:1},As),o.Sb=function(e){return YG(this,e);},o.a=0,o.b=0,o.c=0,o.d=0,o.e=0;var ltt=H(148);M(300,1,{},u7),o.b=0,o.c=0;var RU,hl;H(300);M(202,1,{},Lo);H(202);M(408,1,{},ij),o.b=0,o.g=0;H(408);M(201,1,{201:1},NT),o.a=0;H(201);M(125,1,{125:1,32:1},gD),o.Sb=function(e){return this.b<e.b?-1:this.b>e.b?1:this.a<e.a?-1:this.a>e.a?1:0;},o.a=0,o.b=0;H(125);M(407,1,{},Gg);H(407);M(170,1,{170:1},Jl),o.b=0,o.c=0,o.d=false;var Ttt=H(170);M(406,1,{},Qj),o.a=0,o.c=0,o.d=0,o.e=0,o.f=0,o.g=0,o.n=0,o.o=0,o.p=false,o.q=0,o.r=0,o.s=0,o.K=0;H(406);M(403,1,{},pb);H(403);M(402,1,{},jA),o.a=0,o.b=0,o.c=0,o.q=0;H(402);M(293,1,If,jm),o.mc=function(e){bX(this,e);},o.a=0,o.B=false,o.C=0;var KV,XV,ci;H(293);M(378,1,{},J7),o.nc=function(){_S(this.a,this.b);};H(378);M(295,1,If,Xm),o.mc=function(e){lX(this,e);},o.a=0,o.t=0,o.v=false;H(295);M(400,1,{},z7),o.nc=function(){$S(this.a,this.b);};H(400);M(220,1,If,bm,qk),o.mc=function(e){Gz(this,e);},o.a=0,o.f=false,o.g=0,o.i=0,o.j=0,o.k=0;var ZV;H(220);M(401,1,{},G7),o.nc=function(){aS(this.a,this.b);};H(401);M(338,1,{});H(338);M(162,338,{}),o.j=0;H(162);M(24,162,{24:1},q1),o.a=false;H(24);M(287,1,If,KR),o.mc=function(e){var A;Zt(e,140)?E$((A=this,A)):Zt(e,156)?Ya(this,e):Zt(e,137)&&Ia(this,e);},o.a=false,o.b=false,o.c=0,o.d=false,o.e=0,o.f=0,o.g=false,o.q=0,o.s=0,o.t=0,o.u=0,o.w=0,o.B=0,o.C=0,o.D=0,o.F=0,o.H=0,o.J=0,o.K=0,o.N=0,o.O=false,o.T=0,o.U=0,o.W=false,o.X=0,o.Y=0,o.Z=false,o.$=0,o.ab=0,o.eb=0,o.fb=0,o.hb=0,o.ib=0,o.kb=0,o.lb=0;var jU=true;H(287);M(294,1,{},pw);H(294);M(296,1,{},Cw);H(296);M(297,1,{},Ld),o.b=0;H(297);M(298,1,{},_c),o.nc=function(){};H(298);M(299,1,{},Mw),o.nc=function(){rB(this.a);};H(299);M(302,1,{},sd);H(302);M(303,1,{262:1},yd),o.oc=function(){ZO(this.a,this.c,this.b);},o.c=0;H(303);M(304,1,{},K7),o.Rb=function(e,A){return kJ(this.a,this.b,e,A);},o.mb=function(e){return this===e;};H(304);M(305,1,If,Zb),o.mc=function(e){Y5(this,e);},o.b=0,o.d=0,o.e=0,o.f=0,o.j=0,o.k=0,o.o=0;var v8=0,dn=0;H(305);M(307,1,{},X7),o.nc=function(){WS(this.a,this.b);},o.b=0;H(307);M(301,1,If,iv),o.mc=function(e){dK(this,e);};var WV,cl,_V;H(301);M(404,1,{},Hw),o.nc=function(){Bq(this.a);};H(404);M(140,162,{140:1},Vo),o.a=0;H(140);var $V,aV,Zf,tE;M(104,121,{121:1,104:1},du),o.qb=function(e){xr(this.B,e.a,e.c,e.b,e.d);},o.rb=function(e){MN(this.B,e.a,e.c,e.b,e.d);},o.sb=function(e){Yo(this.B,new rD(e));},o.tb=function(e,A,n){jT(this.B,A,n,e);},o.ub=function(e,A,n){nL(this.B,e,A,n);},o.vb=function(e){return GL(this.B,e).b;},o.wb=function(){return this.b;},o.xb=function(){_F(this),this.a=1;},o.Ab=function(e){this.a=e,Ko(this.B,this.a);},o.Bb=function(e){ae(this.B,e);},o.Cb=function(e){this.b=e,this.B&&eL(this.B,e,false,false);},o.a=0,o.b=0;var eE=H(104);M(221,1,{});H(221);M(156,162,{156:1},QB),o.a=false,o.b=0;H(156);M(137,162,{137:1},ch),o.pb=function(){return AE[this.j]+" x:"+this.g+" y:"+this.i+" button:"+this.b+" clicks:"+this.c+(this.f?" shift":"")+(this.d?" ctrl":"")+(this.a?" alt":"")+" isPopup:"+(this.e?"y":"n");},o.a=false,o.b=0,o.c=0,o.d=false,o.e=false,o.f=false,o.g=0,o.i=0;var AE;H(137);M(56,1,{56:1},c9,v3),o.pb=function(){return "x:"+this.a+" y:"+this.b;},o.a=0,o.b=0;var X4=H(56);M(118,1,{413:1},bv,YD),o.Hb=function(e,A){var n,P,r;for(r=false,P=this.a-1,n=0;n<this.a;n++)this.c[n]>A!=this.c[P]>A&&e<(this.b[P]-this.b[n])*(A-this.c[n])/(this.c[P]-this.c[n])+this.b[n]&&(r=!r),P=n;return r;},o.a=0;H(118);M(35,1,{35:1,413:1},nD,QA),o.Hb=function(e,A){return Nr(this,e,A);},o.pb=function(){return "x:"+this.c+" y:"+this.d+" w:"+this.b+" h:"+this.a;},o.a=0,o.b=0,o.c=0,o.d=0;var wl=H(35),de=-1,nE,Z4;M(410,1,{},Jg),o.getCanMolecule=function(e){var A;return A=X_(this.a,e),new CA(A);},o.getEncodedCoordinates=function(e){return Iu(this.a,e);},o.getEncodedMapping=function(){return Jd(this.a);},o.getFinalRank=function(){return this.a.f;},o.getGraphAtoms=function(){return Rq(this.a);},o.getGraphIndexes=function(){return jq(this.a);},o.getIDCode=function(){return me(this.a);},o.getSymmetryRank=function(e){return Ho(this.a,e);},o.getSymmetryRanks=function(){return this.a.g;},o.hasCIPParityDistinctionProblem=function(){return this.a.d;},o.invalidateCoordinates=function(){this.a.s=null;},o.normalizeEnantiomer=function(){return uj(this.a);},o.setParities=function(){Z5(this.a);};H(410);M(414,1,{},YU);var htt=2,ctt=0,wtt=1,gtt=4,dtt=3;H(414);M(415,1,{},Yg),o.getConformerCount=function(){return this.a.p;},o.getNextConformerAsMolecule=function(e){var A,n;return A=e?e.a:null,n=Ix(this.a,A),n?n==A?e:new CA(n):null;},o.getOneConformerAsMolecule=function(e){var A;return A=Yx(this.a,e.a),A?e:null;},o.getPotentialConformerCount=function(){return aq(this.a);},o.qc=function(e,A,n,P){return nZ(this.a,e.a,A,n,P);},o.initializeConformers=function(e,A){A===void 0&&(A={});var n=A.strategy;n===void 0&&(n=3);var P=A.maxTorsionSets;P===void 0&&(P=jy);var r=A.use60degreeSteps;return r===void 0&&(r=false),this.qc(e,n,P,r);};var Btt=4,vtt=3,Ftt=1,mtt=2;H(415);M(416,1,{},X2);H(416);M(417,1,{},Lg),o.assessDruglikeness=function(e){var A;return l_(this.a,(A=e.a,A));},o.getDetail=function(){var e;return e=this.a.a,!e&&qN(),fQ(e);},o.getDruglikenessString=function(e){return ZK(e.a);};var ktt=-999;H(417);M(418,1,{},bB),o._minimise=function(e,A,n){return xb(this.a,e,A);},o.getTotalEnergy=function(){return Fq(this.a);},o.size=function(){return this.a.b.q;};var btt=U4,Rtt=o4,jtt=Sy,PE=false,rE=false,iE=false;H(418);M(42,1,{42:1},Y3,AL,CA),o.addAtom=function(e){return W9(this.a,e);},o.addBond=function(e,A){return tL(this.a,e,A);},o.addFragment=function(e,A,n){OR(this.a,e.a,A,n);},o.rc=function(){pN(this.a);},o.sc=function(e){yp(this.a,e);},o.addImplicitHydrogens=function(e){e===void 0?this.rc():this.sc(e);},o.tc=function(){oo(),h5(this.a,1);},o.uc=function(e){h5(this.a,e);},o.addMissingChirality=function(e){e===void 0?this.tc():this.uc(e);},o.addMolecule=function(e){return RD(this.a,e.a);},o.addOrChangeAtom=function(e,A,n,P,r,i,f){return Jh(this.a,e,A,n,P,r,i,f);},o.addOrChangeBond=function(e,A,n){return wb(this.a,e,A,n);},o.addRing=function(e,A,n,P,r){return lf(this.a,e,A,n,P,r);},o.addRingToAtom=function(e,A,n,P){return mR(this.a,e,A,n,P);},o.addRingToBond=function(e,A,n,P){return GQ(this.a,e,A,n,P);},o.addSubstituent=function(e,A){return Js(this.a,e.a,A);},o.calculateTorsion=function(e){return qQ(this.a,e);},o.canonizeCharge=function(e){return Pp(this.a,e,false);},o.changeAtom=function(e,A,n,P,r){return Bf(this.a,e,A,n,P,r);},o.changeAtomCharge=function(e,A){return oh(this.a,e,A);},o.changeBond=function(e,A){return Q8(this.a,e,A);},o.clear=function(){ki(this.a);},o.convertStereoBondsToSingleBonds=function(e){m5(this.a,e);},o.copyAtom=function(e,A,n,P){return En(this.a,e.a,A,n,P);},o.copyBond=function(e,A,n,P,r,i){return DQ(this.a,e.a,A,n,P,r,i);},o.copyMolecule=function(e){uf(this.a,e.a);},o.copyMoleculeByAtoms=function(e,A,n,P){ui(this.a,e.a,A,n,P);},o.copyMoleculeByBonds=function(e,A,n,P){return Mj(this.a,e.a,A,n,P);},o.copyMoleculeProperties=function(e){ko(this.a,e.a);},o.deleteAtom=function(e){wQ(this.a,e);},o.deleteAtomOrBond=function(e,A){return tb(this.a,e,A);},o.deleteAtoms=function(e){return sJ(this.a,e);},o.deleteBond=function(e){TI(this.a,e);},o.deleteBondAndSurrounding=function(e){Zh(this.a,e);},o.deleteMarkedAtomsAndBonds=function(){return Pi(this.a);},o.deleteMolecule=function(){ki(this.a);},o.deleteSelectedAtoms=function(){return nQ(this.a);},o.ensureHelperArrays=function(e){ut(this.a,e);},o.findAlleneCenterAtom=function(e){return nb(this.a,e);},o.findAlleneEndAtom=function(e,A){return Tm(this.a,e,A);},o.findAtom=function(e,A){return ZA(this.a,e,A);},o.findBINAPChiralityBond=function(e){return Us(this.a,e);},o.findBond=function(e,A){return df(this.a,e,A);},o.findRingSystem=function(e,A,n,P){nR(this.a,e,A,n,P);},o.getAbsoluteAtomParity=function(e){return c3(this.a,e);},o.getAbsoluteBondParity=function(e){return Nq(this.a,e);},o.getAllAtoms=function(){return this.a.q;},o.getAllBonds=function(){return this.a.r;},o.getAllConnAtoms=function(e){return Mt(this.a,e);},o.getAllConnAtomsPlusMetalBonds=function(e){return De(this.a,e);},o.getAllHydrogens=function(e){return wd(this.a,e);},o.getAromaticRingCount=function(){return HO(this.a);},o.getAtomAbnormalValence=function(e){return br(this.a,e);},o.getAtomCIPParity=function(e){return jo(this.a,e);},o.getAtomCharge=function(e){return p1(this.a,e);},o.getAtomColor=function(e){return ou(this.a,e);},o.getAtomCustomLabel=function(e){return _n(this.a,e);},o.getAtomESRGroup=function(e){return VA(this.a,e);},o.getAtomESRType=function(e){return Ae(this.a,e);},o.getAtomLabel=function(e){return Ci(this.a,e);},o.getAtomList=function(e){return MA(this.a,e);},o.getAtomListString=function(e){return Yh(this.a,e);},o.getAtomMapNo=function(e){return C1(this.a,e);},o.getAtomMass=function(e){return ye(this.a,e);},o.getAtomParity=function(e){return d0(this.a,e);},o.getAtomPi=function(e){return a1(this.a,e);},o.getAtomPreferredStereoBond=function(e){return Vv(this.a,e);},o.getAtomQueryFeaturesObject=function(e){return ya(this.a,e);},o.getAtomRadical=function(e){return FA(this.a,e);},o.getAtomRingBondCount=function(e){return HT(this.a,e);},o.getAtomRingCount=function(e,A){return E5(this.a,e,A);},o.getAtomRingSize=function(e){return M9(this.a,e);},o.getAtomX=function(e){return kt(this.a,e);},o.getAtomY=function(e){return jt(this.a,e);},o.getAtomZ=function(e){return vA(this.a,e);},o.getAtomicNo=function(e){return K(this.a,e);},o.getAtoms=function(){return this.a.f;},o.getAverageBondLength=function(e){return HL(this.a,e);},o.getAverageTopologicalAtomDistance=function(){return HX(this.a);},o.getBond=function(e,A){return D1(this.a,e,A);},o.getBondAngle=function(e,A){return Y0(this.a,e,A);},o.getBondAtom=function(e,A){return z(this.a,e,A);},o.getBondBridgeMaxSize=function(e){return gT(this.a,e);},o.getBondBridgeMinSize=function(e){return x3(this.a,e);},o.getBondCIPParity=function(e){return gu(this.a,e);},o.getBondESRGroup=function(e){return $i(this.a,e);},o.getBondESRType=function(e){return cP(this.a,e);},o.getBondLength=function(e){return hh(this.a,e);},o.getBondOrder=function(e){return dt(this.a,e);},o.getBondParity=function(e){return qe(this.a,e);},o.getBondPreferredStereoBond=function(e){return gY(this.a,e);},o.getBondQueryFeatures=function(e){return ee(this.a,e);},o.getBondQueryFeaturesObject=function(e){return f_(this.a,e);},o.getBondRingSize=function(e){return pr(this.a,e);},o.getBondType=function(e){return l1(this.a,e);},o.getBondTypeSimple=function(e){return Lu(this.a,e);},o.getBonds=function(){return this.a.g;},o.getBounds=function(){var e;return e=Ib(this.a,oE),e?Ox(e.c,e.d,e.b,e.a):null;},o.getCanonizedIDCode=function(e){var A;return A=new EA(this.a,e),me(A);},o.getChiralText=function(){return vR(this.a);},o.getChirality=function(){return this.a.I;},o.getCompactCopy=function(){return new CA(Xn(this.a));},o.getConnAtom=function(e,A){return _(this.a,e,A);},o.getConnAtoms=function(e){return O(this.a,e);},o.getConnBond=function(e,A){return Ot(this.a,e,A);},o.getConnBondOrder=function(e,A){return pA(this.a,e,A);},o.getDefaultMaxValenceUncharged=function(e){return IO(this.a,e);},o.getDiastereotopicAtomIDs=function(){return YY(this.a);},o.getElectronValenceCorrection=function(e,A){return Fu(this.a,e,A);},o.getExcludedNeighbourCount=function(e){return EL(this.a,e);},o.getExplicitHydrogens=function(e){return R3(this.a,e);},o.getFinalRanks=function(e){var A;return A=new EA(this.a,e),A.f;},o.getFisherProjectionParity=function(e,A,n,P){return R5(this.a,e,A,n,P);},o.getFragmentAtoms=function(e,A){return _m(this.a,e,A);},o.getFragmentNumbers=function(e,A,n){return n9(this.a,e,A,n);},o.getFragments=function(){var e,A,n;for(e=MO(this.a),n=h(W4,L4,42,e.length,0,1),A=0;A<e.length;A++)n[A]=new CA(e[A]);return n;},o.getFreeValence=function(e){return Zi(this.a,e);},o.getHandleHydrogenMap=function(){return Qu(this.a);},o.getHelperArrayStatus=function(){return this.a.T;},o.getHoseCodes=function(e){e=e||{};var A=(typeof e.maxSphereSize===TU?5:e.maxSphereSize)|0,n=(typeof e.type===TU?0:e.type)|0;return TJ(this.a,A,n);},o.getIDCode=function(){var e;return e=FF(this.a),e==null&&(e=me(new BA(this.a))),e;},o.getIDCodeAndCoordinates=function(){return {idCode:this.getIDCode(),coordinates:this.getIDCoordinates()};},o.getIDCoordinates=function(){var e;return e=gG(this.a),e==null&&(e=B7(new BA(this.a))),e;},o.getImplicitHigherValence=function(e,A){return Uf(this.a,e,A);},o.getImplicitHydrogens=function(e){return xt(this.a,e);},o.getIndex=function(){return rx(this.a);},o.getLowestFreeValence=function(e){return gQ(this.a,e);},o.getMaxAtoms=function(){return this.a.M;},o.getMaxBonds=function(){return this.a.N;},o.getMaxValence=function(e){return lT(this.a,e);},o.getMaxValenceUncharged=function(e){return Cn(this.a,e);},o.getMetalBondedConnAtoms=function(e){return xi(this.a,e);},o.getMolecularFormula=function(){return new Pg(this.a);},o.getMoleculeColor=function(){return this.a.O;},o.getMolweight=function(){return wY(this.a);},o.getName=function(){return this.a.P;},o.getNonHydrogenNeighbourCount=function(e){return e0(this.a,e);},o.getNumberOfHydrogens=function(){return KG(this.a);},o.getOccupiedValence=function(e){return G1(this.a,e);},o.getPath=function(e,A,n,P,r){return l2(this.a,e,A,n,P,null,r);},o.getPathBonds=function(e,A,n){Vm(this.a,e,A,n);},o.getPathLength=function(e,A){return o5(this.a,e,A);},o.getRingSet=function(){return new Sw(On(this.a));},o.getRotatableBondCount=function(){return hR(this.a);},o.getStereoBond=function(e){return pQ(this.a,e);},o.getStereoCenterCount=function(){return oF(this.a);},o.vc=function(){return this.a;},o.getStereoProblem=function(e){return Vg(this.a,e);},o.getSubstituent=function(e,A,n,P,r){return SQ(this.a,e,A,n,P.a,r);},o.getSubstituentSize=function(e,A){return L5(this.a,e,A);},o.getSymmetryRank=function(e){return R0(this.a,e);},o.getZNeighbour=function(e,A){return _R(this.a,e,A);},o.invalidateHelperArrays=function(e){YS(this.a,e);},o.inventCoordinates=function(){var e;e=new i7(),e.g=new zr(0),Ar(e,this.a),Lf(this.a);},o.is3D=function(){return GT(this.a);},o.isAlkaliMetal=function(e){return LO(this.a,e);},o.isAllylicAtom=function(e){return sI(this.a,e);},o.isAmideTypeBond=function(e){return RK(this.a,e);},o.isAromaticAtom=function(e){return vn(this.a,e);},o.isAromaticBond=function(e){return _e(this.a,e);},o.isAtomConfigurationUnknown=function(e){return Fr(this.a,e);},o.isAtomMarkedForDeletion=function(e){return Xq(this.a,e);},o.isAtomParityPseudo=function(e){return Ei(this.a,e);},o.isAtomStereoCenter=function(e){return E8(this.a,e);},o.isAutoMappedAtom=function(e){return Bn(this.a,e);},o.isBINAPChiralityBond=function(e){return fi(this.a,e);},o.isBondBackgroundHilited=function(e){return V3(this.a,e);},o.isBondBridge=function(e){return Bu(this.a,e);},o.isBondForegroundHilited=function(e){return vr(this.a,e);},o.isBondMarkedForDeletion=function(e){return $q(this.a,e);},o.isBondParityPseudo=function(e){return wo(this.a,e);},o.isBondParityUnknownOrNone=function(e){return E3(this.a,e);},o.isChalcogene=function(e){return VT(this.a,e);},o.isDelocalizedBond=function(e){return G8(this.a,e);},o.isEarthAlkaliMetal=function(e){return sO(this.a,e);},o.isElectronegative=function(e){return tA(this.a,e);},o.isElectropositive=function(e){return EY(this.a,e);},o.isFlatNitrogen=function(e){return EP(this.a,e,true);},o.isFragment=function(){return this.a.K;},o.isHalogene=function(e){return ON(this.a,e);},o.isMarkedAtom=function(e){return z0(this.a,e);},o.isMetalAtom=function(e){return _0(this.a,e);},o.isNaturalAbundance=function(e){return Du(this.a,e);},o.isNitrogenFamily=function(e){return yT(this.a,e);},o.isOrganicAtom=function(e){return bb(this.a,e);},o.isPseudoRotatableBond=function(e){return $b(this.a,e);},o.isPurelyOrganic=function(){return hK(this.a);},o.isRingAtom=function(e){return qi(this.a,e);},o.isRingBond=function(e){return fA(this.a,e);},o.isSelectedAtom=function(e){return r0(this.a,e);},o.isSelectedBond=function(e){return mP(this.a,e);},o.isSimpleHydrogen=function(e){return lG(this.a,e);},o.isSmallRingAtom=function(e){return go(this.a,e);},o.isSmallRingBond=function(e){return WP(this.a,e);},o.isStabilizedAtom=function(e){return yI(this.a,e);},o.isStereoBond=function(e){return Cr(this.a,e);},o.markAtomForDeletion=function(e){Zw(this.a,e);},o.markBondForDeletion=function(e){tq(this.a,e);},o.normalizeAmbiguousBonds=function(){return Qi(this.a);},o.removeAtomColors=function(){xd(this.a);},o.removeAtomCustomLabels=function(){this.a.t=null;},o.removeAtomMarkers=function(){nT(this.a);},o.removeAtomSelection=function(){hx(this.a);},o.removeBondHiliting=function(){$d(this.a);},o.removeExplicitHydrogens=function(){g5(this.a,true);},o.removeQueryFeatures=function(){return Yb(this.a);},o.renumberESRGroups=function(e){return $0(this.a,e);},o.scaleCoords=function(e){GB(this.a,e);},o.setAllAtoms=function(e){fq(this.a,e);},o.setAllBonds=function(e){Dq(this.a,e);},o.setAssignParitiesToNitrogen=function(e){xq(this.a,e);},o.setAtomAbnormalValence=function(e,A){XA(this.a,e,A);},o.setAtomCIPParity=function(e,A){bd(this.a,e,A);},o.setAtomCharge=function(e,A){E0(this.a,e,A);},o.setAtomColor=function(e,A){FD(this.a,e,A);},o.setAtomConfigurationUnknown=function(e,A){Xo(this.a,e,A);},o.setAtomCustomLabel=function(e,A){u8(this.a,e,A);},o.setAtomESR=function(e,A,n){He(this.a,e,A,n);},o.setAtomList=function(e,A,n){Tf(this.a,e,A,n);},o.setAtomMapNo=function(e,A,n){Ze(this.a,e,A,n);},o.setAtomMarker=function(e,A){zn(this.a,e,A);},o.setAtomMass=function(e,A){jr(this.a,e,A);},o.setAtomParity=function(e,A,n){ce(this.a,e,A,n);},o.setAtomQueryFeature=function(e,A,n){T1(this.a,e,A,n);},o.setAtomRadical=function(e,A){Ne(this.a,e,A);},o.setAtomSelection=function(e,A){dP(this.a,e,A);},o.setAtomX=function(e,A){Be(this.a,e,A);},o.setAtomY=function(e,A){Ie(this.a,e,A);},o.setAtomZ=function(e,A){hP(this.a,e,A);},o.setAtomicNo=function(e,A){K0(this.a,e,A);},o.setBondAtom=function(e,A,n){BD(this.a,e,A,n);},o.setBondBackgroundHiliting=function(e,A){vx(this.a,e,A);},o.setBondCIPParity=function(e,A){td(this.a,e,A);},o.setBondESR=function(e,A,n){U8(this.a,e,A,n);},o.setBondForegroundHiliting=function(e,A){Fx(this.a,e,A);},o.setBondOrder=function(e,A){uT(this.a,e,A);},o.setBondParity=function(e,A,n){A8(this.a,e,A,n);},o.setBondParityUnknownOrNone=function(e){n3(this.a,e);},o.setBondQueryFeature=function(e,A,n){Ge(this.a,e,A,n);},o.setBondType=function(e,A){w0(this.a,e,A);},o.setChirality=function(e){Gl(this.a,e);},o.setFragment=function(e){je(this.a,e);},o.setHelperValidity=function(e){RS(this.a,e);},o.setHydrogenProtection=function(e){bS(this.a,e);},o.setMaxAtoms=function(e){kQ(this.a,e);},o.setMaxBonds=function(e){eQ(this.a,e);},o.setMoleculeColor=function(e){jS(this.a,e);},o.setName=function(e){$2(this.a,e);},o.setParitiesValid=function(e){sD(this.a,e);},o.setStereoBondFromAtomParity=function(e){Ay(this.a,e);},o.setStereoBondFromBondParity=function(e){Nj(this.a,e);},o.setStereoBondsFromParity=function(){Lf(this.a);},o.setToRacemate=function(){this.a.L=true;},o.setUnknownParitiesToExplicitlyUnknown=function(){H3(this.a);},o.shareSameFragment=function(e,A){return o5(this.a,e,A)!=-1;},o.stripIsotopInfo=function(){return SJ(this.a);},o.stripSmallFragments=function(e){return VR(this.a,e);},o.stripStereoInformation=function(){ds(this.a);},o.suggestBondType=function(e,A){return Ax(this.a,e,A);},o.supportsImplicitHydrogen=function(e){return aL(this.a,e);},o.swapAtoms=function(e,A){S5(this.a,e,A);},o.swapBonds=function(e,A){t5(this.a,e,A);},o.toIsomericSmiles=function(e){e=e||{};var A=e.createSmarts===true,n=e.includeMapping===true,P=e.kekulizedOutput===true;return this.wc(A,n,P);},o.wc=function(e,A,n){return Gv(this,e,A,n);},o.toMolfile=function(){var e;return e=new p3(this.a),e.a.a;},o.toMolfileV3=function(){var e;return e=new dg(this.a),e.b.a;},o.toSVG=function(e,A,n,P,r,i,f){var D,Q,U,L,s,y,l,T,c,g,m,v;for(U=true,s=0;s<this.a.q-1;s++)if(kt(this.a,s)!=kt(this.a,s+1)||jt(this.a,s)!=jt(this.a,s+1)){U=false;break;}return y=U?Xn(this.a):this.a,U&&Ar(new Y8(0),y),ut(y,95),v=WW(f),L=J_(f),Q=new Ik(y,L,i),Q.J=n,L2(Q,null,new QA(0,0,e,A),v),D=Q.v,W5(Q,null),m=Jj(Q),P?(T=zt(E1(w.Math.round(D.b+r*2))),l=zt(E1(w.Math.round(D.a+r*2))),c=zt(E1(w.Math.round(D.c-r))),g=zt(E1(w.Math.round(D.d-r))),bT(m,'width="\\d+px" height="\\d+px" viewBox="0 0 \\d+ \\d+"','width="'+T+'px" height="'+l+'px" viewBox="'+c+" "+g+" "+T+" "+l+'"')):m;},o.toSmarts=function(){return Ru(new hD(this.a,1));},o.toSmiles=function(){return Gv(this,false,false,true);},o.translateCoords=function(e,A){CL(this.a,e,A);},o.validate=function(){$W(this.a);},o.zoomAndRotate=function(e,A,n){Rk(this.a,e,A,n);},o.zoomAndRotateInit=function(e,A){eb(this.a,e,A);};var ptt=32,Ctt=2,Mtt=4,Htt=6,Vtt=64,Ett=128,Stt=1,qtt=256,Itt=8,xtt=re,Ntt=16,Ott=I1,Gtt=512,Jtt=cV,ztt=24,Ytt=cV,fE,Ktt=q6,Xtt=E6,Ztt=S6,Wtt=0,_tt=3,$tt=1,att=2,t1t=64,e1t=384,A1t=448,n1t=192,P1t=256,r1t=0,i1t=320,f1t=128,DE,D1t=1,u1t=2,Q1t=4,U1t=0,o1t=3,L1t=1,s1t=Ty,y1t=2,l1t=1,T1t=2,h1t=i9,c1t=3,w1t=25,g1t={l:4186111,m:4193407,h:127},d1t=5,B1t=39,v1t=Vf,F1t=Pe,m1t=Ur,k1t=ZQ,b1t=rP,R1t=4,j1t=7,p1t=XQ,C1t=KQ,M1t=ge,H1t=C0,V1t={l:4194302,m:4193343,h:7},E1t=5,S1t=17,q1t=si,I1t=rr,x1t=7,N1t=32,O1t=I1,G1t=46,J1t=v2,z1t=128,Y1t=I0,K1t=Sn,X1t=xp,Z1t=256,W1t=T8,_1t=s8,$1t=Np,a1t=512,t0t=l8,e0t=Q0,A0t=16,n0t=Op,P0t=re,r0t=h8,i0t=32,f0t=aQ,D0t=qA,u0t=64,Q0t=4,U0t=8,o0t=Tn,L0t=nU,s0t=134217728,y0t=3,l0t=14,T0t=Li,h0t=L8,c0t=ir,w0t=fr,g0t=Dr,d0t=ur,B0t=Qr,v0t=pf,F0t=120,m0t=4,k0t=3,b0t=2,R0t=c8,j0t=lU,p0t=c8,C0t=cn,M0t=30,H0t=C6,V0t=f9,E0t=3,S0t=22,q0t=m6,I0t=2,x0t=44,N0t=48,O0t=32,G0t=0,J0t=16,z0t=4,Y0t=48,uE,K0t=1,X0t=0,Z0t=3,W0t=2,_0t=1,$0t=0,a0t=3,tet=2,eet=oi,Aet=AU,net=2,Pet=21,ret=qA,iet=31,fet=5,Det=0,uet=y8,Qet=8,Uet=7680,oet=4,Let=9,set=9,yet=wy,Tet=4,het=13,cet=8,wet=8388480,get=2,det=Ef,Bet=h8,vet=16,Fet=6291840,met=23,ket=fP,bet=128,Ret=32,jet=64,pet=96,Cet=2,Met=5,Het=256,Vet=SP,Eet=3,qet=17,Iet=384,xet=2,Net=7,Oet=6291967,Get=1,Jet=4,zet=386,Yet=512,Ket=8,Xet=2,Zet=129,Wet=511,_et=127,$et=384,aet=16,tAt=32,eAt=64,AAt=1,nAt=4,PAt=257,rAt=458752,iAt=yi,fAt=w1,DAt=T8,uAt=I0,QAt=Q0,UAt=ly,oAt=0,LAt=327680,QE,sAt=24,yAt=321,lAt=6,TAt=5,hAt=32,cAt=0,wAt=1,gAt=2,dAt=255,BAt=16,vAt=128,FAt=1,mAt=8,kAt=4,bAt=2,RAt=32,jAt=64,pAt=248,CAt=31,MAt=1,HAt=0,VAt=15,EAt=7,SAt=3,qAt=63,IAt=95,xAt=190,NAt=16,OAt=0,GAt=1,JAt=16,zAt=256,YAt=128,KAt=8,XAt=32,ZAt=4,WAt=511,_At=64,$At=1,aAt=2,UE,oE,W4=H(42);M(419,279,{},p7),$n(o,{acceptorCount:{get:function(){return GO(this);}}}),$n(o,{donorCount:{get:function(){return kG(this);}}}),$n(o,{logP:{get:function(){return YJ(this);}}}),$n(o,{logPString:{get:function(){return fQ(S$((new Lh(),this.a)));}}}),$n(o,{logS:{get:function(){return vK((Q6(),this.a));}}}),$n(o,{logSString:{get:function(){return fQ(p_((Q6(),this.a)));}}}),$n(o,{polarSurfaceArea:{get:function(){return FO((e6(),this.a));}}}),$n(o,{polarSurfaceAreaString:{get:function(){return fQ(KX((e6(),this.a)));}}}),$n(o,{rotatableBondCount:{get:function(){return hR(this.a);}}}),$n(o,{stereoCenterCount:{get:function(){return oF(this.a);}}});H(419);M(67,1,{},_P,Cd),o.addCatalyst=function(e){al(this.a,e.a);},o.addCatalystAt=function(e,A){dq(this.a,e.a,A);},o.addProduct=function(e){S7(this.a,e.a);},o.addProductAt=function(e,A){iI(this.a,e.a,A);},o.addReactant=function(e){q7(this.a,e.a);},o.addReactantAt=function(e,A){fI(this.a,e.a,A);},o.clear=function(){nv(this.a);},o.clone=function(){return new _P(new Vs(this.a));},o.getAverageBondLength=function(){return fb(this.a);},o.getCatalyst=function(e){return new CA(Oq(this.a,e));},o.getCatalysts=function(){return this.a.a.a.length;},o.getHighestMapNo=function(){return ms(this.a);},o.getMergedCopy=function(){return new _P(WK(this.a));},o.getMolecule=function(e){return new CA(Pv(this.a,e));},o.getMolecules=function(){return ex(this.a);},o.getName=function(){return oI(this.a);},o.getProduct=function(e){return new CA(w3(this.a,e));},o.getProducts=function(){return this.a.f.a.length;},o.getReactant=function(e){return new CA(dr(this.a,e));},o.getReactants=function(){return this.a.g.a.length;},o.getReactionCenterMapNos=function(){return ia(this.a);},o.isEmpty=function(){return AX(this.a);},o.isFragment=function(){return Sq(this.a);},o.isPerfectlyMapped=function(){return k$(this.a);},o.isReactionLayoutRequired=function(){return U_(this.a);},o.removeCatalysts=function(){mi(this.a.a.a,0);},o.setFragment=function(e){yz(this.a,e);},o.setName=function(e){IS(this.a,e);},o.toRxn=function(e){var A;return A=new IR(this.a,e),A.a?A.a.a:null;},o.toRxnV3=function(e){var A;return A=new rj(this.a,e),A.a?A.a.a:null;},o.toSmiles=function(){return AZ(this.a);},o.validateMapping=function(){l$(this.a);};H(67);M(420,1,{},ac);var tnt="+",ent=15,Ant=8,nnt=2,Pnt=3,rnt=4,int=1,fnt=0,Dnt=" ",unt="#",Qnt="!",Unt=16;H(420);M(421,1,{},I7),o.getProducts=function(){var e,A,n,P;if(P=VJ(this.a),P.length==0)return R1(W4,[nA,L4],[172,42],0,[0,0],2);for(n=R1(W4,[nA,L4],[172,42],0,[P.length,P[0].length],2),e=0;e<P.length;e++)for(A=0;A<P[0].length;A++)n[e][A]=new CA(P[e][A]);return n;},o.setReactant=function(e,A){return ZW(this.a,e,A.a);};H(421);M(422,1,{},_2);var pU=false;H(422);M(261,1,{},Sw),o.determineAromaticity=function(e,A,n,P){Zs(this.a,e,A,n,P);},o.getAtomIndex=function(e,A){return rF(this.a,e,A);},o.getAtomRingSize=function(e){return iA(this.a,e);},o.getBondIndex=function(e,A){return _O(this.a,e,A);},o.getBondRingSize=function(e){return yP(this.a,e);},o.getHeteroPosition=function(e){return cq(this.a,e);},o.getRingAtoms=function(e){return h3(this.a,e);},o.getRingBonds=function(e){return V7(this.a,e);},o.getRingSize=function(e){return N3(this.a,e);},o.getSharedRing=function(e,A){return KL(this.a,e,A);},o.getSize=function(){return this.a.j.a.length;},o.isAromatic=function(e){return u3(this.a,e);},o.isAtomMember=function(e,A){return yA(this.a,e,A);},o.isBondMember=function(e,A){return Af(this.a,e,A);},o.isDelocalized=function(e){return wq(this.a,e);},o.qualifiesAsAmideTypeBond=function(e){return ps(this.a,e);},o.validateMemberIndex=function(e,A){return WT(this.a,e,A);};var ont=7,Lnt=3,snt=7,ynt=5,lnt=1;H(261);M(423,1,{},ld),o.getField=function(e){var A,n;for(n=fx(this.a),A=0;A<n.length;A++)if(A1(n[A],e))return iB(this.a,A);return null;},o.getFieldData=function(e){return iB(this.a,e);},o.getFieldNames=function(e){return aI(this.a,e);},o.getMolecule=function(){return new CA(NY(this.a));},o.getNextFieldData=function(){var e;return e=this.a.b.a,e;},o.getNextMolFile=function(){var e;return e=this.a.g.a,e;},o.next=function(){return F$(this.a);};H(423);M(425,1,{},AB),o.findFragmentInMolecule=function(e){var A;return A=DX(e),sn(this.b,A,this.a);},o.getMatchList=function(){return QJ(this.b.F);},o.isFragmentInMolecule=function(){return Ag(this.b);},o.setFragment=function(e){Ln(this.b,e.a);},o.setMol=function(e,A){Dn(this.b,A.a),Ln(this.b,e.a);},o.setMolecule=function(e){Dn(this.b,e.a);},o.a=0;H(425);M(426,1,{},t7),o.createIndex=function(e){return Ts(this.a,e.a);},o.isFragmentInMolecule=function(){return jK(this.a);},o.setFragment=function(e,A){LN(this.a,e.a,A);},o.setMolecule=function(e,A){sN(this.a,e.a,A);};H(426);M(427,1,{},Ww),o.getSmartsWarning=function(){return wN(this.a);},o.xc=function(e,A,n,P,r,i){var f;switch(f=0,e){case "smarts":f=2;break;case "guess":f=1;}n&&(f|=8),A&&(f|=4),P&&(f|=16),r&&(f|=32),i&&(f|=64),this.a=new LQ(f);},o.yc=function(e,A,n,P){var r;return kd(this.a,e.a,KA((r=A,JD(),r)),n,P),e;},o.parseMolecule=function(e,A){A=A||{};var n=A.molecule||new Y3(),P=!A.noCoordinates,r=!A.noStereo;return this.yc(n,e,P,r);},o.parseReaction=function(e){return new _P(kN(this.a,e));},o.setRandomSeed=function(e){SS(this.a,e);};H(427);M(428,1,{},$7),o.assessRisk=function(e,A){var n;return cZ(e.a,(n=A,n));},o.getDetail=function(e,A){return fQ(u$(e.a,A));};var Tnt=3,hnt=2,LE,cnt=1,wnt=0,gnt=2,dnt=0,Bnt=3,vnt=1;H(428);M(429,1,{},zg),o.applyTransformation=function(e,A){SG(this.a,e.a,A);},o.setMolecule=function(e,A){return nX(this.a,e.a);};H(429);M(430,1,{},$c);H(430);M(260,153,{153:1},Pg),$n(o,{absoluteWeight:{get:function(){return BO(this);}}}),$n(o,{formula:{get:function(){return wJ(this);}}}),$n(o,{relativeWeight:{get:function(){return vO(this);}}});H(260);M(431,1,{},db),o.addPastedOrDropped=function(e,A,n){YR(this.a,e.a);},o.clearAll=function(){sb(this.a);},o.fireKeyEvent=function(e,A,n,P,r,i){var f;f=new QB(e,A,i,this.a),YT(this.d,f);},o.fireMouseEvent=function(e,A,n,P,r,i,f,D,Q){var U;U=new ch(e,A,n,P,r,i,f,D,Q,this.a),YT(this.e,U);},o.getGenericEditorArea=function(){return this.a;},o.zc=function(){return this.c;},o.getMode=function(){return this.a.U;},o.getMolecule=function(){return new CA(this.a.V);},o.getReaction=function(){return new _P(dh(this.a));},o.moleculeChanged=function(){ZN(this.a);},o.repaint=function(){n1(this);},o.setMolecule=function(e){dJ(this.a,e.a);},o.setReaction=function(e){ER(this.a,e.a);},o.toolChanged=function(e){au(this.a,e);},o.b=false;var Fnt=4,mnt=8,knt=1,bnt=2,sE,yE,lE,TE,Rnt=-2,jnt=-5,pnt=-1,Cnt=-4,Mnt=-8,Hnt=-7,Vnt=1,Ent=2,Snt=-6,qnt=-3,Int=8,xnt=2,Nnt=1,Ont=4,Gnt=3,Jnt=7,znt=4,Ynt=5,Knt=6,Xnt=1,Znt=2,Wnt=-1,_nt=-2,$nt=0,ant=1,tPt=4,ePt=2,APt=3,nPt=10,PPt=5,rPt=6,iPt=13,fPt=11,DPt=7,uPt=8,QPt=12,UPt=9;H(431);M(288,1,If,Vw),o.mc=function(e){Vx(this.a,e.j,e.a);};H(288);M(291,1,{262:1},Ew),o.oc=function(){$I(this.a);};H(291);M(433,1,{},Rm),o.fireMouseEvent=function(e,A,n,P,r,i,f,D,Q){var U;U=new ch(e,A,n,P,r,i,f,D,Q,this.b),YT(this.d,U);},o.getHeight=function(){return this.b.e;},o.Ac=function(){return this.c;},o.getWidth=function(){return this.b.o;},o.setDimensions=function(e,A){cB(this,e,A);},o.a=false;H(433);M(306,1,{262:1},qw),o.oc=function(){PF(this.a);};H(306);M(432,1,{},gB),o.build16x16CursorImage=function(e){var A;return A=Uv(this,16,16),EK(A,e),A.a;},o.createDialog=function(e,A){return ED(this,e,A);},o.createImage=function(e,A){return Uv(this,e,A);},o.createNativeDialog=function(e){return eB(this,e);},o.createPopupMenu=function(e){return null;},o.Bc=function(){return this.a;},o.grabFocus=function(){Md(this);},o.openChemistryFile=function(e){return null;},o.runLater=function(e){sL(this,e);},o.Cc=function(e){e.oc();},o.setCursor=function(e){Yd(this,e);},o.setEditorArea=function(e){},o.showHelpDialog=function(e,A){hT(this,e,A);},o.showMessage=function(e){};H(432);M(171,1,{}),o.Dc=function(e,A){QO(this,new Vo(this,e,A));},o.Ec=function(){return this.b;};H(171);M(454,171,{},y7);H(454);M(290,1,{},Iw),o.Fc=function(){return this.a;};H(290);M(455,171,{},l7);H(455);M(292,1,{},xw),o.Gc=function(){this.a&&this.a.mc(new Vo(this,1,0));},o.Hc=function(){this.a&&this.a.mc(new Vo(this,0,0));},o.Ic=function(){return this.b;};H(292);M(157,1,{},a2),o.Jc=function(){return this.a;};H(157);M(219,1,{},WU),o.pc=function(){var e=this.Kc();return e;},o.Kc=function(){return this.a;};H(219);M(289,221,{},aw);H(289);M(453,171,{},T7);H(453);M(218,221,{},e3);H(218);M(139,1,{},rD),o.getSize=function(){return this.a.a;},o.getX=function(e){return U7(this.a,e);},o.getY=function(e){return o7(this.a,e);};H(139);M(456,171,{},h7);H(456);M(212,1,{},xl);H(212);var _4=null;M(257,1,Rf,Il),o.Rb=function(e,A){return cs(e,A);},o.mb=function(e){return this===e;};H(257);var xA,wi;M(131,1,Rf,AD),o.Rb=function(e,A){return hs(e,A);},o.mb=function(e){return this===e;};H(131);M(92,1,{},pi,M3);H(92);M(382,92,Rf,Kg);H(382);M(344,129,yn);H(344);M(163,344,{163:1,4:1,19:1,33:1,27:1},qB),o.ic=function(){return AK(this),this.c;},o.Lc=function(){return J1(this.b)===J1($4)?null:this.b;};var $4;H(163);M(409,1,{});H(409);var CU=0,hE=0,MU=-1;M(396,409,{},tw);var a4;H(396);var In,tc,cE,ec,Ac;M(57,1,{},BP,jL),o.a=0;H(57);M(239,1,{},eT),o.b=0;var wE=null,gE;H(239);M(160,1,{160:1}),o.mb=function(e){return aF(this,e);},o.ob=function(){var e;return e=this.Mc()+this.Nc(),vt(e)*37;};H(160);M(168,160,{168:1,160:1},M7),o.mb=function(e){var A;return Zt(e,168)?(A=e,this.a==A.a&&this.b==A.b):aF(this,e);},o.Mc=function(){return this.a;},o.Nc=function(){return this.b;},o.a=0,o.b=0;H(168);M(159,160,{160:1,159:1,4:1},Pw,ig),o.Mc=function(){return this.a;},o.Nc=function(){return this.b;},o.a=0,o.b=0;var oPt=H(159);M(451,1,{});H(451);M(248,451,{248:1}),o.mb=function(e){var A;return e===this?true:Zt(e,169)?(A=e,this.c==A.c&&this.d==A.d&&this.b==A.b&&this.a==A.a):false;},o.ob=function(){var e;return e=ss(this.c),e=O1(e,Un(ss(this.d),37)),e=O1(e,Un(ss(this.b),43)),e=O1(e,Un(ss(this.a),47)),zt(e)^zt(q0(e,32));};H(248);M(169,248,{248:1,169:1},iT),o.a=0,o.b=0,o.c=0,o.d=0;H(169);M(447,1,{}),o.Oc=function(){var e;return e=h(l9,a0,6,1,15,1),this.Pc(e)==-1?-1:e[0];},o.Pc=function(e){return this.Qc(e,0,e.length);};H(447);M(53,447,{},nn),o.Oc=function(){return bL(this);},o.Qc=function(e,A,n){return this.b.Qc(e,A,n);},o.a=0;H(53);M(412,1,{});H(412);M(411,412,{});H(411);M(446,1,{});H(446);M(103,447,{},Fi),o.Oc=function(){return Xx(this.a);},o.Pc=function(e){return NF(this,e,0,e.length);},o.Qc=function(e,A,n){return NF(this,e,A,n);};H(103);M(265,411,{},rw);H(265);M(86,447,{},b9),o.Oc=function(){return this.a==this.b.length?-1:Yi(this.b,this.a++);},o.Qc=function(e,A,n){var P;return this.a>=this.b.length?-1:(P=w.Math.min(this.b.length-this.a,n),iO(this.b,this.a,this.a+P,e,A),this.a+=P,P);},o.a=0;H(86);M(448,1,{});H(448);M(238,448,{},f3),o.pb=function(){return this.a.a;};H(238);M(130,1,{206:1}),o.pb=function(){return this.a;};H(130);M(82,33,yn,p8);H(82);M(255,79,yn,f7,m7);H(255);M(141,1,{4:1,141:1,32:1},zl),o.Sb=function(e){return this.a-e.a;},o.mb=function(e){return Zt(e,141)&&e.a==this.a;},o.ob=function(){return this.a;},o.pb=function(){return String.fromCharCode(this.a);},o.a=0;var LPt=H(141),nc;M(66,33,yn,P3,C8);H(66);M(164,33,yn,P7,ro);H(164);M(142,120,{4:1,32:1,142:1,120:1},Yl),o.Sb=function(e){return q3(this.a,e.a);},o.Xc=function(){return this.a;},o.mb=function(e){return Zt(e,142)&&e.a==this.a;},o.ob=function(){return this.a;},o.Yc=function(){return this.a;},o.pb=function(){return ""+this.a;},o.a=0;var sPt=H(142),Pc;M(143,120,{4:1,32:1,143:1,120:1},Kl),o.Sb=function(e){return Mx(this.a,e.a);},o.Xc=function(){return Jr(this.a);},o.mb=function(e){return Zt(e,143)&&P0(e.a,this.a);},o.ob=function(){return JI(this.a);},o.Yc=function(){return zt(this.a);},o.pb=function(){return ""+Te(this.a);},o.a=0;var yPt=H(143),rc;M(514,1,{}),M(397,33,yn,d7);H(397);M(40,66,{4:1,19:1,40:1,33:1,27:1},YP);H(40);M(115,1,{4:1,115:1},oT),o.mb=function(e){var A;return Zt(e,115)?(A=e,this.c==A.c&&this.d==A.d&&this.a==A.a&&this.b==A.b):false;},o.ob=function(){return fJ(B(d(uP,1),A0,1,5,[k1(this.c),this.a,this.d,this.b]));},o.pb=function(){return this.a+"."+this.d+"("+(this.b!=null?this.b:"Unknown Source")+(this.c>=0?":"+this.c:"")+")";},o.c=0;var dE=H(115);M(76,130,{206:1},TD,fu);H(76);M(25,130,{206:1},V0,k9,Fn);H(25);M(516,1,{});var gi;M(39,33,yn,dA,lD);H(39);M(31,120,{4:1,32:1,120:1,31:1},Me,a3,Zd,nf,Z7,pD),o.Sb=function(e){return qR(this,e);},o.Xc=function(){return Le(be(this));},o.mb=function(e){var A;return this===e?true:Zt(e,31)?(A=e,this.e==A.e&&qR(this,A)==0):false;},o.ob=function(){var e;return this.b!=0?this.b:this.a<54?(e=E1(this.f),this.b=zt(V(e,-1)),this.b=33*this.b+zt(V(q0(e,32),-1)),this.b=17*this.b+vt(this.e),this.b):(this.b=17*Pm(this.c)+vt(this.e),this.b);},o.Yc=function(){return this.e<=-32||this.e>(this.d>0?this.d:w.Math.floor((this.a-1)*hU)+1)?0:Nd(this.e==0||this.a==0&&this.f!=-1?(!this.c&&(this.c=kP(E1(this.f))),this.c):this.e<0?bP((!this.c&&(this.c=kP(E1(this.f))),this.c),ii(-this.e)):x5((!this.c&&(this.c=kP(E1(this.f))),this.c),ii(this.e)));},o.pb=function(){return be(this);},o.a=0,o.b=0,o.d=0,o.e=0,o.f=0;var BE,HU,ic,fc,di,dl,VU,Dc,vE=H(31);M(23,120,{4:1,32:1,120:1,23:1},mA,IB,Ue,Zm,jg),o.Sb=function(e){return rs(this,e);},o.Xc=function(){return Le(t6(this,0));},o.mb=function(e){return Th(this,e);},o.ob=function(){return Pm(this);},o.Yc=function(){return Nd(this);},o.pb=function(){return t6(this,0);},o.b=-2,o.c=0,o.d=0,o.e=0;var uc,N2,FE,EU,SU,y9,Bi=H(23),mE,kE;M(99,1,{4:1,99:1},Vd,XD),o.mb=function(e){return Zt(e,99)&&e.a==this.a&&e.b==this.b;},o.ob=function(){return this.a<<3|this.b.b;},o.pb=function(){return "precision="+this.a+" roundingMode="+this.b;},o.a=0;H(99);var yr,Wf,Qc;M(72,55,{4:1,32:1,55:1,72:1},j9);var bE,RE,jE,pE,se,Bl,CE,ME,lPt=E9(72,dO);M(114,1,ay),o.Sb=function(e){return PN(this.a,e.a);},o.mb=function(e){var A;return e===this?true:Zt(e,114)?(A=e,A1(this.a,A.a)):false;},o.ob=function(){return Qh(this.a);},o.pb=function(){return this.a;};H(114);M(450,1,{});H(450);M(124,450,{},Pu,y3),o.a=0;H(124);M(106,1,T4),o.getOrDefault=function(e,A){var n;return n=this.get(e),n==null&&!this.containsKey(e)?A:n;},o.putIfAbsent=function(e,A){var n;return n=this.get(e),n??this.put(e,A);},o.replace=function(e,A){return this.containsKey(e)?this.put(e,A):null;},o.clear=function(){this.$c().clear();},o.Zc=function(e){return dk(this,e);},o.containsKey=function(e){return !!Ch(this,e,false);},o.containsValue=function(e){var A,n,P;for(n=this.$c().Tb();n.ad();)if(A=n.bd(),P=A.ed(),J1(e)===J1(P)||e!=null&&VP(e,P))return  true;return  false;},o.mb=function(e){var A,n,P;if(e===this)return  true;if(!Zt(e,109)||(P=e,this.size()!=P.size()))return  false;for(n=P.$c().Tb();n.ad();)if(A=n.bd(),!this.Zc(A))return  false;return  true;},o.get=function(e){return XP(Ch(this,e,false));},o.ob=function(){return gF(this.$c());},o.isEmpty=function(){return this.size()==0;},o.keySet=function(){return new Xl(this);},o.put=function(e,A){throw At(new lD("Put not supported on this map"));},o.putAll=function(e){var A,n;for(U1(e),n=e.$c().Tb();n.ad();)A=n.bd(),this.put(A.dd(),A.ed());},o.remove=function(e){return XP(Ch(this,e,true));},o.size=function(){return this.$c().size();},o.pb=function(){var e,A,n;for(n=new dL(", ","{","}"),A=this.$c().Tb();A.ad();)e=A.bd(),Tv(n,jB(this,e.dd())+"="+jB(this,e.ed()));return n.a?n.e.length==0?n.a.a:n.a.a+(""+n.e):n.c;},o.values=function(){return new fD(this);};H(106);M(334,106,T4),o.clear=function(){Cu(this);},o.containsKey=function(e){return Mu(this,e);},o.containsValue=function(e){return jd(this,e);},o.$c=function(){return new iD(this);},o.get=function(e){return qr(this,e);},o.put=function(e,A){return Sr(this,e,A);},o.remove=function(e){return BL(this,e);},o.size=function(){return dD(this);},o.b=0;H(334);M(445,43,H2),o.Ub=function(){return new M8(this);},o.mb=function(e){var A;return e===this?true:!Zt(e,85)||(A=e,A.size()!=this.size())?false:AQ(this,A);},o.ob=function(){return gF(this);},o.removeAll=function(e){var A,n,P,r;if(U1(e),r=this.size(),r<e.size())for(A=this.Tb();A.ad();)n=A.bd(),e.contains(n)&&A.cd();else for(P=e.Tb();P.ad();)n=P.bd(),this.remove(n);return r!=this.size();};H(445);M(145,445,H2,iD),o.clear=function(){Cu(this.a);},o.contains=function(e){return mB(this,e);},o.Tb=function(){return new hF(this.a);},o.remove=function(e){var A;return mB(this,e)?(A=e.dd(),BL(this.a,A),true):false;},o.size=function(){return dD(this.a);};H(145);M(335,1,{},hF),o._c=function(e){Kn(this,e);},o.bd=function(){var e;return Bd(this.f.b,this.d),kD(this.b),this.c=this.a,e=this.a.bd(),this.b=ih(this),e;},o.ad=function(){return this.b;},o.cd=function(){ku(!!this.c),Bd(this.f.b,this.d),this.c.cd(),this.c=null,this.b=ih(this),this.d=this.f.b;},o.b=false,o.d=0;H(335);M(226,1,{},Wl),o._c=function(e){Kn(this,e);},o.ad=function(){return p9(this);},o.bd=function(){return WB(this);},o.cd=function(){QL(this);},o.a=0,o.b=-1;H(226);M(227,226,{},TT),o.cd=function(){QL(this);};H(227);M(133,94,bp,xD),o.addAtIndex=function(e,A){DL(e,this.b),this.c.addAtIndex(this.a+e,A),++this.b;},o.getAtIndex=function(e){return ve(e,this.b),this.c.getAtIndex(this.a+e);},o.removeAtIndex=function(e){var A;return ve(e,this.b),A=this.c.removeAtIndex(this.a+e),--this.b,A;},o.setAtIndex=function(e,A){return ve(e,this.b),this.c.setAtIndex(this.a+e,A);},o.size=function(){return this.b;},o.a=0,o.b=0;H(133);M(228,445,H2,Xl),o.clear=function(){this.a.clear();},o.contains=function(e){return this.a.containsKey(e);},o.Tb=function(){var e;return e=this.a.$c().Tb(),new Zl(e);},o.remove=function(e){return this.a.containsKey(e)?(this.a.remove(e),true):false;},o.size=function(){return this.a.size();};H(228);M(229,1,{},Zl),o._c=function(e){Kn(this,e);},o.ad=function(){return this.a.ad();},o.bd=function(){var e;return e=this.a.bd(),e.dd();},o.cd=function(){this.a.cd();};H(229);M(135,43,hy,fD),o.clear=function(){this.a.clear();},o.contains=function(e){return this.a.containsValue(e);},o.Tb=function(){var e;return e=this.a.$c().Tb(),new DD(e);},o.size=function(){return this.a.size();};H(135);M(136,1,{},DD),o._c=function(e){Kn(this,e);},o.ad=function(){return this.a.ad();},o.bd=function(){var e;return e=this.a.bd(),e.ed();},o.cd=function(){this.a.cd();};H(136);tx();M(161,1,{161:1,84:1}),o.mb=function(e){var A;return Zt(e,84)?(A=e,K8(this.c,A.dd())&&K8(this.d,A.ed())):false;},o.dd=function(){return this.c;},o.ed=function(){return this.d;},o.ob=function(){return Fo(this.c)^Fo(this.d);},o.fd=function(e){return hd(this,e);},o.pb=function(){return this.c+"="+this.d;};H(161);M(146,161,{161:1,146:1,84:1},ho);H(146);M(449,1,{84:1}),o.mb=function(e){var A;return Zt(e,84)?(A=e,K8(this.b.value[0],A.dd())&&K8(pL(this),A.ed())):false;},o.ob=function(){return Fo(this.b.value[0])^Fo(pL(this));},o.pb=function(){return this.b.value[0]+"="+pL(this);};H(449);M(233,106,{106:1,233:1,109:1,460:1,458:1}),o.Zc=function(e){return ov(this,e);},o.containsKey=function(e){return So(this,e);},o.$c=function(){return new _l(this);},o.get=function(e){return le(this,e);},o.keySet=function(){return new w9(this);};H(233);M(234,445,H2,_l),o.contains=function(e){return Zt(e,84)&&ov(this.b,e);},o.Tb=function(){return new N8(this.b);},o.remove=function(e){var A;return Zt(e,84)?(A=e,vv(this.b,A)):false;},o.size=function(){return this.b.c;};H(234);M(90,445,H2,w9),o.Ub=function(){return new l3(this);},o.clear=function(){bi(this.a);},o.contains=function(e){return So(this.a,e);},o.Tb=function(){var e;return e=new N8(new x8(this.a).b),new g9(e);},o.remove=function(e){return So(this.a,e)?(BT(this.a,e),true):false;},o.size=function(){return this.a.c;};H(90);M(91,1,{},g9),o._c=function(e){Kn(this,e);},o.ad=function(){return p9(this.a.a);},o.bd=function(){var e;return e=Br(this.a),e.dd();},o.cd=function(){dd(this.a);};H(91);M(452,43,hy),o.add=function(e){return aN(ls(this,e)),true;},o.addAll=function(e){return U1(e),Io(e!=this,"Can't add a queue to itself"),UF(this,e);},o.clear=function(){for(;XT(this)!=null;);};H(452);M(398,43,{5:1,36:1,43:1,38:1},Ng),o.add=function(e){return uL(this,e),true;},o.clear=function(){this.b!=this.c&&(this.a=h(uP,A0,1,8,5,1),this.b=0,this.c=0);},o.contains=function(e){return bF(new ao(this),e);},o.isEmpty=function(){return v7(this);},o.Tb=function(){return new ao(this);},o.remove=function(e){return UN(new ao(this),e);},o.size=function(){return this.c-this.b&this.a.length-1;},o.Ub=function(){return new M8(this);},o.Wb=function(e){var A;return A=this.c-this.b&this.a.length-1,e.length<A&&(e=uu(new Array(A),e)),tF(this,e,A),e.length>A&&(e[A]=null),e;},o.b=0,o.c=0;H(398);M(198,1,{},ao),o._c=function(e){Kn(this,e);},o.ad=function(){return this.a!=this.b;},o.bd=function(){return nm(this);},o.cd=function(){eF(this);},o.a=0,o.b=0,o.c=-1;H(198);M(21,1,{},Wt),o._c=function(e){Kn(this,e);},o.ad=function(){return this.a<this.c.a.length;},o.bd=function(){return t1(this);},o.cd=function(){ku(this.b!=-1),LA(this.c,this.a=this.b),this.b=-1;},o.a=0,o.b=-1;H(21);M(269,w.Function,{},vi),o.gd=function(e,A){return $8(e,A);},M(466,w.Function,{},Nl),o.hd=function(e,A){return G(e,A)<0?-1:G(e,A)>0?1:0;},M(179,94,{4:1,36:1,43:1,94:1,38:1,83:1,126:1},Po),o.contains=function(e){return wF(this,e)!=-1;},o.getAtIndex=function(e){return ve(e,this.a.length),this.a[e];},o.setAtIndex=function(e,A){var n;return n=(ve(e,this.a.length),this.a[e]),this.a[e]=A,n;},o.size=function(){return this.a.length;},o.toArray=function(){return Ym(this,h(uP,A0,1,this.a.length,5,1));},o.Wb=function(e){return Ym(this,e);};H(179);M(47,w.Function,{},u0),o.gd=function(e,A){return e-A;},M(181,1,{181:1},Zg),o.mb=function(e){var A,n,P;if(this===e)return  true;if(!Zt(e,181)||(P=e,n=yL(this.a),n!=yL(P.a)))return  false;for(A=0;A<=n;A++)if((this.a[A]|0)!=(P.a[A]|0))return  false;return  true;},o.ob=function(){var e,A,n,P;for(n=yL(this.a),e=-2128831035^n,A=0;A<=n;A++)P=this.a[A]|0,e=e*tl&-1^P&255,e=e*tl&-1^P>>>8&255,e=e*tl&-1^P>>>16&255,e=e*tl&-1^P>>>24;return e;},o.pb=function(){var e,A;if(OO(this)==0)return "{}";for(A=new Fn("{"),e=gk(this,0),A.a+=e;(e=gk(this,e+1))!=-1;)A.a+=", ",A.a+=e;return A.a+="}",A.a;};H(181);M(186,1,{36:1,38:1},_U),o.Ub=function(){return new M8(this);},o.Vb=function(){return new o3(this.Ub());},o.add=function(e){throw At(new dA());},o.addAll=function(e){throw At(new dA());},o.clear=function(){throw At(new dA());},o.contains=function(e){return this.b.contains(e);},o.containsAll=function(e){return this.b.containsAll(e);},o.isEmpty=function(){return this.b.isEmpty();},o.Tb=function(){return new Gw(this.b.Tb());},o.remove=function(e){throw At(new dA());},o.removeAll=function(e){throw At(new dA());},o.retainAll=function(e){throw At(new dA());},o.size=function(){return this.b.size();},o.toArray=function(){return this.b.toArray();},o.pb=function(){return $D(this.b);};H(186);M(342,1,{},Gw),o._c=function(e){Kn(this,e);},o.ad=function(){return this.a.ad();},o.bd=function(){return this.a.bd();},o.cd=function(){Kq();};H(342);M(187,186,{36:1,38:1,83:1},Co),o.Ub=function(){return new M8(this);},o.addAtIndex=function(e,A){throw At(new dA());},o.addAllAtIndex=function(e,A){throw At(new dA());},o.mb=function(e){return VP(this.a,e);},o.getAtIndex=function(e){return this.a.getAtIndex(e);},o.ob=function(){return a8(this.a);},o.indexOf=function(e){return this.a.indexOf(e);},o.isEmpty=function(){return this.a.isEmpty();},o.lastIndexOf=function(e){return this.a.lastIndexOf(e);},o.removeAtIndex=function(e){throw At(new dA());},o.setAtIndex=function(e,A){throw At(new dA());},o.subList=function(e,A){return new Co(this.a.subList(e,A));};H(187);M(339,1,{109:1},zw),o.getOrDefault=function(e,A){var n;return n=this.c.get(e),n==null&&!this.c.containsKey(e)?A:n;},o.putIfAbsent=function(e,A){var n;return n=this.c.get(e),n??B3();},o.replace=function(e,A){return this.c.containsKey(e)?B3():null;},o.clear=function(){throw At(new dA());},o.containsKey=function(e){return this.c.containsKey(e);},o.containsValue=function(e){return this.c.containsValue(e);},o.$c=function(){return !this.a&&(this.a=new b7(this.c.$c())),this.a;},o.mb=function(e){return VP(this.c,e);},o.get=function(e){return this.c.get(e);},o.ob=function(){return a8(this.c);},o.isEmpty=function(){return this.c.isEmpty();},o.keySet=function(){return !this.b&&(this.b=new io(this.c.keySet())),this.b;},o.put=function(e,A){return B3();},o.putAll=function(e){throw At(new dA());},o.remove=function(e){throw At(new dA());},o.size=function(){return this.c.size();},o.pb=function(){return $D(this.c);},o.values=function(){return !this.d&&(this.d=new _U(this.c.values())),this.d;};H(339);M(188,186,BV,io),o.Ub=function(){return new M8(this);},o.mb=function(e){return VP(this.b,e);},o.ob=function(){return a8(this.b);};H(188);M(340,188,BV,b7),o.contains=function(e){return this.b.contains(e);},o.containsAll=function(e){return this.b.containsAll(e);},o.Tb=function(){var e;return e=this.b.Tb(),new Jw(e);},o.toArray=function(){var e;return e=this.b.toArray(),AN(e,e.length),e;};H(340);M(343,1,{},Jw),o._c=function(e){Kn(this,e);},o.bd=function(){return new $l(this.a.bd());},o.ad=function(){return this.a.ad();},o.cd=function(){throw At(new dA());};H(343);M(230,1,{84:1},$l),o.mb=function(e){return this.a.mb(e);},o.dd=function(){return this.a.dd();},o.ed=function(){return this.a.ed();},o.ob=function(){return this.a.ob();},o.fd=function(e){throw At(new dA());},o.pb=function(){return $D(this.a);};H(230);M(341,187,{36:1,38:1,83:1,126:1},k7);H(341);M(263,1,Rf,ew),o.Rb=function(e,A){return $8(e.b,A.b);},o.mb=function(e){return this===e;};H(263);var vl;M(373,1,Rf,Aw),o.Rb=function(e,A){return U1(e),Qm(e,(U1(A),A));},o.mb=function(e){return this===e;};H(373);M(258,33,yn,r3);H(258);M(65,334,{4:1,5:1,106:1,109:1},LP);H(65);M(122,445,{4:1,5:1,36:1,43:1,38:1,122:1,85:1},QD),o.add=function(e){return aP(this,e);},o.clear=function(){Cu(this.a);},o.contains=function(e){return Mu(this.a,e);},o.isEmpty=function(){return dD(this.a)==0;},o.Tb=function(){var e;return e=new Xl(this.a).a.$c().Tb(),new Zl(e);},o.remove=function(e){return BL(this.a,e)!=null;},o.size=function(){return dD(this.a);};H(122);M(376,1,{36:1},Ud),o.Tb=function(){return new OT(this);},o.c=0;H(376);M(245,1,{},OT),o._c=function(e){Kn(this,e);},o.bd=function(){return this.d=this.a[this.c++],this.d;},o.ad=function(){var e;return this.c<this.a.length?true:(e=this.b.next(),e.done?false:(this.a=e.value[1],this.c=0,true));},o.cd=function(){i5(this.e,this.d.dd()),this.c!=0&&--this.c;},o.c=0,o.d=null;H(245);M(374,1,{36:1},od),o.Tb=function(){return new ST(this);},o.c=0,o.d=0;H(374);M(244,1,{},ST),o._c=function(e){Kn(this,e);},o.bd=function(){return this.c=this.a,this.a=this.b.next(),new gd(this.d,this.c,this.d.d);},o.ad=function(){return !this.a.done;},o.cd=function(){pF(this.d,this.c.value[0]);};H(244);M(375,449,{84:1},gd),o.dd=function(){return this.b.value[0];},o.ed=function(){return pL(this);},o.fd=function(e){return sm(this.a,this.b.value[0],e);},o.c=0;H(375);M(310,1,{},iw),o.jd=function(e){return fd(this,e);},o.kd=function(e){return e.dd();};H(310);M(311,1,{},fw),o.jd=function(e){return Dd(this,e);},o.kd=function(e){return e.ed();};H(311);M(405,33,yn,r7);H(405);M(147,452,hy,W7,R7),o.addAll=function(e){var A,n,P;for(U1(e),Wg(e!=this),P=this.b.a.length,n=e.Tb();n.ad();)A=n.bd(),mt(this.b,U1(A));return P!=this.b.a.length?(PQ(this,0),true):false;},o.clear=function(){mi(this.b.a,0);},o.contains=function(e){return (e==null?-1:x9(this.b,e,0))!=-1;},o.Tb=function(){return new Yw(this);},o.remove=function(e){var A;return A=e==null?-1:x9(this.b,e,0),A<0?false:($T(this,A),true);},o.removeAll=function(e){return ts(this.b,e)?(PQ(this,0),true):false;},o.retainAll=function(e){return Am(this.b,e)?(PQ(this,0),true):false;},o.size=function(){return this.b.a.length;},o.Ub=function(){return new M8(this);},o.toArray=function(){return tT(this.b.a);},o.Wb=function(e){return ff(this.b,e);};H(147);M(395,1,{},Yw),o._c=function(e){Kn(this,e);},o.ad=function(){return this.a<this.c.b.a.length;},o.bd=function(){return kD(this.a<this.c.b.a.length),this.b=this.a++,N(this.c.b,this.b);},o.cd=function(){ku(this.b!=-1),$T(this.c,this.a=this.b),this.b=-1;},o.a=0,o.b=-1;H(395);M(59,1,{},aD,zr),o.a=0,o.b=0;var Uc,oc,TPt=0;H(59);M(60,1,{},M8);H(60);M(189,60,{},l3);H(189);M(152,1,{},Sg,dL),o.pb=function(){return this.a?this.e.length==0?this.a.a:this.a.a+(""+this.e):this.c;};H(152);M(44,233,{4:1,5:1,106:1,233:1,109:1,460:1,458:1,44:1},lP,Ji),o.clear=function(){bi(this);},o.$c=function(){return new x8(this);},o.put=function(e,A){return ze(this,e,A);},o.remove=function(e){return BT(this,e);},o.size=function(){return this.c;},o.c=0;var HE=H(44);M(71,1,{},N8),o._c=function(e){Kn(this,e);},o.bd=function(){return Br(this);},o.ad=function(){return p9(this.a);},o.cd=function(){dd(this);};H(71);M(77,234,H2,x8),o.clear=function(){bi(this.a);};H(77);M(123,146,{161:1,146:1,84:1,123:1},RL),o.b=false;var hPt=H(123);M(191,1,{},XU),o.pb=function(){return "State: mv="+this.c+" value="+this.d+" done="+this.a+" found="+this.b;},o.a=false,o.b=false,o.c=false;H(191);M(80,55,Al,lu),o.ld=function(){return  false;},o.md=function(){return  false;};var Lc,VE,EE,SE,cPt=E9(80,SN);M(354,80,Al,Cg),o.md=function(){return  true;};E9(354,null);M(355,80,Al,qg),o.ld=function(){return  true;},o.md=function(){return  true;};E9(355,null);M(356,80,Al,Mg),o.ld=function(){return  true;};E9(356,null);M(134,445,{4:1,5:1,36:1,43:1,38:1,85:1},D3,uo),o.Ub=function(){return new l3(this);},o.add=function(e){return zi(this,e);},o.clear=function(){bi(this.a);},o.contains=function(e){return lo(this,e);},o.Tb=function(){var e;return e=new N8(new x8(new w9(this.a).a).b),new g9(e);},o.remove=function(e){return BT(this.a,e)!=null;},o.size=function(){return this.a.c;};H(134);M(367,94,{4:1,5:1,36:1,43:1,94:1,38:1,83:1,126:1},A7),o.addAtIndex=function(e,A){pu(e,this.a.a.length+1),t8(this.a,e,A);},o.add=function(e){return a7(this,e);},o.addAllAtIndex=function(e,A){return pu(e,this.a.a.length+1),im(this.a,e,A);},o.addAll=function(e){return jP(this.a,e);},o.clear=function(){mi(this.a.a,0);},o.contains=function(e){return x9(this.a,e,0)!=-1;},o.containsAll=function(e){return AQ(this.a,e);},o.getAtIndex=function(e){return pu(e,this.a.a.length),N(this.a,e);},o.indexOf=function(e){return x9(this.a,e,0);},o.isEmpty=function(){return this.a.a.length==0;},o.Tb=function(){return new Wt(this.a);},o.lastIndexOf=function(e){return id(this.a,e);},o.removeAtIndex=function(e){return pu(e,this.a.a.length),LA(this.a,e);},o.removeAll=function(e){return ts(this.a,e);},o.Xb=function(e,A){JB(this.a,e,A);},o.setAtIndex=function(e,A){return pu(e,this.a.a.length),q9(this.a,e,A);},o.size=function(){return this.a.a.length;},o.subList=function(e,A){return new xD(this.a,e,A);},o.toArray=function(){return tT(this.a.a);},o.Wb=function(e){return tg(this,e);},o.pb=function(){return zk(this.a);};H(367);M(350,106,T4),o.containsKey=function(e){return kT(this,e);},o.containsValue=function(e){if(e==null)throw At(new d9());return jd(this.e,e);},o.$c=function(){return new iD(this.e);},o.get=function(e){return YB(this,e);},o.put=function(e,A){return Hv(this,e,A);},o.putIfAbsent=function(e,A){return kT(this,e)?this.get(e):this.put(e,A);},o.remove=function(e){if(e==null)throw At(new d9());return BL(this.e,e);},o.replace=function(e,A){if(A==null)throw At(new d9());return kT(this,e)?this.put(e,A):null;};H(350);M(264,1,{},Dw),o.jd=function(e){return U1(e),new TP(this,e);},o.kd=function(e){return e;};H(264);M(61,1,{},TP),o.jd=function(e){return U1(e),new TP(this,e);},o.kd=function(e){return O3(this.a,this.b,e);};H(61);M(95,55,{4:1,32:1,55:1,95:1},To);var qE,qU,sc,Fl=E9(95,dN);M(166,1,{},Su);H(166);M(314,1,{},uw),o.nd=function(e,A){e.add(A);};H(314);M(316,1,{},Qw),o.pc=function(){return new f1();};H(316);M(317,1,{},Uw),o.jd=function(e){return U1(e),new TP(this,e);},o.kd=function(e){return Wo(e);};H(317);M(318,1,{},ow),o.jd=function(e){return U1(e),new TP(this,e);},o.kd=function(e){return Zt(e,126)?new k7(e):new Co(e);};H(318);M(319,1,{},Lw),o.pc=function(){return new LP();};H(319);M(320,1,{},sw),o.jd=function(e){return U1(e),new TP(this,e);},o.kd=function(e){return new zw(e);};H(320);M(224,1,{},Ol),o.jd=function(e){return U1(e),new TP(this,e);},o.kd=function(e){return Wo(e);};H(224);M(323,1,{},yw),o.pc=function(){return new QD();};H(323);M(324,1,{},lw),o.nd=function(e,A){aP(e,A);};H(324);M(327,1,{},Tw),o.jd=function(e){return U1(e),new TP(this,e);},o.kd=function(e){return Wo(e);};H(327);M(328,1,{},hw),o.jd=function(e){return U1(e),new TP(this,e);},o.kd=function(e){return new io(e);};H(328);M(313,1,{},fg),o.nd=function(e,A){vI(this.a,this.b,e,A);};H(313);M(315,1,{},cw);H(315);M(321,1,{},Rd),o.nd=function(e,A){pY(this.a,this.c,this.b,e,A);},o.b=false;H(321);M(322,1,{},ww);H(322);M(325,1,{},gw);H(325);M(326,1,{},dw),o.jd=function(e){return U1(e),new TP(this,e);},o.kd=function(e){return e;};H(326);M(345,1,{}),o.b=false;H(345);M(190,345,{},o3);H(190);M(346,1,{},Bw);H(346);M(347,1,{},Kw);H(347);M(348,1,{},Dg);H(348);M(222,114,ay);H(222);M(223,222,ay,T3);H(223);M(312,222,ay,mg);H(312);M(337,446,{},Og),o.a=0,o.b=0;var IE=null;H(337);M(211,63,{63:1,32:1,211:1},Tj),o.b=0;H(211);M(249,1,{249:1},nd);H(249);M(209,1,{},pg),o.a=0,o.d=0,o.i=false,o.j=false,o.o=0,o.p=0,o.v=0,o.w=0,o.C=false;H(209);M(271,1,{},mw),o.Rb=function(e,A){return q3(A.o.length,e.o.length);},o.mb=function(e){return this===e;};H(271);M(272,1,{},D7);H(272);M(177,1,{177:1},Nv);var wPt=H(177);M(351,350,{4:1,106:1,109:1},Pd),o.get=function(e){return ZB(this,e);},o.put=function(e,A){return $B(this,e,A);},o.clear=function(){Cu(new iD(this.e).a);},o.a=0,o.b=0,o.c=0,o.d=0;var IU;H(351);M(232,1,{32:1,232:1},Qg),o.Sb=function(e){return $x(this,e);},o.b=0;H(232);M(270,1,{},Hd),o.b=false,o.c=0,o.d=0;H(270);M(176,1,{176:1},gj),o.a=0,o.b=false,o.i=0,o.j=0,o.n=0;var xE,NE,OE,gPt=H(176);M(165,1,{32:1,165:1},uB),o.Sb=function(e){return YF(this,e);},o.mb=function(e){return YF(this,e)==0;},o.pb=function(){var e,A,n,P,r,i,f,D;for(D=new V0(),n=this.i,r=0,f=n.length;r<f;++r)e=n[r],D.a+=e,D.a+=",";for(this.i.length!=0&&un(D,D.a.length-1),D.a+=";",A=this.d,P=0,i=A.length;P<i;++P)e=A[P],D.a+=e,D.a+=",";return this.d.length!=0&&un(D,D.a.length-1),D.a;},o.b=0,o.e=0,o.g=false;var GE=H(165);M(252,1,{252:1},fm),o.a=0;H(252);M(381,1,{},tj),o.c=0;var yc;H(381);M(235,1,{}),o.g=0,o.n=0,o.s=0,o.t=0,o.u=0,o.C=0,o.G=false;H(235);M(352,1,{},Fw);H(352);M(117,235,{117:1},VL),o.od=function(e){return xQ(this);},o.b=false;H(117);M(210,117,{117:1},fT),o.od=function(e){var A,n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v;if(!e)return this.a?OD(this,h(F,k,6,this.w.length,15,1),h(F,k,6,this.v.length,15,1)):xQ(this);if(e.b==0)return xQ(this);for(P=pK(this,e),n=e.i,A=e.d,L=h(rt,ft,6,P.length,16,1),i=0;i<64;i++){for((L[0]||this.w[0].d.length==1)&&(P[0]=0),U=1,D=1;D<this.w.length;D++)L[U]||this.w[D].d.length==1?P[U]=P[U-1]:P[U]+=P[U-1],++U;for(T=this.v,c=0,g=T.length;c<g;++c)l=T[c],L[U]||l.b.length==1?P[U]=P[U-1]:P[U]+=P[U-1],++U;if(P[P.length-1]==0)return xQ(this);for(y=jn(this.c)*P[P.length-1],f=0;f<P.length;f++)if(y<P[f]){if(m=bn(n,n.length),r=bn(A,A.length),f<this.w.length){for(s=1;s<this.w[f].d.length;s++)if(++m[f],m[f]==this.w[f].d.length&&(m[f]=0),v=OD(this,m,r),Q=a9(this.F,v),(Q<0?-1:Q)==-1)return v;}else for(f-=this.w.length,s=1;s<this.v[f].b.length;s++)if(++r[f],r[f]==this.v[f].b.length&&(r[f]=0),v=OD(this,m,r),Q=a9(this.F,v),(Q<0?-1:Q)==-1)return v;L[f]=true;break;}}return xQ(this);},o.a=false;H(210);M(273,235,{},Bb),o.od=function(e){return this.a==null||(this.b+1==this.a.length&&V$(this),this.a==null)?null:(++this.b,this.a[this.b]);},o.b=0;H(273);M(357,1,{},vw),o.Rb=function(e,A){return $8(A.e,e.e);},o.mb=function(e){return this===e;};H(357);M(253,1,{32:1,253:1},ug),o.Sb=function(e){return this.a<e.a?-1:this.a>e.a?1:0;},o.a=0;H(253);M(50,1,V2),o.g=false;var ml;H(50);M(243,50,V2,xT),o.pd=function(e,A){var n,P,r,i,f;if(f=IQ(e,this.f)<0?1:0,A!=null)for(P=this.f,r=0,i=P.length;r<i;++r)n=P[r],A[n]+=f/4;return f;},o.qd=function(e,A){var n,P,r,i,f,D,Q;if(D=IQ(e,this.f),D==0||this.b==D>0)return  false;for(Q=z8(J0(e,this.f[2]),J0(e,this.f[1])),ti(Q),f=w.Math.abs(D)<bA?-2*D:2*(Q1-D),this.a&&(f=-f),P=this.c,r=0,i=P.length;r<i;++r)n=P[r],wf(e,n,J0(e,this.f[1]),Q,f);return  true;},o.rd=function(){return 5;},o.pb=function(){var e;return e=new Fn("binap rule ("+(this.b?"positive":"negative")+" torsion):"),t2(this,e),e.a;},o.a=false,o.b=false;H(243);M(154,1,{},NQ),o.b=0,o.e=false,o.n=0;var JE;H(154);M(353,1,{},kw),o.Rb=function(e,A){return CT(),$8(e.e,A.e);},o.mb=function(e){return this===e;};H(353);M(81,50,{50:1,81:1},_7,TF,$L,th),o.pd=function(e,A){var n;return n=LW(this,e),A!=null&&n>0&&(A[this.f[0]]+=n/2,A[this.f[1]]+=n/2),n;},o.qd=function(e,A){var n,P,r,i,f,D,Q;if(r=v9(e,this.f[1])-v9(e,this.f[0]),i=F9(e,this.f[1])-F9(e,this.f[0]),f=m9(e,this.f[1])-m9(e,this.f[0]),n=w.Math.sqrt(r*r+i*i+f*f),P=0,this.a.length==2?n<this.a[0]?P=(n-this.a[0])/n:n>this.a[1]&&(P=(n-this.a[1])/n):n<this.a[0]?P=(n-this.a[0])/n:n>this.a[0]&&(P=(n-this.a[0])/n),w.Math.abs(P)<.001)return  false;if(D=A*P,Q=e.o,this.c==10){if(Mt(Q,this.f[0])==1&&Mt(Q,this.f[1])!=1)return I8(J0(e,this.f[0]),r*D,i*D,f*D),true;if(Mt(Q,this.f[0])!=1&&Mt(Q,this.f[1])==1)return I8(J0(e,this.f[1]),-r*D,-i*D,-f*D),true;}return D/=2,s5(e,this.f[0],this.b,r*D,i*D,f*D),s5(e,this.f[1],this.b,-r*D,-i*D,-f*D),true;},o.rd=function(){return 0;},o.pb=function(){var e,A;if(A=new Fn("distance rule:"),t2(this,A),this.a.length==1?J(A,(J9(),FV+tr(this.a[0],5))):J(A,(J9()," min:"+tr(this.a[0],5)+" max:"+tr(this.a[1],5))),this.b!=null)for(J(A," not:"+this.b[0]),e=1;e<this.b.length;e++)J(A,","+this.b[e]);return A.a;},o.c=0;var zE=H(81);M(242,50,V2,zh),o.pd=function(e,A){var n,P,r,i,f,D,Q;for(n=new Nn(),f=new Nn(),P=R1(yt,[h0,wt],[15,6],15,[this.f.length,3],2),V5(e,this.f,n,f,P),Q=0,i=0;i<this.f.length;i++)r=-(f.a*P[i][0]+f.b*P[i][1]+f.c*P[i][2]),D=20*r*r,A!=null&&(A[this.f[i]]+=D),Q+=D;return Q;},o.qd=function(e,A){var n,P,r,i,f;for(n=new Nn(),f=new Nn(),P=R1(yt,[h0,wt],[15,6],15,[this.a.length,3],2),V5(e,this.a,n,f,P),i=0;i<this.f.length;i++)r=-(f.a*(v9(e,this.f[i])-n.a)+f.b*(F9(e,this.f[i])-n.b)+f.c*(m9(e,this.f[i])-n.c)),s5(e,this.f[i],this.f,.5*r*A*f.a,.5*r*A*f.b,.5*r*A*f.c);return  true;},o.rd=function(){return 1;},o.pb=function(){var e;return e=new Fn("plane rule:"),t2(this,e),e.a;};H(242);M(96,63,{63:1,32:1,96:1},mu,rd),o.b=false,o.c=0,o.e=0;var YE=H(96);M(371,50,V2,C7),o.pd=function(e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S,p;for(i=h(yt,wt,6,3,15,1),L=0;L<this.f.length;L++)i[0]+=v9(e,this.f[L]),i[1]+=F9(e,this.f[L]),i[2]+=m9(e,this.f[L]);for(g=0;g<3;g++)i[g]/=this.f.length;for(n=R1(yt,[h0,wt],[15,6],15,[this.f.length,3],2),s=0;s<this.f.length;s++)n[s][0]=v9(e,this.f[s])-i[0],n[s][1]=F9(e,this.f[s])-i[1],n[s][2]=m9(e,this.f[s])-i[2];for(j=R1(yt,[h0,wt],[15,6],15,[3,3],2),y=0;y<this.f.length;y++)for(c=0;c<3;c++)for(m=0;m<3;m++)j[c][m]+=n[y][c]*n[y][m];for(S=new ry(j),P=S.e,R=0,l=1;l<3;l++)P[l]>P[R]&&(R=l);for(r=S.a,b=h(yt,wt,6,3,15,1),T=0;T<3;T++)b[T]=r[T][R];for(p=0,U=0;U<this.f.length;U++)v=b[0]*n[U][0]+b[1]*n[U][1]+b[2]*n[U][2],f=v*b[0]-n[U][0],D=v*b[1]-n[U][1],Q=v*b[2]-n[U][2],C=10*f*f+D*D+Q*Q,A!=null&&(A[this.f[U]]+=C),p+=C;return p;},o.qd=function(e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b,j,C,S;for(i=h(yt,wt,6,3,15,1),D=0;D<this.f.length;D++)i[0]+=v9(e,this.f[D]),i[1]+=F9(e,this.f[D]),i[2]+=m9(e,this.f[D]);for(m=0;m<3;m++)i[m]/=this.f.length;for(n=R1(yt,[h0,wt],[15,6],15,[this.f.length,3],2),Q=0;Q<this.f.length;Q++)n[Q][0]=v9(e,this.f[Q])-i[0],n[Q][1]=F9(e,this.f[Q])-i[1],n[Q][2]=m9(e,this.f[Q])-i[2];for(C=R1(yt,[h0,wt],[15,6],15,[3,3],2),U=0;U<this.f.length;U++)for(g=0;g<3;g++)for(v=0;v<3;v++)C[g][v]+=n[U][g]*n[U][v];for(S=new ry(C),P=S.e,b=0,L=1;L<3;L++)P[L]>P[b]&&(b=L);for(r=S.a,j=h(yt,wt,6,3,15,1),s=0;s<3;s++)j[s]=r[s][b];for(R=h(yt,wt,6,this.f.length,15,1),y=0;y<this.f.length;y++)R[y]=j[0]*n[y][0]+j[1]*n[y][1]+j[2]*n[y][2];if(A==1){for(T=false,c=R[0]<R[1],l=2;l<this.f.length;l++)if(c!=R[l-1]<R[l]){T=true;break;}if(T)return  false;}for(f=0;f<this.f.length;f++)I8(J0(e,this.f[f]),A*(R[f]*j[0]-n[f][0]),A*(R[f]*j[1]-n[f][1]),A*(R[f]*j[2]-n[f][2]));return  true;},o.rd=function(){return 2;},o.pb=function(){var e;return e=new Fn("line rule:"),t2(this,e),e.a;};H(371);M(372,50,V2,Wd),o.pd=function(e,A){var n,P,r,i,f;if(i=0,P=uR(this,e),f=0,this.f[3]==-1?A2(e,P,this.f[4],this.f[2])||++f:(A2(e,P,this.f[4],this.f[2])||++f,A2(e,P,this.f[4],this.f[3])&&++f),f!=0)for(n=0;n<this.f.length;n++)this.f[n]!=-1&&(r=.68*f,A!=null&&(A[this.f[n]]+=r),i+=r);return i;},o.qd=function(e,A){var n,P,r,i,f,D,Q;if(D=uR(this,e),f=this.f[3]==-1&&!A2(e,D,this.f[4],this.f[2])||this.f[3]!=-1&&!A2(e,D,this.f[4],this.f[2])&&A2(e,D,this.f[4],this.f[3]),!f)return  false;for(Q=Wz(this,e),P=this.a,r=0,i=P.length;r<i;++r)n=P[r],wf(e,n,J0(e,this.f[4]),Q,Q1);return  true;},o.rd=function(){return 4;},o.pb=function(){var e,A,n,P,r;for(r=new Fn("stereo rule:"),t2(this,r),r.a+=" rotatable:",A=this.a,n=0,P=A.length;n<P;++n)e=A[n],r.a+=e+" ";return r.a;};H(372);M(195,50,V2,xL),o.pd=function(e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T;if(n=lL(e,this.f),isNaN(n))return 0;if(n<0&&(n+=F0),l=180*n/Q1,f=Sk(this,n),f==-1)for(x1(),L=this.e,s=0,y=L.length;s<y;++s);if(Q=Wk(this,n,f),Q==0)return 0;for(P=w.Math.abs(l-this.e[f]),P>180&&(P=360-P),P>60&&(P=60),D=e.o,U=3*Q*P*P/3600,T=0,i=0;i<Mt(D,this.f[1]);i++)_(D,this.f[1],i)!=this.f[2]&&(A!=null&&(A[_(D,this.f[1],i)]+=U),T+=U);for(r=0;r<Mt(D,this.f[2]);r++)_(D,this.f[2],r)!=this.f[1]&&(A!=null&&(A[_(D,this.f[2],r)]+=U),T+=U);return T;},o.qd=function(e,A){var n,P,r,i,f,D,Q,U,L,s,y,l,T,c,g,m,v,R,b;if(Q=lL(e,this.f),isNaN(Q)||(Q<0&&(Q+=F0),y=Sk(this,Q),R=Wk(this,Q,y),R==0)||(f=Q1*this.e[y]/180-Q,w.Math.abs(f)>Q1&&(f=f<0?F0+f:f-F0),w.Math.abs(f)<.0031415926535897933))return  false;if(b=z8(J0(e,this.f[2]),J0(e,this.f[1])),ti(b),f*=A*R,g=e.o,this.a!=null)for(m=this.d==0?-f:f,P=this.a,r=0,i=P.length;r<i;++r)n=P[r],wf(e,n,J0(e,this.f[1]),b,m);else for(D=D1(g,this.f[1],this.f[2]),l=D!=-1&&(g.p&&D<g.g?yP(g.p,D):0)<=5,s=1;s<=2;s++)for(U=(s==1?-2:2)*HT(g,this.f[s]),T=0;T<Mt(g,this.f[s]);T++)if(L=_(g,this.f[s],T),L!=this.f[3-s]&&(gm(e,L,this.f[s],b,f/U),!l))for(c=0;c<g.j[L];c++)v=g.i[L][c],v!=L&&g.e[v]!=1&&gm(e,v,this.f[s],b,f/(4*U));return  true;},o.rd=function(){return 3;},o.pb=function(){var e,A;for(A=new Fn("torsion rule:"),t2(this,A),A.a+=" torsions:",e=0;e<this.e.length;e++)e!=0&&(A.a+=","),J(A,this.e[e]+"("+this.b[e]+")");return A.a;},o.d=0;H(195);var Yt=Mr("S"),q=Mr("B"),F=Mr("I"),rt=Mr("Z"),yt=Mr("D"),Ee=Mr("F"),NA=Mr("J"),l9=Mr("C");o=s0("OCL.Canonizer",Jg),o=s0("OCL.CanonizerUtil",YU),o.BACKBONE=htt,o.NORMAL=ctt,o.NOSTEREO=wtt,o.NOSTEREO_TAUTOMER=gtt,o.TAUTOMER=dtt,o.getIDCode=Ez,o=s0("OCL.ConformerGenerator",Yg),o.STRATEGY_ADAPTIVE_RANDOM=Btt,o.STRATEGY_LIKELY_RANDOM=vtt,o.STRATEGY_LIKELY_SYSTEMATIC=Ftt,o.STRATEGY_PURE_RANDOM=mtt,o=s0("OCL.DrugScoreCalculator",X2),o.calculate=SI,o=s0("OCL.DruglikenessPredictor",Lg),o.DRUGLIKENESS_UNKNOWN=ktt,o=s0("OCL.ForceFieldMMFF94",bB),o.MMFF94=btt,o.MMFF94S=Rtt,o.MMFF94SPLUS=jtt,QT(),o=s0("OCL.GenericEditorArea",db),o.EDITOR_EVENT_HIGHLIGHT_ATOM_CHANGED=Fnt,o.EDITOR_EVENT_HIGHLIGHT_BOND_CHANGED=mnt,o.EDITOR_EVENT_MOLECULE_CHANGED=knt,o.EDITOR_EVENT_SELECTION_CHANGED=bnt,o.HOTSPOT_16=sE,o.HOTSPOT_32=yE,o.IMAGE_DATA_16=lE,o.IMAGE_NAME_32=TE,o.KEY_ALT=Rnt,o.KEY_BACK_SPACE=jnt,o.KEY_CTRL=pnt,o.KEY_DELETE=Cnt,o.KEY_ENTER=Mnt,o.KEY_ESCAPE=Hnt,o.KEY_EVENT_PRESSED=Vnt,o.KEY_EVENT_RELEASED=Ent,o.KEY_HELP=Snt,o.KEY_SHIFT=qnt,o.MODE_DRAWING_OBJECTS=Int,o.MODE_MARKUSH_STRUCTURE=xnt,o.MODE_MULTIPLE_FRAGMENTS=Nnt,o.MODE_REACTION=Ont,o.MOUSE_EVENT_CLICKED=Gnt,o.MOUSE_EVENT_DRAGGED=Jnt,o.MOUSE_EVENT_ENTERED=znt,o.MOUSE_EVENT_EXITED=Ynt,o.MOUSE_EVENT_MOVED=Knt,o.MOUSE_EVENT_PRESSED=Xnt,o.MOUSE_EVENT_RELEASED=Znt,o.TableLayoutFill=Wnt,o.TableLayoutPreferred=_nt,o.cChainCursor=$nt,o.cDeleteCursor=ant,o.cFistCursor=tPt,o.cHandCursor=ePt,o.cHandPlusCursor=APt,o.cInvisibleCursor=nPt,o.cLassoCursor=PPt,o.cLassoPlusCursor=rPt,o.cPointedHandCursor=iPt,o.cPointerCursor=fPt,o.cSelectRectCursor=DPt,o.cSelectRectPlusCursor=uPt,o.cTextCursor=QPt,o.cZoomCursor=UPt,o=s0("OCL.GenericEditorToolbar",Rm),o=s0("OCL.GenericUIHelper",gB),_A(),o=s0("OCL.Molecule",AL),o.CANONIZER_ASSIGN_PARITIES_TO_TETRAHEDRAL_N=ptt,o.CANONIZER_CONSIDER_DIASTEREOTOPICITY=Ctt,o.CANONIZER_CONSIDER_ENANTIOTOPICITY=Mtt,o.CANONIZER_CONSIDER_STEREOHETEROTOPICITY=Htt,o.CANONIZER_COORDS_ARE_3D=Vtt,o.CANONIZER_CREATE_PSEUDO_STEREO_GROUPS=Ett,o.CANONIZER_CREATE_SYMMETRY_RANK=Stt,o.CANONIZER_DISTINGUISH_RACEMIC_OR_GROUPS=qtt,o.CANONIZER_ENCODE_ATOM_CUSTOM_LABELS=Itt,o.CANONIZER_ENCODE_ATOM_CUSTOM_LABELS_WITHOUT_RANKING=xtt,o.CANONIZER_ENCODE_ATOM_SELECTION=Ntt,o.CANONIZER_NEGLECT_ANY_STEREO_INFORMATION=Ott,o.CANONIZER_TIE_BREAK_FREE_VALENCE_ATOMS=Gtt,o.FISCHER_PROJECTION_LIMIT=Jtt,o.FISCHER_PROJECTION_RING_LIMIT=ztt,o.STEREO_ANGLE_LIMIT=Ytt,o.VALIDATION_ERRORS_STEREO=fE,o.VALIDATION_ERROR_AMBIGUOUS_CONFIGURATION=Ktt,o.VALIDATION_ERROR_ESR_CENTER_UNKNOWN=Xtt,o.VALIDATION_ERROR_OVER_UNDER_SPECIFIED=Ztt,o.cAtomCIPParityNone=Wtt,o.cAtomCIPParityProblem=_tt,o.cAtomCIPParityRorM=$tt,o.cAtomCIPParitySorP=att,o.cAtomColorBlue=t1t,o.cAtomColorDarkGreen=e1t,o.cAtomColorDarkRed=A1t,o.cAtomColorGreen=n1t,o.cAtomColorMagenta=P1t,o.cAtomColorNone=r1t,o.cAtomColorOrange=i1t,o.cAtomColorRed=f1t,o.cAtomLabel=DE,o.cAtomParity1=D1t,o.cAtomParity2=u1t,o.cAtomParityIsPseudo=Q1t,o.cAtomParityNone=U1t,o.cAtomParityUnknown=o1t,o.cAtomQFAny=L1t,o.cAtomQFAromState=s1t,o.cAtomQFAromStateBits=y1t,o.cAtomQFAromStateShift=l1t,o.cAtomQFAromatic=T1t,o.cAtomQFCharge=h1t,o.cAtomQFChargeBits=c1t,o.cAtomQFChargeShift=w1t,o.cAtomQFDepictedFeatures=g1t,o.cAtomQFENeighbourBits=d1t,o.cAtomQFENeighbourShift=B1t,o.cAtomQFENeighbours=v1t,o.cAtomQFExcludeGroup=F1t,o.cAtomQFFlatNitrogen=m1t,o.cAtomQFHeteroAromatic=k1t,o.cAtomQFHydrogen=b1t,o.cAtomQFHydrogenBits=R1t,o.cAtomQFHydrogenShift=j1t,o.cAtomQFIsNotStereo=p1t,o.cAtomQFIsStereo=C1t,o.cAtomQFMatchStereo=M1t,o.cAtomQFMoreNeighbours=H1t,o.cAtomQFNarrowing=V1t,o.cAtomQFNeighbourBits=E1t,o.cAtomQFNeighbourShift=S1t,o.cAtomQFNeighbours=q1t,o.cAtomQFNewRingSize=I1t,o.cAtomQFNewRingSizeBits=x1t,o.cAtomQFNewRingSizeShift=N1t,o.cAtomQFNoMoreNeighbours=O1t,o.cAtomQFNoOfBits=G1t,o.cAtomQFNot0ENeighbours=J1t,o.cAtomQFNot0Hydrogen=z1t,o.cAtomQFNot0Neighbours=Y1t,o.cAtomQFNot0PiElectrons=K1t,o.cAtomQFNot1ENeighbour=X1t,o.cAtomQFNot1Hydrogen=Z1t,o.cAtomQFNot1Neighbour=W1t,o.cAtomQFNot1PiElectron=_1t,o.cAtomQFNot2ENeighbours=$1t,o.cAtomQFNot2Hydrogen=a1t,o.cAtomQFNot2Neighbours=t0t,o.cAtomQFNot2PiElectrons=e0t,o.cAtomQFNot2RingBonds=A0t,o.cAtomQFNot3ENeighbours=n0t,o.cAtomQFNot3Hydrogen=P0t,o.cAtomQFNot3Neighbours=r0t,o.cAtomQFNot3RingBonds=i0t,o.cAtomQFNot4ENeighbours=f0t,o.cAtomQFNot4Neighbours=D0t,o.cAtomQFNot4RingBonds=u0t,o.cAtomQFNotAromatic=Q0t,o.cAtomQFNotChain=U0t,o.cAtomQFNotCharge0=o0t,o.cAtomQFNotChargeNeg=L0t,o.cAtomQFNotChargePos=s0t,o.cAtomQFPiElectronBits=y0t,o.cAtomQFPiElectronShift=l0t,o.cAtomQFPiElectrons=T0t,o.cAtomQFRingSize0=h0t,o.cAtomQFRingSize3=c0t,o.cAtomQFRingSize4=w0t,o.cAtomQFRingSize5=g0t,o.cAtomQFRingSize6=d0t,o.cAtomQFRingSize7=B0t,o.cAtomQFRingSizeLarge=v0t,o.cAtomQFRingState=F0t,o.cAtomQFRingStateBits=m0t,o.cAtomQFRingStateShift=k0t,o.cAtomQFRxnParityBits=b0t,o.cAtomQFRxnParityHint=R0t,o.cAtomQFRxnParityInvert=j0t,o.cAtomQFRxnParityRacemize=p0t,o.cAtomQFRxnParityRetain=C0t,o.cAtomQFRxnParityShift=M0t,o.cAtomQFSimpleFeatures=H0t,o.cAtomQFSmallRingSize=V0t,o.cAtomQFSmallRingSizeBits=E0t,o.cAtomQFSmallRingSizeShift=S0t,o.cAtomQFStereoState=q0t,o.cAtomQFStereoStateBits=I0t,o.cAtomQFStereoStateShift=x0t,o.cAtomRadicalState=N0t,o.cAtomRadicalStateD=O0t,o.cAtomRadicalStateNone=G0t,o.cAtomRadicalStateS=J0t,o.cAtomRadicalStateShift=z0t,o.cAtomRadicalStateT=Y0t,o.cAtomValence=uE,o.cBondCIPParityEorP=K0t,o.cBondCIPParityNone=X0t,o.cBondCIPParityProblem=Z0t,o.cBondCIPParityZorM=W0t,o.cBondParityEor1=_0t,o.cBondParityNone=$0t,o.cBondParityUnknown=a0t,o.cBondParityZor2=tet,o.cBondQFAllFeatures=eet,o.cBondQFAromState=Aet,o.cBondQFAromStateBits=net,o.cBondQFAromStateShift=Pet,o.cBondQFAromatic=ret,o.cBondQFBondTypes=iet,o.cBondQFBondTypesBits=fet,o.cBondQFBondTypesShift=Det,o.cBondQFBridge=uet,o.cBondQFBridgeBits=Qet,o.cBondQFBridgeMin=Uet,o.cBondQFBridgeMinBits=oet,o.cBondQFBridgeMinShift=Let,o.cBondQFBridgeShift=set,o.cBondQFBridgeSpan=yet,o.cBondQFBridgeSpanBits=Tet,o.cBondQFBridgeSpanShift=het,o.cBondQFDelocalized=cet,o.cBondQFDepictedFeatures=wet,o.cBondQFDouble=get,o.cBondQFMatchFormalOrder=det,o.cBondQFMatchStereo=Bet,o.cBondQFMetalLigand=vet,o.cBondQFNarrowing=Fet,o.cBondQFNoOfBits=met,o.cBondQFNotAromatic=ket,o.cBondQFNotRing=bet,o.cBondQFQuadruple=Ret,o.cBondQFQuintuple=jet,o.cBondQFRareBondTypes=pet,o.cBondQFRareBondTypesBits=Cet,o.cBondQFRareBondTypesShift=Met,o.cBondQFRing=Het,o.cBondQFRingSize=Vet,o.cBondQFRingSizeBits=Eet,o.cBondQFRingSizeShift=qet,o.cBondQFRingState=Iet,o.cBondQFRingStateBits=xet,o.cBondQFRingStateShift=Net,o.cBondQFSimpleFeatures=Oet,o.cBondQFSingle=Get,o.cBondQFTriple=Jet,o.cBondTypeCross=zet,o.cBondTypeDeleted=Yet,o.cBondTypeDelocalized=Ket,o.cBondTypeDouble=Xet,o.cBondTypeDown=Zet,o.cBondTypeIncreaseOrder=Wet,o.cBondTypeMaskSimple=_et,o.cBondTypeMaskStereo=$et,o.cBondTypeMetalLigand=aet,o.cBondTypeQuadruple=tAt,o.cBondTypeQuintuple=eAt,o.cBondTypeSingle=AAt,o.cBondTypeTriple=nAt,o.cBondTypeUp=PAt,o.cChiralityDiastereomers=rAt,o.cChiralityEpimers=iAt,o.cChiralityIsomerCountMask=fAt,o.cChiralityKnownEnantiomer=DAt,o.cChiralityMeso=uAt,o.cChiralityNotChiral=QAt,o.cChiralityRacemic=UAt,o.cChiralityUnknown=oAt,o.cChiralityUnknownEnantiomer=LAt,o.cCommonOxidationState=QE,o.cDefaultAVBL=sAt,o.cDefaultAllowedPseudoAtoms=yAt,o.cDefaultAtomValence=lAt,o.cESRGroupBits=TAt,o.cESRMaxGroups=hAt,o.cESRTypeAbs=cAt,o.cESRTypeAnd=wAt,o.cESRTypeOr=gAt,o.cHelperAll=dAt,o.cHelperBitCIP=BAt,o.cHelperBitIncludeNitrogenParities=vAt,o.cHelperBitNeighbours=FAt,o.cHelperBitParities=mAt,o.cHelperBitRings=kAt,o.cHelperBitRingsSimple=bAt,o.cHelperBitSymmetrySimple=RAt,o.cHelperBitSymmetryStereoHeterotopicity=jAt,o.cHelperBitsStereo=pAt,o.cHelperCIP=CAt,o.cHelperNeighbours=MAt,o.cHelperNone=HAt,o.cHelperParities=VAt,o.cHelperRings=EAt,o.cHelperRingsSimple=SAt,o.cHelperSymmetrySimple=qAt,o.cHelperSymmetryStereoHeterotopicity=IAt,o.cMaxAtomicNo=xAt,o.cMaxConnAtoms=NAt,o.cMoleculeColorDefault=OAt,o.cMoleculeColorNeutral=GAt,o.cPseudoAtomA=JAt,o.cPseudoAtomAttachmentPoint=zAt,o.cPseudoAtomPolymer=YAt,o.cPseudoAtomR=KAt,o.cPseudoAtomX=XAt,o.cPseudoAtomsAGroups=ZAt,o.cPseudoAtomsAll=WAt,o.cPseudoAtomsAminoAcids=_At,o.cPseudoAtomsHydrogenIsotops=$At,o.cPseudoAtomsRGroups=aAt,o.cRoundedMass=UE,o.fromIDCode=Cz,o.fromMolfile=Px,o.fromMolfileWithAtomMap=JJ,o.fromSmiles=Dz,o.getAngle=YI,o.getAngleDif=AI,o.getAtomicNoFromLabel=nI,o.getDefaultAverageBondLength=LI,o.isAtomicNoElectronegative=qq,o.isAtomicNoElectropositive=Iq,o.setDefaultAverageBondLength=yq,o=s0("OCL.MoleculeProperties",p7),o=s0("OCL.Reaction",Cd),o.create=eI,o.fromMolecules=LJ,o.fromRxn=UO,o.fromSmiles=JN,o=s0("OCL.ReactionEncoder",ac),o.CATALYST_DELIMITER=tnt,o.INCLUDE_ALL=ent,o.INCLUDE_CATALYSTS=Ant,o.INCLUDE_COORDS=nnt,o.INCLUDE_DEFAULT=Pnt,o.INCLUDE_DRAWING_OBJECTS=rnt,o.INCLUDE_MAPPING=int,o.INCLUDE_RXN_CODE_ONLY=fnt,o.MOLECULE_DELIMITER=Dnt,o.OBJECT_DELIMITER=unt,o.PRODUCT_IDENTIFIER=Qnt,o.RETAIN_REACTANT_AND_PRODUCT_ORDER=Unt,o.decode=$K,o.encode=ZZ,o=s0("OCL.Reactor",I7),o=s0("OCL.Resources",_2),o._register=Qq,o=s0("OCL.RingCollection"),o.MAX_SMALL_RING_SIZE=ont,o.MODE_SMALL_AND_LARGE_RINGS=Lnt,o.MODE_SMALL_AND_LARGE_RINGS_AND_AROMATICITY=snt,o.MODE_SMALL_RINGS_AND_AROMATICITY=ynt,o.MODE_SMALL_RINGS_ONLY=lnt,o=s0("OCL.SDFileParser",ld),o=s0("OCL.SSSearcher",AB),o=s0("OCL.SSSearcherWithIndex",t7),o.bitCount=Uq,o.getHexStringFromIndex=Pq,o.getIndexFromHexString=rq,o.getKeyIDCode=oq,o.getSimilarityAngleCosine=mq,o.getSimilarityTanimoto=kq,o=s0("OCL.SmilesParser",Ww),d3(),o=s0("OCL.ToxicityPredictor",$7),o.RISK_HIGH=Tnt,o.RISK_LOW=hnt,o.RISK_NAMES=LE,o.RISK_NO=cnt,o.RISK_UNKNOWN=wnt,o.TYPE_IRRITANT=gnt,o.TYPE_MUTAGENIC=dnt,o.TYPE_REPRODUCTIVE_EFFECTIVE=Bnt,o.TYPE_TUMORIGENIC=vnt,o=s0("OCL.Transformer",zg),o=s0("OCL.Util",$c),o.getHoseCodesFromDiastereotopicID=$J,o=s0("java.io.Serializable"),o.$isInstance=Mz,R9(),o=s0("java.lang.Boolean"),o.$isInstance=nx,o=s0("java.lang.CharSequence"),o.$isInstance=ZG,o=s0("java.lang.Cloneable"),o.$isInstance=cG,o=s0("java.lang.Comparable"),o.$isInstance=WJ,o=s0("java.lang.Double"),o.$isInstance=bI,o=s0("java.lang.Number"),o.$isInstance=AO,o=s0("java.lang.String"),o.$isInstance=RI,o=s0("java.lang.Throwable"),o.of=PJ,o=s0("java.util.List"),o.copyOf=tz,o=s0("java.util.Map"),o.copyOf=rN,o=s0("java.util.Set"),o.copyOf=kz,o=s0("javaemul.internal.HashCodes",nw),o.getIdentityHashCode=Sz,o.getNextHash=Aq,o.getObjectIdentityHashCode=vD,o=s0("javaemul.internal.JsUtils"),o.toDoubleFromUnsignedInt=nq;var KE=HN,dPt=TY;SO(kS),zO("permProps",[[]]),dPt(Ft.__errFn,Ft.__moduleName,Ft.__moduleBase,Ft.__softPermutationId,Ft.__computePropValue),Bt&&Bt.permProps&&Ft.__moduleStartupDone(Bt.permProps);let XE=w.OCL;return XE.version="9.20.0",XE;}var R8;R8={document:{compatMode:"CSS1Compat"}},R8.setTimeout=globalThis.setTimeout?globalThis.setTimeout.bind(globalThis):eD,R8.clearTimeout=globalThis.clearTimeout?globalThis.clearTimeout.bind(globalThis):eD,R8.setInterval=globalThis.setInterval?globalThis.setInterval.bind(globalThis):eD,R8.clearInterval=globalThis.clearInterval?globalThis.clearInterval.bind(globalThis):eD,R8.Error=globalThis.Error,R8.Map=globalThis.Map,R8.Math=globalThis.Math,R8.RegExp=globalThis.RegExp,R8.TypeError=globalThis.TypeError;var jPt=bPt(R8),Z0=jPt;function mS(w){let Z=w.Resources._register.bind(w.Resources);if(delete w.Resources._register,w.Resources.register=function(Ft){typeof Ft=="string"&&(Ft=JSON.parse(Ft));let H1=new TextEncoder();if(typeof Ft!="object"||Ft===null)throw new TypeError("resources must be an object");let bt={};for(let[y1,i1]of Object.entries(Ft)){if(typeof i1!="string")throw new TypeError(`resource ${y1} must be a string`);bt[y1]=H1.encode(i1);}Z(bt);},w.Resources.registerFromUrl=async function(Ft=pPt()){let bt=await(await fetch(Ft)).json(),y1=new TextEncoder(),i1=Object.fromEntries(Object.entries(bt).map(([L1,u1])=>[L1,y1.encode(u1)]));Z(i1);},typeof process<"u"){let ot=function(){let Ft=process.getBuiltinModule("node:path"),H1=Ft.join(import.meta.dirname,"resources.json");return import.meta.filename.endsWith("register_resources.js")&&(H1=Ft.join(import.meta.dirname,"../dist/resources.json")),H1;};w.Resources.registerFromNodejs=function(H1=ot()){let y1=process.getBuiltinModule("node:fs").readFileSync(H1,"ascii");w.Resources.register(y1);};}else w.Resources.registerFromNodejs=function(){throw new Error("Resources.registerFromNodejs can only be called from Node.js");};}function pPt(){return new URL("resources.json",import.meta.url).href;}Wc(Z0);FS(Z0);mS(Z0);Z0.CanvasEditor;Z0.registerCustomElement;Z0.Canonizer;Z0.CanonizerUtil;Z0.ConformerGenerator;Z0.DrugScoreCalculator;Z0.DruglikenessPredictor;Z0.ForceFieldMMFF94;Z0.Molecule;Z0.MoleculeProperties;Z0.Reaction;Z0.ReactionEncoder;Z0.Reactor;Z0.Resources;Z0.RingCollection;Z0.SDFileParser;var jut=Z0.SSSearcher;Z0.SSSearcherWithIndex;Z0.SmilesParser;Z0.ToxicityPredictor;Z0.Transformer;Z0.Util;Z0.version;/**
 * openchemlib - Manipulate molecules
 * @version v9.20.0
 * @date 2026-02-13T13:13:04.163Z
 * @link https://github.com/cheminfo/openchemlib-js
 * @license BSD-3-Clause
*/

/**
 * Applies fragment labels from a fragment molecule to a target molecule. This method is in
 * place and modifies the target molecule directly.
 * @param molecule - The target molecule to which fragment labels will be applied.
 * @param fragment - The fragment molecule containing the labels to apply.
 * @param options
 * @returns The number of matches found
 */
function applyFragmentLabels(molecule, fragment, options = {}) {
  const {
    algorithm = 'overlapping',
    prefix = '',
    suffix = ''
  } = options;
  const sssearcher = new jut();
  sssearcher.setMolecule(molecule);
  sssearcher.setFragment(fragment);
  const found = sssearcher.findFragmentInMolecule({
    countMode: algorithm
  });
  const matches = sssearcher.getMatchList();
  for (const match of matches) {
    for (let fragmentAtomIndex = 0; fragmentAtomIndex < match.length; fragmentAtomIndex++) {
      const moleculeAtomIndex = match[fragmentAtomIndex];
      const label = fragment.getAtomCustomLabel(fragmentAtomIndex);
      if (label) {
        molecule.setAtomCustomLabel(moleculeAtomIndex, prefix + label + suffix);
      }
    }
  }
  return found;
}

const autoLabelDatabase = [{
  idCode: 'ea^P@@@LdbVRRbbvRRbLVRbrTVRdsRuMTmSSMLuSPEdEaLWEiATSUCRu]_QKPW@M]gIhM]GIdC]cAdvAnqirXcW^rZ`wXtYLqkkYMp[lYLfDuvlfdMvMfSJFzBKImC]cCdqanqbrZpwTpYLx[hKLf|MvMVSAFzBSIhm]cUdc]AQdvVnqbqQnqnrZhwXsYLukl[MuklYLMkjXMMklZLmklXMlklxyWQuvnqisrn}oe][@j{VaUtlcklX]bknXeWTuJnqf]]c]n]]cM`',
  coordinates: '!BmpJH@oy?mwvH_[\\Bb@Jw_Xa}mpK~_x`B?g~w_Xa}mpJH@k]}bGw~_{\\Bb@JH__x@b@JH_X`BbGw~@H`BbGvH@ha}?`BH@ha}b@K~@Ha}',
  mf: 'C40H56',
  mw: 536.88464,
  label: 'Lycopene'
}, {
  idCode: 'eaYP@@@LdbbTbsbrTVRTVRbrbbdWBaOKUMUMLtsSMLuUU@RTVdyAVUUCRu]_tEpCWVrZCWZrYCW^r[CWXrXcWRrZ`wXpyLqkhyMqkjYLH[l[lfdMvLvSJZ{fSZZ{NSFF{FCIkC]cSdsanqhr[pwXrYLD[l[LfbMvLVSIFzfCIlc]cUdqVnqjuVnqbsVnqlwVnqdpvni`tvnqhrvnq`vrnsce]GWZ{FgOJ{v~UulBkmZEWXrJnel]]cCbU]STz{F{Lz{F[\\j{f@',
  coordinates: '!B?`BH_[]}mpJH?H`BmpIt^pnGmwvH_X`B?g~H_X`BbGvH@oy?bGvH@ha}b@JH__x@b@JH_X`BbGw~@H`BbGw~_x`BbGvw_Xa}f~atnH`B',
  mf: 'C40H56',
  mw: 536.88464,
  label: 'beta-carotene'
}, {
  idCode: 'eghP@@@LddTTVdRVbLf|VRgEdbgfPRUUUUUUUUUUUW@B`RDhbb\\ST@~P`aBOt^PAnshFzNP{lXMawXtXcnqiuG]cEfF{vx[mXQnqiN{FSJ]vMft{lZlYw\\pZqnmgFzV|[jXKnqntW]cCdn{F[YMwLUwTtzkniasW]SAnnzfSC]uMFf{j[LmwTq[[nijqw]S]knzf[@',
  coordinates: '!BmwvH__x@?g~w@oy??g~H@k\\B?`@_YSF?bGvH_Xa}Gqhq`ELXb@KxF}MgYVBw?Cctm?vw?K_}m?s~_p',
  mf: 'C30H54',
  mw: 414.75876,
  label: 'Cucurbitane'
}, {
  idCode: 'eghP@@@LddTbbtVdIVbdsRdabcfefSUUUUUUUUUUUW@D`bDh`bbbR@~PPbbOt^PAnchN{FKHMv]`w^qG]cCjN{FsL]vMVx{nXLIwXpZSnqhrc][Z]vMvL{lYMYwXsYqnuoF{FB{lZ]EwTpYInelfzfJ{jYMUwTtYinynnzfgC]uLNf{j[LmwTq[[nijqw]S]knzf[@',
  coordinates: '!BmpJH@oy??`C~@A}eL[~H__x@bGt_Fh`BTqc~_x`B?`AeXHa}bGvw?Cctb@KxF}Mgm?vw?K_}m?s~_p',
  mf: 'C30H54',
  mw: 414.75876,
  label: 'Dammarane'
}, {
  idCode: 'eghP@@@LddTTVbTad|VLVR`fdea`VUUUUUUUUUUUUW@B`UBxRdBST@~P`bbOt^PCnq`tC]gHMvm`wXqG]cSjFzNX{lZMpwRpc][RMuLiwXq[Qn}cN{FSVMwLywTt{sniapW]cYhn{FkI]wLFr{l[lUwXpzknqfsW]SAnnzfSC]uMFf{j[LmwTq[[nijqw]S]knzf[@',
  coordinates: '!BmpK~_x`B?`Bw__x@bGvw_Xa}mpK~_{\\Bb@KxF}Mg?`@_YSF?Gqhq`ELXYVBw@cctm?vw@k_}mpK~_p',
  mf: 'C30H54',
  mw: 414.75876,
  label: 'Lanostane'
}, {
  idCode: 'eghP@@@LddTbbtVdIVbdsRdabcfefSUUUUUUUUUUUW@B`RBhPbbbR@~PPbbOtnPAnchN{FKHMv]`w^qG]cCjN{FsL]vMVD{lXMIwXtYQnmmN{F{F]vLfl{lYlxwZwc]cA]vMNb{jXLdwRvS]SE]uLfj{jZLtw\\wW]SSanzfGS]uMfV{jXmmwTuX{ninuw]SM`',
  coordinates: '!BmpJH@oy??`C~@A}eL[~H__x@bGt_Fh`BTqc~_x`B?`AeXHa}bGvw@cctb@KxF}Mgm?vw@k_}mpK~_p',
  mf: 'C30H54',
  mw: 414.75876,
  label: 'Protostane'
}, {
  idCode: 'egdP@@@LddTQdVeRdtVLVRgD`bfag`VUUUUUUUUUUUUUp@jHICHy@du@OhCHQy@FzV`[mYAnylNzfgD]uLNh{lXLpwVwC]SBMv]HwXrg]cSmF{vL[hzsnqhsg]cEoN{FSA]vMfb{lZlew\\p[KnqnqW]cCjn{F[M]uLFz{jYLMwTtZ[nilrw]SEmnzfkG]uMvn{jYl',
  coordinates: '!BmpJH@o`[tv_~@K]}?`Bw@h`B?`Bw@k]}?`Bw@k\\B?`@_YSF?Gqhq`ELXYVBw@cctm?vw@k_}mpK~_p',
  mf: 'C30H52',
  mw: 412.74288,
  label: 'Cycloartane'
}, {
  idCode: 'egdP@@@LddTbbtVbtVtT|R`ebf`QVWVquUUUUUUUUUUTh@hHaJDIMHDhitidA}`aEDQQ~cr@]vMf`{lXlawXp{CnqdqG]SMjFzNX{lZmqwTwXSnqntg]cSeN{FcZMv\\Xw^ug]cMgNzfS^]uLNB{jXMEwXpYKnijvS][E]uMFj{nXLuwTt{inuaf{Ff[iY[nibvs]SGMwM]wTvX',
  coordinates: '!B?l]klaRrW`@TcVnM?l]kc_{XEHtTlo{GZ{IklalMZ{HTc_{GEHw~vAL|HgS~qqRrEHtAmqRMEKK~qp',
  mf: 'C30H52',
  mw: 412.74288,
  label: 'Friedelane'
}, {
  idCode: 'egdP@@@LddTbbtVadLTRltdabce`VSPvuUUUUUUUUUUUpAHHaAEhgIt`OdDHDc}Gd@{lXm@wQrG]cYlN{FkD]uMvh[lyan}nNzf[B]vLNd{lYLiwXs[Snq`qg]cQkFzv\\{l[mywXtxInuhf{FR{jZmewTrXkniauW]SAfnzfc]MtlLwTtw]sAenzfg[MwL]wTqZ{nilp',
  coordinates: '!BbGw~@K]}?g~H@oy??`Bw@h`BmpJH__x@bGvw_Yg@?g~H@ox@nuSOsURDotzH_Xa}bGwIPH`BuB^KAp',
  mf: 'C30H52',
  mw: 412.74288,
  label: 'Lupane'
}, {
  idCode: 'egdP@@@LddTbbtVdLJtRdvdabcedQPwVuUUUUUUUUUUUpAHHHmIELet`OhMHQy@FzN`{lXl`wYvC]{D]uLvh{l[LqwXu[cninpg]cAiN{FcJMumiwXpxsnqdug]cMgF{V|[lXKnijtW]c]dn{FgYMtlTwTuW]SIfnzfG]]uLFF[nZ[nibrw]SYmnzfcG]wLFn{jZ\\',
  coordinates: '!BmpJH@oy??`C~@K]}?g~H__x@bGvw@h`BmpK~_x`B?`Bw__x@bGvH_[\\BCwvw@h`BuB^KA?x@vuPlf@',
  mf: 'C30H52',
  mw: 412.74288,
  label: 'Oleanane'
}, {
  idCode: 'egdP@@@LddTbbtVadLTRvtdabce`UTpvuUUUUUUUUUUUHAHHaAIhgIyJet`OdDHDc}Gd@{lXm@wQrG]cYlN{FkD]uMvh[lyan}nNzf[B]vLNd{lYLiwXs[Snq`qg]cQkFzv\\{l[mywXtxInuhf{FR{jZmewTrXkniauW]SAfnzfg]MtlLwTtw]SQen{fC[MwL]wTqZ{nilp',
  coordinates: '!BRGw~`C]}?k}H@oz??`@w@d`BMpIH__z@RGtw__z@?k}H@ox@MpKwoS\\Bb@IH_Ta}?hC~@D`BANmSip',
  mf: 'C30H52',
  mw: 412.74288,
  label: 'Taraxastane'
}, {
  idCode: 'egdP@@@LdbTbbTVbbQvdjteB`e`QVSRvsUUUUUUUUUUTH`lIQAIH`hdidA}AaGzOHAwXvZCnqdrG]cElN{FGD]vMFh[hycnqjwG]S]aN{F{R]vMNT[l{Qn}cNzf[V]vLv\\{jYMywTpxKni`tW]SSdn{FCYMulUwTtZkny`sS]k]MvLMwTuZYneefzfv[nX{nibuw]SY`',
  coordinates: '!BR@K~os\\BRGuH_S]}?k|w__z@?k?~o?x@MpHw@o^}MpJH@da}RGw~`Ox@?k}H@ox@RGuH_T`BANmSip',
  mf: 'C30H50',
  mw: 410.727,
  label: 'Ursane'
}, {
  idCode: 'ek`P@@@LddTTVbvebQbrbbxtdlL\\BRjjjjjjjjjjk`APJaJQqYSj@_XPQQBd_i\\`G]cAhF{NP[m[AnqbN{FgTMt\\qwXt[anmaFzVd[jYSnqbvc]{F]vLfl[nYsnqlwg]cU`n{F{Q]vLNR{lYmewTpXkniduW]SQfnzfs]]uLVF{jZmMwTpy[ninvw]SMcnzfg@',
  coordinates: '!BmpK~_x`B?`Bw__x@mwvH_Xa}mpK~_{\\Bb@K~@A}eGqhq`ELXYVBw?Cctm?vw?K_}?`Bw?Oy?Stp',
  mf: 'C29H52',
  mw: 400.73187999999993,
  label: 'Poriferastane'
}, {
  idCode: 'ek`P@@@LddTTVbvebQbrbbxtdlL\\BRjjjjjjjjjjk`APJaJQqYSi@_XPQQBd_i\\`G]cAhF{NP[m[AnqbN{FgTMt\\qwXt[anmaFzVd[jYSnqbvc]{F]vLfl[nYsnqlwg]cU`n{F{Q]vLNR{lYmewTpXkniduW]SQfnzfs]]uLVF{jZmMwTpy[ninvw]SMcnzfg@',
  coordinates: '!BmpK~_x`B?`Bw__x@mwvH_Xa}mpK~_{\\Bb@K~@A}eGqhq`ELXYVBw?Cctm?vw?K_}?`Bw?Oy?Stp',
  mf: 'C29H52',
  mw: 400.73187999999993,
  label: 'Stigmastane'
}, {
  idCode: 'ekdPD@@@LLdTbRbRUTRtrTfVXTxDl\\RrZzvNjjjjjjjjjjjbHDPkET`Oz[IAwTrYCnifqG]SAjNzfsL]uMVx{lYlIwXwZSnihrg]SEmNzf{F]vMVl{l[LywXq[snqdpW]cChfzNR{lZMdwYqS]{U]vLFZ[k[inuaf{Ff{lZ\\lwRvs]SGMwL',
  coordinates: '!BgF_GS_ygnOiwSb|fnOeBRwiXe?U?IdIKnOfx~fSR?badSVSMYCK~YvQMYDw~YvPr?aadSVQMYCH',
  mf: 'C27H44O2',
  mw: 400.64435999999995,
  label: 'Spirostane'
}, {
  idCode: String.raw`fc@@@LddTTVbvebQbrbgMRlYpTuUUUUUUUUUW@JBheQrsNhGvHQREQ~atAwXpZC]gH[m[C]cD{lZ]Qncf]vMFxwVpfzVdwTrn{FKZ[oXw]cIkMwL{nqlwn{FkA{l[mGnqar^{F[Y{jXLWnidu^zfcM{j[Mwnibp~zfkS{jX\oninv~zf[@`,
  coordinates: '!BmpK~_x`B?`Bw__x@mwvH_Xa}mpK~_{\\Bb@K~@A}eGqhq`ELXYVBw@cctmwvw@k]}?`Bw@oy?',
  mf: 'C28H50',
  mw: 386.705,
  label: 'Campestane'
}, {
  idCode: String.raw`fc@@@LddTTVbvebQbrbgMRlYpTuUUUUUUUUUW@JBheQrsNpGvHQREQ~atAwXpZC]gH[m[C]cD{lZ]Qncf]vMFxwVpfzVdwTrn{FKZ[oXw]cIkMwL{nqlwn{FkA{l[mGnqar^{F[Y{jXLWnidu^zfcM{j[Mwnibp~zfkS{jX\oninv~zf[@`,
  coordinates: '!BmpK~_x`B?`Bw__x@mwvH_Xa}mpK~_{\\Bb@K~@A}eGqhq`ELXYVBw@cctmwvw@k]}?`Bw@oy?',
  mf: 'C28H50',
  mw: 386.705,
  label: 'Ergostane'
}, {
  idCode: 'ec`PH@@@LdTTRRTVVbfQdrvEG@g`USRvuUUUUUUUUUUXTKaEHC~frP]vLvP{jYMawXwXcnqjuG]SAfNzfs\\]vMfD{lXmIwTtYSnibvg]cIcN{FGVMt\\ywTu[snqhpS]gQMwlewTw[KnifqW]cAjfzvZ[m[inqan{FgSMtllwTvs]s@',
  coordinates: '!BtJW~hNpx{D_Pfd_ltJWPfak`esvhPox@jCvWPj`}jDK~gy\\}?bBhOZ`}?i~hPoz`jCvhOZaB',
  mf: 'C27H46O',
  mw: 386.66124,
  label: 'Furostane'
}, {
  idCode: 'eglPD@@@MlbbbbbRRqfbbbRRsDbeagaSPqrusP@PAE@D@HPP@@_tNrCWYrY@wYrZM`[hyMFHMtlfcTZ{FSLV{FCIhwFncdpfnedtanq`rYSWTr[SWZrXsW^rZsW\\rYsWXp[sWVrXKWRtZHwXpZLeklzMdkiXkWQtZiWZsRnsne]cCJ{ffUt\\lkkXyWTurn}`',
  coordinates: '!B?`Bw@h`B?`Bw__x@bOvw?H`BmpJH@h`Bm?w~@Hc}mpJH@ox@m?w~@Hc}b@Jw@k\\Bb@JH@ox@m?vH?P',
  mf: 'C28H18O2',
  mw: 386.44892,
  label: 'Bisanthrone'
}, {
  idCode: 'fmo@@@LddTTVbvebQbrTyjUcNBfjjjjjjjjjh@Oz[PCFCPirJmbcDXtzdNXqhwIlJKRdrfLVu]cLYMZsNXv[sFkAXwZKFGIXs[JfCETrZjfcMTv[jfKCTuZZf{KTsX',
  coordinates: '!BetK~gzaBM`BWO_z`esvhOZ`}etK~gy]BjDK~hL~esyhqXNLxi]BWP`QLesvWPi\\}?i~WP`',
  mf: 'C27H48',
  mw: 372.67812,
  label: 'cholesterol'
}, {
  idCode: 'fmo@@@LddTTVbvebQbrTyjUcNBfjjjjjjjjji`EATRhyY`OlPbdJc}MhCnq`tF{NPwZvF{FIwXtzc]GL{lZMqnmaMtmInie]vLVtw^qn{FSV[nYw]cYo]vMVCwXwZO]cCd}vLvswTpXo]SIj}uMF[wTv[o]SEa}uMVgwTwY_]SM`',
  coordinates: '!BmpK~_x`B?`Bw__x@mwvH_Xa}mpK~_{\\Bb@K~@A}eGqhq`ELXYVBw@cctmwvw@k]}mpK~_p',
  mf: 'C27H48',
  mw: 372.67812,
  label: 'Cholestane'
}, {
  idCode: 'fa{@@@LddTTVbvebQbwMRlYpTuUUUUUUUUL@hJbUGKLA}bDTaT_hM@]vLF`wYrF{VpwXqN{FgT[hyg]cQnMulIneiMuLknqbvf{vMwXrZs]sN{l[M{nqjp^{F{Q{lX\\gnqfv^zfCE{jYMWnihs^zfs]{jXl',
  coordinates: '!BmpK~_x`B?`Bw__x@mwvH_Xa}mpK~_{\\Bb@K~@A}eGqhq`ELXYVBw@cctmwvw@`',
  mf: 'C24H42',
  mw: 330.59748,
  label: 'Cholane'
}, {
  idCode: 'fj}@p@@FmxI\\dTTTRbTRR~XJSdyhJHBb`JCBDqB`OlHadBc}@hAnqh]t]FPwTvNzVcD[hzg]cIfMwMqnuaMtmIn}e]ulfuwTrYs][Q{mYLgnydv^zVS@',
  coordinates: '!BbOvw?_y?bOrw?Oy?bGvw_Xc}m?w~@K]}?g~H@oy?bOrw?K\\B?`Bw@`',
  mf: 'C15H14O6',
  mw: 290.27016000000003,
  label: 'Flavan-3,4-diol'
}, {
  idCode: 'fjc@@@LddTTVbvebQyjUcNBfjjjjjjjj`EATRhy@~qBJPjOtj`N{FCP[lyC]kX[lXg]cSjMt\\snqhwFzvDwRtfzfUwXq[S]{F{lYMYnyg]vMf}wXuXO]c]h}vLNSwXs[O]SAb}uMF@',
  coordinates: '!BmpK~_x`B?`Bw__x@mwvH_Xa}mpK~_{\\Bb@K~@A}eGqhq`ELXYV@x}@',
  mf: 'C21H36',
  mw: 288.51684,
  label: 'Pregnane'
}, {
  idCode: 'fj}@p@@LDhI\\bbbbbfqbRvxKUdyZBhb@`JAFEq@~QbNQ~`T`wRrNzVcX[nXg]GQjMvmqniaMvMIncmMul[nqduf{v]wVr[w]SIh}vlfSw\\r[O]KI`',
  coordinates: '!B?`BH@k\\B?`BH_[]}?`Bw?Hc|?g~H@k_|bOvw?_x@bOrw?K\\B?`Bw@`',
  mf: 'C15H12O6',
  mw: 288.25428,
  label: 'Dihydroflavonol'
}, {
  idCode: String.raw`fj}@p@@DEiI\bbbfbTtQRQXHwhyZdJH@BJ@@OzARC]KH[n[G]KQjMuLsnchwF{VDwXtn{FSJ[hxs][V{kYL{nidwf{vCwZrZO]sIl}tlf@`,
  coordinates: '!B?`Bw@h`Bmww~@Ox@bGvH?K_|bOs~_x`Bm?w~@Hc}m?rw@hc|?`Bw@`',
  mf: 'C15H10O6',
  mw: 286.23839999999996,
  label: 'Flavonol'
}, {
  idCode: 'fbmAP@@Fm{NRJJJIQJYIy`iNbf`h`JHB`PaLPOdHad_hE@MvMCnchrFzfqwRtXc]GT{lYLqnynMvlIneiMwlknmdvnzfSN[kXO]kIh}wLfSwRrX',
  coordinates: '!BbOvw?_y?bOrw?Oy?bGvw_Xc}m?w~@K]}?g~H@hc|m?rw@ox@mpH',
  mf: 'C15H14O5',
  mw: 274.27116,
  label: 'Flavan-3-ol'
}, {
  idCode: 'fbmAP@@\\e{NQQQJJKFIKYgEFbehJH`HB``q@~`rOtBdFzVQwRt[C]sD{hzMQnufMuMqnqaMt\\inmm]vLfLw^unzvSN{jYLGnudt^{fSI{iYL',
  coordinates: '!B?`BH@k\\B?`BH?_x@m?rH?Oy?b@Jw?Hc}m?w~@Hc|m?rw@ox@mpH',
  mf: 'C15H12O5',
  mw: 272.25527999999997,
  label: 'Flavanone'
}, {
  idCode: 'fbmAPD@\\}GHIrQQQQQHiQItDXKd`PP@ADP@@_tB`F{F`wTrNzNcX[nXg]cIj]tmFXwQpfzVewVrYW]SImMvlYn}k]vlf]w\\rXK][I{iYL',
  coordinates: '!Bm?vH?_y?m?s~_xc|mwvH_[_}?`BH_Xc}m?rw@oy?b@JH?Ox@mpH',
  mf: 'C15H11O5',
  mw: 271.24734,
  label: 'Anthocyanidine'
}, {
  idCode: 'fbmAP@@\\e{NQQQJJKFIKYgEFbehFH`HB`@C~`T`wRrNzVcX[nXg]GQjMvlqninMvLInceMumknqdqf{vmwVrYw]SI`}vlfcw\\rYO]KI`',
  coordinates: '!B?`BH@k\\B?`BH?_x@mpJH@oy?b@Jw@hc}m?w~@H`BmpJw@ox@mpH',
  mf: 'C15H10O5',
  mw: 270.2394,
  label: 'Flavone'
}, {
  idCode: String.raw`fluhP@DTxIPCQSdTRbbUTRRSNRT{sUKMUUUP@_t\dIlbcXjqIMR{LbwKMJGJivfMrlinSdmr|ynPVmr@`,
  coordinates: '!B?oum~QKy?ouBuo{}Dog]aYkMPlg~_ySz^bTT~Rc~?cK~eQKz',
  mf: 'C10H13N5O4',
  mw: 267.24422,
  label: 'deoxyguanosine'
}, {
  idCode: 'fbm@`@@HRY[UfUWISrXyZjj@@@H@@heHMv]ancb]v\\fiwQrYc]{\\{oYLInqi]vLfTwVvfzfMwVrZw]SIgMvmyny`}vlfcw\\rYK]KY{iYL',
  coordinates: '!BFfASFF@ZKAc~@Hc}b@K~_xc}m?vH?_y?b@K~_?y?bOvH?Xc}b@H',
  mf: 'C18H18O2',
  mw: 266.33892,
  label: 'Butyrolactone'
}, {
  idCode: 'fb}@`@@FrQQJIIIHsIDiHvgIsUPTE@@T@@_tRdF{vQwYr[C]cD[hzg]GIfMumqniaMv]Kn}drf{Vtw\\un{FSN[i[w][I`}uLfcwZrYO]sIl}tlf@',
  coordinates: String.raw`!Bb@J{UHc}f\CRtOy?b@KRtIg@bOvH?[mTs}JH@f]SLXCOtl?RLX@`,
  mf: 'C18H18O2',
  mw: 266.33892,
  label: 'Furanofuran lignan'
}, {
  idCode: 'fb}@`@@HRY[efuWHrRoIcejjh@@@h@@heHMv]ancb]v\\fhw^sNzNS\\{kYLInqi]wlfUwXr[W]kIcMumYnig]uLf}wRrXK]kQ[nYO]sIlmtl',
  coordinates: '!BFfASFF@ZKAbH?_x@b@K~_x`B?`BH?[_}bOvH@h`B?g?~_xc}bOt',
  mf: 'C18H16O2',
  mw: 264.32304,
  label: 'Arylnaphthalene lactone'
}, {
  idCode: 'flm@@@LddTTVbvebyjUcNBfjjjjjjj@C~fT@q`tJ\\bkXhqFMNiCfLZMr[BbtiLicEmWXsFSVlsfMf|qjpVMvbqarVLv@',
  coordinates: '!BetK~gzaBM`BWO_z`esvhOZ`}etK~gy]BjDK~hL~esyhqXNLx',
  mf: 'C19H32',
  mw: 260.46308,
  label: 'steroid'
}, {
  idCode: 'flm@@@LddTTVbvebyjUcNBfjjjjjjjhAPUDjNPOlPbdJc}LhCnq`tF{NPwZvF{FIwXtzc]GL{lZMqnmaMtmInie]vLVtw^qn{FSV[nYw]cYo]vMVCwXwZO]cCd}vLv@',
  coordinates: '!BmpK~_x`B?`Bw__x@mwvH_Xa}mpK~_{\\Bb@K~@A}eGqhq`ELX',
  mf: 'C19H32',
  mw: 260.46308,
  label: 'Androstane'
}, {
  idCode: 'fle@P@@\\\\eIfVWyWyZCEhFB@`H@Pi_t|dF{NQwXr[C]GD{jYMSnmdsF{vEw\\rZW]kIeMvMknedqfzvlwTwf{VBw\\tVzV@',
  coordinates: '!B?`BH@k\\BbGw~@Ox@?g~H@hc|m?s~@K_}?`BH?K_|mpK~@K\\B',
  mf: 'C15H12O4',
  mw: 256.25628,
  label: 'Chalcone'
}, {
  idCode: 'fluA@@@ISLrrn~QchaSUTDD@A@@G}DiCn}drF{vqwXrXg]GIjMvLqncn]ulfEwTrZW]gIeMuminicMv][nudsn{fS^[mXK]sQ{iYLene`',
  coordinates: '!BsA_LZNU_HNkeHBCeEOm?VVcSEOa?IfcLyU?eW~T`yRA?VW|f',
  mf: 'C18H20O',
  mw: 252.35579999999996,
  label: 'Monofuranic lignan 7-O-7′'
}, {
  idCode: 'fluA@@@ISKJn}jRfkQSUPTD@A@@G}DiAn}d]v\\fpwXqFzNiwQrYc][\\[jXS]gR{oYLinumMwL[nqdufzV]wVr[w]SI`}vlfcw\\rYO]KI`',
  coordinates: String.raw`!BG@\\^LE?lEjpIY\]fOwhw^cBp^?A{~c]fOw~{~cBzMwhw^cB`,
  mf: 'C18H20O',
  mw: 252.35579999999996,
  label: 'Monofuranic lignan 7-O-9′'
}, {
  idCode: 'fluA@@@IRjkLjo`chaSUUP@@A@@G}DiCnsdrF{NqwQrXc]GT{oYLqn}n]vLfDwXtnzvSJ{jYMinmcMuM[nudsn{fS^[mXK]sQ{iYLene`',
  coordinates: '!BKA`lYvAeXAjH@ha}bGw~_?y?b@Jw_Xa}bGvH__y??g~H@ha}',
  mf: 'C18H20O',
  mw: 252.35579999999996,
  label: 'Monofuranic lignan 9-O-9′'
}, {
  idCode: 'fdei`@LZlFHIJrQQQSIQEYDhZw`uUUPHEP@G}GIAc\\dI[ebgDTwJcfyLZwKdVECmVXuVm]gR[tvCQ`',
  coordinates: '!Bj?dT~_x@^bTEI_xrO]ZZtozUDoim~_{|i]Im~fwz?os~?@',
  mf: 'C10H13N5O3',
  mw: 251.24521999999996,
  label: 'deoxyadenosine'
}, {
  idCode: 'fdu@@@LddTRtjTrSA\\dZpXuUUUUUUT@hJddmHGqHQRIQjOtR`N{FsP{lXlcnqdvN{F{D{lX]Qncf]vMVywXtXW]cMiMv\\in}m]vLFLwVuf{V\\wXwfzVBwTtV{f@',
  coordinates: '!B?g~H?A|ZLPBH_Q}ebOuSYx`B?g~H_Xc}?g~H@hc}bGvH?@',
  mf: 'C18H30',
  mw: 246.43619999999999,
  label: 'Estrane'
}, {
  idCode: 'fhiQP@DX@IW`yEEDeDdbdsakMUMMUU@ASRPdrJMbsDfuFMrYEnUZRfyFRwJsfyNZwH',
  coordinates: '!B@yhCi_xl@yk~_pNZ?brT~ghe?bpCfaSyJO{~LozUDoh',
  mf: 'C10H14N2O5',
  mw: 242.23016,
  label: 'deoxythymidine'
}, {
  idCode: String.raw`fdy@@@DjU^{yVg@qBBJj@@@@he@]vLfawVrYG]SIl]wlfIwZrZg]sIf]t\fywRrXS]GR{lyLin}mMv\YnqkMulynioMvlEnyhmtl`,
  coordinates: String.raw`!B?g~H@k\BbOvH?[_}b@K~_{\BbOvw?_y?m?vH?_y??g~H?P`,
  mf: 'C18H22',
  mw: 238.37267999999997,
  label: 'Dibenzylbutane'
}, {
  idCode: String.raw`fde@@@LdbbTRtVRKIBTFHQEDE@D@AQJ@{kYMCnqdrN{VSX[oXg]SIj]wlfYwRr[c]cB[hzW]sIe]t\ftwVqfzflwYsn{NS^[mXK]sQ[iX`,
  coordinates: '!B?`BH?[_}b@Jw@h`B?g~w@hc}m?vw?Xc}GvT_Foy??g~H?P',
  mf: 'C18H20',
  mw: 236.35679999999996,
  label: 'Arylnaphthalene'
}, {
  idCode: String.raw`fde@@@LdbbbTRVQpcZ][t@DDDUA@AQJ@[kZG]SIdMvManub]vLfiw\rYc]S\[oXS]KR{kYLkn}dvnzVSF[nZs]GN{mYM{ncdpV{NcwYrX`,
  coordinates: '!B?g~[iBAzfyl`AWh`_?yzHGi__?yzWrAzfyl`AYndKwHoCP',
  mf: 'C18H20',
  mw: 236.35679999999996,
  label: 'Dibenzocycloctane'
}, {
  idCode: 'fhe@@@LdbbbTReryHQmN|Fjjjjjj`@iE@TzCFCHavFMFIUjTYcFK\\npfLfeMeQ[TfLqlufMV]YoL[lEcM`',
  coordinates: '!BbOvw?_x@?g~H@k\\B?g~w@k_}bOvH?_x@GvVH@a|ZTq`',
  mf: 'C17H28',
  mw: 232.40931999999998,
  label: 'steroid core'
}, {
  idCode: 'fhe@@@LdbbbTReryHQmN|Fjjjjjjj@TDaLadCz`HaBHYAhRJ@[lzG]cAdMt]cnqhqF{VhwXsN{FK\\[oXW]cIiMulinemMuL[nqlun{FkN[n[w]c]`}vLv@',
  coordinates: '!BbGvw__x@?g~H@k\\B?g~w?K_}bOvH__x@GvVH?A|ZTq`',
  mf: 'C17H28',
  mw: 232.40931999999998,
  label: 'Gonane'
}, {
  idCode: 'f`qQP@DX@ISoILrl{jsfcMUMMUT@G}MIBSHhvKLR[TXwIdVyUiJ[eiK\\cN[eYk\\`',
  coordinates: '!B@yhCi_xl@yk~_pNZ?brT~ghe?bpT~Rc~?cK~eQKz',
  mf: 'C9H12N2O5',
  mw: 228.20328,
  label: 'deoxyuridine'
}, {
  idCode: 'f`qpP@DXxBSoYEDhihTdjBtYijjji`@iiHRYEfqQbQZdvXqnPjliS\\mI[dYs\\kM[d',
  coordinates: '!B@yk~K@Ne@yhCfoy??bpCiYSz^bTT~Rc~?cK~eQKz',
  mf: 'C9H13N3O4',
  mw: 227.21921999999998,
  label: 'deoxycytidine'
}, {
  idCode: 'fhy@`@@BrJJJJIPy[`eV|EhJ`@@`@C~`T`wRrNzVcX[nXg]GQjMvlsnqdwFzfDwXtfzNTwVvnzvSF{jYMYn}g]vlf}w\\rXO]KI`',
  coordinates: '!B?`BH@k\\B?`BH_[]}?`Bw@h`Bb@K~_{\\BbGvw_[]}mpH',
  mf: 'C15H12O2',
  mw: 224.25827999999998,
  label: 'Isoflavanone'
}, {
  idCode: 'fhy@`@@JRYfYU_XhwgAZd@`@H@@hEHMtlanyl]tmFIwXrZc]SL{hzMqnua]ulfewTrYS]cZ[hxs][V{mYL{nydwf{vCwRrX',
  coordinates: '!B?`Bw@h`Bm?w~@Ox@bOw~_{\\Bb@JH@h`Bm?vw?Xc}mpH',
  mf: 'C15H10O2',
  mw: 222.24239999999998,
  label: 'Isoflavone'
}, {
  idCode: 'f`i@`@@VRYfYU]`eNMyh@`AB@@OzNrBnsdZ{NcXut]FIkiZMQWXsC]cAhwE]GBuvLFdkiYRnimJ{VLkoYrnyoJzv@',
  coordinates: '!B?g~w_Xa}?g~w@oy?b@JH_[]}mwvH_Xa}?g~w@h`B',
  mf: 'C14H8O2',
  mw: 208.21552,
  label: 'Anthraquinone'
}, {
  idCode: 'foQ@`@@BRYfYWvBUXsf`B@@`@C~cl`klyFnshvM]GQbZzVcTUvLpwXpZMqWQpm]cAiJzVTkj[RnucJ{vlknYrnm`',
  coordinates: '!B?g~w?Xc}?g~w@oy?b@JH?[_}m?vH?Xc}mpJH@`',
  mf: 'C13H8O2',
  mw: 196.20452,
  label: 'Xanthone'
}, {
  idCode: 'foQA@@@YEEEEDdbrRkF\\t@D@D@@_t]dE]gHuv]FqkhzLSWRtZbnqfF{FCQnJzNDkiZVnq`re]SZUvlYW^ue]sNUul',
  coordinates: '!B?g~w?Xc}?g~w@oy?b@Jw?Xc}m?vH?Xc}mpJH@`',
  mf: 'C14H10O',
  mw: 194.23239999999998,
  label: 'Anthrone'
}, {
  idCode: 'dg|@@DjU_eZx{BAH@@BJozN`]vLfcnmdr]uLfsnilq]vlfknyds]vMf{nedpmvMK][JwTvmvl[]sVwRp',
  coordinates: '!B?`Bw?Xc}mpJw?Hc|m?vH?_y?bOrH?Xc}b@H',
  mf: 'C14H12',
  mw: 180.24928,
  label: 'Stilbene'
}, {
  idCode: 'fgA@@@DjYU_VByHu`@@@@@@OzNpFnshtM]KQdJ{NpklXfnq`uE]KLut]FxkjXQnq`tZRnyeJzNtkmXrn}kJzv@',
  coordinates: String.raw`!B?g~H@k\BbOvw?Xc}m?vH@k\Bb@JH?Xc}b@H`,
  mf: 'C14H10',
  mw: 178.2334,
  label: 'Anthracene'
}, {
  idCode: 'dclD@@UIfV][iuhFAH@OzJdMtlg]KQl[nXnzNcTwZsMuMs]cBwQtmumk]{@',
  coordinates: '!B?`BH@k\\B?`BH?_x@mpJH@h`B?`BH?P',
  mf: 'C10H6O2',
  mw: 158.15563999999998,
  label: 'Naphtoquinone'
}, {
  idCode: 'dmLD@@QIe[VfeVi@B@C~`iC]SHwXvMwMS]K\\wQpmvmK]{JwVp',
  coordinates: '!Bb@JH?_x@b@JH@ox@bOvH@h`BbOt',
  mf: 'C9H6O2',
  mw: 146.14463999999998,
  label: 'Coumarin'
}, {
  idCode: 'dazH`Jx@aJ]nji`dG}JPGJQap|T\\MGGBaIppP',
  coordinates: '!B?g~H@k_}?g~H?[_}?g|',
  mf: 'C5H11NOS',
  mw: 133.21434,
  label: 'methionine'
}, {
  idCode: 'detH@@rQQJHtpsPT@`AQTAnqh{hzLc]SYwRtXfzNinyf[i[f{VEn}i[kX',
  coordinates: '!BbOvw?_y?b@K~_{_}bOvH?X`B',
  mf: 'C9H8O',
  mw: 132.16152,
  label: '2H-Chromene'
}, {
  idCode: 'daDD@@qJYnnjjh@htQcIkESUKM[]s@',
  coordinates: '!Bm?vH?[_|?g?~_x`BbOt',
  mf: 'C6H12O2',
  mw: 116.15928000000001,
  label: 'pyranose'
}, {
  idCode: 'gOp`AdifMjj`OzVIcJVMM^Yzp',
  coordinates: '!BTv]`YW?~KF_~_q`l',
  mf: 'C5H10O2',
  mw: 102.1324,
  label: 'furanose'
}, {
  idCode: 'gOp`Adigkjj`OzVIcKVMMYY|p',
  coordinates: '!Bm?vH?[_|?g?~_xc}',
  mf: 'C5H10O2',
  mw: 102.1324,
  label: 'pyranose core'
}, {
  idCode: 'gFp`AdidvjhC~abXrecSWf@',
  coordinates: '!BTv]`YW?~KF_~_p',
  mf: 'C4H8O2',
  mw: 88.10552,
  label: 'furanose core'
}];

/**
 * In place modification of the molecule to add auto labels to its atoms based on
 * a database of common substructures.
 * @param molecule
 */
function autoLabel(molecule) {
  const {
    Molecule
  } = molecule.getOCL();
  for (const entry of autoLabelDatabase) {
    const fragment = Molecule.fromIDCode(entry.idCode);
    const result = applyFragmentLabels(molecule, fragment, {
      algorithm: 'separated'
    });
    if (result > 0) return;
  }
}

const MAX_R = 10;
/**
 * Generate molecules and calculate predicted properties form a list of smiles and fragments
 * @param {string} coreSmiles
 * @param {Array} fragments - Array of {smiles,R1,R2,...}
 * @param {typeof import('openchemlib')} OCL - openchemlib library
 * @param {object} [options={}] - Options
 * @param {Function} [options.onStep] - method to execute each new molecules
 * @param {boolean} [options.complexity] - returns only the number of molecules to evaluate
 * @returns {Promise<any>} promise that resolves to molecules or complexity as a number
 */
async function combineSmiles(coreSmiles, fragments, OCL, options = {}) {
  const {
    complexity = false
  } = options;
  const core = getCore(coreSmiles);
  const rGroups = getRGroups(core, fragments);
  if (complexity) {
    return getComplexity(rGroups);
  }
  return generate(core, rGroups, OCL, options);
}
function getComplexity(rGroups) {
  let complexity = 1;
  for (const rGroup of rGroups) {
    complexity *= rGroup.smiles.length;
  }
  return complexity;
}
async function generate(core, rGroups, OCL, options = {}) {
  const {
    onStep
  } = options;
  const molecules = {};
  const sizes = new Array(rGroups.length);
  const currents = new Array(rGroups.length);
  for (let i = 0; i < rGroups.length; i++) {
    sizes[i] = rGroups[i].smiles.length - 1;
    currents[i] = 0;
  }
  let position = 0;
  let counter = 0;
  while (true) {
    counter++;
    while (position < currents.length) {
      if (currents[position] < sizes[position]) {
        if (onStep) {
          // eslint-disable-next-line no-await-in-loop
          await onStep(counter);
        }
        appendMolecule(molecules, core, rGroups, currents, OCL);
        currents[position]++;
        for (let i = 0; i < position; i++) {
          currents[i] = 0;
        }
        position = 0;
      } else {
        position++;
      }
    }
    if (position = currents.length) {
      if (onStep) {
        // eslint-disable-next-line no-await-in-loop
        await onStep(counter);
      }
      appendMolecule(molecules, core, rGroups, currents, OCL);
      break;
    }
  }
  const mols = Object.values(molecules);
  mols.sort((m1, m2) => m1.mw - m2.mw);
  return mols;
}
function appendMolecule(molecules, core, rGroups, currents, OCL) {
  let newSmiles = core.smiles;
  for (let i = 0; i < currents.length; i++) {
    newSmiles += `.${rGroups[i].smiles[currents[i]]}`;
  }
  const currentMol = OCL.Molecule.fromSmiles(newSmiles);
  const idCode = currentMol.getIDCode();
  if (!molecules[idCode]) {
    const molecule = {};
    molecules[idCode] = molecule;
    molecule.smiles = currentMol.toSmiles();
    molecule.combinedSmiles = newSmiles;
    molecule.idCode = idCode;
    molecule.molfile = currentMol.toMolfile();
    const props = new OCL.MoleculeProperties(currentMol);
    molecule.nbHAcceptor = props.acceptorCount;
    molecule.nbHDonor = props.donorCount;
    molecule.logP = props.logP;
    molecule.logS = props.logS;
    molecule.PSA = props.polarSurfaceArea;
    molecule.nbRottable = props.rotatableBondCount;
    molecule.nbStereoCenter = props.stereoCenterCount;
    const mf = currentMol.getMolecularFormula();
    molecule.mf = mf.formula;
    molecule.mw = mf.relativeWeight;
  }
}
function getCore(coreSmiles) {
  const core = {
    originalSmiles: coreSmiles,
    smiles: updateRPosition(coreSmiles).replaceAll(/\[R(?<group>[1-4])]/g, '%5$<group>')
  };
  for (let i = 0; i < MAX_R; i++) {
    if (core.originalSmiles.includes(`[R${i}]`)) core[`R${i}`] = true;
  }
  return core;
}
function getRGroups(core, fragments) {
  const rGroups = {};
  for (const fragment of fragments) {
    if (fragment.smiles) {
      const smiles = updateRPosition(fragment.smiles);
      for (let i = 0; i < MAX_R; i++) {
        if (core[`R${i}`] &&
        // we only consider the R that are in the core
        fragment[`R${i}`]) {
          if (!rGroups[`R${i}`]) {
            rGroups[`R${i}`] = {
              group: `R${i}`,
              smiles: []
            };
          }
          rGroups[`R${i}`].smiles.push(smiles.replace(/\[R]/, `(%5${i})`));
        }
      }
    }
  }
  return Object.keys(rGroups).map(key => rGroups[key]);
}
/**
 * Repositions an R-group marker when it appears at the beginning of a SMILES string.
 * R-group markers (`[R]`, `[R1]`, `[R2]`, ..., `[R9]`) at position 0 are not valid in
 * SMILES notation, so this function moves them after the first atom at the top level
 * of the molecular graph.
 * @param {string} smiles - SMILES string potentially starting with an R-group marker
 * @returns {string} SMILES string with the R-group marker repositioned if needed
 */
function updateRPosition(smiles) {
  // Match R group at the beginning: [R], [R1], [R2], ..., [R9]
  const match = smiles.match(/^\[R\d?]/);
  if (!match) return smiles;
  const rGroup = match[0];
  if (smiles.length === rGroup.length) return `[H]${rGroup}`;
  // we are in trouble ... we need to move the R
  const newSmiles = smiles.slice(rGroup.length);
  // we need to check where we should put the R group
  let level = 0;
  for (let j = 0; j < newSmiles.length; j++) {
    const currentChar = newSmiles.charAt(j);
    const currentSubstring = newSmiles.slice(j);
    if (currentChar === '(') {
      level++;
    } else if (currentChar === ')') {
      level--;
    } else if (level === 0) {
      if (currentSubstring.match(/^[a-z]/)) {
        return `${newSmiles.slice(0, Math.max(0, j + 1))}(${rGroup})${newSmiles.slice(j + 1)}`;
      } else if (currentSubstring.match(/^[A-Z][a-z]/)) {
        return `${newSmiles.slice(0, Math.max(0, j + 2))}(${rGroup})${newSmiles.slice(j + 2)}`;
      } else if (currentSubstring.match(/^[A-Z]/)) {
        return `${newSmiles.slice(0, Math.max(0, j + 1))}(${rGroup})${newSmiles.slice(j + 1)}`;
      }
    }
  }
  return smiles;
}

/**
 * Ensure that the data is string. If it is an ArrayBuffer it will be converted to string using TextDecoder.
 * @param blob
 * @param options
 * @returns
 */
function ensureString$1(blob, options = {}) {
  if (typeof blob === 'string') {
    return blob;
  }
  if (ArrayBuffer.isView(blob) || blob instanceof ArrayBuffer) {
    if (options.encoding) {
      return new TextDecoder(options.encoding).decode(blob);
    } else {
      return decodeText(blob);
    }
  }
  throw new TypeError(`blob must be a string, ArrayBuffer or ArrayBufferView`);
}
function decodeText(blob) {
  const uint8 = ArrayBuffer.isView(blob) ? new Uint8Array(blob.buffer, blob.byteOffset, blob.byteLength) : new Uint8Array(blob);
  if (uint8.length >= 2) {
    if (uint8[0] === 0xfe && uint8[1] === 0xff) {
      return new TextDecoder('utf-16be').decode(uint8);
    }
    if (uint8[0] === 0xff && uint8[1] === 0xfe) {
      return new TextDecoder('utf-16le').decode(uint8);
    }
  }
  try {
    return new TextDecoder('utf-8', {
      fatal: true
    }).decode(uint8);
  } catch {
    return new TextDecoder('latin1').decode(uint8);
  }
}

/**
 * Converts a string to camel case.
 * @param {string} name
 * @returns {string}
 */
function getCamelCase(name) {
  return name.replaceAll(/[ -][a-z]/g, string => string[1].toUpperCase());
}

function getParts(text) {
  const lines = text.split(/\r?\n/);
  const parts = {
    data: []
  };
  let currentPart = parts.data;
  let currentLabel = '';
  for (const line of lines) {
    if (line.startsWith('</')) {
      // close existing part
      if (currentLabel !== line.slice(2, -1)) {
        throw new Error('This should not happen');
      }
      currentLabel = '';
      currentPart = parts.data;
    } else if (line.startsWith('<') && !line.includes('=')) {
      // open new part
      if (currentLabel) {
        throw new Error('This should not happen');
      }
      currentLabel = line.slice(1, -1);
      const target = getCamelCase(currentLabel);
      parts[target] = [];
      currentPart = parts[target];
    } else if (currentLabel) {
      // add line to current part
      currentPart.push(line);
    } else {
      //data lines
      currentPart.push(line);
    }
  }
  return parts;
}

function parseColumnbProperties(lines) {
  lines = lines.map(line => {
    const [key, value] = line.slice(1, -1).split('=');
    return {
      key,
      value: value.slice(1, -1)
    };
  });
  const columnProperties = {};
  let currentColumnName = '';
  for (const line of lines) {
    switch (line.key) {
      case 'columnName':
        currentColumnName = line.value;
        columnProperties[currentColumnName] = {};
        break;
      case 'columnProperty':
        {
          if (!currentColumnName) {
            throw new Error('This should not happen');
          }
          const [key, value] = line.value.split('\t');
          columnProperties[currentColumnName][key] = value;
        }
        break;
      default:
        throw new Error('This should not happen');
    }
  }
  for (const key in columnProperties) {
    const columnPropery = columnProperties[key];
    if (columnProperties[key].parent) {
      const target = columnProperties[columnPropery.parent];
      if (!target) {
        throw new Error('Parent column not found');
      }
      if (!target.related) {
        target.related = {};
      }
      target.related[columnPropery.specialType] = key;
    }
  }
  return columnProperties;
}

function parseData(lines, options = {}) {
  lines = lines.filter(line => !line.match(/^\s*$/));
  const {
    columnProperties = {}
  } = options;
  const headers = lines.shift().split('\t').map(header => {
    if (columnProperties[header]) {
      return {
        label: header,
        ...columnProperties[header]
      };
    }
    return {
      label: header
    };
  });
  const entries = [];
  const rawEntries = [];
  for (const line of lines) {
    const fields = line.split('\t');
    const rawEntry = {};
    for (const [index, header] of headers.entries()) {
      rawEntry[header.label] = fields[index];
    }
    rawEntries.push(rawEntry);
    const entry = {};
    for (const header of headers) {
      if (header.parent) continue;
      entry[header.label] = valueEhnhancer(header, rawEntry);
    }
    entries.push(entry);
  }
  return {
    entries,
    rawEntries
  };
}
function valueEhnhancer(header, rawEntry) {
  if (header?.specialType === 'rxncode') {
    return `${rawEntry[header.label]}#${rawEntry[header.related.atomMapping]}#${rawEntry[header.related.idcoordinates2D]}`;
  }
  return rawEntry[header.label];
}
/*
entry.rxnCode =
*/

/**
 * Convert a DataWarrior database into a JSON object
 * @param {string} text
 * @returns
 */
function parseDwar(text) {
  text = ensureString$1(text);
  const parts = getParts(text);
  improveParts(parts);
  return parts;
}
function improveParts(parts) {
  for (const key in parts) {
    switch (key) {
      case 'columnProperties':
        parts[key] = parseColumnbProperties(parts[key]);
        break;
      case 'data':
        break;
      default:
        parts[key] = parseDefault(parts[key]);
    }
  }
  const data = parseData(parts.data, {
    columnProperties: parts.columnProperties
  });
  parts.data = data.entries;
  parts.rawData = data.rawEntries;
}
function parseDefault(lines) {
  const result = {};
  for (const line of lines) {
    const [key, value] = line.slice(1, -1).split('=');
    result[key] = value.slice(1, -1);
  }
  return result;
}

/**
 * Returns various information about atoms in the molecule
 * @param {import('openchemlib').Molecule} [molecule]
 */
function getAtomsInfo(molecule) {
  const OCL = molecule.getOCL();
  molecule.ensureHelperArrays(OCL.Molecule.cHelperRings);
  const diaIDs = getDiastereotopicAtomIDs(molecule);
  const results = [];
  for (let i = 0; i < diaIDs.length; i++) {
    const result = {
      oclID: diaIDs[i],
      extra: {
        singleBonds: 0,
        doubleBonds: 0,
        tripleBonds: 0,
        aromaticBonds: 0,
        cnoHybridation: 0 // should be 1 (sp), 2 (sp2) or 3 (sp3)
      }
    };
    const extra = result.extra;
    results.push(result);
    result.abnormalValence = molecule.getAtomAbnormalValence(i); // -1 is normal otherwise specified
    result.charge = molecule.getAtomCharge(i);
    result.cipParity = molecule.getAtomCIPParity(i);
    result.color = molecule.getAtomColor(i);
    result.customLabel = molecule.getAtomCustomLabel(i);
    //        result.esrGroup=molecule.getAtomESRGroup(i);
    //        result.esrType=molecule.getAtomESRType(i);
    result.atomicNo = molecule.getAtomicNo(i);
    result.label = molecule.getAtomLabel(i);
    //        result.list=molecule.getAtomList(i);
    //        result.listString=molecule.getAtomListString(i);
    //        result.mapNo=molecule.getAtomMapNo(i);
    result.mass = molecule.getAtomMass(i);
    //        result.parity=molecule.getAtomParity(i);
    //        result.pi=molecule.getAtomPi(i);
    //        result.preferredStereoBond=molecule.getAtomPreferredStereoBond(i);
    //        result.queryFeatures=molecule.getAtomQueryFeatures(i);
    result.radical = molecule.getAtomRadical(i);
    result.ringBondCount = molecule.getAtomRingBondCount(i);
    //        result.ringCount=molecule.getAtomRingCount(i);
    result.ringSize = molecule.getAtomRingSize(i);
    result.x = molecule.getAtomX(i);
    result.y = molecule.getAtomY(i);
    result.z = molecule.getAtomZ(i);
    result.allHydrogens = molecule.getAllHydrogens(i);
    result.connAtoms = molecule.getConnAtoms(i);
    result.allConnAtoms = molecule.getAllConnAtoms(i);
    result.implicitHydrogens = result.allHydrogens + result.connAtoms - result.allConnAtoms;
    result.isAromatic = molecule.isAromaticAtom(i);
    result.isAllylic = molecule.isAllylicAtom(i);
    result.isStereoCenter = molecule.isAtomStereoCenter(i);
    result.isRing = molecule.isRingAtom(i);
    result.isSmallRing = molecule.isSmallRingAtom(i);
    result.isStabilized = molecule.isStabilizedAtom(i);
    // todo HACK to circumvent bug in OCL that consider than an hydrogen is connected to itself
    result.extra.singleBonds = result.atomicNo === 1 ? 0 : result.implicitHydrogens;
    for (let j = 0; j < molecule.getAllConnAtoms(i); j++) {
      const bond = molecule.getConnBond(i, j);
      const bondOrder = molecule.getBondOrder(bond);
      if (molecule.isAromaticBond(bond)) {
        extra.aromaticBonds++;
      } else if (bondOrder === 1) {
        // not an hydrogen
        extra.singleBonds++;
      } else if (bondOrder === 2) {
        extra.doubleBonds++;
      } else if (bondOrder === 3) {
        extra.tripleBonds++;
      }
    }
    result.extra.totalBonds = result.extra.singleBonds + result.extra.doubleBonds + result.extra.tripleBonds + result.extra.aromaticBonds;
    if (result.atomicNo === 6) {
      result.extra.cnoHybridation = result.extra.totalBonds - 1;
    } else if (result.atomicNo === 7) {
      result.extra.cnoHybridation = result.extra.totalBonds;
    } else if (result.atomicNo === 8) {
      result.extra.cnoHybridation = result.extra.totalBonds + 1;
    } else if (result.atomicNo === 1) {
      const connectedAtom = molecule.getAllConnAtoms(i) === 0 ? 0 : molecule.getAtomicNo(molecule.getConnAtom(i, 0));
      result.extra.hydrogenOnAtomicNo = connectedAtom;
      if (connectedAtom === 7 || connectedAtom === 8) {
        result.extra.labileHydrogen = true;
      }
    }
  }
  return results;
}

function getImplicitHydrogensCount(molecule, atomID) {
  return molecule.getImplicitHydrogens(atomID);
}

var src = {};

Object.defineProperty(src, "__esModule", {
  value: true
});
var atomSorter_1 = src.atomSorter = atomSorter;
/**
 * Implementation of the Hill system for sorting atoms
 * https://en.wikipedia.org/wiki/Chemical_formula#Hill_system
 * @param a - first atom to compare
 * @param b - second atom to compare
 * @returns A value suitable for use in Array.prototype.sort.
 */
function atomSorter(a, b) {
  if (a === b) return 0;
  if (a === 'C') return -1;
  if (b === 'C') return 1;
  if (a === 'H') return -1;
  if (b === 'H') return 1;
  if (a < b) return -1;
  return 1;
}

/**
 * Calculate the molecular formula in 'chemcalc' notation taking into account fragments, isotopes and charges
 * @param {import('openchemlib').Molecule} molecule - an instance of OCL.Molecule
 * @returns {object}
 */
function getMF(molecule) {
  const entries = molecule.getFragments();
  const result = {};
  let parts = [];
  const allAtoms = [];
  for (const entry of entries) {
    const mf = getFragmentMF(entry, allAtoms);
    parts.push(mf);
  }
  const counts = {};
  for (const part of parts) {
    if (!counts[part]) counts[part] = 0;
    counts[part]++;
  }
  parts = [];
  const sortedKeys = Object.keys(counts);
  sortedKeys.sort();
  for (const key of sortedKeys) {
    if (counts[key] > 1) {
      parts.push(counts[key] + key);
    } else {
      parts.push(key);
    }
  }
  result.parts = parts;
  result.mf = toMFString(allAtoms);
  return result;
}
function getFragmentMF(molecule, allAtoms) {
  const atoms = [];
  for (let i = 0; i < molecule.getAllAtoms(); i++) {
    const atom = {
      charge: molecule.getAtomCharge(i),
      label: molecule.getAtomLabel(i),
      mass: molecule.getAtomMass(i),
      implicitHydrogens: molecule.getImplicitHydrogens(i)
    };
    if (atom.label === '?') atom.label = 'R';
    atoms.push(atom);
    allAtoms.push(atom);
  }
  return toMFString(atoms);
}
function toMFString(atoms) {
  let charge = 0;
  const mfs = {};
  for (const atom of atoms) {
    let label = atom.label;
    charge += atom.charge;
    if (atom.mass) {
      label = `[${atom.mass}${label}]`;
    }
    const mfAtom = mfs[label];
    if (!mfAtom) {
      mfs[label] = 0;
    }
    mfs[label] += 1;
    if (atom.implicitHydrogens) {
      if (!mfs.H) mfs.H = 0;
      mfs.H += atom.implicitHydrogens;
    }
  }
  let mf = '';
  const keys = Object.keys(mfs);
  keys.sort(atomSorter_1);
  for (const key of keys) {
    mf += key;
    if (mfs[key] > 1) mf += mfs[key];
  }
  if (charge > 0) {
    mf += `(+${charge > 1 ? charge : ''})`;
  } else if (charge < 0) {
    mf += `(${charge < -1 ? charge : '-'})`;
  }
  return mf;
}

/**
 * Returns the charge of a molecule
 * @param {import('openchemlib').Molecule} molecule - an instance of OCL.Molecule
 * @returns {number}
 */
function getCharge(molecule) {
  let charge = 0;
  for (let i = 0; i < molecule.getAllAtoms(); i++) {
    charge += molecule.getAtomCharge(i);
  }
  return charge;
}

/**
 * We have 2 molfiles and we would like to map the atom number from one to the other.
 * We expect that both molfiles contain the same atoms that can be in a different order.
 * @param {typeof import('openchemlib')} OCL - openchemlib library
 * @param {string} from
 * @param {string} to
 * @returns {{fromTo: number[], toFrom: number[]}} - fromTo is an array of the same length as the number of atoms in the from molfile. Each element is the index of the corresponding atom in the to molfile. toFrom is the opposite.
 */
function getMolfilesMapping(OCL, from, to) {
  const {
    Molecule
  } = OCL;
  const fromF = from.replaceAll(' H ', ' X ');
  const toF = to.replaceAll(' H ', ' X ');
  // we may ignore mapping because we should not have hydrogens anymore
  const fromMoleculeF = Molecule.fromMolfile(fromF);
  const toMoleculeF = Molecule.fromMolfile(toF);
  if (fromMoleculeF.getIDCode() !== toMoleculeF.getIDCode()) {
    // only a problem of hydrogens ?
    const fromMolecule = Molecule.fromMolfile(from);
    const toMolecule = Molecule.fromMolfile(to);
    if (fromMolecule.getIDCode() === toMolecule.getIDCode()) {
      throw new Error('Molecules do not have the same explicit hydrogens');
    } else {
      throw new Error('Molecules are different');
    }
  }
  const fromFinalRanks = [...fromMoleculeF.getFinalRanks()];
  const toFinalRanks = [...toMoleculeF.getFinalRanks()];
  // need now to create the mapping
  const fromTo = [];
  const toFrom = [];
  for (let i = 0; i < fromFinalRanks.length; i++) {
    const fromRank = fromFinalRanks[i];
    const toRank = toFinalRanks.indexOf(fromRank);
    if (toRank === -1) {
      throw new Error('Rank not found. This should never happen.');
    }
    fromTo[i] = toRank;
    toFrom[toRank] = i;
  }
  return {
    fromTo,
    toFrom
  };
}

const unsaturationsObject = {
  O: 0,
  N: 1,
  H: -1,
  C: 2,
  F: -1,
  Si: 2,
  Cl: -1,
  Br: -1,
  I: -1
};
/**
 * Simplified version of the calculation in mf-parser
 * @param mf
 * @returns
 */
function getUnsaturation(mf) {
  // split a molecular formula into its elements
  const elements = mf.match(/[A-Z][a-z]*\d*/g);
  if (!elements || elements.length === 0) return undefined;
  let unsaturation = 0;
  for (const element of elements) {
    const matches = element.match(/([A-Z][a-z]?)(\d*)/);
    const symbol = matches[1];
    const count = matches[2] ? Number.parseInt(matches[2], 10) : 1;
    const elementObject = unsaturationsObject[symbol];
    if (elementObject === undefined) {
      return undefined;
    }
    unsaturation += elementObject * count;
  }
  return unsaturation / 2 + 1;
}

// this page allows to debug the hints: https://my.cheminfo.org/?viewURL=https%3A%2F%2Fmyviews.cheminfo.org%2Fdb%2Fvisualizer%2Fentry%2F108024089da99d0cb70a57724486d0c6%2Fview.json
const defaultPossibleHints = [{
  idCode: String.raw`eF@Hp\pcc`,
  message: 'What about a non-aromatic ring?'
}, {
  idCode: 'eF@HpZpk|X`',
  message: 'You should consider an aromatic ring.'
}, {
  idCode: 'gFp@DiTt@@B',
  message: 'Did you think about benzene derivatives?'
}, {
  idCode: 'eFHBLFLYpB@QVE_cD',
  message: 'An aromatic cycle can be an heterocycle.'
}, {
  idCode: 'eMHJN`q[N@PBGN@PBJhjU~JU@',
  anyMatches: ['gFx@@eJf`@@P', 'gKP@Di\\YZ@qas`D@`'],
  message: 'There could be more than one heteroatom in an aromatic cycle.'
}, {
  idCode: 'gFp@DiTvjhCYbKFuXUEIVTUUWxlTeZMX',
  anyMatches: ['gKP@Di\\Zj@vhbqkPjJRlhj?FbdkQ`'],
  message: 'Aromatic cycles can have 5 or 6 atoms.',
  remarks: 'Proposed 5 and it is 6'
}, {
  idCode: 'gKP@Di\\Zj@vhbqkPjJRlhj?FbdkQ`',
  anyMatches: ['gFp@DiTvjhCYbKFuXUEIVTUUWxlTeZMX'],
  message: 'Aromatic cycles can have 5 or 6 atoms.',
  remarks: 'Proposed 6 and it is 5'
}, {
  idCode: 'gFx@@eJf`@@P',
  message: 'Did you think about pyridine derivatives?'
}, {
  idCode: 'gNp@LdbLjj@vdrpqSdm_qhXiKT',
  message: 'I would consider bicyclo products.',
  remarks: 'One atom bridge'
}, {
  idCode: 'eFHBJD',
  message: 'Adding a carbonyl could help.'
}, {
  idCode: 'eMHAIhMi}EqfFBmN?vP',
  message: 'You should consider an alcohol.'
}, {
  idCode: 'eMB@HRZCBKSFXXJt{?Y@',
  message: 'You should consider a thiol.'
}, {
  idCode: 'gJQ@@eKU@[KFJtLAa`sAUR]g_zlP',
  message: 'You should consider an ether.'
}, {
  idCode: 'gJQ@@eKU@[KFJtLAa`r`q?EAcuX`',
  anyMatches: ['gJQ@@eKU@[KFJtLAa`?uX`'],
  message: 'An ether can be in a cycle.'
}, {
  idCode: 'gJPH@DIRuPFrqbmC@XXLpUTgYw~kD',
  message: 'You should consider a thioether.'
}, {
  idCode: 'gJPH@DIRuPFrqbmC@XXLhL_qPX}VH',
  anyMatches: ['gJPH@DIRuPFrqbmC@XXO}VH'],
  message: 'A thioether can be in a cycle.'
}, {
  idCode: 'eM`AIhLHmLYa`kSo}d',
  message: 'You should consider a primary amine.',
  remarks: 'primary'
}, {
  idCode: 'gJX@@eKU@XPVVLUhXCCAUIv]?jq@',
  message: 'You should consider a secondary amine.',
  remarks: 'secondary'
}, {
  idCode: 'gNx@@eRmUPFDElZxxppVFAppUv\\WUw~xu`',
  message: 'You should consider a tertiary amine.',
  remarks: 'tertiary'
}, {
  idCode: 'gJX@@eKU@XPVVLUhXCCAeAcUIv]~JCGjq@',
  anyMatches: ['gJX@@eKU@XPVVLUhXCCAfBjd{N?uX`'],
  message: 'A secondary amine can be in a cycle.',
  remarks: 'secondary cyclic amine'
}, {
  idCode: 'gNx@@eRmUPFDElZxxppVFAppYPXuv\\WUwxhL^xu`',
  anyMatches: ['gNx@@eRmUPFDElZxxppVFAppY`j{NKj{?\\Zp'],
  message: 'A tertiary amine can be in a cycle.',
  remarks: 'tertiary cyclic amine'
}, {
  idCode: 'gGP`@df]j`MekEZFBppUa]?ju@',
  message: 'What about an ester?'
}, {
  idCode: 'gGP`@df]j`MekEZFBppYdZpn?FQzmP',
  anyMatches: ['gGP`@df]j`MekEZFBppUa]?ju@'],
  message: 'An ester can be in a cycle.'
}, {
  idCode: 'gGY@DDf]j`MekEZFBppUa]?ju@',
  message: 'There is an amide function in the molecule.'
}, {
  idCode: 'gGY@DDf]j`MekEZFBppYdZpn?FQzmP',
  anyMatches: ['gGY@DDf]j`MekEZFBppUa]?ju@@'],
  message: 'An amide can be in a cycle.'
}, {
  idCode: 'gCi@DDfZ@~btl',
  message: 'There is a primary amide in the molecule.'
}, {
  idCode: 'gC``@dfZ@~bl',
  message: 'You should think about carboxylic acids. The OH signal may be very wide.'
}, {
  idCode: String.raw`eF@Hh\q@`,
  message: 'What about having an olefin?'
}, {
  idCode: 'gFp@DiTt@@CqC^LmV[m`',
  anyMatches: ['gFp@DiTt@@CBqXwd@'],
  message: 'Did you think about disubstituted aromatic rings?',
  remarks: 'meta'
}, {
  idCode: 'gFp@DiTt@@CqB~LmWkM`',
  anyMatches: ['gFp@DiTt@@CBqXwd@'],
  message: 'Did you think about disubstituted aromatic rings?',
  remarks: 'para'
}, {
  idCode: 'gFp@DiTt@@CqB^JoV[m',
  anyMatches: ['gFp@DiTt@@CBqXwd@'],
  message: 'Did you think about disubstituted aromatic rings?',
  remarks: 'ortho'
}, {
  idCode: 'gFp@DiTt@@CqB^JoV[m',
  anyMatches: ['gFp@DiTt@@CqC^LmV[m`', 'gFp@DiTt@@CqB~LmWkM`'],
  message: 'Disubstituted aromatic ring can be ortho (1,2), meta (1,3) or para (1,4).',
  remarks: 'ortho'
}, {
  idCode: 'gFp@DiTt@@CqC^LmV[m`',
  anyMatches: ['gFp@DiTt@@CqB^JoV[m', 'gFp@DiTt@@CqB~LmWkM`'],
  message: 'Disubstituted aromatic ring can be ortho (1,2), meta (1,3) or para (1,4).',
  remarks: 'meta'
}, {
  idCode: 'gFp@DiTt@@CqB~LmWkM`',
  anyMatches: ['gFp@DiTt@@CqC^LmV[m`', 'gFp@DiTt@@CqB^JoV[m'],
  message: 'Disubstituted aromatic ring can be ortho (1,2), meta (1,3) or para (1,4).',
  remarks: 'para'
}, {
  idCode: 'gGP`@df]j`H',
  anyMatches: ['gGP`@dfUj`H'],
  message: 'You should check the orientation of the ester.'
}, {
  idCode: String.raw`gOq@@drm\@@Aa@`,
  message: 'Alcohols on aromatic ring may have surprising chemical shifts.'
}, {
  idCode: String.raw`gOx@@drm\@@A}A@`,
  message: 'NH on aromatic ring may have surprising chemical shifts.'
}, {
  idCode: 'eFHBJGuP',
  message: 'Hydrogens on a carbonyl have very high chemical shifts.'
}];
/**
 *
 * @param correct
 * @param proposed
 * @param options
 * @returns
 */
function getNMRHints(correct, proposed, options = {}) {
  const hints = [...checkMF(correct, proposed), ...checkUnsaturation(correct, proposed), ...checkStereoAndTautomer(correct, proposed)];
  const {
    possibleHints = defaultPossibleHints
  } = options;
  const OCL = correct.getOCL();
  const searcherCorrect = new OCL.SSSearcher();
  searcherCorrect.setMolecule(correct);
  const searcherAnswer = new OCL.SSSearcher();
  searcherAnswer.setMolecule(proposed);
  for (const possibleHint of possibleHints) {
    const {
      anyMatches
    } = possibleHint;
    if (anyMatches) {
      // we filter the molecules so they match at least one of the anyMatches
      let match = false;
      for (const anyMatch of anyMatches) {
        const matchFragment = OCL.Molecule.fromIDCode(anyMatch);
        searcherAnswer.setFragment(matchFragment);
        if (searcherAnswer.isFragmentInMolecule()) {
          match = true;
          break;
        }
      }
      if (!match) continue;
    }
    const fragment = OCL.Molecule.fromIDCode(possibleHint.idCode);
    searcherCorrect.setFragment(fragment);
    searcherAnswer.setFragment(fragment);
    if (searcherCorrect.isFragmentInMolecule() && !searcherAnswer.isFragmentInMolecule()) {
      hints.push(possibleHint);
    }
  }
  // we suggest symmetry only if MF is correct
  if (isMFCorrect(correct, proposed)) {
    hints.push(...checkSymmetry(correct, proposed));
  }
  return hints.map(hint => ({
    ...hint,
    hash: getHash(JSON.stringify(hint))
  }));
}
function isMFCorrect(correct, answer) {
  const mfCorrect = correct.getMolecularFormula().formula;
  const mfAnswer = answer.getMolecularFormula().formula;
  return mfCorrect === mfAnswer;
}
function checkMF(correct, answer) {
  if (isMFCorrect(correct, answer)) return [];
  return [{
    message: 'You should check the molecular formula.'
  }];
}
function checkUnsaturation(correct, answer) {
  const mfCorrect = correct.getMolecularFormula().formula;
  const mfAnswer = answer.getMolecularFormula().formula;
  if (mfCorrect !== mfAnswer) {
    const unsaturationCorrect = getUnsaturation(mfCorrect);
    const unsaturationAnswer = getUnsaturation(mfAnswer);
    if (unsaturationCorrect === unsaturationAnswer || unsaturationAnswer === undefined || unsaturationCorrect === undefined) {
      return [];
    }
    if (unsaturationCorrect > unsaturationAnswer) {
      return [{
        message: 'The proposed molecule has a double bond equivalent (DBE) that is too low.'
      }];
    } else {
      return [{
        message: 'The proposed molecule has a double bond equivalent (DBE) that is too high.'
      }];
    }
  }
  return [];
}
function checkStereoAndTautomer(correct, answer) {
  if (correct.getIDCode() === answer.getIDCode()) return [];
  if (getNoStereoIDCode(correct) === getNoStereoIDCode(answer)) {
    return [{
      message: 'There is only a problem with stereochemistry.'
    }];
  }
  if (getTautomerIDCode(correct) === getTautomerIDCode(answer)) {
    return [{
      message: "Weird, you didn't draw the expected tautomer."
    }];
  }
  return [];
}
function checkSymmetry(correct, answer) {
  const nbCorrectRanks = Object.keys(new TopicMolecule(correct).getDiaIDsObject()).length;
  const nbAnswerRanks = Object.keys(new TopicMolecule(answer).getDiaIDsObject()).length;
  if (nbCorrectRanks === nbAnswerRanks) return [];
  if (nbCorrectRanks > nbAnswerRanks) {
    return [{
      message: 'The proposed molecule is too symmetric.'
    }];
  } else {
    return [{
      message: 'The proposed molecule is not symmetric enough.'
    }];
  }
}
function getTautomerIDCode(molecule) {
  const OCL = molecule.getOCL();
  return OCL.CanonizerUtil.getIDCode(molecule, OCL.CanonizerUtil.TAUTOMER);
}
function getNoStereoIDCode(molecule) {
  const OCL = molecule.getOCL();
  return OCL.CanonizerUtil.getIDCode(molecule, OCL.CanonizerUtil.NOSTEREO);
}
/*
    https://github.com/bryc/code/blob/master/jshash/experimental/cyrb53.js
    cyrb53a (c) 2023 bryc (github.com/bryc)
    License: Public domain. Attribution appreciated.
    The original cyrb53 has a slight mixing bias in the low bits of h1.
    This shouldn't be a huge problem, but I want to try to improve it.
    This new version should have improved avalanche behavior, but
    it is not quite final, I may still find improvements.
    So don't expect it to always produce the same output.
*/
function getHash(str, seed = 0) {
  let h1 = 0xdeadbeef ^ seed;
  let h2 = 0x41c6ce57 ^ seed;
  for (let i = 0, ch; i < str.length; i++) {
    ch = str.codePointAt(i);
    h1 = Math.imul(h1 ^ ch, 0x85ebca77);
    h2 = Math.imul(h2 ^ ch, 0xc2b2ae3d);
  }
  h1 ^= Math.imul(h1 ^ h2 >>> 15, 0x735a2d97);
  h2 ^= Math.imul(h2 ^ h1 >>> 15, 0xcaf649a9);
  h1 ^= h2 >>> 16;
  h2 ^= h1 >>> 16;
  return 2097152 * (h2 >>> 0) + (h1 >>> 11);
}

/**
 *
 * @param correct
 * @param proposed
 * @param providedHints
 */
function getNextNMRHint(correct, proposed, providedHints) {
  const hints = getNMRHints(correct, proposed);
  const possibleHints = hints.filter(possibleHint => !providedHints.some(providedHint => possibleHint.hash === providedHint.hash));
  if (possibleHints.length === 0) return undefined;
  return {
    ...possibleHints[0],
    idCode: proposed.getIDCode()
  };
}

let toxicityPredictor;
let druglikenessPredictor;
/**
 *
 * @param {import('openchemlib').Molecule} molecule
 * @param {object} [options={}]
 * @param {boolean} [options.includeToxicities=false]
 * @param {boolean} [options.includeDruglikeness=false]
 */
function getProperties(molecule, options = {}) {
  const {
    includeToxicities = false,
    includeDruglikeness = false
  } = options;
  const OCL = molecule.getOCL();
  if (!OCL.MoleculeProperties) {
    throw new Error('OCL.MoleculeProperties is not defined');
  }
  const props = new OCL.MoleculeProperties(molecule);
  const moleculeFormula = molecule.getMolecularFormula();
  const result = {
    acceptorCount: props.acceptorCount,
    donorCount: props.donorCount,
    logP: props.logP,
    logS: props.logS,
    polarSurfaceArea: props.polarSurfaceArea,
    rotatableBondCount: props.rotatableBondCount,
    stereoCenterCount: props.stereoCenterCount,
    mw: moleculeFormula.relativeWeight,
    mf: moleculeFormula.formula
  };
  if (includeToxicities) {
    const {
      ToxicityPredictor
    } = molecule.getOCL();
    if (!ToxicityPredictor) {
      throw new Error('OCL.ToxicityPredictor is not defined');
    }
    if (!toxicityPredictor) {
      toxicityPredictor = new ToxicityPredictor();
    }
    result.mutagenic = toxicityPredictor.assessRisk(molecule, ToxicityPredictor.TYPE_MUTAGENIC);
    result.tumorigenic = toxicityPredictor.assessRisk(molecule, ToxicityPredictor.TYPE_TUMORIGENIC);
    result.irritant = toxicityPredictor.assessRisk(molecule, ToxicityPredictor.TYPE_IRRITANT);
    result.reproductiveEffective = toxicityPredictor.assessRisk(molecule, ToxicityPredictor.TYPE_REPRODUCTIVE_EFFECTIVE);
  }
  if (includeDruglikeness) {
    const {
      DruglikenessPredictor
    } = molecule.getOCL();
    if (!DruglikenessPredictor) {
      throw new Error('OCL.DruglikenessPredictor is not defined');
    }
    if (!druglikenessPredictor) {
      druglikenessPredictor = new DruglikenessPredictor();
    }
    result.drugLikeness = druglikenessPredictor.assessDruglikeness(molecule);
  }
  if (result.drugLikeness !== undefined && result.mutagenic !== undefined) {
    result.drugScore = OCL.DrugScoreCalculator.calculate(result.logP, result.polarSurfaceArea, result.mw, result.drugLikeness, [result.mutagenic, result.tumurogenic, result.irritant, result.reproductiveEffective]);
  }
  return result;
}

/**
 * Calculate the molecular formula in 'chemcalc' notation taking into account fragments, isotopes and charges
 * @param {OCL.Molecule} [molecule] - an instance of OCL.Molecule
 * @returns {}
 */
function getAtoms(molecule) {
  const entries = molecule.getFragments();
  const atoms = {};
  const result = {
    atoms,
    parts: []
  };
  for (const entry of entries) {
    const part = {};
    result.parts.push(part);
    appendAtomPart(entry, atoms, part);
  }
  return result;
}
function appendAtomPart(molecule, atoms, part) {
  for (let i = 0; i < molecule.getAllAtoms(); i++) {
    const label = molecule.getAtomLabel(i);
    if (!atoms[label]) {
      atoms[label] = 0;
    }
    atoms[label] += 1;
    if (!part[label]) {
      part[label] = 0;
    }
    part[label] += 1;
    const implicitHydrogens = molecule.getImplicitHydrogens(i);
    if (implicitHydrogens) {
      if (!atoms.H) {
        atoms.H = 0;
      }
      atoms.H += implicitHydrogens;
      if (!part.H) {
        part.H = 0;
      }
      part.H += implicitHydrogens;
    }
  }
}

/**
 * Return the number of Hydroxyl groups in a molecule or fragment
 * @param {import('openchemlib').Molecule} molecule
 * @returns {number} 'Number of Hydroxyl groups'
 */
function nbOH(molecule) {
  let counter = 0;
  for (let i = 0; i < molecule.getAllAtoms(); i++) {
    if (molecule.getAtomicNo(i) === 6) {
      let carbonyl = false;
      let hydroxyl = false;
      let carbonOrHydrogen = true;
      for (let neighbour = 0; neighbour < molecule.getConnAtoms(i); neighbour++) {
        const neighbourAtom = molecule.getConnAtom(i, neighbour);
        const neighbourBond = molecule.getConnBond(i, neighbour);
        if (molecule.getAtomicNo(neighbourAtom) === 8) {
          if (molecule.getBondOrder(neighbourBond) === 1 && molecule.getAllHydrogens(neighbourAtom) > 0) {
            // If there is more than a Hydroxyl in the same carbon atome they are not couted as Hydroxyl groups
            if (hydroxyl) {
              hydroxyl = false;
              break;
            }
            hydroxyl = true;
          } else if (molecule.getBondOrder(neighbourBond) === 2) {
            // If there is Carbonyl group on the same carbon atom it is not couted as Hydroxyl group
            carbonyl = true;
          }
        } else if (
        // If there is not at least one carbon or hydrogen as neighbour atom it is not counted as Hydroxyl group
        molecule.getAtomicNo(neighbourAtom) !== 6 && molecule.getAtomicNo(neighbourAtom) !== 1) {
          carbonOrHydrogen = false;
        }
      }
      if (!carbonyl && hydroxyl && carbonOrHydrogen) counter++;
    }
  }
  return counter;
}

/**
 * Return the number of Carboxyl groups in a molecule or fragment
 * @param {import('openchemlib').Molecule} molecule
 * @returns {number} 'Number of Carboxyl groups'
 */
function nbCOOH(molecule) {
  let counter = 0;
  for (let i = 0; i < molecule.getAllAtoms(); i++) {
    if (molecule.getAtomicNo(i) === 6) {
      let carbonyl = false;
      let hydroxyl = false;
      let carbonOrHydrogen = true;
      for (let neighbour = 0; neighbour < molecule.getConnAtoms(i); neighbour++) {
        const neighbourAtom = molecule.getConnAtom(i, neighbour);
        const neighbourBond = molecule.getConnBond(i, neighbour);
        if (molecule.getAtomicNo(neighbourAtom) === 8) {
          if (molecule.getBondOrder(neighbourBond) === 1 && molecule.getAllHydrogens(neighbourAtom) > 0) {
            // If there is more than a Hydroxyl in the same carbon atom it is not couted as Carboxyl group
            if (hydroxyl) {
              hydroxyl = false;
              break;
            }
            hydroxyl = true;
          } else if (molecule.getBondOrder(neighbourBond) === 2) {
            // If there is more than one carbonyl in the same carbon atom it is not count as Carboxyl group
            if (carbonyl) {
              carbonyl = false;
              break;
            }
            carbonyl = true;
          }
        } else if (
        // If there is not at least one carbon or hydrogen as neighbour atom it is not counted as Carboxyl group
        molecule.getAtomicNo(neighbourAtom) !== 6 && molecule.getAtomicNo(neighbourAtom) !== 1) {
          carbonOrHydrogen = false;
        }
      }
      if (carbonyl && hydroxyl && carbonOrHydrogen) counter++;
    }
  }
  return counter;
}

/**
 * Return the number of Carbonyl groups in a molecule or fragment
 * @param {import('openchemlib').Molecule} molecule
 * @returns {number} 'Number of Carbonyl groups'
 */
function nbCHO(molecule) {
  let counter = 0;
  for (let i = 0; i < molecule.getAllAtoms(); i++) {
    // if there is not at least one hydrogen in the carbon atom there can not be a carbonyl group
    if (molecule.getAtomicNo(i) === 6 && molecule.getAllHydrogens(i) > 0) {
      let carbonyl = false;
      let carbonOrHydrogen = true;
      for (let neighbour = 0; neighbour < molecule.getConnAtoms(i); neighbour++) {
        const neighbourAtom = molecule.getConnAtom(i, neighbour);
        const neighbourBond = molecule.getConnBond(i, neighbour);
        if (molecule.getAtomicNo(neighbourAtom) === 8) {
          if (molecule.getBondOrder(neighbourBond) === 2) {
            // If there is more than one carbonyl group on the same carbon atom they are not counted as carbonyl groups
            if (carbonyl) {
              carbonyl = false;
              break;
            }
            carbonyl = true;
          }
        } else if (
        // If there is not at least one carbon or hydrogen as neighbour atom it is not counted as Carbonyl group
        molecule.getAtomicNo(neighbourAtom) !== 6 && molecule.getAtomicNo(neighbourAtom) !== 1) {
          carbonOrHydrogen = false;
        }
      }
      if (carbonyl && carbonOrHydrogen) counter++;
    }
  }
  return counter;
}

/**
 * Return the number of Primary amine groups in a molecule or fragment
 * @param {import('openchemlib').Molecule} molecule
 * @returns {number} 'Number of Primary amine groups'
 */
function nbNH2(molecule) {
  let counter = 0;
  for (let i = 0; i < molecule.getAllAtoms(); i++) {
    if (molecule.getAtomicNo(i) === 6) {
      let amine = false;
      let carbonOrHydrogen = true;
      for (let neighbour = 0; neighbour < molecule.getConnAtoms(i); neighbour++) {
        const neighbourAtom = molecule.getConnAtom(i, neighbour);
        const neighbourBond = molecule.getConnBond(i, neighbour);
        if (molecule.getAtomicNo(neighbourAtom) === 7 && molecule.getBondOrder(neighbourBond) === 1 && molecule.getAllHydrogens(neighbourAtom) > 1) {
          // If there is more than a Primary amine in the same carbon atom they are not couted as Primary amines groups
          if (amine) {
            amine = false;
            break;
          }
          amine = true;
        } else if (
        // If there is not at least one carbon or hydrogen as neighbour atom it is not counted as Primary amine group
        molecule.getAtomicNo(neighbourAtom) !== 6 && molecule.getAtomicNo(neighbourAtom) !== 1) {
          carbonOrHydrogen = false;
        }
      }
      if (amine && carbonOrHydrogen) counter++;
    }
  }
  return counter;
}

/**
 * Return the number of Nitrile groups in a molecule or fragment
 * @param {import('openchemlib').Molecule} molecule
 * @returns {number} 'Number of Nitrile groups'
 */
function nbCN(molecule) {
  let counter = 0;
  for (let i = 0; i < molecule.getAllAtoms(); i++) {
    if (molecule.getAtomicNo(i) === 6) {
      let cn = false;
      let carbonOrHydrogen = true;
      for (let neighbour = 0; neighbour < molecule.getConnAtoms(i); neighbour++) {
        const neighbourAtom = molecule.getConnAtom(i, neighbour);
        const neighbourBond = molecule.getConnBond(i, neighbour);
        if (molecule.getAtomicNo(neighbourAtom) === 7 && molecule.getBondOrder(neighbourBond) === 3) {
          // If there is more than one Nitrile group in the same carbon atome they are not counted as Nitrile groups
          if (cn) {
            cn = false;
            break;
          }
          cn = true;
        } else if (
        // If there is not at least one carbon or hydrogen as neighbour atom it is not counted as Nitrile group
        molecule.getAtomicNo(neighbourAtom) !== 6 && molecule.getAtomicNo(neighbourAtom) !== 1) {
          carbonOrHydrogen = false;
        }
      }
      if (cn && carbonOrHydrogen) counter++;
    }
  }
  return counter;
}

/**
 * Return the number of labile protons being either on O, N, Br, Cl, F, I or S
 * @param {import('openchemlib').Molecule} molecule
 * @param {object} [options={}]
 * @param {Array<number>} [options.atomicNumbers=[7, 8, 9, 16, 17, 35, 53]] - atomic numbers of the labile protons
 * @returns {number} 'Number of labile protons'
 */
function nbLabileH(molecule, options = {}) {
  const {
    atomicNumbers = [7, 8, 9, 16, 17, 35, 53]
  } = options;
  let counter = 0;
  for (let i = 0; i < molecule.getAllAtoms(); i++) {
    if (atomicNumbers.includes(molecule.getAtomicNo(i))) {
      counter += molecule.getAllHydrogens(i);
    }
  }
  return counter;
}

/**
 * Toggle presence of implicity hydrogens on/off
 * @param molecule
 * @param atomID
 */
function toggleHydrogens(molecule, atomID) {
  if (molecule.getImplicitHydrogens(atomID) === 0) {
    const atomsToDelete = [];
    for (let i = 0; i < molecule.getAllConnAtoms(atomID); i++) {
      const connectedAtom = molecule.getConnAtom(atomID, i);
      if (molecule.getAtomicNo(connectedAtom) === 1) {
        atomsToDelete.push(connectedAtom);
      }
    }
    molecule.deleteAtoms(atomsToDelete);
  } else {
    molecule.addImplicitHydrogens(atomID);
  }
}

function toVisualizerMolfile(molecule, options = {}) {
  const {
    diastereotopic,
    heavyAtomHydrogen
  } = options;
  let highlight = [];
  let atoms = {};
  if (diastereotopic) {
    const hydrogenInfo = {};
    const extendedIDs = getDiastereotopicAtomIDsAndH(molecule);
    for (const line of extendedIDs) {
      hydrogenInfo[line.oclID] = line;
    }
    const diaIDs = getGroupedDiastereotopicAtomIDs(molecule);
    for (const diaID of diaIDs) {
      atoms[diaID.oclID] = diaID.atoms;
      highlight.push(diaID.oclID);
      if (heavyAtomHydrogen && hydrogenInfo[diaID.oclID] && hydrogenInfo[diaID.oclID].nbHydrogens > 0) {
        for (const id of hydrogenInfo[diaID.oclID].hydrogenOCLIDs) {
          highlight.push(id);
          atoms[id] = diaID.atoms;
        }
      }
    }
  } else {
    const size = molecule.getAllAtoms();
    highlight = new Array(size).fill(0).map((a, index) => index);
    atoms = highlight.map(a => [a]);
  }
  const molfile = {
    type: 'mol2d',
    value: molecule.toMolfile(),
    _highlight: highlight,
    _atoms: atoms
  };
  return molfile;
}

/**
 * Calculates the path between 2 atoms
 * @param {import('openchemlib').Molecule} molecule
 * @param {number} from - index of the first atom
 * @param {number} to - index of the end atom
 * @param {number} maxLength - maximal length of the path
 */
function getPathAndTorsion(molecule, from, to, maxLength) {
  const originalAtoms = []; // path before renumbering
  molecule.getPath(originalAtoms, from, to, maxLength + 1);
  let torsion;
  if (originalAtoms.length === 4) {
    torsion = molecule.calculateTorsion(originalAtoms);
  }
  return {
    atoms: originalAtoms,
    from,
    to,
    torsion,
    length: originalAtoms.length - 1
  };
}

let fragment;
/**
 *
 * @param {import('openchemlib').Molecule} molecule
 * @param {object} [options={}]
 * @param {string} [options.fromLabel='H']
 * @param {string} [options.toLabel='H']
 * @param {number} [options.minLength=1]
 * @param {number} [options.maxLength=4]
 * @param {boolean} [options.withHOSES=false]
 */
function getPathsInfo(molecule, options = {}) {
  const {
    fromLabel = 'H',
    toLabel = 'H',
    minLength = 1,
    maxLength = 4,
    withHOSES = false
  } = options;
  const OCL = molecule.getOCL();
  if (!fragment) {
    fragment = new OCL.Molecule(0, 0);
  }
  const fromAtomicNumber = OCL.Molecule.getAtomicNoFromLabel(fromLabel);
  const toAtomicNumber = OCL.Molecule.getAtomicNoFromLabel(toLabel);
  // we need to find all the atoms 'fromLabel' and 'toLabel'
  const atomsInfo = getAtomsInfo(molecule);
  const pathLengthMatrix = getConnectivityMatrix(molecule, {
    pathLength: true
  });
  for (let from = 0; from < molecule.getAllAtoms(); from++) {
    atomsInfo[from].paths = [];
    for (let to = 0; to < molecule.getAllAtoms(); to++) {
      if (from !== to && molecule.getAtomicNo(from) === fromAtomicNumber && molecule.getAtomicNo(to) === toAtomicNumber) {
        const pathLength = pathLengthMatrix[from][to];
        if (pathLength >= minLength && pathLength <= maxLength) {
          if (withHOSES) {
            atomsInfo[from].paths.push(getHoseCodesForPath(molecule, from, to, pathLength));
          } else {
            atomsInfo[from].paths.push(getPathAndTorsion(molecule, from, to, pathLength));
          }
        }
      }
    }
  }
  return atomsInfo;
}

/**
 * Get the shortest path between each pair of atoms in the molecule
 * @param {import('openchemlib').Molecule} molecule
 * @param {object} [options={}]
 * @param {string} [options.fromLabel='H']
 * @param {string} [options.toLabel='H']
 * @param {number} [options.maxLength=4]
 * @returns {Array<Array>} A matrix containing on each cell (i,j) the shortest path from atom i to atom j
 */
function getShortestPaths(molecule, options = {}) {
  const OCL = molecule.getOCL();
  const {
    fromLabel = '',
    toLabel = '',
    maxLength = 3
  } = options;
  const fromAtomicNumber = OCL.Molecule.getAtomicNoFromLabel(fromLabel);
  const toAtomicNumber = OCL.Molecule.getAtomicNoFromLabel(toLabel);
  const nbAtoms = molecule.getAllAtoms();
  const allShortestPaths = new Array(nbAtoms);
  for (let i = 0; i < nbAtoms; i++) {
    allShortestPaths[i] = new Array(nbAtoms);
  }
  for (let from = 0; from < nbAtoms; from++) {
    allShortestPaths[from][from] = [from];
    for (let to = from + 1; to < nbAtoms; to++) {
      if ((fromAtomicNumber === 0 || molecule.getAtomicNo(from) === fromAtomicNumber) && (toAtomicNumber === 0 || molecule.getAtomicNo(to) === toAtomicNumber)) {
        const path = [];
        molecule.getPath(path, from, to, maxLength);
        if (path.length > 0) {
          allShortestPaths[from][to] = path.slice();
          allShortestPaths[to][from] = path.toReversed();
        } else {
          allShortestPaths[from][to] = null;
          allShortestPaths[to][from] = null;
        }
      } else {
        allShortestPaths[from][to] = null;
        allShortestPaths[to][from] = null;
      }
    }
  }
  return allShortestPaths;
}

var papaparse_min$1 = {exports: {}};

/* @license
Papa Parse
v5.5.3
https://github.com/mholt/PapaParse
License: MIT
*/
var papaparse_min = papaparse_min$1.exports;
(function (module, exports$1) {
  ((e, t) => {
    module.exports = t() ;
  })(papaparse_min, function r() {
    var n = "undefined" != typeof self ? self : "undefined" != typeof window ? window : void 0 !== n ? n : {};
    var d,
      s = !n.document && !!n.postMessage,
      a = n.IS_PAPA_WORKER || false,
      o = {},
      h = 0,
      v = {};
    function u(e) {
      this._handle = null, this._finished = false, this._completed = false, this._halted = false, this._input = null, this._baseIndex = 0, this._partialLine = "", this._rowCount = 0, this._start = 0, this._nextChunk = null, this.isFirstChunk = true, this._completeResults = {
        data: [],
        errors: [],
        meta: {}
      }, function (e) {
        var t = b(e);
        t.chunkSize = parseInt(t.chunkSize), e.step || e.chunk || (t.chunkSize = null);
        this._handle = new i(t), (this._handle.streamer = this)._config = t;
      }.call(this, e), this.parseChunk = function (t, e) {
        var i = parseInt(this._config.skipFirstNLines) || 0;
        if (this.isFirstChunk && 0 < i) {
          let e = this._config.newline;
          e || (r = this._config.quoteChar || '"', e = this._handle.guessLineEndings(t, r)), t = [...t.split(e).slice(i)].join(e);
        }
        this.isFirstChunk && U(this._config.beforeFirstChunk) && void 0 !== (r = this._config.beforeFirstChunk(t)) && (t = r), this.isFirstChunk = false, this._halted = false;
        var i = this._partialLine + t,
          r = (this._partialLine = "", this._handle.parse(i, this._baseIndex, !this._finished));
        if (!this._handle.paused() && !this._handle.aborted()) {
          t = r.meta.cursor, i = (this._finished || (this._partialLine = i.substring(t - this._baseIndex), this._baseIndex = t), r && r.data && (this._rowCount += r.data.length), this._finished || this._config.preview && this._rowCount >= this._config.preview);
          if (a) n.postMessage({
            results: r,
            workerId: v.WORKER_ID,
            finished: i
          });else if (U(this._config.chunk) && !e) {
            if (this._config.chunk(r, this._handle), this._handle.paused() || this._handle.aborted()) return void (this._halted = true);
            this._completeResults = r = void 0;
          }
          return this._config.step || this._config.chunk || (this._completeResults.data = this._completeResults.data.concat(r.data), this._completeResults.errors = this._completeResults.errors.concat(r.errors), this._completeResults.meta = r.meta), this._completed || !i || !U(this._config.complete) || r && r.meta.aborted || (this._config.complete(this._completeResults, this._input), this._completed = true), i || r && r.meta.paused || this._nextChunk(), r;
        }
        this._halted = true;
      }, this._sendError = function (e) {
        U(this._config.error) ? this._config.error(e) : a && this._config.error && n.postMessage({
          workerId: v.WORKER_ID,
          error: e,
          finished: false
        });
      };
    }
    function f(e) {
      var r;
      (e = e || {}).chunkSize || (e.chunkSize = v.RemoteChunkSize), u.call(this, e), this._nextChunk = s ? function () {
        this._readChunk(), this._chunkLoaded();
      } : function () {
        this._readChunk();
      }, this.stream = function (e) {
        this._input = e, this._nextChunk();
      }, this._readChunk = function () {
        if (this._finished) this._chunkLoaded();else {
          if (r = new XMLHttpRequest(), this._config.withCredentials && (r.withCredentials = this._config.withCredentials), s || (r.onload = y(this._chunkLoaded, this), r.onerror = y(this._chunkError, this)), r.open(this._config.downloadRequestBody ? "POST" : "GET", this._input, !s), this._config.downloadRequestHeaders) {
            var e,
              t = this._config.downloadRequestHeaders;
            for (e in t) r.setRequestHeader(e, t[e]);
          }
          var i;
          this._config.chunkSize && (i = this._start + this._config.chunkSize - 1, r.setRequestHeader("Range", "bytes=" + this._start + "-" + i));
          try {
            r.send(this._config.downloadRequestBody);
          } catch (e) {
            this._chunkError(e.message);
          }
          s && 0 === r.status && this._chunkError();
        }
      }, this._chunkLoaded = function () {
        4 === r.readyState && (r.status < 200 || 400 <= r.status ? this._chunkError() : (this._start += this._config.chunkSize || r.responseText.length, this._finished = !this._config.chunkSize || this._start >= (e => null !== (e = e.getResponseHeader("Content-Range")) ? parseInt(e.substring(e.lastIndexOf("/") + 1)) : -1)(r), this.parseChunk(r.responseText)));
      }, this._chunkError = function (e) {
        e = r.statusText || e;
        this._sendError(new Error(e));
      };
    }
    function l(e) {
      (e = e || {}).chunkSize || (e.chunkSize = v.LocalChunkSize), u.call(this, e);
      var i,
        r,
        n = "undefined" != typeof FileReader;
      this.stream = function (e) {
        this._input = e, r = e.slice || e.webkitSlice || e.mozSlice, n ? ((i = new FileReader()).onload = y(this._chunkLoaded, this), i.onerror = y(this._chunkError, this)) : i = new FileReaderSync(), this._nextChunk();
      }, this._nextChunk = function () {
        this._finished || this._config.preview && !(this._rowCount < this._config.preview) || this._readChunk();
      }, this._readChunk = function () {
        var e = this._input,
          t = (this._config.chunkSize && (t = Math.min(this._start + this._config.chunkSize, this._input.size), e = r.call(e, this._start, t)), i.readAsText(e, this._config.encoding));
        n || this._chunkLoaded({
          target: {
            result: t
          }
        });
      }, this._chunkLoaded = function (e) {
        this._start += this._config.chunkSize, this._finished = !this._config.chunkSize || this._start >= this._input.size, this.parseChunk(e.target.result);
      }, this._chunkError = function () {
        this._sendError(i.error);
      };
    }
    function c(e) {
      var i;
      u.call(this, e = e || {}), this.stream = function (e) {
        return i = e, this._nextChunk();
      }, this._nextChunk = function () {
        var e, t;
        if (!this._finished) return e = this._config.chunkSize, i = e ? (t = i.substring(0, e), i.substring(e)) : (t = i, ""), this._finished = !i, this.parseChunk(t);
      };
    }
    function p(e) {
      u.call(this, e = e || {});
      var t = [],
        i = true,
        r = false;
      this.pause = function () {
        u.prototype.pause.apply(this, arguments), this._input.pause();
      }, this.resume = function () {
        u.prototype.resume.apply(this, arguments), this._input.resume();
      }, this.stream = function (e) {
        this._input = e, this._input.on("data", this._streamData), this._input.on("end", this._streamEnd), this._input.on("error", this._streamError);
      }, this._checkIsFinished = function () {
        r && 1 === t.length && (this._finished = true);
      }, this._nextChunk = function () {
        this._checkIsFinished(), t.length ? this.parseChunk(t.shift()) : i = true;
      }, this._streamData = y(function (e) {
        try {
          t.push("string" == typeof e ? e : e.toString(this._config.encoding)), i && (i = !1, this._checkIsFinished(), this.parseChunk(t.shift()));
        } catch (e) {
          this._streamError(e);
        }
      }, this), this._streamError = y(function (e) {
        this._streamCleanUp(), this._sendError(e);
      }, this), this._streamEnd = y(function () {
        this._streamCleanUp(), r = true, this._streamData("");
      }, this), this._streamCleanUp = y(function () {
        this._input.removeListener("data", this._streamData), this._input.removeListener("end", this._streamEnd), this._input.removeListener("error", this._streamError);
      }, this);
    }
    function i(m) {
      var n,
        s,
        a,
        t,
        o = Math.pow(2, 53),
        h = -o,
        u = /^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,
        d = /^((\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)))$/,
        i = this,
        r = 0,
        f = 0,
        l = false,
        e = false,
        c = [],
        p = {
          data: [],
          errors: [],
          meta: {}
        };
      function y(e) {
        return "greedy" === m.skipEmptyLines ? "" === e.join("").trim() : 1 === e.length && 0 === e[0].length;
      }
      function g() {
        if (p && a && (k("Delimiter", "UndetectableDelimiter", "Unable to auto-detect delimiting character; defaulted to '" + v.DefaultDelimiter + "'"), a = false), m.skipEmptyLines && (p.data = p.data.filter(function (e) {
          return !y(e);
        })), _()) {
          if (p) if (Array.isArray(p.data[0])) {
            for (var e = 0; _() && e < p.data.length; e++) p.data[e].forEach(t);
            p.data.splice(0, 1);
          } else p.data.forEach(t);
          function t(e, t) {
            U(m.transformHeader) && (e = m.transformHeader(e, t)), c.push(e);
          }
        }
        function i(e, t) {
          for (var i = m.header ? {} : [], r = 0; r < e.length; r++) {
            var n = r,
              s = e[r],
              s = ((e, t) => (e => (m.dynamicTypingFunction && void 0 === m.dynamicTyping[e] && (m.dynamicTyping[e] = m.dynamicTypingFunction(e)), true === (m.dynamicTyping[e] || m.dynamicTyping)))(e) ? "true" === t || "TRUE" === t || "false" !== t && "FALSE" !== t && ((e => {
                if (u.test(e)) {
                  e = parseFloat(e);
                  if (h < e && e < o) return 1;
                }
              })(t) ? parseFloat(t) : d.test(t) ? new Date(t) : "" === t ? null : t) : t)(n = m.header ? r >= c.length ? "__parsed_extra" : c[r] : n, s = m.transform ? m.transform(s, n) : s);
            "__parsed_extra" === n ? (i[n] = i[n] || [], i[n].push(s)) : i[n] = s;
          }
          return m.header && (r > c.length ? k("FieldMismatch", "TooManyFields", "Too many fields: expected " + c.length + " fields but parsed " + r, f + t) : r < c.length && k("FieldMismatch", "TooFewFields", "Too few fields: expected " + c.length + " fields but parsed " + r, f + t)), i;
        }
        var r;
        p && (m.header || m.dynamicTyping || m.transform) && (r = 1, !p.data.length || Array.isArray(p.data[0]) ? (p.data = p.data.map(i), r = p.data.length) : p.data = i(p.data, 0), m.header && p.meta && (p.meta.fields = c), f += r);
      }
      function _() {
        return m.header && 0 === c.length;
      }
      function k(e, t, i, r) {
        e = {
          type: e,
          code: t,
          message: i
        };
        void 0 !== r && (e.row = r), p.errors.push(e);
      }
      U(m.step) && (t = m.step, m.step = function (e) {
        p = e, _() ? g() : (g(), 0 !== p.data.length && (r += e.data.length, m.preview && r > m.preview ? s.abort() : (p.data = p.data[0], t(p, i))));
      }), this.parse = function (e, t, i) {
        var r = m.quoteChar || '"',
          r = (m.newline || (m.newline = this.guessLineEndings(e, r)), a = false, m.delimiter ? U(m.delimiter) && (m.delimiter = m.delimiter(e), p.meta.delimiter = m.delimiter) : ((r = ((e, t, i, r, n) => {
            var s, a, o, h;
            n = n || [",", "\t", "|", ";", v.RECORD_SEP, v.UNIT_SEP];
            for (var u = 0; u < n.length; u++) {
              for (var d, f = n[u], l = 0, c = 0, p = 0, g = (o = void 0, new E({
                  comments: r,
                  delimiter: f,
                  newline: t,
                  preview: 10
                }).parse(e)), _ = 0; _ < g.data.length; _++) i && y(g.data[_]) ? p++ : (d = g.data[_].length, c += d, void 0 === o ? o = d : 0 < d && (l += Math.abs(d - o), o = d));
              0 < g.data.length && (c /= g.data.length - p), (void 0 === a || l <= a) && (void 0 === h || h < c) && 1.99 < c && (a = l, s = f, h = c);
            }
            return {
              successful: !!(m.delimiter = s),
              bestDelimiter: s
            };
          })(e, m.newline, m.skipEmptyLines, m.comments, m.delimitersToGuess)).successful ? m.delimiter = r.bestDelimiter : (a = true, m.delimiter = v.DefaultDelimiter), p.meta.delimiter = m.delimiter), b(m));
        return m.preview && m.header && r.preview++, n = e, s = new E(r), p = s.parse(n, t, i), g(), l ? {
          meta: {
            paused: true
          }
        } : p || {
          meta: {
            paused: false
          }
        };
      }, this.paused = function () {
        return l;
      }, this.pause = function () {
        l = true, s.abort(), n = U(m.chunk) ? "" : n.substring(s.getCharIndex());
      }, this.resume = function () {
        i.streamer._halted ? (l = false, i.streamer.parseChunk(n, true)) : setTimeout(i.resume, 3);
      }, this.aborted = function () {
        return e;
      }, this.abort = function () {
        e = true, s.abort(), p.meta.aborted = true, U(m.complete) && m.complete(p), n = "";
      }, this.guessLineEndings = function (e, t) {
        e = e.substring(0, 1048576);
        var t = new RegExp(P(t) + "([^]*?)" + P(t), "gm"),
          i = (e = e.replace(t, "")).split("\r"),
          t = e.split("\n"),
          e = 1 < t.length && t[0].length < i[0].length;
        if (1 === i.length || e) return "\n";
        for (var r = 0, n = 0; n < i.length; n++) "\n" === i[n][0] && r++;
        return r >= i.length / 2 ? "\r\n" : "\r";
      };
    }
    function P(e) {
      return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
    }
    function E(C) {
      var S = (C = C || {}).delimiter,
        O = C.newline,
        x = C.comments,
        I = C.step,
        A = C.preview,
        T = C.fastMode,
        D = null,
        L = false,
        F = null == C.quoteChar ? '"' : C.quoteChar,
        j = F;
      if (void 0 !== C.escapeChar && (j = C.escapeChar), ("string" != typeof S || -1 < v.BAD_DELIMITERS.indexOf(S)) && (S = ","), x === S) throw new Error("Comment character same as delimiter");
      true === x ? x = "#" : ("string" != typeof x || -1 < v.BAD_DELIMITERS.indexOf(x)) && (x = false), "\n" !== O && "\r" !== O && "\r\n" !== O && (O = "\n");
      var z = 0,
        M = false;
      this.parse = function (i, t, r) {
        if ("string" != typeof i) throw new Error("Input must be a string");
        var n = i.length,
          e = S.length,
          s = O.length,
          a = x.length,
          o = U(I),
          h = [],
          u = [],
          d = [],
          f = z = 0;
        if (!i) return w();
        if (T || false !== T && -1 === i.indexOf(F)) {
          for (var l = i.split(O), c = 0; c < l.length; c++) {
            if (d = l[c], z += d.length, c !== l.length - 1) z += O.length;else if (r) return w();
            if (!x || d.substring(0, a) !== x) {
              if (o) {
                if (h = [], k(d.split(S)), R(), M) return w();
              } else k(d.split(S));
              if (A && A <= c) return h = h.slice(0, A), w(true);
            }
          }
          return w();
        }
        for (var p = i.indexOf(S, z), g = i.indexOf(O, z), _ = new RegExp(P(j) + P(F), "g"), m = i.indexOf(F, z);;) if (i[z] === F) for (m = z, z++;;) {
          if (-1 === (m = i.indexOf(F, m + 1))) return r || u.push({
            type: "Quotes",
            code: "MissingQuotes",
            message: "Quoted field unterminated",
            row: h.length,
            index: z
          }), E();
          if (m === n - 1) return E(i.substring(z, m).replace(_, F));
          if (F === j && i[m + 1] === j) m++;else if (F === j || 0 === m || i[m - 1] !== j) {
            -1 !== p && p < m + 1 && (p = i.indexOf(S, m + 1));
            var y = v(-1 === (g = -1 !== g && g < m + 1 ? i.indexOf(O, m + 1) : g) ? p : Math.min(p, g));
            if (i.substr(m + 1 + y, e) === S) {
              d.push(i.substring(z, m).replace(_, F)), i[z = m + 1 + y + e] !== F && (m = i.indexOf(F, z)), p = i.indexOf(S, z), g = i.indexOf(O, z);
              break;
            }
            y = v(g);
            if (i.substring(m + 1 + y, m + 1 + y + s) === O) {
              if (d.push(i.substring(z, m).replace(_, F)), b(m + 1 + y + s), p = i.indexOf(S, z), m = i.indexOf(F, z), o && (R(), M)) return w();
              if (A && h.length >= A) return w(true);
              break;
            }
            u.push({
              type: "Quotes",
              code: "InvalidQuotes",
              message: "Trailing quote on quoted field is malformed",
              row: h.length,
              index: z
            }), m++;
          }
        } else if (x && 0 === d.length && i.substring(z, z + a) === x) {
          if (-1 === g) return w();
          z = g + s, g = i.indexOf(O, z), p = i.indexOf(S, z);
        } else if (-1 !== p && (p < g || -1 === g)) d.push(i.substring(z, p)), z = p + e, p = i.indexOf(S, z);else {
          if (-1 === g) break;
          if (d.push(i.substring(z, g)), b(g + s), o && (R(), M)) return w();
          if (A && h.length >= A) return w(true);
        }
        return E();
        function k(e) {
          h.push(e), f = z;
        }
        function v(e) {
          var t = 0;
          return t = -1 !== e && (e = i.substring(m + 1, e)) && "" === e.trim() ? e.length : t;
        }
        function E(e) {
          return r || (void 0 === e && (e = i.substring(z)), d.push(e), z = n, k(d), o && R()), w();
        }
        function b(e) {
          z = e, k(d), d = [], g = i.indexOf(O, z);
        }
        function w(e) {
          if (C.header && !t && h.length && !L) {
            var s = h[0],
              a = Object.create(null),
              o = new Set(s);
            let n = false;
            for (let r = 0; r < s.length; r++) {
              let i = s[r];
              if (a[i = U(C.transformHeader) ? C.transformHeader(i, r) : i]) {
                let e,
                  t = a[i];
                for (; e = i + "_" + t, t++, o.has(e););
                o.add(e), s[r] = e, a[i]++, n = true, (D = null === D ? {} : D)[e] = i;
              } else a[i] = 1, s[r] = i;
              o.add(i);
            }
            n && console.warn("Duplicate headers found and renamed."), L = true;
          }
          return {
            data: h,
            errors: u,
            meta: {
              delimiter: S,
              linebreak: O,
              aborted: M,
              truncated: !!e,
              cursor: f + (t || 0),
              renamedHeaders: D
            }
          };
        }
        function R() {
          I(w()), h = [], u = [];
        }
      }, this.abort = function () {
        M = true;
      }, this.getCharIndex = function () {
        return z;
      };
    }
    function g(e) {
      var t = e.data,
        i = o[t.workerId],
        r = false;
      if (t.error) i.userError(t.error, t.file);else if (t.results && t.results.data) {
        var n = {
          abort: function () {
            r = true, _(t.workerId, {
              data: [],
              errors: [],
              meta: {
                aborted: true
              }
            });
          },
          pause: m,
          resume: m
        };
        if (U(i.userStep)) {
          for (var s = 0; s < t.results.data.length && (i.userStep({
            data: t.results.data[s],
            errors: t.results.errors,
            meta: t.results.meta
          }, n), !r); s++);
          delete t.results;
        } else U(i.userChunk) && (i.userChunk(t.results, n, t.file), delete t.results);
      }
      t.finished && !r && _(t.workerId, t.results);
    }
    function _(e, t) {
      var i = o[e];
      U(i.userComplete) && i.userComplete(t), i.terminate(), delete o[e];
    }
    function m() {
      throw new Error("Not implemented.");
    }
    function b(e) {
      if ("object" != typeof e || null === e) return e;
      var t,
        i = Array.isArray(e) ? [] : {};
      for (t in e) i[t] = b(e[t]);
      return i;
    }
    function y(e, t) {
      return function () {
        e.apply(t, arguments);
      };
    }
    function U(e) {
      return "function" == typeof e;
    }
    return v.parse = function (e, t) {
      var i = (t = t || {}).dynamicTyping || false;
      U(i) && (t.dynamicTypingFunction = i, i = {});
      if (t.dynamicTyping = i, t.transform = !!U(t.transform) && t.transform, !t.worker || !v.WORKERS_SUPPORTED) return i = null, v.NODE_STREAM_INPUT, "string" == typeof e ? (e = (e => 65279 !== e.charCodeAt(0) ? e : e.slice(1))(e), i = new (t.download ? f : c)(t)) : true === e.readable && U(e.read) && U(e.on) ? i = new p(t) : (n.File && e instanceof File || e instanceof Object) && (i = new l(t)), i.stream(e);
      (i = (() => {
        var e;
        return !!v.WORKERS_SUPPORTED && (e = (() => {
          var e = n.URL || n.webkitURL || null,
            t = r.toString();
          return v.BLOB_URL || (v.BLOB_URL = e.createObjectURL(new Blob(["var global = (function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return {}; })(); global.IS_PAPA_WORKER=true; ", "(", t, ")();"], {
            type: "text/javascript"
          })));
        })(), (e = new n.Worker(e)).onmessage = g, e.id = h++, o[e.id] = e);
      })()).userStep = t.step, i.userChunk = t.chunk, i.userComplete = t.complete, i.userError = t.error, t.step = U(t.step), t.chunk = U(t.chunk), t.complete = U(t.complete), t.error = U(t.error), delete t.worker, i.postMessage({
        input: e,
        config: t,
        workerId: i.id
      });
    }, v.unparse = function (e, t) {
      var n = false,
        _ = true,
        m = ",",
        y = "\r\n",
        s = '"',
        a = s + s,
        i = false,
        r = null,
        o = false,
        h = ((() => {
          if ("object" == typeof t) {
            if ("string" != typeof t.delimiter || v.BAD_DELIMITERS.filter(function (e) {
              return -1 !== t.delimiter.indexOf(e);
            }).length || (m = t.delimiter), "boolean" != typeof t.quotes && "function" != typeof t.quotes && !Array.isArray(t.quotes) || (n = t.quotes), "boolean" != typeof t.skipEmptyLines && "string" != typeof t.skipEmptyLines || (i = t.skipEmptyLines), "string" == typeof t.newline && (y = t.newline), "string" == typeof t.quoteChar && (s = t.quoteChar), "boolean" == typeof t.header && (_ = t.header), Array.isArray(t.columns)) {
              if (0 === t.columns.length) throw new Error("Option columns is empty");
              r = t.columns;
            }
            void 0 !== t.escapeChar && (a = t.escapeChar + s), t.escapeFormulae instanceof RegExp ? o = t.escapeFormulae : "boolean" == typeof t.escapeFormulae && t.escapeFormulae && (o = /^[=+\-@\t\r].*$/);
          }
        })(), new RegExp(P(s), "g"));
      "string" == typeof e && (e = JSON.parse(e));
      if (Array.isArray(e)) {
        if (!e.length || Array.isArray(e[0])) return u(null, e, i);
        if ("object" == typeof e[0]) return u(r || Object.keys(e[0]), e, i);
      } else if ("object" == typeof e) return "string" == typeof e.data && (e.data = JSON.parse(e.data)), Array.isArray(e.data) && (e.fields || (e.fields = e.meta && e.meta.fields || r), e.fields || (e.fields = Array.isArray(e.data[0]) ? e.fields : "object" == typeof e.data[0] ? Object.keys(e.data[0]) : []), Array.isArray(e.data[0]) || "object" == typeof e.data[0] || (e.data = [e.data])), u(e.fields || [], e.data || [], i);
      throw new Error("Unable to serialize unrecognized input");
      function u(e, t, i) {
        var r = "",
          n = ("string" == typeof e && (e = JSON.parse(e)), "string" == typeof t && (t = JSON.parse(t)), Array.isArray(e) && 0 < e.length),
          s = !Array.isArray(t[0]);
        if (n && _) {
          for (var a = 0; a < e.length; a++) 0 < a && (r += m), r += k(e[a], a);
          0 < t.length && (r += y);
        }
        for (var o = 0; o < t.length; o++) {
          var h = (n ? e : t[o]).length,
            u = false,
            d = n ? 0 === Object.keys(t[o]).length : 0 === t[o].length;
          if (i && !n && (u = "greedy" === i ? "" === t[o].join("").trim() : 1 === t[o].length && 0 === t[o][0].length), "greedy" === i && n) {
            for (var f = [], l = 0; l < h; l++) {
              var c = s ? e[l] : l;
              f.push(t[o][c]);
            }
            u = "" === f.join("").trim();
          }
          if (!u) {
            for (var p = 0; p < h; p++) {
              0 < p && !d && (r += m);
              var g = n && s ? e[p] : p;
              r += k(t[o][g], p);
            }
            o < t.length - 1 && (!i || 0 < h && !d) && (r += y);
          }
        }
        return r;
      }
      function k(e, t) {
        var i, r;
        return null == e ? "" : e.constructor === Date ? JSON.stringify(e).slice(1, 25) : (r = false, o && "string" == typeof e && o.test(e) && (e = "'" + e, r = true), i = e.toString().replace(h, a), (r = r || true === n || "function" == typeof n && n(e, t) || Array.isArray(n) && n[t] || ((e, t) => {
          for (var i = 0; i < t.length; i++) if (-1 < e.indexOf(t[i])) return true;
          return false;
        })(i, v.BAD_DELIMITERS) || -1 < i.indexOf(m) || " " === i.charAt(0) || " " === i.charAt(i.length - 1)) ? s + i + s : i);
      }
    }, v.RECORD_SEP = String.fromCharCode(30), v.UNIT_SEP = String.fromCharCode(31), v.BYTE_ORDER_MARK = "\ufeff", v.BAD_DELIMITERS = ["\r", "\n", '"', v.BYTE_ORDER_MARK], v.WORKERS_SUPPORTED = !s && !!n.Worker, v.NODE_STREAM_INPUT = 1, v.LocalChunkSize = 10485760, v.RemoteChunkSize = 5242880, v.DefaultDelimiter = ",", v.Parser = E, v.ParserHandle = i, v.NetworkStreamer = f, v.FileStreamer = l, v.StringStreamer = c, v.ReadableStreamStreamer = p, n.jQuery && ((d = n.jQuery).fn.parse = function (o) {
      var i = o.config || {},
        h = [];
      return this.each(function (e) {
        if (!("INPUT" === d(this).prop("tagName").toUpperCase() && "file" === d(this).attr("type").toLowerCase() && n.FileReader) || !this.files || 0 === this.files.length) return true;
        for (var t = 0; t < this.files.length; t++) h.push({
          file: this.files[t],
          inputElem: this,
          instanceConfig: d.extend({}, i)
        });
      }), e(), this;
      function e() {
        if (0 === h.length) U(o.complete) && o.complete();else {
          var e,
            t,
            i,
            r,
            n = h[0];
          if (U(o.before)) {
            var s = o.before(n.file, n.inputElem);
            if ("object" == typeof s) {
              if ("abort" === s.action) return e = "AbortError", t = n.file, i = n.inputElem, r = s.reason, void (U(o.error) && o.error({
                name: e
              }, t, i, r));
              if ("skip" === s.action) return void u();
              "object" == typeof s.config && (n.instanceConfig = d.extend(n.instanceConfig, s.config));
            } else if ("skip" === s) return void u();
          }
          var a = n.instanceConfig.complete;
          n.instanceConfig.complete = function (e) {
            U(a) && a(e, n.file, n.inputElem), u();
          }, v.parse(n.file, n.instanceConfig);
        }
      }
      function u() {
        h.splice(0, 1), e();
      }
    }), a && (n.onmessage = function (e) {
      e = e.data;
      void 0 === v.WORKER_ID && e && (v.WORKER_ID = e.workerId);
      "string" == typeof e.input ? n.postMessage({
        workerId: v.WORKER_ID,
        results: v.parse(e.input, e.config),
        finished: true
      }) : (n.File && e.input instanceof File || e.input instanceof Object) && (e = v.parse(e.input, e.config)) && n.postMessage({
        workerId: v.WORKER_ID,
        results: e,
        finished: true
      });
    }), (f.prototype = Object.create(u.prototype)).constructor = f, (l.prototype = Object.create(u.prototype)).constructor = l, (c.prototype = Object.create(c.prototype)).constructor = c, (p.prototype = Object.create(u.prototype)).constructor = p, v;
  });
})(papaparse_min$1);
var papaparse_minExports = papaparse_min$1.exports;
var Papa = /*@__PURE__*/getDefaultExportFromCjs(papaparse_minExports);

function getMoleculeCreators(OCL) {
  const fields = new Map([['oclid', OCL.Molecule.fromIDCode], ['idcode', OCL.Molecule.fromIDCode], ['smiles', OCL.Molecule.fromSmiles], ['molfile', OCL.Molecule.fromMolfile], ['smarts', smarts => {
    const smilesParser = new OCL.SmilesParser({
      smartsMode: 'smarts'
    });
    return smilesParser.parseMolecule(smarts);
  }]]);
  return fields;
}

const defaultCSVOptions = {
  header: true,
  dynamicTyping: true,
  skipEmptyLines: true
};
async function appendCSV(moleculesDB, csv, options = {}) {
  const {
    onStep
  } = options;
  csv = ensureString$1(csv);
  const moleculeCreators = getMoleculeCreators(moleculesDB.OCL);
  if (typeof csv !== 'string') {
    throw new TypeError('csv must be a string');
  }
  options = {
    ...defaultCSVOptions,
    ...options
  };
  const parsed = Papa.parse(csv, options);
  const fields = parsed.meta.fields;
  const stats = new Array(fields.length);
  const firstElement = parsed.data[0];
  let moleculeCreator, moleculeField;
  for (let i = 0; i < fields.length; i++) {
    stats[i] = {
      label: fields[i],
      isNumeric: typeof firstElement[fields[i]] === 'number'
    };
    const lowerField = fields[i].toLowerCase();
    if (moleculeCreators.has(lowerField)) {
      moleculeCreator = moleculeCreators.get(lowerField);
      moleculeField = fields[i];
    }
  }
  if (!moleculeCreator) {
    throw new Error('this document does not contain any molecule field');
  }
  for (let i = 0; i < parsed.data.length; i++) {
    moleculesDB.pushEntry(moleculeCreator(parsed.data[i][moleculeField]), parsed.data[i]);
    if (onStep) {
      // eslint-disable-next-line no-await-in-loop
      await onStep(i + 1, parsed.data.length);
    }
  }
}

function appendColor(moleculesDB, options = {}) {
  const {
    dataLabel,
    propertyLabel,
    minValue,
    maxValue,
    minHue = 0,
    maxHue = 360,
    saturation = 65,
    lightness = 65,
    colorLabel = 'color'
  } = options;
  const db = moleculesDB.getDB();
  let values;
  if (dataLabel) {
    values = db.flatMap(result => result.data.map(datum => ({
      value: datum[dataLabel],
      data: datum
    })));
  } else if (propertyLabel) {
    values = db.flatMap(result => result.data.map(datum => ({
      value: result.properties[propertyLabel],
      data: datum
    })));
  } else {
    values = db.flatMap(result => result.data.map(datum => ({
      value: undefined,
      data: datum
    })));
  }
  if (minValue !== undefined) {
    for (const value of values) {
      if (value.value !== undefined && value.value < minValue) {
        value.value = minValue;
      }
    }
  }
  if (maxValue !== undefined) {
    for (const value of values) {
      if (value.value !== undefined && value.value > maxValue) {
        value.value = maxValue;
      }
    }
  }
  const definedValues = values.filter(value => value.value !== undefined);
  const min = Math.min(...definedValues.map(value => value.value));
  const max = Math.max(...definedValues.map(value => value.value));
  for (const value of values) {
    if (value.value !== undefined) {
      value.data[colorLabel] = `hsl(${Math.floor((value.value - min) / (max - min) * (maxHue - minHue) + minHue)},${saturation}%,${lightness}%)`;
    } else {
      value.data.color = 'black';
    }
  }
}

var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, "name", {
  value,
  configurable: true
});

// index.ts
var isObject = /* @__PURE__ */__name(v => v !== null && typeof v === "object", "isObject");
var join = /* @__PURE__ */__name((segs, joinChar, options) => {
  if (typeof options.join === "function") {
    return options.join(segs);
  }
  return segs[0] + joinChar + segs[1];
}, "join");
var split = /* @__PURE__ */__name((path, splitChar, options) => {
  if (typeof options.split === "function") {
    return options.split(path);
  }
  return path.split(splitChar);
}, "split");
var isValid = /* @__PURE__ */__name((key, target = {}, options) => {
  if (typeof options?.isValid === "function") {
    return options.isValid(key, target);
  }
  return true;
}, "isValid");
var isValidObject = /* @__PURE__ */__name(v => {
  return isObject(v) || typeof v === "function";
}, "isValidObject");
var getValue = /* @__PURE__ */__name((target, path, options = {}) => {
  if (!isObject(options)) {
    options = {
      default: options
    };
  }
  if (!isValidObject(target)) {
    return typeof options.default !== "undefined" ? options.default : target;
  }
  if (typeof path === "number") {
    path = String(path);
  }
  const pathIsArray = Array.isArray(path);
  const pathIsString = typeof path === "string";
  const splitChar = options.separator || ".";
  const joinChar = options.joinChar || (typeof splitChar === "string" ? splitChar : ".");
  if (!pathIsString && !pathIsArray) {
    return target;
  }
  if (target[path] !== void 0) {
    return isValid(path, target, options) ? target[path] : options.default;
  }
  const segs = pathIsArray ? path : split(path, splitChar, options);
  const len = segs.length;
  let idx = 0;
  do {
    let prop = segs[idx];
    if (typeof prop !== "string") {
      prop = String(prop);
    }
    while (prop && prop.slice(-1) === "\\") {
      prop = join([prop.slice(0, -1), segs[++idx] || ""], joinChar, options);
    }
    if (target[prop] !== void 0) {
      if (!isValid(prop, target, options)) {
        return options.default;
      }
      target = target[prop];
    } else {
      let hasProp = false;
      let n = idx + 1;
      while (n < len) {
        prop = join([prop, segs[n++]], joinChar, options);
        if (hasProp = target[prop] !== void 0) {
          if (!isValid(prop, target, options)) {
            return options.default;
          }
          target = target[prop];
          idx = n - 1;
          break;
        }
      }
      if (!hasProp) {
        return options.default;
      }
    }
  } while (++idx < len && isValidObject(target));
  if (idx === len) {
    return target;
  }
  return options.default;
}, "getValue");
var index_default = getValue;
/*!
 * get-value <https://github.com/jonschlinkert/get-value>
 *
 * Copyright (c) 2014-present, Jon Schlinkert.
 * Released under the MIT License.
 */

/**
 * Append an array of entries to the current database. An entry is an object that by default should contain a 'ocl' property containing idCode and optionally index and coordinates
 * @param {*} moleculesDB
 * @param {object[]} entries
 * @param {object} [options={}]
 * @param {string} [options.idCodePath='ocl.idCode']
 * @param {string} [options.indexPath='ocl.index']
 * @param {string} [options.coordinatesPath='ocl.coordinates']
 * @param {string} [options.mwPath='mw']
 * @param {string} [options.smilesPath]
 * @param {string} [options.molfilePath]
 * @param {Function} [options.onStep] - call back to execute after each molecule
 * @returns
 */
async function appendEntries(moleculesDB, entries, options = {}) {
  const {
    onStep,
    idCodePath = 'ocl.idCode',
    indexPath = 'ocl.index',
    coordinatesPath = 'ocl.coordinates',
    mwPath = 'mw',
    smilesPath,
    molfilePath
  } = options;
  const Molecule = moleculesDB.OCL.Molecule;
  for (let i = 0; i < entries.length; i++) {
    let idCode;
    const entry = entries[i];
    let molecule;
    if (smilesPath) {
      molecule = Molecule.fromSmiles(index_default(entry, smilesPath));
    }
    if (molfilePath && !molecule) {
      molecule = Molecule.fromMolfile(index_default(entry, molfilePath));
    }
    if (!molecule) {
      idCode = index_default(entry, idCodePath);
      if (idCode) {
        const coordinates = index_default(entry, coordinatesPath);
        molecule = Molecule.fromIDCode(idCode, coordinates || false);
      }
    }
    const index = index_default(entry, indexPath);
    const mw = index_default(entry, mwPath);
    if (onStep) {
      // eslint-disable-next-line no-await-in-loop
      await onStep(i + 1, entries.length);
    }
    if (!moleculesDB.keepEmptyMolecules && (!molecule || molecule.getAllAtoms() === 0)) {
      continue;
    } else if (!molecule) {
      molecule = new moleculesDB.OCL.Molecule(0, 0);
    }
    if (molecule) {
      moleculesDB.pushEntry(molecule, entry, {
        index,
        mw
      });
    }
  }
}

/*
    https://tools.ietf.org/html/rfc3629

    UTF8-char = UTF8-1 / UTF8-2 / UTF8-3 / UTF8-4

    UTF8-1    = %x00-7F

    UTF8-2    = %xC2-DF UTF8-tail

    UTF8-3    = %xE0 %xA0-BF UTF8-tail
                %xE1-EC 2( UTF8-tail )
                %xED %x80-9F UTF8-tail
                %xEE-EF 2( UTF8-tail )

    UTF8-4    = %xF0 %x90-BF 2( UTF8-tail )
                %xF1-F3 3( UTF8-tail )
                %xF4 %x80-8F 2( UTF8-tail )

    UTF8-tail = %x80-BF
*/
/**
 * Check if a Node.js Buffer or Uint8Array is UTF-8.
 */
function isUtf8(buf) {
  if (!buf) {
    return false;
  }
  var i = 0;
  var len = buf.length;
  while (i < len) {
    // UTF8-1 = %x00-7F
    if (buf[i] <= 0x7F) {
      i++;
      continue;
    }
    // UTF8-2 = %xC2-DF UTF8-tail
    if (buf[i] >= 0xC2 && buf[i] <= 0xDF) {
      // if(buf[i + 1] >= 0x80 && buf[i + 1] <= 0xBF) {
      if (buf[i + 1] >> 6 === 2) {
        i += 2;
        continue;
      } else {
        return false;
      }
    }
    // UTF8-3 = %xE0 %xA0-BF UTF8-tail
    // UTF8-3 = %xED %x80-9F UTF8-tail
    if ((buf[i] === 0xE0 && buf[i + 1] >= 0xA0 && buf[i + 1] <= 0xBF || buf[i] === 0xED && buf[i + 1] >= 0x80 && buf[i + 1] <= 0x9F) && buf[i + 2] >> 6 === 2) {
      i += 3;
      continue;
    }
    // UTF8-3 = %xE1-EC 2( UTF8-tail )
    // UTF8-3 = %xEE-EF 2( UTF8-tail )
    if ((buf[i] >= 0xE1 && buf[i] <= 0xEC || buf[i] >= 0xEE && buf[i] <= 0xEF) && buf[i + 1] >> 6 === 2 && buf[i + 2] >> 6 === 2) {
      i += 3;
      continue;
    }
    // UTF8-4 = %xF0 %x90-BF 2( UTF8-tail )
    //          %xF1-F3 3( UTF8-tail )
    //          %xF4 %x80-8F 2( UTF8-tail )
    if ((buf[i] === 0xF0 && buf[i + 1] >= 0x90 && buf[i + 1] <= 0xBF || buf[i] >= 0xF1 && buf[i] <= 0xF3 && buf[i + 1] >> 6 === 2 || buf[i] === 0xF4 && buf[i + 1] >= 0x80 && buf[i + 1] <= 0x8F) && buf[i + 2] >> 6 === 2 && buf[i + 3] >> 6 === 2) {
      i += 4;
      continue;
    }
    return false;
  }
  return true;
}

/**
 * Ensure that the data is string. If it is an ArrayBuffer it will be converted to string using TextDecoder.
 * @param blob
 * @param options
 * @returns
 */
function ensureString(blob, options = {}) {
  if (typeof blob === 'string') {
    return blob;
  }
  if (ArrayBuffer.isView(blob) || blob instanceof ArrayBuffer) {
    const {
      encoding = guessEncoding(blob)
    } = options;
    const decoder = new TextDecoder(encoding);
    return decoder.decode(blob);
  }
  throw new TypeError(`blob must be a string, ArrayBuffer or ArrayBufferView`);
}
function guessEncoding(blob) {
  const uint8 = ArrayBuffer.isView(blob) ? new Uint8Array(blob.buffer, blob.byteOffset, blob.byteLength) : new Uint8Array(blob);
  if (uint8.length >= 2) {
    if (uint8[0] === 0xfe && uint8[1] === 0xff) {
      return 'utf-16be';
    }
    if (uint8[0] === 0xff && uint8[1] === 0xfe) {
      return 'utf-16le';
    }
  }
  //@ts-expect-error an ArrayBuffer is also ok
  if (!isUtf8(blob)) return 'latin1';
  return 'utf-8';
}

/**
 *
 * @param {*} string
 * @param {*} substring
 * @param {*} eol
 * @returns
 */
function getEntriesBoundaries(string, substring, eol) {
  const res = [];
  let previous = 0;
  let next = 0;
  while (next !== -1) {
    next = string.indexOf(substring, previous);
    if (next !== -1) {
      res.push([previous, next]);
      const nextMatch = string.indexOf(eol, next + substring.length);
      if (nextMatch === -1) {
        next = -1;
      } else {
        previous = nextMatch + eol.length;
        next = previous;
      }
    } else {
      res.push([previous, string.length]);
    }
  }
  return res;
}

/**
 * Parse the molfile and the properties with > < labels >
 * @param {string} sdfPart
 * @param {*} labels
 * @param {*} currentLabels
 * @param {object} options
 * @returns
 */
function getMolecule(sdfPart, labels, currentLabels, options) {
  let parts = sdfPart.split(`${options.eol}>`);
  if (parts.length === 0 || parts[0].length <= 5) return;
  let molecule = {};
  molecule.molfile = parts[0] + options.eol;
  for (let j = 1; j < parts.length; j++) {
    let lines = parts[j].split(options.eol);
    let from = lines[0].indexOf('<');
    let to = lines[0].indexOf('>');
    let label = lines[0].slice(from + 1, to);
    currentLabels.push(label);
    if (!labels[label]) {
      labels[label] = {
        counter: 0,
        isNumeric: options.dynamicTyping,
        keep: false
      };
      if ((!options.exclude || !options.exclude.includes(label)) && (!options.include || options.include.includes(label))) {
        labels[label].keep = true;
        if (options.modifiers[label]) {
          labels[label].modifier = options.modifiers[label];
        }
        if (options.forEach[label]) {
          labels[label].forEach = options.forEach[label];
        }
      }
    }
    if (labels[label].keep) {
      for (let k = 1; k < lines.length - 1; k++) {
        if (molecule[label]) {
          molecule[label] += options.eol + lines[k];
        } else {
          molecule[label] = lines[k];
        }
      }
      if (labels[label].modifier) {
        let modifiedValue = labels[label].modifier(molecule[label]);
        if (modifiedValue === undefined || modifiedValue === null) {
          delete molecule[label];
        } else {
          molecule[label] = modifiedValue;
        }
      }
      if (labels[label].isNumeric && (!Number.isFinite(+molecule[label]) || molecule[label].match(/^0[0-9]/))) {
        labels[label].isNumeric = false;
      }
    }
  }
  return molecule;
}

/**
 *  Parse a SDF file
 * @param {string|ArrayBuffer|Uint8Array} sdf - SDF file to parse
 * @param {object} [options={}]
 * @param {string[]} [options.include] - List of fields to include
 * @param {string[]} [options.exclude] - List of fields to exclude
 * @param {Function} [options.filter] - Callback allowing to filter the molecules
 * @param {boolean} [options.dynamicTyping] - Dynamically type the data
 * @param {object} [options.modifiers] - Object containing callbacks to apply on some specific fields
 * @param {boolean} [options.mixedEOL=false] - Set to true if you know there is a mixture between \r\n and \n
 * @param {string} [options.eol] - Specify the end of line character. Default will be the one found in the file
 * @returns {object} - Object containing the molecules, the labels and the statistics
 */
function parse(sdf, options = {}) {
  options = {
    ...options
  };
  if (options.modifiers === undefined) options.modifiers = {};
  if (options.forEach === undefined) options.forEach = {};
  if (options.dynamicTyping === undefined) options.dynamicTyping = true;
  sdf = ensureString(sdf);
  if (typeof sdf !== 'string') {
    throw new TypeError('Parameter "sdf" must be a string');
  }
  if (options.eol === undefined) {
    options.eol = '\n';
    if (options.mixedEOL) {
      sdf = sdf.replaceAll('\r\n', '\n');
      sdf = sdf.replaceAll('\r', '\n');
    } else {
      // we will find the delimiter in order to be much faster and not use regular expression
      let header = new Set(sdf.slice(0, 1000));
      if (header.has('\r\n')) {
        options.eol = '\r\n';
      } else if (header.has('\r')) {
        options.eol = '\r';
      }
    }
  }
  let entriesBoundaries = getEntriesBoundaries(sdf, `${options.eol}$$$$`, options.eol);
  let molecules = [];
  let labels = {};
  let start = Date.now();
  for (let i = 0; i < entriesBoundaries.length; i++) {
    let sdfPart = sdf.slice(...entriesBoundaries[i]);
    if (sdfPart.length < 40) continue;
    let currentLabels = [];
    const molecule = getMolecule(sdfPart, labels, currentLabels, options);
    if (!molecule) continue;
    if (!options.filter || options.filter(molecule)) {
      molecules.push(molecule);
      // only now we can increase the counter
      for (let j = 0; j < currentLabels.length; j++) {
        labels[currentLabels[j]].counter++;
      }
    }
  }
  // all numeric fields should be converted to numbers
  for (let label in labels) {
    let currentLabel = labels[label];
    if (currentLabel.isNumeric) {
      currentLabel.minValue = Infinity;
      currentLabel.maxValue = -Infinity;
      for (let j = 0; j < molecules.length; j++) {
        if (molecules[j][label]) {
          let value = Number.parseFloat(molecules[j][label]);
          molecules[j][label] = value;
          if (value > currentLabel.maxValue) {
            currentLabel.maxValue = value;
          }
          if (value < currentLabel.minValue) {
            currentLabel.minValue = value;
          }
        }
      }
    }
  }

  // we check that a label is in all the records
  for (let key in labels) {
    if (labels[key].counter === molecules.length) {
      labels[key].always = true;
    } else {
      labels[key].always = false;
    }
  }
  let statistics = [];
  for (let key in labels) {
    let statistic = labels[key];
    statistic.label = key;
    statistics.push(statistic);
  }
  return {
    time: Date.now() - start,
    molecules,
    labels: Object.keys(labels),
    statistics
  };
}

async function appendSDF(moleculesDB, sdf, options = {}) {
  const {
    onStep,
    dynamicTyping,
    mixedEOL = true,
    eol
  } = options;
  sdf = ensureString$1(sdf);
  if (typeof sdf !== 'string') {
    throw new TypeError('sdf must be a string');
  }
  const parsed = parse(sdf, {
    dynamicTyping,
    mixedEOL,
    eol
  });
  for (let i = 0; i < parsed.molecules.length; i++) {
    const molecule = parsed.molecules[i];
    moleculesDB.pushEntry(moleculesDB.OCL.Molecule.fromMolfile(molecule.molfile), molecule);
    if (onStep) {
      // eslint-disable-next-line no-await-in-loop
      await onStep(i + 1, parsed.molecules.length);
    }
  }
}

async function appendSmilesList(moleculesDB, text, options = {}) {
  const {
    onStep
  } = options;
  text = ensureString$1(text);
  if (typeof text !== 'string') {
    throw new TypeError('text must be a string');
  }
  const smilesArray = text.split(/\r?\n/).map(line => line.trim()).filter(Boolean);
  for (let i = 0; i < smilesArray.length; i++) {
    const oneSmiles = smilesArray[i];
    moleculesDB.pushEntry(moleculesDB.OCL.Molecule.fromSmiles(oneSmiles));
    if (onStep) {
      // eslint-disable-next-line no-await-in-loop
      await onStep(i + 1, smilesArray.length);
    }
  }
}

/**
 *
 * @param {MoleculesDB} moleculesDB
 * @param {import('openchemlib').Molecule} molecule
 * @param {object} data
 * @param {object} [moleculeInfo]
 * @param {string} [moleculeInfo.idCode]
 * @param {number[]} [moleculeInfo.index]
 */
function pushEntry(moleculesDB, molecule, data = {}, moleculeInfo = {}) {
  // the following line could be the source of problems if the idCode version
  // changes
  const moleculeIDCode = getMoleculeIDCode(molecule, moleculeInfo);
  const id = moleculeIDCode || crypto.randomUUID();
  let entry = moleculesDB.db[id];
  if (!entry) {
    // a new molecule
    // ensure helper arrays needed for substructure search
    molecule.ensureHelperArrays(moleculesDB.OCL.Molecule.cHelperRings);
    let index;
    if (!moleculeInfo.index) {
      index = molecule.getIndex();
    } else {
      index = moleculeInfo.index;
    }
    const molecularFormula = molecule.getMolecularFormula();
    entry = {
      molecule,
      properties: {
        mw: molecularFormula.relativeWeight,
        em: molecularFormula.absoluteWeight,
        mf: molecularFormula.formula
      },
      data: [],
      idCode: moleculeIDCode,
      index
    };
    moleculesDB.db[id] = entry;
    if (moleculesDB.computeProperties) {
      const properties = new moleculesDB.OCL.MoleculeProperties(molecule);
      entry.properties = {
        ...entry.properties,
        acceptorCount: properties.acceptorCount,
        donorCount: properties.donorCount,
        logP: properties.logP,
        logS: properties.logS,
        polarSurfaceArea: properties.polarSurfaceArea,
        rotatableBondCount: properties.rotatableBondCount,
        stereoCenterCount: properties.stereoCenterCount
      };
    }
    updateStatistics(moleculesDB.calculatedStatistics, entry.properties);
  }
  entry.data.push(data);
  updateStatistics(moleculesDB.dataStatistics, data);
}
function updateStatistics(statistics, data) {
  for (const key in data) {
    const value = data[key];
    if (!statistics.has(key)) {
      statistics.set(key, {
        counter: 0,
        kind: typeof value
      });
    }
    const stat = statistics.get(key);
    stat.counter++;
    if (stat.kind !== typeof value) {
      stat.kind = 'mixed';
    }
  }
}
function getMoleculeIDCode(molecule, moleculeInfo) {
  let idCode = moleculeInfo.idCode;
  if (!idCode) {
    idCode = molecule.getIDCode();
  }
  if (idCode === 'd@') return ''; // empty molecule
  return idCode;
}

function pushMoleculeInfo(moleculesDB, moleculeInfo, data = {}) {
  if (typeof moleculeInfo !== 'object') {
    throw new Error('pushMoleculeInfo requires an object as first parameter');
  }
  const Molecule = moleculesDB.OCL.Molecule;
  let molecule;
  if (moleculeInfo.molfile) {
    molecule = Molecule.fromMolfile(moleculeInfo.molfile);
  }
  if (moleculeInfo.smiles) molecule = Molecule.fromSmiles(moleculeInfo.smiles);
  if (moleculeInfo.idCode) {
    if (moleculesDB.db[moleculeInfo.idCode]) {
      molecule = moleculesDB.db[moleculeInfo.idCode].molecule;
    } else {
      molecule = Molecule.fromIDCode(moleculeInfo.idCode, moleculeInfo.coordinates || false);
    }
  }
  if (molecule) {
    moleculesDB.pushEntry(molecule, data, moleculeInfo);
  }
}

async function noWait() {
  return new Promise(resolve => {
    if (typeof setImmediate === 'function') {
      setImmediate(() => resolve());
    } else {
      // didn't find a better way to do it in the browser
      setTimeout(() => resolve(), 0);
    }
  });
}

class AbortError extends Error {
  name = 'AbortError';
  code = 20;
}
function getQuery(moleculesDB, query, options) {
  const {
    format = 'idCode'
  } = options;
  if (typeof query === 'string') {
    const moleculeCreators = getMoleculeCreators(moleculesDB.OCL);
    query = moleculeCreators.get(format.toLowerCase())(query);
  } else if (!(query instanceof moleculesDB.OCL.Molecule)) {
    throw new TypeError('toSearch must be a Molecule or string');
  }
  return query;
}
/**
 * Internal function to search in the database
 * @param {import('../MoleculesDB.js').MoleculesDB} moleculesDB
 * @param {string} query
 * @param {Record<string, any>} [options={}]
 * @param {'exact'|'substructure'|'substructureOR'|'similarity'} [options.mode='substructure']
 * @returns
 */
function search(moleculesDB, query = '', options = {}) {
  const {
    mode = 'substructure'
  } = options;
  query = getQuery(moleculesDB, query, options);
  let result;
  switch (mode.toLowerCase()) {
    case 'exact':
      result = exactSearch(moleculesDB, query);
      break;
    case 'exactnostereo':
      result = exactSearchNoStereo(moleculesDB, query);
      break;
    case 'substructure':
      result = substructureSearch(moleculesDB, query);
      break;
    case 'substructureor':
      result = substructureSearchOR(moleculesDB, query);
      break;
    case 'similarity':
      result = similaritySearch(moleculesDB, query);
      break;
    default:
      throw new Error(`unknown search mode: ${options.mode}`);
  }
  return processResult(result, options);
}
async function searchAsync(moleculesDB, query = '', options = {}) {
  const {
    mode = 'substructure'
  } = options;
  query = getQuery(moleculesDB, query, options);
  let result;
  switch (mode.toLowerCase()) {
    case 'exact':
      result = exactSearch(moleculesDB, query);
      break;
    case 'exactnostereo':
      result = exactSearchNoStereo(moleculesDB, query);
      break;
    case 'substructure':
      result = await subStructureSearchAsync(moleculesDB, query, options);
      break;
    case 'substructureor':
      result = substructureSearchOR(moleculesDB, query);
      break;
    case 'similarity':
      result = similaritySearch(moleculesDB, query);
      break;
    default:
      throw new Error(`unknown search mode: ${options.mode}`);
  }
  return processResult(result, options);
}
/**
 * Search for an exact match in the database including stereochemistry
 * @param {import('../MoleculesDB.js').MoleculesDB} moleculesDB
 * @param {import('openchemlib').Molecule} query
 * @returns
 */
function exactSearch(moleculesDB, query) {
  query = query.getCompactCopy();
  query.setFragment(false);
  const queryIDCode = query.getIDCode();
  const searchResult = moleculesDB.db[queryIDCode] ? [moleculesDB.db[queryIDCode]] : [];
  return searchResult;
}
/**
 * Search for an exact match without stereo information
 * @param {import('../MoleculesDB.js').MoleculesDB} moleculesDB
 * @param {import('openchemlib').Molecule}  query
 * @returns
 */
function exactSearchNoStereo(moleculesDB, query) {
  query = query.getCompactCopy();
  query.setFragment(false);
  query.stripStereoInformation();
  const queryIDCode = query.getIDCode();
  // first filter by molecular weight
  const mw = query.getMolecularFormula().relativeWeight;
  const results = [];
  for (const idCode in moleculesDB.db) {
    const entry = moleculesDB.db[idCode];
    if (mw !== entry.properties.mw) {
      continue;
    }
    const candidateMolecule = entry.molecule.getCompactCopy();
    candidateMolecule.stripStereoInformation();
    const candidateIDCode = candidateMolecule.getIDCode();
    if (candidateIDCode !== queryIDCode) {
      continue;
    }
    results.push(entry);
  }
  return results;
}
/**
 * No atoms in the query, we return all the molecules
 * @param {import('../MoleculesDB.js').MoleculesDB} moleculesDB
 * @param {import('openchemlib').Molecule} query
 * @returns
 */
function substructureSearchBegin(moleculesDB, query) {
  const searchResult = [];
  if (query.getAllAtoms() === 0) {
    for (const idCode in moleculesDB.db) {
      searchResult.push(moleculesDB.db[idCode]);
    }
  }
  return {
    searchResult
  };
}
function substructureSearchEnd(searchResult, queryMW) {
  searchResult.sort((a, b) => {
    return Math.abs(queryMW - a.properties.mw) - Math.abs(queryMW - b.properties.mw);
  });
  return searchResult;
}
/**
 * Search by substructure in the database
 * If the substructure is composed of many fragments all the fragments must be present
 * @param {import('../MoleculesDB.js').MoleculesDB} moleculesDB
 * @param {import('openchemlib').Molecule} query
 * @returns
 */
function substructureSearch(moleculesDB, query) {
  const queryMW = getMW(query);
  const {
    searchResult
  } = substructureSearchBegin(moleculesDB, query);
  if (searchResult.length === 0) {
    query = query.getCompactCopy();
    query.setFragment(true);
    const queryIndex = query.getIndex();
    const searcher = moleculesDB.searcher;
    searcher.setFragment(query, queryIndex);
    for (const idCode in moleculesDB.db) {
      const entry = moleculesDB.db[idCode];
      searcher.setMolecule(entry.molecule, entry.index);
      if (searcher.isFragmentInMolecule()) {
        searchResult.push(entry);
      }
    }
  }
  return substructureSearchEnd(searchResult, queryMW);
}
/**
 * Search by substructure in the database
 * If the substructure is composed of many fragments only one fragment must be present
 * @param {import('../MoleculesDB.js').MoleculesDB} moleculesDB
 * @param {import('openchemlib').Molecule} query
 * @returns
 */
function substructureSearchOR(moleculesDB, query) {
  const queryMW = getMW(query);
  const {
    searchResult
  } = substructureSearchBegin(moleculesDB, query);
  if (searchResult.length === 0) {
    query = query.getCompactCopy();
    query.setFragment(true);
    const queries = [];
    for (const fragment of query.getFragments()) {
      queries.push({
        fragment,
        queryIndex: fragment.getIndex()
      });
    }
    const searcher = moleculesDB.searcher;
    molecule: for (const idCode in moleculesDB.db) {
      const entry = moleculesDB.db[idCode];
      searcher.setMolecule(entry.molecule, entry.index);
      for (const {
        fragment,
        queryIndex
      } of queries) {
        searcher.setFragment(fragment, queryIndex);
        if (searcher.isFragmentInMolecule()) {
          searchResult.push(entry);
          continue molecule;
        }
      }
    }
  }
  return substructureSearchEnd(searchResult, queryMW);
}
async function subStructureSearchAsync(moleculesDB, query, options = {}) {
  const queryMW = getMW(query); // we
  query = query.getCompactCopy();
  query.setFragment(true);
  const {
    interval = 100,
    onStep,
    controller
  } = options;
  let shouldAbort = false;
  if (controller) {
    const abortEventListener = () => {
      shouldAbort = true;
    };
    controller.signal.addEventListener('abort', abortEventListener);
  }
  const {
    searchResult
  } = substructureSearchBegin(moleculesDB, query);
  let begin = performance.now();
  if (searchResult.length === 0) {
    const queryIndex = query.getIndex();
    const searcher = moleculesDB.searcher;
    searcher.setFragment(query, queryIndex);
    let index = 0;
    const length = Object.keys(moleculesDB.db).length;
    for (const idCode in moleculesDB.db) {
      if (shouldAbort) {
        throw new AbortError('Query aborted');
      }
      const entry = moleculesDB.db[idCode];
      searcher.setMolecule(entry.molecule, entry.index);
      if (searcher.isFragmentInMolecule()) {
        searchResult.push(entry);
      }
      if ((onStep || controller) && performance.now() - begin >= interval) {
        begin = performance.now();
        if (onStep) {
          onStep(index, length);
        }
        if (controller && !onStep) {
          // eslint-disable-next-line no-await-in-loop
          await noWait();
        }
      }
      index++;
    }
  }
  return substructureSearchEnd(searchResult, queryMW);
}
function similaritySearch(moleculesDB, query) {
  const queryIndex = query.getIndex();
  const queryMW = getMW(query);
  const queryIdCode = query.getIDCode();
  const searchResult = [];
  let similarity;
  for (const idCode in moleculesDB.db) {
    const entry = moleculesDB.db[idCode];
    if (entry.idCode === queryIdCode) {
      similarity = Number.MAX_SAFE_INTEGER;
    } else {
      similarity = moleculesDB.OCL.SSSearcherWithIndex.getSimilarityTanimoto(queryIndex, entry.index) * 1000000 - Math.abs(queryMW - entry.properties.mw) / 10000;
    }
    searchResult.push({
      similarity,
      entry
    });
  }
  searchResult.sort((a, b) => {
    return b.similarity - a.similarity;
  });
  return searchResult.map(entry => entry.entry);
}
function getMW(query) {
  const copy = query.getCompactCopy();
  copy.setFragment(false);
  return copy.getMolecularFormula().relativeWeight;
}
function processResult(entries, options = {}) {
  const {
    flattenResult = true,
    keepMolecule = false,
    limit = Number.MAX_SAFE_INTEGER
  } = options;
  const results = [];
  if (flattenResult) {
    for (const entry of entries) {
      for (const data of entry.data) {
        const result = {
          data,
          idCode: entry.idCode,
          properties: entry.properties
        };
        if (keepMolecule) {
          result.molecule = entry.molecule;
        }
        results.push(result);
      }
    }
  } else {
    for (const entry of entries) {
      results.push({
        data: entry.data,
        idCode: entry.idCode,
        properties: entry.properties,
        molecule: keepMolecule ? entry.molecule : undefined
      });
    }
  }
  if (limit < results.length) results.length = limit;
  return results;
}

/*
 * @typedef {object} InternalStatistics
 * @property {number} counter - number of entries
 * @property {'number'|'boolean'|'string'|'object'|'mixed'} kind - kind of value
 */
/**
 * this.db is an object with properties 'oclID' that has as value
 * an object that contains the following properties:
 * molecule: an OCL molecule instance
 * index: OCL index used for substructure searching
 * properties: all the calculates properties
 * data: array containing free data associated with this molecule
 */
class MoleculesDB {
  /**
   * Creates an instance of MoleculesDB.
   * @param {typeof import('openchemlib')} OCL - openchemlib library
   * @param {object} [options={}] - Options.
   * @param {boolean} [options.computeProperties=false]
   * @param {boolean} [options.keepEmptyMolecules=false]
   */
  constructor(OCL, options = {}) {
    const {
      computeProperties = false,
      keepEmptyMolecules = false
    } = options;
    this.OCL = OCL;
    this.db = {};
    /**
     * @type {Map<string, InternalStatistics>}
     */
    this.dataStatistics = new Map();
    /**
     * @type {Map<string, InternalStatistics>}
     */
    this.calculatedStatistics = new Map();
    this.computeProperties = computeProperties;
    this.keepEmptyMolecules = keepEmptyMolecules;
    this.searcher = new OCL.SSSearcherWithIndex();
  }
  clear() {
    this.db = {};
    this.dataStatistics.clear();
    this.calculatedStatistics.clear();
  }
  get nbMolecules() {
    return Object.keys(this.db).length;
  }
  get nbData() {
    let number = 0;
    for (const entry of Object.values(this.db)) {
      number += entry.data.length;
    }
    return number;
  }
  get statistics() {
    const nbData = this.nbData;
    const nbMolecules = this.nbMolecules;
    const statistics = {
      data: [],
      calculated: []
    };
    for (const [key, value] of this.dataStatistics.entries()) {
      const statistic = {
        label: key,
        counter: value.counter,
        kind: value.kind,
        always: value.counter === nbData,
        isNumber: false
      };
      statistics.data.push(statistic);
      // if kind is numeric, add minValue and maxValue. Need to go through all the values
      if (value.kind === 'number') {
        statistic.isNumeric = true;
        statistic.minValue = Number.POSITIVE_INFINITY;
        statistic.maxValue = Number.NEGATIVE_INFINITY;
        for (const entry of Object.values(this.db)) {
          for (const data of entry.data) {
            if (data[key] < statistic.minValue) {
              statistic.minValue = data[key];
            }
            if (data[key] > statistic.maxValue) {
              statistic.maxValue = data[key];
            }
          }
        }
      }
    }
    for (const [key, value] of this.calculatedStatistics.entries()) {
      const statistic = {
        label: key,
        counter: value.counter,
        kind: value.kind,
        always: value.counter === nbMolecules,
        isNumeric: false
      };
      statistics.calculated.push(statistic);
      // if kind is numeric, add minValue and maxValue. Need to go through all the values
      if (value.kind === 'number') {
        statistic.isNumeric = true;
        statistic.minValue = Number.POSITIVE_INFINITY;
        statistic.maxValue = Number.NEGATIVE_INFINITY;
        for (const entry of Object.values(this.db)) {
          if (entry.properties[key] < statistic.minValue) {
            statistic.minValue = entry.properties[key];
          }
          if (entry.properties[key] > statistic.maxValue) {
            statistic.maxValue = entry.properties[key];
          }
        }
      }
    }
    return statistics;
  }
  /**
   * Append an array of entries to the current database. An entry is an object that by default should contain a 'ocl' property containing idCode and optionally index and coordinates
   * @param {*} moleculesDB
   * @param {object[]} entries
   * @param {object} [options={}]
   * @param {string} [options.idCodePath='ocl.idCode']
   * @param {string} [options.indexPath='ocl.index']
   * @param {string} [options.coordinatesPath='ocl.coordinates']
   * @param {string} [options.mwPath='mw']
   * @param {string} [options.smilesPath]
   * @param {string} [options.molfilePath]
   * @param {Function} [options.onStep] - call back to execute after each molecule
   * @returns {Promise<void>}
   */
  appendEntries(entries, options) {
    return appendEntries(this, entries, {
      computeProperties: this.computeProperties,
      ...options
    });
  }
  /**
   * append to the current database a CSV file
   * @param {string|ArrayBuffer} csv - text file containing the comma separated value file
   * @param {object} [options={}] - options.
   * @param {boolean} [options.header=true] - if the first line of the file is a header
   * @param {boolean} [options.dynamicTyping=true] - dynamically type the data (convert values to number of boolean if possible)
   * @param {boolean} [options.skipEmptyLines=true] - skip empty lines
   * @param {Function} [options.onStep] - call back to execute after each molecule
   * @returns {Promise<void>}
   */
  appendCSV(csv, options) {
    return appendCSV(this, csv, options);
  }
  /**
   * Append a SDF to the current database
   * @param {string|ArrayBuffer} sdf - text file containing the sdf
   * @param {object} [options={}] - options
   * @param {Function} [options.onStep] - callback to execute after each molecule
   * @param {boolean} [options.dynamicTyping=true] - Dynamically type the data
   * @param {boolean} [options.mixedEOL=false] - Set to true if you know there is a mixture between \r\n and \n
   * @param {string} [options.eol] - Specify the end of line character. Default will be the one found in the file
   * @returns {Promise<void>}
   */
  appendSDF(sdf, options) {
    return appendSDF(this, sdf, options);
  }
  /**
   * Append a list of SMILES to the current database.
   * @param {string|ArrayBuffer} smiles - text file containing a list of smiles
   * @param {object} [options={}] - Options
   * @param {Function} [options.onStep] - call back to execute after each molecule
   * @returns {Promise<void>}
   */
  appendSmilesList(smiles, options) {
    return appendSmilesList(this, smiles, options);
  }
  /**
   * Add a molecule to the current database.
   * @param {import('openchemlib').Molecule} molecule - The molecule to append.
   * @param {object} [data={}] - Options.
   * @param {object} [moleculeInfo={}] - May contain precalculated index and mw.
   */
  pushEntry(molecule, data, moleculeInfo) {
    pushEntry(this, molecule, data, moleculeInfo);
  }
  /**
   * Add an entry in the database.
   * @param {object} moleculeInfo - a molecule as a JSON that may contain the following properties: molfile, smiles, idCode, mf, index
   * @param {object} [data={}]
   */
  pushMoleculeInfo(moleculeInfo, data) {
    return pushMoleculeInfo(this, moleculeInfo, data);
  }
  /**
   * Search in a MoleculesDB
   * Inside the database all the same molecules are group together
   * @param {string|import('openchemlib').Molecule} [query] - smiles, molfile, idlCode or instance of Molecule to look for
   * @param {object} [options={}] - Options
   * @param {'smiles'|'idCode'|'smarts'|'molfile'} [options.format='idCode'] - query format
   * @param {'substructure'|'substructureOR'|'exact'|'exactNoStereo'|'similarity'} [options.mode='substructure'] - search algorithm
   * @param {boolean} [options.flattenResult=true] - The database group the data for the same product. This allows to flatten the result
   * @param {boolean} [options.keepMolecule=false] - keep the OCL.Molecule object in the result
   * @param {number} [options.limit=Number.MAX_SAFE_INTEGER] - maximal number of result
   * @returns {Array} array of object of the type {(molecule), idCode, data, properties}
   */
  search(query, options) {
    return search(this, query, options);
  }
  /**
   * Search in a MoleculesDB
   * Inside the database all the same molecules are group together
   * @param {string|import('openchemlib').Molecule} [query] - smiles, molfile, idCode or instance of Molecule to look for
   * @param {object} [options={}] - Options.
   * @param {'smiles'|'idCode'|'smarts'|'molfile'} [options.format='idCode'] - query format
   * @param {'substructure'|'substructureOR'|'exact'|'exactNoStereo'|'similarity'} [options.mode='substructure'] - search algorithm
   * @param {boolean} [options.flattenResult=true] - The database group the data for the same product. This allows to flatten the result
   * @param {boolean} [options.keepMolecule=false] - keep the OCL.Molecule object in the result
   * @param {number} [options.limit=Number.MAX_SAFE_INTEGER] - maximal number of result
   * @param {number} [options.interval=100] - interval in ms to call the onStep callback
   * @param {Function} [options.onStep] - callback to execute after each interval
   * @param {AbortController} [options.controler] - callback to execute to check if the search should be aborted
   * @returns {Promise<Array>} array of object of the type {(molecule), idCode, data, properties}
   */
  searchAsync(query, options) {
    return searchAsync(this, query, options);
  }
  /**
   * Returns an array with the current database
   * @returns
   */
  getDB() {
    return Object.keys(this.db).map(key => this.db[key]);
  }
  /**
   * Append the property `data.color` to each entry based on a data or property label
   * {object} [options={}]
   * {string} [options.dataLabel] name of the property from `data` to use
   * {string} [options.propertyLabel] name of the property from `properties` to use
   * {number} [options.colorLabel='color'] name of the property to add in data that will contain the color
   * {number} [options.minValue]
   * {number} [options.maxValue]
   * {number} [options.minHue=0]
   * {number} [options.maxHue=360]
   * {number} [options.saturation=65] percent of color saturation
   * {number} [options.lightness=65] percent of color lightness
   * @param options
   */
  appendColor(options) {
    appendColor(this, options);
  }
}

function getAtomFeatures(originalMolecule, options = {}) {
  const OCL = originalMolecule.getOCL();
  const {
    sphere = 1
  } = options;
  const fragment = new OCL.Molecule(0, 0);
  const results = [];
  for (let rootAtom = 0; rootAtom < originalMolecule.getAllAtoms(); rootAtom++) {
    let min = 0;
    let max = 0;
    const atomMask = new Array(originalMolecule.getAtoms());
    const atomList = new Array(originalMolecule.getAtoms());
    const molecule = originalMolecule.getCompactCopy();
    for (let currentSphere = 0; currentSphere <= sphere; currentSphere++) {
      if (max === 0) {
        atomList[max] = rootAtom;
        atomMask[rootAtom] = true;
        max++;
      } else {
        let newMax = max;
        for (let i = min; i < max; i++) {
          const atom = atomList[i];
          for (let j = 0; j < molecule.getAllConnAtoms(atom); j++) {
            const connAtom = molecule.getConnAtom(atom, j);
            if (!atomMask[connAtom]) {
              atomMask[connAtom] = true;
              atomList[newMax++] = connAtom;
            }
          }
        }
        min = max;
        max = newMax;
      }
      molecule.copyMoleculeByAtoms(fragment, atomMask, true, null);
      if (currentSphere === sphere) {
        makeRacemic(fragment);
        results.push(fragment.getCanonizedIDCode());
      }
    }
  }
  const atoms = {};
  for (const result of results) {
    if (!atoms[result]) {
      atoms[result] = 1;
    } else {
      atoms[result]++;
    }
  }
  return atoms;
}

let rAtomicNumber = 0;
/**
 * Returns the atomic number of the X atom
 * @param {import('openchemlib').Molecule} molecule - An instance of a molecule
 * @returns
 */
function getRAtomicNumber(molecule) {
  if (!rAtomicNumber) {
    const OCL = molecule.getOCL();
    rAtomicNumber = OCL.Molecule.getAtomicNoFromLabel('R', OCL.Molecule.cPseudoAtomR);
  }
  return rAtomicNumber;
}

function fragmentAcyclicSingleBonds(molecule) {
  const OCL = molecule.getOCL();
  const atoms = [];
  for (let i = 0; i < molecule.getAllAtoms(); i++) {
    const atom = {};
    atoms.push(atom);
    atom.i = i;
    atom.links = []; // we will store connected atoms of broken bonds
  }
  const bonds = [];
  for (let i = 0; i < molecule.getAllBonds(); i++) {
    const bond = {};
    bonds.push(bond);
    bond.i = i;
    bond.order = molecule.getBondOrder(i);
    bond.atom1 = molecule.getBondAtom(0, i);
    bond.atom2 = molecule.getBondAtom(1, i);
    bond.type = molecule.getBondType(i);
    bond.isAromatic = molecule.isAromaticBond(i);
    bond.isRingBond = molecule.isRingBond(i);
    if (!bond.isAromatic && (bond.type & 0b11) === 1 && !bond.isRingBond) {
      bond.selected = true;
      atoms[bond.atom1].links.push(bond.atom2);
      atoms[bond.atom2].links.push(bond.atom1);
    }
  }
  const brokenMolecule = molecule.getCompactCopy();
  for (const bond of bonds) {
    if (bond.selected) {
      brokenMolecule.markBondForDeletion(bond.i);
    }
  }
  brokenMolecule.deleteMarkedAtomsAndBonds();
  const fragmentMap = [];
  const nbFragments = brokenMolecule.getFragmentNumbers(fragmentMap);
  const results = [];
  for (let i = 0; i < nbFragments; i++) {
    const result = {
      atomMap: []
    };
    const includeAtom = fragmentMap.map(id => {
      return id === i;
    });
    const fragment = new OCL.Molecule(0, 0);
    const atomMap = [];
    brokenMolecule.copyMoleculeByAtoms(fragment, includeAtom, false, atomMap);
    // we will add some R groups at the level of the broken bonds
    for (let j = 0; j < atomMap.length; j++) {
      if (atomMap[j] > -1) {
        result.atomMap.push(j);
        if (atoms[j].links.length > 0) {
          for (let k = 0; k < atoms[j].links.length; k++) {
            fragment.addBond(atomMap[j], fragment.addAtom(getRAtomicNumber(brokenMolecule)), 1);
          }
        }
      }
    }
    fragment.setFragment(false);
    result.idCode = fragment.getIDCode();
    result.mf = getMF(fragment).mf.replace(/R[1-9]?/, '');
    results.push(result);
  }
  return results;
}

/**
 * @description Append the OCL reaction to the reaction object
 * @param {Array} reactions - array of reactions objects with rxnCode and label
 * @param {typeof import('openchemlib')} OCL - OCL object
 * @param {object} [options={}]
 * @param {import('cheminfo-types').Logger} [options.logger]
 * @returns {Array} array of reactions objects with rxnCode, label and oclReaction (a decoded version of rxnCode reaction)
 */
function appendOCLReaction(reactions, OCL, options = {}) {
  const {
    logger
  } = options;
  const newReactions = [];
  for (const reaction of reactions) {
    if (reaction.rxnCode) {
      newReactions.push({
        ...reaction,
        oclReaction: OCL.ReactionEncoder.decode(reaction.rxnCode)
      });
    } else if (logger) {
      logger.warn(reaction, 'Reaction without rxnCode');
    }
  }
  return newReactions;
}

/**
 *
 * @param {*} processedMolecules
 * @param {import('openchemlib').Molecule|string} molecule
 * @param {*} options
 * @returns
 */
function checkIfExistsOrAddInfo(processedMolecules, molecule, options) {
  const {
    moleculeInfoCallback,
    asReagent,
    asProduct
  } = options;
  const idCode = typeof molecule === 'string' ? idCode : molecule.getIDCode();
  if (processedMolecules.has(idCode)) {
    const entry = processedMolecules.get(idCode);
    let exists = false;
    if (asReagent) {
      if (entry.asReagent) {
        exists = true;
      } else {
        entry.asReagent = true;
      }
    }
    if (asProduct) {
      if (entry.asProduct) {
        exists = true;
      } else {
        entry.asProduct = true;
      }
    }
    return {
      exists,
      info: entry
    };
  } else {
    let info = {
      idCode,
      asReagent,
      asProduct,
      info: {}
    };
    if (moleculeInfoCallback) {
      info.info = moleculeInfoCallback(molecule);
    }
    processedMolecules.set(idCode, info);
    return {
      exists: false,
      info
    };
  }
}

/**
 * @description apply one reaction to one reactant
 * @param {import('openchemlib').Molecule[]} reactants
 * @param tree
 * @param {Array<object>} reactions - rxnCode of the reaction
 * @param {object} options - options to apply the reaction
 * @param {number} options.currentDepth - current depth of the recursion
 * @param {number} options.maxDepth - max depth of the recursion
 * @param {number} options.maxCurrentDepth - max depth of the recursion for this set of reactions
 * @param {number} options.limitReactions - limit the number of reactions
 * @param {object} options.stats - stats of the recursion
 * @param {number} options.stats.counter - number of reactions
 * @param {Map} options.processedMolecules - set of processed molecules
 * @param {Array} options.trees - array of trees of previous recursions
 * @param {object} options.OCL - OCL object
 * @returns {Array} array of results
 */
function applyOneReactantReactions(tree, reactions, options) {
  const {
    currentDepth,
    maxDepth,
    maxCurrentDepth,
    processedMolecules,
    OCL,
    logger
  } = options;
  if (tree.molecules.length !== 1) {
    logger?.warn('applyOneReactantReactions:tree.reactants.length!==1', tree.reactants.length);
    return [];
  }
  const reactant = OCL.Molecule.fromIDCode(tree.molecules[0].idCode);
  const todoNextDepth = [];
  // if the current depth is greater than the max depth, we stop the recursion and return an empty array
  if (currentDepth > maxCurrentDepth || tree.depth >= maxDepth) {
    return [];
  }
  const existsAndInfo = checkIfExistsOrAddInfo(processedMolecules, reactant, {
    ...options,
    asReagent: true
  });
  // check if the reactant has already been processed
  if (existsAndInfo.exists) {
    return [];
  }
  for (const reaction of reactions) {
    if (options.stats.counter >= options.limitReactions) {
      return [];
    }
    const reactor = new OCL.Reactor(reaction.oclReaction);
    // isMatching is true if the reactant is matching the reaction else we continue to the next reaction
    const isMatching = Boolean(reactor.setReactant(0, reactant));
    if (isMatching) {
      options.stats.counter++;
      // get the products of the reaction
      const oneReactionProducts = reactor.getProducts();
      for (const oneReactionProduct of oneReactionProducts) {
        for (const reactionProduct of oneReactionProduct) {
          // get the info of the product (idCode, mf)
          const productExistsAndInfo = checkIfExistsOrAddInfo(processedMolecules, reactionProduct, {
            ...options,
            asProduct: true
          });
          // if the product has not been processed yet, we add it to the list of products and we add it to the list of todoNextDepth
          if (!productExistsAndInfo.exists) {
            // eslint-disable-next-line no-unused-vars
            const {
              oclReaction,
              needToBeCharged,
              ...reactionWithoutOCL
            } = reaction;
            const oneReaction = {
              reaction: reactionWithoutOCL,
              depth: tree.depth + 1,
              isValid: true,
              currentDepth,
              molecules: [checkIfExistsOrAddInfo(processedMolecules, reactionProduct, options).info]
            };
            if (!tree.children) tree.children = [];
            tree.children.push(oneReaction);
            todoNextDepth.push(() => {
              return applyOneReactantReactions(oneReaction, reactions, {
                ...options,
                currentDepth: options.currentDepth + 1
              });
            });
          }
        }
      }
    }
  }
  // by returning todoNextDepth, we make sure that the recursion will continue
  return todoNextDepth;
}

function getFilteredTrees(reactions, options = {}) {
  const {
    filter = () => true
  } = options;
  const nodesToKeep = reactions.getNodes().filter(filter);
  const parentMap = reactions.getParentMap();
  for (let currentNode of nodesToKeep) {
    const parent = parentMap.get(currentNode);
    if (parent && nodesToKeep.includes(parent) === false) {
      nodesToKeep.push(parent);
    }
  }
  return getValidChildren(reactions.trees, {
    nodesToKeep
  });
}
function getValidChildren(nodes, options) {
  const {
    nodesToKeep
  } = options;
  const validNodes = nodes.filter(node => nodesToKeep.includes(node)).map(node => ({
    ...node
  }));
  for (const node of validNodes) {
    if (node.children) {
      const validChildren = node.children.filter(child => nodesToKeep.includes(child));
      if (validChildren.length > 0) {
        node.children = getValidChildren(validChildren, {
          nodesToKeep
        });
      } else {
        delete node.children;
      }
    }
  }
  return validNodes;
}

function getLeaves(trees) {
  const leaves = [];
  for (const tree of trees) {
    appendLeavesSS(leaves, tree);
  }
  return leaves;
}
function appendLeavesSS(leaves, currentBranch) {
  if (!currentBranch.children || currentBranch.children.length === 0) {
    leaves.push(currentBranch);
    return;
  }
  for (const child of currentBranch.children) {
    appendLeavesSS(leaves, child);
  }
}

function getNodes(trees) {
  const nodes = [];
  for (const tree of trees) {
    getNodesSS(nodes, tree);
  }
  return nodes;
}
function getNodesSS(nodes, currentBranch) {
  nodes.push(currentBranch);
  for (const child of currentBranch?.children || []) {
    getNodesSS(nodes, child);
  }
}

class Reactions {
  /**
   *
   * @param OCL
   * @param {object} [options={}]
   * @param {import('cheminfo-types').Logger} logger
   * @param {number} [options.maxDepth=5]
   * @param {Function} [options.moleculeInfoCallback]
   * @param {boolean} [options.skipProcessed=true]
   */
  constructor(OCL, options = {}) {
    this.moleculeInfoCallback = options.moleculeInfoCallback;
    this.maxDepth = options.maxDepth ?? 5;
    this.limitReactions = options.limitReactions ?? 200;
    this.skipProcessed = options.skipProcessed ?? true;
    this.logger = options.logger;
    this.processedMolecules = new Map();
    this.OCL = OCL;
    this.trees = [];
    this.moleculeInfo = {}; // a cache containing molecule information like mw, etc.
  }
  /**
   * We need to call this method for all the reactants on which we want to apply the reactions.
   * If there is only one reactant, we call this method with an array of one reactant.
   * If there are multiple reactants, we call this method with an array of the reactants.
   * This method has to be called for all the reactants
   * @param {import('openchemlib').Molecule[]|string[]} molecules
   * @param moleculesOrIDCodes
   */
  appendHead(moleculesOrIDCodes) {
    if (!Array.isArray(moleculesOrIDCodes)) {
      throw new TypeError('reactants must be an array');
    }
    const molecules = moleculesOrIDCodes.map(molecule => checkIfExistsOrAddInfo(this.processedMolecules, molecule, {
      moleculeInfoCallback: this.moleculeInfoCallback
    }).info);
    const tree = {
      molecules,
      depth: 0,
      isValid: true // this node could be implied in reactions
    };
    this.trees.push(tree);
  }
  /**
   * Returns all the leaves of the trees
   * @returns
   */
  getLeaves() {
    return getLeaves(this.trees);
  }
  /**
   * Returns all the nodes of the trees
   * @returns
   */
  getNodes() {
    return getNodes(this.trees);
  }
  getParentMap() {
    const parentMap = new Map();
    const nodes = this.getNodes();
    for (const node of nodes) {
      if (node.children) {
        for (const child of node.children) {
          parentMap.set(child, node);
        }
      }
    }
    return parentMap;
  }
  /**
   * When applying reactions some branches may be dead because it can not be implied in any reaction.
   * This is the case when we specify a 'min' reaction depth.
   * This will returno only the valid nodes
   * @returns
   */
  getValidNodes() {
    return this.getNodes().filter(node => node.isValid);
  }
  /**
   *
   * @param {object} [options={}]
   * @param {(object):boolean} [options.filter] - a function that will be called for each node and return true if the node should be kept
   */
  getFilteredReactions(options = {}) {
    const filteredReactions = new Reactions();
    filteredReactions.moleculeInfoCallback = this.moleculeInfoCallback;
    filteredReactions.maxDepth = this.maxDepth;
    filteredReactions.limitReactions = this.limitReactions;
    filteredReactions.skipProcessed = this.skipProcessed;
    filteredReactions.logger = this.logger;
    filteredReactions.processedMolecules = this.processedMolecules;
    filteredReactions.OCL = this.OCL;
    filteredReactions.moleculeInfo = this.moleculeInfo; // a cache containing molecule information like mw, etc.
    filteredReactions.trees = getFilteredTrees(this, options);
    return filteredReactions;
  }
  /**
   *
   * @param {object[]} reactions - array of reactions that should be applied
   * @param {object} [options={}]
   * @param {number} [options.min=0] - min depth of the reaction
   * @param {number} [options.max=3] - max depth of the reaction
   */
  applyOneReactantReactions(reactions, options = {}) {
    const {
      min = 0,
      max = 3
    } = options;
    clearAsFromProcessedMolecules(this.processedMolecules);
    const nodes = this.getNodes().filter(node => node.isValid);
    for (const node of nodes) {
      node.currentDepth = 0;
    }
    reactions = appendOCLReaction(reactions, this.OCL);
    const stats = {
      counter: 0
    };
    // Start the recursion by applying the first level of reactions
    for (const node of nodes) {
      let todoCurrentLevel = applyOneReactantReactions(node, reactions, {
        OCL: this.OCL,
        currentDepth: 1,
        processedMolecules: this.processedMolecules,
        moleculeInfoCallback: this.moleculeInfoCallback,
        maxDepth: this.maxDepth,
        maxCurrentDepth: max,
        stats,
        limitReactions: this.limitReactions
      });
      do {
        const nexts = [];
        for (const todo of todoCurrentLevel) {
          nexts.push(todo());
        }
        todoCurrentLevel = nexts.flat();
      } while (todoCurrentLevel.length > 0);
    }
    const newNodes = this.getNodes().filter(node => node.isValid);
    for (const node of newNodes) {
      if (node.currentDepth < min || node.currentDepth > max) {
        node.isValid = false;
      }
      delete node.currentDepth;
    }
  }
}
function clearAsFromProcessedMolecules(processedMolecules) {
  for (const [, value] of processedMolecules) {
    if (value.asReagent) {
      value.asReagent = false;
    }
    if (value.asProduct) {
      value.asProduct = false;
    }
  }
}

export { FULL_HOSE_CODE, HOSE_CODE_CUT_C_SP3_SP3, MoleculesDB, Reactions, TopicMolecule, applyFragmentLabels, autoLabel, autoLabelDatabase, combineSmiles, createPolymer, ensureHeterotopicChiralBonds, fragmentAcyclicSingleBonds, getAtomFeatures, getAtoms, getAtomsInfo, getCharge, getConnectivityMatrix, getDiastereotopicAtomIDs, getDiastereotopicAtomIDsAndH, getDiastereotopicAtomIDsFromMolfile, getGroupedDiastereotopicAtomIDs, getHoseCodes, getHoseCodesAndInfo, getHoseCodesForAtom, getHoseCodesForAtoms, getHoseCodesForPath, getHoseCodesFromDiastereotopicID, getImplicitHydrogensCount, getMF, getMolfilesMapping, getNMRHints, getNextNMRHint, getPathAndTorsion, getPathsInfo, getProperties, getShortestPaths, groupDiastereotopicAtomIDs$1 as groupDiastereotopicAtomIDs, isCsp3, makeRacemic, nbCHO, nbCN, nbCOOH, nbLabileH, nbNH2, nbOH, parseDwar, tagAtom, toDiastereotopicSVG, toVisualizerMolfile, toggleHydrogens };
//# sourceMappingURL=openchemlib-utils.esm.js.map
