elkjs
Version:
Automatic graph layout based on Sugiyama's algorithm. Specialized for data flow diagrams and ports.
1,845 lines (1,836 loc) • 1.59 MB
JavaScript
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.ELK = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
/*******************************************************************************
* Copyright (c) 2017 Kiel University and others.
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*******************************************************************************/
var ELK = exports["default"] = /*#__PURE__*/function () {
function ELK() {
var _this = this;
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
_ref$defaultLayoutOpt = _ref.defaultLayoutOptions,
defaultLayoutOptions = _ref$defaultLayoutOpt === void 0 ? {} : _ref$defaultLayoutOpt,
_ref$algorithms = _ref.algorithms,
algorithms = _ref$algorithms === void 0 ? ['layered', 'stress', 'mrtree', 'radial', 'force', 'disco', 'sporeOverlap', 'sporeCompaction', 'rectpacking'] : _ref$algorithms,
workerFactory = _ref.workerFactory,
workerUrl = _ref.workerUrl;
_classCallCheck(this, ELK);
this.defaultLayoutOptions = defaultLayoutOptions;
this.initialized = false;
// check valid worker construction possible
if (typeof workerUrl === 'undefined' && typeof workerFactory === 'undefined') {
throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");
}
var factory = workerFactory;
if (typeof workerUrl !== 'undefined' && typeof workerFactory === 'undefined') {
// use default Web Worker
factory = function factory(url) {
return new Worker(url);
};
}
// create the worker
var worker = factory(workerUrl);
if (typeof worker.postMessage !== 'function') {
throw new TypeError("Created worker does not provide" + " the required 'postMessage' function.");
}
// wrap the worker to return promises
this.worker = new PromisedWorker(worker);
// initially register algorithms
this.worker.postMessage({
cmd: 'register',
algorithms: algorithms
}).then(function (r) {
return _this.initialized = true;
})["catch"](console.err);
}
return _createClass(ELK, [{
key: "layout",
value: function layout(graph) {
var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
_ref2$layoutOptions = _ref2.layoutOptions,
layoutOptions = _ref2$layoutOptions === void 0 ? this.defaultLayoutOptions : _ref2$layoutOptions,
_ref2$logging = _ref2.logging,
logging = _ref2$logging === void 0 ? false : _ref2$logging,
_ref2$measureExecutio = _ref2.measureExecutionTime,
measureExecutionTime = _ref2$measureExecutio === void 0 ? false : _ref2$measureExecutio;
if (!graph) {
return Promise.reject(new Error("Missing mandatory parameter 'graph'."));
}
return this.worker.postMessage({
cmd: 'layout',
graph: graph,
layoutOptions: layoutOptions,
options: {
logging: logging,
measureExecutionTime: measureExecutionTime
}
});
}
}, {
key: "knownLayoutAlgorithms",
value: function knownLayoutAlgorithms() {
return this.worker.postMessage({
cmd: 'algorithms'
});
}
}, {
key: "knownLayoutOptions",
value: function knownLayoutOptions() {
return this.worker.postMessage({
cmd: 'options'
});
}
}, {
key: "knownLayoutCategories",
value: function knownLayoutCategories() {
return this.worker.postMessage({
cmd: 'categories'
});
}
}, {
key: "terminateWorker",
value: function terminateWorker() {
if (this.worker) this.worker.terminate();
}
}]);
}();
var PromisedWorker = /*#__PURE__*/function () {
function PromisedWorker(worker) {
var _this2 = this;
_classCallCheck(this, PromisedWorker);
if (worker === undefined) {
throw new Error("Missing mandatory parameter 'worker'.");
}
this.resolvers = {};
this.worker = worker;
this.worker.onmessage = function (answer) {
// why is this necessary?
setTimeout(function () {
_this2.receive(_this2, answer);
}, 0);
};
}
return _createClass(PromisedWorker, [{
key: "postMessage",
value: function postMessage(msg) {
var id = this.id || 0;
this.id = id + 1;
msg.id = id;
var self = this;
return new Promise(function (resolve, reject) {
// prepare the resolver
self.resolvers[id] = function (err, res) {
if (err) {
self.convertGwtStyleError(err);
reject(err);
} else {
resolve(res);
}
};
// post the message
self.worker.postMessage(msg);
});
}
}, {
key: "receive",
value: function receive(self, answer) {
var json = answer.data;
var resolver = self.resolvers[json.id];
if (resolver) {
delete self.resolvers[json.id];
if (json.error) {
resolver(json.error);
} else {
resolver(null, json.data);
}
}
}
}, {
key: "terminate",
value: function terminate() {
if (this.worker) {
this.worker.terminate();
}
}
}, {
key: "convertGwtStyleError",
value: function convertGwtStyleError(err) {
if (!err) {
return;
}
// Somewhat flatten the way GWT stores nested exception(s)
var javaException = err['__java$exception'];
if (javaException) {
// Note that the property name of the nested exception is different
// in the non-minified ('cause') and the minified (not deterministic) version.
// Hence, the version below only works for the non-minified version.
// However, as the minified stack trace is not of much use anyway, one
// should switch the used version for debugging in such a case.
if (javaException.cause && javaException.cause.backingJsObject) {
err.cause = javaException.cause.backingJsObject;
this.convertGwtStyleError(err.cause);
}
delete err['__java$exception'];
}
}
}]);
}();
},{}],2:[function(require,module,exports){
(function (global){(function (){
'use strict';
// -------------- FAKE ELEMENTS GWT ASSUMES EXIST --------------
var $wnd;
if (typeof window !== 'undefined')
$wnd = window
else if (typeof global !== 'undefined')
$wnd = global // nodejs
else if (typeof self !== 'undefined')
$wnd = self // web worker
var $moduleName,
$moduleBase;
// -------------- WORKAROUND STRICT MODE, SEE #127 --------------
var g, i, o;
// -------------- GENERATED CODE --------------
function nb(){}
function xb(){}
function Fd(){}
function fh(){}
function fx(){}
function nx(){}
function ox(){}
function hq(){}
function Jq(){}
function er(){}
function eA(){}
function lA(){}
function UA(){}
function XA(){}
function XB(){}
function bB(){}
function Ss(){}
function Vw(){}
function Vz(){}
function Ey(){}
function bdb(){}
function fdb(){}
function Zcb(){}
function _mb(){}
function _nb(){}
function Anb(){}
function Inb(){}
function Tnb(){}
function cqb(){}
function lqb(){}
function qqb(){}
function Eqb(){}
function asb(){}
function gub(){}
function lub(){}
function nub(){}
function Owb(){}
function uyb(){}
function Bzb(){}
function Jzb(){}
function JCb(){}
function ECb(){}
function HCb(){}
function LCb(){}
function fAb(){}
function tAb(){}
function vAb(){}
function xAb(){}
function zAb(){}
function BAb(){}
function FAb(){}
function fDb(){}
function EDb(){}
function IDb(){}
function wEb(){}
function zEb(){}
function XEb(){}
function nFb(){}
function sFb(){}
function wFb(){}
function BFb(){}
function BIb(){}
function vIb(){}
function xIb(){}
function zIb(){}
function QIb(){}
function UIb(){}
function MGb(){}
function VJb(){}
function XJb(){}
function ZJb(){}
function ZKb(){}
function hKb(){}
function XKb(){}
function lLb(){}
function pLb(){}
function QLb(){}
function lMb(){}
function qMb(){}
function uMb(){}
function CMb(){}
function EMb(){}
function $Mb(){}
function MOb(){}
function rPb(){}
function wPb(){}
function rQb(){}
function PQb(){}
function PRb(){}
function fRb(){}
function iRb(){}
function lRb(){}
function vRb(){}
function fSb(){}
function kSb(){}
function aTb(){}
function hTb(){}
function lTb(){}
function pTb(){}
function tTb(){}
function xTb(){}
function tUb(){}
function UUb(){}
function dVb(){}
function hVb(){}
function lVb(){}
function vVb(){}
function fXb(){}
function jXb(){}
function JYb(){}
function DZb(){}
function IZb(){}
function MZb(){}
function QZb(){}
function UZb(){}
function YZb(){}
function A$b(){}
function C$b(){}
function I$b(){}
function M$b(){}
function Q$b(){}
function t_b(){}
function v_b(){}
function x_b(){}
function C_b(){}
function H_b(){}
function K_b(){}
function S_b(){}
function W_b(){}
function Z_b(){}
function __b(){}
function b0b(){}
function n0b(){}
function r0b(){}
function v0b(){}
function z0b(){}
function O0b(){}
function T0b(){}
function V0b(){}
function X0b(){}
function Z0b(){}
function _0b(){}
function m1b(){}
function o1b(){}
function q1b(){}
function s1b(){}
function u1b(){}
function y1b(){}
function j2b(){}
function r2b(){}
function u2b(){}
function A2b(){}
function O2b(){}
function R2b(){}
function W2b(){}
function a3b(){}
function m3b(){}
function n3b(){}
function q3b(){}
function y3b(){}
function B3b(){}
function D3b(){}
function F3b(){}
function J3b(){}
function M3b(){}
function P3b(){}
function U3b(){}
function $3b(){}
function $5b(){}
function F5b(){}
function L5b(){}
function N5b(){}
function P5b(){}
function e4b(){}
function f6b(){}
function h6b(){}
function L6b(){}
function N6b(){}
function T6b(){}
function Y6b(){}
function k7b(){}
function s7b(){}
function Q7b(){}
function T7b(){}
function X7b(){}
function r8b(){}
function w8b(){}
function A8b(){}
function O8b(){}
function W8b(){}
function Z8b(){}
function d9b(){}
function g9b(){}
function l9b(){}
function q9b(){}
function s9b(){}
function u9b(){}
function w9b(){}
function y9b(){}
function R9b(){}
function T9b(){}
function V9b(){}
function Z9b(){}
function bac(){}
function hac(){}
function kac(){}
function qac(){}
function sac(){}
function uac(){}
function wac(){}
function Aac(){}
function Fac(){}
function Iac(){}
function Kac(){}
function Mac(){}
function Oac(){}
function Qac(){}
function Uac(){}
function _ac(){}
function bbc(){}
function dbc(){}
function fbc(){}
function mbc(){}
function obc(){}
function qbc(){}
function sbc(){}
function xbc(){}
function Bbc(){}
function Dbc(){}
function Fbc(){}
function Jbc(){}
function Mbc(){}
function Sbc(){}
function Scc(){}
function ecc(){}
function mcc(){}
function qcc(){}
function scc(){}
function ycc(){}
function Ccc(){}
function Gcc(){}
function Icc(){}
function Occ(){}
function Ucc(){}
function $cc(){}
function cdc(){}
function edc(){}
function udc(){}
function _dc(){}
function bec(){}
function dec(){}
function fec(){}
function hec(){}
function jec(){}
function lec(){}
function tec(){}
function vec(){}
function Bec(){}
function Dec(){}
function Fec(){}
function Hec(){}
function Lec(){}
function Nec(){}
function Vec(){}
function Xec(){}
function Zec(){}
function gfc(){}
function gic(){}
function cic(){}
function eic(){}
function iic(){}
function kic(){}
function mic(){}
function Jic(){}
function Lic(){}
function Nic(){}
function Pic(){}
function Pgc(){}
function Tgc(){}
function Tic(){}
function Xic(){}
function _ic(){}
function Ohc(){}
function Qhc(){}
function Shc(){}
function Uhc(){}
function $hc(){}
function jjc(){}
function njc(){}
function Cjc(){}
function Ijc(){}
function Zjc(){}
function bkc(){}
function dkc(){}
function pkc(){}
function zkc(){}
function Lkc(){}
function Nkc(){}
function Pkc(){}
function Plc(){}
function hlc(){}
function jlc(){}
function rlc(){}
function Nlc(){}
function Rlc(){}
function Wlc(){}
function Ylc(){}
function kmc(){}
function mmc(){}
function omc(){}
function umc(){}
function xmc(){}
function Cmc(){}
function Fwc(){}
function wAc(){}
function dBc(){}
function jBc(){}
function qCc(){}
function SDc(){}
function $Ec(){}
function iFc(){}
function kFc(){}
function oFc(){}
function hHc(){}
function LIc(){}
function PIc(){}
function ZIc(){}
function _Ic(){}
function bJc(){}
function fJc(){}
function lJc(){}
function pJc(){}
function rJc(){}
function tJc(){}
function vJc(){}
function zJc(){}
function DJc(){}
function IJc(){}
function KJc(){}
function QJc(){}
function SJc(){}
function WJc(){}
function YJc(){}
function aKc(){}
function cKc(){}
function eKc(){}
function gKc(){}
function VKc(){}
function kLc(){}
function KLc(){}
function KMc(){}
function sMc(){}
function AMc(){}
function CMc(){}
function EMc(){}
function GMc(){}
function IMc(){}
function FNc(){}
function LNc(){}
function NNc(){}
function PNc(){}
function $Nc(){}
function aOc(){}
function mPc(){}
function oPc(){}
function CPc(){}
function LPc(){}
function NPc(){}
function NQc(){}
function xQc(){}
function AQc(){}
function DQc(){}
function TQc(){}
function XQc(){}
function tRc(){}
function NRc(){}
function RRc(){}
function VRc(){}
function bSc(){}
function pSc(){}
function uSc(){}
function CSc(){}
function GSc(){}
function ISc(){}
function KSc(){}
function MSc(){}
function fTc(){}
function jTc(){}
function lTc(){}
function sTc(){}
function wTc(){}
function yTc(){}
function DTc(){}
function JTc(){}
function oVc(){}
function oXc(){}
function aXc(){}
function eXc(){}
function gXc(){}
function kXc(){}
function qXc(){}
function uXc(){}
function yXc(){}
function AXc(){}
function GXc(){}
function KXc(){}
function OXc(){}
function UXc(){}
function YXc(){}
function dWc(){}
function fWc(){}
function hWc(){}
function nWc(){}
function rWc(){}
function aYc(){}
function eYc(){}
function oYc(){}
function sYc(){}
function _Yc(){}
function cZc(){}
function DZc(){}
function IZc(){}
function LZc(){}
function NZc(){}
function PZc(){}
function TZc(){}
function XZc(){}
function f_c(){}
function G_c(){}
function J_c(){}
function M_c(){}
function Q_c(){}
function Y_c(){}
function s0c(){}
function v0c(){}
function L0c(){}
function O0c(){}
function R0c(){}
function W0c(){}
function o2c(){}
function w2c(){}
function y2c(){}
function D2c(){}
function G2c(){}
function J2c(){}
function e3c(){}
function k3c(){}
function D3c(){}
function H3c(){}
function M3c(){}
function e5c(){}
function H6c(){}
function l7c(){}
function K7c(){}
function K8c(){}
function g8c(){}
function o8c(){}
function F8c(){}
function I8c(){}
function W8c(){}
function m9c(){}
function q9c(){}
function x9c(){}
function V9c(){}
function X9c(){}
function Xad(){}
function pad(){}
function sad(){}
function Ead(){}
function Wad(){}
function Zad(){}
function _ad(){}
function bbd(){}
function dbd(){}
function fbd(){}
function hbd(){}
function jbd(){}
function lbd(){}
function nbd(){}
function pbd(){}
function rbd(){}
function tbd(){}
function vbd(){}
function xbd(){}
function zbd(){}
function Bbd(){}
function Dbd(){}
function Fbd(){}
function Hbd(){}
function fcd(){}
function yed(){}
function ymd(){}
function umd(){}
function Cmd(){}
function Gmd(){}
function Kmd(){}
function Kod(){}
function hod(){}
function $hd(){}
function ikd(){}
function Tld(){}
function Tnd(){}
function tnd(){}
function Lnd(){}
function Nnd(){}
function Ynd(){}
function Cpd(){}
function Ctd(){}
function Vtd(){}
function Bsd(){}
function tud(){}
function mvd(){}
function Lwd(){}
function Dxd(){}
function dyd(){}
function vDd(){}
function $Dd(){}
function gEd(){}
function EGd(){}
function ELd(){}
function XLd(){}
function AKd(){}
function hOd(){}
function uOd(){}
function FPd(){}
function oQd(){}
function KQd(){}
function pWd(){}
function sWd(){}
function vWd(){}
function DWd(){}
function QWd(){}
function TWd(){}
function AYd(){}
function e1d(){}
function Q1d(){}
function w3d(){}
function z3d(){}
function C3d(){}
function F3d(){}
function I3d(){}
function L3d(){}
function O3d(){}
function R3d(){}
function U3d(){}
function q5d(){}
function u5d(){}
function f6d(){}
function x6d(){}
function z6d(){}
function C6d(){}
function F6d(){}
function I6d(){}
function L6d(){}
function O6d(){}
function R6d(){}
function U6d(){}
function X6d(){}
function $6d(){}
function b7d(){}
function e7d(){}
function h7d(){}
function k7d(){}
function n7d(){}
function q7d(){}
function t7d(){}
function w7d(){}
function z7d(){}
function C7d(){}
function F7d(){}
function I7d(){}
function L7d(){}
function O7d(){}
function R7d(){}
function U7d(){}
function X7d(){}
function $7d(){}
function b8d(){}
function e8d(){}
function h8d(){}
function k8d(){}
function n8d(){}
function q8d(){}
function t8d(){}
function w8d(){}
function z8d(){}
function C8d(){}
function F8d(){}
function I8d(){}
function L8d(){}
function O8d(){}
function R8d(){}
function aee(){}
function Mfe(){}
function Mie(){}
function Zie(){}
function _ie(){}
function The(){}
function cje(){}
function fje(){}
function ije(){}
function lje(){}
function oje(){}
function rje(){}
function uje(){}
function xje(){}
function Aje(){}
function Dje(){}
function Gje(){}
function Jje(){}
function Mje(){}
function Pje(){}
function Sje(){}
function Vje(){}
function Yje(){}
function _je(){}
function cke(){}
function fke(){}
function ike(){}
function lke(){}
function oke(){}
function rke(){}
function uke(){}
function xke(){}
function Ake(){}
function Dke(){}
function Gke(){}
function Jke(){}
function Mke(){}
function Pke(){}
function Ske(){}
function Vke(){}
function Yke(){}
function _ke(){}
function cle(){}
function fle(){}
function ile(){}
function lle(){}
function ole(){}
function rle(){}
function ule(){}
function xle(){}
function Ale(){}
function Dle(){}
function Gle(){}
function Jle(){}
function Mle(){}
function Ple(){}
function mme(){}
function Npe(){}
function Ype(){}
function KXb(a){}
function c_d(a){}
function xl(){wb()}
function ZNb(){YNb()}
function Z$b(){T$b()}
function KOb(){IOb()}
function _Ob(){$Ob()}
function pPb(){nPb()}
function L0b(){E0b()}
function L9b(){G9b()}
function k3b(){e3b()}
function Y5b(){U5b()}
function C6b(){k6b()}
function C7b(){v7b()}
function Ahc(){jhc()}
function mAc(){jAc()}
function fAc(){cAc()}
function sAc(){qAc()}
function _Ac(){VAc()}
function Xjc(){Ljc()}
function Ptc(){Otc()}
function Dwc(){Bwc()}
function Qzc(){Nzc()}
function sBc(){oBc()}
function ABc(){wBc()}
function LBc(){FBc()}
function $Bc(){UBc()}
function YVc(){UVc()}
function mVc(){kVc()}
function QVc(){KVc()}
function dEc(){_Dc()}
function d_c(){b_c()}
function IFc(){GFc()}
function H$c(){G$c()}
function GHc(){DHc()}
function WHc(){MHc()}
function lKc(){jKc()}
function ZLc(){WLc()}
function FUc(){EUc()}
function MWc(){EWc()}
function AWc(){uWc()}
function J1c(){I1c()}
function m2c(){k2c()}
function F6c(){D6c()}
function _6c(){$6c()}
function j7c(){h7c()}
function Q9c(){P9c()}
function wed(){ued()}
function Mgd(){Lgd()}
function Yhd(){Whd()}
function gkd(){ekd()}
function avd(){Uud()}
function aUd(){GTd()}
function APd(){mPd()}
function Bfe(){Mpe()}
function Mwb(a){tDb(a)}
function Yb(a){this.a=a}
function cc(a){this.a=a}
function bf(a){this.a=a}
function hf(a){this.a=a}
function hh(a){this.a=a}
function rh(a){this.a=a}
function zh(a){this.a=a}
function Vh(a){this.a=a}
function Bi(a){this.a=a}
function Ii(a){this.a=a}
function ij(a){this.a=a}
function oj(a){this.a=a}
function Jj(a){this.a=a}
function yj(a){this.c=a}
function Gk(a){this.a=a}
function Ok(a){this.a=a}
function Tn(a){this.a=a}
function ip(a){this.a=a}
function Hp(a){this.a=a}
function eq(a){this.a=a}
function Aq(a){this.a=a}
function Rq(a){this.a=a}
function Kr(a){this.a=a}
function Wr(a){this.b=a}
function ru(a){this.a=a}
function rw(a){this.a=a}
function cw(a){this.a=a}
function hw(a){this.a=a}
function Ew(a){this.a=a}
function Jw(a){this.a=a}
function Ow(a){this.a=a}
function ax(a){this.a=a}
function bx(a){this.a=a}
function hx(a){this.a=a}
function hy(a){this.a=a}
function Gy(a){this.a=a}
function FB(a){this.a=a}
function PB(a){this.a=a}
function _B(a){this.a=a}
function nC(a){this.a=a}
function EB(){this.a=[]}
function GCb(a,b){a.a=b}
function OXb(a,b){a.a=b}
function PXb(a,b){a.b=b}
function QXb(a,b){a.c=b}
function jNb(a,b){a.c=b}
function kNb(a,b){a.d=b}
function RXb(a,b){a.d=b}
function _Gb(a,b){a.j=b}
function rYb(a,b){a.k=b}
function $Yb(a,b){a.c=b}
function qgc(a,b){a.c=b}
function pgc(a,b){a.a=b}
function GDc(a,b){a.a=b}
function HDc(a,b){a.f=b}
function QMc(a,b){a.a=b}
function RMc(a,b){a.b=b}
function SMc(a,b){a.d=b}
function TMc(a,b){a.i=b}
function UMc(a,b){a.o=b}
function VMc(a,b){a.r=b}
function BOc(a,b){a.a=b}
function COc(a,b){a.b=b}
function tZc(a,b){a.e=b}
function uZc(a,b){a.f=b}
function vZc(a,b){a.g=b}
function m4c(a,b){a.e=b}
function n4c(a,b){a.f=b}
function A4c(a,b){a.f=b}
function vod(a,b){a.a=b}
function wod(a,b){a.b=b}
function WRd(a,b){a.n=b}
function tae(a,b){a.a=b}
function Cae(a,b){a.a=b}
function Yae(a,b){a.a=b}
function uae(a,b){a.c=b}
function Dae(a,b){a.c=b}
function Zae(a,b){a.c=b}
function Eae(a,b){a.d=b}
function $ae(a,b){a.d=b}
function Fae(a,b){a.e=b}
function _ae(a,b){a.e=b}
function Gae(a,b){a.g=b}
function abe(a,b){a.f=b}
function bbe(a,b){a.j=b}
function Rhe(a,b){a.a=b}
function $he(a,b){a.a=b}
function She(a,b){a.b=b}
function Ffc(a){a.b=a.a}
function Jg(a){a.c=a.d.d}
function Jdb(a){this.a=a}
function idb(a){this.a=a}
function Udb(a){this.a=a}
function Ujb(a){this.a=a}
function djb(a){this.a=a}
function Ojb(a){this.a=a}
function Ofb(a){this.a=a}
function qfb(a){this.a=a}
function Keb(a){this.a=a}
function Yeb(a){this.a=a}
function Zjb(a){this.a=a}
function ujb(a){this.d=a}
function ckb(a){this.a=a}
function Lkb(a){this.a=a}
function Skb(a){this.a=a}
function Spb(a){this.a=a}
function Npb(a){this.a=a}
function dob(a){this.a=a}
function oob(a){this.b=a}
function Fob(a){this.b=a}
function Gkb(a){this.b=a}
function rmb(a){this.c=a}
function kpb(a){this.c=a}
function ktb(a){this.a=a}
function uqb(a){this.a=a}
function Yqb(a){this.a=a}
function Trb(a){this.a=a}
function Qvb(a){this.a=a}
function Svb(a){this.a=a}
function Uvb(a){this.a=a}
function Wvb(a){this.a=a}
function nvb(a){this.c=a}
function nzb(a){this.a=a}
function xzb(a){this.a=a}
function zzb(a){this.a=a}
function Dzb(a){this.a=a}
function aBb(a){this.a=a}
function cBb(a){this.a=a}
function eBb(a){this.a=a}
function tBb(a){this.a=a}
function ZBb(a){this.a=a}
function _Bb(a){this.a=a}
function dCb(a){this.a=a}
function NCb(a){this.a=a}
function RCb(a){this.a=a}
function RDb(a){this.a=a}
function GDb(a){this.a=a}
function MDb(a){this.a=a}
function VEb(a){this.a=a}
function SGb(a){this.a=a}
function $Gb(a){this.a=a}
function vKb(a){this.a=a}
function ELb(a){this.a=a}
function SLb(a){this.a=a}
function QPb(a){this.a=a}
function cQb(a){this.a=a}
function eQb(a){this.a=a}
function pQb(a){this.a=a}
function tQb(a){this.a=a}
function WVb(a){this.a=a}
function BWb(a){this.a=a}
function NWb(a){this.e=a}
function dZb(a){this.a=a}
function gZb(a){this.a=a}
function lZb(a){this.a=a}
function oZb(a){this.a=a}
function E$b(a){this.a=a}
function G$b(a){this.a=a}
function K$b(a){this.a=a}
function O$b(a){this.a=a}
function a_b(a){this.a=a}
function c_b(a){this.a=a}
function e_b(a){this.a=a}
function g_b(a){this.a=a}
function x0b(a){this.a=a}
function B0b(a){this.a=a}
function w1b(a){this.a=a}
function X1b(a){this.a=a}
function b4b(a){this.a=a}
function h4b(a){this.a=a}
function k4b(a){this.a=a}
function n4b(a){this.a=a}
function P6b(a){this.a=a}
function R6b(a){this.a=a}
function D8b(a){this.a=a}
function G8b(a){this.a=a}
function i9b(a){this.a=a}
function icc(a){this.a=a}
function ucc(a){this.a=a}
function Ecc(a){this.a=a}
function yac(a){this.a=a}
function Sac(a){this.a=a}
function Wac(a){this.a=a}
function Ubc(a){this.a=a}
function rdc(a){this.a=a}
function wdc(a){this.a=a}
function nec(a){this.a=a}
function pec(a){this.a=a}
function rec(a){this.a=a}
function xec(a){this.a=a}
function zec(a){this.a=a}
function Jec(a){this.a=a}
function Pec(a){this.a=a}
function Rec(a){this.a=a}
function _ec(a){this.a=a}
function Whc(a){this.a=a}
function Yhc(a){this.a=a}
function Ric(a){this.a=a}
function skc(a){this.a=a}
function ukc(a){this.a=a}
function qmc(a){this.a=a}
function smc(a){this.a=a}
function MAc(a){this.a=a}
function QAc(a){this.a=a}
function PBc(a){this.a=a}
function MCc(a){this.a=a}
function iDc(a){this.a=a}
function EDc(a){this.a=a}
function gDc(a){this.c=a}
function Dlc(a){this.b=a}
function hEc(a){this.a=a}
function LEc(a){this.a=a}
function NEc(a){this.a=a}
function PEc(a){this.a=a}
function BFc(a){this.a=a}
function KGc(a){this.a=a}
function OGc(a){this.a=a}
function SGc(a){this.a=a}
function WGc(a){this.a=a}
function $Gc(a){this.a=a}
function aHc(a){this.a=a}
function dHc(a){this.a=a}
function mHc(a){this.a=a}
function dJc(a){this.a=a}
function jJc(a){this.a=a}
function nJc(a){this.a=a}
function BJc(a){this.a=a}
function FJc(a){this.a=a}
function MJc(a){this.a=a}
function UJc(a){this.a=a}
function $Jc(a){this.a=a}
function pLc(a){this.a=a}
function ANc(a){this.a=a}
function FQc(a){this.a=a}
function HQc(a){this.a=a}
function LQc(a){this.a=a}
function RQc(a){this.a=a}
function gRc(a){this.a=a}
function jRc(a){this.a=a}
function HRc(a){this.a=a}
function ZRc(a){this.a=a}
function _Rc(a){this.a=a}
function dSc(a){this.a=a}
function fSc(a){this.a=a}
function hSc(a){this.a=a}
function lSc(a){this.a=a}
function lWc(a){this.a=a}
function jWc(a){this.a=a}
function SXc(a){this.a=a}
function g5c(a){this.a=a}
function i5c(a){this.a=a}
function k5c(a){this.a=a}
function m5c(a){this.a=a}
function s5c(a){this.a=a}
function N7c(a){this.a=a}
function Z7c(a){this.a=a}
function _7c(a){this.a=a}
function o9c(a){this.a=a}
function s9c(a){this.a=a}
function Z9c(a){this.a=a}
function Zld(a){this.a=a}
function Imd(a){this.a=a}
function Mmd(a){this.a=a}
function Cnd(a){this.a=a}
function Dod(a){this.a=a}
function apd(a){this.a=a}
function vpd(a){this.f=a}
function Fzd(a){this.a=a}
function Xzd(a){this.a=a}
function Zzd(a){this.a=a}
function _zd(a){this.a=a}
function bAd(a){this.a=a}
function dAd(a){this.a=a}
function fAd(a){this.a=a}
function hAd(a){this.a=a}
function jAd(a){this.a=a}
function lAd(a){this.a=a}
function tAd(a){this.a=a}
function xAd(a){this.a=a}
function zAd(a){this.a=a}
function BAd(a){this.a=a}
function DAd(a){this.a=a}
function FAd(a){this.a=a}
function HAd(a){this.a=a}
function PAd(a){this.a=a}
function VAd(a){this.a=a}
function XAd(a){this.a=a}
function ZAd(a){this.a=a}
function _Ad(a){this.a=a}
function bBd(a){this.a=a}
function lBd(a){this.a=a}
function nBd(a){this.a=a}
function pBd(a){this.a=a}
function rBd(a){this.a=a}
function VBd(a){this.a=a}
function KBd(a){this.b=a}
function nCd(a){this.a=a}
function uKd(a){this.a=a}
function CKd(a){this.a=a}
function IKd(a){this.a=a}
function OKd(a){this.a=a}
function eLd(a){this.a=a}
function RVd(a){this.a=a}
function zWd(a){this.a=a}
function xYd(a){this.a=a}
function xZd(a){this.a=a}
function G0d(a){this.a=a}
function b5d(a){this.a=a}
function K5d(a){this.a=a}
function S5d(a){this.a=a}
function jXd(a){this.b=a}
function e2d(a){this.c=a}
function O2d(a){this.e=a}
function l9d(a){this.d=a}
function s9d(a){this.a=a}
function H9d(a){this.a=a}
function Pee(a){this.a=a}
function Woe(a){this.a=a}
function poe(a){this.e=a}
function Fnd(){this.a=0}
function Ulb(){Glb(this)}
function Irb(){Tib(this)}
function bFb(){aFb(this)}
function SXb(){KXb(this)}
function NZd(){this.c=yZd}
function zlc(a,b){a.b+=b}
function nfe(a,b){b.Wb(a)}
function fC(a){return a.a}
function tC(a){return a.a}
function MC(a){return a.a}
function LB(a){return a.a}
function TB(a){return a.a}
function scb(a){return a.e}
function $B(){return null}
function EC(){return null}
function cdb(){jEd();lEd()}
function BJb(a){a.b.Mf(a.e)}
function KTb(a){a.b=new Pi}
function M1b(a,b){a.b=b-a.b}
function J1b(a,b){a.a=b-a.a}
function sic(a,b){aZb(b,a)}
function T_c(a,b){b.gd(a.a)}
function YCb(a,b){a.push(b)}
function aDb(a,b){a.sort(b)}
function pp(a,b,c){a.Wd(c,b)}
function Os(a,b){a.e=b;b.b=a}
function fm(a){Yl();this.a=a}
function tq(a){Yl();this.a=a}
function Cq(a){Yl();this.a=a}
function Tq(a){qm();this.a=a}
function $z(a){Zz();Yz.je(a)}
function pz(){ez.call(this)}
function pdb(){pz.call(this)}
function ldb(){pz.call(this)}
function tdb(){ez.call(this)}
function yeb(){pz.call(this)}
function Seb(){pz.call(this)}
function Veb(){pz.call(this)}
function Efb(){pz.call(this)}
function ahb(){pz.call(this)}
function yqb(){pz.call(this)}
function Hqb(){pz.call(this)}
function qub(){pz.call(this)}
function X8c(){pz.call(this)}
function kZd(){this.a=this}
function FYd(){this.Bb|=256}
function FPb(){this.b=new At}
function nA(){nA=Zcb;new Irb}
function ndb(){ldb.call(this)}
function Twb(a,b){Ilb(a.a,b)}
function uKb(a,b){WHb(a.c,b)}
function tLc(a,b){Nrb(a.b,b)}
function rKd(a,b){rJd(a.a,b)}
function sKd(a,b){sJd(a.a,b)}
function zUd(a,b){Wpd(a.e,b)}
function Xfe(a){wbe(a.c,a.b)}
function sj(a,b){a.kc().Nb(b)}
function _Cb(a,b){a.length=b}
function Qrb(){this.a=new Irb}
function Ozb(){this.a=new Irb}
function lzb(){this.a=new Txb}
function Wwb(){this.a=new Ulb}
function NFb(){this.a=new Ulb}
function SFb(){this.a=new Ulb}
function IFb(){this.a=new BFb}
function rGb(){this.a=new PFb}
function iEb(){this.a=new eEb}
function pEb(){this.a=new jEb}
function SMb(){this.a=new CMb}
function vQb(){this.a=new _Pb}
function OSb(){this.a=new Ulb}
function OUb(){this.a=new Ulb}
function AUb(){this.a=new Ulb}
function TTb(){this.a=new Ulb}
function hLb(){this.d=new Ulb}
function IUb(){this.a=new Qrb}
function w$b(){this.a=new Irb}
function OVb(){this.b=new Irb}
function mBc(){this.b=new Ulb}
function aIc(){this.e=new Ulb}
function oac(){this.a=new Ahc}
function XKc(){this.d=new Ulb}
function Leb(a){this.a=Qeb(a)}
function LYb(){SXb.call(this)}
function ZXb(){SXb.call(this)}
function bYb(){ZXb.call(this)}
function OYb(){LYb.call(this)}
function txb(){Wwb.call(this)}
function qHb(){aHb.call(this)}
function XTb(){TTb.call(this)}
function YIc(){Ulb.call(this)}
function xLc(){wLc.call(this)}
function ELc(){wLc.call(this)}
function fOc(){dOc.call(this)}
function kOc(){dOc.call(this)}
function pOc(){dOc.call(this)}
function W7c(){S7c.call(this)}
function Rdd(){Mtb.call(this)}
function cxd(){Ctd.call(this)}
function rxd(){Ctd.call(this)}
function gMd(){TLd.call(this)}
function HMd(){TLd.call(this)}
function fOd(){Irb.call(this)}
function oOd(){Irb.call(this)}
function zOd(){Irb.call(this)}
function HSd(){aSd.call(this)}
function DYd(){Qrb.call(this)}
function VYd(){FYd.call(this)}
function L_d(){yRd.call(this)}
function h1d(){Irb.call(this)}
function k1d(){yRd.call(this)}
function G5d(){Irb.call(this)}
function X5d(){Irb.call(this)}
function Jhe(){FPd.call(this)}
function aie(){Jhe.call(this)}
function gie(){FPd.call(this)}
function _me(){mme.call(this)}
function dOc(){this.a=new Qrb}
function qTc(){this.a=new Irb}
function S7c(){this.a=new Irb}
function GTc(){this.a=new Ulb}
function b9c(){this.j=new Ulb}
function U_c(){this.a=new Y_c}
function E5c(){this.a=new D5c}
function wld(){this.a=new Mtb}
function TLd(){this.a=new XLd}
function wb(){wb=Zcb;vb=new xb}
function Uk(){Uk=Zcb;Tk=new Vk}
function il(){il=Zcb;hl=new jl}
function jl(){Ok.call(this,'')}
function Vk(){Ok.call(this,'')}
function Dd(a){yd.call(this,a)}
function Hd(a){yd.call(this,a)}
function vh(a){rh.call(this,a)}
function Yh(a){Wc.call(this,a)}
function Oi(a){Wc.call(this,a)}
function ui(a){Yh.call(this,a)}
function Op(a){Yh.call(this,a)}
function Fs(a){Yh.call(this,a)}
function Fp(a){To.call(this,a)}
function Mp(a){To.call(this,a)}
function _p(a){co.call(this,a)}
function Bv(a){qv.call(this,a)}
function Yv(a){Pr.call(this,a)}
function $v(a){Pr.call(this,a)}
function Xw(a){Pr.call(this,a)}
function Ix(a){Cn.call(this,a)}
function Jx(a){Ix.call(this,a)}
function qz(a){fz.call(this,a)}
function UB(a){qz.call(this,a)}
function mC(){nC.call(this,{})}
function Cub(a){yub();this.a=a}
function zxb(a){a.b=null;a.c=0}
function cz(a,b){a.e=b;_y(a,b)}
function XRb(a,b){a.a=b;ZRb(a)}
function nIb(a,b,c){a.a[b.g]=c}
function hnd(a,b,c){pnd(c,a,b)}
function Gac(a,b){ugc(b.i,a.n)}
function Kwc(a,b){Lwc(a).Ad(b)}
function KNb(a,b){return a*a/b}
function js(a,b){return a.g-b.g}
function uw(a,b){a.a.ec().Kc(b)}
function BC(a){return new _B(a)}
function DC(a){return new GC(a)}
function sz(){sz=Zcb;rz=new nb}
function Sz(){Sz=Zcb;Rz=new Vz}
function SA(){SA=Zcb;RA=new UA}
function vs(){vs=Zcb;us=new ws}
function WB(){WB=Zcb;VB=new XB}
function IEc(a){mEc();this.a=a}
function X8d(a){hId();this.a=a}
function dpd(a){Tod();this.f=a}
function fpd(a){Tod();this.f=a}
function kdb(a){qz.call(this,a)}
function mdb(a){qz.call(this,a)}
function qdb(a){qz.call(this,a)}
function rdb(a){fz.call(this,a)}
function zeb(a){qz.call(this,a)}
function Teb(a){qz.call(this,a)}
function Web(a){qz.call(this,a)}
function Dfb(a){qz.call(this,a)}
function Ffb(a){qz.call(this,a)}
function bhb(a){qz.call(this,a)}
function dnb(a){tDb(a);this.a=a}
function Emb(a){Jmb(a,a.length)}
function IRb(a){CRb(a);return a}
function ydb(a){return tDb(a),a}
function Beb(a){return tDb(a),a}
function Deb(a){return tDb(a),a}
function jgb(a){return tDb(a),a}
function tgb(a){return tDb(a),a}
function elb(a){return a.b==a.c}
function Jxb(a){return !!a&&a.b}
function rIb(a){return !!a&&a.k}
function sIb(a){return !!a&&a.j}
function Y8c(a){qz.call(this,a)}
function Z8c(a){qz.call(this,a)}
function eyd(a){qz.call(this,a)}
function eme(a){qz.call(this,a)}
function fhe(a){qz.call(this,a)}
function pc(a){qc.call(this,a,0)}
function Pi(){Qi.call(this,12,3)}
function Gb(){this.a=OD(Qb(Lqe))}
function xy(a){Yl();this.a=Qb(a)}
function Ps(a,b){a._d(b);b.$d(a)}
function PUb(a,b,c){a.c.Cf(b,c)}
function OC(a,b){return oeb(a,b)}
function Idb(a,b){return a.a-b.a}
function Tdb(a,b){return a.a-b.a}
function hC(b,a){return a in b.a}
function Nfb(a,b){return a.a-b.a}
function Mfb(a){Teb.call(this,a)}
function odb(a){mdb.call(this,a)}
function Hgb(){idb.call(this,'')}
function Igb(){idb.call(this,'')}
function Ugb(){idb.call(this,'')}
function Vgb(){idb.call(this,'')}
function Xgb(a){mdb.call(this,a)}
function Apb(a){oob.call(this,a)}
function Zpb(a){Kob.call(this,a)}
function Hpb(a){Apb.call(this,a)}
function tsb(){tsb=Zcb;ssb=vsb()}
function Iz(){Iz=Zcb;!!(Zz(),Yz)}
function jc(){throw scb(new ahb)}
function Fh(){throw scb(new ahb)}
function Vi(){throw scb(new ahb)}
function Vj(){throw scb(new ahb)}
function Wj(){throw scb(new ahb)}
function fn(){throw scb(new ahb)}
function bDb(a,b){return XC(a,b)}
function Jub(a){return a.a?a.b:0}
function Sub(a){return a.a?a.b:0}
function SEb(a,b){a.g=b;return a}
function PEb(a,b){a.b=b;return a}
function QEb(a,b){a.c=b;return a}
function REb(a,b){a.f=b;return a}
function KGb(a,b){a.f=b;return a}
function JGb(a,b){a.a=b;return a}
function LGb(a,b){a.k=b;return a}
function LRb(a,b){a.e=b;return a}
function gLb(a,b){a.e=b;return a}
function fLb(a,b){a.a=b;return a}
function MRb(a,b){a.f=b;return a}
function FHb(a,b){a.b=new Fdd(b)}
function ywb(a,b,c){b.Ne(a.a[c])}
function twb(a,b,c){b.Ad(a.a[c])}
function Zdc(a,b){Adc();b.n.a+=a}
function Bhc(a,b){jhc();_Yb(b,a)}
function ZHc(a,b){return a.b-b.b}
function NMc(a,b){return a.g-b.g}
function xPc(a,b){return a.s-b.s}
function Ofc(a,b){return a?0:b-1}
function tEc(a,b){return a?0:b-1}
function sEc(a,b){return a?b-1:0}
function k9c(a,b){return b.pg(a)}
function kad(a,b){a.b=b;return a}
function jad(a,b){a.a=b;return a}
function Bad(a,b){a.a=b;return a}
function lad(a,b){a.c=b;return a}
function Dad(a,b){a.c=b;return a}
function mad(a,b){a.d=b;return a}
function nad(a,b){a.e=b;return a}
function oad(a,b){a.f=b;return a}
function Cad(a,b){a.b=b;return a}
function Ybd(a,b){a.b=b;return a}
function Zbd(a,b){a.c=b;return a}
function $bd(a,b){a.d=b;return a}
function _bd(a,b){a.e=b;return a}
function acd(a,b){a.f=b;return a}
function bcd(a,b){a.g=b;return a}
function ccd(a,b){a.a=b;return a}
function dcd(a,b){a.i=b;return a}
function ecd(a,b){a.j=b;return a}
function tld(a,b){a.j=b;return a}
function sld(a,b){a.k=b;return a}
function sFc(a){FCc.call(this,a)}
function LFc(a){FCc.call(this,a)}
function Sdd(a){Ntb.call(this,a)}
function FGd(a){wDd.call(this,a)}
function _Kd(a){VKd.call(this,a)}
function bLd(a){VKd.call(this,a)}
function HXb(){IXb.call(this,'')}
function Cdd(){this.a=0;this.b=0}
function DNc(){this.b=0;this.a=0}
function GSd(a,b){a.b=0;wRd(a,b)}
function Qae(a,b){a.c=b;a.b=true}
function r5c(a,b,c){p5c(a.a,b,c)}
function Oc(a,b){return a.c._b(b)}
function deb(a){return a.e&&a.e()}
function Vd(a){return !a?null:a.d}
function An(a,b){return Sv(a.b,b)}
function Rv(a){return !a?null:a.g}
function Wv(a){return !a?null:a.i}
function eeb(a){ceb(a);return a.o}
function Psb(){throw scb(new ahb)}
function hhe(){hhe=Zcb;ghe=Qie()}
function jhe(){jhe=Zcb;ihe=Xie()}
function jEd(){jEd=Zcb;iEd=Nad()}
function Hpd(){Hpd=Zcb;Gpd=qvd()}
function Jpd(){Jpd=Zcb;Ipd=Ewd()}
function EOd(){EOd=Zcb;DOd=j6d()}
function hob(){throw scb(new ahb)}
function iob(){throw scb(new ahb)}
function job(){throw scb(new ahb)}
function mob(){throw scb(new ahb)}
function Eob(){throw scb(new ahb)}
function Rrb(a){this.a=new Jrb(a)}
function shb(a){khb();mhb(this,a)}
function mzb(a){this.a=new Uxb(a)}
function Yvb(a,b){while(a.Pe(b));}
function Pvb(a,b){while(a.zd(b));}
function Bgb(a,b){a.a+=b;return a}
function Cgb(a,b){a.a+=b;return a}
function Fgb(a,b){a.a+=b;return a}
function Lgb(a,b){a.a+=b;return a}
function PBb(a){KAb(a);return a.a}
function Ttb(a){return a.b!=a.d.c}
function xD(a){return a.l|a.m<<22}
function DGc(a,b){return a.d[b.p]}
function H8c(a,b){return C8c(a,b)}
function ZCb(a,b,c){a.splice(b,c)}
function YHb(a){a.c?XHb(a):ZHb(a)}
function WYc(a){this.a=0;this.b=a}
function KYc(){this.a=new j9c(g_)}
function o0c(){this.a=new j9c(J_)}
function o5c(){this.b=new j9c(y0)}
function D5c(){this.b=new j9c(y0)}
function WPc(){this.b=new j9c(vZ)}
function JLd(){throw scb(new ahb)}
function KLd(){throw scb(new ahb)}
function LLd(){throw scb(new ahb)}
function MLd(){throw scb(new ahb)}
function NLd(){throw scb(new ahb)}
function OLd(){throw scb(new ahb)}
function PLd(){throw scb(new ahb)}
function QLd(){throw scb(new ahb)}
function RLd(){throw scb(new ahb)}
function SLd(){throw scb(new ahb)}
function Vpe(){throw scb(new qub)}
function Wpe(){throw scb(new qub)}
function Jpe(a){this.a=new Yoe(a)}
function pf(a){this.b=JD(Qb(a),91)}
function Ff(a,b){this.b=a;this.c=b}
function me(a,b){this.e=a;this.d=b}
function Wc(a){Lb(a.dc());this.c=a}
function Lj(a,b){this.a=a;this.b=b}
function fk(a,b){this.a=a;this.b=b}
function lk(a,b){this.a=a;this.b=b}
function nk(a,b){this.a=a;this.b=b}
function vk(a,b){this.a=a;this.b=b}
function xk(a,b){this.a=a;this.b=b}
function Ik(a,b){this.a=a;this.b=b}
function $o(a,b){this.b=a;this.a=b}
function cp(a,b){this.g=a;this.i=b}
function yp(a,b){this.b=a;this.a=b}
function cg(a,b){xf.call(this,a,b)}
function eg(a,b){cg.call(this,a,b)}
function mr(a,b){this.b=a;this.a=b}
function Nr(a,b){this.b=a;this.a=b}
function rr(a,b){this.a=a;this.b=b}
function ms(a,b){this.f=a;this.g=b}
function Pr(a){this.b=JD(Qb(a),49)}
function ou(a,b){this.a=a;this.b=b}
function Du(a,b){this.a=a;this.f=b}
function lv(a){this.a=JD(Qb(a),15)}
function qv(a){this.a=JD(Qb(a),15)}
function Cv(a,b){this.b=a;this.c=b}
function jw(a){this.a=JD(Qb(a),91)}
function Ax(a,b){this.a=a;this.b=b}
function ay(a,b){this.a=a;this.b=b}
function xt(a,b){return Lib(a.b,b)}
function Tp(a,b){return a>b&&b<Cre}
function Xle(a){return Sle[a]!=-1}
function yqe(a){return !a||xqe(a)}
function Uib(a){return a.f.c+a.i.c}
function AC(a){return OB(),a?NB:MB}
function kob(a,b){return a.b.Gc(b)}
function lob(a,b){return a.b.Hc(b)}
function nob(a,b){return a.b.Oc(b)}
function fpb(a,b){return a.c.uc(b)}
function hpb(a,b){return pb(a.c,b)}
function Epb(a,b){return a.b.Gc(b)}
function HWd(a,b){OGd(STd(a.a),b)}
function MWd(a,b){OGd(STd(a.a),b)}
function Orb(a,b){return a.a._b(b)}
function Yoe(a){Xoe(this,a,Nne())}
function Jrb(a){Vib.call(this,a,0)}
function Drb(a){this.c=a;Arb(this)}
function Mtb(){ztb(this);Ltb(this)}
function Ucb(){Scb==null&&(Scb=[])}
function Txb(){Uxb.call(this,null)}
function uC(a,b){this.a=a;this.b=b}
function mB(){this.q=new $wnd.Date}
function Qz(){Fz!=0&&(Fz=0);Hz=-1}
function Gzb(){Gzb=Zcb;Fzb=new Jzb}
function Zgb(){Zgb=Zcb;Ygb=new fdb}
function Hnb(){Hnb=Zcb;Gnb=new Inb}
function Hub(){Hub=Zcb;Gub=new Lub}
function Rub(){Rub=Zcb;Qub=new Tub}
function wBb(){wBb=Zcb;vBb=new JCb}
function qBb(){MAb.call(this,null)}
function EBb(a,b){KAb(a);a.a.Nb(b)}
function gzb(a,b){return a.a.Vc(b)}
function hzb(a,b){return a.a.Wc(b)}
function izb(a,b){return a.a.Yc(b)}
function jzb(a,b){return a.a.Zc(b)}
function sAb(a,b){return a.Fc(b),a}
function gEb(a,b){a.a.f=b;return a}
function mEb(a,b){a.a.d=b;return a}
function nEb(a,b){a.a.g=b;return a}
function oEb(a,b){a.a.j=b;return a}
function EFb(a,b){a.a.a=b;return a}
function FFb(a,b){a.a.d=b;return a}
function GFb(a,b){a.a.e=b;return a}
function HFb(a,b){a.a.g=b;return a}
function qGb(a,b){a.a.f=b;return a}
function VGb(a){a.b=false;return a}
function XSb(){XSb=Zcb;WSb=new aTb}
function vEb(){vEb=Zcb;uEb=new wEb}
function JQb(){JQb=Zcb;IQb=new PQb}
function uRb(){uRb=Zcb;tRb=new vRb}
function zRb(){zRb=Zcb;yRb=new $Rb}
function U5b(){U5b=Zcb;T5b=new $5b}
function qVb(){qVb=Zcb;pVb=new vVb}
function sWb(){sWb=Zcb;rWb=new fXb}
function E0b(){E0b=Zcb;D0b=new O0b}
function T$b(){T$b=Zcb;S$b=new Cdd}
function Jwc(){Jwc=Zcb;Iwc=new Gmd}
function jdc(){jdc=Zcb;idc=new gfc}
function Ljc(){Ljc=Zcb;Kjc=new Zjc}
function I5c(){I5c=Zcb;H5c=new K5c}
function S5c(){S5c=Zcb;R5c=new T5c}
function p7c(){p7c=Zcb;o7c=new r7c}
function JAc(){BAc();this.c=new Pi}
function K5c(){ms.call(this,qwe,0)}
function I5b(a,b,c,d){J5b(d,a,b,c)}
function f0b(a,b,c,d){k0b(d,a,b,c)}
function mKb(a,b,c,d){lKb(a,d,b,c)}
function _9c(a,b,c){Rib(a.d,b.f,c)}
function Rad(a,b){Usb(a.c.b,b.c,b)}
function Sad(a,b){Usb(a.c.c,b.b,b)}
function G9c(a,b){a.a=b.g;return a}
function DSc(a){return a.e.a+a.f.a}
function ESc(a){return a.e.b+a.f.b}
function BNc(a){return (a.c+a.a)/2}
function gZd(a){return a.b?a.b:a.a}
function wZd(a,b){return yA(a.a,b)}
function Rod(){Rod=Zcb;Qod=new Cpd}
function tOd(){tOd=Zcb;sOd=new uOd}
function mOd(){mOd=Zcb;lOd=new oOd}
function xOd(){xOd=Zcb;wOd=new zOd}
function rOd(){rOd=Zcb;qOd=new h1d}
function COd(){COd=Zcb;BOd=new X5d}
function iNd(){iNd=Zcb;hNd=new Irb}
function m6d(){m6d=Zcb;k6d=new Ulb}
function g$d(){g$d=Zcb;f$d=new nde}
function E$d(){E$d=Zcb;D$d=new rde}
function _de(){_de=Zcb;$de=new aee}
function Ife(){Ife=Zcb;Hfe=new Mfe}
function Qpe(){Qpe=Zcb;Ppe=new Ype}
function Pz(a){$wnd.clearTimeout(a)}
function Mx(a){Lx();co.call(this,a)}
function sdb(a,b){gz.call(this,a,b)}
function okb(a,b){this.d=a;this.e=b}
function Cmb(a,b){Gmb(a,a.length,b)}
function Dmb(a,b){Imb(a,a.length,b)}
function Jqb(a,b){return qrb(a.a,b)}
function Acb(a,b){return vcb(a,b)>0}
function Dcb(a,b){return vcb(a,b)<0}
function Ssb(a,b){return Lib(a.e,b)}
function zsb(a,b){return a.a.get(b)}
function ddb(b,a){return a.split(b)}
function rjb(a){return a.b<a.d.gc()}
function Nwb(a){return tDb(a),false}
function Xv(a){return JD(a,43).jd()}
function vw(a){this.a=JD(Qb(a),228)}
function Ovb(a){Gvb.call(this,a,21)}
function Tyb(a,b){ms.call(this,a,b)}
function mAb(a,b){ms.call(this,a,b)}
function hrb(a,b){this.b=a;this.a=b}
function iCb(a,b){this.a=a;this.b=b}
function oCb(a,b){this.a=a;this.b=b}
function uCb(a,b){this.a=a;this.b=b}
function ACb(a,b){this.a=a;this.b=b}
function SDb(a,b){this.a=a;this.b=b}
function PCb(a,b){this.b=a;this.a=b}
function rFb(a,b){this.b=a;this.a=b}
function jHb(a,b){ms.call(this,a,b)}
function QHb(a,b){ms.call(this,a,b)}
function HIb(a,b){ms.call(this,a,b)}
function yLb(a,b){ms.call(this,a,b)}
function pMb(a,b){this.b=a;this.a=b}
function NMb(a,b){this.b=a;this.a=b}
function cOb(a,b){ms.call(this,a,b)}
function LPb(a,b){ms.call(this,a,b)}
function DQb(a,b){ms.call(this,a,b)}
function WCb(a,b,c){a.splice(b,0,c)}
function lr(a,b,c){a.Mb(c)&&b.Ad(c)}
function kCb(a,b,c){b.Ne(a.a.We(c))}
function qCb(a,b,c){b.Bd(a.a.Xe(c))}
function wCb(a,b,c){b.Ad(a.a.Kb(c))}
function oRb(a,b){return rrb(a.c,b)}
function bEb(a,b){return rrb(a.e,b)}
function ASb(a,b){ms.call(this,a,b)}
function dUb(a,b){ms.call(this,a,b)}
function EYb(a,b){ms.call(this,a,b)}
function a2b(a,b){ms.call(this,a,b)}
function v5b(a,b){ms.call(this,a,b)}
function K7b(a,b){ms.call(this,a,b)}
function jSb(a,b){this.b=a;this.a=b}
function oSb(a,b){this.c=a;this.d=b}
function $Wb(a,b){this.e=a;this.d=b}
function tZb(a,b){this.a=a;this.b=b}
function ubc(a,b){this.a=a;this.b=b}
function kcc(a,b){this.a=a;this.b=b}
function Kcc(a,b){this.a=a;this.b=b}
function Mcc(a,b){this.a=a;this.b=b}
function Wcc(a,b){this.a=a;this.b=b}
function gdc(a,b){this.a=a;this.b=b}
function Tec(a,b){this.a=a;this.b=b}
function bfc(a,b){this.a=a;this.b=b}
function wcc(a,b){this.b=a;this.a=b}
function Ycc(a,b){this.b=a;this.a=b}
function Ejc(a,b){this.b=a;this.a=b}
function Rfc(a,b){this.b=b;this.c=a}
function Egc(a,b){ms.call(this,a,b)}
function _gc(a,b){ms.call(this,a,b)}
function Jhc(a,b){ms.call(this,a,b)}
function Omc(a,b){ms.call(this,a,b)}
function Wmc(a,b){ms.call(this,a,b)}
function enc(a,b){ms.call(this,a,b)}
function pnc(a,b){ms.call(this,a,b)}
function Bnc(a,b){ms.call(this,a,b)}
function Lnc(a,b){ms.call(this,a,b)}
function Unc(a,b){ms.call(this,a,b)}
function foc(a,b){ms.call(this,a,b)}
function noc(a,b){ms.call(this,a,b)}
function zoc(a,b){ms.call(this,a,b)}
function Loc(a,b){ms.call(this,a,b)}
function _oc(a,b){ms.call(this,a,b)}
function ipc(a,b){ms.call(this,a,b)}
function rpc(a,b){ms.call(this,a,b)}
function zpc(a,b){ms.call(this,a,b)}
function Pqc(a,b){ms.call(this,a,b)}
function Xqc(a,b){ms.call(this,a,b)}
function exc(a,b){ms.call(this,a,b)}
function qxc(a,b){ms.call(this,a,b)}
function Bxc(a,b){ms.call(this,a,b)}
function Oxc(a,b){ms.call(this,a,b)}
function Oyc(a,b){ms.call(this,a,b)}
function eyc(a,b){ms.call(this,a,b)}
function oyc(a,b){ms.call(this,a,b)}
function wyc(a,b){ms.call(this,a,b)}
function Fyc(a,b){ms.call(this,a,b)}
function Xyc(a,b){ms.call(this,a,b)}
function pzc(a,b){ms.call(this,a,b)}
function yzc(a,b){ms.call(this,a,b)}
function Hzc(a,b){ms.call(this,a,b)}
function VEc(a,b){ms.call(this,a,b)}
function wHc(a,b){ms.call(this,a,b)}
function fHc(a,b){this.b=a;this.a=b}
function TIc(a,b){this.a=a;this.b=b}
function hJc(a,b){this.a=a;this.b=b}
function OJc(a,b){this.a=a;this.b=b}
function AKc(a,b){ms.call(this,a,b)}
function IKc(a,b){ms.call(this,a,b)}
function PKc(a,b){this.a=a;this.b=b}
function ALc(a,b){this.b=a;this.d=b}
function dLc(){ZKc();this.b=new Qrb}
function oMc(){gMc();this.a=new Qrb}
function m8b(){c8b();this.a=new q_b}
function xsb(){tsb();return new ssb}
function Iub(a){rDb(a.a);return a.b}
function ARb(a){BRb(a,a.c);return a}
function IGc(a,b){gGc();return b!=a}
function qkc(a,b){return rrb(b.b,a)}
function cHc(a,b){JGc(a.a,JD(b,11))}
function jNc(a,b){ms.call(this,a,b)}
function hPc(a,b){ms.call(this,a,b)}
function bQc(a,b){ms.call(this,a,b)}
function $Sc(a,b){ms.call(this,a,b)}
function PTc(a,b){ms.call(this,a,b)}
function wVc(a,b){ms.call(this,a,b)}
function EVc(a,b){ms.call(this,a,b)}
function CYc(a,b){ms.call(this,a,b)}
function kZc(a,b){ms.call(this,a,b)}
function b$c(a,b){ms.call(this,a,b)}
function l$c(a,b){ms.call(this,a,b)}
function o_c(a,b){ms.call(this,a,b)}
function y_c(a,b){ms.call(this,a,b)}
function j0c(a,b){ms.call(this,a,b)}
function E0c(a,b){ms.call(this,a,b)}
function m1c(a,b){ms.call(this,a,b)}
function Q2c(a,b){ms.call(this,a,b)}
function s3c(a,b){ms.call(this,a,b)}
function sPc(a,b){this.a=a;this.b=b}
function qPc(a,b){this.a=a;this.b=b}
function JQc(a,b){this.a=a;this.b=b}
function B3c(a,b){this.a=a;this.b=b}
function LRc(a,b){this.b=a;this.a=b}
functio