compostjs 0.0.4 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bundle.js DELETED
@@ -1,829 +0,0 @@
1
- /******/ (function(modules) { // webpackBootstrap
2
- /******/ // The module cache
3
- /******/ var installedModules = {};
4
- /******/
5
- /******/ // The require function
6
- /******/ function __webpack_require__(moduleId) {
7
- /******/
8
- /******/ // Check if module is in cache
9
- /******/ if(installedModules[moduleId]) {
10
- /******/ return installedModules[moduleId].exports;
11
- /******/ }
12
- /******/ // Create a new module (and put it into the cache)
13
- /******/ var module = installedModules[moduleId] = {
14
- /******/ i: moduleId,
15
- /******/ l: false,
16
- /******/ exports: {}
17
- /******/ };
18
- /******/
19
- /******/ // Execute the module function
20
- /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21
- /******/
22
- /******/ // Flag the module as loaded
23
- /******/ module.l = true;
24
- /******/
25
- /******/ // Return the exports of the module
26
- /******/ return module.exports;
27
- /******/ }
28
- /******/
29
- /******/
30
- /******/ // expose the modules object (__webpack_modules__)
31
- /******/ __webpack_require__.m = modules;
32
- /******/
33
- /******/ // expose the module cache
34
- /******/ __webpack_require__.c = installedModules;
35
- /******/
36
- /******/ // define getter function for harmony exports
37
- /******/ __webpack_require__.d = function(exports, name, getter) {
38
- /******/ if(!__webpack_require__.o(exports, name)) {
39
- /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
40
- /******/ }
41
- /******/ };
42
- /******/
43
- /******/ // define __esModule on exports
44
- /******/ __webpack_require__.r = function(exports) {
45
- /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
46
- /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
47
- /******/ }
48
- /******/ Object.defineProperty(exports, '__esModule', { value: true });
49
- /******/ };
50
- /******/
51
- /******/ // create a fake namespace object
52
- /******/ // mode & 1: value is a module id, require it
53
- /******/ // mode & 2: merge all properties of value into the ns
54
- /******/ // mode & 4: return value when already ns object
55
- /******/ // mode & 8|1: behave like require
56
- /******/ __webpack_require__.t = function(value, mode) {
57
- /******/ if(mode & 1) value = __webpack_require__(value);
58
- /******/ if(mode & 8) return value;
59
- /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
60
- /******/ var ns = Object.create(null);
61
- /******/ __webpack_require__.r(ns);
62
- /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
63
- /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
64
- /******/ return ns;
65
- /******/ };
66
- /******/
67
- /******/ // getDefaultExport function for compatibility with non-harmony modules
68
- /******/ __webpack_require__.n = function(module) {
69
- /******/ var getter = module && module.__esModule ?
70
- /******/ function getDefault() { return module['default']; } :
71
- /******/ function getModuleExports() { return module; };
72
- /******/ __webpack_require__.d(getter, 'a', getter);
73
- /******/ return getter;
74
- /******/ };
75
- /******/
76
- /******/ // Object.prototype.hasOwnProperty.call
77
- /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
78
- /******/
79
- /******/ // __webpack_public_path__
80
- /******/ __webpack_require__.p = "";
81
- /******/
82
- /******/
83
- /******/ // Load entry module and return exports
84
- /******/ return __webpack_require__(__webpack_require__.s = "./src/demos.js");
85
- /******/ })
86
- /************************************************************************/
87
- /******/ ({
88
-
89
- /***/ "./.fable/fable-library.2.10.1/Array.js":
90
- /*!**********************************************!*\
91
- !*** ./.fable/fable-library.2.10.1/Array.js ***!
92
- \**********************************************/
93
- /*! exports provided: append, filter, fill, getSubArray, last, tryLast, mapIndexed, map, mapIndexed2, map2, mapIndexed3, map3, mapFold, mapFoldBack, indexed, truncate, concat, collect, countBy, distinctBy, distinct, where, contains, except, groupBy, empty, singleton, initialize, pairwise, replicate, copy, reverse, scan, scanBack, skip, skipWhile, take, takeWhile, addInPlace, addRangeInPlace, removeInPlace, removeAllInPlace, copyTo, partition, find, tryFind, findIndex, tryFindIndex, pick, tryPick, findBack, tryFindBack, findLastIndex, findIndexBack, tryFindIndexBack, choose, foldIndexed, fold, iterate, iterateIndexed, iterate2, iterateIndexed2, isEmpty, forAll, permute, setSlice, sortInPlaceBy, sortInPlace, sort, sortBy, sortDescending, sortByDescending, sortWith, unfold, unzip, unzip3, zip, zip3, chunkBySize, splitAt, compareWith, equalsWith, exactlyOne, head, tryHead, tail, item, tryItem, foldBackIndexed, foldBack, foldIndexed2, fold2, foldBackIndexed2, foldBack2, reduce, reduceBack, forAll2, existsOffset, exists, existsOffset2, exists2, sum, sumBy, maxBy, max, minBy, min, average, averageBy, ofSeq, ofList, toList, windowed, splitInto, transpose */
94
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
95
-
96
- "use strict";
97
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"append\", function() { return append; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"filter\", function() { return filter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fill\", function() { return fill; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getSubArray\", function() { return getSubArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"last\", function() { return last; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryLast\", function() { return tryLast; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mapIndexed\", function() { return mapIndexed; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"map\", function() { return map; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mapIndexed2\", function() { return mapIndexed2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"map2\", function() { return map2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mapIndexed3\", function() { return mapIndexed3; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"map3\", function() { return map3; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mapFold\", function() { return mapFold; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mapFoldBack\", function() { return mapFoldBack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"indexed\", function() { return indexed; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"truncate\", function() { return truncate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"concat\", function() { return concat; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"collect\", function() { return collect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"countBy\", function() { return countBy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"distinctBy\", function() { return distinctBy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"distinct\", function() { return distinct; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"where\", function() { return where; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"contains\", function() { return contains; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"except\", function() { return except; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"groupBy\", function() { return groupBy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"empty\", function() { return empty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"singleton\", function() { return singleton; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"initialize\", function() { return initialize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pairwise\", function() { return pairwise; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"replicate\", function() { return replicate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"copy\", function() { return copy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"reverse\", function() { return reverse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"scan\", function() { return scan; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"scanBack\", function() { return scanBack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"skip\", function() { return skip; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"skipWhile\", function() { return skipWhile; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"take\", function() { return take; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"takeWhile\", function() { return takeWhile; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addInPlace\", function() { return addInPlace; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addRangeInPlace\", function() { return addRangeInPlace; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeInPlace\", function() { return removeInPlace; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeAllInPlace\", function() { return removeAllInPlace; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"copyTo\", function() { return copyTo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"partition\", function() { return partition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"find\", function() { return find; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryFind\", function() { return tryFind; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"findIndex\", function() { return findIndex; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryFindIndex\", function() { return tryFindIndex; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pick\", function() { return pick; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryPick\", function() { return tryPick; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"findBack\", function() { return findBack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryFindBack\", function() { return tryFindBack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"findLastIndex\", function() { return findLastIndex; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"findIndexBack\", function() { return findIndexBack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryFindIndexBack\", function() { return tryFindIndexBack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"choose\", function() { return choose; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"foldIndexed\", function() { return foldIndexed; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fold\", function() { return fold; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"iterate\", function() { return iterate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"iterateIndexed\", function() { return iterateIndexed; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"iterate2\", function() { return iterate2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"iterateIndexed2\", function() { return iterateIndexed2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isEmpty\", function() { return isEmpty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forAll\", function() { return forAll; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"permute\", function() { return permute; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setSlice\", function() { return setSlice; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sortInPlaceBy\", function() { return sortInPlaceBy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sortInPlace\", function() { return sortInPlace; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sort\", function() { return sort; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sortBy\", function() { return sortBy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sortDescending\", function() { return sortDescending; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sortByDescending\", function() { return sortByDescending; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sortWith\", function() { return sortWith; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"unfold\", function() { return unfold; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"unzip\", function() { return unzip; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"unzip3\", function() { return unzip3; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"zip\", function() { return zip; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"zip3\", function() { return zip3; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"chunkBySize\", function() { return chunkBySize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"splitAt\", function() { return splitAt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"compareWith\", function() { return compareWith; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"equalsWith\", function() { return equalsWith; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"exactlyOne\", function() { return exactlyOne; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"head\", function() { return head; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryHead\", function() { return tryHead; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tail\", function() { return tail; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"item\", function() { return item; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryItem\", function() { return tryItem; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"foldBackIndexed\", function() { return foldBackIndexed; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"foldBack\", function() { return foldBack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"foldIndexed2\", function() { return foldIndexed2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fold2\", function() { return fold2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"foldBackIndexed2\", function() { return foldBackIndexed2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"foldBack2\", function() { return foldBack2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"reduce\", function() { return reduce; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"reduceBack\", function() { return reduceBack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forAll2\", function() { return forAll2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"existsOffset\", function() { return existsOffset; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"exists\", function() { return exists; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"existsOffset2\", function() { return existsOffset2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"exists2\", function() { return exists2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sum\", function() { return sum; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sumBy\", function() { return sumBy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"maxBy\", function() { return maxBy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"max\", function() { return max; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"minBy\", function() { return minBy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"min\", function() { return min; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"average\", function() { return average; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"averageBy\", function() { return averageBy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ofSeq\", function() { return ofSeq; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ofList\", function() { return ofList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toList\", function() { return toList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"windowed\", function() { return windowed; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"splitInto\", function() { return splitInto; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"transpose\", function() { return transpose; });\n/* harmony import */ var _Option_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Option.js */ \"./.fable/fable-library.2.10.1/Option.js\");\n/* harmony import */ var _Util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Util.js */ \"./.fable/fable-library.2.10.1/Util.js\");\n/* harmony import */ var _Map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Map.js */ \"./.fable/fable-library.2.10.1/Map.js\");\n/* harmony import */ var _Set_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Set.js */ \"./.fable/fable-library.2.10.1/Set.js\");\n/* harmony import */ var _Types_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Types.js */ \"./.fable/fable-library.2.10.1/Types.js\");\n/* harmony import */ var _Seq_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Seq.js */ \"./.fable/fable-library.2.10.1/Seq.js\");\n\n\n\n\n\n\nconst indexNotFoundMsg = \"An index satisfying the predicate was not found in the collection.\";\nfunction append(array1, array2, cons) {\n if (ArrayBuffer.isView(array1)) {\n const len1 = array1.length | 0;\n const len2 = array2.length | 0;\n const newArray = new cons(len1 + len2);\n\n for (let i = 0; i <= len1 - 1; i++) {\n newArray[i] = array1[i];\n }\n\n for (let i$$1 = 0; i$$1 <= len2 - 1; i$$1++) {\n newArray[i$$1 + len1] = array2[i$$1];\n }\n\n return newArray;\n } else {\n return array1.concat(array2);\n }\n}\nfunction filter(predicate, array) {\n return array.filter(predicate);\n}\nfunction fill(target, targetIndex, count, value) {\n target.fill(value, targetIndex, targetIndex + count);\n return target;\n}\nfunction getSubArray(array$$3, start$$1, count$$2) {\n return array$$3.slice(start$$1, start$$1 + count$$2);\n}\nfunction last(array$$5) {\n if (array$$5.length === 0) {\n throw new Error(\"The input array was empty\\\\nParameter name: array\");\n } else {\n void null;\n }\n\n return array$$5[array$$5.length - 1];\n}\nfunction tryLast(array$$6) {\n if (array$$6.length === 0) {\n return undefined;\n } else {\n return Object(_Option_js__WEBPACK_IMPORTED_MODULE_0__[\"some\"])(array$$6[array$$6.length - 1]);\n }\n}\nfunction mapIndexed(f, source, cons$$1) {\n if (ArrayBuffer.isView(source)) {\n const len = source.length | 0;\n const target$$1 = new cons$$1(len);\n\n for (let i$$2 = 0; i$$2 <= len - 1; i$$2++) {\n target$$1[i$$2] = f(i$$2, source[i$$2]);\n }\n\n return target$$1;\n } else {\n return source.map(function (delegateArg0, delegateArg1) {\n return f(delegateArg1, delegateArg0);\n });\n }\n}\nfunction map(f$$1, source$$1, cons$$2) {\n if (ArrayBuffer.isView(source$$1)) {\n const len$$1 = source$$1.length | 0;\n const target$$2 = new cons$$2(len$$1);\n\n for (let i$$4 = 0; i$$4 <= len$$1 - 1; i$$4++) {\n target$$2[i$$4] = f$$1(source$$1[i$$4]);\n }\n\n return target$$2;\n } else {\n return source$$1.map(function mapping$$1(x$$1) {\n return f$$1(x$$1);\n });\n }\n}\nfunction mapIndexed2(f$$2, source1, source2, cons$$3) {\n if (source1.length !== source2.length) {\n throw new Error(\"Arrays had different lengths\");\n } else {\n void null;\n }\n\n const result = new cons$$3(source1.length);\n\n for (let i$$5 = 0; i$$5 <= source1.length - 1; i$$5++) {\n result[i$$5] = f$$2(i$$5, source1[i$$5], source2[i$$5]);\n }\n\n return result;\n}\nfunction map2(f$$3, source1$$1, source2$$1, cons$$4) {\n if (source1$$1.length !== source2$$1.length) {\n throw new Error(\"Arrays had different lengths\");\n } else {\n void null;\n }\n\n const result$$1 = new cons$$4(source1$$1.length);\n\n for (let i$$6 = 0; i$$6 <= source1$$1.length - 1; i$$6++) {\n result$$1[i$$6] = f$$3(source1$$1[i$$6], source2$$1[i$$6]);\n }\n\n return result$$1;\n}\nfunction mapIndexed3(f$$4, source1$$2, source2$$2, source3, cons$$5) {\n if (source1$$2.length !== source2$$2.length ? true : source2$$2.length !== source3.length) {\n throw new Error(\"Arrays had different lengths\");\n } else {\n void null;\n }\n\n const result$$2 = new cons$$5(source1$$2.length);\n\n for (let i$$7 = 0; i$$7 <= source1$$2.length - 1; i$$7++) {\n result$$2[i$$7] = f$$4(i$$7, source1$$2[i$$7], source2$$2[i$$7], source3[i$$7]);\n }\n\n return result$$2;\n}\nfunction map3(f$$5, source1$$3, source2$$3, source3$$1, cons$$6) {\n if (source1$$3.length !== source2$$3.length ? true : source2$$3.length !== source3$$1.length) {\n throw new Error(\"Arrays had different lengths\");\n } else {\n void null;\n }\n\n const result$$3 = new cons$$6(source1$$3.length);\n\n for (let i$$8 = 0; i$$8 <= source1$$3.length - 1; i$$8++) {\n result$$3[i$$8] = f$$5(source1$$3[i$$8], source2$$3[i$$8], source3$$1[i$$8]);\n }\n\n return result$$3;\n}\nfunction mapFold(mapping$$2, state, array$$9, cons$$7) {\n const matchValue = array$$9.length | 0;\n\n if (matchValue === 0) {\n return [[], state];\n } else {\n let acc = state;\n const res = new cons$$7(matchValue);\n\n for (let i$$9 = 0; i$$9 <= array$$9.length - 1; i$$9++) {\n const patternInput = mapping$$2(acc, array$$9[i$$9]);\n res[i$$9] = patternInput[0];\n acc = patternInput[1];\n }\n\n return [res, acc];\n }\n}\nfunction mapFoldBack(mapping$$3, array$$10, state$$1, cons$$8) {\n const matchValue$$1 = array$$10.length | 0;\n\n if (matchValue$$1 === 0) {\n return [[], state$$1];\n } else {\n let acc$$1 = state$$1;\n const res$$1 = new cons$$8(matchValue$$1);\n\n for (let i$$10 = array$$10.length - 1; i$$10 >= 0; i$$10--) {\n const patternInput$$1 = mapping$$3(array$$10[i$$10], acc$$1);\n res$$1[i$$10] = patternInput$$1[0];\n acc$$1 = patternInput$$1[1];\n }\n\n return [res$$1, acc$$1];\n }\n}\nfunction indexed(source$$2) {\n const len$$4 = source$$2.length | 0;\n const target$$3 = new Array(len$$4);\n\n for (let i$$11 = 0; i$$11 <= len$$4 - 1; i$$11++) {\n target$$3[i$$11] = [i$$11, source$$2[i$$11]];\n }\n\n return target$$3;\n}\nfunction truncate(count$$4, array$$11) {\n const count$$5 = Object(_Util_js__WEBPACK_IMPORTED_MODULE_1__[\"max\"])(_Util_js__WEBPACK_IMPORTED_MODULE_1__[\"comparePrimitives\"], 0, count$$4) | 0;\n return array$$11.slice(0, 0 + count$$5);\n}\nfunction concat(arrays, cons$$9) {\n var arr$$4;\n const arrays$$1 = Array.isArray(arrays) ? arrays : Array.from(arrays);\n const matchValue$$2 = arrays$$1.length | 0;\n\n switch (matchValue$$2) {\n case 0:\n {\n return new cons$$9(0);\n }\n\n case 1:\n {\n return arrays$$1[0];\n }\n\n default:\n {\n if (arr$$4 = arrays$$1[0], ArrayBuffer.isView(arr$$4)) {\n let totalIdx = 0;\n let totalLength = 0;\n\n for (let idx = 0; idx <= arrays$$1.length - 1; idx++) {\n const arr$$5 = arrays$$1[idx];\n totalLength = totalLength + arr$$5.length;\n }\n\n const result$$4 = new cons$$9(totalLength);\n\n for (let idx$$1 = 0; idx$$1 <= arrays$$1.length - 1; idx$$1++) {\n const arr$$6 = arrays$$1[idx$$1];\n\n for (let j = 0; j <= arr$$6.length - 1; j++) {\n result$$4[totalIdx] = arr$$6[j];\n totalIdx = totalIdx + 1;\n }\n }\n\n return result$$4;\n } else {\n return arrays$$1[0].concat(...arrays$$1.slice(1));\n }\n }\n }\n}\nfunction collect(mapping$$4, array$$14, cons$$10) {\n const mapped = map(mapping$$4, array$$14, Array);\n return concat(mapped, cons$$10);\n}\nfunction countBy(projection, array$$15, eq) {\n const dict = Object(_Map_js__WEBPACK_IMPORTED_MODULE_2__[\"createMutable\"])([], eq);\n const keys = [];\n\n for (let idx$$2 = 0; idx$$2 <= array$$15.length - 1; idx$$2++) {\n const value$$2 = array$$15[idx$$2];\n const key = projection(value$$2);\n const matchValue$$3 = Object(_Util_js__WEBPACK_IMPORTED_MODULE_1__[\"tryGetValue\"])(dict, key, 0);\n\n if (matchValue$$3[0]) {\n dict.set(key, matchValue$$3[1] + 1);\n } else {\n dict.set(key, 1);\n const value$$3 = keys.push(key);\n void value$$3;\n }\n }\n\n const result$$5 = map(function (key$$1) {\n return [key$$1, Object(_Util_js__WEBPACK_IMPORTED_MODULE_1__[\"getItemFromDict\"])(dict, key$$1)];\n }, keys, Array);\n return result$$5;\n}\nfunction distinctBy(projection$$1, array$$17, eq$$1) {\n const hashSet = Object(_Set_js__WEBPACK_IMPORTED_MODULE_3__[\"createMutable\"])([], eq$$1);\n return filter(function predicate$$2($arg$$3) {\n const arg00 = projection$$1($arg$$3);\n return Object(_Util_js__WEBPACK_IMPORTED_MODULE_1__[\"addToSet\"])(arg00, hashSet);\n }, array$$17);\n}\nfunction distinct(array$$19, eq$$2) {\n return distinctBy(function (x$$2) {\n return x$$2;\n }, array$$19, eq$$2);\n}\nfunction where(predicate$$3, array$$20) {\n return array$$20.filter(predicate$$3);\n}\nfunction contains(value$$4, array$$22, eq$$3) {\n const loop = function loop($i$$12$$79) {\n loop: while (true) {\n const i$$12 = $i$$12$$79;\n\n if (i$$12 >= array$$22.length) {\n return false;\n } else if (eq$$3.Equals(value$$4, array$$22[i$$12])) {\n return true;\n } else {\n $i$$12$$79 = i$$12 + 1;\n continue loop;\n }\n\n break;\n }\n };\n\n return loop(0);\n}\nfunction except(itemsToExclude, array$$23, eq$$4) {\n if (array$$23.length === 0) {\n return array$$23;\n } else {\n const cached = Object(_Set_js__WEBPACK_IMPORTED_MODULE_3__[\"createMutable\"])(itemsToExclude, eq$$4);\n return array$$23.filter(function predicate$$5(arg00$$1) {\n return Object(_Util_js__WEBPACK_IMPORTED_MODULE_1__[\"addToSet\"])(arg00$$1, cached);\n });\n }\n}\nfunction groupBy(projection$$2, array$$26, cons$$11, eq$$5) {\n const dict$$1 = Object(_Map_js__WEBPACK_IMPORTED_MODULE_2__[\"createMutable\"])([], eq$$5);\n const keys$$1 = [];\n\n for (let idx$$3 = 0; idx$$3 <= array$$26.length - 1; idx$$3++) {\n const v = array$$26[idx$$3];\n const key$$2 = projection$$2(v);\n const matchValue$$4 = Object(_Util_js__WEBPACK_IMPORTED_MODULE_1__[\"tryGetValue\"])(dict$$1, key$$2, null);\n\n if (matchValue$$4[0]) {\n dict$$1.set(key$$2, new _Types_js__WEBPACK_IMPORTED_MODULE_4__[\"List\"](v, matchValue$$4[1]));\n } else {\n Object(_Util_js__WEBPACK_IMPORTED_MODULE_1__[\"addToDict\"])(dict$$1, key$$2, new _Types_js__WEBPACK_IMPORTED_MODULE_4__[\"List\"](v, new _Types_js__WEBPACK_IMPORTED_MODULE_4__[\"List\"]()));\n const value$$5 = keys$$1.push(key$$2);\n void value$$5;\n }\n }\n\n const result$$6 = map(function (key$$3) {\n var array$$28;\n return [key$$3, (array$$28 = cons$$11.from(Object(_Util_js__WEBPACK_IMPORTED_MODULE_1__[\"getItemFromDict\"])(dict$$1, key$$3)), (array$$28.reverse()))];\n }, keys$$1, Array);\n return result$$6;\n}\nfunction empty(cons$$12) {\n return new cons$$12(0);\n}\nfunction singleton(value$$6, cons$$14) {\n const ar = new cons$$14(1);\n ar[0] = value$$6;\n return ar;\n}\nfunction initialize(count$$8, initializer, cons$$15) {\n if (count$$8 < 0) {\n throw new Error(\"The input must be non-negative\\\\nParameter name: count\");\n } else {\n void null;\n }\n\n const result$$7 = new cons$$15(count$$8);\n\n for (let i$$13 = 0; i$$13 <= count$$8 - 1; i$$13++) {\n result$$7[i$$13] = initializer(i$$13);\n }\n\n return result$$7;\n}\nfunction pairwise(array$$30) {\n if (array$$30.length < 2) {\n return [];\n } else {\n const count$$9 = array$$30.length - 1 | 0;\n const result$$8 = new Array(count$$9);\n\n for (let i$$14 = 0; i$$14 <= count$$9 - 1; i$$14++) {\n result$$8[i$$14] = [array$$30[i$$14], array$$30[i$$14 + 1]];\n }\n\n return result$$8;\n }\n}\nfunction replicate(count$$10, initial, cons$$16) {\n if (count$$10 < 0) {\n throw new Error(\"The input must be non-negative\\\\nParameter name: count\");\n } else {\n void null;\n }\n\n const result$$9 = new cons$$16(count$$10);\n\n for (let i$$15 = 0; i$$15 <= result$$9.length - 1; i$$15++) {\n result$$9[i$$15] = initial;\n }\n\n return result$$9;\n}\nfunction copy(array$$31, cons$$17) {\n return array$$31.slice();\n}\nfunction reverse(array$$33, cons$$18) {\n const array$$35 = array$$33.slice();\n return array$$35.reverse();\n}\nfunction scan(folder, state$$2, array$$37, cons$$19) {\n const res$$2 = new cons$$19(array$$37.length + 1);\n res$$2[0] = state$$2;\n\n for (let i$$16 = 0; i$$16 <= array$$37.length - 1; i$$16++) {\n res$$2[i$$16 + 1] = folder(res$$2[i$$16], array$$37[i$$16]);\n }\n\n return res$$2;\n}\nfunction scanBack(folder$$1, array$$38, state$$3, cons$$20) {\n const res$$3 = new cons$$20(array$$38.length + 1);\n res$$3[array$$38.length] = state$$3;\n\n for (let i$$17 = array$$38.length - 1; i$$17 >= 0; i$$17--) {\n res$$3[i$$17] = folder$$1(array$$38[i$$17], res$$3[i$$17 + 1]);\n }\n\n return res$$3;\n}\nfunction skip(count$$11, array$$39, cons$$21) {\n if (count$$11 > array$$39.length) {\n throw new Error(\"count is greater than array length\\\\nParameter name: count\");\n } else {\n void null;\n }\n\n if (count$$11 === array$$39.length) {\n return new cons$$21(0);\n } else {\n const count$$12 = (count$$11 < 0 ? 0 : count$$11) | 0;\n return array$$39.slice(count$$12);\n }\n}\nfunction skipWhile(predicate$$7, array$$41, cons$$23) {\n let count$$14 = 0;\n\n while (count$$14 < array$$41.length ? predicate$$7(array$$41[count$$14]) : false) {\n count$$14 = count$$14 + 1;\n }\n\n if (count$$14 === array$$41.length) {\n return new cons$$23(0);\n } else {\n const count$$15 = count$$14 | 0;\n return array$$41.slice(count$$15);\n }\n}\nfunction take(count$$16, array$$43, cons$$25) {\n if (count$$16 < 0) {\n throw new Error(\"The input must be non-negative\\\\nParameter name: count\");\n } else {\n void null;\n }\n\n if (count$$16 > array$$43.length) {\n throw new Error(\"count is greater than array length\\\\nParameter name: count\");\n } else {\n void null;\n }\n\n if (count$$16 === 0) {\n return new cons$$25(0);\n } else {\n return array$$43.slice(0, 0 + count$$16);\n }\n}\nfunction takeWhile(predicate$$8, array$$45, cons$$27) {\n let count$$18 = 0;\n\n while (count$$18 < array$$45.length ? predicate$$8(array$$45[count$$18]) : false) {\n count$$18 = count$$18 + 1;\n }\n\n if (count$$18 === 0) {\n return new cons$$27(0);\n } else {\n const count$$19 = count$$18 | 0;\n return array$$45.slice(0, 0 + count$$19);\n }\n}\nfunction addInPlace(x$$3, array$$47) {\n const value$$7 = array$$47.push(x$$3);\n void value$$7;\n}\nfunction addRangeInPlace(range, array$$49) {\n Object(_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"iterate\"])(function (x$$4) {\n const value$$8 = array$$49.push(x$$4);\n void value$$8;\n }, range);\n}\nfunction removeInPlace(item$$5, array$$51) {\n const i$$18 = array$$51.indexOf(item$$5);\n\n if (i$$18 > -1) {\n const value$$9 = array$$51.splice(i$$18, 1);\n void value$$9;\n return true;\n } else {\n return false;\n }\n}\nfunction removeAllInPlace(predicate$$9, array$$54) {\n const countRemoveAll = function countRemoveAll(count$$20) {\n const i$$19 = array$$54.findIndex(predicate$$9);\n\n if (i$$19 > -1) {\n const value$$10 = array$$54.splice(i$$19, 1);\n void value$$10;\n return countRemoveAll(count$$20) + 1 | 0;\n } else {\n return count$$20 | 0;\n }\n };\n\n return countRemoveAll(0) | 0;\n}\nfunction copyTo(source$$3, sourceIndex, target$$4, targetIndex$$1, count$$21) {\n const diff = targetIndex$$1 - sourceIndex | 0;\n\n for (let i$$20 = sourceIndex; i$$20 <= sourceIndex + count$$21 - 1; i$$20++) {\n target$$4[i$$20 + diff] = source$$3[i$$20];\n }\n}\nfunction partition(f$$6, source$$4, cons$$29) {\n const len$$7 = source$$4.length | 0;\n const res1 = new cons$$29(len$$7);\n const res2 = new cons$$29(len$$7);\n let iTrue = 0;\n let iFalse = 0;\n\n for (let i$$21 = 0; i$$21 <= len$$7 - 1; i$$21++) {\n if (f$$6(source$$4[i$$21])) {\n res1[iTrue] = source$$4[i$$21];\n iTrue = iTrue + 1;\n } else {\n res2[iFalse] = source$$4[i$$21];\n iFalse = iFalse + 1;\n }\n }\n\n return [(truncate(iTrue, res1)), (truncate(iFalse, res2))];\n}\nfunction find(predicate$$11, array$$59) {\n const matchValue$$5 = array$$59.find(predicate$$11);\n\n if (matchValue$$5 == null) {\n throw new Error(indexNotFoundMsg);\n } else {\n const res$$4 = Object(_Option_js__WEBPACK_IMPORTED_MODULE_0__[\"value\"])(matchValue$$5);\n return res$$4;\n }\n}\nfunction tryFind(predicate$$13, array$$61) {\n return array$$61.find(predicate$$13);\n}\nfunction findIndex(predicate$$15, array$$63) {\n const matchValue$$6 = array$$63.findIndex(predicate$$15);\n\n if (matchValue$$6 > -1) {\n return matchValue$$6 | 0;\n } else {\n throw new Error(indexNotFoundMsg);\n }\n}\nfunction tryFindIndex(predicate$$17, array$$65) {\n const matchValue$$7 = array$$65.findIndex(predicate$$17);\n\n if (matchValue$$7 > -1) {\n return matchValue$$7;\n } else {\n return undefined;\n }\n}\nfunction pick(chooser, array$$67) {\n const loop$$1 = function loop$$1($i$$22$$149) {\n loop$$1: while (true) {\n const i$$22 = $i$$22$$149;\n\n if (i$$22 >= array$$67.length) {\n throw new Error(indexNotFoundMsg);\n } else {\n const matchValue$$8 = chooser(array$$67[i$$22]);\n\n if (matchValue$$8 != null) {\n const res$$5 = Object(_Option_js__WEBPACK_IMPORTED_MODULE_0__[\"value\"])(matchValue$$8);\n return res$$5;\n } else {\n $i$$22$$149 = i$$22 + 1;\n continue loop$$1;\n }\n }\n\n break;\n }\n };\n\n return loop$$1(0);\n}\nfunction tryPick(chooser$$1, array$$68) {\n const loop$$2 = function loop$$2($i$$23$$152) {\n loop$$2: while (true) {\n const i$$23 = $i$$23$$152;\n\n if (i$$23 >= array$$68.length) {\n return undefined;\n } else {\n const matchValue$$9 = chooser$$1(array$$68[i$$23]);\n\n if (matchValue$$9 == null) {\n $i$$23$$152 = i$$23 + 1;\n continue loop$$2;\n } else {\n return matchValue$$9;\n }\n }\n\n break;\n }\n };\n\n return loop$$2(0);\n}\nfunction findBack(predicate$$19, array$$69) {\n const loop$$3 = function loop$$3($i$$24$$155) {\n loop$$3: while (true) {\n const i$$24 = $i$$24$$155;\n\n if (i$$24 < 0) {\n throw new Error(indexNotFoundMsg);\n } else if (predicate$$19(array$$69[i$$24])) {\n return array$$69[i$$24];\n } else {\n $i$$24$$155 = i$$24 - 1;\n continue loop$$3;\n }\n\n break;\n }\n };\n\n return loop$$3(array$$69.length - 1);\n}\nfunction tryFindBack(predicate$$20, array$$70) {\n const loop$$4 = function loop$$4($i$$25$$158) {\n loop$$4: while (true) {\n const i$$25 = $i$$25$$158;\n\n if (i$$25 < 0) {\n return undefined;\n } else if (predicate$$20(array$$70[i$$25])) {\n return Object(_Option_js__WEBPACK_IMPORTED_MODULE_0__[\"some\"])(array$$70[i$$25]);\n } else {\n $i$$25$$158 = i$$25 - 1;\n continue loop$$4;\n }\n\n break;\n }\n };\n\n return loop$$4(array$$70.length - 1);\n}\nfunction findLastIndex(predicate$$21, array$$71) {\n const loop$$5 = function loop$$5($i$$26$$161) {\n loop$$5: while (true) {\n const i$$26 = $i$$26$$161;\n\n if (i$$26 < 0) {\n return -1 | 0;\n } else if (predicate$$21(array$$71[i$$26])) {\n return i$$26 | 0;\n } else {\n $i$$26$$161 = i$$26 - 1;\n continue loop$$5;\n }\n\n break;\n }\n };\n\n return loop$$5(array$$71.length - 1) | 0;\n}\nfunction findIndexBack(predicate$$22, array$$72) {\n const loop$$6 = function loop$$6($i$$27$$164) {\n loop$$6: while (true) {\n const i$$27 = $i$$27$$164;\n\n if (i$$27 < 0) {\n throw new Error(indexNotFoundMsg);\n } else if (predicate$$22(array$$72[i$$27])) {\n return i$$27 | 0;\n } else {\n $i$$27$$164 = i$$27 - 1;\n continue loop$$6;\n }\n\n break;\n }\n };\n\n return loop$$6(array$$72.length - 1) | 0;\n}\nfunction tryFindIndexBack(predicate$$23, array$$73) {\n const loop$$7 = function loop$$7($i$$28$$167) {\n loop$$7: while (true) {\n const i$$28 = $i$$28$$167;\n\n if (i$$28 < 0) {\n return undefined;\n } else if (predicate$$23(array$$73[i$$28])) {\n return i$$28;\n } else {\n $i$$28$$167 = i$$28 - 1;\n continue loop$$7;\n }\n\n break;\n }\n };\n\n return loop$$7(array$$73.length - 1);\n}\nfunction choose(chooser$$2, array$$74, cons$$30) {\n const arr$$7 = array$$74.filter(function f$$7(x$$5) {\n const option = chooser$$2(x$$5);\n return option != null;\n });\n return map(function g(x$$6) {\n const option$$1 = chooser$$2(x$$6);\n return Object(_Option_js__WEBPACK_IMPORTED_MODULE_0__[\"value\"])(option$$1);\n }, arr$$7, cons$$30);\n}\nfunction foldIndexed(folder$$2, state$$4, array$$76) {\n return array$$76.reduce(function (delegateArg0$$1, delegateArg1$$1, delegateArg2) {\n return folder$$2(delegateArg2, delegateArg0$$1, delegateArg1$$1);\n }, state$$4);\n}\nfunction fold(folder$$4, state$$6, array$$78) {\n return array$$78.reduce(function (delegateArg0$$2, delegateArg1$$2) {\n return folder$$4(delegateArg0$$2, delegateArg1$$2);\n }, state$$6);\n}\nfunction iterate(action, array$$80) {\n for (let i$$30 = 0; i$$30 <= array$$80.length - 1; i$$30++) {\n action(array$$80[i$$30]);\n }\n}\nfunction iterateIndexed(action$$1, array$$81) {\n for (let i$$31 = 0; i$$31 <= array$$81.length - 1; i$$31++) {\n action$$1(i$$31, array$$81[i$$31]);\n }\n}\nfunction iterate2(action$$2, array1$$2, array2$$2) {\n if (array1$$2.length !== array2$$2.length) {\n throw new Error(\"Arrays had different lengths\");\n } else {\n void null;\n }\n\n for (let i$$32 = 0; i$$32 <= array1$$2.length - 1; i$$32++) {\n action$$2(array1$$2[i$$32], array2$$2[i$$32]);\n }\n}\nfunction iterateIndexed2(action$$3, array1$$3, array2$$3) {\n if (array1$$3.length !== array2$$3.length) {\n throw new Error(\"Arrays had different lengths\");\n } else {\n void null;\n }\n\n for (let i$$33 = 0; i$$33 <= array1$$3.length - 1; i$$33++) {\n action$$3(i$$33, array1$$3[i$$33], array2$$3[i$$33]);\n }\n}\nfunction isEmpty(array$$82) {\n return array$$82.length === 0;\n}\nfunction forAll(predicate$$25, array$$83) {\n return array$$83.every(predicate$$25);\n}\nfunction permute(f$$8, array$$85) {\n const size = array$$85.length | 0;\n const res$$7 = array$$85.slice();\n const checkFlags = new Int32Array(size);\n iterateIndexed(function (i$$34, x$$9) {\n const j$$1 = f$$8(i$$34) | 0;\n\n if (j$$1 < 0 ? true : j$$1 >= size) {\n throw new Error(\"Not a valid permutation\");\n } else {\n void null;\n }\n\n res$$7[j$$1] = x$$9;\n checkFlags[j$$1] = 1;\n }, array$$85);\n let isValid;\n isValid = checkFlags.every(function predicate$$27(y) {\n return 1 === y;\n });\n\n if (!isValid) {\n throw new Error(\"Not a valid permutation\");\n } else {\n void null;\n }\n\n return res$$7;\n}\nfunction setSlice(target$$5, lower, upper, source$$5) {\n const lower$$1 = Object(_Option_js__WEBPACK_IMPORTED_MODULE_0__[\"defaultArg\"])(lower, 0) | 0;\n const upper$$1 = Object(_Option_js__WEBPACK_IMPORTED_MODULE_0__[\"defaultArg\"])(upper, 0) | 0;\n const length = (upper$$1 > 0 ? upper$$1 : target$$5.length - 1) - lower$$1 | 0;\n\n for (let i$$35 = 0; i$$35 <= length; i$$35++) {\n target$$5[i$$35 + lower$$1] = source$$5[i$$35];\n }\n}\nfunction sortInPlaceBy(projection$$3, xs, comparer) {\n xs.sort(function (x$$11, y$$1) {\n return comparer.Compare(projection$$3(x$$11), projection$$3(y$$1));\n });\n}\nfunction sortInPlace(xs$$1, comparer$$1) {\n xs$$1.sort(function (x$$12, y$$2) {\n return comparer$$1.Compare(x$$12, y$$2);\n });\n}\nfunction sort(xs$$2, comparer$$2) {\n const xs$$3 = xs$$2.slice();\n xs$$3.sort(function comparer$$3(x$$13, y$$3) {\n return comparer$$2.Compare(x$$13, y$$3);\n });\n return xs$$3;\n}\nfunction sortBy(projection$$4, xs$$4, comparer$$4) {\n const xs$$5 = xs$$4.slice();\n xs$$5.sort(function comparer$$5(x$$14, y$$4) {\n return comparer$$4.Compare(projection$$4(x$$14), projection$$4(y$$4));\n });\n return xs$$5;\n}\nfunction sortDescending(xs$$6, comparer$$6) {\n const xs$$7 = xs$$6.slice();\n xs$$7.sort(function comparer$$7(x$$15, y$$5) {\n return comparer$$6.Compare(x$$15, y$$5) * -1;\n });\n return xs$$7;\n}\nfunction sortByDescending(projection$$5, xs$$8, comparer$$8) {\n const xs$$9 = xs$$8.slice();\n xs$$9.sort(function comparer$$9(x$$16, y$$6) {\n return comparer$$8.Compare(projection$$5(x$$16), projection$$5(y$$6)) * -1;\n });\n return xs$$9;\n}\nfunction sortWith(comparer$$10, xs$$10) {\n const xs$$11 = xs$$10.slice();\n xs$$11.sort(comparer$$10);\n return xs$$11;\n}\nfunction unfold(generator, state$$8) {\n const res$$8 = [];\n\n const loop$$8 = function loop$$8($state$$9$$226) {\n loop$$8: while (true) {\n const state$$9 = $state$$9$$226;\n const matchValue$$10 = generator(state$$9);\n\n if (matchValue$$10 != null) {\n const x$$17 = matchValue$$10[0];\n const s$$2 = matchValue$$10[1];\n const value$$11 = res$$8.push(x$$17);\n void value$$11;\n $state$$9$$226 = s$$2;\n continue loop$$8;\n } else {\n void null;\n }\n\n break;\n }\n };\n\n loop$$8(state$$8);\n return res$$8;\n}\nfunction unzip(array$$95) {\n const len$$8 = array$$95.length | 0;\n const res1$$1 = new Array(len$$8);\n const res2$$1 = new Array(len$$8);\n iterateIndexed(function (i$$36, tupledArg) {\n res1$$1[i$$36] = tupledArg[0];\n res2$$1[i$$36] = tupledArg[1];\n }, array$$95);\n return [res1$$1, res2$$1];\n}\nfunction unzip3(array$$96) {\n const len$$11 = array$$96.length | 0;\n const res1$$2 = new Array(len$$11);\n const res2$$2 = new Array(len$$11);\n const res3 = new Array(len$$11);\n iterateIndexed(function (i$$37, tupledArg$$1) {\n res1$$2[i$$37] = tupledArg$$1[0];\n res2$$2[i$$37] = tupledArg$$1[1];\n res3[i$$37] = tupledArg$$1[2];\n }, array$$96);\n return [res1$$2, res2$$2, res3];\n}\nfunction zip(array1$$4, array2$$4) {\n if (array1$$4.length !== array2$$4.length) {\n throw new Error(\"Arrays had different lengths\");\n } else {\n void null;\n }\n\n let result$$10;\n const len$$15 = array1$$4.length | 0;\n result$$10 = new Array(len$$15);\n\n for (let i$$38 = 0; i$$38 <= array1$$4.length - 1; i$$38++) {\n result$$10[i$$38] = [array1$$4[i$$38], array2$$4[i$$38]];\n }\n\n return result$$10;\n}\nfunction zip3(array1$$5, array2$$5, array3) {\n if (array1$$5.length !== array2$$5.length ? true : array2$$5.length !== array3.length) {\n throw new Error(\"Arrays had different lengths\");\n } else {\n void null;\n }\n\n let result$$11;\n const len$$16 = array1$$5.length | 0;\n result$$11 = new Array(len$$16);\n\n for (let i$$39 = 0; i$$39 <= array1$$5.length - 1; i$$39++) {\n result$$11[i$$39] = [array1$$5[i$$39], array2$$5[i$$39], array3[i$$39]];\n }\n\n return result$$11;\n}\nfunction chunkBySize(chunkSize, array$$97) {\n if (chunkSize < 1) {\n throw new Error(\"The input must be positive.\\\\nParameter name: size\");\n } else {\n void null;\n }\n\n if (array$$97.length === 0) {\n return [[]];\n } else {\n const result$$12 = [];\n\n for (let x$$18 = 0; x$$18 <= ~~Math.ceil(array$$97.length / chunkSize) - 1; x$$18++) {\n const start$$8 = x$$18 * chunkSize | 0;\n const slice = array$$97.slice(start$$8, start$$8 + chunkSize);\n const value$$12 = result$$12.push(slice);\n void value$$12;\n }\n\n return result$$12;\n }\n}\nfunction splitAt(index$$4, array$$100) {\n if (index$$4 < 0) {\n throw new Error(\"The input must be non-negative\\\\nParameter name: index\");\n } else {\n void null;\n }\n\n if (index$$4 > array$$100.length) {\n throw new Error(\"The input sequence has an insufficient number of elements.\\\\nParameter name: index\");\n } else {\n void null;\n }\n\n return [array$$100.slice(0, 0 + index$$4), array$$100.slice(index$$4)];\n}\nfunction compareWith(comparer$$12, array1$$6, array2$$6) {\n if (array1$$6 == null) {\n if (array2$$6 == null) {\n return 0;\n } else {\n return -1 | 0;\n }\n } else if (array2$$6 == null) {\n return 1;\n } else {\n let i$$40 = 0;\n let result$$13 = 0;\n const length1 = array1$$6.length | 0;\n const length2 = array2$$6.length | 0;\n\n if (length1 > length2) {\n return 1;\n } else if (length1 < length2) {\n return -1 | 0;\n } else {\n while (i$$40 < length1 ? result$$13 === 0 : false) {\n result$$13 = comparer$$12(array1$$6[i$$40], array2$$6[i$$40]);\n i$$40 = i$$40 + 1;\n }\n\n return result$$13 | 0;\n }\n }\n}\nfunction equalsWith(comparer$$13, array1$$7, array2$$7) {\n return compareWith(_Util_js__WEBPACK_IMPORTED_MODULE_1__[\"compare\"], array1$$7, array2$$7) === 0;\n}\nfunction exactlyOne(array$$103) {\n if (array$$103.length === 1) {\n return array$$103[0];\n } else if (array$$103.length === 0) {\n throw new Error(\"The input sequence was empty\\\\nParameter name: array\");\n } else {\n throw new Error(\"Input array too long\\\\nParameter name: array\");\n }\n}\nfunction head(array$$104) {\n if (array$$104.length === 0) {\n throw new Error(\"The input array was empty\\\\nParameter name: array\");\n } else {\n return array$$104[0];\n }\n}\nfunction tryHead(array$$105) {\n if (array$$105.length === 0) {\n return undefined;\n } else {\n return Object(_Option_js__WEBPACK_IMPORTED_MODULE_0__[\"some\"])(array$$105[0]);\n }\n}\nfunction tail(array$$106) {\n if (array$$106.length === 0) {\n throw new Error(\"Not enough elements\\\\nParameter name: array\");\n } else {\n void null;\n }\n\n return array$$106.slice(1);\n}\nfunction item(index$$5, array$$108) {\n return array$$108[index$$5];\n}\nfunction tryItem(index$$6, array$$109) {\n if (index$$6 < 0 ? true : index$$6 >= array$$109.length) {\n return undefined;\n } else {\n return Object(_Option_js__WEBPACK_IMPORTED_MODULE_0__[\"some\"])(array$$109[index$$6]);\n }\n}\nfunction foldBackIndexed(folder$$6, array$$110, state$$10) {\n return array$$110.reduceRight(function (delegateArg0$$3, delegateArg1$$3, delegateArg2$$1) {\n return folder$$6(delegateArg2$$1, delegateArg1$$3, delegateArg0$$3);\n }, state$$10);\n}\nfunction foldBack(folder$$8, array$$112, state$$12) {\n return array$$112.reduceRight(function (delegateArg0$$4, delegateArg1$$4) {\n return folder$$8(delegateArg1$$4, delegateArg0$$4);\n }, state$$12);\n}\nfunction foldIndexed2(folder$$10, state$$14, array1$$8, array2$$8) {\n let acc$$6 = state$$14;\n\n if (array1$$8.length !== array2$$8.length) {\n throw new Error(\"Arrays have different lengths\");\n } else {\n void null;\n }\n\n for (let i$$42 = 0; i$$42 <= array1$$8.length - 1; i$$42++) {\n acc$$6 = folder$$10(i$$42, acc$$6, array1$$8[i$$42], array2$$8[i$$42]);\n }\n\n return acc$$6;\n}\nfunction fold2(folder$$11, state$$15, array1$$9, array2$$9) {\n return foldIndexed2(function (_arg1, acc$$7, x$$21, y$$7) {\n return folder$$11(acc$$7, x$$21, y$$7);\n }, state$$15, array1$$9, array2$$9);\n}\nfunction foldBackIndexed2(folder$$12, array1$$10, array2$$10, state$$16) {\n let acc$$8 = state$$16;\n\n if (array1$$10.length !== array2$$10.length) {\n throw new Error(\"Arrays had different lengths\");\n } else {\n void null;\n }\n\n const size$$1 = array1$$10.length | 0;\n\n for (let i$$43 = 1; i$$43 <= size$$1; i$$43++) {\n acc$$8 = folder$$12(i$$43 - 1, array1$$10[size$$1 - i$$43], array2$$10[size$$1 - i$$43], acc$$8);\n }\n\n return acc$$8;\n}\nfunction foldBack2(f$$9, array1$$11, array2$$11, state$$17) {\n return foldBackIndexed2(function (_arg1$$1, x$$22, y$$8, acc$$9) {\n return f$$9(x$$22, y$$8, acc$$9);\n }, array1$$11, array2$$11, state$$17);\n}\nfunction reduce(reduction, array$$114) {\n if (array$$114.length === 0) {\n throw new Error(\"The input array was empty\");\n } else {\n void null;\n }\n\n return array$$114.reduce(reduction);\n}\nfunction reduceBack(reduction$$2, array$$116) {\n if (array$$116.length === 0) {\n throw new Error(\"The input array was empty\");\n } else {\n void null;\n }\n\n return array$$116.reduceRight(reduction$$2);\n}\nfunction forAll2(predicate$$29, array1$$12, array2$$12) {\n return fold2(function (acc$$10, x$$23, y$$9) {\n return acc$$10 ? predicate$$29(x$$23, y$$9) : false;\n }, true, array1$$12, array2$$12);\n}\nfunction existsOffset($predicate$$30$$281, $array$$118$$282, $index$$7$$283) {\n existsOffset: while (true) {\n const predicate$$30 = $predicate$$30$$281,\n array$$118 = $array$$118$$282,\n index$$7 = $index$$7$$283;\n\n if (index$$7 === array$$118.length) {\n return false;\n } else if (predicate$$30(array$$118[index$$7])) {\n return true;\n } else {\n $predicate$$30$$281 = predicate$$30;\n $array$$118$$282 = array$$118;\n $index$$7$$283 = index$$7 + 1;\n continue existsOffset;\n }\n\n break;\n }\n}\nfunction exists(predicate$$31, array$$119) {\n return existsOffset(predicate$$31, array$$119, 0);\n}\nfunction existsOffset2($predicate$$32$$286, $array1$$13$$287, $array2$$13$$288, $index$$8$$289) {\n existsOffset2: while (true) {\n const predicate$$32 = $predicate$$32$$286,\n array1$$13 = $array1$$13$$287,\n array2$$13 = $array2$$13$$288,\n index$$8 = $index$$8$$289;\n\n if (index$$8 === array1$$13.length) {\n return false;\n } else if (predicate$$32(array1$$13[index$$8], array2$$13[index$$8])) {\n return true;\n } else {\n $predicate$$32$$286 = predicate$$32;\n $array1$$13$$287 = array1$$13;\n $array2$$13$$288 = array2$$13;\n $index$$8$$289 = index$$8 + 1;\n continue existsOffset2;\n }\n\n break;\n }\n}\nfunction exists2(predicate$$33, array1$$14, array2$$14) {\n if (array1$$14.length !== array2$$14.length) {\n throw new Error(\"Arrays had different lengths\");\n } else {\n void null;\n }\n\n return existsOffset2(predicate$$33, array1$$14, array2$$14, 0);\n}\nfunction sum(array$$120, adder) {\n let acc$$11 = adder.GetZero();\n\n for (let i$$44 = 0; i$$44 <= array$$120.length - 1; i$$44++) {\n acc$$11 = adder.Add(acc$$11, array$$120[i$$44]);\n }\n\n return acc$$11;\n}\nfunction sumBy(projection$$6, array$$121, adder$$1) {\n let acc$$12 = adder$$1.GetZero();\n\n for (let i$$45 = 0; i$$45 <= array$$121.length - 1; i$$45++) {\n acc$$12 = adder$$1.Add(acc$$12, projection$$6(array$$121[i$$45]));\n }\n\n return acc$$12;\n}\nfunction maxBy(projection$$7, xs$$12, comparer$$14) {\n return reduce(function (x$$24, y$$10) {\n return comparer$$14.Compare(projection$$7(y$$10), projection$$7(x$$24)) > 0 ? y$$10 : x$$24;\n }, xs$$12);\n}\nfunction max(xs$$13, comparer$$15) {\n return reduce(function (x$$25, y$$11) {\n return comparer$$15.Compare(y$$11, x$$25) > 0 ? y$$11 : x$$25;\n }, xs$$13);\n}\nfunction minBy(projection$$8, xs$$14, comparer$$16) {\n return reduce(function (x$$26, y$$12) {\n return comparer$$16.Compare(projection$$8(y$$12), projection$$8(x$$26)) > 0 ? x$$26 : y$$12;\n }, xs$$14);\n}\nfunction min(xs$$15, comparer$$17) {\n return reduce(function (x$$27, y$$13) {\n return comparer$$17.Compare(y$$13, x$$27) > 0 ? x$$27 : y$$13;\n }, xs$$15);\n}\nfunction average(array$$122, averager) {\n if (array$$122.length === 0) {\n throw new Error(\"The input array was empty\\\\nParameter name: array\");\n } else {\n void null;\n }\n\n let total = averager.GetZero();\n\n for (let i$$46 = 0; i$$46 <= array$$122.length - 1; i$$46++) {\n total = averager.Add(total, array$$122[i$$46]);\n }\n\n return averager.DivideByInt(total, array$$122.length);\n}\nfunction averageBy(projection$$9, array$$123, averager$$1) {\n if (array$$123.length === 0) {\n throw new Error(\"The input array was empty\\\\nParameter name: array\");\n } else {\n void null;\n }\n\n let total$$1 = averager$$1.GetZero();\n\n for (let i$$47 = 0; i$$47 <= array$$123.length - 1; i$$47++) {\n total$$1 = averager$$1.Add(total$$1, projection$$9(array$$123[i$$47]));\n }\n\n return averager$$1.DivideByInt(total$$1, array$$123.length);\n}\nfunction ofSeq(source$$6, cons$$31) {\n return cons$$31.from(source$$6);\n}\nfunction ofList(source$$7, cons$$32) {\n return cons$$32.from(source$$7);\n}\nfunction toList(source$$8) {\n const len$$17 = source$$8.length | 0;\n let target$$6 = new _Types_js__WEBPACK_IMPORTED_MODULE_4__[\"List\"]();\n\n for (let i$$48 = len$$17 - 1; i$$48 >= 0; i$$48--) {\n target$$6 = new _Types_js__WEBPACK_IMPORTED_MODULE_4__[\"List\"](source$$8[i$$48], target$$6);\n }\n\n return target$$6;\n}\nfunction windowed(windowSize, source$$9) {\n if (windowSize <= 0) {\n throw new Error(\"windowSize must be positive\");\n } else {\n void null;\n }\n\n let res$$9;\n const len$$18 = Object(_Util_js__WEBPACK_IMPORTED_MODULE_1__[\"max\"])(_Util_js__WEBPACK_IMPORTED_MODULE_1__[\"comparePrimitives\"], 0, source$$9.length - windowSize) | 0;\n res$$9 = new Array(len$$18);\n\n for (let i$$49 = windowSize; i$$49 <= source$$9.length; i$$49++) {\n res$$9[i$$49 - windowSize] = source$$9.slice(i$$49 - windowSize, i$$49 - 1 + 1);\n }\n\n return res$$9;\n}\nfunction splitInto(chunks, array$$124) {\n if (chunks < 1) {\n throw new Error(\"The input must be positive.\\\\nParameter name: chunks\");\n } else {\n void null;\n }\n\n if (array$$124.length === 0) {\n return [[]];\n } else {\n const result$$14 = [];\n const chunks$$1 = Object(_Util_js__WEBPACK_IMPORTED_MODULE_1__[\"min\"])(_Util_js__WEBPACK_IMPORTED_MODULE_1__[\"comparePrimitives\"], chunks, array$$124.length) | 0;\n const minChunkSize = ~~(array$$124.length / chunks$$1) | 0;\n const chunksWithExtraItem = array$$124.length % chunks$$1 | 0;\n\n for (let i$$50 = 0; i$$50 <= chunks$$1 - 1; i$$50++) {\n const chunkSize$$1 = (i$$50 < chunksWithExtraItem ? minChunkSize + 1 : minChunkSize) | 0;\n const start$$11 = i$$50 * minChunkSize + Object(_Util_js__WEBPACK_IMPORTED_MODULE_1__[\"min\"])(_Util_js__WEBPACK_IMPORTED_MODULE_1__[\"comparePrimitives\"], chunksWithExtraItem, i$$50) | 0;\n const slice$$1 = array$$124.slice(start$$11, start$$11 + chunkSize$$1);\n const value$$13 = result$$14.push(slice$$1);\n void value$$13;\n }\n\n return result$$14;\n }\n}\nfunction transpose(arrays$$2, cons$$33) {\n var value$$14;\n const arrays$$3 = Array.isArray(arrays$$2) ? arrays$$2 : Array.from(arrays$$2);\n const len$$20 = arrays$$3.length | 0;\n\n if (len$$20 === 0) {\n return new Array(0);\n } else {\n const lenInner = arrays$$3[0].length | 0;\n\n if (value$$14 = (forAll(function predicate$$34(a) {\n return a.length === lenInner;\n }, arrays$$3)), (!value$$14)) {\n throw new Error(\"Arrays had different lengths\");\n } else {\n void null;\n }\n\n const result$$15 = new Array(lenInner);\n\n for (let i$$51 = 0; i$$51 <= lenInner - 1; i$$51++) {\n result$$15[i$$51] = new cons$$33(len$$20);\n\n for (let j$$2 = 0; j$$2 <= len$$20 - 1; j$$2++) {\n result$$15[i$$51][j$$2] = arrays$$3[j$$2][i$$51];\n }\n }\n\n return result$$15;\n }\n}\n\n//# sourceURL=webpack:///./.fable/fable-library.2.10.1/Array.js?");
98
-
99
- /***/ }),
100
-
101
- /***/ "./.fable/fable-library.2.10.1/Async.js":
102
- /*!**********************************************!*\
103
- !*** ./.fable/fable-library.2.10.1/Async.js ***!
104
- \**********************************************/
105
- /*! exports provided: default, makeAsync, invoke, callThenInvoke, bind, createCancellationToken, cancel, cancelAfter, isCancellationRequested, startChild, awaitPromise, cancellationToken, defaultCancellationToken, catchAsync, fromContinuations, ignore, parallel, sleep, start, startImmediate, startWithContinuations, startAsPromise */
106
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
107
-
108
- "use strict";
109
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Async; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeAsync\", function() { return makeAsync; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"invoke\", function() { return invoke; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"callThenInvoke\", function() { return callThenInvoke; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bind\", function() { return bind; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createCancellationToken\", function() { return createCancellationToken; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cancel\", function() { return cancel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cancelAfter\", function() { return cancelAfter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isCancellationRequested\", function() { return isCancellationRequested; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"startChild\", function() { return startChild; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"awaitPromise\", function() { return awaitPromise; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cancellationToken\", function() { return cancellationToken; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultCancellationToken\", function() { return defaultCancellationToken; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"catchAsync\", function() { return catchAsync; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromContinuations\", function() { return fromContinuations; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ignore\", function() { return ignore; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parallel\", function() { return parallel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sleep\", function() { return sleep; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"start\", function() { return start; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"startImmediate\", function() { return startImmediate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"startWithContinuations\", function() { return startWithContinuations; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"startAsPromise\", function() { return startAsPromise; });\n/* harmony import */ var _AsyncBuilder__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AsyncBuilder */ \"./.fable/fable-library.2.10.1/AsyncBuilder.js\");\n/* harmony import */ var _Option__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Option */ \"./.fable/fable-library.2.10.1/Option.js\");\n/* harmony import */ var _Seq__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Seq */ \"./.fable/fable-library.2.10.1/Seq.js\");\n\n\n\n\n\n\n\n// Implemented just for type references\nclass Async {\n}\nfunction emptyContinuation(_x) {\n // NOP\n}\n// MakeAsync: body:(AsyncActivation<'T> -> AsyncReturn) -> Async<'T>\nfunction makeAsync(body) {\n return body;\n}\n// Invoke: computation: Async<'T> -> ctxt:AsyncActivation<'T> -> AsyncReturn\nfunction invoke(computation, ctx) {\n return computation(ctx);\n}\n// CallThenInvoke: ctxt:AsyncActivation<'T> -> result1:'U -> part2:('U -> Async<'T>) -> AsyncReturn\nfunction callThenInvoke(ctx, result1, part2) {\n return part2(result1)(ctx);\n}\n// Bind: ctxt:AsyncActivation<'T> -> part1:Async<'U> -> part2:('U -> Async<'T>) -> AsyncReturn\nfunction bind(ctx, part1, part2) {\n return Object(_AsyncBuilder__WEBPACK_IMPORTED_MODULE_0__[\"protectedBind\"])(part1, part2)(ctx);\n}\nfunction createCancellationToken(arg) {\n const token = new _AsyncBuilder__WEBPACK_IMPORTED_MODULE_0__[\"CancellationToken\"](typeof arg === \"boolean\" ? arg : false);\n if (typeof arg === \"number\") {\n setTimeout(() => { token.cancel(); }, arg);\n }\n return token;\n}\nfunction cancel(token) {\n token.cancel();\n}\nfunction cancelAfter(token, ms) {\n setTimeout(() => { token.cancel(); }, ms);\n}\nfunction isCancellationRequested(token) {\n return token != null && token.isCancelled;\n}\nfunction startChild(computation) {\n const promise = startAsPromise(computation);\n // JS Promises are hot, computation has already started\n // but we delay returning the result\n return Object(_AsyncBuilder__WEBPACK_IMPORTED_MODULE_0__[\"protectedCont\"])((ctx) => Object(_AsyncBuilder__WEBPACK_IMPORTED_MODULE_0__[\"protectedReturn\"])(awaitPromise(promise))(ctx));\n}\nfunction awaitPromise(p) {\n return fromContinuations((conts) => p.then(conts[0]).catch((err) => (err instanceof _AsyncBuilder__WEBPACK_IMPORTED_MODULE_0__[\"OperationCanceledError\"]\n ? conts[2] : conts[1])(err)));\n}\nfunction cancellationToken() {\n return Object(_AsyncBuilder__WEBPACK_IMPORTED_MODULE_0__[\"protectedCont\"])((ctx) => ctx.onSuccess(ctx.cancelToken));\n}\nconst defaultCancellationToken = new _AsyncBuilder__WEBPACK_IMPORTED_MODULE_0__[\"CancellationToken\"]();\nfunction catchAsync(work) {\n return Object(_AsyncBuilder__WEBPACK_IMPORTED_MODULE_0__[\"protectedCont\"])((ctx) => {\n work({\n onSuccess: (x) => ctx.onSuccess(Object(_Option__WEBPACK_IMPORTED_MODULE_1__[\"choice1Of2\"])(x)),\n onError: (ex) => ctx.onSuccess(Object(_Option__WEBPACK_IMPORTED_MODULE_1__[\"choice2Of2\"])(ex)),\n onCancel: ctx.onCancel,\n cancelToken: ctx.cancelToken,\n trampoline: ctx.trampoline,\n });\n });\n}\nfunction fromContinuations(f) {\n return Object(_AsyncBuilder__WEBPACK_IMPORTED_MODULE_0__[\"protectedCont\"])((ctx) => f([ctx.onSuccess, ctx.onError, ctx.onCancel]));\n}\nfunction ignore(computation) {\n return Object(_AsyncBuilder__WEBPACK_IMPORTED_MODULE_0__[\"protectedBind\"])(computation, (_x) => Object(_AsyncBuilder__WEBPACK_IMPORTED_MODULE_0__[\"protectedReturn\"])(void 0));\n}\nfunction parallel(computations) {\n return awaitPromise(Promise.all(Object(_Seq__WEBPACK_IMPORTED_MODULE_2__[\"map\"])((w) => startAsPromise(w), computations)));\n}\nfunction sleep(millisecondsDueTime) {\n return Object(_AsyncBuilder__WEBPACK_IMPORTED_MODULE_0__[\"protectedCont\"])((ctx) => {\n let tokenId;\n const timeoutId = setTimeout(() => {\n ctx.cancelToken.removeListener(tokenId);\n ctx.onSuccess(void 0);\n }, millisecondsDueTime);\n tokenId = ctx.cancelToken.addListener(() => {\n clearTimeout(timeoutId);\n ctx.onCancel(new _AsyncBuilder__WEBPACK_IMPORTED_MODULE_0__[\"OperationCanceledError\"]());\n });\n });\n}\nfunction start(computation, cancellationToken) {\n return startWithContinuations(computation, cancellationToken);\n}\nfunction startImmediate(computation, cancellationToken) {\n return start(computation, cancellationToken);\n}\nfunction startWithContinuations(computation, continuation, exceptionContinuation, cancellationContinuation, cancelToken) {\n if (typeof continuation !== \"function\") {\n cancelToken = continuation;\n continuation = undefined;\n }\n const trampoline = new _AsyncBuilder__WEBPACK_IMPORTED_MODULE_0__[\"Trampoline\"]();\n computation({\n onSuccess: continuation ? continuation : emptyContinuation,\n onError: exceptionContinuation ? exceptionContinuation : emptyContinuation,\n onCancel: cancellationContinuation ? cancellationContinuation : emptyContinuation,\n cancelToken: cancelToken ? cancelToken : defaultCancellationToken,\n trampoline,\n });\n}\nfunction startAsPromise(computation, cancellationToken) {\n return new Promise((resolve, reject) => startWithContinuations(computation, resolve, reject, reject, cancellationToken ? cancellationToken : defaultCancellationToken));\n}\n//# sourceMappingURL=Async.js.map\n\n//# sourceURL=webpack:///./.fable/fable-library.2.10.1/Async.js?");
110
-
111
- /***/ }),
112
-
113
- /***/ "./.fable/fable-library.2.10.1/AsyncBuilder.js":
114
- /*!*****************************************************!*\
115
- !*** ./.fable/fable-library.2.10.1/AsyncBuilder.js ***!
116
- \*****************************************************/
117
- /*! exports provided: CancellationToken, OperationCanceledError, Trampoline, protectedCont, protectedBind, protectedReturn, AsyncBuilder, singleton */
118
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
119
-
120
- "use strict";
121
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CancellationToken\", function() { return CancellationToken; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"OperationCanceledError\", function() { return OperationCanceledError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Trampoline\", function() { return Trampoline; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"protectedCont\", function() { return protectedCont; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"protectedBind\", function() { return protectedBind; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"protectedReturn\", function() { return protectedReturn; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AsyncBuilder\", function() { return AsyncBuilder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"singleton\", function() { return singleton; });\nclass CancellationToken {\n constructor(cancelled = false) {\n this._id = 0;\n this._cancelled = cancelled;\n this._listeners = new Map();\n }\n get isCancelled() {\n return this._cancelled;\n }\n cancel() {\n if (!this._cancelled) {\n this._cancelled = true;\n for (const [, listener] of this._listeners) {\n listener();\n }\n }\n }\n addListener(f) {\n const id = this._id;\n this._listeners.set(this._id++, f);\n return id;\n }\n removeListener(id) {\n return this._listeners.delete(id);\n }\n register(f, state) {\n const $ = this;\n const id = this.addListener(state == null ? f : () => f(state));\n return { Dispose() { $.removeListener(id); } };\n }\n}\nclass OperationCanceledError extends Error {\n constructor() {\n super(\"The operation was canceled\");\n Object.setPrototypeOf(this, OperationCanceledError.prototype);\n }\n}\nclass Trampoline {\n constructor() {\n this.callCount = 0;\n }\n static get maxTrampolineCallCount() {\n return 2000;\n }\n incrementAndCheck() {\n return this.callCount++ > Trampoline.maxTrampolineCallCount;\n }\n hijack(f) {\n this.callCount = 0;\n setTimeout(f, 0);\n }\n}\nfunction protectedCont(f) {\n return (ctx) => {\n if (ctx.cancelToken.isCancelled) {\n ctx.onCancel(new OperationCanceledError());\n }\n else if (ctx.trampoline.incrementAndCheck()) {\n ctx.trampoline.hijack(() => {\n try {\n f(ctx);\n }\n catch (err) {\n ctx.onError(err);\n }\n });\n }\n else {\n try {\n f(ctx);\n }\n catch (err) {\n ctx.onError(err);\n }\n }\n };\n}\nfunction protectedBind(computation, binder) {\n return protectedCont((ctx) => {\n computation({\n onSuccess: (x) => {\n try {\n binder(x)(ctx);\n }\n catch (ex) {\n ctx.onError(ex);\n }\n },\n onError: ctx.onError,\n onCancel: ctx.onCancel,\n cancelToken: ctx.cancelToken,\n trampoline: ctx.trampoline,\n });\n });\n}\nfunction protectedReturn(value) {\n return protectedCont((ctx) => ctx.onSuccess(value));\n}\nclass AsyncBuilder {\n Bind(computation, binder) {\n return protectedBind(computation, binder);\n }\n Combine(computation1, computation2) {\n return this.Bind(computation1, () => computation2);\n }\n Delay(generator) {\n return protectedCont((ctx) => generator()(ctx));\n }\n For(sequence, body) {\n const iter = sequence[Symbol.iterator]();\n let cur = iter.next();\n return this.While(() => !cur.done, this.Delay(() => {\n const res = body(cur.value);\n cur = iter.next();\n return res;\n }));\n }\n Return(value) {\n return protectedReturn(value);\n }\n ReturnFrom(computation) {\n return computation;\n }\n TryFinally(computation, compensation) {\n return protectedCont((ctx) => {\n computation({\n onSuccess: (x) => {\n compensation();\n ctx.onSuccess(x);\n },\n onError: (x) => {\n compensation();\n ctx.onError(x);\n },\n onCancel: (x) => {\n compensation();\n ctx.onCancel(x);\n },\n cancelToken: ctx.cancelToken,\n trampoline: ctx.trampoline,\n });\n });\n }\n TryWith(computation, catchHandler) {\n return protectedCont((ctx) => {\n computation({\n onSuccess: ctx.onSuccess,\n onCancel: ctx.onCancel,\n cancelToken: ctx.cancelToken,\n trampoline: ctx.trampoline,\n onError: (ex) => {\n try {\n catchHandler(ex)(ctx);\n }\n catch (ex2) {\n ctx.onError(ex2);\n }\n },\n });\n });\n }\n Using(resource, binder) {\n return this.TryFinally(binder(resource), () => resource.Dispose());\n }\n While(guard, computation) {\n if (guard()) {\n return this.Bind(computation, () => this.While(guard, computation));\n }\n else {\n return this.Return(void 0);\n }\n }\n Zero() {\n return protectedCont((ctx) => ctx.onSuccess(void 0));\n }\n}\nconst singleton = new AsyncBuilder();\n//# sourceMappingURL=AsyncBuilder.js.map\n\n//# sourceURL=webpack:///./.fable/fable-library.2.10.1/AsyncBuilder.js?");
122
-
123
- /***/ }),
124
-
125
- /***/ "./.fable/fable-library.2.10.1/Date.js":
126
- /*!*********************************************!*\
127
- !*** ./.fable/fable-library.2.10.1/Date.js ***!
128
- \*********************************************/
129
- /*! exports provided: offsetRegex, dateOffsetToString, dateToHalfUTCString, toString, default, fromTicks, fromDateTimeOffset, getTicks, minValue, maxValue, parseRaw, parse, tryParse, create, now, utcNow, today, isLeapYear, daysInMonth, toUniversalTime, toLocalTime, specifyKind, timeOfDay, date, day, hour, millisecond, minute, month, second, year, dayOfWeek, dayOfYear, add, addDays, addHours, addMinutes, addSeconds, addMilliseconds, addYears, addMonths, subtract, toLongDateString, toShortDateString, toLongTimeString, toShortTimeString, equals, compare, compareTo, op_Addition, op_Subtraction, isDaylightSavingTime */
130
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
131
-
132
- "use strict";
133
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"offsetRegex\", function() { return offsetRegex; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dateOffsetToString\", function() { return dateOffsetToString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dateToHalfUTCString\", function() { return dateToHalfUTCString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toString\", function() { return toString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return DateTime; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromTicks\", function() { return fromTicks; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromDateTimeOffset\", function() { return fromDateTimeOffset; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTicks\", function() { return getTicks; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"minValue\", function() { return minValue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"maxValue\", function() { return maxValue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseRaw\", function() { return parseRaw; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parse\", function() { return parse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryParse\", function() { return tryParse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"create\", function() { return create; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"now\", function() { return now; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"utcNow\", function() { return utcNow; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"today\", function() { return today; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isLeapYear\", function() { return isLeapYear; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"daysInMonth\", function() { return daysInMonth; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toUniversalTime\", function() { return toUniversalTime; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toLocalTime\", function() { return toLocalTime; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"specifyKind\", function() { return specifyKind; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"timeOfDay\", function() { return timeOfDay; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"date\", function() { return date; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"day\", function() { return day; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hour\", function() { return hour; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"millisecond\", function() { return millisecond; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"minute\", function() { return minute; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"month\", function() { return month; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"second\", function() { return second; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"year\", function() { return year; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dayOfWeek\", function() { return dayOfWeek; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dayOfYear\", function() { return dayOfYear; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"add\", function() { return add; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addDays\", function() { return addDays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addHours\", function() { return addHours; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addMinutes\", function() { return addMinutes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addSeconds\", function() { return addSeconds; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addMilliseconds\", function() { return addMilliseconds; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addYears\", function() { return addYears; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addMonths\", function() { return addMonths; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"subtract\", function() { return subtract; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toLongDateString\", function() { return toLongDateString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toShortDateString\", function() { return toShortDateString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toLongTimeString\", function() { return toLongTimeString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toShortTimeString\", function() { return toShortTimeString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"equals\", function() { return equals; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"compare\", function() { return compare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"compareTo\", function() { return compareTo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_Addition\", function() { return op_Addition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_Subtraction\", function() { return op_Subtraction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isDaylightSavingTime\", function() { return isDaylightSavingTime; });\n/* harmony import */ var _Long__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Long */ \"./.fable/fable-library.2.10.1/Long.js\");\n/* harmony import */ var _Util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Util */ \"./.fable/fable-library.2.10.1/Util.js\");\n/**\n * DateTimeOffset functions.\n *\n * Note: Date instances are always DateObjects in local\n * timezone (because JS dates are all kinds of messed up).\n * A local date returns UTC epoc when `.getTime()` is called.\n *\n * Basically; invariant: date.getTime() always return UTC time.\n */\n\n\nconst offsetRegex = /(?:Z|[+-](\\d+):?([0-5]?\\d)?)\\s*$/;\nfunction dateOffsetToString(offset) {\n const isMinus = offset < 0;\n offset = Math.abs(offset);\n const hours = ~~(offset / 3600000);\n const minutes = (offset % 3600000) / 60000;\n return (isMinus ? \"-\" : \"+\") +\n Object(_Util__WEBPACK_IMPORTED_MODULE_1__[\"padWithZeros\"])(hours, 2) + \":\" +\n Object(_Util__WEBPACK_IMPORTED_MODULE_1__[\"padWithZeros\"])(minutes, 2);\n}\nfunction dateToHalfUTCString(date, half) {\n const str = date.toISOString();\n return half === \"first\"\n ? str.substring(0, str.indexOf(\"T\"))\n : str.substring(str.indexOf(\"T\") + 1, str.length - 1);\n}\nfunction dateToISOString(d, utc) {\n if (utc) {\n return d.toISOString();\n }\n else {\n // JS Date is always local\n const printOffset = d.kind == null ? true : d.kind === 2 /* Local */;\n return Object(_Util__WEBPACK_IMPORTED_MODULE_1__[\"padWithZeros\"])(d.getFullYear(), 4) + \"-\" +\n Object(_Util__WEBPACK_IMPORTED_MODULE_1__[\"padWithZeros\"])(d.getMonth() + 1, 2) + \"-\" +\n Object(_Util__WEBPACK_IMPORTED_MODULE_1__[\"padWithZeros\"])(d.getDate(), 2) + \"T\" +\n Object(_Util__WEBPACK_IMPORTED_MODULE_1__[\"padWithZeros\"])(d.getHours(), 2) + \":\" +\n Object(_Util__WEBPACK_IMPORTED_MODULE_1__[\"padWithZeros\"])(d.getMinutes(), 2) + \":\" +\n Object(_Util__WEBPACK_IMPORTED_MODULE_1__[\"padWithZeros\"])(d.getSeconds(), 2) + \".\" +\n Object(_Util__WEBPACK_IMPORTED_MODULE_1__[\"padWithZeros\"])(d.getMilliseconds(), 3) +\n (printOffset ? dateOffsetToString(d.getTimezoneOffset() * -60000) : \"\");\n }\n}\nfunction dateToISOStringWithOffset(dateWithOffset, offset) {\n const str = dateWithOffset.toISOString();\n return str.substring(0, str.length - 1) + dateOffsetToString(offset);\n}\nfunction dateToStringWithCustomFormat(date, format, utc) {\n return format.replace(/(\\w)\\1*/g, (match) => {\n let rep = Number.NaN;\n switch (match.substring(0, 1)) {\n case \"y\":\n const y = utc ? date.getUTCFullYear() : date.getFullYear();\n rep = match.length < 4 ? y % 100 : y;\n break;\n case \"M\":\n rep = (utc ? date.getUTCMonth() : date.getMonth()) + 1;\n break;\n case \"d\":\n rep = utc ? date.getUTCDate() : date.getDate();\n break;\n case \"H\":\n rep = utc ? date.getUTCHours() : date.getHours();\n break;\n case \"h\":\n const h = utc ? date.getUTCHours() : date.getHours();\n rep = h > 12 ? h % 12 : h;\n break;\n case \"m\":\n rep = utc ? date.getUTCMinutes() : date.getMinutes();\n break;\n case \"s\":\n rep = utc ? date.getUTCSeconds() : date.getSeconds();\n break;\n case \"f\":\n rep = utc ? date.getUTCMilliseconds() : date.getMilliseconds();\n break;\n }\n if (Number.isNaN(rep)) {\n return match;\n }\n else {\n return (rep < 10 && match.length > 1) ? \"0\" + rep : \"\" + rep;\n }\n });\n}\nfunction dateToStringWithOffset(date, format) {\n var _a, _b, _c;\n const d = new Date(date.getTime() + ((_a = date.offset) !== null && _a !== void 0 ? _a : 0));\n if (typeof format !== \"string\") {\n return d.toISOString().replace(/\\.\\d+/, \"\").replace(/[A-Z]|\\.\\d+/g, \" \") + dateOffsetToString(((_b = date.offset) !== null && _b !== void 0 ? _b : 0));\n }\n else if (format.length === 1) {\n switch (format) {\n case \"D\":\n case \"d\": return dateToHalfUTCString(d, \"first\");\n case \"T\":\n case \"t\": return dateToHalfUTCString(d, \"second\");\n case \"O\":\n case \"o\": return dateToISOStringWithOffset(d, ((_c = date.offset) !== null && _c !== void 0 ? _c : 0));\n default: throw new Error(\"Unrecognized Date print format\");\n }\n }\n else {\n return dateToStringWithCustomFormat(d, format, true);\n }\n}\nfunction dateToStringWithKind(date, format) {\n const utc = date.kind === 1 /* UTC */;\n if (typeof format !== \"string\") {\n return utc ? date.toUTCString() : date.toLocaleString();\n }\n else if (format.length === 1) {\n switch (format) {\n case \"D\":\n case \"d\":\n return utc ? dateToHalfUTCString(date, \"first\") : date.toLocaleDateString();\n case \"T\":\n case \"t\":\n return utc ? dateToHalfUTCString(date, \"second\") : date.toLocaleTimeString();\n case \"O\":\n case \"o\":\n return dateToISOString(date, utc);\n default:\n throw new Error(\"Unrecognized Date print format\");\n }\n }\n else {\n return dateToStringWithCustomFormat(date, format, utc);\n }\n}\nfunction toString(date, format, _provider) {\n return date.offset != null\n ? dateToStringWithOffset(date, format)\n : dateToStringWithKind(date, format);\n}\nfunction DateTime(value, kind) {\n const d = new Date(value);\n d.kind = (kind == null ? 0 /* Unspecified */ : kind) | 0;\n return d;\n}\nfunction fromTicks(ticks, kind) {\n ticks = Object(_Long__WEBPACK_IMPORTED_MODULE_0__[\"fromValue\"])(ticks);\n kind = kind != null ? kind : 0 /* Unspecified */;\n let date = DateTime(Object(_Long__WEBPACK_IMPORTED_MODULE_0__[\"ticksToUnixEpochMilliseconds\"])(ticks), kind);\n // Ticks are local to offset (in this case, either UTC or Local/Unknown).\n // If kind is anything but UTC, that means that the tick number was not\n // in utc, thus getTime() cannot return UTC, and needs to be shifted.\n if (kind !== 1 /* UTC */) {\n date = DateTime(date.getTime() - Object(_Util__WEBPACK_IMPORTED_MODULE_1__[\"dateOffset\"])(date), kind);\n }\n return date;\n}\nfunction fromDateTimeOffset(date, kind) {\n var _a;\n switch (kind) {\n case 1 /* UTC */: return DateTime(date.getTime(), 1 /* UTC */);\n case 2 /* Local */: return DateTime(date.getTime(), 2 /* Local */);\n default:\n const d = DateTime(date.getTime() + ((_a = date.offset) !== null && _a !== void 0 ? _a : 0), kind);\n return DateTime(d.getTime() - Object(_Util__WEBPACK_IMPORTED_MODULE_1__[\"dateOffset\"])(d), kind);\n }\n}\nfunction getTicks(date) {\n return Object(_Long__WEBPACK_IMPORTED_MODULE_0__[\"unixEpochMillisecondsToTicks\"])(date.getTime(), Object(_Util__WEBPACK_IMPORTED_MODULE_1__[\"dateOffset\"])(date));\n}\nfunction minValue() {\n // This is \"0001-01-01T00:00:00.000Z\", actual JS min value is -8640000000000000\n return DateTime(-62135596800000, 0 /* Unspecified */);\n}\nfunction maxValue() {\n // This is \"9999-12-31T23:59:59.999Z\", actual JS max value is 8640000000000000\n return DateTime(253402300799999, 0 /* Unspecified */);\n}\nfunction parseRaw(str) {\n let date = new Date(str);\n if (isNaN(date.getTime())) {\n // Try to check strings JS Date cannot parse (see #1045, #1422)\n // tslint:disable-next-line:max-line-length\n const m = /^\\s*(\\d+[^\\w\\s:]\\d+[^\\w\\s:]\\d+)?\\s*(\\d+:\\d+(?::\\d+(?:\\.\\d+)?)?)?\\s*([AaPp][Mm])?\\s*([+-]\\d+(?::\\d+)?)?\\s*$/.exec(str);\n if (m != null) {\n let baseDate;\n let timeInSeconds = 0;\n if (m[2] != null) {\n const timeParts = m[2].split(\":\");\n timeInSeconds =\n parseInt(timeParts[0], 10) * 3600 +\n parseInt(timeParts[1] || \"0\", 10) * 60 +\n parseFloat(timeParts[2] || \"0\");\n if (m[3] != null && m[3].toUpperCase() === \"PM\") {\n timeInSeconds += 720;\n }\n }\n if (m[4] != null) { // There's an offset, parse as UTC\n if (m[1] != null) {\n baseDate = new Date(m[1] + \" UTC\");\n }\n else {\n const d = new Date();\n baseDate = new Date(d.getUTCFullYear() + \"/\" + (d.getUTCMonth() + 1) + \"/\" + d.getUTCDate());\n }\n const offsetParts = m[4].substr(1).split(\":\");\n let offsetInMinutes = parseInt(offsetParts[0], 10) * 60 + parseInt(offsetParts[1] || \"0\", 10);\n if (m[4][0] === \"+\") {\n offsetInMinutes *= -1;\n }\n timeInSeconds += offsetInMinutes * 60;\n }\n else {\n if (m[1] != null) {\n baseDate = new Date(m[1]);\n }\n else {\n const d = new Date();\n baseDate = new Date(d.getFullYear() + \"/\" + (d.getMonth() + 1) + \"/\" + d.getDate());\n }\n }\n date = new Date(baseDate.getTime() + timeInSeconds * 1000);\n // correct for daylight savings time\n date = new Date(date.getTime() + (date.getTimezoneOffset() - baseDate.getTimezoneOffset()) * 60000);\n }\n else {\n throw new Error(\"The string is not a valid Date.\");\n }\n }\n return date;\n}\nfunction parse(str, detectUTC = false) {\n const date = parseRaw(str);\n const offset = offsetRegex.exec(str);\n // .NET always parses DateTime as Local if there's offset info (even \"Z\")\n // Newtonsoft.Json uses UTC if the offset is \"Z\"\n const kind = offset != null\n ? (detectUTC && offset[0] === \"Z\" ? 1 /* UTC */ : 2 /* Local */)\n : 0 /* Unspecified */;\n return DateTime(date.getTime(), kind);\n}\nfunction tryParse(v, _refValue) {\n try {\n // if value is null or whitespace, parsing fails\n if (v == null || v.trim() === \"\") {\n return [false, minValue()];\n }\n return [true, parse(v)];\n }\n catch (_err) {\n return [false, minValue()];\n }\n}\nfunction create(year, month, day, h = 0, m = 0, s = 0, ms = 0, kind) {\n const dateValue = kind === 1 /* UTC */\n ? Date.UTC(year, month - 1, day, h, m, s, ms)\n : new Date(year, month - 1, day, h, m, s, ms).getTime();\n if (isNaN(dateValue)) {\n throw new Error(\"The parameters describe an unrepresentable Date.\");\n }\n const date = DateTime(dateValue, kind);\n if (year <= 99) {\n date.setFullYear(year, month - 1, day);\n }\n return date;\n}\nfunction now() {\n return DateTime(Date.now(), 2 /* Local */);\n}\nfunction utcNow() {\n return DateTime(Date.now(), 1 /* UTC */);\n}\nfunction today() {\n return date(now());\n}\nfunction isLeapYear(year) {\n return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;\n}\nfunction daysInMonth(year, month) {\n return month === 2\n ? (isLeapYear(year) ? 29 : 28)\n : (month >= 8 ? (month % 2 === 0 ? 31 : 30) : (month % 2 === 0 ? 30 : 31));\n}\nfunction toUniversalTime(date) {\n return date.kind === 1 /* UTC */ ? date : DateTime(date.getTime(), 1 /* UTC */);\n}\nfunction toLocalTime(date) {\n return date.kind === 2 /* Local */ ? date : DateTime(date.getTime(), 2 /* Local */);\n}\nfunction specifyKind(d, kind) {\n return create(year(d), month(d), day(d), hour(d), minute(d), second(d), millisecond(d), kind);\n}\nfunction timeOfDay(d) {\n return hour(d) * 3600000\n + minute(d) * 60000\n + second(d) * 1000\n + millisecond(d);\n}\nfunction date(d) {\n return create(year(d), month(d), day(d), 0, 0, 0, 0, d.kind);\n}\nfunction day(d) {\n return d.kind === 1 /* UTC */ ? d.getUTCDate() : d.getDate();\n}\nfunction hour(d) {\n return d.kind === 1 /* UTC */ ? d.getUTCHours() : d.getHours();\n}\nfunction millisecond(d) {\n return d.kind === 1 /* UTC */ ? d.getUTCMilliseconds() : d.getMilliseconds();\n}\nfunction minute(d) {\n return d.kind === 1 /* UTC */ ? d.getUTCMinutes() : d.getMinutes();\n}\nfunction month(d) {\n return (d.kind === 1 /* UTC */ ? d.getUTCMonth() : d.getMonth()) + 1;\n}\nfunction second(d) {\n return d.kind === 1 /* UTC */ ? d.getUTCSeconds() : d.getSeconds();\n}\nfunction year(d) {\n return d.kind === 1 /* UTC */ ? d.getUTCFullYear() : d.getFullYear();\n}\nfunction dayOfWeek(d) {\n return d.kind === 1 /* UTC */ ? d.getUTCDay() : d.getDay();\n}\nfunction dayOfYear(d) {\n const _year = year(d);\n const _month = month(d);\n let _day = day(d);\n for (let i = 1; i < _month; i++) {\n _day += daysInMonth(_year, i);\n }\n return _day;\n}\nfunction add(d, ts) {\n const newDate = DateTime(d.getTime() + ts, d.kind);\n if (d.kind === 2 /* Local */) {\n const oldTzOffset = d.getTimezoneOffset();\n const newTzOffset = newDate.getTimezoneOffset();\n return oldTzOffset !== newTzOffset\n ? DateTime(newDate.getTime() + (newTzOffset - oldTzOffset) * 60000, d.kind)\n : newDate;\n }\n else {\n return newDate;\n }\n}\nfunction addDays(d, v) {\n return add(d, v * 86400000);\n}\nfunction addHours(d, v) {\n return add(d, v * 3600000);\n}\nfunction addMinutes(d, v) {\n return add(d, v * 60000);\n}\nfunction addSeconds(d, v) {\n return add(d, v * 1000);\n}\nfunction addMilliseconds(d, v) {\n return add(d, v);\n}\nfunction addYears(d, v) {\n const newMonth = month(d);\n const newYear = year(d) + v;\n const _daysInMonth = daysInMonth(newYear, newMonth);\n const newDay = Math.min(_daysInMonth, day(d));\n return create(newYear, newMonth, newDay, hour(d), minute(d), second(d), millisecond(d), d.kind);\n}\nfunction addMonths(d, v) {\n let newMonth = month(d) + v;\n let newMonth_ = 0;\n let yearOffset = 0;\n if (newMonth > 12) {\n newMonth_ = newMonth % 12;\n yearOffset = Math.floor(newMonth / 12);\n newMonth = newMonth_;\n }\n else if (newMonth < 1) {\n newMonth_ = 12 + newMonth % 12;\n yearOffset = Math.floor(newMonth / 12) + (newMonth_ === 12 ? -1 : 0);\n newMonth = newMonth_;\n }\n const newYear = year(d) + yearOffset;\n const _daysInMonth = daysInMonth(newYear, newMonth);\n const newDay = Math.min(_daysInMonth, day(d));\n return create(newYear, newMonth, newDay, hour(d), minute(d), second(d), millisecond(d), d.kind);\n}\nfunction subtract(d, that) {\n return typeof that === \"number\"\n ? add(d, -that)\n : d.getTime() - that.getTime();\n}\nfunction toLongDateString(d) {\n return d.toDateString();\n}\nfunction toShortDateString(d) {\n return d.toLocaleDateString();\n}\nfunction toLongTimeString(d) {\n return d.toLocaleTimeString();\n}\nfunction toShortTimeString(d) {\n return d.toLocaleTimeString().replace(/:\\d\\d(?!:)/, \"\");\n}\nfunction equals(d1, d2) {\n return d1.getTime() === d2.getTime();\n}\nconst compare = _Util__WEBPACK_IMPORTED_MODULE_1__[\"compareDates\"];\nconst compareTo = _Util__WEBPACK_IMPORTED_MODULE_1__[\"compareDates\"];\nfunction op_Addition(x, y) {\n return add(x, y);\n}\nfunction op_Subtraction(x, y) {\n return subtract(x, y);\n}\nfunction isDaylightSavingTime(x) {\n const jan = new Date(x.getFullYear(), 0, 1);\n const jul = new Date(x.getFullYear(), 6, 1);\n return isDST(jan.getTimezoneOffset(), jul.getTimezoneOffset(), x.getTimezoneOffset());\n}\nfunction isDST(janOffset, julOffset, tOffset) {\n return Math.min(janOffset, julOffset) === tOffset;\n}\n//# sourceMappingURL=Date.js.map\n\n//# sourceURL=webpack:///./.fable/fable-library.2.10.1/Date.js?");
134
-
135
- /***/ }),
136
-
137
- /***/ "./.fable/fable-library.2.10.1/Decimal.js":
138
- /*!************************************************!*\
139
- !*** ./.fable/fable-library.2.10.1/Decimal.js ***!
140
- \************************************************/
141
- /*! exports provided: default, get_Zero, get_One, get_MinusOne, get_MaxValue, get_MinValue, compare, equals, abs, round, truncate, ceiling, floor, pow, sqrt, op_Addition, op_Subtraction, op_Multiply, op_Division, op_Modulus, op_UnaryNegation, add, subtract, multiply, divide, remainder, negate, toString, tryParse, parse, toNumber, fromIntArray, fromInts, fromParts, getBits, makeRangeStepFunction */
142
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
143
-
144
- "use strict";
145
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"get_Zero\", function() { return get_Zero; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"get_One\", function() { return get_One; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"get_MinusOne\", function() { return get_MinusOne; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"get_MaxValue\", function() { return get_MaxValue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"get_MinValue\", function() { return get_MinValue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"compare\", function() { return compare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"equals\", function() { return equals; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"abs\", function() { return abs; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"round\", function() { return round; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"truncate\", function() { return truncate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ceiling\", function() { return ceiling; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"floor\", function() { return floor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pow\", function() { return pow; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sqrt\", function() { return sqrt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_Addition\", function() { return op_Addition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_Subtraction\", function() { return op_Subtraction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_Multiply\", function() { return op_Multiply; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_Division\", function() { return op_Division; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_Modulus\", function() { return op_Modulus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_UnaryNegation\", function() { return op_UnaryNegation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"add\", function() { return add; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"subtract\", function() { return subtract; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"multiply\", function() { return multiply; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"divide\", function() { return divide; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"remainder\", function() { return remainder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"negate\", function() { return negate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toString\", function() { return toString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryParse\", function() { return tryParse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parse\", function() { return parse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toNumber\", function() { return toNumber; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromIntArray\", function() { return fromIntArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromInts\", function() { return fromInts; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromParts\", function() { return fromParts; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getBits\", function() { return getBits; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeRangeStepFunction\", function() { return makeRangeStepFunction; });\n/* harmony import */ var _lib_big__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/big */ \"./.fable/fable-library.2.10.1/lib/big.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_lib_big__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\nconst get_Zero = new _lib_big__WEBPACK_IMPORTED_MODULE_0__[\"default\"](0);\nconst get_One = new _lib_big__WEBPACK_IMPORTED_MODULE_0__[\"default\"](1);\nconst get_MinusOne = new _lib_big__WEBPACK_IMPORTED_MODULE_0__[\"default\"](-1);\nconst get_MaxValue = new _lib_big__WEBPACK_IMPORTED_MODULE_0__[\"default\"](\"79228162514264337593543950335\");\nconst get_MinValue = new _lib_big__WEBPACK_IMPORTED_MODULE_0__[\"default\"](\"-79228162514264337593543950335\");\nfunction compare(x, y) {\n return x.cmp(y);\n}\nfunction equals(x, y) {\n return !x.cmp(y);\n}\nfunction abs(x) {\n return x.abs();\n}\nfunction round(x, digits = 0) {\n return x.round(digits, 2 /* ROUND_HALF_EVEN */);\n}\nfunction truncate(x) {\n return x.round(0, 0 /* ROUND_DOWN */);\n}\nfunction ceiling(x) {\n return x.round(0, x.cmp(0) >= 0 ? 3 /* ROUND_UP */ : 0 /* ROUND_DOWN */);\n}\nfunction floor(x) {\n return x.round(0, x.cmp(0) >= 0 ? 0 /* ROUND_DOWN */ : 3 /* ROUND_UP */);\n}\nfunction pow(x, n) {\n return x.pow(n);\n}\nfunction sqrt(x) {\n return x.sqrt();\n}\nfunction op_Addition(x, y) {\n return x.add(y);\n}\nfunction op_Subtraction(x, y) {\n return x.sub(y);\n}\nfunction op_Multiply(x, y) {\n return x.mul(y);\n}\nfunction op_Division(x, y) {\n return x.div(y);\n}\nfunction op_Modulus(x, y) {\n return x.mod(y);\n}\nfunction op_UnaryNegation(x) {\n const x2 = new _lib_big__WEBPACK_IMPORTED_MODULE_0__[\"default\"](x);\n x2.s = -x2.s || 0;\n return x2;\n}\nconst add = op_Addition;\nconst subtract = op_Subtraction;\nconst multiply = op_Multiply;\nconst divide = op_Division;\nconst remainder = op_Modulus;\nconst negate = op_UnaryNegation;\nfunction toString(x) {\n return x.toString();\n}\nfunction tryParse(str) {\n try {\n return [true, new _lib_big__WEBPACK_IMPORTED_MODULE_0__[\"default\"](str.trim())];\n }\n catch (_a) {\n return [false, get_Zero];\n }\n}\nfunction parse(str) {\n const [ok, value] = tryParse(str);\n if (ok) {\n return value;\n }\n else {\n throw new Error(\"Input string was not in a correct format.\");\n }\n}\nfunction toNumber(x) {\n return +x;\n}\nfunction decimalToHex(dec, bitSize) {\n const hex = new Uint8Array(bitSize / 4 | 0);\n let hexCount = 1;\n for (let d = 0; d < dec.length; d++) {\n let value = dec[d];\n for (let i = 0; i < hexCount; i++) {\n const digit = hex[i] * 10 + value | 0;\n hex[i] = digit & 0xF;\n value = digit >> 4;\n }\n if (value !== 0) {\n hex[hexCount++] = value;\n }\n }\n return hex.slice(0, hexCount); // digits in reverse order\n}\nfunction hexToDecimal(hex, bitSize) {\n const dec = new Uint8Array(bitSize * 301 / 1000 + 1 | 0);\n let decCount = 1;\n for (let d = hex.length - 1; d >= 0; d--) {\n let carry = hex[d];\n for (let i = 0; i < decCount; i++) {\n const val = dec[i] * 16 + carry | 0;\n dec[i] = (val % 10) | 0;\n carry = (val / 10) | 0;\n }\n while (carry > 0) {\n dec[decCount++] = (carry % 10) | 0;\n carry = (carry / 10) | 0;\n }\n }\n return dec.slice(0, decCount); // digits in reverse order\n}\nfunction setInt32Bits(hexDigits, bits, offset) {\n for (let i = 0; i < 8; i++) {\n hexDigits[offset + i] = (bits >> (i * 4)) & 0xF;\n }\n}\nfunction getInt32Bits(hexDigits, offset) {\n let bits = 0;\n for (let i = 0; i < 8; i++) {\n bits = bits | (hexDigits[offset + i] << (i * 4));\n }\n return bits;\n}\nfunction fromIntArray(bits) {\n return fromInts(bits[0], bits[1], bits[2], bits[3]);\n}\nfunction fromInts(low, mid, high, signExp) {\n const isNegative = signExp < 0;\n const scale = (signExp >> 16) & 0x7F;\n return fromParts(low, mid, high, isNegative, scale);\n}\nfunction fromParts(low, mid, high, isNegative, scale) {\n const bitSize = 96;\n const hexDigits = new Uint8Array(bitSize / 4);\n setInt32Bits(hexDigits, low, 0);\n setInt32Bits(hexDigits, mid, 8);\n setInt32Bits(hexDigits, high, 16);\n const decDigits = hexToDecimal(hexDigits, bitSize);\n scale = scale & 0x7F;\n const big = new _lib_big__WEBPACK_IMPORTED_MODULE_0__[\"default\"](0);\n big.c = Array.from(decDigits.reverse());\n big.e = decDigits.length - scale - 1;\n big.s = isNegative ? -1 : 1;\n const d = new _lib_big__WEBPACK_IMPORTED_MODULE_0__[\"default\"](big);\n return d;\n}\nfunction getBits(d) {\n const bitSize = 96;\n const decDigits = Uint8Array.from(d.c);\n const hexDigits = decimalToHex(decDigits, bitSize);\n const low = getInt32Bits(hexDigits, 0);\n const mid = getInt32Bits(hexDigits, 8);\n const high = getInt32Bits(hexDigits, 16);\n const decStr = d.toString();\n const dotPos = decStr.indexOf(\".\");\n const scale = dotPos < 0 ? 0 : decStr.length - dotPos - 1;\n const signExp = ((scale & 0x7F) << 16) | (d.s < 0 ? 0x80000000 : 0);\n return [low, mid, high, signExp];\n}\nfunction makeRangeStepFunction(step, last) {\n const stepComparedWithZero = step.cmp(get_Zero);\n if (stepComparedWithZero === 0) {\n throw new Error(\"The step of a range cannot be zero\");\n }\n const stepGreaterThanZero = stepComparedWithZero > 0;\n return (x) => {\n const comparedWithLast = x.cmp(last);\n if ((stepGreaterThanZero && comparedWithLast <= 0)\n || (!stepGreaterThanZero && comparedWithLast >= 0)) {\n return [x, op_Addition(x, step)];\n }\n else {\n return undefined;\n }\n };\n}\n//# sourceMappingURL=Decimal.js.map\n\n//# sourceURL=webpack:///./.fable/fable-library.2.10.1/Decimal.js?");
146
-
147
- /***/ }),
148
-
149
- /***/ "./.fable/fable-library.2.10.1/Event.js":
150
- /*!**********************************************!*\
151
- !*** ./.fable/fable-library.2.10.1/Event.js ***!
152
- \**********************************************/
153
- /*! exports provided: default, add, choose, filter, map, merge, pairwise, partition, scan, split */
154
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
155
-
156
- "use strict";
157
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Event; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"add\", function() { return add; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"choose\", function() { return choose; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"filter\", function() { return filter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"map\", function() { return map; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"merge\", function() { return merge; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pairwise\", function() { return pairwise; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"partition\", function() { return partition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"scan\", function() { return scan; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"split\", function() { return split; });\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Observable */ \"./.fable/fable-library.2.10.1/Observable.js\");\n/* harmony import */ var _Option__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Option */ \"./.fable/fable-library.2.10.1/Option.js\");\n/* harmony import */ var _Seq__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Seq */ \"./.fable/fable-library.2.10.1/Seq.js\");\n\n\n\nclass Event {\n constructor(_subscriber, delegates) {\n this._subscriber = _subscriber;\n this.delegates = delegates || new Array();\n }\n Add(f) {\n this._addHandler(f);\n }\n // IEvent<T> methods\n get Publish() {\n return this;\n }\n Trigger(value) {\n Object(_Seq__WEBPACK_IMPORTED_MODULE_2__[\"iterate\"])((f) => f(value), this.delegates);\n }\n // IDelegateEvent<T> methods\n AddHandler(handler) {\n if (this._dotnetDelegates == null) {\n this._dotnetDelegates = new Map();\n }\n const f = (x) => handler(null, x);\n this._dotnetDelegates.set(handler, f);\n this._addHandler(f);\n }\n RemoveHandler(handler) {\n if (this._dotnetDelegates != null) {\n const f = this._dotnetDelegates.get(handler);\n if (f != null) {\n this._dotnetDelegates.delete(handler);\n this._removeHandler(f);\n }\n }\n }\n // IObservable<T> methods\n Subscribe(arg) {\n return typeof arg === \"function\"\n ? this._subscribeFromCallback(arg)\n : this._subscribeFromObserver(arg);\n }\n _addHandler(f) {\n this.delegates.push(f);\n }\n _removeHandler(f) {\n const index = this.delegates.indexOf(f);\n if (index > -1) {\n this.delegates.splice(index, 1);\n }\n }\n _subscribeFromObserver(observer) {\n if (this._subscriber) {\n return this._subscriber(observer);\n }\n const callback = observer.OnNext;\n this._addHandler(callback);\n return { Dispose: () => { this._removeHandler(callback); } };\n }\n _subscribeFromCallback(callback) {\n this._addHandler(callback);\n return { Dispose: () => { this._removeHandler(callback); } };\n }\n}\nfunction add(callback, sourceEvent) {\n sourceEvent.Subscribe(new _Observable__WEBPACK_IMPORTED_MODULE_0__[\"Observer\"](callback));\n}\nfunction choose(chooser, sourceEvent) {\n const source = sourceEvent;\n return new Event((observer) => source.Subscribe(new _Observable__WEBPACK_IMPORTED_MODULE_0__[\"Observer\"]((t) => Object(_Observable__WEBPACK_IMPORTED_MODULE_0__[\"protect\"])(() => chooser(t), (u) => { if (u != null) {\n observer.OnNext(Object(_Option__WEBPACK_IMPORTED_MODULE_1__[\"value\"])(u));\n } }, observer.OnError), observer.OnError, observer.OnCompleted)), source.delegates);\n}\nfunction filter(predicate, sourceEvent) {\n return choose((x) => predicate(x) ? Object(_Option__WEBPACK_IMPORTED_MODULE_1__[\"some\"])(x) : undefined, sourceEvent);\n}\nfunction map(mapping, sourceEvent) {\n const source = sourceEvent;\n return new Event((observer) => source.Subscribe(new _Observable__WEBPACK_IMPORTED_MODULE_0__[\"Observer\"]((t) => Object(_Observable__WEBPACK_IMPORTED_MODULE_0__[\"protect\"])(() => mapping(t), observer.OnNext, observer.OnError), observer.OnError, observer.OnCompleted)), source.delegates);\n}\nfunction merge(event1, event2) {\n const source1 = event1;\n const source2 = event2;\n return new Event((observer) => {\n let stopped = false;\n let completed1 = false;\n let completed2 = false;\n const h1 = source1.Subscribe(new _Observable__WEBPACK_IMPORTED_MODULE_0__[\"Observer\"]((v) => { if (!stopped) {\n observer.OnNext(v);\n } }, (e) => {\n if (!stopped) {\n stopped = true;\n observer.OnError(e);\n }\n }, () => {\n if (!stopped) {\n completed1 = true;\n if (completed2) {\n stopped = true;\n observer.OnCompleted();\n }\n }\n }));\n const h2 = source2.Subscribe(new _Observable__WEBPACK_IMPORTED_MODULE_0__[\"Observer\"]((v) => { if (!stopped) {\n observer.OnNext(v);\n } }, (e) => {\n if (!stopped) {\n stopped = true;\n observer.OnError(e);\n }\n }, () => {\n if (!stopped) {\n completed2 = true;\n if (completed1) {\n stopped = true;\n observer.OnCompleted();\n }\n }\n }));\n return {\n Dispose() {\n h1.Dispose();\n h2.Dispose();\n },\n };\n }, source1.delegates.concat(source2.delegates));\n}\nfunction pairwise(sourceEvent) {\n const source = sourceEvent;\n return new Event((observer) => {\n let last;\n return source.Subscribe(new _Observable__WEBPACK_IMPORTED_MODULE_0__[\"Observer\"]((next) => {\n if (last != null) {\n observer.OnNext([last, next]);\n }\n last = next;\n }, observer.OnError, observer.OnCompleted));\n }, source.delegates);\n}\nfunction partition(predicate, sourceEvent) {\n return [filter(predicate, sourceEvent), filter((x) => !predicate(x), sourceEvent)];\n}\nfunction scan(collector, state, sourceEvent) {\n const source = sourceEvent;\n return new Event((observer) => {\n return source.Subscribe(new _Observable__WEBPACK_IMPORTED_MODULE_0__[\"Observer\"]((t) => {\n Object(_Observable__WEBPACK_IMPORTED_MODULE_0__[\"protect\"])(() => collector(state, t), (u) => { state = u; observer.OnNext(u); }, observer.OnError);\n }, observer.OnError, observer.OnCompleted));\n }, source.delegates);\n}\nfunction split(splitter, sourceEvent) {\n return [\n choose((v) => Object(_Option__WEBPACK_IMPORTED_MODULE_1__[\"tryValueIfChoice1Of2\"])(splitter(v)), sourceEvent),\n choose((v) => Object(_Option__WEBPACK_IMPORTED_MODULE_1__[\"tryValueIfChoice2Of2\"])(splitter(v)), sourceEvent),\n ];\n}\n//# sourceMappingURL=Event.js.map\n\n//# sourceURL=webpack:///./.fable/fable-library.2.10.1/Event.js?");
158
-
159
- /***/ }),
160
-
161
- /***/ "./.fable/fable-library.2.10.1/Int32.js":
162
- /*!**********************************************!*\
163
- !*** ./.fable/fable-library.2.10.1/Int32.js ***!
164
- \**********************************************/
165
- /*! exports provided: NumberStyles, isValid, parse, tryParse, op_UnaryNegation_Int8, op_UnaryNegation_Int16, op_UnaryNegation_Int32 */
166
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
167
-
168
- "use strict";
169
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NumberStyles\", function() { return NumberStyles; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isValid\", function() { return isValid; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parse\", function() { return parse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryParse\", function() { return tryParse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_UnaryNegation_Int8\", function() { return op_UnaryNegation_Int8; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_UnaryNegation_Int16\", function() { return op_UnaryNegation_Int16; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_UnaryNegation_Int32\", function() { return op_UnaryNegation_Int32; });\n// export type decimal = Decimal;\nvar NumberStyles;\n(function (NumberStyles) {\n // None = 0x00000000,\n // AllowLeadingWhite = 0x00000001,\n // AllowTrailingWhite = 0x00000002,\n // AllowLeadingSign = 0x00000004,\n // AllowTrailingSign = 0x00000008,\n // AllowParentheses = 0x00000010,\n // AllowDecimalPoint = 0x00000020,\n // AllowThousands = 0x00000040,\n // AllowExponent = 0x00000080,\n // AllowCurrencySymbol = 0x00000100,\n NumberStyles[NumberStyles[\"AllowHexSpecifier\"] = 512] = \"AllowHexSpecifier\";\n // Integer = AllowLeadingWhite | AllowTrailingWhite | AllowLeadingSign,\n // HexNumber = AllowLeadingWhite | AllowTrailingWhite | AllowHexSpecifier,\n // Number = AllowLeadingWhite | AllowTrailingWhite | AllowLeadingSign |\n // AllowTrailingSign | AllowDecimalPoint | AllowThousands,\n // Float = AllowLeadingWhite | AllowTrailingWhite | AllowLeadingSign |\n // AllowDecimalPoint | AllowExponent,\n // Currency = AllowLeadingWhite | AllowTrailingWhite | AllowLeadingSign | AllowTrailingSign |\n // AllowParentheses | AllowDecimalPoint | AllowThousands | AllowCurrencySymbol,\n // Any = AllowLeadingWhite | AllowTrailingWhite | AllowLeadingSign | AllowTrailingSign |\n // AllowParentheses | AllowDecimalPoint | AllowThousands | AllowCurrencySymbol | AllowExponent,\n})(NumberStyles || (NumberStyles = {}));\nfunction validResponse(regexMatch, radix) {\n const [/*all*/ , sign, prefix, digits] = regexMatch;\n return {\n sign: sign || \"\",\n prefix: prefix || \"\",\n digits,\n radix,\n };\n}\nfunction getRange(unsigned, bitsize) {\n switch (bitsize) {\n case 8: return unsigned ? [0, 255] : [-128, 127];\n case 16: return unsigned ? [0, 65535] : [-32768, 32767];\n case 32: return unsigned ? [0, 4294967295] : [-2147483648, 2147483647];\n default: throw new Error(\"Invalid bit size.\");\n }\n}\nfunction getInvalidDigits(radix) {\n switch (radix) {\n case 2: return /[^0-1]/;\n case 8: return /[^0-7]/;\n case 10: return /[^0-9]/;\n case 16: return /[^0-9a-fA-F]/;\n default:\n throw new Error(\"Invalid Base.\");\n }\n}\nfunction getRadix(prefix, style) {\n if (style & NumberStyles.AllowHexSpecifier) {\n return 16;\n }\n else {\n switch (prefix) {\n case \"0b\":\n case \"0B\": return 2;\n case \"0o\":\n case \"0O\": return 8;\n case \"0x\":\n case \"0X\": return 16;\n default: return 10;\n }\n }\n}\nfunction isValid(str, style, radix) {\n const integerRegex = /^\\s*([\\+\\-])?(0[xXoObB])?([0-9a-fA-F]+)\\s*$/;\n const res = integerRegex.exec(str.replace(/_/g, \"\"));\n if (res != null) {\n const [/*all*/ , /*sign*/ , prefix, digits] = res;\n radix = radix || getRadix(prefix, style);\n const invalidDigits = getInvalidDigits(radix);\n if (!invalidDigits.test(digits)) {\n return validResponse(res, radix);\n }\n }\n return null;\n}\nfunction parse(str, style, unsigned, bitsize, radix) {\n const res = isValid(str, style, radix);\n if (res != null) {\n let v = Number.parseInt(res.sign + res.digits, res.radix);\n if (!Number.isNaN(v)) {\n const [umin, umax] = getRange(true, bitsize);\n if (!unsigned && res.radix !== 10 && v >= umin && v <= umax) {\n v = v << (32 - bitsize) >> (32 - bitsize);\n }\n const [min, max] = getRange(unsigned, bitsize);\n if (v >= min && v <= max) {\n return v;\n }\n }\n }\n throw new Error(\"Input string was not in a correct format.\");\n}\nfunction tryParse(str, style, unsigned, bitsize) {\n try {\n const v = parse(str, style, unsigned, bitsize);\n return [true, v];\n }\n catch (_a) {\n // supress error\n }\n return [false, 0];\n}\nfunction op_UnaryNegation_Int8(x) {\n return x === -128 ? x : -x;\n}\nfunction op_UnaryNegation_Int16(x) {\n return x === -32768 ? x : -x;\n}\nfunction op_UnaryNegation_Int32(x) {\n return x === -2147483648 ? x : -x;\n}\n//# sourceMappingURL=Int32.js.map\n\n//# sourceURL=webpack:///./.fable/fable-library.2.10.1/Int32.js?");
170
-
171
- /***/ }),
172
-
173
- /***/ "./.fable/fable-library.2.10.1/List.js":
174
- /*!*********************************************!*\
175
- !*** ./.fable/fable-library.2.10.1/List.js ***!
176
- \*********************************************/
177
- /*! exports provided: head, tryHead, tail, last, tryLast, compareWith, foldIndexedAux, foldIndexed, fold, reverse, foldBack, toSeq, ofSeq, concat, foldIndexed2Aux, foldIndexed2, fold2, foldBack2, unfold, foldIndexed3Aux, foldIndexed3, fold3, scan, scanBack, length, append, collect, map, mapIndexed, indexed, map2, mapIndexed2, map3, mapIndexed3, mapFold, mapFoldBack, iterate, iterate2, iterateIndexed, iterateIndexed2, ofArray, empty, isEmpty, tryPickIndexedAux, tryPickIndexed, tryPick, pick, tryFindIndexed, tryFind, findIndexed, find, findBack, tryFindBack, tryFindIndex, tryFindIndexBack, findIndex, findIndexBack, item, tryItem, filter, partition, choose, contains, except, initialize, replicate, reduce, reduceBack, forAll, forAll2, exists, exists2, unzip, unzip3, zip, zip3, sort, sortBy, sortDescending, sortByDescending, sortWith, sum, sumBy, maxBy, max, minBy, min, average, averageBy, permute, chunkBySize, skip, skipWhile, takeSplitAux, take, takeWhile, truncate, splitAt, outOfRange, slice, distinctBy, distinct, exactlyOne, groupBy, countBy, where, pairwise, windowed, splitInto, transpose */
178
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
179
-
180
- "use strict";
181
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"head\", function() { return head; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryHead\", function() { return tryHead; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tail\", function() { return tail; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"last\", function() { return last; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryLast\", function() { return tryLast; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"compareWith\", function() { return compareWith; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"foldIndexedAux\", function() { return foldIndexedAux; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"foldIndexed\", function() { return foldIndexed; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fold\", function() { return fold; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"reverse\", function() { return reverse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"foldBack\", function() { return foldBack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toSeq\", function() { return toSeq; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ofSeq\", function() { return ofSeq; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"concat\", function() { return concat; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"foldIndexed2Aux\", function() { return foldIndexed2Aux; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"foldIndexed2\", function() { return foldIndexed2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fold2\", function() { return fold2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"foldBack2\", function() { return foldBack2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"unfold\", function() { return unfold; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"foldIndexed3Aux\", function() { return foldIndexed3Aux; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"foldIndexed3\", function() { return foldIndexed3; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fold3\", function() { return fold3; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"scan\", function() { return scan; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"scanBack\", function() { return scanBack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"length\", function() { return length; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"append\", function() { return append; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"collect\", function() { return collect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"map\", function() { return map; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mapIndexed\", function() { return mapIndexed; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"indexed\", function() { return indexed; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"map2\", function() { return map2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mapIndexed2\", function() { return mapIndexed2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"map3\", function() { return map3; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mapIndexed3\", function() { return mapIndexed3; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mapFold\", function() { return mapFold; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mapFoldBack\", function() { return mapFoldBack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"iterate\", function() { return iterate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"iterate2\", function() { return iterate2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"iterateIndexed\", function() { return iterateIndexed; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"iterateIndexed2\", function() { return iterateIndexed2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ofArray\", function() { return ofArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"empty\", function() { return empty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isEmpty\", function() { return isEmpty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryPickIndexedAux\", function() { return tryPickIndexedAux; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryPickIndexed\", function() { return tryPickIndexed; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryPick\", function() { return tryPick; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pick\", function() { return pick; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryFindIndexed\", function() { return tryFindIndexed; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryFind\", function() { return tryFind; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"findIndexed\", function() { return findIndexed; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"find\", function() { return find; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"findBack\", function() { return findBack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryFindBack\", function() { return tryFindBack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryFindIndex\", function() { return tryFindIndex; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryFindIndexBack\", function() { return tryFindIndexBack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"findIndex\", function() { return findIndex; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"findIndexBack\", function() { return findIndexBack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"item\", function() { return item; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryItem\", function() { return tryItem; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"filter\", function() { return filter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"partition\", function() { return partition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"choose\", function() { return choose; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"contains\", function() { return contains; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"except\", function() { return except; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"initialize\", function() { return initialize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"replicate\", function() { return replicate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"reduce\", function() { return reduce; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"reduceBack\", function() { return reduceBack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forAll\", function() { return forAll; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forAll2\", function() { return forAll2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"exists\", function() { return exists; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"exists2\", function() { return exists2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"unzip\", function() { return unzip; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"unzip3\", function() { return unzip3; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"zip\", function() { return zip; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"zip3\", function() { return zip3; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sort\", function() { return sort; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sortBy\", function() { return sortBy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sortDescending\", function() { return sortDescending; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sortByDescending\", function() { return sortByDescending; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sortWith\", function() { return sortWith; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sum\", function() { return sum; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sumBy\", function() { return sumBy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"maxBy\", function() { return maxBy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"max\", function() { return max; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"minBy\", function() { return minBy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"min\", function() { return min; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"average\", function() { return average; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"averageBy\", function() { return averageBy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"permute\", function() { return permute; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"chunkBySize\", function() { return chunkBySize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"skip\", function() { return skip; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"skipWhile\", function() { return skipWhile; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"takeSplitAux\", function() { return takeSplitAux; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"take\", function() { return take; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"takeWhile\", function() { return takeWhile; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"truncate\", function() { return truncate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"splitAt\", function() { return splitAt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"outOfRange\", function() { return outOfRange; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"slice\", function() { return slice; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"distinctBy\", function() { return distinctBy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"distinct\", function() { return distinct; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"exactlyOne\", function() { return exactlyOne; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"groupBy\", function() { return groupBy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"countBy\", function() { return countBy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"where\", function() { return where; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pairwise\", function() { return pairwise; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"windowed\", function() { return windowed; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"splitInto\", function() { return splitInto; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"transpose\", function() { return transpose; });\n/* harmony import */ var _Option_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Option.js */ \"./.fable/fable-library.2.10.1/Option.js\");\n/* harmony import */ var _Types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Types.js */ \"./.fable/fable-library.2.10.1/Types.js\");\n/* harmony import */ var _Seq_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Seq.js */ \"./.fable/fable-library.2.10.1/Seq.js\");\n/* harmony import */ var _Util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Util.js */ \"./.fable/fable-library.2.10.1/Util.js\");\n/* harmony import */ var _Array_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Array.js */ \"./.fable/fable-library.2.10.1/Array.js\");\n/* harmony import */ var _Set_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Set.js */ \"./.fable/fable-library.2.10.1/Set.js\");\n/* harmony import */ var _Map_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Map.js */ \"./.fable/fable-library.2.10.1/Map.js\");\n\n\n\n\n\n\n\n\nfunction head(_arg1) {\n if (_arg1.tail != null) {\n return _arg1.head;\n } else {\n throw new Error(\"List was empty\");\n }\n}\nfunction tryHead(_arg1$$1) {\n if (_arg1$$1.tail != null) {\n return Object(_Option_js__WEBPACK_IMPORTED_MODULE_0__[\"some\"])(_arg1$$1.head);\n } else {\n return undefined;\n }\n}\nfunction tail(_arg1$$2) {\n if (_arg1$$2.tail != null) {\n return _arg1$$2.tail;\n } else {\n throw new Error(\"List was empty\");\n }\n}\nfunction last($_arg1$$3$$5) {\n last: while (true) {\n const _arg1$$3 = $_arg1$$3$$5;\n\n if (_arg1$$3.tail != null) {\n if (_arg1$$3.tail.tail == null) {\n return _arg1$$3.head;\n } else {\n $_arg1$$3$$5 = _arg1$$3.tail;\n continue last;\n }\n } else {\n throw new Error(\"List was empty\");\n }\n\n break;\n }\n}\nfunction tryLast($_arg1$$4$$6) {\n tryLast: while (true) {\n const _arg1$$4 = $_arg1$$4$$6;\n\n if (_arg1$$4.tail != null) {\n if (_arg1$$4.tail.tail == null) {\n return Object(_Option_js__WEBPACK_IMPORTED_MODULE_0__[\"some\"])(_arg1$$4.head);\n } else {\n $_arg1$$4$$6 = _arg1$$4.tail;\n continue tryLast;\n }\n } else {\n return undefined;\n }\n\n break;\n }\n}\nfunction compareWith(comparer, xs$$3, ys) {\n if (xs$$3 === ys) {\n return 0;\n } else {\n const loop = function loop($xs$$4$$10, $ys$$1$$11) {\n loop: while (true) {\n const xs$$4 = $xs$$4$$10,\n ys$$1 = $ys$$1$$11;\n\n if (xs$$4.tail != null) {\n if (ys$$1.tail != null) {\n const matchValue$$1 = comparer(xs$$4.head, ys$$1.head) | 0;\n\n if (matchValue$$1 === 0) {\n $xs$$4$$10 = xs$$4.tail;\n $ys$$1$$11 = ys$$1.tail;\n continue loop;\n } else {\n return matchValue$$1 | 0;\n }\n } else {\n return 1;\n }\n } else if (ys$$1.tail == null) {\n return 0;\n } else {\n return -1 | 0;\n }\n\n break;\n }\n };\n\n return loop(xs$$3, ys) | 0;\n }\n}\nfunction foldIndexedAux($f$$12, $i$$13, $acc$$14, $_arg1$$5$$15) {\n foldIndexedAux: while (true) {\n const f = $f$$12,\n i = $i$$13,\n acc = $acc$$14,\n _arg1$$5 = $_arg1$$5$$15;\n\n if (_arg1$$5.tail != null) {\n $f$$12 = f;\n $i$$13 = i + 1;\n $acc$$14 = f(i, acc, _arg1$$5.head);\n $_arg1$$5$$15 = _arg1$$5.tail;\n continue foldIndexedAux;\n } else {\n return acc;\n }\n\n break;\n }\n}\nfunction foldIndexed(f$$1, state, xs$$7) {\n return foldIndexedAux(f$$1, 0, state, xs$$7);\n}\nfunction fold($f$$2$$19, $state$$1$$20, $xs$$8$$21) {\n fold: while (true) {\n const f$$2 = $f$$2$$19,\n state$$1 = $state$$1$$20,\n xs$$8 = $xs$$8$$21;\n\n if (xs$$8.tail != null) {\n $f$$2$$19 = f$$2;\n $state$$1$$20 = f$$2(state$$1, xs$$8.head);\n $xs$$8$$21 = xs$$8.tail;\n continue fold;\n } else {\n return state$$1;\n }\n\n break;\n }\n}\nfunction reverse(xs$$9) {\n return fold(function (acc$$1, x$$6) {\n return new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](x$$6, acc$$1);\n }, new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](), xs$$9);\n}\nfunction foldBack(f$$3, xs$$10, state$$2) {\n return fold(function (acc$$2, x$$7) {\n return f$$3(x$$7, acc$$2);\n }, state$$2, reverse(xs$$10));\n}\nfunction toSeq(xs$$11) {\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_2__[\"map\"])(function (x$$8) {\n return x$$8;\n }, xs$$11);\n}\nfunction ofSeq(xs$$12) {\n const xs$$13 = Object(_Seq_js__WEBPACK_IMPORTED_MODULE_2__[\"fold\"])(function (acc$$3, x$$9) {\n return new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](x$$9, acc$$3);\n }, new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](), xs$$12);\n return reverse(xs$$13);\n}\nfunction concat(lists) {\n const xs$$15 = Object(_Seq_js__WEBPACK_IMPORTED_MODULE_2__[\"fold\"])(function (state$$3, xs$$14) {\n return fold(function f$$4(acc$$4, x$$10) {\n return new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](x$$10, acc$$4);\n }, state$$3, xs$$14);\n }, new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](), lists);\n return reverse(xs$$15);\n}\nfunction foldIndexed2Aux($f$$5$$31, $i$$1$$32, $acc$$5$$33, $bs$$34, $cs$$35) {\n foldIndexed2Aux: while (true) {\n const f$$5 = $f$$5$$31,\n i$$1 = $i$$1$$32,\n acc$$5 = $acc$$5$$33,\n bs = $bs$$34,\n cs = $cs$$35;\n var $target$$36, x$$11, xs$$16, y$$1, ys$$3;\n\n if (bs.tail != null) {\n if (cs.tail != null) {\n $target$$36 = 1;\n x$$11 = bs.head;\n xs$$16 = bs.tail;\n y$$1 = cs.head;\n ys$$3 = cs.tail;\n } else {\n $target$$36 = 2;\n }\n } else if (cs.tail == null) {\n $target$$36 = 0;\n } else {\n $target$$36 = 2;\n }\n\n switch ($target$$36) {\n case 0:\n {\n return acc$$5;\n }\n\n case 1:\n {\n $f$$5$$31 = f$$5;\n $i$$1$$32 = i$$1 + 1;\n $acc$$5$$33 = f$$5(i$$1, acc$$5, x$$11, y$$1);\n $bs$$34 = xs$$16;\n $cs$$35 = ys$$3;\n continue foldIndexed2Aux;\n }\n\n case 2:\n {\n throw new Error(\"Lists had different lengths\");\n }\n }\n\n break;\n }\n}\nfunction foldIndexed2(f$$6, state$$4, xs$$17, ys$$4) {\n return foldIndexed2Aux(f$$6, 0, state$$4, xs$$17, ys$$4);\n}\nfunction fold2(f$$7, state$$5, xs$$18, ys$$5) {\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_2__[\"fold2\"])(f$$7, state$$5, xs$$18, ys$$5);\n}\nfunction foldBack2(f$$8, xs$$19, ys$$6, state$$6) {\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_2__[\"foldBack2\"])(f$$8, xs$$19, ys$$6, state$$6);\n}\nfunction unfold(f$$9, state$$7) {\n const unfoldInner = function unfoldInner($acc$$6$$51, $state$$8$$52) {\n unfoldInner: while (true) {\n const acc$$6 = $acc$$6$$51,\n state$$8 = $state$$8$$52;\n const matchValue$$3 = f$$9(state$$8);\n\n if (matchValue$$3 != null) {\n const x$$12 = matchValue$$3[0];\n const state$$9 = matchValue$$3[1];\n $acc$$6$$51 = new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](x$$12, acc$$6);\n $state$$8$$52 = state$$9;\n continue unfoldInner;\n } else {\n return reverse(acc$$6);\n }\n\n break;\n }\n };\n\n return unfoldInner(new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](), state$$7);\n}\nfunction foldIndexed3Aux($f$$10$$53, $i$$2$$54, $acc$$7$$55, $bs$$1$$56, $cs$$1$$57, $ds$$58) {\n foldIndexed3Aux: while (true) {\n const f$$10 = $f$$10$$53,\n i$$2 = $i$$2$$54,\n acc$$7 = $acc$$7$$55,\n bs$$1 = $bs$$1$$56,\n cs$$1 = $cs$$1$$57,\n ds = $ds$$58;\n var $target$$59, x$$13, xs$$20, y$$2, ys$$7, z, zs;\n\n if (bs$$1.tail != null) {\n if (cs$$1.tail != null) {\n if (ds.tail != null) {\n $target$$59 = 1;\n x$$13 = bs$$1.head;\n xs$$20 = bs$$1.tail;\n y$$2 = cs$$1.head;\n ys$$7 = cs$$1.tail;\n z = ds.head;\n zs = ds.tail;\n } else {\n $target$$59 = 2;\n }\n } else {\n $target$$59 = 2;\n }\n } else if (cs$$1.tail == null) {\n if (ds.tail == null) {\n $target$$59 = 0;\n } else {\n $target$$59 = 2;\n }\n } else {\n $target$$59 = 2;\n }\n\n switch ($target$$59) {\n case 0:\n {\n return acc$$7;\n }\n\n case 1:\n {\n $f$$10$$53 = f$$10;\n $i$$2$$54 = i$$2 + 1;\n $acc$$7$$55 = f$$10(i$$2, acc$$7, x$$13, y$$2, z);\n $bs$$1$$56 = xs$$20;\n $cs$$1$$57 = ys$$7;\n $ds$$58 = zs;\n continue foldIndexed3Aux;\n }\n\n case 2:\n {\n throw new Error(\"Lists had different lengths\");\n }\n }\n\n break;\n }\n}\nfunction foldIndexed3(f$$11, seed, xs$$21, ys$$8, zs$$1) {\n return foldIndexed3Aux(f$$11, 0, seed, xs$$21, ys$$8, zs$$1);\n}\nfunction fold3(f$$12, state$$10, xs$$22, ys$$9, zs$$2) {\n return foldIndexed3(function (_arg1$$6, acc$$8, x$$14, y$$3, z$$1) {\n return f$$12(acc$$8, x$$14, y$$3, z$$1);\n }, state$$10, xs$$22, ys$$9, zs$$2);\n}\nfunction scan(f$$13, state$$11, xs$$23) {\n const xs$$24 = Object(_Seq_js__WEBPACK_IMPORTED_MODULE_2__[\"scan\"])(f$$13, state$$11, xs$$23);\n return ofSeq(xs$$24);\n}\nfunction scanBack(f$$14, xs$$25, state$$12) {\n const xs$$26 = Object(_Seq_js__WEBPACK_IMPORTED_MODULE_2__[\"scanBack\"])(f$$14, xs$$25, state$$12);\n return ofSeq(xs$$26);\n}\nfunction length(xs$$27) {\n return fold(function (acc$$9, _arg1$$7) {\n return acc$$9 + 1;\n }, 0, xs$$27);\n}\nfunction append(xs$$28, ys$$10) {\n return fold(function (acc$$10, x$$15) {\n return new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](x$$15, acc$$10);\n }, ys$$10, reverse(xs$$28));\n}\nfunction collect(f$$15, xs$$29) {\n const xs$$30 = Object(_Seq_js__WEBPACK_IMPORTED_MODULE_2__[\"collect\"])(f$$15, xs$$29);\n return ofSeq(xs$$30);\n}\nfunction map(f$$16, xs$$31) {\n const xs$$32 = fold(function (acc$$11, x$$16) {\n return new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](f$$16(x$$16), acc$$11);\n }, new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](), xs$$31);\n return reverse(xs$$32);\n}\nfunction mapIndexed(f$$17, xs$$33) {\n const xs$$34 = foldIndexed(function (i$$3, acc$$12, x$$17) {\n return new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](f$$17(i$$3, x$$17), acc$$12);\n }, new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](), xs$$33);\n return reverse(xs$$34);\n}\nfunction indexed(xs$$35) {\n return mapIndexed(function (i$$4, x$$18) {\n return [i$$4, x$$18];\n }, xs$$35);\n}\nfunction map2(f$$18, xs$$36, ys$$11) {\n const xs$$37 = fold2(function (acc$$13, x$$19, y$$4) {\n return new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](f$$18(x$$19, y$$4), acc$$13);\n }, new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](), xs$$36, ys$$11);\n return reverse(xs$$37);\n}\nfunction mapIndexed2(f$$19, xs$$38, ys$$12) {\n const xs$$39 = foldIndexed2(function (i$$5, acc$$14, x$$20, y$$5) {\n return new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](f$$19(i$$5, x$$20, y$$5), acc$$14);\n }, new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](), xs$$38, ys$$12);\n return reverse(xs$$39);\n}\nfunction map3(f$$20, xs$$40, ys$$13, zs$$3) {\n const xs$$41 = fold3(function (acc$$15, x$$21, y$$6, z$$2) {\n return new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](f$$20(x$$21, y$$6, z$$2), acc$$15);\n }, new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](), xs$$40, ys$$13, zs$$3);\n return reverse(xs$$41);\n}\nfunction mapIndexed3(f$$21, xs$$42, ys$$14, zs$$4) {\n const xs$$43 = foldIndexed3(function (i$$6, acc$$16, x$$22, y$$7, z$$3) {\n return new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](f$$21(i$$6, x$$22, y$$7, z$$3), acc$$16);\n }, new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](), xs$$42, ys$$14, zs$$4);\n return reverse(xs$$43);\n}\nfunction mapFold(f$$22, s, xs$$44) {\n const patternInput$$1 = fold(function foldFn(tupledArg, x$$23) {\n const patternInput = f$$22(tupledArg[1], x$$23);\n return [new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](patternInput[0], tupledArg[0]), patternInput[1]];\n }, [new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](), s], xs$$44);\n return [reverse(patternInput$$1[0]), patternInput$$1[1]];\n}\nfunction mapFoldBack(f$$23, xs$$45, s$$2) {\n return mapFold(function (s$$3, v) {\n return f$$23(v, s$$3);\n }, s$$2, reverse(xs$$45));\n}\nfunction iterate(f$$24, xs$$46) {\n fold(function (unitVar0, x$$24) {\n f$$24(x$$24);\n }, void null, xs$$46);\n}\nfunction iterate2(f$$25, xs$$47, ys$$15) {\n fold2(function (unitVar0$$1, x$$25, y$$8) {\n f$$25(x$$25, y$$8);\n }, void null, xs$$47, ys$$15);\n}\nfunction iterateIndexed(f$$26, xs$$48) {\n foldIndexed(function (i$$7, unitVar1, x$$26) {\n f$$26(i$$7, x$$26);\n }, void null, xs$$48);\n}\nfunction iterateIndexed2(f$$27, xs$$49, ys$$16) {\n foldIndexed2(function (i$$8, unitVar1$$1, x$$27, y$$9) {\n f$$27(i$$8, x$$27, y$$9);\n }, void null, xs$$49, ys$$16);\n}\nfunction ofArray(xs$$50) {\n let res$$1 = new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"]();\n\n for (let i$$9 = Object(_Util_js__WEBPACK_IMPORTED_MODULE_3__[\"count\"])(xs$$50) - 1; i$$9 >= 0; i$$9--) {\n res$$1 = new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](xs$$50[i$$9], res$$1);\n }\n\n return res$$1;\n}\nfunction empty() {\n return new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"]();\n}\nfunction isEmpty(_arg1$$8) {\n if (_arg1$$8.tail == null) {\n return true;\n } else {\n return false;\n }\n}\nfunction tryPickIndexedAux($f$$28$$120, $i$$10$$121, $_arg1$$9$$122) {\n tryPickIndexedAux: while (true) {\n const f$$28 = $f$$28$$120,\n i$$10 = $i$$10$$121,\n _arg1$$9 = $_arg1$$9$$122;\n\n if (_arg1$$9.tail != null) {\n const result = f$$28(i$$10, _arg1$$9.head);\n\n if (result == null) {\n $f$$28$$120 = f$$28;\n $i$$10$$121 = i$$10 + 1;\n $_arg1$$9$$122 = _arg1$$9.tail;\n continue tryPickIndexedAux;\n } else {\n return result;\n }\n } else {\n return undefined;\n }\n\n break;\n }\n}\nfunction tryPickIndexed(f$$29, xs$$52) {\n return tryPickIndexedAux(f$$29, 0, xs$$52);\n}\nfunction tryPick(f$$30, xs$$53) {\n return tryPickIndexed(function (_arg1$$10, x$$29) {\n return f$$30(x$$29);\n }, xs$$53);\n}\nfunction pick(f$$31, xs$$54) {\n const matchValue$$5 = tryPick(f$$31, xs$$54);\n\n if (matchValue$$5 != null) {\n const x$$30 = Object(_Option_js__WEBPACK_IMPORTED_MODULE_0__[\"value\"])(matchValue$$5);\n return x$$30;\n } else {\n throw new Error(\"List did not contain any matching elements\");\n }\n}\nfunction tryFindIndexed(f$$32, xs$$55) {\n return tryPickIndexed(function (i$$11, x$$31) {\n return f$$32(i$$11, x$$31) ? Object(_Option_js__WEBPACK_IMPORTED_MODULE_0__[\"some\"])(x$$31) : undefined;\n }, xs$$55);\n}\nfunction tryFind(f$$33, xs$$56) {\n return tryPickIndexed(function (_arg1$$11, x$$32) {\n return f$$33(x$$32) ? Object(_Option_js__WEBPACK_IMPORTED_MODULE_0__[\"some\"])(x$$32) : undefined;\n }, xs$$56);\n}\nfunction findIndexed(f$$34, xs$$57) {\n const matchValue$$6 = tryFindIndexed(f$$34, xs$$57);\n\n if (matchValue$$6 != null) {\n const x$$33 = Object(_Option_js__WEBPACK_IMPORTED_MODULE_0__[\"value\"])(matchValue$$6);\n return x$$33;\n } else {\n throw new Error(\"List did not contain any matching elements\");\n }\n}\nfunction find(f$$35, xs$$58) {\n return findIndexed(function (_arg1$$12, x$$34) {\n return f$$35(x$$34);\n }, xs$$58);\n}\nfunction findBack(f$$36, xs$$59) {\n let xs$$61;\n xs$$61 = reverse(xs$$59);\n return find(f$$36, xs$$61);\n}\nfunction tryFindBack(f$$37, xs$$62) {\n let xs$$64;\n xs$$64 = reverse(xs$$62);\n return tryFind(f$$37, xs$$64);\n}\nfunction tryFindIndex(f$$38, xs$$65) {\n return tryPickIndexed(function (i$$12, x$$35) {\n return f$$38(x$$35) ? i$$12 : undefined;\n }, xs$$65);\n}\nfunction tryFindIndexBack(f$$39, xs$$66) {\n const array = Object(_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"ofList\"])(xs$$66, Array);\n return Object(_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"tryFindIndexBack\"])(f$$39, array);\n}\nfunction findIndex(f$$40, xs$$67) {\n const matchValue$$7 = tryFindIndex(f$$40, xs$$67);\n\n if (matchValue$$7 != null) {\n const x$$36 = matchValue$$7 | 0;\n return x$$36 | 0;\n } else {\n throw new Error(\"List did not contain any matching elements\");\n }\n}\nfunction findIndexBack(f$$41, xs$$68) {\n const array$$1 = Object(_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"ofList\"])(xs$$68, Array);\n return Object(_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"findIndexBack\"])(f$$41, array$$1) | 0;\n}\nfunction item(n, xs$$69) {\n return findIndexed(function (i$$13, _arg1$$13) {\n return n === i$$13;\n }, xs$$69);\n}\nfunction tryItem(n$$1, xs$$70) {\n return tryFindIndexed(function (i$$14, _arg1$$14) {\n return n$$1 === i$$14;\n }, xs$$70);\n}\nfunction filter(f$$42, xs$$71) {\n const xs$$72 = fold(function (acc$$17, x$$37) {\n return f$$42(x$$37) ? new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](x$$37, acc$$17) : acc$$17;\n }, new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](), xs$$71);\n return reverse(xs$$72);\n}\nfunction partition(f$$43, xs$$73) {\n return fold(function (tupledArg$$1, x$$38) {\n return f$$43(x$$38) ? [new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](x$$38, tupledArg$$1[0]), tupledArg$$1[1]] : [tupledArg$$1[0], new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](x$$38, tupledArg$$1[1])];\n }, [new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](), new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"]()], reverse(xs$$73));\n}\nfunction choose(f$$44, xs$$74) {\n const xs$$75 = fold(function (acc$$18, x$$39) {\n const matchValue$$8 = f$$44(x$$39);\n\n if (matchValue$$8 == null) {\n return acc$$18;\n } else {\n const y$$10 = Object(_Option_js__WEBPACK_IMPORTED_MODULE_0__[\"value\"])(matchValue$$8);\n return new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](y$$10, acc$$18);\n }\n }, new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](), xs$$74);\n return reverse(xs$$75);\n}\nfunction contains(value, list, eq) {\n const loop$$1 = function loop$$1($xs$$76$$162) {\n loop$$1: while (true) {\n const xs$$76 = $xs$$76$$162;\n\n if (xs$$76.tail != null) {\n if (eq.Equals(value, xs$$76.head)) {\n return true;\n } else {\n $xs$$76$$162 = xs$$76.tail;\n continue loop$$1;\n }\n } else {\n return false;\n }\n\n break;\n }\n };\n\n return loop$$1(list);\n}\nfunction except(itemsToExclude, array$$2, eq$$1) {\n if (isEmpty(array$$2)) {\n return array$$2;\n } else {\n const cached = Object(_Set_js__WEBPACK_IMPORTED_MODULE_5__[\"createMutable\"])(itemsToExclude, eq$$1);\n return filter(function f$$45(arg00) {\n return Object(_Util_js__WEBPACK_IMPORTED_MODULE_3__[\"addToSet\"])(arg00, cached);\n }, array$$2);\n }\n}\nfunction initialize(n$$2, f$$46) {\n let xs$$78 = new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"]();\n\n for (let i$$15 = 0; i$$15 <= n$$2 - 1; i$$15++) {\n xs$$78 = new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](f$$46(i$$15), xs$$78);\n }\n\n return reverse(xs$$78);\n}\nfunction replicate(n$$3, x$$40) {\n return initialize(n$$3, function (_arg1$$15) {\n return x$$40;\n });\n}\nfunction reduce(f$$47, _arg1$$16) {\n if (_arg1$$16.tail != null) {\n return fold(f$$47, _arg1$$16.head, _arg1$$16.tail);\n } else {\n throw new Error(\"List was empty\");\n }\n}\nfunction reduceBack(f$$48, _arg1$$17) {\n if (_arg1$$17.tail != null) {\n return foldBack(f$$48, _arg1$$17.tail, _arg1$$17.head);\n } else {\n throw new Error(\"List was empty\");\n }\n}\nfunction forAll(f$$49, xs$$79) {\n return fold(function (acc$$19, x$$41) {\n return acc$$19 ? f$$49(x$$41) : false;\n }, true, xs$$79);\n}\nfunction forAll2(f$$50, xs$$80, ys$$17) {\n return fold2(function (acc$$20, x$$42, y$$11) {\n return acc$$20 ? f$$50(x$$42, y$$11) : false;\n }, true, xs$$80, ys$$17);\n}\nfunction exists($f$$51$$180, $_arg1$$18$$181) {\n exists: while (true) {\n const f$$51 = $f$$51$$180,\n _arg1$$18 = $_arg1$$18$$181;\n\n if (_arg1$$18.tail != null) {\n if (f$$51(_arg1$$18.head)) {\n return true;\n } else {\n $f$$51$$180 = f$$51;\n $_arg1$$18$$181 = _arg1$$18.tail;\n continue exists;\n }\n } else {\n return false;\n }\n\n break;\n }\n}\nfunction exists2($f$$52$$182, $bs$$2$$183, $cs$$2$$184) {\n exists2: while (true) {\n const f$$52 = $f$$52$$182,\n bs$$2 = $bs$$2$$183,\n cs$$2 = $cs$$2$$184;\n var $target$$185, x$$44, xs$$82, y$$12, ys$$18;\n\n if (bs$$2.tail != null) {\n if (cs$$2.tail != null) {\n $target$$185 = 1;\n x$$44 = bs$$2.head;\n xs$$82 = bs$$2.tail;\n y$$12 = cs$$2.head;\n ys$$18 = cs$$2.tail;\n } else {\n $target$$185 = 2;\n }\n } else if (cs$$2.tail == null) {\n $target$$185 = 0;\n } else {\n $target$$185 = 2;\n }\n\n switch ($target$$185) {\n case 0:\n {\n return false;\n }\n\n case 1:\n {\n if (f$$52(x$$44, y$$12)) {\n return true;\n } else {\n $f$$52$$182 = f$$52;\n $bs$$2$$183 = xs$$82;\n $cs$$2$$184 = ys$$18;\n continue exists2;\n }\n }\n\n case 2:\n {\n throw new Error(\"Lists had different lengths\");\n }\n }\n\n break;\n }\n}\nfunction unzip(xs$$83) {\n return foldBack(function (tupledArg$$2, tupledArg$$3) {\n return [new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](tupledArg$$2[0], tupledArg$$3[0]), new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](tupledArg$$2[1], tupledArg$$3[1])];\n }, xs$$83, [new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](), new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"]()]);\n}\nfunction unzip3(xs$$84) {\n return foldBack(function (tupledArg$$4, tupledArg$$5) {\n return [new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](tupledArg$$4[0], tupledArg$$5[0]), new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](tupledArg$$4[1], tupledArg$$5[1]), new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](tupledArg$$4[2], tupledArg$$5[2])];\n }, xs$$84, [new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](), new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](), new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"]()]);\n}\nfunction zip(xs$$85, ys$$19) {\n return map2(function (x$$47, y$$15) {\n return [x$$47, y$$15];\n }, xs$$85, ys$$19);\n}\nfunction zip3(xs$$86, ys$$20, zs$$5) {\n return map3(function (x$$48, y$$16, z$$5) {\n return [x$$48, y$$16, z$$5];\n }, xs$$86, ys$$20, zs$$5);\n}\nfunction sort(xs$$87, comparer$$1) {\n let xs$$89;\n const xs$$88 = Object(_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"ofList\"])(xs$$87, Array);\n xs$$88.sort(function comparer$$2(x$$49, y$$17) {\n return comparer$$1.Compare(x$$49, y$$17);\n });\n xs$$89 = xs$$88;\n return ofArray(xs$$89);\n}\nfunction sortBy(projection, xs$$90, comparer$$3) {\n let xs$$92;\n const xs$$91 = Object(_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"ofList\"])(xs$$90, Array);\n xs$$91.sort(function comparer$$4(x$$50, y$$18) {\n return comparer$$3.Compare(projection(x$$50), projection(y$$18));\n });\n xs$$92 = xs$$91;\n return ofArray(xs$$92);\n}\nfunction sortDescending(xs$$93, comparer$$5) {\n let xs$$95;\n const xs$$94 = Object(_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"ofList\"])(xs$$93, Array);\n xs$$94.sort(function comparer$$6(x$$51, y$$19) {\n return comparer$$5.Compare(x$$51, y$$19) * -1;\n });\n xs$$95 = xs$$94;\n return ofArray(xs$$95);\n}\nfunction sortByDescending(projection$$1, xs$$96, comparer$$7) {\n let xs$$98;\n const xs$$97 = Object(_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"ofList\"])(xs$$96, Array);\n xs$$97.sort(function comparer$$8(x$$52, y$$20) {\n return comparer$$7.Compare(projection$$1(x$$52), projection$$1(y$$20)) * -1;\n });\n xs$$98 = xs$$97;\n return ofArray(xs$$98);\n}\nfunction sortWith(comparer$$9, xs$$99) {\n let xs$$101;\n const xs$$100 = Object(_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"ofList\"])(xs$$99, Array);\n xs$$100.sort(comparer$$9);\n xs$$101 = xs$$100;\n return ofArray(xs$$101);\n}\nfunction sum(xs$$102, adder) {\n return fold(function (acc$$21, x$$53) {\n return adder.Add(acc$$21, x$$53);\n }, adder.GetZero(), xs$$102);\n}\nfunction sumBy(f$$53, xs$$103, adder$$1) {\n return fold(function (acc$$22, x$$54) {\n return adder$$1.Add(acc$$22, f$$53(x$$54));\n }, adder$$1.GetZero(), xs$$103);\n}\nfunction maxBy(projection$$2, xs$$104, comparer$$11) {\n return reduce(function (x$$55, y$$21) {\n return comparer$$11.Compare(projection$$2(y$$21), projection$$2(x$$55)) > 0 ? y$$21 : x$$55;\n }, xs$$104);\n}\nfunction max(li, comparer$$12) {\n return reduce(function (x$$56, y$$22) {\n return comparer$$12.Compare(y$$22, x$$56) > 0 ? y$$22 : x$$56;\n }, li);\n}\nfunction minBy(projection$$3, xs$$105, comparer$$13) {\n return reduce(function (x$$57, y$$23) {\n return comparer$$13.Compare(projection$$3(y$$23), projection$$3(x$$57)) > 0 ? x$$57 : y$$23;\n }, xs$$105);\n}\nfunction min(xs$$106, comparer$$14) {\n return reduce(function (x$$58, y$$24) {\n return comparer$$14.Compare(y$$24, x$$58) > 0 ? x$$58 : y$$24;\n }, xs$$106);\n}\nfunction average(xs$$107, averager) {\n const total = fold(function (acc$$23, x$$59) {\n return averager.Add(acc$$23, x$$59);\n }, averager.GetZero(), xs$$107);\n return averager.DivideByInt(total, length(xs$$107));\n}\nfunction averageBy(f$$54, xs$$108, averager$$1) {\n const total$$1 = fold(function (acc$$24, x$$60) {\n return averager$$1.Add(acc$$24, f$$54(x$$60));\n }, averager$$1.GetZero(), xs$$108);\n return averager$$1.DivideByInt(total$$1, length(xs$$108));\n}\nfunction permute(f$$55, xs$$109) {\n let xs$$110;\n let array$$3;\n array$$3 = Object(_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"ofList\"])(xs$$109, Array);\n xs$$110 = Object(_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"permute\"])(f$$55, array$$3);\n return ofArray(xs$$110);\n}\nfunction chunkBySize(chunkSize, xs$$111) {\n let xs$$114;\n let xs$$112;\n let array$$4;\n array$$4 = Object(_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"ofList\"])(xs$$111, Array);\n xs$$112 = Object(_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"chunkBySize\"])(chunkSize, array$$4);\n xs$$114 = ofArray(xs$$112);\n return map(function f$$56(xs$$113) {\n return ofArray(xs$$113);\n }, xs$$114);\n}\nfunction skip(i$$16, xs$$115) {\n const skipInner = function skipInner($i$$17$$240, $xs$$116$$241) {\n skipInner: while (true) {\n const i$$17 = $i$$17$$240,\n xs$$116 = $xs$$116$$241;\n\n if (i$$17 === 0) {\n return xs$$116;\n } else if (xs$$116.tail != null) {\n $i$$17$$240 = i$$17 - 1;\n $xs$$116$$241 = xs$$116.tail;\n continue skipInner;\n } else {\n throw new Error(\"The input sequence has an insufficient number of elements.\");\n }\n\n break;\n }\n };\n\n if (i$$16 < 0) {\n throw new Error(\"The input must be non-negative.\");\n } else {\n var $target$$242, i$$20, xs$$119;\n\n if (i$$16 === 0) {\n $target$$242 = 0;\n } else if (i$$16 === 1) {\n if (xs$$115.tail != null) {\n $target$$242 = 1;\n } else {\n $target$$242 = 2;\n i$$20 = i$$16;\n xs$$119 = xs$$115;\n }\n } else {\n $target$$242 = 2;\n i$$20 = i$$16;\n xs$$119 = xs$$115;\n }\n\n switch ($target$$242) {\n case 0:\n {\n return xs$$115;\n }\n\n case 1:\n {\n return xs$$115.tail;\n }\n\n case 2:\n {\n return skipInner(i$$20, xs$$119);\n }\n }\n }\n}\nfunction skipWhile($predicate$$243, $xs$$120$$244) {\n skipWhile: while (true) {\n const predicate = $predicate$$243,\n xs$$120 = $xs$$120$$244;\n var $target$$245, h$$4, t$$4;\n\n if (xs$$120.tail != null) {\n if (predicate(xs$$120.head)) {\n $target$$245 = 0;\n h$$4 = xs$$120.head;\n t$$4 = xs$$120.tail;\n } else {\n $target$$245 = 1;\n }\n } else {\n $target$$245 = 1;\n }\n\n switch ($target$$245) {\n case 0:\n {\n $predicate$$243 = predicate;\n $xs$$120$$244 = t$$4;\n continue skipWhile;\n }\n\n case 1:\n {\n return xs$$120;\n }\n }\n\n break;\n }\n}\nfunction takeSplitAux($error$$246, $i$$21$$247, $acc$$25$$248, $xs$$121$$249) {\n takeSplitAux: while (true) {\n const error = $error$$246,\n i$$21 = $i$$21$$247,\n acc$$25 = $acc$$25$$248,\n xs$$121 = $xs$$121$$249;\n\n if (i$$21 === 0) {\n return [reverse(acc$$25), xs$$121];\n } else if (xs$$121.tail != null) {\n $error$$246 = error;\n $i$$21$$247 = i$$21 - 1;\n $acc$$25$$248 = new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](xs$$121.head, acc$$25);\n $xs$$121$$249 = xs$$121.tail;\n continue takeSplitAux;\n } else {\n if (error) {\n throw new Error(\"The input sequence has an insufficient number of elements.\");\n } else {\n return [reverse(acc$$25), xs$$121];\n }\n }\n\n break;\n }\n}\nfunction take(i$$22, xs$$123) {\n if (i$$22 < 0) {\n throw new Error(\"The input must be non-negative.\");\n } else {\n var $target$$252, i$$25, xs$$124;\n\n if (i$$22 === 0) {\n $target$$252 = 0;\n } else if (i$$22 === 1) {\n if (xs$$123.tail != null) {\n $target$$252 = 1;\n } else {\n $target$$252 = 2;\n i$$25 = i$$22;\n xs$$124 = xs$$123;\n }\n } else {\n $target$$252 = 2;\n i$$25 = i$$22;\n xs$$124 = xs$$123;\n }\n\n switch ($target$$252) {\n case 0:\n {\n return new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"]();\n }\n\n case 1:\n {\n return new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](xs$$123.head, new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"]());\n }\n\n case 2:\n {\n const tuple = takeSplitAux(true, i$$25, new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](), xs$$124);\n return tuple[0];\n }\n }\n }\n}\nfunction takeWhile(predicate$$1, xs$$125) {\n if (xs$$125.tail != null) {\n if (xs$$125.tail.tail == null) {\n if (predicate$$1(xs$$125.head)) {\n return xs$$125;\n } else {\n return xs$$125.tail;\n }\n } else {\n if (!predicate$$1(xs$$125.head)) {\n return new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"]();\n } else {\n return new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](xs$$125.head, takeWhile(predicate$$1, xs$$125.tail));\n }\n }\n } else {\n return xs$$125;\n }\n}\nfunction truncate(i$$26, xs$$127) {\n if (i$$26 < 0) {\n throw new Error(\"The input must be non-negative.\");\n } else {\n var $target$$257, i$$29, xs$$128;\n\n if (i$$26 === 0) {\n $target$$257 = 0;\n } else if (i$$26 === 1) {\n if (xs$$127.tail != null) {\n $target$$257 = 1;\n } else {\n $target$$257 = 2;\n i$$29 = i$$26;\n xs$$128 = xs$$127;\n }\n } else {\n $target$$257 = 2;\n i$$29 = i$$26;\n xs$$128 = xs$$127;\n }\n\n switch ($target$$257) {\n case 0:\n {\n return new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"]();\n }\n\n case 1:\n {\n return new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](xs$$127.head, new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"]());\n }\n\n case 2:\n {\n const tuple$$1 = takeSplitAux(false, i$$29, new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](), xs$$128);\n return tuple$$1[0];\n }\n }\n }\n}\nfunction splitAt(i$$30, xs$$129) {\n if (i$$30 < 0) {\n throw new Error(\"The input must be non-negative.\");\n } else {\n var $target$$260, i$$33, xs$$131;\n\n if (i$$30 === 0) {\n $target$$260 = 0;\n } else if (i$$30 === 1) {\n if (xs$$129.tail != null) {\n $target$$260 = 1;\n } else {\n $target$$260 = 2;\n i$$33 = i$$30;\n xs$$131 = xs$$129;\n }\n } else {\n $target$$260 = 2;\n i$$33 = i$$30;\n xs$$131 = xs$$129;\n }\n\n switch ($target$$260) {\n case 0:\n {\n return [new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](), xs$$129];\n }\n\n case 1:\n {\n return [new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](xs$$129.head, new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"]()), xs$$129.tail];\n }\n\n case 2:\n {\n return takeSplitAux(true, i$$33, new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](), xs$$131);\n }\n }\n }\n}\nfunction outOfRange() {\n throw new Error(\"Index out of range\");\n}\nfunction slice(lower, upper, xs$$132) {\n const lower$$1 = Object(_Option_js__WEBPACK_IMPORTED_MODULE_0__[\"defaultArg\"])(lower, 0) | 0;\n const hasUpper = upper != null;\n\n if (lower$$1 < 0) {\n return outOfRange();\n } else if (hasUpper ? upper < lower$$1 : false) {\n return new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"]();\n } else {\n let lastIndex = -1 | 0;\n let res$$2;\n const state$$13 = new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"]();\n res$$2 = foldIndexed(function f$$57(i$$34, acc$$26, x$$67) {\n lastIndex = i$$34;\n\n if (lower$$1 <= i$$34 ? !hasUpper ? true : i$$34 <= upper : false) {\n return new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](x$$67, acc$$26);\n } else {\n return acc$$26;\n }\n }, state$$13, xs$$132);\n\n if (lower$$1 > lastIndex + 1 ? true : hasUpper ? upper > lastIndex : false) {\n outOfRange();\n } else {\n void null;\n }\n\n return reverse(res$$2);\n }\n}\nfunction distinctBy(projection$$4, xs$$134, eq$$2) {\n const hashSet = Object(_Set_js__WEBPACK_IMPORTED_MODULE_5__[\"createMutable\"])([], eq$$2);\n return filter(function f$$58($arg$$1) {\n const arg00$$1 = projection$$4($arg$$1);\n return Object(_Util_js__WEBPACK_IMPORTED_MODULE_3__[\"addToSet\"])(arg00$$1, hashSet);\n }, xs$$134);\n}\nfunction distinct(xs$$136, eq$$3) {\n return distinctBy(function (x$$68) {\n return x$$68;\n }, xs$$136, eq$$3);\n}\nfunction exactlyOne(xs$$137) {\n if (xs$$137.tail != null) {\n if (xs$$137.tail.tail != null) {\n throw new Error(\"Input list too long\\\\nParameter name: list\");\n } else {\n return xs$$137.head;\n }\n } else {\n throw new Error(\"The input sequence was empty\\\\nParameter name: list\");\n }\n}\nfunction groupBy(projection$$5, xs$$139, eq$$4) {\n const dict = Object(_Map_js__WEBPACK_IMPORTED_MODULE_6__[\"createMutable\"])([], eq$$4);\n let keys = new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"]();\n iterate(function f$$59(v$$2) {\n const key = projection$$5(v$$2);\n const matchValue$$16 = Object(_Util_js__WEBPACK_IMPORTED_MODULE_3__[\"tryGetValue\"])(dict, key, null);\n\n if (matchValue$$16[0]) {\n dict.set(key, new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](v$$2, matchValue$$16[1]));\n } else {\n Object(_Util_js__WEBPACK_IMPORTED_MODULE_3__[\"addToDict\"])(dict, key, new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](v$$2, new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"]()));\n keys = new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](key, keys);\n }\n }, xs$$139);\n let result$$1 = new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"]();\n const xs$$141 = keys;\n iterate(function f$$60(key$$1) {\n result$$1 = new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"]([key$$1, reverse(Object(_Util_js__WEBPACK_IMPORTED_MODULE_3__[\"getItemFromDict\"])(dict, key$$1))], result$$1);\n }, xs$$141);\n return result$$1;\n}\nfunction countBy(projection$$6, xs$$142, eq$$5) {\n const dict$$1 = Object(_Map_js__WEBPACK_IMPORTED_MODULE_6__[\"createMutable\"])([], eq$$5);\n let keys$$1 = new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"]();\n iterate(function f$$61(v$$3) {\n const key$$2 = projection$$6(v$$3);\n const matchValue$$17 = Object(_Util_js__WEBPACK_IMPORTED_MODULE_3__[\"tryGetValue\"])(dict$$1, key$$2, 0);\n\n if (matchValue$$17[0]) {\n dict$$1.set(key$$2, matchValue$$17[1] + 1);\n } else {\n dict$$1.set(key$$2, 1);\n keys$$1 = new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](key$$2, keys$$1);\n }\n }, xs$$142);\n let result$$2 = new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"]();\n const xs$$144 = keys$$1;\n iterate(function f$$62(key$$3) {\n result$$2 = new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"]([key$$3, Object(_Util_js__WEBPACK_IMPORTED_MODULE_3__[\"getItemFromDict\"])(dict$$1, key$$3)], result$$2);\n }, xs$$144);\n return result$$2;\n}\nfunction where(predicate$$2, source) {\n return filter(predicate$$2, source);\n}\nfunction pairwise(source$$1) {\n const xs$$145 = Object(_Seq_js__WEBPACK_IMPORTED_MODULE_2__[\"pairwise\"])(source$$1);\n return ofSeq(xs$$145);\n}\nfunction windowed(windowSize, source$$2) {\n if (windowSize <= 0) {\n throw new Error(\"windowSize must be positive\");\n } else {\n void null;\n }\n\n let res$$3 = new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"]();\n\n for (let i$$35 = length(source$$2); i$$35 >= windowSize; i$$35--) {\n res$$3 = new _Types_js__WEBPACK_IMPORTED_MODULE_1__[\"List\"](slice(i$$35 - windowSize, i$$35 - 1, source$$2), res$$3);\n }\n\n return res$$3;\n}\nfunction splitInto(chunks, source$$3) {\n let xs$$148;\n let xs$$146;\n let array$$5;\n array$$5 = Object(_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"ofList\"])(source$$3, Array);\n xs$$146 = Object(_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"splitInto\"])(chunks, array$$5);\n xs$$148 = ofArray(xs$$146);\n return map(function f$$63(xs$$147) {\n return ofArray(xs$$147);\n }, xs$$148);\n}\nfunction transpose(lists$$1) {\n let xs$$150;\n let source$$5;\n source$$5 = Object(_Seq_js__WEBPACK_IMPORTED_MODULE_2__[\"transpose\"])(lists$$1);\n xs$$150 = Object(_Seq_js__WEBPACK_IMPORTED_MODULE_2__[\"map\"])(ofSeq, source$$5);\n return ofSeq(xs$$150);\n}\n\n//# sourceURL=webpack:///./.fable/fable-library.2.10.1/List.js?");
182
-
183
- /***/ }),
184
-
185
- /***/ "./.fable/fable-library.2.10.1/Long.js":
186
- /*!*********************************************!*\
187
- !*** ./.fable/fable-library.2.10.1/Long.js ***!
188
- \*********************************************/
189
- /*! exports provided: default, get_Zero, get_One, op_Addition, op_Subtraction, op_Multiply, op_Division, op_Modulus, op_UnaryNegation, op_LeftShift, op_RightShift, op_RightShiftUnsigned, op_BitwiseAnd, op_BitwiseOr, op_ExclusiveOr, op_LogicalNot, op_LessThan, op_LessThanOrEqual, op_GreaterThan, op_GreaterThanOrEqual, op_Equality, op_Inequality, equals, compare, fromInt, fromBits, fromBytes, fromNumber, fromString, fromValue, toInt, toBytes, toNumber, toString, getLowBits, getHighBits, getLowBitsUnsigned, getHighBitsUnsigned, abs, fromInteger, parse, tryParse, unixEpochMillisecondsToTicks, ticksToUnixEpochMilliseconds, makeRangeStepFunction */
190
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
191
-
192
- "use strict";
193
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"get_Zero\", function() { return get_Zero; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"get_One\", function() { return get_One; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_Addition\", function() { return op_Addition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_Subtraction\", function() { return op_Subtraction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_Multiply\", function() { return op_Multiply; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_Division\", function() { return op_Division; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_Modulus\", function() { return op_Modulus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_UnaryNegation\", function() { return op_UnaryNegation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_LeftShift\", function() { return op_LeftShift; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_RightShift\", function() { return op_RightShift; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_RightShiftUnsigned\", function() { return op_RightShiftUnsigned; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_BitwiseAnd\", function() { return op_BitwiseAnd; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_BitwiseOr\", function() { return op_BitwiseOr; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_ExclusiveOr\", function() { return op_ExclusiveOr; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_LogicalNot\", function() { return op_LogicalNot; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_LessThan\", function() { return op_LessThan; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_LessThanOrEqual\", function() { return op_LessThanOrEqual; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_GreaterThan\", function() { return op_GreaterThan; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_GreaterThanOrEqual\", function() { return op_GreaterThanOrEqual; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_Equality\", function() { return op_Equality; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_Inequality\", function() { return op_Inequality; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"equals\", function() { return equals; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"compare\", function() { return compare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromInt\", function() { return fromInt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromBits\", function() { return fromBits; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromBytes\", function() { return fromBytes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromNumber\", function() { return fromNumber; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromString\", function() { return fromString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromValue\", function() { return fromValue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toInt\", function() { return toInt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toBytes\", function() { return toBytes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toNumber\", function() { return toNumber; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toString\", function() { return toString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getLowBits\", function() { return getLowBits; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getHighBits\", function() { return getHighBits; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getLowBitsUnsigned\", function() { return getLowBitsUnsigned; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getHighBitsUnsigned\", function() { return getHighBitsUnsigned; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"abs\", function() { return abs; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromInteger\", function() { return fromInteger; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parse\", function() { return parse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryParse\", function() { return tryParse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"unixEpochMillisecondsToTicks\", function() { return unixEpochMillisecondsToTicks; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ticksToUnixEpochMilliseconds\", function() { return ticksToUnixEpochMilliseconds; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeRangeStepFunction\", function() { return makeRangeStepFunction; });\n/* harmony import */ var _Int32__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Int32 */ \"./.fable/fable-library.2.10.1/Int32.js\");\n/* harmony import */ var _lib_long__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lib/long */ \"./.fable/fable-library.2.10.1/lib/long.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_lib_long__WEBPACK_IMPORTED_MODULE_1__[\"Long\"]);\nconst get_Zero = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"ZERO\"];\nconst get_One = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"ONE\"];\nconst op_Addition = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"add\"];\nconst op_Subtraction = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"subtract\"];\nconst op_Multiply = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"multiply\"];\nconst op_Division = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"divide\"];\nconst op_Modulus = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"modulo\"];\nconst op_UnaryNegation = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"negate\"];\nconst op_LeftShift = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"shiftLeft\"];\nconst op_RightShift = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"shiftRight\"];\nconst op_RightShiftUnsigned = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"shiftRightUnsigned\"];\nconst op_BitwiseAnd = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"and\"];\nconst op_BitwiseOr = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"or\"];\nconst op_ExclusiveOr = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"xor\"];\nconst op_LogicalNot = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"not\"];\nconst op_LessThan = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"lessThan\"];\nconst op_LessThanOrEqual = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"lessThanOrEqual\"];\nconst op_GreaterThan = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"greaterThan\"];\nconst op_GreaterThanOrEqual = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"greaterThanOrEqual\"];\nconst op_Equality = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"equals\"];\nconst op_Inequality = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"notEquals\"];\nconst equals = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"equals\"];\nconst compare = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"compare\"];\nconst fromInt = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"fromInt\"];\nconst fromBits = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"fromBits\"];\nconst fromBytes = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"fromBytes\"];\nconst fromNumber = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"fromNumber\"];\nconst fromString = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"fromString\"];\nconst fromValue = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"fromValue\"];\nconst toInt = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"toInt\"];\nconst toBytes = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"toBytes\"];\nconst toNumber = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"toNumber\"];\nconst toString = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"toString\"];\nconst getLowBits = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"getLowBits\"];\nconst getHighBits = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"getHighBits\"];\nconst getLowBitsUnsigned = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"getLowBitsUnsigned\"];\nconst getHighBitsUnsigned = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"getHighBitsUnsigned\"];\nfunction getMaxValue(unsigned, radix, isNegative) {\n switch (radix) {\n case 2: return unsigned ?\n \"1111111111111111111111111111111111111111111111111111111111111111\" :\n (isNegative ? \"1000000000000000000000000000000000000000000000000000000000000000\"\n : \"111111111111111111111111111111111111111111111111111111111111111\");\n case 8: return unsigned ?\n \"1777777777777777777777\" :\n (isNegative ? \"1000000000000000000000\" : \"777777777777777777777\");\n case 10: return unsigned ?\n \"18446744073709551615\" :\n (isNegative ? \"9223372036854775808\" : \"9223372036854775807\");\n case 16: return unsigned ?\n \"FFFFFFFFFFFFFFFF\" :\n (isNegative ? \"8000000000000000\" : \"7FFFFFFFFFFFFFFF\");\n default: throw new Error(\"Invalid radix.\");\n }\n}\nfunction abs(x) {\n if (!x.unsigned && _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"isNegative\"](x)) {\n return op_UnaryNegation(x);\n }\n else {\n return x;\n }\n}\nfunction fromInteger(value, unsigned, kind) {\n let x = value;\n let xh = 0;\n switch (kind) {\n case 0:\n x = value << 24 >> 24;\n xh = x;\n break;\n case 4:\n x = value << 24 >>> 24;\n break;\n case 1:\n x = value << 16 >> 16;\n xh = x;\n break;\n case 5:\n x = value << 16 >>> 16;\n break;\n case 2:\n x = value >> 0;\n xh = x;\n break;\n case 6:\n x = value >>> 0;\n break;\n }\n return _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"fromBits\"](x, xh >> 31, unsigned);\n}\nfunction parse(str, style, unsigned, _bitsize, radix) {\n const res = Object(_Int32__WEBPACK_IMPORTED_MODULE_0__[\"isValid\"])(str, style, radix);\n if (res != null) {\n const lessOrEqual = (x, y) => {\n const len = Math.max(x.length, y.length);\n return x.padStart(len, \"0\") <= y.padStart(len, \"0\");\n };\n const isNegative = res.sign === \"-\";\n const maxValue = getMaxValue(unsigned || res.radix !== 10, res.radix, isNegative);\n if (lessOrEqual(res.digits.toUpperCase(), maxValue)) {\n str = isNegative ? res.sign + res.digits : res.digits;\n return _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"fromString\"](str, unsigned, res.radix);\n }\n }\n throw new Error(\"Input string was not in a correct format.\");\n}\nfunction tryParse(str, style, unsigned, bitsize) {\n try {\n const v = parse(str, style, unsigned, bitsize);\n return [true, v];\n }\n catch (_a) {\n // supress error\n }\n return [false, _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"ZERO\"]];\n}\nfunction unixEpochMillisecondsToTicks(ms, offset) {\n return op_Multiply(op_Addition(op_Addition(_lib_long__WEBPACK_IMPORTED_MODULE_1__[\"fromNumber\"](ms), 62135596800000), offset), 10000);\n}\nfunction ticksToUnixEpochMilliseconds(ticks) {\n return _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"toNumber\"](op_Subtraction(op_Division(ticks, 10000), 62135596800000));\n}\nfunction makeRangeStepFunction(step, last, unsigned) {\n const stepComparedWithZero = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"compare\"](step, unsigned ? _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"UZERO\"] : _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"ZERO\"]);\n if (stepComparedWithZero === 0) {\n throw new Error(\"The step of a range cannot be zero\");\n }\n const stepGreaterThanZero = stepComparedWithZero > 0;\n return (x) => {\n const comparedWithLast = _lib_long__WEBPACK_IMPORTED_MODULE_1__[\"compare\"](x, last);\n if ((stepGreaterThanZero && comparedWithLast <= 0)\n || (!stepGreaterThanZero && comparedWithLast >= 0)) {\n return [x, op_Addition(x, step)];\n }\n else {\n return undefined;\n }\n };\n}\n//# sourceMappingURL=Long.js.map\n\n//# sourceURL=webpack:///./.fable/fable-library.2.10.1/Long.js?");
194
-
195
- /***/ }),
196
-
197
- /***/ "./.fable/fable-library.2.10.1/Map.js":
198
- /*!********************************************!*\
199
- !*** ./.fable/fable-library.2.10.1/Map.js ***!
200
- \********************************************/
201
- /*! exports provided: MapTree$00602, MapTree$00602$reflection, MapTreeModule$$$sizeAux, MapTreeModule$$$size, MapTreeModule$$$empty, MapTreeModule$$$height, MapTreeModule$$$isEmpty, MapTreeModule$$$mk, MapTreeModule$$$rebalance, MapTreeModule$$$add, MapTreeModule$$$find, MapTreeModule$$$tryFind, MapTreeModule$$$partition1, MapTreeModule$$$partitionAux, MapTreeModule$$$partition, MapTreeModule$$$filter1, MapTreeModule$$$filterAux, MapTreeModule$$$filter, MapTreeModule$$$spliceOutSuccessor, MapTreeModule$$$remove, MapTreeModule$$$mem, MapTreeModule$$$iter, MapTreeModule$$$tryPick, MapTreeModule$$$exists, MapTreeModule$$$forall, MapTreeModule$$$map, MapTreeModule$$$mapi, MapTreeModule$$$foldBack, MapTreeModule$$$fold, MapTreeModule$$$foldFromTo, MapTreeModule$$$foldSection, MapTreeModule$$$loop, MapTreeModule$$$toList, MapTreeModule$$$ofList, MapTreeModule$$$mkFromEnumerator, MapTreeModule$$$ofArray, MapTreeModule$$$ofSeq, MapTreeModule$$$copyToArray, MapTreeModule$002EMapIterator$00602, MapTreeModule$002EMapIterator$00602$reflection, MapTreeModule$$$collapseLHS, MapTreeModule$$$mkIterator, MapTreeModule$$$notStarted, MapTreeModule$$$alreadyFinished, MapTreeModule$$$current, MapTreeModule$$$moveNext, MapTreeModule$002EmkIEnumerator$0027$00602, MapTreeModule$002EmkIEnumerator$0027$00602$reflection, MapTreeModule$002EmkIEnumerator$0027$00602$$$$002Ector$$Z26BC498C, MapTreeModule$$$mkIEnumerator, MapTreeModule$$$toSeq, FSharpMap, FSharpMap$reflection, FSharpMap$$$$002Ector$$58ADD115, FSharpMap$$get_Comparer, FSharpMap$$get_Tree, FSharpMap$$Add$$5BDDA1, FSharpMap$$get_IsEmpty, FSharpMap$$get_Item$$2B595, FSharpMap$$TryGetValue$$5BDDA1, FSharpMap$$TryPick$$72321DD7, FSharpMap$$Exists$$Z395DDC35, FSharpMap$$Filter$$Z395DDC35, FSharpMap$$ForAll$$Z395DDC35, FSharpMap$$Fold, FSharpMap$$FoldSection, FSharpMap$$Iterate$$1DCFB91D, FSharpMap$$MapRange$$6DC7247, FSharpMap$$Map$$Z6F6B671C, FSharpMap$$Partition$$Z395DDC35, FSharpMap$$get_Count, FSharpMap$$ContainsKey$$2B595, FSharpMap$$Remove$$2B595, FSharpMap$$TryFind$$2B595, FSharpMap$$ToList, isEmpty, add, find, tryFind, remove, containsKey, iterate, tryPick, pick, exists, filter, partition, forAll, mapRange, map, fold, foldBack, toSeq, findKey, tryFindKey, ofList, ofSeq, ofArray, toList, toArray, empty, createMutable, groupBy, countBy, count */
202
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
203
-
204
- "use strict";
205
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTree$00602\", function() { return MapTree$00602; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTree$00602$reflection\", function() { return MapTree$00602$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$sizeAux\", function() { return MapTreeModule$$$sizeAux; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$size\", function() { return MapTreeModule$$$size; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$empty\", function() { return MapTreeModule$$$empty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$height\", function() { return MapTreeModule$$$height; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$isEmpty\", function() { return MapTreeModule$$$isEmpty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$mk\", function() { return MapTreeModule$$$mk; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$rebalance\", function() { return MapTreeModule$$$rebalance; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$add\", function() { return MapTreeModule$$$add; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$find\", function() { return MapTreeModule$$$find; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$tryFind\", function() { return MapTreeModule$$$tryFind; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$partition1\", function() { return MapTreeModule$$$partition1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$partitionAux\", function() { return MapTreeModule$$$partitionAux; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$partition\", function() { return MapTreeModule$$$partition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$filter1\", function() { return MapTreeModule$$$filter1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$filterAux\", function() { return MapTreeModule$$$filterAux; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$filter\", function() { return MapTreeModule$$$filter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$spliceOutSuccessor\", function() { return MapTreeModule$$$spliceOutSuccessor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$remove\", function() { return MapTreeModule$$$remove; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$mem\", function() { return MapTreeModule$$$mem; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$iter\", function() { return MapTreeModule$$$iter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$tryPick\", function() { return MapTreeModule$$$tryPick; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$exists\", function() { return MapTreeModule$$$exists; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$forall\", function() { return MapTreeModule$$$forall; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$map\", function() { return MapTreeModule$$$map; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$mapi\", function() { return MapTreeModule$$$mapi; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$foldBack\", function() { return MapTreeModule$$$foldBack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$fold\", function() { return MapTreeModule$$$fold; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$foldFromTo\", function() { return MapTreeModule$$$foldFromTo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$foldSection\", function() { return MapTreeModule$$$foldSection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$loop\", function() { return MapTreeModule$$$loop; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$toList\", function() { return MapTreeModule$$$toList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$ofList\", function() { return MapTreeModule$$$ofList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$mkFromEnumerator\", function() { return MapTreeModule$$$mkFromEnumerator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$ofArray\", function() { return MapTreeModule$$$ofArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$ofSeq\", function() { return MapTreeModule$$$ofSeq; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$copyToArray\", function() { return MapTreeModule$$$copyToArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$002EMapIterator$00602\", function() { return MapTreeModule$002EMapIterator$00602; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$002EMapIterator$00602$reflection\", function() { return MapTreeModule$002EMapIterator$00602$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$collapseLHS\", function() { return MapTreeModule$$$collapseLHS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$mkIterator\", function() { return MapTreeModule$$$mkIterator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$notStarted\", function() { return MapTreeModule$$$notStarted; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$alreadyFinished\", function() { return MapTreeModule$$$alreadyFinished; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$current\", function() { return MapTreeModule$$$current; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$moveNext\", function() { return MapTreeModule$$$moveNext; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$002EmkIEnumerator$0027$00602\", function() { return MapTreeModule$002EmkIEnumerator$0027$00602; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$002EmkIEnumerator$0027$00602$reflection\", function() { return MapTreeModule$002EmkIEnumerator$0027$00602$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$002EmkIEnumerator$0027$00602$$$$002Ector$$Z26BC498C\", function() { return MapTreeModule$002EmkIEnumerator$0027$00602$$$$002Ector$$Z26BC498C; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$mkIEnumerator\", function() { return MapTreeModule$$$mkIEnumerator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MapTreeModule$$$toSeq\", function() { return MapTreeModule$$$toSeq; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpMap\", function() { return FSharpMap; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpMap$reflection\", function() { return FSharpMap$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpMap$$$$002Ector$$58ADD115\", function() { return FSharpMap$$$$002Ector$$58ADD115; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpMap$$get_Comparer\", function() { return FSharpMap$$get_Comparer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpMap$$get_Tree\", function() { return FSharpMap$$get_Tree; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpMap$$Add$$5BDDA1\", function() { return FSharpMap$$Add$$5BDDA1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpMap$$get_IsEmpty\", function() { return FSharpMap$$get_IsEmpty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpMap$$get_Item$$2B595\", function() { return FSharpMap$$get_Item$$2B595; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpMap$$TryGetValue$$5BDDA1\", function() { return FSharpMap$$TryGetValue$$5BDDA1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpMap$$TryPick$$72321DD7\", function() { return FSharpMap$$TryPick$$72321DD7; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpMap$$Exists$$Z395DDC35\", function() { return FSharpMap$$Exists$$Z395DDC35; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpMap$$Filter$$Z395DDC35\", function() { return FSharpMap$$Filter$$Z395DDC35; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpMap$$ForAll$$Z395DDC35\", function() { return FSharpMap$$ForAll$$Z395DDC35; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpMap$$Fold\", function() { return FSharpMap$$Fold; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpMap$$FoldSection\", function() { return FSharpMap$$FoldSection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpMap$$Iterate$$1DCFB91D\", function() { return FSharpMap$$Iterate$$1DCFB91D; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpMap$$MapRange$$6DC7247\", function() { return FSharpMap$$MapRange$$6DC7247; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpMap$$Map$$Z6F6B671C\", function() { return FSharpMap$$Map$$Z6F6B671C; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpMap$$Partition$$Z395DDC35\", function() { return FSharpMap$$Partition$$Z395DDC35; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpMap$$get_Count\", function() { return FSharpMap$$get_Count; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpMap$$ContainsKey$$2B595\", function() { return FSharpMap$$ContainsKey$$2B595; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpMap$$Remove$$2B595\", function() { return FSharpMap$$Remove$$2B595; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpMap$$TryFind$$2B595\", function() { return FSharpMap$$TryFind$$2B595; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpMap$$ToList\", function() { return FSharpMap$$ToList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isEmpty\", function() { return isEmpty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"add\", function() { return add; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"find\", function() { return find; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryFind\", function() { return tryFind; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"remove\", function() { return remove; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"containsKey\", function() { return containsKey; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"iterate\", function() { return iterate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryPick\", function() { return tryPick; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pick\", function() { return pick; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"exists\", function() { return exists; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"filter\", function() { return filter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"partition\", function() { return partition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forAll\", function() { return forAll; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mapRange\", function() { return mapRange; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"map\", function() { return map; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fold\", function() { return fold; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"foldBack\", function() { return foldBack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toSeq\", function() { return toSeq; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"findKey\", function() { return findKey; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryFindKey\", function() { return tryFindKey; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ofList\", function() { return ofList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ofSeq\", function() { return ofSeq; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ofArray\", function() { return ofArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toList\", function() { return toList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toArray\", function() { return toArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"empty\", function() { return empty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createMutable\", function() { return createMutable; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"groupBy\", function() { return groupBy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"countBy\", function() { return countBy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"count\", function() { return count; });\n/* harmony import */ var _Types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Types.js */ \"./.fable/fable-library.2.10.1/Types.js\");\n/* harmony import */ var _Reflection_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Reflection.js */ \"./.fable/fable-library.2.10.1/Reflection.js\");\n/* harmony import */ var _Option_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Option.js */ \"./.fable/fable-library.2.10.1/Option.js\");\n/* harmony import */ var _Seq_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Seq.js */ \"./.fable/fable-library.2.10.1/Seq.js\");\n/* harmony import */ var _Util_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Util.js */ \"./.fable/fable-library.2.10.1/Util.js\");\n/* harmony import */ var _String_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./String.js */ \"./.fable/fable-library.2.10.1/String.js\");\n/* harmony import */ var _MutableMap__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./MutableMap */ \"./.fable/fable-library.2.10.1/MutableMap.js\");\n\n\n\n\n\n\n\nconst MapTree$00602 = Object(_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Map_MapTree(tag, name, ...fields) {\n this.tag = tag | 0;\n this.name = name;\n this.fields = fields;\n}, _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"Union\"]);\nfunction MapTree$00602$reflection($gen$$3, $gen$$4) {\n return Object(_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"union_type\"])(\"Map.MapTree`2\", [$gen$$3, $gen$$4], MapTree$00602, () => [\"MapEmpty\", [\"MapOne\", [[\"Item1\", $gen$$3], [\"Item2\", $gen$$4]]], [\"MapNode\", [[\"Item1\", $gen$$3], [\"Item2\", $gen$$4], [\"Item3\", MapTree$00602$reflection($gen$$3, $gen$$4)], [\"Item4\", MapTree$00602$reflection($gen$$3, $gen$$4)], [\"Item5\", _Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"int32_type\"]]]]]);\n}\nfunction MapTreeModule$$$sizeAux($acc$$5, $m$$6) {\n MapTreeModule$$$sizeAux: while (true) {\n const acc = $acc$$5,\n m = $m$$6;\n\n switch (m.tag) {\n case 1:\n {\n return acc + 1 | 0;\n }\n\n case 2:\n {\n $acc$$5 = MapTreeModule$$$sizeAux(acc + 1, m.fields[2]);\n $m$$6 = m.fields[3];\n continue MapTreeModule$$$sizeAux;\n }\n\n default:\n {\n return acc | 0;\n }\n }\n\n break;\n }\n}\nfunction MapTreeModule$$$size(x) {\n return MapTreeModule$$$sizeAux(0, x);\n}\nfunction MapTreeModule$$$empty() {\n return new MapTree$00602(0, \"MapEmpty\");\n}\nfunction MapTreeModule$$$height(_arg1) {\n switch (_arg1.tag) {\n case 1:\n {\n return 1;\n }\n\n case 2:\n {\n return _arg1.fields[4] | 0;\n }\n\n default:\n {\n return 0;\n }\n }\n}\nfunction MapTreeModule$$$isEmpty(m$$1) {\n if (m$$1.tag === 0) {\n return true;\n } else {\n return false;\n }\n}\nfunction MapTreeModule$$$mk(l$$1, k, v, r$$1) {\n var $target$$14;\n\n if (l$$1.tag === 0) {\n if (r$$1.tag === 0) {\n $target$$14 = 0;\n } else {\n $target$$14 = 1;\n }\n } else {\n $target$$14 = 1;\n }\n\n switch ($target$$14) {\n case 0:\n {\n return new MapTree$00602(1, \"MapOne\", k, v);\n }\n\n case 1:\n {\n const hl = MapTreeModule$$$height(l$$1) | 0;\n const hr = MapTreeModule$$$height(r$$1) | 0;\n const m$$2 = (hl < hr ? hr : hl) | 0;\n return new MapTree$00602(2, \"MapNode\", k, v, l$$1, r$$1, m$$2 + 1);\n }\n }\n}\nfunction MapTreeModule$$$rebalance(t1, k$$1, v$$1, t2) {\n const t1h = MapTreeModule$$$height(t1) | 0;\n const t2h = MapTreeModule$$$height(t2) | 0;\n\n if (t2h > t1h + 2) {\n if (t2.tag === 2) {\n if (MapTreeModule$$$height(t2.fields[2]) > t1h + 1) {\n if (t2.fields[2].tag === 2) {\n return MapTreeModule$$$mk(MapTreeModule$$$mk(t1, k$$1, v$$1, t2.fields[2].fields[2]), t2.fields[2].fields[0], t2.fields[2].fields[1], MapTreeModule$$$mk(t2.fields[2].fields[3], t2.fields[0], t2.fields[1], t2.fields[3]));\n } else {\n throw new Error(\"rebalance\");\n }\n } else {\n return MapTreeModule$$$mk(MapTreeModule$$$mk(t1, k$$1, v$$1, t2.fields[2]), t2.fields[0], t2.fields[1], t2.fields[3]);\n }\n } else {\n throw new Error(\"rebalance\");\n }\n } else if (t1h > t2h + 2) {\n if (t1.tag === 2) {\n if (MapTreeModule$$$height(t1.fields[3]) > t2h + 1) {\n if (t1.fields[3].tag === 2) {\n return MapTreeModule$$$mk(MapTreeModule$$$mk(t1.fields[2], t1.fields[0], t1.fields[1], t1.fields[3].fields[2]), t1.fields[3].fields[0], t1.fields[3].fields[1], MapTreeModule$$$mk(t1.fields[3].fields[3], k$$1, v$$1, t2));\n } else {\n throw new Error(\"re balance\");\n }\n } else {\n return MapTreeModule$$$mk(t1.fields[2], t1.fields[0], t1.fields[1], MapTreeModule$$$mk(t1.fields[3], k$$1, v$$1, t2));\n }\n } else {\n throw new Error(\"rebalance\");\n }\n } else {\n return MapTreeModule$$$mk(t1, k$$1, v$$1, t2);\n }\n}\nfunction MapTreeModule$$$add(comparer, k$$2, v$$2, m$$3) {\n switch (m$$3.tag) {\n case 1:\n {\n const c = comparer.Compare(k$$2, m$$3.fields[0]) | 0;\n\n if (c < 0) {\n return new MapTree$00602(2, \"MapNode\", k$$2, v$$2, new MapTree$00602(0, \"MapEmpty\"), m$$3, 2);\n } else if (c === 0) {\n return new MapTree$00602(1, \"MapOne\", k$$2, v$$2);\n } else {\n return new MapTree$00602(2, \"MapNode\", k$$2, v$$2, m$$3, new MapTree$00602(0, \"MapEmpty\"), 2);\n }\n }\n\n case 2:\n {\n const c$$1 = comparer.Compare(k$$2, m$$3.fields[0]) | 0;\n\n if (c$$1 < 0) {\n return MapTreeModule$$$rebalance(MapTreeModule$$$add(comparer, k$$2, v$$2, m$$3.fields[2]), m$$3.fields[0], m$$3.fields[1], m$$3.fields[3]);\n } else if (c$$1 === 0) {\n return new MapTree$00602(2, \"MapNode\", k$$2, v$$2, m$$3.fields[2], m$$3.fields[3], m$$3.fields[4]);\n } else {\n return MapTreeModule$$$rebalance(m$$3.fields[2], m$$3.fields[0], m$$3.fields[1], MapTreeModule$$$add(comparer, k$$2, v$$2, m$$3.fields[3]));\n }\n }\n\n default:\n {\n return new MapTree$00602(1, \"MapOne\", k$$2, v$$2);\n }\n }\n}\nfunction MapTreeModule$$$find($comparer$$1$$23, $k$$3$$24, $m$$4$$25) {\n MapTreeModule$$$find: while (true) {\n const comparer$$1 = $comparer$$1$$23,\n k$$3 = $k$$3$$24,\n m$$4 = $m$$4$$25;\n\n switch (m$$4.tag) {\n case 1:\n {\n const c$$2 = comparer$$1.Compare(k$$3, m$$4.fields[0]) | 0;\n\n if (c$$2 === 0) {\n return m$$4.fields[1];\n } else {\n throw new Error(\"key not found\");\n }\n }\n\n case 2:\n {\n const c$$3 = comparer$$1.Compare(k$$3, m$$4.fields[0]) | 0;\n\n if (c$$3 < 0) {\n $comparer$$1$$23 = comparer$$1;\n $k$$3$$24 = k$$3;\n $m$$4$$25 = m$$4.fields[2];\n continue MapTreeModule$$$find;\n } else if (c$$3 === 0) {\n return m$$4.fields[1];\n } else {\n $comparer$$1$$23 = comparer$$1;\n $k$$3$$24 = k$$3;\n $m$$4$$25 = m$$4.fields[3];\n continue MapTreeModule$$$find;\n }\n }\n\n default:\n {\n throw new Error(\"key not found\");\n }\n }\n\n break;\n }\n}\nfunction MapTreeModule$$$tryFind($comparer$$2$$26, $k$$4$$27, $m$$5$$28) {\n MapTreeModule$$$tryFind: while (true) {\n const comparer$$2 = $comparer$$2$$26,\n k$$4 = $k$$4$$27,\n m$$5 = $m$$5$$28;\n\n switch (m$$5.tag) {\n case 1:\n {\n const c$$4 = comparer$$2.Compare(k$$4, m$$5.fields[0]) | 0;\n\n if (c$$4 === 0) {\n return Object(_Option_js__WEBPACK_IMPORTED_MODULE_2__[\"some\"])(m$$5.fields[1]);\n } else {\n return undefined;\n }\n }\n\n case 2:\n {\n const c$$5 = comparer$$2.Compare(k$$4, m$$5.fields[0]) | 0;\n\n if (c$$5 < 0) {\n $comparer$$2$$26 = comparer$$2;\n $k$$4$$27 = k$$4;\n $m$$5$$28 = m$$5.fields[2];\n continue MapTreeModule$$$tryFind;\n } else if (c$$5 === 0) {\n return Object(_Option_js__WEBPACK_IMPORTED_MODULE_2__[\"some\"])(m$$5.fields[1]);\n } else {\n $comparer$$2$$26 = comparer$$2;\n $k$$4$$27 = k$$4;\n $m$$5$$28 = m$$5.fields[3];\n continue MapTreeModule$$$tryFind;\n }\n }\n\n default:\n {\n return undefined;\n }\n }\n\n break;\n }\n}\nfunction MapTreeModule$$$partition1(comparer$$3, f, k$$5, v$$3, acc1, acc2) {\n if (f(k$$5, v$$3)) {\n return [MapTreeModule$$$add(comparer$$3, k$$5, v$$3, acc1), acc2];\n } else {\n return [acc1, MapTreeModule$$$add(comparer$$3, k$$5, v$$3, acc2)];\n }\n}\nfunction MapTreeModule$$$partitionAux($comparer$$4$$35, $f$$1$$36, $s$$37, $acc_0$$38, $acc_1$$39) {\n MapTreeModule$$$partitionAux: while (true) {\n const comparer$$4 = $comparer$$4$$35,\n f$$1 = $f$$1$$36,\n s = $s$$37,\n acc_0 = $acc_0$$38,\n acc_1 = $acc_1$$39;\n\n switch (s.tag) {\n case 1:\n {\n return MapTreeModule$$$partition1(comparer$$4, f$$1, s.fields[0], s.fields[1], acc_0, acc_1);\n }\n\n case 2:\n {\n const acc$$2 = MapTreeModule$$$partitionAux(comparer$$4, f$$1, s.fields[3], acc_0, acc_1);\n const acc$$3 = MapTreeModule$$$partition1(comparer$$4, f$$1, s.fields[0], s.fields[1], acc$$2[0], acc$$2[1]);\n $comparer$$4$$35 = comparer$$4;\n $f$$1$$36 = f$$1;\n $s$$37 = s.fields[2];\n $acc_0$$38 = acc$$3[0];\n $acc_1$$39 = acc$$3[1];\n continue MapTreeModule$$$partitionAux;\n }\n\n default:\n {\n return [acc_0, acc_1];\n }\n }\n\n break;\n }\n}\nfunction MapTreeModule$$$partition(comparer$$5, f$$2, s$$1) {\n return MapTreeModule$$$partitionAux(comparer$$5, f$$2, s$$1, MapTreeModule$$$empty(), MapTreeModule$$$empty());\n}\nfunction MapTreeModule$$$filter1(comparer$$6, f$$3, k$$8, v$$6, acc$$4) {\n if (f$$3(k$$8, v$$6)) {\n return MapTreeModule$$$add(comparer$$6, k$$8, v$$6, acc$$4);\n } else {\n return acc$$4;\n }\n}\nfunction MapTreeModule$$$filterAux($comparer$$7$$48, $f$$4$$49, $s$$2$$50, $acc$$5$$51) {\n MapTreeModule$$$filterAux: while (true) {\n const comparer$$7 = $comparer$$7$$48,\n f$$4 = $f$$4$$49,\n s$$2 = $s$$2$$50,\n acc$$5 = $acc$$5$$51;\n\n switch (s$$2.tag) {\n case 1:\n {\n return MapTreeModule$$$filter1(comparer$$7, f$$4, s$$2.fields[0], s$$2.fields[1], acc$$5);\n }\n\n case 2:\n {\n const acc$$6 = MapTreeModule$$$filterAux(comparer$$7, f$$4, s$$2.fields[2], acc$$5);\n const acc$$7 = MapTreeModule$$$filter1(comparer$$7, f$$4, s$$2.fields[0], s$$2.fields[1], acc$$6);\n $comparer$$7$$48 = comparer$$7;\n $f$$4$$49 = f$$4;\n $s$$2$$50 = s$$2.fields[3];\n $acc$$5$$51 = acc$$7;\n continue MapTreeModule$$$filterAux;\n }\n\n default:\n {\n return acc$$5;\n }\n }\n\n break;\n }\n}\nfunction MapTreeModule$$$filter(comparer$$8, f$$5, s$$3) {\n return MapTreeModule$$$filterAux(comparer$$8, f$$5, s$$3, MapTreeModule$$$empty());\n}\nfunction MapTreeModule$$$spliceOutSuccessor(m$$6) {\n switch (m$$6.tag) {\n case 1:\n {\n return [m$$6.fields[0], m$$6.fields[1], new MapTree$00602(0, \"MapEmpty\")];\n }\n\n case 2:\n {\n if (m$$6.fields[2].tag === 0) {\n return [m$$6.fields[0], m$$6.fields[1], m$$6.fields[3]];\n } else {\n const patternInput = MapTreeModule$$$spliceOutSuccessor(m$$6.fields[2]);\n return [patternInput[0], patternInput[1], MapTreeModule$$$mk(patternInput[2], m$$6.fields[0], m$$6.fields[1], m$$6.fields[3])];\n }\n }\n\n default:\n {\n throw new Error(\"internal error: Map.spliceOutSuccessor\");\n }\n }\n}\nfunction MapTreeModule$$$remove(comparer$$9, k$$11, m$$7) {\n switch (m$$7.tag) {\n case 1:\n {\n const c$$6 = comparer$$9.Compare(k$$11, m$$7.fields[0]) | 0;\n\n if (c$$6 === 0) {\n return new MapTree$00602(0, \"MapEmpty\");\n } else {\n return m$$7;\n }\n }\n\n case 2:\n {\n const c$$7 = comparer$$9.Compare(k$$11, m$$7.fields[0]) | 0;\n\n if (c$$7 < 0) {\n return MapTreeModule$$$rebalance(MapTreeModule$$$remove(comparer$$9, k$$11, m$$7.fields[2]), m$$7.fields[0], m$$7.fields[1], m$$7.fields[3]);\n } else if (c$$7 === 0) {\n if (m$$7.fields[2].tag === 0) {\n return m$$7.fields[3];\n } else if (m$$7.fields[3].tag === 0) {\n return m$$7.fields[2];\n } else {\n const patternInput$$1 = MapTreeModule$$$spliceOutSuccessor(m$$7.fields[3]);\n return MapTreeModule$$$mk(m$$7.fields[2], patternInput$$1[0], patternInput$$1[1], patternInput$$1[2]);\n }\n } else {\n return MapTreeModule$$$rebalance(m$$7.fields[2], m$$7.fields[0], m$$7.fields[1], MapTreeModule$$$remove(comparer$$9, k$$11, m$$7.fields[3]));\n }\n }\n\n default:\n {\n return MapTreeModule$$$empty();\n }\n }\n}\nfunction MapTreeModule$$$mem($comparer$$10$$59, $k$$12$$60, $m$$8$$61) {\n MapTreeModule$$$mem: while (true) {\n const comparer$$10 = $comparer$$10$$59,\n k$$12 = $k$$12$$60,\n m$$8 = $m$$8$$61;\n\n switch (m$$8.tag) {\n case 1:\n {\n return comparer$$10.Compare(k$$12, m$$8.fields[0]) === 0;\n }\n\n case 2:\n {\n const c$$8 = comparer$$10.Compare(k$$12, m$$8.fields[0]) | 0;\n\n if (c$$8 < 0) {\n $comparer$$10$$59 = comparer$$10;\n $k$$12$$60 = k$$12;\n $m$$8$$61 = m$$8.fields[2];\n continue MapTreeModule$$$mem;\n } else if (c$$8 === 0) {\n return true;\n } else {\n $comparer$$10$$59 = comparer$$10;\n $k$$12$$60 = k$$12;\n $m$$8$$61 = m$$8.fields[3];\n continue MapTreeModule$$$mem;\n }\n }\n\n default:\n {\n return false;\n }\n }\n\n break;\n }\n}\nfunction MapTreeModule$$$iter($f$$6$$62, $m$$9$$63) {\n MapTreeModule$$$iter: while (true) {\n const f$$6 = $f$$6$$62,\n m$$9 = $m$$9$$63;\n\n switch (m$$9.tag) {\n case 1:\n {\n f$$6(m$$9.fields[0], m$$9.fields[1]);\n break;\n }\n\n case 2:\n {\n MapTreeModule$$$iter(f$$6, m$$9.fields[2]);\n f$$6(m$$9.fields[0], m$$9.fields[1]);\n $f$$6$$62 = f$$6;\n $m$$9$$63 = m$$9.fields[3];\n continue MapTreeModule$$$iter;\n break;\n }\n\n default:\n {\n void null;\n }\n }\n\n break;\n }\n}\nfunction MapTreeModule$$$tryPick($f$$7$$64, $m$$10$$65) {\n MapTreeModule$$$tryPick: while (true) {\n const f$$7 = $f$$7$$64,\n m$$10 = $m$$10$$65;\n\n switch (m$$10.tag) {\n case 1:\n {\n return f$$7(m$$10.fields[0], m$$10.fields[1]);\n }\n\n case 2:\n {\n const matchValue$$2 = MapTreeModule$$$tryPick(f$$7, m$$10.fields[2]);\n\n if (matchValue$$2 == null) {\n const matchValue$$3 = f$$7(m$$10.fields[0], m$$10.fields[1]);\n\n if (matchValue$$3 == null) {\n $f$$7$$64 = f$$7;\n $m$$10$$65 = m$$10.fields[3];\n continue MapTreeModule$$$tryPick;\n } else {\n return matchValue$$3;\n }\n } else {\n return matchValue$$2;\n }\n }\n\n default:\n {\n return undefined;\n }\n }\n\n break;\n }\n}\nfunction MapTreeModule$$$exists($f$$8$$66, $m$$11$$67) {\n MapTreeModule$$$exists: while (true) {\n const f$$8 = $f$$8$$66,\n m$$11 = $m$$11$$67;\n\n switch (m$$11.tag) {\n case 1:\n {\n return f$$8(m$$11.fields[0], m$$11.fields[1]);\n }\n\n case 2:\n {\n if (MapTreeModule$$$exists(f$$8, m$$11.fields[2]) ? true : f$$8(m$$11.fields[0], m$$11.fields[1])) {\n return true;\n } else {\n $f$$8$$66 = f$$8;\n $m$$11$$67 = m$$11.fields[3];\n continue MapTreeModule$$$exists;\n }\n }\n\n default:\n {\n return false;\n }\n }\n\n break;\n }\n}\nfunction MapTreeModule$$$forall($f$$9$$68, $m$$12$$69) {\n MapTreeModule$$$forall: while (true) {\n const f$$9 = $f$$9$$68,\n m$$12 = $m$$12$$69;\n\n switch (m$$12.tag) {\n case 1:\n {\n return f$$9(m$$12.fields[0], m$$12.fields[1]);\n }\n\n case 2:\n {\n if (MapTreeModule$$$forall(f$$9, m$$12.fields[2]) ? f$$9(m$$12.fields[0], m$$12.fields[1]) : false) {\n $f$$9$$68 = f$$9;\n $m$$12$$69 = m$$12.fields[3];\n continue MapTreeModule$$$forall;\n } else {\n return false;\n }\n }\n\n default:\n {\n return true;\n }\n }\n\n break;\n }\n}\nfunction MapTreeModule$$$map(f$$10, m$$13) {\n switch (m$$13.tag) {\n case 1:\n {\n return new MapTree$00602(1, \"MapOne\", m$$13.fields[0], f$$10(m$$13.fields[1]));\n }\n\n case 2:\n {\n const l2 = MapTreeModule$$$map(f$$10, m$$13.fields[2]);\n const v2$$16 = f$$10(m$$13.fields[1]);\n const r2 = MapTreeModule$$$map(f$$10, m$$13.fields[3]);\n return new MapTree$00602(2, \"MapNode\", m$$13.fields[0], v2$$16, l2, r2, m$$13.fields[4]);\n }\n\n default:\n {\n return MapTreeModule$$$empty();\n }\n }\n}\nfunction MapTreeModule$$$mapi(f$$11, m$$14) {\n switch (m$$14.tag) {\n case 1:\n {\n return new MapTree$00602(1, \"MapOne\", m$$14.fields[0], f$$11(m$$14.fields[0], m$$14.fields[1]));\n }\n\n case 2:\n {\n const l2$$1 = MapTreeModule$$$mapi(f$$11, m$$14.fields[2]);\n const v2$$17 = f$$11(m$$14.fields[0], m$$14.fields[1]);\n const r2$$1 = MapTreeModule$$$mapi(f$$11, m$$14.fields[3]);\n return new MapTree$00602(2, \"MapNode\", m$$14.fields[0], v2$$17, l2$$1, r2$$1, m$$14.fields[4]);\n }\n\n default:\n {\n return MapTreeModule$$$empty();\n }\n }\n}\nfunction MapTreeModule$$$foldBack($f$$12$$74, $m$$15$$75, $x$$1$$76) {\n MapTreeModule$$$foldBack: while (true) {\n const f$$12 = $f$$12$$74,\n m$$15 = $m$$15$$75,\n x$$1 = $x$$1$$76;\n\n switch (m$$15.tag) {\n case 1:\n {\n return f$$12(m$$15.fields[0], m$$15.fields[1], x$$1);\n }\n\n case 2:\n {\n const x$$2 = MapTreeModule$$$foldBack(f$$12, m$$15.fields[3], x$$1);\n const x$$3 = f$$12(m$$15.fields[0], m$$15.fields[1], x$$2);\n $f$$12$$74 = f$$12;\n $m$$15$$75 = m$$15.fields[2];\n $x$$1$$76 = x$$3;\n continue MapTreeModule$$$foldBack;\n }\n\n default:\n {\n return x$$1;\n }\n }\n\n break;\n }\n}\nfunction MapTreeModule$$$fold($f$$13$$77, $x$$4$$78, $m$$16$$79) {\n MapTreeModule$$$fold: while (true) {\n const f$$13 = $f$$13$$77,\n x$$4 = $x$$4$$78,\n m$$16 = $m$$16$$79;\n\n switch (m$$16.tag) {\n case 1:\n {\n return f$$13(x$$4, m$$16.fields[0], m$$16.fields[1]);\n }\n\n case 2:\n {\n const x$$5 = MapTreeModule$$$fold(f$$13, x$$4, m$$16.fields[2]);\n const x$$6 = f$$13(x$$5, m$$16.fields[0], m$$16.fields[1]);\n $f$$13$$77 = f$$13;\n $x$$4$$78 = x$$6;\n $m$$16$$79 = m$$16.fields[3];\n continue MapTreeModule$$$fold;\n }\n\n default:\n {\n return x$$4;\n }\n }\n\n break;\n }\n}\nfunction MapTreeModule$$$foldFromTo(comparer$$11, lo, hi, f$$14, m$$17, x$$7) {\n switch (m$$17.tag) {\n case 1:\n {\n const cLoKey = comparer$$11.Compare(lo, m$$17.fields[0]) | 0;\n const cKeyHi = comparer$$11.Compare(m$$17.fields[0], hi) | 0;\n const x$$8 = (cLoKey <= 0 ? cKeyHi <= 0 : false) ? f$$14(m$$17.fields[0], m$$17.fields[1], x$$7) : x$$7;\n return x$$8;\n }\n\n case 2:\n {\n const cLoKey$$1 = comparer$$11.Compare(lo, m$$17.fields[0]) | 0;\n const cKeyHi$$1 = comparer$$11.Compare(m$$17.fields[0], hi) | 0;\n const x$$9 = cLoKey$$1 < 0 ? MapTreeModule$$$foldFromTo(comparer$$11, lo, hi, f$$14, m$$17.fields[2], x$$7) : x$$7;\n const x$$10 = (cLoKey$$1 <= 0 ? cKeyHi$$1 <= 0 : false) ? f$$14(m$$17.fields[0], m$$17.fields[1], x$$9) : x$$9;\n const x$$11 = cKeyHi$$1 < 0 ? MapTreeModule$$$foldFromTo(comparer$$11, lo, hi, f$$14, m$$17.fields[3], x$$10) : x$$10;\n return x$$11;\n }\n\n default:\n {\n return x$$7;\n }\n }\n}\nfunction MapTreeModule$$$foldSection(comparer$$12, lo$$1, hi$$1, f$$15, m$$18, x$$12) {\n if (comparer$$12.Compare(lo$$1, hi$$1) === 1) {\n return x$$12;\n } else {\n return MapTreeModule$$$foldFromTo(comparer$$12, lo$$1, hi$$1, f$$15, m$$18, x$$12);\n }\n}\nfunction MapTreeModule$$$loop($m$$19$$92, $acc$$8$$93) {\n MapTreeModule$$$loop: while (true) {\n const m$$19 = $m$$19$$92,\n acc$$8 = $acc$$8$$93;\n\n switch (m$$19.tag) {\n case 1:\n {\n return new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"]([m$$19.fields[0], m$$19.fields[1]], acc$$8);\n }\n\n case 2:\n {\n $m$$19$$92 = m$$19.fields[2];\n $acc$$8$$93 = new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"]([m$$19.fields[0], m$$19.fields[1]], MapTreeModule$$$loop(m$$19.fields[3], acc$$8));\n continue MapTreeModule$$$loop;\n }\n\n default:\n {\n return acc$$8;\n }\n }\n\n break;\n }\n}\nfunction MapTreeModule$$$toList(m$$20) {\n return MapTreeModule$$$loop(m$$20, new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"]());\n}\nfunction MapTreeModule$$$ofList(comparer$$13, l$$20) {\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"fold\"])(function (acc$$9, tupledArg) {\n return MapTreeModule$$$add(comparer$$13, tupledArg[0], tupledArg[1], acc$$9);\n }, MapTreeModule$$$empty(), l$$20);\n}\nfunction MapTreeModule$$$mkFromEnumerator($comparer$$14$$97, $acc$$10$$98, $e$$99) {\n MapTreeModule$$$mkFromEnumerator: while (true) {\n const comparer$$14 = $comparer$$14$$97,\n acc$$10 = $acc$$10$$98,\n e = $e$$99;\n\n if (e.MoveNext()) {\n const patternInput$$2 = e.Current;\n $comparer$$14$$97 = comparer$$14;\n $acc$$10$$98 = MapTreeModule$$$add(comparer$$14, patternInput$$2[0], patternInput$$2[1], acc$$10);\n $e$$99 = e;\n continue MapTreeModule$$$mkFromEnumerator;\n } else {\n return acc$$10;\n }\n\n break;\n }\n}\nfunction MapTreeModule$$$ofArray(comparer$$15, arr) {\n let res$$2 = MapTreeModule$$$empty();\n\n for (let i = 0; i <= arr.length - 1; i++) {\n const patternInput$$3 = arr[i];\n res$$2 = MapTreeModule$$$add(comparer$$15, patternInput$$3[0], patternInput$$3[1], res$$2);\n }\n\n return res$$2;\n}\nfunction MapTreeModule$$$ofSeq(comparer$$16, c$$9) {\n const ie = Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"getEnumerator\"])(c$$9);\n\n try {\n return MapTreeModule$$$mkFromEnumerator(comparer$$16, MapTreeModule$$$empty(), ie);\n } finally {\n if (Object(_Util_js__WEBPACK_IMPORTED_MODULE_4__[\"isDisposable\"])(ie)) {\n ie.Dispose();\n } else {\n void null;\n }\n }\n}\nfunction MapTreeModule$$$copyToArray(s$$4, arr$$1, i$$1) {\n let j = i$$1 | 0;\n MapTreeModule$$$iter(function f$$16(x$$15, y$$2) {\n arr$$1[j] = [x$$15, y$$2];\n j = j + 1;\n }, s$$4);\n}\nconst MapTreeModule$002EMapIterator$00602 = Object(_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Map_MapTreeModule_MapIterator(stack, started) {\n this.stack = stack;\n this.started = started;\n}, _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"Record\"]);\nfunction MapTreeModule$002EMapIterator$00602$reflection($gen$$109, $gen$$110) {\n return Object(_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"record_type\"])(\"Map.MapTreeModule.MapIterator`2\", [$gen$$109, $gen$$110], MapTreeModule$002EMapIterator$00602, () => [[\"stack\", Object(_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"list_type\"])(MapTree$00602$reflection($gen$$109, $gen$$110))], [\"started\", _Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"bool_type\"]]]);\n}\nfunction MapTreeModule$$$collapseLHS($stack$$111) {\n MapTreeModule$$$collapseLHS: while (true) {\n const stack = $stack$$111;\n\n if (stack.tail != null) {\n if (stack.head.tag === 1) {\n return stack;\n } else if (stack.head.tag === 2) {\n $stack$$111 = new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](stack.head.fields[2], new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](new MapTree$00602(1, \"MapOne\", stack.head.fields[0], stack.head.fields[1]), new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](stack.head.fields[3], stack.tail)));\n continue MapTreeModule$$$collapseLHS;\n } else {\n $stack$$111 = stack.tail;\n continue MapTreeModule$$$collapseLHS;\n }\n } else {\n return new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"]();\n }\n\n break;\n }\n}\nfunction MapTreeModule$$$mkIterator(s$$5) {\n return new MapTreeModule$002EMapIterator$00602(MapTreeModule$$$collapseLHS(new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](s$$5, new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"]())), false);\n}\nfunction MapTreeModule$$$notStarted() {\n throw new Error(\"enumeration not started\");\n}\nfunction MapTreeModule$$$alreadyFinished() {\n throw new Error(\"enumeration already finished\");\n}\nfunction MapTreeModule$$$current(i$$2) {\n if (i$$2.started) {\n const matchValue$$4 = i$$2.stack;\n\n if (matchValue$$4.tail == null) {\n return MapTreeModule$$$alreadyFinished();\n } else if (matchValue$$4.head.tag === 1) {\n return [matchValue$$4.head.fields[0], matchValue$$4.head.fields[1]];\n } else {\n throw new Error(\"Please report error: Map iterator, unexpected stack for current\");\n }\n } else {\n return MapTreeModule$$$notStarted();\n }\n}\nfunction MapTreeModule$$$moveNext(i$$3) {\n if (i$$3.started) {\n const matchValue$$5 = i$$3.stack;\n\n if (matchValue$$5.tail == null) {\n return false;\n } else if (matchValue$$5.head.tag === 1) {\n i$$3.stack = MapTreeModule$$$collapseLHS(matchValue$$5.tail);\n return !(i$$3.stack.tail == null);\n } else {\n throw new Error(\"Please report error: Map iterator, unexpected stack for moveNext\");\n }\n } else {\n i$$3.started = true;\n return !(i$$3.stack.tail == null);\n }\n}\nconst MapTreeModule$002EmkIEnumerator$0027$00602 = Object(_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Map_MapTreeModule_mkIEnumerator_(s$$6) {\n const $this$$1 = this;\n $this$$1.s = s$$6;\n $this$$1.i = MapTreeModule$$$mkIterator($this$$1.s);\n void null;\n});\nfunction MapTreeModule$002EmkIEnumerator$0027$00602$reflection($gen$$115, $gen$$116) {\n return Object(_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"class_type\"])(\"Map.MapTreeModule.mkIEnumerator'`2\", [$gen$$115, $gen$$116], MapTreeModule$002EmkIEnumerator$0027$00602);\n}\nfunction MapTreeModule$002EmkIEnumerator$0027$00602$$$$002Ector$$Z26BC498C(s$$6) {\n return this instanceof MapTreeModule$002EmkIEnumerator$0027$00602 ? MapTreeModule$002EmkIEnumerator$0027$00602.call(this, s$$6) : new MapTreeModule$002EmkIEnumerator$0027$00602(s$$6);\n}\nObject.defineProperty(MapTreeModule$002EmkIEnumerator$0027$00602.prototype, \"Current\", {\n \"get\": function () {\n const __ = this;\n return MapTreeModule$$$current(__.i);\n }\n});\n\nMapTreeModule$002EmkIEnumerator$0027$00602.prototype.MoveNext = function () {\n const __$$1 = this;\n return MapTreeModule$$$moveNext(__$$1.i);\n};\n\nMapTreeModule$002EmkIEnumerator$0027$00602.prototype.Reset = function () {\n const __$$2 = this;\n __$$2.i = MapTreeModule$$$mkIterator(__$$2.s);\n};\n\nMapTreeModule$002EmkIEnumerator$0027$00602.prototype.Dispose = function () {\n void null;\n};\n\nfunction MapTreeModule$$$mkIEnumerator(s$$7) {\n return MapTreeModule$002EmkIEnumerator$0027$00602$$$$002Ector$$Z26BC498C(s$$7);\n}\nfunction MapTreeModule$$$toSeq(s$$8) {\n const en = MapTreeModule$$$mkIEnumerator(s$$8);\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"unfold\"])(function generator(en$$1) {\n if (en$$1.MoveNext()) {\n return [en$$1.Current, en$$1];\n } else {\n return undefined;\n }\n }, en);\n}\nconst FSharpMap = Object(_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Map_Map(comparer$$17, tree) {\n const $this$$2 = this;\n $this$$2.comparer = comparer$$17;\n $this$$2.tree = tree;\n void null;\n});\nfunction FSharpMap$reflection($gen$$120, $gen$$121) {\n return Object(_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"class_type\"])(\"Map.FSharpMap\", [$gen$$120, $gen$$121], FSharpMap);\n}\nfunction FSharpMap$$$$002Ector$$58ADD115(comparer$$17, tree) {\n return this instanceof FSharpMap ? FSharpMap.call(this, comparer$$17, tree) : new FSharpMap(comparer$$17, tree);\n}\nfunction FSharpMap$$get_Comparer(__$$4) {\n return __$$4.comparer;\n}\nfunction FSharpMap$$get_Tree(__$$5) {\n return __$$5.tree;\n}\nfunction FSharpMap$$Add$$5BDDA1(__$$6, k$$28, v$$24) {\n return FSharpMap$$$$002Ector$$58ADD115(__$$6.comparer, MapTreeModule$$$add(__$$6.comparer, k$$28, v$$24, __$$6.tree));\n}\nfunction FSharpMap$$get_IsEmpty(__$$7) {\n return MapTreeModule$$$isEmpty(__$$7.tree);\n}\nfunction FSharpMap$$get_Item$$2B595(__$$8, k$$29) {\n return MapTreeModule$$$find(__$$8.comparer, k$$29, __$$8.tree);\n}\nfunction FSharpMap$$TryGetValue$$5BDDA1(__$$9, k$$30, defValue) {\n const matchValue$$6 = MapTreeModule$$$tryFind(__$$9.comparer, k$$30, __$$9.tree);\n\n if (matchValue$$6 == null) {\n return [false, defValue];\n } else {\n const v$$25 = Object(_Option_js__WEBPACK_IMPORTED_MODULE_2__[\"value\"])(matchValue$$6);\n return [true, v$$25];\n }\n}\nfunction FSharpMap$$TryPick$$72321DD7(__$$10, f$$17) {\n return MapTreeModule$$$tryPick(f$$17, __$$10.tree);\n}\nfunction FSharpMap$$Exists$$Z395DDC35(__$$11, f$$18) {\n return MapTreeModule$$$exists(f$$18, __$$11.tree);\n}\nfunction FSharpMap$$Filter$$Z395DDC35(__$$12, f$$19) {\n return FSharpMap$$$$002Ector$$58ADD115(__$$12.comparer, MapTreeModule$$$filter(__$$12.comparer, f$$19, __$$12.tree));\n}\nfunction FSharpMap$$ForAll$$Z395DDC35(__$$13, f$$20) {\n return MapTreeModule$$$forall(f$$20, __$$13.tree);\n}\nfunction FSharpMap$$Fold(__$$14, f$$21, acc$$11) {\n return MapTreeModule$$$foldBack(f$$21, __$$14.tree, acc$$11);\n}\nfunction FSharpMap$$FoldSection(__$$15, lo$$2, hi$$2, f$$22, acc$$12) {\n return MapTreeModule$$$foldSection(__$$15.comparer, lo$$2, hi$$2, f$$22, __$$15.tree, acc$$12);\n}\nfunction FSharpMap$$Iterate$$1DCFB91D(__$$16, f$$23) {\n MapTreeModule$$$iter(f$$23, __$$16.tree);\n}\nfunction FSharpMap$$MapRange$$6DC7247(__$$17, f$$24) {\n return FSharpMap$$$$002Ector$$58ADD115(__$$17.comparer, MapTreeModule$$$map(f$$24, __$$17.tree));\n}\nfunction FSharpMap$$Map$$Z6F6B671C(__$$18, f$$25) {\n return FSharpMap$$$$002Ector$$58ADD115(__$$18.comparer, MapTreeModule$$$mapi(f$$25, __$$18.tree));\n}\nfunction FSharpMap$$Partition$$Z395DDC35(__$$19, f$$26) {\n const patternInput$$4 = MapTreeModule$$$partition(__$$19.comparer, f$$26, __$$19.tree);\n return [FSharpMap$$$$002Ector$$58ADD115(__$$19.comparer, patternInput$$4[0]), FSharpMap$$$$002Ector$$58ADD115(__$$19.comparer, patternInput$$4[1])];\n}\nfunction FSharpMap$$get_Count(__$$20) {\n return MapTreeModule$$$size(__$$20.tree);\n}\nfunction FSharpMap$$ContainsKey$$2B595(__$$21, k$$31) {\n return MapTreeModule$$$mem(__$$21.comparer, k$$31, __$$21.tree);\n}\nfunction FSharpMap$$Remove$$2B595(__$$22, k$$32) {\n return FSharpMap$$$$002Ector$$58ADD115(__$$22.comparer, MapTreeModule$$$remove(__$$22.comparer, k$$32, __$$22.tree));\n}\nfunction FSharpMap$$TryFind$$2B595(__$$23, k$$33) {\n return MapTreeModule$$$tryFind(__$$23.comparer, k$$33, __$$23.tree);\n}\nfunction FSharpMap$$ToList(__$$24) {\n return MapTreeModule$$$toList(__$$24.tree);\n}\n\nFSharpMap.prototype.toString = function () {\n const this$ = this;\n let str;\n let strings;\n strings = Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"map\"])(function toStr(kv) {\n return Object(_String_js__WEBPACK_IMPORTED_MODULE_5__[\"format\"])(\"({0}, {1})\", kv[0], kv[1]);\n }, this$);\n str = Object(_String_js__WEBPACK_IMPORTED_MODULE_5__[\"join\"])(\"; \", strings);\n return \"map [\" + str + \"]\";\n};\n\nFSharpMap.prototype.GetHashCode = function () {\n const this$$$1 = this;\n\n const combineHash = function combineHash(x$$16, y$$3) {\n return (x$$16 << 1) + y$$3 + 631;\n };\n\n let res$$3 = 0;\n const e$$1 = MapTreeModule$$$mkIEnumerator(FSharpMap$$get_Tree(this$$$1));\n\n while (e$$1.MoveNext()) {\n const patternInput$$5 = e$$1.Current;\n const activePatternResult3678 = patternInput$$5;\n res$$3 = combineHash(res$$3, Object(_Util_js__WEBPACK_IMPORTED_MODULE_4__[\"structuralHash\"])(activePatternResult3678[0]));\n res$$3 = combineHash(res$$3, Object(_Util_js__WEBPACK_IMPORTED_MODULE_4__[\"structuralHash\"])(activePatternResult3678[1]));\n }\n\n return Math.abs(res$$3) | 0;\n};\n\nFSharpMap.prototype.Equals = function (that) {\n const this$$$2 = this;\n return this$$$2.CompareTo(that) === 0;\n};\n\nFSharpMap.prototype[Symbol.iterator] = function () {\n const __$$25 = this;\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"toIterator\"])(MapTreeModule$$$mkIEnumerator(__$$25.tree));\n};\n\nFSharpMap.prototype.CompareTo = function (obj) {\n const m$$22 = this;\n let res$$4 = 0;\n let finished = false;\n const e1 = MapTreeModule$$$mkIEnumerator(FSharpMap$$get_Tree(m$$22));\n\n try {\n const e2 = MapTreeModule$$$mkIEnumerator(FSharpMap$$get_Tree(obj));\n\n try {\n while (!finished ? res$$4 === 0 : false) {\n const matchValue$$7 = [e1.MoveNext(), e2.MoveNext()];\n\n if (matchValue$$7[0]) {\n if (matchValue$$7[1]) {\n const kvp1 = e1.Current;\n const kvp2 = e2.Current;\n const c$$10 = m$$22.comparer.Compare(kvp1[0], kvp2[0]) | 0;\n res$$4 = c$$10 !== 0 ? c$$10 : Object(_Util_js__WEBPACK_IMPORTED_MODULE_4__[\"compare\"])(kvp1[1], kvp2[1]);\n } else {\n res$$4 = 1;\n }\n } else if (matchValue$$7[1]) {\n res$$4 = -1;\n } else {\n finished = true;\n }\n }\n\n return res$$4 | 0;\n } finally {\n if (Object(_Util_js__WEBPACK_IMPORTED_MODULE_4__[\"isDisposable\"])(e2)) {\n e2.Dispose();\n } else {\n void null;\n }\n }\n } finally {\n if (Object(_Util_js__WEBPACK_IMPORTED_MODULE_4__[\"isDisposable\"])(e1)) {\n e1.Dispose();\n } else {\n void null;\n }\n }\n};\n\nObject.defineProperty(FSharpMap.prototype, \"size\", {\n \"get\": function () {\n const this$$$3 = this;\n return FSharpMap$$get_Count(this$$$3) | 0;\n }\n});\n\nFSharpMap.prototype.clear = function () {\n throw new Error(\"Map cannot be mutated\");\n};\n\nFSharpMap.prototype.delete = function (_arg1$$1) {\n throw new Error(\"Map cannot be mutated\");\n};\n\nFSharpMap.prototype.entries = function () {\n const this$$$4 = this;\n return MapTreeModule$$$toSeq(FSharpMap$$get_Tree(this$$$4));\n};\n\nFSharpMap.prototype.get = function (k$$34) {\n const this$$$5 = this;\n return FSharpMap$$get_Item$$2B595(this$$$5, k$$34);\n};\n\nFSharpMap.prototype.has = function (k$$35) {\n const this$$$6 = this;\n return FSharpMap$$ContainsKey$$2B595(this$$$6, k$$35);\n};\n\nFSharpMap.prototype.keys = function () {\n const this$$$7 = this;\n const source$$1 = MapTreeModule$$$toSeq(FSharpMap$$get_Tree(this$$$7));\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"map\"])(function mapping(kv$$1) {\n return kv$$1[0];\n }, source$$1);\n};\n\nFSharpMap.prototype.set = function (k$$36, v$$26) {\n throw new Error(\"Map cannot be mutated\");\n};\n\nFSharpMap.prototype.values = function () {\n const this$$$8 = this;\n const source$$2 = MapTreeModule$$$toSeq(FSharpMap$$get_Tree(this$$$8));\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"map\"])(function mapping$$1(kv$$2) {\n return kv$$2[1];\n }, source$$2);\n};\n\nfunction isEmpty(m$$23) {\n return FSharpMap$$get_IsEmpty(m$$23);\n}\nfunction add(k$$37, v$$27, m$$24) {\n return FSharpMap$$Add$$5BDDA1(m$$24, k$$37, v$$27);\n}\nfunction find(k$$38, m$$25) {\n return FSharpMap$$get_Item$$2B595(m$$25, k$$38);\n}\nfunction tryFind(k$$39, m$$26) {\n return FSharpMap$$TryFind$$2B595(m$$26, k$$39);\n}\nfunction remove(k$$40, m$$27) {\n return FSharpMap$$Remove$$2B595(m$$27, k$$40);\n}\nfunction containsKey(k$$41, m$$28) {\n return FSharpMap$$ContainsKey$$2B595(m$$28, k$$41);\n}\nfunction iterate(f$$27, m$$29) {\n FSharpMap$$Iterate$$1DCFB91D(m$$29, f$$27);\n}\nfunction tryPick(f$$28, m$$30) {\n return FSharpMap$$TryPick$$72321DD7(m$$30, f$$28);\n}\nfunction pick(f$$29, m$$31) {\n const matchValue$$8 = tryPick(f$$29, m$$31);\n\n if (matchValue$$8 != null) {\n const res$$5 = Object(_Option_js__WEBPACK_IMPORTED_MODULE_2__[\"value\"])(matchValue$$8);\n return res$$5;\n } else {\n throw new Error(\"key not found\");\n }\n}\nfunction exists(f$$30, m$$32) {\n return FSharpMap$$Exists$$Z395DDC35(m$$32, f$$30);\n}\nfunction filter(f$$31, m$$33) {\n return FSharpMap$$Filter$$Z395DDC35(m$$33, f$$31);\n}\nfunction partition(f$$32, m$$34) {\n return FSharpMap$$Partition$$Z395DDC35(m$$34, f$$32);\n}\nfunction forAll(f$$33, m$$35) {\n return FSharpMap$$ForAll$$Z395DDC35(m$$35, f$$33);\n}\nfunction mapRange(f$$34, m$$36) {\n return FSharpMap$$MapRange$$6DC7247(m$$36, f$$34);\n}\nfunction map(f$$35, m$$37) {\n return FSharpMap$$Map$$Z6F6B671C(m$$37, f$$35);\n}\nfunction fold(f$$36, z, m$$38) {\n return MapTreeModule$$$fold(f$$36, z, FSharpMap$$get_Tree(m$$38));\n}\nfunction foldBack(f$$37, m$$39, z$$1) {\n return MapTreeModule$$$foldBack(f$$37, FSharpMap$$get_Tree(m$$39), z$$1);\n}\nfunction toSeq(m$$40) {\n return MapTreeModule$$$toSeq(FSharpMap$$get_Tree(m$$40));\n}\nfunction findKey(f$$38, m$$41) {\n let _arg1$$2;\n\n const m$$42 = FSharpMap$$get_Tree(m$$41);\n _arg1$$2 = MapTreeModule$$$tryPick(function f$$39(k$$42, v$$28) {\n if (f$$38(k$$42, v$$28)) {\n return Object(_Option_js__WEBPACK_IMPORTED_MODULE_2__[\"some\"])(k$$42);\n } else {\n return undefined;\n }\n }, m$$42);\n\n if (_arg1$$2 == null) {\n throw new Error(\"Key not found\");\n } else {\n const k$$43 = Object(_Option_js__WEBPACK_IMPORTED_MODULE_2__[\"value\"])(_arg1$$2);\n return k$$43;\n }\n}\nfunction tryFindKey(f$$40, m$$43) {\n const m$$44 = FSharpMap$$get_Tree(m$$43);\n return MapTreeModule$$$tryPick(function f$$41(k$$44, v$$29) {\n if (f$$40(k$$44, v$$29)) {\n return Object(_Option_js__WEBPACK_IMPORTED_MODULE_2__[\"some\"])(k$$44);\n } else {\n return undefined;\n }\n }, m$$44);\n}\nfunction ofList(l$$22, comparer$$18) {\n return FSharpMap$$$$002Ector$$58ADD115(comparer$$18, MapTreeModule$$$ofList(comparer$$18, l$$22));\n}\nfunction ofSeq(l$$23, comparer$$19) {\n return FSharpMap$$$$002Ector$$58ADD115(comparer$$19, MapTreeModule$$$ofSeq(comparer$$19, l$$23));\n}\nfunction ofArray(array, comparer$$20) {\n return FSharpMap$$$$002Ector$$58ADD115(comparer$$20, MapTreeModule$$$ofArray(comparer$$20, array));\n}\nfunction toList(m$$45) {\n return FSharpMap$$ToList(m$$45);\n}\nfunction toArray(m$$46) {\n let res$$6;\n const len = FSharpMap$$get_Count(m$$46) | 0;\n res$$6 = new Array(len);\n MapTreeModule$$$copyToArray(FSharpMap$$get_Tree(m$$46), res$$6, 0);\n return res$$6;\n}\nfunction empty(comparer$$21) {\n return FSharpMap$$$$002Ector$$58ADD115(comparer$$21, new MapTree$00602(0, \"MapEmpty\"));\n}\nfunction createMutable(source$$3, comparer$$22) {\n const map$$1 = Object(_MutableMap__WEBPACK_IMPORTED_MODULE_6__[\"MutableMap$00602$$$$002Ector$$6623D9B3\"])(source$$3, comparer$$22);\n return map$$1;\n}\nfunction groupBy(projection, xs, comparer$$23) {\n const dict = createMutable(Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"empty\"])(), comparer$$23);\n Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"iterate\"])(function (v$$30) {\n const key = projection(v$$30);\n\n if (dict.has(key)) {\n void dict.get(key).push(v$$30);\n } else {\n const value = dict.set(key, [v$$30]);\n void value;\n }\n }, xs);\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"map\"])(function mapping$$2(kv$$3) {\n return [kv$$3[0], kv$$3[1]];\n }, dict);\n}\nfunction countBy(projection$$1, xs$$1, comparer$$24) {\n const dict$$1 = createMutable(Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"empty\"])(), comparer$$24);\n Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"iterate\"])(function (value$$1) {\n const key$$1 = projection$$1(value$$1);\n const value$$2 = dict$$1.has(key$$1) ? dict$$1.set(key$$1, dict$$1.get(key$$1) + 1) : dict$$1.set(key$$1, 1);\n void value$$2;\n }, xs$$1);\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"map\"])(function mapping$$3(kv$$4) {\n return [kv$$4[0], kv$$4[1]];\n }, dict$$1);\n}\nfunction count(m$$47) {\n return FSharpMap$$get_Count(m$$47);\n}\n\n//# sourceURL=webpack:///./.fable/fable-library.2.10.1/Map.js?");
206
-
207
- /***/ }),
208
-
209
- /***/ "./.fable/fable-library.2.10.1/MutableMap.js":
210
- /*!***************************************************!*\
211
- !*** ./.fable/fable-library.2.10.1/MutableMap.js ***!
212
- \***************************************************/
213
- /*! exports provided: MutableMap$00602, MutableMap$00602$reflection, MutableMap$00602$$$$002Ector$$6623D9B3, MutableMap$00602$$TryFind$$2B595, MutableMap$00602$$get_Comparer, MutableMap$00602$$Clear, MutableMap$00602$$get_Count, MutableMap$00602$$get_Item$$2B595, MutableMap$00602$$set_Item$$5BDDA1, MutableMap$00602$$Add$$5BDDA1, MutableMap$00602$$ContainsKey$$2B595, MutableMap$00602$$Remove$$2B595 */
214
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
215
-
216
- "use strict";
217
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MutableMap$00602\", function() { return MutableMap$00602; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MutableMap$00602$reflection\", function() { return MutableMap$00602$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MutableMap$00602$$$$002Ector$$6623D9B3\", function() { return MutableMap$00602$$$$002Ector$$6623D9B3; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MutableMap$00602$$TryFind$$2B595\", function() { return MutableMap$00602$$TryFind$$2B595; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MutableMap$00602$$get_Comparer\", function() { return MutableMap$00602$$get_Comparer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MutableMap$00602$$Clear\", function() { return MutableMap$00602$$Clear; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MutableMap$00602$$get_Count\", function() { return MutableMap$00602$$get_Count; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MutableMap$00602$$get_Item$$2B595\", function() { return MutableMap$00602$$get_Item$$2B595; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MutableMap$00602$$set_Item$$5BDDA1\", function() { return MutableMap$00602$$set_Item$$5BDDA1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MutableMap$00602$$Add$$5BDDA1\", function() { return MutableMap$00602$$Add$$5BDDA1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MutableMap$00602$$ContainsKey$$2B595\", function() { return MutableMap$00602$$ContainsKey$$2B595; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MutableMap$00602$$Remove$$2B595\", function() { return MutableMap$00602$$Remove$$2B595; });\n/* harmony import */ var _Types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Types.js */ \"./.fable/fable-library.2.10.1/Types.js\");\n/* harmony import */ var _Seq_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Seq.js */ \"./.fable/fable-library.2.10.1/Seq.js\");\n/* harmony import */ var _Reflection_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Reflection.js */ \"./.fable/fable-library.2.10.1/Reflection.js\");\n/* harmony import */ var _Util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Util.js */ \"./.fable/fable-library.2.10.1/Util.js\");\n/* harmony import */ var _String_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./String.js */ \"./.fable/fable-library.2.10.1/String.js\");\n\n\n\n\n\nconst MutableMap$00602 = Object(_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Fable_Collections_MutableMap(pairs, comparer) {\n const $this$$1 = this;\n const this$ = new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"FSharpRef\"](null);\n $this$$1.comparer = comparer;\n this$.contents = $this$$1;\n $this$$1.hashMap = new Map([]);\n $this$$1[\"init@20-1\"] = 1;\n Object(_Seq_js__WEBPACK_IMPORTED_MODULE_1__[\"iterate\"])(function (pair) {\n MutableMap$00602$$Add$$5BDDA1(this$.contents, pair[0], pair[1]);\n }, pairs);\n void null;\n});\nfunction MutableMap$00602$reflection($gen$$4, $gen$$5) {\n return Object(_Reflection_js__WEBPACK_IMPORTED_MODULE_2__[\"class_type\"])(\"Fable.Collections.MutableMap`2\", [$gen$$4, $gen$$5], MutableMap$00602);\n}\nfunction MutableMap$00602$$$$002Ector$$6623D9B3(pairs, comparer) {\n return this instanceof MutableMap$00602 ? MutableMap$00602.call(this, pairs, comparer) : new MutableMap$00602(pairs, comparer);\n}\n\nfunction MutableMap$00602$$TryFindIndex$$2B595(this$$$1, k) {\n const h = this$$$1.comparer.GetHashCode(k) | 0;\n const matchValue = Object(_Util_js__WEBPACK_IMPORTED_MODULE_3__[\"tryGetValue\"])(this$$$1.hashMap, h, null);\n\n if (matchValue[0]) {\n return [true, h, matchValue[1].findIndex(function (pair$$1) {\n return this$$$1.comparer.Equals(k, pair$$1[0]);\n })];\n } else {\n return [false, h, -1];\n }\n}\n\nfunction MutableMap$00602$$TryFind$$2B595(this$$$2, k$$1) {\n const matchValue$$1 = MutableMap$00602$$TryFindIndex$$2B595(this$$$2, k$$1);\n var $target$$10;\n\n if (matchValue$$1[0]) {\n if (matchValue$$1[2] > -1) {\n $target$$10 = 0;\n } else {\n $target$$10 = 1;\n }\n } else {\n $target$$10 = 1;\n }\n\n switch ($target$$10) {\n case 0:\n {\n return Object(_Util_js__WEBPACK_IMPORTED_MODULE_3__[\"getItemFromDict\"])(this$$$2.hashMap, matchValue$$1[1])[matchValue$$1[2]];\n }\n\n case 1:\n {\n return undefined;\n }\n }\n}\nfunction MutableMap$00602$$get_Comparer(this$$$3) {\n return this$$$3.comparer;\n}\nfunction MutableMap$00602$$Clear(this$$$4) {\n this$$$4.hashMap.clear();\n}\nfunction MutableMap$00602$$get_Count(this$$$5) {\n const source = this$$$5.hashMap.values();\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_1__[\"sumBy\"])(function projection(pairs$$2) {\n return pairs$$2.length;\n }, source, {\n GetZero() {\n return 0;\n },\n\n Add($x$$2, $y$$3) {\n return $x$$2 + $y$$3;\n }\n\n }) | 0;\n}\nfunction MutableMap$00602$$get_Item$$2B595(this$$$6, k$$2) {\n const matchValue$$2 = MutableMap$00602$$TryFind$$2B595(this$$$6, k$$2);\n\n if (matchValue$$2 != null) {\n const pair$$2 = matchValue$$2;\n return pair$$2[1];\n } else {\n throw new Error(\"The item was not found in collection\");\n }\n}\nfunction MutableMap$00602$$set_Item$$5BDDA1(this$$$7, k$$3, v) {\n const matchValue$$3 = MutableMap$00602$$TryFindIndex$$2B595(this$$$7, k$$3);\n var $target$$20;\n\n if (matchValue$$3[0]) {\n if (matchValue$$3[2] > -1) {\n $target$$20 = 0;\n } else {\n $target$$20 = 1;\n }\n } else {\n $target$$20 = 1;\n }\n\n switch ($target$$20) {\n case 0:\n {\n Object(_Util_js__WEBPACK_IMPORTED_MODULE_3__[\"getItemFromDict\"])(this$$$7.hashMap, matchValue$$3[1])[matchValue$$3[2]] = [k$$3, v];\n break;\n }\n\n case 1:\n {\n if (matchValue$$3[0]) {\n const value = void Object(_Util_js__WEBPACK_IMPORTED_MODULE_3__[\"getItemFromDict\"])(this$$$7.hashMap, matchValue$$3[1]).push([k$$3, v]);\n void null;\n } else {\n this$$$7.hashMap.set(matchValue$$3[1], [[k$$3, v]]);\n }\n\n break;\n }\n }\n}\nfunction MutableMap$00602$$Add$$5BDDA1(this$$$8, k$$4, v$$1) {\n const matchValue$$4 = MutableMap$00602$$TryFindIndex$$2B595(this$$$8, k$$4);\n var $target$$24;\n\n if (matchValue$$4[0]) {\n if (matchValue$$4[2] > -1) {\n $target$$24 = 0;\n } else {\n $target$$24 = 1;\n }\n } else {\n $target$$24 = 1;\n }\n\n switch ($target$$24) {\n case 0:\n {\n const msg = Object(_String_js__WEBPACK_IMPORTED_MODULE_4__[\"format\"])(\"An item with the same key has already been added. Key: {0}\", k$$4);\n throw new Error(msg);\n break;\n }\n\n case 1:\n {\n if (matchValue$$4[0]) {\n const value$$1 = void Object(_Util_js__WEBPACK_IMPORTED_MODULE_3__[\"getItemFromDict\"])(this$$$8.hashMap, matchValue$$4[1]).push([k$$4, v$$1]);\n void null;\n } else {\n this$$$8.hashMap.set(matchValue$$4[1], [[k$$4, v$$1]]);\n }\n\n break;\n }\n }\n}\nfunction MutableMap$00602$$ContainsKey$$2B595(this$$$9, k$$5) {\n const matchValue$$5 = MutableMap$00602$$TryFindIndex$$2B595(this$$$9, k$$5);\n var $target$$27;\n\n if (matchValue$$5[0]) {\n if (matchValue$$5[2] > -1) {\n $target$$27 = 0;\n } else {\n $target$$27 = 1;\n }\n } else {\n $target$$27 = 1;\n }\n\n switch ($target$$27) {\n case 0:\n {\n return true;\n }\n\n case 1:\n {\n return false;\n }\n }\n}\nfunction MutableMap$00602$$Remove$$2B595(this$$$10, k$$6) {\n const matchValue$$6 = MutableMap$00602$$TryFindIndex$$2B595(this$$$10, k$$6);\n var $target$$30;\n\n if (matchValue$$6[0]) {\n if (matchValue$$6[2] > -1) {\n $target$$30 = 0;\n } else {\n $target$$30 = 1;\n }\n } else {\n $target$$30 = 1;\n }\n\n switch ($target$$30) {\n case 0:\n {\n Object(_Util_js__WEBPACK_IMPORTED_MODULE_3__[\"getItemFromDict\"])(this$$$10.hashMap, matchValue$$6[1]).splice(matchValue$$6[2], 1);\n return true;\n }\n\n case 1:\n {\n return false;\n }\n }\n}\n\nMutableMap$00602.prototype[Symbol.iterator] = function () {\n var elems;\n const this$$$11 = this;\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_1__[\"toIterator\"])((elems = Object(_Seq_js__WEBPACK_IMPORTED_MODULE_1__[\"delay\"])(function () {\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_1__[\"collect\"])(function (pairs$$3) {\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"])(function (pair$$3) {\n return pair$$3;\n }, pairs$$3);\n }, this$$$11.hashMap.values());\n }), Object(_Seq_js__WEBPACK_IMPORTED_MODULE_1__[\"getEnumerator\"])(elems)));\n};\n\nMutableMap$00602.prototype.Add = function (item) {\n const this$$$12 = this;\n MutableMap$00602$$Add$$5BDDA1(this$$$12, item[0], item[1]);\n};\n\nMutableMap$00602.prototype.Clear = function () {\n const this$$$13 = this;\n MutableMap$00602$$Clear(this$$$13);\n};\n\nMutableMap$00602.prototype.Contains = function (item$$1) {\n var p;\n const this$$$14 = this;\n const matchValue$$7 = MutableMap$00602$$TryFind$$2B595(this$$$14, item$$1[0]);\n var $target$$31;\n\n if (matchValue$$7 != null) {\n if (p = matchValue$$7, Object(_Util_js__WEBPACK_IMPORTED_MODULE_3__[\"equals\"])(p[1], item$$1[1])) {\n $target$$31 = 0;\n } else {\n $target$$31 = 1;\n }\n } else {\n $target$$31 = 1;\n }\n\n switch ($target$$31) {\n case 0:\n {\n return true;\n }\n\n case 1:\n {\n return false;\n }\n }\n};\n\nMutableMap$00602.prototype.CopyTo = function (array, arrayIndex) {\n const this$$$15 = this;\n Object(_Seq_js__WEBPACK_IMPORTED_MODULE_1__[\"iterateIndexed\"])(function action(i$$10, e) {\n array[arrayIndex + i$$10] = e;\n }, this$$$15);\n};\n\nObject.defineProperty(MutableMap$00602.prototype, \"Count\", {\n \"get\": function () {\n const this$$$16 = this;\n return MutableMap$00602$$get_Count(this$$$16) | 0;\n }\n});\nObject.defineProperty(MutableMap$00602.prototype, \"IsReadOnly\", {\n \"get\": function () {\n return false;\n }\n});\n\nMutableMap$00602.prototype.Remove = function (item$$2) {\n const this$$$18 = this;\n const matchValue$$8 = MutableMap$00602$$TryFind$$2B595(this$$$18, item$$2[0]);\n\n if (matchValue$$8 != null) {\n const pair$$4 = matchValue$$8;\n\n if (Object(_Util_js__WEBPACK_IMPORTED_MODULE_3__[\"equals\"])(pair$$4[1], item$$2[1])) {\n const value$$2 = MutableMap$00602$$Remove$$2B595(this$$$18, item$$2[0]);\n void value$$2;\n } else {\n void null;\n }\n\n return true;\n } else {\n return false;\n }\n};\n\nObject.defineProperty(MutableMap$00602.prototype, \"size\", {\n \"get\": function () {\n const this$$$19 = this;\n return MutableMap$00602$$get_Count(this$$$19) | 0;\n }\n});\n\nMutableMap$00602.prototype.clear = function () {\n const this$$$20 = this;\n MutableMap$00602$$Clear(this$$$20);\n};\n\nMutableMap$00602.prototype.delete = function (k$$7) {\n const this$$$21 = this;\n return MutableMap$00602$$Remove$$2B595(this$$$21, k$$7);\n};\n\nMutableMap$00602.prototype.entries = function () {\n const this$$$22 = this;\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"])(function mapping(x) {\n return x;\n }, this$$$22);\n};\n\nMutableMap$00602.prototype.get = function (k$$8) {\n const this$$$23 = this;\n return MutableMap$00602$$get_Item$$2B595(this$$$23, k$$8);\n};\n\nMutableMap$00602.prototype.has = function (k$$9) {\n const this$$$24 = this;\n return MutableMap$00602$$ContainsKey$$2B595(this$$$24, k$$9);\n};\n\nMutableMap$00602.prototype.keys = function () {\n const this$$$25 = this;\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"])(function mapping$$1(pair$$5) {\n return pair$$5[0];\n }, this$$$25);\n};\n\nMutableMap$00602.prototype.set = function (k$$10, v$$2) {\n const this$$$26 = this;\n MutableMap$00602$$set_Item$$5BDDA1(this$$$26, k$$10, v$$2);\n return this$$$26;\n};\n\nMutableMap$00602.prototype.values = function () {\n const this$$$27 = this;\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"])(function mapping$$2(pair$$6) {\n return pair$$6[1];\n }, this$$$27);\n};\n\n//# sourceURL=webpack:///./.fable/fable-library.2.10.1/MutableMap.js?");
218
-
219
- /***/ }),
220
-
221
- /***/ "./.fable/fable-library.2.10.1/MutableSet.js":
222
- /*!***************************************************!*\
223
- !*** ./.fable/fable-library.2.10.1/MutableSet.js ***!
224
- \***************************************************/
225
- /*! exports provided: MutableSet$00601, MutableSet$00601$reflection, MutableSet$00601$$$$002Ector$$Z6150332D, MutableSet$00601$$get_Comparer, MutableSet$00601$$Clear, MutableSet$00601$$get_Count, MutableSet$00601$$Add$$2B595, MutableSet$00601$$Contains$$2B595, MutableSet$00601$$Remove$$2B595 */
226
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
227
-
228
- "use strict";
229
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MutableSet$00601\", function() { return MutableSet$00601; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MutableSet$00601$reflection\", function() { return MutableSet$00601$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MutableSet$00601$$$$002Ector$$Z6150332D\", function() { return MutableSet$00601$$$$002Ector$$Z6150332D; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MutableSet$00601$$get_Comparer\", function() { return MutableSet$00601$$get_Comparer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MutableSet$00601$$Clear\", function() { return MutableSet$00601$$Clear; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MutableSet$00601$$get_Count\", function() { return MutableSet$00601$$get_Count; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MutableSet$00601$$Add$$2B595\", function() { return MutableSet$00601$$Add$$2B595; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MutableSet$00601$$Contains$$2B595\", function() { return MutableSet$00601$$Contains$$2B595; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MutableSet$00601$$Remove$$2B595\", function() { return MutableSet$00601$$Remove$$2B595; });\n/* harmony import */ var _Types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Types.js */ \"./.fable/fable-library.2.10.1/Types.js\");\n/* harmony import */ var _Seq_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Seq.js */ \"./.fable/fable-library.2.10.1/Seq.js\");\n/* harmony import */ var _Reflection_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Reflection.js */ \"./.fable/fable-library.2.10.1/Reflection.js\");\n/* harmony import */ var _Util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Util.js */ \"./.fable/fable-library.2.10.1/Util.js\");\n/* harmony import */ var _Option_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Option.js */ \"./.fable/fable-library.2.10.1/Option.js\");\n\n\n\n\n\nconst MutableSet$00601 = Object(_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Fable_Collections_MutableSet(items, comparer) {\n const $this$$1 = this;\n const this$ = new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"FSharpRef\"](null);\n $this$$1.comparer = comparer;\n this$.contents = $this$$1;\n $this$$1.hashMap = new Map([]);\n $this$$1[\"init@21-2\"] = 1;\n Object(_Seq_js__WEBPACK_IMPORTED_MODULE_1__[\"iterate\"])(function (item) {\n const value = MutableSet$00601$$Add$$2B595(this$.contents, item);\n void value;\n }, items);\n void null;\n});\nfunction MutableSet$00601$reflection($gen$$4) {\n return Object(_Reflection_js__WEBPACK_IMPORTED_MODULE_2__[\"class_type\"])(\"Fable.Collections.MutableSet`1\", [$gen$$4], MutableSet$00601);\n}\nfunction MutableSet$00601$$$$002Ector$$Z6150332D(items, comparer) {\n return this instanceof MutableSet$00601 ? MutableSet$00601.call(this, items, comparer) : new MutableSet$00601(items, comparer);\n}\n\nfunction MutableSet$00601$$TryFindIndex$$2B595(this$$$1, k) {\n const h = this$$$1.comparer.GetHashCode(k) | 0;\n const matchValue = Object(_Util_js__WEBPACK_IMPORTED_MODULE_3__[\"tryGetValue\"])(this$$$1.hashMap, h, null);\n\n if (matchValue[0]) {\n return [true, h, matchValue[1].findIndex(function (v) {\n return this$$$1.comparer.Equals(k, v);\n })];\n } else {\n return [false, h, -1];\n }\n}\n\nfunction MutableSet$00601$$TryFind$$2B595(this$$$2, k$$1) {\n const matchValue$$1 = MutableSet$00601$$TryFindIndex$$2B595(this$$$2, k$$1);\n var $target$$9;\n\n if (matchValue$$1[0]) {\n if (matchValue$$1[2] > -1) {\n $target$$9 = 0;\n } else {\n $target$$9 = 1;\n }\n } else {\n $target$$9 = 1;\n }\n\n switch ($target$$9) {\n case 0:\n {\n return Object(_Option_js__WEBPACK_IMPORTED_MODULE_4__[\"some\"])(Object(_Util_js__WEBPACK_IMPORTED_MODULE_3__[\"getItemFromDict\"])(this$$$2.hashMap, matchValue$$1[1])[matchValue$$1[2]]);\n }\n\n case 1:\n {\n return undefined;\n }\n }\n}\n\nfunction MutableSet$00601$$get_Comparer(this$$$3) {\n return this$$$3.comparer;\n}\nfunction MutableSet$00601$$Clear(this$$$4) {\n this$$$4.hashMap.clear();\n}\nfunction MutableSet$00601$$get_Count(this$$$5) {\n const source = this$$$5.hashMap.values();\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_1__[\"sumBy\"])(function projection(pairs) {\n return pairs.length;\n }, source, {\n GetZero() {\n return 0;\n },\n\n Add($x$$2, $y$$3) {\n return $x$$2 + $y$$3;\n }\n\n }) | 0;\n}\nfunction MutableSet$00601$$Add$$2B595(this$$$6, k$$2) {\n const matchValue$$2 = MutableSet$00601$$TryFindIndex$$2B595(this$$$6, k$$2);\n var $target$$16;\n\n if (matchValue$$2[0]) {\n if (matchValue$$2[2] > -1) {\n $target$$16 = 0;\n } else {\n $target$$16 = 1;\n }\n } else {\n $target$$16 = 1;\n }\n\n switch ($target$$16) {\n case 0:\n {\n return false;\n }\n\n case 1:\n {\n if (matchValue$$2[0]) {\n const value$$1 = void Object(_Util_js__WEBPACK_IMPORTED_MODULE_3__[\"getItemFromDict\"])(this$$$6.hashMap, matchValue$$2[1]).push(k$$2);\n void null;\n return true;\n } else {\n this$$$6.hashMap.set(matchValue$$2[1], [k$$2]);\n return true;\n }\n }\n }\n}\nfunction MutableSet$00601$$Contains$$2B595(this$$$7, k$$3) {\n const matchValue$$3 = MutableSet$00601$$TryFindIndex$$2B595(this$$$7, k$$3);\n var $target$$19;\n\n if (matchValue$$3[0]) {\n if (matchValue$$3[2] > -1) {\n $target$$19 = 0;\n } else {\n $target$$19 = 1;\n }\n } else {\n $target$$19 = 1;\n }\n\n switch ($target$$19) {\n case 0:\n {\n return true;\n }\n\n case 1:\n {\n return false;\n }\n }\n}\nfunction MutableSet$00601$$Remove$$2B595(this$$$8, k$$4) {\n const matchValue$$4 = MutableSet$00601$$TryFindIndex$$2B595(this$$$8, k$$4);\n var $target$$22;\n\n if (matchValue$$4[0]) {\n if (matchValue$$4[2] > -1) {\n $target$$22 = 0;\n } else {\n $target$$22 = 1;\n }\n } else {\n $target$$22 = 1;\n }\n\n switch ($target$$22) {\n case 0:\n {\n Object(_Util_js__WEBPACK_IMPORTED_MODULE_3__[\"getItemFromDict\"])(this$$$8.hashMap, matchValue$$4[1]).splice(matchValue$$4[2], 1);\n return true;\n }\n\n case 1:\n {\n return false;\n }\n }\n}\n\nMutableSet$00601.prototype[Symbol.iterator] = function () {\n var elems;\n const this$$$9 = this;\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_1__[\"toIterator\"])((elems = Object(_Seq_js__WEBPACK_IMPORTED_MODULE_1__[\"delay\"])(function () {\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_1__[\"collect\"])(function (values$$1) {\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"])(function (value$$2) {\n return value$$2;\n }, values$$1);\n }, this$$$9.hashMap.values());\n }), Object(_Seq_js__WEBPACK_IMPORTED_MODULE_1__[\"getEnumerator\"])(elems)));\n};\n\nMutableSet$00601.prototype.Add = function (item$$1) {\n const this$$$10 = this;\n const value$$3 = MutableSet$00601$$Add$$2B595(this$$$10, item$$1);\n void value$$3;\n};\n\nMutableSet$00601.prototype.Clear = function () {\n const this$$$11 = this;\n MutableSet$00601$$Clear(this$$$11);\n};\n\nMutableSet$00601.prototype.Contains = function (item$$2) {\n const this$$$12 = this;\n return MutableSet$00601$$Contains$$2B595(this$$$12, item$$2);\n};\n\nMutableSet$00601.prototype.CopyTo = function (array, arrayIndex) {\n const this$$$13 = this;\n Object(_Seq_js__WEBPACK_IMPORTED_MODULE_1__[\"iterateIndexed\"])(function action(i$$8, e) {\n array[arrayIndex + i$$8] = e;\n }, this$$$13);\n};\n\nObject.defineProperty(MutableSet$00601.prototype, \"Count\", {\n \"get\": function () {\n const this$$$14 = this;\n return MutableSet$00601$$get_Count(this$$$14) | 0;\n }\n});\nObject.defineProperty(MutableSet$00601.prototype, \"IsReadOnly\", {\n \"get\": function () {\n return false;\n }\n});\n\nMutableSet$00601.prototype.Remove = function (item$$3) {\n const this$$$16 = this;\n return MutableSet$00601$$Remove$$2B595(this$$$16, item$$3);\n};\n\nObject.defineProperty(MutableSet$00601.prototype, \"size\", {\n \"get\": function () {\n const this$$$17 = this;\n return MutableSet$00601$$get_Count(this$$$17) | 0;\n }\n});\n\nMutableSet$00601.prototype.add = function (k$$5) {\n const this$$$18 = this;\n const value$$4 = MutableSet$00601$$Add$$2B595(this$$$18, k$$5);\n void value$$4;\n return this$$$18;\n};\n\nMutableSet$00601.prototype.add_ = function (k$$6) {\n const this$$$19 = this;\n return MutableSet$00601$$Add$$2B595(this$$$19, k$$6);\n};\n\nMutableSet$00601.prototype.clear = function () {\n const this$$$20 = this;\n MutableSet$00601$$Clear(this$$$20);\n};\n\nMutableSet$00601.prototype.delete = function (k$$7) {\n const this$$$21 = this;\n return MutableSet$00601$$Remove$$2B595(this$$$21, k$$7);\n};\n\nMutableSet$00601.prototype.has = function (k$$8) {\n const this$$$22 = this;\n return MutableSet$00601$$Contains$$2B595(this$$$22, k$$8);\n};\n\nMutableSet$00601.prototype.keys = function () {\n const this$$$23 = this;\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"])(function mapping(x) {\n return x;\n }, this$$$23);\n};\n\nMutableSet$00601.prototype.values = function () {\n const this$$$24 = this;\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"])(function mapping$$1(x$$1) {\n return x$$1;\n }, this$$$24);\n};\n\nMutableSet$00601.prototype.entries = function () {\n const this$$$25 = this;\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_1__[\"map\"])(function mapping$$2(v$$1) {\n return [v$$1, v$$1];\n }, this$$$25);\n};\n\n//# sourceURL=webpack:///./.fable/fable-library.2.10.1/MutableSet.js?");
230
-
231
- /***/ }),
232
-
233
- /***/ "./.fable/fable-library.2.10.1/Observable.js":
234
- /*!***************************************************!*\
235
- !*** ./.fable/fable-library.2.10.1/Observable.js ***!
236
- \***************************************************/
237
- /*! exports provided: Observer, protect, add, choose, filter, map, merge, pairwise, partition, scan, split, subscribe */
238
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
239
-
240
- "use strict";
241
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Observer\", function() { return Observer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"protect\", function() { return protect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"add\", function() { return add; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"choose\", function() { return choose; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"filter\", function() { return filter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"map\", function() { return map; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"merge\", function() { return merge; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pairwise\", function() { return pairwise; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"partition\", function() { return partition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"scan\", function() { return scan; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"split\", function() { return split; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"subscribe\", function() { return subscribe; });\n/* harmony import */ var _Option__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Option */ \"./.fable/fable-library.2.10.1/Option.js\");\n\nclass Observer {\n constructor(onNext, onError, onCompleted) {\n this.OnNext = onNext;\n this.OnError = onError || ((_e) => { return; });\n this.OnCompleted = onCompleted || (() => { return; });\n }\n}\nclass Observable {\n constructor(subscribe) {\n this.Subscribe = subscribe;\n }\n}\nfunction protect(f, succeed, fail) {\n try {\n return succeed(f());\n }\n catch (e) {\n fail(e);\n }\n}\nfunction add(callback, source) {\n source.Subscribe(new Observer(callback));\n}\nfunction choose(chooser, source) {\n return new Observable((observer) => source.Subscribe(new Observer((t) => protect(() => chooser(t), (u) => { if (u != null) {\n observer.OnNext(Object(_Option__WEBPACK_IMPORTED_MODULE_0__[\"value\"])(u));\n } }, observer.OnError), observer.OnError, observer.OnCompleted)));\n}\nfunction filter(predicate, source) {\n return choose((x) => predicate(x) ? x : null, source);\n}\nfunction map(mapping, source) {\n return new Observable((observer) => source.Subscribe(new Observer((t) => {\n protect(() => mapping(t), observer.OnNext, observer.OnError);\n }, observer.OnError, observer.OnCompleted)));\n}\nfunction merge(source1, source2) {\n return new Observable((observer) => {\n let stopped = false;\n let completed1 = false;\n let completed2 = false;\n const h1 = source1.Subscribe(new Observer((v) => { if (!stopped) {\n observer.OnNext(v);\n } }, (e) => {\n if (!stopped) {\n stopped = true;\n observer.OnError(e);\n }\n }, () => {\n if (!stopped) {\n completed1 = true;\n if (completed2) {\n stopped = true;\n observer.OnCompleted();\n }\n }\n }));\n const h2 = source2.Subscribe(new Observer((v) => { if (!stopped) {\n observer.OnNext(v);\n } }, (e) => {\n if (!stopped) {\n stopped = true;\n observer.OnError(e);\n }\n }, () => {\n if (!stopped) {\n completed2 = true;\n if (completed1) {\n stopped = true;\n observer.OnCompleted();\n }\n }\n }));\n return {\n Dispose() {\n h1.Dispose();\n h2.Dispose();\n },\n };\n });\n}\nfunction pairwise(source) {\n return new Observable((observer) => {\n let last;\n return source.Subscribe(new Observer((next) => {\n if (last != null) {\n observer.OnNext([last, next]);\n }\n last = next;\n }, observer.OnError, observer.OnCompleted));\n });\n}\nfunction partition(predicate, source) {\n return [filter(predicate, source), filter((x) => !predicate(x), source)];\n}\nfunction scan(collector, state, source) {\n return new Observable((observer) => {\n return source.Subscribe(new Observer((t) => {\n protect(() => collector(state, t), (u) => { state = u; observer.OnNext(u); }, observer.OnError);\n }, observer.OnError, observer.OnCompleted));\n });\n}\nfunction split(splitter, source) {\n return [\n choose((v) => Object(_Option__WEBPACK_IMPORTED_MODULE_0__[\"tryValueIfChoice1Of2\"])(splitter(v)), source),\n choose((v) => Object(_Option__WEBPACK_IMPORTED_MODULE_0__[\"tryValueIfChoice2Of2\"])(splitter(v)), source)\n ];\n}\nfunction subscribe(callback, source) {\n return source.Subscribe(new Observer(callback));\n}\n//# sourceMappingURL=Observable.js.map\n\n//# sourceURL=webpack:///./.fable/fable-library.2.10.1/Observable.js?");
242
-
243
- /***/ }),
244
-
245
- /***/ "./.fable/fable-library.2.10.1/Option.js":
246
- /*!***********************************************!*\
247
- !*** ./.fable/fable-library.2.10.1/Option.js ***!
248
- \***********************************************/
249
- /*! exports provided: Some, some, value, tryValue, toArray, defaultArg, defaultArgWith, filter, map, map2, map3, bind, tryOp, Choice, Choice3, Choice4, Choice5, Choice6, Choice7, choice1Of2, choice2Of2, tryValueIfChoice1Of2, tryValueIfChoice2Of2, Result, ok, error, mapOk, mapError, bindOk */
250
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
251
-
252
- "use strict";
253
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Some\", function() { return Some; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"some\", function() { return some; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"value\", function() { return value; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryValue\", function() { return tryValue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toArray\", function() { return toArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultArg\", function() { return defaultArg; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultArgWith\", function() { return defaultArgWith; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"filter\", function() { return filter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"map\", function() { return map; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"map2\", function() { return map2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"map3\", function() { return map3; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bind\", function() { return bind; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryOp\", function() { return tryOp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Choice\", function() { return Choice; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Choice3\", function() { return Choice3; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Choice4\", function() { return Choice4; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Choice5\", function() { return Choice5; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Choice6\", function() { return Choice6; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Choice7\", function() { return Choice7; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"choice1Of2\", function() { return choice1Of2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"choice2Of2\", function() { return choice2Of2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryValueIfChoice1Of2\", function() { return tryValueIfChoice1Of2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryValueIfChoice2Of2\", function() { return tryValueIfChoice2Of2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Result\", function() { return Result; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ok\", function() { return ok; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"error\", function() { return error; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mapOk\", function() { return mapOk; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mapError\", function() { return mapError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bindOk\", function() { return bindOk; });\n/* harmony import */ var _Types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Types */ \"./.fable/fable-library.2.10.1/Types.js\");\n/* harmony import */ var _Util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Util */ \"./.fable/fable-library.2.10.1/Util.js\");\n\n\n// Using a class here for better compatibility with TS files importing Some\nclass Some {\n constructor(value) {\n this.value = value;\n }\n // Don't add \"Some\" for consistency with erased options\n toString() {\n return String(this.value);\n }\n toJSON() {\n return this.value;\n }\n GetHashCode() {\n return Object(_Util__WEBPACK_IMPORTED_MODULE_1__[\"structuralHash\"])(this.value);\n }\n Equals(other) {\n if (other == null) {\n return false;\n }\n else {\n return Object(_Util__WEBPACK_IMPORTED_MODULE_1__[\"equals\"])(this.value, other instanceof Some ? other.value : other);\n }\n }\n CompareTo(other) {\n if (other == null) {\n return 1;\n }\n else {\n return Object(_Util__WEBPACK_IMPORTED_MODULE_1__[\"compare\"])(this.value, other instanceof Some ? other.value : other);\n }\n }\n}\nfunction some(x) {\n return x == null || x instanceof Some ? new Some(x) : x;\n}\nfunction value(x) {\n if (x == null) {\n throw new Error(\"Option has no value\");\n }\n else {\n return x instanceof Some ? x.value : x;\n }\n}\nfunction tryValue(x) {\n return x instanceof Some ? x.value : x;\n}\nfunction toArray(opt) {\n return (opt == null) ? [] : [value(opt)];\n}\nfunction defaultArg(opt, defaultValue) {\n return (opt != null) ? value(opt) : defaultValue;\n}\nfunction defaultArgWith(opt, defThunk) {\n return (opt != null) ? value(opt) : defThunk();\n}\nfunction filter(predicate, opt) {\n return (opt != null) ? (predicate(value(opt)) ? opt : undefined) : opt;\n}\nfunction map(mapping, opt) {\n return (opt != null) ? some(mapping(value(opt))) : undefined;\n}\nfunction map2(mapping, opt1, opt2) {\n return (opt1 != null && opt2 != null) ? mapping(value(opt1), value(opt2)) : undefined;\n}\nfunction map3(mapping, opt1, opt2, opt3) {\n return (opt1 != null && opt2 != null && opt3 != null) ? mapping(value(opt1), value(opt2), value(opt3)) : undefined;\n}\nfunction bind(binder, opt) {\n return opt != null ? binder(value(opt)) : undefined;\n}\nfunction tryOp(op, arg) {\n try {\n return some(op(arg));\n }\n catch (_a) {\n return undefined;\n }\n}\n// CHOICE\nclass Choice extends _Types__WEBPACK_IMPORTED_MODULE_0__[\"Union\"] {\n}\nclass Choice3 extends _Types__WEBPACK_IMPORTED_MODULE_0__[\"Union\"] {\n}\nclass Choice4 extends _Types__WEBPACK_IMPORTED_MODULE_0__[\"Union\"] {\n}\nclass Choice5 extends _Types__WEBPACK_IMPORTED_MODULE_0__[\"Union\"] {\n}\nclass Choice6 extends _Types__WEBPACK_IMPORTED_MODULE_0__[\"Union\"] {\n}\nclass Choice7 extends _Types__WEBPACK_IMPORTED_MODULE_0__[\"Union\"] {\n}\nfunction choice1Of2(x) {\n return new Choice(0, \"Choice1Of2\", x);\n}\nfunction choice2Of2(x) {\n return new Choice(1, \"Choice2Of2\", x);\n}\nfunction tryValueIfChoice1Of2(x) {\n return x.tag === 0 ? some(x.fields[0]) : undefined;\n}\nfunction tryValueIfChoice2Of2(x) {\n return x.tag === 1 ? some(x.fields[0]) : undefined;\n}\n// RESULT\nclass Result extends _Types__WEBPACK_IMPORTED_MODULE_0__[\"Union\"] {\n}\nfunction ok(x) {\n return new Result(0, \"Ok\", x);\n}\nfunction error(x) {\n return new Result(1, \"Error\", x);\n}\nfunction mapOk(f, result) {\n return result.tag === 0 ? ok(f(result.fields[0])) : result;\n}\nfunction mapError(f, result) {\n return result.tag === 1 ? error(f(result.fields[0])) : result;\n}\nfunction bindOk(f, result) {\n return result.tag === 0 ? f(result.fields[0]) : result;\n}\n//# sourceMappingURL=Option.js.map\n\n//# sourceURL=webpack:///./.fable/fable-library.2.10.1/Option.js?");
254
-
255
- /***/ }),
256
-
257
- /***/ "./.fable/fable-library.2.10.1/Reflection.js":
258
- /*!***************************************************!*\
259
- !*** ./.fable/fable-library.2.10.1/Reflection.js ***!
260
- \***************************************************/
261
- /*! exports provided: CaseInfo, TypeInfo, getGenerics, equals, compare, class_type, record_type, anonRecord_type, union_type, tuple_type, delegate_type, lambda_type, option_type, list_type, array_type, enum_type, obj_type, unit_type, char_type, string_type, bool_type, int8_type, uint8_type, int16_type, uint16_type, int32_type, uint32_type, float32_type, float64_type, decimal_type, name, fullName, namespace, isArray, getElementType, isGenericType, isEnum, getGenericTypeDefinition, getEnumUnderlyingType, getEnumValues, getEnumNames, parseEnum, tryParseEnum, getEnumName, isEnumDefined, getUnionCases, getRecordElements, getTupleElements, getFunctionElements, isUnion, isRecord, isTuple, isFunction, getUnionFields, getUnionCaseFields, getRecordFields, getRecordField, getTupleFields, getTupleField, makeUnion, makeRecord, makeTuple, makeGenericType, createInstance, getValue, getCaseTag, getCaseName, getCaseFields */
262
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
263
-
264
- "use strict";
265
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CaseInfo\", function() { return CaseInfo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TypeInfo\", function() { return TypeInfo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getGenerics\", function() { return getGenerics; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"equals\", function() { return equals; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"compare\", function() { return compare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"class_type\", function() { return class_type; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"record_type\", function() { return record_type; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"anonRecord_type\", function() { return anonRecord_type; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"union_type\", function() { return union_type; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tuple_type\", function() { return tuple_type; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"delegate_type\", function() { return delegate_type; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lambda_type\", function() { return lambda_type; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"option_type\", function() { return option_type; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"list_type\", function() { return list_type; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"array_type\", function() { return array_type; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"enum_type\", function() { return enum_type; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"obj_type\", function() { return obj_type; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"unit_type\", function() { return unit_type; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"char_type\", function() { return char_type; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"string_type\", function() { return string_type; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bool_type\", function() { return bool_type; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"int8_type\", function() { return int8_type; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"uint8_type\", function() { return uint8_type; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"int16_type\", function() { return int16_type; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"uint16_type\", function() { return uint16_type; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"int32_type\", function() { return int32_type; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"uint32_type\", function() { return uint32_type; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"float32_type\", function() { return float32_type; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"float64_type\", function() { return float64_type; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"decimal_type\", function() { return decimal_type; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"name\", function() { return name; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fullName\", function() { return fullName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"namespace\", function() { return namespace; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isArray\", function() { return isArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getElementType\", function() { return getElementType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isGenericType\", function() { return isGenericType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isEnum\", function() { return isEnum; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getGenericTypeDefinition\", function() { return getGenericTypeDefinition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getEnumUnderlyingType\", function() { return getEnumUnderlyingType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getEnumValues\", function() { return getEnumValues; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getEnumNames\", function() { return getEnumNames; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseEnum\", function() { return parseEnum; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryParseEnum\", function() { return tryParseEnum; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getEnumName\", function() { return getEnumName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isEnumDefined\", function() { return isEnumDefined; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getUnionCases\", function() { return getUnionCases; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getRecordElements\", function() { return getRecordElements; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTupleElements\", function() { return getTupleElements; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getFunctionElements\", function() { return getFunctionElements; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isUnion\", function() { return isUnion; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isRecord\", function() { return isRecord; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isTuple\", function() { return isTuple; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isFunction\", function() { return isFunction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getUnionFields\", function() { return getUnionFields; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getUnionCaseFields\", function() { return getUnionCaseFields; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getRecordFields\", function() { return getRecordFields; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getRecordField\", function() { return getRecordField; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTupleFields\", function() { return getTupleFields; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTupleField\", function() { return getTupleField; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeUnion\", function() { return makeUnion; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeRecord\", function() { return makeRecord; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeTuple\", function() { return makeTuple; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeGenericType\", function() { return makeGenericType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createInstance\", function() { return createInstance; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getValue\", function() { return getValue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getCaseTag\", function() { return getCaseTag; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getCaseName\", function() { return getCaseName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getCaseFields\", function() { return getCaseFields; });\n/* harmony import */ var _Types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Types */ \"./.fable/fable-library.2.10.1/Types.js\");\n/* harmony import */ var _Util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Util */ \"./.fable/fable-library.2.10.1/Util.js\");\n\n\nclass CaseInfo {\n constructor(declaringType, tag, name, fields) {\n this.declaringType = declaringType;\n this.tag = tag;\n this.name = name;\n this.fields = fields;\n }\n}\nclass TypeInfo {\n constructor(fullname, generics, construct, fields, cases, enumCases) {\n this.fullname = fullname;\n this.generics = generics;\n this.construct = construct;\n this.fields = fields;\n this.cases = cases;\n this.enumCases = enumCases;\n }\n toString() {\n return fullName(this);\n }\n Equals(other) {\n return equals(this, other);\n }\n CompareTo(other) {\n return compare(this, other);\n }\n}\nfunction getGenerics(t) {\n return t.generics != null ? t.generics : [];\n}\nfunction equals(t1, t2) {\n if (t1.fullname === \"\") { // Anonymous records\n return t2.fullname === \"\"\n && Object(_Util__WEBPACK_IMPORTED_MODULE_1__[\"equalArraysWith\"])(getRecordElements(t1), getRecordElements(t2), ([k1, v1], [k2, v2]) => k1 === k2 && equals(v1, v2));\n }\n else {\n return t1.fullname === t2.fullname\n && Object(_Util__WEBPACK_IMPORTED_MODULE_1__[\"equalArraysWith\"])(getGenerics(t1), getGenerics(t2), equals);\n }\n}\n// System.Type is not comparable in .NET, but let's implement this\n// in case users want to create a dictionary with types as keys\nfunction compare(t1, t2) {\n if (t1.fullname !== t2.fullname) {\n return t1.fullname < t2.fullname ? -1 : 1;\n }\n else {\n return Object(_Util__WEBPACK_IMPORTED_MODULE_1__[\"compareArraysWith\"])(getGenerics(t1), getGenerics(t2), compare);\n }\n}\nfunction class_type(fullname, generics, construct) {\n return new TypeInfo(fullname, generics, construct);\n}\nfunction record_type(fullname, generics, construct, fields) {\n return new TypeInfo(fullname, generics, construct, fields);\n}\nfunction anonRecord_type(...fields) {\n return new TypeInfo(\"\", undefined, undefined, () => fields);\n}\nfunction union_type(fullname, generics, construct, cases) {\n const t = new TypeInfo(fullname, generics, construct, undefined, () => cases().map((x, i) => typeof x === \"string\"\n ? new CaseInfo(t, i, x)\n : new CaseInfo(t, i, x[0], x[1])));\n return t;\n}\nfunction tuple_type(...generics) {\n return new TypeInfo(\"System.Tuple`\" + generics.length, generics);\n}\nfunction delegate_type(...generics) {\n return new TypeInfo(\"System.Func`\" + generics.length, generics);\n}\nfunction lambda_type(argType, returnType) {\n return new TypeInfo(\"Microsoft.FSharp.Core.FSharpFunc`2\", [argType, returnType]);\n}\nfunction option_type(generic) {\n return new TypeInfo(\"Microsoft.FSharp.Core.FSharpOption`1\", [generic]);\n}\nfunction list_type(generic) {\n return new TypeInfo(\"Microsoft.FSharp.Collections.FSharpList`1\", [generic]);\n}\nfunction array_type(generic) {\n return new TypeInfo(generic.fullname + \"[]\", [generic]);\n}\nfunction enum_type(fullname, underlyingType, enumCases) {\n return new TypeInfo(fullname, [underlyingType], undefined, undefined, undefined, enumCases);\n}\nconst obj_type = new TypeInfo(\"System.Object\");\nconst unit_type = new TypeInfo(\"Microsoft.FSharp.Core.Unit\");\nconst char_type = new TypeInfo(\"System.Char\");\nconst string_type = new TypeInfo(\"System.String\");\nconst bool_type = new TypeInfo(\"System.Boolean\");\nconst int8_type = new TypeInfo(\"System.SByte\");\nconst uint8_type = new TypeInfo(\"System.Byte\");\nconst int16_type = new TypeInfo(\"System.Int16\");\nconst uint16_type = new TypeInfo(\"System.UInt16\");\nconst int32_type = new TypeInfo(\"System.Int32\");\nconst uint32_type = new TypeInfo(\"System.UInt32\");\nconst float32_type = new TypeInfo(\"System.Single\");\nconst float64_type = new TypeInfo(\"System.Double\");\nconst decimal_type = new TypeInfo(\"System.Decimal\");\nfunction name(info) {\n if (Array.isArray(info)) {\n return info[0];\n }\n else if (info instanceof CaseInfo) {\n return info.name;\n }\n else {\n const i = info.fullname.lastIndexOf(\".\");\n return i === -1 ? info.fullname : info.fullname.substr(i + 1);\n }\n}\nfunction fullName(t) {\n const gen = t.generics != null && !isArray(t) ? t.generics : [];\n if (gen.length > 0) {\n return t.fullname + \"[\" + gen.map((x) => fullName(x)).join(\",\") + \"]\";\n }\n else {\n return t.fullname;\n }\n}\nfunction namespace(t) {\n const i = t.fullname.lastIndexOf(\".\");\n return i === -1 ? \"\" : t.fullname.substr(0, i);\n}\nfunction isArray(t) {\n return t.fullname.endsWith(\"[]\");\n}\nfunction getElementType(t) {\n var _a;\n return isArray(t) ? (_a = t.generics) === null || _a === void 0 ? void 0 : _a[0] : undefined;\n}\nfunction isGenericType(t) {\n return t.generics != null && t.generics.length > 0;\n}\nfunction isEnum(t) {\n return t.enumCases != null && t.enumCases.length > 0;\n}\n/**\n * This doesn't replace types for fields (records) or cases (unions)\n * but it should be enough for type comparison purposes\n */\nfunction getGenericTypeDefinition(t) {\n return t.generics == null ? t : new TypeInfo(t.fullname, t.generics.map(() => obj_type));\n}\nfunction getEnumUnderlyingType(t) {\n var _a;\n return (_a = t.generics) === null || _a === void 0 ? void 0 : _a[0];\n}\nfunction getEnumValues(t) {\n if (isEnum(t) && t.enumCases != null) {\n return t.enumCases.map((kv) => kv[1]);\n }\n else {\n throw new Error(`${t.fullname} is not an enum type`);\n }\n}\nfunction getEnumNames(t) {\n if (isEnum(t) && t.enumCases != null) {\n return t.enumCases.map((kv) => kv[0]);\n }\n else {\n throw new Error(`${t.fullname} is not an enum type`);\n }\n}\nfunction getEnumCase(t, v) {\n if (t.enumCases != null) {\n if (typeof v === \"string\") {\n for (const kv of t.enumCases) {\n if (kv[0] === v) {\n return kv;\n }\n }\n throw new Error(`'${v}' was not found in ${t.fullname}`);\n }\n else {\n for (const kv of t.enumCases) {\n if (kv[1] === v) {\n return kv;\n }\n }\n // .NET returns the number even if it doesn't match any of the cases\n return [\"\", v];\n }\n }\n else {\n throw new Error(`${t.fullname} is not an enum type`);\n }\n}\nfunction parseEnum(t, str) {\n // TODO: better int parsing here, parseInt ceils floats: \"4.8\" -> 4\n const value = parseInt(str, 10);\n return getEnumCase(t, isNaN(value) ? str : value)[1];\n}\nfunction tryParseEnum(t, str) {\n try {\n const v = parseEnum(t, str);\n return [true, v];\n }\n catch (_a) {\n // supress error\n }\n return [false, NaN];\n}\nfunction getEnumName(t, v) {\n return getEnumCase(t, v)[0];\n}\nfunction isEnumDefined(t, v) {\n try {\n const kv = getEnumCase(t, v);\n return kv[0] != null && kv[0] !== \"\";\n }\n catch (_a) {\n // supress error\n }\n return false;\n}\n// FSharpType\nfunction getUnionCases(t) {\n if (t.cases != null) {\n return t.cases();\n }\n else {\n throw new Error(`${t.fullname} is not an F# union type`);\n }\n}\nfunction getRecordElements(t) {\n if (t.fields != null) {\n return t.fields();\n }\n else {\n throw new Error(`${t.fullname} is not an F# record type`);\n }\n}\nfunction getTupleElements(t) {\n if (isTuple(t) && t.generics != null) {\n return t.generics;\n }\n else {\n throw new Error(`${t.fullname} is not a tuple type`);\n }\n}\nfunction getFunctionElements(t) {\n if (isFunction(t) && t.generics != null) {\n const gen = t.generics;\n return [gen[0], gen[1]];\n }\n else {\n throw new Error(`${t.fullname} is not an F# function type`);\n }\n}\nfunction isUnion(t) {\n return t instanceof TypeInfo ? t.cases != null : t instanceof _Types__WEBPACK_IMPORTED_MODULE_0__[\"Union\"];\n}\nfunction isRecord(t) {\n return t instanceof TypeInfo ? t.fields != null : t instanceof _Types__WEBPACK_IMPORTED_MODULE_0__[\"Record\"];\n}\nfunction isTuple(t) {\n return t.fullname.startsWith(\"System.Tuple\");\n}\n// In .NET this is false for delegates\nfunction isFunction(t) {\n return t.fullname === \"Microsoft.FSharp.Core.FSharpFunc`2\";\n}\n// FSharpValue\nfunction getUnionFields(v, t) {\n const cases = getUnionCases(t);\n const case_ = cases[v.tag];\n if (case_ == null) {\n throw new Error(`Cannot find case ${v.name} in union type`);\n }\n return [case_, v.fields];\n}\nfunction getUnionCaseFields(uci) {\n return uci.fields == null ? [] : uci.fields;\n}\nfunction getRecordFields(v) {\n return Object.keys(v).map((k) => v[k]);\n}\nfunction getRecordField(v, field) {\n return v[field[0]];\n}\nfunction getTupleFields(v) {\n return v;\n}\nfunction getTupleField(v, i) {\n return v[i];\n}\nfunction makeUnion(uci, values) {\n const expectedLength = (uci.fields || []).length;\n if (values.length !== expectedLength) {\n throw new Error(`Expected an array of length ${expectedLength} but got ${values.length}`);\n }\n return uci.declaringType.construct != null\n ? new uci.declaringType.construct(uci.tag, uci.name, ...values)\n : {};\n}\nfunction makeRecord(t, values) {\n const fields = getRecordElements(t);\n if (fields.length !== values.length) {\n throw new Error(`Expected an array of length ${fields.length} but got ${values.length}`);\n }\n return t.construct != null\n ? new t.construct(...values)\n : Object(_Types__WEBPACK_IMPORTED_MODULE_0__[\"anonRecord\"])(fields.reduce((obj, [key, _t], i) => {\n obj[key] = values[i];\n return obj;\n }, {}));\n}\nfunction makeTuple(values, _t) {\n return values;\n}\nfunction makeGenericType(t, generics) {\n return new TypeInfo(t.fullname, generics, t.construct, t.fields, t.cases);\n}\nfunction createInstance(t, consArgs) {\n // TODO: Check if consArgs length is same as t.construct?\n // (Arg types can still be different)\n if (typeof t.construct === \"function\") {\n return new t.construct(...(consArgs !== null && consArgs !== void 0 ? consArgs : []));\n }\n else {\n throw new Error(`Cannot access constructor of ${t.fullname}`);\n }\n}\nfunction getValue(propertyInfo, v) {\n return v[propertyInfo[0]];\n}\n// Fable.Core.Reflection\nfunction assertUnion(x) {\n if (!(x instanceof _Types__WEBPACK_IMPORTED_MODULE_0__[\"Union\"])) {\n throw new Error(`Value is not an F# union type`);\n }\n}\nfunction getCaseTag(x) {\n assertUnion(x);\n return x.tag;\n}\nfunction getCaseName(x) {\n assertUnion(x);\n return x.name;\n}\nfunction getCaseFields(x) {\n assertUnion(x);\n return x.fields;\n}\n//# sourceMappingURL=Reflection.js.map\n\n//# sourceURL=webpack:///./.fable/fable-library.2.10.1/Reflection.js?");
266
-
267
- /***/ }),
268
-
269
- /***/ "./.fable/fable-library.2.10.1/RegExp.js":
270
- /*!***********************************************!*\
271
- !*** ./.fable/fable-library.2.10.1/RegExp.js ***!
272
- \***********************************************/
273
- /*! exports provided: create, escape, unescape, isMatch, match, matches, options, replace, split */
274
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
275
-
276
- "use strict";
277
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"create\", function() { return create; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"escape\", function() { return escape; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"unescape\", function() { return unescape; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isMatch\", function() { return isMatch; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"match\", function() { return match; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"matches\", function() { return matches; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"options\", function() { return options; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"replace\", function() { return replace; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"split\", function() { return split; });\nfunction create(pattern, options = 0) {\n // Supported RegexOptions\n // * IgnoreCase: 0x0001\n // * Multiline: 0x0002\n // * Singleline: 0x0010\n // * ECMAScript: 0x0100 (ignored)\n if ((options & ~(1 ^ 2 ^ 16 ^ 256)) !== 0) {\n throw new Error(\"RegexOptions only supports: IgnoreCase, Multiline, Singleline and ECMAScript\");\n }\n let flags = \"g\";\n flags += options & 1 ? \"i\" : \"\"; // 0x0001 RegexOptions.IgnoreCase\n flags += options & 2 ? \"m\" : \"\";\n flags += options & 16 ? \"s\" : \"\";\n return new RegExp(pattern, flags);\n}\n// From http://stackoverflow.com/questions/3446170/escape-string-for-use-in-javascript-regex\nfunction escape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, \"\\\\$&\");\n}\nfunction unescape(str) {\n return str.replace(/\\\\([\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|])/g, \"$1\");\n}\nfunction isMatch(str, pattern, options = 0) {\n let reg;\n reg = str instanceof RegExp\n ? (reg = str, str = pattern, reg.lastIndex = options, reg)\n : reg = create(pattern, options);\n return reg.test(str);\n}\nfunction match(str, pattern, options = 0) {\n let reg;\n reg = str instanceof RegExp\n ? (reg = str, str = pattern, reg.lastIndex = options, reg)\n : reg = create(pattern, options);\n return reg.exec(str);\n}\nfunction matches(str, pattern, options = 0) {\n let reg;\n reg = str instanceof RegExp\n ? (reg = str, str = pattern, reg.lastIndex = options, reg)\n : reg = create(pattern, options);\n if (!reg.global) {\n throw new Error(\"Non-global RegExp\"); // Prevent infinite loop\n }\n let m = reg.exec(str);\n const matches = [];\n while (m !== null) {\n matches.push(m);\n m = reg.exec(str);\n }\n return matches;\n}\nfunction options(reg) {\n let options = 256; // ECMAScript\n options |= reg.ignoreCase ? 1 : 0;\n options |= reg.multiline ? 2 : 0;\n return options;\n}\nfunction replace(reg, input, replacement, limit, offset = 0) {\n function replacer() {\n let res = arguments[0];\n if (limit) {\n limit--;\n const match = [];\n const len = arguments.length;\n for (let i = 0; i < len - 2; i++) {\n match.push(arguments[i]);\n }\n match.index = arguments[len - 2];\n match.input = arguments[len - 1];\n res = replacement(match);\n }\n return res;\n }\n if (typeof reg === \"string\") {\n const tmp = reg;\n reg = create(input, limit !== null && limit !== void 0 ? limit : 0);\n input = tmp;\n limit = undefined;\n }\n if (typeof replacement === \"function\") {\n limit = limit == null ? -1 : limit;\n return input.substring(0, offset) + input.substring(offset).replace(reg, replacer);\n }\n else {\n // $0 doesn't work with JS regex, see #1155\n replacement = replacement.replace(/\\$0/g, (_s) => \"$&\");\n if (limit != null) {\n let m;\n const sub1 = input.substring(offset);\n const _matches = matches(reg, sub1);\n const sub2 = matches.length > limit ? (m = _matches[limit - 1], sub1.substring(0, m.index + m[0].length)) : sub1;\n return input.substring(0, offset) + sub2.replace(reg, replacement)\n + input.substring(offset + sub2.length);\n }\n else {\n return input.replace(reg, replacement);\n }\n }\n}\nfunction split(reg, input, limit, offset = 0) {\n if (typeof reg === \"string\") {\n const tmp = reg;\n reg = create(input, limit !== null && limit !== void 0 ? limit : 0);\n input = tmp;\n limit = undefined;\n }\n input = input.substring(offset);\n return input.split(reg, limit);\n}\n//# sourceMappingURL=RegExp.js.map\n\n//# sourceURL=webpack:///./.fable/fable-library.2.10.1/RegExp.js?");
278
-
279
- /***/ }),
280
-
281
- /***/ "./.fable/fable-library.2.10.1/Seq.js":
282
- /*!********************************************!*\
283
- !*** ./.fable/fable-library.2.10.1/Seq.js ***!
284
- \********************************************/
285
- /*! exports provided: Enumerator, getEnumerator, toIterator, ofArray, allPairs, append, average, averageBy, concat, collect, choose, compareWith, delay, empty, singleton, enumerateFromFunctions, enumerateWhile, enumerateThenFinally, enumerateUsing, exactlyOne, except, exists, exists2, forAll, forAll2, contains, filter, where, fold, foldBack, fold2, foldBack2, tryHead, head, initialize, initializeInfinite, tryItem, item, iterate, iterate2, iterateIndexed, iterateIndexed2, isEmpty, tryLast, last, length, map, mapIndexed, indexed, map2, mapIndexed2, map3, mapFold, mapFoldBack, max, maxBy, min, minBy, pairwise, rangeChar, rangeLong, rangeDecimal, rangeNumber, readOnly, reduce, reduceBack, replicate, reverse, scan, scanBack, skip, skipWhile, sortWith, sum, sumBy, tail, take, truncate, takeWhile, tryFind, find, tryFindBack, findBack, tryFindIndex, findIndex, tryFindIndexBack, findIndexBack, tryPick, pick, unfold, zip, zip3, windowed, transpose */
286
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
287
-
288
- "use strict";
289
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Enumerator\", function() { return Enumerator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getEnumerator\", function() { return getEnumerator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toIterator\", function() { return toIterator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ofArray\", function() { return ofArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"allPairs\", function() { return allPairs; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"append\", function() { return append; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"average\", function() { return average; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"averageBy\", function() { return averageBy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"concat\", function() { return concat; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"collect\", function() { return collect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"choose\", function() { return choose; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"compareWith\", function() { return compareWith; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"delay\", function() { return delay; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"empty\", function() { return empty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"singleton\", function() { return singleton; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"enumerateFromFunctions\", function() { return enumerateFromFunctions; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"enumerateWhile\", function() { return enumerateWhile; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"enumerateThenFinally\", function() { return enumerateThenFinally; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"enumerateUsing\", function() { return enumerateUsing; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"exactlyOne\", function() { return exactlyOne; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"except\", function() { return except; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"exists\", function() { return exists; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"exists2\", function() { return exists2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forAll\", function() { return forAll; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forAll2\", function() { return forAll2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"contains\", function() { return contains; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"filter\", function() { return filter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"where\", function() { return where; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fold\", function() { return fold; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"foldBack\", function() { return foldBack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fold2\", function() { return fold2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"foldBack2\", function() { return foldBack2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryHead\", function() { return tryHead; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"head\", function() { return head; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"initialize\", function() { return initialize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"initializeInfinite\", function() { return initializeInfinite; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryItem\", function() { return tryItem; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"item\", function() { return item; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"iterate\", function() { return iterate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"iterate2\", function() { return iterate2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"iterateIndexed\", function() { return iterateIndexed; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"iterateIndexed2\", function() { return iterateIndexed2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isEmpty\", function() { return isEmpty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryLast\", function() { return tryLast; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"last\", function() { return last; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"length\", function() { return length; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"map\", function() { return map; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mapIndexed\", function() { return mapIndexed; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"indexed\", function() { return indexed; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"map2\", function() { return map2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mapIndexed2\", function() { return mapIndexed2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"map3\", function() { return map3; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mapFold\", function() { return mapFold; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mapFoldBack\", function() { return mapFoldBack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"max\", function() { return max; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"maxBy\", function() { return maxBy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"min\", function() { return min; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"minBy\", function() { return minBy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pairwise\", function() { return pairwise; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rangeChar\", function() { return rangeChar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rangeLong\", function() { return rangeLong; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rangeDecimal\", function() { return rangeDecimal; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rangeNumber\", function() { return rangeNumber; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"readOnly\", function() { return readOnly; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"reduce\", function() { return reduce; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"reduceBack\", function() { return reduceBack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"replicate\", function() { return replicate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"reverse\", function() { return reverse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"scan\", function() { return scan; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"scanBack\", function() { return scanBack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"skip\", function() { return skip; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"skipWhile\", function() { return skipWhile; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sortWith\", function() { return sortWith; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sum\", function() { return sum; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sumBy\", function() { return sumBy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tail\", function() { return tail; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"take\", function() { return take; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"truncate\", function() { return truncate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"takeWhile\", function() { return takeWhile; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryFind\", function() { return tryFind; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"find\", function() { return find; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryFindBack\", function() { return tryFindBack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"findBack\", function() { return findBack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryFindIndex\", function() { return tryFindIndex; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"findIndex\", function() { return findIndex; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryFindIndexBack\", function() { return tryFindIndexBack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"findIndexBack\", function() { return findIndexBack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryPick\", function() { return tryPick; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pick\", function() { return pick; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"unfold\", function() { return unfold; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"zip\", function() { return zip; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"zip3\", function() { return zip3; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"windowed\", function() { return windowed; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"transpose\", function() { return transpose; });\n/* harmony import */ var _Decimal__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Decimal */ \"./.fable/fable-library.2.10.1/Decimal.js\");\n/* harmony import */ var _Long__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Long */ \"./.fable/fable-library.2.10.1/Long.js\");\n/* harmony import */ var _Option__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Option */ \"./.fable/fable-library.2.10.1/Option.js\");\n/* harmony import */ var _Util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Util */ \"./.fable/fable-library.2.10.1/Util.js\");\n\n\n\n\nclass 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() {\n return this.current;\n }\n Reset() {\n throw new Error(\"JS iterators cannot be reset\");\n }\n Dispose() {\n return;\n }\n}\nfunction getEnumerator(o) {\n return new Enumerator(o[Symbol.iterator]());\n}\nfunction toIterator(en) {\n return {\n next() {\n return en.MoveNext()\n ? { done: false, value: en.Current }\n : { done: true, value: undefined };\n },\n };\n}\n// export function toIterable<T>(en: IEnumerable<T>): Iterable<T> {\n// return {\n// [Symbol.iterator]() {\n// return toIterator(en.GetEnumerator());\n// },\n// };\n// }\nfunction __failIfNone(res) {\n if (res == null) {\n throw new Error(\"Seq did not contain any matching element\");\n }\n return Object(_Option__WEBPACK_IMPORTED_MODULE_2__[\"value\"])(res);\n}\nfunction makeSeq(f) {\n const seq = {\n [Symbol.iterator]: f,\n toString: () => \"seq [\" + Array.from(seq).join(\"; \") + \"]\",\n };\n return seq;\n}\nfunction ofArray(xs) {\n return delay(() => unfold((i) => i != null && i < xs.length ? [xs[i], i + 1] : undefined, 0));\n}\nfunction allPairs(xs, ys) {\n let firstEl = true;\n const ysCache = [];\n return collect((x) => {\n if (firstEl) {\n firstEl = false;\n return map((y) => {\n ysCache.push(y);\n return [x, y];\n }, ys);\n }\n else {\n return ysCache.map((y) => [x, y]);\n // return map(function (i) {\n // return [x, ysCache[i]];\n // }, rangeNumber(0, 1, ysCache.length - 1));\n }\n }, xs);\n}\nfunction append(xs, ys) {\n return delay(() => {\n let firstDone = false;\n const i = xs[Symbol.iterator]();\n let iters = [i, undefined];\n return unfold(() => {\n var _a, _b;\n let cur;\n if (!firstDone) {\n cur = (_a = iters[0]) === null || _a === void 0 ? void 0 : _a.next();\n if (cur != null && !cur.done) {\n return [cur.value, iters];\n }\n else {\n firstDone = true;\n iters = [undefined, ys[Symbol.iterator]()];\n }\n }\n cur = (_b = iters[1]) === null || _b === void 0 ? void 0 : _b.next();\n return cur != null && !cur.done ? [cur.value, iters] : undefined;\n }, iters);\n });\n}\nfunction average(xs, averager) {\n let count = 0;\n const total = fold((acc, x) => {\n count++;\n return averager.Add(acc, x);\n }, averager.GetZero(), xs);\n return averager.DivideByInt(total, count);\n}\nfunction averageBy(f, xs, averager) {\n let count = 0;\n const total = fold((acc, x) => {\n count++;\n return averager.Add(acc, f(x));\n }, averager.GetZero(), xs);\n return averager.DivideByInt(total, count);\n}\nfunction concat(xs) {\n return delay(() => {\n const iter = xs[Symbol.iterator]();\n let output;\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 = cur.value;\n hasFinished = true;\n }\n else {\n innerIter = undefined;\n }\n }\n }\n return innerIter != null ? [output, innerIter] : undefined;\n }, undefined);\n });\n}\nfunction collect(f, xs) {\n return concat(map(f, xs));\n}\nfunction 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 [Object(_Option__WEBPACK_IMPORTED_MODULE_2__[\"value\"])(y), iter];\n }\n cur = iter.next();\n }\n return undefined;\n }, xs[Symbol.iterator]()));\n}\nfunction compareWith(f, xs, ys) {\n const nonZero = tryFind((i) => i !== 0, map2(f, xs, ys));\n return nonZero != null ? Object(_Option__WEBPACK_IMPORTED_MODULE_2__[\"value\"])(nonZero) : length(xs) - length(ys);\n}\nfunction delay(f) {\n return makeSeq(() => f()[Symbol.iterator]());\n}\nfunction empty() {\n return [];\n}\nfunction singleton(y) {\n return [y];\n}\nfunction enumerateFromFunctions(factory, moveNext, current) {\n return delay(() => unfold((e) => moveNext(e) ? [current(e), e] : undefined, factory()));\n}\nfunction enumerateWhile(cond, xs) {\n return concat(unfold(() => cond() ? [xs, true] : undefined, undefined));\n}\nfunction enumerateThenFinally(xs, finalFn) {\n return delay(() => {\n let iter;\n try {\n iter = xs[Symbol.iterator]();\n }\n catch (err) {\n try {\n return empty();\n }\n finally {\n finalFn();\n }\n }\n return unfold((it) => {\n try {\n const cur = it.next();\n return !cur.done ? [cur.value, it] : undefined;\n }\n catch (err) {\n return undefined;\n }\n finally {\n finalFn();\n }\n }, iter);\n });\n}\nfunction 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}\nfunction 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}\nfunction except(itemsToExclude, source) {\n const exclusionItems = Array.from(itemsToExclude);\n const testIsNotInExclusionItems = (element) => !exclusionItems.some((excludedItem) => Object(_Util__WEBPACK_IMPORTED_MODULE_3__[\"equals\"])(excludedItem, element));\n return filter(testIsNotInExclusionItems, source);\n}\nfunction 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}\nfunction 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}\nfunction forAll(f, xs) {\n return !exists((x) => !f(x), xs);\n}\nfunction forAll2(f, xs, ys) {\n return !exists2((x, y) => !f(x, y), xs, ys);\n}\nfunction contains(i, xs) {\n return exists((x) => Object(_Util__WEBPACK_IMPORTED_MODULE_3__[\"equals\"])(x, i), xs);\n}\nfunction 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 undefined;\n }, xs[Symbol.iterator]()));\n}\nfunction where(f, xs) {\n return filter(f, xs);\n}\nfunction 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}\nfunction 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}\nfunction 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}\nfunction 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}\nfunction tryHead(xs) {\n const iter = xs[Symbol.iterator]();\n const cur = iter.next();\n return cur.done ? undefined : Object(_Option__WEBPACK_IMPORTED_MODULE_2__[\"some\"])(cur.value);\n}\nfunction head(xs) {\n return __failIfNone(tryHead(xs));\n}\nfunction initialize(n, f) {\n return delay(() => unfold((i) => i < n ? [f(i), i + 1] : undefined, 0));\n}\nfunction initializeInfinite(f) {\n return delay(() => unfold((i) => [f(i), i + 1], 0));\n}\nfunction tryItem(i, xs) {\n if (i < 0) {\n return undefined;\n }\n if (Array.isArray(xs) || ArrayBuffer.isView(xs)) {\n return i < xs.length ? Object(_Option__WEBPACK_IMPORTED_MODULE_2__[\"some\"])(xs[i]) : undefined;\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 Object(_Option__WEBPACK_IMPORTED_MODULE_2__[\"some\"])(cur.value);\n }\n }\n return undefined;\n}\nfunction item(i, xs) {\n return __failIfNone(tryItem(i, xs));\n}\nfunction iterate(f, xs) {\n fold((_, x) => (f(x), undefined), undefined, xs);\n}\nfunction iterate2(f, xs, ys) {\n fold2((_, x, y) => (f(x, y), undefined), undefined, xs, ys);\n}\nfunction iterateIndexed(f, xs) {\n fold((_, x, i) => (f(i !== null && i !== void 0 ? i : 0, x), undefined), undefined, xs);\n}\nfunction iterateIndexed2(f, xs, ys) {\n fold2((_, x, y, i) => (f(i !== null && i !== void 0 ? i : 0, x, y), undefined), undefined, xs, ys);\n}\nfunction isEmpty(xs) {\n const i = xs[Symbol.iterator]();\n return i.next().done;\n}\nfunction tryLast(xs) {\n return isEmpty(xs) ? undefined : Object(_Option__WEBPACK_IMPORTED_MODULE_2__[\"some\"])(reduce((_, x) => x, xs));\n}\nfunction last(xs) {\n return __failIfNone(tryLast(xs));\n}\nfunction length(xs) {\n return Array.isArray(xs) || ArrayBuffer.isView(xs)\n ? xs.length\n : fold((acc, _x) => acc + 1, 0, xs);\n}\nfunction map(f, xs) {\n return delay(() => unfold((iter) => {\n const cur = iter.next();\n return !cur.done ? [f(cur.value), iter] : undefined;\n }, xs[Symbol.iterator]()));\n}\nfunction 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] : undefined;\n }, xs[Symbol.iterator]());\n });\n}\nfunction indexed(xs) {\n return mapIndexed((i, x) => [i, x], xs);\n}\nfunction 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), undefined] : undefined;\n }, undefined);\n });\n}\nfunction 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), undefined] : undefined;\n }, undefined);\n });\n}\nfunction 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), undefined] : undefined;\n }, undefined);\n });\n}\nfunction 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}\nfunction 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}\nfunction max(xs, comparer) {\n const compareFn = comparer != null ? comparer.Compare : _Util__WEBPACK_IMPORTED_MODULE_3__[\"compare\"];\n return reduce((acc, x) => compareFn(acc, x) === 1 ? acc : x, xs);\n}\nfunction maxBy(f, xs, comparer) {\n const compareFn = comparer != null ? comparer.Compare : _Util__WEBPACK_IMPORTED_MODULE_3__[\"compare\"];\n return reduce((acc, x) => compareFn(f(acc), f(x)) === 1 ? acc : x, xs);\n}\nfunction min(xs, comparer) {\n const compareFn = comparer != null ? comparer.Compare : _Util__WEBPACK_IMPORTED_MODULE_3__[\"compare\"];\n return reduce((acc, x) => compareFn(acc, x) === -1 ? acc : x, xs);\n}\nfunction minBy(f, xs, comparer) {\n const compareFn = comparer != null ? comparer.Compare : _Util__WEBPACK_IMPORTED_MODULE_3__[\"compare\"];\n return reduce((acc, x) => compareFn(f(acc), f(x)) === -1 ? acc : x, xs);\n}\nfunction pairwise(xs) {\n return delay(() => {\n const iter = xs[Symbol.iterator]();\n const cur = iter.next();\n if (cur.done) {\n return empty();\n }\n const hd = cur.value;\n const tl = tail(xs);\n const ys = scan(([_, last], next) => [last, next], [hd, hd], tl);\n return skip(1, ys);\n });\n}\nfunction rangeChar(first, last) {\n return delay(() => unfold((x) => x <= last ? [x, String.fromCharCode(x.charCodeAt(0) + 1)] : undefined, first));\n}\nfunction rangeLong(first, step, last, unsigned) {\n const stepFn = Object(_Long__WEBPACK_IMPORTED_MODULE_1__[\"makeRangeStepFunction\"])(step, last, unsigned);\n return delay(() => unfold(stepFn, first));\n}\nfunction rangeDecimal(first, step, last) {\n const stepFn = Object(_Decimal__WEBPACK_IMPORTED_MODULE_0__[\"makeRangeStepFunction\"])(step, last);\n return delay(() => unfold(stepFn, first));\n}\nfunction rangeNumber(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] : undefined, first));\n}\nfunction readOnly(xs) {\n return map((x) => x, xs);\n}\nfunction 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}\nfunction 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}\nfunction replicate(n, x) {\n return initialize(n, () => x);\n}\nfunction reverse(xs) {\n const ar = Array.isArray(xs) || ArrayBuffer.isView(xs) ? xs.slice(0) : Array.from(xs);\n return ofArray(ar.reverse());\n}\nfunction 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 undefined;\n }, undefined);\n });\n}\nfunction scanBack(f, xs, seed) {\n return reverse(scan((acc, x) => f(x, acc), seed, reverse(xs)));\n}\nfunction skip(n, xs) {\n return makeSeq(() => {\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}\nfunction skipWhile(f, xs) {\n return delay(() => {\n let hasPassed = false;\n return filter((x) => hasPassed || (hasPassed = !f(x)), xs);\n });\n}\nfunction sortWith(f, xs) {\n const ys = Array.from(xs);\n return ofArray(ys.sort(f));\n}\nfunction sum(xs, adder) {\n return fold((acc, x) => adder.Add(acc, x), adder.GetZero(), xs);\n}\nfunction sumBy(f, xs, adder) {\n return fold((acc, x) => adder.Add(acc, f(x)), adder.GetZero(), xs);\n}\nfunction tail(xs) {\n return skip(1, xs);\n}\nfunction 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 undefined;\n }, 0);\n });\n}\nfunction truncate(n, xs) {\n return take(n, xs, true);\n}\nfunction takeWhile(f, xs) {\n return delay(() => {\n const iter = xs[Symbol.iterator]();\n return unfold(() => {\n const cur = iter.next();\n if (!cur.done && f(cur.value)) {\n return [cur.value, undefined];\n }\n return undefined;\n }, 0);\n });\n}\nfunction 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 Object(_Option__WEBPACK_IMPORTED_MODULE_2__[\"some\"])(cur.value);\n }\n }\n return defaultValue === void 0 ? undefined : Object(_Option__WEBPACK_IMPORTED_MODULE_2__[\"some\"])(defaultValue);\n}\nfunction find(f, xs) {\n return __failIfNone(tryFind(f, xs));\n}\nfunction 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}\nfunction findBack(f, xs) {\n return __failIfNone(tryFindBack(f, xs));\n}\nfunction 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 undefined;\n}\nfunction findIndex(f, xs) {\n return __failIfNone(tryFindIndex(f, xs));\n}\nfunction 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 undefined;\n}\nfunction findIndexBack(f, xs) {\n return __failIfNone(tryFindIndexBack(f, xs));\n}\nfunction 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 undefined;\n}\nfunction pick(f, xs) {\n return __failIfNone(tryPick(f, xs));\n}\nfunction unfold(f, fst) {\n return makeSeq(() => {\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 const iter = {\n next() {\n const res = f(acc);\n if (res != null) {\n const v = Object(_Option__WEBPACK_IMPORTED_MODULE_2__[\"value\"])(res);\n if (v != null) {\n acc = v[1];\n return { done: false, value: v[0] };\n }\n }\n return { done: true, value: undefined };\n },\n };\n return iter;\n });\n}\nfunction zip(xs, ys) {\n return map2((x, y) => [x, y], xs, ys);\n}\nfunction zip3(xs, ys, zs) {\n return map3((x, y, z) => [x, y, z], xs, ys, zs);\n}\nfunction windowed(windowSize, source) {\n if (windowSize <= 0) {\n throw new Error(\"windowSize must be positive\");\n }\n return makeSeq(() => {\n let window = [];\n const iter = source[Symbol.iterator]();\n const iter2 = {\n next() {\n let cur;\n while (window.length < windowSize) {\n if ((cur = iter.next()).done) {\n return { done: true, value: undefined };\n }\n window.push(cur.value);\n }\n const value = window;\n window = window.slice(1);\n return { done: false, value };\n },\n };\n return iter2;\n });\n}\nfunction transpose(source) {\n return makeSeq(() => {\n const iters = Array.from(source, (x) => x[Symbol.iterator]());\n const iter = {\n next() {\n if (iters.length === 0) {\n return { done: true, value: undefined }; // empty sequence\n }\n const results = Array.from(iters, (iter) => iter.next());\n if (results[0].done) {\n if (!results.every((x) => x.done)) {\n throw new Error(\"Sequences have different lengths\");\n }\n return { done: true, value: undefined };\n }\n else {\n if (!results.every((x) => !x.done)) {\n throw new Error(\"Sequences have different lengths\");\n }\n const values = results.map((x) => x.value);\n return { done: false, value: values };\n }\n },\n };\n return iter;\n });\n}\n//# sourceMappingURL=Seq.js.map\n\n//# sourceURL=webpack:///./.fable/fable-library.2.10.1/Seq.js?");
290
-
291
- /***/ }),
292
-
293
- /***/ "./.fable/fable-library.2.10.1/Set.js":
294
- /*!********************************************!*\
295
- !*** ./.fable/fable-library.2.10.1/Set.js ***!
296
- \********************************************/
297
- /*! exports provided: SetTree$00601, SetTree$00601$reflection, SetTreeModule$$$countAux, SetTreeModule$$$count, SetTreeModule$$$SetOne, SetTreeModule$$$SetNode, SetTreeModule$$$height, SetTreeModule$$$tolerance, SetTreeModule$$$mk, SetTreeModule$$$rebalance, SetTreeModule$$$add, SetTreeModule$$$balance, SetTreeModule$$$split, SetTreeModule$$$spliceOutSuccessor, SetTreeModule$$$remove, SetTreeModule$$$mem, SetTreeModule$$$iter, SetTreeModule$$$foldBack, SetTreeModule$$$fold, SetTreeModule$$$forall, SetTreeModule$$$exists, SetTreeModule$$$isEmpty, SetTreeModule$$$subset, SetTreeModule$$$psubset, SetTreeModule$$$filterAux, SetTreeModule$$$filter, SetTreeModule$$$diffAux, SetTreeModule$$$diff, SetTreeModule$$$union, SetTreeModule$$$intersectionAux, SetTreeModule$$$intersection, SetTreeModule$$$partition1, SetTreeModule$$$partitionAux, SetTreeModule$$$partition, SetTreeModule$$$$007CMatchSetNode$007CMatchSetEmpty$007C, SetTreeModule$$$minimumElementAux, SetTreeModule$$$minimumElementOpt, SetTreeModule$$$maximumElementAux, SetTreeModule$$$maximumElementOpt, SetTreeModule$$$minimumElement, SetTreeModule$$$maximumElement, SetTreeModule$002ESetIterator$00601, SetTreeModule$002ESetIterator$00601$reflection, SetTreeModule$$$collapseLHS, SetTreeModule$$$mkIterator, SetTreeModule$$$notStarted, SetTreeModule$$$alreadyFinished, SetTreeModule$$$current, SetTreeModule$$$moveNext, SetTreeModule$002EmkIEnumerator$00601, SetTreeModule$002EmkIEnumerator$00601$reflection, SetTreeModule$002EmkIEnumerator$00601$$$$002Ector$$Z5B395D56, SetTreeModule$$$mkIEnumerator, SetTreeModule$$$toSeq, SetTreeModule$$$compareStacks, SetTreeModule$$$compare, SetTreeModule$$$choose, SetTreeModule$$$loop, SetTreeModule$$$toList, SetTreeModule$$$copyToArray, SetTreeModule$$$mkFromEnumerator, SetTreeModule$$$ofSeq, SetTreeModule$$$ofArray, FSharpSet, FSharpSet$reflection, FSharpSet$$$$002Ector$$2528C5CB, FSharpSet$$get_Comparer, FSharpSet$$get_Tree, FSharpSet$$Add$$2B595, FSharpSet$$Remove$$2B595, FSharpSet$$get_Count, FSharpSet$$Contains$$2B595, FSharpSet$$Iterate$$5028453F, FSharpSet$$Fold, FSharpSet$$get_IsEmpty, FSharpSet$$Partition$$Z1D55A0D7, FSharpSet$$Filter$$Z1D55A0D7, FSharpSet$$Map$$7597B8F7, FSharpSet$$Exists$$Z1D55A0D7, FSharpSet$$ForAll$$Z1D55A0D7, FSharpSet$$$op_Subtraction, FSharpSet$$$op_Addition, FSharpSet$$$Intersection$$Z3BE9BFE0, FSharpSet$$$IntersectionMany$$Z15B59630, FSharpSet$$$Equality$$Z3BE9BFE0, FSharpSet$$$Compare$$Z3BE9BFE0, FSharpSet$$get_Choose, FSharpSet$$get_MinimumElement, FSharpSet$$get_MaximumElement, FSharpSet$$IsSubsetOf$$6A20B1FF, FSharpSet$$IsSupersetOf$$6A20B1FF, FSharpSet$$IsProperSubsetOf$$6A20B1FF, FSharpSet$$IsProperSupersetOf$$6A20B1FF, isEmpty, contains, add, singleton, remove, union, unionMany, intersect, intersectMany, iterate, empty, forAll, exists, filter, partition, fold, foldBack, map, count, minimumElement, maximumElement, ofList, ofArray, toList, toArray, toSeq, ofSeq, difference, isSubset, isSuperset, isProperSubset, isProperSuperset, minElement, maxElement, createMutable, distinct, distinctBy, unionWith, intersectWith, exceptWith, isSubsetOf, isSupersetOf, isProperSubsetOf, isProperSupersetOf */
298
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
299
-
300
- "use strict";
301
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTree$00601\", function() { return SetTree$00601; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTree$00601$reflection\", function() { return SetTree$00601$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$countAux\", function() { return SetTreeModule$$$countAux; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$count\", function() { return SetTreeModule$$$count; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$SetOne\", function() { return SetTreeModule$$$SetOne; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$SetNode\", function() { return SetTreeModule$$$SetNode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$height\", function() { return SetTreeModule$$$height; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$tolerance\", function() { return SetTreeModule$$$tolerance; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$mk\", function() { return SetTreeModule$$$mk; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$rebalance\", function() { return SetTreeModule$$$rebalance; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$add\", function() { return SetTreeModule$$$add; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$balance\", function() { return SetTreeModule$$$balance; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$split\", function() { return SetTreeModule$$$split; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$spliceOutSuccessor\", function() { return SetTreeModule$$$spliceOutSuccessor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$remove\", function() { return SetTreeModule$$$remove; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$mem\", function() { return SetTreeModule$$$mem; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$iter\", function() { return SetTreeModule$$$iter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$foldBack\", function() { return SetTreeModule$$$foldBack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$fold\", function() { return SetTreeModule$$$fold; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$forall\", function() { return SetTreeModule$$$forall; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$exists\", function() { return SetTreeModule$$$exists; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$isEmpty\", function() { return SetTreeModule$$$isEmpty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$subset\", function() { return SetTreeModule$$$subset; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$psubset\", function() { return SetTreeModule$$$psubset; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$filterAux\", function() { return SetTreeModule$$$filterAux; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$filter\", function() { return SetTreeModule$$$filter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$diffAux\", function() { return SetTreeModule$$$diffAux; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$diff\", function() { return SetTreeModule$$$diff; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$union\", function() { return SetTreeModule$$$union; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$intersectionAux\", function() { return SetTreeModule$$$intersectionAux; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$intersection\", function() { return SetTreeModule$$$intersection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$partition1\", function() { return SetTreeModule$$$partition1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$partitionAux\", function() { return SetTreeModule$$$partitionAux; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$partition\", function() { return SetTreeModule$$$partition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$$007CMatchSetNode$007CMatchSetEmpty$007C\", function() { return SetTreeModule$$$$007CMatchSetNode$007CMatchSetEmpty$007C; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$minimumElementAux\", function() { return SetTreeModule$$$minimumElementAux; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$minimumElementOpt\", function() { return SetTreeModule$$$minimumElementOpt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$maximumElementAux\", function() { return SetTreeModule$$$maximumElementAux; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$maximumElementOpt\", function() { return SetTreeModule$$$maximumElementOpt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$minimumElement\", function() { return SetTreeModule$$$minimumElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$maximumElement\", function() { return SetTreeModule$$$maximumElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$002ESetIterator$00601\", function() { return SetTreeModule$002ESetIterator$00601; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$002ESetIterator$00601$reflection\", function() { return SetTreeModule$002ESetIterator$00601$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$collapseLHS\", function() { return SetTreeModule$$$collapseLHS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$mkIterator\", function() { return SetTreeModule$$$mkIterator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$notStarted\", function() { return SetTreeModule$$$notStarted; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$alreadyFinished\", function() { return SetTreeModule$$$alreadyFinished; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$current\", function() { return SetTreeModule$$$current; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$moveNext\", function() { return SetTreeModule$$$moveNext; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$002EmkIEnumerator$00601\", function() { return SetTreeModule$002EmkIEnumerator$00601; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$002EmkIEnumerator$00601$reflection\", function() { return SetTreeModule$002EmkIEnumerator$00601$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$002EmkIEnumerator$00601$$$$002Ector$$Z5B395D56\", function() { return SetTreeModule$002EmkIEnumerator$00601$$$$002Ector$$Z5B395D56; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$mkIEnumerator\", function() { return SetTreeModule$$$mkIEnumerator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$toSeq\", function() { return SetTreeModule$$$toSeq; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$compareStacks\", function() { return SetTreeModule$$$compareStacks; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$compare\", function() { return SetTreeModule$$$compare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$choose\", function() { return SetTreeModule$$$choose; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$loop\", function() { return SetTreeModule$$$loop; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$toList\", function() { return SetTreeModule$$$toList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$copyToArray\", function() { return SetTreeModule$$$copyToArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$mkFromEnumerator\", function() { return SetTreeModule$$$mkFromEnumerator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$ofSeq\", function() { return SetTreeModule$$$ofSeq; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SetTreeModule$$$ofArray\", function() { return SetTreeModule$$$ofArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpSet\", function() { return FSharpSet; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpSet$reflection\", function() { return FSharpSet$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpSet$$$$002Ector$$2528C5CB\", function() { return FSharpSet$$$$002Ector$$2528C5CB; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpSet$$get_Comparer\", function() { return FSharpSet$$get_Comparer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpSet$$get_Tree\", function() { return FSharpSet$$get_Tree; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpSet$$Add$$2B595\", function() { return FSharpSet$$Add$$2B595; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpSet$$Remove$$2B595\", function() { return FSharpSet$$Remove$$2B595; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpSet$$get_Count\", function() { return FSharpSet$$get_Count; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpSet$$Contains$$2B595\", function() { return FSharpSet$$Contains$$2B595; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpSet$$Iterate$$5028453F\", function() { return FSharpSet$$Iterate$$5028453F; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpSet$$Fold\", function() { return FSharpSet$$Fold; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpSet$$get_IsEmpty\", function() { return FSharpSet$$get_IsEmpty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpSet$$Partition$$Z1D55A0D7\", function() { return FSharpSet$$Partition$$Z1D55A0D7; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpSet$$Filter$$Z1D55A0D7\", function() { return FSharpSet$$Filter$$Z1D55A0D7; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpSet$$Map$$7597B8F7\", function() { return FSharpSet$$Map$$7597B8F7; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpSet$$Exists$$Z1D55A0D7\", function() { return FSharpSet$$Exists$$Z1D55A0D7; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpSet$$ForAll$$Z1D55A0D7\", function() { return FSharpSet$$ForAll$$Z1D55A0D7; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpSet$$$op_Subtraction\", function() { return FSharpSet$$$op_Subtraction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpSet$$$op_Addition\", function() { return FSharpSet$$$op_Addition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpSet$$$Intersection$$Z3BE9BFE0\", function() { return FSharpSet$$$Intersection$$Z3BE9BFE0; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpSet$$$IntersectionMany$$Z15B59630\", function() { return FSharpSet$$$IntersectionMany$$Z15B59630; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpSet$$$Equality$$Z3BE9BFE0\", function() { return FSharpSet$$$Equality$$Z3BE9BFE0; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpSet$$$Compare$$Z3BE9BFE0\", function() { return FSharpSet$$$Compare$$Z3BE9BFE0; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpSet$$get_Choose\", function() { return FSharpSet$$get_Choose; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpSet$$get_MinimumElement\", function() { return FSharpSet$$get_MinimumElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpSet$$get_MaximumElement\", function() { return FSharpSet$$get_MaximumElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpSet$$IsSubsetOf$$6A20B1FF\", function() { return FSharpSet$$IsSubsetOf$$6A20B1FF; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpSet$$IsSupersetOf$$6A20B1FF\", function() { return FSharpSet$$IsSupersetOf$$6A20B1FF; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpSet$$IsProperSubsetOf$$6A20B1FF\", function() { return FSharpSet$$IsProperSubsetOf$$6A20B1FF; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpSet$$IsProperSupersetOf$$6A20B1FF\", function() { return FSharpSet$$IsProperSupersetOf$$6A20B1FF; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isEmpty\", function() { return isEmpty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"contains\", function() { return contains; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"add\", function() { return add; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"singleton\", function() { return singleton; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"remove\", function() { return remove; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"union\", function() { return union; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"unionMany\", function() { return unionMany; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"intersect\", function() { return intersect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"intersectMany\", function() { return intersectMany; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"iterate\", function() { return iterate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"empty\", function() { return empty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forAll\", function() { return forAll; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"exists\", function() { return exists; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"filter\", function() { return filter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"partition\", function() { return partition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fold\", function() { return fold; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"foldBack\", function() { return foldBack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"map\", function() { return map; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"count\", function() { return count; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"minimumElement\", function() { return minimumElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"maximumElement\", function() { return maximumElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ofList\", function() { return ofList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ofArray\", function() { return ofArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toList\", function() { return toList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toArray\", function() { return toArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toSeq\", function() { return toSeq; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ofSeq\", function() { return ofSeq; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"difference\", function() { return difference; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isSubset\", function() { return isSubset; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isSuperset\", function() { return isSuperset; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isProperSubset\", function() { return isProperSubset; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isProperSuperset\", function() { return isProperSuperset; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"minElement\", function() { return minElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"maxElement\", function() { return maxElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createMutable\", function() { return createMutable; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"distinct\", function() { return distinct; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"distinctBy\", function() { return distinctBy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"unionWith\", function() { return unionWith; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"intersectWith\", function() { return intersectWith; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"exceptWith\", function() { return exceptWith; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isSubsetOf\", function() { return isSubsetOf; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isSupersetOf\", function() { return isSupersetOf; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isProperSubsetOf\", function() { return isProperSubsetOf; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isProperSupersetOf\", function() { return isProperSupersetOf; });\n/* harmony import */ var _Types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Types.js */ \"./.fable/fable-library.2.10.1/Types.js\");\n/* harmony import */ var _Reflection_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Reflection.js */ \"./.fable/fable-library.2.10.1/Reflection.js\");\n/* harmony import */ var _Option_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Option.js */ \"./.fable/fable-library.2.10.1/Option.js\");\n/* harmony import */ var _Seq_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Seq.js */ \"./.fable/fable-library.2.10.1/Seq.js\");\n/* harmony import */ var _Util_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Util.js */ \"./.fable/fable-library.2.10.1/Util.js\");\n/* harmony import */ var _String_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./String.js */ \"./.fable/fable-library.2.10.1/String.js\");\n/* harmony import */ var _MutableSet__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./MutableSet */ \"./.fable/fable-library.2.10.1/MutableSet.js\");\n\n\n\n\n\n\n\nconst SetTree$00601 = Object(_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Set_SetTree(tag, name, ...fields) {\n this.tag = tag | 0;\n this.name = name;\n this.fields = fields;\n}, _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"Union\"]);\nfunction SetTree$00601$reflection($gen$$3) {\n return Object(_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"union_type\"])(\"Set.SetTree`1\", [$gen$$3], SetTree$00601, () => [\"SetEmpty\", [\"SetNode\", [[\"Item1\", $gen$$3], [\"Item2\", SetTree$00601$reflection($gen$$3)], [\"Item3\", SetTree$00601$reflection($gen$$3)], [\"Item4\", _Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"int32_type\"]]]], [\"SetOne\", [[\"Item\", $gen$$3]]]]);\n}\nfunction SetTreeModule$$$countAux($s$$4, $acc$$5) {\n SetTreeModule$$$countAux: while (true) {\n const s = $s$$4,\n acc = $acc$$5;\n\n switch (s.tag) {\n case 2:\n {\n return acc + 1 | 0;\n }\n\n case 0:\n {\n return acc | 0;\n }\n\n default:\n {\n $s$$4 = s.fields[1];\n $acc$$5 = SetTreeModule$$$countAux(s.fields[2], acc + 1);\n continue SetTreeModule$$$countAux;\n }\n }\n\n break;\n }\n}\nfunction SetTreeModule$$$count(s$$1) {\n return SetTreeModule$$$countAux(s$$1, 0);\n}\nfunction SetTreeModule$$$SetOne(n) {\n return new SetTree$00601(2, \"SetOne\", n);\n}\nfunction SetTreeModule$$$SetNode(x, l$$1, r$$1, h) {\n return new SetTree$00601(1, \"SetNode\", x, l$$1, r$$1, h);\n}\nfunction SetTreeModule$$$height(t) {\n switch (t.tag) {\n case 2:\n {\n return 1;\n }\n\n case 1:\n {\n return t.fields[3] | 0;\n }\n\n default:\n {\n return 0;\n }\n }\n}\nconst SetTreeModule$$$tolerance = 2;\nfunction SetTreeModule$$$mk(l$$2, k, r$$2) {\n var $target$$16;\n\n if (l$$2.tag === 0) {\n if (r$$2.tag === 0) {\n $target$$16 = 0;\n } else {\n $target$$16 = 1;\n }\n } else {\n $target$$16 = 1;\n }\n\n switch ($target$$16) {\n case 0:\n {\n return SetTreeModule$$$SetOne(k);\n }\n\n case 1:\n {\n const hl = SetTreeModule$$$height(l$$2) | 0;\n const hr = SetTreeModule$$$height(r$$2) | 0;\n const m = (hl < hr ? hr : hl) | 0;\n return SetTreeModule$$$SetNode(k, l$$2, r$$2, m + 1);\n }\n }\n}\nfunction SetTreeModule$$$rebalance(t1, k$$1, t2) {\n const t1h = SetTreeModule$$$height(t1) | 0;\n const t2h = SetTreeModule$$$height(t2) | 0;\n\n if (t2h > t1h + SetTreeModule$$$tolerance) {\n if (t2.tag === 1) {\n if (SetTreeModule$$$height(t2.fields[1]) > t1h + 1) {\n if (t2.fields[1].tag === 1) {\n return SetTreeModule$$$mk(SetTreeModule$$$mk(t1, k$$1, t2.fields[1].fields[1]), t2.fields[1].fields[0], SetTreeModule$$$mk(t2.fields[1].fields[2], t2.fields[0], t2.fields[2]));\n } else {\n throw new Error(\"rebalance\");\n }\n } else {\n return SetTreeModule$$$mk(SetTreeModule$$$mk(t1, k$$1, t2.fields[1]), t2.fields[0], t2.fields[2]);\n }\n } else {\n throw new Error(\"rebalance\");\n }\n } else if (t1h > t2h + SetTreeModule$$$tolerance) {\n if (t1.tag === 1) {\n if (SetTreeModule$$$height(t1.fields[2]) > t2h + 1) {\n if (t1.fields[2].tag === 1) {\n return SetTreeModule$$$mk(SetTreeModule$$$mk(t1.fields[1], t1.fields[0], t1.fields[2].fields[1]), t1.fields[2].fields[0], SetTreeModule$$$mk(t1.fields[2].fields[2], k$$1, t2));\n } else {\n throw new Error(\"rebalance\");\n }\n } else {\n return SetTreeModule$$$mk(t1.fields[1], t1.fields[0], SetTreeModule$$$mk(t1.fields[2], k$$1, t2));\n }\n } else {\n throw new Error(\"rebalance\");\n }\n } else {\n return SetTreeModule$$$mk(t1, k$$1, t2);\n }\n}\nfunction SetTreeModule$$$add(comparer, k$$2, t$$1) {\n switch (t$$1.tag) {\n case 2:\n {\n const c$$1 = comparer.Compare(k$$2, t$$1.fields[0]) | 0;\n\n if (c$$1 < 0) {\n return SetTreeModule$$$SetNode(k$$2, new SetTree$00601(0, \"SetEmpty\"), t$$1, 2);\n } else if (c$$1 === 0) {\n return t$$1;\n } else {\n return SetTreeModule$$$SetNode(k$$2, t$$1, new SetTree$00601(0, \"SetEmpty\"), 2);\n }\n }\n\n case 0:\n {\n return SetTreeModule$$$SetOne(k$$2);\n }\n\n default:\n {\n const c = comparer.Compare(k$$2, t$$1.fields[0]) | 0;\n\n if (c < 0) {\n return SetTreeModule$$$rebalance(SetTreeModule$$$add(comparer, k$$2, t$$1.fields[1]), t$$1.fields[0], t$$1.fields[2]);\n } else if (c === 0) {\n return t$$1;\n } else {\n return SetTreeModule$$$rebalance(t$$1.fields[1], t$$1.fields[0], SetTreeModule$$$add(comparer, k$$2, t$$1.fields[2]));\n }\n }\n }\n}\nfunction SetTreeModule$$$balance(comparer$$1, t1$$1, k$$3, t2$$1) {\n var $target$$27, t2$$2, t1$$2, k1, t2$$3, k2$$2, t1$$3, h1, h2, k1$$1, k2$$3, t11, t12, t21, t22;\n\n if (t1$$1.tag === 2) {\n if (t2$$1.tag === 0) {\n $target$$27 = 1;\n t1$$2 = t1$$1;\n } else if (t2$$1.tag === 2) {\n $target$$27 = 2;\n k1 = t1$$1.fields[0];\n t2$$3 = t2$$1;\n } else {\n $target$$27 = 2;\n k1 = t1$$1.fields[0];\n t2$$3 = t2$$1;\n }\n } else if (t1$$1.tag === 1) {\n if (t2$$1.tag === 2) {\n $target$$27 = 3;\n k2$$2 = t2$$1.fields[0];\n t1$$3 = t1$$1;\n } else if (t2$$1.tag === 1) {\n $target$$27 = 4;\n h1 = t1$$1.fields[3];\n h2 = t2$$1.fields[3];\n k1$$1 = t1$$1.fields[0];\n k2$$3 = t2$$1.fields[0];\n t11 = t1$$1.fields[1];\n t12 = t1$$1.fields[2];\n t21 = t2$$1.fields[1];\n t22 = t2$$1.fields[2];\n } else {\n $target$$27 = 1;\n t1$$2 = t1$$1;\n }\n } else {\n $target$$27 = 0;\n t2$$2 = t2$$1;\n }\n\n switch ($target$$27) {\n case 0:\n {\n return SetTreeModule$$$add(comparer$$1, k$$3, t2$$2);\n }\n\n case 1:\n {\n return SetTreeModule$$$add(comparer$$1, k$$3, t1$$2);\n }\n\n case 2:\n {\n return SetTreeModule$$$add(comparer$$1, k$$3, SetTreeModule$$$add(comparer$$1, k1, t2$$3));\n }\n\n case 3:\n {\n return SetTreeModule$$$add(comparer$$1, k$$3, SetTreeModule$$$add(comparer$$1, k2$$2, t1$$3));\n }\n\n case 4:\n {\n if (h1 + SetTreeModule$$$tolerance < h2) {\n return SetTreeModule$$$rebalance(SetTreeModule$$$balance(comparer$$1, t1$$1, k$$3, t21), k2$$3, t22);\n } else if (h2 + SetTreeModule$$$tolerance < h1) {\n return SetTreeModule$$$rebalance(t11, k1$$1, SetTreeModule$$$balance(comparer$$1, t12, k$$3, t2$$1));\n } else {\n return SetTreeModule$$$mk(t1$$1, k$$3, t2$$1);\n }\n }\n }\n}\nfunction SetTreeModule$$$split(comparer$$2, pivot, t$$2) {\n switch (t$$2.tag) {\n case 2:\n {\n const c$$3 = comparer$$2.Compare(t$$2.fields[0], pivot) | 0;\n\n if (c$$3 < 0) {\n return [t$$2, false, new SetTree$00601(0, \"SetEmpty\")];\n } else if (c$$3 === 0) {\n return [new SetTree$00601(0, \"SetEmpty\"), true, new SetTree$00601(0, \"SetEmpty\")];\n } else {\n return [new SetTree$00601(0, \"SetEmpty\"), false, t$$2];\n }\n }\n\n case 0:\n {\n return [new SetTree$00601(0, \"SetEmpty\"), false, new SetTree$00601(0, \"SetEmpty\")];\n }\n\n default:\n {\n const c$$2 = comparer$$2.Compare(pivot, t$$2.fields[0]) | 0;\n\n if (c$$2 < 0) {\n const patternInput = SetTreeModule$$$split(comparer$$2, pivot, t$$2.fields[1]);\n return [patternInput[0], patternInput[1], SetTreeModule$$$balance(comparer$$2, patternInput[2], t$$2.fields[0], t$$2.fields[2])];\n } else if (c$$2 === 0) {\n return [t$$2.fields[1], true, t$$2.fields[2]];\n } else {\n const patternInput$$1 = SetTreeModule$$$split(comparer$$2, pivot, t$$2.fields[2]);\n return [SetTreeModule$$$balance(comparer$$2, t$$2.fields[1], t$$2.fields[0], patternInput$$1[0]), patternInput$$1[1], patternInput$$1[2]];\n }\n }\n }\n}\nfunction SetTreeModule$$$spliceOutSuccessor(t$$3) {\n switch (t$$3.tag) {\n case 2:\n {\n return [t$$3.fields[0], new SetTree$00601(0, \"SetEmpty\")];\n }\n\n case 1:\n {\n if (t$$3.fields[1].tag === 0) {\n return [t$$3.fields[0], t$$3.fields[2]];\n } else {\n const patternInput$$2 = SetTreeModule$$$spliceOutSuccessor(t$$3.fields[1]);\n return [patternInput$$2[0], SetTreeModule$$$mk(patternInput$$2[1], t$$3.fields[0], t$$3.fields[2])];\n }\n }\n\n default:\n {\n throw new Error(\"internal error: Set.spliceOutSuccessor\");\n }\n }\n}\nfunction SetTreeModule$$$remove(comparer$$3, k$$4, t$$4) {\n switch (t$$4.tag) {\n case 2:\n {\n const c$$4 = comparer$$3.Compare(k$$4, t$$4.fields[0]) | 0;\n\n if (c$$4 === 0) {\n return new SetTree$00601(0, \"SetEmpty\");\n } else {\n return t$$4;\n }\n }\n\n case 1:\n {\n const c$$5 = comparer$$3.Compare(k$$4, t$$4.fields[0]) | 0;\n\n if (c$$5 < 0) {\n return SetTreeModule$$$rebalance(SetTreeModule$$$remove(comparer$$3, k$$4, t$$4.fields[1]), t$$4.fields[0], t$$4.fields[2]);\n } else if (c$$5 === 0) {\n if (t$$4.fields[1].tag === 0) {\n return t$$4.fields[2];\n } else if (t$$4.fields[2].tag === 0) {\n return t$$4.fields[1];\n } else {\n const patternInput$$3 = SetTreeModule$$$spliceOutSuccessor(t$$4.fields[2]);\n return SetTreeModule$$$mk(t$$4.fields[1], patternInput$$3[0], patternInput$$3[1]);\n }\n } else {\n return SetTreeModule$$$rebalance(t$$4.fields[1], t$$4.fields[0], SetTreeModule$$$remove(comparer$$3, k$$4, t$$4.fields[2]));\n }\n }\n\n default:\n {\n return t$$4;\n }\n }\n}\nfunction SetTreeModule$$$mem($comparer$$4$$35, $k$$5$$36, $t$$5$$37) {\n SetTreeModule$$$mem: while (true) {\n const comparer$$4 = $comparer$$4$$35,\n k$$5 = $k$$5$$36,\n t$$5 = $t$$5$$37;\n\n switch (t$$5.tag) {\n case 2:\n {\n return comparer$$4.Compare(k$$5, t$$5.fields[0]) === 0;\n }\n\n case 0:\n {\n return false;\n }\n\n default:\n {\n const c$$6 = comparer$$4.Compare(k$$5, t$$5.fields[0]) | 0;\n\n if (c$$6 < 0) {\n $comparer$$4$$35 = comparer$$4;\n $k$$5$$36 = k$$5;\n $t$$5$$37 = t$$5.fields[1];\n continue SetTreeModule$$$mem;\n } else if (c$$6 === 0) {\n return true;\n } else {\n $comparer$$4$$35 = comparer$$4;\n $k$$5$$36 = k$$5;\n $t$$5$$37 = t$$5.fields[2];\n continue SetTreeModule$$$mem;\n }\n }\n }\n\n break;\n }\n}\nfunction SetTreeModule$$$iter($f$$38, $t$$6$$39) {\n SetTreeModule$$$iter: while (true) {\n const f = $f$$38,\n t$$6 = $t$$6$$39;\n\n switch (t$$6.tag) {\n case 2:\n {\n f(t$$6.fields[0]);\n break;\n }\n\n case 0:\n {\n void null;\n break;\n }\n\n default:\n {\n SetTreeModule$$$iter(f, t$$6.fields[1]);\n f(t$$6.fields[0]);\n $f$$38 = f;\n $t$$6$$39 = t$$6.fields[2];\n continue SetTreeModule$$$iter;\n }\n }\n\n break;\n }\n}\nfunction SetTreeModule$$$foldBack($f$$1$$40, $m$$1$$41, $x$$1$$42) {\n SetTreeModule$$$foldBack: while (true) {\n const f$$1 = $f$$1$$40,\n m$$1 = $m$$1$$41,\n x$$1 = $x$$1$$42;\n\n switch (m$$1.tag) {\n case 2:\n {\n return f$$1(m$$1.fields[0], x$$1);\n }\n\n case 0:\n {\n return x$$1;\n }\n\n default:\n {\n $f$$1$$40 = f$$1;\n $m$$1$$41 = m$$1.fields[1];\n $x$$1$$42 = f$$1(m$$1.fields[0], SetTreeModule$$$foldBack(f$$1, m$$1.fields[2], x$$1));\n continue SetTreeModule$$$foldBack;\n }\n }\n\n break;\n }\n}\nfunction SetTreeModule$$$fold($f$$2$$43, $x$$2$$44, $m$$2$$45) {\n SetTreeModule$$$fold: while (true) {\n const f$$2 = $f$$2$$43,\n x$$2 = $x$$2$$44,\n m$$2 = $m$$2$$45;\n\n switch (m$$2.tag) {\n case 2:\n {\n return f$$2(x$$2, m$$2.fields[0]);\n }\n\n case 0:\n {\n return x$$2;\n }\n\n default:\n {\n const x$$3 = SetTreeModule$$$fold(f$$2, x$$2, m$$2.fields[1]);\n const x$$4 = f$$2(x$$3, m$$2.fields[0]);\n $f$$2$$43 = f$$2;\n $x$$2$$44 = x$$4;\n $m$$2$$45 = m$$2.fields[2];\n continue SetTreeModule$$$fold;\n }\n }\n\n break;\n }\n}\nfunction SetTreeModule$$$forall($f$$3$$46, $m$$3$$47) {\n SetTreeModule$$$forall: while (true) {\n const f$$3 = $f$$3$$46,\n m$$3 = $m$$3$$47;\n\n switch (m$$3.tag) {\n case 2:\n {\n return f$$3(m$$3.fields[0]);\n }\n\n case 0:\n {\n return true;\n }\n\n default:\n {\n if (f$$3(m$$3.fields[0]) ? SetTreeModule$$$forall(f$$3, m$$3.fields[1]) : false) {\n $f$$3$$46 = f$$3;\n $m$$3$$47 = m$$3.fields[2];\n continue SetTreeModule$$$forall;\n } else {\n return false;\n }\n }\n }\n\n break;\n }\n}\nfunction SetTreeModule$$$exists($f$$4$$48, $m$$4$$49) {\n SetTreeModule$$$exists: while (true) {\n const f$$4 = $f$$4$$48,\n m$$4 = $m$$4$$49;\n\n switch (m$$4.tag) {\n case 2:\n {\n return f$$4(m$$4.fields[0]);\n }\n\n case 0:\n {\n return false;\n }\n\n default:\n {\n if (f$$4(m$$4.fields[0]) ? true : SetTreeModule$$$exists(f$$4, m$$4.fields[1])) {\n return true;\n } else {\n $f$$4$$48 = f$$4;\n $m$$4$$49 = m$$4.fields[2];\n continue SetTreeModule$$$exists;\n }\n }\n }\n\n break;\n }\n}\nfunction SetTreeModule$$$isEmpty(m$$5) {\n if (m$$5.tag === 0) {\n return true;\n } else {\n return false;\n }\n}\nfunction SetTreeModule$$$subset(comparer$$5, a, b) {\n return SetTreeModule$$$forall(function (x$$5) {\n return SetTreeModule$$$mem(comparer$$5, x$$5, b);\n }, a);\n}\nfunction SetTreeModule$$$psubset(comparer$$6, a$$1, b$$1) {\n if (SetTreeModule$$$forall(function (x$$6) {\n return SetTreeModule$$$mem(comparer$$6, x$$6, b$$1);\n }, a$$1)) {\n return SetTreeModule$$$exists(function (x$$7) {\n return !SetTreeModule$$$mem(comparer$$6, x$$7, a$$1);\n }, b$$1);\n } else {\n return false;\n }\n}\nfunction SetTreeModule$$$filterAux($comparer$$7$$57, $f$$5$$58, $s$$2$$59, $acc$$1$$60) {\n SetTreeModule$$$filterAux: while (true) {\n const comparer$$7 = $comparer$$7$$57,\n f$$5 = $f$$5$$58,\n s$$2 = $s$$2$$59,\n acc$$1 = $acc$$1$$60;\n\n switch (s$$2.tag) {\n case 2:\n {\n if (f$$5(s$$2.fields[0])) {\n return SetTreeModule$$$add(comparer$$7, s$$2.fields[0], acc$$1);\n } else {\n return acc$$1;\n }\n }\n\n case 0:\n {\n return acc$$1;\n }\n\n default:\n {\n const acc$$2 = f$$5(s$$2.fields[0]) ? SetTreeModule$$$add(comparer$$7, s$$2.fields[0], acc$$1) : acc$$1;\n $comparer$$7$$57 = comparer$$7;\n $f$$5$$58 = f$$5;\n $s$$2$$59 = s$$2.fields[1];\n $acc$$1$$60 = SetTreeModule$$$filterAux(comparer$$7, f$$5, s$$2.fields[2], acc$$2);\n continue SetTreeModule$$$filterAux;\n }\n }\n\n break;\n }\n}\nfunction SetTreeModule$$$filter(comparer$$8, f$$6, s$$3) {\n return SetTreeModule$$$filterAux(comparer$$8, f$$6, s$$3, new SetTree$00601(0, \"SetEmpty\"));\n}\nfunction SetTreeModule$$$diffAux($comparer$$9$$64, $m$$6$$65, $acc$$3$$66) {\n SetTreeModule$$$diffAux: while (true) {\n const comparer$$9 = $comparer$$9$$64,\n m$$6 = $m$$6$$65,\n acc$$3 = $acc$$3$$66;\n\n switch (m$$6.tag) {\n case 2:\n {\n return SetTreeModule$$$remove(comparer$$9, m$$6.fields[0], acc$$3);\n }\n\n case 0:\n {\n return acc$$3;\n }\n\n default:\n {\n $comparer$$9$$64 = comparer$$9;\n $m$$6$$65 = m$$6.fields[1];\n $acc$$3$$66 = SetTreeModule$$$diffAux(comparer$$9, m$$6.fields[2], SetTreeModule$$$remove(comparer$$9, m$$6.fields[0], acc$$3));\n continue SetTreeModule$$$diffAux;\n }\n }\n\n break;\n }\n}\nfunction SetTreeModule$$$diff(comparer$$10, a$$2, b$$2) {\n return SetTreeModule$$$diffAux(comparer$$10, b$$2, a$$2);\n}\nfunction SetTreeModule$$$union(comparer$$11, t1$$4, t2$$4) {\n var $target$$73, h1$$1, h2$$1, k1$$4, k2$$16, t11$$2, t12$$2, t21$$1, t22$$1, t$$7, t$$8, k1$$5, t2$$5, k2$$17, t1$$5;\n\n if (t1$$4.tag === 0) {\n $target$$73 = 1;\n t$$7 = t2$$4;\n } else if (t1$$4.tag === 2) {\n if (t2$$4.tag === 0) {\n $target$$73 = 2;\n t$$8 = t1$$4;\n } else if (t2$$4.tag === 2) {\n $target$$73 = 3;\n k1$$5 = t1$$4.fields[0];\n t2$$5 = t2$$4;\n } else {\n $target$$73 = 3;\n k1$$5 = t1$$4.fields[0];\n t2$$5 = t2$$4;\n }\n } else if (t2$$4.tag === 0) {\n $target$$73 = 2;\n t$$8 = t1$$4;\n } else if (t2$$4.tag === 2) {\n $target$$73 = 4;\n k2$$17 = t2$$4.fields[0];\n t1$$5 = t1$$4;\n } else {\n $target$$73 = 0;\n h1$$1 = t1$$4.fields[3];\n h2$$1 = t2$$4.fields[3];\n k1$$4 = t1$$4.fields[0];\n k2$$16 = t2$$4.fields[0];\n t11$$2 = t1$$4.fields[1];\n t12$$2 = t1$$4.fields[2];\n t21$$1 = t2$$4.fields[1];\n t22$$1 = t2$$4.fields[2];\n }\n\n switch ($target$$73) {\n case 0:\n {\n if (h1$$1 > h2$$1) {\n const patternInput$$4 = SetTreeModule$$$split(comparer$$11, k1$$4, t2$$4);\n return SetTreeModule$$$balance(comparer$$11, SetTreeModule$$$union(comparer$$11, t11$$2, patternInput$$4[0]), k1$$4, SetTreeModule$$$union(comparer$$11, t12$$2, patternInput$$4[2]));\n } else {\n const patternInput$$5 = SetTreeModule$$$split(comparer$$11, k2$$16, t1$$4);\n return SetTreeModule$$$balance(comparer$$11, SetTreeModule$$$union(comparer$$11, t21$$1, patternInput$$5[0]), k2$$16, SetTreeModule$$$union(comparer$$11, t22$$1, patternInput$$5[2]));\n }\n }\n\n case 1:\n {\n return t$$7;\n }\n\n case 2:\n {\n return t$$8;\n }\n\n case 3:\n {\n return SetTreeModule$$$add(comparer$$11, k1$$5, t2$$5);\n }\n\n case 4:\n {\n return SetTreeModule$$$add(comparer$$11, k2$$17, t1$$5);\n }\n }\n}\nfunction SetTreeModule$$$intersectionAux($comparer$$12$$74, $b$$3$$75, $m$$7$$76, $acc$$4$$77) {\n SetTreeModule$$$intersectionAux: while (true) {\n const comparer$$12 = $comparer$$12$$74,\n b$$3 = $b$$3$$75,\n m$$7 = $m$$7$$76,\n acc$$4 = $acc$$4$$77;\n\n switch (m$$7.tag) {\n case 2:\n {\n if (SetTreeModule$$$mem(comparer$$12, m$$7.fields[0], b$$3)) {\n return SetTreeModule$$$add(comparer$$12, m$$7.fields[0], acc$$4);\n } else {\n return acc$$4;\n }\n }\n\n case 0:\n {\n return acc$$4;\n }\n\n default:\n {\n const acc$$5 = SetTreeModule$$$intersectionAux(comparer$$12, b$$3, m$$7.fields[2], acc$$4);\n const acc$$6 = SetTreeModule$$$mem(comparer$$12, m$$7.fields[0], b$$3) ? SetTreeModule$$$add(comparer$$12, m$$7.fields[0], acc$$5) : acc$$5;\n $comparer$$12$$74 = comparer$$12;\n $b$$3$$75 = b$$3;\n $m$$7$$76 = m$$7.fields[1];\n $acc$$4$$77 = acc$$6;\n continue SetTreeModule$$$intersectionAux;\n }\n }\n\n break;\n }\n}\nfunction SetTreeModule$$$intersection(comparer$$13, a$$3, b$$4) {\n return SetTreeModule$$$intersectionAux(comparer$$13, b$$4, a$$3, new SetTree$00601(0, \"SetEmpty\"));\n}\nfunction SetTreeModule$$$partition1(comparer$$14, f$$7, k$$16, acc1, acc2) {\n if (f$$7(k$$16)) {\n return [SetTreeModule$$$add(comparer$$14, k$$16, acc1), acc2];\n } else {\n return [acc1, SetTreeModule$$$add(comparer$$14, k$$16, acc2)];\n }\n}\nfunction SetTreeModule$$$partitionAux($comparer$$15$$86, $f$$8$$87, $s$$4$$88, $acc_0$$89, $acc_1$$90) {\n SetTreeModule$$$partitionAux: while (true) {\n const comparer$$15 = $comparer$$15$$86,\n f$$8 = $f$$8$$87,\n s$$4 = $s$$4$$88,\n acc_0 = $acc_0$$89,\n acc_1 = $acc_1$$90;\n\n switch (s$$4.tag) {\n case 2:\n {\n return SetTreeModule$$$partition1(comparer$$15, f$$8, s$$4.fields[0], acc_0, acc_1);\n }\n\n case 0:\n {\n return [acc_0, acc_1];\n }\n\n default:\n {\n const acc$$8 = SetTreeModule$$$partitionAux(comparer$$15, f$$8, s$$4.fields[2], acc_0, acc_1);\n const acc$$9 = SetTreeModule$$$partition1(comparer$$15, f$$8, s$$4.fields[0], acc$$8[0], acc$$8[1]);\n $comparer$$15$$86 = comparer$$15;\n $f$$8$$87 = f$$8;\n $s$$4$$88 = s$$4.fields[1];\n $acc_0$$89 = acc$$9[0];\n $acc_1$$90 = acc$$9[1];\n continue SetTreeModule$$$partitionAux;\n }\n }\n\n break;\n }\n}\nfunction SetTreeModule$$$partition(comparer$$16, f$$9, s$$5) {\n const seed = [new SetTree$00601(0, \"SetEmpty\"), new SetTree$00601(0, \"SetEmpty\")];\n return SetTreeModule$$$partitionAux(comparer$$16, f$$9, s$$5, seed[0], seed[1]);\n}\nfunction SetTreeModule$$$$007CMatchSetNode$007CMatchSetEmpty$007C(s$$6) {\n switch (s$$6.tag) {\n case 2:\n {\n return new _Option_js__WEBPACK_IMPORTED_MODULE_2__[\"Choice\"](0, \"Choice1Of2\", [s$$6.fields[0], new SetTree$00601(0, \"SetEmpty\"), new SetTree$00601(0, \"SetEmpty\")]);\n }\n\n case 0:\n {\n return new _Option_js__WEBPACK_IMPORTED_MODULE_2__[\"Choice\"](1, \"Choice2Of2\", void null);\n }\n\n default:\n {\n return new _Option_js__WEBPACK_IMPORTED_MODULE_2__[\"Choice\"](0, \"Choice1Of2\", [s$$6.fields[0], s$$6.fields[1], s$$6.fields[2]]);\n }\n }\n}\nfunction SetTreeModule$$$minimumElementAux($s$$7$$95, $n$$1$$96) {\n SetTreeModule$$$minimumElementAux: while (true) {\n const s$$7 = $s$$7$$95,\n n$$1 = $n$$1$$96;\n\n switch (s$$7.tag) {\n case 2:\n {\n return s$$7.fields[0];\n }\n\n case 0:\n {\n return n$$1;\n }\n\n default:\n {\n $s$$7$$95 = s$$7.fields[1];\n $n$$1$$96 = s$$7.fields[0];\n continue SetTreeModule$$$minimumElementAux;\n }\n }\n\n break;\n }\n}\nfunction SetTreeModule$$$minimumElementOpt(s$$8) {\n switch (s$$8.tag) {\n case 2:\n {\n return Object(_Option_js__WEBPACK_IMPORTED_MODULE_2__[\"some\"])(s$$8.fields[0]);\n }\n\n case 0:\n {\n return undefined;\n }\n\n default:\n {\n return Object(_Option_js__WEBPACK_IMPORTED_MODULE_2__[\"some\"])(SetTreeModule$$$minimumElementAux(s$$8.fields[1], s$$8.fields[0]));\n }\n }\n}\nfunction SetTreeModule$$$maximumElementAux($s$$9$$98, $n$$2$$99) {\n SetTreeModule$$$maximumElementAux: while (true) {\n const s$$9 = $s$$9$$98,\n n$$2 = $n$$2$$99;\n\n switch (s$$9.tag) {\n case 2:\n {\n return s$$9.fields[0];\n }\n\n case 0:\n {\n return n$$2;\n }\n\n default:\n {\n $s$$9$$98 = s$$9.fields[2];\n $n$$2$$99 = s$$9.fields[0];\n continue SetTreeModule$$$maximumElementAux;\n }\n }\n\n break;\n }\n}\nfunction SetTreeModule$$$maximumElementOpt(s$$10) {\n switch (s$$10.tag) {\n case 2:\n {\n return Object(_Option_js__WEBPACK_IMPORTED_MODULE_2__[\"some\"])(s$$10.fields[0]);\n }\n\n case 0:\n {\n return undefined;\n }\n\n default:\n {\n return Object(_Option_js__WEBPACK_IMPORTED_MODULE_2__[\"some\"])(SetTreeModule$$$maximumElementAux(s$$10.fields[2], s$$10.fields[0]));\n }\n }\n}\nfunction SetTreeModule$$$minimumElement(s$$11) {\n const matchValue$$4 = SetTreeModule$$$minimumElementOpt(s$$11);\n\n if (matchValue$$4 == null) {\n throw new Error(\"Set contains no elements\");\n } else {\n const k$$27 = Object(_Option_js__WEBPACK_IMPORTED_MODULE_2__[\"value\"])(matchValue$$4);\n return k$$27;\n }\n}\nfunction SetTreeModule$$$maximumElement(s$$12) {\n const matchValue$$5 = SetTreeModule$$$maximumElementOpt(s$$12);\n\n if (matchValue$$5 == null) {\n throw new Error(\"Set contains no elements\");\n } else {\n const k$$28 = Object(_Option_js__WEBPACK_IMPORTED_MODULE_2__[\"value\"])(matchValue$$5);\n return k$$28;\n }\n}\nconst SetTreeModule$002ESetIterator$00601 = Object(_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Set_SetTreeModule_SetIterator(stack, started) {\n this.stack = stack;\n this.started = started;\n}, _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"Record\"]);\nfunction SetTreeModule$002ESetIterator$00601$reflection($gen$$103) {\n return Object(_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"record_type\"])(\"Set.SetTreeModule.SetIterator`1\", [$gen$$103], SetTreeModule$002ESetIterator$00601, () => [[\"stack\", Object(_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"list_type\"])(SetTree$00601$reflection($gen$$103))], [\"started\", _Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"bool_type\"]]]);\n}\nfunction SetTreeModule$$$collapseLHS($stack$$104) {\n SetTreeModule$$$collapseLHS: while (true) {\n const stack = $stack$$104;\n\n if (stack.tail != null) {\n if (stack.head.tag === 2) {\n return stack;\n } else if (stack.head.tag === 1) {\n $stack$$104 = new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](stack.head.fields[1], new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](SetTreeModule$$$SetOne(stack.head.fields[0]), new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](stack.head.fields[2], stack.tail)));\n continue SetTreeModule$$$collapseLHS;\n } else {\n $stack$$104 = stack.tail;\n continue SetTreeModule$$$collapseLHS;\n }\n } else {\n return new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"]();\n }\n\n break;\n }\n}\nfunction SetTreeModule$$$mkIterator(s$$13) {\n return new SetTreeModule$002ESetIterator$00601(SetTreeModule$$$collapseLHS(new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](s$$13, new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"]())), false);\n}\nfunction SetTreeModule$$$notStarted() {\n throw new Error(\"Enumeration not started\");\n}\nfunction SetTreeModule$$$alreadyFinished() {\n throw new Error(\"Enumeration already started\");\n}\nfunction SetTreeModule$$$current(i) {\n if (i.started) {\n const matchValue$$6 = i.stack;\n\n if (matchValue$$6.tail == null) {\n return SetTreeModule$$$alreadyFinished();\n } else if (matchValue$$6.head.tag === 2) {\n return matchValue$$6.head.fields[0];\n } else {\n throw new Error(\"Please report error: Set iterator, unexpected stack for current\");\n }\n } else {\n return SetTreeModule$$$notStarted();\n }\n}\nfunction SetTreeModule$$$moveNext(i$$1) {\n if (i$$1.started) {\n const matchValue$$7 = i$$1.stack;\n\n if (matchValue$$7.tail == null) {\n return false;\n } else if (matchValue$$7.head.tag === 2) {\n i$$1.stack = SetTreeModule$$$collapseLHS(matchValue$$7.tail);\n return !(i$$1.stack.tail == null);\n } else {\n throw new Error(\"Please report error: Set iterator, unexpected stack for moveNext\");\n }\n } else {\n i$$1.started = true;\n return !(i$$1.stack.tail == null);\n }\n}\nconst SetTreeModule$002EmkIEnumerator$00601 = Object(_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Set_SetTreeModule_mkIEnumerator(s$$14) {\n const $this$$1 = this;\n $this$$1.s = s$$14;\n $this$$1.i = SetTreeModule$$$mkIterator($this$$1.s);\n void null;\n});\nfunction SetTreeModule$002EmkIEnumerator$00601$reflection($gen$$108) {\n return Object(_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"class_type\"])(\"Set.SetTreeModule.mkIEnumerator`1\", [$gen$$108], SetTreeModule$002EmkIEnumerator$00601);\n}\nfunction SetTreeModule$002EmkIEnumerator$00601$$$$002Ector$$Z5B395D56(s$$14) {\n return this instanceof SetTreeModule$002EmkIEnumerator$00601 ? SetTreeModule$002EmkIEnumerator$00601.call(this, s$$14) : new SetTreeModule$002EmkIEnumerator$00601(s$$14);\n}\nObject.defineProperty(SetTreeModule$002EmkIEnumerator$00601.prototype, \"Current\", {\n \"get\": function () {\n const __ = this;\n return SetTreeModule$$$current(__.i);\n }\n});\n\nSetTreeModule$002EmkIEnumerator$00601.prototype.MoveNext = function () {\n const __$$1 = this;\n return SetTreeModule$$$moveNext(__$$1.i);\n};\n\nSetTreeModule$002EmkIEnumerator$00601.prototype.Reset = function () {\n const __$$2 = this;\n __$$2.i = SetTreeModule$$$mkIterator(__$$2.s);\n};\n\nSetTreeModule$002EmkIEnumerator$00601.prototype.Dispose = function () {\n void null;\n};\n\nfunction SetTreeModule$$$mkIEnumerator(s$$15) {\n return SetTreeModule$002EmkIEnumerator$00601$$$$002Ector$$Z5B395D56(s$$15);\n}\nfunction SetTreeModule$$$toSeq(s$$16) {\n const en = SetTreeModule$$$mkIEnumerator(s$$16);\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"unfold\"])(function generator(en$$1) {\n if (en$$1.MoveNext()) {\n return [en$$1.Current, en$$1];\n } else {\n return undefined;\n }\n }, en);\n}\nfunction SetTreeModule$$$compareStacks($comparer$$17$$112, $l1$$113, $l2$$114) {\n SetTreeModule$$$compareStacks: while (true) {\n const comparer$$17 = $comparer$$17$$112,\n l1 = $l1$$113,\n l2 = $l2$$114;\n var $target$$115, t1$$6, t2$$6, n1k, n2k, t1$$7, t2$$7, n1k$$1, n2k$$1, n2r, t1$$8, t2$$8, emp, n1k$$2, n1r, n2k$$2, t1$$9, t2$$9, n1k$$3, n1r$$1, n2k$$3, n2r$$1, t1$$10, t2$$10, n1k$$4, t1$$11, n1k$$5, n1l, n1r$$2, t1$$12, n2k$$4, t2$$11, n2k$$5, n2l, n2r$$2, t2$$12;\n\n if (l1.tail != null) {\n if (l2.tail != null) {\n if (l2.head.tag === 2) {\n if (l1.head.tag === 2) {\n $target$$115 = 4;\n n1k = l1.head.fields[0];\n n2k = l2.head.fields[0];\n t1$$7 = l1.tail;\n t2$$7 = l2.tail;\n } else if (l1.head.tag === 1) {\n if (l1.head.fields[1].tag === 0) {\n $target$$115 = 6;\n emp = l1.head.fields[1];\n n1k$$2 = l1.head.fields[0];\n n1r = l1.head.fields[2];\n n2k$$2 = l2.head.fields[0];\n t1$$9 = l1.tail;\n t2$$9 = l2.tail;\n } else {\n $target$$115 = 9;\n n1k$$5 = l1.head.fields[0];\n n1l = l1.head.fields[1];\n n1r$$2 = l1.head.fields[2];\n t1$$12 = l1.tail;\n }\n } else {\n $target$$115 = 10;\n n2k$$4 = l2.head.fields[0];\n t2$$11 = l2.tail;\n }\n } else if (l2.head.tag === 1) {\n if (l2.head.fields[1].tag === 0) {\n if (l1.head.tag === 2) {\n $target$$115 = 5;\n n1k$$1 = l1.head.fields[0];\n n2k$$1 = l2.head.fields[0];\n n2r = l2.head.fields[2];\n t1$$8 = l1.tail;\n t2$$8 = l2.tail;\n } else if (l1.head.tag === 1) {\n if (l1.head.fields[1].tag === 0) {\n $target$$115 = 7;\n n1k$$3 = l1.head.fields[0];\n n1r$$1 = l1.head.fields[2];\n n2k$$3 = l2.head.fields[0];\n n2r$$1 = l2.head.fields[2];\n t1$$10 = l1.tail;\n t2$$10 = l2.tail;\n } else {\n $target$$115 = 9;\n n1k$$5 = l1.head.fields[0];\n n1l = l1.head.fields[1];\n n1r$$2 = l1.head.fields[2];\n t1$$12 = l1.tail;\n }\n } else {\n $target$$115 = 11;\n n2k$$5 = l2.head.fields[0];\n n2l = l2.head.fields[1];\n n2r$$2 = l2.head.fields[2];\n t2$$12 = l2.tail;\n }\n } else if (l1.head.tag === 2) {\n $target$$115 = 8;\n n1k$$4 = l1.head.fields[0];\n t1$$11 = l1.tail;\n } else if (l1.head.tag === 1) {\n $target$$115 = 9;\n n1k$$5 = l1.head.fields[0];\n n1l = l1.head.fields[1];\n n1r$$2 = l1.head.fields[2];\n t1$$12 = l1.tail;\n } else {\n $target$$115 = 11;\n n2k$$5 = l2.head.fields[0];\n n2l = l2.head.fields[1];\n n2r$$2 = l2.head.fields[2];\n t2$$12 = l2.tail;\n }\n } else if (l1.head.tag === 2) {\n $target$$115 = 8;\n n1k$$4 = l1.head.fields[0];\n t1$$11 = l1.tail;\n } else if (l1.head.tag === 1) {\n $target$$115 = 9;\n n1k$$5 = l1.head.fields[0];\n n1l = l1.head.fields[1];\n n1r$$2 = l1.head.fields[2];\n t1$$12 = l1.tail;\n } else {\n $target$$115 = 3;\n t1$$6 = l1.tail;\n t2$$6 = l2.tail;\n }\n } else {\n $target$$115 = 2;\n }\n } else if (l2.tail != null) {\n $target$$115 = 1;\n } else {\n $target$$115 = 0;\n }\n\n switch ($target$$115) {\n case 0:\n {\n return 0;\n }\n\n case 1:\n {\n return -1 | 0;\n }\n\n case 2:\n {\n return 1;\n }\n\n case 3:\n {\n $comparer$$17$$112 = comparer$$17;\n $l1$$113 = t1$$6;\n $l2$$114 = t2$$6;\n continue SetTreeModule$$$compareStacks;\n }\n\n case 4:\n {\n const c$$7 = comparer$$17.Compare(n1k, n2k) | 0;\n\n if (c$$7 !== 0) {\n return c$$7 | 0;\n } else {\n $comparer$$17$$112 = comparer$$17;\n $l1$$113 = t1$$7;\n $l2$$114 = t2$$7;\n continue SetTreeModule$$$compareStacks;\n }\n }\n\n case 5:\n {\n const c$$8 = comparer$$17.Compare(n1k$$1, n2k$$1) | 0;\n\n if (c$$8 !== 0) {\n return c$$8 | 0;\n } else {\n $comparer$$17$$112 = comparer$$17;\n $l1$$113 = new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](new SetTree$00601(0, \"SetEmpty\"), t1$$8);\n $l2$$114 = new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](n2r, t2$$8);\n continue SetTreeModule$$$compareStacks;\n }\n }\n\n case 6:\n {\n const c$$9 = comparer$$17.Compare(n1k$$2, n2k$$2) | 0;\n\n if (c$$9 !== 0) {\n return c$$9 | 0;\n } else {\n $comparer$$17$$112 = comparer$$17;\n $l1$$113 = new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](n1r, t1$$9);\n $l2$$114 = new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](emp, t2$$9);\n continue SetTreeModule$$$compareStacks;\n }\n }\n\n case 7:\n {\n const c$$10 = comparer$$17.Compare(n1k$$3, n2k$$3) | 0;\n\n if (c$$10 !== 0) {\n return c$$10 | 0;\n } else {\n $comparer$$17$$112 = comparer$$17;\n $l1$$113 = new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](n1r$$1, t1$$10);\n $l2$$114 = new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](n2r$$1, t2$$10);\n continue SetTreeModule$$$compareStacks;\n }\n }\n\n case 8:\n {\n $comparer$$17$$112 = comparer$$17;\n $l1$$113 = new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](new SetTree$00601(0, \"SetEmpty\"), new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](SetTreeModule$$$SetOne(n1k$$4), t1$$11));\n $l2$$114 = l2;\n continue SetTreeModule$$$compareStacks;\n }\n\n case 9:\n {\n $comparer$$17$$112 = comparer$$17;\n $l1$$113 = new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](n1l, new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](SetTreeModule$$$SetNode(n1k$$5, new SetTree$00601(0, \"SetEmpty\"), n1r$$2, 0), t1$$12));\n $l2$$114 = l2;\n continue SetTreeModule$$$compareStacks;\n }\n\n case 10:\n {\n $comparer$$17$$112 = comparer$$17;\n $l1$$113 = l1;\n $l2$$114 = new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](new SetTree$00601(0, \"SetEmpty\"), new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](SetTreeModule$$$SetOne(n2k$$4), t2$$11));\n continue SetTreeModule$$$compareStacks;\n }\n\n case 11:\n {\n $comparer$$17$$112 = comparer$$17;\n $l1$$113 = l1;\n $l2$$114 = new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](n2l, new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](SetTreeModule$$$SetNode(n2k$$5, new SetTree$00601(0, \"SetEmpty\"), n2r$$2, 0), t2$$12));\n continue SetTreeModule$$$compareStacks;\n }\n }\n\n break;\n }\n}\nfunction SetTreeModule$$$compare(comparer$$18, s1, s2) {\n if (s1.tag === 0) {\n if (s2.tag === 0) {\n return 0;\n } else {\n return -1 | 0;\n }\n } else if (s2.tag === 0) {\n return 1;\n } else {\n return SetTreeModule$$$compareStacks(comparer$$18, new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](s1, new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"]()), new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](s2, new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"]())) | 0;\n }\n}\nfunction SetTreeModule$$$choose(s$$17) {\n return SetTreeModule$$$minimumElement(s$$17);\n}\nfunction SetTreeModule$$$loop($m$$8$$120, $acc$$10$$121) {\n SetTreeModule$$$loop: while (true) {\n const m$$8 = $m$$8$$120,\n acc$$10 = $acc$$10$$121;\n\n switch (m$$8.tag) {\n case 2:\n {\n return new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](m$$8.fields[0], acc$$10);\n }\n\n case 0:\n {\n return acc$$10;\n }\n\n default:\n {\n $m$$8$$120 = m$$8.fields[1];\n $acc$$10$$121 = new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](m$$8.fields[0], SetTreeModule$$$loop(m$$8.fields[2], acc$$10));\n continue SetTreeModule$$$loop;\n }\n }\n\n break;\n }\n}\nfunction SetTreeModule$$$toList(s$$18) {\n return SetTreeModule$$$loop(s$$18, new _Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"]());\n}\nfunction SetTreeModule$$$copyToArray(s$$19, arr, i$$2) {\n let j = i$$2 | 0;\n SetTreeModule$$$iter(function (x$$8) {\n arr[j] = x$$8;\n j = j + 1;\n }, s$$19);\n}\nfunction SetTreeModule$$$mkFromEnumerator($comparer$$19$$126, $acc$$11$$127, $e$$128) {\n SetTreeModule$$$mkFromEnumerator: while (true) {\n const comparer$$19 = $comparer$$19$$126,\n acc$$11 = $acc$$11$$127,\n e = $e$$128;\n\n if (e.MoveNext()) {\n $comparer$$19$$126 = comparer$$19;\n $acc$$11$$127 = SetTreeModule$$$add(comparer$$19, e.Current, acc$$11);\n $e$$128 = e;\n continue SetTreeModule$$$mkFromEnumerator;\n } else {\n return acc$$11;\n }\n\n break;\n }\n}\nfunction SetTreeModule$$$ofSeq(comparer$$20, c$$11) {\n const ie = Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"getEnumerator\"])(c$$11);\n\n try {\n return SetTreeModule$$$mkFromEnumerator(comparer$$20, new SetTree$00601(0, \"SetEmpty\"), ie);\n } finally {\n if (Object(_Util_js__WEBPACK_IMPORTED_MODULE_4__[\"isDisposable\"])(ie)) {\n ie.Dispose();\n } else {\n void null;\n }\n }\n}\nfunction SetTreeModule$$$ofArray(comparer$$21, arr$$1) {\n let acc$$12 = new SetTree$00601(0, \"SetEmpty\");\n\n for (let i$$3 = 0; i$$3 <= arr$$1.length - 1; i$$3++) {\n acc$$12 = SetTreeModule$$$add(comparer$$21, arr$$1[i$$3], acc$$12);\n }\n\n return acc$$12;\n}\nconst FSharpSet = Object(_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Set_Set(comparer$$22, tree) {\n const $this$$2 = this;\n $this$$2.comparer = comparer$$22;\n $this$$2.tree = tree;\n void null;\n});\nfunction FSharpSet$reflection($gen$$133) {\n return Object(_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"class_type\"])(\"Set.FSharpSet\", [$gen$$133], FSharpSet);\n}\nfunction FSharpSet$$$$002Ector$$2528C5CB(comparer$$22, tree) {\n return this instanceof FSharpSet ? FSharpSet.call(this, comparer$$22, tree) : new FSharpSet(comparer$$22, tree);\n}\nfunction FSharpSet$$get_Comparer(__$$4) {\n return __$$4.comparer;\n}\nfunction FSharpSet$$get_Tree(__$$5) {\n return __$$5.tree;\n}\nfunction FSharpSet$$Add$$2B595(s$$20, x$$9) {\n return FSharpSet$$$$002Ector$$2528C5CB(FSharpSet$$get_Comparer(s$$20), SetTreeModule$$$add(FSharpSet$$get_Comparer(s$$20), x$$9, FSharpSet$$get_Tree(s$$20)));\n}\nfunction FSharpSet$$Remove$$2B595(s$$21, x$$10) {\n return FSharpSet$$$$002Ector$$2528C5CB(FSharpSet$$get_Comparer(s$$21), SetTreeModule$$$remove(FSharpSet$$get_Comparer(s$$21), x$$10, FSharpSet$$get_Tree(s$$21)));\n}\nfunction FSharpSet$$get_Count(s$$22) {\n return SetTreeModule$$$count(FSharpSet$$get_Tree(s$$22));\n}\nfunction FSharpSet$$Contains$$2B595(s$$23, x$$11) {\n return SetTreeModule$$$mem(FSharpSet$$get_Comparer(s$$23), x$$11, FSharpSet$$get_Tree(s$$23));\n}\nfunction FSharpSet$$Iterate$$5028453F(s$$24, x$$12) {\n SetTreeModule$$$iter(x$$12, FSharpSet$$get_Tree(s$$24));\n}\nfunction FSharpSet$$Fold(s$$25, f$$10, z) {\n return SetTreeModule$$$fold(function (x$$13, z$$1) {\n return f$$10(z$$1, x$$13);\n }, z, FSharpSet$$get_Tree(s$$25));\n}\nfunction FSharpSet$$get_IsEmpty(s$$26) {\n return SetTreeModule$$$isEmpty(FSharpSet$$get_Tree(s$$26));\n}\nfunction FSharpSet$$Partition$$Z1D55A0D7(s$$27, f$$11) {\n const matchValue$$10 = FSharpSet$$get_Tree(s$$27);\n\n if (matchValue$$10.tag === 0) {\n return [s$$27, s$$27];\n } else {\n const patternInput$$6 = SetTreeModule$$$partition(FSharpSet$$get_Comparer(s$$27), f$$11, FSharpSet$$get_Tree(s$$27));\n return [FSharpSet$$$$002Ector$$2528C5CB(FSharpSet$$get_Comparer(s$$27), patternInput$$6[0]), FSharpSet$$$$002Ector$$2528C5CB(FSharpSet$$get_Comparer(s$$27), patternInput$$6[1])];\n }\n}\nfunction FSharpSet$$Filter$$Z1D55A0D7(s$$28, f$$12) {\n const matchValue$$11 = FSharpSet$$get_Tree(s$$28);\n\n if (matchValue$$11.tag === 0) {\n return s$$28;\n } else {\n return FSharpSet$$$$002Ector$$2528C5CB(FSharpSet$$get_Comparer(s$$28), SetTreeModule$$$filter(FSharpSet$$get_Comparer(s$$28), f$$12, FSharpSet$$get_Tree(s$$28)));\n }\n}\nfunction FSharpSet$$Map$$7597B8F7(s$$29, f$$13, comparer$$23) {\n return FSharpSet$$$$002Ector$$2528C5CB(comparer$$23, SetTreeModule$$$fold(function (acc$$13, k$$33) {\n return SetTreeModule$$$add(comparer$$23, f$$13(k$$33), acc$$13);\n }, new SetTree$00601(0, \"SetEmpty\"), FSharpSet$$get_Tree(s$$29)));\n}\nfunction FSharpSet$$Exists$$Z1D55A0D7(s$$30, f$$14) {\n return SetTreeModule$$$exists(f$$14, FSharpSet$$get_Tree(s$$30));\n}\nfunction FSharpSet$$ForAll$$Z1D55A0D7(s$$31, f$$15) {\n return SetTreeModule$$$forall(f$$15, FSharpSet$$get_Tree(s$$31));\n}\nfunction FSharpSet$$$op_Subtraction(a$$4, b$$5) {\n const matchValue$$12 = FSharpSet$$get_Tree(a$$4);\n\n if (matchValue$$12.tag === 0) {\n return a$$4;\n } else {\n const matchValue$$13 = FSharpSet$$get_Tree(b$$5);\n\n if (matchValue$$13.tag === 0) {\n return a$$4;\n } else {\n return FSharpSet$$$$002Ector$$2528C5CB(FSharpSet$$get_Comparer(a$$4), SetTreeModule$$$diff(FSharpSet$$get_Comparer(a$$4), FSharpSet$$get_Tree(a$$4), FSharpSet$$get_Tree(b$$5)));\n }\n }\n}\nfunction FSharpSet$$$op_Addition(a$$5, b$$6) {\n const matchValue$$14 = FSharpSet$$get_Tree(b$$6);\n\n if (matchValue$$14.tag === 0) {\n return a$$5;\n } else {\n const matchValue$$15 = FSharpSet$$get_Tree(a$$5);\n\n if (matchValue$$15.tag === 0) {\n return b$$6;\n } else {\n return FSharpSet$$$$002Ector$$2528C5CB(FSharpSet$$get_Comparer(a$$5), SetTreeModule$$$union(FSharpSet$$get_Comparer(a$$5), FSharpSet$$get_Tree(a$$5), FSharpSet$$get_Tree(b$$6)));\n }\n }\n}\nfunction FSharpSet$$$Intersection$$Z3BE9BFE0(a$$6, b$$7) {\n const matchValue$$16 = FSharpSet$$get_Tree(b$$7);\n\n if (matchValue$$16.tag === 0) {\n return b$$7;\n } else {\n const matchValue$$17 = FSharpSet$$get_Tree(a$$6);\n\n if (matchValue$$17.tag === 0) {\n return a$$6;\n } else {\n return FSharpSet$$$$002Ector$$2528C5CB(FSharpSet$$get_Comparer(a$$6), SetTreeModule$$$intersection(FSharpSet$$get_Comparer(a$$6), FSharpSet$$get_Tree(a$$6), FSharpSet$$get_Tree(b$$7)));\n }\n }\n}\nfunction FSharpSet$$$IntersectionMany$$Z15B59630(sets) {\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"reduce\"])(FSharpSet$$$Intersection$$Z3BE9BFE0, sets);\n}\nfunction FSharpSet$$$Equality$$Z3BE9BFE0(a$$7, b$$8) {\n return SetTreeModule$$$compare(FSharpSet$$get_Comparer(a$$7), FSharpSet$$get_Tree(a$$7), FSharpSet$$get_Tree(b$$8)) === 0;\n}\nfunction FSharpSet$$$Compare$$Z3BE9BFE0(a$$8, b$$9) {\n return SetTreeModule$$$compare(FSharpSet$$get_Comparer(a$$8), FSharpSet$$get_Tree(a$$8), FSharpSet$$get_Tree(b$$9));\n}\nfunction FSharpSet$$get_Choose(x$$14) {\n return SetTreeModule$$$choose(FSharpSet$$get_Tree(x$$14));\n}\nfunction FSharpSet$$get_MinimumElement(x$$15) {\n return SetTreeModule$$$minimumElement(FSharpSet$$get_Tree(x$$15));\n}\nfunction FSharpSet$$get_MaximumElement(x$$16) {\n return SetTreeModule$$$maximumElement(FSharpSet$$get_Tree(x$$16));\n}\nfunction FSharpSet$$IsSubsetOf$$6A20B1FF(x$$17, y) {\n return SetTreeModule$$$subset(FSharpSet$$get_Comparer(x$$17), FSharpSet$$get_Tree(x$$17), FSharpSet$$get_Tree(y));\n}\nfunction FSharpSet$$IsSupersetOf$$6A20B1FF(x$$18, y$$1) {\n return SetTreeModule$$$subset(FSharpSet$$get_Comparer(x$$18), FSharpSet$$get_Tree(y$$1), FSharpSet$$get_Tree(x$$18));\n}\nfunction FSharpSet$$IsProperSubsetOf$$6A20B1FF(x$$19, y$$2) {\n return SetTreeModule$$$psubset(FSharpSet$$get_Comparer(x$$19), FSharpSet$$get_Tree(x$$19), FSharpSet$$get_Tree(y$$2));\n}\nfunction FSharpSet$$IsProperSupersetOf$$6A20B1FF(x$$20, y$$3) {\n return SetTreeModule$$$psubset(FSharpSet$$get_Comparer(x$$20), FSharpSet$$get_Tree(y$$3), FSharpSet$$get_Tree(x$$20));\n}\n\nFSharpSet.prototype.toString = function () {\n var strings;\n const this$ = this;\n return \"set [\" + (strings = Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"map\"])(function (x$$21) {\n let copyOfStruct = x$$21;\n return String(copyOfStruct);\n }, this$), (Object(_String_js__WEBPACK_IMPORTED_MODULE_5__[\"join\"])(\"; \", strings))) + \"]\";\n};\n\nFSharpSet.prototype.GetHashCode = function () {\n const this$$$1 = this;\n let res = 0;\n const e$$1 = SetTreeModule$$$mkIEnumerator(FSharpSet$$get_Tree(this$$$1));\n\n while (e$$1.MoveNext()) {\n const x$$22 = res | 0;\n const y$$4 = Object(_Util_js__WEBPACK_IMPORTED_MODULE_4__[\"structuralHash\"])(e$$1.Current) | 0;\n res = (x$$22 << 1) + y$$4 + 631;\n }\n\n return Math.abs(res) | 0;\n};\n\nFSharpSet.prototype.Equals = function (that) {\n const this$$$2 = this;\n return SetTreeModule$$$compare(FSharpSet$$get_Comparer(this$$$2), FSharpSet$$get_Tree(this$$$2), FSharpSet$$get_Tree(that)) === 0;\n};\n\nFSharpSet.prototype.CompareTo = function (that$$1) {\n const this$$$3 = this;\n return SetTreeModule$$$compare(FSharpSet$$get_Comparer(this$$$3), FSharpSet$$get_Tree(this$$$3), FSharpSet$$get_Tree(that$$1)) | 0;\n};\n\nFSharpSet.prototype[Symbol.iterator] = function () {\n const s$$32 = this;\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"toIterator\"])(SetTreeModule$$$mkIEnumerator(FSharpSet$$get_Tree(s$$32)));\n};\n\nfunction isEmpty(s$$33) {\n return FSharpSet$$get_IsEmpty(s$$33);\n}\nfunction contains(x$$23, s$$34) {\n return FSharpSet$$Contains$$2B595(s$$34, x$$23);\n}\nfunction add(x$$24, s$$35) {\n return FSharpSet$$Add$$2B595(s$$35, x$$24);\n}\nfunction singleton(x$$25, comparer$$24) {\n return FSharpSet$$$$002Ector$$2528C5CB(comparer$$24, new SetTree$00601(2, \"SetOne\", x$$25));\n}\nfunction remove(x$$26, s$$36) {\n return FSharpSet$$Remove$$2B595(s$$36, x$$26);\n}\nfunction union(s1$$2, s2$$2) {\n return FSharpSet$$$op_Addition(s1$$2, s2$$2);\n}\nfunction unionMany(sets$$1, comparer$$25) {\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"fold\"])(FSharpSet$$$op_Addition, FSharpSet$$$$002Ector$$2528C5CB(comparer$$25, new SetTree$00601(0, \"SetEmpty\")), sets$$1);\n}\nfunction intersect(s1$$3, s2$$3) {\n return FSharpSet$$$Intersection$$Z3BE9BFE0(s1$$3, s2$$3);\n}\nfunction intersectMany(sets$$2) {\n return FSharpSet$$$IntersectionMany$$Z15B59630(sets$$2);\n}\nfunction iterate(f$$16, s$$37) {\n FSharpSet$$Iterate$$5028453F(s$$37, f$$16);\n}\nfunction empty(comparer$$26) {\n return FSharpSet$$$$002Ector$$2528C5CB(comparer$$26, new SetTree$00601(0, \"SetEmpty\"));\n}\nfunction forAll(f$$17, s$$38) {\n return FSharpSet$$ForAll$$Z1D55A0D7(s$$38, f$$17);\n}\nfunction exists(f$$18, s$$39) {\n return FSharpSet$$Exists$$Z1D55A0D7(s$$39, f$$18);\n}\nfunction filter(f$$19, s$$40) {\n return FSharpSet$$Filter$$Z1D55A0D7(s$$40, f$$19);\n}\nfunction partition(f$$20, s$$41) {\n return FSharpSet$$Partition$$Z1D55A0D7(s$$41, f$$20);\n}\nfunction fold(f$$21, z$$2, s$$42) {\n return SetTreeModule$$$fold(f$$21, z$$2, FSharpSet$$get_Tree(s$$42));\n}\nfunction foldBack(f$$22, s$$43, z$$3) {\n return SetTreeModule$$$foldBack(f$$22, FSharpSet$$get_Tree(s$$43), z$$3);\n}\nfunction map(f$$23, s$$44, comparer$$27) {\n return FSharpSet$$Map$$7597B8F7(s$$44, f$$23, comparer$$27);\n}\nfunction count(s$$45) {\n return FSharpSet$$get_Count(s$$45);\n}\nfunction minimumElement(s$$46) {\n return FSharpSet$$get_MinimumElement(s$$46);\n}\nfunction maximumElement(s$$47) {\n return FSharpSet$$get_MaximumElement(s$$47);\n}\nfunction ofList(li, comparer$$28) {\n return FSharpSet$$$$002Ector$$2528C5CB(comparer$$28, SetTreeModule$$$ofSeq(comparer$$28, li));\n}\nfunction ofArray(arr$$2, comparer$$29) {\n return FSharpSet$$$$002Ector$$2528C5CB(comparer$$29, SetTreeModule$$$ofArray(comparer$$29, arr$$2));\n}\nfunction toList(s$$48) {\n return SetTreeModule$$$toList(FSharpSet$$get_Tree(s$$48));\n}\nfunction toArray(s$$49, cons) {\n const n$$3 = count(s$$49) | 0;\n const res$$1 = new cons(n$$3);\n SetTreeModule$$$copyToArray(FSharpSet$$get_Tree(s$$49), res$$1, 0);\n return res$$1;\n}\nfunction toSeq(s$$50) {\n return SetTreeModule$$$toSeq(FSharpSet$$get_Tree(s$$50));\n}\nfunction ofSeq(elements, comparer$$30) {\n return FSharpSet$$$$002Ector$$2528C5CB(comparer$$30, SetTreeModule$$$ofSeq(comparer$$30, elements));\n}\nfunction difference(x$$28, y$$6) {\n return FSharpSet$$$op_Subtraction(x$$28, y$$6);\n}\nfunction isSubset(x$$29, y$$7) {\n return FSharpSet$$IsSubsetOf$$6A20B1FF(x$$29, y$$7);\n}\nfunction isSuperset(x$$30, y$$8) {\n return FSharpSet$$IsSupersetOf$$6A20B1FF(x$$30, y$$8);\n}\nfunction isProperSubset(x$$31, y$$9) {\n return FSharpSet$$IsProperSubsetOf$$6A20B1FF(x$$31, y$$9);\n}\nfunction isProperSuperset(x$$32, y$$10) {\n return FSharpSet$$IsProperSupersetOf$$6A20B1FF(x$$32, y$$10);\n}\nfunction minElement(s$$51) {\n return FSharpSet$$get_MinimumElement(s$$51);\n}\nfunction maxElement(s$$52) {\n return FSharpSet$$get_MaximumElement(s$$52);\n}\nfunction createMutable(source, comparer$$31) {\n const set = Object(_MutableSet__WEBPACK_IMPORTED_MODULE_6__[\"MutableSet$00601$$$$002Ector$$Z6150332D\"])(source, comparer$$31);\n return set;\n}\nfunction distinct(xs, comparer$$32) {\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"delay\"])(function () {\n const set$$1 = Object(_MutableSet__WEBPACK_IMPORTED_MODULE_6__[\"MutableSet$00601$$$$002Ector$$Z6150332D\"])(Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"empty\"])(), comparer$$32);\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"collect\"])(function (x$$33) {\n return Object(_MutableSet__WEBPACK_IMPORTED_MODULE_6__[\"MutableSet$00601$$Add$$2B595\"])(set$$1, x$$33) ? Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"singleton\"])(x$$33) : Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"empty\"])();\n }, xs);\n });\n}\nfunction distinctBy(projection, xs$$1, comparer$$33) {\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"delay\"])(function () {\n const set$$2 = Object(_MutableSet__WEBPACK_IMPORTED_MODULE_6__[\"MutableSet$00601$$$$002Ector$$Z6150332D\"])(Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"empty\"])(), comparer$$33);\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"collect\"])(function (x$$34) {\n return Object(_MutableSet__WEBPACK_IMPORTED_MODULE_6__[\"MutableSet$00601$$Add$$2B595\"])(set$$2, projection(x$$34)) ? Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"singleton\"])(x$$34) : Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"empty\"])();\n }, xs$$1);\n });\n}\nfunction unionWith(s1$$4, s2$$4) {\n return Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"fold\"])(function folder(acc$$14, x$$35) {\n return acc$$14.add(x$$35);\n }, s1$$4, s2$$4);\n}\nfunction intersectWith(s1$$5, s2$$5, comparer$$34) {\n const s2$$6 = ofSeq(s2$$5, comparer$$34);\n Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"iterate\"])(function (x$$36) {\n if (!FSharpSet$$Contains$$2B595(s2$$6, x$$36)) {\n const value = s1$$5.delete(x$$36);\n void value;\n } else {\n void null;\n }\n }, s1$$5);\n}\nfunction exceptWith(s1$$6, s2$$7) {\n Object(_Seq_js__WEBPACK_IMPORTED_MODULE_3__[\"iterate\"])(function (x$$37) {\n const value$$1 = s1$$6.delete(x$$37);\n void value$$1;\n }, s2$$7);\n}\nfunction isSubsetOf(s1$$7, s2$$8, comparer$$35) {\n return isSubset(ofSeq(s1$$7, comparer$$35), ofSeq(s2$$8, comparer$$35));\n}\nfunction isSupersetOf(s1$$8, s2$$9, comparer$$36) {\n return isSuperset(ofSeq(s1$$8, comparer$$36), ofSeq(s2$$9, comparer$$36));\n}\nfunction isProperSubsetOf(s1$$9, s2$$10, comparer$$37) {\n return isProperSubset(ofSeq(s1$$9, comparer$$37), ofSeq(s2$$10, comparer$$37));\n}\nfunction isProperSupersetOf(s1$$10, s2$$11, comparer$$38) {\n return isProperSuperset(ofSeq(s1$$10, comparer$$38), ofSeq(s2$$11, comparer$$38));\n}\n\n//# sourceURL=webpack:///./.fable/fable-library.2.10.1/Set.js?");
302
-
303
- /***/ }),
304
-
305
- /***/ "./.fable/fable-library.2.10.1/String.js":
306
- /*!***********************************************!*\
307
- !*** ./.fable/fable-library.2.10.1/String.js ***!
308
- \***********************************************/
309
- /*! exports provided: compare, compareOrdinal, compareTo, startsWith, indexOfAny, printf, toConsole, toConsoleError, toText, toFail, fsFormat, format, endsWith, initialize, insert, isNullOrEmpty, isNullOrWhiteSpace, concat, join, joinWithIndices, validateGuid, newGuid, guidToArray, arrayToGuid, toBase64String, fromBase64String, padLeft, padRight, remove, replace, replicate, getCharAtIndex, split, trim, trimStart, trimEnd, filter, substring */
310
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
311
-
312
- "use strict";
313
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"compare\", function() { return compare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"compareOrdinal\", function() { return compareOrdinal; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"compareTo\", function() { return compareTo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"startsWith\", function() { return startsWith; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"indexOfAny\", function() { return indexOfAny; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"printf\", function() { return printf; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toConsole\", function() { return toConsole; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toConsoleError\", function() { return toConsoleError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toText\", function() { return toText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toFail\", function() { return toFail; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fsFormat\", function() { return fsFormat; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"format\", function() { return format; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"endsWith\", function() { return endsWith; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"initialize\", function() { return initialize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"insert\", function() { return insert; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isNullOrEmpty\", function() { return isNullOrEmpty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isNullOrWhiteSpace\", function() { return isNullOrWhiteSpace; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"concat\", function() { return concat; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"join\", function() { return join; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"joinWithIndices\", function() { return joinWithIndices; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"validateGuid\", function() { return validateGuid; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"newGuid\", function() { return newGuid; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"guidToArray\", function() { return guidToArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"arrayToGuid\", function() { return arrayToGuid; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toBase64String\", function() { return toBase64String; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromBase64String\", function() { return fromBase64String; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"padLeft\", function() { return padLeft; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"padRight\", function() { return padRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"remove\", function() { return remove; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"replace\", function() { return replace; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"replicate\", function() { return replicate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getCharAtIndex\", function() { return getCharAtIndex; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"split\", function() { return split; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"trim\", function() { return trim; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"trimStart\", function() { return trimStart; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"trimEnd\", function() { return trimEnd; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"filter\", function() { return filter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"substring\", function() { return substring; });\n/* harmony import */ var _Date__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Date */ \"./.fable/fable-library.2.10.1/Date.js\");\n/* harmony import */ var _Decimal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Decimal */ \"./.fable/fable-library.2.10.1/Decimal.js\");\n/* harmony import */ var _Long__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Long */ \"./.fable/fable-library.2.10.1/Long.js\");\n/* harmony import */ var _RegExp__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./RegExp */ \"./.fable/fable-library.2.10.1/RegExp.js\");\n\n\n\n\nconst fsFormatRegExp = /(^|[^%])%([0+\\- ]*)(\\d+)?(?:\\.(\\d+))?(\\w)/;\nconst formatRegExp = /\\{(\\d+)(,-?\\d+)?(?:\\:([a-zA-Z])(\\d{0,2})|\\:(.+?))?\\}/g;\n// RFC 4122 compliant. From https://stackoverflow.com/a/13653180/3922220\n// const guidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;\n// Relax GUID parsing, see #1637\nconst guidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;\n// These are used for formatting and only take longs and decimals into account (no bigint)\nfunction isNumeric(x) {\n return typeof x === \"number\" || x instanceof _Long__WEBPACK_IMPORTED_MODULE_2__[\"default\"] || x instanceof _Decimal__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n}\nfunction isLessThan(x, y) {\n if (x instanceof _Long__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) {\n return _Long__WEBPACK_IMPORTED_MODULE_2__[\"compare\"](x, y) < 0;\n }\n else if (x instanceof _Decimal__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) {\n return x.cmp(y) < 0;\n }\n else {\n return x < y;\n }\n}\nfunction multiply(x, y) {\n if (x instanceof _Long__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) {\n return _Long__WEBPACK_IMPORTED_MODULE_2__[\"op_Multiply\"](x, y);\n }\n else if (x instanceof _Decimal__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) {\n return x.mul(y);\n }\n else {\n return x * y;\n }\n}\nfunction toFixed(x, dp) {\n if (x instanceof _Long__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) {\n return String(x) + (0).toFixed(dp).substr(1);\n }\n else {\n return x.toFixed(dp);\n }\n}\nfunction toPrecision(x, sd) {\n if (x instanceof _Long__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) {\n return String(x) + (0).toPrecision(sd).substr(1);\n }\n else {\n return x.toPrecision(sd);\n }\n}\nfunction toExponential(x, dp) {\n if (x instanceof _Long__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) {\n return String(x) + (0).toExponential(dp).substr(1);\n }\n else {\n return x.toExponential(dp);\n }\n}\nfunction cmp(x, y, ic) {\n function isIgnoreCase(i) {\n return i === true ||\n i === 1 /* CurrentCultureIgnoreCase */ ||\n i === 3 /* InvariantCultureIgnoreCase */ ||\n i === 5 /* OrdinalIgnoreCase */;\n }\n function isOrdinal(i) {\n return i === 4 /* Ordinal */ ||\n i === 5 /* OrdinalIgnoreCase */;\n }\n if (x == null) {\n return y == null ? 0 : -1;\n }\n if (y == null) {\n return 1;\n } // everything is bigger than null\n if (isOrdinal(ic)) {\n if (isIgnoreCase(ic)) {\n x = x.toLowerCase();\n y = y.toLowerCase();\n }\n return (x === y) ? 0 : (x < y ? -1 : 1);\n }\n else {\n if (isIgnoreCase(ic)) {\n x = x.toLocaleLowerCase();\n y = y.toLocaleLowerCase();\n }\n return x.localeCompare(y);\n }\n}\nfunction compare(...args) {\n switch (args.length) {\n case 2: return cmp(args[0], args[1], false);\n case 3: return cmp(args[0], args[1], args[2]);\n case 4: return cmp(args[0], args[1], args[2] === true);\n case 5: return cmp(args[0].substr(args[1], args[4]), args[2].substr(args[3], args[4]), false);\n case 6: return cmp(args[0].substr(args[1], args[4]), args[2].substr(args[3], args[4]), args[5]);\n case 7: return cmp(args[0].substr(args[1], args[4]), args[2].substr(args[3], args[4]), args[5] === true);\n default: throw new Error(\"String.compare: Unsupported number of parameters\");\n }\n}\nfunction compareOrdinal(x, y) {\n return cmp(x, y, 4 /* Ordinal */);\n}\nfunction compareTo(x, y) {\n return cmp(x, y, 0 /* CurrentCulture */);\n}\nfunction startsWith(str, pattern, ic) {\n if (str.length >= pattern.length) {\n return cmp(str.substr(0, pattern.length), pattern, ic) === 0;\n }\n return false;\n}\nfunction indexOfAny(str, anyOf, ...args) {\n if (str == null || str === \"\") {\n return -1;\n }\n const startIndex = (args.length > 0) ? args[0] : 0;\n if (startIndex < 0) {\n throw new Error(\"Start index cannot be negative\");\n }\n const length = (args.length > 1) ? args[1] : str.length - startIndex;\n if (length < 0) {\n throw new Error(\"Length cannot be negative\");\n }\n if (length > str.length - startIndex) {\n throw new Error(\"Invalid startIndex and length\");\n }\n str = str.substr(startIndex, length);\n for (const c of anyOf) {\n const index = str.indexOf(c);\n if (index > -1) {\n return index + startIndex;\n }\n }\n return -1;\n}\nfunction toHex(x) {\n if (x instanceof _Long__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) {\n return _Long__WEBPACK_IMPORTED_MODULE_2__[\"toString\"](x.unsigned ? x : _Long__WEBPACK_IMPORTED_MODULE_2__[\"fromBytes\"](_Long__WEBPACK_IMPORTED_MODULE_2__[\"toBytes\"](x), true), 16);\n }\n else {\n return (Number(x) >>> 0).toString(16);\n }\n}\nfunction printf(input) {\n return {\n input,\n cont: fsFormat(input),\n };\n}\nfunction toConsole(arg) {\n // Don't remove the lambda here, see #1357\n return arg.cont((x) => { console.log(x); });\n}\nfunction toConsoleError(arg) {\n return arg.cont((x) => { console.error(x); });\n}\nfunction toText(arg) {\n return arg.cont((x) => x);\n}\nfunction toFail(arg) {\n return arg.cont((x) => { throw new Error(x); });\n}\nfunction formatOnce(str2, rep) {\n return str2.replace(fsFormatRegExp, (_, prefix, flags, padLength, precision, format) => {\n let sign = \"\";\n if (isNumeric(rep)) {\n if (format.toLowerCase() !== \"x\") {\n if (isLessThan(rep, 0)) {\n rep = multiply(rep, -1);\n sign = \"-\";\n }\n else {\n if (flags.indexOf(\" \") >= 0) {\n sign = \" \";\n }\n else if (flags.indexOf(\"+\") >= 0) {\n sign = \"+\";\n }\n }\n }\n precision = precision == null ? null : parseInt(precision, 10);\n switch (format) {\n case \"f\":\n case \"F\":\n precision = precision != null ? precision : 6;\n rep = toFixed(rep, precision);\n break;\n case \"g\":\n case \"G\":\n rep = precision != null ? toPrecision(rep, precision) : toPrecision(rep);\n break;\n case \"e\":\n case \"E\":\n rep = precision != null ? toExponential(rep, precision) : toExponential(rep);\n break;\n case \"x\":\n rep = toHex(rep);\n break;\n case \"X\":\n rep = toHex(rep).toUpperCase();\n break;\n default: // AOid\n rep = String(rep);\n break;\n }\n }\n padLength = parseInt(padLength, 10);\n if (!isNaN(padLength)) {\n const zeroFlag = flags.indexOf(\"0\") >= 0; // Use '0' for left padding\n const minusFlag = flags.indexOf(\"-\") >= 0; // Right padding\n const ch = minusFlag || !zeroFlag ? \" \" : \"0\";\n if (ch === \"0\") {\n rep = padLeft(rep, padLength - sign.length, ch, minusFlag);\n rep = sign + rep;\n }\n else {\n rep = padLeft(sign + rep, padLength, ch, minusFlag);\n }\n }\n else {\n rep = sign + rep;\n }\n const once = prefix + rep;\n return once.replace(/%/g, \"%%\");\n });\n}\nfunction createPrinter(str, cont) {\n return (...args) => {\n // Make a copy as the function may be used several times\n let strCopy = str;\n for (const arg of args) {\n strCopy = formatOnce(strCopy, arg);\n }\n return fsFormatRegExp.test(strCopy)\n ? createPrinter(strCopy, cont)\n : cont(strCopy.replace(/%%/g, \"%\"));\n };\n}\nfunction fsFormat(str) {\n return (cont) => {\n return fsFormatRegExp.test(str)\n ? createPrinter(str, cont)\n : cont(str);\n };\n}\nfunction format(str, ...args) {\n if (typeof str === \"object\" && args.length > 0) {\n // Called with culture info\n str = args[0];\n args.shift();\n }\n return str.replace(formatRegExp, (_, idx, padLength, format, precision, pattern) => {\n let rep = args[idx];\n if (isNumeric(rep)) {\n precision = precision == null ? null : parseInt(precision, 10);\n switch (format) {\n case \"f\":\n case \"F\":\n precision = precision != null ? precision : 2;\n rep = toFixed(rep, precision);\n break;\n case \"g\":\n case \"G\":\n rep = precision != null ? toPrecision(rep, precision) : toPrecision(rep);\n break;\n case \"e\":\n case \"E\":\n rep = precision != null ? toExponential(rep, precision) : toExponential(rep);\n break;\n case \"p\":\n case \"P\":\n precision = precision != null ? precision : 2;\n rep = toFixed(multiply(rep, 100), precision) + \" %\";\n break;\n case \"d\":\n case \"D\":\n rep = precision != null ? padLeft(String(rep), precision, \"0\") : String(rep);\n break;\n case \"x\":\n case \"X\":\n rep = precision != null ? padLeft(toHex(rep), precision, \"0\") : toHex(rep);\n if (format === \"X\") {\n rep = rep.toUpperCase();\n }\n break;\n default:\n if (pattern) {\n let sign = \"\";\n rep = pattern.replace(/(0+)(\\.0+)?/, (_, intPart, decimalPart) => {\n if (isLessThan(rep, 0)) {\n rep = multiply(rep, -1);\n sign = \"-\";\n }\n rep = toFixed(rep, decimalPart != null ? decimalPart.length - 1 : 0);\n return padLeft(rep, (intPart || \"\").length - sign.length + (decimalPart != null ? decimalPart.length : 0), \"0\");\n });\n rep = sign + rep;\n }\n }\n }\n else if (rep instanceof Date) {\n rep = Object(_Date__WEBPACK_IMPORTED_MODULE_0__[\"toString\"])(rep, pattern || format);\n }\n padLength = parseInt((padLength || \" \").substring(1), 10);\n if (!isNaN(padLength)) {\n rep = padLeft(String(rep), Math.abs(padLength), \" \", padLength < 0);\n }\n return rep;\n });\n}\nfunction endsWith(str, search) {\n const idx = str.lastIndexOf(search);\n return idx >= 0 && idx === str.length - search.length;\n}\nfunction initialize(n, f) {\n if (n < 0) {\n throw new Error(\"String length must be non-negative\");\n }\n const xs = new Array(n);\n for (let i = 0; i < n; i++) {\n xs[i] = f(i);\n }\n return xs.join(\"\");\n}\nfunction insert(str, startIndex, value) {\n if (startIndex < 0 || startIndex > str.length) {\n throw new Error(\"startIndex is negative or greater than the length of this instance.\");\n }\n return str.substring(0, startIndex) + value + str.substring(startIndex);\n}\nfunction isNullOrEmpty(str) {\n return typeof str !== \"string\" || str.length === 0;\n}\nfunction isNullOrWhiteSpace(str) {\n return typeof str !== \"string\" || /^\\s*$/.test(str);\n}\nfunction concat(...xs) {\n return xs.map((x) => String(x)).join(\"\");\n}\nfunction join(delimiter, xs) {\n if (Array.isArray(xs)) {\n return xs.join(delimiter);\n }\n else {\n return Array.from(xs).join(delimiter);\n }\n}\nfunction joinWithIndices(delimiter, xs, startIndex, count) {\n const endIndexPlusOne = startIndex + count;\n if (endIndexPlusOne > xs.length) {\n throw new Error(\"Index and count must refer to a location within the buffer.\");\n }\n return xs.slice(startIndex, endIndexPlusOne).join(delimiter);\n}\n/** Validates UUID as specified in RFC4122 (versions 1-5). Trims braces. */\nfunction validateGuid(str, doNotThrow) {\n const trimmedAndLowered = trim(str, \"{\", \"}\").toLowerCase();\n if (guidRegex.test(trimmedAndLowered)) {\n return doNotThrow ? [true, trimmedAndLowered] : trimmedAndLowered;\n }\n else if (doNotThrow) {\n return [false, \"00000000-0000-0000-0000-000000000000\"];\n }\n throw new Error(\"Guid should contain 32 digits with 4 dashes: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\");\n}\n// From https://gist.github.com/LeverOne/1308368\nfunction newGuid() {\n let b = \"\";\n for (let a = 0; a++ < 36;) {\n b += a * 51 & 52\n ? (a ^ 15 ? 8 ^ Math.random() * (a ^ 20 ? 16 : 4) : 4).toString(16)\n : \"-\";\n }\n return b;\n}\n// Maps for number <-> hex string conversion\nlet _convertMapsInitialized = false;\nlet _byteToHex;\nlet _hexToByte;\nfunction initConvertMaps() {\n _byteToHex = new Array(256);\n _hexToByte = {};\n for (let i = 0; i < 256; i++) {\n _byteToHex[i] = (i + 0x100).toString(16).substr(1);\n _hexToByte[_byteToHex[i]] = i;\n }\n _convertMapsInitialized = true;\n}\n/** Parse a UUID into it's component bytes */\n// Adapted from https://github.com/zefferus/uuid-parse\nfunction guidToArray(s) {\n if (!_convertMapsInitialized) {\n initConvertMaps();\n }\n let i = 0;\n const buf = new Uint8Array(16);\n s.toLowerCase().replace(/[0-9a-f]{2}/g, ((oct) => {\n switch (i) {\n // .NET saves first three byte groups with different endianness\n // See https://stackoverflow.com/a/16722909/3922220\n case 0:\n case 1:\n case 2:\n case 3:\n buf[3 - i++] = _hexToByte[oct];\n break;\n case 4:\n case 5:\n buf[9 - i++] = _hexToByte[oct];\n break;\n case 6:\n case 7:\n buf[13 - i++] = _hexToByte[oct];\n break;\n case 8:\n case 9:\n case 10:\n case 11:\n case 12:\n case 13:\n case 14:\n case 15:\n buf[i++] = _hexToByte[oct];\n break;\n }\n }));\n // Zero out remaining bytes if string was short\n while (i < 16) {\n buf[i++] = 0;\n }\n return buf;\n}\n/** Convert UUID byte array into a string */\nfunction arrayToGuid(buf) {\n if (buf.length !== 16) {\n throw new Error(\"Byte array for GUID must be exactly 16 bytes long\");\n }\n if (!_convertMapsInitialized) {\n initConvertMaps();\n }\n const guid = _byteToHex[buf[3]] + _byteToHex[buf[2]] +\n _byteToHex[buf[1]] + _byteToHex[buf[0]] + \"-\" +\n _byteToHex[buf[5]] + _byteToHex[buf[4]] + \"-\" +\n _byteToHex[buf[7]] + _byteToHex[buf[6]] + \"-\" +\n _byteToHex[buf[8]] + _byteToHex[buf[9]] + \"-\" +\n _byteToHex[buf[10]] + _byteToHex[buf[11]] +\n _byteToHex[buf[12]] + _byteToHex[buf[13]] +\n _byteToHex[buf[14]] + _byteToHex[buf[15]];\n return guid;\n}\nfunction notSupported(name) {\n throw new Error(\"The environment doesn't support '\" + name + \"', please use a polyfill.\");\n}\nfunction toBase64String(inArray) {\n let str = \"\";\n for (let i = 0; i < inArray.length; i++) {\n str += String.fromCharCode(inArray[i]);\n }\n return typeof btoa === \"function\" ? btoa(str) : notSupported(\"btoa\");\n}\nfunction fromBase64String(b64Encoded) {\n const binary = typeof atob === \"function\" ? atob(b64Encoded) : notSupported(\"atob\");\n const bytes = new Uint8Array(binary.length);\n for (let i = 0; i < binary.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n return bytes;\n}\nfunction padLeft(str, len, ch, isRight) {\n ch = ch || \" \";\n len = len - str.length;\n for (let i = 0; i < len; i++) {\n str = isRight ? str + ch : ch + str;\n }\n return str;\n}\nfunction padRight(str, len, ch) {\n return padLeft(str, len, ch, true);\n}\nfunction remove(str, startIndex, count) {\n if (startIndex >= str.length) {\n throw new Error(\"startIndex must be less than length of string\");\n }\n if (typeof count === \"number\" && (startIndex + count) > str.length) {\n throw new Error(\"Index and count must refer to a location within the string.\");\n }\n return str.slice(0, startIndex) + (typeof count === \"number\" ? str.substr(startIndex + count) : \"\");\n}\nfunction replace(str, search, replace) {\n return str.replace(new RegExp(Object(_RegExp__WEBPACK_IMPORTED_MODULE_3__[\"escape\"])(search), \"g\"), replace);\n}\nfunction replicate(n, x) {\n return initialize(n, () => x);\n}\nfunction getCharAtIndex(input, index) {\n if (index < 0 || index >= input.length) {\n throw new Error(\"Index was outside the bounds of the array.\");\n }\n return input[index];\n}\nfunction split(str, splitters, count, removeEmpty) {\n count = typeof count === \"number\" ? count : undefined;\n removeEmpty = typeof removeEmpty === \"number\" ? removeEmpty : undefined;\n if (count && count < 0) {\n throw new Error(\"Count cannot be less than zero\");\n }\n if (count === 0) {\n return [];\n }\n if (!Array.isArray(splitters)) {\n if (removeEmpty === 0) {\n return str.split(splitters, count);\n }\n const len = arguments.length;\n splitters = Array(len - 1);\n for (let key = 1; key < len; key++) {\n splitters[key - 1] = arguments[key];\n }\n }\n splitters = splitters.map((x) => Object(_RegExp__WEBPACK_IMPORTED_MODULE_3__[\"escape\"])(x));\n splitters = splitters.length > 0 ? splitters : [\" \"];\n let i = 0;\n const splits = [];\n const reg = new RegExp(splitters.join(\"|\"), \"g\");\n while (count == null || count > 1) {\n const m = reg.exec(str);\n if (m === null) {\n break;\n }\n if (!removeEmpty || (m.index - i) > 0) {\n count = count != null ? count - 1 : count;\n splits.push(str.substring(i, m.index));\n }\n i = reg.lastIndex;\n }\n if (!removeEmpty || (str.length - i) > 0) {\n splits.push(str.substring(i));\n }\n return splits;\n}\nfunction trim(str, ...chars) {\n if (chars.length === 0) {\n return str.trim();\n }\n const pattern = \"[\" + Object(_RegExp__WEBPACK_IMPORTED_MODULE_3__[\"escape\"])(chars.join(\"\")) + \"]+\";\n return str.replace(new RegExp(\"^\" + pattern), \"\").replace(new RegExp(pattern + \"$\"), \"\");\n}\nfunction trimStart(str, ...chars) {\n return chars.length === 0\n ? str.trimStart()\n : str.replace(new RegExp(\"^[\" + Object(_RegExp__WEBPACK_IMPORTED_MODULE_3__[\"escape\"])(chars.join(\"\")) + \"]+\"), \"\");\n}\nfunction trimEnd(str, ...chars) {\n return chars.length === 0\n ? str.trimEnd()\n : str.replace(new RegExp(\"[\" + Object(_RegExp__WEBPACK_IMPORTED_MODULE_3__[\"escape\"])(chars.join(\"\")) + \"]+$\"), \"\");\n}\nfunction filter(pred, x) {\n return x.split(\"\").filter((c) => pred(c)).join(\"\");\n}\nfunction substring(str, startIndex, length) {\n if ((startIndex + (length || 0) > str.length)) {\n throw new Error(\"Invalid startIndex and/or length\");\n }\n return length != null ? str.substr(startIndex, length) : str.substr(startIndex);\n}\n//# sourceMappingURL=String.js.map\n\n//# sourceURL=webpack:///./.fable/fable-library.2.10.1/String.js?");
314
-
315
- /***/ }),
316
-
317
- /***/ "./.fable/fable-library.2.10.1/Types.js":
318
- /*!**********************************************!*\
319
- !*** ./.fable/fable-library.2.10.1/Types.js ***!
320
- \**********************************************/
321
- /*! exports provided: declare, SystemObject, List, Union, Record, anonRecord, FSharpRef, Exception, isException, FSharpException, MatchFailureException, Attribute */
322
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
323
-
324
- "use strict";
325
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"declare\", function() { return declare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SystemObject\", function() { return SystemObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"List\", function() { return List; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Union\", function() { return Union; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Record\", function() { return Record; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"anonRecord\", function() { return anonRecord; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpRef\", function() { return FSharpRef; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Exception\", function() { return Exception; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isException\", function() { return isException; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FSharpException\", function() { return FSharpException; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MatchFailureException\", function() { return MatchFailureException; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Attribute\", function() { return Attribute; });\n/* harmony import */ var _Util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Util */ \"./.fable/fable-library.2.10.1/Util.js\");\n// tslint:disable: space-before-function-paren\n\nfunction sameType(x, y) {\n return y != null && Object.getPrototypeOf(x).constructor === Object.getPrototypeOf(y).constructor;\n}\n// Taken from Babel helpers\nfunction inherits(subClass, superClass) {\n // if (typeof superClass !== \"function\" && superClass !== null) {\n // throw new TypeError(\n // \"Super expression must either be null or a function, not \" +\n // typeof superClass\n // );\n // }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true,\n },\n });\n // if (superClass)\n // Object.setPrototypeOf\n // ? Object.setPrototypeOf(subClass, superClass)\n // : (subClass.__proto__ = superClass);\n}\nfunction declare(cons, superClass) {\n inherits(cons, superClass || SystemObject);\n return cons;\n}\nclass SystemObject {\n toString() {\n return \"{\" + Object.entries(this).map(([k, v]) => k + \" = \" + String(v)).join(\";\\n \") + \"}\";\n }\n GetHashCode() {\n return Object(_Util__WEBPACK_IMPORTED_MODULE_0__[\"identityHash\"])(this);\n }\n Equals(other) {\n return this === other;\n }\n}\nfunction compareList(self, other) {\n if (self === other) {\n return 0;\n }\n else {\n if (other == null) {\n return -1;\n }\n while (self.tail != null) {\n if (other.tail == null) {\n return 1;\n }\n const res = Object(_Util__WEBPACK_IMPORTED_MODULE_0__[\"compare\"])(self.head, other.head);\n if (res !== 0) {\n return res;\n }\n self = self.tail;\n other = other.tail;\n }\n return other.tail == null ? 0 : -1;\n }\n}\nclass List {\n constructor(head, tail) {\n this.head = head;\n this.tail = tail;\n }\n toString() {\n return \"[\" + Array.from(this).join(\"; \") + \"]\";\n }\n toJSON() {\n return Array.from(this);\n }\n [Symbol.iterator]() {\n let cur = this;\n return {\n next: () => {\n const value = cur === null || cur === void 0 ? void 0 : cur.head;\n const done = (cur === null || cur === void 0 ? void 0 : cur.tail) == null;\n cur = cur === null || cur === void 0 ? void 0 : cur.tail;\n return { done, value };\n },\n };\n }\n GetHashCode() {\n const hashes = Array.from(this).map(_Util__WEBPACK_IMPORTED_MODULE_0__[\"structuralHash\"]);\n return Object(_Util__WEBPACK_IMPORTED_MODULE_0__[\"combineHashCodes\"])(hashes);\n }\n Equals(other) {\n return compareList(this, other) === 0;\n }\n CompareTo(other) {\n return compareList(this, other);\n }\n}\nclass Union extends SystemObject {\n constructor(tag, name, ...fields) {\n super();\n this.tag = tag | 0;\n this.name = name;\n this.fields = fields;\n }\n toString() {\n const len = this.fields.length;\n if (len === 0) {\n return this.name;\n }\n else if (len === 1) {\n return this.name + \" \" + String(this.fields[0]);\n }\n else {\n return this.name + \" (\" + this.fields.map((x) => String(x)).join(\",\") + \")\";\n }\n }\n toJSON() {\n return this.fields.length === 0\n ? this.name\n : [this.name].concat(this.fields);\n }\n GetHashCode() {\n const hashes = this.fields.map((x) => Object(_Util__WEBPACK_IMPORTED_MODULE_0__[\"structuralHash\"])(x));\n hashes.splice(0, 0, Object(_Util__WEBPACK_IMPORTED_MODULE_0__[\"numberHash\"])(this.tag));\n return Object(_Util__WEBPACK_IMPORTED_MODULE_0__[\"combineHashCodes\"])(hashes);\n }\n Equals(other) {\n return this === other\n || (sameType(this, other)\n && this.tag === other.tag\n && Object(_Util__WEBPACK_IMPORTED_MODULE_0__[\"equalArrays\"])(this.fields, other.fields));\n }\n CompareTo(other) {\n if (this === other) {\n return 0;\n }\n else if (!sameType(this, other)) {\n return -1;\n }\n else if (this.tag === other.tag) {\n return Object(_Util__WEBPACK_IMPORTED_MODULE_0__[\"compareArrays\"])(this.fields, other.fields);\n }\n else {\n return this.tag < other.tag ? -1 : 1;\n }\n }\n}\nfunction recordToJson(record, getFieldNames) {\n const o = {};\n const keys = getFieldNames == null ? Object.keys(record) : getFieldNames(record);\n for (let i = 0; i < keys.length; i++) {\n o[keys[i]] = record[keys[i]];\n }\n return o;\n}\nfunction recordEquals(self, other, getFieldNames) {\n if (self === other) {\n return true;\n }\n else if (!sameType(self, other)) {\n return false;\n }\n else {\n const thisNames = getFieldNames == null ? Object.keys(self) : getFieldNames(self);\n for (let i = 0; i < thisNames.length; i++) {\n if (!Object(_Util__WEBPACK_IMPORTED_MODULE_0__[\"equals\"])(self[thisNames[i]], other[thisNames[i]])) {\n return false;\n }\n }\n return true;\n }\n}\nfunction recordCompare(self, other, getFieldNames) {\n if (self === other) {\n return 0;\n }\n else if (!sameType(self, other)) {\n return -1;\n }\n else {\n const thisNames = getFieldNames == null ? Object.keys(self) : getFieldNames(self);\n for (let i = 0; i < thisNames.length; i++) {\n const result = Object(_Util__WEBPACK_IMPORTED_MODULE_0__[\"compare\"])(self[thisNames[i]], other[thisNames[i]]);\n if (result !== 0) {\n return result;\n }\n }\n return 0;\n }\n}\nclass Record extends SystemObject {\n toString() {\n return \"{\" + Object.entries(this).map(([k, v]) => k + \" = \" + String(v)).join(\";\\n \") + \"}\";\n }\n toJSON() {\n return recordToJson(this);\n }\n GetHashCode() {\n const hashes = Object.values(this).map((v) => Object(_Util__WEBPACK_IMPORTED_MODULE_0__[\"structuralHash\"])(v));\n return Object(_Util__WEBPACK_IMPORTED_MODULE_0__[\"combineHashCodes\"])(hashes);\n }\n Equals(other) {\n return recordEquals(this, other);\n }\n CompareTo(other) {\n return recordCompare(this, other);\n }\n}\nfunction anonRecord(o) {\n return Object.assign(Object.create(Record.prototype), o);\n}\nclass FSharpRef extends Record {\n constructor(contents) {\n super();\n this.contents = contents;\n }\n}\nconst Exception = declare(function Exception(message) {\n this.stack = Error().stack;\n this.message = message;\n}, SystemObject);\nfunction isException(x) {\n return x instanceof Error || x instanceof Exception;\n}\nfunction getFSharpExceptionFieldNames(self) {\n return Object.keys(self).filter((k) => k !== \"message\" && k !== \"stack\");\n}\nclass FSharpException extends Exception {\n toString() {\n var _a;\n // const fieldNames = getFSharpExceptionFieldNames(this);\n const fields = Object.entries(this).filter(([k, _]) => k !== \"message\" && k !== \"stack\");\n const len = fields.length;\n if (len === 0) {\n return (_a = this.message) !== null && _a !== void 0 ? _a : \"\";\n }\n else if (len === 1) {\n return this.message + \" \" + String(fields[1]);\n }\n else {\n return this.message + \" (\" + fields.map(([_, v]) => String(v)).join(\",\") + \")\";\n }\n }\n toJSON() {\n return recordToJson(this, getFSharpExceptionFieldNames);\n }\n GetHashCode() {\n const fields = Object.entries(this).filter(([k, _]) => k !== \"message\" && k !== \"stack\");\n const hashes = fields.map(([_, v]) => Object(_Util__WEBPACK_IMPORTED_MODULE_0__[\"structuralHash\"])(v));\n return Object(_Util__WEBPACK_IMPORTED_MODULE_0__[\"combineHashCodes\"])(hashes);\n }\n Equals(other) {\n return recordEquals(this, other, getFSharpExceptionFieldNames);\n }\n CompareTo(other) {\n return recordCompare(this, other, getFSharpExceptionFieldNames);\n }\n}\nclass MatchFailureException extends FSharpException {\n constructor(arg1, arg2, arg3) {\n super();\n this.arg1 = arg1;\n this.arg2 = arg2 | 0;\n this.arg3 = arg3 | 0;\n this.message = \"The match cases were incomplete\";\n }\n}\nconst Attribute = declare(function Attribute() { return; }, SystemObject);\n//# sourceMappingURL=Types.js.map\n\n//# sourceURL=webpack:///./.fable/fable-library.2.10.1/Types.js?");
326
-
327
- /***/ }),
328
-
329
- /***/ "./.fable/fable-library.2.10.1/Util.js":
330
- /*!*********************************************!*\
331
- !*** ./.fable/fable-library.2.10.1/Util.js ***!
332
- \*********************************************/
333
- /*! exports provided: bindThis, extend, isIterable, isArrayLike, isComparer, isComparable, isEquatable, isHashable, isDisposable, Comparer, comparerFromEqualityComparer, containsValue, tryGetValue, addToSet, assertEqual, assertNotEqual, Lazy, lazyFromValue, padWithZeros, padLeftAndRightWithZeros, dateOffset, int16ToString, int32ToString, ObjectRef, stringHash, numberHash, combineHashCodes, identityHash, structuralHash, equalArraysWith, equalArrays, equals, compareDates, comparePrimitives, compareArraysWith, compareArrays, compareObjects, compare, min, max, createAtom, createObj, jsOptions, round, sign, randomNext, randomBytes, unescapeDataString, escapeDataString, escapeUriString, count, clear, uncurry, curry, partialApply, mapCurriedArgs, addToDict, getItemFromDict */
334
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
335
-
336
- "use strict";
337
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bindThis\", function() { return bindThis; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"extend\", function() { return extend; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isIterable\", function() { return isIterable; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isArrayLike\", function() { return isArrayLike; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isComparer\", function() { return isComparer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isComparable\", function() { return isComparable; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isEquatable\", function() { return isEquatable; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isHashable\", function() { return isHashable; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isDisposable\", function() { return isDisposable; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Comparer\", function() { return Comparer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"comparerFromEqualityComparer\", function() { return comparerFromEqualityComparer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"containsValue\", function() { return containsValue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tryGetValue\", function() { return tryGetValue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addToSet\", function() { return addToSet; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"assertEqual\", function() { return assertEqual; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"assertNotEqual\", function() { return assertNotEqual; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Lazy\", function() { return Lazy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lazyFromValue\", function() { return lazyFromValue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"padWithZeros\", function() { return padWithZeros; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"padLeftAndRightWithZeros\", function() { return padLeftAndRightWithZeros; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dateOffset\", function() { return dateOffset; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"int16ToString\", function() { return int16ToString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"int32ToString\", function() { return int32ToString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ObjectRef\", function() { return ObjectRef; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"stringHash\", function() { return stringHash; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"numberHash\", function() { return numberHash; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"combineHashCodes\", function() { return combineHashCodes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"identityHash\", function() { return identityHash; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"structuralHash\", function() { return structuralHash; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"equalArraysWith\", function() { return equalArraysWith; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"equalArrays\", function() { return equalArrays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"equals\", function() { return equals; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"compareDates\", function() { return compareDates; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"comparePrimitives\", function() { return comparePrimitives; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"compareArraysWith\", function() { return compareArraysWith; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"compareArrays\", function() { return compareArrays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"compareObjects\", function() { return compareObjects; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"compare\", function() { return compare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"min\", function() { return min; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"max\", function() { return max; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createAtom\", function() { return createAtom; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createObj\", function() { return createObj; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"jsOptions\", function() { return jsOptions; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"round\", function() { return round; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sign\", function() { return sign; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"randomNext\", function() { return randomNext; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"randomBytes\", function() { return randomBytes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"unescapeDataString\", function() { return unescapeDataString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"escapeDataString\", function() { return escapeDataString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"escapeUriString\", function() { return escapeUriString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"count\", function() { return count; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clear\", function() { return clear; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"uncurry\", function() { return uncurry; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"curry\", function() { return curry; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"partialApply\", function() { return partialApply; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mapCurriedArgs\", function() { return mapCurriedArgs; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addToDict\", function() { return addToDict; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getItemFromDict\", function() { return getItemFromDict; });\n// tslint:disable:ban-types\nfunction bindThis(this$, source) {\n for (const key of Object.keys(source)) {\n if (typeof source[key] === \"function\") {\n source[key] = source[key].bind(this$);\n }\n }\n return source;\n}\n// Object.assign flattens getters and setters\n// See https://stackoverflow.com/questions/37054596/js-es5-how-to-assign-objects-with-setters-and-getters\nfunction extend(target, ...sources) {\n for (const source of sources) {\n for (const key of Object.keys(source)) {\n const descr = Object.getOwnPropertyDescriptor(source, key);\n if (descr) {\n Object.defineProperty(target, key, descr);\n }\n }\n }\n return target;\n}\nfunction isIterable(x) {\n return x != null && typeof x === \"object\" && Symbol.iterator in x;\n}\nfunction isArrayLike(x) {\n return x != null && (Array.isArray(x) || ArrayBuffer.isView(x));\n}\nfunction isComparer(x) {\n return x != null && typeof x.Compare === \"function\";\n}\nfunction isComparable(x) {\n return x != null && typeof x.CompareTo === \"function\";\n}\nfunction isEquatable(x) {\n return x != null && typeof x.Equals === \"function\";\n}\nfunction isHashable(x) {\n return x != null && typeof x.GetHashCode === \"function\";\n}\nfunction isDisposable(x) {\n return x != null && typeof x.Dispose === \"function\";\n}\nclass Comparer {\n constructor(f) {\n this.Compare = f || compare;\n }\n}\nfunction comparerFromEqualityComparer(comparer) {\n // Sometimes IEqualityComparer also implements IComparer\n if (isComparer(comparer)) {\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// TODO: Move these three methods to Map and Set modules\nfunction containsValue(v, map) {\n for (const kv of map) {\n if (equals(v, kv[1])) {\n return true;\n }\n }\n return false;\n}\nfunction tryGetValue(map, key, defaultValue) {\n return map.has(key) ? [true, map.get(key)] : [false, defaultValue];\n}\nfunction addToSet(v, set) {\n if (set.has(v)) {\n return false;\n }\n set.add(v);\n return true;\n}\nfunction assertEqual(actual, expected, msg) {\n if (!equals(actual, expected)) {\n throw Object.assign(new Error(msg || `Expected: ${expected} - Actual: ${actual}`), {\n actual,\n expected,\n });\n }\n}\nfunction assertNotEqual(actual, expected, msg) {\n if (equals(actual, expected)) {\n throw Object.assign(new Error(msg || `Expected: ${expected} - Actual: ${actual}`), {\n actual,\n expected,\n });\n }\n}\nclass Lazy {\n constructor(factory) {\n this.factory = factory;\n this.isValueCreated = false;\n }\n get Value() {\n if (!this.isValueCreated) {\n this.createdValue = this.factory();\n this.isValueCreated = true;\n }\n return this.createdValue;\n }\n get IsValueCreated() {\n return this.isValueCreated;\n }\n}\nfunction lazyFromValue(v) {\n return new Lazy(() => v);\n}\nfunction padWithZeros(i, length) {\n let str = i.toString(10);\n while (str.length < length) {\n str = \"0\" + str;\n }\n return str;\n}\nfunction padLeftAndRightWithZeros(i, lengthLeft, lengthRight) {\n let str = i.toString(10);\n while (str.length < lengthLeft) {\n str = \"0\" + str;\n }\n while (str.length < lengthRight) {\n str = str + \"0\";\n }\n return str;\n}\nfunction dateOffset(date) {\n const date1 = date;\n return typeof date1.offset === \"number\"\n ? date1.offset\n : (date.kind === 1 /* UTC */\n ? 0 : date.getTimezoneOffset() * -60000);\n}\nfunction int16ToString(i, radix) {\n i = i < 0 && radix != null && radix !== 10 ? 0xFFFF + i + 1 : i;\n return i.toString(radix);\n}\nfunction int32ToString(i, radix) {\n i = i < 0 && radix != null && radix !== 10 ? 0xFFFFFFFF + i + 1 : i;\n return i.toString(radix);\n}\nclass ObjectRef {\n static id(o) {\n if (!ObjectRef.idMap.has(o)) {\n ObjectRef.idMap.set(o, ++ObjectRef.count);\n }\n return ObjectRef.idMap.get(o);\n }\n}\nObjectRef.idMap = new WeakMap();\nObjectRef.count = 0;\nfunction stringHash(s) {\n let i = 0;\n let h = 5381;\n const len = s.length;\n while (i < len) {\n h = (h * 33) ^ s.charCodeAt(i++);\n }\n return h;\n}\nfunction numberHash(x) {\n return x * 2654435761 | 0;\n}\n// From https://stackoverflow.com/a/37449594\nfunction combineHashCodes(hashes) {\n if (hashes.length === 0) {\n return 0;\n }\n return hashes.reduce((h1, h2) => {\n return ((h1 << 5) + h1) ^ h2;\n });\n}\nfunction identityHash(x) {\n if (x == null) {\n return 0;\n }\n switch (typeof x) {\n case \"boolean\":\n return x ? 1 : 0;\n case \"number\":\n return numberHash(x);\n case \"string\":\n return stringHash(x);\n default:\n return numberHash(ObjectRef.id(x));\n }\n}\nfunction structuralHash(x) {\n if (x == null) {\n return 0;\n }\n switch (typeof x) {\n case \"boolean\":\n return x ? 1 : 0;\n case \"number\":\n return numberHash(x);\n case \"string\":\n return stringHash(x);\n default: {\n if (isHashable(x)) {\n return x.GetHashCode();\n }\n else if (isArrayLike(x)) {\n const len = x.length;\n const hashes = new Array(len);\n for (let i = 0; i < len; i++) {\n hashes[i] = structuralHash(x[i]);\n }\n return combineHashCodes(hashes);\n }\n else {\n return stringHash(String(x));\n }\n }\n }\n}\nfunction equalArraysWith(x, y, eq) {\n if (x == null) {\n return y == null;\n }\n if (y == null) {\n return false;\n }\n if (x.length !== y.length) {\n return false;\n }\n for (let i = 0; i < x.length; i++) {\n if (!eq(x[i], y[i])) {\n return false;\n }\n }\n return true;\n}\nfunction equalArrays(x, y) {\n return equalArraysWith(x, y, equals);\n}\n// export function equalObjects(x: { [k: string]: any }, y: { [k: string]: any }): boolean {\n// if (x == null) { return y == null; }\n// if (y == null) { return false; }\n// const xKeys = Object.keys(x);\n// const yKeys = Object.keys(y);\n// if (xKeys.length !== yKeys.length) {\n// return false;\n// }\n// xKeys.sort();\n// yKeys.sort();\n// for (let i = 0; i < xKeys.length; i++) {\n// if (xKeys[i] !== yKeys[i] || !equals(x[xKeys[i]], y[yKeys[i]])) {\n// return false;\n// }\n// }\n// return true;\n// }\nfunction equals(x, y) {\n if (x === y) {\n return true;\n }\n else if (x == null) {\n return y == null;\n }\n else if (y == null) {\n return false;\n }\n else if (typeof x !== \"object\") {\n return false;\n }\n else if (isEquatable(x)) {\n return x.Equals(y);\n }\n else if (isArrayLike(x)) {\n return isArrayLike(y) && equalArrays(x, y);\n }\n else if (x instanceof Date) {\n return (y instanceof Date) && compareDates(x, y) === 0;\n }\n else {\n return false;\n }\n}\nfunction compareDates(x, y) {\n let xtime;\n let ytime;\n // DateTimeOffset and DateTime deals with equality differently.\n if (\"offset\" in x && \"offset\" in y) {\n xtime = x.getTime();\n ytime = y.getTime();\n }\n else {\n xtime = x.getTime() + dateOffset(x);\n ytime = y.getTime() + dateOffset(y);\n }\n return xtime === ytime ? 0 : (xtime < ytime ? -1 : 1);\n}\nfunction comparePrimitives(x, y) {\n return x === y ? 0 : (x < y ? -1 : 1);\n}\nfunction compareArraysWith(x, y, comp) {\n if (x == null) {\n return y == null ? 0 : 1;\n }\n if (y == null) {\n return -1;\n }\n if (x.length !== y.length) {\n return x.length < y.length ? -1 : 1;\n }\n for (let i = 0, j = 0; i < x.length; i++) {\n j = comp(x[i], y[i]);\n if (j !== 0) {\n return j;\n }\n }\n return 0;\n}\nfunction compareArrays(x, y) {\n return compareArraysWith(x, y, compare);\n}\nfunction compareObjects(x, y) {\n if (x == null) {\n return y == null ? 0 : 1;\n }\n if (y == null) {\n return -1;\n }\n const xKeys = Object.keys(x);\n const yKeys = Object.keys(y);\n if (xKeys.length !== yKeys.length) {\n return xKeys.length < yKeys.length ? -1 : 1;\n }\n xKeys.sort();\n yKeys.sort();\n for (let i = 0, j = 0; i < xKeys.length; i++) {\n const key = xKeys[i];\n if (key !== yKeys[i]) {\n return key < yKeys[i] ? -1 : 1;\n }\n else {\n j = compare(x[key], y[key]);\n if (j !== 0) {\n return j;\n }\n }\n }\n return 0;\n}\nfunction compare(x, y) {\n if (x === y) {\n return 0;\n }\n else if (x == null) {\n return y == null ? 0 : -1;\n }\n else if (y == null) {\n return 1;\n }\n else if (typeof x !== \"object\") {\n return x < y ? -1 : 1;\n }\n else if (isComparable(x)) {\n return x.CompareTo(y);\n }\n else if (isArrayLike(x) && isArrayLike(y)) {\n return compareArrays(x, y);\n }\n else if (x instanceof Date && y instanceof Date) {\n return compareDates(x, y);\n }\n else {\n return 1;\n }\n}\nfunction min(comparer, x, y) {\n return comparer(x, y) < 0 ? x : y;\n}\nfunction max(comparer, x, y) {\n return comparer(x, y) > 0 ? x : y;\n}\nfunction createAtom(value) {\n let atom = value;\n return (value) => {\n if (value === void 0) {\n return atom;\n }\n else {\n atom = value;\n return void 0;\n }\n };\n}\nconst CaseRules = {\n None: 0,\n LowerFirst: 1,\n SnakeCase: 2,\n SnakeCaseAllCaps: 3,\n KebabCase: 4,\n};\nfunction dashify(str, separator) {\n return str.replace(/[a-z]?[A-Z]/g, (m) => m.length === 1\n ? m.toLowerCase()\n : m.charAt(0) + separator + m.charAt(1).toLowerCase());\n}\nfunction changeCase(str, caseRule) {\n switch (caseRule) {\n case CaseRules.LowerFirst:\n return str.charAt(0).toLowerCase() + str.slice(1);\n case CaseRules.SnakeCase:\n return dashify(str, \"_\");\n case CaseRules.SnakeCaseAllCaps:\n return dashify(str, \"_\").toUpperCase();\n case CaseRules.KebabCase:\n return dashify(str, \"-\");\n case CaseRules.None:\n default:\n return str;\n }\n}\nfunction createObj(fields, caseRule = CaseRules.None) {\n function fail(kvPair) {\n throw new Error(\"Cannot infer key and value of \" + String(kvPair));\n }\n const o = {};\n const definedCaseRule = caseRule;\n for (let kvPair of fields) {\n let caseRule = CaseRules.None;\n if (kvPair == null) {\n fail(kvPair);\n }\n // Deflate unions and use the defined case rule\n if (typeof kvPair.toJSON === \"function\") {\n kvPair = kvPair.toJSON();\n caseRule = definedCaseRule;\n }\n if (Array.isArray(kvPair)) {\n switch (kvPair.length) {\n case 0:\n fail(kvPair);\n break;\n case 1:\n o[changeCase(kvPair[0], caseRule)] = true;\n break;\n case 2:\n const value = kvPair[1];\n o[changeCase(kvPair[0], caseRule)] = value;\n break;\n default:\n o[changeCase(kvPair[0], caseRule)] = kvPair.slice(1);\n }\n }\n else if (typeof kvPair === \"string\") {\n o[changeCase(kvPair, caseRule)] = true;\n }\n else {\n fail(kvPair);\n }\n }\n return o;\n}\nfunction jsOptions(mutator) {\n const opts = {};\n mutator(opts);\n return opts;\n}\nfunction round(value, digits = 0) {\n const m = Math.pow(10, digits);\n const n = +(digits ? value * m : value).toFixed(8);\n const i = Math.floor(n);\n const f = n - i;\n const e = 1e-8;\n const r = (f > 0.5 - e && f < 0.5 + e) ? ((i % 2 === 0) ? i : i + 1) : Math.round(n);\n return digits ? r / m : r;\n}\nfunction sign(x) {\n return x > 0 ? 1 : x < 0 ? -1 : 0;\n}\nfunction randomNext(min, max) {\n return Math.floor(Math.random() * (max - min)) + min;\n}\nfunction randomBytes(buffer) {\n if (buffer == null) {\n throw new Error(\"Buffer cannot be null\");\n }\n for (let i = 0; i < buffer.length; i += 6) {\n // Pick random 48-bit number. Fill buffer in 2 24-bit chunks to avoid bitwise truncation.\n let r = Math.floor(Math.random() * 281474976710656); // Low 24 bits = chunk 1.\n const rhi = Math.floor(r / 16777216); // High 24 bits shifted via division = chunk 2.\n for (let j = 0; j < 6 && i + j < buffer.length; j++) {\n if (j === 3) {\n r = rhi;\n }\n buffer[i + j] = r & 255;\n r >>>= 8;\n }\n }\n}\nfunction unescapeDataString(s) {\n // https://stackoverflow.com/a/4458580/524236\n return decodeURIComponent((s).replace(/\\+/g, \"%20\"));\n}\nfunction escapeDataString(s) {\n return encodeURIComponent(s).replace(/!/g, \"%21\")\n .replace(/'/g, \"%27\")\n .replace(/\\(/g, \"%28\")\n .replace(/\\)/g, \"%29\")\n .replace(/\\*/g, \"%2A\");\n}\nfunction escapeUriString(s) {\n return encodeURI(s);\n}\n// ICollection.Clear and Count members can be called on Arrays\n// or Dictionaries so we need a runtime check (see #1120)\nfunction count(col) {\n if (isArrayLike(col)) {\n return col.length;\n }\n else {\n let count = 0;\n for (const _ of col) {\n count++;\n }\n return count;\n }\n}\nfunction clear(col) {\n if (isArrayLike(col)) {\n col.splice(0);\n }\n else {\n col.clear();\n }\n}\nconst CURRIED_KEY = \"__CURRIED__\";\nfunction uncurry(arity, f) {\n // f may be a function option with None value\n if (f == null) {\n return undefined;\n }\n // The function is already uncurried\n if (f.length > 1) {\n // if (CURRIED_KEY in f) { // This doesn't always work\n return f;\n }\n let uncurriedFn;\n switch (arity) {\n case 2:\n uncurriedFn = (a1, a2) => f(a1)(a2);\n break;\n case 3:\n uncurriedFn = (a1, a2, a3) => f(a1)(a2)(a3);\n break;\n case 4:\n uncurriedFn = (a1, a2, a3, a4) => f(a1)(a2)(a3)(a4);\n break;\n case 5:\n uncurriedFn = (a1, a2, a3, a4, a5) => f(a1)(a2)(a3)(a4)(a5);\n break;\n case 6:\n uncurriedFn = (a1, a2, a3, a4, a5, a6) => f(a1)(a2)(a3)(a4)(a5)(a6);\n break;\n case 7:\n uncurriedFn = (a1, a2, a3, a4, a5, a6, a7) => f(a1)(a2)(a3)(a4)(a5)(a6)(a7);\n break;\n case 8:\n uncurriedFn = (a1, a2, a3, a4, a5, a6, a7, a8) => f(a1)(a2)(a3)(a4)(a5)(a6)(a7)(a8);\n break;\n default:\n throw new Error(\"Uncurrying to more than 8-arity is not supported: \" + arity);\n }\n uncurriedFn[CURRIED_KEY] = f;\n return uncurriedFn;\n}\nfunction curry(arity, f) {\n if (f == null) {\n return undefined;\n }\n if (CURRIED_KEY in f) {\n return f[CURRIED_KEY];\n }\n switch (arity) {\n case 2:\n return (a1) => (a2) => f(a1, a2);\n case 3:\n return (a1) => (a2) => (a3) => f(a1, a2, a3);\n case 4:\n return (a1) => (a2) => (a3) => (a4) => f(a1, a2, a3, a4);\n case 5:\n return (a1) => (a2) => (a3) => (a4) => (a5) => f(a1, a2, a3, a4, a5);\n case 6:\n return (a1) => (a2) => (a3) => (a4) => (a5) => (a6) => f(a1, a2, a3, a4, a5, a6);\n case 7:\n return (a1) => (a2) => (a3) => (a4) => (a5) => (a6) => (a7) => f(a1, a2, a3, a4, a5, a6, a7);\n case 8:\n return (a1) => (a2) => (a3) => (a4) => (a5) => (a6) => (a7) => (a8) => f(a1, a2, a3, a4, a5, a6, a7, a8);\n default:\n throw new Error(\"Currying to more than 8-arity is not supported: \" + arity);\n }\n}\nfunction partialApply(arity, f, args) {\n if (f == null) {\n return undefined;\n }\n else if (CURRIED_KEY in f) {\n f = f[CURRIED_KEY];\n for (let i = 0; i < args.length; i++) {\n f = f(args[i]);\n }\n return f;\n }\n else {\n switch (arity) {\n case 1:\n // Wrap arguments to make sure .concat doesn't destruct arrays. Example\n // [1,2].concat([3,4],5) --> [1,2,3,4,5] // fails\n // [1,2].concat([[3,4],5]) --> [1,2,[3,4],5] // ok\n return (a1) => f.apply(undefined, args.concat([a1]));\n case 2:\n return (a1) => (a2) => f.apply(undefined, args.concat([a1, a2]));\n case 3:\n return (a1) => (a2) => (a3) => f.apply(undefined, args.concat([a1, a2, a3]));\n case 4:\n return (a1) => (a2) => (a3) => (a4) => f.apply(undefined, args.concat([a1, a2, a3, a4]));\n case 5:\n return (a1) => (a2) => (a3) => (a4) => (a5) => f.apply(undefined, args.concat([a1, a2, a3, a4, a5]));\n case 6:\n return (a1) => (a2) => (a3) => (a4) => (a5) => (a6) => f.apply(undefined, args.concat([a1, a2, a3, a4, a5, a6]));\n case 7:\n return (a1) => (a2) => (a3) => (a4) => (a5) => (a6) => (a7) => f.apply(undefined, args.concat([a1, a2, a3, a4, a5, a6, a7]));\n case 8:\n return (a1) => (a2) => (a3) => (a4) => (a5) => (a6) => (a7) => (a8) => f.apply(undefined, args.concat([a1, a2, a3, a4, a5, a6, a7, a8]));\n default:\n throw new Error(\"Partially applying to more than 8-arity is not supported: \" + arity);\n }\n }\n}\nfunction mapCurriedArgs(fn, mappings) {\n function mapArg(fn, arg, mappings, idx) {\n const mapping = mappings[idx];\n if (mapping !== 0) {\n const expectedArity = mapping[0];\n const actualArity = mapping[1];\n if (expectedArity > 1) {\n arg = curry(expectedArity, arg);\n }\n if (actualArity > 1) {\n arg = uncurry(actualArity, arg);\n }\n }\n const res = fn(arg);\n if (idx + 1 === mappings.length) {\n return res;\n }\n else {\n return (arg) => mapArg(res, arg, mappings, idx + 1);\n }\n }\n return (arg) => mapArg(fn, arg, mappings, 0);\n}\nfunction addToDict(dict, k, v) {\n if (dict.has(k)) {\n throw new Error(\"An item with the same key has already been added. Key: \" + k);\n }\n dict.set(k, v);\n}\nfunction getItemFromDict(map, key) {\n if (map.has(key)) {\n return map.get(key);\n }\n else {\n throw new Error(`The given key '${key}' was not present in the dictionary.`);\n }\n}\n//# sourceMappingURL=Util.js.map\n\n//# sourceURL=webpack:///./.fable/fable-library.2.10.1/Util.js?");
338
-
339
- /***/ }),
340
-
341
- /***/ "./.fable/fable-library.2.10.1/lib/big.js":
342
- /*!************************************************!*\
343
- !*** ./.fable/fable-library.2.10.1/lib/big.js ***!
344
- \************************************************/
345
- /*! exports provided: Big, default */
346
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
347
-
348
- "use strict";
349
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Big\", function() { return Big; });\n/* harmony import */ var _Util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Util */ \"./.fable/fable-library.2.10.1/Util.js\");\n// https://github.com/MikeMcl/big.js/blob/01b3ce3a6b0ba7b42442ea48ec4ffc88d1669ec4/big.mjs\n/* tslint:disable */\n\n// The shared prototype object.\nvar P = {\n GetHashCode() { return Object(_Util__WEBPACK_IMPORTED_MODULE_0__[\"combineHashCodes\"])([this.s, this.e].concat(this.c)); },\n Equals(x) { return !this.cmp(x); },\n CompareTo(x) { return this.cmp(x); },\n};\n/*\n * big.js v5.2.2\n * A small, fast, easy-to-use library for arbitrary-precision decimal arithmetic.\n * Copyright (c) 2018 Michael Mclaughlin <M8ch88l@gmail.com>\n * https://github.com/MikeMcl/big.js/LICENCE\n */\n/************************************** EDITABLE DEFAULTS *****************************************/\n// The default values below must be integers within the stated ranges.\n/*\n * The maximum number of decimal places (DP) of the results of operations involving division:\n * div and sqrt, and pow with negative exponents.\n */\nvar DP = 28, // 0 to MAX_DP\n/*\n * The rounding mode (RM) used when rounding to the above decimal places.\n *\n * 0 Towards zero (i.e. truncate, no rounding). (ROUND_DOWN)\n * 1 To nearest neighbour. If equidistant, round up. (ROUND_HALF_UP)\n * 2 To nearest neighbour. If equidistant, to even. (ROUND_HALF_EVEN)\n * 3 Away from zero. (ROUND_UP)\n */\nRM = 1, // 0, 1, 2 or 3\n// The maximum value of DP and Big.DP.\nMAX_DP = 1E6, // 0 to 1000000\n// The maximum magnitude of the exponent argument to the pow method.\nMAX_POWER = 1E6, // 1 to 1000000\n/*\n * The negative exponent (NE) at and beneath which toString returns exponential notation.\n * (JavaScript numbers: -7)\n * -1000000 is the minimum recommended exponent value of a Big.\n */\nNE = -29, // 0 to -1000000\n/*\n * The positive exponent (PE) at and above which toString returns exponential notation.\n * (JavaScript numbers: 21)\n * 1000000 is the maximum recommended exponent value of a Big.\n * (This limit is not enforced or checked.)\n */\nPE = 29, // 0 to 1000000\n/**************************************************************************************************/\n// Error messages.\nNAME = '[big.js] ', INVALID = NAME + 'Invalid ', INVALID_DP = INVALID + 'decimal places', INVALID_RM = INVALID + 'rounding mode', DIV_BY_ZERO = NAME + 'Division by zero', UNDEFINED = void 0, NUMERIC = /^-?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i;\n/*\n * Create and return a Big constructor.\n *\n */\nfunction _Big_() {\n /*\n * The Big constructor and exported function.\n * Create and return a new instance of a Big number object.\n *\n * n {number|string|Big} A numeric value.\n */\n function Big(n) {\n var x = this;\n // Enable constructor usage without new.\n if (!(x instanceof Big))\n return n === UNDEFINED ? _Big_() : new Big(n);\n // Duplicate.\n if (n instanceof Big) {\n x.s = n.s;\n x.e = n.e;\n x.c = n.c.slice();\n normalize(x);\n }\n else {\n parse(x, n);\n }\n /*\n * Retain a reference to this Big constructor, and shadow Big.prototype.constructor which\n * points to Object.\n */\n x.constructor = Big;\n }\n Big.prototype = P;\n Big.DP = DP;\n Big.RM = RM;\n Big.NE = NE;\n Big.PE = PE;\n Big.version = '5.2.2';\n return Big;\n}\nfunction normalize(x) {\n x = round(x, DP, 0);\n if (x.c.length > 1 && !x.c[0]) {\n let i = x.c.findIndex(x => x);\n x.c = x.c.slice(i);\n x.e = x.e - i;\n }\n}\n/*\n * Parse the number or string value passed to a Big constructor.\n *\n * x {Big} A Big number instance.\n * n {number|string} A numeric value.\n */\nfunction parse(x, n) {\n var e, i, nl;\n // Minus zero?\n if (n === 0 && 1 / n < 0)\n n = '-0';\n else if (!NUMERIC.test(n += ''))\n throw Error(INVALID + 'number');\n // Determine sign.\n x.s = n.charAt(0) == '-' ? (n = n.slice(1), -1) : 1;\n // Decimal point?\n if ((e = n.indexOf('.')) > -1)\n n = n.replace('.', '');\n // Exponential form?\n if ((i = n.search(/e/i)) > 0) {\n // Determine exponent.\n if (e < 0)\n e = i;\n e += +n.slice(i + 1);\n n = n.substring(0, i);\n }\n else if (e < 0) {\n // Integer.\n e = n.length;\n }\n nl = n.length;\n // Determine leading zeros before decimal point.\n for (i = 0; i < e && i < nl && n.charAt(i) == '0';)\n ++i;\n // older version (ignores decimal point).\n // // Determine leading zeros.\n // for (i = 0; i < nl && n.charAt(i) == '0';) ++i;\n if (i == nl) {\n // Zero.\n x.c = [x.e = 0];\n }\n else {\n x.e = e - i - 1;\n x.c = [];\n // Convert string to array of digits without leading zeros\n for (e = 0; i < nl;)\n x.c[e++] = +n.charAt(i++);\n // older version (doesn't keep trailing zeroes).\n // // Determine trailing zeros.\n // for (; nl > 0 && n.charAt(--nl) == '0';);\n // // Convert string to array of digits without leading/trailing zeros.\n // for (e = 0; i <= nl;) x.c[e++] = +n.charAt(i++);\n }\n x = round(x, Big.DP, Big.RM);\n return x;\n}\n/*\n * Round Big x to a maximum of dp decimal places using rounding mode rm.\n * Called by stringify, P.div, P.round and P.sqrt.\n *\n * x {Big} The Big to round.\n * dp {number} Integer, 0 to MAX_DP inclusive.\n * rm {number} 0, 1, 2 or 3 (DOWN, HALF_UP, HALF_EVEN, UP)\n * [more] {boolean} Whether the result of division was truncated.\n */\nfunction round(x, dp, rm, more) {\n var xc = x.c, i = x.e + dp + 1;\n if (i < xc.length) {\n if (rm === 1) {\n // xc[i] is the digit after the digit that may be rounded up.\n more = xc[i] >= 5;\n }\n else if (rm === 2) {\n more = xc[i] > 5 || xc[i] == 5 &&\n (more || i < 0 || xc[i + 1] !== UNDEFINED || xc[i - 1] & 1);\n }\n else if (rm === 3) {\n more = more || !!xc[0];\n }\n else {\n more = false;\n if (rm !== 0)\n throw Error(INVALID_RM);\n }\n if (i < 1) {\n xc.length = 1;\n if (more) {\n // 1, 0.1, 0.01, 0.001, 0.0001 etc.\n x.e = -dp;\n xc[0] = 1;\n }\n else {\n // Zero.\n xc[0] = x.e = 0;\n }\n }\n else {\n // Remove any digits after the required decimal places.\n xc.length = i--;\n // Round up?\n if (more) {\n // Rounding up may mean the previous digit has to be rounded up.\n for (; ++xc[i] > 9;) {\n xc[i] = 0;\n if (!i--) {\n ++x.e;\n xc.unshift(1);\n }\n }\n }\n // Remove trailing zeros.\n for (i = xc.length; !xc[--i];)\n xc.pop();\n }\n }\n else if (rm < 0 || rm > 3 || rm !== ~~rm) {\n throw Error(INVALID_RM);\n }\n return x;\n}\n/*\n * Return a string representing the value of Big x in normal or exponential notation.\n * Handles P.toExponential, P.toFixed, P.toJSON, P.toPrecision, P.toString and P.valueOf.\n *\n * x {Big}\n * id? {number} Caller id.\n * 1 toExponential\n * 2 toFixed\n * 3 toPrecision\n * 4 valueOf\n * n? {number|undefined} Caller's argument.\n * k? {number|undefined}\n */\nfunction stringify(x, id, n, k) {\n var e, s, Big = x.constructor, z = !x.c[0];\n if (n !== UNDEFINED) {\n if (n !== ~~n || n < (id == 3) || n > MAX_DP) {\n throw Error(id == 3 ? INVALID + 'precision' : INVALID_DP);\n }\n x = new Big(x);\n // The index of the digit that may be rounded up.\n n = k - x.e;\n // Round?\n if (x.c.length > ++k)\n round(x, n, Big.RM);\n // toFixed: recalculate k as x.e may have changed if value rounded up.\n if (id == 2)\n k = x.e + n + 1;\n // Append zeros?\n for (; x.c.length < k;)\n x.c.push(0);\n }\n e = x.e;\n s = x.c.join('');\n n = s.length;\n // Exponential notation?\n if (id != 2 && (id == 1 || id == 3 && k <= e || e <= Big.NE || e >= Big.PE)) {\n s = s.charAt(0) + (n > 1 ? '.' + s.slice(1) : '') + (e < 0 ? 'e' : 'e+') + e;\n // Normal notation.\n }\n else if (e < 0) {\n for (; ++e;)\n s = '0' + s;\n s = '0.' + s;\n }\n else if (e > 0) {\n if (++e > n)\n for (e -= n; e--;)\n s += '0';\n else if (e < n)\n s = s.slice(0, e) + '.' + s.slice(e);\n }\n else if (n > 1) {\n s = s.charAt(0) + '.' + s.slice(1);\n }\n return x.s < 0 && (!z || id == 4) ? '-' + s : s;\n}\n// Prototype/instance methods\n/*\n * Return a new Big whose value is the absolute value of this Big.\n */\nP.abs = function () {\n var x = new this.constructor(this);\n x.s = 1;\n return x;\n};\n/*\n * Return 1 if the value of this Big is greater than the value of Big y,\n * -1 if the value of this Big is less than the value of Big y, or\n * 0 if they have the same value.\n*/\nP.cmp = function (y) {\n var isneg, Big = this.constructor, x = new Big(this), y = new Big(y), xc = x.c, yc = y.c, i = x.s, j = y.s, k = x.e, l = y.e;\n // Either zero?\n if (!xc[0] || !yc[0])\n return !xc[0] ? !yc[0] ? 0 : -j : i;\n // Signs differ?\n if (i != j)\n return i;\n isneg = i < 0;\n // Compare exponents.\n if (k != l)\n return k > l ^ isneg ? 1 : -1;\n // Compare digit by digit.\n j = Math.max(xc.length, yc.length);\n for (i = 0; i < j; i++) {\n k = i < xc.length ? xc[i] : 0;\n l = i < yc.length ? yc[i] : 0;\n if (k != l)\n return k > l ^ isneg ? 1 : -1;\n }\n return 0;\n // old version (doesn't compare well trailing zeroes, e.g. 1.0 with 1.00)\n // j = (k = xc.length) < (l = yc.length) ? k : l;\n // // Compare digit by digit.\n // for (i = -1; ++i < j;) {\n // if (xc[i] != yc[i]) return xc[i] > yc[i] ^ isneg ? 1 : -1;\n // }\n // // Compare lengths.\n // return k == l ? 0 : k > l ^ isneg ? 1 : -1;\n};\n/*\n * Return a new Big whose value is the value of this Big divided by the value of Big y, rounded,\n * if necessary, to a maximum of Big.DP decimal places using rounding mode Big.RM.\n */\nP.div = function (y) {\n var Big = this.constructor, x = new Big(this), y = new Big(y), a = x.c, // dividend\n b = y.c, // divisor\n k = x.s == y.s ? 1 : -1, dp = Big.DP;\n if (dp !== ~~dp || dp < 0 || dp > MAX_DP)\n throw Error(INVALID_DP);\n // Divisor is zero?\n if (!b[0])\n throw Error(DIV_BY_ZERO);\n // Dividend is 0? Return +-0.\n if (!a[0])\n return new Big(k * 0);\n var bl, bt, n, cmp, ri, bz = b.slice(), ai = bl = b.length, al = a.length, r = a.slice(0, bl), // remainder\n rl = r.length, q = y, // quotient\n qc = q.c = [], qi = 0, d = dp + (q.e = x.e - y.e) + 1; // number of digits of the result\n q.s = k;\n k = d < 0 ? 0 : d;\n // Create version of divisor with leading zero.\n bz.unshift(0);\n // Add zeros to make remainder as long as divisor.\n for (; rl++ < bl;)\n r.push(0);\n do {\n // n is how many times the divisor goes into current remainder.\n for (n = 0; n < 10; n++) {\n // Compare divisor and remainder.\n if (bl != (rl = r.length)) {\n cmp = bl > rl ? 1 : -1;\n }\n else {\n for (ri = -1, cmp = 0; ++ri < bl;) {\n if (b[ri] != r[ri]) {\n cmp = b[ri] > r[ri] ? 1 : -1;\n break;\n }\n }\n }\n // If divisor < remainder, subtract divisor from remainder.\n if (cmp < 0) {\n // Remainder can't be more than 1 digit longer than divisor.\n // Equalise lengths using divisor with extra leading zero?\n for (bt = rl == bl ? b : bz; rl;) {\n if (r[--rl] < bt[rl]) {\n ri = rl;\n for (; ri && !r[--ri];)\n r[ri] = 9;\n --r[ri];\n r[rl] += 10;\n }\n r[rl] -= bt[rl];\n }\n for (; !r[0];)\n r.shift();\n }\n else {\n break;\n }\n }\n // Add the digit n to the result array.\n qc[qi++] = cmp ? n : ++n;\n // Update the remainder.\n if (r[0] && cmp)\n r[rl] = a[ai] || 0;\n else\n r = [a[ai]];\n } while ((ai++ < al || r[0] !== UNDEFINED) && k--);\n // Leading zero? Do not remove if result is simply zero (qi == 1).\n if (!qc[0] && qi != 1) {\n // There can't be more than one zero.\n qc.shift();\n q.e--;\n }\n // Round?\n if (qi > d)\n round(q, dp, Big.RM, r[0] !== UNDEFINED);\n return q;\n};\n/*\n * Return true if the value of this Big is equal to the value of Big y, otherwise return false.\n */\nP.eq = function (y) {\n return !this.cmp(y);\n};\n/*\n * Return true if the value of this Big is greater than the value of Big y, otherwise return\n * false.\n */\nP.gt = function (y) {\n return this.cmp(y) > 0;\n};\n/*\n * Return true if the value of this Big is greater than or equal to the value of Big y, otherwise\n * return false.\n */\nP.gte = function (y) {\n return this.cmp(y) > -1;\n};\n/*\n * Return true if the value of this Big is less than the value of Big y, otherwise return false.\n */\nP.lt = function (y) {\n return this.cmp(y) < 0;\n};\n/*\n * Return true if the value of this Big is less than or equal to the value of Big y, otherwise\n * return false.\n */\nP.lte = function (y) {\n return this.cmp(y) < 1;\n};\n/*\n * Return a new Big whose value is the value of this Big minus the value of Big y.\n */\nP.minus = P.sub = function (y) {\n var i, j, t, xlty, Big = this.constructor, x = new Big(this), y = new Big(y), a = x.s, b = y.s;\n // Signs differ?\n if (a != b) {\n y.s = -b;\n return x.plus(y);\n }\n var xc = x.c.slice(), xe = x.e, yc = y.c, ye = y.e;\n // Either zero?\n if (!xc[0] || !yc[0]) {\n // y is non-zero? x is non-zero? Or both are zero.\n return yc[0] ? (y.s = -b, y) : new Big(xc[0] ? x : 0);\n }\n // Determine which is the bigger number. Prepend zeros to equalise exponents.\n if (a = xe - ye) {\n if (xlty = a < 0) {\n a = -a;\n t = xc;\n }\n else {\n ye = xe;\n t = yc;\n }\n t.reverse();\n for (b = a; b--;)\n t.push(0);\n t.reverse();\n }\n else {\n // Exponents equal. Check digit by digit.\n j = ((xlty = xc.length < yc.length) ? xc : yc).length;\n for (a = b = 0; b < j; b++) {\n if (xc[b] != yc[b]) {\n xlty = xc[b] < yc[b];\n break;\n }\n }\n }\n // x < y? Point xc to the array of the bigger number.\n if (xlty) {\n t = xc;\n xc = yc;\n yc = t;\n y.s = -y.s;\n }\n /*\n * Append zeros to xc if shorter. No need to add zeros to yc if shorter as subtraction only\n * needs to start at yc.length.\n */\n if ((b = (j = yc.length) - (i = xc.length)) > 0)\n for (; b--;)\n xc[i++] = 0;\n // Subtract yc from xc.\n for (b = i; j > a;) {\n if (xc[--j] < yc[j]) {\n for (i = j; i && !xc[--i];)\n xc[i] = 9;\n --xc[i];\n xc[j] += 10;\n }\n xc[j] -= yc[j];\n }\n // Remove trailing zeros.\n for (; xc[--b] === 0;)\n xc.pop();\n // Remove leading zeros and adjust exponent accordingly.\n for (; xc[0] === 0;) {\n xc.shift();\n --ye;\n }\n if (!xc[0]) {\n // n - n = +0\n y.s = 1;\n // Result must be zero.\n xc = [ye = 0];\n }\n y.c = xc;\n y.e = ye;\n return y;\n};\n/*\n * Return a new Big whose value is the value of this Big modulo the value of Big y.\n */\nP.mod = function (y) {\n var ygtx, Big = this.constructor, x = new Big(this), y = new Big(y), a = x.s, b = y.s;\n if (!y.c[0])\n throw Error(DIV_BY_ZERO);\n x.s = y.s = 1;\n ygtx = y.cmp(x) == 1;\n x.s = a;\n y.s = b;\n if (ygtx)\n return new Big(x);\n a = Big.DP;\n b = Big.RM;\n Big.DP = Big.RM = 0;\n x = x.div(y);\n Big.DP = a;\n Big.RM = b;\n return this.minus(x.times(y));\n};\n/*\n * Return a new Big whose value is the value of this Big plus the value of Big y.\n */\nP.plus = P.add = function (y) {\n var t, Big = this.constructor, x = new Big(this), y = new Big(y), a = x.s, b = y.s;\n // Signs differ?\n if (a != b) {\n y.s = -b;\n return x.minus(y);\n }\n var xe = x.e, xc = x.c, ye = y.e, yc = y.c;\n // Either zero? y is non-zero? x is non-zero? Or both are zero.\n if (!xc[0] || !yc[0])\n return yc[0] ? y : new Big(xc[0] ? x : a * 0);\n xc = xc.slice();\n // Prepend zeros to equalise exponents.\n // Note: reverse faster than unshifts.\n if (a = xe - ye) {\n if (a > 0) {\n ye = xe;\n t = yc;\n }\n else {\n a = -a;\n t = xc;\n }\n t.reverse();\n for (; a--;)\n t.push(0);\n t.reverse();\n }\n // Point xc to the longer array.\n if (xc.length - yc.length < 0) {\n t = yc;\n yc = xc;\n xc = t;\n }\n a = yc.length;\n // Only start adding at yc.length - 1 as the further digits of xc can be left as they are.\n for (b = 0; a; xc[a] %= 10)\n b = (xc[--a] = xc[a] + yc[a] + b) / 10 | 0;\n // No need to check for zero, as +x + +y != 0 && -x + -y != 0\n if (b) {\n xc.unshift(b);\n ++ye;\n }\n // Remove trailing zeros.\n for (a = xc.length; xc[--a] === 0;)\n xc.pop();\n y.c = xc;\n y.e = ye;\n return y;\n};\n/*\n * Return a Big whose value is the value of this Big raised to the power n.\n * If n is negative, round to a maximum of Big.DP decimal places using rounding\n * mode Big.RM.\n *\n * n {number} Integer, -MAX_POWER to MAX_POWER inclusive.\n */\nP.pow = function (n) {\n var Big = this.constructor, x = new Big(this), y = new Big(1), one = new Big(1), isneg = n < 0;\n if (n !== ~~n || n < -MAX_POWER || n > MAX_POWER)\n throw Error(INVALID + 'exponent');\n if (isneg)\n n = -n;\n for (;;) {\n if (n & 1)\n y = y.times(x);\n n >>= 1;\n if (!n)\n break;\n x = x.times(x);\n }\n return isneg ? one.div(y) : y;\n};\n/*\n * Return a new Big whose value is the value of this Big rounded using rounding mode rm\n * to a maximum of dp decimal places, or, if dp is negative, to an integer which is a\n * multiple of 10**-dp.\n * If dp is not specified, round to 0 decimal places.\n * If rm is not specified, use Big.RM.\n *\n * dp? {number} Integer, -MAX_DP to MAX_DP inclusive.\n * rm? 0, 1, 2 or 3 (ROUND_DOWN, ROUND_HALF_UP, ROUND_HALF_EVEN, ROUND_UP)\n */\nP.round = function (dp, rm) {\n var Big = this.constructor;\n if (dp === UNDEFINED)\n dp = 0;\n else if (dp !== ~~dp || dp < -MAX_DP || dp > MAX_DP)\n throw Error(INVALID_DP);\n return round(new Big(this), dp, rm === UNDEFINED ? Big.RM : rm);\n};\n/*\n * Return a new Big whose value is the square root of the value of this Big, rounded, if\n * necessary, to a maximum of Big.DP decimal places using rounding mode Big.RM.\n */\nP.sqrt = function () {\n var r, c, t, Big = this.constructor, x = new Big(this), s = x.s, e = x.e, half = new Big(0.5);\n // Zero?\n if (!x.c[0])\n return new Big(x);\n // Negative?\n if (s < 0)\n throw Error(NAME + 'No square root');\n // Estimate.\n s = Math.sqrt(x + '');\n // Math.sqrt underflow/overflow?\n // Re-estimate: pass x coefficient to Math.sqrt as integer, then adjust the result exponent.\n if (s === 0 || s === 1 / 0) {\n c = x.c.join('');\n if (!(c.length + e & 1))\n c += '0';\n s = Math.sqrt(c);\n e = ((e + 1) / 2 | 0) - (e < 0 || e & 1);\n r = new Big((s == 1 / 0 ? '1e' : (s = s.toExponential()).slice(0, s.indexOf('e') + 1)) + e);\n }\n else {\n r = new Big(s);\n }\n e = r.e + (Big.DP += 4);\n // Newton-Raphson iteration.\n do {\n t = r;\n r = half.times(t.plus(x.div(t)));\n } while (t.c.slice(0, e).join('') !== r.c.slice(0, e).join(''));\n return round(r, Big.DP -= 4, Big.RM);\n};\n/*\n * Return a new Big whose value is the value of this Big times the value of Big y.\n */\nP.times = P.mul = function (y) {\n var c, Big = this.constructor, x = new Big(this), y = new Big(y), xc = x.c, yc = y.c, a = xc.length, b = yc.length, i = x.e, j = y.e;\n // Determine sign of result.\n y.s = x.s == y.s ? 1 : -1;\n // Return signed 0 if either 0.\n if (!xc[0] || !yc[0])\n return new Big(y.s * 0);\n // Initialise exponent of result as x.e + y.e.\n y.e = i + j;\n // If array xc has fewer digits than yc, swap xc and yc, and lengths.\n if (a < b) {\n c = xc;\n xc = yc;\n yc = c;\n j = a;\n a = b;\n b = j;\n }\n // Initialise coefficient array of result with zeros.\n for (c = new Array(j = a + b); j--;)\n c[j] = 0;\n // Multiply.\n // i is initially xc.length.\n for (i = b; i--;) {\n b = 0;\n // a is yc.length.\n for (j = a + i; j > i;) {\n // Current sum of products at this digit position, plus carry.\n b = c[j] + yc[i] * xc[j - i - 1] + b;\n c[j--] = b % 10;\n // carry\n b = b / 10 | 0;\n }\n c[j] = (c[j] + b) % 10;\n }\n // Increment result exponent if there is a final carry, otherwise remove leading zero.\n if (b)\n ++y.e;\n else\n c.shift();\n // Remove trailing zeros.\n for (i = c.length; !c[--i];)\n c.pop();\n y.c = c;\n return y;\n};\n/*\n * Return a string representing the value of this Big in exponential notation to dp fixed decimal\n * places and rounded using Big.RM.\n *\n * dp? {number} Integer, 0 to MAX_DP inclusive.\n */\nP.toExponential = function (dp) {\n return stringify(this, 1, dp, dp);\n};\n/*\n * Return a string representing the value of this Big in normal notation to dp fixed decimal\n * places and rounded using Big.RM.\n *\n * dp? {number} Integer, 0 to MAX_DP inclusive.\n *\n * (-0).toFixed(0) is '0', but (-0.1).toFixed(0) is '-0'.\n * (-0).toFixed(1) is '0.0', but (-0.01).toFixed(1) is '-0.0'.\n */\nP.toFixed = function (dp) {\n return stringify(this, 2, dp, this.e + dp);\n};\n/*\n * Return a string representing the value of this Big rounded to sd significant digits using\n * Big.RM. Use exponential notation if sd is less than the number of digits necessary to represent\n * the integer part of the value in normal notation.\n *\n * sd {number} Integer, 1 to MAX_DP inclusive.\n */\nP.toPrecision = function (sd) {\n return stringify(this, 3, sd, sd - 1);\n};\n/*\n * Return a string representing the value of this Big.\n * Return exponential notation if this Big has a positive exponent equal to or greater than\n * Big.PE, or a negative exponent equal to or less than Big.NE.\n * Omit the sign for negative zero.\n */\nP.toString = function () {\n return stringify(this);\n};\n/*\n * Return a string representing the value of this Big.\n * Return exponential notation if this Big has a positive exponent equal to or greater than\n * Big.PE, or a negative exponent equal to or less than Big.NE.\n * Include the sign for negative zero.\n */\nP.valueOf = P.toJSON = function () {\n return stringify(this, 4);\n};\n// Export\nvar Big = _Big_();\n/* harmony default export */ __webpack_exports__[\"default\"] = (Big);\n//# sourceMappingURL=big.js.map\n\n//# sourceURL=webpack:///./.fable/fable-library.2.10.1/lib/big.js?");
350
-
351
- /***/ }),
352
-
353
- /***/ "./.fable/fable-library.2.10.1/lib/long.js":
354
- /*!*************************************************!*\
355
- !*** ./.fable/fable-library.2.10.1/lib/long.js ***!
356
- \*************************************************/
357
- /*! exports provided: default, Long, isLong, fromInt, fromNumber, fromBits, fromString, fromValue, ZERO, UZERO, ONE, UONE, NEG_ONE, MAX_VALUE, MAX_UNSIGNED_VALUE, MIN_VALUE, toInt, toNumber, toString, getHighBits, getHighBitsUnsigned, getLowBits, getLowBitsUnsigned, getNumBitsAbs, isZero, isNegative, isPositive, isOdd, isEven, equals, notEquals, lessThan, lessThanOrEqual, greaterThan, greaterThanOrEqual, compare, negate, add, subtract, multiply, divide, modulo, not, and, or, xor, shiftLeft, shiftRight, shiftRightUnsigned, rotateLeft, rotateRight, toSigned, toUnsigned, toBytes, toBytesLE, toBytesBE, fromBytes, fromBytesLE, fromBytesBE */
358
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
359
-
360
- "use strict";
361
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Long\", function() { return Long; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isLong\", function() { return isLong; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromInt\", function() { return fromInt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromNumber\", function() { return fromNumber; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromBits\", function() { return fromBits; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromString\", function() { return fromString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromValue\", function() { return fromValue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ZERO\", function() { return ZERO; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UZERO\", function() { return UZERO; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ONE\", function() { return ONE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UONE\", function() { return UONE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NEG_ONE\", function() { return NEG_ONE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MAX_VALUE\", function() { return MAX_VALUE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MAX_UNSIGNED_VALUE\", function() { return MAX_UNSIGNED_VALUE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MIN_VALUE\", function() { return MIN_VALUE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toInt\", function() { return toInt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toNumber\", function() { return toNumber; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toString\", function() { return toString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getHighBits\", function() { return getHighBits; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getHighBitsUnsigned\", function() { return getHighBitsUnsigned; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getLowBits\", function() { return getLowBits; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getLowBitsUnsigned\", function() { return getLowBitsUnsigned; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getNumBitsAbs\", function() { return getNumBitsAbs; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isZero\", function() { return isZero; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isNegative\", function() { return isNegative; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isPositive\", function() { return isPositive; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isOdd\", function() { return isOdd; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isEven\", function() { return isEven; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"equals\", function() { return equals; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"notEquals\", function() { return notEquals; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lessThan\", function() { return lessThan; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lessThanOrEqual\", function() { return lessThanOrEqual; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"greaterThan\", function() { return greaterThan; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"greaterThanOrEqual\", function() { return greaterThanOrEqual; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"compare\", function() { return compare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"negate\", function() { return negate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"add\", function() { return add; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"subtract\", function() { return subtract; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"multiply\", function() { return multiply; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"divide\", function() { return divide; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"modulo\", function() { return modulo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"not\", function() { return not; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"and\", function() { return and; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"or\", function() { return or; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"xor\", function() { return xor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"shiftLeft\", function() { return shiftLeft; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"shiftRight\", function() { return shiftRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"shiftRightUnsigned\", function() { return shiftRightUnsigned; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rotateLeft\", function() { return rotateLeft; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rotateRight\", function() { return rotateRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toSigned\", function() { return toSigned; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toUnsigned\", function() { return toUnsigned; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toBytes\", function() { return toBytes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toBytesLE\", function() { return toBytesLE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toBytesBE\", function() { return toBytesBE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromBytes\", function() { return fromBytes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromBytesLE\", function() { return fromBytesLE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromBytesBE\", function() { return fromBytesBE; });\n// Adapted from: https://github.com/dcodeIO/long.js/blob/master/src/long.js\n// Apache License 2.0: https://github.com/dcodeIO/long.js/blob/master/LICENSE\n/* harmony default export */ __webpack_exports__[\"default\"] = (Long);\n/**\n * wasm optimizations, to do native i64 multiplication and divide\n */\nvar wasm = null;\ntry {\n wasm = new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([\n 0, 97, 115, 109, 1, 0, 0, 0, 1, 13, 2, 96, 0, 1, 127, 96, 4, 127, 127, 127, 127, 1, 127, 3, 7, 6, 0, 1, 1, 1, 1, 1, 6, 6, 1, 127, 1, 65, 0, 11, 7, 50, 6, 3, 109, 117, 108, 0, 1, 5, 100, 105, 118, 95, 115, 0, 2, 5, 100, 105, 118, 95, 117, 0, 3, 5, 114, 101, 109, 95, 115, 0, 4, 5, 114, 101, 109, 95, 117, 0, 5, 8, 103, 101, 116, 95, 104, 105, 103, 104, 0, 0, 10, 191, 1, 6, 4, 0, 35, 0, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 126, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 127, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 128, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 129, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 130, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11\n ])), {}).exports;\n}\ncatch (e) {\n // no wasm support :(\n}\n/**\n * Constructs a 64 bit two's-complement integer, given its low and high 32 bit values as *signed* integers.\n * See the from* functions below for more convenient ways of constructing Longs.\n * @exports Long\n * @class A Long class for representing a 64 bit two's-complement integer value.\n * @param {number} low The low (signed) 32 bits of the long\n * @param {number} high The high (signed) 32 bits of the long\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @constructor\n */\nfunction Long(low, high, unsigned) {\n /**\n * The low 32 bits as a signed value.\n * @type {number}\n */\n this.low = low | 0;\n /**\n * The high 32 bits as a signed value.\n * @type {number}\n */\n this.high = high | 0;\n /**\n * Whether unsigned or not.\n * @type {boolean}\n */\n this.unsigned = !!unsigned;\n}\nLong.prototype.GetHashCode = function () {\n let h1 = this.unsigned ? 1 : 0;\n h1 = ((h1 << 5) + h1) ^ this.high;\n h1 = ((h1 << 5) + h1) ^ this.low;\n return h1;\n};\nLong.prototype.Equals = function (x) { return equals(this, x); };\nLong.prototype.CompareTo = function (x) { return compare(this, x); };\nLong.prototype.toString = function (radix) { return toString(this, radix); };\nLong.prototype.toJSON = function () { return toString(this); };\n// The internal representation of a long is the two given signed, 32-bit values.\n// We use 32-bit pieces because these are the size of integers on which\n// Javascript performs bit-operations. For operations like addition and\n// multiplication, we split each number into 16 bit pieces, which can easily be\n// multiplied within Javascript's floating-point representation without overflow\n// or change in sign.\n//\n// In the algorithms below, we frequently reduce the negative case to the\n// positive case by negating the input(s) and then post-processing the result.\n// Note that we must ALWAYS check specially whether those values are MIN_VALUE\n// (-2^63) because -MIN_VALUE == MIN_VALUE (since 2^63 cannot be represented as\n// a positive number, it overflows back into a negative). Not handling this\n// case would often result in infinite recursion.\n//\n// Common constant values ZERO, ONE, NEG_ONE, etc. are defined below the from*\n// methods on which they depend.\n/**\n * An indicator used to reliably determine if an object is a Long or not.\n * @type {boolean}\n * @const\n * @private\n */\nLong.prototype.__isLong__;\nObject.defineProperty(Long.prototype, \"__isLong__\", { value: true });\n/**\n * @function\n * @param {*} obj Object\n * @returns {boolean}\n * @inner\n */\nfunction isLong(obj) {\n return (obj && obj[\"__isLong__\"]) === true;\n}\n/**\n * Tests if the specified object is a Long.\n * @function\n * @param {*} obj Object\n * @returns {boolean}\n */\n// Long.isLong = isLong;\n/**\n * A cache of the Long representations of small integer values.\n * @type {!Object}\n * @inner\n */\nvar INT_CACHE = {};\n/**\n * A cache of the Long representations of small unsigned integer values.\n * @type {!Object}\n * @inner\n */\nvar UINT_CACHE = {};\n/**\n * @param {number} value\n * @param {boolean=} unsigned\n * @returns {!Long}\n * @inner\n */\nfunction fromInt(value, unsigned) {\n var obj, cachedObj, cache;\n if (unsigned) {\n value >>>= 0;\n if (cache = (0 <= value && value < 256)) {\n cachedObj = UINT_CACHE[value];\n if (cachedObj)\n return cachedObj;\n }\n obj = fromBits(value, (value | 0) < 0 ? -1 : 0, true);\n if (cache)\n UINT_CACHE[value] = obj;\n return obj;\n }\n else {\n value |= 0;\n if (cache = (-128 <= value && value < 128)) {\n cachedObj = INT_CACHE[value];\n if (cachedObj)\n return cachedObj;\n }\n obj = fromBits(value, value < 0 ? -1 : 0, false);\n if (cache)\n INT_CACHE[value] = obj;\n return obj;\n }\n}\n/**\n * Returns a Long representing the given 32 bit integer value.\n * @function\n * @param {number} value The 32 bit integer in question\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @returns {!Long} The corresponding Long value\n */\n// Long.fromInt = fromInt;\n/**\n * @param {number} value\n * @param {boolean=} unsigned\n * @returns {!Long}\n * @inner\n */\nfunction fromNumber(value, unsigned) {\n if (isNaN(value))\n return unsigned ? UZERO : ZERO;\n if (unsigned) {\n if (value < 0)\n return UZERO;\n if (value >= TWO_PWR_64_DBL)\n return MAX_UNSIGNED_VALUE;\n }\n else {\n if (value <= -TWO_PWR_63_DBL)\n return MIN_VALUE;\n if (value + 1 >= TWO_PWR_63_DBL)\n return MAX_VALUE;\n }\n if (value < 0)\n return negate(fromNumber(-value, unsigned));\n return fromBits((value % TWO_PWR_32_DBL) | 0, (value / TWO_PWR_32_DBL) | 0, unsigned);\n}\n/**\n * Returns a Long representing the given value, provided that it is a finite number. Otherwise, zero is returned.\n * @function\n * @param {number} value The number in question\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @returns {!Long} The corresponding Long value\n */\n// Long.fromNumber = fromNumber;\n/**\n * @param {number} lowBits\n * @param {number} highBits\n * @param {boolean=} unsigned\n * @returns {!Long}\n * @inner\n */\nfunction fromBits(lowBits, highBits, unsigned) {\n return new Long(lowBits, highBits, unsigned);\n}\n/**\n * Returns a Long representing the 64 bit integer that comes by concatenating the given low and high bits. Each is\n * assumed to use 32 bits.\n * @function\n * @param {number} lowBits The low 32 bits\n * @param {number} highBits The high 32 bits\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @returns {!Long} The corresponding Long value\n */\n// Long.fromBits = fromBits;\n/**\n * @function\n * @param {number} base\n * @param {number} exponent\n * @returns {number}\n * @inner\n */\nvar pow_dbl = Math.pow; // Used 4 times (4*8 to 15+4)\n/**\n * @param {string} str\n * @param {(boolean|number)=} unsigned\n * @param {number=} radix\n * @returns {!Long}\n * @inner\n */\nfunction fromString(str, unsigned, radix) {\n if (str.length === 0)\n throw Error('empty string');\n if (str === \"NaN\" || str === \"Infinity\" || str === \"+Infinity\" || str === \"-Infinity\")\n return ZERO;\n if (typeof unsigned === 'number') {\n // For goog.math.long compatibility\n radix = unsigned,\n unsigned = false;\n }\n else {\n unsigned = !!unsigned;\n }\n radix = radix || 10;\n if (radix < 2 || 36 < radix)\n throw RangeError('radix');\n var p = str.indexOf('-');\n if (p > 0)\n throw Error('interior hyphen');\n else if (p === 0) {\n return negate(fromString(str.substring(1), unsigned, radix));\n }\n // Do several (8) digits each time through the loop, so as to\n // minimize the calls to the very expensive emulated div.\n var radixToPower = fromNumber(pow_dbl(radix, 8));\n var result = ZERO;\n for (var i = 0; i < str.length; i += 8) {\n var size = Math.min(8, str.length - i), value = parseInt(str.substring(i, i + size), radix);\n if (size < 8) {\n var power = fromNumber(pow_dbl(radix, size));\n result = add(multiply(result, power), fromNumber(value));\n }\n else {\n result = multiply(result, radixToPower);\n result = add(result, fromNumber(value));\n }\n }\n result.unsigned = unsigned;\n return result;\n}\n/**\n * Returns a Long representation of the given string, written using the specified radix.\n * @function\n * @param {string} str The textual representation of the Long\n * @param {(boolean|number)=} unsigned Whether unsigned or not, defaults to signed\n * @param {number=} radix The radix in which the text is written (2-36), defaults to 10\n * @returns {!Long} The corresponding Long value\n */\n// Long.fromString = fromString;\n/**\n * @function\n * @param {!Long|number|string|!{low: number, high: number, unsigned: boolean}} val\n * @param {boolean=} unsigned\n * @returns {!Long}\n * @inner\n */\nfunction fromValue(val, unsigned) {\n if (typeof val === 'number')\n return fromNumber(val, unsigned);\n if (typeof val === 'string')\n return fromString(val, unsigned);\n // Throws for non-objects, converts non-instanceof Long:\n return fromBits(val.low, val.high, typeof unsigned === 'boolean' ? unsigned : val.unsigned);\n}\n/**\n * Converts the specified value to a Long using the appropriate from* function for its type.\n * @function\n * @param {!Long|number|string|!{low: number, high: number, unsigned: boolean}} val Value\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @returns {!Long}\n */\n// Long.fromValue = fromValue;\n// NOTE: the compiler should inline these constant values below and then remove these variables, so there should be\n// no runtime penalty for these.\n/**\n * @type {number}\n * @const\n * @inner\n */\nvar TWO_PWR_16_DBL = 1 << 16;\n/**\n * @type {number}\n * @const\n * @inner\n */\nvar TWO_PWR_24_DBL = 1 << 24;\n/**\n * @type {number}\n * @const\n * @inner\n */\nvar TWO_PWR_32_DBL = TWO_PWR_16_DBL * TWO_PWR_16_DBL;\n/**\n * @type {number}\n * @const\n * @inner\n */\nvar TWO_PWR_64_DBL = TWO_PWR_32_DBL * TWO_PWR_32_DBL;\n/**\n * @type {number}\n * @const\n * @inner\n */\nvar TWO_PWR_63_DBL = TWO_PWR_64_DBL / 2;\n/**\n * @type {!Long}\n * @const\n * @inner\n */\nvar TWO_PWR_24 = fromInt(TWO_PWR_24_DBL);\n/**\n * @type {!Long}\n * @inner\n */\nvar ZERO = fromInt(0);\n/**\n * Signed zero.\n * @type {!Long}\n */\n// Long.ZERO = ZERO;\n/**\n * @type {!Long}\n * @inner\n */\nvar UZERO = fromInt(0, true);\n/**\n * Unsigned zero.\n * @type {!Long}\n */\n// Long.UZERO = UZERO;\n/**\n * @type {!Long}\n * @inner\n */\nvar ONE = fromInt(1);\n/**\n * Signed one.\n * @type {!Long}\n */\n// Long.ONE = ONE;\n/**\n * @type {!Long}\n * @inner\n */\nvar UONE = fromInt(1, true);\n/**\n * Unsigned one.\n * @type {!Long}\n */\n// Long.UONE = UONE;\n/**\n * @type {!Long}\n * @inner\n */\nvar NEG_ONE = fromInt(-1);\n/**\n * Signed negative one.\n * @type {!Long}\n */\n// Long.NEG_ONE = NEG_ONE;\n/**\n * @type {!Long}\n * @inner\n */\nvar MAX_VALUE = fromBits(0xFFFFFFFF | 0, 0x7FFFFFFF | 0, false);\n/**\n * Maximum signed value.\n * @type {!Long}\n */\n// Long.MAX_VALUE = MAX_VALUE;\n/**\n * @type {!Long}\n * @inner\n */\nvar MAX_UNSIGNED_VALUE = fromBits(0xFFFFFFFF | 0, 0xFFFFFFFF | 0, true);\n/**\n * Maximum unsigned value.\n * @type {!Long}\n */\n// Long.MAX_UNSIGNED_VALUE = MAX_UNSIGNED_VALUE;\n/**\n * @type {!Long}\n * @inner\n */\nvar MIN_VALUE = fromBits(0, 0x80000000 | 0, false);\n/**\n * Minimum signed value.\n * @type {!Long}\n */\n// Long.MIN_VALUE = MIN_VALUE;\n/**\n * @alias Long.prototype\n * @inner\n */\n// var LongPrototype = Long.prototype;\n/**\n * Converts the Long to a 32 bit integer, assuming it is a 32 bit integer.\n * @this {!Long}\n * @returns {number}\n */\nfunction toInt($this) {\n return $this.unsigned ? $this.low >>> 0 : $this.low;\n}\n;\n/**\n * Converts the Long to a the nearest floating-point representation of this value (double, 53 bit mantissa).\n * @this {!Long}\n * @returns {number}\n */\nfunction toNumber($this) {\n if ($this.unsigned)\n return (($this.high >>> 0) * TWO_PWR_32_DBL) + ($this.low >>> 0);\n return $this.high * TWO_PWR_32_DBL + ($this.low >>> 0);\n}\n;\n/**\n * Converts the Long to a string written in the specified radix.\n * @this {!Long}\n * @param {number=} radix Radix (2-36), defaults to 10\n * @returns {string}\n * @override\n * @throws {RangeError} If `radix` is out of range\n */\nfunction toString($this, radix) {\n radix = radix || 10;\n if (radix < 2 || 36 < radix)\n throw RangeError('radix');\n if (isZero($this))\n return '0';\n if (isNegative($this)) { // Unsigned Longs are never negative\n if (equals($this, MIN_VALUE)) {\n // We need to change the Long value before it can be negated, so we remove\n // the bottom-most digit in this base and then recurse to do the rest.\n var radixLong = fromNumber(radix), div = divide($this, radixLong), rem1 = subtract(multiply(div, radixLong), $this);\n return toString(div, radix) + toInt(rem1).toString(radix);\n }\n else\n return '-' + toString(negate($this), radix);\n }\n // Do several (6) digits each time through the loop, so as to\n // minimize the calls to the very expensive emulated div.\n var radixToPower = fromNumber(pow_dbl(radix, 6), $this.unsigned), rem = $this;\n var result = '';\n while (true) {\n var remDiv = divide(rem, radixToPower), intval = toInt(subtract(rem, multiply(remDiv, radixToPower))) >>> 0, digits = intval.toString(radix);\n rem = remDiv;\n if (isZero(rem))\n return digits + result;\n else {\n while (digits.length < 6)\n digits = '0' + digits;\n result = '' + digits + result;\n }\n }\n}\n;\n/**\n * Gets the high 32 bits as a signed integer.\n * @this {!Long}\n * @returns {number} Signed high bits\n */\nfunction getHighBits($this) {\n return $this.high;\n}\n;\n/**\n * Gets the high 32 bits as an unsigned integer.\n * @this {!Long}\n * @returns {number} Unsigned high bits\n */\nfunction getHighBitsUnsigned($this) {\n return $this.high >>> 0;\n}\n;\n/**\n * Gets the low 32 bits as a signed integer.\n * @this {!Long}\n * @returns {number} Signed low bits\n */\nfunction getLowBits($this) {\n return $this.low;\n}\n;\n/**\n * Gets the low 32 bits as an unsigned integer.\n * @this {!Long}\n * @returns {number} Unsigned low bits\n */\nfunction getLowBitsUnsigned($this) {\n return $this.low >>> 0;\n}\n;\n/**\n * Gets the number of bits needed to represent the absolute value of this Long.\n * @this {!Long}\n * @returns {number}\n */\nfunction getNumBitsAbs($this) {\n if (isNegative($this)) // Unsigned Longs are never negative\n return equals($this, MIN_VALUE) ? 64 : getNumBitsAbs(negate($this));\n var val = $this.high != 0 ? $this.high : $this.low;\n for (var bit = 31; bit > 0; bit--)\n if ((val & (1 << bit)) != 0)\n break;\n return $this.high != 0 ? bit + 33 : bit + 1;\n}\n;\n/**\n * Tests if this Long's value equals zero.\n * @this {!Long}\n * @returns {boolean}\n */\nfunction isZero($this) {\n return $this.high === 0 && $this.low === 0;\n}\n;\n/**\n * Tests if this Long's value equals zero. This is an alias of {@link Long#isZero}.\n * @returns {boolean}\n */\n// LongPrototype.eqz = LongPrototype.isZero;\n/**\n * Tests if this Long's value is negative.\n * @this {!Long}\n * @returns {boolean}\n */\nfunction isNegative($this) {\n return !$this.unsigned && $this.high < 0;\n}\n;\n/**\n * Tests if this Long's value is positive.\n * @this {!Long}\n * @returns {boolean}\n */\nfunction isPositive($this) {\n return $this.unsigned || $this.high >= 0;\n}\n;\n/**\n * Tests if this Long's value is odd.\n * @this {!Long}\n * @returns {boolean}\n */\nfunction isOdd($this) {\n return ($this.low & 1) === 1;\n}\n;\n/**\n * Tests if this Long's value is even.\n * @this {!Long}\n * @returns {boolean}\n */\nfunction isEven($this) {\n return ($this.low & 1) === 0;\n}\n;\n/**\n * Tests if this Long's value equals the specified's.\n * @this {!Long}\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\nfunction equals($this, other) {\n if (!isLong(other))\n other = fromValue(other);\n if ($this.unsigned !== other.unsigned && ($this.high >>> 31) === 1 && (other.high >>> 31) === 1)\n return false;\n return $this.high === other.high && $this.low === other.low;\n}\n;\n/**\n * Tests if this Long's value equals the specified's. This is an alias of {@link Long#equals}.\n * @function\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\n// LongPrototype.eq = LongPrototype.equals;\n/**\n * Tests if this Long's value differs from the specified's.\n * @this {!Long}\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\nfunction notEquals($this, other) {\n return !equals($this, /* validates */ other);\n}\n;\n/**\n * Tests if this Long's value differs from the specified's. This is an alias of {@link Long#notEquals}.\n * @function\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\n// LongPrototype.neq = LongPrototype.notEquals;\n/**\n * Tests if this Long's value differs from the specified's. This is an alias of {@link Long#notEquals}.\n * @function\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\n// LongPrototype.ne = LongPrototype.notEquals;\n/**\n * Tests if this Long's value is less than the specified's.\n * @this {!Long}\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\nfunction lessThan($this, other) {\n return compare($this, /* validates */ other) < 0;\n}\n;\n/**\n * Tests if this Long's value is less than the specified's. This is an alias of {@link Long#lessThan}.\n * @function\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\n// LongPrototype.lt = LongPrototype.lessThan;\n/**\n * Tests if this Long's value is less than or equal the specified's.\n * @this {!Long}\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\nfunction lessThanOrEqual($this, other) {\n return compare($this, /* validates */ other) <= 0;\n}\n;\n/**\n * Tests if this Long's value is less than or equal the specified's. This is an alias of {@link Long#lessThanOrEqual}.\n * @function\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\n// LongPrototype.lte = LongPrototype.lessThanOrEqual;\n/**\n * Tests if this Long's value is less than or equal the specified's. This is an alias of {@link Long#lessThanOrEqual}.\n * @function\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\n// LongPrototype.le = LongPrototype.lessThanOrEqual;\n/**\n * Tests if this Long's value is greater than the specified's.\n * @this {!Long}\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\nfunction greaterThan($this, other) {\n return compare($this, /* validates */ other) > 0;\n}\n;\n/**\n * Tests if this Long's value is greater than the specified's. This is an alias of {@link Long#greaterThan}.\n * @function\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\n// LongPrototype.gt = LongPrototype.greaterThan;\n/**\n * Tests if this Long's value is greater than or equal the specified's.\n * @this {!Long}\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\nfunction greaterThanOrEqual($this, other) {\n return compare($this, /* validates */ other) >= 0;\n}\n;\n/**\n * Tests if this Long's value is greater than or equal the specified's. This is an alias of {@link Long#greaterThanOrEqual}.\n * @function\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\n// LongPrototype.gte = LongPrototype.greaterThanOrEqual;\n/**\n * Tests if this Long's value is greater than or equal the specified's. This is an alias of {@link Long#greaterThanOrEqual}.\n * @function\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\n// LongPrototype.ge = LongPrototype.greaterThanOrEqual;\n/**\n * Compares this Long's value with the specified's.\n * @this {!Long}\n * @param {!Long|number|string} other Other value\n * @returns {number} 0 if they are the same, 1 if the this is greater and -1\n * if the given one is greater\n */\nfunction compare($this, other) {\n if (!isLong(other))\n other = fromValue(other);\n if (equals($this, other))\n return 0;\n var thisNeg = isNegative($this), otherNeg = isNegative(other);\n if (thisNeg && !otherNeg)\n return -1;\n if (!thisNeg && otherNeg)\n return 1;\n // At this point the sign bits are the same\n if (!$this.unsigned)\n return isNegative(subtract($this, other)) ? -1 : 1;\n // Both are positive if at least one is unsigned\n return (other.high >>> 0) > ($this.high >>> 0) || (other.high === $this.high && (other.low >>> 0) > ($this.low >>> 0)) ? -1 : 1;\n}\n;\n/**\n * Compares this Long's value with the specified's. This is an alias of {@link Long#compare}.\n * @function\n * @param {!Long|number|string} other Other value\n * @returns {number} 0 if they are the same, 1 if the this is greater and -1\n * if the given one is greater\n */\n// LongPrototype.comp = LongPrototype.compare;\n/**\n * Negates this Long's value.\n * @this {!Long}\n * @returns {!Long} Negated Long\n */\nfunction negate($this) {\n if (!$this.unsigned && equals($this, MIN_VALUE))\n return MIN_VALUE;\n return add(not($this), ONE);\n}\n;\n/**\n * Negates this Long's value. This is an alias of {@link Long#negate}.\n * @function\n * @returns {!Long} Negated Long\n */\n// LongPrototype.neg = LongPrototype.negate;\n/**\n * Returns the sum of this and the specified Long.\n * @this {!Long}\n * @param {!Long|number|string} addend Addend\n * @returns {!Long} Sum\n */\nfunction add($this, addend) {\n if (!isLong(addend))\n addend = fromValue(addend);\n // Divide each number into 4 chunks of 16 bits, and then sum the chunks.\n var a48 = $this.high >>> 16;\n var a32 = $this.high & 0xFFFF;\n var a16 = $this.low >>> 16;\n var a00 = $this.low & 0xFFFF;\n var b48 = addend.high >>> 16;\n var b32 = addend.high & 0xFFFF;\n var b16 = addend.low >>> 16;\n var b00 = addend.low & 0xFFFF;\n var c48 = 0, c32 = 0, c16 = 0, c00 = 0;\n c00 += a00 + b00;\n c16 += c00 >>> 16;\n c00 &= 0xFFFF;\n c16 += a16 + b16;\n c32 += c16 >>> 16;\n c16 &= 0xFFFF;\n c32 += a32 + b32;\n c48 += c32 >>> 16;\n c32 &= 0xFFFF;\n c48 += a48 + b48;\n c48 &= 0xFFFF;\n return fromBits((c16 << 16) | c00, (c48 << 16) | c32, $this.unsigned);\n}\n;\n/**\n * Returns the difference of this and the specified Long.\n * @this {!Long}\n * @param {!Long|number|string} subtrahend Subtrahend\n * @returns {!Long} Difference\n */\nfunction subtract($this, subtrahend) {\n if (!isLong(subtrahend))\n subtrahend = fromValue(subtrahend);\n return add($this, negate(subtrahend));\n}\n;\n/**\n * Returns the difference of this and the specified Long. This is an alias of {@link Long#subtract}.\n * @function\n * @param {!Long|number|string} subtrahend Subtrahend\n * @returns {!Long} Difference\n */\n// LongPrototype.sub = LongPrototype.subtract;\n/**\n * Returns the product of this and the specified Long.\n * @this {!Long}\n * @param {!Long|number|string} multiplier Multiplier\n * @returns {!Long} Product\n */\nfunction multiply($this, multiplier) {\n if (isZero($this))\n return $this.unsigned ? UZERO : ZERO;\n if (!isLong(multiplier))\n multiplier = fromValue(multiplier);\n // use wasm support if present\n if (wasm) {\n var low = wasm.mul($this.low, $this.high, multiplier.low, multiplier.high);\n return fromBits(low, wasm.get_high(), $this.unsigned);\n }\n if (isZero(multiplier))\n return $this.unsigned ? UZERO : ZERO;\n if (equals($this, MIN_VALUE))\n return isOdd(multiplier) ? MIN_VALUE : ZERO;\n if (equals(multiplier, MIN_VALUE))\n return isOdd($this) ? MIN_VALUE : ZERO;\n if (isNegative($this)) {\n if (isNegative(multiplier))\n return multiply(negate($this), negate(multiplier));\n else\n return negate(multiply(negate($this), multiplier));\n }\n else if (isNegative(multiplier))\n return negate(multiply($this, negate(multiplier)));\n // If both longs are small, use float multiplication\n if (lessThan($this, TWO_PWR_24) && lessThan(multiplier, TWO_PWR_24))\n return fromNumber(toNumber($this) * toNumber(multiplier), $this.unsigned);\n // Divide each long into 4 chunks of 16 bits, and then add up 4x4 products.\n // We can skip products that would overflow.\n var a48 = $this.high >>> 16;\n var a32 = $this.high & 0xFFFF;\n var a16 = $this.low >>> 16;\n var a00 = $this.low & 0xFFFF;\n var b48 = multiplier.high >>> 16;\n var b32 = multiplier.high & 0xFFFF;\n var b16 = multiplier.low >>> 16;\n var b00 = multiplier.low & 0xFFFF;\n var c48 = 0, c32 = 0, c16 = 0, c00 = 0;\n c00 += a00 * b00;\n c16 += c00 >>> 16;\n c00 &= 0xFFFF;\n c16 += a16 * b00;\n c32 += c16 >>> 16;\n c16 &= 0xFFFF;\n c16 += a00 * b16;\n c32 += c16 >>> 16;\n c16 &= 0xFFFF;\n c32 += a32 * b00;\n c48 += c32 >>> 16;\n c32 &= 0xFFFF;\n c32 += a16 * b16;\n c48 += c32 >>> 16;\n c32 &= 0xFFFF;\n c32 += a00 * b32;\n c48 += c32 >>> 16;\n c32 &= 0xFFFF;\n c48 += a48 * b00 + a32 * b16 + a16 * b32 + a00 * b48;\n c48 &= 0xFFFF;\n return fromBits((c16 << 16) | c00, (c48 << 16) | c32, $this.unsigned);\n}\n;\n/**\n * Returns the product of this and the specified Long. This is an alias of {@link Long#multiply}.\n * @function\n * @param {!Long|number|string} multiplier Multiplier\n * @returns {!Long} Product\n */\n// LongPrototype.mul = LongPrototype.multiply;\n/**\n * Returns this Long divided by the specified. The result is signed if this Long is signed or\n * unsigned if this Long is unsigned.\n * @this {!Long}\n * @param {!Long|number|string} divisor Divisor\n * @returns {!Long} Quotient\n */\nfunction divide($this, divisor) {\n if (!isLong(divisor))\n divisor = fromValue(divisor);\n if (isZero(divisor))\n throw Error('division by zero');\n // use wasm support if present\n if (wasm) {\n // guard against signed division overflow: the largest\n // negative number / -1 would be 1 larger than the largest\n // positive number, due to two's complement.\n if (!$this.unsigned &&\n $this.high === -0x80000000 &&\n divisor.low === -1 && divisor.high === -1) {\n // be consistent with non-wasm code path\n return $this;\n }\n var low = ($this.unsigned ? wasm.div_u : wasm.div_s)($this.low, $this.high, divisor.low, divisor.high);\n return fromBits(low, wasm.get_high(), $this.unsigned);\n }\n if (isZero($this))\n return $this.unsigned ? UZERO : ZERO;\n var approx, rem, res;\n if (!$this.unsigned) {\n // This section is only relevant for signed longs and is derived from the\n // closure library as a whole.\n if (equals($this, MIN_VALUE)) {\n if (equals(divisor, ONE) || equals(divisor, NEG_ONE))\n return MIN_VALUE; // recall that -MIN_VALUE == MIN_VALUE\n else if (equals(divisor, MIN_VALUE))\n return ONE;\n else {\n // At this point, we have |other| >= 2, so |this/other| < |MIN_VALUE|.\n var halfThis = shiftRight($this, 1);\n approx = shiftLeft(divide(halfThis, divisor), 1);\n if (equals(approx, ZERO)) {\n return isNegative(divisor) ? ONE : NEG_ONE;\n }\n else {\n rem = subtract($this, multiply(divisor, approx));\n res = add(approx, divide(rem, divisor));\n return res;\n }\n }\n }\n else if (equals(divisor, MIN_VALUE))\n return $this.unsigned ? UZERO : ZERO;\n if (isNegative($this)) {\n if (isNegative(divisor))\n return divide(negate($this), negate(divisor));\n return negate(divide(negate($this), divisor));\n }\n else if (isNegative(divisor))\n return negate(divide($this, negate(divisor)));\n res = ZERO;\n }\n else {\n // The algorithm below has not been made for unsigned longs. It's therefore\n // required to take special care of the MSB prior to running it.\n if (!divisor.unsigned)\n divisor = toUnsigned(divisor);\n if (greaterThan(divisor, $this))\n return UZERO;\n if (greaterThan(divisor, shiftRightUnsigned($this, 1))) // 15 >>> 1 = 7 ; with divisor = 8 ; true\n return UONE;\n res = UZERO;\n }\n // Repeat the following until the remainder is less than other: find a\n // floating-point that approximates remainder / other *from below*, add this\n // into the result, and subtract it from the remainder. It is critical that\n // the approximate value is less than or equal to the real value so that the\n // remainder never becomes negative.\n rem = $this;\n while (greaterThanOrEqual(rem, divisor)) {\n // Approximate the result of division. This may be a little greater or\n // smaller than the actual value.\n approx = Math.max(1, Math.floor(toNumber(rem) / toNumber(divisor)));\n // We will tweak the approximate result by changing it in the 48-th digit or\n // the smallest non-fractional digit, whichever is larger.\n var log2 = Math.ceil(Math.log(approx) / Math.LN2), delta = (log2 <= 48) ? 1 : pow_dbl(2, log2 - 48), \n // Decrease the approximation until it is smaller than the remainder. Note\n // that if it is too large, the product overflows and is negative.\n approxRes = fromNumber(approx), approxRem = multiply(approxRes, divisor);\n while (isNegative(approxRem) || greaterThan(approxRem, rem)) {\n approx -= delta;\n approxRes = fromNumber(approx, $this.unsigned);\n approxRem = multiply(approxRes, divisor);\n }\n // We know the answer can't be zero... and actually, zero would cause\n // infinite recursion since we would make no progress.\n if (isZero(approxRes))\n approxRes = ONE;\n res = add(res, approxRes);\n rem = subtract(rem, approxRem);\n }\n return res;\n}\n;\n/**\n * Returns this Long divided by the specified. This is an alias of {@link Long#divide}.\n * @function\n * @param {!Long|number|string} divisor Divisor\n * @returns {!Long} Quotient\n */\n// LongPrototype.div = LongPrototype.divide;\n/**\n * Returns this Long modulo the specified.\n * @this {!Long}\n * @param {!Long|number|string} divisor Divisor\n * @returns {!Long} Remainder\n */\nfunction modulo($this, divisor) {\n if (!isLong(divisor))\n divisor = fromValue(divisor);\n // use wasm support if present\n if (wasm) {\n var low = ($this.unsigned ? wasm.rem_u : wasm.rem_s)($this.low, $this.high, divisor.low, divisor.high);\n return fromBits(low, wasm.get_high(), $this.unsigned);\n }\n return subtract($this, multiply(divide($this, divisor), divisor));\n}\n;\n/**\n * Returns this Long modulo the specified. This is an alias of {@link Long#modulo}.\n * @function\n * @param {!Long|number|string} divisor Divisor\n * @returns {!Long} Remainder\n */\n// LongPrototype.mod = LongPrototype.modulo;\n/**\n * Returns this Long modulo the specified. This is an alias of {@link Long#modulo}.\n * @function\n * @param {!Long|number|string} divisor Divisor\n * @returns {!Long} Remainder\n */\n// LongPrototype.rem = LongPrototype.modulo;\n/**\n * Returns the bitwise NOT of this Long.\n * @this {!Long}\n * @returns {!Long}\n */\nfunction not($this) {\n return fromBits(~$this.low, ~$this.high, $this.unsigned);\n}\n;\n/**\n * Returns the bitwise AND of this Long and the specified.\n * @this {!Long}\n * @param {!Long|number|string} other Other Long\n * @returns {!Long}\n */\nfunction and($this, other) {\n if (!isLong(other))\n other = fromValue(other);\n return fromBits($this.low & other.low, $this.high & other.high, $this.unsigned);\n}\n;\n/**\n * Returns the bitwise OR of this Long and the specified.\n * @this {!Long}\n * @param {!Long|number|string} other Other Long\n * @returns {!Long}\n */\nfunction or($this, other) {\n if (!isLong(other))\n other = fromValue(other);\n return fromBits($this.low | other.low, $this.high | other.high, $this.unsigned);\n}\n;\n/**\n * Returns the bitwise XOR of this Long and the given one.\n * @this {!Long}\n * @param {!Long|number|string} other Other Long\n * @returns {!Long}\n */\nfunction xor($this, other) {\n if (!isLong(other))\n other = fromValue(other);\n return fromBits($this.low ^ other.low, $this.high ^ other.high, $this.unsigned);\n}\n;\n/**\n * Returns this Long with bits shifted to the left by the given amount.\n * @this {!Long}\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Shifted Long\n */\nfunction shiftLeft($this, numBits) {\n if (isLong(numBits))\n numBits = toInt(numBits);\n if ((numBits &= 63) === 0)\n return $this;\n else if (numBits < 32)\n return fromBits($this.low << numBits, ($this.high << numBits) | ($this.low >>> (32 - numBits)), $this.unsigned);\n else\n return fromBits(0, $this.low << (numBits - 32), $this.unsigned);\n}\n;\n/**\n * Returns this Long with bits shifted to the left by the given amount. This is an alias of {@link Long#shiftLeft}.\n * @function\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Shifted Long\n */\n// LongPrototype.shl = LongPrototype.shiftLeft;\n/**\n * Returns this Long with bits arithmetically shifted to the right by the given amount.\n * @this {!Long}\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Shifted Long\n */\nfunction shiftRight($this, numBits) {\n if (isLong(numBits))\n numBits = toInt(numBits);\n if ((numBits &= 63) === 0)\n return $this;\n else if (numBits < 32)\n return fromBits(($this.low >>> numBits) | ($this.high << (32 - numBits)), $this.high >> numBits, $this.unsigned);\n else\n return fromBits($this.high >> (numBits - 32), $this.high >= 0 ? 0 : -1, $this.unsigned);\n}\n;\n/**\n * Returns this Long with bits arithmetically shifted to the right by the given amount. This is an alias of {@link Long#shiftRight}.\n * @function\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Shifted Long\n */\n// LongPrototype.shr = LongPrototype.shiftRight;\n/**\n * Returns this Long with bits logically shifted to the right by the given amount.\n * @this {!Long}\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Shifted Long\n */\nfunction shiftRightUnsigned($this, numBits) {\n if (isLong(numBits))\n numBits = toInt(numBits);\n numBits &= 63;\n if (numBits === 0)\n return $this;\n else {\n var high = $this.high;\n if (numBits < 32) {\n var low = $this.low;\n return fromBits((low >>> numBits) | (high << (32 - numBits)), high >>> numBits, $this.unsigned);\n }\n else if (numBits === 32)\n return fromBits(high, 0, $this.unsigned);\n else\n return fromBits(high >>> (numBits - 32), 0, $this.unsigned);\n }\n}\n;\n/**\n * Returns this Long with bits logically shifted to the right by the given amount. This is an alias of {@link Long#shiftRightUnsigned}.\n * @function\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Shifted Long\n */\n// LongPrototype.shru = LongPrototype.shiftRightUnsigned;\n/**\n * Returns this Long with bits logically shifted to the right by the given amount. This is an alias of {@link Long#shiftRightUnsigned}.\n * @function\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Shifted Long\n */\n// LongPrototype.shr_u = LongPrototype.shiftRightUnsigned;\n/**\n * Returns this Long with bits rotated to the left by the given amount.\n * @this {!Long}\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Rotated Long\n */\nconst rotateLeft = function rotateLeft(numBits) {\n var b;\n if (isLong(numBits))\n numBits = numBits.toInt();\n if ((numBits &= 63) === 0)\n return this;\n if (numBits === 32)\n return fromBits(this.high, this.low, this.unsigned);\n if (numBits < 32) {\n b = (32 - numBits);\n return fromBits(((this.low << numBits) | (this.high >>> b)), ((this.high << numBits) | (this.low >>> b)), this.unsigned);\n }\n numBits -= 32;\n b = (32 - numBits);\n return fromBits(((this.high << numBits) | (this.low >>> b)), ((this.low << numBits) | (this.high >>> b)), this.unsigned);\n};\n/**\n * Returns this Long with bits rotated to the left by the given amount. This is an alias of {@link Long#rotateLeft}.\n * @function\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Rotated Long\n */\n// LongPrototype.rotl = LongPrototype.rotateLeft;\n/**\n * Returns this Long with bits rotated to the right by the given amount.\n * @this {!Long}\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Rotated Long\n */\nconst rotateRight = function rotateRight(numBits) {\n var b;\n if (isLong(numBits))\n numBits = numBits.toInt();\n if ((numBits &= 63) === 0)\n return this;\n if (numBits === 32)\n return fromBits(this.high, this.low, this.unsigned);\n if (numBits < 32) {\n b = (32 - numBits);\n return fromBits(((this.high << b) | (this.low >>> numBits)), ((this.low << b) | (this.high >>> numBits)), this.unsigned);\n }\n numBits -= 32;\n b = (32 - numBits);\n return fromBits(((this.low << b) | (this.high >>> numBits)), ((this.high << b) | (this.low >>> numBits)), this.unsigned);\n};\n/**\n * Returns this Long with bits rotated to the right by the given amount. This is an alias of {@link Long#rotateRight}.\n * @function\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Rotated Long\n */\n// LongPrototype.rotr = LongPrototype.rotateRight;\n/**\n * Converts this Long to signed.\n * @this {!Long}\n * @returns {!Long} Signed long\n */\nfunction toSigned($this) {\n if (!$this.unsigned)\n return $this;\n return fromBits($this.low, $this.high, false);\n}\n;\n/**\n * Converts this Long to unsigned.\n * @this {!Long}\n * @returns {!Long} Unsigned long\n */\nfunction toUnsigned($this) {\n if ($this.unsigned)\n return $this;\n return fromBits($this.low, $this.high, true);\n}\n;\n/**\n * Converts this Long to its byte representation.\n * @param {boolean=} le Whether little or big endian, defaults to big endian\n * @this {!Long}\n * @returns {!Array.<number>} Byte representation\n */\nfunction toBytes($this, le) {\n return le ? toBytesLE($this) : toBytesBE($this);\n}\n;\n/**\n * Converts this Long to its little endian byte representation.\n * @this {!Long}\n * @returns {!Array.<number>} Little endian byte representation\n */\nfunction toBytesLE($this) {\n var hi = $this.high, lo = $this.low;\n return [\n lo & 0xff,\n lo >>> 8 & 0xff,\n lo >>> 16 & 0xff,\n lo >>> 24,\n hi & 0xff,\n hi >>> 8 & 0xff,\n hi >>> 16 & 0xff,\n hi >>> 24\n ];\n}\n;\n/**\n * Converts this Long to its big endian byte representation.\n * @this {!Long}\n * @returns {!Array.<number>} Big endian byte representation\n */\nfunction toBytesBE($this) {\n var hi = $this.high, lo = $this.low;\n return [\n hi >>> 24,\n hi >>> 16 & 0xff,\n hi >>> 8 & 0xff,\n hi & 0xff,\n lo >>> 24,\n lo >>> 16 & 0xff,\n lo >>> 8 & 0xff,\n lo & 0xff\n ];\n}\n;\n/**\n * Creates a Long from its byte representation.\n * @param {!Array.<number>} bytes Byte representation\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @param {boolean=} le Whether little or big endian, defaults to big endian\n * @returns {Long} The corresponding Long value\n */\nfunction fromBytes(bytes, unsigned, le) {\n return le ? fromBytesLE(bytes, unsigned) : fromBytesBE(bytes, unsigned);\n}\n;\n/**\n * Creates a Long from its little endian byte representation.\n * @param {!Array.<number>} bytes Little endian byte representation\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @returns {Long} The corresponding Long value\n */\nfunction fromBytesLE(bytes, unsigned) {\n return new Long(bytes[0] |\n bytes[1] << 8 |\n bytes[2] << 16 |\n bytes[3] << 24, bytes[4] |\n bytes[5] << 8 |\n bytes[6] << 16 |\n bytes[7] << 24, unsigned);\n}\n;\n/**\n * Creates a Long from its big endian byte representation.\n * @param {!Array.<number>} bytes Big endian byte representation\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @returns {Long} The corresponding Long value\n */\nfunction fromBytesBE(bytes, unsigned) {\n return new Long(bytes[4] << 24 |\n bytes[5] << 16 |\n bytes[6] << 8 |\n bytes[7], bytes[0] << 24 |\n bytes[1] << 16 |\n bytes[2] << 8 |\n bytes[3], unsigned);\n}\n;\n//# sourceMappingURL=long.js.map\n\n//# sourceURL=webpack:///./.fable/fable-library.2.10.1/lib/long.js?");
362
-
363
- /***/ }),
364
-
365
- /***/ "./node_modules/browser-split/index.js":
366
- /*!*********************************************!*\
367
- !*** ./node_modules/browser-split/index.js ***!
368
- \*********************************************/
369
- /*! no static exports found */
370
- /***/ (function(module, exports) {
371
-
372
- eval("/*!\n * Cross-Browser Split 1.1.1\n * Copyright 2007-2012 Steven Levithan <stevenlevithan.com>\n * Available under the MIT License\n * ECMAScript compliant, uniform cross-browser split method\n */\n\n/**\n * Splits a string into an array of strings using a regex or string separator. Matches of the\n * separator are not included in the result array. However, if `separator` is a regex that contains\n * capturing groups, backreferences are spliced into the result each time `separator` is matched.\n * Fixes browser bugs compared to the native `String.prototype.split` and can be used reliably\n * cross-browser.\n * @param {String} str String to split.\n * @param {RegExp|String} separator Regex or string to use for separating the string.\n * @param {Number} [limit] Maximum number of items to include in the result array.\n * @returns {Array} Array of substrings.\n * @example\n *\n * // Basic use\n * split('a b c d', ' ');\n * // -> ['a', 'b', 'c', 'd']\n *\n * // With limit\n * split('a b c d', ' ', 2);\n * // -> ['a', 'b']\n *\n * // Backreferences in result array\n * split('..word1 word2..', /([a-z]+)(\\d+)/i);\n * // -> ['..', 'word', '1', ' ', 'word', '2', '..']\n */\nmodule.exports = (function split(undef) {\n\n var nativeSplit = String.prototype.split,\n compliantExecNpcg = /()??/.exec(\"\")[1] === undef,\n // NPCG: nonparticipating capturing group\n self;\n\n self = function(str, separator, limit) {\n // If `separator` is not a regex, use `nativeSplit`\n if (Object.prototype.toString.call(separator) !== \"[object RegExp]\") {\n return nativeSplit.call(str, separator, limit);\n }\n var output = [],\n flags = (separator.ignoreCase ? \"i\" : \"\") + (separator.multiline ? \"m\" : \"\") + (separator.extended ? \"x\" : \"\") + // Proposed for ES6\n (separator.sticky ? \"y\" : \"\"),\n // Firefox 3+\n lastLastIndex = 0,\n // Make `global` and avoid `lastIndex` issues by working with a copy\n separator = new RegExp(separator.source, flags + \"g\"),\n separator2, match, lastIndex, lastLength;\n str += \"\"; // Type-convert\n if (!compliantExecNpcg) {\n // Doesn't need flags gy, but they don't hurt\n separator2 = new RegExp(\"^\" + separator.source + \"$(?!\\\\s)\", flags);\n }\n /* Values for `limit`, per the spec:\n * If undefined: 4294967295 // Math.pow(2, 32) - 1\n * If 0, Infinity, or NaN: 0\n * If positive number: limit = Math.floor(limit); if (limit > 4294967295) limit -= 4294967296;\n * If negative number: 4294967296 - Math.floor(Math.abs(limit))\n * If other: Type-convert, then use the above rules\n */\n limit = limit === undef ? -1 >>> 0 : // Math.pow(2, 32) - 1\n limit >>> 0; // ToUint32(limit)\n while (match = separator.exec(str)) {\n // `separator.lastIndex` is not reliable cross-browser\n lastIndex = match.index + match[0].length;\n if (lastIndex > lastLastIndex) {\n output.push(str.slice(lastLastIndex, match.index));\n // Fix browsers whose `exec` methods don't consistently return `undefined` for\n // nonparticipating capturing groups\n if (!compliantExecNpcg && match.length > 1) {\n match[0].replace(separator2, function() {\n for (var i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undef) {\n match[i] = undef;\n }\n }\n });\n }\n if (match.length > 1 && match.index < str.length) {\n Array.prototype.push.apply(output, match.slice(1));\n }\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= limit) {\n break;\n }\n }\n if (separator.lastIndex === match.index) {\n separator.lastIndex++; // Avoid an infinite loop\n }\n }\n if (lastLastIndex === str.length) {\n if (lastLength || !separator.test(\"\")) {\n output.push(\"\");\n }\n } else {\n output.push(str.slice(lastLastIndex));\n }\n return output.length > limit ? output.slice(0, limit) : output;\n };\n\n return self;\n})();\n\n\n//# sourceURL=webpack:///./node_modules/browser-split/index.js?");
373
-
374
- /***/ }),
375
-
376
- /***/ "./node_modules/ev-store/index.js":
377
- /*!****************************************!*\
378
- !*** ./node_modules/ev-store/index.js ***!
379
- \****************************************/
380
- /*! no static exports found */
381
- /***/ (function(module, exports, __webpack_require__) {
382
-
383
- "use strict";
384
- eval("\n\nvar OneVersionConstraint = __webpack_require__(/*! individual/one-version */ \"./node_modules/individual/one-version.js\");\n\nvar MY_VERSION = '7';\nOneVersionConstraint('ev-store', MY_VERSION);\n\nvar hashKey = '__EV_STORE_KEY@' + MY_VERSION;\n\nmodule.exports = EvStore;\n\nfunction EvStore(elem) {\n var hash = elem[hashKey];\n\n if (!hash) {\n hash = elem[hashKey] = {};\n }\n\n return hash;\n}\n\n\n//# sourceURL=webpack:///./node_modules/ev-store/index.js?");
385
-
386
- /***/ }),
387
-
388
- /***/ "./node_modules/global/document.js":
389
- /*!*****************************************!*\
390
- !*** ./node_modules/global/document.js ***!
391
- \*****************************************/
392
- /*! no static exports found */
393
- /***/ (function(module, exports, __webpack_require__) {
394
-
395
- eval("/* WEBPACK VAR INJECTION */(function(global) {var topLevel = typeof global !== 'undefined' ? global :\n typeof window !== 'undefined' ? window : {}\nvar minDoc = __webpack_require__(/*! min-document */ 0);\n\nvar doccy;\n\nif (typeof document !== 'undefined') {\n doccy = document;\n} else {\n doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'];\n\n if (!doccy) {\n doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'] = minDoc;\n }\n}\n\nmodule.exports = doccy;\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/global/document.js?");
396
-
397
- /***/ }),
398
-
399
- /***/ "./node_modules/individual/index.js":
400
- /*!******************************************!*\
401
- !*** ./node_modules/individual/index.js ***!
402
- \******************************************/
403
- /*! no static exports found */
404
- /***/ (function(module, exports, __webpack_require__) {
405
-
406
- "use strict";
407
- eval("/* WEBPACK VAR INJECTION */(function(global) {\n\n/*global window, global*/\n\nvar root = typeof window !== 'undefined' ?\n window : typeof global !== 'undefined' ?\n global : {};\n\nmodule.exports = Individual;\n\nfunction Individual(key, value) {\n if (key in root) {\n return root[key];\n }\n\n root[key] = value;\n\n return value;\n}\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/individual/index.js?");
408
-
409
- /***/ }),
410
-
411
- /***/ "./node_modules/individual/one-version.js":
412
- /*!************************************************!*\
413
- !*** ./node_modules/individual/one-version.js ***!
414
- \************************************************/
415
- /*! no static exports found */
416
- /***/ (function(module, exports, __webpack_require__) {
417
-
418
- "use strict";
419
- eval("\n\nvar Individual = __webpack_require__(/*! ./index.js */ \"./node_modules/individual/index.js\");\n\nmodule.exports = OneVersion;\n\nfunction OneVersion(moduleName, version, defaultValue) {\n var key = '__INDIVIDUAL_ONE_VERSION_' + moduleName;\n var enforceKey = key + '_ENFORCE_SINGLETON';\n\n var versionValue = Individual(enforceKey, version);\n\n if (versionValue !== version) {\n throw new Error('Can only have one copy of ' +\n moduleName + '.\\n' +\n 'You already have version ' + versionValue +\n ' installed.\\n' +\n 'This means you cannot install version ' + version);\n }\n\n return Individual(key, defaultValue);\n}\n\n\n//# sourceURL=webpack:///./node_modules/individual/one-version.js?");
420
-
421
- /***/ }),
422
-
423
- /***/ "./node_modules/is-object/index.js":
424
- /*!*****************************************!*\
425
- !*** ./node_modules/is-object/index.js ***!
426
- \*****************************************/
427
- /*! no static exports found */
428
- /***/ (function(module, exports, __webpack_require__) {
429
-
430
- "use strict";
431
- eval("\n\nmodule.exports = function isObject(x) {\n\treturn typeof x === \"object\" && x !== null;\n};\n\n\n//# sourceURL=webpack:///./node_modules/is-object/index.js?");
432
-
433
- /***/ }),
434
-
435
- /***/ "./node_modules/virtual-dom/create-element.js":
436
- /*!****************************************************!*\
437
- !*** ./node_modules/virtual-dom/create-element.js ***!
438
- \****************************************************/
439
- /*! no static exports found */
440
- /***/ (function(module, exports, __webpack_require__) {
441
-
442
- eval("var createElement = __webpack_require__(/*! ./vdom/create-element.js */ \"./node_modules/virtual-dom/vdom/create-element.js\")\n\nmodule.exports = createElement\n\n\n//# sourceURL=webpack:///./node_modules/virtual-dom/create-element.js?");
443
-
444
- /***/ }),
445
-
446
- /***/ "./node_modules/virtual-dom/diff.js":
447
- /*!******************************************!*\
448
- !*** ./node_modules/virtual-dom/diff.js ***!
449
- \******************************************/
450
- /*! no static exports found */
451
- /***/ (function(module, exports, __webpack_require__) {
452
-
453
- eval("var diff = __webpack_require__(/*! ./vtree/diff.js */ \"./node_modules/virtual-dom/vtree/diff.js\")\n\nmodule.exports = diff\n\n\n//# sourceURL=webpack:///./node_modules/virtual-dom/diff.js?");
454
-
455
- /***/ }),
456
-
457
- /***/ "./node_modules/virtual-dom/h.js":
458
- /*!***************************************!*\
459
- !*** ./node_modules/virtual-dom/h.js ***!
460
- \***************************************/
461
- /*! no static exports found */
462
- /***/ (function(module, exports, __webpack_require__) {
463
-
464
- eval("var h = __webpack_require__(/*! ./virtual-hyperscript/index.js */ \"./node_modules/virtual-dom/virtual-hyperscript/index.js\")\n\nmodule.exports = h\n\n\n//# sourceURL=webpack:///./node_modules/virtual-dom/h.js?");
465
-
466
- /***/ }),
467
-
468
- /***/ "./node_modules/virtual-dom/index.js":
469
- /*!*******************************************!*\
470
- !*** ./node_modules/virtual-dom/index.js ***!
471
- \*******************************************/
472
- /*! no static exports found */
473
- /***/ (function(module, exports, __webpack_require__) {
474
-
475
- eval("var diff = __webpack_require__(/*! ./diff.js */ \"./node_modules/virtual-dom/diff.js\")\r\nvar patch = __webpack_require__(/*! ./patch.js */ \"./node_modules/virtual-dom/patch.js\")\r\nvar h = __webpack_require__(/*! ./h.js */ \"./node_modules/virtual-dom/h.js\")\r\nvar create = __webpack_require__(/*! ./create-element.js */ \"./node_modules/virtual-dom/create-element.js\")\r\nvar VNode = __webpack_require__(/*! ./vnode/vnode.js */ \"./node_modules/virtual-dom/vnode/vnode.js\")\r\nvar VText = __webpack_require__(/*! ./vnode/vtext.js */ \"./node_modules/virtual-dom/vnode/vtext.js\")\r\n\r\nmodule.exports = {\r\n diff: diff,\r\n patch: patch,\r\n h: h,\r\n create: create,\r\n VNode: VNode,\r\n VText: VText\r\n}\r\n\n\n//# sourceURL=webpack:///./node_modules/virtual-dom/index.js?");
476
-
477
- /***/ }),
478
-
479
- /***/ "./node_modules/virtual-dom/patch.js":
480
- /*!*******************************************!*\
481
- !*** ./node_modules/virtual-dom/patch.js ***!
482
- \*******************************************/
483
- /*! no static exports found */
484
- /***/ (function(module, exports, __webpack_require__) {
485
-
486
- eval("var patch = __webpack_require__(/*! ./vdom/patch.js */ \"./node_modules/virtual-dom/vdom/patch.js\")\n\nmodule.exports = patch\n\n\n//# sourceURL=webpack:///./node_modules/virtual-dom/patch.js?");
487
-
488
- /***/ }),
489
-
490
- /***/ "./node_modules/virtual-dom/vdom/apply-properties.js":
491
- /*!***********************************************************!*\
492
- !*** ./node_modules/virtual-dom/vdom/apply-properties.js ***!
493
- \***********************************************************/
494
- /*! no static exports found */
495
- /***/ (function(module, exports, __webpack_require__) {
496
-
497
- eval("var isObject = __webpack_require__(/*! is-object */ \"./node_modules/is-object/index.js\")\nvar isHook = __webpack_require__(/*! ../vnode/is-vhook.js */ \"./node_modules/virtual-dom/vnode/is-vhook.js\")\n\nmodule.exports = applyProperties\n\nfunction applyProperties(node, props, previous) {\n for (var propName in props) {\n var propValue = props[propName]\n\n if (propValue === undefined) {\n removeProperty(node, propName, propValue, previous);\n } else if (isHook(propValue)) {\n removeProperty(node, propName, propValue, previous)\n if (propValue.hook) {\n propValue.hook(node,\n propName,\n previous ? previous[propName] : undefined)\n }\n } else {\n if (isObject(propValue)) {\n patchObject(node, props, previous, propName, propValue);\n } else {\n node[propName] = propValue\n }\n }\n }\n}\n\nfunction removeProperty(node, propName, propValue, previous) {\n if (previous) {\n var previousValue = previous[propName]\n\n if (!isHook(previousValue)) {\n if (propName === \"attributes\") {\n for (var attrName in previousValue) {\n node.removeAttribute(attrName)\n }\n } else if (propName === \"style\") {\n for (var i in previousValue) {\n node.style[i] = \"\"\n }\n } else if (typeof previousValue === \"string\") {\n node[propName] = \"\"\n } else {\n node[propName] = null\n }\n } else if (previousValue.unhook) {\n previousValue.unhook(node, propName, propValue)\n }\n }\n}\n\nfunction patchObject(node, props, previous, propName, propValue) {\n var previousValue = previous ? previous[propName] : undefined\n\n // Set attributes\n if (propName === \"attributes\") {\n for (var attrName in propValue) {\n var attrValue = propValue[attrName]\n\n if (attrValue === undefined) {\n node.removeAttribute(attrName)\n } else {\n node.setAttribute(attrName, attrValue)\n }\n }\n\n return\n }\n\n if(previousValue && isObject(previousValue) &&\n getPrototype(previousValue) !== getPrototype(propValue)) {\n node[propName] = propValue\n return\n }\n\n if (!isObject(node[propName])) {\n node[propName] = {}\n }\n\n var replacer = propName === \"style\" ? \"\" : undefined\n\n for (var k in propValue) {\n var value = propValue[k]\n node[propName][k] = (value === undefined) ? replacer : value\n }\n}\n\nfunction getPrototype(value) {\n if (Object.getPrototypeOf) {\n return Object.getPrototypeOf(value)\n } else if (value.__proto__) {\n return value.__proto__\n } else if (value.constructor) {\n return value.constructor.prototype\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/virtual-dom/vdom/apply-properties.js?");
498
-
499
- /***/ }),
500
-
501
- /***/ "./node_modules/virtual-dom/vdom/create-element.js":
502
- /*!*********************************************************!*\
503
- !*** ./node_modules/virtual-dom/vdom/create-element.js ***!
504
- \*********************************************************/
505
- /*! no static exports found */
506
- /***/ (function(module, exports, __webpack_require__) {
507
-
508
- eval("var document = __webpack_require__(/*! global/document */ \"./node_modules/global/document.js\")\n\nvar applyProperties = __webpack_require__(/*! ./apply-properties */ \"./node_modules/virtual-dom/vdom/apply-properties.js\")\n\nvar isVNode = __webpack_require__(/*! ../vnode/is-vnode.js */ \"./node_modules/virtual-dom/vnode/is-vnode.js\")\nvar isVText = __webpack_require__(/*! ../vnode/is-vtext.js */ \"./node_modules/virtual-dom/vnode/is-vtext.js\")\nvar isWidget = __webpack_require__(/*! ../vnode/is-widget.js */ \"./node_modules/virtual-dom/vnode/is-widget.js\")\nvar handleThunk = __webpack_require__(/*! ../vnode/handle-thunk.js */ \"./node_modules/virtual-dom/vnode/handle-thunk.js\")\n\nmodule.exports = createElement\n\nfunction createElement(vnode, opts) {\n var doc = opts ? opts.document || document : document\n var warn = opts ? opts.warn : null\n\n vnode = handleThunk(vnode).a\n\n if (isWidget(vnode)) {\n return vnode.init()\n } else if (isVText(vnode)) {\n return doc.createTextNode(vnode.text)\n } else if (!isVNode(vnode)) {\n if (warn) {\n warn(\"Item is not a valid virtual dom node\", vnode)\n }\n return null\n }\n\n var node = (vnode.namespace === null) ?\n doc.createElement(vnode.tagName) :\n doc.createElementNS(vnode.namespace, vnode.tagName)\n\n var props = vnode.properties\n applyProperties(node, props)\n\n var children = vnode.children\n\n for (var i = 0; i < children.length; i++) {\n var childNode = createElement(children[i], opts)\n if (childNode) {\n node.appendChild(childNode)\n }\n }\n\n return node\n}\n\n\n//# sourceURL=webpack:///./node_modules/virtual-dom/vdom/create-element.js?");
509
-
510
- /***/ }),
511
-
512
- /***/ "./node_modules/virtual-dom/vdom/dom-index.js":
513
- /*!****************************************************!*\
514
- !*** ./node_modules/virtual-dom/vdom/dom-index.js ***!
515
- \****************************************************/
516
- /*! no static exports found */
517
- /***/ (function(module, exports) {
518
-
519
- eval("// Maps a virtual DOM tree onto a real DOM tree in an efficient manner.\n// We don't want to read all of the DOM nodes in the tree so we use\n// the in-order tree indexing to eliminate recursion down certain branches.\n// We only recurse into a DOM node if we know that it contains a child of\n// interest.\n\nvar noChild = {}\n\nmodule.exports = domIndex\n\nfunction domIndex(rootNode, tree, indices, nodes) {\n if (!indices || indices.length === 0) {\n return {}\n } else {\n indices.sort(ascending)\n return recurse(rootNode, tree, indices, nodes, 0)\n }\n}\n\nfunction recurse(rootNode, tree, indices, nodes, rootIndex) {\n nodes = nodes || {}\n\n\n if (rootNode) {\n if (indexInRange(indices, rootIndex, rootIndex)) {\n nodes[rootIndex] = rootNode\n }\n\n var vChildren = tree.children\n\n if (vChildren) {\n\n var childNodes = rootNode.childNodes\n\n for (var i = 0; i < tree.children.length; i++) {\n rootIndex += 1\n\n var vChild = vChildren[i] || noChild\n var nextIndex = rootIndex + (vChild.count || 0)\n\n // skip recursion down the tree if there are no nodes down here\n if (indexInRange(indices, rootIndex, nextIndex)) {\n recurse(childNodes[i], vChild, indices, nodes, rootIndex)\n }\n\n rootIndex = nextIndex\n }\n }\n }\n\n return nodes\n}\n\n// Binary search for an index in the interval [left, right]\nfunction indexInRange(indices, left, right) {\n if (indices.length === 0) {\n return false\n }\n\n var minIndex = 0\n var maxIndex = indices.length - 1\n var currentIndex\n var currentItem\n\n while (minIndex <= maxIndex) {\n currentIndex = ((maxIndex + minIndex) / 2) >> 0\n currentItem = indices[currentIndex]\n\n if (minIndex === maxIndex) {\n return currentItem >= left && currentItem <= right\n } else if (currentItem < left) {\n minIndex = currentIndex + 1\n } else if (currentItem > right) {\n maxIndex = currentIndex - 1\n } else {\n return true\n }\n }\n\n return false;\n}\n\nfunction ascending(a, b) {\n return a > b ? 1 : -1\n}\n\n\n//# sourceURL=webpack:///./node_modules/virtual-dom/vdom/dom-index.js?");
520
-
521
- /***/ }),
522
-
523
- /***/ "./node_modules/virtual-dom/vdom/patch-op.js":
524
- /*!***************************************************!*\
525
- !*** ./node_modules/virtual-dom/vdom/patch-op.js ***!
526
- \***************************************************/
527
- /*! no static exports found */
528
- /***/ (function(module, exports, __webpack_require__) {
529
-
530
- eval("var applyProperties = __webpack_require__(/*! ./apply-properties */ \"./node_modules/virtual-dom/vdom/apply-properties.js\")\n\nvar isWidget = __webpack_require__(/*! ../vnode/is-widget.js */ \"./node_modules/virtual-dom/vnode/is-widget.js\")\nvar VPatch = __webpack_require__(/*! ../vnode/vpatch.js */ \"./node_modules/virtual-dom/vnode/vpatch.js\")\n\nvar updateWidget = __webpack_require__(/*! ./update-widget */ \"./node_modules/virtual-dom/vdom/update-widget.js\")\n\nmodule.exports = applyPatch\n\nfunction applyPatch(vpatch, domNode, renderOptions) {\n var type = vpatch.type\n var vNode = vpatch.vNode\n var patch = vpatch.patch\n\n switch (type) {\n case VPatch.REMOVE:\n return removeNode(domNode, vNode)\n case VPatch.INSERT:\n return insertNode(domNode, patch, renderOptions)\n case VPatch.VTEXT:\n return stringPatch(domNode, vNode, patch, renderOptions)\n case VPatch.WIDGET:\n return widgetPatch(domNode, vNode, patch, renderOptions)\n case VPatch.VNODE:\n return vNodePatch(domNode, vNode, patch, renderOptions)\n case VPatch.ORDER:\n reorderChildren(domNode, patch)\n return domNode\n case VPatch.PROPS:\n applyProperties(domNode, patch, vNode.properties)\n return domNode\n case VPatch.THUNK:\n return replaceRoot(domNode,\n renderOptions.patch(domNode, patch, renderOptions))\n default:\n return domNode\n }\n}\n\nfunction removeNode(domNode, vNode) {\n var parentNode = domNode.parentNode\n\n if (parentNode) {\n parentNode.removeChild(domNode)\n }\n\n destroyWidget(domNode, vNode);\n\n return null\n}\n\nfunction insertNode(parentNode, vNode, renderOptions) {\n var newNode = renderOptions.render(vNode, renderOptions)\n\n if (parentNode) {\n parentNode.appendChild(newNode)\n }\n\n return parentNode\n}\n\nfunction stringPatch(domNode, leftVNode, vText, renderOptions) {\n var newNode\n\n if (domNode.nodeType === 3) {\n domNode.replaceData(0, domNode.length, vText.text)\n newNode = domNode\n } else {\n var parentNode = domNode.parentNode\n newNode = renderOptions.render(vText, renderOptions)\n\n if (parentNode && newNode !== domNode) {\n parentNode.replaceChild(newNode, domNode)\n }\n }\n\n return newNode\n}\n\nfunction widgetPatch(domNode, leftVNode, widget, renderOptions) {\n var updating = updateWidget(leftVNode, widget)\n var newNode\n\n if (updating) {\n newNode = widget.update(leftVNode, domNode) || domNode\n } else {\n newNode = renderOptions.render(widget, renderOptions)\n }\n\n var parentNode = domNode.parentNode\n\n if (parentNode && newNode !== domNode) {\n parentNode.replaceChild(newNode, domNode)\n }\n\n if (!updating) {\n destroyWidget(domNode, leftVNode)\n }\n\n return newNode\n}\n\nfunction vNodePatch(domNode, leftVNode, vNode, renderOptions) {\n var parentNode = domNode.parentNode\n var newNode = renderOptions.render(vNode, renderOptions)\n\n if (parentNode && newNode !== domNode) {\n parentNode.replaceChild(newNode, domNode)\n }\n\n return newNode\n}\n\nfunction destroyWidget(domNode, w) {\n if (typeof w.destroy === \"function\" && isWidget(w)) {\n w.destroy(domNode)\n }\n}\n\nfunction reorderChildren(domNode, moves) {\n var childNodes = domNode.childNodes\n var keyMap = {}\n var node\n var remove\n var insert\n\n for (var i = 0; i < moves.removes.length; i++) {\n remove = moves.removes[i]\n node = childNodes[remove.from]\n if (remove.key) {\n keyMap[remove.key] = node\n }\n domNode.removeChild(node)\n }\n\n var length = childNodes.length\n for (var j = 0; j < moves.inserts.length; j++) {\n insert = moves.inserts[j]\n node = keyMap[insert.key]\n // this is the weirdest bug i've ever seen in webkit\n domNode.insertBefore(node, insert.to >= length++ ? null : childNodes[insert.to])\n }\n}\n\nfunction replaceRoot(oldRoot, newRoot) {\n if (oldRoot && newRoot && oldRoot !== newRoot && oldRoot.parentNode) {\n oldRoot.parentNode.replaceChild(newRoot, oldRoot)\n }\n\n return newRoot;\n}\n\n\n//# sourceURL=webpack:///./node_modules/virtual-dom/vdom/patch-op.js?");
531
-
532
- /***/ }),
533
-
534
- /***/ "./node_modules/virtual-dom/vdom/patch.js":
535
- /*!************************************************!*\
536
- !*** ./node_modules/virtual-dom/vdom/patch.js ***!
537
- \************************************************/
538
- /*! no static exports found */
539
- /***/ (function(module, exports, __webpack_require__) {
540
-
541
- eval("var document = __webpack_require__(/*! global/document */ \"./node_modules/global/document.js\")\nvar isArray = __webpack_require__(/*! x-is-array */ \"./node_modules/x-is-array/index.js\")\n\nvar render = __webpack_require__(/*! ./create-element */ \"./node_modules/virtual-dom/vdom/create-element.js\")\nvar domIndex = __webpack_require__(/*! ./dom-index */ \"./node_modules/virtual-dom/vdom/dom-index.js\")\nvar patchOp = __webpack_require__(/*! ./patch-op */ \"./node_modules/virtual-dom/vdom/patch-op.js\")\nmodule.exports = patch\n\nfunction patch(rootNode, patches, renderOptions) {\n renderOptions = renderOptions || {}\n renderOptions.patch = renderOptions.patch && renderOptions.patch !== patch\n ? renderOptions.patch\n : patchRecursive\n renderOptions.render = renderOptions.render || render\n\n return renderOptions.patch(rootNode, patches, renderOptions)\n}\n\nfunction patchRecursive(rootNode, patches, renderOptions) {\n var indices = patchIndices(patches)\n\n if (indices.length === 0) {\n return rootNode\n }\n\n var index = domIndex(rootNode, patches.a, indices)\n var ownerDocument = rootNode.ownerDocument\n\n if (!renderOptions.document && ownerDocument !== document) {\n renderOptions.document = ownerDocument\n }\n\n for (var i = 0; i < indices.length; i++) {\n var nodeIndex = indices[i]\n rootNode = applyPatch(rootNode,\n index[nodeIndex],\n patches[nodeIndex],\n renderOptions)\n }\n\n return rootNode\n}\n\nfunction applyPatch(rootNode, domNode, patchList, renderOptions) {\n if (!domNode) {\n return rootNode\n }\n\n var newNode\n\n if (isArray(patchList)) {\n for (var i = 0; i < patchList.length; i++) {\n newNode = patchOp(patchList[i], domNode, renderOptions)\n\n if (domNode === rootNode) {\n rootNode = newNode\n }\n }\n } else {\n newNode = patchOp(patchList, domNode, renderOptions)\n\n if (domNode === rootNode) {\n rootNode = newNode\n }\n }\n\n return rootNode\n}\n\nfunction patchIndices(patches) {\n var indices = []\n\n for (var key in patches) {\n if (key !== \"a\") {\n indices.push(Number(key))\n }\n }\n\n return indices\n}\n\n\n//# sourceURL=webpack:///./node_modules/virtual-dom/vdom/patch.js?");
542
-
543
- /***/ }),
544
-
545
- /***/ "./node_modules/virtual-dom/vdom/update-widget.js":
546
- /*!********************************************************!*\
547
- !*** ./node_modules/virtual-dom/vdom/update-widget.js ***!
548
- \********************************************************/
549
- /*! no static exports found */
550
- /***/ (function(module, exports, __webpack_require__) {
551
-
552
- eval("var isWidget = __webpack_require__(/*! ../vnode/is-widget.js */ \"./node_modules/virtual-dom/vnode/is-widget.js\")\n\nmodule.exports = updateWidget\n\nfunction updateWidget(a, b) {\n if (isWidget(a) && isWidget(b)) {\n if (\"name\" in a && \"name\" in b) {\n return a.id === b.id\n } else {\n return a.init === b.init\n }\n }\n\n return false\n}\n\n\n//# sourceURL=webpack:///./node_modules/virtual-dom/vdom/update-widget.js?");
553
-
554
- /***/ }),
555
-
556
- /***/ "./node_modules/virtual-dom/virtual-hyperscript/hooks/ev-hook.js":
557
- /*!***********************************************************************!*\
558
- !*** ./node_modules/virtual-dom/virtual-hyperscript/hooks/ev-hook.js ***!
559
- \***********************************************************************/
560
- /*! no static exports found */
561
- /***/ (function(module, exports, __webpack_require__) {
562
-
563
- "use strict";
564
- eval("\n\nvar EvStore = __webpack_require__(/*! ev-store */ \"./node_modules/ev-store/index.js\");\n\nmodule.exports = EvHook;\n\nfunction EvHook(value) {\n if (!(this instanceof EvHook)) {\n return new EvHook(value);\n }\n\n this.value = value;\n}\n\nEvHook.prototype.hook = function (node, propertyName) {\n var es = EvStore(node);\n var propName = propertyName.substr(3);\n\n es[propName] = this.value;\n};\n\nEvHook.prototype.unhook = function(node, propertyName) {\n var es = EvStore(node);\n var propName = propertyName.substr(3);\n\n es[propName] = undefined;\n};\n\n\n//# sourceURL=webpack:///./node_modules/virtual-dom/virtual-hyperscript/hooks/ev-hook.js?");
565
-
566
- /***/ }),
567
-
568
- /***/ "./node_modules/virtual-dom/virtual-hyperscript/hooks/soft-set-hook.js":
569
- /*!*****************************************************************************!*\
570
- !*** ./node_modules/virtual-dom/virtual-hyperscript/hooks/soft-set-hook.js ***!
571
- \*****************************************************************************/
572
- /*! no static exports found */
573
- /***/ (function(module, exports, __webpack_require__) {
574
-
575
- "use strict";
576
- eval("\n\nmodule.exports = SoftSetHook;\n\nfunction SoftSetHook(value) {\n if (!(this instanceof SoftSetHook)) {\n return new SoftSetHook(value);\n }\n\n this.value = value;\n}\n\nSoftSetHook.prototype.hook = function (node, propertyName) {\n if (node[propertyName] !== this.value) {\n node[propertyName] = this.value;\n }\n};\n\n\n//# sourceURL=webpack:///./node_modules/virtual-dom/virtual-hyperscript/hooks/soft-set-hook.js?");
577
-
578
- /***/ }),
579
-
580
- /***/ "./node_modules/virtual-dom/virtual-hyperscript/index.js":
581
- /*!***************************************************************!*\
582
- !*** ./node_modules/virtual-dom/virtual-hyperscript/index.js ***!
583
- \***************************************************************/
584
- /*! no static exports found */
585
- /***/ (function(module, exports, __webpack_require__) {
586
-
587
- "use strict";
588
- eval("\n\nvar isArray = __webpack_require__(/*! x-is-array */ \"./node_modules/x-is-array/index.js\");\n\nvar VNode = __webpack_require__(/*! ../vnode/vnode.js */ \"./node_modules/virtual-dom/vnode/vnode.js\");\nvar VText = __webpack_require__(/*! ../vnode/vtext.js */ \"./node_modules/virtual-dom/vnode/vtext.js\");\nvar isVNode = __webpack_require__(/*! ../vnode/is-vnode */ \"./node_modules/virtual-dom/vnode/is-vnode.js\");\nvar isVText = __webpack_require__(/*! ../vnode/is-vtext */ \"./node_modules/virtual-dom/vnode/is-vtext.js\");\nvar isWidget = __webpack_require__(/*! ../vnode/is-widget */ \"./node_modules/virtual-dom/vnode/is-widget.js\");\nvar isHook = __webpack_require__(/*! ../vnode/is-vhook */ \"./node_modules/virtual-dom/vnode/is-vhook.js\");\nvar isVThunk = __webpack_require__(/*! ../vnode/is-thunk */ \"./node_modules/virtual-dom/vnode/is-thunk.js\");\n\nvar parseTag = __webpack_require__(/*! ./parse-tag.js */ \"./node_modules/virtual-dom/virtual-hyperscript/parse-tag.js\");\nvar softSetHook = __webpack_require__(/*! ./hooks/soft-set-hook.js */ \"./node_modules/virtual-dom/virtual-hyperscript/hooks/soft-set-hook.js\");\nvar evHook = __webpack_require__(/*! ./hooks/ev-hook.js */ \"./node_modules/virtual-dom/virtual-hyperscript/hooks/ev-hook.js\");\n\nmodule.exports = h;\n\nfunction h(tagName, properties, children) {\n var childNodes = [];\n var tag, props, key, namespace;\n\n if (!children && isChildren(properties)) {\n children = properties;\n props = {};\n }\n\n props = props || properties || {};\n tag = parseTag(tagName, props);\n\n // support keys\n if (props.hasOwnProperty('key')) {\n key = props.key;\n props.key = undefined;\n }\n\n // support namespace\n if (props.hasOwnProperty('namespace')) {\n namespace = props.namespace;\n props.namespace = undefined;\n }\n\n // fix cursor bug\n if (tag === 'INPUT' &&\n !namespace &&\n props.hasOwnProperty('value') &&\n props.value !== undefined &&\n !isHook(props.value)\n ) {\n props.value = softSetHook(props.value);\n }\n\n transformProperties(props);\n\n if (children !== undefined && children !== null) {\n addChild(children, childNodes, tag, props);\n }\n\n\n return new VNode(tag, props, childNodes, key, namespace);\n}\n\nfunction addChild(c, childNodes, tag, props) {\n if (typeof c === 'string') {\n childNodes.push(new VText(c));\n } else if (typeof c === 'number') {\n childNodes.push(new VText(String(c)));\n } else if (isChild(c)) {\n childNodes.push(c);\n } else if (isArray(c)) {\n for (var i = 0; i < c.length; i++) {\n addChild(c[i], childNodes, tag, props);\n }\n } else if (c === null || c === undefined) {\n return;\n } else {\n throw UnexpectedVirtualElement({\n foreignObject: c,\n parentVnode: {\n tagName: tag,\n properties: props\n }\n });\n }\n}\n\nfunction transformProperties(props) {\n for (var propName in props) {\n if (props.hasOwnProperty(propName)) {\n var value = props[propName];\n\n if (isHook(value)) {\n continue;\n }\n\n if (propName.substr(0, 3) === 'ev-') {\n // add ev-foo support\n props[propName] = evHook(value);\n }\n }\n }\n}\n\nfunction isChild(x) {\n return isVNode(x) || isVText(x) || isWidget(x) || isVThunk(x);\n}\n\nfunction isChildren(x) {\n return typeof x === 'string' || isArray(x) || isChild(x);\n}\n\nfunction UnexpectedVirtualElement(data) {\n var err = new Error();\n\n err.type = 'virtual-hyperscript.unexpected.virtual-element';\n err.message = 'Unexpected virtual child passed to h().\\n' +\n 'Expected a VNode / Vthunk / VWidget / string but:\\n' +\n 'got:\\n' +\n errorString(data.foreignObject) +\n '.\\n' +\n 'The parent vnode is:\\n' +\n errorString(data.parentVnode)\n '\\n' +\n 'Suggested fix: change your `h(..., [ ... ])` callsite.';\n err.foreignObject = data.foreignObject;\n err.parentVnode = data.parentVnode;\n\n return err;\n}\n\nfunction errorString(obj) {\n try {\n return JSON.stringify(obj, null, ' ');\n } catch (e) {\n return String(obj);\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/virtual-dom/virtual-hyperscript/index.js?");
589
-
590
- /***/ }),
591
-
592
- /***/ "./node_modules/virtual-dom/virtual-hyperscript/parse-tag.js":
593
- /*!*******************************************************************!*\
594
- !*** ./node_modules/virtual-dom/virtual-hyperscript/parse-tag.js ***!
595
- \*******************************************************************/
596
- /*! no static exports found */
597
- /***/ (function(module, exports, __webpack_require__) {
598
-
599
- "use strict";
600
- eval("\n\nvar split = __webpack_require__(/*! browser-split */ \"./node_modules/browser-split/index.js\");\n\nvar classIdSplit = /([\\.#]?[a-zA-Z0-9\\u007F-\\uFFFF_:-]+)/;\nvar notClassId = /^\\.|#/;\n\nmodule.exports = parseTag;\n\nfunction parseTag(tag, props) {\n if (!tag) {\n return 'DIV';\n }\n\n var noId = !(props.hasOwnProperty('id'));\n\n var tagParts = split(tag, classIdSplit);\n var tagName = null;\n\n if (notClassId.test(tagParts[1])) {\n tagName = 'DIV';\n }\n\n var classes, part, type, i;\n\n for (i = 0; i < tagParts.length; i++) {\n part = tagParts[i];\n\n if (!part) {\n continue;\n }\n\n type = part.charAt(0);\n\n if (!tagName) {\n tagName = part;\n } else if (type === '.') {\n classes = classes || [];\n classes.push(part.substring(1, part.length));\n } else if (type === '#' && noId) {\n props.id = part.substring(1, part.length);\n }\n }\n\n if (classes) {\n if (props.className) {\n classes.push(props.className);\n }\n\n props.className = classes.join(' ');\n }\n\n return props.namespace ? tagName : tagName.toUpperCase();\n}\n\n\n//# sourceURL=webpack:///./node_modules/virtual-dom/virtual-hyperscript/parse-tag.js?");
601
-
602
- /***/ }),
603
-
604
- /***/ "./node_modules/virtual-dom/vnode/handle-thunk.js":
605
- /*!********************************************************!*\
606
- !*** ./node_modules/virtual-dom/vnode/handle-thunk.js ***!
607
- \********************************************************/
608
- /*! no static exports found */
609
- /***/ (function(module, exports, __webpack_require__) {
610
-
611
- eval("var isVNode = __webpack_require__(/*! ./is-vnode */ \"./node_modules/virtual-dom/vnode/is-vnode.js\")\nvar isVText = __webpack_require__(/*! ./is-vtext */ \"./node_modules/virtual-dom/vnode/is-vtext.js\")\nvar isWidget = __webpack_require__(/*! ./is-widget */ \"./node_modules/virtual-dom/vnode/is-widget.js\")\nvar isThunk = __webpack_require__(/*! ./is-thunk */ \"./node_modules/virtual-dom/vnode/is-thunk.js\")\n\nmodule.exports = handleThunk\n\nfunction handleThunk(a, b) {\n var renderedA = a\n var renderedB = b\n\n if (isThunk(b)) {\n renderedB = renderThunk(b, a)\n }\n\n if (isThunk(a)) {\n renderedA = renderThunk(a, null)\n }\n\n return {\n a: renderedA,\n b: renderedB\n }\n}\n\nfunction renderThunk(thunk, previous) {\n var renderedThunk = thunk.vnode\n\n if (!renderedThunk) {\n renderedThunk = thunk.vnode = thunk.render(previous)\n }\n\n if (!(isVNode(renderedThunk) ||\n isVText(renderedThunk) ||\n isWidget(renderedThunk))) {\n throw new Error(\"thunk did not return a valid node\");\n }\n\n return renderedThunk\n}\n\n\n//# sourceURL=webpack:///./node_modules/virtual-dom/vnode/handle-thunk.js?");
612
-
613
- /***/ }),
614
-
615
- /***/ "./node_modules/virtual-dom/vnode/is-thunk.js":
616
- /*!****************************************************!*\
617
- !*** ./node_modules/virtual-dom/vnode/is-thunk.js ***!
618
- \****************************************************/
619
- /*! no static exports found */
620
- /***/ (function(module, exports) {
621
-
622
- eval("module.exports = isThunk\r\n\r\nfunction isThunk(t) {\r\n return t && t.type === \"Thunk\"\r\n}\r\n\n\n//# sourceURL=webpack:///./node_modules/virtual-dom/vnode/is-thunk.js?");
623
-
624
- /***/ }),
625
-
626
- /***/ "./node_modules/virtual-dom/vnode/is-vhook.js":
627
- /*!****************************************************!*\
628
- !*** ./node_modules/virtual-dom/vnode/is-vhook.js ***!
629
- \****************************************************/
630
- /*! no static exports found */
631
- /***/ (function(module, exports) {
632
-
633
- eval("module.exports = isHook\n\nfunction isHook(hook) {\n return hook &&\n (typeof hook.hook === \"function\" && !hook.hasOwnProperty(\"hook\") ||\n typeof hook.unhook === \"function\" && !hook.hasOwnProperty(\"unhook\"))\n}\n\n\n//# sourceURL=webpack:///./node_modules/virtual-dom/vnode/is-vhook.js?");
634
-
635
- /***/ }),
636
-
637
- /***/ "./node_modules/virtual-dom/vnode/is-vnode.js":
638
- /*!****************************************************!*\
639
- !*** ./node_modules/virtual-dom/vnode/is-vnode.js ***!
640
- \****************************************************/
641
- /*! no static exports found */
642
- /***/ (function(module, exports, __webpack_require__) {
643
-
644
- eval("var version = __webpack_require__(/*! ./version */ \"./node_modules/virtual-dom/vnode/version.js\")\n\nmodule.exports = isVirtualNode\n\nfunction isVirtualNode(x) {\n return x && x.type === \"VirtualNode\" && x.version === version\n}\n\n\n//# sourceURL=webpack:///./node_modules/virtual-dom/vnode/is-vnode.js?");
645
-
646
- /***/ }),
647
-
648
- /***/ "./node_modules/virtual-dom/vnode/is-vtext.js":
649
- /*!****************************************************!*\
650
- !*** ./node_modules/virtual-dom/vnode/is-vtext.js ***!
651
- \****************************************************/
652
- /*! no static exports found */
653
- /***/ (function(module, exports, __webpack_require__) {
654
-
655
- eval("var version = __webpack_require__(/*! ./version */ \"./node_modules/virtual-dom/vnode/version.js\")\n\nmodule.exports = isVirtualText\n\nfunction isVirtualText(x) {\n return x && x.type === \"VirtualText\" && x.version === version\n}\n\n\n//# sourceURL=webpack:///./node_modules/virtual-dom/vnode/is-vtext.js?");
656
-
657
- /***/ }),
658
-
659
- /***/ "./node_modules/virtual-dom/vnode/is-widget.js":
660
- /*!*****************************************************!*\
661
- !*** ./node_modules/virtual-dom/vnode/is-widget.js ***!
662
- \*****************************************************/
663
- /*! no static exports found */
664
- /***/ (function(module, exports) {
665
-
666
- eval("module.exports = isWidget\n\nfunction isWidget(w) {\n return w && w.type === \"Widget\"\n}\n\n\n//# sourceURL=webpack:///./node_modules/virtual-dom/vnode/is-widget.js?");
667
-
668
- /***/ }),
669
-
670
- /***/ "./node_modules/virtual-dom/vnode/version.js":
671
- /*!***************************************************!*\
672
- !*** ./node_modules/virtual-dom/vnode/version.js ***!
673
- \***************************************************/
674
- /*! no static exports found */
675
- /***/ (function(module, exports) {
676
-
677
- eval("module.exports = \"2\"\n\n\n//# sourceURL=webpack:///./node_modules/virtual-dom/vnode/version.js?");
678
-
679
- /***/ }),
680
-
681
- /***/ "./node_modules/virtual-dom/vnode/vnode.js":
682
- /*!*************************************************!*\
683
- !*** ./node_modules/virtual-dom/vnode/vnode.js ***!
684
- \*************************************************/
685
- /*! no static exports found */
686
- /***/ (function(module, exports, __webpack_require__) {
687
-
688
- eval("var version = __webpack_require__(/*! ./version */ \"./node_modules/virtual-dom/vnode/version.js\")\nvar isVNode = __webpack_require__(/*! ./is-vnode */ \"./node_modules/virtual-dom/vnode/is-vnode.js\")\nvar isWidget = __webpack_require__(/*! ./is-widget */ \"./node_modules/virtual-dom/vnode/is-widget.js\")\nvar isThunk = __webpack_require__(/*! ./is-thunk */ \"./node_modules/virtual-dom/vnode/is-thunk.js\")\nvar isVHook = __webpack_require__(/*! ./is-vhook */ \"./node_modules/virtual-dom/vnode/is-vhook.js\")\n\nmodule.exports = VirtualNode\n\nvar noProperties = {}\nvar noChildren = []\n\nfunction VirtualNode(tagName, properties, children, key, namespace) {\n this.tagName = tagName\n this.properties = properties || noProperties\n this.children = children || noChildren\n this.key = key != null ? String(key) : undefined\n this.namespace = (typeof namespace === \"string\") ? namespace : null\n\n var count = (children && children.length) || 0\n var descendants = 0\n var hasWidgets = false\n var hasThunks = false\n var descendantHooks = false\n var hooks\n\n for (var propName in properties) {\n if (properties.hasOwnProperty(propName)) {\n var property = properties[propName]\n if (isVHook(property) && property.unhook) {\n if (!hooks) {\n hooks = {}\n }\n\n hooks[propName] = property\n }\n }\n }\n\n for (var i = 0; i < count; i++) {\n var child = children[i]\n if (isVNode(child)) {\n descendants += child.count || 0\n\n if (!hasWidgets && child.hasWidgets) {\n hasWidgets = true\n }\n\n if (!hasThunks && child.hasThunks) {\n hasThunks = true\n }\n\n if (!descendantHooks && (child.hooks || child.descendantHooks)) {\n descendantHooks = true\n }\n } else if (!hasWidgets && isWidget(child)) {\n if (typeof child.destroy === \"function\") {\n hasWidgets = true\n }\n } else if (!hasThunks && isThunk(child)) {\n hasThunks = true;\n }\n }\n\n this.count = count + descendants\n this.hasWidgets = hasWidgets\n this.hasThunks = hasThunks\n this.hooks = hooks\n this.descendantHooks = descendantHooks\n}\n\nVirtualNode.prototype.version = version\nVirtualNode.prototype.type = \"VirtualNode\"\n\n\n//# sourceURL=webpack:///./node_modules/virtual-dom/vnode/vnode.js?");
689
-
690
- /***/ }),
691
-
692
- /***/ "./node_modules/virtual-dom/vnode/vpatch.js":
693
- /*!**************************************************!*\
694
- !*** ./node_modules/virtual-dom/vnode/vpatch.js ***!
695
- \**************************************************/
696
- /*! no static exports found */
697
- /***/ (function(module, exports, __webpack_require__) {
698
-
699
- eval("var version = __webpack_require__(/*! ./version */ \"./node_modules/virtual-dom/vnode/version.js\")\n\nVirtualPatch.NONE = 0\nVirtualPatch.VTEXT = 1\nVirtualPatch.VNODE = 2\nVirtualPatch.WIDGET = 3\nVirtualPatch.PROPS = 4\nVirtualPatch.ORDER = 5\nVirtualPatch.INSERT = 6\nVirtualPatch.REMOVE = 7\nVirtualPatch.THUNK = 8\n\nmodule.exports = VirtualPatch\n\nfunction VirtualPatch(type, vNode, patch) {\n this.type = Number(type)\n this.vNode = vNode\n this.patch = patch\n}\n\nVirtualPatch.prototype.version = version\nVirtualPatch.prototype.type = \"VirtualPatch\"\n\n\n//# sourceURL=webpack:///./node_modules/virtual-dom/vnode/vpatch.js?");
700
-
701
- /***/ }),
702
-
703
- /***/ "./node_modules/virtual-dom/vnode/vtext.js":
704
- /*!*************************************************!*\
705
- !*** ./node_modules/virtual-dom/vnode/vtext.js ***!
706
- \*************************************************/
707
- /*! no static exports found */
708
- /***/ (function(module, exports, __webpack_require__) {
709
-
710
- eval("var version = __webpack_require__(/*! ./version */ \"./node_modules/virtual-dom/vnode/version.js\")\n\nmodule.exports = VirtualText\n\nfunction VirtualText(text) {\n this.text = String(text)\n}\n\nVirtualText.prototype.version = version\nVirtualText.prototype.type = \"VirtualText\"\n\n\n//# sourceURL=webpack:///./node_modules/virtual-dom/vnode/vtext.js?");
711
-
712
- /***/ }),
713
-
714
- /***/ "./node_modules/virtual-dom/vtree/diff-props.js":
715
- /*!******************************************************!*\
716
- !*** ./node_modules/virtual-dom/vtree/diff-props.js ***!
717
- \******************************************************/
718
- /*! no static exports found */
719
- /***/ (function(module, exports, __webpack_require__) {
720
-
721
- eval("var isObject = __webpack_require__(/*! is-object */ \"./node_modules/is-object/index.js\")\nvar isHook = __webpack_require__(/*! ../vnode/is-vhook */ \"./node_modules/virtual-dom/vnode/is-vhook.js\")\n\nmodule.exports = diffProps\n\nfunction diffProps(a, b) {\n var diff\n\n for (var aKey in a) {\n if (!(aKey in b)) {\n diff = diff || {}\n diff[aKey] = undefined\n }\n\n var aValue = a[aKey]\n var bValue = b[aKey]\n\n if (aValue === bValue) {\n continue\n } else if (isObject(aValue) && isObject(bValue)) {\n if (getPrototype(bValue) !== getPrototype(aValue)) {\n diff = diff || {}\n diff[aKey] = bValue\n } else if (isHook(bValue)) {\n diff = diff || {}\n diff[aKey] = bValue\n } else {\n var objectDiff = diffProps(aValue, bValue)\n if (objectDiff) {\n diff = diff || {}\n diff[aKey] = objectDiff\n }\n }\n } else {\n diff = diff || {}\n diff[aKey] = bValue\n }\n }\n\n for (var bKey in b) {\n if (!(bKey in a)) {\n diff = diff || {}\n diff[bKey] = b[bKey]\n }\n }\n\n return diff\n}\n\nfunction getPrototype(value) {\n if (Object.getPrototypeOf) {\n return Object.getPrototypeOf(value)\n } else if (value.__proto__) {\n return value.__proto__\n } else if (value.constructor) {\n return value.constructor.prototype\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/virtual-dom/vtree/diff-props.js?");
722
-
723
- /***/ }),
724
-
725
- /***/ "./node_modules/virtual-dom/vtree/diff.js":
726
- /*!************************************************!*\
727
- !*** ./node_modules/virtual-dom/vtree/diff.js ***!
728
- \************************************************/
729
- /*! no static exports found */
730
- /***/ (function(module, exports, __webpack_require__) {
731
-
732
- eval("var isArray = __webpack_require__(/*! x-is-array */ \"./node_modules/x-is-array/index.js\")\n\nvar VPatch = __webpack_require__(/*! ../vnode/vpatch */ \"./node_modules/virtual-dom/vnode/vpatch.js\")\nvar isVNode = __webpack_require__(/*! ../vnode/is-vnode */ \"./node_modules/virtual-dom/vnode/is-vnode.js\")\nvar isVText = __webpack_require__(/*! ../vnode/is-vtext */ \"./node_modules/virtual-dom/vnode/is-vtext.js\")\nvar isWidget = __webpack_require__(/*! ../vnode/is-widget */ \"./node_modules/virtual-dom/vnode/is-widget.js\")\nvar isThunk = __webpack_require__(/*! ../vnode/is-thunk */ \"./node_modules/virtual-dom/vnode/is-thunk.js\")\nvar handleThunk = __webpack_require__(/*! ../vnode/handle-thunk */ \"./node_modules/virtual-dom/vnode/handle-thunk.js\")\n\nvar diffProps = __webpack_require__(/*! ./diff-props */ \"./node_modules/virtual-dom/vtree/diff-props.js\")\n\nmodule.exports = diff\n\nfunction diff(a, b) {\n var patch = { a: a }\n walk(a, b, patch, 0)\n return patch\n}\n\nfunction walk(a, b, patch, index) {\n if (a === b) {\n return\n }\n\n var apply = patch[index]\n var applyClear = false\n\n if (isThunk(a) || isThunk(b)) {\n thunks(a, b, patch, index)\n } else if (b == null) {\n\n // If a is a widget we will add a remove patch for it\n // Otherwise any child widgets/hooks must be destroyed.\n // This prevents adding two remove patches for a widget.\n if (!isWidget(a)) {\n clearState(a, patch, index)\n apply = patch[index]\n }\n\n apply = appendPatch(apply, new VPatch(VPatch.REMOVE, a, b))\n } else if (isVNode(b)) {\n if (isVNode(a)) {\n if (a.tagName === b.tagName &&\n a.namespace === b.namespace &&\n a.key === b.key) {\n var propsPatch = diffProps(a.properties, b.properties)\n if (propsPatch) {\n apply = appendPatch(apply,\n new VPatch(VPatch.PROPS, a, propsPatch))\n }\n apply = diffChildren(a, b, patch, apply, index)\n } else {\n apply = appendPatch(apply, new VPatch(VPatch.VNODE, a, b))\n applyClear = true\n }\n } else {\n apply = appendPatch(apply, new VPatch(VPatch.VNODE, a, b))\n applyClear = true\n }\n } else if (isVText(b)) {\n if (!isVText(a)) {\n apply = appendPatch(apply, new VPatch(VPatch.VTEXT, a, b))\n applyClear = true\n } else if (a.text !== b.text) {\n apply = appendPatch(apply, new VPatch(VPatch.VTEXT, a, b))\n }\n } else if (isWidget(b)) {\n if (!isWidget(a)) {\n applyClear = true\n }\n\n apply = appendPatch(apply, new VPatch(VPatch.WIDGET, a, b))\n }\n\n if (apply) {\n patch[index] = apply\n }\n\n if (applyClear) {\n clearState(a, patch, index)\n }\n}\n\nfunction diffChildren(a, b, patch, apply, index) {\n var aChildren = a.children\n var orderedSet = reorder(aChildren, b.children)\n var bChildren = orderedSet.children\n\n var aLen = aChildren.length\n var bLen = bChildren.length\n var len = aLen > bLen ? aLen : bLen\n\n for (var i = 0; i < len; i++) {\n var leftNode = aChildren[i]\n var rightNode = bChildren[i]\n index += 1\n\n if (!leftNode) {\n if (rightNode) {\n // Excess nodes in b need to be added\n apply = appendPatch(apply,\n new VPatch(VPatch.INSERT, null, rightNode))\n }\n } else {\n walk(leftNode, rightNode, patch, index)\n }\n\n if (isVNode(leftNode) && leftNode.count) {\n index += leftNode.count\n }\n }\n\n if (orderedSet.moves) {\n // Reorder nodes last\n apply = appendPatch(apply, new VPatch(\n VPatch.ORDER,\n a,\n orderedSet.moves\n ))\n }\n\n return apply\n}\n\nfunction clearState(vNode, patch, index) {\n // TODO: Make this a single walk, not two\n unhook(vNode, patch, index)\n destroyWidgets(vNode, patch, index)\n}\n\n// Patch records for all destroyed widgets must be added because we need\n// a DOM node reference for the destroy function\nfunction destroyWidgets(vNode, patch, index) {\n if (isWidget(vNode)) {\n if (typeof vNode.destroy === \"function\") {\n patch[index] = appendPatch(\n patch[index],\n new VPatch(VPatch.REMOVE, vNode, null)\n )\n }\n } else if (isVNode(vNode) && (vNode.hasWidgets || vNode.hasThunks)) {\n var children = vNode.children\n var len = children.length\n for (var i = 0; i < len; i++) {\n var child = children[i]\n index += 1\n\n destroyWidgets(child, patch, index)\n\n if (isVNode(child) && child.count) {\n index += child.count\n }\n }\n } else if (isThunk(vNode)) {\n thunks(vNode, null, patch, index)\n }\n}\n\n// Create a sub-patch for thunks\nfunction thunks(a, b, patch, index) {\n var nodes = handleThunk(a, b)\n var thunkPatch = diff(nodes.a, nodes.b)\n if (hasPatches(thunkPatch)) {\n patch[index] = new VPatch(VPatch.THUNK, null, thunkPatch)\n }\n}\n\nfunction hasPatches(patch) {\n for (var index in patch) {\n if (index !== \"a\") {\n return true\n }\n }\n\n return false\n}\n\n// Execute hooks when two nodes are identical\nfunction unhook(vNode, patch, index) {\n if (isVNode(vNode)) {\n if (vNode.hooks) {\n patch[index] = appendPatch(\n patch[index],\n new VPatch(\n VPatch.PROPS,\n vNode,\n undefinedKeys(vNode.hooks)\n )\n )\n }\n\n if (vNode.descendantHooks || vNode.hasThunks) {\n var children = vNode.children\n var len = children.length\n for (var i = 0; i < len; i++) {\n var child = children[i]\n index += 1\n\n unhook(child, patch, index)\n\n if (isVNode(child) && child.count) {\n index += child.count\n }\n }\n }\n } else if (isThunk(vNode)) {\n thunks(vNode, null, patch, index)\n }\n}\n\nfunction undefinedKeys(obj) {\n var result = {}\n\n for (var key in obj) {\n result[key] = undefined\n }\n\n return result\n}\n\n// List diff, naive left to right reordering\nfunction reorder(aChildren, bChildren) {\n // O(M) time, O(M) memory\n var bChildIndex = keyIndex(bChildren)\n var bKeys = bChildIndex.keys\n var bFree = bChildIndex.free\n\n if (bFree.length === bChildren.length) {\n return {\n children: bChildren,\n moves: null\n }\n }\n\n // O(N) time, O(N) memory\n var aChildIndex = keyIndex(aChildren)\n var aKeys = aChildIndex.keys\n var aFree = aChildIndex.free\n\n if (aFree.length === aChildren.length) {\n return {\n children: bChildren,\n moves: null\n }\n }\n\n // O(MAX(N, M)) memory\n var newChildren = []\n\n var freeIndex = 0\n var freeCount = bFree.length\n var deletedItems = 0\n\n // Iterate through a and match a node in b\n // O(N) time,\n for (var i = 0 ; i < aChildren.length; i++) {\n var aItem = aChildren[i]\n var itemIndex\n\n if (aItem.key) {\n if (bKeys.hasOwnProperty(aItem.key)) {\n // Match up the old keys\n itemIndex = bKeys[aItem.key]\n newChildren.push(bChildren[itemIndex])\n\n } else {\n // Remove old keyed items\n itemIndex = i - deletedItems++\n newChildren.push(null)\n }\n } else {\n // Match the item in a with the next free item in b\n if (freeIndex < freeCount) {\n itemIndex = bFree[freeIndex++]\n newChildren.push(bChildren[itemIndex])\n } else {\n // There are no free items in b to match with\n // the free items in a, so the extra free nodes\n // are deleted.\n itemIndex = i - deletedItems++\n newChildren.push(null)\n }\n }\n }\n\n var lastFreeIndex = freeIndex >= bFree.length ?\n bChildren.length :\n bFree[freeIndex]\n\n // Iterate through b and append any new keys\n // O(M) time\n for (var j = 0; j < bChildren.length; j++) {\n var newItem = bChildren[j]\n\n if (newItem.key) {\n if (!aKeys.hasOwnProperty(newItem.key)) {\n // Add any new keyed items\n // We are adding new items to the end and then sorting them\n // in place. In future we should insert new items in place.\n newChildren.push(newItem)\n }\n } else if (j >= lastFreeIndex) {\n // Add any leftover non-keyed items\n newChildren.push(newItem)\n }\n }\n\n var simulate = newChildren.slice()\n var simulateIndex = 0\n var removes = []\n var inserts = []\n var simulateItem\n\n for (var k = 0; k < bChildren.length;) {\n var wantedItem = bChildren[k]\n simulateItem = simulate[simulateIndex]\n\n // remove items\n while (simulateItem === null && simulate.length) {\n removes.push(remove(simulate, simulateIndex, null))\n simulateItem = simulate[simulateIndex]\n }\n\n if (!simulateItem || simulateItem.key !== wantedItem.key) {\n // if we need a key in this position...\n if (wantedItem.key) {\n if (simulateItem && simulateItem.key) {\n // if an insert doesn't put this key in place, it needs to move\n if (bKeys[simulateItem.key] !== k + 1) {\n removes.push(remove(simulate, simulateIndex, simulateItem.key))\n simulateItem = simulate[simulateIndex]\n // if the remove didn't put the wanted item in place, we need to insert it\n if (!simulateItem || simulateItem.key !== wantedItem.key) {\n inserts.push({key: wantedItem.key, to: k})\n }\n // items are matching, so skip ahead\n else {\n simulateIndex++\n }\n }\n else {\n inserts.push({key: wantedItem.key, to: k})\n }\n }\n else {\n inserts.push({key: wantedItem.key, to: k})\n }\n k++\n }\n // a key in simulate has no matching wanted key, remove it\n else if (simulateItem && simulateItem.key) {\n removes.push(remove(simulate, simulateIndex, simulateItem.key))\n }\n }\n else {\n simulateIndex++\n k++\n }\n }\n\n // remove all the remaining nodes from simulate\n while(simulateIndex < simulate.length) {\n simulateItem = simulate[simulateIndex]\n removes.push(remove(simulate, simulateIndex, simulateItem && simulateItem.key))\n }\n\n // If the only moves we have are deletes then we can just\n // let the delete patch remove these items.\n if (removes.length === deletedItems && !inserts.length) {\n return {\n children: newChildren,\n moves: null\n }\n }\n\n return {\n children: newChildren,\n moves: {\n removes: removes,\n inserts: inserts\n }\n }\n}\n\nfunction remove(arr, index, key) {\n arr.splice(index, 1)\n\n return {\n from: index,\n key: key\n }\n}\n\nfunction keyIndex(children) {\n var keys = {}\n var free = []\n var length = children.length\n\n for (var i = 0; i < length; i++) {\n var child = children[i]\n\n if (child.key) {\n keys[child.key] = i\n } else {\n free.push(i)\n }\n }\n\n return {\n keys: keys, // A hash of key name to index\n free: free // An array of unkeyed item indices\n }\n}\n\nfunction appendPatch(apply, patch) {\n if (apply) {\n if (isArray(apply)) {\n apply.push(patch)\n } else {\n apply = [apply, patch]\n }\n\n return apply\n } else {\n return patch\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/virtual-dom/vtree/diff.js?");
733
-
734
- /***/ }),
735
-
736
- /***/ "./node_modules/webpack/buildin/global.js":
737
- /*!***********************************!*\
738
- !*** (webpack)/buildin/global.js ***!
739
- \***********************************/
740
- /*! no static exports found */
741
- /***/ (function(module, exports) {
742
-
743
- eval("var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n//# sourceURL=webpack:///(webpack)/buildin/global.js?");
744
-
745
- /***/ }),
746
-
747
- /***/ "./node_modules/x-is-array/index.js":
748
- /*!******************************************!*\
749
- !*** ./node_modules/x-is-array/index.js ***!
750
- \******************************************/
751
- /*! no static exports found */
752
- /***/ (function(module, exports) {
753
-
754
- eval("var nativeIsArray = Array.isArray\nvar toString = Object.prototype.toString\n\nmodule.exports = nativeIsArray || isArray\n\nfunction isArray(obj) {\n return toString.call(obj) === \"[object Array]\"\n}\n\n\n//# sourceURL=webpack:///./node_modules/x-is-array/index.js?");
755
-
756
- /***/ }),
757
-
758
- /***/ "./src/compost.fs":
759
- /*!************************!*\
760
- !*** ./src/compost.fs ***!
761
- \************************/
762
- /*! exports provided: Helpers$$$formatValue, Helpers$$$parseValue, scale, compost */
763
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
764
-
765
- "use strict";
766
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Helpers$$$formatValue\", function() { return Helpers$$$formatValue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Helpers$$$parseValue\", function() { return Helpers$$$parseValue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"scale\", function() { return scale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"compost\", function() { return compost; });\n/* harmony import */ var _core_fs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core.fs */ \"./src/core.fs\");\n/* harmony import */ var _fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../.fable/fable-library.2.10.1/String.js */ \"./.fable/fable-library.2.10.1/String.js\");\n/* harmony import */ var _fable_fable_library_2_10_1_List_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../.fable/fable-library.2.10.1/List.js */ \"./.fable/fable-library.2.10.1/List.js\");\n/* harmony import */ var _fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../.fable/fable-library.2.10.1/Util.js */ \"./.fable/fable-library.2.10.1/Util.js\");\n/* harmony import */ var _fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../.fable/fable-library.2.10.1/Seq.js */ \"./.fable/fable-library.2.10.1/Seq.js\");\n/* harmony import */ var _html_fs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./html.fs */ \"./src/html.fs\");\n\n\n\n\n\n\nfunction Helpers$$$formatValue(v) {\n if (v.tag === 1) {\n const v$$1 = v.fields[0].fields[0];\n return v$$1;\n } else {\n const r = v.fields[1];\n const c = v.fields[0].fields[0];\n return [c, r];\n }\n}\nfunction Helpers$$$parseValue(v$$2) {\n if (typeof v$$2 == \"number\") {\n return new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"Value\"](1, \"COV\", new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"continuous\"](0, \"CO\", v$$2));\n } else if (Array.isArray(v$$2)) {\n const a = v$$2;\n\n if (a.length !== 2) {\n const arg10 = a;\n const clo1 = Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_1__[\"toFail\"])(Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_1__[\"printf\"])(\"Cannot parse value: %A. Expected a number or an array with two elements.\"));\n clo1(arg10);\n } else {\n void null;\n }\n\n if (!(typeof a[1] == \"number\")) {\n const arg10$$1 = a;\n const clo1$$1 = Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_1__[\"toFail\"])(Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_1__[\"printf\"])(\"Cannot parse value: %A. The second element should be a number.\"));\n clo1$$1(arg10$$1);\n } else {\n void null;\n }\n\n return new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"Value\"](0, \"CAR\", new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"categorical\"](0, \"CA\", a[0]), a[1]);\n } else {\n const arg10$$2 = v$$2;\n const clo1$$2 = Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_1__[\"toFail\"])(Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_1__[\"printf\"])(\"Cannot parse value: %A. Expected a number or an array with two elements.\"));\n return clo1$$2(arg10$$2);\n }\n}\nconst scale = {\n continuous(lo, hi) {\n return new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"Scale\"](0, \"Continuous\", new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"continuous\"](0, \"CO\", lo), new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"continuous\"](0, \"CO\", hi));\n }\n\n};\nconst compost = {\n scaleX(sc, sh) {\n return new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"Shape\"](3, \"InnerScale\", sc, undefined, sh);\n },\n\n scaleY(sc$$1, sh$$1) {\n return new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"Shape\"](3, \"InnerScale\", undefined, sc$$1, sh$$1);\n },\n\n scale(sx, sy, sh$$2) {\n return new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"Shape\"](3, \"InnerScale\", sx, sy, sh$$2);\n },\n\n nestX(lx, hx, s) {\n return new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"Shape\"](4, \"NestX\", Helpers$$$parseValue(lx), Helpers$$$parseValue(hx), s);\n },\n\n nestY(ly, hy, s$$1) {\n return new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"Shape\"](5, \"NestY\", Helpers$$$parseValue(ly), Helpers$$$parseValue(hy), s$$1);\n },\n\n nest(lx$$1, hx$$1, ly$$1, hy$$1, s$$2) {\n return new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"Shape\"](5, \"NestY\", Helpers$$$parseValue(ly$$1), Helpers$$$parseValue(hy$$1), new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"Shape\"](4, \"NestX\", Helpers$$$parseValue(lx$$1), Helpers$$$parseValue(hx$$1), s$$2));\n },\n\n overlay(sh$$3) {\n return new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"Shape\"](9, \"Layered\", Object(_fable_fable_library_2_10_1_List_js__WEBPACK_IMPORTED_MODULE_2__[\"ofArray\"])(sh$$3));\n },\n\n padding(t, r$$1, b, l, s$$3) {\n return new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"Shape\"](12, \"Padding\", [t, r$$1, b, l], s$$3);\n },\n\n fillColor(c$$1, s$$4) {\n return Object(_core_fs__WEBPACK_IMPORTED_MODULE_0__[\"Derived$$$FillColor\"])(c$$1, s$$4);\n },\n\n strokeColor(c$$2, s$$5) {\n return Object(_core_fs__WEBPACK_IMPORTED_MODULE_0__[\"Derived$$$StrokeColor\"])(c$$2, s$$5);\n },\n\n font(f, c$$3, s$$6) {\n return Object(_core_fs__WEBPACK_IMPORTED_MODULE_0__[\"Derived$$$Font\"])(f, c$$3, s$$6);\n },\n\n column(xp, yp) {\n return Object(_core_fs__WEBPACK_IMPORTED_MODULE_0__[\"Derived$$$Column\"])(new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"categorical\"](0, \"CA\", xp), new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"continuous\"](0, \"CO\", yp));\n },\n\n bubble(xp$$1, yp$$1, w, h) {\n return new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"Shape\"](7, \"Bubble\", Helpers$$$parseValue(xp$$1), Helpers$$$parseValue(yp$$1), w, h);\n },\n\n text(xp$$2, yp$$2, t$$1, s$$7, r$$2) {\n const r$$3 = Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_3__[\"equals\"])(r$$2, null) ? 0 : r$$2;\n const s$$8 = Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_3__[\"equals\"])(s$$7, null) ? \"\" : s$$7;\n const va = s$$8.indexOf(\"baseline\") >= 0 ? new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"VerticalAlign\"](0, \"Baseline\") : s$$8.indexOf(\"hanging\") >= 0 ? new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"VerticalAlign\"](2, \"Hanging\") : new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"VerticalAlign\"](1, \"Middle\");\n const ha = s$$8.indexOf(\"start\") >= 0 ? new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"HorizontalAlign\"](0, \"Start\") : s$$8.indexOf(\"end\") >= 0 ? new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"HorizontalAlign\"](2, \"End\") : new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"HorizontalAlign\"](1, \"Center\");\n return new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"Shape\"](1, \"Text\", Helpers$$$parseValue(xp$$2), Helpers$$$parseValue(yp$$2), va, ha, r$$3, t$$1);\n },\n\n shape(a$$1) {\n return new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"Shape\"](8, \"Shape\", Object(_fable_fable_library_2_10_1_List_js__WEBPACK_IMPORTED_MODULE_2__[\"ofSeq\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_4__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_4__[\"map\"])(function (p) {\n return [Helpers$$$parseValue(p[0]), Helpers$$$parseValue(p[1])];\n }, a$$1);\n })));\n },\n\n line(a$$2) {\n return new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"Shape\"](6, \"Line\", Object(_fable_fable_library_2_10_1_List_js__WEBPACK_IMPORTED_MODULE_2__[\"ofSeq\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_4__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_4__[\"map\"])(function (p$$1) {\n return [Helpers$$$parseValue(p$$1[0]), Helpers$$$parseValue(p$$1[1])];\n }, a$$2);\n })));\n },\n\n axes(a$$3, s$$9) {\n return new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"Shape\"](10, \"Axes\", a$$3.indexOf(\"top\") >= 0, a$$3.indexOf(\"right\") >= 0, a$$3.indexOf(\"bottom\") >= 0, a$$3.indexOf(\"left\") >= 0, s$$9);\n },\n\n on(o, s$$10) {\n return new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"Shape\"](11, \"Interactive\", Object(_fable_fable_library_2_10_1_List_js__WEBPACK_IMPORTED_MODULE_2__[\"ofSeq\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_4__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_4__[\"map\"])(function (k) {\n let f$$2;\n const f$$1 = o[k];\n\n f$$2 = function (args) {\n f$$1(...args);\n };\n\n switch (k) {\n case \"mousedown\":\n {\n return new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"EventHandler\"](2, \"MouseDown\", function (me, tupledArg) {\n const x$$19 = tupledArg[0];\n const y = tupledArg[1];\n f$$2([Helpers$$$formatValue(x$$19), Helpers$$$formatValue(y), me]);\n });\n }\n\n case \"mouseup\":\n {\n return new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"EventHandler\"](1, \"MouseUp\", function (me$$1, tupledArg$$1) {\n const x$$20 = tupledArg$$1[0];\n const y$$1 = tupledArg$$1[1];\n f$$2([Helpers$$$formatValue(x$$20), Helpers$$$formatValue(y$$1), me$$1]);\n });\n }\n\n case \"mousemove\":\n {\n return new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"EventHandler\"](0, \"MouseMove\", function (me$$2, tupledArg$$2) {\n const x$$21 = tupledArg$$2[0];\n const y$$2 = tupledArg$$2[1];\n f$$2([Helpers$$$formatValue(x$$21), Helpers$$$formatValue(y$$2), me$$2]);\n });\n }\n\n case \"touchstart\":\n {\n return new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"EventHandler\"](4, \"TouchStart\", function (me$$3, tupledArg$$3) {\n const x$$22 = tupledArg$$3[0];\n const y$$3 = tupledArg$$3[1];\n f$$2([Helpers$$$formatValue(x$$22), Helpers$$$formatValue(y$$3), me$$3]);\n });\n }\n\n case \"touchmove\":\n {\n return new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"EventHandler\"](5, \"TouchMove\", function (me$$4, tupledArg$$4) {\n const x$$23 = tupledArg$$4[0];\n const y$$4 = tupledArg$$4[1];\n f$$2([Helpers$$$formatValue(x$$23), Helpers$$$formatValue(y$$4), me$$4]);\n });\n }\n\n case \"click\":\n {\n return new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"EventHandler\"](3, \"Click\", function (me$$5, tupledArg$$5) {\n const x$$24 = tupledArg$$5[0];\n const y$$5 = tupledArg$$5[1];\n f$$2([Helpers$$$formatValue(x$$24), Helpers$$$formatValue(y$$5), me$$5]);\n });\n }\n\n case \"mouseleave\":\n {\n return new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"EventHandler\"](7, \"MouseLeave\", function (me$$6) {\n f$$2([me$$6]);\n });\n }\n\n case \"touchend\":\n {\n return new _core_fs__WEBPACK_IMPORTED_MODULE_0__[\"EventHandler\"](6, \"TouchEnd\", function (me$$7) {\n f$$2([me$$7]);\n });\n }\n\n default:\n {\n const s$$11 = k;\n const arg10$$3 = s$$11;\n const clo1$$3 = Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_1__[\"toFail\"])(Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_1__[\"printf\"])(\"Unsupported event type '%s' passed to the 'on' primitive.\"));\n return clo1$$3(arg10$$3);\n }\n }\n }, Object.keys(o));\n })), s$$10);\n },\n\n interactive(id, init, update, render) {\n const render$$1 = function render$$1(t$$2, s$$12) {\n const el = document.getElementById(id);\n return Object(_core_fs__WEBPACK_IMPORTED_MODULE_0__[\"Compost$$$createSvg\"])(false, false, el.clientWidth, el.clientHeight, render(t$$2, s$$12));\n };\n\n Object(_html_fs__WEBPACK_IMPORTED_MODULE_5__[\"createVirtualDomApp\"])(id, init, render$$1, update);\n },\n\n render(id$$1, viz) {\n const el$$1 = document.getElementById(id$$1);\n const svg = Object(_core_fs__WEBPACK_IMPORTED_MODULE_0__[\"Compost$$$createSvg\"])(false, false, el$$1.clientWidth, el$$1.clientHeight, viz);\n const dom = svg;\n Object(_html_fs__WEBPACK_IMPORTED_MODULE_5__[\"renderTo\"])(el$$1, dom);\n }\n\n};\n\n//# sourceURL=webpack:///./src/compost.fs?");
767
-
768
- /***/ }),
769
-
770
- /***/ "./src/core.fs":
771
- /*!*********************!*\
772
- !*** ./src/core.fs ***!
773
- \*********************/
774
- /*! exports provided: Color, Color$reflection, Width, Width$reflection, FillStyle, FillStyle$reflection, Number$, Number$$reflection, HorizontalAlign, HorizontalAlign$reflection, VerticalAlign, VerticalAlign$reflection, continuous, continuous$reflection, categorical, categorical$reflection, Value, Value$reflection, Scale, Scale$reflection, Style, Style$reflection, EventHandler, EventHandler$reflection, Orientation, Orientation$reflection, Shape, Shape$reflection, Svg$002EStringBuilder, Svg$002EStringBuilder$reflection, Svg$002EStringBuilder$$$$002Ector, Svg$002EStringBuilder$$Append$$Z721C83C5, Svg$002EPathSegment, Svg$002EPathSegment$reflection, Svg$002ESvg, Svg$002ESvg$reflection, Svg$$$mapSvg, Svg$$$formatPath, Svg$002ERenderingContext, Svg$002ERenderingContext$reflection, Svg$$$renderSvg, Svg$$$formatColor, Svg$$$formatNumber, Svg$$$formatStyle, Scales$002EScaledShape, Scales$002EScaledShape$reflection, Scales$$$getExtremes, Scales$$$calculateMagnitudeAndRange, Scales$$$decimalPoints, Scales$$$adjustRange, Scales$$$adjustRangeUnits, Scales$$$toArray, Scales$$$generateSteps, Scales$$$generateAxisSteps, Scales$$$generateAxisLabels, Scales$$$unionScales, Scales$$$calculateShapeScale, Scales$$$calculateShapeScales, Scales$$$calculateScales, Projections$$$projectOne, Drawing$002EDrawingContext, Drawing$002EDrawingContext$reflection, Drawing$$$hideFill, Drawing$$$hideStroke, Drawing$$$drawShape, Events$002EMouseEventKind, Events$002EMouseEventKind$reflection, Events$002ETouchEventKind, Events$002ETouchEventKind$reflection, Events$002EInteractiveEvent, Events$002EInteractiveEvent$reflection, Events$$$projectInvOne, Events$$$projectInv, Events$$$projectEvent, Events$$$inScale, Events$$$inScales, Events$$$triggerEvent, Derived$$$StrokeColor, Derived$$$FillColor, Derived$$$Font, Derived$$$Area, Derived$$$VArea, Derived$$$VShiftedArea, Derived$$$Bar, Derived$$$Column, Compost$$$niceNumber, Compost$$$defaultFormat, Compost$$$defstyle, Compost$$$getRelativeLocation, Compost$$$createSvg */
775
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
776
-
777
- "use strict";
778
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Color\", function() { return Color; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Color$reflection\", function() { return Color$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Width\", function() { return Width; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Width$reflection\", function() { return Width$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FillStyle\", function() { return FillStyle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FillStyle$reflection\", function() { return FillStyle$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Number$\", function() { return Number$; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Number$$reflection\", function() { return Number$$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"HorizontalAlign\", function() { return HorizontalAlign; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"HorizontalAlign$reflection\", function() { return HorizontalAlign$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VerticalAlign\", function() { return VerticalAlign; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VerticalAlign$reflection\", function() { return VerticalAlign$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"continuous\", function() { return continuous; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"continuous$reflection\", function() { return continuous$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"categorical\", function() { return categorical; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"categorical$reflection\", function() { return categorical$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Value\", function() { return Value; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Value$reflection\", function() { return Value$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Scale\", function() { return Scale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Scale$reflection\", function() { return Scale$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Style\", function() { return Style; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Style$reflection\", function() { return Style$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EventHandler\", function() { return EventHandler; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EventHandler$reflection\", function() { return EventHandler$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Orientation\", function() { return Orientation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Orientation$reflection\", function() { return Orientation$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Shape\", function() { return Shape; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Shape$reflection\", function() { return Shape$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Svg$002EStringBuilder\", function() { return Svg$002EStringBuilder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Svg$002EStringBuilder$reflection\", function() { return Svg$002EStringBuilder$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Svg$002EStringBuilder$$$$002Ector\", function() { return Svg$002EStringBuilder$$$$002Ector; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Svg$002EStringBuilder$$Append$$Z721C83C5\", function() { return Svg$002EStringBuilder$$Append$$Z721C83C5; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Svg$002EPathSegment\", function() { return Svg$002EPathSegment; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Svg$002EPathSegment$reflection\", function() { return Svg$002EPathSegment$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Svg$002ESvg\", function() { return Svg$002ESvg; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Svg$002ESvg$reflection\", function() { return Svg$002ESvg$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Svg$$$mapSvg\", function() { return Svg$$$mapSvg; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Svg$$$formatPath\", function() { return Svg$$$formatPath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Svg$002ERenderingContext\", function() { return Svg$002ERenderingContext; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Svg$002ERenderingContext$reflection\", function() { return Svg$002ERenderingContext$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Svg$$$renderSvg\", function() { return Svg$$$renderSvg; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Svg$$$formatColor\", function() { return Svg$$$formatColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Svg$$$formatNumber\", function() { return Svg$$$formatNumber; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Svg$$$formatStyle\", function() { return Svg$$$formatStyle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Scales$002EScaledShape\", function() { return Scales$002EScaledShape; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Scales$002EScaledShape$reflection\", function() { return Scales$002EScaledShape$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Scales$$$getExtremes\", function() { return Scales$$$getExtremes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Scales$$$calculateMagnitudeAndRange\", function() { return Scales$$$calculateMagnitudeAndRange; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Scales$$$decimalPoints\", function() { return Scales$$$decimalPoints; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Scales$$$adjustRange\", function() { return Scales$$$adjustRange; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Scales$$$adjustRangeUnits\", function() { return Scales$$$adjustRangeUnits; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Scales$$$toArray\", function() { return Scales$$$toArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Scales$$$generateSteps\", function() { return Scales$$$generateSteps; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Scales$$$generateAxisSteps\", function() { return Scales$$$generateAxisSteps; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Scales$$$generateAxisLabels\", function() { return Scales$$$generateAxisLabels; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Scales$$$unionScales\", function() { return Scales$$$unionScales; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Scales$$$calculateShapeScale\", function() { return Scales$$$calculateShapeScale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Scales$$$calculateShapeScales\", function() { return Scales$$$calculateShapeScales; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Scales$$$calculateScales\", function() { return Scales$$$calculateScales; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Projections$$$projectOne\", function() { return Projections$$$projectOne; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Drawing$002EDrawingContext\", function() { return Drawing$002EDrawingContext; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Drawing$002EDrawingContext$reflection\", function() { return Drawing$002EDrawingContext$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Drawing$$$hideFill\", function() { return Drawing$$$hideFill; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Drawing$$$hideStroke\", function() { return Drawing$$$hideStroke; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Drawing$$$drawShape\", function() { return Drawing$$$drawShape; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Events$002EMouseEventKind\", function() { return Events$002EMouseEventKind; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Events$002EMouseEventKind$reflection\", function() { return Events$002EMouseEventKind$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Events$002ETouchEventKind\", function() { return Events$002ETouchEventKind; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Events$002ETouchEventKind$reflection\", function() { return Events$002ETouchEventKind$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Events$002EInteractiveEvent\", function() { return Events$002EInteractiveEvent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Events$002EInteractiveEvent$reflection\", function() { return Events$002EInteractiveEvent$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Events$$$projectInvOne\", function() { return Events$$$projectInvOne; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Events$$$projectInv\", function() { return Events$$$projectInv; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Events$$$projectEvent\", function() { return Events$$$projectEvent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Events$$$inScale\", function() { return Events$$$inScale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Events$$$inScales\", function() { return Events$$$inScales; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Events$$$triggerEvent\", function() { return Events$$$triggerEvent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Derived$$$StrokeColor\", function() { return Derived$$$StrokeColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Derived$$$FillColor\", function() { return Derived$$$FillColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Derived$$$Font\", function() { return Derived$$$Font; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Derived$$$Area\", function() { return Derived$$$Area; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Derived$$$VArea\", function() { return Derived$$$VArea; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Derived$$$VShiftedArea\", function() { return Derived$$$VShiftedArea; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Derived$$$Bar\", function() { return Derived$$$Bar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Derived$$$Column\", function() { return Derived$$$Column; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Compost$$$niceNumber\", function() { return Compost$$$niceNumber; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Compost$$$defaultFormat\", function() { return Compost$$$defaultFormat; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Compost$$$defstyle\", function() { return Compost$$$defstyle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Compost$$$getRelativeLocation\", function() { return Compost$$$getRelativeLocation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Compost$$$createSvg\", function() { return Compost$$$createSvg; });\n/* harmony import */ var _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../.fable/fable-library.2.10.1/Types.js */ \"./.fable/fable-library.2.10.1/Types.js\");\n/* harmony import */ var _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../.fable/fable-library.2.10.1/Reflection.js */ \"./.fable/fable-library.2.10.1/Reflection.js\");\n/* harmony import */ var _fable_fable_library_2_10_1_List_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../.fable/fable-library.2.10.1/List.js */ \"./.fable/fable-library.2.10.1/List.js\");\n/* harmony import */ var _fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../.fable/fable-library.2.10.1/String.js */ \"./.fable/fable-library.2.10.1/String.js\");\n/* harmony import */ var _fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../.fable/fable-library.2.10.1/Array.js */ \"./.fable/fable-library.2.10.1/Array.js\");\n/* harmony import */ var _fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../.fable/fable-library.2.10.1/Seq.js */ \"./.fable/fable-library.2.10.1/Seq.js\");\n/* harmony import */ var _html_fs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./html.fs */ \"./src/html.fs\");\n/* harmony import */ var _fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../.fable/fable-library.2.10.1/Util.js */ \"./.fable/fable-library.2.10.1/Util.js\");\n/* harmony import */ var _fable_fable_library_2_10_1_Option_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../.fable/fable-library.2.10.1/Option.js */ \"./.fable/fable-library.2.10.1/Option.js\");\n\n\n\n\n\n\n\n\n\nconst Color = Object(_fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Compost_Color(tag, name, ...fields) {\n this.tag = tag | 0;\n this.name = name;\n this.fields = fields;\n}, _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"Union\"]);\nfunction Color$reflection() {\n return Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"union_type\"])(\"Compost.Color\", [], Color, () => [[\"RGB\", [[\"Item1\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"int32_type\"]], [\"Item2\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"int32_type\"]], [\"Item3\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"int32_type\"]]]], [\"HTML\", [[\"Item\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"string_type\"]]]]]);\n}\nconst Width = Object(_fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Compost_Width(tag, name, ...fields) {\n this.tag = tag | 0;\n this.name = name;\n this.fields = fields;\n}, _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"Union\"]);\nfunction Width$reflection() {\n return Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"union_type\"])(\"Compost.Width\", [], Width, () => [[\"Pixels\", [[\"Item\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"int32_type\"]]]]]);\n}\nconst FillStyle = Object(_fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Compost_FillStyle(tag, name, ...fields) {\n this.tag = tag | 0;\n this.name = name;\n this.fields = fields;\n}, _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"Union\"]);\nfunction FillStyle$reflection() {\n return Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"union_type\"])(\"Compost.FillStyle\", [], FillStyle, () => [[\"Solid\", [[\"Item\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"tuple_type\"])(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"], Color$reflection())]]], [\"LinearGradient\", [[\"Item\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"class_type\"])(\"System.Collections.Generic.IEnumerable`1\", [Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"tuple_type\"])(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"], Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"tuple_type\"])(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"], Color$reflection()))])]]]]);\n}\nconst Number$ = Object(_fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Compost_Number(tag, name, ...fields) {\n this.tag = tag | 0;\n this.name = name;\n this.fields = fields;\n}, _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"Union\"]);\nfunction Number$$reflection() {\n return Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"union_type\"])(\"Compost.Number\", [], Number$, () => [[\"Integer\", [[\"Item\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"int32_type\"]]]], [\"Percentage\", [[\"Item\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"]]]]]);\n}\nconst HorizontalAlign = Object(_fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Compost_HorizontalAlign(tag, name, ...fields) {\n this.tag = tag | 0;\n this.name = name;\n this.fields = fields;\n}, _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"Union\"]);\nfunction HorizontalAlign$reflection() {\n return Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"union_type\"])(\"Compost.HorizontalAlign\", [], HorizontalAlign, () => [\"Start\", \"Center\", \"End\"]);\n}\nconst VerticalAlign = Object(_fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Compost_VerticalAlign(tag, name, ...fields) {\n this.tag = tag | 0;\n this.name = name;\n this.fields = fields;\n}, _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"Union\"]);\nfunction VerticalAlign$reflection() {\n return Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"union_type\"])(\"Compost.VerticalAlign\", [], VerticalAlign, () => [\"Baseline\", \"Middle\", \"Hanging\"]);\n}\nconst continuous = Object(_fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Compost_continuous(tag, name, ...fields) {\n this.tag = tag | 0;\n this.name = name;\n this.fields = fields;\n}, _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"Union\"]);\nfunction continuous$reflection($gen$$36) {\n return Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"union_type\"])(\"Compost.continuous\", [$gen$$36], continuous, () => [[\"CO\", [[\"Item\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"]]]]]);\n}\nconst categorical = Object(_fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Compost_categorical(tag, name, ...fields) {\n this.tag = tag | 0;\n this.name = name;\n this.fields = fields;\n}, _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"Union\"]);\nfunction categorical$reflection($gen$$37) {\n return Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"union_type\"])(\"Compost.categorical\", [$gen$$37], categorical, () => [[\"CA\", [[\"Item\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"string_type\"]]]]]);\n}\nconst Value = Object(_fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Compost_Value(tag, name, ...fields) {\n this.tag = tag | 0;\n this.name = name;\n this.fields = fields;\n}, _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"Union\"]);\nfunction Value$reflection($gen$$38) {\n return Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"union_type\"])(\"Compost.Value\", [$gen$$38], Value, () => [[\"CAR\", [[\"Item1\", categorical$reflection($gen$$38)], [\"Item2\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"]]]], [\"COV\", [[\"Item\", continuous$reflection($gen$$38)]]]]);\n}\nconst Scale = Object(_fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Compost_Scale(tag, name, ...fields) {\n this.tag = tag | 0;\n this.name = name;\n this.fields = fields;\n}, _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"Union\"]);\nfunction Scale$reflection($gen$$39) {\n return Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"union_type\"])(\"Compost.Scale\", [$gen$$39], Scale, () => [[\"Continuous\", [[\"Item1\", continuous$reflection($gen$$39)], [\"Item2\", continuous$reflection($gen$$39)]]], [\"Categorical\", [[\"Item\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"array_type\"])(categorical$reflection($gen$$39))]]]]);\n}\nconst Style = Object(_fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Compost_Style(StrokeColor, StrokeWidth, StrokeDashArray, Fill, Animation, Font, Cursor, FormatAxisXLabel, FormatAxisYLabel) {\n this.StrokeColor = StrokeColor;\n this.StrokeWidth = StrokeWidth;\n this.StrokeDashArray = StrokeDashArray;\n this.Fill = Fill;\n this.Animation = Animation;\n this.Font = Font;\n this.Cursor = Cursor;\n this.FormatAxisXLabel = FormatAxisXLabel;\n this.FormatAxisYLabel = FormatAxisYLabel;\n}, _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"Record\"]);\nfunction Style$reflection() {\n return Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"record_type\"])(\"Compost.Style\", [], Style, () => [[\"StrokeColor\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"tuple_type\"])(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"], Color$reflection())], [\"StrokeWidth\", Width$reflection()], [\"StrokeDashArray\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"class_type\"])(\"System.Collections.Generic.IEnumerable`1\", [Number$$reflection()])], [\"Fill\", FillStyle$reflection()], [\"Animation\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"option_type\"])(Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"tuple_type\"])(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"int32_type\"], _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"string_type\"], Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"lambda_type\"])(Style$reflection(), Style$reflection())))], [\"Font\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"string_type\"]], [\"Cursor\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"string_type\"]], [\"FormatAxisXLabel\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"lambda_type\"])(Scale$reflection(Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"class_type\"])(\"Microsoft.FSharp.Core.CompilerServices.MeasureOne\")), Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"lambda_type\"])(Value$reflection(Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"class_type\"])(\"Microsoft.FSharp.Core.CompilerServices.MeasureOne\")), _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"string_type\"]))], [\"FormatAxisYLabel\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"lambda_type\"])(Scale$reflection(Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"class_type\"])(\"Microsoft.FSharp.Core.CompilerServices.MeasureOne\")), Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"lambda_type\"])(Value$reflection(Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"class_type\"])(\"Microsoft.FSharp.Core.CompilerServices.MeasureOne\")), _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"string_type\"]))]]);\n}\nconst EventHandler = Object(_fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Compost_EventHandler(tag, name, ...fields) {\n this.tag = tag | 0;\n this.name = name;\n this.fields = fields;\n}, _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"Union\"]);\nfunction EventHandler$reflection($gen$$40, $gen$$41) {\n return Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"union_type\"])(\"Compost.EventHandler\", [$gen$$40, $gen$$41], EventHandler, () => [[\"MouseMove\", [[\"Item\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"lambda_type\"])(Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"class_type\"])(\"Browser.Types.MouseEvent\"), Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"lambda_type\"])(Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"tuple_type\"])(Value$reflection($gen$$40), Value$reflection($gen$$41)), _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"unit_type\"]))]]], [\"MouseUp\", [[\"Item\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"lambda_type\"])(Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"class_type\"])(\"Browser.Types.MouseEvent\"), Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"lambda_type\"])(Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"tuple_type\"])(Value$reflection($gen$$40), Value$reflection($gen$$41)), _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"unit_type\"]))]]], [\"MouseDown\", [[\"Item\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"lambda_type\"])(Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"class_type\"])(\"Browser.Types.MouseEvent\"), Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"lambda_type\"])(Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"tuple_type\"])(Value$reflection($gen$$40), Value$reflection($gen$$41)), _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"unit_type\"]))]]], [\"Click\", [[\"Item\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"lambda_type\"])(Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"class_type\"])(\"Browser.Types.MouseEvent\"), Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"lambda_type\"])(Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"tuple_type\"])(Value$reflection($gen$$40), Value$reflection($gen$$41)), _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"unit_type\"]))]]], [\"TouchStart\", [[\"Item\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"lambda_type\"])(Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"class_type\"])(\"Browser.Types.TouchEvent\"), Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"lambda_type\"])(Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"tuple_type\"])(Value$reflection($gen$$40), Value$reflection($gen$$41)), _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"unit_type\"]))]]], [\"TouchMove\", [[\"Item\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"lambda_type\"])(Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"class_type\"])(\"Browser.Types.TouchEvent\"), Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"lambda_type\"])(Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"tuple_type\"])(Value$reflection($gen$$40), Value$reflection($gen$$41)), _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"unit_type\"]))]]], [\"TouchEnd\", [[\"Item\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"lambda_type\"])(Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"class_type\"])(\"Browser.Types.TouchEvent\"), _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"unit_type\"])]]], [\"MouseLeave\", [[\"Item\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"lambda_type\"])(Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"class_type\"])(\"Browser.Types.MouseEvent\"), _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"unit_type\"])]]]]);\n}\nconst Orientation = Object(_fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Compost_Orientation(tag, name, ...fields) {\n this.tag = tag | 0;\n this.name = name;\n this.fields = fields;\n}, _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"Union\"]);\nfunction Orientation$reflection() {\n return Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"union_type\"])(\"Compost.Orientation\", [], Orientation, () => [\"Vertical\", \"Horizontal\"]);\n}\nconst Shape = Object(_fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Compost_Shape(tag, name, ...fields) {\n this.tag = tag | 0;\n this.name = name;\n this.fields = fields;\n}, _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"Union\"]);\nfunction Shape$reflection($gen$$42, $gen$$43) {\n return Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"union_type\"])(\"Compost.Shape\", [$gen$$42, $gen$$43], Shape, () => [[\"Style\", [[\"Item1\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"lambda_type\"])(Style$reflection(), Style$reflection())], [\"Item2\", Shape$reflection($gen$$42, $gen$$43)]]], [\"Text\", [[\"Item1\", Value$reflection($gen$$42)], [\"Item2\", Value$reflection($gen$$43)], [\"Item3\", VerticalAlign$reflection()], [\"Item4\", HorizontalAlign$reflection()], [\"Item5\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"]], [\"Item6\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"string_type\"]]]], [\"AutoScale\", [[\"Item1\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"bool_type\"]], [\"Item2\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"bool_type\"]], [\"Item3\", Shape$reflection($gen$$42, $gen$$43)]]], [\"InnerScale\", [[\"Item1\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"option_type\"])(Scale$reflection($gen$$42))], [\"Item2\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"option_type\"])(Scale$reflection($gen$$43))], [\"Item3\", Shape$reflection($gen$$42, $gen$$43)]]], [\"NestX\", [[\"Item1\", Value$reflection($gen$$42)], [\"Item2\", Value$reflection($gen$$42)], [\"Item3\", Shape$reflection($gen$$42, $gen$$43)]]], [\"NestY\", [[\"Item1\", Value$reflection($gen$$43)], [\"Item2\", Value$reflection($gen$$43)], [\"Item3\", Shape$reflection($gen$$42, $gen$$43)]]], [\"Line\", [[\"Item\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"class_type\"])(\"System.Collections.Generic.IEnumerable`1\", [Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"tuple_type\"])(Value$reflection($gen$$42), Value$reflection($gen$$43))])]]], [\"Bubble\", [[\"Item1\", Value$reflection($gen$$42)], [\"Item2\", Value$reflection($gen$$43)], [\"Item3\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"]], [\"Item4\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"]]]], [\"Shape\", [[\"Item\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"class_type\"])(\"System.Collections.Generic.IEnumerable`1\", [Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"tuple_type\"])(Value$reflection($gen$$42), Value$reflection($gen$$43))])]]], [\"Layered\", [[\"Item\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"class_type\"])(\"System.Collections.Generic.IEnumerable`1\", [Shape$reflection($gen$$42, $gen$$43)])]]], [\"Axes\", [[\"Item1\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"bool_type\"]], [\"Item2\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"bool_type\"]], [\"Item3\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"bool_type\"]], [\"Item4\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"bool_type\"]], [\"Item5\", Shape$reflection($gen$$42, $gen$$43)]]], [\"Interactive\", [[\"Item1\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"class_type\"])(\"System.Collections.Generic.IEnumerable`1\", [EventHandler$reflection($gen$$42, $gen$$43)])], [\"Item2\", Shape$reflection($gen$$42, $gen$$43)]]], [\"Padding\", [[\"Item1\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"tuple_type\"])(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"], _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"], _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"], _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"])], [\"Item2\", Shape$reflection($gen$$42, $gen$$43)]]], [\"Offset\", [[\"Item1\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"tuple_type\"])(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"], _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"])], [\"Item2\", Shape$reflection($gen$$42, $gen$$43)]]]]);\n}\nconst Svg$002EStringBuilder = Object(_fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Compost_Svg_StringBuilder() {\n const $this$$1 = this;\n $this$$1.strs = new _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"]();\n void null;\n});\nfunction Svg$002EStringBuilder$reflection() {\n return Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"class_type\"])(\"Compost.Svg.StringBuilder\", undefined, Svg$002EStringBuilder);\n}\nfunction Svg$002EStringBuilder$$$$002Ector() {\n return this instanceof Svg$002EStringBuilder ? Svg$002EStringBuilder.call(this) : new Svg$002EStringBuilder();\n}\nfunction Svg$002EStringBuilder$$Append$$Z721C83C5(x, s) {\n x.strs = new _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](s, x.strs);\n}\n\nSvg$002EStringBuilder.prototype.toString = function () {\n const x$$1 = this;\n return Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__[\"join\"])(\"\", Object(_fable_fable_library_2_10_1_List_js__WEBPACK_IMPORTED_MODULE_2__[\"reverse\"])(x$$1.strs));\n};\n\nconst Svg$002EPathSegment = Object(_fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Compost_Svg_PathSegment(tag, name, ...fields) {\n this.tag = tag | 0;\n this.name = name;\n this.fields = fields;\n}, _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"Union\"]);\nfunction Svg$002EPathSegment$reflection() {\n return Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"union_type\"])(\"Compost.Svg.PathSegment\", [], Svg$002EPathSegment, () => [[\"MoveTo\", [[\"Item\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"tuple_type\"])(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"], _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"])]]], [\"LineTo\", [[\"Item\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"tuple_type\"])(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"], _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"])]]]]);\n}\nconst Svg$002ESvg = Object(_fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Compost_Svg_Svg(tag, name, ...fields) {\n this.tag = tag | 0;\n this.name = name;\n this.fields = fields;\n}, _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"Union\"]);\nfunction Svg$002ESvg$reflection() {\n return Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"union_type\"])(\"Compost.Svg.Svg\", [], Svg$002ESvg, () => [[\"Path\", [[\"Item1\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"array_type\"])(Svg$002EPathSegment$reflection())], [\"Item2\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"string_type\"]]]], [\"Ellipse\", [[\"Item1\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"tuple_type\"])(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"], _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"])], [\"Item2\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"tuple_type\"])(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"], _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"])], [\"Item3\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"string_type\"]]]], [\"Rect\", [[\"Item1\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"tuple_type\"])(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"], _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"])], [\"Item2\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"tuple_type\"])(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"], _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"])], [\"Item3\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"string_type\"]]]], [\"Text\", [[\"Item1\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"tuple_type\"])(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"], _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"])], [\"Item2\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"string_type\"]], [\"Item3\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"]], [\"Item4\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"string_type\"]]]], [\"Combine\", [[\"Item\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"array_type\"])(Svg$002ESvg$reflection())]]], \"Empty\"]);\n}\nfunction Svg$$$mapSvg(f, _arg1) {\n if (_arg1.tag === 4) {\n const svgs = _arg1.fields[0];\n return new Svg$002ESvg(4, \"Combine\", Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"map\"])(function (_arg1$$1) {\n return Svg$$$mapSvg(f, _arg1$$1);\n }, svgs, Array));\n } else {\n const svg = _arg1;\n return f(svg);\n }\n}\nfunction Svg$$$formatPath(path) {\n const sb = Svg$002EStringBuilder$$$$002Ector();\n Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"iterate\"])(function (ps) {\n if (ps.tag === 1) {\n const y$$1 = ps.fields[0][1];\n const x$$3 = ps.fields[0][0];\n Svg$002EStringBuilder$$Append$$Z721C83C5(sb, \"L\" + x$$3.toString() + \" \" + y$$1.toString() + \" \");\n } else {\n const y = ps.fields[0][1];\n const x$$2 = ps.fields[0][0];\n Svg$002EStringBuilder$$Append$$Z721C83C5(sb, \"M\" + x$$2.toString() + \" \" + y.toString() + \" \");\n }\n }, path);\n return String(sb);\n}\nconst Svg$002ERenderingContext = Object(_fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Compost_Svg_RenderingContext(Definitions) {\n this.Definitions = Definitions;\n}, _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"Record\"]);\nfunction Svg$002ERenderingContext$reflection() {\n return Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"record_type\"])(\"Compost.Svg.RenderingContext\", [], Svg$002ERenderingContext, () => [[\"Definitions\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"array_type\"])(Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"DomNode$reflection\"])())]]);\n}\nfunction Svg$$$renderSvg(ctx, svg$$1) {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n switch (svg$$1.tag) {\n case 3:\n {\n const y$$2 = svg$$1.fields[0][1];\n const x$$4 = svg$$1.fields[0][0];\n const t = svg$$1.fields[1];\n const style = svg$$1.fields[3];\n const rotation = svg$$1.fields[2];\n const attrs = Object(_fable_fable_library_2_10_1_List_js__WEBPACK_IMPORTED_MODULE_2__[\"ofSeq\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])(Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsGreater\"])(\"style\", style)), Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return rotation === 0 ? Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])(Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsGreater\"])(\"x\", x$$4.toString())), Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])(Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsGreater\"])(\"y\", y$$2.toString()));\n })) : Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])(Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsGreater\"])(\"x\", \"0\")), Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])(Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsGreater\"])(\"y\", \"0\")), Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n var arg10, arg20, arg30, clo1, clo2, clo3;\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])(Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsGreater\"])(\"transform\", (arg10 = x$$4, arg20 = y$$2, arg30 = rotation, (clo1 = Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__[\"toText\"])(Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__[\"printf\"])(\"translate(%f,%f) rotate(%f)\")), clo2 = clo1(arg10), clo3 = clo2(arg20), clo3(arg30)))));\n }));\n }));\n }));\n }));\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])(function (arg0) {\n return function (arg1) {\n return Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"El$$$op_Dynamic$$Z451691CD\"])(arg0, arg1);\n };\n }(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"s\"])(\"text\")(attrs)(new _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"text\"])(t), new _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"]())));\n }\n\n case 4:\n {\n const ss = svg$$1.fields[0];\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"collect\"])(function (s$$1) {\n return Svg$$$renderSvg(ctx, s$$1);\n }, ss);\n }\n\n case 1:\n {\n const style$$1 = svg$$1.fields[2];\n const ry = svg$$1.fields[1][1];\n const rx = svg$$1.fields[1][0];\n const cy = svg$$1.fields[0][1];\n const cx = svg$$1.fields[0][0];\n const attrs$$1 = Object(_fable_fable_library_2_10_1_List_js__WEBPACK_IMPORTED_MODULE_2__[\"ofArray\"])([Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsGreater\"])(\"cx\", cx.toString()), Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsGreater\"])(\"cy\", cy.toString()), Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsGreater\"])(\"rx\", rx.toString()), Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsGreater\"])(\"ry\", ry.toString()), Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsGreater\"])(\"style\", style$$1)]);\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])(function (arg0$$1) {\n return function (arg1$$1) {\n return Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"El$$$op_Dynamic$$Z451691CD\"])(arg0$$1, arg1$$1);\n };\n }(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"s\"])(\"ellipse\")(attrs$$1)(new _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"]()));\n }\n\n case 2:\n {\n const y2 = svg$$1.fields[1][1];\n const y1 = svg$$1.fields[0][1];\n const x2 = svg$$1.fields[1][0];\n const x1 = svg$$1.fields[0][0];\n const style$$2 = svg$$1.fields[2];\n const patternInput = [Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"min\"])(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"comparePrimitives\"], x1, x2), Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"min\"])(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"comparePrimitives\"], y1, y2)];\n const t$$1 = patternInput[1];\n const l = patternInput[0];\n const patternInput$$1 = [Math.abs(x1 - x2), Math.abs(y1 - y2)];\n const w = patternInput$$1[0];\n const h = patternInput$$1[1];\n const attrs$$2 = Object(_fable_fable_library_2_10_1_List_js__WEBPACK_IMPORTED_MODULE_2__[\"ofArray\"])([Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsGreater\"])(\"x\", l.toString()), Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsGreater\"])(\"y\", t$$1.toString()), Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsGreater\"])(\"width\", w.toString()), Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsGreater\"])(\"height\", h.toString()), Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsGreater\"])(\"style\", style$$2)]);\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])(function (arg0$$2) {\n return function (arg1$$2) {\n return Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"El$$$op_Dynamic$$Z451691CD\"])(arg0$$2, arg1$$2);\n };\n }(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"s\"])(\"rect\")(attrs$$2)(new _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"]()));\n }\n\n case 0:\n {\n const style$$3 = svg$$1.fields[1];\n const p = svg$$1.fields[0];\n const attrs$$3 = Object(_fable_fable_library_2_10_1_List_js__WEBPACK_IMPORTED_MODULE_2__[\"ofArray\"])([Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsGreater\"])(\"d\", Svg$$$formatPath(p)), Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsGreater\"])(\"style\", style$$3)]);\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])(function (arg0$$3) {\n return function (arg1$$3) {\n return Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"El$$$op_Dynamic$$Z451691CD\"])(arg0$$3, arg1$$3);\n };\n }(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"s\"])(\"path\")(attrs$$3)(new _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"]()));\n }\n\n default:\n {\n void null;\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"empty\"])();\n }\n }\n });\n}\nfunction Svg$$$formatColor(_arg1$$2) {\n if (_arg1$$2.tag === 1) {\n const clr = _arg1$$2.fields[0];\n return clr;\n } else {\n const r = _arg1$$2.fields[0] | 0;\n const g = _arg1$$2.fields[1] | 0;\n const b = _arg1$$2.fields[2] | 0;\n const arg10$$1 = r | 0;\n const arg20$$1 = g | 0;\n const arg30$$1 = b | 0;\n const clo1$$1 = Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__[\"toText\"])(Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__[\"printf\"])(\"rgb(%d, %d, %d)\"));\n const clo2$$1 = clo1$$1(arg10$$1);\n const clo3$$1 = clo2$$1(arg20$$1);\n return clo3$$1(arg30$$1);\n }\n}\nfunction Svg$$$formatNumber(_arg1$$3) {\n if (_arg1$$3.tag === 1) {\n const p$$1 = _arg1$$3.fields[0];\n return p$$1.toString() + \"%\";\n } else {\n const n = _arg1$$3.fields[0] | 0;\n return Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"int32ToString\"])(n);\n }\n}\nfunction Svg$$$formatStyle(defs, style$$4) {\n var copyOfStruct, Animation, inputRecord, Animation$$1, arg10$$2, arg20$$2, arg30$$2, clo1$$2, clo2$$2, clo3$$2, arg10$$3, arg20$$3, arg30$$3, clo1$$3, clo2$$3, clo3$$3, so, clr$$1, sw, arg10$$4, arg20$$4, arg30$$4, clo1$$4, clo2$$4, clo3$$4, fo, clr$$3, arg10$$6, arg20$$5, clo1$$6, clo2$$5, points, id$$1, copyOfStruct$$1, arg00$$1, arg0$$5, arg1$$5, arg10$$5, clo1$$5;\n let patternInput$$2;\n\n if (style$$4.Animation == null) {\n patternInput$$2 = [style$$4, \"\"];\n } else {\n const ms = style$$4.Animation[0] | 0;\n const ease = style$$4.Animation[1];\n const anim = style$$4.Animation[2];\n const id = \"anim_\" + Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__[\"replace\"])((copyOfStruct = Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__[\"newGuid\"])(), copyOfStruct), \"-\", \"\");\n const fromstyle = Svg$$$formatStyle(defs, (Animation = undefined, new Style(style$$4.StrokeColor, style$$4.StrokeWidth, style$$4.StrokeDashArray, style$$4.Fill, Animation, style$$4.Font, style$$4.Cursor, style$$4.FormatAxisXLabel, style$$4.FormatAxisYLabel)));\n const tostyle = Svg$$$formatStyle(defs, (inputRecord = anim(style$$4), (Animation$$1 = undefined, new Style(inputRecord.StrokeColor, inputRecord.StrokeWidth, inputRecord.StrokeDashArray, inputRecord.Fill, Animation$$1, inputRecord.Font, inputRecord.Cursor, inputRecord.FormatAxisXLabel, inputRecord.FormatAxisYLabel))));\n\n const arg00 = function (arg0$$4) {\n return function (arg1$$4) {\n return Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"El$$$op_Dynamic$$Z451691CD\"])(arg0$$4, arg1$$4);\n };\n }(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"h\"])(\"style\")(new _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"]())(new _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"text\"])((arg10$$2 = id, arg20$$2 = fromstyle, arg30$$2 = tostyle, (clo1$$2 = Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__[\"toText\"])(Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__[\"printf\"])(\"@keyframes %s { from { %s } to { %s } }\")), clo2$$2 = clo1$$2(arg10$$2), clo3$$2 = clo2$$2(arg20$$2), clo3$$2(arg30$$2)))), new _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"]()));\n\n void defs.push(arg00);\n patternInput$$2 = [anim(style$$4), (arg10$$3 = id, arg20$$3 = ms | 0, arg30$$3 = ease, (clo1$$3 = Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__[\"toText\"])(Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__[\"printf\"])(\"animation: %s %dms %s; \")), clo2$$3 = clo1$$3(arg10$$3), clo3$$3 = clo2$$3(arg20$$3), clo3$$3(arg30$$3)))];\n }\n\n const style$$5 = patternInput$$2[0];\n const anim$$1 = patternInput$$2[1];\n return anim$$1 + Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__[\"join\"])(\"\", Object(_fable_fable_library_2_10_1_List_js__WEBPACK_IMPORTED_MODULE_2__[\"ofSeq\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"map\"])(function (c) {\n return \"cursor:\" + c + \";\";\n }, style$$5.Cursor.split(\",\"));\n }))) + (\"font:\" + style$$5.Font + \";\") + (so = style$$5.StrokeColor[0], (clr$$1 = style$$5.StrokeColor[1], (sw = style$$5.StrokeWidth.fields[0] | 0, (arg10$$4 = so, arg20$$4 = sw | 0, arg30$$4 = Svg$$$formatColor(clr$$1), (clo1$$4 = Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__[\"toText\"])(Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__[\"printf\"])(\"stroke-opacity:%f; stroke-width:%dpx; stroke:%s; \")), clo2$$4 = clo1$$4(arg10$$4), clo3$$4 = clo2$$4(arg20$$4), clo3$$4(arg30$$4)))))) + (Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"isEmpty\"])(style$$5.StrokeDashArray) ? \"\" : \"stroke-dasharray:\" + Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__[\"join\"])(\",\", Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"map\"])(Svg$$$formatNumber, style$$5.StrokeDashArray)) + \";\") + (style$$5.Fill.tag === 0 ? (fo = style$$5.Fill.fields[0][0], (clr$$3 = style$$5.Fill.fields[0][1], (arg10$$6 = fo, arg20$$5 = Svg$$$formatColor(clr$$3), (clo1$$6 = Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__[\"toText\"])(Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__[\"printf\"])(\"fill-opacity:%f; fill:%s; \")), clo2$$5 = clo1$$6(arg10$$6), clo2$$5(arg20$$5))))) : (points = style$$5.Fill.fields[0], (id$$1 = \"gradient_\" + Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__[\"replace\"])((copyOfStruct$$1 = Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__[\"newGuid\"])(), copyOfStruct$$1), \"-\", \"\"), ((arg00$$1 = (arg0$$5 = _html_fs__WEBPACK_IMPORTED_MODULE_6__[\"s\"], arg1$$5 = \"linearGradient\", (Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"El$$$op_Dynamic$$Z451691CD\"])(arg0$$5, arg1$$5)))(new _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsGreater\"])(\"id\", id$$1), new _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"]()))(Object(_fable_fable_library_2_10_1_List_js__WEBPACK_IMPORTED_MODULE_2__[\"ofSeq\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"collect\"])(function (matchValue$$2) {\n var arg0$$6, arg1$$6;\n const pt = matchValue$$2[0];\n const o = matchValue$$2[1][0];\n const clr$$2 = matchValue$$2[1][1];\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])((arg0$$6 = _html_fs__WEBPACK_IMPORTED_MODULE_6__[\"s\"], arg1$$6 = \"stop\", (Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"El$$$op_Dynamic$$Z451691CD\"])(arg0$$6, arg1$$6)))(Object(_fable_fable_library_2_10_1_List_js__WEBPACK_IMPORTED_MODULE_2__[\"ofArray\"])([Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsGreater\"])(\"offset\", pt.toString() + \"%\"), Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsGreater\"])(\"stop-color\", Svg$$$formatColor(clr$$2)), Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsGreater\"])(\"stop-opacity\", o.toString())]))(new _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"]()));\n }, points);\n }))), (void defs.push(arg00$$1))), (arg10$$5 = id$$1, (clo1$$5 = Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__[\"toText\"])(Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__[\"printf\"])(\"fill:url(#%s)\")), clo1$$5(arg10$$5)))))));\n}\nconst Scales$002EScaledShape = Object(_fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Compost_Scales_ScaledShape(tag, name, ...fields) {\n this.tag = tag | 0;\n this.name = name;\n this.fields = fields;\n}, _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"Union\"]);\nfunction Scales$002EScaledShape$reflection($gen$$55, $gen$$56) {\n return Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"union_type\"])(\"Compost.Scales.ScaledShape\", [$gen$$55, $gen$$56], Scales$002EScaledShape, () => [[\"ScaledStyle\", [[\"Item1\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"lambda_type\"])(Style$reflection(), Style$reflection())], [\"Item2\", Scales$002EScaledShape$reflection($gen$$55, $gen$$56)]]], [\"ScaledText\", [[\"Item1\", Value$reflection($gen$$55)], [\"Item2\", Value$reflection($gen$$56)], [\"Item3\", VerticalAlign$reflection()], [\"Item4\", HorizontalAlign$reflection()], [\"Item5\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"]], [\"Item6\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"string_type\"]]]], [\"ScaledLine\", [[\"Item\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"array_type\"])(Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"tuple_type\"])(Value$reflection($gen$$55), Value$reflection($gen$$56)))]]], [\"ScaledBubble\", [[\"Item1\", Value$reflection($gen$$55)], [\"Item2\", Value$reflection($gen$$56)], [\"Item3\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"]], [\"Item4\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"]]]], [\"ScaledShape\", [[\"Item\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"array_type\"])(Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"tuple_type\"])(Value$reflection($gen$$55), Value$reflection($gen$$56)))]]], [\"ScaledLayered\", [[\"Item\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"array_type\"])(Scales$002EScaledShape$reflection($gen$$55, $gen$$56))]]], [\"ScaledInteractive\", [[\"Item1\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"class_type\"])(\"System.Collections.Generic.IEnumerable`1\", [EventHandler$reflection($gen$$55, $gen$$56)])], [\"Item2\", Scale$reflection($gen$$55)], [\"Item3\", Scale$reflection($gen$$56)], [\"Item4\", Scales$002EScaledShape$reflection($gen$$55, $gen$$56)]]], [\"ScaledPadding\", [[\"Item1\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"tuple_type\"])(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"], _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"], _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"], _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"])], [\"Item2\", Scale$reflection($gen$$55)], [\"Item3\", Scale$reflection($gen$$56)], [\"Item4\", Scales$002EScaledShape$reflection($gen$$55, $gen$$56)]]], [\"ScaledOffset\", [[\"Item1\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"tuple_type\"])(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"], _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"float64_type\"])], [\"Item2\", Scales$002EScaledShape$reflection($gen$$55, $gen$$56)]]], [\"ScaledNestX\", [[\"Item1\", Value$reflection($gen$$55)], [\"Item2\", Value$reflection($gen$$55)], [\"Item3\", Scale$reflection($gen$$55)], [\"Item4\", Scales$002EScaledShape$reflection($gen$$55, $gen$$56)]]], [\"ScaledNestY\", [[\"Item1\", Value$reflection($gen$$56)], [\"Item2\", Value$reflection($gen$$56)], [\"Item3\", Scale$reflection($gen$$56)], [\"Item4\", Scales$002EScaledShape$reflection($gen$$55, $gen$$56)]]]]);\n}\nfunction Scales$$$getExtremes(_arg1$$5) {\n if (_arg1$$5.tag === 1) {\n const vals = _arg1$$5.fields[0];\n return [new Value(0, \"CAR\", vals[0], 0), new Value(0, \"CAR\", vals[vals.length - 1], 1)];\n } else {\n const l$$1 = _arg1$$5.fields[0];\n const h$$1 = _arg1$$5.fields[1];\n return [new Value(1, \"COV\", l$$1), new Value(1, \"COV\", h$$1)];\n }\n}\nfunction Scales$$$calculateMagnitudeAndRange(lo, hi) {\n const magnitude = Math.pow(10, Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"round\"])(Math.log10(hi - lo)));\n const magnitude$$1 = magnitude / 2;\n return [magnitude$$1, [Math.floor(lo / magnitude$$1) * magnitude$$1, Math.ceil(hi / magnitude$$1) * magnitude$$1]];\n}\nfunction Scales$$$decimalPoints(range_0, range_1) {\n const range = [range_0, range_1];\n const patternInput$$5 = Scales$$$calculateMagnitudeAndRange(range[0], range[1]);\n const magnitude$$2 = patternInput$$5[0];\n return Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"max\"])(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"comparePrimitives\"], 0, Math.ceil(-Math.log10(magnitude$$2)));\n}\nfunction Scales$$$adjustRange(range_0$$1, range_1$$1) {\n const range$$1 = [range_0$$1, range_1$$1];\n return Scales$$$calculateMagnitudeAndRange(range$$1[0], range$$1[1])[1];\n}\nfunction Scales$$$adjustRangeUnits(l$$2, h$$2) {\n const patternInput$$6 = Scales$$$adjustRange(l$$2, h$$2);\n const l$$3 = patternInput$$6[0];\n const h$$3 = patternInput$$6[1];\n return [l$$3, h$$3];\n}\nfunction Scales$$$toArray(s$$2) {\n return Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"ofSeq\"])(s$$2, Array);\n}\nfunction Scales$$$generateSteps(count, k, lo$$3, hi$$3) {\n const patternInput$$7 = Scales$$$calculateMagnitudeAndRange(lo$$3, hi$$3);\n const nlo = patternInput$$7[1][0];\n const nhi = patternInput$$7[1][1];\n const magnitude$$3 = patternInput$$7[0];\n const dividers = Object(_fable_fable_library_2_10_1_List_js__WEBPACK_IMPORTED_MODULE_2__[\"ofArray\"])([0.2, 0.5, 1, 2, 5, 10, 20, 40, 50, 60, 80, 100]);\n let magnitudes;\n const source = dividers;\n magnitudes = Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"map\"])(function mapping(d) {\n return magnitude$$3 / d;\n }, source);\n let step;\n let source$$2;\n const source$$1 = magnitudes;\n source$$2 = Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"filter\"])(function predicate(m) {\n return (hi$$3 - lo$$3) / m >= count;\n }, source$$1);\n step = Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"tryHead\"])(source$$2);\n const step$$1 = Object(_fable_fable_library_2_10_1_Option_js__WEBPACK_IMPORTED_MODULE_8__[\"defaultArg\"])(step, magnitude$$3 / 100);\n const s$$3 = Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"collect\"])(function (v) {\n return (v >= lo$$3 ? v <= hi$$3 : false) ? Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])(v) : Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"empty\"])();\n }, Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"rangeNumber\"])(nlo, step$$1 * k, nhi));\n });\n return Scales$$$toArray(s$$3);\n}\nfunction Scales$$$generateAxisSteps(s$$4) {\n if (s$$4.tag === 1) {\n const vs = s$$4.fields[0];\n return Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"ofSeq\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"collect\"])(function (matchValue$$3) {\n const s$$5 = matchValue$$3.fields[0];\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])(new Value(0, \"CAR\", new categorical(0, \"CA\", s$$5), 0.5));\n }, vs);\n }), Array);\n } else {\n const l$$4 = s$$4.fields[0].fields[0];\n const h$$4 = s$$4.fields[1].fields[0];\n const array = Scales$$$generateSteps(6, 1, l$$4, h$$4);\n return Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"map\"])(function mapping$$1(f$$1) {\n return new Value(1, \"COV\", new continuous(0, \"CO\", f$$1));\n }, array, Array);\n }\n}\nfunction Scales$$$generateAxisLabels(fmt, s$$6) {\n const sunit = s$$6;\n\n if (s$$6.tag === 1) {\n const vs$$1 = s$$6.fields[0];\n return Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"ofSeq\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"collect\"])(function (matchValue$$4) {\n const v$$1 = matchValue$$4;\n const s$$7 = matchValue$$4.fields[0];\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])([new Value(0, \"CAR\", new categorical(0, \"CA\", s$$7), 0.5), fmt(sunit, new Value(0, \"CAR\", new categorical(0, \"CA\", s$$7), 0.5))]);\n }, vs$$1);\n }), Array);\n } else {\n const l$$5 = s$$6.fields[0].fields[0];\n const h$$5 = s$$6.fields[1].fields[0];\n const array$$1 = Scales$$$generateSteps(6, 2, l$$5, h$$5);\n return Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"map\"])(function mapping$$2(f$$2) {\n return [new Value(1, \"COV\", new continuous(0, \"CO\", f$$2)), fmt(sunit, new Value(1, \"COV\", new continuous(0, \"CO\", f$$2)))];\n }, array$$1, Array);\n }\n}\nfunction Scales$$$unionScales(s1, s2) {\n var $target$$80, h1, h2, l1, l2, v1, v2;\n\n if (s1.tag === 1) {\n if (s2.tag === 1) {\n $target$$80 = 1;\n v1 = s1.fields[0];\n v2 = s2.fields[0];\n } else {\n $target$$80 = 2;\n }\n } else if (s2.tag === 0) {\n $target$$80 = 0;\n h1 = s1.fields[1];\n h2 = s2.fields[1];\n l1 = s1.fields[0];\n l2 = s2.fields[0];\n } else {\n $target$$80 = 2;\n }\n\n switch ($target$$80) {\n case 0:\n {\n return new Scale(0, \"Continuous\", Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"min\"])(function ($x$$8, $y$$9) {\n return $x$$8.CompareTo($y$$9);\n }, l1, l2), Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"max\"])(function ($x$$10, $y$$11) {\n return $x$$10.CompareTo($y$$11);\n }, h1, h2));\n }\n\n case 1:\n {\n return new Scale(1, \"Categorical\", Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"distinct\"])(Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"append\"])(v1, v2, Array), {\n Equals: _fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"equals\"],\n GetHashCode: _fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"structuralHash\"]\n }));\n }\n\n case 2:\n {\n throw new Error(\"Cannot union continuous with categorical\");\n }\n }\n}\nfunction Scales$$$calculateShapeScale(vals$$1) {\n let scales;\n const array$$2 = vals$$1;\n const state$$1 = new _fable_fable_library_2_10_1_Option_js__WEBPACK_IMPORTED_MODULE_8__[\"Choice\"](0, \"Choice1Of3\", void null);\n scales = Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"fold\"])(function folder(state, value) {\n var $target$$84, v$$2, v$$3, vs$$2, x$$5, x$$6, xs;\n\n if (state.tag === 1) {\n if (value.tag === 1) {\n $target$$84 = 1;\n v$$3 = value.fields[0].fields[0];\n vs$$2 = state.fields[0];\n } else {\n $target$$84 = 4;\n }\n } else if (state.tag === 2) {\n if (value.tag === 0) {\n $target$$84 = 3;\n x$$6 = value.fields[0].fields[0];\n xs = state.fields[0];\n } else {\n $target$$84 = 4;\n }\n } else if (value.tag === 0) {\n $target$$84 = 2;\n x$$5 = value.fields[0].fields[0];\n } else {\n $target$$84 = 0;\n v$$2 = value.fields[0].fields[0];\n }\n\n switch ($target$$84) {\n case 0:\n {\n return new _fable_fable_library_2_10_1_Option_js__WEBPACK_IMPORTED_MODULE_8__[\"Choice\"](1, \"Choice2Of3\", new _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](v$$2, new _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"]()));\n }\n\n case 1:\n {\n return new _fable_fable_library_2_10_1_Option_js__WEBPACK_IMPORTED_MODULE_8__[\"Choice\"](1, \"Choice2Of3\", new _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](v$$3, vs$$2));\n }\n\n case 2:\n {\n return new _fable_fable_library_2_10_1_Option_js__WEBPACK_IMPORTED_MODULE_8__[\"Choice\"](2, \"Choice3Of3\", new _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](x$$5, new _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"]()));\n }\n\n case 3:\n {\n return new _fable_fable_library_2_10_1_Option_js__WEBPACK_IMPORTED_MODULE_8__[\"Choice\"](2, \"Choice3Of3\", new _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"](x$$6, xs));\n }\n\n case 4:\n {\n throw new Error(\"Values with mismatching scales\");\n }\n }\n }, state$$1, array$$2);\n\n switch (scales.tag) {\n case 1:\n {\n const vs$$3 = scales.fields[0];\n return new Scale(0, \"Continuous\", new continuous(0, \"CO\", Object(_fable_fable_library_2_10_1_List_js__WEBPACK_IMPORTED_MODULE_2__[\"min\"])(vs$$3, {\n Compare: _fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"comparePrimitives\"]\n })), new continuous(0, \"CO\", Object(_fable_fable_library_2_10_1_List_js__WEBPACK_IMPORTED_MODULE_2__[\"max\"])(vs$$3, {\n Compare: _fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"comparePrimitives\"]\n })));\n }\n\n case 2:\n {\n const xs$$1 = scales.fields[0];\n return new Scale(1, \"Categorical\", Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"distinct\"])(Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"ofSeq\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"map\"])(function (x$$7) {\n return new categorical(0, \"CA\", x$$7);\n }, Object(_fable_fable_library_2_10_1_List_js__WEBPACK_IMPORTED_MODULE_2__[\"reverse\"])(xs$$1));\n }), Array), {\n Equals: _fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"equals\"],\n GetHashCode: _fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"structuralHash\"]\n }));\n }\n\n default:\n {\n throw new Error(\"No values for calculating a scale\");\n }\n }\n}\nfunction Scales$$$calculateShapeScales(points$$1) {\n let xs$$2;\n const array$$3 = points$$1;\n xs$$2 = Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"map\"])(function mapping$$3(tuple) {\n return tuple[0];\n }, array$$3, Array);\n let ys;\n const array$$4 = points$$1;\n ys = Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"map\"])(function mapping$$4(tuple$$1) {\n return tuple$$1[1];\n }, array$$4, Array);\n return [Scales$$$calculateShapeScale(xs$$2), Scales$$$calculateShapeScale(ys)];\n}\nfunction Scales$$$calculateScales(style$$6, shape) {\n const calculateScalesStyle = Scales$$$calculateScales;\n\n const calculateScales = function calculateScales(shape$$2) {\n return Scales$$$calculateScales(style$$6, shape$$2);\n };\n\n switch (shape.tag) {\n case 4:\n {\n const shape$$5 = shape.fields[2];\n const nx2 = shape.fields[1];\n const nx1 = shape.fields[0];\n const patternInput$$9 = calculateScales(shape$$5);\n const shape$$6 = patternInput$$9[1];\n const isy = patternInput$$9[0][1];\n const isx = patternInput$$9[0][0];\n return [[Scales$$$calculateShapeScale([nx1, nx2]), isy], new Scales$002EScaledShape(9, \"ScaledNestX\", nx1, nx2, isx, shape$$6)];\n }\n\n case 5:\n {\n const shape$$7 = shape.fields[2];\n const ny2 = shape.fields[1];\n const ny1 = shape.fields[0];\n const patternInput$$10 = calculateScales(shape$$7);\n const shape$$8 = patternInput$$10[1];\n const isy$$1 = patternInput$$10[0][1];\n const isx$$1 = patternInput$$10[0][0];\n return [[isx$$1, Scales$$$calculateShapeScale([ny1, ny2])], new Scales$002EScaledShape(10, \"ScaledNestY\", ny1, ny2, isy$$1, shape$$8)];\n }\n\n case 3:\n {\n const sy = shape.fields[1];\n const sx = shape.fields[0];\n const shape$$9 = shape.fields[2];\n const patternInput$$11 = calculateScales(shape$$9);\n const shape$$10 = patternInput$$11[1];\n const isy$$2 = patternInput$$11[0][1];\n const isx$$2 = patternInput$$11[0][0];\n let sx$$2;\n\n if (sx != null) {\n const sx$$1 = sx;\n sx$$2 = sx$$1;\n } else {\n sx$$2 = isx$$2;\n }\n\n let sy$$2;\n\n if (sy != null) {\n const sy$$1 = sy;\n sy$$2 = sy$$1;\n } else {\n sy$$2 = isy$$2;\n }\n\n return [[sx$$2, sy$$2], shape$$10];\n }\n\n case 2:\n {\n const shape$$11 = shape.fields[2];\n const ay = shape.fields[1];\n const ax = shape.fields[0];\n const patternInput$$12 = calculateScales(shape$$11);\n const shape$$12 = patternInput$$12[1];\n const isy$$3 = patternInput$$12[0][1];\n const isx$$3 = patternInput$$12[0][0];\n\n const autoScale = function autoScale(_arg1$$6) {\n if (_arg1$$6.tag === 0) {\n const l$$6 = _arg1$$6.fields[0].fields[0];\n const h$$6 = _arg1$$6.fields[1].fields[0];\n const patternInput$$13 = Scales$$$adjustRangeUnits(l$$6, h$$6);\n const l$$7 = patternInput$$13[0];\n const h$$7 = patternInput$$13[1];\n return new Scale(0, \"Continuous\", new continuous(0, \"CO\", l$$7), new continuous(0, \"CO\", h$$7));\n } else {\n const scale = _arg1$$6;\n return scale;\n }\n };\n\n const scales$$2 = [ax ? autoScale(isx$$3) : isx$$3, ay ? autoScale(isy$$3) : isy$$3];\n return [scales$$2, shape$$12];\n }\n\n case 13:\n {\n const shape$$13 = shape.fields[1];\n const offs = shape.fields[0];\n const patternInput$$14 = calculateScales(shape$$13);\n const shape$$14 = patternInput$$14[1];\n const scales$$3 = patternInput$$14[0];\n return [scales$$3, new Scales$002EScaledShape(8, \"ScaledOffset\", offs, shape$$14)];\n }\n\n case 12:\n {\n const shape$$15 = shape.fields[1];\n const pads = shape.fields[0];\n const patternInput$$15 = calculateScales(shape$$15);\n const sy$$3 = patternInput$$15[0][1];\n const sx$$3 = patternInput$$15[0][0];\n const shape$$16 = patternInput$$15[1];\n return [[sx$$3, sy$$3], new Scales$002EScaledShape(7, \"ScaledPadding\", pads, sx$$3, sy$$3, shape$$16)];\n }\n\n case 7:\n {\n const y$$3 = shape.fields[1];\n const x$$8 = shape.fields[0];\n const ry$$1 = shape.fields[3];\n const rx$$1 = shape.fields[2];\n\n const makeSingletonScale = function makeSingletonScale(_arg2) {\n if (_arg2.tag === 0) {\n const v$$5 = _arg2.fields[0];\n return new Scale(1, \"Categorical\", [v$$5]);\n } else {\n const v$$4 = _arg2.fields[0];\n return new Scale(0, \"Continuous\", v$$4, v$$4);\n }\n };\n\n const scales$$4 = [makeSingletonScale(x$$8), makeSingletonScale(y$$3)];\n return [scales$$4, new Scales$002EScaledShape(3, \"ScaledBubble\", x$$8, y$$3, rx$$1, ry$$1)];\n }\n\n case 1:\n {\n const y$$4 = shape.fields[1];\n const x$$9 = shape.fields[0];\n const va = shape.fields[2];\n const t$$2 = shape.fields[5];\n const r$$1 = shape.fields[4];\n const ha = shape.fields[3];\n\n const makeSingletonScale$$1 = function makeSingletonScale$$1(_arg3) {\n if (_arg3.tag === 0) {\n const v$$7 = _arg3.fields[0];\n return new Scale(1, \"Categorical\", [v$$7]);\n } else {\n const v$$6 = _arg3.fields[0];\n return new Scale(0, \"Continuous\", v$$6, v$$6);\n }\n };\n\n const scales$$5 = [makeSingletonScale$$1(x$$9), makeSingletonScale$$1(y$$4)];\n return [scales$$5, new Scales$002EScaledShape(1, \"ScaledText\", x$$9, y$$4, va, ha, r$$1, t$$2)];\n }\n\n case 6:\n {\n const line = shape.fields[0];\n const line$$1 = Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"ofSeq\"])(line, Array);\n const scales$$6 = Scales$$$calculateShapeScales(line$$1);\n return [scales$$6, new Scales$002EScaledShape(2, \"ScaledLine\", line$$1)];\n }\n\n case 8:\n {\n const points$$2 = shape.fields[0];\n const points$$3 = Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"ofSeq\"])(points$$2, Array);\n const scales$$7 = Scales$$$calculateShapeScales(points$$3);\n return [scales$$7, new Scales$002EScaledShape(4, \"ScaledShape\", points$$3)];\n }\n\n case 10:\n {\n const showTop = shape.fields[0];\n const showRight = shape.fields[1];\n const showLeft = shape.fields[3];\n const showBottom = shape.fields[2];\n const shape$$17 = shape.fields[4];\n const patternInput$$16 = calculateScales(shape$$17);\n const sy$$4 = patternInput$$16[0][1];\n const sx$$4 = patternInput$$16[0][0];\n const origScales = patternInput$$16[0];\n const patternInput$$17 = [Scales$$$getExtremes(sx$$4), Scales$$$getExtremes(sy$$4)];\n const ly = patternInput$$17[1][0];\n const lx = patternInput$$17[0][0];\n const hy = patternInput$$17[1][1];\n const hx = patternInput$$17[0][1];\n\n const LineStyle = function LineStyle(clr$$4, alpha, width, shape$$18) {\n return new Shape(0, \"Style\", function (s$$8) {\n const Fill = new FillStyle(0, \"Solid\", [1, new Color(1, \"HTML\", \"transparent\")]);\n const StrokeWidth = new Width(0, \"Pixels\", width);\n return new Style([alpha, new Color(1, \"HTML\", clr$$4)], StrokeWidth, s$$8.StrokeDashArray, Fill, s$$8.Animation, s$$8.Font, s$$8.Cursor, s$$8.FormatAxisXLabel, s$$8.FormatAxisYLabel);\n }, shape$$18);\n };\n\n const FontStyle = function FontStyle(style$$8, shape$$19) {\n return new Shape(0, \"Style\", function (s$$9) {\n const Fill$$1 = new FillStyle(0, \"Solid\", [1, new Color(1, \"HTML\", \"black\")]);\n return new Style([0, new Color(1, \"HTML\", \"transparent\")], s$$9.StrokeWidth, s$$9.StrokeDashArray, Fill$$1, s$$9.Animation, style$$8, s$$9.Cursor, s$$9.FormatAxisXLabel, s$$9.FormatAxisYLabel);\n }, shape$$19);\n };\n\n const shape$$20 = new Shape(9, \"Layered\", Object(_fable_fable_library_2_10_1_List_js__WEBPACK_IMPORTED_MODULE_2__[\"ofSeq\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"map\"])(function (x$$10) {\n return LineStyle(\"#e4e4e4\", 1, 1, new Shape(6, \"Line\", [[x$$10, ly], [x$$10, hy]]));\n }, Scales$$$generateAxisSteps(sx$$4)), Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"map\"])(function (y$$5) {\n return LineStyle(\"#e4e4e4\", 1, 1, new Shape(6, \"Line\", [[lx, y$$5], [hx, y$$5]]));\n }, Scales$$$generateAxisSteps(sy$$4)), Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(showTop ? Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])(LineStyle(\"black\", 1, 2, new Shape(6, \"Line\", [[lx, hy], [hx, hy]]))), Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"collect\"])(function (matchValue$$7) {\n const x$$11 = matchValue$$7[0];\n const l$$8 = matchValue$$7[1];\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])(FontStyle(\"9pt sans-serif\", new Shape(13, \"Offset\", [0, -10], new Shape(1, \"Text\", x$$11, hy, new VerticalAlign(0, \"Baseline\"), new HorizontalAlign(1, \"Center\"), 0, l$$8))));\n }, Scales$$$generateAxisLabels(style$$6.FormatAxisXLabel, sx$$4));\n })) : Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"empty\"])(), Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(showRight ? Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])(LineStyle(\"black\", 1, 2, new Shape(6, \"Line\", [[hx, hy], [hx, ly]]))), Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"collect\"])(function (matchValue$$8) {\n const y$$6 = matchValue$$8[0];\n const l$$9 = matchValue$$8[1];\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])(FontStyle(\"9pt sans-serif\", new Shape(13, \"Offset\", [10, 0], new Shape(1, \"Text\", hx, y$$6, new VerticalAlign(1, \"Middle\"), new HorizontalAlign(0, \"Start\"), 0, l$$9))));\n }, Scales$$$generateAxisLabels(style$$6.FormatAxisYLabel, sy$$4));\n })) : Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"empty\"])(), Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(showBottom ? Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])(LineStyle(\"black\", 1, 2, new Shape(6, \"Line\", [[lx, ly], [hx, ly]]))), Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"collect\"])(function (matchValue$$9) {\n const x$$12 = matchValue$$9[0];\n const l$$10 = matchValue$$9[1];\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])(FontStyle(\"9pt sans-serif\", new Shape(13, \"Offset\", [0, 10], new Shape(1, \"Text\", x$$12, ly, new VerticalAlign(2, \"Hanging\"), new HorizontalAlign(1, \"Center\"), 0, l$$10))));\n }, Scales$$$generateAxisLabels(style$$6.FormatAxisXLabel, sx$$4));\n })) : Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"empty\"])(), Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(showLeft ? Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])(LineStyle(\"black\", 1, 2, new Shape(6, \"Line\", [[lx, hy], [lx, ly]]))), Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"collect\"])(function (matchValue$$10) {\n const y$$7 = matchValue$$10[0];\n const l$$11 = matchValue$$10[1];\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])(FontStyle(\"9pt sans-serif\", new Shape(13, \"Offset\", [-10, 0], new Shape(1, \"Text\", lx, y$$7, new VerticalAlign(1, \"Middle\"), new HorizontalAlign(2, \"End\"), 0, l$$11))));\n }, Scales$$$generateAxisLabels(style$$6.FormatAxisYLabel, sy$$4));\n })) : Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"empty\"])(), Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])(shape$$17);\n }));\n }));\n }));\n }));\n }));\n }));\n })));\n const padding = [showTop ? 30 : 0, showRight ? 50 : 0, showBottom ? 30 : 0, showLeft ? 50 : 0];\n return calculateScales(new Shape(12, \"Padding\", padding, shape$$20));\n }\n\n case 9:\n {\n const shapes = shape.fields[0];\n let shapes$$1;\n const source$$3 = shapes;\n shapes$$1 = Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"ofSeq\"])(source$$3, Array);\n let scaled;\n const array$$5 = shapes$$1;\n scaled = Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"map\"])(calculateScales, array$$5, Array);\n let sxs;\n const array$$6 = scaled;\n sxs = Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"map\"])(function mapping$$5(tupledArg) {\n const sx$$5 = tupledArg[0][0];\n return sx$$5;\n }, array$$6, Array);\n let sys;\n const array$$7 = scaled;\n sys = Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"map\"])(function mapping$$6(tupledArg$$1) {\n const sy$$5 = tupledArg$$1[0][1];\n return sy$$5;\n }, array$$7, Array);\n const scales$$8 = [sxs.reduce(Scales$$$unionScales), sys.reduce(Scales$$$unionScales)];\n return [scales$$8, new Scales$002EScaledShape(5, \"ScaledLayered\", Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"map\"])(function (tuple$$2) {\n return tuple$$2[1];\n }, scaled, Array))];\n }\n\n case 11:\n {\n const shape$$21 = shape.fields[1];\n const f$$4 = shape.fields[0];\n const patternInput$$18 = calculateScales(shape$$21);\n const shape$$22 = patternInput$$18[1];\n const scales$$9 = patternInput$$18[0];\n return [scales$$9, new Scales$002EScaledShape(6, \"ScaledInteractive\", f$$4, scales$$9[0], scales$$9[1], shape$$22)];\n }\n\n default:\n {\n const shape$$3 = shape.fields[1];\n const f$$3 = shape.fields[0];\n const patternInput$$8 = calculateScalesStyle(f$$3(style$$6), shape$$3);\n const shape$$4 = patternInput$$8[1];\n const scales$$1 = patternInput$$8[0];\n return [scales$$1, new Scales$002EScaledShape(0, \"ScaledStyle\", f$$3, shape$$4)];\n }\n }\n}\nfunction Projections$$$projectOne(tlv, thv, scale$$1, coord) {\n if (scale$$1.tag === 0) {\n if (coord.tag === 0) {\n const arg10$$8 = coord;\n const arg20$$7 = scale$$1;\n const clo1$$8 = Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__[\"toFail\"])(Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__[\"printf\"])(\"Cannot project categorical value (%A) on a continuous scale (%A).\"));\n const clo2$$7 = clo1$$8(arg10$$8);\n return clo2$$7(arg20$$7);\n } else {\n const shv = scale$$1.fields[1].fields[0];\n const slv = scale$$1.fields[0].fields[0];\n const v$$9 = coord.fields[0].fields[0];\n return (v$$9 - slv) / (shv - slv) * (thv - tlv) + tlv;\n }\n } else if (coord.tag === 1) {\n const arg10$$7 = coord;\n const arg20$$6 = scale$$1;\n const clo1$$7 = Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__[\"toFail\"])(Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__[\"printf\"])(\"Cannot project continuous value (%A) on a categorical scale (%A).\"));\n const clo2$$6 = clo1$$7(arg10$$7);\n return clo2$$6(arg20$$6);\n } else {\n const f$$5 = coord.fields[1];\n const v$$8 = coord.fields[0].fields[0];\n const vals$$2 = scale$$1.fields[0];\n const size = (thv - tlv) / vals$$2.length;\n let i;\n const array$$8 = vals$$2;\n i = array$$8.findIndex(function predicate$$1(_arg1$$8) {\n const vv = _arg1$$8.fields[0];\n return v$$8 === vv;\n });\n const i$$1 = i + f$$5;\n return tlv + i$$1 * size;\n }\n}\nconst Drawing$002EDrawingContext = Object(_fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Compost_Drawing_DrawingContext(Style, Definitions) {\n this.Style = Style;\n this.Definitions = Definitions;\n}, _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"Record\"]);\nfunction Drawing$002EDrawingContext$reflection() {\n return Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"record_type\"])(\"Compost.Drawing.DrawingContext\", [], Drawing$002EDrawingContext, () => [[\"Style\", Style$reflection()], [\"Definitions\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"array_type\"])(Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"DomNode$reflection\"])())]]);\n}\nfunction Drawing$$$hideFill(style$$9) {\n const Fill$$2 = new FillStyle(0, \"Solid\", [0, new Color(0, \"RGB\", 0, 0, 0)]);\n let Animation$$2;\n\n if (style$$9.Animation != null) {\n const n$$1 = style$$9.Animation[0] | 0;\n const f$$6 = style$$9.Animation[2];\n const e = style$$9.Animation[1];\n Animation$$2 = [n$$1, e, function ($arg$$20) {\n const style$$10 = f$$6($arg$$20);\n return Drawing$$$hideFill(style$$10);\n }];\n } else {\n Animation$$2 = undefined;\n }\n\n return new Style(style$$9.StrokeColor, style$$9.StrokeWidth, style$$9.StrokeDashArray, Fill$$2, Animation$$2, style$$9.Font, style$$9.Cursor, style$$9.FormatAxisXLabel, style$$9.FormatAxisYLabel);\n}\nfunction Drawing$$$hideStroke(style$$11) {\n let Animation$$3;\n\n if (style$$11.Animation != null) {\n const n$$2 = style$$11.Animation[0] | 0;\n const f$$7 = style$$11.Animation[2];\n const e$$1 = style$$11.Animation[1];\n Animation$$3 = [n$$2, e$$1, function ($arg$$21) {\n const style$$12 = f$$7($arg$$21);\n return Drawing$$$hideStroke(style$$12);\n }];\n } else {\n Animation$$3 = undefined;\n }\n\n return new Style([0, style$$11.StrokeColor[1]], style$$11.StrokeWidth, style$$11.StrokeDashArray, style$$11.Fill, Animation$$3, style$$11.Font, style$$11.Cursor, style$$11.FormatAxisXLabel, style$$11.FormatAxisYLabel);\n}\nfunction Drawing$$$drawShape($ctx$$1$$109, $_arg2_0$$110, $_arg2_1$$111, $_arg2_2$$112, $_arg2_3$$113, $_arg1_0$$114, $_arg1_1$$115, $shape$$23$$116) {\n var arg10$$9, arg20$$8, clo1$$9, clo2$$8;\n\n Drawing$$$drawShape: while (true) {\n const ctx$$1 = $ctx$$1$$109,\n _arg2_0 = $_arg2_0$$110,\n _arg2_1 = $_arg2_1$$111,\n _arg2_2 = $_arg2_2$$112,\n _arg2_3 = $_arg2_3$$113,\n _arg1_0 = $_arg1_0$$114,\n _arg1_1 = $_arg1_1$$115,\n shape$$23 = $shape$$23$$116;\n const area = [_arg2_0, _arg2_1, _arg2_2, _arg2_3];\n const y2$$1 = area[3];\n const y1$$1 = area[1];\n const x2$$1 = area[2];\n const x1$$1 = area[0];\n const scales$$10 = [_arg1_0, _arg1_1];\n const sy$$6 = scales$$10[1];\n const sx$$6 = scales$$10[0];\n\n const project = function project(tupledArg$$2) {\n const vx = tupledArg$$2[0];\n const vy = tupledArg$$2[1];\n return [Projections$$$projectOne(x1$$1, x2$$1, sx$$6, vx), Projections$$$projectOne(y1$$1, y2$$1, sy$$6, vy)];\n };\n\n switch (shape$$23.tag) {\n case 10:\n {\n const shape$$25 = shape$$23.fields[3];\n const p2$$1 = shape$$23.fields[1];\n const p1$$1 = shape$$23.fields[0];\n const isy$$4 = shape$$23.fields[2];\n const y1$0027 = Projections$$$projectOne(y1$$1, y2$$1, sy$$6, p1$$1);\n const y2$0027 = Projections$$$projectOne(y1$$1, y2$$1, sy$$6, p2$$1);\n $ctx$$1$$109 = ctx$$1;\n $_arg2_0$$110 = x1$$1;\n $_arg2_1$$111 = y1$0027;\n $_arg2_2$$112 = x2$$1;\n $_arg2_3$$113 = y2$0027;\n $_arg1_0$$114 = sx$$6;\n $_arg1_1$$115 = isy$$4;\n $shape$$23$$116 = shape$$25;\n continue Drawing$$$drawShape;\n }\n\n case 8:\n {\n const shape$$26 = shape$$23.fields[1];\n const dy = shape$$23.fields[0][1];\n const dx = shape$$23.fields[0][0];\n const arg10$0040 = x1$$1 + dx;\n const arg11$0040 = y1$$1 + dy;\n const arg12$0040 = x2$$1 + dx;\n const arg13$0040 = y2$$1 + dy;\n $ctx$$1$$109 = ctx$$1;\n $_arg2_0$$110 = arg10$0040;\n $_arg2_1$$111 = arg11$0040;\n $_arg2_2$$112 = arg12$0040;\n $_arg2_3$$113 = arg13$0040;\n $_arg1_0$$114 = scales$$10[0];\n $_arg1_1$$115 = scales$$10[1];\n $shape$$23$$116 = shape$$26;\n continue Drawing$$$drawShape;\n }\n\n case 5:\n {\n const shapes$$2 = shape$$23.fields[0];\n return new Svg$002ESvg(4, \"Combine\", Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"map\"])(function (shape$$27) {\n return Drawing$$$drawShape(ctx$$1, area[0], area[1], area[2], area[3], scales$$10[0], scales$$10[1], shape$$27);\n }, shapes$$2, Array));\n }\n\n case 0:\n {\n const shape$$28 = shape$$23.fields[1];\n const f$$8 = shape$$23.fields[0];\n const ctx$$2 = new Drawing$002EDrawingContext(f$$8(ctx$$1.Style), ctx$$1.Definitions);\n $ctx$$1$$109 = ctx$$2;\n $_arg2_0$$110 = area[0];\n $_arg2_1$$111 = area[1];\n $_arg2_2$$112 = area[2];\n $_arg2_3$$113 = area[3];\n $_arg1_0$$114 = scales$$10[0];\n $_arg1_1$$115 = scales$$10[1];\n $shape$$23$$116 = shape$$28;\n continue Drawing$$$drawShape;\n }\n\n case 4:\n {\n const points$$4 = shape$$23.fields[0];\n const path$$1 = Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"ofSeq\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])(new Svg$002EPathSegment(0, \"MoveTo\", project(points$$4[0]))), Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"map\"])(function (pt$$1) {\n return new Svg$002EPathSegment(1, \"LineTo\", project(pt$$1));\n }, Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"skip\"])(1, points$$4)), Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])(new Svg$002EPathSegment(1, \"LineTo\", project(points$$4[0])));\n }));\n }));\n }), Array);\n return new Svg$002ESvg(0, \"Path\", path$$1, Svg$$$formatStyle(ctx$$1.Definitions, Drawing$$$hideStroke(ctx$$1.Style)));\n }\n\n case 7:\n {\n const t$$3 = shape$$23.fields[0][0];\n const shape$$29 = shape$$23.fields[3];\n const r$$2 = shape$$23.fields[0][1];\n const l$$12 = shape$$23.fields[0][3];\n const isy$$5 = shape$$23.fields[2];\n const isx$$5 = shape$$23.fields[1];\n const b$$1 = shape$$23.fields[0][2];\n\n const calculateNestedRange = function calculateNestedRange(tupledArg$$3) {\n const v1$$1 = tupledArg$$3[0];\n const v2$$1 = tupledArg$$3[1];\n return function (ins) {\n return function (outs) {\n var source$$5, source$$4, source$$7, source$$6;\n\n if (ins.tag === 1) {\n const vals$$3 = ins.fields[0];\n return [(source$$5 = (source$$4 = vals$$3, (Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"map\"])(function mapping$$7(v$$10) {\n return Projections$$$projectOne(v1$$1, v2$$1, outs, new Value(0, \"CAR\", v$$10, 0));\n }, source$$4))), (Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"min\"])(source$$5, {\n Compare: _fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"comparePrimitives\"]\n }))), (source$$7 = (source$$6 = vals$$3, (Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"map\"])(function mapping$$8(v$$11) {\n return Projections$$$projectOne(v1$$1, v2$$1, outs, new Value(0, \"CAR\", v$$11, 1));\n }, source$$6))), (Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"max\"])(source$$7, {\n Compare: _fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"comparePrimitives\"]\n })))];\n } else {\n const l$$13 = ins.fields[0].fields[0];\n const h$$8 = ins.fields[1].fields[0];\n return [Projections$$$projectOne(v1$$1, v2$$1, outs, new Value(1, \"COV\", new continuous(0, \"CO\", l$$13))), Projections$$$projectOne(v1$$1, v2$$1, outs, new Value(1, \"COV\", new continuous(0, \"CO\", h$$8)))];\n }\n };\n };\n };\n\n const patternInput$$19 = calculateNestedRange([x1$$1, x2$$1])(isx$$5)(sx$$6);\n const x2$0027$$1 = patternInput$$19[1];\n const x1$0027$$1 = patternInput$$19[0];\n const patternInput$$20 = calculateNestedRange([y1$$1, y2$$1])(isy$$5)(sy$$6);\n const y2$0027$$1 = patternInput$$20[1];\n const y1$0027$$1 = patternInput$$20[0];\n const patternInput$$21 = x1$0027$$1 < x2$0027$$1 ? [l$$12, r$$2] : [-r$$2, -l$$12];\n const r$$3 = patternInput$$21[1];\n const l$$14 = patternInput$$21[0];\n const patternInput$$22 = y1$0027$$1 < y2$0027$$1 ? [t$$3, b$$1] : [-b$$1, -t$$3];\n const t$$4 = patternInput$$22[0];\n const b$$2 = patternInput$$22[1];\n $ctx$$1$$109 = ctx$$1;\n $_arg2_0$$110 = x1$0027$$1 + l$$14;\n $_arg2_1$$111 = y1$0027$$1 + t$$4;\n $_arg2_2$$112 = x2$0027$$1 - r$$3;\n $_arg2_3$$113 = y2$0027$$1 - b$$2;\n $_arg1_0$$114 = isx$$5;\n $_arg1_1$$115 = isy$$5;\n $shape$$23$$116 = shape$$29;\n continue Drawing$$$drawShape;\n }\n\n case 2:\n {\n const line$$2 = shape$$23.fields[0];\n let path$$2;\n const list = Object(_fable_fable_library_2_10_1_List_js__WEBPACK_IMPORTED_MODULE_2__[\"ofSeq\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])(new Svg$002EPathSegment(0, \"MoveTo\", project(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"head\"])(line$$2)))), Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"map\"])(function (pt$$2) {\n return new Svg$002EPathSegment(1, \"LineTo\", project(pt$$2));\n }, Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"skip\"])(1, line$$2));\n }));\n }));\n path$$2 = Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"ofList\"])(list, Array);\n return new Svg$002ESvg(0, \"Path\", path$$2, Svg$$$formatStyle(ctx$$1.Definitions, Drawing$$$hideFill(ctx$$1.Style)));\n }\n\n case 1:\n {\n const y$$8 = shape$$23.fields[1];\n const x$$13 = shape$$23.fields[0];\n const va$$1 = shape$$23.fields[2];\n const t$$5 = shape$$23.fields[5];\n const r$$4 = shape$$23.fields[4];\n const ha$$1 = shape$$23.fields[3];\n const va$$2 = va$$1.tag === 2 ? \"hanging\" : va$$1.tag === 1 ? \"middle\" : \"baseline\";\n const ha$$2 = ha$$1.tag === 1 ? \"middle\" : ha$$1.tag === 2 ? \"end\" : \"start\";\n const xy = project([x$$13, y$$8]);\n return new Svg$002ESvg(3, \"Text\", xy, t$$5, r$$4, (arg10$$9 = va$$2, arg20$$8 = ha$$2, (clo1$$9 = Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__[\"toText\"])(Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__[\"printf\"])(\"alignment-baseline:%s; text-anchor:%s;\")), clo2$$8 = clo1$$9(arg10$$9), clo2$$8(arg20$$8))) + Svg$$$formatStyle(ctx$$1.Definitions, ctx$$1.Style));\n }\n\n case 3:\n {\n const y$$9 = shape$$23.fields[1];\n const x$$14 = shape$$23.fields[0];\n const ry$$2 = shape$$23.fields[3];\n const rx$$2 = shape$$23.fields[2];\n return new Svg$002ESvg(1, \"Ellipse\", project([x$$14, y$$9]), [rx$$2, ry$$2], Svg$$$formatStyle(ctx$$1.Definitions, ctx$$1.Style));\n }\n\n case 6:\n {\n const shape$$30 = shape$$23.fields[3];\n const f$$9 = shape$$23.fields[0];\n $ctx$$1$$109 = ctx$$1;\n $_arg2_0$$110 = area[0];\n $_arg2_1$$111 = area[1];\n $_arg2_2$$112 = area[2];\n $_arg2_3$$113 = area[3];\n $_arg1_0$$114 = scales$$10[0];\n $_arg1_1$$115 = scales$$10[1];\n $shape$$23$$116 = shape$$30;\n continue Drawing$$$drawShape;\n }\n\n default:\n {\n const shape$$24 = shape$$23.fields[3];\n const p2 = shape$$23.fields[1];\n const p1 = shape$$23.fields[0];\n const isx$$4 = shape$$23.fields[2];\n const x1$0027 = Projections$$$projectOne(x1$$1, x2$$1, sx$$6, p1);\n const x2$0027 = Projections$$$projectOne(x1$$1, x2$$1, sx$$6, p2);\n $ctx$$1$$109 = ctx$$1;\n $_arg2_0$$110 = x1$0027;\n $_arg2_1$$111 = y1$$1;\n $_arg2_2$$112 = x2$0027;\n $_arg2_3$$113 = y2$$1;\n $_arg1_0$$114 = isx$$4;\n $_arg1_1$$115 = sy$$6;\n $shape$$23$$116 = shape$$24;\n continue Drawing$$$drawShape;\n }\n }\n\n break;\n }\n}\nconst Events$002EMouseEventKind = Object(_fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Compost_Events_MouseEventKind(tag, name, ...fields) {\n this.tag = tag | 0;\n this.name = name;\n this.fields = fields;\n}, _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"Union\"]);\nfunction Events$002EMouseEventKind$reflection() {\n return Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"union_type\"])(\"Compost.Events.MouseEventKind\", [], Events$002EMouseEventKind, () => [\"Click\", \"Move\", \"Up\", \"Down\"]);\n}\nconst Events$002ETouchEventKind = Object(_fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Compost_Events_TouchEventKind(tag, name, ...fields) {\n this.tag = tag | 0;\n this.name = name;\n this.fields = fields;\n}, _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"Union\"]);\nfunction Events$002ETouchEventKind$reflection() {\n return Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"union_type\"])(\"Compost.Events.TouchEventKind\", [], Events$002ETouchEventKind, () => [\"Move\", \"Start\"]);\n}\nconst Events$002EInteractiveEvent = Object(_fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"declare\"])(function Compost_Events_InteractiveEvent(tag, name, ...fields) {\n this.tag = tag | 0;\n this.name = name;\n this.fields = fields;\n}, _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"Union\"]);\nfunction Events$002EInteractiveEvent$reflection($gen$$121, $gen$$122) {\n return Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"union_type\"])(\"Compost.Events.InteractiveEvent\", [$gen$$121, $gen$$122], Events$002EInteractiveEvent, () => [[\"MouseEvent\", [[\"Item1\", Events$002EMouseEventKind$reflection()], [\"Item2\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"tuple_type\"])(Value$reflection($gen$$121), Value$reflection($gen$$122))]]], [\"TouchEvent\", [[\"Item1\", Events$002ETouchEventKind$reflection()], [\"Item2\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_1__[\"tuple_type\"])(Value$reflection($gen$$121), Value$reflection($gen$$122))]]], \"TouchEnd\", \"MouseLeave\"]);\n}\nfunction Events$$$projectInvOne(l$$15, h$$9, s$$10, v$$12) {\n if (s$$10.tag === 1) {\n const cats = s$$10.fields[0];\n const size$$1 = (h$$9 - l$$15) / cats.length;\n const i$$2 = Math.floor((v$$12 - l$$15) / size$$1);\n const f$$10 = (v$$12 - l$$15) / size$$1 - i$$2;\n const i$$3 = size$$1 < 0 ? cats.length + i$$2 : i$$2;\n\n if (~~i$$3 < 0 ? true : ~~i$$3 >= cats.length) {\n return new Value(0, \"CAR\", new categorical(0, \"CA\", \"<outside-of-range>\"), f$$10);\n } else {\n return new Value(0, \"CAR\", cats[~~i$$3], f$$10);\n }\n } else {\n const slv$$1 = s$$10.fields[0].fields[0];\n const shv$$1 = s$$10.fields[1].fields[0];\n return new Value(1, \"COV\", new continuous(0, \"CO\", slv$$1 + (v$$12 - l$$15) / (h$$9 - l$$15) * (shv$$1 - slv$$1)));\n }\n}\nfunction Events$$$projectInv(x1$$2, y1$$2, x2$$2, y2$$2, sx$$7, sy$$7, x$$15, y$$10) {\n return [Events$$$projectInvOne(x1$$2, x2$$2, sx$$7, x$$15), Events$$$projectInvOne(y1$$2, y2$$2, sy$$7, y$$10)];\n}\nfunction Events$$$projectEvent(area_0, area_1, area_2, area_3, scales_0, scales_1, event) {\n const area$$1 = [area_0, area_1, area_2, area_3];\n const scales$$11 = [scales_0, scales_1];\n var $target$$142, kind, x$$16, y$$11, kind$$1, x$$17, y$$12;\n\n if (event.tag === 1) {\n if (event.fields[1][0].tag === 1) {\n if (event.fields[1][1].tag === 1) {\n $target$$142 = 1;\n kind$$1 = event.fields[0];\n x$$17 = event.fields[1][0].fields[0].fields[0];\n y$$12 = event.fields[1][1].fields[0].fields[0];\n } else {\n $target$$142 = 2;\n }\n } else {\n $target$$142 = 2;\n }\n } else if (event.tag === 2) {\n $target$$142 = 3;\n } else if (event.tag === 3) {\n $target$$142 = 4;\n } else if (event.fields[1][0].tag === 1) {\n if (event.fields[1][1].tag === 1) {\n $target$$142 = 0;\n kind = event.fields[0];\n x$$16 = event.fields[1][0].fields[0].fields[0];\n y$$11 = event.fields[1][1].fields[0].fields[0];\n } else {\n $target$$142 = 2;\n }\n } else {\n $target$$142 = 2;\n }\n\n switch ($target$$142) {\n case 0:\n {\n return new Events$002EInteractiveEvent(0, \"MouseEvent\", kind, Events$$$projectInv(area$$1[0], area$$1[1], area$$1[2], area$$1[3], scales$$11[0], scales$$11[1], x$$16, y$$11));\n }\n\n case 1:\n {\n return new Events$002EInteractiveEvent(1, \"TouchEvent\", kind$$1, Events$$$projectInv(area$$1[0], area$$1[1], area$$1[2], area$$1[3], scales$$11[0], scales$$11[1], x$$17, y$$12));\n }\n\n case 2:\n {\n throw new Error(\"TODO: projectEvent - not continuous\");\n }\n\n case 3:\n {\n return new Events$002EInteractiveEvent(2, \"TouchEnd\");\n }\n\n case 4:\n {\n return new Events$002EInteractiveEvent(3, \"MouseLeave\");\n }\n }\n}\nfunction Events$$$inScale(s$$11, v$$13) {\n if (s$$11.tag === 1) {\n if (v$$13.tag === 1) {\n throw new Error(\"inScale: Cannot test if continuous value is in categorical scale\");\n } else {\n const cats$$1 = s$$11.fields[0];\n const v$$15 = v$$13.fields[0];\n const source$$8 = cats$$1;\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"exists\"])(function predicate$$2(y$$13) {\n return Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"equals\"])(v$$15, y$$13);\n }, source$$8);\n }\n } else if (v$$13.tag === 0) {\n throw new Error(\"inScale: Cannot test if categorical value is in continuous scale\");\n } else {\n const h$$10 = s$$11.fields[1].fields[0];\n const l$$16 = s$$11.fields[0].fields[0];\n const v$$14 = v$$13.fields[0].fields[0];\n\n if (v$$14 >= Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"min\"])(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"comparePrimitives\"], l$$16, h$$10)) {\n return v$$14 <= Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"max\"])(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"comparePrimitives\"], l$$16, h$$10);\n } else {\n return false;\n }\n }\n}\nfunction Events$$$inScales(sx$$10, sy$$10, event$$1) {\n var $target$$149, x$$18, y$$14;\n\n switch (event$$1.tag) {\n case 2:\n $target$$149 = 1;\n break;\n\n case 0:\n $target$$149 = 2;\n x$$18 = event$$1.fields[1][0];\n y$$14 = event$$1.fields[1][1];\n break;\n\n case 1:\n $target$$149 = 2;\n x$$18 = event$$1.fields[1][0];\n y$$14 = event$$1.fields[1][1];\n break;\n\n default:\n $target$$149 = 0;\n }\n\n switch ($target$$149) {\n case 0:\n {\n return true;\n }\n\n case 1:\n {\n return true;\n }\n\n case 2:\n {\n if (Events$$$inScale(sx$$10, x$$18)) {\n return Events$$$inScale(sy$$10, y$$14);\n } else {\n return false;\n }\n }\n }\n}\nfunction Events$$$triggerEvent($_arg2_0$$1$$150, $_arg2_1$$1$$151, $_arg2_2$$1$$152, $_arg2_3$$1$$153, $_arg1_0$$1$$154, $_arg1_1$$1$$155, $shape$$31$$156, $jse$$157, $event$$2$$158) {\n Events$$$triggerEvent: while (true) {\n const _arg2_0$$1 = $_arg2_0$$1$$150,\n _arg2_1$$1 = $_arg2_1$$1$$151,\n _arg2_2$$1 = $_arg2_2$$1$$152,\n _arg2_3$$1 = $_arg2_3$$1$$153,\n _arg1_0$$1 = $_arg1_0$$1$$154,\n _arg1_1$$1 = $_arg1_1$$1$$155,\n shape$$31 = $shape$$31$$156,\n jse = $jse$$157,\n event$$2 = $event$$2$$158;\n const area$$2 = [_arg2_0$$1, _arg2_1$$1, _arg2_2$$1, _arg2_3$$1];\n const y2$$5 = area$$2[3];\n const y1$$5 = area$$2[1];\n const x2$$5 = area$$2[2];\n const x1$$5 = area$$2[0];\n const scales$$12 = [_arg1_0$$1, _arg1_1$$1];\n const sy$$11 = scales$$12[1];\n const sx$$11 = scales$$12[0];\n\n switch (shape$$31.tag) {\n case 1:\n case 3:\n case 4:\n {\n void null;\n break;\n }\n\n case 0:\n {\n const shape$$32 = shape$$31.fields[1];\n $_arg2_0$$1$$150 = area$$2[0];\n $_arg2_1$$1$$151 = area$$2[1];\n $_arg2_2$$1$$152 = area$$2[2];\n $_arg2_3$$1$$153 = area$$2[3];\n $_arg1_0$$1$$154 = scales$$12[0];\n $_arg1_1$$1$$155 = scales$$12[1];\n $shape$$31$$156 = shape$$32;\n $jse$$157 = jse;\n $event$$2$$158 = event$$2;\n continue Events$$$triggerEvent;\n break;\n }\n\n case 8:\n {\n const shape$$33 = shape$$31.fields[1];\n const dy$$1 = shape$$31.fields[0][1];\n const dx$$1 = shape$$31.fields[0][0];\n const arg00$0040$$1 = x1$$5 + dx$$1;\n const arg01$0040$$1 = y1$$5 + dy$$1;\n const arg02$0040$$1 = x2$$5 + dx$$1;\n const arg03$0040$$1 = y2$$5 + dy$$1;\n $_arg2_0$$1$$150 = arg00$0040$$1;\n $_arg2_1$$1$$151 = arg01$0040$$1;\n $_arg2_2$$1$$152 = arg02$0040$$1;\n $_arg2_3$$1$$153 = arg03$0040$$1;\n $_arg1_0$$1$$154 = scales$$12[0];\n $_arg1_1$$1$$155 = scales$$12[1];\n $shape$$31$$156 = shape$$33;\n $jse$$157 = jse;\n $event$$2$$158 = event$$2;\n continue Events$$$triggerEvent;\n break;\n }\n\n case 9:\n {\n const shape$$34 = shape$$31.fields[3];\n const p2$$2 = shape$$31.fields[1];\n const p1$$2 = shape$$31.fields[0];\n const isx$$6 = shape$$31.fields[2];\n const x1$0027$$2 = Projections$$$projectOne(x1$$5, x2$$5, sx$$11, p1$$2);\n const x2$0027$$2 = Projections$$$projectOne(x1$$5, x2$$5, sx$$11, p2$$2);\n $_arg2_0$$1$$150 = x1$0027$$2;\n $_arg2_1$$1$$151 = y1$$5;\n $_arg2_2$$1$$152 = x2$0027$$2;\n $_arg2_3$$1$$153 = y2$$5;\n $_arg1_0$$1$$154 = isx$$6;\n $_arg1_1$$1$$155 = sy$$11;\n $shape$$31$$156 = shape$$34;\n $jse$$157 = jse;\n $event$$2$$158 = event$$2;\n continue Events$$$triggerEvent;\n break;\n }\n\n case 10:\n {\n const shape$$35 = shape$$31.fields[3];\n const p2$$3 = shape$$31.fields[1];\n const p1$$3 = shape$$31.fields[0];\n const isy$$6 = shape$$31.fields[2];\n const y1$0027$$2 = Projections$$$projectOne(y1$$5, y2$$5, sy$$11, p1$$3);\n const y2$0027$$2 = Projections$$$projectOne(y1$$5, y2$$5, sy$$11, p2$$3);\n $_arg2_0$$1$$150 = x1$$5;\n $_arg2_1$$1$$151 = y1$0027$$2;\n $_arg2_2$$1$$152 = x2$$5;\n $_arg2_3$$1$$153 = y2$0027$$2;\n $_arg1_0$$1$$154 = sx$$11;\n $_arg1_1$$1$$155 = isy$$6;\n $shape$$31$$156 = shape$$35;\n $jse$$157 = jse;\n $event$$2$$158 = event$$2;\n continue Events$$$triggerEvent;\n break;\n }\n\n case 7:\n {\n const t$$6 = shape$$31.fields[0][0];\n const shape$$36 = shape$$31.fields[3];\n const r$$5 = shape$$31.fields[0][1];\n const l$$17 = shape$$31.fields[0][3];\n const isy$$7 = shape$$31.fields[2];\n const isx$$7 = shape$$31.fields[1];\n const b$$3 = shape$$31.fields[0][2];\n\n const calculateNestedRange$$1 = function calculateNestedRange$$1(tupledArg$$4) {\n const v1$$2 = tupledArg$$4[0];\n const v2$$2 = tupledArg$$4[1];\n return function (ins$$1) {\n return function (outs$$1) {\n var source$$10, source$$9, source$$12, source$$11;\n\n if (ins$$1.tag === 1) {\n const vals$$4 = ins$$1.fields[0];\n return [(source$$10 = (source$$9 = vals$$4, (Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"map\"])(function mapping$$9(v$$16) {\n return Projections$$$projectOne(v1$$2, v2$$2, outs$$1, new Value(0, \"CAR\", v$$16, 0));\n }, source$$9))), (Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"min\"])(source$$10, {\n Compare: _fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"comparePrimitives\"]\n }))), (source$$12 = (source$$11 = vals$$4, (Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"map\"])(function mapping$$10(v$$17) {\n return Projections$$$projectOne(v1$$2, v2$$2, outs$$1, new Value(0, \"CAR\", v$$17, 1));\n }, source$$11))), (Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"max\"])(source$$12, {\n Compare: _fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"comparePrimitives\"]\n })))];\n } else {\n const l$$18 = ins$$1.fields[0].fields[0];\n const h$$11 = ins$$1.fields[1].fields[0];\n return [Projections$$$projectOne(v1$$2, v2$$2, outs$$1, new Value(1, \"COV\", new continuous(0, \"CO\", l$$18))), Projections$$$projectOne(v1$$2, v2$$2, outs$$1, new Value(1, \"COV\", new continuous(0, \"CO\", h$$11)))];\n }\n };\n };\n };\n\n const patternInput$$23 = calculateNestedRange$$1([x1$$5, x2$$5])(isx$$7)(sx$$11);\n const x2$0027$$3 = patternInput$$23[1];\n const x1$0027$$3 = patternInput$$23[0];\n const patternInput$$24 = calculateNestedRange$$1([y1$$5, y2$$5])(isy$$7)(sy$$11);\n const y2$0027$$3 = patternInput$$24[1];\n const y1$0027$$3 = patternInput$$24[0];\n const patternInput$$25 = x1$0027$$3 < x2$0027$$3 ? [l$$17, r$$5] : [-r$$5, -l$$17];\n const r$$6 = patternInput$$25[1];\n const l$$19 = patternInput$$25[0];\n const patternInput$$26 = y1$0027$$3 < y2$0027$$3 ? [t$$6, b$$3] : [-b$$3, -t$$6];\n const t$$7 = patternInput$$26[0];\n const b$$4 = patternInput$$26[1];\n $_arg2_0$$1$$150 = x1$0027$$3 + l$$19;\n $_arg2_1$$1$$151 = y1$0027$$3 + t$$7;\n $_arg2_2$$1$$152 = x2$0027$$3 - r$$6;\n $_arg2_3$$1$$153 = y2$0027$$3 - b$$4;\n $_arg1_0$$1$$154 = isx$$7;\n $_arg1_1$$1$$155 = isy$$7;\n $shape$$31$$156 = shape$$36;\n $jse$$157 = jse;\n $event$$2$$158 = event$$2;\n continue Events$$$triggerEvent;\n break;\n }\n\n case 5:\n {\n const shapes$$3 = shape$$31.fields[0];\n\n for (let idx = 0; idx <= shapes$$3.length - 1; idx++) {\n const shape$$37 = shapes$$3[idx];\n Events$$$triggerEvent(area$$2[0], area$$2[1], area$$2[2], area$$2[3], scales$$12[0], scales$$12[1], shape$$37, jse, event$$2);\n }\n\n break;\n }\n\n case 6:\n {\n const sy$$12 = shape$$31.fields[2];\n const sx$$12 = shape$$31.fields[1];\n const shape$$38 = shape$$31.fields[3];\n const handlers = shape$$31.fields[0];\n const localEvent = Events$$$projectEvent(area$$2[0], area$$2[1], area$$2[2], area$$2[3], scales$$12[0], scales$$12[1], event$$2);\n\n if (Events$$$inScales(scales$$12[0], scales$$12[1], localEvent)) {\n Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"iterate\"])(function (handler) {\n var $target$$162, f$$11, pt$$3, f$$12, pt$$4, f$$13, f$$14;\n\n if (localEvent.tag === 1) {\n if (localEvent.fields[0].tag === 1) {\n if (handler.tag === 4) {\n $target$$162 = 1;\n f$$12 = Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"curry\"])(2, handler.fields[0]);\n pt$$4 = localEvent.fields[1];\n } else {\n $target$$162 = 4;\n }\n } else if (handler.tag === 5) {\n $target$$162 = 1;\n f$$12 = Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"curry\"])(2, handler.fields[0]);\n pt$$4 = localEvent.fields[1];\n } else {\n $target$$162 = 4;\n }\n } else if (localEvent.tag === 2) {\n if (handler.tag === 6) {\n $target$$162 = 2;\n f$$13 = handler.fields[0];\n } else {\n $target$$162 = 4;\n }\n } else if (localEvent.tag === 3) {\n if (handler.tag === 7) {\n $target$$162 = 3;\n f$$14 = handler.fields[0];\n } else {\n $target$$162 = 4;\n }\n } else if (localEvent.fields[0].tag === 1) {\n if (handler.tag === 0) {\n $target$$162 = 0;\n f$$11 = Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"curry\"])(2, handler.fields[0]);\n pt$$3 = localEvent.fields[1];\n } else {\n $target$$162 = 4;\n }\n } else if (localEvent.fields[0].tag === 2) {\n if (handler.tag === 1) {\n $target$$162 = 0;\n f$$11 = Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"curry\"])(2, handler.fields[0]);\n pt$$3 = localEvent.fields[1];\n } else {\n $target$$162 = 4;\n }\n } else if (localEvent.fields[0].tag === 3) {\n if (handler.tag === 2) {\n $target$$162 = 0;\n f$$11 = Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"curry\"])(2, handler.fields[0]);\n pt$$3 = localEvent.fields[1];\n } else {\n $target$$162 = 4;\n }\n } else if (handler.tag === 3) {\n $target$$162 = 0;\n f$$11 = Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"curry\"])(2, handler.fields[0]);\n pt$$3 = localEvent.fields[1];\n } else {\n $target$$162 = 4;\n }\n\n switch ($target$$162) {\n case 0:\n {\n if (!Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"equals\"])(jse, null)) {\n jse.preventDefault();\n } else {\n void null;\n }\n\n f$$11(jse)(pt$$3);\n break;\n }\n\n case 1:\n {\n if (!Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"equals\"])(jse, null)) {\n jse.preventDefault();\n } else {\n void null;\n }\n\n f$$12(jse)(pt$$4);\n break;\n }\n\n case 2:\n {\n f$$13(jse);\n break;\n }\n\n case 3:\n {\n f$$14(jse);\n break;\n }\n\n case 4:\n {\n void null;\n break;\n }\n }\n }, handlers);\n } else {\n void null;\n }\n\n $_arg2_0$$1$$150 = area$$2[0];\n $_arg2_1$$1$$151 = area$$2[1];\n $_arg2_2$$1$$152 = area$$2[2];\n $_arg2_3$$1$$153 = area$$2[3];\n $_arg1_0$$1$$154 = scales$$12[0];\n $_arg1_1$$1$$155 = scales$$12[1];\n $shape$$31$$156 = shape$$38;\n $jse$$157 = jse;\n $event$$2$$158 = event$$2;\n continue Events$$$triggerEvent;\n break;\n }\n\n default:\n {\n void null;\n }\n }\n\n break;\n }\n}\nfunction Derived$$$StrokeColor(clr$$5, s$$12) {\n return new Shape(0, \"Style\", function (s$$13) {\n return new Style([1, new Color(1, \"HTML\", clr$$5)], s$$13.StrokeWidth, s$$13.StrokeDashArray, s$$13.Fill, s$$13.Animation, s$$13.Font, s$$13.Cursor, s$$13.FormatAxisXLabel, s$$13.FormatAxisYLabel);\n }, s$$12);\n}\nfunction Derived$$$FillColor(clr$$6, s$$14) {\n return new Shape(0, \"Style\", function (s$$15) {\n const Fill$$3 = new FillStyle(0, \"Solid\", [1, new Color(1, \"HTML\", clr$$6)]);\n return new Style(s$$15.StrokeColor, s$$15.StrokeWidth, s$$15.StrokeDashArray, Fill$$3, s$$15.Animation, s$$15.Font, s$$15.Cursor, s$$15.FormatAxisXLabel, s$$15.FormatAxisYLabel);\n }, s$$14);\n}\nfunction Derived$$$Font(font, clr$$7, s$$16) {\n return new Shape(0, \"Style\", function (s$$17) {\n const Fill$$4 = new FillStyle(0, \"Solid\", [1, new Color(1, \"HTML\", clr$$7)]);\n const StrokeColor$$1 = [0, new Color(1, \"HTML\", clr$$7)];\n return new Style(StrokeColor$$1, s$$17.StrokeWidth, s$$17.StrokeDashArray, Fill$$4, s$$17.Animation, font, s$$17.Cursor, s$$17.FormatAxisXLabel, s$$17.FormatAxisYLabel);\n }, s$$16);\n}\nfunction Derived$$$Area(line$$3) {\n const arg0$$7 = Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n const line$$4 = Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"ofSeq\"])(line$$3, Array);\n const patternInput$$27 = [line$$4[0][0], line$$4[line$$4.length - 1][0]];\n const lastX = patternInput$$27[1];\n const firstX = patternInput$$27[0];\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])([firstX, new Value(1, \"COV\", new continuous(0, \"CO\", 0))]), Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(line$$4, Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])([lastX, new Value(1, \"COV\", new continuous(0, \"CO\", 0))]), Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])([firstX, new Value(1, \"COV\", new continuous(0, \"CO\", 0))]);\n }));\n }));\n }));\n });\n return new Shape(8, \"Shape\", arg0$$7);\n}\nfunction Derived$$$VArea(line$$5) {\n const arg0$$8 = Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n const line$$6 = Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"ofSeq\"])(line$$5, Array);\n const patternInput$$28 = [line$$6[0][1], line$$6[line$$6.length - 1][1]];\n const lastY = patternInput$$28[1];\n const firstY = patternInput$$28[0];\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])([new Value(1, \"COV\", new continuous(0, \"CO\", 0)), firstY]), Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(line$$6, Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])([new Value(1, \"COV\", new continuous(0, \"CO\", 0)), lastY]), Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])([new Value(1, \"COV\", new continuous(0, \"CO\", 0)), firstY]);\n }));\n }));\n }));\n });\n return new Shape(8, \"Shape\", arg0$$8);\n}\nfunction Derived$$$VShiftedArea(offs$$1, line$$7) {\n const arg0$$9 = Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n const line$$8 = Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"ofSeq\"])(line$$7, Array);\n const patternInput$$29 = [line$$8[0][1], line$$8[line$$8.length - 1][1]];\n const lastY$$1 = patternInput$$29[1];\n const firstY$$1 = patternInput$$29[0];\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])([new Value(1, \"COV\", new continuous(0, \"CO\", offs$$1)), firstY$$1]), Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(line$$8, Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])([new Value(1, \"COV\", new continuous(0, \"CO\", offs$$1)), lastY$$1]), Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])([new Value(1, \"COV\", new continuous(0, \"CO\", offs$$1)), firstY$$1]);\n }));\n }));\n }));\n });\n return new Shape(8, \"Shape\", arg0$$9);\n}\nfunction Derived$$$Bar(x$$19, y$$15) {\n const arg0$$10 = Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])([new Value(1, \"COV\", x$$19), new Value(0, \"CAR\", y$$15, 0)]), Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])([new Value(1, \"COV\", x$$19), new Value(0, \"CAR\", y$$15, 1)]), Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])([new Value(1, \"COV\", new continuous(0, \"CO\", 0)), new Value(0, \"CAR\", y$$15, 1)]), Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])([new Value(1, \"COV\", new continuous(0, \"CO\", 0)), new Value(0, \"CAR\", y$$15, 0)]);\n }));\n }));\n }));\n });\n return new Shape(8, \"Shape\", arg0$$10);\n}\nfunction Derived$$$Column(x$$20, y$$16) {\n const arg0$$11 = Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])([new Value(0, \"CAR\", x$$20, 0), new Value(1, \"COV\", y$$16)]), Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])([new Value(0, \"CAR\", x$$20, 1), new Value(1, \"COV\", y$$16)]), Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])([new Value(0, \"CAR\", x$$20, 1), new Value(1, \"COV\", new continuous(0, \"CO\", 0))]), Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"singleton\"])([new Value(0, \"CAR\", x$$20, 0), new Value(1, \"COV\", new continuous(0, \"CO\", 0))]);\n }));\n }));\n }));\n });\n return new Shape(8, \"Shape\", arg0$$11);\n}\nfunction Compost$$$niceNumber(num, decs) {\n var x$$21;\n const str = num.toString();\n const dot = str.indexOf(\".\") | 0;\n const patternInput$$30 = dot === -1 ? [str, \"\"] : [Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__[\"substring\"])(str, 0, dot), Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__[\"substring\"])(str, dot + 1, Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"min\"])(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"comparePrimitives\"], decs, str.length - dot - 1))];\n const before = patternInput$$30[0];\n const after = patternInput$$30[1];\n const after$$1 = after.length < decs ? after + Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"ofSeq\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"map\"])(function (i$$4) {\n return \"0\";\n }, Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"rangeNumber\"])(1, 1, decs - after.length));\n }), Array).join(\"\") : after;\n let res = before;\n\n if (before.length > 5) {\n const inputSequence = Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"rangeNumber\"])(before.length - 1, -1, 0);\n Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"iterate\"])(function (i$$5) {\n const j = before.length - i$$5 | 0;\n\n if (i$$5 !== 0 ? j % 3 === 0 : false) {\n res = Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_3__[\"insert\"])(res, i$$5, \",\");\n } else {\n void null;\n }\n }, inputSequence);\n } else {\n void null;\n }\n\n if (Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"forAll\"])((x$$21 = \"0\", function (y$$17) {\n return x$$21 === y$$17;\n }), after$$1.split(\"\"))) {\n return res;\n } else {\n return res + \".\" + after$$1;\n }\n}\nfunction Compost$$$defaultFormat(scale$$2, value$$1) {\n if (value$$1.tag === 1) {\n const v$$18 = value$$1.fields[0].fields[0];\n let dec;\n\n if (scale$$2.tag === 0) {\n const l$$20 = scale$$2.fields[0].fields[0];\n const h$$12 = scale$$2.fields[1].fields[0];\n dec = Scales$$$decimalPoints(l$$20, h$$12);\n } else {\n dec = 0;\n }\n\n return Compost$$$niceNumber(Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"round\"])(v$$18, ~~dec), ~~dec);\n } else {\n const s$$18 = value$$1.fields[0].fields[0];\n return s$$18;\n }\n}\nconst Compost$$$defstyle = (() => {\n const Fill$$5 = new FillStyle(0, \"Solid\", [1, new Color(0, \"RGB\", 196, 196, 196)]);\n const StrokeColor$$2 = [1, new Color(0, \"RGB\", 256, 0, 0)];\n const StrokeDashArray = [];\n const StrokeWidth$$1 = new Width(0, \"Pixels\", 2);\n const Animation$$4 = undefined;\n return new Style(StrokeColor$$2, StrokeWidth$$1, StrokeDashArray, Fill$$5, Animation$$4, \"10pt sans-serif\", \"default\", Compost$$$defaultFormat, Compost$$$defaultFormat);\n})();\nfunction Compost$$$getRelativeLocation(el, x$$22, y$$18) {\n const getOffset = function getOffset($parent$$185, $tupledArg$$5$$186) {\n getOffset: while (true) {\n const parent = $parent$$185,\n tupledArg$$5 = $tupledArg$$5$$186;\n const x$$23 = tupledArg$$5[0];\n const y$$19 = tupledArg$$5[1];\n\n if (Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"equals\"])(parent, null)) {\n return [x$$23, y$$19];\n } else {\n $parent$$185 = parent.offsetParent;\n $tupledArg$$5$$186 = [x$$23 - parent.offsetLeft, y$$19 - parent.offsetTop];\n continue getOffset;\n }\n\n break;\n }\n };\n\n const getParent = function getParent($parent$$1$$187) {\n getParent: while (true) {\n const parent$$1 = $parent$$1$$187;\n\n if (parent$$1.namespaceURI === \"http://www.w3.org/2000/svg\" ? parent$$1.tagName !== \"svg\" : false) {\n if (!Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"equals\"])(parent$$1.parentElement, null)) {\n $parent$$1$$187 = parent$$1.parentElement;\n continue getParent;\n } else {\n $parent$$1$$187 = parent$$1.parentNode;\n continue getParent;\n }\n } else if (!Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"equals\"])(parent$$1.offsetParent, null)) {\n return parent$$1;\n } else if (!Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"equals\"])(parent$$1.parentElement, null)) {\n $parent$$1$$187 = parent$$1.parentElement;\n continue getParent;\n } else {\n $parent$$1$$187 = parent$$1.parentNode;\n continue getParent;\n }\n\n break;\n }\n };\n\n return getOffset(getParent(el), [x$$22, y$$18]);\n}\nfunction Compost$$$createSvg(revX, revY, width$$1, height, viz) {\n var arg0$$13, arg1$$8;\n const patternInput$$31 = Scales$$$calculateScales(Compost$$$defstyle, viz);\n const sy$$14 = patternInput$$31[0][1];\n const sx$$14 = patternInput$$31[0][0];\n const shape$$39 = patternInput$$31[1];\n const defs$$1 = [];\n const area$$3 = [0, height, width$$1, 0];\n let svg$$2;\n const ctx$$3 = new Drawing$002EDrawingContext(Compost$$$defstyle, defs$$1);\n svg$$2 = Drawing$$$drawShape(ctx$$3, area$$3[0], area$$3[1], area$$3[2], area$$3[3], sx$$14, sy$$14, shape$$39);\n\n const triggerEvent = function triggerEvent(e$$2, event$$3) {\n Events$$$triggerEvent(area$$3[0], area$$3[1], area$$3[2], area$$3[3], sx$$14, sy$$14, shape$$39, e$$2, event$$3);\n };\n\n const mouseHandler = function mouseHandler(kind$$2, el$$1, evt) {\n const evt$$1 = evt;\n const patternInput$$32 = Compost$$$getRelativeLocation(el$$1, evt$$1.pageX, evt$$1.pageY);\n const y$$20 = patternInput$$32[1];\n const x$$24 = patternInput$$32[0];\n const arg00$$2 = evt$$1;\n const arg10$$10 = new Events$002EInteractiveEvent(0, \"MouseEvent\", kind$$2, [new Value(1, \"COV\", new continuous(0, \"CO\", x$$24)), new Value(1, \"COV\", new continuous(0, \"CO\", y$$20))]);\n const clo1$$10 = Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"partialApply\"])(1, triggerEvent, [arg00$$2]);\n clo1$$10(arg10$$10);\n };\n\n const touchHandler = function touchHandler(kind$$3, el$$2, evt$$2) {\n const evt$$3 = evt$$2;\n const touch = evt$$3.touches[0];\n const patternInput$$33 = Compost$$$getRelativeLocation(el$$2, touch.pageX, touch.pageY);\n const y$$21 = patternInput$$33[1];\n const x$$25 = patternInput$$33[0];\n const arg00$$3 = evt$$3;\n const arg10$$11 = new Events$002EInteractiveEvent(1, \"TouchEvent\", kind$$3, [new Value(1, \"COV\", new continuous(0, \"CO\", x$$25)), new Value(1, \"COV\", new continuous(0, \"CO\", y$$21))]);\n const clo1$$11 = Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"partialApply\"])(1, triggerEvent, [arg00$$3]);\n clo1$$11(arg10$$11);\n };\n\n return function (arg0$$12) {\n return function (arg1$$7) {\n return Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"El$$$op_Dynamic$$Z451691CD\"])(arg0$$12, arg1$$7);\n };\n }(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"h\"])(\"div\")(new _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"]())(new _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"]((arg0$$13 = _html_fs__WEBPACK_IMPORTED_MODULE_6__[\"s\"], arg1$$8 = \"svg\", (Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"El$$$op_Dynamic$$Z451691CD\"])(arg0$$13, arg1$$8)))(Object(_fable_fable_library_2_10_1_List_js__WEBPACK_IMPORTED_MODULE_2__[\"ofArray\"])([Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsGreater\"])(\"style\", \"overflow:visible\"), Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsGreater\"])(\"width\", Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"int32ToString\"])(~~width$$1)), Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsGreater\"])(\"height\", Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"int32ToString\"])(~~height)), Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsBangGreater\"])(\"click\", Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"uncurry\"])(2, Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"partialApply\"])(2, mouseHandler, [new Events$002EMouseEventKind(0, \"Click\")]))), Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsBangGreater\"])(\"mousemove\", Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"uncurry\"])(2, Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"partialApply\"])(2, mouseHandler, [new Events$002EMouseEventKind(1, \"Move\")]))), Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsBangGreater\"])(\"mousedown\", Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"uncurry\"])(2, Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"partialApply\"])(2, mouseHandler, [new Events$002EMouseEventKind(3, \"Down\")]))), Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsBangGreater\"])(\"mouseup\", Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"uncurry\"])(2, Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"partialApply\"])(2, mouseHandler, [new Events$002EMouseEventKind(2, \"Up\")]))), Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsBangGreater\"])(\"mouseleave\", function (_arg1$$11, evt$$4) {\n triggerEvent(evt$$4, new Events$002EInteractiveEvent(3, \"MouseLeave\"));\n }), Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsBangGreater\"])(\"touchmove\", Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"uncurry\"])(2, Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"partialApply\"])(2, touchHandler, [new Events$002ETouchEventKind(0, \"Move\")]))), Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsBangGreater\"])(\"touchstart\", Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"uncurry\"])(2, Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_7__[\"partialApply\"])(2, touchHandler, [new Events$002ETouchEventKind(1, \"Start\")]))), Object(_html_fs__WEBPACK_IMPORTED_MODULE_6__[\"op_EqualsBangGreater\"])(\"touchend\", function (_arg2$$4, evt$$5) {\n triggerEvent(evt$$5, new Events$002EInteractiveEvent(2, \"TouchEnd\"));\n })]))(Object(_fable_fable_library_2_10_1_List_js__WEBPACK_IMPORTED_MODULE_2__[\"ofSeq\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n const renderCtx = new Svg$002ERenderingContext(defs$$1);\n let body;\n const source$$13 = Svg$$$renderSvg(renderCtx, svg$$2);\n body = Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_4__[\"ofSeq\"])(source$$13, Array);\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"append\"])(defs$$1, Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(function () {\n return body;\n }));\n }))), new _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_0__[\"List\"]()));\n}\n\n//# sourceURL=webpack:///./src/core.fs?");
779
-
780
- /***/ }),
781
-
782
- /***/ "./src/data.js":
783
- /*!*********************!*\
784
- !*** ./src/data.js ***!
785
- \*********************/
786
- /*! exports provided: elections, gbpusd, gbpeur, iris */
787
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
788
-
789
- "use strict";
790
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"elections\", function() { return elections; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"gbpusd\", function() { return gbpusd; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"gbpeur\", function() { return gbpeur; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"iris\", function() { return iris; });\nlet elections = \r\n [ { party:\"Conservative\", color:\"#1F77B4\", y17:317, y19:365}, \r\n { party:\"Labour\", color:\"#D62728\", y17:262, y19:202},\r\n { party:\"LibDem\", color:\"#FF7F0E\", y17:12, y19:11}, \r\n { party:\"SNP\", color:\"#BCBD22\", y17:35, y19:48}, \r\n { party:\"Green\", color:\"#2CA02C\", y17:1, y19:1}, \r\n { party:\"DUP\", color:\"#8C564B\", y17:10, y19:8} ]\r\n\r\nlet gbpusd = \r\n [ 1.3206, 1.3267, 1.312, 1.3114, 1.3116, 1.3122, 1.3085, 1.3211, 1.3175, \r\n 1.3136, 1.3286, 1.3231, 1.3323, 1.3215, 1.3186, 1.2987, 1.296, 1.2932, \r\n 1.2885, 1.3048, 1.3287, 1.327, 1.3429, 1.3523, 1.3322, 1.3152, 1.3621, \r\n 1.4798, 1.4687, 1.467, 1.4694, 1.4293, 1.4064, 1.4196, 1.4114, 1.4282, \r\n 1.4334, 1.4465, 1.4552, 1.456, 1.4464, 1.4517, 1.4447, 1.4414 ].reverse() \r\n\r\nlet gbpeur = \r\n [ 1.1823, 1.1867, 1.1838, 1.1936, 1.1944, 1.1961, 1.1917, 1.2017, 1.1969, \r\n 1.193, 1.2006, 1.1952, 1.1998, 1.1903, 1.1909, 1.1759, 1.1743, 1.168, \r\n 1.1639, 1.175, 1.1929, 1.192, 1.2081, 1.2177, 1.2054, 1.1986, 1.2254, \r\n 1.3039, 1.3018, 1.3018, 1.296, 1.2709, 1.2617, 1.2634, 1.2589, 1.2639, \r\n 1.2687, 1.2771, 1.2773, 1.2823, 1.2726, 1.2814, 1.2947, 1.2898 ].reverse()\r\n\r\nlet iris = \r\n [ [5.1, 3.5, 1.4, 0.2, \"Setosa\"], [4.9, 3, 1.4, 0.2, \"Setosa\"], [4.7, 3.2, 1.3, 0.2, \"Setosa\"], \r\n [4.6, 3.1, 1.5, 0.2, \"Setosa\"], [5, 3.6, 1.4, 0.2, \"Setosa\"], [5.4, 3.9, 1.7, 0.4, \"Setosa\"],\r\n [4.6, 3.4, 1.4, 0.3, \"Setosa\"], [5, 3.4, 1.5, 0.2, \"Setosa\"], [4.4, 2.9, 1.4, 0.2, \"Setosa\"], \r\n [4.9, 3.1, 1.5, 0.1, \"Setosa\"], [5.4, 3.7, 1.5, 0.2, \"Setosa\"], [4.8, 3.4, 1.6, 0.2, \"Setosa\"], \r\n [4.8, 3, 1.4, 0.1, \"Setosa\"], [4.3, 3, 1.1, 0.1, \"Setosa\"], [5.8, 4, 1.2, 0.2, \"Setosa\"], \r\n [5.7, 4.4, 1.5, 0.4, \"Setosa\"], [5.4, 3.9, 1.3, 0.4, \"Setosa\"], [5.1, 3.5, 1.4, 0.3, \"Setosa\"], \r\n [5.7, 3.8, 1.7, 0.3, \"Setosa\"], [5.1, 3.8, 1.5, 0.3, \"Setosa\"], [5.4, 3.4, 1.7, 0.2, \"Setosa\"], \r\n [5.1, 3.7, 1.5, 0.4, \"Setosa\"], [4.6, 3.6, 1, 0.2, \"Setosa\"], [5.1, 3.3, 1.7, 0.5, \"Setosa\"], \r\n [4.8, 3.4, 1.9, 0.2, \"Setosa\"], [5, 3, 1.6, 0.2, \"Setosa\"], [5, 3.4, 1.6, 0.4, \"Setosa\"], \r\n [5.2, 3.5, 1.5, 0.2, \"Setosa\"], [5.2, 3.4, 1.4, 0.2, \"Setosa\"], [4.7, 3.2, 1.6, 0.2, \"Setosa\"], \r\n [4.8, 3.1, 1.6, 0.2, \"Setosa\"], [5.4, 3.4, 1.5, 0.4, \"Setosa\"], [5.2, 4.1, 1.5, 0.1, \"Setosa\"], \r\n [5.5, 4.2, 1.4, 0.2, \"Setosa\"], [4.9, 3.1, 1.5, 0.2, \"Setosa\"], [5, 3.2, 1.2, 0.2, \"Setosa\"], \r\n [5.5, 3.5, 1.3, 0.2, \"Setosa\"], [4.9, 3.6, 1.4, 0.1, \"Setosa\"], [4.4, 3, 1.3, 0.2, \"Setosa\"], \r\n [5.1, 3.4, 1.5, 0.2, \"Setosa\"], [5, 3.5, 1.3, 0.3, \"Setosa\"], [4.5, 2.3, 1.3, 0.3, \"Setosa\"],\r\n [4.4, 3.2, 1.3, 0.2, \"Setosa\"], [5, 3.5, 1.6, 0.6, \"Setosa\"], [5.1, 3.8, 1.9, 0.4, \"Setosa\"], \r\n [4.8, 3, 1.4, 0.3, \"Setosa\"], [5.1, 3.8, 1.6, 0.2, \"Setosa\"], [4.6, 3.2, 1.4, 0.2, \"Setosa\"], \r\n [5.3, 3.7, 1.5, 0.2, \"Setosa\"], [5, 3.3, 1.4, 0.2, \"Setosa\"], [7, 3.2, 4.7, 1.4, \"Versicolor\"], \r\n [6.4, 3.2, 4.5, 1.5, \"Versicolor\"], [6.9, 3.1, 4.9, 1.5, \"Versicolor\"], [5.5, 2.3, 4, 1.3, \"Versicolor\"], \r\n [6.5, 2.8, 4.6, 1.5, \"Versicolor\"], [5.7, 2.8, 4.5, 1.3, \"Versicolor\"], [6.3, 3.3, 4.7, 1.6, \"Versicolor\"], \r\n [4.9, 2.4, 3.3, 1, \"Versicolor\"], [6.6, 2.9, 4.6, 1.3, \"Versicolor\"], [5.2, 2.7, 3.9, 1.4, \"Versicolor\"], \r\n [5, 2, 3.5, 1, \"Versicolor\"], [5.9, 3, 4.2, 1.5, \"Versicolor\"], [6, 2.2, 4, 1, \"Versicolor\"], \r\n [6.1, 2.9, 4.7, 1.4, \"Versicolor\"], [5.6, 2.9, 3.6, 1.3, \"Versicolor\"], [6.7, 3.1, 4.4, 1.4, \"Versicolor\"], \r\n [5.6, 3, 4.5, 1.5, \"Versicolor\"], [5.8, 2.7, 4.1, 1, \"Versicolor\"], [6.2, 2.2, 4.5, 1.5, \"Versicolor\"], \r\n [5.6, 2.5, 3.9, 1.1, \"Versicolor\"], [5.9, 3.2, 4.8, 1.8, \"Versicolor\"], [6.1, 2.8, 4, 1.3, \"Versicolor\"], \r\n [6.3, 2.5, 4.9, 1.5, \"Versicolor\"], [6.1, 2.8, 4.7, 1.2, \"Versicolor\"], [6.4, 2.9, 4.3, 1.3, \"Versicolor\"], \r\n [6.6, 3, 4.4, 1.4, \"Versicolor\"], [6.8, 2.8, 4.8, 1.4, \"Versicolor\"], [6.7, 3, 5, 1.7, \"Versicolor\"], \r\n [6, 2.9, 4.5, 1.5, \"Versicolor\"], [5.7, 2.6, 3.5, 1, \"Versicolor\"], [5.5, 2.4, 3.8, 1.1, \"Versicolor\"], \r\n [5.5, 2.4, 3.7, 1, \"Versicolor\"], [5.8, 2.7, 3.9, 1.2, \"Versicolor\"], [6, 2.7, 5.1, 1.6, \"Versicolor\"], \r\n [5.4, 3, 4.5, 1.5, \"Versicolor\"], [6, 3.4, 4.5, 1.6, \"Versicolor\"], [6.7, 3.1, 4.7, 1.5, \"Versicolor\"], \r\n [6.3, 2.3, 4.4, 1.3, \"Versicolor\"], [5.6, 3, 4.1, 1.3, \"Versicolor\"], [5.5, 2.5, 4, 1.3, \"Versicolor\"], \r\n [5.5, 2.6, 4.4, 1.2, \"Versicolor\"], [6.1, 3, 4.6, 1.4, \"Versicolor\"], [5.8, 2.6, 4, 1.2, \"Versicolor\"], \r\n [5, 2.3, 3.3, 1, \"Versicolor\"], [5.6, 2.7, 4.2, 1.3, \"Versicolor\"], [5.7, 3, 4.2, 1.2, \"Versicolor\"], \r\n [5.7, 2.9, 4.2, 1.3, \"Versicolor\"], [6.2, 2.9, 4.3, 1.3, \"Versicolor\"], [5.1, 2.5, 3, 1.1, \"Versicolor\"], \r\n [5.7, 2.8, 4.1, 1.3, \"Versicolor\"], [6.3, 3.3, 6, 2.5, \"Virginica\"], [5.8, 2.7, 5.1, 1.9, \"Virginica\"], \r\n [7.1, 3, 5.9, 2.1, \"Virginica\"], [6.3, 2.9, 5.6, 1.8, \"Virginica\"], [6.5, 3, 5.8, 2.2, \"Virginica\"], \r\n [7.6, 3, 6.6, 2.1, \"Virginica\"], [4.9, 2.5, 4.5, 1.7, \"Virginica\"], [7.3, 2.9, 6.3, 1.8, \"Virginica\"], \r\n [6.7, 2.5, 5.8, 1.8, \"Virginica\"], [7.2, 3.6, 6.1, 2.5, \"Virginica\"], [6.5, 3.2, 5.1, 2, \"Virginica\"], \r\n [6.4, 2.7, 5.3, 1.9, \"Virginica\"], [6.8, 3, 5.5, 2.1, \"Virginica\"], [5.7, 2.5, 5, 2, \"Virginica\"], \r\n [5.8, 2.8, 5.1, 2.4, \"Virginica\"], [6.4, 3.2, 5.3, 2.3, \"Virginica\"], [6.5, 3, 5.5, 1.8, \"Virginica\"], \r\n [7.7, 3.8, 6.7, 2.2, \"Virginica\"], [7.7, 2.6, 6.9, 2.3, \"Virginica\"], [6, 2.2, 5, 1.5, \"Virginica\"],\r\n [6.9, 3.2, 5.7, 2.3, \"Virginica\"], [5.6, 2.8, 4.9, 2, \"Virginica\"], [7.7, 2.8, 6.7, 2, \"Virginica\"], \r\n [6.3, 2.7, 4.9, 1.8, \"Virginica\"], [6.7, 3.3, 5.7, 2.1, \"Virginica\"], [7.2, 3.2, 6, 1.8, \"Virginica\"], \r\n [6.2, 2.8, 4.8, 1.8, \"Virginica\"], [6.1, 3, 4.9, 1.8, \"Virginica\"], [6.4, 2.8, 5.6, 2.1, \"Virginica\"], \r\n [7.2, 3, 5.8, 1.6, \"Virginica\"], [7.4, 2.8, 6.1, 1.9, \"Virginica\"], [7.9, 3.8, 6.4, 2, \"Virginica\"], \r\n [6.4, 2.8, 5.6, 2.2, \"Virginica\"], [6.3, 2.8, 5.1, 1.5, \"Virginica\"], [6.1, 2.6, 5.6, 1.4, \"Virginica\"], \r\n [7.7, 3, 6.1, 2.3, \"Virginica\"], [6.3, 3.4, 5.6, 2.4, \"Virginica\"], [6.4, 3.1, 5.5, 1.8, \"Virginica\"], \r\n [6, 3, 4.8, 1.8, \"Virginica\"], [6.9, 3.1, 5.4, 2.1, \"Virginica\"], [6.7, 3.1, 5.6, 2.4, \"Virginica\"], \r\n [6.9, 3.1, 5.1, 2.3, \"Virginica\"], [5.8, 2.7, 5.1, 1.9, \"Virginica\"], [6.8, 3.2, 5.9, 2.3, \"Virginica\"], \r\n [6.7, 3.3, 5.7, 2.5, \"Virginica\"], [6.7, 3, 5.2, 2.3, \"Virginica\"], [6.3, 2.5, 5, 1.9, \"Virginica\"], \r\n [6.5, 3, 5.2, 2, \"Virginica\"], [6.2, 3.4, 5.4, 2.3, \"Virginica\"], [5.9, 3, 5.1, 1.8, \"Virginica\"] \r\n ].map(a => ({ sepal_length: a[0], sepal_width: a[1], petal_length: a[2], petal_width: a[3], species: a[4] }))\r\n\n\n//# sourceURL=webpack:///./src/data.js?");
791
-
792
- /***/ }),
793
-
794
- /***/ "./src/demos.js":
795
- /*!**********************!*\
796
- !*** ./src/demos.js ***!
797
- \**********************/
798
- /*! no exports provided */
799
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
800
-
801
- "use strict";
802
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _compost_fs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./compost.fs */ \"./src/compost.fs\");\n/* harmony import */ var _data_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./data.js */ \"./src/data.js\");\n\r\n\r\n\r\nvar pres = document.getElementsByTagName(\"pre\");\r\nfor(var i = 0; i < pres.length; i++) {\r\n eval(\"(function(c,s,elections,gbpusd,gbpeur,iris) { \" + pres[i].innerText + \"})\")\r\n (_compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"], _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"scale\"], _data_js__WEBPACK_IMPORTED_MODULE_1__[\"elections\"], _data_js__WEBPACK_IMPORTED_MODULE_1__[\"gbpusd\"], _data_js__WEBPACK_IMPORTED_MODULE_1__[\"gbpeur\"], _data_js__WEBPACK_IMPORTED_MODULE_1__[\"iris\"]);\r\n}\r\n\r\n(function() {\r\n// Calculate bins of a histogram. The function splits the data into 10\r\n// equally sized bins, counts the values in each bin and returns an array\r\n// of three-element arrays with start of the bin, end of the bin and count\r\nfunction bins(data) {\r\n let lo = Math.min(...data), hi = Math.max(...data);\r\n let bins = {}\r\n for(var i=0; i<data.length; i++) {\r\n let k = Math.round((data[i]-lo)/(hi-lo)*9);\r\n if (bins[k]==undefined) bins[k]=1; else bins[k]++;\r\n }\r\n let keys = Object.keys(bins).map(k => k*1).sort()\r\n return keys.map(k =>\r\n [ lo + (hi - lo) * (k / 10),\r\n lo + (hi - lo) * ((k + 1) / 10), bins[k]]);\r\n}\r\n\r\n// Makes a color given in \"#rrggbb\" format darker or lighter\r\n// (by multiplying each component by the specified number k)\r\nfunction adjust(color, k) {\r\n let r = parseInt(color.substr(1, 2), 16)\r\n let g = parseInt(color.substr(3, 2), 16)\r\n let b = parseInt(color.substr(5, 2), 16)\r\n let f = n => n*k > 255 ? 255 : n*k;\r\n return \"#\" + ((f(r) << 16) + (f(g) << 8) + (f(b) << 0)).toString(16);\r\n}\r\n\r\n// A derived Compost operation that adds a title to any given chart.\r\n// This works by creating text element and using 'nest' to allocate top\r\n// 15% of space for the title and the remaining 85% of space for the title.\r\nfunction title(text, chart) {\r\n let title = _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].scale(_compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"scale\"].continuous(0, 100), _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"scale\"].continuous(0, 100),\r\n _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].font(\"11pt arial\", \"black\", _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].text(50, 80, text)))\r\n return _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].overlay([\r\n _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].nest(0, 100, 85, 100, title),\r\n _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].nest(0, 100, 0, 85, chart)\r\n ])\r\n}\r\n\r\n// Creates a bar of height 'y' that is witin a categorical value 'x'\r\n// starting at the offset 'f' and ending at the offset 't'.\r\nfunction partColumn(f, t, x, y) {\r\n return _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].shape([ [ [x,f], y ], [ [x,t], y ], [ [x,t], 0 ], [ [x,f], 0 ] ])\r\n}\r\n\r\n// Create a line using array index as the X value and array value as the Y value\r\nfunction line(data) {\r\n return _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].line(data.map((v, i) => [i, v]));\r\n}\r\n\r\n\r\n// ----------------------------------------------------------------------------\r\n// DEMO #1: United Kingdom general elections (2017 vs 2019)\r\n// ----------------------------------------------------------------------------\r\n\r\nlet bars =\r\n _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].axes(\"left bottom\", _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].scaleY(_compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"scale\"].continuous(0, 410), _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].overlay(\r\n _data_js__WEBPACK_IMPORTED_MODULE_1__[\"elections\"].map(e =>\r\n _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].padding(0, 10, 0, 10, _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].overlay([\r\n _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].fillColor(adjust(e.color, 0.8), partColumn(0, 0.5, e.party, e.y17)),\r\n _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].fillColor(adjust(e.color, 1.2), partColumn(0.5, 1, e.party, e.y19))\r\n ]))\r\n )\r\n )))\r\n\r\n_compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].render(\"out1\", title(\"United Kingdom general elections (2017 vs 2019)\", bars))\r\n\r\n// ----------------------------------------------------------------------------\r\n// DEMO #2: GBP-USD and GBP-EUR rates (June-July 2016)\r\n// ----------------------------------------------------------------------------\r\n\r\nfunction body(lo, hi, data) {\r\n return _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].axes(\"left right bottom\", _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].overlay([\r\n _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].fillColor(\"#1F77B460\", _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].shape(\r\n [ [0,lo], [16,lo], [16,hi], [0,hi] ])),\r\n _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].fillColor(\"#D6272860\", _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].shape(\r\n [ [data.length-1,lo], [16,lo], [16,hi], [data.length-1,hi] ])),\r\n _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].strokeColor(\"#202020\", line(data))\r\n ]))\r\n}\r\n\r\nlet rates = _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].overlay([\r\n _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].nestY(0, 50, body(1.25, 1.52, _data_js__WEBPACK_IMPORTED_MODULE_1__[\"gbpusd\"])),\r\n _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].nestY(50, 100, body(1.15, 1.32, _data_js__WEBPACK_IMPORTED_MODULE_1__[\"gbpeur\"])),\r\n])\r\n\r\n_compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].render(\"out2\", title(\"GBP-USD and GBP-EUR rates (June-July 2016)\", rates))\r\n\r\n// ----------------------------------------------------------------------------\r\n// DEMO #3: Pairplot comparing features of the iris data set\r\n// ----------------------------------------------------------------------------\r\n\r\nlet irisColors = {Setosa:\"blue\", Virginica:\"green\", Versicolor:\"red\" }\r\nlet cats = [\"sepal_width\", \"petal_length\", \"petal_width\"]\r\n\r\nlet pairplot =\r\n _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].overlay(cats.map(x => cats.map(y =>\r\n _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].nest([x, 0], [x, 1], [y, 0], [y, 1],\r\n _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].axes(\"left bottom\", _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].overlay(\r\n x == y\r\n ? bins(_data_js__WEBPACK_IMPORTED_MODULE_1__[\"iris\"].map(i => i[x])).map(b =>\r\n _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].fillColor(\"#808080\", _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].shape(\r\n [ [b[0], b[2]], [b[1], b[2]], [b[1], 0], [b[0], 0] ])) )\r\n : _data_js__WEBPACK_IMPORTED_MODULE_1__[\"iris\"].map(i => _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].strokeColor(irisColors[i.species],\r\n _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].bubble(i[x], i[y], 1, 1)))\r\n ))))).flat())\r\n\r\n_compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].render(\"out3\", title(\"Pairplot comparing sepal width, \" +\r\n \"petal length and petal width of irises\", pairplot))\r\n\r\n// ----------------------------------------------------------------------------\r\n// DEMO #4: Interactive 'You Draw' chart that lets you resize bars\r\n// ----------------------------------------------------------------------------\r\n\r\nlet partyColors = {}\r\nfor(var i = 0; i < _data_js__WEBPACK_IMPORTED_MODULE_1__[\"elections\"].length; i++)\r\n partyColors[_data_js__WEBPACK_IMPORTED_MODULE_1__[\"elections\"][i].party] = _data_js__WEBPACK_IMPORTED_MODULE_1__[\"elections\"][i].color;\r\n\r\nfunction update(state, evt) {\r\n switch (evt.kind) {\r\n case 'set':\r\n if (!state.enabled) return state;\r\n let newValues = state.values.map(kv =>\r\n kv[0] == evt.party ? [kv[0], evt.newValue] : kv)\r\n return { ...state, values: newValues }\r\n case 'enable':\r\n return { ...state, enabled: evt.enabled }\r\n }\r\n}\r\n\r\nfunction render(trigger, state) {\r\n return title(\"Drag the bars to guess UK election results!\",\r\n _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].axes(\"left bottom\", _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].scaleY(_compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"scale\"].continuous(0, 400),\r\n _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].on({\r\n mousedown: () => trigger({ kind:'enable', enabled:true }),\r\n mouseup: () => trigger({ kind:'enable', enabled:false }),\r\n mousemove: (x, y) => trigger({ kind:'set', party:x[0], newValue:y })\r\n }, _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].overlay(state.values.map(kv =>\r\n _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].fillColor(partyColors[kv[0]],\r\n _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].padding(0, 10, 0, 10, _compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].column(kv[0], kv[1]))) ))\r\n ))))\r\n}\r\n\r\nlet init = { enabled:false, values: _data_js__WEBPACK_IMPORTED_MODULE_1__[\"elections\"].map(e => [e.party, e.y19]) }\r\n_compost_fs__WEBPACK_IMPORTED_MODULE_0__[\"compost\"].interactive(\"out4\", init, update, render)\r\n})();\r\n\n\n//# sourceURL=webpack:///./src/demos.js?");
803
-
804
- /***/ }),
805
-
806
- /***/ "./src/html.fs":
807
- /*!*********************!*\
808
- !*** ./src/html.fs ***!
809
- \*********************/
810
- /*! exports provided: Common$$$niceNumber, DomAttribute, DomAttribute$reflection, DomNode, DomNode$reflection, createTree, counter, renderVirtual, render, renderTo, createVirtualDomAsyncApp, createVirtualDomApp, text, op_EqualsGreater, op_EqualsBangGreater, El, El$reflection, El$$$$002Ector$$Z721C83C5, El$$get_Namespace, El$$$op_Dynamic$$Z451691CD, El$$delayed, El$$part, h, s */
811
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
812
-
813
- "use strict";
814
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Common$$$niceNumber\", function() { return Common$$$niceNumber; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DomAttribute\", function() { return DomAttribute; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DomAttribute$reflection\", function() { return DomAttribute$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DomNode\", function() { return DomNode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DomNode$reflection\", function() { return DomNode$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createTree\", function() { return createTree; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"counter\", function() { return counter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"renderVirtual\", function() { return renderVirtual; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"renderTo\", function() { return renderTo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createVirtualDomAsyncApp\", function() { return createVirtualDomAsyncApp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createVirtualDomApp\", function() { return createVirtualDomApp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"text\", function() { return text; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_EqualsGreater\", function() { return op_EqualsGreater; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"op_EqualsBangGreater\", function() { return op_EqualsBangGreater; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"El\", function() { return El; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"El$reflection\", function() { return El$reflection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"El$$$$002Ector$$Z721C83C5\", function() { return El$$$$002Ector$$Z721C83C5; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"El$$get_Namespace\", function() { return El$$get_Namespace; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"El$$$op_Dynamic$$Z451691CD\", function() { return El$$$op_Dynamic$$Z451691CD; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"El$$delayed\", function() { return El$$delayed; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"El$$part\", function() { return El$$part; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return h; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"s\", function() { return s; });\n/* harmony import */ var _fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../.fable/fable-library.2.10.1/String.js */ \"./.fable/fable-library.2.10.1/String.js\");\n/* harmony import */ var _fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../.fable/fable-library.2.10.1/Util.js */ \"./.fable/fable-library.2.10.1/Util.js\");\n/* harmony import */ var _fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../.fable/fable-library.2.10.1/Seq.js */ \"./.fable/fable-library.2.10.1/Seq.js\");\n/* harmony import */ var _fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../.fable/fable-library.2.10.1/Array.js */ \"./.fable/fable-library.2.10.1/Array.js\");\n/* harmony import */ var _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../.fable/fable-library.2.10.1/Types.js */ \"./.fable/fable-library.2.10.1/Types.js\");\n/* harmony import */ var _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../.fable/fable-library.2.10.1/Reflection.js */ \"./.fable/fable-library.2.10.1/Reflection.js\");\n/* harmony import */ var _fable_fable_library_2_10_1_List_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../.fable/fable-library.2.10.1/List.js */ \"./.fable/fable-library.2.10.1/List.js\");\n/* harmony import */ var virtual_dom__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! virtual-dom */ \"./node_modules/virtual-dom/index.js\");\n/* harmony import */ var virtual_dom__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(virtual_dom__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _fable_fable_library_2_10_1_Option_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../.fable/fable-library.2.10.1/Option.js */ \"./.fable/fable-library.2.10.1/Option.js\");\n/* harmony import */ var _fable_fable_library_2_10_1_Event_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../.fable/fable-library.2.10.1/Event.js */ \"./.fable/fable-library.2.10.1/Event.js\");\n/* harmony import */ var _fable_fable_library_2_10_1_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../.fable/fable-library.2.10.1/AsyncBuilder.js */ \"./.fable/fable-library.2.10.1/AsyncBuilder.js\");\n/* harmony import */ var _fable_fable_library_2_10_1_Async_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../.fable/fable-library.2.10.1/Async.js */ \"./.fable/fable-library.2.10.1/Async.js\");\n/* harmony import */ var _fable_fable_library_2_10_1_Observable_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../.fable/fable-library.2.10.1/Observable.js */ \"./.fable/fable-library.2.10.1/Observable.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction Common$$$niceNumber(num, decs) {\n var x;\n const str = String(num);\n const dot = str.indexOf(\".\") | 0;\n const patternInput = dot === -1 ? [str, \"\"] : [Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_0__[\"substring\"])(str, 0, dot), Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_0__[\"substring\"])(str, dot + 1, Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_1__[\"min\"])(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_1__[\"comparePrimitives\"], decs, str.length - dot - 1))];\n const before = patternInput[0];\n const after = patternInput[1];\n const after$$1 = after.length < decs ? after + Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_3__[\"ofSeq\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_2__[\"delay\"])(function () {\n return Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_2__[\"map\"])(function (i) {\n return \"0\";\n }, Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_2__[\"rangeNumber\"])(1, 1, decs - after.length));\n }), Array).join(\"\") : after;\n let res = before;\n\n if (before.length > 5) {\n const inputSequence = Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_2__[\"rangeNumber\"])(before.length - 1, -1, 0);\n Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_2__[\"iterate\"])(function (i$$1) {\n const j = before.length - i$$1 | 0;\n\n if (i$$1 !== 0 ? j % 3 === 0 : false) {\n res = Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_0__[\"insert\"])(res, i$$1, \",\");\n } else {\n void null;\n }\n }, inputSequence);\n } else {\n void null;\n }\n\n if (Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_2__[\"forAll\"])((x = \"0\", function (y) {\n return x === y;\n }), after$$1.split(\"\"))) {\n return res;\n } else {\n return res + \".\" + after$$1;\n }\n}\nconst DomAttribute = Object(_fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_4__[\"declare\"])(function Compost_Html_DomAttribute(tag, name, ...fields) {\n this.tag = tag | 0;\n this.name = name;\n this.fields = fields;\n}, _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_4__[\"Union\"]);\nfunction DomAttribute$reflection() {\n return Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_5__[\"union_type\"])(\"Compost.Html.DomAttribute\", [], DomAttribute, () => [[\"Event\", [[\"Item\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_5__[\"lambda_type\"])(Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_5__[\"class_type\"])(\"Browser.Types.HTMLElement\"), Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_5__[\"lambda_type\"])(Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_5__[\"class_type\"])(\"Browser.Types.Event\"), _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_5__[\"unit_type\"]))]]], [\"Attribute\", [[\"Item\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_5__[\"string_type\"]]]], [\"Property\", [[\"Item\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_5__[\"obj_type\"]]]]]);\n}\nconst DomNode = Object(_fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_4__[\"declare\"])(function Compost_Html_DomNode(tag, name, ...fields) {\n this.tag = tag | 0;\n this.name = name;\n this.fields = fields;\n}, _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_4__[\"Union\"]);\nfunction DomNode$reflection() {\n return Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_5__[\"union_type\"])(\"Compost.Html.DomNode\", [], DomNode, () => [[\"Text\", [[\"Item\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_5__[\"string_type\"]]]], [\"Delayed\", [[\"Item1\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_5__[\"string_type\"]], [\"Item2\", DomNode$reflection()], [\"Item3\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_5__[\"lambda_type\"])(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_5__[\"string_type\"], _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_5__[\"unit_type\"])]]], [\"Element\", [[\"ns\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_5__[\"string_type\"]], [\"tag\", _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_5__[\"string_type\"]], [\"attributes\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_5__[\"array_type\"])(Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_5__[\"tuple_type\"])(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_5__[\"string_type\"], DomAttribute$reflection()))], [\"children\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_5__[\"array_type\"])(DomNode$reflection())], [\"onRender\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_5__[\"option_type\"])(Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_5__[\"lambda_type\"])(Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_5__[\"class_type\"])(\"Browser.Types.HTMLElement\"), _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_5__[\"unit_type\"]))]]], [\"Part\", [[\"func\", Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_5__[\"lambda_type\"])(Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_5__[\"class_type\"])(\"Browser.Types.HTMLElement\"), _fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_5__[\"unit_type\"])]]]]);\n}\nfunction createTree(ns, tag, args, children) {\n const attrs = [];\n const props = [];\n Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_2__[\"iterate\"])(function (forLoopVar) {\n const v = forLoopVar[1];\n const k = forLoopVar[0];\n\n switch (v.tag) {\n case 2:\n {\n const o = v.fields[0];\n const k$$2 = k;\n void props.push([k$$2, o]);\n break;\n }\n\n case 0:\n {\n const k$$3 = k;\n const f = v.fields[0];\n void props.push([\"on\" + k$$3, function (o$$1) {\n f(o$$1[\"target\"], event);\n }]);\n break;\n }\n\n default:\n {\n const v$$1 = v.fields[0];\n const k$$1 = k;\n void attrs.push([k$$1, v$$1]);\n }\n }\n }, args);\n const attrs$$1 = Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_1__[\"createObj\"])(attrs, 0);\n const ns$$1 = (ns === null ? true : ns === \"\") ? new _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_4__[\"List\"]() : new _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_4__[\"List\"]([\"namespace\", ns], new _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_4__[\"List\"]());\n const props$$1 = Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_1__[\"createObj\"])(Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_2__[\"append\"])(Object(_fable_fable_library_2_10_1_List_js__WEBPACK_IMPORTED_MODULE_6__[\"append\"])(ns$$1, new _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_4__[\"List\"]([\"attributes\", attrs$$1], new _fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_4__[\"List\"]())), props), 0);\n const elem = Object(virtual_dom__WEBPACK_IMPORTED_MODULE_7__[\"h\"])(tag, props$$1, children);\n return elem;\n}\nconst counter = Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_1__[\"createAtom\"])(0);\nfunction renderVirtual(node) {\n if (node.tag === 2) {\n if (node.fields[4] == null) {\n const attrs$$2 = node.fields[2];\n const children$$1 = node.fields[3];\n const ns$$2 = node.fields[0];\n const tag$$1 = node.fields[1];\n return createTree(ns$$2, tag$$1, attrs$$2, Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_3__[\"map\"])(renderVirtual, children$$1, Array));\n } else {\n throw new Error(\"renderVirtual: Does not support elements with after-render handlers\");\n }\n } else if (node.tag === 1) {\n const body = node.fields[1];\n const func = node.fields[2];\n const symbol = node.fields[0];\n counter(counter() + 1);\n let id;\n const arg10 = counter() | 0;\n const clo1 = Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_0__[\"toText\"])(Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_0__[\"printf\"])(\"delayed_%d\"));\n id = clo1(arg10);\n\n const waitForAdded = function waitForAdded(n, el) {\n if (!Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_1__[\"equals\"])(el.parentElement, null)) {\n el.dataset.renderedSymbol = symbol;\n el.id = id;\n func(id);\n } else if (n > 0) {\n const value = window.setTimeout(function () {\n waitForAdded(n - 1, el);\n }, 1);\n void value;\n } else {\n throw new Error(\"Delayed element was not created in time\");\n }\n };\n\n const Hook = function () {\n void null;\n };\n\n Hook.prototype.hook = function (node$$2, propertyName, previousValue) {\n if (node$$2.dataset.renderedSymbol !== symbol) {\n waitForAdded(10, node$$2);\n } else {\n void null;\n }\n };\n\n const h$$1 = new Hook();\n return createTree(null, \"div\", [[\"renderhk\", new DomAttribute(2, \"Property\", h$$1)]], [renderVirtual(body)]);\n } else if (node.tag === 3) {\n throw new Error(\"renderVirtual: Does not support parts\");\n } else {\n const s$$1 = node.fields[0];\n return s$$1;\n }\n}\nfunction render(node$$3) {\n switch (node$$3.tag) {\n case 1:\n {\n const func$$1 = node$$3.fields[2];\n counter(counter() + 1);\n const el$$1 = document.createElement(\"div\");\n const arg10$$1 = counter() | 0;\n const clo1$$1 = Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_0__[\"toText\"])(Object(_fable_fable_library_2_10_1_String_js__WEBPACK_IMPORTED_MODULE_0__[\"printf\"])(\"delayed_%d\"));\n el$$1.id = clo1$$1(arg10$$1);\n return [el$$1, function () {\n func$$1(el$$1.id);\n }];\n }\n\n case 3:\n {\n const func$$2 = node$$3.fields[0];\n const el$$2 = document.createElement(\"div\");\n return [el$$2, function () {\n func$$2(el$$2);\n }];\n }\n\n case 2:\n {\n const tag$$2 = node$$3.fields[1];\n const ns$$3 = node$$3.fields[0];\n const f$$1 = node$$3.fields[4];\n const children$$2 = node$$3.fields[3];\n const attrs$$3 = node$$3.fields[2];\n const el$$3 = (ns$$3 === null ? true : ns$$3 === \"\") ? document.createElement(tag$$2) : document.createElementNS(ns$$3, tag$$2);\n const rc = Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_3__[\"map\"])(render, children$$2, Array);\n\n for (let idx = 0; idx <= rc.length - 1; idx++) {\n const forLoopVar$$1 = rc[idx];\n const c = forLoopVar$$1[0];\n const value$$2 = el$$3.appendChild(c);\n void value$$2;\n }\n\n for (let idx$$1 = 0; idx$$1 <= attrs$$3.length - 1; idx$$1++) {\n const forLoopVar$$2 = attrs$$3[idx$$1];\n const k$$4 = forLoopVar$$2[0];\n const a = forLoopVar$$2[1];\n\n switch (a.tag) {\n case 1:\n {\n const v$$2 = a.fields[0];\n el$$3.setAttribute(k$$4, v$$2);\n break;\n }\n\n case 0:\n {\n const f$$2 = a.fields[0];\n void null;\n break;\n }\n\n default:\n {\n const o$$2 = a.fields[0];\n el$$3[k$$4] = o$$2;\n }\n }\n }\n\n const onRender = function onRender() {\n for (let idx$$2 = 0; idx$$2 <= rc.length - 1; idx$$2++) {\n const forLoopVar$$3 = rc[idx$$2];\n const f$$3 = forLoopVar$$3[1];\n f$$3();\n }\n\n const option = f$$1;\n Object(_fable_fable_library_2_10_1_Seq_js__WEBPACK_IMPORTED_MODULE_2__[\"iterate\"])(function action(f$$4) {\n f$$4(el$$3);\n }, Object(_fable_fable_library_2_10_1_Option_js__WEBPACK_IMPORTED_MODULE_8__[\"toArray\"])(option));\n };\n\n return [el$$3, onRender];\n }\n\n default:\n {\n const s$$2 = node$$3.fields[0];\n return [document.createTextNode(s$$2), function () {\n void null;\n }];\n }\n }\n}\nfunction renderTo(node$$5, dom) {\n while (!Object(_fable_fable_library_2_10_1_Util_js__WEBPACK_IMPORTED_MODULE_1__[\"equals\"])(node$$5.lastChild, null)) {\n void node$$5.removeChild(node$$5.lastChild);\n }\n\n const patternInput$$1 = render(dom);\n const f$$5 = patternInput$$1[1];\n const el$$4 = patternInput$$1[0];\n const value$$3 = node$$5.appendChild(el$$4);\n void value$$3;\n f$$5();\n}\nfunction createVirtualDomAsyncApp(id$$1, initial, r, u) {\n const event = new _fable_fable_library_2_10_1_Event_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]();\n\n const trigger = function trigger(e) {\n event.Trigger(e);\n };\n\n let container = document.createElement(\"div\");\n document.getElementById(id$$1).innerHTML = \"\";\n const value$$4 = document.getElementById(id$$1).appendChild(container);\n void value$$4;\n let tree = {};\n let state = initial;\n\n const handleEvent = function handleEvent(evt) {\n let arg00;\n const builder$0040 = _fable_fable_library_2_10_1_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_10__[\"singleton\"];\n arg00 = builder$0040.Delay(function () {\n var e$$1;\n return builder$0040.Combine(evt != null ? (e$$1 = Object(_fable_fable_library_2_10_1_Option_js__WEBPACK_IMPORTED_MODULE_8__[\"value\"])(evt), builder$0040.Bind(u(state, e$$1), function (_arg1) {\n const ns$$4 = _arg1;\n state = ns$$4;\n return builder$0040.Zero();\n })) : (void null, builder$0040.Zero()), builder$0040.Delay(function () {\n let newTree;\n const node$$6 = r(trigger, state);\n newTree = renderVirtual(node$$6);\n const patches = Object(virtual_dom__WEBPACK_IMPORTED_MODULE_7__[\"diff\"])(tree, newTree);\n container = Object(virtual_dom__WEBPACK_IMPORTED_MODULE_7__[\"patch\"])(container, patches);\n tree = newTree;\n return builder$0040.Zero();\n }));\n });\n Object(_fable_fable_library_2_10_1_Async_js__WEBPACK_IMPORTED_MODULE_11__[\"startImmediate\"])(arg00);\n };\n\n handleEvent(undefined);\n Object(_fable_fable_library_2_10_1_Observable_js__WEBPACK_IMPORTED_MODULE_12__[\"add\"])(function ($arg$$3) {\n var arg0;\n handleEvent((arg0 = $arg$$3, (Object(_fable_fable_library_2_10_1_Option_js__WEBPACK_IMPORTED_MODULE_8__[\"some\"])(arg0))));\n }, event.Publish);\n}\nfunction createVirtualDomApp(id$$2, initial$$1, r$$1, u$$1) {\n const event$$1 = new _fable_fable_library_2_10_1_Event_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]();\n\n const trigger$$1 = function trigger$$1(e$$2) {\n event$$1.Trigger(e$$2);\n };\n\n let container$$1 = document.createElement(\"div\");\n document.getElementById(id$$2).innerHTML = \"\";\n const value$$5 = document.getElementById(id$$2).appendChild(container$$1);\n void value$$5;\n let tree$$1 = {};\n let state$$1 = initial$$1;\n\n const handleEvent$$1 = function handleEvent$$1(evt$$1) {\n if (evt$$1 != null) {\n const e$$3 = Object(_fable_fable_library_2_10_1_Option_js__WEBPACK_IMPORTED_MODULE_8__[\"value\"])(evt$$1);\n state$$1 = u$$1(state$$1, e$$3);\n } else {\n state$$1 = state$$1;\n }\n\n let newTree$$1;\n const node$$7 = r$$1(trigger$$1, state$$1);\n newTree$$1 = renderVirtual(node$$7);\n const patches$$1 = Object(virtual_dom__WEBPACK_IMPORTED_MODULE_7__[\"diff\"])(tree$$1, newTree$$1);\n container$$1 = Object(virtual_dom__WEBPACK_IMPORTED_MODULE_7__[\"patch\"])(container$$1, patches$$1);\n tree$$1 = newTree$$1;\n };\n\n handleEvent$$1(undefined);\n Object(_fable_fable_library_2_10_1_Observable_js__WEBPACK_IMPORTED_MODULE_12__[\"add\"])(function ($arg$$4) {\n var arg0$$1;\n handleEvent$$1((arg0$$1 = $arg$$4, (Object(_fable_fable_library_2_10_1_Option_js__WEBPACK_IMPORTED_MODULE_8__[\"some\"])(arg0$$1))));\n }, event$$1.Publish);\n}\nfunction text(s$$3) {\n return new DomNode(0, \"Text\", s$$3);\n}\nfunction op_EqualsGreater(k$$5, v$$3) {\n return [k$$5, new DomAttribute(1, \"Attribute\", v$$3)];\n}\nfunction op_EqualsBangGreater(k$$6, f$$6) {\n return [k$$6, new DomAttribute(0, \"Event\", f$$6)];\n}\nconst El = Object(_fable_fable_library_2_10_1_Types_js__WEBPACK_IMPORTED_MODULE_4__[\"declare\"])(function Compost_Html_El(ns$$5) {\n const $this$$5 = this;\n $this$$5.ns = ns$$5;\n void null;\n});\nfunction El$reflection() {\n return Object(_fable_fable_library_2_10_1_Reflection_js__WEBPACK_IMPORTED_MODULE_5__[\"class_type\"])(\"Compost.Html.El\", undefined, El);\n}\nfunction El$$$$002Ector$$Z721C83C5(ns$$5) {\n return this instanceof El ? El.call(this, ns$$5) : new El(ns$$5);\n}\nfunction El$$get_Namespace(x$$1) {\n return x$$1.ns;\n}\nfunction El$$$op_Dynamic$$Z451691CD(el$$5, n$$1) {\n return function (a$$1) {\n return function (b) {\n return new DomNode(2, \"Element\", El$$get_Namespace(el$$5), n$$1, Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_3__[\"ofList\"])(a$$1, Array), Object(_fable_fable_library_2_10_1_Array_js__WEBPACK_IMPORTED_MODULE_3__[\"ofList\"])(b, Array), undefined);\n };\n };\n}\nfunction El$$delayed(x$$2, sym, body$$1, f$$7) {\n return new DomNode(1, \"Delayed\", sym, body$$1, f$$7);\n}\nfunction El$$part(x$$3, initial$$2, fold) {\n const evt$$2 = new _fable_fable_library_2_10_1_Event_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]();\n let state$$2 = initial$$2;\n let container$$2 = undefined;\n let renderer = undefined;\n\n const render$$1 = function render$$1() {\n const matchValue$$1 = [container$$2, renderer];\n var $target$$46, el$$6, r$$2;\n\n if (matchValue$$1[0] != null) {\n if (matchValue$$1[1] != null) {\n $target$$46 = 0;\n el$$6 = matchValue$$1[0];\n r$$2 = matchValue$$1[1];\n } else {\n $target$$46 = 1;\n }\n } else {\n $target$$46 = 1;\n }\n\n switch ($target$$46) {\n case 0:\n {\n const dom$$1 = r$$2(state$$2);\n renderTo(el$$6, dom$$1);\n break;\n }\n\n case 1:\n {\n void null;\n break;\n }\n }\n };\n\n Object(_fable_fable_library_2_10_1_Observable_js__WEBPACK_IMPORTED_MODULE_12__[\"add\"])(function (e$$4) {\n state$$2 = fold(state$$2, e$$4);\n render$$1();\n }, evt$$2.Publish);\n return [function (arg00$$1) {\n evt$$2.Trigger(arg00$$1);\n }, function (r$$3) {\n renderer = r$$3;\n return new DomNode(3, \"Part\", function (el$$7) {\n container$$2 = el$$7;\n render$$1();\n });\n }];\n}\nconst h = El$$$$002Ector$$Z721C83C5(null);\nconst s = El$$$$002Ector$$Z721C83C5(\"http://www.w3.org/2000/svg\");\n\n//# sourceURL=webpack:///./src/html.fs?");
815
-
816
- /***/ }),
817
-
818
- /***/ 0:
819
- /*!******************************!*\
820
- !*** min-document (ignored) ***!
821
- \******************************/
822
- /*! no static exports found */
823
- /***/ (function(module, exports) {
824
-
825
- eval("/* (ignored) */\n\n//# sourceURL=webpack:///min-document_(ignored)?");
826
-
827
- /***/ })
828
-
829
- /******/ });