aboutsummaryrefslogtreecommitdiffstats
path: root/FMark/js
diff options
context:
space:
mode:
authorYann Herklotz <ymherklotz@gmail.com>2018-03-11 20:35:12 +0000
committerYann Herklotz <ymherklotz@gmail.com>2018-03-11 20:35:12 +0000
commitfc70f4f2d8df0e20b09647e50f785fd71c328828 (patch)
tree75cac71686404f63bbe6217a52fcf4a23f41a0d2 /FMark/js
parent511197596d5624a63d59579536881c958ff9cda0 (diff)
downloadFMark-fc70f4f2d8df0e20b09647e50f785fd71c328828.tar.gz
FMark-fc70f4f2d8df0e20b09647e50f785fd71c328828.zip
Adding files
Diffstat (limited to 'FMark/js')
-rw-r--r--FMark/js/fmark.js10507
-rw-r--r--FMark/js/fmark.js.map1
2 files changed, 10508 insertions, 0 deletions
diff --git a/FMark/js/fmark.js b/FMark/js/fmark.js
new file mode 100644
index 0000000..18cae38
--- /dev/null
+++ b/FMark/js/fmark.js
@@ -0,0 +1,10507 @@
+(function webpackUniversalModuleDefinition(root, factory) {
+ if(typeof exports === 'object' && typeof module === 'object')
+ module.exports = factory();
+ else if(typeof define === 'function' && define.amd)
+ define([], factory);
+ else if(typeof exports === 'object')
+ exports["fmark"] = factory();
+ else
+ root["fmark"] = factory();
+})(this, function() {
+return /******/ (function(modules) { // webpackBootstrap
+/******/ // The module cache
+/******/ var installedModules = {};
+/******/
+/******/ // The require function
+/******/ function __webpack_require__(moduleId) {
+/******/
+/******/ // Check if module is in cache
+/******/ if(installedModules[moduleId]) {
+/******/ return installedModules[moduleId].exports;
+/******/ }
+/******/ // Create a new module (and put it into the cache)
+/******/ var module = installedModules[moduleId] = {
+/******/ i: moduleId,
+/******/ l: false,
+/******/ exports: {}
+/******/ };
+/******/
+/******/ // Execute the module function
+/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+/******/
+/******/ // Flag the module as loaded
+/******/ module.l = true;
+/******/
+/******/ // Return the exports of the module
+/******/ return module.exports;
+/******/ }
+/******/
+/******/
+/******/ // expose the modules object (__webpack_modules__)
+/******/ __webpack_require__.m = modules;
+/******/
+/******/ // expose the module cache
+/******/ __webpack_require__.c = installedModules;
+/******/
+/******/ // define getter function for harmony exports
+/******/ __webpack_require__.d = function(exports, name, getter) {
+/******/ if(!__webpack_require__.o(exports, name)) {
+/******/ Object.defineProperty(exports, name, {
+/******/ configurable: false,
+/******/ enumerable: true,
+/******/ get: getter
+/******/ });
+/******/ }
+/******/ };
+/******/
+/******/ // getDefaultExport function for compatibility with non-harmony modules
+/******/ __webpack_require__.n = function(module) {
+/******/ var getter = module && module.__esModule ?
+/******/ function getDefault() { return module['default']; } :
+/******/ function getModuleExports() { return module; };
+/******/ __webpack_require__.d(getter, 'a', getter);
+/******/ return getter;
+/******/ };
+/******/
+/******/ // Object.prototype.hasOwnProperty.call
+/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
+/******/
+/******/ // __webpack_public_path__
+/******/ __webpack_require__.p = "";
+/******/
+/******/ // Load entry module and return exports
+/******/ return __webpack_require__(__webpack_require__.s = 22);
+/******/ })
+/************************************************************************/
+/******/ ([
+/* 0 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (immutable) */ __webpack_exports__["a"] = append;
+/* unused harmony export choose */
+/* harmony export (immutable) */ __webpack_exports__["b"] = collect;
+/* unused harmony export concat */
+/* harmony export (immutable) */ __webpack_exports__["d"] = filter;
+/* unused harmony export where */
+/* unused harmony export initialize */
+/* harmony export (immutable) */ __webpack_exports__["e"] = map;
+/* unused harmony export mapIndexed */
+/* unused harmony export indexed */
+/* unused harmony export partition */
+/* harmony export (immutable) */ __webpack_exports__["g"] = replicate;
+/* harmony export (immutable) */ __webpack_exports__["h"] = reverse;
+/* unused harmony export singleton */
+/* harmony export (immutable) */ __webpack_exports__["i"] = slice;
+/* unused harmony export unzip */
+/* unused harmony export unzip3 */
+/* unused harmony export groupBy */
+/* unused harmony export splitAt */
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ListClass__ = __webpack_require__(12);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Map__ = __webpack_require__(10);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Option__ = __webpack_require__(5);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Seq__ = __webpack_require__(3);
+/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return __WEBPACK_IMPORTED_MODULE_0__ListClass__["b"]; });
+
+
+
+
+
+
+
+
+/* harmony default export */ __webpack_exports__["c"] = (__WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */]);
+
+function append(xs, ys) {
+ return Object(__WEBPACK_IMPORTED_MODULE_3__Seq__["f" /* fold */])(function (acc, x) {
+ return new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */](x, acc);
+ }, ys, reverse(xs));
+}
+function choose(f, xs) {
+ var r = Object(__WEBPACK_IMPORTED_MODULE_3__Seq__["f" /* fold */])(function (acc, x) {
+ var y = f(x);
+ return y != null ? new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */](Object(__WEBPACK_IMPORTED_MODULE_2__Option__["c" /* getValue */])(y), acc) : acc;
+ }, new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */](), xs);
+ return reverse(r);
+}
+function collect(f, xs) {
+ return Object(__WEBPACK_IMPORTED_MODULE_3__Seq__["f" /* fold */])(function (acc, x) {
+ return append(acc, f(x));
+ }, new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */](), xs);
+}
+// TODO: should be xs: Iterable<List<T>>
+function concat(xs) {
+ return collect(function (x) {
+ return x;
+ }, xs);
+}
+function filter(f, xs) {
+ return reverse(Object(__WEBPACK_IMPORTED_MODULE_3__Seq__["f" /* fold */])(function (acc, x) {
+ return f(x) ? new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */](x, acc) : acc;
+ }, new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */](), xs));
+}
+function where(f, xs) {
+ return filter(f, xs);
+}
+function initialize(n, f) {
+ if (n < 0) {
+ throw new Error("List length must be non-negative");
+ }
+ var xs = new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */]();
+ for (var i = 1; i <= n; i++) {
+ xs = new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */](f(n - i), xs);
+ }
+ return xs;
+}
+function map(f, xs) {
+ return reverse(Object(__WEBPACK_IMPORTED_MODULE_3__Seq__["f" /* fold */])(function (acc, x) {
+ return new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */](f(x), acc);
+ }, new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */](), xs));
+}
+function mapIndexed(f, xs) {
+ return reverse(Object(__WEBPACK_IMPORTED_MODULE_3__Seq__["f" /* fold */])(function (acc, x, i) {
+ return new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */](f(i, x), acc);
+ }, new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */](), xs));
+}
+function indexed(xs) {
+ return mapIndexed(function (i, x) {
+ return [i, x];
+ }, xs);
+}
+function partition(f, xs) {
+ return Object(__WEBPACK_IMPORTED_MODULE_3__Seq__["f" /* fold */])(function (acc, x) {
+ var lacc = acc[0];
+ var racc = acc[1];
+ return f(x) ? [new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */](x, lacc), racc] : [lacc, new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */](x, racc)];
+ }, [new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */](), new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */]()], reverse(xs));
+}
+function replicate(n, x) {
+ return initialize(n, function () {
+ return x;
+ });
+}
+function reverse(xs) {
+ return Object(__WEBPACK_IMPORTED_MODULE_3__Seq__["f" /* fold */])(function (acc, x) {
+ return new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */](x, acc);
+ }, new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */](), xs);
+}
+function singleton(x) {
+ return new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */](x, new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */]());
+}
+function slice(lower, upper, xs) {
+ var noLower = lower == null;
+ var noUpper = upper == null;
+ return reverse(Object(__WEBPACK_IMPORTED_MODULE_3__Seq__["f" /* fold */])(function (acc, x, i) {
+ return (noLower || lower <= i) && (noUpper || i <= upper) ? new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */](x, acc) : acc;
+ }, new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */](), xs));
+}
+/* ToDo: instance unzip() */
+function unzip(xs) {
+ return Object(__WEBPACK_IMPORTED_MODULE_3__Seq__["g" /* foldBack */])(function (xy, acc) {
+ return [new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */](xy[0], acc[0]), new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */](xy[1], acc[1])];
+ }, xs, [new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */](), new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */]()]);
+}
+/* ToDo: instance unzip3() */
+function unzip3(xs) {
+ return Object(__WEBPACK_IMPORTED_MODULE_3__Seq__["g" /* foldBack */])(function (xyz, acc) {
+ return [new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */](xyz[0], acc[0]), new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */](xyz[1], acc[1]), new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */](xyz[2], acc[2])];
+ }, xs, [new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */](), new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */](), new __WEBPACK_IMPORTED_MODULE_0__ListClass__["a" /* default */]()]);
+}
+function groupBy(f, xs) {
+ return Object(__WEBPACK_IMPORTED_MODULE_3__Seq__["n" /* toList */])(Object(__WEBPACK_IMPORTED_MODULE_3__Seq__["i" /* map */])(function (k) {
+ return [k[0], Object(__WEBPACK_IMPORTED_MODULE_3__Seq__["n" /* toList */])(k[1])];
+ }, Object(__WEBPACK_IMPORTED_MODULE_1__Map__["c" /* groupBy */])(f, xs)));
+}
+function splitAt(index, xs) {
+ if (index < 0) {
+ throw new Error("The input must be non-negative.");
+ }
+ var i = 0;
+ var last = xs;
+ var first = new Array(index);
+ while (i < index) {
+ if (last.tail == null) {
+ throw new Error("The input sequence has an insufficient number of elements.");
+ }
+ first[i] = last.head;
+ last = last.tail;
+ i++;
+ }
+ return [Object(__WEBPACK_IMPORTED_MODULE_0__ListClass__["b" /* ofArray */])(first), last];
+}
+
+/***/ }),
+/* 1 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (immutable) */ __webpack_exports__["b"] = setType;
+/* unused harmony export getType */
+var types = new Map();
+function setType(fullName, cons) {
+ types.set(fullName, cons);
+}
+function getType(fullName) {
+ return types.get(fullName);
+}
+/* harmony default export */ __webpack_exports__["a"] = ({
+ reflection: Symbol("reflection")
+});
+
+/***/ }),
+/* 2 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export NonDeclaredType */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Any; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return Unit; });
+/* harmony export (immutable) */ __webpack_exports__["c"] = Option;
+/* unused harmony export Array */
+/* unused harmony export Tuple */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return FableFunction; });
+/* unused harmony export GenericParam */
+/* unused harmony export Interface */
+/* harmony export (immutable) */ __webpack_exports__["l"] = makeGeneric;
+/* unused harmony export isGeneric */
+/* unused harmony export getDefinition */
+/* unused harmony export extendInfo */
+/* unused harmony export hasInterface */
+/* unused harmony export getPropertyNames */
+/* unused harmony export isArray */
+/* harmony export (immutable) */ __webpack_exports__["m"] = toString;
+/* unused harmony export hash */
+/* harmony export (immutable) */ __webpack_exports__["i"] = equals;
+/* harmony export (immutable) */ __webpack_exports__["f"] = comparePrimitives;
+/* harmony export (immutable) */ __webpack_exports__["e"] = compare;
+/* harmony export (immutable) */ __webpack_exports__["j"] = equalsRecords;
+/* harmony export (immutable) */ __webpack_exports__["g"] = compareRecords;
+/* harmony export (immutable) */ __webpack_exports__["k"] = equalsUnions;
+/* harmony export (immutable) */ __webpack_exports__["h"] = compareUnions;
+/* unused harmony export createDisposable */
+/* unused harmony export createAtom */
+/* unused harmony export createObj */
+/* unused harmony export toPlainJsObj */
+/* unused harmony export jsOptions */
+/* unused harmony export round */
+/* unused harmony export randomNext */
+/* unused harmony export applyOperator */
+/* unused harmony export parseNumber */
+/* unused harmony export tryParse */
+/* unused harmony export parse */
+/* unused harmony export unescapeDataString */
+/* unused harmony export escapeDataString */
+/* unused harmony export escapeUriString */
+/* unused harmony export clear */
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Date__ = __webpack_require__(15);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Symbol__ = __webpack_require__(1);
+var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+
+
+var NonDeclaredType = function () {
+ function NonDeclaredType(kind, definition, generics) {
+ _classCallCheck(this, NonDeclaredType);
+
+ this.kind = kind;
+ this.definition = definition;
+ this.generics = generics;
+ }
+
+ _createClass(NonDeclaredType, [{
+ key: "Equals",
+ value: function Equals(other) {
+ if (this.kind === other.kind && this.definition === other.definition) {
+ return _typeof(this.generics) === "object"
+ // equalsRecords should also work for Type[] (tuples)
+ ? equalsRecords(this.generics, other.generics) : this.generics === other.generics;
+ }
+ return false;
+ }
+ }]);
+
+ return NonDeclaredType;
+}();
+var Any = new NonDeclaredType("Any");
+var Unit = new NonDeclaredType("Unit");
+function Option(t) {
+ return new NonDeclaredType("Option", null, [t]);
+}
+function FableArray(t) {
+ var isTypedArray = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
+
+ var def = null;
+ var genArg = null;
+ if (isTypedArray) {
+ def = t;
+ } else {
+ genArg = t;
+ }
+ return new NonDeclaredType("Array", def, [genArg]);
+}
+
+function Tuple(types) {
+ return new NonDeclaredType("Tuple", null, types);
+}
+function FableFunction(types) {
+ return new NonDeclaredType("Function", null, types);
+}
+
+function GenericParam(definition) {
+ return new NonDeclaredType("GenericParam", definition);
+}
+function Interface(definition) {
+ return new NonDeclaredType("Interface", definition);
+}
+function makeGeneric(typeDef, genArgs) {
+ return new NonDeclaredType("GenericType", typeDef, genArgs);
+}
+function isGeneric(typ) {
+ return typ instanceof NonDeclaredType && typ.kind === "GenericType";
+}
+/**
+ * Returns the parent if this is a declared generic type or the argument otherwise.
+ * Attention: Unlike .NET this doesn't throw an exception if type is not generic.
+ */
+function getDefinition(typ) {
+ return isGeneric(typ) ? typ.definition : typ;
+}
+function extendInfo(cons, info) {
+ var parent = Object.getPrototypeOf(cons.prototype);
+ if (typeof parent[__WEBPACK_IMPORTED_MODULE_1__Symbol__["a" /* default */].reflection] === "function") {
+ var newInfo = {};
+ var parentInfo = parent[__WEBPACK_IMPORTED_MODULE_1__Symbol__["a" /* default */].reflection]();
+ Object.getOwnPropertyNames(info).forEach(function (k) {
+ var i = info[k];
+ if ((typeof i === "undefined" ? "undefined" : _typeof(i)) === "object") {
+ newInfo[k] = Array.isArray(i) ? (parentInfo[k] || []).concat(i) : Object.assign(parentInfo[k] || {}, i);
+ } else {
+ newInfo[k] = i;
+ }
+ });
+ return newInfo;
+ }
+ return info;
+}
+function hasInterface(obj, interfaceName) {
+ if (interfaceName === "System.Collections.Generic.IEnumerable") {
+ return typeof obj[Symbol.iterator] === "function";
+ } else if (typeof obj[__WEBPACK_IMPORTED_MODULE_1__Symbol__["a" /* default */].reflection] === "function") {
+ var interfaces = obj[__WEBPACK_IMPORTED_MODULE_1__Symbol__["a" /* default */].reflection]().interfaces;
+ return Array.isArray(interfaces) && interfaces.indexOf(interfaceName) > -1;
+ }
+ return false;
+}
+/**
+ * Returns:
+ * - Records: array with names of fields
+ * - Classes: array with names of getters
+ * - Nulls and unions: empty array
+ * - JS Objects: The result of calling Object.getOwnPropertyNames
+ */
+function getPropertyNames(obj) {
+ if (obj == null) {
+ return [];
+ }
+ var propertyMap = typeof obj[__WEBPACK_IMPORTED_MODULE_1__Symbol__["a" /* default */].reflection] === "function" ? obj[__WEBPACK_IMPORTED_MODULE_1__Symbol__["a" /* default */].reflection]().properties || [] : obj;
+ return Object.getOwnPropertyNames(propertyMap);
+}
+function isArray(obj) {
+ return Array.isArray(obj) || ArrayBuffer.isView(obj);
+}
+function toString(obj) {
+ var quoteStrings = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
+
+ function isObject(x) {
+ return x !== null && (typeof x === "undefined" ? "undefined" : _typeof(x)) === "object" && !(x instanceof Number) && !(x instanceof String) && !(x instanceof Boolean);
+ }
+ if (obj == null || typeof obj === "number") {
+ return String(obj);
+ }
+ if (typeof obj === "string") {
+ return quoteStrings ? JSON.stringify(obj) : obj;
+ }
+ if (obj instanceof Date) {
+ return Object(__WEBPACK_IMPORTED_MODULE_0__Date__["c" /* toString */])(obj);
+ }
+ if (typeof obj.ToString === "function") {
+ return obj.ToString();
+ }
+ if (hasInterface(obj, "FSharpUnion")) {
+ var info = obj[__WEBPACK_IMPORTED_MODULE_1__Symbol__["a" /* default */].reflection]();
+ var uci = info.cases[obj.tag];
+ switch (uci.length) {
+ case 1:
+ return uci[0];
+ case 2:
+ // For simplicity let's always use parens, in .NET they're ommitted in some cases
+ return uci[0] + " (" + toString(obj.data, true) + ")";
+ default:
+ return uci[0] + " (" + obj.data.map(function (x) {
+ return toString(x, true);
+ }).join(",") + ")";
+ }
+ }
+ try {
+ return JSON.stringify(obj, function (k, v) {
+ return v && v[Symbol.iterator] && !Array.isArray(v) && isObject(v) ? Array.from(v) : v && typeof v.ToString === "function" ? toString(v) : v;
+ });
+ } catch (err) {
+ // Fallback for objects with circular references
+ return "{" + Object.getOwnPropertyNames(obj).map(function (k) {
+ return k + ": " + String(obj[k]);
+ }).join(", ") + "}";
+ }
+}
+function hash(x) {
+ if (x != null && typeof x.GetHashCode === "function") {
+ return x.GetHashCode();
+ } else {
+ var s = toString(x);
+ var h = 5381;
+ var i = 0;
+ var len = s.length;
+ while (i < len) {
+ h = h * 33 ^ s.charCodeAt(i++);
+ }
+ return h;
+ }
+}
+function equals(x, y) {
+ // Optimization if they are referencially equal
+ if (x === y) {
+ return true;
+ } else if (x == null) {
+ return y == null;
+ } else if (y == null) {
+ return false;
+ // Equals override or IEquatable implementation
+ } else if (typeof x.Equals === "function") {
+ return x.Equals(y);
+ } else if (typeof y.Equals === "function") {
+ return y.Equals(x);
+ } else if (Object.getPrototypeOf(x) !== Object.getPrototypeOf(y)) {
+ return false;
+ } else if (Array.isArray(x)) {
+ if (x.length !== y.length) {
+ return false;
+ }
+ for (var i = 0; i < x.length; i++) {
+ if (!equals(x[i], y[i])) {
+ return false;
+ }
+ }
+ return true;
+ } else if (ArrayBuffer.isView(x)) {
+ if (x.byteLength !== y.byteLength) {
+ return false;
+ }
+ var dv1 = new DataView(x.buffer);
+ var dv2 = new DataView(y.buffer);
+ for (var _i = 0; _i < x.byteLength; _i++) {
+ if (dv1.getUint8(_i) !== dv2.getUint8(_i)) {
+ return false;
+ }
+ }
+ return true;
+ } else if (x instanceof Date) {
+ return x.getTime() === y.getTime();
+ } else {
+ return false;
+ }
+}
+function comparePrimitives(x, y) {
+ return x === y ? 0 : x < y ? -1 : 1;
+}
+function compare(x, y) {
+ // Optimization if they are referencially equal
+ if (x === y) {
+ return 0;
+ } else if (x == null) {
+ return y == null ? 0 : -1;
+ } else if (y == null) {
+ return 1; // everything is bigger than null
+ // Some types (see Long.ts) may just implement the function and not the interface
+ // else if (hasInterface(x, "System.IComparable"))
+ } else if (typeof x.CompareTo === "function") {
+ return x.CompareTo(y);
+ } else if (typeof y.CompareTo === "function") {
+ return y.CompareTo(x) * -1;
+ } else if (Object.getPrototypeOf(x) !== Object.getPrototypeOf(y)) {
+ return -1;
+ } else if (Array.isArray(x)) {
+ if (x.length !== y.length) {
+ return x.length < y.length ? -1 : 1;
+ }
+ for (var i = 0, j = 0; i < x.length; i++) {
+ j = compare(x[i], y[i]);
+ if (j !== 0) {
+ return j;
+ }
+ }
+ return 0;
+ } else if (ArrayBuffer.isView(x)) {
+ if (x.byteLength !== y.byteLength) {
+ return x.byteLength < y.byteLength ? -1 : 1;
+ }
+ var dv1 = new DataView(x.buffer);
+ var dv2 = new DataView(y.buffer);
+ for (var _i2 = 0, b1 = 0, b2 = 0; _i2 < x.byteLength; _i2++) {
+ b1 = dv1.getUint8(_i2), b2 = dv2.getUint8(_i2);
+ if (b1 < b2) {
+ return -1;
+ }
+ if (b1 > b2) {
+ return 1;
+ }
+ }
+ return 0;
+ } else if (x instanceof Date) {
+ return Object(__WEBPACK_IMPORTED_MODULE_0__Date__["a" /* compare */])(x, y);
+ } else if ((typeof x === "undefined" ? "undefined" : _typeof(x)) === "object") {
+ var xhash = hash(x);
+ var yhash = hash(y);
+ if (xhash === yhash) {
+ return equals(x, y) ? 0 : -1;
+ } else {
+ return xhash < yhash ? -1 : 1;
+ }
+ } else {
+ return x < y ? -1 : 1;
+ }
+}
+function equalsRecords(x, y) {
+ // Optimization if they are referencially equal
+ if (x === y) {
+ return true;
+ } else {
+ var keys = getPropertyNames(x);
+ var _iteratorNormalCompletion = true;
+ var _didIteratorError = false;
+ var _iteratorError = undefined;
+
+ try {
+ for (var _iterator = keys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
+ var key = _step.value;
+
+ if (!equals(x[key], y[key])) {
+ return false;
+ }
+ }
+ } catch (err) {
+ _didIteratorError = true;
+ _iteratorError = err;
+ } finally {
+ try {
+ if (!_iteratorNormalCompletion && _iterator.return) {
+ _iterator.return();
+ }
+ } finally {
+ if (_didIteratorError) {
+ throw _iteratorError;
+ }
+ }
+ }
+
+ return true;
+ }
+}
+function compareRecords(x, y) {
+ // Optimization if they are referencially equal
+ if (x === y) {
+ return 0;
+ } else {
+ var keys = getPropertyNames(x);
+ var _iteratorNormalCompletion2 = true;
+ var _didIteratorError2 = false;
+ var _iteratorError2 = undefined;
+
+ try {
+ for (var _iterator2 = keys[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
+ var key = _step2.value;
+
+ var res = compare(x[key], y[key]);
+ if (res !== 0) {
+ return res;
+ }
+ }
+ } catch (err) {
+ _didIteratorError2 = true;
+ _iteratorError2 = err;
+ } finally {
+ try {
+ if (!_iteratorNormalCompletion2 && _iterator2.return) {
+ _iterator2.return();
+ }
+ } finally {
+ if (_didIteratorError2) {
+ throw _iteratorError2;
+ }
+ }
+ }
+
+ return 0;
+ }
+}
+function equalsUnions(x, y) {
+ return x === y || x.tag === y.tag && equals(x.data, y.data);
+}
+function compareUnions(x, y) {
+ if (x === y) {
+ return 0;
+ } else {
+ var res = x.tag < y.tag ? -1 : x.tag > y.tag ? 1 : 0;
+ return res !== 0 ? res : compare(x.data, y.data);
+ }
+}
+function createDisposable(f) {
+ return _defineProperty({
+ Dispose: f
+ }, __WEBPACK_IMPORTED_MODULE_1__Symbol__["a" /* default */].reflection, function () {
+ return { interfaces: ["System.IDisposable"] };
+ });
+}
+// tslint forbids non-arrow functions, but it's
+// necessary here to use the arguments object
+/* tslint:disable */
+function createAtom(value) {
+ var atom = value;
+ return function () {
+ return arguments.length === 0 ? atom : (atom = arguments[0], void 0);
+ };
+}
+/* tslint:enable */
+var CaseRules = {
+ None: 0,
+ LowerFirst: 1
+};
+function isList(o) {
+ if (o != null) {
+ if (typeof o[__WEBPACK_IMPORTED_MODULE_1__Symbol__["a" /* default */].reflection] === "function") {
+ return o[__WEBPACK_IMPORTED_MODULE_1__Symbol__["a" /* default */].reflection]().type === "Microsoft.FSharp.Collections.FSharpList";
+ }
+ }
+ return false;
+}
+function createObj(fields) {
+ var caseRule = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : CaseRules.None;
+ var casesCache = arguments[2];
+
+ var iter = fields[Symbol.iterator]();
+ var cur = iter.next();
+ var o = {};
+ while (!cur.done) {
+ var value = cur.value;
+ if (Array.isArray(value)) {
+ o[value[0]] = value[1];
+ } else {
+ casesCache = casesCache || new Map();
+ var proto = Object.getPrototypeOf(value);
+ var cases = casesCache.get(proto);
+ if (cases == null) {
+ if (typeof proto[__WEBPACK_IMPORTED_MODULE_1__Symbol__["a" /* default */].reflection] === "function") {
+ cases = proto[__WEBPACK_IMPORTED_MODULE_1__Symbol__["a" /* default */].reflection]().cases;
+ casesCache.set(proto, cases);
+ }
+ }
+ var caseInfo = cases != null ? cases[value.tag] : null;
+ if (Array.isArray(caseInfo)) {
+ var key = caseInfo[0];
+ if (caseRule === CaseRules.LowerFirst) {
+ key = key[0].toLowerCase() + key.substr(1);
+ }
+ o[key] = caseInfo.length === 1 ? true : isList(value.data) ? createObj(value.data, caseRule, casesCache) : value.data;
+ } else {
+ throw new Error("Cannot infer key and value of " + value);
+ }
+ }
+ cur = iter.next();
+ }
+ return o;
+}
+function toPlainJsObj(source) {
+ if (source != null && source.constructor !== Object) {
+ var target = {};
+ var props = Object.getOwnPropertyNames(source);
+ var _iteratorNormalCompletion3 = true;
+ var _didIteratorError3 = false;
+ var _iteratorError3 = undefined;
+
+ try {
+ for (var _iterator3 = props[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
+ var p = _step3.value;
+
+ target[p] = source[p];
+ }
+ // Copy also properties from prototype, see #192
+ } catch (err) {
+ _didIteratorError3 = true;
+ _iteratorError3 = err;
+ } finally {
+ try {
+ if (!_iteratorNormalCompletion3 && _iterator3.return) {
+ _iterator3.return();
+ }
+ } finally {
+ if (_didIteratorError3) {
+ throw _iteratorError3;
+ }
+ }
+ }
+
+ var proto = Object.getPrototypeOf(source);
+ if (proto != null) {
+ props = Object.getOwnPropertyNames(proto);
+ var _iteratorNormalCompletion4 = true;
+ var _didIteratorError4 = false;
+ var _iteratorError4 = undefined;
+
+ try {
+ for (var _iterator4 = props[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
+ var _p = _step4.value;
+
+ var prop = Object.getOwnPropertyDescriptor(proto, _p);
+ if (prop.value) {
+ target[_p] = prop.value;
+ } else if (prop.get) {
+ target[_p] = prop.get.apply(source);
+ }
+ }
+ } catch (err) {
+ _didIteratorError4 = true;
+ _iteratorError4 = err;
+ } finally {
+ try {
+ if (!_iteratorNormalCompletion4 && _iterator4.return) {
+ _iterator4.return();
+ }
+ } finally {
+ if (_didIteratorError4) {
+ throw _iteratorError4;
+ }
+ }
+ }
+ }
+ return target;
+ } else {
+ return source;
+ }
+}
+function jsOptions(mutator) {
+ var opts = {};
+ mutator(opts);
+ return opts;
+}
+function round(value) {
+ var digits = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
+
+ var m = Math.pow(10, digits);
+ var n = +(digits ? value * m : value).toFixed(8);
+ var i = Math.floor(n);
+ var f = n - i;
+ var e = 1e-8;
+ var r = f > 0.5 - e && f < 0.5 + e ? i % 2 === 0 ? i : i + 1 : Math.round(n);
+ return digits ? r / m : r;
+}
+function randomNext(min, max) {
+ return Math.floor(Math.random() * (max - min)) + min;
+}
+function applyOperator(x, y, operator) {
+ function getMethod(obj) {
+ if ((typeof obj === "undefined" ? "undefined" : _typeof(obj)) === "object") {
+ var cons = Object.getPrototypeOf(obj).constructor;
+ if (typeof cons[operator] === "function") {
+ return cons[operator];
+ }
+ }
+ return null;
+ }
+ var meth = getMethod(x);
+ if (meth != null) {
+ return meth(x, y);
+ }
+ meth = getMethod(y);
+ if (meth != null) {
+ return meth(x, y);
+ }
+ switch (operator) {
+ case "op_Addition":
+ return x + y;
+ case "op_Subtraction":
+ return x - y;
+ case "op_Multiply":
+ return x * y;
+ case "op_Division":
+ return x / y;
+ case "op_Modulus":
+ return x % y;
+ case "op_LeftShift":
+ return x << y;
+ case "op_RightShift":
+ return x >> y;
+ case "op_BitwiseAnd":
+ return x & y;
+ case "op_BitwiseOr":
+ return x | y;
+ case "op_ExclusiveOr":
+ return x ^ y;
+ case "op_LogicalNot":
+ return x + y;
+ case "op_UnaryNegation":
+ return !x;
+ case "op_BooleanAnd":
+ return x && y;
+ case "op_BooleanOr":
+ return x || y;
+ default:
+ return null;
+ }
+}
+function parseNumber(v) {
+ return +v;
+}
+function tryParse(v, initial, parser, fn) {
+ if (v != null) {
+ var a = parser.exec(v);
+ if (a !== null) {
+ return [true, fn(a[1])];
+ }
+ }
+ return [false, initial];
+}
+function parse(v, initial, parser, fn) {
+ var a = tryParse(v, initial, parser, fn);
+ if (a[0]) {
+ return a[1];
+ } else {
+ // TODO FormatException ?
+ throw new Error("Input string was not in a correct format.");
+ }
+}
+function unescapeDataString(s) {
+ // https://stackoverflow.com/a/4458580/524236
+ return decodeURIComponent(s.replace(/\+/g, "%20"));
+}
+function escapeDataString(s) {
+ return encodeURIComponent(s).replace(/!/g, "%21").replace(/'/g, "%27").replace(/\(/g, "%28").replace(/\)/g, "%29").replace(/\*/g, "%2A");
+}
+function escapeUriString(s) {
+ return encodeURI(s);
+}
+// ICollection.Clear method can be called on IDictionary
+// too so we need to make a runtime check (see #1120)
+function clear(col) {
+ if (Array.isArray(col)) {
+ col.splice(0);
+ } else {
+ col.clear();
+ }
+}
+
+/***/ }),
+/* 3 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export Enumerator */
+/* unused harmony export getEnumerator */
+/* unused harmony export toIterator */
+/* harmony export (immutable) */ __webpack_exports__["n"] = toList;
+/* unused harmony export ofList */
+/* unused harmony export ofArray */
+/* unused harmony export append */
+/* unused harmony export average */
+/* harmony export (immutable) */ __webpack_exports__["a"] = averageBy;
+/* unused harmony export concat */
+/* unused harmony export collect */
+/* unused harmony export choose */
+/* harmony export (immutable) */ __webpack_exports__["c"] = compareWith;
+/* harmony export (immutable) */ __webpack_exports__["d"] = delay;
+/* unused harmony export empty */
+/* unused harmony export enumerateWhile */
+/* unused harmony export enumerateThenFinally */
+/* unused harmony export enumerateUsing */
+/* unused harmony export exactlyOne */
+/* unused harmony export except */
+/* harmony export (immutable) */ __webpack_exports__["e"] = exists;
+/* unused harmony export exists2 */
+/* unused harmony export filter */
+/* unused harmony export where */
+/* harmony export (immutable) */ __webpack_exports__["f"] = fold;
+/* harmony export (immutable) */ __webpack_exports__["g"] = foldBack;
+/* unused harmony export fold2 */
+/* unused harmony export foldBack2 */
+/* unused harmony export forAll */
+/* unused harmony export forAll2 */
+/* unused harmony export tryHead */
+/* unused harmony export head */
+/* unused harmony export initialize */
+/* unused harmony export initializeInfinite */
+/* unused harmony export tryItem */
+/* harmony export (immutable) */ __webpack_exports__["h"] = item;
+/* unused harmony export iterate */
+/* unused harmony export iterate2 */
+/* unused harmony export iterateIndexed */
+/* unused harmony export iterateIndexed2 */
+/* unused harmony export isEmpty */
+/* unused harmony export tryLast */
+/* unused harmony export last */
+/* unused harmony export count */
+/* harmony export (immutable) */ __webpack_exports__["i"] = map;
+/* unused harmony export mapIndexed */
+/* unused harmony export indexed */
+/* unused harmony export map2 */
+/* unused harmony export mapIndexed2 */
+/* unused harmony export map3 */
+/* harmony export (immutable) */ __webpack_exports__["b"] = chunkBySize;
+/* unused harmony export mapFold */
+/* unused harmony export mapFoldBack */
+/* unused harmony export max */
+/* unused harmony export maxBy */
+/* unused harmony export min */
+/* unused harmony export minBy */
+/* unused harmony export pairwise */
+/* unused harmony export permute */
+/* unused harmony export rangeStep */
+/* unused harmony export rangeChar */
+/* harmony export (immutable) */ __webpack_exports__["k"] = range;
+/* unused harmony export readOnly */
+/* harmony export (immutable) */ __webpack_exports__["l"] = reduce;
+/* unused harmony export reduceBack */
+/* unused harmony export replicate */
+/* unused harmony export reverse */
+/* unused harmony export scan */
+/* unused harmony export scanBack */
+/* unused harmony export singleton */
+/* unused harmony export skip */
+/* unused harmony export skipWhile */
+/* unused harmony export sortWith */
+/* unused harmony export sum */
+/* harmony export (immutable) */ __webpack_exports__["m"] = sumBy;
+/* unused harmony export tail */
+/* unused harmony export take */
+/* unused harmony export truncate */
+/* unused harmony export takeWhile */
+/* unused harmony export tryFind */
+/* unused harmony export find */
+/* unused harmony export tryFindBack */
+/* unused harmony export findBack */
+/* unused harmony export tryFindIndex */
+/* unused harmony export findIndex */
+/* unused harmony export tryFindIndexBack */
+/* unused harmony export findIndexBack */
+/* harmony export (immutable) */ __webpack_exports__["o"] = tryPick;
+/* harmony export (immutable) */ __webpack_exports__["j"] = pick;
+/* unused harmony export unfold */
+/* harmony export (immutable) */ __webpack_exports__["p"] = zip;
+/* unused harmony export zip3 */
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Array__ = __webpack_require__(19);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ListClass__ = __webpack_require__(12);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Option__ = __webpack_require__(5);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Util__ = __webpack_require__(2);
+var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+
+
+
+
+
+var Enumerator = function () {
+ function Enumerator(iter) {
+ _classCallCheck(this, Enumerator);
+
+ this.iter = iter;
+ }
+
+ _createClass(Enumerator, [{
+ key: "MoveNext",
+ value: function MoveNext() {
+ var cur = this.iter.next();
+ this.current = cur.value;
+ return !cur.done;
+ }
+ }, {
+ key: "Reset",
+ value: function Reset() {
+ throw new Error("JS iterators cannot be reset");
+ }
+ }, {
+ key: "Dispose",
+ value: function Dispose() {
+ return;
+ }
+ }, {
+ key: "Current",
+ get: function get() {
+ return this.current;
+ }
+ }, {
+ key: "get_Current",
+ get: function get() {
+ return this.current;
+ }
+ }]);
+
+ return Enumerator;
+}();
+function getEnumerator(o) {
+ return typeof o.GetEnumerator === "function" ? o.GetEnumerator() : new Enumerator(o[Symbol.iterator]());
+}
+function toIterator(en) {
+ return {
+ next: function next() {
+ return en.MoveNext() ? { done: false, value: en.Current } : { done: true, value: null };
+ }
+ };
+}
+function __failIfNone(res) {
+ if (res == null) {
+ throw new Error("Seq did not contain any matching element");
+ }
+ return Object(__WEBPACK_IMPORTED_MODULE_2__Option__["c" /* getValue */])(res);
+}
+function toList(xs) {
+ return foldBack(function (x, acc) {
+ return new __WEBPACK_IMPORTED_MODULE_1__ListClass__["a" /* default */](x, acc);
+ }, xs, new __WEBPACK_IMPORTED_MODULE_1__ListClass__["a" /* default */]());
+}
+function ofList(xs) {
+ return delay(function () {
+ return unfold(function (x) {
+ return x.tail != null ? [x.head, x.tail] : null;
+ }, xs);
+ });
+}
+function ofArray(xs) {
+ return delay(function () {
+ return unfold(function (i) {
+ return i < xs.length ? [xs[i], i + 1] : null;
+ }, 0);
+ });
+}
+function append(xs, ys) {
+ return delay(function () {
+ var firstDone = false;
+ var i = xs[Symbol.iterator]();
+ var iters = [i, null];
+ return unfold(function () {
+ var cur = void 0;
+ if (!firstDone) {
+ cur = iters[0].next();
+ if (!cur.done) {
+ return [cur.value, iters];
+ } else {
+ firstDone = true;
+ iters = [null, ys[Symbol.iterator]()];
+ }
+ }
+ cur = iters[1].next();
+ return !cur.done ? [cur.value, iters] : null;
+ }, iters);
+ });
+}
+function average(xs) {
+ var count = 1;
+ var sum = reduce(function (acc, x) {
+ count++;
+ return acc + x;
+ }, xs);
+ return sum / count;
+}
+function averageBy(f, xs) {
+ var count = 1;
+ var sum = reduce(function (acc, x) {
+ count++;
+ return (count === 2 ? f(acc) : acc) + f(x);
+ }, xs);
+ return sum / count;
+}
+function concat(xs) {
+ return delay(function () {
+ var iter = xs[Symbol.iterator]();
+ var output = { value: null };
+ return unfold(function (innerIter) {
+ var hasFinished = false;
+ while (!hasFinished) {
+ if (innerIter == null) {
+ var cur = iter.next();
+ if (!cur.done) {
+ innerIter = cur.value[Symbol.iterator]();
+ } else {
+ hasFinished = true;
+ }
+ } else {
+ var _cur = innerIter.next();
+ if (!_cur.done) {
+ output = { value: _cur.value };
+ hasFinished = true;
+ } else {
+ innerIter = null;
+ }
+ }
+ }
+ return innerIter != null && output != null ? [output.value, innerIter] : null;
+ }, null);
+ });
+}
+function collect(f, xs) {
+ return concat(map(f, xs));
+}
+function choose(f, xs) {
+ return delay(function () {
+ return unfold(function (iter) {
+ var cur = iter.next();
+ while (!cur.done) {
+ var y = f(cur.value);
+ if (y != null) {
+ return [Object(__WEBPACK_IMPORTED_MODULE_2__Option__["c" /* getValue */])(y), iter];
+ }
+ cur = iter.next();
+ }
+ return null;
+ }, xs[Symbol.iterator]());
+ });
+}
+function compareWith(f, xs, ys) {
+ var nonZero = tryFind(function (i) {
+ return i !== 0;
+ }, map2(function (x, y) {
+ return f(x, y);
+ }, xs, ys));
+ return nonZero != null ? Object(__WEBPACK_IMPORTED_MODULE_2__Option__["c" /* getValue */])(nonZero) : count(xs) - count(ys);
+}
+function delay(f) {
+ return _defineProperty({}, Symbol.iterator, function () {
+ return f()[Symbol.iterator]();
+ });
+}
+function empty() {
+ return unfold(function () {
+ return void 0;
+ });
+}
+function enumerateWhile(cond, xs) {
+ return concat(unfold(function () {
+ return cond() ? [xs, true] : null;
+ }));
+}
+function enumerateThenFinally(xs, finalFn) {
+ return delay(function () {
+ var iter = void 0;
+ try {
+ iter = xs[Symbol.iterator]();
+ } catch (err) {
+ return void 0;
+ } finally {
+ finalFn();
+ }
+ return unfold(function (it) {
+ try {
+ var cur = it.next();
+ return !cur.done ? [cur.value, it] : null;
+ } catch (err) {
+ return void 0;
+ } finally {
+ finalFn();
+ }
+ }, iter);
+ });
+}
+function enumerateUsing(disp, work) {
+ var isDisposed = false;
+ var disposeOnce = function disposeOnce() {
+ if (!isDisposed) {
+ isDisposed = true;
+ disp.Dispose();
+ }
+ };
+ try {
+ return enumerateThenFinally(work(disp), disposeOnce);
+ } catch (err) {
+ return void 0;
+ } finally {
+ disposeOnce();
+ }
+}
+function exactlyOne(xs) {
+ var iter = xs[Symbol.iterator]();
+ var fst = iter.next();
+ if (fst.done) {
+ throw new Error("Seq was empty");
+ }
+ var snd = iter.next();
+ if (!snd.done) {
+ throw new Error("Seq had multiple items");
+ }
+ return fst.value;
+}
+function except(itemsToExclude, source) {
+ var exclusionItems = Array.from(itemsToExclude);
+ var testIsNotInExclusionItems = function testIsNotInExclusionItems(element) {
+ return !exclusionItems.some(function (excludedItem) {
+ return Object(__WEBPACK_IMPORTED_MODULE_3__Util__["i" /* equals */])(excludedItem, element);
+ });
+ };
+ return filter(testIsNotInExclusionItems, source);
+}
+function exists(f, xs) {
+ var cur = void 0;
+ for (var iter = xs[Symbol.iterator]();;) {
+ cur = iter.next();
+ if (cur.done) {
+ break;
+ }
+ if (f(cur.value)) {
+ return true;
+ }
+ }
+ return false;
+}
+function exists2(f, xs, ys) {
+ var cur1 = void 0;
+ var cur2 = void 0;
+ for (var iter1 = xs[Symbol.iterator](), iter2 = ys[Symbol.iterator]();;) {
+ cur1 = iter1.next();
+ cur2 = iter2.next();
+ if (cur1.done || cur2.done) {
+ break;
+ }
+ if (f(cur1.value, cur2.value)) {
+ return true;
+ }
+ }
+ return false;
+}
+function filter(f, xs) {
+ return delay(function () {
+ return unfold(function (iter) {
+ var cur = iter.next();
+ while (!cur.done) {
+ if (f(cur.value)) {
+ return [cur.value, iter];
+ }
+ cur = iter.next();
+ }
+ return null;
+ }, xs[Symbol.iterator]());
+ });
+}
+function where(f, xs) {
+ return filter(f, xs);
+}
+function fold(f, acc, xs) {
+ if (Array.isArray(xs) || ArrayBuffer.isView(xs)) {
+ return xs.reduce(f, acc);
+ } else {
+ var cur = void 0;
+ for (var i = 0, iter = xs[Symbol.iterator]();; i++) {
+ cur = iter.next();
+ if (cur.done) {
+ break;
+ }
+ acc = f(acc, cur.value, i);
+ }
+ return acc;
+ }
+}
+function foldBack(f, xs, acc) {
+ var arr = Array.isArray(xs) || ArrayBuffer.isView(xs) ? xs : Array.from(xs);
+ for (var i = arr.length - 1; i >= 0; i--) {
+ acc = f(arr[i], acc, i);
+ }
+ return acc;
+}
+function fold2(f, acc, xs, ys) {
+ var iter1 = xs[Symbol.iterator]();
+ var iter2 = ys[Symbol.iterator]();
+ var cur1 = void 0;
+ var cur2 = void 0;
+ for (var i = 0;; i++) {
+ cur1 = iter1.next();
+ cur2 = iter2.next();
+ if (cur1.done || cur2.done) {
+ break;
+ }
+ acc = f(acc, cur1.value, cur2.value, i);
+ }
+ return acc;
+}
+function foldBack2(f, xs, ys, acc) {
+ var ar1 = Array.isArray(xs) || ArrayBuffer.isView(xs) ? xs : Array.from(xs);
+ var ar2 = Array.isArray(ys) || ArrayBuffer.isView(ys) ? ys : Array.from(ys);
+ for (var i = ar1.length - 1; i >= 0; i--) {
+ acc = f(ar1[i], ar2[i], acc, i);
+ }
+ return acc;
+}
+function forAll(f, xs) {
+ return fold(function (acc, x) {
+ return acc && f(x);
+ }, true, xs);
+}
+function forAll2(f, xs, ys) {
+ return fold2(function (acc, x, y) {
+ return acc && f(x, y);
+ }, true, xs, ys);
+}
+function tryHead(xs) {
+ var iter = xs[Symbol.iterator]();
+ var cur = iter.next();
+ return cur.done ? null : new __WEBPACK_IMPORTED_MODULE_2__Option__["a" /* Some */](cur.value);
+}
+function head(xs) {
+ return __failIfNone(tryHead(xs));
+}
+function initialize(n, f) {
+ return delay(function () {
+ return unfold(function (i) {
+ return i < n ? [f(i), i + 1] : null;
+ }, 0);
+ });
+}
+function initializeInfinite(f) {
+ return delay(function () {
+ return unfold(function (i) {
+ return [f(i), i + 1];
+ }, 0);
+ });
+}
+function tryItem(i, xs) {
+ if (i < 0) {
+ return null;
+ }
+ if (Array.isArray(xs) || ArrayBuffer.isView(xs)) {
+ return i < xs.length ? new __WEBPACK_IMPORTED_MODULE_2__Option__["a" /* Some */](xs[i]) : null;
+ }
+ for (var j = 0, iter = xs[Symbol.iterator]();; j++) {
+ var cur = iter.next();
+ if (cur.done) {
+ break;
+ }
+ if (j === i) {
+ return new __WEBPACK_IMPORTED_MODULE_2__Option__["a" /* Some */](cur.value);
+ }
+ }
+ return null;
+}
+function item(i, xs) {
+ return __failIfNone(tryItem(i, xs));
+}
+function iterate(f, xs) {
+ fold(function (_, x) {
+ return f(x);
+ }, null, xs);
+}
+function iterate2(f, xs, ys) {
+ fold2(function (_, x, y) {
+ return f(x, y);
+ }, null, xs, ys);
+}
+function iterateIndexed(f, xs) {
+ fold(function (_, x, i) {
+ return f(i, x);
+ }, null, xs);
+}
+function iterateIndexed2(f, xs, ys) {
+ fold2(function (_, x, y, i) {
+ return f(i, x, y);
+ }, null, xs, ys);
+}
+function isEmpty(xs) {
+ var i = xs[Symbol.iterator]();
+ return i.next().done;
+}
+function tryLast(xs) {
+ try {
+ return new __WEBPACK_IMPORTED_MODULE_2__Option__["a" /* Some */](reduce(function (_, x) {
+ return x;
+ }, xs));
+ } catch (err) {
+ return null;
+ }
+}
+function last(xs) {
+ return __failIfNone(tryLast(xs));
+}
+// A export function 'length' method causes problems in JavaScript -- https://github.com/Microsoft/TypeScript/issues/442
+function count(xs) {
+ return Array.isArray(xs) || ArrayBuffer.isView(xs) ? xs.length : fold(function (acc, x) {
+ return acc + 1;
+ }, 0, xs);
+}
+function map(f, xs) {
+ return delay(function () {
+ return unfold(function (iter) {
+ var cur = iter.next();
+ return !cur.done ? [f(cur.value), iter] : null;
+ }, xs[Symbol.iterator]());
+ });
+}
+function mapIndexed(f, xs) {
+ return delay(function () {
+ var i = 0;
+ return unfold(function (iter) {
+ var cur = iter.next();
+ return !cur.done ? [f(i++, cur.value), iter] : null;
+ }, xs[Symbol.iterator]());
+ });
+}
+function indexed(xs) {
+ return mapIndexed(function (i, x) {
+ return [i, x];
+ }, xs);
+}
+function map2(f, xs, ys) {
+ return delay(function () {
+ var iter1 = xs[Symbol.iterator]();
+ var iter2 = ys[Symbol.iterator]();
+ return unfold(function () {
+ var cur1 = iter1.next();
+ var cur2 = iter2.next();
+ return !cur1.done && !cur2.done ? [f(cur1.value, cur2.value), null] : null;
+ });
+ });
+}
+function mapIndexed2(f, xs, ys) {
+ return delay(function () {
+ var i = 0;
+ var iter1 = xs[Symbol.iterator]();
+ var iter2 = ys[Symbol.iterator]();
+ return unfold(function () {
+ var cur1 = iter1.next();
+ var cur2 = iter2.next();
+ return !cur1.done && !cur2.done ? [f(i++, cur1.value, cur2.value), null] : null;
+ });
+ });
+}
+function map3(f, xs, ys, zs) {
+ return delay(function () {
+ var iter1 = xs[Symbol.iterator]();
+ var iter2 = ys[Symbol.iterator]();
+ var iter3 = zs[Symbol.iterator]();
+ return unfold(function () {
+ var cur1 = iter1.next();
+ var cur2 = iter2.next();
+ var cur3 = iter3.next();
+ return !cur1.done && !cur2.done && !cur3.done ? [f(cur1.value, cur2.value, cur3.value), null] : null;
+ });
+ });
+}
+function chunkBySize(size, xs) {
+ var result = Object(__WEBPACK_IMPORTED_MODULE_0__Array__["a" /* chunkBySize */])(size, Array.from(xs));
+ return ofArray(result.map(ofArray));
+}
+function mapFold(f, acc, xs, transform) {
+ var result = [];
+ var r = void 0;
+ var cur = void 0;
+ for (var i = 0, iter = xs[Symbol.iterator]();; i++) {
+ cur = iter.next();
+ if (cur.done) {
+ break;
+ }
+
+ var _f = f(acc, cur.value);
+
+ var _f2 = _slicedToArray(_f, 2);
+
+ r = _f2[0];
+ acc = _f2[1];
+
+ result.push(r);
+ }
+ return transform !== void 0 ? [transform(result), acc] : [result, acc];
+}
+function mapFoldBack(f, xs, acc, transform) {
+ var arr = Array.isArray(xs) || ArrayBuffer.isView(xs) ? xs : Array.from(xs);
+ var result = [];
+ var r = void 0;
+ for (var i = arr.length - 1; i >= 0; i--) {
+ var _f3 = f(arr[i], acc);
+
+ var _f4 = _slicedToArray(_f3, 2);
+
+ r = _f4[0];
+ acc = _f4[1];
+
+ result.push(r);
+ }
+ return transform !== void 0 ? [transform(result), acc] : [result, acc];
+}
+function max(xs) {
+ return reduce(function (acc, x) {
+ return Object(__WEBPACK_IMPORTED_MODULE_3__Util__["e" /* compare */])(acc, x) === 1 ? acc : x;
+ }, xs);
+}
+function maxBy(f, xs) {
+ return reduce(function (acc, x) {
+ return Object(__WEBPACK_IMPORTED_MODULE_3__Util__["e" /* compare */])(f(acc), f(x)) === 1 ? acc : x;
+ }, xs);
+}
+function min(xs) {
+ return reduce(function (acc, x) {
+ return Object(__WEBPACK_IMPORTED_MODULE_3__Util__["e" /* compare */])(acc, x) === -1 ? acc : x;
+ }, xs);
+}
+function minBy(f, xs) {
+ return reduce(function (acc, x) {
+ return Object(__WEBPACK_IMPORTED_MODULE_3__Util__["e" /* compare */])(f(acc), f(x)) === -1 ? acc : x;
+ }, xs);
+}
+function pairwise(xs) {
+ return skip(2, scan(function (last, next) {
+ return [last[1], next];
+ }, [0, 0], xs));
+}
+function permute(f, xs) {
+ return ofArray(Object(__WEBPACK_IMPORTED_MODULE_0__Array__["b" /* permute */])(f, Array.from(xs)));
+}
+function rangeStep(first, step, last) {
+ if (step === 0) {
+ throw new Error("Step cannot be 0");
+ }
+ return delay(function () {
+ return unfold(function (x) {
+ return step > 0 && x <= last || step < 0 && x >= last ? [x, x + step] : null;
+ }, first);
+ });
+}
+function rangeChar(first, last) {
+ return delay(function () {
+ return unfold(function (x) {
+ return x <= last ? [x, String.fromCharCode(x.charCodeAt(0) + 1)] : null;
+ }, first);
+ });
+}
+function range(first, last) {
+ return rangeStep(first, 1, last);
+}
+function readOnly(xs) {
+ return map(function (x) {
+ return x;
+ }, xs);
+}
+function reduce(f, xs) {
+ if (Array.isArray(xs) || ArrayBuffer.isView(xs)) {
+ return xs.reduce(f);
+ }
+ var iter = xs[Symbol.iterator]();
+ var cur = iter.next();
+ if (cur.done) {
+ throw new Error("Seq was empty");
+ }
+ var acc = cur.value;
+ while (true) {
+ cur = iter.next();
+ if (cur.done) {
+ break;
+ }
+ acc = f(acc, cur.value);
+ }
+ return acc;
+}
+function reduceBack(f, xs) {
+ var ar = Array.isArray(xs) || ArrayBuffer.isView(xs) ? xs : Array.from(xs);
+ if (ar.length === 0) {
+ throw new Error("Seq was empty");
+ }
+ var acc = ar[ar.length - 1];
+ for (var i = ar.length - 2; i >= 0; i--) {
+ acc = f(ar[i], acc, i);
+ }
+ return acc;
+}
+function replicate(n, x) {
+ return initialize(n, function () {
+ return x;
+ });
+}
+function reverse(xs) {
+ var ar = Array.isArray(xs) || ArrayBuffer.isView(xs) ? xs.slice(0) : Array.from(xs);
+ return ofArray(ar.reverse());
+}
+function scan(f, seed, xs) {
+ return delay(function () {
+ var iter = xs[Symbol.iterator]();
+ return unfold(function (acc) {
+ if (acc == null) {
+ return [seed, seed];
+ }
+ var cur = iter.next();
+ if (!cur.done) {
+ acc = f(acc, cur.value);
+ return [acc, acc];
+ }
+ return void 0;
+ }, null);
+ });
+}
+function scanBack(f, xs, seed) {
+ return reverse(scan(function (acc, x) {
+ return f(x, acc);
+ }, seed, reverse(xs)));
+}
+function singleton(y) {
+ return unfold(function (x) {
+ return x != null ? [x, null] : null;
+ }, y);
+}
+function skip(n, xs) {
+ return _defineProperty({}, Symbol.iterator, function () {
+ var iter = xs[Symbol.iterator]();
+ for (var i = 1; i <= n; i++) {
+ if (iter.next().done) {
+ throw new Error("Seq has not enough elements");
+ }
+ }
+ return iter;
+ });
+}
+function skipWhile(f, xs) {
+ return delay(function () {
+ var hasPassed = false;
+ return filter(function (x) {
+ return hasPassed || (hasPassed = !f(x));
+ }, xs);
+ });
+}
+function sortWith(f, xs) {
+ var ys = Array.from(xs);
+ return ofArray(ys.sort(f));
+}
+function sum(xs) {
+ return fold(function (acc, x) {
+ return acc + x;
+ }, 0, xs);
+}
+function sumBy(f, xs) {
+ return fold(function (acc, x) {
+ return acc + f(x);
+ }, 0, xs);
+}
+function tail(xs) {
+ var iter = xs[Symbol.iterator]();
+ var cur = iter.next();
+ if (cur.done) {
+ throw new Error("Seq was empty");
+ }
+ return _defineProperty({}, Symbol.iterator, function () {
+ return iter;
+ });
+}
+function take(n, xs) {
+ var truncate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
+
+ return delay(function () {
+ var iter = xs[Symbol.iterator]();
+ return unfold(function (i) {
+ if (i < n) {
+ var cur = iter.next();
+ if (!cur.done) {
+ return [cur.value, i + 1];
+ }
+ if (!truncate) {
+ throw new Error("Seq has not enough elements");
+ }
+ }
+ return void 0;
+ }, 0);
+ });
+}
+function truncate(n, xs) {
+ return take(n, xs, true);
+}
+function takeWhile(f, xs) {
+ return delay(function () {
+ var iter = xs[Symbol.iterator]();
+ return unfold(function (i) {
+ var cur = iter.next();
+ if (!cur.done && f(cur.value)) {
+ return [cur.value, null];
+ }
+ return void 0;
+ }, 0);
+ });
+}
+function tryFind(f, xs, defaultValue) {
+ for (var i = 0, iter = xs[Symbol.iterator]();; i++) {
+ var cur = iter.next();
+ if (cur.done) {
+ break;
+ }
+ if (f(cur.value, i)) {
+ return new __WEBPACK_IMPORTED_MODULE_2__Option__["a" /* Some */](cur.value);
+ }
+ }
+ return defaultValue === void 0 ? null : new __WEBPACK_IMPORTED_MODULE_2__Option__["a" /* Some */](defaultValue);
+}
+function find(f, xs) {
+ return __failIfNone(tryFind(f, xs));
+}
+function tryFindBack(f, xs, defaultValue) {
+ var arr = Array.isArray(xs) || ArrayBuffer.isView(xs) ? xs.slice(0) : Array.from(xs);
+ return tryFind(f, arr.reverse(), defaultValue);
+}
+function findBack(f, xs) {
+ return __failIfNone(tryFindBack(f, xs));
+}
+function tryFindIndex(f, xs) {
+ for (var i = 0, iter = xs[Symbol.iterator]();; i++) {
+ var cur = iter.next();
+ if (cur.done) {
+ break;
+ }
+ if (f(cur.value, i)) {
+ return i;
+ }
+ }
+ return null;
+}
+function findIndex(f, xs) {
+ return __failIfNone(tryFindIndex(f, xs));
+}
+function tryFindIndexBack(f, xs) {
+ var arr = Array.isArray(xs) || ArrayBuffer.isView(xs) ? xs.slice(0) : Array.from(xs);
+ for (var i = arr.length - 1; i >= 0; i--) {
+ if (f(arr[i], i)) {
+ return i;
+ }
+ }
+ return null;
+}
+function findIndexBack(f, xs) {
+ return __failIfNone(tryFindIndexBack(f, xs));
+}
+function tryPick(f, xs) {
+ for (var i = 0, iter = xs[Symbol.iterator]();; i++) {
+ var cur = iter.next();
+ if (cur.done) {
+ break;
+ }
+ var y = f(cur.value, i);
+ if (y != null) {
+ return y;
+ }
+ }
+ return null;
+}
+function pick(f, xs) {
+ return __failIfNone(tryPick(f, xs));
+}
+function unfold(f, fst) {
+ return _defineProperty({}, Symbol.iterator, function () {
+ // Capture a copy of the first value in the closure
+ // so the sequence is restarted every time, see #1230
+ var acc = fst;
+ return {
+ next: function next() {
+ var res = f(acc);
+ if (res != null) {
+ acc = res[1];
+ return { done: false, value: res[0] };
+ }
+ return { done: true };
+ }
+ };
+ });
+}
+function zip(xs, ys) {
+ return map2(function (x, y) {
+ return [x, y];
+ }, xs, ys);
+}
+function zip3(xs, ys, zs) {
+ return map3(function (x, y, z) {
+ return [x, y, z];
+ }, xs, ys, zs);
+}
+
+/***/ }),
+/* 4 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (immutable) */ __webpack_exports__["a"] = CurriedLambda;
+/* harmony export (immutable) */ __webpack_exports__["b"] = partialApply;
+function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
+
+function CurriedLambda(f, expectedArgsLength) {
+ if (f.curried === true) {
+ return f;
+ }
+ var curriedFn = function curriedFn() {
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ // _this = _this || this;
+ var actualArgsLength = Math.max(args.length, 1);
+ expectedArgsLength = Math.max(expectedArgsLength || f.length, 1);
+ if (actualArgsLength >= expectedArgsLength) {
+ var restArgs = args.splice(expectedArgsLength);
+ var res = f.apply(undefined, args);
+ if (typeof res === "function") {
+ var newLambda = CurriedLambda(res);
+ return restArgs.length === 0 ? newLambda : newLambda.apply(undefined, _toConsumableArray(restArgs));
+ } else {
+ return res;
+ }
+ } else {
+ return CurriedLambda(function () {
+ for (var _len2 = arguments.length, args2 = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
+ args2[_key2] = arguments[_key2];
+ }
+
+ return f.apply(undefined, _toConsumableArray(args.concat(args2)));
+ }, expectedArgsLength - actualArgsLength);
+ }
+ };
+ curriedFn.curried = true;
+ return curriedFn;
+}
+function partialApply(f, args) {
+ var args2 = args.map(function (x) {
+ return typeof x === "function" && !x.curried ? CurriedLambda(x) : x;
+ });
+ var lambda = f.curried === true ? f : CurriedLambda(f);
+ return lambda.apply(undefined, _toConsumableArray(args2));
+}
+
+/***/ }),
+/* 5 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Some; });
+/* harmony export (immutable) */ __webpack_exports__["c"] = getValue;
+/* harmony export (immutable) */ __webpack_exports__["b"] = defaultArg;
+/* unused harmony export defaultArgWith */
+/* unused harmony export filter */
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Util__ = __webpack_require__(2);
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+
+// Options are erased in runtime by Fable, but some cases
+// (unit, not resolved generics, nested options) are wrapped
+// by the following JS type (for Some cases)
+// So options in Fable follow these two rules:
+// 1- None is always null in runtime, so a non-strict null check
+// (`x == null`) is enough to check the case of an option.
+// 2- To get the value of an option the `getValue` helper
+// below must **always** be used.
+var Some = function () {
+ function Some(value) {
+ _classCallCheck(this, Some);
+
+ this.value = value;
+ this.value = value;
+ }
+ // We don't prefix it with "Some" for consistency with erased options
+
+
+ _createClass(Some, [{
+ key: "ToString",
+ value: function ToString() {
+ return Object(__WEBPACK_IMPORTED_MODULE_0__Util__["m" /* toString */])(this.value);
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(other) {
+ if (other == null) {
+ return false;
+ } else {
+ return Object(__WEBPACK_IMPORTED_MODULE_0__Util__["i" /* equals */])(this.value, other instanceof Some ? other.value : other);
+ }
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ if (other == null) {
+ return 1;
+ } else {
+ return Object(__WEBPACK_IMPORTED_MODULE_0__Util__["e" /* compare */])(this.value, other instanceof Some ? other.value : other);
+ }
+ }
+ }]);
+
+ return Some;
+}();
+function getValue(x, acceptNull) {
+ if (x == null) {
+ if (!acceptNull) {
+ throw new Error("Option has no value");
+ }
+ return null;
+ } else {
+ return x instanceof Some ? x.value : x;
+ }
+}
+function defaultArg(arg, defaultValue, f) {
+ return arg == null ? defaultValue : f != null ? f(getValue(arg)) : getValue(arg);
+}
+function defaultArgWith(arg, defThunk) {
+ return arg == null ? defThunk() : getValue(arg);
+}
+function filter(predicate, arg) {
+ return arg != null ? !predicate(getValue(arg)) ? null : arg : arg;
+}
+
+/***/ }),
+/* 6 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return Language; });
+/* unused harmony export ID */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "o", function() { return Token; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "j", function() { return TFrmtedString; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return InlineElement; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "k", function() { return THeader; });
+/* unused harmony export Ttoc */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "n", function() { return TListType; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "l", function() { return TList; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "m", function() { return TListItem; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Alignment; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return Cell; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return Row; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return PCell; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return PRow; });
+/* unused harmony export RefFrmt */
+/* unused harmony export Ref */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return ParsedObj; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return OutFormat; });
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__ = __webpack_require__(1);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__ = __webpack_require__(2);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__ = __webpack_require__(0);
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+
+
+
+
+var Language = function () {
+ function Language(tag, data) {
+ _classCallCheck(this, Language);
+
+ this.tag = tag;
+ this.data = data;
+ }
+
+ _createClass(Language, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "Types.Language",
+ interfaces: ["FSharpUnion", "System.IEquatable", "System.IComparable"],
+ cases: [["Python"], ["FSharp"], ["CPP"], ["C"], ["Empty"]]
+ };
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(other) {
+ return this === other || this.tag === other.tag && Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["i" /* equals */])(this.data, other.data);
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["h" /* compareUnions */])(this, other) | 0;
+ }
+ }]);
+
+ return Language;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("Types.Language", Language);
+var ID = function () {
+ function ID(tag, data) {
+ _classCallCheck(this, ID);
+
+ this.tag = tag;
+ this.data = data;
+ }
+
+ _createClass(ID, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "Types.ID",
+ interfaces: ["FSharpUnion", "System.IEquatable", "System.IComparable"],
+ cases: [["FtID", "number"], ["RefID", "string"]]
+ };
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(other) {
+ return this === other || this.tag === other.tag && Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["i" /* equals */])(this.data, other.data);
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["h" /* compareUnions */])(this, other) | 0;
+ }
+ }]);
+
+ return ID;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("Types.ID", ID);
+var Token = function () {
+ function Token(tag, data) {
+ _classCallCheck(this, Token);
+
+ this.tag = tag;
+ this.data = data;
+ }
+
+ _createClass(Token, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "Types.Token",
+ interfaces: ["FSharpUnion", "System.IEquatable", "System.IComparable"],
+ cases: [["CODEBLOCK", "string", Language], ["LITERAL", "string"], ["WHITESPACE", "number"], ["NUMBER", "string"], ["HASH"], ["PIPE"], ["EQUAL"], ["MINUS"], ["PLUS"], ["ASTERISK"], ["DOT"], ["COMMA"], ["DASTERISK"], ["TASTERISK"], ["UNDERSCORE"], ["DUNDERSCORE"], ["TUNDERSCORE"], ["TILDE"], ["DTILDE"], ["TTILDE"], ["LSBRA"], ["RSBRA"], ["LBRA"], ["RBRA"], ["BSLASH"], ["SLASH"], ["LABRA"], ["RABRA"], ["LCBRA"], ["RCBRA"], ["BACKTICK"], ["EXCLAMATION"], ["ENDLINE"], ["COLON"], ["CARET"], ["PERCENT"], ["SEMICOLON"], ["HEADER", "number"], ["FOOTER", ID]]
+ };
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(other) {
+ return this === other || this.tag === other.tag && Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["i" /* equals */])(this.data, other.data);
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["h" /* compareUnions */])(this, other) | 0;
+ }
+ }]);
+
+ return Token;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("Types.Token", Token);
+var TFrmtedString = function () {
+ function TFrmtedString(tag, data) {
+ _classCallCheck(this, TFrmtedString);
+
+ this.tag = tag;
+ this.data = data;
+ }
+
+ _createClass(TFrmtedString, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "Types.TFrmtedString",
+ interfaces: ["FSharpUnion", "System.IEquatable", "System.IComparable"],
+ cases: [["Strong", Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["l" /* makeGeneric */])(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */], {
+ T: InlineElement
+ })], ["Emphasis", Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["l" /* makeGeneric */])(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */], {
+ T: InlineElement
+ })], ["Literal", "string"], ["Code", "string"]]
+ };
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(other) {
+ return this === other || this.tag === other.tag && Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["i" /* equals */])(this.data, other.data);
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["h" /* compareUnions */])(this, other) | 0;
+ }
+ }]);
+
+ return TFrmtedString;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("Types.TFrmtedString", TFrmtedString);
+var InlineElement = function () {
+ function InlineElement(tag, data) {
+ _classCallCheck(this, InlineElement);
+
+ this.tag = tag;
+ this.data = data;
+ }
+
+ _createClass(InlineElement, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "Types.InlineElement",
+ interfaces: ["FSharpUnion", "System.IEquatable", "System.IComparable"],
+ cases: [["FrmtedString", TFrmtedString], ["Link", TFrmtedString, "string"], ["Picture", "string", "string"]]
+ };
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(other) {
+ return this === other || this.tag === other.tag && Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["i" /* equals */])(this.data, other.data);
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["h" /* compareUnions */])(this, other) | 0;
+ }
+ }]);
+
+ return InlineElement;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("Types.InlineElement", InlineElement);
+var THeader = function () {
+ function THeader(headerName, level) {
+ _classCallCheck(this, THeader);
+
+ this.HeaderName = headerName;
+ this.Level = level | 0;
+ }
+
+ _createClass(THeader, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "Types.THeader",
+ interfaces: ["FSharpRecord", "System.IEquatable", "System.IComparable"],
+ properties: {
+ HeaderName: Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["l" /* makeGeneric */])(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */], {
+ T: InlineElement
+ }),
+ Level: "number"
+ }
+ };
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["j" /* equalsRecords */])(this, other);
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["g" /* compareRecords */])(this, other) | 0;
+ }
+ }]);
+
+ return THeader;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("Types.THeader", THeader);
+var Ttoc = function () {
+ function Ttoc(maxDepth, headerLst) {
+ _classCallCheck(this, Ttoc);
+
+ this.MaxDepth = maxDepth | 0;
+ this.HeaderLst = headerLst;
+ }
+
+ _createClass(Ttoc, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "Types.Ttoc",
+ interfaces: ["FSharpRecord", "System.IEquatable", "System.IComparable"],
+ properties: {
+ MaxDepth: "number",
+ HeaderLst: Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["l" /* makeGeneric */])(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */], {
+ T: THeader
+ })
+ }
+ };
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["j" /* equalsRecords */])(this, other);
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["g" /* compareRecords */])(this, other) | 0;
+ }
+ }]);
+
+ return Ttoc;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("Types.Ttoc", Ttoc);
+var TListType = function () {
+ function TListType(tag, data) {
+ _classCallCheck(this, TListType);
+
+ this.tag = tag;
+ this.data = data;
+ }
+
+ _createClass(TListType, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "Types.TListType",
+ interfaces: ["FSharpUnion", "System.IEquatable", "System.IComparable"],
+ cases: [["UL"], ["OL"]]
+ };
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(other) {
+ return this === other || this.tag === other.tag && Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["i" /* equals */])(this.data, other.data);
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["h" /* compareUnions */])(this, other) | 0;
+ }
+ }]);
+
+ return TListType;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("Types.TListType", TListType);
+var TList = function () {
+ function TList(listType, listItem, depth) {
+ _classCallCheck(this, TList);
+
+ this.ListType = listType;
+ this.ListItem = listItem;
+ this.Depth = depth | 0;
+ }
+
+ _createClass(TList, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "Types.TList",
+ interfaces: ["FSharpRecord", "System.IEquatable", "System.IComparable"],
+ properties: {
+ ListType: TListType,
+ ListItem: Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["l" /* makeGeneric */])(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */], {
+ T: TListItem
+ }),
+ Depth: "number"
+ }
+ };
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["j" /* equalsRecords */])(this, other);
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["g" /* compareRecords */])(this, other) | 0;
+ }
+ }]);
+
+ return TList;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("Types.TList", TList);
+var TListItem = function () {
+ function TListItem(tag, data) {
+ _classCallCheck(this, TListItem);
+
+ this.tag = tag;
+ this.data = data;
+ }
+
+ _createClass(TListItem, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "Types.TListItem",
+ interfaces: ["FSharpUnion", "System.IEquatable", "System.IComparable"],
+ cases: [["NestedList", TList], ["StringItem", Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["l" /* makeGeneric */])(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */], {
+ T: InlineElement
+ })]]
+ };
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(other) {
+ return this === other || this.tag === other.tag && Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["i" /* equals */])(this.data, other.data);
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["h" /* compareUnions */])(this, other) | 0;
+ }
+ }]);
+
+ return TListItem;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("Types.TListItem", TListItem);
+var Alignment = function () {
+ function Alignment(tag, data) {
+ _classCallCheck(this, Alignment);
+
+ this.tag = tag;
+ this.data = data;
+ }
+
+ _createClass(Alignment, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "Types.Alignment",
+ interfaces: ["FSharpUnion", "System.IEquatable", "System.IComparable"],
+ cases: [["Centre"], ["Right"], ["Left"], ["NoAlign"]]
+ };
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(other) {
+ return this === other || this.tag === other.tag && Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["i" /* equals */])(this.data, other.data);
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["h" /* compareUnions */])(this, other) | 0;
+ }
+ }]);
+
+ return Alignment;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("Types.Alignment", Alignment);
+var Cell = function () {
+ function Cell(tag, data) {
+ _classCallCheck(this, Cell);
+
+ this.tag = tag;
+ this.data = data;
+ }
+
+ _createClass(Cell, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "Types.Cell",
+ interfaces: ["FSharpUnion", "System.IEquatable", "System.IComparable"],
+ cases: [["Contents", Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["l" /* makeGeneric */])(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */], {
+ T: Token
+ }), "boolean", Alignment]]
+ };
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(other) {
+ return this === other || this.tag === other.tag && Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["i" /* equals */])(this.data, other.data);
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["h" /* compareUnions */])(this, other) | 0;
+ }
+ }, {
+ key: "ReplaceTokens",
+ value: function ReplaceTokens(t) {
+ return new Cell(0, [t, this.data[1], this.data[2]]);
+ }
+ }, {
+ key: "GetToks",
+ get: function get() {
+ return this.data[0];
+ }
+ }, {
+ key: "GetHead",
+ get: function get() {
+ return this.data[1];
+ }
+ }, {
+ key: "GetParams",
+ get: function get() {
+ return [this.data[0], this.data[1], this.data[2]];
+ }
+ }]);
+
+ return Cell;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("Types.Cell", Cell);
+var Row = function () {
+ function Row(tag, data) {
+ _classCallCheck(this, Row);
+
+ this.tag = tag;
+ this.data = data;
+ }
+
+ _createClass(Row, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "Types.Row",
+ interfaces: ["FSharpUnion", "System.IEquatable", "System.IComparable"],
+ cases: [["Cells", Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["l" /* makeGeneric */])(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */], {
+ T: Cell
+ }), "boolean"]]
+ };
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(other) {
+ return this === other || this.tag === other.tag && Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["i" /* equals */])(this.data, other.data);
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["h" /* compareUnions */])(this, other) | 0;
+ }
+ }]);
+
+ return Row;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("Types.Row", Row);
+var PCell = function () {
+ function PCell(tag, data) {
+ _classCallCheck(this, PCell);
+
+ this.tag = tag;
+ this.data = data;
+ }
+
+ _createClass(PCell, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "Types.PCell",
+ interfaces: ["FSharpUnion", "System.IEquatable", "System.IComparable"],
+ cases: [["CellLine", Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["l" /* makeGeneric */])(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */], {
+ T: InlineElement
+ }), "boolean", Alignment]]
+ };
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(other) {
+ return this === other || this.tag === other.tag && Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["i" /* equals */])(this.data, other.data);
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["h" /* compareUnions */])(this, other) | 0;
+ }
+ }]);
+
+ return PCell;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("Types.PCell", PCell);
+var PRow = function () {
+ function PRow(tag, data) {
+ _classCallCheck(this, PRow);
+
+ this.tag = tag;
+ this.data = data;
+ }
+
+ _createClass(PRow, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "Types.PRow",
+ interfaces: ["FSharpUnion", "System.IEquatable", "System.IComparable"],
+ cases: [["PCells", Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["l" /* makeGeneric */])(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */], {
+ T: PCell
+ }), "boolean"]]
+ };
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(other) {
+ return this === other || this.tag === other.tag && Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["i" /* equals */])(this.data, other.data);
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["h" /* compareUnions */])(this, other) | 0;
+ }
+ }]);
+
+ return PRow;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("Types.PRow", PRow);
+var RefFrmt = function () {
+ function RefFrmt(tag, data) {
+ _classCallCheck(this, RefFrmt);
+
+ this.tag = tag;
+ this.data = data;
+ }
+
+ _createClass(RefFrmt, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "Types.RefFrmt",
+ interfaces: ["FSharpUnion", "System.IEquatable", "System.IComparable"],
+ cases: [["IEEE"], ["Harvard"], ["Chicago"]]
+ };
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(other) {
+ return this === other || this.tag === other.tag && Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["i" /* equals */])(this.data, other.data);
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["h" /* compareUnions */])(this, other) | 0;
+ }
+ }]);
+
+ return RefFrmt;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("Types.RefFrmt", RefFrmt);
+var Ref = function () {
+ function Ref(author, title, year, uRL, access) {
+ _classCallCheck(this, Ref);
+
+ this.Author = author;
+ this.Title = title;
+ this.Year = year;
+ this.URL = uRL;
+ this.Access = access;
+ }
+
+ _createClass(Ref, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "Types.Ref",
+ interfaces: ["FSharpRecord", "System.IEquatable", "System.IComparable"],
+ properties: {
+ Author: Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["c" /* Option */])(Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["l" /* makeGeneric */])(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */], {
+ T: Token
+ })),
+ Title: Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["c" /* Option */])(Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["l" /* makeGeneric */])(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */], {
+ T: Token
+ })),
+ Year: Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["c" /* Option */])("number"),
+ URL: Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["c" /* Option */])("string"),
+ Access: Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["c" /* Option */])(Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["l" /* makeGeneric */])(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */], {
+ T: Token
+ }))
+ }
+ };
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["j" /* equalsRecords */])(this, other);
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["g" /* compareRecords */])(this, other) | 0;
+ }
+ }]);
+
+ return Ref;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("Types.Ref", Ref);
+var ParsedObj = function () {
+ function ParsedObj(tag, data) {
+ _classCallCheck(this, ParsedObj);
+
+ this.tag = tag;
+ this.data = data;
+ }
+
+ _createClass(ParsedObj, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "Types.ParsedObj",
+ interfaces: ["FSharpUnion", "System.IEquatable", "System.IComparable"],
+ cases: [["CodeBlock", "string", Language], ["Header", THeader], ["ContentTable", Ttoc], ["List", TList], ["Paragraph", Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["l" /* makeGeneric */])(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */], {
+ T: Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["l" /* makeGeneric */])(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */], {
+ T: InlineElement
+ })
+ })], ["Quote", Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["l" /* makeGeneric */])(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */], {
+ T: InlineElement
+ })], ["Table", Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["l" /* makeGeneric */])(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */], {
+ T: PRow
+ })], ["PreTable", Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["l" /* makeGeneric */])(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */], {
+ T: Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["l" /* makeGeneric */])(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */], {
+ T: Token
+ })
+ })], ["Footnote", ID, Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["l" /* makeGeneric */])(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */], {
+ T: InlineElement
+ })]]
+ };
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(other) {
+ return this === other || this.tag === other.tag && Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["i" /* equals */])(this.data, other.data);
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["h" /* compareUnions */])(this, other) | 0;
+ }
+ }]);
+
+ return ParsedObj;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("Types.ParsedObj", ParsedObj);
+var OutFormat = function () {
+ function OutFormat(tag, data) {
+ _classCallCheck(this, OutFormat);
+
+ this.tag = tag;
+ this.data = data;
+ }
+
+ _createClass(OutFormat, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "Types.OutFormat",
+ interfaces: ["FSharpUnion", "System.IEquatable", "System.IComparable"],
+ cases: [["HTML"], ["Markdown"]]
+ };
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(other) {
+ return this === other || this.tag === other.tag && Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["i" /* equals */])(this.data, other.data);
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["h" /* compareUnions */])(this, other) | 0;
+ }
+ }]);
+
+ return OutFormat;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("Types.OutFormat", OutFormat);
+
+/***/ }),
+/* 7 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export compare */
+/* unused harmony export compareTo */
+/* unused harmony export startsWith */
+/* unused harmony export indexOfAny */
+/* harmony export (immutable) */ __webpack_exports__["b"] = printf;
+/* harmony export (immutable) */ __webpack_exports__["e"] = toConsole;
+/* harmony export (immutable) */ __webpack_exports__["g"] = toText;
+/* harmony export (immutable) */ __webpack_exports__["f"] = toFail;
+/* unused harmony export fsFormat */
+/* unused harmony export format */
+/* unused harmony export endsWith */
+/* unused harmony export initialize */
+/* unused harmony export insert */
+/* unused harmony export isNullOrEmpty */
+/* unused harmony export isNullOrWhiteSpace */
+/* harmony export (immutable) */ __webpack_exports__["a"] = join;
+/* unused harmony export validateGuid */
+/* unused harmony export newGuid */
+/* unused harmony export guidToArray */
+/* unused harmony export arrayToGuid */
+/* unused harmony export toBase64String */
+/* unused harmony export fromBase64String */
+/* unused harmony export padLeft */
+/* unused harmony export padRight */
+/* unused harmony export remove */
+/* harmony export (immutable) */ __webpack_exports__["c"] = replace;
+/* harmony export (immutable) */ __webpack_exports__["d"] = replicate;
+/* unused harmony export getCharAtIndex */
+/* unused harmony export split */
+/* unused harmony export trim */
+/* unused harmony export filter */
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Date__ = __webpack_require__(15);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__RegExp__ = __webpack_require__(16);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Util__ = __webpack_require__(2);
+
+
+
+var fsFormatRegExp = /(^|[^%])%([0+ ]*)(-?\d+)?(?:\.(\d+))?(\w)/;
+var formatRegExp = /\{(\d+)(,-?\d+)?(?:\:(.+?))?\}/g;
+// From https://stackoverflow.com/a/13653180/3922220
+var guidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
+var StringComparison = {
+ CurrentCulture: 0,
+ CurrentCultureIgnoreCase: 1,
+ InvariantCulture: 2,
+ InvariantCultureIgnoreCase: 3,
+ Ordinal: 4,
+ OrdinalIgnoreCase: 5
+};
+function cmp(x, y, ic) {
+ function isIgnoreCase(i) {
+ return i === true || i === StringComparison.CurrentCultureIgnoreCase || i === StringComparison.InvariantCultureIgnoreCase || i === StringComparison.OrdinalIgnoreCase;
+ }
+ function isOrdinal(i) {
+ return i === StringComparison.Ordinal || i === StringComparison.OrdinalIgnoreCase;
+ }
+ if (x == null) {
+ return y == null ? 0 : -1;
+ }
+ if (y == null) {
+ return 1;
+ } // everything is bigger than null
+ if (isOrdinal(ic)) {
+ if (isIgnoreCase(ic)) {
+ x = x.toLowerCase();
+ y = y.toLowerCase();
+ }
+ return x === y ? 0 : x < y ? -1 : 1;
+ } else {
+ if (isIgnoreCase(ic)) {
+ x = x.toLocaleLowerCase();
+ y = y.toLocaleLowerCase();
+ }
+ return x.localeCompare(y);
+ }
+}
+function compare() {
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ switch (args.length) {
+ case 2:
+ return cmp(args[0], args[1], false);
+ case 3:
+ return cmp(args[0], args[1], args[2]);
+ case 4:
+ return cmp(args[0], args[1], args[2] === true);
+ case 5:
+ return cmp(args[0].substr(args[1], args[4]), args[2].substr(args[3], args[4]), false);
+ case 6:
+ return cmp(args[0].substr(args[1], args[4]), args[2].substr(args[3], args[4]), args[5]);
+ case 7:
+ return cmp(args[0].substr(args[1], args[4]), args[2].substr(args[3], args[4]), args[5] === true);
+ default:
+ throw new Error("String.compare: Unsupported number of parameters");
+ }
+}
+function compareTo(x, y) {
+ return cmp(x, y, false);
+}
+function startsWith(str, pattern, ic) {
+ if (str.length >= pattern.length) {
+ return cmp(str.substr(0, pattern.length), pattern, ic) === 0;
+ }
+ return false;
+}
+function indexOfAny(str, anyOf) {
+ if (str == null || str === "") {
+ return -1;
+ }
+ var startIndex = (arguments.length <= 2 ? 0 : arguments.length - 2) > 0 ? arguments.length <= 2 ? undefined : arguments[2] : 0;
+ if (startIndex < 0) {
+ throw new Error("String.indexOfAny: Start index cannot be negative");
+ }
+ var length = (arguments.length <= 2 ? 0 : arguments.length - 2) > 1 ? arguments.length <= 3 ? undefined : arguments[3] : str.length - startIndex;
+ if (length < 0) {
+ throw new Error("String.indexOfAny: Length cannot be negative");
+ }
+ if (length > str.length - startIndex) {
+ throw new Error("String.indexOfAny: Invalid startIndex and length");
+ }
+ str = str.substr(startIndex, length);
+ var _iteratorNormalCompletion = true;
+ var _didIteratorError = false;
+ var _iteratorError = undefined;
+
+ try {
+ for (var _iterator = anyOf[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
+ var c = _step.value;
+
+ var index = str.indexOf(c);
+ if (index > -1) {
+ return index + startIndex;
+ }
+ }
+ } catch (err) {
+ _didIteratorError = true;
+ _iteratorError = err;
+ } finally {
+ try {
+ if (!_iteratorNormalCompletion && _iterator.return) {
+ _iterator.return();
+ }
+ } finally {
+ if (_didIteratorError) {
+ throw _iteratorError;
+ }
+ }
+ }
+
+ return -1;
+}
+function toHex(value) {
+ return value < 0 ? "ff" + (16777215 - (Math.abs(value) - 1)).toString(16) : value.toString(16);
+}
+function printf(input) {
+ return {
+ input: input,
+ cont: fsFormat(input)
+ };
+}
+function toConsole(arg) {
+ return arg.cont(function (x) {
+ console.log(x);
+ });
+}
+function toText(arg) {
+ return arg.cont(function (x) {
+ return x;
+ });
+}
+function toFail(arg) {
+ return arg.cont(function (x) {
+ throw new Error(x);
+ });
+}
+function formatOnce(str2, rep) {
+ return str2.replace(fsFormatRegExp, function (_, prefix, flags, pad, precision, format) {
+ switch (format) {
+ case "f":
+ case "F":
+ rep = rep.toFixed(precision || 6);
+ break;
+ case "g":
+ case "G":
+ rep = rep.toPrecision(precision);
+ break;
+ case "e":
+ case "E":
+ rep = rep.toExponential(precision);
+ break;
+ case "O":
+ rep = Object(__WEBPACK_IMPORTED_MODULE_2__Util__["m" /* toString */])(rep);
+ break;
+ case "A":
+ rep = Object(__WEBPACK_IMPORTED_MODULE_2__Util__["m" /* toString */])(rep, true);
+ break;
+ case "x":
+ rep = toHex(Number(rep));
+ break;
+ case "X":
+ rep = toHex(Number(rep)).toUpperCase();
+ break;
+ }
+ var plusPrefix = flags.indexOf("+") >= 0 && parseInt(rep, 10) >= 0;
+ pad = parseInt(pad, 10);
+ if (!isNaN(pad)) {
+ var ch = pad >= 0 && flags.indexOf("0") >= 0 ? "0" : " ";
+ rep = padLeft(rep, Math.abs(pad) - (plusPrefix ? 1 : 0), ch, pad < 0);
+ }
+ var once = prefix + (plusPrefix ? "+" + rep : rep);
+ return once.replace(/%/g, "%%");
+ });
+}
+function createPrinter(str, cont) {
+ var printer = function printer() {
+ for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
+ args[_key2] = arguments[_key2];
+ }
+
+ // Make a copy as the function may be used several times
+ var strCopy = str;
+ var _iteratorNormalCompletion2 = true;
+ var _didIteratorError2 = false;
+ var _iteratorError2 = undefined;
+
+ try {
+ for (var _iterator2 = args[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
+ var arg = _step2.value;
+
+ strCopy = formatOnce(strCopy, arg);
+ }
+ } catch (err) {
+ _didIteratorError2 = true;
+ _iteratorError2 = err;
+ } finally {
+ try {
+ if (!_iteratorNormalCompletion2 && _iterator2.return) {
+ _iterator2.return();
+ }
+ } finally {
+ if (_didIteratorError2) {
+ throw _iteratorError2;
+ }
+ }
+ }
+
+ return fsFormatRegExp.test(strCopy) ? createPrinter(strCopy, cont) : cont(strCopy.replace(/%%/g, "%"));
+ };
+ // Mark it as curried so it doesn't
+ // get wrapped by CurriedLambda
+ printer.curried = true;
+ return printer;
+}
+function fsFormat(str) {
+ return function (cont) {
+ return fsFormatRegExp.test(str) ? createPrinter(str, cont) : cont(str);
+ };
+}
+function format(str) {
+ for (var _len3 = arguments.length, args = Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
+ args[_key3 - 1] = arguments[_key3];
+ }
+
+ return str.replace(formatRegExp, function (match, idx, pad, pattern) {
+ var rep = args[idx];
+ var padSymbol = " ";
+ if (typeof rep === "number") {
+ switch ((pattern || "").substring(0, 1)) {
+ case "f":
+ case "F":
+ rep = pattern.length > 1 ? rep.toFixed(pattern.substring(1)) : rep.toFixed(2);
+ break;
+ case "g":
+ case "G":
+ rep = pattern.length > 1 ? rep.toPrecision(pattern.substring(1)) : rep.toPrecision();
+ break;
+ case "e":
+ case "E":
+ rep = pattern.length > 1 ? rep.toExponential(pattern.substring(1)) : rep.toExponential();
+ break;
+ case "p":
+ case "P":
+ rep = (pattern.length > 1 ? (rep * 100).toFixed(pattern.substring(1)) : (rep * 100).toFixed(2)) + " %";
+ break;
+ case "x":
+ rep = toHex(Number(rep));
+ break;
+ case "X":
+ rep = toHex(Number(rep)).toUpperCase();
+ break;
+ default:
+ var m = /^(0+)(\.0+)?$/.exec(pattern);
+ if (m != null) {
+ var decs = 0;
+ if (m[2] != null) {
+ rep = rep.toFixed(decs = m[2].length - 1);
+ }
+ pad = "," + (m[1].length + (decs ? decs + 1 : 0)).toString();
+ padSymbol = "0";
+ } else if (pattern) {
+ rep = pattern;
+ }
+ }
+ } else if (typeof rep.ToString === "function") {
+ rep = rep.ToString(pattern);
+ } else if (rep instanceof Date) {
+ rep = Object(__WEBPACK_IMPORTED_MODULE_0__Date__["c" /* toString */])(rep, pattern);
+ }
+ pad = parseInt((pad || "").substring(1), 10);
+ if (!isNaN(pad)) {
+ rep = padLeft(rep, Math.abs(pad), padSymbol, pad < 0);
+ }
+ return rep;
+ });
+}
+function endsWith(str, search) {
+ var idx = str.lastIndexOf(search);
+ return idx >= 0 && idx === str.length - search.length;
+}
+function initialize(n, f) {
+ if (n < 0) {
+ throw new Error("String length must be non-negative");
+ }
+ var xs = new Array(n);
+ for (var i = 0; i < n; i++) {
+ xs[i] = f(i);
+ }
+ return xs.join("");
+}
+function insert(str, startIndex, value) {
+ if (startIndex < 0 || startIndex > str.length) {
+ throw new Error("startIndex is negative or greater than the length of this instance.");
+ }
+ return str.substring(0, startIndex) + value + str.substring(startIndex);
+}
+function isNullOrEmpty(str) {
+ return typeof str !== "string" || str.length === 0;
+}
+function isNullOrWhiteSpace(str) {
+ return typeof str !== "string" || /^\s*$/.test(str);
+}
+function join(delimiter, xs) {
+ var xs2 = typeof xs === "string" ? [xs] : xs;
+ var len = arguments.length;
+ if (len > 2) {
+ xs2 = Array(len - 1);
+ for (var key = 1; key < len; key++) {
+ xs2[key - 1] = arguments[key];
+ }
+ } else if (!Array.isArray(xs2)) {
+ xs2 = Array.from(xs2);
+ }
+ return xs2.map(function (x) {
+ return Object(__WEBPACK_IMPORTED_MODULE_2__Util__["m" /* toString */])(x);
+ }).join(delimiter);
+}
+/** Validates UUID as specified in RFC4122 (versions 1-5). Trims braces. */
+function validateGuid(str, doNotThrow) {
+ var trimmed = trim(str, "both", "{", "}");
+ if (guidRegex.test(trimmed)) {
+ return doNotThrow ? [true, trimmed] : trimmed;
+ } else if (doNotThrow) {
+ return [false, "00000000-0000-0000-0000-000000000000"];
+ }
+ throw new Error("Guid should contain 32 digits with 4 dashes: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx");
+}
+/* tslint:disable */
+// From https://gist.github.com/LeverOne/1308368
+function newGuid() {
+ var b = "";
+ for (var a = 0; a++ < 36; b += a * 51 & 52 ? (a ^ 15 ? 8 ^ Math.random() * (a ^ 20 ? 16 : 4) : 4).toString(16) : "-") {}
+ return b;
+}
+// Maps for number <-> hex string conversion
+var _convertMapsInitialized = false;
+var _byteToHex = void 0;
+var _hexToByte = void 0;
+function initConvertMaps() {
+ _byteToHex = new Array(256);
+ _hexToByte = {};
+ for (var i = 0; i < 256; i++) {
+ _byteToHex[i] = (i + 0x100).toString(16).substr(1);
+ _hexToByte[_byteToHex[i]] = i;
+ }
+ _convertMapsInitialized = true;
+}
+/** Parse a UUID into it's component bytes */
+// Adapted from https://github.com/zefferus/uuid-parse
+function guidToArray(s) {
+ if (!_convertMapsInitialized) {
+ initConvertMaps();
+ }
+ var i = 0;
+ var buf = new Uint8Array(16);
+ s.toLowerCase().replace(/[0-9a-f]{2}/g, function (oct) {
+ switch (i) {
+ // .NET saves first three byte groups with differten endianness
+ // See https://stackoverflow.com/a/16722909/3922220
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ buf[3 - i++] = _hexToByte[oct];
+ break;
+ case 4:
+ case 5:
+ buf[9 - i++] = _hexToByte[oct];
+ break;
+ case 6:
+ case 7:
+ buf[13 - i++] = _hexToByte[oct];
+ break;
+ case 8:
+ case 9:
+ case 10:
+ case 11:
+ case 12:
+ case 13:
+ case 14:
+ case 15:
+ buf[i++] = _hexToByte[oct];
+ break;
+ }
+ });
+ // Zero out remaining bytes if string was short
+ while (i < 16) {
+ buf[i++] = 0;
+ }
+ return buf;
+}
+/** Convert UUID byte array into a string */
+function arrayToGuid(buf) {
+ if (buf.length !== 16) {
+ throw new Error("Byte array for GUID must be exactly 16 bytes long");
+ }
+ if (!_convertMapsInitialized) {
+ initConvertMaps();
+ }
+ return _byteToHex[buf[3]] + _byteToHex[buf[2]] + _byteToHex[buf[1]] + _byteToHex[buf[0]] + "-" + _byteToHex[buf[5]] + _byteToHex[buf[4]] + "-" + _byteToHex[buf[7]] + _byteToHex[buf[6]] + "-" + _byteToHex[buf[8]] + _byteToHex[buf[9]] + "-" + _byteToHex[buf[10]] + _byteToHex[buf[11]] + _byteToHex[buf[12]] + _byteToHex[buf[13]] + _byteToHex[buf[14]] + _byteToHex[buf[15]];
+}
+/* tslint:enable */
+function notSupported(name) {
+ throw new Error("The environment doesn't support '" + name + "', please use a polyfill.");
+}
+function toBase64String(inArray) {
+ var str = "";
+ for (var i = 0; i < inArray.length; i++) {
+ str += String.fromCharCode(inArray[i]);
+ }
+ return typeof btoa === "function" ? btoa(str) : notSupported("btoa");
+}
+function fromBase64String(b64Encoded) {
+ var binary = typeof atob === "function" ? atob(b64Encoded) : notSupported("atob");
+ var bytes = new Uint8Array(binary.length);
+ for (var i = 0; i < binary.length; i++) {
+ bytes[i] = binary.charCodeAt(i);
+ }
+ return bytes;
+}
+function padLeft(str, len, ch, isRight) {
+ ch = ch || " ";
+ str = String(str);
+ len = len - str.length;
+ for (var i = 0; i < len; i++) {
+ str = isRight ? str + ch : ch + str;
+ }
+ return str;
+}
+function padRight(str, len, ch) {
+ return padLeft(str, len, ch, true);
+}
+function remove(str, startIndex, count) {
+ if (startIndex >= str.length) {
+ throw new Error("startIndex must be less than length of string");
+ }
+ if (typeof count === "number" && startIndex + count > str.length) {
+ throw new Error("Index and count must refer to a location within the string.");
+ }
+ return str.slice(0, startIndex) + (typeof count === "number" ? str.substr(startIndex + count) : "");
+}
+function replace(str, search, replace) {
+ return str.replace(new RegExp(Object(__WEBPACK_IMPORTED_MODULE_1__RegExp__["b" /* escape */])(search), "g"), replace);
+}
+function replicate(n, x) {
+ return initialize(n, function () {
+ return x;
+ });
+}
+function getCharAtIndex(input, index) {
+ if (index < 0 || index > input.length) {
+ throw new Error("System.IndexOutOfRangeException: Index was outside the bounds of the array.");
+ }
+ return input[index];
+}
+function split(str, splitters, count, removeEmpty) {
+ count = typeof count === "number" ? count : null;
+ removeEmpty = typeof removeEmpty === "number" ? removeEmpty : null;
+ if (count < 0) {
+ throw new Error("Count cannot be less than zero");
+ }
+ if (count === 0) {
+ return [];
+ }
+ var splitters2 = splitters;
+ if (!Array.isArray(splitters)) {
+ var len = arguments.length;
+ splitters2 = Array(len - 1);
+ for (var key = 1; key < len; key++) {
+ splitters2[key - 1] = arguments[key];
+ }
+ }
+ splitters2 = splitters2.map(function (x) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__RegExp__["b" /* escape */])(x);
+ });
+ splitters2 = splitters2.length > 0 ? splitters2 : [" "];
+ var i = 0;
+ var splits = [];
+ var reg = new RegExp(splitters2.join("|"), "g");
+ while (count == null || count > 1) {
+ var m = reg.exec(str);
+ if (m === null) {
+ break;
+ }
+ if (!removeEmpty || m.index - i > 0) {
+ count = count != null ? count - 1 : count;
+ splits.push(str.substring(i, m.index));
+ }
+ i = reg.lastIndex;
+ }
+ if (!removeEmpty || str.length - i > 0) {
+ splits.push(str.substring(i));
+ }
+ return splits;
+}
+function trim(str, side) {
+ for (var _len4 = arguments.length, chars = Array(_len4 > 2 ? _len4 - 2 : 0), _key4 = 2; _key4 < _len4; _key4++) {
+ chars[_key4 - 2] = arguments[_key4];
+ }
+
+ if (side === "both" && chars.length === 0) {
+ return str.trim();
+ }
+ if (side === "start" || side === "both") {
+ var reg = chars.length === 0 ? /^\s+/ : new RegExp("^[" + Object(__WEBPACK_IMPORTED_MODULE_1__RegExp__["b" /* escape */])(chars.join("")) + "]+");
+ str = str.replace(reg, "");
+ }
+ if (side === "end" || side === "both") {
+ var _reg = chars.length === 0 ? /\s+$/ : new RegExp("[" + Object(__WEBPACK_IMPORTED_MODULE_1__RegExp__["b" /* escape */])(chars.join("")) + "]+$");
+ str = str.replace(_reg, "");
+ }
+ return str;
+}
+function filter(pred, x) {
+ return x.split("").filter(pred).join("");
+}
+
+/***/ }),
+/* 8 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (immutable) */ __webpack_exports__["b"] = invTuple;
+/* harmony export (immutable) */ __webpack_exports__["f"] = mapTryFind;
+/* harmony export (immutable) */ __webpack_exports__["c"] = listTryFind;
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return charList; });
+/* unused harmony export charMap */
+/* unused harmony export $7C$CharTok$7C$_$7C$ */
+/* harmony export (immutable) */ __webpack_exports__["e"] = mapTok;
+/* harmony export (immutable) */ __webpack_exports__["d"] = mapLang;
+/* harmony export (immutable) */ __webpack_exports__["i"] = xOnwards;
+/* harmony export (immutable) */ __webpack_exports__["g"] = sOnwards;
+/* unused harmony export removeChars */
+/* unused harmony export removeWhitespace */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return sharedLog; });
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Map__ = __webpack_require__(10);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__ = __webpack_require__(4);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__ = __webpack_require__(0);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Comparer__ = __webpack_require__(11);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Util__ = __webpack_require__(2);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__Types_fs__ = __webpack_require__(6);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_Option__ = __webpack_require__(5);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_String__ = __webpack_require__(7);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Seq__ = __webpack_require__(3);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__Logger_Logger_fs__ = __webpack_require__(14);
+
+
+
+
+
+
+
+
+
+
+
+function invTuple(a, b) {
+ return [b, a];
+}
+function mapTryFind(k, map) {
+ return Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Map__["d" /* tryFind */])(k, map);
+}
+function listTryFind(s) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function ($var2) {
+ return function (map) {
+ return mapTryFind(s, map);
+ }(function ($var1) {
+ return Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Map__["b" /* create */])(Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["e" /* map */])(function (tupledArg) {
+ return invTuple(tupledArg[0], tupledArg[1]);
+ }, $var1), new __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Comparer__["a" /* default */](__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Util__["e" /* compare */]));
+ }($var2));
+ });
+}
+var charList = Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([["#", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](4)], ["|", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](5)], ["=", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](6)], ["-", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](7)], ["+", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](8)], ["*", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](9)], [".", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](10)], ["**", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](12)], ["***", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](13)], ["_", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](14)], ["__", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](15)], ["___", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](16)], ["~", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](17)], ["~~", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](18)], ["~~~", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](19)], ["[", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](20)], ["]", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](21)], ["(", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](22)], [")", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](23)], ["\\", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](24)], ["/", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](25)], ["<", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](26)], [">", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](27)], ["{", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](28)], ["}", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](29)], ["`", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](30)], ["!", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](31)], [":", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](33)], ["^", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](34)], ["%", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](35)], [",", new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](11)]]);
+var charMap = Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Map__["b" /* create */])(Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["e" /* map */])(function (tupledArg) {
+ return invTuple(tupledArg[0], tupledArg[1]);
+}, charList), new __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Comparer__["a" /* default */](function (x, y) {
+ return x.CompareTo(y);
+}));
+
+function _CharTok___(tok) {
+ return mapTryFind(tok, charMap);
+}
+
+
+function mapTok(_arg1) {
+ var activePatternResult469 = _CharTok___(_arg1);
+
+ if (activePatternResult469 != null) {
+ return Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult469);
+ } else {
+ switch (_arg1.tag) {
+ case 0:
+ return "CODEBLOCK";
+
+ case 38:
+ return Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("FOOTER found"));
+
+ case 37:
+ return Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("HEADER %d"))(_arg1.data);
+
+ case 3:
+ return _arg1.data;
+
+ case 1:
+ return _arg1.data;
+
+ case 2:
+ return Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_String__["d" /* replicate */])(_arg1.data, " ");
+
+ default:
+ return "\n";
+ }
+ }
+}
+function mapLang(lang) {
+ switch (lang.tag) {
+ case 1:
+ return "fsharp";
+
+ case 2:
+ return "cpp";
+
+ case 3:
+ return "c";
+
+ case 4:
+ return "";
+
+ default:
+ return "python";
+ }
+}
+function xOnwards(x, lst) {
+ if (lst.length > x) {
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["i" /* slice */])(x, null, lst);
+ } else {
+ return new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */]();
+ }
+}
+function sOnwards(s, str) {
+ if (str.length > s) {
+ return str.slice(s, str.length);
+ } else {
+ return "";
+ }
+}
+function removeChars(lst, s) {
+ var folder = function folder(s_1, x) {
+ return Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_String__["c" /* replace */])(s_1, x, "");
+ };
+
+ return Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(folder, s, lst);
+}
+function removeWhitespace(s) {
+ return removeChars(Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])(["\n", "\t", "\r", " "]), s);
+}
+var sharedLog = new __WEBPACK_IMPORTED_MODULE_9__Logger_Logger_fs__["a" /* Logger */](2);
+
+/***/ }),
+/* 9 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (immutable) */ __webpack_exports__["c"] = map;
+/* unused harmony export mapError */
+/* harmony export (immutable) */ __webpack_exports__["a"] = bind;
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Symbol__ = __webpack_require__(1);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Util__ = __webpack_require__(2);
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+
+
+
+
+var Result = function () {
+ function Result(tag, data) {
+ _classCallCheck(this, Result);
+
+ this.tag = tag | 0;
+ this.data = data;
+ }
+
+ _createClass(Result, [{
+ key: "Equals",
+ value: function Equals(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__Util__["k" /* equalsUnions */])(this, other);
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__Util__["h" /* compareUnions */])(this, other);
+ }
+ }, {
+ key: __WEBPACK_IMPORTED_MODULE_0__Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "Microsoft.FSharp.Core.FSharpResult",
+ interfaces: ["FSharpUnion", "System.IEquatable", "System.IComparable"],
+ cases: [["Ok", __WEBPACK_IMPORTED_MODULE_1__Util__["a" /* Any */]], ["Error", __WEBPACK_IMPORTED_MODULE_1__Util__["a" /* Any */]]]
+ };
+ }
+ }]);
+
+ return Result;
+}();
+
+/* harmony default export */ __webpack_exports__["b"] = (Result);
+
+function map(f, result) {
+ return result.tag === 0 ? new Result(0, f(result.data)) : result;
+}
+function mapError(f, result) {
+ return result.tag === 1 ? new Result(1, f(result.data)) : result;
+}
+function bind(f, result) {
+ return result.tag === 0 ? f(result.data) : result;
+}
+
+/***/ }),
+/* 10 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (immutable) */ __webpack_exports__["c"] = groupBy;
+/* unused harmony export countBy */
+/* unused harmony export MapTree */
+/* harmony export (immutable) */ __webpack_exports__["b"] = create;
+/* harmony export (immutable) */ __webpack_exports__["a"] = add;
+/* unused harmony export remove */
+/* unused harmony export containsValue */
+/* unused harmony export tryGetValue */
+/* unused harmony export exists */
+/* unused harmony export find */
+/* harmony export (immutable) */ __webpack_exports__["d"] = tryFind;
+/* unused harmony export filter */
+/* unused harmony export fold */
+/* unused harmony export foldBack */
+/* unused harmony export forAll */
+/* unused harmony export isEmpty */
+/* unused harmony export iterate */
+/* unused harmony export map */
+/* unused harmony export partition */
+/* unused harmony export findKey */
+/* unused harmony export tryFindKey */
+/* unused harmony export pick */
+/* unused harmony export tryPick */
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Comparer__ = __webpack_require__(11);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ListClass__ = __webpack_require__(12);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Option__ = __webpack_require__(5);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Seq__ = __webpack_require__(3);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Symbol__ = __webpack_require__(1);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__Util__ = __webpack_require__(2);
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+// ----------------------------------------------
+// These functions belong to Seq.ts but are
+// implemented here to prevent cyclic dependencies
+function groupBy(f, xs) {
+ var keys = [];
+ var iter = xs[Symbol.iterator]();
+ var acc = create();
+ var cur = iter.next();
+ while (!cur.done) {
+ var k = f(cur.value);
+ var vs = tryFind(k, acc);
+ if (vs == null) {
+ keys.push(k);
+ acc = add(k, [cur.value], acc);
+ } else {
+ Object(__WEBPACK_IMPORTED_MODULE_2__Option__["c" /* getValue */])(vs).push(cur.value);
+ }
+ cur = iter.next();
+ }
+ return keys.map(function (k) {
+ return [k, acc.get(k)];
+ });
+}
+function countBy(f, xs) {
+ return groupBy(f, xs).map(function (kv) {
+ return [kv[0], kv[1].length];
+ });
+}
+var MapTree = function MapTree(tag, data) {
+ _classCallCheck(this, MapTree);
+
+ this.tag = tag | 0;
+ this.data = data;
+};
+function tree_sizeAux(acc, m) {
+ sizeAux: while (true) {
+ if (m.tag === 1) {
+ return acc + 1 | 0;
+ } else if (m.tag === 2) {
+ acc = tree_sizeAux(acc + 1, m.data[2]);
+ m = m.data[3];
+ continue sizeAux;
+ } else {
+ return acc | 0;
+ }
+ }
+}
+function tree_size(x) {
+ return tree_sizeAux(0, x);
+}
+function tree_empty() {
+ return new MapTree(0);
+}
+function tree_height(_arg1) {
+ return _arg1.tag === 1 ? 1 : _arg1.tag === 2 ? _arg1.data[4] : 0;
+}
+function tree_isEmpty(m) {
+ return m.tag === 0 ? true : false;
+}
+function tree_mk(l, k, v, r) {
+ var matchValue = l.tag === 0 ? r.tag === 0 ? 0 : 1 : 1;
+ switch (matchValue) {
+ case 0:
+ return new MapTree(1, [k, v]);
+ case 1:
+ var hl = tree_height(l) | 0;
+ var hr = tree_height(r) | 0;
+ var m = (hl < hr ? hr : hl) | 0;
+ return new MapTree(2, [k, v, l, r, m + 1]);
+ }
+ throw new Error("internal error: Map.tree_mk");
+}
+function tree_rebalance(t1, k, v, t2) {
+ var t1h = tree_height(t1);
+ var t2h = tree_height(t2);
+ if (t2h > t1h + 2) {
+ if (t2.tag === 2) {
+ if (tree_height(t2.data[2]) > t1h + 1) {
+ if (t2.data[2].tag === 2) {
+ return tree_mk(tree_mk(t1, k, v, t2.data[2].data[2]), t2.data[2].data[0], t2.data[2].data[1], tree_mk(t2.data[2].data[3], t2.data[0], t2.data[1], t2.data[3]));
+ } else {
+ throw new Error("rebalance");
+ }
+ } else {
+ return tree_mk(tree_mk(t1, k, v, t2.data[2]), t2.data[0], t2.data[1], t2.data[3]);
+ }
+ } else {
+ throw new Error("rebalance");
+ }
+ } else {
+ if (t1h > t2h + 2) {
+ if (t1.tag === 2) {
+ if (tree_height(t1.data[3]) > t2h + 1) {
+ if (t1.data[3].tag === 2) {
+ return tree_mk(tree_mk(t1.data[2], t1.data[0], t1.data[1], t1.data[3].data[2]), t1.data[3].data[0], t1.data[3].data[1], tree_mk(t1.data[3].data[3], k, v, t2));
+ } else {
+ throw new Error("rebalance");
+ }
+ } else {
+ return tree_mk(t1.data[2], t1.data[0], t1.data[1], tree_mk(t1.data[3], k, v, t2));
+ }
+ } else {
+ throw new Error("rebalance");
+ }
+ } else {
+ return tree_mk(t1, k, v, t2);
+ }
+ }
+}
+function tree_add(comparer, k, v, m) {
+ if (m.tag === 1) {
+ var c = comparer.Compare(k, m.data[0]);
+ if (c < 0) {
+ return new MapTree(2, [k, v, new MapTree(0), m, 2]);
+ } else if (c === 0) {
+ return new MapTree(1, [k, v]);
+ }
+ return new MapTree(2, [k, v, m, new MapTree(0), 2]);
+ } else if (m.tag === 2) {
+ var _c = comparer.Compare(k, m.data[0]);
+ if (_c < 0) {
+ return tree_rebalance(tree_add(comparer, k, v, m.data[2]), m.data[0], m.data[1], m.data[3]);
+ } else if (_c === 0) {
+ return new MapTree(2, [k, v, m.data[2], m.data[3], m.data[4]]);
+ }
+ return tree_rebalance(m.data[2], m.data[0], m.data[1], tree_add(comparer, k, v, m.data[3]));
+ }
+ return new MapTree(1, [k, v]);
+}
+function tree_find(comparer, k, m) {
+ var res = tree_tryFind(comparer, k, m);
+ if (res == null) {
+ throw new Error("key not found: " + k);
+ }
+ return Object(__WEBPACK_IMPORTED_MODULE_2__Option__["c" /* getValue */])(res);
+}
+function tree_tryFind(comparer, k, m) {
+ tryFind: while (true) {
+ if (m.tag === 1) {
+ var c = comparer.Compare(k, m.data[0]) | 0;
+ if (c === 0) {
+ return new __WEBPACK_IMPORTED_MODULE_2__Option__["a" /* Some */](m.data[1]);
+ } else {
+ return null;
+ }
+ } else if (m.tag === 2) {
+ var c_1 = comparer.Compare(k, m.data[0]) | 0;
+ if (c_1 < 0) {
+ comparer = comparer;
+ k = k;
+ m = m.data[2];
+ continue tryFind;
+ } else if (c_1 === 0) {
+ return new __WEBPACK_IMPORTED_MODULE_2__Option__["a" /* Some */](m.data[1]);
+ } else {
+ comparer = comparer;
+ k = k;
+ m = m.data[3];
+ continue tryFind;
+ }
+ } else {
+ return null;
+ }
+ }
+}
+function tree_partition1(comparer, f, k, v, acc1, acc2) {
+ return f(k, v) ? [tree_add(comparer, k, v, acc1), acc2] : [acc1, tree_add(comparer, k, v, acc2)];
+}
+function tree_partitionAux(comparer, f, s, acc_0, acc_1) {
+ var acc = [acc_0, acc_1];
+ if (s.tag === 1) {
+ return tree_partition1(comparer, f, s.data[0], s.data[1], acc[0], acc[1]);
+ } else if (s.tag === 2) {
+ var acc_2 = tree_partitionAux(comparer, f, s.data[3], acc[0], acc[1]);
+ var acc_3 = tree_partition1(comparer, f, s.data[0], s.data[1], acc_2[0], acc_2[1]);
+ return tree_partitionAux(comparer, f, s.data[2], acc_3[0], acc_3[1]);
+ }
+ return acc;
+}
+function tree_partition(comparer, f, s) {
+ return tree_partitionAux(comparer, f, s, tree_empty(), tree_empty());
+}
+function tree_filter1(comparer, f, k, v, acc) {
+ return f(k, v) ? tree_add(comparer, k, v, acc) : acc;
+}
+function tree_filterAux(comparer, f, s, acc) {
+ return s.tag === 1 ? tree_filter1(comparer, f, s.data[0], s.data[1], acc) : s.tag === 2 ? tree_filterAux(comparer, f, s.data[3], tree_filter1(comparer, f, s.data[0], s.data[1], tree_filterAux(comparer, f, s.data[2], acc))) : acc;
+}
+function tree_filter(comparer, f, s) {
+ return tree_filterAux(comparer, f, s, tree_empty());
+}
+function tree_spliceOutSuccessor(m) {
+ if (m.tag === 1) {
+ return [m.data[0], m.data[1], new MapTree(0)];
+ } else if (m.tag === 2) {
+ if (m.data[2].tag === 0) {
+ return [m.data[0], m.data[1], m.data[3]];
+ } else {
+ var kvl = tree_spliceOutSuccessor(m.data[2]);
+ return [kvl[0], kvl[1], tree_mk(kvl[2], m.data[0], m.data[1], m.data[3])];
+ }
+ }
+ throw new Error("internal error: Map.spliceOutSuccessor");
+}
+function tree_remove(comparer, k, m) {
+ if (m.tag === 1) {
+ var c = comparer.Compare(k, m.data[0]);
+ if (c === 0) {
+ return new MapTree(0);
+ } else {
+ return m;
+ }
+ } else if (m.tag === 2) {
+ var _c2 = comparer.Compare(k, m.data[0]);
+ if (_c2 < 0) {
+ return tree_rebalance(tree_remove(comparer, k, m.data[2]), m.data[0], m.data[1], m.data[3]);
+ } else if (_c2 === 0) {
+ if (m.data[2].tag === 0) {
+ return m.data[3];
+ } else {
+ if (m.data[3].tag === 0) {
+ return m.data[2];
+ } else {
+ var input = tree_spliceOutSuccessor(m.data[3]);
+ return tree_mk(m.data[2], input[0], input[1], input[2]);
+ }
+ }
+ } else {
+ return tree_rebalance(m.data[2], m.data[0], m.data[1], tree_remove(comparer, k, m.data[3]));
+ }
+ } else {
+ return tree_empty();
+ }
+}
+function tree_mem(comparer, k, m) {
+ mem: while (true) {
+ if (m.tag === 1) {
+ return comparer.Compare(k, m.data[0]) === 0;
+ } else if (m.tag === 2) {
+ var c = comparer.Compare(k, m.data[0]) | 0;
+ if (c < 0) {
+ comparer = comparer;
+ k = k;
+ m = m.data[2];
+ continue mem;
+ } else if (c === 0) {
+ return true;
+ } else {
+ comparer = comparer;
+ k = k;
+ m = m.data[3];
+ continue mem;
+ }
+ } else {
+ return false;
+ }
+ }
+}
+function tree_iter(f, m) {
+ if (m.tag === 1) {
+ f(m.data[0], m.data[1]);
+ } else if (m.tag === 2) {
+ tree_iter(f, m.data[2]);
+ f(m.data[0], m.data[1]);
+ tree_iter(f, m.data[3]);
+ }
+}
+function tree_tryPick(f, m) {
+ if (m.tag === 1) {
+ return f(m.data[0], m.data[1]);
+ } else if (m.tag === 2) {
+ var matchValue = tree_tryPick(f, m.data[2]);
+ if (matchValue == null) {
+ var matchValue_1 = f(m.data[0], m.data[1]);
+ if (matchValue_1 == null) {
+ return tree_tryPick(f, m.data[3]);
+ } else {
+ var res = matchValue_1;
+ return res;
+ }
+ } else {
+ return matchValue;
+ }
+ } else {
+ return null;
+ }
+}
+function tree_exists(f, m) {
+ return m.tag === 1 ? f(m.data[0], m.data[1]) : m.tag === 2 ? (tree_exists(f, m.data[2]) ? true : f(m.data[0], m.data[1])) ? true : tree_exists(f, m.data[3]) : false;
+}
+function tree_forall(f, m) {
+ return m.tag === 1 ? f(m.data[0], m.data[1]) : m.tag === 2 ? (tree_forall(f, m.data[2]) ? f(m.data[0], m.data[1]) : false) ? tree_forall(f, m.data[3]) : false : true;
+}
+function tree_mapi(f, m) {
+ return m.tag === 1 ? new MapTree(1, [m.data[0], f(m.data[0], m.data[1])]) : m.tag === 2 ? new MapTree(2, [m.data[0], f(m.data[0], m.data[1]), tree_mapi(f, m.data[2]), tree_mapi(f, m.data[3]), m.data[4]]) : tree_empty();
+}
+function tree_foldBack(f, m, x) {
+ return m.tag === 1 ? f(m.data[0], m.data[1], x) : m.tag === 2 ? tree_foldBack(f, m.data[2], f(m.data[0], m.data[1], tree_foldBack(f, m.data[3], x))) : x;
+}
+function tree_fold(f, x, m) {
+ return m.tag === 1 ? f(x, m.data[0], m.data[1]) : m.tag === 2 ? tree_fold(f, f(tree_fold(f, x, m.data[2]), m.data[0], m.data[1]), m.data[3]) : x;
+}
+// function tree_foldFromTo(
+// comparer: IComparer<any>, lo: any, hi: any,
+// f: (k:any, v: any, acc: any) => any, m: MapTree, x: any): any {
+// if (m.tag === 1) {
+// var cLoKey = comparer.Compare(lo, m.data[0]);
+// var cKeyHi = comparer.Compare(m.data[0], hi);
+// var x_1 = (cLoKey <= 0 ? cKeyHi <= 0 : false) ? f(m.data[0], m.data[1], x) : x;
+// return x_1;
+// } else if (m.tag === 2) {
+// var cLoKey = comparer.Compare(lo, m.data[0]);
+// var cKeyHi = comparer.Compare(m.data[0], hi);
+// var x_1 = cLoKey < 0 ? tree_foldFromTo(comparer, lo, hi, f, m.data[2], x) : x;
+// var x_2 = (cLoKey <= 0 ? cKeyHi <= 0 : false) ? f(m.data[0], m.data[1], x_1) : x_1;
+// var x_3 = cKeyHi < 0 ? tree_foldFromTo(comparer, lo, hi, f, m.data[3], x_2) : x_2;
+// return x_3;
+// }
+// return x;
+// }
+// function tree_foldSection(
+// comparer: IComparer<any>, lo: any, hi: any,
+// f: (k: any, v: any, acc: any) => any, m: MapTree, x: any) {
+// return comparer.Compare(lo, hi) === 1 ? x : tree_foldFromTo(comparer, lo, hi, f, m, x);
+// }
+// function tree_loop(m: MapTree, acc: any): List<[any,any]> {
+// return m.tag === 1
+// ? new List([m.data[0], m.data[1]], acc)
+// : m.tag === 2
+// ? tree_loop(m.data[2], new List([m.data[0], m.data[1]], tree_loop(m.data[3], acc)))
+// : acc;
+// }
+// function tree_toList(m: MapTree) {
+// return tree_loop(m, new List());
+// }
+// function tree_toArray(m: MapTree) {
+// return Array.from(tree_toList(m));
+// }
+// function tree_ofList(comparer: IComparer<any>, l: List<[any,any]>) {
+// return Seq.fold((acc: MapTree, tupledArg: [any, any]) => {
+// return tree_add(comparer, tupledArg[0], tupledArg[1], acc);
+// }, tree_empty(), l);
+// }
+function tree_mkFromEnumerator(comparer, acc, e) {
+ var cur = e.next();
+ while (!cur.done) {
+ acc = tree_add(comparer, cur.value[0], cur.value[1], acc);
+ cur = e.next();
+ }
+ return acc;
+}
+// function tree_ofArray(comparer: IComparer<any>, arr: ArrayLike<[any,any]>) {
+// var res = tree_empty();
+// for (var i = 0; i <= arr.length - 1; i++) {
+// res = tree_add(comparer, arr[i][0], arr[i][1], res);
+// }
+// return res;
+// }
+function tree_ofSeq(comparer, c) {
+ var ie = c[Symbol.iterator]();
+ return tree_mkFromEnumerator(comparer, tree_empty(), ie);
+}
+// function tree_copyToArray(s: MapTree, arr: ArrayLike<any>, i: number) {
+// tree_iter((x, y) => { arr[i++] = [x, y]; }, s);
+// }
+function tree_collapseLHS(stack) {
+ if (stack.tail != null) {
+ if (stack.head.tag === 1) {
+ return stack;
+ } else if (stack.head.tag === 2) {
+ return tree_collapseLHS(Object(__WEBPACK_IMPORTED_MODULE_1__ListClass__["b" /* ofArray */])([stack.head.data[2], new MapTree(1, [stack.head.data[0], stack.head.data[1]]), stack.head.data[3]], stack.tail));
+ } else {
+ return tree_collapseLHS(stack.tail);
+ }
+ } else {
+ return new __WEBPACK_IMPORTED_MODULE_1__ListClass__["a" /* default */]();
+ }
+}
+function tree_mkIterator(s) {
+ return { stack: tree_collapseLHS(new __WEBPACK_IMPORTED_MODULE_1__ListClass__["a" /* default */](s, new __WEBPACK_IMPORTED_MODULE_1__ListClass__["a" /* default */]())), started: false };
+}
+function tree_moveNext(i) {
+ function current(it) {
+ if (it.stack.tail == null) {
+ return null;
+ } else if (it.stack.head.tag === 1) {
+ return [it.stack.head.data[0], it.stack.head.data[1]];
+ }
+ throw new Error("Please report error: Map iterator, unexpected stack for current");
+ }
+ if (i.started) {
+ if (i.stack.tail == null) {
+ return { done: true, value: null };
+ } else {
+ if (i.stack.head.tag === 1) {
+ i.stack = tree_collapseLHS(i.stack.tail);
+ return {
+ done: i.stack.tail == null,
+ value: current(i)
+ };
+ } else {
+ throw new Error("Please report error: Map iterator, unexpected stack for moveNext");
+ }
+ }
+ } else {
+ i.started = true;
+ return {
+ done: i.stack.tail == null,
+ value: current(i)
+ };
+ }
+}
+
+var FableMap = function () {
+ /** Do not call, use Map.create instead. */
+ function FableMap() {
+ _classCallCheck(this, FableMap);
+
+ return;
+ }
+
+ _createClass(FableMap, [{
+ key: "ToString",
+ value: function ToString() {
+ return "map [" + Array.from(this).map(function (x) {
+ return Object(__WEBPACK_IMPORTED_MODULE_5__Util__["m" /* toString */])(x);
+ }).join("; ") + "]";
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(m2) {
+ return this.CompareTo(m2) === 0;
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(m2) {
+ var _this = this;
+
+ return this === m2 ? 0 : Object(__WEBPACK_IMPORTED_MODULE_3__Seq__["c" /* compareWith */])(function (kvp1, kvp2) {
+ var c = _this.comparer.Compare(kvp1[0], kvp2[0]);
+ return c !== 0 ? c : Object(__WEBPACK_IMPORTED_MODULE_5__Util__["e" /* compare */])(kvp1[1], kvp2[1]);
+ }, this, m2);
+ }
+ }, {
+ key: Symbol.iterator,
+ value: function value() {
+ var i = tree_mkIterator(this.tree);
+ return {
+ next: function next() {
+ return tree_moveNext(i);
+ }
+ };
+ }
+ }, {
+ key: "entries",
+ value: function entries() {
+ return this[Symbol.iterator]();
+ }
+ }, {
+ key: "keys",
+ value: function keys() {
+ return Object(__WEBPACK_IMPORTED_MODULE_3__Seq__["i" /* map */])(function (kv) {
+ return kv[0];
+ }, this);
+ }
+ }, {
+ key: "values",
+ value: function values() {
+ return Object(__WEBPACK_IMPORTED_MODULE_3__Seq__["i" /* map */])(function (kv) {
+ return kv[1];
+ }, this);
+ }
+ }, {
+ key: "get",
+ value: function get(k) {
+ return tree_find(this.comparer, k, this.tree);
+ }
+ }, {
+ key: "has",
+ value: function has(k) {
+ return tree_mem(this.comparer, k, this.tree);
+ }
+ /** Mutating method */
+
+ }, {
+ key: "set",
+ value: function set(k, v) {
+ this.tree = tree_add(this.comparer, k, v, this.tree);
+ }
+ /** Mutating method */
+
+ }, {
+ key: "delete",
+ value: function _delete(k) {
+ // TODO: Is calculating the size twice is more performant than calling tree_mem?
+ var oldSize = tree_size(this.tree);
+ this.tree = tree_remove(this.comparer, k, this.tree);
+ return oldSize > tree_size(this.tree);
+ }
+ /** Mutating method */
+
+ }, {
+ key: "clear",
+ value: function clear() {
+ this.tree = tree_empty();
+ }
+ }, {
+ key: __WEBPACK_IMPORTED_MODULE_4__Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "Microsoft.FSharp.Collections.FSharpMap",
+ interfaces: ["System.IEquatable", "System.IComparable", "System.Collections.Generic.IDictionary"]
+ };
+ }
+ }, {
+ key: "size",
+ get: function get() {
+ return tree_size(this.tree);
+ }
+ }]);
+
+ return FableMap;
+}();
+
+/* unused harmony default export */ var _unused_webpack_default_export = (FableMap);
+
+function from(comparer, tree) {
+ var map = new FableMap();
+ map.tree = tree;
+ map.comparer = comparer || new __WEBPACK_IMPORTED_MODULE_0__Comparer__["a" /* default */]();
+ return map;
+}
+function create(ie, comparer) {
+ comparer = comparer || new __WEBPACK_IMPORTED_MODULE_0__Comparer__["a" /* default */]();
+ return from(comparer, ie ? tree_ofSeq(comparer, ie) : tree_empty());
+}
+function add(k, v, map) {
+ return from(map.comparer, tree_add(map.comparer, k, v, map.tree));
+}
+function remove(item, map) {
+ return from(map.comparer, tree_remove(map.comparer, item, map.tree));
+}
+function containsValue(v, map) {
+ return Object(__WEBPACK_IMPORTED_MODULE_3__Seq__["f" /* fold */])(function (acc, k) {
+ return acc || Object(__WEBPACK_IMPORTED_MODULE_5__Util__["i" /* equals */])(map.get(k), v);
+ }, false, map.keys());
+}
+function tryGetValue(map, key, defaultValue) {
+ return map.has(key) ? [true, map.get(key)] : [false, defaultValue];
+}
+function exists(f, map) {
+ return tree_exists(f, map.tree);
+}
+function find(k, map) {
+ return tree_find(map.comparer, k, map.tree);
+}
+function tryFind(k, map) {
+ return tree_tryFind(map.comparer, k, map.tree);
+}
+function filter(f, map) {
+ return from(map.comparer, tree_filter(map.comparer, f, map.tree));
+}
+function fold(f, seed, map) {
+ return tree_fold(f, seed, map.tree);
+}
+function foldBack(f, map, seed) {
+ return tree_foldBack(f, map.tree, seed);
+}
+function forAll(f, map) {
+ return tree_forall(f, map.tree);
+}
+function isEmpty(map) {
+ return tree_isEmpty(map.tree);
+}
+function iterate(f, map) {
+ tree_iter(f, map.tree);
+}
+function map(f, map) {
+ return from(map.comparer, tree_mapi(f, map.tree));
+}
+function partition(f, map) {
+ var rs = tree_partition(map.comparer, f, map.tree);
+ return [from(map.comparer, rs[0]), from(map.comparer, rs[1])];
+}
+function findKey(f, map) {
+ return Object(__WEBPACK_IMPORTED_MODULE_3__Seq__["j" /* pick */])(function (kv) {
+ return f(kv[0], kv[1]) ? new __WEBPACK_IMPORTED_MODULE_2__Option__["a" /* Some */](kv[0]) : null;
+ }, map);
+}
+function tryFindKey(f, map) {
+ return Object(__WEBPACK_IMPORTED_MODULE_3__Seq__["o" /* tryPick */])(function (kv) {
+ return f(kv[0], kv[1]) ? new __WEBPACK_IMPORTED_MODULE_2__Option__["a" /* Some */](kv[0]) : null;
+ }, map);
+}
+function pick(f, map) {
+ var res = tryPick(f, map);
+ if (res != null) {
+ return Object(__WEBPACK_IMPORTED_MODULE_2__Option__["c" /* getValue */])(res);
+ }
+ throw new Error("key not found");
+}
+function tryPick(f, map) {
+ return tree_tryPick(f, map.tree);
+}
+
+/***/ }),
+/* 11 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export fromEqualityComparer */
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Symbol__ = __webpack_require__(1);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Util__ = __webpack_require__(2);
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+
+
+
+var Comparer = function () {
+ function Comparer(f) {
+ _classCallCheck(this, Comparer);
+
+ this.Compare = f || __WEBPACK_IMPORTED_MODULE_1__Util__["e" /* compare */];
+ }
+
+ _createClass(Comparer, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return { interfaces: ["System.IComparer"] };
+ }
+ }]);
+
+ return Comparer;
+}();
+
+/* harmony default export */ __webpack_exports__["a"] = (Comparer);
+
+function fromEqualityComparer(comparer) {
+ // Sometimes IEqualityComparer also implements IComparer
+ if (typeof comparer.Compare === "function") {
+ return new Comparer(comparer.Compare);
+ } else {
+ return new Comparer(function (x, y) {
+ var xhash = comparer.GetHashCode(x);
+ var yhash = comparer.GetHashCode(y);
+ if (xhash === yhash) {
+ return comparer.Equals(x, y) ? 0 : -1;
+ } else {
+ return xhash < yhash ? -1 : 1;
+ }
+ });
+ }
+}
+
+/***/ }),
+/* 12 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (immutable) */ __webpack_exports__["b"] = ofArray;
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Symbol__ = __webpack_require__(1);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Util__ = __webpack_require__(2);
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+
+
+
+
+// This module is split from List.ts to prevent cyclic dependencies
+function ofArray(args, base) {
+ var acc = base || new List();
+ for (var i = args.length - 1; i >= 0; i--) {
+ acc = new List(args[i], acc);
+ }
+ return acc;
+}
+
+var List = function () {
+ function List(head, tail) {
+ _classCallCheck(this, List);
+
+ this.head = head;
+ this.tail = tail;
+ }
+
+ _createClass(List, [{
+ key: "ToString",
+ value: function ToString() {
+ return "[" + Array.from(this).map(function (x) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__Util__["m" /* toString */])(x);
+ }).join("; ") + "]";
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(x) {
+ // Optimization if they are referencially equal
+ if (this === x) {
+ return true;
+ } else {
+ var iter1 = this[Symbol.iterator]();
+ var iter2 = x[Symbol.iterator]();
+ while (true) {
+ var cur1 = iter1.next();
+ var cur2 = iter2.next();
+ if (cur1.done) {
+ return cur2.done ? true : false;
+ } else if (cur2.done) {
+ return false;
+ } else if (!Object(__WEBPACK_IMPORTED_MODULE_1__Util__["i" /* equals */])(cur1.value, cur2.value)) {
+ return false;
+ }
+ }
+ }
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(x) {
+ // Optimization if they are referencially equal
+ if (this === x) {
+ return 0;
+ } else {
+ var acc = 0;
+ var iter1 = this[Symbol.iterator]();
+ var iter2 = x[Symbol.iterator]();
+ while (true) {
+ var cur1 = iter1.next();
+ var cur2 = iter2.next();
+ if (cur1.done) {
+ return cur2.done ? acc : -1;
+ } else if (cur2.done) {
+ return 1;
+ } else {
+ acc = Object(__WEBPACK_IMPORTED_MODULE_1__Util__["e" /* compare */])(cur1.value, cur2.value);
+ if (acc !== 0) {
+ return acc;
+ }
+ }
+ }
+ }
+ }
+ }, {
+ key: Symbol.iterator,
+ value: function value() {
+ var cur = this;
+ return {
+ next: function next() {
+ var tmp = cur;
+ cur = cur.tail;
+ return { done: tmp.tail == null, value: tmp.head };
+ }
+ };
+ }
+ // append(ys: List<T>): List<T> {
+ // return append(this, ys);
+ // }
+ // choose<U>(f: (x: T) => U, xs: List<T>): List<U> {
+ // return choose(f, this);
+ // }
+ // collect<U>(f: (x: T) => List<U>): List<U> {
+ // return collect(f, this);
+ // }
+ // filter(f: (x: T) => boolean): List<T> {
+ // return filter(f, this);
+ // }
+ // where(f: (x: T) => boolean): List<T> {
+ // return filter(f, this);
+ // }
+ // map<U>(f: (x: T) => U): List<U> {
+ // return map(f, this);
+ // }
+ // mapIndexed<U>(f: (i: number, x: T) => U): List<U> {
+ // return mapIndexed(f, this);
+ // }
+ // partition(f: (x: T) => boolean): [List<T>, List<T>] {
+ // return partition(f, this) as [List<T>, List<T>];
+ // }
+ // reverse(): List<T> {
+ // return reverse(this);
+ // }
+ // slice(lower: number, upper: number): List<T> {
+ // return slice(lower, upper, this);
+ // }
+
+ }, {
+ key: __WEBPACK_IMPORTED_MODULE_0__Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "Microsoft.FSharp.Collections.FSharpList",
+ interfaces: ["System.IEquatable", "System.IComparable"]
+ };
+ }
+ }, {
+ key: "length",
+ get: function get() {
+ var cur = this;
+ var acc = 0;
+ while (cur.tail != null) {
+ cur = cur.tail;
+ acc++;
+ }
+ return acc;
+ }
+ }]);
+
+ return List;
+}();
+
+/* harmony default export */ __webpack_exports__["a"] = (List);
+
+/***/ }),
+/* 13 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return OperationCanceledError; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return Trampoline; });
+/* harmony export (immutable) */ __webpack_exports__["d"] = protectedCont;
+/* harmony export (immutable) */ __webpack_exports__["c"] = protectedBind;
+/* harmony export (immutable) */ __webpack_exports__["e"] = protectedReturn;
+/* unused harmony export AsyncBuilder */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return singleton; });
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
+
+var OperationCanceledError = function (_Error) {
+ _inherits(OperationCanceledError, _Error);
+
+ function OperationCanceledError() {
+ _classCallCheck(this, OperationCanceledError);
+
+ var _this = _possibleConstructorReturn(this, (OperationCanceledError.__proto__ || Object.getPrototypeOf(OperationCanceledError)).call(this, "The operation was canceled"));
+
+ Object.setPrototypeOf(_this, OperationCanceledError.prototype);
+ return _this;
+ }
+
+ return OperationCanceledError;
+}(Error);
+var Trampoline = function () {
+ _createClass(Trampoline, null, [{
+ key: "maxTrampolineCallCount",
+ get: function get() {
+ return 2000;
+ }
+ }]);
+
+ function Trampoline() {
+ _classCallCheck(this, Trampoline);
+
+ this.callCount = 0;
+ }
+
+ _createClass(Trampoline, [{
+ key: "incrementAndCheck",
+ value: function incrementAndCheck() {
+ return this.callCount++ > Trampoline.maxTrampolineCallCount;
+ }
+ }, {
+ key: "hijack",
+ value: function hijack(f) {
+ this.callCount = 0;
+ setTimeout(f, 0);
+ }
+ }]);
+
+ return Trampoline;
+}();
+function protectedCont(f) {
+ return function (ctx) {
+ if (ctx.cancelToken.isCancelled) {
+ ctx.onCancel(new OperationCanceledError());
+ } else if (ctx.trampoline.incrementAndCheck()) {
+ ctx.trampoline.hijack(function () {
+ try {
+ f(ctx);
+ } catch (err) {
+ ctx.onError(err);
+ }
+ });
+ } else {
+ try {
+ f(ctx);
+ } catch (err) {
+ ctx.onError(err);
+ }
+ }
+ };
+}
+function protectedBind(computation, binder) {
+ return protectedCont(function (ctx) {
+ computation({
+ onSuccess: function onSuccess(x) {
+ try {
+ binder(x)(ctx);
+ } catch (ex) {
+ ctx.onError(ex);
+ }
+ },
+ onError: ctx.onError,
+ onCancel: ctx.onCancel,
+ cancelToken: ctx.cancelToken,
+ trampoline: ctx.trampoline
+ });
+ });
+}
+function protectedReturn(value) {
+ return protectedCont(function (ctx) {
+ return ctx.onSuccess(value);
+ });
+}
+var AsyncBuilder = function () {
+ function AsyncBuilder() {
+ _classCallCheck(this, AsyncBuilder);
+ }
+
+ _createClass(AsyncBuilder, [{
+ key: "Bind",
+ value: function Bind(computation, binder) {
+ return protectedBind(computation, binder);
+ }
+ }, {
+ key: "Combine",
+ value: function Combine(computation1, computation2) {
+ return this.Bind(computation1, function () {
+ return computation2;
+ });
+ }
+ }, {
+ key: "Delay",
+ value: function Delay(generator) {
+ return protectedCont(function (ctx) {
+ return generator()(ctx);
+ });
+ }
+ }, {
+ key: "For",
+ value: function For(sequence, body) {
+ var iter = sequence[Symbol.iterator]();
+ var cur = iter.next();
+ return this.While(function () {
+ return !cur.done;
+ }, this.Delay(function () {
+ var res = body(cur.value);
+ cur = iter.next();
+ return res;
+ }));
+ }
+ }, {
+ key: "Return",
+ value: function Return(value) {
+ return protectedReturn(value);
+ }
+ }, {
+ key: "ReturnFrom",
+ value: function ReturnFrom(computation) {
+ return computation;
+ }
+ }, {
+ key: "TryFinally",
+ value: function TryFinally(computation, compensation) {
+ return protectedCont(function (ctx) {
+ computation({
+ onSuccess: function onSuccess(x) {
+ compensation();
+ ctx.onSuccess(x);
+ },
+ onError: function onError(x) {
+ compensation();
+ ctx.onError(x);
+ },
+ onCancel: function onCancel(x) {
+ compensation();
+ ctx.onCancel(x);
+ },
+ cancelToken: ctx.cancelToken,
+ trampoline: ctx.trampoline
+ });
+ });
+ }
+ }, {
+ key: "TryWith",
+ value: function TryWith(computation, catchHandler) {
+ return protectedCont(function (ctx) {
+ computation({
+ onSuccess: ctx.onSuccess,
+ onCancel: ctx.onCancel,
+ cancelToken: ctx.cancelToken,
+ trampoline: ctx.trampoline,
+ onError: function onError(ex) {
+ try {
+ catchHandler(ex)(ctx);
+ } catch (ex2) {
+ ctx.onError(ex2);
+ }
+ }
+ });
+ });
+ }
+ }, {
+ key: "Using",
+ value: function Using(resource, binder) {
+ return this.TryFinally(binder(resource), function () {
+ return resource.Dispose();
+ });
+ }
+ }, {
+ key: "While",
+ value: function While(guard, computation) {
+ var _this2 = this;
+
+ if (guard()) {
+ return this.Bind(computation, function () {
+ return _this2.While(guard, computation);
+ });
+ } else {
+ return this.Return(void 0);
+ }
+ }
+ }, {
+ key: "Zero",
+ value: function Zero() {
+ return protectedCont(function (ctx) {
+ return ctx.onSuccess(void 0);
+ });
+ }
+ }]);
+
+ return AsyncBuilder;
+}();
+var singleton = new AsyncBuilder();
+
+/***/ }),
+/* 14 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export logLevelStr */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Logger; });
+/* unused harmony export logPass */
+/* harmony export (immutable) */ __webpack_exports__["b"] = logPassN;
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Map__ = __webpack_require__(10);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_List__ = __webpack_require__(0);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_Comparer__ = __webpack_require__(11);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Util__ = __webpack_require__(2);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Symbol__ = __webpack_require__(1);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_MailboxProcessor__ = __webpack_require__(27);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_String__ = __webpack_require__(7);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_AsyncBuilder__ = __webpack_require__(13);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__ = __webpack_require__(4);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__nuget_packages_fable_core_1_3_1_fable_core_Date__ = __webpack_require__(15);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__nuget_packages_fable_core_1_3_1_fable_core_Option__ = __webpack_require__(5);
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+var logLevelStr = Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Map__["b" /* create */])(Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([[0, "DEBUG"], [1, "INFO"], [2, "WARNING"], [3, "ERROR"], [4, "FATAL"]]), new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_Comparer__["a" /* default */](__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Util__["f" /* comparePrimitives */]));
+var Logger = function () {
+ _createClass(Logger, [{
+ key: __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "Logger.Logger",
+ properties: {
+ Debug: __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Util__["d" /* Unit */],
+ Error: __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Util__["d" /* Unit */],
+ Fatal: __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Util__["d" /* Unit */],
+ Info: __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Util__["d" /* Unit */],
+ Log: __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Util__["d" /* Unit */],
+ Warn: __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Util__["d" /* Unit */]
+ }
+ };
+ }
+ }]);
+
+ function Logger(logLevel) {
+ _classCallCheck(this, Logger);
+
+ this.logLevel = logLevel | 0;
+ this.agent = Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_MailboxProcessor__["a" /* start */])(function (inbox) {
+ var messageLoop = function messageLoop() {
+ return function (builder_) {
+ return builder_.Delay(function () {
+ return builder_.Bind(inbox.receive(), function (_arg1) {
+ Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_String__["e" /* toConsole */])(Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("%s"))(_arg1);
+ return builder_.ReturnFrom(messageLoop());
+ });
+ });
+ }(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_AsyncBuilder__["f" /* singleton */]);
+ };
+
+ return messageLoop();
+ });
+ }
+
+ _createClass(Logger, [{
+ key: "postStr",
+ value: function postStr(pType, msg, _arg2) {
+ var _this = this;
+
+ if (_arg2 != null) {
+ (function () {
+ var objectArg = _this.agent;
+ return function (arg00) {
+ objectArg.post(arg00);
+ };
+ })()(Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("%s [%s] (%d) %s"))(pType, function () {
+ var copyOfStruct = Object(__WEBPACK_IMPORTED_MODULE_9__nuget_packages_fable_core_1_3_1_fable_core_Date__["b" /* now */])();
+ return Object(__WEBPACK_IMPORTED_MODULE_9__nuget_packages_fable_core_1_3_1_fable_core_Date__["c" /* toString */])(copyOfStruct, "yyyy-MM-dd HH:mm:ss");
+ }(), Object(__WEBPACK_IMPORTED_MODULE_10__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(_arg2), msg));
+ } else {
+ (function () {
+ var objectArg_1 = _this.agent;
+ return function (arg00_1) {
+ objectArg_1.post(arg00_1);
+ };
+ })()(Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("%s [%s] %s"))(pType, function () {
+ var copyOfStruct_1 = Object(__WEBPACK_IMPORTED_MODULE_9__nuget_packages_fable_core_1_3_1_fable_core_Date__["b" /* now */])();
+ return Object(__WEBPACK_IMPORTED_MODULE_9__nuget_packages_fable_core_1_3_1_fable_core_Date__["c" /* toString */])(copyOfStruct_1, "yyyy-MM-dd HH:mm:ss");
+ }(), msg));
+ }
+ }
+ }, {
+ key: "log",
+ value: function log(t, l, msg) {
+ if (t >= this.logLevel) {
+ var pType = logLevelStr.get(t);
+ this.postStr(pType, msg, l);
+ }
+ }
+ }, {
+ key: "Log",
+ get: function get() {
+ var _this2 = this;
+
+ return Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function (t, l, msg) {
+ _this2.log(t, l, msg);
+ });
+ }
+ }, {
+ key: "Debug",
+ get: function get() {
+ var _this3 = this;
+
+ return Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function (l, msg) {
+ _this3.log(0, l, msg);
+ });
+ }
+ }, {
+ key: "Info",
+ get: function get() {
+ var _this4 = this;
+
+ return Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function (l, msg) {
+ _this4.log(1, l, msg);
+ });
+ }
+ }, {
+ key: "Warn",
+ get: function get() {
+ var _this5 = this;
+
+ return Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function (l, msg) {
+ _this5.log(2, l, msg);
+ });
+ }
+ }, {
+ key: "Error",
+ get: function get() {
+ var _this6 = this;
+
+ return Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function (l, msg) {
+ _this6.log(3, l, msg);
+ });
+ }
+ }, {
+ key: "Fatal",
+ get: function get() {
+ var _this7 = this;
+
+ return Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function (l, msg) {
+ _this7.log(4, l, msg);
+ });
+ }
+ }]);
+
+ return Logger;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("Logger.Logger", Logger);
+function logPass(line, log, s) {
+ Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(log, [line])(s);
+ return s;
+}
+function logPassN(log, s) {
+ Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(log, [null])(s);
+ return s;
+}
+
+/***/ }),
+/* 15 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export offsetRegex */
+/* unused harmony export padWithZeros */
+/* unused harmony export offsetToString */
+/* unused harmony export toHalfUTCString */
+/* unused harmony export toStringWithOffset */
+/* unused harmony export toStringWithKind */
+/* harmony export (immutable) */ __webpack_exports__["c"] = toString;
+/* unused harmony export default */
+/* unused harmony export minValue */
+/* unused harmony export maxValue */
+/* unused harmony export parseRaw */
+/* unused harmony export parse */
+/* unused harmony export tryParse */
+/* unused harmony export offset */
+/* unused harmony export create */
+/* harmony export (immutable) */ __webpack_exports__["b"] = now;
+/* unused harmony export utcNow */
+/* unused harmony export today */
+/* unused harmony export isLeapYear */
+/* unused harmony export daysInMonth */
+/* unused harmony export toUniversalTime */
+/* unused harmony export toLocalTime */
+/* unused harmony export timeOfDay */
+/* unused harmony export date */
+/* unused harmony export day */
+/* unused harmony export hour */
+/* unused harmony export millisecond */
+/* unused harmony export minute */
+/* unused harmony export month */
+/* unused harmony export second */
+/* unused harmony export year */
+/* unused harmony export dayOfWeek */
+/* unused harmony export dayOfYear */
+/* unused harmony export add */
+/* unused harmony export addDays */
+/* unused harmony export addHours */
+/* unused harmony export addMinutes */
+/* unused harmony export addSeconds */
+/* unused harmony export addMilliseconds */
+/* unused harmony export addYears */
+/* unused harmony export addMonths */
+/* unused harmony export subtract */
+/* unused harmony export toLongDateString */
+/* unused harmony export toShortDateString */
+/* unused harmony export toLongTimeString */
+/* unused harmony export toShortTimeString */
+/* unused harmony export equals */
+/* harmony export (immutable) */ __webpack_exports__["a"] = compare;
+/* unused harmony export compareTo */
+/* unused harmony export op_Addition */
+/* unused harmony export op_Subtraction */
+/* unused harmony export isDaylightSavingTime */
+var offsetRegex = /(?:Z|[+-](\d{2}):?(\d{2})?)$/;
+function padWithZeros(i, length) {
+ var str = i.toString(10);
+ while (str.length < length) {
+ str = "0" + str;
+ }
+ return str;
+}
+function offsetToString(offset) {
+ var isMinus = offset < 0;
+ offset = Math.abs(offset);
+ var hours = ~~(offset / 3600000);
+ var minutes = offset % 3600000 / 60000;
+ return (isMinus ? "-" : "+") + padWithZeros(hours, 2) + ":" + padWithZeros(minutes, 2);
+}
+function toHalfUTCString(date, half) {
+ var str = date.toISOString();
+ return half === "first" ? str.substring(0, str.indexOf("T")) : str.substring(str.indexOf("T") + 1, str.length - 1);
+}
+function toISOString(d, utc) {
+ if (utc) {
+ return d.toISOString();
+ } else {
+ // JS Date is always local
+ var printOffset = d.kind == null ? true : d.kind === 2 /* Local */;
+ return padWithZeros(d.getFullYear(), 4) + "-" + padWithZeros(d.getMonth() + 1, 2) + "-" + padWithZeros(d.getDate(), 2) + "T" + padWithZeros(d.getHours(), 2) + ":" + padWithZeros(d.getMinutes(), 2) + ":" + padWithZeros(d.getSeconds(), 2) + "." + padWithZeros(d.getMilliseconds(), 3) + (printOffset ? offsetToString(d.getTimezoneOffset() * -60000) : "");
+ }
+}
+function toISOStringWithOffset(dateWithOffset, offset) {
+ var str = dateWithOffset.toISOString();
+ return str.substring(0, str.length - 1) + offsetToString(offset);
+}
+function toStringWithCustomFormat(date, format, utc) {
+ return format.replace(/(\w)\1*/g, function (match) {
+ var rep = match;
+ switch (match.substring(0, 1)) {
+ case "y":
+ var y = utc ? date.getUTCFullYear() : date.getFullYear();
+ rep = match.length < 4 ? y % 100 : y;
+ break;
+ case "M":
+ rep = (utc ? date.getUTCMonth() : date.getMonth()) + 1;
+ break;
+ case "d":
+ rep = utc ? date.getUTCDate() : date.getDate();
+ break;
+ case "H":
+ rep = utc ? date.getUTCHours() : date.getHours();
+ break;
+ case "h":
+ var h = utc ? date.getUTCHours() : date.getHours();
+ rep = h > 12 ? h % 12 : h;
+ break;
+ case "m":
+ rep = utc ? date.getUTCMinutes() : date.getMinutes();
+ break;
+ case "s":
+ rep = utc ? date.getUTCSeconds() : date.getSeconds();
+ break;
+ }
+ if (rep !== match && rep < 10 && match.length > 1) {
+ rep = "0" + rep;
+ }
+ return rep;
+ });
+}
+function toStringWithOffset(date, format) {
+ var d = new Date(date.getTime() + date.offset);
+ if (!format) {
+ return d.toISOString().replace(/\.\d+/, "").replace(/[A-Z]|\.\d+/g, " ") + offsetToString(date.offset);
+ } else if (format.length === 1) {
+ switch (format) {
+ case "D":
+ case "d":
+ return toHalfUTCString(d, "first");
+ case "T":
+ case "t":
+ return toHalfUTCString(d, "second");
+ case "O":
+ case "o":
+ return toISOStringWithOffset(d, date.offset);
+ default:
+ throw new Error("Unrecognized Date print format");
+ }
+ } else {
+ return toStringWithCustomFormat(d, format, true);
+ }
+}
+function toStringWithKind(date, format) {
+ var utc = date.kind === 1 /* UTC */;
+ if (!format) {
+ return utc ? date.toUTCString() : date.toLocaleString();
+ } else if (format.length === 1) {
+ switch (format) {
+ case "D":
+ case "d":
+ return utc ? toHalfUTCString(date, "first") : date.toLocaleDateString();
+ case "T":
+ case "t":
+ return utc ? toHalfUTCString(date, "second") : date.toLocaleTimeString();
+ case "O":
+ case "o":
+ return toISOString(date, utc);
+ default:
+ throw new Error("Unrecognized Date print format");
+ }
+ } else {
+ return toStringWithCustomFormat(date, format, utc);
+ }
+}
+function toString(date, format) {
+ return date.offset != null ? toStringWithOffset(date, format) : toStringWithKind(date, format);
+}
+function DateTime(value, kind) {
+ kind = kind == null ? 0 /* Unspecified */ : kind;
+ var d = new Date(value);
+ d.kind = kind | 0;
+ return d;
+}
+function minValue() {
+ // This is "0001-01-01T00:00:00.000Z", actual JS min value is -8640000000000000
+ return DateTime(-62135596800000, 0 /* Unspecified */);
+}
+function maxValue() {
+ // This is "9999-12-31T23:59:59.999Z", actual JS max value is 8640000000000000
+ return DateTime(253402300799999, 0 /* Unspecified */);
+}
+function parseRaw(str) {
+ var date = new Date(str);
+ if (isNaN(date.getTime())) {
+ // Check if this is a time-only string, which JS Date parsing cannot handle (see #1045)
+ if (/^(?:[01]?\d|2[0-3]):(?:[0-5]?\d)(?::[0-5]?\d(?:\.\d+)?)?(?:\s*[AaPp][Mm])?$/.test(str)) {
+ var d = new Date();
+ date = new Date(d.getFullYear() + "/" + (d.getMonth() + 1) + "/" + d.getDate() + " " + str);
+ } else {
+ throw new Error("The string is not a valid Date.");
+ }
+ }
+ return date;
+}
+function parse(str) {
+ var detectUTC = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
+
+ var date = parseRaw(str);
+ var offset = offsetRegex.exec(str);
+ // .NET always parses DateTime as Local if there's offset info (even "Z")
+ // Newtonsoft.Json uses UTC if the offset is "Z"
+ var kind = offset != null ? detectUTC && offset[0] === "Z" ? 1 /* UTC */ : 2 /* Local */ : 0 /* Unspecified */;
+ return DateTime(date.getTime(), kind);
+}
+function tryParse(v) {
+ try {
+ return [true, parse(v)];
+ } catch (_err) {
+ return [false, minValue()];
+ }
+}
+function offset(date) {
+ var date1 = date;
+ return typeof date1.offset === "number" ? date1.offset : date.kind === 1 /* UTC */
+ ? 0 : date.getTimezoneOffset() * -60000;
+}
+function create(year, month, day) {
+ var h = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
+ var m = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
+ var s = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;
+ var ms = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 0;
+ var kind = arguments[7];
+
+ var dateValue = kind === 1 /* UTC */
+ ? Date.UTC(year, month - 1, day, h, m, s, ms) : new Date(year, month - 1, day, h, m, s, ms).getTime();
+ if (isNaN(dateValue)) {
+ throw new Error("The parameters describe an unrepresentable Date.");
+ }
+ var date = DateTime(dateValue, kind);
+ if (year <= 99) {
+ date.setFullYear(year, month - 1, day);
+ }
+ return date;
+}
+function now() {
+ return DateTime(Date.now(), 2 /* Local */);
+}
+function utcNow() {
+ return DateTime(Date.now(), 1 /* UTC */);
+}
+function today() {
+ return date(now());
+}
+function isLeapYear(year) {
+ return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;
+}
+function daysInMonth(year, month) {
+ return month === 2 ? isLeapYear(year) ? 29 : 28 : month >= 8 ? month % 2 === 0 ? 31 : 30 : month % 2 === 0 ? 30 : 31;
+}
+function toUniversalTime(date) {
+ return date.kind === 1 /* UTC */ ? date : DateTime(date.getTime(), 1 /* UTC */);
+}
+function toLocalTime(date) {
+ return date.kind === 2 /* Local */ ? date : DateTime(date.getTime(), 2 /* Local */);
+}
+function timeOfDay(d) {
+ return hour(d) * 3600000 + minute(d) * 60000 + second(d) * 1000 + millisecond(d);
+}
+function date(d) {
+ return create(year(d), month(d), day(d), 0, 0, 0, 0, d.kind);
+}
+function day(d) {
+ return d.kind === 1 /* UTC */ ? d.getUTCDate() : d.getDate();
+}
+function hour(d) {
+ return d.kind === 1 /* UTC */ ? d.getUTCHours() : d.getHours();
+}
+function millisecond(d) {
+ return d.kind === 1 /* UTC */ ? d.getUTCMilliseconds() : d.getMilliseconds();
+}
+function minute(d) {
+ return d.kind === 1 /* UTC */ ? d.getUTCMinutes() : d.getMinutes();
+}
+function month(d) {
+ return (d.kind === 1 /* UTC */ ? d.getUTCMonth() : d.getMonth()) + 1;
+}
+function second(d) {
+ return d.kind === 1 /* UTC */ ? d.getUTCSeconds() : d.getSeconds();
+}
+function year(d) {
+ return d.kind === 1 /* UTC */ ? d.getUTCFullYear() : d.getFullYear();
+}
+function dayOfWeek(d) {
+ return d.kind === 1 /* UTC */ ? d.getUTCDay() : d.getDay();
+}
+function dayOfYear(d) {
+ var _year = year(d);
+ var _month = month(d);
+ var _day = day(d);
+ for (var i = 1; i < _month; i++) {
+ _day += daysInMonth(_year, i);
+ }
+ return _day;
+}
+function add(d, ts) {
+ return DateTime(d.getTime() + ts, d.kind);
+}
+function addDays(d, v) {
+ return DateTime(d.getTime() + v * 86400000, d.kind);
+}
+function addHours(d, v) {
+ return DateTime(d.getTime() + v * 3600000, d.kind);
+}
+function addMinutes(d, v) {
+ return DateTime(d.getTime() + v * 60000, d.kind);
+}
+function addSeconds(d, v) {
+ return DateTime(d.getTime() + v * 1000, d.kind);
+}
+function addMilliseconds(d, v) {
+ return DateTime(d.getTime() + v, d.kind);
+}
+function addYears(d, v) {
+ var newMonth = month(d);
+ var newYear = year(d) + v;
+ var _daysInMonth = daysInMonth(newYear, newMonth);
+ var newDay = Math.min(_daysInMonth, day(d));
+ return create(newYear, newMonth, newDay, hour(d), minute(d), second(d), millisecond(d), d.kind);
+}
+function addMonths(d, v) {
+ var newMonth = month(d) + v;
+ var newMonth_ = 0;
+ var yearOffset = 0;
+ if (newMonth > 12) {
+ newMonth_ = newMonth % 12;
+ yearOffset = Math.floor(newMonth / 12);
+ newMonth = newMonth_;
+ } else if (newMonth < 1) {
+ newMonth_ = 12 + newMonth % 12;
+ yearOffset = Math.floor(newMonth / 12) + (newMonth_ === 12 ? -1 : 0);
+ newMonth = newMonth_;
+ }
+ var newYear = year(d) + yearOffset;
+ var _daysInMonth = daysInMonth(newYear, newMonth);
+ var newDay = Math.min(_daysInMonth, day(d));
+ return create(newYear, newMonth, newDay, hour(d), minute(d), second(d), millisecond(d), d.kind);
+}
+function subtract(d, that) {
+ return typeof that === "number" ? DateTime(d.getTime() - that, d.kind) : d.getTime() - that.getTime();
+}
+function toLongDateString(d) {
+ return d.toDateString();
+}
+function toShortDateString(d) {
+ return d.toLocaleDateString();
+}
+function toLongTimeString(d) {
+ return d.toLocaleTimeString();
+}
+function toShortTimeString(d) {
+ return d.toLocaleTimeString().replace(/:\d\d(?!:)/, "");
+}
+function equals(d1, d2) {
+ return d1.getTime() === d2.getTime();
+}
+function compare(x, y) {
+ var xtime = x.getTime();
+ var ytime = y.getTime();
+ return xtime === ytime ? 0 : xtime < ytime ? -1 : 1;
+}
+var compareTo = compare;
+function op_Addition(x, y) {
+ return add(x, y);
+}
+function op_Subtraction(x, y) {
+ return subtract(x, y);
+}
+function isDaylightSavingTime(x) {
+ var jan = new Date(x.getFullYear(), 0, 1);
+ var jul = new Date(x.getFullYear(), 6, 1);
+ return isDST(jan.getTimezoneOffset(), jul.getTimezoneOffset(), x.getTimezoneOffset());
+}
+function isDST(janOffset, julOffset, tOffset) {
+ return Math.min(janOffset, julOffset) === tOffset;
+}
+
+/***/ }),
+/* 16 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (immutable) */ __webpack_exports__["a"] = create;
+/* harmony export (immutable) */ __webpack_exports__["b"] = escape;
+/* unused harmony export unescape */
+/* unused harmony export isMatch */
+/* harmony export (immutable) */ __webpack_exports__["c"] = match;
+/* unused harmony export matches */
+/* unused harmony export options */
+/* unused harmony export replace */
+/* unused harmony export split */
+function create(pattern, options) {
+ var flags = "g";
+ flags += options & 1 ? "i" : "";
+ flags += options & 2 ? "m" : "";
+ return new RegExp(pattern, flags);
+}
+// From http://stackoverflow.com/questions/3446170/escape-string-for-use-in-javascript-regex
+function escape(str) {
+ return str.replace(/[\-\[\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
+}
+function unescape(str) {
+ return str.replace(/\\([\-\[\/\{\}\(\)\*\+\?\.\\\^\$\|])/g, "$1");
+}
+function isMatch(str, pattern) {
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
+
+ var reg = void 0;
+ reg = str instanceof RegExp ? (reg = str, str = pattern, reg.lastIndex = options, reg) : reg = create(pattern, options);
+ return reg.test(str);
+}
+function match(str, pattern) {
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
+
+ var reg = void 0;
+ reg = str instanceof RegExp ? (reg = str, str = pattern, reg.lastIndex = options, reg) : reg = create(pattern, options);
+ return reg.exec(str);
+}
+function matches(str, pattern) {
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
+
+ var reg = void 0;
+ reg = str instanceof RegExp ? (reg = str, str = pattern, reg.lastIndex = options, reg) : reg = create(pattern, options);
+ if (!reg.global) {
+ throw new Error("Non-global RegExp"); // Prevent infinite loop
+ }
+ var m = reg.exec(str);
+ var matches = [];
+ while (m !== null) {
+ matches.push(m);
+ m = reg.exec(str);
+ }
+ return matches;
+}
+function options(reg) {
+ var options = 256; // ECMAScript
+ options |= reg.ignoreCase ? 1 : 0;
+ options |= reg.multiline ? 2 : 0;
+ return options;
+}
+function replace(reg, input, replacement, limit) {
+ var offset = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
+
+ function replacer() {
+ var res = arguments[0];
+ if (limit !== 0) {
+ limit--;
+ var _match = [];
+ var len = arguments.length;
+ for (var i = 0; i < len - 2; i++) {
+ _match.push(arguments[i]);
+ }
+ _match.index = arguments[len - 2];
+ _match.input = arguments[len - 1];
+ res = replacement(_match);
+ }
+ return res;
+ }
+ if (typeof reg === "string") {
+ var tmp = reg;
+ reg = create(input, limit);
+ input = tmp;
+ limit = undefined;
+ }
+ if (typeof replacement === "function") {
+ limit = limit == null ? -1 : limit;
+ return input.substring(0, offset) + input.substring(offset).replace(reg, replacer);
+ } else {
+ // $0 doesn't work with JS regex, see #1155
+ replacement = replacement.replace(/\$0/g, function (s) {
+ return "$&";
+ });
+ if (limit != null) {
+ var m = void 0;
+ var sub1 = input.substring(offset);
+ var _matches = matches(reg, sub1);
+ var sub2 = matches.length > limit ? (m = _matches[limit - 1], sub1.substring(0, m.index + m[0].length)) : sub1;
+ return input.substring(0, offset) + sub2.replace(reg, replacement) + input.substring(offset + sub2.length);
+ } else {
+ return input.replace(reg, replacement);
+ }
+ }
+}
+function split(reg, input, limit) {
+ var offset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
+
+ if (typeof reg === "string") {
+ var tmp = reg;
+ reg = create(input, limit);
+ input = tmp;
+ limit = undefined;
+ }
+ input = input.substring(offset);
+ return input.split(reg, limit);
+}
+
+/***/ }),
+/* 17 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export createCancellationToken */
+/* unused harmony export cancel */
+/* unused harmony export cancelAfter */
+/* unused harmony export isCancellationRequested */
+/* unused harmony export startChild */
+/* unused harmony export awaitPromise */
+/* unused harmony export cancellationToken */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return defaultCancellationToken; });
+/* unused harmony export catchAsync */
+/* harmony export (immutable) */ __webpack_exports__["b"] = fromContinuations;
+/* unused harmony export ignore */
+/* unused harmony export parallel */
+/* unused harmony export sleep */
+/* unused harmony export start */
+/* harmony export (immutable) */ __webpack_exports__["c"] = startImmediate;
+/* unused harmony export startWithContinuations */
+/* unused harmony export startAsPromise */
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__AsyncBuilder__ = __webpack_require__(13);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Choice__ = __webpack_require__(18);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Seq__ = __webpack_require__(3);
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+
+
+
+
+
+
+
+// Implemented just for type references
+
+var Async = function Async() {
+ _classCallCheck(this, Async);
+};
+
+/* unused harmony default export */ var _unused_webpack_default_export = (Async);
+
+function emptyContinuation(x) {
+ // NOP
+}
+function createCancellationToken(arg) {
+ var token = { isCancelled: false };
+ if (typeof arg === "number") {
+ setTimeout(function () {
+ token.isCancelled = true;
+ }, arg);
+ } else if (typeof arg === "boolean") {
+ token.isCancelled = arg;
+ }
+ return token;
+}
+function cancel(token) {
+ token.isCancelled = true;
+}
+function cancelAfter(token, ms) {
+ setTimeout(function () {
+ token.isCancelled = true;
+ }, ms);
+}
+function isCancellationRequested(token) {
+ return token != null && token.isCancelled;
+}
+function startChild(computation) {
+ var promise = startAsPromise(computation);
+ // JS Promises are hot, computation has already started
+ // but we delay returning the result
+ return Object(__WEBPACK_IMPORTED_MODULE_0__AsyncBuilder__["d" /* protectedCont */])(function (ctx) {
+ return Object(__WEBPACK_IMPORTED_MODULE_0__AsyncBuilder__["e" /* protectedReturn */])(awaitPromise(promise))(ctx);
+ });
+}
+function awaitPromise(p) {
+ return fromContinuations(function (conts) {
+ return p.then(conts[0]).catch(function (err) {
+ return (err instanceof __WEBPACK_IMPORTED_MODULE_0__AsyncBuilder__["a" /* OperationCanceledError */] ? conts[2] : conts[1])(err);
+ });
+ });
+}
+function cancellationToken() {
+ return Object(__WEBPACK_IMPORTED_MODULE_0__AsyncBuilder__["d" /* protectedCont */])(function (ctx) {
+ return ctx.onSuccess(ctx.cancelToken);
+ });
+}
+var defaultCancellationToken = { isCancelled: false };
+function catchAsync(work) {
+ return Object(__WEBPACK_IMPORTED_MODULE_0__AsyncBuilder__["d" /* protectedCont */])(function (ctx) {
+ work({
+ onSuccess: function onSuccess(x) {
+ return ctx.onSuccess(Object(__WEBPACK_IMPORTED_MODULE_1__Choice__["a" /* choice1Of2 */])(x));
+ },
+ onError: function onError(ex) {
+ return ctx.onSuccess(Object(__WEBPACK_IMPORTED_MODULE_1__Choice__["b" /* choice2Of2 */])(ex));
+ },
+ onCancel: ctx.onCancel,
+ cancelToken: ctx.cancelToken,
+ trampoline: ctx.trampoline
+ });
+ });
+}
+function fromContinuations(f) {
+ return Object(__WEBPACK_IMPORTED_MODULE_0__AsyncBuilder__["d" /* protectedCont */])(function (ctx) {
+ return f([ctx.onSuccess, ctx.onError, ctx.onCancel]);
+ });
+}
+function ignore(computation) {
+ return Object(__WEBPACK_IMPORTED_MODULE_0__AsyncBuilder__["c" /* protectedBind */])(computation, function (x) {
+ return Object(__WEBPACK_IMPORTED_MODULE_0__AsyncBuilder__["e" /* protectedReturn */])(void 0);
+ });
+}
+function parallel(computations) {
+ return awaitPromise(Promise.all(Object(__WEBPACK_IMPORTED_MODULE_2__Seq__["i" /* map */])(function (w) {
+ return startAsPromise(w);
+ }, computations)));
+}
+function sleep(millisecondsDueTime) {
+ return Object(__WEBPACK_IMPORTED_MODULE_0__AsyncBuilder__["d" /* protectedCont */])(function (ctx) {
+ setTimeout(function () {
+ return ctx.cancelToken.isCancelled ? ctx.onCancel(new __WEBPACK_IMPORTED_MODULE_0__AsyncBuilder__["a" /* OperationCanceledError */]()) : ctx.onSuccess(void 0);
+ }, millisecondsDueTime);
+ });
+}
+function start(computation, cancellationToken) {
+ return startWithContinuations(computation, cancellationToken);
+}
+function startImmediate(computation, cancellationToken) {
+ return start(computation, cancellationToken);
+}
+function startWithContinuations(computation, continuation, exceptionContinuation, cancellationContinuation, cancelToken) {
+ if (typeof continuation !== "function") {
+ cancelToken = continuation;
+ continuation = null;
+ }
+ var trampoline = new __WEBPACK_IMPORTED_MODULE_0__AsyncBuilder__["b" /* Trampoline */]();
+ computation({
+ onSuccess: continuation ? continuation : emptyContinuation,
+ onError: exceptionContinuation ? exceptionContinuation : emptyContinuation,
+ onCancel: cancellationContinuation ? cancellationContinuation : emptyContinuation,
+ cancelToken: cancelToken ? cancelToken : defaultCancellationToken,
+ trampoline: trampoline
+ });
+}
+function startAsPromise(computation, cancellationToken) {
+ return new Promise(function (resolve, reject) {
+ return startWithContinuations(computation, resolve, reject, reject, cancellationToken ? cancellationToken : defaultCancellationToken);
+ });
+}
+
+/***/ }),
+/* 18 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (immutable) */ __webpack_exports__["a"] = choice1Of2;
+/* harmony export (immutable) */ __webpack_exports__["b"] = choice2Of2;
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Symbol__ = __webpack_require__(1);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Util__ = __webpack_require__(2);
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+
+
+
+function choice1Of2(v) {
+ return new Choice(0, v);
+}
+function choice2Of2(v) {
+ return new Choice(1, v);
+}
+
+var Choice = function () {
+ function Choice(tag, data) {
+ _classCallCheck(this, Choice);
+
+ this.tag = tag | 0;
+ this.data = data;
+ }
+
+ _createClass(Choice, [{
+ key: "Equals",
+ value: function Equals(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__Util__["k" /* equalsUnions */])(this, other);
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__Util__["h" /* compareUnions */])(this, other);
+ }
+ }, {
+ key: __WEBPACK_IMPORTED_MODULE_0__Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "Microsoft.FSharp.Core.FSharpChoice",
+ interfaces: ["FSharpUnion", "System.IEquatable", "System.IComparable"],
+ cases: [["Choice1Of2", __WEBPACK_IMPORTED_MODULE_1__Util__["a" /* Any */]], ["Choice2Of2", __WEBPACK_IMPORTED_MODULE_1__Util__["a" /* Any */]]]
+ };
+ }
+ }, {
+ key: "valueIfChoice1",
+ get: function get() {
+ return this.tag === 0 ? this.data : null;
+ }
+ }, {
+ key: "valueIfChoice2",
+ get: function get() {
+ return this.tag === 1 ? this.data : null;
+ }
+ }]);
+
+ return Choice;
+}();
+
+/* harmony default export */ __webpack_exports__["c"] = (Choice);
+
+/***/ }),
+/* 19 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export map */
+/* unused harmony export mapIndexed */
+/* unused harmony export indexed */
+/* unused harmony export addRangeInPlace */
+/* unused harmony export copyTo */
+/* unused harmony export partition */
+/* harmony export (immutable) */ __webpack_exports__["b"] = permute;
+/* unused harmony export removeInPlace */
+/* unused harmony export setSlice */
+/* unused harmony export sortInPlaceBy */
+/* unused harmony export unzip */
+/* unused harmony export unzip3 */
+/* harmony export (immutable) */ __webpack_exports__["a"] = chunkBySize;
+/* unused harmony export getSubArray */
+/* unused harmony export fill */
+/* unused harmony export splitAt */
+function map(f, source, TargetCons) {
+ var target = new TargetCons(source.length);
+ for (var i = 0; i < source.length; i++) {
+ target[i] = f(source[i]);
+ }
+ return target;
+}
+function mapIndexed(f, source, TargetCons) {
+ var target = new TargetCons(source.length);
+ for (var i = 0; i < source.length; i++) {
+ target[i] = f(i, source[i]);
+ }
+ return target;
+}
+function indexed(source) {
+ return mapIndexed(function (i, x) {
+ return [i, x];
+ }, source, Array);
+}
+function addRangeInPlace(range, xs) {
+ var iter = range[Symbol.iterator]();
+ var cur = iter.next();
+ while (!cur.done) {
+ xs.push(cur.value);
+ cur = iter.next();
+ }
+}
+function copyTo(source, sourceIndex, target, targetIndex, count) {
+ while (count--) {
+ target[targetIndex++] = source[sourceIndex++];
+ }
+}
+function partition(f, xs) {
+ var ys = [];
+ var zs = [];
+ var j = 0;
+ var k = 0;
+ for (var i = 0; i < xs.length; i++) {
+ if (f(xs[i])) {
+ ys[j++] = xs[i];
+ } else {
+ zs[k++] = xs[i];
+ }
+ }
+ return [ys, zs];
+}
+function permute(f, xs) {
+ // Keep the type of the array
+ var ys = xs.map(function () {
+ return null;
+ });
+ var checkFlags = new Array(xs.length);
+ for (var i = 0; i < xs.length; i++) {
+ var j = f(i);
+ if (j < 0 || j >= xs.length) {
+ throw new Error("Not a valid permutation");
+ }
+ ys[j] = xs[i];
+ checkFlags[j] = 1;
+ }
+ for (var _i = 0; _i < xs.length; _i++) {
+ if (checkFlags[_i] !== 1) {
+ throw new Error("Not a valid permutation");
+ }
+ }
+ return ys;
+}
+function removeInPlace(item, xs) {
+ var i = xs.indexOf(item);
+ if (i > -1) {
+ xs.splice(i, 1);
+ return true;
+ }
+ return false;
+}
+function setSlice(target, lower, upper, source) {
+ var length = (upper || target.length - 1) - lower;
+ if (ArrayBuffer.isView(target) && source.length <= length) {
+ target.set(source, lower);
+ } else {
+ for (var i = lower | 0, j = 0; j <= length; i++, j++) {
+ target[i] = source[j];
+ }
+ }
+}
+function sortInPlaceBy(f, xs) {
+ var dir = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
+
+ return xs.sort(function (x, y) {
+ x = f(x);
+ y = f(y);
+ return (x < y ? -1 : x === y ? 0 : 1) * dir;
+ });
+}
+function unzip(xs) {
+ var bs = new Array(xs.length);
+ var cs = new Array(xs.length);
+ for (var i = 0; i < xs.length; i++) {
+ bs[i] = xs[i][0];
+ cs[i] = xs[i][1];
+ }
+ return [bs, cs];
+}
+function unzip3(xs) {
+ var bs = new Array(xs.length);
+ var cs = new Array(xs.length);
+ var ds = new Array(xs.length);
+ for (var i = 0; i < xs.length; i++) {
+ bs[i] = xs[i][0];
+ cs[i] = xs[i][1];
+ ds[i] = xs[i][2];
+ }
+ return [bs, cs, ds];
+}
+function chunkBySize(size, xs) {
+ if (size < 1) {
+ throw new Error("The input must be positive. parameter name: chunkSize");
+ }
+ if (xs.length === 0) {
+ return [[]];
+ }
+ var result = [];
+ // add each chunk to the result
+ for (var x = 0; x < Math.ceil(xs.length / size); x++) {
+ var start = x * size;
+ var end = start + size;
+ result.push(xs.slice(start, end));
+ }
+ return result;
+}
+function getSubArray(xs, startIndex, count) {
+ return xs.slice(startIndex, startIndex + count);
+}
+function fill(target, targetIndex, count, value) {
+ target.fill(value, targetIndex, targetIndex + count);
+}
+function splitAt(index, xs) {
+ if (index < 0) {
+ throw new Error("The input must be non-negative.");
+ }
+ if (index > xs.length) {
+ throw new Error("The input sequence has an insufficient number of elements.");
+ }
+ return [xs.slice(0, index), xs.slice(index)];
+}
+
+/***/ }),
+/* 20 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return CellReference; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return Operand; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return Expr; });
+/* harmony export (immutable) */ __webpack_exports__["i"] = whitespaceFilter;
+/* harmony export (immutable) */ __webpack_exports__["e"] = countDelim;
+/* harmony export (immutable) */ __webpack_exports__["f"] = delimSplit;
+/* unused harmony export listCopies */
+/* unused harmony export unfoldTuple3 */
+/* harmony export (immutable) */ __webpack_exports__["d"] = cellRange;
+/* harmony export (immutable) */ __webpack_exports__["h"] = simpleLex;
+/* unused harmony export lexY */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return logger; });
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__ = __webpack_require__(1);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__ = __webpack_require__(2);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__ = __webpack_require__(0);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Result__ = __webpack_require__(9);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_String__ = __webpack_require__(7);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_Seq__ = __webpack_require__(3);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_RegExp__ = __webpack_require__(16);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__Types_fs__ = __webpack_require__(6);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Option__ = __webpack_require__(5);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__Logger_Logger_fs__ = __webpack_require__(14);
+var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+
+
+
+
+
+
+
+
+
+
+
+
+var CellReference = function () {
+ function CellReference(tag, data) {
+ _classCallCheck(this, CellReference);
+
+ this.tag = tag;
+ this.data = data;
+ }
+
+ _createClass(CellReference, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "MarkalcShared.CellReference",
+ interfaces: ["FSharpUnion", "System.IEquatable", "System.IComparable"],
+ cases: [["RowCol", "number", "number"]]
+ };
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(other) {
+ return this === other || this.tag === other.tag && Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["i" /* equals */])(this.data, other.data);
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["h" /* compareUnions */])(this, other) | 0;
+ }
+ }]);
+
+ return CellReference;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("MarkalcShared.CellReference", CellReference);
+var Operand = function () {
+ function Operand(tag, data) {
+ _classCallCheck(this, Operand);
+
+ this.tag = tag;
+ this.data = data;
+ }
+
+ _createClass(Operand, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "MarkalcShared.Operand",
+ interfaces: ["FSharpUnion", "System.IEquatable", "System.IComparable"],
+ cases: [["CellRef", CellReference], ["Integer", "number"], ["Float", "number"]]
+ };
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(other) {
+ return this === other || this.tag === other.tag && Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["i" /* equals */])(this.data, other.data);
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["h" /* compareUnions */])(this, other) | 0;
+ }
+ }]);
+
+ return Operand;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("MarkalcShared.Operand", Operand);
+var Expr = function () {
+ function Expr(tag, data) {
+ _classCallCheck(this, Expr);
+
+ this.tag = tag;
+ this.data = data;
+ }
+
+ _createClass(Expr, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "MarkalcShared.Expr",
+ interfaces: ["FSharpUnion"],
+ cases: [["BinExp", Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["b" /* Function */])(["number", "number", "number"]), Expr, Expr], ["Op", Operand], ["CommaFunction", "string", Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["l" /* makeGeneric */])(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */], {
+ T: Expr
+ })]]
+ };
+ }
+ }]);
+
+ return Expr;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("MarkalcShared.Expr", Expr);
+function whitespaceFilter(lst) {
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["d" /* filter */])(function (_arg1) {
+ return _arg1.tag === 2 ? false : true;
+ }, lst);
+}
+function countDelim(delim, tokList) {
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["d" /* filter */])(function (_arg1) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["i" /* equals */])(_arg1, delim) ? true : false;
+ }, tokList).length | 0;
+}
+function delimSplit(last, delim, t) {
+ var delimSplitFirst_ = function delimSplitFirst_(delim_1, before, t_1) {
+ delimSplitFirst_: while (true) {
+ var $var1 = t_1.tail != null ? Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["i" /* equals */])(t_1.head, delim_1) ? [0, t_1.tail, t_1.head] : [1] : [1];
+
+ switch ($var1[0]) {
+ case 0:
+ return new __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](0, [before, $var1[1]]);
+
+ case 1:
+ if (t_1.tail == null) {
+ return new __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](1, [before, new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */]()]);
+ } else {
+ delim_1 = delim_1;
+ before = new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](t_1.head, before);
+ t_1 = t_1.tail;
+ continue delimSplitFirst_;
+ }
+
+ }
+ }
+ };
+
+ var delimSplitLast_ = function delimSplitLast_(delim_2, before_1, t_2) {
+ var _loop = function _loop() {
+ var matchValue = [t_2, countDelim(delim_2, t_2)];
+ var $var2 = matchValue[0].tail != null ? matchValue[1] === 1 ? function () {
+ var d = matchValue[0].head;
+ var after_1 = matchValue[0].tail;
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["i" /* equals */])(d, delim_2);
+ }() ? [0, matchValue[0].tail, matchValue[0].head] : [1] : [1] : [1];
+
+ switch ($var2[0]) {
+ case 0:
+ return {
+ v: new __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](0, [before_1, $var2[1]])
+ };
+
+ case 1:
+ if (matchValue[0].tail == null) {
+ return {
+ v: new __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](1, [before_1, new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */]()])
+ };
+ } else {
+ var x = matchValue[0].head;
+ var after = matchValue[0].tail;
+ delim_2 = delim_2;
+ before_1 = new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](x, before_1);
+ t_2 = after;
+ return "continue|delimSplitLast_";
+ }
+
+ }
+ };
+
+ delimSplitLast_: while (true) {
+ var _ret = _loop();
+
+ switch (_ret) {
+ case "continue|delimSplitLast_":
+ continue delimSplitLast_;
+
+ default:
+ if ((typeof _ret === "undefined" ? "undefined" : _typeof(_ret)) === "object") return _ret.v;
+ }
+ }
+ };
+
+ var searchFunc = last ? delimSplitLast_ : delimSplitFirst_;
+ return function (_arg1) {
+ if (_arg1.tag === 0) {
+ var before_2 = _arg1.data[0];
+ var a = _arg1.data[1];
+ return new __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](0, [Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["h" /* reverse */])(before_2), a]);
+ } else {
+ var before_3 = _arg1.data[0];
+ var a_1 = _arg1.data[1];
+ return new __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](1, [Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["h" /* reverse */])(before_3), a_1]);
+ }
+ }(searchFunc(delim, new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](), t));
+}
+function listCopies(i, lst) {
+ if (i === 0) {
+ return new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */]();
+ } else if (i === 1) {
+ return lst;
+ } else if (i < 0) {
+ return Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_String__["f" /* toFail */])(Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("Negative argument: %A"))(i);
+ } else {
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["a" /* append */])(lst, listCopies(i - 1, lst));
+ }
+}
+function unfoldTuple3(func, a, b, c) {
+ return func(a, b, c);
+}
+function cellRange(p1, p2) {
+ var matchValue = [p1, p2];
+ var p2r = matchValue[1].data[0];
+ var p2c = matchValue[1].data[1];
+ var p1r = matchValue[0].data[0];
+ var p1c = matchValue[0].data[1];
+
+ var genList = function genList(a, b) {
+ if (a < b) {
+ return Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_Seq__["n" /* toList */])(Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_Seq__["k" /* range */])(a, b));
+ } else {
+ return Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_Seq__["n" /* toList */])(Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_Seq__["k" /* range */])(b, a));
+ }
+ };
+
+ var matchValue_1 = [p1r === p2r, p1c === p2c];
+
+ if (matchValue_1[0]) {
+ if (matchValue_1[1]) {
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([new CellReference(0, [p1r, p1c])]);
+ } else {
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["e" /* map */])(function ($var3) {
+ return function (tupledArg) {
+ return new CellReference(0, [tupledArg[0], tupledArg[1]]);
+ }(function (i) {
+ return [p1r, i];
+ }($var3));
+ }, genList(p1c, p2c));
+ }
+ } else if (matchValue_1[1]) {
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["e" /* map */])(function ($var4) {
+ return function (tupledArg_1) {
+ return new CellReference(0, [tupledArg_1[0], tupledArg_1[1]]);
+ }(function (i_1) {
+ return [i_1, p1c];
+ }($var4));
+ }, genList(p1r, p2r));
+ } else {
+ return null;
+ }
+}
+function simpleLex(txt) {
+ var _RegexMatch___ = function _RegexMatch___(r, txt_1) {
+ var m = Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_RegExp__["c" /* match */])(txt_1, "^" + r);
+ var matchValue = m != null;
+
+ if (matchValue) {
+ return [m[0], txt_1.substr(m[0].length)];
+ } else {
+ return null;
+ }
+ };
+
+ var simpleLex_ = function simpleLex_(a, txt_2) {
+ simpleLex_: while (true) {
+ var activePatternResult941 = _RegexMatch___("[\\s]+", txt_2);
+
+ if (activePatternResult941 != null) {
+ a = new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](new __WEBPACK_IMPORTED_MODULE_7__Types_fs__["o" /* Token */](2, Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult941)[0].length), a);
+ txt_2 = Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult941)[1];
+ continue simpleLex_;
+ } else {
+ var activePatternResult939 = _RegexMatch___("[0-9]+", txt_2);
+
+ if (activePatternResult939 != null) {
+ a = new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](new __WEBPACK_IMPORTED_MODULE_7__Types_fs__["o" /* Token */](3, Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult939)[0]), a);
+ txt_2 = Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult939)[1];
+ continue simpleLex_;
+ } else {
+ var activePatternResult937 = _RegexMatch___("\\^", txt_2);
+
+ if (activePatternResult937 != null) {
+ a = new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](new __WEBPACK_IMPORTED_MODULE_7__Types_fs__["o" /* Token */](34), a);
+ txt_2 = Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult937)[1];
+ continue simpleLex_;
+ } else {
+ var activePatternResult935 = _RegexMatch___("\\%", txt_2);
+
+ if (activePatternResult935 != null) {
+ a = new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](new __WEBPACK_IMPORTED_MODULE_7__Types_fs__["o" /* Token */](35), a);
+ txt_2 = Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult935)[1];
+ continue simpleLex_;
+ } else {
+ var activePatternResult933 = _RegexMatch___("\\*", txt_2);
+
+ if (activePatternResult933 != null) {
+ a = new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](new __WEBPACK_IMPORTED_MODULE_7__Types_fs__["o" /* Token */](9), a);
+ txt_2 = Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult933)[1];
+ continue simpleLex_;
+ } else {
+ var activePatternResult931 = _RegexMatch___("\\/", txt_2);
+
+ if (activePatternResult931 != null) {
+ a = new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](new __WEBPACK_IMPORTED_MODULE_7__Types_fs__["o" /* Token */](25), a);
+ txt_2 = Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult931)[1];
+ continue simpleLex_;
+ } else {
+ var activePatternResult929 = _RegexMatch___("\\+", txt_2);
+
+ if (activePatternResult929 != null) {
+ a = new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](new __WEBPACK_IMPORTED_MODULE_7__Types_fs__["o" /* Token */](8), a);
+ txt_2 = Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult929)[1];
+ continue simpleLex_;
+ } else {
+ var activePatternResult927 = _RegexMatch___("\\-", txt_2);
+
+ if (activePatternResult927 != null) {
+ a = new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](new __WEBPACK_IMPORTED_MODULE_7__Types_fs__["o" /* Token */](7), a);
+ txt_2 = Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult927)[1];
+ continue simpleLex_;
+ } else {
+ var activePatternResult925 = _RegexMatch___("\\(", txt_2);
+
+ if (activePatternResult925 != null) {
+ a = new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](new __WEBPACK_IMPORTED_MODULE_7__Types_fs__["o" /* Token */](22), a);
+ txt_2 = Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult925)[1];
+ continue simpleLex_;
+ } else {
+ var activePatternResult923 = _RegexMatch___("\\)", txt_2);
+
+ if (activePatternResult923 != null) {
+ a = new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](new __WEBPACK_IMPORTED_MODULE_7__Types_fs__["o" /* Token */](23), a);
+ txt_2 = Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult923)[1];
+ continue simpleLex_;
+ } else {
+ var activePatternResult921 = _RegexMatch___("\\[", txt_2);
+
+ if (activePatternResult921 != null) {
+ a = new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](new __WEBPACK_IMPORTED_MODULE_7__Types_fs__["o" /* Token */](20), a);
+ txt_2 = Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult921)[1];
+ continue simpleLex_;
+ } else {
+ var activePatternResult919 = _RegexMatch___("\\]", txt_2);
+
+ if (activePatternResult919 != null) {
+ a = new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](new __WEBPACK_IMPORTED_MODULE_7__Types_fs__["o" /* Token */](21), a);
+ txt_2 = Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult919)[1];
+ continue simpleLex_;
+ } else {
+ var activePatternResult917 = _RegexMatch___("\\=", txt_2);
+
+ if (activePatternResult917 != null) {
+ a = new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](new __WEBPACK_IMPORTED_MODULE_7__Types_fs__["o" /* Token */](6), a);
+ txt_2 = Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult917)[1];
+ continue simpleLex_;
+ } else {
+ var activePatternResult915 = _RegexMatch___("\\.", txt_2);
+
+ if (activePatternResult915 != null) {
+ a = new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](new __WEBPACK_IMPORTED_MODULE_7__Types_fs__["o" /* Token */](10), a);
+ txt_2 = Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult915)[1];
+ continue simpleLex_;
+ } else {
+ var activePatternResult913 = _RegexMatch___("\\,", txt_2);
+
+ if (activePatternResult913 != null) {
+ a = new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](new __WEBPACK_IMPORTED_MODULE_7__Types_fs__["o" /* Token */](11), a);
+ txt_2 = Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult913)[1];
+ continue simpleLex_;
+ } else {
+ var activePatternResult911 = _RegexMatch___("\\{", txt_2);
+
+ if (activePatternResult911 != null) {
+ a = new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](new __WEBPACK_IMPORTED_MODULE_7__Types_fs__["o" /* Token */](28), a);
+ txt_2 = Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult911)[1];
+ continue simpleLex_;
+ } else {
+ var activePatternResult909 = _RegexMatch___("\\}", txt_2);
+
+ if (activePatternResult909 != null) {
+ a = new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](new __WEBPACK_IMPORTED_MODULE_7__Types_fs__["o" /* Token */](29), a);
+ txt_2 = Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult909)[1];
+ continue simpleLex_;
+ } else {
+ var activePatternResult907 = _RegexMatch___("[a-zA-z]+[0-9]*( [a-zA-z]+[0-9]*)*", txt_2);
+
+ if (activePatternResult907 != null) {
+ a = new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](new __WEBPACK_IMPORTED_MODULE_7__Types_fs__["o" /* Token */](1, Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult907)[0]), a);
+ txt_2 = Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult907)[1];
+ continue simpleLex_;
+ } else {
+ var activePatternResult905 = _RegexMatch___("\\|", txt_2);
+
+ if (activePatternResult905 != null) {
+ a = new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](new __WEBPACK_IMPORTED_MODULE_7__Types_fs__["o" /* Token */](5), a);
+ txt_2 = Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult905)[1];
+ continue simpleLex_;
+ } else {
+ var activePatternResult903 = _RegexMatch___("\\:", txt_2);
+
+ if (activePatternResult903 != null) {
+ a = new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](new __WEBPACK_IMPORTED_MODULE_7__Types_fs__["o" /* Token */](33), a);
+ txt_2 = Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult903)[1];
+ continue simpleLex_;
+ } else {
+ var activePatternResult901 = _RegexMatch___("\\;", txt_2);
+
+ if (activePatternResult901 != null) {
+ a = new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](new __WEBPACK_IMPORTED_MODULE_7__Types_fs__["o" /* Token */](36), a);
+ txt_2 = Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult901)[1];
+ continue simpleLex_;
+ } else if (txt_2 === "") {
+ return a;
+ } else {
+ return Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_String__["f" /* toFail */])(Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("Unexpected character: %A"))(txt_2);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ };
+
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["h" /* reverse */])(simpleLex_(new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](), txt));
+}
+function lexY(x, y, z) {
+ return [x, simpleLex(y), z];
+}
+var logger = new __WEBPACK_IMPORTED_MODULE_9__Logger_Logger_fs__["a" /* Logger */](1);
+
+/***/ }),
+/* 21 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export takeFirst */
+/* unused harmony export strRegexMatch */
+/* unused harmony export strStartsWith */
+/* harmony export (immutable) */ __webpack_exports__["f"] = toString;
+/* unused harmony export strReplace */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return _RegexMatch___; });
+/* harmony export (immutable) */ __webpack_exports__["e"] = literalString;
+/* unused harmony export $7C$CharMatch$7C$_$7C$ */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _Character___; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return _EscapedChar___; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return _GroupMatch___; });
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_RegExp__ = __webpack_require__(16);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Seq__ = __webpack_require__(3);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_String__ = __webpack_require__(7);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_List__ = __webpack_require__(0);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__ = __webpack_require__(5);
+
+
+
+
+
+function takeFirst(a, _arg1, _arg2) {
+ return a;
+}
+function strRegexMatch(regex, str) {
+ var m = Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_RegExp__["c" /* match */])(Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_RegExp__["a" /* create */])(regex), str);
+
+ if (m != null) {
+ var mLst = Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Seq__["n" /* toList */])(Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Seq__["d" /* delay */])(function () {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Seq__["i" /* map */])(function (x) {
+ return x;
+ }, m);
+ }));
+ return [mLst.head, mLst.tail];
+ } else {
+ return null;
+ }
+}
+function strStartsWith(value, str) {
+ return str.indexOf(value) === 0;
+}
+function toString(c) {
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_String__["a" /* join */])("", Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([c]));
+}
+function strReplace(o, n, s) {
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_String__["c" /* replace */])(s, o, n);
+}
+
+function _RegexMatch___(regex, str) {
+ var matchValue = strRegexMatch(regex, str);
+
+ if (matchValue != null) {
+ var m = Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(matchValue)[0];
+ var grp = Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(matchValue)[1];
+ var lchar = m.length | 0;
+ return [m, grp, str.slice(lchar, str.length)];
+ } else {
+ return null;
+ }
+}
+
+
+function literalString(charList) {
+ var addEscape = function addEscape(tupledArg) {
+ return function () {
+ var folder = function folder(st, n) {
+ return strReplace(n, "\\" + n, st);
+ };
+
+ return function (list) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(folder, tupledArg[0], list);
+ };
+ }()(Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])(["\\", ".", "^", "$", "*", "+", "-", "?", "(", ")", "[", "]", "{", "}", "|", "/"]));
+ };
+
+ return function (c) {
+ return "^.+?(?=\\s|" + c + "$)";
+ }(Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(function (x, y) {
+ return x + y;
+ }, "", Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_List__["e" /* map */])(function ($var1) {
+ return function (a) {
+ return a + "|";
+ }(addEscape($var1));
+ }, charList)));
+}
+
+function _CharMatch___(retLastMatch, a, charList, str) {
+ var testStartWith = function testStartWith(tupledArg) {
+ var ch = a + tupledArg[0];
+ return [strStartsWith(ch, str), ch, tupledArg[1]];
+ };
+
+ return function () {
+ var state = null;
+ return function (list) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(retLastMatch, state, list);
+ };
+ }()(Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_List__["e" /* map */])(testStartWith, charList));
+}
+
+
+
+function _Character___(charList, str) {
+ var retLastMatch = function retLastMatch(i, _arg1) {
+ if (_arg1[0]) {
+ return [_arg1[2], str.slice(_arg1[1].length, str.length)];
+ } else {
+ return i;
+ }
+ };
+
+ return _CharMatch___(retLastMatch, "", charList, str);
+}
+
+
+
+function _EscapedChar___(tType, charList, str) {
+ var retLastMatch = function retLastMatch(i, _arg1) {
+ if (_arg1[0]) {
+ return [tType(_arg1[1].slice(1, _arg1[1].length)), str.slice(_arg1[1].length, str.length)];
+ } else {
+ return i;
+ }
+ };
+
+ return _CharMatch___(retLastMatch, "\\", charList, str);
+}
+
+
+
+function _GroupMatch___(str, _arg1) {
+ var $var2 = void 0;
+
+ var activePatternResult525 = _RegexMatch___(str, _arg1);
+
+ if (activePatternResult525 != null) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult525)[1].tail != null) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult525)[1].tail.tail == null) {
+ $var2 = [0, Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult525)[0], Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult525)[2], Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult525)[1].head];
+ } else {
+ $var2 = [1];
+ }
+ } else {
+ $var2 = [1];
+ }
+ } else {
+ $var2 = [1];
+ }
+
+ switch ($var2[0]) {
+ case 0:
+ return $var2[3];
+
+ case 1:
+ return null;
+ }
+}
+
+
+
+/***/ }),
+/* 22 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__FMarkFable_fs__ = __webpack_require__(23);
+/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "processMarkdownString", function() { return __WEBPACK_IMPORTED_MODULE_0__FMarkFable_fs__["a"]; });
+
+
+/***/ }),
+/* 23 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (immutable) */ __webpack_exports__["a"] = processMarkdownString;
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Common_FMark_fs__ = __webpack_require__(24);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Common_Types_fs__ = __webpack_require__(6);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_Seq__ = __webpack_require__(3);
+
+
+
+function processMarkdownString(str) {
+ return Object(__WEBPACK_IMPORTED_MODULE_0__Common_FMark_fs__["a" /* processString */])(new __WEBPACK_IMPORTED_MODULE_1__Common_Types_fs__["e" /* OutFormat */](0))(Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_Seq__["n" /* toList */])(str));
+}
+
+/***/ }),
+/* 24 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export preLexParse */
+/* unused harmony export processString$27$ */
+/* harmony export (immutable) */ __webpack_exports__["a"] = processString;
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__ = __webpack_require__(4);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Parser_Parser_fs__ = __webpack_require__(25);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Lexer_Lexer_fs__ = __webpack_require__(32);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Lexer_Preprocessor_fs__ = __webpack_require__(33);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__ = __webpack_require__(9);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__Types_fs__ = __webpack_require__(6);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__HTMLGen_HTMLGen_fs__ = __webpack_require__(34);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__MarkdownGen_MarkdownGen_fs__ = __webpack_require__(36);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_String__ = __webpack_require__(7);
+
+
+
+
+
+
+
+
+
+var preLexParse = Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function ($var2) {
+ return function (toks) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__Parser_Parser_fs__["a" /* parse */])(toks);
+ }(function ($var1) {
+ return function (strl) {
+ return Object(__WEBPACK_IMPORTED_MODULE_2__Lexer_Lexer_fs__["a" /* lexList */])(strl);
+ }(Object(__WEBPACK_IMPORTED_MODULE_3__Lexer_Preprocessor_fs__["a" /* preprocessList */])($var1));
+ }($var2));
+});
+
+function processString_(formatFunc) {
+ return Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function ($var3) {
+ return function (result) {
+ return Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["c" /* map */])(formatFunc, result);
+ }(preLexParse($var3));
+ });
+}
+
+
+function processString(format) {
+ return Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(format.Equals(new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["e" /* OutFormat */](0)) ? processString_(function (pObjs) {
+ return Object(__WEBPACK_IMPORTED_MODULE_6__HTMLGen_HTMLGen_fs__["a" /* strBody */])(pObjs);
+ }) : format.Equals(new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["e" /* OutFormat */](1)) ? processString_(function (pObjs_1) {
+ return Object(__WEBPACK_IMPORTED_MODULE_7__MarkdownGen_MarkdownGen_fs__["a" /* mdBody */])(pObjs_1);
+ }) : Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_String__["f" /* toFail */])(Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("Invalid format type generated, this should not be possible.")));
+}
+
+/***/ }),
+/* 25 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export parseLiteral */
+/* unused harmony export parseCode */
+/* unused harmony export parseInLineElements */
+/* unused harmony export parseParagraph */
+/* unused harmony export $7C$MatchTable$7C$_$7C$ */
+/* unused harmony export parseItem */
+/* unused harmony export parseItemList */
+/* harmony export (immutable) */ __webpack_exports__["a"] = parse;
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ParserHelperFuncs_fs__ = __webpack_require__(26);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Option__ = __webpack_require__(5);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Shared_fs__ = __webpack_require__(8);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_String__ = __webpack_require__(7);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__ = __webpack_require__(9);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__ = __webpack_require__(0);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__Types_fs__ = __webpack_require__(6);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__Markalc_Markalc_fs__ = __webpack_require__(28);
+
+
+
+
+
+
+
+
+
+
+function parseLiteral(toks) {
+ var parseLiteral_ = function parseLiteral_(tupledArg) {
+ parseLiteral_: while (true) {
+ var activePatternResult1190 = Object(__WEBPACK_IMPORTED_MODULE_0__ParserHelperFuncs_fs__["d" /* $7C$MatchEmStart$7C$_$7C$ */])(tupledArg[1]);
+
+ if (activePatternResult1190 != null) {
+ return [tupledArg[0] + Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1190)[0], tupledArg[1]];
+ } else {
+ var activePatternResult1189 = Object(__WEBPACK_IMPORTED_MODULE_0__ParserHelperFuncs_fs__["c" /* $7C$MatchEmEnd$7C$_$7C$ */])(tupledArg[1]);
+
+ if (activePatternResult1189 != null) {
+ return [tupledArg[0] + Object(__WEBPACK_IMPORTED_MODULE_2__Shared_fs__["e" /* mapTok */])(Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1189)[0]), tupledArg[1]];
+ } else {
+ var activePatternResult1188 = Object(__WEBPACK_IMPORTED_MODULE_0__ParserHelperFuncs_fs__["b" /* $7C$IsNewTLine$7C$_$7C$ */])(tupledArg[1]);
+
+ if (activePatternResult1188 != null) {
+ return [tupledArg[0], tupledArg[1]];
+ } else {
+ var activePatternResult1187 = Object(__WEBPACK_IMPORTED_MODULE_0__ParserHelperFuncs_fs__["a" /* $7C$IsNewFrmt$7C$_$7C$ */])(tupledArg[1]);
+
+ if (activePatternResult1187 != null) {
+ return [tupledArg[0], tupledArg[1]];
+ } else {
+ var activePatternResult1186 = Object(__WEBPACK_IMPORTED_MODULE_0__ParserHelperFuncs_fs__["h" /* $7C$MatchNewParagraph$7C$_$7C$ */])(tupledArg[1]);
+
+ if (activePatternResult1186 != null) {
+ return [tupledArg[0], tupledArg[1]];
+ } else {
+ var $var1 = void 0;
+
+ if (tupledArg[1].tail != null) {
+ if (tupledArg[1].head.tag === 2) {
+ $var1 = [0, tupledArg[1].tail];
+ } else {
+ var activePatternResult1184 = Object(__WEBPACK_IMPORTED_MODULE_0__ParserHelperFuncs_fs__["g" /* $7C$MatchMapTok$7C$_$7C$ */])(tupledArg[1]);
+
+ if (activePatternResult1184 != null) {
+ $var1 = [1, Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1184)[0], Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1184)[1]];
+ } else {
+ $var1 = [2];
+ }
+ }
+ } else {
+ var activePatternResult1185 = Object(__WEBPACK_IMPORTED_MODULE_0__ParserHelperFuncs_fs__["g" /* $7C$MatchMapTok$7C$_$7C$ */])(tupledArg[1]);
+
+ if (activePatternResult1185 != null) {
+ $var1 = [1, Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1185)[0], Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1185)[1]];
+ } else {
+ $var1 = [2];
+ }
+ }
+
+ switch ($var1[0]) {
+ case 0:
+ tupledArg = [tupledArg[0] + " ", $var1[1]];
+ continue parseLiteral_;
+
+ case 1:
+ tupledArg = [tupledArg[0] + $var1[1], $var1[2]];
+ continue parseLiteral_;
+
+ case 2:
+ if (tupledArg[1].tail == null) {
+ return [tupledArg[0], tupledArg[1]];
+ } else {
+ __WEBPACK_IMPORTED_MODULE_2__Shared_fs__["h" /* sharedLog */].Warn(null)(Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("Unmatched token: %A"))(tupledArg[1]));
+ throw new Error(Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("unmatched token should never happen: %A"))(tupledArg[1]));
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ };
+
+ return parseLiteral_([__WEBPACK_IMPORTED_MODULE_0__ParserHelperFuncs_fs__["k" /* NOSTRING */], toks]);
+}
+function parseCode(toks) {
+ if (toks.tail != null) {
+ if (toks.head.tag === 30) {
+ return new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](0, ["", Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["i" /* slice */])(1, null, toks)]);
+ } else {
+ return Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["c" /* map */])(function (tupledArg) {
+ return [Object(__WEBPACK_IMPORTED_MODULE_2__Shared_fs__["e" /* mapTok */])(toks.head) + tupledArg[0], tupledArg[1]];
+ }, parseCode(toks.tail));
+ }
+ } else {
+ __WEBPACK_IMPORTED_MODULE_2__Shared_fs__["h" /* sharedLog */].Warn(null, Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("%A"))(toks));
+ return new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](0, ["\\`", Object(__WEBPACK_IMPORTED_MODULE_2__Shared_fs__["i" /* xOnwards */])(1, toks)]);
+ }
+}
+function parseInLineElements(toks) {
+ var parseInLineElements_ = function parseInLineElements_(toks_1) {
+ var $var2 = void 0;
+
+ if (toks_1.tail != null) {
+ if (toks_1.head.tag === 30) {
+ $var2 = [0];
+ } else {
+ var activePatternResult1202 = Object(__WEBPACK_IMPORTED_MODULE_0__ParserHelperFuncs_fs__["d" /* $7C$MatchEmStart$7C$_$7C$ */])(toks_1);
+
+ if (activePatternResult1202 != null) {
+ $var2 = [1, Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1202)[1], Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1202)[2]];
+ } else {
+ $var2 = [2];
+ }
+ }
+ } else {
+ var activePatternResult1203 = Object(__WEBPACK_IMPORTED_MODULE_0__ParserHelperFuncs_fs__["d" /* $7C$MatchEmStart$7C$_$7C$ */])(toks_1);
+
+ if (activePatternResult1203 != null) {
+ $var2 = [1, Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1203)[1], Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1203)[2]];
+ } else {
+ $var2 = [2];
+ }
+ }
+
+ switch ($var2[0]) {
+ case 0:
+ return Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["c" /* map */])(function (tupledArg) {
+ return [new __WEBPACK_IMPORTED_MODULE_6__Types_fs__["c" /* InlineElement */](0, new __WEBPACK_IMPORTED_MODULE_6__Types_fs__["j" /* TFrmtedString */](3, tupledArg[0])), tupledArg[1]];
+ }, parseCode(Object(__WEBPACK_IMPORTED_MODULE_2__Shared_fs__["i" /* xOnwards */])(1, toks_1)));
+
+ case 1:
+ return Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["c" /* map */])(function (tupledArg_1) {
+ var activePatternResult1199 = Object(__WEBPACK_IMPORTED_MODULE_0__ParserHelperFuncs_fs__["c" /* $7C$MatchEmEnd$7C$_$7C$ */])(tupledArg_1[1]);
+
+ if (activePatternResult1199 != null) {
+ if ($var2[1].Equals(Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1199)[1])) {
+ return [new __WEBPACK_IMPORTED_MODULE_6__Types_fs__["c" /* InlineElement */](0, new __WEBPACK_IMPORTED_MODULE_6__Types_fs__["j" /* TFrmtedString */](1, tupledArg_1[0])), Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1199)[2]];
+ } else {
+ __WEBPACK_IMPORTED_MODULE_2__Shared_fs__["h" /* sharedLog */].Warn(null)(Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("No match for em: %A"))(Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1199)[1]));
+ var patternInput = parseLiteral($var2[2]);
+ return [new __WEBPACK_IMPORTED_MODULE_6__Types_fs__["c" /* InlineElement */](0, new __WEBPACK_IMPORTED_MODULE_6__Types_fs__["j" /* TFrmtedString */](2, Object(__WEBPACK_IMPORTED_MODULE_0__ParserHelperFuncs_fs__["n" /* mapTEmphasis */])($var2[1]) + patternInput[0])), patternInput[1]];
+ }
+ } else {
+ var patternInput_1 = parseLiteral($var2[2]);
+ return [new __WEBPACK_IMPORTED_MODULE_6__Types_fs__["c" /* InlineElement */](0, new __WEBPACK_IMPORTED_MODULE_6__Types_fs__["j" /* TFrmtedString */](2, Object(__WEBPACK_IMPORTED_MODULE_0__ParserHelperFuncs_fs__["n" /* mapTEmphasis */])($var2[1]) + patternInput_1[0])), patternInput_1[1]];
+ }
+ }, parseInLines($var2[2]));
+
+ case 2:
+ var patternInput_2 = parseLiteral(toks_1);
+ return new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](0, [new __WEBPACK_IMPORTED_MODULE_6__Types_fs__["c" /* InlineElement */](0, new __WEBPACK_IMPORTED_MODULE_6__Types_fs__["j" /* TFrmtedString */](2, patternInput_2[0])), patternInput_2[1]]);
+ }
+ };
+
+ var parseInLines = function parseInLines(toks_2) {
+ if (toks_2.tail == null) {
+ return new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](0, [new __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](), new __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */]()]);
+ } else {
+ return Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["a" /* bind */])(function (tupledArg_2) {
+ if (tupledArg_2[1].tail == null) {
+ return new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](0, [Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([tupledArg_2[0]]), new __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */]()]);
+ } else {
+ var activePatternResult1213 = Object(__WEBPACK_IMPORTED_MODULE_0__ParserHelperFuncs_fs__["c" /* $7C$MatchEmEnd$7C$_$7C$ */])(tupledArg_2[1]);
+
+ if (activePatternResult1213 != null) {
+ return new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](0, [Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([tupledArg_2[0]]), tupledArg_2[1]]);
+ } else {
+ var activePatternResult1212 = Object(__WEBPACK_IMPORTED_MODULE_0__ParserHelperFuncs_fs__["h" /* $7C$MatchNewParagraph$7C$_$7C$ */])(tupledArg_2[1]);
+
+ if (activePatternResult1212 != null) {
+ return new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](0, [Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([tupledArg_2[0]]), Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1212)]);
+ } else {
+ var activePatternResult1211 = Object(__WEBPACK_IMPORTED_MODULE_0__ParserHelperFuncs_fs__["b" /* $7C$IsNewTLine$7C$_$7C$ */])(tupledArg_2[1]);
+
+ if (activePatternResult1211 != null) {
+ return Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["c" /* map */])(function (tupledArg_3) {
+ return [new __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](tupledArg_2[0], tupledArg_3[0]), tupledArg_3[1]];
+ }, parseInLines(Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1211)));
+ } else {
+ return Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["c" /* map */])(function (tupledArg_4) {
+ return [new __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](tupledArg_2[0], tupledArg_4[0]), tupledArg_4[1]];
+ }, parseInLines(tupledArg_2[1]));
+ }
+ }
+ }
+ }
+ }, parseInLineElements_(toks_2));
+ }
+ };
+
+ return parseInLines(toks);
+}
+function parseParagraph(toks) {
+ var parseParagraph_ = function parseParagraph_(toks_1) {
+ var activePatternResult1222 = Object(__WEBPACK_IMPORTED_MODULE_0__ParserHelperFuncs_fs__["h" /* $7C$MatchNewParagraph$7C$_$7C$ */])(toks_1);
+
+ if (activePatternResult1222 != null) {
+ return new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](0, [new __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](), Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1222)]);
+ } else {
+ return Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["c" /* map */])(function (tupledArg) {
+ return [tupledArg[0], tupledArg[1]];
+ }, parseInLineElements(toks_1));
+ }
+ };
+
+ var parseParagraphs = function parseParagraphs(toks_2) {
+ return Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["a" /* bind */])(function (tupledArg_1) {
+ if (tupledArg_1[1].tail == null) {
+ return new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](0, [Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([tupledArg_1[0]]), new __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */]()]);
+ } else {
+ var activePatternResult1227 = Object(__WEBPACK_IMPORTED_MODULE_0__ParserHelperFuncs_fs__["h" /* $7C$MatchNewParagraph$7C$_$7C$ */])(tupledArg_1[1]);
+
+ if (activePatternResult1227 != null) {
+ return new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](0, [new __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](), Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1227)]);
+ } else {
+ return Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["c" /* map */])(function (tupledArg_2) {
+ return [new __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](tupledArg_1[0], tupledArg_2[0]), tupledArg_2[1]];
+ }, parseParagraphs(tupledArg_1[1]));
+ }
+ }
+ }, parseParagraph_(toks_2));
+ };
+
+ return Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["c" /* map */])(function (tupledArg_3) {
+ return [new __WEBPACK_IMPORTED_MODULE_6__Types_fs__["h" /* ParsedObj */](4, tupledArg_3[0]), tupledArg_3[1]];
+ }, parseParagraphs(toks));
+}
+
+function _MatchTable___(toks) {
+ var tableTransform = function tableTransform(tupledArg) {
+ return function (_arg1) {
+ if (_arg1.tag === 1) {
+ return null;
+ } else {
+ var toPCellList = function toPCellList(cell) {
+ var patternInput = cell.GetParams;
+
+ var pCellLine = function (_arg2) {
+ if (_arg2.tag === 1) {
+ return Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([new __WEBPACK_IMPORTED_MODULE_6__Types_fs__["c" /* InlineElement */](0, new __WEBPACK_IMPORTED_MODULE_6__Types_fs__["j" /* TFrmtedString */](2, _arg2.data))]);
+ } else {
+ var x = _arg2.data[0];
+ return x;
+ }
+ }(parseInLineElements(patternInput[0]));
+
+ return new __WEBPACK_IMPORTED_MODULE_6__Types_fs__["f" /* PCell */](0, [pCellLine, patternInput[1], patternInput[2]]);
+ };
+
+ var toPRow = function toPRow(row) {
+ var patternInput_1 = function (_arg3) {
+ return [_arg3.data[0], _arg3.data[1]];
+ }(row);
+
+ return new __WEBPACK_IMPORTED_MODULE_6__Types_fs__["g" /* PRow */](0, [Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["e" /* map */])(toPCellList, patternInput_1[0]), patternInput_1[1]]);
+ };
+
+ return [new __WEBPACK_IMPORTED_MODULE_6__Types_fs__["h" /* ParsedObj */](6, Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["e" /* map */])(toPRow, _arg1.data)), tupledArg[1]];
+ }
+ }(Object(__WEBPACK_IMPORTED_MODULE_7__Markalc_Markalc_fs__["a" /* parseEvaluateTable */])(tupledArg[0]));
+ };
+
+ var activePatternResult1245 = Object(__WEBPACK_IMPORTED_MODULE_0__ParserHelperFuncs_fs__["j" /* $7C$MatchTableHead$7C$_$7C$ */])(toks);
+
+ if (activePatternResult1245 != null) {
+ var activePatternResult1244 = Object(__WEBPACK_IMPORTED_MODULE_0__ParserHelperFuncs_fs__["i" /* $7C$MatchTableFormater$7C$_$7C$ */])(Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1245));
+
+ if (activePatternResult1244 != null) {
+ return tableTransform(Object(__WEBPACK_IMPORTED_MODULE_0__ParserHelperFuncs_fs__["l" /* cutTableRows */])(toks));
+ } else {
+ return null;
+ }
+ } else {
+ return null;
+ }
+}
+
+
+function parseItem(rawToks) {
+ var toks = Object(__WEBPACK_IMPORTED_MODULE_0__ParserHelperFuncs_fs__["m" /* deleteLeadingENDLINEs */])(rawToks);
+ var $var3 = void 0;
+
+ if (toks.tail != null) {
+ if (toks.head.tag === 0) {
+ $var3 = [0, toks.head.data[0], toks.head.data[1], toks.tail];
+ } else {
+ var activePatternResult1256 = Object(__WEBPACK_IMPORTED_MODULE_0__ParserHelperFuncs_fs__["f" /* $7C$MatchListOpSpace$7C$_$7C$ */])(toks);
+
+ if (activePatternResult1256 != null) {
+ $var3 = [1];
+ } else {
+ $var3 = [2];
+ }
+ }
+ } else {
+ var activePatternResult1257 = Object(__WEBPACK_IMPORTED_MODULE_0__ParserHelperFuncs_fs__["f" /* $7C$MatchListOpSpace$7C$_$7C$ */])(toks);
+
+ if (activePatternResult1257 != null) {
+ $var3 = [1];
+ } else {
+ $var3 = [2];
+ }
+ }
+
+ switch ($var3[0]) {
+ case 0:
+ return new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](0, [new __WEBPACK_IMPORTED_MODULE_6__Types_fs__["h" /* ParsedObj */](0, [$var3[1], $var3[2]]), $var3[3]]);
+
+ case 1:
+ return new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](1, "Lists todo");
+
+ case 2:
+ var activePatternResult1255 = _MatchTable___(toks);
+
+ if (activePatternResult1255 != null) {
+ return new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](0, [Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1255)[0], Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1255)[1]]);
+ } else {
+ var $var4 = void 0;
+
+ if (toks.tail != null) {
+ if (toks.head.tag === 27) {
+ $var4 = [0, toks.tail];
+ } else {
+ var activePatternResult1253 = Object(__WEBPACK_IMPORTED_MODULE_0__ParserHelperFuncs_fs__["e" /* $7C$MatchHeader$7C$_$7C$ */])(toks);
+
+ if (activePatternResult1253 != null) {
+ $var4 = [1, Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1253)[0], Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1253)[1]];
+ } else {
+ $var4 = [2];
+ }
+ }
+ } else {
+ var activePatternResult1254 = Object(__WEBPACK_IMPORTED_MODULE_0__ParserHelperFuncs_fs__["e" /* $7C$MatchHeader$7C$_$7C$ */])(toks);
+
+ if (activePatternResult1254 != null) {
+ $var4 = [1, Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1254)[0], Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1254)[1]];
+ } else {
+ $var4 = [2];
+ }
+ }
+
+ switch ($var4[0]) {
+ case 0:
+ return Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["c" /* map */])(function (tupledArg) {
+ return [new __WEBPACK_IMPORTED_MODULE_6__Types_fs__["h" /* ParsedObj */](5, tupledArg[0]), tupledArg[1]];
+ }, parseInLineElements($var4[1]));
+
+ case 1:
+ return Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["c" /* map */])(function (tupledArg_1) {
+ return [new __WEBPACK_IMPORTED_MODULE_6__Types_fs__["h" /* ParsedObj */](1, new __WEBPACK_IMPORTED_MODULE_6__Types_fs__["k" /* THeader */](tupledArg_1[0], $var4[1])), tupledArg_1[1]];
+ }, parseInLineElements($var4[2]));
+
+ case 2:
+ return Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["c" /* map */])(function (tupledArg_2) {
+ return [tupledArg_2[0], tupledArg_2[1]];
+ }, parseParagraph(toks));
+ }
+ }
+
+ }
+}
+function parseItemList(toks) {
+ return Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["a" /* bind */])(function (tupledArg) {
+ var matchValue = tupledArg[1].tail == null;
+
+ if (matchValue) {
+ return new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](0, [Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([tupledArg[0]]), null]);
+ } else {
+ return Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["c" /* map */])(function (tupledArg_1) {
+ return [new __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](tupledArg[0], tupledArg_1[0]), tupledArg_1[1]];
+ }, parseItemList(tupledArg[1]));
+ }
+ }, parseItem(toks));
+}
+function parse(toks) {
+ return Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["a" /* bind */])(function (tupledArg) {
+ return tupledArg[1] != null ? new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](1, Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("Some unparsed tokens: %A"))(Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(tupledArg[1]))) : new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](0, tupledArg[0]);
+ }, parseItemList(toks));
+}
+
+/***/ }),
+/* 26 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export SPACE */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "k", function() { return NOSTRING; });
+/* unused harmony export TEmphasis */
+/* harmony export (immutable) */ __webpack_exports__["n"] = mapTEmphasis;
+/* harmony export (immutable) */ __webpack_exports__["m"] = deleteLeadingENDLINEs;
+/* unused harmony export stringAllTokens */
+/* unused harmony export countToks */
+/* unused harmony export countSpaces */
+/* unused harmony export countNewLines */
+/* unused harmony export countDelim */
+/* unused harmony export countPipes */
+/* unused harmony export countMinus */
+/* unused harmony export cutLine */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return _IsNewTLine___; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _IsNewFrmt___; });
+/* unused harmony export $7C$IsWordSepAndNewFrmt$7C$_$7C$ */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return _MatchEmStart___; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return _MatchEmEnd___; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return _MatchNewParagraph___; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return _MatchMapTok___; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return _MatchHeader___; });
+/* unused harmony export $7C$MatchList$7C$_$7C$ */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return _MatchListOpSpace___; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "j", function() { return _MatchTableHead___; });
+/* unused harmony export pipeMatch */
+/* unused harmony export minusMatch */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return _MatchTableFormater___; });
+/* harmony export (immutable) */ __webpack_exports__["l"] = cutTableRows;
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__ = __webpack_require__(1);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__ = __webpack_require__(2);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Shared_fs__ = __webpack_require__(8);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Seq__ = __webpack_require__(3);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__ = __webpack_require__(4);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__Types_fs__ = __webpack_require__(6);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_List__ = __webpack_require__(0);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__ = __webpack_require__(5);
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+
+
+
+
+
+
+
+
+
+
+var SPACE = " ";
+var NOSTRING = "";
+var TEmphasis = function () {
+ function TEmphasis(tag, data) {
+ _classCallCheck(this, TEmphasis);
+
+ this.tag = tag;
+ this.data = data;
+ }
+
+ _createClass(TEmphasis, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "ParserHelperFuncs.TEmphasis",
+ interfaces: ["FSharpUnion", "System.IEquatable", "System.IComparable"],
+ cases: [["UNDER"], ["STAR"]]
+ };
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(other) {
+ return this === other || this.tag === other.tag && Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["i" /* equals */])(this.data, other.data);
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["h" /* compareUnions */])(this, other) | 0;
+ }
+ }]);
+
+ return TEmphasis;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("ParserHelperFuncs.TEmphasis", TEmphasis);
+function mapTEmphasis(_arg1) {
+ if (_arg1.tag === 1) {
+ return "*";
+ } else {
+ return "_";
+ }
+}
+function deleteLeadingENDLINEs(toks) {
+ deleteLeadingENDLINEs: while (true) {
+ var $var1 = toks.tail != null ? toks.head.tag === 32 ? [0, toks.tail] : [1] : [1];
+
+ switch ($var1[0]) {
+ case 0:
+ toks = $var1[1];
+ continue deleteLeadingENDLINEs;
+
+ case 1:
+ return toks;
+ }
+ }
+}
+function stringAllTokens(toks) {
+ var matchTok = function matchTok(i, tok) {
+ return i + Object(__WEBPACK_IMPORTED_MODULE_2__Shared_fs__["e" /* mapTok */])(tok);
+ };
+
+ return Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(matchTok, "", toks);
+}
+function countToks(tok, toks) {
+ var countToks_ = function countToks_(tupledArg) {
+ countToks_: while (true) {
+ var $var2 = tupledArg[1].tail != null ? tupledArg[1].head.Equals(tok) ? [0, tupledArg[1].tail, tupledArg[1].head] : [1] : [1];
+
+ switch ($var2[0]) {
+ case 0:
+ tupledArg = [tupledArg[0] + 1, $var2[1]];
+ continue countToks_;
+
+ case 1:
+ return [tupledArg[0], tupledArg[1]];
+ }
+ }
+ };
+
+ return countToks_([0, toks])[0] | 0;
+}
+function countSpaces(toks) {
+ var countToks_ = function countToks_(tupledArg) {
+ countToks_: while (true) {
+ var $var3 = tupledArg[1].tail != null ? tupledArg[1].head.tag === 2 ? [0, tupledArg[1].head.data, tupledArg[1].tail] : [1] : [1];
+
+ switch ($var3[0]) {
+ case 0:
+ tupledArg = [tupledArg[0] + $var3[1], $var3[2]];
+ continue countToks_;
+
+ case 1:
+ return [tupledArg[0], tupledArg[1]];
+ }
+ }
+ };
+
+ return countToks_([0, toks])[0] | 0;
+}
+var countNewLines = Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function () {
+ var tok = new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](32);
+ return function (toks) {
+ return countToks(tok, toks);
+ };
+}());
+function countDelim(delim, toks) {
+ var counter = function counter(tok) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["i" /* equals */])(tok, delim)) {
+ return 1;
+ } else {
+ return 0;
+ }
+ };
+
+ return Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Seq__["m" /* sumBy */])(counter, toks) | 0;
+}
+var countPipes = Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function () {
+ var delim = new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](5);
+ return function (toks) {
+ return countDelim(delim, toks);
+ };
+}());
+var countMinus = Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function () {
+ var delim = new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](7);
+ return function (toks) {
+ return countDelim(delim, toks);
+ };
+}());
+function cutLine(toks) {
+ var cutLine_ = function cutLine_(line, rtks) {
+ cutLine_: while (true) {
+ if (rtks.tail == null) {
+ return [Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_List__["h" /* reverse */])(line), new __WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */]()];
+ } else if (rtks.head.tag === 32) {
+ return [Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_List__["h" /* reverse */])(new __WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["o" /* Token */](32), line)), rtks.tail];
+ } else {
+ line = new __WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](rtks.head, line);
+ rtks = rtks.tail;
+ continue cutLine_;
+ }
+ }
+ };
+
+ return cutLine_(new __WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](), toks);
+}
+
+function _IsNewTLine___(toks) {
+ var takeAwaySpaces = function takeAwaySpaces(toks_1) {
+ takeAwaySpaces: while (true) {
+ var $var4 = toks_1.tail != null ? toks_1.head.tag === 2 ? [0, toks_1.tail] : [1] : [1];
+
+ switch ($var4[0]) {
+ case 0:
+ toks_1 = $var4[1];
+ continue takeAwaySpaces;
+
+ case 1:
+ return toks_1;
+ }
+ }
+ };
+
+ var matchValue = countSpaces(toks) >= 2;
+
+ if (matchValue) {
+ var toksWOSpaces = takeAwaySpaces(toks);
+ var matchValue_1 = countNewLines(toksWOSpaces) === 1;
+
+ if (matchValue_1) {
+ return takeAwaySpaces(Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_List__["i" /* slice */])(1, null, toksWOSpaces));
+ } else {
+ return null;
+ }
+ } else {
+ return null;
+ }
+}
+
+
+
+function _IsNewFrmt___(toks) {
+ var $var5 = toks.tail != null ? toks.head.tag === 14 ? [0] : toks.head.tag === 15 ? [0] : toks.head.tag === 16 ? [0] : toks.head.tag === 9 ? [0] : toks.head.tag === 12 ? [0] : toks.head.tag === 13 ? [0] : toks.head.tag === 30 ? [0] : toks.head.tag === 22 ? [0] : toks.head.tag === 23 ? [0] : toks.head.tag === 31 ? [0] : toks.head.tag === 20 ? [0] : toks.head.tag === 21 ? [0] : [1] : [1];
+
+ switch ($var5[0]) {
+ case 0:
+ return toks;
+
+ case 1:
+ return null;
+ }
+}
+
+
+
+function _IsWordSepAndNewFrmt___(toks) {
+ var $var6 = toks.tail != null ? toks.head.tag === 2 ? [0, toks.tail] : [1] : [1];
+
+ switch ($var6[0]) {
+ case 0:
+ var activePatternResult1145 = _IsNewFrmt___($var6[1]);
+
+ if (activePatternResult1145 != null) {
+ return toks;
+ } else {
+ return null;
+ }
+
+ case 1:
+ return null;
+ }
+}
+
+
+
+function _MatchEmStart___(toks) {
+ var $var7 = toks.tail != null ? toks.head.tag === 2 ? toks.tail.tail != null ? toks.tail.head.tag === 14 ? toks.tail.tail.tail != null ? toks.tail.tail.head.tag === 2 ? [0] : [1, toks.tail.tail] : [1, toks.tail.tail] : [4] : [4] : toks.head.tag === 9 ? toks.tail.tail != null ? toks.tail.head.tag === 2 ? [2] : [3, toks.tail] : [3, toks.tail] : [4] : [4];
+
+ switch ($var7[0]) {
+ case 0:
+ return null;
+
+ case 1:
+ return [" ", new TEmphasis(0), $var7[1]];
+
+ case 2:
+ return null;
+
+ case 3:
+ return ["", new TEmphasis(1), $var7[1]];
+
+ case 4:
+ return null;
+ }
+}
+
+
+
+function _MatchEmEnd___(toks) {
+ var $var8 = toks.tail != null ? toks.head.tag === 2 ? toks.tail.tail != null ? toks.tail.head.tag === 14 ? [0] : toks.tail.head.tag === 9 ? [4] : [6] : [6] : toks.tail.tail != null ? toks.tail.head.tag === 14 ? toks.tail.tail.tail == null ? [3, toks.head] : toks.tail.tail.head.tag === 32 ? [1, toks.head] : toks.tail.tail.head.tag === 2 ? [2, toks.head] : [6] : toks.tail.head.tag === 9 ? [5, toks.head, toks.tail.tail] : [6] : [6] : [6];
+
+ switch ($var8[0]) {
+ case 0:
+ return null;
+
+ case 1:
+ return [$var8[1], new TEmphasis(0), Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_List__["i" /* slice */])(2, null, toks)];
+
+ case 2:
+ return [$var8[1], new TEmphasis(0), Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_List__["i" /* slice */])(2, null, toks)];
+
+ case 3:
+ return [$var8[1], new TEmphasis(0), new __WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */]()];
+
+ case 4:
+ return null;
+
+ case 5:
+ return [$var8[1], new TEmphasis(1), $var8[2]];
+
+ case 6:
+ return null;
+ }
+}
+
+
+
+function _MatchNewParagraph___(toks) {
+ var matchValue = countNewLines(toks) | 0;
+
+ if (matchValue >= 2) {
+ return Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_List__["i" /* slice */])(matchValue, null, toks);
+ } else {
+ return null;
+ }
+}
+
+
+
+function _MatchMapTok___(_arg1) {
+ if (_arg1.tail != null) {
+ return [Object(__WEBPACK_IMPORTED_MODULE_2__Shared_fs__["e" /* mapTok */])(_arg1.head), _arg1.tail];
+ } else {
+ return null;
+ }
+}
+
+
+
+function _MatchHeader___(toks) {
+ var countHashes = function countHashes(n, tks) {
+ countHashes: while (true) {
+ var $var9 = tks.tail != null ? tks.head.tag === 4 ? [0, tks.tail] : [1] : [1];
+
+ switch ($var9[0]) {
+ case 0:
+ n = n + 1;
+ tks = $var9[1];
+ continue countHashes;
+
+ case 1:
+ return n | 0;
+ }
+ }
+ };
+
+ var matchValue = countHashes(0, toks) | 0;
+
+ if (matchValue > 0) {
+ var matchValue_1 = Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_List__["i" /* slice */])(matchValue, null, toks);
+ var $var10 = matchValue_1.tail != null ? matchValue_1.head.tag === 2 ? [0, matchValue_1.tail] : [1] : [1];
+
+ switch ($var10[0]) {
+ case 0:
+ return [matchValue, $var10[1]];
+
+ case 1:
+ return null;
+ }
+ } else {
+ return null;
+ }
+}
+
+
+
+function _MatchList___(toks) {
+ var $var11 = toks.tail != null ? toks.head.tag === 3 ? toks.tail.tail != null ? toks.tail.head.tag === 10 ? toks.tail.tail.tail != null ? toks.tail.tail.head.tag === 2 ? [0, toks.tail.tail.tail] : [2] : [2] : [2] : [2] : toks.head.tag === 9 ? toks.tail.tail != null ? toks.tail.head.tag === 2 ? [1, toks.tail.tail] : [2] : [2] : [2] : [2];
+
+ switch ($var11[0]) {
+ case 0:
+ return [new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["n" /* TListType */](1), $var11[1]];
+
+ case 1:
+ return [new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["n" /* TListType */](0), $var11[1]];
+
+ case 2:
+ return null;
+ }
+}
+
+
+
+function _MatchListOpSpace___(toks) {
+ var $var12 = void 0;
+
+ if (toks.tail != null) {
+ if (toks.head.tag === 2) {
+ var activePatternResult1169 = _MatchList___(toks.tail);
+
+ if (activePatternResult1169 != null) {
+ $var12 = [0, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1169)];
+ } else {
+ $var12 = [1];
+ }
+ } else {
+ $var12 = [1];
+ }
+ } else {
+ $var12 = [1];
+ }
+
+ switch ($var12[0]) {
+ case 0:
+ return $var12[1];
+
+ case 1:
+ var activePatternResult1168 = _MatchList___(toks);
+
+ if (activePatternResult1168 != null) {
+ return Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1168);
+ } else {
+ return null;
+ }
+
+ }
+}
+
+
+
+function _MatchTableHead___(toks) {
+ var patternInput = cutLine(toks);
+
+ if (patternInput[0].tail == null) {
+ return null;
+ } else {
+ return patternInput[1];
+ }
+}
+
+
+function pipeMatch(oToks) {
+ return Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["b" /* defaultArg */])(oToks, null, function (toks) {
+ var $var13 = toks.tail != null ? toks.head.tag === 5 ? [0, toks.tail] : [1] : [1];
+
+ switch ($var13[0]) {
+ case 0:
+ return $var13[1];
+
+ case 1:
+ return null;
+ }
+ });
+}
+function minusMatch(oToks) {
+ var takeAwayMinuses = function takeAwayMinuses(toks) {
+ var takeAwayMinuses_ = function takeAwayMinuses_(n, toks_1) {
+ takeAwayMinuses_: while (true) {
+ var $var14 = toks_1.tail != null ? toks_1.head.tag === 7 ? [0, toks_1.tail] : [1] : [1];
+
+ switch ($var14[0]) {
+ case 0:
+ n = n + 1;
+ toks_1 = $var14[1];
+ continue takeAwayMinuses_;
+
+ case 1:
+ return [n, toks_1];
+ }
+ }
+ };
+
+ return takeAwayMinuses_(0, toks);
+ };
+
+ return Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["b" /* defaultArg */])(oToks, null, function (toks_2) {
+ var patternInput = takeAwayMinuses(toks_2);
+
+ if (patternInput[0] > 0) {
+ return patternInput[1];
+ } else {
+ return null;
+ }
+ });
+}
+
+function _MatchTableFormater___(toks) {
+ var patternInput = cutLine(toks);
+ var matchValue = [countPipes(patternInput[0]), countMinus(patternInput[0])];
+
+ if (matchValue[0] > 0 ? matchValue[1] > 2 : false) {
+ return patternInput[1];
+ } else {
+ return null;
+ }
+}
+
+
+function cutTableRows(toks) {
+ var cutTableRow_ = function cutTableRow_(rows, toks_1) {
+ cutTableRow_: while (true) {
+ if (toks_1.tail == null) {
+ return [Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_List__["h" /* reverse */])(rows), new __WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */]()];
+ } else if (toks_1.head.tag === 32) {
+ return [Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_List__["h" /* reverse */])(rows), toks_1.tail];
+ } else {
+ var patternInput = cutLine(toks_1);
+ rows = new __WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](patternInput[0], rows);
+ toks_1 = patternInput[1];
+ continue cutTableRow_;
+ }
+ }
+ };
+
+ return cutTableRow_(new __WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](), toks);
+}
+
+/***/ }),
+/* 27 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (immutable) */ __webpack_exports__["a"] = start;
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Async__ = __webpack_require__(17);
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+
+
+
+
+var QueueCell = function QueueCell(message) {
+ _classCallCheck(this, QueueCell);
+
+ this.value = message;
+};
+
+var MailboxQueue = function () {
+ function MailboxQueue() {
+ _classCallCheck(this, MailboxQueue);
+ }
+
+ _createClass(MailboxQueue, [{
+ key: "add",
+ value: function add(message) {
+ var itCell = new QueueCell(message);
+ if (this.firstAndLast) {
+ this.firstAndLast[1].next = itCell;
+ this.firstAndLast = [this.firstAndLast[0], itCell];
+ } else {
+ this.firstAndLast = [itCell, itCell];
+ }
+ }
+ }, {
+ key: "tryGet",
+ value: function tryGet() {
+ if (this.firstAndLast) {
+ var value = this.firstAndLast[0].value;
+ if (this.firstAndLast[0].next) {
+ this.firstAndLast = [this.firstAndLast[0].next, this.firstAndLast[1]];
+ } else {
+ delete this.firstAndLast;
+ }
+ return value;
+ }
+ return void 0;
+ }
+ }]);
+
+ return MailboxQueue;
+}();
+
+var MailboxProcessor = function () {
+ function MailboxProcessor(body, cancellationToken) {
+ _classCallCheck(this, MailboxProcessor);
+
+ this.body = body;
+ this.cancellationToken = cancellationToken || __WEBPACK_IMPORTED_MODULE_0__Async__["a" /* defaultCancellationToken */];
+ this.messages = new MailboxQueue();
+ }
+
+ _createClass(MailboxProcessor, [{
+ key: "__processEvents",
+ value: function __processEvents() {
+ if (this.continuation) {
+ var value = this.messages.tryGet();
+ if (value) {
+ var cont = this.continuation;
+ delete this.continuation;
+ cont(value);
+ }
+ }
+ }
+ }, {
+ key: "start",
+ value: function start() {
+ Object(__WEBPACK_IMPORTED_MODULE_0__Async__["c" /* startImmediate */])(this.body(this), this.cancellationToken);
+ }
+ }, {
+ key: "receive",
+ value: function receive() {
+ var _this = this;
+
+ return Object(__WEBPACK_IMPORTED_MODULE_0__Async__["b" /* fromContinuations */])(function (conts) {
+ if (_this.continuation) {
+ throw new Error("Receive can only be called once!");
+ }
+ _this.continuation = conts[0];
+ _this.__processEvents();
+ });
+ }
+ }, {
+ key: "post",
+ value: function post(message) {
+ this.messages.add(message);
+ this.__processEvents();
+ }
+ }, {
+ key: "postAndAsyncReply",
+ value: function postAndAsyncReply(buildMessage) {
+ var result = void 0;
+ var continuation = void 0;
+ function checkCompletion() {
+ if (result && continuation) {
+ continuation(result);
+ }
+ }
+ var reply = {
+ reply: function reply(res) {
+ result = res;
+ checkCompletion();
+ }
+ };
+ this.messages.add(buildMessage(reply));
+ this.__processEvents();
+ return Object(__WEBPACK_IMPORTED_MODULE_0__Async__["b" /* fromContinuations */])(function (conts) {
+ continuation = conts[0];
+ checkCompletion();
+ });
+ }
+ }]);
+
+ return MailboxProcessor;
+}();
+
+/* unused harmony default export */ var _unused_webpack_default_export = (MailboxProcessor);
+
+function start(body, cancellationToken) {
+ var mbox = new MailboxProcessor(body, cancellationToken);
+ mbox.start();
+ return mbox;
+}
+
+/***/ }),
+/* 28 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export MapContents */
+/* unused harmony export pipeSplit */
+/* unused harmony export toToken */
+/* unused harmony export joinErrorList */
+/* unused harmony export liftFirstArg */
+/* unused harmony export makeCellU */
+/* unused harmony export defaultCellU */
+/* unused harmony export headCellU */
+/* unused harmony export alignCell */
+/* unused harmony export parsePipesD */
+/* unused harmony export parsePipes */
+/* unused harmony export parseRow */
+/* unused harmony export parseDefaultRow */
+/* unused harmony export parseAlignRow */
+/* unused harmony export alignCells$27$ */
+/* unused harmony export alignCells */
+/* unused harmony export transformTable */
+/* unused harmony export tryEval$27$ */
+/* unused harmony export tryEval */
+/* unused harmony export evaluateCellList */
+/* harmony export (immutable) */ __webpack_exports__["a"] = parseEvaluateTable;
+/* unused harmony export lexParseEvaluate */
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__ = __webpack_require__(1);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Types_fs__ = __webpack_require__(6);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__MarkalcShared_fs__ = __webpack_require__(20);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_String__ = __webpack_require__(7);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__ = __webpack_require__(9);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__ = __webpack_require__(0);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_Seq__ = __webpack_require__(3);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__ = __webpack_require__(4);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__Shared_fs__ = __webpack_require__(8);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__nuget_packages_fable_core_1_3_1_fable_core_Map__ = __webpack_require__(10);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__nuget_packages_fable_core_1_3_1_fable_core_Option__ = __webpack_require__(5);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__Expression_fs__ = __webpack_require__(29);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__nuget_packages_fable_core_1_3_1_fable_core_Comparer__ = __webpack_require__(11);
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+var MapContents = function () {
+ function MapContents(tag, data) {
+ _classCallCheck(this, MapContents);
+
+ this.tag = tag;
+ this.data = data;
+ }
+
+ _createClass(MapContents, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "Markalc.MapContents",
+ interfaces: ["FSharpUnion"],
+ cases: [["MapTok", __WEBPACK_IMPORTED_MODULE_1__Types_fs__["b" /* Cell */]], ["MapExp", __WEBPACK_IMPORTED_MODULE_2__MarkalcShared_fs__["b" /* Expr */], __WEBPACK_IMPORTED_MODULE_1__Types_fs__["b" /* Cell */]]]
+ };
+ }
+ }]);
+
+ return MapContents;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("Markalc.MapContents", MapContents);
+function pipeSplit(toks) {
+ return Object(__WEBPACK_IMPORTED_MODULE_2__MarkalcShared_fs__["f" /* delimSplit */])(false, new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["o" /* Token */](5), toks);
+}
+function toToken(x) {
+ return new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["o" /* Token */](3, x.toString());
+}
+function joinErrorList(lst) {
+ var filt = function filt(x) {
+ if (x.tag === 0) {
+ return false;
+ } else {
+ return true;
+ }
+ };
+
+ var unpackOks = function unpackOks(_arg1) {
+ if (_arg1.tag === 1) {
+ return Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_String__["f" /* toFail */])(Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("After filtering, there were still Error monads in the list %A."))(_arg1.data);
+ } else {
+ return _arg1.data;
+ }
+ };
+
+ var combineErrors = function combineErrors(s, x_1) {
+ if (x_1.tag === 1) {
+ return new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](1, Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("%A %A"))(x_1.data, s));
+ } else {
+ return s;
+ }
+ };
+
+ var matchValue = Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["d" /* filter */])(filt, lst);
+
+ if (matchValue.tail == null) {
+ return new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](0, Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["e" /* map */])(unpackOks, lst));
+ } else {
+ return Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(combineErrors, new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](1, ""), matchValue);
+ }
+}
+function liftFirstArg(func, arg1, arg2) {
+ if (arg1.tag === 1) {
+ return new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](1, arg1.data);
+ } else {
+ return new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](0, func(arg1.data, arg2));
+ }
+}
+function makeCellU(header, tokens) {
+ return [tokens, header];
+}
+var defaultCellU = Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function (tokens) {
+ return makeCellU(false, tokens);
+});
+var headCellU = Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function (tokens) {
+ return makeCellU(true, tokens);
+});
+function alignCell(alignment, cellU_0, cellU_1) {
+ var cellU = [cellU_0, cellU_1];
+ return new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["b" /* Cell */](0, [cellU[0], cellU[1], alignment]);
+}
+function parsePipesD(debug, constructCell, row) {
+ var parsePipes_ = function parsePipes_(a, row_1) {
+ parsePipes_: while (true) {
+ var matchValue = pipeSplit(row_1);
+
+ if (matchValue.tag === 1) {
+ if (row_1.tail == null) {
+ return a;
+ } else {
+ return new __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](constructCell(row_1), a);
+ }
+ } else if (matchValue.data[0].tail == null) {
+ if (matchValue.data[1].tail == null) {
+ return new __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](constructCell(new __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */]()), a);
+ } else {
+ var after = matchValue.data[1];
+ __WEBPACK_IMPORTED_MODULE_2__MarkalcShared_fs__["g" /* logger */].Debug(null)(Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("empty, %A"))(after));
+ a = new __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](constructCell(new __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */]()), a);
+ row_1 = after;
+ continue parsePipes_;
+ }
+ } else if (matchValue.data[1].tail == null) {
+ var before = matchValue.data[0];
+ __WEBPACK_IMPORTED_MODULE_2__MarkalcShared_fs__["g" /* logger */].Debug(null)(Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("%A, empty"))(before));
+ return new __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](constructCell(before), a);
+ } else {
+ var before_1 = matchValue.data[0];
+ var after_1 = matchValue.data[1];
+ __WEBPACK_IMPORTED_MODULE_2__MarkalcShared_fs__["g" /* logger */].Debug(null)(Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("%A, %A"))(before_1, after_1));
+ a = new __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](constructCell(before_1), a);
+ row_1 = after_1;
+ continue parsePipes_;
+ }
+ }
+ };
+
+ return parsePipes_(new __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](), row);
+}
+function parsePipes(constructCell, row) {
+ return parsePipesD(false, constructCell, row);
+}
+function parseRow(constructCell, row) {
+ var parseRow_ = function parseRow_(row_1) {
+ return parsePipes(constructCell, row_1);
+ };
+
+ return Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["h" /* reverse */])(function (x) {
+ return x.length === 1 ? new __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](constructCell(new __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */]()), x) : x;
+ }(function () {
+ var $var1 = row.tail != null ? row.head.tag === 5 ? [0, row.tail] : [1, row] : [1, row];
+
+ switch ($var1[0]) {
+ case 0:
+ return parseRow_($var1[1]);
+
+ case 1:
+ return parseRow_($var1[1]);
+ }
+ }()));
+}
+var parseDefaultRow = Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function (row) {
+ return parseRow(defaultCellU, row);
+});
+function parseAlignRow(row) {
+ var getAlignment = function getAlignment(toks) {
+ var filt = function filt(_arg1) {
+ if (_arg1.tag === 33) {
+ return true;
+ } else if (_arg1.tag === 7) {
+ return true;
+ } else {
+ return false;
+ }
+ };
+
+ var matchValue = [Object(__WEBPACK_IMPORTED_MODULE_2__MarkalcShared_fs__["e" /* countDelim */])(new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["o" /* Token */](7), toks) < 3, Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["d" /* filter */])(filt, toks).length !== toks.length];
+
+ if (matchValue[0]) {
+ if (matchValue[1]) {
+ return new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](1, "Less than 3 dashes for table format and invalid characters");
+ } else {
+ return new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](1, "Less than 3 dashes for table format");
+ }
+ } else if (matchValue[1]) {
+ return new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](1, Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("Invalid characters in table format, expecting only : or - \n%A\n%A"))(toks, Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["d" /* filter */])(filt, toks)));
+ } else {
+ var matchValue_1 = [Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["h" /* reverse */])(toks), Object(__WEBPACK_IMPORTED_MODULE_2__MarkalcShared_fs__["e" /* countDelim */])(new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["o" /* Token */](33), toks)];
+ var $var2 = matchValue_1[0].tail != null ? matchValue_1[0].head.tag === 33 ? matchValue_1[1] === 2 ? toks.head.Equals(new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["o" /* Token */](33)) ? [0] : [1] : [1] : [1] : [1];
+
+ switch ($var2[0]) {
+ case 0:
+ return new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](0, new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["a" /* Alignment */](0));
+
+ case 1:
+ var $var3 = matchValue_1[0].tail != null ? matchValue_1[0].head.tag === 33 ? matchValue_1[1] === 1 ? [0] : [2] : matchValue_1[1] === 1 ? toks.head.Equals(new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["o" /* Token */](33)) ? [1] : [2] : [2] : matchValue_1[1] === 1 ? toks.head.Equals(new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["o" /* Token */](33)) ? [1] : [2] : [2];
+
+ switch ($var3[0]) {
+ case 0:
+ return new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](0, new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["a" /* Alignment */](1));
+
+ case 1:
+ return new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](0, new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["a" /* Alignment */](2));
+
+ case 2:
+ if (matchValue_1[1] === 0) {
+ return new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](0, new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["a" /* Alignment */](3));
+ } else {
+ return new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](1, Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("':'s in wrong position %A, %A"))(toks, matchValue_1[1]));
+ }
+
+ }
+
+ }
+ }
+ };
+
+ var parseAlign_ = function parseAlign_(row_1) {
+ return parsePipes(getAlignment, row_1);
+ };
+
+ return joinErrorList(Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["h" /* reverse */])(function () {
+ var matchValue_2 = Object(__WEBPACK_IMPORTED_MODULE_2__MarkalcShared_fs__["i" /* whitespaceFilter */])(row);
+ var $var4 = matchValue_2.tail != null ? matchValue_2.head.tag === 5 ? [0, matchValue_2.tail] : [1, matchValue_2] : [1, matchValue_2];
+
+ switch ($var4[0]) {
+ case 0:
+ return parseAlign_($var4[1]);
+
+ case 1:
+ return parseAlign_($var4[1]);
+ }
+ }()));
+}
+
+function alignCells_(alignList, cells) {
+ var lengths = [alignList.length, cells.length];
+ return Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["e" /* map */])(function (tupledArg) {
+ return alignCell(tupledArg[0], tupledArg[1][0], tupledArg[1][1]);
+ }, function (list2) {
+ return Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_Seq__["n" /* toList */])(Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_Seq__["p" /* zip */])(alignList, list2));
+ }(function () {
+ var matchValue = lengths[0] - lengths[1] | 0;
+
+ if (matchValue > 0) {
+ return Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["a" /* append */])(cells, Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["g" /* replicate */])(matchValue, [new __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](), cells.head[1]]));
+ } else if (matchValue < 0) {
+ return Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["i" /* slice */])(0, lengths[0] - 1, cells);
+ } else {
+ return cells;
+ }
+ }()));
+}
+
+
+var alignCells = Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function (arg1, arg2) {
+ return liftFirstArg(function (alignList, cells) {
+ return alignCells_(alignList, cells);
+ }, arg1, arg2);
+});
+function transformTable(table) {
+ var alignments = parseAlignRow(Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_Seq__["h" /* item */])(1, table));
+
+ var makeRow = function makeRow(head, _arg1) {
+ if (_arg1.tag === 1) {
+ return new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](1, _arg1.data);
+ } else {
+ return new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](0, [_arg1.data, head]);
+ }
+ };
+
+ var header = Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["c" /* map */])(function (tupledArg) {
+ return new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["i" /* Row */](0, [tupledArg[0], tupledArg[1]]);
+ }, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(makeRow, [true])(Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(alignCells, [alignments])(function (row) {
+ return parseRow(headCellU, row);
+ }(table.head))));
+
+ var parseAlignPrepend = function parseAlignPrepend(s, x) {
+ return new __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["c" /* map */])(function (tupledArg_1) {
+ return new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["i" /* Row */](0, [tupledArg_1[0], tupledArg_1[1]]);
+ }, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(makeRow, [false])(Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(alignCells, [alignments])(parseRow(defaultCellU, x)))), s);
+ };
+
+ return joinErrorList(Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["h" /* reverse */])(Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(parseAlignPrepend, Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([header]), Object(__WEBPACK_IMPORTED_MODULE_8__Shared_fs__["i" /* xOnwards */])(2, table))));
+}
+
+function tryEval_(maxRefs, map, e) {
+ var evalExp = function evalExp(r, map_1, e_1) {
+ var evalCellRef = function evalCellRef(ref) {
+ var matchValue = Object(__WEBPACK_IMPORTED_MODULE_9__nuget_packages_fable_core_1_3_1_fable_core_Map__["d" /* tryFind */])(ref, map_1);
+ var $var5 = matchValue != null ? Object(__WEBPACK_IMPORTED_MODULE_10__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(matchValue).tag === 1 ? [0, Object(__WEBPACK_IMPORTED_MODULE_10__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(matchValue).data[0]] : [1] : [1];
+
+ switch ($var5[0]) {
+ case 0:
+ return evalExp(r + 1, map_1, $var5[1]);
+
+ case 1:
+ return Number.NaN;
+ }
+ };
+
+ var rangeFunc = function rangeFunc(f, x, y) {
+ var matchValue_1 = Object(__WEBPACK_IMPORTED_MODULE_2__MarkalcShared_fs__["d" /* cellRange */])(x, y);
+
+ if (matchValue_1 == null) {
+ return Number.NaN;
+ } else {
+ return f(Object(__WEBPACK_IMPORTED_MODULE_10__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(matchValue_1));
+ }
+ };
+
+ if (r > maxRefs) {
+ return Number.NaN;
+ } else {
+ var $var6 = e_1.tag === 1 ? e_1.data.tag === 2 ? [1, e_1.data.data] : e_1.data.tag === 0 ? [2, e_1.data.data] : [7] : e_1.tag === 2 ? e_1.data[0] === "SUM" ? [3, e_1.data[1]] : e_1.data[0] === "AVG" ? [4, e_1.data[1]] : e_1.data[0] === "MIN" ? [5, e_1.data[1]] : e_1.data[0] === "MAX" ? [6, e_1.data[1]] : [7] : [0, e_1.data[0], e_1.data[1], e_1.data[2]];
+
+ switch ($var6[0]) {
+ case 0:
+ return $var6[1](evalExp(r, map_1, $var6[2]), evalExp(r, map_1, $var6[3]));
+
+ case 1:
+ return $var6[1];
+
+ case 2:
+ return evalCellRef($var6[1]);
+
+ case 3:
+ return Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_Seq__["m" /* sumBy */])(Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(evalExp, [r, map_1]), $var6[1]);
+
+ case 4:
+ return Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_Seq__["a" /* averageBy */])(Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(evalExp, [r, map_1]), $var6[1]);
+
+ case 5:
+ return Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_Seq__["l" /* reduce */])(function (x, y) {
+ return Math.min(x, y);
+ }, Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["e" /* map */])(Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(evalExp, [r, map_1]), $var6[1]));
+
+ case 6:
+ return Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_Seq__["l" /* reduce */])(function (x, y) {
+ return Math.max(x, y);
+ }, Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["e" /* map */])(Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(evalExp, [r, map_1]), $var6[1]));
+
+ case 7:
+ return 11;
+ }
+ }
+ };
+
+ return evalExp(0, map, e);
+}
+
+
+var tryEval = Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function (map, e) {
+ return tryEval_(1000, map, e);
+});
+function evaluateCellList(rowList) {
+ var rowUnpack = void 0;
+
+ var mapping = function mapping(_arg1) {
+ return Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([_arg1.data[0]]);
+ };
+
+ rowUnpack = function rowUnpack(list) {
+ return Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["b" /* collect */])(mapping, list);
+ };
+
+ var makeRow = function makeRow(cellList) {
+ return new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["i" /* Row */](0, [cellList, cellList.head.GetHead]);
+ };
+
+ var innerFold = function innerFold(row, s, cell) {
+ var matchValue = Object(__WEBPACK_IMPORTED_MODULE_11__Expression_fs__["a" /* parseExpression */])(cell.GetToks);
+
+ if (matchValue.tag === 1) {
+ return [new __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */]([new __WEBPACK_IMPORTED_MODULE_2__MarkalcShared_fs__["a" /* CellReference */](0, [row, s[1]]), new MapContents(0, cell)], s[0]), s[1] + 1];
+ } else {
+ return [new __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */]([new __WEBPACK_IMPORTED_MODULE_2__MarkalcShared_fs__["a" /* CellReference */](0, [row, s[1]]), new MapContents(1, [matchValue.data, cell])], s[0]), s[1] + 1];
+ }
+ };
+
+ var outerFold = function outerFold(s_1, cells) {
+ return [s_1[0] + 1, Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(innerFold, [s_1[0]]), [s_1[1][0], 0], cells)];
+ };
+
+ var cellList_1 = rowUnpack(rowList);
+ var rowLength = cellList_1.head.length | 0;
+ return function (_arg2) {
+ var expRefList = _arg2[1][0];
+ var expList = Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["h" /* reverse */])(expRefList);
+ var map = Object(__WEBPACK_IMPORTED_MODULE_9__nuget_packages_fable_core_1_3_1_fable_core_Map__["b" /* create */])(expList, new __WEBPACK_IMPORTED_MODULE_12__nuget_packages_fable_core_1_3_1_fable_core_Comparer__["a" /* default */](function (x, y) {
+ return x.CompareTo(y);
+ }));
+
+ var expListEval = function expListEval(_arg3) {
+ if (_arg3.tag === 1) {
+ return function (arg00) {
+ return _arg3.data[1].ReplaceTokens(arg00);
+ }(Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([toToken(tryEval(map, _arg3.data[0]))]));
+ } else {
+ return _arg3.data;
+ }
+ };
+
+ return Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["e" /* map */])(function ($var7) {
+ return makeRow(function (array) {
+ return Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_Seq__["n" /* toList */])(array);
+ }($var7));
+ }, Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_Seq__["n" /* toList */])(function (source) {
+ return Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_Seq__["b" /* chunkBySize */])(rowLength, source);
+ }(Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["e" /* map */])(function ($var8) {
+ return expListEval(function (tuple) {
+ return tuple[1];
+ }($var8));
+ }, expList))));
+ }(Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(outerFold, [0, [new __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](), 0]], cellList_1));
+}
+function parseEvaluateTable(toks) {
+ var endlFilt = function endlFilt(_arg1) {
+ if (_arg1.tag === 32) {
+ return false;
+ } else {
+ return true;
+ }
+ };
+
+ return function (_arg2) {
+ return _arg2.tag === 0 ? new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](0, evaluateCellList(_arg2.data)) : new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](1, toks);
+ }(transformTable(Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["e" /* map */])(function (list) {
+ return Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["d" /* filter */])(endlFilt, list);
+ }, toks)));
+}
+function lexParseEvaluate(toks) {
+ return parseEvaluateTable(Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["e" /* map */])(function (txt) {
+ return Object(__WEBPACK_IMPORTED_MODULE_2__MarkalcShared_fs__["h" /* simpleLex */])(txt);
+ }, toks));
+}
+
+/***/ }),
+/* 29 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export makeFloat */
+/* unused harmony export makeInt */
+/* unused harmony export makeCellReference */
+/* unused harmony export parseExp */
+/* harmony export (immutable) */ __webpack_exports__["a"] = parseExpression;
+/* unused harmony export evalExpTest */
+/* unused harmony export parseExpTest */
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Double__ = __webpack_require__(30);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_String__ = __webpack_require__(7);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_Int32__ = __webpack_require__(31);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__MarkalcShared_fs__ = __webpack_require__(20);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__ = __webpack_require__(5);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__ = __webpack_require__(0);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__ = __webpack_require__(4);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__Types_fs__ = __webpack_require__(6);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Seq__ = __webpack_require__(3);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__nuget_packages_fable_core_1_3_1_fable_core_Result__ = __webpack_require__(9);
+
+
+
+
+
+
+
+
+
+
+
+function makeFloat(i, d) {
+ return Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Double__["a" /* parse */])(Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("%A.%A"))(i, d));
+}
+function makeInt(i) {
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_Int32__["a" /* parse */])(i) | 0;
+}
+function makeCellReference(row, col) {
+ return new __WEBPACK_IMPORTED_MODULE_3__MarkalcShared_fs__["a" /* CellReference */](0, [Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_Int32__["a" /* parse */])(row), Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_Int32__["a" /* parse */])(col)]);
+}
+function parseExp(toks) {
+ var _Expression___ = function _Expression___(toks_1) {
+ var _NumberPat___ = function _NumberPat___(_arg1) {
+ var $var1 = _arg1.tail != null ? _arg1.head.tag === 3 ? _arg1.tail.tail != null ? _arg1.tail.head.tag === 10 ? _arg1.tail.tail.tail != null ? _arg1.tail.tail.head.tag === 3 ? [0, _arg1.tail.tail.tail, _arg1.tail.tail.head.data, _arg1.head.data] : [1, _arg1.tail, _arg1.head.data] : [1, _arg1.tail, _arg1.head.data] : [1, _arg1.tail, _arg1.head.data] : [1, _arg1.tail, _arg1.head.data] : [2] : [2];
+
+ switch ($var1[0]) {
+ case 0:
+ return [makeFloat($var1[3], $var1[2]), $var1[1]];
+
+ case 1:
+ return [makeInt($var1[2]), $var1[1]];
+
+ case 2:
+ return null;
+ }
+ };
+
+ var _CellRefPat___ = function _CellRefPat___(_arg2) {
+ var $var2 = _arg2.tail != null ? _arg2.head.tag === 21 ? _arg2.tail.tail != null ? _arg2.tail.head.tag === 3 ? _arg2.tail.tail.tail != null ? _arg2.tail.tail.head.tag === 11 ? _arg2.tail.tail.tail.tail != null ? _arg2.tail.tail.tail.head.tag === 3 ? _arg2.tail.tail.tail.tail.tail != null ? _arg2.tail.tail.tail.tail.head.tag === 20 ? [0, _arg2.tail.tail.tail.tail.tail, _arg2.tail.head.data, _arg2.tail.tail.tail.head.data] : [3] : [3] : [3] : [3] : _arg2.tail.tail.head.tag === 6 ? _arg2.tail.tail.tail.tail != null ? _arg2.tail.tail.tail.head.tag === 1 ? _arg2.tail.tail.tail.head.data === "row" ? _arg2.tail.tail.tail.tail.tail != null ? _arg2.tail.tail.tail.tail.head.tag === 11 ? _arg2.tail.tail.tail.tail.tail.tail != null ? _arg2.tail.tail.tail.tail.tail.head.tag === 3 ? _arg2.tail.tail.tail.tail.tail.tail.tail != null ? _arg2.tail.tail.tail.tail.tail.tail.head.tag === 6 ? _arg2.tail.tail.tail.tail.tail.tail.tail.tail != null ? _arg2.tail.tail.tail.tail.tail.tail.tail.head.tag === 1 ? _arg2.tail.tail.tail.tail.tail.tail.tail.head.data === "col" ? _arg2.tail.tail.tail.tail.tail.tail.tail.tail.tail != null ? _arg2.tail.tail.tail.tail.tail.tail.tail.tail.head.tag === 20 ? [1, _arg2.tail.tail.tail.tail.tail.tail.tail.tail.tail, _arg2.tail.tail.tail.tail.tail.head.data, _arg2.tail.head.data] : [3] : [3] : [3] : [3] : [3] : [3] : [3] : [3] : [3] : [3] : [3] : _arg2.tail.tail.tail.head.data === "col" ? _arg2.tail.tail.tail.tail.tail != null ? _arg2.tail.tail.tail.tail.head.tag === 11 ? _arg2.tail.tail.tail.tail.tail.tail != null ? _arg2.tail.tail.tail.tail.tail.head.tag === 3 ? _arg2.tail.tail.tail.tail.tail.tail.tail != null ? _arg2.tail.tail.tail.tail.tail.tail.head.tag === 6 ? _arg2.tail.tail.tail.tail.tail.tail.tail.tail != null ? _arg2.tail.tail.tail.tail.tail.tail.tail.head.tag === 1 ? _arg2.tail.tail.tail.tail.tail.tail.tail.head.data === "row" ? _arg2.tail.tail.tail.tail.tail.tail.tail.tail.tail != null ? _arg2.tail.tail.tail.tail.tail.tail.tail.tail.head.tag === 20 ? [2, _arg2.tail.tail.tail.tail.tail.tail.tail.tail.tail, _arg2.tail.head.data, _arg2.tail.tail.tail.tail.tail.head.data] : [3] : [3] : [3] : [3] : [3] : [3] : [3] : [3] : [3] : [3] : [3] : [3] : [3] : [3] : [3] : [3] : [3] : [3] : [3] : [3];
+
+ switch ($var2[0]) {
+ case 0:
+ return [function (tupledArg) {
+ return makeCellReference(tupledArg[0], tupledArg[1]);
+ }([$var2[3], $var2[2]]), $var2[1]];
+
+ case 1:
+ __WEBPACK_IMPORTED_MODULE_3__MarkalcShared_fs__["g" /* logger */].Debug(null)(Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("Row:%A, Col:%A"))($var2[3], $var2[2]));
+ return [function (tupledArg_1) {
+ return makeCellReference(tupledArg_1[0], tupledArg_1[1]);
+ }([$var2[3], $var2[2]]), $var2[1]];
+
+ case 2:
+ __WEBPACK_IMPORTED_MODULE_3__MarkalcShared_fs__["g" /* logger */].Debug(null)(Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("Row:%A, Col:%A"))($var2[3], $var2[2]));
+ return [function (tupledArg_2) {
+ return makeCellReference(tupledArg_2[0], tupledArg_2[1]);
+ }([$var2[3], $var2[2]]), $var2[1]];
+
+ case 3:
+ return null;
+ }
+ };
+
+ var _ExpressionList___ = function _ExpressionList___(_arg3) {
+ var $var3 = void 0;
+
+ var activePatternResult968 = _Expression___(_arg3);
+
+ if (activePatternResult968 != null) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult968)[1].tail != null) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult968)[1].head.tag === 11) {
+ var activePatternResult969 = _ExpressionList___(Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult968)[1].tail);
+
+ if (activePatternResult969 != null) {
+ $var3 = [0, Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult969)[1], Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult968)[0], Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult969)[0]];
+ } else {
+ $var3 = [1];
+ }
+ } else {
+ $var3 = [1];
+ }
+ } else {
+ $var3 = [1];
+ }
+ } else {
+ $var3 = [1];
+ }
+
+ switch ($var3[0]) {
+ case 0:
+ return [new __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */]($var3[2], $var3[3]), $var3[1]];
+
+ case 1:
+ var $var4 = void 0;
+
+ var activePatternResult966 = _CellRefPat___(_arg3);
+
+ if (activePatternResult966 != null) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult966)[1].tail != null) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult966)[1].head.tag === 33) {
+ var activePatternResult967 = _CellRefPat___(Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult966)[1].tail);
+
+ if (activePatternResult967 != null) {
+ $var4 = [0, Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult967)[1], Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult966)[0], Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult967)[0]];
+ } else {
+ $var4 = [1];
+ }
+ } else {
+ $var4 = [1];
+ }
+ } else {
+ $var4 = [1];
+ }
+ } else {
+ $var4 = [1];
+ }
+
+ switch ($var4[0]) {
+ case 0:
+ return function (_arg4) {
+ return _arg4 != null ? [Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["e" /* map */])(function ($var5) {
+ return new __WEBPACK_IMPORTED_MODULE_3__MarkalcShared_fs__["b" /* Expr */](1, new __WEBPACK_IMPORTED_MODULE_3__MarkalcShared_fs__["c" /* Operand */](0, $var5));
+ }, Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(_arg4)), $var4[1]] : null;
+ }(Object(__WEBPACK_IMPORTED_MODULE_3__MarkalcShared_fs__["d" /* cellRange */])($var4[2], $var4[3]));
+
+ case 1:
+ var activePatternResult965 = _Expression___(_arg3);
+
+ if (activePatternResult965 != null) {
+ return [Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult965)[0]]), Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult965)[1]];
+ } else {
+ return null;
+ }
+
+ }
+
+ }
+ };
+
+ var funcConstruct = function funcConstruct(funcname, _arg5) {
+ var $var6 = void 0;
+
+ if (_arg5.tail != null) {
+ if (_arg5.head.tag === 29) {
+ var activePatternResult972 = _ExpressionList___(_arg5.tail);
+
+ if (activePatternResult972 != null) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult972)[1].tail != null) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult972)[1].head.tag === 28) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult972)[1].tail.tail != null) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult972)[1].tail.head.tag === 1) {
+ $var6 = [0, Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult972)[1].tail.tail, Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult972)[1].tail.head.data, Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult972)[0]];
+ } else {
+ $var6 = [1];
+ }
+ } else {
+ $var6 = [1];
+ }
+ } else {
+ $var6 = [1];
+ }
+ } else {
+ $var6 = [1];
+ }
+ } else {
+ $var6 = [1];
+ }
+ } else {
+ $var6 = [1];
+ }
+ } else {
+ $var6 = [1];
+ }
+
+ switch ($var6[0]) {
+ case 0:
+ return [new __WEBPACK_IMPORTED_MODULE_3__MarkalcShared_fs__["b" /* Expr */](2, [$var6[2], $var6[3]]), $var6[1]];
+
+ case 1:
+ return null;
+ }
+ };
+
+ var _Sum___ = Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(funcConstruct, ["SUM"]);
+
+ var _Avg___ = Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(funcConstruct, ["AVG"]);
+
+ var _Min___ = Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(funcConstruct, ["MIN"]);
+
+ var _Max___ = Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(funcConstruct, ["MAX"]);
+
+ var _FunctionPat___ = function _FunctionPat___(_arg6) {
+ var activePatternResult983 = _Sum___(_arg6);
+
+ if (activePatternResult983 != null) {
+ return [Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult983)[0], Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult983)[1]];
+ } else {
+ var activePatternResult982 = _Avg___(_arg6);
+
+ if (activePatternResult982 != null) {
+ return [Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult982)[0], Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult982)[1]];
+ } else {
+ var activePatternResult981 = _Min___(_arg6);
+
+ if (activePatternResult981 != null) {
+ return [Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult981)[0], Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult981)[1]];
+ } else {
+ var activePatternResult980 = _Max___(_arg6);
+
+ if (activePatternResult980 != null) {
+ return [Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult980)[0], Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult980)[1]];
+ } else {
+ return null;
+ }
+ }
+ }
+ }
+ };
+
+ var _BasePat___ = function _BasePat___(_arg7) {
+ var activePatternResult996 = _NumberPat___(_arg7);
+
+ if (activePatternResult996 != null) {
+ return [new __WEBPACK_IMPORTED_MODULE_3__MarkalcShared_fs__["b" /* Expr */](1, new __WEBPACK_IMPORTED_MODULE_3__MarkalcShared_fs__["c" /* Operand */](2, Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult996)[0])), Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult996)[1]];
+ } else {
+ var activePatternResult995 = _FunctionPat___(_arg7);
+
+ if (activePatternResult995 != null) {
+ return [Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult995)[0], Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult995)[1]];
+ } else {
+ var activePatternResult994 = _CellRefPat___(_arg7);
+
+ if (activePatternResult994 != null) {
+ return [new __WEBPACK_IMPORTED_MODULE_3__MarkalcShared_fs__["b" /* Expr */](1, new __WEBPACK_IMPORTED_MODULE_3__MarkalcShared_fs__["c" /* Operand */](0, Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult994)[0])), Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult994)[1]];
+ } else {
+ var $var7 = void 0;
+
+ if (_arg7.tail != null) {
+ if (_arg7.head.tag === 23) {
+ var activePatternResult993 = _Expression___(_arg7.tail);
+
+ if (activePatternResult993 != null) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult993)[1].tail != null) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult993)[1].head.tag === 22) {
+ $var7 = [0, Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult993)[1].tail, Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult993)[0]];
+ } else {
+ $var7 = [1];
+ }
+ } else {
+ $var7 = [1];
+ }
+ } else {
+ $var7 = [1];
+ }
+ } else {
+ $var7 = [1];
+ }
+ } else {
+ $var7 = [1];
+ }
+
+ switch ($var7[0]) {
+ case 0:
+ return [$var7[2], $var7[1]];
+
+ case 1:
+ return null;
+ }
+ }
+ }
+ }
+ };
+
+ var _HOFPat___ = function _HOFPat___(_PrevPat___, op, t, _arg8) {
+ var activePatternResult1002 = _PrevPat___(_arg8);
+
+ if (activePatternResult1002 != null) {
+ var $var8 = void 0;
+
+ if (Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1002)[1].tail != null) {
+ var activePatternResult1001 = _HOFPat___(_PrevPat___, op, t, Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1002)[1].tail);
+
+ if (activePatternResult1001 != null) {
+ if (function () {
+ var exp2 = Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1001)[0];
+ var after_ = Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1001)[1];
+ return Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1002)[1].head.Equals(t);
+ }()) {
+ $var8 = [0, Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1001)[1], Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1001)[0], Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1002)[1].head];
+ } else {
+ $var8 = [1];
+ }
+ } else {
+ $var8 = [1];
+ }
+ } else {
+ $var8 = [1];
+ }
+
+ switch ($var8[0]) {
+ case 0:
+ return [new __WEBPACK_IMPORTED_MODULE_3__MarkalcShared_fs__["b" /* Expr */](0, [op, $var8[2], Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1002)[0]]), $var8[1]];
+
+ case 1:
+ return [Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1002)[0], Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1002)[1]];
+ }
+ } else {
+ return null;
+ }
+ };
+
+ var patPrecedence = Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([[function (x, y) {
+ return x % y;
+ }, new __WEBPACK_IMPORTED_MODULE_7__Types_fs__["o" /* Token */](35)], [function (x_1, y_1) {
+ return Math.pow(x_1, y_1);
+ }, new __WEBPACK_IMPORTED_MODULE_7__Types_fs__["o" /* Token */](34)], [function (x_2, y_2) {
+ return x_2 * y_2;
+ }, new __WEBPACK_IMPORTED_MODULE_7__Types_fs__["o" /* Token */](9)], [function (x_3, y_3) {
+ return x_3 / y_3;
+ }, new __WEBPACK_IMPORTED_MODULE_7__Types_fs__["o" /* Token */](25)], [function (x_4, y_4) {
+ return x_4 - y_4;
+ }, new __WEBPACK_IMPORTED_MODULE_7__Types_fs__["o" /* Token */](7)], [function (x_5, y_5) {
+ return x_5 + y_5;
+ }, new __WEBPACK_IMPORTED_MODULE_7__Types_fs__["o" /* Token */](8)]]);
+
+ var constructPatterns = function constructPatterns(s, x_6) {
+ return new __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(_HOFPat___, [s.head, x_6[0], x_6[1]]), s);
+ };
+
+ var patterns = Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(constructPatterns, Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([_BasePat___]), patPrecedence);
+ var _FirstPat___ = patterns.head;
+
+ var activePatternResult1009 = _FirstPat___(toks_1);
+
+ if (activePatternResult1009 != null) {
+ return Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1009);
+ } else {
+ return null;
+ }
+ };
+
+ var matchValue = Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_List__["h" /* reverse */])(toks);
+ var $var9 = void 0;
+
+ var activePatternResult1012 = _Expression___(matchValue);
+
+ if (activePatternResult1012 != null) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1012)[1].tail == null) {
+ $var9 = [0, Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult1012)[0]];
+ } else {
+ $var9 = [1];
+ }
+ } else {
+ $var9 = [1];
+ }
+
+ switch ($var9[0]) {
+ case 0:
+ return new __WEBPACK_IMPORTED_MODULE_9__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](0, $var9[1]);
+
+ case 1:
+ return new __WEBPACK_IMPORTED_MODULE_9__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](1, Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("Not valid expression %A"))(toks));
+ }
+}
+function parseExpression(toks) {
+ var $var10 = toks.tail != null ? toks.head.tag === 6 ? [0, toks.tail] : [1, toks] : [1, toks];
+
+ switch ($var10[0]) {
+ case 0:
+ return function (_arg1) {
+ return _arg1.tag === 0 ? new __WEBPACK_IMPORTED_MODULE_9__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](0, _arg1.data) : new __WEBPACK_IMPORTED_MODULE_9__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](1, toks);
+ }(parseExp(Object(__WEBPACK_IMPORTED_MODULE_3__MarkalcShared_fs__["i" /* whitespaceFilter */])($var10[1])));
+
+ case 1:
+ return new __WEBPACK_IMPORTED_MODULE_9__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](1, $var10[1]);
+ }
+}
+function evalExpTest(e) {
+ var $var11 = e.tag === 0 ? [0, e.data[0], e.data[1], e.data[2]] : e.tag === 1 ? e.data.tag === 2 ? [1, e.data.data] : [2] : [2];
+
+ switch ($var11[0]) {
+ case 0:
+ return $var11[1](evalExpTest($var11[2]), evalExpTest($var11[3]));
+
+ case 1:
+ return $var11[1];
+
+ case 2:
+ return 13;
+ }
+}
+function parseExpTest(toks) {
+ return function (_arg1) {
+ if (_arg1.tag === 0) {
+ return new __WEBPACK_IMPORTED_MODULE_9__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](0, evalExpTest(_arg1.data));
+ } else {
+ Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_String__["e" /* toConsole */])(Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("Error parsing expression: %A"))(_arg1.data);
+ return new __WEBPACK_IMPORTED_MODULE_9__nuget_packages_fable_core_1_3_1_fable_core_Result__["b" /* default */](1, toks);
+ }
+ }(parseExp(Object(__WEBPACK_IMPORTED_MODULE_3__MarkalcShared_fs__["i" /* whitespaceFilter */])(toks)));
+}
+
+/***/ }),
+/* 30 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export tryParse */
+/* harmony export (immutable) */ __webpack_exports__["a"] = parse;
+// TODO does this perfectly match the .NET behavior ?
+function tryParse(s, radix, initial) {
+ if (s != null) {
+ if (radix === 10) {
+ var v = +s;
+ if (!Number.isNaN(v)) {
+ return [true, v];
+ }
+ }
+ }
+ return [false, initial];
+}
+function parse(s) {
+ var radix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10;
+
+ var a = tryParse(s, radix, 0);
+ if (a[0]) {
+ return a[1];
+ } else {
+ // TODO FormatException ?
+ throw new Error("Input string was not in a correct format.");
+ }
+}
+
+/***/ }),
+/* 31 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export isValid */
+/* unused harmony export tryParse */
+/* harmony export (immutable) */ __webpack_exports__["a"] = parse;
+var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
+
+var parseRadix = /^\s*([\+\-])?(0[xob])?([0-9a-fA-F]+)\s*$/;
+var invalidRadix2 = /[^01]/;
+var invalidRadix8 = /[^0-7]/;
+var invalidRadix10 = /[^0-9]/;
+function isValid(s, radix) {
+ var res = parseRadix.exec(s);
+ if (res != null) {
+ if (radix == null) {
+ switch (res[2]) {
+ case "0b":
+ radix = 2;
+ break;
+ case "0o":
+ radix = 8;
+ break;
+ case "0x":
+ radix = 16;
+ break;
+ default:
+ radix = 10;
+ break;
+ }
+ }
+ switch (radix) {
+ case 2:
+ return invalidRadix2.test(res[3]) ? null : [res, 2];
+ case 8:
+ return invalidRadix8.test(res[3]) ? null : [res, 8];
+ case 10:
+ return invalidRadix10.test(res[3]) ? null : [res, 10];
+ case 16:
+ return [res, 16];
+ default:
+ throw new Error("Invalid Base.");
+ }
+ }
+ return null;
+}
+// TODO does this perfectly match the .NET behavior ?
+function tryParse(s, radix, initial) {
+ var a = isValid(s, radix);
+ if (a !== null) {
+ var _a = _slicedToArray(a, 2),
+ _a$ = _slicedToArray(_a[0], 4),
+ prefix = _a$[1],
+ digits = _a$[3],
+ radix_ = _a[1];
+
+ var v = parseInt((prefix || "") + digits, radix_);
+ if (!Number.isNaN(v)) {
+ return [true, v];
+ }
+ }
+ return [false, initial];
+}
+function parse(s, radix) {
+ var a = tryParse(s, radix, 0);
+ if (a[0]) {
+ return a[1];
+ } else {
+ throw new Error("Input string was not in a correct format.");
+ }
+}
+
+/***/ }),
+/* 32 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export LexerState */
+/* unused harmony export htmlSingleton */
+/* unused harmony export $7C$EscapedCharTok$7C$_$7C$ */
+/* unused harmony export $7C$CharacterTok$7C$_$7C$ */
+/* unused harmony export $7C$MatchLang$7C$_$7C$ */
+/* unused harmony export $7C$HTMLStartTag$7C$_$7C$ */
+/* unused harmony export $7C$HTMLEndTag$7C$_$7C$ */
+/* unused harmony export $7C$HTMLSingleton$7C$_$7C$ */
+/* unused harmony export $7C$CodeBlockStart$7C$_$7C$ */
+/* unused harmony export nextToken */
+/* unused harmony export lexS */
+/* unused harmony export returnTokens */
+/* unused harmony export lex */
+/* harmony export (immutable) */ __webpack_exports__["a"] = lexList;
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__ = __webpack_require__(1);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Types_fs__ = __webpack_require__(6);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_Util__ = __webpack_require__(2);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_List__ = __webpack_require__(0);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__ = __webpack_require__(4);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__LexerShared_fs__ = __webpack_require__(21);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__Shared_fs__ = __webpack_require__(8);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__ = __webpack_require__(5);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_String__ = __webpack_require__(7);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__nuget_packages_fable_core_1_3_1_fable_core_Seq__ = __webpack_require__(3);
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+var LexerState = function () {
+ function LexerState(tag, data) {
+ _classCallCheck(this, LexerState);
+
+ this.tag = tag;
+ this.data = data;
+ }
+
+ _createClass(LexerState, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "Lexer.LexerState",
+ interfaces: ["FSharpUnion", "System.IEquatable", "System.IComparable"],
+ cases: [["Normal"], ["InCodeBlock", "string", __WEBPACK_IMPORTED_MODULE_1__Types_fs__["d" /* Language */]], ["InHTMLTag", "string", "number"]]
+ };
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(other) {
+ return this === other || this.tag === other.tag && Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_Util__["i" /* equals */])(this.data, other.data);
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_Util__["h" /* compareUnions */])(this, other) | 0;
+ }
+ }]);
+
+ return LexerState;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("Lexer.LexerState", LexerState);
+var htmlSingleton = Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])(["area", "base", "br", "col", "command", "embed", "hr", "img", "input", "keygen", "link", "meta", "param", "source", "track", "wbr"]);
+
+var _EscapedCharTok___ = Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function () {
+ var tType = function tType(arg0) {
+ return new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["o" /* Token */](1, arg0);
+ };
+
+ return function (str) {
+ return Object(__WEBPACK_IMPORTED_MODULE_5__LexerShared_fs__["b" /* $7C$EscapedChar$7C$_$7C$ */])(tType, __WEBPACK_IMPORTED_MODULE_6__Shared_fs__["a" /* charList */], str);
+ };
+}());
+
+
+
+var _CharacterTok___ = Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function (str) {
+ return Object(__WEBPACK_IMPORTED_MODULE_5__LexerShared_fs__["a" /* $7C$Character$7C$_$7C$ */])(__WEBPACK_IMPORTED_MODULE_6__Shared_fs__["a" /* charList */], str);
+});
+
+
+
+function _MatchLang___(_arg1) {
+ var activePatternResult719 = Object(__WEBPACK_IMPORTED_MODULE_5__LexerShared_fs__["d" /* $7C$RegexMatch$7C$_$7C$ */])("(p|P)ython", _arg1);
+
+ if (activePatternResult719 != null) {
+ return new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["d" /* Language */](0);
+ } else {
+ var activePatternResult717 = Object(__WEBPACK_IMPORTED_MODULE_5__LexerShared_fs__["d" /* $7C$RegexMatch$7C$_$7C$ */])("F#|fsharp|f#", _arg1);
+
+ if (activePatternResult717 != null) {
+ return new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["d" /* Language */](1);
+ } else {
+ var activePatternResult715 = Object(__WEBPACK_IMPORTED_MODULE_5__LexerShared_fs__["d" /* $7C$RegexMatch$7C$_$7C$ */])("(C|c)(\\+\\+|pp)", _arg1);
+
+ if (activePatternResult715 != null) {
+ return new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["d" /* Language */](2);
+ } else {
+ var activePatternResult713 = Object(__WEBPACK_IMPORTED_MODULE_5__LexerShared_fs__["d" /* $7C$RegexMatch$7C$_$7C$ */])("C|c", _arg1);
+
+ if (activePatternResult713 != null) {
+ return new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["d" /* Language */](3);
+ } else {
+ return new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["d" /* Language */](4);
+ }
+ }
+ }
+ }
+}
+
+
+
+var _HTMLStartTag___ = Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function (str) {
+ return Object(__WEBPACK_IMPORTED_MODULE_5__LexerShared_fs__["d" /* $7C$RegexMatch$7C$_$7C$ */])("^<([a-zA-Z]+)\\s*.*?>", str);
+});
+
+
+
+var _HTMLEndTag___ = Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function (str) {
+ return Object(__WEBPACK_IMPORTED_MODULE_5__LexerShared_fs__["d" /* $7C$RegexMatch$7C$_$7C$ */])("^<\\/([a-zA-Z]+)\\s*.*?>", str);
+});
+
+
+
+var _HTMLSingleton___ = Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function (str) {
+ return Object(__WEBPACK_IMPORTED_MODULE_5__LexerShared_fs__["d" /* $7C$RegexMatch$7C$_$7C$ */])("^<([a-zA-Z]+)\\s*.*?(?:\\/>|>)", str);
+});
+
+
+
+var _CodeBlockStart___ = Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function (_arg1) {
+ return Object(__WEBPACK_IMPORTED_MODULE_5__LexerShared_fs__["c" /* $7C$GroupMatch$7C$_$7C$ */])("^```+\\s*([a-zA-Z0-9+\\-_]*)", _arg1);
+});
+
+
+function nextToken(state, s) {
+ var matchValue = [s, state];
+
+ var activePatternResult736 = _EscapedCharTok___(matchValue[0]);
+
+ if (activePatternResult736 != null) {
+ return [Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult736), state];
+ } else {
+ var $var1 = void 0;
+
+ var activePatternResult735 = _HTMLStartTag___(matchValue[0]);
+
+ if (activePatternResult735 != null) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult735)[1].tail != null) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult735)[1].tail.tail == null) {
+ if (matchValue[1].tag === 0) {
+ $var1 = [0, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult735)[2], Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult735)[0], Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult735)[1].head];
+ } else {
+ $var1 = [1];
+ }
+ } else {
+ $var1 = [1];
+ }
+ } else {
+ $var1 = [1];
+ }
+ } else {
+ $var1 = [1];
+ }
+
+ switch ($var1[0]) {
+ case 0:
+ return [[new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["o" /* Token */](1, $var1[2]), $var1[1]], new LexerState(2, [$var1[3], 1])];
+
+ case 1:
+ var $var2 = void 0;
+
+ var activePatternResult734 = _HTMLStartTag___(matchValue[0]);
+
+ if (activePatternResult734 != null) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult734)[1].tail != null) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult734)[1].tail.tail == null) {
+ if (matchValue[1].tag === 2) {
+ $var2 = [0, matchValue[1].data[1], Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult734)[2], Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult734)[0], Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult734)[1].head, matchValue[1].data[0]];
+ } else {
+ $var2 = [1];
+ }
+ } else {
+ $var2 = [1];
+ }
+ } else {
+ $var2 = [1];
+ }
+ } else {
+ $var2 = [1];
+ }
+
+ switch ($var2[0]) {
+ case 0:
+ if ($var2[4] === $var2[5]) {
+ return [[new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["o" /* Token */](1, $var2[3]), $var2[2]], new LexerState(2, [$var2[5], $var2[1] + 1])];
+ } else {
+ return [[new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["o" /* Token */](1, $var2[3]), $var2[2]], new LexerState(2, [$var2[5], $var2[1]])];
+ }
+
+ case 1:
+ var $var3 = void 0;
+
+ var activePatternResult733 = _HTMLEndTag___(matchValue[0]);
+
+ if (activePatternResult733 != null) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult733)[1].tail != null) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult733)[1].tail.tail == null) {
+ if (matchValue[1].tag === 2) {
+ $var3 = [0, matchValue[1].data[1], Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult733)[2], Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult733)[0], Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult733)[1].head, matchValue[1].data[0]];
+ } else {
+ $var3 = [1];
+ }
+ } else {
+ $var3 = [1];
+ }
+ } else {
+ $var3 = [1];
+ }
+ } else {
+ $var3 = [1];
+ }
+
+ switch ($var3[0]) {
+ case 0:
+ if ($var3[4] === $var3[5]) {
+ if ($var3[1] === 1) {
+ return [[new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["o" /* Token */](1, $var3[3]), $var3[2]], new LexerState(0)];
+ } else {
+ return [[new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["o" /* Token */](1, $var3[3]), $var3[2]], new LexerState(2, [$var3[5], $var3[1] - 1])];
+ }
+ } else {
+ return [[new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["o" /* Token */](1, $var3[3]), $var3[2]], new LexerState(2, [$var3[5], $var3[1]])];
+ }
+
+ case 1:
+ var activePatternResult732 = _HTMLSingleton___(matchValue[0]);
+
+ if (activePatternResult732 != null) {
+ return [[new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["o" /* Token */](1, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult732)[0]), Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult732)[2]], state];
+ } else {
+ var $var4 = void 0;
+
+ var activePatternResult731 = Object(__WEBPACK_IMPORTED_MODULE_5__LexerShared_fs__["d" /* $7C$RegexMatch$7C$_$7C$ */])(".*?(?=<)", matchValue[0]);
+
+ if (activePatternResult731 != null) {
+ if (matchValue[1].tag === 2) {
+ $var4 = [0, matchValue[1].data[1], Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult731)[2], Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult731)[0], matchValue[1].data[0]];
+ } else {
+ $var4 = [1];
+ }
+ } else {
+ $var4 = [1];
+ }
+
+ switch ($var4[0]) {
+ case 0:
+ return [[new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["o" /* Token */](1, $var4[3]), $var4[2]], new LexerState(2, [$var4[4], $var4[1]])];
+
+ case 1:
+ var activePatternResult729 = _CharacterTok___(matchValue[0]);
+
+ if (activePatternResult729 != null) {
+ return [Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult729), state];
+ } else {
+ var activePatternResult728 = Object(__WEBPACK_IMPORTED_MODULE_5__LexerShared_fs__["d" /* $7C$RegexMatch$7C$_$7C$ */])("^\\s+", matchValue[0]);
+
+ if (activePatternResult728 != null) {
+ return [[new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["o" /* Token */](2, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult728)[0].length), Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult728)[2]], state];
+ } else {
+ var activePatternResult726 = Object(__WEBPACK_IMPORTED_MODULE_5__LexerShared_fs__["d" /* $7C$RegexMatch$7C$_$7C$ */])("^[0-9]+", matchValue[0]);
+
+ if (activePatternResult726 != null) {
+ return [[new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["o" /* Token */](3, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult726)[0]), Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult726)[2]], state];
+ } else {
+ var activePatternResult724 = Object(__WEBPACK_IMPORTED_MODULE_5__LexerShared_fs__["d" /* $7C$RegexMatch$7C$_$7C$ */])(Object(__WEBPACK_IMPORTED_MODULE_5__LexerShared_fs__["e" /* literalString */])(__WEBPACK_IMPORTED_MODULE_6__Shared_fs__["a" /* charList */]), matchValue[0]);
+
+ if (activePatternResult724 != null) {
+ return [[new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["o" /* Token */](1, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult724)[0]), Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult724)[2]], state];
+ } else {
+ __WEBPACK_IMPORTED_MODULE_6__Shared_fs__["h" /* sharedLog */].Warn(null)(Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("Unrecognised character: %A"))(matchValue[0]));
+ return [[new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["o" /* Token */](1, Object(__WEBPACK_IMPORTED_MODULE_5__LexerShared_fs__["f" /* toString */])(matchValue[0][0])), Object(__WEBPACK_IMPORTED_MODULE_6__Shared_fs__["g" /* sOnwards */])(1, matchValue[0])], state];
+ }
+ }
+ }
+ }
+
+ }
+ }
+
+ }
+
+ }
+
+ }
+ }
+}
+function lexS(state, source) {
+ var lexS_ = function lexS_(state_1, s, tokList) {
+ if (s === "") {
+ return new __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["o" /* Token */](32), tokList);
+ } else {
+ var patternInput = nextToken(state_1, s);
+ var st_ = patternInput[0][1];
+ var nt = patternInput[0][0];
+ return Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(lexS_, [patternInput[1], st_])(new __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](nt, tokList));
+ }
+ };
+
+ var matchValue = [source, state];
+ var $var5 = void 0;
+
+ var activePatternResult746 = _CodeBlockStart___(matchValue[0]);
+
+ if (activePatternResult746 != null) {
+ var activePatternResult747 = _MatchLang___(Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult746));
+
+ if (activePatternResult747 != null) {
+ if (matchValue[1].tag === 0) {
+ $var5 = [0, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult747)];
+ } else {
+ $var5 = [1];
+ }
+ } else {
+ $var5 = [1];
+ }
+ } else {
+ $var5 = [1];
+ }
+
+ switch ($var5[0]) {
+ case 0:
+ return [new __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](), new LexerState(1, ["", $var5[1]])];
+
+ case 1:
+ var $var6 = void 0;
+
+ var activePatternResult745 = Object(__WEBPACK_IMPORTED_MODULE_5__LexerShared_fs__["d" /* $7C$RegexMatch$7C$_$7C$ */])("^```+", matchValue[0]);
+
+ if (activePatternResult745 != null) {
+ if (matchValue[1].tag === 1) {
+ $var6 = [0, matchValue[1].data[1], matchValue[1].data[0]];
+ } else {
+ $var6 = [1];
+ }
+ } else {
+ $var6 = [1];
+ }
+
+ switch ($var6[0]) {
+ case 0:
+ return [Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["o" /* Token */](0, [$var6[2], $var6[1]]), new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["o" /* Token */](32)]), new LexerState(0)];
+
+ case 1:
+ if (matchValue[1].tag === 1) {
+ return [new __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](), new LexerState(1, [matchValue[1].data[0] + source + "\n", matchValue[1].data[1]])];
+ } else {
+ var activePatternResult743 = Object(__WEBPACK_IMPORTED_MODULE_5__LexerShared_fs__["d" /* $7C$RegexMatch$7C$_$7C$ */])("^\\s*$", matchValue[0]);
+
+ if (activePatternResult743 != null) {
+ return [Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["o" /* Token */](32)]), state];
+ } else {
+ return [Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_List__["h" /* reverse */])(lexS_(state, source, new __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */]())), state];
+ }
+ }
+
+ }
+
+ }
+}
+function returnTokens(_arg1_0, _arg1_1) {
+ var _arg1 = [_arg1_0, _arg1_1];
+
+ if (_arg1[1].tag === 1) {
+ var s = _arg1[1].data[0];
+ var l = _arg1[1].data[1];
+ return Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["o" /* Token */](0, [s, l]), new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["o" /* Token */](32)]);
+ } else if (_arg1[1].tag === 2) {
+ var str = _arg1[1].data[0];
+ return Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_List__["a" /* append */])(_arg1[0], Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["o" /* Token */](1, str), new __WEBPACK_IMPORTED_MODULE_1__Types_fs__["o" /* Token */](32)]));
+ } else {
+ return _arg1[0];
+ }
+}
+function lex(s) {
+ return function (tupledArg) {
+ return returnTokens(tupledArg[0], tupledArg[1]);
+ }(lexS(new LexerState(0), s));
+}
+function lexList(strl) {
+ var f = function f(tupledArg, nstr) {
+ var patternInput = lexS(tupledArg[1], nstr);
+ return [Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_List__["a" /* append */])(tupledArg[0], patternInput[0]), patternInput[1]];
+ };
+
+ return function (tupledArg_1) {
+ return returnTokens(tupledArg_1[0], tupledArg_1[1]);
+ }(Object(__WEBPACK_IMPORTED_MODULE_9__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(f, [new __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](), new LexerState(0)], strl));
+}
+
+/***/ }),
+/* 33 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export Token */
+/* unused harmony export Parser */
+/* unused harmony export Macro */
+/* unused harmony export Sub */
+/* unused harmony export charList */
+/* unused harmony export keywordList */
+/* unused harmony export $7C$WhiteSpace$7C$NonWhiteSpace$7C$ */
+/* unused harmony export $7C$EscapedCharParse$7C$_$7C$ */
+/* unused harmony export $7C$CharacterParse$7C$_$7C$ */
+/* unused harmony export $7C$KeywordParse$7C$_$7C$ */
+/* unused harmony export tokToString */
+/* unused harmony export nextToken */
+/* unused harmony export tokenize */
+/* unused harmony export tokenizeList */
+/* unused harmony export $7C$KeyWord$7C$_$7C$ */
+/* unused harmony export $7C$ArgList$7C$_$7C$ */
+/* unused harmony export $7C$Function$7C$_$7C$ */
+/* unused harmony export $7C$MacroDef$7C$_$7C$ */
+/* unused harmony export $7C$EvalDef$7C$_$7C$ */
+/* unused harmony export $7C$SChar$7C$_$7C$ */
+/* unused harmony export parse */
+/* unused harmony export evaluate */
+/* unused harmony export parserToString */
+/* unused harmony export toStringList */
+/* unused harmony export pETS */
+/* unused harmony export preprocess */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return preprocessList; });
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__ = __webpack_require__(1);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__ = __webpack_require__(2);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__ = __webpack_require__(0);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__LexerShared_fs__ = __webpack_require__(21);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Choice__ = __webpack_require__(18);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__ = __webpack_require__(4);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__Shared_fs__ = __webpack_require__(8);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__ = __webpack_require__(5);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Seq__ = __webpack_require__(3);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__nuget_packages_fable_core_1_3_1_fable_core_Map__ = __webpack_require__(10);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__nuget_packages_fable_core_1_3_1_fable_core_Comparer__ = __webpack_require__(11);
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+var Token = function () {
+ function Token(tag, data) {
+ _classCallCheck(this, Token);
+
+ this.tag = tag;
+ this.data = data;
+ }
+
+ _createClass(Token, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "Preprocessor.Token",
+ interfaces: ["FSharpUnion", "System.IEquatable", "System.IComparable"],
+ cases: [["LITERAL", "string"], ["MACRO"], ["OPENDEF"], ["CLOSEDEF"], ["OPENEVAL"], ["CLOSEEVAL"], ["LBRA"], ["RBRA"], ["SEMICOLON"], ["ENDLINE"], ["BSLASH"]]
+ };
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(other) {
+ return this === other || this.tag === other.tag && Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["i" /* equals */])(this.data, other.data);
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["h" /* compareUnions */])(this, other) | 0;
+ }
+ }]);
+
+ return Token;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("Preprocessor.Token", Token);
+var Parser = function () {
+ function Parser(tag, data) {
+ _classCallCheck(this, Parser);
+
+ this.tag = tag;
+ this.data = data;
+ }
+
+ _createClass(Parser, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "Preprocessor.Parser",
+ interfaces: ["FSharpUnion", "System.IEquatable", "System.IComparable"],
+ cases: [["MacroDefinition", Macro], ["MacroSubstitution", Sub], ["ParseText", "string"], ["ParseNewLine"]]
+ };
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(other) {
+ return this === other || this.tag === other.tag && Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["i" /* equals */])(this.data, other.data);
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["h" /* compareUnions */])(this, other) | 0;
+ }
+ }]);
+
+ return Parser;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("Preprocessor.Parser", Parser);
+var Macro = function () {
+ function Macro(name, args, body) {
+ _classCallCheck(this, Macro);
+
+ this.Name = name;
+ this.Args = args;
+ this.Body = body;
+ }
+
+ _createClass(Macro, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "Preprocessor.Macro",
+ interfaces: ["FSharpRecord", "System.IEquatable", "System.IComparable"],
+ properties: {
+ Name: "string",
+ Args: Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["l" /* makeGeneric */])(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */], {
+ T: "string"
+ }),
+ Body: Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["l" /* makeGeneric */])(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */], {
+ T: Parser
+ })
+ }
+ };
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["j" /* equalsRecords */])(this, other);
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["g" /* compareRecords */])(this, other) | 0;
+ }
+ }]);
+
+ return Macro;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("Preprocessor.Macro", Macro);
+var Sub = function () {
+ function Sub(name, args, raw) {
+ _classCallCheck(this, Sub);
+
+ this.Name = name;
+ this.Args = args;
+ this.Raw = raw;
+ }
+
+ _createClass(Sub, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "Preprocessor.Sub",
+ interfaces: ["FSharpRecord", "System.IEquatable", "System.IComparable"],
+ properties: {
+ Name: "string",
+ Args: Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["l" /* makeGeneric */])(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */], {
+ T: "string"
+ }),
+ Raw: "string"
+ }
+ };
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["j" /* equalsRecords */])(this, other);
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["g" /* compareRecords */])(this, other) | 0;
+ }
+ }]);
+
+ return Sub;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("Preprocessor.Sub", Sub);
+var charList = Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([["{%", new Token(2)], ["%}", new Token(3)], ["{{", new Token(4)], ["}}", new Token(5)], ["(", new Token(6)], [")", new Token(7)], [";", new Token(8)], ["\\", new Token(10)]]);
+var keywordList = Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([["macro", new Token(1)]]);
+
+function _WhiteSpace_NonWhiteSpace_(_arg1) {
+ var $var1 = void 0;
+
+ if (_arg1.tag === 0) {
+ var activePatternResult593 = Object(__WEBPACK_IMPORTED_MODULE_3__LexerShared_fs__["d" /* $7C$RegexMatch$7C$_$7C$ */])("^\\s*$", _arg1.data);
+
+ if (activePatternResult593 != null) {
+ $var1 = [0];
+ } else {
+ $var1 = [1];
+ }
+ } else {
+ $var1 = [1];
+ }
+
+ switch ($var1[0]) {
+ case 0:
+ return new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Choice__["c" /* default */](0, null);
+
+ case 1:
+ return new __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_Choice__["c" /* default */](1, null);
+ }
+}
+
+
+
+var _EscapedCharParse___ = Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function () {
+ var tType = function tType(arg0) {
+ return new Token(0, arg0);
+ };
+
+ return function (str) {
+ return Object(__WEBPACK_IMPORTED_MODULE_3__LexerShared_fs__["b" /* $7C$EscapedChar$7C$_$7C$ */])(tType, charList, str);
+ };
+}());
+
+
+
+var _CharacterParse___ = Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function (str) {
+ return Object(__WEBPACK_IMPORTED_MODULE_3__LexerShared_fs__["a" /* $7C$Character$7C$_$7C$ */])(charList, str);
+});
+
+
+
+var _KeywordParse___ = Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function (str) {
+ return Object(__WEBPACK_IMPORTED_MODULE_3__LexerShared_fs__["a" /* $7C$Character$7C$_$7C$ */])(keywordList, str);
+});
+
+
+function tokToString(tList) {
+ var tokString = function tokString(st, _arg1) {
+ if (_arg1.tag === 0) {
+ return st + _arg1.data;
+ } else {
+ var matchValue = Object(__WEBPACK_IMPORTED_MODULE_6__Shared_fs__["c" /* listTryFind */])(_arg1)(Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["a" /* append */])(charList, keywordList));
+
+ if (matchValue != null) {
+ return st + Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(matchValue);
+ } else {
+ return st;
+ }
+ }
+ };
+
+ return Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(tokString, "", tList);
+}
+function nextToken(str) {
+ var literalMatch = Object(__WEBPACK_IMPORTED_MODULE_3__LexerShared_fs__["e" /* literalString */])(charList);
+ var $var2 = void 0;
+
+ var activePatternResult604 = _EscapedCharParse___(str);
+
+ if (activePatternResult604 != null) {
+ $var2 = [0, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult604)];
+ } else {
+ var activePatternResult605 = _CharacterParse___(str);
+
+ if (activePatternResult605 != null) {
+ $var2 = [0, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult605)];
+ } else {
+ var activePatternResult606 = _KeywordParse___(str);
+
+ if (activePatternResult606 != null) {
+ $var2 = [0, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult606)];
+ } else {
+ $var2 = [1];
+ }
+ }
+ }
+
+ switch ($var2[0]) {
+ case 0:
+ return $var2[1];
+
+ case 1:
+ var activePatternResult603 = Object(__WEBPACK_IMPORTED_MODULE_3__LexerShared_fs__["d" /* $7C$RegexMatch$7C$_$7C$ */])("^\\s+", str);
+
+ if (activePatternResult603 != null) {
+ return [new Token(0, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult603)[0]), Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult603)[2]];
+ } else {
+ var activePatternResult601 = Object(__WEBPACK_IMPORTED_MODULE_3__LexerShared_fs__["d" /* $7C$RegexMatch$7C$_$7C$ */])(literalMatch, str);
+
+ if (activePatternResult601 != null) {
+ return [new Token(0, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult601)[0]), Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult601)[2]];
+ } else {
+ return [new Token(0, Object(__WEBPACK_IMPORTED_MODULE_3__LexerShared_fs__["f" /* toString */])(str[0])), str.slice(1, str.length)];
+ }
+ }
+
+ }
+}
+function tokenize(str) {
+ var pTokenize_ = function pTokenize_(tList, str_1) {
+ pTokenize_: while (true) {
+ if (str_1 === "") {
+ return new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](new Token(9), tList);
+ } else {
+ var patternInput = nextToken(str_1);
+ tList = new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](patternInput[0], tList);
+ str_1 = patternInput[1];
+ continue pTokenize_;
+ }
+ }
+ };
+
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["h" /* reverse */])(pTokenize_(new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](), str));
+}
+var tokenizeList = Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function (list) {
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["b" /* collect */])(function (str) {
+ return tokenize(str);
+ }, list);
+});
+
+var _KeyWord___ = Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function () {
+ var listCheckExists = function listCheckExists(t, list) {
+ return Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Seq__["e" /* exists */])(function (y) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["i" /* equals */])(t, y);
+ }, Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["e" /* map */])(function (tupledArg) {
+ return tupledArg[1];
+ }, list));
+ };
+
+ return function (_arg1) {
+ var $var3 = void 0;
+
+ if (_arg1.tail != null) {
+ var activePatternResult615 = _WhiteSpace_NonWhiteSpace_(_arg1.head);
+
+ if (activePatternResult615.tag === 0) {
+ if (_arg1.tail.tail != null) {
+ $var3 = [0, _arg1.tail.head, _arg1.tail.tail];
+ } else {
+ $var3 = [0, _arg1.head, _arg1.tail];
+ }
+ } else {
+ $var3 = [0, _arg1.head, _arg1.tail];
+ }
+ } else {
+ $var3 = [1];
+ }
+
+ switch ($var3[0]) {
+ case 0:
+ var matchValue = listCheckExists($var3[1], keywordList);
+
+ if (matchValue) {
+ return [$var3[1], $var3[2]];
+ } else {
+ return null;
+ }
+
+ case 1:
+ return null;
+ }
+ };
+}());
+
+
+
+var _ArgList___ = Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function () {
+ var _NameList___ = function _NameList___(_arg1) {
+ var $var4 = void 0;
+
+ if (_arg1.tail != null) {
+ if (_arg1.head.tag === 0) {
+ var activePatternResult617 = _NameList___(_arg1.tail);
+
+ if (activePatternResult617 != null) {
+ $var4 = [0, _arg1.head.data, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult617)[0], Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult617)[1]];
+ } else {
+ $var4 = [1];
+ }
+ } else {
+ $var4 = [1];
+ }
+ } else {
+ $var4 = [1];
+ }
+
+ switch ($var4[0]) {
+ case 0:
+ return [new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */]($var4[1], $var4[2]), $var4[3]];
+
+ case 1:
+ var $var5 = _arg1.tail != null ? _arg1.head.tag === 0 ? [0, _arg1.head.data, _arg1.tail] : [1] : [1];
+
+ switch ($var5[0]) {
+ case 0:
+ return [Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([$var5[1]]), $var5[2]];
+
+ case 1:
+ return null;
+ }
+
+ }
+ };
+
+ var _ParamList___ = function _ParamList___(_arg2) {
+ var $var6 = void 0;
+
+ if (_arg2.tail != null) {
+ var activePatternResult622 = _WhiteSpace_NonWhiteSpace_(_arg2.head);
+
+ if (activePatternResult622.tag === 0) {
+ $var6 = [0, _arg2.tail];
+ } else {
+ $var6 = [0, _arg2];
+ }
+ } else {
+ $var6 = [0, _arg2];
+ }
+
+ switch ($var6[0]) {
+ case 0:
+ var $var7 = void 0;
+
+ var activePatternResult620 = _NameList___($var6[1]);
+
+ if (activePatternResult620 != null) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult620)[1].tail != null) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult620)[1].head.tag === 8) {
+ var activePatternResult621 = _ParamList___(Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult620)[1].tail);
+
+ if (activePatternResult621 != null) {
+ $var7 = [0, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult621)[0], Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult620)[0], Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult621)[1]];
+ } else {
+ $var7 = [1];
+ }
+ } else {
+ $var7 = [1];
+ }
+ } else {
+ $var7 = [1];
+ }
+ } else {
+ $var7 = [1];
+ }
+
+ switch ($var7[0]) {
+ case 0:
+ return [new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(function (x, y) {
+ return x + y;
+ }, "", $var7[2]), $var7[1]), $var7[3]];
+
+ case 1:
+ var activePatternResult619 = _NameList___($var6[1]);
+
+ if (activePatternResult619 != null) {
+ return [Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(function (x_1, y_1) {
+ return x_1 + y_1;
+ }, "", Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult619)[0])]), Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult619)[1]];
+ } else {
+ return [new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](), $var6[1]];
+ }
+
+ }
+
+ }
+ };
+
+ return function (_arg3) {
+ var $var8 = void 0;
+
+ if (_arg3.tail != null) {
+ var activePatternResult625 = _WhiteSpace_NonWhiteSpace_(_arg3.head);
+
+ if (activePatternResult625.tag === 0) {
+ $var8 = [0, _arg3.tail];
+ } else {
+ $var8 = [0, _arg3];
+ }
+ } else {
+ $var8 = [0, _arg3];
+ }
+
+ switch ($var8[0]) {
+ case 0:
+ var $var9 = void 0;
+
+ if ($var8[1].tail != null) {
+ if ($var8[1].head.tag === 6) {
+ var activePatternResult624 = _ParamList___($var8[1].tail);
+
+ if (activePatternResult624 != null) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult624)[1].tail != null) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult624)[1].head.tag === 7) {
+ $var9 = [0, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult624)[0], Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult624)[1].tail];
+ } else {
+ $var9 = [1];
+ }
+ } else {
+ $var9 = [1];
+ }
+ } else {
+ $var9 = [1];
+ }
+ } else {
+ $var9 = [1];
+ }
+ } else {
+ $var9 = [1];
+ }
+
+ switch ($var9[0]) {
+ case 0:
+ return [$var9[1], $var9[2]];
+
+ case 1:
+ return null;
+ }
+
+ }
+ };
+}());
+
+
+
+function _Function___(_arg1) {
+ var $var10 = void 0;
+
+ if (_arg1.tail != null) {
+ var activePatternResult631 = _WhiteSpace_NonWhiteSpace_(_arg1.head);
+
+ if (activePatternResult631.tag === 0) {
+ if (_arg1.tail.tail != null) {
+ if (_arg1.tail.head.tag === 0) {
+ $var10 = [0, _arg1.tail.head.data, _arg1.tail.tail];
+ } else {
+ $var10 = [1];
+ }
+ } else {
+ $var10 = [1];
+ }
+ } else {
+ $var10 = [1];
+ }
+ } else {
+ $var10 = [1];
+ }
+
+ switch ($var10[0]) {
+ case 0:
+ var $var11 = void 0;
+
+ var activePatternResult629 = _ArgList___($var10[2]);
+
+ if (activePatternResult629 != null) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult629)[1].tail != null) {
+ var activePatternResult630 = _WhiteSpace_NonWhiteSpace_(Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult629)[1].head);
+
+ if (activePatternResult630.tag === 0) {
+ $var11 = [0, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult629)[0], Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult629)[1].tail];
+ } else {
+ $var11 = [0, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult629)[0], Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult629)[1]];
+ }
+ } else {
+ $var11 = [0, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult629)[0], Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult629)[1]];
+ }
+ } else {
+ $var11 = [1];
+ }
+
+ switch ($var11[0]) {
+ case 0:
+ return [$var10[1], $var11[1], $var11[2]];
+
+ case 1:
+ var $var12 = void 0;
+
+ if ($var10[2].tail != null) {
+ var activePatternResult628 = _WhiteSpace_NonWhiteSpace_($var10[2].head);
+
+ if (activePatternResult628.tag === 0) {
+ $var12 = [0, $var10[2].tail];
+ } else {
+ $var12 = [0, $var10[2]];
+ }
+ } else {
+ $var12 = [0, $var10[2]];
+ }
+
+ switch ($var12[0]) {
+ case 0:
+ return [$var10[1], new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](), $var12[1]];
+ }
+
+ }
+
+ case 1:
+ return null;
+ }
+}
+
+
+
+function _MacroDef___(_arg1) {
+ var $var13 = void 0;
+
+ if (_arg1.tail != null) {
+ if (_arg1.head.tag === 2) {
+ var activePatternResult633 = _KeyWord___(_arg1.tail);
+
+ if (activePatternResult633 != null) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult633)[0].tag === 1) {
+ var activePatternResult634 = _Function___(Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult633)[1]);
+
+ if (activePatternResult634 != null) {
+ $var13 = [0, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult634)];
+ } else {
+ $var13 = [1];
+ }
+ } else {
+ $var13 = [1];
+ }
+ } else {
+ $var13 = [1];
+ }
+ } else {
+ $var13 = [1];
+ }
+ } else {
+ $var13 = [1];
+ }
+
+ switch ($var13[0]) {
+ case 0:
+ return $var13[1];
+
+ case 1:
+ return null;
+ }
+}
+
+
+
+function _EvalDef___(_arg1) {
+ var $var14 = void 0;
+
+ if (_arg1.tail != null) {
+ if (_arg1.head.tag === 4) {
+ if (_arg1.tail.tail != null) {
+ var activePatternResult640 = _WhiteSpace_NonWhiteSpace_(_arg1.tail.head);
+
+ if (activePatternResult640.tag === 0) {
+ $var14 = [0, _arg1.tail.tail];
+ } else {
+ $var14 = [0, _arg1.tail];
+ }
+ } else {
+ $var14 = [0, _arg1.tail];
+ }
+ } else {
+ $var14 = [1];
+ }
+ } else {
+ $var14 = [1];
+ }
+
+ switch ($var14[0]) {
+ case 0:
+ var $var15 = void 0;
+
+ if ($var14[1].tail != null) {
+ if ($var14[1].head.tag === 0) {
+ var activePatternResult638 = _ArgList___($var14[1].tail);
+
+ if (activePatternResult638 != null) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult638)[1].tail != null) {
+ var activePatternResult639 = _WhiteSpace_NonWhiteSpace_(Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult638)[1].head);
+
+ if (activePatternResult639.tag === 0) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult638)[1].tail.tail != null) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult638)[1].tail.head.tag === 5) {
+ $var15 = [0, $var14[1].head.data, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult638)[0], Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult638)[1].tail.tail];
+ } else if (Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult638)[1].head.tag === 5) {
+ $var15 = [0, $var14[1].head.data, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult638)[0], Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult638)[1].tail];
+ } else {
+ $var15 = [1];
+ }
+ } else if (Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult638)[1].head.tag === 5) {
+ $var15 = [0, $var14[1].head.data, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult638)[0], Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult638)[1].tail];
+ } else {
+ $var15 = [1];
+ }
+ } else if (Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult638)[1].head.tag === 5) {
+ $var15 = [0, $var14[1].head.data, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult638)[0], Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult638)[1].tail];
+ } else {
+ $var15 = [1];
+ }
+ } else {
+ $var15 = [1];
+ }
+ } else {
+ $var15 = [1];
+ }
+ } else {
+ $var15 = [1];
+ }
+ } else {
+ $var15 = [1];
+ }
+
+ switch ($var15[0]) {
+ case 0:
+ return [$var15[1], $var15[2], $var15[3]];
+
+ case 1:
+ var $var16 = void 0;
+
+ if ($var14[1].tail != null) {
+ if ($var14[1].head.tag === 0) {
+ if ($var14[1].tail.tail != null) {
+ var activePatternResult637 = _WhiteSpace_NonWhiteSpace_($var14[1].tail.head);
+
+ if (activePatternResult637.tag === 0) {
+ if ($var14[1].tail.tail.tail != null) {
+ if ($var14[1].tail.tail.head.tag === 5) {
+ $var16 = [0, $var14[1].head.data, $var14[1].tail.tail.tail];
+ } else if ($var14[1].tail.head.tag === 5) {
+ $var16 = [0, $var14[1].head.data, $var14[1].tail.tail];
+ } else {
+ $var16 = [1];
+ }
+ } else if ($var14[1].tail.head.tag === 5) {
+ $var16 = [0, $var14[1].head.data, $var14[1].tail.tail];
+ } else {
+ $var16 = [1];
+ }
+ } else if ($var14[1].tail.head.tag === 5) {
+ $var16 = [0, $var14[1].head.data, $var14[1].tail.tail];
+ } else {
+ $var16 = [1];
+ }
+ } else {
+ $var16 = [1];
+ }
+ } else {
+ $var16 = [1];
+ }
+ } else {
+ $var16 = [1];
+ }
+
+ switch ($var16[0]) {
+ case 0:
+ return [$var16[1], new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](), $var16[2]];
+
+ case 1:
+ return null;
+ }
+
+ }
+
+ case 1:
+ return null;
+ }
+}
+
+
+
+function _SChar___(tok) {
+ return function (map) {
+ return Object(__WEBPACK_IMPORTED_MODULE_6__Shared_fs__["f" /* mapTryFind */])(tok, map);
+ }(Object(__WEBPACK_IMPORTED_MODULE_9__nuget_packages_fable_core_1_3_1_fable_core_Map__["b" /* create */])(Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["e" /* map */])(function (tupledArg) {
+ return Object(__WEBPACK_IMPORTED_MODULE_6__Shared_fs__["b" /* invTuple */])(tupledArg[0], tupledArg[1]);
+ }, Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["a" /* append */])(charList, keywordList)), new __WEBPACK_IMPORTED_MODULE_10__nuget_packages_fable_core_1_3_1_fable_core_Comparer__["a" /* default */](function (x, y) {
+ return x.CompareTo(y);
+ })));
+}
+
+
+function parse(tList) {
+ var getRaw = function getRaw(list) {
+ var getRaw_ = function getRaw_(list_1, curr) {
+ if (list_1.tail != null) {
+ if (list_1.head.tag === 5) {
+ return new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](new Token(5), curr);
+ } else {
+ return Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(getRaw_, [list_1.tail])(new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](list_1.head, curr));
+ }
+ } else {
+ return curr;
+ }
+ };
+
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["h" /* reverse */])(getRaw_(list, new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */]()));
+ };
+
+ var parse_ = function parse_(endToken, tList_1, pList) {
+ var pRec = function pRec(f, c, tl) {
+ return Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(parse_, [endToken, tl])(new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](f(c), pList));
+ };
+
+ var recText = Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(pRec, [function (arg0) {
+ return new Parser(2, arg0);
+ }]);
+ var matchValue = [tList_1, endToken];
+
+ var activePatternResult659 = _MacroDef___(matchValue[0]);
+
+ if (activePatternResult659 != null) {
+ var patternInput = parse_(new Token(3), Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult659)[2], new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */]());
+ return pRec(function (arg0_1) {
+ return new Parser(0, arg0_1);
+ }, new Macro(Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult659)[0], Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult659)[1], Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["h" /* reverse */])(patternInput[0])), patternInput[1]);
+ } else {
+ var activePatternResult658 = _EvalDef___(matchValue[0]);
+
+ if (activePatternResult658 != null) {
+ return pRec(function (arg0_2) {
+ return new Parser(1, arg0_2);
+ }, new Sub(Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult658)[0], Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult658)[1], tokToString(getRaw(tList_1))), Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult658)[2]);
+ } else {
+ var $var17 = void 0;
+
+ if (matchValue[0].tail != null) {
+ if (matchValue[0].head.tag === 9) {
+ $var17 = [0, matchValue[0].tail];
+ } else {
+ var activePatternResult657 = _WhiteSpace_NonWhiteSpace_(matchValue[0].head);
+
+ if (activePatternResult657.tag === 0) {
+ if (matchValue[0].tail.tail != null) {
+ if (matchValue[1] != null) {
+ if (function () {
+ var tl_1 = matchValue[0].tail.tail;
+ var e = Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(matchValue[1]);
+ var a = matchValue[0].tail.head;
+ return e.Equals(a);
+ }()) {
+ $var17 = [1, matchValue[0].tail.head, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(matchValue[1]), matchValue[0].tail.tail];
+ } else if (function () {
+ var tl_2 = matchValue[0].tail;
+ var e_1 = Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(matchValue[1]);
+ var a_1 = matchValue[0].head;
+ return e_1.Equals(a_1);
+ }()) {
+ $var17 = [1, matchValue[0].head, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(matchValue[1]), matchValue[0].tail];
+ } else {
+ $var17 = [2];
+ }
+ } else {
+ $var17 = [2];
+ }
+ } else if (matchValue[1] != null) {
+ if (function () {
+ var tl_3 = matchValue[0].tail;
+ var e_2 = Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(matchValue[1]);
+ var a_2 = matchValue[0].head;
+ return e_2.Equals(a_2);
+ }()) {
+ $var17 = [1, matchValue[0].head, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(matchValue[1]), matchValue[0].tail];
+ } else {
+ $var17 = [2];
+ }
+ } else {
+ $var17 = [2];
+ }
+ } else if (matchValue[1] != null) {
+ if (function () {
+ var tl_4 = matchValue[0].tail;
+ var e_3 = Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(matchValue[1]);
+ var a_3 = matchValue[0].head;
+ return e_3.Equals(a_3);
+ }()) {
+ $var17 = [1, matchValue[0].head, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(matchValue[1]), matchValue[0].tail];
+ } else {
+ $var17 = [2];
+ }
+ } else {
+ $var17 = [2];
+ }
+ }
+ } else {
+ $var17 = [2];
+ }
+
+ switch ($var17[0]) {
+ case 0:
+ return pRec(function (x) {
+ return x;
+ }, new Parser(3), $var17[1]);
+
+ case 1:
+ var $var18 = void 0;
+
+ if ($var17[3].tail != null) {
+ var activePatternResult653 = _WhiteSpace_NonWhiteSpace_($var17[3].head);
+
+ if (activePatternResult653.tag === 0) {
+ if ($var17[3].tail.tail != null) {
+ if ($var17[3].tail.head.tag === 9) {
+ $var18 = [0, $var17[3].tail.tail];
+ } else {
+ $var18 = [0, $var17[3].tail];
+ }
+ } else {
+ $var18 = [0, $var17[3].tail];
+ }
+ } else if ($var17[3].head.tag === 9) {
+ $var18 = [0, $var17[3].tail];
+ } else {
+ $var18 = [0, $var17[3]];
+ }
+ } else {
+ $var18 = [0, $var17[3]];
+ }
+
+ switch ($var18[0]) {
+ case 0:
+ return [pList, $var18[1]];
+ }
+
+ case 2:
+ var $var19 = void 0;
+
+ if (matchValue[0].tail != null) {
+ if (matchValue[0].head.tag === 0) {
+ $var19 = [0, matchValue[0].head.data, matchValue[0].tail];
+ } else {
+ var activePatternResult656 = _SChar___(matchValue[0].head);
+
+ if (activePatternResult656 != null) {
+ $var19 = [1, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(activePatternResult656), matchValue[0].tail];
+ } else {
+ $var19 = [2];
+ }
+ }
+ } else {
+ $var19 = [2];
+ }
+
+ switch ($var19[0]) {
+ case 0:
+ return recText($var19[1], $var19[2]);
+
+ case 1:
+ return recText($var19[1], $var19[2]);
+
+ case 2:
+ return [pList, new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */]()];
+ }
+
+ }
+ }
+ }
+ };
+
+ var patternInput_1 = parse_(null, tList, new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */]());
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["h" /* reverse */])(patternInput_1[0]);
+}
+function evaluate(pList) {
+ var makeEmptyParam = function makeEmptyParam(args) {
+ return Object(__WEBPACK_IMPORTED_MODULE_9__nuget_packages_fable_core_1_3_1_fable_core_Map__["b" /* create */])(function (list2) {
+ return Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Seq__["n" /* toList */])(Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Seq__["p" /* zip */])(args, list2));
+ }(Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["g" /* replicate */])(args.length, null)), new __WEBPACK_IMPORTED_MODULE_10__nuget_packages_fable_core_1_3_1_fable_core_Comparer__["a" /* default */](__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["f" /* comparePrimitives */]));
+ };
+
+ var addParam = function addParam(p, macro, args_1) {
+ return function () {
+ var folder = function folder(s, tupledArg) {
+ return Object(__WEBPACK_IMPORTED_MODULE_9__nuget_packages_fable_core_1_3_1_fable_core_Map__["a" /* add */])(tupledArg[0], tupledArg[1], s);
+ };
+
+ return function (list) {
+ return Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(folder, p, list);
+ };
+ }()(Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Seq__["n" /* toList */])(Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Seq__["p" /* zip */])(macro.Args, args_1)));
+ };
+
+ var makeMacro = function makeMacro(n, args_2, p_1) {
+ return new Macro(n, args_2, p_1);
+ };
+
+ var mapAdd = function mapAdd(map, k, v) {
+ return Object(__WEBPACK_IMPORTED_MODULE_9__nuget_packages_fable_core_1_3_1_fable_core_Map__["a" /* add */])(k, v, map);
+ };
+
+ var evalulate_ = function evalulate_(pList_1, newPList, param, scope) {
+ var evalulateInv_ = function evalulateInv_(pList_2, newPList_1, scope_1, param_1) {
+ return evalulate_(pList_2, newPList_1, param_1, scope_1);
+ };
+
+ var evalulate__ = function evalulate__(pList_3, list_1) {
+ return evalulate_(pList_3, Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["a" /* append */])(list_1, newPList), param, scope);
+ };
+
+ if (pList_1.tail != null) {
+ if (pList_1.head.tag === 0) {
+ return Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(evalulate_, [pList_1.tail, newPList, param])(Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(mapAdd, [scope, pList_1.head.data.Name])(Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(makeMacro, [pList_1.head.data.Name, pList_1.head.data.Args])(Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(evalulateInv_, [pList_1.head.data.Body, new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](), scope])(makeEmptyParam(pList_1.head.data.Args)))));
+ } else if (pList_1.head.tag === 1) {
+ var _eval = void 0;
+
+ var matchValue = Object(__WEBPACK_IMPORTED_MODULE_9__nuget_packages_fable_core_1_3_1_fable_core_Map__["d" /* tryFind */])(pList_1.head.data.Name, param);
+
+ if (matchValue != null) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(matchValue) != null) {
+ _eval = Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([new Parser(2, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(matchValue)))]);
+ } else {
+ _eval = Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([pList_1.head]);
+ }
+ } else {
+ var matchValue_1 = Object(__WEBPACK_IMPORTED_MODULE_9__nuget_packages_fable_core_1_3_1_fable_core_Map__["d" /* tryFind */])(pList_1.head.data.Name, scope);
+ var $var20 = matchValue_1 != null ? pList_1.head.data.Args.tail == null ? [0, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(matchValue_1)] : [1] : [1];
+
+ switch ($var20[0]) {
+ case 0:
+ _eval = $var20[1].Body;
+ break;
+
+ case 1:
+ if (matchValue_1 != null) {
+ _eval = Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["h" /* reverse */])(Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(evalulateInv_, [Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(matchValue_1).Body, new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](), scope])(addParam(param, Object(__WEBPACK_IMPORTED_MODULE_7__nuget_packages_fable_core_1_3_1_fable_core_Option__["c" /* getValue */])(matchValue_1), pList_1.head.data.Args)));
+ } else {
+ _eval = Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([new Parser(2, pList_1.head.data.Raw)]);
+ }
+
+ break;
+ }
+ }
+
+ return evalulate__(pList_1.tail, _eval);
+ } else {
+ return evalulate__(pList_1.tail, Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([pList_1.head]));
+ }
+ } else {
+ return newPList;
+ }
+ };
+
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["h" /* reverse */])(evalulate_(pList, new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](), Object(__WEBPACK_IMPORTED_MODULE_9__nuget_packages_fable_core_1_3_1_fable_core_Map__["b" /* create */])(null, new __WEBPACK_IMPORTED_MODULE_10__nuget_packages_fable_core_1_3_1_fable_core_Comparer__["a" /* default */](__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["f" /* comparePrimitives */])), Object(__WEBPACK_IMPORTED_MODULE_9__nuget_packages_fable_core_1_3_1_fable_core_Map__["b" /* create */])(null, new __WEBPACK_IMPORTED_MODULE_10__nuget_packages_fable_core_1_3_1_fable_core_Comparer__["a" /* default */](__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["f" /* comparePrimitives */]))));
+}
+function parserToString(pList) {
+ return Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(function (st, _arg1) {
+ return _arg1.tag === 2 ? st + _arg1.data : _arg1.tag === 3 ? st + "\n" : st;
+ }, "", pList);
+}
+function toStringList(pList) {
+ var f = function f(st, n) {
+ var matchValue = [st, n];
+
+ if (matchValue[1].tag === 3) {
+ return new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */]("", st);
+ } else if (matchValue[1].tag === 2) {
+ if (matchValue[0].tail != null) {
+ return new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](matchValue[0].head + matchValue[1].data, matchValue[0].tail);
+ } else {
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([matchValue[1].data]);
+ }
+ } else {
+ return st;
+ }
+ };
+
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["h" /* reverse */])(Object(__WEBPACK_IMPORTED_MODULE_8__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(f, new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](), pList));
+}
+var pETS = Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function () {
+ var stripLastEndline = function stripLastEndline(l) {
+ var matchValue = Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["h" /* reverse */])(l);
+ var $var21 = matchValue.tail != null ? matchValue.head.tag === 3 ? matchValue.tail.tail == null ? [0, matchValue] : [1, matchValue.tail] : [2] : [2];
+
+ switch ($var21[0]) {
+ case 0:
+ return $var21[1];
+
+ case 1:
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["h" /* reverse */])($var21[1]);
+
+ case 2:
+ return l;
+ }
+ };
+
+ return function ($var23) {
+ return stripLastEndline(function ($var22) {
+ return evaluate(parse($var22));
+ }($var23));
+ };
+}());
+var preprocess = Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function ($var25) {
+ return function (pList) {
+ return parserToString(pList);
+ }(function ($var24) {
+ return pETS(function (str) {
+ return tokenize(str);
+ }($var24));
+ }($var25));
+});
+var preprocessList = Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function ($var27) {
+ return function (pList) {
+ return toStringList(pList);
+ }(function ($var26) {
+ return pETS(function (list) {
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["b" /* collect */])(function (str) {
+ return tokenize(str);
+ }, list);
+ }($var26));
+ }($var27));
+});
+
+/***/ }),
+/* 34 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export dLogger */
+/* unused harmony export strFStr */
+/* unused harmony export strInlineElements */
+/* unused harmony export strParagraph */
+/* unused harmony export strTable */
+/* unused harmony export strList */
+/* unused harmony export strHeader */
+/* unused harmony export strInlineFootnote */
+/* unused harmony export $7C$MatchHeaderAndSubHeader$7C$_$7C$ */
+/* unused harmony export strToC */
+/* unused harmony export gatherFootnotes */
+/* harmony export (immutable) */ __webpack_exports__["a"] = strBody;
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Logger_Logger_fs__ = __webpack_require__(14);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__HTMLGenHelpers_fs__ = __webpack_require__(35);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__ = __webpack_require__(0);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Seq__ = __webpack_require__(3);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Types_fs__ = __webpack_require__(6);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_String__ = __webpack_require__(7);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__ = __webpack_require__(4);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__Shared_fs__ = __webpack_require__(8);
+
+
+
+
+
+
+
+
+
+var dLogger = new __WEBPACK_IMPORTED_MODULE_0__Logger_Logger_fs__["a" /* Logger */](2);
+function strFStr(fStr) {
+ if (fStr.tag === 3) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__HTMLGenHelpers_fs__["b" /* attachSimpleTag */])("code")(fStr.data);
+ } else if (fStr.tag === 0) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__HTMLGenHelpers_fs__["b" /* attachSimpleTag */])("strong")(strInlineElements(fStr.data));
+ } else if (fStr.tag === 1) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__HTMLGenHelpers_fs__["b" /* attachSimpleTag */])("em")(strInlineElements(fStr.data));
+ } else {
+ return fStr.data;
+ }
+}
+function strInlineElements(eles) {
+ var convertHtml = function convertHtml(pStr, ele) {
+ return pStr + (ele.tag === 1 ? Object(__WEBPACK_IMPORTED_MODULE_1__HTMLGenHelpers_fs__["a" /* attachHTMLTag */])("a", Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([["href", ele.data[1]]]), true, strFStr(ele.data[0])) : ele.tag === 2 ? function () {
+ var attrs = Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([["src", ele.data[1]], ["alt", ele.data[0]]]);
+ return Object(__WEBPACK_IMPORTED_MODULE_1__HTMLGenHelpers_fs__["a" /* attachHTMLTag */])("img", attrs, false, "");
+ }() : strFStr(ele.data));
+ };
+
+ return Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(convertHtml, "", eles);
+}
+function strParagraph(lines) {
+ var folder = function folder(pLinesStr, line) {
+ return pLinesStr + strInlineElements(line);
+ };
+
+ return Object(__WEBPACK_IMPORTED_MODULE_1__HTMLGenHelpers_fs__["b" /* attachSimpleTag */])("p")(Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(folder, "", lines));
+}
+function strTable(rows) {
+ var containHeader = function containHeader(row) {
+ return row.data[1];
+ };
+
+ var takeoutCells = void 0;
+
+ var mapping = function mapping(pRow) {
+ return pRow.data[0];
+ };
+
+ takeoutCells = function takeoutCells(list) {
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["e" /* map */])(mapping, list);
+ };
+
+ var headerRows = takeoutCells(Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["d" /* filter */])(containHeader, rows));
+ var bodyRows = takeoutCells(Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["d" /* filter */])(function ($var1) {
+ return function (value) {
+ return !value;
+ }(containHeader($var1));
+ }, rows));
+
+ var foldCells = function foldCells(row_1) {
+ var cellsFolder = function cellsFolder(pStr, cell) {
+ var tagName = cell.data[1] ? "th" : "td";
+ var cellContent = strInlineElements(cell.data[0]);
+ var alignAttr = cell.data[2].tag === 1 ? ["align", "right"] : cell.data[2].tag === 2 ? ["align", "left"] : cell.data[2].tag === 3 ? ["", ""] : ["align", "center"];
+ return pStr + Object(__WEBPACK_IMPORTED_MODULE_1__HTMLGenHelpers_fs__["a" /* attachHTMLTag */])(tagName, Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([alignAttr]), true, cellContent);
+ };
+
+ return Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(cellsFolder, "", row_1);
+ };
+
+ var foldRows = function foldRows(rows_1) {
+ var rowsFolder = function rowsFolder(pStr_1, row_2) {
+ return function (s) {
+ return pStr_1 + s;
+ }(Object(__WEBPACK_IMPORTED_MODULE_1__HTMLGenHelpers_fs__["b" /* attachSimpleTag */])("tr")(foldCells(row_2)));
+ };
+
+ return Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(rowsFolder, "", rows_1);
+ };
+
+ return Object(__WEBPACK_IMPORTED_MODULE_1__HTMLGenHelpers_fs__["b" /* attachSimpleTag */])("table")(function (s_1) {
+ return s_1 + Object(__WEBPACK_IMPORTED_MODULE_1__HTMLGenHelpers_fs__["b" /* attachSimpleTag */])("tbody")(foldRows(bodyRows));
+ }(Object(__WEBPACK_IMPORTED_MODULE_1__HTMLGenHelpers_fs__["b" /* attachSimpleTag */])("thead")(foldRows(headerRows))));
+}
+function strList(list) {
+ var strListItem = function strListItem(pStr, li) {
+ return pStr + (li.tag === 0 ? strList(li.data) : Object(__WEBPACK_IMPORTED_MODULE_1__HTMLGenHelpers_fs__["b" /* attachSimpleTag */])("li")(strInlineElements(li.data)));
+ };
+
+ var listTag = list.ListType.Equals(new __WEBPACK_IMPORTED_MODULE_4__Types_fs__["n" /* TListType */](0)) ? "ul" : "ol";
+ return Object(__WEBPACK_IMPORTED_MODULE_1__HTMLGenHelpers_fs__["b" /* attachSimpleTag */])(listTag)(Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(strListItem, "", list.ListItem));
+}
+function strHeader(header) {
+ var tagName = "h" + header.Level.toString();
+ return Object(__WEBPACK_IMPORTED_MODULE_1__HTMLGenHelpers_fs__["b" /* attachSimpleTag */])(tagName)(strInlineElements(header.HeaderName));
+}
+function strInlineFootnote(fnId) {
+ var idStr = fnId.tag === 1 ? fnId.data : fnId.data.toString();
+ return Object(__WEBPACK_IMPORTED_MODULE_1__HTMLGenHelpers_fs__["b" /* attachSimpleTag */])("sup")(Object(__WEBPACK_IMPORTED_MODULE_1__HTMLGenHelpers_fs__["a" /* attachHTMLTag */])("a", Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([["href", "#footnote-" + idStr]]), true, idStr));
+}
+
+function _MatchHeaderAndSubHeader___(hds) {
+ var $var2 = hds.tail != null ? hds.tail.tail != null ? [0, hds.head, hds.tail.head] : [1] : [1];
+
+ switch ($var2[0]) {
+ case 0:
+ if ($var2[2].Level > $var2[1].Level) {
+ return [hds.head, hds.tail];
+ } else {
+ return null;
+ }
+
+ case 1:
+ return null;
+ }
+}
+
+
+function strToC(toc) {
+ var displaySingleHeader = function displaySingleHeader(headerName) {
+ return strInlineElements(headerName);
+ };
+
+ var appendListItem = function appendListItem(s, i) {
+ var ListItem = new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](i, s.ListItem);
+ return new __WEBPACK_IMPORTED_MODULE_4__Types_fs__["l" /* TList */](s.ListType, ListItem, s.Depth);
+ };
+
+ var fstAppendListItem = function fstAppendListItem(s_1, i_1) {
+ return appendListItem(s_1[0], i_1);
+ };
+
+ var appendToNested = function appendToNested(s_2, appendee) {
+ var $var3 = s_2.ListItem.tail != null ? s_2.ListItem.head.tag === 0 ? [0, s_2.ListItem.head.data, s_2.ListItem.tail] : [1] : [1];
+
+ switch ($var3[0]) {
+ case 0:
+ dLogger.Debug(null)(Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("Append to nested: %A"))(appendee));
+ var ListItem_2 = new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](new __WEBPACK_IMPORTED_MODULE_4__Types_fs__["m" /* TListItem */](0, function () {
+ var ListItem_1 = new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */](appendee, $var3[1].ListItem);
+ return new __WEBPACK_IMPORTED_MODULE_4__Types_fs__["l" /* TList */]($var3[1].ListType, ListItem_1, $var3[1].Depth);
+ }()), $var3[2]);
+ return new __WEBPACK_IMPORTED_MODULE_4__Types_fs__["l" /* TList */](s_2.ListType, ListItem_2, s_2.Depth);
+
+ case 1:
+ dLogger.Debug(null)(Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("Create nested with: %A"))(appendee));
+ return Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(appendListItem, [s_2])(appendee);
+ }
+ };
+
+ var appendToNestedD = function appendToNestedD(n, s_3, appendee_1) {
+ var getNest = function getNest(_arg1) {
+ if (_arg1.tag === 0) {
+ return _arg1.data;
+ } else {
+ throw new Error("Invalid depth.");
+ }
+ };
+
+ var appendToNestedD_ = function appendToNestedD_(n_1, s_4) {
+ var recurse = function recurse(_arg2) {
+ if (_arg2.tail == null) {
+ return Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_String__["f" /* toFail */])(Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("List shouldn't be empty: %A"))(s_4);
+ } else {
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["a" /* append */])(appendToNestedD_(n_1 - 1, getNest(_arg2.head)).ListItem, _arg2.tail);
+ }
+ };
+
+ var matchValue = [n_1, s_4];
+
+ if (matchValue[0] > 0) {
+ var ListItem_3 = recurse(matchValue[1].ListItem);
+ return new __WEBPACK_IMPORTED_MODULE_4__Types_fs__["l" /* TList */](matchValue[1].ListType, ListItem_3, matchValue[1].Depth);
+ } else if (matchValue[0] === 0) {
+ return Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(appendToNested, [matchValue[1]])(appendee_1);
+ } else if (matchValue[0] < 0) {
+ throw new Error("Negative depth, shouldn't happen.");
+ } else {
+ return Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_String__["f" /* toFail */])(Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("n is: %i, s is: %A"))(n_1, s_4);
+ }
+ };
+
+ return appendToNestedD_(n, s_3);
+ };
+
+ var fold = function fold(s_5, _arg3) {
+ if (_arg3.Level === 1) {
+ return [Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(fstAppendListItem, [s_5])(new __WEBPACK_IMPORTED_MODULE_4__Types_fs__["m" /* TListItem */](1, _arg3.HeaderName)), _arg3.Level];
+ } else if (_arg3.Level > s_5[1]) {
+ return [Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(appendToNestedD, [0, s_5[0]])(new __WEBPACK_IMPORTED_MODULE_4__Types_fs__["m" /* TListItem */](0, new __WEBPACK_IMPORTED_MODULE_4__Types_fs__["l" /* TList */](new __WEBPACK_IMPORTED_MODULE_4__Types_fs__["n" /* TListType */](1), Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([new __WEBPACK_IMPORTED_MODULE_4__Types_fs__["m" /* TListItem */](1, _arg3.HeaderName)]), s_5[1]))), _arg3.Level];
+ } else if (_arg3.Level === s_5[1]) {
+ dLogger.Debug(null)(Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("Append: %A %i"))(_arg3.HeaderName, _arg3.Level));
+ return [Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(appendToNested, [s_5[0]])(new __WEBPACK_IMPORTED_MODULE_4__Types_fs__["m" /* TListItem */](1, _arg3.HeaderName)), _arg3.Level];
+ } else if (_arg3.Level < s_5[1]) {
+ return [Object(__WEBPACK_IMPORTED_MODULE_6__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(appendToNestedD, [_arg3.Level - 2, s_5[0]])(new __WEBPACK_IMPORTED_MODULE_4__Types_fs__["m" /* TListItem */](1, _arg3.HeaderName)), _arg3.Level];
+ } else {
+ return s_5;
+ }
+ };
+
+ var revList = function revList(l) {
+ var revListItemList = function revListItemList(li) {
+ var revRecurse = function revRecurse(_arg4) {
+ if (_arg4.tag === 0) {
+ return new __WEBPACK_IMPORTED_MODULE_4__Types_fs__["m" /* TListItem */](0, function () {
+ var ListItem_4 = revListItemList(_arg4.data.ListItem);
+ return new __WEBPACK_IMPORTED_MODULE_4__Types_fs__["l" /* TList */](_arg4.data.ListType, ListItem_4, _arg4.data.Depth);
+ }());
+ } else {
+ return _arg4;
+ }
+ };
+
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["h" /* reverse */])(Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["e" /* map */])(revRecurse, li));
+ };
+
+ var ListItem_5 = Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["h" /* reverse */])(revListItemList(l.ListItem));
+ return new __WEBPACK_IMPORTED_MODULE_4__Types_fs__["l" /* TList */](l.ListType, ListItem_5, l.Depth);
+ };
+
+ return strList(revList(function (l_1) {
+ var ListItem_6 = Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["h" /* reverse */])(l_1.ListItem);
+ return new __WEBPACK_IMPORTED_MODULE_4__Types_fs__["l" /* TList */](l_1.ListType, ListItem_6, l_1.Depth);
+ }(Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(fold, [function () {
+ var ListItem_7 = new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */]();
+ return new __WEBPACK_IMPORTED_MODULE_4__Types_fs__["l" /* TList */](new __WEBPACK_IMPORTED_MODULE_4__Types_fs__["n" /* TListType */](1), ListItem_7, 1);
+ }(), 1], toc.HeaderLst)[0])));
+}
+function gatherFootnotes(pObjs) {
+ var footnotesFilter = function footnotesFilter(pObj) {
+ if (pObj.tag === 8) {
+ return true;
+ } else {
+ return false;
+ }
+ };
+
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["d" /* filter */])(footnotesFilter, pObjs);
+}
+function strBody(pObjs) {
+ var folder = function folder(pStr, pObj) {
+ return pStr + function () {
+ switch (pObj.tag) {
+ case 4:
+ return strParagraph(pObj.data);
+
+ case 5:
+ return Object(__WEBPACK_IMPORTED_MODULE_1__HTMLGenHelpers_fs__["b" /* attachSimpleTag */])("q")(strInlineElements(pObj.data));
+
+ case 0:
+ return Object(__WEBPACK_IMPORTED_MODULE_1__HTMLGenHelpers_fs__["a" /* attachHTMLTag */])("code", Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["f" /* ofArray */])([["language", Object(__WEBPACK_IMPORTED_MODULE_7__Shared_fs__["d" /* mapLang */])(pObj.data[1])]]), true, pObj.data[0]);
+
+ case 6:
+ return strTable(pObj.data);
+
+ case 3:
+ return strList(pObj.data);
+
+ case 1:
+ return strHeader(pObj.data);
+
+ case 8:
+ return strInlineFootnote(pObj.data[0]);
+
+ case 2:
+ return strToC(pObj.data);
+
+ default:
+ return Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_5__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("%A is not implemented"))(pObj);
+ }
+ }();
+ };
+
+ return Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(folder, "", pObjs);
+}
+
+/***/ }),
+/* 35 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export TagStyle */
+/* unused harmony export toAttr */
+/* unused harmony export toAttrs */
+/* harmony export (immutable) */ __webpack_exports__["a"] = attachHTMLTag;
+/* harmony export (immutable) */ __webpack_exports__["b"] = attachSimpleTag;
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__ = __webpack_require__(1);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__ = __webpack_require__(2);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__ = __webpack_require__(0);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Seq__ = __webpack_require__(3);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__ = __webpack_require__(4);
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+
+
+
+
+
+
+
+var TagStyle = function () {
+ function TagStyle(tag, data) {
+ _classCallCheck(this, TagStyle);
+
+ this.tag = tag;
+ this.data = data;
+ }
+
+ _createClass(TagStyle, [{
+ key: __WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["a" /* default */].reflection,
+ value: function value() {
+ return {
+ type: "HTMLGenHelpers.TagStyle",
+ interfaces: ["FSharpUnion", "System.IEquatable", "System.IComparable"],
+ cases: [["INLINE"], ["NonInline", "string"]]
+ };
+ }
+ }, {
+ key: "Equals",
+ value: function Equals(other) {
+ return this === other || this.tag === other.tag && Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["i" /* equals */])(this.data, other.data);
+ }
+ }, {
+ key: "CompareTo",
+ value: function CompareTo(other) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_Util__["h" /* compareUnions */])(this, other) | 0;
+ }
+ }]);
+
+ return TagStyle;
+}();
+Object(__WEBPACK_IMPORTED_MODULE_0__nuget_packages_fable_core_1_3_1_fable_core_Symbol__["b" /* setType */])("HTMLGenHelpers.TagStyle", TagStyle);
+function toAttr(attributeName, value) {
+ return attributeName + "=\"" + value + "\"";
+}
+function toAttrs(attrs) {
+ var mapper = function mapper(attr) {
+ return toAttr(attr[0], attr[1]);
+ };
+
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["e" /* map */])(mapper, attrs);
+}
+function attachHTMLTag(tagName, attributes, needCloseTag, content) {
+ var attrStr = void 0;
+ var matchValue = attributes.tail == null;
+
+ if (matchValue) {
+ attrStr = "";
+ } else {
+ var attrFolder = function attrFolder(pStr, attrNameValue) {
+ return pStr + function () {
+ var $var1 = attrNameValue[0] === "" ? attrNameValue[1] === "" ? [0] : [1, attrNameValue[0], attrNameValue[1]] : [1, attrNameValue[0], attrNameValue[1]];
+
+ switch ($var1[0]) {
+ case 0:
+ return "";
+
+ case 1:
+ return " " + ($var1[2] === "" ? $var1[1] : $var1[1] + "=\"" + $var1[2] + "\"");
+ }
+ }();
+ };
+
+ attrStr = Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(attrFolder, "", attributes);
+ }
+
+ return "<" + tagName + attrStr + ">" + content + (needCloseTag ? "</" + tagName + ">" : "");
+}
+function attachSimpleTag(tagName) {
+ return Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["a" /* default */])(function () {
+ var attributes = new __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_List__["c" /* default */]();
+ return function (content) {
+ return attachHTMLTag(tagName, attributes, true, content);
+ };
+ }());
+}
+
+/***/ }),
+/* 36 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export logger */
+/* unused harmony export surround */
+/* unused harmony export mdFStr */
+/* unused harmony export mdInlineElements */
+/* unused harmony export mdParagraph */
+/* unused harmony export mdTable */
+/* unused harmony export mdList */
+/* unused harmony export mdHeader */
+/* harmony export (immutable) */ __webpack_exports__["a"] = mdBody;
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Logger_Logger_fs__ = __webpack_require__(14);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_String__ = __webpack_require__(7);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_Seq__ = __webpack_require__(3);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_List__ = __webpack_require__(0);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__ = __webpack_require__(4);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__Types_fs__ = __webpack_require__(6);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__Shared_fs__ = __webpack_require__(8);
+
+
+
+
+
+
+
+var logger = new __WEBPACK_IMPORTED_MODULE_0__Logger_Logger_fs__["a" /* Logger */](1);
+function surround(pat, str) {
+ var pat2 = pat === "(" ? ")" : pat === "[" ? "]" : pat === "{" ? "}" : pat;
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("%s%s%s"))(pat, str, pat2);
+}
+function mdFStr(fStr) {
+ if (fStr.tag === 3) {
+ return surround("\\`", fStr.data);
+ } else if (fStr.tag === 0) {
+ return surround("**", mdInlineElements(fStr.data));
+ } else if (fStr.tag === 1) {
+ return surround("*", mdInlineElements(fStr.data));
+ } else {
+ return fStr.data;
+ }
+}
+function mdInlineElements(eles) {
+ var braSurround = function braSurround(str) {
+ return surround("(", str);
+ };
+
+ var sbraSurround = function sbraSurround(str_1) {
+ return surround("[", str_1);
+ };
+
+ var convertMd = function convertMd(pStr, ele) {
+ return pStr + (ele.tag === 1 ? sbraSurround(mdFStr(ele.data[0])) + braSurround(ele.data[1]) : ele.tag === 2 ? Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("!%s"))(sbraSurround(ele.data[0])) + braSurround(ele.data[1]) : mdFStr(ele.data));
+ };
+
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(convertMd, "", eles);
+}
+function mdParagraph(lines) {
+ var folder = function folder(pLinesStr, line) {
+ return pLinesStr + mdInlineElements(line);
+ };
+
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(folder, "", lines) + "\n\n";
+}
+function mdTable(rows) {
+ var containHeader = function containHeader(row) {
+ return row.data[1];
+ };
+
+ var takeoutCells = void 0;
+
+ var mapping = function mapping(pRow) {
+ return pRow.data[0];
+ };
+
+ takeoutCells = function takeoutCells(list) {
+ return Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_List__["e" /* map */])(mapping, list);
+ };
+
+ var headerRows = takeoutCells(Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_List__["d" /* filter */])(containHeader, rows));
+ var bodyRows = takeoutCells(Object(__WEBPACK_IMPORTED_MODULE_3__nuget_packages_fable_core_1_3_1_fable_core_List__["d" /* filter */])(function ($var1) {
+ return function (value) {
+ return !value;
+ }(containHeader($var1));
+ }, rows));
+
+ var foldCells = function foldCells(alignRow, row_1) {
+ var cellsFolder = function cellsFolder(alignRow_1, pStr, cell) {
+ return function (cellContent) {
+ return pStr + cellContent + "|";
+ }(alignRow_1 ? cell.data[2].tag === 1 ? "---:" : cell.data[2].tag === 2 ? ":---" : cell.data[2].tag === 3 ? "---" : ":---:" : mdInlineElements(cell.data[0]));
+ };
+
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(cellsFolder, [alignRow]), "|", row_1);
+ };
+
+ var foldRows = function foldRows(alignRow_2, rows_1) {
+ var rowsFolder = function rowsFolder(alignRow_3, pStr_1, row_2) {
+ return pStr_1 + foldCells(alignRow_3, row_2) + "\n";
+ };
+
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(rowsFolder, [alignRow_2]), "", rows_1);
+ };
+
+ var foldNormalRows = Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(foldRows, [false]);
+ var foldAlignRow = Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(foldCells, [true]);
+ return foldNormalRows(headerRows) + foldAlignRow(headerRows.head) + foldNormalRows(bodyRows) + "\n\n";
+}
+function mdList(list) {
+ var mdListItem = function mdListItem(ord, tab, tupledArg, li) {
+ var retFold = function retFold(s) {
+ return [tupledArg[0] + s, tupledArg[1] + 1];
+ };
+
+ if (li.tag === 0) {
+ return retFold(mdList(li.data));
+ } else {
+ return retFold(function (s_1) {
+ return ord ? Object(__WEBPACK_IMPORTED_MODULE_0__Logger_Logger_fs__["b" /* logPassN */])(logger.Debug, Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("%s%i. %s\n"))(Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_String__["d" /* replicate */])(tab, "\t"), tupledArg[1], s_1)) : Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("%s- %s\n"))(Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_String__["d" /* replicate */])(tab, "\t"), s_1);
+ }(mdInlineElements(li.data)));
+ }
+ };
+
+ var ord_1 = list.ListType.Equals(new __WEBPACK_IMPORTED_MODULE_5__Types_fs__["n" /* TListType */](1));
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(mdListItem, [ord_1, list.Depth - 1]), ["", 1], list.ListItem)[0];
+}
+function mdHeader(header) {
+ return Object(__WEBPACK_IMPORTED_MODULE_4__nuget_packages_fable_core_1_3_1_fable_core_CurriedLambda__["b" /* partialApply */])(Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("%s %s\n")), [Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_String__["d" /* replicate */])(header.Level, "#")])(mdInlineElements(header.HeaderName));
+}
+function mdBody(pObjs) {
+ var folder = function folder(pStr, pObj) {
+ return pStr + function () {
+ switch (pObj.tag) {
+ case 4:
+ return mdParagraph(pObj.data);
+
+ case 0:
+ return surround("```", Object(__WEBPACK_IMPORTED_MODULE_6__Shared_fs__["d" /* mapLang */])(pObj.data[1]) + "\n" + pObj.data[0] + "\n");
+
+ case 6:
+ return mdTable(pObj.data);
+
+ case 3:
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("%s\n"))(mdList(pObj.data));
+
+ case 1:
+ return mdHeader(pObj.data);
+
+ default:
+ return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_String__["g" /* toText */])(Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_1_fable_core_String__["b" /* printf */])("%A is not implemented"))(pObj);
+ }
+ }();
+ };
+
+ return Object(__WEBPACK_IMPORTED_MODULE_2__nuget_packages_fable_core_1_3_1_fable_core_Seq__["f" /* fold */])(folder, "", pObjs);
+}
+
+/***/ })
+/******/ ]);
+});
+//# sourceMappingURL=fmark.js.map \ No newline at end of file
diff --git a/FMark/js/fmark.js.map b/FMark/js/fmark.js.map
new file mode 100644
index 0000000..50fefa2
--- /dev/null
+++ b/FMark/js/fmark.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 7df7f59fcb20329f9c06","webpack:///./src/Common/FMark.fs","webpack:///./src/FMarkFable/FMarkFable.fs","webpack:///src/Common/Types.fs","webpack:///src/Common/Shared.fs","webpack:///./src/Common/Parser/Parser.fs","webpack:///./src/Common/Markalc/Markalc.fs","webpack:///src/Common/Logger/Logger.fs","webpack:///src/Common/Markalc/MarkalcShared.fs","webpack:///src/Common/Lexer/LexerShared.fs","webpack:///src/FMarkFable/FMarkFable.fs","webpack:///src/Common/FMark.fs","webpack:///src/Common/Parser/Parser.fs","webpack:///src/Common/Parser/ParserHelperFuncs.fs","webpack:///src/Common/Markalc/Markalc.fs","webpack:///src/Common/Markalc/Expression.fs","webpack:///./src/Common/Markalc/Expression.fs","webpack:///src/Common/Lexer/Lexer.fs","webpack:///src/Common/Lexer/Preprocessor.fs","webpack:///src/Common/HTMLGen/HTMLGen.fs","webpack:///src/Common/HTMLGen/HTMLGenHelpers.fs","webpack:///src/Common/MarkdownGen/MarkdownGen.fs"],"names":["append","xs","ys","seqFold","acc","x","reverse","choose","f","r","y","getValue","collect","concat","filter","where","initialize","n","Error","i","map","mapIndexed","indexed","partition","lacc","racc","replicate","singleton","slice","lower","upper","noLower","noUpper","unzip","seqFoldBack","xy","unzip3","xyz","groupBy","seqToList","seqMap","k","mapGroupBy","splitAt","index","last","first","Array","tail","head","ofArray","types","Map","setType","fullName","cons","set","getType","get","reflection","Symbol","NonDeclaredType","kind","definition","generics","other","equalsRecords","Any","Unit","Option","t","FableArray","isTypedArray","def","genArg","Tuple","FableFunction","GenericParam","Interface","makeGeneric","typeDef","genArgs","isGeneric","typ","getDefinition","extendInfo","info","parent","Object","getPrototypeOf","prototype","FSymbol","newInfo","parentInfo","getOwnPropertyNames","forEach","isArray","assign","hasInterface","obj","interfaceName","iterator","interfaces","indexOf","getPropertyNames","propertyMap","properties","ArrayBuffer","isView","toString","quoteStrings","isObject","Number","String","Boolean","JSON","stringify","Date","dateToString","ToString","uci","cases","tag","length","data","join","v","from","err","hash","GetHashCode","s","h","len","charCodeAt","equals","Equals","byteLength","dv1","DataView","buffer","dv2","getUint8","getTime","comparePrimitives","compare","CompareTo","j","b1","b2","compareDates","xhash","yhash","keys","key","compareRecords","res","equalsUnions","compareUnions","createDisposable","Dispose","createAtom","value","atom","arguments","CaseRules","None","LowerFirst","isList","o","type","createObj","fields","caseRule","casesCache","iter","cur","next","done","proto","caseInfo","toLowerCase","substr","toPlainJsObj","source","constructor","target","props","p","prop","getOwnPropertyDescriptor","apply","jsOptions","mutator","opts","round","digits","m","Math","pow","toFixed","floor","e","randomNext","min","max","random","applyOperator","operator","getMethod","meth","parseNumber","tryParse","initial","parser","fn","a","exec","parse","unescapeDataString","decodeURIComponent","replace","escapeDataString","encodeURIComponent","escapeUriString","encodeURI","clear","col","splice","Enumerator","current","getEnumerator","GetEnumerator","toIterator","en","MoveNext","Current","__failIfNone","toList","foldBack","ofList","delay","unfold","firstDone","iters","average","count","sum","reduce","averageBy","output","innerIter","hasFinished","compareWith","nonZero","tryFind","map2","empty","enumerateWhile","cond","enumerateThenFinally","finalFn","it","enumerateUsing","disp","work","isDisposed","disposeOnce","exactlyOne","fst","snd","except","itemsToExclude","exclusionItems","testIsNotInExclusionItems","element","some","excludedItem","exists","exists2","cur1","cur2","iter1","iter2","fold","arr","fold2","foldBack2","ar1","ar2","forAll","forAll2","tryHead","initializeInfinite","tryItem","item","iterate","_","iterate2","iterateIndexed","iterateIndexed2","isEmpty","tryLast","mapIndexed2","map3","zs","iter3","cur3","chunkBySize","size","result","arrayChunkBySize","mapFold","transform","push","mapFoldBack","maxBy","minBy","pairwise","skip","scan","permute","arrayPermute","rangeStep","step","rangeChar","fromCharCode","range","readOnly","reduceBack","ar","seed","scanBack","skipWhile","hasPassed","sortWith","sort","sumBy","take","truncate","takeWhile","defaultValue","find","tryFindBack","findBack","tryFindIndex","findIndex","tryFindIndexBack","findIndexBack","tryPick","pick","zip","zip3","z","CurriedLambda","expectedArgsLength","curried","curriedFn","args","actualArgsLength","restArgs","newLambda","args2","partialApply","lambda","Some","acceptNull","defaultArg","arg","defaultArgWith","defThunk","predicate","fsFormatRegExp","formatRegExp","guidRegex","StringComparison","CurrentCulture","CurrentCultureIgnoreCase","InvariantCulture","InvariantCultureIgnoreCase","Ordinal","OrdinalIgnoreCase","cmp","ic","isIgnoreCase","isOrdinal","toLocaleLowerCase","localeCompare","compareTo","startsWith","str","pattern","indexOfAny","anyOf","startIndex","c","toHex","abs","printf","input","cont","fsFormat","toConsole","console","log","toText","toFail","formatOnce","str2","rep","prefix","flags","pad","precision","format","toPrecision","toExponential","toUpperCase","plusPrefix","parseInt","isNaN","ch","padLeft","once","createPrinter","printer","strCopy","test","match","idx","padSymbol","substring","decs","endsWith","search","lastIndexOf","insert","isNullOrEmpty","isNullOrWhiteSpace","delimiter","xs2","validateGuid","doNotThrow","trimmed","trim","newGuid","b","_convertMapsInitialized","_byteToHex","_hexToByte","initConvertMaps","guidToArray","buf","Uint8Array","oct","arrayToGuid","notSupported","name","toBase64String","inArray","btoa","fromBase64String","b64Encoded","binary","atob","bytes","isRight","padRight","remove","RegExp","escape","getCharAtIndex","split","splitters","removeEmpty","splitters2","splits","reg","lastIndex","side","chars","pred","Result","mapError","bind","create","vs","add","countBy","kv","MapTree","tree_sizeAux","sizeAux","tree_size","tree_empty","tree_height","_arg1","tree_isEmpty","tree_mk","l","matchValue","hl","hr","tree_rebalance","t1","t2","t1h","t2h","tree_add","comparer","Compare","tree_find","tree_tryFind","c_1","tree_partition1","acc1","acc2","tree_partitionAux","acc_0","acc_1","acc_2","acc_3","tree_partition","tree_filter1","tree_filterAux","tree_filter","tree_spliceOutSuccessor","kvl","tree_remove","tree_mem","mem","tree_iter","tree_tryPick","matchValue_1","tree_exists","tree_forall","tree_mapi","tree_foldBack","tree_fold","tree_mkFromEnumerator","tree_ofSeq","ie","tree_collapseLHS","stack","listOfArray","tree_mkIterator","started","tree_moveNext","FableMap","m2","seqCompareWith","kvp1","kvp2","tree","oldSize","containsValue","tryGetValue","has","rs","findKey","seqPick","tryFindKey","seqTryPick","Comparer","fromEqualityComparer","base","List","tmp","OperationCanceledError","setPrototypeOf","Trampoline","callCount","maxTrampolineCallCount","setTimeout","protectedCont","ctx","cancelToken","isCancelled","onCancel","trampoline","incrementAndCheck","hijack","onError","protectedBind","computation","binder","onSuccess","ex","protectedReturn","AsyncBuilder","computation1","computation2","Bind","generator","sequence","body","While","Delay","compensation","catchHandler","ex2","resource","TryFinally","guard","Return","offsetRegex","padWithZeros","offsetToString","offset","isMinus","hours","minutes","toHalfUTCString","date","half","toISOString","d","utc","printOffset","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","getTimezoneOffset","toISOStringWithOffset","dateWithOffset","toStringWithCustomFormat","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","toStringWithOffset","toStringWithKind","toUTCString","toLocaleString","toLocaleDateString","toLocaleTimeString","DateTime","minValue","maxValue","parseRaw","detectUTC","_err","date1","year","month","day","ms","dateValue","UTC","setFullYear","now","utcNow","today","isLeapYear","daysInMonth","toUniversalTime","toLocalTime","timeOfDay","hour","minute","second","millisecond","getUTCMilliseconds","dayOfWeek","getUTCDay","getDay","dayOfYear","_year","_month","_day","ts","addDays","addHours","addMinutes","addSeconds","addMilliseconds","addYears","newMonth","newYear","_daysInMonth","newDay","addMonths","newMonth_","yearOffset","subtract","that","toLongDateString","toDateString","toShortDateString","toLongTimeString","toShortTimeString","d1","d2","xtime","ytime","op_Addition","op_Subtraction","isDaylightSavingTime","jan","jul","isDST","janOffset","julOffset","tOffset","options","unescape","isMatch","matches","global","ignoreCase","multiline","replacement","limit","replacer","undefined","sub1","_matches","sub2","Async","emptyContinuation","createCancellationToken","token","cancel","cancelAfter","isCancellationRequested","startChild","promise","startAsPromise","awaitPromise","fromContinuations","conts","then","catch","cancellationToken","defaultCancellationToken","catchAsync","choice1Of2","choice2Of2","ignore","parallel","computations","Promise","all","w","sleep","millisecondsDueTime","start","startWithContinuations","startImmediate","continuation","exceptionContinuation","cancellationContinuation","resolve","reject","Choice","TargetCons","addRangeInPlace","copyTo","sourceIndex","targetIndex","checkFlags","removeInPlace","setSlice","sortInPlaceBy","dir","bs","cs","ds","ceil","end","getSubArray","fill","QueueCell","message","MailboxQueue","itCell","firstAndLast","MailboxProcessor","messages","tryGet","__processEvents","buildMessage","checkCompletion","reply","mbox","radix","parseRadix","invalidRadix2","invalidRadix8","invalidRadix10","isValid","radix_"],"mappings":"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AA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAqBA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AFjFL;AACA;AACA;AACA,IAAMI,iBAAiB,2CAAvB;AACA,IAAMC,eAAe,iCAArB;AACA;AACA,IAAMC,YAAY,4EAAlB;AACA,IAAMC,mBAAmB;AACrBC,oBAAgB,CADK;AAErBC,8BAA0B,CAFL;AAGrBC,sBAAkB,CAHG;AAIrBC,gCAA4B,CAJP;AAKrBC,aAAS,CALY;AAMrBC,uBAAmB;AANE,CAAzB;AAQA,SAASC,GAAT,CAAazX,CAAb,EAAgBK,CAAhB,EAAmBqX,EAAnB,EAAuB;AACnB,aAASC,YAAT,CAAsB7W,CAAtB,EAAyB;AACrB,eAAOA,MAAM,IAAN,IACHA,MAAMoW,iBAAiBE,wBADpB,IAEHtW,MAAMoW,iBAAiBI,0BAFpB,IAGHxW,MAAMoW,iBAAiBM,iBAH3B;AAIH;AACD,aAASI,SAAT,CAAmB9W,CAAnB,EAAsB;AAClB,eAAOA,MAAMoW,iBAAiBK,OAAvB,IACHzW,MAAMoW,iBAAiBM,iBAD3B;AAEH;AACD,QAAIxX,KAAK,IAAT,EAAe;AACX,eAAOK,KAAK,IAAL,GAAY,CAAZ,GAAgB,CAAC,CAAxB;AACH;AACD,QAAIA,KAAK,IAAT,EAAe;AACX,eAAO,CAAP;AACH,KAhBkB,CAgBjB;AACF,QAAIuX,UAAUF,EAAV,CAAJ,EAAmB;AACf,YAAIC,aAAaD,EAAb,CAAJ,EAAsB;AAClB1X,gBAAIA,EAAEgL,WAAF,EAAJ;AACA3K,gBAAIA,EAAE2K,WAAF,EAAJ;AACH;AACD,eAAQhL,MAAMK,CAAP,GAAY,CAAZ,GAAiBL,IAAIK,CAAJ,GAAQ,CAAC,CAAT,GAAa,CAArC;AACH,KAND,MAOK;AACD,YAAIsX,aAAaD,EAAb,CAAJ,EAAsB;AAClB1X,gBAAIA,EAAE6X,iBAAF,EAAJ;AACAxX,gBAAIA,EAAEwX,iBAAF,EAAJ;AACH;AACD,eAAO7X,EAAE8X,aAAF,CAAgBzX,CAAhB,CAAP;AACH;AACJ;AACM,SAASuI,OAAT,GAA0B;AAAA,sCAANqN,IAAM;AAANA,YAAM;AAAA;;AAC7B,YAAQA,KAAK3O,MAAb;AACI,aAAK,CAAL;AAAQ,mBAAOmQ,IAAIxB,KAAK,CAAL,CAAJ,EAAaA,KAAK,CAAL,CAAb,EAAsB,KAAtB,CAAP;AACR,aAAK,CAAL;AAAQ,mBAAOwB,IAAIxB,KAAK,CAAL,CAAJ,EAAaA,KAAK,CAAL,CAAb,EAAsBA,KAAK,CAAL,CAAtB,CAAP;AACR,aAAK,CAAL;AAAQ,mBAAOwB,IAAIxB,KAAK,CAAL,CAAJ,EAAaA,KAAK,CAAL,CAAb,EAAsBA,KAAK,CAAL,MAAY,IAAlC,CAAP;AACR,aAAK,CAAL;AAAQ,mBAAOwB,IAAIxB,KAAK,CAAL,EAAQhL,MAAR,CAAegL,KAAK,CAAL,CAAf,EAAwBA,KAAK,CAAL,CAAxB,CAAJ,EAAsCA,KAAK,CAAL,EAAQhL,MAAR,CAAegL,KAAK,CAAL,CAAf,EAAwBA,KAAK,CAAL,CAAxB,CAAtC,EAAwE,KAAxE,CAAP;AACR,aAAK,CAAL;AAAQ,mBAAOwB,IAAIxB,KAAK,CAAL,EAAQhL,MAAR,CAAegL,KAAK,CAAL,CAAf,EAAwBA,KAAK,CAAL,CAAxB,CAAJ,EAAsCA,KAAK,CAAL,EAAQhL,MAAR,CAAegL,KAAK,CAAL,CAAf,EAAwBA,KAAK,CAAL,CAAxB,CAAtC,EAAwEA,KAAK,CAAL,CAAxE,CAAP;AACR,aAAK,CAAL;AAAQ,mBAAOwB,IAAIxB,KAAK,CAAL,EAAQhL,MAAR,CAAegL,KAAK,CAAL,CAAf,EAAwBA,KAAK,CAAL,CAAxB,CAAJ,EAAsCA,KAAK,CAAL,EAAQhL,MAAR,CAAegL,KAAK,CAAL,CAAf,EAAwBA,KAAK,CAAL,CAAxB,CAAtC,EAAwEA,KAAK,CAAL,MAAY,IAApF,CAAP;AACR;AAAS,kBAAM,IAAIpV,KAAJ,CAAU,kDAAV,CAAN;AAPb;AASH;AACM,SAASkX,SAAT,CAAmB/X,CAAnB,EAAsBK,CAAtB,EAAyB;AAC5B,WAAOoX,IAAIzX,CAAJ,EAAOK,CAAP,EAAU,KAAV,CAAP;AACH;AACM,SAAS2X,UAAT,CAAoBC,GAApB,EAAyBC,OAAzB,EAAkCR,EAAlC,EAAsC;AACzC,QAAIO,IAAI3Q,MAAJ,IAAc4Q,QAAQ5Q,MAA1B,EAAkC;AAC9B,eAAOmQ,IAAIQ,IAAIhN,MAAJ,CAAW,CAAX,EAAciN,QAAQ5Q,MAAtB,CAAJ,EAAmC4Q,OAAnC,EAA4CR,EAA5C,MAAoD,CAA3D;AACH;AACD,WAAO,KAAP;AACH;AACM,SAASS,UAAT,CAAoBF,GAApB,EAAyBG,KAAzB,EAAyC;AAC5C,QAAIH,OAAO,IAAP,IAAeA,QAAQ,EAA3B,EAA+B;AAC3B,eAAO,CAAC,CAAR;AACH;AACD,QAAMI,aAAc,qDAAc,CAAf,sDAA8B,CAAjD;AACA,QAAIA,aAAa,CAAjB,EAAoB;AAChB,cAAM,IAAIxX,KAAJ,CAAU,mDAAV,CAAN;AACH;AACD,QAAMyG,SAAU,qDAAc,CAAf,sDAA8B2Q,IAAI3Q,MAAJ,GAAa+Q,UAA1D;AACA,QAAI/Q,SAAS,CAAb,EAAgB;AACZ,cAAM,IAAIzG,KAAJ,CAAU,8CAAV,CAAN;AACH;AACD,QAAIyG,SAAS2Q,IAAI3Q,MAAJ,GAAa+Q,UAA1B,EAAsC;AAClC,cAAM,IAAIxX,KAAJ,CAAU,kDAAV,CAAN;AACH;AACDoX,UAAMA,IAAIhN,MAAJ,CAAWoN,UAAX,EAAuB/Q,MAAvB,CAAN;AAf4C;AAAA;AAAA;;AAAA;AAgB5C,6BAAgB8Q,KAAhB,8HAAuB;AAAA,gBAAZE,CAAY;;AACnB,gBAAM/V,QAAQ0V,IAAI/R,OAAJ,CAAYoS,CAAZ,CAAd;AACA,gBAAI/V,QAAQ,CAAC,CAAb,EAAgB;AACZ,uBAAOA,QAAQ8V,UAAf;AACH;AACJ;AArB2C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAsB5C,WAAO,CAAC,CAAR;AACH;AACD,SAASE,KAAT,CAAe1O,KAAf,EAAsB;AAClB,WAAOA,QAAQ,CAAR,GACD,OAAO,CAAC,YAAYoC,KAAKuM,GAAL,CAAS3O,KAAT,IAAkB,CAA9B,CAAD,EAAmCrD,QAAnC,CAA4C,EAA5C,CADN,GAEDqD,MAAMrD,QAAN,CAAe,EAAf,CAFN;AAGH;AACM,SAASiS,MAAT,CAAgBC,KAAhB,EAAuB;AAC1B,WAAO;AACHA,oBADG;AAEHC,cAAMC,SAASF,KAAT;AAFH,KAAP;AAIH;AACM,SAASG,SAAT,CAAmBlC,GAAnB,EAAwB;AAC3B,WAAOA,IAAIgC,IAAJ,CAAS,UAAC3Y,CAAD,EAAO;AAAE8Y,gBAAQC,GAAR,CAAY/Y,CAAZ;AAAiB,KAAnC,CAAP;AACH;AACM,SAASgZ,MAAT,CAAgBrC,GAAhB,EAAqB;AACxB,WAAOA,IAAIgC,IAAJ,CAAS,UAAC3Y,CAAD;AAAA,eAAOA,CAAP;AAAA,KAAT,CAAP;AACH;AACM,SAASiZ,MAAT,CAAgBtC,GAAhB,EAAqB;AACxB,WAAOA,IAAIgC,IAAJ,CAAS,UAAC3Y,CAAD,EAAO;AAAE,cAAM,IAAIa,KAAJ,CAAUb,CAAV,CAAN;AAAqB,KAAvC,CAAP;AACH;AACD,SAASkZ,UAAT,CAAoBC,IAApB,EAA0BC,GAA1B,EAA+B;AAC3B,WAAOD,KAAK3L,OAAL,CAAauJ,cAAb,EAA6B,UAAC3E,CAAD,EAAIiH,MAAJ,EAAYC,KAAZ,EAAmBC,GAAnB,EAAwBC,SAAxB,EAAmCC,MAAnC,EAA8C;AAC9E,gBAAQA,MAAR;AACI,iBAAK,GAAL;AACA,iBAAK,GAAL;AACIL,sBAAMA,IAAIjN,OAAJ,CAAYqN,aAAa,CAAzB,CAAN;AACA;AACJ,iBAAK,GAAL;AACA,iBAAK,GAAL;AACIJ,sBAAMA,IAAIM,WAAJ,CAAgBF,SAAhB,CAAN;AACA;AACJ,iBAAK,GAAL;AACA,iBAAK,GAAL;AACIJ,sBAAMA,IAAIO,aAAJ,CAAkBH,SAAlB,CAAN;AACA;AACJ,iBAAK,GAAL;AACIJ,sBAAM,+DAAA5S,CAAS4S,GAAT,CAAN;AACA;AACJ,iBAAK,GAAL;AACIA,sBAAM,+DAAA5S,CAAS4S,GAAT,EAAc,IAAd,CAAN;AACA;AACJ,iBAAK,GAAL;AACIA,sBAAMb,MAAM5R,OAAOyS,GAAP,CAAN,CAAN;AACA;AACJ,iBAAK,GAAL;AACIA,sBAAMb,MAAM5R,OAAOyS,GAAP,CAAN,EAAmBQ,WAAnB,EAAN;AACA;AAxBR;AA0BA,YAAMC,aAAaP,MAAMpT,OAAN,CAAc,GAAd,KAAsB,CAAtB,IAA2B4T,SAASV,GAAT,EAAc,EAAd,KAAqB,CAAnE;AACAG,cAAMO,SAASP,GAAT,EAAc,EAAd,CAAN;AACA,YAAI,CAACQ,MAAMR,GAAN,CAAL,EAAiB;AACb,gBAAMS,KAAKT,OAAO,CAAP,IAAYD,MAAMpT,OAAN,CAAc,GAAd,KAAsB,CAAlC,GAAsC,GAAtC,GAA4C,GAAvD;AACAkT,kBAAMa,QAAQb,GAAR,EAAanN,KAAKuM,GAAL,CAASe,GAAT,KAAiBM,aAAa,CAAb,GAAiB,CAAlC,CAAb,EAAmDG,EAAnD,EAAuDT,MAAM,CAA7D,CAAN;AACH;AACD,YAAMW,OAAOb,UAAUQ,aAAa,MAAMT,GAAnB,GAAyBA,GAAnC,CAAb;AACA,eAAOc,KAAK1M,OAAL,CAAa,IAAb,EAAmB,IAAnB,CAAP;AACH,KAnCM,CAAP;AAoCH;AACD,SAAS2M,aAAT,CAAuBlC,GAAvB,EAA4BU,IAA5B,EAAkC;AAC9B,QAAMyB,UAAU,SAAVA,OAAU,GAAa;AAAA,2CAATnE,IAAS;AAATA,gBAAS;AAAA;;AACzB;AACA,YAAIoE,UAAUpC,GAAd;AAFyB;AAAA;AAAA;;AAAA;AAGzB,kCAAkBhC,IAAlB,mIAAwB;AAAA,oBAAbU,GAAa;;AACpB0D,0BAAUnB,WAAWmB,OAAX,EAAoB1D,GAApB,CAAV;AACH;AALwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAMzB,eAAOI,eAAeuD,IAAf,CAAoBD,OAApB,IACDF,cAAcE,OAAd,EAAuB1B,IAAvB,CADC,GAEDA,KAAK0B,QAAQ7M,OAAR,CAAgB,KAAhB,EAAuB,GAAvB,CAAL,CAFN;AAGH,KATD;AAUA;AACA;AACA4M,YAAQrE,OAAR,GAAkB,IAAlB;AACA,WAAOqE,OAAP;AACH;AACM,SAASxB,QAAT,CAAkBX,GAAlB,EAAuB;AAC1B,WAAO,UAACU,IAAD,EAAU;AACb,eAAO5B,eAAeuD,IAAf,CAAoBrC,GAApB,IACDkC,cAAclC,GAAd,EAAmBU,IAAnB,CADC,GAEDA,KAAKV,GAAL,CAFN;AAGH,KAJD;AAKH;AACM,SAASwB,MAAT,CAAgBxB,GAAhB,EAA8B;AAAA,uCAANhC,IAAM;AAANA,YAAM;AAAA;;AACjC,WAAOgC,IAAIzK,OAAJ,CAAYwJ,YAAZ,EAA0B,UAACuD,KAAD,EAAQC,GAAR,EAAajB,GAAb,EAAkBrB,OAAlB,EAA8B;AAC3D,YAAIkB,MAAMnD,KAAKuE,GAAL,CAAV;AACA,YAAIC,YAAY,GAAhB;AACA,YAAI,OAAOrB,GAAP,KAAe,QAAnB,EAA6B;AACzB,oBAAQ,CAAClB,WAAW,EAAZ,EAAgBwC,SAAhB,CAA0B,CAA1B,EAA6B,CAA7B,CAAR;AACI,qBAAK,GAAL;AACA,qBAAK,GAAL;AACItB,0BAAMlB,QAAQ5Q,MAAR,GAAiB,CAAjB,GAAqB8R,IAAIjN,OAAJ,CAAY+L,QAAQwC,SAAR,CAAkB,CAAlB,CAAZ,CAArB,GAAyDtB,IAAIjN,OAAJ,CAAY,CAAZ,CAA/D;AACA;AACJ,qBAAK,GAAL;AACA,qBAAK,GAAL;AACIiN,0BAAMlB,QAAQ5Q,MAAR,GAAiB,CAAjB,GAAqB8R,IAAIM,WAAJ,CAAgBxB,QAAQwC,SAAR,CAAkB,CAAlB,CAAhB,CAArB,GAA6DtB,IAAIM,WAAJ,EAAnE;AACA;AACJ,qBAAK,GAAL;AACA,qBAAK,GAAL;AACIN,0BAAMlB,QAAQ5Q,MAAR,GAAiB,CAAjB,GAAqB8R,IAAIO,aAAJ,CAAkBzB,QAAQwC,SAAR,CAAkB,CAAlB,CAAlB,CAArB,GAA+DtB,IAAIO,aAAJ,EAArE;AACA;AACJ,qBAAK,GAAL;AACA,qBAAK,GAAL;AACIP,0BAAM,CAAClB,QAAQ5Q,MAAR,GAAiB,CAAjB,GAAqB,CAAC8R,MAAM,GAAP,EAAYjN,OAAZ,CAAoB+L,QAAQwC,SAAR,CAAkB,CAAlB,CAApB,CAArB,GAAiE,CAACtB,MAAM,GAAP,EAAYjN,OAAZ,CAAoB,CAApB,CAAlE,IAA4F,IAAlG;AACA;AACJ,qBAAK,GAAL;AACIiN,0BAAMb,MAAM5R,OAAOyS,GAAP,CAAN,CAAN;AACA;AACJ,qBAAK,GAAL;AACIA,0BAAMb,MAAM5R,OAAOyS,GAAP,CAAN,EAAmBQ,WAAnB,EAAN;AACA;AACJ;AACI,wBAAM5N,IAAI,gBAAgBoB,IAAhB,CAAqB8K,OAArB,CAAV;AACA,wBAAIlM,KAAK,IAAT,EAAe;AACX,4BAAI2O,OAAO,CAAX;AACA,4BAAI3O,EAAE,CAAF,KAAQ,IAAZ,EAAkB;AACdoN,kCAAMA,IAAIjN,OAAJ,CAAYwO,OAAO3O,EAAE,CAAF,EAAK1E,MAAL,GAAc,CAAjC,CAAN;AACH;AACDiS,8BAAM,MAAM,CAACvN,EAAE,CAAF,EAAK1E,MAAL,IAAeqT,OAAOA,OAAO,CAAd,GAAkB,CAAjC,CAAD,EAAsCnU,QAAtC,EAAZ;AACAiU,oCAAY,GAAZ;AACH,qBAPD,MAQK,IAAIvC,OAAJ,EAAa;AACdkB,8BAAMlB,OAAN;AACH;AAnCT;AAqCH,SAtCD,MAuCK,IAAI,OAAOkB,IAAIlS,QAAX,KAAwB,UAA5B,EAAwC;AACzCkS,kBAAMA,IAAIlS,QAAJ,CAAagR,OAAb,CAAN;AACH,SAFI,MAGA,IAAIkB,eAAepS,IAAnB,EAAyB;AAC1BoS,kBAAM,+DAAAnS,CAAamS,GAAb,EAAkBlB,OAAlB,CAAN;AACH;AACDqB,cAAMO,SAAS,CAACP,OAAO,EAAR,EAAYmB,SAAZ,CAAsB,CAAtB,CAAT,EAAmC,EAAnC,CAAN;AACA,YAAI,CAACX,MAAMR,GAAN,CAAL,EAAiB;AACbH,kBAAMa,QAAQb,GAAR,EAAanN,KAAKuM,GAAL,CAASe,GAAT,CAAb,EAA4BkB,SAA5B,EAAuClB,MAAM,CAA7C,CAAN;AACH;AACD,eAAOH,GAAP;AACH,KArDM,CAAP;AAsDH;AACM,SAASwB,QAAT,CAAkB3C,GAAlB,EAAuB4C,MAAvB,EAA+B;AAClC,QAAML,MAAMvC,IAAI6C,WAAJ,CAAgBD,MAAhB,CAAZ;AACA,WAAOL,OAAO,CAAP,IAAYA,QAAQvC,IAAI3Q,MAAJ,GAAauT,OAAOvT,MAA/C;AACH;AACM,SAAS3G,UAAT,CAAoBC,CAApB,EAAuBT,CAAvB,EAA0B;AAC7B,QAAIS,IAAI,CAAR,EAAW;AACP,cAAM,IAAIC,KAAJ,CAAU,oCAAV,CAAN;AACH;AACD,QAAMjB,KAAK,IAAI8C,KAAJ,CAAU9B,CAAV,CAAX;AACA,SAAK,IAAIE,IAAI,CAAb,EAAgBA,IAAIF,CAApB,EAAuBE,GAAvB,EAA4B;AACxBlB,WAAGkB,CAAH,IAAQX,EAAEW,CAAF,CAAR;AACH;AACD,WAAOlB,GAAG4H,IAAH,CAAQ,EAAR,CAAP;AACH;AACM,SAASuT,MAAT,CAAgB9C,GAAhB,EAAqBI,UAArB,EAAiCxO,KAAjC,EAAwC;AAC3C,QAAIwO,aAAa,CAAb,IAAkBA,aAAaJ,IAAI3Q,MAAvC,EAA+C;AAC3C,cAAM,IAAIzG,KAAJ,CAAU,qEAAV,CAAN;AACH;AACD,WAAOoX,IAAIyC,SAAJ,CAAc,CAAd,EAAiBrC,UAAjB,IAA+BxO,KAA/B,GAAuCoO,IAAIyC,SAAJ,CAAcrC,UAAd,CAA9C;AACH;AACM,SAAS2C,aAAT,CAAuB/C,GAAvB,EAA4B;AAC/B,WAAO,OAAOA,GAAP,KAAe,QAAf,IAA2BA,IAAI3Q,MAAJ,KAAe,CAAjD;AACH;AACM,SAAS2T,kBAAT,CAA4BhD,GAA5B,EAAiC;AACpC,WAAO,OAAOA,GAAP,KAAe,QAAf,IAA2B,QAAQqC,IAAR,CAAarC,GAAb,CAAlC;AACH;AACM,SAASzQ,IAAT,CAAc0T,SAAd,EAAyBtb,EAAzB,EAA6B;AAChC,QAAIub,MAAM,OAAOvb,EAAP,KAAc,QAAd,GAAyB,CAACA,EAAD,CAAzB,GAAgCA,EAA1C;AACA,QAAMoI,MAAM+B,UAAUzC,MAAtB;AACA,QAAIU,MAAM,CAAV,EAAa;AACTmT,cAAMzY,MAAMsF,MAAM,CAAZ,CAAN;AACA,aAAK,IAAIqB,MAAM,CAAf,EAAkBA,MAAMrB,GAAxB,EAA6BqB,KAA7B,EAAoC;AAChC8R,gBAAI9R,MAAM,CAAV,IAAeU,UAAUV,GAAV,CAAf;AACH;AACJ,KALD,MAMK,IAAI,CAAC3G,MAAMiD,OAAN,CAAcwV,GAAd,CAAL,EAAyB;AAC1BA,cAAMzY,MAAMgF,IAAN,CAAWyT,GAAX,CAAN;AACH;AACD,WAAOA,IAAIpa,GAAJ,CAAQ,UAACf,CAAD;AAAA,eAAO,+DAAAwG,CAASxG,CAAT,CAAP;AAAA,KAAR,EAA4BwH,IAA5B,CAAiC0T,SAAjC,CAAP;AACH;AACD;AACO,SAASE,YAAT,CAAsBnD,GAAtB,EAA2BoD,UAA3B,EAAuC;AAC1C,QAAMC,UAAUC,KAAKtD,GAAL,EAAU,MAAV,EAAkB,GAAlB,EAAuB,GAAvB,CAAhB;AACA,QAAIhB,UAAUqD,IAAV,CAAegB,OAAf,CAAJ,EAA6B;AACzB,eAAOD,aAAa,CAAC,IAAD,EAAOC,OAAP,CAAb,GAA+BA,OAAtC;AACH,KAFD,MAGK,IAAID,UAAJ,EAAgB;AACjB,eAAO,CAAC,KAAD,EAAQ,sCAAR,CAAP;AACH;AACD,UAAM,IAAIxa,KAAJ,CAAU,mFAAV,CAAN;AACH;AACD;AACA;AACO,SAAS2a,OAAT,GAAmB;AACtB,QAAIC,IAAI,EAAR;AACA,SAAK,IAAItO,IAAI,CAAb,EAAgBA,MAAM,EAAtB,EAA0BsO,KAAKtO,IAAI,EAAJ,GAAS,EAAT,GACzB,CAACA,IAAI,EAAJ,GAAS,IAAIlB,KAAKQ,MAAL,MAAiBU,IAAI,EAAJ,GAAS,EAAT,GAAc,CAA/B,CAAb,GAAiD,CAAlD,EAAqD3G,QAArD,CAA8D,EAA9D,CADyB,GAEzB,GAFN;AAIA,WAAOiV,CAAP;AACH;AACD;AACA,IAAIC,0BAA0B,KAA9B;AACA,IAAIC,mBAAJ;AACA,IAAIC,mBAAJ;AACA,SAASC,eAAT,GAA2B;AACvBF,iBAAa,IAAIjZ,KAAJ,CAAU,GAAV,CAAb;AACAkZ,iBAAa,EAAb;AACA,SAAK,IAAI9a,IAAI,CAAb,EAAgBA,IAAI,GAApB,EAAyBA,GAAzB,EAA8B;AAC1B6a,mBAAW7a,CAAX,IAAgB,CAACA,IAAI,KAAL,EAAY0F,QAAZ,CAAqB,EAArB,EAAyByE,MAAzB,CAAgC,CAAhC,CAAhB;AACA2Q,mBAAWD,WAAW7a,CAAX,CAAX,IAA4BA,CAA5B;AACH;AACD4a,8BAA0B,IAA1B;AACH;AACD;AACA;AACO,SAASI,WAAT,CAAqBhU,CAArB,EAAwB;AAC3B,QAAI,CAAC4T,uBAAL,EAA8B;AAC1BG;AACH;AACD,QAAI/a,IAAI,CAAR;AACA,QAAMib,MAAM,IAAIC,UAAJ,CAAe,EAAf,CAAZ;AACAlU,MAAEkD,WAAF,GAAgBwC,OAAhB,CAAwB,cAAxB,EAAyC,UAAUyO,GAAV,EAAe;AACpD,gBAAQnb,CAAR;AACI;AACA;AACA,iBAAK,CAAL;AACA,iBAAK,CAAL;AACA,iBAAK,CAAL;AACA,iBAAK,CAAL;AACIib,oBAAI,IAAIjb,GAAR,IAAe8a,WAAWK,GAAX,CAAf;AACA;AACJ,iBAAK,CAAL;AACA,iBAAK,CAAL;AACIF,oBAAI,IAAIjb,GAAR,IAAe8a,WAAWK,GAAX,CAAf;AACA;AACJ,iBAAK,CAAL;AACA,iBAAK,CAAL;AACIF,oBAAI,KAAKjb,GAAT,IAAgB8a,WAAWK,GAAX,CAAhB;AACA;AACJ,iBAAK,CAAL;AACA,iBAAK,CAAL;AACA,iBAAK,EAAL;AACA,iBAAK,EAAL;AACA,iBAAK,EAAL;AACA,iBAAK,EAAL;AACA,iBAAK,EAAL;AACA,iBAAK,EAAL;AACIF,oBAAIjb,GAAJ,IAAW8a,WAAWK,GAAX,CAAX;AACA;AA1BR;AA4BH,KA7BD;AA8BA;AACA,WAAOnb,IAAI,EAAX,EAAe;AACXib,YAAIjb,GAAJ,IAAW,CAAX;AACH;AACD,WAAOib,GAAP;AACH;AACD;AACO,SAASG,WAAT,CAAqBH,GAArB,EAA0B;AAC7B,QAAIA,IAAIzU,MAAJ,KAAe,EAAnB,EAAuB;AACnB,cAAM,IAAIzG,KAAJ,CAAU,mDAAV,CAAN;AACH;AACD,QAAI,CAAC6a,uBAAL,EAA8B;AAC1BG;AACH;AACD,WAAOF,WAAWI,IAAI,CAAJ,CAAX,IAAqBJ,WAAWI,IAAI,CAAJ,CAAX,CAArB,GACHJ,WAAWI,IAAI,CAAJ,CAAX,CADG,GACkBJ,WAAWI,IAAI,CAAJ,CAAX,CADlB,GACuC,GADvC,GAEHJ,WAAWI,IAAI,CAAJ,CAAX,CAFG,GAEkBJ,WAAWI,IAAI,CAAJ,CAAX,CAFlB,GAEuC,GAFvC,GAGHJ,WAAWI,IAAI,CAAJ,CAAX,CAHG,GAGkBJ,WAAWI,IAAI,CAAJ,CAAX,CAHlB,GAGuC,GAHvC,GAIHJ,WAAWI,IAAI,CAAJ,CAAX,CAJG,GAIkBJ,WAAWI,IAAI,CAAJ,CAAX,CAJlB,GAIuC,GAJvC,GAKHJ,WAAWI,IAAI,EAAJ,CAAX,CALG,GAKmBJ,WAAWI,IAAI,EAAJ,CAAX,CALnB,GAMHJ,WAAWI,IAAI,EAAJ,CAAX,CANG,GAMmBJ,WAAWI,IAAI,EAAJ,CAAX,CANnB,GAOHJ,WAAWI,IAAI,EAAJ,CAAX,CAPG,GAOmBJ,WAAWI,IAAI,EAAJ,CAAX,CAP1B;AAQH;AACD;AACA,SAASI,YAAT,CAAsBC,IAAtB,EAA4B;AACxB,UAAM,IAAIvb,KAAJ,CAAU,sCAAsCub,IAAtC,GAA6C,2BAAvD,CAAN;AACH;AACM,SAASC,cAAT,CAAwBC,OAAxB,EAAiC;AACpC,QAAIrE,MAAM,EAAV;AACA,SAAK,IAAInX,IAAI,CAAb,EAAgBA,IAAIwb,QAAQhV,MAA5B,EAAoCxG,GAApC,EAAyC;AACrCmX,eAAOrR,OAAOqN,YAAP,CAAoBqI,QAAQxb,CAAR,CAApB,CAAP;AACH;AACD,WAAO,OAAOyb,IAAP,KAAgB,UAAhB,GAA6BA,KAAKtE,GAAL,CAA7B,GAAyCkE,aAAa,MAAb,CAAhD;AACH;AACM,SAASK,gBAAT,CAA0BC,UAA1B,EAAsC;AACzC,QAAMC,SAAS,OAAOC,IAAP,KAAgB,UAAhB,GAA6BA,KAAKF,UAAL,CAA7B,GAAgDN,aAAa,MAAb,CAA/D;AACA,QAAMS,QAAQ,IAAIZ,UAAJ,CAAeU,OAAOpV,MAAtB,CAAd;AACA,SAAK,IAAIxG,IAAI,CAAb,EAAgBA,IAAI4b,OAAOpV,MAA3B,EAAmCxG,GAAnC,EAAwC;AACpC8b,cAAM9b,CAAN,IAAW4b,OAAOzU,UAAP,CAAkBnH,CAAlB,CAAX;AACH;AACD,WAAO8b,KAAP;AACH;AACM,SAAS3C,OAAT,CAAiBhC,GAAjB,EAAsBjQ,GAAtB,EAA2BgS,EAA3B,EAA+B6C,OAA/B,EAAwC;AAC3C7C,SAAKA,MAAM,GAAX;AACA/B,UAAMrR,OAAOqR,GAAP,CAAN;AACAjQ,UAAMA,MAAMiQ,IAAI3Q,MAAhB;AACA,SAAK,IAAIxG,IAAI,CAAb,EAAgBA,IAAIkH,GAApB,EAAyBlH,GAAzB,EAA8B;AAC1BmX,cAAM4E,UAAU5E,MAAM+B,EAAhB,GAAqBA,KAAK/B,GAAhC;AACH;AACD,WAAOA,GAAP;AACH;AACM,SAAS6E,QAAT,CAAkB7E,GAAlB,EAAuBjQ,GAAvB,EAA4BgS,EAA5B,EAAgC;AACnC,WAAOC,QAAQhC,GAAR,EAAajQ,GAAb,EAAkBgS,EAAlB,EAAsB,IAAtB,CAAP;AACH;AACM,SAAS+C,MAAT,CAAgB9E,GAAhB,EAAqBI,UAArB,EAAiCpJ,KAAjC,EAAwC;AAC3C,QAAIoJ,cAAcJ,IAAI3Q,MAAtB,EAA8B;AAC1B,cAAM,IAAIzG,KAAJ,CAAU,+CAAV,CAAN;AACH;AACD,QAAI,OAAOoO,KAAP,KAAiB,QAAjB,IAA8BoJ,aAAapJ,KAAd,GAAuBgJ,IAAI3Q,MAA5D,EAAoE;AAChE,cAAM,IAAIzG,KAAJ,CAAU,6DAAV,CAAN;AACH;AACD,WAAOoX,IAAI1W,KAAJ,CAAU,CAAV,EAAa8W,UAAb,KAA4B,OAAOpJ,KAAP,KAAiB,QAAjB,GAA4BgJ,IAAIhN,MAAJ,CAAWoN,aAAapJ,KAAxB,CAA5B,GAA6D,EAAzF,CAAP;AACH;AACM,SAASzB,OAAT,CAAiByK,GAAjB,EAAsB4C,MAAtB,EAA8BrN,OAA9B,EAAuC;AAC1C,WAAOyK,IAAIzK,OAAJ,CAAY,IAAIwP,MAAJ,CAAW,+DAAAC,CAAOpC,MAAP,CAAX,EAA2B,GAA3B,CAAZ,EAA6CrN,OAA7C,CAAP;AACH;AACM,SAASnM,SAAT,CAAmBT,CAAnB,EAAsBZ,CAAtB,EAAyB;AAC5B,WAAOW,WAAWC,CAAX,EAAc;AAAA,eAAMZ,CAAN;AAAA,KAAd,CAAP;AACH;AACM,SAASkd,cAAT,CAAwBxE,KAAxB,EAA+BnW,KAA/B,EAAsC;AACzC,QAAIA,QAAQ,CAAR,IAAaA,QAAQmW,MAAMpR,MAA/B,EAAuC;AACnC,cAAM,IAAIzG,KAAJ,CAAU,6EAAV,CAAN;AACH;AACD,WAAO6X,MAAMnW,KAAN,CAAP;AACH;AACM,SAAS4a,KAAT,CAAelF,GAAf,EAAoBmF,SAApB,EAA+BnO,KAA/B,EAAsCoO,WAAtC,EAAmD;AACtDpO,YAAQ,OAAOA,KAAP,KAAiB,QAAjB,GAA4BA,KAA5B,GAAoC,IAA5C;AACAoO,kBAAc,OAAOA,WAAP,KAAuB,QAAvB,GAAkCA,WAAlC,GAAgD,IAA9D;AACA,QAAIpO,QAAQ,CAAZ,EAAe;AACX,cAAM,IAAIpO,KAAJ,CAAU,gCAAV,CAAN;AACH;AACD,QAAIoO,UAAU,CAAd,EAAiB;AACb,eAAO,EAAP;AACH;AACD,QAAIqO,aAAaF,SAAjB;AACA,QAAI,CAAC1a,MAAMiD,OAAN,CAAcyX,SAAd,CAAL,EAA+B;AAC3B,YAAMpV,MAAM+B,UAAUzC,MAAtB;AACAgW,qBAAa5a,MAAMsF,MAAM,CAAZ,CAAb;AACA,aAAK,IAAIqB,MAAM,CAAf,EAAkBA,MAAMrB,GAAxB,EAA6BqB,KAA7B,EAAoC;AAChCiU,uBAAWjU,MAAM,CAAjB,IAAsBU,UAAUV,GAAV,CAAtB;AACH;AACJ;AACDiU,iBAAaA,WAAWvc,GAAX,CAAe,UAACf,CAAD;AAAA,eAAO,+DAAAid,CAAOjd,CAAP,CAAP;AAAA,KAAf,CAAb;AACAsd,iBAAaA,WAAWhW,MAAX,GAAoB,CAApB,GAAwBgW,UAAxB,GAAqC,CAAC,GAAD,CAAlD;AACA,QAAIxc,IAAI,CAAR;AACA,QAAMyc,SAAS,EAAf;AACA,QAAMC,MAAM,IAAIR,MAAJ,CAAWM,WAAW9V,IAAX,CAAgB,GAAhB,CAAX,EAAiC,GAAjC,CAAZ;AACA,WAAOyH,SAAS,IAAT,IAAiBA,QAAQ,CAAhC,EAAmC;AAC/B,YAAMjD,IAAIwR,IAAIpQ,IAAJ,CAAS6K,GAAT,CAAV;AACA,YAAIjM,MAAM,IAAV,EAAgB;AACZ;AACH;AACD,YAAI,CAACqR,WAAD,IAAiBrR,EAAEzJ,KAAF,GAAUzB,CAAX,GAAgB,CAApC,EAAuC;AACnCmO,oBAAQA,SAAS,IAAT,GAAgBA,QAAQ,CAAxB,GAA4BA,KAApC;AACAsO,mBAAOlK,IAAP,CAAY4E,IAAIyC,SAAJ,CAAc5Z,CAAd,EAAiBkL,EAAEzJ,KAAnB,CAAZ;AACH;AACDzB,YAAI0c,IAAIC,SAAR;AACH;AACD,QAAI,CAACJ,WAAD,IAAiBpF,IAAI3Q,MAAJ,GAAaxG,CAAd,GAAmB,CAAvC,EAA0C;AACtCyc,eAAOlK,IAAP,CAAY4E,IAAIyC,SAAJ,CAAc5Z,CAAd,CAAZ;AACH;AACD,WAAOyc,MAAP;AACH;AACM,SAAShC,IAAT,CAActD,GAAd,EAAmByF,IAAnB,EAAmC;AAAA,uCAAPC,KAAO;AAAPA,aAAO;AAAA;;AACtC,QAAID,SAAS,MAAT,IAAmBC,MAAMrW,MAAN,KAAiB,CAAxC,EAA2C;AACvC,eAAO2Q,IAAIsD,IAAJ,EAAP;AACH;AACD,QAAImC,SAAS,OAAT,IAAoBA,SAAS,MAAjC,EAAyC;AACrC,YAAMF,MAAMG,MAAMrW,MAAN,KAAiB,CAAjB,GAAqB,MAArB,GAA8B,IAAI0V,MAAJ,CAAW,OAAO,+DAAAC,CAAOU,MAAMnW,IAAN,CAAW,EAAX,CAAP,CAAP,GAAgC,IAA3C,CAA1C;AACAyQ,cAAMA,IAAIzK,OAAJ,CAAYgQ,GAAZ,EAAiB,EAAjB,CAAN;AACH;AACD,QAAIE,SAAS,KAAT,IAAkBA,SAAS,MAA/B,EAAuC;AACnC,YAAMF,OAAMG,MAAMrW,MAAN,KAAiB,CAAjB,GAAqB,MAArB,GAA8B,IAAI0V,MAAJ,CAAW,MAAM,+DAAAC,CAAOU,MAAMnW,IAAN,CAAW,EAAX,CAAP,CAAN,GAA+B,KAA1C,CAA1C;AACAyQ,cAAMA,IAAIzK,OAAJ,CAAYgQ,IAAZ,EAAiB,EAAjB,CAAN;AACH;AACD,WAAOvF,GAAP;AACH;AACM,SAASxX,MAAT,CAAgBmd,IAAhB,EAAsB5d,CAAtB,EAAyB;AAC5B,WAAOA,EAAEmd,KAAF,CAAQ,EAAR,EAAY1c,MAAZ,CAAmBmd,IAAnB,EAAyBpW,IAAzB,CAA8B,EAA9B,CAAP;AACH,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AGzcqC;AAAA;AAAc;AAIhD;AAAA;AAAA,eAAmC;AAAA;AAAY,SAA/C,CAAqB;AAAA,2HAArB,sGAAS;AAAA;AAAQ,aAAjB,QAAqB;AAAA,SAArB;AAAA;AAA+C;AAG/C,eAAW,iHAAM,+DAAN,SAAiB,+DAAjB,SAA4B,+DAA5B,SAAwC,+DAAxC,SAAoD,+DAApD,SAA+D,+DAA/D,SACM,gEADN,UACiB,gEADjB,WACmC,gEADnC,SACmD,gEADnD,UACqE,gEADrE,WAEQ,gEAFR,SAE0B,gEAF1B,UAEuC,gEAFvC,WAEsD,gEAFtD,SAEmE,gEAFnE,SAGM,gEAHN,SAGkB,gEAHlB,SAG6B,gEAH7B,UAGyC,gEAHzC,SAGsD,gEAHtD,SAGkE,gEAHlE,SAIM,gEAJN,SAIkB,gEAJlB,SAI8B,gEAJ9B,SAI0C,gEAJ1C,SAKM,gEALN,SAKwB,gEALxB,SAKoC,gEALpC,SAKgD,gEALhD,SAK8D,gEAL9D,GAAX;AAOA,cAA2C,wGAArB,sGAAS;AAAA;AAAQ,CAAjB,WAAqB;AAAA;AAAA,GAA3C;;AAGA;AAAA;AAAsB;;;AAEb;AACP;;AAAA,QADO,8BACP,EADO;AAAA;AAQE,KAPT,MADO;AAAA;AAAA;AAAA;;AAGK;AAAA,kIAAQ,0HAAR;;AACA;AAAA,kIAAQ,uHAAR;;AACA;AAAA;;AACC;AAAA;;AACG;AAAA;;AAPT;AAAA;AAAA;AAAQ;AAQN;AAIL;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAI;AAOO;AAAA,QAAG,cAAH,EAA4B;AAAA;AAAS,KAArC,MAA2C;AAAA;AAAE;AAAA;AAC7C;AAAA,QAAG,cAAH,EAA8B;AAAA;AAAS,KAAvC;AAAA;AAAA;AAA+C;AAEpD;AAAsB;AAAA;AAAe,KAAf;;AAC1B;AADuB;AAG1B;AAAA,uBAAY,kIAAZ;AAAgC;AACrC,gBAAY,wEAAZ,C;;;;;;;;;;;;;;;;AHzDJ;AACA;AACA;;IACqBqW,M;AACjB,oBAAYxW,GAAZ,EAAiBE,IAAjB,EAAuB;AAAA;;AACnB,aAAKF,GAAL,GAAWA,MAAM,CAAjB;AACA,aAAKE,IAAL,GAAYA,IAAZ;AACH;;;;+BACM3D,K,EAAO;AACV,mBAAO,mEAAA4F,CAAa,IAAb,EAAmB5F,KAAnB,CAAP;AACH;;;kCACSA,K,EAAO;AACb,mBAAO,oEAAA6F,CAAc,IAAd,EAAoB7F,KAApB,CAAP;AACH;;aACA,wDAAA0B,CAAQhC,U;gCAAc;AACnB,mBAAO;AACH+G,sBAAM,oCADH;AAEHpE,4BAAY,CAAC,aAAD,EAAgB,mBAAhB,EAAqC,oBAArC,CAFT;AAGHmB,uBAAO,CAAC,CAAC,IAAD,EAAO,kDAAP,CAAD,EAAc,CAAC,OAAD,EAAU,kDAAV,CAAd;AAHJ,aAAP;AAKH;;;;;;yDAjBgByW,M;;AAmBd,SAAS9c,GAAT,CAAaZ,CAAb,EAAgB8S,MAAhB,EAAwB;AAC3B,WAAOA,OAAO5L,GAAP,KAAe,CAAf,GAAmB,IAAIwW,MAAJ,CAAW,CAAX,EAAc1d,EAAE8S,OAAO1L,IAAT,CAAd,CAAnB,GAAmD0L,MAA1D;AACH;AACM,SAAS6K,QAAT,CAAkB3d,CAAlB,EAAqB8S,MAArB,EAA6B;AAChC,WAAOA,OAAO5L,GAAP,KAAe,CAAf,GAAmB,IAAIwW,MAAJ,CAAW,CAAX,EAAc1d,EAAE8S,OAAO1L,IAAT,CAAd,CAAnB,GAAmD0L,MAA1D;AACH;AACM,SAAS8K,IAAT,CAAc5d,CAAd,EAAiB8S,MAAjB,EAAyB;AAC5B,WAAOA,OAAO5L,GAAP,KAAe,CAAf,GAAmBlH,EAAE8S,OAAO1L,IAAT,CAAnB,GAAoC0L,MAA3C;AACH,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA9BD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAShR,OAAT,CAAiB9B,CAAjB,EAAoBP,EAApB,EAAwB;AAC3B,QAAMwJ,OAAO,EAAb;AACA,QAAMsB,OAAO9K,GAAG2D,OAAOyC,QAAV,GAAb;AACA,QAAIjG,MAAMie,QAAV;AACA,QAAIrT,MAAMD,KAAKE,IAAL,EAAV;AACA,WAAO,CAACD,IAAIE,IAAZ,EAAkB;AACd,YAAMzI,IAAIjC,EAAEwK,IAAId,KAAN,CAAV;AACA,YAAMoU,KAAKvO,QAAQtN,CAAR,EAAWrC,GAAX,CAAX;AACA,YAAIke,MAAM,IAAV,EAAgB;AACZ7U,iBAAKiK,IAAL,CAAUjR,CAAV;AACArC,kBAAMme,IAAI9b,CAAJ,EAAO,CAACuI,IAAId,KAAL,CAAP,EAAoB9J,GAApB,CAAN;AACH,SAHD,MAIK;AACDO,YAAA,iEAAAA,CAAS2d,EAAT,EAAa5K,IAAb,CAAkB1I,IAAId,KAAtB;AACH;AACDc,cAAMD,KAAKE,IAAL,EAAN;AACH;AACD,WAAOxB,KAAKrI,GAAL,CAAS,UAACqB,CAAD;AAAA,eAAO,CAACA,CAAD,EAAIrC,IAAIsD,GAAJ,CAAQjB,CAAR,CAAJ,CAAP;AAAA,KAAT,CAAP;AACH;AACM,SAAS+b,OAAT,CAAiBhe,CAAjB,EAAoBP,EAApB,EAAwB;AAC3B,WAAOqC,QAAQ9B,CAAR,EAAWP,EAAX,EAAemB,GAAf,CAAmB,UAACqd,EAAD;AAAA,eAAQ,CAACA,GAAG,CAAH,CAAD,EAAQA,GAAG,CAAH,EAAM9W,MAAd,CAAR;AAAA,KAAnB,CAAP;AACH;AACD,IAAa+W,OAAb,GACI,iBAAYhX,GAAZ,EAAiBE,IAAjB,EAAuB;AAAA;;AACnB,SAAKF,GAAL,GAAWA,MAAM,CAAjB;AACA,SAAKE,IAAL,GAAYA,IAAZ;AACH,CAJL;AAMA,SAAS+W,YAAT,CAAsBve,GAAtB,EAA2BiM,CAA3B,EAA8B;AAC1BuS,aAAS,OAAO,IAAP,EAAa;AAClB,YAAIvS,EAAE3E,GAAF,KAAU,CAAd,EAAiB;AACb,mBAAOtH,MAAM,CAAN,GAAU,CAAjB;AACH,SAFD,MAGK,IAAIiM,EAAE3E,GAAF,KAAU,CAAd,EAAiB;AAClBtH,kBAAMue,aAAave,MAAM,CAAnB,EAAsBiM,EAAEzE,IAAF,CAAO,CAAP,CAAtB,CAAN;AACAyE,gBAAIA,EAAEzE,IAAF,CAAO,CAAP,CAAJ;AACA,qBAASgX,OAAT;AACH,SAJI,MAKA;AACD,mBAAOxe,MAAM,CAAb;AACH;AACJ;AACJ;AACD,SAASye,SAAT,CAAmBxe,CAAnB,EAAsB;AAClB,WAAOse,aAAa,CAAb,EAAgBte,CAAhB,CAAP;AACH;AACD,SAASye,UAAT,GAAsB;AAClB,WAAO,IAAIJ,OAAJ,CAAY,CAAZ,CAAP;AACH;AACD,SAASK,WAAT,CAAqBC,KAArB,EAA4B;AACxB,WAAOA,MAAMtX,GAAN,KAAc,CAAd,GAAkB,CAAlB,GAAsBsX,MAAMtX,GAAN,KAAc,CAAd,GAAkBsX,MAAMpX,IAAN,CAAW,CAAX,CAAlB,GAAkC,CAA/D;AACH;AACD,SAASqX,YAAT,CAAsB5S,CAAtB,EAAyB;AACrB,WAAOA,EAAE3E,GAAF,KAAU,CAAV,GAAc,IAAd,GAAqB,KAA5B;AACH;AACD,SAASwX,OAAT,CAAiBC,CAAjB,EAAoB1c,CAApB,EAAuBqF,CAAvB,EAA0BrH,CAA1B,EAA6B;AACzB,QAAM2e,aAAaD,EAAEzX,GAAF,KAAU,CAAV,GAAcjH,EAAEiH,GAAF,KAAU,CAAV,GAAc,CAAd,GAAkB,CAAhC,GAAoC,CAAvD;AACA,YAAQ0X,UAAR;AACI,aAAK,CAAL;AACI,mBAAO,IAAIV,OAAJ,CAAY,CAAZ,EAAe,CAACjc,CAAD,EAAIqF,CAAJ,CAAf,CAAP;AACJ,aAAK,CAAL;AACI,gBAAMuX,KAAKN,YAAYI,CAAZ,IAAiB,CAA5B;AACA,gBAAMG,KAAKP,YAAYte,CAAZ,IAAiB,CAA5B;AACA,gBAAM4L,IAAI,CAACgT,KAAKC,EAAL,GAAUA,EAAV,GAAeD,EAAhB,IAAsB,CAAhC;AACA,mBAAO,IAAIX,OAAJ,CAAY,CAAZ,EAAe,CAACjc,CAAD,EAAIqF,CAAJ,EAAOqX,CAAP,EAAU1e,CAAV,EAAa4L,IAAI,CAAjB,CAAf,CAAP;AAPR;AASA,UAAM,IAAInL,KAAJ,CAAU,6BAAV,CAAN;AACH;AACD,SAASqe,cAAT,CAAwBC,EAAxB,EAA4B/c,CAA5B,EAA+BqF,CAA/B,EAAkC2X,EAAlC,EAAsC;AAClC,QAAMC,MAAMX,YAAYS,EAAZ,CAAZ;AACA,QAAMG,MAAMZ,YAAYU,EAAZ,CAAZ;AACA,QAAIE,MAAMD,MAAM,CAAhB,EAAmB;AACf,YAAID,GAAG/X,GAAH,KAAW,CAAf,EAAkB;AACd,gBAAIqX,YAAYU,GAAG7X,IAAH,CAAQ,CAAR,CAAZ,IAA0B8X,MAAM,CAApC,EAAuC;AACnC,oBAAID,GAAG7X,IAAH,CAAQ,CAAR,EAAWF,GAAX,KAAmB,CAAvB,EAA0B;AACtB,2BAAOwX,QAAQA,QAAQM,EAAR,EAAY/c,CAAZ,EAAeqF,CAAf,EAAkB2X,GAAG7X,IAAH,CAAQ,CAAR,EAAWA,IAAX,CAAgB,CAAhB,CAAlB,CAAR,EAA+C6X,GAAG7X,IAAH,CAAQ,CAAR,EAAWA,IAAX,CAAgB,CAAhB,CAA/C,EAAmE6X,GAAG7X,IAAH,CAAQ,CAAR,EAAWA,IAAX,CAAgB,CAAhB,CAAnE,EAAuFsX,QAAQO,GAAG7X,IAAH,CAAQ,CAAR,EAAWA,IAAX,CAAgB,CAAhB,CAAR,EAA4B6X,GAAG7X,IAAH,CAAQ,CAAR,CAA5B,EAAwC6X,GAAG7X,IAAH,CAAQ,CAAR,CAAxC,EAAoD6X,GAAG7X,IAAH,CAAQ,CAAR,CAApD,CAAvF,CAAP;AACH,iBAFD,MAGK;AACD,0BAAM,IAAI1G,KAAJ,CAAU,WAAV,CAAN;AACH;AACJ,aAPD,MAQK;AACD,uBAAOge,QAAQA,QAAQM,EAAR,EAAY/c,CAAZ,EAAeqF,CAAf,EAAkB2X,GAAG7X,IAAH,CAAQ,CAAR,CAAlB,CAAR,EAAuC6X,GAAG7X,IAAH,CAAQ,CAAR,CAAvC,EAAmD6X,GAAG7X,IAAH,CAAQ,CAAR,CAAnD,EAA+D6X,GAAG7X,IAAH,CAAQ,CAAR,CAA/D,CAAP;AACH;AACJ,SAZD,MAaK;AACD,kBAAM,IAAI1G,KAAJ,CAAU,WAAV,CAAN;AACH;AACJ,KAjBD,MAkBK;AACD,YAAIwe,MAAMC,MAAM,CAAhB,EAAmB;AACf,gBAAIH,GAAG9X,GAAH,KAAW,CAAf,EAAkB;AACd,oBAAIqX,YAAYS,GAAG5X,IAAH,CAAQ,CAAR,CAAZ,IAA0B+X,MAAM,CAApC,EAAuC;AACnC,wBAAIH,GAAG5X,IAAH,CAAQ,CAAR,EAAWF,GAAX,KAAmB,CAAvB,EAA0B;AACtB,+BAAOwX,QAAQA,QAAQM,GAAG5X,IAAH,CAAQ,CAAR,CAAR,EAAoB4X,GAAG5X,IAAH,CAAQ,CAAR,CAApB,EAAgC4X,GAAG5X,IAAH,CAAQ,CAAR,CAAhC,EAA4C4X,GAAG5X,IAAH,CAAQ,CAAR,EAAWA,IAAX,CAAgB,CAAhB,CAA5C,CAAR,EAAyE4X,GAAG5X,IAAH,CAAQ,CAAR,EAAWA,IAAX,CAAgB,CAAhB,CAAzE,EAA6F4X,GAAG5X,IAAH,CAAQ,CAAR,EAAWA,IAAX,CAAgB,CAAhB,CAA7F,EAAiHsX,QAAQM,GAAG5X,IAAH,CAAQ,CAAR,EAAWA,IAAX,CAAgB,CAAhB,CAAR,EAA4BnF,CAA5B,EAA+BqF,CAA/B,EAAkC2X,EAAlC,CAAjH,CAAP;AACH,qBAFD,MAGK;AACD,8BAAM,IAAIve,KAAJ,CAAU,WAAV,CAAN;AACH;AACJ,iBAPD,MAQK;AACD,2BAAOge,QAAQM,GAAG5X,IAAH,CAAQ,CAAR,CAAR,EAAoB4X,GAAG5X,IAAH,CAAQ,CAAR,CAApB,EAAgC4X,GAAG5X,IAAH,CAAQ,CAAR,CAAhC,EAA4CsX,QAAQM,GAAG5X,IAAH,CAAQ,CAAR,CAAR,EAAoBnF,CAApB,EAAuBqF,CAAvB,EAA0B2X,EAA1B,CAA5C,CAAP;AACH;AACJ,aAZD,MAaK;AACD,sBAAM,IAAIve,KAAJ,CAAU,WAAV,CAAN;AACH;AACJ,SAjBD,MAkBK;AACD,mBAAOge,QAAQM,EAAR,EAAY/c,CAAZ,EAAeqF,CAAf,EAAkB2X,EAAlB,CAAP;AACH;AACJ;AACJ;AACD,SAASG,QAAT,CAAkBC,QAAlB,EAA4Bpd,CAA5B,EAA+BqF,CAA/B,EAAkCuE,CAAlC,EAAqC;AACjC,QAAIA,EAAE3E,GAAF,KAAU,CAAd,EAAiB;AACb,YAAMiR,IAAIkH,SAASC,OAAT,CAAiBrd,CAAjB,EAAoB4J,EAAEzE,IAAF,CAAO,CAAP,CAApB,CAAV;AACA,YAAI+Q,IAAI,CAAR,EAAW;AACP,mBAAO,IAAI+F,OAAJ,CAAY,CAAZ,EAAe,CAACjc,CAAD,EAAIqF,CAAJ,EAAO,IAAI4W,OAAJ,CAAY,CAAZ,CAAP,EAAuBrS,CAAvB,EAA0B,CAA1B,CAAf,CAAP;AACH,SAFD,MAGK,IAAIsM,MAAM,CAAV,EAAa;AACd,mBAAO,IAAI+F,OAAJ,CAAY,CAAZ,EAAe,CAACjc,CAAD,EAAIqF,CAAJ,CAAf,CAAP;AACH;AACD,eAAO,IAAI4W,OAAJ,CAAY,CAAZ,EAAe,CAACjc,CAAD,EAAIqF,CAAJ,EAAOuE,CAAP,EAAU,IAAIqS,OAAJ,CAAY,CAAZ,CAAV,EAA0B,CAA1B,CAAf,CAAP;AACH,KATD,MAUK,IAAIrS,EAAE3E,GAAF,KAAU,CAAd,EAAiB;AAClB,YAAMiR,KAAIkH,SAASC,OAAT,CAAiBrd,CAAjB,EAAoB4J,EAAEzE,IAAF,CAAO,CAAP,CAApB,CAAV;AACA,YAAI+Q,KAAI,CAAR,EAAW;AACP,mBAAO4G,eAAeK,SAASC,QAAT,EAAmBpd,CAAnB,EAAsBqF,CAAtB,EAAyBuE,EAAEzE,IAAF,CAAO,CAAP,CAAzB,CAAf,EAAoDyE,EAAEzE,IAAF,CAAO,CAAP,CAApD,EAA+DyE,EAAEzE,IAAF,CAAO,CAAP,CAA/D,EAA0EyE,EAAEzE,IAAF,CAAO,CAAP,CAA1E,CAAP;AACH,SAFD,MAGK,IAAI+Q,OAAM,CAAV,EAAa;AACd,mBAAO,IAAI+F,OAAJ,CAAY,CAAZ,EAAe,CAACjc,CAAD,EAAIqF,CAAJ,EAAOuE,EAAEzE,IAAF,CAAO,CAAP,CAAP,EAAkByE,EAAEzE,IAAF,CAAO,CAAP,CAAlB,EAA6ByE,EAAEzE,IAAF,CAAO,CAAP,CAA7B,CAAf,CAAP;AACH;AACD,eAAO2X,eAAelT,EAAEzE,IAAF,CAAO,CAAP,CAAf,EAA0ByE,EAAEzE,IAAF,CAAO,CAAP,CAA1B,EAAqCyE,EAAEzE,IAAF,CAAO,CAAP,CAArC,EAAgDgY,SAASC,QAAT,EAAmBpd,CAAnB,EAAsBqF,CAAtB,EAAyBuE,EAAEzE,IAAF,CAAO,CAAP,CAAzB,CAAhD,CAAP;AACH;AACD,WAAO,IAAI8W,OAAJ,CAAY,CAAZ,EAAe,CAACjc,CAAD,EAAIqF,CAAJ,CAAf,CAAP;AACH;AACD,SAASiY,SAAT,CAAmBF,QAAnB,EAA6Bpd,CAA7B,EAAgC4J,CAAhC,EAAmC;AAC/B,QAAMzC,MAAMoW,aAAaH,QAAb,EAAuBpd,CAAvB,EAA0B4J,CAA1B,CAAZ;AACA,QAAIzC,OAAO,IAAX,EAAiB;AACb,cAAM,IAAI1I,KAAJ,CAAU,oBAAoBuB,CAA9B,CAAN;AACH;AACD,WAAO,iEAAA9B,CAASiJ,GAAT,CAAP;AACH;AACD,SAASoW,YAAT,CAAsBH,QAAtB,EAAgCpd,CAAhC,EAAmC4J,CAAnC,EAAsC;AAClC0D,aAAS,OAAO,IAAP,EAAa;AAClB,YAAI1D,EAAE3E,GAAF,KAAU,CAAd,EAAiB;AACb,gBAAMiR,IAAIkH,SAASC,OAAT,CAAiBrd,CAAjB,EAAoB4J,EAAEzE,IAAF,CAAO,CAAP,CAApB,IAAiC,CAA3C;AACA,gBAAI+Q,MAAM,CAAV,EAAa;AACT,uBAAO,IAAI,qDAAJ,CAAStM,EAAEzE,IAAF,CAAO,CAAP,CAAT,CAAP;AACH,aAFD,MAGK;AACD,uBAAO,IAAP;AACH;AACJ,SARD,MASK,IAAIyE,EAAE3E,GAAF,KAAU,CAAd,EAAiB;AAClB,gBAAMuY,MAAMJ,SAASC,OAAT,CAAiBrd,CAAjB,EAAoB4J,EAAEzE,IAAF,CAAO,CAAP,CAApB,IAAiC,CAA7C;AACA,gBAAIqY,MAAM,CAAV,EAAa;AACTJ,2BAAWA,QAAX;AACApd,oBAAIA,CAAJ;AACA4J,oBAAIA,EAAEzE,IAAF,CAAO,CAAP,CAAJ;AACA,yBAASmI,OAAT;AACH,aALD,MAMK,IAAIkQ,QAAQ,CAAZ,EAAe;AAChB,uBAAO,IAAI,qDAAJ,CAAS5T,EAAEzE,IAAF,CAAO,CAAP,CAAT,CAAP;AACH,aAFI,MAGA;AACDiY,2BAAWA,QAAX;AACApd,oBAAIA,CAAJ;AACA4J,oBAAIA,EAAEzE,IAAF,CAAO,CAAP,CAAJ;AACA,yBAASmI,OAAT;AACH;AACJ,SAjBI,MAkBA;AACD,mBAAO,IAAP;AACH;AACJ;AACJ;AACD,SAASmQ,eAAT,CAAyBL,QAAzB,EAAmCrf,CAAnC,EAAsCiC,CAAtC,EAAyCqF,CAAzC,EAA4CqY,IAA5C,EAAkDC,IAAlD,EAAwD;AACpD,WAAO5f,EAAEiC,CAAF,EAAKqF,CAAL,IAAU,CAAC8X,SAASC,QAAT,EAAmBpd,CAAnB,EAAsBqF,CAAtB,EAAyBqY,IAAzB,CAAD,EAAiCC,IAAjC,CAAV,GAAmD,CAACD,IAAD,EAAOP,SAASC,QAAT,EAAmBpd,CAAnB,EAAsBqF,CAAtB,EAAyBsY,IAAzB,CAAP,CAA1D;AACH;AACD,SAASC,iBAAT,CAA2BR,QAA3B,EAAqCrf,CAArC,EAAwC2H,CAAxC,EAA2CmY,KAA3C,EAAkDC,KAAlD,EAAyD;AACrD,QAAMngB,MAAM,CAACkgB,KAAD,EAAQC,KAAR,CAAZ;AACA,QAAIpY,EAAET,GAAF,KAAU,CAAd,EAAiB;AACb,eAAOwY,gBAAgBL,QAAhB,EAA0Brf,CAA1B,EAA6B2H,EAAEP,IAAF,CAAO,CAAP,CAA7B,EAAwCO,EAAEP,IAAF,CAAO,CAAP,CAAxC,EAAmDxH,IAAI,CAAJ,CAAnD,EAA2DA,IAAI,CAAJ,CAA3D,CAAP;AACH,KAFD,MAGK,IAAI+H,EAAET,GAAF,KAAU,CAAd,EAAiB;AAClB,YAAM8Y,QAAQH,kBAAkBR,QAAlB,EAA4Brf,CAA5B,EAA+B2H,EAAEP,IAAF,CAAO,CAAP,CAA/B,EAA0CxH,IAAI,CAAJ,CAA1C,EAAkDA,IAAI,CAAJ,CAAlD,CAAd;AACA,YAAMqgB,QAAQP,gBAAgBL,QAAhB,EAA0Brf,CAA1B,EAA6B2H,EAAEP,IAAF,CAAO,CAAP,CAA7B,EAAwCO,EAAEP,IAAF,CAAO,CAAP,CAAxC,EAAmD4Y,MAAM,CAAN,CAAnD,EAA6DA,MAAM,CAAN,CAA7D,CAAd;AACA,eAAOH,kBAAkBR,QAAlB,EAA4Brf,CAA5B,EAA+B2H,EAAEP,IAAF,CAAO,CAAP,CAA/B,EAA0C6Y,MAAM,CAAN,CAA1C,EAAoDA,MAAM,CAAN,CAApD,CAAP;AACH;AACD,WAAOrgB,GAAP;AACH;AACD,SAASsgB,cAAT,CAAwBb,QAAxB,EAAkCrf,CAAlC,EAAqC2H,CAArC,EAAwC;AACpC,WAAOkY,kBAAkBR,QAAlB,EAA4Brf,CAA5B,EAA+B2H,CAA/B,EAAkC2W,YAAlC,EAAgDA,YAAhD,CAAP;AACH;AACD,SAAS6B,YAAT,CAAsBd,QAAtB,EAAgCrf,CAAhC,EAAmCiC,CAAnC,EAAsCqF,CAAtC,EAAyC1H,GAAzC,EAA8C;AAC1C,WAAOI,EAAEiC,CAAF,EAAKqF,CAAL,IAAU8X,SAASC,QAAT,EAAmBpd,CAAnB,EAAsBqF,CAAtB,EAAyB1H,GAAzB,CAAV,GAA0CA,GAAjD;AACH;AACD,SAASwgB,cAAT,CAAwBf,QAAxB,EAAkCrf,CAAlC,EAAqC2H,CAArC,EAAwC/H,GAAxC,EAA6C;AACzC,WAAO+H,EAAET,GAAF,KAAU,CAAV,GAAciZ,aAAad,QAAb,EAAuBrf,CAAvB,EAA0B2H,EAAEP,IAAF,CAAO,CAAP,CAA1B,EAAqCO,EAAEP,IAAF,CAAO,CAAP,CAArC,EAAgDxH,GAAhD,CAAd,GAAqE+H,EAAET,GAAF,KAAU,CAAV,GACxEkZ,eAAef,QAAf,EAAyBrf,CAAzB,EAA4B2H,EAAEP,IAAF,CAAO,CAAP,CAA5B,EAAuC+Y,aAAad,QAAb,EAAuBrf,CAAvB,EAA0B2H,EAAEP,IAAF,CAAO,CAAP,CAA1B,EAAqCO,EAAEP,IAAF,CAAO,CAAP,CAArC,EAAgDgZ,eAAef,QAAf,EAAyBrf,CAAzB,EAA4B2H,EAAEP,IAAF,CAAO,CAAP,CAA5B,EAAuCxH,GAAvC,CAAhD,CAAvC,CADwE,GAC+DA,GAD3I;AAEH;AACD,SAASygB,WAAT,CAAqBhB,QAArB,EAA+Brf,CAA/B,EAAkC2H,CAAlC,EAAqC;AACjC,WAAOyY,eAAef,QAAf,EAAyBrf,CAAzB,EAA4B2H,CAA5B,EAA+B2W,YAA/B,CAAP;AACH;AACD,SAASgC,uBAAT,CAAiCzU,CAAjC,EAAoC;AAChC,QAAIA,EAAE3E,GAAF,KAAU,CAAd,EAAiB;AACb,eAAO,CAAC2E,EAAEzE,IAAF,CAAO,CAAP,CAAD,EAAYyE,EAAEzE,IAAF,CAAO,CAAP,CAAZ,EAAuB,IAAI8W,OAAJ,CAAY,CAAZ,CAAvB,CAAP;AACH,KAFD,MAGK,IAAIrS,EAAE3E,GAAF,KAAU,CAAd,EAAiB;AAClB,YAAI2E,EAAEzE,IAAF,CAAO,CAAP,EAAUF,GAAV,KAAkB,CAAtB,EAAyB;AACrB,mBAAO,CAAC2E,EAAEzE,IAAF,CAAO,CAAP,CAAD,EAAYyE,EAAEzE,IAAF,CAAO,CAAP,CAAZ,EAAuByE,EAAEzE,IAAF,CAAO,CAAP,CAAvB,CAAP;AACH,SAFD,MAGK;AACD,gBAAMmZ,MAAMD,wBAAwBzU,EAAEzE,IAAF,CAAO,CAAP,CAAxB,CAAZ;AACA,mBAAO,CAACmZ,IAAI,CAAJ,CAAD,EAASA,IAAI,CAAJ,CAAT,EAAiB7B,QAAQ6B,IAAI,CAAJ,CAAR,EAAgB1U,EAAEzE,IAAF,CAAO,CAAP,CAAhB,EAA2ByE,EAAEzE,IAAF,CAAO,CAAP,CAA3B,EAAsCyE,EAAEzE,IAAF,CAAO,CAAP,CAAtC,CAAjB,CAAP;AACH;AACJ;AACD,UAAM,IAAI1G,KAAJ,CAAU,wCAAV,CAAN;AACH;AACD,SAAS8f,WAAT,CAAqBnB,QAArB,EAA+Bpd,CAA/B,EAAkC4J,CAAlC,EAAqC;AACjC,QAAIA,EAAE3E,GAAF,KAAU,CAAd,EAAiB;AACb,YAAMiR,IAAIkH,SAASC,OAAT,CAAiBrd,CAAjB,EAAoB4J,EAAEzE,IAAF,CAAO,CAAP,CAApB,CAAV;AACA,YAAI+Q,MAAM,CAAV,EAAa;AACT,mBAAO,IAAI+F,OAAJ,CAAY,CAAZ,CAAP;AACH,SAFD,MAGK;AACD,mBAAOrS,CAAP;AACH;AACJ,KARD,MASK,IAAIA,EAAE3E,GAAF,KAAU,CAAd,EAAiB;AAClB,YAAMiR,MAAIkH,SAASC,OAAT,CAAiBrd,CAAjB,EAAoB4J,EAAEzE,IAAF,CAAO,CAAP,CAApB,CAAV;AACA,YAAI+Q,MAAI,CAAR,EAAW;AACP,mBAAO4G,eAAeyB,YAAYnB,QAAZ,EAAsBpd,CAAtB,EAAyB4J,EAAEzE,IAAF,CAAO,CAAP,CAAzB,CAAf,EAAoDyE,EAAEzE,IAAF,CAAO,CAAP,CAApD,EAA+DyE,EAAEzE,IAAF,CAAO,CAAP,CAA/D,EAA0EyE,EAAEzE,IAAF,CAAO,CAAP,CAA1E,CAAP;AACH,SAFD,MAGK,IAAI+Q,QAAM,CAAV,EAAa;AACd,gBAAItM,EAAEzE,IAAF,CAAO,CAAP,EAAUF,GAAV,KAAkB,CAAtB,EAAyB;AACrB,uBAAO2E,EAAEzE,IAAF,CAAO,CAAP,CAAP;AACH,aAFD,MAGK;AACD,oBAAIyE,EAAEzE,IAAF,CAAO,CAAP,EAAUF,GAAV,KAAkB,CAAtB,EAAyB;AACrB,2BAAO2E,EAAEzE,IAAF,CAAO,CAAP,CAAP;AACH,iBAFD,MAGK;AACD,wBAAMmR,QAAQ+H,wBAAwBzU,EAAEzE,IAAF,CAAO,CAAP,CAAxB,CAAd;AACA,2BAAOsX,QAAQ7S,EAAEzE,IAAF,CAAO,CAAP,CAAR,EAAmBmR,MAAM,CAAN,CAAnB,EAA6BA,MAAM,CAAN,CAA7B,EAAuCA,MAAM,CAAN,CAAvC,CAAP;AACH;AACJ;AACJ,SAbI,MAcA;AACD,mBAAOwG,eAAelT,EAAEzE,IAAF,CAAO,CAAP,CAAf,EAA0ByE,EAAEzE,IAAF,CAAO,CAAP,CAA1B,EAAqCyE,EAAEzE,IAAF,CAAO,CAAP,CAArC,EAAgDoZ,YAAYnB,QAAZ,EAAsBpd,CAAtB,EAAyB4J,EAAEzE,IAAF,CAAO,CAAP,CAAzB,CAAhD,CAAP;AACH;AACJ,KAtBI,MAuBA;AACD,eAAOkX,YAAP;AACH;AACJ;AACD,SAASmC,QAAT,CAAkBpB,QAAlB,EAA4Bpd,CAA5B,EAA+B4J,CAA/B,EAAkC;AAC9B6U,SAAK,OAAO,IAAP,EAAa;AACd,YAAI7U,EAAE3E,GAAF,KAAU,CAAd,EAAiB;AACb,mBAAOmY,SAASC,OAAT,CAAiBrd,CAAjB,EAAoB4J,EAAEzE,IAAF,CAAO,CAAP,CAApB,MAAmC,CAA1C;AACH,SAFD,MAGK,IAAIyE,EAAE3E,GAAF,KAAU,CAAd,EAAiB;AAClB,gBAAMiR,IAAIkH,SAASC,OAAT,CAAiBrd,CAAjB,EAAoB4J,EAAEzE,IAAF,CAAO,CAAP,CAApB,IAAiC,CAA3C;AACA,gBAAI+Q,IAAI,CAAR,EAAW;AACPkH,2BAAWA,QAAX;AACApd,oBAAIA,CAAJ;AACA4J,oBAAIA,EAAEzE,IAAF,CAAO,CAAP,CAAJ;AACA,yBAASsZ,GAAT;AACH,aALD,MAMK,IAAIvI,MAAM,CAAV,EAAa;AACd,uBAAO,IAAP;AACH,aAFI,MAGA;AACDkH,2BAAWA,QAAX;AACApd,oBAAIA,CAAJ;AACA4J,oBAAIA,EAAEzE,IAAF,CAAO,CAAP,CAAJ;AACA,yBAASsZ,GAAT;AACH;AACJ,SAjBI,MAkBA;AACD,mBAAO,KAAP;AACH;AACJ;AACJ;AACD,SAASC,SAAT,CAAmB3gB,CAAnB,EAAsB6L,CAAtB,EAAyB;AACrB,QAAIA,EAAE3E,GAAF,KAAU,CAAd,EAAiB;AACblH,UAAE6L,EAAEzE,IAAF,CAAO,CAAP,CAAF,EAAayE,EAAEzE,IAAF,CAAO,CAAP,CAAb;AACH,KAFD,MAGK,IAAIyE,EAAE3E,GAAF,KAAU,CAAd,EAAiB;AAClByZ,kBAAU3gB,CAAV,EAAa6L,EAAEzE,IAAF,CAAO,CAAP,CAAb;AACApH,UAAE6L,EAAEzE,IAAF,CAAO,CAAP,CAAF,EAAayE,EAAEzE,IAAF,CAAO,CAAP,CAAb;AACAuZ,kBAAU3gB,CAAV,EAAa6L,EAAEzE,IAAF,CAAO,CAAP,CAAb;AACH;AACJ;AACD,SAASwZ,YAAT,CAAsB5gB,CAAtB,EAAyB6L,CAAzB,EAA4B;AACxB,QAAIA,EAAE3E,GAAF,KAAU,CAAd,EAAiB;AACb,eAAOlH,EAAE6L,EAAEzE,IAAF,CAAO,CAAP,CAAF,EAAayE,EAAEzE,IAAF,CAAO,CAAP,CAAb,CAAP;AACH,KAFD,MAGK,IAAIyE,EAAE3E,GAAF,KAAU,CAAd,EAAiB;AAClB,YAAM0X,aAAagC,aAAa5gB,CAAb,EAAgB6L,EAAEzE,IAAF,CAAO,CAAP,CAAhB,CAAnB;AACA,YAAIwX,cAAc,IAAlB,EAAwB;AACpB,gBAAMiC,eAAe7gB,EAAE6L,EAAEzE,IAAF,CAAO,CAAP,CAAF,EAAayE,EAAEzE,IAAF,CAAO,CAAP,CAAb,CAArB;AACA,gBAAIyZ,gBAAgB,IAApB,EAA0B;AACtB,uBAAOD,aAAa5gB,CAAb,EAAgB6L,EAAEzE,IAAF,CAAO,CAAP,CAAhB,CAAP;AACH,aAFD,MAGK;AACD,oBAAMgC,MAAMyX,YAAZ;AACA,uBAAOzX,GAAP;AACH;AACJ,SATD,MAUK;AACD,mBAAOwV,UAAP;AACH;AACJ,KAfI,MAgBA;AACD,eAAO,IAAP;AACH;AACJ;AACD,SAASkC,WAAT,CAAqB9gB,CAArB,EAAwB6L,CAAxB,EAA2B;AACvB,WAAOA,EAAE3E,GAAF,KAAU,CAAV,GAAclH,EAAE6L,EAAEzE,IAAF,CAAO,CAAP,CAAF,EAAayE,EAAEzE,IAAF,CAAO,CAAP,CAAb,CAAd,GAAwCyE,EAAE3E,GAAF,KAAU,CAAV,GAAc,CAAC4Z,YAAY9gB,CAAZ,EAAe6L,EAAEzE,IAAF,CAAO,CAAP,CAAf,IAC1D,IAD0D,GACnDpH,EAAE6L,EAAEzE,IAAF,CAAO,CAAP,CAAF,EAAayE,EAAEzE,IAAF,CAAO,CAAP,CAAb,CADkD,IACvB,IADuB,GAChB0Z,YAAY9gB,CAAZ,EAAe6L,EAAEzE,IAAF,CAAO,CAAP,CAAf,CADE,GAC0B,KADzE;AAEH;AACD,SAAS2Z,WAAT,CAAqB/gB,CAArB,EAAwB6L,CAAxB,EAA2B;AACvB,WAAOA,EAAE3E,GAAF,KAAU,CAAV,GAAclH,EAAE6L,EAAEzE,IAAF,CAAO,CAAP,CAAF,EAAayE,EAAEzE,IAAF,CAAO,CAAP,CAAb,CAAd,GAAwCyE,EAAE3E,GAAF,KAAU,CAAV,GAAc,CAAC6Z,YAAY/gB,CAAZ,EAAe6L,EAAEzE,IAAF,CAAO,CAAP,CAAf,IAC1DpH,EAAE6L,EAAEzE,IAAF,CAAO,CAAP,CAAF,EAAayE,EAAEzE,IAAF,CAAO,CAAP,CAAb,CAD0D,GAChC,KAD+B,IACtB2Z,YAAY/gB,CAAZ,EAAe6L,EAAEzE,IAAF,CAAO,CAAP,CAAf,CADsB,GACM,KADpB,GAC4B,IAD3E;AAEH;AACD,SAAS4Z,SAAT,CAAmBhhB,CAAnB,EAAsB6L,CAAtB,EAAyB;AACrB,WAAOA,EAAE3E,GAAF,KAAU,CAAV,GAAc,IAAIgX,OAAJ,CAAY,CAAZ,EAAe,CAACrS,EAAEzE,IAAF,CAAO,CAAP,CAAD,EAAYpH,EAAE6L,EAAEzE,IAAF,CAAO,CAAP,CAAF,EAAayE,EAAEzE,IAAF,CAAO,CAAP,CAAb,CAAZ,CAAf,CAAd,GAAqEyE,EAAE3E,GAAF,KAAU,CAAV,GACxE,IAAIgX,OAAJ,CAAY,CAAZ,EAAe,CAACrS,EAAEzE,IAAF,CAAO,CAAP,CAAD,EAAYpH,EAAE6L,EAAEzE,IAAF,CAAO,CAAP,CAAF,EAAayE,EAAEzE,IAAF,CAAO,CAAP,CAAb,CAAZ,EAAqC4Z,UAAUhhB,CAAV,EAAa6L,EAAEzE,IAAF,CAAO,CAAP,CAAb,CAArC,EACX4Z,UAAUhhB,CAAV,EAAa6L,EAAEzE,IAAF,CAAO,CAAP,CAAb,CADW,EACcyE,EAAEzE,IAAF,CAAO,CAAP,CADd,CAAf,CADwE,GAE7BkX,YAF/C;AAGH;AACD,SAAS2C,aAAT,CAAuBjhB,CAAvB,EAA0B6L,CAA1B,EAA6BhM,CAA7B,EAAgC;AAC5B,WAAOgM,EAAE3E,GAAF,KAAU,CAAV,GAAclH,EAAE6L,EAAEzE,IAAF,CAAO,CAAP,CAAF,EAAayE,EAAEzE,IAAF,CAAO,CAAP,CAAb,EAAwBvH,CAAxB,CAAd,GAA2CgM,EAAE3E,GAAF,KAAU,CAAV,GAC9C+Z,cAAcjhB,CAAd,EAAiB6L,EAAEzE,IAAF,CAAO,CAAP,CAAjB,EAA4BpH,EAAE6L,EAAEzE,IAAF,CAAO,CAAP,CAAF,EAAayE,EAAEzE,IAAF,CAAO,CAAP,CAAb,EAAwB6Z,cAAcjhB,CAAd,EAAiB6L,EAAEzE,IAAF,CAAO,CAAP,CAAjB,EAA4BvH,CAA5B,CAAxB,CAA5B,CAD8C,GACyCA,CAD3F;AAEH;AACD,SAASqhB,SAAT,CAAmBlhB,CAAnB,EAAsBH,CAAtB,EAAyBgM,CAAzB,EAA4B;AACxB,WAAOA,EAAE3E,GAAF,KAAU,CAAV,GAAclH,EAAEH,CAAF,EAAKgM,EAAEzE,IAAF,CAAO,CAAP,CAAL,EAAgByE,EAAEzE,IAAF,CAAO,CAAP,CAAhB,CAAd,GAA2CyE,EAAE3E,GAAF,KAAU,CAAV,GAC9Cga,UAAUlhB,CAAV,EAAaA,EAAEkhB,UAAUlhB,CAAV,EAAaH,CAAb,EAAgBgM,EAAEzE,IAAF,CAAO,CAAP,CAAhB,CAAF,EAA8ByE,EAAEzE,IAAF,CAAO,CAAP,CAA9B,EAAyCyE,EAAEzE,IAAF,CAAO,CAAP,CAAzC,CAAb,EAAkEyE,EAAEzE,IAAF,CAAO,CAAP,CAAlE,CAD8C,GACiCvH,CADnF;AAEH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASshB,qBAAT,CAA+B9B,QAA/B,EAAyCzf,GAAzC,EAA8CsM,CAA9C,EAAiD;AAC7C,QAAI1B,MAAM0B,EAAEzB,IAAF,EAAV;AACA,WAAO,CAACD,IAAIE,IAAZ,EAAkB;AACd9K,cAAMwf,SAASC,QAAT,EAAmB7U,IAAId,KAAJ,CAAU,CAAV,CAAnB,EAAiCc,IAAId,KAAJ,CAAU,CAAV,CAAjC,EAA+C9J,GAA/C,CAAN;AACA4K,cAAM0B,EAAEzB,IAAF,EAAN;AACH;AACD,WAAO7K,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASwhB,UAAT,CAAoB/B,QAApB,EAA8BlH,CAA9B,EAAiC;AAC7B,QAAMkJ,KAAKlJ,EAAE/U,OAAOyC,QAAT,GAAX;AACA,WAAOsb,sBAAsB9B,QAAtB,EAAgCf,YAAhC,EAA8C+C,EAA9C,CAAP;AACH;AACD;AACA;AACA;AACA,SAASC,gBAAT,CAA0BC,KAA1B,EAAiC;AAC7B,QAAIA,MAAM/e,IAAN,IAAc,IAAlB,EAAwB;AACpB,YAAI+e,MAAM9e,IAAN,CAAWyE,GAAX,KAAmB,CAAvB,EAA0B;AACtB,mBAAOqa,KAAP;AACH,SAFD,MAGK,IAAIA,MAAM9e,IAAN,CAAWyE,GAAX,KAAmB,CAAvB,EAA0B;AAC3B,mBAAOoa,iBAAiB,mEAAAE,CAAY,CAChCD,MAAM9e,IAAN,CAAW2E,IAAX,CAAgB,CAAhB,CADgC,EAEhC,IAAI8W,OAAJ,CAAY,CAAZ,EAAe,CAACqD,MAAM9e,IAAN,CAAW2E,IAAX,CAAgB,CAAhB,CAAD,EAAqBma,MAAM9e,IAAN,CAAW2E,IAAX,CAAgB,CAAhB,CAArB,CAAf,CAFgC,EAGhCma,MAAM9e,IAAN,CAAW2E,IAAX,CAAgB,CAAhB,CAHgC,CAAZ,EAIrBma,MAAM/e,IAJe,CAAjB,CAAP;AAKH,SANI,MAOA;AACD,mBAAO8e,iBAAiBC,MAAM/e,IAAvB,CAAP;AACH;AACJ,KAdD,MAeK;AACD,eAAO,IAAI,2DAAJ,EAAP;AACH;AACJ;AACD,SAASif,eAAT,CAAyB9Z,CAAzB,EAA4B;AACxB,WAAO,EAAE4Z,OAAOD,iBAAiB,IAAI,2DAAJ,CAAS3Z,CAAT,EAAY,IAAI,2DAAJ,EAAZ,CAAjB,CAAT,EAAoD+Z,SAAS,KAA7D,EAAP;AACH;AACD,SAASC,aAAT,CAAuBhhB,CAAvB,EAA0B;AACtB,aAASmN,OAAT,CAAiBgC,EAAjB,EAAqB;AACjB,YAAIA,GAAGyR,KAAH,CAAS/e,IAAT,IAAiB,IAArB,EAA2B;AACvB,mBAAO,IAAP;AACH,SAFD,MAGK,IAAIsN,GAAGyR,KAAH,CAAS9e,IAAT,CAAcyE,GAAd,KAAsB,CAA1B,EAA6B;AAC9B,mBAAO,CAAC4I,GAAGyR,KAAH,CAAS9e,IAAT,CAAc2E,IAAd,CAAmB,CAAnB,CAAD,EAAwB0I,GAAGyR,KAAH,CAAS9e,IAAT,CAAc2E,IAAd,CAAmB,CAAnB,CAAxB,CAAP;AACH;AACD,cAAM,IAAI1G,KAAJ,CAAU,iEAAV,CAAN;AACH;AACD,QAAIC,EAAE+gB,OAAN,EAAe;AACX,YAAI/gB,EAAE4gB,KAAF,CAAQ/e,IAAR,IAAgB,IAApB,EAA0B;AACtB,mBAAO,EAAEkI,MAAM,IAAR,EAAchB,OAAO,IAArB,EAAP;AACH,SAFD,MAGK;AACD,gBAAI/I,EAAE4gB,KAAF,CAAQ9e,IAAR,CAAayE,GAAb,KAAqB,CAAzB,EAA4B;AACxBvG,kBAAE4gB,KAAF,GAAUD,iBAAiB3gB,EAAE4gB,KAAF,CAAQ/e,IAAzB,CAAV;AACA,uBAAO;AACHkI,0BAAM/J,EAAE4gB,KAAF,CAAQ/e,IAAR,IAAgB,IADnB;AAEHkH,2BAAOoE,QAAQnN,CAAR;AAFJ,iBAAP;AAIH,aAND,MAOK;AACD,sBAAM,IAAID,KAAJ,CAAU,kEAAV,CAAN;AACH;AACJ;AACJ,KAhBD,MAiBK;AACDC,UAAE+gB,OAAF,GAAY,IAAZ;AACA,eAAO;AACHhX,kBAAM/J,EAAE4gB,KAAF,CAAQ/e,IAAR,IAAgB,IADnB;AAEHkH,mBAAOoE,QAAQnN,CAAR;AAFJ,SAAP;AAIH;AACJ;;IACoBihB,Q;AACjB;AACA,wBAAc;AAAA;;AAAE;AAAS;;;;mCACd;AACP,mBAAO,UAAUrf,MAAMgF,IAAN,CAAW,IAAX,EAAiB3G,GAAjB,CAAqB,UAACf,CAAD;AAAA,uBAAO,+DAAAwG,CAASxG,CAAT,CAAP;AAAA,aAArB,EAAyCwH,IAAzC,CAA8C,IAA9C,CAAV,GAAgE,GAAvE;AACH;;;+BACMwa,E,EAAI;AACP,mBAAO,KAAKnZ,SAAL,CAAemZ,EAAf,MAAuB,CAA9B;AACH;;;kCACSA,E,EAAI;AAAA;;AACV,mBAAO,SAASA,EAAT,GAAc,CAAd,GAAkB,iEAAAC,CAAe,UAACC,IAAD,EAAOC,IAAP,EAAgB;AACpD,oBAAM7J,IAAI,MAAKkH,QAAL,CAAcC,OAAd,CAAsByC,KAAK,CAAL,CAAtB,EAA+BC,KAAK,CAAL,CAA/B,CAAV;AACA,uBAAO7J,MAAM,CAAN,GAAUA,CAAV,GAAc,8DAAA1P,CAAQsZ,KAAK,CAAL,CAAR,EAAiBC,KAAK,CAAL,CAAjB,CAArB;AACH,aAHwB,EAGtB,IAHsB,EAGhBH,EAHgB,CAAzB;AAIH;;aACAze,OAAOyC,Q;gCAAY;AAChB,gBAAMlF,IAAI8gB,gBAAgB,KAAKQ,IAArB,CAAV;AACA,mBAAO;AACHxX,sBAAM;AAAA,2BAAMkX,cAAchhB,CAAd,CAAN;AAAA;AADH,aAAP;AAGH;;;kCACS;AACN,mBAAO,KAAKyC,OAAOyC,QAAZ,GAAP;AACH;;;+BACM;AACH,mBAAO,yDAAA7D,CAAO,UAACic,EAAD;AAAA,uBAAQA,GAAG,CAAH,CAAR;AAAA,aAAP,EAAsB,IAAtB,CAAP;AACH;;;iCACQ;AACL,mBAAO,yDAAAjc,CAAO,UAACic,EAAD;AAAA,uBAAQA,GAAG,CAAH,CAAR;AAAA,aAAP,EAAsB,IAAtB,CAAP;AACH;;;4BACGhc,C,EAAG;AACH,mBAAOsd,UAAU,KAAKF,QAAf,EAAyBpd,CAAzB,EAA4B,KAAKggB,IAAjC,CAAP;AACH;;;4BACGhgB,C,EAAG;AACH,mBAAOwe,SAAS,KAAKpB,QAAd,EAAwBpd,CAAxB,EAA2B,KAAKggB,IAAhC,CAAP;AACH;AACD;;;;4BACIhgB,C,EAAGqF,C,EAAG;AACN,iBAAK2a,IAAL,GAAY7C,SAAS,KAAKC,QAAd,EAAwBpd,CAAxB,EAA2BqF,CAA3B,EAA8B,KAAK2a,IAAnC,CAAZ;AACH;AACD;;;;gCACOhgB,C,EAAG;AACN;AACA,gBAAMigB,UAAU7D,UAAU,KAAK4D,IAAf,CAAhB;AACA,iBAAKA,IAAL,GAAYzB,YAAY,KAAKnB,QAAjB,EAA2Bpd,CAA3B,EAA8B,KAAKggB,IAAnC,CAAZ;AACA,mBAAOC,UAAU7D,UAAU,KAAK4D,IAAf,CAAjB;AACH;AACD;;;;gCACQ;AACJ,iBAAKA,IAAL,GAAY3D,YAAZ;AACH;;aAIA,wDAAAnZ,CAAQhC,U;gCAAc;AACnB,mBAAO;AACH+G,sBAAM,wCADH;AAEHpE,4BAAY,CAAC,mBAAD,EAAsB,oBAAtB,EAA4C,wCAA5C;AAFT,aAAP;AAIH;;;4BARU;AACP,mBAAOuY,UAAU,KAAK4D,IAAf,CAAP;AACH;;;;;;0EArDgBL,Q;;AA6DrB,SAASra,IAAT,CAAc8X,QAAd,EAAwB4C,IAAxB,EAA8B;AAC1B,QAAMrhB,MAAM,IAAIghB,QAAJ,EAAZ;AACAhhB,QAAIqhB,IAAJ,GAAWA,IAAX;AACArhB,QAAIye,QAAJ,GAAeA,YAAY,IAAI,0DAAJ,EAA3B;AACA,WAAOze,GAAP;AACH;AACM,SAASid,MAAT,CAAgBwD,EAAhB,EAAoBhC,QAApB,EAA8B;AACjCA,eAAWA,YAAY,IAAI,0DAAJ,EAAvB;AACA,WAAO9X,KAAK8X,QAAL,EAAegC,KAAKD,WAAW/B,QAAX,EAAqBgC,EAArB,CAAL,GAAgC/C,YAA/C,CAAP;AACH;AACM,SAASP,GAAT,CAAa9b,CAAb,EAAgBqF,CAAhB,EAAmB1G,GAAnB,EAAwB;AAC3B,WAAO2G,KAAK3G,IAAIye,QAAT,EAAmBD,SAASxe,IAAIye,QAAb,EAAuBpd,CAAvB,EAA0BqF,CAA1B,EAA6B1G,IAAIqhB,IAAjC,CAAnB,CAAP;AACH;AACM,SAASrF,MAAT,CAAgB7K,IAAhB,EAAsBnR,GAAtB,EAA2B;AAC9B,WAAO2G,KAAK3G,IAAIye,QAAT,EAAmBmB,YAAY5f,IAAIye,QAAhB,EAA0BtN,IAA1B,EAAgCnR,IAAIqhB,IAApC,CAAnB,CAAP;AACH;AACM,SAASE,aAAT,CAAuB7a,CAAvB,EAA0B1G,GAA1B,EAA+B;AAClC,WAAO,0DAAAjB,CAAQ,UAACC,GAAD,EAAMqC,CAAN;AAAA,eAAYrC,OAAO,6DAAAmI,CAAOnH,IAAIsC,GAAJ,CAAQjB,CAAR,CAAP,EAAmBqF,CAAnB,CAAnB;AAAA,KAAR,EAAkD,KAAlD,EAAyD1G,IAAIqI,IAAJ,EAAzD,CAAP;AACH;AACM,SAASmZ,WAAT,CAAqBxhB,GAArB,EAA0BsI,GAA1B,EAA+B2L,YAA/B,EAA6C;AAChD,WAAOjU,IAAIyhB,GAAJ,CAAQnZ,GAAR,IAAe,CAAC,IAAD,EAAOtI,IAAIsC,GAAJ,CAAQgG,GAAR,CAAP,CAAf,GAAsC,CAAC,KAAD,EAAQ2L,YAAR,CAA7C;AACH;AACM,SAAS/D,MAAT,CAAgB9Q,CAAhB,EAAmBY,GAAnB,EAAwB;AAC3B,WAAOkgB,YAAY9gB,CAAZ,EAAeY,IAAIqhB,IAAnB,CAAP;AACH;AACM,SAASnN,IAAT,CAAc7S,CAAd,EAAiBrB,GAAjB,EAAsB;AACzB,WAAO2e,UAAU3e,IAAIye,QAAd,EAAwBpd,CAAxB,EAA2BrB,IAAIqhB,IAA/B,CAAP;AACH;AACM,SAAS1S,OAAT,CAAiBtN,CAAjB,EAAoBrB,GAApB,EAAyB;AAC5B,WAAO4e,aAAa5e,IAAIye,QAAjB,EAA2Bpd,CAA3B,EAA8BrB,IAAIqhB,IAAlC,CAAP;AACH;AACM,SAAS3hB,MAAT,CAAgBN,CAAhB,EAAmBY,GAAnB,EAAwB;AAC3B,WAAO2G,KAAK3G,IAAIye,QAAT,EAAmBgB,YAAYzf,IAAIye,QAAhB,EAA0Brf,CAA1B,EAA6BY,IAAIqhB,IAAjC,CAAnB,CAAP;AACH;AACM,SAAS7Q,IAAT,CAAcpR,CAAd,EAAiBmU,IAAjB,EAAuBvT,GAAvB,EAA4B;AAC/B,WAAOsgB,UAAUlhB,CAAV,EAAamU,IAAb,EAAmBvT,IAAIqhB,IAAvB,CAAP;AACH;AACM,SAAS1T,QAAT,CAAkBvO,CAAlB,EAAqBY,GAArB,EAA0BuT,IAA1B,EAAgC;AACnC,WAAO8M,cAAcjhB,CAAd,EAAiBY,IAAIqhB,IAArB,EAA2B9N,IAA3B,CAAP;AACH;AACM,SAASzC,MAAT,CAAgB1R,CAAhB,EAAmBY,GAAnB,EAAwB;AAC3B,WAAOmgB,YAAY/gB,CAAZ,EAAeY,IAAIqhB,IAAnB,CAAP;AACH;AACM,SAAS5P,OAAT,CAAiBzR,GAAjB,EAAsB;AACzB,WAAO6d,aAAa7d,IAAIqhB,IAAjB,CAAP;AACH;AACM,SAASjQ,OAAT,CAAiBhS,CAAjB,EAAoBY,GAApB,EAAyB;AAC5B+f,cAAU3gB,CAAV,EAAaY,IAAIqhB,IAAjB;AACH;AACM,SAASrhB,GAAT,CAAaZ,CAAb,EAAgBY,GAAhB,EAAqB;AACxB,WAAO2G,KAAK3G,IAAIye,QAAT,EAAmB2B,UAAUhhB,CAAV,EAAaY,IAAIqhB,IAAjB,CAAnB,CAAP;AACH;AACM,SAASlhB,SAAT,CAAmBf,CAAnB,EAAsBY,GAAtB,EAA2B;AAC9B,QAAM0hB,KAAKpC,eAAetf,IAAIye,QAAnB,EAA6Brf,CAA7B,EAAgCY,IAAIqhB,IAApC,CAAX;AACA,WAAO,CAAC1a,KAAK3G,IAAIye,QAAT,EAAmBiD,GAAG,CAAH,CAAnB,CAAD,EAA4B/a,KAAK3G,IAAIye,QAAT,EAAmBiD,GAAG,CAAH,CAAnB,CAA5B,CAAP;AACH;AACM,SAASC,OAAT,CAAiBviB,CAAjB,EAAoBY,GAApB,EAAyB;AAC5B,WAAO,0DAAA4hB,CAAQ,UAACvE,EAAD;AAAA,eAAQje,EAAEie,GAAG,CAAH,CAAF,EAASA,GAAG,CAAH,CAAT,IAAkB,IAAI,qDAAJ,CAASA,GAAG,CAAH,CAAT,CAAlB,GAAoC,IAA5C;AAAA,KAAR,EAA0Drd,GAA1D,CAAP;AACH;AACM,SAAS6hB,UAAT,CAAoBziB,CAApB,EAAuBY,GAAvB,EAA4B;AAC/B,WAAO,6DAAA8hB,CAAW,UAACzE,EAAD;AAAA,eAAQje,EAAEie,GAAG,CAAH,CAAF,EAASA,GAAG,CAAH,CAAT,IAAkB,IAAI,qDAAJ,CAASA,GAAG,CAAH,CAAT,CAAlB,GAAoC,IAA5C;AAAA,KAAX,EAA6Drd,GAA7D,CAAP;AACH;AACM,SAAS0U,IAAT,CAActV,CAAd,EAAiBY,GAAjB,EAAsB;AACzB,QAAMwI,MAAMiM,QAAQrV,CAAR,EAAWY,GAAX,CAAZ;AACA,QAAIwI,OAAO,IAAX,EAAiB;AACb,eAAO,iEAAAjJ,CAASiJ,GAAT,CAAP;AACH;AACD,UAAM,IAAI1I,KAAJ,CAAU,eAAV,CAAN;AACH;AACM,SAAS2U,OAAT,CAAiBrV,CAAjB,EAAoBY,GAApB,EAAyB;AAC5B,WAAOggB,aAAa5gB,CAAb,EAAgBY,IAAIqhB,IAApB,CAAP;AACH,C;;;;;;;;;;;;;;AIjmBD;AACA;;IACqBU,Q;AACjB,sBAAY3iB,CAAZ,EAAe;AAAA;;AACX,aAAKsf,OAAL,GAAetf,KAAK,sDAApB;AACH;;;aACA,wDAAAmF,CAAQhC,U;gCAAc;AACnB,mBAAO,EAAE2C,YAAY,CAAC,kBAAD,CAAd,EAAP;AACH;;;;;;yDANgB6c,Q;;AAQd,SAASC,oBAAT,CAA8BvD,QAA9B,EAAwC;AAC3C;AACA,QAAI,OAAOA,SAASC,OAAhB,KAA4B,UAAhC,EAA4C;AACxC,eAAO,IAAIqD,QAAJ,CAAatD,SAASC,OAAtB,CAAP;AACH,KAFD,MAGK;AACD,eAAO,IAAIqD,QAAJ,CAAa,UAAC9iB,CAAD,EAAIK,CAAJ,EAAU;AAC1B,gBAAM6I,QAAQsW,SAAS3X,WAAT,CAAqB7H,CAArB,CAAd;AACA,gBAAMmJ,QAAQqW,SAAS3X,WAAT,CAAqBxH,CAArB,CAAd;AACA,gBAAI6I,UAAUC,KAAd,EAAqB;AACjB,uBAAOqW,SAASrX,MAAT,CAAgBnI,CAAhB,EAAmBK,CAAnB,IAAwB,CAAxB,GAA4B,CAAC,CAApC;AACH,aAFD,MAGK;AACD,uBAAO6I,QAAQC,KAAR,GAAgB,CAAC,CAAjB,GAAqB,CAA5B;AACH;AACJ,SATM,CAAP;AAUH;AACJ,C;;;;;;;;;;;;;;AJ3BD;AACA;AACA;AACA;AACA;AACO,SAAStG,OAAT,CAAiBoT,IAAjB,EAAuB+M,IAAvB,EAA6B;AAChC,QAAIjjB,MAAMijB,QAAQ,IAAIC,IAAJ,EAAlB;AACA,SAAK,IAAIniB,IAAImV,KAAK3O,MAAL,GAAc,CAA3B,EAA8BxG,KAAK,CAAnC,EAAsCA,GAAtC,EAA2C;AACvCf,cAAM,IAAIkjB,IAAJ,CAAShN,KAAKnV,CAAL,CAAT,EAAkBf,GAAlB,CAAN;AACH;AACD,WAAOA,GAAP;AACH;;IACoBkjB,I;AACjB,kBAAYrgB,IAAZ,EAAkBD,IAAlB,EAAwB;AAAA;;AACpB,aAAKC,IAAL,GAAYA,IAAZ;AACA,aAAKD,IAAL,GAAYA,IAAZ;AACH;;;;mCACU;AACP,mBAAO,MAAMD,MAAMgF,IAAN,CAAW,IAAX,EAAiB3G,GAAjB,CAAqB,UAACf,CAAD;AAAA,uBAAO,+DAAAwG,CAASxG,CAAT,CAAP;AAAA,aAArB,EAAyCwH,IAAzC,CAA8C,IAA9C,CAAN,GAA4D,GAAnE;AACH;;;+BACMxH,C,EAAG;AACN;AACA,gBAAI,SAASA,CAAb,EAAgB;AACZ,uBAAO,IAAP;AACH,aAFD,MAGK;AACD,oBAAMqR,QAAQ,KAAK9N,OAAOyC,QAAZ,GAAd;AACA,oBAAMsL,QAAQtR,EAAEuD,OAAOyC,QAAT,GAAd;AACA,uBAAO,IAAP,EAAa;AACT,wBAAMmL,OAAOE,MAAMzG,IAAN,EAAb;AACA,wBAAMwG,OAAOE,MAAM1G,IAAN,EAAb;AACA,wBAAIuG,KAAKtG,IAAT,EAAe;AACX,+BAAOuG,KAAKvG,IAAL,GAAY,IAAZ,GAAmB,KAA1B;AACH,qBAFD,MAGK,IAAIuG,KAAKvG,IAAT,EAAe;AAChB,+BAAO,KAAP;AACH,qBAFI,MAGA,IAAI,CAAC,6DAAA3C,CAAOiJ,KAAKtH,KAAZ,EAAmBuH,KAAKvH,KAAxB,CAAL,EAAqC;AACtC,+BAAO,KAAP;AACH;AACJ;AACJ;AACJ;;;kCACS7J,C,EAAG;AACT;AACA,gBAAI,SAASA,CAAb,EAAgB;AACZ,uBAAO,CAAP;AACH,aAFD,MAGK;AACD,oBAAID,MAAM,CAAV;AACA,oBAAMsR,QAAQ,KAAK9N,OAAOyC,QAAZ,GAAd;AACA,oBAAMsL,QAAQtR,EAAEuD,OAAOyC,QAAT,GAAd;AACA,uBAAO,IAAP,EAAa;AACT,wBAAMmL,OAAOE,MAAMzG,IAAN,EAAb;AACA,wBAAMwG,OAAOE,MAAM1G,IAAN,EAAb;AACA,wBAAIuG,KAAKtG,IAAT,EAAe;AACX,+BAAOuG,KAAKvG,IAAL,GAAY9K,GAAZ,GAAkB,CAAC,CAA1B;AACH,qBAFD,MAGK,IAAIqR,KAAKvG,IAAT,EAAe;AAChB,+BAAO,CAAP;AACH,qBAFI,MAGA;AACD9K,8BAAM,8DAAA6I,CAAQuI,KAAKtH,KAAb,EAAoBuH,KAAKvH,KAAzB,CAAN;AACA,4BAAI9J,QAAQ,CAAZ,EAAe;AACX,mCAAOA,GAAP;AACH;AACJ;AACJ;AACJ;AACJ;;aAUAwD,OAAOyC,Q;gCAAY;AAChB,gBAAI2E,MAAM,IAAV;AACA,mBAAO;AACHC,sBAAM,gBAAM;AACR,wBAAMsY,MAAMvY,GAAZ;AACAA,0BAAMA,IAAIhI,IAAV;AACA,2BAAO,EAAEkI,MAAMqY,IAAIvgB,IAAJ,IAAY,IAApB,EAA0BkH,OAAOqZ,IAAItgB,IAArC,EAAP;AACH;AALE,aAAP;AAOH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;aACC,wDAAA0C,CAAQhC,U;gCAAc;AACnB,mBAAO;AACH+G,sBAAM,yCADH;AAEHpE,4BAAY,CAAC,mBAAD,EAAsB,oBAAtB;AAFT,aAAP;AAIH;;;4BAtDY;AACT,gBAAI0E,MAAM,IAAV;AACA,gBAAI5K,MAAM,CAAV;AACA,mBAAO4K,IAAIhI,IAAJ,IAAY,IAAnB,EAAyB;AACrBgI,sBAAMA,IAAIhI,IAAV;AACA5C;AACH;AACD,mBAAOA,GAAP;AACH;;;;;;yDAlEgBkjB,I;;;;;;;;;;;;;;;;;;;;;;AKZrB,IAAaE,sBAAb;AAAA;;AACI,sCAAc;AAAA;;AAAA,oJACJ,4BADI;;AAEVhe,eAAOie,cAAP,QAA4BD,uBAAuB9d,SAAnD;AAFU;AAGb;;AAJL;AAAA,EAA4CxE,KAA5C;AAMA,IAAawiB,UAAb;AAAA;AAAA;AAAA,4BACwC;AAChC,mBAAO,IAAP;AACH;AAHL;;AAII,0BAAc;AAAA;;AACV,aAAKC,SAAL,GAAiB,CAAjB;AACH;;AANL;AAAA;AAAA,4CAOwB;AAChB,mBAAO,KAAKA,SAAL,KAAmBD,WAAWE,sBAArC;AACH;AATL;AAAA;AAAA,+BAUWpjB,CAVX,EAUc;AACN,iBAAKmjB,SAAL,GAAiB,CAAjB;AACAE,uBAAWrjB,CAAX,EAAc,CAAd;AACH;AAbL;;AAAA;AAAA;AAeO,SAASsjB,aAAT,CAAuBtjB,CAAvB,EAA0B;AAC7B,WAAO,UAACujB,GAAD,EAAS;AACZ,YAAIA,IAAIC,WAAJ,CAAgBC,WAApB,EAAiC;AAC7BF,gBAAIG,QAAJ,CAAa,IAAIV,sBAAJ,EAAb;AACH,SAFD,MAGK,IAAIO,IAAII,UAAJ,CAAeC,iBAAf,EAAJ,EAAwC;AACzCL,gBAAII,UAAJ,CAAeE,MAAf,CAAsB,YAAM;AACxB,oBAAI;AACA7jB,sBAAEujB,GAAF;AACH,iBAFD,CAGA,OAAO/b,GAAP,EAAY;AACR+b,wBAAIO,OAAJ,CAAYtc,GAAZ;AACH;AACJ,aAPD;AAQH,SATI,MAUA;AACD,gBAAI;AACAxH,kBAAEujB,GAAF;AACH,aAFD,CAGA,OAAO/b,GAAP,EAAY;AACR+b,oBAAIO,OAAJ,CAAYtc,GAAZ;AACH;AACJ;AACJ,KAtBD;AAuBH;AACM,SAASuc,aAAT,CAAuBC,WAAvB,EAAoCC,MAApC,EAA4C;AAC/C,WAAOX,cAAc,UAACC,GAAD,EAAS;AAC1BS,oBAAY;AACRE,uBAAW,mBAACrkB,CAAD,EAAO;AACd,oBAAI;AACAokB,2BAAOpkB,CAAP,EAAU0jB,GAAV;AACH,iBAFD,CAGA,OAAOY,EAAP,EAAW;AACPZ,wBAAIO,OAAJ,CAAYK,EAAZ;AACH;AACJ,aARO;AASRL,qBAASP,IAAIO,OATL;AAURJ,sBAAUH,IAAIG,QAVN;AAWRF,yBAAaD,IAAIC,WAXT;AAYRG,wBAAYJ,IAAII;AAZR,SAAZ;AAcH,KAfM,CAAP;AAgBH;AACM,SAASS,eAAT,CAAyB1a,KAAzB,EAAgC;AACnC,WAAO4Z,cAAc,UAACC,GAAD;AAAA,eAASA,IAAIW,SAAJ,CAAcxa,KAAd,CAAT;AAAA,KAAd,CAAP;AACH;AACD,IAAa2a,YAAb;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA,6BACSL,WADT,EACsBC,MADtB,EAC8B;AACtB,mBAAOF,cAAcC,WAAd,EAA2BC,MAA3B,CAAP;AACH;AAHL;AAAA;AAAA,gCAIYK,YAJZ,EAI0BC,YAJ1B,EAIwC;AAChC,mBAAO,KAAKC,IAAL,CAAUF,YAAV,EAAwB;AAAA,uBAAMC,YAAN;AAAA,aAAxB,CAAP;AACH;AANL;AAAA;AAAA,8BAOUE,SAPV,EAOqB;AACb,mBAAOnB,cAAc,UAACC,GAAD;AAAA,uBAASkB,YAAYlB,GAAZ,CAAT;AAAA,aAAd,CAAP;AACH;AATL;AAAA;AAAA,4BAUQmB,QAVR,EAUkBC,IAVlB,EAUwB;AAChB,gBAAMpa,OAAOma,SAASthB,OAAOyC,QAAhB,GAAb;AACA,gBAAI2E,MAAMD,KAAKE,IAAL,EAAV;AACA,mBAAO,KAAKma,KAAL,CAAW;AAAA,uBAAM,CAACpa,IAAIE,IAAX;AAAA,aAAX,EAA4B,KAAKma,KAAL,CAAW,YAAM;AAChD,oBAAMzb,MAAMub,KAAKna,IAAId,KAAT,CAAZ;AACAc,sBAAMD,KAAKE,IAAL,EAAN;AACA,uBAAOrB,GAAP;AACH,aAJkC,CAA5B,CAAP;AAKH;AAlBL;AAAA;AAAA,+BAmBWM,KAnBX,EAmBkB;AACV,mBAAO0a,gBAAgB1a,KAAhB,CAAP;AACH;AArBL;AAAA;AAAA,mCAsBesa,WAtBf,EAsB4B;AACpB,mBAAOA,WAAP;AACH;AAxBL;AAAA;AAAA,mCAyBeA,WAzBf,EAyB4Bc,YAzB5B,EAyB0C;AAClC,mBAAOxB,cAAc,UAACC,GAAD,EAAS;AAC1BS,4BAAY;AACRE,+BAAW,mBAACrkB,CAAD,EAAO;AACdilB;AACAvB,4BAAIW,SAAJ,CAAcrkB,CAAd;AACH,qBAJO;AAKRikB,6BAAS,iBAACjkB,CAAD,EAAO;AACZilB;AACAvB,4BAAIO,OAAJ,CAAYjkB,CAAZ;AACH,qBARO;AASR6jB,8BAAU,kBAAC7jB,CAAD,EAAO;AACbilB;AACAvB,4BAAIG,QAAJ,CAAa7jB,CAAb;AACH,qBAZO;AAaR2jB,iCAAaD,IAAIC,WAbT;AAcRG,gCAAYJ,IAAII;AAdR,iBAAZ;AAgBH,aAjBM,CAAP;AAkBH;AA5CL;AAAA;AAAA,gCA6CYK,WA7CZ,EA6CyBe,YA7CzB,EA6CuC;AAC/B,mBAAOzB,cAAc,UAACC,GAAD,EAAS;AAC1BS,4BAAY;AACRE,+BAAWX,IAAIW,SADP;AAERR,8BAAUH,IAAIG,QAFN;AAGRF,iCAAaD,IAAIC,WAHT;AAIRG,gCAAYJ,IAAII,UAJR;AAKRG,6BAAS,iBAACK,EAAD,EAAQ;AACb,4BAAI;AACAY,yCAAaZ,EAAb,EAAiBZ,GAAjB;AACH,yBAFD,CAGA,OAAOyB,GAAP,EAAY;AACRzB,gCAAIO,OAAJ,CAAYkB,GAAZ;AACH;AACJ;AAZO,iBAAZ;AAcH,aAfM,CAAP;AAgBH;AA9DL;AAAA;AAAA,8BA+DUC,QA/DV,EA+DoBhB,MA/DpB,EA+D4B;AACpB,mBAAO,KAAKiB,UAAL,CAAgBjB,OAAOgB,QAAP,CAAhB,EAAkC;AAAA,uBAAMA,SAASzb,OAAT,EAAN;AAAA,aAAlC,CAAP;AACH;AAjEL;AAAA;AAAA,8BAkEU2b,KAlEV,EAkEiBnB,WAlEjB,EAkE8B;AAAA;;AACtB,gBAAImB,OAAJ,EAAa;AACT,uBAAO,KAAKX,IAAL,CAAUR,WAAV,EAAuB;AAAA,2BAAM,OAAKY,KAAL,CAAWO,KAAX,EAAkBnB,WAAlB,CAAN;AAAA,iBAAvB,CAAP;AACH,aAFD,MAGK;AACD,uBAAO,KAAKoB,MAAL,CAAY,KAAK,CAAjB,CAAP;AACH;AACJ;AAzEL;AAAA;AAAA,+BA0EW;AACH,mBAAO9B,cAAc,UAACC,GAAD;AAAA,uBAASA,IAAIW,SAAJ,CAAc,KAAK,CAAnB,CAAT;AAAA,aAAd,CAAP;AACH;AA5EL;;AAAA;AAAA;AA8EO,IAAM/iB,YAAY,IAAIkjB,YAAJ,EAAlB,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtIH,kBAOK,wGANL,kLAMK,yNAPL;AASC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAGW,yIAGR;AAAyB;AAAA;AAAA,0CAGrB;AAAA,6CAAW,eAAX,EAGA;AAAA,0IAAQ,gHAAR;AAGA,uDAAQ,aAAR;AAAsB,yBANtB;AAAA,qBAHqB;AAAA;AAAK,aAAL;;AAazB;AAAc,SAhBN;AAHL;;AAAN;AAAA;AAAA,mDAsBuB;AAAA;;AAAA,+BAEhB;AAAwF;AAAA;AAAA;AAAA;AAAU,qBAAV;AAAU,iBAAV,GAAxF,4GAAQ,6HAAR,SAAiC;AAAA;AAAA;AAA4C,iBAA5C,EAAjC;AAAkG,aAFlF,MAIhB;AAAiF;AAAA;AAAA;AAAA;AAAU,qBAAV;AAAU,iBAAV,GAAjF,4GAAQ,wHAAR,SAA4B;AAAA;AAAA;AAA4C,iBAA5C,EAA5B;AAA2F;AAAA;AA1BlG;AAAA;AAAA,uCA6BG;AAAA,gBAAG,kBAAH,EACI;AAAQ;AAAR;AAA6B;AAC1B;AA/BV;AAAA;AAAA,4BAkCe;AAAA;;AAAA;AAAA;AAAG,aAAH;AAAG;AAlClB;AAAA;AAAA,4BAmCiB;AAAA;;AAAA;AAAA;AAAkB,aAAlB;AAAkB;AAnCnC;AAAA;AAAA,4BAoCgB;AAAA;;AAAA;AAAA;AAAiB,aAAjB;AAAiB;AApCjC;AAAA;AAAA,4BAqCgB;AAAA;;AAAA;AAAA;AAAoB,aAApB;AAAoB;AArCpC;AAAA;AAAA,4BAsCiB;AAAA;;AAAA;AAAA;AAAkB,aAAlB;AAAkB;AAtCnC;AAAA;AAAA,4BAuCiB;AAAA;;AAAA;AAAA;AAAkB,aAAlB;AAAkB;AAvCnC;;AAAA;AAAA;;AA0CD;AAAK,wIAAL;AAAA;AACC;AAGD;AAAK,wIAAL;AAAA;AACC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ANnEE,IAAMgB,cAAc,8BAApB;AACA,SAASC,YAAT,CAAsB3kB,CAAtB,EAAyBwG,MAAzB,EAAiC;AACpC,QAAI2Q,MAAMnX,EAAE0F,QAAF,CAAW,EAAX,CAAV;AACA,WAAOyR,IAAI3Q,MAAJ,GAAaA,MAApB,EAA4B;AACxB2Q,cAAM,MAAMA,GAAZ;AACH;AACD,WAAOA,GAAP;AACH;AACM,SAASyN,cAAT,CAAwBC,MAAxB,EAAgC;AACnC,QAAMC,UAAUD,SAAS,CAAzB;AACAA,aAAS1Z,KAAKuM,GAAL,CAASmN,MAAT,CAAT;AACA,QAAME,QAAQ,CAAC,EAAEF,SAAS,OAAX,CAAf;AACA,QAAMG,UAAWH,SAAS,OAAV,GAAqB,KAArC;AACA,WAAO,CAACC,UAAU,GAAV,GAAgB,GAAjB,IACHH,aAAaI,KAAb,EAAoB,CAApB,CADG,GACsB,GADtB,GAEHJ,aAAaK,OAAb,EAAsB,CAAtB,CAFJ;AAGH;AACM,SAASC,eAAT,CAAyBC,IAAzB,EAA+BC,IAA/B,EAAqC;AACxC,QAAMhO,MAAM+N,KAAKE,WAAL,EAAZ;AACA,WAAOD,SAAS,OAAT,GACDhO,IAAIyC,SAAJ,CAAc,CAAd,EAAiBzC,IAAI/R,OAAJ,CAAY,GAAZ,CAAjB,CADC,GAED+R,IAAIyC,SAAJ,CAAczC,IAAI/R,OAAJ,CAAY,GAAZ,IAAmB,CAAjC,EAAoC+R,IAAI3Q,MAAJ,GAAa,CAAjD,CAFN;AAGH;AACD,SAAS4e,WAAT,CAAqBC,CAArB,EAAwBC,GAAxB,EAA6B;AACzB,QAAIA,GAAJ,EAAS;AACL,eAAOD,EAAED,WAAF,EAAP;AACH,KAFD,MAGK;AACD;AACA,YAAMG,cAAcF,EAAE1iB,IAAF,IAAU,IAAV,GAAiB,IAAjB,GAAwB0iB,EAAE1iB,IAAF,KAAW,CAAvD,CAAyD,WAAzD;AACA,eAAOgiB,aAAaU,EAAEG,WAAF,EAAb,EAA8B,CAA9B,IAAmC,GAAnC,GACHb,aAAaU,EAAEI,QAAF,KAAe,CAA5B,EAA+B,CAA/B,CADG,GACiC,GADjC,GAEHd,aAAaU,EAAEK,OAAF,EAAb,EAA0B,CAA1B,CAFG,GAE4B,GAF5B,GAGHf,aAAaU,EAAEM,QAAF,EAAb,EAA2B,CAA3B,CAHG,GAG6B,GAH7B,GAIHhB,aAAaU,EAAEO,UAAF,EAAb,EAA6B,CAA7B,CAJG,GAI+B,GAJ/B,GAKHjB,aAAaU,EAAEQ,UAAF,EAAb,EAA6B,CAA7B,CALG,GAK+B,GAL/B,GAMHlB,aAAaU,EAAES,eAAF,EAAb,EAAkC,CAAlC,CANG,IAOFP,cAAcX,eAAeS,EAAEU,iBAAF,KAAwB,CAAC,KAAxC,CAAd,GAA+D,EAP7D,CAAP;AAQH;AACJ;AACD,SAASC,qBAAT,CAA+BC,cAA/B,EAA+CpB,MAA/C,EAAuD;AACnD,QAAM1N,MAAM8O,eAAeb,WAAf,EAAZ;AACA,WAAOjO,IAAIyC,SAAJ,CAAc,CAAd,EAAiBzC,IAAI3Q,MAAJ,GAAa,CAA9B,IAAmCoe,eAAeC,MAAf,CAA1C;AACH;AACD,SAASqB,wBAAT,CAAkChB,IAAlC,EAAwCvM,MAAxC,EAAgD2M,GAAhD,EAAqD;AACjD,WAAO3M,OAAOjM,OAAP,CAAe,UAAf,EAA2B,UAAC+M,KAAD,EAAW;AACzC,YAAInB,MAAMmB,KAAV;AACA,gBAAQA,MAAMG,SAAN,CAAgB,CAAhB,EAAmB,CAAnB,CAAR;AACI,iBAAK,GAAL;AACI,oBAAMra,IAAI+lB,MAAMJ,KAAKiB,cAAL,EAAN,GAA8BjB,KAAKM,WAAL,EAAxC;AACAlN,sBAAMmB,MAAMjT,MAAN,GAAe,CAAf,GAAmBjH,IAAI,GAAvB,GAA6BA,CAAnC;AACA;AACJ,iBAAK,GAAL;AACI+Y,sBAAM,CAACgN,MAAMJ,KAAKkB,WAAL,EAAN,GAA2BlB,KAAKO,QAAL,EAA5B,IAA+C,CAArD;AACA;AACJ,iBAAK,GAAL;AACInN,sBAAMgN,MAAMJ,KAAKmB,UAAL,EAAN,GAA0BnB,KAAKQ,OAAL,EAAhC;AACA;AACJ,iBAAK,GAAL;AACIpN,sBAAMgN,MAAMJ,KAAKoB,WAAL,EAAN,GAA2BpB,KAAKS,QAAL,EAAjC;AACA;AACJ,iBAAK,GAAL;AACI,oBAAM1e,IAAIqe,MAAMJ,KAAKoB,WAAL,EAAN,GAA2BpB,KAAKS,QAAL,EAArC;AACArN,sBAAMrR,IAAI,EAAJ,GAASA,IAAI,EAAb,GAAkBA,CAAxB;AACA;AACJ,iBAAK,GAAL;AACIqR,sBAAMgN,MAAMJ,KAAKqB,aAAL,EAAN,GAA6BrB,KAAKU,UAAL,EAAnC;AACA;AACJ,iBAAK,GAAL;AACItN,sBAAMgN,MAAMJ,KAAKsB,aAAL,EAAN,GAA6BtB,KAAKW,UAAL,EAAnC;AACA;AAvBR;AAyBA,YAAIvN,QAAQmB,KAAR,IAAiBnB,MAAM,EAAvB,IAA6BmB,MAAMjT,MAAN,GAAe,CAAhD,EAAmD;AAC/C8R,kBAAM,MAAMA,GAAZ;AACH;AACD,eAAOA,GAAP;AACH,KA/BM,CAAP;AAgCH;AACM,SAASmO,kBAAT,CAA4BvB,IAA5B,EAAkCvM,MAAlC,EAA0C;AAC7C,QAAM0M,IAAI,IAAInf,IAAJ,CAASgf,KAAKtd,OAAL,KAAiBsd,KAAKL,MAA/B,CAAV;AACA,QAAI,CAAClM,MAAL,EAAa;AACT,eAAO0M,EAAED,WAAF,GAAgB1Y,OAAhB,CAAwB,OAAxB,EAAiC,EAAjC,EAAqCA,OAArC,CAA6C,cAA7C,EAA6D,GAA7D,IAAoEkY,eAAeM,KAAKL,MAApB,CAA3E;AACH,KAFD,MAGK,IAAIlM,OAAOnS,MAAP,KAAkB,CAAtB,EAAyB;AAC1B,gBAAQmS,MAAR;AACI,iBAAK,GAAL;AACA,iBAAK,GAAL;AAAU,uBAAOsM,gBAAgBI,CAAhB,EAAmB,OAAnB,CAAP;AACV,iBAAK,GAAL;AACA,iBAAK,GAAL;AAAU,uBAAOJ,gBAAgBI,CAAhB,EAAmB,QAAnB,CAAP;AACV,iBAAK,GAAL;AACA,iBAAK,GAAL;AAAU,uBAAOW,sBAAsBX,CAAtB,EAAyBH,KAAKL,MAA9B,CAAP;AACV;AAAS,sBAAM,IAAI9kB,KAAJ,CAAU,gCAAV,CAAN;AAPb;AASH,KAVI,MAWA;AACD,eAAOmmB,yBAAyBb,CAAzB,EAA4B1M,MAA5B,EAAoC,IAApC,CAAP;AACH;AACJ;AACM,SAAS+N,gBAAT,CAA0BxB,IAA1B,EAAgCvM,MAAhC,EAAwC;AAC3C,QAAM2M,MAAMJ,KAAKviB,IAAL,KAAc,CAA1B,CAA4B,SAA5B;AACA,QAAI,CAACgW,MAAL,EAAa;AACT,eAAO2M,MAAMJ,KAAKyB,WAAL,EAAN,GAA2BzB,KAAK0B,cAAL,EAAlC;AACH,KAFD,MAGK,IAAIjO,OAAOnS,MAAP,KAAkB,CAAtB,EAAyB;AAC1B,gBAAQmS,MAAR;AACI,iBAAK,GAAL;AACA,iBAAK,GAAL;AACI,uBAAO2M,MAAML,gBAAgBC,IAAhB,EAAsB,OAAtB,CAAN,GAAuCA,KAAK2B,kBAAL,EAA9C;AACJ,iBAAK,GAAL;AACA,iBAAK,GAAL;AACI,uBAAOvB,MAAML,gBAAgBC,IAAhB,EAAsB,QAAtB,CAAN,GAAwCA,KAAK4B,kBAAL,EAA/C;AACJ,iBAAK,GAAL;AACA,iBAAK,GAAL;AACI,uBAAO1B,YAAYF,IAAZ,EAAkBI,GAAlB,CAAP;AACJ;AACI,sBAAM,IAAIvlB,KAAJ,CAAU,gCAAV,CAAN;AAXR;AAaH,KAdI,MAeA;AACD,eAAOmmB,yBAAyBhB,IAAzB,EAA+BvM,MAA/B,EAAuC2M,GAAvC,CAAP;AACH;AACJ;AACM,SAAS5f,QAAT,CAAkBwf,IAAlB,EAAwBvM,MAAxB,EAAgC;AACnC,WAAOuM,KAAKL,MAAL,IAAe,IAAf,GACD4B,mBAAmBvB,IAAnB,EAAyBvM,MAAzB,CADC,GAED+N,iBAAiBxB,IAAjB,EAAuBvM,MAAvB,CAFN;AAGH;AACc,SAASoO,QAAT,CAAkBhe,KAAlB,EAAyBpG,IAAzB,EAA+B;AAC1CA,WAAOA,QAAQ,IAAR,GAAe,CAAf,CAAiB,iBAAjB,GAAqCA,IAA5C;AACA,QAAM0iB,IAAI,IAAInf,IAAJ,CAAS6C,KAAT,CAAV;AACAsc,MAAE1iB,IAAF,GAASA,OAAO,CAAhB;AACA,WAAO0iB,CAAP;AACH;AACM,SAAS2B,QAAT,GAAoB;AACvB;AACA,WAAOD,SAAS,CAAC,cAAV,EAA0B,CAA1B,CAA4B,iBAA5B,CAAP;AACH;AACM,SAASE,QAAT,GAAoB;AACvB;AACA,WAAOF,SAAS,eAAT,EAA0B,CAA1B,CAA4B,iBAA5B,CAAP;AACH;AACM,SAASG,QAAT,CAAkB/P,GAAlB,EAAuB;AAC1B,QAAI+N,OAAO,IAAIhf,IAAJ,CAASiR,GAAT,CAAX;AACA,QAAI8B,MAAMiM,KAAKtd,OAAL,EAAN,CAAJ,EAA2B;AACvB;AACA,YAAI,8EAA8E4R,IAA9E,CAAmFrC,GAAnF,CAAJ,EAA6F;AACzF,gBAAMkO,IAAI,IAAInf,IAAJ,EAAV;AACAgf,mBAAO,IAAIhf,IAAJ,CAASmf,EAAEG,WAAF,KAAkB,GAAlB,IAAyBH,EAAEI,QAAF,KAAe,CAAxC,IAA6C,GAA7C,GAAmDJ,EAAEK,OAAF,EAAnD,GAAiE,GAAjE,GAAuEvO,GAAhF,CAAP;AACH,SAHD,MAIK;AACD,kBAAM,IAAIpX,KAAJ,CAAU,iCAAV,CAAN;AACH;AACJ;AACD,WAAOmlB,IAAP;AACH;AACM,SAAS3Y,KAAT,CAAe4K,GAAf,EAAuC;AAAA,QAAnBgQ,SAAmB,uEAAP,KAAO;;AAC1C,QAAMjC,OAAOgC,SAAS/P,GAAT,CAAb;AACA,QAAM0N,SAASH,YAAYpY,IAAZ,CAAiB6K,GAAjB,CAAf;AACA;AACA;AACA,QAAMxU,OAAOkiB,UAAU,IAAV,GACNsC,aAAatC,OAAO,CAAP,MAAc,GAA3B,GAAiC,CAAjC,CAAmC,SAAnC,GAA+C,CADzC,CAC2C,WAD3C,GAEP,CAFN,CAEQ,iBAFR;AAGA,WAAOkC,SAAS7B,KAAKtd,OAAL,EAAT,EAAyBjF,IAAzB,CAAP;AACH;AACM,SAASsJ,QAAT,CAAkBtF,CAAlB,EAAqB;AACxB,QAAI;AACA,eAAO,CAAC,IAAD,EAAO4F,MAAM5F,CAAN,CAAP,CAAP;AACH,KAFD,CAGA,OAAOygB,IAAP,EAAa;AACT,eAAO,CAAC,KAAD,EAAQJ,UAAR,CAAP;AACH;AACJ;AACM,SAASnC,MAAT,CAAgBK,IAAhB,EAAsB;AACzB,QAAMmC,QAAQnC,IAAd;AACA,WAAO,OAAOmC,MAAMxC,MAAb,KAAwB,QAAxB,GACDwC,MAAMxC,MADL,GAEAK,KAAKviB,IAAL,KAAc,CAAd,CAAgB;AAAhB,MACG,CADH,GACOuiB,KAAKa,iBAAL,KAA2B,CAAC,KAH1C;AAIH;AACM,SAAS7I,MAAT,CAAgBoK,IAAhB,EAAsBC,KAAtB,EAA6BC,GAA7B,EAAqE;AAAA,QAAnCvgB,CAAmC,uEAA/B,CAA+B;AAAA,QAA5BiE,CAA4B,uEAAxB,CAAwB;AAAA,QAArBlE,CAAqB,uEAAjB,CAAiB;AAAA,QAAdygB,EAAc,uEAAT,CAAS;AAAA,QAAN9kB,IAAM;;AACxE,QAAM+kB,YAAY/kB,SAAS,CAAT,CAAW;AAAX,MACZuD,KAAKyhB,GAAL,CAASL,IAAT,EAAeC,QAAQ,CAAvB,EAA0BC,GAA1B,EAA+BvgB,CAA/B,EAAkCiE,CAAlC,EAAqClE,CAArC,EAAwCygB,EAAxC,CADY,GAEZ,IAAIvhB,IAAJ,CAASohB,IAAT,EAAeC,QAAQ,CAAvB,EAA0BC,GAA1B,EAA+BvgB,CAA/B,EAAkCiE,CAAlC,EAAqClE,CAArC,EAAwCygB,EAAxC,EAA4C7f,OAA5C,EAFN;AAGA,QAAIqR,MAAMyO,SAAN,CAAJ,EAAsB;AAClB,cAAM,IAAI3nB,KAAJ,CAAU,kDAAV,CAAN;AACH;AACD,QAAMmlB,OAAO6B,SAASW,SAAT,EAAoB/kB,IAApB,CAAb;AACA,QAAI2kB,QAAQ,EAAZ,EAAgB;AACZpC,aAAK0C,WAAL,CAAiBN,IAAjB,EAAuBC,QAAQ,CAA/B,EAAkCC,GAAlC;AACH;AACD,WAAOtC,IAAP;AACH;AACM,SAAS2C,GAAT,GAAe;AAClB,WAAOd,SAAS7gB,KAAK2hB,GAAL,EAAT,EAAqB,CAArB,CAAuB,WAAvB,CAAP;AACH;AACM,SAASC,MAAT,GAAkB;AACrB,WAAOf,SAAS7gB,KAAK2hB,GAAL,EAAT,EAAqB,CAArB,CAAuB,SAAvB,CAAP;AACH;AACM,SAASE,KAAT,GAAiB;AACpB,WAAO7C,KAAK2C,KAAL,CAAP;AACH;AACM,SAASG,UAAT,CAAoBV,IAApB,EAA0B;AAC7B,WAAOA,OAAO,CAAP,KAAa,CAAb,IAAkBA,OAAO,GAAP,KAAe,CAAjC,IAAsCA,OAAO,GAAP,KAAe,CAA5D;AACH;AACM,SAASW,WAAT,CAAqBX,IAArB,EAA2BC,KAA3B,EAAkC;AACrC,WAAOA,UAAU,CAAV,GACAS,WAAWV,IAAX,IAAmB,EAAnB,GAAwB,EADxB,GAEAC,SAAS,CAAT,GAAcA,QAAQ,CAAR,KAAc,CAAd,GAAkB,EAAlB,GAAuB,EAArC,GAA4CA,QAAQ,CAAR,KAAc,CAAd,GAAkB,EAAlB,GAAuB,EAF1E;AAGH;AACM,SAASW,eAAT,CAAyBhD,IAAzB,EAA+B;AAClC,WAAOA,KAAKviB,IAAL,KAAc,CAAd,CAAgB,SAAhB,GAA4BuiB,IAA5B,GAAmC6B,SAAS7B,KAAKtd,OAAL,EAAT,EAAyB,CAAzB,CAA2B,SAA3B,CAA1C;AACH;AACM,SAASugB,WAAT,CAAqBjD,IAArB,EAA2B;AAC9B,WAAOA,KAAKviB,IAAL,KAAc,CAAd,CAAgB,WAAhB,GAA8BuiB,IAA9B,GAAqC6B,SAAS7B,KAAKtd,OAAL,EAAT,EAAyB,CAAzB,CAA2B,WAA3B,CAA5C;AACH;AACM,SAASwgB,SAAT,CAAmB/C,CAAnB,EAAsB;AACzB,WAAOgD,KAAKhD,CAAL,IAAU,OAAV,GACDiD,OAAOjD,CAAP,IAAY,KADX,GAEDkD,OAAOlD,CAAP,IAAY,IAFX,GAGDmD,YAAYnD,CAAZ,CAHN;AAIH;AACM,SAASH,IAAT,CAAcG,CAAd,EAAiB;AACpB,WAAOnI,OAAOoK,KAAKjC,CAAL,CAAP,EAAgBkC,MAAMlC,CAAN,CAAhB,EAA0BmC,IAAInC,CAAJ,CAA1B,EAAkC,CAAlC,EAAqC,CAArC,EAAwC,CAAxC,EAA2C,CAA3C,EAA8CA,EAAE1iB,IAAhD,CAAP;AACH;AACM,SAAS6kB,GAAT,CAAanC,CAAb,EAAgB;AACnB,WAAOA,EAAE1iB,IAAF,KAAW,CAAX,CAAa,SAAb,GAAyB0iB,EAAEgB,UAAF,EAAzB,GAA0ChB,EAAEK,OAAF,EAAjD;AACH;AACM,SAAS2C,IAAT,CAAchD,CAAd,EAAiB;AACpB,WAAOA,EAAE1iB,IAAF,KAAW,CAAX,CAAa,SAAb,GAAyB0iB,EAAEiB,WAAF,EAAzB,GAA2CjB,EAAEM,QAAF,EAAlD;AACH;AACM,SAAS6C,WAAT,CAAqBnD,CAArB,EAAwB;AAC3B,WAAOA,EAAE1iB,IAAF,KAAW,CAAX,CAAa,SAAb,GAAyB0iB,EAAEoD,kBAAF,EAAzB,GAAkDpD,EAAES,eAAF,EAAzD;AACH;AACM,SAASwC,MAAT,CAAgBjD,CAAhB,EAAmB;AACtB,WAAOA,EAAE1iB,IAAF,KAAW,CAAX,CAAa,SAAb,GAAyB0iB,EAAEkB,aAAF,EAAzB,GAA6ClB,EAAEO,UAAF,EAApD;AACH;AACM,SAAS2B,KAAT,CAAelC,CAAf,EAAkB;AACrB,WAAO,CAACA,EAAE1iB,IAAF,KAAW,CAAX,CAAa,SAAb,GAAyB0iB,EAAEe,WAAF,EAAzB,GAA2Cf,EAAEI,QAAF,EAA5C,IAA4D,CAAnE;AACH;AACM,SAAS8C,MAAT,CAAgBlD,CAAhB,EAAmB;AACtB,WAAOA,EAAE1iB,IAAF,KAAW,CAAX,CAAa,SAAb,GAAyB0iB,EAAEmB,aAAF,EAAzB,GAA6CnB,EAAEQ,UAAF,EAApD;AACH;AACM,SAASyB,IAAT,CAAcjC,CAAd,EAAiB;AACpB,WAAOA,EAAE1iB,IAAF,KAAW,CAAX,CAAa,SAAb,GAAyB0iB,EAAEc,cAAF,EAAzB,GAA8Cd,EAAEG,WAAF,EAArD;AACH;AACM,SAASkD,SAAT,CAAmBrD,CAAnB,EAAsB;AACzB,WAAOA,EAAE1iB,IAAF,KAAW,CAAX,CAAa,SAAb,GAAyB0iB,EAAEsD,SAAF,EAAzB,GAAyCtD,EAAEuD,MAAF,EAAhD;AACH;AACM,SAASC,SAAT,CAAmBxD,CAAnB,EAAsB;AACzB,QAAMyD,QAAQxB,KAAKjC,CAAL,CAAd;AACA,QAAM0D,SAASxB,MAAMlC,CAAN,CAAf;AACA,QAAI2D,OAAOxB,IAAInC,CAAJ,CAAX;AACA,SAAK,IAAIrlB,IAAI,CAAb,EAAgBA,IAAI+oB,MAApB,EAA4B/oB,GAA5B,EAAiC;AAC7BgpB,gBAAQf,YAAYa,KAAZ,EAAmB9oB,CAAnB,CAAR;AACH;AACD,WAAOgpB,IAAP;AACH;AACM,SAAS5L,GAAT,CAAaiI,CAAb,EAAgB4D,EAAhB,EAAoB;AACvB,WAAOlC,SAAS1B,EAAEzd,OAAF,KAAcqhB,EAAvB,EAA2B5D,EAAE1iB,IAA7B,CAAP;AACH;AACM,SAASumB,OAAT,CAAiB7D,CAAjB,EAAoB1e,CAApB,EAAuB;AAC1B,WAAOogB,SAAS1B,EAAEzd,OAAF,KAAcjB,IAAI,QAA3B,EAAqC0e,EAAE1iB,IAAvC,CAAP;AACH;AACM,SAASwmB,QAAT,CAAkB9D,CAAlB,EAAqB1e,CAArB,EAAwB;AAC3B,WAAOogB,SAAS1B,EAAEzd,OAAF,KAAcjB,IAAI,OAA3B,EAAoC0e,EAAE1iB,IAAtC,CAAP;AACH;AACM,SAASymB,UAAT,CAAoB/D,CAApB,EAAuB1e,CAAvB,EAA0B;AAC7B,WAAOogB,SAAS1B,EAAEzd,OAAF,KAAcjB,IAAI,KAA3B,EAAkC0e,EAAE1iB,IAApC,CAAP;AACH;AACM,SAAS0mB,UAAT,CAAoBhE,CAApB,EAAuB1e,CAAvB,EAA0B;AAC7B,WAAOogB,SAAS1B,EAAEzd,OAAF,KAAcjB,IAAI,IAA3B,EAAiC0e,EAAE1iB,IAAnC,CAAP;AACH;AACM,SAAS2mB,eAAT,CAAyBjE,CAAzB,EAA4B1e,CAA5B,EAA+B;AAClC,WAAOogB,SAAS1B,EAAEzd,OAAF,KAAcjB,CAAvB,EAA0B0e,EAAE1iB,IAA5B,CAAP;AACH;AACM,SAAS4mB,QAAT,CAAkBlE,CAAlB,EAAqB1e,CAArB,EAAwB;AAC3B,QAAM6iB,WAAWjC,MAAMlC,CAAN,CAAjB;AACA,QAAMoE,UAAUnC,KAAKjC,CAAL,IAAU1e,CAA1B;AACA,QAAM+iB,eAAezB,YAAYwB,OAAZ,EAAqBD,QAArB,CAArB;AACA,QAAMG,SAASxe,KAAKM,GAAL,CAASie,YAAT,EAAuBlC,IAAInC,CAAJ,CAAvB,CAAf;AACA,WAAOnI,OAAOuM,OAAP,EAAgBD,QAAhB,EAA0BG,MAA1B,EAAkCtB,KAAKhD,CAAL,CAAlC,EAA2CiD,OAAOjD,CAAP,CAA3C,EAAsDkD,OAAOlD,CAAP,CAAtD,EAAiEmD,YAAYnD,CAAZ,CAAjE,EAAiFA,EAAE1iB,IAAnF,CAAP;AACH;AACM,SAASinB,SAAT,CAAmBvE,CAAnB,EAAsB1e,CAAtB,EAAyB;AAC5B,QAAI6iB,WAAWjC,MAAMlC,CAAN,IAAW1e,CAA1B;AACA,QAAIkjB,YAAY,CAAhB;AACA,QAAIC,aAAa,CAAjB;AACA,QAAIN,WAAW,EAAf,EAAmB;AACfK,oBAAYL,WAAW,EAAvB;AACAM,qBAAa3e,KAAKG,KAAL,CAAWke,WAAW,EAAtB,CAAb;AACAA,mBAAWK,SAAX;AACH,KAJD,MAKK,IAAIL,WAAW,CAAf,EAAkB;AACnBK,oBAAY,KAAKL,WAAW,EAA5B;AACAM,qBAAa3e,KAAKG,KAAL,CAAWke,WAAW,EAAtB,KAA6BK,cAAc,EAAd,GAAmB,CAAC,CAApB,GAAwB,CAArD,CAAb;AACAL,mBAAWK,SAAX;AACH;AACD,QAAMJ,UAAUnC,KAAKjC,CAAL,IAAUyE,UAA1B;AACA,QAAMJ,eAAezB,YAAYwB,OAAZ,EAAqBD,QAArB,CAArB;AACA,QAAMG,SAASxe,KAAKM,GAAL,CAASie,YAAT,EAAuBlC,IAAInC,CAAJ,CAAvB,CAAf;AACA,WAAOnI,OAAOuM,OAAP,EAAgBD,QAAhB,EAA0BG,MAA1B,EAAkCtB,KAAKhD,CAAL,CAAlC,EAA2CiD,OAAOjD,CAAP,CAA3C,EAAsDkD,OAAOlD,CAAP,CAAtD,EAAiEmD,YAAYnD,CAAZ,CAAjE,EAAiFA,EAAE1iB,IAAnF,CAAP;AACH;AACM,SAASonB,QAAT,CAAkB1E,CAAlB,EAAqB2E,IAArB,EAA2B;AAC9B,WAAO,OAAOA,IAAP,KAAgB,QAAhB,GACDjD,SAAS1B,EAAEzd,OAAF,KAAcoiB,IAAvB,EAA6B3E,EAAE1iB,IAA/B,CADC,GAED0iB,EAAEzd,OAAF,KAAcoiB,KAAKpiB,OAAL,EAFpB;AAGH;AACM,SAASqiB,gBAAT,CAA0B5E,CAA1B,EAA6B;AAChC,WAAOA,EAAE6E,YAAF,EAAP;AACH;AACM,SAASC,iBAAT,CAA2B9E,CAA3B,EAA8B;AACjC,WAAOA,EAAEwB,kBAAF,EAAP;AACH;AACM,SAASuD,gBAAT,CAA0B/E,CAA1B,EAA6B;AAChC,WAAOA,EAAEyB,kBAAF,EAAP;AACH;AACM,SAASuD,iBAAT,CAA2BhF,CAA3B,EAA8B;AACjC,WAAOA,EAAEyB,kBAAF,GAAuBpa,OAAvB,CAA+B,YAA/B,EAA6C,EAA7C,CAAP;AACH;AACM,SAAStF,MAAT,CAAgBkjB,EAAhB,EAAoBC,EAApB,EAAwB;AAC3B,WAAOD,GAAG1iB,OAAH,OAAiB2iB,GAAG3iB,OAAH,EAAxB;AACH;AACM,SAASE,OAAT,CAAiB5I,CAAjB,EAAoBK,CAApB,EAAuB;AAC1B,QAAMirB,QAAQtrB,EAAE0I,OAAF,EAAd;AACA,QAAM6iB,QAAQlrB,EAAEqI,OAAF,EAAd;AACA,WAAO4iB,UAAUC,KAAV,GAAkB,CAAlB,GAAuBD,QAAQC,KAAR,GAAgB,CAAC,CAAjB,GAAqB,CAAnD;AACH;AACM,IAAMxT,YAAYnP,OAAlB;AACA,SAAS4iB,WAAT,CAAqBxrB,CAArB,EAAwBK,CAAxB,EAA2B;AAC9B,WAAO6d,IAAIle,CAAJ,EAAOK,CAAP,CAAP;AACH;AACM,SAASorB,cAAT,CAAwBzrB,CAAxB,EAA2BK,CAA3B,EAA8B;AACjC,WAAOwqB,SAAS7qB,CAAT,EAAYK,CAAZ,CAAP;AACH;AACM,SAASqrB,oBAAT,CAA8B1rB,CAA9B,EAAiC;AACpC,QAAM2rB,MAAM,IAAI3kB,IAAJ,CAAShH,EAAEsmB,WAAF,EAAT,EAA0B,CAA1B,EAA6B,CAA7B,CAAZ;AACA,QAAMsF,MAAM,IAAI5kB,IAAJ,CAAShH,EAAEsmB,WAAF,EAAT,EAA0B,CAA1B,EAA6B,CAA7B,CAAZ;AACA,WAAOuF,MAAMF,IAAI9E,iBAAJ,EAAN,EAA+B+E,IAAI/E,iBAAJ,EAA/B,EAAwD7mB,EAAE6mB,iBAAF,EAAxD,CAAP;AACH;AACD,SAASgF,KAAT,CAAeC,SAAf,EAA0BC,SAA1B,EAAqCC,OAArC,EAA8C;AAC1C,WAAO/f,KAAKM,GAAL,CAASuf,SAAT,EAAoBC,SAApB,MAAmCC,OAA1C;AACH,C;;;;;;;;;;;;;;;;AArVM,SAAShO,MAAT,CAAgB9F,OAAhB,EAAyB+T,OAAzB,EAAkC;AACrC,QAAI3S,QAAQ,GAAZ;AACAA,aAAS2S,UAAU,CAAV,GAAc,GAAd,GAAoB,EAA7B;AACA3S,aAAS2S,UAAU,CAAV,GAAc,GAAd,GAAoB,EAA7B;AACA,WAAO,IAAIjP,MAAJ,CAAW9E,OAAX,EAAoBoB,KAApB,CAAP;AACH;AACD;AACO,SAAS2D,MAAT,CAAgBhF,GAAhB,EAAqB;AACxB,WAAOA,IAAIzK,OAAJ,CAAY,mCAAZ,EAAiD,MAAjD,CAAP;AACH;AACM,SAAS0e,QAAT,CAAkBjU,GAAlB,EAAuB;AAC1B,WAAOA,IAAIzK,OAAJ,CAAY,uCAAZ,EAAqD,IAArD,CAAP;AACH;AACM,SAAS2e,OAAT,CAAiBlU,GAAjB,EAAsBC,OAAtB,EAA4C;AAAA,QAAb+T,OAAa,uEAAH,CAAG;;AAC/C,QAAIzO,YAAJ;AACAA,UAAMvF,eAAe+E,MAAf,IACCQ,MAAMvF,GAAN,EAAWA,MAAMC,OAAjB,EAA0BsF,IAAIC,SAAJ,GAAgBwO,OAA1C,EAAmDzO,GADpD,IAEAA,MAAMQ,OAAO9F,OAAP,EAAgB+T,OAAhB,CAFZ;AAGA,WAAOzO,IAAIlD,IAAJ,CAASrC,GAAT,CAAP;AACH;AACM,SAASsC,KAAT,CAAetC,GAAf,EAAoBC,OAApB,EAA0C;AAAA,QAAb+T,OAAa,uEAAH,CAAG;;AAC7C,QAAIzO,YAAJ;AACAA,UAAMvF,eAAe+E,MAAf,IACCQ,MAAMvF,GAAN,EAAWA,MAAMC,OAAjB,EAA0BsF,IAAIC,SAAJ,GAAgBwO,OAA1C,EAAmDzO,GADpD,IAEAA,MAAMQ,OAAO9F,OAAP,EAAgB+T,OAAhB,CAFZ;AAGA,WAAOzO,IAAIpQ,IAAJ,CAAS6K,GAAT,CAAP;AACH;AACM,SAASmU,OAAT,CAAiBnU,GAAjB,EAAsBC,OAAtB,EAA4C;AAAA,QAAb+T,OAAa,uEAAH,CAAG;;AAC/C,QAAIzO,YAAJ;AACAA,UAAMvF,eAAe+E,MAAf,IACCQ,MAAMvF,GAAN,EAAWA,MAAMC,OAAjB,EAA0BsF,IAAIC,SAAJ,GAAgBwO,OAA1C,EAAmDzO,GADpD,IAEAA,MAAMQ,OAAO9F,OAAP,EAAgB+T,OAAhB,CAFZ;AAGA,QAAI,CAACzO,IAAI6O,MAAT,EAAiB;AACb,cAAM,IAAIxrB,KAAJ,CAAU,mBAAV,CAAN,CADa,CACyB;AACzC;AACD,QAAImL,IAAIwR,IAAIpQ,IAAJ,CAAS6K,GAAT,CAAR;AACA,QAAMmU,UAAU,EAAhB;AACA,WAAOpgB,MAAM,IAAb,EAAmB;AACfogB,gBAAQ/Y,IAAR,CAAarH,CAAb;AACAA,YAAIwR,IAAIpQ,IAAJ,CAAS6K,GAAT,CAAJ;AACH;AACD,WAAOmU,OAAP;AACH;AACM,SAASH,OAAT,CAAiBzO,GAAjB,EAAsB;AACzB,QAAIyO,UAAU,GAAd,CADyB,CACN;AACnBA,eAAWzO,IAAI8O,UAAJ,GAAiB,CAAjB,GAAqB,CAAhC;AACAL,eAAWzO,IAAI+O,SAAJ,GAAgB,CAAhB,GAAoB,CAA/B;AACA,WAAON,OAAP;AACH;AACM,SAASze,OAAT,CAAiBgQ,GAAjB,EAAsB9E,KAAtB,EAA6B8T,WAA7B,EAA0CC,KAA1C,EAA6D;AAAA,QAAZ9G,MAAY,uEAAH,CAAG;;AAChE,aAAS+G,QAAT,GAAoB;AAChB,YAAInjB,MAAMQ,UAAU,CAAV,CAAV;AACA,YAAI0iB,UAAU,CAAd,EAAiB;AACbA;AACA,gBAAMlS,SAAQ,EAAd;AACA,gBAAMvS,MAAM+B,UAAUzC,MAAtB;AACA,iBAAK,IAAIxG,IAAI,CAAb,EAAgBA,IAAIkH,MAAM,CAA1B,EAA6BlH,GAA7B,EAAkC;AAC9ByZ,uBAAMlH,IAAN,CAAWtJ,UAAUjJ,CAAV,CAAX;AACH;AACDyZ,mBAAMhY,KAAN,GAAcwH,UAAU/B,MAAM,CAAhB,CAAd;AACAuS,mBAAM7B,KAAN,GAAc3O,UAAU/B,MAAM,CAAhB,CAAd;AACAuB,kBAAMijB,YAAYjS,MAAZ,CAAN;AACH;AACD,eAAOhR,GAAP;AACH;AACD,QAAI,OAAOiU,GAAP,KAAe,QAAnB,EAA6B;AACzB,YAAM0F,MAAM1F,GAAZ;AACAA,cAAMQ,OAAOtF,KAAP,EAAc+T,KAAd,CAAN;AACA/T,gBAAQwK,GAAR;AACAuJ,gBAAQE,SAAR;AACH;AACD,QAAI,OAAOH,WAAP,KAAuB,UAA3B,EAAuC;AACnCC,gBAAQA,SAAS,IAAT,GAAgB,CAAC,CAAjB,GAAqBA,KAA7B;AACA,eAAO/T,MAAMgC,SAAN,CAAgB,CAAhB,EAAmBiL,MAAnB,IAA6BjN,MAAMgC,SAAN,CAAgBiL,MAAhB,EAAwBnY,OAAxB,CAAgCgQ,GAAhC,EAAqCkP,QAArC,CAApC;AACH,KAHD,MAIK;AACD;AACAF,sBAAcA,YAAYhf,OAAZ,CAAoB,MAApB,EAA4B,UAAC1F,CAAD;AAAA,mBAAO,IAAP;AAAA,SAA5B,CAAd;AACA,YAAI2kB,SAAS,IAAb,EAAmB;AACf,gBAAIzgB,UAAJ;AACA,gBAAM4gB,OAAOlU,MAAMgC,SAAN,CAAgBiL,MAAhB,CAAb;AACA,gBAAMkH,WAAWT,QAAQ5O,GAAR,EAAaoP,IAAb,CAAjB;AACA,gBAAME,OAAOV,QAAQ9kB,MAAR,GAAiBmlB,KAAjB,IAA0BzgB,IAAI6gB,SAASJ,QAAQ,CAAjB,CAAJ,EAAyBG,KAAKlS,SAAL,CAAe,CAAf,EAAkB1O,EAAEzJ,KAAF,GAAUyJ,EAAE,CAAF,EAAK1E,MAAjC,CAAnD,IAA+FslB,IAA5G;AACA,mBAAOlU,MAAMgC,SAAN,CAAgB,CAAhB,EAAmBiL,MAAnB,IAA6BmH,KAAKtf,OAAL,CAAagQ,GAAb,EAAkBgP,WAAlB,CAA7B,GACD9T,MAAMgC,SAAN,CAAgBiL,SAASmH,KAAKxlB,MAA9B,CADN;AAEH,SAPD,MAQK;AACD,mBAAOoR,MAAMlL,OAAN,CAAcgQ,GAAd,EAAmBgP,WAAnB,CAAP;AACH;AACJ;AACJ;AACM,SAASrP,KAAT,CAAeK,GAAf,EAAoB9E,KAApB,EAA2B+T,KAA3B,EAA8C;AAAA,QAAZ9G,MAAY,uEAAH,CAAG;;AACjD,QAAI,OAAOnI,GAAP,KAAe,QAAnB,EAA6B;AACzB,YAAM0F,MAAM1F,GAAZ;AACAA,cAAMQ,OAAOtF,KAAP,EAAc+T,KAAd,CAAN;AACA/T,gBAAQwK,GAAR;AACAuJ,gBAAQE,SAAR;AACH;AACDjU,YAAQA,MAAMgC,SAAN,CAAgBiL,MAAhB,CAAR;AACA,WAAOjN,MAAMyE,KAAN,CAAYK,GAAZ,EAAiBiP,KAAjB,CAAP;AACH,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AKpGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACqBM,K;;;;0EAAAA,K;;AAErB,SAASC,iBAAT,CAA2BhtB,CAA3B,EAA8B;AAC1B;AACH;AACM,SAASitB,uBAAT,CAAiCtW,GAAjC,EAAsC;AACzC,QAAMuW,QAAQ,EAAEtJ,aAAa,KAAf,EAAd;AACA,QAAI,OAAOjN,GAAP,KAAe,QAAnB,EAA6B;AACzB6M,mBAAW,YAAM;AAAE0J,kBAAMtJ,WAAN,GAAoB,IAApB;AAA2B,SAA9C,EAAgDjN,GAAhD;AACH,KAFD,MAGK,IAAI,OAAOA,GAAP,KAAe,SAAnB,EAA8B;AAC/BuW,cAAMtJ,WAAN,GAAoBjN,GAApB;AACH;AACD,WAAOuW,KAAP;AACH;AACM,SAASC,MAAT,CAAgBD,KAAhB,EAAuB;AAC1BA,UAAMtJ,WAAN,GAAoB,IAApB;AACH;AACM,SAASwJ,WAAT,CAAqBF,KAArB,EAA4B3E,EAA5B,EAAgC;AACnC/E,eAAW,YAAM;AAAE0J,cAAMtJ,WAAN,GAAoB,IAApB;AAA2B,KAA9C,EAAgD2E,EAAhD;AACH;AACM,SAAS8E,uBAAT,CAAiCH,KAAjC,EAAwC;AAC3C,WAAOA,SAAS,IAAT,IAAiBA,MAAMtJ,WAA9B;AACH;AACM,SAAS0J,UAAT,CAAoBnJ,WAApB,EAAiC;AACpC,QAAMoJ,UAAUC,eAAerJ,WAAf,CAAhB;AACA;AACA;AACA,WAAO,4EAAAV,CAAc,UAACC,GAAD;AAAA,eAAS,8EAAAa,CAAgBkJ,aAAaF,OAAb,CAAhB,EAAuC7J,GAAvC,CAAT;AAAA,KAAd,CAAP;AACH;AACM,SAAS+J,YAAT,CAAsBliB,CAAtB,EAAyB;AAC5B,WAAOmiB,kBAAkB,UAACC,KAAD;AAAA,eAAWpiB,EAAEqiB,IAAF,CAAOD,MAAM,CAAN,CAAP,EAAiBE,KAAjB,CAAuB,UAAClmB,GAAD;AAAA,mBAAS,CAACA,eAAe,6EAAf,GAC/DgmB,MAAM,CAAN,CAD+D,GACpDA,MAAM,CAAN,CADmD,EACzChmB,GADyC,CAAT;AAAA,SAAvB,CAAX;AAAA,KAAlB,CAAP;AAEH;AACM,SAASmmB,iBAAT,GAA6B;AAChC,WAAO,4EAAArK,CAAc,UAACC,GAAD;AAAA,eAASA,IAAIW,SAAJ,CAAcX,IAAIC,WAAlB,CAAT;AAAA,KAAd,CAAP;AACH;AACM,IAAMoK,2BAA2B,EAAEnK,aAAa,KAAf,EAAjC;AACA,SAASoK,UAAT,CAAoB5d,IAApB,EAA0B;AAC7B,WAAO,4EAAAqT,CAAc,UAACC,GAAD,EAAS;AAC1BtT,aAAK;AACDiU,uBAAW,mBAACrkB,CAAD;AAAA,uBAAO0jB,IAAIW,SAAJ,CAAc,mEAAA4J,CAAWjuB,CAAX,CAAd,CAAP;AAAA,aADV;AAEDikB,qBAAS,iBAACK,EAAD;AAAA,uBAAQZ,IAAIW,SAAJ,CAAc,mEAAA6J,CAAW5J,EAAX,CAAd,CAAR;AAAA,aAFR;AAGDT,sBAAUH,IAAIG,QAHb;AAIDF,yBAAaD,IAAIC,WAJhB;AAKDG,wBAAYJ,IAAII;AALf,SAAL;AAOH,KARM,CAAP;AASH;AACM,SAAS4J,iBAAT,CAA2BvtB,CAA3B,EAA8B;AACjC,WAAO,4EAAAsjB,CAAc,UAACC,GAAD;AAAA,eAASvjB,EAAE,CAACujB,IAAIW,SAAL,EAAgBX,IAAIO,OAApB,EAA6BP,IAAIG,QAAjC,CAAF,CAAT;AAAA,KAAd,CAAP;AACH;AACM,SAASsK,MAAT,CAAgBhK,WAAhB,EAA6B;AAChC,WAAO,4EAAAD,CAAcC,WAAd,EAA2B,UAACnkB,CAAD;AAAA,eAAO,8EAAAukB,CAAgB,KAAK,CAArB,CAAP;AAAA,KAA3B,CAAP;AACH;AACM,SAAS6J,QAAT,CAAkBC,YAAlB,EAAgC;AACnC,WAAOZ,aAAaa,QAAQC,GAAR,CAAY,yDAAAxtB,CAAI,UAACytB,CAAD;AAAA,eAAOhB,eAAegB,CAAf,CAAP;AAAA,KAAJ,EAA8BH,YAA9B,CAAZ,CAAb,CAAP;AACH;AACM,SAASI,KAAT,CAAeC,mBAAf,EAAoC;AACvC,WAAO,4EAAAjL,CAAc,UAACC,GAAD,EAAS;AAC1BF,mBAAW;AAAA,mBAAME,IAAIC,WAAJ,CAAgBC,WAAhB,GACXF,IAAIG,QAAJ,CAAa,IAAI,6EAAJ,EAAb,CADW,GAEXH,IAAIW,SAAJ,CAAc,KAAK,CAAnB,CAFK;AAAA,SAAX,EAE6BqK,mBAF7B;AAGH,KAJM,CAAP;AAKH;AACM,SAASC,KAAT,CAAexK,WAAf,EAA4B2J,iBAA5B,EAA+C;AAClD,WAAOc,uBAAuBzK,WAAvB,EAAoC2J,iBAApC,CAAP;AACH;AACM,SAASe,cAAT,CAAwB1K,WAAxB,EAAqC2J,iBAArC,EAAwD;AAC3D,WAAOa,MAAMxK,WAAN,EAAmB2J,iBAAnB,CAAP;AACH;AACM,SAASc,sBAAT,CAAgCzK,WAAhC,EAA6C2K,YAA7C,EAA2DC,qBAA3D,EAAkFC,wBAAlF,EAA4GrL,WAA5G,EAAyH;AAC5H,QAAI,OAAOmL,YAAP,KAAwB,UAA5B,EAAwC;AACpCnL,sBAAcmL,YAAd;AACAA,uBAAe,IAAf;AACH;AACD,QAAMhL,aAAa,IAAI,iEAAJ,EAAnB;AACAK,gBAAY;AACRE,mBAAWyK,eAAeA,YAAf,GAA8B9B,iBADjC;AAER/I,iBAAS8K,wBAAwBA,qBAAxB,GAAgD/B,iBAFjD;AAGRnJ,kBAAUmL,2BAA2BA,wBAA3B,GAAsDhC,iBAHxD;AAIRrJ,qBAAaA,cAAcA,WAAd,GAA4BoK,wBAJjC;AAKRjK;AALQ,KAAZ;AAOH;AACM,SAAS0J,cAAT,CAAwBrJ,WAAxB,EAAqC2J,iBAArC,EAAwD;AAC3D,WAAO,IAAIQ,OAAJ,CAAY,UAACW,OAAD,EAAUC,MAAV;AAAA,eAAqBN,uBAAuBzK,WAAvB,EAAoC8K,OAApC,EAA6CC,MAA7C,EAAqDA,MAArD,EAA6DpB,oBAAoBA,iBAApB,GAAwCC,wBAArG,CAArB;AAAA,KAAZ,CAAP;AACH,C;;;;;;;;;;;;;;;AA/FD;AACA;AACA;AACO,SAASE,UAAT,CAAoBxmB,CAApB,EAAuB;AAC1B,WAAO,IAAI0nB,MAAJ,CAAW,CAAX,EAAc1nB,CAAd,CAAP;AACH;AACM,SAASymB,UAAT,CAAoBzmB,CAApB,EAAuB;AAC1B,WAAO,IAAI0nB,MAAJ,CAAW,CAAX,EAAc1nB,CAAd,CAAP;AACH;;IACoB0nB,M;AACjB,oBAAY9nB,GAAZ,EAAiBE,IAAjB,EAAuB;AAAA;;AACnB,aAAKF,GAAL,GAAWA,MAAM,CAAjB;AACA,aAAKE,IAAL,GAAYA,IAAZ;AACH;;;;+BAOM3D,K,EAAO;AACV,mBAAO,mEAAA4F,CAAa,IAAb,EAAmB5F,KAAnB,CAAP;AACH;;;kCACSA,K,EAAO;AACb,mBAAO,oEAAA6F,CAAc,IAAd,EAAoB7F,KAApB,CAAP;AACH;;aACA,wDAAA0B,CAAQhC,U;gCAAc;AACnB,mBAAO;AACH+G,sBAAM,oCADH;AAEHpE,4BAAY,CAAC,aAAD,EAAgB,mBAAhB,EAAqC,oBAArC,CAFT;AAGHmB,uBAAO,CAAC,CAAC,YAAD,EAAe,kDAAf,CAAD,EAAsB,CAAC,YAAD,EAAe,kDAAf,CAAtB;AAHJ,aAAP;AAKH;;;4BAlBoB;AACjB,mBAAO,KAAKC,GAAL,KAAa,CAAb,GAAiB,KAAKE,IAAtB,GAA6B,IAApC;AACH;;;4BACoB;AACjB,mBAAO,KAAKF,GAAL,KAAa,CAAb,GAAiB,KAAKE,IAAtB,GAA6B,IAApC;AACH;;;;;;yDAVgB4nB,M;;;;;;;;;;;;;;;;;;;;;;;ALTd,SAASpuB,GAAT,CAAaZ,CAAb,EAAgBgL,MAAhB,EAAwBikB,UAAxB,EAAoC;AACvC,QAAM/jB,SAAS,IAAI+jB,UAAJ,CAAejkB,OAAO7D,MAAtB,CAAf;AACA,SAAK,IAAIxG,IAAI,CAAb,EAAgBA,IAAIqK,OAAO7D,MAA3B,EAAmCxG,GAAnC,EAAwC;AACpCuK,eAAOvK,CAAP,IAAYX,EAAEgL,OAAOrK,CAAP,CAAF,CAAZ;AACH;AACD,WAAOuK,MAAP;AACH;AACM,SAASrK,UAAT,CAAoBb,CAApB,EAAuBgL,MAAvB,EAA+BikB,UAA/B,EAA2C;AAC9C,QAAM/jB,SAAS,IAAI+jB,UAAJ,CAAejkB,OAAO7D,MAAtB,CAAf;AACA,SAAK,IAAIxG,IAAI,CAAb,EAAgBA,IAAIqK,OAAO7D,MAA3B,EAAmCxG,GAAnC,EAAwC;AACpCuK,eAAOvK,CAAP,IAAYX,EAAEW,CAAF,EAAKqK,OAAOrK,CAAP,CAAL,CAAZ;AACH;AACD,WAAOuK,MAAP;AACH;AACM,SAASpK,OAAT,CAAiBkK,MAAjB,EAAyB;AAC5B,WAAOnK,WAAW,UAACF,CAAD,EAAId,CAAJ;AAAA,eAAU,CAACc,CAAD,EAAId,CAAJ,CAAV;AAAA,KAAX,EAA6BmL,MAA7B,EAAqCzI,KAArC,CAAP;AACH;AACM,SAAS2sB,eAAT,CAAyBnb,KAAzB,EAAgCtU,EAAhC,EAAoC;AACvC,QAAM8K,OAAOwJ,MAAM3Q,OAAOyC,QAAb,GAAb;AACA,QAAI2E,MAAMD,KAAKE,IAAL,EAAV;AACA,WAAO,CAACD,IAAIE,IAAZ,EAAkB;AACdjL,WAAGyT,IAAH,CAAQ1I,IAAId,KAAZ;AACAc,cAAMD,KAAKE,IAAL,EAAN;AACH;AACJ;AACM,SAAS0kB,MAAT,CAAgBnkB,MAAhB,EAAwBokB,WAAxB,EAAqClkB,MAArC,EAA6CmkB,WAA7C,EAA0DvgB,KAA1D,EAAiE;AACpE,WAAOA,OAAP,EAAgB;AACZ5D,eAAOmkB,aAAP,IAAwBrkB,OAAOokB,aAAP,CAAxB;AACH;AACJ;AACM,SAASruB,SAAT,CAAmBf,CAAnB,EAAsBP,EAAtB,EAA0B;AAC7B,QAAMC,KAAK,EAAX;AACA,QAAM+S,KAAK,EAAX;AACA,QAAI9J,IAAI,CAAR;AACA,QAAI1G,IAAI,CAAR;AACA,SAAK,IAAItB,IAAI,CAAb,EAAgBA,IAAIlB,GAAG0H,MAAvB,EAA+BxG,GAA/B,EAAoC;AAChC,YAAIX,EAAEP,GAAGkB,CAAH,CAAF,CAAJ,EAAc;AACVjB,eAAGiJ,GAAH,IAAUlJ,GAAGkB,CAAH,CAAV;AACH,SAFD,MAGK;AACD8R,eAAGxQ,GAAH,IAAUxC,GAAGkB,CAAH,CAAV;AACH;AACJ;AACD,WAAO,CAACjB,EAAD,EAAK+S,EAAL,CAAP;AACH;AACM,SAASgB,OAAT,CAAiBzT,CAAjB,EAAoBP,EAApB,EAAwB;AAC3B;AACA,QAAMC,KAAKD,GAAGmB,GAAH,CAAO;AAAA,eAAM,IAAN;AAAA,KAAP,CAAX;AACA,QAAM0uB,aAAa,IAAI/sB,KAAJ,CAAU9C,GAAG0H,MAAb,CAAnB;AACA,SAAK,IAAIxG,IAAI,CAAb,EAAgBA,IAAIlB,GAAG0H,MAAvB,EAA+BxG,GAA/B,EAAoC;AAChC,YAAMgI,IAAI3I,EAAEW,CAAF,CAAV;AACA,YAAIgI,IAAI,CAAJ,IAASA,KAAKlJ,GAAG0H,MAArB,EAA6B;AACzB,kBAAM,IAAIzG,KAAJ,CAAU,yBAAV,CAAN;AACH;AACDhB,WAAGiJ,CAAH,IAAQlJ,GAAGkB,CAAH,CAAR;AACA2uB,mBAAW3mB,CAAX,IAAgB,CAAhB;AACH;AACD,SAAK,IAAIhI,KAAI,CAAb,EAAgBA,KAAIlB,GAAG0H,MAAvB,EAA+BxG,IAA/B,EAAoC;AAChC,YAAI2uB,WAAW3uB,EAAX,MAAkB,CAAtB,EAAyB;AACrB,kBAAM,IAAID,KAAJ,CAAU,yBAAV,CAAN;AACH;AACJ;AACD,WAAOhB,EAAP;AACH;AACM,SAAS6vB,aAAT,CAAuBxd,IAAvB,EAA6BtS,EAA7B,EAAiC;AACpC,QAAMkB,IAAIlB,GAAGsG,OAAH,CAAWgM,IAAX,CAAV;AACA,QAAIpR,IAAI,CAAC,CAAT,EAAY;AACRlB,WAAGmO,MAAH,CAAUjN,CAAV,EAAa,CAAb;AACA,eAAO,IAAP;AACH;AACD,WAAO,KAAP;AACH;AACM,SAAS6uB,QAAT,CAAkBtkB,MAAlB,EAA0B7J,KAA1B,EAAiCC,KAAjC,EAAwC0J,MAAxC,EAAgD;AACnD,QAAM7D,SAAS,CAAC7F,SAAS4J,OAAO/D,MAAP,GAAgB,CAA1B,IAA+B9F,KAA9C;AACA,QAAI8E,YAAYC,MAAZ,CAAmB8E,MAAnB,KAA8BF,OAAO7D,MAAP,IAAiBA,MAAnD,EAA2D;AACvD+D,eAAOlI,GAAP,CAAWgI,MAAX,EAAmB3J,KAAnB;AACH,KAFD,MAGK;AACD,aAAK,IAAIV,IAAIU,QAAQ,CAAhB,EAAmBsH,IAAI,CAA5B,EAA+BA,KAAKxB,MAApC,EAA4CxG,KAAKgI,GAAjD,EAAsD;AAClDuC,mBAAOvK,CAAP,IAAYqK,OAAOrC,CAAP,CAAZ;AACH;AACJ;AACJ;AACM,SAAS8mB,aAAT,CAAuBzvB,CAAvB,EAA0BP,EAA1B,EAAuC;AAAA,QAATiwB,GAAS,uEAAH,CAAG;;AAC1C,WAAOjwB,GAAG+U,IAAH,CAAQ,UAAC3U,CAAD,EAAIK,CAAJ,EAAU;AACrBL,YAAIG,EAAEH,CAAF,CAAJ;AACAK,YAAIF,EAAEE,CAAF,CAAJ;AACA,eAAO,CAACL,IAAIK,CAAJ,GAAQ,CAAC,CAAT,GAAaL,MAAMK,CAAN,GAAU,CAAV,GAAc,CAA5B,IAAiCwvB,GAAxC;AACH,KAJM,CAAP;AAKH;AACM,SAASjuB,KAAT,CAAehC,EAAf,EAAmB;AACtB,QAAMkwB,KAAK,IAAIptB,KAAJ,CAAU9C,GAAG0H,MAAb,CAAX;AACA,QAAMyoB,KAAK,IAAIrtB,KAAJ,CAAU9C,GAAG0H,MAAb,CAAX;AACA,SAAK,IAAIxG,IAAI,CAAb,EAAgBA,IAAIlB,GAAG0H,MAAvB,EAA+BxG,GAA/B,EAAoC;AAChCgvB,WAAGhvB,CAAH,IAAQlB,GAAGkB,CAAH,EAAM,CAAN,CAAR;AACAivB,WAAGjvB,CAAH,IAAQlB,GAAGkB,CAAH,EAAM,CAAN,CAAR;AACH;AACD,WAAO,CAACgvB,EAAD,EAAKC,EAAL,CAAP;AACH;AACM,SAAShuB,MAAT,CAAgBnC,EAAhB,EAAoB;AACvB,QAAMkwB,KAAK,IAAIptB,KAAJ,CAAU9C,GAAG0H,MAAb,CAAX;AACA,QAAMyoB,KAAK,IAAIrtB,KAAJ,CAAU9C,GAAG0H,MAAb,CAAX;AACA,QAAM0oB,KAAK,IAAIttB,KAAJ,CAAU9C,GAAG0H,MAAb,CAAX;AACA,SAAK,IAAIxG,IAAI,CAAb,EAAgBA,IAAIlB,GAAG0H,MAAvB,EAA+BxG,GAA/B,EAAoC;AAChCgvB,WAAGhvB,CAAH,IAAQlB,GAAGkB,CAAH,EAAM,CAAN,CAAR;AACAivB,WAAGjvB,CAAH,IAAQlB,GAAGkB,CAAH,EAAM,CAAN,CAAR;AACAkvB,WAAGlvB,CAAH,IAAQlB,GAAGkB,CAAH,EAAM,CAAN,CAAR;AACH;AACD,WAAO,CAACgvB,EAAD,EAAKC,EAAL,EAASC,EAAT,CAAP;AACH;AACM,SAASjd,WAAT,CAAqBC,IAArB,EAA2BpT,EAA3B,EAA+B;AAClC,QAAIoT,OAAO,CAAX,EAAc;AACV,cAAM,IAAInS,KAAJ,CAAU,uDAAV,CAAN;AACH;AACD,QAAIjB,GAAG0H,MAAH,KAAc,CAAlB,EAAqB;AACjB,eAAO,CAAC,EAAD,CAAP;AACH;AACD,QAAM2L,SAAS,EAAf;AACA;AACA,SAAK,IAAIjT,IAAI,CAAb,EAAgBA,IAAIiM,KAAKgkB,IAAL,CAAUrwB,GAAG0H,MAAH,GAAY0L,IAAtB,CAApB,EAAiDhT,GAAjD,EAAsD;AAClD,YAAM2uB,QAAQ3uB,IAAIgT,IAAlB;AACA,YAAMkd,MAAMvB,QAAQ3b,IAApB;AACAC,eAAOI,IAAP,CAAYzT,GAAG2B,KAAH,CAASotB,KAAT,EAAgBuB,GAAhB,CAAZ;AACH;AACD,WAAOjd,MAAP;AACH;AACM,SAASkd,WAAT,CAAqBvwB,EAArB,EAAyByY,UAAzB,EAAqCpJ,KAArC,EAA4C;AAC/C,WAAOrP,GAAG2B,KAAH,CAAS8W,UAAT,EAAqBA,aAAapJ,KAAlC,CAAP;AACH;AACM,SAASmhB,IAAT,CAAc/kB,MAAd,EAAsBmkB,WAAtB,EAAmCvgB,KAAnC,EAA0CpF,KAA1C,EAAiD;AACpDwB,WAAO+kB,IAAP,CAAYvmB,KAAZ,EAAmB2lB,WAAnB,EAAgCA,cAAcvgB,KAA9C;AACH;AACM,SAAS3M,OAAT,CAAiBC,KAAjB,EAAwB3C,EAAxB,EAA4B;AAC/B,QAAI2C,QAAQ,CAAZ,EAAe;AACX,cAAM,IAAI1B,KAAJ,CAAU,iCAAV,CAAN;AACH;AACD,QAAI0B,QAAQ3C,GAAG0H,MAAf,EAAuB;AACnB,cAAM,IAAIzG,KAAJ,CAAU,4DAAV,CAAN;AACH;AACD,WAAO,CAACjB,GAAG2B,KAAH,CAAS,CAAT,EAAYgB,KAAZ,CAAD,EAAqB3C,GAAG2B,KAAH,CAASgB,KAAT,CAArB,CAAP;AACH,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AOvII;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAKA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAIsB;AAAA,oHAAa;AAAA;AAA6C,KAA1D;AAA+D;AAInF;AAAA,WADH,yGAAa;AAAA,eAAkB,sHAAlB;AAAgD,KAA7D,UACG;AAAW;AAId;AACU;AAAA;AAAA,2CACY,2HADZ;;AAAA;AACyB;AAAA;;AADzB;AAAA,0CAGE;AAAA,mJAAc,uGAAd;AAAiB,qBAHnB,MAEU;AAAA;AAAA,iCAAwB,uHAAxB;AAAA;AAAA;AAAwC;;AAFlD;AAAC;AAAA,KAAD;;AAKC;AAAA;AAAA,mCAAG,wBAAH;AAAA,2EACa;AADb;AAAA;AACa;AAAS,aAAT,EADb;;AAAA;AAC0B;AAAA;AAAA;AAAA;;AAD1B;AAAA,oDAGG;AAAA;AAAA,qJAAc,uGAAd;AAAA;AAAiB,qBAHpB,MAEW;AAAA;AAAA;AAAA;AAAA,mCAAuB,kHAAvB;AAAA;AAAA;AAAuC;;AAFlD;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAqB;AAAA,KAArB;;AAIM;AACjB,WACG;AAAA,6BAEgB;AAAA;AAAA;AAAA,+HAAG,mHAAH;AAAqB,SAFrC,MACkB;AAAA;AAAA;AAAA,+HAAM,mHAAN;AAAwB;AACL,KAHxC,mBAAiB,uGAAjB;AAGwC;AAIlC;AAAA,iBAEC;AAAA;AAAE,KAFH;AAAA;AAAA,eAGG,KAHH,EAGY;AAAA,0HAAU,mIAAV;AAAmC,KAH/C,MAIC;AAAA,6HAAO,WAAY,KAAZ,MAAP;AAA4B;AAJ5B;AAOR;AAAA;AAAU;AAIF;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEe;AAAA,YAAG,KAAH,EAAY;AAAA,2HAAC,4GAAD;AAAM,SAAlB,MAAwB;AAAA,2HAAC,4GAAD;AAAM;AAAA,KAA9B;;AAFf,wBAGG,WAHH,EAGc,WAHd;;AAGG;AAAA,6BACc;AAAA,8HAAC,gCAAD;AAAkB,SADhC,MAEW;AAAA,yHAAU;AAAA,uBAAsB;AAAA;AAAM,iBAA5B;AAAA;AAAA;AAAA,aAAV,EAAyC,iBAAzC;AAAyD;AAFhD,KAApB,2BAGW;AAAA,qHAAU;AAAA,mBAAsB;AAAA;AAAM,aAA5B;AAAA;AAAA;AAAA,SAAV,EAAyC,iBAAzC;AAAyD,KAHpE;AAAA;AAAA;AAHE;AAWR;AACI;AAAI,iIAAiB,OAAjB;AACF;;AAAA;AAAA,0BACc,yBADd;AAAA;AAAA;AAAA;AADD,KAAD;;AAKE;AAAA;AAEJ;;AAAA,gBAFI,8BAEJ,EAAiC;AAAA,oBAAY,sKAFzC,oIAEyC,eAAZ;AAAA,wBAF7B,oIAE6B;AAAA;AAA0C,aAA3E,MAFI;AAIJ;;AAAA,oBAJI,8BAIJ,EAAiC;AAAA,wBAAY,sKAJzC,oIAIyC,QAAZ;AAAA,4BAJ7B,oIAI6B;AAAA;AAA+B,iBAAhE,MAJI;AAKJ;;AAAA,wBALI,8BAKJ,EAA8B;AAAA,4BAAY,0KAAZ;AAAA,gCAL1B,oIAK0B;AAAA;AAA2B,qBAAzD,MALI;AAMJ;;AAAA,4BANI,8BAMJ,EAA8B;AAAA,gCAAY,0KAAZ;AAAA,oCAN1B,oIAM0B;AAAA;AAA6B,yBAA3D,MANI;AAOJ;;AAAA,gCAPI,8BAOJ,EAA8B;AAAA,oCAAY,yKAAZ;AAAA,wCAP1B,oIAO0B;AAAA;AAA8B,6BAA5D,MAPI;AAQJ;;AAAA,oCARI,8BAQJ,EAA8B;AAAA,wCAAY,0KAAZ;AAAA,4CAR1B,oIAQ0B;AAAA;AAA2B,iCAAzD,MARI;AASJ;;AAAA,wCATI,8BASJ,EAA8B;AAAA,4CAAY,yKAAZ;AAAA,gDAT1B,oIAS0B;AAAA;AAA0B,qCAAxD,MATI;AAUJ;;AAAA,4CAVI,8BAUJ,EAA8B;AAAA,gDAAY,yKAAZ;AAAA,oDAV1B,oIAU0B;AAAA;AAA2B,yCAAzD,MAVI;AAWJ;;AAAA,gDAXI,8BAWJ,EAA8B;AAAA,oDAAY,0KAAZ;AAAA,wDAX1B,oIAW0B;AAAA;AAA0B,6CAAxD,MAXI;AAYJ;;AAAA,oDAZI,8BAYJ,EAA8B;AAAA,wDAAY,0KAAZ;AAAA,4DAZ1B,oIAY0B;AAAA;AAA0B,iDAAxD,MAZI;AAaJ;;AAAA,wDAbI,8BAaJ,EAA8B;AAAA,4DAAY,0KAAZ;AAAA,gEAb1B,oIAa0B;AAAA;AAA2B,qDAAzD,MAbI;AAcJ;;AAAA,4DAdI,8BAcJ,EAA8B;AAAA,gEAAY,0KAAZ;AAAA,oEAd1B,oIAc0B;AAAA;AAA2B,yDAAzD,MAdI;AAeJ;;AAAA,gEAfI,8BAeJ,EAA8B;AAAA,oEAAY,yKAAZ;AAAA,wEAf1B,oIAe0B;AAAA;AAA2B,6DAAzD,MAfI;AAgBJ;;AAAA,oEAhBI,8BAgBJ,EAA8B;AAAA,wEAAY,0KAAZ;AAAA,4EAhB1B,oIAgB0B;AAAA;AAAyB,iEAAvD,MAhBI;AAiBJ;;AAAA,wEAjBI,8BAiBJ,EAA8B;AAAA,4EAAY,0KAAZ;AAAA,gFAjB1B,oIAiB0B;AAAA;AAA2B,qEAAzD,MAjBI;AAkBJ;;AAAA,4EAlBI,8BAkBJ,EAA8B;AAAA,gFAAY,0KAAZ;AAAA,oFAlB1B,oIAkB0B;AAAA;AAA2B,yEAAzD,MAlBI;AAmBJ;;AAAA,gFAnBI,8BAmBJ,EAA8B;AAAA,oFAAY,0KAAZ;AAAA,wFAnB1B,oIAmB0B;AAAA;AAA2B,6EAAzD,MAnBI;AAqBJ;;AAAA,oFArBI,8BAqBJ,EAA6D;AAAA,wFAAY,sKArBrE,oIAqBqE,QAAZ;AAAA,4FArBzD,oIAqByD;AAAA;AAAgC,iFAA7F,MArBI;AAsBJ;;AAAA,wFAtBI,8BAsBJ,EAA8B;AAAA,4FAAY,yKAAZ;AAAA,gGAtB1B,oIAsB0B;AAAA;AAA0B,qFAAxD,MAtBI;AAuBJ;;AAAA,4FAvBI,8BAuBJ,EAA8B;AAAA,gGAAY,0KAAZ;AAAA,oGAvB1B,oIAuB0B;AAAA;AAA2B,yFAAzD,MAvBI;AAwBJ;;AAAA,gGAxBI,8BAwBJ,EAA8B;AAAA,oGAAY,0KAAZ;AAAA,wGAxB1B,oIAwB0B;AAAA;AAA+B,6FAA7D,MAxBI;AAAA;AAAA,mGA0BC;AAAA,kNAAU,sIAAV;AAAwC;AA1BtC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAH;;AA2BW,qHAArB,WAAW,uGAAX,MAAqB;AAjCK;;eAsCN,Y;;AAEpB,aAAS,wEAAT,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1FI;AAAI;;AACR,QAAG,SAAH,EAEQ;AAAO,2HAAE;AAAA;AAAA;AAAA;AAA4B,SAA5B,CAAF;AAAP;AAAI,KAFZ;AAAA;AAAA;AADK;AASL;AAAA;AAAqB;AAIrB;AAAA,wHAAc,8GAAd;AAAiB;AAIjB;AAAA;AAAe;;AAST;AAAA;;AAAA,4BAGE;AAAA;AAAA;AAAQ;AAAR,wBACU,4BADV;AAAK,KAHP;AAAA;AAAA;AAAuB;;;AAWzB;AAAc;AAAA,eAEX;AAAuB;AAAA,qCAAc,QAAd;AAAwB,aAAxB;;AAAvB;AAAA;AAAkD,aAAlD;AAAkD,SAAlD,EAFW,CACd,4LADc;AAAC,KAAD;;AAIlB,WAGa;AAAA;AAAoB,KAHjC,CAEG,sGAAW;AAAA;AAAC,KAAZ,MADA,sGAAU;AAAA,eAAuB;AAAA;AAAK,SAA5B;AAAA,KAAV,WACA,CAFH;AAJoB;;AAchB;AACI;AAAK;AAAL,gBACJ,sBADI;AAAE,KAAF;;AAER,WACG;AAAA;AAAA;AAAA;AAA2B,SAA3B;AAA2B,KAA3B,EADH;AAHwB;;;;AASpB;AAAiB;AAAA;AAAA,8BACQ,sCADR;AAAA;AAAA;AAAA;AAET,KAFS;;AAGpB;AAHiB;;;;AAQd;AAAiB;AAAA;AAAA,oBACe,MAAM,kCAAN,CADf,EAC8B,sCAD9B;AAAA;AAAA;AAAA;AAET,KAFS;;AAGpB;AAHiB;;;;AAMK;AAAA;;AACrB;;AAAA,QADqB,8BACrB,EADqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAQ,SAAR;AAAA;AAAA;AAAQ,KAC7B;AAAA;AAAA;;AADqB;AAAA;AAAA;;AAAA;AAAA;AAAA;AAEZ;;;;;;;;;;;;;;;;;;;;;;;;;;AClFX;AAAA,WAEG,gFAAc,0EAAd,CAFH,CACG,4GADH;AAEqB,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPrB,kBACA;AAAA,WAEG;AAAA;AAAY,KAFf;AAAA,eACG;AAAA;AAAa,SADhB;AAAA;AAAA,EADA;;AAKA;AAAA;AAAA,eAAe;AAAA;AAAqB,SAApC;AAAA;AAAoC;;;AAG9B;AAAA,8HACG,cAAI,mEAAJ,CADH,GACe,eAAgB;AAAA;AAAe,KAA/B,CADf,GAEG,cAAI,mEAAJ,CAFH,GAEmB,eAAgB;AAAA;AAAkB,KAAlC,CAFnB,GAGC,2GAAU,yKAAV,CAHD;AAAM,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFZ;AACU;AAAA;AACJ;;AAAA,gBADI,+BACJ;AAAA,wBAA4B,eADxB,qIACwB,GAA5B;AAAA,mBADI;AAEJ;;AAAA,oBAFI,+BAEJ;AAAA,4BAA4B,eAAK,mEAF7B,qIAE6B,IAAjC;AAAA,uBAFI;AAGJ;;AAAA,wBAHI,+BAGJ;AAAA;AAAA,2BAHI;AAIJ;;AAAA,4BAJI,+BAIJ;AAAA;AAAA,+BAJI;AAKJ;;AAAA,gCALI,+BAKJ;AAAA;AAAA,mCALI;AAAA;;AAAA;AAAA;AAAA;AAAA;AAOJ;;AAAA,4CAPI,+BAOJ;AAAA,wDAPI,qIAOJ,KAPI,qIAOJ;AAAA;AAAA;AAAA;AAPQ;AAAA,iCAAJ;AAOJ;;AAAA,wCAPI,+BAOJ;AAAA,oDAPI,qIAOJ,KAPI,qIAOJ;AAAA;AAAA;AAAA;AAPQ;;AAAJ;AAMoB;AAAA,qDAAC,kBAAD;AAAA;;AACK;AAAA,qDAAC,uBAAD;AAAA;;AAPzB;AAAA;AAAA;AAAA,+CASC;AAAmC,oHAAnC,4GAAQ,iIAAR;AAC0D,4DAA1D,2GAAQ,qJAAR,eAA0D;AAAQ;;AAVnE;AAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAJ;;AAWV;AAA8B;AAIxB;AAAA;AAAA,kCAC+B;AAAA,mIAAf,sHAAe;AAAE,SADjC,MAIC;AAAA;AAAA,wBACH,4FADG;AAAA,eADH,oBACG;AACoB;AALjB,KAAJ,MAME;AAAA,iFAAqB,2GAAQ,gHAAR,OAArB;AAC4B,kIAApB,6EAAoB;AAAE;AAP5B;AAWV;AACU;AAAA;;AAAA;AAAA;AAAA;AAAA;AAKJ;;AAAA,oBALI,+BAKJ;AAAA,gCALI,qIAKJ,KALI,qIAKJ;AAAA;AAAA;AAAA;AALQ;AAAA,SAAJ;AAKJ;;AAAA,gBALI,+BAKJ;AAAA,4BALI,qIAKJ,KALI,qIAKJ;AAAA;AAAA;AAAA;AALQ;;AAAJ;AAIC;AAAA;AAAA,4BAA8B,wEAAa,qFAAb,CAA9B;AAAA,mBADA,UADH,+EACG,CACA;;AAGA;AAAA,+HACO;AACJ;;AAAA,wBADI,+BACJ,EACE;AAAA,4BAAG,gBAFD,qIAEC,IAAH;AAAA,oCACK,wEAAa,uFAAb,CADL,EAFE,qIAEF;AAAA,+BAGI;AAAsC,oGAAtC,4GAAQ,iIAAR,EALF,qIAKE;AACiB;AADjB,oCAEC,wEAAa,wEAAW,6FAAD,kBAAV,CAAb,CAFD;AAEyD;AAAA,qBAN/D,MAQM;AAAa;AAAb,gCACH,wEAAa,wEAAW,6FAAD,oBAAV,CAAb,CADG;AAAU;AATN,iBADb,EADH,sBACG;;AAcC;AAAe;AACsB,mIAAxC,wEAAc,0FAAd,CAAwC;AAtBvC;AAAI,KAAJ;;AAwBA;AAAA,iCACc;AAAA,+HAAX,uGAAW,EAAP,uGAAO;AAAE,SADhB,MAIH;AAAA,4HACO;AAAA,iDACoB;AAAA,uIAAjB,2HAAiB,EAAP,uGAAO;AAAE,iBADtB;AAEJ;;AAAA,wBAFI,+BAEJ,EAAsC;AAAA,2IAArB,2HAAqB;AAAE,qBAAxC,MAFI;AAGJ;;AAAA,4BAHI,+BAGJ,EAAgD;AAAA,+IAApB,2HAAoB,EAH5C,qIAG4C;AAAE,yBAAlD,MAHI;AAIJ;;AAAA,gCAJI,+BAIJ,EAEK;AAAA;AAAA,4CACC,qIADD;AAAA,mCADH,aALE,qIAKF,CACG;AACsB,6BAH3B,MAMK;AAAA;AAAA,4CACC,qIADD;AAAA,mCADH,4BACG;AAC0B;AAXrB;AAAA;AAAA;AAAA,aADb,EADH,4BACG;AAYmC;AAhB5B,KAAJ;;AAiBV;AAAiB;AAKjB;AACU;AACJ;;AAAA,YADI,+BACJ,EAA0C;AAAA,+HAAd,uGAAc,EADtC,qIACsC;AAAE,SAA5C,MAGK;AAAA;AAAA;AAAA,eADH,2BACG;AACoB;AALjB,KAAJ;;AASH;AAAA,wHACO;AAAA,6CACe;AAAA,mIAAZ,2HAAY,EAAP,uGAAO;AAAE,aADjB;AAEJ;;AAAA,oBAFI,+BAEJ,EAA8C;AAAA,uIAAhB,uGAAgB,EAF1C,qIAE0C;AAAE,iBAAhD,MAGK;AAAA;AAAA,gCACE,qIADF;AAAA,uBADH,+BACG;AACc;AANT;AAAA,SADb,EADH,uBACG;AAOuB,KAPvB;;AAQiB;AAAA,gBAA+B,mFAA/B;AAAA,OAAxB,qBAAwB;AAAoD;;AAQxE;AACA;AAAA,eACG;AAAA;AAAA;AAAA,mBAEK;AACI;AAAmB;;AACP,oCAAgC;AAAA,6CAAsC;AAAA,8IAAC,wEAAa,mFAAb,CAAD;AAA0B,yBAAhE,MAAsB;AAAA;AAAA;AAAC;AAAyC,qBAAhG,CAAQ,oCAAR;;AAChB;AAFmB,iBAAf;;AAIA;AAAc;AAAA;AAAA;;AAClB,2FAAO,qIAAP;AADe,iBAAX;;AALJ,wBAQqB,oEAAxB,yHAAwB,CARrB;AAAuB;AASd,SAZjB,CAAQ,qGAAR;AAYiB,KAZjB;;AAcF;;AAAA,QADI,+BACJ,EACQ;AACJ,6IAHA,qIAGA;;AAAA,YADI,+BACJ,EAAwB;AAAA;AAAmC,SAA3D;AAAA;AAAA;AADQ,KADZ;AAAA;AAAA;AAf4B;;;AAyB1B;AAAO;AAAP;;AACE;AAAA;AAAA;AAAA;AAEJ;;AAAA,gBAFI,+BAEJ;AAAA;AAAA;AAAA;AAAA;AAFQ;AAAA,KAAJ;AAEJ;;AAAA,YAFI,+BAEJ;AAAA;AAAA;AAAA;AAAA;AAFQ;;AAAJ;AACuE;AAAA,+HAApC,yFAAoC;;AACrC;AAAA;;AAFlC;AAGJ;;AAAA,gBAHI,+BAGJ,EAA2C;AAAA,mIAHvC,qIAGuC,KAHvC,qIAGuC;AAAE,aAA7C,MAHI;AAAA;;AAAA;AAAA;AAAA;AAAA;AAOJ;;AAAA,4BAPI,+BAOJ;AAAA,wCAPI,qIAOJ,KAPI,qIAOJ;AAAA;AAAA;AAAA;AAPQ;AAAA,iBAAJ;AAOJ;;AAAA,wBAPI,+BAOJ;AAAA,oCAPI,qIAOJ,KAPI,qIAOJ;AAAA;AAAA;AAAA;AAPQ;;AAAJ;AAMC;AAAA;AAAA,oCAAgC,iFAAhC;AAAA,2BADH,6BACG;;AAGA;AAAA;AAAA,oCAAiC,oEAAM,wFAAN,CAAjC;AAAA,2BADH,6BACG;;AAEA;AAAA;AAAA;AAAA,2BADA,oBACA;AAXD;AAAI;;AAAJ;AADE;AAgBL;AAAA,oHACO;AAAA;;AAAA,wBACsB;AAAA,+HAAjB,yHAAiB;AAAE,SADxB,MAIC;AAAA;AAAA,wBACC,mIADD;AAAA,eADH,2BACG;AACmB;AALL,KADtB,EADH,eACG;AAOE;AAOF;AAAA,oHACO;AAAA,sCAEwD,2GAA7C,2GAAQ,sIAAR,6HAA6C,CAFxD,GACa,wHADb;AAAM,KADb,EADH,mBACG;AAGqE,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjKvE;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEc;AAAA;AAAA;AAAA;AAAA;AAAA;AAEF;AAIP;AAAA;AAAA;;AAAA;AACa;AAAA;AAAA;;AADb;AAAA;AAAA;AAAI;AAAA;AAON;AACA;AAAA,mBAAI,uEAAJ;AAAc,KAAd;;AACJ;AAFkB;AAMlB;AACU;AAAA;AAAA,oDACU,6BADV;;AAAA;AACqB;AAAA,iCAAY,gBAAZ;AAAA;;AADrB;AAAA;AAAA;AAAK;AAAA,KAAL;;AADV,WAIA,qBAJA;AAI2B;AAI3B;AACU;AAAA;AAAA;;AAAA;AACoB;AAAA,iCAAY,uBAAZ;AAAA;;AADpB;AAAA;AAAA;AAAK;AAAA,KAAL;;AADV,WAIA,qBAJA;AAI2B;AAG3B,oBAAgB;AAAW;AAAX;AAAA;AAAmB,KAAnB;AAAmB,CAAnB,GAAhB;AAII;AACM;AAAA,YACG,oHADH;AAAA;AAAA;AAAA;AAAA;AAAG,KAAH;;AAGV;AAJe;AAKf,iBAAa;AAAW;AAAX;AAAA;AAAe,KAAf;AAAe,CAAf,GAAb;AACA,iBAAa;AAAW;AAAX;AAAA;AAAgB,KAAhB;AAAgB,CAAhB,GAAb;AAKA;AACU;AAAA;AAAA;AAAA,wBAGU,+GAHV,EAGoB,uGAHpB;AAAA;AAAA,wBAC+B,0GAAjB,6KAAiB,CAD/B;AAAA,mBAEU;AAAA,uBAAU,sHAAV;AAAA;AAAA;AAAyB;AAF/B;AAAA,KAAJ;;AAIV,oBAAS,uGAAT;AAAgB;;AAKhB;AACU;AAAA;AAAA;;AAAA;AACqB;AAAA;AAAA;;AADrB;AAAA;AAAA;AAAI;AAAA,KAAJ;;AAGJ;;AAAA,oBAEE;AAAgB;AACd;;AAAA,0BACI;AAAA;AAAoC,SADxC;AAAA;AAAA;AADU,KAFd;AAAA;AAAA;AAMS;;;;AAKT;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAI;;;;AAWJ;AAAA;;AAAA;AAEI;AACJ;;AAAA,gBADI,+BACJ;AAAA;AAAA;AAAA;AAAA;;AAHA;AAAA;AAAA;AAAI;;;;AAYJ;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA,yBAEsC,gBAFtC;;AAAA;AAAA;;AAAA;AAAA,wBAIqB,gBAJrB;;AAAA;AAAA;AAAA;AAAI;;;;AAaJ;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA,8BAEkC,gBAFlC,EAEyC,sHAFzC;;AAAA;AAAA,8BAGuC,gBAHvC,EAG8C,sHAH9C;;AAAA;AAAA,8BAKoB,gBALpB,EAK2B,uGAL3B;;AAAA;AAAA;;AAAA;AAAA,8BAO0B,gBAP1B;;AAAA;AAAA;AAAA;AAAI;;;;AAaJ;AAAA;;AAAA,QACG,eADH,EACW;AAAA;AAAU,KADrB;AAAA;AAAA;AAAkB;;;;AAMJ;AAAA;AAAA,gBACH,8EADG;AAAA;AAAA;AAAA;AAET;;;;AAKX;AACU;AAAA;AAAA;;AAAA;AACW;AAAA,wBAAa,KAAb;AAAA;AAAA;;AADX;AAAA;AAAA;AAAG;AAAA,KAAH;;AAGJ;;AAAA,QACI,cADJ,EAEI;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAW,KAFf;AAAA;AAAA;AAMK;;;;AAKL;AAAA;;AAAA;AAAA;AAAA,oBACsC,mEADtC;;AAAA;AAAA,oBAEgC,mEAFhC;;AAAA;AAAA;AAAA;AAAI;;;;AAQJ;AAAA;;AAAA;AAAA;AACW;;AAAA,gBADX,+BACW;AAAA,6BADX,qIACW;AAAA;AAAA;AAAA;AADP,SAAJ;AAAA;AAAA;AAAI,KAAJ;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAEJ;;AAAA,gBAFI,+BAEJ,EAFI;AAAA;AAAI,aAER;AAAA;AAAA;;AAFI;AAAI;;;;AAQN;AAAa;;AACX;AAAA;AAAA,WADF;AAAA;AAAU;AAAA;;;AAUX;AAAA,uIACO;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAI,KADX;AAGc;AAMb;AACA;AACU;AAAA;AAAA;;AAAA;AACY;AAAA,4BAAkB,KAAlB;AAAA;AAAA;;AADZ;AAAA;AAAA;AAAI;AAAA,SAAJ;;AAGV;AAAuB,KAJvB;;AAMD,uIACK;AAAU;;AACd,YAAG,mBAAH,EADI;AAAA;AAAO,SACX;AAAA;AAAA;AADW,KADZ;AAPqB;;AAoBpB;AAAa;AAAb,sBACG,2BADH,EACoB,2BADpB;;AACG,QACM,oBAAO,iBAAP,QADN,EADH;AAAA;AAAU,KACP;AAAA;AAAA;AADO;;;AAUd;AACU;AAAA;AAAA;AAAA,wBAEU,+GAFV,EAEoB,uGAFpB;AAAA;AAAA,wBACsB,+GADtB;AAAA,mBAIE;AAAY;AAAZ,uBACU,4HADV;AAAA;AAAA;AAAS;AAJP;AAAA,KAAJ;;AAMV,wBAAa,uGAAb;AAAoB,C;;;;;;;;;;;;;APxOxB;AACA;AACA;;IACM8tB,S,GACF,mBAAYC,OAAZ,EAAqB;AAAA;;AACjB,SAAKzmB,KAAL,GAAaymB,OAAb;AACH,C;;IAECC,Y;;;;;;;4BACED,O,EAAS;AACT,gBAAME,SAAS,IAAIH,SAAJ,CAAcC,OAAd,CAAf;AACA,gBAAI,KAAKG,YAAT,EAAuB;AACnB,qBAAKA,YAAL,CAAkB,CAAlB,EAAqB7lB,IAArB,GAA4B4lB,MAA5B;AACA,qBAAKC,YAAL,GAAoB,CAAC,KAAKA,YAAL,CAAkB,CAAlB,CAAD,EAAuBD,MAAvB,CAApB;AACH,aAHD,MAIK;AACD,qBAAKC,YAAL,GAAoB,CAACD,MAAD,EAASA,MAAT,CAApB;AACH;AACJ;;;iCACQ;AACL,gBAAI,KAAKC,YAAT,EAAuB;AACnB,oBAAM5mB,QAAQ,KAAK4mB,YAAL,CAAkB,CAAlB,EAAqB5mB,KAAnC;AACA,oBAAI,KAAK4mB,YAAL,CAAkB,CAAlB,EAAqB7lB,IAAzB,EAA+B;AAC3B,yBAAK6lB,YAAL,GAAoB,CAAC,KAAKA,YAAL,CAAkB,CAAlB,EAAqB7lB,IAAtB,EAA4B,KAAK6lB,YAAL,CAAkB,CAAlB,CAA5B,CAApB;AACH,iBAFD,MAGK;AACD,2BAAO,KAAKA,YAAZ;AACH;AACD,uBAAO5mB,KAAP;AACH;AACD,mBAAO,KAAK,CAAZ;AACH;;;;;;IAEgB6mB,gB;AACjB,8BAAY5L,IAAZ,EAAkBgJ,iBAAlB,EAAqC;AAAA;;AACjC,aAAKhJ,IAAL,GAAYA,IAAZ;AACA,aAAKgJ,iBAAL,GAAyBA,qBAAqB,wEAA9C;AACA,aAAK6C,QAAL,GAAgB,IAAIJ,YAAJ,EAAhB;AACH;;;;0CACiB;AACd,gBAAI,KAAKzB,YAAT,EAAuB;AACnB,oBAAMjlB,QAAQ,KAAK8mB,QAAL,CAAcC,MAAd,EAAd;AACA,oBAAI/mB,KAAJ,EAAW;AACP,wBAAM8O,OAAO,KAAKmW,YAAlB;AACA,2BAAO,KAAKA,YAAZ;AACAnW,yBAAK9O,KAAL;AACH;AACJ;AACJ;;;gCACO;AACJglB,YAAA,sEAAAA,CAAe,KAAK/J,IAAL,CAAU,IAAV,CAAf,EAAgC,KAAKgJ,iBAArC;AACH;;;kCACS;AAAA;;AACN,mBAAO,yEAAAJ,CAAkB,UAACC,KAAD,EAAW;AAChC,oBAAI,MAAKmB,YAAT,EAAuB;AACnB,0BAAM,IAAIjuB,KAAJ,CAAU,kCAAV,CAAN;AACH;AACD,sBAAKiuB,YAAL,GAAoBnB,MAAM,CAAN,CAApB;AACA,sBAAKkD,eAAL;AACH,aANM,CAAP;AAOH;;;6BACIP,O,EAAS;AACV,iBAAKK,QAAL,CAAczS,GAAd,CAAkBoS,OAAlB;AACA,iBAAKO,eAAL;AACH;;;0CACiBC,Y,EAAc;AAC5B,gBAAI7d,eAAJ;AACA,gBAAI6b,qBAAJ;AACA,qBAASiC,eAAT,GAA2B;AACvB,oBAAI9d,UAAU6b,YAAd,EAA4B;AACxBA,iCAAa7b,MAAb;AACH;AACJ;AACD,gBAAM+d,QAAQ;AACVA,uBAAO,eAACznB,GAAD,EAAS;AACZ0J,6BAAS1J,GAAT;AACAwnB;AACH;AAJS,aAAd;AAMA,iBAAKJ,QAAL,CAAczS,GAAd,CAAkB4S,aAAaE,KAAb,CAAlB;AACA,iBAAKH,eAAL;AACA,mBAAO,yEAAAnD,CAAkB,UAACC,KAAD,EAAW;AAChCmB,+BAAenB,MAAM,CAAN,CAAf;AACAoD;AACH,aAHM,CAAP;AAIH;;;;;;0EApDgBL,gB;;AAsDd,SAAS/B,KAAT,CAAe7J,IAAf,EAAqBgJ,iBAArB,EAAwC;AAC3C,QAAMmD,OAAO,IAAIP,gBAAJ,CAAqB5L,IAArB,EAA2BgJ,iBAA3B,CAAb;AACAmD,SAAKtC,KAAL;AACA,WAAOsC,IAAP;AACH,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AQnFI;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAOD;AAAA,gGAAiB,+DAAjB;AAA0B;AAEd;AAAA,2EAAU,YAAV;AAAiB;AAIzB;AAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAC,KAAD;;AAGH;AAAA,6BAEW;AAAA,8HAAU,4KAAV;AAA4E,SAFvF,MACS;AAAA;AAAE;AAC4E,KAFvF;;AAGc;AAAA,2BAEiC;AAAA,8HAAxB,2GAAQ,mHAAR,cAAwB;AAAK,SAFtC;AAAA;AAAA;AAAC,KAAD;;AAGxB;;AAAA,iCAC4B;AAAA,0HAA1B,qHAA0B;AAAE,KAD9B,MAEE;AAAA,oIAAyB,8GAAzB;AAAoC;AAXlC;AAcJ;AAAA,wBAEQ;AAAA;AAAO,KAFf,MACoB;AAAA,0HAAf,qBAAe;AAAE;AADlB;;;;AAMV,mBAAe;AAAA;AAAe,CAAf,CAAf;AACA,gBAAY;AAAA;AAAc,CAAd,CAAZ;AACoB;AAAA;AAAQ;AAAH;AAKzB;AACU;AAAA;AAAA;;AAAA,sCAQQ;AAAA,oBAAG,kBAAH;AAAA;AAAA,uBAAgC;AAAA,iIAAC,oBAAD;AAAsB;AAAA,aAR9D;AAAA,qDACe;AAAA,iIAAC,cAAc,uGAAd,CAAD;AAAsB,iBADrC,MAEe;AAAA;AAA6B,iGAA7B,4GAAQ,uHAAR;AAAA,wBACa,sGAAC,cAAc,uGAAd,CAAD,IADb;AAAA;AAAA;AACyC;AAH3C,aAAb,2CAIe;AAAA;AAA8B,6FAA9B,4GAAQ,uHAAR;AACA,6HAAC,qBAAD;AAA2B,aAL1C,MAMgB;AAAA;AAAA;AAAiC,6FAAjC,4GAAQ,oHAAR;AAAA,oBACa,sGAAC,uBAAD,IADb;AAAA;AAAA;AAC+C;AAPlD;AAAA,KAAb;;AASV,uBAAY,uGAAZ;AAAkB;AACa;AAAA;AAAmC;AAG9D;AAAY;AAAA;AAAwB,KAAxB;;AAOb,qHADU;AAAA,eAAG,cAAH,GAA0B,sGAAC,cAAa,uGAAb,CAAD,IAA1B;AAAqD,KAJlE,CAAM;AAAA;;AAAA;AACY;AAAA;;AACR;AAAA;AAFJ;AAAG,KAAH,EAAN,CAKG;AAPU;AAQb,sBAAkB;AAAA;AAAqB,CAArB,CAAlB;AAGI;AACI;AAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqD,SAArD;;AAAP,0BAEG,8EAAW,+DAAX,WAFH,EAE8B,2IAF9B;;AAEG;AAAA,+BAG8E;AAAA;AAAK,aAHnF,MACwD;AAAA;AAAK;AADsB,SAAnF,yBAE4H;AAAA,8HAA7G,2GAAQ,gLAAR,QAAmF,oHAAnF,CAA6G;AAAK,SAFjI,MAKQ;AAAA,iJAAe,8EAAW,gEAAX,OAAf;AAAA,iHACgB,iBAAiB,gEAAjB,CADhB;;AAAA;AACoD;AAAA,sIAAV,mEAAU;;AADpD;AAAA,6JAGM,iBAAiB,gEAAjB,CAHN,6CAGM,iBAAiB,gEAAjB,CAHN;;AAAA;AAEuB;AAAA,8IAAT,mEAAS;;AACiB;AAAA,8IAAR,mEAAQ;;AAHxC;AAAA,uDAIe;AAAA,kJAAX,mEAAW;AAAE,6BAJjB,MAKwD;AAAA,kJAApD,2GAAQ,2IAAR,wBAAoD;AAAK;;AAL7D;;AAAA;AAAoC;AAP3C,KAAJ;;AAaU;AAAA;AAAuB,KAAvB;;AAMf,yBADA,0GAHG;AAAA;AAAA;;AAAA;AACY;AAAA;;AACR;AAAA;AAFJ;AAAoB,KAApB,EAGH,CACA;AApBgC;;AAyB/B;AAAA;AAMD,iHAAwB;AAAA;AAAc,KAAtC,EADC;AAAA;AAAkB,KAJtB,CAAO;AAAA;;AAAA,YACE,cADF,EACW;AAAA,mIAAS,yHAAkB,uGAAlB,iBAAT;AAAuD,SADlE,UAEE,cAFF,EAEW;AAAA,8HAAW,cAAX;AAA4B,SAFvC;AAAA;AAAA;AAAyB,KAAzB,EAAP,CAKG;AANQ;;;AAQX,iBAAa;AAAA,wBAAa;AAAA;AAAW,KAAxB;AAAwB,CAAxB,CAAb;AAKI;AAA0B,mCAAb,+GAAa;;AACX;AAAA,6BAA6C;AAAA;AAAO,SAApD,MAAoB;AAAA;AAAU;AAAsB,KAApD;;AAGe,yHAAW;AAAA;AAAK,KAAhB,EAAlB,wIADH,CAA0C,iJAAzC,CAAmB;AAAA;AAAkB,KAArC,aAAD,CACqB;;AAGN;AAAA,qHAAwE,wGAAW;AAAA;AAAK,SAAhB,EAAnB,yIAApD,CAA2B,iJAA3B,4BAAuE,CAAxE;AAA+F,KAA/F;;AAGzB,yBADA,0GADH,yHAA4B,mHAA5B,EAAsC,8EAAtC,CACG,CACA;AAVW;;AAed;AAEQ;AACM;AAAA;AAAA,uLACC,yHADD;;AAAA;AACkB;AAAA,mCAAS,KAAT;;AACjB;AAAA;AAFD;AAAmB,SAAnB;;AAIkB;AAAA;;AAAA,sCAEI;AAAA;AAAG,aAFP,MACO;AAAA;AAAG;AADK,SAAf;;AAG5B,YAAG,WAAH,EAAoB;AAAA;AAAG,SAAvB,MACM;AAAA;;AAAA;AACa;AAAA,oCAAG,2BAAH,EAAqB,2BAArB;;AADb;AAAA;;AAGiB;AAAA;;AACK;AAAA,kIAAY,4IAAZ;;AACA;AAAA,sIAAgB,4IAAhB;;AACA;AAAA;AAAA;AAAA,uBAAU,sGAAU,4IAAV,WAAV;;AACA;AAAA;AAAA;AAAA,uBAAU,sGAAS,4IAAT,WAAV;;AAPtB;AAAA;AAAA;AAAC;AATY,KAAf;;AAkBR;AAAe;;;AACf,cAAU;AAAA;AAAa,CAAb,CAAV;AAII;AAAA;;AAAmD;AAAA;AAAG,KAAH;;AAAvC;AAAA;AAA2C,KAA3C;;AACmB;AAAA;AAA6C,KAA7C;;AAGzB;AAAA;;AAAA;AAAA,oBAEQ,uGAAC,4FAAD,EAAmB,wBAAnB,QAFR,EAEoD,QAFpD;AAAA;AAAA,oBACQ,uGAAC,4FAAD,EAAmB,2CAAnB,QADR,EACyD,QADzD;AAAA;AAA8B,KAA9B;;AAJN;AAAA,gBAQC,UARD,EAQY,sGAAW,4IAAX,wBARZ;AAAA;;AASW;AACC;AAChB,WACG;AAAA;AAEe;AACJ;AAAA;AAAA;;AAGQ;AAAA,iCAEG;AAAA,uBAA+B;AAAA;AAAe,iBAA9C,4GAAkB,QAAjB,2BAAiB,CAAlB;AAA+C,aAFlD,MACC;AAAA;AAAC;AACgD,SAFlD;;AAMf,qHAAU;AAAA;AAAA;AAAY,aAAZ;AAAA,SAAV,EADA,wGADC;AAAA;AAAyB,SAD7B,uGAAU;AAAA;AAAA;AAAA;AAAA,SAAV,WAEG,CACA;AAAgC,KAbvC,uHAAyB,uGAAzB;AAXa;AA+BT;AAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuC,KAAvC;;AACf,WACG;AAAA,iCAE8B,2GAAtB,4BAAsB,CAF9B,GACmB,gHADnB;AAEgC,KAHnC,gBAAgB,sGAAU;AAAA;AAAoB,KAA9B,OAAhB;AADY;AAQT;AAAA,8BADH,sGAAS;AAAA;AAAS,KAAlB,OACG;AAAkB,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7KE;AAAA,qHAAvB,2GAAQ,mHAAR,OAAuB;AAAK;AAEvB;AAAA;AAAG;AAER;AAAA,4FAAY,6GAAZ,EAAwB,6GAAxB;AAA+B;AAM/B;AACQ;AAAkB;AAAA;;AAAA;AAAA;AAAA,4BAC2B,6BAD3B;;AAAA;AAAA,4BAEO,iBAFP;;AAAA;AAAA;AAAA;AAGP,SAHO;;AAIK;AAAA;;AAAA;AAAA;AAAA,4BAEF;AAAA;AAAiB,qBAA9B,sBAFe;;AAIhB;AAAoC,iGAApC,4GAAQ,4HAAR;AAAA,4BACc;AAAA;AAAiB,qBAA9B,sBADD;;AAGC;AAAoC,iGAApC,4GAAQ,4HAAR;AAAA,4BACc;AAAA;AAAiB,qBAA9B,sBADD;;AAPe;AAAA;AAAA;AASZ,SATY;;AAUI;AAAA;;AACzB;;AAAA,gBADyB,8BACzB,EADyB;AAAA;AAAA;AACH,wEADG,oIACH;;AAAA,4BADG,8BACH;AAAA,wCADG,oIACH,KADG,oIACH,KADG,oIACH;AAAA;AAAA;AAAA;AADW,qBAAR;AAAA;AAAA;AAAQ,iBAAR;AAAA;AAAA;AAAQ,aACjC;AAAA;AAAA;;AADyB;AAAA;AAAA,4BAC6B,yHAD7B;;AAAA;AAAA;;AAEzB;;AAAA,wBAFyB,8BAEzB,EAFyB;AAAA;AAAA;AAEL,4EAFK,oIAEL;;AAAA,oCAFK,8BAEL;AAAA,gDAFK,oIAEL,KAFK,oIAEL,KAFK,oIAEL;AAAA;AAAA;AAAA;AAFa,6BAAR;AAAA;AAAA;AAAQ,yBAAR;AAAA;AAAA;AAAQ,qBAEjC;AAAA;AAAA;;AAFyB;AAEmB;AAAA,mCAAmB;AAAA,wDAC9C,sGAAqB;AAAA,kHAAX,gFAAW;AAAA,iCAArB,EAAD,mHAAC,CAD8C;AAElD,6BAF+B;;AAFnB;AAKzB;;AAAA,gCALyB,8BAKzB;AAAA,wCAA0B,2GALD,oIAKC,KAA1B,EALyB,oIAKzB;AAAA;AAAA;AAAA;;AALyB;;AAAA;AAMhB,SANgB;;AAQF;AAAA;;AAAA;AAAA;AAClB;;AAAA,wBADkB,8BAClB,EADkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAQ,iCAAR;AAAA;AAAA;AAAQ,6BAAR;AAAA;AAAA;AAAQ,yBAAR;AAAA;AAAA;AAAQ,qBAC1B;AAAA;AAAA;AAD0B,iBAAR;AAAA;AAAA;AAAQ,aAAR;AAAA;AAAA;;AAAA;AAAA;AAAA,4BAExB,4FAFwB;;AAAA;AAAA;AAAA;AAGlB,SAHkB;;AAIb;;AACA;;AACA;;AACA;;AAEQ;AAClB;;AAAA,gBADkB,8BAClB;AAAA,wBADkB,oIAClB,KADkB,oIAClB;AAAA,mBADkB;AAElB;;AAAA,oBAFkB,8BAElB;AAAA,4BAFkB,oIAElB,KAFkB,oIAElB;AAAA,uBAFkB;AAGlB;;AAAA,wBAHkB,8BAGlB;AAAA,gCAHkB,oIAGlB,KAHkB,oIAGlB;AAAA,2BAHkB;AAIlB;;AAAA,4BAJkB,8BAIlB;AAAA,oCAJkB,oIAIlB,KAJkB,oIAIlB;AAAA;AAAA;AAAA;AACS;AAAA;AAAA;AAAA,SALS;;AAOJ;AACd;;AAAA,gBADc,8BACd;AAAA,wBAAsC,uEAAT,0EADf,oIACe,IAAS,CAAtC,EADc,oIACd;AAAA,mBADc;AAEd;;AAAA,oBAFc,8BAEd;AAAA,4BAFc,oIAEd,KAFc,oIAEd;AAAA,uBAFc;AAId;;AAAA,wBAJc,8BAId;AAAA,gCAAyC,uEAAX,0EAJhB,oIAIgB,IAAW,CAAzC,EAJc,oIAId;AAAA,2BAJc;AAAA;;AAAA;AAAA;AAKN;;AAAA,oCALM,8BAKN,EALM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAQ,qCAAR;AAAA;AAAA;AAAQ,iCAKd;AAAA;AAAA;AALc,6BAAR;AAAA;AAAA;AAAQ,yBAAR;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAQ;AAMb;AAAA;AAAA,SANK;;AAS8B;AAC5C;;AAAA,gBAD4C,+BAC5C,EACQ;AAAA;;AAAA,oBAFoC,qIAEpC;AACE,iFAHkC,qIAGlC;;AAAA,wBADF,+BACE,EADF;AAAA,4BACiD;AADjD;AAAA;AACiD,mCAHb,qIAGa;AAAK,yBAAL,EADjD;AAAA,4TAFoC,qIAEpC;AAAA;AAAA;AAAA;AAAK,qBACH;AAAA;AAAA;AADG,iBAAL;AAAA;AAAA;;AAAA;AAAA;AAAA,gCAED,sFAJqC,qIAIrC,KAFC;;AAAA;AAAA,gCAFoC,qIAEpC,KAFoC,qIAEpC;AAAA;AAAK,aADb;AAAA;AAAA;AAKS,SANmC;;AAQ9B,wIAAE;AAAA;AAAC,SAAH,EAAK,gEAAL,IAAe;AAAA;AAAE,SAAjB,EAAmB,gEAAnB,IAAyB;AAAA;AAAG,SAA5B,EAA6B,+DAA7B,IAAuC;AAAA;AAAC,SAAxC,EAA0C,gEAA1C,IAAiD;AAAA;AAAC,SAAlD,EAAoD,+DAApD,IAA4D;AAAA;AAAC,SAA7D,EAAgE,+DAAhE;;AACQ;AAAA,yHAAE,6JAAF;AAA+C,SAA/C;;AACb,gJAA4B,wHAA5B;AACM;;AAanB;;AAAA,YADI,+BACJ,EADI;AAAA;AAAI,SACR;AAAA;AAAA;AAvEiB,KAAf;;AAyEF;AA1EN;;AA2EE;;AAAA,QADI,+BACJ,EADI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAa,KACjB;AAAA;AAAA;;AADI;AACmB;AAAA;;AACyB;AAAA,8HAA1C,2GAAQ,qIAAR,OAA0C;AAF5C;AAEiD;AAGjD;AAAA;;AAAA;AAED;AAAA,mBAAqC;AAAA,yCAErB,sHAFqB,GACnB,gHADmB;AAEjB,aAFpB,CAAyB,SAAzB,8FAAyB,CAAzB;;AAGK;AAAA;AALJ;AAAI;AAUJ;AAAA;;AAAA;AACa;AAAA,6BAAG,sBAAH,EAAoB,sBAApB;;AADb;AAAA;;AAAA;AAAA;AAAA;AAAC;AAOP;AAAA,WAEG;AAAA,6BAG4B;AAAA,8HAAjB,uBAAiB;AAAE,SAH9B,MACc;AAAA,0HAAQ,0IAAR;AACA;AAAU;AACM,KALjC,CACG,SADH,yFACG,CADH;AAKiC,C;;;;;;;;AChIrC;AAAA;AACO,SAASlkB,QAAT,CAAkBjF,CAAlB,EAAqBopB,KAArB,EAA4BlkB,OAA5B,EAAqC;AACxC,QAAIlF,KAAK,IAAT,EAAe;AACX,YAAIopB,UAAU,EAAd,EAAkB;AACd,gBAAMzpB,IAAI,CAACK,CAAX;AACA,gBAAI,CAACnB,OAAOoT,KAAP,CAAatS,CAAb,CAAL,EAAsB;AAClB,uBAAO,CAAC,IAAD,EAAOA,CAAP,CAAP;AACH;AACJ;AACJ;AACD,WAAO,CAAC,KAAD,EAAQuF,OAAR,CAAP;AACH;AACM,SAASK,KAAT,CAAevF,CAAf,EAA8B;AAAA,QAAZopB,KAAY,uEAAJ,EAAI;;AACjC,QAAM/jB,IAAIJ,SAASjF,CAAT,EAAYopB,KAAZ,EAAmB,CAAnB,CAAV;AACA,QAAI/jB,EAAE,CAAF,CAAJ,EAAU;AACN,eAAOA,EAAE,CAAF,CAAP;AACH,KAFD,MAGK;AACD;AACA,cAAM,IAAItM,KAAJ,CAAU,2CAAV,CAAN;AACH;AACJ,C;;;;;;;;;;;;AArBD,IAAMswB,aAAa,0CAAnB;AACA,IAAMC,gBAAgB,OAAtB;AACA,IAAMC,gBAAgB,QAAtB;AACA,IAAMC,iBAAiB,QAAvB;AACO,SAASC,OAAT,CAAiBzpB,CAAjB,EAAoBopB,KAApB,EAA2B;AAC9B,QAAM3nB,MAAM4nB,WAAW/jB,IAAX,CAAgBtF,CAAhB,CAAZ;AACA,QAAIyB,OAAO,IAAX,EAAiB;AACb,YAAI2nB,SAAS,IAAb,EAAmB;AACf,oBAAQ3nB,IAAI,CAAJ,CAAR;AACI,qBAAK,IAAL;AACI2nB,4BAAQ,CAAR;AACA;AACJ,qBAAK,IAAL;AACIA,4BAAQ,CAAR;AACA;AACJ,qBAAK,IAAL;AACIA,4BAAQ,EAAR;AACA;AACJ;AACIA,4BAAQ,EAAR;AACA;AAZR;AAcH;AACD,gBAAQA,KAAR;AACI,iBAAK,CAAL;AACI,uBAAOE,cAAc9W,IAAd,CAAmB/Q,IAAI,CAAJ,CAAnB,IAA6B,IAA7B,GAAoC,CAACA,GAAD,EAAM,CAAN,CAA3C;AACJ,iBAAK,CAAL;AACI,uBAAO8nB,cAAc/W,IAAd,CAAmB/Q,IAAI,CAAJ,CAAnB,IAA6B,IAA7B,GAAoC,CAACA,GAAD,EAAM,CAAN,CAA3C;AACJ,iBAAK,EAAL;AACI,uBAAO+nB,eAAehX,IAAf,CAAoB/Q,IAAI,CAAJ,CAApB,IAA8B,IAA9B,GAAqC,CAACA,GAAD,EAAM,EAAN,CAA5C;AACJ,iBAAK,EAAL;AACI,uBAAO,CAACA,GAAD,EAAM,EAAN,CAAP;AACJ;AACI,sBAAM,IAAI1I,KAAJ,CAAU,eAAV,CAAN;AAVR;AAYH;AACD,WAAO,IAAP;AACH;AACD;AACO,SAASkM,QAAT,CAAkBjF,CAAlB,EAAqBopB,KAArB,EAA4BlkB,OAA5B,EAAqC;AACxC,QAAMG,IAAIokB,QAAQzpB,CAAR,EAAWopB,KAAX,CAAV;AACA,QAAI/jB,MAAM,IAAV,EAAgB;AAAA,gCAC2BA,CAD3B;AAAA;AAAA,YACFkM,MADE;AAAA,YACQtN,MADR;AAAA,YACiBylB,MADjB;;AAEZ,YAAM/pB,IAAIqS,SAAS,CAACT,UAAU,EAAX,IAAiBtN,MAA1B,EAAkCylB,MAAlC,CAAV;AACA,YAAI,CAAC7qB,OAAOoT,KAAP,CAAatS,CAAb,CAAL,EAAsB;AAClB,mBAAO,CAAC,IAAD,EAAOA,CAAP,CAAP;AACH;AACJ;AACD,WAAO,CAAC,KAAD,EAAQuF,OAAR,CAAP;AACH;AACM,SAASK,KAAT,CAAevF,CAAf,EAAkBopB,KAAlB,EAAyB;AAC5B,QAAM/jB,IAAIJ,SAASjF,CAAT,EAAYopB,KAAZ,EAAmB,CAAnB,CAAV;AACA,QAAI/jB,EAAE,CAAF,CAAJ,EAAU;AACN,eAAOA,EAAE,CAAF,CAAP;AACH,KAFD,MAGK;AACD,cAAM,IAAItM,KAAJ,CAAU,2CAAV,CAAN;AACH;AACJ,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpDI;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAKD,oBAAgB,+OAAhB;;AAOC,yBAAuB;AAAiB;AAAA;AAAO,KAAP;;AAAjB;AAAA;AAAiC,KAAjC;AAAiC,CAAjC,GAAvB;;;;AAGA,uBAAqB;AAAA;AAAuB,CAAvB,CAArB;;;;AAEiB;AAChB;;AAAA,QADgB,8BAChB,EAAkC;AAAA;AAAM,KAAxC,MADgB;AAC2B;;AAAA,YAD3B,8BAC2B,EAAoC;AAAA;AAAM,SAA1C,MAD3B;AAEhB;;AAAA,gBAFgB,8BAEhB,EAAwC;AAAA;AAAG,aAA3C,MAFgB;AAE8B;;AAAA,oBAF9B,8BAE8B,EAA2B;AAAA;AAAC,iBAA5B,MAAyC;AAAA;AAAK;AAAA;AAAA;AAAA;AAAA;;;;AAE7F,uBAAqB;AAAA;AAAuC,CAAvC,CAArB;;;;AAEA,qBAAmB;AAAA;AAA0C,CAA1C,CAAnB;;;;AAEA,wBAAsB;AAAA;AAAgD,CAAhD,CAAtB;;;;AAEA,yBAAuB;AAAA;AAA8C,CAA9C,CAAvB;;;AAIK;AAAA;;AACJ;;AAAA,QADI,8BACJ;AAAA,gBADI,oIACJ;AAAA,WADI;AAAA;;AAEJ;;AAAA,YAFI,8BAEJ,EAFI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAQ,iBAAR;AAAA;AAAA;AAAQ,aAAR;AAAA;AAAA;AAAQ,SAEZ;AAAA;AAAA;;AAFI;AAAA;AAAA,yBAGD,yEAHC,aAGc,gCAHd;;AAAA;AAAA;;AAIJ;;AAAA,oBAJI,8BAIJ,EAJI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAQ,yBAAR;AAAA;AAAA;AAAQ,qBAAR;AAAA;AAAA;AAAQ,iBAIZ;AAAA;AAAA;;AAJI;AAKF;AAAA,4BAAG,qBAAH;AAAA,qCACK,yEADL,aACoB,6BAAgB,YAAhB,EADpB;AAAA;AAAA,qCAGK,yEAHL,aAGoB,uCAHpB;AAAA;;AALE;AAAA;;AASJ;;AAAA,4BATI,8BASJ,EATI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAQ,iCAAR;AAAA;AAAA;AAAQ,6BAAR;AAAA;AAAA;AAAQ,yBASZ;AAAA;AAAA;;AATI;AAUF;AAAA,oCAAG,qBAAH,EACI;AAAA,wCAAG,cAAH;AAAA,iDACK,yEADL,aACoB,iBADpB;AAAA;AAAA,iDAGK,yEAHL,aAGoB,6BAAgB,YAAhB,EAHpB;AAAA;AAGwC,iCAJ5C;AAAA,6CAMK,yEANL,aAMoB,uCANpB;AAAA;;AAVE;AAiBJ;;AAAA,oCAjBI,8BAiBJ;AAAA,6CACG,gEAlBC,oIAkBD,IADH,EAjBI,oIAiBJ;AAAA,uCAjBI;AAAA;;AAmBJ;;AAAA,wCAnBI,8BAmBJ,EAnBI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAQ,qCAmBZ;AAAA;AAAA;;AAnBI;AAAA;AAAA,qDAoBD,yEApBC,aAoBc,uCApBd;;AAAA;AAqBJ;;AAAA,gDArBI,8BAqBJ;AAAA,wDArBI,oIAqBJ;AAAA,mDArBI;AAsBJ;;AAAA,oDAtBI,8BAsBJ;AAAA,6DACsB,gEAvBlB,oIAuBkB,WADtB,EAtBI,oIAsBJ;AAAA,uDAtBI;AAwBJ;;AAAA,wDAxBI,8BAwBJ;AAAA,iEACG,gEAzBC,oIAyBD,IADH,EAxBI,oIAwBJ;AAAA,2DAxBI;AA0BJ,8KAAY,4IAAZ;;AAAA,4DA1BI,8BA0BJ;AAAA,qEACG,gEA3BC,oIA2BD,IADH,EA1BI,oIA0BJ;AAAA,+DAGE;AAA0C,oIAA1C,4GAAQ,wIAAR;AAAA,qEACmB,gEAAlB,2FAAkB,CADnB,EAC6B,sFAD7B;AACkD;AA9BxC;AAAA;AAAA;;AAAR;AAAQ;;AAAR;;AAAA;;AAAA;AAAQ;AAAA;AAkCd;AACU;AAAA,sBACC;AAAA;AAAkB,SADnB,MAGE;AAAoB;AAApB;AAAA;AACJ,mBAAiB,sJAAjB;AADqB;AAHlB,KAAD;;AADV;AAAA;;AAOE;;AAAA,QADI,8BACJ,EADI;AACY,mDADZ,oIACY;;AAAA,YADZ,8BACY,EADZ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAa,SACD;AAAA;AAAA;AADC,KACjB;AAAA;AAAA;;AADI;AAAA;AAAA,oBAEF,uGAFE,EAEE,iCAFF;;AAAA;AAAA;;AAGJ;;AAAA,gBAHI,8BAGJ,EAHI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAa,aAGjB;AAAA;AAAA;;AAHI;AAAA;AAAA,4BAIF,2GAAC,qFAAD,EAAsB,gEAAtB,EAJE,EAI8B,iBAJ9B;;AAAA;AAAA;AAAA,gCAME,uGANF,EAMM,mBAAa,qCAAb,yBANN;AAAA;AAOJ;;AAAA,4BAPI,8BAOJ;AAAA,oCACE,2GAAC,gEAAD,EADF;AAAA;AAAA,oCAG2B,0GAAzB,qBAAmB,uGAAnB,CAAyB,CAH3B;AAAA;AAPiB;;AAAb;;AAAA;AAUsC;AAG7B;AAAA;;AAAA,4BAEX;AAAA;AAAA;AAAA,0HAAC,uEAAD,EAAmB,gEAAnB;AAA2B,KAFhB,8BAIX;AAAA;AAAA,kIAAM,2GAAC,oEAAD,EAAc,gEAAd,EAAN;AAA4B,KAJjB,MAMX;AAAA;AAAG;AANgB;AAUvB;AAAA,WAAiB;AAAA;AAAY,KAA7B,MAAK,iBAAL;AAA6B;AAIzB;AACI;AAAY;AAAZ,gBACJ,uIADI;AAAS,KAAT;;AAER,WAAiC;AAAA;AAAY,KAA7C,2GAAa,uGAAb,EAAiB,iBAAjB;AAHyB,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChGxB;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAMA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAOD;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA,eAAW,kHAAO,YAAP,UAAsB,YAAtB,UAAsC,YAAtC,UACO,YADP,SACuB,YADvB,SACkC,YADlC,SAC6C,YAD7C,UAEO,aAFP,GAAX;AAIA,kBAAc,qHAAU,YAAV,GAAd;;AAG+B;AAAA;;AAAA;AACpB;;AAAA,YADoB,8BACpB;AAAA;AAAA;AAAA;AAAA;AAD4B,KAAR;AAAA;AAAA;;AAAA;AACM;AAAA;;AAC9B;AAAA;AAFwB;AAEX;;;;AAGnB,2BAAyB;AAAiB;AAAA;AAAO,KAAP;;AAAjB;AAAA;AAAiC,KAAjC;AAAiC,CAAjC,GAAzB;;;;AAGA,yBAAuB;AAAA;AAAuB,CAAvB,CAAvB;;;;AAEA,uBAAqB;AAAA;AAA0B,CAA1B,CAArB;;;AAIG;AAAe;AAAA,6BACA;AAAA;AAAI,SADJ,MAGL;AAAA,6BAA0B,8EAA1B;;AAAA,oCACM;AAAA;AAAI,aADV;AAAA;AAAA;AAAuC;AAEpC,KALE;;AAMnB;AANgB;AAWZ;AAA2B;AAA3B;;AAEF;;AAAA,QADI,8BACJ;AAAA,oBADI,oIACJ;AAAA,WADI;AACiB;;AAAA,YADjB,8BACiB;AAAA,wBADjB,oIACiB;AAAA,eADjB;AACoC;;AAAA,gBADpC,8BACoC;AAAA,4BADpC,oIACoC;AAAA;AAAA;AAAA;AADjC;AAAA;;AAAH;AAAA;AAAA;;AAAA;AAGJ;;AAAA,gBAHI,8BAGJ;AAAA,wBACE,aAJE,oIAIF,IADF,EAHI,oIAGJ;AAAA,mBAHI;AAKJ;;AAAA,oBALI,8BAKJ;AAAA,4BACE,aANE,oIAMF,IADF,EALI,oIAKJ;AAAA;AAAA,4BAGsB,aAApB,iFAAoB,CAHtB,EAG+B,wBAH/B;AAAA;AALO;;AAAH;AADU;AAahB;AACU;AAAA;AAAA,8BAEF;AAAA;AAAgB,aAFd,MAIE;AAAO;AAAP,wBACQ,6HADR;AAAA;AAAA;AAAI;AAJH;AAAA,KAAH;;AAMW,qHAArB,WAAW,uGAAX,MAAqB;AAAQ;AAG7B,mBAAe;AAAA,qHAAa;AAAA;AAAQ,KAArB;AAAqB,CAArB,CAAf;;AAGC,kBACG;AAGG;AAAA,uHAAc;AAAA;AAAI,SAAlB,EADA,sGAAe;AAAA;AAAA,SAAf,OACA;AAAmB,KAAnB;;AACP;AAAA;;AAAA;AACE;;AAAA,gBADF,gCACE,EADF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAQ,aACN;AAAA;AAAA;AADM,SAAR;AAAA;AAAA;;AAAA;AAEU;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAFV;AAAA;AAAA;AAKW,KALX;AAJ0B,CAAtB,GADH;;;;AAkBA,kBAGD;AAAyB;AAAA;;AAAA;AAAA;AACN;;AAAA,oBADM,8BACN;AAAA,iDADM,oIACN,KADM,oIACN;AAAA;AAAA;AAAA;AADc,aAAR;AAAA;AAAA;AAAQ,SAAR;AAAA;AAAA;;AAAA;AAAA;AAAA,wBAEX,yHAFW;;AAAA;AAAA;;AAAA;AAAA;AAAA,gCAIX,qHAJW;;AAAA;AAAA;AAAA;;AAAA;AAKV,KALU;;AAQC;AAAA;;AAAA;AACpB;;AAAA,gBADoB,gCACpB;AAAA;AAAA;AAAA;AAAA;AAD4B,SAAR;AAAA;AAAA;;AAAA;AAEZ;AAAA;;AACJ;;AAAA,oBADI,8BACJ,EADI;AAAA;AAAA;AACsB,uEADtB,oIACsB;;AAAA,gCADtB,8BACsB;AAAA,4CADtB,oIACsB,KADtB,oIACsB,KADtB,oIACsB;AAAA;AAAA;AAAA;AADpB,yBAAF;AAAA;AAAA;AAAE,qBAAF;AAAA;AAAA;AAAE,iBACN;AAAA;AAAA;;AADI;AAAA;AAAA,gCAEI,4MAAW;AAAA;AAAC,yBAAZ,0BAFJ;;AAAA;AAGJ;;AAAA,4BAHI,8BAGJ;AAAA,oCACQ,2GAAC,sGAAW;AAAA;AAAC,6BAAZ,MAJL,oIAIK,IAAD,EADR,EAHI,oIAGJ;AAAA;AAAA,oCAGQ,uGAHR;AAAA;;AAHI;;AAFY;AAQD,KARC;;AAS1B;AAAA;;AAAA;AACE;;AAAA,gBADF,gCACE;AAAA;AAAA;AAAA;AAAA;AADM,SAAR;AAAA;AAAA;;AAAA;AAEU;AAAA;;AAAA;AAAA;AACI;;AAAA,4BADJ,8BACI,EADJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAE,6BAAF;AAAA;AAAA;AAAE,yBACE;AAAA;AAAA;AADF,qBAAF;AAAA;AAAA;AAAE,iBAAF;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAFV;AAKe,KALf;AAKe,CAtBf,GAHC;;;;AA6BgB;AAAA;;AAAA;AACf;;AAAA,YADe,gCACf,EADe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAQ,aAAR;AAAA;AAAA;AAAQ,SACvB;AAAA;AAAA;AADuB,KAAR;AAAA;AAAA;;AAAA;AAEP;AAAA;;AACJ;;AAAA,gBADI,8BACJ,EADI;AAAA;AACS,4EADT,oIACS;;AAAA,wBADT,gCACS;AAAA,qCADT,oIACS,KADT,oIACS;AAAA;AAAA,qCADT,oIACS,KADT,oIACS;AAAA;AADP,iBAAF;AAAA;AAAA;AAAE,aACN;AAAA;AAAA;;AADI;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAIJ;;AAAA,4BAJI,gCAIJ;AAAA;AAAA;AAAA;AAAA;AAJM,qBAAF;AAAA;AAAA;;AAAA;AAAA;AAAA,+CAMO,uGANP;AAAA;;AAAA;;AAFO;AAAA;AAAA;AASN;;;;AAIM;AAAA;;AAAA;AAAA;AACJ;;AAAA,gBADI,8BACJ,EADI;AAAA;AACY,8DADZ,oIACY;;AAAA,wBADZ,8BACY;AAAA,qCADZ,oIACY;AAAA;AAAA;AAAA;AADJ,iBAAR;AAAA;AAAA;AAAQ,aACZ;AAAA;AAAA;AADY,SAAR;AAAA;AAAA;AAAQ,KAAR;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAGN;;;;AAGK;AAAA;;AAAA;AAAA;AAAA;AACF;;AAAA,oBADE,gCACF;AAAA;AAAA;AAAA;AAAA;AADU,aAAR;AAAA;AAAA;AAAQ,SAAR;AAAA;AAAA;AAAQ,KAAR;AAAA;AAAA;;AAAA;AAEN;AAAA;;AAAA;AAAA;AACS;;AAAA,wBADT,8BACS,EADT;AAAA;AACsB,oFADtB,oIACsB;;AAAA,gCADtB,gCACsB,EADtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAE,iCAAF;AAAA;AAAA;AAAA;AAAA;AAAE,6BACoB,MADtB;AAAA;AAAA;AAAA;AAAA;AAAE,yBAAF;AAAA;AAAA;AAAE,qBACO;AAAA;AAAA;AADP,iBAAF;AAAA;AAAA;AAAE,aAAF;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAIS;;AAAA,oCAJT,gCAIS,EAJT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAE,qCAAF;AAAA;AAAA;AAAA;AAAA;AAAE,iCAIO,MAJT;AAAA;AAAA;AAAA;AAAA;AAAE,6BAAF;AAAA;AAAA;AAAE,yBAAF;AAAA;AAAA;AAAE,qBAAF;AAAA;AAAA;;AAAA;AAAA;AAAA,+CAMO,uGANP;;AAAA;AAAA;AAAA;;AAAA;;AAFM;AAAA;AAAA;AAUL;;;;AAIX;AAAA,WAGG;AAAA;AAAc,KAHjB,CAEG,wGADA,sGAAS;AAAA;AAAQ,KAAjB,EADH,+HACG,CACA;AAAA;AAAA,OAFH;AAGiB;;;AAMb;AACA;AACU;AAAA;AAAA,2CAEF;AAAA;AAAiB,iBAFf,MAIF;AAAA,2BAAa,+IAAb;AAAuB;AAJjB,aAAJ;AAAA;AAAA;AAAI,SAAJ;;AAOS,yHAAnB,cAAa,uGAAb,CAAmB;AAAQ,KAR3B;;AAYI;AAAc;AAAA,mBAAgB,+IAAhB;AAAkC,SAAlC;;AACJ,qJAAK;AAAA;AAAS,SAAd;AADV;;AAGF;;AAAA,YADI,8BACJ,EACM;AAAS,sCAAa,YAAb,EAFX,oIAEW,KAA0B,uGAA1B;AACb,wBAAK;AAAA;AAAe,aAApB,EAAqB,UAHnB,oIAGmB,KAHnB,oIAGmB,KAAsB,0HAAtB,CAArB;AADU,SADZ,MADI;AAIJ;;AAAA,gBAJI,8BAIJ,EACE;AAAA,4BAAK;AAAA;AAAiB,iBAAtB,EAAuB,QALrB,oIAKqB,KALrB,oIAKqB,KAAwC,YAAhB,eAAgB,CAAxC,CAAvB,EALE,oIAKF;AAA8E,aADhF,MAJI;AAAA;;AAAA;AAAA;AAAA;AAAA;AAQJ;;AAAA,4BARI,gCAQJ,EARI;AAAA;AAAA;AAAA,wCAQiD;AARjD;AAAA;AAAA;AAQiD;AAAK,qCAAL,EARjD;AAAA;AAAA,2CAQiD;AARjD;AAAA;AAAA;AAQiD;AAAK,qCAAL;AAAA,yEARjD,2HAQiD;AAAA;AAAA;AAAA;AARlC,iCAAf;AAAA;AAAA;AAAe,6BAAf;AAAA,oCAQiD;AARjD;AAAA;AAAA;AAQiD;AAAK,iCAAL,EARjD;AAAA;AAAA;AAAA;AAAA;AAAe,6BAAf;AAAA;AAAA;AAAe,yBAQnB,MARI;AAAA,gCAQiD;AARjD;AAAA;AAAA;AAQiD;AAAK,6BAAL,EARjD;AAAA;AAAA;AAAA;AAAA;AAAe,yBAAf;AAAA;AAAA;AAAe;AAAA,iBAAf;AAAA;AAAA;;AAAA;AAOF;AAAA;AAAA;AAAA,2BAAQ,aAAR;;AAEM;AAAA;;AAAA;AACJ;;AAAA,gCADI,gCACJ,EADI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAE,iCAAF;AAAA;AAAA;AAAE,6BACN,MADI;AAAA;AAAA;AAAA;AAAA;AAAE,yBAAF;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AATJ;AAAA;;AAAA;AAAA;AAAA;AAAA;AAiBJ;;AAAA,oCAjBI,8BAiBJ;AAAA,iDAjBI,oIAiBJ;AAAA;AAAA;AAAA;AAjBmB;AAAA,yBAAf;AAAA;AAAA;;AAAA;AAgBF;AAAA;;AAEA;AAAA;;AAlBE;AAAA,+CAmBQ,uGAnBR;AAAA;;AAAA;AAAe;AAAA;AAFN,KAAX;;AAsBG,6CAAkB,uGAAlB;AACX;AApCe;AA8CX;AAGG;AAAA,uHADA;AAAA;AAAa,SADhB,gIAEG;AAAU,KAAV;;AAIH;AAAA,eACG;AAAyD;AAAA;AAAgB,aAAhB;;AAAzD;AAAA;AAA4E,aAA5E;AAA4E,SAA5E,EADH;AAC+E,KAD/E;;AAKA;AAAA;AAAiC,KAAjC;;AAIA;AAAA;AAAa,KAAb;;AAOI;AACA;AAAA;AAAqC,SAArC;;AAIA;AAAA,uCAAkB,0HAAlB;AAA8C,SAA9C;;AAEE;AAAA,wCAEF;AAAA,uBAIG,oKAJH,CAGG,gKAHH,CAEG,oLAFH,CACG,gKAAgB,uGAAhB,SADH;AAI+B,aAN7B,kCAQE;AAAA;;AACM;;AAAA;AAAA,0JAEF;AAAA,2IAAC,cAFC,6GACE,wHADF,CAED,CAAD;AAAa,qBAFX,MAIF;AAAA;AAAI;AAJa,iBAAf,MAMI;AAAA;AAAA,wDACQ,mCADR;;AAAA;AAEF;AAAA;AAAA;;AAFE;AAAA,sDAMC;AAAA,kJADA,wIADH,0HACG,OAAqB,uGAArB,SADH,qKAEG;AAAQ,6BANT,MAQF;AAAA,mJAAC,oCAAD;AAAe;;AARb;AAAA;AAAe;;AAS7B;AAhBQ,aARN,MA2BF;AAAA,iDAAe,yHAAf;AAAkB;AA3BX,SAAL;AAAA;AAAA;AAPsC,KAAxC;;AAqCL,qHADH,kBAAiB,uGAAjB,EAAoB,sUAApB,EAAqD,sUAArD,CACG;AA5DoB;AAgEvB;AAAA,iHAAqB;AAAA,iCACO,eADP,qBAEQ,SAFR;AAGD,KAHpB;AAG8B;AAI1B;AACM;AAAA;;AAAA,qCAEF;AAAA;AAAQ,SAFN;AAAA,4CAIF;AAAA;AAAQ,aAJN,MAMF;AAAA;AAAG;AANI,SAAL;AAAA;AAAA;AAAK,KAAL;;AAQc,qHAAxB,yGAAY,uGAAZ,QAAwB;AATd;AAaV,WACI;AACM;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAIF;AAAA;;AAJE;AAAA;AAAA;AAAU,KAAV;;AAMV;AAAA,gCAAS;AAAA,4BAAT,aAAS;AAAA,SAAT;AAAA;AAPsB,CAAlB,GADJ;AAWA,iBACA;AAAA,WAAoB;AAAA;AAAc,KAAlC;AAAA;AAAA;AAAQ,SAAR;AAAA;AAAA,EADA;AAKA,qBACA;AAAA,WAAiC;AAAA;AAAY,KAA7C;AAAA;AAAA,6HAAa;AAAA;AAAQ,aAArB;AAAqB,SAArB;AAAA;AAAA,EADA,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzTA,cAAU,wEAAV;AAIM;AAAA,wBAEQ;AAAA,eAAO,2FAAP;AAA6B,KAFrC,0BAGQ;AAAA,eAAuB,6FAAvB;AAA+C,KAHvD,0BAIU;AAAA,eAAuB,yFAAvB;AAA2C,KAJrD,MACW;AAAA;AAAG;AADV;AASN;AACA;AAAA,uBACM,gBAE4B,uFAAoB,kIAApB,QAAd,oBAAc,CAF5B,mBAIE;AAAQ;AACZ;AADS,SAAL,EAJF,GACiB,iBAFvB;AAM0C,KAN1C;;AAOJ;AARwB;AAYpB;AACA;AAAA,2BAAY,uBAAZ;AAAkC,KAAlC;;AACJ,WACG,wFADH;AAFyB;AASrB;AAEM;AAAA;AAAG,KAAH;;AAFN;;AAK2C;AAAA;AAAI,KAAJ;;AAA5B;AAAA;AAAiE,KAAjE;;AACF;AACF,yIAAa;AAAA,eAAiB;AAAA;AAAG,SAApB;AAAA,KAAb;;AAEP;AAGQ;AAAU;AACI;AAER;AAKV,0BAAO,2FAAwB,sHAAxB,oBAAP;AARW,SAAP;;AASZ;AAZyB,KAArB;;AAcA;AACA;AAAA,mBAEY;AAAA;AAAQ,aAFpB,CACG,yFADH;AAEoB,SAFpB;;AAGJ;AAJuB,KAAnB;;AAKR,WAGG,4FAHH,CAEI;AAAA,qBAA0B,4FAArB,oBAAL;AAAkD,KAFtD,CAAuB,4FAAvB;AA5B6B;AAoCzB;AACA;AAAA,uBACU,eAEgB,gBAFhB,GAC0C,yFAA1B,4BAF1B;AAIK,KAJL;;AAOc,kBAAG,qBAAG,mEAAH,CAAH;AACd,WACG,4FADH;AATmB;AAgBf;AAAU,wBAAM,uBAAN;AACd,WAEG,4FAFH,CACG,oCADH;AADW;AAOX;AAAc,6CAAsB,oBAAtB;AAClB,WAEG,0FAFH,CACG,uFAAoB,oHAAS,oBAAT,GAApB,cADH;AADS;;AAOH;AAAA;;AAAA;AAIF;AAAA,gBAAG,+BAAH;AAAA;AAAA;AAAA;AAAA;;AAJE;AAAA;AAAA;AAAG;;;AAUL;AACc;AAAA;AAAiB,KAAjB;;AAEd;AAAmB;AAAnB;AAAmC,KAAnC;;AAEA;AAAA;AAAwB,KAAxB;;AAGM;AAAA;;AAAA;AAEF;AAA2C,mCAA3C,4GAAQ,kIAAR;AACmB,2MAAW;AAAmB;AAAnB;AAAwC,iBAAxC,EAAX;AAAnB;;AAGA;AAA6C,mCAA7C,4GAAQ,oIAAR;AACA,uBAAY,8IAAZ;AAPE;AAAU,KAAV;;AAUF;AAAU;AAAA,iCACa;AAAA;AAAC,aADd,MAEC;AAAA;AAAyB;AAAA,SAF1B;;AAKN;AAAU;AAAA,wCAEF;AAAA,sIAAU,yIAAV;AAAyC,iBAFvC,MACM;AAAA,oIAAC,iBAAmB,OAAnB,EAAyB,mBAAzB,CAAD;AAA0D;AACzB,aAFvC;;AAAV;;AAGG,gBACM,iBADN,EAEH;AAAmB;AAAnB;AAAsC,aAFnC,+BAIK;AAAA,uBAAY,wJAAZ;AAA4B,aAJjC,UAKM,iBALN,EAKe;AAAA;AAA4C,aAL3D,MAMA;AAAA,kIAAU,gIAAV;AAAkC;AAT9B,SAAP;;AAUR;AAfW,KAAP;;AAmBJ;AAAA,YAC0C,iBAD1C;AAAA,oBAGiC,iJAA1B,uFAHP;AAAA,mBAKyC,oBALzC;AAAA,oBAOW,qJADH,qEAAW,6DAAU,mEAAV,EAAsB,2GAAC,qFAAD,EAAtB,SAAX,EANR;AAAA,mBASyC,sBATzC,EAUO;AAAyC,+BAAzC,4GAAQ,2HAAR;AAAA,oBAC0B,iJAA1B,uFADA;AACmD,SAX1D,UAayC,oBAbzC;AAAA,oBAckC,0IAAiB,eAAjB,UAA1B,uFAdR;AAAA;AAAA;AAAA;AAeQ,KAfR;;AAkBA;AACQ;AAAa;AAAA,qCACI;AAAA,+FAAW;AAAkB;AAAlB;AAA8C,qBAA9C,EAAX;AAA0D,iBAD9D;AAAA;AAAA;AAEL,aAFK;;AAId,6HADH,qHACG;AAJW,SAAV;;AAKS,mIAAU,2BAAV;AAAjB;AAAuD,KANvD;;AAaD,mBAJH,QAEa;AAAiB;AAAjB;AAAqC,KAFlD,8GAAgB;AAAmB;AAAnB,4EAAgC,mEAAhC;AAAmC,KAAnC,EAAhB,yBAIG;AApE+B;AAoG9B;AACM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAI,KAAJ;;AAGV;AAJwB;AASpB;AACA;AAAA,sBACM;AAAA;AACW;AAAA;;AACJ;AAAA,2BAAuB,wFAAvB;;AACS;AAAA,qHAAuB,wHAAc,iFAAd,GAAvB;;AACN;AAAA;;AACJ;AAAA;;AACE;AAAA;;AACU;AAAA;;AACF;AAAA;;AACf;AAAA,sIAAQ,mIAAR;AATD;AAAI,SAAJ,EADN;AAU2C,KAV3C;;AAWJ;AAZoB,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9NnB;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAMD;AAAA;AAAoC;AAKhC;AACuC;AAAA;AAAqB,KAArB;;AAC3C;AAFe;AAQX;AAAA;AACM;;AAAA;AAAA;AAAA,WAGE;AACA;AAAA,0BACM;AAAA;;AAAA;AAAA;AAAA;;AAGF;AAAA,sCACG,eAAH,cACK,kCAFL;AAHE;AAAa,aAAb,EADN;AAMwC,SANxC;;AAOJ;AARiC;;AASzC,sDAEE,eAAqB,oBAArB,KAFF;AAbW;AAkBe;AAAA;AAAuB;AAAvB;AAAA;AAA+B,SAA/B;AAA+B,KAA/B;AAA+B,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnCzD,aAAS,wEAAT;AAII;AAAa;AAKjB,sHAAQ,oHAAR;AALQ;AASF;AAAA,wBAEQ;AAAA;AAAiB,KAFzB,0BAG+B;AAAA,8BAAtB,2BAAsB;AAAa,KAH5C,0BAIgC;AAAA,6BAAtB,2BAAsB;AAAY,KAJ5C,MACW;AAAA;AAAG;AADV;AASN;AAAc;AAAA;AAAY,KAAZ;;AACC;AAAA;AAAY,KAAZ;;AAEf;AAAA,uBACM,gBAEe,iCAAD,GAA+B,wBAF7C,mBAG0C,2GAAQ,iHAAR,CAAvB,2BAAD,GAA4C,wBAH9D,GACiB,gBAFvB;AAIuF,KAJvF;;AAKJ;AARe;AAaX;AACA;AAAA,2BAAY,sBAAZ;AAAiC,KAAjC;;AACJ;AAFyB;AAQrB;AAEM;AAAA;AAAG,KAAH;;AAFN;;AAK2C;AAAA;AAAI,KAAJ;;AAA5B;AAAA;AAAiE,KAAjE;;AACF;AACF,yIAAa;AAAA,eAAiB;AAAA;AAAG,SAApB;AAAA,KAAb;;AAEP;AAGI;AAAA,mBASuB;AAAA;AAAwB,aAT/C,CAAM,aAEI,4GAFJ,GAQF,8BARJ;AASgD,SAThD;;AAWR,qHAAW,gJAAX;AAdkC,KAA9B;;AAiBA;AACA;AAAA,4BAAO,4BAAP;AAAsC,SAAtC;;AACJ,qHAAW,iJAAX;AAFgC,KAA5B;;AAGa;AACA;AACrB,wCACG,6BADH,GAEE,wBAFF;AA/B6B;AAqCzB;AACQ;AAAA;AAAA,oBAAY,gBAAZ,EAAsB,gBAAtB;AAAA;;AACE,0BAOgB;AAAA;AAAsB,SAPtC,MACgB;AAAA,2BAClB;AAAA,6BAGO,0FADH,2GAAQ,wHAAR,EAAsB,wHAAtB,oBACG,CAHP,GAIK,2GAAQ,sHAAR,EAAoB,wHAApB,MAJL;AAIqD,aALnC;AAK+C;AAPxD,KAAT;;AAYE,qCAAG,mEAAH;AAbV,WAcA,sGAAW,4IAAgB,cAAhB,EAAX,yBAdA;AAAmC;AAqBnC;AAAA,WACG,mOAAQ,qHAAR,IAAmB,gIAAnB,EADH,CAAS,mCAAT;AAC8C;AAI9C;AACA;AAAA,sBACM;AAAA;AACW;AAAA;;AAEK;AAAA,2CAAgB,8GAAhB;;AACN;AAAA;;AACJ;AAAA,2BAAY,2GAAQ,kHAAR,CAAZ;;AACE;AAAA;;AAEP;AAAA,sIAAQ,mIAAR;AARD;AAAI,SAAJ,EADN;AAS2C,KAT3C;;AAUJ;AAXoB,C","file":"fmark.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"fmark\"] = factory();\n\telse\n\t\troot[\"fmark\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 22);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 7df7f59fcb20329f9c06","export function map(f, source, TargetCons) {\n const target = new TargetCons(source.length);\n for (let i = 0; i < source.length; i++) {\n target[i] = f(source[i]);\n }\n return target;\n}\nexport function mapIndexed(f, source, TargetCons) {\n const target = new TargetCons(source.length);\n for (let i = 0; i < source.length; i++) {\n target[i] = f(i, source[i]);\n }\n return target;\n}\nexport function indexed(source) {\n return mapIndexed((i, x) => [i, x], source, Array);\n}\nexport function addRangeInPlace(range, xs) {\n const iter = range[Symbol.iterator]();\n let cur = iter.next();\n while (!cur.done) {\n xs.push(cur.value);\n cur = iter.next();\n }\n}\nexport function copyTo(source, sourceIndex, target, targetIndex, count) {\n while (count--) {\n target[targetIndex++] = source[sourceIndex++];\n }\n}\nexport function partition(f, xs) {\n const ys = [];\n const zs = [];\n let j = 0;\n let k = 0;\n for (let i = 0; i < xs.length; i++) {\n if (f(xs[i])) {\n ys[j++] = xs[i];\n }\n else {\n zs[k++] = xs[i];\n }\n }\n return [ys, zs];\n}\nexport function permute(f, xs) {\n // Keep the type of the array\n const ys = xs.map(() => null);\n const checkFlags = new Array(xs.length);\n for (let i = 0; i < xs.length; i++) {\n const j = f(i);\n if (j < 0 || j >= xs.length) {\n throw new Error(\"Not a valid permutation\");\n }\n ys[j] = xs[i];\n checkFlags[j] = 1;\n }\n for (let i = 0; i < xs.length; i++) {\n if (checkFlags[i] !== 1) {\n throw new Error(\"Not a valid permutation\");\n }\n }\n return ys;\n}\nexport function removeInPlace(item, xs) {\n const i = xs.indexOf(item);\n if (i > -1) {\n xs.splice(i, 1);\n return true;\n }\n return false;\n}\nexport function setSlice(target, lower, upper, source) {\n const length = (upper || target.length - 1) - lower;\n if (ArrayBuffer.isView(target) && source.length <= length) {\n target.set(source, lower);\n }\n else {\n for (let i = lower | 0, j = 0; j <= length; i++, j++) {\n target[i] = source[j];\n }\n }\n}\nexport function sortInPlaceBy(f, xs, dir = 1) {\n return xs.sort((x, y) => {\n x = f(x);\n y = f(y);\n return (x < y ? -1 : x === y ? 0 : 1) * dir;\n });\n}\nexport function unzip(xs) {\n const bs = new Array(xs.length);\n const cs = new Array(xs.length);\n for (let i = 0; i < xs.length; i++) {\n bs[i] = xs[i][0];\n cs[i] = xs[i][1];\n }\n return [bs, cs];\n}\nexport function unzip3(xs) {\n const bs = new Array(xs.length);\n const cs = new Array(xs.length);\n const ds = new Array(xs.length);\n for (let i = 0; i < xs.length; i++) {\n bs[i] = xs[i][0];\n cs[i] = xs[i][1];\n ds[i] = xs[i][2];\n }\n return [bs, cs, ds];\n}\nexport function chunkBySize(size, xs) {\n if (size < 1) {\n throw new Error(\"The input must be positive. parameter name: chunkSize\");\n }\n if (xs.length === 0) {\n return [[]];\n }\n const result = [];\n // add each chunk to the result\n for (let x = 0; x < Math.ceil(xs.length / size); x++) {\n const start = x * size;\n const end = start + size;\n result.push(xs.slice(start, end));\n }\n return result;\n}\nexport function getSubArray(xs, startIndex, count) {\n return xs.slice(startIndex, startIndex + count);\n}\nexport function fill(target, targetIndex, count, value) {\n target.fill(value, targetIndex, targetIndex + count);\n}\nexport function splitAt(index, xs) {\n if (index < 0) {\n throw new Error(\"The input must be non-negative.\");\n }\n if (index > xs.length) {\n throw new Error(\"The input sequence has an insufficient number of elements.\");\n }\n return [xs.slice(0, index), xs.slice(index)];\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Common/FMark.fs","import { permute as arrayPermute } from \"./Array\";\nimport { chunkBySize as arrayChunkBySize } from \"./Array\";\nimport List from \"./ListClass\";\nimport { getValue, Some } from \"./Option\";\nimport { compare, equals } from \"./Util\";\nexport class Enumerator {\n constructor(iter) {\n this.iter = iter;\n }\n MoveNext() {\n const cur = this.iter.next();\n this.current = cur.value;\n return !cur.done;\n }\n get Current() { return this.current; }\n get get_Current() { return this.current; }\n Reset() {\n throw new Error(\"JS iterators cannot be reset\");\n }\n Dispose() { return; }\n}\nexport function getEnumerator(o) {\n return typeof o.GetEnumerator === \"function\"\n ? o.GetEnumerator() : new Enumerator(o[Symbol.iterator]());\n}\nexport function toIterator(en) {\n return {\n next() {\n return en.MoveNext()\n ? { done: false, value: en.Current }\n : { done: true, value: null };\n },\n };\n}\nfunction __failIfNone(res) {\n if (res == null) {\n throw new Error(\"Seq did not contain any matching element\");\n }\n return getValue(res);\n}\nexport function toList(xs) {\n return foldBack((x, acc) => new List(x, acc), xs, new List());\n}\nexport function ofList(xs) {\n return delay(() => unfold((x) => x.tail != null ? [x.head, x.tail] : null, xs));\n}\nexport function ofArray(xs) {\n return delay(() => unfold((i) => i < xs.length ? [xs[i], i + 1] : null, 0));\n}\nexport function append(xs, ys) {\n return delay(() => {\n let firstDone = false;\n const i = xs[Symbol.iterator]();\n let iters = [i, null];\n return unfold(() => {\n let cur;\n if (!firstDone) {\n cur = iters[0].next();\n if (!cur.done) {\n return [cur.value, iters];\n }\n else {\n firstDone = true;\n iters = [null, ys[Symbol.iterator]()];\n }\n }\n cur = iters[1].next();\n return !cur.done ? [cur.value, iters] : null;\n }, iters);\n });\n}\nexport function average(xs) {\n let count = 1;\n const sum = reduce((acc, x) => {\n count++;\n return acc + x;\n }, xs);\n return sum / count;\n}\nexport function averageBy(f, xs) {\n let count = 1;\n const sum = reduce((acc, x) => {\n count++;\n return (count === 2 ? f(acc) : acc) + f(x);\n }, xs);\n return sum / count;\n}\nexport function concat(xs) {\n return delay(() => {\n const iter = xs[Symbol.iterator]();\n let output = { value: null };\n return unfold((innerIter) => {\n let hasFinished = false;\n while (!hasFinished) {\n if (innerIter == null) {\n const cur = iter.next();\n if (!cur.done) {\n innerIter = cur.value[Symbol.iterator]();\n }\n else {\n hasFinished = true;\n }\n }\n else {\n const cur = innerIter.next();\n if (!cur.done) {\n output = { value: cur.value };\n hasFinished = true;\n }\n else {\n innerIter = null;\n }\n }\n }\n return innerIter != null && output != null ? [output.value, innerIter] : null;\n }, null);\n });\n}\nexport function collect(f, xs) {\n return concat(map(f, xs));\n}\nexport function choose(f, xs) {\n return delay(() => unfold((iter) => {\n let cur = iter.next();\n while (!cur.done) {\n const y = f(cur.value);\n if (y != null) {\n return [getValue(y), iter];\n }\n cur = iter.next();\n }\n return null;\n }, xs[Symbol.iterator]()));\n}\nexport function compareWith(f, xs, ys) {\n const nonZero = tryFind((i) => i !== 0, map2((x, y) => f(x, y), xs, ys));\n return nonZero != null ? getValue(nonZero) : count(xs) - count(ys);\n}\nexport function delay(f) {\n return {\n [Symbol.iterator]: () => f()[Symbol.iterator](),\n };\n}\nexport function empty() {\n return unfold(() => void 0);\n}\nexport function enumerateWhile(cond, xs) {\n return concat(unfold(() => cond() ? [xs, true] : null));\n}\nexport function enumerateThenFinally(xs, finalFn) {\n return delay(() => {\n let iter;\n try {\n iter = xs[Symbol.iterator]();\n }\n catch (err) {\n return void 0;\n }\n finally {\n finalFn();\n }\n return unfold((it) => {\n try {\n const cur = it.next();\n return !cur.done ? [cur.value, it] : null;\n }\n catch (err) {\n return void 0;\n }\n finally {\n finalFn();\n }\n }, iter);\n });\n}\nexport function enumerateUsing(disp, work) {\n let isDisposed = false;\n const disposeOnce = () => {\n if (!isDisposed) {\n isDisposed = true;\n disp.Dispose();\n }\n };\n try {\n return enumerateThenFinally(work(disp), disposeOnce);\n }\n catch (err) {\n return void 0;\n }\n finally {\n disposeOnce();\n }\n}\nexport function exactlyOne(xs) {\n const iter = xs[Symbol.iterator]();\n const fst = iter.next();\n if (fst.done) {\n throw new Error(\"Seq was empty\");\n }\n const snd = iter.next();\n if (!snd.done) {\n throw new Error(\"Seq had multiple items\");\n }\n return fst.value;\n}\nexport function except(itemsToExclude, source) {\n const exclusionItems = Array.from(itemsToExclude);\n const testIsNotInExclusionItems = (element) => !exclusionItems.some((excludedItem) => equals(excludedItem, element));\n return filter(testIsNotInExclusionItems, source);\n}\nexport function exists(f, xs) {\n let cur;\n for (const iter = xs[Symbol.iterator]();;) {\n cur = iter.next();\n if (cur.done) {\n break;\n }\n if (f(cur.value)) {\n return true;\n }\n }\n return false;\n}\nexport function exists2(f, xs, ys) {\n let cur1;\n let cur2;\n for (const iter1 = xs[Symbol.iterator](), iter2 = ys[Symbol.iterator]();;) {\n cur1 = iter1.next();\n cur2 = iter2.next();\n if (cur1.done || cur2.done) {\n break;\n }\n if (f(cur1.value, cur2.value)) {\n return true;\n }\n }\n return false;\n}\nexport function filter(f, xs) {\n return delay(() => unfold((iter) => {\n let cur = iter.next();\n while (!cur.done) {\n if (f(cur.value)) {\n return [cur.value, iter];\n }\n cur = iter.next();\n }\n return null;\n }, xs[Symbol.iterator]()));\n}\nexport function where(f, xs) {\n return filter(f, xs);\n}\nexport function fold(f, acc, xs) {\n if (Array.isArray(xs) || ArrayBuffer.isView(xs)) {\n return xs.reduce(f, acc);\n }\n else {\n let cur;\n for (let i = 0, iter = xs[Symbol.iterator]();; i++) {\n cur = iter.next();\n if (cur.done) {\n break;\n }\n acc = f(acc, cur.value, i);\n }\n return acc;\n }\n}\nexport function foldBack(f, xs, acc) {\n const arr = Array.isArray(xs) || ArrayBuffer.isView(xs) ? xs : Array.from(xs);\n for (let i = arr.length - 1; i >= 0; i--) {\n acc = f(arr[i], acc, i);\n }\n return acc;\n}\nexport function fold2(f, acc, xs, ys) {\n const iter1 = xs[Symbol.iterator]();\n const iter2 = ys[Symbol.iterator]();\n let cur1;\n let cur2;\n for (let i = 0;; i++) {\n cur1 = iter1.next();\n cur2 = iter2.next();\n if (cur1.done || cur2.done) {\n break;\n }\n acc = f(acc, cur1.value, cur2.value, i);\n }\n return acc;\n}\nexport function foldBack2(f, xs, ys, acc) {\n const ar1 = Array.isArray(xs) || ArrayBuffer.isView(xs) ? xs : Array.from(xs);\n const ar2 = Array.isArray(ys) || ArrayBuffer.isView(ys) ? ys : Array.from(ys);\n for (let i = ar1.length - 1; i >= 0; i--) {\n acc = f(ar1[i], ar2[i], acc, i);\n }\n return acc;\n}\nexport function forAll(f, xs) {\n return fold((acc, x) => acc && f(x), true, xs);\n}\nexport function forAll2(f, xs, ys) {\n return fold2((acc, x, y) => acc && f(x, y), true, xs, ys);\n}\nexport function tryHead(xs) {\n const iter = xs[Symbol.iterator]();\n const cur = iter.next();\n return cur.done ? null : new Some(cur.value);\n}\nexport function head(xs) {\n return __failIfNone(tryHead(xs));\n}\nexport function initialize(n, f) {\n return delay(() => unfold((i) => i < n ? [f(i), i + 1] : null, 0));\n}\nexport function initializeInfinite(f) {\n return delay(() => unfold((i) => [f(i), i + 1], 0));\n}\nexport function tryItem(i, xs) {\n if (i < 0) {\n return null;\n }\n if (Array.isArray(xs) || ArrayBuffer.isView(xs)) {\n return i < xs.length ? new Some(xs[i]) : null;\n }\n for (let j = 0, iter = xs[Symbol.iterator]();; j++) {\n const cur = iter.next();\n if (cur.done) {\n break;\n }\n if (j === i) {\n return new Some(cur.value);\n }\n }\n return null;\n}\nexport function item(i, xs) {\n return __failIfNone(tryItem(i, xs));\n}\nexport function iterate(f, xs) {\n fold((_, x) => f(x), null, xs);\n}\nexport function iterate2(f, xs, ys) {\n fold2((_, x, y) => f(x, y), null, xs, ys);\n}\nexport function iterateIndexed(f, xs) {\n fold((_, x, i) => f(i, x), null, xs);\n}\nexport function iterateIndexed2(f, xs, ys) {\n fold2((_, x, y, i) => f(i, x, y), null, xs, ys);\n}\nexport function isEmpty(xs) {\n const i = xs[Symbol.iterator]();\n return i.next().done;\n}\nexport function tryLast(xs) {\n try {\n return new Some(reduce((_, x) => x, xs));\n }\n catch (err) {\n return null;\n }\n}\nexport function last(xs) {\n return __failIfNone(tryLast(xs));\n}\n// A export function 'length' method causes problems in JavaScript -- https://github.com/Microsoft/TypeScript/issues/442\nexport function count(xs) {\n return Array.isArray(xs) || ArrayBuffer.isView(xs)\n ? xs.length\n : fold((acc, x) => acc + 1, 0, xs);\n}\nexport function map(f, xs) {\n return delay(() => unfold((iter) => {\n const cur = iter.next();\n return !cur.done ? [f(cur.value), iter] : null;\n }, xs[Symbol.iterator]()));\n}\nexport function mapIndexed(f, xs) {\n return delay(() => {\n let i = 0;\n return unfold((iter) => {\n const cur = iter.next();\n return !cur.done ? [f(i++, cur.value), iter] : null;\n }, xs[Symbol.iterator]());\n });\n}\nexport function indexed(xs) {\n return mapIndexed((i, x) => [i, x], xs);\n}\nexport function map2(f, xs, ys) {\n return delay(() => {\n const iter1 = xs[Symbol.iterator]();\n const iter2 = ys[Symbol.iterator]();\n return unfold(() => {\n const cur1 = iter1.next();\n const cur2 = iter2.next();\n return !cur1.done && !cur2.done ? [f(cur1.value, cur2.value), null] : null;\n });\n });\n}\nexport function mapIndexed2(f, xs, ys) {\n return delay(() => {\n let i = 0;\n const iter1 = xs[Symbol.iterator]();\n const iter2 = ys[Symbol.iterator]();\n return unfold(() => {\n const cur1 = iter1.next();\n const cur2 = iter2.next();\n return !cur1.done && !cur2.done ? [f(i++, cur1.value, cur2.value), null] : null;\n });\n });\n}\nexport function map3(f, xs, ys, zs) {\n return delay(() => {\n const iter1 = xs[Symbol.iterator]();\n const iter2 = ys[Symbol.iterator]();\n const iter3 = zs[Symbol.iterator]();\n return unfold(() => {\n const cur1 = iter1.next();\n const cur2 = iter2.next();\n const cur3 = iter3.next();\n return !cur1.done && !cur2.done && !cur3.done ? [f(cur1.value, cur2.value, cur3.value), null] : null;\n });\n });\n}\nexport function chunkBySize(size, xs) {\n const result = arrayChunkBySize(size, Array.from(xs));\n return ofArray(result.map(ofArray));\n}\nexport function mapFold(f, acc, xs, transform) {\n const result = [];\n let r;\n let cur;\n for (let i = 0, iter = xs[Symbol.iterator]();; i++) {\n cur = iter.next();\n if (cur.done) {\n break;\n }\n [r, acc] = f(acc, cur.value);\n result.push(r);\n }\n return transform !== void 0 ? [transform(result), acc] : [result, acc];\n}\nexport function mapFoldBack(f, xs, acc, transform) {\n const arr = Array.isArray(xs) || ArrayBuffer.isView(xs) ? xs : Array.from(xs);\n const result = [];\n let r;\n for (let i = arr.length - 1; i >= 0; i--) {\n [r, acc] = f(arr[i], acc);\n result.push(r);\n }\n return transform !== void 0 ? [transform(result), acc] : [result, acc];\n}\nexport function max(xs) {\n return reduce((acc, x) => compare(acc, x) === 1 ? acc : x, xs);\n}\nexport function maxBy(f, xs) {\n return reduce((acc, x) => compare(f(acc), f(x)) === 1 ? acc : x, xs);\n}\nexport function min(xs) {\n return reduce((acc, x) => compare(acc, x) === -1 ? acc : x, xs);\n}\nexport function minBy(f, xs) {\n return reduce((acc, x) => compare(f(acc), f(x)) === -1 ? acc : x, xs);\n}\nexport function pairwise(xs) {\n return skip(2, scan((last, next) => [last[1], next], [0, 0], xs));\n}\nexport function permute(f, xs) {\n return ofArray(arrayPermute(f, Array.from(xs)));\n}\nexport function rangeStep(first, step, last) {\n if (step === 0) {\n throw new Error(\"Step cannot be 0\");\n }\n return delay(() => unfold((x) => step > 0 && x <= last || step < 0 && x >= last ? [x, x + step] : null, first));\n}\nexport function rangeChar(first, last) {\n return delay(() => unfold((x) => x <= last ? [x, String.fromCharCode(x.charCodeAt(0) + 1)] : null, first));\n}\nexport function range(first, last) {\n return rangeStep(first, 1, last);\n}\nexport function readOnly(xs) {\n return map((x) => x, xs);\n}\nexport function reduce(f, xs) {\n if (Array.isArray(xs) || ArrayBuffer.isView(xs)) {\n return xs.reduce(f);\n }\n const iter = xs[Symbol.iterator]();\n let cur = iter.next();\n if (cur.done) {\n throw new Error(\"Seq was empty\");\n }\n let acc = cur.value;\n while (true) {\n cur = iter.next();\n if (cur.done) {\n break;\n }\n acc = f(acc, cur.value);\n }\n return acc;\n}\nexport function reduceBack(f, xs) {\n const ar = Array.isArray(xs) || ArrayBuffer.isView(xs) ? xs : Array.from(xs);\n if (ar.length === 0) {\n throw new Error(\"Seq was empty\");\n }\n let acc = ar[ar.length - 1];\n for (let i = ar.length - 2; i >= 0; i--) {\n acc = f(ar[i], acc, i);\n }\n return acc;\n}\nexport function replicate(n, x) {\n return initialize(n, () => x);\n}\nexport function reverse(xs) {\n const ar = Array.isArray(xs) || ArrayBuffer.isView(xs) ? xs.slice(0) : Array.from(xs);\n return ofArray(ar.reverse());\n}\nexport function scan(f, seed, xs) {\n return delay(() => {\n const iter = xs[Symbol.iterator]();\n return unfold((acc) => {\n if (acc == null) {\n return [seed, seed];\n }\n const cur = iter.next();\n if (!cur.done) {\n acc = f(acc, cur.value);\n return [acc, acc];\n }\n return void 0;\n }, null);\n });\n}\nexport function scanBack(f, xs, seed) {\n return reverse(scan((acc, x) => f(x, acc), seed, reverse(xs)));\n}\nexport function singleton(y) {\n return unfold((x) => x != null ? [x, null] : null, y);\n}\nexport function skip(n, xs) {\n return {\n [Symbol.iterator]: () => {\n const iter = xs[Symbol.iterator]();\n for (let i = 1; i <= n; i++) {\n if (iter.next().done) {\n throw new Error(\"Seq has not enough elements\");\n }\n }\n return iter;\n },\n };\n}\nexport function skipWhile(f, xs) {\n return delay(() => {\n let hasPassed = false;\n return filter((x) => hasPassed || (hasPassed = !f(x)), xs);\n });\n}\nexport function sortWith(f, xs) {\n const ys = Array.from(xs);\n return ofArray(ys.sort(f));\n}\nexport function sum(xs) {\n return fold((acc, x) => acc + x, 0, xs);\n}\nexport function sumBy(f, xs) {\n return fold((acc, x) => acc + f(x), 0, xs);\n}\nexport function tail(xs) {\n const iter = xs[Symbol.iterator]();\n const cur = iter.next();\n if (cur.done) {\n throw new Error(\"Seq was empty\");\n }\n return {\n [Symbol.iterator]: () => iter,\n };\n}\nexport function take(n, xs, truncate = false) {\n return delay(() => {\n const iter = xs[Symbol.iterator]();\n return unfold((i) => {\n if (i < n) {\n const cur = iter.next();\n if (!cur.done) {\n return [cur.value, i + 1];\n }\n if (!truncate) {\n throw new Error(\"Seq has not enough elements\");\n }\n }\n return void 0;\n }, 0);\n });\n}\nexport function truncate(n, xs) {\n return take(n, xs, true);\n}\nexport function takeWhile(f, xs) {\n return delay(() => {\n const iter = xs[Symbol.iterator]();\n return unfold((i) => {\n const cur = iter.next();\n if (!cur.done && f(cur.value)) {\n return [cur.value, null];\n }\n return void 0;\n }, 0);\n });\n}\nexport function tryFind(f, xs, defaultValue) {\n for (let i = 0, iter = xs[Symbol.iterator]();; i++) {\n const cur = iter.next();\n if (cur.done) {\n break;\n }\n if (f(cur.value, i)) {\n return new Some(cur.value);\n }\n }\n return defaultValue === void 0 ? null : new Some(defaultValue);\n}\nexport function find(f, xs) {\n return __failIfNone(tryFind(f, xs));\n}\nexport function tryFindBack(f, xs, defaultValue) {\n const arr = Array.isArray(xs) || ArrayBuffer.isView(xs) ? xs.slice(0) : Array.from(xs);\n return tryFind(f, arr.reverse(), defaultValue);\n}\nexport function findBack(f, xs) {\n return __failIfNone(tryFindBack(f, xs));\n}\nexport function tryFindIndex(f, xs) {\n for (let i = 0, iter = xs[Symbol.iterator]();; i++) {\n const cur = iter.next();\n if (cur.done) {\n break;\n }\n if (f(cur.value, i)) {\n return i;\n }\n }\n return null;\n}\nexport function findIndex(f, xs) {\n return __failIfNone(tryFindIndex(f, xs));\n}\nexport function tryFindIndexBack(f, xs) {\n const arr = Array.isArray(xs) || ArrayBuffer.isView(xs) ? xs.slice(0) : Array.from(xs);\n for (let i = arr.length - 1; i >= 0; i--) {\n if (f(arr[i], i)) {\n return i;\n }\n }\n return null;\n}\nexport function findIndexBack(f, xs) {\n return __failIfNone(tryFindIndexBack(f, xs));\n}\nexport function tryPick(f, xs) {\n for (let i = 0, iter = xs[Symbol.iterator]();; i++) {\n const cur = iter.next();\n if (cur.done) {\n break;\n }\n const y = f(cur.value, i);\n if (y != null) {\n return y;\n }\n }\n return null;\n}\nexport function pick(f, xs) {\n return __failIfNone(tryPick(f, xs));\n}\nexport function unfold(f, fst) {\n return {\n [Symbol.iterator]: () => {\n // Capture a copy of the first value in the closure\n // so the sequence is restarted every time, see #1230\n let acc = fst;\n return {\n next: () => {\n const res = f(acc);\n if (res != null) {\n acc = res[1];\n return { done: false, value: res[0] };\n }\n return { done: true };\n },\n };\n },\n };\n}\nexport function zip(xs, ys) {\n return map2((x, y) => [x, y], xs, ys);\n}\nexport function zip3(xs, ys, zs) {\n return map3((x, y, z) => [x, y, z], xs, ys, zs);\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/FMarkFable/FMarkFable.fs","module Types\n\ntype Language =\n | Python\n | FSharp\n | CPP\n | C\n | Empty\n\ntype ID = FtID of int | RefID of string\n\ntype Token =\n | CODEBLOCK of string * Language\n | LITERAL of string\n | WHITESPACE of size: int\n | NUMBER of string\n | HASH | PIPE | EQUAL | MINUS | PLUS | ASTERISK | DOT | COMMA\n | DASTERISK | TASTERISK | UNDERSCORE | DUNDERSCORE | TUNDERSCORE | TILDE | DTILDE\n | TTILDE | LSBRA | RSBRA | LBRA | RBRA | BSLASH | SLASH | LABRA | RABRA | LCBRA\n | RCBRA | BACKTICK | EXCLAMATION | ENDLINE | COLON | CARET | PERCENT | SEMICOLON\n | HEADER of int\n | FOOTER of ID\n\ntype TFrmtedString =\n | Strong of InlineElement list | Emphasis of InlineElement list\n | Literal of string | Code of string\nand InlineElement =\n | FrmtedString of TFrmtedString\n | Link of HyperText: TFrmtedString * URL: string\n | Picture of Alt: string * URL: string\ntype TLine = InlineElement list\n\ntype THeader = {HeaderName: TLine; Level: int}\n\ntype Ttoc = {MaxDepth: int; HeaderLst: THeader list}\n\ntype TListType = | UL | OL\ntype TList = {ListType: TListType; ListItem: TListItem list; Depth: int}\nand TListItem = NestedList of TList | StringItem of TLine\n\ntype Alignment = Centre | Right | Left | NoAlign\n\ntype Cell =\n | Contents of Token list * Header: bool * Align:Alignment\n\ntype Row =\n | Cells of Cell list * Header:bool\n\ntype PCell =\n | CellLine of TLine * Header: bool * Align:Alignment\n\ntype PRow =\n | PCells of PCell list * Header:bool\n\ntype RefFrmt = IEEE | Harvard | Chicago\n\n// date support for access later\ntype Ref = {Author: Token list option; Title: Token list option;\n Year: int option; URL: string option; Access: Token list option}\n\ntype ParsedObj =\n | CodeBlock of string * Language\n | Header of THeader\n | ContentTable of Ttoc\n | List of TList\n | Paragraph of TLine list\n | Quote of TLine\n | Table of PRow list\n | PreTable of Content: Token list list\n | Footnote of ID * TLine\n\ntype Cell with \n member c.GetToks = match c with \n | Contents(toks,_,_) -> toks\n member c.ReplaceTokens t = match c with \n | Contents(_,head,align) -> Contents(t,head,align)\n member c.GetHead = match c with \n | Contents(_,head,_) -> head\n member c.GetParams = match c with \n | Contents(toks,head,align) -> toks,head,align\n\ntype OutFormat = HTML | Markdown\n\n\n// WEBPACK FOOTER //\n// src/Common/Types.fs","module Shared\n\nopen Types\nopen Logger\n\n// Helpers\n\n/// Inverse the values in a tuple\nlet invTuple (a, b) = b, a\n\n/// Try to find a key in a map, return Some value when it is found, otherwise it\n/// returns None\nlet mapTryFind k (map: Map<'a, 'b>) = map.TryFind(k)\n\n/// Try find key in a list\nlet listTryFind s =\n List.map invTuple >> Map.ofList >> mapTryFind s\n\n/// The list of characters used in the parser\nlet charList = [\"#\", HASH; \"|\", PIPE; \"=\", EQUAL; \"-\", MINUS; \"+\", PLUS; \"*\", ASTERISK\n \".\", DOT; \"**\", DASTERISK; \"***\", TASTERISK; \"_\", UNDERSCORE; \"__\", DUNDERSCORE\n \"___\", TUNDERSCORE; \"~\", TILDE; \"~~\", DTILDE; \"~~~\", TTILDE; \"[\", LSBRA\n \"]\", RSBRA; \"(\", LBRA; \")\", RBRA; @\"\\\", BSLASH; \"/\", SLASH; \"<\", LABRA\n \">\", RABRA; \"{\", LCBRA; \"}\", RCBRA; \"`\", BACKTICK;\n \"!\", EXCLAMATION; \":\", COLON; \"^\", CARET; \"%\", PERCENT; \",\", COMMA]\n\nlet charMap = charList |> List.map invTuple |> Map.ofList\n\nlet (|CharTok|_|) tok =\n mapTryFind tok charMap\n\nlet mapTok = function\n | CharTok s -> s\n | CODEBLOCK _ -> \"CODEBLOCK\"\n | FOOTER _ -> sprintf \"FOOTER found\"\n | HEADER n -> sprintf \"HEADER %d\" n\n | NUMBER s -> s\n | LITERAL s -> s\n | WHITESPACE n -> String.replicate n \" \"\n | _ -> \"\\n\"\n\n\nlet mapLang lang =\n match lang with\n | Python -> \"python\"\n | FSharp -> \"fsharp\"\n | CPP -> \"cpp\"\n | C -> \"c\"\n | Empty -> \"\"\n\nlet xOnwards x lst = if List.length lst > x then lst.[x..] else []\nlet sOnwards s str = if String.length str > s then str.[s..] else \"\"\nlet removeChars lst s =\n let folder (s:string) x = s.Replace(x,\"\")\n List.fold folder s lst\nlet removeWhitespace (s:string) = \n s |> removeChars [\"\\n\";\"\\t\";\"\\r\";\" \"]\nlet sharedLog = Logger(LogLevel.WARNING)\n\n\n\n// WEBPACK FOOTER //\n// src/Common/Shared.fs","import FSymbol from \"./Symbol\";\nimport { compare } from \"./Util\";\nexport default class Comparer {\n constructor(f) {\n this.Compare = f || compare;\n }\n [FSymbol.reflection]() {\n return { interfaces: [\"System.IComparer\"] };\n }\n}\nexport function fromEqualityComparer(comparer) {\n // Sometimes IEqualityComparer also implements IComparer\n if (typeof comparer.Compare === \"function\") {\n return new Comparer(comparer.Compare);\n }\n else {\n return new Comparer((x, y) => {\n const xhash = comparer.GetHashCode(x);\n const yhash = comparer.GetHashCode(y);\n if (xhash === yhash) {\n return comparer.Equals(x, y) ? 0 : -1;\n }\n else {\n return xhash < yhash ? -1 : 1;\n }\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Common/Parser/Parser.fs","import { defaultCancellationToken } from \"./Async\";\nimport { fromContinuations } from \"./Async\";\nimport { startImmediate } from \"./Async\";\nclass QueueCell {\n constructor(message) {\n this.value = message;\n }\n}\nclass MailboxQueue {\n add(message) {\n const itCell = new QueueCell(message);\n if (this.firstAndLast) {\n this.firstAndLast[1].next = itCell;\n this.firstAndLast = [this.firstAndLast[0], itCell];\n }\n else {\n this.firstAndLast = [itCell, itCell];\n }\n }\n tryGet() {\n if (this.firstAndLast) {\n const value = this.firstAndLast[0].value;\n if (this.firstAndLast[0].next) {\n this.firstAndLast = [this.firstAndLast[0].next, this.firstAndLast[1]];\n }\n else {\n delete this.firstAndLast;\n }\n return value;\n }\n return void 0;\n }\n}\nexport default class MailboxProcessor {\n constructor(body, cancellationToken) {\n this.body = body;\n this.cancellationToken = cancellationToken || defaultCancellationToken;\n this.messages = new MailboxQueue();\n }\n __processEvents() {\n if (this.continuation) {\n const value = this.messages.tryGet();\n if (value) {\n const cont = this.continuation;\n delete this.continuation;\n cont(value);\n }\n }\n }\n start() {\n startImmediate(this.body(this), this.cancellationToken);\n }\n receive() {\n return fromContinuations((conts) => {\n if (this.continuation) {\n throw new Error(\"Receive can only be called once!\");\n }\n this.continuation = conts[0];\n this.__processEvents();\n });\n }\n post(message) {\n this.messages.add(message);\n this.__processEvents();\n }\n postAndAsyncReply(buildMessage) {\n let result;\n let continuation;\n function checkCompletion() {\n if (result && continuation) {\n continuation(result);\n }\n }\n const reply = {\n reply: (res) => {\n result = res;\n checkCompletion();\n },\n };\n this.messages.add(buildMessage(reply));\n this.__processEvents();\n return fromContinuations((conts) => {\n continuation = conts[0];\n checkCompletion();\n });\n }\n}\nexport function start(body, cancellationToken) {\n const mbox = new MailboxProcessor(body, cancellationToken);\n mbox.start();\n return mbox;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Common/Markalc/Markalc.fs","module Logger\n\nopen System\n\ntype LogLevel =\n | DEBUG=0\n | INFO=1\n | WARNING=2\n | ERROR=3\n | FATAL=4\n\nlet logLevelStr =\n [\n LogLevel.DEBUG, \"DEBUG\"\n LogLevel.INFO, \"INFO\"\n LogLevel.WARNING, \"WARNING\"\n LogLevel.ERROR, \"ERROR\"\n LogLevel.FATAL, \"FATAL\"\n ] |> Map.ofList\n\ntype Logger(logLevel) =\n\n // create the mailbox processor\n let agent = MailboxProcessor.Start(fun inbox -> \n\n // the message processing function\n let rec messageLoop () = async {\n\n // read a message\n let! msg = inbox.Receive()\n\n // write it to the log\n printfn \"%s\" msg\n\n // loop to top\n return! messageLoop ()\n }\n\n // start the loop\n messageLoop ()\n )\n\n let postStr pType msg = function\n | Some l ->\n sprintf \"%s [%s] (%d) %s\" pType (DateTime.Now.ToString(\"yyyy-MM-dd HH:mm:ss\")) l msg |> agent.Post\n | _ ->\n sprintf \"%s [%s] %s\" pType (DateTime.Now.ToString(\"yyyy-MM-dd HH:mm:ss\")) msg |> agent.Post\n\n let log t l msg =\n if t >= logLevel then\n postStr logLevelStr.[t] msg l\n else ()\n\n // Public API\n member __.Log = log\n member __.Debug = log LogLevel.DEBUG\n member __.Info = log LogLevel.INFO\n member __.Warn = log LogLevel.WARNING\n member __.Error = log LogLevel.ERROR\n member __.Fatal = log LogLevel.FATAL\n\nlet logPass line log s =\n s |> log line\n s\n\nlet logPassN log s =\n s |> log None\n s\n\n\n\n// WEBPACK FOOTER //\n// src/Common/Logger/Logger.fs","module MarkalcShared\nopen Types\nopen System.Text.RegularExpressions\nopen Logger\n\ntype CellReference = \n RowCol of Row:uint32*Col:uint32\n\ntype Operand =\n | CellRef of CellReference\n | Integer of int\n | Float of float\n\ntype Expr =\n | BinExp of (float->float->float)*Expr*Expr\n | Op of Operand\n | CommaFunction of string*(Expr list)\nlet whitespaceFilter lst = List.filter (function | WHITESPACE(_) -> false | _ -> true) lst\n// Count number of delim in token list\nlet countDelim delim tokList =\n List.filter (function | d when d = delim -> true | _ -> false) tokList \n |> List.length\n\n// return everything before and after the first/last delimeter searched for, error if delim not found\nlet delimSplit last delim t =\n let rec delimSplitFirst' delim before t =\n match t with\n | d :: after when d = delim -> Ok (before,after) // If delim then token list, return d and everything after the delim\n | x :: after -> delimSplitFirst' delim (x::before) after // If non-PIPE token then token list, recurse adding the tokens to the before list\n | [] -> Error (before,[]) // Did not find delimeter\n let rec delimSplitLast' delim before t =\n match (t, countDelim delim t) with\n | d :: after,1 when d = delim -> Ok (before,after)\n | x :: after,_ -> delimSplitLast' delim (x::before) after\n | [],_ -> Error (before,[])\n let searchFunc = if last then delimSplitLast' else delimSplitFirst'\n searchFunc delim [] t\n |> function\n | Error(before,a) -> Error(List.rev before,a)\n | Ok (before,a) -> Ok(List.rev before,a)\n\n/// Helper function to copy a list i times\nlet rec listCopies i lst =\n match i with\n | 1 -> lst\n | 0 -> []\n | x when x < 0 -> failwithf \"Negative argument: %A\" x\n | _ -> lst @ (listCopies (i-1) lst)\n\nlet unfoldTuple3 func (a,b,c) =\n func a b c\n\n// Take in two cell refs and return a list of all refs inbetween or None if invalid e.g. diagonal\nlet cellRange (p1,p2) = \n match (p1,p2) with\n | (RowCol(p1r,p1c),RowCol(p2r,p2c)) ->\n let genList a b = if a<b then [a..b] else [b..a]\n match p1r = p2r, p1c = p2c with\n | true,true -> Some [RowCol (p1r,p1c)]\n | true,false -> (List.map ((fun i -> (p1r,i)) >> RowCol) (genList p1c p2c)) |> Some\n | false,true -> (List.map ((fun i -> (i,p1c)) >> RowCol) (genList p1r p2r)) |> Some\n | false,false -> None\n\n// Quick parser to generate tokenise string one row at a time\nlet simpleLex txt = \n let (|RegexMatch|_|) r txt =\n let m = Regex.Match (txt,\"^\"+r)\n match m.Success with\n | true -> (m.Value, txt.Substring(m.Value.Length)) |> Some\n | false -> None\n let rec simpleLex' a txt =\n match txt with\n // Whitespace\n | RegexMatch \"[\\\\s]+\" (m,after) -> simpleLex' (WHITESPACE(m.Length)::a) after\n // Contents for expression evaluation\n | RegexMatch \"[0-9]+\" (m,after) -> simpleLex' (NUMBER(m)::a) after\n | RegexMatch \"\\\\^\" (_,after) -> simpleLex' (CARET::a) after\n | RegexMatch \"\\\\%\" (_,after) -> simpleLex' (PERCENT::a) after\n | RegexMatch \"\\\\*\" (_,after) -> simpleLex' (ASTERISK::a) after\n | RegexMatch \"\\\\/\" (_,after) -> simpleLex' (SLASH::a) after\n | RegexMatch \"\\\\+\" (_,after) -> simpleLex' (PLUS::a) after\n | RegexMatch \"\\\\-\" (_,after) -> simpleLex' (MINUS::a) after\n | RegexMatch \"\\\\(\" (_,after) -> simpleLex' (LBRA::a) after\n | RegexMatch \"\\\\)\" (_,after) -> simpleLex' (RBRA::a) after\n | RegexMatch \"\\\\[\" (_,after) -> simpleLex' (LSBRA::a) after\n | RegexMatch \"\\\\]\" (_,after) -> simpleLex' (RSBRA::a) after\n | RegexMatch \"\\\\=\" (_,after) -> simpleLex' (EQUAL::a) after\n | RegexMatch \"\\\\.\" (_,after) -> simpleLex' (DOT::a) after\n | RegexMatch \"\\\\,\" (_,after) -> simpleLex' (COMMA::a) after\n | RegexMatch \"\\\\{\" (_,after) -> simpleLex' (LCBRA::a) after\n | RegexMatch \"\\\\}\" (_,after) -> simpleLex' (RCBRA::a) after\n // Contents for table recognition\n | RegexMatch \"[a-zA-z]+[0-9]*( [a-zA-z]+[0-9]*)*\" (m,after) -> simpleLex' (LITERAL(m)::a) after\n | RegexMatch \"\\\\|\" (_,after) -> simpleLex' (PIPE::a) after\n | RegexMatch \"\\\\:\" (_,after) -> simpleLex' (COLON::a) after\n | RegexMatch \"\\\\;\" (_,after) -> simpleLex' (SEMICOLON::a) after\n | \"\" -> a\n | _ -> failwithf \"Unexpected character: %A\" txt\n simpleLex' [] txt |> List.rev\n\n// Experimental Lexr for tokenising from entire table string\n// let stringLex (txt:string)=\n// List.map simpleLex (Array.toList (txt.Split(\"\\n\")))\nlet lexY (x,y,z) = x,y|>simpleLex,z\n\nlet logger = Logger(LogLevel.INFO)\n\n\n// WEBPACK FOOTER //\n// src/Common/Markalc/MarkalcShared.fs","module LexerShared\n\nopen System\nopen System.Text.RegularExpressions\n\n// --------------------------------------------------\n// Helpers\n// --------------------------------------------------\n\n/// Take the first element of a tuple of size 3\nlet takeFirst (a, _, _) = a\n\n/// Match a regular expression Return Some (m,grps) where m is the match string,\n/// grps is the list of match groups (if any) return None on no match\nlet strRegexMatch (regex: string) (str: string) =\n let m = Regex(regex).Match(str)\n if m.Success\n then\n let mLst = [ for x in m.Groups -> x.Value ]\n Some (List.head mLst, List.tail mLst)\n else None\n\n/// Checks if a string starts with another string\nlet strStartsWith (value: string) (str: string) =\n str.StartsWith(value)\n\n/// Convert a single character to a string\nlet toString (c: char) =\n String.Concat [c]\n\n/// Replace a every occurence of one string in the string s by another\nlet strReplace (o: string) (n: string) (s: string) =\n s.Replace(o, n)\n\n// --------------------------------------------------\n// Shared\n// --------------------------------------------------\n\n/// Active Pattern to match a string with a regex pattern, returns the matched string\n/// together with the groups in a list and the rest of the string\nlet (|RegexMatch|_|) regex str =\n match strRegexMatch regex str with\n | None -> None\n | Some (m, grp) ->\n let lchar = String.length m\n Some (m, grp, str.[lchar..])\n\n/// Create a regular expression for a literal that matches everything except the\n/// characters defined in charList\nlet literalString charList =\n\n /// Escapes every special regex character in a string given to it\n let addEscape (c, _) =\n [\"\\\\\"; \".\"; \"^\"; \"$\"; \"*\"; \"+\"; \"-\"; \"?\"; \"(\"; \")\"; \"[\"; \"]\"; \"{\"; \"}\"; \"|\"; \"/\"]\n |> List.fold (fun st n -> strReplace n (\"\\\\\"+n) st) c\n\n charList\n |> List.map (addEscape >> (fun a -> a+\"|\"))\n |> List.fold (+) \"\"\n |> (fun c -> \"^.+?(?=\\\\s|\"+c+\"$)\")\n\n/// Tests if a string starts with any of the characters in charList,\n/// and returns the match after passing it through the retLastMatch\n/// function, that will be used in a fold operation with None as a starting\n/// value\nlet (|CharMatch|_|) retLastMatch a charList (str: string) =\n let testStartWith (c, t) =\n let ch = a + c\n strStartsWith ch str, ch, t\n List.map testStartWith charList\n |> List.fold retLastMatch None\n\n/// Checks if a string starts with a character defined in charList, and returns the DU value\n/// associated with it\nlet (|Character|_|) charList (str: string) =\n let retLastMatch i = function\n | true, c, t -> Some (t, str.[String.length c..])\n | _ -> i\n (|CharMatch|_|) retLastMatch \"\" charList str\n\n/// Checks if a string starts with an escaped char of any character in charList, and returns it\n/// by passing the text of the last matched value to a constructor 'tType'\nlet (|EscapedChar|_|) tType charList (str: string) =\n let retLastMatch i = function\n | true, (c: string), _ -> Some (tType c.[1..], str.[String.length c..])\n | _ -> i\n (|CharMatch|_|) retLastMatch \"\\\\\" charList str\n\n/// Match a single group with a regex\nlet (|GroupMatch|_|) str = function\n | RegexMatch str (m, [t], r) -> Some t\n | _ -> None\n\n\n\n// WEBPACK FOOTER //\n// src/Common/Lexer/LexerShared.fs","module Main\nopen System\nopen Fable.Core\nopen Fable.Core.JsInterop\nopen Fable.Import.Browser\nopen Types\nopen FMark\n\nlet processMarkdownString str =\n str\n |> Array.toList\n |> processString HTML\n\n\n\n// WEBPACK FOOTER //\n// src/FMarkFable/FMarkFable.fs","module FMark\n\nopen Types\n\nlet preLexParse = \n Preprocessor.preprocessList\n >> Lexer.lexList\n >> Parser.parse\nlet processString' formatFunc =\n preLexParse >> Result.map formatFunc\n\nlet processString format =\n match format with\n | f when f = HTML -> processString' (HTMLGen.strBody)\n | f when f = Markdown -> processString' (MarkdownGen.mdBody)\n | _ -> failwithf \"Invalid format type generated, this should not be possible.\"\n\n\n\n// WEBPACK FOOTER //\n// src/Common/FMark.fs","module Parser\nopen Types\nopen Shared\nopen ParserHelperFuncs\nopen Markalc\n\n// helper functions\n\n/// parse literals, return any unrecognized tokens\nlet parseLiteral toks =\n let rec parseLiteral' (str, toks) =\n match toks with\n | MatchEmStart (pre, _, _) -> str+pre, toks\n | MatchEmEnd (pretk, _, _) -> str+(mapTok pretk), toks\n | IsNewTLine _ -> str, toks // New TLine\n | IsNewFrmt _ -> str, toks // NewFrmt\n | MatchNewParagraph _ -> str, toks // 2>= endlines\n | WHITESPACE _:: toks' -> (str+\" \", toks') |> parseLiteral' // reduce spaces to 1\n | MatchMapTok (str', toks') -> (str+str', toks') |> parseLiteral' // convert the rest to string\n | [] -> str, toks // nothing to parse\n | t -> sprintf \"Unmatched token: %A\" t |> sharedLog.Warn None\n sprintf \"unmatched token should never happen: %A\" toks |> failwith\n parseLiteral' (NOSTRING, toks)\n\n/// parse inline code\nlet rec parseCode toks =\n match toks with\n | BACKTICK::_ -> (\"\", toks.[1..]) |> Ok\n | tok::toks' ->\n parseCode toks'\n |> Result.map (fun (str, tks) ->\n mapTok tok + str, tks )\n | e -> sharedLog.Warn None (sprintf \"%A\" e)\n (\"\\\\`\", xOnwards 1 toks) |> Ok\n\n/// parse inline text, including links and pictures, terminate on 2>= `ENDLINE`s\nlet parseInLineElements toks =\n let rec parseInLineElements' toks =\n match toks with\n | BACKTICK:: _ ->\n xOnwards 1 toks // safe way of doing toks[1..]\n |> parseCode \n |> Result.map(fun (str, rtks) -> FrmtedString(Code str), rtks )\n | MatchEmStart (_, sym, toks') -> // record the start em symbol\n parseInLines toks'\n |> Result.map (fun (inlines, retoks) ->\n match retoks with\n | MatchEmEnd (_, lsym, retoks') ->\n if sym=lsym then\n (FrmtedString(Emphasis(inlines)), retoks')\n else // em does not match -> treat as literal\n sprintf \"No match for em: %A\" lsym |> sharedLog.Warn None \n let pstr, rtks = parseLiteral toks'\n (FrmtedString(Literal ( (mapTEmphasis sym)+pstr) ), rtks)\n | _ ->\n let pstr, rtks = parseLiteral toks'\n (FrmtedString(Literal ( (mapTEmphasis sym)+pstr) ), rtks)\n )\n | _ ->\n let pstr, retoks = parseLiteral toks\n (FrmtedString (Literal pstr), retoks) |> Ok\n and parseInLines toks =\n match toks with\n | [] -> ([], []) |> Ok\n | _ ->\n parseInLineElements' toks\n |> Result.bind (fun (inLine, retoks) ->\n match retoks with\n | [] -> ([inLine], []) |> Ok\n | MatchEmEnd _ -> ([inLine], retoks) |> Ok\n | MatchNewParagraph toks' -> ([inLine], toks') |> Ok\n | IsNewTLine toks' -> // new TLine equivalent <br>)\n parseInLines toks'\n |> Result.map (fun (inLines, tks)->\n inLine::inLines, tks)\n | _ ->\n parseInLines retoks\n |> Result.map (fun (inLines, retoks')->\n inLine::inLines, retoks'))\n parseInLines toks\n\n/// parse a paragraph which counts for contents in `<p>`\n/// parseParagraph eats 2>= ENDLINEs\nlet parseParagraph toks =\n let rec parseParagraph' toks =\n match toks with\n | MatchNewParagraph toks' -> ([], toks') |> Ok\n | _ ->\n parseInLineElements toks\n |> Result.map (fun (inLines, retoks)->\n (inLines, retoks) )\n //let prep, retoks = parseParagraph' toks\n and parseParagraphs toks =\n parseParagraph' toks\n |> Result.bind (fun (p, retoks) ->\n match retoks with\n | [] -> ([p], []) |> Ok\n | MatchNewParagraph retoks' -> ([], retoks') |> Ok\n | _ ->\n parseParagraphs retoks\n |> Result.map (fun (ps, rts) ->\n (p::ps, rts)))\n parseParagraphs toks |> Result.map (fun (lines,tks) -> Paragraph lines, tks)\n\n/// match table start sequence\n/// return table rows, terminates when [] or two continuous ENDLINEs\n/// start sequence:\n/// something in first line, at least one '|' and three '-' in second line\nlet (|MatchTable|_|) toks =\n // transform table rows into Table or Pretable depending if valid table.\n let tableTransform (rows,rtks) =\n rows |> Markalc.parseEvaluateTable\n |> function\n | Ok(rows) -> \n let toPCellList (cell:Cell) = \n let toks,head,align = (cell.GetParams) \n let pCellLine = toks |> parseInLineElements |> (function | Ok(x,_) -> x | Error(e) -> [FrmtedString(Literal(e))])\n CellLine(pCellLine,head,align)\n let toPRow row = \n let clst, rHead = row |> function | Cells(clst',rHead') -> clst',rHead'\n PCells(List.map toPCellList clst, rHead)// Create PRows\n // For each row, unpack into Cell list\n (List.map toPRow rows |> Table,rtks) |> Some\n | Error(_)-> None\n match toks with\n | MatchTableHead rtks ->\n match rtks with\n | MatchTableFormater _ -> cutTableRows toks |> tableTransform\n | _ -> None\n | _ -> None\n\n/// parse supported `ParsedObj`s, turn them into a list\n/// assuming each item start at the beginning of the line\n/// the returned token head does not have 2>= ENDLINE\nlet rec parseItem (rawToks: Token list) : Result<ParsedObj * Token list, string> =\n let toks = deleteLeadingENDLINEs rawToks\n match toks with\n | CODEBLOCK (content, lang) :: toks' -> (CodeBlock(content, lang), toks') |> Ok\n | MatchListOpSpace _ -> \"Lists todo\" |> Error\n | MatchTable (rows, rtks) -> (rows, rtks) |> Ok\n | RABRA:: toks' ->\n parseInLineElements toks'\n |> Result.map (fun (line, rtks) -> Quote(line), rtks)\n | MatchHeader (level, rtks) ->\n parseInLineElements rtks\n |> Result.map (fun (line, rtks') -> Header{HeaderName=line; Level=level}, rtks' )\n | _ -> parseParagraph toks\n |> Result.map (fun (p, tks) -> p, tks)\n\nand parseItemList toks : Result<ParsedObj list * option<Token list>, string> =\n parseItem toks\n |> Result.bind (fun (pobj, re) ->\n match List.isEmpty re with\n | true -> ([pobj], None) |> Ok\n | false ->\n parseItemList re\n |> Result.map(fun (pobjs, re') ->\n pobj::pobjs, re' )\n )\n\n/// top-level Parser, which the user should use\n/// `parse` will either return result monad with either `ParsedObj list` or a string of Error message.\n/// Unparsed Tokens will be in the returned in the Error message.\nlet parse toks =\n parseItemList toks\n |> Result.bind (fun (pobjs, retoks) ->\n match retoks with\n | None -> pobjs |> Ok\n | Some retoks -> sprintf \"Some unparsed tokens: %A\" retoks |> Error)\n\n\n\n// WEBPACK FOOTER //\n// src/Common/Parser/Parser.fs","module ParserHelperFuncs\nopen Types\nopen Shared\n\nlet SPACE = \" \"\nlet NOSTRING = \"\"\n\ntype TEmphasis = UNDER | STAR // underscore and asterisk\n\nlet mapTEmphasis = function\n | UNDER -> \"_\"\n | STAR -> \"*\"\n\n/// delete leading ENDLINEs and retur the rest\nlet rec deleteLeadingENDLINEs toks =\n match toks with\n | ENDLINE:: tks -> deleteLeadingENDLINEs tks\n | _ -> toks\n\n/// convert all Tokens into a single string\n/// see mapTok for Token mapping\nlet stringAllTokens toks =\n let matchTok i tok =\n i + mapTok tok\n List.fold matchTok \"\" toks\n\n/// count subsquent and continuous Tokens\nlet countToks (tok: Token) toks =\n let rec countToks' (n, toks') =\n match toks' with\n | t:: rtks when t = tok -> countToks' (n+1, rtks)\n | _ -> n, toks'\n countToks' (0, toks) |> fst\n\n/// count leading continuous spaces\nlet countSpaces toks =\n let rec countToks' (n, toks') =\n match toks' with\n | WHITESPACE no:: rtks -> countToks' (n+no, rtks)\n | _ -> n, toks'\n countToks' (0, toks) |> fst\n\n/// count leading continuoues ENDLINEs\nlet countNewLines = countToks (ENDLINE)\n\n/// count all pipes in a line\nlet countDelim delim toks =\n let counter tok =\n match tok with\n | t when t =delim ->1\n | _ -> 0\n List.sumBy counter toks\nlet countPipes = countDelim PIPE\nlet countMinus = countDelim MINUS\n\n/// first element is the line\n/// second element is remaining tokens\nlet cutLine toks =\n let rec cutLine' line rtks =\n match rtks with\n | ENDLINE:: rtks -> ENDLINE::line |> List.rev, rtks\n | tok:: rtks -> cutLine' (tok::line) rtks\n | [] -> line |> List.rev, []\n cutLine' [] toks\n\n/// newline but not new paragraoh\n/// is 2>= spaces and 1 newline, and potential spaces\nlet (|IsNewTLine|_|) toks =\n let rec takeAwaySpaces toks =\n match toks with\n | WHITESPACE _ :: toks' -> takeAwaySpaces toks'\n | _ -> toks\n match countSpaces toks >=2 with\n | true ->\n let toksWOSpaces = toks |> takeAwaySpaces\n match countNewLines toksWOSpaces = 1 with\n | true -> toksWOSpaces.[1..] |> takeAwaySpaces |> Some // remove leading spaces in new line\n | false -> None\n | false -> None\n\n/// match potential new inline format\n/// return input Token list\nlet (|IsNewFrmt|_|) toks =\n match toks with\n | UNDERSCORE::_ | DUNDERSCORE::_ | TUNDERSCORE::_ // em and strong\n | ASTERISK::_ | DASTERISK::_ | TASTERISK::_ // em and strong\n | BACKTICK:: _ // code\n | LBRA:: _ | RBRA:: _ | EXCLAMATION:: _ | LSBRA:: _ | RSBRA:: _ //link and picture\n -> toks |> Some\n | _ -> None\n\n/// match potential em sequence\n/// return input Token list\nlet (|IsWordSepAndNewFrmt|_|) toks =\n match toks with\n | WHITESPACE _::toks' ->\n match toks' with\n | IsNewFrmt _ -> toks |> Some\n | _ -> None\n | _ -> None\n\n/// match underscore and asterisk emphasis start squence\n/// return 1. string, representing a space before UNDERSCORE\n/// 2. TEmphasis, emphasis type\n/// 3. Token list after underscore or asterisk\nlet (|MatchEmStart|_|) toks =\n match toks with\n | WHITESPACE _:: UNDERSCORE:: WHITESPACE _:: _ -> None // not em\n | WHITESPACE _:: UNDERSCORE:: rtks -> (\" \", UNDER, rtks) |> Some\n | ASTERISK :: WHITESPACE _:: _ -> None // nor em\n | ASTERISK :: rtks -> (\"\", STAR, rtks) |> Some\n | _ -> None\n\n\n/// match underscore and asterisk emphasis end sequence\n/// return 1. Token, a Token before emphasis\n/// 2. TEmphasis, emphasis type\n/// 3. Token list after underscore or asterisk\nlet (|MatchEmEnd|_|) toks =\n match toks with\n | WHITESPACE _:: UNDERSCORE:: _ -> None // not em end\n | tk:: UNDERSCORE:: ENDLINE:: _ -> (tk, UNDER, toks.[2..]) |> Some\n | tk:: UNDERSCORE:: WHITESPACE _:: _ -> (tk, UNDER, toks.[2..]) |> Some\n // preserve ENDLINE and WHITESPACE\n | [tk;UNDERSCORE] -> (tk, UNDER, []) |> Some\n | WHITESPACE _:: ASTERISK:: _ -> None // nor em end\n | tk:: ASTERISK:: toks' -> (tk, STAR, toks') |> Some\n | _ -> None\n\n/// match new paragraph sequence\n/// return Token list after EDNLINEs\nlet (|MatchNewParagraph|_|) toks =\n match countNewLines toks with\n | n when n>=2 -> toks.[n..] |> Some\n | _ -> None\n\n/// turn head Token into string\n/// return head Token string and tail Token list\nlet (|MatchMapTok|_|) = function\n | tok:: toks -> (mapTok tok, toks) |> Some\n | _ -> None\n\n/// match hashes\n/// returns no of hashes and the first non-WHITESPACE token\nlet (|MatchHeader|_|) toks =\n let rec countHashes n tks =\n match tks with\n | HASH:: tks' -> countHashes (n+1) tks'\n | _ -> n\n match countHashes 0 toks with\n | no when no > 0 ->\n match toks.[no..] with\n | WHITESPACE _ :: toks' ->\n (no, toks') |> Some // omit whitespace\n | _ -> None\n | _ -> None\n\n/// match list begin sequence w/o spaces\n/// return list type and Token list after start sequence\nlet (|MatchList|_|) toks =\n match toks with\n | NUMBER _:: DOT:: WHITESPACE _:: toks' -> (OL, toks') |> Some\n | ASTERISK:: WHITESPACE _:: toks' -> (UL, toks') |> Some\n | _ -> None\n\n/// match list begin sequence with optional spaces\n/// return list type and Token list after start sequence\nlet (|MatchListOpSpace|_|) toks =\n match toks with\n | WHITESPACE _:: MatchList content -> content |> Some\n | MatchList content -> content |> Some\n | _ -> None\n\n/// return the next line\n/// next line is seperated by 1 ENDLINE\nlet (|MatchTableHead|_|) toks =\n let line, rtks = cutLine toks\n match line with\n | [] -> None\n | _ -> rtks |> Some\n\n/// take one PIPE\n/// return the rest |> Some\n/// otherwise, None\nlet pipeMatch oToks =\n oToks\n |> Option.bind (fun toks ->\n match toks with\n | PIPE:: rtks -> Some rtks\n | _ -> None )\n\n/// take all leading subsequent MINUSes\n/// return the rest Tokens |> Some\n/// otherwise, None\nlet minusMatch oToks =\n let takeAwayMinuses toks =\n let rec takeAwayMinuses' n toks =\n match toks with\n | MINUS:: rtks -> takeAwayMinuses' (n+1) rtks\n | _ -> n, toks\n takeAwayMinuses' 0 toks\n oToks\n |> Option.bind (fun toks ->\n let n, rtks = toks |> takeAwayMinuses \n if n>0 then\n Some rtks\n else\n None\n )\n\n/// match the table formater line\n/// the table formater is usually the second line of a table\n/// return the rest Tokens |> Some\n/// otherwise, None\nlet (|MatchTableFormater|_|) toks =\n let line, rtks = cutLine toks\n match (countPipes line, countMinus line) with\n | (p,m) when p>0 && m>2 -> Some(rtks)\n | _ -> None\n\n/// cut Tokens into Token list list for Table parsing\n/// terminates when [] or two continuous ENDLINEs\n/// return Token list list,\n/// remaining Token list\nlet cutTableRows toks =\n let rec cutTableRow' rows toks =\n match toks with\n | ENDLINE:: rtks -> rows |> List.rev, rtks // one endline followed by another\n | [] -> rows |> List.rev, []\n | _ ->\n let row, rtks = cutLine toks\n cutTableRow' (row::rows) rtks\n cutTableRow' [] toks\n\n\n\n// WEBPACK FOOTER //\n// src/Common/Parser/ParserHelperFuncs.fs","module Markalc\n\nopen Types\nopen Shared\nopen MarkalcShared\nopen Expression\nopen Logger\n\ntype MapContents =\n | MapTok of Cell\n | MapExp of Expr * Cell\n\n// ################### HELPER FUNCTIONS ###################\n/// Return everything (before,after) the first PIPE token\nlet pipeSplit toks = \n delimSplit false PIPE toks\n// Turn float into token\nlet toToken x = NUMBER(x|>string)\n/// Transform Result<Ok,Error> list into Result<Ok list, Error>\nlet joinErrorList lst =\n // Filter the list\n let filt x = match x with\n | Error(_) -> true\n | Ok(_) -> false\n let unpackOks = function\n | Ok(x') -> x'\n | Error(y) -> failwithf \"After filtering, there were still Error monads in the list %A.\" y\n let combineErrors s x = match x with\n | Ok(_) -> s // This should never be matched in this usage.\n | Error(x') -> sprintf \"%A %A\" x' s |> Error\n match List.filter filt lst with\n | [] -> List.map unpackOks lst |> Ok // If the list is empty there are no errors\n | x -> List.fold combineErrors (Error \"\") x\n// Lift first argument to result world\nlet liftFirstArg func arg1 arg2 =\n match arg1 with\n | Ok(x) -> func x arg2 |> Ok\n | Error(x) -> Error x\n\n// ####################### CONSTRUCT CELL HELPERS ###################\nlet makeCellU header tokens = (tokens,header)\nlet defaultCellU = makeCellU false\nlet headCellU = makeCellU true\nlet alignCell alignment cellU = Contents (fst cellU, snd cellU, alignment)\n\n// ###################### PARSE TABLE ROWS #####################\n// Parse a line into a list of cells\nlet parsePipesD debug constructCell (row:Token list) =\n let rec parsePipes' a row =\n match pipeSplit row with\n | Ok([],[]) -> (constructCell []):: a\n | Ok([],after) -> sprintf \"empty, %A\" after |> logger.Debug None\n parsePipes' ((constructCell [])::a) after // If before is empty and after is not, empty cell\n | Ok(before,[]) -> sprintf \"%A, empty\" before |> logger.Debug None\n (constructCell before) :: a // If after is empty, add before and stop\n | Ok(before,after) -> sprintf \"%A, %A\" before after |> logger.Debug None\n parsePipes' ((constructCell before) :: a) after\n | Error(_) -> if List.isEmpty row then a else (constructCell row)::a // If there is content, add it\n parsePipes' [] row\nlet parsePipes constructCell row = parsePipesD false constructCell row /// TOGGLE DEBUG MODE\n/// Parse an ordinary row\nlet parseRow constructCell row =\n let parseRow' = parsePipes constructCell\n // If its the first pipe and there's nothing before it, remove it\n match row with\n | PIPE :: row' -> parseRow' row'\n | row' -> parseRow' row'\n // If the list only contains one item, add an empty cell on the end (empty cells now added later on...)\n |> (fun x -> if List.length x = 1 then (constructCell[])::x else x) \n |> List.rev\nlet parseDefaultRow = parseRow defaultCellU\n/// Parse the second row of the table which defines number of columns and alignment\nlet parseAlignRow (row:Token list) = \n let getAlignment (toks: Token list) =\n let filt = function | COLON -> true | MINUS -> true | _ -> false \n // Check it has at least three dashes\n match (countDelim MINUS toks < 3, List.filter filt toks |> List.length <> List.length toks) with\n | (true,false) -> \"Less than 3 dashes for table format\" |> Error \n | (false,true) -> sprintf \"Invalid characters in table format, expecting only : or - \\n%A\\n%A\" toks (List.filter filt toks) |> Error\n | (true,true) -> \"Less than 3 dashes for table format and invalid characters\" |> Error \n | (false,false) ->\n match (List.rev toks, countDelim COLON toks) with\n | (COLON :: _, 2) when List.head toks = COLON -> Centre |> Ok\n | (COLON :: _, 1) -> Right |> Ok\n | (_,1) when List.head toks = COLON -> Left |> Ok\n | (_,0) -> NoAlign |> Ok\n | (_,x) -> sprintf \"\\':\\'s in wrong position %A, %A\" toks x |> Error\n let parseAlign' = parsePipes getAlignment\n // Ignore the first pipe if there is nothing before it\n match whitespaceFilter row with\n | PIPE :: row' -> parseAlign' row'\n | row' -> parseAlign' row'\n |> List.rev\n |> joinErrorList\n\n// ################ BUSINESS END ###############\n/// Function which takes a parsed row (list of unalignedcells) and the list of alignments, and will create Cells\nlet alignCells' alignList (cells:(Token list * bool) list) =\n let lengths = (List.length alignList, List.length cells)\n match (fst lengths - snd lengths) with\n | x when x > 0 -> cells @ (List.replicate x ([], List.head cells |> snd)) // If alignList longer than cells, fill in with blank cells\n | x when x < 0 -> cells.[0..((fst lengths)-1)]// If cells longer than alignList, ignore the extra cells\n | _ -> cells\n |> (List.zip alignList)\n |> List.map (fun (a,uc) -> alignCell a uc)\n\nlet alignCells = liftFirstArg alignCells'\n/// Separate list of tokens into cells with alignment and header/not-header\nlet transformTable (table:Token list list) =\n // Deal with first two rows of format: header1 | header2 | header3\n // Second row tells us how many columns and correct alignment\n let alignments = table.[1] |> parseAlignRow\n let makeRow head = function | Ok(x) -> Ok(x,head) | Error(e) -> Error e\n\n let header = (List.head table |> parseRow headCellU |> alignCells alignments) \n |> makeRow true |> (Result.map Cells)\n\n // Fold parse normal row for the rest of the table\n let parseAlignPrepend s x = (parseRow defaultCellU x |> alignCells alignments |> makeRow false |> (Result.map Cells)) :: s\n List.fold parseAlignPrepend [header] (xOnwards 2 table)\n |> List.rev\n |> joinErrorList\n\n// Try to evaluate expression, set maxRefs to number of CellRefs before assuming circular reference\nlet tryEval' maxRefs map e =\n // Evaluate expression\n let rec evalExp r map e =\n // Evaluate cell reference\n let evalCellRef ref = \n match Map.tryFind ref map with\n | Some(MapExp(e2,_)) -> evalExp (r+1) map e2\n | _ -> nan // invalid reference\n // Apply f over list of cell references between two cells\n let rangeFunc f x y = match cellRange (x,y) with\n | Some(l) -> f l\n | None -> nan\n if r > maxRefs then nan else // Return nan if too many recursive calls, probably circular reference\n match e with\n | BinExp(f,x,y) -> f (evalExp r map x) (evalExp r map y)\n | Op (Float(x)) -> x\n | Op (CellRef(ref)) -> evalCellRef ref\n | CommaFunction(\"SUM\",l) -> List.sumBy (evalExp r map) l\n | CommaFunction(\"AVG\",l) -> List.averageBy (evalExp r map) l\n | CommaFunction(\"MIN\",l) -> List.min (List.map (evalExp r map) l)\n | CommaFunction(\"MAX\",l) -> List.max (List.map(evalExp r map) l)\n | _ -> 11.0\n evalExp 0 map e\nlet tryEval = tryEval' 1000\n/// Evaluate all expressions inside a cell list list, leave non-expression cells as they are\n/// No invalid expressions should be matched.\nlet evaluateCellList (rowList:Row list) = \n let rowUnpack = List.collect (function | Cells(l,_) -> [l])\n let makeRow (cellList:Cell list) = Cells(cellList, (List.head cellList).GetHead)\n // Iterate over table, must know \"where am I?\" for each cell\n let innerFold row (s:(CellReference*MapContents) list*uint32) (cell:Cell) =\n match parseExpression (cell.GetToks) with\n | Ok(ex) -> (RowCol(row,snd s),MapExp (ex,cell)) :: (fst s), snd s + 1u // Expression found, put it into the map!\n | Error(t) -> (RowCol(row,snd s),MapTok (cell)) :: fst s, snd s + 1u // No expression, ignore\n let outerFold (s:uint32*((CellReference*MapContents)list*uint32)) cells =\n (fst s + 1u,List.fold (innerFold (fst s)) (fst(snd s),0u) cells)\n let cellList = rowUnpack rowList\n let rowLength = List.length (List.head cellList)\n List.fold outerFold (0u,([],0u)) cellList \n |> function \n | (_,(expRefList,_)) -> \n let expList = List.rev expRefList\n let map = Map.ofList expList\n // Iterate over list, evaluate expression for each MapExp then convert into Token list\n // convert MapContents from MapExp to MapTok (?)\n let expListEval = function\n | MapTok(c) -> c\n | MapExp(e,c) -> [tryEval map e |> toToken] |> (c.ReplaceTokens)\n List.map (snd >> expListEval) expList\n |> (Seq.chunkBySize rowLength) \n |> Seq.toList \n |> List.map (Array.toList>>makeRow)\n\n/// Top level function\n/// Parse tokens into cell list list with all Expressions evaluated.\n/// Return: Result(OK(Cell list list), Error(toks))\nlet parseEvaluateTable (toks:Token list list) = \n // Transform Token list list into Cell list list\n let endlFilt = function | ENDLINE -> false | _ -> true\n transformTable (List.map (List.filter endlFilt) toks)\n |> function\n | Error(_) -> toks |> Error // If there are any errors just return the unchanged Token list list\n | Ok(x) -> evaluateCellList x |> Ok // Else return Ok and Cell list list\n\nlet lexParseEvaluate toks = \n List.map simpleLex toks\n |> parseEvaluateTable\n\n\n\n// WEBPACK FOOTER //\n// src/Common/Markalc/Markalc.fs","/// This module should parse tokens into an expression\nmodule Expression\n\nopen MarkalcShared\nopen Types\n\n(* SUPPORTED OPERATIONS:\nBinaryExpressions (in order of precedence): \n % - Modulo\n ^ - To the power\n * - Multiply\n / - Divide\n + - Add\n - - Subtract\n*)\n// HELPER FUNCTIONS\nlet makeFloat i d = \n sprintf \"%A.%A\" i d |> float\nlet makeInt (i:string) =\n i |> int\nlet makeCellReference (row:string,col:string) =\n RowCol(row|>uint32,col|>uint32)\n// [row=3,col=2]\n// ]2=col,3=row[\n// [row=3,col=2] [3,42]\n/// EXPRESSION PARSER\nlet parseExp toks = \n let rec (|Expression|_|) (toks:Token list) =\n let (|NumberPat|_|) = function\n | NUMBER(i) :: DOT :: NUMBER(d) :: after -> (makeFloat i d, after) |> Some\n | NUMBER(i) :: after -> (makeInt i |> float, after) |> Some\n | _ -> None\n let rec (|CellRefPat|_|) = function\n | RSBRA :: NUMBER(col) :: COMMA :: NUMBER(row) :: LSBRA :: after \n -> ((row,col) |> makeCellReference,after) |> Some\n | RSBRA :: NUMBER(row) :: EQUAL :: LITERAL(\"row\") :: COMMA :: NUMBER(col) :: EQUAL :: LITERAL(\"col\") :: LSBRA :: after \n -> sprintf \"Row:%A, Col:%A\" row col |> logger.Debug None\n ((row,col) |> makeCellReference,after) |> Some\n | RSBRA :: NUMBER(col) :: EQUAL :: LITERAL(\"col\") :: COMMA :: NUMBER(row) :: EQUAL :: LITERAL(\"row\") :: LSBRA :: after \n -> sprintf \"Row:%A, Col:%A\" row col |> logger.Debug None\n ((row,col) |> makeCellReference,after) |> Some\n | _ -> None\n let rec (|ExpressionList|_|) = function\n | Expression(exp,COMMA::ExpressionList(exps,after)) -> (exp::exps,after) |> Some\n | CellRefPat(x,COLON::CellRefPat(y,after)) -> cellRange (x,y) |> function\n | Some lst -> (List.map (CellRef >> Op) lst,after) |> Some\n | _ -> None\n | Expression(exp,after) -> ([exp],after) |> Some\n | _ -> None\n // DEFINE FUNCTIONS\n let funcConstruct funcname = function\n | RCBRA :: ExpressionList (lst,LCBRA::LITERAL(funcname)::after) ->\n (CommaFunction(funcname,lst),after) |> Some\n | _ -> None\n let (|Sum|_|) = funcConstruct \"SUM\"\n let (|Avg|_|) = funcConstruct \"AVG\"\n let (|Min|_|) = funcConstruct \"MIN\"\n let (|Max|_|) = funcConstruct \"MAX\"\n \n let (|FunctionPat|_|) = function\n | Sum (x,after) -> (x,after) |> Some\n | Avg (x,after) -> (x,after) |> Some\n | Min (x,after) -> (x,after) |> Some\n | Max (x,after) -> (x,after) |> Some\n | _ -> None\n\n let (|BasePat|_|) = function\n | NumberPat (x,after) -> (x |> Float |> Op,after) |> Some\n | FunctionPat (x,after) -> (x,after) |> Some\n // Parsing in reverse so right and left brackets swapped\n | CellRefPat (x,after) -> (x |> CellRef |> Op,after) |> Some\n | RBRA :: Expression (x,LBRA::after) -> (x,after) |> Some\n | _ -> None\n // Active pattern to construct precedence-aware active patterns; descends recursively until highest precedence match.\n // Quirk: Returns right-associative results, so parsing in reverse to get left-associativity.\n let rec (|HOFPat|_|) (|PrevPat|_|) op (t:Token) = function\n | PrevPat (exp1, after) -> \n match after with\n | x :: (HOFPat (|PrevPat|_|) op t (exp2, after')) when x = t -> \n (BinExp (op, exp2, exp1), after') |> Some // exp1 and exp2 swapped because parsing in reverse\n | _ -> (exp1, after) |> Some\n | _ -> None\n // Build precendence and normal binary operators\n let patPrecedence = [(%),PERCENT;( **),CARET;(*),ASTERISK;(/),SLASH;(-),MINUS;( + ),PLUS]\n let constructPatterns s x = ((|HOFPat|_|) (List.head s) (fst x) (snd x))::s\n let patterns = List.fold constructPatterns [(|BasePat|_|)] patPrecedence\n let (|FirstPat|_|) = List.head patterns\n\n // Unary operators, only negative number so far. Doesn't work.\n // let (|UnaryOperators|_|) = function\n // | FirstPat (exp1, after) ->\n // match after with\n // // Negative Numbers\n // | NumberPat(x,MINUS::after') -> (-x |> Float |> Op,after') |> Some\n // // ... Could have more patterns here.\n // | _ -> (exp1,after) |> Some\n // | _ -> None\n\n match toks with\n | FirstPat x -> Some x\n | _ -> None\n match List.rev toks with \n | Expression (exp,[]) -> Ok exp\n | _ -> sprintf \"Not valid expression %A\" toks |> Error\n\nlet parseExpression toks = \n match toks with\n | EQUAL :: tail -> \n whitespaceFilter tail |> parseExp |> function\n | Error(e) -> Error toks\n | Ok(x) -> Ok x\n | toks -> Error toks\n\n// ################## TEST FUNCTIONS ####################\n// Recursively evaluate expression AST. CellRef will need access to whole table, this is used to test everything else\nlet rec evalExpTest e = \n match e with\n | BinExp(f,x,y) -> f (evalExpTest(x)) (evalExpTest(y))\n | Op (Float(x)) -> x\n | _ -> 13.0\n\n// Test evaluation without table\nlet parseExpTest (toks:Token list) =\n whitespaceFilter toks // Remove whitespace\n |> parseExp\n |> function\n | Error(e) -> printfn \"Error parsing expression: %A\" e\n Error toks \n | Ok(x) -> evalExpTest x |> Ok\n\n\n// WEBPACK FOOTER //\n// src/Common/Markalc/Expression.fs","const parseRadix = /^\\s*([\\+\\-])?(0[xob])?([0-9a-fA-F]+)\\s*$/;\nconst invalidRadix2 = /[^01]/;\nconst invalidRadix8 = /[^0-7]/;\nconst invalidRadix10 = /[^0-9]/;\nexport function isValid(s, radix) {\n const res = parseRadix.exec(s);\n if (res != null) {\n if (radix == null) {\n switch (res[2]) {\n case \"0b\":\n radix = 2;\n break;\n case \"0o\":\n radix = 8;\n break;\n case \"0x\":\n radix = 16;\n break;\n default:\n radix = 10;\n break;\n }\n }\n switch (radix) {\n case 2:\n return invalidRadix2.test(res[3]) ? null : [res, 2];\n case 8:\n return invalidRadix8.test(res[3]) ? null : [res, 8];\n case 10:\n return invalidRadix10.test(res[3]) ? null : [res, 10];\n case 16:\n return [res, 16];\n default:\n throw new Error(\"Invalid Base.\");\n }\n }\n return null;\n}\n// TODO does this perfectly match the .NET behavior ?\nexport function tryParse(s, radix, initial) {\n const a = isValid(s, radix);\n if (a !== null) {\n const [[, prefix, , digits], radix_] = a;\n const v = parseInt((prefix || \"\") + digits, radix_);\n if (!Number.isNaN(v)) {\n return [true, v];\n }\n }\n return [false, initial];\n}\nexport function parse(s, radix) {\n const a = tryParse(s, radix, 0);\n if (a[0]) {\n return a[1];\n }\n else {\n throw new Error(\"Input string was not in a correct format.\");\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Common/Markalc/Expression.fs","module Lexer\n\nopen Types\nopen Shared\nopen LexerShared\n\ntype LexerState =\n | Normal\n | InCodeBlock of content: string * Language\n | InHTMLTag of tag: string * depth: int\n\nlet htmlSingleton = [\n \"area\"; \"base\"; \"br\"; \"col\"; \"command\"; \"embed\"; \"hr\"; \"img\"; \"input\"\n \"keygen\"; \"link\"; \"meta\"; \"param\"; \"source\"; \"track\"; \"wbr\"\n]\n\n/// An escaped char tokenizer, which identifies the escaped characters and returns them\n/// as a literal instead, without the leading '\\'\nlet (|EscapedCharTok|_|) = (|EscapedChar|_|) LITERAL charList\n\n/// Returns the Token type of the identifier token\nlet (|CharacterTok|_|) = (|Character|_|) charList\n\nlet (|MatchLang|_|) = function\n | RegexMatch \"(p|P)ython\" _ -> Some Python | RegexMatch \"F#|fsharp|f#\" _ -> Some FSharp\n | RegexMatch \"(C|c)(\\\\+\\\\+|pp)\" _ -> Some CPP | RegexMatch \"C|c\" _ -> Some C | _ -> Some Empty\n\nlet (|HTMLStartTag|_|) = (|RegexMatch|_|) \"^<([a-zA-Z]+)\\\\s*.*?>\"\n\nlet (|HTMLEndTag|_|) = (|RegexMatch|_|) \"^<\\\\/([a-zA-Z]+)\\\\s*.*?>\"\n\nlet (|HTMLSingleton|_|) = (|RegexMatch|_|) \"^<([a-zA-Z]+)\\\\s*.*?(?:\\\\/>|>)\"\n\nlet (|CodeBlockStart|_|) = (|GroupMatch|_|) \"^```+\\\\s*([a-zA-Z0-9+\\\\-_]*)\"\n\n/// Returns the next Token of a string\nlet nextToken state s =\n match s, state with\n | EscapedCharTok n, _ -> n, state\n | HTMLStartTag (s, [t], r), Normal ->\n (LITERAL s, r), InHTMLTag (t, 1)\n | HTMLStartTag (s, [t], r), InHTMLTag (tag, d) ->\n if t = tag then\n (LITERAL s, r), InHTMLTag (tag, d+1)\n else\n (LITERAL s, r), InHTMLTag (tag, d)\n | HTMLEndTag (s, [t], r), InHTMLTag (tag, d) ->\n if t = tag then\n if d = 1 then\n (LITERAL s, r), Normal\n else\n (LITERAL s, r), InHTMLTag (tag, d-1)\n else\n (LITERAL s, r), InHTMLTag (tag, d)\n | HTMLSingleton (s, _, r), _ ->\n (LITERAL s, r), state\n | RegexMatch \".*?(?=<)\" (s, _, r), InHTMLTag (t, d) ->\n (LITERAL s, r), InHTMLTag (t, d)\n | CharacterTok n, _ -> n, state\n | RegexMatch @\"^\\s+\" (m, _, s), _ ->\n (String.length m |> WHITESPACE, s), state\n | RegexMatch \"^[0-9]+\" (m, _, s), _->\n (NUMBER m, s), state\n | RegexMatch (literalString charList) (m, _, s), _ ->\n (LITERAL m, s), state\n | s, _ ->\n sprintf \"Unrecognised character: %A\" s |> sharedLog.Warn None\n (toString s.[0] |> LITERAL, (sOnwards 1 s)), state\n\n/// Lexes a whole string and returns the result as a Token list\nlet lexS state source =\n let rec lexS' state s tokList =\n match s with\n | \"\"-> ENDLINE :: tokList\n | _ ->\n let (nt, st'), nstate = nextToken state s\n nt :: tokList |> lexS' nstate st'\n match source, state with\n | CodeBlockStart (MatchLang lang), Normal ->\n [], InCodeBlock (\"\", lang)\n | RegexMatch \"^```+\" _, InCodeBlock (s, lang) ->\n [CODEBLOCK (s, lang); ENDLINE], Normal\n | _, InCodeBlock (s, lang) ->\n [], InCodeBlock (s+source+\"\\n\", lang)\n | RegexMatch @\"^\\s*$\" _, _ ->\n [ENDLINE], state\n | _ ->\n lexS' state source [] |> List.rev, state\n\n/// Return the correct token if it is not close properly at the end\nlet returnTokens = function\n | _, InCodeBlock (s, l) ->\n [CODEBLOCK (s, l); ENDLINE]\n | tok, InHTMLTag (str, _) ->\n tok @ [LITERAL str; ENDLINE]\n | tok, _ ->\n tok\n\n/// Lex a single string\nlet lex s =\n lexS Normal s |> returnTokens\n\n/// Lexes a list of strings and returns the Token list\nlet lexList strl =\n let f (flist, state) nstr =\n let (lst, st) = lexS state nstr\n flist @ lst, st\n List.fold f ([], Normal) strl |> returnTokens\n\n\n\n// WEBPACK FOOTER //\n// src/Common/Lexer/Lexer.fs","module Preprocessor\n\nopen System\n\nopen Shared\nopen LexerShared\n\n/// Token type for the preprocessor macros\ntype Token =\n | LITERAL of string\n | MACRO | OPENDEF | CLOSEDEF | OPENEVAL | CLOSEEVAL | LBRA | RBRA\n | SEMICOLON | ENDLINE | BSLASH\n\n/// Type of the parser elements\ntype Parser =\n | MacroDefinition of Macro\n | MacroSubstitution of Sub\n | ParseText of content: string\n | ParseNewLine\n\n/// Type for a macro\nand Macro = {Name: string; Args: string list; Body: Parser list}\n\n/// Type for a substitution\nand Sub = {Name: string; Args: string list; Raw: string}\n\n/// Character list for the preprocessor\nlet charList = [\"{%\", OPENDEF; \"%}\", CLOSEDEF; \"{{\", OPENEVAL\n \"}}\", CLOSEEVAL; \"(\", LBRA; \")\", RBRA; \";\", SEMICOLON;\n \"\\\\\", BSLASH]\n\nlet keywordList = [\"macro\", MACRO]\n\n/// Check if a LITERAL is exclusively whitespace \nlet (|WhiteSpace|NonWhiteSpace|) = function\n | LITERAL (RegexMatch @\"^\\s*$\" _) -> WhiteSpace\n | _ -> NonWhiteSpace\n\n/// Matches all the escapable characters that are defined in charList\nlet (|EscapedCharParse|_|) = (|EscapedChar|_|) LITERAL charList\n\n/// Matches all the special characters that are defined in charList\nlet (|CharacterParse|_|) = (|Character|_|) charList\n\nlet (|KeywordParse|_|) = (|Character|_|) keywordList\n\n/// Converts a token list to a string\nlet tokToString tList =\n let tokString st = function\n | LITERAL l -> st+l\n | t ->\n match charList @ keywordList |> listTryFind t with\n | Some s -> st+s\n | _ -> st\n List.fold tokString \"\" tList\n\n/// Retrieves the next token from a string and returns it, together\n/// with the rest of the string\nlet nextToken str =\n let literalMatch = charList |> literalString\n match str with\n | EscapedCharParse n | CharacterParse n | KeywordParse n ->\n n\n | RegexMatch @\"^\\s+\" (m, _, r) ->\n LITERAL m, r\n | RegexMatch literalMatch (m, _, r) ->\n LITERAL m, r\n | _ ->\n toString str.[0] |> LITERAL, str.[1..]\n\n/// Tokenizes a string and return it as a list of tokens\nlet tokenize str =\n let rec pTokenize' tList str =\n match str with\n | \"\" ->\n ENDLINE :: tList\n | _ ->\n let t, r = nextToken str\n pTokenize' (t :: tList) r\n pTokenize' [] str |> List.rev\n\n/// Tokenizes a list of strings and returns them as a single list of tokens\nlet tokenizeList = List.collect tokenize\n\n/// Returns if the start of the list of tokens matches a keyword\nlet (|KeyWord|_|) =\n let listCheckExists t list =\n list\n |> List.map (fun (_, c) -> c)\n |> List.exists ((=) t)\n function\n | WhiteSpace :: a :: tl | a :: tl ->\n match listCheckExists a keywordList with\n | true -> Some (a, tl)\n | _ -> None\n | _ -> None\n\n/// Checks if the Token list matches an argument list, which could be one of the\n/// following:\n/// (arg1; arg2)\n/// (arg 1; arg 2)\n/// (arg1)\n/// ()\nlet (|ArgList|_|) =\n /// Matches if there is a list of literals, and returns all of them until it reaches\n /// a Token that is not a literal\n let rec (|NameList|_|) = function\n | LITERAL n :: NameList (nList, r) ->\n Some (n :: nList, r)\n | LITERAL n :: r ->\n Some ([n], r)\n | _ -> None\n\n /// Matches a semicolon separated list of Literal lists\n let rec (|ParamList|_|) = function\n | WhiteSpace :: tl | tl ->\n match tl with\n | NameList (n, SEMICOLON :: ParamList (lst, r)) ->\n Some (List.fold (+) \"\" n :: lst, r)\n | NameList (n, r) ->\n Some ([List.fold (+) \"\" n], r)\n | _ ->\n Some ([], tl)\n function\n | WhiteSpace :: tl | tl ->\n match tl with\n | LBRA :: ParamList (nl, RBRA :: tl) ->\n Some (nl, tl)\n | _ -> None\n\n/// Matches a literal, which will be the name of the function, which can be followed by\n/// an argument list\nlet (|Function|_|) = function\n | WhiteSpace :: LITERAL n :: tl ->\n match tl with\n | ArgList (nl, WhiteSpace :: tl)\n | ArgList (nl, tl) ->\n Some (n, nl, tl)\n | WhiteSpace :: t\n | t ->\n Some (n, [], t)\n | _ -> None\n\n/// Matches the start syntax for a macro, the closing CLOSEDEF can be on a differen line and\n/// after a Parse list, so that is matched in the parse function\nlet (|MacroDef|_|) = function\n | OPENDEF :: KeyWord (MACRO, Function f) ->\n Some f\n | _ -> None\n\n/// Matches an evaluation of a macro\nlet (|EvalDef|_|) = function\n | OPENEVAL :: WhiteSpace :: tl | OPENEVAL :: tl ->\n match tl with\n | LITERAL n :: ArgList (nl, WhiteSpace :: CLOSEEVAL :: tl)\n | LITERAL n :: ArgList (nl, CLOSEEVAL :: tl) ->\n Some (n, nl, tl)\n | LITERAL n :: WhiteSpace :: CLOSEEVAL :: tl\n | LITERAL n :: CLOSEEVAL :: tl ->\n Some (n, [], tl)\n | _ -> None\n | _ -> None\n\n/// Matches a special character or keyword\nlet (|SChar|_|) tok =\n charList @ keywordList\n |> List.map invTuple\n |> Map.ofList\n |> mapTryFind tok\n\n/// Parses a Token list into a Parser list\nlet parse tList =\n\n /// Returns the raw token list for a macro evaluation\n let getRaw list =\n let rec getRaw' list curr =\n match list with\n | CLOSEEVAL :: _ ->\n CLOSEEVAL :: curr\n | a :: tl ->\n a :: curr |> getRaw' tl\n | _ ->\n curr\n getRaw' list [] |> List.rev\n\n /// The recursive part of the parser, which build the Parser list\n let rec parse' endToken tList pList =\n let pRec f c tl = f c :: pList |> parse' endToken tl\n let recText = pRec ParseText\n match tList, endToken with\n | MacroDef (a, b, tl), _ ->\n let p, tl' = parse' (Some CLOSEDEF) tl []\n pRec MacroDefinition {Name=a; Args=b; Body=List.rev p} tl'\n | EvalDef (n, args, tl), _ ->\n pRec MacroSubstitution {Name=n; Args=args; Raw=getRaw tList |> tokToString} tl\n | ENDLINE :: tl, _ ->\n pRec id ParseNewLine tl\n | WhiteSpace :: a :: tl, Some e | a :: tl, Some e when e = a ->\n match tl with\n | WhiteSpace :: ENDLINE :: b\n | WhiteSpace :: b\n | ENDLINE :: b\n | b ->\n pList, b\n | LITERAL f :: tl, _ ->\n recText f tl\n | SChar c :: tl, _ ->\n recText c tl\n | _ -> pList, []\n let p, _ = parse' None tList []\n List.rev p\n\n/// Evaluates and strips macros from the markdown, and also evaluates macro substitutions\n/// by seeing which macros are in scope or if the substitution is a parameter.\n/// This supports shadowing of previously defined macros, and scopes can be defined\n/// by declaring a macro inside another macro\nlet evaluate pList =\n\n /// Makes an empty parmeter list for the current parameters, so that they\n /// are not substituted\n let makeEmptyParam args: Map<string, string option> =\n List.replicate (List.length args) None\n |> List.zip args\n |> Map.ofList\n\n /// Add a parameter to a parameter map\n let addParam p (macro: Macro) args =\n List.zip macro.Args args\n |> List.fold (fun (s: Map<string, string option>) (a, b) -> s.Add(a, Some b)) p\n\n /// Make a Macro record type\n let makeMacro n args p =\n {Name = n; Args = args; Body = p}\n\n /// Adds an element to a map with key k and value v\n let mapAdd (map: Map<'a, 'b>) k v =\n map.Add(k, v)\n\n /// Evaluates and creates a new simplified Parser list with all the macros stripped\n /// and substitutions evaluated\n let rec evalulate' pList newPList param (scope: Map<string, Macro>) =\n\n /// Function for use with different currying that the original\n let evalulateInv' pList newPList scope param =\n evalulate' pList newPList param scope\n\n /// Evaluate without adding any values to the param or scope maps\n let evalulate'' pList list =\n evalulate' pList (list @ newPList) param scope\n\n match pList with\n | MacroDefinition {Name=n; Args=args; Body=p} :: tl ->\n makeEmptyParam args\n |> evalulateInv' p [] scope\n |> makeMacro n args\n |> mapAdd scope n\n |> evalulate' tl newPList param\n | MacroSubstitution {Name=n; Args=args; Raw=raw} as ms :: tl ->\n let eval =\n match param.TryFind n with\n | Some (Some x) ->\n [ParseText x]\n | Some _ ->\n [ms]\n | _ ->\n match scope.TryFind n with\n | Some m when List.isEmpty args ->\n m.Body\n | Some m ->\n addParam param m args\n |> evalulateInv' m.Body [] scope\n |> List.rev\n | _ ->\n [ParseText raw]\n evalulate'' tl eval\n\n | p :: tl ->\n evalulate'' tl [p]\n | _ -> newPList\n evalulate' pList [] Map.empty<string, string option> Map.empty<string, Macro>\n |> List.rev\n\n/// Converts a Parser list to a string\nlet parserToString pList =\n List.fold (fun st -> function\n | ParseText x -> st+x\n | ParseNewLine -> st+\"\\n\"\n | _ -> st) \"\" pList\n\n/// Converts a Parser list to a list of strings without any newlines\nlet toStringList pList =\n let f st n =\n match st, n with\n | _, ParseNewLine ->\n \"\" :: st\n | a :: b, ParseText t ->\n a+t :: b\n | _, ParseText t ->\n [t]\n | _ -> st\n List.fold f [] pList |> List.rev\n\n/// perform the parsing, evaluation, while stripping the last endline which is redundant\n/// as it was added by the tokenizer\nlet pETS =\n let stripLastEndline l =\n match List.rev l with\n | [ParseNewLine] as e ->\n e\n | ParseNewLine :: r ->\n List.rev r\n | _ -> l\n parse >> evaluate >> stripLastEndline\n\n/// Preprocess a string and output a string with the macro evaluated\nlet preprocess =\n tokenize >> pETS >> parserToString\n\n/// Preprocess a list of strings which is returned as a list of strings with the\n/// macro evaluated\nlet preprocessList =\n List.collect tokenize >> pETS >> toStringList\n\n\n\n// WEBPACK FOOTER //\n// src/Common/Lexer/Preprocessor.fs","module HTMLGen\n\nopen Types\nopen Shared\nopen Logger\nopen HTMLGenHelpers\n\nlet dLogger = Logger(LogLevel.WARNING)\n\n/// convert TFrmtedString to string, with HTML tags where necessary\nlet rec strFStr fStr =\n match fStr with\n | Literal str -> str\n | Code str -> str |> attachSimpleTag \"code\"\n | Strong a -> strInlineElements a |> attachSimpleTag \"strong\"\n | Emphasis e -> strInlineElements e |> attachSimpleTag \"em\"\n\n/// convert InlineElement list to string, with HTML tags where necessary\n/// not tail recursive because the code looks cleaner this way\nand strInlineElements eles =\n let convertHtml pStr ele =\n pStr +\n match ele with\n | FrmtedString fStr -> strFStr fStr\n | Link (ht, url) -> strFStr ht |> attachHTMLTag (\"a\", [(\"href\", url)], true)\n | Picture (alt, url) ->\n let attrs = [(\"src\", url); (\"alt\", alt)]\n attachHTMLTag (\"img\", attrs, false) \"\"\n List.fold convertHtml \"\" eles\n\n/// process Markdown paragraph\nlet strParagraph lines =\n let folder pLinesStr line =\n pLinesStr + strInlineElements line\n List.fold folder \"\" lines\n |> attachSimpleTag \"p\"\n\n\n/// process Markdown Table\nlet strTable (rows: PRow list) =\n // filter out table header\n let containHeader (row: PRow) =\n //let PCells(_, isHeader) = row\n match row with\n | PCells(_, isHeader) ->\n isHeader\n let takeoutCells = List.map (fun pRow -> match pRow with | PCells(cells,_) -> cells)\n let headerRows = List.filter (containHeader) rows |> takeoutCells\n let bodyRows = List.filter (containHeader >> not) rows |> takeoutCells\n let foldCells row =\n let cellsFolder pStr cell =\n match cell with\n | CellLine(line, isHeader, align) ->\n let tagName = if isHeader then \"th\" else \"td\"\n let cellContent = strInlineElements line\n let alignAttr =\n match align with\n | Centre -> (\"align\", \"center\")\n | Right -> (\"align\", \"right\")\n | Left -> (\"align\", \"left\")\n | NoAlign -> (\"\",\"\")\n pStr + attachHTMLTag (tagName, [alignAttr], true) cellContent\n List.fold cellsFolder \"\" row\n let foldRows rows =\n let rowsFolder pStr row =\n foldCells row\n |> attachSimpleTag \"tr\"\n |> fun s -> pStr + s\n List.fold rowsFolder \"\" rows\n foldRows headerRows |> attachSimpleTag \"thead\"\n |> fun s ->\n s + (foldRows bodyRows |> attachSimpleTag \"tbody\")\n |> attachSimpleTag \"table\"\n\n\n/// recursively process a list\nlet rec strList list =\n let strListItem pStr li =\n pStr + (\n match li with\n | StringItem(line) -> strInlineElements line |> attachSimpleTag \"li\"\n | NestedList(list) -> strList list\n )\n match list with\n | {ListType=lt; ListItem=liS} ->\n let listTag = if lt=UL then \"ul\" else \"ol\"\n List.fold strListItem \"\" liS\n |> attachSimpleTag listTag\n\n/// process header\nlet strHeader header =\n match header with\n | {HeaderName=line;Level=lv} ->\n let tagName = \"h\" + string(lv)\n line\n |> strInlineElements\n |> attachSimpleTag tagName\n\n/// process inline footnotes\nlet strInlineFootnote fnId =\n let idStr = match fnId with | FtID i -> string i | RefID s -> string s\n idStr\n |> attachHTMLTag (\"a\", [\"href\", \"#footnote-\"+idStr], true)\n |> attachSimpleTag \"sup\"\n\n\nlet (|MatchHeaderAndSubHeader|_|) hds =\n match hds with\n | fstHd::sndHd::_ ->\n let {Level=fstLv} = fstHd\n let {Level=sndLv} =sndHd\n if sndLv > fstLv then (List.head hds, List.tail hds) |> Some else None\n | _ -> None\n\n/// process table of contents\n\nlet strToC (toc:Ttoc) =\n let displaySingleHeader headerName =\n headerName |> strInlineElements // can insert unique id for linking\n let appendListItem s i =\n {s with ListItem = i::(s.ListItem)}\n let fstAppendListItem s i = \n appendListItem (fst s) i\n let appendToNested (s:TList) appendee =\n // if List.head fst s is a nested list, append to that list\n match s.ListItem with\n | NestedList(l)::tail -> \n sprintf \"Append to nested: %A\" appendee |> dLogger.Debug None\n {s with ListItem = NestedList({l with ListItem = appendee::l.ListItem})::tail}\n // otherwise if the latest element on the list isn't a nested list, just append\n | _ ->\n sprintf \"Create nested with: %A\" appendee |> dLogger.Debug None \n appendee |> appendListItem s\n \n let appendToNestedD n (s:TList) appendee =\n let getNest = function \n | NestedList(l) -> l \n | _ -> failwith \"Invalid depth.\"\n \n let rec appendToNestedD' n s =\n let recurse = function\n | head::tail -> ((appendToNestedD' (n-1) (head |> getNest)).ListItem)@tail\n | [] -> failwithf \"List shouldn't be empty: %A\" s\n match (n,s) with\n | (n,s) when n > 0 ->\n {s with ListItem = recurse s.ListItem}\n\n | (0,s) -> (appendee |> appendToNested s)\n | (n,_) when n < 0 -> failwith \"Negative depth, shouldn't happen.\"\n | _ -> failwithf \"n is: %i, s is: %A\" n s\n appendToNestedD' n s\n\n // Maybe convert header list into a list item\n let fold (s:(TList*int)) =\n function\n | {HeaderName=headerName; Level=lv} when lv = 1\n // If header has depth 1, put it in the main list\n -> StringItem(headerName) |> fstAppendListItem s,lv\n // If lv is > previous level, create nested list\n | {HeaderName=headerName; Level=lv} when lv > snd s\n -> NestedList({ListType=OL;ListItem=[StringItem(headerName)];Depth=snd s})\n |> appendToNestedD 0 (fst s), lv\n // Append to current nested list\n | {HeaderName=headerName; Level=lv} when lv = snd s\n -> sprintf \"Append: %A %i\" headerName lv |> dLogger.Debug None\n StringItem(headerName) |> appendToNested (fst s),lv\n \n | {HeaderName=headerName; Level=lv} when lv < snd s\n -> StringItem(headerName) |> appendToNestedD (lv-2) (fst s),lv\n | _ -> s\n \n let rec revList (l:TList) =\n let rec revListItemList (li:TListItem list) =\n let revRecurse = function \n | NestedList(l)->NestedList({l with ListItem=(revListItemList l.ListItem)})\n | l -> l\n List.map revRecurse li\n |> List.rev\n {l with ListItem=List.rev (revListItemList l.ListItem)}\n\n //sprintf \"%A\" (toc.HeaderLst) |> dLogger.Debug None\n List.fold fold ({Depth=1; ListItem=[]; ListType=OL},1) (toc.HeaderLst)\n |> fst\n |> (fun l -> {l with ListItem=List.rev l.ListItem})\n |> revList\n |> strList\n // For each header in the list, print it out as a list element\n //let folder' maxLv s (header:THeader) =\n // // match header with\n // // | {HeaderName=str; Level=headerLv}\n\n // \"\"\n //let folder = folder' (toc.MaxDepth)\n //List.fold folder \"\" toc.HeaderLst\n\n //let rec tocMany currentLv maxLv headers pStr =\n // match headers with\n // | {HeaderName=headerName; Level=headerLv}::rHds ->\n // match headerLv with\n // | hlv when hlv = currentLv ->\n // match headers with\n // | MatchHeaderAndSubHeader (fstHd, rHds) ->\n // let (cStr, rHds) =\n // match fstHd |> strInlineElements |> tocMany currentLv+1 maxLv rHds with\n // | Ok (cStr, rHds) -> (cStr, rHds)\n // | Error\n // //pStr + (\n // \n // // |> attachSimpleTag \"li\")\n // \n // | _ -> pStr + (headerName |> strInlineElements) |> tocMany currentLv maxLv rHds |> Ok\n // | hlv when hlv \n\n\n\n/// gather footnotes for end of page display\nlet gatherFootnotes pObjs =\n let footnotesFilter pObj =\n match pObj with\n | Footnote _ -> true\n | _ -> false\n List.filter footnotesFilter pObjs\n\n\n/// process HTML body part\nlet strBody pObjs =\n let folder pStr pObj =\n pStr +\n match pObj with\n | Paragraph p -> strParagraph p\n | Quote q -> strInlineElements q |> attachSimpleTag \"q\"\n | CodeBlock (c, l) -> attachHTMLTag (\"code\", [(\"language\", mapLang l)], true) c\n | Table rows -> strTable rows\n | List l -> strList l\n | Header h -> strHeader h\n | Footnote (fnId, _) -> strInlineFootnote fnId\n | ContentTable toc -> strToC toc\n | _ -> sprintf \"%A is not implemented\" pObj\n List.fold folder \"\" pObjs\n\n\n\n\n// WEBPACK FOOTER //\n// src/Common/HTMLGen/HTMLGen.fs","module HTMLGenHelpers\n\nopen Types\n\ntype TagStyle = INLINE | NonInline of indentStr: string\n\n\n/// concat attributeName and value\n/// with quotes\nlet toAttr attributeName value =\n attributeName + \"=\\\"\" + value + \"\\\"\"\n\n/// convert (attributeName, value) list to string list\n/// ready for inserting into HTML tag\nlet toAttrs attrs =\n let mapper attr =\n match attr with | (attrName, value) -> toAttr attrName value\n List.map mapper attrs\n\n/// atach HTML tag to a given string, both start and end tag\n/// inline style does not insert newline after start tag and before end tag\n/// non-inline style will have indent set to desired string\nlet attachHTMLTag (tagName, attributes: list<string * string>, needCloseTag) (content: string) =\n let attrStr =\n match List.isEmpty attributes with\n | true -> \"\"\n | false ->\n let attrFolder pStr attrNameValue =\n pStr +\n match attrNameValue with\n | (\"\",\"\") -> \"\"\n | (attrName, value) ->\n \" \" + // space before attribute\n if value = \"\" then attrName\n else attrName + \"=\\\"\" + value + \"\\\"\"\n List.fold attrFolder \"\" attributes\n \"<\" + tagName + attrStr + \">\"\n + content\n + if needCloseTag then \"</\" + tagName + \">\" else \"\"\n\n/// attach (tagName,noAttr,closeTag)\nlet attachSimpleTag tagName = attachHTMLTag (tagName,[],true)\n\n\n\n// WEBPACK FOOTER //\n// src/Common/HTMLGen/HTMLGenHelpers.fs","module MarkdownGen\n\nopen Types\nopen Shared\nopen Logger\n\nlet logger = Logger(LogLevel.INFO)\n\n// retunr string surrounded by pat\nlet surround pat str =\n let pat2 = match pat with\n | \"(\" -> \")\"\n | \"[\" -> \"]\"\n | \"{\" -> \"}\"\n | _ -> pat\n sprintf \"%s%s%s\" pat str pat2\n\n/// convert TFrmtedString to string\nlet rec mdFStr fStr =\n match fStr with\n | Literal str -> str\n | Code str -> surround \"\\`\" str\n | Strong a -> mdInlineElements a |> surround \"**\"\n | Emphasis e -> mdInlineElements e |> surround \"*\"\n\n/// convert InlineElement list to string, with HTML tags where necessary\n/// not tail recursive because the code looks cleaner this way\nand mdInlineElements eles =\n let braSurround = surround \"(\"\n let sbraSurround = surround \"[\"\n let convertMd pStr ele =\n pStr +\n match ele with\n | FrmtedString fStr -> mdFStr fStr\n | Link (ht, url) -> (mdFStr ht |> sbraSurround) + (url |> braSurround)\n | Picture (alt, url) -> (alt |> sbraSurround |> sprintf \"!%s\" ) + (url |> braSurround)\n List.fold convertMd \"\" eles\n\n\n/// process Markdown paragraph\nlet mdParagraph lines =\n let folder pLinesStr line =\n pLinesStr + mdInlineElements line\n List.fold folder \"\" lines\n + \"\\n\\n\"\n\n/// process Markdown Table\nlet mdTable (rows: PRow list) =\n // filter out table header\n let containHeader (row: PRow) =\n //let PCells(_, isHeader) = row\n match row with\n | PCells(_, isHeader) ->\n isHeader\n let takeoutCells = List.map (fun pRow -> match pRow with | PCells(cells,_) -> cells)\n let headerRows = List.filter (containHeader) rows |> takeoutCells\n let bodyRows = List.filter (containHeader >> not) rows |> takeoutCells\n let foldCells alignRow row =\n let cellsFolder alignRow pStr cell =\n match cell with\n | CellLine(line, _, align) ->\n match alignRow with\n | true ->\n match align with\n | Centre -> \":---:\"\n | Right -> \"---:\"\n | Left -> \":---\"\n | NoAlign -> \"---\"\n | false ->\n mdInlineElements line\n |> (fun cellContent -> pStr + cellContent + \"|\")\n \n List.fold (cellsFolder alignRow) \"|\" row\n \n let foldRows alignRow rows =\n let rowsFolder alignRow pStr row =\n pStr + (foldCells alignRow) row + \"\\n\"\n List.fold (rowsFolder alignRow) \"\" rows\n let foldNormalRows = foldRows false\n let foldAlignRow = foldCells true\n foldNormalRows headerRows\n + (headerRows |> List.head |> foldAlignRow)\n + foldNormalRows bodyRows + \"\\n\\n\"\n\n/// recursively process a list\nlet rec mdList list =\n let mdListItem ord tab (pStr,pCount) li =\n let retFold s = pStr + s, pCount + 1;\n match li with\n | StringItem(line) -> mdInlineElements line |> (fun s -> \n if ord \n then \n sprintf \"%s%i. %s\\n\" (String.replicate tab \"\\t\") pCount s\n |> logPassN logger.Debug\n else sprintf \"%s- %s\\n\" (String.replicate tab \"\\t\") s) |> retFold\n | NestedList(list) -> mdList list |> retFold\n \n match list with\n | {ListType=lt; ListItem=liS; Depth=d} ->\n let ord = lt=OL\n List.fold (mdListItem ord (d-1)) (\"\",1) liS\n |> fst\n\n/// process header\nlet mdHeader header =\n match header with\n | {HeaderName=line;Level=lv} ->\n (line |> mdInlineElements)\n |> sprintf \"%s %s\\n\" (String.replicate lv \"#\") \n\n/// process HTML body part\nlet mdBody pObjs =\n let folder pStr pObj =\n pStr +\n match pObj with\n | Paragraph p -> mdParagraph p\n //| Quote q -> mdInlineElements q\n | CodeBlock (c, l) -> surround \"```\" (mapLang l + \"\\n\" + c + \"\\n\")\n | Table rows -> mdTable rows\n | List l -> mdList l |> sprintf \"%s\\n\"\n | Header h -> mdHeader h\n //| Footnote (fnId, _) -> mdInlineFootnote fnId\n | _ -> sprintf \"%A is not implemented\" pObj\n List.fold folder \"\" pObjs\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/Common/MarkdownGen/MarkdownGen.fs"],"sourceRoot":""} \ No newline at end of file